平码五不中公式规律
  • / 22
  • 下载费用:30 金币  

可扩展数据存储池.pdf

关 键 ?#21097;?/dt>
扩展 数据 存储
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580049228.2

申请日:

2015.09.11

公开号:

CN106663042A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 11/07申请日:20150911|||公开
IPC分类号: G06F11/07 主分类号: G06F11/07
申请人: 微软技术许可有限责任公司
发明人: A.P.文图拉; T.拉马尼; K.梅拉; S.K.拉帕尔; S.C.哈夫瓦拉
地址: 美国华盛顿州
优?#28909;ǎ?/td> 2014.09.12 US 14/485497
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 李静岚;陈岚
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580049228.2

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

描述了可扩展数据存储技术。在一个或多个实施方式中,通过描述存储层级中的故障域和数据存储池中的可用存储资源的一个或多个计算装置获得数据。通过一个或多个计算装置确定与存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特征。基于存储层级的一个或多个等级中的描述的故障域和装置的确定的操作特征,通过一个或多个计算装置将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置。

权利要求书

1.一种通过一个或多个计算装置控制数据存储池的存储资源以提高数据存储池中的
数据存储的效?#23454;?#26041;法,所述方法包括以下步骤:
通过描述存储层级中的故障域和数据存储池中的可用存储资源的一个或多个计算装
置获得数据;
通过一个或多个计算装置确定与存储层级的一个或多个等级中的可用存储资源相关
联的装置的操作特征;以及
基于存储层级的一个或多个等级中的描述的故障域和装置的确定的操作特征,通过一
个或多个计算装置将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置。
2.根据权利要求1所述的方法,其中,元数据可用于?#19994;?#25968;据在数据存储池中存储的对
应位置。
3.根据权利要求1所述的方法,其中,操作特征包括健康、数据连接类型、媒体类型、在
数据存储池中如何使用或当前元数据状态。
4.根据权利要求1所述的方法,其中,数据存储池中的所述一个或多个特定数据存储装
置的将用于接收分配的元数据的数量,至少部分地基于针对数据存储池指定的一个或多个
弹性约束。
5.根据权利要求4所述的方法,其中,弹性约束指定未经数据存储池允许但仍操作的装
置的数量。
6.根据权利要求1所述的方法,其中,故障域包括存储层级中的数据中心、机架、机箱、
数据存储装置和存储单元等级。
7.根据权利要求1所述的方法,其中,执行分配,以针对数据存储池中的将用于接收至
少一部分元数据的指定数量的数据存储装置,将一定数量的故障域的使用最大化。
8.根据权利要求7所述的方法,其中,数据存储装置的指定数量至少部分地基于针对数
据存储池指定的一个或多个弹性约束。
9.一种通过一个或多个计算装置控制数据存储池的存储资源以提高数据存储池中的
数据存储的效?#23454;?#31995;统,所述系统包括:
至少部分地在一个或多个计算装置的?#24067;?#20013;实施的一个或多个模块,所述一个或多个
模块?#36824;?#36896;为执行以下操作,包括:
经单个事务将多个数据存储装置添加至数据存储池;以及
响应于所述添加,基于数据存储池中的每个数据存储装置的操作特征分配数据存储池
中的元数据的分布。
10.根据权利要求9所述的系统,其中,操作特征包括健康、数据连接类型、媒体类型、在
数据存储池中如何使用或者当前元数据状态。
11.根据权利要求9所述的系统,其中,所述分配至少部分地基于数据存储池中的可用
存储资源的存储层级中的故障域。
12.根据权利要求9所述的系统,还包括:利用多个线程同时将所述多个数据存储装置
格式化,并且其中利用所述格式化的多个数据存储装置执行所述添加。
13.根据权利要求9所述的系统,还包括:响应于将所述多个数据存储装置添加至数据
存储池,通过单个数据存储装置更新数据存储池中的元数据。
14.根据权利要求9所述的系统,还包括:利用所述多个线程从数据存储池中去除另一
多个数据存储装置。
15.一种通过一个或多个计算装置控制数据存储池的存储资源以提高数据存储池中的
数据存储的效?#23454;?#31995;统,所述系统包括:
通过一个或多个计算装置至少部分地在?#24067;?#20013;实施的一个或多个模块,所述一个或多
个模块?#36824;?#36896;为执行以下操作,包括:
接收指示以再平衡数据存储池中的元数据的分布;
获得描述针对数据存储池指定的弹性约束的数据;以及
基于描述的弹性约束将元数据的再分布分配至数据存储池中的一个或多个特定数据
存储装置。

?#24471;?#20070;

可扩展数据存储池

背景技术

通过数据中心的“云中”数据存储的普遍性?#20013;?#22686;长。例如,网络服务可?#36824;?#36896;为
将数据作为网络的一部分远程地存储,以使得该数据可通过多种不同的装置容易地访?#21097;?br />例如以支持网络服务的操作并且甚至用作用于网络服务的唯一目的。

已经开发了通过使用数据存储池管理数据中心中的数据的技术。数据存储池通常
形成为针对特定数据存储任务(例如,针对数据中心的特定使用方)构造的数据存储装置的
集合。然而,基于作为数据存储池的一部分的元数据存储的常规局限,用于形成和管理这些
数据存储池的常规技术并非可扩展的。

发明内容

已描述了可扩展数据存储技术。在一个或多个实施方式中,通过描述存储层级中
的故障域和数据存储池中的可用存储资源的一个或多个计算装置获得数据。通过一个或多
个计算装置确定与存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特
征。基于存储层级的一个或多个等级中的描述的故障域和装置的确定的操作特征,通过一
个或多个计算装置将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置。

在一个或多个实施方式中,一种系统包括至少部分地在?#24067;?#20013;实施的一个或多个
模块。所述一个或多个模块?#36824;?#36896;为执行以下操作,包括:经单个事务将多个数据存储装置
添加至数据存储池。响应于所述添加,基于数据存储池中的每个数据存储装置的操作特征
分配数据存储池中的元数据的分布。

在一个或多个实施方式中,一种系统包括至少部分地在?#24067;?#20013;实施的一个或多个
模块。所述一个或多个模块?#36824;?#36896;为执行以下操作,包括:接收指示以再平衡数据存储池中
的元数据分布;以及获得描述针对数据存储池指定的弹性约束的数据。基于描述的弹性约
束,将元数据的再分布分配至数据存储池中的一个或多个特定数据存储装置。

提供该发明内容以按照简化形式引入概念的选择,在以下具体实施方式中进一步
描述。该发明内容不旨在指明要求保护的主题内容的关键特征或必要特征,也不旨在用于
帮助确定要求保护的主题内容的范围。

附图?#24471;?br />

参照附图描述具体实施方式。在附图中,附图标记的最左侧的(多个)数字代表其
中首先出?#25351;?#38468;图标记的图。在?#24471;?#20070;和附图中在不同的实例中使用相同的附图标记可指
示相似或相同的项。在附图中表示的实体可代表一个或多个实体,因此在讨论中对实体的
单数或复数形式的引用可互换。

图1是可采用可扩展数据存储池技术操作的示例实施方式中的环境的示图;

图2描绘了一个示例实施方式中的系统,示出了其中可实施图1的数据存储池的存储层
级;

图3是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,将技术描
述为通过运用数据存储池中的故障域的知识将元数据分配至存储层级中的存储装置;

图4描绘了一个示例实施方式中的系统,在所述示例实施方式中,在对数据存储池中的
数据存储装置进行管理时通过池管理器模块采用并行机制;

图5描绘了一个示例中的系统,在所述示例中,分配了元数据并且将数据存储装置加入
数据存储池;

图6是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,分配了元
数据并且将数据存储装置加入数据存储池;

图7描绘了一个示例中的系统,在所述示例中,响应于一个指示在数据存储池中使元数
据再平衡;

图8是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,在数据存
储池中使元数据再平衡;

图9示出了一?#36136;?#20363;系统,该系统包括可实施为参照图1-图8描述的任何类型的计算装
置以实施本文描述的技术的实施例的示例装置的各种组件。

具体实施方式

概述

已描述了可扩展数据存储技术。在一个或多个实施方式中,描述了这样的技术,其中可
通过将用于描述在数据存储池中可?#19994;健?#20301;置(where)”数据的元数据布置在数据存储装置
的子集上来增大数据存储池中的数据存储装置(例如,硬盘驱动器)的最大数量。

可基于多种考虑来分配哪些数据存储装置来接收元数据。例如,所述分配可基于
健康、数据连接类型、媒体类型、在数据存储池中如何使用或者数据存储装置的当前元数据
状态。另外,还可考虑数据存储层级中的故障域,诸如如何通过数据存储装置存储数据以及
将数据存储装置遍及数据中心、机架和机箱(enclosure)分布。这样,数据存储池可保护数
据存储池的存储层级中的不同等级的装置免于故障。此外,可通过针对数据存储池指定的
弹性约束,指定数据存储装置的数量以及诸如待使用的故障域的数量的考虑。

另外,数据存储池的管理可利用其中采用并行机制作为增加数据存储装置或者从
数据存储池去除数据存储装置的一部分的技术。例如,可利用多个线程将多个数据存储装
置并行格式化,并且随后将它们加至数据存储池作为单个事务。还可采用相似的技术来从
数据存储池中删除数据存储装置。

