[发明专利]事务提交系统、方法及设备有效
申请号: | 201010606600.4 | 申请日: | 2010-12-24 |
公开(公告)号: | CN102571850A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 朱祥磊 | 申请(专利权)人: | 中国移动通信集团山东有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 250001 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 提交 系统 方法 设备 | ||
技术领域
本发明涉及事务处理技术领域,尤其涉及一种事务提交系统、方法及设备。
背景技术
分布式事务处理(DTP,Distributed Transaction Processing)是指一个事务可能涉及到多个数据库服务器的操作,DTP的对象一般是全局事务,每个数据库服务器执行的操作为该全局事务的某个分支事务,例如,某事务为对多个不同的数据库服务器分别进行资源更新,则此事务为全局事务,每个数据库服务器所做的资源更新操作即为对应的分支事务。
当处理全局事务时,应用程序需要在程序内部直接通知各数据库服务器开始分支事务、结束分支事务以及提交分支事务,当出现异常情况时,必须由专用程序对各数据库服务器进行反向操作才能完成事务的回滚,因此当全局事务包含很多个分支事务时,处理过程就非常复杂。
针对上述问题,现有技术提出了使用交易中间件协调设备来通知和协调各数据库服务器进行开始、结束、提交或回滚分支事务,其中,针对一个全局事务,各数据库服务器的提交分支事务或回滚分支事务的决定必须产生统一的结果,即全部数据库服务器均提交分支事务或全部数据库服务器均回滚分支事务,如果其中一个数据库服务器的任意一个操作结果为失败,则参与该全局事务的所有数据库服务器必须全部回滚分支事务。
如图1所示,为现有技术中全局事务处理方法流程图,其具体处理流程如下:
步骤11,应用程序首先通知交易中间件协调设备开始一个全局事务;
步骤12,交易中间件协调设备通过扩展体系(XA,Extended Architecture)接口函数通知参与该全局事务的各数据库服务器开始对应的分支事务;
步骤13,应用程序对各数据库服务器管理的资源进行相应操作,数据库服务器记录该全局事务对本地资源的所有操作的操作信息;
步骤14,交易中间件协调设备在应用程序完成操作后,通过XA接口函数通知各数据库服务器结束分支事务;
步骤15,应用程序通知交易中间件协调设备提交该全局事务;
步骤16,交易中间件协调设备通过XA接口函数,要求各个数据库服务器进行预提交;
步骤17,待所有数据库服务器均确认可以提交后,交易中间件协调设备要求各个数据库服务器做正式提交;
步骤18,各数据库服务器完成提交后,向交易中间件协调设备发送正式提交完成消息,该全局事务结束;
步骤19,若其中一个或几个数据库服务器不能提交,则交易中间件协调设备要求各个数据库服务器进行分支事务回滚;
步骤110,各数据库服务器完成分支事务回滚后,向交易中间件协调设备发送回滚完成消息,该全局事务结束。
现有技术中,一般使用两阶段提交的方式来完成一个全局事务的提交,分别为预提交阶段和正式提交阶段,如图2所示,为现有技术中的事务提交方法流程图,其具体处理流程如下:
步骤21,交易中间件协调设备向各数据库服务器发送预提交指示消息,提示各个数据库服务器准备提交各自的分支事务;
步骤22,数据库服务器接收到预提交指示消息后,若确认可以提交自身的分支事务,则向交易中间件协调设备发送预提交确认消息,若确认不能提交自身的分支事务,则向交易中间件协调设备发送预提交失败消息;
此时数据库服务器并未真正提交或回滚该分支事务,因此数据库服务器并不能释放该分支事务所占用的资源;
步骤23,若所有数据库服务器均发送了预提交确认消息,则交易中间件协调设备向所有数据库服务器发送正式提交指示消息;
步骤24,数据库服务器在接收到正式提交指示消息后,将自身的分支事务进行提交,由于分支事务对应的数据始终是保存在回滚段中,因此在正式提交前,数据库服务器不会正式存储该数据,一旦确认将该分支事务提交,则数据库服务器将该数据正式存入数据库;
步骤25,数据库服务器释放该分支事务所占用的资源;
步骤26,数据库服务器向交易中间件协调设备发送正式提交完成消息;
步骤27,若至少一个数据库服务器发送了预提交失败消息,则交易中间件协调设备向所有数据库服务器发送回滚指示消息;
步骤28,数据库服务器在接收到回滚指示消息后,将自身的分支事务进行回滚,即将该分支事务已经完成的、对数据库服务器的更新操作进行撤销;
步骤29,数据库服务器释放该分支事务所占用的资源;
步骤210,数据库服务器向交易中间件协调设备发送回滚完成消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团山东有限公司,未经中国移动通信集团山东有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010606600.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:射频匹配方法及装置、等离子体设备
- 下一篇:海底观测网络节点故障诊断系统