短信企业短信平台

企业短信平台  时间: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技术.

HostKvm:夏季优惠,香港云地/韩国vps终身7折,线路好/机器稳/适合做站

hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...

数脉科技8月促销,新客减400港币,BGP、CN2+BGP、阿里云线路低至350元

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...

HostKvm四月优惠:VPS主机全场八折,香港/美国洛杉矶机房$5.2/月起

HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月商家针对全场VPS主机提供8折优惠码,优惠后美国洛杉矶VPS月付5.2美元起。下面列出几款不同机房VPS主机产品配置信息。套餐:美国US-Plan0CPU:1cores内存:1GB硬...

企业短信平台为你推荐
操作http支持ipadcentos6.5怎么用u盘安装centos6.5ym.163.com免费企业邮箱支付宝调整还款日花呗还款日是什么时候呢特朗普吐槽iPhone为什么iphone x卖的这么好360免费建站聚企360建站是免费的?资费标准电信套餐资费介绍表宜人贷官网我在宜人财富贷款2万元,下款的时候时候系统说银行卡号错误,然 我在宜人财富贷款2万我在宜人财富贷款爱买网超艾比安高达厉害吗,今天在网上看到的万代的果断入手了,168贵吗,不知道这款高达厉不厉害
海外虚拟主机 过期域名 绍兴服务器租用 xenvps 工信部域名备案 主机屋 hostmaster host1plus hostmonster kdata 搬瓦工官网 免备案cdn permitrootlogin 正版win8.1升级win10 seovip 搜狗抢票助手 国内php空间 腾讯云分析 双线主机 hkg 更多