[发明专利]一种远程调用方法及装置以及系统在审
| 申请号: | 202110803025.5 | 申请日: | 2021-07-15 |
| 公开(公告)号: | CN113407366A | 公开(公告)日: | 2021-09-17 |
| 发明(设计)人: | 谢达 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京中知法苑知识产权代理有限公司 11226 | 代理人: | 李明 |
| 地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 远程 调用 方法 装置 以及 系统 | ||
本公开提供了一种远程调用方法及装置,通过目标调用方法确定远程调用请求匹配的配置参数集合,再利用配置参数集合中指示的协议及调用模型进行远程调用,以实现将序列化协议及网络协议解耦,在一套RPC实现方案中支持多种序列化协议、网络协议及调用模型,提高RPC方案的灵活性。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种远程调用方法及装置。
背景技术
远程过程调用(Remote Procedure Call,RPC)是服务之间的一种互相调用方式,客户端能够通过向服务器发送调用请求,从而实现对服务器上的应用或函数的调用,调用请求中通常携带有调用函数或应用所需的请求数据,客户端与服务器之间进行通信时需要网络协议的支持,并且,通信内容需要进行序列化处理,才能够成功传输。
通常的RPC实现方案仅支持一种序列化协议,且序列化协议与网络协议之间的耦合程度较强,无法实现序列化协议的自由替换,导致RPC实现方案的灵活性较低,不利用在多种场景下使用。
发明内容
本公开实施例至少提供一种远程调用方法及装置。
第一方面,本公开实施例提供了一种远程调用方法,应用于客户端,包括:
响应于远程调用请求,基于所述远程调用请求指示的目标调用方法,确定与所述远程调用请求匹配的配置参数集合;所述配置参数集合中包括在多种序列化协议、多种网络协议和多种调用模型中选择的目标序列化协议、目标网络协议、和目标调用模型;
基于所述配置参数集合,生成所述远程调用请求对应的序列化请求数据,并将所述序列化请求数据发送至服务器;
接收所述服务器基于所述序列化请求数据反馈的序列化后的第一远程调用结果;
基于所述配置参数集合对所述第一远程调用结果进行反序列化处理,得到第二远程调用结果。
一种可选的实施方式中,所述基于所述配置参数集合,生成所述远程调用请求对应的序列化请求数据,并将所述序列化请求数据发送至服务器,包括:
获取所述配置参数集合指示的目标序列化协议、目标网络协议和目标调用模型对应的实例;
基于所述目标调用模型对应的实例,对所述远程调用请求携带的请求数据进行预处理,得到预处理后的请求数据;
基于所述目标序列化协议对应的实例,对所述预处理后的请求数据进行序列化处理,得到序列化请求数据;
基于所述目标网络协议对应的实例,将所述序列化请求数据发送至所述服务器。
一种可选的实施方式中,所述基于所述配置参数集合对所述第一远程调用结果进行反序列化处理,得到第二远程调用结果,包括:
基于所述目标序列化协议对应的实例,对所述第一远程调用结果进行反序列化处理,得到所述第二远程调用结果。
一种可选的实施方式中,在得到所述得到第二远程调用结果后,所述方法还包括:
基于所述目标调用模型对应的实例,对所述第二远程调用结果进行还原处理,得到第三远程调用结果。
第二方面,本公开实施例还提供另一种远程调用方法,应用于服务器,包括:
接收客户端发送的序列化请求数据;
基于所述序列化请求数据,确定所述序列化请求数据对应的配置参数集合;所述配置参数集合中包括在多种序列化协议和多种调用模型中选择的目标序列化协议和目标调用模型;
基于所述配置参数集合,对所述序列化请求数据进行反序列化处理,得到反序列化后的请求数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110803025.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:钩钉自动冲压成型设备及其使用方法
- 下一篇:一种数据集成分发平台和系统





