双向远程过程调用方法、装置、设备及存储介质制造方法及图纸

技术编号:34125165 阅读:21 留言:0更新日期:2022-07-14 14:01
本发明专利技术公开了一种双向远程过程调用方法、装置、设备及存储介质,该方法包括步骤:创建双全工双向通信连接;基于第一通信管道获取RPC客户端的请求数据;封装请求数据,通过传输控制协议将封装的请求数据发送至第二终端,以供第二终端解析封装的请求数据,并返回封装的返回数据;监听传输控制协议,接收并解析封装的返回数据,得到返回数据,通过第二通信管道将返回数据传输至RPC服务器,以完成第一终端和第二终端之间的双向远程过程调用。通过上述方式,通过一条传输控制协议和两条通信管道,创建双全工双向通信连接,对传输控制协议上传输的数据进行读写控制,以实现第一终端和第二终端之间的双向远程过程调用。端之间的双向远程过程调用。端之间的双向远程过程调用。

【技术实现步骤摘要】
双向远程过程调用方法、装置、设备及存储介质


[0001]本专利技术涉及物联网领域,尤其涉及双向远程过程调用方法、装置、设备及存储介质。

技术介绍

[0002]在目前的微服务架构中,需要将请求分散到多个服务去各自处理,然后将这些子服务的结果汇总起来呈现,目前常用的RPC调用(Remote Procedure Call Protocol,远程过程调用协议)采用C/S架构,实现客户端进程请求服务器进程提供服务。在正常情况下,设备端发送请求,服务端返回结果,这样一问一答的方式就是request

response RPC模型。但对于IoT(Internet of Things,物联网)开发者,可能需要在某些时候服务端主动发送通知到设备端,但由于RPC的特性无法实现,因此,现有的通信局限于单向通信,使得多个子服务响应过程中,无法实现双向通信,导致通信效率低的问题。

技术实现思路

