[发明专利]一种分布式数据库事务原子性实现方法及装置在审
申请号: | 202011549931.9 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112559496A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 吴祖洋;简怀兵 | 申请(专利权)人: | 百果园技术(新加坡)有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/23;G06F16/27;G06F16/28 |
代理公司: | 北京泽方誉航专利代理事务所(普通合伙) 11884 | 代理人: | 陈照辉 |
地址: | 巴西班让路枫树*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据库 事务 原子 实现 方法 装置 | ||
本申请实施例公开了一种分布式数据库事务原子性实现方法及装置。本申请实施例提供的技术方案通过创建事务对象,并确定事务对象指向的数据对象的数据版本号和数据值,基于比较交换操作,通过事务标识将事务对象和数据对象进行关联,并依据写操作指令对数据对象执行数据操作,从而将执行数据操作后的数据值赋值给数据对象的期望值,并更新数据版本号,在事务对象成功提交并且数据版本号未被其他进程修改时,将数据对象的数据值修改为期望值,并更新数据版本号,完成对数据对象的写操作,实现分布式数据库事务的原子性,有效提高事务的并发量,减少事务执行等待时间,提高了分布式NoSQL数据库事务的吞吐量。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种分布式数据库事务原子性实现方法及装置。
背景技术
NoSQL(Not Only SQL)数据库是对不同于传统的关系数据库的数据库管理系统的统称,NoSQL数据库不通过SQL来操作数据,而是通过Get/Set/Delete等少数特定的接口来操作数据。对于分布式NoSQL数据库,数据被分散存储在不同的物理节点中,一个数据库事务往往需要操作不同的物理节点。如果没有原子性保证,那么一个数据库事务的多个操作全部执行完毕后,可能出现针对某个物理节点的操作成功而针对另一个物理节点的操作失败的情况,从而导致业务逻辑的完整性被破坏。
传统的分布式事务实现方法一般通过集中式事务管理器和锁机制来实现。事务的所有操作均发送给事务管理器,由事务管理器来执行,同时,通过对资源的排它性锁来避免其它事务对某个事务所操作的资源的使用。
因为所有的事务操作都必须通过集中式事务管理器,在锁机制的排他性影响下,增加了其它想要操作共同资源的事务的等待时间,导致系统的整体吞吐量较低。
发明内容
本申请实施例提供一种分布式数据库事务原子性实现方法及装置,以减少事务的等待时间,提高系统的整体吞吐量。
在第一方面,本申请实施例提供了一种分布式数据库事务原子性实现方法,包括:
响应于写操作指令创建事务对象,并确定所述事务对象的事务标识;
确定所述事务对象指向的数据对象的数据版本号和数据值;
基于比较交换操作,通过所述事务标识将所述事务对象与每个所述数据对象进行关联,并依据写操作指令对关联的所述数据对象执行相应的数据操作,以将执行数据操作后的数据值赋值给所述数据对象的期望值,并确定更新后的数据版本号;
基于所述事务对象的事务状态以及所述数据版本号的同步状态,根据所述数据对象的期望值对数据值进行修改,并更新所述数据版本号。
在第二方面,本申请实施例提供了一种分布式数据库事务原子性实现装置,包括事务创建模块、数据获取模块、数据操作模块和修改执行模块,其中:
事务创建模块,用于响应于写操作指令创建事务对象,并确定所述事务对象的事务标识;
数据获取模块,用于确定所述事务对象指向的数据对象的数据版本号和数据值;
数据操作模块,用于基于比较交换操作,通过所述事务标识将所述事务对象与每个所述数据对象进行关联,并依据写操作指令对关联的所述数据对象执行相应的数据操作,以将执行数据操作后的数据值赋值给所述数据对象的期望值,并确定更新后的数据版本号;
修改执行模块,用于基于所述事务对象的事务状态以及所述数据版本号的同步状态,根据所述数据对象的期望值对数据值进行修改,并更新所述数据版本号。
在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百果园技术(新加坡)有限公司,未经百果园技术(新加坡)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011549931.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:消息展示方法、装置、计算机设备及存储介质
- 下一篇:一种防水导轨