远程方法调用方法及装置制造方法及图纸

技术编号:27934758 阅读:25 留言:0更新日期:2021-04-02 14:14
本说明书一个或多个实施例公开了一种远程方法调用方法及装置,用以解决现有的调用方法调用速度慢、效率低的问题。所述方法包括:接收调用方发送的调用请求,调用请求中携带目标调用信息,目标调用信息包括目标类标识、目标方法标识和目标参数值;根据调用请求,获取与目标类标识对应的类对象;根据类对象和目标方法标识,获取目标方法的实例;根据类对象、目标方法的实例和目标参数值,调用目标方法;将调用目标方法执行后的执行结果返回给调用方。该技术方案无需调用方在调用请求中约定目标参数的类型,即可调用目标方法,减少了调用方与被调用方之间传输的数据内容,因此能够提升远程方法调用速度和调用效率。

【技术实现步骤摘要】
远程方法调用方法及装置
本说明书涉及远程调用
,尤其涉及一种远程方法调用方法及装置。
技术介绍
随着业务的不断发展,功能的持续增加,传统单块架构对应的沟通、管理、协调等成本越来越高,为解决传统系统架构面临的问题,微服务应运而生。由于微服务架构下系统单个节点的服务职责单一化,因此不同服务间的远程方法调用现象越来越普遍。但在目前的实际应用中,进行远程方法调用的双方之间仅能按照固定的数据内容传输调用请求,且目前所要求的固定的数据内容较多,因此会导致调用方系统繁忙,从而导致调用方系统响应速度慢,进而影响远程方法调用速度及效率。例如,当调用方系统执行高并发的调用操作时,针对每一被调用方需生成对应的固定的数据内容,因此导致调用方系统繁忙,以致影响远程方法调用速度及效率。因此,提供一种较高效的远程方法调用方法成为亟待解决的问题。
技术实现思路
本说明书一个或多个实施例的目的是提供一种远程方法调用方法及装置,用以解决现有的调用方法调用速度慢、效率低的问题。为解决上述技术问题,本说明书一个或多个实施例是这样实现的:一方面,本说明书一个或多个实施例提供一种远程方法调用方法,包括:接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;根据所述调用请求,获取与所述目标类标识对应的类对象;根据所述类对象和所述目标方法标识,获取所述目标方法的实例;根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;将调用所述目标方法执行后的执行结果返回给所述调用方。另一方面,本说明书一个或多个实施例提供一种远程方法调用装置,包括:接收模块,用于接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;第一获取模块,用于根据所述调用请求,获取与所述目标类标识对应的类对象;第二获取模块,用于根据所述类对象和所述目标方法标识,获取所述目标方法的实例;调用模块,用于根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;第一执行模块,用于将调用所述目标方法执行后的执行结果返回给所述调用方。再一方面,本说明书一个或多个实施例提供一种远程方法调用设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;根据所述调用请求,获取与所述目标类标识对应的类对象;根据所述类对象和所述目标方法标识,获取所述目标方法的实例;根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;将调用所述目标方法执行后的执行结果返回给所述调用方。再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;根据所述调用请求,获取与所述目标类标识对应的类对象;根据所述类对象和所述目标方法标识,获取所述目标方法的实例;根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;将调用所述目标方法执行后的执行结果返回给所述调用方。采用本说明书一个或多个实施例的技术方案,在对远程方法进行调用时,能够根据调用方发送的包括目标类标识、目标方法标识和目标参数值的调用请求,获取与目标类标识对应的类对象,并根据类对象和目标方法标识,获取目标方法的实例,再根据类对象、目标方法的实例和目标参数值,调用目标方法,以及将调用目标方法执行后的执行结果返回给调用方。可见,该技术方案无需调用方在调用请求中约定目标参数的类型,即可调用目标方法,提高了远程方法调用的灵活性,且相较于传统的需要调用方约定类标识、方法标识、参数值及参数类型,才能调用目标方法的方式而言,减少了调用方与被调用方之间传输的数据内容,因此能够提升远程方法调用速度,从而提高远程方法调用效率。附图说明为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是根据本说明书一实施例的一种远程方法调用关系的示意性框图;图2是根据本说明书一实施例的一种远程方法调用方法的示意性流程图;图3是根据本说明书另一实施例的一种远程方法调用方法的示意性流程图;图4是根据本说明书一实施例的一种远程方法调用装置的结构示意图;图5是根据本说明书一实施例的一种远程方法调用设备的硬件结构示意图。具体实施方式本说明书一个或多个实施例提供一种远程方法调用方法及装置,用以解决现有的调用方法调用速度慢、效率低的问题。为了使本
的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个实施例保护的范围。图1是根据本说明书一实施例的一种远程方法调用关系的示意性框图,如图1所示,在进行远程方法调用时,调用方与被调用方之间通过通讯协议传输数据。在一个实施例中,在进行远程方法调用时,调用方通过通讯协议将调用请求发送至被调用方,之后基于通讯协议接收被调用方发送的执行结果。其中,调用方在向被调用方发送调用请求之前,可对调用请求携带的调用信息(包括类标识、方法标识和参数值等)执行序列化操作,以实现将调用信息转换为可传输的形式的目的。例如,序列化之后的调用信息可为XML(ExtensibleMarkupLanguage,可扩展标记语言)、JSON(JavaScriptObjectNotation,轻量级的数据交换格式)等格式的信息。其中,类标识可包括用于描述类的信息,如类名称。方法标识可包括用于描述方法的信息,如方法名称。参数值可包括调用方法时实际传入的参数的值。例如,调用方生成调用信息的一个具体实现方式可为:publicclassRemoteClass{publicObjectremoteMethod(Stringa,Objectb,List<Object>c){returnnewObject();}}。其中,RemoteClass为类标识(本文档来自技高网
...

【技术保护点】
1.一种远程方法调用方法,其特征在于,所述方法应用于被调用方,包括:/n接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;/n根据所述调用请求,获取与所述目标类标识对应的类对象;/n根据所述类对象和所述目标方法标识,获取所述目标方法的实例;/n根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;/n将调用所述目标方法执行后的执行结果返回给所述调用方。/n

【技术特征摘要】
1.一种远程方法调用方法,其特征在于,所述方法应用于被调用方,包括:
接收调用方发送的调用请求,所述调用请求中携带目标调用信息,所述目标调用信息包括目标类标识、目标方法标识和目标参数值;
根据所述调用请求,获取与所述目标类标识对应的类对象;
根据所述类对象和所述目标方法标识,获取所述目标方法的实例;
根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法;
将调用所述目标方法执行后的执行结果返回给所述调用方。


2.根据权利要求1所述的方法,其特征在于,在根据所述类对象和所述目标方法标识,获取所述目标方法的实例之后,调用所述目标方法之前,所述方法还包括:
获取所述目标方法的实例中包含的各参数值;
确定各所述参数值的数量信息和类型信息。


3.根据权利要求2所述的方法,其特征在于,在确定各所述参数值的数量信息和类型信息之后,调用所述目标方法之前,所述方法还包括:
根据各所述参数值的数量信息,创建与所述参数值的数量一致的参数数组。


4.根据权利要求3所述的方法,其特征在于,在创建与所述参数值的数量一致的参数数组之后,调用所述目标方法之前,所述方法还包括:
根据各所述目标参数值的索引顺序,确定各所述参数值的索引顺序;
根据各所述参数值的索引顺序,将各所述参数值分别写入所述参数数组。


5.根据权利要求4所述的方法,其特征在于,所述根据所述类对象、所述目标方法的实例和所述目标参数值,调用目标方法,包括:
根据动态调用方式调用所述目标方法,所述动态调用方式用于动态将所述参数数组中的各所述参数值传入所述类对象,以实现调用所述目标方法,所述参数数组由所述目标方法的实例和所述目标参数值所确定。


6.根据权利要求1所述的方法,其特征在于,在接收调用方发送的调用请求之后,获取与所述目标类标识对应的类对象之前,所述方法还包括:
解析所述调用请求,以获取所述目标类标识、所述目标方法标识和所述目标参数值,所述解析的操作为反序列化。


7....

【专利技术属性】
技术研发人员:张岩马自强
申请(专利权)人:上海艾融软件股份有限公司
类型:发明
国别省市:上海;31

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

1