[发明专利]远程过程调用请求控制方法及装置有效
申请号: | 201710542836.8 | 申请日: | 2017-07-05 |
公开(公告)号: | CN109218369B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 彭文文 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 远程 过程 调用 请求 控制 方法 装置 | ||
本申请实施例公开了远程过程调用请求控制方法及装置,其中,所述方法包括:客户端统计远程过程调用RPC请求的失败率或成功率;如果所述失败率达到预置的第一阈值,或成功率低于预置的第二阈值,则对RPC请求的超时时间进行延长调整;对于在所述调整完成后发送的RPC请求,利用所述调整后的超时时间,对RPC请求的成功与否进行判定。通过本申请实施例,在保证系统可用性的同时,可以降低系统服务能力继续下降甚至不可用的发生概率。
技术领域
本申请涉及远程过程调用技术领域,特别是涉及远程过程调用请求控制方法及装置。
背景技术
RPC(Remote Procedure Call Protocol,远程过程调用协议)是一种通过网络从远程计算机程序上请求服务的协议。该协议采用客户机/服务器模式,请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,客户端调用进程接收答复信息,获得进程结果。
例如,在销售平台系统中,消费者用户通过其终端设备上安装的销售平台客户端程序浏览具体的商品信息,甚至可能执行购买等操作,用户发出的具体的请求,客户端通常需要调用服务端提供的API(Application Programming Interface,应用程序编程接口)接口来获得相应的处理结果,而在API调用的内部实现中,具体就是通过RPC请求的方式与服务器进行交互。
在RPC协议中,客户端往往会为RPC请求设定一定的超时时间,也即,假设RPC请求的超时时间设定为1S,则从客户端发出RPC请求开始计时,如果在1S之内收到了服务器的答复信息,则客户端认为此次RPC请求成功,而如果已经到达1S,但一直未收到服务器的答复信息,则客户端会认为此次RPC请求失败。
通常情况下,RPC请求失败的原因,通常是由于服务器压力过大,使得服务器处理能力已经难以处理大量的RPC请求导致的。为解决上述问题,在现有技术中,客户端可以采用“退避”机制。也即,可以为API请求设定更长的超时时间,例如,如果将RPC请求的超时时间设定为1S,则可以将API请求的超时时间设定为3~5S,等等。这样,如果客户端发现API调用过程中,某次RPC请求失败,则只要API请求尚未超时,即可间隔一段时间之后,在API内部进行RPC请求的重传。并且,在同一API请求内部,随着RPC请求失败次数的增加,重试的间隔时间也可以随之呈现出指数级的增长。通过这种延长重试时间间隔的方式,可以从很大程度上降低服务器的压力。
但是,在实际应用中,还可能存在服务器压力骤增的情况。例如,对于销售平台的服务器而言,在一些大型活动期间(例如,“双11”等),经常会出现RPC请求数量大量并发情况,使得请求的数量远远超出服务器的处理能力。此时,即使使用现有技术中的“退避”机制,即使延长了重试的时间间隔,可能也会出现无济于事的情况。
因此,如何更有效的提升系统的服务能力,成为需要本领域技术人员解决的技术问题。
发明内容
本申请提供了远程过程调用请求控制方法及装置,在保证系统可用性的同时,可以降低系统服务能力继续下降甚至不可用的发生概率。
本申请提供了如下方案:
一种远程过程调用请求控制方法,包括:
客户端统计远程过程调用RPC请求的失败率或成功率;
如果所述失败率达到预置的第一阈值,或成功率低于预置的第二阈值,则对RPC请求的超时时间进行延长调整;
对于在所述调整完成后发送的RPC请求,利用所述调整后的超时时间,对RPC请求的成功与否进行判定。
一种远程过程调用请求控制装置,应用于客户端,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710542836.8/2.html,转载请声明来源钻瓜专利网。