远程调用方法、装置、系统和存储介质与流程

文档序号:16199797发布日期:2018-12-08 06:30阅读:163来源:国知局
远程调用方法、装置、系统和存储介质与流程

本申请涉及本发明涉及远程过程调用技术领域,特别是涉及远程过程调用方法及装置。

背景技术

远程过程调用协议(remoteprocedurecallprotocol,rpc)是一种通过网络从远程计算机程序上请求服务的协议,它采用客户端设备/服务端设备模式,请求服务的一方为客户端设备,提供服务的一方为服务端设备。

同时随着网络连接的丰富,物联网业务场景极大的扩展,目前用户使用的场景为在联网设备上配置单片机,通过单片机实现特定功能。但是目前的这种做法中,单片机自身硬件成本较高,而且若业务场景发生改变,需要用户到现场定位问题或升级mcu程序,若用户现场业务场景复杂例如:山区、电杆或者燃气、水表之类),维护成本极高,软硬件灵活性较差。



技术实现要素:

本申请的目的在于,提供使用rpc技术的通信模组,客户端可以远程调用服务端,通过服务端实现特定功能并将制结果反馈到客户端,借此降低硬件成本,同时,解决了远程调试用户现场问题。

根据本公开实施例的第一方面,提供一种远程调用方法,应用于通信客户端和远程服务端,其中,所述远程服务端用于提供预设的业务功能,所述方法包括:建立所述通信客户端和所述远程服务端的通信连接;通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求;通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

进一步地,所述远程服务端包括通信模组,其中,所述建立所述通信客户端和所述远程服务端的通信连接的步骤包括:通过所述通信模组与所述通信客户端建立连接;所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端还包括rpc连接器,所述rpc连接器用于维持通信客户端和所述远程服务端的连接通道,所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接的步骤为:通过所述rpc连接器与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端包括rpc客户端,所述通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求的步骤,包括:当所述通信客户端接收到所述ip地址时,控制启动所述rpc客户端;所述rpc客户端对调用数据信息进行编码形成所述远程调用协议rpc请求;通过所述rpc连接器将所述远程调用协议rpc请求发送至所述远程服务端。

进一步地,所述远程服务端包括rpc调用器和rpc接收器,所述通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令的步骤,包括:通过所述rpc接收器接收所述远程调用协议rpc请求;通过所述rpc调用器调用具体的业务功能算法对所述所述远程调用协议rpc请求进行解析,并执行所述远程调用协议rpc请求中的业务功能调用指令。

本申请还提供了一种远程调用装置,所述装置包括:通信单元,用于建立所述通信客户端和所述远程服务端的通信连接;发送单元,用于通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求;接收单元,用于通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;反馈单元,用于将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

进一步地,所述远程服务端包括通信模组,所述通信单元还用于:通过所述通信模组与所述通信客户端建立连接;所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接。

本申请还提供了一种远程调用系统,所述系统包括通信客户端和远程服务端,所述通信客户端与所述远程服务端建立通信连接;所述通信客户端向所述远程服务端发送远程调用协议rpc请求;所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;所述远程服务端将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

进一步地,所述远程调用系统中的远程服务端中包括通信模组、rpc调用器和rpc接收器,其中,所述通信模组用于与通信客户端建立初步通信连接;所述rpc调用器用于调取接口并返回调用结果;所述rpc接收器,用于使所述远程调用系统与所述通信客户端建立连接;所述通信客户端还包括rpc客户端和rpc连接器,所述rpc客户端用于实现远程接口;所述rpc连接器用于维持通信客户端和所述远程服务端的连接通道。

本申请还提供了一种计算机存储介质,所述计算机存储介质有一个或多个程序,所述一个或多个程序被一个或多个处理器执行,以实现上述任一项所述的远程调用方法的步骤。

本发明实施例提供的远程过程调用方法及装置,可以接收所述通信客户端设备发送的远程过程调用协议rpc请求;远程服务端根据预设的rpc协议对所述rpc请求进行解析,得到所述rpc请求中的调用信息并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果,并将执行结果反馈至所述通信客户端,以实现对应的所述业务功能,借此实现降低成本,维护方式灵活的目的。

附图说明

图1为本申请一实施例在示意性应用场景下涉及的一种整体架构示意图;

图2为本申请一实施例提供的远程调用方法流程图;

图3为本申请一实施例提供的远程调用装置的示意图;

图4为本申请一实施例提供的远程调用系统的示意图。

