一种远程调用方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39189447 阅读:9 留言:0更新日期:2023-10-27 08:36
本申请提供了一种远程调用方法及装置,包括:基于用户设备中安装的兼容应用程序,运行第二操作系统的目标应用程序,并获取目标应用程序对服务端的远程对象发起的远程调用请求;通过兼容应用程序建立代理对象;根据代理对象和远程调用协议,向服务端的远程对象发送处理请求,在接收到远程对象发送的响应结果的情况下,通过代理对象将响应结果解析后发送至目标应用程序。本申请可以满足远程调用方案的跨平台实现需求,另外,整个远程调用的实现并不依赖于java虚拟机的相关组件和库,节省了远程调用方案的实现成本。用方案的实现成本。用方案的实现成本。

【技术实现步骤摘要】
一种远程调用方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种远程调用方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]远程过程调用(RPC,Remote Procedure Call)是一种通信机制,允许客户端程序调用另一个运行在不同地址空间的服务端程序中的进程或函数。RPC隐藏了底层通信细节,使得分布式系统的开发更加简化。
[0003]目前,在Windows(微软视窗操作系统)系统环境下,可以采用分布式组件对象模型(DCOM,Distributed Component Object Model)远程调用方法实现远程调用,DCOM是一种分布式对象技术,支持在分布式环境中进行远程过程调用,DCOM允许客户端应用程序通过网络调用远程服务端上的对象的方法,并支持对象之间的通信和数据传输。在Linux(一种开源操作系统)系统环境下,可以采用Java远程方法调用(RMI,Remote Method Invocation)技术和公共对象请求代理结构(CORBA,Common Object Request Broker Architecture)技术实现分远程调用。
[0004]但是,目前的方案中,DCOM远程调用的实现依赖于Windows系统环境,适用范围较小,而Java RMI和CORBA的实现依赖于java虚拟机的相关组件和库,实现成本较大。

技术实现思路

