一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式系统数据透传方法、装置、存储介质及系统与流程

2022-05-17 21:19:08 来源:中国专利 TAG:


1.本发明涉及数据处理领域,特别是涉及分布式系统数据透传方法、装置、存储介质及系统。


背景技术:

2.在微服务架构的分布式系统场景中,服务消费者和服务提供者之间通过定义的api接口进行远程程序调用交互数据的传输,这些数据包含api接口标识和api参数,其中,api参数用于满足具体业务服务的数据要求。在复杂的微服务系统中,除api参数外,还需要有一些数据在远程程序调用交互中进行透传,以作为api参数的动态补充,以及供运行在系统中的中间件和基础框架使用,这些透传的数据在传输时不会对api接口产生影响。
3.现有技术中分布式系统的透传方法主要是各中间件为满足自身的数据透传场景而独立实现各自的功能模块,这种处理方法中的数据参数基本都是固定的,不便设置动态参数,不利于其他中间件或基础框架的集成使用。
4.因此,如何在分布式系统中进行灵活、可扩展的数据透传是一个亟待解决的问题。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种分布式系统数据透传方法、装置、存储介质及系统,用于解决现有技术中无法在分布式系统中进行灵活、可扩展的数据透传的问题。
6.为实现上述目的及其他相关目的,本发明提供一种分布式系统数据透传方法,包括以下步骤:获取客户端发送的第一传输协议请求;基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据;并将所述透传数据添加至透传数据容器中;基于第二传输协议,从所述透传数据容器中取出所述透传数据;标识所述透传数据,并将标识后的透传数据添加至网关发送的第二传输协议请求中,以发送至目的地址。
7.于本发明的一实施例中,所述基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据,包括:基于所述第一传输协议请求头,获取透传标识;当得到所述透传标识时,确定所述透传标识对应的透传数据;当未得到所述透传标识时,获取所述第一传输协议请求头中所述逻辑组装模块定义的透传数据对应的字段;基于所述字段,确定所述字段对应到的所述透传数据;当基于所述字段未得到所述透传数据时,对预定义可解析的字段进行解析,以得到所述字段解析后对应的透传数据。
8.于本发明的一实施例中,所述将标识后的透传数据添加至网关发送的第二传输协议请求中,以发送至目的地址,包括:第二传输协议的服务器接收所述第二传输协议请求;基于所述第二传输协议请求,应用所述透传协议层模块,确定所述透传数据;并将所述透传数据添加至所述服务器对应的透传数据容器中;基于所述第二传输协议,所述服务器从所述服务器对应的透传数据容器中取出所述透传数据;标识所述透传数据,并将标识后的透传数据添加至服务器发送的第二传输协议请求中,以发送给所述目的地址。
9.于本发明的一实施例中,第一传输协议和所述第二传输协议不同。
10.于本发明的一实施例中,所述将所述透传数据添加至透传数据容器中之后,还包括:从所述透传数据容器中取出所述透传数据;标识所述透传数据,并将标识后的透传数据添加至所述网关发送的所述第一传输协议的第二请求中,将所述第二请求直接发送至所述目的地址。
11.于本发明的一实施例中,所述透传数据容器配置在所述网关的内存中。
12.对应地,本发明提供一种分布式系统数据透传装置,包括:获取模块,用于获取客户端发送的第一传输协议请求;确定模块,用于基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据;并将所述透传数据添加至透传数据容器中;第一处理模块,用于基于第二传输协议,从所述透传数据容器中取出所述透传数据;第二处理模块,用于标识所述透传数据,并将标识后的透传数据添加至网关发送的第二传输协议请求中,以发送至目的地址。
13.其中,所述透传协议层模块包括:协议管理模块、协议对接模块、逻辑组装模块以及逻辑处理模块;所述协议管理模块,用于对接的协议注册和处理逻辑的定义管理;所述协议对接模块,用于定义不同交互协议中执行透传协议的透传入口,以及透传处理流程的执行;所述逻辑组装模块,用于基于所述协议管理模块中的处理逻辑的定义创建逻辑处理对象,包括透传数据接收处理器、交互协议参数透传数据抓取处理器、交互协议头部透传数据抓取处理器以及交互协议头部字段解析透传处理器;所述逻辑处理模块,用于交互协议对接透传协议的逻辑处理的实现,包括透传数据接收处理器和透传数据发送处理器。
14.所述确定模块,具体用于:基于所述第一传输协议请求头,获取透传标识;当得到所述透传标识时,确定所述透传标识对应的透传数据;当未得到所述透传标识时,获取所述第一传输协议请求头中所述逻辑组装模块定义的透传数据对应的字段;基于所述字段,确定所述字段对应到的所述透传数据;当基于所述字段未得到所述透传数据时,对令牌字段进行解析,以得到所述透传数据。
15.本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的分布式系统数据透传方法。
16.本发明提供一种分布式系统数据透传系统,包括存储器,用于存储计算机程序;处理器,用于运行所述计算机程序以实现上述的分布式系统数据透传方法。
17.如上所述,本发明的分布式系统数据透传方法及装置,具有以下有益效果:
18.(1)能够提供多种远程程序调用交互数据的透传,具有很高的可扩展性。
19.(2)能够适用于异构分布式系统的数据透传场景,为不同的开发语言的数据透传提供低成本的接入和使用。
20.(3)能够对中间件和基础框架提供数据透传的支撑能力,省去了其中的数据透传模块的研发成本,提高研发效率。
附图说明
21.图1显示为本发明的分布式系统数据透传方法于一实施例中的流程图。
22.图2显示为本发明的分布式系统数据透传方法于一实施例中的透传数据传输流程图。
23.图3显示为本发明的分布式系统数据透传方法于一实施例中的实例示意图。
24.图4显示为本发明的分布式系统数据透传装置于一实施例中的结构示意图。
25.图5显示为本发明的分布式系统数据透传方法于一实施例中的透传协议层模块图。
26.图6显示为本发明的分布式系统数据透传装置于一实施例中的分布式系统数据透传系统图。
27.元件标号说明
28.41
ꢀꢀꢀꢀꢀꢀꢀꢀ
获取模块
29.42
ꢀꢀꢀꢀꢀꢀꢀꢀ
确定模块
30.43
ꢀꢀꢀꢀꢀꢀꢀꢀ
第一处理模块
31.44
ꢀꢀꢀꢀꢀꢀꢀꢀ
第二处理模块
32.51
ꢀꢀꢀꢀꢀꢀꢀꢀ
协议管理模块
33.52
ꢀꢀꢀꢀꢀꢀꢀꢀ
协议对接模块
34.53
ꢀꢀꢀꢀꢀꢀꢀꢀ
逻辑组装模块
35.54
ꢀꢀꢀꢀꢀꢀꢀꢀ
逻辑处理模块
36.61
ꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
37.62
ꢀꢀꢀꢀꢀꢀꢀ
存储器
具体实施方式
38.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
39.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
40.本发明的分布式系统数据透传方法及装置,能够提供多种远程程序调用交互数据的透传,具有很高的可扩展性;并且能够适用于异构分布式系统的数据透传场景,为不同的开发语言的数据透传提供低成本的接入和使用;此外,能够对中间件和基础框架提供数据透传的支撑能力,省去了其中的数据透传模块的研发成本,提高研发效率。
41.如图1所示,于本实施例中,本发明的分布式系统数据透传方法包括以下步骤:
42.步骤s1、获取客户端发送的第一传输协议请求。
43.具体地,在分布式系统中当有数据透传需求时,客户端至网关的传输协议为第一传输协议,在客户端发送第一传输协议请求前,将透传数据添加至第一传输协议请求的第一传输协议请求头中,和传输数据一起发送至网关。
44.步骤s2、基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据;并将所述透传数据添加至透传数据容器中。
45.具体地,所述透传协议层模块包括:协议管理模块、协议对接模块、逻辑组装模块以及逻辑处理模块;所述协议管理模块,用于对接的协议注册和处理逻辑的定义管理;所述协议对接模块,用于定义不同交互协议中执行透传协议的透传入口,以及透传处理流程的执行;所述逻辑组装模块,用于基于所述协议管理模块中的处理逻辑的定义创建逻辑处理对象,包括透传数据接收处理器、交互协议参数透传数据抓取处理器、交互协议头部透传数据抓取处理器以及交互协议头部字段解析透传处理器;所述逻辑处理模块,用于交互协议对接透传协议的逻辑处理的实现,包括透传数据接收处理器和透传数据发送处理器。
46.进一步具体地,如图2所示,于本实施例中,本发明的透传数据传输流程图。在透传协议层的模块设置好后,基于透传协议和交互协议的对接以及数据传输网络流程,确定透传数据的传输流程,包括:由逻辑处理层21对透传数据进行预先处理,通过透传协议层22发送包含透传数据的传输协议请求,并将添加有透传数据的传输协议请求传递至通信交互层23,通过网络传输24发送至接收端,接收端通过通信交互层23接收包含透传数据的传输协议请求,并通过透传协议层22从传输协议请求中获取透传数据,再通过逻辑处理层21对透传数据进行操作处理,从而完成透传数据的全链路透传。
47.进一步具体地,基于所述第一传输协议请求头,获取透传标识;当得到所述透传标识时,确定所述透传标识对应的透传数据;当未得到所述透传标识时,获取所述第一传输协议请求头中所述逻辑组装模块定义的透传数据对应的字段;基于所述字段,确定所述字段对应到的所述透传数据;当基于所述字段未得到对应的透传数据时,对预定义可解析的字段进行解析,以得到所述字段解析后对应的透传数据。
48.举例来说,预先设定的透传数据的透传标识为_tt_m_,客户端现在有透传数据的需求,需要将透传数据从超文本传输协议(hyper text transfer protocol,http)的通信网络传递至分布式服务框架协议dubbo协议的通信网络中。先由客户端将透传数据添加至第一传输协议请求中,将包含有透传数据的第一传输协议请求和传输的数据传输发送至网关,其中,客户端和网关之间的第一传输协议为http协议;网关再与dubbo协议的服务器通信连接,dubbo协议的服务器通过第二传输协议dubbo协议与请求的目的地址连接。预先基于http协议和透传协议层的模块,在透传协议层的逻辑组装模块中对透传处理的逻辑定义有4个,分别对应4个透传输入处理器,包括http协议的透传数据接收处理器;http协议参数透传数据抓取处理器;http协议头部透传数据抓取处理器;以及对http协议头部中字段解析的解析透传处理器。通过http协议提交的数据有接口的业务数据、公共的数据等,其中,公共的数据对应的字段包括令牌字段等;并预先基于dubbo协议和透传协议层的模块,在透传协议层的逻辑组装模块中对透传处理的逻辑定有4个,分别对应4个透传输入处理器,包括dubbo协议的透传数据接收处理器;dubbo协议参数透传数据抓取处理器;dubbo协议头部透传数据抓取处理器;以及对dubbo协议头部中字段解析的解析透传处理器。网关是网络服务器,预先通过协议透传对接的抽象对象和透传处理的逻辑定义创建一组http协议相关的透传接收处理器;以及一组dubbo协议相关的透传发送处理器。在实际的透传数据传输场景中,首先是从http协议请求头中根据请求头名称是否包含透传标识进行透传数据的获取,当得到透传标识时,确定透传标识对应的透传数据,将透传数据添加至透传数据容器中;当从http协议请求头中未能检测出透传标识时,从http协议请求中获取透传处理的逻辑定义的透传数据对应的字段,基于字段,确定字段对应的透传数据;当通过字段未能获取透传数
据时,再通过对预定义可解析的字段进行解析,以得到字段解析后对应的透传数据。
49.进一步具体地,预先在内存中配置有透传数据容器,当识别出透传数据后,将透传数据存入透传数据容器中;这里对透传数据容器做了更高层次的抽象实现,可兼容各种交互协议的实现,以及异步线程之间的透传。
50.步骤s3、基于第二传输协议,从所述透传数据容器中取出所述透传数据。
51.具体地,从透传数据容器中获取透传数据,以对透传数据进行打标识。
52.进一步具体地,在从透传数据容器中未获取到透传数据时,在内存中新创建透传数据容器,并应用代码添加的方式将透传数据添加至透传数据容器中,再从透传数据容器中获取到该新添加的透传数据,以对透传数据进行打标识。
53.步骤s4、标识所述透传数据,并将标识后的透传数据添加至网关发送的第二传输协议请求中,以发送至目的地址。
54.具体地,第二传输协议的服务器接收所述第二传输协议请求;基于所述第二传输协议请求,应用所述透传协议层模块,确定所述透传数据;并将所述透传数据添加至所述服务器对应的透传数据容器中;基于所述第二传输协议,所述服务器从所述服务器对应的透传数据容器中取出所述透传数据;标识所述透传数据,并将标识后的透传数据添加至服务器发送的第二传输协议请求中,以发送给所述目的地址。
55.举例来说,在上述实例中,当网关将添加有透传数据的dubbo协议请求发送至dubbo协议服务器后,dubbo协议服务器基于dubbo协议请求,应用透传协议层模块,确定透传数据,具体地,首先是从dubbo协议请求头中根据请求头名称是否包含透传标识进行透传数据的获取;当得到透传标识时,确定透传标识对应的透传数据,将透传数据添加至透传数据容器中;当从dubbo协议请求头中未能检测出透传标识时,从dubbo协议请求中获取透传处理的逻辑定义的透传数据对应的字段,基于字段,确定字段对应的透传数据;当通过字段未能获取透传数据时,再通过对预定义可解析的字段进行解析,以得到字段解析后对应的透传数据。并将透传数据添加至透传数据容器中,基于dubbo协议,dubbo协议服务器从透传数据容器中取出透传数据,并标识透传数据,将标识后的透传数据添加至dubbo协议请求中,发送至目的地址。
56.进一步具体地,第一传输协议和所述第二传输协议不同。上述实例中的交互协议不止一个,其中,第一传输协议为http协议,第二传输协议为dubbo协议;是在多个交互协议关联的全链路中进行的数据透传处理;在另一些实例场景中,数据透传处理的交互协议可以根据实际网络传输场景扩展至更多个协议;或者,数据透传处理也可在同一交互协议中进行传输处理。
57.同一交互协议的数据透传处理过程如下。
58.获取客户端发送的第一传输协议请求;基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据;并将所述透传数据添加至透传数据容器中;从所述透传数据容器中取出所述透传数据;标识所述透传数据,并将标识后的透传数据添加至所述网关发送的所述第一传输协议的第二请求中,将所述第二请求直接发送至所述目的地址。
59.举例来说,预先设定的透传数据的透传标识为_tt_m_,客户端现在有透传数据的需求,需要将透传数据在http协议的通信网络中传输至目的地址。先由客户端将透传数据
添加至http协议请求中,将包含有透传数据的http协议请求和传输的数据传输发送至网关。预先基于http协议和透传协议层的模块,在透传协议层的逻辑组装模块中对透传处理有4个逻辑定义,分别对应4个透传输入处理器,包括http协议的透传数据接收处理器;http协议参数透传数据抓取处理器;http协议头部透传数据抓取处理器;以及对http协议头部中字段解析的解析透传处理器。通过http协议提交的数据有接口的业务数据、公共的数据等,其中,公共的数据对应的字段包括令牌字段等;对网关预先通过协议透传对接的抽象对象和透传处理的逻辑定义创建一组http协议相关的透传接收处理器。在实际的透传数据传输场景中,首先是从http协议请求头中根据请求头名称是否包含透传标识进行透传数据的获取,当得到透传标识时,确定透传标识对应的透传数据,将透传数据添加至透传数据容器中;当从http协议请求头中未能检测出透传标识时,从http协议请求中获取透传处理的逻辑定义的透传数据对应的字段,基于字段,确定字段对应的透传数据;当通过字段未能获取透传数据时,再通过对预定义可解析的字段进行解析,以得到字段解析后对应的透传数据。再将透传数据添加至透传数据容器中;当网关需要将透传数据传输至目的地址时,网关从透传数据容器中取出透传数据;标识透传数据,并将标识后的透传数据添加至网关发送的http协议的第二请求中,网关将第二请求直接发送至目的地址。如图3所示,于本实施例中,本发明的实例示意图。当有接收透传数据的请求时,基于第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据31。具体地,首先是从第一传输协议请求头中根据请求头名称是否包含透传标识进行透传数据的获取,当得到透传标识时,确定透传标识对应的透传数据,将透传数据添加至透传数据容器中;当从第一传输协议请求头中未能检测出透传标识时,从第一传输协议请求中获取透传处理的逻辑定义的透传数据对应的字段,基于字段,确定字段对应的透传数据;当通过字段未能获取透传数据时,再通过对预定义可解析的字段进行解析,以得到字段解析后对应的透传数据;在得到透传数据32后,将透传数据添加至透传数据容器中33。当有发送透传数据的请求时,比如网关需要将透传数据传输至某一目的地址34时,网关从透传数据容器中取出透传数据35;标识透传数据,并将标识后的透传数据添加至网关发送的第二传输协议的第二请求36中,网关将第二请求发送至相应的目的地址。
60.如图4所示,于本实施例中,本发明的分布式系统数据透传装置包括:
61.获取模块41,用于获取客户端发送的第一传输协议请求;
62.确定模块42,用于基于所述第一传输协议请求,应用预设的透传协议层模块,确定待传输的透传数据;并将所述透传数据添加至透传数据容器中;
63.第一处理模块43,用于基于第二传输协议,从所述透传数据容器中取出所述透传数据;
64.第二处理模块44,用于标识所述透传数据,并将标识后的透传数据添加至网关发送的第二传输协议请求中,以发送至目的地址。
65.其中,所述透传协议层模块包括:协议管理模块、协议对接模块、逻辑组装模块以及逻辑处理模块;所述协议管理模块,用于对接的协议注册和处理逻辑的定义管理;所述协议对接模块,用于定义不同交互协议中执行透传协议的透传入口,以及透传处理流程的执行;所述逻辑组装模块,用于基于所述协议管理模块中的处理逻辑的定义创建逻辑处理对象,包括透传数据接收处理器、交互协议参数透传数据抓取处理器、交互协议头部透传数据
抓取处理器以及交互协议头部字段解析透传处理器;所述逻辑处理模块,用于交互协议对接透传协议的逻辑处理的实现,包括透传数据接收处理器和透传数据发送处理器。所述确定模块42,具体用于:基于所述第一传输协议请求头,获取透传标识;当得到所述透传标识时,确定所述透传标识对应的透传数据;当未得到所述透传标识时,获取所述第一传输协议请求头中所述逻辑组装模块定义的透传数据对应的字段;基于所述字段,确定所述字段对应到的所述透传数据;当基于所述字段未得到所述透传数据时,对令牌字段进行解析,以得到所述透传数据。
66.进一步具体地,如图5所示,于本实施例中,本发明的透传协议层模块图;透传协议层模块包括:协议管理模块51、协议对接模块52、逻辑组装模块53以及逻辑处理模块54。其中,协议管理模块51,用于在应用定义的透传协议层的模块进行工作时,创建不同协议的透传对接协议实现,使用缓存策略有效提升协议对接实现的获取性能;处理逻辑的定义可以通过接口实现更新。
67.协议对接模块52,用于交互协议和透传协议的对接,当协议管理模块的处理逻辑定义发生改变时,通过协议对接模块对逻辑组装模块中的处理逻辑进行新的组装。其中,包括协议透传对接的抽象对象,交互协议根据这个抽象对象实现透传协议的对接。
68.逻辑组装模块53,用于通过协议管理模块中的处理逻辑的定义创建逻辑处理对象,并包装成列表,该模块使用迭代器的方式对逻辑处理进行合理编排,从而减少中间过程的判断,提升执行速度。其中,包括:透传处理的逻辑定义、透传数据的接收器以及透传数据的发送器;由协议对接模块中的抽象对象维护透传数据的接收器和透传数据的发送器;透传数据的接收器用于维护一组由透传处理的逻辑定义指定的逻辑处理模块中的透传数据输入处理器;透传数据的发送器用于维护一组由透传处理的逻辑定义指定的逻辑处理模块中的透传数据输出处理器;透传处理的逻辑定义根据该定义创建多个透传逻辑处理器,包括:透传数据接收处理器、交互协议参数透传数据抓取处理器、交互协议头部透传数据抓取处理器以及交互协议头部字段解析透传处理器。
69.逻辑处理模块54,即具体的透传逻辑都是该模块完成的,该模块将每个单独的数据透传逻辑包装成透传输入者和透传输出者,每个单独的数据透传逻辑用于接收包含透传数据的请求和将包含透传数据的请求发送的传递。其中,包括:透传数据接收处理器和透传数据输发送处理器。
70.本实施例的分布式系统数据透传装置具体实现的技术特征与实施例1分布式系统数据透传方法中的各步骤的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
71.本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述的分布式系统数据透传方法。
72.如图6所示,于本实施例中,本发明的分布式系统数据透传系统包括:处理器61及存储器62。
73.所述存储器62用于存储计算机程序。
74.所述存储器62包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
75.所述处理器61与所述存储器62相连,用于执行所述存储器62存储的计算机程序,
以使所述分布式系统数据透传系统执行上述的分布式系统数据透传方法。
76.优选地,上述的处理器61可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)、图形处理器(graphic processing unit,gpu)等,其中,在实际应用中,主要采用的通用处理器是图形处理器;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
77.综上所述,本发明的分布式系统数据透传方法及装置,能够提供多种远程程序调用交互数据的透传,具有很高的可扩展性;并且能够适用于异构分布式系统的数据透传场景,为不同的开发语言的数据透传提供低成本的接入和使用;此外,能够对中间件和基础框架提供数据透传的支撑能力,省去了其中的数据透传模块的研发成本,提高研发效率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
78.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献