一种用于数据去重系统中的碎片重写方法技术方案

技术编号:9489883 阅读:140 留言:0更新日期:2013-12-25 23:38
本发明专利技术公开了一种用于数据去重系统的碎片重写方法,其在数据去重中增加一个缓存作为重写感知缓存,该重写感知缓存中的数据项为数据块所引用的容器标识(Container?ID),对判定为数据碎片的数据块,如果其引用的容器标识(Container?ID)已存储在该重写感知缓存中,则此数据无需重写,否则重写该数据碎片。本发明专利技术的方法是在数据去重的过程中增加了一个与数据读时同样大小且缓存策略相同的缓存,避免了不必要的重复数据块的重写,克服了现有算法存在的缺陷。相比与现有的去碎片算法,一是改善了因数据碎片对读性能造成的影响,通过重写数据碎片来提高读性能;二是在提高读性能的同时保证了更少的去重率损失。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种用于数据去重系统的碎片重写方法,其在数据去重中增加一个缓存作为重写感知缓存,该重写感知缓存中的数据项为数据块所引用的容器标识(Container?ID),对判定为数据碎片的数据块,如果其引用的容器标识(Container?ID)已存储在该重写感知缓存中,则此数据无需重写,否则重写该数据碎片。本专利技术的方法是在数据去重的过程中增加了一个与数据读时同样大小且缓存策略相同的缓存,避免了不必要的重复数据块的重写,克服了现有算法存在的缺陷。相比与现有的去碎片算法,一是改善了因数据碎片对读性能造成的影响,通过重写数据碎片来提高读性能;二是在提高读性能的同时保证了更少的去重率损失。【专利说明】—种用于数据去重系统中的碎片重写方法
本专利技术属于计算机信息存储领域,具体涉及一种基于数据去重技术系统的碎片重写方法。
技术介绍
数据去重技术(重复数据删除技术)作为一种能够识别和消除冗余数据、只存储单一副本数据的缩减技术,在备份存储系统、归档存储系统、甚至文件系统中都具有广泛应用。例如,使用数据去重技术在备份存储系统、归档存储系统中可以消除80%?90%的冗余数据,在虚拟机备份中可消除高达80%的冗余数据,在文件系统中可以节省3/4的文件空间开销以及87%的备份镜像开销。然而,在基于数据去重的系统中,后续存储的文件的数据块共享之前存储的文件的数据块,从而数据块被分散而非连续地存储在磁盘上,形成大量的分散存储碎片,对系统的读性能造成重大影响。随着存储文件的数量的增加,后续文件的数据碎片化趋于严重,从而读性能也逐渐下降。在读数据时,尽管增大读缓存大小可以相对提高读性能,但提高的程度有限,增大读缓存大小不能从根本上解决问题。比如在基于数据去重技术的备份系统中最后存储的文件(版本)的数据读(恢复)性能比第一个文件(版本)降低了约10倍甚至更多,这将严重影响系统的可用性,尤其在灾难恢复的时候。由数据去重引起的数据碎片不像磁盘碎片可以通过后台整理而重新保证数据的连续性。因数据块之间存在共享,重新迁移数据块将涉及到索引更新等更复杂的问题,所以数据去重系统中的读性能是一个急需解决的问题。现有一些碎片重写算法,通过在数据去重的过程中重写一定的数据碎片来解决数据的读性能问题。例如,CFL(Chunk Fragmentation Level)算法通过判定相邻数据块的大小之和与一个容器(Container:—个在内存中的缓存,作为磁盘读写的一种单位)的比值,如果小于一定的阀值则重写;CBR(Context-based rewriting)算法通过比较固定长度的数据流内容(比如5MB)与其对应固定长度的磁盘内容的相似性,如果其比值小于一定的阀值则重写,一般是重写碎片数据总量的5%。Capping是一个相对简单的策略,对每固定长度的数据流选择固定大小的Container个数,对其中引用Container次数最少的数据块进行重与。以上三种碎片重写算法都是通过重写数据碎片并牺牲一定的去重率来提高读性能,但是它们共同的缺陷是:没有考虑读缓存对碎片的影响,重写已被预取到读缓存的数据碎片会同时降低读性能和去重率。
技术实现思路
本专利技术的目的在于针对现有技术的以上缺陷或改进需求,提出一种优化的碎片重写方法,其对判定出为碎片的数据块进行选择性重写,由此减少不必要的碎片数据的重写,解决目前数据去重系统中存在的碎片大量重写而带来的去重率降低与读性能降低的技术问题,相比与现有的碎片重写算法,具有更高的读性能和去重率。为实现本专利技术目的,按照本专利技术的一个方面,提供一种用于数据去重系统的碎片重写方法,其特征在于,在数据去重中增加一个缓存作为重写感知缓存,该重写感知缓存中的数据项为数据块所引用的容器标识(Container ID),对判定为数据碎片的数据块,如果其引用的容器标识(Container ID)已存储在该重写感知缓存中,则此数据无需重写,否则重写该数据碎片。作为本专利技术的进一步优选,所述的重写感知缓存为与读数据或恢复数据时同样大小且采用相同缓存策略的缓存。其中,所述大小是指缓存项的数量,而不是内存空间开销。作为本专利技术的进一步优选,所述的重写感知缓存和读(恢复)数据缓存为LRU替换策略的缓存。作为本专利技术的进一步优选,该增加的缓存为模拟恢复缓存行为的缓存。按照本专利技术的另一个方面,提供一种用于数据去重系统的碎片重写方法,通过增加一个用于存储数据块引用的容器标识(Container ID)的重写感知缓存,来实现高性能数据重写,其特征在于,该方法包括如下步骤:(I)对新来的数据块进行去重判断,如果不是重复数据,则存储此数据块,否则执行步骤⑵;(2)判断当前数据块是否为一个数据碎片,如果不是则不用重写,否则执行步骤(3);(3)判断当前数据碎片是否应当重写,即如果当前数据碎片引用的容器标识(Container ID)存储在该重写感知缓存中,则不用重写,否则将当前数据碎片作为新数据重写。作为本专利技术的进一步优选,所述的重写感知缓存为与读数据或恢复数据时同样大小且相同缓存策略的缓存,大小是指缓存项的个数。作为本专利技术的进一步优选,所述的重写感知缓存和读数据或恢复数据缓存为LRU缓存。作为本专利技术的进一步优选,所述判断当前数据块是否为一个数据碎片优选可以采用CFL算法、CBR算法或Capping算法实现。按照本专利技术的又一个方面,提供一种用于数据去重系统的碎片重写方法,其基于CFL算法进行数据碎片判断并对该所述数据碎片进行选择性重写,从而实现高性能的碎片重写,其特征在于,该方法具体包括:(I)对新来的数据块,首先检查是否是重复数据块,也就是看是否存在于DDFS-1ike指纹库中,如果不存在则直接作为新数据块写入Container,然后处理下一个数据块,否则转为步骤(2);(2)对于重复的数据块,监控器判断当前CFL值,如果CFL值小于第一阈值(LWM)则转入步骤(4),如果大于第二阈值(HWM)则转入步骤(3),否则采用之前的去重方法转入相应的步骤(3)或(4);(3)采用一般去重方法进行去重,即数据块不被存储,仅存储相应的数据块指纹,然后转入步骤(I);(4)采用选择性去重方法进行去重,即判断当前数据块所引用的容器标识(Container ID)与用于暂存重复数据块的临时容器中的数据块是否有相同的容器标识(Container ID),如果是则暂时保存此数据块到临时容器中,转入步骤(I),否则转入步骤(5);(5)判断当前临时容器的中所有数据块大小之和与一个容器(Container)大小的比值,如果比值不小于重写阈值,则不需要重写,清除临时容器中的所有数据,转入步骤(I),如果比值小于该重写阈值,即作为数据碎片,转入步骤(6);(6)判断数据块是否在重写感知缓存队列中,如果存在则不需要重写,更新CFL值和重写感知缓存队列,转入步骤(I),否则转入步骤(7);(7)重写临时容器中的所有数据块,更新CFL值和重写感知缓存队列,使最新的容器标识进入该重写感知缓存队列。本专利技术方法根据实际应用环境中数据的写顺序与数据的读顺序是一致的特性而提出,在数据去重过程中模拟一个与读数据时同样大小的缓存,对判定为数据碎片的数据块,进一步判断数据碎片是否在CAR缓存中,重写那本文档来自技高网
...

【技术保护点】
一种用于数据去重系统的碎片重写方法,其特征在于,在数据去重过程中增加一个缓存作为重写感知缓存,该重写感知缓存中的数据项为数据块所引用的容器标识(Container?ID),对判定为数据碎片的数据块,如果其引用的容器标识(Container?ID)已存储在该重写感知缓存中,则此数据无需重写,否则重写该数据碎片。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘景宁冯丹周鹏举许蔚付忞
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1