[0003]本专利技术的主要目的在于提供一种双向远程过程调用方法、装置、设备及存储介质,旨在解决现有微服务架构中设备端和服务端之间通信效率低的技术问题。
[0004]为实现上述目的,本专利技术提供一种双向远程过程调用方法,所述双向远程过程调用方法包括步骤:
[0005]创建双全工双向通信连接,其中,所述双全工双向通信连接包括第一通信管道、第二通信管道和传输控制协议,所述第一通信管道连接所述RPC客户端和所述传输控制协议,所述第二通信管道连接所述RPC服务器和所述传输控制协议;
[0006]基于所述第一通信管道获取所述RPC客户端的请求数据;
[0007]封装所述请求数据,通过所述传输控制协议将封装的请求数据发送至第二终端,以供所述第二终端解析所述封装的请求数据,并返回封装的返回数据;
[0008]监听所述传输控制协议,接收并解析所述封装的返回数据,得到返回数据,通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用。
[0009]优选地,所述第一通信管道包括第一通信接口和第二通信接口,所述第一通信接口与所述RPC客户端连接,
[0010]所述基于所述第一通信管道获取所述RPC客户端的请求数据的步骤之前,所述方法包括:
[0011]将所述第一通信接口注册至所述RPC客户端;
[0012]所述基于所述第一通信管道获取所述RPC客户端的请求数据的步骤,包括:
[0013]接收所述RPC客户端发出的拨号连接请求,响应所述拨号连接请求,将所述拨号连接请求写入所述第一通信接口;
[0014]监听所述第二通信接口,获取请求数据。
[0015]优选地,所述第二通信接口与所述传输控制协议连接,所述监听所述第二通信接口,获取请求数据的步骤,包括:
[0016]基于所述第二通信接口和所述第一通信管道,读取所述第一通信接口写入的数据,得到所述拨号连接请求中的所述请求数据。
[0017]优选地,所述封装所述请求数据,通过所述传输控制协议将封装的请求数据发送至第二终端,以供所述第二终端解析所述封装的请求数据,并返回封装的返回数据的步骤,包括:
[0018]基于预设的第一特征值,封装所述请求数据,得到第一特征数据;
[0019]通过所述传输控制协议将所述第一特征数据发送至所述第二终端,以供所述第二终端解析所述第一特征数据,得到所述请求数据,并返回封装的返回数据。
[0020]优选地,所述监听所述传输控制协议,接收并解析所述封装的返回数据,得到返回数据,通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用的步骤,包括:
[0021]监听所述传输控制协议,接收所述封装的返回数据,所述封装的返回数据中包括第二特征值;
[0022]解析所述封装的返回数据,得到所述第二特征值;
[0023]确定所述第二特征值对应的所述第二通信管道,将所述返回数据写入所述第二通信管道中;
[0024]通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用。
[0025]优选地,所述确定所述第二特征值对应的所述第二通信管道,将所述返回数据写入所述第二通信管道中的步骤,包括:
[0026]获取预设的特征关系表,所述特征关系表中包括预设特征值和预设通信管道;
[0027]将所述第二特征值与所述特征关系表进行匹配,得到目标特征值;
[0028]基于所述特征关系表,确定所述目标特征值对应的目标通信管道,得到第二通信管道;
[0029]将所述返回数据写入所述第二通信管道中。
[0030]优选地,所述第二通信管道包括第一通信端口和第二通信端口,所述第一通信端口与所述RPC服务器连接,所述第二通信端口与所述传输控制协议连接,
[0031]所述将所述返回数据写入所述第二通信管道中的步骤,包括:
[0032]将所述返回数据写入所述第二通信端口;
[0033]所述通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用的步骤,包括:
[0034]基于所述第一通信端口接收所述第二通信端口的数据,以使所述RPC服务器通过所述第一通信端口获取所述返回数据,以完成所述第一终端和所述第二终端之间的双向远程过程调用。
[0035]此外,为实现上述目的,本专利技术还提供一种双向远程过程调用装置,所述装置包括:
[0036]创建模块,用于创建双全工双向通信连接,其中,所述双全工双向通信连接包括第
一通信管道、第二通信管道和传输控制协议,所述第一通信管道连接所述RPC客户端和所述传输控制协议,所述第二通信管道连接所述RPC服务器和所述传输控制协议;
[0037]获取模块,用于基于所述第一通信管道获取所述RPC客户端的请求数据;
[0038]封装模块,用于封装所述请求数据,通过所述传输控制协议将封装的请求数据发送至第二终端,以供所述第二终端解析所述封装的请求数据,并返回封装的返回数据;
[0039]监听模块,用于监听所述传输控制协议,接收并解析所述封装的返回数据,得到返回数据,通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用。
[0040]此外,为实现上述目的,本申请还提供一种双向远程过程调用设备,所述双向远程过程调用设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的双向远程过程调用程序,所述双向远程过程调用程序被所述处理器执行时实现如上所述的双向远程过程调用方法的步骤。
[0041]此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有双向远程过程调用程序,所述双向远程过程调用程序被处理器执行时实现如上所述的双向远程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双向远程过程调用方法,其特征在于,应用于第一终端,所述第一终端包括RPC客户端和RPC服务器,所述双向远程过程调用方法包括以下步骤:创建双全工双向通信连接,其中,所述双全工双向通信连接包括第一通信管道、第二通信管道和传输控制协议,所述第一通信管道连接所述RPC客户端和所述传输控制协议,所述第二通信管道连接所述RPC服务器和所述传输控制协议;基于所述第一通信管道获取所述RPC客户端的请求数据;封装所述请求数据,通过所述传输控制协议将封装的请求数据发送至第二终端,以供所述第二终端解析所述封装的请求数据,并返回封装的返回数据;监听所述传输控制协议,接收并解析所述封装的返回数据,得到返回数据,通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用。2.如权利要求1所述的双向远程过程调用方法,其特征在于,所述第一通信管道包括第一通信接口和第二通信接口,所述第一通信接口与所述RPC客户端连接,所述基于所述第一通信管道获取所述RPC客户端的请求数据的步骤之前,所述方法包括:将所述第一通信接口注册至所述RPC客户端;所述基于所述第一通信管道获取所述RPC客户端的请求数据的步骤,包括:接收所述RPC客户端发出的拨号连接请求,响应所述拨号连接请求,将所述拨号连接请求写入所述第一通信接口;监听所述第二通信接口,获取请求数据。3.如权利要求2所述的双向远程过程调用方法,其特征在于,所述第二通信接口与所述传输控制协议连接,所述监听所述第二通信接口,获取请求数据的步骤,包括:基于所述第二通信接口和所述第一通信管道,读取所述第一通信接口写入的数据,得到所述拨号连接请求中的所述请求数据。4.如权利要求1所述的双向远程过程调用方法,其特征在于,所述封装所述请求数据,通过所述传输控制协议将封装的请求数据发送至第二终端,以供所述第二终端解析所述封装的请求数据,并返回封装的返回数据的步骤,包括:基于预设的第一特征值,封装所述请求数据,得到第一特征数据;通过所述传输控制协议将所述第一特征数据发送至所述第二终端,以供所述第二终端解析所述第一特征数据,得到所述请求数据,并返回封装的返回数据。5.如权利要求1所述的双向远程过程调用方法,其特征在于,所述监听所述传输控制协议,接收并解析所述封装的返回数据,得到返回数据,通过所述第二通信管道将所述返回数据传输至所述RPC服务器,以完成所述第一终端和所述第二终端之间的双向远程过程调用的步骤,包括:监听所述传输控制协议,接收所述封装的返回数据,所述封装的返回数据中包括第二特征值;解析所述封装的返回数据,得到所述第二特征值;确定所述第二特征值对应的所述第二通信管道...

【专利技术属性】
技术研发人员:刘庚文新根
申请(专利权)人:深圳融安网络科技有限公司
类型:发明
国别省市:

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

1