[发明专利]一种基于NETTY的远程过程调用方法在审
申请号: | 201711081741.7 | 申请日: | 2017-11-06 |
公开(公告)号: | CN109756461A | 公开(公告)日: | 2019-05-14 |
发明(设计)人: | 李灵杰;付建祖;王春华 | 申请(专利权)人: | 北京航天长峰科技工业集团有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端 应答消息 远程过程调用 远程调用 客户端接口 字节流形式 参数结构 调用请求 定义模块 反射机制 映射关系 初始化 服务端 类对象 字节流 映射 拆包 加载 调用 封装 解析 查找 返回 创建 | ||
本发明涉及一种基于NETTY的远程过程调用方法,首先定义RPC请求消息、应答消息结构,包括RPC的接口定义模块、远程调用类名、方法名称、参数结构、参数值;服务端初始化时通过容器加载RPC接口定义和RPC接口实现类对象的映射关系,然后等待客户端发起调用请求;客户端发起的RPC消息以字节流的方式送给RPC服务端,RPC服务端接收到请求之后,去对应的容器里面查找客户端接口映射的具体实现对象,通过反射机制创建该对象的实例,并返回调用处理结果,最后封装成RPC应答消息通知到客户端;客户端收到字节流形式的RPC应答消息,进行拆包、解析之后,显示远程调用结果。
技术领域
本发明涉及计算机网络技术领域,具体涉及一种基于NETTY的远程过程调用方法。
背景技术
RPC(Remote Procedure Call Protocol)——远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序设计更加容易。
RPC采用客户机/服务器模式。请求程序是一个客户机,而服务提供程序是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
目前典型的RPC实现框架有:Thrift(facebook开源)、Dubbo(alibaba开源)等等。RPC框架针对网络协议、网络I/O模型的封装是透明的,调用的客户端认为自己在调用本地的一个对象。
衡量一个RPC框架性能的好坏与否,RPC的网络I/O模型的选择,至关重要。在此基础上,设计出来的RPC服务器,可以考虑支持阻塞式同步IO、非阻塞式同步IO、多路复用IO模型、异步IO模型。支持不同的网络IO模型,在高并发的状态下,处理性能上会有很大的差别。
传统的RPC框架或者基于RMI等方式的远程服务(过程)调用因为采用了同步阻塞IO,当客户端的并发压力或者网络时延增大之后,同步阻塞IO会由于频繁的等待导致IO线程经常性的阻塞,从而导致IO处理能力下降。
发明内容
发明正对上述问题,提出一种基于NETTY的远程过程调用方法,采用异步非阻塞的方式,以解决IO处理能力下降问题,提高通信效率。
本发明的技术方案如下:
一种基于NETTY的远程过程调用方法,其特征在于,包括以下步骤:
(1)定义RPC请求消息、应答消息结构,里面包括RPC的接口定义模块、包括远程调用的类名、方法名称、参数结构、参数值信息;
(2)服务端初始化的时候通过容器加载RPC接口定义和RPC接口实现类对象的映射关系,然后等待客户端发起调用请求;
(3)客户端发起的RPC消息里面包含远程调用的类名、方法名称、参数结构、参数值信息,通过网络,以字节流的方式送给RPC服务端,RPC服务端接收到字节流的请求之后,去对应的容器里面,查找客户端接口映射的具体实现对象;
(4)RPC服务端找到实现对象的参数信息,通过反射机制创建该对象的实例,并返回调用处理结果,最后封装成RPC应答消息通知到客户端;
(5)客户端通过网络,收到字节流形式的RPC应答消息,进行拆包、解析之后,显示远程调用结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航天长峰科技工业集团有限公司,未经北京航天长峰科技工业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711081741.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防重放攻击方法及装置
- 下一篇:一种基于oSIP的信令服务器架构方法