短信企业短信平台

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

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

UCloud:美国云服务器,洛杉矶节点大促,低至7元起/1个月

ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...

Digital-VM:服务器,$80/月;挪威/丹麦英国/Digital-VM:日本/新加坡/digital-vm:日本VPS仅$2.4/月

digital-vm怎么样?digital-vm在今年1月份就新增了日本、新加坡独立服务器业务,但是不知为何,期间终止了销售日本服务器和新加坡服务器,今天无意中在webhostingtalk论坛看到Digital-VM在发日本和新加坡独立服务器销售信息。服务器硬件是 Supermicro、采用最新一代 Intel CPU、DDR4 RAM 和 Enterprise Samsung SSD内存,默认...

企业短信平台为你推荐
centos6.5linux centos 6.5 怎么安装软件苹果appstore宕机苹果手机为什么显示无法连接到appstore重庆杨家坪猪肉摊主杀人昨天重庆九龙坡出了严重交通事故吗www.topit.me提供好的图片网站degradeios大飞资讯手机出现热点资讯怎么关闭闪拍网闪拍网是真的吗申请400电话400电话申请怎么办理?是不是免费的?如何发帖子如何发表帖子地址栏图标地址栏中网址前面的图标代表着什么?
域名转让 花生壳免费域名 回程路由 申请个人网页 华为4核 个人免费空间 e蜗牛 个人域名 河南移动邮件系统 新天域互联 91vps 鲁诺 江苏双线服务器 lamp什么意思 成都主机托管 国外网页代理 乐视会员免费领取 葫芦机 美国vpn代理 webmin 更多