[发明专利]跨数据库分布式事务的实现方法和装置有效
| 申请号: | 201410025961.8 | 申请日: | 2014-01-20 |
| 公开(公告)号: | CN104793988B | 公开(公告)日: | 2019-01-22 |
| 发明(设计)人: | 刘照星 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/27 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 分布式 事务 实现 方法 装置 | ||
1.一种跨数据库分布式事务的实现方法,其特征在于,包括:
接收分布式事务的启动请求,并为所述分布式事务分配事务标识;
接收被分配事务标识的分布式事务的针对数据库操作的操作请求或操作请求集合;
针对每个操作请求,获取所述数据库操作的目标数据库信息,并遵循ACID原则将所述数据库操作发送到所述目标数据库执行;
待所有的数据库操作执行完毕,清除所述分布式事务;
其中,所述遵循ACID原则将所述数据库操作发送到所述目标数据库执行,包括:
根据所述数据库操作的类型及所述数据库操作影响的行标识对应的行的当前访问状态,确定将所述数据库操作发送给所述目标数据库执行的时机,并根据所述数据库操作的类型确定是否添加访问控制,发送至所述目标数据库执行。
2.根据权利要求1所述的跨数据库分布式事务的实现方法,其特征在于,所述获取所述数据库操作的目标数据库信息具体是指,根据所述数据库操作指定的目标数据库和/或表的名称,查找预先设置的数据库描述信息,从中获取与所述目标数据库和/或表的名称对应的目标数据库信息。
3.根据权利要求1所述的跨数据库分布式事务的实现方法,其特征在于,所述根据所述数据库操作的类型及所述数据库操作影响的行标识对应的行的当前访问状态,确定将所述数据库操作发送给所述目标数据库执行的时机,并根据所述数据库操作的类型确定是否添加访问控制,发送至所述目标数据库执行,包括:
获取所述数据库操作的类型;
解析所述数据库操作,获取所述数据库操作影响的行标识;
获取所述行标识对应的行的当前访问状态;
根据所述行标识对应的行的当前访问状态和所述数据库操作的类型,判断是否需要等待所述行标识对应的行的访问结束;若是,则执行等待,等到所述行标识对应的行的访问结束,再执行下述步骤;若否,继续执行下述步骤;
根据所述数据库操作的类型,判断是否需要获取对所述行标识对应的行的访问控制,若是,则为所述行标识对应的行添加访问控制后执行下述步骤;若否,执行下述步骤;
将所述数据库操作发送给所述目标数据库执行;
向所述分布式事务的请求方返回所述数据库操作的执行结果。
4.根据权利要求3所述的跨数据库分布式事务的实现方法,其特征在于,执行所述将所述数据库操作发送给所述目标数据库执行的步骤后,如果没有在预先设定的时间内收到目标数据库返回的执行结果,则通过主动访问目标数据库的方式获取所述数据库操作的执行结果。
5.根据权利要求3所述的跨数据库分布式事务的实现方法,其特征在于,所述数据库操作的类型包括:新增操作、更新操作、删除操作或查询操作。
6.根据权利要求5所述的跨数据库分布式事务的实现方法,其特征在于,所述解析所述数据库操作,获取所述数据库操作影响的行标识,包括:
如果所述数据库操作的类型为新增操作,则为所述新增操作分配一个唯一标识该行的行标识,并将所述行标识添加到新增操作中;
否则,执行下述步骤:
将所述数据库操作解析为采用相同条件的获取行标识的查询操作;
将所述查询操作发送给所述目标数据库执行;
接收所述目标数据库返回的行标识,将返回的行标识作为所述数据库操作影响的行标识。
7.根据权利要求5所述的跨数据库分布式事务的实现方法,其特征在于,所述根据所述行标识对应的行的当前访问状态和所述数据库操作的类型,判断是否需要等待所述行标识对应的行的访问结束,具体是指:
如果所述数据库操作的类型是新增操作或者查询操作,则判定为不需要等待所述行标识对应的行的访问结束;
如果所述数据库操作的类型是更新操作或者删除操作,则进一步判断所述行标识对应的行当前是否没有被当前分布式事务之外的事务所访问,或者虽被当前分布式事务之外的事务访问但没有被锁定,若是,则判定为不需要等待所述行标识对应的行的访问结束;否则,判定为需要等待所述行标识对应的行的访问结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410025961.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于混合临界应用的方法和轻量机构
- 下一篇:一种应用程序管理系统及方法





