谈燕
摘要:该文阐述了建设广播发射台短信预警系统的意义,以及系统的设计与说明;通过实例,详细介绍了基于J2EE架构的短信预警系统的编程方法。
关键词:短信预警系统;GSM Modem;SMSLib
中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2014)21-5109-03
1 建立广播发射台短信预警系统的意义
国家新闻出版广电总局无线局直属广播发射台(以下简称“广播发射台”)肩负着“中央三台”及部分省市广播节目的播出任务。从节目接收、传送到发射机,发射机将信号放大、调制,转变成电磁波,通过天线发射出去,整个传输发射过程系统庞大、环节重多,任何一个地方出现问题,均会影响到节目的播出效果。为了保证节目播出工作中出现突发事件时,能够准确、迅速地采取有效措施进行处理,减少停播时间,结合节目播出工作特点,广播发射台制定了安全、有效、完备的应急管理体系。
广播发射台短信预警系统是发射台安全播出应急体系的重要组成部分,它是一个基于通信网络和业务平台的系统。当广播发射台节目播出工作中出现突发事件时,应急指挥中心通过短信预警系统,对全台职工手机进行应急信息发布,大大提高了广播发射台突发事件应急处置反映速度及防范处理等方面的能力。
广播发射台短信预警系统的实现方法很多,大致可归纳为以下三种方法:
1) 使用中国移动或联通公司提供的短信网关来实现预警信息的发送,如中国移动公司提供的和通讯录手机应用软件、企信通服务平台等。这种方法的优点是短信发送质量高、并发性能好。缺点是需要向运营商申请办理,此类业务的办理,对申请者有一定的条件限制;同时运营商不提供API接口,不能针对广播发射台应急处突的特定需求进行二次开发。
2) 找第三方短信群发服务网站付费来实现预警信息的发送。这种方法的优点是一次性投资费用低廉,对方能够提供相应的CGI接口,有利于二次开发。缺点是短信发送并发性能不佳,安全性没有保障;此外,在做二次开发时,需要编写代码来实现消息排队等机制。
3) 采用GSM modem + 服务器的开发模式进行二次开发,实现预警信息的发送。 这种方式的优点是成本低廉,可以根据业务需要,进行二次开发实现高级的短信功能;缺点是要求具体一定编程能力的技术人员完成二次开发工作。
2 短信预警系统的设计与说明
本文重点介绍采用GSM modem + 服务器的模式,实现预警信息发送的设计方法。在进行系统设计之前,我们首先要了解什么是GSM Modem 。
2.1 什么是GSM Modem
GSM Modem是一种用于接收、发送短信的专用设备,通常称之为短信猫。其使用方法很简单,在GSM Modem中插入一张SIM手机卡,采用USB口或串口与计算机连接,通过调用短信发送管理软件,来实现信息收发等功能。
GSM Modem分为手机版和工业模块版两种类型,技术成熟、稳定性好的是西门子和WAVECOM两家的产品。如西门子的TC35 、TC37 MC,WAVECOM的 2303A 、2403 、2403A、2406A等型号。广播发射台短信预警系统中选用了WAVECOM 2303A工业级GSM Modem,通过USB接口与服务器连接,通过调用AT指令实现预警信息的发送。
2.2 GSM Modem的开发应用
实现GSM Modem的开发应用的方法可分为以下三种:
1) 通过接口直接调用AT指令,驱动GSM Modem硬件收发短信。这种方法属于最底层的开发应用,开发灵活,但要求编程员熟悉短信模块AT指令调用方法。
2) 采用GSM Modem厂商提供的封闭了AT指令的二次开发包,通过调用短信收发API接口实现开发应用。
3) 采用GSM Modem厂商提供的基于数据库接口的GSM Modem通信中间件来实现开发应用,这是一种更高级的短信开发解决方案,实用于大、中型短信群发平台的开发应用。
2.3 短信预警系统的架构原则
短信预警系统中所采用的GSM Modem是典型的串行通讯设备,在提交短信发送信息后必须等待回应后方可发送下一条信息,否则会造成死机。在广播短信预警系统应用中,存在多线程同时并发操作短信模块的需求,为避免发生GSM Modem死机的问题,我们在进行软件编写时,应遵循如下架构原则:
1) 创建相应的数据库表,实现短信队列。在发送预警短信时,先将短信接收者与发送内容提交到短信发送队列。
2) 开发独立的短信服务后台,从短信发送队列中读取发送信息,再调用GSM Modem开发包发送短信;通过调用开发包,读取GSM Modem收到的短信,并放入短信接收队列。
3) GSM Modem开发包内部封装的是GSM Modem与计算机之间的通讯接口程序,通过调用封装的AT指令驱动短信模块收发短信。
2.4 短信预警系统架构
如图1所示,短信预警系统采用GSM Modem+服务器的开发应用模式,用户通过客户端浏览器访问短信服务器,提交短信发送请求,短信服务器通过USB口与GSM Modem连接,将客户端提交的短信发送请求转换为AT指令发送GSM Modem,达到发送接收短信的目的。
2.5 短信预警系统主要功能
通过对广播发射台应急处突需求进行调研, 短信预警系统主要包括:发送预警信息、预警信息自动重发、地址本管理、常用短信设置、发送结果查询、发送报表查询、用户管理等功能。
2.6 系统设计特点
1) 短信预警系统使用J2EE平台,MyEclipse8.5作为开发环境,采用应用层、业务层、集成层和数据库层的四层构架, 实现了业务逻辑与表示逻辑的分离;为保证系统高效、安全、稳定的运行,开发中采用分布式的数据管理、事务处理以及多线程的异步消息通讯等机制,提高系统通信的效率和可靠性。
2) 数据库采用MySQL5.0,数据部署在服务器上,包含用户信息表、短消息收发信息、短消息收发日志等表单。
2.7 调用SMSLIB 库实现预警信息的发送功能
SMSLib是Apache支持短信发送的一个开源项目,分.Net和JAVA两个版本。短信预警系统是在Windows环境下,MyEclipse8.5开发环境中,通过调用JAVA版的SMSLIB 库,采用java编程实现开发应用的。
调用SMSLIB 库包括加载SMSLib库和配置运行环境两个重要步骤。
2.7.1 如何加载SMSLib库
2.7.2 配置运行环境
2.8 运行SMSServer实现预警信息的发送功能
3 结束语
短信预警系统在广播发射台突发事件处置中,能够及时将预警信息告知广大干部职工,提高防范处理的有效手段。基于J2EE平台的短信预警系统的好处在于:
1) 根据广播发射台突发事件处置的业务特点,进行二次开发,提高处突的工作效率。
2) 降低短信预警的运营成本:短信预警系统开发简单,快速,开发成本很低;短信费用只需按照运营商的收费付费,没有额外费用;维护简单,不需要专业人员维护。
本文归纳的编程方法适用于有类似短信业务需求的系统,不足之处,请大家批评指正。
参考文献:
[1] xyang81. SMSLib开发指南[J/OL].(2012-05-20).http://blog.csdn.net/xyang81/article/details/7584970.