[发明专利]一种优化方法、计算机设备和存储介质有效
申请号: | 201810750601.2 | 申请日: | 2018-07-10 |
公开(公告)号: | CN109240834B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 杨亮;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 方法 计算机 设备 存储 介质 | ||
1.一种优化方法,其特征在于,所述方法包括:
基于包括C++函数对象的原远程过程调用方法设置升级版的远程过程调用方法,在所述升级版的远程过程调用方法中,改用C语言的函数指针方式设置回调函数,并通过RpcAttribute属性方式设置参数;
其中,所述基于包括C++函数对象的原远程过程调用方法设置升级版的远程过程调用方法包括:基于原远程过程调用的注册方法设置升级版的远程过程调用的注册方法和基于原远程过程调用的调用方法设置升级版的远程过程调用的调用方法,所述升级版的远程过程调用的注册方法的参数包括远程过程调用实例句柄和int64类型的第一属性数组,所述升级版的远程过程调用的调用方法的参数包括远程过程调用实例句柄、要发送的远端程序、远程过程调用服务名称、远程过程调用的参数、参数个数和int64类型的第二属性数组,所述第一属性数组和所述第二属性数组以RPC_ATTR_END属性结尾;
从所述通过RpcAttribute属性方式设置的参数中获取需要的参数并调用所述原远程过程调用方法来实现所述升级版的远程过程调用方法;
在所述升级版的远程过程调用的注册方法中,所述第一属性数组用于按照以所述RpcAttribute属性为关键字的键值对的方式存储第一回调函数、远程过程调用服务名称、参数签名和第一自定义参数,所述第一回调函数的参数包括远程过程调用服务的远端标识、远程过程调用的参数、参数个数、远程过程调用服务执行的上下文环境和所述第一自定义参数;
在所述升级版的远程过程调用的注册方法中,所述从所述通过RpcAttribute属性方式设置的参数中获取需要的参数并调用所述原远程过程调用方法来实现所述升级版的远程过程调用方法,包括:
根据所述RpcAttribute属性的关键字的值从所述第一属性数组中获取所述远程过程调用服务名称、所述第一回调函数,所述第一自定义参数和所述参数签名;
调用std::bind函数,将所述第一回调函数和所述第一自定义参数绑定为第一C++函数对象;
根据所述远程过程调用服务名称、所述参数签名和所述第一C++函数对象,调用所述原远程过程调用的注册方法来实现所述升级版的远程过程调用的注册方法;
在所述升级版的远程过程调用的调用方法中,所述第二属性数组用于按照以所述RpcAttribute属性为关键字的键值对的方式存储第二回调函数、超时时间和第二自定义参数,所述第二回调函数的参数包括所述远程过程调用的参数和所述第二自定义参数;
在所述升级版的远程过程调用的调用方法中,所述从所述通过RpcAttribute属性方式设置的参数中获取需要的参数并调用所述原远程过程调用方法来实现所述升级版的远程过程调用方法,包括:
根据所述RpcAttribute属性的关键字的值从所述第二属性数组中获取所述超时时间、所述第二回调函数和所述第二自定义参数;
从所述升级版的远程过程调用的调用方法的参数列表中获取所述要发送的远端程序、所述远程过程调用服务名称、所述远程过程调用的参数、所述参数个数;
调用std::bind函数,将所述第二回调函数和所述第二自定义参数绑定为第二C++函数对象;
根据所述要发送的远端程序、所述远程过程调用服务名称、所述远程过程调用的参数、所述参数个数、所述超时时间和所述第二C++函数对象,调用所述原远程过程调用的调用方法,实现所述升级版的远程过程调用的调用方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810750601.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:激光修复装置及修复方法
- 下一篇:确定环境温度的方法及装置