一种远程过程调用方法、装置、设备及介质与流程

文档序号:18081140发布日期:2019-07-06 10:05阅读:216来源:国知局
一种远程过程调用方法、装置、设备及介质与流程

本申请涉及通信领域,尤其涉及一种远程过程调用方法、装置、设备及计算机可读存储介质。



背景技术:

随着通信技术的发展,远程过程调用(remoteprocedurecall,rpc)应运而生。所谓rpc,具体是指通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。

rpc采用客户机/服务器模式,请求程序相当于一个客户机,而服务提供程序相当于一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息(即rpc消息)到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到rpc消息到达为止。当rpc消息到达时,服务器获得进程参数,基于该进程参数计算结果,并发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

目前rpc实现如谷歌的googleprotocolbuffer中,客户机发送rpc消息到服务进程时,往往是通过发送一个tcp/udp消息来实现。当客户机发送的进程参数调用信息也即rpc消息的数据量很大时,客户机将占用大量的系统内存,甚至可能因为内存用尽而无法完成消息发送;并且,客户机无法将文件当做进程参数调用信息传输给服务器。



技术实现要素:

有鉴于此,本申请提供了一种远程过程调用方法,在rpc消息较大时,对其进行分片处理,避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。对应地,本申请还提供了远程过程调用装置、设备、计算机可读存储介质以及计算机程序产品。

本申请第一方面提供了一种远程过程调用装置,所述装置包括:

消息发送模块、消息接收模块、管理模块、网络模块、编解码模块以及代码生成模块;

所述网络模块,用于与对端设备建立连接,并维护所述连接;

所述代码生成模块,用于根据远程过程调用消息模板生成第一代码和第二代码,所述第一代码用于将符合所述远程过程调用消息模板的用户数据封装成远程过程调用请求,所述第二代码用于将解码后的远程过程调用消息解析成符合所述远程过程调用消息模板的用户数据;

所述管理模块,用于向所述消息发送模块发送所述远程过程调用请求;

所述消息发送模块,用于将所述远程过程调用请求封装成数据结构存储在消息队列中,在检测到所述消息队列中有消息需要处理时,从所述消息队列的头部取出第一个远程过程调用请求,并向所述编解码模块发送所述远程过程调用请求;

所述编解码模块,用于对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块发送编码后的数据,以使所述消息发送模块通过所述网络模块向所述对端设备发送所述编码后的数据;

所述管理模块,还用于若需要所述对端设备的响应,则注册消息处理者;

所述消息接收模块,用于监听所述远程过程调用消息,接收到所述远程过程调用消息时,调用所述编解码模块进行解码,向所述管理模块发送解码后的消息,以使所述管理模块根据所述远程过程调用消息的序列号向对应的消息处理者发送解码后的消息。

可选的,所述编解码模块具体用于:

若所述远程过程调用请求编码后的长度小于或等于预设长度,则向所述消息发送模块发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片;

若所述远程过程调用请求编码后的长度大于预设长度,则在编码后的长度达到预设长度时,即向所述消息发送模块发送编码后的数据,并将所述分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片,然后继续执行所述编码步骤,直至编码后的长度不大于所述预设长度时,向所述消息发送模块发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片。

可选的,所述编解码模块具体用于:

所述数据结构为定长数据时,将其编码为数据类型和原始数据;

所述数据结构为非定长数据时,将其编码为数据类型、数据长度和原始数据。

可选的,所述编解码模块预先申请内存缓存区用于保存编码后的数据,所述内存缓存区的大小是根据分片的字节数和最大定长数据编码后的字节数而确定的。

可选的,所述装置还包括:

日志模块,用于记录本端设备和所述对端设备之间的远程过程调用消息。

本申请第二方面提供了一种远程过程调用方法,其应用第一方面所述的远程过程调用装置,所述方法包括:

根据符合远程过程调用消息模板的用户数据,调用代码生成模块生成的第一代码生成远程过程调用请求;

将所述远程过程调用请求封装成数据结构存储在消息队列中,在检测到所述消息队列中有消息需要处理时,从所述消息队列的头部取出第一个远程过程调用请求,对所述远程过程调用请求进行编码;

在所述远程过程调用请求编码后的长度大于预设长度时进行分片,并按照分片发送编码后的数据;