数据存储池还可采用用于分配元数据的再平衡技术。例如,由于存储层级中的数
据存储装置或其它装置的增加、去除、故障等,可从诸如用户接收对元数据的分布进行改变
的一个指示。响应于此,可基于数据存储池的弹性约束以及其它先前描述的考虑(诸如操作
特征、故障域等),使元数据再平衡。可在以下部分中?#19994;?#36825;些和其它技术的其它讨论。

在以下讨论中,首先描述了可采用本文描述的可扩展数据存储池技术的示例环
境。接着描述可在所述示例环境以及其它环境中执行的示例程序。结果,示例程序的执行不
限于所述示例环?#24120;?#24182;且所述示例环境不限于示例程序的执行。

以下讨论描述了可利用先前描述的系统和装置实施的可扩展数据存储池技术。每
一个程序的各方面可按照?#24067;?#22266;件或软件或它们的组合实施。程序示为指定通过一个或
多个装置执行的操作的一组框,并?#20063;?#19968;定限于通过对应的框所示的执行操作的次序。在
以下讨论的一些部分中,将参考上述附图。

在本文所述的程序的上下文中可采用参照图1-8的示例描述的功能、特征和概念。
此外,参?#38556;?#38754;的不同程序描述的功能、特征和概念可在不同的程序之间互换,并?#20063;?#38480;于
单独的程序的上下文中的实施方式。而且,可将与本文中不同代表性程序和对应的附图相
关联的框一起应用和/或按照不同方式组合。因此,参照本文中不同示例环境、装置、组件和
程序描述的单独的功能、特征和概念可在任何合?#23454;?#32452;合中使用,并?#20063;?#38480;于由所列举的
示例代表的特定组合。

示例环境

图1是可采用本文所述的技术操作的示例实施方式中的环境100的示图。示出的环境
100包括经网络106以通信方式耦合的存储服务提供方102和使用方104。可实施存储服务提
供方102和使用方104的计算装置108、110可按照多种方式构造。

例如,计算装置110可?#36824;?#36896;为能够经网络106通信的计算机,诸如台式计算机、移
动站、娱乐用品、以可通信方式耦合至?#20801;?#35013;置的机顶盒、无线电话、游戏机等。因此,计算
装置110的范围可从具有大量存储器和处理器资源(例如,个人计算机、游戏机)的全资源装
置至具有有限的存储器和/或处理资源(例如,传统机顶盒、掌中游戏机)的低资源装置。另
外,计算装置可代表多种不同装置,诸如企业利用用以诸如通过存储服务提供方的计算装
置108执行操作的多个服务器等。

虽然网络106示例为因特网,但是可认为网络具有很多种构造。例如,网络106可包
括广域网(WAN)、局域网(LAN)、无线网、公共电话网络、内联网等。此外,虽然示出了单个网
络106,但是可将网络106构造为包括多个网络。

例如,当被实施为网络服务的一部分(诸如存储社会网络服务的照片)时,存储服
务提供方102示例为包括可用于存储使用方104的数据和/或存储服务提供方102自己的数
据的多个数据存储池112。涉及管理数据存储池的功能由池管理器模块114表示。如上所述,
这种管理可包括选择数据存储池112中的哪些数据存储装置包括元数据,在图2和图3中可
进行进一步讨论。数据存储池112的管理还可采用并行机制,诸如将数据存储装置同?#22791;?#24335;
化和再格式化,在图4-图6中可进行进一步讨论。此外,池管理器模块114可支持诸如响应于
用户输入、数据存储层级中的装置的故障、数据存储装置的添加或去除等的元数据再平衡
技术,参见参照图7-图8的进一步讨论。

图2描绘了一个示例实施方式中的系统200,示出了其中可实施图1的数据存储池
112的存储层级。该示例中的池管理器模块114示例为包括元数据管理器模块202,其代表了
选择如何将元数据分配至数据存储池的功能。

系统200包括存储层级的示例,存储层级包括可位于不同地理位置的一个或多个
数据中心204,因此每个数据中心204提供了故障域,其中位于一个地理位置的数据中心204
的装置的故障(例如,设施作为整体的功率损失)可通过位于另一地理位置的数据中心的可
用性来克服。

每一个数据中心204包括多个机架206。例如,机架206可?#36824;?#36896;为包括电源和开
关,以容纳机箱208,机箱208也可包括电源和开关,以容纳数据存储装置210。因此,机架206
还可提供故障域,其中机架206之一(例如,机架的开关)的故障可通过另一机架来克服。类
似地,机架内的机箱208也可提供故障域(其中一个机箱的故障可通过另一机箱来克服),从
而在通过多个机箱提供数据的情况下,这些副本可用于容错。另外,数据存储装置210还可
通过数据在多个数据存储装置210的副?#26223;湊障?#20284;的方式提供故障域。也考虑存储层级中
的其它等级可提供故障域,诸如存储单元(例如,节点)。

因此,存储层级中的装置可提供故障域,所述故障域可用于保护以防这些域中的
装置发生故障。此外,还可分等级地利用所述故障域,以进一步?#20048;?#35013;置的故障。因此,元数
据管理器模块202可运用图2的数据存储池112的存储层级中的故障域的知识,来选择哪些
装置用于接收描述数据存储在数据存储池112中的位置的元数据。例如,元数据管理器模块
202可使用指定的弹性约束(例如,容许的故障数量),以将元数据散布在符合该指定的弹性
约束的多个装置上,并且最大化存储层级中的可用资源的故障域使用。在以下程序中可以
?#19994;?#23545;该技术的进一步讨论。

图3描绘了一个示例实施方式中的程序300,在该示例实施方式中,将技术描述为
通过运用数据存储池中的故障域的知识将元数据分配至存储层级中的存储装置。通过描述
存储层级中的故障域和数据存储池中的可用存储资源的池管理器模块114获得数据(框
302)。例如,作为管理图1的数据存储池112的部分的池管理器模块114可确定使用哪些数据
存储装置210将数据存储在数据存储池112中。池管理器模块114还可确定被采用作为数据
存储池112的一部分并且来自该对应的故障域的存储层级中的其它装置,诸如可用来实施
数据存储池112的机箱208、机架206以及甚至不同的数据中心204。

池管理器模块114还可确定与存储层级的一个或多个等级中的可用存储资源相关
联的装置的操作特征(框304)。这可以包括:确定数据存储装置210以及与存储层级的其它
等级相关联的装置的操作特征,所述存储层级的其它等级即在不同的故障边界上(诸如在
机箱208、机架206和数据中心204等级)。

可通过池管理器模块114确定多种不同的操作特征。例如,可确定装置的健康(框
306),从而可运用该知识来选择健康装置而不是非健康装置。诸如,还可确定数据连接类型
(框308)以便为特定类型的数据存储装置210的总线(例如,NVMe而不是其它总线类型),为
机箱208与机架206、机架206与数据中心204等之间的数据连接类?#36879;?#20104;更大的权重。例如,
还可为数据存储装置210确定媒体类型(框310),以便为SSD而不是HDD赋予更大的权重以及
更大的选择可能性。

池管理器模块114还可确定如何使用存储层级中的装置(框312)。例如,对于数据
存储装置210,使用类型可包括自动分配而不是手动类型、期刊类型、热备份类型等,在自动
分配类型中,一般可使用数据存储装置210作为数据存储池112的一部分来接收和存储数
据。在一个或多个实施方式中,相对于陈旧的类型,每个其他类型被赋予优先级,例如,标记
数据存储装置210以将其从数据存储池112中去除。还可确定当前元数据状态(框314),从而
池管理器模块114可将更大的权重(以及优先级)赋予存储层级中的当前用于存储元数据的
数据存储装置210和相关联的装置。

基于描述的故障域和存储层级的一个或多个等级中的装置的确定的操作特征,将
元数据的分布分配至数据存储池中的一个或多个特定数据存储装置(框316)。例如,池管理
器模块304可?#36824;?#36896;为按照所列次序(例如,健康、然后是数据连接类型、然后是媒体类型、
然后是如何使用以及然后是当前元数据状态)将更大的权重赋予这些操作特征。如果这些
操作特征中的每一个对于数据存储装置210都是相同的,则可从该集合中随机选择针对元
数据使用哪些数据存储装置210的分配。另外,还可考虑故障域,从而基于数据存储池122的
可用资源最大化故障边界的数量,例如,当可用时,在不同的机箱208、机架206、数据中心
204等上利用数据存储装置210。

可按照多种方式确定用于存储元数据的数据存储装置210的数量。例如,可指定弹
性约束,诸如,可基于这些约束(也可基于上述存储层级)选择容许的故障数量和数据存储
装置210的数量。例如,针对一个机箱,可对该机箱指定六个元数据驱动,针对两个?#20102;?#20010;机
箱,可对每个机箱指定三个元数据驱动,针对五个至十六个机箱,可对每个机箱指定两个元
数据驱动,针?#28304;?#20110;十六个机箱,可对每个机箱指定一个元数据驱动,等。在每个机箱(或更
高的故障域)中,可选择合?#23454;?#25968;据存储装置210,以使得元数据从最合格的装置开始。如果
未?#19994;?#26399;望数量的合格装置,则可进行选择以包括尽可能多的合格装置。此外,这些技术可
为稳定的,因为如果数据存储装置210已具有元数据,它可继续这样做。

这样,可使用在存储层级中表达的存储拓扑机制的知识和层级中的装置的操作特
征,来按照不影响如数据存储池112的弹性约束指定的可靠性保证的方式,将元数据存储划
入数据存储装置210的特定子集的范围。还可采用这些特征作为包括元数据的再平衡的数
据存储装置210的添加、去除的一部分,下面进一步描述。

图4描绘了一个示例实施方式中的系统400,其中,在管理数据存储池中的数据存
储装置时通过池管理器模块114采用了并行机制。当生成数据存储池112时或者利用常规技
术将数据存储装置210添加至现有的数据存储池时,格式化数据存储装置210和执行事务以
将每一个数据存储装置210加入数据存储池112耗费大量时间。然而,在该示例中,可采用并
行机制来按照并行方式针对多个数据存储装置执行格式化,然后通过单个事务将这些装置
加入数据存储池,从而减少生成或者将数据存储装置210添加至数据存储池112耗用的时间
量。

例如,利用第一阶段402、第二阶段404和第三阶段406示出了图4的系统400。在第
一阶段402,由存储服务提供方102的池管理器模块114接收请求408。例如,请求406可源于
利用通信模块116经网络106进行访?#23454;?#20351;用方104、与存储服务提供方102相关的技师等。
另外,请求406可?#36824;?#36896;为生成数据存储池112,将数据存储装置210加至现有数据存储池
112等。

在第二阶段404,池管理器模块114采用并行机制以将多个数据存储装置210(1)-
210(N)并行格式化。例如,池管理器114可采用多个线程410(1)-410(N)以利用每个线程来
同?#22791;?#24335;化对应的数据存储装置210(1)-210(N)。这个处理可包括针对每一个装置格式化
安全分区等。如果待格式化的数据存储装置的数量小于可用线程的数量,则可一次执行该
处理。

如果不是这样,则可采用工作队列,从而一旦完成一个线程的格式化,就从队列中
选择另一数据存储装置进行格式化。例如,如果具有三十二个线程而六十四个数据存储装
置待格式化,则可同时地和相继地利用所述三十二个线程中的每一个来执行格式化。然而,
如果一个线程提早完成格式化,则其还可立即从队列中选择一个数据存储装置,从而在执
行格式化任务时线程都不?#38556;小?#36825;样,多组线程可根据需要重复所述格式化处理。

在第三阶段406,在单个事务中将来自第二阶段404的格式化的数据存储装置210
(1)-210(N)加至数据存储池112,而不是像利用常规技术执行那样针对每个单独的数据存
储装置210(1)-210(N)采用分离的事务。因此,在该示例中,可采用并行机制和使用单个事
务来减少生成或将数据存储装置210加至数据存储池112所耗用的时间量。还可结合元数据
分配执行该并行机制,可在下面?#19994;?#21644;在对应的附图中示出对其的进一步讨论。

图5描绘了一个示例中的系统500,其中,分配元数据并将数据存储装置加至数据
存储池。图6描绘了在一个示例实施方式中的程序600,其中分配元数据并将数据存储装置
加至数据存储池。因此,以下讨论交替地参照图5和图6二者。通过一个或多个计算装置利用
多个线程同?#22791;?#24335;化多个数据存储装置(框602)。例如,实施池管理器模块114的计算装置
可采用多个线程来格式化多个数据存储装置210(1)-210(N),如上参照图3所描述的。

在图5的系统500中示出了第一阶段502、第二阶段504、第三阶段506和第四阶段
508。在第一阶段502,当生成新的存储池时,选择存储池的一个或多个数据存储装置来用于
存储数据存储池112的元数据。例如,可请求将一百个数据存储装置加至数据存储池112。因
此,这些装置中的一个或多个可?#36824;?#36896;为针对这些额外装置存储元数据,并且将它们加至
数据存储池112。

接着,在第二阶段504,通过所述一个或多个计算装置经单个事务将多个数据存储
装置210(2)-210(100)加至数据存储池(框606)。接着先前示例,可使用单个事务来生成池
和将元数据写至选择的驱动。

在另一示例中,其中将数据存储装置加至现有的数据存储池,所述单个事务可针
对用于存储元数据的现有数据存储装置,以将这些装置加至数据存储池。因此,在该实例
中,在第三阶段506,在单个事务中,针对数据存储池112的元数据存储装置508提供元数据
更新512,从而这些额外数据存储装置210(2)-210(100)以及元数据存储装置508自己均被
包括作为数据存储池112的一部分。

在第四阶段508,针对数据存储池112执行元数据的更新的分配514,以在存储层级
中寻址这些额外的数据存储装置和关联的装置。例如,可基于数据存储池中的数据存储装
置的确定的操作特征将元数据的分布分配至数据存储池112中的一个或多个特定数据存储
装置(框610)。针对其中数据存储装置加至现有池的场景,这可包括先前被包括在数据存储
池112中的数据存储装置以及加至数据存储池112的额外数据存储装置的操作特征。可按照
多种方式执行这种分配,诸如通过利用先前参照图2和图3描述的技术。

随后根据分配的分布一次一个地?#26469;?#23558;元数据分布至一个或多个特定数据存储
装置(框612)。在先前的场景之后,如果数据存储装置加至现有的数据存储池,则可针对分
配的特定数据存储装置?#26469;?#25191;行该分布以进行保护?#20048;?#25925;障。

例如,在“多数获胜(majority wins)”方式中,如果在元数据分布中遇到故障,则
可执行仲裁技术(例如,“回滚”或先前运动至新的分配)来确定其中在数据存储池中设置数
据存储装置的状态。这样,通过?#26469;?#28155;加装置,多数可得到保持。然而,在其中生成数据存储
池114的场景中,不存在相关的这些考虑,因此分配的特定数据存储装置可例如通过如上所
述的并行机制同时接收元数据的分布。

虽然已经描述了将数据存储装置210加至数据存储池112,但是应该容易理解,涉
及并行机制和单个事务的这些技术可等同地应用于从数据存储池去除多个数据存储装置。
接着先前示例,可利用添加的数据存储装置来替换数据存储池112中的现有的数据存储装
置。结果,首先添?#26377;?#30340;装置,并且将元数据再分布。随后可将待去除的装置标记为陈旧的,
随后可执行元数据的分配,?#28304;?#36825;些标记的装置去除元数据,并且可采用通过使用线程的
并行机制来从数据存储池112去除陈旧的装置,将装置再格式化,等。因此,与常规技术相
比,可使用对并行机制和单个事务的使用来改进数据存储池112和池管理器模块114的效率
和资源消耗。

图7描绘了一个示例中的系统700,其中响应于一个指示在数据存储池中再平衡元
数据。图8描绘了一个示例实施方式中的程序800,其中,元数据在数据存储池中再平衡。因
此,以下讨论交替地参照图7和图8二者。

通过一个或多个计算装置接收一个指示,以再平衡元数据在数据存储池中的分布
(框802)。在第一阶段702,例如,通过存储服务提供方112的池管理器模块114接收再平衡指
示708。再平衡指示708可来源于使用方104或者技师(如上所述),可通过池管理器模块114
等响应于故障的检测、数据存储池112的存储层级中的装置的添加或去除而自动地产生。

获得描述针对数据存储池指定的弹性约束的数据(框804),诸如允许的故障数量、
特定使用默?#29616;?#31561;。因此,可基于所述弹性约束将元数据的再分布分配至数据存储池中的
一个或多个特定数据存储装置(框806)。如上参照图2-图6的描述,例如,可采用元数据选择
710技术来分配元数据,以基于操作特征、故障边界等将其存储在数据存储池112中的特定
数据存储装置210(1)-210(N)上。另外,也可采用弹性约束712作为该分配的一部分,例如,
以指定多个数据存储装置来支持多个故障。

在第三阶段706,执行可包括事务、并行机制等的使用的再平衡操作714,如上所
述,在数据存储池112中再分配元数据。这样,通过池管理器模块114管理数据存储池112可
以解决多个不同的考虑中的一个或多个,以支持可扩展和性能目标。

示例系统和装置

图9总体通过900示出了示例系统,其包括代表一个或多个计算系统和/或装置的示例
计算装置902,其可实施本文所述的各种技术。通过包括池管理器模块114作为通过平台抽
取的资源的一部分来将其示出。例如,计算装置902可为服务提供者的服务器、与客户关联
的装置(例如,客户装置)、芯片上系统和/或任何其它合?#23454;?#35745;算装置或计算系统。

所示的示例计算装置902包括以可通信方式彼此耦合的处理系统904、一个或多个
计算机可读媒体906以及一个或多个I/O接口908。虽然未示出,但是计算装置902还可包括
将各个组件彼此耦合的系统总线或其它数据和命令转移系统。系统总线可包括任何一种总
线结构或者不同总线结构的组合,诸如存储器总线或者存储器控制器、外围总线、通用串行
总线和/或利用多种总线架构中的任一种的处理器或者局域总线。还考虑了多种其它示例,
诸如控制线和数据线。

