[发明专利]远程过程调用方法及装置有效
申请号: | 201710146522.6 | 申请日: | 2017-03-13 |
公开(公告)号: | CN106648940B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 陈宝玉;陈连增;夏正伟 | 申请(专利权)人: | 北京百悟科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 远程 过程 调用 方法 装置 | ||
1.一种远程过程调用方法,其特征在于,应用于服务端设备,所述服务端设备与客户端设备通信连接,其中,所述服务端设备能够读取需要对外服务的类,对外服务的接口通过注解的形式进行声明,由统一的Sign方法进行注册,以key-value形式保存到服务端设备内存当中,key为注解实例名称,value值存储实际的类方法和参数列表,当接收到服务调用请求时,从所述key中识别指定服务,并实现调用,所述方法包括:
接收所述客户端设备发送的远程过程调用协议RPC请求;
根据预设的RPC协议对所述RPC请求进行解析,得到所述RPC请求中的请求调用的方法的标识信息;
确定所述客户端设备请求调用的方法,执行所述客户端设备请求调用的方法以生成与该方法对应的消息,将生成的消息放入消息生产队列中,其中,生成的消息包括写消息和/或读消息;
从线程池中选择线程执行所述消息生产队列中的消息并将执行结果反馈至所述客户端设备;
其中,所述预设的RPC协议为:
所述RPC请求的格式为:包长、头大小、请求方法签名、消息类型、序列编号SEQID、扩展数据长度、编码后的扩展数据内容、body主体内容长度、body主体数据;所述RPC请求的包头中包含:所述请求方法签名、所述消息类型、所述序列编号SEQID、所述扩展数据长度和所述编码后的扩展数据内容;所述请求方法签名由请求的方法的名称和参数列表构成;所述SEQID用于标识不同的RPC请求;所述编码后的扩展数据内容用于保存请求及响应内容;消息类型是远程方法调用的类型,包括四种类型:业务调用、异常处理、请求响应和扩展使用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对线程执行所述消息生产队列中的消息的执行结果进行监控;
判断所述执行结果是否满足预设的触发条件,如果是,则触发与所满足的触发条件匹配的事件。
3.根据权利要求1或2所述的方法,其特征在于,在所述接收所述客户端设备发送的远程过程调用协议RPC请求前,所述方法还包括:
所述服务端设备对所述客户端设备的连接请求进行监听;
在监听到所述客户端设备的连接请求后,与所述客户端设备建立链接。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述服务端设备对与客户端设备的链接状态进行监控;
在所述服务端设备与客户端设备的链接断开时,重新建立与该客户端设备的链接。
5.根据权利要求1所述的方法,其特征在于,所述确定所述客户端设备请求调用的方法,执行所述客户端设备请求调用的方法以生成与该方法对应的消息,将生成的消息放入消息生产队列中,包括:
在所述服务端设备本地查找具有得到的所述标识信息的键key,根据与所述key对应的值value中存储的方法参数生成与该方法对应的消息,将生成的消息放入消息生产队列中;
其中,在生成写消息时,将生成的写消息放入写消息生产队列中;
在生成读消息时,将生成的读消息放入读消息生产队列中。
6.根据权利要求5所述的方法,其特征在于,所述从线程池中选择线程执行所述消息生产队列中的消息并将执行结果反馈至所述客户端设备,包括:
从所述写消息消费者线程池中获取线程执行所述写消息生产队列中的写消息,在执行所述写消息成功后,将执行结果反馈至所述客户端设备,其中,在线程执行完所述写消息后,所述服务端设备将该线程放回所述写消息消费者线程池;
从所述读消息消费者线程池中获取线程执行所述读消息生产队列中的读消息,在执行所述读消息成功后,将执行结果反馈至所述客户端设备,其中,在线程执行完所述读消息后,所述服务端设备将该线程放回所述读消息消费者线程池。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百悟科技有限公司,未经北京百悟科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710146522.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种进气装置及使用该装置的客车
- 下一篇:一种发动机用干净空气管