基于远程过程调用的通讯系统、方法、装置、设备及介质制造方法及图纸

技术编号:26425838 阅读:36 留言:0更新日期:2020-11-20 14:23
本发明专利技术实施例公开了一种基于远程过程调用的通讯系统、方法、装置、设备及介质。系统包括:传输对象工程模块、通讯服务模块以及至少一个基础服务模块;传输对象工程模块发布与各基础服务模块的远程过程调用接口对应的传输对象规则;通讯服务模块确定外部系统的请求报文对应的目标基础服务模块以及传输对象规则,将请求报文转换为传输对象数据,在传输对象数据符合传输对象数据检查规则时,进行序列化,生成远程过程调用请求发送至目标基础服务模块;各基础服务模块在远程过程调用版本一致时,进行反序列化得到传输对象数据,执行业务逻辑。本发明专利技术实施例可以降低通讯服务与基础服务的开发耦合问题,降低因数据错误导致的不必要网络资源开销。

【技术实现步骤摘要】
基于远程过程调用的通讯系统、方法、装置、设备及介质
本专利技术实施例涉及计算机
,尤其涉及一种基于远程过程调用的通讯系统、方法、装置、设备及介质。
技术介绍
当前微服务通讯方式主要分为表述性状态转移(RepresentationalStateTransfer,REST)和远程过程调用RPC(RemoteProcedureCall,RPC)两种形式。RPC通讯方式,就是像调用本地方法一样调用远程方法。RPC具有高性能的优势,但RPC的微服务组件中通讯服务与基础服务紧耦合,导致当基础服务开发人员需要新增或变更基础服务的RPC服务接口时,通讯服务开发人员需要同步进行开发,更新RPC服务配置和传输对象序列化,与基础服务开发人员的基础服务保持一致。基础服务如果有功能新增或变更,引起RPC服务接口、传输对象的变更,通讯服务开发人员也要对通讯服务进行变更。如果基础服务组件较多,通讯服务开发人员则难以维护通讯服务。如果基础服务进行单方面变更,通讯服务没有同步修改,则会导致通讯服务与基础服务不一致出现接口兼容问题。因此,如何降低RPC的微服务组件中通讯服务与基础业务服务的开发耦合问题,降低因数据错误导致的不必要网络资源开销,成为目前亟待解决的技术问题。
技术实现思路
本专利技术实施例提供一种基于远程过程调用的通讯系统、方法、装置、设备及介质,可以降低通讯服务与基础服务的开发耦合问题,降低因数据错误导致的不必要网络资源开销。第一方面,本专利技术实施例提供了一种基于远程过程调用的通讯系统,包括:传输对象工程模块、通讯服务模块以及至少一个基础服务模块;其中,所述传输对象工程模块,用于发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则,所述传输对象规则包括:传输对象定义、传输对象序列化规则、传输对象反序列化规则、传输对象数据检查规则、远程过程调用服务配置规则以及远程过程调用版本检查规则;所述通讯服务模块,用于在接收到外部系统的请求报文时,根据所述传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块;各所述基础服务模块,用于在接收到所述通讯服务模块发送的远程过程调用请求时,根据所对应的远程过程调用版本检查规则,判断所述远程过程调用请求的远程过程调用版本是否与基础服务模块的远程过程调用版本一致;如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本一致,则根据所对应的传输对象反序列化规则对所述远程过程调用请求进行反序列化,得到与所述远程过程调用请求对应的传输对象数据,并执行与所述传输对象数据对应的业务逻辑。第二方面,本专利技术实施例还提供了一种基于远程过程调用的通讯方法,包括:通讯服务模块在接收到外部系统的请求报文时,根据传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;所述通讯服务模块根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;所述通讯服务模块如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块,以使所述目标基础服务模块对所述远程过程调用请求进行处理。第三方面,本专利技术实施例还提供了一种基于远程过程调用的通讯装置,包括:报文转换单元,用于在接收到外部系统的请求报文时,根据传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;数据检查单元,用于根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;请求发送单元,用于如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块,以使所述目标基础服务模块对所述远程过程调用请求进行处理。第四方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本专利技术实施例所述的基于远程过程调用的通讯方法。第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如本专利技术实施例所述的基于远程过程调用的通讯方法。本专利技术实施例的技术方案,通过传输对象工程模块发布与各基础服务模块的远程过程调用接口对应的传输对象规则,将与各基础服务模块的远程过程调用接口对应的传输对象规则提供给通讯服务模块引用;通讯服务模块在接收到外部系统的请求报文时,根据远程过程调用服务配置规则,确定与请求报文对应的目标基础服务模块、以及传输对象工程模块中的与目标基础服务模块的远程过程调用接口对应的传输对象规则,并将请求报文转换为传输对象数据,然后根据与目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断传输对象数据是否符合传输对象数据检查规则;如果符合传输对象数据检查规则,则根据传输对象序列化规则,对传输对象数据进行序列化,生成与请求报文对应的远程过程调用请求,并将远程过程调用请求发送至目标基础服务模块;目标基础服务模块在接收到通讯服务模块发送的远程过程调用请求时,根据所对应的远程过程调用版本检查规则,判断远程过程调用请求的远程过程调用版本是否与基础服务模块的远程过程调用版本一致;如果确定远程过程调用请求的远程过程调用版本与目标基础服务模块版本一致,则根据所对应的传输对象反序列化规则对远程过程调用请求进行反序列化,得到与远程过程调用请求对应的传输对象数据,并执行与本文档来自技高网...