处理系统904代表利用?#24067;?#25191;行一个或多个操作的功能。因此,处理系统904示为
包括可?#36824;?#36896;为处理器的?#24067;?#20803;件910、功能块等。其可包括?#24067;?#30340;实施方式,作为利用一
个或多个半导体形成的专用集成电路或者其它逻辑装置。?#24067;?#20803;件910不受形成它们的材
料或者其中采用的处理机制的限制。例如,处理器可包括半导体和/或晶体管(例如,电子集
成电路(IC))。在该上下文中,处理器可执行的指令可为电可执行的指令。

计算机可读存储媒体906示为包括存储器/贮存器912。存储器/贮存器912表示与
一个或多个计算机可读媒体相关的存储器/贮存器容量。存储器/贮存器组件912可包括易
失性媒体(诸如随机存取存储器(RAM))和/或?#19988;资?#24615;媒体(诸如只读存储器(ROM)、?#20102;?#23384;
储器、光盘、磁盘等)。存储器/贮存器组件912可包括固定媒体(例如,RAM、ROM、固定硬盘驱
动器等)以及可运动媒体(例如,?#20102;?#23384;储器、可运动硬盘驱动器、光盘等)。计算机可读媒体
906可按照多种其它方式构造,下面进一步描述。

输入/输出接口908代表允许用户向计算装置902输入命令和信息的功能,并?#19968;?br />允许利用各种输入/输出装置将信息呈?#25351;?#29992;户和/或其它组件或装置。输入装置的示例包
括键盘、光标控制装置(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,?#36824;?#36896;为检测物理触
摸的电容性或其它传感器)、相机(例如,其可采用可见波长或诸如红外频?#23454;?#19981;可见波长,
以将运动识别为不涉及触摸的?#36136;疲?#31561;。输出装置的示例包括?#20801;?#35013;置(例如,监视器或投
影仪)、扬声器、打印机、网卡、触觉响应装置等。因此,计算装置902可按?#38556;?#38754;将进一步描
述的多种方式构造,以支持用户交互。

本文中,在软件、?#24067;?#20803;件或程序模块的一般上下文中可描述各种技术。通常,这
些模块包括执行特定任务或者实施特定抽象数据类型的常规程序、程序、对象、元件、组件、
数据结构等。本文所用的术语“模块”、“功能”和“组件”通常表示软件、固件、?#24067;?#25110;它们的
组合。本文所述的技术的特征是独立于平台的,这表示所述技术可在具有各种处理器的各
种商业计算平台上实施。

所述模块和技术的实施方式可存储在计算机可读媒体上或通过计算机可读媒体
的一些形式发送。计算机可读媒体可包括可通过计算装置902访?#23454;?#21508;?#32622;?#20307;。举例来说
(而非限制),计算机可读媒体可包括“计算机可读存储媒体”和“计算机可?#21015;?#21495;媒体。”

“计算机可读存储媒体”可指相比于仅信号传输、载波或信号本身,能够实?#20013;?#24687;的永
久性和/或非临时性存储的媒体和/或装置。因此,计算机可读存储媒体指非信号承载媒体。
计算机可读存储媒体包括诸如?#36164;?#24615;和?#19988;资?#24615;、可动和不可动媒体和/或存储装置的硬
件,其按照适用于诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据的
信息的存储的方法或技术实施。计算机可读存储媒体的示例可包括(但不限于)RAM、ROM、
EEPROM、?#20102;?#23384;储器或其它存储器技术、CD-ROM、数字多用盘(DVD)或其它光学存储、硬盘、
盒式磁带、磁带、磁盘存储或其它磁存储装置,或者其它存储装置、有形媒体或适于存储期
望的信息并且可通过计算机访?#23454;鬧破貳?br />

“计算机可?#21015;?#21495;媒体”可指?#36824;?#36896;为诸如经网络将指令发送至计算装置902的硬
件的信号承载介质。信号媒体通常可实施计算机可读指令、数据结构、程序模块或调制的数
据信号中的其它数据,所述调制的数据信号诸如载波、数据信号或其它传输机制。信号媒体
还包括任何信息递送媒体。术语“调制的数据信号?#24065;?#25351;其特征之一或多个按照在信号中编
码信息的方式设置或改变的信号。举例来说(而非限制),通信媒体包括诸如有线网络或直
接连线连接的有线媒体和诸如声学、RF、红外和其它无线媒体的无线媒体。

如上所述,?#24067;?#20803;件910和计算机可读媒体906代表按照?#24067;?#24418;式实施的模块、可
编程装置逻辑和/或固定装置逻辑,其可在一些实施例中采用以实施本文所述的技术的至
少一些方面,诸如执行一个或多个指令。?#24067;?#21487;包括集成电路或芯片上系统、专用集成电路
(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)以及硅或其它?#24067;?#30340;其它
实施的组件。在该上下文中,?#24067;?#21487;作为执行由指令限定的程序任务和/或由?#24067;?#23454;施的逻
辑的处理装置操作,以及作为用于存储执行指令的?#24067;?#20363;如,先前描述的计算机可读存储
媒体)操作。

还可采用以上的组合来实施本文描述的各种技术。因此,软件、?#24067;?#25110;可执行模块
可实施为在一些形式的计算机可读存储媒体上实施和/或通过一个或多个?#24067;?#20803;件910实
施的一个或多个指令和/或逻辑。计算装置902可?#36824;?#36896;为实施对应于软件和/或?#24067;?#27169;块
的特定指令和/或功能。因此,可通过计算装置902作为软件执行的模块的实施方式可在硬
件中至少部分地实现,例如,通过使用处理系统904的计算机可读存储媒体和/或?#24067;?#20803;件
910。指令和/或功能可通过一个或多个?#30772;罰?#20363;如,一个或多个计算装置902和/或处理系统
904)执行/操作以实施技术、模块和本文所述的示例。

如图9中进一步示出的,当在个人计算机(PC)、电视机和/或移动装置上运行应用
时,示例系统900能够实现无缝用户体验的普遍环境。当在利用应用、播放视频游戏、观?#35789;?br />频等的同时从一个装置转移至下一个时,对于普通用户体验,服务和应用在所有三个环境
中基本相似地运行。

在示例系统900中,多个装置通过中心计算装置互相连接。中心计算装置可为所述
多个装置的局部或者可远离所述多个装置布置。在一个实施例中,中心计算装置可为通过
网络、互联网或其它数据通信链路连接?#20102;?#36848;多个装置的一个或多个服务器计算机的云。

在一个实施例中,这?#21482;?#36830;架?#25925;?#24471;功能能够在多个装置上递送,以为所述多个
装置的用户提供普通和无缝体验。所述多个装置中的每一个可具有不同的物理需求和能
力,并且中心计算装置使用平台将针对装置定制并且也对于所有装置共同的体验递送至该
装置。在一个实施例中,生成一类目标装置,并且对于通用类的装置定制体验。装置的类可
通过装置的物理特征、使用类型或其它共同特征来限定。

在各个实施方式中,计算装置902可呈现多种不同构造,诸如为计算机914、移动终
端916和电视机918使用。这些构造中的每一个包括可具有整体不同构造和能力的装置,因
此计算装置902可根据一个或多个不同装置类别构造。例如,计算装置902可实施为装置的
计算机914类,包括个人计算机、台式计算机、多屏计算机、笔记本计算机、上网本等。

计算装置902还可实施为包括移动装置的装置的移动终端916类,诸如移动电话、
便携式音乐播放器、便携式游戏装置、平板计算机、多屏计算机等。计算装置902还可实施为
装置的电视机918类,包括具有普通大屏或者在休闲观看环境下连接至普通大屏的装置。这
些装置包括电视机、机顶盒、游戏机等。

本文所述的技术可由计算装置902的这些各种构造支持并?#20063;?#38480;于本文所述的技
术的特定示例。还可通过使用分布式系统完全或部分地实施该功能,诸如经平台922在“云”
920上实施,如下面的描述。

云920包括和/或代表资源924的平台922。平台922提取云920的?#24067;?#20363;如,服务
器)和软件资源的下层功能。资源924可包括可在远离计算装置902的服务器上执行计算机
处理的同时利用的应用和/或数据。资源924还可包括在互联网上和/或通过诸如蜂窝或Wi-
Fi网络的订户网络提供的服务。

平台922可提取资源和功能,以将计算装置902与其它计算装置连接。平台922还可
用于提取资源的缩放,以为经平台922实施的资源924的遇到的需求提供对应水平的缩放。
因此,在互连装置实施例中,本文描述的功能的实施方式可分布在整个系统900上。例如,功
能可部分地在计算装置902上实施以及通过提取云920的功能的平台922实施。

结论

虽然通过结构特征和/或方法行为的特定语言描述了示例实施方式,但是应该理解,权
利要求中限定的实施方式不一定限于描述的特定特征或行为。相反,特定特征和行为以实
施要求保护的特征的示例形式公开。

关于本文
本文标题:可扩展数据存储池.pdf
链接地址:http://www.pqiex.tw/p-6091878.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 极速十一选五专家预测 排列3组三复试 二分彩开奖结果查询 江苏11选5号码遗漏 网上棋牌网站 山东十一选五遗漏360 手机赌钱app棋牌游戏 排列五走势图彩吧 沈阳四冲手机版 江西多乐彩仁五遗漏数