短信网关的制作方法_2

文档序号:8302158阅读:来源:国知局
,用于启动下述数据发送模块、数据接收模块和超时处理模块;以及向 短信中心注册,并在注册成功时建立第一链路,其中所述第一链路用于所述数据发送模块 与所述短信中心之间的交互,还用于所述短信中心与所述数据接收模块之间的交互;
[0035] 数据发送模块,用于从短信网关中的短信发送队列中读取待发送数据,其中,所述 待发送数据由所述业务处理装置从所述业务处理装置接入的应用系统中获取,并写入至所 述短信发送队列中;调用下述协议处理模块按照设定协议对获取的待发送数据进行打包, 并将打包后的待发送数据包通过所述第一链路发送至所述短信中心;以及将发送的数据包 中的原始发送数据写入所述短信网关中的等待响应队列;
[0036] 进一步地,所述数据发送模块还可优选用于:在从所述短信网关中的短信发送队 列中没有获取到由与所述短信网关连接的应用系统写入的待发送数据时,通过所述第一链 路向所述短信中心发送链路测试包,通过发送链路测试包可以保持第一链路的有效持续连 接,不致断开。
[0037] 进一步地,所述数据发送模块还可优选用于:在从所述短信网关中的短信发送队 列中获取到由与所述短信网关连接的应用系统写入的当前待发送数据之后,检查所述等待 响应队列中未接收到响应的、但已经发送的所述待发送数据的数量,并与预设流量发送控 制窗口比较,根据比较结果决定是否打包并发送获取的当前待发送数据。
[0038] 本方式适用于对流量有要求的短信协议,通过将等待响应队列中未接收到响应 的、但已经发送的待发送数据的数量与预设流量发送控制窗口比较,根据比较结果决定是 否打包并发送获取的当前待发送数据,可以实现流量控制。
[0039] 数据接收模块,用于通过所述第一链路从所述短信中心阻塞接收数据,在接收成 功时,调用所述协议处理模块按照设定协议对接收到的数据进行解包;判断解包后的数据 的类型,并根据所述判断结果,进行相应分类处理。
[0040] 其中,接收的数据的类型包括协议响应数据和业务请求数据。
[0041] 下面分别介绍数据接收模块接收到协议响应数据时的处理流程以及接收到业务 请求数据时的处理流程。
[0042] A、接收协议响应数据
[0043] 数据接收模块用于通过所述第一链路从所述短信中心接收协议响应数据;调用所 述协议处理模块按照设定协议对所述协议响应数据进行解包;判断解包后的协议响应数据 的响应类型,并根据所述判断结果,进行相应处理;以及将解包后的协议响应数据写入所述 短信网关中的等待响应队列;其中,所述协议响应数据由所述短信中心在成功接收到所述 数据发送模块发送的待发送数据包并进行响应后生成。
[0044] 其中,所述协议响应数据的响应类型包括:正确响应和错误响应。
[0045] 所述数据接收模块根据所述判断结果,进行相应处理,具体可以包括:
[0046] 在判断到解包后的协议响应数据的响应类型为正确响应时,从所述等待响应队列 中读取对应的原始发送数据,并调用所述短信网关中的流量统计模块进行发送流量统计;
[0047] 在判断到解包后的协议响应数据的响应类型为错误响应时,则丢弃与类型为错误 响应的所述协议响应数据;或获取与类型为错误响应的所述协议响应数据对应的原始发送 数据,并将所述对应的原始发送数据作为待发送数据,重新写入所述短信发送队列,以使所 述数据发送模块调用所述协议处理模块按照设定协议对从所述短信发送队列获取的由所 述数据接收模块写入的待发送数据进行打包,并将由所述数据接收模块写入的所述待发送 数据经打包后形成的待发送数据包通过所述第一链路重新发送至所述短信中心,以及将重 新发送的待发送数据重新写入所述等待响应队列。
[0048] B、接收业务请求数据
[0049] 所述数据接收模块还用于调用所述协议处理模块按照所述设定协议对通过所述 第一链路从所述短信中心接收的业务请求数据进行解包,并将所述解包后的数据写入所述 短信网关中的短信接收队列;
[0050] 所述协议处理模块还用于按照所述设定协议对所述数据接收模块接收的业务请 求数据进行解包。
[0051] 所述数据接收模块还可以用于在调用所述协议处理模块按照所述设定协议对通 过所述第一链路从所述短信中心接收的业务请求数据进行解包之后,调用所述短信网关中 的流量统计模块进行接收流量统计。
[0052] 协议处理模块,用于按照设定协议对所述数据发送模块获取的待发送数据进行打 包;还用于按照设定协议对所述数据接收模块接收的所述协议响应数据进行解包。
[0053] 超时处理模块,用于定时扫描所述等待响应队列,检查是否存在已经成功发送但 超时没有收到响应的原始发送数据,若是,则丢弃该原始发送数据,或将该原始发送数据写 入短信发送队列,并触发所述数据发送模块执行重发操作。
[0054] 需要说明的是,优选是,执行将该原始发送数据写入短信发送队列,并触发所述数 据发送模块执行重发操作,以提高将从应用系统获取的待发送数据发送至短信中心的成功 率。
[0055] 本优选实施方式提供的短信接入装置,主要负责短信网关与短信中心(SMSC)通 过标准短信协议交换短信数据,实现了应用系统与用户之间的数据交互。
[0056] 需要说明的是,短信接入装置适用的设定协议通常包括:短信点对点协议(SMPP) 协议、中国联通短信网关系统接口协议(SGIP)和中国移动点对点协议(CMPP)。其中,SMPP 协议要求SP侧只能为客户端,上传短信(例如,把应用系统的短信推送给短信中心侧的手 机用户,这时短信中心的响应数据也是通过同一链路发给客户端的)和下发短信(比如用 户通过手机和短信中心,再经短信网关把交易信息下发到应用系统)分别用不同的命令向 SMSC注册。SGIP协议要求双方互为客户端和服务端,SP上传短信需以客户端方式向SMSC 注册之后,才能上传短信。SMSC要下发短信,必须先向SP服务端发起连接请求,得到确认后 才能下发短信。CMPP协议两种方式全部支持。
[0057] 参照上述三种短信协议,可以将短信接入装置分为以下两种方式:只做客户端,或 者既做客户端又做服务端。
[0058] 本优选实施方式提供的短信接入装置,支持短信点对点(SMPP)协议或者中国移 动点对点协议(CMPP),也即本优选实施方式中的短信接入装置工作于客户端模式。
[0059] 1. 2短信接入装置的另一种优选的实施方式
[0060] 请参阅图3,作为短信接入装置的另一种优选的实施方式,该短信接入装置可以包 括:接入主模块、数据发送模块、数据接收模块、协议处理模块、超时处理模块、监听服务模 块和至少一个请求处理模块。本方式提供的短信接入装置适用于中国联通短信网关系统接 口协议(SGIP)或者中国移动点对点(CMPP)协议。
[0061] 其中,所述数据发送模块、数据接收模块和超时处理模块构成客户端模块,在数据 发送模块向短信中心发送数据的过程中以及数据接收模块接收短信中心下发的数据的过 程中均需要调用协议处理模块;所述监听服务模块和至少一个请求处理模块构成服务端模 块。
[0062] 其中,接入主模块的部分功能与上述方式中接入主模块的功能一致,本方式中,所 述接入主模块的新增功能具体为:还用于启动所述监听服务模块,以及在注册成功时建立 第二链路,所述第二链路用于所述短信中心与所述监听服务模块之间的请求交互,以及用 于所述短信中心与所述至少一个请求处理模块之间的数据交互。
[0063] 换言之,所述第一链路建立在所述短信中心与所述客户端模块之间,所述第二链 路建立在所述短信中心与所述服务端模块之间。
[0064] 其中,数据发送模块的功能与上述方式中数据发送模块的功能一致,不再赘述。
[0065] 其中,所述数据接收模块的功能仅为上述方式中数据接收模块的部分功能一致, 本方式中,所述数据接收模块仅用于通过所述第一链路从所述短信中心接收协议响应数 据;调用所述协议处理模块按照设定协议对所述协议响应数据进行解包;判断解包后的协 议响应数据的响应类型,并根据所述判断结果,进行相应处理;以及将解包后的协议响应数 据写入所述短信网关中的等待响应队列;其中,所述协议响应数据由所述短信中心在成功 接收到所述数据发送模块发送的待发送数据包并进行响应后生成;而在上述方式中,数据 接收模块还用于通过第一链路与短信中心交互业务请求数据,而在本方式中,服务端模块 通过第二链路与短信中心交互业务请求数据,可参见下述对监听服务模块和请求处理模块 的介绍。也即,客户端模块通过第一链路向短信中心上传短信,短信中心通过第二链路向服 务端模块下发短信,两条链路互不干涉,与短信中心独立通讯。
[0066] 换言之,在上述方式中,短信接入装置仅工作于客户端模式下,数据发送模块处理 所有的上传短信,数据接收模块处理所有的下发短信;在本方式中,短信接入装置工作于客 户端和服务端结合的模式,客户端模块负责上传短信,服务端模块负责下发短信。
[0067] 所述超时处理模块的功能与上述方式中超时处理模块的功能一致,不再赘述。
[0068] 其中,所述监听服务模块用于在监听到所述短信中心通过所述第二链路发送业务 请求时,启动与业务请求数量相同的请求处理模块。
[0069]
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1