CN109688164A - 协议转换方法及装置 - Google Patents
协议转换方法及装置 Download PDFInfo
- Publication number
- CN109688164A CN109688164A CN201910133137.7A CN201910133137A CN109688164A CN 109688164 A CN109688164 A CN 109688164A CN 201910133137 A CN201910133137 A CN 201910133137A CN 109688164 A CN109688164 A CN 109688164A
- Authority
- CN
- China
- Prior art keywords
- protocol
- transmitting terminal
- receiving end
- server
- protocol type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种协议转换方法及装置,涉及通信领域,能够进行协议转换。该方法包括:发送端向服务端发送数据包,服务端对数据包进行解析,获取协议数据单元,再根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型,根据接收端所采用的协议类型,封装待发送信息之后,向接收端发送封装后的待发送信息。其中,数据包包括待发送信息,协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息。
Description
技术领域
本申请涉及通信领域,尤其涉及一种协议转换方法及装置。
背景技术
目前,运营商与外围厂商做短信对接时多采用短消息网关接口协议(shortmessage gateway interface protocol,SGIP)作为出入口,外围厂商根据SGIP协议规范开发短信的收发接口,向运营商申请短信接入号,提供可以互通的IP及端口,实现适配连接。
若外围厂商未根据SGIP协议规范开发短信的收发接口,采用与SGIP协议不兼容的短消息点对点协议(short message peer to peer,SMPP),则由于SGIP协议与SMPP协议在短消息指令编码规则、二进制包体处理机制、协议数据单元(protocol data unit,PDU)序列号定义以及PDU处理方式等方面均不相同,致使基于SGIP协议的客户端与基于SMPP协议的客户端之间无法相互通信。另外,现有技术中也不存在能够将SMPP协议与SGIP协议进行相互转换的方法或工具,或者,现有技术中需要开发繁重的程序代码。
发明内容
本申请提供一种协议转换方法及装置,能够进行协议转换,使基于不同协议类型的发送端和接收端之间具备相互通信的功能。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种协议转换方法,该方法可以包括:
服务端获取发送端的数据包,数据包包括待发送信息;
服务端解析数据包,获取协议数据单元,协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息;
服务端根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型;
服务端根据接收端所采用的协议类型,封装待发送信息;
服务端向接收端发送封装后的待发送信息。
第二方面,本申请提供一种协议转换装置,该装置可以包括:获取模块、解析模块、协议类型确定模块、封装模块和发送模块。其中,
获取模块,用于获取发送端的数据包,数据包包括待发送信息;
解析模块,用于解析数据包,获取协议数据单元,协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息;
协议类型确定模块,用于根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型;
封装模块,用于根据接收端所采用的协议类型,封装待发送信息;
发送模块,用于向接收端发送封装后的待发送信息。
第三方面,本申请提供一种协议转换装置,该装置可以包括:处理器、通信接口和存储器。其中,存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当协议转换装置运行时,处理器执行存储器存储的计算机执行指令,以使协议转换装置执行上述第一方面及其各种可选的实现方式中任意之一的协议转换方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,计算机执行上述第一方面及其各种可选的实现方式中任意之一的协议转换方法。
第五方面,本申请提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,计算机执行上述第一方面及其各种可选的实现方式中任意之一的协议转换方法。
本申请提供的协议转换方法及装置,在服务端获取发送端的数据包之后,解析数据包,获取协议数据单元,再根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型,根据接收端所采用的协议类型,封装数据包中的待发送信息之后,向接收端发送封装后的待发送信息。相对于现有技术中,由于协议之间不兼容,导致基于不同协议的发送端和接收端之间无法相互通信,本申请提供的协议转换方法,能够对发送端的数据包进行解析,按照接收端所采用的协议类型,封装数据包中的待发送信息,保证接收端能够正确接收,即使接收端和发送端采用不同的协议,也能够使发送端和接收端之间具备相互通信的功能,无需针对不同的协议开发相应的协议编程接口,降低编程复杂度。
附图说明
图1为本申请实施例提供的协议转换系统的架构示意图;
图2为本申请实施例提供的协议转换方法流程示意图一;
图3为本申请实施例提供的协议转换方法流程示意图二;
图4为本申请实施例提供的创建套接字方法流程示意图;
图5为本申请实施例提供的协议转换方法流程示意图三;
图6为本申请实施例提供的协议转换装置的结构示意图一;
图7为本申请实施例提供的协议转换装置的结构示意图二;
图8为本申请实施例提供的协议转换装置的结构示意图三。
具体实施方式
下面结合附图对本申请实施例提供的协议转换方法及装置进行详细地描述。
本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
本申请实施例提供的协议转换方法可以应用于图1所示的协议转换系统中。参照图1,图1为一种示例性的协议转换系统,该协议转换系统包括发送端、服务端和接收端。
参照图1,发送端能够向服务端发送数据包。在实际应用过程中,发送端所采用的协议类型可以有多种。
示例性的,当发送端采用的协议为SGIP协议时,发送端可以包括短信息网关(short message gateway,SMG)、短消息中心(short message service center,SMSC)和服务提供者(service provider,SP),此时,SP通过SMSC和SMG向服务端发送数据包。或者,发送端可以包括短信息网关(short message gateway,SMG)、短消息中心(short messageservice center,SMSC)和移动终端,此时,移动终端通过SMSC和SMG向服务端发送数据包。当发送端采用的协议为SMPP协议时,发送端可以为服务提供者(serviceprovider,SP),发送端还可以为移动终端。
参照图1,服务端能够基于服务端发送数据包,分别确定发送端所采用的协议类型和接收端所采用的协议类型,再根据接收端所采用的协议类型,封装数据包中的待发送信息,最后向接收端发送封装后的待发送信息,以使采用不同协议类型的发送端和接收端之间具备相互通信的功能。示例性的,服务端可以是协议转换平台。
参照图1,接收端接收封装后的待发送信息,在实际应用过程中,接收端所采用的协议类型可以有多种。
示例性的,当接收端采用的协议为SGIP协议时,接收端可以包括短信息网关(short message gateway,SMG)、短消息中心(short message service center,SMSC)和服务提供者(service provider,SP),此时,服务端通过SMG和SMSC向SP发送数据包。或者,接收端可以包括短信息网关(short message gateway,SMG)、短消息中心(short messageservice center,SMSC)和移动终端,此时,服务端通过SMG和SMSC向移动终端发送数据包。当接收端采用的协议为SMPP协议时,接收端可以为服务提供者(service provider,SP),接收端还可以为移动终端。
参照图1,对于采用不同协议类型的发送端和接收端,例如,发送端1所采用的协议可以为SGIP协议,接收端1所采用的协议可以为SMPP协议,又例如,发送端2所采用的协议可以为SMPP协议,接收端2所采用的协议可以为SGIP协议。此时,由于两种类型的协议互不兼容,发送端和接收端之间不具备相互通信的功能,需要由服务端将发送端的待发送信息进行协议转换,再向接收端发送转换后的信息,以使基于不同协议类型的发送端和接收端之间具备相互通信的功能。
本申请实施例提供一种协议转换方法,如图2所示,该方法可以包括S201至S205。
S201、发送端向服务端发送数据包。
相应的,服务端获取发送端的数据包。
其中,数据包包括待发送信息。
作为一种可能的实现方式,发送端基于预先建立的通信连接向服务端发送数据包。具体的,参照图3,发送端和服务端之间的通信连接的建立过程如下:
S2011、发送端向服务端发送超文本传输协议(hyper text transport protocol,HTTP)请求报文。
其中,HTTP请求报文用于请求在发送端和服务端之间建立通信连接。
需要说明的是,发送端和服务端之间建立的通信连接为双向的通信连接,通信连接的每一端称为一个套接字,此时,发送端和服务端需要分别建立对应的套接字。
S2012、发送端创建套接字。
示例性的,参照图4,发送端初始化客户端(client)标识,采用主动模式创建套接字,调用connect()函数,完成套接字的初始化处理,以便于后续进行信息传输。
S2013、服务端创建套接字。
示例性的,参照图4,服务端初始化服务端(server)标识,采用被动模式创建套接字,调用bind()、listen()和accept()函数,完成套接字的初始化处理,以便于等待接收数据包。
在发送端和服务端分别建立套接字之后,即可表示发送端与服务端之间的通信连接建立完成。
S2014、发送端基于建立的通信连接向服务端发送数据包。
相应的,服务端基于建立的通信连接接收数据包。
具体的,数据包以字节流的形式在发送端和服务端之间传输,发送端基于建立的通信连接向服务端发送字节流形式的数据包。服务端获取字节流形式的数据包。
这里,对于服务端而言,基于发送端发送的HTTP请求报文建立通信连接,再从通信连接中获取字节流形式的数据包,后续再对数据包进行处理,如此,就可以使基于不同协议的发送端均能够向服务端发送字节流形式的数据包,相应的,服务端就可以获取到基于不同协议的数据包,为转换多种类型的协议奠定了基础。
S202、服务端解析数据包,获取协议数据单元。
其中,数据包以字节流的形式存在。
协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息。
具体的,参照图3,对于字节流形式的数据包,服务端执行S2021。
S2021、服务端对字节流形式的数据包进行字节流解析,获取协议数据单元。
这里,由于字节流是最基本的处理单元,可用于任何类型的对象,按照字节流进行解析,以便于快速、准确获取协议数据单元。
S203、服务端根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型。
示例性的,协议数据单元包括指令标识(commandID)、指令序列号(sequencenumber)、源号码、源地址、目的号码、目的地址、待发送内容、发送时间等信息。其中,指令标识和指令序列号能够指示发送端的协议类型,源号码、源地址、目的号码、目的地址、待发送内容和发送时间均为待发送信息。
参见图3,S203可以具体实现为如下步骤:
S2031、服务端根据协议数据单元中指示发送端的协议类型的信息,确定发送端所采用的协议类型。
示例性的,服务端根据协议数据单元中的指令标识和指令序列号,确定发送端所采用的协议类型。
需要说明的是,对于不同协议类型的协议数据单元,协议数据单元的格式存在差异。而基于已经确定的协议类型,再对该协议类型对应的协议数据单元进行解析,有助于提高数据解析的精准度。因此,在S2031之后,执行S2032或S2034。
为了满足服务端不同业务应用场景的需求,对于一种类型的业务应用场景,即:在S2031之后,从协议数据单元中获取目的地址之前,服务端需要识别发送端是否具备协议转换权限,则服务端执行S2031之后,执行S2034。对于另一种类型的业务应用场景,即:在在S2031之后,从协议数据单元中获取目的地址之前,服务端无需识别发送端是否具备协议转换权限,则服务端执行S2031之后,执行S2032。
S2032、服务端根据发送端所采用的协议类型,解析协议数据单元,获取目的地址。
具体的,服务端按照发送端所采用的协议类型的格式,对协议数据单元进行解析,以获取目的地址。
S2033、服务端根据目的地址,以及预置的地址和协议类型之间的对应关系,确定接收端所采用的协议类型。
具体的,路由信息表中存储:地址和协议类型,以及地址与协议类型之间的对应关系。服务端读取路由信息表,在路由信息表中查找与目的地址相同的地址,即可根据路由信息表中所存储的地址与协议类型之间的对应关系,确定接收端所采用的协议类型。
S2034、服务端根据发送端所采用的协议类型,从协议数据单元中提取鉴权数据。
其中,鉴权数据用于指示发送端是否具备协议转换的权限。
示例性的,鉴权数据可以包括用户名和权限属性,以表征该用户名对应的发送端是否具备协议转换的权限。
若终端具备协议转换权限,则执行S2032,若终端不具备协议转换权限,则执行S208。另外,在终端不具备协议转换权限时,服务端还会放弃该发送端对应的数据包。
需要说明的是,在需要识别发送端是否具备协议转换权限的业务应用场景中,对于具备协议转换权限的发送端对应的协议数据单元,需要执行S2031至S2034,对于不具备协议转换权限的发送端对应的协议数据单元,需要执行S2031、S2034和S208。在无需识别发送端是否具备协议转换权限的业务应用场景中,对于发送端对应的协议数据单元,只需要执行S2031至S2033,如此,既能够快速识别出具备协议转换权限的终端,又满足业务应用场景的需求,提高协议转换效率。
S204、服务端根据接收端所采用的协议类型,封装待发送信息。
示例性的,当接收端所采用的协议类型为SMPP协议时,服务端按照SMPP协议类型格式,封装待发送信息。
S205、服务端向接收端发送封装后的待发送信息。
示例性的,当接收端所采用的协议类型为SMPP协议,接收端可以是移动终端,也可以是SP,此时,接收端的地址即为S2032中所获取的目的地址,服务端按照目的地址向接收端发送封装后的待发送信息,此种情形在图3中未示出。
当接收端所采用的协议为SGIP协议,服务端需要通过短消息网关向短消息中心发送封装后的待发送信息,再由短消息中心将封装后的待发送信息发送至移动终端或SP。此时,对于服务端而言,接收端即为短消息中心。而短消息中心设置对应的网络地址。服务端需要根据S2032中所获取的目的地址,查找到短消息中心的网络地址,再向该网络地址对应的短消息中心发送封装后的待发送信息。参照图3,具体实现过程可以为如下步骤:
在S2032之后,向接收端发送封装后的待发送信息之前,本申请实施例协议转换方法还包括:
S2035、服务端根据目的地址,以及预置的地址和网络地址之间的对应关系,确定接收端(短消息中心)所采用的网络地址,以便于使服务端根据网络地址,向接收端(短消息中心)发送封装后的待发送信息。
具体的,路由信息表中还存储:地址和网络地址,以及地址与网络地址之间的对应关系。服务端读取路由信息表,在路由信息表中查找与目的地址相同的地址,即可根据路由信息表中所存储的地址与网络地址之间的对应关系,确定接收端(短消息中心)所采用的网络地址。
其中,接收端的网络地址为接收端在网络中的逻辑地址。
需要说明的是,在服务器执行S2032之后、向接收端发送封装后的待发送信息之前的时间段内,服务器可以在任意时刻执行S2035。
在获取到接收端的网络地址后,服务器向接收端发送封装后的待发送信息时,即可执行S2051。
S2051、服务端向接收端(短消息中心)的网络地址发送封装后的待发送信息。
相应的,网络地址对应的接收端,也即短消息中心,接收封装后的待发送信息,再由短消息中心向目的号码对应的移动终端发送封装后的待发送信息,或者,由短消息中心向SP发送封装后的待发送信息。
为了便于服务端进行信息管理,参照图3,在S205之后,服务端还执行S206至S208。
S206、服务端存储发送记录。
其中,发送记录包括:某一接收端和服务端向该接收端发送的封装后的待发送信息。服务端每向一个接收端发送封装后的待发送信息,就会存储一条发送记录,以便于服务端后续进行信息统计、管理。
S207、服务端基于通信连接向发送端发送响应信息。
其中,响应信息,用于告知发送端:服务端已向接收端发送待发送信息。
S208、服务端断开与发送端之间的通信连接。
本申请实施例提供的协议转换方法,在服务端获取发送端的数据包之后,解析数据包,获取协议数据单元,再根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型,根据接收端所采用的协议类型,封装数据包中的待发送信息之后,向接收端发送封装后的待发送信息。相对于现有技术中,由于协议之间不兼容,导致基于不同协议的发送端和接收端之间无法相互通信,本申请实施例提供的协议转换方法,能够对发送端的数据包进行解析,按照接收端所采用的协议类型,封装数据包中的待发送信息,保证接收端能够正确接收,即使接收端和发送端采用不同的协议,也能够使发送端和接收端之间具备相互通信的功能,无需针对不同的协议开发相应的协议编程接口,降低编程复杂度。
对于服务端而言,以服务端采用面向对象编程语言为例,对本申请实施例提供的协议转换方法进行说明。参见图5,该方法可以包括如下步骤:
S501、轮询套接字。
如此,以便于循环读取字节流形式的数据包。在套接字获取到字节流形式的数据包后,执行S502。
S502、套接字向协议转换接口发送字节流形式的数据包。
S503、协议转换接口向协议解析类发送字节流形式的数据包。
S504、协议解析类从数据包中提取协议数据单元。
其中,协议数据单元包括指令标识(commandID)、指令序列号(sequencenumber)、PDU报文头信息、源地址、源号码、目的地址、目的号码、发送内容和发送时间等信息。协议数据单元还可以包括其他属性的信息。源地址、源号码、目的地址、目的号码、发送内容和发送时间等信息均为待发送信息。而协议类型不同,协议数据单元中指令标识和指令序列号会存在差异,以此即可将指令标识和指令序列号作为识别协议类型的依据。
S505、协议解析类根据协议数据单元中的指令标识和指令序列号,确定发送端所采用的协议类型。
S506、协议解析类根据发送端所采用的协议类型,解析协议数据单元,获取PDU解析结果。
示例性的,PDU解析结果可以包括:指令标识、指令序列号、PDU报文头信息、源地址、源号码、目的地址、目的号码、发送内容和发送时间等待发送信息。解析结果还可以包括其他属性的信息。
S507、协议解析类根据PDU解析结果中的目的地址,以及路由信息表中的地址和协议类型之间的对应关系,确定接收端所采用的协议类型,根据接收端所采用的协议类型,确定接收端协议类型对应的指令标识。
其中,服务端预选存储路由信息表,路由信息表中存储:地址和协议类型,以及地址与协议类型之间的对应关系。协议解析类在需要路由信息表中所存储的信息时,直接从本地端读取即可。
对于协议解析类而言,其能够对协议数据单元进行解析,分别确定发送端和接收端所采用的协议类型,进而获得发送端与接收端所采用的两种协议的共有属性,以及发送端与接收端所采用的两种协议的差异属性。其中,共有属性可以包括:源地址、源号码、目的地址、目的号码、发送内容和发送时间等。也即,通过S504至S507,协议解析类能够获取表1所示出的属性。
表1
S508、协议解析类向处理响应父类发送PDU解析结果、接收端所采用的协议类型、接收端协议类型对应的指令标识和路由信息表。
S509、处理响应父类根据接收端所采用的协议类型,将待发送信息创建为PDU父类对象。
S510、处理响应父类根据接收端协议类型对应的指令标识和PDU父类对象,创建PDU子类对象。
其中,PDU子类对象包括待发送信息和处理指令。
S511、处理响应父类向处理响应子类发送PDU子类对象和路由信息表。
S512、处理响应子类根据PDU子类对象中的处理指令,按照路由信息表处理PDU子类对象中的待发送信息。
示例性的,当PDU子类对象中的处理指令为发送指令时,处理响应子类按照路由信息表中的地址,发送PDU子类对象中的待发送信息,以向接收端发送待发送信息。
当PDU子类对象中的处理指令为延时指令时,处理响应子类按照路由信息表中的地址,延期发送PDU子类对象中的待发送信息,以在非实时发送待发送信息的应用场景中,延期向接收端发送待发送信息。
S513、处理响应子类向处理响应父类发送响应信息。
其中,响应信息,用于告知发送端:服务端已向接收端发送待发送信息。
S514、处理响应父类向协议解析类发送响应信息。
S515、协议解析类向协议转换接口发送响应信息。
S516、协议转换接口向套接字发送响应信息。
相应的,套接字获取到响应信息,由于套接字为通信连接的端口,也就可以表示:服务端通过通信连接向发送端发送响应信息。
本申请实施例可以根据上述方法示例对协议转换装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图6示出了上述实施例中所涉及的协议转换装置的一种可能的结构示意图。协议转换装置600包括:获取模块601、解析模块602、协议类型确定模块603、封装模块604和发送模块605。其中,
获取模块601,用于获取发送端的数据包,数据包包括待发送信息。
解析模块602,用于解析数据包,获取协议数据单元,协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息。
协议类型确定模块603,用于根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型。
封装模块604,用于根据接收端所采用的协议类型,封装待发送信息。
发送模块605,用于向接收端发送封装后的待发送信息。
可选的,解析模块602,具体用于:数据包为字节流形式的数据包时,对字节流形式的数据包进行字节流解析,获取协议数据单元。
可选的,协议类型确定模块603,具体用于:根据协议数据单元中指示发送端的协议类型的信息,确定发送端所采用的协议类型。
根据发送端所采用的协议类型,解析协议数据单元,获取目的地址。
根据目的地址,以及预置的地址和协议类型之间的对应关系,确定接收端所采用的协议类型。
可选的,本申请实施例协议转换装置还包括鉴权模块607,鉴权模块607用于在协议类型确定模块603确定发送端所采用的协议类型之后,根据发送端所采用的协议类型,解析协议数据单元,获取目的地址之前,根据发送端所采用的协议类型,从协议数据单元中提取鉴权数据,鉴权数据用于指示发送端是否具备协议转换的权限。
协议类型确定模块603,具体用于:对于具备协议转换权限的发送端,则协议类型确定模块603根据发送端所采用的协议类型,解析协议数据单元,获取目的地址。
可选的,本申请实施例协议转换装置还包括网络地址确定模块608,网络地址确定模块608用于在协议类型确定模块603获取目的地址之后,发送模块605向接收端发送封装后的待发送信息之前,根据目的地址,以及预置的地址和网络地址之间的对应关系,确定接收端所采用的网络地址。
发送模块605,具体用于:向接收端的网络地址发送封装后的待发送信息。
本申请实施例提供的协议转换装置,在服务端获取发送端的数据包之后,解析数据包,获取协议数据单元,再根据协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型,根据接收端所采用的协议类型,封装数据包中的待发送信息之后,向接收端发送封装后的待发送信息。相对于现有技术中,由于协议之间不兼容,导致基于不同协议的发送端和接收端之间无法相互通信,本申请实施例提供的协议转换装置,能够对发送端的数据包进行解析,按照接收端所采用的协议类型,封装数据包中的待发送信息,保证接收端能够正确接收,即使接收端和发送端采用不同的协议,也能够使发送端和接收端之间具备相互通信的功能,无需针对不同的协议开发相应的协议编程接口,降低编程复杂度。
图7示出了上述实施例中所涉及的协议转换装置的又一种可能的结构示意图。该协议转换装置700包括:处理器702和通信接口703。处理器702用于对协议转换装置的动作进行控制管理,例如,执行上述解析模块602、协议类型确定模块603、封装模块604执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口703用于支持协议转换装置与其他网络实体的通信,例如,执行上述获取模块601执行的步骤。协议转换装置还可以包括存储器701和总线704,存储器701用于存储协议转换装置的程序代码和数据。
其中,存储器701可以是协议转换装置中的存储器等,该存储器701可以包括易失性存储器,例如随机存取存储器;该存储器701也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器701还可以包括上述种类的存储器的组合。
上述处理器702可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器702可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器702也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线704可以是扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
如图8所示,本申请实施例提供协议转换装置的另一种可能的结构示意图。该协议转换装置800包括:处理单元801。处理单元801用于对协议转换装置的动作进行控制管理,例如,执行上述解析模块602、协议类型确定模块603、封装模块604执行的步骤,和/或用于执行本文所描述的技术的其它过程。协议转换装置还可以包括存储单元802和通信单元803,存储单元802用于存储协议转换装置的程序代码和数据;通信单元803用于支持协议转换装置与其他网络实体的通信,例如,执行上述获取模块601执行的步骤。
其中,上述处理单元801可以是协议转换装置中的处理器702或控制器。
存储单元802可以是协议转换装置中的存储器701等。
通信单元803可以是协议转换装置中的收发器、收发电路或通信接口703等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当协议转换装置执行该指令时,该协议转换装置执行上述各实施例中协议转换装置所执行的步骤。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本申请提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得协议转换装置执行该指令时,该协议转换装置执行上述各实施例中协议转换装置所执行的步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (13)
1.一种协议转换方法,其特征在于,应用于协议转换系统,所述协议转换系统包括发送端、接收端和服务端,所述方法包括:
服务端获取发送端的数据包,所述数据包包括待发送信息;
所述服务端解析所述数据包,获取协议数据单元,所述协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息;
所述服务端根据所述协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型;
所述服务端根据所述接收端所采用的协议类型,封装所述待发送信息;
所述服务端向所述接收端发送封装后的待发送信息。
2.根据权利要求1所述的协议转换方法,其特征在于,
所述数据包为字节流形式的数据包;
所述服务端解析所述数据包,获取协议数据单元,包括:
所述服务端对所述字节流形式的数据包进行字节流解析,获取协议数据单元。
3.根据权利要求1所述的协议转换方法,其特征在于,所述服务端根据所述协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型,包括:
所述服务端根据所述协议数据单元中指示发送端的协议类型的信息,确定发送端所采用的协议类型;
所述服务端根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址;
所述服务端根据所述目的地址,以及预置的地址和协议类型之间的对应关系,确定接收端所采用的协议类型。
4.根据权利要求3所述的协议转换方法,其特征在于,所述服务端确定发送端所采用的协议类型之后,根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址之前,所述方法还包括:
所述服务端根据所述发送端所采用的协议类型,从所述协议数据单元中提取鉴权数据,所述鉴权数据用于指示所述发送端是否具备协议转换的权限;
所述服务端根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址,包括:
对于具备协议转换权限的发送端,则所述服务端根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址。
5.根据权利要求3所述的协议转换方法,其特征在于,所述服务端获取目的地址之后,向所述接收端发送封装后的待发送信息之前,所述方法还包括:
所述服务器根据所述目的地址,以及预置的地址和网络地址之间的对应关系,确定所述接收端所采用的网络地址;
所述服务端向所述接收端发送封装后的待发送信息,包括:
所述服务端向所述接收端的网络地址发送封装后的待发送信息。
6.一种协议转换装置,其特征在于,应用于协议转换系统,所述协议转换系统还包括发送端和接收端,所述装置包括:
获取模块,用于获取发送端的数据包,所述数据包包括待发送信息;
解析模块,用于解析所述数据包,获取协议数据单元,所述协议数据单元包括指示发送端的协议类型的信息,以及能够确定接收端的协议类型的信息;
协议类型确定模块,用于根据所述协议数据单元,分别确定发送端所采用的协议类型和接收端所采用的协议类型;
封装模块,用于根据所述接收端所采用的协议类型,封装所述待发送信息;
发送模块,用于向所述接收端发送封装后的待发送信息。
7.根据权利要求6所述的协议转换装置,其特征在于,
所述数据包为字节流形式的数据包;
所述解析模块,具体用于:对所述字节流形式的数据包进行字节流解析,获取协议数据单元。
8.根据权利要求6所述的协议转换装置,其特征在于,
所述协议类型确定模块,具体用于:
根据所述协议数据单元中指示发送端的协议类型的信息,确定发送端所采用的协议类型;
根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址;
根据所述目的地址,以及预置的地址和协议类型之间的对应关系,确定接收端所采用的协议类型。
9.根据权利要求8所述的协议转换装置,其特征在于,所述装置还包括:鉴权模块,用于在所述协议类型确定模块确定发送端所采用的协议类型之后,根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址之前,根据所述发送端所采用的协议类型,从所述协议数据单元中提取鉴权数据,所述鉴权数据用于指示所述发送端是否具备协议转换的权限;
所述协议类型确定模块,具体用于:对于具备协议转换权限的发送端,则根据所述发送端所采用的协议类型,解析所述协议数据单元,获取目的地址。
10.根据权利要求8所述的协议转换装置,其特征在于,所述装置还包括:网络地址确定模块,用于在所述协议类型确定模块获取目的地址之后,所述发送模块向所述接收端发送封装后的待发送信息之前,根据所述目的地址,以及预置的地址和网络地址之间的对应关系,确定所述接收端所采用的网络地址;
所述发送模块,具体用于:所述发送模块向所述接收端的网络地址发送封装后的待发送信息。
11.一种协议转换装置,其特征在于,所述装置包括:处理器、通信接口和存储器;其中,存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当所述协议转换装置运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述协议转换装置执行权利要求1至5中任意之一所述的协议转换方法。
12.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当计算机执行所述指令时,所述计算机执行上述权利要求1至5中任意之一所述的协议转换方法。
13.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,所述计算机执行上述权利要求1至5中任意之一所述的协议转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910133137.7A CN109688164A (zh) | 2019-02-22 | 2019-02-22 | 协议转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910133137.7A CN109688164A (zh) | 2019-02-22 | 2019-02-22 | 协议转换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109688164A true CN109688164A (zh) | 2019-04-26 |
Family
ID=66195995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910133137.7A Pending CN109688164A (zh) | 2019-02-22 | 2019-02-22 | 协议转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109688164A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110190985A (zh) * | 2019-04-30 | 2019-08-30 | 华为技术有限公司 | 管理设备对远端存储设备进行管理的方法 |
CN110290187A (zh) * | 2019-06-12 | 2019-09-27 | 浙江大华技术股份有限公司 | 数据信息的传输方法及装置、存储介质、电子装置 |
CN110933114A (zh) * | 2019-12-30 | 2020-03-27 | 京信通信系统(中国)有限公司 | 配置参数管理方法、装置、存储介质及控制终端 |
CN111200653A (zh) * | 2019-12-31 | 2020-05-26 | 深圳市科漫达智能管理科技有限公司 | 多平台通讯方法、多平台通讯装置及中间服务器 |
CN111988373A (zh) * | 2020-07-31 | 2020-11-24 | 广州市百果园信息技术有限公司 | 数据的处理方法及装置 |
CN113014527A (zh) * | 2019-12-19 | 2021-06-22 | 南京品尼科自动化有限公司 | 一种通信管理机上的协议转换装置及其协议转换方法 |
CN114285911A (zh) * | 2021-12-30 | 2022-04-05 | 中国电信股份有限公司 | 基于物联网的数据转换方法、装置、电子设备和可读介质 |
CN114451862A (zh) * | 2020-11-09 | 2022-05-10 | 中国联合网络通信集团有限公司 | 一种通信方法和装置 |
CN115314567A (zh) * | 2022-08-04 | 2022-11-08 | 北京国信互通科技有限公司 | 一种适用于受限空间作业的融合通信管理系统及方法 |
CN115866091A (zh) * | 2023-01-29 | 2023-03-28 | 北京飞利信信息安全技术有限公司 | 一种信号处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501672A (zh) * | 2002-11-15 | 2004-06-02 | 深圳市中兴通讯股份有限公司 | 在固定网短消息平台上接入多种短消息协议的方法 |
CN1633191A (zh) * | 2004-12-27 | 2005-06-29 | 中国联合通信有限公司 | 短消息增值业务联网系统及联网方法 |
CN101193072A (zh) * | 2007-03-29 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 一种多平台聊天室系统及其实现方法 |
US8175236B2 (en) * | 2007-11-16 | 2012-05-08 | At&T Mobility Ii Llc | IMS and SMS interworking |
CN105208535A (zh) * | 2014-06-19 | 2015-12-30 | 中兴通讯股份有限公司 | 短信息互通的方法及装置 |
CN107086951A (zh) * | 2017-04-05 | 2017-08-22 | 中国联合网络通信集团有限公司 | 行业短信的传输方法、短信网关及行业短信接入网关 |
CN107836098A (zh) * | 2015-05-19 | 2018-03-23 | 瑞典爱立信有限公司 | 用于报告通信网络中消息处置的方法和系统 |
-
2019
- 2019-02-22 CN CN201910133137.7A patent/CN109688164A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501672A (zh) * | 2002-11-15 | 2004-06-02 | 深圳市中兴通讯股份有限公司 | 在固定网短消息平台上接入多种短消息协议的方法 |
CN1633191A (zh) * | 2004-12-27 | 2005-06-29 | 中国联合通信有限公司 | 短消息增值业务联网系统及联网方法 |
CN101193072A (zh) * | 2007-03-29 | 2008-06-04 | 腾讯科技(深圳)有限公司 | 一种多平台聊天室系统及其实现方法 |
US8175236B2 (en) * | 2007-11-16 | 2012-05-08 | At&T Mobility Ii Llc | IMS and SMS interworking |
CN105208535A (zh) * | 2014-06-19 | 2015-12-30 | 中兴通讯股份有限公司 | 短信息互通的方法及装置 |
CN107836098A (zh) * | 2015-05-19 | 2018-03-23 | 瑞典爱立信有限公司 | 用于报告通信网络中消息处置的方法和系统 |
CN107086951A (zh) * | 2017-04-05 | 2017-08-22 | 中国联合网络通信集团有限公司 | 行业短信的传输方法、短信网关及行业短信接入网关 |
Non-Patent Citations (1)
Title |
---|
贾欢欢: "通用短信平台中协议转换功能的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110190985A (zh) * | 2019-04-30 | 2019-08-30 | 华为技术有限公司 | 管理设备对远端存储设备进行管理的方法 |
WO2020221033A1 (zh) * | 2019-04-30 | 2020-11-05 | 华为技术有限公司 | 管理设备对远端存储设备进行管理的方法 |
EP3955524A4 (en) * | 2019-04-30 | 2022-05-18 | Huawei Technologies Co., Ltd. | METHOD FOR MANAGING A REMOTE STORAGE DEVICE BY MEANS OF A MANAGEMENT DEVICE |
CN110290187A (zh) * | 2019-06-12 | 2019-09-27 | 浙江大华技术股份有限公司 | 数据信息的传输方法及装置、存储介质、电子装置 |
CN113014527A (zh) * | 2019-12-19 | 2021-06-22 | 南京品尼科自动化有限公司 | 一种通信管理机上的协议转换装置及其协议转换方法 |
CN110933114B (zh) * | 2019-12-30 | 2022-04-26 | 京信网络系统股份有限公司 | 配置参数管理方法、装置、存储介质及控制终端 |
CN110933114A (zh) * | 2019-12-30 | 2020-03-27 | 京信通信系统(中国)有限公司 | 配置参数管理方法、装置、存储介质及控制终端 |
CN111200653A (zh) * | 2019-12-31 | 2020-05-26 | 深圳市科漫达智能管理科技有限公司 | 多平台通讯方法、多平台通讯装置及中间服务器 |
CN111988373A (zh) * | 2020-07-31 | 2020-11-24 | 广州市百果园信息技术有限公司 | 数据的处理方法及装置 |
CN111988373B (zh) * | 2020-07-31 | 2024-03-19 | 广州市百果园信息技术有限公司 | 数据的处理方法及装置 |
CN114451862A (zh) * | 2020-11-09 | 2022-05-10 | 中国联合网络通信集团有限公司 | 一种通信方法和装置 |
CN114285911A (zh) * | 2021-12-30 | 2022-04-05 | 中国电信股份有限公司 | 基于物联网的数据转换方法、装置、电子设备和可读介质 |
CN115314567A (zh) * | 2022-08-04 | 2022-11-08 | 北京国信互通科技有限公司 | 一种适用于受限空间作业的融合通信管理系统及方法 |
CN115866091A (zh) * | 2023-01-29 | 2023-03-28 | 北京飞利信信息安全技术有限公司 | 一种信号处理方法、装置、电子设备及存储介质 |
CN115866091B (zh) * | 2023-01-29 | 2023-05-16 | 北京飞利信信息安全技术有限公司 | 一种信号处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688164A (zh) | 协议转换方法及装置 | |
CN110022289B (zh) | 数据传输方法、装置及系统 | |
CN107612909B (zh) | 关于物联网设备的信息交互方法、装置及设备 | |
CN108040040A (zh) | 一种应用协议报文的自动化解析方法和装置 | |
CN111294235B (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN102904959B (zh) | 网络加速方法和网关 | |
CN110769009B (zh) | 用户身份认证方法及系统 | |
CN109379742A (zh) | 一种无线局域网的接入方法、装置和存储介质 | |
CN108769017A (zh) | 一种数据通信方法及装置 | |
CN108833255A (zh) | 基于区块链的通信方法、系统及区块链节点设备 | |
CN108429739A (zh) | 一种识别蜜罐的方法、系统及终端设备 | |
CN107368334B (zh) | 一种业务插件交互系统及方法 | |
CN105099769A (zh) | 业务平台的异常操作处理方法、设备和系统 | |
CN110247926B (zh) | 一种交互方法和系统 | |
CN103207877A (zh) | 解码方法及装置 | |
CN113890891A (zh) | 一种能源云网的数据共享交互方法和装置 | |
CN113163028B (zh) | 一种业务数据传输方法、装置及系统 | |
CN112073512B (zh) | 数据处理方法及设备 | |
CN103997437A (zh) | 一种测试云服务器注册功能的方法 | |
CN113595966B (zh) | 串口通信控制、配置、测试方法、装置、电子设备和存储介质 | |
CN109089299A (zh) | 一种基于SmartConfig模式让设备注册到云端的配网方法 | |
CN117041370A (zh) | 一种通信方法及系统 | |
CN109525550B (zh) | 一种数据报文的处理方法、装置以及系统 | |
CN114338527B (zh) | IPv6主动标识符处理方法及系统 | |
CN109005250B (zh) | 用于访问服务端的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |