山东气象服务短信平台建设的探讨
||2004-11-03
p>
p>
随着“关注气象、关注生活、关注健康”的思想逐步为大家所接受,气象服务已经成为人们日常生活中密切相关的事情,而获取气象服务的渠道也成为影响人们及时了解气象信息的重要因素。电视、广播和报纸是我们通常获得信息的方式,但是随着移动通信技术的发展,在手机短消息上提供气象服务正以其“方便、及时、易用”的优点迅速成为一种新的发布方式。山东省气象台利用手机短消息作为发布渠道,在山东全省推出“1210手机气象站”服务,经过半年多时间的运作,在社会效益和经济效益方面都取得了较大的突破。
山东省气象台为实现“1210手机气象站”服务,通过技术合作的方式建设了山东省气象服务短信平台。该平台采用操作系统无关、开放性好的J2EE软件架构,数据库选用处理能力强、稳定性好的Oracle9i大型数据库系统,该平台目前正在为全省50万用户每天通过短消息提供各种天气预报服务。下面将主要介绍气象短信平台的系统结构、各模块功能和系统特点。
一、系统结构
气象服务短信平台主要由如下模块组成:信息编审模块、气象服务定制WEB站点、MO指令处理模块、信息发送预处理模块、短信收发模块和管理监控模块。系统结构图详见图1。
发送预处理模块实时检测天气预报信息录入情况,一旦有通过审核的天气预报信息,则通过短信收发模块向有关订阅天气预报的用户发送手机短信。
二、系统功能
下面分别介绍气象短信平台各模块功能。
1.信息编审模块
信息编审模块用JSP和JavaBean编写,在Tomcat下运行,为各地气象站气象预报员提供天气预报信息录入审核的Web站点,气象预报员通过Web登录之后可以通过浏览器录入、审核天气预报信息。
气象服务短信平台已开通6个栏目的天气预报:早间天气、晚间天气、晨练指数、体感指数、风寒指数、酷热指数,开通地区包括山东省内各地市、县天气预报以及全国其他城市天气预报和世界主要城市天气预报。
由于手机短信一条最大长度只有70个汉字,所以在信息录入时系统自动进行字数统计,如果超出一条短信的长度则发出警告信息。在信息录入时可指定信息的发送时间,这样可以避免在不合适的时间发送短信到用户手机上。为了防止信息录入出错,在信息录入之后需要由不同人对其进行审核,审核通过之后才能作为正式发布的天气预报。
为提高系统运行效率,系统每天将已不再需要的过期信息转移到历史信息表中。
2.气象服务定制Web站点
气象服务定制Web站点用JSP和JavaBean编写,在Tomcat下运行,为手机用户和客服人员提供通过Web进行用户注册、天气预报信息订阅、退订、查询等功能。该站点为用户自己进行天气预报的订阅、退订以及客服人员协助用户进行处理时提供了很大方便。
为增加系统安全性,客服用户Web界面只能通过特定的IP访问。为了加快Web响应速度和防止占用太多数据库连接,Web站点通过数据库连接池获取数据库连接,在连接池中对最多数据库连接数加以限制。
为了避免用户重复订阅已经订阅过的天气预报,不管用户采用何种订阅方式,气象短信平台都提供自动检查机制,不允许同一个手机号码重复订阅同一地区的同一个天气预报栏目。
3.信息发送预处理模块
信息发送预处理模块由Oracle存储过程和Java应用程序编写,根据用户订阅和天气预报信息录入审核情况,随时将需要给用户发的短信组织好存入发送信息表中,供短信收发模块发送给用户手机。
用户订阅信息有两类情况,一类是及时发送信息,由气象预报员指定发送时间;另一类是定时发送信息,由用户自己指定发送时间。发送预处理模块对这两类信息分别处理,以保证按照指定时间将信息发送给用户。
由于天气预报有大量订阅用户,不可能在很短时间内将短信全部发送完毕,因此平台针对不同的信息设置不同的优先级,优先级高的短信将优先发送,保证对服务需要及时响应的短信能及时发送到用户手机上。如用户订阅、退订的反馈短信优先级最高,点播信息次之,订制信息第三,其他通知类信息优先级最低。
4.短信收发模块
短信收发模块采用Java应用程序编写,一方面接收平台的信息发送请求,根据手机号码,不论是移动用户手机还是联通用户手机分别通过移动的CMPP协议或联通的SGIP协议将信息发送到用户手机;另一方面接收来自终端用户的MO指令并将其交由MO指令处理模块处理。所有通过平台短信收发模块发送和接收的信息都保存在数据库中作为日志以供查询、计费和统计使用。
短信收发模块和发送预处理模块的接口采用数据库方式,发送预处理模块将待发送消息存入发送消息表中,短信收发模块从发送消息表中取出消息并发送。为确保高优先的信息发送请求能得到及时处理,每次从信息表中按照优先级从高到低读出给定数量的信息加以处理,处理完之后再取下一批信息。对于发送失败的短信重发几次尽可能保证短信发送成功。短信收发模块还支持定时发送短信功能。
短信收发模块和MO指令处理模块之间的接口采用JLTP协议,JLTP协议是结合联通SP接入标准协议SGIP和移动SP接入标准协议CMPP的统一协议,MO指令处理模块采用JLTP协议中的HTTP方式接收移动和联通手机用户发送的MO指令并做相应处理。
5.MO指令处理模块
MO指令处理模块由JavaServlet程序和PL/SQL存储过程组成,主要负责处理用户的信息订阅、退订指令,对于系统不能识别的MO指令,将其交给客服人员进行人工处理。
为了用户能够尽可能方便地进行订阅和退订,平台定义了非常简单的订阅、退订指令:11表示定制天气预报,22表示点播当天的天气预报,00表示退订天气预报。MO指令处理模块通过手机号段表能够自动识别用户手机号码是属于哪个地、市、县的,即为其订阅该号码所在地区的天气预报。根据需要,管理员可以灵活配置多个天气预报订阅和退订指令。
6.管理监控模块
管理监控模块采用Delphi编写,主要实现气象短信平台中栏目、地区、用户、服务、用户订阅情况、短信群发、MO和客服处理、计费策略、优惠策略、减免名单、包月扣费、统计报表等各种管理功能,并监控平台的运行情况。
管理监控模块由系统管理员使用,通过用户名和口令登录进入系统。系统管理员分为两类:超级管理员和普通管理员,普通管理员经过授权之后才能执行相应功能项。
计费优惠策略包括固定时间折扣和初次使用折扣两种。管理监控模块可以按栏目、地区、时间段等条件产生各种灵活的统计报表。
管理监控模块中最常用的是MO和客服处理功能,MO人工处理功能将系统不能识别的MO指令列出来,由管理员进行人工处理;客服功能可以在接用户电话的同时通过客服界面帮助用户进行信息查询、点播、定制和退订。如图2所示,该功能将有关用户的订阅情况、上下行短信查询、MO指令内容、各种处理操作集成在一个界面中,可以很方便地完成MO和客服电话受理,效率非常高。
为了及时发现、解决系统各模块可能出现的故障,平台专门设计实现了系统监控功能,维护人员可随时监控各模块运行情况,一旦某台服务器资源紧缺或某项服务发生故障,监控系统会发出警报并向维护人员的手机发出短信通知。
图2 管理监控模块的MO和客服处理界面
三、系统特点
山东省气象服务短信平台针对系统用户量大、服务要求高、客服压力大的情况,在平台的设计和实现中着重考虑了具备简单易用、容错性好、高性能、高稳定性等特点。
1.简单易用
平台在各方面都充分考虑了简单易用的特性,不论终端用户、客服人员还是系统管理维护人员和平台的交互都非常方便,例如MO和客服处理功能,在一个界面里就集成了某个用户的所有相关信息,查询和处理都非常方便,一个按钮就可以完成服务的退订和订阅,系统预存了给用户常用的反馈短信并可随时添加修改,一般情况下在10秒钟内就可以接完一个客服电话并处理完毕,1秒钟内就可以完成一个MO指令的人工处理。
2.容错性好
平台各模块都具备很好的容错能力,如标准的服务退订指令是“00”,考虑的用户输入指令时可能出现的错误指令,平台将“00”、“OO”、“零零”也都作为服务指令处理。短信收发模块需要与联通和移动的短信网关连接,由于网络原因以及电信运营商系统升级、维护等原因,会发生连接中断,一旦网络和对方的程序恢复正常,短信收发模块会自动重新连接并开始短信收发服务,不需要人工干预。而平台各模块与数据库的连接都具备一旦与数据库的连接中断而自动进行重连的功能。由于充分考虑了容错性,平台能够长时间持续稳定地运行。
3.高性能
由于天气预报信息自身的特点,需要在较短时间内将天气预报信息发送给几十万甚至上百万用户,一个短信接入号无法满足性能上的要求,气象短信平台采用多个接入号同时发送信息的方法提高性能,解决了发送速度的问题。而针对用户的上行指令处理,不管用户发送指令到哪个接入号,都能实现相同的功能。目前气象服务短信平台通过4个接入号,发送速度已达到每秒发送80条短信。
同样对于几十万用户来说,每天的信息处理、统计也存在着性能问题,平台充分利用Oracle数据库的存储过程进行大数据量处理来提高性能,例如每天天气预报信息通过审核之后,发送预处理模块在几分钟内就将几十万短信准备就绪并保存好每个用户的操作日志。
4.高稳定性
由于平台具备非常强的容错能力以及完善的监控系统,平台的稳定性非常好。平台各模块的运行都相对独立,不会因为其他模块的故障而影响自身的正常运行,实践表明每个模块都能持续运行几个月而不会中断,对于网络问题以及电信运营商的网关问题造成的服务中断,平台还具备服务的自动恢复能力。而一旦服务中断,维护人员会在第一时间得到消息并及时解决。
山东气象短信服务平台经实践证明是一个成功的系统,很多用户通过MO短信、电话等方式对我们的气象短信服务表示满意和赞赏,我们将不断完善气象服务短信平台,为广大用户提供更好的气象服务。
责编:admin
转载请注明来源:山东气象服务短信平台建设的探讨
噢!评论已关闭。