【技术实现步骤摘要】
基于远程过程调用的通讯系统、方法、装置、设备及介质
本专利技术实施例涉及计算机
,尤其涉及一种基于远程过程调用的通讯系统、方法、装置、设备及介质。
技术介绍
当前微服务通讯方式主要分为表述性状态转移(RepresentationalStateTransfer,REST)和远程过程调用RPC(RemoteProcedureCall,RPC)两种形式。RPC通讯方式,就是像调用本地方法一样调用远程方法。RPC具有高性能的优势,但RPC的微服务组件中通讯服务与基础服务紧耦合,导致当基础服务开发人员需要新增或变更基础服务的RPC服务接口时,通讯服务开发人员需要同步进行开发,更新RPC服务配置和传输对象序列化,与基础服务开发人员的基础服务保持一致。基础服务如果有功能新增或变更,引起RPC服务接口、传输对象的变更,通讯服务开发人员也要对通讯服务进行变更。如果基础服务组件较多,通讯服务开发人员则难以维护通讯服务。如果基础服务进行单方面变更,通讯服务没有同步修改,则会导致通讯服务与基础服务不一致出现接口兼容问题。因此,如何降低RPC的微服务组件中通讯服务与基础业务服务的开发耦合问题,降低因数据错误导致的不必要网络资源开销,成为目前亟待解决的技术问题。
技术实现思路
本专利技术实施例提供一种基于远程过程调用的通讯系统、方法、装置、设备及介质,可以降低通讯服务与基础服务的开发耦合问题,降低因数据错误导致的不必要网络资源开销。第一方面,本专利技术实施例提供了一种基于远程过程调用的通讯系统, ...
【技术保护点】
1.一种基于远程过程调用的通讯系统,其特征在于,包括:/n传输对象工程模块、通讯服务模块以及至少一个基础服务模块;/n其中,所述传输对象工程模块,用于发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则,所述传输对象规则包括:传输对象定义、传输对象序列化规则、传输对象反序列化规则、传输对象数据检查规则、远程过程调用服务配置规则以及远程过程调用版本检查规则;/n所述通讯服务模块,用于在接收到外部系统的请求报文时,根据所述传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用 ...
【技术特征摘要】
1.一种基于远程过程调用的通讯系统,其特征在于,包括:
传输对象工程模块、通讯服务模块以及至少一个基础服务模块;
其中,所述传输对象工程模块,用于发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则,所述传输对象规则包括:传输对象定义、传输对象序列化规则、传输对象反序列化规则、传输对象数据检查规则、远程过程调用服务配置规则以及远程过程调用版本检查规则;
所述通讯服务模块,用于在接收到外部系统的请求报文时,根据所述传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数据检查规则;如果确定所述传输对象数据符合传输对象数据检查规则,则根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象序列化规则,对所述传输对象数据进行序列化,生成与所述请求报文对应的远程过程调用请求,并将所述远程过程调用请求发送至所述目标基础服务模块;
各所述基础服务模块,用于在接收到所述通讯服务模块发送的远程过程调用请求时,根据所对应的远程过程调用版本检查规则,判断所述远程过程调用请求的远程过程调用版本是否与基础服务模块的远程过程调用版本一致;如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本一致,则根据所对应的传输对象反序列化规则对所述远程过程调用请求进行反序列化,得到与所述远程过程调用请求对应的传输对象数据,并执行与所述传输对象数据对应的业务逻辑。
2.根据权利要求1所述的系统,其特征在于,所述传输对象工程模块通过项目管理工具,发布与各所述基础服务模块的远程过程调用接口对应的传输对象规则。
3.根据权利要求1所述的系统,其特征在于,所述传输对象工程模块,还用于:
根据与各所述基础服务模块对应的传输对象规则更新信息,对发布的与各所述基础服务模块的远程过程调用接口对应的传输对象规则进行更新。
4.根据权利要求1所述的系统,其特征在于,所述通讯服务模块,还用于:
如果确定所述传输对象数据不符合传输对象数据检查规则,则发送异常提示信息至所述外部系统。
5.根据权利要求1所述的系统,其特征在于,各所述基础服务模块,还用于:
如果确定所述远程过程调用请求的远程过程调用版本与基础服务模块的远程过程调用版本不一致,则发送异常警告信息至所述通讯服务模块。
6.根据权利要求1所述的系统,其特征在于,所述通讯服务模块通过表述性状态转移接口接收外部系统发送的请求报文。
7.根据权利要求1所述的系统,其特征在于,所述通讯服务模块还用于:
在启动时,加载所述传输对象工程模块中的与各基础服务模块的远程过程调用接口对应的传输对象规则,并对传输对象工程模块中的远程过程调用服务配置规则进行缓存。
8.一种基于远程过程调用的通讯方法,应用于通讯服务模块中,其特征在于,所述方法包括:
通讯服务模块在接收到外部系统的请求报文时,根据传输对象工程模块中的远程过程调用服务配置规则,确定与所述请求报文对应的目标基础服务模块、以及所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象规则,并将所述请求报文转换为传输对象数据;
所述通讯服务模块根据所述传输对象工程模块中的与所述目标基础服务模块的远程过程调用接口对应的传输对象数据检查规则,判断所述传输对象数据是否符合传输对象数...
【专利技术属性】
技术研发人员:曹子钰,方红涛,汪维,
申请(专利权)人:中国建设银行股份有限公司,建信金融科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。