CN109492001A - 一种分类提取access数据库中碎片数据的方法 - Google Patents

一种分类提取access数据库中碎片数据的方法 Download PDF

Info

Publication number
CN109492001A
CN109492001A CN201811198248.8A CN201811198248A CN109492001A CN 109492001 A CN109492001 A CN 109492001A CN 201811198248 A CN201811198248 A CN 201811198248A CN 109492001 A CN109492001 A CN 109492001A
Authority
CN
China
Prior art keywords
data
value
variable
byte
address
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
Application number
CN201811198248.8A
Other languages
English (en)
Other versions
CN109492001B (zh
Inventor
梁效宁
许超明
刘涛
朱星海
陆宇轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd
Original Assignee
Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd filed Critical Sichuan Art Beats Nature Information Security Intelligent Equipment Co Ltd
Priority to CN201811198248.8A priority Critical patent/CN109492001B/zh
Publication of CN109492001A publication Critical patent/CN109492001A/zh
Application granted granted Critical
Publication of CN109492001B publication Critical patent/CN109492001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分类提取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数据库中的碎片数据。

Description

一种分类提取ACCESS数据库中碎片数据的方法
技术领域
本发明属于数据恢复领域,具体涉及一种分类提取ACCESS数据库中碎片数据的方法。
背景技术
随着信息时代的来临,对数据的管理和应用都离不开数据库。数据库系统是计算机应用系统的重要组成部分之一。数据库技术已广泛应用于数据处理、信息检索、人工智能等诸多方面,数据库应用技术是从事计算机工作的人员必备的技术之一。
ACCESS数据库管理系统是Microsoft Office套件的重要组成部分。ACCESS 适用于小型商务活动,用以存储和管理商务活动所需要的数据ACCESS不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源生成窗体、表单、查询、报表、应用程序等。
ACCESS的用途体现在两个:
一、进行数据分析:ACCESS有强大的数据处理、统计分析能力,利用ACCESS 的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便。
二、开发软件:ACCESS用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。
ACCESS数据库中,数据的最小访问单位是字段,由多个定长字段/多个变长字段组成一张表,且相同存储格式的表存放同一类的数据。
在ACCESS数据库的使用过程中,难免会遇到误操作、人为恶意破坏、软硬件故障等原因对数据库造成损坏,丢失重要数据。此时,从碎片数据中对 ACCESS数据库进行恢复并找回数据,就显得至关重要,但现有技术中,尚无一种能够分类提取ACCESS数据库中碎片数据的方法。
发明内容
本发明针对现有技术的不足问题,提出了一种分类提取ACCESS数据库中碎片数据的方法,根据同一表的数据其存储格式相同的原理,将ACCESS数据库的碎片数据中列数、变长字段个数及位图长度均相同的数据项集合提取为ACCESS 数据库中同一表的数据,换言之,不同的列数、变长字段个数及位图长度为不同表的数据,从而达到分类提取数据及恢复数据的目的,包括以下步骤:
S001:获取数据源,所述数据源包含ACCESS数据库和/或ACCESS数据库的碎片数据;
S002:将所述数据源均分为多个数据页并寻址第一数据页,其中,每一所述数据页的长度为N扇区,N为大于1的自然数;
S003:寻址下一数据页并对地址addr赋初值0;
S004:判断是否成功获取数据页,如果是,执行步骤S005,否则执行步骤 S010;
S005:判断当前数据页是否符合ACCESS数据库的数据页标准,如果是,执行步骤S006,否则,执行步骤S003;
S006:从当前数据页中读取连续2字节的值,所述2字节的值以小端格式存储;
S007:判断是否能够读取连续2字节的值,如果是,执行步骤S008,否则,执行步骤S003;
S008:判断所述2字节的值是否符合ACCESS数据库的数据项的列数规则,如果是,执行步骤S009,否则,执行步骤S006,其中,所述数据项包括列数、数据体、数据体长度、n个偏移地址、变长字段个数n及位图长度,n为不小于0的整数;
S009:判断所述2字节的值是否符合ACCESS数据库的数据项的定位规则,如果是,执行步骤S010,否则,执行步骤S006;
S010:获取当前数据项集合h,将当前数据项集合h并入数据项数据体集合H 中;
S011:根据所述数据项数据体集合H的列数、变长字段个数n、位图长度,分类提取ACCESS数据库中的碎片数据:将列数、变长字段个数n及位图长度均相同的数据项集合h提取为ACCESS数据库中同一表的数据。
优选地,N等于8。
优选地,所述步骤S004的具体步骤如下:
判断数据页数是否为0,如果是,表示获取数据页失败,执行步骤S005,否则,表示获取数据页成功,执行步骤S010。
优选地,所述步骤S005的具体步骤如下:
S0051:从当前数据页中随机获取10个字节的值;
S0052:判断所述10字节的值是否具有9个以上的值为0x00,如果是,执行步骤S003,否则,执行步骤S0053;
S0053:判断所述10字节的值是否具有6个以上且8个以下的值为0x00,如果是,执行步骤S006,否则,执行步骤S0054;
S0054:判断所述10字节的值是否具有6个以上的非0x00的相同值,如果是,执行步骤S003,否则,执行步骤S006。
优选地,所述步骤S007的具体步骤如下:
如果地址addr大于或等于4095,则表示连续读取2字节的值失败,执行步骤S003,否则,执行步骤S008。
优选地,所述步骤S008的具体步骤如下:
S0081:判断所述2字节中第一字节的值为非0x00,如果是,执行步骤 S0082,否则,执行步骤S0083;
S0082:判断所述2字节中第二字节的值为0x00,如果是,执行步骤S009,否则,执行步骤S0083;
S0083:地址addr=地址addr+1,并执行步骤S006。
优选地,所述步骤S009的具体步骤如下:
S0091:定义变量m、b、c,均赋初值为0,定义变量d,初始赋值为地址 addr,定义变量e,初始赋值为步骤S006中所述连续2字节的值,其中,变量 m、b、c、d、e均为十六进制数;
S0092:判断当前的地址addr是否小于4095,如果是,执行步骤S0093,否则,执行步骤S006;
S0093:寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量b;
S0094:判断变量b是否等于变量m,如果是,执行步骤S0096,否则,执行步骤S0095;
S0095:地址addr=地址addr+1,m=m+1,并执行步骤S0092;
S0096:地址addr=地址addr+2,寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量c;
S0097:判断变量c是否小于变量b,如果是,执行步骤S010,否则,执行步骤 S006。
优选地,所述步骤S010的具体步骤如下:
S0101:定义数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3},数据项集合h中各元素均赋初值为0;
将当前变量e的值放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
数据项起始地址用变量d表示,数据项数据体中变长字段相对于数据项起始地址d的偏移地址用当前的地址addr表示,数据项数据体长度为a-4-d;
S0102:定义变量p、q,均赋初值为0;
S0103:判断当前的地址addr是否小于4095,如果是,执行步骤S0104,否则,执行步骤S0108;
S0104:寻址当前的地址addr并读取连续2字节的值,并将当前连续2字节的值赋给变量q;
S0105:判断变量q、p的值是否相等,如果是,执行步骤S0107,否则,执行步骤S0106;
S0106:地址addr=地址addr+2,p=p+1,执行步骤S0103;
S0107:将当前变量q的值作为变长字段个数n的值value1并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0108:地址addr=地址addr+2,当前的地址addr作为位图的起始地址,位图的长度=(e+7)/8的商,将(e+7)/8的商作为位图的长度的值value2并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0109:根据步骤S0101数据项起始地址d及数据项数据体长度a-4-d,获得数据项的起始地址addr_start为d、结束地址addr_end为 d+4+a-d+value1*2+value2,以addr_start为起始地址、以addr_end为结束地址,在数据页中读取数据作为数据项的值value3并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};。
优选地,所述步骤S011的具体步骤如下:
S0111:定义变量L,将数据项数据体集合H的长度赋给L,定义变量j、i 并均赋初值为0,定义集合Cj用以存放不同表的数据;
S0112:判断数据项数据体集合H的长度L是否大于0,如果是,执行步骤 S0113,否则,结束流程;
S0113:顺序获取数据项数据体集合H中的一个数据项集合h,L=L-1,j=i;
S0114:判断j是否大于0,如果是,执行步骤S0115,否则执行步骤S0119;
S0115:判断集合Cj中的列数与数据项集合h中的列数的值是否相等,如果是,执行步骤S0116,否则,j=j-1,执行步骤S0114;
S0116:判断集合Cj中的变长字段个数n与数据项集合h中的变长字段个数 n的值是否相等,如果是,执行步骤S0117,否则,j=j-1,执行步骤S0114;
S0117:判断集合Cj中的位图长度与数据项集合h中的位图长度的值是否相等,如果是,执行步骤S0118,否则,j=j-1,执行步骤S0114;
S0118:将数据项集合h并入集合Cj中,执行步骤S0112;
S0119:i=i+1,生成一个新的集合C i,将数据项集合h并入新的集合C i 中。
本发明的有益效果是:解决了现有技术中尚无一种能够分类提取ACCESS数据库中碎片数据的方法的技术问题。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明实施例中ACCESS数据库的数据项的数据格式示意图;
图3为本发明实施例中判断是否符合ACCESS数据库的数据项的定位规则的具体流程图;
图4为本发明实施例中获取数据项的具体流程图;
图5为本发明实施例中提取同一表的数据的具体流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明所提供的方法的总流程图,如图1所示,包括以下步骤:
S001:获取数据源,数据源包含ACCESS数据库和/或ACCESS数据库的碎片数据,即,数据源可以是ACCESS的完整数据库和/或被删除、被损坏的 ACCESS数据库的碎片数据;
S002:将数据源均分为多个数据页并寻址第一数据页,其中,每一数据页的长度为8扇区;
S003:寻址下一数据页并对地址addr赋初值0;
S004:判断是否成功获取数据页,如果是,执行步骤S005,否则执行步骤 S010;具体地,判断数据页数是否为0,如果是,表示获取数据页失败,执行步骤S005,否则,表示获取数据页成功,执行步骤S010;
S005:判断当前数据页是否符合ACCESS数据库的数据页标准,如果是,执行步骤S006,否则,执行步骤S003;步骤S005的具体步骤如下:
S0051:从当前数据页中随机获取10个字节的值;
S0052:判断该10字节的值是否具有9个以上的值为0x00,如果是,执行步骤S003,否则,执行步骤S0053;
S0053:判断该10字节的值是否具有6个以上且8个以下的值为0x00,如果是,执行步骤S006,否则,执行步骤S0054;
S0054:判断该10字节的值是否具有6个以上的非0x00的相同值,如果是,执行步骤S003,否则,执行步骤S006;
S006:从当前数据页中读取连续2字节的值,该2字节的值以小端格式存储;
S007:判断是否能够读取连续2字节的值,如果是,执行步骤S008,否则,执行步骤S003;具体地,如果地址addr大于或等于4095,则表示连续读取2字节的值失败,执行步骤S003,否则,执行步骤S008;
S008:判断2字节的值是否符合ACCESS数据库的数据项的列数规则,如果是,执行步骤S009,否则,执行步骤S006;
图2示出了本发明实施例中ACCESS数据库的数据项的数据格式,如图2 所示,数据项包括列数、数据体、数据体长度、n个偏移地址、变长字段个数 n及位图长度,n为不小于0的整数;
步骤S008的具体步骤如下:
S0081:判断2字节中第一字节的值为非0x00,如果是,执行步骤S0082,否则,执行步骤S0083;
S0082:判断2字节中第二字节的值为0x00,如果是,执行步骤S009,否则,执行步骤S0083;
S0083:地址addr=地址addr+1,并执行步骤S006;
S009:判断2字节的值是否符合ACCESS数据库的数据项的定位规则,如果是,执行步骤S010,否则,执行步骤S006;
图3示出了本发明实施例中判断是否符合ACCESS数据库的数据项的定位规则的具体流程图,如图3所示,步骤S009的具体步骤如下:
S0091:定义变量m、b、c,均赋初值为0,定义变量d,初始赋值为地址 addr,定义变量e,初始赋值为步骤S006中所述连续2字节的值,其中,变量 m、b、c、d、e均为十六进制数;
S0092:判断当前的地址addr是否小于4095,如果是,执行步骤S0093,否则,执行步骤S006;
S0093:寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量b;
S0094:判断变量b是否等于变量m,如果是,执行步骤S0096,否则,执行步骤S0095;
S0095:地址addr=地址addr+1,m=m+1,并执行步骤S0092;
S0096:地址addr=地址addr+2,寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量c;
S0097:判断变量c是否小于变量b,如果是,执行步骤S010,否则,执行步骤S006;
S010:获取当前数据项集合h,将当前数据项集合h并入数据项数据体集合H中;图4示出了本发明实施例中获取数据项的具体流程图,如图4所示,步骤S010的具体步骤如下:
S0101:定义数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3},数据项集合h中各元素均赋初值为0;
将当前变量e的值放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
数据项起始地址用变量d表示,数据项数据体中变长字段相对于数据项起始地址d的偏移地址用当前的地址addr表示,数据项数据体长度为a-4-d;
S0102:定义变量p、q,均赋初值为0;
S0103:判断当前的地址addr是否小于4095,如果是,执行步骤S0104,否则,执行步骤S0108;
S0104:寻址当前的地址addr并读取连续2字节的值,并将当前连续2字节的值赋给变量q;
S0105:判断变量q、p的值是否相等,如果是,执行步骤S0107,否则,执行步骤S0106;
S0106:地址addr=地址addr+2,p=p+1,执行步骤S0103;
S0107:将当前变量q的值作为变长字段个数n的值value1并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0108:地址addr=地址addr+2,当前的地址addr作为位图的起始地址,位图的长度=(e+7)/8的商,将(e+7)/8的商作为位图的长度的值value2并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0109:根据步骤S0101数据项起始地址d及数据项数据体长度a-4-d,获得数据项的起始地址addr_start为d、结束地址addr_end为 d+4+a-d+value1*2+value2,以addr_start为起始地址、以addr_end为结束地址,在数据页中读取数据作为数据项的值value3并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S011:根据数据项数据体集合H的列数、变长字段个数n、位图长度,分类提取ACCESS数据库中的碎片数据:将列数、变长字段个数n及位图长度均相同的数据项集合h提取为ACCESS数据库中同一表的数据,换言之,不同的列数、变长字段个数及位图长度为不同表的数据,从而达到分类提取数据及恢复数据的目的;
图5示出了本发明实施例中提取同一表的数据的具体流程图,如图5所示,步骤S011的具体步骤如下:
S0111:定义变量L,将数据项数据体集合H的长度赋给L,定义变量j、i 并均赋初值为0,定义集合Cj用以存放不同表的数据;
S0112:判断数据项数据体集合H的长度L是否大于0,如果是,执行步骤 S0113,否则,结束流程;
S0113:顺序获取数据项数据体集合H中的一个数据项集合h,L=L-1,j=i;
S0114:判断j是否大于0,如果是,执行步骤S0115,否则执行步骤S0119;
S0115:判断集合Cj中的列数与数据项集合h中的列数的值是否相等,如果是,执行步骤S0116,否则,j=j-1,执行步骤S0114;
S0116:判断集合Cj中的变长字段个数n与数据项集合h中的变长字段个数 n的值是否相等,如果是,执行步骤S0117,否则,j=j-1,执行步骤S0114;
S0117:判断集合Cj中的位图长度与数据项集合h中的位图长度的值是否相等,如果是,执行步骤S0118,否则,j=j-1,执行步骤S0114;
S0118:将数据项集合h并入集合Cj中,执行步骤S0112;
S0119:i=i+1,生成一个新的集合Ci,将数据项集合h并入新的集合Ci 中。
通过本发明提供的方法,解决了现有技术中尚无一种能够分类提取 ACCESS数据库中碎片数据的方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (9)

1.一种分类提取ACCESS数据库中碎片数据的方法,其特征在于包括以下步骤:
S001:获取数据源,所述数据源包含ACCESS数据库和/或ACCESS数据库的碎片数据;
S002:将所述数据源均分为多个数据页并寻址第一数据页,其中,每一所述数据页的长度为N扇区,N为大于1的自然数;
S003:寻址下一数据页并对地址addr赋初值0;
S004:判断是否成功获取数据页,如果是,执行步骤S005,否则执行步骤S010;
S005:判断当前数据页是否符合ACCESS数据库的数据页标准,如果是,执行步骤S006,否则,执行步骤S003;
S006:从当前数据页中读取连续2字节的值,所述2字节的值以小端格式存储;
S007:判断是否能够读取连续2字节的值,如果是,执行步骤S008,否则,执行步骤S003;
S008:判断所述2字节的值是否符合ACCESS数据库的数据项的列数规则,如果是,执行步骤S009,否则,执行步骤S006,其中,所述数据项包括列数、数据体、数据体长度、n个偏移地址、变长字段个数n及位图长度,n为不小于0的整数;
S009:判断所述2字节的值是否符合ACCESS数据库的数据项的定位规则,如果是,执行步骤S010,否则,执行步骤S006;
S010:获取当前数据项集合h,将当前数据项集合h并入数据项数据体集合H中;
S011:根据所述数据项数据体集合H的列数、变长字段个数n、位图长度,分类提取ACCESS数据库中的碎片数据:将列数、变长字段个数n及位图长度均相同的数据项集合h提取为ACCESS数据库中同一表的数据。
2.根据权利要求1所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,N等于8。
3.根据权利要求2所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S004的具体步骤如下:
判断数据页数是否为0,如果是,表示获取数据页失败,执行步骤S005,否则,表示获取数据页成功,执行步骤S010。
4.根据权利要求3所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S005的具体步骤如下:
S0051:从当前数据页中随机获取10个字节的值;
S0052:判断所述10字节的值是否具有9个以上的值为0x00,如果是,执行步骤S003,否则,执行步骤S0053;
S0053:判断所述10字节的值是否具有6个以上且8个以下的值为0x00,如果是,执行步骤S006,否则,执行步骤S0054;
S0054:判断所述10字节的值是否具有6个以上的非0x00的相同值,如果是,执行步骤S003,否则,执行步骤S006。
5.根据权利要求4所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S007的具体步骤如下:
如果地址addr大于或等于4095,则表示连续读取2字节的值失败,执行步骤S003,否则,执行步骤S008。
6.根据权利要求5所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S008的具体步骤如下:
S0081:判断所述2字节中第一字节的值为非0x00,如果是,执行步骤S0082,否则,执行步骤S0083;
S0082:判断所述2字节中第二字节的值为0x00,如果是,执行步骤S009,否则,执行步骤S0083;
S0083:地址addr=地址addr+1,并执行步骤S006。
7.根据权利要求6所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S009的具体步骤如下:
S0091:定义变量m、b、c,均赋初值为0,定义变量d,初始赋值为地址addr,定义变量e,初始赋值为步骤S006中所述连续2字节的值,其中,变量m、b、c、d、e均为十六进制数;
S0092:判断当前的地址addr是否小于4095,如果是,执行步骤S0093,否则,执行步骤S006;
S0093:寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量b;
S0094:判断变量b是否等于变量m,如果是,执行步骤S0096,否则,执行步骤S0095;
S0095:地址addr=地址addr+1,m=m+1,并执行步骤S0092;
S0096:地址addr=地址addr+2,寻址当前的地址addr并读取连续2字节的值,将当前连续2字节的值赋给变量c;
S0097:判断变量c是否小于变量b,如果是,执行步骤S010,否则,执行步骤S006。
8.根据权利要求7所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S010的具体步骤如下:
S0101:定义数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3},所述数据项集合h中各元素均赋初值为0;
将当前变量e的值放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
数据项起始地址用变量d表示,数据项数据体中变长字段相对于数据项起始地址d的偏移地址用当前的地址addr表示,数据项数据体长度为a-4-d;
S0102:定义变量p、q,均赋初值为0;
S0103:判断当前的地址addr是否小于4095,如果是,执行步骤S0104,否则,执行步骤S0108;
S0104:寻址当前的地址addr并读取连续2字节的值,并将当前连续2字节的值赋给变量q;
S0105:判断变量q、p的值是否相等,如果是,执行步骤S0107,否则,执行步骤S0106;
S0106:地址addr=地址addr+2,p=p+1,执行步骤S0103;
S0107:将当前变量q的值作为变长字段个数n的值value1并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0108:地址addr=地址addr+2,当前的地址addr作为位图的起始地址,位图的长度=(e+7)/8的商,将(e+7)/8的商作为位图的长度的值value2并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S0109:根据步骤S0101所述数据项起始地址d及所述数据项数据体长度a-4-d,获得数据项的起始地址addr_start为d、结束地址addr_end为d+4+a-d+value1*2+value2,以所述addr_start为起始地址、以所述addr_end为结束地址,在数据页中读取数据作为数据项的值value3并放入数据项集合h{列数:e;变长字段个数n:value1;位图长度:value2;数据项:value3};
S010A:将数据项集合h并入数据项数据体集合H中,并执行步骤S006。
9.根据权利要求8所述的一种分类提取ACCESS数据库中碎片数据的方法,其特征在于,所述步骤S011的具体步骤如下:
S0111:定义变量L,将数据项数据体集合H的长度赋给L,定义变量j、i并均赋初值为0,定义集合Cj用以存放不同表的数据;
S0112:判断数据项数据体集合H的长度L是否大于0,如果是,执行步骤S0113,否则,结束流程;
S0113:顺序获取数据项数据体集合H中的一个数据项集合h,L=L-1,j=i;
S0114:判断j是否大于0,如果是,执行步骤S0115,否则执行步骤S0119;
S0115:判断集合Cj中的列数与数据项集合h中的列数的值是否相等,如果是,执行步骤S0116,否则,j=j-1,执行步骤S0114;
S0116:判断集合Cj中的变长字段个数n与数据项集合h中的变长字段个数n的值是否相等,如果是,执行步骤S0117,否则,j=j-1,执行步骤S0114;
S0117:判断集合Cj中的位图长度与数据项集合h中的位图长度的值是否相等,如果是,执行步骤S0118,否则,j=j-1,执行步骤S0114;
S0118:将数据项集合h并入集合Cj中,执行步骤S0112;
S0119:i=i+1,生成一个新的集合Ci,将数据项集合h并入新的集合Ci中。
CN201811198248.8A 2018-10-15 2018-10-15 一种分类提取access数据库中碎片数据的方法 Active CN109492001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811198248.8A CN109492001B (zh) 2018-10-15 2018-10-15 一种分类提取access数据库中碎片数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811198248.8A CN109492001B (zh) 2018-10-15 2018-10-15 一种分类提取access数据库中碎片数据的方法

Publications (2)

Publication Number Publication Date
CN109492001A true CN109492001A (zh) 2019-03-19
CN109492001B CN109492001B (zh) 2021-10-01

Family

ID=65690589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811198248.8A Active CN109492001B (zh) 2018-10-15 2018-10-15 一种分类提取access数据库中碎片数据的方法

Country Status (1)

Country Link
CN (1) CN109492001B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294319A1 (en) * 2006-06-08 2007-12-20 Emc Corporation Method and apparatus for processing a database replica
US20140172795A1 (en) * 2012-03-02 2014-06-19 Huawei Technologies Co., Ltd. Data processing method and data processing device
US20170075764A1 (en) * 2015-09-16 2017-03-16 Richard Banister System and Method for Time Parameter Based Database Restoration
CN106708830A (zh) * 2015-08-03 2017-05-24 四川效率源信息安全技术有限责任公司 一种基于大型数据库的数据恢复方法
CN106776795A (zh) * 2016-11-23 2017-05-31 黄健文 基于Hbase数据库的数据写入方法及装置
CN106897174A (zh) * 2017-03-01 2017-06-27 四川艾特赢泰智能科技有限责任公司 一种针对mysql数据库的碎片恢复方法
CN107077480A (zh) * 2014-09-17 2017-08-18 华为技术有限公司 基于查询需求自适应地从当前时间的行存储数据库中构建列存储数据库的方法和系统
CN107797940A (zh) * 2017-11-21 2018-03-13 四川巧夺天工信息安全智能设备有限公司 一种针对无法访问东芝硬盘数据区的恢复方法
CN108153604A (zh) * 2017-12-29 2018-06-12 四川巧夺天工信息安全智能设备有限公司 一种恢复f2fs文件系统中被删除文件的方法
US20180165340A1 (en) * 2012-11-26 2018-06-14 Amazon Technologies, Inc. Automatic repair of corrupted blocks in a database
CN108563751A (zh) * 2018-04-16 2018-09-21 中国刑事警察学院 数据库碎片提取方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294319A1 (en) * 2006-06-08 2007-12-20 Emc Corporation Method and apparatus for processing a database replica
US20140172795A1 (en) * 2012-03-02 2014-06-19 Huawei Technologies Co., Ltd. Data processing method and data processing device
US20180165340A1 (en) * 2012-11-26 2018-06-14 Amazon Technologies, Inc. Automatic repair of corrupted blocks in a database
CN107077480A (zh) * 2014-09-17 2017-08-18 华为技术有限公司 基于查询需求自适应地从当前时间的行存储数据库中构建列存储数据库的方法和系统
CN106708830A (zh) * 2015-08-03 2017-05-24 四川效率源信息安全技术有限责任公司 一种基于大型数据库的数据恢复方法
US20170075764A1 (en) * 2015-09-16 2017-03-16 Richard Banister System and Method for Time Parameter Based Database Restoration
CN106776795A (zh) * 2016-11-23 2017-05-31 黄健文 基于Hbase数据库的数据写入方法及装置
CN106897174A (zh) * 2017-03-01 2017-06-27 四川艾特赢泰智能科技有限责任公司 一种针对mysql数据库的碎片恢复方法
CN107797940A (zh) * 2017-11-21 2018-03-13 四川巧夺天工信息安全智能设备有限公司 一种针对无法访问东芝硬盘数据区的恢复方法
CN108153604A (zh) * 2017-12-29 2018-06-12 四川巧夺天工信息安全智能设备有限公司 一种恢复f2fs文件系统中被删除文件的方法
CN108563751A (zh) * 2018-04-16 2018-09-21 中国刑事警察学院 数据库碎片提取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周游弋 等: ""高并发集群监控系统中内存数据库的设计与应用"", 《计算机应用与软件》 *
张婷婷: ""Oracle数据库备份恢复策略的研究与实现"", 《信息技术与信息化》 *

Also Published As

Publication number Publication date
CN109492001B (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US9467460B1 (en) Modularized database architecture using vertical partitioning for a state machine
US6047277A (en) Self-organizing neural network for plain text categorization
JP6341205B2 (ja) データ圧縮システム
CN104112026B (zh) 一种短信文本分类方法及系统
CN111400408A (zh) 数据同步方法、装置、设备及存储介质
CN105095247A (zh) 符号数据分析方法和系统
WO2015181962A1 (ja) 検索方法及び装置並びに記憶媒体
CN106997367A (zh) 程序文件的分类方法、分类装置和分类系统
CN109388523A (zh) 一种基于二进制日志文件恢复MySQL数据库的方法
CN112115965A (zh) 一种基于svm的被动操作系统识别方法、存储介质及设备
Vadrevu et al. Maxs: Scaling malware execution with sequential multi-hypothesis testing
CN104123102A (zh) 一种ip硬盘及其数据处理方法
CN117061254B (zh) 异常流量检测方法、装置和计算机设备
CN114372060A (zh) 数据存储方法、装置、设备及存储介质
CN109492001A (zh) 一种分类提取access数据库中碎片数据的方法
CN108985052A (zh) 一种恶意程序识别方法、装置和存储介质
CN109359090A (zh) 基于卷积神经网络的文件碎片分类方法及系统
CN115543951B (zh) 一种基于起源图的日志采集、压缩、存储方法
CN116132499B (zh) 调用链的压缩方法、装置、计算机设备及存储介质
Kaiser et al. Sorted deduplication: How to process thousands of backup streams
US8392466B2 (en) Method and apparatus for automated processing of a data stream
CN115293685A (zh) 物流订单的状态跟踪方法、装置、设备和存储介质
CN109710462A (zh) 一种基于access样本数据库的碎片数据恢复方法
CN108650229A (zh) 一种网络应用行为解析还原方法及系统
CN104077282A (zh) 处理数据的方法和装置

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