当前位置: 首页 > 专利查询>EMC公司专利>正文

利用了数据段的相似度的高效数据存储制造技术

技术编号:8489818 阅读:156 留言:0更新日期:2013-03-28 11:36
本发明专利技术利用了数据段的相似度的高效数据存储,其公开了利用数据段的相似度进行存储。确定新段与先前存储的段相似。所述先前存储的段包括来自输入数据流中的任何位置的先前存储的段。确定所述新段与所述先前存储的段之间的增量。至少部分地基于所述增量来存储所述新段的表示。

【技术实现步骤摘要】
利用了数据段的相似度的高效数据存储
技术介绍
一种高效地存储数据的方法是防止对于在备份之间保持不变的数据的冗余拷贝。这种高效的存储是通过把来自各数据源的数据流分成段(segment)并且把所述段以及所述段的标识符的索引存储在存储设备上来实现的。在后续的备份操作期间,再次对所述数据流进行分段,并且在所述索引中查找所述段以便确定某一数据段先前是否已被存储过。如果找到完全相同的段,则不再存储该数据段;否则就存储所述新的数据段和新的索引标识符。遗憾的是,随着将要备份的数据量的增加,所述段的数目(如果所述段的尺寸近似的话)以及所述索引条目的数目也会增加。所述段和索引条目的数目的增加会导致存取性能的降低对于写入,必须把到来的段索引与所述索引中的所有条目进行比较;以及对于读取,必须从较大数目的段当中检索与某一文件相关联的段。如果增大所述段的尺寸,则会减少所述段的数目,从而所述索引条目的数目也会减少,性能也可以得到保持;然而,由于出现较长的完全相同的段的几率没有那么高,因此存储效率会降低。如果可以在不牺牲存储效率的情况下保持存取性能,则将是有益的。附图简述在下面的详细描述和附图中公开了本专利技术的各种实施例。附图说明图1是示出利用数据段的相似度进行高效存储的系统的一个实施例的方框图。图2是示出利用数据段的相似度进行高效存储的处理的一个实施例的方框图。图3是示出写入期间的内容存储过程的一个实施例的流程图。图4是示出用于生成逻辑段以及计算概要特征集合的过程的一个实施例的流程图。图5是示出读取期间的内容存储过程的一个实施例的流程图。图6是示出写入期间的段存储过程的一个实施例的流程图。图7是示出相似度确定过程的一个实施例的流程图。图8是示出针对读取的段存储过程的一个实施例的流程图。详细描述可以按照多种方式来实施本专利技术,其中包括把本专利技术实施为一种过程、设备、系统、物质构成、计算机可读介质(比如计算机可读存储介质)或者计算机网络(其中通过光学或电子通信链路来发送程序指令)。在本说明书中,这些实施方式或者本专利技术所能采取的任何其他形式都可以被称作技术。诸如被描述为被配置成执行任务的处理器或存储器之类的组件包括通用组件或专用组件,其中所述通用组件在给定时间被临时配置成执行所述任务,而所述专用组件是为了执行所述任务而被制造的。一般来说,在本专利技术的范围内可以改变所公开的过程的各步骤的顺序。在下面连同附图一起提供对本专利技术的一个或多个实施例的详细描述,所述附图示出本专利技术的原理。下面将结合所述实施例来描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅仅由权利要求书来限定,并且本专利技术包含许多替换方案、修改和等效方案。为了提供对于本专利技术的透彻理解,在下面的描述中阐述了许多具体细节。提供这些细节是出于举例的目的,并且可以在没有一些或全部所述具体细节的情况下根据权利要求书来实践本专利技术。为了清楚起见没有描述本专利技术的相关
内已知的技术材料,以免不必要地模糊本专利技术。公开了利用数据段的相似度来进行高效的存储。确定一个新段与一个先前存储的段相似,其中所述先前存储的段包括来自某一输入数据流中的任何位置的一个先前存储的段。至少部分地基于增量来存储所述新段的表示。存储增量会提高存储效率,尤其是在其中各段与先前存储的段相比可能具有小的改变的情况下,这是因为与存储新段相比,存储小的增量更为高效。通过把第一段的概要特征集合与第二段的概要特征集合进行比较来确定相似度。在一些实施例中,所述第一段是从某一输入数据流到达的段,而所述第二段是来自某一输入数据流的先前已被存储在备份存储系统中的任何段。在一些实施例中,所述第一段与第一输入数据流相关联,而所述第二段与第二输入数据流相关联。在一些实施例中,所述相似度包括第一段与第二段之间的逐字节相似性的度量。通过以下操作来确定概要特征集合选择第一段的多个固定长度或可变长度的子段;对于每一个子段,通过对于每一个子段应用一组函数来计算多个值;以及从对于所有所述子段所计算的所有所述值当中选择第一值子集。在一些实施例中,所述第一值子集被用于确定所述第一段与第二段之间的相似度。在一些实施例中,在相似度压缩的情况下(利用相似度高效地存储数据段),在内容存储中的处理期间把用户写入流(其对应于整个文件或者某一文件的地址范围或者用于写入的连续数据的地址范围)分解成各逻辑段。把所述逻辑段发送到段存储以供压缩及存储。内容存储还接收具有段描述符的形式的段存储反馈,其中的每一个所述描述符描述某一逻辑段在段存储中如何被压缩及表示。内容存储保持所述地址范围与其相应的从段存储返回的逻辑段和段描述符之间的映射。内容存储负责进行以下操作映射地址范围与其相应的逻辑段和段描述符;把对应于用户读取流(其对应于整个文件或者某一文件的地址范围或者用于读取的连续数据的地址范围)的段描述符递送到段存储;以及接收对应于逻辑段的数据。在相似度压缩情况下的内容存储的行为在很大程度上类似于在身份(identity)压缩下的情况。在一些实施例中,在段存储中把各段表示为多个物理段的复合。更为精确地说,每一个逻辑段被表示为一个基础和一系列等级越来越高(或者说尺寸越来越小)的增量,其中每一个基础或增量是一个完整物理段或者是某一物理段的一部分。基础直接对应于内容存储中的逻辑段,并且被标记为d0。一级增量是两个(不同的)逻辑段之间的差异,并且被标记为dl。二级增量是两个(不同的)dl之间的差异,并且被标记为d2。在各种实施例中,相似度压缩使用一级增量编码或者二级增量编码。在一级增量编码中,段存储把每一个逻辑段表示为可以被共享的d0与不能被共享的可选的dl的复合;在二级增量编码中,段存储把每一个逻辑段表示为可以被共享的d0、可以被共享的可选的dl、以及与不能被共享的可选的d2的复合。如果某一逻辑段被表示为d0,则将其标记为eO ;如果某一逻辑段的相应的最高级增量是dl,则将其标记为el ;如果某一逻辑段的相应的最高级增量是d2,则将其标记为e2。身份压缩可以被视为零级增量编码,其中段存储把每一个逻辑段表示为可以被共享的d0。在按照其压缩形式来存储所述输入数据流时(例如在存储来自所述输入数据流的某一新段时)没有信息损失。在一些实施例中,在二级增量编码中,d0较大,d2较小,而dl是至为重要的,例如,d0是lMB,d2是10KB,以及dl是100KB。二级增量编码平衡对于更激进的压缩的需求(不仅在各逻辑段当中共享较大的d0,而且也共享显著的dl差异)与对于更高性能和可伸缩性的需求(在各逻辑段当中不共享较小的d2差异,并且不对其进行各种处理和维护)。为了便于在二级增量编码中检测到可共享的各dl,所施加的附加约束是dl关于el是一对一的(这意味着对应于dl的段标识符可以与对应于el的段标识符互换)。这样允许在系统中对新逻辑段与先前的eO和el之间的相似度进行比较而无需担心物理段,其中所述系统使用逻辑段等级上的被称作概要特征集合或概略(sketch)的概要技术。在检测出所述相似度之后,把所述新逻辑段编码为相应的各物理段的复合,其或者是可共享的d0,或者是可共享的d0加上可共享的dl加上可选的不可共享的d2。在一些实施例中,可以在被称作增量组合的过程中在段存储中把多个dl和d2组合到单个物理段中。增量组合本文档来自技高网
...

【技术保护点】
一种利用数据段的相似度进行存储的系统,包括:用于确定新段是否相似于先前存储的段的部件,其中相似度包括第一段与第二段之间的逐字节相似性的度量,其中所述先前存储的段包括多个在先存储的段中的段,所述多个在先存储的段通过使用锚定将输入数据流打破为段而生成,其中所述锚定从所述输入数据流生成可变尺寸的依赖于内容但是独立于地址的段;用于在所述新段相似于所述先前存储的段时确定所述新段与所述先前存储的段之间的差异的部件;及用于在所述新段相似于所述先前存储的段时至少部分基于所述差异和至少部分基于基础而存储所述新段的表示的部件。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:K李MB朱U马赫什沃里Z杨
申请(专利权)人:EMC公司
类型:发明
国别省市:

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

1