System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种恢复列存储分布式数据库误删除数据的方法及系统技术方案_技高网

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

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

【技术实现步骤摘要】

本专利技术涉及电数字数据处理,尤其涉及一种恢复列存储分布式数据库误删除数据的方法及系统


技术介绍

1、任何数据库的使用都无法避免误删除数据存在的可能性。一旦执行误删除语句并提交事务,表数据将被删除,一般数据库对于删除操作后不会立即清除数据,而是在删除的行记录上做删除标识并不立即删除,但不同场景的数据库对删除的处理存在较大差异:

2、传统数据库事务粒度一般可以细化到行,所以数据恢复比较简单,可以将数据恢复到某个时间点;可以从二进制日志文件把待恢复数据导出为可阅读文本进行数据恢复;所以传统数据库的误删除数据恢复可以通过命令语句或数据库自身工具进行数据恢复。

3、而大数据场景的列存储分布式数据库处理的数据比较庞大,因事务对性能影响较大,一般不提供行细粒度事务支持,事务粗粒度到表,所以恢复数据精确到行级别存在一定的难度和障碍;特别是分布式数据库会部署多个节点,各个节点各个分片要保证数据的一致性,难度进一步加大,所以大部分列存储分布式数据库没有提供数据恢复功能,甚至有些列存储分布式数据库不提供删除或修改的命令。


技术实现思路

1、本专利技术所要解决的技术问题是提供一种恢复列存储分布式数据库误删除数据的方法及系统,通过对节点状态及版本状态进行分析,对版本属性文件进行版本切换,从而改变节点状态,使集群各个数据节点已提交的删除事务强制回滚,将数据回滚到事务的上一个状态,实现列存储分布式数据库误删除数据的恢复功能。

2、本专利技术是通过以下技术方案予以实现:p>

3、一种恢复列存储分布式数据库误删除数据的方法,其包括如下步骤:

4、s1:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;

5、s2:数据存储结构分析模块根据接收的信息确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在a版本属性文件和b版本属性文件,若同时存在a版本属性文件和b版本属性文件,则将a版本属性文件和b版本属性文件传输给元数据及版本状态分析处理模块,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在a版本属性文件和b版本属性文件,则停止恢复处理;

6、s3:元数据及版本状态分析处理模块分析a版本属性文件和b版本属性文件,并判断a版本属性文件和b版本属性文件中是否有一个存在删除操作,若有一个存在删除操作则将版本属性文件切换成不存在删除操作的版本属性文件后传输给数据刷新模块;

7、s4:数据刷新模块根据切换后的版本属性文件对集群数据节点信息及分布表信息进行刷新处理。

8、进一步,一种恢复列存储分布式数据库误删除数据的方法包括步骤s5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤s1至步骤s4,直至刷新后的信息与刷新前的信息不一致为止。

9、进一步,步骤s1中判断集群数据节点信息对应表是否为分布表时包括如下步骤:

10、s11:集群信息采集模块获取列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表的属性;

11、s12:若集群数据节点信息对应表的属性不是引擎表,则不进行数据恢复处理,若集群数据节点信息对应表的属性是引擎表,则判断引擎表的类型;

12、s13:若判断引擎表为复制表则直接将集群数据节点信息传输给数据存储结构分析模块,若判断引擎表为分布表,则取得集群数据节点对应的分片信息,并将分布表的集群数据节点信息及对应的分片信息传输给数据存储结构分析模块。

13、进一步,步骤s3中版本属性文件切换包括如下步骤:

14、s31:分别查看a版本属性文件和b版本属性文件的最后一次操作内容的数据文件记录号,若其中一个版本属性文件最后一次操作内容的数据文件记录号大于另一个版本属性文件最后一次操作内容的数据文件记录号,则查看最后一次操作内容的数据文件记录号大的那个版本属性文件最后一次操作是否为删除操作,若该版本属性文件最后一次操作为删除操作,则判断误删除操作是在该版本属性文件下进行的,则进行下一步操作,若该版本属性文件最后一次操作不是删除操作,则不进行版本切换处理;