其中,每个分片具有分片标志位,用于表征该分片是否为所述远程过程调用消息的所有分片中的最后一个分片。

可选的,所述远程过程调用请求编码后的长度小于或等于预设长度时,将编码后的数据作为一个分片,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片;

所述远程过程调用请求编码后的长度大于预设长度时,则在编码后的长度达到预设长度时,即发送编码后的数据,并将所述分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片,然后继续执行所述编码步骤,直至编码后的长度不大于所述预设长度时,发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片。

可选的,所述数据结构为定长数据时,将其编码为数据类型和原始数据;

所述数据结构为非定长数据时,将其编码为数据类型、数据长度和原始数据。

可选的,所述编码后的数据存储于内存缓冲区,所述内存缓冲区包括数据区和待处理区,所述数据区的字节数等于分片的字节数,所述待处理区的字节数不小于最大定长数据编码后的字节数;

则所述对所述远程过程调用请求进行编码包括:

若所述待处理区存储有数据,则将所述待处理区的数据移动至所述数据区;

若在内存缓存区用尽之前编码已完成,则发送已编码的数据,并将分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片;

若在内存缓存区用尽时编码仍未完成,则发送指定长度的已编码数据,所述指定长度等于分片的字节数,并将分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片,并且,在数据区的剩余空间不足以放下最后一个数据类型时,按照如下原则编码:

所述最后一个数据是定长类型,则完成此数据的编码,超出数据区的内容放入待处理区;

所述最后一个数据是变长类型,且数据区能够容纳该数据的数据类型和数据长度时,则将该数据的数据类型和数据长度以及剩余仍然能放入数据区的数据写入数据区,并记录当前已经编码的数据长度,待下一次编码时将剩余数据继续进行编码;

所述最后一个数据是变长类型,且数据区不足以容纳该数据的数据类型和数据长度时,则本次分片不再将此数据编码到数据区。

可选的,所述方法还包括:

若需要对端的响应,则注册消息处理者;

监听所述远程过程调用消息,接收到所述远程过程调用消息时,解码所述远程过程调用消息,并根据所述远程过程调用消息的序列号向对应的消息处理者发送解码后的消息。

可选的,所述方法还包括:

记录本端和对端之间的远程过程调用消息。

本申请实施例第三方面提供了一种远程过程调用设备,所述设备包括处理器和存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序执行本申请第一方面所述的远程过程调用方法。

本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请第一方面所述的远程过程调用方法。

本申请实施例第五方面提供了在一种包含计算机可读指令的计算机程序产品,当该计算机可读指令在计算机上运行时,使得计算机执行上述各方面所述的远程过程调用方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种远程过程调用装置,该装置包括消息发送模块、消息接收模块、管理模块、网络模块、编解码模块以及代码生成模块,其中,所述编解码模块,用于对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块发送编码后的数据,以使所述消息发送模块通过所述网络模块向所述对端设备发送所述编码后的数据;所述管理模块,还用于若需要所述对端设备的响应,则注册消息处理者;所述消息接收模块,用于监听所述远程过程调用消息,接收到所述远程过程调用消息时,调用所述编解码模块进行解码,向所述管理模块发送解码后的消息,以使所述管理模块根据所述远程过程调用消息的序列号向对应的消息处理者发送解码后的消息。

该装置通过在消息较大时,将其进行分片处理,并按照分片发送,避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。并且,每一个分片被发送出去之后,可以立即进行下一个分片的编码工作,无需等待整个消息编码完成,因而提高了消息传输效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种远程过程调用装置的结构示意图。

图2为本申请实施例中一种远程过程调用方法的流程图;

图3为本申请实施例中一种远程过程调用设备的结构示意图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

网络设备获取到网络数据的时候,需要将网络数据上传到服务器进行分析。当网络数据小的时候可以通过rpc技术,如谷歌的googleprotocolbuffer,方便有序地将数据传输到服务器。但是,当网络数据的数据量巨大或者需要将大文件传输到服务器时,普通rpc技术无法满足需求,程序员往往需要使用其他的方法来传输大块的数据,例如自己实现一个传输文件的模块来专门传输文件,而无法使用rpc技术,这样开发效率低下且易于出错。

