CN114938387B - 一种数据传输方法、装置、系统及存储介质 - Google Patents
一种数据传输方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN114938387B CN114938387B CN202210865466.2A CN202210865466A CN114938387B CN 114938387 B CN114938387 B CN 114938387B CN 202210865466 A CN202210865466 A CN 202210865466A CN 114938387 B CN114938387 B CN 114938387B
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- type
- data
- requirement
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 230000005540 biological transmission Effects 0.000 title claims abstract description 96
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000002457 bidirectional effect Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Exchange Systems With Centralized Control (AREA)
Abstract
本申请提供一种数据传输方法、装置、系统及存储介质,属于服务通信技术领域。该方法包括:调用服务获取待调用的目标服务的调用需求信息;调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;调用服务根据服务调用类型以及数据编码类型调用目标服务。本申请可以根据实际调用的需求选择对应的调用方式,统一调用的执行过程,降低整个分布式系统的负荷,提高分布式系统的整体性能。
Description
技术领域
本申请涉及服务通信技术领域,具体而言,涉及一种数据传输方法、装置、系统及存储介质。
背景技术
在分布式系统中,通常包括前端设备和后端设备,其中,后端设备中可以包括多个模块,在系统作业时,前端设备或者后端设备中的部分模块需要对后端设备的另一部分模块进行服务的调用。
现有技术中,在实现服务的调用时,由于不同的服务所需要的调用方式存在差异,为了实现正常的调用,通常会以各种格式的调用信息同时发送进行调用,被调用方基于可以识别的格式将对应的服务返回。
然而,在每次调用过程中使用多种格式的调用信息进行调用会导致数据流量大增,增加了整个分布式系统的负荷,降低了分布式系统的整体性能。
发明内容
本申请的目的在于提供一种数据传输方法、装置、系统及存储介质,可以根据实际调用的需求选择对应的调用方式,统一调用的执行过程,降低整个分布式系统的负荷,提高分布式系统的整体性能。
本申请的实施例是这样实现的:
本申请实施例的一方面,提供一种数据传输方法,该方法应用于分布式系统,分布式系统中运行有多个目标服务以及调用服务,该方法包括:
调用服务获取待调用的目标服务的调用需求信息;
调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;
调用服务根据服务调用类型以及数据编码类型调用目标服务。
可选地,调用服务根据调用需求信息确定服务调用类型以及数据编码类型,包括:
调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型。
可选地,调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型,包括:
若调用方式需求为高频远程过程调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为二进制编码类型;
若调用方式需求为高频远程过程调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型,包括:
若调用方式需求为消息队列调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为二进制编码类型;
若调用方式需求为消息队列调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:
若调用方式需求为消息队列调用,则调用服务通过第一中间服务调用目标服务,第一中间服务用于进行服务的订阅和转发。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:
若数据编码类型为自解释型编码类型,则调用服务通过第二中间服务调用目标服务,第二中间服务用于进行服务的格式转换和转发。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:
若调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,则调用服务通过第一中间服务和第二中间服务调用目标服务。
本申请实施例的另一方面,提供一种数据传输装置,该装置应用于分布式系统,分布式系统中运行有多个目标服务以及调用服务,该装置包括:获取模块、确定模块、调用模块;
获取模块,用于通过调用服务获取待调用的目标服务的调用需求信息;
确定模块,用于通过调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;
调用模块,用于通过调用服务根据服务调用类型以及数据编码类型调用目标服务。
可选地,确定模块,具体用于通过调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型。
可选地,确定模块,具体用于若调用方式需求为高频远程过程调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为二进制编码类型;若调用方式需求为高频远程过程调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,确定模块,具体用于若调用方式需求为消息队列调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为二进制编码类型;若调用方式需求为消息队列调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,调用模块,具体用于若调用方式需求为消息队列调用,则调用服务通过第一中间服务调用目标服务,第一中间服务用于进行服务的订阅和转发。
可选地,调用模块,具体用于若数据编码类型为自解释型编码类型,则调用服务通过第二中间服务调用目标服务,第二中间服务用于进行服务的格式转换和转发。
可选地,调用模块,具体用于若调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,则调用服务通过第一中间服务和第二中间服务调用目标服务。
本申请实施例的另一方面,提供一种分布式系统,包括:存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述数据传输方法的步骤。
本申请实施例的另一方面,提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述数据传输方法的步骤。
本申请实施例的有益效果包括:
本申请实施例提供的一种数据传输方法、装置、系统及存储介质中,可以由调用服务获取待调用的目标服务的调用需求信息;由调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;由调用服务根据服务调用类型以及数据编码类型调用目标服务。其中,可以根据实际调用的需求选择对应的调用方式,并且在选择调用方式之后,可以统一调用的执行过程,避免使用重复的调用方法进行调用,从而可以降低整个分布式系统的负荷,提高分布式系统的整体性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的分布式系统的场景示意图;
图2为本申请实施例提供的数据传输方法的流程示意图;
图3为本申请实施例提供的数据传输方法的传输示意图;
图4为本申请实施例提供的数据传输方法的另一传输示意图;
图5为本申请实施例提供的数据传输方法的另一传输示意图;
图6为本申请实施例提供的数据传输方法的另一传输示意图;
图7为本申请实施例提供的数据传输方法中数据字段管理模块的工作流程示意图;
图8为本申请实施例提供的数据传输方法中数据字段管理模块的另一工作流程示意图;
图9为本申请实施例提供的数据传输装置的结构示意图;
图10为本申请实施例提供的分布式系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在数据通信的领域中,对于消息队列调用类型中,如某个服务需要接收某个类型的数据用于实时计算,且计算时延不能超过一定的阈值,因此需要使用二进制进行编码,以满足性能要求;而前端需要接收该数据用于看板展示,为了具有可读性,需要使用JSON进行编码,且对性能要求没有前者高,接收到高频数据时允许丢弃部分数据。这就导致了同一个服务在进行调用时存在编码格式选择的问题。
现有技术的一种解决方法是,消息队列调用的发送方在发送数据时,二进制和JSON两种数据都发送,接收方按需接收。这样的做法虽然可以实现自适应的目的,但是两种数据都发送会导致数据流量大增,大大增加了整个分布式系统的负荷,降低了其整体性能,有鉴于此,为了解决现有技术中存在的这一问题,本申请提出了一种数据传输方法。
下面来具体解释本申请实施例中所涉及的分布式系统场景。
图1为本申请实施例提供的分布式系统的场景示意图,请参照图1,在该场景中可以包括前端设备110和后端设备120,其中,前端设备110可以是计算机设备,后端设备120可以是服务器集群,前端设备110可以与后端设备120通信连接。
其中,后端设备120中可以包括多个目标服务,前端设备110和后端设备120中均可以包括多个调用服务。
需要说明的是,调用服务可以是一个进程,用以发起对目标服务的调用,目标服务可以是被调用的服务,可以基于调用服务进行对应的调用。图1中以目标服务和调用服务均设置在后端设备120中为例,实际实施时,调用服务也可以在前端设备110。
可选地,后端设备中,还可以设置有第一中间服务、第二中间服务以及数据字段管理模块,其中,第一中间服务用于进行服务的订阅和转发,第二中间服务用于进行服务的格式转换和转发,数据字段管理模块可以协助第二中间服务进行编码的格式转换。
可选地,在进行某一次服务的调用时,可以是前端设备中的调用服务对后端设备中的目标服务的调用;或者,也可以是后端设备中的调用服务对后端设备中的目标服务的调用,在此不作具体限制,凡是可以在分布式系统中实现均可。
下面来基于上述分布式系统的场景结构来解释本申请实施例中提供的数据传输方法的具体实施过程。
图2为本申请实施例提供的数据传输方法的流程示意图,请参照图2,该方法包括:
S210:调用服务获取待调用的目标服务的调用需求信息。
可选地,该方法的执行主体可以是上述分布式系统整体,在具体执行时,可以通过前端设备或者后端设备中的调用服务来实现。
可选地,调用服务可以获取待调用的目标服务的调用需求信息,其中,调用需求信息具体可以包括服务调用类型以及数据编码类型,服务调用类型指的是服务的调用方式,例如:消息队列调用(MQ,Message Queue)或者远程过程调用(RPC,Remote ProcedureCall)等;数据编码类型可以是服务在传输时采用的编码传输格式,例如:二进制编码或者JSON编码等,在此不作限制。
S220:调用服务根据调用需求信息确定服务调用类型以及数据编码类型。
其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型。
可选地,调用服务确定调用需求信息之后,可以确定目标服务在调用时需要使用的服务调用类型以及数据编码类型。
其中,单向调用类型可以是在调用过程中数据单向传输的类型,例如:消息队列调用;双向调用可以是在调用过程中存在消息的相互传输的类型,例如:远程过程调用。
二进制编码类型可以是在服务传输过程中以线性分组的形式进行编码的方式进行编码,例如:任意类型的二进制编码;自解释型编码类型可以是在服务传输过程中进行交换编码的方式进行编码,例如:JSON编码或者XML编码等,在此不作限制。
S230:调用服务根据服务调用类型以及数据编码类型调用目标服务。
可选地,调用服务确定上述服务调用类型以及数据编码类型之后,可以采用对应方式对目标服务进行调用,也即是可以按照服务调用类型的方式进行调用,在调用过程中服务以数据编码类型进行传输。
需要说明的是,在调用目标服务的过程中,无论采用何种调用方式或者编码方式均可以采用上述过程进行类型的确定,也即是可以实现统一调用的执行过程。
本申请实施例提供的一种数据传输方法中,可以由调用服务获取待调用的目标服务的调用需求信息;由调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;由调用服务根据服务调用类型以及数据编码类型调用目标服务。其中,可以根据实际调用的需求选择对应的调用方式,并且在选择调用方式之后,可以统一调用的执行过程,避免使用重复的调用方法进行调用,从而可以降低整个分布式系统的负荷,提高分布式系统的整体性能。
可选地,调用服务根据调用需求信息确定服务调用类型以及数据编码类型,包括:调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型。
其中,调用方式需求即为调用时采用的调用格式的需求,基于该需求可以确定对应的服务调用类型;数据传输格式需求具体可以是服务在传输调用的过程中使用的编码格式,基于该需求可以确定对应的数据编码类型。
下面来分别解释基于上述四种条件下的数据,确定服务调用类型以及数据编码类型的情况。
可选地,调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型,包括:
(1)若调用方式需求为高频远程过程调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为二进制编码类型。
(2)若调用方式需求为高频远程过程调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为自解释型编码类型。
(3)若调用方式需求为消息队列调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为二进制编码类型。
(4)若调用方式需求为消息队列调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为自解释型编码类型。
需要说明的是,基于上述四种情况,可以得到:若调用方式需求包括消息队列调用,则可以确定服务调用类型为单向调用类型,若调用方式需求包括高频远程过程调用,则可以确定服务调用类型为双向调用类型;若调用方式需求包括无数据可读性要求,则可以确定数据编码类型为二进制编码类型;若调用方式需求包括有数据可读性要求,则可以确定数据编码类型为自解释型编码类型。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:若调用方式需求为消息队列调用,则调用服务通过第一中间服务调用目标服务,第一中间服务用于进行服务的订阅和转发。
其中,若确定调用方式需求为消息队列调用,也即是对于单向调用类型,则可以在传输过程中加入第一中间服务,在数据传输过程中,可以通过第一中间服务进行服务的订阅和转发工作。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:若数据编码类型为自解释型编码类型,则调用服务通过第二中间服务调用目标服务,第二中间服务用于进行服务的格式转换和转发。
其中,若确定数据编码类型为自解释型编码类型,也即是采用有数据可读性要求的服务,则可以在传输过程中加入第二中间服务,在数据传输过程中,可以通过第二中间服务进行服务的格式转换和转发。
需要说明的是,在采用第二中间服务进行格式转换时,可以通过后端设备中的数据字段管理模块协助进行工作。
可选地,调用服务根据调用类型以及数据编码类型调用目标服务,包括:若调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,则调用服务通过第一中间服务和第二中间服务调用目标服务。
其中,若确定调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,可以同时加入第一中间服务和第二中间服务进行目标服务的调用。
下面来基于具体的服务传输示意关系来分别解释上述四种情况下目标服务的调用过程,首先以高频远程过程调用、线性分组类型为例。
图3为本申请实施例提供的数据传输方法的传输示意图,请参照图3,图3中包括:调用服务310、目标服务320。
图3以高频远程过程调用、线性分组类型为例,具体工作过程如下:
调用服务310作为高频远程过程客户端的调用服务,RPC调用的参数使用二进制编码。目标服务320在收到RPC请求后,固定地使用二进制编码的方式进行参数的反序列化,然后进行执行,执行完成后,将执行结果固定地使用二进制编码的方式序列化为结果返回给调用服务310。
下面来基于具体的服务传输示意关系来分别解释上述四种情况下目标服务的另一调用过程。
图4为本申请实施例提供的数据传输方法的另一传输示意图,请参照图4,图4中包括:调用服务310、目标服务320、第二中间服务340以及数据字段管理模块350。
图4以高频远程过程调用、数据交换类型为例,具体工作过程如下:
第二中间服务340具体可以是一个转发模块,转发模块提供了RPC服务的调用透明转发和数据编码转换功能。因此调用服务310并不直接调用目标服务320,而向第二中间服务340调用,且调用使用的编码是JSON格式。第二中间服务340的地址一般可以是固定地址或通过配置文件获取或通过服务注册发现中心获取。第二中间服务340在收到服务发来的RPC调用请求后,向数据字段管理模块350获取调用服务310的RPC调用参数的数据字段和RPC调用结果的数据字段,并利用RPC调用参数的数据字段,将调用服务310发来的RPC调用的调用参数从JSON编码转化为二进制编码,序列化框架通常需要数据字段才能正确的进行编解码。第二中间服务340再将转化为二进制编码的调用参数透明转发至目标服务320。作为RPC服务端的目标服务320相当于收到了一个二进制编码的RPC调用,可以对调用参数进行反序列化解码,并利用解码后的数据执行调用,执行完成后,将执行结果编码为二进制的调用结果然后返回给第二中间服务340。第二中间服务340在接收到调用结果后,再次利用上述查询到RPC调用结果的数据字段,将二进制编码的调用结果转化为JSON编码的调用结果然后返回给调用服务310。调用服务310在收到JSON编码的调用结果后,按JSON进行解码,然后按业务加以使用执行。
下面来基于具体的服务传输示意关系来分别解释上述四种情况下目标服务的另一调用过程。
图5为本申请实施例提供的数据传输方法的另一传输示意图,请参照图5,图5中包括:调用服务310、目标服务320、第一中间服务330。
图5以消息队列调用、线性分组类型为例,具体工作过程如下:
调用服务310作为MQ接收端的服务,需要实现通过订阅接口向第一中间服务330的订阅业务订阅所需的MQ消息。作为MQ发送端的目标服务320在产生数据时向第一中间服务330发出二进制编码的MQ消息,第一中间服务330将MQ消息透明转发给订阅者调用服务310。
其中,第一中间服务330具体可以是MQ Broker(消息队列安排服务器)可以作为一个服务端进行消息的订阅转发等工作,具体可以是MQ服务器,例如:Kafka服务器、RabbitMQ服务器和MQTT服务器等。
下面来基于具体的服务传输示意关系来分别解释上述四种情况下目标服务的另一调用过程。
图6为本申请实施例提供的数据传输方法的另一传输示意图,请参照图6,图6中包括:调用服务310、目标服务320、第一中间服务330、第二中间服务340以及数据字段管理模块350。
图6以消息队列调用、数据交换类型为例,具体工作过程如下:
第二中间服务340提供了MQ服务的透明转发和数据编码转换功能。因此调用服务310并不直接向第一中间服务330订阅MQ消息,而向第二中间服务340订阅。第二中间服务340的地址一般可以是固定地址或通过配置文件获取或通过服务注册发现中心获取。第二中间服务340在收到服务发来的订阅请求后,同时也向第一中间服务330订阅同样主题的消息。作为MQ发送端的目标服务320在产生数据时向第一中间服务330发出二进制编码的MQ消息,第一中间服务330将MQ消息透明转发给第二中间服务340。第二中间服务340收到消息后,向数据字段管理模块350获取服务的MQ消息的数据字段,并利用该数据字段将调用服务310经第一中间服务330转发来的二进制编码的MQ消息从二进制编码转化为JSON编码的MQ消息,序列化框架通常需要数据字段才能正确的进行编解码。第二中间服务340再将转化为JSON编码的MQ消息转发至调用服务310。调用服务310在接收到JSON编码的MQ消息后,按照JSON方式进行解码,然后按业务加以使用执行。
可选地,基于上述四种方式可以分别得到四种情况下调用服务对目标服务的调用过程。
下面来解释本申请实施例中提供的数据传输方法中数据字段管理模块的工作过程。
图7为本申请实施例提供的数据传输方法中数据字段管理模块的工作流程示意图,请参照图7,服务所用到的数据字段需要被注册到数据字段管理模块中,服务的数据字段完成注册后,后续将被第二中间服务用于数据编码的转换。服务的数据字段的注册通常分为两种方式,即服务在启动时主动注册和管理服务的服务管理模块在创建服务的时候代为注册。
图7所示为上述过程中服务在启动时主动注册的过程,该方法具体包括:
S710:调用服务将自身所使用的数据字段注册到数据字段管理模块。
其中,数据字段包括:RPC参数、结果的数据字段和MQ消息的数据字段。
可选地,在调用服务启动之后,调用服务可以将数据字段注册到数据字段管理模块。
S720:数据字段管理模块在收到服务的数据字段后进行存储。
可选地,数据字段管理模块在进行存储的过程中,可以将该服务的数据字段存储在内存、数据库或配置文件中。
下面来解释本申请实施例中提供的数据传输方法中数据字段管理模块的另一工作过程。
图8为本申请实施例提供的数据传输方法中数据字段管理模块的另一工作流程示意图,请参照图8,图8所示为上述过程中管理服务的服务管理模块在创建服务的时候代为注册的过程,该方法具体包括:
S810:创建调用服务。
可选地,创建调用服务时,具体可以是由用户在前端的可视化界面中进行创建得到调用服务,或者,也可以基于预先配置的负载均衡策略自动创建得到调用服务。
S820:后端将新创建的调用服务的数据字段注册给数据字段管理模块。
可选地,后端中可以设置服务管理模块,通过该服务管理模块可以实现将新创建的调用服务的数据字段注册给数据字段管理模块。
S830:数据字段管理模块在收到服务的数据字段后进行存储。
可选地,数据字段管理模块在进行存储的过程中,可以将该服务的数据字段存储在内存、数据库或配置文件中。
下述对用以执行的本申请所提供的数据传输方法对应的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图9为本申请实施例提供的数据传输装置的结构示意图,请参照图9,该装置包括:获取模块910、确定模块920、调用模块930;
获取模块910,用于通过调用服务获取待调用的目标服务的调用需求信息;
确定模块920,用于通过调用服务根据调用需求信息确定服务调用类型以及数据编码类型,其中,服务调用类型包括:单向调用类型以及双向调用类型,数据编码类型包括:二进制编码类型以及自解释型编码类型;
调用模块930,用于通过调用服务根据服务调用类型以及数据编码类型调用目标服务。
可选地,确定模块920,具体用于通过调用服务根据调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型。
可选地,确定模块920,具体用于若调用方式需求为高频远程过程调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为二进制编码类型;若调用方式需求为高频远程过程调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为双向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,确定模块920,具体用于若调用方式需求为消息队列调用且数据传输格式需求为无数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为二进制编码类型;若调用方式需求为消息队列调用且数据传输格式需求为有数据可读性要求,则确定服务调用类型为单向调用类型,并确定数据编码类型为自解释型编码类型。
可选地,调用模块930,具体用于若调用方式需求为消息队列调用,则调用服务通过第一中间服务调用目标服务,第一中间服务用于进行服务的订阅和转发。
可选地,调用模块930,具体用于若数据编码类型为自解释型编码类型,则调用服务通过第二中间服务调用目标服务,第二中间服务用于进行服务的格式转换和转发。
可选地,调用模块930,具体用于若调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,则调用服务通过第一中间服务和第二中间服务调用目标服务。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图10为本申请实施例提供的分布式系统的结构示意图,请参照图10,分布式系统包括:存储器940、处理器950,存储器940中存储有可在处理器950上运行的计算机程序,处理器950执行计算机程序时,实现上述数据传输方法的步骤。
可选地,该分布式系统具体可以指的是该系统中的任意一个设备,例如前端设备,或者后端设备,在执行具体方法时,基于不同的实施过程,可以是分布式系统中任意一个设备,在此不作限制。
本申请实施例的另一方面,还提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述数据传输方法的步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种数据传输方法,其特征在于,所述方法应用于分布式系统,所述分布式系统中运行有多个目标服务以及调用服务,所述方法包括:
调用服务获取待调用的目标服务的调用需求信息;
所述调用服务根据所述调用需求信息确定服务调用类型以及数据编码类型,其中,所述服务调用类型包括:单向调用类型以及双向调用类型,所述数据编码类型包括:二进制编码类型以及自解释型编码类型;所述二进制编码类型为在服务传输过程中以线性分组的形式进行编码的方式进行编码,所述自解释型编码类型为在服务传输过程中进行交换编码的方式进行编码;
所述调用服务根据所述服务调用类型以及数据编码类型调用所述目标服务;
其中,若数据编码类型为自解释型编码类型,则所述调用服务通过第二中间服务调用所述目标服务,所述第二中间服务用于进行服务的格式转换和转发。
2.如权利要求1所述的方法,其特征在于,所述调用服务根据所述调用需求信息确定服务调用类型以及数据编码类型,包括:
所述调用服务根据所述调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型。
3.如权利要求2所述的方法,其特征在于,所述调用服务根据所述调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型,包括:
若所述调用方式需求为高频远程过程调用且所述数据传输格式需求为无数据可读性要求,则确定服务调用类型为双向调用类型,并确定所述数据编码类型为二进制编码类型;
若所述调用方式需求为高频远程过程调用且所述数据传输格式需求为有数据可读性要求,则确定服务调用类型为双向调用类型,并确定所述数据编码类型为自解释型编码类型。
4.如权利要求2所述的方法,其特征在于,所述调用服务根据所述调用需求信息中调用方式需求以及数据传输格式需求,确定服务调用类型以及数据编码类型,包括:
若所述调用方式需求为消息队列调用且所述数据传输格式需求为无数据可读性要求,则确定服务调用类型为单向调用类型,并确定所述数据编码类型为二进制编码类型;
若所述调用方式需求为消息队列调用且所述数据传输格式需求为有数据可读性要求,则确定服务调用类型为单向调用类型,并确定所述数据编码类型为自解释型编码类型。
5.如权利要求4所述的方法,其特征在于,所述调用服务根据所述服务调用类型以及数据编码类型调用所述目标服务,包括:
若调用方式需求为消息队列调用,则所述调用服务通过第一中间服务调用所述目标服务,所述第一中间服务用于进行服务的订阅和转发。
6.如权利要求4所述的方法,其特征在于,所述调用服务根据所述服务调用类型以及数据编码类型调用所述目标服务,包括:
若调用方式需求为消息队列调用且数据编码类型为自解释型编码类型,则所述调用服务通过第一中间服务和第二中间服务调用所述目标服务,所述第二中间服务用于进行服务的格式转换和转发。
7.一种数据传输装置,其特征在于,所述装置应用于分布式系统,所述分布式系统中运行有多个目标服务以及调用服务,所述装置包括:获取模块、确定模块、调用模块;
所述获取模块,用于通过调用服务获取待调用的目标服务的调用需求信息;
所述确定模块,用于通过所述调用服务根据所述调用需求信息确定服务调用类型以及数据编码类型,其中,所述服务调用类型包括:单向调用类型以及双向调用类型,所述数据编码类型包括:二进制编码类型以及自解释型编码类型;所述二进制编码类型为在服务传输过程中以线性分组的形式进行编码的方式进行编码,所述自解释型编码类型为在服务传输过程中进行交换编码的方式进行编码;
所述调用模块,用于通过所述调用服务根据所述服务调用类型以及数据编码类型调用所述目标服务;
其中,若数据编码类型为自解释型编码类型,则所述调用服务通过第二中间服务调用所述目标服务,所述第二中间服务用于进行服务的格式转换和转发。
8.一种分布式系统,其特征在于,包括:存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865466.2A CN114938387B (zh) | 2022-07-22 | 2022-07-22 | 一种数据传输方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865466.2A CN114938387B (zh) | 2022-07-22 | 2022-07-22 | 一种数据传输方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114938387A CN114938387A (zh) | 2022-08-23 |
CN114938387B true CN114938387B (zh) | 2022-11-11 |
Family
ID=82867811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210865466.2A Active CN114938387B (zh) | 2022-07-22 | 2022-07-22 | 一种数据传输方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114938387B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001356A1 (en) * | 2000-06-23 | 2002-01-03 | Aladdin Knowledge Systems, Ltd. | Type conversion technique facilitating remote service invocation |
CN107832161A (zh) * | 2017-11-06 | 2018-03-23 | 东软集团股份有限公司 | 服务调用方法及装置、存储介质、电子设备 |
CN109359147A (zh) * | 2018-09-27 | 2019-02-19 | 北京京东尚科信息技术有限公司 | 业务组件处理方法、组件服务器和系统 |
CN112783672A (zh) * | 2021-01-27 | 2021-05-11 | 传神语联网网络科技股份有限公司 | 一种远程过程调用处理方法及系统 |
CN114257635A (zh) * | 2021-11-19 | 2022-03-29 | 建信金融科技有限责任公司 | 服务调用方法、系统、计算机设备、存储介质和程序产品 |
CN114301988A (zh) * | 2021-12-22 | 2022-04-08 | 中国电信股份有限公司 | 分布式调用方法、装置、存储介质及电子设备 |
CN114675945A (zh) * | 2021-05-21 | 2022-06-28 | 腾讯云计算(北京)有限责任公司 | 一种服务调用方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0514191D0 (en) * | 2005-07-12 | 2005-08-17 | Ibm | Methods, apparatus and computer programs for optimized parsing and service invocation |
CN102123158A (zh) * | 2011-04-11 | 2011-07-13 | 深圳市同洲软件有限公司 | 一种实现网络数据处理的方法和系统 |
CN112532564B (zh) * | 2019-09-17 | 2022-09-13 | 中国移动通信集团广东有限公司 | 业务调用方法、装置及电子设备 |
CN113010332A (zh) * | 2021-03-17 | 2021-06-22 | 中国建设银行股份有限公司 | 一种远程服务调用方法、装置、设备及存储介质 |
-
2022
- 2022-07-22 CN CN202210865466.2A patent/CN114938387B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001356A1 (en) * | 2000-06-23 | 2002-01-03 | Aladdin Knowledge Systems, Ltd. | Type conversion technique facilitating remote service invocation |
CN107832161A (zh) * | 2017-11-06 | 2018-03-23 | 东软集团股份有限公司 | 服务调用方法及装置、存储介质、电子设备 |
CN109359147A (zh) * | 2018-09-27 | 2019-02-19 | 北京京东尚科信息技术有限公司 | 业务组件处理方法、组件服务器和系统 |
CN112783672A (zh) * | 2021-01-27 | 2021-05-11 | 传神语联网网络科技股份有限公司 | 一种远程过程调用处理方法及系统 |
CN114675945A (zh) * | 2021-05-21 | 2022-06-28 | 腾讯云计算(北京)有限责任公司 | 一种服务调用方法、装置、计算机设备及存储介质 |
CN114257635A (zh) * | 2021-11-19 | 2022-03-29 | 建信金融科技有限责任公司 | 服务调用方法、系统、计算机设备、存储介质和程序产品 |
CN114301988A (zh) * | 2021-12-22 | 2022-04-08 | 中国电信股份有限公司 | 分布式调用方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
Manivasakan Sabesan ; Tore Risch.Adaptive Parallelization of Queries over Dependent Web Service Calls.《2009 IEEE 25th International Conference on Data Engineering》.2009, * |
云计算中可扩展的远程服务调用机制的设计与实现;李洋;《中国优秀硕士学位论文全文数据库》;20140415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114938387A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102415845B1 (ko) | 사물 인터넷 리소스 구독 방법, 디바이스, 및 시스템 | |
US7962127B2 (en) | System and method for asynchronous wireless services using reverse service schema generation | |
CN105721473A (zh) | 一种web端远程调用优化的方法及系统 | |
US20050080930A1 (en) | Method and apparatus for processing service requests in a service-oriented architecture | |
CN109815025B (zh) | 一种业务模型调用方法、装置及存储介质 | |
CN104486440A (zh) | 一种基于消息总线的云计算管理软件交互方法 | |
CN1527556A (zh) | 用于事件服务声明、注册、以及通知的方法和设备 | |
CN113472889A (zh) | 微服务的调度系统及方法 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CA2384066C (en) | Remote assembly of messages for distributed applications | |
CN107181794B (zh) | 基于dimse消息发送与接收的dicom网络传输方法 | |
CN101339520B (zh) | 一种将ejb接入企业服务总线的方法 | |
CN114697371A (zh) | 一种远程调用方法及装置 | |
WO2013016994A1 (zh) | 消息发送方法及系统 | |
CN114938387B (zh) | 一种数据传输方法、装置、系统及存储介质 | |
CN104052723B (zh) | 信息处理方法、服务器和系统 | |
CN116800787A (zh) | 一种基于以太网通讯协议的车载通信方法及系统 | |
WO2019201111A1 (zh) | 信息处理方法、装置、设备及计算机可读存储介质 | |
CN116860466A (zh) | 一种基于mqtt的异步通信转同步通信方法 | |
CN107102901B (zh) | 一种任务处理方法和装置 | |
CN110809020B (zh) | 一种基于冗余网络异步通信的高可靠数据传输方法 | |
US20120126003A1 (en) | Intelligent correlated scanning operation for mobile code enabler | |
CN109254853A (zh) | 数据共享方法、数据共享系统及计算机可读存储介质 | |
CN110247841B (zh) | 信息发送方法及装置、业务服务器和存储介质 | |
CN115391154A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Zhongkong Technology Co.,Ltd. Country or region after: China Address before: 309 Liuhe Road, Binjiang District, Hangzhou, Zhejiang 310000 Patentee before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |