CN114968663A - 一种数据库内容恢复方法及系统 - Google Patents
一种数据库内容恢复方法及系统 Download PDFInfo
- Publication number
- CN114968663A CN114968663A CN202210552412.0A CN202210552412A CN114968663A CN 114968663 A CN114968663 A CN 114968663A CN 202210552412 A CN202210552412 A CN 202210552412A CN 114968663 A CN114968663 A CN 114968663A
- Authority
- CN
- China
- Prior art keywords
- database
- file
- information block
- log
- node information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库内容恢复方法及系统,该方法包括以下步骤:获取数据库文件及日志文件存储对应的磁盘分区信息;根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块重组形成恢复后的数据库内容;将恢复后的数据库内容和现存的数据库内容进行合并。通过把这部分被删除文件节点信息块识别,重组,深度学习保证正确性后,能最大限度恢复数据库内容。
Description
技术领域
本发明属于磁盘恢复技术领域,尤其涉及一种数据库内容恢复的方法和系统。
背景技术
数据库内容(含索引,日志等信息)最终以文件形式存在于磁盘上,由操作系统来管理这些文件.当数据库内容发生巨大变化(删除表,清空数据,新建表列等操作)后其存储在硬盘上的文件也发生变化,其中被删除的数据块会从原有文件的簇链中移除,现存的文件数据块簇链会重新构建。
现有数据库恢复技术是基于在被删除后的数据库文件(存储在硬盘上的真实文件)或数据库日志文件做分析取证。但数据库内容被删除后相比于被删除之前数据库文件发生了巨大变化(如删除数据库表列或整表或进行了压缩等操作导致),由于只是分析了单一的真实存在的数据库文件或日志文件,而没有分析由文件系统驱动程序标识为被删除的在硬盘存储空间内的多个历史存在文件和日志记录块,导致被删除数据块内容没有被分析,从而造成恢复效果不理想。
发明内容
有鉴于此,本发明提供一种数据库内容恢复方法及系统,对磁盘进行扫描获取被标识为删除的原有文件节点后,通过对文件节点信息块进行分析对数据库进行恢复,从而最大限度恢复被删除的数据库内容。
为解决以上技术问题,本发明的技术方案为采用一种数据库内容恢复方法,包括:
获取数据库文件及日志文件存储对应的磁盘分区信息;
根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;
计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;
搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块剩重组形成恢复后的数据库内容;
将恢复后的数据库内容和现存的数据库内容进行合并。
作为一种改进,通过读取数据库配置文件或者注册表来获取数据库文件及日志文件存储对应的磁盘分区信息。
作为一种进一步的改进,根据所述磁盘分区信息对磁盘进行扫描获取有删除标识的数据库文件节点信息块的方法包括:
利用日志文件分析结果对硬盘部分分区进行快速扫描以快速获取部分数据库删除前的文件节点信息块;
利用数据库文件页面特征魔术值对硬盘全部分区进行深度扫描以获取剩余的数据库删除前的文件节点信息块。
作为另一种更进一步的改进,所述对所述文件节点信息块包括:
用于存放用户数据的数据信息块、用于快速查找用户数据的索引信息块、用于记录数据库管理员操作日志的日志信息块。
作为一种改进,所述计算文件节点信息块可恢复性权重的方法包括:
对于数据信息块,获取索引信息块或日志信息块引用的数据信息块序号,将被索引信息块或日志信息块引用的数据信息块的正确性权重需要上调,将未被索引信息块和日志信息块引用的数据信息块的正确性权重需要下调;
对于索引信息块,获取索引信息块的父块和子块序号,将索引信息块的父块和子块的正确性权重需要上调;
对于日志信息块,获取日志信息块的具体操作,将插入数据、更新数据的日志信息块的正确性权重需要上调,将删除数据、删除表的日志信息块的正确性权重需要下调。
作为一种改进,按照正确性权重需要值对文件信息块进行降序排列。
作为一种改进,所述搭建深度神经网络包括:
利用训练数据结果集对深度神经网络进行训练;
利用训练好的深度神经网络对现存的数据库内容进行深度学习输出结果集;
将学习后的结果集与所述训练数据结果集进行合并,用以更新训练数据结果集。
作为一种改进,所述利用深度神经网络对文件节点信息块进行正确性校验的方法包括:
依次调用训练数据结果集内的若干规则对文件节点信息块逐一进行正确性校验;
满足其中任意一条规则则认为该文件节点信息块为正确。
作为一种改进,所述将恢复后的数据库内容和现存的数据库内容进行合并的方法包括:
将恢复后的数据库内容与现存数据库的表内容进行对比,对于同名表,若恢复后的数据库内容中有现存数据库中不存在的,则将该部分内容添加到现存数据库对应的表中;对于现存数据库中不存在的表,则在现存数据库中新建同名表,并将恢复后的数据库内容中的对应数据导入到新建的同名表中。
本发明还提供一种数据库内容恢复系统,包括:
磁盘分区信息获取模块,用于获取数据库文件及日志文件存储对应的磁盘分区信息;
文件节点信息块扫描模块,用于根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;
文件节点信息块排序模块,用于计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;
文件点信息块正确性校验模块,用于搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块重组形成恢复后的数据库内容;
数据库内容合并模块,用于将恢复后的数据库内容和现存的数据库内容进行合并。
本发明的有益之处在于:本发明克服了传统数据库恢复只针对单一数据库文件或日志信息进行恢复,而实际被删除数据仍然存在硬盘等物理存储介质上的而未能被识别并恢复的缺点。通过把这部分被删除文件节点信息块识别,重组,深度学习保证正确性后,能最大限度恢复数据库内容,理论上只要数据还存储在硬盘上均能被扫描并恢复出来。
附图说明
图1为本发明的流程图。
图2为本发明的结构原理图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合具体实施方式对本发明作进一步的详细说明。
数据库内容(含索引,日志等信息)最终以文件形式存在于磁盘上,由操作系统来管理这些文件.当数据库内容发生巨大变化(删除表,清空数据,新建表列等操作)后其存储在硬盘上的文件也发生变化,其中被删除的数据块会从原有文件的簇链中移除,现存的文件数据块簇链会重新构建,文件系统(NTFS,Refs,EXT等)会按其策略生成新的MFT或iNode文件节点等信息,导致会在硬盘上同时存在有被标识为删除的原有文件节点和删除后的现有文件节点信息,同时文件系统驱动程序也会在其日志管理文件中记录对应的删除修改数据块起始位置和大小等信息。
本发明就是利用硬盘上被标识为删除的原有文件节点来对数据库内容进行最大限度的恢复。
如图1所示,本发明提供一种数据库内容恢复方法,包括:
S1获取数据库文件及日志文件存储对应的磁盘分区信息;本实施例中,通过读取数据库配置文件或者注册表来获取数据库文件及日志文件存储对应的磁盘分区信息,磁盘分区信息包括盘符、大小、文件系统类型等等。
S2根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;本实施例中,通过快速扫描和深度扫描两种扫描方式获取数据库删除前的文件节点信息块。
所谓快速扫描是利用日志文件分析结果对硬盘部分分区进行扫描以快速获取部分数据库删除前的文件节点信息块;通过日志文件可以分析出被删除的文件节点信息块的数据块分布位置及大小,通过上述信息进行扫描做到有的放矢,因此速度较快。
所谓深度扫描是利用数据库文件页面特征魔术值对硬盘全部分区进行深度扫描以获取剩余的数据库删除前的文件节点信息块。不同的数据库文件页在页起始位置有不同的常量来区别。比方像Sqlite数据库第一页的常量是"SQLite format 3",这个常量也称为魔术值。利用魔术值能够对磁盘进行全面的扫描,从而获取硬盘上所有的文件节点信息块。
之所以采用两种扫描结合使用,其原因在于尽管深度扫描更加的全面,但其扫描速度慢,耗时可达快速扫描的十倍之多。为了减少等待时间,利用快速扫描先快速获取一部分的文件节点信息块进行后续操作,同时通过深度扫描再将剩余的文件节点信息块扫描出来,这样更加节约时间,减少系统等待。
S3计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;文件节点信息块包括:用于存放用户数据的数据信息块、用于快速查找用户数据的索引信息块、用于记录数据库管理员操作日志的日志信息块。对于不同的信息块有不同的权重计算方法:
对于数据信息块,获取索引信息块或日志信息块引用的数据信息块序号,将被索引信息块或日志信息块引用的数据信息块的正确性权重需要上调,将未被索引信息块和日志信息块引用的数据信息块的正确性权重需要下调;
对于索引信息块,获取索引信息块的父块和子块序号,将索引信息块的父块和子块的正确性权重需要上调;
对于日志信息块,获取日志信息块的具体操作,将插入数据、更新数据的日志信息块的正确性权重需要上调,将删除数据、删除表的日志信息块的正确性权重需要下调。
每个文件节点信息块的正确性权重需要确定后,就按照正确性权重需要值对文件节点信息块降序排列,把权重高的文件节点信息块呈现在前排供选择。
S4搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块重组形成恢复后的数据库内容。
具体的正确校验方法包括:
依次调用训练数据结果集内的若干规则对文件节点信息块逐一进行正确性校验;
满足其中任意一条规则则认为该文件节点信息块为正确。
另外,深度神经网络在搭建过程中可以一边学习一边训练升级。深度神经网络雏形初步搭建完成后,利用训练数据结果集对深度神经网络进行训练;初代训练数据结果集一般为自行组建,包括姓名正确性判断,日期有效性,交易内容合法性判断等人工智能算法集合。
利用训练好的深度神经网络对现存的数据库内容进行深度学习输出结果集;此处输出的结果集即是上述正确性校验后的结果。
将学习后的结果集与所述训练数据结果集进行合并,用以更新训练数据结果集。通过不断的学习和训练对深度神经网络进行迭代升级,其正确性校验的结果就越准确。
S5将恢复后的数据库内容和现存的数据库内容进行合并,其具体合并方法为:将恢复后的数据库内容与现存数据库的表内容进行对比,对于同名表,若恢复后的数据库内容中有现存数据库中不存在的,则将该部分内容添加到现存数据库对应的表中;对于现存数据库中不存在的表,则在现存数据库中新建同名表,并将恢复后的数据库内容中的对应数据导入到新建的同名表中。
合并后数据库内容相当于现存的数据库内容以及恢复后的数据库内容的并集,最大限度的恢复到删除前的情况。
如图2所示,本发明还提供一种数据库内容恢复系统,包括:
磁盘分区信息获取模块,用于获取数据库文件及日志文件存储对应的磁盘分区信息;
文件节点信息块扫描模块,用于根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;
文件节点信息块排序模块,用于计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;
文件点信息块正确性校验模块,用于搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块剩重组形成恢复后的数据库内容;
数据库内容合并模块,用于将恢复后的数据库内容和现存的数据库内容进行合并。
以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据库内容恢复方法,其特征在于包括:
获取数据库文件及日志文件存储对应的磁盘分区信息;
根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;
计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;
搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块重组形成恢复后的数据库内容;
将恢复后的数据库内容和现存的数据库内容进行合并。
2.根据权利要求1所述的一种数据库内容恢复方法,其特征在于:通过读取数据库配置文件或者注册表来获取数据库文件及日志文件存储对应的磁盘分区信息。
3.根据权利要求1所述的一种数据库内容恢复方法,其特征在于所述根据所述磁盘分区信息对磁盘进行扫描获取有删除标识的数据库文件节点信息块的方法包括:
利用日志文件分析结果对硬盘部分分区进行快速扫描以快速获取部分数据库删除前的文件节点信息块;
利用数据库文件页面特征魔术值对硬盘全部分区进行深度扫描以获取剩余的数据库删除前的文件节点信息块。
4.根据权利要求1所述的一种数据库内容恢复方法,其特征在于所述对所述文件节点信息块包括:
用于存放用户数据的数据信息块、用于快速查找用户数据的索引信息块、用于记录数据库管理员操作日志的日志信息块。
5.根据权利要求4所述的一种数据库内容恢复方法,其特征在于所述计算文件节点信息块可恢复性权重的方法包括:
对于数据信息块,获取索引信息块或日志信息块引用的数据信息块序号,将被索引信息块或日志信息块引用的数据信息块的正确性权重需要上调,将未被索引信息块和日志信息块引用的数据信息块的正确性权重需要下调;
对于索引信息块,获取索引信息块的父块和子块序号,将索引信息块的父块和子块的正确性权重需要上调;
对于日志信息块,获取日志信息块的具体操作,将插入数据、更新数据的日志信息块的正确性权重需要上调,将删除数据、删除表的日志信息块的正确性权重需要下调。
6.根据权利要求4所述的一种数据库内容恢复方法,其特征在于:按照正确性权重需要值对文件信息块进行降序排列。
7.根据权利要求1所述的一种数据库内容恢复方法,其特征在于所述搭建深度神经网络包括:
利用训练数据结果集对深度神经网络进行训练;
利用训练好的深度神经网络对现存的数据库内容进行深度学习输入结果集;
将学习后的结果集与所述训练数据结果集进行合并,用以更新训练数据结果集。
8.根据权利要求1所述的一种数据库内容恢复方法,其特征在于所述利用深度神经网络对文件节点信息块进行正确性校验的方法包括:
依次调用训练数据结果集内的若干规则对文件节点信息块逐一进行正确性校验;
满足其中任意一条规则则认为该文件节点信息块为正确。
9.根据权利要求1所述的一种数据库内容恢复方法,其特征在于所述将恢复后的数据库内容和现存的数据库内容进行合并的方法包括:
将恢复后的数据库内容与现存数据库的表内容进行对比,对于同名表,若恢复后的数据库内容中有现存数据库中不存在的,则将该部分内容添加到现存数据库对应的表中;对于现存数据库中不存在的表,则在现存数据库中新建同名表,并将恢复后的数据库内容中的对应数据导入到新建的同名表中。
10.一种数据库内容恢复系统,其特征在于包括:
磁盘分区信息获取模块,用于获取数据库文件及日志文件存储对应的磁盘分区信息;
文件节点信息块扫描模块,用于根据所述磁盘分区信息找到日志文件,并对磁盘进行扫描获取有删除标识的数据库文件节点信息块;
文件节点信息块排序模块,用于计算文件节点信息块可恢复性权重,根据可恢复性权重对所述文件节点信息块进行排序并去重;
文件点信息块正确性校验模块,用于搭建深度神经网络,利用深度神经网络对文件节点信息块进行正确性校验,去除错误的文件点信息块,并将去除错误后剩余的文件点信息块剩重组形成恢复后的数据库内容;
数据库内容合并模块,用于将恢复后的数据库内容和现存的数据库内容进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210552412.0A CN114968663A (zh) | 2022-05-20 | 2022-05-20 | 一种数据库内容恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210552412.0A CN114968663A (zh) | 2022-05-20 | 2022-05-20 | 一种数据库内容恢复方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968663A true CN114968663A (zh) | 2022-08-30 |
Family
ID=82984693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210552412.0A Pending CN114968663A (zh) | 2022-05-20 | 2022-05-20 | 一种数据库内容恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968663A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644424A (zh) * | 2023-07-25 | 2023-08-25 | 北京飞龙玥兵科技有限公司 | 计算装置安全保护方法及系统、电子设备、可读存储介质 |
-
2022
- 2022-05-20 CN CN202210552412.0A patent/CN114968663A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644424A (zh) * | 2023-07-25 | 2023-08-25 | 北京飞龙玥兵科技有限公司 | 计算装置安全保护方法及系统、电子设备、可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
JP3914662B2 (ja) | データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体 | |
US20060026199A1 (en) | Method and system to load information in a general purpose data warehouse database | |
WO2020119143A1 (zh) | 一种数据库删除记录的恢复方法及系统 | |
CN107797916B (zh) | Ddl语句审核方法和装置 | |
EP4006740A1 (en) | Method for indexing data in storage engines, and related device | |
US20040236763A1 (en) | System and method for identifying and storing changes made to a table | |
CN113094442B (zh) | 全量数据同步方法、装置、设备和介质 | |
CN114968663A (zh) | 一种数据库内容恢复方法及系统 | |
CN117951118B (zh) | 岩土工程勘察大数据归档方法及系统 | |
US7756818B1 (en) | Database table recovery system | |
CN116401229A (zh) | 数据库的数据校验方法、装置及设备 | |
CN113157946B (zh) | 实体链接方法、装置、电子设备及存储介质 | |
CN113360551B (zh) | 一种靶场中时序数据的存储与快速统计方法及系统 | |
CN115422180A (zh) | 数据校验方法及系统 | |
JP3534471B2 (ja) | マージソート方法及びマージソート装置 | |
CN114443625A (zh) | 数据库的处理方法、装置 | |
CN114490599A (zh) | 一种证件号处理和检索的方法 | |
CN115827645B (zh) | 一种跨业务领域的字段匹配方法、装置及存储介质 | |
CN112527757A (zh) | 基于大规模芯片测试结果的快速检索方法 | |
US20100274771A1 (en) | Information Processing Apparatus, and Information Processing Method, Program, and Recording Medium | |
CN113468123B (zh) | 文件夹去重恢复方法、装置、设备及存储介质 | |
CN115017133B (zh) | 一种基于文件的异构数据库数据一致性校验方法 | |
CN113326239A (zh) | 文件管理方法、装置、设备及计算机可读存储介质 | |
EP1617343A1 (en) | A Method and system to load information in a general purpose data warehouse database |
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 |