远程过程调用方法技术

技术编号:39650665 阅读:11 留言:0更新日期:2023-12-09 11:18
本发明专利技术实施例提供一种远程过程调用方法

【技术实现步骤摘要】
远程过程调用方法、系统、设备和存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种远程过程调用方法

系统

设备和存储介质


技术介绍

[0002]远程过程调用
(Remote Procedure Cal l
,简称
RPC)
是指运行在通信网络中的不同网络节点之间实现的相互通信

其中,网络节点具体可以是通信网络中的物理节点也可以是运行在物理节点中的虚拟节点

[0003]在实际中,
RPC
可以发生在客户端
/
服务端
(Cl ient/Server
,简称
C/S)
架构的网络中

比如作为网络节点的客户端与服务端之间可以存在
RPC
,通过
RPC
来保证客户端中应用程序
(Appl ication
,简称
App)
的正常运行

并且跨节点
RPC
的速度往往会影响
APP
的使用体验

[0004]因此,如何提高跨节点
RPC
的速度就成为一个亟待解决的问题


技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种远程过程调用方法

系统

设备和存储介质,用以提高跨节点
RPC
的速度

[0006]第一方面,本专利技术实施例提供一种远程过程调用方法,应用于调用方,包括:
[0007]将远程过程调用
RPC
请求写入共享内存;
[0008]获取所述共享内存中所述
RPC
请求的响应结果,所述调用方和生成所述响应结果的被调用方为通信网络中的不同网络节点,所述共享内存为所述通信网络中与所述调用方和所述被调用方通信连接的外接设备中的内存

[0009]第二方面,本专利技术实施例提供一种远程过程调用方法,应用于被调用方,包括:
[0010]从共享内存中读取调用方生成的远程过程调用
RPC
请求;
[0011]将所述
RPC
请求的响应结果写入所述共享内存,所述调用方和所述被调用方为通信网络中的不同网络节点,所述共享内存为所述通信网络中与所述调用方和所述被调用方通信连接的外接设备中的内存

[0012]第三方面,本专利技术实施例提供一种远程过程调用系统,包括:表现为通信网络中不同网络节点的调用方和被调用方,以及所述通信网络中分别与所述调用方和所述被调用方通信连接的外接设备,所述外接设备中的内存设置为所述调用方和所述被调用方的共享内存;
[0013]所述调用方,用于将远程过程调用
RPC
请求写入所述共享内存;获取所述共享内存中所述
RPC
请求的响应结果;
[0014]所述被调用方,用于从所述共享内存中读取所述
RPC
请求;将所述
RPC
请求的响应结果写入所述共享内存

[0015]第四方面,本专利技术实施例提供一种电子设备,包括处理器和存储器,所述存储器用
于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面或第二方面中的远程过程调用方法

该电子设备还可以包括通信接口,用于与其他设备或通信网络通信

[0016]第五方面,本专利技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面或第二方面所述的远程过程调用方法

[0017]本专利技术实施例提供的远程过程调用方法,调用方将
RPC
请求写入共享内存;之后,调用方再获取共享内存中的

被调用方响应该
RPC
请求后生成的响应结果

其中,调用方和被调用方表现为通信网络中的不同网络节点,调用方和被调用方共享的内存为通信网络中的外接设备的内存,外接设备分别与调用方和被调用方连接

[0018]上述方法中,对于表现为通信网络中不同网络节点的调用方和被调用方,调用双方可以将外接设备提供的共享内存视为自身的本地内存进访问,以加速
RPC
请求的写入以及响应结果的写入和读取

也就是说,在实现跨节点的
RPC
的过程中,借助被调用双方共享的外接共享内存可以降低
RPC
请求和调用结果传输所需的网络开销,以提高跨节点
RPC
的速度

另外,在实现跨节点的
RPC
的过程中,调用双方不会访问自身的本地内存,这也可以将访问本地内存所需的开销节约下来

