CN113691484A - 用于协议适配的装置和方法 - Google Patents

用于协议适配的装置和方法 Download PDF

Info

Publication number
CN113691484A
CN113691484A CN202010423751.XA CN202010423751A CN113691484A CN 113691484 A CN113691484 A CN 113691484A CN 202010423751 A CN202010423751 A CN 202010423751A CN 113691484 A CN113691484 A CN 113691484A
Authority
CN
China
Prior art keywords
protocol
codec
message format
client
server
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
Application number
CN202010423751.XA
Other languages
English (en)
Inventor
詹德荣
余凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010423751.XA priority Critical patent/CN113691484A/zh
Publication of CN113691484A publication Critical patent/CN113691484A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种用于协议适配的装置和方法,该装置包括:获取模块,用于获取第一协议的第一协议消息格式和协议通信参数;编解码器创建模块,用于根据获取模块获取的第一协议消息格式,生成适用于第一协议的第一编解码器;适配器创建模块,用于根据获取模块获取的第一协议消息格式、协议通信参数和编解码器创建模块生成的第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。本申请的装置无需编写大量的协议接入、接出和解析代码,能够提高私有代码开发效率,降低管理维护负担。

Description

用于协议适配的装置和方法
技术领域
本申请涉及应用程序编程领域,更具体地,涉及一种用于协议适配的装置和方法。
背景技术
当前基于互联网云化的应用正变得越来越普及。在该过程中,越来越多的站点将自身的资源集成起来,通过统一的应用程序编程接口(application programminginterface,API)网关开放给开发者调用。API网关统一接入/接出消息,并对消息进行编码和解码,以完成一些常见的功能,例如参数校验、数据映射、协议转换等。
API网关对业界通用的协议规范,例如http+formdata、http+json、http+xml、soap、websocket等都能较好地支持,因为几乎所有的协议框架都支持上述协议。但是,还存在很多特定行业的私有协议,例如(short message peer to peer,SMPP)协议、中国移动点对点(China mobile peer to peer,CMPP)协议、移动电话标志语言(mobile markuplanguage,MML)等。现有的协议框架均不能直接支持这些私有协议。
如想完成上述私有协议的接入、接出和解析等处理,需要由开发者根据协议规范开发独立的协议适配器或者高度定制现有的API网关。无论哪种方式都需要开发人员根据协议规范,通过硬编码的方式开发私有协议的接入、接出和解析的代码。硬编码的方式需要开发人员精通代码开发和协议规范细节,耗时耗力,开发效率低下。此外,因为私有协议没有完全统一的规范标准且往往扩展性不足,所以私有协议还存在版本多的情况,导致同一私有协议需要开发很多个版本,代码重复开发效率低,代码的管理和维护负担大。
发明内容
本申请提供一种用于协议适配的装置和方法,无需编写大量的协议接入、接出和解析代码,能够提高私有代码的开发效率,降低管理和维护负担。
第一方面,提供了一种用于协议适配的装置,包括:获取模块,用于获取第一协议的第一协议消息格式和协议通信参数;编解码器创建模块,用于根据获取模块获取的第一协议消息格式,生成适用于第一协议的第一编解码器;适配器创建模块,用于根据获取模块获取的第一协议消息格式、协议通信参数和编解码器创建模块生成的第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。
应理解,第一协议可以为私有协议,例如,为SMPP协议、CMPP协议或MML协议等。第一协议也可以为通用协议,例如http的formdata、json、rest或xml协议,或者soap、websocket等。
应理解,第一协议消息格式和协议通信参数可以由开发人员通过输入接口输入用于协议适配的装置;第一协议消息格式和协议通信参数可以由上游和/或下游的系统生成并发送给用于协议适配的装置。
结合第一方面,在第一方面一种可能的实现方式中,第一编解码器中的解码器用于将第一协议的二进制字节流解码成参数键值对;第一编解码器中的编码器用于将参数键值对编码成第一协议的二进制字节流。本可能的实现方式中,第一编解码器用于第一协议的消息接入后的解码,以及第一协议的消息接出前的编码。
结合第一方面,在第一方面一种可能的实现方式中,第一协议消息格式可以由可扩展标记语言(extensible markup language,XML)文件定义;协议通信参数可以由属性(Properties)文件定义。本可能的实现方式中,XML文件和Properties文件可以有相应的模板,第一协议消息格式和协议通信参数的内容应是相互对应的。通过XML文件和Properties文件定义第一协议消息格式和协议通信参数,无需程序员编写大量的协议接入、接出和解析代码。
结合第一方面,在第一方面一种可能的实现方式中,多个处理器中的一个处理器用于执行安全套接字层SSL认证加密、心跳管理、认证管理、数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志。本可能的实现方式中,与第一协议相关的部分处理器,例如用于SSL认证加密、心跳管理、认证管理的处理器,需要根据第一协议消息格式和协议通信参数共同生成。与第一协议相关的部分处理器可以与第一编解码器绑定(配置)到协议适配器的服务器中。另一部分处理器继承协议框架的公共能力,例如用于数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志等。该部分处理器根据其功能,可以直接配置在协议适配器中,也可以配置到协议适配器的服务器中,还可以配置到协议适配器的客户机中。
结合第一方面,在第一方面一种可能的实现方式中,获取模块还用于获取第二协议的第二协议消息格式;编解码器创建模块还用于根据获取模块获取的第二协议消息格式,生成适用于第二协议的第二编解码器;适配器创建模块还用于根据第二协议消息格式、协议通信参数和第二编解码器,创建客户机,第二编解码器配置在客户机中。
第二方面,提供了一种用于协议适配的方法,包括:获取第一协议的第一协议消息格式和协议通信参数;根据第一协议消息格式,生成适用于第一协议的第一编解码器;根据第一协议消息格式、协议通信参数和第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。
结合第二方面,在第二方面一种可能的实现方式中,获取第一协议的第一协议消息格式和协议通信参数,包括:获取可扩展标记语言XML文件,以获取由XML文件定义的第一协议消息格式;获取属性Properties文件定义,以获取由Properties文件定义的协议通信参数由。
结合第二方面,在第二方面一种可能的实现方式中,方法还包括:获取第二协议的第二协议消息格式;根据第二协议消息格式,生成适用于第二协议的第二编解码器;创建适配器中的客户机,包括:根据第二协议消息格式、协议通信参数和第二编解码器,创建客户机,第二编解码器配置在客户机中。
第三方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的指令。
第四方面,提供了一种计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的指令。
第五方面,提供了一种芯片,其中存储有指令,当其在计算机上运行时,使得该计算机执行第二方面或第二方面的任意一种可能的实现方式中的方法。
附图说明
图1是本申请一个实施例的用于协议适配的装置的示意性框图。
图2是基于用于协议适配的装置生成协议适配器的示意图。
图3是本申请一个实施例的协议适配器中处理器分布的示意图。
图4是本申请的一个实施例的协议适配器的工作流程的示意图。
图5是本申请的一个实施例的协议适配器的运行过程的具体的例子的示意性流程图。
图6是本申请的一个实施例的用于协议适配的装置的示意性流程图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
首先简要说明本申请中涉及的一些基本概念。
API网关:一个完全托管服务,使开发人员能够轻松地创建、发布、维护和保护任何规模的API。
数据映射:将数据源中的字段与数据仓库或其他存储库中的目标字段进行匹配的机制。
参数校验:根据元数据定义文件验证输入参数的合法性。例如,使用swagger描述文件校验json数据的合法性,使用xsd描述文件校验xml数据的合法性。
协议转换:将一种协议通过API网关后转换成另一种协议的过程。
路由:API网关将代理服务路由到目标服务的过程。
为了解决使用硬编码的方式完成私有协议接入、接出和解析导致的代码开发效率低、管理和维护负担大的问题,本申请提供了一种用于协议适配的装置和方法。
下面结合附图首先对本申请的用于协议适配的装置进行详细说明。
图1是本申请一个实施例的用于协议适配的装置100的示意性框图。图2是基于用于协议适配的装置100生成协议适配器的示意图。如图1和图2所示,用于协议适配的装置100可以包括获取模块110、编解码器创建模块120和适配器创建模块130。其中,获取模块110用于获取第一协议的第一协议消息格式和协议通信参数;编解码器创建模块120用于根据获取模块110获取的第一协议消息格式,生成适用于第一协议的第一编解码器;适配器创建模块130用于根据获取模块110获取的第一协议消息格式、协议通信参数和编解码器创建模块120生成的第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。
可选地,第一协议可以为私有协议。例如,为SMPP协议、CMPP协议或MML协议等。第一协议也可以为通用协议,例如http的formdata、json、rest或xml协议,或者soap、websocket等,本申请对此不做限定。
本申请实施例提供的用于协议适配的装置,通过获取第一协议消息格式和协议通信参数,无需编写大量的协议接入、接出和解析代码,能够生成用于进行协议适配的协议适配器,来实现私有协议的接入、接出和解析,能够提高私有代码的开发效率,降低管理和维护负担。
应理解,第一协议消息格式和协议通信参数通常需要开发人员提供。
例如,第一协议消息格式和协议通信参数可以由开发人员通过输入接口输入用于协议适配的装置100。该输入接口可以认为是获取模块110的具体实现的一部分。在一个具体的例子中,用于协议适配的装置100可以提供一个输入界面(该输入界面可认为是输入接口,例如可以为网页),开发人员通过在网页中填写相关的内容,将第一协议消息格式和协议通信参数输入用于协议适配的装置100。在另一个具体的例子中,开发人员可以根据第一协议的格式和内容编写配置文件,在配置文件中定义第一协议消息格式和协议通信参数,该配置文件可以是一个文件也可以是多个文件。开发人员通过输入接口将上述配置文件上传到用于协议适配的装置100,使得用于协议适配的装置100获取第一协议消息格式和协议通信参数。
又如,第一协议消息格式和协议通信参数可以由上游和/或下游的系统生成并发送给用于协议适配的装置100。例如,上游的系统生成一个配置文件定义第一协议消息格式;下游的系统生成另一配置文件定义协议通信参数。两个配置文件通过输入接口发送给用于协议适配的装置100。
可选地,第一协议消息格式可以由可扩展标记语言(extensible markuplanguage,XML)文件定义;协议通信参数可以由属性(Properties)文件定义。换而言之,配置文件可以为XML文件和Properties文件,本申请对此不做限定。XML文件和Properties文件可以有相应的模板。
还应理解,第一协议消息格式和协议通信参数的内容应是相互对应的。例如,协议通信参数中定义了心跳相关的内容,则第一协议消息格式也应该定义有心跳相关的字段。又如,协议通信参数中定义了登录认证相关的内容,则第一协议消息格式也应该定义有登录认证相关的字段。
表1是使用Properties文件来描述协议通信参数的一个示例,其中协议通信参数项具体如下。
表1 Properties文件中的协议通信参数项
Figure BDA0002497910750000041
对应表1,SMPP协议可以使用如下的Properties文件描述协议通信参数。
SMPP.properties
#监听ip
smpp.server.ip=100.100.155.158
#监听port
smpp.server.port=17191
#最大帧长度
smpp.server.maxFrameLength=2097152
#链路最大个数
smpp.server.maxChannelsize=2000
#链路保活时间
smpp.server.channel.keepAlive=30000
#是否开启SSL认证加密
smpp.server.useSsl=true
#用户名
smpp.server.username=35000001
#密码
smpp.server.password=yrWIWYWavlMj2w7m/nsp8tu7//hxdm7x3WzGaCIFXQ3=
该Properties文件表示SMPP协议监听在17191端口,最大帧长度是2M,最多支持2000个并发链路,链路读写保活(超时)时间为30秒,传输控制协议(transmission controlprotocol,TCP)层使用了安全套接字,并且使用了用户名密码做登录认证。
表2是使用XML文件来描述协议消息格式的一个示例,其中协议消息格式项具体如下。
表2 XML文件中的协议消息格式项
Figure BDA0002497910750000051
其中参数属性中type属性取值包括int8、int16、int32、cstring(定长字符串)或varstring(可变长度字符串)等。
对应表2,SMPP协议可以使用如下的XML文件描述协议消息格式。
Figure BDA0002497910750000052
Figure BDA0002497910750000061
该XML文件表示SMPP协议的命令字0x00000002存在9个必选参数和1个可选参数。这些参数分别在表3中示出。
表3 XML文件中SMPP协议的命令字0x00000002的参数
Figure BDA0002497910750000062
Figure BDA0002497910750000071
例如,一个可能的SMPP请求如下。
02 00 00 00 01 00 00 00 01 00 … 00 39 38 … 31 31 30 … 30 34……
02 00 00 00对应command_status为02;01 00 00 00对应sequence_number为01;01 00 … 00对应system_id为01;39 38 … 31对应password例如为123456789;31 30 … 30对应system_type例如为01;34对应protocol_version为34。
本申请各实施例中,编解码器创建模块120根据获取模块110获取的第一协议消息格式,生成适用于第一协议的第一编解码器。第一编解码器用于第一协议的消息接入后的解码,以及第一协议的消息接出前的编码。在一个具体的例子中,编解码器创建模块120根据XML文件中定义的第一协议消息格式的参数字典,创建出第一协议的编码器(encoder)和解码器(decoder),编码器和解码器的组合为第一编解码器。第一编解码器中的解码器用于将第一协议的二进制字节流解码成参数键值对;第一编解码器中的编码器用于将参数键值对编码成第一协议的二进制字节流。
本申请各实施例中,适配器创建模块130根据获取模块110获取的第一协议消息格式和协议通信参数创建多个处理器。消息的接入/接出(请求的接入或响应的接出)会依次经过已经生效的处理器进行处理。服务器、客户机和多个处理器组成协议适配器(adaptor)。
与第一协议相关的部分处理器,例如用于SSL认证加密、心跳管理、认证管理的处理器,需要根据第一协议消息格式和协议通信参数共同生成。与第一协议相关的部分处理器可以与第一编解码器绑定(配置)到协议适配器的服务器中。
另一部分处理器继承协议框架的公共能力,例如用于数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志等。该部分处理器根据其功能,可以直接配置在协议适配器中,也可以配置到协议适配器的服务器中,还可以配置到协议适配器的客户机中。例如,服务熔断降级、服务负载均衡、连接池管理直接配置在协议适配器中,流量统计、流量控制、链路管理等配置到协议适配器的服务器中。图3是本申请一个实施例的协议适配器中处理器分布的示意图。
其中,执行SSL认证加密的处理器自动开启SSL的端口进行SSL认证加密。执行心跳管理的处理器根据消息(请求)定义识别心跳包,确认心跳包,按照指定周期发送心跳包。执行认证管理的处理器根据消息(请求)定义识别登录请求,校验并确认登录,链路建立成功后自动发送登录等。执行流量统计的处理器使得服务器自动监听端口计算流量,生成统计报告。执行流量控制的处理器自动根据节点负载情况对监听端口进行限流,保证负载处于安全水平。执行链路管理的处理器自动统计链路数量,限制句柄数,自动关闭读写超时的链路。
在本申请的实施例中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。图4是本申请的一个实施例的协议适配器的工作流程的示意图。协议适配器中包括服务器和客户机,以及配置在服务器或客户机或直接配置在协议适配器中的多个处理器。
对于请求过程,服务器在协议通信参数中指定的监听IP和监听端口上进行监听。第三方网元向服务器监听的监听端口发送第一协议的请求。服务器接收该请求并经服务器的解码器解码后由处理器进行处理(例如数据映射、参数校验、流量统计、心跳管理等)得到处理结果。客户机将处理结果经客户机的编码器编码后发送给后台服务器。
对于响应过程,客户机将后台服务器的响应接入并经客户机的解码器解码。协议适配器的处理器根据解码后的结果完成数据映射、协议转换等处理得到处理结果。服务器将处理结果经服务器的编码器编码后生成第一协议的对应的结果发送给第三方网元。
应理解,在本实施例中,根据第一协议消息格生成的第一编解码器配置在服务器中。客户机中配置的编解码器可以对应于私有协议也可以对应于通用协议,本申请对此不做限定。
在本申请的一些实施例中,获取模块110还用于获取第二协议的第二协议消息格式;编解码器创建模块120还用于根据获取模块110获取的第二协议消息格式,生成适用于第二协议的第二编解码器;适配器创建模块130还用于根据第二协议消息格式、协议通信参数和第二编解码器,创建客户机,第二编解码器配置在客户机中。第二协议可以是私有协议也可以是通用协议。第二协议消息格式可以由XML文件定义,也可以由其他配置文件定义。
在本申请的另一些实施例中,当第二协议是通用协议时,可以使用该通用协议现有的编解码器作为第二编解码器配置在客户机中。
本申请还提供了一个实施例,第一协议是通用协议,第二协议是私有协议,对应的协议适配器客户机对应接入私有协议的消息,解析后从服务器接出,此处不再赘述。
应理解,本申请的一些实施例,第一编解码器还可以配置在客户机中,从而可以适用于后台服务器使用第一协议做出响应的场景。
即本申请提供一种用于协议适配的装置,包括:获取模块,用于获取第一协议的第一协议消息格式和协议通信参数;编解码器创建模块,用于根据获取模块获取的第一协议消息格式,生成适用于第一协议的第一编解码器;适配器创建模块,用于根据获取模块获取的第一协议消息格式、协议通信参数和编解码器创建模块生成的第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器和客户机中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到第一处理结果,客户机用于发送第一处理结果;客户机用于接收第一协议的响应,处理器用于根据第一协议的响应进行处理得到第二处理结果,客户机用于发送第二处理结果。
下面结合图5的具体的例子对本申请的协议适配器的运行过程进行说明。
一个具体的例子由私有协议xxx协议(例如可以为SMPP协议、CMPP协议或MML协议)转换为通用协议rest协议。
第三方网元发送私有协议xxx协议请求至协议适配器的该xxx协议服务器的监听端口。xxx协议请求字节流:7a 68 61 6e 67 73 61 6e 00 37 36 35 34 33 32 31 30 32。协议适配器完成SSL认证以及业务层登录认证后建立会话,同时更新统计信息,包括更新链路句柄、端口流量,以及计算是否需要流控,然后接入当前请求消息,同时启动心跳管理模块。xxx协议服务器接收请求字节流,通过解码器将请求字节流解码成键值对{“name”:“zhangsan”,“id”:“1234567”,“age”:“20”}。解码后的键值对经过多个处理器(图5中未示出)处理,可能的处理器包括:流量控制、参数校验、数据映射等,最终路由(可以通过协议适配器的路由模块)到指定的rest协议客户机。rest协议客户机将键值对编码成rest协议请求报文后发送给后台服务器。rest协议请求报文为{“person”:{“name”:“zhangsan”,“id”:“1234567”,“age”:“20”}}。协议适配器根据后台服务器的响应结果更新相关统计信息,包括:流量统计、服务熔断降级,并生成接口日志等(由处理器实现,图5中未示出)。
另一个具体的例子由通用协议rest协议转换为私有协议xxx协议(例如可以为SMPP协议、CMPP协议或MML协议)。
第三方网元发送通用协议rest协议请求至协议适配器的该rest协议服务器的监听端口。rest协议请求报文为{“person”:{“name”:“zhangsan”,“id”:“1234567”,“age”:“20”}}。rest协议服务器接收请求报文,通过解码器将请求报文解码成键值对{“name”:“zhangsan”,“id”:“1234567”,“age”:“20”}。解码后的键值对经过多个处理器处理(图5中未示出),可能的处理器包括:流量控制、参数校验、数据映射等,最终路由(可以通过协议适配器的路由模块)到指定的xxx协议客户机。协议适配器创建xxx协议连接池以提升性能,并根据配置的协议通信参数完成链路的初始化连接操作,包括SSL认证加密、业务层登录认证,同时启动心跳管理,服务负载均衡处理等。xxx协议客户机将键值对编码成xxx协议的请求字节流后发送给后台服务器,xxx协议的请求字节流为7a 68 61 6e 67 73 61 6e 00 3736 35 34 33 32 31 30 32。协议适配器根据后台服务器的响应结果更新相关统计信息,包括:流量统计、服务熔断降级,并生成接口日志等(由处理器实现,图5中未示出)。
本申请实施例的协议适配器进行私有协议的接入、接出以及解析,可以屏蔽私有协议的底层协议细节,能够简化处理器的处理。通过不同协议类型之间相互路由,可以实现所有协议的互相转换。
本申请还提供了一种用于协议适配的方法。图6是本申请一个实施例的用于协议适配的方法600的示意性流程图。如图6所示,方法600包括:S610,获取第一协议的第一协议消息格式和协议通信参数;S620,根据第一协议消息格式,生成适用于第一协议的第一编解码器;S630,根据第一协议消息格式、协议通信参数和第一编解码器,创建协议适配器,协议适配器包括服务器、客户机和多个处理器,第一编解码器配置在服务器中,服务器用于接收第一协议的请求,处理器用于根据第一协议的请求进行处理得到处理结果,客户机用于发送处理结果。
在本申请的一些实施例中,第一编解码器中的解码器用于将第一协议的二进制字节流解码成参数键值对;第一编解码器中的编码器用于将参数键值对编码成第一协议的二进制字节流。
在本申请的一些实施例中,多个处理器中的一个处理器用于执行安全套接字层SSL认证加密、心跳管理、认证管理、数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志。
在本申请的一些实施例中,获取第一协议的第一协议消息格式和协议通信参数,包括:获取可扩展标记语言XML文件,以获取由XML文件定义的第一协议消息格式;获取属性Properties文件定义,以获取由Properties文件定义的协议通信参数由。
在本申请的一些实施例中,方法600还可以包括:获取第二协议的第二协议消息格式;根据第二协议消息格式,生成适用于第二协议的第二编解码器;创建适配器中的客户机,包括:根据第二协议消息格式、协议通信参数和第二编解码器,创建客户机,第二编解码器配置在客户机中。
在本申请的一些实施例中,第一协议为SMPP协议、CMPP协议或MML协议。
本申请还提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行本申请实施例的方法的指令。
本申请还提供了一种计算机程序,该计算机程序包括用于执行本申请实施例的方法的指令。
本申请还提供了一种芯片,其中存储有指令,当其在计算机上运行时,使得该计算机执行本申请实施例的方法。
本申请实施例的用于协议适配的装置可以是一个或多个芯片。例如,该装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system onchip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的各模块、以及编解码器和处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过各模块、以及编解码器和处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的各模块、以及编解码器和处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理模块读取存储模块中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储模块可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法的各步骤的执行,可以基于前述产品实施例中的对应模块、单元和器件来实现,在此不再赘述。
应理解,本文中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,在本申请实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种用于协议适配的装置,其特征在于,包括:
获取模块,用于获取第一协议的第一协议消息格式和协议通信参数;
编解码器创建模块,用于根据所述获取模块获取的所述第一协议消息格式,生成适用于所述第一协议的第一编解码器;
适配器创建模块,用于根据所述获取模块获取的所述第一协议消息格式、所述协议通信参数和所述编解码器创建模块生成的所述第一编解码器,创建协议适配器,所述协议适配器包括服务器、客户机和多个处理器,所述第一编解码器配置在所述服务器中,所述服务器用于接收所述第一协议的请求,所述处理器用于根据所述第一协议的请求进行处理得到处理结果,所述客户机用于发送所述处理结果。
2.根据权利要求1所述的装置,其特征在于,所述第一编解码器中的解码器用于将所述第一协议的二进制字节流解码成参数键值对;所述第一编解码器中的编码器用于将参数键值对编码成所述第一协议的二进制字节流。
3.根据权利要求1或2所述的装置,其特征在于,所述多个处理器中的一个处理器用于执行安全套接字层SSL认证加密、心跳管理、认证管理、数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志。
4.根据权利要求1至3中任一项所述的装置,其特征在于,所述第一协议消息格式由可扩展标记语言XML文件定义;所述协议通信参数由属性Properties文件定义。
5.根据权利要求1至4中任一项所述的装置,其特征在于,
所述获取模块还用于获取第二协议的第二协议消息格式;
所述编解码器创建模块还用于根据所述获取模块获取的所述第二协议消息格式,生成适用于所述第二协议的第二编解码器;
所述适配器创建模块还用于根据所述第二协议消息格式、所述协议通信参数和所述第二编解码器,创建所述客户机,所述第二编解码器配置在所述客户机中。
6.根据权利要求1至5中任一项所述的装置,其特征在于,所述第一协议为短消息点对点SMPP协议、中国移动点对点CMPP协议或移动电话标志语言MML协议。
7.一种用于协议适配的方法,其特征在于,包括:
获取第一协议的第一协议消息格式和协议通信参数;
根据所述第一协议消息格式,生成适用于所述第一协议的第一编解码器;
根据所述第一协议消息格式、所述协议通信参数和所述第一编解码器,创建协议适配器,所述协议适配器包括服务器、客户机和多个处理器,所述第一编解码器配置在所述服务器中,所述服务器用于接收所述第一协议的请求,所述处理器用于根据所述第一协议的请求进行处理得到处理结果,所述客户机用于发送所述处理结果。
8.根据权利要求7所述的方法,其特征在于,所述第一编解码器中的解码器用于将所述第一协议的二进制字节流解码成参数键值对;所述第一编解码器中的编码器用于将参数键值对编码成所述第一协议的二进制字节流。
9.根据权利要求7或8所述的方法,其特征在于,所述多个处理器中的一个处理器用于执行安全套接字层SSL认证加密、心跳管理、认证管理、数据映射、参数校验、流量统计、流量控制、链路管理、服务熔断降级、服务负载均衡、连接池管理或记录接口日志。
10.根据权利要求7至9中任一项所述的方法,其特征在于,所述获取第一协议的第一协议消息格式和协议通信参数,包括:
获取可扩展标记语言XML文件,以获取由所述XML文件定义的所述第一协议消息格式;
获取属性Properties文件定义,以获取由所述Properties文件定义的所述协议通信参数由。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述方法还包括:
获取第二协议的第二协议消息格式;
根据所述第二协议消息格式,生成适用于所述第二协议的第二编解码器;
创建所述适配器中的所述客户机,包括:根据所述第二协议消息格式、所述协议通信参数和所述第二编解码器,创建所述客户机,所述第二编解码器配置在所述客户机中。
12.根据权利要求7至11中任一项所述的方法,其特征在于,所述第一协议为短消息点对点SMPP协议、中国移动点对点CMPP协议或移动电话标志语言MML协议。
13.一种计算机可读介质,用于存储用于执行权利要求7至12中任一项所述的方法的指令。
CN202010423751.XA 2020-05-19 2020-05-19 用于协议适配的装置和方法 Pending CN113691484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010423751.XA CN113691484A (zh) 2020-05-19 2020-05-19 用于协议适配的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010423751.XA CN113691484A (zh) 2020-05-19 2020-05-19 用于协议适配的装置和方法

