封面
《增值短消息服务平台的设计与实现》Word格式可编辑可修改
精心整理放心阅读欢迎下载
文档信息
增值短消息服务平台的设计与实现
摘要本文首先介绍了短消息业务和平台的概念参考中国移动的C MP P协议和有关规范 给出了一个短消息增值服务平台的设计实现方案和实现方法。对整个平台的通信机制业务处理后台管理数据库设计等关键问题进行了重点论述。 关键词CMPP协议短消息短消息网关 SP0引言随着中国一跃成为世界上最大的移动通信市场手机短信以它通信费用低廉双向传输通信质量可靠速度快等显著优点受到了越来越多人的青睐手机短信已被称为“第四媒体” 。除了大量使用的手机用户之间的点对点短信业务之外从信息平台到手机用户的短信信息服务业务也在快速发展该业务已经成为广大用户及时方便地获取信息的一种手段。 1有关短消息短消息业务及短消息服务平台SMS(ShortMessagingService) 是最早的但仍是现在火爆全球的文本短消息服务 EMS Enhanced Message
Service增强信息服务是(SMS)的新版本支持发送简单的图像、声音和动画等信息 MMS Multimedia Messaging Service多媒体短信服务是目前短信技术开发最高标准的一种支持多媒体功能需要或3G的网络来支持它的运转。 本增值短消息服务平台的软件设计使用Visual C++作为前台开发工具 SQL Server 2000作为后台数据库是一个是以手机为应用基础、 以前台页面为操作界面具有丰富增值服务内容的完整的、大规模短信息处理的系统。通过这个平台可以向中国移动、中国联通和小灵通等用户提供发送短信息、定制、点播/订阅、答题积分福彩投票/竞猜等短信服务具体应用如电
视、 电台媒体开展互动业务报纸、杂志媒体提供新闻服务气象台、彩票中心、交警提供资讯、商场开展客户调查及促销活动服务等。为简单起见本文只讨论其中基于中国移动短信网关移动手机用户的系统开发与实现。 2 CMPP协议的介绍CMPP China MobilePeer to Peer协议全称是中国移动通信互联网短信接口协议其规定了以下三个方面的内容 1业务提供者SP与互联网短信网关(I SMG)之间的接口协议 2互联网短信网关之间的接口协议
3互联网短信网关和汇接网关(G)之间的接口协议
图1互联网短信网关组网结构CMPP协议主要提供以下两类业务操作 1短信发送Short Message Mobile Originate MO操作手机用户为起始端 2短信接收Short Message Mobile
T erm i nat ed MT操作手机用户终止端 CMPP协议和HTTP FTPSMTP等协议一样处于TCP/IP网络模型的应用层它以TCP/IP协议作为底层通信承载。 SP与ISMG之间进行信息交互式可以采用长连接或短连接两种方式。本短消息服务平台所采用的连接方式为长连接即 SP与I SMG以C方式建立连接时在一个TCP连接上可以连续发送多个数据包在TCP连接保持期间如果没有数据包发送需要双方发送链路检测包以维持连接。 3系统的结构和功能模块图系统的层次结构本短消息服务平台在典型的网络条件下具有稳定可靠、处理能力高、组网能力强、系统管理方便、使用灵活等特点能够满足功能性、稳定性、效率性的要求 同时该系统拥有强大的后台管理功能和业务处理能力从而为业务的可持续发展以及用户快速准确获取信息创造了条件。
整个平台的组成分为四个层次硬件、 网络、通信层包括支持系统运行的所有服务器、客户机及网络设备、通信链路以及存储设备、输入输出设备等硬件操作系统层系统软件层 基于硬件平台之上提供基本的系统调用及网络通信功能如Windows2000等 应用开发层在操作系统之上的应用开发环境包括软件开发工具数据库等如Visual C++、 SQL server 2000等 应用软件层最外层 面向业务应用使业务信息化和自动化用户通过它进行业务上需要的信息处理、信息存储和信息传送等工作是与操作人员直接相连的部分。 系统结构示意图介绍系统主要由通信模块业务处理模块后台管理模块和数据库部分组成其软件结构示意图如图2所示 图2系统软件结构示意图系统支持中国移动协议、 SGIP 中国联通 、 SMGP 中国电信、中国网通 、 SMPP协议国际标准 。包括M O 包括用户上行消息和状态报告接收及MT下行的处理通信程序的编写完全按照协议进行开发。 4短消息服务平台通信模块的设计通信模块是短消息服务平台的主要模块它是SP 业务提供者和各基础网络运营商网关之间的一条高质量的传输通道负责接收和响应用户请求。该模块主要是通过多线程机制来处理由SP发送到短消息网关的消息和接收由短消息网关发送的消息。通信模块涉及到以下几个重要线程消息发送线程消息接收线程业务处理线程包括MO业务处理线程和MT业务处理线程 链路维持线程以及监控线程其中监控线程作为主线程是由MFC程序自动创建的主线程用于创建和监控上述几个辅助线程。通信双方以C方式(SP作为客户端 ISMG作为服务器端)建立TCP连接 由函数SP_Connect_ISMG (char IsmgIp
[16] uigned short IsmgPort)实现该函数封装了TCP/IP的Socket
连接建立的过程其中参数IsmgIp和工IsmgPort分别为短消息网关的IP地址和端口号协议规定SP和网关之间的建立长连接时所用的端口号为7890 然后需要建立CMPP连接以实现SP和I S MG之间的短消息通信该操作的目的是SP向I SMG注册成为一个合法SP的身份由函数CMPP_Connect()来实现。至此双方建立了基于TCP/IP的C MP P应用层连接。 该模块用两个缓冲队列来放置消息它们分别是用来存放由网关发送的消息接收队列存放SP发送到网关的消息发送队列。为了让多个线程可以互斥地从收发缓冲队列中存取数据包必须遵循 当缓冲队列已满时不能继续接收短信所有消息接收线程
针对接收缓冲队列或者MT业务处理线程针对发送缓冲队列必须等待当缓冲队列为空时不能继续取出短信所有MO业务处理线程针对接受缓冲ISMGReceive threadSend threadBuffer queuequeue queueBuffer queue queue queueProcess thread TT queuequeueProcess thread queue queueDatabase队列或者消息发送线程
针对发送缓冲队列必须等待。本通信模块通过使用临界区和信号量技术处理了多线程之间的同步问题。
图3通信模块工作流程图短消息队列及其指针定义如下 typedefstruct cmpp_head { uigned long TotalLength; /*消息总长度含消息头和消息体 */ uigned long CommandId; /*命令或响应类型*/uigned long SequenceId; /*消息流水号顺序累加步长为1*/}CMPP_HEAD; /*CMPP消息头*/typedef struct cmpp_packet
{ CMPP_HEAD Pk_head; Char Data[CMPP_PKG_SIZE] ; /*消息体*/uigned long Seqid; /*统一消息流水号*/ CTime Time; /*写入消息
队列时间*/ BOOL Soue; /*消息类型判断即为MO还是MT消息*/}CMPP_PACKAGE; /*消息的结构*/CMPP_PACKAGE m_SmS end[MAX_SM_S END]发送短消息队列CMPP_PACKAGE m_SmR ecv[MAX_SM_RECV]接收短消息队列int m_endIn发送队列的输入指针int m_endOut发送队列的输出指针int m_nRecvIn接收队列的输入指针int m_nRecvOut接收队列的输出指针其中将短消息存入短消息队列由函数PutRecvMessage 实现 void PutRecvMessage(CMPP_PACKAGE * pparam i ntnCount) {„„„„„„„„„„. .for (int i = 0; i =
MAX_SM_RECV) m_nRecvIn =
0;pparam++;„„„„„„„„„„. . }„„„„„„„„„„. . }从接
收短消息队列中取出一条短信由函数GetRecvMessage 实现 BOOLGetRecvMes sage(CMPP_PACKAGE *pparam) {„„„„„„„„„„. .EnterCriticalSection(&m_csRecv
) ; if (m_nRecvOut != m_nRecvIn)
{„„„„„„„„„„. .memcpy(pparam
&m_SmRecv[m_nRecvOut] s izeof(CMPP_PACKAGE)) ;m_nRecvOut++; i f(m_nRecvOut >= MAX_SM_RECV) m_nRecvOut =
0;„„„„„„„„„„. . }LeaveCriticalSection(&m_csRecv) ;„
„„„„„„„„„. . }5系统业务处理模块的设计该模块主要实现
各种具体的短信业务通过对MO消息进行业务分类解析、业务规则处理直至生成下行MT等结果。图4业务处理模块流程图
系统将根据用户编辑的短信判断MO 用户上行短信类型如果是用户点播类服务根据点播命令和点播内容对数据库中关系记录
进行查询将查询结果生成一条短信排入到输出队列。其他类型服务以次类推。例如用户若定制股票信息编辑短信息→定制代码50→代码→发送→短信平台特服号→回馈信息至用户手机。举例用户定制600001的股票信息在编辑短信息时输入按发送键输入9688将短信息发送系统判断为定制类服务进行定制类服务处理完成定制类业务的关系记录并将信息发送给用户。用户将在每交易日的9
40、 11 35、 15 10收到600001的行情报价和动态股评 18 40收到该股的盘后评述。 6后台管理模块的设计后台管理系统对合作企业和所有开展的业务进行管理并提供各种必须的功能。其结构示意图如图5所示 图5后台管理系统结构示意图
系统管理提供与系统管理相关的所有管理功能包括公有信息的维护等通过系统管理功能管理员可以对整个平台实现相应的设置、定义数据、处理系统信息。具体的说可以实现机构的管理、权限的管理、业务的管理、 以及公共信息管理等功能。 业务管理业务的基本信息、命令、计费的管理是业务的管理中心包括业务配置、业务审核和业务生效等功能 以流程化的形式实现业务全过程的管理。本短消息服务平台典型的业务管理包括通用定制管理和点播/订阅管理。 用户管理模块是对手机用户的个人信息进行管理的模块主要包括用户个人信息如姓名、手机号、个人爱好等。用户定制信息如定制内容、发送时间、发送方式用户信息的分析。 记费管理计费方式分为两种包月制、计次制。包月、计次的费用根据不同的栏目可以人工调整。每发送一条信息都要把相关记录写入日志数据库用来计费以及将来查询使用。 日志中应包含用户的手机号码、信
息的计费类别、信息发送时间等。根据日志统计用户的费用 同时要把数据上传到移动、联通或电信计费中心进行对帐。 积分管理主要包括积分福彩管理和答题积分管理。用户参加该平台开展的互动节目时可以获得积分当积分达到指定的标准时可参加抽奖活动。日志管理模块日志管理模块主要提供详细的系统日志管理功能如已成功发送到中国移动、中国联通等短信网关的日志通过中国移动、中国联通短信网关已成功发送到SP的日志等。具体包括信息及节目变更日志短信收发日志系统运行日志系统维护日志。 客服管理提供客服人员方便地进行终端用户的信息查询协助及时处理投诉和咨询。 群发管理支持群发组的号段生成文件导入定时群发等多样化的群发。 7数据库模块的设计本短消息服务平台采用SQL Server2000作为后台数据库。 SQL Server 2000是一个功能完备的正规数据库管理系统支持开发的引擎、标准的SQL语言、扩展的特性(如复制、 OLAP、分析)等功能 安全性高、稳定性好 能支持大量数据的存储。前台使用基于OLE DB的ADO接口访问数据库 能统一访问多种关系和非关系数据库 并有多种编程接口 访问速度快、可扩展性好、运行性能高、容易使用。数据库系统是实现系统运行数据的存取、应用用户数据的存取及日志对帐数据的数据服务。主要包括
1系统运行中数据的存取这是对应于具体应用的运行中数据这部分数据通过数据库的库交换数据方式保存系统运行中的中间数据并实现向具体的服务进程提供数据服务 2应用用户数据的存取这是对应于具体应用的应用数据。例如信息定制的手机用户的信息、具体应用的费用信息用户的信息统一保存在内容数据库中后台管理人员可以通过管理界面完成信息栏目的添加、删除、修改等操
作每日更新的信息由后台管理人员在内容编辑器中录入。 3 日志对帐数据的存储这是系统运行的日志信息及用于与移动网络运营商计费系统对帐的系统运行的费用数据的存储并向应用端提供数据服务。部分数据库表如下 (1)短消息接收表用于存储从短消息网关接收的短信记录 (2)定时短消息发送表用于存储短消息平台定时发送的短信 3短消息发送表用于存储即时发送短信以及定时到点可立即发送的短信 4用户基本信息表记录用户的手机号码姓名兴趣爱好等 5系统管理员表记录管理员的认证信息用来验证系统管理员的身份 6定制表记录手机用户定制的各种服务信息 7点播表记录手机用户点播的各种服务信息 8 日志表记录系统发送和接收短信的历史纪录 9含敏感内容消息表记录用户和系统管理员提交的含有敏感字段的短信日志 10费率表记录不同的业务对应的具体资费每种业务分为按条和包月两种费率 11 日志与网关对应表存储日志类型和不同运营商网关协议中的SMS资费对应关系 12系统信息表存储固定的系统信息如口令提示和使用帮助等 8结论本短消息服务平台系统支持多运营商可以同时接入多家移动、联通或电信只需添加配置即可无须做系统结构、代码改动支持多业务服务系统实行模块化的设计方便新业务的开发。该平台目前已经成功应用于实际的短消息增值业务与中国移动联通等网关的连接均具有较好的稳定性能够满足系统通信应用的要求使用效果良好。参考文献1互联网短信网关接口协议中国移动通信公司2短消息网关系统接口协议中国联合通信公司3谢希仁.计算机网络. 电子工业出版社4潘爱民. Visual C++技术内幕第四版 .清华大学出版社
hostwebis怎么样?hostwebis昨天在webhosting发布了几款美国高配置大硬盘机器,但报价需要联系客服。看了下该商家的其它产品,发现几款美国服务器、法国服务器还比较实惠,100Mbps不限流量,高配置大硬盘,$44/月起,有兴趣的可以关注一下。HostWebis是一家国外主机品牌,官网宣称1998年就成立了,根据目标市场的不同,以不同品牌名称提供网络托管服务。2003年,通过与W...
Pia云这个商家的云服务器在前面也有介绍过几次,从价格上确实比较便宜。我们可以看到最低云服务器低至月付20元,服务器均采用KVM虚拟架构技术,数据中心包括美国洛杉矶、中国香港、俄罗斯和深圳地区,这次春节活动商家的活动力度比较大推出出全场6.66折,如果我们有需要可以体验。初次体验的记得月付方案,如果合适再续约。pia云春节活动优惠券:piayun-2022 Pia云服务商官方网站我们一起看看这次活...
火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...