短信平台移动网关开发

2024-05-24

短信平台移动网关开发(共3篇)

短信平台移动网关开发 篇1

1 需求分析

1.1 短信平台所依赖系统

互联网短信网关(ISMG)是业务提供商(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信中心。另一方面,移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。另外,为了减轻短信中心的信令负荷,互联网短信网关还应根据路由原则将SP提交的信息转发到相应的互联网短信网关。互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。

另外,ISMG还必须与数据业务管理平台DSMP进行连接,在业务流程中对用户、业务以及定购关系等进行鉴权并对业务进行批价。

1.2 SP部分

如图1,整个系统既是实现SP部分。

短信网关上行数据包MO发往移动网关,移动网关对其进行分解,处理。将业务数据包发往中间服务器的业务队列;将回馈数据包发往中间服务器的回馈队列;将状态数据包发往中间服务器的状态对列。网关还要对中间服务器发来的下行数据包MT进行下行处理,然后发往短信中心。

1.3 SP的内部架构

如图2所示。

1.4 协议栈

CMPP协议以TCP/IP作为底层通信承载,具体结构由图3所示。

1.5 通信方式

各网元之间共有两种连接方式:长连接和短连接。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送。

现阶段,要求ISMG之间必须采用长连接的通信方式,建议SP与ISMG之间采用长连接的通信方式。

1.6 协议涉及的端口号

端口号 应用

7890 长连接(SP与网关间)

7900 短连接(SP与网关间)

7930 长连接(网关之间)

9168 短连接(短信网关与汇接网关之间)

1.7 消息定义

2 移动模块设计

2.1 总体设计

2.1.1 移动网关的内部架构

其中申请连接线程,重连机制,链路测试线程和Deliver线程由上行部分实现。

重发线程,Submit线程由下行部分实现。

2.1.2 移动网关上行部分的实现功能模块的设计

业务提供商(SP)与互联网短信网关(ISMG)间的消息定义

SP为客户端,向作为服务器端的ISMG发起连接请求,在通过身份验证之后SP与ISMG之间方可进行数据传输。这是申请连接线程所应实现的功能。

移动网关的上行部分如图5所示。

3 系统实现与测试

3.1 申请连接线程的实现

根据协议SP通过移动网关发一请求连接的包给短信中心,并等待短信中心的应答,如果通过验证,则启动其他服务(开启Deliver线程,Submit线程,重发线程,重连线程,链路测试线程);如果验证失败,则打印相应的信息。

4 结束语

本系统能与短信平台的其他模块良好的连接。实现短信数据的转发,分拣。接收短信中心ISMG的上行数据,对数据进行分析,将不同的数据按协议发往中间服务器进行处理。并接受中间服务器的发给短信中心的数据包,做下行处理,发往短信中心。

本系统只是实现了可运行的一些基本的功能。在可靠性方面可能还需要完善,比如说:日志的处理,报警机制等。还是有很多的后续工作要做。

参考文献

[1]Hyde P.Java线程编程[M].周良忠,译.北京:人民邮电出版社,2003.

[2]Zukowski J.Java2从入门到精通[M].邱仲潘,译.北京:电子工业出版社,2002.

[3]Haghes M.Java网络编程技术内幕[M].北京:国防工业出版社,2002.

[4]Heller P.Java2高级开发指南[M].北京:电子工业出版社,1997.

[5]Means W S.XML技术手册[M].北京:中国电力出版社,2002.

[6]飞思科技产品研发中心,赵强,乔新亮.J2EE应用开发(WebLogic+JBuilder)[M].北京:电子工业出版社,2004.

[7]Foster J,Porter M.应用Java API开发Web Services[M].北京:中国水利水电出版社,2003.

[8]ATA教育公司.Java语言与Jbuilder应用基础教程[M].北京:科学出版社,2005.

短信平台移动网关开发 篇2

计算机技术的飞速发展使得数据库系统的安全面临严峻的挑战,而数据库作为信息资源的仓库,对它的维护工作显得尤为重要。本文以一款基于移动平台的城市旅游定向运动软件为例,主要介绍了其开发过程中数据库安全问题及主要防范措施,并简要说明了如何进行数据库维护。

当今社会,随着计算机技术的飞速发展,应用软件的开发已经屡见不鲜。很显然,计算机已经成为推动人类社会进步与发展的一种重要工具。在给我们带来方便的同时,也出现一系列问题,其中某些应用软件的数据库安全及维护就是一个十分常见的问题。

一、定向运动简介

定向运动是利用地图和指南针到访地图上所指示的各个点标,以最短时间到达所有点标者为胜。定向运动通常设在森林、郊外和城市公园里,也可在大学校园里进行。在城市中进行的是可参照定向运动规则的休闲娱乐活动,令使用者根据应用生成的活动路线到达各检查点,完成各项娱乐项目。

二、城市旅游定向运动软件简介

城市旅游定向运动软件是将定向运动与城市旅游结合并在移动设备基础上开展设计研发,同时结合使用社会化网络的API;手机通讯API;摄像系统API;GPS定位系统、指南针、重力加速度系统API;网络通讯的蓝牙、3G、Wifi等通信API中的一种或多种实现特定功能,使软件顺畅地运行在真实手机环境中,方便使用者通过“Android市场”或AppStore等网络商店下载使用。

三、软件数据库的安全问题及防范

城市旅游定向运动软件中的地图定位及景点、酒店、路线搜索功能会用到数据库。保证数据库的安全、防止其他用户窃取数据库中的信息或者破坏数据是数据库安全问题的首要任务。实际上数据库存在的最常见的安全威胁有以下几种:1.计算机网络外部环境;2.应用系统风险;3.lP源路径对计算机网络安全的威胁。对此,防范工作可以通过身份鉴别、存取控制、推理控制和数据库加密等实现,下面简要介绍这几个方面。

1.身份鉴别

身份鉴别,顾名思义就是确定某人的身份和其所声称的身份是否相符合,也称之为身份认证,主要目的是防止欺诈和假冒攻击。一般在用户访问某个资源或者登录某一个计算机系统时进行,在传输重要的信息时要进行身份鉴别,通常可采用输入密码、密钥的方式或者验证身份证、指纹的方式进行。

2.存取控制

身份鉴别是访问控制的基础。对信息资源的访问必须进行有序的控制,这是在身份鉴别后根据用户的身份进行权限的设置。访问控制的任务是:对系统内的所有的数据规定每个用户对它的操作权限。存取控制可以分为三种形式:自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)。

