首页 > 文章中心 > 正文

短信网关在校园管理体系的运用

短信网关在校园管理体系的运用

一、AT指令编码技术研究

对SMS的控制共有三种实现途径:基于AT命令的TextMode、基于AT命令的PDUMode、BlockMode。TextMode比较简单,多款诺基亚手机均支持该模式,但这种模式只能发送ASCII码,不能发送中文的Unicode码。西门子手机大多只支持PDU模式,PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。使用BlockMode需要手机生产厂家提供驱动支持。目前,PDU已取代BlockMode,因此本文主要探讨PDU模式的发送。发送短信息的PDU编码主要包含这些内容:短信息中心(SMSC)号码信息、短信息首字节、短信息索引号、目标号码信息、协议标示符、数据编码方式、效验周期、短信息长度和内容。短信息内容是以十六进制7位字节或Unicode编码,其他信息是以十六进制8位字节编码。(1)英文编码。缺省的GSM字符集为7位编码,可以简单地理解为ASCII码(ASCII值小于80Hex,因此,Bit8被忽略),依次将下一个7位编码的后几位逐次移至前面,形成新的8位编码。(2)英文解码。就是将7位字符编码转换为8位字符编码。(3)中文编码和解码。中文短信息的编码和解码,只需将GB2312的中文编码和代码页为CP936的Unicode编码进行相互转换。

二、可靠的批量发送和流控技术研究

由于移动通信网络存在发送速率和稳定性等不确定性,在设计实现过程中,必须保证大数据量条件下的通信可靠性。具体方法有以下几种。

1.基于SMSCPool容灾备份

单套短信中心内部采用了1+1或N+1的备份方式,来确保当一个核心单元宕机后有备份的单元来接替工作。这种短信网元之间是相互孤立的,资源无法得到很好共享,投资大利用率低,容易对备份单元产生较大的冲击。采用SMSCPool技术,多个单套短信网元被逻辑上整合在一起,组成一个域池。通过短信中心网元增加流量控制中心模块,分级组网实现对短信业务量的统一分流控制。对短信网元各业务处理单元的性能、容量进行实时的监控,可实现对业务智能地、自动地分流,从而达到容灾的目的。

2.队列缓存技术

通过串口队列技术[1]避免拥塞的发生或者在拥塞发生时做出反应,它主要是考虑系统内的服务情况,目的是使负载不超过系统服务的能力。队列缓存技术和流控措施实现批量信息的缓存发送。

3.异步延时处理

系统逐条对短信进行编码[2]、发送信息。由于系统编码的速度较快,短信元件尚未处理完成,编码就完成了,会造成队列溢出,导致错误。异步延时处理实现批量发送短信功能,通过循环逐条对短信进行编码、发送信息、延时、反馈信息处理完成信息的发送。

4.发送可靠性管理

要实现发送可靠性管理,对于发送过程中出现的因移动网络故障、计费等问题导致发送失败及成功的记录进行记录,并向业务系统提供报告,以便对未成功记录进行处理,保证系统消息发送的可靠性。

三、短信网关的设计

(一)短信网关需求分析

该短信网关软件主要分为“信息发送服务”“短信发送服务监控”“系统配置模块”“基础功能模块”等模块(见图1)。信息发送服务,实现短信数据提取、发送、监视回复等功能。短信发送服务监控,提供了启动、暂停、停止短信发送服务的功能。系统配置模块,】提供短信网关的设置管理功能,如通信组件的基本信息设置、短信服务器的基本设置、数据库系统的设置等。基础功能模块,提供了发送服务和发送管理的基本功能。

(二)短信网关设计

本文设计的短信网关是基于GSMModem的短信框架(见图2),在框架上实现短信的收发。该系统构架分为三层:短信底层接口通信组件层、短信收发平台层、短信应用层。1.短信底层接口通信组件层短信底层接口通信组件层中,通过硬件接口实现向GSMModem发送AT指令,控制GSMModem发送和接收消息。2.短信收发平台层短信收发平台层是设计的一个独立的短信息收发及处理的服务模块,它单独于其他任何的业务系统,仅仅提供了一个成熟的短信收发服务,并封装成统一的短信收发接口。3.短信应用层短信应用层根据短信收发平台层定制的接口规范,就可以把本身的业务与短信连接起来,实现在各自的管理系统(软件)中快速集成短消息收发的服务。

(三)短信网关硬件部署

短信网关的部署(见图3)是将短信猫或者猫池连接到服务器上,将服务器连接到防火墙的DMZ区,在服务器上安装好短信网关软件或对外Web平台(调用了短信发送接口的Web服务)后,服务器直接可以通过服务端或客户端软件进行短消息的发送,内网的用户可以通过客户端软件进行短消息的发送。其他的管理平台可通过调用短信接口实现短消息的发送;外网用户可以通过VPN的方式接入到内网中进行短信的发送或通过浏览器终端实现短消息的发送。

(四)串口通信的实现

短信猫相关应用开发的核心是实现串口通信,在此研究短信猫在C#语言下的实现是利用微软公司提供的通用串口通信MSCOMM32控件。在VisualStudio2010编译器开发环境下,把微软通用串口通信控件MSCOMM32作为组件装入编译器,实现串口通信的实际过程如下。

1.打开串口和初始化串口

在程序初始化时,先对串口初始化,同时由于串口短信猫是使用RTS/CTS握手信号的硬件设备,只有该设备的RTS信号置为高才能接收数据,所以需将MSCOMM32通信控件DTREnable属性设为TRUE。

2.读串口

当短信相关应用接收短信时,通过串口把读短消息AT指令(AT+CMGR)发送给短信猫,短信猫接到指令后调用内部短信接收模块接收短信,同时把短信内容回传到串口缓冲区,短信相关应用从串口缓冲区读取短信息。

3.写串口

当短信相关应用发送短信时,把发送短消息AT指令(AT+CMGS)和发送消息通过串口发送给短信猫。

4.关闭串口

当短信相关应用完成所有的任务时,把串口关闭,释放串口资源。

总结

展望使用GSM-Modem工业手机模块实现基于GSM网络的信息收发,短信息网关提供了灵活、可靠的批量信息生成、收发、解析转发和web信息管理等功能。系统可以独立运行,也可以作为各种信息管理系统的接口集成使用,随着管理信息化技术的发展,系统将有重要的实际应用价值。系统不仅能扩展本学校信息管理系统,服务各项管理工作,还能以标准组件的形式应用于各种相关的信息管理系统。

作者:张红刚陶卫东单位:江苏省江阴中等专业学校