有鉴于此,本申请提供了一种rpc装置,该rpc装置能够在消息较大时,将其进行分片处理,并按照分片发送,避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。此外,每一个分片被发送出去之后,可以立即进行下一个分片的编码工作,无需等待整个消息编码完成,因而提高了消息传输效率。

接下来,结合具体实施例对本申请提供的rpc装置进行介绍。

参见图1所示的rpc装置的结构示意图,该装置100包括:网络模块110、代码生成模块120、管理模块130、消息发送模块140、编解码模块150以及消息接收模块160;

所述网络模块110,用于与对端设备建立连接,并维护所述连接;

所述代码生成模块120,用于根据远程过程调用消息模板生成第一代码和第二代码,所述第一代码用于将符合所述远程过程调用消息模板的用户数据封装成远程过程调用请求,所述第二代码用于将解码后的远程过程调用消息解析成符合所述远程过程调用消息模板的用户数据;

所述管理模块130,用于向所述消息发送模块发送所述远程过程调用请求;

所述消息发送模块140,用于将所述远程过程调用请求封装成数据结构存储在消息队列中,在检测到所述消息队列中有消息需要处理时,从所述消息队列的头部取出第一个远程过程调用请求,并向所述编解码模块150发送所述远程过程调用请求;

所述编解码模块150,用于对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块140发送编码后的数据,以使所述消息发送模块140通过所述网络模块110向所述对端设备发送所述编码后的数据;

所述管理模块130,还用于若需要所述对端设备的响应,则注册消息处理者;

所述消息接收模块160,用于监听所述远程过程调用消息,接收到所述远程过程调用消息时,调用所述编解码模块150进行解码,向所述管理模块130发送解码后的消息,以使所述管理模块130根据所述远程过程调用消息的序列号向对应的消息处理者发送解码后的消息。

可以理解,该rpc装置100支持多种数据类型,包括基本数据类型,如整型、布尔、浮点数、字符串、二进制数据、文件数据,其中,整型从长度分为1字节、2字节、4字节或8字节整型,从是否包括符号可以分为有符号整型和无符号整型。需要说明的是,该rpc装置还支持复杂数据类型,如类、定长数组、变长数组和/或枚举。

需要说明的是,定长数据类型在编码后的数据长度也是定长,非定长数据类型在编码之后的数据长度是非定长的。

考虑到解码过程,在实际应用时,常常按照如下原则进行编码:

所述数据结构为定长数据时,将其编码为数据类型和原始数据;

所述数据结构为非定长数据时,将其编码为数据类型、数据长度和原始数据。

作为一个示例,定长数据被编码为1字节数据类型和原始数据;非定长数据类型被编码为1字节数据类型、4字节数据长度和原始数据。

在本申请的技术方案中,针对rpc消息,对其进行描述的报文头不仅包含消息大小、消息的序列号以及消息的类型等信息,还包括分片标志位,用于保证当前分片是否为一个完整rpc消息的所有分片中的最后一个分片。如此,对端在接收到任一分片时,通过该分片标志位确定该分片是否为完整rpc消息的最后一个分片,若否,则继续接收下一分片,并执行确定其是否为最后一个分片的步骤,若是,则对端可以将最近两次接收的最后一个分片之间的分片,包括最近一次接收的最后一个分片确定为该rpc消息的所有分片。

可以理解,该rpc装置100支持用户根据实际需求配置rpc消息每个分片的大小,即每个分片的字节数。具体实现时,可以通过上述管理模块130配置rpc分片大小。作为一个示例,可以配置每一个分片是4096字节。如此,在使用该rpc装置100传输rpc消息时,该rpc装置100通过编解码模块150对rpc请求进行编码,具体而言,该rpc装置是通过编解码模块150对远程rpc请求的输入参数进行编码,编码后的数据大小超过4096字节,则会将当前已经编码完的4096字节数据先发送到对端,如服务端,再继续进行编码,编码后的数据达到4096字节时,再将已编码的数据向对端发送,直至所有的数据均被编码和发送为止。

