The embodiments of this specification provide a method and device for handling distributed transactions, which include first obtaining processing requests for distributed transactions involving multiple services. Then, according to the processing request, the first stage processing of multiple services is performed for multiple service providers, in which the first stage processing is the preprocessing of the second stage processing, and the second stage processing is the submission or rollback of the service. Once the processing results of each business in the first stage are determined, the notification of the processing results of the distributed transaction is returned before or at the same time before the second stage is executed. In this way, the processing time and waiting time can be shortened to enhance the user experience.
【技术实现步骤摘要】
处理分布式事务的方法及装置
本说明书实施例涉及数据处理
,具体地,涉及一种处理分布式事务的方法及装置。
技术介绍
分布式事务是指,事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。更简单的说,就是一项分布式事务由多个不同的业务操作组成,这些业务操作分布在不同的服务器上,且属于不同的应用。传统关系型数据库的事务模型必须遵守ACID原则。在单数据库模式下,ACID模型能有效保障数据的完整性,但是在大规模分布式事务处理环境下,一项事务往往会跨越多个数据库,如何保证这多个数据库之间的数据一致性,需要行之有效的策略。为了解决分布式事务的数据一致性问题,业界提出了几种解决方案和框架平台。2PC(2PhaseCommit,两阶段提交)方案可以保证数据的强一致性。该方案的核心原理是通过提交分阶段和记日志的方式,记录下事务提交所处的阶段状态。在组件宕机重启后,可通过日志恢复事务提交的阶段状态,并在这个状态节点重试。在2PC的基础上,进一步提出了分布式事务框架xts,该框架用来保障分布式环境下事务的最终一致性。在该框架下,外部服务分 ...
【技术保护点】
1.一种处理分布式事务的方法,其特征在于,包括:获取分布式事务的处理请求,所述分布式事务包括多项业务,所述多项业务涉及多个服务方;根据所述处理请求,针对所述多个服务方分别执行所述多项业务的第一阶段处理,所述第一阶段处理为第二阶段处理的预处理,所述第二阶段处理为业务的提交或回滚;一旦确定所述多项业务中各项业务在所述第一阶段处理中各自的阶段处理结果,在开始执行所述第二阶段处理之前或与其同时,根据所述阶段处理结果,返回所述分布式事务的处理结果通知。
【技术特征摘要】
1.一种处理分布式事务的方法,其特征在于,包括:获取分布式事务的处理请求,所述分布式事务包括多项业务,所述多项业务涉及多个服务方;根据所述处理请求,针对所述多个服务方分别执行所述多项业务的第一阶段处理,所述第一阶段处理为第二阶段处理的预处理,所述第二阶段处理为业务的提交或回滚;一旦确定所述多项业务中各项业务在所述第一阶段处理中各自的阶段处理结果,在开始执行所述第二阶段处理之前或与其同时,根据所述阶段处理结果,返回所述分布式事务的处理结果通知。2.根据权利要求1所述的方法,其中所述阶段处理结果为,所述多项业务中每项业务的第一阶段处理均处理成功;所述返回所述分布式事务的处理结果通知包括,返回分布式事务处理成功的通知。3.根据权利要求1所述的方法,其中所述阶段处理结果为,所述多项业务中存在至少一项业务的第一阶段处理不成功;所述返回所述分布式事务的处理结果通知包括,返回分布式事务处理失败的通知。4.根据权利要求1所述的方法,还包括,在返回处理结果通知之后,根据所述阶段处理结果,针对所述多个服务方分别执行所述多项业务的第二阶段处理。5.根据权利要求4所述的方法,其中所述阶段处理结果为,所述多项业务中每项业务的第一阶段处理均处理成功;所述针对所述多个服务方分别执行所述多项业务的第二阶段处理包括:令所述多个服务方中各个服务方分别提交所述多项业务中的对应业务。6.根据权利要求4所述的方法,其中所述阶段处理结果为,所述多项业务中存在至少一项业务的第一阶段处理不成功;所述针对所述多个服务方分别执行所述多项业务的第二阶段处理包括:令所述多个服务方中各个服务方分别回滚所述多项业务中的对应业务。7.根据权利要求1所述的方法,其中所述多项业务包括第一业务,所述第一业务为余额支取,所述第一业务的第一阶段处理包括余额冻结;所述第一业务的第二阶段处理包括,第一业务的提交或回滚,其中所述第一业务的提交包括余额扣减,所述第一业务的回滚包括冻结释放。8.根据权利要求1所述的方法,其中所述多项业务包括第二业务,所述第二业务为份额转入,所述第二业务的第一阶段处理包括,转入份额记账;所述第二业务的第二阶段处理包括,第二业务的提交或回滚,其中所述第二业务的提交包括份额增加,所述第二业务的回滚包括记账清除。9.一种处理分布式事务的装置,其特征在于,包括:请求获取单元,配置为获取分布式事务的处理请求,所述分布式事务包括多项业务,所述多项业务...
【专利技术属性】
技术研发人员:张海涛,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。