CN112416879B - 一种基于ntfs文件系统的块级数据去重方法 - Google Patents

一种基于ntfs文件系统的块级数据去重方法 Download PDF

Info

Publication number
CN112416879B
CN112416879B CN202011425432.9A CN202011425432A CN112416879B CN 112416879 B CN112416879 B CN 112416879B CN 202011425432 A CN202011425432 A CN 202011425432A CN 112416879 B CN112416879 B CN 112416879B
Authority
CN
China
Prior art keywords
data
block
file system
ntfs file
ntfs
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.)
Active
Application number
CN202011425432.9A
Other languages
English (en)
Other versions
CN112416879A (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.)
Chengdu Aomei Technology Co ltd
Original Assignee
Chengdu Aomei Technology 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 Chengdu Aomei Technology Co ltd filed Critical Chengdu Aomei Technology Co ltd
Priority to CN202011425432.9A priority Critical patent/CN112416879B/zh
Publication of CN112416879A publication Critical patent/CN112416879A/zh
Application granted granted Critical
Publication of CN112416879B publication Critical patent/CN112416879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于NTFS文件系统的块级数据去重方法,包括如下步骤:S1.为需要备份的NTFS文件系统创建快照;S2.从快照中构造出位图;S3.根据NTFS文件系统大小计算出数据块的粒度;S4.计算出NTFS文件系统的数据块的总块数;S5.根据数据块的位图数据找到需要备份的扇区S6.读取数据块已经使用扇区的数据并计算校验和;S7.判断校验和是否已存在;S8.判断是否所有数据块已经全部备份完成;S9.若所有数据块已经全部备份完成,则将索引记录到镜像文件中,块级数据去重完成,数据备份完成。本发明解决了目前用户数据量过于巨大,对数据备份产生的镜像文件也相当巨大,特别是由于数据重复存储导致数据量巨大的问题。

Description

一种基于NTFS文件系统的块级数据去重方法
技术领域
本发明涉及计算机领域、数据备份技术领域,更具体地涉及一种基于NTFS文件系统的块级数据去重方法。
背景技术
随着计算机技术的高速发展,各种数据也越来越多,对数据存储需求也越来越高,同时带来的数据安全性问题也越来越多。所以,数据备份显得尤为重要。但是,由于用户数据量过于巨大,对数据备份产生的镜像文件也相当巨大,特别是由于数据重复存储导致数据量巨大的问题。因此,有必要提供一种基于NTFS文件系统的块级数据去重方法,以克服上述问题。
发明内容
本发明提供了一种基于NTFS文件系统的块级数据去重方法,以解决目前用户数据量过于巨大,对数据备份产生的镜像文件也相当巨大,特别是由于数据重复存储导致数据量巨大的问题。
为解决上述技术问题,本发明所采用的技术方案是:一种基于NTFS文件系统的块级数据去重方法,包括如下步骤:
步骤S1.为需要备份的NTFS文件系统创建快照;
步骤S2.从快照中构造出位图;
步骤S3.根据NTFS文件系统大小计算出数据块的粒度;
步骤S4.计算出NTFS文件系统的数据块的总块数;
步骤S5.根据数据块的位图数据找到需要备份的扇区;
步骤S6.读取数据块已经使用扇区的数据并计算校验和;
步骤S7.判断校验和是否已存在,若存在,则记录索引;若不存在,则压缩加密后记录索引,数据写入镜像文件中;
步骤S8.判断是否所有数据块已经全部备份完成;若所有数据块没有全部备份完成,则重新读取数据块已经使用扇区的数据并计算校验和;
步骤S9.若所有数据块已经全部备份完成,则将索引记录到镜像文件中,块级数据去重完成,数据备份完成。
进一步地,步骤S2包括:
步骤S21.读取快照解析NTFS文件系统的已使用簇的信息。
进一步地,步骤S2还包括:
步骤S22.根据已使用簇的信息构造出NTFS文件系统的已使用位图的数据。
进一步地,步骤S2还包括:
步骤S23.根据排除列表中的文件信息构造出需要排除的文件的位图信息。
进一步地,步骤S2还包括:
步骤S24.将这些需要排除的文件的位图信息从NTFS文件系统的位图信息中排除掉,生成最终需要备份的位图数据。
进一步地,步骤S3包括:
步骤S31.根据NTFS文件系统的总大小对整个NTFS文件系统进行分块。
进一步地,步骤S3还包括:
步骤S32.对数据进行分块按照默认数据块的字节数除以每个簇的字节数算出最小每个数据块占用多少个簇。
进一步地,步骤S4包括:
步骤S41.NTFS文件系统的数据块的总块数等于NTFS文件系统总簇数除以最小每个数据块占用的簇数。
进一步地,步骤S4还包括:
步骤S42.判断NTFS文件系统的数据块的总块数是否在最大限制的总块数范围内。
进一步地,步骤S4还包括:
步骤S43.如果NTFS文件系统的数据块的总块数超出最大限制的总块数范围,则最小每个数据块占用的簇数乘以2,依次循环计算,直至将NTFS文件系统的数据块的总块数限制到最大限制的总块数范围内。
与现有技术相比,本发明具有以下有益效果:本发明的基于NTFS文件系统的块级数据去重方法通过解析NTFS文件系统,将没有使用的簇排除出去;仅备份已使用的簇所在的数据块,数据块根据文件系统的大小和最大允许的数据块数量所决定,且所备份的数据块需要计算该数据块的哈稀值,即计算校验和,每次从硬盘读取的数据需要与已经存在的数据块做哈稀比较,如果已经存在就只记录该数据块在镜像文件中的偏移,不需要记录这个数据块的真实数据,从而达到了数据去重的目地。
附图说明
图1为本发明的一种基于NTFS文件系统的块级数据去重方法的流程图的示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
请参阅图1,图中所示者为本发明所选用的实施例结构,此仅供说明之用,在专利申请上并不受此种结构的限制。
实施例一
如图1所示,一种基于NTFS文件系统的块级数据去重方法,包括如下步骤:
步骤S1.为需要备份的NTFS文件系统创建快照;
步骤S2.从快照中构造出位图;
步骤S3.根据NTFS文件系统大小计算出数据块的粒度;
步骤S4.计算出NTFS文件系统的数据块的总块数;
步骤S5.根据数据块的位图数据找到需要备份的扇区;
步骤S6.读取数据块已经使用扇区的数据并计算校验和;
步骤S7.判断校验和是否已存在,若存在,则记录索引;若不存在,则压缩加密后记录索引,数据写入镜像文件中;
步骤S8.判断是否所有数据块已经全部备份完成;若所有数据块没有全部备份完成,则重新读取数据块已经使用扇区的数据并计算校验和;
步骤S9.若所有数据块已经全部备份完成,则将索引记录到镜像文件中,块级数据去重完成,数据备份完成。
步骤S2包括:
步骤S21.读取快照解析NTFS文件系统的已使用簇的信息。
步骤S22.根据已使用簇的信息构造出NTFS文件系统的已使用位图的数据。
步骤S23.根据排除列表中的文件信息构造出需要排除的文件的位图信息。
步骤S24.将这些需要排除的文件的位图信息从NTFS文件系统的位图信息中排除掉,生成最终需要备份的位图数据。
步骤S3包括:
步骤S31.根据NTFS文件系统的总大小对整个NTFS文件系统进行分块。
步骤S32.对数据进行分块按照默认数据块的字节数除以每个簇的字节数算出最小每个数据块占用多少个簇。
步骤S4包括:
步骤S41.NTFS文件系统的数据块的总块数等于NTFS文件系统总簇数除以最小每个数据块占用的簇数。
步骤S42.判断NTFS文件系统的数据块的总块数是否在最大限制的总块数范围内。
步骤S43.如果NTFS文件系统的数据块的总块数超出最大限制的总块数范围,则最小每个数据块占用的簇数乘以2,依次循环计算,直至将NTFS文件系统的数据块的总块数限制到最大限制的总块数范围内。
实施例二
本实施例为实施例一的进一步具体化的技术方案。
首先为需要备份的NTFS文件系统使用快照技术为其创建快照,然后,通过读取快照解析NTFS文件系统的已使用簇的信息,并根据已使用簇的信息构造出该文件系统的已使用位图的数据,再根据排除列表中的文件信息构造出排除的文件的位图信息,将这些需要排除的文件的位图从整个文件系统的位图中排除掉,生成最终需要备份的位图数据。
再根据该文件系统的总大小对整个文件系统进行分块,对数据进行分块按照默认块的字节数除以每个簇的字节数算出最小每个块占用多少个簇,检查计算出来的块数量是否在限定的最大数据块限制范围内,如果超出最大限制的总块数,则在计算出来的每块占用簇数的基础上乘以2,依次循环计算,直至将总的数据块数量限制到允许的最大范围内,伪代码如下所示:
UINT每个块包含多少簇=DEFAULT_BLOCK_SIZE/(SecsPerClus*BytesPerSec);
UINT文件系统总簇数=TotalSectors/SecsPerClus;
while(文件系统总簇数/每个块包含多少簇>MAX_BLOCK_COUNT)
{
每个块包含多少簇*=2;
}
根据以上算出来的每个数据块包含多少簇,再将整个文件系统从逻辑上将其拆分成相应的数据块,然后对每个数据块进行数据备份,首先,通过构造出的位图在数据块中找到第一个已使用的簇,再通过每个块的大小计算出该数据属于哪个块和起始簇号,计算方法如下:
属于哪个块=起始簇号/每块的簇数;
起始簇=起始块*每个块包含的簇数;
再将该块的已使用的簇转换成需要备份的扇区信息,首先将该数据块的已使用的簇构造到一个位图中,再将位图信息转化成可以直接读取的扇区信息,通过已经使用的簇信息构造出位图数据的伪代码如下:
将构造的位图信息BmpBuf转换成扇区信息的伪代码如下:
Run的结构如下:
因为一个块中可能包含多个不连续的已使用扇区,所以,vtrDataRun可能会包含多个LBA_DATA_RUN的数据结构,程序根据解析出来的需要备份的扇区进行数据读取。这里只拷贝已使用的扇区的主要原因是为了减少冗余数据和对无效数据进行去重。
再对这个数据块计算出唯一校验码后对这个数据进行压缩和加密,然后写入到镜像文件中,并记录这个数据块的校验和到索引中,每个数据块的校验和都需要与已写入的数据块的校验和进行比较,如果存在校验和一致的数据块,则认为这块数据已经存在,不必再写入到镜像文件中,只需要在数据记录中增加这个数据块的重定向位置即可,伪代码如下所示:
至此,以上便是NTFS文件系统的块级数据去重的核心方法,主要包含两个思路:
a)通过解析NTFS文件系统,将没有使用的簇排除出去;
b)仅备份已使用的簇所在的数据块,数据块根据文件系统的大小和最大允许的数据块数量所决定,且所备份的数据块需要计算该数据块的哈稀值,每次从硬盘读取的数据需要与已经存在的数据块做哈稀比较,如果已经存在就只记录该数据块在镜像文件中的偏移,不需要记录这个数据块的真实数据,从而达到了数据去重的目地。
数据块:将整个文件系统拆分成的粒度。
快照技术:对需要备份的卷的某个时间点创建的副本。
镜像文件:存储数据备份的文件格式。
卷的快照模块:该模块主要负责为需要备份的卷创建一个副本。
磁盘管理模块:该模块主要负责构建磁盘和分区信息,属于逻辑层面的磁盘管理器。
文件系统模块:该模块主要负责NTFS文件系统的解析。
备份模块:该模块主要负责数据备份的逻辑处理。
镜像文件模块:该模块主要负责镜像文件的读写和根据备份模块的数据生成镜像文件。
实施例三
实施例三为实施例一和实施例二的进一步优化。
本发明应用到存储着海量数据文件的云存储系统时,无法去除相似性的数据块,导致对数据备份时产生的镜像文件也相当巨大,针对这一问题,本实施例做出进一步优化,优化方案如下:
一种用于云存储系统的基于NTFS文件系统的块级数据去重方法,包括如下步骤:
步骤A.为需要备份的文件系统创建快照;
步骤B.从快照中构造出位图;在云存储系统中添加一个一级索引节点,一级索引节点用于得到文件的数据块指纹;
步骤C.一级索引节点根据文件的相似性构建由主索引和从索引组成的二级索引;
步骤D.根据一级索引节点的二级索引对文件数据块进行去重;去重后,根据文件系统大小计算出数据块的粒度;
步骤E.计算出文件系统的数据块的总块数;
步骤F.根据数据块的位图数据找到需要备份的扇区;
步骤G.读取数据块已经使用扇区的数据并计算校验和;
步骤H.判断校验和是否已存在,若存在,则记录索引;若不存在,则压缩加密后记录索引,数据写入镜像文件中;
步骤I.判断是否所有数据块已经全部备份完成;若所有数据块没有全部备份完成,则重新读取数据块已经使用扇区的数据并计算校验和;
步骤J.若所有数据块已经全部备份完成,则将索引记录到镜像文件中,块级数据去重完成,数据备份完成。
一级索引节点优选为一级指纹索引节点。
步骤D包括:
D1.计算待存储的文件的文件特征指纹和每个数据块指纹;
D2.根据计算的文件特征指纹检索主索引,并根据检索的结果判断待存储的文件是否为新的文件类型,若是,则在执行步骤D3后执行步骤D5,反之,则在执行步骤D4后执行步骤D5;
D3.将待存储的文件分块存入存储系统中,并更新主索引及构建与待存储的文件类型相同的从索引;
D4.根据计算的数据块指纹检索从索引,并根据检索的结果更新从索引;
D5.更新元数据表,元数据表包括文件与数据块间的映射关系表以及数据块与数据节点间的映射关系表。
其中,主索引为文件的文件特征指纹与文件相似性集合地址的映射,从索引为文件的数据块指纹与数据块地址、用户ID之间的映射,文件特征指纹为文件的最小数据块指纹。
进一步作为优选的实施方式,步骤D2具体为:
客户端将计算的文件特征指纹与每个数据块指纹发送给主节点,由主节点根据文件特征指纹去主索引中检索,若未检索到与计算的文件特征指纹相同的记录,则表明待存储的文件为新的文件类型,此时先执行步骤D3然后执行步骤D5;若检索到已存在与计算的文件特征指纹相同的记录,则表明云存储系统中已有同类型的文件数据存在,待存储的文件为旧的文件类型,此时先执行步骤D4然后执行步骤D5。
步骤D3包括:
为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到存储系统的数据节点上;
对主索引进行更新;
构建与待存储的文件类型相同的从索引。
步骤D4包括:
D41.主节点根据客户端发送过来的当前数据块指纹去从索引中检索,检索从索引中是否存在与客户端发送过来的当前数据块指纹相同的数据块指纹,若是,则表明当前数据块需要进行去重操作,此时执行步骤D43,反之,则执行步骤D42;
D42.为待存储的文件分配存储地址,并根据分配的地址将待存储的文件数据块存储到存储系统的数据节点上,然后更新从索引;
D43.更新从索引的用户ID,将当前数据块的用户ID添加到从索引中与当前数据块相同的数据块的用户ID上。
进一步作为优选的实施方式,已存储文件的数据块指纹及待存储的文件的数据块指纹均采用SHA-1哈希算法计算得到。
数据指纹:通过哈希函数生长的散列值,能唯一标识生成该数据指纹的数据块,具有全局唯一性。
SHA-1算法:一个使用非常广泛的哈希算法,SHA-1的输入消息的长度小于264,输出160位长度的字符串,即散列值。
最小值理论:两个数据集合S1与S2被随机排列转换后,得到的散列值中最小的两个相等的概率等于集合S1与S2的Jaccard相似度。设H(S)代表集合S中的所有元素的散列值的集合,集合S中的最小元素为min(H(S)),则最小值理论用公式表达为:
Pr[min(H(S1))=min(H(S2))]=
本发明将使用SHA-1算法求得数据块的数据指纹,并使用最小的数据指纹作为文件特征指纹对文件进行分类,构建相似文件集合,从而在相似的文件之间进行数据块去重。
block:数据块,基本存储单位为64M的数据块。
NameNode:主节点,用来管理文件系统的命名空间,其将所有的文件和文件夹的元数据保存在一个文件系统树中。
DataNode:数据节点,是文件系统中真正存储数据的地方。
Client Node:客户端节点。
客户端节点或者主节点均可以向数据节点请求写入或者读出数据块。
DistributedFileSystem,用于客户端节点向数据节点读取数据。
FSData OutputStream,用于客户端节点将数据分成块,写入数据节点。
本实施例从云存储系统角度出发,设计了跨用户的、基于相似性的数据块级文件去重方法,来对云存储中的数据进行去重,具体的实现过程为:
(一)为已存储文件构建二级指纹索引
本实施例在云存储系统中添加了一个数据指纹索引节点,该指纹索引节点,用于由已存储文件的数据块生成数据块指纹,并包括一个由主索引和从索引组成的二级指纹索引。其中,主索引为已存储文件的文件特征指纹索引与文件相似性集合地址的映射,从索引为已存储文件的数据块指纹与数据块地址、用户ID之间的映射。
主索引为一个key-value键值对的数据结构,key为文件特征指纹,代表某一类文件;value为该指向类文件的相似性集合的指针,指向某一特定文件的相似性集合,即指向从索引。从索引的数据结构为相似性集合中数据块指纹与数据块地址、数据块拥有者之间的映射。其中,相似性集合与文件的类别相对应,每个相似性集合里面保存着某一特定类型文件的数据块指纹索引。对于某个数据块,其可能对应有多个用户ID,即该数据块被多个用户所共有,若某个用户删除文件时包含被共享的数据块,则其只删除该索引记录中该数据块对应的自身用户ID;只有在该数据块对应的用户ID为空(即所有用户ID均被删去)时,才可以删除该数据块。
(二)对待存储的文件进行数据去重
在NameNode发送DataNode节点地址给客户端之前,要先对待存储的文件数据块进行去重。对待存储的文件进行数据去重的具体实现过程为:
首先,由客户端计算需要存储的文件的文件特征指纹和每个数据块指纹,然后将文件特征指纹与每个数据块指纹发送给NameNode,由NameNode根据该文件特征指纹去主索引中检索。
若主索引中未检索到与该文件特征指纹相同的记录,则表明该文件为一新文件类型,此时即可将该文件分块存入存储系统中。同时,需要更新主索引和file-blocks的映射关系表(即文件与数据块间的映射关系表),并构建与该文件类型相同的从索引,然后将数据块存储到DataNode节点上。
若检索到主索引中已存在与该文件特征指纹相同的记录,则表明云存储系统中已有同类型的文件数据存在。这种情况下,NameNode根据客户端发送过来的每个数据块指纹去文件相似集合即(从索引)中检索。如果在从索引中查询到已存在与客户端发送过来的某个数据块指纹相同的数据块指纹,则表明该数据块是重复的,需要进行去重操作。此时需要更新从索引中的数据块拥有者字段(即用户ID),将当前数据块拥有者的ID添加到数据块拥有者字段中。
与现有技术相比,本发明具有以下优点:
(1)将没有使用的簇排除出去,仅备份已使用的簇所在的数据块,数据块根据文件系统的大小和最大允许的数据块数量所决定,且所备份的数据块需要计算该数据块的哈稀值,即计算校验和,每次从硬盘读取的数据需要与已经存在的数据块做哈稀比较,如果已经存在就只记录该数据块在镜像文件中的偏移,不需要记录这个数据块的真实数据,从而达到了数据去重的目地。
(2)利用文件的相似性构建由主索引和从索引组成的二级指纹索引,然后根据构建的二级指纹索引进行数据块级的数据去重,与传统基于文件的单个索引表的数据去重方法相比,检索效率更高。
(3)基于文件的相似性进行去重,不仅可以在一个用户的同类文件中进行数据去重,而且还可以在多个用户的同类文件之间进行数据去重,实现了跨用户的数据去重,应用范围更广。
以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。
由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于NTFS文件系统的块级数据去重方法,其特征在于,包括如下步骤:
步骤S1.为需要备份的NTFS文件系统创建快照;
步骤S2.从快照中构造出位图;
步骤S3.根据NTFS文件系统大小计算出数据块的粒度;
步骤S4.计算出NTFS文件系统的数据块的总块数;
步骤S5.根据数据块的位图数据找到需要备份的扇区;
步骤S6.读取数据块已经使用扇区的数据并计算校验和,从硬盘读取的数据需要与已经存在的数据块做哈稀比较;
步骤S7.判断校验和是否已存在,若存在,则记录索引;若不存在,则压缩加密后记录索引,数据写入镜像文件中;
步骤S8.判断是否所有数据块已经全部备份完成;若所有数据块没有全部备份完成,则重新读取数据块已经使用扇区的数据并计算校验和;
步骤S9.若所有数据块已经全部备份完成,则将索引记录到镜像文件中,块级数据去重完成,数据备份完成。
2.如权利要求1所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S2包括:
步骤S21.读取快照解析NTFS文件系统的已使用簇的信息。
3.如权利要求2所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S2还包括:
步骤S22.根据已使用簇的信息构造出NTFS文件系统的已使用位图的数据。
4.如权利要求3所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S2还包括:
步骤S23.根据排除列表中的文件信息构造出需要排除的文件的位图信息。
5.如权利要求4所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S2还包括:
步骤S24.将这些需要排除的文件的位图信息从NTFS文件系统的位图信息中排除掉,生成最终需要备份的位图数据。
6.如权利要求1所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S3包括:
步骤S31.根据NTFS文件系统的总大小对整个NTFS文件系统进行分块。
7.如权利要求6所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S3还包括:
步骤S32.对数据进行分块按照默认数据块的字节数除以每个簇的字节数算出最小每个数据块占用多少个簇。
8.如权利要求7所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S4包括:
步骤S41.NTFS文件系统的数据块的总块数等于NTFS文件系统总簇数除以最小每个数据块占用的簇数。
9.如权利要求8所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S4还包括:
步骤S42.判断NTFS文件系统的数据块的总块数是否在最大限制的总块数范围内。
10.如权利要求9所述的一种基于NTFS文件系统的块级数据去重方法,其特征在于,步骤S4还包括:
步骤S43.如果NTFS文件系统的数据块的总块数超出最大限制的总块数范围,则最小每个数据块占用的簇数乘以2,依次循环计算,直至将NTFS文件系统的数据块的总块数限制到最大限制的总块数范围内。
CN202011425432.9A 2020-12-09 2020-12-09 一种基于ntfs文件系统的块级数据去重方法 Active CN112416879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011425432.9A CN112416879B (zh) 2020-12-09 2020-12-09 一种基于ntfs文件系统的块级数据去重方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011425432.9A CN112416879B (zh) 2020-12-09 2020-12-09 一种基于ntfs文件系统的块级数据去重方法

Publications (2)

Publication Number Publication Date
CN112416879A CN112416879A (zh) 2021-02-26
CN112416879B true CN112416879B (zh) 2023-08-04

Family

ID=74775217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011425432.9A Active CN112416879B (zh) 2020-12-09 2020-12-09 一种基于ntfs文件系统的块级数据去重方法

Country Status (1)

Country Link
CN (1) CN112416879B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220504B (zh) * 2021-05-26 2022-04-01 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质
CN116643927B (zh) * 2023-07-27 2023-09-26 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567262A (zh) * 2003-06-10 2005-01-19 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
CN101162469A (zh) * 2007-11-09 2008-04-16 清华大学 基于快照的细粒度文件与目录版本管理方法
CN102184128A (zh) * 2011-05-26 2011-09-14 成都易我科技开发有限责任公司 快速磁盘增量备份方法
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN104461783A (zh) * 2014-12-10 2015-03-25 上海爱数软件有限公司 一种跟踪扇区数据变化虚拟机备份方法
CN104506619A (zh) * 2014-12-22 2015-04-08 华为技术有限公司 一种数据备份、恢复方法及其装置、服务器
CN105122213A (zh) * 2013-03-15 2015-12-02 思科技术公司 用于数据存储系统中的错误检测和纠正的方法和装置
CN109684284A (zh) * 2018-12-29 2019-04-26 南方电网科学研究院有限责任公司 基于边缘计算的滑动分块重复数据删除方法
CN111258815A (zh) * 2020-01-16 2020-06-09 西安奥卡云数据科技有限公司 适用于基于哈希的多节点备份系统的数据备份方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321439B2 (en) * 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567262A (zh) * 2003-06-10 2005-01-19 联想(北京)有限公司 基于数据卷快照的在线数据备份方法
CN101162469A (zh) * 2007-11-09 2008-04-16 清华大学 基于快照的细粒度文件与目录版本管理方法
CN102184128A (zh) * 2011-05-26 2011-09-14 成都易我科技开发有限责任公司 快速磁盘增量备份方法
CN105122213A (zh) * 2013-03-15 2015-12-02 思科技术公司 用于数据存储系统中的错误检测和纠正的方法和装置
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN104461783A (zh) * 2014-12-10 2015-03-25 上海爱数软件有限公司 一种跟踪扇区数据变化虚拟机备份方法
CN104506619A (zh) * 2014-12-22 2015-04-08 华为技术有限公司 一种数据备份、恢复方法及其装置、服务器
CN109684284A (zh) * 2018-12-29 2019-04-26 南方电网科学研究院有限责任公司 基于边缘计算的滑动分块重复数据删除方法
CN111258815A (zh) * 2020-01-16 2020-06-09 西安奥卡云数据科技有限公司 适用于基于哈希的多节点备份系统的数据备份方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows FAT32和NTFS下的数据恢复研究;张娜 等;《信息技术》;第34卷(第5期);第162-164页 *

Also Published As

Publication number Publication date
CN112416879A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US10621142B2 (en) Deduplicating input backup data with data of a synthetic backup previously constructed by a deduplication storage system
US9047301B2 (en) Method for optimizing the memory usage and performance of data deduplication storage systems
US11182256B2 (en) Backup item metadata including range information
US9262280B1 (en) Age-out selection in hash caches
US8185554B1 (en) Storage of data with composite hashes in backup systems
US9367448B1 (en) Method and system for determining data integrity for garbage collection of data storage systems
US9715505B1 (en) Method and system for maintaining persistent live segment records for garbage collection
US9594674B1 (en) Method and system for garbage collection of data storage systems using live segment records
US20130339314A1 (en) Elimination of duplicate objects in storage clusters
US8131688B2 (en) Storage system data compression enhancement
EP3495964B1 (en) Apparatus and program for data processing
CN113535670B (zh) 一种虚拟化资源镜像存储系统及其实现方法
CN112416879B (zh) 一种基于ntfs文件系统的块级数据去重方法
US11397706B2 (en) System and method for reducing read amplification of archival storage using proactive consolidation
US8156126B2 (en) Method for the allocation of data on physical media by a file system that eliminates duplicate data
Zhang et al. Improved deduplication through parallel binning
US20230376461A1 (en) Supporting multiple fingerprint formats for data file segment
TWI475419B (zh) 用於在儲存系統上存取檔案的方法和系統
WO2015040711A1 (ja) ストレージ装置、ストレージ装置におけるデータの制御方法、及びストレージシステム
CN117807174A (zh) 索引处理方法、装置、计算机设备、介质和程序产品
Litwin et al. Improved Deduplication through Parallel Binning

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