CN110427427A - 一种通过引脚桥接实现全局事务分布式处理方法 - Google Patents

一种通过引脚桥接实现全局事务分布式处理方法 Download PDF

Info

Publication number
CN110427427A
CN110427427A CN201910712060.9A CN201910712060A CN110427427A CN 110427427 A CN110427427 A CN 110427427A CN 201910712060 A CN201910712060 A CN 201910712060A CN 110427427 A CN110427427 A CN 110427427A
Authority
CN
China
Prior art keywords
client
sentence
coordinator
distributed
affairs
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.)
Granted
Application number
CN201910712060.9A
Other languages
English (en)
Other versions
CN110427427B (zh
Inventor
骆彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Fast Cube Technology Co Ltd
Original Assignee
Beijing Fast Cube Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Fast Cube Technology Co Ltd filed Critical Beijing Fast Cube Technology Co Ltd
Priority to CN201910712060.9A priority Critical patent/CN110427427B/zh
Publication of CN110427427A publication Critical patent/CN110427427A/zh
Application granted granted Critical
Publication of CN110427427B publication Critical patent/CN110427427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种通过引脚桥接实现全局事务分布式处理方法,包括下列步骤:S1:客户端通过客户端驱动器生成一个全局唯一的事务引脚,然后将带上此引脚信息的语句发给协调器做分布式语句解析;S2:协调器对语句进行解析,制定分布式执行计划;S3:客户端驱动器获得分布式执行计划。并行访问数据库节点要求执行事务语句;S4:节点数据库按照本地事务的处理过程进行数据库操作处理;S5:客户端向协调器发起提交请求;S6:协调器根据附带的引脚信息进行检索;S7:协调器处理客户端和数据库节点间的提交过程;S8:协调器根据引脚信息返回结果给客户端驱动器,进一步反馈给客户端应用程序,全局事务过程结束。

Description

一种通过引脚桥接实现全局事务分布式处理方法
技术领域
本发明涉及一种分布式数据库系统的事务一致性实现方法,尤其是涉及一种通过引脚桥接实现全局事务分布式处理方法。
背景技术
关系型的数据库系统必须支持事务的ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。对一个分布式的数据库而言,系统是由多个数据库节点组成,一个事务可能需要在多个节点上执行,这种事务被称为全局事务;在节点本地执行的事务叫本地事务。全局性事务的原子性和一致性要求事务涉及到数据库节点要么全部执行成功,要么全部不执行。但是,一个节点在执行本地事务的时候无法知道其他节点的本地事务执行结果,因此也就不知道本次全局事务究竟是否全部成功还是需要回滚。
为了解决这一问题,X/Open组织定义分布式事务处理模型,引入了事务管理器(TX),定义了事务管理器和数据库之间的接口规范,用来保证分布式事务的开始、结束以及提交、回滚等。XA接口函数由数据库厂商自己实现和提供。
X/A规范虽然解决了全局事务的一致性问题,但是传统的实现方法存在两个问题:
1)事务的访问需要经过事务管理器(TX)来进行,那么在高并发、大数据量的情况下事务管理器(TX)容易成为整个分布式数据库系统的瓶颈所在;
2)数据库访问多了一层事务管理器处理,延时更高,性能更低,整体效率变低了。
发明内容
本发明提供了一种通过引脚桥接实现全局事务分布式处理方法,用于解决上述提到的高并发及大数据量情况下事务管理器(TX)瓶颈问题以及数据库访问效率低的问题,通过优化的X/A规范实现方法,可以降低事务管理器(TX)的访问压力,同时提高分布式数据库的访问效率。其技术方案如下所述:
一种通过引脚桥接实现全局事务分布式处理方法,包括下列步骤:
S1:执行一个分布式全局事务语句时,客户端通过客户端驱动器生成一个全局唯一的事务引脚,然后将语句发给协调器做分布式语句解析,同时会带上此引脚信息;
S2:协调器对语句进行解析,如果语句解析正确,协调器根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划;
S3:客户端驱动器获得分布式执行计划后,知道了语句需要在哪些数据库节点执行,并行访问这些数据库节点要求执行事务语句,同时会附带上本次事务的引脚信息;
S4:节点数据库收到客户端驱动器的数据库访问请求后,把本次请求当作一个本地事务,按照本地事务的处理过程进行数据库操作处理,同时会记录下引脚信息,使得全局事务变成在多个数据库节点上独立执行的本地事务,但记录有相同的引脚信息;
S5:在节点数据库上执行完毕,如果有任何一个节点执行报错,客户端收到报错信息后在每个节点都进行事务回滚,本次事务失败,事务结束;如果没有执行报错,客户端通过客户端驱动器获得本次全局事务在数据库节点上都正确执行的消息后,整个分布式事务进入下一个步骤,即事务提交步骤,在这个阶段的开始,客户端向协调器发起提交请求;
S6:协调器收到客户端驱动器的全局事务提交请求,根据附带的引脚信息检索全局事务的分布式执行计划信息,知道本次全局事务有哪些数据库节点参加以及所作的工作;
S7:协调器构建一个保持事务管理器和事务相关数据库节点之间一致性的全局唯一事务ID,然后按照X/A规范定义的两阶段提交或三阶段提交标准处理和数据库节点间的提交过程;
S8:协调器和数据库节点之间的提交完成后,协调器根据引脚信息返回结果给客户端驱动器,客户端驱动器进一步反馈给客户端应用程序,全局事务过程结束。
进一步的,步骤S1中,如果一个事务包含多条语句,需要在多个不同分布式数据库节点上执行,这些语句都使用相同的引脚信息。
进一步的,步骤S2中,协调器对语句进行解析,看是否是一个符合SQL语句规范分布式数据库语句,如果不是则返回错误信息给客户端驱动器,客户端捕捉并处理错误信息,全局事务中止。
进一步的,步骤S2中,当事务包含多条语句时,协调器对每条语句都会做解析,解析正确,则根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划。
进一步的,步骤S5中的进行回滚操作如下:任何一个数据库节点上的本地事务,如果执行发生错误被客户端驱动器捕捉并反馈给上层应用程序后,如果客户端执行回滚操作,那么客户端驱动器会向本次全局事务相关的所有执行节点,所有执行语句下达回滚指令,业务终止;
如果客户端通过客户端驱动器收到全局事务相关的每个数据库节点上的本地事务语句都执行成功的反馈,客户端会向协调器发起全局事务提交操作,同时会附带上本次事务的引脚信息。
并且,如果一个事务是由相同的语句重复执行,只是每次执行操作的数据对象不同构成时,为了提高效率,会采取批量执行一次提交的模式,这些语句每次重复执行都是使用同一个分布式执行计划,在批量操作结束前客户端不会再去请求协调器解析,批量操作变成了客户端驱动器和数据节点间的直接交互过程。在这种模式下无论语句重复执行多少次,客户端只会和协调器发生一次交互解析,提高了效率,降低了协调器的压力。
协调器支持双活或者多活,功能保持一致,互相之间进行数据同步,事务的引脚信息在多个协调器里同时保存,当一台协调器出现故障后客户端驱动器可以切换到另外一台进行访问,应用程序没有感知。
所述引脚为数据库内部标注分布式事务唯一ID,和两阶段提交时候为保持事务一致性生成XID不同,引脚在事务一开始即产生(XID在事务提交时候才生成),贯穿事务开始到结束的始终,并且在客户端、协调器,分布式数据库节点上都会保存,如同在每个设备节点上都装上一个针脚并在逻辑互相连接起来,这样无论在那个设备上都能识别出大家是否来自同一个事务。
所述通过引脚桥接实现全局事务分布式处理方法具有以下优点:
1)在分布式数据库全局事务的处理过程中,除了第一次需要获得节点数据分布信息外,客户端驱动器对本地事务的访问请求不经过事务管理器(本发明中为协调器)而是直接访问节点数据库,降低了对事务管理器(TX)的访问压力;当全局事务提交的时候事务管理器(TX)再继续参与;
2)因为客户端应用通过驱动器可以直接访问数据库节点,语句交互效率大幅提升;
3)特别地,当一个全局事务涉及到批量操作一次提交的时候也只需要从事务管理器(本发明中为协调器)获得一次节点数据分布信息,在全局事务提交之前,批量操作的每一步都是客户端驱动器和数据库节点之间的直接访问,可以更加显著地降低事务管理器的压力和提升系统效率。
附图说明
图1是分布式数据库关系图;
图2是全局事务语句分析及执行关系图;
图3是全局事务提交关系图;
图4是通过引脚桥接后的完整关系图。
具体实施方式
本发明提供了一种通过引脚桥接实现全局事务分布式处理方法,其运行架构包括以下几部分:
客户端和客户端驱动器:客户端即数据库应用访问程序,按照客户端驱动器提供的数据库访问接口访问数据库;客户端驱动器为客户端的数据库应用访问程序屏蔽了数据库访问细节,提供和协调器的交互以及和分布式数据库节点的交互,生成唯一的全局事务引脚;
协调器:除了具有事务管理功能外,还具有对分布式数据库节点的管理功能,存储数据分布信息。除了能够处理来自客户端的访问请求,此外还具有分布式语句的解析功能,分布式语句的优化功能等;
分布式数据库节点:至少设置有两个,节点运行有完整的关系型数据库实例,提供相关的数据库服务以及接受来自协调器的管理指令。
本发明将一个分布式数据库全局事务的完成过程分解为由客户端发起的语句分析及执行,以及事务提交两个过程,并且通过由客户端驱动器创建唯一的事务引脚将两个过程桥接起来,逻辑上构成一个完整的过程。这样做的目的是尽量减少事务管理器(本专利中由协调器提供事务管理的功能)在整个事务过程中的参与,而尽量让客户端和分布式数据库节点直接交互。这样一方面降低了事务处理器的压力,同时也缩短了语句执行路径,提升了对数据库的访问效率。
所述引脚为数据库内部标注分布式事务唯一ID,和两阶段提交时候为保持事务一致性生成XID不同,引脚在事务一开始即产生(XID在事务提交时候才生成),贯穿事务开始到结束的始终,并且在客户端、协调器,分布式数据库节点上都会保存,如同在每个设备节点上都装上一个针脚并在逻辑互相连接起来,这样无论在那个设备上都能识别出大家是否来自同一个事务。
本发明具体应用的描述如下:
S1:首先,当执行一个分布式全局事务语句时,客户端通过客户端驱动器会生成一个全局唯一的事务引脚,然后将语句发给协调器做分布式语句解析,同时会带上此引脚信息,如果一个事务包含多条语句需要在多个不同分布式数据库节点上执行,这些语句都使用相同的引脚信息。
S2:协调器首先对语句进行解析,看是否是一个合法的,也就是符合SQL语法规范分布式数据库语句,如果不是则返回错误信息给客户端驱动器,客户端捕捉并处理错误信息,全局事务中止。如果语句解析正确,协调器根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,即该语句需要在哪些节点上执行,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划。当事务包含多条语句时,协调器对每条语句都会做此分析过程并记录。
S3:客户端驱动器获得分布式执行计划后,知道了语句需要在哪些节点执行,会并行访问这些数据库节点要求执行事务语句,同时会附带上本次事务的引脚信息。
S4:节点数据库收到客户端驱动器的数据库访问请求后,会把本次请求当作一个本地事务,按照本地事务的处理过程进行数据库操作处理,同时会记录下引脚信息,这样全局事务就变成了在多个数据库节点上独立执行的本地事务,但记录有相同的引脚信息。
S5:任何一个数据库节点上的本地事务,如果执行发生错误被客户端驱动器捕捉并反馈给上层应用程序后,如果客户端执行回滚操作,那么客户端驱动器会向本次全局事务相关的所有执行节点,所有执行语句下达回滚指令,业务终止。
如果客户端通过客户端驱动器收到全局事务相关的每个数据库节点上的本地事务语句都执行成功的反馈,客户端会向协调器发起全局事务提交操作,同时会附带上本次事务的引脚信息。
S6:协调器收到客户端驱动器的全局事务提交请求,根据附带的引脚信息检索全局事务的分布式执行计划等信息,知道本次全局事务有哪些数据库节点参加以及所作的工作。
协调器此时会担当事务管理器的角色,构建一个保持事务管理器和事务相关数据库节点之间一致性的全局唯一事务ID:XID,然后按照X/A规范定义的两阶段提交(2PC)或三阶段提交(3PC)标准处理和数据库节点间的提交过程。此过程参照标准X/A规范,不在本专利描述范围。
协调器和数据库节点之间的提交完成后协调器会根据引脚信息返回结果给客户端驱动器,客户端驱动器进一步反馈给客户端应用程序,全局事务过程结束。
除了以上的操作过程,对于其他情况的处理方式,如下所述:
一、当全局事务是由多条SQL语句组成的话,客户端也会依次按照S2到S5步骤执行,一次按照上面两段的过程执行,过程中使用和第一条语句相同的引脚信息。
二、如果一个事务是由相同的语句重复执行只是每次执行操作的数据对象不同构成,为了提高效率,会采取批量执行一次提交的模式,这些重复执行的语句都是使用同一个分布式执行计划,在批量操作结束前客户端不会再去请求协调器解析,批量操作变成了客户端驱动器和数据节点间的直接交互过程,极大地提高了效率,降低了对协调器的访问压力。
下面通过实施例对本专利做进一步描述,本发明是将一个分布式数据库系统中的全局事务完整执行过程划分为两个相对独立过程:由客户端发起的语句分析及执行过程和由客户端发起的事务提交过程,然后通过唯一的全局事务引脚将两个过程衔接起来。
如图1所示,本例中,一套分布式数据库系统会包含2个数据库节点,由节点管理器负责统一管理,节点管理器和节点之间有连接关系,如图中虚线所示。对客户端应用程序而言,各节点数据库是透明的,客户端并不关心数据库节点是如何分布的,逻辑上只和节点管理器打交道。
如图2所示,客户端所有的数据库相关操作都是调用客户端驱动程序来实现的,当客户端应用程序执行一条分布式数据库事务语句的时候,客户端驱动器针对该事务创建一个唯一的事务引脚,将引脚信息以及语句发送到协调器,如果一个事务包含多个语句,他们的引脚是一样的。
协调器会对发送过来的语句先进行语句分析,看是否是一个合法的分布式数据库语句,然后根据自己存储的数据库节点信息和数据分布信息确定该语句需要在哪些数据库节点上执行,形成一个语句的分布式执行计划,同时协调器会记录下语句的引脚信息,根据引脚信息判断语句是否来自同一个事务,在本例中,本全局事务需要在两个节点:节点1和节点2上执行。
如果语句无误,协调器将分布式执行计划等信息返回给客户端驱动器。
客户端驱动器收到语句的执行信息知道该语句需要在2个节点上执行,即根据执行计划构造两条执行语句:语句1和语句2并行访问2个节点数据库要求执行,同时传递引脚信息到对应的执行节点,执行节点收到执行语句开始在本数据库实例上构造本地事务开始执行,本例中分别对应2个独立的本地事务TX1和TX2,数据库节点同时记录下引脚信息;两个数据库节点记录的引脚信息是相同的。
两个独立的本地事务会执行关系型数据库的相关业务操作,包括数据写入回滚空间,记录Redo日志等操作。
当无论那一条本地事务语句执行失败时,客户端驱动器都将向应用程序反馈错误,在回滚时对2个本地事务都进行回滚;
当客户端通过客户端驱动器获得本次全局事务在2个数据库节点上都正确执行的消息后,客户端将发起提交(commit)动作,这时进入如图3所示的提交过程。
如图3所示,客户端通过客户端驱动器向协调器发起提交请求,客户端驱动器将保存的本次事务的全局引脚也同时传递给协调器。
协调器收到事务提交请求和事务引脚信息,根据唯一的引脚信息查询此前记录下的内容,获得此前本次全局事务在协调器上的分布式执行计划。
根据执行计划,协调器知道本次全局事务需要在节点1和节点2上进行提交,并且知道分别是语句1和语句2的提交。
协调器此时充当了事务管理器的角色,会重新构造唯一的全局事务ID:XID,XID专门用来作为事务管理器和数据库节点之间的一致性保证,后面的过程就可以进入X/A规定定义的两阶段提交(2PC)或3阶段提交(3PC)过程,该过程不在本案例范围内。
协调器和数据库节点按照X/A规范完成事务提交后,协调器根据引脚信息将本次全局事务的提交结果反馈给客户端驱动器,客户端驱动器进一步反馈给上层的客户端应用程序,本次全局事务过程处理完毕。
由上可见,通过将分布式数据库的全局事务处理逻辑上分解为客户端发起的两个过程--语句执行过程和提交过程,可以让事务管理器(本例中为协调器)尽量少地参与整个事务过程而让客户端尽量多的和数据库节点直接交互,这两个逻辑过程通过客户端创建的唯一事务引脚衔接起来形成一个完整的业务过程如图4所示,即保证了对X/A规范定义的分布式事务一致性支持,又避免了事务管理器的瓶颈,还提高了分布式数据库的访问效率。
此外,本发明在功能上还具有以下特点:
1、节点信息发生变化的支持
对一个分布式数据库而言,节点数据库的数量以及数据在节点上分布可能是会发生变化的,这些变化必然会给引脚信息、语句执行、事务提交带来影响。本专利支持业务运行时数据库节点信息的动态变化而不影响全局事务的提交,实现方式是当数据库节点信息变化过程中的时候挂起所有事务,当节点信息变化完成后通知客户端回滚所有涉及到节点变更的未提交事务,当客户端重新进行事务请求的时候重新生成新的事务引脚,协调器对语句重新解析和优化返回新的语句执行信息。
2、高可用的支持
本专利中支持对协调器高可用的支持,协调器支持双活或者多活,功能保持一致,互相之间进行数据同步,事务的引脚信息在多个协调器里同时保存,当一台协调器出现故障后客户端驱动器可以切换到另外一台进行访问,应用程序没有感知。
所述通过引脚桥接实现全局事务分布式处理方法具有以下优点:
1)在分布式数据库全局事务的处理过程中,除了第一次需要获得节点数据分布信息外,客户端驱动器对本地事务的访问请求不经过事务管理器(本发明中为协调器)而是直接访问节点数据库,降低了对事务管理器(TX)的访问压力;当全局事务提交的时候事务管理器(TX)再继续参与;
2)因为客户端应用通过驱动器可以直接访问数据库节点,语句交互效率大幅提升;
3)特别地,当一个全局事务涉及到批量操作一次提交的时候也只需要从事务管理器(本发明中为协调器)获得一次节点数据分布信息,在全局事务提交之前,批量操作的每一步都是客户端驱动器和数据库节点之间的直接访问,可以更加显著地降低事务管理器的压力和提升系统效率。

Claims (8)

1.一种通过引脚桥接实现全局事务分布式处理方法,包括下列步骤:
S1:执行一个分布式全局事务语句时,客户端通过客户端驱动器生成一个全局唯一的事务引脚,然后将语句发给协调器做分布式语句解析,同时会带上此引脚信息;
S2:协调器对语句进行解析,如果语句解析正确,协调器根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划;
S3:客户端驱动器获得分布式执行计划后,知道了语句需要在哪些数据库节点执行,并行访问这些数据库节点要求执行事务语句,同时会附带上本次事务的引脚信息;
S4:节点数据库收到客户端驱动器的数据库访问请求后,把本次请求当作一个本地事务,按照本地事务的处理过程进行数据库操作处理,同时会记录下引脚信息,使得全局事务变成在多个数据库节点上独立执行的本地事务,但记录有相同的引脚信息;
S5:在节点数据库上执行完毕,如果有任何一个节点执行报错,客户端收到报错信息后在每个节点都进行事务回滚,本次事务失败,事务结束;如果没有执行报错,客户端通过客户端驱动器获得本次全局事务在数据库节点上都正确执行的消息后,整个分布式事务进入下一个步骤,即事务提交步骤,在这个阶段的开始,客户端向协调器发起提交请求;
S6:协调器收到客户端驱动器的全局事务提交请求,根据附带的引脚信息检索全局事务的分布式执行计划信息,知道本次全局事务有哪些数据库节点参加以及所作的工作;
S7:协调器构建一个保持事务管理器和事务相关数据库节点之间一致性的全局唯一事务ID,然后按照X/A规范定义的两阶段提交或三阶段提交标准处理和数据库节点间的提交过程;
S8:协调器和数据库节点之间的提交完成后,协调器根据引脚信息返回结果给客户端驱动器,客户端驱动器进一步反馈给客户端应用程序,全局事务过程结束。
2.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:步骤S1中,如果一个事务包含多条语句,需要在多个不同分布式数据库节点上执行,这些语句都使用相同的引脚信息。
3.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:步骤S2中,协调器对语句进行解析,看是否是一个符合SQL语句规范分布式数据库语句,如果不是则返回错误信息给客户端驱动器,客户端捕捉并处理错误信息,全局事务中止。
4.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:步骤S2中,当事务包含多条语句时,协调器对每条语句都会做解析,解析正确,则根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划。
5.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:步骤S5中的进行回滚操作如下:任何一个数据库节点上的本地事务,如果执行发生错误被客户端驱动器捕捉并反馈给上层应用程序后,如果客户端执行回滚操作,那么客户端驱动器会向本次全局事务相关的所有执行节点,所有执行语句下达回滚指令,业务终止;
如果客户端通过客户端驱动器收到全局事务相关的每个数据库节点上的本地事务语句都执行成功的反馈,客户端会向协调器发起全局事务提交操作,同时会附带上本次事务的引脚信息。
6.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:如果一个事务是由相同的语句重复执行,只是每次执行操作的数据对象不同构成,为了提高效率,会采取批量执行一次提交的模式,这些语句每次重复执行都是使用同一个分布式执行计划,在批量操作结束前客户端不会再去请求协调器解析,批量操作变成了客户端驱动器和数据节点间的直接交互过程。
7.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:协调器支持双活或者多活,功能保持一致,互相之间进行数据同步,事务的引脚信息在多个协调器里同时保存,当一台协调器出现故障后客户端驱动器可以切换到另外一台进行访问,应用程序没有感知。
8.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:所述引脚为数据库内部标注分布式事务唯一ID,引脚在事务一开始即产生,贯穿事务开始到结束的始终,并且在客户端、协调器,分布式数据库节点上都会保存。
CN201910712060.9A 2019-08-02 2019-08-02 一种通过引脚桥接实现全局事务分布式处理方法 Active CN110427427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910712060.9A CN110427427B (zh) 2019-08-02 2019-08-02 一种通过引脚桥接实现全局事务分布式处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910712060.9A CN110427427B (zh) 2019-08-02 2019-08-02 一种通过引脚桥接实现全局事务分布式处理方法

Publications (2)

Publication Number Publication Date
CN110427427A true CN110427427A (zh) 2019-11-08
CN110427427B CN110427427B (zh) 2022-05-27

Family

ID=68412318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910712060.9A Active CN110427427B (zh) 2019-08-02 2019-08-02 一种通过引脚桥接实现全局事务分布式处理方法

Country Status (1)

Country Link
CN (1) CN110427427B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190768A (zh) * 2019-12-25 2020-05-22 中科驭数(北京)科技有限公司 数据库执行错误恢复方法、数据库访问方法及装置
CN112035514A (zh) * 2020-09-02 2020-12-04 北京金山云网络技术有限公司 一种数据库语句处理方法、装置、电子设备及存储介质
CN112416977A (zh) * 2020-11-19 2021-02-26 北京人大金仓信息技术股份有限公司 应用于数据库的数据传输的方法、装置和设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101045A1 (en) * 2001-11-29 2003-05-29 Peter Moffatt Method and apparatus for playing recordings of spoken alphanumeric characters
CN101576978A (zh) * 2009-06-16 2009-11-11 北京环太中科软件股份有限公司 分布式工作流制定方法、执行方法及执行系统
US20110277023A1 (en) * 2010-05-10 2011-11-10 Intel Corporation Audible authentication for wireless network enrollment
CN102799465A (zh) * 2012-06-30 2012-11-28 华为技术有限公司 分布式虚拟化系统的虚拟中断管理方法及装置
CN104516967A (zh) * 2014-12-25 2015-04-15 国家电网公司 一种电力系统海量数据管理系统及其使用方法
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
CN106033562A (zh) * 2015-03-16 2016-10-19 阿里巴巴集团控股有限公司 事务处理方法、事务参与节点及事务协调节点
CN109977171A (zh) * 2019-02-02 2019-07-05 中国人民大学 一种保证事务一致性和线性一致性的分布式系统和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101045A1 (en) * 2001-11-29 2003-05-29 Peter Moffatt Method and apparatus for playing recordings of spoken alphanumeric characters
CN101576978A (zh) * 2009-06-16 2009-11-11 北京环太中科软件股份有限公司 分布式工作流制定方法、执行方法及执行系统
US20110277023A1 (en) * 2010-05-10 2011-11-10 Intel Corporation Audible authentication for wireless network enrollment
CN102799465A (zh) * 2012-06-30 2012-11-28 华为技术有限公司 分布式虚拟化系统的虚拟中断管理方法及装置
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
CN104516967A (zh) * 2014-12-25 2015-04-15 国家电网公司 一种电力系统海量数据管理系统及其使用方法
CN106033562A (zh) * 2015-03-16 2016-10-19 阿里巴巴集团控股有限公司 事务处理方法、事务参与节点及事务协调节点
CN109977171A (zh) * 2019-02-02 2019-07-05 中国人民大学 一种保证事务一致性和线性一致性的分布式系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GALAL MOHAMED ET AL.: "Cohesive element formulation for z-pin delamination bridging in fibre reinforced laminates", 《INTERNATIONAL JOURNAL OF SOLIDS AND STRUCTURES》 *
敖磊: "基于VxWorks嵌入式数据库管理系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190768A (zh) * 2019-12-25 2020-05-22 中科驭数(北京)科技有限公司 数据库执行错误恢复方法、数据库访问方法及装置
CN111190768B (zh) * 2019-12-25 2020-10-16 中科驭数(北京)科技有限公司 数据库执行错误恢复方法、数据库访问方法及装置
CN112035514A (zh) * 2020-09-02 2020-12-04 北京金山云网络技术有限公司 一种数据库语句处理方法、装置、电子设备及存储介质
CN112416977A (zh) * 2020-11-19 2021-02-26 北京人大金仓信息技术股份有限公司 应用于数据库的数据传输的方法、装置和设备
CN112416977B (zh) * 2020-11-19 2023-12-19 北京人大金仓信息技术股份有限公司 应用于数据库的数据传输的方法、装置和设备

Also Published As

Publication number Publication date
CN110427427B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
EP2932370B1 (en) System and method for performing a transaction in a massively parallel processing database
US8738568B2 (en) User-defined parallelization in transactional replication of in-memory database
CN105608086B (zh) 分布式数据库系统的事务处理方法及装置
CN110427427A (zh) 一种通过引脚桥接实现全局事务分布式处理方法
CN102073540B (zh) 分布式事务提交方法和装置
US7769789B2 (en) High performant row-level data manipulation using a data layer interface
US8639677B2 (en) Database replication techniques for maintaining original linear request order for asynchronous transactional events
US5835755A (en) Multi-processor computer system for operating parallel client/server database processes
Kemme et al. Database replication: a tale of research across communities
CN106598992B (zh) 数据库的操作方法及装置
CN112380180A (zh) 数据同步处理方法、装置、设备及存储介质
CN110489446B (zh) 基于分布式数据库的查询方法及装置
US11928089B2 (en) Data processing method and device for distributed database, storage medium, and electronic device
US20070239790A1 (en) Systems and methods for a distributed in-memory database
CN103345502A (zh) 分布式数据库的事务处理方法和系统
CN108431807A (zh) 分区数据存储空间中结构化数据记录的复制
CN105912384A (zh) 流程引擎事务处理方法及装置
CN110196859A (zh) 基于jdbc分发器的数据库读写分离集群实时一致性方法
CN108108119A (zh) 一种可扩展的存储集群事物的配置方法及装置
Dwyer et al. Some experiences with a distributed database testbed system
CN109408201A (zh) 基于分布式数据库的事务管理方法
CN116150263B (zh) 一种分布式图计算引擎
CN110839064A (zh) 一种分布式系统执行脚本的方法及装置
Masud et al. Transaction processing in a peer to peer database network
US7203676B2 (en) Dynamic performance views with a parallel single cursor model

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