CN108696381A - 一种协议配置方法及装置 - Google Patents
一种协议配置方法及装置 Download PDFInfo
- Publication number
- CN108696381A CN108696381A CN201710236429.4A CN201710236429A CN108696381A CN 108696381 A CN108696381 A CN 108696381A CN 201710236429 A CN201710236429 A CN 201710236429A CN 108696381 A CN108696381 A CN 108696381A
- Authority
- CN
- China
- Prior art keywords
- protocol
- message
- information
- protobuf
- hash
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种协议配置方法及装置,其中该方法包括:接收协议配置指令,该协议配置指令携带协议标识信息以及哈希路径信息;根据协议标识信息,建立注册信息映射表;对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;根据协议属性字段以及哈希路径信息,配置该注册信息映射表相应的协议注册信息。本发明实施例在执行业务时根据协议注册信息确定哈希路径取值,完成新协议的一致性哈希路由支持,即在不发布的情况下动态解析协议文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种协议配置方法及装置。
背景技术
一致性哈希是指一种路由算法,能够将满足相同条件的请求路由到相同的业务机器上,目前最为常用的接口资源管理系统,开发者可以自主提供协议,设定参数就能便捷地使用其服务,但是其不支持一致性哈希,导致很多服务无法基于一致性哈希使用更好的架构和算法。然而,支持一致性哈希是需要不同的业务根据业务特性选择不同的字段作为一致性哈希值,接口资源管理系统支持开发者自主上传协议文件,管理系统只需要根据命令字即可完成路由和鉴权。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于一致性哈希要求接口机理解不同业务的字段,就要求接口机能够解析协议文件。因此每次增加新协议必须由开发者手动编写协议文件的解析代码、且重新编译,从而导致系统运维的复杂度大为提升,开发效率较低。
发明内容
本发明的目的在于提供一种协议配置方法及装置,旨在降低接口机系统运维的复杂度以及提高开发效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明提供一种协议配置方法,其中包括:
接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息;
根据所述协议标识信息,建立注册信息映射表;
对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;
根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
第二方面,本发明提供一种协议配置装置,其中包括:
第一接收单元,用于接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息;
建立单元,用于根据所述协议标识信息,建立注册信息映射表;
生成单元,用于对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;
配置单元,用于根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
相对于现有技术,本实施例,在接收到协议配置指令时,根据协议配置指令携带的协议标识信息,建立注册信息映射表;然后,对满足预设数据交换格式的协议文件进行动态读取,结合哈希路径信息配置该注册信息映射表相应的协议注册信息,以在执行业务时根据协议注册信息确定哈希路径取值,完成新协议的一致性哈希路由支持,即在在不发布的情况下动态解析协议文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1a是本发明实施例提供的协议配置方法的场景示意图;
图1b是本发明实施例提供的协议配置方法的流程示意图;
图2a为本发明实施例提供的协议配置方法应用例的场景模块示意图;
图2b为本发明实施例提供的协议配置方法应用例的另一场景模块示意图;
图2c为本发明实施例提供的协议配置方法的流程示意图;
图3a为本发明实施例提供的协议配置装置的结构示意图;
图3b为本发明实施例提供的协议配置装置的另一结构示意图;
图3c为本发明实施例提供的协议配置装置的另一结构示意图;
图4为本发明实施例提供的服务器的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
本发明实施例提供一种协议配置方法及装置,其中该协议配置装置具体可以集成在服务器中,该服务器可具体为接口装置,其中接口装置又可称为接口机,用于实现分布式系统的负载均衡。
比如,可具体参见图1a,为本发明实施例所提供的协议配置方法的场景示意图,该场景可以包括接口装置,主要用于接收协议配置指令,该协议配置指令携带协议标识信息以及哈希路径信息;然后,根据协议标识信息,建立注册信息映射表,对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段,根据协议属性字段以及哈希路径信息,配置注册信息映射表相应的协议注册信息,从而可以根据协议注册信息,将业务请求路由至预设的相应的业务设备,等等。
此外,该场景中还可以包括配置录入设备,主要用于当要需要配置新协议时,向接口装置发送协议配置指令,以使接口装置该协议配置指令配置注册信息映射表以及协议注册信息等,以完成一致性路由配置;进一步的,接口装置可以基于配置好的一致性路由配置进行业务使用,由此该场景中还可以包括客户端,主要用于向接口装置发送业务请求,以使接口装置根据该业务请求找到相应的协议注册信息,将业务请求路由至后端相应的业务设备;当然,该场景中还可以包括多个业务设备,用于接受接口装置的路由分配,并基于路由接口响应客户端的业务请求。
为了更好的理解本发明技术方案,首先对以下名词进行简单解释:
一致性哈希,是指一种路由算法,能够将满足相同条件的请求路由到相同的后端的业务机器上,常用于分布式存储系统。
一致性哈希的接口装置,本发明可简称接口装置或接口机,是指在负载均衡的基础上,能够使满足相同条件的请求路由到同一个后端业务机器的装置。
其中,此处条件是指“指定的标识符”,比如对用户的一致性,标识符可以是用户身份标识(ID,identification);对地区的一致性,标识符可以是行政区码;对活动的一致性,就是活动ID,等等,此处不作具体限定。
以下将分别进行详细说明。
在本实施例中,将从协议配置装置的角度进行描述,该协议配置装置具体可以集成在服务器中,该服务器可具体为接口装置,主要用于实现分布式系统的负载均衡。
为了实现一致性哈希,本发明实施例提供一种协议配置方法,包括:接收协议配置指令,该协议配置指令携带协议标识信息以及哈希路径信息;根据该协议标识信息,建立注册信息映射表;对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;根据该协议属性字段以及哈希路径信息,配置注册信息映射表相应的协议注册信息。
请参阅图1b,图1b是本发明实施例提供的协议配置方法的流程示意图。该方法包括:
在步骤S101中,接收协议配置指令,该协议配置指令携带协议标识信息以及哈希路径信息。
可以理解的是,协议标识信息是指可以对协议(或称业务)进行识别的信息,比如协议标识信息可以具体包含命令字和服务类型。
其中,可以预先对每一业务分别分配命令字和服务类型,一般而言,一个业务可能有多种交互,一个交互可以包含有多种流程或场景,一个交互通常对应一个命令字,也就是说一个业务可以有多个命令字,而交互中的流程或场景对应不同的服务类型,此处业务可以主要包括聊天、游戏、购物、教育、支付等类型,此处举例不构成对本发明的限定。
在步骤S102中,根据协议标识信息,建立注册信息映射表。
例如,可具体的,在配置新协议时,首先协议配置装置接收配置录入设备发送的协议配置指令,其中,该协议配置指令中携带有协议的命令字和服务类型,协议配置装置根据命令字和服务类型确定需要配置的协议,并根据命令字和服务类型建立相应的注册信息映射表。
其中,注册信息映射表为协议与相应的协议注册信息的映射表,具体用于根据协议的命令字和服务类型,对应获取到该协议的协议注册信息,协议注册信息指的是协议使用前,需要按照预设协议标准进行注册的信息,注册后协议才允许使用。
本发明实施例中,协议配置装置在建立注册信息映射表之后,可以基于预设的满足预设数据交换格式的协议文件,配置该注册信息映射表对应的协议注册信息,比如可具体如下:
在步骤S103中,对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段。
可以理解的是,本发明实施例中预设数据交换格式可以具体为Protobuf,其中Protobuf(protocol buffer,简称PB)是一种数据交换的格式,它独立于语言,独立于平台,并提供了多种语言的实现:java、c++和python等,每一种实现都包含了相应语言的编译器以及库文件。通常的,可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等领域。
需说明的是,该预设数据交换格式还可以为其他可用于分布式系统的数据交换格式,如可扩展标记语言(XML,Extensible Markup Language)、JS对象标记(JSON,JavaScript Object Notation)等,此处举例不构成对本发明的限定。
可具体的,比如预设数据交换格式为Protobuf,则协议配置装置“对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段”可以具体为:对预设的Protobuf协议文件进行动态读取,生成协议属性字段,其中,此处的协议属性字段主要是指构成协议注册信息的字段信息。
进一步的,可具体包括:对预设的Protobuf协议文件进行动态读取,利用Protobuf的磁盘源文件树(DiskSourceTree)类以及导入器(Importer)类构造Protobuf的协议属性字段。
其中,磁盘源文件树和导入器分别为一个类,也就是一种数据类型,磁盘源文件树类是指在磁盘中以树形的数据结构来存储文件的数据类型,导入器类是指将文件加载到指定空间的数据类型。
比如,利用DiskSourceTree读取磁盘上指定的文件夹,将文件结构以树形保存在内存中,文件夹中可以包含多个协议文件,以供Importer加载协议文件,Importer从DiskSourceTree中获取指定的一份协议文件,并加载到内存中,以作为需要配置的协议的注册信息的字段信息,即该加载的字段信息用于构造协议注册信息。
在步骤S104中,根据协议属性字段以及哈希路径信息,配置注册信息映射表相应的协议注册信息。
例如可具体如下,在某些实施方式中,“根据协议标识信息,建立注册信息映射表”(步骤S102)可以包括:根据协议标识信息,建立注册信息映射表以及相应的协议注册信息表。
即在建立注册信息映射表时,也可以同时建立相应的协议注册信息表,其中,协议注册信息表在此处可以理解为一个容器或空间,以便将配置好的协议注册信息保存于该协议注册信息表中。
基于此,协议配置装置“根据协议属性字段以及哈希路径信息,配置注册信息映射表相应的协议注册信息”(步骤S104)可以包括:
104-1、将协议属性字段以及哈希路径信息保存于协议注册信息表中。
104-2、将协议属性字段以及哈希路径信息在该注册信息映射表中注册,以配置该注册信息映射表相应的协议注册信息。
比如,将构造出来的协议属性字段保存在协议注册信息表中,并将这些协议属性字段在注册信息映射表中进行注册,从而完成对该注册信息映射表相应的协议注册信息进行配置;至此可认为,需要配置的协议的一致性路由配置已经配置完毕。
也就是说,协议注册信息中包含协议属性字段以及哈希路径信息,其中,此处的协议属性字段主要是指构成协议注册信息的字段信息,比如,协议属性字段可具体包括消息描述信息以及消息原型信息,其中,消息描述信息是指以C++类的形式表示的消息体,消息原型信息是指上述类所描述的消息的指针,哈希路径信息是指一致性哈希中的哈希键值路径的字段。
需说明的是,协议注册信息中还可以包括其他的一致性路由配置信息,如模块识别(ModId)信息、命令提示符识别(CmdId)信息,等等,此处不作具体限定。
可以理解的是,在协议配置完成后,还可以基于配置好的协议进行业务使用,如可具体包括:
(1)接收业务请求,该业务请求包含协议标识信息。
(2)根据该协议标识信息,在注册信息映射表中读取相应的协议注册信息。
(3)基于该协议注册信息,将业务请求路由至预设的相应的业务设备。
比如,当接收到由客户端发送的业务请求时,根据该协议标识信息在注册信息映射表中读取相应的协议注册信息,其中该业务请求包含协议标识信息(如命令字和服务类型),即找到协议标识信息相应的一致性路由配置,随后根据找到的协议注册信息,将业务请求路由至预设的相应的业务设备。
以下主要对基于该协议注册信息,将业务请求路由至预设的相应的业务设备的过程进行分析,如在某些实施方式中,步骤(3)可以具体如下:
3-1、根据协议注册信息,确定相应的哈希路径取值。
3-2、根据哈希路径取值,将业务请求路由至预设的相应的业务设备。
比如,首先可以从协议注册信息中读取哈希路径信息,然后基于该哈希路径信息计算出相应的哈希路径取值,从而可以根据该哈希路径取值路由到相应的业务设备。
可以理解的是,可在后端预先配置有多个业务设备,以根据接口装置根据业务特性确定出相应的一致性哈希路径取值,接口装置可以根据一致性哈希路径取值,将业务请求路由至相应的业务设备,执行相应的业务。
进一步,协议属性字段可具体为Protobuf的协议属性字段,主要包括Protobuf消息描述信息以及消息原型信息;基于此,“根据协议注册信息,确定相应的哈希路径取值”(步骤3-1)可以具体如下:
首先,利用消息原型信息创建消息(Message)实例,通过该消息实例解析业务请求指示的请求内容,得到消息体;然后,通过该消息实例构建Protobuf反射对象,并根据反射对象、消息描述信息以及解析得到的消息体递归协议注册信息中的哈希路径信息,得到Protobuf字段,根据Protobuf字段,计算出哈希路径取值。
其中,Protobuf反射(reflection)是面向对象程序设计的一种机制,这种机制是通过反射类来实现的,支持动态地了解和执行一个未知类或实例。此处是通过消息实例构建Protobuf反射对象,通过Protobuf反射、消息描述信息以及消息体来递归哈希路径信息,从而得到Protobuf字段的值,并根据Protobuf字段的不同类型来计算一致性哈希键值。
由上述可知,本实施例提供的协议配置方法,一致性哈希的接口装置在接收到协议配置指令时,根据协议配置指令携带的协议标识信息,建立注册信息映射表;然后,对满足预设数据交换格式的协议文件进行动态读取,结合哈希路径信息配置该注册信息映射表相应的协议注册信息,以在执行业务时根据协议注册信息确定哈希路径取值,完成新协议的一致性哈希路由支持,即在在不发布的情况下动态解析协议文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。
根据实施例所描述的方法,以下将举例作进一步详细说明。
下面实施例以最为常用的基于Protobuf的专用接口机为例,对本发明提供的协议配置方法进行具体分析:
目前,基于Protobuf的专用接口机,一个模块只负责一个具体任务,只理解一份协议文件。对于每一业务都要开发相应的解析模块,比如,Protobuf接口机需要新增一份Protobuf协议文件(如a.proto),会编译出c++源代码文件(如头文件a.pb.h与源文件a.pb.cc),其后编写a.proto协议文件的解析代码,从协议中抽取哈希路径,接着编译项目文件,即将a.proto协议文件的解析代码与原项目代码一起编译成一个可执行程序来进行服务,最后灰度发布,并进行功能验证。
然而,每次支持新协议时必须由开发人员手动编写协议文件的解析代码,无法自动化完成,且每次都要执行发布与功能验证,要花费开发和运维人员较长的工作时间,即每次新增协议都要开发、编译以及发布,导致开发效率差且运维复杂度高。
基于此,本实施例提供一种基于Protobuf的协议配置方案,Protobuf的专用接口机(以下简称接口机)通过动态的协议解析和哈希路径取值,完成新协议的一致性哈希路由支持,以下将进行详细说明。
请参阅图2a,图2a为本发明实施例提供的协议配置方法的流程示意图。该方法可以包括:
在步骤S201中,接口机接收协议配置指令,该协议配置指令携带命令字、服务类型以及哈希路径信息。
可一并参考图2b,为接口机应用场景的各模块关系图,包括接口机、配置录入模块、存储模块、请求方(如客户端)以及业务机器。
可以理解的是,每一业务分别分配命令字和服务类型,新增一个协议代表新增业务,如,接口机接收配置录入模块发送的协议配置指令,该配置指令格式可以为:
命令字,服务类型,哈希路径信息,ModID,CmdID;
即该协议配置指令中携带命令字,服务类型,哈希路径信息,ModID和CmdID,其中,命令字和服务类型为协议标识信息,根据命令字和服务类型可以识别出当前需要配置的协议,哈希路径信息是指哈希键值(HashKey)的路径信息,ModId和CmdId是其他的一致性算法配置参数,与第三方一致性路由的调用方式有关,此处不作具体限定。
比如,该配置指令可以具体为:
0x7bb,8,ReqBody.query_task_req.task_id,123456,65536;
其中,0x7bb为命令字,8为服务类型,ReqBody.query_task_req.task_id为哈希路径信息,123456为ModId,65536为CmdId。
在步骤S202中,接口机根据命令字和服务类型,构造注册信息映射表,并对预设的Protobuf协议文件进行动态读取,构造注册信息映射表相应的协议注册信息。
可一并参考图2c,为接口机内部组件的关系图,包括配置组件、动态解析组件、收包接口、哈希路径取值单元以及路由接口。
比如,可具体的,存储模块中包含有协议文件夹,协议文件夹中包含了多个配置好的Protobuf协议文件,当配置组件读取到协议配置指令时,根据命令字和服务类型构造注册信息映射表,用于在业务使用时,根据协议的命令字和服务类型,对应获取到该协议的协议注册信息。
之后,调用动态解析组件对多个Protobuf协议文件进行动态读取,其中,动态读取是指动态解析组件对该多个Protobuf协议文件进行遍历,加载并解析,如,利用DiskSourceTree读取磁盘上指定的文件夹,将文件结构以树形保存在内存中,文件夹中包含至少一个Protobuf协议文件,以供Importer加载协议文件,Importer从DiskSourceTree中获取指定的一份Protobuf协议文件,并加载到内存中,以作为当前需要配置的协议的注册信息的字段信息,用于构造协议注册信息。
进一步的,将构造出来的协议属性字段保存在内存中,以保证读取效率,然后再将这些字段信息以及哈希路径信息保存在协议注册信息中,并在注册信息映射表中进行注册,以完成该协议的一致性路由配置。
本实施例中,构造注册信息映射表以及协议注册信息的可参考如下代码:
其中,InfoMap为注册信息映射表,RegInfo为协议注册信息;协议注册信息可具体包括pb消息描述、pb消息原型、pb动态消息工厂、哈希路径信息以及其他一致性算法配置参数等信息。
pb消息描述是指以C++类的形式表示的消息体;pb消息原型是指上述类所描述的消息的指针;动态消息工厂是指支持动态访问pb消息字段的一个接口,动态的意思是“可以解析编译时仍未确定的消息体”;哈希路径信息是指一致性哈希中的哈希键值路径的字段信息。
在步骤S203中,接口机接收业务请求,该业务请求携带命令字和服务类型。
如图2b所示,接口机接收请求方发送的业务请求,其中,该业务请求携带业务相应的命令字和服务类型。
进一步的,如图2c所示,接口机通过收包接口调用请求方发送的业务请求,并将命令字和服务类型发送至哈希路径取值单元。
在步骤S204中,接口机根据命令字和服务类型,在注册信息映射表中读取相应的协议注册信息。
比如,哈希路径取值单元根据命令字和服务类型,通过注册信息映射表,在配置组件中查找并读取相应的协议注册信息,即一致性路由配置,可具体包括pb消息描述、pb消息原型、pb动态消息工厂、哈希路径信息以及其他一致性算法配置参数等信息,此处对各信息不再赘述。
在步骤S205中,接口机根据协议注册信息,确定相应的哈希路径取值。
在该实施例中,哈希路径取值单元根据找到的一致性路由配置,进行哈希键值字段的路径查找,可具体的,包括如下步骤:
A、利用pb消息原型创建消息(Message)实例。
可以理解的是,在面向对象程序设计中,“类”在实例化之后叫做一个“实例”。通常把用类创建对象的过程称为实例化。
比如,该实施例中,创建消息Message实例的代码可具体如下:
Message*body=info->prototype->New();
其中,Message是Protobuf消息类,此处用pb消息原型创建了一个Message的对象,叫做对象的实例化。
B、使用Message实例解析请求Buffer。
其中,请求Buffer指的是接收到的业务请求携带的请求内容。
在该实施例中,请求Buffer可理解为内容仍未确定的消息,即请求发发送过来的是含义不明的消息,利用Message实例对请求Buffer解析,可以将其翻译或者解析成系统可理解的消息,此处将经过翻译或者解析得到的消息称为消息体。
比如,该实施例中,使用Message实例解析请求Buffer的代码可具体如下:
body->ParseFromArray(bodyptr,bodylen)
其中,body为解析得到的消息体,ParseFromArray(bodyptr,bodylen)为对请求Buffer的数组数据进行解析。
C、使用Message实例构建Protobuf反射对象。
可以理解的是,Protobuf反射(reflection)是面向对象程序设计的一种机制,这种机制是通过反射类来实现的,支持动态地了解和执行一个未知类或实例。
比如,该实施例中,使用Message实例构建Protobuf反射对象的代码可具体如下:
const Reflection*reflection=body->GetReflection(),其中,GetReflection()为Protobuf反射对象。
D、根据Protobuf反射对象、pb消息描述以及解析得到的消息体递归哈希路径信息,得到Protobuf字段。
可以理解的是,递归是按照某一包含有限步数的法则或公式对一个或多个前面的元素进行运算,以确定一系列元素的方法;由于此处Protobuf协议组装是树状型的,在树形结构中,消息代表树干,字段代表树叶,一个消息里包含0个或多个消息及字段,因此需要通过递归查询的方式一层一层的分析哈希路径信息。
比如,哈希路径信息为:ReqBody.query_task_req.task_id,可理解为该路径有三层,并根据该路径一层一层的查找,以得到最终的Protobuf字段。
比如,该实施例中,根据Protobuf反射对象、pb消息描述以及解析得到的消息体递归哈希路径信息,得到Protobuf字段的代码可具体如下:
其中,desc为pb消息描述,body为解析得到的消息体,for()函数代表递归查询的过程,info->names为哈希键值路径的Protobuf字段路径的配置。
E、根据Protobuf字段,计算出哈希路径取值。
比如,哈希路径取值单元根据Protobuf字段路径获得该字段的值,之后,根据字段的类型(如UNIT64、UNIT32等),将该字段的值从Protobuf格式转换为C++格式,并计算一致性哈希键值。其中,此处计算包括但不限于以下形式,以及各种形式的组合:直接取值、四则运算、取余取整、平方开方、消息摘要算法(MD5),循环冗余校验(CRC)等等,此处不作具体限定。
在步骤S206中,接口机根据哈希路径取值,将业务请求路由至相应的业务设备。
比如,哈希路径取值单元计算得到哈希键值后,可以由第三方一致性路由模块根据哈希键值计算出后端业务设备的网络协议(IP,Internet Protocol)地址,也可以通过预先建立好哈希键值与业务设备IP地址的对应关系,来获取到相应的业务设备IP地址,从而路由接口将业务请求路由至IP地址相应的业务设备,以执行相应的业务。
需说明的是,本发明仅以最为常用的基于Protobuf的接口机为例进行说明,其他有一致性哈希需求的数据转换格式的协议文件同样适用;另外本发明还可以使用其它语言来实现,如Python等;并且,也可以使用其它自动化方式来完成协议文件的编译和发布,本发明举例仅为理解说明,不构成对本发明的限定。
由上述可知,本实施例提供的协议配置方法,在接收到协议配置指令时,根据协议配置指令携带的协议标识信息,建立注册信息映射表;然后,对满足Protobuf协议文件进行动态读取,结合哈希路径信息配置该注册信息映射表相应的协议注册信息,以在执行业务时根据协议注册信息确定哈希路径取值,即一致性哈希的接口机通过动态的协议解析和哈希键值(HashKey)路径取值,实现在短时间内完成一次新协议的一致性哈希路由支持,效率提升上百倍,且后续能够以极低的成本监控、管理各个业务。并且,能够在不发布的情况下动态解析proto文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。也就是说,通过一系列改进措施,完成了一致性路由新协议的自动化支持,极大降低了一致性哈希算法在后台服务中的使用成本,为引进新算法、优化后台服务提供了保障。
为便于更好的实施本发明实施例提供的协议配置方法,本发明实施例还提供一种基于上述协议配置方法的装置。其中名词的含义与上述协议配置的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3a,图3a为本发明实施例提供的协议配置装置的结构示意图,该协议配置装置可以包括第一接收单元301、建立单元302、生成单元303以及配置单元304。
其中第一接收单元301,用于接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息。
可以理解的是,协议标识信息是指可以对协议(或称业务)进行识别的信息,比如协议标识信息可以具体包含命令字和服务类型。
其中,可以预先对每一业务分别分配命令字和服务类型,一般而言,一个业务可能有多种交互,一个交互可以包含有多种流程或场景,一个交互通常对应一个命令字,也就是说一个业务可以有多个命令字,而交互中的流程或场景对应不同的服务类型,此处业务可以主要包括聊天、游戏、购物、教育、支付等类型,此处举例不构成对本发明的限定。
建立单元302,用于根据所述协议标识信息,建立注册信息映射表。
例如,可具体的,在配置新协议时,首先协议配置装置接收配置录入设备发送的协议配置指令,其中,该协议配置指令中携带有协议的命令字和服务类型,协议配置装置根据命令字和服务类型确定需要配置的协议,并根据命令字和服务类型建立相应的注册信息映射表。
其中,注册信息映射表为协议与相应的协议注册信息的映射表,具体用于根据协议的命令字和服务类型,对应获取到该协议的协议注册信息,协议注册信息指的是协议使用前,需要按照预设协议标准进行注册的信息,注册后协议才允许使用。
本发明实施例中,协议配置装置在建立注册信息映射表之后,可以基于预设的满足预设数据交换格式的协议文件,配置该注册信息映射表对应的协议注册信息,比如生成单元303,用于对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段。
可以理解的是,本发明实施例中预设数据交换格式可以具体为Protobuf,其中Protobuf(简称PB)是一种数据交换的格式,它独立于语言,独立于平台。通常的,可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等领域。
需说明的是,该预设数据交换格式还可以为其他可用于分布式系统的数据交换格式,如可扩展标记语言XML、JSON等,此处举例不构成对本发明的限定。
可具体的,比如预设数据交换格式为Protobuf,则生成单元303可用于对预设的Protobuf协议文件进行动态读取,生成协议属性字段,其中,此处的协议属性字段主要是指构成协议注册信息的字段信息。
进一步的,生成单元303可具体用于对预设的Protobuf协议文件进行动态读取,利用Protobuf的磁盘源文件树(DiskSourceTree)类以及导入器(Importer)类构造Protobuf的协议属性字段。
其中,磁盘源文件树和导入器分别为一个类,也就是一种数据类型,磁盘源文件树类是指在磁盘中以树形的数据结构来存储文件的数据类型,导入器类是指将文件加载到指定空间的数据类型。
比如,利用DiskSourceTree读取磁盘上指定的文件夹,将文件结构以树形保存在内存中,文件夹中可以包含多个协议文件,以供Importer加载协议文件,Importer从DiskSourceTree中获取指定的一份协议文件,并加载到内存中,以作为需要配置的协议的注册信息的字段信息,即该加载的字段信息用于构造协议注册信息。
配置单元304,用于根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
例如可具体如下,在某些实施方式中,建立单元302用于:根据所述协议标识信息,建立注册信息映射表以及相应的协议注册信息表。
即在建立注册信息映射表时,也可以同时建立相应的协议注册信息表,其中,协议注册信息表在此处可以理解为一个容器或空间,以便将配置好的协议注册信息保存于该协议注册信息表中。
基于此,配置单元304用于:将所述协议属性字段以及哈希路径信息保存于所述协议注册信息表中,并将所述协议属性字段以及哈希路径信息在所述注册信息映射表中注册,以配置所述注册信息映射表相应的协议注册信息。
比如,将构造出来的协议属性字段保存在协议注册信息表中,并将这些协议属性字段在注册信息映射表中进行注册,从而完成对该注册信息映射表相应的协议注册信息进行配置;至此可认为,需要配置的协议的一致性路由配置已经配置完毕。
也就是说,协议注册信息中包含协议属性字段以及哈希路径信息,其中,此处的协议属性字段主要是指构成协议注册信息的字段信息,比如,协议属性字段可具体包括消息描述信息以及消息原型信息,其中,消息描述信息是指以C++类的形式表示的消息体,消息原型信息是指上述类所描述的消息的指针,哈希路径信息是指一致性哈希中的哈希键值字段。
需说明的是,协议注册信息中还可以包括其他的一致性路由配置信息,如模块识别(ModId)信息、命令提示符识别(CmdId)信息,等等,此处不作具体限定。
可以理解的是,在协议配置完成后,还可以基于配置好的协议进行业务使用,如图3b所示,为本实施例提供的协议配置装置的另一结构示意图,其中协议配置装置400中还可以包括:
第二接收单元305,用于接收业务请求,所述业务请求包含协议标识信息。
读取单元306,用于根据所述协议标识信息,在注册信息映射表中读取相应的协议注册信息。
路由单元307,用于基于所述协议注册信息,将所述业务请求路由至预设的相应的业务设备。
比如,当接收到由客户端发送的业务请求时,根据该协议标识信息在注册信息映射表中读取相应的协议注册信息,其中该业务请求包含协议标识信息(如命令字和服务类型),即找到协议标识信息相应的一致性路由配置,随后根据找到的协议注册信息,将业务请求路由至预设的相应的业务设备。
以下主要对基于该协议注册信息,将业务请求路由至预设的相应的业务设备的过程进行分析,如图3c所示,为本实施例提供的协议配置装置的另一结构示意图,其中协议配置装置500中,路由单元307可以具体包括:
第一确定子单元3071,用于根据所述协议注册信息,确定相应的哈希路径取值。
路由子单元3072,用于根据所述哈希路径取值,将所述业务请求路由至预设的相应的业务设备。
比如,首先可以从协议注册信息中读取哈希路径信息,然后基于该哈希路径信息计算出相应的哈希路径取值,从而可以根据该哈希路径取值路由到相应的业务设备。
可以理解的是,可在后端预先配置有多个业务设备,以根据接口装置根据业务特性确定出相应的一致性哈希路径取值,接口装置可以根据该一致性哈希路径取值,将业务请求路由至相应的业务设备,执行相应的业务。
进一步,协议属性字段可具体为Protobuf的协议属性字段,主要包括Protobuf消息描述信息以及消息原型信息;基于此,该第一确定子单元3071可以具体用于:利用消息原型信息创建消息实例,通过消息实例解析业务请求指示的请求内容,得到消息体,通过该消息实例构建Protobuf反射对象,根据反射对象、消息描述信息以及消息体递归协议注册信息中的哈希路径信息,得到Protobuf字段,根据Protobuf字段,计算哈希路径取值。
其中,Protobuf反射(reflection)是面向对象程序设计的一种机制,这种机制是通过反射类来实现的,支持动态地了解和执行一个未知类或实例。此处是通过消息实例构建Protobuf反射对象,通过Protobuf反射、消息描述信息以及消息体来递归哈希路径信息,从而得到Protobuf字段的值,并根据Protobuf字段的不同类型来计算一致性哈希键值。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该协议配置装置具体可以集成服务器中,该服务器可具体为接口装置,主要用于实现分布式系统的负载均衡。
由上述可知,本实施例提供的协议配置装置,一致性哈希的接口装置在接收到协议配置指令时,根据协议配置指令携带的协议标识信息,建立注册信息映射表;然后,对满足预设数据交换格式的协议文件进行动态读取,结合哈希路径信息配置该注册信息映射表相应的协议注册信息,以在执行业务时根据协议注册信息确定哈希路径取值,完成新协议的一致性哈希路由支持,即在在不发布的情况下动态解析协议文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。
本发明实施例还提供一种服务器,该服务器可具体为接口装置,其中接口装置又可称为接口机,主要用于实现分布式系统的负载均衡。
其中该服务器可以集成本发明实施例的协议配置装置,如图4所示,其示出了本发明实施例所涉及的服务器600的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息;根据所述协议标识信息,建立注册信息映射表;对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
在某些实施方式中,处理器401用于根据协议标识信息,建立注册信息映射表以及相应的协议注册信息表;基于此,处理器401还用于将协议属性字段保存于协议注册信息表中,并将协议属性字段在所述注册信息映射表中注册,以配置注册信息映射表相应的协议注册信息。
在处理器401配置完协议注册信息后,还用于接收业务请求,该业务请求包含协议标识信息;根据协议标识信息,在注册信息映射表中读取相应的协议注册信息;基于协议注册信息,将所述业务请求路由至预设的相应的业务设备。
在某些实施方式中,所述处理器401基于协议注册信息,将业务请求路由至预设的相应的业务设备可以具体用于:根据协议注册信息,确定相应的哈希路径取值;根据哈希路径取值,将业务请求路由至预设的相应的业务设备。
在本发明实施例中,预设数据交换格式可具体为Protobuf,处理器401对预设的Protobuf协议文件进行动态读取,利用Protobuf的磁盘源文件树(DiskSourceTree)类以及导入器(Importer)类构造Protobuf的协议属性字段。
其中,Protobuf的协议属性字段可以具体包括Protobuf消息描述信息以及消息原型信息,处理器401根据所述协议注册信息,确定相应的哈希路径取值可以具体用于:利用消息原型信息创建消息实例;通过所述消息实例解析所述业务请求指示的请求内容,得到消息体;通过所述消息实例构建Protobuf反射对象;根据所述反射对象、消息描述信息以及消息体递归所述协议注册信息中的哈希路径信息,得到Protobuf字段;根据所述Protobuf字段,计算哈希路径取值。
由上述可知,本实施例提供的服务器中,在接收到协议配置指令时,根据协议配置指令携带的协议标识信息,建立注册信息映射表;然后,对满足预设数据交换格式的协议文件进行动态读取,结合哈希路径信息配置该注册信息映射表相应的协议注册信息,以在执行业务时根据协议注册信息确定哈希路径取值,完成新协议的一致性哈希路由支持,即在在不发布的情况下动态解析协议文件,解决每次新增协议都要编译发布的问题,大大降低了系统复杂度,提高了扩展性和开发效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对协议配置方法的详细描述,此处不再赘述。
本发明实施例提供的所述协议配置装置,譬如为计算机、平板电脑、具有触摸功能的手机等等,所述协议配置装置与上文实施例中的协议配置方法属于同一构思,在所述协议配置装置上可以运行所述协议配置方法实施例中提供的任一方法,其具体实现过程详见所述协议配置方法实施例,此处不再赘述。
需要说明的是,对本发明所述协议配置方法而言,本领域普通测试人员可以理解实现本发明实施例所述协议配置方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述协议配置方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read OnlyMemory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的所述协议配置装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种协议配置方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种协议配置方法,其特征在于,包括:
接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息;
根据所述协议标识信息,建立注册信息映射表;
对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;
根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
2.根据权利要求1所述的协议配置方法,其特征在于,所述根据所述协议标识信息,建立注册信息映射表包括:
根据所述协议标识信息,建立注册信息映射表以及相应的协议注册信息表;
所述根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息包括:将所述协议属性字段以及哈希路径信息保存于所述协议注册信息表中,并将所述协议属性字段以及哈希路径信息在所述注册信息映射表中注册,以配置所述注册信息映射表相应的协议注册信息。
3.根据权利要求2所述的协议配置方法,其特征在于,所述方法还包括:
接收业务请求,所述业务请求包含协议标识信息;
根据所述协议标识信息,在注册信息映射表中读取相应的协议注册信息;
基于所述协议注册信息,将所述业务请求路由至预设的相应的业务设备。
4.根据权利要求3所述的协议配置方法,其特征在于,所述基于所述协议注册信息,将所述业务请求路由至预设的相应的业务设备包括:
根据所述协议注册信息,确定相应的哈希路径取值;
根据所述哈希路径取值,将所述业务请求路由至预设的相应的业务设备。
5.根据权利要求1至4任一项所述的协议配置方法,其特征在于,所述预设数据交换格式包括Protobuf;
所述对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段包括:
对预设的Protobuf协议文件进行动态读取,利用Protobuf的磁盘源文件树(DiskSourceTree)类以及导入器(Importer)类构造Protobuf的协议属性字段。
6.根据权利要求4所述的协议配置方法,其特征在于,所述协议属性字段为Protobuf的协议属性字段,包括Protobuf消息描述信息以及消息原型信息;
所述根据所述协议注册信息,确定相应的哈希路径取值包括:
利用消息原型信息创建消息实例;
通过所述消息实例解析所述业务请求指示的请求内容,得到消息体;
通过所述消息实例构建Protobuf反射对象;
根据所述反射对象、消息描述信息以及消息体递归所述协议注册信息中的哈希路径信息,得到Protobuf字段;
根据所述Protobuf字段,计算哈希路径取值。
7.一种协议配置装置,其特征在于,包括:
第一接收单元,用于接收协议配置指令,所述协议配置指令携带协议标识信息以及哈希路径信息;
建立单元,用于根据所述协议标识信息,建立注册信息映射表;
生成单元,用于对预设的满足预设数据交换格式的协议文件进行动态读取,生成协议属性字段;
配置单元,用于根据所述协议属性字段以及哈希路径信息,配置所述注册信息映射表相应的协议注册信息。
8.根据权利要求7所述的协议配置装置,其特征在于,所述建立单元用于:
根据所述协议标识信息,建立注册信息映射表以及相应的协议注册信息表;
所述配置单元用于:将所述协议属性字段以及哈希路径信息保存于所述协议注册信息表中,并将所述协议属性字段以及哈希路径信息在所述注册信息映射表中注册,以配置所述注册信息映射表相应的协议注册信息。
9.根据权利要求8所述的协议配置装置,其特征在于,所述装置还包括:
第二接收单元,用于接收业务请求,所述业务请求包含协议标识信息;
读取单元,用于根据所述协议标识信息,在注册信息映射表中读取相应的协议注册信息;
路由单元,用于基于所述协议注册信息,将所述业务请求路由至预设的相应的业务设备。
10.根据权利要求9所述的协议配置装置,其特征在于,所述路由单元包括:
第一确定子单元,用于根据所述协议注册信息,确定相应的哈希路径取值;
路由子单元,用于根据所述哈希路径取值,将所述业务请求路由至预设的相应的业务设备。
11.根据权利要求7至10任一项所述的协议配置装置,其特征在于,所述预设数据交换格式包括Protobuf;
所述生成单元具体用于:对预设的Protobuf协议文件进行动态读取,利用Protobuf的磁盘源文件树(DiskSourceTree)类以及导入器(Importer)类构造Protobuf的协议属性字段。
12.根据权利要求10所述的协议配置装置,其特征在于,所述协议属性字段为Protobuf的协议属性字段,包括Protobuf消息描述信息以及消息原型信息;
所述第一确定子单元具体用于:利用消息原型信息创建消息实例,通过所述消息实例解析所述业务请求指示的请求内容,得到消息体,通过所述消息实例构建Protobuf反射对象,根据所述反射对象、消息描述信息以及消息体递归所述协议注册信息中的哈希路径信息,得到Protobuf字段,根据所述Protobuf字段,计算哈希路径取值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236429.4A CN108696381B (zh) | 2017-04-12 | 2017-04-12 | 一种协议配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236429.4A CN108696381B (zh) | 2017-04-12 | 2017-04-12 | 一种协议配置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696381A true CN108696381A (zh) | 2018-10-23 |
CN108696381B CN108696381B (zh) | 2020-07-03 |
Family
ID=63843609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710236429.4A Active CN108696381B (zh) | 2017-04-12 | 2017-04-12 | 一种协议配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696381B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061861A (zh) * | 2019-03-21 | 2019-07-26 | 广东瑞恩科技有限公司 | 互联网协议配置方法、装置、设备及计算机可读存储介质 |
CN110381056A (zh) * | 2019-07-17 | 2019-10-25 | 钛马信息网络技术有限公司 | 基于Netty的私有协议编解码方法及装置 |
CN110515905A (zh) * | 2019-08-28 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种路由的配置的方法、装置以及服务器 |
CN110601980A (zh) * | 2019-08-26 | 2019-12-20 | 中国第一汽车股份有限公司 | 一种车载终端的通信方法、系统及存储介质 |
CN111460020A (zh) * | 2020-04-02 | 2020-07-28 | 北京字节跳动网络技术有限公司 | 用于解析消息的方法、装置、电子设备和介质 |
CN111949249A (zh) * | 2019-05-14 | 2020-11-17 | 百度(美国)有限责任公司 | 用于基于Protobuf的项目的通用验证方法 |
CN111953781A (zh) * | 2020-08-13 | 2020-11-17 | 北京金山云网络技术有限公司 | 处理访问请求的方法、装置及电子设备 |
CN112235651A (zh) * | 2020-10-12 | 2021-01-15 | 北京金山云网络技术有限公司 | 配置参数选择方法、装置、设备及存储介质 |
CN113079198A (zh) * | 2021-03-18 | 2021-07-06 | 青岛海信智慧生活科技股份有限公司 | 一种云平台接口协议转换的方法及装置 |
CN113206836A (zh) * | 2021-04-12 | 2021-08-03 | 河海大学 | 一种工业互联网中api网关实现协议转换的方法 |
CN113810340A (zh) * | 2020-06-12 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、设备及计算机可读存储介质 |
CN116016345A (zh) * | 2022-12-05 | 2023-04-25 | 四川大学 | 一种基于自定义协议描述语言的网络流量还原方法 |
WO2024119384A1 (zh) * | 2022-12-06 | 2024-06-13 | 北京航天长征飞行器研究所 | 一种动态可配置的应用层通信协议测试方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005445A (zh) * | 2006-01-18 | 2007-07-25 | 华为技术有限公司 | 一种将业务流映射到业务传输通道的方法及光网络终端 |
CN102148825A (zh) * | 2011-01-28 | 2011-08-10 | 清华大学 | 一种动态协议的配置与解析方法及装置 |
US20130058256A1 (en) * | 2010-10-22 | 2013-03-07 | Huawei Technologies Co., Ltd. | Port mapping method and apparatus, and communication system |
CN104778258A (zh) * | 2015-04-21 | 2015-07-15 | 华中科技大学 | 一种面向协议数据流的数据抽取方法 |
US20160065385A1 (en) * | 2013-10-17 | 2016-03-03 | Cisco Technology, Inc. | Proxy Address Resolution Protocol On A Controller Device |
CN105682073A (zh) * | 2016-01-25 | 2016-06-15 | 江苏省邮电规划设计院有限责任公司 | 一种基于lisp技术的移动ip分组的传输方法 |
-
2017
- 2017-04-12 CN CN201710236429.4A patent/CN108696381B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005445A (zh) * | 2006-01-18 | 2007-07-25 | 华为技术有限公司 | 一种将业务流映射到业务传输通道的方法及光网络终端 |
US20130058256A1 (en) * | 2010-10-22 | 2013-03-07 | Huawei Technologies Co., Ltd. | Port mapping method and apparatus, and communication system |
CN102148825A (zh) * | 2011-01-28 | 2011-08-10 | 清华大学 | 一种动态协议的配置与解析方法及装置 |
US20160065385A1 (en) * | 2013-10-17 | 2016-03-03 | Cisco Technology, Inc. | Proxy Address Resolution Protocol On A Controller Device |
CN104778258A (zh) * | 2015-04-21 | 2015-07-15 | 华中科技大学 | 一种面向协议数据流的数据抽取方法 |
CN105682073A (zh) * | 2016-01-25 | 2016-06-15 | 江苏省邮电规划设计院有限责任公司 | 一种基于lisp技术的移动ip分组的传输方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061861A (zh) * | 2019-03-21 | 2019-07-26 | 广东瑞恩科技有限公司 | 互联网协议配置方法、装置、设备及计算机可读存储介质 |
CN110061861B (zh) * | 2019-03-21 | 2022-08-12 | 广东瑞恩科技有限公司 | 互联网协议配置方法、装置、设备及计算机可读存储介质 |
CN111949249A (zh) * | 2019-05-14 | 2020-11-17 | 百度(美国)有限责任公司 | 用于基于Protobuf的项目的通用验证方法 |
CN111949249B (zh) * | 2019-05-14 | 2023-12-01 | 百度(美国)有限责任公司 | 用于基于Protobuf的项目的通用验证方法 |
CN110381056B (zh) * | 2019-07-17 | 2021-08-03 | 钛马信息网络技术有限公司 | 基于Netty的私有协议编解码方法及装置 |
CN110381056A (zh) * | 2019-07-17 | 2019-10-25 | 钛马信息网络技术有限公司 | 基于Netty的私有协议编解码方法及装置 |
CN110601980B (zh) * | 2019-08-26 | 2022-01-14 | 中国第一汽车股份有限公司 | 一种车载终端的通信方法、系统及存储介质 |
CN110601980A (zh) * | 2019-08-26 | 2019-12-20 | 中国第一汽车股份有限公司 | 一种车载终端的通信方法、系统及存储介质 |
CN110515905A (zh) * | 2019-08-28 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种路由的配置的方法、装置以及服务器 |
CN110515905B (zh) * | 2019-08-28 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 一种路由的配置的方法、装置以及服务器 |
CN111460020A (zh) * | 2020-04-02 | 2020-07-28 | 北京字节跳动网络技术有限公司 | 用于解析消息的方法、装置、电子设备和介质 |
CN111460020B (zh) * | 2020-04-02 | 2023-09-08 | 抖音视界有限公司 | 用于解析消息的方法、装置、电子设备和介质 |
CN113810340A (zh) * | 2020-06-12 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、设备及计算机可读存储介质 |
CN113810340B (zh) * | 2020-06-12 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、设备及计算机可读存储介质 |
CN111953781A (zh) * | 2020-08-13 | 2020-11-17 | 北京金山云网络技术有限公司 | 处理访问请求的方法、装置及电子设备 |
CN112235651B (zh) * | 2020-10-12 | 2022-08-12 | 北京金山云网络技术有限公司 | 配置参数选择方法、装置、设备及存储介质 |
CN112235651A (zh) * | 2020-10-12 | 2021-01-15 | 北京金山云网络技术有限公司 | 配置参数选择方法、装置、设备及存储介质 |
CN113079198B (zh) * | 2021-03-18 | 2022-07-01 | 青岛海信智慧生活科技股份有限公司 | 一种云平台接口协议转换的方法及装置 |
CN113079198A (zh) * | 2021-03-18 | 2021-07-06 | 青岛海信智慧生活科技股份有限公司 | 一种云平台接口协议转换的方法及装置 |
CN113206836A (zh) * | 2021-04-12 | 2021-08-03 | 河海大学 | 一种工业互联网中api网关实现协议转换的方法 |
CN116016345A (zh) * | 2022-12-05 | 2023-04-25 | 四川大学 | 一种基于自定义协议描述语言的网络流量还原方法 |
WO2024119384A1 (zh) * | 2022-12-06 | 2024-06-13 | 北京航天长征飞行器研究所 | 一种动态可配置的应用层通信协议测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108696381B (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696381A (zh) | 一种协议配置方法及装置 | |
CN108334387B (zh) | 动态界面渲染方法及装置 | |
CN111344693B (zh) | 动态和分布式计算系统中的聚合 | |
CN109213519B (zh) | 一种异构api适配处理方法及系统 | |
CN111338637B (zh) | 一种代码生成方法及装置 | |
CN110249307A (zh) | 用于在区块链上执行原生合约的系统和方法 | |
CN108519967A (zh) | 图表可视化方法、装置、终端和存储介质 | |
CN115640045B (zh) | 基于领域驱动设计的低代码开发平台及业务系统创建方法 | |
CN110673839B (zh) | 分布式工具配置化构建生成方法及系统 | |
CN103092602A (zh) | 软件开发套件以及终端装置 | |
CN113641591B (zh) | 测试用例生成方法及装置、测试方法及装置 | |
CN102929646A (zh) | 应用程序生成方法及装置 | |
CN110737425B (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN111522840B (zh) | 标签的配置方法、装置、设备及计算机可读存储介质 | |
CN110084567A (zh) | 电子印章使用方法、装置、设备及计算机可读存储介质 | |
US20230185639A1 (en) | Mapping application programming interface schemas with semantic representations | |
CN116991929A (zh) | 基于医院大数据的微服务系统 | |
CN115168365B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
Zhou et al. | An interactive and reductive graph processing library for edge computing in smart society | |
CN114285859B (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN113608746B (zh) | 一种代码转换处理方法、装置、计算机设备和存储介质 | |
CN112181407B (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN114579132A (zh) | 一种转换文件生成方法、装置、电子设备及存储介质 | |
US20190087165A1 (en) | System and method for implementing dynamic strategies of computing infrastructure using a domain-specific language for cloud services infrastructure | |
CN110377401A (zh) | 基于idea的事务请求处理方法、装置、服务器和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |