[发明专利]一种RPC幂等性保证方法及系统在审
| 申请号: | 202110932243.9 | 申请日: | 2021-08-13 |
| 公开(公告)号: | CN113722122A | 公开(公告)日: | 2021-11-30 |
| 发明(设计)人: | 刘菲;董隆超;陈兴利;孙莎莎 | 申请(专利权)人: | 北京东方国信科技股份有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 肖艳 |
| 地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 rpc 保证 方法 系统 | ||
本发明提供一种RPC幂等性保证方法及系统,包括:确定每个RPC执行的标识信息集合;基于所述标识信息集合,获取并缓存每个RPC执行的结果记录;获取每个RPC的重试需求,匹配与所述重试需求对应缓存的结果记录;待接收到每个RPC执行完成响应,释放每个RPC执行的结果记录。本发明所采用的RPC幂等性保证方法,应用于分布式大型并发系统中,使分布式大型并发系统得到最强形式的RPC幂等性保证,同时它的轻量级足以在低延迟环境中使用。
技术领域
本发明涉及数据库技术领域,尤其涉及一种RPC幂等性保证方法及系统。
背景技术
目前,在分布式服务框架下,有很多需要处理的错误的RPC(Remote ProcedureCall,远程过程调用),当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/202110932243.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:预制混凝土墙板及其系统和制作方法
- 下一篇:餐厨垃圾沼液脱水工艺





