短信企业短信平台

企业短信平台  时间:2021-05-03  阅读:()
第28卷第2期2007年2月微计算机应用MICROCOMPUIERAPPLICATIONSVol.
28No.
2Feb.
2007基于GSM模块的短信平台服务器设计与实现3唐明董张俊波刘建勋(湖南科技大学计算机科学与工程学院湘潭411201)摘要:介绍了一种使用GSM模块构建企业短信平台的实现方案,包括系统的硬件环境、短信服务器软件的体系结构、功能和设计.
该方案在笔者单位短信平台中的应用表明,它具有对硬件要求不高,实现简单,二次开发方便的特点.
关键词:GSM短信短信平台多线程DesignandImplementationofaSMSPlatformbyUsingGSMModemsTANGMingdong,ZHANGJunbo,LIUJianxun(ComputerScienceandEngineeringSchool,HunanUniversityofScienceandTechnology,Xiangtan,411201,China)Abstract:AsolutionofusingGSMwirelessmodulestoconstructaSMS(shortmessageservice)platformisintroducedinthispaper,whichincludesthehardwareenvironmentandthearchitecture,functionanddesignoftheSMSserversofteware.
Theapplicationofthissolutionintheauthorπsdepartmentshowthatitischeapinhardware,easytobeimplementedandcanprovideasimpleinterfaceforreuse.
Keywords:GSM,SMS,SMSPlatform,Multi2thread1引言手机短信作为一种特殊的信息载体,具有语音所不具备的特殊性:占用通信信道量小、信息载量大、简短直观、廉价、便于保存以及群发功能等,因此利用短信提供增值服务已经为越来越多的公司和单位所接受.
在实际应用中,构建短信平台主要有两种方式[1].
一是将短信平台服务器连接到移动通信网络,通过移动网关来发送和接收短信.
这种需要通过有线方式直接接入移动运营商的网络,由于运营商对于直接接入的设备以及业务量等方面的限制,再加上申请过程以及接入方式复杂等因素,对于一般的中小企事业单位不太适用,此外由于依赖与移动网关的连接,当网络出现故障时,将导致无法正常提供短信服务.
另一种方式是使用AT指令控制GSM无线模块来发送和接收短信,不需要接入移动运营商的短信网关,GSM模块以无线的方式与短信服务中心通信,从而将短信发送至用户移动终端,或接收来自移动端的短信.
这种方式对硬件要求不高,实现简单,而且通过设置状态报告,还能够获知用户移动终端是否接收到了短信.
对于中小企事业单位来说,后一种方式是构建短信平台比较可行的方案.
为了提高办公效率,节约办公成本,笔者所在单位建立了一个短信辅助办公系统,使用短信服务满足日常办公消息通知、事件提醒等需要.
本文以该系统的设计过程为例,介绍了基于GSM模块的短信平台的硬件结构,短信服务器程序的设计和实现,对短信服务的多线程机制也作了详细说明.
2短信平台框架211短信平台的硬件结构使用GSM模块构建的企业短信平台系统,其拓扑结构,通常由图1表示.
服务器端由一台短信平台服本文于2005-06-13收到.
3本论文获湖南省教育厅一般项目资助(项目编号:05C182).
http://www.
paper.
edu.
cn中国科技论文在线2期唐明董等:基于GSM模块的短信平台服务器设计与实现175图1基于GSM模块的短信平台硬件结构务器和若干个GSM控制模块组成,短信平台服务器主机可以使用专用的服务器或PC机,GSM控制模块中内置SIM卡,通过串口线与服务器主机相连.
客户端主机通过Internet或Intranet与短信平台服务器连接,通过客户端程序向服务器提交待发的短信,服务器上运行的服务程序将把待发短信通过GSM模块发送出去.
在支持用户和短信平台之间双向通信的系统中,用户可以使用手机终端向短信平台发送短信(如信息查询),服务程序将负责从GSM模块中读取接收到的短信并进行相应处理.
212短信平台的软件结构图2短信平台系统的软件结构框架以笔者单位的移动短信平台为例,建立了如图2的系统软件结构框架,主要包含业务逻辑和短信服务两部分程序,两者使用数据库来交换数据和信息.
其中业务逻辑部分可采用Web技术实现,运行在服务器上,客户端只需要使用Web浏览器进行访问,实现信息查询、数据库维护、用户管理、短信通知等功能.
短信服务程序作为后台程序提供统一短信服务,负责控制GSM模块,按用户要求进行短信的发送和接收.
此外,为对其他平台上的系统提供短信接入服务,系统向外提供短信服务接口.
以笔者单位的移动短信平台为例,开发的短信服务程序主要实现了如下几个方面的功能:(1)短信实时发送,或根据设定的时间定时发送短信.
(2)短信有效时间设定或重发次数限定,当短信超过有效期或经重发仍未发送成功时放弃发送.
图3短信服务程序体系结构(3)发送重要的短信时,根据反馈信息确认短信是否被收到.
(4)实时接收短信,提供信息查询等服务.
(5)保存发送和接收的每一条短信,以备浏览和查询.
(6)配置GSM模块参数,可以根据需要加载或卸载GSM模块.
(7)其他功能,如系统日志、数据库维护等.
3构建短信服务程序短信服务程序的主要作用是为短信应用提供短信收发功能,在使用GSM模块作为通信设备的情况下,需要使用AT指令来控制GSM模块,发送和接收短信.
图3给出了所设计的短信服务程序的体系结构.
短信服务涉及到的对象主要有三种,即:短信服务管理器、短信服务单元和短信操作接口.
短信服务管理器负责构造、管理和删除短信服务单元,短信服务单元和GSM模块是对应的,一个短信服务单元控制一个GSM模块,短信操作接口是短信服务单元控制GSM模块的接口.
311短信操作接口设计短信操作接口的作用是封装使用AT指令通过串口控制GSM模块的细节,实现发送短信、接收短信、删除短信等功能,向短信服务单元提供简单的调用接口.
为了使短信操作接口程序具有封装、独立、可复用的176微计算机应用2007年图4短信操作接口构成的UML视图特点,使用VC++开发了短信操作接口类CSmsComm,采用WindowsAPI函数来进行串口操作,以DLL形式集成到短信服务程序中.
CSmsComm类的基本成员及相关结构的UML表示如图4所示.
结构SERIAL_PORT定义了串口通信的有关参数,包括端口号(portId)、波特率(baudRate)、奇偶校验标志(parity)、数据位(dataBit)、停止位(stopBit)等等;结构SM_PARAM定义了短信的相关参数,包括短信服务中心地址(sca)、手机终端号码(tpa)、时间戳(tp_scts)、短信内容(tp_ud)、短信在GSM模块中的位置(nId);CSmsComm中定义了初始化串口(InitComm)、关闭串口(CloseComm)、发送短信(SendSms)、读单条短信(RecvSms)、读多条短信(Re2cvSmsList)、删除一条或多条短信(DeleteSms)以及读串口(ReadComm)、写串口(WriteComm)等方法.
下面是发短信SendSms()的源码,描述了发送一条短信的过程.
//发送短消息//lpSms:用于存放短信的相关参数BOOLCSMSComm::SendSms(SM_PARAM3lpSms){SM_PARAM3pSrc=lpSms;charpdu[512];//PDU串…nPduLength=gsmEncodePdu(pSrc,pdu);//将短信参数编码成PDU串strcat(pdu,"\x01a"以Ctrl-Z结束WriteComm("AT+CMGF=0\r",10);//设置pdu模式sprintf(cmd,"AT+CMGS=%d\r",nPduLength);//生成发送短信命令WriteComm(cmd,strlen(cmd)先输出命令串nLength=ReadComm(ans,128);//读应答数据if(strstr(ans,"\r\nNULL)//根据能否找到"\r\n>"决定成功与否{WriteComm(pdu,strlen(pdu)得到肯定回答,继续输出PDU串nLength=ReadComm(ans,128);//读应答数据//根据能否找到"+CMSERROR"决定成功与否if(nLength>0&&strncmp(ans,"+CMSERROR",10)!
=0){returnTRUE;//短信发送成功}}returnFALSE;//短信发送失败}实现短信发送的关键是对短信参数进行PDU格式的编码.
所谓的PDU模式是发送或接收手机短信的一种方法,短信内容经过十六进制编码后进行传送.
在PDUMode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码.
7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可"压缩"成7个,这种编码方式通常用于英文短信编码;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符,常用于中文和中英文混合编码.
本系统采用的是UCS2编码方式.
图5配置GSM模块参数同理,在从GSM模块中读短信时,需要对接收到的数据进行PDU解码,遵守的规范与编码时一样.
由于篇幅所限,关于短信AT指令以及PDU模式的数据编码方法这里不作详述,读者可以参考文献[2,3,4].
312短信服务的实现机制用户在启动短信服务以前,为了让GSM模块能够正确地工作,首先需要设置好GSM模块的相关参数.
如图5所示,属性页的列表控件里给出了短信设备的参数列表,可以选择"设置参数"来为一个模块设置相关参数,将其置为启用状态,或者可以通过"清除参数"来卸载一个模块,在我们开发的短信服务程序中,最多可以支持8个短信设备,不同的设备连接到不同的串口.
用户启动短信服务时,程序的执行流程如图6所示.
由图中可以看出,短信服务管理器为每个可用的2期唐明董等:基于GSM模块的短信平台服务器设计与实现177图6启动短信服务时的执行流程图GSM模块创建一个短信服务单元,每个短信服务单元会启动一个工作线程.
工作线程首先根据用户的设置,从数据库中取待发短信发送,然后从GSM模块中读入所有已接收的未读短信进行处理,接着判断是否有停止短信服务的命令,如果有则退出,否则继续上述过程.
由于每个工作线程都仅仅访问自己的串口和对应的GSM设备,不存在对硬件资源的并发访问冲突,因此也不需要进行同步.
为了实现这些功能,在程序中设计了两个类CSmsS2rvMnger和CSmsSrvUnit,分别对应短信服务管理器和短信服务单元.
在测试和运行中发现,使用一个GSM模块收取一条短信的时间需要0.
5s左右,而发送一条短信的时间需要4s左右的延迟,才能确保下一条短信能够成功发送.
一次100人次的短信群发由一个GSM模块完成,需要4*100=400s的时间,显然这个时间是比较长的.
如果系统使用n个GSM模块并行地工作,则系统将创建n个工作线程,发送100条短信需要的时间是原来的1/n,可见增加GSM模块数量能够增大系统的处理能力,提高工作效率.
4结束语当前的许多短信平台是通过Internet网线连接到移动通信网,采用专门的协议来发送和接收短信,这种方式需要向移动部门申请移动网关,对中小企/事业单位来说不太适用.
而基于GSM无线通信模块的方式,由于费用不高、实现方便,是中小企/事业单位搭建短信平台可以选择的一种可行技术.
本文以笔者所在单位的移动短信平台为例,介绍了短信平台的软硬件结构,重点介绍了短信服务程序设计和实现过程中的关键技术.
可以预见,由于短信业务所带来的增值,越来越多的公司和单位将搭建自己的移动短信平台,因此研究和实现短信平台的开发和应用,具有十分重要的社会意义和现实意义.
参考文献1贾宏宇,赵俊峰.
短消息平台的原理与设计.
小型微型计算机系统,2003,24(5):2宣彩平等.
利用GSM模块发送短消息.
计算机应用,2004,24(5):3WAVECOM.
AnIntroductiontotheSMSinPDUMode,v1.
00.
2000:27~454WAVECOM.
ATcommandinterfaces,v9.
0.
2001,96~124作者简介唐明董,男,(1978—),讲师,研究方向为软件工程、WebServices技术.
张俊波,男,(1979—),硕士研究生,研究方向为工作流技术.
刘建勋,男,(1970—),博士,副教授,研究方向为电子商务、工作流、WebServices技术.

imidc:$88/月,e3-1230/16G内存/512gSSD/30M直连带宽/13个IPv4日本多IP

imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...

bluehost32元/月,2核2G/20GB空间,独立ip,新一代VPS美国云主机!

bluehost怎么样?bluehost推出新一代VPS美国云主机!前几天,BlueHost也推出了对应的周年庆活动,全场海外虚拟主机月付2.95美元起,年付送免费的域名和SSL证书,通过活动进入BlueHost中文官网,购买虚拟主机、云虚拟主机和独立服务器参与限时促销。今天,云服务器网(yuntue.com)小编给大家介绍的是新一代VPS美国云主机,美国SSD云主机,2核2G/20GB空间,独立...

DiyVM:2G内存/50G硬盘/元起线路香港vps带宽CN2线路,香港VPS五折月付50元起

DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...

企业短信平台为你推荐
会员在线代理操作http播放flashinternetexplorer无法打开Internet Explorer 打不开了sns网站有哪些中国都有哪些sns网站?还有它们都是哪个类型的?阅读http大飞资讯单仁资讯的黄功夫是何许人?科创板首批名单首批公布的24个历史文化明城是那些科创板首批名单中国兰男队员名单厦门三五互联科技股份有限公司厦门三五互联科技股份有限公司怎么样?
便宜虚拟主机 免费动态域名解析 x3220 好看的留言 iis安装教程 免费mysql 卡巴斯基官方免费版 酷番云 免费外链相册 云营销系统 免费asp空间 阿里云手机官网 免费php空间 服务器硬件配置 广东服务器托管 htaccess comodo cloudflare 以下 linux命令vi 更多