The invention provides a method for realizing global transaction distributed processing through pin bridge, which comprises the following steps: S1: the client generates a globally unique transaction pin through the client driver, and then sends the statement with the pin information to the coordinator for distributed statement analysis; S2: the coordinator analyzes the statement and makes the distributed execution plan; S3: the client driver The actuator obtains the distributed execution plan. Parallel access to the database node requires the execution of transaction statements; S4: the node database performs database operation processing in accordance with the local transaction processing process; S5: the client initiates a submission request to the coordinator; S6: the coordinator retrieves based on the attached pin information; S7: the coordinator processes the submission process between the client and the database node; S8: the coordinator returns the node based on the pin information If it is fed back to the client driver and the client application, the global transaction process ends.
【技术实现步骤摘要】
一种通过引脚桥接实现全局事务分布式处理方法
本专利技术涉及一种分布式数据库系统的事务一致性实现方法,尤其是涉及一种通过引脚桥接实现全局事务分布式处理方法。
技术介绍
关系型的数据库系统必须支持事务的ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。对一个分布式的数据库而言,系统是由多个数据库节点组成,一个事务可能需要在多个节点上执行,这种事务被称为全局事务;在节点本地执行的事务叫本地事务。全局性事务的原子性和一致性要求事务涉及到数据库节点要么全部执行成功,要么全部不执行。但是,一个节点在执行本地事务的时候无法知道其他节点的本地事务执行结果,因此也就不知道本次全局事务究竟是否全部成功还是需要回滚。为了解决这一问题,X/Open组织定义分布式事务处理模型,引入了事务管理器(TX),定义了事务管理器和数据库之间的接口规范,用来保证分布式事务的开始、结束以及提交、回滚等。XA接口函数由数据库厂商自己实现和提供。X/A规范虽然解决了全局事务的一致性问题,但是传统的实现方法存在两个问题:1)事务的访问需要经过事务管理器(TX)来进行,那么在高并发、大数据量的情况下事务管理器(TX)容易成为整个分布式数据库系统的瓶颈所在;2)数据库访问多了一层事务管理器处理,延时更高,性能更低,整体效率变低了。
技术实现思路
本专利技术提供了一种通过引脚桥接实现全局事务分布式处理方法,用于解决上述提到的高并发及大数据量情况下事务管理器(TX)瓶颈问题以及数据库访问效率低的问题,通过优化的X/A规范实 ...
【技术保护点】
1.一种通过引脚桥接实现全局事务分布式处理方法,包括下列步骤:S1:执行一个分布式全局事务语句时,客户端通过客户端驱动器生成一个全局唯一的事务引脚,然后将语句发给协调器做分布式语句解析,同时会带上此引脚信息;S2:协调器对语句进行解析,如果语句解析正确,协调器根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划;S3:客户端驱动器获得分布式执行计划后,知道了语句需要在哪些数据库节点执行,并行访问这些数据库节点要求执行事务语句,同时会附带上本次事务的引脚信息;S4:节点数据库收到客户端驱动器的数据库访问请求后,把本次请求当作一个本地事务,按照本地事务的处理过程进行数据库操作处理,同时会记录下引脚信息,使得全局事务变成在多个数据库节点上独立执行的本地事务,但记录有相同的引脚信息;S5:在节点数据库上执行完毕,如果有任何一个节点执行报错,客户端收到报错信息后在每个节点都进行事务回滚,本次事务失败,事务结束;如果没有执行报错,客户端通过客户端驱动器获得本次全局事务在 ...
【技术特征摘要】
1.一种通过引脚桥接实现全局事务分布式处理方法,包括下列步骤:S1:执行一个分布式全局事务语句时,客户端通过客户端驱动器生成一个全局唯一的事务引脚,然后将语句发给协调器做分布式语句解析,同时会带上此引脚信息;S2:协调器对语句进行解析,如果语句解析正确,协调器根据自己管理的节点信息和数据分布信息对语句进一步分析,制定出该语句的分布式执行计划,并将此分布式执行计划反馈给客户端驱动器,同时协调器也会记录本次事务的引脚信息以及本次分布式执行计划;S3:客户端驱动器获得分布式执行计划后,知道了语句需要在哪些数据库节点执行,并行访问这些数据库节点要求执行事务语句,同时会附带上本次事务的引脚信息;S4:节点数据库收到客户端驱动器的数据库访问请求后,把本次请求当作一个本地事务,按照本地事务的处理过程进行数据库操作处理,同时会记录下引脚信息,使得全局事务变成在多个数据库节点上独立执行的本地事务,但记录有相同的引脚信息;S5:在节点数据库上执行完毕,如果有任何一个节点执行报错,客户端收到报错信息后在每个节点都进行事务回滚,本次事务失败,事务结束;如果没有执行报错,客户端通过客户端驱动器获得本次全局事务在数据库节点上都正确执行的消息后,整个分布式事务进入下一个步骤,即事务提交步骤,在这个阶段的开始,客户端向协调器发起提交请求;S6:协调器收到客户端驱动器的全局事务提交请求,根据附带的引脚信息检索全局事务的分布式执行计划信息,知道本次全局事务有哪些数据库节点参加以及所作的工作;S7:协调器构建一个保持事务管理器和事务相关数据库节点之间一致性的全局唯一事务ID,然后按照X/A规范定义的两阶段提交或三阶段提交标准处理和数据库节点间的提交过程;S8:协调器和数据库节点之间的提交完成后,协调器根据引脚信息返回结果给客户端驱动器,客户端驱动器进一步反馈给客户端应用程序,全局事务过程结束。2.根据权利要求1所述的通过引脚桥接实现全局事务分布式处理方法,其特征在于:步骤S1中,如果一个事务包含多条语句,需要在多个不同分布式数据库节点上执行,这些语句都使用相同的引脚信息。3.根据权利要求1所述的通过引脚桥接实现全局事...
【专利技术属性】
技术研发人员:骆彬,
申请(专利权)人:北京快立方科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。