一种基于ACCESS样本数据库的碎片数据恢复方法技术

技术编号:21033892 阅读:39 留言:0更新日期:2019-05-04 05:17
本发明专利技术公开了一种分类提取ACCESS数据库中碎片数据的方法,其特征在于包括以下步骤:S001:获取数据源;S002:将数据源均分为多个数据页并寻址第一数据页;S003:寻址下一数据页并对地址addr赋初值0;S004:判断是否成功获取数据页,如果是,执行步骤S005,否则执行步骤S010;S005:判断当前数据页是否符合数据页标准,如果是,执行步骤S006,否则,执行步骤S003;S006:从当前数据页中读取连续2字节的值;S007:判断是否能够读取连续2字节的值,如果是,执行步骤S008,否则,执行步骤S003;S008:判断2字节的值是否符合列数规则,如果是,执行步骤S009,否则,执行步骤S006;S009:判断2字节的值是否符合定位规则,如果是,执行步骤S010,否则,执行步骤S006;S010:获取当前数据项集合h;S011:分类提取ACCESS数据库中的碎片数据。

【技术实现步骤摘要】
一种基于ACCESS样本数据库的碎片数据恢复方法
本专利技术属于数据恢复领域,具体涉及一种基于ACCESS样本数据库的碎片数据恢复方法。
技术介绍
随着信息时代的来临,对数据的管理和应用都离不开数据库。数据库系统是计算机应用系统的重要组成部分之一。数据库技术已广泛应用于数据处理、信息检索、人工智能等诸多方面,数据库应用技术是从事计算机工作的人员必备的技术之一。ACCSEE数据库管理系统是MicrosoftOffice套件的重要组成部分。ACCSEE适用于小型商务活动,用以存储和管理商务活动所需要的数据ACCSEE不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源生成窗体、表单、查询、报表、应用程序等。ACCSEE的用途体现在两个:一、进行数据分析:ACCSEE有强大的数据处理、统计分析能力,利用ACCSEE的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便。二、开发软件:ACCSEE用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学。非本文档来自技高网...

【技术保护点】
1.一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于包括以下步骤:S1加载数据项集合;S2解析样本数据库中的表结构,包括如下步骤:S2.1寻址并解析所述样本数据库的02页:读取所述样本数据库起始位置为0x2000、标记为0x02、长度为0x1000的值为所述02页,所述02页存储数据库中04页的页号;S2.2判断步骤S2.1中获取的04页是否有效,如果是,则执行步骤S2.3,否则执行步骤S3;具体步骤为:判断步骤S2.1中获得的04页的页号是否为有效的04页,若是则执行步骤S2.3,否则执行步骤S2.1.2;判断方法:相对于页头偏移0x1B、读取长度为4字节的值若为0x020408...

【技术特征摘要】
1.一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于包括以下步骤:S1加载数据项集合;S2解析样本数据库中的表结构,包括如下步骤:S2.1寻址并解析所述样本数据库的02页:读取所述样本数据库起始位置为0x2000、标记为0x02、长度为0x1000的值为所述02页,所述02页存储数据库中04页的页号;S2.2判断步骤S2.1中获取的04页是否有效,如果是,则执行步骤S2.3,否则执行步骤S3;具体步骤为:判断步骤S2.1中获得的04页的页号是否为有效的04页,若是则执行步骤S2.3,否则执行步骤S2.1.2;判断方法:相对于页头偏移0x1B、读取长度为4字节的值若为0x02040810,则表示是有效04页,否则表示04页为无效04页;S2.3根据步骤S2.2中所记录的04页,获取数据库所对应的所有表名所在的01页的页号;S2.4解析步骤S2.2中获取的01数据页,获取各个表的表基本信息;S2.5根据步骤S2.3中获取的各个表结构的对应存储位置,找到所述表基本信息所在位置,并解析所述表基本信息,获取所述样本数据库中所有表结构的页号;S2.6根据步骤S2.5中获取的表结构所在页号,计算出表结构所在位置,解析所述表结构,并获取所述样本数据库中的所有的表结构;;S3将步骤S1中的数据项集合和步骤S2中获取的表结构匹配,获取各个表结构对应的数据。2.根据权利要求1所述的一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于,所述步骤S2.1的具体步骤如下:S2.1.1设置变量addrPos并赋初值为0x312,设置变量temp并赋初始值为0;S2.1.2如果addrPos小于0x1000,则执行步骤S2.1.3,否则执行步骤S2.3.8;S2.1.3以addrPos为起始位置、读取长度为4字节的值并赋给temp;S2.1.4判断temp的值是否为0x83070000,如果是,则执行步骤S2.1.5,否则执行步骤S2.3.8;S2.1.5addrPos=addrPos+0x26;S2.1.6以addrPos为起始位置、读取长度为4字节的值;S2.1.7addrPos=addrPos+0x0E,执行步骤S2.2。3.根据权利要求2所述的一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于,所述步骤S2.3中解析有效04页的具体步骤如下:S2.3.1设置偏移地址变量a并赋初值为0x1E0,设置变量bFlag并赋初值为0x00,设置数组A并赋初值为NULL;S2.3.2判断变量a是否小于0x1000,如果是,则执行步骤2.3.3,否则执行步骤S2.1.2;S2.3.3读取变量a处长度为1字节的值并赋给bFlag;S2.3.4判断bFlag是否等于0x00,如果是,则执行步骤S2.1.2,否则执行步骤S2.3.5;S2.3.5a=a+5;S2.3.6以变量a为起始位置、读取长度为3字节的值并放入A中;S2.3.7a=a+4,执行步骤S2.3.2;S2.3.8将数组A去重,执行步骤S2.4。4.根据权利要求3所述的一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于,所述步骤S2.4中解析01数据页序号信息、找到各个对应的01页数据的具体步骤如下:S2.4.1判断数组A的长度是否大于0,如果是,执行步骤S2.4.2,否则执行步骤S2.1.2;S2.4.2设置变量eLen并赋初值为0,设置变量len并赋初值为A的长度,设置变量f并赋初值为0;S2.4.3判断eLen是否小于len,如果是,则执行步骤S2.4.4,否则执行步骤S2.1.2;S2.4.4读取A[eLen]的值并赋给变量f;S2.4.5计算01页的起始偏移位置为f*0x1000、读取长度为0x1000字节的值作为01页数据;S2.4.6eLen=eLen+1,执行步骤S2.5。5.根据权利要求4所述的一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于,所述步骤S2.5中解析01页数据并得到各个表的名称及表结构所在页的序号的具体步骤如下:S2.5.1设置偏移地址变量qAddr并赋初值为0x0C,设置变量num并赋初始值为0x00,设置变量pos并赋初始值为0x00,变量值均为16进制,定义初值为空的集合HTable;S2.5.2以变量qAddr为起始位置、读取长度为2字节的值并赋值给num,其存储格式为大端格式存储;S2.5.3qAddr=qAddr+2;S2.5.4定义集合hTable{页号:value1;表名:value2},设置变量iTemp并赋初始值为0,设置变量LTemp并赋初始值为0;S2.5.5判断qAddr是否小于0x1000,如果是,则执行步骤S2.5.6,否则执行步骤S2.6;S2.5.6判断num是否大于0,如果是,则执行步骤S2.5.7,否则执行步骤S2.6;S2.5.7以qAddr为起始位置、读取长度为2字节的值赋给pos,其存储格式为大端格式存储;S2.5.8判断pos的二进制最高两位是否为0x00,如果是,则执行步骤S2.5.9,否则执行步骤S2.5.18;S2.5.9以pos为起始位置、读取长度为2字节的值;S2.5.10判断步骤S2.5.9所读取的值是否等于0x1100,如果是,则执行步骤S2.5.11,否则执行步骤S2.5.18;S2.5.11pos=pos+2;S2.5.12以pos为起始位置、读取长度为4字节的值并赋给集合hTable中的页号,其存储格式为大端格式存储;S2.5.13pos=pos+1E;S2.5.14以pos为起点、读取长度为1字节的值并赋值给LTemp;S2.5.15判断LTemp是否为0x00,如果是,则执行步骤S2.5.17,否则执行步骤S2.5.16;S2.5.16pos=pos+2,iTemp=iTemp+2,执行步骤S2.5.14;S2.5.17以pos-iTemp为起始位置、读取长度为iTemp的值并赋值给集合hTable中的表名,其存储格式为Unicode编码格式;将集合hTable并入集合HTable;S2.5.18num=num-1,执行步骤S2.5.3。6.根据权利要求5所述的一种基于ACCESS样本数据库的碎片数据恢复方法,其特征在于,所述步骤S2.6中解析表结构信息的具体步骤如下:S2.6.1设置变量mAddr并赋初值为0,设置变量n并赋初值为集合HTable的长度,设置变量u赋初始值为0,设置变量x并赋初始值为0,设置变量y并赋初始值为0,设置变量jTemp并赋初始值为0,定义集合table{字段数:value1;字段信息:value2{};变长个数:value3};S2.6.2判断n是否大于0,如果是,则执行步骤S2.6.3,否则执行步骤S3;S2.6.3判断jTemp是否小于n,如果是,则执行步骤S2.6.4,否则执行步骤S3;S2.6.4取集合HTable中的第jTemp个子集合hTable;S2.6.5根据集合hTable中的序号及页的长度为0x1000,得到集合hTable对应的表结构的偏移位置;S2.6.6在步骤S2.6.5所述页中,以mAddr为起始位置、读取长度为1字节的值并赋给u;S2.6.7判断u是否等于0x02,如果是,则执行步骤S2.6.8,否则执行步骤S2.6.35;S2.6.8mAddr=mAddr+8;S2.6.9在步骤S2.6.5所述页中,以当前mAddr为起始位置、读取长度为4字节的值并赋给u,其存储格式为小端格式存储;S2.6.10判断u是否大于0x00且小于0x1000,如果是,则执行步骤S2.6.11,否则执行步骤S2.6.35;S2.6.11mAddr=mAddr+4,将当前mAddr的值赋给x;S2.6.12以当前mAddr为起始位置、读取长度为4字节的值并赋给u,其存储格式为大端格式存储;S2.6.13判断u的值是否为0x59060000,如果是,则执行步骤S2.6.14,否则执行步骤S2.6.35;S2.6.14mAddr=mAddr+0x21;S2.6.15以当前mAddr为起始位置、读取长度为2字节的值并赋给集合table{字段数:value1;字段信息:value2{};变长个数:value3}中的字段数value1,其存储格式为大端格式存储;S2.6.16mAddr=mAddr+0x02;S2.6.17以当前mAddr为起始位置、读取长度为4字节的值并赋给...

【专利技术属性】
技术研发人员:梁效宁许超明刘涛朱星海陆宇轩
申请(专利权)人:四川巧夺天工信息安全智能设备有限公司
类型:发明
国别省市:四川,51

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

1