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

数据调用方法、装置以及电子设备与流程

2022-02-20 13:25:53 来源:中国专利 TAG:


1.本技术涉及数据调用技术领域,具体而言,涉及一种数据调用方法、装置以及电子设备。


背景技术:

2.在插件化的平台中,需要保证插件的安全隔离,在net(网状物操作平台)的开发环境中,相关技术中使用程序集引用的方式来实现插件的隔离,但是在程序集的引用冲突的情况下,会发生不可预料的异常结果,为了平台的稳定,可以在插件平台使用进程隔离来实现插件之间的隔离。
3.在插件化的各个插件之间进行跨进程通信时,相关技术中使用rpc通信的方式,在两端的服务上使用grpc的定义文件对需要远程调用的方法、参数类型进行逐一的定义,进而为服务之间的方法属性的调用奠定基础,但是,在需要调用的方法或属性的数量巨大的时候,需要定义的数量巨大,且后续需要改变方法以及属性时,会产生维护困难的问题。
4.针对相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供一种数据调用方法、装置以及电子设备,以解决相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题。
6.根据本技术的一个方面,提供了一种数据调用方法。该方法包括:第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;虚拟rpc服务将返回数据发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用。
7.可选地,在第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求之前,该方法还包括:在第一进程创建与第二rpc服务的服务定义相同的虚拟服务,得到虚拟rpc服务。
8.可选地,该方法还包括:为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求。
9.可选地,虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:虚拟rpc服务将调用请求序列化后通过目标协议发送至第二rpc服务;虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据,其中,返回数据为第二rpc服务序列化后的返回数据。
10.可选地,在调用请求用于向第二rpc服务请求调用目标属性时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务中存在目标属性的情况下,虚拟rpc服务基于预设属性调用接口接收第二rpc服务返回的目标属性值。
11.可选地,在调用请求用于向第二rpc服务请求调用目标方法时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务执行目标方法成功的情况下,虚拟rpc服务基于预设方法调用接口接收第二rpc服务返回的目标方法的执行结果。
12.根据本技术的一个方面,提供了另一种数据调用方法。该方法包括:为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求;在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务;第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用。
13.根据本技术的另一方面,提供了一种数据调用装置。该装置包括:第一接收单元,用于采用第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;第一发送单元,用于采用虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;第二发送单元,用于采用虚拟rpc服务将返回数据反序列化后发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用。
14.根据本技术的另一方面,提供了另一种数据调用装置。该装置包括:定义单元,用于为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求;响应单元,用于在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务;第三发送单元,用于采用第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用。
15.为了实现上述目的,根据本技术的另一方面,提供了一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的数据调用方法。
16.通过本技术,采用以下步骤:第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;虚拟rpc服务将返回数据发送至第一rpc服务,以完成第一进程和第二进程之间的数据
调用,解决了相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题。通过采用第一进程的虚拟rpc服务实现第一进程的rpc服务和第二进程的rpc服务之间的通信,进而达到了进行跨进程通信时,无需在跨进程的两个服务上分别定义待调用的方法和属性,减小工作量和维护难度的效果。
附图说明
17.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例提供的数据调用方法的流程图;
19.图2是根据本技术实施例提供的另一种数据调用方法的流程图;
20.图3是根据本技术实施例提供的数据调用装置的示意图;
21.图4是根据本技术实施例提供的另一种数据调用装置的示意图;以及
22.图5是根据本技术实施例提供的电子设备的示意图。
具体实施方式
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.根据本技术的实施例,提供了一种数据调用方法。
27.图1是根据本技术实施例的数据调用方法的流程图。如图1所示,该方法包括以下步骤:
28.步骤s101,第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同。
29.需要说明的是,虚拟rpc服务与第一rpc服务为第一进程的服务,二者之间的通信为进程内通信,而虚拟rpc服务与第二rpc服务位于不同进程,但是虚拟rpc服务为第二rpc服务的代理服务,相当于第二rpc服务的替身,虚拟rpc服务与第二rpc服务执行逻辑不同,但服务定义相同,因而,第一rpc服务通过虚拟rpc服务即可完成对第二rpc服务的服务请求,无需直接与第二rpc服务进行通信。
30.具体地,第一进程的第一rpc服务和第二进程的第二rpc服务进行通信时,第一rpc服务先向第一进程的虚拟rpc服务发送调用请求,虚拟rpc服务收到调用请求后,通过向第二rpc服务发送调用请求,并接收返回结果,从而实现第一rpc服务的请求。
31.可选地,在本技术实施例提供的数据调用方法中,在第一进程的虚拟rpc服务接收进程的第一rpc服务发送的调用请求之前,该方法还包括:在第一进程创建与第二rpc服务的服务定义相同的虚拟服务,得到虚拟rpc服务。
32.需要说明的是,虚拟rpc服务是一个调用端,第二rpc服务所有的功能接口,虚拟rpc服务均具备。由于虚拟rpc服务和第一rpc服务为同一进程的服务,二者之间的通信属于进程内通信,当第一rpc服务需要调用第二rpc服务的方法或属性时,将虚拟rpc服务作为第二rpc服务的替身,直接调用虚拟rpc服务即可。
33.因而,在第一rpc服务与第二rpc服务进行通信时,无需在第一rpc服务和第二rpc服务的通信层将二者之间所有的功能定义出来,通过虚拟rpc服务和第二rpc服务之间的公用方法进行远程调用,方便了功能接口的维护和修改。
34.步骤s102,虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据。
35.具体地,虚拟rpc服务本身并不执行调用请求,而是通过目标协议将调用请求发送至第二rpc服务,在第二rpc服务中进行属性的查找以及方法的执行,将相应的结果发送给虚拟rpc服务,并最终发送给第一rpc服务。
36.为了便于方法及属性的调用,可选地,在本技术实施例提供的数据调用方法中,该方法还包括:为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求。
37.需要说明的是,本技术实施例将通信层需要定义的多种属性调用接口和多种方法调用接口进行抽象,只定义一个预设属性调用接口和一个预设方法调用接口,预设属性调用接口为公共的属性调用接口,可以支持多种属性的调用,预设方法调用接口为公共的方法调用接口,可以支持多种方法的调用,进而在支持调用的属性和方法更改时,无需生成新的服务定义。
38.可选地,在本技术实施例提供的数据调用方法中,虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:虚拟rpc服务将调用请求序列化后通过目标协议发送至第二rpc服务;虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据,其中,返回数据为第二rpc服务序列化后的返回数据。
39.例如,目标协议可以为grpc协议,序列化可以为二进制化,具体地,虚拟rpc服务将调用请求采用二进制化的方式进行封装打包,并将打包结果通过grpc协议远程传输给第二rpc服务。第二rpc服务接收到打包后的调用请求后,对打包内容进行反二进制化,并基于返二进制化的结果执行调用请求,最终将执行结果二进制化后返回虚拟rpc服务。
40.可选地,在本技术实施例提供的数据调用方法中,在调用请求用于向第二rpc服务请求调用目标属性时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务中存在目标属性的情况下,虚拟rpc服务基于预设属性调用接
口接收第二rpc服务返回的目标属性值。
41.具体地,请求调用目标属性时,向第二rpc服务发送的数据包中包括目标属性的请求参数,目标属性的请求参数包括属性的名称、属性的类型,根据目标属性的请求参数在第二rpc服务中查找目标属性值,在查找到的情况下,将目标属性值进行序列化,并将序列化后的结果通过目标协议发送给虚拟rpc服务。
42.此外,在第二rpc服务中不存在目标属性的情况下,第二rpc服务返回请求有没有成功的消息,以及发生了何种错误的日志。
43.可选地,在本技术实施例提供的数据调用方法中,在调用请求用于向第二rpc服务请求调用目标方法时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务执行目标方法成功的情况下,虚拟rpc服务基于预设方法调用接口接收第二rpc服务返回的目标方法的执行结果。
44.具体地,请求调用目标方法时,向第二rpc服务发送的数据包中包括目标方法的请求参数,目标方法的请求参数包括方法的名称以及参数类型表,参数类型表中包含参数的名称以及参数值,根据目标方法的请求参数在第二rpc服务中执行目标方法,在执行成功的情况下,将执行结果进行序列化,并将序列化后的结果通过目标协议发送给虚拟rpc服务。
45.此外,在第二rpc服务中执行目标方法失败的情况下,第二rpc服务返回请求有没有成功的消息,以及发生了何种错误的日志。
46.步骤s103,虚拟rpc服务将返回数据发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用。
47.具体地,虚拟rpc服务接收到序列化后的返回数据,对数据进行反序列化,并将反序列化后的结果发送至第一rpc服务。
48.本技术实施例提供的数据调用方法,通过第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;虚拟rpc服务将返回数据发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用,解决了相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题。通过采用第一进程的虚拟rpc服务实现第一进程的rpc服务和第二进程的rpc服务之间的通信,进而达到了进行跨进程通信时,无需在跨进程的两个服务上分别定义待调用的方法和属性,减小工作量和维护难度的效果。
49.图2是根据本技术实施例的数据调用方法的流程图。如图2所示,该方法包括以下步骤:
50.步骤s201,为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求。
51.需要说明的是,本技术实施例将通信层需要定义的多种属性调用接口和多种方法调用接口进行抽象,只定义一个预设属性调用接口和一个预设方法调用接口,预设属性调用接口为公共的属性调用接口,可以支持多种属性的调用,预设方法调用接口为公共的方
法调用接口,可以支持多种方法的调用,进而在支持调用的属性和方法更改时,无需生成新的服务定义。
52.步骤s202,在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务。
53.需要说明的是,虚拟rpc服务是一个调用端,第三rpc服务所有的功能接口,虚拟rpc服务均具备。由于虚拟rpc服务为目标进程的服务,当目标进程的第四rpc服务需要调用进程外的第三rpc服务的方法或属性时,将虚拟rpc服务作为第三rpc服务的替身,直接调用虚拟rpc服务即可,二者之间的通信属于进程内通信。
54.因而,在第四rpc服务与第三rpc服务进行通信时,无需在第四rpc服务和第三rpc服务的通信层将二者之间所有的功能定义出来,通过虚拟rpc服务和第三rpc服务之间的公用方法进行远程调用,便于功能接口的维护和修改。
55.此外,还需要说明的是,目标协议可以为grpc协议,序列化可以为二进制化,具体地,虚拟rpc服务将调用请求采用二进制化的方式进行封装打包,并将打包结果通过grpc协议远程传输给第三rpc服务。
56.步骤s203,第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用。
57.具体地,虚拟rpc服务接收到序列化后的返回数据,对数据进行反序列化,并将反序列化后的结果发送至第四rpc服务,第四rpc服务接收到请求调用的结果。
58.本技术实施例提供的数据调用方法,通过为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求;在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务;第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用,解决了相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题。通过采用目标进程的虚拟rpc服务实现目标进程的rpc服务和目标进程外的rpc服务之间的通信,进而达到了进行跨进程通信时,无需在跨进程的两个服务上分别定义待调用的方法和属性,减小工作量和维护难度的效果。
59.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
60.本技术实施例还提供了一种数据调用装置,需要说明的是,本技术实施例的数据调用装置可以用于执行本技术实施例所提供的用于数据调用方法。以下对本技术实施例提供的数据调用装置进行介绍。
61.图3是根据本技术实施例的数据调用装置的示意图。如图3所示,该装置包括:第一
接收单元31、第一发送单元32和第二发送单元33。
62.具体地,第一接收单元31,用于采用第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同。
63.第一发送单元32,用于采用虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据。
64.第二发送单元33,用于采用虚拟rpc服务将返回数据反序列化后发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用。
65.本技术实施例提供的数据调用装置,通过第一接收单元31采用第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;第一发送单元32采用虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;第二发送单元33采用虚拟rpc服务将返回数据反序列化后发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用,解决了相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题,通过采用第一进程的虚拟rpc服务实现第一进程的rpc服务和第二进程的rpc服务之间的通信,进而达到了进行跨进程通信时,无需在跨进程的两个服务上分别定义待调用的方法和属性,减小工作量和维护难度的效果。
66.可选地,在本技术实施例提供的数据调用装置中,装置还包括:创建单元,用于在第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求之前,在第一进程创建与第二rpc服务的服务定义相同的虚拟服务,得到虚拟rpc服务。
67.可选地,在本技术实施例提供的数据调用装置中,装置还包括:定义单元,用于为rpc协议定义预设属性调用接口和预设装置调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设装置调用接口用于调用多种装置调用请求。
68.可选地,在本技术实施例提供的数据调用装置中,第一发送单元32包括:序列化模块,用于通过虚拟rpc服务将调用请求序列化后通过目标协议发送至第二rpc服务;接收模块,用于通过虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据,其中,返回数据为第二rpc服务序列化后的返回数据。
69.可选地,在本技术实施例提供的数据调用装置中,接收模块包括:第一接收子模块,用于在调用请求用于向第二rpc服务请求调用目标属性时,在第二rpc服务中存在目标属性的情况下,虚拟rpc服务基于预设属性调用接口接收第二rpc服务返回的目标属性值。
70.可选地,在本技术实施例提供的数据调用装置中,接收模块包括:第二接收子模块,用于在调用请求用于向第二rpc服务请求调用目标方法时,在第二rpc服务执行目标方法成功的情况下,虚拟rpc服务基于预设装置调用接口接收第二rpc服务返回的目标方法的执行结果。
71.图4是根据本技术实施例的数据调用装置的示意图。如图4所示,该装置包括:定义单元41、响应单元42和第三发送单元43。
72.具体地,定义单元41,用于为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接
口用于调用多种方法调用请求。
73.响应单元42,用于在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务。
74.第三发送单元43,用于采用第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用。
75.本技术实施例提供的数据调用装置,通过定义单元41为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求;响应单元42在接收到目标进程外的虚拟rpc服务通过目标协议发送的序列化的调用请求后,目标进程的第四rpc服务响应调用请求,得到返回数据,其中,调用请求为目标进程外的第三rpc服务向第四rpc服务请求调用目标方法和/或目标属性的信息,虚拟rpc服务与第四rpc服务的服务定义相同,虚拟rpc服务和第三rpc服务为相同进程的服务;第三发送单元43采用第四rpc服务将返回数据序列化后通过目标协议发送至虚拟rpc服务,以完成跨进程的数据调用,解决了相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题,通过采用第一进程的虚拟rpc服务实现第一进程的rpc服务和第二进程的rpc服务之间的通信,进而达到了进行跨进程通信时,无需在跨进程的两个服务上分别定义待调用的方法和属性,减小工作量和维护难度的效果。
76.所述数据调用装置包括处理器和存储器,上述定义单元41、响应单元42和第三发送单元43等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
77.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中进行跨进程通信时,在跨进程的两个服务上需要分别定义待调用的方法和属性,导致工作量大且难以维护的问题。
78.本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据调用方法。
79.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据调用方法。
80.本发明实施例提供了一种设备,如图5所示,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的数据调用方法。本文中的设备可以是服务器、pc、pad、手机等。
81.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求,其中,调用请求用于向第二进程的第二rpc服务请求调用目标方法和/或目标属性,虚拟rpc服务与第二rpc服务的服务定义相同;虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据;虚拟rpc服务将返回数据发送至第一rpc服务,以完成第一进程和第二进程之间的数据调用。
82.在第一进程的虚拟rpc服务接收第一进程的第一rpc服务发送的调用请求之前,该方法还包括:在第一进程创建与第二rpc服务的服务定义相同的虚拟服务,得到虚拟rpc服务。
83.该方法还包括:为rpc协议定义预设属性调用接口和预设方法调用接口,得到目标协议,其中,预设属性调用接口用于调用多种属性调用请求,预设方法调用接口用于调用多种方法调用请求。
84.虚拟rpc服务通过目标协议将调用请求发送至第二rpc服务,并通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:虚拟rpc服务将调用请求序列化后通过目标协议发送至第二rpc服务;虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据,其中,返回数据为第二rpc服务序列化后的返回数据。
85.在调用请求用于向第二rpc服务请求调用目标属性时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务中存在目标属性的情况下,虚拟rpc服务基于预设属性调用接口接收第二rpc服务返回的目标属性值。
86.在调用请求用于向第二rpc服务请求调用目标方法时,虚拟rpc服务通过目标协议接收第二rpc服务响应调用请求得到的返回数据包括:在第二rpc服务执行目标方法成功的情况下,虚拟rpc服务基于预设方法调用接口接收第二rpc服务返回的目标方法的执行结果。
87.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
88.在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
89.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
90.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
91.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
92.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
93.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献