[发明专利]一种远程过程调用的方法、装置及计算机设备有效
申请号: | 201710523205.1 | 申请日: | 2017-06-30 |
公开(公告)号: | CN107479985B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 11570 北京众达德权知识产权代理有限公司 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 远程 过程 调用 方法 装置 计算机 设备 | ||
本发明提供了一种远程过程调用的方法、装置及计算机设备,所述方法包括:将预先预定的远程方法的名称及对应的同步处理函数注册至全局字典中;接收目标调用请求;基于所述目标调用请求,判断在所述全局字典中是否能查找到所述调用请求对应的目标同步处理函数;若在所述全局字典中能查找到目标同步处理函数,则在异步线程中执行所述目标同步处理函数,获取并发送执行结果;如此,被调用端可以同步响应来自调用端的调用请求,且只需在接收到目标调用请求之前将同步处理函数注册至全局字典中,在接收到目标调用请求后即可根据所述调用请求快速搭建一个远程过程调用的信号通路,进而执行同步处理函数,向调用端返回执行结果,从而提高了工作效率。
技术领域
本发明属于通信技术领域,尤其涉及一种远程过程调用的方法、装置及计算机设备。
背景技术
远程过程调用,就是一个进程调用另外一个进程所提供的方法,适用于进程间的通信。
现有技术中在远程过程调用中,在处理相应的服务时,需要搭建远程过程调用模型,而搭建远程过程调用模型的过程比较繁琐,导致工作效率下降。
基于此,本发明提供一种远程过程调用的方法、装置及计算机设备,以解决现有技术中的上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种远程过程调用的方法、装置及计算机设备,用于解决现有技术中在进行远程过程调用时,搭建远程过程调用模型的过程比较繁琐,导致工作效率下降的技术问题。
本发明提供一种远程过程调用的方法,所述方法包括:
将预先约定的远程方法的名称及对应的同步处理函数注册至全局字典中;
接收目标调用请求;
基于所述目标调用请求,判断在所述全局字典中是否能查找到所述目标调用请求对应的目标同步处理函数;
若在所述全局字典中能查找到所述目标同步处理函数,则在异步线程中执行所述目标同步处理函数,获取并发送执行结果。
上述方案中,所述若在所述全局字典中能查找到所述目标同步处理函数,则在异步线程中执行所述目标同步处理函数,包括:
获取所述目标调用请求中的参数信息;
基于所述参数信息,将所述目标同步处理函数投递至异步线程中,在所述异步线程中执行所述目标同步处理函数。
上述方案中,所述获取并发送执行结果,包括:
获取所述目标调用请求中的标识符;
将所述标识符及所述执行结果序列化为一个网络消息,发送所述网络消息。
上述方案中,所述将预先约定的远程方法的名称及对应的同步处理函数注册至全局字典中,包括:
调用RpcRegisterProcedure函数,将预先约定的远程方法的名称及所述远程方法对应的同步处理函数注册至全局字典中。
上述方案中,若在所述全局字典中没有查找到目标同步处理函数,还包括:
返回结果集,所述结果集中包括用于指示无查找结果的指示值。
上述方案中,所述同步处理函数具体为:IRpcArgumentArray*(*RpcProcedure)(void*caller,IRpcArgument**args,int numArgs);其中,所述IRpcArgumentArray为数组集合,用于存储所述执行结果;所述args为所述目标调用请求中的参数信息;所述numArgs为所述args参数的个数。
本发明还提供一种远程过程调用的装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710523205.1/2.html,转载请声明来源钻瓜专利网。