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

使用细分段的集群存储制造技术

技术编号:4618003 阅读:160 留言:0更新日期:2012-04-11 18:40
公开了集群存储。接收数据流或数据块;将数据流或数据块分为段。对于各段,选择群集节点,识别比该段小的该段的一部分,该段的一部分是已经由集群节点管理的段的一部分的副本。

【技术实现步骤摘要】
【国外来华专利技术】使用细分段的集群存储 本申请要求2007年4月19日提交的、标题为"有效存储、相似性确定和传输的细 分段"的美国临时专利申请No. 60/925514的优先权,为了所有目的,通过引用将其结合到本 文中。 本申请要求2007年4月11日提交的、标题为"使用细分段的集群存储"的美国临 时专利申请No. 60/923066的优先权,为了所有目的,通过引用将其结合到本文中。 本申请要求2007年4月11日提交的、标题为"使用增量压縮的集群存储"的美国 临时专利申请No. 60/922996的优先权,为了所有目的,通过引用将其结合到本文中。
技术介绍
将数据存储系统扩大到保存更多信息是重要的,因为数据存储用户持续增加其预 期的存储要求。 一种方式是将多个单独存储系统聚集成集群,它将多个单独节点的容量和 性能结合成一体。但是,为了平滑地縮放,必须按照节点上存储的数据以及节点所需的处理 和吞吐量来适当使用集群的各节点。 —些存储系统通过消除所存储数据的冗余副本来优化存储,这称作消除重复。在 一些情况下,所存储数据被分为段。首先将预期要存储的新段与已经存储的那些段进行比 较。如果该段已经存储在系统上,则存储引用来取代新段,而不是存储整个段。这种形式的 消除重复称作识别码压縮。 在随集群使用识别码压縮中,为了实现高效率并且查找匹配段,各节点理想地搜 索所有节点中的所有所存储段,以及另外可使用索引来引用所有节点中的所有段。对所有 节点上的所有段进行搜索和索引的能力在扩大到大量节点时产生问题,因为各节点必须保 持它对集群的各节点上存储的所有段进行搜索和索引的能力。 在使用集群方式来扩大存储方面,在节点之间划分段、使得单个节点无需保持其 对集群的各节点上存储的所有段进行搜索和索引的能力,是有用的。这种划分有时基于段 的散列,使得在给定段的情况下可计算散列,并且可在具有该段的节点已经存在于集群时 识别该节点。由于各节点仅存储若干段中的一些段,因此各节点仅需要对若干段的中的一 些段进行索引。然而,在根据段的散列将段指配给不同节点中,可能损失局部性,因而损失 性能。理想地,依次访问的段应当依次存储在磁盘上,使得单次磁盘访问可同时检索许多相 关段。 一般来说,将顺序段指配给不同节点使得难以依次对段进行存储。附图说明 在以下具体实施方式和附图中公开了本专利技术的各个实施例。 图1是示出使用细分段的群集存储的系统的一个实施例的框图。 图2是示出使用集群存储的存储系统的框图。 图3A是示出数据流或者数据块的一部分的一个实施例的框图。 图3B是示出分配给集群节点的段的一个实施例的框图。 图4是示出集群存储的过程的一个实施例的流程图。 图5是示出用于选择存储节点的过程的一个实施例的流程图。 图6是示出用于选择存储节点的过程的一个实施例的流程图。 图7是示出用于存储段的表示的过程的一个实施例的流程图。 图8是示出用于在先前存储的子段之中查找重复子段的过程的一个实施例的流程图。 图9是示出用于存储段的表示的过程的一个实施例的流程图。 图10是示出用于存储段的表示的过程的一个实施例的流程图。具体实施例方式本专利技术可通过多种方式来实现,其中包括过程、设备、系统、物质构成、计算机可读 介质、如计算机可读存储介质或者其中程序指令通过光或电子通信链路发送的计算机网 络。在本说明书中,这些实现或者本专利技术可采取的任何其它形式可称作技术。描述为配置 成执行任务的例如处理器或存储器等组件包括在给定时间暂时配置成执行该任务的通用 组件和/或制造成执行该任务的专用组件。 一般来说,所公开过程的步骤的顺序在本专利技术 的范围内可改变。 下面连同示出本专利技术的原理的附图一起提供本专利技术的一个或多个实施例的详细描述。结合这类实施例来描述本专利技术,但是,本专利技术并不局限于任何实施例。本专利技术的范围仅由权利要求来限定,并且本专利技术包括多种备选、修改和等效方案。在以下描述中提出大量具体细节,以便提供对本专利技术的透彻理解。作为示例来提供这些细节,本专利技术可在没有这些具体细节的部分或全部的情况下根据权利要求来实施。为了简洁起见,没有详细描述与本专利技术相关的
中已知的技术资料,以免不必要地影响对本专利技术的理解。 公开了集群存储。存储系统使用节点的集群来存储入局数据。将入局数据分段。各段被表征,用于给定节点上的存储的指配。在集群的给定节点上,以如下方式存储段查找并且消除作为已经在节点上经过索引的数据的副本的该段的部分。将段分到多个节点中减少了待进行搜索的段的数量以便消除重复,并且减小了节点上的给定段所需的索引的大小。 在各种实施例中,至少部分根据段的内容的全部或部分的所计算散列、根据少于 段中的所有字节(例如初始字节、结束字节、字节的算法确定样本等)的函数、根据对于段 的子段所计算的散列(例如对于小于整个段的段的一部分所计算的散列)、根据段的略图、 根据确定哪些集群节点具有段的子段的匹配的与段相关联的基于内容的标签、根据节点容 量(例如剩余存储容量、已使用的存储容量等)或能力或者与节点相关联的任何其它适当 的可用资源,集群节点与该段相关联。在一些实施例中,确定哪些集群节点具有段的子段的 匹配的步骤至少部分基于子段的散列或者概要数据结构、如Bloom滤波器。在一些实施例 中,在将段指配给集群节点时考虑集群节点的容量或者其它能力。 在集群的各节点上,使用细分段来查找段的重复部分。细分段允许将大段用于有 效地向节点进行分配并且将较小段用于给定节点上的压縮效率,同时允许依次访问的子段 被依次存储。在一些实施例中,子段引用被存储在一个以上节点上,使得子段引用能被依次 读取。通过存储对相同的先前存储子段的引用,细分段有效地存储包含与其它子段相同的 子段的段。如果先前没有存储子段,则存储新的子段。子段的重构通过使用对子段的引用和新存储的子段以及关于如何将子段放在一起以形成段的信息来实现。 在一些实施例中,一个以上集群节点将包括先前存储的给定子段。在将第一段指 配给第一节点而将具有相同子段的第二段指配给第二节点时可出现这种情况。这实现了更 有效地读取第一段,因为读取仅需要从第一节点进行,类似地,读取第二段仅需要从第二节 点进行。 在各种实施例中,选择集群节点至少部分基于下列各项中的一项或多项已经存 储在节点上的一个或多个段、已经由该节点管理的一个或多个相似段、已经由该节点管理 的一个或多个相同子段或者作为选择集群节点的基础的任何其它适当段或子段。 在一些实施例中,段和/或子段至少部分根据流中的数据的内容来创建。在一些 实施例中,它们使用锚定功能来创建。在各种实施例中,锚定功能包括计算字节的滑动窗口 的散列、确定所计算的散列是否满足一个或多个预定标准和/或以算法方式在字节的滑动 窗口之中或周围建立边界。在一些实施例中,定义窗口,并且使用所计算函数(例如散列或 其它函数)的最小或最大值或者窗口中任何位置的数据值的最小或最大值来定义段或子 段。在一些实施例中,定义包括多个子段的窗口。计算各子段的字节的第一个、全部或者选 择的字节的散列,并且选择窗口中的最大或最小散列值,以便开始下一个段。 图1是示出使用细分段的群集存储的系统的一个实施例的框图。在所示示例中, 存储系统100存储图1中由客户112和客户108所表示的本文档来自技高网
...

【技术保护点】
一种用于集群存储的方法,包括:接收数据流或数据块;将所述数据流或所述数据块分为段;以及对于各段:选择集群节点;以及识别比所述段小的所述段的一部分,所述段的一部分是已经由所述集群节点管理的段的一部分的副本。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:S雷迪U马赫什沃里EK李RH帕特森
申请(专利权)人:EMC公司
类型:发明
国别省市:US[美国]

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

1