一种协议转换方法及装置与流程

文档序号:30381196发布日期:2022-06-11 04:07阅读:152来源:国知局
一种协议转换方法及装置与流程

1.本发明涉及计算机及信息技术领域,具体而言,涉及一种协议转换方法及装置。


背景技术:

2.随着互联网技术的快速发展,越来越多的交互行为通过互联网络来实现,例如,金融、证券等交易系统给人们的生活带来了极大的改变。这类交易系统主要是以cpack协议为基准进行搭建,但是,围绕交易系统所做的一些周边系统大多是以java为主的开发语言所搭建,跨语言、协议的系统间为实现正常的通信交互,对协议进行转换操作则是十分必要的。但是,现有技术中目前并不存在这样的协议转换网关组件,导致各交易系统运营商必须要针对性开发协议转换模块,导致开发成本特别高。


技术实现要素:

3.为了至少解决上述背景技术中存在的技术问题,本发明提供了一种协议转换方法、装置、电子设备及存储介质。
4.本发明的第一方面提供了一种协议转换方法,包括如下步骤:
5.接收接入模块发送的握手信号,对所述握手信号进行解析以提取出第一信号;
6.根据所述第一信号确定所述接入模块的协议属性,根据所述协议属性确定目标接口;
7.将所述接入模块与所述目标接口进行接通;
8.其中,所述握手信号通过支持通用协议的通用接口传入,所述目标接口关联有与所述协议属性对应的转换协议。
9.可选地,所述第一信号还包括信号预估传输量;
10.则所述根据所述协议属性确定目标接口,包括:
11.根据所述协议属性确定转换难度,根据所述转换难度和所述信号预估传输量确定目标接口。
12.可选地,在所述根据所述协议属性确定目标接口之后,所述方法还包括:
13.根据所述协议属性调取对应的转换协议,将所述转换协议置入所述目标接口。
14.可选地,所述将所述接入模块与所述目标接口进行接通,包括:
15.获取所述目标接口的接口id并传输给所述接入模块,以及,获取所述接入模块的模块id并传输给所述目标接口;
16.所述接入模块与所述目标接口之间进行交互验证,在验证通过之后,建立所述接入模块与所述目标接口之间的通信连接。
17.可选地,所述方法应用于客户端或服务器端。
18.可选地,当所述方法应用于服务器端时,所述目标接口根据实时通信数据确定是否执行熔断或限流。
19.可选地,所述目标接口根据实时通信数据确定是否执行熔断或限流,包括:
20.根据所述实时通信数据计算得出实时信号传输量;
21.计算所述实时信号传输量与所述信号预估传输量之间的差值,若所述差值大于第一阈值,则执行熔断或限流。
22.本发明的第二方面提供了一种协议转换装置,包括处理模块、存储模块、通信模块,所述处理模块分别与所述存储模块和所述通信模块连接;其中,
23.所述存储模块,用于存储可执行的计算机程序代码;
24.所述通信模块,用于实现所述接入模块和所述目标接口与所述处理模块的通信连接;
25.所述处理模块,用于通过调用所述存储模块中的所述可执行的计算机程序代码,执行如前任一项所述的方法。
26.本发明的第三方面提供了一种电子设备,包括:
27.存储有可执行程序代码的存储器;
28.与所述存储器耦合的处理器;
29.所述处理器调用所述存储器中存储的所述可执行程序代码,执行如前任一项所述的方法。
30.本发明的第四方面提供了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上任一项所述的方法。
31.本发明的方案,接收接入模块发送的握手信号,对所述握手信号进行解析以提取出第一信号;根据所述第一信号确定所述接入模块的协议属性,根据所述协议属性确定目标接口;将所述接入模块与所述目标接口进行接通;其中,所述握手信号通过支持通用协议的通用接口传入,所述目标接口关联有与所述协议属性对应的转换协议。于是,本发明的方案一方面可以预先建立多个接口,而不同的接口支持不同转换协议(即将grpc、http、webservice等协议转换为cpack协议),于是,在增加了新的接口或有新的接入模块时,就无需再次针对该接入模块开发转换协议,极大的降低了交易系统的开发成本;另一方面,本发明的方案在新增接口时,接入模块与协议转换装置之间可以自动交互、识别并最终实现接口的对接,整个过程无需用户过多参与,极大的提高了接口配对效率。
附图说明
32.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
33.图1是本发明实施例公开的一种协议转换方法的流程示意图;
34.图2是本发明实施例公开的一种协议转换装置的结构示意图;
35.图3是本发明实施例公开一种电子设备的结构示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
38.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
39.本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一输入、第二输入、第三输入和第四输入等是用于区别不同的输入,而不是用于描述输入的特定顺序。
40.在本发明实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
41.在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元;多个元件是指两个或者两个以上的元件等。
42.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
43.实施例一
44.请参阅图1,图1是本发明实施例公开的一种协议转换方法的流程示意图。如图1所示,本发明实施例的一种协议转换方法,包括如下步骤:
45.接收接入模块发送的握手信号,对所述握手信号进行解析以提取出第一信号;
46.根据所述第一信号确定所述接入模块的协议属性,根据所述协议属性确定目标接口;
47.将所述接入模块与所述目标接口进行接通;
48.其中,所述握手信号通过支持通用协议的通用接口传入,所述目标接口关联有与所述协议属性对应的转换协议。
49.在本发明实施例中,随着各类交易系统功能模块的增加,交易系统周边的各类接入模块越来越多,而不同的接入模块所基于的协议存在诸多不同,尤其是与交易系统本身的协议不同,例如,交易系统一般是基于cpack协议搭建,而周边接入模块的协议包括grpc、http、webservice等,于是,协议转换进行成了交易系统与各接入模块实现正常通信的必要条件。
50.有鉴于此,本发明构建了一种协议转换装置,其可以实施于交易系统和各接入模块之间,如上述方法所述,协议转换装置本身具有通用接口和若干支持其它协议的接口,其中,通用接口可以接收接入模块发送的握手信号,由于握手信号是通过通用协议传输而来,所以,本发明的协议转换装置可以识别握手信号所携带的信息,进而确定对应接入模块所支持的协议属性,然后再从前述的若干支持其它协议的接口中筛选出对应该协议属性的接口,将该接入模块与筛选出的接口进行关联接通,这样即可实现交易系统与对应接入模块
的正常通信连接。本发明的方案可以预先建立多个接口,而不同的接口支持不同转换协议(即将grpc、http、webservice等协议转换为cpack协议),于是,在增加了新的接口或有新的接入模块时,就无需再次针对该接入模块开发转换协议,极大的降低了交易系统的开发成本;而且,本发明的方案在新增接口时,接入模块与协议转换装置之间可以自动交互、识别并最终实现接口的对接,整个过程无需用户过多参与,极大的提高了接口配对效率。
51.需要进行说明的是,本发明中的通用协议可以是最基础或最简单的协议,例如udp协议,相应地,协议转换模块和接入模块都应支持该协议。
52.可选地,所述第一信号还包括信号预估传输量;
53.则所述根据所述协议属性确定目标接口,包括:
54.根据所述协议属性确定转换难度,根据所述转换难度和所述信号预估传输量确定目标接口。
55.在本发明实施例中,grpc、http、webservice协议与cpack协议的转换难度是不同的,转换难度主要体现在转换算力需求上,可以预先设置;同时,接入模块的信号预估传输量也是不同的;另外,多个具有相同协议的接入模块可能会同时接入相同的接口,此时,在选择目标接口时就有必要考虑对应接口额剩余转换能力。有鉴于此,本发明根据转换难度和信号预估传输量来选择合适的目标接口,例如,根据对应转换难度和信号预估传输量确定转换需求值,将其与各接口(支持同类协议)的剩余转换能力值进行匹配计算,如此,便可以确定出最佳的目标接口,这样就可以有效保障交易系统与各接入模块之间的通信畅通、可靠,同时还能减少对接口的使用,有利于后续接入更多的接入模块。
56.可选地,在所述根据所述协议属性确定目标接口之后,所述方法还包括:
57.根据所述协议属性调取对应的转换协议,将所述转换协议置入所述目标接口。
58.在本发明实施例中,相对于前述方案的改进在于,该实施例中协议转换装置中预设的接口为空接口,即这些接口中并没有预先安装对应的转换协议,转换协议预先置于转换协议库中,如此设置,能够降低接口的空置率,更加有利于接口的高效使用,同时,也免去了用户在创建新的接口之后对接口进行配置操作,实际操作中,用户仅需根据实际需要来创建新接口即可。
59.可选地,所述将所述接入模块与所述目标接口进行接通,包括:
60.获取所述目标接口的接口id并传输给所述接入模块,以及,获取所述接入模块的模块id并传输给所述目标接口;
61.所述接入模块与所述目标接口之间进行交互验证,在验证通过之后,建立所述接入模块与所述目标接口之间的通信连接。
62.在本发明实施例中,在确定出目标接口即建立了目标接口与对应接入模块的关联关系之后,协议转换装置就可以将目标接口的接口id和接入模块的模块id分别进行交互传输,以使二者均知晓对方的id,然后再进行二者间的交互验证,当交互验证通过之后即可建立二者之间的通信连接,最终实现了交易系统与接入模块之间的通信连接。
63.其中,需要进行说明的是,前述涉及的交互验证可以采用多种方式,例如,目标接口接收接入模块发送的验证信息,目标接口据此分析:1,基于可信根对接入模块的系统引导程序、系统程序、重要配置参数和关键应用程序等进行可信验证。当然,上述交互验证仅为举例说明,并非用于限定本发明的保护范围,本发明并不排斥其它交互验证方式,在此不
再赘述。
64.可选地,所述方法应用于客户端或服务器端。
65.在本发明实施例中,协议转换方法的实施端可以是客户端(client),也可以是服务器端(server),拓展了应用范围,使得交易系统具有更强的适应性。例如,当本发明的协议转换方法应用于客户端时,交易系统的服务器端就不需要布设需要应对协议转换所需要的协议转换装置,也就可以降低服务器端的算力要求,能够提升交易系统的稳定性、可靠性、高效性。
66.可选地,当所述方法应用于服务器端时,所述目标接口根据实时通信数据确定是否执行熔断或限流。
67.在本发明实施例中,当本发明的方法应用于服务器端时,为了避免因为过载、受到网络攻击等原因导致的服务器降速甚至崩溃,本发明进一步设置目标接口可以实时通信数据确定是否执行熔断或限流。
68.可选地,所述目标接口根据实时通信数据确定是否执行熔断或限流,包括:
69.根据所述实时通信数据计算得出实时信号传输量;
70.计算所述实时信号传输量与所述信号预估传输量之间的差值,若所述差值大于第一阈值,则执行熔断或限流。
71.在本发明实施例中,由于在接入模块请求接入时已经传输了信号预估传输量,而信号预估传输量是用户或接入模块基于自身的实际数据预测得出的合理的信号传输量,所以,当目标接口监测到的实时信号传输量明显高于信号预估传输量时,即可判定存在异常,此时可以根据超出程度决定执行熔断或限流操作,以保护服务器的正常运行。
72.其中,需要进行说明的是,对于熔断或限流操作,即可以通过预设程序调节目标接口的上传通道限制来实现,也可以通过调节转换协议的工作效率来实现,本发明对此不作限定。
73.实施例二
74.请参阅图2,图2是本发明实施例公开的一种协议转换装置的结构示意图。如图2所示,本发明实施例的一种协议转换装置100,包括处理模块101、存储模块102、通信模块103,所述处理模块101与所述存储模块102和所述通信模块103连接;其中,
75.所述存储模块102,用于存储可执行的计算机程序代码;
76.所述通信模块103,用于实现接入模块和目标接口与所述处理模块101的通信连接;
77.所述处理模块101,用于通过调用所述存储模块102中的所述可执行的计算机程序代码,执行如实施例一所述的方法。
78.该实施例中的一种协议转换装置的具体功能参照上述实施例一,由于本实施例中的装置采用了上述实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
79.实施例三
80.请参阅图3,图3是本发明实施例公开的一种电子设备,包括:
81.存储有可执行程序代码的存储器;
82.与所述存储器耦合的处理器;
83.所述处理器调用所述存储器中存储的所述可执行程序代码,执行如实施例一所述的方法。
84.实施例四
85.本发明实施例还公开了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如实施例一所述的方法。
86.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
87.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
88.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
89.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
90.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
91.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
92.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
93.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1