一种基于支持多种通讯协议的RPC服务端实现方法技术

技术编号:32856214 阅读:15 留言:0更新日期:2022-03-30 19:27
本发明专利技术提供了一种基于支持多种通讯协议的RPC服务端实现方法,其中,该方法包括:客户端发起远程过程服务调用,采用HTTP通讯协议,发送XML/JSON类型报文给RPC服务端;RPC服务端复用RPC通讯组件的逻辑,调用服务接口,接收客户端发送的XML/JSON类型报文;RPC服务端对XML/JSON类型报文进行转换处理,获得第一请求对象;根据第一请求对象调用与第一请求对象对应的第一接口方法;根据第一接口方法获得第一响应对象;对第一响应对象进行处理后反馈至客户端。解决了现有技术中对于同一个服务端,无法针对不同协议类型的报文进行处理的技术问题。题。题。

【技术实现步骤摘要】
一种基于支持多种通讯协议的RPC服务端实现方法


[0001]本专利技术涉及计算机应用系统通讯相关
,具体涉及一种基于支持多种通讯协议的RPC服务端实现方法。

技术介绍

[0002]RPC(Remote Procedure Call Protocol)通信协议为远程过程调用协议,可以使服务调用者可以像调用本地方法一样调用远程服务,且调用过程对调用者是完全透明的。通过RPC协议,客户端可调用存在于传承计算机上的某个对象,就行调用本地程序中的对象一样。
[0003]企业中不同的系统之间采用的通讯协议以及报文类型各不相同,例如部分系统采用RPC协议,部分系统采用HTTP(Hypertext Transfer Prtcl)协议。目前服务方在开发通讯方式时需要根据服务端的应用系统的通信协议进行针对性的开发。
[0004]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0005]现有技术中由于企业中不同系统之间采用的通讯协议以及报文类型各不相同,现有的RPC开源框架使用的RPC通讯协议,比如dubbo协议,thrift协议等,不能同时支持不同的通讯报文协议规则,对于同一个服务端,无法针对不同协议类型的报文进行处理,存在着同一服务端无法满足不同通讯协议调用的技术问题。

技术实现思路