3.推理控制

对于数据库中的数据,有时可以通过一些合法查询得到的数据而计算出其他的需要保密的数据,这就称之为推理分析,是数据库系统的一个缺陷。虽然现在没有一套完善的方法解决这种推理分析问题,但是可以使用以下几种方法对这种推理进行控制。

(1)禁止对数据库中的能够推理出敏感数据的信息进行查询,从而阻止这种推理的发生,但是通过这种方法对数据库的可用性会有一定的影响。

(2)对数据进行扰动处理,也就是先对需要保密的数据进行特别的加工处理。

(3)限制数据库中数据的计算精度,通过这种方法,即使某一个用户通过推理计算出某些需要保密的数据,也会因为数据的精度问题而和实际的`数值存在一些误差。

4.数据加密

数据加密是防止数据库中数据泄露的有效手段,与传统通信或网络加密技术相比,由于数据保存的时间要长得多,对加密强度的要求更高。而且由于数据库中数据是多用户共享,对加密和解密的时间要求更高,以不会明显降低系统性能为要求。

四、数据库维护

定向运动软件网络数据库的维护主要是维护人员在远离服务器位置的计算机上通过网络对数据库维护的操作,其中主要包括:地名数据库的更新、周边酒店及公交路线的更新,下面就简要说明下更新流程及更新时易遇到的问题。

1.地名数据库的更新流程

收集信息齐全的纸质地名发文,以此修改审批数据的图形,根据不带图形信息的地名审批数据和信息齐全的纸质地名发文核对补充其属性信息,然后处理有冲突的地名。要建立现状地名与历史地名和规划地名的关系,应在数据库中设有新旧地名对照表。对地名的操作包括:新增现状地名、新增规划地名、变更现状地名、注销现状地名四种。

2.更新时冗余数据的处理

在地名更新与维护的过程中,常常会因为各种原因出现图形重叠或重名的现象,此时的处理原则是保留合理的图形重叠或重名,把不合理的图形重叠或重名处理得相对合理些。

五、结语

谈谈SP短信接口网关开发 篇3

SP短信接口网关在运营商和SP企业之间起着重要的桥梁作用, SP短信接口网关性能的好坏将直接影响整个SP业务的性能, 因此, 如何开发出一个稳定、高性能的短信接口网关就显得至关重要。本文以笔者个人亲身的开发经历, 谈谈SP短信接口网关开发经验。

1. SP短信接口网关的开发

通用SP短信业务平台, 逻辑可分为用户层、系统层、接口层。短信接口网关处于SP业务平台的最底层, 是整个SP业务平台的基础, 因此, 我们在进行短信接口网关开发的时候, 必须严格按照底层通信模块的标准 (即高效、稳定) 来进行。下面将围绕提高短信接口网关处理能力、提高短信接口网关得稳定性以及其他控制措施三个方面展开阐述。

1.1 提高短信接口网关处理能力

作为底层通信接口, 其处理能力当然是最受关注的, 提高短信接口网关处理能力所用到的方法包括多线程编程、事务分割、内存缓冲以及滑动窗口机制。

1.1.1 多线程编程

如果仅仅采用单线程编程的话, 则接口网关无论如何都只能工作在半双工的模式下。为了提高通信效率, 短信接口网关采用了多线程的编程模式, 接口网关启动后, 由一个主线程分别启动两个主要线程, 即:发送线程和接收线程, 分别处理短信的发送和接收事务, 使短信接口网关真正做到全双工。

1.1.2 事务分割

由于接收短信的时候要做的事务比较多, 包括接收短信息、记录日志、解码、处理短信息、把处理结果入库五个动作。如果在一个事务中一次性完成这些动作的话, 那么, 将会影响短信接收的效率, 因此, 把整个接收事务细化成五个子事务:接收、写日志、解码、信息处理、入库, 这五个事务彼此相对独立, 仅仅通过各个子事务之间的缓冲池进行交互。这样一来, 就能够确保前面的事务不会因为后续事务处理速度跟不上而影响短信的接收。

1.1.3 内存缓冲

短信入库的速度受到I/O性能的影响, 如果频繁跟I/O交互的话, 将会严重影响短信的接收效率。结合考虑到目前所有的运营商短信网关/SP短信管理平台, 都仅仅能够为SP等ESME提供相对数量较少的缓冲池, 当处于某一个话务高峰的时候, I/O操作就会成为系统的瓶颈而导致部分短信息的丢失。考虑到计算机内存读写得速度远远高于I/O的读写速度, 为了提高接收效率, 确保不会因为接受效率而影响短信的正常接收, 在内存开辟一定数量的缓冲池 (根据实际短信息的吞吐量而定, 如1万条) , 如此一来, 即使碰到话务高峰的时候, 也能够把接收到的短消息及时地写入到内存中, 不至于短消息丢失。

1.1.4 滑动窗口

很显然, 在接收、写日志、解码、信息处理、入库五个子事务之间的处理速度不可能一致, 那么, 为了确保整个事务能够顺畅的进行, 那么, 我们还应该在每两个需要通信的子事务之间开辟对应的滑动窗口, 用于适配两个子事务的处理速度, 滑动窗口的大小应根据接口的吞吐量及峰值进行适当的调整。

1.2 提高短信接口网关稳定性

作为底层通信接口, 其稳定性也不容忽视, 提高接口网关稳定性的方法大致如下。

1.2.1 守护程序

作为不间断的底层通信程序, 其服务可用性的要求相当的高, 为此, 必须引入守护程序其进行监管, 一旦发现服务异常, 马上对接口网关程序做相应的处理, 如关闭异常进程并重新启动新的进程及时确保接口程序的服务可用。

1.2.2 监控模块

为了确保网关的高效运行, 还必须考虑系统监控问题, 通过监控模块实时监控网关的运行情况, 并及时的调整发送策略, 如发送速率、是否应急关闭关键字过滤功能等。

1.2.3 预警机制

考虑到大多数机房都是无人值守或巡查周期较长, 因此, 短信接口网关开发的时候还需要考虑接口的预警机制, 如短信接口网关长时间无收发记录或者待发送队列积压过多的时候, 能够触发预警流程, 及时地告知维护人员进行处理。

1.2.4 专用通道

在上述预警机制的部署中, 如果由于发送功能异常 (如发送线程异常、SP通道受限等) , 则预警短信也将无法通过接口进行发送, 必须有另外的通道把该预警短信及时的送达维护人员, 建议采用专用通道 (如GSM、CDMA工业Modem) 进行预警短信的发送。

1.2.5 现场保护与恢复机制

由于采用了内存缓冲机制, 为了确保短信息不丢失, 在守护进程进行异常处理的时候, 还需要考虑内存的现场保护, 把没有完成处理的任务保存期来, 以便在重新启动新的网关进程的时候, 能够把这些任务不遗漏的进行继续处理, 即现场恢复。

1.2.6 程序异常捕获

虽然有守护进程和监控模块能解决服务可用性的问题, 不过, 那是比较被动的解决途径, 为了能够更加积极地解决这个问题, 我们在网关开发的时候, 还需要多采用“try…catch…”语句, 能够更加有效地捕获到程序各个地方所可能产生的异常, 并积极地作相应处理。

1.3 其他控制措施

作为SP短信接口网关, 除了考虑处理能力与稳定性之外, 关键字过滤、发送优先级控制、发送流量控制这三种机制也是必不可少的。

1.3.1 关键字过滤

作为一个成熟的SP短信接口网关, 在规划过程中, 也必须考虑短信内容安全的问题。在功能模块分析中还必须增加关键字过滤模块。由于关键字过滤的算法相当复杂, 且对系统资源的开销相当大, 作为通用的SP短信接口网关, 仅仅考虑的是简单的关键字过滤而已。

1.3.2 发送优先级控制

值得一提的还有, 在SP短信应用中, 还有一类业务 (如获取校验码等) , 这类业务的实时性要求比较严格的, 所以, 不可能全部机械地扔到短信接口中进行排队发送。因此, 短信接口网关还必须引入一个重要的参数, 即发送优先级, 通过对发送优先级进行控制, 我们可以针对整个SP短信应用提交的发送请求, 按照既定的优先级由高至低有序的进行发送。

1.3.3 发送流量控制

在运营商的SPMS (SP管理系统) 或者SMGW (短信网关) 上都有对每一个ESME (扩展短消息实体) 都有一定的流量限制, 对于超过流量限制的短信息, 执行丢弃的动作。为了确保SP短信接口网关所提交到运营商的短信息不被丢弃, 那么, 在提交的速度上也必须有一个控制, 最快不能够超过运营商提供给该ESME的最快发送速度。

2. 结束语

本文设计的SP短信接口网关, 目前已开始应用于各类SP, 有着比较广阔的应用市场前景。本短信接口网关存在许多优点的同时, 也存在一些不足之处, 如目前版本仅支持SMGP协议等, 这些还需进一步的完善。

参考文献

[1]郝文化.Windows多线程编程技术与实例[M].中国水利水电出版社, 2005-10

[2]候俊杰.深入浅出MFC (第2版) [M].华东科技大学出版社, 2001-1

[3]葛亮.VisualC++从入门到实践[M].清华大学出版社, 2009-7

上一篇:物流生态体系下一篇:高层房屋建筑施工