[发明专利]一种远程过程调用的方法、装置及计算机设备有效
申请号: | 201710523235.2 | 申请日: | 2017-06-30 |
公开(公告)号: | CN107277029B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/54 |
代理公司: | 11570 北京众达德权知识产权代理有限公司 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 远程 过程 调用 方法 装置 计算机 设备 | ||
本发明提供了一种远程过程调用的方法、装置及计算机设备,方法包括:将预先预定的远程方法的名称及对应的异步处理函数注册至全局字典中;接收目标调用请求;基于目标调用请求,判断在全局字典中是否能查找到所述目标调用请求对应的目标异步处理函数;若在所述全局字典中能查找到所述目标异步处理函数,在主线程中调用所述目标异步处理函数;确定所述异步处理函数待处理任务的数据量,根据所述待处理任务的数据量分配子线程,在所述子线程中执行所述目标异步处理函数;利用获取函数获取并发送执行结果;如此,可以根据目标异步处理函数待处理任务的数据量分配相应的子线程,以能灵活地进行线程调度分配,避免造成多线程冲突导致程序崩溃。
技术领域
本发明属于通信技术领域,尤其涉及一种远程过程调用的方法、装置及计算机设备。
背景技术
远程过程调用,就是一个进程调用另外一个进程所提供的方法,适用于进程间的通信。
现有技术中在远程过程调用中,无法灵活地进行线程调度分配,易引起多线程冲突导致程序崩溃问题;而在获取利用某些异步与互斥的方法来解决多线程问题时,又会降低程序性能。
基于此,本发明提供一种远程过程调用的方法、装置及计算机设备,以解决现有技术中的上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种远程过程调用的方法、装置及计算机设备,用于解决现有技术中,在进行远程过程调用时,无法灵活地进行线程调度分配,易引起多线程冲突导致程序崩溃,导致工作效率下降的技术问题。
本发明提供一种远程过程调用的方法,所述方法包括:
将预先约定的远程方法的名称及对应的异步处理函数注册至全局字典中;
接收目标调用请求;
基于所述目标调用请求,判断在所述全局字典中是否能查找到所述目标调用请求对应的目标异步处理函数;
若在所述全局字典中能查找到所述目标异步处理函数,在主线程中调用所述目标异步处理函数;
确定所述目标异步处理函数待处理任务的数据量,根据所述待处理任务的数据量分配子线程,在所述子线程中执行所述目标异步处理函数;
利用获取函数获取并发送执行结果。
上述方案中,所述若在所述全局字典中能查找到所述目标异步处理函数,则在主线程中调用所述目标异步处理函数,包括:
获取用于指示网络连接成功后的第一标识符、所述目标调用请求中的参数信息和所述目标调用请求中的第二标识符;
基于所述参数信息、所述第一标识符及所述第二标识符生成上下文环境块;
将所述第一标识符设置为所述目标异步处理函数的第一个参数,将所述参数信息设置为所述目标异步处理函数的第二个参数,将所述参数列表中的参数个数设置为所述目标异步处理函数的第三个参数,将所述上下文环境块设置为所述目标异步处理函数的第四个参数;
将所述目标异步处理函数投递至主线程中,在主线程中调用所述目标异步处理函数。
上述方案中,所述基于所述参数信息及所述标识符生成上下文环境块,包括:
将所述参数信息赋值给所述上下文环境块的参数字段;
将所述第一标识符赋值给所述上下文环境的第一标识字段;
将所述第二标识符赋值给所述上下文环境块的第二标识字段。
上述方案中,所述利用获取函数获取并发送执行结果,包括:
将第二标识符及所述执行结果序列化为一个网络消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710523235.2/2.html,转载请声明来源钻瓜专利网。