附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0020]图1为本专利技术实施例提供的一种通信网络示意图;
[0021]图2为本专利技术实施例提供的一种远程过程调用系统的结构示意图;
[0022]图3为本专利技术实施例提供的另一种远程过程调用系统的结构示意图;
[0023]图4为本专利技术实施例提供的一种序列化结果的数据结构示意图;
[0024]图5为本专利技术实施例提供的又一种远程过程调用系统的结构示意图;
[0025]图6为本专利技术实施例提供的又一种远程过程调用系统的结构示意图;
[0026]图7为本专利技术实施例提供的又一种远程过程调用系统的结构示意图;
[0027]图8为本专利技术实施例提供的一种远程过程调用方法的流程图;
[0028]图9为本专利技术实施例提供的另一种远程过程调用方法示意图;
[0029]图
10
为本专利技术实施例提供的一种远程过程调用装置的结构示意图;
[0030]图
11
为本专利技术实施例提供的一种电子设备的结构示意图;
[0031]图
12
为本专利技术实施例提供的另一种远程过程调用装置的结构示意图;
[0032]图
13
为本专利技术实施例提供的另一种电子设备的结构示意图

具体实施方式
[0033]为使本专利技术实施例的目的

技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚

完本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种远程过程调用方法,其特征在于,应用于调用方,包括:将远程过程调用
RPC
请求写入共享内存;获取所述共享内存中所述
RPC
请求的响应结果,所述调用方和生成所述响应结果的被调用方为通信网络中的不同网络节点,所述共享内存为所述通信网络中与所述调用方和所述被调用方通信连接的外接设备中的内存
。2.
根据权利要求1所述的方法,其特征在于,所述调用方和被调用方表现为所述通信网络中不同的物理节点,或者表现为在同一物理节点中运行的不同虚拟节点;所述调用方和所述被调用方利用计算快速链接
CXL
访问所述共享内存
。3.
根据权利要求1或2所述的方法,其特征在于,所述将远程过程调用
RPC
请求写入共享内存,包括:对所述调用方产生的所述
RPC
请求进行序列化处理;响应于序列化处理的完成,为所述
RPC
请求的序列化结果添加状态信息,所述状态信息反映序列化处理已经完成;将添加有状态信息的所述
RPC
请求的序列化结果写入所述共享内存中的第一缓冲区
。4.
根据权利要求1所述的方法,其特征在于,所述获取所述共享内存中所述
RPC
请求对应的响应结果,包括:在到达轮询周期时,从所述共享内存的第二缓冲区中读取所述响应结果;或者,在到达所述轮询周期时,利用所述被调用方和所述调用方之间的远程过程调用
RPC
连接,从所述被调用方的本地内存中读取所述响应结果,其中,所述被调用方在到达所述轮询周期时从所述第二缓冲区中读取所述响应结果
。5.
根据权利要求1所述的方法,其特征在于,所述调用方包括所述通信网络中安装有应用程序的客户端,所述方法还包括:响应于对所述应用程序触发的使用操作,生成所述
RPC
请求;所述获取所述共享内存中所述
RPC
请求的响应结果之后,所述方法还包括:对所述响应结果进行反序列化处理,以得到所述
RPC
请求对应的调用结果;输出所述调用结果
。6.
一种远程过程调用方法,其特征在于,应用于被调用方,包括:从共享内存中读取调用方生成的远程过程调用
RPC
请求;将所述
RPC
请求的响应结果写入所述共享内存,所述调用方和所述被调用方为通信网络中的不同网络节点,所述共享内存为所述通信网络中与所述调用方和所述被调用方通信连接的外接设备中的内存
。7.
根据权利要求6所述的方法,其特征在于,所述方法还包括:对所述
RPC
请求进行反序列化处理,以得到所述
PRC
请求对应的目标函数;对执行所述目标函数得到的调用结果进行序列化处理;响应于序列化处理的完成,为所述调用结果的序列化处理结果添加状态信息,以得到所述响应结果,所述状态信息反映序列化处理已经完成
。8.
根据权利要求6或7所述的方法,其特征在于,所述从共享内存中读取调用方产生的远程过程调用
RPC
请求,包括:
在到达轮询周期时,从所述共享内存的第一缓冲区中读取所述
RPC
请求;所述将所述
RPC
请求的响应...

【专利技术属性】
技术研发人员:马腾刘峥
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1