远程过程调用方法、装置及通信系统制造方法及图纸

技术编号:14478011 阅读:76 留言:0更新日期:2017-01-25 10:41
本发明专利技术公开了一种远程过程调用方法、装置及通信系统,属于通信技术领域。所述方法包括:所述第一消息处理组件接收并向所述第一服务钩子组件发送所述第一调用请求消息;所述第一服务钩子组件接收并向所述第一处理组件发送所述第一调用请求消息;所述第一处理组件接收并通过所述第一调用请求消息生成第一调用响应消息,向所述第一服务钩子组件发送所述第一调用响应消息;所述第一服务钩子组件接收并向所述第一消息处理组件发送所述第一调用响应消息;所述第一消息处理组件接收并向所述服务端发送所述第一调用响应消息。本发明专利技术通过在客户端注册第一服务钩子组件,实现了服务端直接调用客户端提供的服务,降低了复杂性,提高了系统灵活性。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种远程过程调用方法、装置及通信系统
技术介绍
RPC(RemoteProcedureCall,远程过程调用)是一种通过网络从远程计算机上请求服务的协议,当一台设备上的程序调用另一台设备的服务提供程序时,就称之为一次RPC过程,请求服务的程序即为客户端,服务提供程序即为服务端。一次RPC过程具体可以包括下述过程:服务端上注册有消息处理组件、服务钩子组件和处理组件,客户端要调用服务端提供的服务时会向服务端发送调用请求消息,服务端的消息处理组件在接收该调用请求信息后,发送给服务钩子组件,该服务钩子组件再向处理组件转发该调用请求消息,由处理组件对该调用请求消息进行响应,并根据响应的结果生成调用响应消息,最后,通过该服务钩子组件和该消息处理组件返回给客户端。然而,客户端事实上也可以提供一些服务,但是上述RPC过程中,仅能由客户端调用服务端提供的服务,而不能由服务端直接调用客户端提供的服务。当服务端需要调用客户端提供的服务时,需要在客户端所在的设备上配置服务端,在服务端所在的设备上配置客户端,由配置的客户端调用配置的服务端提供的服务。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:服务端需要调用客户端提供的服务时,不能直接调用,而仅能通过增加服务端和客户端的方式调用,增加了通信对象的数目,造成了系统资源的浪费,提高了复杂性。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种远程过程调用方法、装置及通信系统。所述技术方案如下:第一方面,提供了一种远程过程调用方法,应用于客户端中,所述客户端注册有第一消息处理组件、第一服务钩子组件和第一处理组件,所述方法包括:所述第一消息处理组件接收服务端发送的第一调用请求消息,向所述第一服务钩子组件发送所述第一调用请求消息;所述第一服务钩子组件接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息;所述第一处理组件接收所述第一调用请求消息,对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,向所述第一服务钩子组件发送所述第一调用响应消息;所述第一服务钩子组件接收所述第一调用响应消息,向所述第一消息处理组件发送所述第一调用响应消息;所述第一消息处理组件接收所述第一调用响应消息,向所述服务端发送所述第一调用响应消息。在一种可能实现方式中,所述第一服务钩子组件包括多个服务接口,所述第一服务钩子组件接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息,包括:所述第一服务钩子组件接收到所述第一调用请求消息时,调用与所述第一调用请求消息对应的服务接口,向所述第一处理组件发送所述第一调用请求消息。在另一种可能实现方式中,所述方法还包括:所述第一消息处理组件向所述服务端发送第二调用请求消息,所述服务端用于对所述第二调用请求消息进行响应,并生成第二调用响应消息;当所述第一消息处理组件接收到所述服务端发送的第二调用响应消息时,对所述第二调用响应消息进行处理。在另一种可能实现方式中,所述方法还包括:当所述第一消息处理组件接收到所述服务端发送的任一消息时,获取所述消息中携带的属性信息;如果所述属性信息为第一预设属性信息,则确定所述消息为调用请求消息;如果所述属性信息为第二预设属性信息,则确定所述消息为调用响应消息。在另一种可能实现方式中,所述消息包括消息头和消息体,所述消息头携带所述属性信息。第二方面,提供了一种远程过程调用方法,应用于服务端中,所述服务端注册有第二消息处理组件,所述方法包括:所述第二消息处理组件向客户端发送第一调用请求消息;当所述第二消息处理组件接收到所述客户端返回的第一调用响应消息时,对所述第一调用响应消息进行处理;其中,所述客户端注册的第一消息处理组件用于接收所述第一调用请求消息,向注册的第一服务钩子组件发送所述第一调用请求消息,所述第一服务钩子组件用于向注册的第一处理组件发送所述第一调用请求消息,所述第一处理组件用于对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,并返回所述第一调用响应消息。在一种可能实现方式中,所述服务端还注册有第二服务钩子组件和第二处理组件,所述方法还包括:所述第二消息处理组件接收所述客户端发送的第二调用请求消息,向所述第二服务钩子组件发送所述第二调用请求消息;所述第二服务钩子组件接收所述第二调用请求消息,向所述第二处理组件发送所述第二调用请求消息;所述第二处理组件接收所述第二调用请求消息,对所述第二调用请求消息进行响应,根据响应结果生成第二调用响应消息,向所述第二服务钩子组件发送所述第二调用响应消息;所述第二服务钩子组件接收所述第二调用响应消息,向所述第二消息处理组件发送所述第二调用响应消息;所述第二消息处理组件接收所述第二调用响应消息,向所述客户端发送所述第二调用响应消息。在另一种可能实现方式中,所述第二服务钩子组件包括多个服务接口,所述第二服务钩子组件接收所述第二调用请求消息,向所述第二处理组件发送所述第二调用请求消息,包括:所述第二服务钩子组件接收到所述第二调用请求消息时,调用与所述第二调用请求消息对应的服务接口,向所述第二处理组件发送所述第二调用请求消息。在另一种可能实现方式中,所述方法还包括:当所述第二消息处理组件接收到所述客户端发送的任一消息时,获取所述消息中携带的属性信息;如果所述属性信息为第一预设属性信息,则确定所述消息为调用请求消息;如果所述属性信息为第二预设属性信息,则确定所述消息为调用响应消息。在另一种可能实现方式中,所述消息包括消息头和消息体,所述消息头携带所述属性信息。第三方面,提供了一种客户端,所述客户端包括:所述客户端包括第一消息处理组件、第一服务钩子组件和第一处理组件;所述第一消息处理组件,用于接收服务端发送的第一调用请求消息,向所述第一服务钩子组件发送所述第一调用请求消息;所述第一服务钩子组件,用于接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息;所述第一处理组件,用于接收所述第一调用请求消息,对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,向所述第一服务钩子组件发送所述第一调用响应消息;所述第一服务钩子组件,用于接收所述第一调用响应消息,向所述第一消息处理组件发送所述第一调用响应消息;所述第一消息处理组件,用于接收所述第一调用响应消息,向所述服务端发送所述第一调用响应消息。在一种可能实现方式中,所述第一服务钩子组件包括多个服务接口,所述第一服务钩子组件用于所述第一服务钩子组件接收到所述第一调用请求消息时,调用与所述第一调用请求消息对应的服务接口,向所述第一处理组件发送所述第一调用请求消息。在另一种可能实现方式中,所述第一消息处理组件还用于向所述服务端发送第二调用请求消息,所述服务端用于对所述第二调用请求消息进行响应,并生成第二调用响应消息;所述第一消息处理组件还用于当接收到所述服务端发送的第二调用响应消息时,对所述第二调用响应消息进行处理。在另一种可能实现方式中,所述第一消息处理组件还用于当接收到所述服务端发送的任一消息时,获取所述消息中携带的属性信息;如果所述属性信息为第一预设属性信息,则确定所述消息为调用请求消息;如果所述属性信息为第二预设属性信息,则确本文档来自技高网...
远程过程调用方法、装置及通信系统

