掌桥专利:专业的专利平台
掌桥专利
首页

一种实现RPC协议转换的方法

文献发布时间:2023-06-19 19:30:30


一种实现RPC协议转换的方法

技术领域

本发明涉及通信协议技术领域,具体为一种实现RPC协议转换的方法。

背景技术

RPC(RemoteProcedureCallProtocol)通信协议为远程过程调用协议,可以使服务调用者可以像调用本地方法一样调用远程服务,且调用过程对调用者是完全透明的。通过RPC协议,客户端可调用存在于传承计算机上的某个对象,就行调用本地程序中的对象一样。

现有的系统RPC通信组件在升级的过程中需要进行过渡,但是过渡需要时间,此时无法保证两种远程通信组件协议相互一致,因此,各种序列化与反序列化无法正常进行。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种实现RPC协议转换的方法,解决了现有的系统RPC通信组件在升级的过程中需要进行过渡,但是过渡需要时间,此时无法保证两种远程通信组件协议相互一致,因此,各种序列化与反序列化无法正常进行的问题。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:一种实现RPC协议转换的方法,包括以下具体步骤:

步骤一:信息发送

服务消费者客户端通过本地服务器发送需要消费的调用请求信息;

步骤二:信息拦截

拦截步骤一中的调用信息;

步骤三:信息拆解

将步骤二中拦截到的信息进行解码操作;

步骤四:信息分装

解码完成后的信息封装成SOFA协议,并发送给客户端;

步骤五:信息调用

客户端接收到信息后,将方法、入参等信息序列化成能够进行网络传输的消息体,之后找到远程的服务地址,并且将消息通过网络发送给服务端,服务端接收到消息后进行解码,并且根据解码后的结果调用本地的服务进行相关处理,本地服务执行具体业务逻辑并将处理结果返回给服务端,服务端接收到消息后将返回结果重新打包成消息并通过网络发送至客户端,客户端接收到消息,并进行解码,最后消费者得到调用信息。

优选的,所述客户端与服务端之间建立TCP连接。

优选的,所述网络传输主要以二进制代码的方式进行传输。

(三)有益效果

本发明提供了一种实现RPC协议转换的方法。具备以下有益效果:

本发明,通过将RPC协议转换成SOFA协议,使两种远程通信组件协议相互一致,保证各种序列化与反序列化的正常运行。

附图说明

图1为本发明所提出的一种实现RPC协议转换的方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:

如图1所示,本发明实施例提供一种实现RPC协议转换的方法,包括以下具体步骤:

步骤一:信息发送

服务消费者客户端通过本地服务器发送需要消费的调用请求信息;

步骤二:信息拦截

拦截步骤一中的调用信息;

步骤三:信息拆解

将步骤二中拦截到的信息进行解码操作;

在解码操作的过程中会造成类找不到的异常,所有此次加入了字节码动态生成类,通过javass it技术,一直属性类型以及类名字,动态生成类,来达到没有依赖类,但是可以虚拟出类的原理,通过此方法则可以随意虚拟出反序列化没有的类,最终支持达到协议转换的目的;

步骤四:信息分装

解码完成后的信息封装成SOFA协议,并发送给客户端;

步骤五:信息调用

客户端接收到信息后,将方法、入参等信息序列化成能够进行网络传输的消息体,之后找到远程的服务地址,并且将消息通过网络发送给服务端,服务端接收到消息后进行解码(反序列化),并且根据解码后的结果调用本地的服务进行相关处理,本地服务执行具体业务逻辑并将处理结果返回给服务端,服务端接收到消息后将返回结果重新打包成消息并通过网络发送至客户端,客户端接收到消息,并进行解码(反序列化),最后消费者得到调用信息。

所述客户端与服务端之间建立TCP连接,远程过程调用的所有交换的数据都在这个连接里传输。连接可以是按需连接(需要调用的时候就先建立连接,调用结束后就立马断掉),也可以是长连接(客户端和服务器建立起连接之后保持长期持有,不管此时有无数据包的发送,可以配合心跳检测机制定期检测建立的连接是否存活有效),多个远程过程调用共享同一个连接,所述网络传输主要以二进制代码的方式进行传输。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 一种基于私有协议的RPC组件的实现方法及RPC组件
  • 一种基于支持多种通讯协议的RPC服务端实现方法
技术分类

06120115932894