【技术保护点】
1.一种基于远程过程调用的通讯系统,其特征在于,包括:/n传输对象工程模块、通讯服务模块以及至少一个基础服务模块;/n其中,所述传输对象工程模块,用于发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则,所述传输对象规则包括:传输对象定义、传输对象序列化规则、传输对象反序列化规则、传输对象数据检查规则、远程过程调用服务配置规则以及远程过程调用版本检查规则;/n所述通讯服务模块,用于在接收到外部系统的请求报文时,根据所述传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块;/n各所述基础服务模块,用于在接收到所述通讯服务模块发送的远程过程调用请求时,根据所对应的远程过程调用版本检查规则,判断所述远程过程调用请求的远程过程调用版本是否与基础服务模块的远程过程调用版本一致;如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本一致,则根据所对应的传输对象反序列化规则对所述远程过程调用请求进行反序列化,得到与所述远程过程调用请求对应的传输对象数据,并执行与所述传输对象数据对应的业务逻辑。/n...

【技术特征摘要】
1.一种基于远程过程调用的通讯系统,其特征在于,包括:
传输对象工程模块、通讯服务模块以及至少一个基础服务模块;
其中,所述传输对象工程模块,用于发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则,所述传输对象规则包括:传输对象定义、传输对象序列化规则、传输对象反序列化规则、传输对象数据检查规则、远程过程调用服务配置规则以及远程过程调用版本检查规则;
所述通讯服务模块,用于在接收到外部系统的请求报文时,根据所述传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块;
各所述基础服务模块,用于在接收到所述通讯服务模块发送的远程过程调用请求时,根据所对应的远程过程调用版本检查规则,判断所述远程过程调用请求的远程过程调用版本是否与基础服务模块的远程过程调用版本一致;如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本一致,则根据所对应的传输对象反序列化规则对所述远程过程调用请求进行反序列化,得到与所述远程过程调用请求对应的传输对象数据,并执行与所述传输对象数据对应的业务逻辑。


2.根据权利要求1所述的系统,其特征在于,所述传输对象工程模块通过项目管理工具,发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则。


3.根据权利要求1所述的系统,其特征在于,所述传输对象工程模块,还用于:
根据与各所述基础服务模块对应的传输对象规则更新信息,对发布的与各所述基础服务模块的远程过程调用接口对应的传输对象规则进行更新。


4.根据权利要求1所述的系统,其特征在于,所述通讯服务模块,还用于:
如果确定所述传输对象数据不符合传输对象数据检查规则,则发送异常提示信息至所述外部系统。


5.根据权利要求1所述的系统,其特征在于,各所述基础服务模块,还用于:
如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本不一致,则发送异常警告信息至所述通讯服务模块。


6.根据权利要求1所述的系统,其特征在于,所述通讯服务模块通过表述性状态转移接口接收外部系统发送的请求报文。


7.根据权利要求1所述的系统,其特征在于,所述通讯服务模块还用于:
在启动时,加载所述传输对象工程模块中的与各基础服务模块的远程过程调用接口对应的传输对象规则,并对传输对象工程模块中的远程过程调用服务配置规则进行缓存。


8.一种基于远程过程调用的通讯方法,应用于通讯服务模块中,其特征在于,所述方法包括:
通讯服务模块在接收到外部系统的请求报文时,根据传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;
所述通讯服务模块根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数...

【专利技术属性】
技术研发人员:曹子钰方红涛汪维
申请(专利权)人:中国建设银行股份有限公司建信金融科技有限责任公司
类型:发明
国别省市:北京;11

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

1