基于此,在一些可能的实现方式中,编解码模块150具体用于:若所述rpc请求编码后的长度小于或等于预设长度,则向所述消息发送模块140发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片;若所述rpc请求编码后的长度小于或等于预设长度,则在编码后的长度达到预设长度时,即向所述消息发送模块140发送编码后的数据,并将所述分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片,然后继续执行所述编码步骤,直至编码后的长度不大于所述预设长度时,向所述消息发送模块140发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片。其中,上述预设长度可以为分片的长度。

在具体实现时,编解码模块150可以预先申请内存缓存区用于保存编码后的数据,所述内存缓存区的大小是根据分片的字节数和最大定长数据编码后的字节数而确定的。具体地,内存缓存区可以包括数据区和待处理区,其中,数据区的大小等于分片的大小,上述待处理区大小可以根据最大定长数据编码后的字节数而确定,基于此,内存缓存区的大小不小于数据区的字节数与最大定长数据编码后的字节数之和。

基于此,编解码模块150在对rpc请求进行编码时,先检查待处理区是否有数据,若有,则将待处理区的数据移动到数据区。编解码模块150根据rpc请求的数据类型对其进行编码,如果在内存缓冲区用尽之前编码已完成,则将已经编码的数据返回消息发送模块140,并通过分片标志位告知当前分片是rpc消息的最后一个分片,如果内存缓冲区用尽时编码仍未完成,则将已经编码的数据中与分片大小相等的数据作为一个分片返回给消息发送模块,并通过分片标志位告知当前分片不是rpc消息的最后一个分片。

其中,数据需要分片,且数据区的剩余空间不足以放下最后一个数据类型时,可以按照如下原则进行编码:

当最后一个数据是定长类型,则对该数据进行编码,并将超出数据区的的内容放入待处理区;

当最后一个数据是变长类型,且数据区足以容纳该数据的数据类型和数据长度,则将该数据的数据类型和数据长度以及剩余仍然能够放入数据区的数据写入数据区,并记录此时,已经编码的数据长度,待下一次编码时对剩余数据继续进行编码;

当最后一个数据的变长类型,且数据区不足以容纳该数据的数据类型和数据长度时,则本次分片不再将此数据编码至数据区。

在一些可能的实现方式中,该rpc装置100还可以包括日志模块,用于记录本端设备和对端设备之间的rpc消息,以便用户调试时使用。

由上可知,本申请实施例提供了一种rpc装置,该装置包括消息发送模块、消息接收模块、管理模块、网络模块、编解码模块以及代码生成模块,其通过编解码模块对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块发送编码后的数据,以使所述消息发送模块通过所述网络模块向所述对端设备发送所述编码后的数据。

该方法通过在消息较大时,将其进行分片处理,并按照分片发送,避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。并且,每一个分片被发送出去之后,可以立即进行下一个分片的编码工作,无需等待整个消息编码完成,因而提高了消息传输效率。

基于本申请实施例提供的上述rpc装置,本申请实施例还提供了一种rpc方法,具体包括rpc消息发送和rpc消息接收,为了便于理解,首先结合具体实施例对rpc消息发送过程进行介绍。

参见图2所示的rpc方法流程图,该方法包括:

s201:根据符合远程过程调用消息模板的用户数据,调用代码生成模块生成的第一代码生成远程过程调用请求。

其中,rpc消息模板是指rpc消息的标准化格式,其定义了rpc消息包括的字段以及各字段的长度等。在实际应用时,该rpc消息模板可以是用户自定义的,也可以是预先内置的,本实施例对此不作限定。

在生成符合rpc消息模板的用户数据后,本端也即客户端调用代码生成模块生成的第一代码,根据上述用户数据生成rpc请求。

s202:将所述远程过程调用请求封装成数据结构存储在消息队列中,在检测到所述消息队列中有消息需要处理时,从所述消息队列的头部取出第一个远程过程调用请求,对所述远程过程调用请求进行编码。

客户端通过消息发送模块将rpc请求封装成数据结构存储在消息队列中,当检测到消息队列中有消息需要处理,也即消息队列中存储有数据结构时,从消息队列的头部取出第一个rpc请求,具体而言是取出第一个rpc请求对应的数据结构,通过编解码模块对所述rpc请求进行编码。

s203:在所述远程过程调用请求编码后的长度大于预设长度时进行分片,并按照分片发送编码后的数据。

