CN109656929A - 一种雕复关系型数据库文件的方法及装置 - Google Patents
一种雕复关系型数据库文件的方法及装置 Download PDFInfo
- Publication number
- CN109656929A CN109656929A CN201811594851.8A CN201811594851A CN109656929A CN 109656929 A CN109656929 A CN 109656929A CN 201811594851 A CN201811594851 A CN 201811594851A CN 109656929 A CN109656929 A CN 109656929A
- Authority
- CN
- China
- Prior art keywords
- data
- data page
- block
- page
- page block
- 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
Links
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种雕复关系型数据库文件的方法及装置,用于快速检测关系型数据库的数据页并高效重组数据库的数据页,从而雕复关系型数据库文件,该方法包括以下步骤:S100:解析并划分关系型数据库文件中待恢复的数据源所包含的结构,标记数据源中空闲簇/块的编号并记入集合F;S200:判断集合F中属于关系型数据库数据页的簇/块编号并记入集合H;S300:遍历集合H的元素,采用有向无环图论技术雕复/重组数据页;S400:根据步骤S300的雕复结果,对重组后数据页块的正确性进行校验。
Description
技术领域
本发明属于数据恢复领域,涉及一种雕复关系型数据库文件的方法及装置。
背景技术
随着计算机中数据存储管理技术的飞速发展,数据库的应用深入到各个领域并变得十分广泛。从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造、计算机集成制造系统、电子政务、电子商务、地理信息系统等,越来越多的应用领域采用数据库技术来存储和处理信息资源。显然,数据库已成为了现代信息系统的重要组成部分。
由于数据库中存储着重要而敏感的信息,因此,数据库系统就成为了黑客们有价值的攻击对象。黑客可以通过口令入侵、特权提升、漏洞入侵、SQL注入和窃取备份等手段攻击数据库系统,窃取、篡改、破坏其中的数据或进行其他非法活动。从数据库中恢复被入侵者破坏的数据是取证中重要的一部分,也是本发明的研究主题。数据库恢复相对于其它电子数据的恢复的优点之一是存在很多冗余信息,具有很丰富的证据来源用以恢复数据。
数据库系统可以采用多种不同的数据模型,其中,关系模型是目前应用最广泛的数据模型。采用关系模型作为数据组织方式的数据库系统被称为关系型数据库系统。
关系模型建立在严格的数学概念基础上,由一组关系组成,每个关系的数据结构是一张规范化的二维表。关系模型的操作主要包括查询、插入、删除和更新。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义完整性。
目前主流的关系型数据库有Oracle、SQL Server、MySQL、PostgreSQL、DB2和HBase等。而数据库文件的存储是数据库各个厂商自定义的存储格式,传统的数据恢复技术无法应用到数据库文件的数据记录的提取与恢复。
市面上现有技术无法有效重组多片段的数据库文件,无法有效地恢复数据库中删除的数据记录。
发明内容
本发明针对现有技术的不足问题,提出了一种雕复关系型数据库文件的方法,通过筛选空闲簇/块并采用有向无环图论技术雕复/重组数据页,实现关系型数据库文件的雕复,为方便描述,本发明涉及的术语如下:
簇/块:常规文件系统中分区的最小管理单元,由连续的固定个数的扇区组成;
数据库的数据文件:本文中特指记录数据库表结构及表实际数据的相关文件的总称;
在数据库的数据文件结构中,常使用到下列的术语:
数据页:又称数据块,在数据库的数据文件中的最小管理单元,页大小是扇区的整数倍;
数据页块:由物理连续的一个或多个数据页组成的区段称之为数据页块;
区:在同一种数据文件中由固定个数的数据页组成的结构,是数据库引擎存储分配的最小单元;
段:由一个或多个连续的区组成,具有独立存储结构的数据页对象的数据,根据需要存储的数据特性和用途不同常常分为索引段、数据段、回滚段、回退段、临时段。
关系型数据库的数据页的结构特征,包括:数据页的特征字符串、数据库页的标识、数据页中行记录的标识等。
数据页块的特征量,包括:数据页块中的结构标识、数据页块中的数据记录标识、数据页块中的数据记录总列数、数据页块中的数据记录列类型的特征字符串、数据页块中的数据记录列大小、数据页块的校验值、数据页的起始块物理地址等。
图论:〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。
本发明包括以下步骤:
S100:解析并划分所述关系型数据库文件中待恢复的数据源所包含的结构,标记所述数据源中空闲簇/块的编号并记入集合F;
S200:判断所述集合F中属于所述关系型数据库数据页的簇/块编号并记入集合H;
S300:遍历所述集合H的元素,采用有向无环图论技术雕复/重组数据页;
S400:根据步骤S300的雕复结果,对重组后数据页块的正确性进行校验。
优选地,步骤S200包括以下步骤:
S201:遍历所述集合F中的元素fi,读取元素fi中的扇区数据,判断元素fi是否符合非关系型数据库文件的结构特征,如果是,则剔除元素fi并继续读取下一元素fi+1,否则,执行步骤S202;
S202:读取元素fi中的首扇区数据及尾扇区数据,判断数据分布是否符合关系型数据库数据页的分布规则,如果是,执行步骤S203,否则,执行步骤S201;
S203:根据关系型数据库数据页的结构特征,判断元素fi中的数据是否符合关系型数据库数据页的结构特征,如果是,将元素fi记入所述集合H,否则,执行步骤S201。
优选地,步骤S202中所述分布规则如下:
所述首扇区的数据不全为0xMN,其中,M、N为相同十六进制数字;
所述尾扇区的数据不全为0xMN,其中,M、N为相同十六进制数字。
优选地,步骤S300的具体步骤如下:
S301:读取所述集合H的元素,获取数据页的属性,所述属性包括数据页标识、数据页ID,记录所述数据页ID,用以判断所述数据页ID是否重复;
S302:读取所述集合H的元素,依据物理地址连续、逻辑地址相邻的原则,对所述集合H的元素组成一个或多个数据页块,计算并记录数据页块的首位数据页ID、数据页块的数据页总数并记入集合B;
S303:遍历所述集合B的元素,两两组合数据页块,获取数据页块的特征量及数据页块之间的特征量,用以计算数据页块之间的相似度值;
S304:遍历所述集合B的元素,构建由邻接矩阵实现存储的有向无环图G,并将所述相似度值作为数据页块间的权重值写入所述有向无环图G中;
S305:获取所述有向无环图G中最大权重且顶点不相交路径,用以确定数据页块的重组顺序。
优选地,步骤S303的具体步骤如下:
S3031:遍历所述集合B的元素,获取数据页块的特征量,所述数据页块的特征量包括数据页块中的结构标识、数据页块中的数据记录标识、数据页块中的数据记录总列数、数据页块中的数据记录列类型的特征字符串、数据页块中的数据记录列大小、数据页块的校验值、数据页的起始块物理地址;
S3032:将数据页块进行两两组合,获取数据页块之间的特征量,所述数据页块之间的特征量包括有无页ID重复、数据页块之间间隔距离、数据页块之间页跳转错误率、数据页块页数;
S3033:根据公式P=Axm+Byn+Czi+Duj计算数据页块间的相似度值P,其中,x、y、z、u为所述数据页块的特征量和/或所述数据页块之间的特征量,A、B、C、D为特征量x、y、z、u在数据库的物理结构中所占权重值,m、n、i、j为特征量x、y、z、u的幂指数,A、B、C、D均为非负实数,m、n、i、j为大于零的自然数。
优选地,步骤S304的具体步骤如下:
以所述集合B的元素作为顶点,元素之间如果无页ID重复,则元素之间连线作为边,用以构建由邻接矩阵实现存储的所述有向无环图G,且边的方向为起始页ID较小者指向起始页ID较大者;
取步骤S303中计算的所述数据页块之间的相似度值作为所述有向无环图G中元素间的权重值,采用广度优先搜索算法对所述有向无环图G进行拓扑排序。
优选地,步骤S305的具体步骤如下:
对S304中的排序结果,根据权重越大、元素之间关联越强、寻找路径时的优先级越高的原则,获取所述有向无环图G中最大权重且顶点不相交的路径,并获取数据页块的重组序列集合S,遍历集合S中元素Si,读取元素Si中记录的LBA值,按照线性顺序组合对应扇区地址的数据,获得雕复/重组后的关系型数据库文件。
优选地,步骤S400的具体步骤如下:
按照数据页的逻辑结构的如下组成规则,验证重组后数据页块满足如下全部所述组成规则:
各个数据页的标识、头部特征符合数据页的结构特征;
各个数据页中数据记录的偏移地址正确;
各个数据页间的链式关系符合逻辑数据页的链式关系;
各个数据记录中各列的数据解析符合逻辑数据页中数据记录的格式。
本发明还提供了一种雕复关系型数据库文件的装置,用于雕复/重组关系型数据库数据页,其特征在于,包括:
数据解析单元:用于解析并划分待恢复的数据源所包含的结构,标记所述数据源中空闲簇/块的编号;
数据分类单元:用于判断所述数据解析单元获取的待恢复数据源中的空闲簇/块编号中属于所述关系型数据库数据页的簇/块编号并分类;
雕复解析单元:用于遍历所述数据分类单元所分类的数据,并采用有向无环图论技术雕复/重组数据页;
数据导出单元:用于校验并导出所恢复的关系型数据库文件。
本发明的有益效果是:
1.快速检测关系型数据库的数据页;
2.高效重组数据库的数据页,并解决了现有技术中尚无一种雕复关系型数据库文件的方法的技术问题。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明生成关系型数据库数据页的簇/块编号并记入集合的具体流程图;
图3为本发明采用有向无环图论技术雕复/重组数据页的具体流程图;
图4是根据本发明的雕复关系型数据库文件的装置的框图。
具体实施方式
图1示出了本发明所提供的方法的总流程图。
如图1所示,本发明包括以下步骤:
S100:解析并划分关系型数据库文件中待恢复的数据源所包含的结构,标记数据源中空闲簇/块的编号并记入集合F,具体地,
解析待恢复的数据源所包含的文件系统结构,获取其分区信息,包括:分区的数量、分区大小、分区的起始位置、分区的簇/块大小、分区的总簇/块数、分区的位图表;
根据分区的位图表,标记数据源中空闲簇/块,同时记录其空闲簇/块对应的LBA值;若未包含文件系统,则将待恢复的数据源的全部内容作为空闲簇处理,且簇的大小默认为8扇区,记录所有簇对应的LBA值;
将上述获取的空闲簇/块记入集合F,在本发明的一个实施例中,得到集合F={1,2,3,4,6,7,10,12,13,14,17,18,19,20,21,24,25,26,28,30,31}。
S200:判断集合F中属于关系型数据库数据页的簇/块编号并记入集合H,根据上述解析的待恢复数据源中的空闲簇/块编号,遍历集合F中的元素fi(i=1,2,3…),解析元素fi中数据,判断是否属于数据库的数据页数据,若不是则继续读取集合中的下一元素,若是将其记入集合H,在本发明的一个实施例中,得到集合H为{1,2,3,4,6,7,12,13,14,17,18,19,21,24,25,26,30,31},步骤S200包括以下步骤:
S201:遍历集合F中的元素fi,读取元素fi中的扇区数据,结合现有已知的文件格式特征判断fi是否符合其结构特征,已知的文件格式特征包括图片类文件、文档类文件、音频类文件、视频类文件、压缩类文件、监控视频类文件、可执行类文件、互联网类文件等450余种,判断元素fi是否符合非关系型数据库文件的结构特征,如果是,则剔除元素fi并将当前元素fi计入非数据库文件集合U,例如,在本发明的一个实施例中,判断完成后集合U为{10,20,28},继续读取下一元素fi+1,否则,执行步骤S202;
S202:读取元素fi中的首扇区数据及尾扇区数据,判断数据分布是否符合关系型数据库数据页的分布规则,如果是,执行步骤S203,否则,执行步骤S201,其中,步骤S202的分布规则如下:
首扇区的数据不全为0xMN,其中,M、N为相同十六进制数字,例如,0xMN可以是0x00,0x66,0xff等;
尾扇区的数据不全为0xMN,其中,M、N为相同十六进制数字,例如,0xMN可以是0x00,0x66,0xff等。
S203:根据关系型数据库数据页的结构特征,具体的数据页结构特征包含数据页的特征字符串、数据库页的标识、数据页中行记录的标识等,判断元素fi中的数据是否符合关系型数据库数据页的结构特征,如果是,将元素fi记入集合H,在本发明的一个实施例中,得到数据库文件集合H为{1,2,3,4,6,7,12,13,14,17,18,19,21,24,25,26,30,31},如果否符合,执行步骤S201。
S300:遍历集合H的元素,采用有向无环图论技术雕复/重组数据页,步骤S300的具体步骤如下:
S301:读取集合H的元素,获取数据页的属性,属性包括数据页标识、数据页ID,将数据页ID记入集合D,用以判断数据页ID是否重复:
在本发明的一个实施例中,读取集合H中的元素,根据数据页的结构特征获取元素Hi中包含的数据页标识、数据页ID信息,判断Hi中包含的数据页标识是否符合数据库中数据页的标识信息,若Hi中包含的数据页标识符合数据库中数据页的标识信息则将该元素Hi的属性标记为TRUE,不符合则记为FALSE,将获取到的信息记入集合D,得到集合D={(TRUE,2),(TRUE,3),(TRUE,4),(TRUE,5),(TRUE,21),(TRUE,22),(TRUE,6),(TRUE,7),(TRUE,8),(TRUE,3),(TRUE,4),(FALSE,5),(TRUE,14),(TRUE,18),(TRUE,19),(TRUE,20),(TRUE,9),(TRUE,10)},集合D中的数据页属性信息Di与集合H中数据页对应的LBA地址元素Hi一一映射。
S302:读取集合H的元素,依据物理地址连续、逻辑地址相邻的原则,对集合H的元素组成一个或多个数据页块,计算并记录数据页块的首位数据页ID、数据页块的数据页总数并记入集合B:
读取集合H中的元素,依据集合H中LBA地址连续、集合D中数据页ID相邻的原则,对集合H中元素组成一个或多个数据页块,将得到的数据页块所涉及到的数据页记入集合B,在本发明的一个实施例中,得到集合B={(1,2,3,4),(6,7),(12,13,14),(17,18,19,),(21),(24,25,26),(30,31)},并读取集合H中元素Hi对应集合D中的元素Di的信息,同时计算组成的每个数据页块的首个数据页ID、数据页块的末尾数据页ID等信息,将计算结果记入集合I,得到集合I={(2,5),(21,22),(6,8),(3,5),(14),(18,20),(9,10)}。
S303:遍历集合B的元素,两两组合数据页块,获取数据页块的特征量及数据页块之间的特征量,用以计算数据页块之间的相似度值,步骤S303的具体步骤如下:
S3031:遍历集合B的元素,获取数据页块的特征量,数据页块的特征量包括数据页块中的结构标识、数据页块中的数据记录标识、数据页块中的数据记录总列数、数据页块中的数据记录列类型的特征字符串、数据页块中的数据记录列大小、数据页块的校验值、数据页的起始块物理地址;
S3032:将数据页块进行两两组合,获取数据页块之间的特征量,数据页块之间的特征量包括有无页ID重复、数据页块之间间隔距离、数据页块之间页跳转错误率、数据页块页数;
S3033:根据公式P=Axm+Byn+Czi+Duj计算数据页块间的相似度值P,其中,x、y、z、u为数据页块的特征量和/或数据页块之间的特征量,A、B、C、D为特征量x、y、z、u在数据库的物理结构中所占权重值,m、n、i、j为特征量x、y、z、u的幂指数,A、B、C、D均为非负实数,m、n、i、j为大于零的自然数。
在本发明的一个实施例中,遍历集合B中元素,获取数据页块的特征量,具体的特征量包括数据页块中的结构标识、数据页块中的数据记录标识、数据页块中的数据记录总列数、数据页块中的数据记录列类型的特征字符串、数据页块中的数据记录列大小、数据页块的校验值、数据页的起始块物理地址等;再对数据页块进行两两组合,获取数据页块之间的特征量,具体的特征量包括有无页ID重复、数据页块之间间隔距离、数据页块之间页跳转错误率(也称块间耦合性)、数据页块页数,抽取上述获取的数据页块的特征量和数据页块之间的特征量计算数据页块间的相似度值,按照公式计算出P=Axm+Byn+Czi+Duj作为两个数据块之间相似度值,并获得集合B中各元素的相似度值表其中,x、y、z、u为选取的数据页块的特征量和数据页块之间的特征量;A、B、C、D为为非负实数,表示特征量x、y、z、u在数据库的物理结构中所占权重值;m、n、i、j为大于零的自然数,表示特征量x、y、z、u的幂指数。
如下表所示,在本发明的一个实施例中,计算出元素b1,b3的相似度值P(b1,b3)=95,元素b3,b7的相似度值P(b3,b7)=98,元素b2,b6的相似度值P(b2,b6)=96。
S304:遍历集合B的元素,构建由邻接矩阵实现存储的有向无环图G,并将相似度值作为数据页块间的权重值写入有向无环图G中,步骤S304的具体步骤如下:
以集合B的元素作为顶点,元素之间如果无页ID重复,则元素之间连线作为边,用以构建由邻接矩阵实现存储的有向无环图G,且边的方向为起始页ID较小者指向起始页ID较大者;
取步骤S303中计算的数据页块之间的相似度值作为有向无环图G中元素间的权重值,采用广度优先搜索算法对有向无环图G进行拓扑排序。
S305:获取有向无环图G中最大权重且顶点不相交路径,用以确定数据页块的重组顺序,步骤S305的具体步骤如下:
对S304中的排序结果,根据权重越大、元素之间关联越强、寻找路径时的优先级越高的原则,获取有向无环图G中最大权重且顶点不相交的路径,并获取数据页块的重组序列集合S,在本发明的一个实施例中,得到数据页块的重组序列集合S={(b1,b3,b7),(b6,b2),(b4),(b5)},遍历集合S中元素Si,读取元素Si中记录的LBA值,按照线性顺序组合对应扇区地址的数据,获得雕复/重组后的关系型数据库文件。
S400:根据步骤S300的雕复结果,对重组后数据页块的正确性进行校验,
按照数据页的逻辑结构的如下组成规则,验证重组后数据页块满足如下全部组成规则:
各个数据页的标识、头部特征符合数据页的结构特征;
各个数据页中数据记录的偏移地址正确;
各个数据页间的链式关系符合逻辑数据页的链式关系;
各个数据记录中各列的数据解析符合逻辑数据页中数据记录的格式。
图4是根据本发明的雕复关系型数据库文件的装置400的框图,如图4所示的雕复关系型数据库文件的装置400,用于雕复关系型数据库文件,其包括:
数据解析单元401,用于解析并划分待恢复的数据源所包含的结构,标记数据源中空闲簇/块的编号;具体地,用于快速解析数据源中包含的逻辑结构,该单元首先对数据源进行识别是否包含文件系统结构,若包含则获取其分区信息,包括:分区的数量、分区大小、分区的起始位置、分区的簇/块大小、分区的总簇/块数、分区的位图表,根据分区的位图表,标记数据源中空闲簇/块,同时记录其空闲簇/块对应的LBA值;若未包含文件系统,则将待恢复的数据源的全部内容作为空闲簇处理,且簇的大小默认为8扇区;
数据分类单元402:用于判断数据解析单元获取的待恢复数据源中的空闲簇/块编号中属于关系型数据库数据页的簇/块编号并分类;具体地,用于根据数据解析单元获取的待恢复数据源中的空闲簇/块编号,通过结合已知的文件格式特征判断空闲簇是否符合其结构特征的方式进行对已知的非数据库结构的数据进行分类过滤,再对为分类的数据进行数据页的结构特征匹配,实现对空闲簇中数据的内容的识别和分类;
雕复解析单元403:用于遍历数据分类单元所分类的数据,并采用有向无环图论技术雕复/重组数据页;具体地,用于将数据源按照分区参数或固定大小划分为块结构,按照关系型数据库的雕复算法,对划分的块进行雕复重组,实现被删除的关系型数据库文件的雕复重组,重组完成后对其文件进行解析,解析的内容包含:系统表数据、用户表数据、视图数据、存储过程数据、触发器数据、函数数据等,实现对数据库文件雕复重组、解析其包含的数据内容的功能。
数据导出单元404:用于校验并导出所恢复的关系型数据库文件。
通过本发明提供的方法,解决了现有技术中尚无一种雕复关系型数据库文件的方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种雕复关系型数据库文件的方法,其特征在于包括以下步骤:
S100:解析并划分所述关系型数据库文件中待恢复的数据源所包含的结构,标记所述数据源中空闲簇/块的编号并记入集合F;
S200:判断所述集合F中属于所述关系型数据库数据页的簇/块编号并记入集合H;
S300:遍历所述集合H的元素,采用有向无环图论技术雕复/重组数据页;
S400:根据步骤S300的雕复结果,对重组后数据页块的正确性进行校验。
2.根据权利要求1所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S200包括以下步骤:
S201:遍历所述集合F中的元素fi,读取元素fi中的扇区数据,判断元素fi是否符合非关系型数据库文件的结构特征,如果是,则剔除元素fi并继续读取下一元素fi+1,否则,执行步骤S202;
S202:读取元素fi中的首扇区数据及尾扇区数据,判断数据分布是否符合关系型数据库数据页的分布规则,如果是,执行步骤S203,否则,执行步骤S201;
S203:根据关系型数据库数据页的结构特征,判断元素fi中的数据是否符合关系型数据库数据页的结构特征,如果是,将元素fi记入所述集合H,否则,执行步骤S201。
3.根据权利要求2所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S202中所述分布规则如下:
所述首扇区的数据不全为0xMN,其中,M、N为相同十六进制数字;
所述尾扇区的数据不全为0xMN,其中,M、N为相同十六进制数字。
4.根据权利要求3所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S300的具体步骤如下:
S301:读取所述集合H的元素,获取数据页的属性,所述属性包括数据页标识、数据页ID,记录所述数据页ID,用以判断所述数据页ID是否重复;
S302:读取所述集合H的元素,依据物理地址连续、逻辑地址相邻的原则,对所述集合H的元素组成一个或多个数据页块,计算并记录数据页块的首位数据页ID、数据页块的数据页总数并记入集合B;
S303:遍历所述集合B的元素,两两组合数据页块,获取数据页块的特征量及数据页块之间的特征量,用以计算数据页块之间的相似度值;
S304:遍历所述集合B的元素,构建由邻接矩阵实现存储的有向无环图G,并将所述相似度值作为数据页块间的权重值写入所述有向无环图G中;
S305:获取所述有向无环图G中最大权重且顶点不相交路径,用以确定数据页块的重组顺序。
5.根据权利要求4所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S303的具体步骤如下:
S3031:遍历所述集合B的元素,获取数据页块的特征量,所述数据页块的特征量包括数据页块中的结构标识、数据页块中的数据记录标识、数据页块中的数据记录总列数、数据页块中的数据记录列类型的特征字符串、数据页块中的数据记录列大小、数据页块的校验值、数据页的起始块物理地址;
S3032:将数据页块进行两两组合,获取数据页块之间的特征量,所述数据页块之间的特征量包括有无页ID重复、数据页块之间间隔距离、数据页块之间页跳转错误率、数据页块页数;
S3033:根据公式P=Axm+Byn+Czi+Duj计算数据页块间的相似度值P,其中,x、y、z、u为所述数据页块的特征量和/或所述数据页块之间的特征量,A、B、C、D为特征量x、y、z、u在数据库的物理结构中所占权重值,m、n、i、j为特征量x、y、z、u的幂指数,A、B、C、D均为非负实数,m、n、i、j为大于零的自然数。
6.根据权利要求4所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S304的具体步骤如下:
以所述集合B的元素作为顶点,元素之间如果无页ID重复,则元素之间连线作为边,用以构建由邻接矩阵实现存储的所述有向无环图G,且边的方向为起始页ID较小者指向起始页ID较大者;
取步骤S303中计算的所述数据页块之间的相似度值作为所述有向无环图G中元素间的权重值,采用广度优先搜索算法对所述有向无环图G进行拓扑排序。
7.根据权利要求6所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S305的具体步骤如下:
对S304中的排序结果,根据权重越大、元素之间关联越强、寻找路径时的优先级越高的原则,获取所述有向无环图G中最大权重且顶点不相交的路径,并获取数据页块的重组序列集合S,遍历集合S中元素Si,读取元素Si中记录的LBA值,按照线性顺序组合对应扇区地址的数据,获得雕复/重组后的关系型数据库文件。
8.根据权利要求7所述的一种雕复关系型数据库文件的方法,其特征在于,步骤S400的具体步骤如下:
按照数据页的逻辑结构的如下组成规则,验证重组后数据页块满足如下全部所述组成规则:
各个数据页的标识、头部特征符合数据页的结构特征;
各个数据页中数据记录的偏移地址正确;
各个数据页间的链式关系符合逻辑数据页的链式关系;
各个数据记录中各列的数据解析符合逻辑数据页中数据记录的格式。
9.一种雕复关系型数据库文件的装置,用于雕复/重组关系型数据库数据页,其特征在于,包括:
数据解析单元:用于解析并划分待恢复的数据源所包含的结构,标记所述数据源中空闲簇/块的编号;
数据分类单元:用于判断所述数据解析单元获取的待恢复数据源中的空闲簇/块编号中属于所述关系型数据库数据页的簇/块编号并分类;
雕复解析单元:用于遍历所述数据分类单元所分类的数据,并采用有向无环图论技术雕复/重组数据页;
数据导出单元:用于校验并导出所恢复的关系型数据库文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594851.8A CN109656929B (zh) | 2018-12-25 | 2018-12-25 | 一种雕复关系型数据库文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594851.8A CN109656929B (zh) | 2018-12-25 | 2018-12-25 | 一种雕复关系型数据库文件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656929A true CN109656929A (zh) | 2019-04-19 |
CN109656929B CN109656929B (zh) | 2023-06-02 |
Family
ID=66116313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811594851.8A Active CN109656929B (zh) | 2018-12-25 | 2018-12-25 | 一种雕复关系型数据库文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656929B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781037A (zh) * | 2020-01-02 | 2020-02-11 | 成都易我科技开发有限责任公司 | 恢复存储介质中视频文件的方法、系统及可读存储介质 |
CN111290803A (zh) * | 2020-02-19 | 2020-06-16 | 上海达梦数据库有限公司 | 数据预加载方法、装置、设备及存储介质 |
CN112463837A (zh) * | 2020-12-17 | 2021-03-09 | 四川长虹电器股份有限公司 | 一种关系型数据库数据存储查询方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093435A1 (en) * | 2009-10-21 | 2011-04-21 | Delphix Corp. | Virtual Database System |
CN102053880A (zh) * | 2011-01-07 | 2011-05-11 | 杭州电子科技大学 | 一种基于内容的Rar文件雕复方法 |
US20110184939A1 (en) * | 2010-01-28 | 2011-07-28 | Elliott Edward S | Method of transforming resume and job order data into evaluation of qualified, available candidates |
CN105068885A (zh) * | 2015-07-27 | 2015-11-18 | 四川效率源信息安全技术有限责任公司 | 一种jpg碎片文件恢复与重组的方法 |
CN105447168A (zh) * | 2015-12-04 | 2016-03-30 | 四川效率源信息安全技术股份有限公司 | Mp4格式的碎片文件恢复与重组的方法 |
CN105677797A (zh) * | 2015-12-31 | 2016-06-15 | 四川秘无痕信息安全技术有限责任公司 | 一种基于jpeg图片文件中数据相似度的碎片重组方法 |
CN107402841A (zh) * | 2016-03-30 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 大规模分布式文件系统数据修复方法及设备 |
CN108108394A (zh) * | 2017-11-28 | 2018-06-01 | 厦门市美亚柏科信息股份有限公司 | Apfs文件系统的压缩文件恢复方法及存储介质 |
CN108563535A (zh) * | 2018-04-27 | 2018-09-21 | 四川巧夺天工信息安全智能设备有限公司 | 一种对MySQL数据库全库的恢复方法 |
CN108563751A (zh) * | 2018-04-16 | 2018-09-21 | 中国刑事警察学院 | 数据库碎片提取方法 |
-
2018
- 2018-12-25 CN CN201811594851.8A patent/CN109656929B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093435A1 (en) * | 2009-10-21 | 2011-04-21 | Delphix Corp. | Virtual Database System |
US20110184939A1 (en) * | 2010-01-28 | 2011-07-28 | Elliott Edward S | Method of transforming resume and job order data into evaluation of qualified, available candidates |
CN102053880A (zh) * | 2011-01-07 | 2011-05-11 | 杭州电子科技大学 | 一种基于内容的Rar文件雕复方法 |
CN105068885A (zh) * | 2015-07-27 | 2015-11-18 | 四川效率源信息安全技术有限责任公司 | 一种jpg碎片文件恢复与重组的方法 |
CN105447168A (zh) * | 2015-12-04 | 2016-03-30 | 四川效率源信息安全技术股份有限公司 | Mp4格式的碎片文件恢复与重组的方法 |
CN105677797A (zh) * | 2015-12-31 | 2016-06-15 | 四川秘无痕信息安全技术有限责任公司 | 一种基于jpeg图片文件中数据相似度的碎片重组方法 |
CN107402841A (zh) * | 2016-03-30 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 大规模分布式文件系统数据修复方法及设备 |
CN108108394A (zh) * | 2017-11-28 | 2018-06-01 | 厦门市美亚柏科信息股份有限公司 | Apfs文件系统的压缩文件恢复方法及存储介质 |
CN108563751A (zh) * | 2018-04-16 | 2018-09-21 | 中国刑事警察学院 | 数据库碎片提取方法 |
CN108563535A (zh) * | 2018-04-27 | 2018-09-21 | 四川巧夺天工信息安全智能设备有限公司 | 一种对MySQL数据库全库的恢复方法 |
Non-Patent Citations (1)
Title |
---|
孙偏偏: "InnoDB数据库数据恢复技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781037A (zh) * | 2020-01-02 | 2020-02-11 | 成都易我科技开发有限责任公司 | 恢复存储介质中视频文件的方法、系统及可读存储介质 |
CN110781037B (zh) * | 2020-01-02 | 2020-04-17 | 成都易我科技开发有限责任公司 | 恢复存储介质中视频文件的方法、系统及可读存储介质 |
CN111290803A (zh) * | 2020-02-19 | 2020-06-16 | 上海达梦数据库有限公司 | 数据预加载方法、装置、设备及存储介质 |
CN111290803B (zh) * | 2020-02-19 | 2023-06-09 | 上海达梦数据库有限公司 | 数据预加载方法、装置、设备及存储介质 |
CN112463837A (zh) * | 2020-12-17 | 2021-03-09 | 四川长虹电器股份有限公司 | 一种关系型数据库数据存储查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109656929B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yan et al. | Graph indexing: a frequent structure-based approach | |
Wang et al. | CLOSET+ searching for the best strategies for mining frequent closed itemsets | |
CN102831222B (zh) | 一种基于重复数据删除的差量压缩方法 | |
US7610283B2 (en) | Disk-based probabilistic set-similarity indexes | |
CN103902623B (zh) | 用于在存储系统上存取文件的方法和系统 | |
CN103955530B (zh) | 一种在线重复数据删除系统的数据重建优化方法 | |
KR101696338B1 (ko) | 컬럼-인덱스 데이터 포맷을 이용하여 빅데이터를 효율적으로 처리 및 분석하는 시스템 및 방법 | |
US20160217158A1 (en) | Image search method, image search system, and information recording medium | |
CN109656929A (zh) | 一种雕复关系型数据库文件的方法及装置 | |
CN104769586A (zh) | 采用位置信息剖析数据 | |
JP2013525881A5 (zh) | ||
CN109710455A (zh) | 基于fat32文件系统的删除文件恢复方法及系统 | |
Zhou et al. | Close pair queries in moving object databases | |
Whitman et al. | Distributed spatial and spatio-temporal join on apache spark | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
Whitman et al. | Spatio-temporal join on apache spark | |
US20180225314A1 (en) | Managing a single database management system | |
CN109947730A (zh) | 元数据恢复方法、装置、分布式文件系统及可读存储介质 | |
KR101688629B1 (ko) | 메타데이터 및 데이터 클러스터를 이용하는 파일 시스템 복구 방법 및 장치 | |
Jian et al. | Automatic content-based recommendation in e-commerce | |
Chatzigeorgakidis et al. | Local similarity search on geolocated time series using hybrid indexing | |
CN115640158A (zh) | 一种基于数据库的检测分析方法及装置 | |
Viji et al. | Hash-Indexing Block-Based Deduplication Algorithm for Reducing Storage in the Cloud. | |
CN109697197B (zh) | 一种雕复Access数据库文件的方法 | |
Pokorný et al. | Graph patterns indexes: their storage and retrieval |
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 |