[发明专利]远程过程调用方法、装置及系统有效
申请号: | 201510784155.3 | 申请日: | 2015-11-16 |
公开(公告)号: | CN106713238B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 邹勇 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 远程 过程 调用 方法 装置 系统 | ||
本申请提供了一种远程过程调用方法、装置及系统,其中一种方法包括:在向服务器发送RPC申请调用请求之后,接收所述服务器发送的RPC申请调用应答;其中,所述RPC申请调用应答包括唯一表示所述RPC申请调用请求的标识信息;向所述服务器发送包含所述标识信息的RPC获取结果请求;接收所述服务器发送的包含申请结果信息的RPC获取结果应答;其中,所述申请结果信息由服务器在与所述标识信息对应的申请结果区域中获取,并且,所述申请结果信息申请处理状态和/或申请结果。本申请客户端无需创建独立线程并耗费CPU资源来监听服务器是否调用回调函数,所以可以简化客户端的处理过程。
技术领域
本申请涉及通信技术领域,尤其涉及一种远程过程调用方法、装置及系统。
背景技术
在网络技术发展迅速的今天,服务器上可以开发许多技术应用,以便客户端远程调用服务器的应用,从而实现客户端的目的。远程过程调用RPC(Remote Procedure Call)一般分为RPC异步调用和RPC同步调用。
针对RPC同步调用,因为RPC同步调用对申请结果的即时性要求较高,所以在客户端向服务器发送RPC申请调用请求之后,服务器会立即获取相关资源并利用相关资源生成申请结果;然后将申请结果添加至与RPC申请调用请求对应的RPC申请调用应答中,以便向客户端发送申请结果。在RPC同步调用过程中,客户端仅需在RPC申请调用应答中获得申请结果即可,执行过程较为简单。
针对RPC异步调用,因为RPC异步调用对申请结果的即时性要求不高,所以在客户端向服务器发送RPC申请调用请求之后,服务器不需要立即获取相关资源,而是在满足其它即时性申请请求之后再获取相关资源。由于服务器获取相关资源的时间不可控,这导致服务器生成申请结果的时间也不可控。
在服务器生成申请结果的时间不可控的情况下,为了达到客户端获得申请结果的目的,传统的RPC异步调用过程为:在客户端发送RPC申请调用请求之后,服务器向客户端反馈一个回调函数。在服务器利用相关资源生成申请结果之后,主动调用客户端的回调函数,以此通知客户端获取申请结果。
由于服务器在生成申请结果之后不会存储申请结果,而是会立即调用回调函数来通知客户端获取申请结果,并且客户端不确定服务器何时调用回调函数,所以为了保证客户端可以获取申请结果,需要在客户端上建立一个独立线程。该独立线程用于不停地监听服务器是否调用回调函数,以便在服务器生成申请结果之后立即获取申请结果。但是,单独创建独立线程来实现异步调用的过程非常复杂且占用较多的CPU资源,不利于客户端来实现远程过程调用。
因此,现在需要一种远程过程调用方法,以便可以简化客户端在RPC异步调用情况下的执行过程。
发明内容
本申请提供了一种远程过程调用方法、装置及系统,本申请可以简化客户端在RPC异步调用情况下的执行过程。
为了实现上述目的,本申请提供了以下技术手段:
一种远程过程调用方法,包括:
在向服务器发送RPC申请调用请求之后,接收所述服务器发送的RPC申请调用应答;其中,所述RPC申请调用应答包括唯一表示所述RPC申请调用请求的标识信息;
向所述服务器发送包含所述标识信息的RPC获取结果请求;
接收所述服务器发送的包含申请结果信息的RPC获取结果应答;其中,所述申请结果信息由服务器在与所述标识信息对应的申请结果区域中获取,并且,所述申请结果信息至少包括申请处理状态。
优选的,在所述接收所述服务器发送的包含申请结果信息的RPC获取结果应答之后,还包括:
确定所述申请处理状态,所述申请处理状态包括:等待状态、完成状态或停止状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510784155.3/2.html,转载请声明来源钻瓜专利网。