Publications (1)

Publication Number Publication Date
CN113691484A true CN113691484A (zh) 2021-11-23

Family

ID=78575793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010423751.XA Pending CN113691484A (zh) 2020-05-19 2020-05-19 用于协议适配的装置和方法

Country Status (1)

Country Link
CN (1) CN113691484A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363121A (zh) * 2021-12-29 2022-04-15 厦门点触科技股份有限公司 一种支持自定义协议的网关框架及实现方法
CN115348330A (zh) * 2022-06-21 2022-11-15 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 编解码装置及编解码方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040156373A1 (en) * 2001-06-26 2004-08-12 Ha Sam Chul Apparatus and method for converting communication protocol
CN102082797A (zh) * 2011-01-21 2011-06-01 中兴通讯股份有限公司 一种对数据流进行协议解析处理的方法及装置
CN107980215A (zh) * 2016-08-31 2018-05-01 深圳配天智能技术研究院有限公司 一种协议转换器及协议转换方法
CN110071928A (zh) * 2019-04-28 2019-07-30 广东电网有限责任公司 一种主动适应电网通讯协议的协议转换方法及系统
CN110401555A (zh) * 2018-04-25 2019-11-01 Sap欧洲公司 用于生成适用性声明4适配器的可插入框架
CN110971704A (zh) * 2019-12-11 2020-04-07 杭州安恒信息技术股份有限公司 一种基于json配置文件的数据传输方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040156373A1 (en) * 2001-06-26 2004-08-12 Ha Sam Chul Apparatus and method for converting communication protocol
CN102082797A (zh) * 2011-01-21 2011-06-01 中兴通讯股份有限公司 一种对数据流进行协议解析处理的方法及装置
CN107980215A (zh) * 2016-08-31 2018-05-01 深圳配天智能技术研究院有限公司 一种协议转换器及协议转换方法
CN110401555A (zh) * 2018-04-25 2019-11-01 Sap欧洲公司 用于生成适用性声明4适配器的可插入框架
CN110071928A (zh) * 2019-04-28 2019-07-30 广东电网有限责任公司 一种主动适应电网通讯协议的协议转换方法及系统
CN110971704A (zh) * 2019-12-11 2020-04-07 杭州安恒信息技术股份有限公司 一种基于json配置文件的数据传输方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363121A (zh) * 2021-12-29 2022-04-15 厦门点触科技股份有限公司 一种支持自定义协议的网关框架及实现方法
CN115348330A (zh) * 2022-06-21 2022-11-15 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 编解码装置及编解码方法

