一种雕复SQL Server数据库文件的方法技术

技术编号:21089276 阅读:38 留言:0更新日期:2019-05-11 09:51
本发明专利技术公开了一种雕复SQL Server数据库文件的方法,包括以下步骤:S1:提取所述SQL Server数据库中数据源的空闲簇/块并计入集合A1;S2:检测所述集合A1的元素中所述SQL Server数据库的数据页块并计入集合A2;S3:采用图论的方法对所述集合A2的元素进行重组;S4:根据所述集合A2的元素恢复所述SQL Server数据库文件。本发明专利技术提供的方法能够快速检测SQL Server数据库的数据页并高效雕复/重组SQL Server数据库的数据页块。

【技术实现步骤摘要】
一种雕复SQLServer数据库文件的方法
本专利技术属于数据恢复领域,涉及一种雕复SQLServer数据库文件的方法。
技术介绍
随着计算机中数据存储管理技术的飞速发展,数据库的应用变得十分广泛,深入到各个领域。从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造,计算机集成制造系统,电子政务,电子商务地理信息系统等,越来越多的应用领域采用数据库技术来存储和处理信息资源。数据库已成为了现代信息系统的重要组成部分。数据库中存储着重要重要而敏感的信息,因此数据库系统就成为了黑客们有价值的攻击对象。黑客可以通过口令入侵、特权提升、漏洞入侵、SQL注入和窃取备份等手段攻击数据库系统,窃取、篡改、破坏其中的数据或进行其他非法活动。从数据库中恢复出入侵者破坏的数据是取证中重要的一部分,也是本文的研究主题。数据库恢复相对于其它电子数据的恢复优点之一是存在很多冗余信息,具有很丰富的证据来源来恢复数据。SQLServer是微软推出的企业级关系型数据库,具有高性能、高易用性、可伸缩性好、与相关软件集成度高等优点,广泛应用于各种信息管理系统、办公自动化系统、决策支持系统等。SQLServer数据库文件的存储是微软自定义的存储格式,传统的数据恢复技术无法应用到数据库文件中的数据记录提取与恢复。市面上现有技术无法有效重组多片段的SQLServer数据库文件,无法有效地恢复数据库中删除的数据记录数据。
技术实现思路
本专利技术针对现有技术的不足问题,提出了一种雕复SQLServer数据库文件的方法,通过查找和提取空闲簇/块并采用有向无环图论技术雕复/重组数据页,从而实现基于图论的雕复SQLServer数据库文件的目的,本专利技术可能涉及的术语如下:簇/块:常规文件系统中分区的最小管理单元,由连续的固定个数的扇区组成;数据库的数据文件:本文中特指记录数据库表结构及表实际数据的相关文件的总称;数据页:数据库的数据文件的最小管理单元,由16个物理连续的扇区组成,具有特定的结构。数据页块:由物理连续的一个或多个数据页组成的区段。区:在同一种数据文件中由固定个数的数据页组成的结构,是数据库引擎存储分配的最小单元;段:由一个或多个连续的区组成,具有独立存储结构的数据页对象的数据,根据需要存储的数据特性和用途不同常常分为索引段、数据段、回滚段、回退段、临时段。图论:〔GraphTheory〕以图为研究对象,图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。本专利技术包括以下步骤:S1:提取所述SQLServer数据库中数据源的空闲簇/块并计入集合A1;S2:检测所述集合A1的元素中所述SQLServer数据库的数据页块并计入集合A2;S3:采用图论的方法对所述集合A2的元素进行重组;S4:根据所述集合A2的元素恢复所述SQLServer数据库文件。优选地,所述步骤S2的具体步骤如下:S21:从所述集合A1的元素中读取数据页P;S22:检查当前数据页P是否符合SQLServer数据库的数据页结构;S23:判断步骤S22的检查是否通过,如果是,执行步骤S24,否则执行步骤S25;S24:将当前数据页P计入所述集合A2;S25:判断所述集合A1的所有元素是否读取完毕,如果是,则执行步骤S27,否则执行步骤S26;S26:设置读数据的偏移量,执行步骤S21;S27:将所述集合A2的元素组合为所述SQLServer数据库的数据页块。优选地,步骤S3的具体步骤如下:S31:通过所述集合A2构建有向无环图G;S32:采用广度优先搜索算法对有向无环图G进行拓扑排序;S33:计算所述有向无环图G的边的权重;S34:通过启发式搜索和贪婪算法在所述有向无环图G中寻找多源最优路径并计入集合A3;S35:通过所述集合A3的元素重组所述集合A2的元素。优选地,所述多源最优路径是指所述有向无环图G中权重之和最大且不相交的路径。本专利技术的有益效果是:能够快速检测SQLServer数据库的数据页并高效雕复/重组SQLServer数据库的数据页块。附图说明图1为本专利技术所提供的方法的总流程图;图2为本专利技术中检测数据页块的具体流程图;图3为本专利技术中雕复/重组数据页块的具体流程图。具体实施方式图1示出了本专利技术所提供的方法的总流程图。如图1所示,本专利技术包括以下步骤:S1:解析待恢复的数据源所包含的文件系统结构,获取其分区信息,分区信息主要包括分区的数量、分区大小、分区的起始位置、分区的簇/块大小、分区的总簇/块数、分区的位图表等参数,根据分区的位图表信息来标记数据源中空闲簇/块,同时记录其空闲簇/块对应的LBA值;若未包含正常文件系统,则默认将待恢复的数据源的全部内容作为空闲簇处理,且簇的大小默认为8扇区,记录所有簇对应的LBA值,并将上述获取的空闲簇/块计入集合A1。S2:遍历集合A1的元素a1i,检测a1i中的SQLServer数据页块并计入集合A2。图2示出了本专利技术中检测数据页块的具体流程图,如图2所示,步骤S2的具体步骤如下:S21:从集合A1的元素中读取连续的16扇区作为数据页P;S22:SQLServer数据页的前0x60字节为页头,其具有特定的结构,根据该结构中每个成员的取值范围,检查数据页P的正确性;S23:若S22检查通过,则执行S24,否则执行S25;S24:将数据页P计入集合A2;S25:若集合A1的所有元素读取数据完毕,则执行S27,否则执行S26;S26:若S22检查通过,则读数据偏移移动16扇区,否则移动1扇区,执行S21;S27:将集合A2的物理和逻辑连续的数据页组合为数据页块,物理连续的条件为:数据页在数据源中的位置相差16扇区,逻辑连续的条件为:数据页ID相差1。S3:通过集合A2构建有向无环图G,在有向无环图G中寻找多源最优路径(即,有向无环图G中权重之和最大且不相交的路径)并计入集合A3,通过集合A3的元素a3i对集合A2的元素进行重组。图3示出了本专利技术中雕复/重组数据页块的具体流程图。如图3所示,步骤S3的具体步骤如下:S31:以集合A2的元素为顶点,以元素之间无页ID重复为边,边的方向为起始页ID较小者指向起始页ID较大者,构建有向无环图G。由于数据页块存在逻辑线性关系,故有向无环图G为有向无环图,本专利技术采用邻接矩阵来存储有向无环图G。S32:利用广度优先搜索算法(BFS算法)对有向无环图G进行拓扑排序,步骤S32的具体步骤如下:S321:从有向无环图G中选择一个入度为0的顶点V加入队列Q1。S322:从有向无环图G中删除顶点V及其所有的边。S323:若有向无环图G中无入度为0的顶点,则执行S324,否则执行S321。S324:利用队列Q1重构有向无环图G。S33:根据集合A2的元素之间的物理间距、页ID间距、错误关联页数、页总数等因子,计算边的权重。权重越大,元素之间关联越强,寻找路径时的优先级越高。S34:通过启发式搜索和贪婪算法在有向无环图G中寻找多源最大权重无相交路径并计入集合A3,步骤S34的具体步骤如下:S341:在队列Q1中查找第一个未标记的节点N1;S342:在队列Q1中标本文档来自技高网...