具体实施方式

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

图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图。该整体架构中,主要包括:至少一个客户端(rpcclient)和至少一个模组(rpcservice),客户端与模组直接通过通信网络互连进行数据的传送,客户端通过调用模组中的接口实现特定的功能,并将结果反馈到客户端以实现特定的功能。除此之外,该整体架构中还可以包括服务端所在设备,rpc服务本身应当由服务端提供。在实际应用中,rpc服务可以是至少部分完备的,也可以是尚不存在的;比如,服务端本身可能尚未开发完毕,这不影响本说明书的方案的实施。基于以上整体架构,下面对本说明书的方案进行详细说明。

图2为本说明书实施例提供的一种远程调用方法的流程示意图。该流程可能的执行主体包括但不限于以下设备:个人计算机、手机、平板电脑、智能可穿戴设备、车机、中型计算机、计算机集群等。在本申请提供的远程调用方法开始后,步骤可以自动运行,可以根据顺序先后进行,也可以同时运行,具体不做限定,本实施例提供的远程调用方法,包括如下步骤。

步骤s310,建立所述通信客户端和所述远程服务端的通信连接。

具体地,该远程调用方法应用于通信客户端和远程服务端中。其中,通信客户端为请求远程调用服务的需求端,远程服务端为根据通信客户端的远程调用服务的请求执行预设功能的供求端。在本实施方式中,远程服务端包括通信模组,通信客户端可以为计算机、移动终端等配置有通信功能的设备,远程服务端为配置具体功能和rpc接口的服务器。步骤s310的具体实现步骤可以包括如下步骤:

步骤s3101,通过所述通信模组与所述通信客户端建立连接;具体地,通信模组可以为移动数据通信模组,例如:3g、4g等通信网络,也可以是无线通信模组,例如,wifi通信或是其他可以实现远程通信连接的模组。在启动远程服务器时,通信模组会与通信客户端建立数据传输连接。

步骤s3102,所述通信客户端根据所述通信模组传输的ip地址与所述通信客户端建立所述通信连接。具体地,通信客户端包括rpc连接器。通信模组与通信客户端建立数据传输连接后,服务器通过通信模组将服务器的ip地址。其中,所述远程服务端还包括rpc连接器,用于用于维持通信客户端和所述远程服务端的连接通道,所述方法包括:通过所述rpc连接器与所述远程服务端建立所述通信连接,其中,通信连接用于传输通信客户端与远程服务端之间的请求数据包等。

步骤s320,通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求。

具体地,通信客户端包括rpc客户端,负责导入远程接口的代理实现,在本实施方式中,在通信客户端中写入具体需要调用的远程接口程序。步骤s320可以通过如下步骤实现:

步骤s3201,当所述通信客户端接收到所述ip地址时,控制启动所述rpc客户端;具体地,当通信客户端确定已经接收到ip地址时,控制启动rpc客户端,其中,rpc客户端中用于导入远程接口。

步骤s3202,所述rpc客户端对调用数据信息进行编码形成所述远程调用协议rpc请求;具体地,通信客户端包括rpc调用器,其中,rpc调用器用于根据预设的prc协议将调用数据信息进行编码,其中,调用数据信息包括包括以下无符号整数字段,以独立识别远程过程:程序号、程序版本号和过程号。通过调用数据信息可以供远程服务端确定具体的被调用接口。

步骤s3203,通过所述rpc连接器将所述远程调用协议rpc请求发送至所述远程服务端。具体地,rpc调用器将编辑后的远程调用协议rpc请求,即网络数据包,发送到rpc连接器,rpc连接器将接收到的网络数据包通过建立的通信连接发送到远程服务端。

步骤s330,通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果。

具体地,所述远程服务端包括rpc调用器和rpc接收器,所述通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令的步骤,包括:

步骤s3301,通过所述rpc接收器接收所述远程调用协议rpc请求;

步骤s3302,通过所述rpc调用器调用具体的业务功能算法对所述所述远程调用协议rpc请求进行解析,并执行所述远程调用协议rpc请求中的业务功能调用指令。具体地,rpc调用器根据rpc协议栈对接收到的远程调用协议rpc请求进行解析以得到具体的数据信息,然后根据数据信息调用与数据信息相对应的接口算法,并执行相应的业务功能调用指令以得到具体的处理结果。也就是说,真正的调用过程是在远程服务端进行。

步骤s340,将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