[0005]本申请实施例提供一种远程调用方法及装置,以解决现有技术中远程调用的适用范围较小,实现成本较大的问题。
[0006]第一方面,本申请实施例提供了一种远程调用方法,应用于第一操作系统的用户设备,所述方法包括:
[0007]基于所述用户设备中安装的兼容应用程序,运行第二操作系统的目标应用程序,并获取所述目标应用程序对服务端的远程对象发起的远程调用请求;所述目标应用程序用于基于预设的远程调用协议实现远程调用;
[0008]响应于所述远程调用请求,通过所述兼容应用程序建立代理对象,所述代理对象用于与所述远程对象通信;
[0009]根据所述代理对象和所述远程调用协议,向所述服务端的远程对象发送处理请求,所述处理请求包含针对所述远程对象的调用方法的名称和参数;
[0010]在接收到所述远程对象发送的响应结果的情况下,通过所述代理对象将所述响应结果解析后发送至所述目标应用程序。
[0011]第二方面,本申请实施例提供了一种远程调用方法,应用于服务端,所述方法包括:
[0012]接收用户设备发送的调用请求,所述调用请求包含针对远程对象的调用方法的名称和参数;
[0013]根据所述调用请求中的调用方法的名称和参数,通过所述远程对象执行调用响应,获得响应结果;
[0014]通过所述远程对象,将所述响应结果按照预设的远程调用协议发送至所述客户端。
[0015]第三方面,本申请实施例提供了一种远程调用装置,应用于第一操作系统的用户设备,所述装置包括:
[0016]运行模块,用于基于所述用户设备中安装的兼容应用程序,运行第二操作系统的目标应用程序,并获取所述目标应用程序对服务端的远程对象发起的远程调用请求;所述目标应用程序用于基于预设的远程调用协议实现远程调用;
[0017]构建模块,用于响应于所述远程调用请求,通过所述兼容应用程序建立代理对象,所述代理对象用于与所述远程对象通信;
[0018]第一发送模块,用于根据所述代理对象和所述远程调用协议,向所述服务端的远程对象发送处理请求,所述处理请求包含针对所述远程对象的调用方法的名称和参数;
[0019]第一接收模块,用于在接收到所述远程对象发送的响应结果的情况下,通过所述代理对象将所述响应结果解析后发送至所述目标应用程序。
[0020]第四方面,本申请实施例提供了一种远程调用装置,应用于服务端,所述装置包括:
[0021]第二接收模块,用于接收用户设备发送的调用请求,所述调用请求包含针对远程对象的调用方法的名称和参数;
[0022]响应模块,用于根据所述调用请求中的调用方法的名称和参数,通过所述远程对象执行调用响应,获得响应结果;
[0023]第二发送模块,用于通过所述远程对象,将所述响应结果按照预设的远程调用协议发送至所述客户端。
[0024]第五方面,本申请实施例还提供了一种电子设备,包括处理器;
[0025]用于存储所述处理器可执行指令的存储器;
[0026]其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
[0027]第六方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
[0028]本申请实施例可以在第一操作系统的用户设备中安装兼容应用程序,兼容应用程序的功能是在第一操作系统的用户设备中运行第二操作系统的目标应用程序,第二操作系统的目标应用程序可以基于远程调用协议实现远程调用,基于兼容应用程序的支持,可以使得第二操作系统的目标应用程序的整个远程调用过程可以在第一操作系统的用户设备上顺利实现。从而第二操作系统目标应用程序的远程调用方案可以在非第二操作系统的用户设备平台上实现,本申请实施例可以满足远程调用方案的跨平台实现需求,另外,整个远程调用的实现并不依赖于java虚拟机的相关组件和库,节省了远程调用方案的实现成本。
[0029]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0030]图1是本申请实施例提供的一种实施场景图;
[0031]图2是本申请实施例提供的一种远程调用方法的步骤流程图;
[0032]图3是本申请实施例提供的另一种远程调用方法的步骤流程图;
[0033]图4是本申请实施例提供的一种远程调用方法的具体交互步骤流程图;
[0034]图5是本申请实施例提供的一种远程调用方法的系统框图;
[0035]图6是本申请实施例提供的一种远程调用装置框图;
[0036]图7是本申请实施例提供的另一种远程调用装置框图;
[0037]图8是本申请的一种装置的框图;
[0038]图9是本申请的一些实施例中服务端的结构示意图。
具体实施方式
[0039]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种远程调用方法,应用于第一操作系统的用户设备,其特征在于,所述方法包括:基于所述用户设备中安装的兼容应用程序,运行第二操作系统的目标应用程序,并获取所述目标应用程序对服务端的远程对象发起的远程调用请求;所述目标应用程序用于基于预设的远程调用协议实现远程调用;响应于所述远程调用请求,通过所述兼容应用程序建立代理对象,所述代理对象用于与所述远程对象通信;根据所述代理对象和所述远程调用协议,向所述服务端的远程对象发送处理请求,所述处理请求包含针对所述远程对象的调用方法的名称和参数;在接收到所述远程对象发送的响应结果的情况下,通过所述代理对象将所述响应结果解析后发送至所述目标应用程序。2.根据权利要求1所述的远程调用方法,其特征在于,在所述获取所述目标应用程序对服务端的远程对象发起的远程调用请求之后,还包括:响应于所述远程调用请求,通过所述兼容应用程序调用与所述远程调用协议对应的函数库,加载远程调用所需的数据组件。3.根据权利要求1所述的远程调用方法,其特征在于,所述响应于所述远程调用请求,通过所述兼容应用程序建立代理对象,包括:响应于所述远程调用请求,使用所述兼容应用程序的函数库来调用所述远程调用协议的函数库,建立所述代理对象,所述代理对象配置有指向所述远程对象的指针,所述指针用于供所述代理对象访问所述远程对象。4.根据权利要求1所述的远程调用方法,其特征在于,所述根据所述代理对象和所述远程调用协议,向所述服务端的远程对象发送处理请求,包括:获取所述目标应用程序执行远程对象的调用方法;将所述目标应用程序执行远程对象的调用方法转换为所述远程调用协议后,构建得到所述处理请求并发送至所述服务端的远程对象。5.根据权利要求4所述的远程调用方法,其特征在于,所述将所述目标应用程序执行远程对象的调用方法转换为所述远程调用协议后,构建得到所述处理请求并发送至所述服务端的远程对象,包括:将所述目标应用程序执行远程对象的调用方法转换为DECRPC协议的请求,同时通过对所述DECRPC协议的请求进行序列化和封装操作构建得到所述处理请求,并发送所述处理请求至所述服务端的远程对象。6.一种远程调用方法,应用于服务端,其特征在于,所述方法包括:接...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:中科方德软件有限公司
类型:发明
国别省市:

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

1