分布式长事务的处理方法及装置制造方法及图纸

技术编号:37603076 阅读:29 留言:0更新日期:2023-05-18 11:54
本发明专利技术实施例涉及一种分布式长事务的处理方法及装置,所述方法包括:加载待处理长事务的规则文件;根据所加载的规则文件渲染长事务处理涉及的节点、执行条件和路径;根据所述节点、执行条件和执行路径对长事务进行处理;当节点执行状态异常时,反向执行已成功节点对应的补偿节点对事务进行回滚;当节点响应超时时,通过该节点对应的补偿节点执行空补偿。本发明专利技术实施例的技术方案节点可以定义为一个服务或多个服务,也可以通过定义对应的子规则,实现嵌套事务的执行;提供了空补偿允许机制,提高了事务执行的健壮性;提供了防悬挂机制,解决了补偿服务比原服务先执行的技术问题。解决了补偿服务比原服务先执行的技术问题。解决了补偿服务比原服务先执行的技术问题。

【技术实现步骤摘要】
分布式长事务的处理方法及装置


[0001]本专利技术实施例涉及数据库事务处理
,尤其涉及一种分布式长事务的处理方法及装置。

技术介绍

[0002]随着近些年来互联网和云计算的快速发展和普及,分布式架构的变化也日新月异。自从分布式架构逐渐向着性能、高可用、高伸缩方向发展,以及微服务技术的广泛应用,在微服务架构下分布式事务场景大量出现,如电商、社交、教育领域等。这些业务其中有一个共同的核心模块——交易模块。这部分通常是由数据库的事务来实现数据的一致性的,但是因分布式系统的规模不断扩大,同一个事务流程可能跨过多个微服务或是数据库,其事务的稳定性受到多个因素的影响:网络的稳定性、数据的一致性、微服务的稳定性,这些因素都会造成事务的失败。而事务如果失败,需要将之前成功的部分进行回滚,如果回滚失败的话,会造成数据不一致的问题,这在交易模块里是不能允许出现的问题。所以,分布式事务就是为了解决在大规模业务的分布式系统中事务的应用问题的解决方案。
[0003]目前,常用的分布式事务有三种解决方案,主要是AT模式,XA模式和TCC模式。这三种解决方案本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式长事务的处理方法,其特征在于,包括:加载待处理长事务的规则文件,所述规则文件包括长事务处理涉及的节点、执行条件和执行路径,所述执行路径为包含若干节点和节点对应的执行条件的有向图;根据所加载的规则文件渲染长事务处理涉及的节点、执行条件和路径,针对每个节点设置一个对应的补偿节点;根据所述节点、执行条件和执行路径对长事务进行处理;当节点执行状态异常时,反向执行已成功节点对应的补偿节点对事务进行回滚;所述反向执行包括按照反向顺序执行当前执行状态异常节点的反向顺序执行,所述回滚包括正常执行失败后进行的对等反向操作;当节点响应超时时,通过该节点对应的补偿节点执行空补偿。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所涉及的节点包括子节点,则递归加载与该子节点对应的子规则文件。3.根据权利要求1所述的方法,其特征在于,所述空补偿包括记录该响应超时的节点对应业务的唯一标识。4.根据权利要求1

3中任意一项所述的方法,其特征在于,所述反向执行已成功节点对应的补偿节点对事务进行回滚,还包括:如果回滚又触发了回滚,或者在执行补偿节点时,对应节点的执行结果到达,则触发防悬挂机制;所述补偿节点是由对应节点的执行超时触发。5.根据权利要求4所述的方法,其特征在于,所述防悬挂机制包括:检查当前业务主键是否在空补偿记录的业务主键中存在;若存在,则拒绝服务的执行,所述服务为当前执行的节点中的业务。6.根据权利要求5所述的方法,其...

【专利技术属性】
技术研发人员:王显宇姜向前张东升姚纪卫
申请(专利权)人:安芯网盾北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1