[发明专利]跨数据库分布式事务的实现方法和装置有效
| 申请号: | 201410025961.8 | 申请日: | 2014-01-20 |
| 公开(公告)号: | CN104793988B | 公开(公告)日: | 2019-01-22 |
| 发明(设计)人: | 刘照星 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/27 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 分布式 事务 实现 方法 装置 | ||
本申请公开了一种跨数据库分布式事务的实现方法,包括:接收分布式事务的启动请求,并为所述分布式事务分配事务标识;接收被分配事务标识的分布式事务的针对数据库操作的操作请求或操作请求集合;针对每个操作请求,获取所述数据库操作的目标数据库信息,并遵循ACID原则将所述数据库操作发送到所述目标数据库执行;待所有的数据库操作执行完毕,清除所述分布式事务。本申请同时提供一种跨数据库分布式事务的实现装置。采用本申请提供的方法能够实现轻量级、易于维护、并且满足ACID原则的跨数据库分布式事务。
技术领域
本申请涉及分布式事务处理领域,具体涉及一种跨数据库分布式事务的实现方法。本申请同时提供一种跨数据库分布式事务的实现装置。
背景技术
随着互联网的发展和用户需求的不断变化,各种应用业务越来越复杂。为了给业务提供更好的支撑,底层系统越来越多,服务越来越集中,层次也越来越深。对于一次业务请求,不再是通过访问某一个业务子系统中的数据库就可以完成,通常需要两个或者两个以上的业务子系统的协作,而不同的子系统使用不同的数据库,也就是说,在一次请求中,可能需要访问多个目标数据库中的数据,而且要求访问操作满足高实时性的需求。
在多个跨数据库业务请求并发的情况下,如果采用非同步操作的方式,容易导致整个目标数据库系统数据的不一致,为了解决这一问题,通常需要在中间层的系统中设计重试机制来保证数据一致和完整性,不仅降低了业务请求的处理效率,同时也增加了成本。在这样的背景下,为了满足多业务跨数据库的并发访问需求,出现了分布式事务的概念。
所谓事务,是数据库中的一个操作单元,在该操作单元中所有的操作要么都成功,要么都失败,执行结果不可逆转,事务具备四个基本的特性:原子性、一致性、隔离性、持久性,也简称为事务的ACID特性。而分布式事务则是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。因为分布式事务跨多个数据库资源,故要求分布式事务满足ACID属性对于维护所有数据库资源上的数据一致性是很重要的,因此评价事务是否支持分布式调用,主要看其分布式调用过程中是否满足事务的ACID原则。
为了实现分布式事务,现有技术通常使用两阶段提交协议。阶段一:事务协调者询问所有的事务参与者(例如:各个目标数据库)是否可以提交各自的操作,各个事务参与者根据自己的资源状况,向事务协调者发送是否可以提交的应答。阶段二:当所有事务参与者在第一阶段反馈的都是肯定应答,那么协调者才会发起本阶段,即,通知所有事务参与者正式提交事务,所有参与者提交完毕会再次通知协调者。为了实现分布式事务,必须使用一种协议在分布式事务的各个参与者之间传递事务上下文信息,例如:IIOP(Internet Inter-ORB Protocol互联网内部对象请求代理协议)协议,不同开发商开发的事务参与者也必须支持同一种标准协议,才能实现分布式的事务。
具体到实现,现有技术通常采用CORBA(Common Object Request BrokerArchitecture,公共对象请求代理体系结构)制定的一种标准的面向对象的应用程序体系规范,解决分布式处理环境中软件系统的互联。CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。采用CORBA体系结构,在异构分布环境下为不同机器上的应用提供了互操作性,并无缝地集成了多种对象系统,通过将分布式对象技术与事务处理技术结合起来,利用两阶段提交协议和恢复日志等技术,从而保证分布式事务的ACID性质。
上述现有技术采用的分布式事务框架,需要搭建较为复杂的分布式处理中心,而且要求分布式处理中心和目标服务器或目标数据库系统必须配置用于实现分布式操作的各类复杂协议,一方面比较臃肿,不利于维护和使用,另一方面也无法为不同的业务提供轻量级的可定制化的服务。
发明内容
本申请提供一种跨数据库分布式事务的实现方法,以解决现有分布式事务的实现框架过于复杂、不便于维护的问题。本申请另外提供一种跨数据库分布式事务的实现装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410025961.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于混合临界应用的方法和轻量机构
- 下一篇:一种应用程序管理系统及方法