Similar Documents

Publication Publication Date Title
CN108306877B (zh) 基于node js的用户身份信息的验证方法、装置和存储介质
CN109214196B (zh) 一种数据交互方法、装置及设备
CN107835178A (zh) 一种多协议服务通信方法、装置以及电子设备
US10057217B2 (en) System and method to secure sensitive content in a URI
CN113691484A (zh) 用于协议适配的装置和方法
EP3013015A1 (en) Packet compression method and apparatus
CN107104924B (zh) 网站后门文件的验证方法及装置
US20180063140A1 (en) Configuration based client for oauth authorization with arbitrary services and applications
US10261809B1 (en) Declarative driver
CN112783748A (zh) 程序调试方法、装置、设备及计算机可读存储介质
WO2019153492A1 (zh) 实现web与原生功能交互的方法、电子装置及可读存储介质
CN112333186A (zh) 数据通信方法、装置、设备及存储介质
CN113992755A (zh) 基于微服务网关的请求处理方法、系统、设备及存储介质
CN110727417A (zh) 一种数据处理方法和装置
TWI673983B (zh) 一種資料壓縮傳輸方法和系統、及其終端和伺服器
US10049001B1 (en) Dynamic error correction configuration
US20230385454A1 (en) Cryptographically secure dynamic third party resources
TW201409271A (zh) 轉換一腳本語言中使用者輸入資料的方法、電腦裝置與程式產品
Waher Efficient XML Interchange (EXI) Format
US11386400B2 (en) Unified event/task creation from auto generated enterprise communication channels and notifications
US10592388B1 (en) Methods for facilitating more efficient network message exchange and analysis and devices thereof
CN107332891B (zh) Http请求处理的方法、服务器及客户端
CN113099025A (zh) 一种在社交应用中添加好友的方法与设备
Pinandito et al. Architectural Design of Representational State Transfer Application Programming Interface with Application-Level Base64-Encoding and Zlib Data Compression
CN113727113A (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

Application publication date: 20211123

RJ01 Rejection of invention patent application after publication