跨多个区的纠删编码制造技术

技术编号:12988164 阅读:62 留言:0更新日期:2016-03-09 20:17
在各实施例中,提供了用于跨多个存储区对数据进行纠删编码的方法和系统。这可以通过将数据块划分成多个子片段来实现。多个子片段中的每一者与一个区相关联。区包括提供存储服务的建筑、数据中心和地理区域。多个重构奇偶校验被计算。多个重构奇偶校验中的每一者使用来自多个子片段中的至少一个子片段来计算。多个重构奇偶校验包括至少一个跨区奇偶校验。至少一个跨区奇偶校验被指派给奇偶校验区。跨区奇偶校验提供对数据块的一部分的跨区重构。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】跨多个区的纠删编码背景数据中心可以使用容错存储技术来实现专业且可靠的数据存储。具体地,纠删编码技术可被用于提供降低的存储开销。纠删编码可以跨存储节点(例如盘、服务器和机架)来实现。然而,常规的纠删编码技术无法容适由于大规模中断(例如,建筑物崩塌、数据中心烧毁、或对整个区域的天气相关的破坏)而导致的故障。概述提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。该
技术实现思路
不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。本专利技术的各实施例提供了一种用于跨多个存储区对数据进行纠删编码的方法和系统。这可以通过将数据块划分成多个子片段来实现。多个子片段中的每一者与一个区相关联。区包括提供存储服务的建筑、数据中心和地理区域。多个重构奇偶校验被计算。多个重构奇偶校验中的每一者使用来自多个子片段中的至少一个子片段来计算。多个重构奇偶校验包括至少一个跨区奇偶校验。跨区奇偶校验提供对数据块的一部分的跨区重构。另夕卜,本专利技术的各实施例提供了一种用于至少部分地基于每一纠删编码方案的折衷或各维度(dimens1n)来跨多个区进行纠删编码的方法和系统。具体地,维度(诸如成本、性能和可靠性)定义与跨区的不同纠删编码方案相关联的实现约束。每一纠删编码方案指定经纠删编码数据的放置以达成容错的特定目标。附图简述下面参考附图详细描述本专利技术,其中:图1是适用于在实现本专利技术的各实施例中使用的示例性计算环境的框图;图2是其中可以使用本专利技术各实施例的示例性分布存储系统的框图;图3是示出根据本专利技术的各实施例的示例性纠删编码方案的示意图;图4是示出根据本专利技术的各实施例的示例性纠删编码方案的示意图;图5是示出根据本专利技术的各实施例的示例性纠删编码方案的示意图;图6是示出根据本专利技术的各实施例的示例性纠删编码方案的示意图;图7是示出根据本专利技术的各实施例的比较纠删编码方案的各实现约束的图表;图8是根据本专利技术的各实施例的示出用于跨多个区对数据进行纠删编码的方法的流程图;以及图9是根据本专利技术的各实施例的示出用于跨多个区对数据进行纠删编码的方法的流程图。详细描述本文中用细节来描述本专利技术各实施例的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,专利技术人已设想所要求保护的主题还可结合其它当前或未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。出于本公开的目的,单词“包括”(including)具有与单词“包含” (comprising) —样广义的含义。另外,诸如“一(a)”和“一(an)”包括复数以及单数,除非另外相反地指明。这样,例如,“一个特征”的要求在存在一个或多个特征的情况下被满足。同样,术语“或”包括合取、析取及这两者(a或b由此包括a或b任一,以及a和b)。出于下文详细讨论的目的,参考基于被示意性地描绘为用于三个区的纠删编码方案来跨多个区对数据进行纠删编码来描述本专利技术的各实施例;然而,本文描绘的三个区仅仅是示例性的且设想了多个区可以与本文描述的纠删编码方案一起使用。此外,尽管本专利技术的各实施例可一般引用在本文描述的分布式存储系统和图表,但设想了所描述的技术可被扩展到其他实现上下文。—般而言,容错指的是系统在其组件中的一些出现故障(或一个或多个故障)的情况下继续工作的能力。例如,容错技术包括复制和纠删编码。纠删编码指的是用来从所存储的数据的故障中恢复的纠错算法。数据可以用不同类型的存储服务存储在不同类型的存储硬件中。纠删编码可被实现以向所存储的数据提供容错。另外,纠删编码还可提供降低的存储开销。例如,代替复制数据流,数据可被分成各片段并与一个或多个奇偶校验相关联,且随后各片段以从剩余片段中重构丢失片段的能力来被存储。如此,纠删编码提供硬件、数据中心占用的成本节省以及因不必运行附加硬件的功率节省。然而,伴随跨各区(例如,数据中心、建筑、或地区)对数据进行纠删编码而来的是折衷或维度,如下文更详细地讨论的。例如,在对数据进行编码以及从跨多个存储区进行纠删编码的数据的失败中恢复数据时,成本、性能、以及可靠性具有特定实现约束。这些折衷可以与不同的纠删编码方案相关联,尤其是在纠删编码针对存储在不同区的数据执行时。—般而言,纠删码使用特定类型的代码来对数据进行编码。例如,Reed-Solomon是用于对数据进行纠删编码的常规办法。Reed-Solomon实现可包括6个数据片段和用于恢复6个数据片段的3个代码(奇偶校验)段。另一类型的纠删编码是局部重构代码(LRC)。与Reed-Solomon相比,LRC降低了在重构离线的数据片段时需要读取的纠删编码片段的数量,同时将存储开销保持得很低。例如,对于6个数据片段,LRC生成4个奇偶校验片段,而非3个。两个局部奇偶校验片段(每一个与6个片段中的3个数据片段的不同集合相关联)以及针对6个数据片段的两个全局奇偶校验片段。所以,与使用奇偶校验和5个数据片段来重构失败的数据片段的Reed-Solomon形成对比,LRC使用局部奇偶校验和同一集合中的2个数据片段来重构失败的数据片段。在平衡存储开销对重构成本时,LRC相比Reed-Solomon提供了更多的灵活性。对于以上示例,LRC比Reed-Solomon增加了一个奇偶校验,同时将重构成本减半。或者,LRC可保持与Reed-Solomon相同的重构成本,同时显著地降低了存储开销。局部重构代码可在形式上定义。(k,l,r)LRC将k个数据片段分成1组,其中每一组有k/Ι个数据片段。纠删编码方案计算每一组内的一个局部奇偶校验。另外,它根据所有数据片段来计算r个全局奇偶校验。令η是片段总数(数据+奇偶校验)。则η = k+1+r。因而,归一化的存储开销是n/k = l+(l+r)/k0在该示例中,LRC是(6,2,2)LRC,具有存储成本 1+4/6 = 1.67 倍。此外,LRC代码可以基于所选择的编码方程来确定,使得LRC达到最大可恢复(MR)属性,这意味着它可解码信息理论上可解码的任何故障模式。例如,参考以上示例,如果3个数据片段和与数据片段相关联的奇偶校验的集合发生故障,则该模式是不可解码的,因为其余两个奇偶校验不能解码3个数据片段,因而它在信息理论上是不可解码的。否则,可能重构的故障模式被称为在信息理论上是可解码的。LRC可与达到最大可恢复属性的单个编码方程组相关联。本专利技术的各实施例基于跨多个存储区对数据进行纠删编码来提供针对大规模中断的容错,同时确保可靠性和可用性。区指的是提供存储服务的特定的建筑、数据中心和地理区域。跨多个区的纠删编码涵盖在该区中存储服务所定义的任何容错水平处提供纠删编码。如此,跨各区实现纠删编码创建实现考虑和机会的不同集合。具体而言,跨各区的纠删编码可基于唯一性跨区特性来被优化,如各区之间的带宽,因为各区之间的带宽比区内的带宽稀缺和昂贵得多。同样,区故障的概率是相关因子。基本上,与存储节点相比,整个区发生故障的可能性低得多。预期一区将发生故障本文档来自技高网...

【技术保护点】
一种用于跨多个存储区对数据进行纠删编码的方法,所述方法包括:将数据块划分成多个子片段,所述多个子片段中的每一者与多个区之一相关联;计算多个重构奇偶校验,所述多个重构奇偶校验中的每一者是使用来自所述多个子片段中的至少一个子片段来计算得到的,其中所述多个重构奇偶校验包括至少一个跨区奇偶校验;以及将所述至少一个跨区奇偶校验指派给奇偶校验区,其中所述跨区奇偶校验提供所述数据块的一部分的跨区重构。

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

【专利技术属性】
技术研发人员:B·G·卡尔德P·S·格帕兰C·黄J·李A·W·奥古斯H·西米特奇S·叶哈宁
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1