[0006]本申请实施例通过提供了一种基于支持多种通讯协议的RPC服务端实现方法,用于针对解决现有技术中由于企业中不同系统之间采用的通讯协议以及报文类型各不相同,现有的RPC开源框架使用的RPC通讯协议,比如dubbo协议,thrift协议等,不能同时支持不同的通讯报文协议规则,对于同一个服务端,无法针对不同协议类型的报文进行处理,存在着同一服务端无法满足不同通讯协议调用的技术问题。
[0007]鉴于上述问题,本申请实施例提供了一种基于支持多种通讯协议的RPC服务端实现方法。
[0008]本申请实施例的第一个方面,提供了一种基于支持多种通讯协议的RPC服务端实现方法,所述方法应用于一种支持多种通讯协议的RPC服务端实现系统,所述系统包括RPC服务端和客户端,所述方法包括:所述客户端发起远程过程服务调用,采用HTTP通讯协议,发送XML/JSON类型报文给所述RPC服务端;所述RPC服务端复用RPC通讯组件的逻辑,调用服务接口,接收所述客户端发送的XML/JSON类型报文;所述RPC服务端对所述XML/JSON类型报文进行转换处理,获得第一请求对象;根据所述第一请求对象调用与所述第一请求对象对应的第一接口方法;根据所述第一接口方法获得第一响应对象;对所述第一响应对象进行处理后反馈至所述客户端。
[0009]本申请实施例的第二个方面,提供了一种基于支持多种通讯协议的RPC服务端实
现系统,所述系统包括:第一发送单元,所述第一发送单元用于客户端发起远程过程服务调用,采用HTTP通讯协议,发送XML/JSON类型报文给RPC服务端;第一处理单元,所述第一处理单元用于所述RPC服务端复用RPC通讯组件的逻辑,调用服务接口,接收所述客户端发送的XML/JSON类型报文;第二处理单元,所述第二处理单元用于所述RPC服务端对所述XML/JSON类型报文进行转换处理,获得第一请求对象;第三处理单元,所述第三处理单元用于根据所述第一请求对象调用与所述第一请求对象对应的第一接口方法;第一获得单元,所述第一获得单元用于根据所述第一接口方法获得第一响应对象;第二发送单元,所述第二发送单元用于对所述第一响应对象进行处理后反馈至所述客户端。
[0010]本申请实施例的第三个方面,提供了一种基于支持多种通讯协议的RPC服务端实现系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使系统以执行如第一方面所述方法的步骤。
[0011]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0012]本申请实施例提供的方法在客户端发起远程过程服务调用时,若采用HTTP发起调用请求,则向RPC服务端发送XML/JSON类型报文,RPC服务端接收客户端发送的HTTP请求,解析出HTTP请求中的URL,然后对报文中标识每笔业务的业务码与服务端应用接口方法的URL做映射,进而根据映射对XML/JSON报文进行反序列化转换为请求对象,根据请求对象调用服务方对应的接口方法,根据接口方法将响应对象序列化为XML/JSON响应报文返回给客户端,完成调用。本申请实施例在RPC服务端增加接口适配模块,然后复用RPC通讯组件的逻辑,可以兼容各企业原有的通讯报文协议规则,支持HTTP通讯协议和RPC通讯协议,在进行开发通讯方式的过程中,RPC服务端只需开发一种逻辑即可,使得服务方应用一次开发便可支持客户端采用不同通讯协议的调用方式,减少服务端开发成本,达到同一RPC服务端可满足不同通讯协议远程调用请求、减少开发成本的技术效果。
[0013]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0014]图1为本申请实施例提供的一种基于支持多种通讯协议的RPC服务端实现方法流程示意图之一;
[0015]图2为本申请实施例提供的一种基于支持多种通讯协议的RPC服务端实现方法流程示意图之二;
[0016]图3为本申请实施例提供的一种基于支持多种通讯协议的RPC服务端实现方法的逻辑框图;
[0017]图4本申请实施例提供的一种基于支持多种通讯协议的RPC服务端实现系统结构示意图;
[0018]图5为本申请实施例示例性电子设备的结构示意图。
[0019]附图标记说明:第一发送单元11,第一处理单元12,第二处理单元13,第三处理单元14,第一获得单元15,第二发送单元16,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
[0020]本申请实施例通过提供了一种基于支持多种通讯协议的RPC服务端实现方法,用于针对解决现有技术中由于企业中不同系统之间采用的通讯协议以及报文类型各不相同,现有的RPC开源框架使用的RPC通讯协议,比如dubbo协议,thrift协议等,不能同时支持不同的通讯报文协议规则,对于同一个服务端,无法针对不同协议类型的报文进行处理,存在着同一服务端无法满足不同通讯协议调用的技术问题。
[0021]申请概述
[0022]RPC通信协议为远程过程调用协议,可以使服务调用者可以像调用本地方法一样调用远程服务,且调用过程对调用者是完全透明的。通过RPC协议,客户端可调用存在于传承计算机上的某个对象,就行调用本地程序中的对象一样。企业中不同的系统之间采用的通讯协议以及报文类型各不相同,例如部分系统采用RPC协议,部分系统采用HTTP协议。目前服务方在开发通讯方式时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持多种通讯协议的RPC服务端实现方法,其中,所述方法应用于一种支持多种通讯协议的RPC服务端实现系统,所述系统包括RPC服务端和客户端,所述方法包括:所述客户端发起远程过程服务调用,采用HTTP通讯协议,发送XML/JSON类型报文给所述RPC服务端;所述RPC服务端复用RPC通讯组件的逻辑,调用服务接口,接收所述客户端发送的XML/JSON类型报文;所述RPC服务端对所述XML/JSON类型报文进行转换处理,获得第一请求对象;根据所述第一请求对象调用与所述第一请求对象对应的第一接口方法;根据所述第一接口方法获得第一响应对象;对所述第一响应对象进行处理后反馈至所述客户端。2.如权利要求1所述的方法,其中,所述客户端发起远程过程服务调用后,还包括:所述客户端发起远程过程服务调用,采用RPC通讯协议,发送RPC类型报文给所述RPC服务端;所述RPC服务端调用RPC服务接口,接收所述RPC类型报文,获得第二请求对象;根据所述第二请求对象调用与所述第二请求对象对应的第二接口方法;根据所述第二接口方法获得第二响应对象;对所述第二响应对象直接反馈至所述客户端。3.如权利要求2所述的方法,其中,所述方法还包括:所述RPC服务端构建第一接口和第二接口,其中,所述第一接口支持RPC通讯协议,所述第二接口支持HTTP协议;当所述客户端发起XML/JSON类型报文时,调用所述第二接口;当所述客户端发起RPC类型报文时,调用所述第一接口。4.如权利要求1所述的方法,其中,所述RPC服务端对所述XML/JSON类型报文进行转换处理,获得第一请求对象,包括:所述RPC服务端接收所述客户端发送的XML/JSON类型报文,解...

【专利技术属性】
技术研发人员:兰鑫玥马融李春兰
申请(专利权)人:中信银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1