一种基于JAVA的多业务综合短信平台设计
2015-01-17刘金全
刘金全,邹 联
(国电大渡河流域梯级电站集控中心,四川 成都 610041)
SMS[1]短信作为一种灵活传播信息的媒体,目前在各个行业中得到广泛应用。为适应企业对短信业务发展的需求,中国移动目前为企业提供了MAS(Mobile Agent Server)服务器,协助企业原有业务系统实现短信应用的接入工具,实现MAS接入后企业原有的业务系统可以方便的实现短信业务应用。国电大渡河流域梯级电站集控中心[2]作为四川电网第一家正式投运的大型流域电站集控中心,主要负责大渡河流域梯级电站电力调度、水库调度、防洪调度以及电力市场日常工作,通过实施流域水电联合优化调度,提高水资源的综合利用率,创造更多的社会效益和经济效益。国电大渡河流域梯级电站集控中心已有的计算机监控系统、机房环境监控系统、水调自动化等系统均独立开发建设短信服务。由于各系统建设的短信服务缺乏统一规划、统一标准,造成了重复投资,资源浪费;并且数据库数据不能共享,短信服务管理混乱,不能综合利用服务资源。集控中心办公OA系统,通信监控系统、综合数据平台等新建系统原无短信服务,为了适应电力生产的需要,需新增部分特殊要求的短信服务。因此,集控中心迫切需要建立一套多业务综合短信平台[3],便于集控中心原有各系统统一接入,规范整个集控中心的短信服务。
1 短信平台设计
1.1 业务需求
集控中心计算机监控系统、机房环境监控系统、水调自动化系统已有短信服务,采用AT命令集,通过外接的GSM短信模块对外提供短信服务。GSM短信模块长期工作容易死机,造成短信服务不稳定。新建的短信平台系统将替代原各系统GSM短信模块功能,通过软件模拟为GSM短信模块,采用AT命令与原系统进行通信,无需原系统做任何修改。办公OA系统,通信监控系统、综合数据平台等系统需新增部分特殊的短信业务,例如每日早上9点从综合数据平台系统中提取昨日发电量、大坝水位、入库流量等各类生产数据,生成电力市场短信向企业电力生产相关人员发布。并且为保障电力市场信息的准确性,短信平台还应具有审核功能,即先将生成的电力市场短信发送给特定的审核人员对进行审核,如果信息正确则审核人员无需做任何操作,如果信息有误则审核人员可以通过手机直接修改信息内容或命令取消发送。审核人员直接修改信息内容后发送给短信平台,短信平台收到审核人员发送的修正短信再统一发送给电力生产相关人员。短信平台与各系统通信结构图如图1所示。
图1 多业务综合短信平台与各系统通信结构图Fig.1 The multi service integrated platform communication structure diagram
1.2 功能设计
JAVA[4]是一种完全的面向对象语言,它衍生于C++语言,又剔除了C++的复杂性、易错的语言元素,功能强大又极易于使用。它突出的优点是跨平台型,由于这种特殊性,它适用于internet方面。JDBC[5]实际是JAVA定制的数据库访问操纵规范,此规范为JAVA程序员提供了一套与数据库无关的JDBCAPI[6]编程接口,这些API编程接口其实就是位于java.sql包的一些接口和类,利用它们可以十分方便地对不同的数据库进行操作。因此本次短信平台采用本身JAVA语言设计,数据库为Oracle10g数据库,使用JDBC与移动Mas服务器Mysql数据库及集控中心其它各系统Oracle数据库通信。
短信平台主要功能有:实现多用户,多级别的信息发送功能,对操作用户进行管理,创建权限角色,实现用户组权限管理;可对用户群组进行管理;可对群组发送信息;实现多种信息发送的方式,包括群组信息发送、自定义信息发送及定制信息发送功能。可以对短信进行预配置,例如短信内容字典。提供方便多种统计功能。主要功能如图2所示。
图2 功能模块详细结构图Fig.2 Detailed function module structure diagram
1.3 业务整合方式
集控中心计算机监控系统、机房环境监控系统原采用GSM短信模块,短信平台使用串口服务器接收并转发由各系统发出的短信,由短信平台统一发送。做相应的记录,数据接收成功后并对原有系统做出相应的响应。短信发送流程如图3所示。
图3 计算机监控等系统短信发送流程Fig.3 The computer monitoring system of short message sending process diagram
通信监控系统、办公OA系统原来无GSM短信服务,短信平台提供Socket接口与通信监控系统通信,实时接收待发送短信内容,按相应的格式进行报文解析,由短信平台统一发送并做相应的记录。短信平台采用轮询的方式实时读取OA数据库中待发送短信数据,由短信平台统一发送并做相应的记录,发送成功后对原业务系统进行相应的数据操作。短信发送流程如图4所示。
图4 通信监控等系统短信发送流程Fig.4 Communication monitoring system message sending process diagram
综合数据平台系统需新增特殊短信服务,短信平台定制开发子流程,对综合数据平台中超阈值的业务数据进行判断,根据预先定义的规则进行短信发送。系统接收待审批的短信内容,根据预先定义的规则进行短信发送。综合数据平台有两种短信发送方式:审核短信,段次短信。添加审核短信规则的时候设置审核时间段,在该时间段平台向审核组成员发送一次短信,期间审核组成员可以向平台回复短信或取消命令(“qx”)。当审核时间结束后,如果审核组成员未回复任何内容,平台直接向此规则短信的接收成员重发向审核组成员发送的短信;如果回复内容是取消命令,那么时间结束也不发送任何内容;否则发送审核组成员回复内容的最后一条短信。当审核期间平台接受到审核人的取消命令,审核时间结束后又收到立即发送命令(“fs”开头的短信内容),那么平台立即发送此短信去除“fs”后的内容。段次短信是当数据满足指定的规则后,此规则对应的短信内容采取段次发送。取得数据后立即发送第一次短信,然后根据系统预先设置开始时间开始段次发送。短信发送流程如图5所示。
图5 综合数据平台系统短信发送流程Fig.5 Integrated dataplatformof shortmessagesendingprocessdiagram
2 数据库结构
短信平台采用Oracle10g数据库,新建用户名为DXPT,共有16张数据表,实现所有功能。16张数据表名及功能如表1所示:其中综数平台规则表DXPT_ROOLS与综数平台条件内容表DXPT_ROOL的表结构如表1、表2所示,这个两个表相互配合,实现特殊短信的审核功能。
表1 综数平台规则表DXPT_ROOLS表结构Tab.1 Integrated data platform rule table DXPT_ROOLS structure
DXPT_ROOLS表中字段PRETIME记录审核短信发送时间的标识,DXPT_ROOL表中APPLETIME为关键时间点,它记录该条轮询规则生成时间或上一次发送成功的时间。具体逻辑判断流程图如图6所示。
表2 综数平台条件DXPT_ROOL表结构Tab.2 Integrated data platform conditions table DXPT_ROOL structure
图6 轮询规则逻辑判断流程图Fig.6 Polling rule logic flow chart
3 短信平台配置
各生产系统的普通短信直接接入短信平台,用户无需进行额外的配置。而审核短信、段次短信等灵活度很高的短信则需要用户根据需要进行配置,如图7所示。
在审核短信需要定义规则名、审核组、定义发送时间段、接收组、短信代码、判定条件、发送内容以及发送方式等。“审核组”是具有审核权利的短信管理人员,“接收组”是此条短信的所有接收人员。“发送时间段”的开始时间为审核短信的发送时间,系统会将此条规则的短信先发送给审核组人员进行审核。“发送时间段”的结束时间为此条规则短信的正式发送时间,系统会将经过审核的短信正式发送给 “接收组”人员。“短信代码”是此条规则短信的编号,在审核组审核时需要使用的编号。“发送方式”可以选择彩信或短信发送。“判定条件”中,可以提取综数平台数据库中任意表、任意字段的数据进行处理,并可以定义多个条件进行“与”和“或”操作。在“发送内容”中,同样可以提取综数平台数据库中任意表、任意字段的数据进行处理,并自定短信发送的内容,非常灵活。
图7 综数平台审核短信配置图Fig.7 The number of SMSplatform in the audit configuration diagram
另外整个短信平台的所有系统参数均在config.txt文件中定义,用户可以根据需要进行修改,config.txt文件中重要的系统配置参数如下:
>sms.fromReadyT=60000(轮询待发送表的时间间隔,单位毫秒)
>sms.fromReady.Speed=3000(由待发送表往mas数据库sms_outbox插入一条短信的时间间隔)
>sms.fromMysqlMt=60000(读取mas数据库短信历史数据更新短信平台发送状态的时间间隔)
>sms.fromMysqlAccept=60000(读取mas数据库接收表的时间间隔)
>oa.lxsj=120000(OA系统的轮询时间,单位毫秒)
>scgl.lxsj=120000(生产管理系统轮询时间)
>com.port18=8002(18楼环境监控短信猫端口号)
>com.port5=8001(5楼环境监控短信猫端口号)
>socket.port=963(通讯监控socket数据串口端口号)
>zspt.lxsj=60000(综数平台规则表dxpt_rools轮训时间)
>zspt.cancle=qx(综数平台审核短信取消命令前缀)
>zspt.msfs=fs(综数平台审核短信立即发送命令前缀)
>zspt.cancle.Lasttime=20:00:00(综数平台审核短信取消最迟截止时间)
>zspt.times.startTime=08:30:00(综数平台段次短信起始时间)
>outbox.lxsj=300000(轮询检查是否有短信堆积的时间间隔)
4 结束语
国电大渡河流域梯级电站集控中心短信平台的成功实施,将原有各生产系统的短信服务统一纳入到短信平台中管理,降低了运行维护成本,提高了工作效率,规范了整个企业的短信服务,为整个大渡河流域电力生产、防洪调度做出了突出贡献。该系统以其灵活性和通用性等特点,适应了电力行业对特殊生产短信服务的需求。
[1]Lombera I M,Moser L E,Melliar-Smith P M.Mobile Decentralized Search and Retrieval Using SMSand HTTP[J].Mobile Networks and Applications,2013,18(1):22-41.
[2]李天洋,郭剑虹.集控中心告警数据处理技术和方法[J].电力系统自动化,2010,34(22):113-116.LI Tian-yang,GUO Jian-hong.Technologies and methods of alarm data processing in centralized supervisory control center[J].Automation of Electric Power Systems,2010,34(22):113-116.
[3]谢春祥,张虹,聂余满.基于GSM/GPRS的终端式短信平台开发[J].计算机工程与设计,2007,28(7):1680-1682.XIE Chun-xiang,ZHANG Hong,NIE Yu-man.Development of SMS terminal based on GSM/GPRS[J].Computer Engineering and Design,2007,28(7):1680-1682.
[4]陈文宇,陈福,余盛季,等.Java同步线程模型分析与改进[J].电子科技大学学报,2010,39(3):430-434.CHEN Wen-yu,CHEN Fu,YU Sheng-ji,et al.Analysis and improvement for synchronous thread model based on java[J].Journal of University of Electronic Science and Technology of China,2010,39(3):430-434.
[5]张俐,张维玺.改进的JDBC框架在数据持久层的应用[J].计算机工程与设计,2010,31(8) :1746-1749.ZHANG Li,ZHANG Wei-xi.Application of improved JDBC framework in date persistent[J].Computer Engineering and Design,2010,31(8):1746-1749.
[6]Robillard M P,Bodden E,Kawrykow D.Automated API Property Inference Techniques[J].IEEE Transactions on Software Engineering,2013,39(5):613-637.