CN109408201B - 基于分布式数据库的事务管理方法 - Google Patents
基于分布式数据库的事务管理方法 Download PDFInfo
- Publication number
- CN109408201B CN109408201B CN201710711443.5A CN201710711443A CN109408201B CN 109408201 B CN109408201 B CN 109408201B CN 201710711443 A CN201710711443 A CN 201710711443A CN 109408201 B CN109408201 B CN 109408201B
- Authority
- CN
- China
- Prior art keywords
- transaction
- database
- coordinator
- global transaction
- user
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Abstract
本发明涉及一种基于分布式数据库的事务管理方法,包括:协调者判断第一用户与协调者之间的第一全局事务的隔离级别是否为不可重复读;若是,则继续执行以下步骤;协调者与多个数据库建立通信连接,以对多个数据库进行分布式管理;若第一全局事务对第一数据库发生写操作,则协调者开启与第一数据库之间的第一本地事务;以及,在提交或回滚第一全局事务时,协调者关闭第一本地事务。该方法在保证分布式事务处理一致性的前提下,能够根据全局事务的实际需求来相应地开启本地事务,从而可以更有效地利用有限的管理资源。此外,还有利于减少通信会话时长,从而进一步促进提高管理资源的利用率,提高了系统效率。
Description
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种基于分布式数据库的事务管理方法。
背景技术
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,因此是一个不可分割的工作单位。分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所涉及的所有动作,使得提交或回滚事务的决定对它们必须产生统一的结果(全部提交或全部回滚)。
目前,大部分主流单机数据库都能很好的保证事务的特性,但是,在分布式数据库中实现分布式事务却面临着很多难题,其中一个难题就是如何有效地回滚分布式事务。分布式事务有别于单机事务最大的不同是,其要在多个数据库节点同时进行提交,如果都能够成功,那么不需要进行其他后续操作;而一旦某个数据库节点因某种异常造成提交失败,那么其他数据库节点也要保证提交给它们的事务能停止执行或者及时回滚。由于数据库节点发生错误的随机性以及异常的类型众多,如何能有效的回滚分布式事务成为保证事务处理一致性的一个关键问题。
目前,业界使用的最多的就是由X/Open组织定义的X/Open DTP(DistributedTransaction Processing,分布事务处理)模型。该模型中有三个角色:AP(Application,应用程序),也就是业务层。哪些操作属于一个事务,就是AP定义的。RM(Resource Manager,资源管理器),一般是数据库,也可以是其他的资源管理器,如消息队列,例如JMS(JavaMessage Service,Java消息服务)数据源、文件系统等。TM(Transaction Manager,事务管理器),接收AP的事务请求,对全局事务进行管理,管理事务分支状态,协调RM的处理,通知RM哪些操作属于哪些全局事务以及事务分支等,其是整个事务调度模型的核心部分。
XA协议是X/Open DTP组织定义的两阶段提交协议,采用两阶段提交方式来管理分布式事务。在第一阶段,TM请求所有RM准备提交(即预提交)各自的事务分支,以确认是否所有相关RM都可以提交各自的事务分支。当局部RM收到预提交后,如果可以提交属于自己的事务分支,则将自己在该事务分支中所做的操作固定记录下来,并给TM一个同意提交的应答,此时RM将不能再在该事务分支中加入任何操作,但此时RM并没有真正提交该事务,RM对共享资源的操作还未释放(即处于锁定状态)。如果由于某种原因RM无法提交属于自己的事务分支,它将回滚自己的所有操作,释放对共享资源的锁定,并返回给TM失败应答。在第二阶段,TM审查所有RM返回的预提交结果,如所有RM都可以提交,TM将要求所有RM做正式提交,这样该全局事务被提交。而如果有任一RM预提交返回失败,TM将要求所有其它RM回滚其操作,这样该全局事务被回滚。
采用两阶段提交方式这种模式有几个明显的缺点,首先,即使分成两个阶段来提交,但是仍然无法避免第二阶段时数据库节点发生异常,从而还是可能会导致事务不一致;其次,由于对每次事务都采用两阶段提交,因此系统在提交事务时对每个相关的数据库节点要多产生一次交互过程,这使得系统执行效率下降。
本领域技术人员期望获得一种在确保事务处理一致性的同时,又使得系统执行效率不会降低的事务管理方法。
发明内容
本发明的目的在于提供一种可靠性好、不影响系统执行效率的基于分布式数据库的事务管理方法。
为上述目的,本发明提供一种技术方案如下:
一种基于分布式数据库的事务管理方法,用于管理多个用户与多个数据库之间的通信会话,通信会话包括用户与协调者之间的至少一个全局事务以及协调者与数据库之间的至少一个本地事务,该方法包括如下步骤:a)、协调者判断第一用户与协调者之间的第一全局事务的隔离级别是否为不可重复读,其中,第一用户为多个用户中的任一个;若是,则继续执行以下步骤;b)、协调者与多个数据库建立通信连接,以对多个数据库进行分布式管理;c)、若第一全局事务对第一数据库发生写操作,则协调者开启与第一数据库之间的第一本地事务,其中,第一数据库为多个数据库中的任一个;以及d)、在提交或回滚第一全局事务时,协调者关闭第一本地事务。
优选地,步骤c)还包括:若第一全局事务未对第二数据库发生写操作,则协调者不开启与第二数据库之间的第二本地事务;其中,第二数据库为多个数据库中不同于第一数据库的另一个数据库。
优选地,步骤c)进一步包括:若第二全局事务未对任一数据库发生写操作,则在应答第二用户之后,协调者释放第二全局事务所占用的资源;其中,第二全局事务在第二用户与协调者之间进行,第二用户不同于第一用户。
本发明还提供一种基于分布式数据库的事务管理系统,用于管理多个用户与多个数据库之间的通信会话,通信会话包括用户与系统之间的至少一个全局事务以及系统与数据库之间的至少一个本地事务,系统包括:全局事务管理单元,用于判断第一用户与系统之间的第一全局事务的隔离级别是否为不可重复读,其中,第一用户为多个用户中的任一个;通信连接管理单元,用于与多个数据库建立通信连接,以对多个数据库进行分布式管理;以及本地事务管理单元,用于在第一全局事务对第一数据库发生写操作时,开启与第一数据库之间的第一本地事务,以及,在提交或回滚第一全局事务时,关闭第一本地事务。
优选地,全局事务管理单元与本地事务管理单元进行协作以进行如下动作:若全局事务管理单元判断第一全局事务未对第二数据库发生写操作,则本地事务管理单元不开启与第二数据库之间的第二本地事务;其中,第二数据库为多个数据库中不同于第一数据库的另一个数据库。
优选地,全局事务管理单元还进行如下动作:若全局事务管理单元判断第二全局事务未对任一数据库发生写操作,则在应答第二用户之后,全局事务管理单元释放第二全局事务所占用的资源;其中,第二全局事务在第二用户与系统之间进行,第二用户不同于第一用户。
本发明各实施例公开的事务管理方法及系统,在保证分布式事务处理一致性的前提下,能够根据全局事务的实际需求来相应地开启本地事务,从而可以更有效地利用有限的管理资源。此外,还有利于减少通信会话时长,从而进一步促进提高管理资源的利用率,提高了系统效率。
附图说明
图1示出本发明第一实施例公开的基于分布式数据库的事务管理方法的流程示意图。
图2示出本发明第二实施例公开的基于分布式数据库的事务管理系统的模块结构示意图。
具体实施方式
在以下描述中提出具体细节,以便提供对本发明的透彻理解。然而,本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本发明的实施例。在本发明中,可进行具体的数字引用,例如“第一元件”、“第二装置”等。但是,具体数字引用不应当被理解为必须服从于其字面顺序,而是应被理解为“第一元件”与“第二元件”不同。
本发明所提出的具体细节只是示范性的,具体细节可以变化,但仍然落入本发明的精神和范围之内。术语“耦合”定义为表示直接连接到组件或者经由另一个组件而间接连接到组件。
以下通过参照附图来描述适于实现本发明的方法、系统和装置的优选实施例。虽然各实施例是针对元件的单个组合来描述,但是应理解,本发明包括所公开元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,而第二实施例包括元件B和D,则本发明也应被认为包括A、B、C或D的其他剩余组合,即使没有明确公开。
需要说明的是,在本发明中,用户经由协调者而与数据库进行数据通信。用户并不能直接与数据库通信,而是两者之间的通信必须经由协调者的管理与调度。
作为并发控制的单位,事务是用户定义的一个操作序列,其可以具体体现为通信会话中一段连续的数据或通信
如图1所示,本发明第一实施例提供一种基于分布式数据库的事务管理方法,用于管理多个用户与多个数据库之间的通信会话,其中通信会话包括在用户与协调者之间进行的至少一个全局事务、以及在协调者与数据库之间进行的至少一个本地事务。该事务管理方法具体包括如下各步骤。
步骤S10、协调者判断第一全局事务的隔离级别是否为“不可重复读”。
其中,第一用户指代多个用户中的任一个。第一全局事务是在第一用户与协调者之间进行。这里,第一全局事务的隔离级别由第一用户来初始设置;或者,在第一全局事务被创建时,其即具有缺省的隔离级别,而随后可以由用户来更改设置。
若该步骤的判断结果为“是”,事务管理方法将进行到下一步骤S11;否则,则表示无需执行本发明提供的事务管理策略。
本领域技术人员可以理解,协调者可以基于适用于管理分布式数据库的任何网络代理或动态库来实现。作为示例,在本发明中,协调者可以基于UPSQL Proxy来实现。UPSQLProxy是一个位于应用和UPSQL数据库之间的轻量级的对应用透明的数据库代理软件。其可用于解决数据库高可用、读写分离以及数据水平与垂直拆分等问题。作为一种较为成熟的分布式关系数据库中间件,UPSQL Proxy由中国银联开发,可供本领域技术人员使用。
步骤S11、协调者与多个数据库建立通信连接。
在步骤S10的判断结果为“是”的情况下,协调者选择与多个数据库建立通信连接。
作为一种具体实施方式,协调者可以在初始时即分别建立与多个数据库之间的物理连接通路,随后,在需要进行通信交互时,再使用这些物理连接通路建立真正的通信连接。
在协调者与某一数据库之间已经建立有通信连接的情况下,协调者将优先复用这一通信连接而无需重新建立,这种方式将能够更有效地利用有限的通信资源。
优选情况下,第一全局事务会告知协调者,第一用户希望与哪个或哪些数据库进行通信;协调者进而仅仅与第一用户所期望的那些数据库建立通信连接。
步骤S12、协调者判断第一全局事务是否对第一数据库发生写操作。
其中,第一数据库指代多个数据库中的任一个。即,该步骤表示的是,只要第一全局事务会对多个数据库中的任何一个发生写操作,协调者就将在后续步骤中开启相应的本地事务。反之,若第一全局事务不需要对任何一个数据库发生写操作,协调者就无需开启任何本地事务。
步骤S13、协调者开启与第一数据库之间的第一本地事务。
该步骤承接步骤S12来进行。开启第一本地事务之后,协调者与第一数据之间的多个数据库操作将能够保持结果的一致性。换言之,该第一本地事务涉及的所有动作将保持同时提交或同时回滚。
步骤S14、在提交或回滚第一全局事务时,协调者关闭第一本地事务。
具体地,在该步骤中,在第一全局事务结束其生命周期时,与其对应的第一本地事务也将关闭,并可进一步释放资源。
作为对上述第一实施例的进一步改进,在执行步骤S12时,相并行地还执行以下步骤:若第一全局事务未对第二数据库发生写操作,则协调者不开启与第二数据库之间的第二本地事务。
其中,第二数据库为多个数据库中不同于第一数据库的另一个数据库。
通过上述改进,本领域技术人员可以理解,第一全局事务对任一数据库进行的写操作与协调者开启与该数据库之间的本地事务能够按照一一对应关系,这是本发明的一个优选实施例。
作为又一种具体改进,与步骤S12相并行地,还执行以下资源释放步骤:若第二全局事务未对任一数据库发生写操作,则在应答第二用户之后,协调者释放第二全局事务所占用的资源。其中,第二全局事务在第二用户与协调者之间进行,第二用户不同于第一用户。
可以理解,资源释放步骤不一定必须与步骤S12并行执行,而是,其可以根据用户与协调者之间的通信而按需地、或实时地执行,即,可以在时间上晚于步骤S12。
通过资源释放步骤,能够将释放出的资源分配用于其他全局事务、本地事务,进而提高通信资源的利用率。
作为示例,以下给出上述实施例应用的一种具体场景。
使用UPSQL Proxy作为分布式事务的协调者(事务管理器),db1和db2是对应的2个数据库。用户连接UPSQLProxy执行如下语句(为方便说明,使用非标准的SQL语句)。
1.Begin
2.select db1,db2
3.update db1
4.select db1
5.Commit
UPSQLProxy使用上述第一实施例提供的方法,自主地选择是否开启与全局事务相对应的本地事务,在执行上述操作之前,用户已经设置事务隔离级别为不可重复读,其过程如下:
1.当用户发送语句1时,用户告知UPSQL Proxy期望开启全局事务。
2.当用户发送语句2时,用户期望查询db1和db2这两个数据库。
a)此时由于全局事务内没有到db1和db2的访问连接,于是UPSQL Proxy为本全局事务获取(创建新连接或从连接池中获取空闲连接)到db1和db2的连接,从而获得通信连接Connection-1和Connection-2。
b)由于Connection-1和Connection-2不需要执行数据写入操作,所以不需要开启本地事务,而直接执行数据查询操作即可。
c)UPSQL Proxy将查询结果集合并后返回给用户。
d)由于Connection-1和Connection-2未开启本地事务,所以在完成查询后,通信连接所占用的资源被释放(断开连接或将连接放回连接池中,供其他全局事务使用)。
3.当用户执行语句3时,用户期望更新db1这个数据库。
a)此时由于全局事务内没有到db1的访问连接,于是UPSQL Proxy为本全局事务获取(创建新连接或从连接池中获取空闲连接)到db1的连接,从而获得通信连接Connection-3。
b)由于Connection-3需要执行数据写入操作,所以需要开启本地事务,所以Connection-3执行”xa start xaid-1”以开启本地事务。
c)然后Connection-3需要更新数据库db1,所以需要执行语句“update db1”。
d)由于Connection-3开启了本地事务,所以现在不能释放该通信连接。
4.当用户执行语句4时,用户期望查询db1这个数据库。
a)此时,由于全局事务内已有开启了本地事务来访问db1的对应通信连接Connection-3,所以使用该连接进行查询。
b)UPSQL Proxy将查询结果返回给用户。
5.当用户执行语句5时,用户期望提交本地事务。
a)由于开启了本地事务的通信连接仅有Connection-3,所以此时执行”xa commitxaid-1one phase”以提交本地事务
b)UPSQL Proxy需要将本全局事务所关联的本地事务提交,并将结果合并后返回给用户。
c)此后,Connection-3被释放,连接可以断开,或供其他全局事务使用。
如图2所示,本发明第二实施例提供一种基于分布式数据库的事务管理系统21,其用于管理多个用户与多个数据库之间的通信会话,其中,通信会话包括用户与系统之间的至少一个全局事务以及系统与数据库之间的至少一个本地事务。
具体地,该系统21包括全局事务管理单元210、通信连接管理单元211以及本地事务管理单元212。全局事务管理单元210与多个用户分别耦合。通信连接管理单元211、本地事务管理单元212分别与全局事务管理单元210相耦合。事务管理系统21还与多个分布式数据库分别耦合,以实现与该多个数据库之间的数据通信。
全局事务管理单元210用于判断第一用户201与系统之间的第一全局事务的隔离级别是否为不可重复读。其中,多个用户包括第一用户201、第二用户202等等,第一用户201可以指代多个用户中的任一个。
通信连接管理单元211负责建立与多个数据库之间的通信连接,以对多个数据库进行分布式管理。多个数据库例示为第一数据库221、第二数据库222直至第N数据库。
本地事务管理单元212用于在第一全局事务对第一数据库221发生写操作时,开启与第一数据库221之间的第一本地事务;以及,在提交或回滚第一全局事务时,本地事务管理单元212将关闭第一本地事务。
作为进一步改进,全局事务管理单元210与本地事务管理单元212进行协作以进行如下动作:若全局事务管理单元210判断第一全局事务未对第二数据库222发生写操作,则本地事务管理单元212不开启与第二数据库222之间的第二本地事务。
作为另一种改进,全局事务管理单元210还进行如下动作:若全局事务管理单元210判断第二全局事务未对任一数据库发生写操作,则在应答第二用户之后,全局事务管理单元210释放第二全局事务所占用的资源。其中,第二全局事务是在第二用户202与系统21之间进行,第二用户不同于第一用户。
在本发明的一些实施例中,系统可以基于分布式技术来实现,事务管理系统21的各单元之间可以通过网络来实现耦合及通信,使得技术人员能够方便地部署、扩展该系统。
在本发明的一些实施例中,系统的至少一部分可采用通信网络所连接的一组分布式计算装置来实现,或,基于“云”来实现。在这种系统中,多个计算装置共同操作,以通过使用其共享资源来提供服务。
基于“云”的实现可提供一个或多个优点,包括:开放性、灵活性和可扩展性、可中心管理、可靠性、可缩放性、对计算资源所优化、具有聚合和分析跨多个用户的信息的能力、跨多个地理区域进行连接、以及将多个移动或数据网络运营商用于网络连通性的能力。
此外,本领域技术人员可以理解,上述第一实施例提供的事务管理方法可以经由计算机可执行指令来实现。计算机可执行指令能够存储于计算机存储介质上,计算机可执行指令在由处理器执行时,能够具体地执行或实现上述第一实施例提供的事务管理方法及其各种改进实现方式。因此,这种计算机存储介质也涵盖于本发明的范围内。
上述说明仅针对于本发明的优选实施例,并不在于限制本发明的保护范围。本领域技术人员可能作出各种变形设计,而不脱离本发明的思想及附随的权利要求。
Claims (10)
1.一种基于分布式数据库的事务管理方法,用于管理多个用户与多个数据库之间的通信会话,所述通信会话包括所述用户与协调者之间的至少一个全局事务以及所述协调者与所述数据库之间的至少一个本地事务,所述方法包括如下步骤:
a)、所述协调者判断第一用户与所述协调者之间的第一全局事务的隔离级别是否为不可重复读,其中,所述第一用户为所述多个用户中的任一个;若是,则继续执行以下步骤;
b)、所述协调者与所述多个数据库建立通信连接,以对所述多个数据库进行分布式管理;
c)、若所述第一全局事务对第一数据库发生写操作,则所述协调者开启与所述第一数据库之间的第一本地事务,其中,所述第一数据库为所述多个数据库中的任一个;以及
d)、在提交或回滚所述第一全局事务时,所述协调者关闭所述第一本地事务。
2.根据权利要求1所述的方法,其特征在于,所述步骤c)还包括:
若所述第一全局事务未对第二数据库发生写操作,则所述协调者不开启与所述第二数据库之间的第二本地事务;其中,所述第二数据库为所述多个数据库中不同于所述第一数据库的另一个数据库。
3.根据权利要求2所述的方法,其特征在于,所述步骤c)进一步包括:
若第二全局事务未对任一所述数据库发生写操作,则在应答第二用户之后,所述协调者释放所述第二全局事务所占用的资源;其中,所述第二全局事务在所述第二用户与所述协调者之间进行,所述第二用户不同于所述第一用户。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述全局事务的隔离级别由用户来设置。
5.一种基于分布式数据库的事务管理系统,用于管理多个用户与多个数据库之间的通信会话,所述通信会话包括所述用户与所述系统之间的至少一个全局事务以及所述系统与所述数据库之间的至少一个本地事务,所述系统包括:
全局事务管理单元,用于判断第一用户与所述系统之间的第一全局事务的隔离级别是否为不可重复读,其中,所述第一用户为所述多个用户中的任一个;
通信连接管理单元,用于与所述多个数据库建立通信连接,以对所述多个数据库进行分布式管理;以及
本地事务管理单元,用于在所述第一全局事务对第一数据库发生写操作时,开启与所述第一数据库之间的第一本地事务,以及,在提交或回滚所述第一全局事务时,关闭所述第一本地事务。
6.根据权利要求5所述的系统,其特征在于,所述全局事务管理单元与所述本地事务管理单元进行协作以进行如下动作:
若所述全局事务管理单元判断所述第一全局事务未对第二数据库发生写操作,则所述本地事务管理单元不开启与所述第二数据库之间的第二本地事务;其中,所述第二数据库为所述多个数据库中不同于所述第一数据库的另一个数据库。
7.根据权利要求6所述的系统,其特征在于,所述全局事务管理单元还进行如下动作:
若所述全局事务管理单元判断第二全局事务未对任一所述数据库发生写操作,则在应答第二用户之后,所述全局事务管理单元释放所述第二全局事务所占用的资源;其中,所述第二全局事务在所述第二用户与所述系统之间进行,所述第二用户不同于所述第一用户。
8.一种计算机存储介质,其上存储有计算机可执行指令,其中所述计算机可执行指令在由处理器执行时,执行如权利要求1所述的方法。
9.根据权利要求8所述的计算机存储介质,其特征在于,所述计算机可执行指令在第一全局事务未对第二数据库发生写操作时,指示协调者不开启与所述第二数据库之间的第二本地事务。
10.根据权利要求9所述的计算机存储介质,其特征在于,所述计算机可执行指令在第二全局事务未对任一数据库发生写操作时,指示所述协调者在应答第二用户之后释放所述第二全局事务所占用的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710711443.5A CN109408201B (zh) | 2017-08-18 | 2017-08-18 | 基于分布式数据库的事务管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710711443.5A CN109408201B (zh) | 2017-08-18 | 2017-08-18 | 基于分布式数据库的事务管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408201A CN109408201A (zh) | 2019-03-01 |
CN109408201B true CN109408201B (zh) | 2022-07-12 |
Family
ID=65463013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710711443.5A Active CN109408201B (zh) | 2017-08-18 | 2017-08-18 | 基于分布式数据库的事务管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408201B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532069B (zh) * | 2019-08-22 | 2021-06-29 | 北京宝兰德软件股份有限公司 | 一种分布式事务提交方法及装置 |
CN112181377B (zh) * | 2020-10-12 | 2023-10-17 | 汇智点亮科技(北京)有限公司 | 服务调用的事务管理器协同框架、设计方法及云平台 |
CN114138888B (zh) * | 2021-12-03 | 2022-07-05 | 北京宇信科技集团股份有限公司 | 一种分布式数据路由的处理方法、系统、介质和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN103814362A (zh) * | 2011-09-30 | 2014-05-21 | 国际商业机器公司 | 事务处理系统、方法和程序 |
CN106033562A (zh) * | 2015-03-16 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 事务处理方法、事务参与节点及事务协调节点 |
CN106503132A (zh) * | 2016-10-19 | 2017-03-15 | 广州快塑电子商务有限公司 | 一种分布式事务管理方法及系统 |
CN106598992A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 数据库的操作方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7196864B1 (en) * | 2005-06-15 | 2007-03-27 | Western Digital Technologies, Inc. | Disk drive having a servo control system optimized for faster determination of repeatable runout correction values and related method |
US8935205B2 (en) * | 2011-11-16 | 2015-01-13 | Sap Ag | System and method of performing snapshot isolation in distributed databases |
CN104793988B (zh) * | 2014-01-20 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 跨数据库分布式事务的实现方法和装置 |
CN104679881B (zh) * | 2015-03-13 | 2019-03-08 | 华为技术有限公司 | 一种并发控制方法及装置 |
US10572510B2 (en) * | 2015-12-21 | 2020-02-25 | Sap Se | Distributed database transaction protocol |
CN106547610A (zh) * | 2016-10-11 | 2017-03-29 | 北京国电通网络技术有限公司 | 一种分布式事务提交的方法及系统 |
-
2017
- 2017-08-18 CN CN201710711443.5A patent/CN109408201B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103814362A (zh) * | 2011-09-30 | 2014-05-21 | 国际商业机器公司 | 事务处理系统、方法和程序 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN106033562A (zh) * | 2015-03-16 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 事务处理方法、事务参与节点及事务协调节点 |
CN106598992A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 数据库的操作方法及装置 |
CN106503132A (zh) * | 2016-10-19 | 2017-03-15 | 广州快塑电子商务有限公司 | 一种分布式事务管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109408201A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459919B (zh) | 一种分布式事务处理方法及装置 | |
US10250693B2 (en) | Idempotence for database transactions | |
US7415522B2 (en) | Extensible framework for transferring session state | |
US9348641B2 (en) | System and method for performing a transaction in a massively parallel processing database | |
US6275843B1 (en) | Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance | |
US8924346B2 (en) | Idempotence for database transactions | |
US7640249B2 (en) | System and method for transactional session management | |
US20200319982A1 (en) | Notification mechanism for disaster recovery events | |
CN103995868B (zh) | 面向分布式系统的全局事务管理器及事务处理方法 | |
US7502824B2 (en) | Database shutdown with session migration | |
CN109408201B (zh) | 基于分布式数据库的事务管理方法 | |
CN109542611A (zh) | 数据库即服务系统、数据库调度方法、设备及存储介质 | |
WO2017063520A1 (zh) | 数据库的操作方法及装置 | |
JP2014522513A (ja) | マルチサーバ予約システムにおける同期化メカニズムのための方法及びシステム | |
CN109002462B (zh) | 一种实现分布式事务的方法及系统 | |
WO2012083697A1 (zh) | 一种事务恢复方法和事务恢复装置 | |
CN108494582A (zh) | 一种低耦合自动化运维系统及方法 | |
CN110427427B (zh) | 一种通过引脚桥接实现全局事务分布式处理方法 | |
US7752225B2 (en) | Replication and mapping mechanism for recreating memory durations | |
JP2007511807A (ja) | サーバ間の透過的なセッション移送 | |
CN115150811A (zh) | 多租户运维管理方法、装置及系统 | |
CN112395102A (zh) | 一种分布式数据库中间件解决方法 | |
CN110716976A (zh) | 基于两种交互场景的分布式数据访问及存储系统 | |
Böttcher et al. | Reducing sub-transaction aborts and blocking time within atomic commit protocols | |
US11943316B1 (en) | Database connection multiplexing for prepared statements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |