[发明专利]分布式柔性事务处理方法及装置、存储介质及电子设备在审
申请号: | 201911121676.5 | 申请日: | 2019-11-15 |
公开(公告)号: | CN112817704A | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 陈志良 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06Q20/40 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 柔性 事务处理 方法 装置 存储 介质 电子设备 | ||
本公开提供一种分布式柔性事务处理方法及装置、存储介质及电子设备;涉及互联网分布式事务处理技术领域。所述分布式柔性事务处理方法包括:接收柔性事务处理请求,识别出所述柔性事务中对调用方存在风险的操作,并将所述存在风险的操作标记为风险操作;调用第一操作子模块执行所述风险操作;调用第二操作子模块执行未被标记的无风险操作,直至所述无风险操作被成功执行;依据所述第一及第二操作子模块的执行结果发送消息通知所述调用方所述柔性事务的处理结果。本公开可以缩小需要回滚的事务处理范围,降低事务处理成本,提升事务处理效率。
技术领域
本公开涉及互联网分布式事务处理技术领域,具体而言,涉及一种分布式柔性事务处理方法、分布式柔性事务处理装置、电子设备以及计算机可读存储介质。
背景技术
在很多情况下,计算机需要将多个任务结合在一起完成一个业务要求,当多个任务中的部分任务执行失败时,可能会导致系统处于不一致的状态。为了解决这一问题,提出了事务的概念,也即将事务作为最小工作单元,事务中包含的所有任务作为一个整体进行工作,只有当全部任务都成功执行时,才认为该事务执行成功。
然而,由于上述方法通过当任一任务失败时,对所有任务进行回滚操作的方式来保证系统的一致性,会降低事务处理的效率,增加事务处理的成本。
因此提供一种高效率、低成本的分布式柔性事务处理方法具有重要意义。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种分布式柔性事务处理方法及装置、电子设备以及计算机可读存储介质,进而可以解决回滚事务范围大,事务处理成本高及事务处理效率低等问题。
根据本公开的第一方面,提供一种分布式柔性事务处理方法,包括:
接收柔性事务处理请求,识别出所述柔性事务中对调用方存在风险的操作,并将所述存在风险的操作标记为风险操作;
调用第一操作子模块执行所述风险操作;
调用第二操作子模块执行未被标记的无风险操作,直至所述无风险操作被成功执行;
依据所述第一及第二操作子模块的执行结果发送消息通知所述调用方所述柔性事务的处理结果。
在本公开的一种示例性实施例中,所述调用第一操作子模块执行所述风险操作,包括:
执行所述风险操作;
在所述风险操作执行成功时,调用所述第二操作子模块执行所述无风险操作。
在本公开的一种示例性实施例中,所述方法还包括:
在所述风险操作执行失败时,执行回滚并将对应的所述柔性事务标记为处理失败。
在本公开的一种示例性实施例中,所述执行所述风险操作,包括:
执行所述风险操作的预提交;
在所述风险操作的预提交全部通过时,执行所述风险操作的提交。
在本公开的一种示例性实施例中,在所述调用第二操作子模块执行未被标记的无风险操作之前,所述方法还包括:
定义一个事务补偿队列;其中,所述事务补偿队列的存储方式为先进先出。
在本公开的一种示例性实施例中,所述调用第二操作子模块执行未被标记的无风险操作,直至所述无风险操作被成功执行,包括:
执行所述无风险操作;
在所述无风险操作执行失败时,将所述执行失败的无风险操作存储至所述事务补偿队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911121676.5/2.html,转载请声明来源钻瓜专利网。