短信平台技术⽅案⽬录
1 总体描述 (4)1.1 说明 (4)1.2 遵循规范 (4)1.3 缩略语 (4)2 系统体系架构 (5)2.1 系统逻辑结构 (5)2.2 系统模块结构 (6)2.3 接⼊运营商 (6)2.4 接⼊⽅式 (7)2.5 ⽹络拓扑图 (8)2.6 技术平台选⽤ (8)2.6.1 J2EE平台 (9)2.7 系统特点 (10)
2.7.1 快速应⽤开发优势 (10)2.7.2 信息处理的速度优势 (10)2.7.3 灵活的扩展性能 (10)2.7.4 分布式的信息路由 (11)2.7.5 系统的扩展性和伸缩性强 (11)2.7.6 内容分布式存储和统⼀访问管理 (11)2.7.7 强⼤的⼆次开发能⼒ (11)3 平台模块 (12)3.1 通讯协议模块 (12)3.1.1 中国移动CMPP⽹关 (12)3.1.2 中国联通SGIP⽹关 (12)
3.1.3 中国电信SMPG/ISAG⽹关: (12)3.1.4 国际标准的SMPP⽹关: (12)3.1.5 调度系统: (12)3.1.6 ⽹关监控系统: (12)3.1.7 数据缓冲的基本⽅法 (12)3.1.8 数据缓存的⽬的 (13)3.2 业务处理模块 (13)3.2.1 短信业务管理 (13)
3.2.2 短信上⾏处理 (13)3.2.3 短信发送管理 (13)3.2.4 短信审核管理 (13)3.2.5 短信⽤户管理 (14)3.2.6 短信⽇志 (14)3.3 业务统计模块 (14)3.3.1 短信上⾏统计 (14)3.3.2 短信下⾏统计 (14)3.3.3 短信点播统计 (14)3.3.4 短信包⽉统计 (15)3.3.5 ⽤户按地区统计 (15)3.4 系统管理模块 (15)3.4.1 权限管理 (15)3.4.2 ⽇志管理 (15)3.4.3 过滤管理 (15)3.4.4 号段管理 (16)3.4.5 平台合作管理 (16)3.4.6 接⼊平台管理 (16)3.4.7 帐号管理 (17)4 系统接⼝ (17)
4.1封装WebSend接⼝ (17)4.2 ⼆次开发接⼝ (18)5 系统⽅案 (18)5.1 ⽅案 (18)5.1.1 软件环境 (19)5.1.2 最低硬件 (19)6 定制开发 (19)7 平台维护 (19)1 总体描述1.1 说明
本功能说明书编写⽬的在于阐述平台的具体功能,为了使⽤户对该短信平台的功能有⼀个全⾯的理解。1.2 遵循规范
信息产业部《短消息互联⽹关与短消息监控中⼼接⼝规范》 ? 中国联通短消息⽹关联⽹协议; ? 中国移动通信互联⽹短信⽹关接⼝协议; ? 中国电信短消息⽹关联⽹协议;1.3 缩略语缩略语
全名描述
SP Service Provider 服务提供商 ISMG Internet Short Message Gateway 互联⽹短信⽹关 SMPP Short Message Peer to Peer短消息点对点协议 CMPP China Mobile Peer to Peer中国移动点对点协议SGIP
Short Message Gateway Interface Protocol
中国联合通信公司短消息⽹关系统接⼝协议 SMGP Short Message Gateway Protocol短消息⽹关协议 SMC Short Message Center短消息中⼼ WAP
Wireless Application Protocol⽆线应⽤协议CDMA
Code Division Multiple Access码分多址数字⽆线技术GSM Global System for Mobile
全球移动数字通信系统telecommunication
系统 MOBILE APPLICATION PLATFORM 移动应⽤平台2 系统体系架构2.1 系统逻辑结构Array图 1:系统逻辑结构图2.2 系统模块结构图 2:系统模块结构图2.3 接⼊运营商
中国移动:(MISC 1.6)、(CMPP 2.0) \\ (CMPP 3.0)?中国联通:SGIP1.2中国电信:(SMGP 1.3) \\ (SMGP 3.0)\\ISAG国际短信:SMPP 包⽉产品天⽓预报
统计模块上下⾏统计点播包⽉统计按地区统计2.4 接⼊⽅式
图3 短信⽹络构架
短信平台只要通过互连⽹或专线,就能与运营商的短信中⼼连接,不⽤提供特别的连接⽅式。2.5 ⽹络拓扑图
图4 ⽹络拓扑图2.6 技术平台选⽤
现在主流的技术平台有J2EE结构都基本能满⾜企业应⽤的要求。2.6.1 J2EE平台
系统是完全基于J2EE的Web Service结构的。这种成熟的系统结构已经被⼯业界所证明,它具有优良的稳定性、可靠性和伸缩性。
J2EE是⼀种利⽤Java 2平台来简化诸多与多级企业解决⽅案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核⼼Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如\"编写⼀次、到处运⾏\"的特性、⽅便存取数据库的JDBC API、CORBA技术以及能够在Internet应⽤中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全⾯⽀持。概括起来,J2EE体系结构的优点是:
Java Servlet和JSP都要编译为Java Class才作为Servlet运⾏,因此执⾏性能会明显提⾼。
Java Servlet和JSP中可以完全使⽤Java进⾏编程,可以完成许多简单的商业逻辑,特别是JSP,可以直接书写HTML,因此
简化了页⾯的输出,这样就保留了脚本语⾔易于使⽤的优点。
复杂的商业逻辑以组件的形式部署在EJB Server中。由于EJB Server提供了多种组件事务服务,使系统更能够应付⼤量的并发⽤户和管理复杂的事务逻辑。
EJB Server中集成的组件命名服务可以使组件位置透明化,简化了组件的部署和客户端应⽤的维护。开发过程易于分⼯,可以由专⼈负责编写组件,其他⼈组装页⾯。
J2EE平台全⾯⽀持和实施XML,这种强⼤的组合可使XML具备跨平台的兼容性,甚⾄⽤于对XML代码进⾏语法检查和调试的⼯具也可与平台⽆关。J2EE技术和XML技术分别是企业开发的阴阳两极,因为XML可实施独⽴于平台的数据,⽽J2EE平台则可实施独⽴于平台的解决⽅案。XML可通过移植的⽅式表现数据,因此就对Java技术的可移植性构成了补充。2.7 系统特点
2.7.1 快速应⽤开发优势
由于系统采⽤了MessageTransfer作为信息的转换组件,对应⽤组件⽽⾔,屏蔽了多种不同通讯协议带来的⼲扰。在组件的开发过程中,⽆需考虑怎样同时⽀持中国移动的协议。只要按照规范,即可实现:同⼀应⽤组件,同时为移动的⼿机⽤户服务,减少了⼀半的开发⼯作量。
其次,⼤部份的应⽤开发,都可采⽤上⽂提到的⾯向对象技术,将设计、开发的重点放在业务逻辑的实现。⽽且由于复杂操作的封装,使得开发在⼀种固有的规范下进⾏,降低了开发难度。即使是刚接触移动业务的程序员,也可在参考前⼈⼯作纪录的情况下,独⽴完成。对于⼀些具有复杂业务逻辑的应⽤,通过组件化的流程设计,将⼀个应⽤化分为多个相对独⽴的组件,易于团队协助开发。只要团队中的每个程序员,确保相关组件的功能正确性、稳定性,通过任务信息的传递,降低团队开发的协调难度,提⾼接⼝的准确率,成倍缩短整体测试的时间。2.7.2 信息处理的速度优势
通过⼯作流程的优化(处理流程采⽤流⽔线⽅式),提⾼信息的响应能⼒。以短信的响应时间为例:⽤户发送短信请求的响应时间,合理范围在4 ~10秒内,同时丢包率必须⼩于99%(不包括移动运营商的影响)。利⽤良好的软件架构提供的任务驱动、数据安全机制,可以轻易的满⾜上⾯的参数要求,尤其在短信⾼峰期间,该架构明显的体现其优势。
同时为了计费统计,任务在⾼速处理过程中,被同时发送到⽇志纪录组件(图中红线标注)。⽇志组件虽然有较慢的⽂件写操作,但已被分在关键处理流程之外,对信息的处理性能没有任何影响。
信息通过内存与⽹络在组件间⾼速、有效地传输,是“软总线”架构所赋予系统的⾃然特性。“软总线”的可扩展特性,将始终保持系统的快速响应优越性。2.7.3 灵活的扩展性能
组件化的“软总线”结构,为应⽤的⽆限增加提供了可能。采⽤的⾮程序化分布式对象机制,使系统在体系结构不变的情况下,通过增加硬件、调整组件分布,解决应⽤的在线扩容、负载均衡等棘⼿问题。2.7.4 分布式的信息路由
由于采⽤分布式的信息路由,能够满⾜“⼀点接⼊,全⽹服务”的业务模式,短信⽹关之间能够通过系统配置进⾏信息路由,在移动的短信平台上形成⼀层覆盖消息路由(Overlay Message Router)⽹络,实现业务的开展。在此基础上,⼀点实现的业务,只需要简单的配置管理,就可以在其他的省份开通此项业务,从⽽达到资源共享的⽬的,快速的推⼴业务。2.7.5 系统的扩展性和伸缩性强
系统硬件体系结构采⽤集群技术,软件采⽤多层的可扩展架构,能够满⾜性能和扩展性的要求,基于Linux的集群技术和基于EJB技术的软件架构提供了最有⼒的⽀持。2.7.6 内容分布式存储和统⼀访问管理系统采⽤分布式⽂件系统实现内容的管理2.7.7 强⼤的⼆次开发能⼒
系统提供了强⼤的调⽤接⼝,给⾏业/ SP提供了不同的API,包括符合CMPP标准的不同平台的API:包括Solaris,Windows,Linux等不同的平台。
另外,为了降低第三⽅开发的难度,提供了基于WebSend技术的http调⽤接⼝,⽅便了企业开发增值应⽤的复杂度。
3 平台模块3.1 通讯协议模块3.1.1 中国移动CMPP⽹关
⽀持各种数据(英⽂、中⽂等)的发送和MO,⽀持⽹关的各种计费⽅式(免费、包⽉、按条)、⽀持状态报告处理。3.1.2 中国联通SGIP⽹关
⽀持各种数据(英⽂、中⽂等)的发送和MO,⽀持⽹关的各种计费⽅式(免费、包⽉、按条)、⽀持状态报告处理。3.1.3 中国电信SMPG/ISAG⽹关:
⽀持各种数据(英⽂、中⽂等)的发送和MO,⽀持⽹关的各种计费⽅式(免费、包⽉、按条)。3.1.4 国际标准的SMPP⽹关:
⽀持各种数据(英⽂、中⽂、铃声、图⽚等)的发送和MO,并可根据SMPP⽹关提供的计费⽅式进⾏计费的修改(SMPP标准并不⽀持计费)。3.1.5 调度系统:
对于定时发送的信息进⾏调度。3.1.6 ⽹关监控系统:
能够⾃动监控⽹关是否能够正常⼯作,如果⽹关有故障,将⾃动恢复。3.1.7 数据缓冲的基本⽅法
数据缓冲的⽅法采⽤通⽤的调度算法,只是该⽅法另外维护了⼀个短消息优先级的预定义设置,这种算法⽬前已经发展得相当成熟。3.1.8 数据缓存的⽬的
提供存储转发和错误重发的能⼒,以防⽌数据包的丢失;提供定时发送发送短消息的定制业务能⼒;最⼤限度的利⽤系统资源,合理调配系统负荷;保障实时业务的时效性。3.2 业务处理模块3.2.1 短信业务管理
对在运营商申请的业务,在平台录⼊具体的业务信息,可以对业务进⾏修改,删除。3.2.2 短信上⾏处理可以对⽤上⾯进⾏处理,处理模式为:不处理、⾃动回复、同步给合作⽅、发送业务最新消息;可以对上⾏处理⽅式进⾏修改、删除。不处理:对⽤户上⾯不做任何处理;
同步给合作⽅:把⽤户上⾏信息同步给合作⽅;
发送业务最新消息:回复⽤户在群发管理⾥⾯录⼊业务的最新消息。3.2.3 短信发送管理
提供的功能包括:短信单条发送、订购⽤户群发、上传号码群发;短信单条发送:主要⽤于测试下发、和给单个需要接收的号码进⾏发送。订购⽤户群发:针对具体的平台、业务代码进⾏下发,⽀持⽴即发送、定时发送;上传号码群发:主要⽤于上传⽤户的⼀个群发,⽀持⽴即发送、定时发送;
3.2.4 短信审核管理
提供的功能主要包括:短信群发审核;短信群发审核:对群发的内容进⾏审核。3.2.5 短信⽤户管理
提供的功能主要包括:短信⽤户管理、短信⽤户导⼊、订购⽤户详单;短信⽤户管理:对订购⽤户进⾏查询、⽀持⽤户的反向取消;短信⽤户导⼊:根据平台名称、业务名称导⼊订购⽤户;订购⽤户详单:查询显⽰⽤户订购的详细信息。3.2.6 短信⽇志
提供的主要功能包括:短信上⾏查询、短信下⾏查询;短信上⾏查询:对⽤户上⾏信息进⾏查询;短信下⾏查询:对⽤户下发信息进⾏查询;订购⽤户详单:查询显⽰⽤户订购的详细信息。3.3 业务统计模块
提供的主要功能包括:短信上⾏统计、短信下⾏统计、点播统计、订购⽤户统计。3.3.1 短信上⾏统计根据上⾏条件查询统计报表,可以根据平台名称、开始时间、截⽌时间、⼿机号码、⽬的号码查询统计。3.3.2 短信下⾏统计
根据下⾏条件查询统计报表,可以根据平台名称、业务名称、接收状态、开始时间、截⽌时间、⼿机号码、SP源号码查询统计。
3.3.3 短信点播统计
统计⽤户点播计费的报表,可以根据平台名称、业务名称、开始时间、截⽌时间查询统计。3.3.4 短信包⽉统计
统计包⽉⽤户报表,可以根据平台名称、业务名称、开始时间、截⽌时间查询统计。3.3.5 ⽤户按地区统计
对订购⽤户按地区进⾏统计,可以根据平台名称、业务名称、开始时间、截⽌时间查询统计。3.4 系统管理模块3.4.1 权限管理
系统管理主要⽅便系统管理员对整个系统进⾏统⼀的管理。系统管理员可根据需要添加或删除⽤户,并对⽤户信息进⾏维护;也可定义⾓⾊,根据⾓⾊进⾏操作权限分配;更重要的是可对不同的⼈设置不同的短信发送权限和发送短信的数量,并对其进⾏统计。它主要包括⽤户管理、⾓⾊权限、短信管理、系统⽇志等⼏个部分。操作员管理:对登录系统的⽤户进⾏统⼀管理和维护。⾓⾊管理:对系统的资源和功能以⾓⾊进⾏封装管理。
赋权管理:对系统的⽤户进⾏权限和⾓⾊的赋权,实⾏权限的统⼀管理。3.4.2 ⽇志管理
异常⽇志管理:对系统运⾏过程中产⽣的错误⽇志进⾏跟踪维护。操作⽇志管理:对系统使⽤者的⾏为进⾏跟踪维护。3.4.3 过滤管理
3.4.3.1 ⿊名单管理
在电脑应⽤中,⿊名单是常⽤的访问控制机制之⼀,使得每个⼈都可以进⼊系统或者进⾏相关操作,除了⿊名单(即拒绝访问列表)中的成员。
在增值业务中,⿊名单通常是针对有⽤户投诉,⽽且经查实违规情节⽐较恶劣的,SP 便把这样的⽤户列为“⿊名单⽤户”,其⽬的是以后不再向这些⽤户发送信息,即使发送信息,也将发送失败。平台中引⼊了这⼀概念。
平台发送短信时,会先从接收对象中⾃动过滤掉⿊名单号码,然后再进⾏下发。3.4.3.2 过滤词管理
敏感词⼀般是指带有敏感政治倾向(或反动倾向)、暴⼒倾向、不健康⾊彩的词或不⽂明语。平台管理员可以⾃定义敏感词。
例如,平台中定义“法轮功”为敏感词,某条制作好的短信中含有“法轮功组织是合法组织”字样,下发短信时,平台会⾃动以“***”代替敏感词进⾏下发,⼿机接收到的短信内容为“***组织是合法组织”,有效地阻⽌了这⼀⾮法信息的传播。3.4.4 号段管理
移动电话号码是由⽹号+⼊⽹地区编码+客户号码组成。前3位是⽹号,中间4位是⼊⽹地区编码,最后4位是客户号码。通过⼊⽹地区编码以及运营商提供的号段资料库,我们就可以知道⼿机号码的归属地。
⼿机报管理平台在安装的时候就会把全国⽬前的⼿机号段导⼊到数据库,因此⼿机报管理平台能够⾃动识别⼿机号码所在地区,⼿机报管理平台管理员能够按照归属地对业务进⾏统计和查询。
当有新的号段出现时,⼿机报管理平台也会尽快进⾏号段的更新⼯作,最⼤限度的保证与各⼤运营商的同步。3.4.5 平台合作管理
如果第三⽅借⽤SP通道,平台需要把上⾏、状态报告、⽤户订购信息同步给合作⽅。在平台录⼊合作⽅信息。3.4.6 接⼊平台管理
对接⼊平台的信息进⾏配置。3.4.7 帐号管理
对操作员密码进⾏修改。4 系统接⼝
系统级对现有的短信业务及后台应⽤服务进⾏归类,寻找并抽象出⼀些共有的功能,在系统级实现这些功能。对于这些功能的实现该达到与平台⽆关。例如:系统级功能可以包括:――通⽤资源的访问――定制下发调度功能――定制及定制取消接⼝
――合作⽅和各地公司下发信息统⼀接⼝――合作⽅和各地公司查询数据统⼀接⼝――全⽹资源业务访问接⼝――典型短信业务开发接⼝等4.1封装WebSend接⼝
对WebSend接⼝进⾏封装,将WebSend接⼝封装成类似⽹关,可以对请求返回状态报告、对下发的操作进⾏分析等。封装后WebSend应具备以下功能:
1.建⽴发送缓冲队列2.发送失败后可以重发3.增加负载均衡的功能4.增加流量控制的功能
5.返回值中增加消息ID,⽅便合作⽅查询状态报告话单
6.增加移动提供的⿊名单过滤的功能(⽬前都在存储过程⾥处理的)7.增加⽤户鉴权(⽤户名、密码、IP)的功能(⽬前都在存储过程⾥处理的)8. 加违禁词过滤的功能(⽬前都在存储过程⾥处理的)4.2 ⼆次开发接⼝
为SP提供更合理、更简洁的API调⽤接⼝,简化SP接⼊的技术要求。具体包括: ?定制接⼝取消接⼝查询接⼝测试接⼝5 系统⽅案5.1 ⽅案
⽅案采⽤Linux或Windows2003 PC Server集群解决⽅案,通过四层交换机实现负载均衡,该解决⽅案具有⾼性价⽐,扩展性强的特点,能够满⾜未来业务增长的需求,能够平滑的进⾏升级。
5.1.1 软件环境
操作系统: Linux或Windows2003数 据 库:Oracle9i以上编程语⾔:JAVA编程语⾔开发中 间 件:Tomcat5.0以上其他:JDK1.4以上5.1.2 最低硬件
Intel P4 1.6 GHz1GB RAM
20GB SCSI Hard Drive100MB/1000MB ⽹卡6 定制开发
提供按客户需求定制开发服务(按需求复杂度收费)。7 平台维护
提供每周7天、每天24⼩时电话,⽹络⽀持服务。
因篇幅问题不能全部显示,请点此查看更多更全内容