[发明专利]一种事务的最终一致性保障方法及系统有效
| 申请号: | 201810575232.8 | 申请日: | 2018-06-06 |
| 公开(公告)号: | CN108874587B | 公开(公告)日: | 2022-01-14 |
| 发明(设计)人: | 薛浩 | 申请(专利权)人: | 亚信科技(中国)有限公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/27 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 事务 最终 一致性 保障 方法 系统 | ||
本发明提供了一种事务的最终一致性保障方法,包括:检测目标事务所属的应用场景;当所述目标事务属于同步调用应用场景时,解析所述同步调用应用场景中的异常类型,确定与所述异常类型对应的回滚操作,保障所述目标事务的最终一致性;当所述目标事务属于异步调用应用场景时,确保所述异步调用应用场景中幂等性要求和重试机制,保障所述目标事务的最终一致性。上述的方法,分别为同步应用场景针对异常的类型设置回滚操作,为异步应用场景设置了幂等或者重试等操作来实现一致性,均不需要轮询来保证一致性。避免了在高并发场景下,过于频繁的定时轮询操作,对数据库吞吐量和性能有较高的要求,当数据库不能满足要求时,导致处理效率低下的问题。
技术领域
本发明涉及移动业务支撑技术领域,尤其涉及一种事务的最终一致性保障方法及系统。
背景技术
在分布式事务场景中,事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上,因此,为了保证分布式事务流程的有效进行,通过获取本地消息来实现事务的最终一致性,其中,本地消息是将分布式事务拆成一系列的本地事务,通过定时轮询的方式,检查数据库中的本地消息,当发现新数据时,则通知对方。
发明人对现有的事务的最终一致性的保障方法进行研究发现,在高并发场景下,过于频繁的定时轮询操作,对数据库吞吐量和性能有较高的要求,当数据库不能满足要求时,导致处理效率低下。
发明内容
有鉴于此,本发明提供了一种事务的最终一致性保障方法及系统,用以解决现有技术中在高并发场景下,过于频繁的定时轮询操作,对数据库吞吐量和性能有较高的要求,当数据库不能满足要求时,导致处理效率低下的问题。具体方案如下:
一种事务的最终一致性保障方法,包括:
检测目标事务所属的应用场景;
当所述目标事务属于同步调用应用场景时,解析所述同步调用应用场景中的异常类型,确定与所述异常类型对应的回滚操作,保障所述目标事务的最终一致性;
当所述目标事务属于异步调用应用场景时,确保所述异步调用应用场景中幂等性要求和重试机制,保障所述目标事务的最终一致性。
上述的方法,可选的,当所述目标事务属于同步调用应用场景时,解析所述同步调用应用场景中的异常类型,确定与所述异常类型对应的回滚操作,保障所述目标事务的最终一致性包括:
当所述异常类型为被调方异常时,主调方反馈回滚失败;
当所述异常类型为超时异常时,进行稽核回滚;
当所述异常类型为多方业务中的至少一方失败时,对所述多方业务全部进行回滚。
上述的方法,可选的,还包括:
将与所述异常类型对应的回滚结果,保存到对应的数据表中。
上述的方法,可选的,当所述目标事务属于异步调用应用场景时,确保所述异步调用应用场景中幂等性要求和重试机制,保障所述目标事务的最终一致性包括:
扫描与所述异步调用应用场景对应的各个数据表,获取所述各个数据表中的异常信息和/或异常数据节点;
判断与所述述异步调用应用场景对应的幂等表中是否存在与所述异常信息和/或异常数据节点对应的数据;
若否,对与所述异常信息和/或异常数据节点对应的业务进行重做。
上述的方法,可选的,还包括:
若是,获取所述数据,将所述数据传递给所述异步调用应用场景中的对应节点。
一种事务的最终一致性保障系统,包括:
检测模块,用于检测目标事务所属的应用场景;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于亚信科技(中国)有限公司,未经亚信科技(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810575232.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据恢复方法及相关产品
- 下一篇:一种数据库实例恢复方法和装置





