短消息协议的识别方法及网关系统的制作方法

文档序号:7717110阅读:101来源:国知局
专利名称:短消息协议的识别方法及网关系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种短消息协议的识别方法及网关系统。

背景技术
网关作为国内通信网内的内部网元和外部网元的中介实体,需要对内外网元的消 息进行解析,解析的基础是根据内外网元使用的短消息互联协议进行解析。目前,国内常用 的短消息互联协议主要包括短消息点对点协议ShortMessage Peer to Peer,简称为 SMPP中国移动通信互联网短消息网关接口协议China Mobile Peer to Peer,简称为 CMPP中国电信短消息网关协议Siort Message Gateway Protocol,简称为SMGP中国联合通信短消息网关系统接口协议Short Message Gateway Interface Protocol,简称为 SGIP点对点短消息网间互通协议Peer to Peer Streaming Protocol,简称为PPSP上述协议都是以TCP/IP作为底层通信支撑的,协议栈可以参见图1。使用协议互 联时,一端为服务端、一端为客户端,由客户端向服务端发起连接,TCP层连接后客户端发送 绑定或连接请求消息;服务端根据接收到的绑定或连接请求消息中的特征信息进行判断, 确定是否建立连接;连接正式建立后,双方可进行短消息的互发,在建链过程中双方只能发 送绑定或连接请求和绑定或连接响应消息,不能发送其他消息。建链过程可以参见图2。相关技术中,作为服务端的设备为方便客户端的连接,必须指定特定的侦听端口。 对于多种协议,现有的网关都采用如下方式实现(1)为每种协议单独启动一个侦听端口,即每个侦听端口固定一种协议;(2)每个侦听端口接收到客户端的连接请求时,对和客户端之间交互的数据流采 用固定的协议进行分析处理。但是,上述方式存在以下缺点首先,侦听端口数量随协议数量线性增加。因而既浪费了端口资源,也使网络的逻 辑复杂程度大大提高;其次,每个侦听端口固定使用一种协议解析和客户端之间交互的数据。即使客户 端采用的协议是网关支持的、特征信息是正确的,只要端口不对,也由于无法正确处理数据 导致连接失败。再次,客户端无法独立更换互联协议,服务端必须确保在对应的侦听端口能处理 客户端的绑定信息后,客户端才能进行更换。针对相关技术中为每种协议单独启动一个侦听端口,导致端口资源浪费,网络的 逻辑复杂程度大大提高等问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中通过为每种协议单独启动一个侦听端口以识别短消息协议,导致 端口资源浪费,网络的逻辑复杂程度大大提高等问题而提出本发明,为此,本发明的主要目 的在于提供一种短消息协议的自动识别方法及网关,以解决上述问题至少之一。根据本发明的一个方面,提供了一种短消息协议的识别方法。根据本发明的短消息协议的识别方法包括网关系统通过建立的TCP链路接收来 自于客户端的请求消息,其中,该请求消息携带有客户端的IP地址信息;网关系统根据IP 地址信息和/或请求消息的长度信息进行判断,确定TCP链路使用的短消息协议。根据本发明的另一方面,提供了一种网关系统。根据本发明的网关系统包括接收单元,用于通过建立的TCP链路接收来自于客 户端的请求消息,其中,该请求消息携带有客户端的IP地址信息;确定单元,用于根据IP地 址信息和/或请求消息的长度信息进行判断,确定TCP链路使用的短消息协议。通过本发明,在网关系统上建立统一的侦听端口,网关系统根据IP地址信息和/ 或所述请求消息的长度信息,对接收来自于客户端的请求消息进行判断,确定所述TCP链 路使用的短消息协议,解决了相关技术中通过为每种协议单独启动一个侦听端口以识别短 消息协议,导致端口资源浪费,网络的逻辑复杂程度大大提高等问题,进而可以节省端口资 源、降低网络的逻辑复杂程度。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为短消息互联协议的协议栈示意图;图2为短消息互联协议的建链示意图;图3为根据本发明实施例的短消息协议的识别方法的流程图;图4为根据本发明实例一的短消息协议的识别方法的流程图;图5为根据本发明实例二的短消息协议的识别方法的流程图;图6为根据本发明实施例的网关系统的结构框图;图7为根据本发明优选实施例的网关系统的结构框图;图8为根据本发明优选实施例的网关系统的架构图;图9为根据本发明优选实施例的网关系统建链的详细流程图。
具体实施例方式功能概述考虑到相关技术中为每种协议单独启动一个侦听端口,导致端口资源浪费,网络 的逻辑复杂程度大大提高等问题,本发明实施例提供了改进的短消息协议的识别方法及网 关系统,在本发明实施例中,首先设置统一的接入侦听端口,统一接收客户端的互联请求, 接收到客户端的TCP建链请求后,建立实际的TCP链路,接收客户端发送到绑定或连接请求 数据。之后,根据IP地址信息和/或所述请求消息的长度信息对该请求数据等信息进行协 议判断,判别出客户端使用的短消息互联协议,后续该TCP链路上的所有数据都按照该协议进行编解码。下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。方法实施例根据本发明的实施例,提供了一种短消息协议的识别方法。图3为根据本发明实施例的短消息协议的识别方法的流程图。如图3所示,根据 本发明实施例的短消息协议的识别方法包括以下处理(步骤S301-步骤S303)在执行步骤S301之前,可以包括以下处理(1)所述网关系统建立一个侦听端口,其中,所述侦听端口用于建立全部客户端与 所述网关系统的连接;(2)所述网关系统通过所述侦听端口接收来自于所述客户端的TCP建链请求,建 立所述TCP链路。步骤S301 网关系统通过建立的TCP链路接收来自于客户端的请求消息,其中,所 述请求消息携带有所述客户端的IP地址信息;优选地,上述请求消息包括以下之一绑定请求消息、连接请求消息。步骤S303 所述网关系统根据IP地址信息和/或所述请求消息的长度信息进行 判断,确定所述TCP链路使用的短消息协议。优选地,上述步骤S303可以包括但不限于以下处理(1)所述网关系统将所述IP地址信息与使用点对点短消息网间互通协议(PPSP) 连接的IP组地址信息进行比对,判断在所述IP组地址信息中是否存在与所述IP地址信息 相符的IP地址信息;(2)如果是,则所述网关系统确定所述TCP链路使用的短消息协议为所述PPSP ;(3)如果否,则所述网关系统根据所述请求消息的长度信息确定所述TCP链路使 用的短消息协议为与所述长度信息对应的短消息协议。优选地,上述步骤S303还可以包括但不限于以下处理(1)所述网关系统判断与所述请求消息的长度信息对应的短消息协议是否唯一, 如果是,则确定所述TCP链路使用的短消息协议为与所述长度信息对应的短消息协议;(2)如果否,则所述网关系统将所述IP地址信息与使用PPSP连接的IP组地址信 息进行比对;(3)如果在IP组地址信息中存在与所述IP地址信息相符的IP地址信息,则确定 所述TCP链路使用的短消息协议为所述PPSP,否则,则确定所述TCP链路使用的短消息协议 为 CMPP。优选地,在执行步骤S303之后,还可以包括以下处理(1)根据所述TCP链路使用的短消息协议对所述请求消息进行解析;(2)获取所述请求消息中的特征信息,其中,所述特征信息携带有预先分配给所述 客户端的标识字符串;(3)判断所述标识字符串是否正确,如果是,则建立连接,并标记所述TCP链路使 用的短消息协议,以使用该短消息协议对后续互发的短消息进行编解码。图4为根据本发明实例一的短消息协议的识别方法的流程图。如图4所示,根据本发明实例一的短消息协议的识别方法包括以下处理(步骤S401-步骤S403)步骤S401 判断本机配置的PPSP协议的IP组中是否有客户端的IP信息,如果是, 执行步骤S403,否则,执行步骤S405 ;步骤S403 确定客户端采用PPSP协议;其中,由于PPSP协议规定连接的两个实体互为服务端和客户端,这样采用PPSP协 议对接的两个设备中都必然会有对方的相关信息,所以当客户端连接时,通过将客户端IP 和网关本身使用PPSP协议连接的IP组进行比对,如有相符的,则能确定客户端采用的是 PPSP协议;步骤S405 检查绑定或连接请求数据长度,根据数据长度识别协议类型。其中,由于SMPP、CMPP、SMGP和SGIP协议对建链都有相同规定,即在TCP链路建立 后,客户端必须先发送绑定(连接)请求,待收到服务端的绑定或连接响应,状态为成功后, 协议链路才真正建立,其他消息才能正常传送;同时各协议的绑定(连接)消息的消息长度 是固定的,而且是有差异的,具体如下SMPP-98字节、CMPP-39字节、SMGP-42字节、SGIP-61 字节,所以通过检查最初收到的消息的长度则可以准确区分协议。图5为根据本发明实例二的短消息协议的识别方法的流程图。如图5所示,根据 本发明实例二的短消息协议的识别方法包括以下处理(步骤S501-步骤S505)步骤S501 接收到客户端的绑定或连接请求消息后,根据绑定或连接请求消息长 度进行区分;其中,如果采用的协议是SMPP (98字节)、SMGP (42字节)、SGIP (61字节)3种协议 中的一种,可以通过步骤S501确定协议;步骤S503 如果不是上述3种协议中的一种,则检查消息长度是否为39,如果不 是,则返回判断出错;如果是,则执行步骤S505 ;步骤S505 将客户端IP和网关采用PPSP协议的IP组进行比对,如果有相符的, 则客户端采用PPSP协议;否则,则确定采用CMPP协议。通过上述实施例,提供了一种短消息协议的识别方法,在网关系统上建立统一的 侦听端口,所述网关系统根据IP地址信息和/或所述请求消息的长度信息,对接收来自于 客户端的请求消息进行判断,确定所述TCP链路使用的短消息协议。可以节省端口资源、降 低网络的逻辑复杂程度等。系统实施例根据本发明的实施例,提供了一种网关系统。图6为根据本发明实施例的网关系统的结构框图。图7为根据本发明优选实施例 的网关系统的结构框图。如图6所示,根据本发明实施例的网关系统包括接收单元60、确 定单元62,以下结合图7进行描述。接收单元60,用于通过建立的TCP链路接收来自于客户端的请求消息,其中,所述 请求消息携带有所述客户端的IP地址信息;确定单元62,与接收单元60相连接,用于根据IP地址信息和/或所述请求消息的 长度信息进行判断,确定所述TCP链路使用的短消息协议。优选地,如图7所示,上述确定单元62可以包括第一比对模块620,用于将所述IP地址信息与使用点对点短消息网间互通协议PPSP连接的IP组地址信息进行比对,判断在所述IP组地址信息中是否存在与所述IP地址 信息相符的IP地址信息;第一确定模块622,用于在所述第一比对模块输出为是的情况下,确定所述TCP链 路使用的短消息协议为所述PPSP ;第二确定模块624,用于在所述第一比对模块输出为否的情况下,根据所述请求消 息的长度信息确定所述TCP链路使用的短消息协议为与所述长度信息对应的短消息协议。优选地,如图7所示,上述确定单元62除了包括上述模块,同时还可以包括下述模块。可选地,确定单元62还可以包括上述模块与下述模块中的任一套,其中,下述模 块为判断模块626,用于判断与所述请求消息的长度信息对应的短消息协议是否唯 第三确定模块628,用于在所述判断模块输出为是的情况下,确定所述TCP链路使 用的短消息协议为与所述长度信息对应的短消息协议;第二比对模块630,用于在所述判断模块输出为否的情况下,将所述IP地址信息 与使用点对点短消息网间互通协议PPSP连接的IP组地址信息进行比对,判断在所述IP组 地址信息中是否存在与所述IP地址信息相符的IP地址信息;第四确定模块632,用于在所述第二比对模块输出为是的情况下,确定所述TCP链 路使用的短消息协议为所述PPSP ;第五确定模块634,用于在所述第二比对模块输出为否的情况下,确定所述TCP链 路使用的短消息协议为中国移动通信互联网短消息网关接口协议CMPP。优选地,如图7所示,上述网关系统还可以包括建立单元64,与连接单元60相连 接,用于建立一个侦听端口,并通过所述侦听端口接收来自于所述客户端的TCP建链请求, 建立所述TCP链路,其中,所述侦听端口用于建立全部客户端与所述网关系统的连接。优选地,如图7所示,上述网关系统包括以下模块短消息协议处理单元66,与确定单元62相连接,用于根据所述TCP链路使用的短 消息协议对所述请求消息进行解析,并获取所述请求消息中的特征信息,其中,所述特征信 息携带有预先分配给所述客户端的标识字符串。业务处理单元68,用于判断所述标识字符串是否正确,如果是,则建立连接,并标 记所述TCP链路使用的短消息协议,以使用该短消息协议对后续互发的短消息进行编解码。图8为根据本发明优选实施例的网关系统的架构图。如图8所示,根据本发明优选 实施例的网关系统包括通信单元80 (包括前面提到的接收单元、建立单元)、短消息协议 识别单元82 (相当于确定单元)、短消息协议处理单元84 (相当于短消息协议处理单元)、 业务处理单元86 (相当于业务处理单元),以下对各单元进行描述。(1)通信单元80,与短消息协议识别单元、短消息协议处理单元相连。通信单元负 责TCP层的协议建链、数据收发。当接收到客户端的建链请求后,先分配TCP通信链路,并 将客户端发送的绑定(连接)请求数据发送到短消息协议判别单元,根据其处理结果保持 或切断链路。然后将绑定或连接请求数据发送给短消息互联协议处理单元,进行后续处理。其中,通信单元建立统一的侦听端口,所有客户端都统一通过该端口跟网关进行互联;在接收到客户端的TCP建链请求后,建立实际的TCP链路;在接收到客户端发送的绑 定或连接请求数据后,发送到短消息协议判别模块进行分析;(2)短消息协议识别单元82,短消息协议识别单元和通信单元、短消息协议处理 单元相连。当收到通信链路发送的绑定或连接请求数据后,根据绑定或连接请求数据等信 息进行短消息协议判别。其中,短消息协议识别单元82,接收到绑定或连接请求数据后,根据绑定或连接请 求数据等信息,以各协议的特性为基础进行分析,给出分析结果;根据分析结果,如果无法 确定协议,则通信单元关闭该链路,本次建链结束。如果确定协议,则将绑定或连接请求数 据到短消息协议处理单元中。(3)短消息协议处理单元84,与通信单元、短消息协议判别单元、业务处理单元相 连。使用指定的协议进行解析,将绑定或连接请求数据中的特征信息提取出来,并负责对各 种短消息互联协议的编解码,并负责短消息的收发。(4)业务处理单元86,与短消息互联协议处理单元相连接,负责短消息网关的各 种业务处理。其中,业务处理单元根据特征信息进行判断,如果不正确,则发送状态为错误的绑 定或连接响应消息给客户端,然后通知通信模块关闭该链路,本次建链结束。如果正确,返 回绑定或连接响应消息,状态为成功;同时标记此链路协议,后续消息编解码固定采用该协 议。通过上述实施例,提供了一种网关系统,通过各单元的相互结合,可以降低网络逻 辑复杂度、简化客户端的连接复杂性,同时可以允许客户端方便的变更互联协议。图9为根据本发明实例三的网管系统建链的流程图。如图9所示,根据本发明实 例三的网管系统建链包括以下处理(步骤S901-步骤S917)步骤S901 通信单元建立统一的侦听端口,所有客户端都统一通过该端口跟网关 进行互联;步骤S903 通信单元接收到客户端的TCP建链请求后,建立实际的TCP链路;步骤S905 通信单元接收到客户端发送的绑定或连接请求数据后,发送到短消息 协议识别单元进行分析;步骤S907 短消息协议识别单元接收到绑定或连接请求数据后,根据绑定或连接 请求数据等信息,以各协议的特性为基础进行分析,给出分析结果;步骤S909 根据分析结果,如果无法确定协议,则通信单元关闭该链路,本次建链 结束。如果确定协议,则进行步骤S911 ;步骤S911 将绑定或连接请求数据到短消息协议处理单元中,用指定的协议进行 解析,将绑定或连接请求数据中的特征信息提取出来;步骤S913 业务处理单元根据特征信息进行判断,如果不正确,则执行步骤S915, 否则,执行步骤S917;步骤S915 发送状态为错误的绑定或连接响应消息给客户端,然后通知通信单元 关闭该链路,本次建链结束;步骤S917 返回绑定或连接响应消息,状态为成功;同时标记此链路协议,后续消 息编解码固定采用该协议。
综上所述,通过本发明的上述实施例,提供的短消息协议的识别方法及网关系统, 简化了系统的配置,降低了系统的逻辑复杂度;客户端只要采用网关支持的协议、有符合规 定的特征信息,则能够顺利连接成功,降低了客户端的连接复杂度;同时客户端切换短消息 互联协议时可以做到与网关无关,独立切换。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种短消息协议的识别方法,其特征在于,包括网关系统通过建立的TCP链路接收来自于客户端的请求消息,其中,所述请求消息携 带有所述客户端的IP地址信息;所述网关系统根据IP地址信息和/或所述请求消息的长度信息进行判断,确定所述 TCP链路使用的短消息协议。
2.根据权利要求1所述的方法,其特征在于,所述请求消息包括以下之一绑定请求消息、连接请求消息。
3.根据权利要求1或2所述的方法,其特征在于,所述网关系统根据IP地址信息和/ 或所述请求消息的长度信息进行判断,确定所述TCP链路使用的协议包括所述网关系统将所述IP地址信息与使用点对点短消息网间互通PPSP连接的IP组地 址信息进行比对,判断在所述IP组地址信息中是否存在与所述IP地址信息相符的IP地址 fn息;如果是,则所述网关系统确定所述TCP链路使用的短消息协议为所述PPSP协议;如果否,则所述网关系统根据所述请求消息的长度信息确定所述TCP链路使用的短消 息协议为与所述长度信息对应的短消息协议。
4.根据权利要求1或2所述的方法,其特征在于,所述网关系统根据IP地址信息和/ 或所述请求消息的长度信息进行判断,确定所述TCP链路使用的协议包括所述网关系统判断与所述请求消息的长度信息对应的短消息协议是否唯一,如果是, 则确定所述TCP链路使用的短消息协议为与所述长度信息对应的短消息协议;如果否,则所述网关系统将所述IP地址信息与使用点对点短消息网间互通PPSP协议 连接的IP组地址信息进行比对;如果在IP组地址信息中存在与所述IP地址信息相符的IP地址信息,则确定所述TCP 链路使用的短消息协议为所述PPSP,否则,则确定所述TCP链路使用的短消息协议为中国 移动通信互联网短消息网关接口 CMPP协议。
5.根据权利要求1或2所述的方法,其特征在于,在所述通过建立的TCP链路接收来自 于客户端的请求消息之前,所述方法还包括所述网关系统建立一个侦听端口,其中,所述侦听端口用于建立全部客户端与所述网 关系统的连接;所述网关系统通过所述侦听端口接收来自于所述客户端的TCP建链请求,建立所述 TCP链路。
6.根据权利要求1或2所述的方法,其特征在于,在确定所述TCP链路使用的短消息协 议之后,所述方法还包括根据所述TCP链路使用的短消息协议对所述请求消息进行解析;获取所述请求消息中的特征信息,其中,所述特征信息携带有预先分配给所述客户端 的标识字符串;判断所述标识字符串是否正确,如果是,则建立连接,并标记所述TCP链路使用的短消 息协议,以使用该短消息协议对后续互发的短消息进行编解码。
7.一种网关系统,其特征在于,所述网关系统包括接收单元,用于通过建立的TCP链路接收来自于客户端的请求消息,其中,所述请求消息携带有所述客户端的IP地址信息;确定单元,用于根据IP地址信息和/或所述请求消息的长度信息进行判断,确定所述 TCP链路使用的短消息协议。
8.根据权利要求7所述的网关系统,其特征在于,所述确定单元包括第一比对模块,用于将所述IP地址信息与使用点对点短消息网间互通PPSP协议连接 的IP组地址信息进行比对,判断在所述IP组地址信息中是否存在与所述IP地址信息相符 的IP地址信息;第一确定模块,用于在所述第一比对模块输出为是的情况下,确定所述TCP链路使用 的短消息协议为所述PPSP协议;第二确定模块,用于在所述第一比对模块输出为否的情况下,根据所述请求消息的长 度信息确定所述TCP链路使用的短消息协议为与所述长度信息对应的短消息协议。
9.根据权利要求7所述的网关系统,其特征在于,所述确定单元还包括判断模块,用于判断与所述请求消息的长度信息对应的短消息协议是否唯一,第三确定模块,用于在所述判断模块输出为是的情况下,确定所述TCP链路使用的短 消息协议为与所述长度信息对应的短消息协议;第二比对模块,用于在所述判断模块输出为否的情况下,将所述IP地址信息与使用点 对点短消息网间互通PPSP协议连接的IP组地址信息进行比对,判断在所述IP组地址信息 中是否存在与所述IP地址信息相符的IP地址信息;第四确定模块,用于在所述第二比对模块输出为是的情况下,确定所述TCP链路使用 的短消息协议为所述PPSP协议;第五确定模块,用于在所述第二比对模块输出为否的情况下,确定所述TCP链路使用 的短消息协议为中国移动通信互联网短消息网关接口 CMPP协议。
10.根据权利要求7所述的网关系统,其特征在于,所述网关系统还包括建立单元,用于建立一个侦听端口,并通过所述侦听端口接收来自于所述客户端的TCP 建链请求,建立所述TCP链路,其中,所述侦听端口用于建立全部客户端与所述网关系统的 连接。
11.根据权利要求7至10中任一项所述的网关系统,其特征在于,所述网关系统还包括短消息协议处理单元,用于根据所述TCP链路使用的短消息协议对所述请求消息进行 解析,并获取所述请求消息中的特征信息,其中,所述特征信息携带有预先分配给所述客户 端的标识字符串;业务处理单元,用于判断所述标识字符串是否正确,如果是,则建立连接,并标记所述 TCP链路使用的短消息协议,以使用该短消息协议对后续互发的短消息进行编解码。
全文摘要
本发明公开了一种短消息协议的识别方法及网关系统,在上述方法中,网关系统通过建立的TCP链路接收来自于客户端的请求消息,其中,请求消息携带有客户端的IP地址信息;网关系统根据IP地址信息和/或请求消息的长度信息进行判断,确定TCP链路使用的短消息协议。根据本发明提供的技术方案,可以简化系统的配置,降低系统的逻辑复杂度。
文档编号H04W80/00GK102045881SQ20091020664
公开日2011年5月4日 申请日期2009年10月23日 优先权日2009年10月23日
发明者周洪济, 徐震海, 汪鹏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1