【技术保护点】
一种远程过程调用方法,其特征在于,应用于客户端中,所述客户端注册有第一消息处理组件、第一服务钩子组件和第一处理组件,所述方法包括:所述第一消息处理组件接收服务端发送的第一调用请求消息,向所述第一服务钩子组件发送所述第一调用请求消息;所述第一服务钩子组件接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息;所述第一处理组件接收所述第一调用请求消息,对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,向所述第一服务钩子组件发送所述第一调用响应消息;所述第一服务钩子组件接收所述第一调用响应消息,向所述第一消息处理组件发送所述第一调用响应消息;所述第一消息处理组件接收所述第一调用响应消息,向所述服务端发送所述第一调用响应消息。

【技术特征摘要】
1.一种远程过程调用方法,其特征在于,应用于客户端中,所述客户端注册有第一消息处理组件、第一服务钩子组件和第一处理组件,所述方法包括:所述第一消息处理组件接收服务端发送的第一调用请求消息,向所述第一服务钩子组件发送所述第一调用请求消息;所述第一服务钩子组件接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息;所述第一处理组件接收所述第一调用请求消息,对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,向所述第一服务钩子组件发送所述第一调用响应消息;所述第一服务钩子组件接收所述第一调用响应消息,向所述第一消息处理组件发送所述第一调用响应消息;所述第一消息处理组件接收所述第一调用响应消息,向所述服务端发送所述第一调用响应消息。2.根据权利要求1所述的方法,其特征在于,所述第一服务钩子组件包括多个服务接口,所述第一服务钩子组件接收所述第一调用请求消息,向所述第一处理组件发送所述第一调用请求消息,包括:所述第一服务钩子组件接收到所述第一调用请求消息时,调用与所述第一调用请求消息对应的服务接口,向所述第一处理组件发送所述第一调用请求消息。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一消息处理组件向所述服务端发送第二调用请求消息,所述服务端用于对所述第二调用请求消息进行响应,并生成第二调用响应消息;当所述第一消息处理组件接收到所述服务端发送的第二调用响应消息时,对所述第二调用响应消息进行处理。4.一种远程过程调用方法,其特征在于,应用于服务端中,所述服务端注册有第二消息处理组件,所述方法包括:所述第二消息处理组件向客户端发送第一调用请求消息;当所述第二消息处理组件接收到所述客户端返回的第一调用响应消息时,对所述第一调用响应消息进行处理;其中,所述客户端注册的第一消息处理组件用于接收所述第一调用请求消息,向注册的第一服务钩子组件发送所述第一调用请求消息,所述第一服务钩子组件用于向注册的第一处理组件发送所述第一调用请求消息,所述第一处理组件用于对所述第一调用请求消息进行响应,根据响应结果生成第一调用响应消息,并返回所述第一调用响应消息。5.根据权利要求4所述的方法,其特征在于,所述服务端还注册有第二服务钩子组件和第二处理组件,所述方法还包括:所述第二消息处理组件接收所述客户端发送的第二调用请求消息,向所述第二服务钩子组件发送所述第二调用请求消息;所述第二服务钩子组件接收所述第二调用请求消息,向所述第二处理组件发送所述第二调用请求消息;所述第...

【专利技术属性】
技术研发人员:王海滨
申请(专利权)人:青岛海信电器股份有限公司
类型:发明
国别省市:山东;37

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

1