其中,每个分片具有分片标志位,用于表征该分片是否为所述远程过程调用消息的所有分片中的最后一个分片。如此,对端在接收到分片后,可以根据该分片标志位确定该分片是否为rpc消息所有分片中的最后一个分片,进而确定与该rpc消息对应的所有分片。

在实际应用时,当rpc请求编码后的长度小于或等于预设长度时,则将编码后的数据作为一个分片,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片,如此,通过一个分片完成rpc消息发送。

当所述rpc请求编码后的长度大于预设长度时,则在编码后的长度达到预设长度时,即发送编码后的数据,并将所述分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片,然后继续执行所述编码步骤,直至编码后的长度不大于所述预设长度时,发送编码后的数据,并将所述分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片。

需要说明的是,当数据结构为定长数据时,可以将其编码为数据类型和原始数据,当数据结构为非定长数据时,可以将其编码为数据类型、数据长度和原始数据。

在一些可能的实现方式中,还可以预先申请内存缓存区,用于存储编码后的数据。具体地,内存缓存区可以包括数据区和待处理区,所述数据区的字节数等于分片的字节数,所述待处理区的字节数不小于最大定长数据编码后的字节数。

基于此,本申请还提供了一种对rpc请求进行进行编码的实现方式,具体地,若所述待处理区存储有数据,则将所述待处理区的数据移动至所述数据区;若在内存缓存区用尽之前编码已完成,则发送已编码的数据,并将分片标志位设置为表征当前分片是完整远程过程调用消息的所有分片中的最后一片;若在内存缓存区用尽时编码仍未完成,则发送指定长度的已编码数据,所述指定长度等于分片的字节数,并将分片标志位设置为表征当前分片不是完整远程过程调用消息的所有分片中的最后一片。

并且,在数据区的剩余空间不足以放下最后一个数据类型时,按照如下原则编码:

所述最后一个数据是定长类型,则完成此数据的编码,超出数据区的内容放入待处理区;

所述最后一个数据是变长类型,且数据区能够容纳该数据的数据类型和数据长度时,则将该数据的数据类型和数据长度以及剩余仍然能放入数据区的数据写入数据区,并记录当前已经编码的数据长度,待下一次编码时将剩余数据继续进行编码;

所述最后一个数据是变长类型,且数据区不足以容纳该数据的数据类型和数据长度时,则本次分片不再将此数据编码到数据区。

以上为本申请实施例从消息发送的角度提供的rpc方法的具体实现方式,在实际应用时,本端设备也可以被远程调用,也即本端设备也可以作为为服务端,此时,本端设备可以接收对端设备发送的rpc消息,下面将对消息接收过程进行详细说明。

在一些可能的实现方式中,若本端设备需要对端的响应,则可以在管理模块注册消息处理者,然后本端设备监听rpc消息,并在接收到rpc消息时,解码所述rpc消息,并根据该rpc消息的序列号向对应的消息处理者发送解码后的消息。

在实际应用时,本端设备还可以记录本端和对端之间的远程过程调用消息,以便用户调试时使用。

本申请实施例提供了一种rpc方法,该方法通过传输rpc消息时,根据该rpc消息的大小将其划分成切片进行传输,从而避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。并且,每一个分片被发送出去之后,可以立即进行下一个分片的编码工作,无需等待整个消息编码完成,因而提高了消息传输效率。

另一方面,该方法还运行用户自行设置rpc消息的分片大小,从而适配自己的系统达到最佳传输效率。对于文件类型的数据,其在编码时才将文件里的数据读取到内存中,从而可以支持大文件的传输。该方法还提供有状态编码和解码,当rpc消息分片时,记录当前消息编码或者解码的位置,从而能够基于该位置继续处理下一个分片。

基于本申请实施例提供的上述方法和装置,本申请还提供了一种rpc设备,参见图3所示的rpc设备的结构示意图,该rpc设备包括存储器301和处理器302,其中:

所述存储器301用于存储计算机程序;

所述处理器302用于根据所述计算机程序执行本申请实施例提供的rpc方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请所述的rpc方法。

本申请实施例还提供了一种包括计算机可读指令的计算机程序产品,当该计算机可读指令在计算机上运行时,使得计算机执行上述各方面所述的远程过程调用方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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