CN114722125A - 数据库事务处理的方法、装置、设备和计算机可读介质 - Google Patents
数据库事务处理的方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN114722125A CN114722125A CN202210373077.8A CN202210373077A CN114722125A CN 114722125 A CN114722125 A CN 114722125A CN 202210373077 A CN202210373077 A CN 202210373077A CN 114722125 A CN114722125 A CN 114722125A
- Authority
- CN
- China
- Prior art keywords
- file
- database transaction
- transaction
- data file
- cloud platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 2
- 238000011084 recovery Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000004140 cleaning Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000002955 isolation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据库事务处理的方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名;将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。该实施方式能够提高云原生场景中数据库事务处理的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库事务处理的方法、装置、设备和计算机可读介质。
背景技术
事务是关系型数据库的一个重要特点,随着数据库从单机集中式发展为分布式数据库,单机数据库事务也变成了分布式事务。分布式事务通常是使用两阶段提交协议(2PC)来实现的。两阶段提交的执行过程就跟它的名字一样分为两个阶段,投票阶段和提交阶段。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:分布式事务使用两阶段提交协议的主要原因是:两阶段提交针对的是常见的分布式场景。对于依赖云平台提供的基础服务的云原生场景来说,处理事务的效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据库事务处理的方法、装置、设备和计算机可读介质,能够提高云原生场景中数据库事务处理的效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据库事务处理的方法,包括:
将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。
所述数据库事务包括更新事务;
所述将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中之前,还包括:
在分布式节点新建临时数据文件,以及在所述临时数据文件中执行所述更新事务,以更新所述数据库事务。
所述数据库事务包括非更新事务;
所述将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中之前,还包括
将所述数据库事务的数据文件,存入所述临时目录中的数据文件中。
当所述云平台中存在恢复文件的情况下;
所述方法还包括:
删除所述云平台中所述数据文件的可见性文件后,再删除所述云平台中所述数据文件的新增文件,并更新所述云平台的可见性文件。
所述方法还包括:
遍历云平台共享存储的目录,按照数据文件的引用计数确定清理序号,所述引用计数用于记录调用数据文件的次数;
删除事务序号小于或等于所述清理序号的数据文件。
所述基于所述数据库事务的事务序号,更新可见性文件中所述数据文件的符号链接名,包括:
将所述数据文件中的新建符号链接文件,关联所述数据库事务的事务序号对应的数据文件;
在所述可见性文件中,以所述数据库事务的事务序号,更新所述数据文件的新建符号链接名。
所述提交所述数据库事务之前,还包括:执行加锁操作;
所述确定成功提交所述数据库事务之后,还包括:执行解锁操作。
根据本发明实施例的第二方面,提供了一种数据库事务处理的装置,包括:
记录模块,用于将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
提交模块,用于当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
更新模块,用于基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
移动模块,用于将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。
根据本发明实施例的第三方面,提供了一种数据库事务处理的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。分布式节点将数据库事务的数据文件上传至云平台以处理数据库事务,其他分布式节点能够获取上述数据文件,进而能够提高云场景中数据库事务处理的效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据库事务处理的方法的主要流程示意图;
图2是根据本发明实施例的分布式数据库架构示意图;
图3是根据本发明实施例的提交数据库事务的框架示意图;
图4是根据本发明实施例的后台清理的流程示意图;
图5是根据本发明实施例的更新可见性文件中符号链接名的流程示意图;
图6是根据本发明实施例的数据库事务处理的装置的主要结构示意图;
图7是本发明实施例可以应用于其中的示例性***架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
分布式事务的两阶段提交协议包括:投票阶段和提交阶段。在投票阶段中,协调者会向事务的参与者发送执行操作的请求,并等待其他参与者的响应,参与者会执行相对应的事务操作,并向协调者返回执行操作的结果。当所有的参与者都返回了确定的结果时,两阶段提交就进入了提交阶段。确定的结果包括同意或者终止。
在提交阶段,协调者会根据投票阶段的返回情况向所有的参与者发送COMMIT或者ABORT的指令。当事务的所有参与者都决定COMMIT事务时,协调者会向参与者发送COMMIT请求,参与者在完成操作并释放资源之后向协调者返回完成消息,协调者在收到所有参与者的完成消息时会结束整个事务;与之相反,当所有参与者决定ABORT当前事务时,协调者会向事务的参与者发送ABORT请求,参与者会进行回滚并向协调者发送完成的消息。
上述两阶段提交针对的是,常见的MPP架构的分布式场景。MPP架构是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。采用MPP架构的数据库称为MPP数据库。
对于云原生场景,处理事务的效率较低。云原生场景是指依赖云平台提供的基础服务。如:虚拟机服务,云存储服务,云文件服务运行软件的场景。云原生场景区别于传统软件部署在物理机器上,依赖物理机的硬件运行的场景。云原生场景也可以成为云场景。云场景的特征是:计算节点可以非常方便的扩展,集群规模可以很大。
在上述两阶段提交的执行过程中,应用于云场景中具体存在以下缺点:
所有参与该事务操作的节点都在阻塞状态,各个参与者在等待其他参与者响应的过程中,将无法进行其他的任务操作,性能很低。
已有两阶段中,引入了一个协调者的角色,协调者的角色在整个两级段提交协议中起到了非常重要的作用,一旦协调者出现问题,那么第二阶段将无法运转。更为严重的是,在第二阶段协调者出现问题的话,那么其他的参与者将会处于锁定事务资源的状态中,而无法继续完成事务操作。
如果在第一阶段,出现网络故障,或者部分参与者故障,会导致协调者ABORT事务,降低了事务成功概率。这种情况在集群规模大的情况下尤为明显。
如果在第二阶段中,协调者向参与者发送commit请求之后,发生了网络异常或者在发送commit请求过程中协调者发生了故障,这会导致只有一部分参与者接受到了commit请求。而在这部分参与者接到commit请求之后就会执行commit操作。但是其他部分未接到commit请求的机器则无法执行事务提交。于是整个分布式***便出现了数据不一致性的现象。
综上,对于依赖云平台提供的基础服务的云场景来说,处理事务的效率较低。
为了解决在云场景中,处理事务的效率较低,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的数据库事务处理的方法主要流程示意图,通过分布式节点,在云平台提交数据库事务。如图1所示,具体包括以下步骤:
S101、将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中。
本发明实施例中的技术方案主要应用于云平台。云平台提供云文件服务。
参见图2,图2是根据本发明实施例的分布式数据库架构示意图。图2中包括两个客户端和多个计算节点,客户端通过服务器节点享受云文件服务。
云平台提供云文件服务,云文件服务属于共享存储。共享存储上,一个计算节点写入一个文件,其他结算节点都能够实时看到。文件是共享给所有使用存储的计算节点的,所以也叫共享存储。
客户端可以与任意一个计算节点进行通信。计算节点是一个云服务的计算单元,如:虚拟机或者容器。计算节点会进行计算并访问底层的存储数据,然后为上层客户端提供查询等服务。计算节点可以将计算任务分发给其他计算节点以加速计算。存储具体为云服务的存储单元。存储单元通常为云文件服务,或者对象提供存储服务。
本发明实施例中的方案,是基于云文件服务提供的功能来实现分布式事务。下面描述云文件服务的4个基本特性:
特性1、云文件服务采用3副本冗余存储,提供超强的稳定性和可靠性。
特性2、支持标准的NFSv4.0和NFSv4.1协议,提供全托管的服务,无需修改应用,通过标准的文件***挂载步骤即可实现。
特性3、多台云主机可以通过NFS协议,同时访问云文件服务中已创建的文件存储,对文件进行读写操作,实现多计算节点的数据共享。
特性4、文件操作都具有原子性,比如移动文件,创建文件,修改文件名等。
由于使用共享存储,所有分布式节点都拥有一样的数据,事务不需要两个阶段来提交。每一个节点提交时将提交信息记录到共享存储就可以确保其他节点拥有一致的数据。利用共享存储文件操作具有原子性的特点,可以让各个节点具有相同的事务状态,只需要提交时建立一个特定文件表示事务提交,那么所有节点都可以确认事务提交。
参见图3,图3是根据本发明实施例的提交数据库事务的框架示意图。在共享存储中,数据库事务提交的框架涉及多个目录和文件。
从图3中可知,表下属多个文件。下面分别说明表下属的文件。
带有N后缀表示可能有多个文件或目录。Lock文件用来进行加锁操作。如:自旋锁。在云文件服务上加锁操作是一个分布式锁,一旦一个节点加锁了,其他节点不能加锁。
恢复(Recover)文件用来进行恢复,类似于redo日志和undo日志的功能。数据文件即代表对象实际存储数据的文件。可见性文件主要为了实现多版本并发控制技术(MVCC),数据文件的创建事务序号和删除事务序号记录在可见性文件名中,格式为Create_Drop。
事务序号文件为事务提交时所产生的文件,文件名为单调递增序列(1,2,3…),当该文件产生成功,意味着事务提交成功。引用计数文件指当前正在访问的事务序号文件的硬链接,用来确认当前是否有查询在访问这个事务产生的数据文件。临时数据文件是事务运行过程中产生的数据文件,在提交前不可用。
在本发明的实施例中,为了处理云平台上的数据库事务,将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中。
从图3中NodeN_tmp目录即分布式节点的临时目录。上述恢复文件即图3中NodeN_tmp目录下属的Recover文件。
临时目录的恢复文件类似redolog和undolog的功能,用来进行恢复。上述写入临时文件有两个目的。
目的一:写操作并非原子操作,写完后进行重命名或者移动操作时原子操作,可以确保数据文件不会因为宕机而出现损坏。
目的二:写文件内容耗时较长,不利于在提交阶段进行。而改名操作则非常快。在云文件服务中移动操作等价于改名操作。
在本发明的一个实施例中,数据库事务包括更新事务。为了不影响读取操作,在分布式节点新建临时数据文件,以及在上述临时数据文件中执行更新事务,以更新数据库事务。
也就是说,并不进行本地更新,而是先将要修改的数据文件复制为一个新的临时文件数据,然后修改该临时文件数据。这样,读取和写入不是同一个文件,就不会出现读取和写入冲突的情况。
在本发明的一个实施例中,数据库事务包括非更新事务。将数据库事务的数据文件,存入分布式节点的临时目录中的数据文件中。
也就是说,如果数据库事务不是更新事务,则将数据库事务的数据文件写入,每个分布式节点的临时目录中的数据文件中。
上述步骤中,是将数据库事务的数据文件和数据文件名称,记录到分布式节点的临时目录中,为存储数据至云平台奠定基础。
S102、当云平台中不存在恢复文件的情况下,则将数据文件从临时数据目录中移动到云平台的数据文件目录中,以及将临时目录的恢复文件,移动到云平台的数据文件目录中,以提交数据库事务。
为了保证事务的原子性,所有回滚或者异常中断的事务必须将已经修改的数据恢复到事务开始前的状态。如果在事务执行过程中,发现出现错误,或者约束不满足等情况需要回滚,直接根据内存中记录的信息,回滚所有操作即可。恢复(recover)文件的作用是用于恢复数据。
在本发明的一个实施例中,当云平台中不存在恢复文件的情况下,意味着上一次提交数据库事务成功,不需要进行恢复。直接将本次提交的恢复文件从分布式节点的临时目录中移动到云平台的数据文件目录中。然后,将数据库事务的数据文件从分布式节点的临时目录中移动到云平台的数据文件目录中。
在本发明的一个实施例中,当云平台中存在恢复文件的情况下,意味着上一次提交数据库事务失败,需要进行回滚。回滚操作包括删除云平台中数据文件的可见性文件后,删除云平台中数据文件的新增文件,并更新云平台的可见性文件。
具体地,删除数据库事务的数据文件的可见性文件,然后删除云平台中数据文件的新增文件。如果云平台中数据文件的新增文件不存在则不用处理。这部分删除操作时可以重复操作,即如果这个过程出现异常,可以重做一遍,不需要额外处理。
在本发明的一个实施例中,为了提升效率,删除可见性文件和数据文件的新增文件,在具体实现时可以将上述文件移动到临时目录中,由后台清理。具体删除方案如下。
参见图4,图4是根据本发明实施例的后台清理的流程示意图。具体包括以下步骤:
S401、遍历云平台共享存储的目录,按照数据文件的引用计数确定清理序号,引用计数用于记录调用数据文件的次数。
在本发明实施例中,为了加快处理数据库事务的过程,删除操作在后台进行。可以理解的是,S401和S402是在后台执行。具体地,被删除文件没有查询到被访问,那么由后台清理。
云平台中共享存储的可见性目录中事务序号不为0的可见性文件,通常是没有查询到被访问,因此上述可见性文件是由后台清理。
在本发明实施例中,在查询事务序号的情况下,建立事务序号文件的硬链接,称为引用计数。将引用计数设置于对应分布式节点的临时目录中。每创建一个数据文件,则事务序号的引用计数增加一。引用计数用于记录调用数据文件的次数。引用计数越少,则说明文件的使用频率低;引用计数次数越多,则说明文件的使用频率高。
为了清理文件,需要确定清理序号。具体地,TIDS目录下存储有多个事务序号文件。遍历云平台中目录,如TIDS目录,将引用计数大于1的最大事务序号作为清理标识。
具体地,遍历云平台中TIDS目录,找到引用计数大于1的文件,若仅有一个事务序号文件,则意味着没有文件需要清理;遍历云平台中TIDS目录,找到引用计数大于1的文件,若所有事务序号文件的引用计数都是1,清理标识为其中的最大值;若如果所有事务序号文件引用计数并不都是1,清理标识为第一个引用计数不为1的事务序号。
S402、删除事务序号小于或等于清理标识的数据文件。
遍历云平台中的所有数据文件,删除事务序号小于或等于清理标识的文件。其中,所有可见性文件中事务序号小于等于清理标识的文件,都是可以删除的文件。
清理标识以及之前事务文件都是可以删除的,因为已无人访问,而且以后也不会被访问了。最后,删除所有小于清理标识的事务序号对应的文件。
在本发明实施例中,清理操作包括查询文件和删除文件。查询和删除是可重入的,即删除时没有找到目标文件则忽略即可。
在图4的实施例中,为了提高处理数据库事务的速度,删除云平台中文件的操作,可以在后台实现。
S103、基于数据库事务的事务序号,更新可见性文件中的数据文件的符号链接名,可见性文件用于分布式节点的并发控制。
数据库事务的事务序号用于标识数据库事务。作为一个示例,数据库事务的事务序号是数据库事务的当前最大事务序号加一。可以采用下述方式,确定数据库事务的事务序号。
获取当前数据库事务的事务序号(ID),即遍历一遍TIDS目录,取得最大事务序号的文件名,,然后加一即为当前的数据库事务的事务ID:X。
参见图5,图5是根据本发明实施例的更新可见性文件中符号链接名的流程示意图。具体包括以下步骤:
S501、将数据文件中的原有符号链接文件,关联数据库事务的事务序号对应的数据文件。
云平台中可见性文件中的数据文件的符号链接名,是指向数据库事务的数据文件。为了便于获取上述数据文件,需要基于数据库事务的事务序号,更新可见性文件中的数据文件的符号链接名。
具体地,在visibility目录中建立一个数据库事务的事务序号的符号链接文件,关联数据库事务的数据文件,修改原有数据文件的符号链接名。
作为一个示例,数据库事务的事务序号:X,在visibility目录中建立一个X_0的符号链接文件,指向数据库事务的数据文件,修改原有数据文件的符号链接名,由create_0改为create_X。
S502、在可见性文件中,以数据库事务的事务序号,更新数据文件的符号链接名。
在可见性文件中,以数据库事务的事务序号,更新数据文件的符号链接名。进而依据符号链接名,能够获取数据文件。
在图5的实施例中,基于更新后的符号链接名,能够获取数据文件。
S104、将云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交数据库事务。
为了确定提交数据库事务成功,需要将云平台的恢复文件移动到云平台共享存储目录中,如:目录具体是TIDS目录。上述移动操作一旦成功,意味着数据库事务提交成功。在查询数据文件时,通过遍历TIDS目录来确定访问数据文件的最新版本。
在本发明实施例中,由于数据文件一旦命名成功,所有数据都实际存储在云文件服务器上,数据具有持久性,无需要通过redo日志来进行恢复。
需要说明的是,在读取数据文件的过程中,可以利用缓存,以避免每次读取数据文件需要从云文件服务中读取。
在本发明实施例中,磁盘数据存储在共享存储上,所有分布式节点看到的数据都是一致的。即,各个分布式节点读取到数据是相同的,以确保数据一致性。
当分布式节点读取数据的时候,首先在云平台的TIDS目录获取读取号,即遍历一遍TIDS目录,取最大事务序号。然后再取读取这个最大事务序号能读取到的数据文件。
判断规则为:文件的创建版本序号<=读取序号<文件的删除序号。
如果数据库事务X提交失败,那么TIDS目录中必然没有X文件,查询的事务序号只可能为X-1。那么在数据库事务X中提交的文件可见性文件为X_0,或者A_X。按上述判断规则,这些文件即使没有回滚掉,也不影响读取,因为查询本身就不会读取X_0对应的文件,且会去读取A_X文件。效果与回滚X事务是一样的。
也就是说,即使是分布式查询,只需要在主节点上获取到的X号传递给其他分布式节点进行查询,查询出的数据就是一致的。
在本发明的一个实施例中,为了避免多个分布式节点并发操作,在提交数据库事务之前,可以执行加锁操作;在成功提交数据库事务之后,执行解锁操作。
即:先执行加锁操作,再提交数据库事务;确定成功提交数据库事务之后,再执行解锁操作。作为一个示例,可以使用zookeeper等外部程序来实现分布式锁。
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的***开销。包括读未提交、读已提交、可重复读、可串行化。
在本发明实施例中,支持读取已提交隔离级别。读取事务与其他事务完全不冲突,是完全的无锁读取。***事务与更新事务也是只在提交节点会冲突,但是提交数据库事务阶段加锁过程很短,所以并发度很高。
更新事务与更新事务是不能同时进行的,隔离性由分布式锁来保证,需要外部保证,或者在共享存储上实现分布式锁。
在本发明实施例中,为了保证数据库事务的原子性,所有回滚或者异常中断的事务,必须将已经修改的数据恢复到事务开始前的状态。如果在事务执行过程中,发现出现错误,或者约束不满足等情况需要回滚,直接根据内存中记录的信息,回滚所有操作即可。主要关注处理数据库事务过程中,出现宕机导致的事务回滚。
主要异常情况包括以下三种:
异常情况1:
从处理数据库事务开始到,将临时目录中的恢复文件移动到云平台的恢复文件中。此时云平台的恢复文件是没有文件的,所有需要回滚操作的文件都在临时目录内。
所以回滚操作很简单,清空对应分布式节点的临时目录。这部分具体实现可以分两部分,第一部分为节点重启阶段,重启分布式节点时,将对应的临时目录清空。第二部分,由分布式***内其他分布式节点处理,其他分布式节点发现有分布式节点故障,则清理对应的分布式节点的临时目录。
异常情况2:
恢复文件被移动到云平台的恢复文件后,移动为预设标识文件。作为一个示例,预设标识为X,则移动为X文件。这阶段是有恢复文件的,回滚操作交给下一次数据库事务执行提交的过程。如果下一次数据库事务未执行,则不需要回滚,因为并不影响读取,不影响一致性。
异常情况3:
从云平台的恢复文件移动为数据文件,到事务结束,此时无恢复文件,认为事务已提交,无需回滚。
在上述实施例中,将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。分布式节点将数据库事务的数据文件上传至云平台以处理数据库事务,其他分布式节点能够获取上述数据文件,进而能够提高云场景中数据库事务处理的效率。
参见图6,图6是根据本发明实施例的数据库事务处理的装置的主要结构的示意图,数据库事务处理的装置可以实现数据库事务处理的方法,如图6所示,数据库事务处理的装置具体包括:
记录模块601,用于将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
提交模块602,用于当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时数据目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
更新模块603,用于基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
移动模块604,用于将所述云平台的恢复文件移动到所述云平台共享存储的目录中,以确定成功提交所述数据库事务。
在本发明的一个实施例中,所述数据库事务包括更新事务;
记录模块601,还用于在分布式节点新建临时数据文件,以及在所述临时数据文件中执行所述更新事务,以更新所述数据库事务。
在本发明的一个实施例中,所述数据库事务包括非更新事务;
记录模块601,还用于将所述数据库事务的数据文件,存入所述临时目录中的数据文件中。
在本发明的一个实施例中,当所述云平台中存在恢复文件的情况下;
提交模块602,还用于删除所述云平台中所述数据文件的可见性文件后,再上传所述云平台中所述数据文件的新增文件,并更新所述云平台的可见性文件。
在本发明的一个实施例中,更新模块603,还用于遍历云平台共享存储的目录,按照数据文件的引用计数确定清理序号所述引用计数用于记录调用数据文件的次数,;
删除事务标识小于或等于所述清理序号的数据文件。
在本发明的一个实施例中,更新模块603,还用于将所述数据文件中的新建符号链接文件,关联所述数据库事务的事务序号对应的数据文件;
在所述可见性文件中,以所述数据库事务的事务序号,更新所述数据文件的新建符号链接名。
在本发明的一个实施例中,提交模块602,还用于所述提交所述数据库事务之前,还包括:执行加锁操作。
移动模块604,还用于执行解锁操作。
图7示出了可以应用本发明实施例的数据库事务处理的方法或数据库事务处理的装置的示例性***架构700。
如图7所示,***架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据库事务处理的方法一般由服务器705执行,相应地,数据库事务处理的装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机***800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有***800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括记录模块、提交模块、更新模块和移动模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,记录模块还可以被描述为“向用于将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。
根据本发明实施例的技术方案,将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。分布式节点将数据库事务的数据文件上传至云平台以处理数据库事务,其他分布式节点能够获取上述数据文件,进而能够提高云场景中数据库事务处理的效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据库事务处理的方法,其特征在于,包括:
将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。
2.根据权利要求1所述数据库事务处理的方法,其特征在于,所述数据库事务包括更新事务;
所述将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中之前,还包括:
在分布式节点新建临时数据文件,以及在所述临时数据文件中执行所述更新事务,以更新所述数据库事务。
3.根据权利要求1所述数据库事务处理的方法,其特征在于,所述数据库事务包括非更新事务;
所述将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中之前,还包括
将所述数据库事务的数据文件,存入所述临时目录中的数据文件中。
4.根据权利要求1所述数据库事务处理的方法,其特征在于,当所述云平台中存在恢复文件的情况下;
所述方法还包括:
删除所述云平台中所述数据文件的可见性文件后,再删除所述云平台中所述数据文件的新增文件,并更新所述云平台的可见性文件。
5.根据权利要求1所述数据库事务处理的方法,其特征在于,所述方法还包括:
遍历云平台共享存储的目录,按照数据文件的引用计数确定清理序号,所述引用计数用于记录调用数据文件的次数;
删除事务序号小于或等于所述清理序号的数据文件。
6.根据权利要求1所述数据库事务处理的方法,其特征在于,所述基于所述数据库事务的事务序号,更新可见性文件中所述数据文件的符号链接名,包括:
将所述数据文件中的新建符号链接文件,关联所述数据库事务的事务序号对应的数据文件;
在所述可见性文件中,以所述数据库事务的事务序号,更新所述数据文件的新建符号链接名。
7.根据权利要求1所述数据库事务处理的方法,其特征在于,所述提交所述数据库事务之前,还包括:执行加锁操作;
所述确定成功提交所述数据库事务之后,还包括:执行解锁操作。
8.一种数据库事务处理的装置,其特征在于,包括:
记录模块,用于将数据库事务的数据文件名称,记录到分布式节点的临时目录的恢复文件中;
提交模块,用于当云平台中不存在恢复文件的情况下,则将所述数据库事务的数据文件从所述临时目录中移动到所述云平台的数据文件目录中,以及将所述临时目录的恢复文件,移动到所述云平台的所述数据文件目录中,以提交所述数据库事务;
更新模块,用于基于所述数据库事务的事务序号,更新可见性文件中的所述数据文件的符号链接名,所述可见性文件用于分布式节点的并发控制;
移动模块,用于将所述云平台的恢复文件移动到云平台共享存储的目录中,以确定成功提交所述数据库事务。
9.一种数据库事务处理的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210373077.8A CN114722125A (zh) | 2022-04-11 | 2022-04-11 | 数据库事务处理的方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210373077.8A CN114722125A (zh) | 2022-04-11 | 2022-04-11 | 数据库事务处理的方法、装置、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114722125A true CN114722125A (zh) | 2022-07-08 |
Family
ID=82241280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210373077.8A Pending CN114722125A (zh) | 2022-04-11 | 2022-04-11 | 数据库事务处理的方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722125A (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667178A (zh) * | 2008-09-01 | 2010-03-10 | 北京数码大方科技有限公司 | 用于c/s架构文件管理***的事务处理方法 |
US20140101102A1 (en) * | 2012-10-10 | 2014-04-10 | Apple Inc. | Batch processing and data synchronization in cloud-based systems |
US20160147809A1 (en) * | 2014-11-25 | 2016-05-26 | Ivan Schreter | Exporting and Importing Database Tables in a Multi-User Database Environment |
CN106462586A (zh) * | 2014-03-28 | 2017-02-22 | 华为技术有限公司 | 基于记录的多版本并发控制的一致性读取的有效方法和*** |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106951559A (zh) * | 2017-03-31 | 2017-07-14 | 联想(北京)有限公司 | 分布式文件***中数据恢复方法及电子设备 |
US9824095B1 (en) * | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
CN107395763A (zh) * | 2017-08-30 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种多客户端同步处理文件的方法、服务端及*** |
US20190050442A1 (en) * | 2017-08-08 | 2019-02-14 | International Business Machines Corporation | Database recovery using persistent address spaces |
US20190163800A1 (en) * | 2017-11-30 | 2019-05-30 | International Business Machines Corporation | Updating a database |
CN111241200A (zh) * | 2020-01-10 | 2020-06-05 | 浙江华创视讯科技有限公司 | 基于SQLite数据库的主备同步处理方法及装置 |
CN111597015A (zh) * | 2020-04-27 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN111656340A (zh) * | 2018-07-06 | 2020-09-11 | 斯诺弗雷克公司 | 在数据库***中的数据复制和数据故障转移 |
CN111984388A (zh) * | 2020-08-27 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 云环境分布式事务下数据一致性的协调方法及装置、介质 |
CN112286728A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 数据备份方法、装置、设备及计算机存储介质 |
CN112384906A (zh) * | 2018-07-27 | 2021-02-19 | 华为技术有限公司 | 基于mvcc的数据库***的异步缓存一致性 |
CN112579698A (zh) * | 2020-12-02 | 2021-03-30 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、网关设备及存储介质 |
WO2021073571A1 (zh) * | 2019-10-16 | 2021-04-22 | 深圳巨杉数据库软件有限公司 | 基于无碎片回收的数据库多版本并发控制*** |
CN112925676A (zh) * | 2021-03-09 | 2021-06-08 | 浪潮云信息技术股份公司 | 一种基于wal实现分布式数据库集群任意时间点恢复的方法 |
CN113778975A (zh) * | 2021-09-15 | 2021-12-10 | 京东科技信息技术有限公司 | 基于分布式数据库的数据处理方法及装置 |
-
2022
- 2022-04-11 CN CN202210373077.8A patent/CN114722125A/zh active Pending
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667178A (zh) * | 2008-09-01 | 2010-03-10 | 北京数码大方科技有限公司 | 用于c/s架构文件管理***的事务处理方法 |
US9824095B1 (en) * | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
US20140101102A1 (en) * | 2012-10-10 | 2014-04-10 | Apple Inc. | Batch processing and data synchronization in cloud-based systems |
CN106462586A (zh) * | 2014-03-28 | 2017-02-22 | 华为技术有限公司 | 基于记录的多版本并发控制的一致性读取的有效方法和*** |
US20160147809A1 (en) * | 2014-11-25 | 2016-05-26 | Ivan Schreter | Exporting and Importing Database Tables in a Multi-User Database Environment |
CN106855890A (zh) * | 2017-01-09 | 2017-06-16 | 广州巨杉软件开发有限公司 | 一种实现高性能数据库最终一致性全文检索的方法 |
CN106951559A (zh) * | 2017-03-31 | 2017-07-14 | 联想(北京)有限公司 | 分布式文件***中数据恢复方法及电子设备 |
US20190050442A1 (en) * | 2017-08-08 | 2019-02-14 | International Business Machines Corporation | Database recovery using persistent address spaces |
CN107395763A (zh) * | 2017-08-30 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种多客户端同步处理文件的方法、服务端及*** |
US20190163800A1 (en) * | 2017-11-30 | 2019-05-30 | International Business Machines Corporation | Updating a database |
CN111656340A (zh) * | 2018-07-06 | 2020-09-11 | 斯诺弗雷克公司 | 在数据库***中的数据复制和数据故障转移 |
CN112384906A (zh) * | 2018-07-27 | 2021-02-19 | 华为技术有限公司 | 基于mvcc的数据库***的异步缓存一致性 |
WO2021073571A1 (zh) * | 2019-10-16 | 2021-04-22 | 深圳巨杉数据库软件有限公司 | 基于无碎片回收的数据库多版本并发控制*** |
CN111241200A (zh) * | 2020-01-10 | 2020-06-05 | 浙江华创视讯科技有限公司 | 基于SQLite数据库的主备同步处理方法及装置 |
CN111597015A (zh) * | 2020-04-27 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN111984388A (zh) * | 2020-08-27 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 云环境分布式事务下数据一致性的协调方法及装置、介质 |
CN112286728A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 数据备份方法、装置、设备及计算机存储介质 |
CN112579698A (zh) * | 2020-12-02 | 2021-03-30 | 京东数字科技控股股份有限公司 | 数据同步方法、装置、网关设备及存储介质 |
CN112925676A (zh) * | 2021-03-09 | 2021-06-08 | 浪潮云信息技术股份公司 | 一种基于wal实现分布式数据库集群任意时间点恢复的方法 |
CN113778975A (zh) * | 2021-09-15 | 2021-12-10 | 京东科技信息技术有限公司 | 基于分布式数据库的数据处理方法及装置 |
Non-Patent Citations (6)
Title |
---|
KAIWUDB 数据库: "云原生分布式数据库事务隔离级别(上)_分布式事务隔离级别-CSDN博客", Retrieved from the Internet <URL:\'https://blog.csdn.net/ZNBase/article/details/122411003?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171403011316800182711117%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171403011316800182711117&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-122411003-null-null.142^v100^pc_search_result_base9&utm_term=%E4%BA%91%E6%95%B0%E6%8D%AE%E5%BA%93%20%E5%88%86%E5%B8%83%E5%BC%8F%20%E4%BA%8B%E5%8A%A1%20MVCC&spm=1018.2226.3001.4187> * |
YAO, Y. Y等: "PagePrompter: an intelligent Web agent created using data mining techniques", 《ROUGH SETS AND CURRENT TRENDS IN COMPUTING: THIRD INTERNATIONAL CONFERENCE, RSCTC》, 1 January 2002 (2002-01-01) * |
李任: "基于MVCC的NoSQL事务机制的研究和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, 15 December 2019 (2019-12-15) * |
熊莉, 陈松: "一种容错的分布式服务器复制与更新协议", 电脑开发与应用, no. 08, 30 August 2005 (2005-08-30) * |
赵泓尧: "内存数据库并发控制算法的实验研究", 《软件学报》, vol. 33, no. 03, 14 March 2022 (2022-03-14) * |
黄琳;路京;林中;: "基于影子页面的MMDB的数据恢复方法", 计算机工程与设计, no. 10, 28 May 2008 (2008-05-28) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003689B2 (en) | Distributed database transaction protocol | |
US10936578B2 (en) | Client-driven commit of distributed write transactions in a database environment | |
US9081841B2 (en) | Asynchronous distributed garbage collection for replicated storage clusters | |
US11132350B2 (en) | Replicable differential store data structure | |
US9747356B2 (en) | Eager replication of uncommitted transactions | |
US7702660B2 (en) | I/O free recovery set determination | |
US20180329930A1 (en) | Upgrading systems with changing constraints | |
CN111527487A (zh) | 用于内容项同步的唯一标识符的指配和再分配 | |
JP2023546249A (ja) | トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
US11960363B2 (en) | Write optimized, distributed, scalable indexing store | |
EP4189914B1 (en) | Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems | |
US11061889B2 (en) | Systems and methods of managing manifest refresh in a database | |
US7069270B1 (en) | Automated method and mechanism for converting a single instance application to a multiple instance application | |
US20180276267A1 (en) | Methods and system for efficiently performing eventual and transactional edits on distributed metadata in an object storage system | |
CN111522791B (zh) | 一种分布式文件重复数据删除***及方法 | |
US10740320B2 (en) | Systems and methods of operation lock management and system catalog overrides in database systems | |
US8862544B2 (en) | Grid based replication | |
US11768741B2 (en) | Replicating changes written by a transactional virtual storage access method | |
CN115185966A (zh) | 一种分布式集群中数据一致性的处理方法及装置 | |
CN114722125A (zh) | 数据库事务处理的方法、装置、设备和计算机可读介质 | |
US10459810B2 (en) | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery | |
US20240126781A1 (en) | Consensus protocol for asynchronous database transaction replication with fast, automatic failover, zero data loss, strong consistency, full sql support and horizontal scalability | |
WO2024081139A1 (en) | Consensus protocol for asynchronous database transaction replication with fast, automatic failover, zero data loss, strong consistency, full sql support and horizontal scalability | |
WO2024081140A1 (en) | Configuration and management of replication units for asynchronous database transaction replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |