CN116756135B - 一种数据清理方法、装置、设备及介质 - Google Patents
一种数据清理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116756135B CN116756135B CN202310844226.9A CN202310844226A CN116756135B CN 116756135 B CN116756135 B CN 116756135B CN 202310844226 A CN202310844226 A CN 202310844226A CN 116756135 B CN116756135 B CN 116756135B
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- current
- cleaning
- global
- 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.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000737 periodic effect Effects 0.000 abstract description 7
- 230000009191 jumping Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 101100153085 Dictyostelium discoideum trxA gene Proteins 0.000 description 8
- 101150102071 TRX1 gene Proteins 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 239000002253 acid Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- 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
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)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据清理方法、装置、设备及介质。该方法包括:当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息;确定全局历史数据链表中待判断的当前历史数据,基于全局事务信息及预设时间窗口,对当前历史数据进行清理判断;在清理判断结果满足清理条件时进行当前历史数据的清理。通过全局事务信息及预设时间窗口综合对当前历史数据进行清理判断,在满足清理条件时进行当前历史数据的清理,实现了对历史版本数据周期性的自动清理,及时释放了磁盘空间,避免了历史版本数据被提前清理的问题,同时满足了全局事务的一致性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据清理方法、装置、设备及介质。
背景技术
分布式数据库是将业务的结构化查询语言(StructuredQuery Language,SQL)请求分解到多个单机数据库上执行。在单机数据库使用全局多版本并发控制技术时,会产生数据的多个版本,如果不及时清理历史版本数据的话,会造成数据文件的膨胀。
目前,进行单机数据库历史数据清理的方式为单机数据库会遍历所有当前活跃的事务,找到最早创建快照的事务oldest_trx,用它的本地事务快照判断生成历史数据版本的事务trx1是否在oldest_trx创建快照之前提交,如果是,那么这个历史数据版本可以清理;否则,不能清理。基于此方法的核心是如果事务trx1修改的最新版本数据已经可以被当前所有活跃事务基于本地事务快照读到,那么就不再需要事务trx1生成的历史版本数据了。
但是这种判断方式使用的是最早创建快照的事务的本地事务快照,如果使用所有活跃事务中最小的分布式事务快照sts判断,trx1修改的最新版本数据是有可能读不到的,那么trx1生成的历史版本数据还是被需要的,不应该被清理,则会导致了提前清理的情况。
发明内容
本发明提供了一种数据清理方法、装置、设备及介质,以实现对历史数据清理的准确性和及时性。
根据本发明的第一方面,提供了一种数据清理方法,包括:
当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息;
确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断;
在清理判断结果满足清理条件时进行所述当前历史数据的清理。
根据本发明的第二方面,提供了一种数据清理装置,包括:
信息确定模块,用于当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息;
清理判断模块,用于确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断;
数据清理模块,用于在清理判断结果满足清理条件时进行所述当前历史数据的清理。
根据本发明的第三方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据清理方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据清理方法。
本发明实施例的技术方案,通过当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息;确定全局历史数据链表中待判断的当前历史数据,基于全局事务信息及预设时间窗口,对当前历史数据进行清理判断;在清理判断结果满足清理条件时进行当前历史数据的清理。通过全局事务信息及预设时间窗口综合对当前历史数据进行清理判断,在满足清理条件时进行当前历史数据的清理,实现了对历史版本数据周期性的自动清理,及时释放了磁盘空间,避免了历史版本数据被提前清理的问题,同时满足了全局事务的一致性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据清理方法的流程图;
图2是根据本发明实施例一提供的一种数据清理方法中读数据的示例流程图;
图3是根据本发明实施例二提供的一种数据清理方法的流程图;
图4是根据本发明实施例二提供的一种数据清理方法的示例流程图;
图5是根据本发明实施例三提供的一种数据清理装置的结构示意图;
图6是实现本发明实施例的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种数据清理方法的流程图,本实施例可适用于分布式数据库的数据清理情况,该方法可以由数据清理装置来执行,该数据清理装置可以采用硬件和/或软件的形式实现,该数据清理装置可配置于电子设备中。
需要知道的是,本方案采用TSOServer(全局时钟服务)的多版本并发控制方法来保证全局事务读一致性,其主要架构为:Gate:分布式数据库的入口,主要负责处理客户端的请求并分发请求到各个单机数据库,同时负责控制分布式事务的执行流程。TSOServer:负责分发全局唯一递增的时间戳。Snapshot-TS(sts):分布式事务开始时,Gate从TSO获取。在开启各个单机数据库事务的同时,下发sts。即属于这个分布式事务的各个单机数据库事务,拥有相同的sts,各个单机数据库事务使用相同的sts查询数据,以满足分布式事务的ACID的一致性。Commit-TS(cts):分布式事务提交前,Gate从TSO获取。在提交各个单机数据库事务的同时,下发cts。即属于这个分布式事务的各个单机数据库事务,拥有相同的cts。各个单机数据库事务拥有相同的cts,以满足分布式事务的ACID的一致性。单机数据库:使用全局多版本并发控制技术,事务为写操作修改最新版本的数据,同时生成所述数据的历史版本,数据的每个版本都增加cts的持久化,代表更新这个数据版本的分布式事务的cts;当有读操作发生时,按照读操作所在事务开始阶段获得的快照,从最新版本开始,逆序遍历历史版本数据,找出第一个可以读取的该数据项的某个版本(某个版本数据可以读取,一般也称之为某个版本数据可见)。快照包含两个,一个是本地事务快照,它是一个当前活动事务的集合,使用这个快照读数据(判断数据是否可见)可以读到单机事务一致性的数据;另一个是分布式事务快照(也叫全局快照),即sts,使用这个快照读数据(判断数据是否可见)可以读到全局事务一致性的数据。故属于分布式事务的单机数据库事务基于分布式事务快照判断数据是否可见,以此来保证全局事务读一致性。
分布式事务可能延迟在某个单机数据库上开启单机事务,即分布式事务开启分布式事务(global_trx1),为了提高效率,不会即刻在所有的单机数据库上开启单机事务,而是等global_trx1真正执行业务(sql)时,判断其需要访问哪个单机数据库,进而在部分单机数据库上开启单机事务,同时下发全局快照时间戳。因此,某个分布式事务可能延迟一段时间在某个单机数据库上用一个较早申请的全局快照时间戳(early_sts)开启单机事务。这样单机数据库使用所有活跃事务中最小的分布式事务快照sts有可能是大于early_sts的,那么用所述sts判断事务trx1修改的最新版本数据已经可以被当前所有活跃事务读到,可是如果用early_sts判断的话,即未来这个延迟的单机事务开启后使用early_sts可能不可以读到trx1修改的最新版本数据,那么trx1的历史版本数据依然被需要,不能被清理。为了解决如上问题,设计了本方案。
如图1所示,该方法包括:
S110、当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息。
在本实施例中,数据清理条件可以理解为用于定期清理的条件,如设定的清理周期等,例如每5秒执行一次清理。数据库可以理解为用于储存数据,如使用全局多版本并发控制技术的单机数据库等。事务状态信息可以理解为用于标识出事务当前所处状态的信息。
需要知道的是,全局历史数据链表是个单向链表。历史数据是事务在更新数据时,生成的历史版本数据。例如更新数据行(1,’a’)-->(1,’b’),那么此时会生成一个历史版本数据(1,‘a’)。每个事务可以更新多条数据,同时在事务提交时会把事务更新的所有历史版本数据以及事务的全局提交时间戳组装成一个逻辑单元插入到全局历史数据链表的尾部。逻辑单元可以称之为事务生成的历史数据。
在本实施例中,全局事务信息可以理解为用于表征最早事务快照和最小快照时间戳等信息。
具体的,处理器可以在数据库启动后台进程周期性(例如,每5秒执行一次)的执行历史数据自动清理流程,即满足周期性间隔时满足数据清理条件,当满足数据清理条件时,处理器可以对数据库的事务进行遍历,获得事务状态信息,并在事务状态信息中确定出满足条件的最小全局快照时间戳以及最早事务快照,将该最早事务快照及最小全局快照时间戳作为数据库在当前时刻的全局事务信息。
S120、确定全局历史数据链表中待判断的当前历史数据,基于全局事务信息及预设时间窗口,对当前历史数据进行清理判断。
在本实施例中,当前历史数据可以理解为需要进行清理判断的历史数据。预设时间窗口可以理解为一个系统配置,是指分布式事务允许在某个单机数据库上延迟开启单机数据库事务的最长时间(时间窗口和系统时间之间的转换,这里不做具体表述,取决于具体实现)。
具体的,处理器可以在全局历史数据链表中进行遍历,确定出每个事务生成的历史数据中的待判断的当前历史数据及生成该历史数据的事务对应的全局提交时间戳,通过时间窗口对全局提交时间戳进行修正,进而将修正后的值与全局事务信息中的当前最小快照时间戳进行比对,确定是否可以清理,同时处理器可以通过全局事务信息中的最早事务快照进行判断该事务修改的最新版本数据是否可以读到,当该当前历史数据既可以清理而且其对应的最新版本数据又能被读到时,该当前历史数据是不被需要的,可以被清理,否则,是不可以被清理的。
S130、在清理判断结果满足清理条件时进行当前历史数据的清理。
在本实施例中,清理判断结果可以理解为用于指示当前历史数据是否可以被清理的结果。清理条件可以理解为清理判断结果为可以清理所对应的条件。
具体的,当清理判断结果为可以清理时,对当前历史数据进行清理。
本发明实施例的技术方案,通过当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息;确定全局历史数据链表中待判断的当前历史数据,基于全局事务信息及预设时间窗口,对当前历史数据进行清理判断;在清理判断结果满足清理条件时进行当前历史数据的清理。通过全局事务信息及预设时间窗口综合对当前历史数据进行清理判断,在满足清理条件时进行当前历史数据的清理,实现了对历史版本数据周期性的自动清理,及时释放了磁盘空间,避免了历史版本数据被提前清理的问题,同时满足了全局事务的一致性。
作为本实施例一的第一可选实施例,在根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息之后,还可以进一步优化包括:
当进行读取事务时,基于分布式事务快照及获取的在当前时刻下的目标全局事务信息,确定读取事务所对应的读取结果。
在本实施例中,读取事务可以理解为需要从数据库中进行数据读取的事务,可以包括查询事务等。分布式事务快照可以理解为使用这个快照读数据(判断数据是否可见)可以读到全局事务一致性的数据。目标全局事务信息可以理解为在进行读取事务时查询到的全局事务信息。
具体的,当处理器进行读取事务时,可以查找在当前时刻下的目标全局事务信息,并提取出其中的目标最小快照时间戳,按照逆序遍历历史版本数据,并基于分布式事务快照进行查找,如果找到第一个可见的版本数据,则将当前版本数据作为返回结果,如果当前版本数据不可见,则需要在获取当前版本数据的历史版本数据之前判断历史版本是否被清理了,则处理器可以基于事务提交状态、目标最小快照时间戳及预设时间窗口来判断是否被清理。
进一步的,在上述实施例的基础上,可以将基于分布式事务快照及获取的在当前时刻下的目标全局事务信息,确定读取事务所对应的读取结果的步骤优化为:
a1、提取目标全局事务信息中包括的目标最小快照时间戳。
在本实施例中,目标最小快照时间戳可以理解为在当前时刻查询到的最小快照时间戳。
具体的,处理器可以按照相应的标识等方式提取出目标全局事务信息中包括的目标最小快照时间戳。
b1、根据分布式事务快照获取当前版本数据,并判断当前版本数据是否可见。
在本实施例中,当前版本数据可以理解为按照设定顺序从历史版本数据中选出的版本数据。
具体的,在事务读数据时,可以从最新版本数据开始逆序遍历所有历史版本数据,并基于分布式事务快照找到第一个版本数据作为当前版本数据并判断数据是否可见。
c1、若是,则读取当前版本数据,并将读取的数据作为读取结果。
具体的,如果当前版本数据可见,则处理器可以读取当前版本数据,并将读取的数据作为读取结果。
d1、若否,则根据目标最小快照时间戳、当前版本数据的事务状态及对应事务的目标全局提交时间戳,确定读取结果。
在本实施例中,事务状态可以理解为用于表征修改当前版本数据的事务是否已经提交的值。全局提交时间戳可以理解为事务提交时生成的全局唯一递增时间戳。
具体的,如果当前版本数据不可见,则处理器可以首先通过事务状态确定修改当前版本数据的事务是否提交,在没有提交时,当前版本数据所对应的历史版本数据还未被清理,则可以将历史版本数据作为读取结果,当已经提交时,则可以通过目标最小快照时间戳、目标全局提交时间戳及预设时间窗口来判断历史数据是否被清理,当被清理了则将错误提示作为读取结果,如果没被清理就读取历史版本数据作为读取结果。
其中,可以将根据目标最小快照时间戳、当前版本数据的事务状态及对应事务的目标全局提交时间戳,确定读取结果的步骤进一步优化为:
d11、当事务状态为未提交时,获取相对当前版本数据的第一历史版本数据,并根据第一历史版本数据确定读取结果。
在本实施例中,第一历史版本数据可以理解为当前版本数据的上一历史版本数据。
需要知道的是,在当前版本数据不可见时,可能是由于修改当前版本数据的事务没有提交,事务没有提交则当前版本的历史数据不会被清理,因为事务没提交,它还不会把历史数据插入到全局历史数据链表,所以不会被清理。
具体的,处理器可以通过事务状态来判断修改当前版本数据的事务是否已经提交,当事务状态显示未提交时,处理器可以进行逆序遍历下一版本历史数据,获取相对当前版本数据的第一历史版本数据,并将第一历史版本数据作为当前版本数据并返回b1步骤,重新确定第一历史版本数据是否可见,进而通过后续步骤确定出读取结果。
d12、当事务状态为已提交且无法读取当前版本数据时,若目标全局提交时间戳与预设时间窗口之和小于目标最小快照时间戳时,则将错误提示作为读取结果。
在本实施例中,错误提示可以理解为用于展示无法读取到结果而生成的提示信息。
具体的,当事务状态为已提交,并且通过当前版本数据的全局快照时间戳确定不可以读取当前版本数据时,处理器可以判断在目标全局提交时间戳与预设时间窗口之和小于目标最小快照时间戳时,确定当前版本数据已经在上一次自动清理流程中被清理了。其中,由于当前查询线程和历史数据自动清理线程是异步的,即使当前查询线程判断其历史数据是可以被清理的,此时自动清理线程也有可能还没来得及清理,但是也有可能已经执行完清理了。则在当前版本数据已经被清理时则生成错误提示,将错误提示作为读取结果,提醒使用者无法进行读取。
d13、否则,获取相对当前版本数据的第二历史版本数据,并根据第二历史版本数据确定读取结果。
具体的,当事务状态为已提交,并且通过当前版本数据的全局快照时间戳确定不可以读取当前版本数据时,处理器可以判断在全局提交时间戳与预设时间窗口之和大于或等于目标最小快照时间戳,则处理器可以获取相对当前版本数据的第二历史版本数据,并将第二历史版本数据作为当前版本数据并返回b1步骤,重新确定第二历史版本数据是否可见,进而通过后续步骤确定出读取结果。
本实施例一的第一可选实施例,通过目标最小快照时间戳及预设时间窗口确定历史版本数据是否被清理,当被清理时进行报错,当未被清理时将可读的历史版本数据作为读取结果。实现了对数据库中数据的读取流程,支持分布式事务开启单机数据库事务的延时超过一个时间窗口范围时,当读到可能被清理的数据时报错,保证了全局事务一致性。
示例性的,为了便于理解本方案的读取流程,以一个具体示例进行展示,图2为本发明实施例一提供的一种数据清理方法中读数据的示例流程图,如图2所示:
S21、当进行读取事务时,根据分布式事务快照获取当前版本数据;
S22、判断当前版本数据是否可见,若是则跳转至步骤S29,若否则跳转至步骤S23;
S23、是否存在历史版本数据,若是则跳转至步骤S24,若否则跳转至步骤S28;
S24、事务状态是否为已提交,若是则跳转至步骤S25,若否则跳转至步骤S26;
S25、目标全局提交时间戳与预设时间窗口之和是否小于目标最小快照时间戳,若是则跳转至步骤S27,若否,则跳转至步骤S26;
S26、获取历史版本数据;
S27、将错误提示作为读取结果;
S28、将空作为读取结果;
S29、将当前版本数据作为读取结果。
实施例二
图3为本发明实施例二提供的一种数据清理方法的流程图,本实施例是在上述实施例的基础上的进一步细化。如图3所示,该方法包括:
S310、当满足数据清理条件时,根据数据库的事务状态信息,确定数据库中的最早事务快照,并判断数据库在当前时刻是否存在活跃事务。
在本实施例中,事务状态信息可以理解为用于表征数据库中的事务当前状态的信息。活跃事务可以理解为已经开始了,但是还没有提交或者回滚的事务。
具体的,当满足数据清理条件时,处理器可以根据数据库的事务状态信息来确定数据库中的最早事务快照,并根据事务状态信息判断数据库在当前时刻是否存在活跃事务。
S320、根据活跃事务判断结果及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳。
在本实施例中,活跃事务判断结果可以理解为判断出的存在活跃事务或不存在活跃事务的结果。上一最小快照时间戳可以理解为在上一次确定出的最小快照时间戳。
具体的,上一最小快照时间戳可以持久化到本地磁盘文件,并且在本地磁盘文件中只保存一个最小快照时间戳,相应的,处理器可以从本地磁盘文件中读取到上一次确定出的上一最小快照时间戳。如果本次数据清理为首次,则处理器可以将在本地磁盘文件中读取到的上一最小快照时间戳作为当前时刻所对应的上一最小快照时间戳。如果不是首次,则可以根据活跃事务判断结果结合相应的确定方式来确定中间快照时间戳,进而通过中间快照时间戳与上一最小快照时间戳之间的大小关系,确定出数据库在当前时刻的当前最小快照时间戳。
进一步的,在上述实施例的基础上,可以将根据活跃事务判断结果,及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳的步骤优化为:
a2、当活跃事务判断结果为存在活跃事务时,确定数据库中包括活跃事务的快照时间戳的最小值,并将最小值作为中间最小时间戳。
在本实施例中,中间最小时间戳可以理解为用于确定当前最小快照时间戳的中间值。
具体的,当活跃事务判断结果为存在活跃事务时,处理器根据活跃事务判断结果确定数据库中包括哪些活跃事务,并且确定活跃事务对应的快照时间戳,进而选择其中的最小值,将最小值作为中间最小时间戳。
b2、当活跃事务判断结果为不存在活跃事务时,则获取数据库的最大时间戳,并基于最大时间戳确定中间最小时间戳。
在本实施例中,最大时间戳可以理解为处理器当前接收到Gate下发的所有全局快照时间戳(sts)和全局提交时间戳(cts)的最大值,其中,Gate为分布式数据库的入口,主要负责处理客户端的请求并分发请求到各个单机数据库,同时负责控制分布式事务的执行流程,每次在开启属于分布式事务的数据库事务时,会接收到sts,在提交分布式事务时,会接收到cts。每次接收到sts或cts时,判断是否大于上一最大时间戳,如果是,那么进行上一最大时间戳的更新。
具体的,当活跃事务判断结果为不存在活跃事务时,处理器可以获取数据库在当前时刻的最大时间戳,可以通过最大时间戳加上设定数值(如1)的形式确定中间最小时间戳。
c2、根据中间最小时间戳及上一最小快照时间戳,确定当前最小快照时间戳。
具体的,处理器可以将中间最小时间戳与上一最小快照时间戳进行比较,将数值最小的作为当前最小快照时间戳。
S330、将当前最小快照时间戳及最早事务快照作为全局事务信息。
具体的,处理器可以将当前最小快照时间戳及最早事务快照作为全局事务信息。
S340、对全局历史数据链表进行遍历,根据上一历史数据的上一清理判断结果,确定待判断的当前历史数据,并获取当前历史数据所属事务的全局提交时间戳。
具体的,处理器可以对全局历史数据链表进行遍历,获取上一历史数据的上一清理判断结果。当上一清理判断结果为不执行清理时,则结束遍历操作,终止这轮自动清理流程。当上一清理结果为执行清理时,则将遍历得到的历史数据作为待判断的当前历史数据,并获取当前历史数据所属事务的全局提交时间戳。
S350、通过全局事务信息中包括的最早事务快照判断当前历史数据是否可清理,确定第一判断结果。
在本实施例中,第一判断结果可以理解为基于最早事务快照确定的是否可清理结果。
具体的,处理器可以通过全局事务信息中包括的最早事务快照,判断生成当前历史数据的事务修改的最新版本数据是否可见,若可见则可清理,若不可见则不可清理,进而确定第一判断结果。
S360、通过全局提交时间戳、全局事务信息中包括的当前最小快照时间戳及预设时间窗口判断当前历史数据是否可清理,确定第二判断结果。
在本实施例中,第二判断结果可以理解为基于全局提交时间戳、最小快照时间戳及预设时间窗口确定的是否可清理结果。
具体的,处理器可以通过全局提交时间戳与预设时间窗口之和是否小于当前最小快照时间戳,确定当前历史数据所对应的最新版本数据是否可见,若小于则可见,即可以清理,否则不能清理,进而确定出第二判断结果。
S370、根据第一判断结果及第二判断结果,对当前历史数据进行清理判断,确定当前历史数据的清理判断结果。
具体的,处理器可以根据第一判断结果及第二判断结果,对当前历史数据进行清理判断,确定当前历史数据的清理判断结果。
进一步的,在上述实施例的基础上,可以将根据第一判断结果及第二判断结果,对当前历史数据进行清理判断,确定当前历史数据的清理判断结果的步骤优化为:
a3、若第一判断结果及第二判断结果均为清理时,则将执行清理当前历史数据作为清理判断结果。
具体的,如果第一判断结果及第二判断结果均为清理,则处理器可以将执行清理当前历史数据作为清理判断结果。
b3、否则,将不执行清理当前历史数据作为清理判断结果。
具体的,否则,处理器可以将不执行清理作为清理判断结果。
S380、在清理判断结果满足清理条件时进行当前历史数据的清理。
本发明实施例的技术方案,通过判断数据库中是否存在活跃事务,不同的活跃事务存在情况通过不同的中间最小时间戳确定方法来确定,结合上一最小快照时间戳来确定出当前最小快照时间戳,结合最早事务快照进行二次判断,通过预设时间窗口来进行延时,从而确定出当前历史数据是否可以被清理,实现了对历史版本数据周期性的自动清理,及时释放了磁盘空间,避免了历史版本数据被提前清理的问题,同时满足了全局事务的一致性。
示例性的,为了便于理解本方案的数据清理流程,以一个具体示例进行展示,图4为本发明实施例二提供的一种数据清理方法的示例流程图,如图4所示,该方法包括:
S41、数据库启动,获取本地磁盘文件中的最小快照时间戳作为上一最小快照时间戳;
S42、当满足数据清理条件时,根据数据库的事务状态信息判断是否存在活跃事务,若是则跳转至步骤S43,若否则跳转至步骤S44;
S43、将活跃事务的快照时间戳的最小值作为中间最小时间戳;
S44、获取数据库的最大时间戳,并基于最大时间戳确定中间最小时间戳;
S45、上一最小快照时间戳是否小于中间最小时间戳,若是则跳转至步骤S46,若否则跳转至步骤S47;
S46、将上一最小时间戳作为当前最小快照时间戳;
S47、将中间最小时间戳作为当前最小快照时间戳;
S48、对全局历史数据链表进行遍历,获取当前历史数据;
S49、下一历史数据是否为空,若是则结束,若否则跳转至步骤S50;
S50、使用最早事务快照判断是否可以清理,若是则跳转至步骤S51,若否则跳转至步骤S52;
S51、全局提交时间戳与预设时间窗口之和是否小于当前最小快照时间戳,若是则跳转至步骤S52,若否则结束;
S52、清理当前历史数据。
实施例三
图5为本发明实施例三提供的一种数据清理装置的结构示意图。如图5所示,该装置包括:信息确定模块51、清理判断模块52及数据清理模块53。其中,
信息确定模块51,用于当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息;
清理判断模块52,用于确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断;
数据清理模块53,用于在清理判断结果满足清理条件时进行所述当前历史数据的清理。
本发明实施例的技术方案,通过当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定数据库在当前时刻的全局事务信息;确定全局历史数据链表中待判断的当前历史数据,基于全局事务信息及预设时间窗口,对当前历史数据进行清理判断;在清理判断结果满足清理条件时进行当前历史数据的清理。通过全局事务信息及预设时间窗口综合对当前历史数据进行清理判断,在满足清理条件时进行当前历史数据的清理,实现了对历史版本数据周期性的自动清理,及时释放了磁盘空间,避免了历史版本数据被提前清理的问题,同时满足了全局事务的一致性。
进一步的,信息确定模块51包括:
事物判断单元,用于根据数据库的事务状态信息,确定所述数据库中的最早事务快照,并判断所述数据库在当前时刻是否存在活跃事务;
时间戳确定单元,用于根据活跃事务判断结果及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳;
信息确定单元,用于将所述当前最小快照时间戳及所述最早事务快照作为所述全局事务信息。
其中,时间戳确定单元具体用于:
当所述活跃事务判断结果为存在活跃事务时,确定所述数据库中包括活跃事务的快照时间戳的最小值,并将所述最小值作为所述中间最小时间戳;
当所述活跃事务判断结果为不存在活跃事务时,则获取所述数据库的最大时间戳,并基于所述最大时间戳确定所述中间最小时间戳;
根据所述中间最小时间戳及所述上一最小快照时间戳,确定所述当前最小快照时间戳。
进一步的,清理判断模块52包括:
时间戳获取单元,用于对所述全局历史数据链表进行遍历,根据上一历史数据的上一清理判断结果,确定待判断的当前历史数据,并获取所述当前历史数据所属事务的全局提交时间戳;
第一确定单元,用于通过所述全局事务信息中包括的最早事务快照判断所述当前历史数据是否可清理,确定第一判断结果;
第二确定单元,用于通过所述全局提交时间戳、所述全局事务信息中包括的当前最小快照时间戳及所述预设时间窗口判断所述当前历史数据是否可清理,确定第二判断结果;
第三确定单元,用于根据所述第一判断结果及所述第二判断结果,对所述当前历史数据进行清理判断,确定所述当前历史数据的清理判断结果。
其中,第三确定单元具体用于:
若所述第一判断结果及所述第二判断结果均为清理时,则将执行清理所述当前历史数据作为所述清理判断结果;
否则,将不执行清理所述当前历史数据作为所述清理判断结果。
可选的,该装置还包括:
结果读取模块,用于在根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息之后,当进行读取事务时,基于分布式事务快照及获取的在当前时刻下的目标全局事务信息,确定所述读取事务所对应的读取结果。
进一步的,结果读取模块包括:
时间戳提取单元,用于提取所述目标全局事务信息中包括的目标最小快照时间戳;
可见性判断单元,用于根据所述分布式事务快照获取当前版本数据,并判断所述当前版本数据是否可见;
第一结果单元,用于若是,则读取所述当前版本数据,并将读取的数据作为读取结果;
第二结果单元,用于若否,则根据所述目标最小快照时间戳、所述当前版本数据的事务状态及对应事务的目标全局提交时间戳,确定所述读取结果。
其中,第二结果单元具体用于:
当所述事务状态为未提交时,获取相对所述当前版本数据的第一历史版本数据,并根据所述第一历史版本数据确定所述读取结果;
当所述事务状态为已提交且无法读取所述当前版本数据时,若所述目标全局提交时间戳与预设时间窗口之和小于所述目标最小快照时间戳时,则将错误提示作为所述读取结果;否则,
获取相对所述当前版本数据的第二历史版本数据,并根据所述第二历史版本数据确定所述读取结果。
本发明实施例所提供的数据清理装置可执行本发明任意实施例所提供的数据清理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6示出了可以用来实施本发明的实施例的电子设备60的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备60包括至少一个处理器61,以及与至少一个处理器61通信连接的存储器,如只读存储器(ROM)62、随机访问存储器(RAM)63等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器61可以根据存储在只读存储器(ROM)62中的计算机程序或者从存储单元68加载到随机访问存储器(RAM)63中的计算机程序,来执行各种适当的动作和处理。在RAM63中,还可存储电子设备60操作所需的各种程序和数据。处理器61、ROM62以及RAM63通过总线64彼此相连。输入/输出(I/O)接口65也连接至总线64。
电子设备60中的多个部件连接至I/O接口65,包括:输入单元66,例如键盘、鼠标等;输出单元67,例如各种类型的显示器、扬声器等;存储单元68,例如磁盘、光盘等;以及通信单元69,例如网卡、调制解调器、无线通信收发机等。通信单元69允许电子设备60通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器61可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器61的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器61执行上文所描述的各个方法和处理,例如数据清理方法。
在一些实施例中,数据清理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元68。在一些实施例中,计算机程序的部分或者全部可以经由ROM62和/或通信单元69而被载入和/或安装到电子设备60上。当计算机程序加载到RAM63并由处理器61执行时,可以执行上文描述的数据清理方法的一个或多个步骤。备选地,在其他实施例中,处理器61可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据清理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据清理方法,其特征在于,包括:
当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息;
确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断;
在清理判断结果满足清理条件时进行所述当前历史数据的清理;
其中,所述根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息,包括:
根据数据库的事务状态信息,确定所述数据库中的最早事务快照,并判断所述数据库在当前时刻是否存在活跃事务;
根据活跃事务判断结果及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳;
将所述当前最小快照时间戳及所述最早事务快照作为所述全局事务信息;
所述上一最小快照时间戳为在上一次满足所述数据清理条件时确定出的最小快照时间戳。
2.根据权利要求1所述的方法,其特征在于,所述根据活跃事务判断结果,及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳,包括:
当所述活跃事务判断结果为存在活跃事务时,确定所述数据库中包括活跃事务的快照时间戳的最小值,并将所述最小值作为中间最小时间戳;
当所述活跃事务判断结果为不存在活跃事务时,则获取所述数据库的最大时间戳,并基于所述最大时间戳确定所述中间最小时间戳;
根据所述中间最小时间戳及所述上一最小快照时间戳,确定所述当前最小快照时间戳。
3.根据权利要求1所述的方法,其特征在于,所述确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断,包括:
对所述全局历史数据链表进行遍历,根据上一历史数据的上一清理判断结果,确定待判断的当前历史数据,并获取所述当前历史数据所属事务的全局提交时间戳;
通过所述全局事务信息中包括的最早事务快照判断所述当前历史数据是否可清理,确定第一判断结果;
通过所述全局提交时间戳、所述全局事务信息中包括的当前最小快照时间戳及所述预设时间窗口判断所述当前历史数据是否可清理,确定第二判断结果;
根据所述第一判断结果及所述第二判断结果,对所述当前历史数据进行清理判断,确定所述当前历史数据的清理判断结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一判断结果及所述第二判断结果,对所述当前历史数据进行清理判断,确定所述当前历史数据的清理判断结果,包括:
若所述第一判断结果及所述第二判断结果均为清理时,则将执行清理所述当前历史数据作为所述清理判断结果;
否则,将不执行清理所述当前历史数据作为所述清理判断结果。
5.根据权利要求1所述的方法,其特征在于,在根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息之后,还包括:
当进行读取事务时,基于分布式事务快照及获取的在当前时刻下的目标全局事务信息,确定所述读取事务所对应的读取结果。
6.根据权利要求5所述的方法,其特征在于,基于分布式事务快照及获取在当前时刻下的目标全局事务信息,确定所述读取事务所对应的读取结果,包括:
提取所述目标全局事务信息中包括的目标最小快照时间戳;
根据所述分布式事务快照获取当前版本数据,并判断所述当前版本数据是否可见;
若是,则读取所述当前版本数据,并将读取的数据作为读取结果;
若否,则根据所述目标最小快照时间戳、所述当前版本数据的事务状态及对应事务的目标全局提交时间戳,确定所述读取结果。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标最小快照时间戳、所述当前版本数据的事务状态及对应事务的目标全局提交时间戳,确定所述读取结果,包括:
当所述事务状态为未提交时,获取相对所述当前版本数据的第一历史版本数据,并根据所述第一历史版本数据确定所述读取结果;
当所述事务状态为已提交且无法读取所述当前版本数据时,若所述目标全局提交时间戳与预设时间窗口之和小于所述目标最小快照时间戳时,则将错误提示作为所述读取结果;否则,
获取相对所述当前版本数据的第二历史版本数据,并根据所述第二历史版本数据确定所述读取结果。
8.一种数据清理装置,其特征在于,包括:
信息确定模块,用于当满足数据清理条件时,根据数据库的事务状态信息及全局历史数据链表,确定所述数据库在当前时刻的全局事务信息;
清理判断模块,用于确定所述全局历史数据链表中待判断的当前历史数据,基于所述全局事务信息及预设时间窗口,对所述当前历史数据进行清理判断;
数据清理模块,用于在清理判断结果满足清理条件时进行所述当前历史数据的清理;
其中,所述信息确定模块,包括:
事务判断单元,用于根据数据库的事务状态信息,确定所述数据库中的最早事务快照,并判断所述数据库在当前时刻是否存在活跃事务;
时间戳确定单元,用于根据活跃事务判断结果及确定出的上一最小快照时间戳,确定数据库在当前时刻的当前最小快照时间戳;
信息确定单元,用于将所述当前最小快照时间戳及所述最早事务快照作为所述全局事务信息;
所述上一最小快照时间戳为在上一次满足所述数据清理条件时确定出的最小快照时间戳。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据清理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据清理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310844226.9A CN116756135B (zh) | 2023-07-11 | 2023-07-11 | 一种数据清理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310844226.9A CN116756135B (zh) | 2023-07-11 | 2023-07-11 | 一种数据清理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116756135A CN116756135A (zh) | 2023-09-15 |
CN116756135B true CN116756135B (zh) | 2024-04-23 |
Family
ID=87949682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310844226.9A Active CN116756135B (zh) | 2023-07-11 | 2023-07-11 | 一种数据清理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756135B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016122546A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Transactional key-value store |
CN109739935A (zh) * | 2019-01-09 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、电子设备以及存储介质 |
WO2020108623A1 (zh) * | 2018-11-30 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、服务器以及计算机可读存储介质 |
CN111338766A (zh) * | 2020-03-12 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN114925084A (zh) * | 2022-05-31 | 2022-08-19 | 易保网络技术(上海)有限公司 | 分布式事务处理方法、系统、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747589B2 (en) * | 2007-03-12 | 2010-06-29 | Microsoft Corporation | Transaction time indexing with version compression |
US9098522B2 (en) * | 2012-11-29 | 2015-08-04 | Sap Se | Version garbage collection using snapshot lists |
US11561999B2 (en) * | 2019-01-31 | 2023-01-24 | Rubrik, Inc. | Database recovery time objective optimization with synthetic snapshots |
US11126593B2 (en) * | 2019-06-15 | 2021-09-21 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
-
2023
- 2023-07-11 CN CN202310844226.9A patent/CN116756135B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016122546A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Transactional key-value store |
WO2020108623A1 (zh) * | 2018-11-30 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、服务器以及计算机可读存储介质 |
CN109739935A (zh) * | 2019-01-09 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、电子设备以及存储介质 |
CN111338766A (zh) * | 2020-03-12 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN114925084A (zh) * | 2022-05-31 | 2022-08-19 | 易保网络技术(上海)有限公司 | 分布式事务处理方法、系统、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
ArcSDE版本机制实现水土流失时空数据库;谈晓军;周峰;;水电能源科学;20061230(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116756135A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115617908A (zh) | 一种MySQL数据同步方法、装置、数据库终端、介质及系统 | |
CN116756135B (zh) | 一种数据清理方法、装置、设备及介质 | |
CN112883041A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
CN116107964A (zh) | 一种检查点构建方法、装置、电子设备和存储介质 | |
CN115629903A (zh) | 任务延迟监控方法、装置、设备及存储介质 | |
CN115525797A (zh) | 数据库数据查询方法、装置、设备及存储介质 | |
CN115525721A (zh) | 一种数据同步方法、装置、设备以及存储介质 | |
CN116431394A (zh) | 一种检查点构建方法、装置、电子设备及存储介质 | |
CN115629910B (zh) | 一种事务恢复方法、装置、数据库节点及介质 | |
CN115563015B (zh) | 一种代码热度统计方法、装置、设备和存储介质 | |
CN116302371A (zh) | 事务可见性判断方法、装置、设备及存储介质 | |
CN116719825A (zh) | 可见性确定方法、装置、设备及存储介质 | |
CN117742899A (zh) | 分布式数据库中分布式事务处理方法、设备及介质 | |
CN118093647A (zh) | 一种支持多副本一致性读的分布式数据库查询系统、方法、设备及介质 | |
CN117687989A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115421979A (zh) | 一种日志文件的断点确定方法、装置、设备及存储介质 | |
CN114218325A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN114637738A (zh) | 数据可见性判断方法、装置、数据库节点及介质 | |
CN114610490A (zh) | 防止数据同步时内存溢出的方法、装置、设备及存储介质 | |
CN117453358A (zh) | 离线调度任务的优化方法、装置、电子设备及存储介质 | |
CN115408115A (zh) | 事务启动时间的处理方法、装置、设备及存储介质 | |
CN116069797A (zh) | 多版本数据库的时间戳生成方法、装置、设备及存储介质 | |
CN115599634A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115730000A (zh) | 一种基于数据湖的医疗数据集成方法、装置、设备及介质 | |
CN116860826A (zh) | 基于时序数据库的数据处理方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |