[发明专利]基于分布式数据库的事务管理方法有效
申请号: | 201710711443.5 | 申请日: | 2017-08-18 |
公开(公告)号: | CN109408201B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 周家晶;裴晨光;李永峰;苗浩 | 申请(专利权)人: | 中国银联股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 王星;付曼 |
地址: | 200135 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分布式 数据库 事务管理 方法 | ||
本发明涉及一种基于分布式数据库的事务管理方法,包括:协调者判断第一用户与协调者之间的第一全局事务的隔离级别是否为不可重复读;若是,则继续执行以下步骤;协调者与多个数据库建立通信连接,以对多个数据库进行分布式管理;若第一全局事务对第一数据库发生写操作,则协调者开启与第一数据库之间的第一本地事务;以及,在提交或回滚第一全局事务时,协调者关闭第一本地事务。该方法在保证分布式事务处理一致性的前提下,能够根据全局事务的实际需求来相应地开启本地事务,从而可以更有效地利用有限的管理资源。此外,还有利于减少通信会话时长,从而进一步促进提高管理资源的利用率,提高了系统效率。
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种基于分布式数据库的事务管理方法。
背景技术
事务(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回滚其操作,这样该全局事务被回滚。
采用两阶段提交方式这种模式有几个明显的缺点,首先,即使分成两个阶段来提交,但是仍然无法避免第二阶段时数据库节点发生异常,从而还是可能会导致事务不一致;其次,由于对每次事务都采用两阶段提交,因此系统在提交事务时对每个相关的数据库节点要多产生一次交互过程,这使得系统执行效率下降。
本领域技术人员期望获得一种在确保事务处理一致性的同时,又使得系统执行效率不会降低的事务管理方法。
发明内容
本发明的目的在于提供一种可靠性好、不影响系统执行效率的基于分布式数据库的事务管理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银联股份有限公司,未经中国银联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710711443.5/2.html,转载请声明来源钻瓜专利网。