全志根
(中国石化上海石油化工股份有限公司,200540)
中国石化上海石油化工股份有限公司(以下简称上海石化)作为化工生产类企业,生产过程具有易燃、易爆、高温、高压和腐蚀性强等高危险性,如何加强安全防范,构造稳定可靠的通讯渠道一直是一个十分重要的课题。
上海石化设计与实施了将企信通平台与移动代理服务器(MAS)平台的有机结合,通过对原MAS设备接入方案进行升级与优化,对上海石化应用通信能力进行插件化封装,提供短信平台回复和统计功能,提高了通信吞吐能力。短信平台支持大批量短信收发服务,提供全平台的数据分析和安全管理方案,实现了多通道并行发送、短信群发、短信回复、回复确认及统计,对加强安全生产、提高生产过程中的信息发布、重大事件通报以及应急预案启动的及时性具有重要作用。
结合上海石化实际需求,短信平台开发要求其具备如下功能:
(1)支持短信回复能力,为发送者及时提供短信送达及接收信息,便于确定是否需要重新发送,可为不同应用提供扩展,并可根据扩展进行相应的数据统计,支持按时间发布明细账单、提供查询短信及回复清单;
(2)支持系统日志与数据备份方案;
(3)全国手机用户的短信下行及中国移动短信通道上行短信与状态报告的获取,支持三网的统一管理;
(4)提供问卷调查等标准应用功能,利用该平台在短信用户群中进行各种问卷调查、统计及汇总;
(5)支持全平台短信额度管理,可实现按部门和具体用户进行额度分配与管理,有效进行通信费用控制和管理;
(6)支持全平台短信通信审核机制,可根据实际需要设置不同的审核流程,确保短信平台安全运行。
短信平台的主要结构包括:
(1)标准应用,即可灵活扩展和变更,以插件形式接入,与底层框架解耦;
(2)系统管理,即负责整个平台的用户数据管理、平台数据备份与操作日志记录;
(3)运维管理,即负责平台所有通讯数据的管理与维护;系统管理和运维管理组成本平台的底层核心框架。
(4)通讯能力,即可以以驱动方式自由加载所需短信信息接入能力,支持灵活装配和线性扩展。
短信平台可设立不同的子账号,分配给各个部门使用,实现短信的发送、回复、统计和分析,主要功能为:(1)发送会议通知、日常事务提醒;(2)发送生产数据通报、生产统计报表;(3)发送突发性重大事故的紧急通知,启动应急预案等。
根据以上功能要求设计的短信平台系统整体结构如图1所示。
图1 短信平台系统整体结构
中国移动点对点协议(CMPP)规定了以下三方面的内容:(1)业务提供商与互联网短信网关之间的接口协议;(2)互联网短信网关之间的接口协议;(3)互联网短信网关与汇接网关之间的接口协议。
互联网短信网关(ISMG)是业务提供商(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信中心,另一方面,移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。另外,ISMG还必须与数据业务管理平台DSMP进行连接,在业务流程中对用户、业务以及定购关系等进行鉴权并对业务进行批价。
2.1.1 CMPP协议的通讯方式
各网元之间有长连接和短连接两种连接方式。长连接是在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接;短连接是通信双方有数据交互时就建立的TCP连接,数据发送完成后,便断开连接,即每次TCP连接只完成一对CMPP消息的发送。由于ISMG之间必须采用长连接的通信方式,SP与ISMG之间采用长连接的通信方式。
在SP与ISMG之间、SMSC与ISMG之间及ISMG之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送响应消息。
2.1.2 企业级短信网关设计
企业短信网关API必须实施CMPP3.0中SP与ISMG间的消息定义所规定的以下操作。
(1)SP请求连接到ISMG(CMPP_CONNECT)操作。CMPP_CONNECT操作的目的是SP向ISMG注册一个合法的身份,注册成功后即建立了应用层的连接,此后SP可以通过此ISMG接收和发送短信,ISMG以CMPP_CONNECT_RESP消息响应SP的请求。
(2)SP或ISMG请求拆除连接(CMPP_TERMINATE)操作。CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作。此操作完成后SP与ISMG之间的应用层连接被释放,此后SP若再要与ISMG通信则应发起CMPP_CONNECT操作,ISMG或SP以CMPP_TERMINATE_RESP消息响应请求。
(3)SP向ISMG提交短信(CMPP_SUBMIT)操作。CMPP_SUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。ISMG以CMPP_SUBMIT_RESP消息响应。
(4)SP向ISMG查询发送短信状态(CMPP_QUERY)操作。CMPP_QUERY操作的目的是SP向ISMG查询某时间的业务统计情况,可以按总数或按业务代码查询,ISMG以CMPP_QUERY_RESP应答。
(5)ISMG向SP送交短信(CMPP_DELIVER)操作。CMPP_DELIVER操作的目的是ISMG把从短信中心或其他ISMG转发来的短信送交SP,SP以CMPP_DELIVER_RESP消息回应。
(6)SP向ISMG发起删除短信(CMPP_CANCEL)操作。CMPP_CANCEL操作的目的是SP通过此操作可以将已经提交给ISMG的短信删除,ISMG将以CMPP_CANCEL_RESP回应删除操作的结果。
(7)链路检测(CMPP_ACTIVE_TEST)操作。CMPP3.0协议的结构和底层通讯方式,能够实现CMPP3.0的企业短信网关API,为SP接入移动短信业务提供实现方法。
移动信息服务中心(MSIC)平台目前是移动梦网的核心业务平台,其主要功能是对用户信息统一进行管理和认证,遵循J2EE规范,是SP接入的基础。
2.2.1 MISC平台WEB Service接口设计和开发准则
DSMP规范中的所有WEB Service接口依据W3C组织颁布的WEB Services Description Language (WSDL) 1.1(2001/03/15)规范设计和定义,并与WSDL标准后续版本中的相关规定的保持一致性。所有采用DSMP规范的产品的接口设计和开发应遵守以下原则:
(1)接口中的所有消息及相关数据类型的XML模式定义均应采用由本规范提供的XML模式定义。
DSMP规范定义了所有被引用到的类型和元素的命名空间及XML模式,此命名空间作用范围涵盖所有WSDL接口消息。
(2)接口的WSDL定义均应采用本规范提供的WSDL定义。
(3)SOAP绑定原则。规范定义的WEB Service接口与SOAP1.1协议格式相绑定,所有请求和响应消息均应采用SOAP格式的消息封装,包含SOAP封套(Envelope),SOAP包头(Header)和SOAP包体(Body)三部分。对任何技术实现的调用者而言,发出的调用请求消息均须带有以上三部分内容,包头和包体消息结构中引用的类型均来自dsmp.xsd中的定义。
2.2.2 SP与MISC的订购通知接口
MISC平台与SP之间的接口,由MISC平台通过该接口进行订购关系同步和在用户自助服务时设置与订购服务相关的属性。此接口同时适用于WAP SP、短信SP和彩信SP。
2.2.3 取消服务订购接口
反向取消是从SP发起的取消流程,MISC在处理来自SP的取消消息的时候,其处理流程与来自其他网元的消息作相同处理。取消服务订购接口用于用户通过SP取消已订购的数据业务的时候,SP通过该接口向MISC响应用户取消服务订购的请求。MISC进行取消服务订购成功后,SP才取消用户对应的业务订购关系。
2.3.1 网关代理接口
代理类网关接口负责与短信网关直接联系,因此代理类的质量将直接影响到系统的稳定性,最终影响系统与网关的通信。根据规范,这种接口应该有以下特性:
(1)具有2个队列,分别为短信队列和状态报告队列;
(2)自动管理队列。客户只负责从代理类收取短信和状态报告,并不管理队列。系统对队列进行自动管理,比如当客户收取短信时,系统应该从队列中将已收取的短信移掉;
(3)负责保持与短信网关的连接。客户调用login方法和logout期间,应一直保持与短信网关连接,哪怕期间网络断开都应该时刻保持与网关的连接。
2.3.2 短信引擎管理器
(1)管理模块结构
管理模块结构见图2。
引擎管理器读取各有效路由配置信息,根据路由配置信息装配给引擎。如果引擎安装完备(队列初始完备,成功连接数据库,网关成功登陆)就启动引擎,否则按一定策略,用电子邮件或手机号码向系统管理员发出信息。
(2)引擎设计
引擎的设计要求是:
①当状态改变时,视情况向系统理员发短信或电子邮件,并在库表中写记;
②优先级高的短信将优先被发送;
③根据队列的状态,决定是否读取短信数量;
④短信先进先4出;
⑤当网关登陆不上或数据连不上,能采取相应策略,采取合适的行动。
图2 管理模块结构
短信的收发与状态报告内容的获取,设计MessageTools类通过调用Agent接口来完成,上层对短信收发及回复的各种操作。它是各个模块收发短信的唯一接口,可以实现取消短信提交、发送短信(单发和群发)、统计短信数量等操作。
正确登陆短信平台后,点击“标准应用”标签的“信息发布”菜单,选择“短信通知”即可进入短信发布界面,发送短信的步骤如下:
(1)输入信息主题(可选)
信息主题的作用是帮助用户快速查找短信历史记录。
(2)选取短信接收目标对象
①点击“通讯录”弹出通讯录树状结构,可在通讯录中选取对应的部门或人员;
②点击“输入号码”按钮,出现号码输入框,支持手工输入目标号码;
③点击“号码导入”按钮,弹出导入号码对话框按提示下载模版后编辑,通过“浏览”按钮上传至平台,点击确定即完成导入。
(3)输入短信内容
平台默认自带“回复仅支持移动号码的提示”,用户可直接在该字符前方输入自行编辑内容,下发的短信会是“自编内容+(回复仅支持移动号码)”;如果用户没有这项需要,也可以直接删除此段内容。
系统中可以选择“携带签名”选项,选中后,平台在下发短信的内容中会自带该部门的签名(签名的设置由平台管理员在分配帐号的时候直接设定,默认为空)。
平台默认勾选“需要回复”选项,如果不勾选此项功能,平台将无法为本条下发的短信匹配其对应的回复内容。
如果用户需要定时下发短信,则需要设置指定发送时间。平台提供无回复重发机制,如果下发的短信没有收到对应的回复,系统会自动根据本机制定时重发短信。目前系统默认为没收到回复时会自动重发2次,每次间隔20 min。如果有其他需求,也可手工自行编辑。
(4)确定发送
点击“发送”按钮,系统将编辑完成的短信提交到平台,由平台发送给中国移动短信网关和中国移动企信通平台。目前仅支持移动号码下发和回复、联通、电信的下发,暂不支持联通和电信号码的上行回复。
系统中点击进入发件箱,即可查看本用户所有已发短信历史记录。
由于一个批次可能一次性发送几百甚至上千条短信,为了查询方便,每次点击发送按钮产生的一组短信,短信平台系统会将其合并为一次短信发送任务。在短信历史任务列表中可以看见短信发送状态,将鼠标箭头移到短信内容上可查看短信内容全文,也可查看该批次任务的发起时间。
点击“接受”按钮,即可查看对该次发送任务的所有上行回复的短信内容,而点击“详细”按钮,则可以查看本次发送任务的所有下发短信明细。对于没有收到回复的短信记录,系统用户可以直接手工重发该条短信。短信重发后会在列表自动产生一条短信发送记录,原记录上的“重发”按钮会自动消失,所有短信自动重发记录也会在明细中显现。
短信平台系统支持时段、发送内容、主题以及目标对象号码等多种关键字查询方式。
在“运维管理”标签下选择短信统计可见本单位短信回复数据统计情况。系统还支持日报和月报统计查询,平台默认选择“日报”,系统用户可查看当日短信每小时实际发送数量与上行回复短信数量对比柱状图。点击发送时间,可选择其他日期和月份,查看统计情况,平台支持按用户、按通道、按已设定的下属部门进行统计,用户可手动点击“月报”,查看当月每天实际发送数量与上行回复短信数量对比柱状图。此项查询同样支持按用户、通道、已设定的下属部门进行分类统计。
上海石化将原有的企信通平台与MAS平台进行了整合,具备多通道并行发送、短信群发、短信回复、回复确认、统计等多项功能。上海石化生产调度系统利用短信平台进行生产管理取得了很好的应用效果。作为上海石化日常生产信息发布、应急演练以及突发事件处理的主要通信手段之一,实现了“一键推送一批接收”,大大提高了企业信息发布的效率以及处理突发事件的能力。