【技术保护点】
1.一种雕复SQL Server数据库文件的方法,其特征在于包括以下步骤:S1:提取所述SQL Server数据库中数据源的空闲簇/块并计入集合A1;S2:检测所述集合A1的元素中所述SQL Server数据库的数据页块并计入集合A2;S3:采用图论的方法对所述集合A2的元素进行重组;S4:根据所述集合A2的元素恢复所述SQL Server数据库文件。

【技术特征摘要】
1.一种雕复SQLServer数据库文件的方法,其特征在于包括以下步骤:S1:提取所述SQLServer数据库中数据源的空闲簇/块并计入集合A1;S2:检测所述集合A1的元素中所述SQLServer数据库的数据页块并计入集合A2;S3:采用图论的方法对所述集合A2的元素进行重组;S4:根据所述集合A2的元素恢复所述SQLServer数据库文件。2.根据权利要求1所述的一种雕复SQLServer数据库文件的方法,其特征在于,所述步骤S2的具体步骤如下:S21:从所述集合A1的元素中读取数据页P;S22:检查当前数据页P是否符合SQLServer数据库的数据页结构;S23:判断步骤S22的检查是否通过,如果是,执行步骤S24,否则执行步骤S25;S24:将当前数据页P计入所述集合A2;S25:判断所述集合A1...

【专利技术属性】
技术研发人员:梁效宁许超明陆宇轩朱星海
申请(专利权)人:四川效率源信息安全技术股份有限公司
类型:发明
国别省市:四川,51

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

1