CN102073540B - 分布式事务提交方法和装置 - Google Patents
分布式事务提交方法和装置 Download PDFInfo
- Publication number
- CN102073540B CN102073540B CN 201010604558 CN201010604558A CN102073540B CN 102073540 B CN102073540 B CN 102073540B CN 201010604558 CN201010604558 CN 201010604558 CN 201010604558 A CN201010604558 A CN 201010604558A CN 102073540 B CN102073540 B CN 102073540B
- Authority
- CN
- China
- Prior art keywords
- subtransaction
- distributed transaction
- stage
- module
- subtransactions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种分布式事务提交方法,所述分布式事务提交方法包括:步骤A:将分布式事务划分为多个子事务;步骤B:分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,转入步骤C;如果所述多个子事务都执行成功,则转入步骤D;步骤C:回滚所述执行失败的子事务所在阶段和之前阶段中的所有子事务;步骤D:提交所述分布式事务需要的更新。应用本发明,可以提高分布式事务提交效率,能够及时结束事务及回滚,当组成分布式事务的事务分支很多时能按照顺序进行各个事务分支处理并在组成分布式事务的各事务分支之间共享数据,并且不需要异构数据库都支持XA协议就能够提供跨数据库平台的分布式事务提交。
Description
技术领域
本发明涉及事务处理技术领域,特别涉及一种分布式事务提交方法和装置。
背景技术
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)。
在网络聊天系统中,用户数量巨大(上亿用户),需要将用户信息分别存储在不同的数据库中,数据的分布同时按照用户和业务来进行。例如有两个用户A和用户B,分别都有个人信息和好友信息,用户A的个人信息存储在用户数据库(UserDB)1中,用户B的个人信息存储在UserDB2中,用户A的好友信息存储在好友数据库(BuddyDB)1中,用户B的好友信息存储在BuddyDB2中,这就是分布式数据库。这些数据库可以是异构的,例如UserDB采用Sql Server,而BuddyDB采用的是MySql。
以网络聊天系统中添加好友这个应用为例对分布式事务进行说明,例如,用户A添加用户B为好友,如果用户B同意,则同时需要在用户A的BuddyDB1中加入用户B的信息和在用户B的BuddyDB2中添加用户A的信息,然后通知状态服务启动用户A对用户B在线状态的订阅及用户B对用户A在线状态的订阅,通知聊天客户端刷新好友列表显示。如果中间有某项工作出现异常,则后面的工作不需要再继续,整个事务回滚,保证了数据库的一致性、服务及客户端显示的一致性,上述整个过程为一个分布式事务。
X/Open(即现在的Open Group)组织的建立是为了向UNIX环境提供标准。它主要的目标是促进对UNIX语言、接口、网络和应用的开放式系统协议。X/Open组织定义了一个X/Open DTP(Distributed Transaction Processing,分布事务处理)模型包括应用程序、事务管理器、资源管理器、通信资源管理器四部分。一般,事务管理器是交易中间件,资源管理器是数据库,通信资源管理器是消息中间件。
XA协议是指由X/Open组织提出的作为资源管理器与事务管理器之间进行通信的接口标准的分布式交易处理规范。XA协议采用两阶段提交方式来管理分布式事务:
在第一阶段,交易中间件请求所有相关数据库准备提交(即预提交)各自的事务分支,以确认是否所有相关数据库都可以提交各自的事务分支。当某一数据库收到预提交后,如果可以提交属于自己的事务分支,则将自己在该事务分支中所做的操作固定记录下来,并给交易中间件一个同意提交的应答,此时数据库将不能再在该事务分支中加入任何操作,但此时数据库并没有真正提交该事务,数据库对共享资源的操作还未释放(即处于锁定状态)。如果由于某种原因数据库无法提交属于自己的事务分支,它将回滚自己的所有操作,释放对共享资源的锁定,并返回给交易中间件失败应答。
在第二阶段,交易中间件审查所有数据库返回的预提交结果,如所有数据库都可以提交,交易中间件将要求所有数据库做正式提交,这样该全局事务被提交。而如果有任一数据库预提交返回失败,交易中间件将要求所有其它数据库回滚其操作,这样该全局事务被回滚。
XA协议采用两阶段提交,预提交做不到按照顺序执行,比如不能实现A先执行,A执行成功之后B、C才可以执行,B、C执行成功之后D才执行。
当组成分布式事务的事务分支很多时,XA协议的所有事务分支都会预提交,预提交效率很低,做不到及时结束事务及回滚,例如如果进行了预提交的事务A、B、C、D中的任一个预执行出错,则全部需要进行回滚。
XA协议中,组成分布式事务的各事务分支之间不能互相共享数据,比如,不能实现从A的执行结果中获取需要的数据才能执行B。
当处理异构数据库时,需要这些数据库都支持XA协议,但目前并不是所有的数据库都支持XA协议。而且现有的分布式事务处理方案并不支持同时进行数据库的更新及服务和客户端的更新。
综上所述,现有分布式事务提交方法具有下述缺陷:
1、不能按照顺序进行各个事务分支处理;
2、当组成分布式事务的事务分支很多时,分布式事务处理时效率很低,做不到及时结束事务及回滚;
3、组成分布式事务的各事务分支之间不能共享数据;
4、异构数据库必须都支持XA协议;
5、不支持同时进行数据库的更新及服务和客户端的更新。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是,针对上述缺陷,如何提供一种分布式事务处理效率高,能够及时结束事务及回滚的分布式事务提交方法和装置。
(二)技术方案
为解决上述技术问题,本发明提供了一种分布式事务提交方法,所述分布式事务提交方法包括:
步骤A:将分布式事务划分为多个子事务,根据业务需求和所述多个子事务之间的依存关系将所述多个子事务划分到多个阶段执行;
步骤B:分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,转入步骤C;如果所述多个子事务都执行成功,则转入步骤D;
步骤C:回滚所述执行失败的子事务所在阶段和之前阶段中的所有子事务;
步骤D:提交所述分布式事务需要的更新;
其中,步骤B中的所述分阶段执行多个子事务具体包括:前一阶段的所有子事务全部执行成功才开始执行后一阶段的子事务;
在步骤B之后,所述分布式事务提交方法进一步包括在数据库中保存每个子事务的动态信息的步骤,用于跟踪、调试该子事务的执行过程,并且在该子事务异常终止时,从数据库中加载该子事务的执行信息,继续执行。
优选地,在步骤B中,如果有多个子事务处于同一阶段,则并发执行所述多个子事务。
优选地,在步骤B中,所述分布式事务提交方法进一步包括将前一阶段子事务的执行结果提供给后一阶段执行的子事务的步骤。
优选地,在步骤B之后,所述分布式事务提交方法进一步包括在数据库中保存每个子事务的动态信息的步骤。
优选地,如果步骤D中所述分布式事务需要的更新提交失败,在步骤D之后,所述分布式事务提交方法进一步包括以一个预定次数重试提交所述分布式事务需要的更新。
优选地,所述更新包括但不限于:数据库、缓存和客户端的更新。
本发明还提供了一种分布式事务提交装置,所述分布式事务提交装置包括:分布式事务划分模块、与所述分布式事务划分模块相连接的分布式事务执行模块、分布式事务回滚模块和分布式事务提交模块;所述分布式事务执行模块分别与所述分布式事务回滚模块和所述分布式事务提交模块相连接;其中,
所述分布式事务划分模块,用于将分布式事务划分为多个子事务,根据业务需求和所述多个子事务之间的依存关系将所述多个子事务划分到多个阶段执行,并将每个子事务及其所在阶段信息发送到所述分布式事务执行模块、所述分布式事务回滚模块和所述分布式事务提交模块;
所述分布式事务执行模块,用于根据接收到的所述每个子事务及其所在阶段的信息分阶段执行所述多个子事务,所述分阶段执行所述多个子事务包括:前一阶段的所有子事务全部执行成功才开始执行后一阶段的子事务,每个子事务执行成功后,向所述分布式事务提交模块发送所述子事务执行成功的消息;如果在一个阶段中,所述多个子事务中的一个执行失败,则将所述子事务执行失败的消息发送到所述分布式事务回滚模块;所述分布式事务执行模块还用于在每个子事务执行完毕后,在数据库中保存每个子事务的动态信息,以跟踪、调试该子事务的执行过程,并且在该子事务异常终止时,从数据库中加载该子事务的执行信息,继续执行;
所述分布式事务回滚模块,用于根据接收到的子事务执行失败的消息将该子事务所在阶段和之前阶段中的所有子事务回滚;
所述分布式事务提交模块,用于接收到所有子事务执行成功的消息后,提交所述分布式事务需要的更新。
优选地,如果后一阶段中的子事务需要获得前一阶段中子事务的执行结果才能执行,则所述分布式事务执行模块进一步用于将前一阶段子事务的执行结果提供给后一阶段执行的子事务。
优选地,所述分布式事务执行模块进一步用于在每个子事务执行完毕后,在数据库中保存每个子事务的动态信息。
(三)有益效果
本发明提出了一种分布式事务提交方法和装置,通过将分布式事务划分为多个子事务并分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,则回滚其所在阶段和之前阶段中的所有子事务;如果所述多个子事务都执行成功,则提交所述分布式事务需要的更新,使得分布式事务处理效率高,能够及时结束事务及回滚,当组成分布式事务的事务分支很多时能按照顺序进行各个事务分支处理并在组成分布式事务的各事务分支之间共享数据,能够同时进行数据库的更新及服务和客户端的更新,并且不需要异构数据库都支持XA协议就能够提供跨数据库平台的分布式事务提交。
附图说明
图1是本发明实施例的分布式事务提交方法的流程图;
图2是本发明实施例的分布式事务提交装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施例的分布式事务提交方法的流程图;如图1所述,所述分布式事务提交方法包括:
步骤A:将分布式事务划分为多个子事务;
在本步骤中,可以根据业务需求将一个分布式事务划分为多个子事务,由于具体划分方法并不是本发明的重点,在此不再详述。
步骤B:分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,转入步骤C;如果所述多个子事务都执行成功,则转入步骤D;
在本步骤中,可以根据业务需求和所述多个子事务之间的依存关系将所述多个子事务划分到多个阶段执行,如果有多个子事务处于同一阶段,则可以并发执行所述多个子事务,以提高执行效率;前一阶段的所有子事务全部执行成功才能开始执行后一阶段的子事务;前一阶段子事务的执行结果可以为后一阶段执行的子事务提供需要的数据;
在本步骤中,本发明所述分布式事务提交方法还可以包括将前一阶段子事务的执行结果提供给后一阶段执行的子事务的步骤;
在本步骤中,每个子事务执行完毕,本发明所述分布式事务处理方法还可以包括在数据库中以日志的形式保存每个子事务的动态信息的步骤,可以跟踪、调试该子事务的执行过程,并且在该子事务异常终止时,能够从数据库中加载该子事务的执行信息,继续执行。其可在调试阶段加载,用于跟踪调试;在运行阶段关闭,提高事务执行的速度。
步骤C:回滚所述执行失败的子事务所在阶段和之前阶段中的所有子事务;
在本步骤中,如果多个处于同一阶段的子事务中的一个无法执行,则其所在阶段内的所有已执行的子事务和之前阶段内的所有已执行的子事务全部回滚,所述分布式事务提交失败。
步骤D:提交所述分布式事务需要的更新。
在本步骤中,所述更新包括但不限于数据库、缓存及客户端的更新。
如果步骤D中所述分布式事务需要的更新提交失败,本发明所述分布式事务提交方法还可以包括重复执行步骤D一个预定次数,例如3次,来增加所述分布式事务需要的更新的提交成功概率,如果所述分布式事务需要的更新仍然提交失败,则将此分布式事务以错误日志的形式记录在数据库中,以便进行排错。
图2是本发明实施例的分布式事务提交装置的结构示意图;参见图2,本发明中,所述分布式事务提交装置包括:分布式事务划分模块、与所述分布式事务划分模块相连接的分布式事务执行模块、分布式事务回滚模块和分布式事务提交模块;所述分布式事务执行模块分别与所述分布式事务回滚模块和所述分布式事务提交模块相连接。
所述分布式事务划分模块,用于将分布式事务划分为多个子事务,将所述多个子事务分成多个阶段,并将每个子事务及其所在阶段信息发送到所述分布式事务执行模块、所述分布式事务回滚模块和所述分布式事务提交模块;
所述分布式事务执行模块,用于根据接收到的所述每个子事务及其所在阶段的信息分阶段执行所述多个子事务,每个子事务执行成功后,向所述分布式事务提交模块发送所述子事务执行成功的消息;如果在一个阶段中,所述多个子事务中的一个执行失败,则将所述子事务执行失败的消息发送到所述分布式事务回滚模块;
如果同一阶段中有多个子事务,则所述分布式事务执行模块可以,进一步用于并发执行处于同一阶段的多个子事务,以提高执行效率;
如果后一阶段中的子事务需要获得前一阶段中子事务的执行结果才能执行,则所述分布式事务执行模块可以进一步,用于将前一阶段子事务的执行结果提供给后一阶段执行的子事务;
所述分布式事务执行模块可以进一步,用于在每个子事务执行完毕后,在数据库中以日志的形式保存每个子事务的动态信息。
所述分布式事务回滚模块,用于根据接收到的子事务执行失败的消息将该子事务所在阶段和之前阶段中的所有子事务回滚;
所述分布式事务提交模块,用于接收到的所有子事务执行成功的消息后,提交所述分布式事务需要的更新;
所述更新包括但不限于数据库、缓存及客户端的更新。
如果所述分布式事务需要的更新提交失败,所述分布式事务提交模块,进一步用于重复提交所述分布式事务需要的更新一个预定次数,例如3次来增加所述分布式事务需要的更新的提交成功概率,如果所述分布式事务需要的更新仍然提交失败,则将此分布式事务以错误日志的形式记录在数据库中,以便进行排错。
下面以分布式事务分成4个子事务和三个阶段为例,对应用本发明所示的分布式事务提交装置进行分布式事务提交的方法进行说明,所述方法包括:
步骤301:分布式事务划分模块将分布式事务分成子事务1~4,并且子事务1为第一阶段,子事务2~3为第二阶段,子事务4为第三阶段,并将所述子事务1~4及其各自所在的阶段信息发送到分布式事务执行模块、分布式事务回滚模块和分布式事务提交模块;
步骤302:所述分布式事务执行模块先执行第一阶段的子事务1,执行完毕后,在数据库中保存所述子事务1的动态信息;如果所述子事务1执行成功,则向所述分布式事务提交模块发送子事务1执行成功的消息,进入步骤304;如果所述子事务1执行失败,则向所述分布式事务回滚模块发送子事务1执行失败的消息,进入步骤303。
步骤303:所述分布式事务回滚模块根据接收到的子事务1执行失败的消息将该子事务1所在的第一阶段的子事务1回滚,所述分布式事务提交流程终止;
步骤304:所述分布式事务执行模块并发执行第二阶段的子事务2~3,执行完毕后,在数据库中保存所述子事务2~3的动态信息;如果所述子事务2~3都执行成功,则向所述分布式事务提交模块发送子事务2~3执行成功的消息,进入步骤306;如果所述子事务2或3执行失败,则向所述分布式事务回滚模块发送子事务2或3执行失败的消息,进入步骤305;
步骤305:所述分布式事务回滚模块根据接收到的子事务2或3执行失败的消息将该子事务2或3所在的第二阶段的子事务2~3以及第一阶段的子事务1回滚,所述分布式事务提交流程终止;
步骤306:所述分布式事务执行模块执行第三阶段的子事务4,执行完毕后,在数据库中保存所述子事务4的动态信息;如果所述子事务4执行成功,则向所述分布式事务提交模块发送子事务4执行成功的消息,进入步骤308;如果所述子事务4执行失败,则向所述分布式事务回滚模块发送子事务4执行失败的消息,进入步骤307;
步骤307:所述分布式事务回滚模块根据接收到的子事务4执行失败的消息将该子事务4所在的第三阶段的子事务4、第二阶段的子事务2~3以及第一阶段的子事务1回滚,所述分布式事务提交流程终止;
步骤308:所述分布式事务提交模块提交所述分布式事务需要的更新,所述分布式事务成功提交;
所述更新包括但不限于数据库、缓存及远端客户端的更新。
如果步骤308中所述分布式事务需要的更新提交失败,所述步骤308之后,所述分布式事务提交模块还可以重试3次提交所述分布式事务需要的更新,如果所述分布式事务需要的更新仍然提交失败,则将此分布式事务以错误日志的形式记录在数据库中,以便进行排错。
应用本发明的分布式事务提交方法和装置具有以下优势:
1、分布式事务处理效率高,能够及时结束事务及回滚;
2、当组成分布式事务的事务分支很多时能按照顺序进行各个事务分支处理并在组成分布式事务的各事务分支之间共享数据;
3、可以同时进行数据库的更新及服务和客户端的更新,并且不需要异构数据库都支持XA协议就能够提供跨数据库平台的分布式事务提交。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种分布式事务提交方法,其特征在于,所述分布式事务提交方法包括:
步骤A:将分布式事务划分为多个子事务,根据业务需求和所述多个子事务之间的依存关系将所述多个子事务划分到多个阶段执行;
步骤B:分阶段执行所述多个子事务,如果所述多个子事务中的一个执行失败,转入步骤C;如果所述多个子事务都执行成功,则转入步骤D;
步骤C:回滚所述执行失败的子事务所在阶段和之前阶段中的所有子事务;
步骤D:提交所述分布式事务需要的更新;
其中,步骤B中的所述分阶段执行多个子事务具体包括:前一阶段的所有子事务全部执行成功才开始执行后一阶段的子事务;
在步骤B之后,所述分布式事务提交方法进一步包括在数据库中保存每个子事务的动态信息的步骤,用于跟踪、调试子事务的执行过程,并且在子事务异常终止时,从数据库中加载该子事务的执行信息,继续执行。
2.根据权利要求1所述的分布式事务提交方法,其特征在于,在步骤B中,如果有多个子事务处于同一阶段,则并发执行所述多个子事务。
3.根据权利要求1所述的分布式事务提交方法,其特征在于,在步骤B中,所述分布式事务提交方法进一步包括将前一阶段子事务的执行结果提供给后一阶段执行的子事务的步骤。
4.根据权利要求1所述的分布式事务提交方法,其特征在于,如果步骤D中所述分布式事务需要的更新提交失败,在步骤D之后,所述分布式事务提交方法进一步包括以一个预定次数重试提交所述分布式事务需要的更新。
5.根据权利要求1-4中任一项所述的分布式事务提交方法,其特征在于,所述更新包括但不限于:数据库、缓存和客户端的更新。
6.一种分布式事务提交装置,其特征在于,所述分布式事务提交装置包括:分布式事务划分模块、与所述分布式事务划分模块相连接的分布式事务执行模块、分布式事务回滚模块和分布式事务提交模块;所述分布式事务执行模块分别与所述分布式事务回滚模块和所述分布式事务提交模块相连接;其中,
所述分布式事务划分模块,用于将分布式事务划分为多个子事务,根据业务需求和所述多个子事务之间的依存关系将所述多个子事务划分到多个阶段执行,并将每个子事务及其所在阶段信息发送到所述分布式事务执行模块、所述分布式事务回滚模块和所述分布式事务提交模块;
所述分布式事务执行模块,用于根据接收到的所述每个子事务及其所在阶段的信息分阶段执行所述多个子事务,所述分阶段执行所述多个子事务包括:前一阶段的所有子事务全部执行成功才开始执行后一阶段的子事务,每个子事务执行成功后,向所述分布式事务提交模块发送所述子事务执行成功的消息;如果在一个阶段中,所述多个子事务中的一个执行失败,则将所述子事务执行失败的消息发送到所述分布式事务回滚模块;所述分布式事务执行模块还用于在每个子事务执行完毕后,在数据库中保存每个子事务的动态信息,以跟踪、调试子事务的执行过程,并且在子事务异常终止时,从数据库中加载该子事务的执行信息,继续执行;
所述分布式事务回滚模块,用于根据接收到的子事务执行失败的消息将该子事务所在阶段和之前阶段中的所有子事务回滚;
所述分布式事务提交模块,用于接收到所有子事务执行成功的消息后,提交所述分布式事务需要的更新。
7.根据权利要求6所述的分布式事务提交装置,其特征在于,如果后一阶段中的子事务需要获得前一阶段中子事务的执行结果才能执行,则所述分布式事务执行模块进一步用于将前一阶段子事务的执行结果提供给后一阶段执行的子事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010604558 CN102073540B (zh) | 2010-12-15 | 2010-12-15 | 分布式事务提交方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010604558 CN102073540B (zh) | 2010-12-15 | 2010-12-15 | 分布式事务提交方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073540A CN102073540A (zh) | 2011-05-25 |
CN102073540B true CN102073540B (zh) | 2013-05-08 |
Family
ID=44032086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010604558 Active CN102073540B (zh) | 2010-12-15 | 2010-12-15 | 分布式事务提交方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073540B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340537B (zh) * | 2011-06-30 | 2014-01-29 | 北京新媒传信科技有限公司 | 一种分布式事务处理方法和装置 |
CN102521023B (zh) * | 2011-11-21 | 2015-03-11 | 华为软件技术有限公司 | 一种多系统的事务集成处理方法及系统 |
CN102546752B (zh) * | 2011-12-06 | 2014-03-05 | 华中科技大学 | 基于时间期限的分布式事务处理方法及其系统 |
CN102760154A (zh) * | 2012-05-23 | 2012-10-31 | 上海引跑信息科技有限公司 | 一种在文本信息检索服务中支持分布式事务管理的方法 |
CN103514028B (zh) * | 2012-06-14 | 2016-12-21 | 北京新媒传信科技有限公司 | 一种处理分布式事务的方法和装置 |
US8966324B2 (en) * | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
CN103677771B (zh) * | 2012-09-06 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 一种并发事务的处理方法和装置 |
CN103312549B (zh) * | 2013-06-26 | 2016-08-24 | 华为技术有限公司 | 一种事务管理方法及装置和系统 |
CN104424018B (zh) * | 2013-08-23 | 2018-02-16 | 阿里巴巴集团控股有限公司 | 分布式计算事务处理方法及装置 |
CN105637499B (zh) * | 2013-10-18 | 2019-02-26 | 纽约气闸有限公司 | 动态可扩展分布式异构平台关系型的数据库系统装置 |
CN103559245A (zh) * | 2013-10-29 | 2014-02-05 | 华为技术有限公司 | 一种分布式事务提交故障的处理方法、装置和系统 |
CN104317850B (zh) * | 2014-10-14 | 2017-11-14 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN104462370A (zh) * | 2014-12-09 | 2015-03-25 | 北京百度网讯科技有限公司 | 分布式任务调度系统及方法 |
CN104462497B (zh) * | 2014-12-19 | 2018-07-10 | 深圳中兴网信科技有限公司 | 基于关系型数据库的跨库事务处理方法和系统 |
CN105824842B (zh) * | 2015-01-07 | 2019-05-10 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及其系统 |
CN105988862B (zh) * | 2015-02-04 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及装置 |
CN106033437B (zh) * | 2015-03-13 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 一种分布式事务处理方法及系统 |
CN106156119A (zh) * | 2015-04-07 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种分布式事务通信方法、系统及装置 |
CN106325978B (zh) * | 2015-06-19 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 分布式事务的处理方法及装置 |
CN106557514A (zh) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | 一种分布式事务回滚方法及装置 |
CN105512244B (zh) * | 2015-11-30 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN107045454B (zh) * | 2016-02-06 | 2020-06-26 | 华为技术有限公司 | 跨进程分布式事务控制方法及相关系统 |
CN105786594A (zh) * | 2016-02-25 | 2016-07-20 | 北京小米移动软件有限公司 | 分布式事务处理方法、装置及系统 |
CN107203560B (zh) * | 2016-03-18 | 2020-07-07 | 中国移动通信集团宁夏有限公司 | 数据库、多数据库操作事务一致性保证方法及系统 |
CN106502769B (zh) * | 2016-09-30 | 2019-11-05 | 华为技术有限公司 | 分布式事务处理方法、装置及系统 |
CN108205464B (zh) * | 2016-12-20 | 2022-05-06 | 阿里云计算有限公司 | 一种数据库死锁的处理方法、装置和数据库系统 |
CN106874130A (zh) * | 2017-02-06 | 2017-06-20 | 西多多信息科技(北京)有限公司 | 一种微服务架构中分布式事务的处理方法 |
CN107770285A (zh) * | 2017-11-13 | 2018-03-06 | 阳光电源股份有限公司 | 一种分布式缓存更新方法和系统 |
CN108563531A (zh) * | 2018-04-18 | 2018-09-21 | 中国银行股份有限公司 | 数据处理方法及装置 |
CN108596768A (zh) * | 2018-05-09 | 2018-09-28 | 神州数码融信软件有限公司 | 一种分布式事务处理方法、装置及系统 |
CN109325073B (zh) * | 2018-08-14 | 2021-08-17 | 创新先进技术有限公司 | 分布式事务的实现方法和装置 |
CN109491768A (zh) * | 2018-11-21 | 2019-03-19 | 四川长虹电器股份有限公司 | 一种基于子事务流的分布式事务动态处理方法和系统 |
CN109725987A (zh) * | 2018-12-15 | 2019-05-07 | 深圳壹账通智能科技有限公司 | 一种分布式事务一致性解决方法及相关设备 |
CN111078451B (zh) * | 2019-08-05 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 分布式事务处理方法、装置、计算机设备及存储介质 |
CN110928532B (zh) * | 2019-11-20 | 2022-04-29 | 杭州安恒信息技术股份有限公司 | 一种高一致性微服务架构及其数据更新方法 |
CN110990182B (zh) * | 2019-12-03 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、设备及存储介质 |
US11544245B2 (en) | 2019-12-03 | 2023-01-03 | Tencent Technology (Shenzhen) Company Limited | Transaction processing method, apparatus, and device and computer storage medium |
CN111210350A (zh) * | 2020-01-03 | 2020-05-29 | 平安科技(深圳)有限公司 | 区块链的交易方法、装置、计算机设备及存储介质 |
CN114661816B (zh) * | 2020-12-24 | 2023-03-24 | 金篆信科有限责任公司 | 数据同步方法、装置、电子设备、存储介质 |
CN114327799B (zh) * | 2021-12-23 | 2022-08-05 | 杭州博盾习言科技有限公司 | 分布式事务处理方法及装置、电子设备、存储介质 |
CN117076145B (zh) * | 2023-08-22 | 2024-02-23 | 电子科技大学 | 一种基于细粒度读写锁的安全高效stm同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630124A (en) * | 1993-12-06 | 1997-05-13 | International Business Machines Corporation | System and method for assuring atomicity of distributed update requests in a parallel database |
CN1507597A (zh) * | 2001-05-15 | 2004-06-23 | �Ҵ���˾ | 用于管理分布式事务内跨越多个dbms的分布式保存点的方法 |
CN101739291A (zh) * | 2009-12-02 | 2010-06-16 | 北京航空航天大学 | 一种支持有条件部分回滚的硬件事务嵌套处理方法 |
CN101807272A (zh) * | 2010-03-24 | 2010-08-18 | 上海普元信息技术有限责任公司 | 工作流系统实现流程事务和业务事务完整性的系统结构及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567013B (zh) * | 2009-06-02 | 2011-09-28 | 阿里巴巴集团控股有限公司 | 一种etl调度的实现方法及装置 |
-
2010
- 2010-12-15 CN CN 201010604558 patent/CN102073540B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630124A (en) * | 1993-12-06 | 1997-05-13 | International Business Machines Corporation | System and method for assuring atomicity of distributed update requests in a parallel database |
CN1507597A (zh) * | 2001-05-15 | 2004-06-23 | �Ҵ���˾ | 用于管理分布式事务内跨越多个dbms的分布式保存点的方法 |
CN101739291A (zh) * | 2009-12-02 | 2010-06-16 | 北京航空航天大学 | 一种支持有条件部分回滚的硬件事务嵌套处理方法 |
CN101807272A (zh) * | 2010-03-24 | 2010-08-18 | 上海普元信息技术有限责任公司 | 工作流系统实现流程事务和业务事务完整性的系统结构及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102073540A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073540B (zh) | 分布式事务提交方法和装置 | |
CN103473318B (zh) | 一种面向内存数据网格的分布式事务保障方法 | |
US9348641B2 (en) | System and method for performing a transaction in a massively parallel processing database | |
CN103116596B (zh) | 在分布式数据库中执行快照隔离的系统和方法 | |
US9830372B2 (en) | Scalable coordination aware static partitioning for database replication | |
US8738568B2 (en) | User-defined parallelization in transactional replication of in-memory database | |
US10133596B2 (en) | System and method for supporting application interoperation in a transactional middleware environment | |
US7801846B2 (en) | Generating log sequence identifiers to apply a transaction to a storage system | |
US8639677B2 (en) | Database replication techniques for maintaining original linear request order for asynchronous transactional events | |
WO2016180164A1 (zh) | 一种分布式事务回滚方法及装置 | |
US20130110873A1 (en) | Method and system for data storage and management | |
CN113396407A (zh) | 用于利用区块链技术扩充数据库应用的系统和方法 | |
CN105608086A (zh) | 分布式数据库系统的事务处理方法及装置 | |
KR101296778B1 (ko) | NoSQL 데이터베이스를 위한 결과적 트랜잭션 처리 방법 | |
US20220229822A1 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
CN108255994A (zh) | 一种基于数据库快照的数据库版本管理方法 | |
US7069270B1 (en) | Automated method and mechanism for converting a single instance application to a multiple instance application | |
CN106354732A (zh) | 一种支持并发协同的离线数据版本冲突解决方法 | |
US7752225B2 (en) | Replication and mapping mechanism for recreating memory durations | |
US7406486B1 (en) | Transforming transactions to increase parallelism when replicating | |
KR20120118550A (ko) | 대용량 데이터 고속처리용 분산 메인 메모리 데이터베이스 관리 시스템 구조 | |
US8630976B2 (en) | Fast search replication synchronization processes | |
CN110019113B (zh) | 一种数据库的业务处理方法及数据库服务器 | |
US20210185123A1 (en) | Distributed information storage system, methods and programs | |
Rangaswamy et al. | Implementation of web-ETL transformation with pre-configured multi-source system connection and transformation mapping statistics report |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building A block 5 layer Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |