CN103885859A - 一种基于全局统计的去碎片方法及系统 - Google Patents

一种基于全局统计的去碎片方法及系统 Download PDF

Info

Publication number
CN103885859A
CN103885859A CN201410089576.XA CN201410089576A CN103885859A CN 103885859 A CN103885859 A CN 103885859A CN 201410089576 A CN201410089576 A CN 201410089576A CN 103885859 A CN103885859 A CN 103885859A
Authority
CN
China
Prior art keywords
section
data
module
record
quoted
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
CN201410089576.XA
Other languages
English (en)
Other versions
CN103885859B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201410089576.XA priority Critical patent/CN103885859B/zh
Publication of CN103885859A publication Critical patent/CN103885859A/zh
Application granted granted Critical
Publication of CN103885859B publication Critical patent/CN103885859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种基于全局统计的去碎片方法,包括:确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。本发明还提供了一种基于全局统计的去碎片系统。本发明统计得到各重复数据块所对应的被引用段中所有被引用数据的长度,并计算各重复数据块所对应的被引用段的段引用率,将段引用率小于设定阈值的数据段所对应的重复数据块判定为数据碎片,将这些数据碎片写入段中,可达到去碎片以提高恢复性能的目的。

Description

一种基于全局统计的去碎片方法及系统
技术领域
本发明属于计算机信息存储技术领域,更具体地,涉及一种基于全局统计的去碎片方法及系统,主要用于在基于数据去重的云备份系统中实现数据碎片的去除。
背景技术
云备份系统,是使用第三方云存储服务(如Amazon S3和百度云存储BCS)代替传统备份系统的数据中心的一种备份系统。云备份系统将用户备份的数据存放在第三方的云中,采用第三方的云存储代替传统的数据中心有成本低、扩展性强和可靠性高的优势。随着云存储的发展,出现了很多利用第三方云存储存放数据的备份系统和数据同步工具,且呈越来越流行之势。
为了能提高数据上传速度以及节省云存储成本,大部分云备份系统会采用数据去重技术。数据去重技术能找出备份数据流中的重复数据,这些重复数据不需要被再次存储,只需要保存对应已存在数据的地址即可。数据去重技术能有效地加快备份速度和节省存储空间。
由于数据去重技术需要将数据分块,而默认的平均分块长度为8KB,若直接以数据块为单位将数据存储在云端,会导致数据传输效率低下,且会使得存储请求次数增加,增加云存储成本(云存储以请求次数,存储空间和下载流量计费)。为了提高数据传输效率和节省云存储成本,云备份系统一般将数据块聚合成段(segment)进行存储,段长度默认为不大于4MB,在使得段长度大于4MB的那个数据块写入前认为段写满了。段是系统对云端数据管理的基本单位,系统只能上传、下载和删除整个段,而不能下载或者删除段中的部分数据。
基于重复数据删除的云备份系统的备份工作过程包括读数据、分块、求指纹、去重、写数据和上传数据6个步骤。其中分块之后,使用一定的Hash算法对数据块求Hash,求得的Hash值就是数据块的指纹。在去重过程中,使用数据块的指纹在系统指纹库中进行查找,若有相同指纹,则说明云端数据中心存在相同的数据块,即数据块是重复数据,将数据块标记为重复数据;否则标记为新数据,且将指纹插入指纹库中。然后,系统写数据模块根据数据块的去重结果,若是重复数据,则直接保存该重复数据引用的地址;若是新数据则将数据写入段中,然后保存数据块地址。最后,上传数据模块将段上传至云端数据中心。
因为数据去重技术使新版本与旧版本共享数据块,这使得新版本的数据块分散在各个段中。而且对于一个数据流,重复数据在各个段中的分布长度是不均匀的,有些段中有大量数据被引用,而有些段只有很少量数据被引用。而数据流中存在一些重复数据块,它们引用的段中被该数据流引用数据量很少,这些重复数据会严重影响恢复性能,这是因为为了恢复这些重复数据,需要下载他们引用的段,而这些段中包含大量对此次恢复无效的数据,这些数据会严重影响恢复性能。也就是说,随着版本数的增加,数据流中重复数据的分散程度越来越严重,恢复性能会逐渐下降。
发明内容
本发明的目的在于对基于数据去重技术云备份系统中恢复性能随着版本次数增加而逐渐下降的问题,提出一种去碎片的方法,即找出备份数据流中的数据碎片,并将这些数据碎片和新数据写入段中,达到去碎片以提高恢复性能的目的。
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于全局统计的去碎片方法,包括以下步骤:
步骤1,确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
步骤2,计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
更进一步地,所述步骤1具体包括:
步骤1.1,判断数据流中的数据块是否是重复数据,若是则转入步骤1.2;否则转入步骤1.5;
步骤1.2,根据该数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入步骤1.3;否则转入步骤1.4;
步骤1.3,在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值;转入步骤1.4;
步骤1.4,将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度;转入步骤1.5;
步骤1.5,将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入步骤1.1;否则转入步骤2。
更进一步地,所述步骤2具体包括:
步骤2.1,判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入步骤2.2;否则将数据块写入段中,并转入步骤2.5;
步骤2.2,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入步骤2.3;否则转入步骤2.4;
步骤2.3,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入步骤2.4;
步骤2.4,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入步骤2.5;
步骤2.5,判断所述去重结果缓冲区中是否还有数据块,若是则转入步骤2.1;否则结束。
优选地,所述段引用缓冲区是一个哈希表。
优选地,所述去重结果缓冲区为一个先入先出队列。
按照本发明的另一方面,还提供了一种基于全局统计的去碎片系统,所述系统包括段引用数据统计模块和去碎片模块,其中:
所述段引用数据统计模块,用于确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
所述去碎片模块,用于计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
更进一步地,所述段引用数据统计模块具体包括:
第一模块,用于判断数据流中的数据块是否是重复数据,若是则转入第二模块;否则转入第五模块;
第二模块,用于根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入第三模块;否则转入第四模块;
第三模块,用于在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值,转入第四模块;
第四模块,用于将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度,转入第五模块;
第五模块,用于将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入第一模块;否则转入第二模块。
更进一步地,所述去碎片模块具体包括:
第六模块,用于判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入第七模块;否则转入第十模块;
第七模块,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入第八模块;否则转入第九模块;
第八模块,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入第九模块;
第九模块,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入第十模块;
第十模块,判断所述去重结果缓冲区中是否还有数据块,若是则转入第六模块;否则结束。
优选地,所述段引用缓冲区是一个哈希表。
优选地,所述去重结果缓冲区为一个先入先出队列。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于在原有的基于数据去重的云备份系统中增加了段引用数据统计过程和去碎片过程,能够取得以下有益效果:
1、通过段引用数据统计过程,找出待备份的数据流中的各重复数据块,并统计得到各重复数据块所对应的被引用段中所有被引用数据的长度,从而为后续统计被引用段中所有被引用数据在该数据段中所占比率提供基础;
2、通过计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,判断该比值是否大于设定阈值,从而找出段引用率小于设定阈值的数据段,其对应的重复数据块即为数据碎片,通过将这些数据碎片写入段中,可达到去碎片以提高恢复性能的目的。
附图说明
图1是为应用了本发明基于全局统计的去碎片系统的备份系统的整体构架图;
图2是本发明基于全局统计的去碎片方法的整体流程图;
图3是本发明实施例中段引用数据统计过程的流程图;
图4为本发明实施例中去碎片过程的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
基于数据去重技术的云备份系统中,新版本的重复数据会不均匀地引用已存在的段中的数据块,有些段的被引用数据多,而有些被引用的数据少。如果重复数据引用的段中被引用数据量少,这些重复数据就是数据碎片,会严重影响数据流的恢复性能。基于这个特点,本发明提出基于全局统计的去碎片方法(DGS:A Defragmentation Strategy based on GlobalStatistics)。DGS通过在全局范围内统计数据流引用的段的被引用数据的长度,找出那些被引用数据量少于一定量的段,而数据流中引用这些段的重复数据即为数据碎片,最后系统将数据碎片重新写到新的段中。通过重写数据碎片,在恢复数据流的时候,则不需要下载那些被引用数据量很少的数据段,也就是说不会下载大量的无效数据,这样便能提高数据流恢复性能。
如图1所示,为应用了本发明基于全局统计的去碎片系统的备份系统的整体构架图;所述备份系统增加了DGS系统,DGS通过在全局范围内统计数据流引用的段的被引用数据的长度,找出那些被引用数据量少于一定量的段,而数据流中引用这些段的重复数据即为数据碎片,最后系统将数据碎片重新写到新的段中。
为了统计各个被引用段中被引用数据的量,本发明使用了一个SegmentReference Buffer(段引用缓冲区),它是一个Hash表,其中保存的是被数据流引用的段的ID,以及对应的被引用数据的长度。而为了统计之后能再次遍历数据流以找出其中的碎片,本发明使用Chunk Dedup Result Buffer(去重结果缓冲区)来保存输入的数据块,Chunk Dedup Result Buffer是一个FIFO队列。
如图2所示,为本发明基于全局统计的去碎片方法的整体流程图;所述方法包括:
步骤1,确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
步骤2,计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
具体地,如图3所示,为本发明实施例中段引用数据统计过程的流程图;段引用数据统计过程具体包括:
步骤1.1,判断数据流中的数据块是否是重复数据,若是则转入步骤1.2;否则转入步骤1.5;
步骤1.2,根据该数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入步骤1.3;否则转入步骤1.4;
步骤1.3,在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值;转入步骤1.4;
步骤1.4,将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度;转入步骤1.5;
步骤1.5,将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入步骤1.1;否则转入步骤2。
具体地,如图4所示,为本发明实施例中去碎片过程的流程图;所述过程包括:
步骤2.1,判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入步骤2.2;否则将数据块写入段中,并转入步骤2.5;
步骤2.2,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入步骤2.3;否则转入步骤2.4;
步骤2.3,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入步骤2.4;
步骤2.4,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入步骤2.5;
步骤2.5,判断所述去重结果缓冲区中是否还有数据块,若是则转入步骤2.1;否则结束。
为了实现上述方法,本发明提供了一种基于全局统计的去碎片系统,去碎片系统由段引用数据统计模块和去碎片模块组成,只有在所有数据块均输入段引用率统计模块之后,去碎片模块才会开始工作,具体地:
所述段引用数据统计模块,用于确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
所述去碎片模块,用于计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
进一步地,所述段引用数据统计模块具体包括:
第一模块,用于判断数据流中的数据块是否是重复数据,若是则转入第二模块;否则转入第五模块;
第二模块,用于根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入第三模块;否则转入第四模块;
第三模块,用于在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值,转入第四模块;
第四模块,用于将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度,转入第五模块;
第五模块,用于将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入第一模块;否则转入第二模块。
进一步地,所述去碎片模块具体包括:
第六模块,用于判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入第七模块;否则转入第十模块;
第七模块,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入第八模块;否则转入第九模块;
第八模块,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入第九模块;
第九模块,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入第十模块;
第十模块,判断所述去重结果缓冲区中是否还有数据块,若是则转入第六模块;否则结束。
进一步,根据本发明提供的方法,可以将本发明基于全局统计的去碎片系统设计为一个独立的模块,它可以提供简单的接口,只需将指定的内容输入DGS,DGS就能找出其中的数据碎片。DGS的输入和输出如下:
输入:数据块的去重结果(即是否是重复数据),以及重复数据引用的块的地址(Segment ID)。
输出:DGS的输入以及数据块是否是数据碎片。
DGS的输入正是基于数据去重云备份系统的去重模块的输出,它的输出在它的输入的基础上增加了数据碎片标记。也就是说,DGS工作在备份系统去重模块和写数据模块之间,将去重模块的输出结果作为DGS的输入,再将DGS的输出作为写数据模块的输入。写数据模块最后将标记为数据碎片的重复数据块写到新的段中,保存这些碎片的新地址。
通过DGS的简单接口,只需要简单的修改,则可以将DGS添加到任何基于重复数据删除技术的云备份系统中。如图1,是将DGS添加到一个云备份系统的例子。该云备份系统中的读数据、分块、求指纹模块未标出,输入的data stream是数据块流。Hash Table是系统的指纹库,存放了所有数据块的指纹,也是系统的去重模块。
在没有DGS模块的时候,系统的数据流路径为A,即数据去重之后,将去重结果直接输入写模块,写模块将新数据写入段中,写满的保存在本地磁盘里。最后,上传数据模块将磁盘中的段上传至云端。
若要将DGS模块添加至系统,则只需将去重模块的输出输入到DGS,再将DGS的输出输入到写数据模块。数据流路径变为B。此时,系统的备份工作流程为,数据块去重之后,输入到DGS。待数据流所有数据块输入DGS之后,经过段引用率统计模块的处理,可以得到引用段的段引用率,在通过DGS去碎片模块找出其中的数据碎片,然后输出最终的去重结果,输入到写数据模块。写数据模块将新数据和数据碎片写入段中,最后由上传数据模块上传至云端。这样,DGS就能找出数据流中的数据碎片。
通过DGS提供的接口,本发明可以方便地应用于所有的基于数据去重技术的云备份系统中,帮助系统重写备份数据流中的数据碎片,提高恢复性能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于全局统计的去碎片方法,其特征在于,所述方法包括以下步骤:
步骤1,确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
步骤2,计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
2.如权利要求1所述的方法,其特征在于,所述步骤1具体包括:
步骤1.1,判断数据流中的数据块是否是重复数据,若是则转入步骤1.2;否则转入步骤1.5;
步骤1.2,根据该数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入步骤1.3;否则转入步骤1.4;
步骤1.3,在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值;转入步骤1.4;
步骤1.4,将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度;转入步骤1.5;
步骤1.5,将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入步骤1.1;否则转入步骤2。
3.如权利要求1或2所述的方法,其特征在于,所述步骤2具体包括:
步骤2.1,判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入步骤2.2;否则将数据块写入段中,并转入步骤2.5;
步骤2.2,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入步骤2.3;否则转入步骤2.4;
步骤2.3,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入步骤2.4;
步骤2.4,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入步骤2.5;
步骤2.5,判断所述去重结果缓冲区中是否还有数据块,若是则转入步骤2.1;否则结束。
4.如权利要求2或3所述的去碎片方法,其特征在于,所述段引用缓冲区是一个哈希表。
5.如权利要求2至4任一项所述的去碎片方法,其特征在于,所述去重结果缓冲区为一个先入先出队列。
6.一种基于全局统计的去碎片系统,其特征在于,所述系统包括段引用数据统计模块和去碎片模块,其中:
所述段引用数据统计模块,用于确定待备份的数据流中的各重复数据块,统计各重复数据块所对应的被引用段中所有被引用数据的长度,得到段引用缓冲区;
所述去碎片模块,用于计算待备份的数据流中的各重复数据块所对应的被引用段中所有被引用数据的长度与该被引用段的长度的比值,并判断该比值是否小于设定阈值,若是则将该重复数据块写入段中。
7.如权利要求6所述的去碎片系统,其特征在于,所述段引用数据统计模块具体包括:
第一模块,用于判断数据流中的数据块是否是重复数据,若是则转入第二模块;否则转入第五模块;
第二模块,用于根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若记录不存在,则转入第三模块;否则转入第四模块;
第三模块,用于在段引用缓冲区中新建记录,该记录包括段ID、段长度、被引用数据的长度和段引用率,该记录的段ID初始化为所述数据块的引用地址,该记录的段长度根据所述段ID查询得到,该记录的被引用数据的长度初始化为0,该记录的段引用率初始化为负值,转入第四模块;
第四模块,用于将所述数据块的长度与该数据块引用地址对应的记录的被引用数据的长度相加,并赋值给该数据块引用地址对应的记录的被引用数据的长度,转入第五模块;
第五模块,用于将所述数据块存入去重结果缓冲区中,并判断数据流中是否还有数据块,若是则转入第一模块;否则转入第二模块。
8.如权利要求6或7所述的去碎片系统,其特征在于,所述去碎片模块具体包括:
第六模块,用于判断去重结果缓冲区中的数据块是否是重复数据,若是重复数据,则转入第七模块;否则转入第十模块;
第七模块,根据数据块的引用地址,在段引用缓冲区中查找该数据块引用地址对应的记录,若该记录中的段引用率为负值,则转入第八模块;否则转入第九模块;
第八模块,用该记录中的被引用数据的长度除于段长度,得到的值设置为该记录中的段引用率;转入第九模块;
第九模块,比较该记录的段引用率和设定阈值,若该记录的段引用率小于设定阈值,则将该重复数据块写入段中;否则转入第十模块;
第十模块,判断所述去重结果缓冲区中是否还有数据块,若是则转入第六模块;否则结束。
9.如权利要求7或8所述的去碎片系统,其特征在于,所述段引用缓冲区是一个哈希表。
10.如权利要求7至9任一项所述的去碎片系统,其特征在于,所述去重结果缓冲区为一个先入先出队列。
CN201410089576.XA 2014-03-12 2014-03-12 一种基于全局统计的去碎片方法及系统 Active CN103885859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410089576.XA CN103885859B (zh) 2014-03-12 2014-03-12 一种基于全局统计的去碎片方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410089576.XA CN103885859B (zh) 2014-03-12 2014-03-12 一种基于全局统计的去碎片方法及系统

Publications (2)

Publication Number Publication Date
CN103885859A true CN103885859A (zh) 2014-06-25
CN103885859B CN103885859B (zh) 2017-09-26

Family

ID=50954767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410089576.XA Active CN103885859B (zh) 2014-03-12 2014-03-12 一种基于全局统计的去碎片方法及系统

Country Status (1)

Country Link
CN (1) CN103885859B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335394A (zh) * 2014-07-14 2016-02-17 阿里巴巴集团控股有限公司 一种基于数据库的数据控制方法及系统
CN106066818A (zh) * 2016-05-25 2016-11-02 重庆大学 一种提高重复数据删除备份系统恢复性能的数据布局方法
CN106294002A (zh) * 2016-07-26 2017-01-04 广州杰赛科技股份有限公司 一种云备份方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270729A1 (en) * 2007-04-11 2008-10-30 Data Domain, Inc. Cluster storage using subsegmenting
CN102541751A (zh) * 2010-11-18 2012-07-04 微软公司 用于数据去重复的可缩放块存储
CN102999605A (zh) * 2012-11-21 2013-03-27 重庆大学 一种通过优化数据放置来减少数据碎片的方法和装置
CN103473150A (zh) * 2013-08-28 2013-12-25 华中科技大学 一种用于数据去重系统中的碎片重写方法
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN103548003A (zh) * 2011-02-11 2014-01-29 赛门铁克公司 用于提高去重复系统备份性能的客户端侧指纹缓存的过程和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270729A1 (en) * 2007-04-11 2008-10-30 Data Domain, Inc. Cluster storage using subsegmenting
CN102541751A (zh) * 2010-11-18 2012-07-04 微软公司 用于数据去重复的可缩放块存储
CN103548003A (zh) * 2011-02-11 2014-01-29 赛门铁克公司 用于提高去重复系统备份性能的客户端侧指纹缓存的过程和方法
CN102999605A (zh) * 2012-11-21 2013-03-27 重庆大学 一种通过优化数据放置来减少数据碎片的方法和装置
CN103530201A (zh) * 2013-07-17 2014-01-22 华中科技大学 一种适用于备份系统的安全数据去重方法和系统
CN103473150A (zh) * 2013-08-28 2013-12-25 华中科技大学 一种用于数据去重系统中的碎片重写方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIANSHENG WEI: "DBA:A Dynamic Bloom Filter Array for Scalable Membership Representation of Variable Large Data Sets", 《MASCOTS 2011》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335394A (zh) * 2014-07-14 2016-02-17 阿里巴巴集团控股有限公司 一种基于数据库的数据控制方法及系统
CN105335394B (zh) * 2014-07-14 2019-08-13 阿里巴巴集团控股有限公司 一种基于数据库的数据控制方法及系统
CN106066818A (zh) * 2016-05-25 2016-11-02 重庆大学 一种提高重复数据删除备份系统恢复性能的数据布局方法
CN106066818B (zh) * 2016-05-25 2019-05-17 重庆大学 一种提高重复数据删除备份系统恢复性能的数据布局方法
CN106294002A (zh) * 2016-07-26 2017-01-04 广州杰赛科技股份有限公司 一种云备份方法及装置

Also Published As

Publication number Publication date
CN103885859B (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
US11340812B2 (en) Efficient modification of storage system metadata
US9965196B2 (en) Resource reservation for storage system metadata updates
US9747298B2 (en) Inline garbage collection for log-structured file systems
RU2626334C2 (ru) Способ и устройство обработки объекта данных
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
KR20170054299A (ko) 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
US10725686B2 (en) Write stream separation into multiple partitions
CN104516824B (zh) 数据存储系统中的存储管理方法和系统
US10606499B2 (en) Computer system, storage apparatus, and method of managing data
CN103870514A (zh) 重复数据删除方法和装置
WO2021073635A1 (zh) 一种数据存储方法及装置
CN109074226A (zh) 一种存储系统中重复数据删除方法、存储系统及控制器
US11042328B2 (en) Storage apparatus and method for autonomous space compaction
US10503608B2 (en) Efficient management of reference blocks used in data deduplication
US20170199680A1 (en) System and method of write amplification factor mitigation and flash lifespan extension
CN105677238A (zh) 一种基于分布式存储重复数据删除的虚拟机系统盘的方法
US20200210356A1 (en) Managing storage system performance
CN104462388A (zh) 一种基于级联式存储介质的冗余数据清理方法
CN104050057A (zh) 一种历史感知的数据去重碎片消除方法与系统
US10282127B2 (en) Managing data in a storage system
CN103885859A (zh) 一种基于全局统计的去碎片方法及系统
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
CN105306570A (zh) 一种集群数据的存储方法
WO2023050856A1 (zh) 数据处理方法及存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant