[发明专利]一种RPC请求调用方法及装置有效
| 申请号: | 201811351334.8 | 申请日: | 2018-11-16 |
| 公开(公告)号: | CN111200573B | 公开(公告)日: | 2022-02-22 |
| 发明(设计)人: | 贺启波;杨大川 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
| 主分类号: | H04L67/133 | 分类号: | H04L67/133;G06F9/54 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 610041 四川省成都市*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 rpc 请求 调用 方法 装置 | ||
本发明公开了一种同步RPC请求调用方法及装置,涉及数据通信领域,该方法在客户端和服务器端对同步RPC请求调用过程进行监控和收发包分类计数,如果发生RPC请求超时,通过本发明能够有效帮助维护人员准确判定RPC请求超时的具体原因,提高故障排查效率。
技术领域
本发明涉及数据通信领域,尤其涉及一种RPC请求调用方法及装置。
背景技术
远程过程调用(Remote Procedure Call,简称RPC)一般是基于CS架构实现,即客户端发起RPC请求,服务器端根据客户端的请求实现功能调用。RPC请求的调用模式可分为同步调用和异步调用两类,根据不同需求选用不同的调用模式。同步调用是客户端向服务器端发起RPC请求后,需等待服务器端返回RPC响应从而得到执行结果;异步调用是客户端发起RPC请求后不必等待服务器端返回RPC响应,而是在服务器端向客户端返回RPC响应后,再由客户端通过回调机制得到执行结果。现实环境中RPC请求往往会因为各种原因出现调用失败,尤其是对于同步RPC调用的超时问题,如果不能及时发现同步RPC调用的超时原因,则会导致对应功能失效,严重影响业务的可用性,因此,及时发现同步RPC调用超时并及时解决是当前亟待解决的问题。
发明内容
本发明提供一种RPC请求调用方法及装置,能够帮助维护人员及时发现同步RPC请求发生调用超时的具体原因,提高故障排查效率。
第一方面,本发明提供一种RPC请求调用方法,应用于发起同步RPC请求的客户端,包括以下步骤:
所述客户端向服务器端每发起一次同步的RPC请求,对该RPC请求对应的同类RPC请求的计数值进行累计;
所述客户端每接收一次所述服务器端发送的RPC响应,对该RPC响应对应的同类RPC响应的计数值进行累计;
所述客户端发起任一RPC请求后,如在预设的超时阈值内未收到所述任一RPC请求对应的RPC响应,记录所述任一RPC请求的调用信息用于后期调试。
其中,所述RPC请求以及所述RPC响应包括:应用模块标识,客户端标识和服务器端标识组成的三元组信息;所述同类RPC请求是指包括相同三元组信息的RPC请求;所述同类RPC响应是指包括相同三元组信息的RPC响应。
所述记录所述任一RPC请求的调用信息用于后期调试,包括:
记录所述任一RPC请求的三元组信息与所述任一RPC请求的序列号的对应关系;
根据所述任一RPC请求的序列号对应的所述三元组信息中的应用模块标识,所述客户端通知对应的应用模块停止发起RPC请求;
等待设定的延迟时间后,比较所述任一RPC请求对应的同类RPC请求的计数值是否等于所述任一RPC请求对应RPC响应对应的同类RPC响应的计数值;若不相等,判定所述任一RPC请求因丢包导致超时,否则,判定所述任一RPC请求在所述服务器端调用超时。
第二方面,本发明提供一种RPC请求调用方法,应用于接收同步RPC请求的服务器端,包括以下步骤:
所述服务器端接收客户端发起的任一RPC请求,对所述任一RPC请求对应的同类RPC请求的计数值进行累计;
监控所述任一RPC请求的调用过程是否超时,如是,记录所述任一RPC请求的异常信息;
在所述任一RPC请求调用结束后,所述服务器端向所述客户端发送所述任一RPC请求对应的RPC响应,并对所述RPC响应对应的同类RPC响应的计数值进行累计;
其中,所述任一RPC请求对应的同类RPC请求的计数值和所述RPC响应对应的同类RPC响应的计数值用于后期调试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811351334.8/2.html,转载请声明来源钻瓜专利网。