15、s32:查看是否存在事务状态文件,若存在事务状态文件,则进行版本切换;

16、s33:将版本属性文件切换成最后一次操作内容的数据文件记录号小的版本属性文件。

17、进一步,步骤s5中数据校验的过程如下:

18、s51:获取刷新前每一个集群数据节点的每一个分片信息的行数值以及刷新后每一个集群数据节点的每一个分片信息的行数值;

19、s52:将刷新前每一个集群数据节点的每一个分片信息的行数值与刷新后每一个节点的每一个分片信息的行数值进行比较,遍历所有集群数据节点的所有分片信息,若存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,则判断恢复误删除数据成功,若刷新后所有集群数据节点的所有分片信息的行数值均与刷新后所有集群数据节点的所有分片信息的行数值相等,则判断恢复误删除数据失败而转至步骤s53;

20、s53:重复执行步骤s1至步骤s4,直至存在刷新后集群数据节点分片信息的行数值大于刷新前集群数据节点分片信息的行数值,恢复误删除数据成功。

21、一种恢复列存储分布式数据库误删除数据的系统,用于执行上述任一所述的一种恢复列存储分布式数据库误删除数据的方法,其包括集群信息采集模块、数据存储结构分析模块、元数据及版本状态分析处理模块及数据刷新模块;

22、所述集群信息采集模块用于采集列存储分布式数据库的集群数据节点信息,并判断集群数据节点信息对应表是否为分布表,若为分布表则将分布表的集群数据节点信息及其对应的分片信息传输给数据存储结构分析模块,若为复制表则将复制表的集群数据节点信息传输给数据存储结构分析模块;

23、所述数据存储结构分析模块用于确定分布表或复制表的物理存储位置,并判断分布表或复制表的物理存储位置是否存在表数据文件,若存在表数据文件则判断表数据文件中是否同时存在a版本属性文件和b版本属性文件,若同时存在a版本属性文件和b版本属性文件,则将a版本属性文件和b版本属性文件传输给元数据及版本状态分析处理,若分布表或复制表的物理存储位置不存在表数据文件或者是不同时存在a版本属性文件和b版本属性文件,则停止恢复处理;

24、所述元数据及版本状态分析处理模块用于分析a版本属性文件和b版本属性文件,并判断a版本属性文件和b版本属性文件中是否有一个存在删除操本文档来自技高网...

【技术保护点】

1.一种恢复列存储分布式数据库误删除数据的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,还包括步骤S5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。

3.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S1中判断集群数据节点信息对应表是否为分布表时包括如下步骤:

4.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S3中版本属性文件切换包括如下步骤:

5.根据权利要求2所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤S5中数据校验的过程如下:

6.一种恢复列存储分布式数据库误删除数据的系统,其特征在于,用于执行如权利要求1至5中任一所述的一种恢复列存储分布式数据库误删除数据的方法,其包括集群信息采集模块、数据存储结构分析模块、元数据及版本状态分析处理模块及数据刷新模块;

7.根据权利要求6所述的一种恢复列存储分布式数据库误删除数据的系统,其特征在于,还包括数据校验模块,所述数据校验模块用于将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤S1至步骤S4,直至刷新后的信息与刷新前的信息不一致为止。

...

【技术特征摘要】

1.一种恢复列存储分布式数据库误删除数据的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,还包括步骤s5数据校验过程:数据校验模块将刷新后的信息与刷新前的信息进行比较,若刷新后的信息与刷新前的信息不一致,则判断恢复误删除数据成功,若刷新后的信息与刷新前的信息一致,则判断恢复误删除数据失败,并重复步骤s1至步骤s4,直至刷新后的信息与刷新前的信息不一致为止。

3.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤s1中判断集群数据节点信息对应表是否为分布表时包括如下步骤:

4.根据权利要求1所述的一种恢复列存储分布式数据库误删除数据的方法,其特征在于,步骤s3中版本属性文件切换包括如下步骤:<...

【专利技术属性】
技术研发人员:陈德亮
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1