具体地,rpc调用器将执行结果发送到rpc接收器中,通过rpc接收器将执行结果通过通信连接发送至通信客户端的rpc连接器中。

通过上述实施方式,可以接收所述通信客户端设备发送的远程过程调用协议rpc请求;远程服务端根据预设的rpc协议对所述rpc请求进行解析,得到所述rpc请求中的调用信息并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果,并将执行结果反馈至所述通信客户端,以实现对应的所述业务功能,借此实现降低成本,维护方式灵活的目的。

本申请还提供了一种远程调用装置,所述装置包括:通信单元、发送单元、接收单元和反馈单元,具体内容如下。

通信单元,用于建立所述通信客户端和所述远程服务端的通信连接。具体地,该远程调用方法应用于通信客户端和远程服务端中。其中,通信客户端为请求远程调用服务的需求端,远程服务端为根据通信客户端的远程调用服务的请求执行预设功能的供求端。在本实施方式中,远程服务端包括通信模组,通信客户端可以为计算机、移动终端等配置有通信功能的设备,远程服务端为配置具体功能和rpc接口的服务器。通信单元包括初步通信建立单元和最终通信建立单元。初步通信建立单元,用于通过所述通信模组与所述通信客户端建立连接;具体地,通信模组可以为移动数据通信模组,例如:3g、4g等通信网络,也可以是无线通信模组,例如,wifi通信或是其他可以实现远程通信连接的模组。在启动远程服务器时,通信模组会与通信客户端建立数据传输连接。最终通信建立单元,用于使得所述通信客户端根据所述通信模组传输的ip地址与所述通信客户端建立所述通信连接。具体地,通信客户端包括rpc连接器。通信模组与通信客户端建立数据传输连接后,服务器通过通信模组将服务器的ip地址。其中,所述远程服务端还包括rpc连接器,用于用于维持通信客户端和所述远程服务端的连接通道,所述方法包括:通过所述rpc连接器与所述远程服务端建立所述通信连接,其中,通信连接用于传输通信客户端与远程服务端之间的请求数据包等。

发送单元,用于通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求。具体地,通信客户端包括rpc客户端,负责导入远程接口的代理实现,在本实施方式中,在通信客户端中写入具体需要调用的远程接口程序。发送单元包括启动单元、编码单元和数据传输单元。

其中,启动单元,用于当所述通信客户端接收到所述ip地址时,控制启动所述rpc客户端;具体地,当通信客户端确定已经接收到ip地址时,控制启动rpc客户端,其中,rpc客户端中用于导入远程接口。

编码单元,用于所述rpc客户端对调用数据信息进行编码形成所述远程调用协议rpc请求;具体地,通信客户端包括rpc调用器,其中,rpc调用器用于根据预设的prc协议将调用数据信息进行编码,其中,调用数据信息包括包括以下无符号整数字段,以独立识别远程过程:程序号、程序版本号和过程号。通过调用数据信息可以供远程服务端确定具体的被调用接口。

数据传输单元,用于通过所述rpc连接器将所述远程调用协议rpc请求发送至所述远程服务端。具体地,rpc调用器将编辑后的远程调用协议rpc请求,即网络数据包,发送到rpc连接器,rpc连接器将接收到的网络数据包通过建立的通信连接发送到远程服务端。

接收单元,用于通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果。具体地,通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果。所述远程服务端包括rpc调用器和rpc接收器,接收单元包括数据接收单元和调用单元。

数据接收单元,用于通过所述rpc接收器接收所述远程调用协议rpc请求;

调用单元,用于通过所述rpc调用器调用具体的业务功能算法对所述所述远程调用协议rpc请求进行解析,并执行所述远程调用协议rpc请求中的业务功能调用指令。具体地,rpc调用器根据rpc协议栈对接收到的远程调用协议rpc请求进行解析以得到具体的数据信息,然后根据数据信息调用与数据信息相对应的接口算法,并执行相应的业务功能调用指令以得到具体的处理结果。也就是说,真正的调用过程是在远程服务端进行

反馈单元,用于将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。具体地,rpc调用器将执行结果发送到rpc接收器中,通过rpc接收器将执行结果通过通信连接发送至通信客户端的rpc连接器中。

通过上述实施方式,可以接收所述通信客户端设备发送的远程过程调用协议rpc请求;远程服务端根据预设的rpc协议对所述rpc请求进行解析,得到所述rpc请求中的调用信息并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果,并将执行结果反馈至所述通信客户端,以实现对应的所述业务功能,借此实现降低成本,维护方式灵活的目的。

本申请还提供一种远程调用系统,所述系统包括通信客户端和远程服务端,所述通信客户端与所述远程服务端建立通信连接;所述通信客户端向所述远程服务端发送远程调用协议rpc请求;所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;所述远程服务端将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

下面将结合图4具体对远程调用系统进行说明。

通信客户端包括客户端、rpc客户端、rpc代理、rpc调用器、rpc连接器和rpc协议栈。

其中,客户端为支持运行rpc远程调用的设备,rpc客户端用于导入远程接口;rpc代理用于远程接口的代理实现、rpc调用器用于编码调用信息和发送远程调用请求到服务方并等待最终结果返回;rpc连接器用于负责维持通信客户端和远程服务端的通信连接和发送数据到远程服务端;rpc协议栈用于根据协议编/解码。

远程服务端包括服务器、rpc服务器、rpc代理、rpc处理器、rpc接收器和rpc协议栈。

其中,服务器用于支持运行rpc远程调用的服务器;rpc服务器用于负责导出远程接口;rpc代理远程接口的代理实现;rpc处理器用于负责在远程服务端控制调用过程,包括管理调用线程池、超时时间等;rpc接收器用于负责接收通信客户端的远程调用请求并返回请求结果;rpc协议栈用于根据协议编/解码。

本申请提供一种远程调用系统,还用于实现如下方法。

进一步地,所述远程服务端包括通信模组,其中,所述建立所述通信客户端和所述远程服务端的通信连接的步骤包括:通过所述通信模组与所述通信客户端建立连接;所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端还包括rpc连接器,所述rpc连接器用于维持通信客户端和所述远程服务端的连接通道,所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接的步骤为:通过所述rpc连接器与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端包括rpc客户端,所述通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求的步骤,包括:当所述通信客户端接收到所述ip地址时,控制启动所述rpc客户端;所述rpc客户端对调用数据信息进行编码形成所述远程调用协议rpc请求;通过所述rpc连接器将所述远程调用协议rpc请求发送至所述远程服务端。

进一步地,所述远程服务端包括rpc调用器和rpc接收器,所述通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令的步骤,包括:通过所述rpc接收器接收所述远程调用协议rpc请求;通过所述rpc调用器调用具体的业务功能算法对所述所述远程调用协议rpc请求进行解析,并执行所述远程调用协议rpc请求中的业务功能调用指令。

本申请还提供一种计算机存储介质,所述计算机存储介质有一个或多个程序,所述一个或多个程序被一个或多个处理器执行,应用于通信客户端和远程服务端,其中,所述远程服务端用于提供预设的业务功能,以实现如下步骤:建立所述通信客户端和所述远程服务端的通信连接;通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求;通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

进一步地,所述远程服务端包括通信模组,其中,所述建立所述通信客户端和所述远程服务端的通信连接的步骤包括:通过所述通信模组与所述通信客户端建立连接;所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端还包括rpc连接器,所述rpc连接器用于维持通信客户端和所述远程服务端的连接通道,所述通信客户端根据所述通信模组传输的ip地址与所述远程服务端建立所述通信连接的步骤为:通过所述rpc连接器与所述远程服务端建立所述通信连接。

进一步地,所述通信客户端包括rpc客户端,所述通过所述通信客户端向所述远程服务端发送远程调用协议rpc请求的步骤,包括:当所述通信客户端接收到所述ip地址时,控制启动所述rpc客户端;所述rpc客户端对调用数据信息进行编码形成所述远程调用协议rpc请求;通过所述rpc连接器将所述远程调用协议rpc请求发送至所述远程服务端。

进一步地,所述远程服务端包括rpc调用器和rpc接收器,所述通过所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令的步骤,包括:通过所述rpc接收器接收所述远程调用协议rpc请求;通过所述rpc调用器调用具体的业务功能算法对所述所述远程调用协议rpc请求进行解析,并执行所述远程调用协议rpc请求中的业务功能调用指令。

本申请还提供一种计算机存储介质,所述系统包括通信客户端和远程服务端,所述通信客户端与所述远程服务端建立通信连接;所述通信客户端向所述远程服务端发送远程调用协议rpc请求;所述远程服务端解析所述远程调用协议rpc请求,并执行所述远程调用协议rpc请求中的业务功能调用指令,以得到与业务功能对应的执行结果;所述远程服务端将执行结果反馈至所述通信客户端,以实现对应的所述业务功能。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1