[go: up one dir, main page]

CN117971565A - 一种恢复列存储分布式数据库误删除数据的方法及系统 - Google Patents

一种恢复列存储分布式数据库误删除数据的方法及系统 Download PDF

Info

Publication number
CN117971565A
CN117971565A CN202410377386.1A CN202410377386A CN117971565A CN 117971565 A CN117971565 A CN 117971565A CN 202410377386 A CN202410377386 A CN 202410377386A CN 117971565 A CN117971565 A CN 117971565A
Authority
CN
China
Prior art keywords
data
version
information
attribute file
file
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.)
Granted
Application number
CN202410377386.1A
Other languages
English (en)
Other versions
CN117971565B (zh
Inventor
陈德亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Nankai University General Data Technologies Co ltd
Original Assignee
Tianjin Nankai University General Data Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Nankai University General Data Technologies Co ltd filed Critical Tianjin Nankai University General Data Technologies Co ltd
Priority to CN202410377386.1A priority Critical patent/CN117971565B/zh
Publication of CN117971565A publication Critical patent/CN117971565A/zh
Application granted granted Critical
Publication of CN117971565B publication Critical patent/CN117971565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及电数字数据处理技术领域,尤其涉及一种恢复列存储分布式数据库误删除数据的方法及系统,其方法包括如下步骤:获取数据节点信息,并判断为分布表或复制表后传输;判断分布物理存储位置是否存在表数据文件及A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输;判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有切换版本属性文件后传输;切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。本发明提供的方法及系统能够实现列存储分布式数据库误删除数据的恢复功能,且具有较高的实用价值。

Description

一种恢复列存储分布式数据库误删除数据的方法及系统
技术领域
本发明涉及电数字数据处理技术领域,尤其涉及一种恢复列存储分布式数据库误删除数据的方法及系统。
背景技术
任何数据库的使用都无法避免误删除数据存在的可能性。一旦执行误删除语句并提交事务,表数据将被删除,一般数据库对于删除操作后不会立即清除数据,而是在删除的行记录上做删除标识并不立即删除,但不同场景的数据库对删除的处理存在较大差异:
传统数据库事务粒度一般可以细化到行,所以数据恢复比较简单,可以将数据恢复到某个时间点;可以从二进制日志文件把待恢复数据导出为可阅读文本进行数据恢复;所以传统数据库的误删除数据恢复可以通过命令语句或数据库自身工具进行数据恢复。
而大数据场景的列存储分布式数据库处理的数据比较庞大,因事务对性能影响较大,一般不提供行细粒度事务支持,事务粗粒度到表,所以恢复数据精确到行级别存在一定的难度和障碍;特别是分布式数据库会部署多个节点,各个节点各个分片要保证数据的一致性,难度进一步加大,所以大部分列存储分布式数据库没有提供数据恢复功能,甚至有些列存储分布式数据库不提供删除或修改的命令。
发明内容
本发明所要解决的技术问题是提供一种恢复列存储分布式数据库误删除数据的方法及系统,通过对节点状态及版本状态进行分析,对版本属性文件进行版本切换,从而改变节点状态,使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,实现列存储分布式数据库误删除数据的恢复功能。
本发明是通过以下技术方案予以实现:
一种恢复列存储分布式数据库误删除数据的方法,其包括如下步骤:
S1:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
S2:数据存储结构分析模块根据接收的信息确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理模块,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
S3:元数据及版本状态分析处理模块分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
S4:数据刷新模块根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。
进一步,一种恢复列存储分布式数据库误删除数据的方法包括步骤S5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
进一步,步骤S1中判断集群数据节点信息对应表是否为分布表时包括如下步骤:
S11:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表的属性;
S12:若集群数据节点信息对应表的属性不是引擎表,则不进行数据恢复处理,若集群数据节点信息对应表的属性是引擎表,则判断引擎表的类型;
S13:若判断引擎表为复制表则直接将集群数据节点信息传输给数据存储结构分析模块,若判断引擎表为分布表,则取得集群数据节点对应的分片信息,并将分布表的集群数据节点信息及对应的分片信息传输给数据存储结构分析模块。
进一步,步骤S3中版本属性文件切换包括如下步骤:
S31:分别查看A版本属性文件和B版本属性文件的最后一次操作内容的数据文件记录号,若其中一个版本属性文件最后一次操作内容的数据文件记录号大于另一个版本属性文件最后一次操作内容的数据文件记录号,则查看最后一次操作内容的数据文件记录号大的那个版本属性文件最后一次操作是否为删除操作,若该版本属性文件最后一次操作为删除操作,则判断误删除操作是在该版本属性文件下进行的,则进行下一步操作,若该版本属性文件最后一次操作不是删除操作,则不进行版本切换处理;
S32:查看是否存在事务状态文件,若存在事务状态文件,则进行版本切换;
S33:将版本属性文件切换成最后一次操作内容的数据文件记录号小的版本属性文件。
进一步,步骤S5中数据校验的过程如下:
S51:获取刷新前每一个集群数据节点的每一个分片信息的行数值以及刷新后每一个集群数据节点的每一个分片信息的行数值;
S52:将刷新前每一个集群数据节点的每一个分片信息的行数值与刷新后每一个节点的每一个分片信息的行数值进行比较,遍历所有集群数据节点的所有分片信息,若存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,则判断恢复误删除数据成功,若刷新后所有集群数据节点的所有分片信息的行数值均与刷新后所有集群数据节点的所有分片信息的行数值相等,则判断恢复误删除数据失败而转至步骤S53;
S53:重复执行步骤S1至步骤S4,直至存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,恢复误删除数据成功。
一种恢复列存储分布式数据库误删除数据的系统,用于执行上述任一所述的一种恢复列存储分布式数据库误删除数据的方法,其包括集群信息采集模块、数据存储结构分析模块、元数据及版本状态分析处理模块及数据刷新模块;
所述集群信息采集模块用于采集列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
所述数据存储结构分析模块用于确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
所述元数据及版本状态分析处理模块用于分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
所述数据刷新模块用于根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。
进一步,一种恢复列存储分布式数据库误删除数据的系统还包括数据校验模块,所述数据校验模块用于将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
发明的有益效果:
本发明通过对节点状态及版本状态进行分析,对版本属性文件进行版本切换,从而改变节点状态,使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,实现列存储分布式数据库误删除数据的恢复功能,恢复操作准确可靠,具有较高的实用价值,而且不会增加运行中数据库的额外负担,不影响运行中的其他数据库查询任务。
附图说明
图1是本发明总流程示意图。
图2是本发明集群信息采集模块工作流程示意图。
图3是本发明元数据及版本状态分析处理模块工作流程示意图。
具体实施方式
一种恢复列存储分布式数据库误删除数据的方法,其总流程示意图如图1所示,具体包括如下步骤:
S1:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
集群信息采集模块获取的列存储分布式数据库集群数据节点信息,不同的数据节点对应着不同的分片信息,对于分布表来说,将所有数据节点信息与相应的分片信息对应起来形成表格,就构成了分布表,而对于复制表来说,其数据节点则不存在分片信息,复制表在所有数据节点上都是完整的数据,数据是相同的,而分布表在不同数据节点存在不同的分片信息,一个数据节点可能对应多个不同的分片信息,所有数据节点及其分片信息组成该表的完整数据。表的属性不同,数据物理文件存储的目录不同,所以取得表属性和数据节点对应的分片信息是定位表存储的关键,集群信息采集模块具体工作流程示意图如图2所示。
具体判断集群数据节点信息对应表是否为分布表时包括如下步骤:
S11:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表的属性;
S12:若集群数据节点信息对应表的属性不是引擎表,说明集群数据节点信息对应表的属性为系统表,则不需要进行数据恢复处理而退出数据恢复程序,若集群数据节点信息对应表的属性是引擎表,则说明集群数据节点信息对应表的属性不是系统表,则需要判断引擎表的类型;
S13:若判断引擎表为复制表则直接将集群数据节点信息传输给数据存储结构分析模块,若判断引擎表为分布表,则取得集群数据节点对应的分片信息,并将分布表的集群数据节点信息及对应的分片信息传输给数据存储结构分析模块。因为对于复制表来说,其数据节点不存在分片信息,复制表在所有数据节点上都是完整的数据,数据是相同的,所以不需要进行恢复处理,而对于分布表,不同数据节点存在不同的分片信息,一个数据节点可能对应多个不同的分片信息,所有数据节点及其所有的分片信息组合在一起才能形成该表的完整数据,确定了表的属性,才能根据其数据物理文件存储的目录定位表存储的位置,进而进行误删除数据的恢复处理。
S2:数据存储结构分析模块根据接收的信息确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理模块,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
表数据在各个数据节点存储分为两部分:一部分为元数据,另外一部分为业务数据,我们所述的删除与恢复指的是业务数据的删除与恢复,误删除操作的表会在数据记录上标识删除标记,数据不会真正删除,如果真正删除了数据则无法恢复。正是在此基础上,数据存储结构分析模块可以根据分布表或复制表的物理存储位置,并判断是否存在A版本属性文件和B版本属性文件,便于后期的恢复操作。若不存在A版本属性文件和B版本属性文件,或者缺少其中一个都不能进行后期的恢复操作。
S3:元数据及版本状态分析处理模块分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
具体版本属性文件切换包括如下步骤:
S31:分别查看A版本属性文件和B版本属性文件的最后一次操作内容的数据文件记录号,若其中一个版本属性文件最后一次操作内容的数据文件记录号大于另一个版本属性文件最后一次操作内容的数据文件记录号,则查看最后一次操作内容的数据文件记录号大的那个版本属性文件最后一次操作是否为删除操作,若该版本属性文件最后一次操作为删除操作,则判断误删除操作是在该版本属性文件下进行的,则进行下一步操作,若该版本属性文件最后一次操作不是删除操作,则不进行版本切换处理;
S32:查看是否存在事务状态文件,若存在事务状态文件,则进行版本切换;
S33:将版本属性文件切换成最后一次操作内容的数据文件记录号小的版本属性文件。
事务状态文件是个空文件,用来标识当前使用的版本,如果事务状态文件存在,则说明A版本属性文件存在删除操作,需要将版本切换成B版本属性文件, 如果事务状态文件不存在,则说明B版本属性文件存在删除操作,需要将版本切换成A版本属性文件,从而保证数据恢复的准确性及稳定性。
具体的,假设A版本属性文件的记录号为A.scn,B版本属性文件的记录号为B.scn,若A.scn大于B.scn,则继续查看A版本属性文件中最后一次操作是否为删除操作,若A版本属性文件中最后一次操作为删除操作,则继续查看是否存在事务状态文件,若存在事务状态文件,将版本属性文件切换为B版本属性文件。
具体元数据及版本状态分析处理模块工作流程图如图3所示,图中所述A存在删除操作,是指A版本属性文件存在删除操作,图中所述B存在删除操作,是指B版本属性文件存在删除操作。
S4:数据刷新模块根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。刷新后可以使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,刷新后的值应该与刷新前的值不同而与误删除前的值相同。
本发明通过对节点状态及版本状态进行分析,对版本属性文件进行版本切换,使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,实现列存储分布式数据库误删除数据的恢复功能,具有较高的实用价值,并且在整个恢复过程中,没有增加运行中数据库的额外负担,不影响运行中的其他数据库查询任务。
进一步,一种恢复列存储分布式数据库误删除数据的方法包括步骤S5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
由于恢复误删除数据操作后,可以将数据回滚到事务的上一个状态,刷新后的值应该与刷新前的值不同而与误删除前的值相同。但是由于误删除前的值无法获得,因而可以采用下述方法对恢复误删除数据操作进行校验:
S51:获取刷新前每一个集群数据节点的每一个分片信息的行数值以及刷新后每一个集群数据节点的每一个分片信息的行数值;
S52:将刷新前每一个集群数据节点的每一个分片信息的行数值与刷新后每一个节点的每一个分片信息的行数值进行比较,遍历所有集群数据节点的所有分片信息,若存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,则判断恢复误删除数据成功,若刷新后所有集群数据节点的所有分片信息的行数值均与刷新后所有集群数据节点的所有分片信息的行数值相等,则判断恢复误删除数据失败而转至步骤S53;
S53:重复执行步骤S1至步骤S4,直至存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,恢复误删除数据成功。
采用上述方法对恢复误删除操作进行校验,无需获取误删除前的值,校验方法简单有效,进一步提高了恢复误删除操作的准确性与可靠性。
一种恢复列存储分布式数据库误删除数据的系统,用于执行上述任一所述的一种恢复列存储分布式数据库误删除数据的方法,其包括集群信息采集模块、数据存储结构分析模块、元数据及版本状态分析处理模块及数据刷新模块;
所述集群信息采集模块用于采集列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
所述数据存储结构分析模块用于确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
所述元数据及版本状态分析处理模块用于分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
所述数据刷新模块用于根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。
进一步,一种恢复列存储分布式数据库误删除数据的系统还包括数据校验模块,所述数据校验模块用于将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
综上所述,本发明提供的一种恢复列存储分布式数据库误删除数据的方法及系统,通过对节点状态及版本状态进行分析,对版本属性文件进行版本切换,可以使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,实现列存储分布式数据库误删除数据的恢复功能。本发明提供的方法及系统具有较高的实用价值,稳定可靠而且不会增加运行中数据库的额外负担,不影响运行中的其他数据库查询任务。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种恢复列存储分布式数据库误删除数据的方法,其特征在于,包括如下步骤:
S1:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
S2:数据存储结构分析模块根据接收的信息确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理模块,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
S3:元数据及版本状态分析处理模块分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
S4:数据刷新模块根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。
2.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,还包括步骤S5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
3.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S1中判断集群数据节点信息对应表是否为分布表时包括如下步骤:
S11:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表的属性;
S12:若集群数据节点信息对应表的属性不是引擎表,则不进行数据恢复处理,若集群数据节点信息对应表的属性是引擎表,则判断引擎表的类型;
S13:若判断引擎表为复制表则直接将集群数据节点信息传输给数据存储结构分析模块,若判断引擎表为分布表,则取得集群数据节点对应的分片信息,并将分布表的集群数据节点信息及对应的分片信息传输给数据存储结构分析模块。
4.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S3中版本属性文件切换包括如下步骤:
S31:分别查看A版本属性文件和B版本属性文件的最后一次操作内容的数据文件记录号,若其中一个版本属性文件最后一次操作内容的数据文件记录号大于另一个版本属性文件最后一次操作内容的数据文件记录号,则查看最后一次操作内容的数据文件记录号大的那个版本属性文件最后一次操作是否为删除操作,若该版本属性文件最后一次操作为删除操作,则判断误删除操作是在该版本属性文件下进行的,则进行下一步操作,若该版本属性文件最后一次操作不是删除操作,则不进行版本切换处理;
S32:查看是否存在事务状态文件,若存在事务状态文件,则进行版本切换;
S33:将版本属性文件切换成最后一次操作内容的数据文件记录号小的版本属性文件。
5.根据权利要求2所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S5中数据校验的过程如下:
S51:获取刷新前每一个集群数据节点的每一个分片信息的行数值以及刷新后每一个集群数据节点的每一个分片信息的行数值;
S52:将刷新前每一个集群数据节点的每一个分片信息的行数值与刷新后每一个节点的每一个分片信息的行数值进行比较,遍历所有集群数据节点的所有分片信息,若存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,则判断恢复误删除数据成功,若刷新后所有集群数据节点的所有分片信息的行数值均与刷新后所有集群数据节点的所有分片信息的行数值相等,则判断恢复误删除数据失败而转至步骤S53;
S53:重复执行步骤S1至步骤S4,直至存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,恢复误删除数据成功。
6.一种恢复列存储分布式数据库误删除数据的系统,其特征在于,用于执行如权利要求1至5中任一所述的一种恢复列存储分布式数据库误删除数据的方法,其包括集群信息采集模块、数据存储结构分析模块、元数据及版本状态分析处理模块及数据刷新模块;
所述集群信息采集模块用于采集列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;
所述数据存储结构分析模块用于确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在A版本属性文件和B版本属性文件,若同时存在A版本属性文件和B版本属性文件,则将A版本属性文件和B版本属性文件传输给元数据及版本状态分析处理,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在A版本属性文件和B版本属性文件,则停止恢复处理;
所述元数据及版本状态分析处理模块用于分析A版本属性文件和B版本属性文件,并判断A版本属性文件和B版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;
所述数据刷新模块用于根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。
7.根据权利要求6所述的一种恢复列存储分布式数据库误删除数据的系统,其特征在于,还包括数据校验模块,所述数据校验模块用于将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。
CN202410377386.1A 2024-03-29 2024-03-29 一种恢复列存储分布式数据库误删除数据的方法及系统 Active CN117971565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410377386.1A CN117971565B (zh) 2024-03-29 2024-03-29 一种恢复列存储分布式数据库误删除数据的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410377386.1A CN117971565B (zh) 2024-03-29 2024-03-29 一种恢复列存储分布式数据库误删除数据的方法及系统

Publications (2)

Publication Number Publication Date
CN117971565A true CN117971565A (zh) 2024-05-03
CN117971565B CN117971565B (zh) 2024-06-18

Family

ID=90846407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410377386.1A Active CN117971565B (zh) 2024-03-29 2024-03-29 一种恢复列存储分布式数据库误删除数据的方法及系统

Country Status (1)

Country Link
CN (1) CN117971565B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2422161A1 (en) * 2003-03-14 2004-09-14 Ibm Canada Limited - Ibm Canada Limitee Decoupled object identification for object switching in database systems
GB0519365D0 (en) * 2005-04-14 2005-11-02 Kapur Rajesh Method for preserving access to deleted and overwritten documents by means of a system recycle bin
CN103617277A (zh) * 2013-12-09 2014-03-05 山东瀚高基础软件股份有限公司 一种还原误删除的数据表内容的方法
CN103793429A (zh) * 2012-11-01 2014-05-14 镇江金软计算机科技有限责任公司 一种文档版本管理的实现方法
CN104156278A (zh) * 2014-08-01 2014-11-19 江苏大学 一种文件版本控制系统及其方法
CN106383900A (zh) * 2016-09-29 2017-02-08 郑州云海信息技术有限公司 一种防止Sybase数据库中数据文件误删除的方法及系统
US20190026193A1 (en) * 2016-03-22 2019-01-24 Alibaba Group Holding Limited Method and apparatus for executing data recovery operation
CN109446159A (zh) * 2018-09-03 2019-03-08 中国平安财产保险股份有限公司 多版本文件管理方法、服务器及计算机可读存储介质
CN111045868A (zh) * 2019-12-13 2020-04-21 上海中通吉网络技术有限公司 一种数据库数据自动恢复的方法和装置
US20200341855A1 (en) * 2019-04-28 2020-10-29 Synamedia Object store specialized backup and point-in-time recovery architecture
CN112100194A (zh) * 2020-10-10 2020-12-18 苏州浪潮智能科技有限公司 一种数据库版本管理方法及系统
CN115185966A (zh) * 2022-07-06 2022-10-14 京东科技信息技术有限公司 一种分布式集群中数据一致性的处理方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2422161A1 (en) * 2003-03-14 2004-09-14 Ibm Canada Limited - Ibm Canada Limitee Decoupled object identification for object switching in database systems
GB0519365D0 (en) * 2005-04-14 2005-11-02 Kapur Rajesh Method for preserving access to deleted and overwritten documents by means of a system recycle bin
CN103793429A (zh) * 2012-11-01 2014-05-14 镇江金软计算机科技有限责任公司 一种文档版本管理的实现方法
CN103617277A (zh) * 2013-12-09 2014-03-05 山东瀚高基础软件股份有限公司 一种还原误删除的数据表内容的方法
CN104156278A (zh) * 2014-08-01 2014-11-19 江苏大学 一种文件版本控制系统及其方法
US20190026193A1 (en) * 2016-03-22 2019-01-24 Alibaba Group Holding Limited Method and apparatus for executing data recovery operation
CN106383900A (zh) * 2016-09-29 2017-02-08 郑州云海信息技术有限公司 一种防止Sybase数据库中数据文件误删除的方法及系统
CN109446159A (zh) * 2018-09-03 2019-03-08 中国平安财产保险股份有限公司 多版本文件管理方法、服务器及计算机可读存储介质
US20200341855A1 (en) * 2019-04-28 2020-10-29 Synamedia Object store specialized backup and point-in-time recovery architecture
CN111045868A (zh) * 2019-12-13 2020-04-21 上海中通吉网络技术有限公司 一种数据库数据自动恢复的方法和装置
CN112100194A (zh) * 2020-10-10 2020-12-18 苏州浪潮智能科技有限公司 一种数据库版本管理方法及系统
CN115185966A (zh) * 2022-07-06 2022-10-14 京东科技信息技术有限公司 一种分布式集群中数据一致性的处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
尚湖;: "完全恢复误删硬盘数据", 电脑知识与技术(经验技巧), no. 10, 5 October 2009 (2009-10-05) *
李亚萌;何泾沙;: "基于Hash的YAFFS2文件各版本恢复算法研究", 信息网络安全, no. 05, 10 May 2016 (2016-05-10) *
沈长达;吴少华;钱镜洁;何广高;: "ReiserFS删除文件的恢复技术研究", 信息网络安全, no. 09, 10 September 2015 (2015-09-10) *

Also Published As

Publication number Publication date
CN117971565B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US8560500B2 (en) Method and system for removing rows from directory tables
EP4006740A1 (en) Method for indexing data in storage engines, and related device
CN114600094B (zh) 为数据库架构生成哈希树
CN106155832B (zh) 一种数据恢复的方法、装置及Android设备
CN103593449B (zh) 一种数据库资源回收方法及系统
US20060107103A1 (en) Apparatus and method for recovering destroyed data volumes
US12222926B2 (en) Consistency checking for distributed analytical database systems
WO2020119143A1 (zh) 一种数据库删除记录的恢复方法及系统
CN109189759B (zh) Kv存储系统中的数据读取方法、数据查询方法、装置及设备
CN110764943B (zh) 一种Oracle数据库的数据处理方法及装置
US11567839B2 (en) Snapshot-based data corruption detection
CN109101368B (zh) 一种数据处理方法及装置
US12174987B2 (en) System and method for representing and verifying a data set using a tree-based data structure
CN117971565A (zh) 一种恢复列存储分布式数据库误删除数据的方法及系统
CN110543485B (zh) 一种基于快照的区块链预约归档方法
CN111949524A (zh) 一种数据接口测试方法、装置、服务器和存储介质
CN111221801A (zh) 一种数据库迁移方法、系统及相关装置
CN116089394A (zh) 数据库的数据回滚方法、存储介质与设备
CN116401229A (zh) 数据库的数据校验方法、装置及设备
US8326808B2 (en) Information processing apparatus, and information processing method, program, and recording medium
CN117971854B (zh) 一种基于GBase8s数据库逻辑日志的数据闪回实现方法
CN113190536A (zh) 一种对双活数据库管理复制系统的快速修复方法及装置
CN114610688B (zh) 日志聚合方法、装置、计算机设备和存储介质
CN121092492A (zh) 元数据迁移方法、装置、设备、存储介质及程序产品
CN116204354A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 201-33, Unit 2, Building 2, No. 39 Gaoxin 6th Road, Binhai Science and Technology Park, Binhai New Area, Tianjin, China 300452

Patentee after: TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co.,Ltd.

Country or region after: China

Address before: 300384 building J, Haitai green industrial base, 6 Haitai development road, Huayuan Industrial Zone, Binhai New Area, Tianjin

Patentee before: TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co.,Ltd.

Country or region before: China