提供了在计算环境下以小数据块为工作对象的可伸缩重复数据删除的示范性方法、系统、和计算机程序产品实施例。在一个实施例中,仅举例来说,对于每个小数据块,根据出现在小数据块中的字符的表示与小数据块的频率的表示的组合生成签名。将该签名用于帮助选择要重复删除的数据。公开了另外的系统和计算机程序产品,它们具有相关优点。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】提供了在计算环境下以小数据块为工作对象的可伸缩重复数据删除的示范性方法、系统、和计算机程序产品实施例。在一个实施例中,仅举例来说,对于每个小数据块,根据出现在小数据块中的字符的表示与小数据块的频率的表示的组合生成签名。将该签名用于帮助选择要重复删除的数据。公开了另外的系统和计算机程序产品,它们具有相关优点。【专利说明】针对小块的可伸缩重复删除系统
本专利技术一般涉及计算机,尤其涉及在计算存储环境下要求细粒度分辨率(fine-grained resolution)以便能够访问小数据块的可伸缩重复删除(deduplication)。
技术介绍
在当今社会里,计算机系统是司空见惯的。在工作场所,在家里,或在学校都可以找到计算机系统。计算机系统可以包括数据存储系统或盘存储系统来处理和存储数据。每天都必须处理大量数据,当前的趋势暗示着在可预见的将来这些数量将继续日益增加。缓解该问题的有效途径是使用重复删除。重复删除系统所依据的概念是利用通过定位重复数据和只存储它的第一次出现,一而再地复制可用数据的大部分的事实。随后的副本用指向所存储出现的指针来取代,如果数据的确是重复的,则显著降低了存储要求。
技术实现思路
重复数据删除指的是减少和/或消除冗余数据。在重复数据删除中,使用分块方法将可以是文件、数据流、或一些其它形式的数据的数据对象分解成称为块(chunk)的一个或多个部分。在重复数据删除过程中,分别减少或消除数据的重复副本,留下数据的最少量冗余副本或单个副本。使用重复删除过程提供了像降低所需存储容量和扩大网络带宽那样的各种好处。由于这些和其它好处,近年来重复删除在计算存储系统中作为高度重要
出现。已经提出了几种重复删除的做法,其中一些使用散列技术。但是,使用散列技术的主要挑战之一是寻找一方面,一个函数应该产生数值尽可能接近均匀的分布以便使冲突(假匹配)的数量最小的均匀性与另一方面,块中的小变化应该不会,或只稍微影响相应散列值的灵敏度之间的适当平衡。于是,以及鉴于上述情况,提供了在计算环境下以小数据块为工作对象的可伸缩重复数据删除的各种示范性方法、系统、和计算机程序产品实施例。在一个实施例中,仅举例来说,对于每个小数据块,根据出现在小数据块中的字符的表示与小数据块的频率的表示的组合生成签名。将该签名用于帮助选择要重复删除的数据。除了前面的示范性方法实施例之外,还提供了其它示范性系统和计算机产品实施例,它们也具有相关优点。提供前面的总结是为了以简化形式介绍下面在详细描述中作进一步描述的构思的选择。这个总结无意标识要求保护的主题的关键特征或基本特征,也无意用于帮助确定要求保护的主题的范围。要求保护的主题不限于解决在
技术介绍
中所述的任何或所有缺点的实现。【专利附图】【附图说明】为了易于了解本专利技术的优点,将参照例示在附图中的特定实施例给出上面简述的本专利技术的更具体描述。当明白这些图形是描绘本专利技术的实施例,因此不认为是限制其范围时,将使用附图以另外的特征和细节描述和说明本专利技术,在附图中:图1例示了含有可以实现本专利技术的各个方面的示范性存储设备的计算系统环境;图2是例示针对小块的可伸缩重复数据删除的示范性方法的流程图;图3例示了示出在可以实现本专利技术的各个方面的计算机环境下划分成字频块的示意性表示的示范性图形;图4例示了示出可以实现本专利技术的各个方面的近似散列函数的各种构建成分的布局的示范性图形;图5是示出在32GB大小的测试数据库上,在所定义签名的32个位位置的每一个中获得1-位的概率的曲线图;图6是例示定义数据块的示范性方法的流程图;图7a是例示定义签名定义的字符部分的示范性方法的流程图;图7b是例示定义签名定义的频率部分的示范性方法的流程图;图7c是例示定义签名定义的字符对部分的示范性方法的流程图;以及图8定义了用在图7a,7b和7c的流程图中的位移常数。【具体实施方式】如上所述,重复数据删除指的是减少和/或消除冗余数据。在重复数据删除过程中,分别减少或消除数据的重复副本,留下数据的最少量冗余副本或单个副本。使用重复删除过程提供了像降低所需存储容量和扩大网络带宽那样的各种好处。根据散列重复删除的做法可以示意性地描述如下。将可用数据划分成叫做块的部分(例如,(^和(^_)。这些块可以具有固定或可变尺寸,块的(平均)尺寸可以从小,例如,4-8千字节(KB),直到像16兆字节(MB)那样的相当大尺寸。将保密强散列函数(h)应用于这些块,这意味着,如果Ii(Ci) =h (Cj),则可以错误概率非常低地假设块Ci和Cj是相同的。将不同散列值的集合(S)以及指向相应块的指针保存在允许快速访问和易于更新的数据结构(D),通常,散列表或B树中。对于要处理的每个新块,在D中搜索它的散列值,如果出现在那里,则可以假设给定块是重复的,因此,不再次存储,而是用指向其较早出现的指针取代它。如果散列值未在D中,则认为给定块是新的,因此存储它,并将它的散列值与集合S邻接。但是,如何定义块边界以及块的建议尺寸都可能引起差异。块尺寸主要影响性能,如果块尺寸太小,则不同块的数量可能很大,以至于危害重复删除做法,因为数据结构D可能不适合RAM,因此系统可能是不可伸缩的。另一方面,如果块尺寸选得太大,则获取相同块的概率降低,在许多情况下,存在如果块尺寸较小则重复删除,而如果块尺寸较大,则必须保留许多这些块的很多块。重复删除过程也可以寻找相似而不仅仅相同的块。如果定位了相似块,则只记录一般比整个块小得多的差异。这使得可以使用比在基于等同的系统中大得多的块。然而,对于许多应用来说,数据是更细粒度的,可以对小得多的块执行更有效的重复删除过程。例如,除了在设计方面之外无需改变任何东西,将块尺寸减少到1/2000,例如,从16MB到8KB的系统的简单推广意味着索引的规模增加2000倍,从4GB到大约8TB。但是,可能假设这不适合RAM。此外,保留相似性的概念的定义和减小块的尺寸将导致冲突的数量增加,它们一起可能使该做法失效。相比之下,以及为了解决上述的低效,所例示实施例的机制用于通过应该标识为近似散列方案的东西实现所需相似性。主要想法是这样的近似散列函数就其数值接近均匀分布而言,对块内的“小”变化不敏感,而行为像其它散列函数。因此,该机制可以像通常在散列应用(例如,使用散列表,或将数值存储在B树中)中进行的那样管理该组近似散列值,而不是检测相似和相同块两者。如果给定块经历更广泛,但仍然微小的更新,则它的新散列值可能接近原来值,这暗示着在错过的情况下,应该检验散列表中存储在给定元素附近的数值。这样的附近搜索在常规散列做法中是无用的。存储中心库的一般算法可以包括将具有,例如,232个项目的散列表H用作基本数据结构。在构建过程期间,对每个块C指定其近似散列值ah(C),并将该块的索引或地址存储在H上,H中的项目通过该块的散列值索引。如果表格中的地点不是自由的,则可以盖写它。在新块与以前遇到的块相同或非常相似的情况下,可能会发生这种情况;在该情况下,可能优选的是如果需要的话,存储更近块的地点以便以后引用。但是,散列成相同数值的两个完全不同块也可能引起冲突,然后使指向已经被盖写的较早块的指针丢失。在一个实施例中,本专利技术的机制将特定变换应用于本文档来自技高网...
【技术保护点】
一种以小数据块为工作对象的可伸缩重复数据删除的方法,该方法包含:对于每个小数据块,根据出现在小数据块中的字符的表示与小数据块的频率的表示的组合生成签名,其中将该签名用于帮助选择要重复删除的数据。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:L阿罗诺维克,R阿舍,M赫希,ST克莱因,E梅里,Y托芙,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。