分布式内容存储和取回的制作方法

文档序号:6350447阅读:184来源:国知局
专利名称:分布式内容存储和取回的制作方法
分布式内容存储和取回其他申请的交叉引用
本申请要求于2009年9月21日提交的美国临时专利申请号61/277,206 (代理案号TRANP006+)、标题为 DISTRIBUTED CONTENT STORAGE AND RETRIEVAL 的优先权,出于所有目的通过引用将其结合于此。
背景技术
分布式数据存储系统的设计和实现由于确定数据在何处以及应当存储于何处的问题而复杂。尽管已经存在将对象名称映射到存储位置的分布式编索引技术,但是它们需要大量存储。这些技术未提供信息将存储于它将最终被访问的位置附近的保证。现有分布式存储技术在故障出现时具有大量可用性和性能问题。


在下文详细描述和附图中公开本发明的各种实施例。图I是图示分布式内容存储系统的一个实施例的框图。图2是图示用于访问和/或存储内容对象的过程的一个实施例的流程图。图3是图示用于收集和分布访问统计的过程的一个实施例的流程图。图4是图示存储节点的一个实施例的框图。图5是图示用于在存储节点维持统计的过程的一个实施例的流程图。图6是图示对对象名称中的对象特征信息编码的过程的一个实施例的流程图。图7是图示用于存储对象的过程的一个实施例的流程图。图8是图示分布式内容存储系统的一个实施例的框图。图9是图示用于访问对象的过程的一个实施例的流程图。图IOA是图示用于从分布式内容存储删除对象的过程的一个实施例的流程图。图IOB是图示用于可靠地删除对象的负责副本的过程的一个实施例的流程图。图11是图示用于在分布式内容存储中保存改变的过程的一个实施例的流程图。图12是图示用于对存储于分布式内容存储中的对象进行改变的过程的一个实施例的流程图。图13是图示用于存储对象的过程的一个实施例的流程图。图14A是图示用于访问对象的过程的一个实施例的流程图。图14B是图示用于在分布式内容存储系统中创建对象的过程的一个实施例的流程图。图15是图示用于存储数据库或者其他大文件的过程的一个实施例的流程图。图16是图示用于访问和存储对象的过程的一个实施例的流程图。图17是图示存储装置的一个实施例的框图。图18是图示存储盘的一个实施例的框图。
具体实施例方式可以用诸多方式(包括如过程;装置;系统;物质组成;在计算机可读存储介质上包含的计算机程序产品;和/或处理器(诸如如下处理器,该处理器被配置成执行在耦合到处理器的存储器上存储的和/或该存储器提供的指令))实现本发明。在本说明书中,这些实现或者本发明可以采用的任何其他形式可以称为技术。一般而言,可以在本发明的范围内变更公开的过程的步骤顺序。除非另有明示,描述为被配置成执行任务的部件(诸如处理器或者存储器)可以实现为暂时被配置成在给定时间执行该任务的一般部件或者制造成执行该任务的具体部件。如这里所用,术语‘处理器’是指被配置成处理数据(诸如计算机程序指令)的一个或者多个设备、电路和/或处理核。下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明并不限于任何实施例。本发明的范围仅由权利要求书限制,并且本发明涵盖诸多替代、修改和等效物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节仍然可以根据权利要求实现本发明。为求简洁,尚未详细描述在与本发明有关的技术领域中已知的技术素材,使得未使本发明不必要地变得难以理解。公开用于分布式内容存储和取回的技术。使用多种分布式系统技术,公开的对象存储跨越全局分散的网络冗余地散布信息。在各种实施例中,对象存储于它们最可能被使用的位置附近,从而使系统可用性、对地理分散的资源的使用和最终用户性能最大化。系统经由分布式合意(consensus)机制共享对象访问和存储简档。当尝试取回或者存储对象时,针对特征扫描对象标识符。使特征相关以估计每个位置访问该对象的频率。针对每个潜在存储位置,组合网络拓扑信息与这些估计以发现该存储选项的成本。确定性函数组合这一成本数据与管理员配置的策略以确定数据应当存储于何处以及如何取回对象。函数被构造成即使添加或者去除存储位置时仍然造成公平和最少对象重新分配。在一些实现中,管理策略和索引信息存储于全局叠加网络中。该设计受控制系统理论严重影响,因为系统严重受抑制并且表现对使用和拓扑改变的斜坡响应。如这里所用,术语“特征”是指对象标识符的性质。性质可以是布尔或者可以由在O与I之间的置信水平代表。任何对象标识符可以视为拥有特征集合。术语“访问概率矩阵”是指如下矩阵,该矩阵包含从给定节点进行对具有给定特征的对象的任何给定访问的概率,其中行代表对象特征而列代表请求位置。“访问计数矩阵”是指除了每个单元包含访问计数而不是百分比之外具有与访问概率矩阵相同的结构的矩阵。“节点”是分布式系统中的负责对象存储和对象查询的计算机或者其他设备两者。可以将节点和存储设备组织成层级。该层级可以包含作为级别节点的存储设备和管理员指定的下级的分组。作为例子,可以有称为“大陆”的层级级别,该级别包含北美洲、欧洲和亚洲,每个洲包含如下办公室,这些办公室包含如下节点,这些节点包含存储设备。“位置”是层级中的任何给定实体(例如具体办公室或者具体存储设备)。使用以下矩阵约定(convention):
At表示矩阵A的转置
4表示矩阵A的i行j列中的值
矩阵等式中的I表示I值填充的适当大小的行或者列IXn或者nX I矩阵。、
· Cj表示矢量C的第j个元素 使用以下概率约定
Ρ(Λ\Β)表示在给定A为真时J为真的概率。· Fi表示访问概率矩阵的行i代表的特征存在。· %表示访问概率矩阵的列J代表的节点将执行访问。
· 1 表示除了访问概率矩阵的列j代表的节点之外的节点将执行访问。图I是图示分布式内容存储系统的一个实施例的框图。在所示例子中,在所示例子中由客户端102和104代表的一个或者多个客户端经由因特网(和/或一个或者多个其他网络)106连接到多个存储节点108。每个节点108被配置成存储如下数据对象(诸如文件),这些数据对象包括存储的内容对象体。在各种实施例中,每个节点108本地收集统计,例如针对一个或者多个特征中的每个特征,已经在节点访问(或者替代地为最近访问)具有该特征的多少个对象和/或在节点上存储具有该特征的多少个对象。节点108经由分布式合意机制协作以共享访问和/或存储统计。生成并且向节点分发全局访问概率矩阵,并且在相应节点使用这些矩阵做出存储和/或对象访问决策。例如,可以在至少部分地由于对象具有如下特征或者特征集合而选择的节点上存储等于对象的所有其他内容,该特征或者特征集合造成在作出存储决策(即选择用于将对象存储于其上的一个或者多个节点)的节点处使用用于相应节点的收集和分发的每个特征的访问概率来确定统计上可能将从所选节点(或者从在所选节点附近的某处)访问待存储的对象。在各种实施例中,成本信息(诸如经由在节点A (或者在节点A附近)向对象存储于其上的节点B进行的请求来访问对象的成本)与访问和/或存储的对象统计一起考虑。在一些实施例中,也实施管理策略并且将这些策略纳入到节点选择中。例如如果已经选择第一节点A用于存储对象并且管理策略要求两个副本存储于分离的地理位置,则选择未在与节点A相同的地理位置的第二节点B用于存储第二副本。图2是图示用于访问和/或存储内容对象的过程的一个实施例的流程图。在所示例子中,当将存储对象或者希望访问对象时,先前收集的统计(例如每个节点的每个特征的访问和/或存储对象计数,这些计数被转换成如下访问概率,这些访问概率针对每个节点指示具有特定特征的对象在该节点处被存储和/或将被访问的可能性)和将存储的或者希望访问的对象的特征用来针对每个候选节点确定将在该节点访问(和/或在一些实施例中存储的)对象的概率(202)。确定的访问概率与成本、管理策略和/或其他信息一起用来选择将在其存储和/或从其尝试访问对象的一个或者多个节点(204)。在一些实施例中,访问统计用来选择将在其上存储待存储的对象的一个或者多个节点。在一些实施例中,存储的对象统计用来选择如下一个或者多个节点,将从该节点请求访问待访问的对象。关于存储,在各种实施例中的方式寻求在如下位置存储对象,这些位置使它们在受制于管理策略的要求时以最小成本使如下用户的可用性最大,这些用户被确定为统计上最可能访问它们。类似地,在各种实施例,关于在公开的方式之下的访问,请求者尝试从至少部分地基于共享的访问和/或存储对象统计以及根据这些统计确定的概率来确定的如下节点取回内容,该节点可能让对象存储于其上,例如因为存储节点可能将基于相同(或者有关)统计已经选择它用于存储节点。在各种实施例中,在系统内的每个节点保持每个特征的对包含该特征的对象的访问在该节点被发起多少次的计数。可以在节点处在分布式存储系统内出于各种原因(例如代表在节点上运行的过程或者由于该节点接收的来自用户或者客户端计算系统的外部请求)而发起访问或者其他操作。此外还维持从这一节点访问的对象数量的计数。类似地,在一些实施例中,每个节点可以保持它的本地存储文件中的多少个文件具有给定特征和存储的文件总数的计数。当已经预备并且准备好分发新访问和存储简档时,节点经由原子承诺(commitment)协议关于新简档达成协定。这一协定包括简档本身和简档将变得活跃的时间两者。通过自动改变为新简档,系统确保节点将总是将一致信息用于存储和搜索决策。延迟的激活时间也允许统计简档的多个版本为所有节点已知。这允许搜索、存储和异常列表处置使用任何或者所有可用版本来做出决策。例如新存储决策可能使用尚未活跃但是不久将变成活跃的简档。在一个实施例中,系统可以保留最后四个访问简档并且能够针对根据那些简档存储的任何对象使用那些简档来对对象定位而不求助其他手段。在一个实施例中,节点保证将在访问简档改变之后需要异常列表条目的所有它们的对象在访问简档改变生效之前在异常列表中具有这样的条目。
系统定期聚集来自每个节点的特征访问模式。这可以由系统内的减少信息的单个动作器、通过全局MapReduce步骤、通过交易协定机制或者通过其他手段来完成。图3是图示用于收集和分发访问统计的过程的一个实施例的流程图。以下关键步骤出现于各种实施例中
从每个节点收集(302)存储文件和最近访问的每特征计数。可以组合这些计数以形成每个位置和特征对的相应计数的频率矩阵。在一些实施例中,将访问简档信息存储为矩阵,其中行对应于特征而列对应于从其出现访问的位置。存储简档将随时间接近访问简档,因为基于访问简档选择存储位置。存储计数代表系统的实际状态而不是动态趋势,因此它们在未过滤时最准确。每个节点确切知道如下值,这些值应当填充它的列。组合信息与先前访问简档(304)。经常希望向较新的信息给予较大权重。一种可以实现此的方式是通过使用认为最近信息比历史数据更重要的低通滤波器(诸如无限冲激响应滤波器)。替代地,全局优化技术(诸如仿真或者量子退火)也可以用来发现如下新访问简档,该访问简档在接近最近观测的访问统计时使对象重新定位最小化。随机方法可以用来确定将最小化的分数;替代地,可以使用如下函数,该函数基于提议的访问简档与最近观测的访问率和按照特征对当前存储位置的计数有多么好地匹配来计分。这一过程通过比较重新定位成本与节省的访问成本来区分简档改变的优先次序。从每个节点访问的对象的总计数可以与整个集群执行的全部访问的数量之和一起由相同流程维持。随着过去观测的权重减少,过去数据代表的对象访问的计数也按照相同比例减少。对于对计数数据的过滤而言希望但是未必确保所有单元为非零。这防止贝叶斯推论将任何特征的存在解释为针对任何位置的绝对的排除确保。计算访问计数矩阵中的所有单元的标量和除以矩阵代表的对象访问的总计数,从而给出每个访问存在的对象特征的平均数量(即平均特征计数)(305)。通过将访问计数矩阵中的每个值除以矩阵中的所有单元之和以针对特征和节点的每个配对产生访问概率来形成新访问概率矩阵(308)。换而言之,这一矩阵在每个条目中存储访问的给定特征将来自与该条目的列对应的节点并且是与该条目的行对应的特征的概率(受制于朝着滤波器提供的最近数据的偏斜)。这一概率对应于如下访问的预计比例(该比例是访问频率),这些访问将针对来自相应位置的具有这些特征的对象。针对所得访问概率矩阵中的每个特征行,计算观测的统计显著性(309)。这是通过首先发现跨越所有特征的访问计数之和代表的空假设分布并且然后计算如与全局访问概率的空假设分布相比的用于行的P值来执行的。这帮助确定给定行是否是有用的访问位置预测值(predictor)或者是否纯粹偶然地产生从基线分布的偏斜。这在存在关于特征的访问模式的很少数据时特别有用。
向分布式存储系统中的各种节点分发访问概率矩阵、统计显著性矢量和标量平均特征计数(310)。在其他实施例中,向各种节点分发计数,并且在分发之后节点执行概率计算。在各种实施例中,也分发每个对象的平均特征数量或者对象总数。图4是图示存储节点的一个实施例的框图。在各种实施例中,存储节点402可以包括服务器或者其他计算机。在所示例子中,节点402包括经由连接406提供网络连接性的通信接口 404 (例如网络接口卡)。内容访问和存储引擎408经由通信接口 404和连接406来与客户端和/或其他节点通信以执行任务(诸如提供对请求内容对象的访问以及例如在节点402上和/或在对等节点上存储待存储的内容对象)。在一些实施例中,内容访问和存储引擎408包括在处理器上运行的一个或者多个软件模块。在各种实施例中的内容访问和存储引擎408被配置成在对象存储410中存储内容对象和/或提供对存储于其中的对象的访问。在各种实施例中,节点可以具有多个本地“对象存储”(盘/存储位置)。内容访问和存储引擎408在访问统计和矩阵412中维持和存储每个特征的针对本地访问和/或存储对象的本地计数。内容访问和存储引擎408定期例如向所有对等节点和/或向一个或者多个中心位置报告本地计数。在一些实施例中,MapReduce或者其他分布式技术用来收集数据。在一些实施例中,在重新分发之前通过低通滤波器或者其他抑制(damping)机制变换计数数据。合意机制可以用来保证所有访问和存储引擎共享共同简档。内容访问和存储引擎408被配置成经由接口 404接收集中和/或在对等节点基于节点集群(节点402是该集群的成员)中的相应节点报告的每个特征的计数来确定的访问概率和/或其他矩阵并且使用矩阵关于特定对象基于它们的相应特征做出存储和/或访问决策。图5是图示用于在存储节点维持统计的过程的一个实施例的流程图。在所示例子中,每次访问和/或存储对象(502)时,确定访问/存储的对象的特征(504)并且更新每个特征的适用计数(506)。例如如果访问具有六个被跟踪特征的集合中的特征2、3和5的对象,则将递增针对特征2、3和5的相应的每个特征访问计数。在一些实施例中,对对象特征编码或者对象特征包含在对象名称中或者通过直接解释对象的名称可辨认对象特征。当系统尝试访问对象时,它评估关于对象名称的如下函数,该函数解释对象名称的特性以生成特征集合。特性可以包括对象路径名分量的散列值、字母和二合字母(digraph)频率测量、其他统计测量或者其任何组合。函数必须针对任何给定对象名称返回确切相同特征集合。可以在每个节点的基础上维持每个特征的访问和存储计数。替代地,节点可以通过针对该节点发起的尝试访问的每个特征递增每个盘上的访问计数来针对它的盘维持这些计数。在该盘上的访问计数统计然后代表已经包含该盘的(一个或多个)节点已经针对包含特征的对象发起访问的频率。类似地,节点可以在每个盘上维持存储于该盘上的对象计数。在其他实施例中,可以在存储层级中的除了节点和盘之外的位置维持访问。
图6是图示对对象名称中的对象特征信息编码的过程的一个实施例的流程图。在所示例子中,当保存对象(602)时,例如基于包括对象的数据和/或关于对象的元数据确定对象的被跟踪特征(604)。确定的特征用来创建(例如在首次保存对象时)或者更新(例如如果特征从上次访问起已经改变)用来在分布式内容存储系统中知道对象的名称(606)。在各种实施例中,每个特征由在对象名称中包括的串代表,使得在分布式存储中的任何节点可以通过解释包括对象名称的数据来确定特征而不必检查全局或者其他索引条目。在一些实施例中,通过分析全局对象名称来确定对象特征。可以将对象名称形成为层级,并且针对层级的每个部分计算的散列函数可以确定特征。此外,在名称中编码的层级的名称或者级别还可以点缀有解析器可提取的各种附加属性。这些属性的散列可以提供用于对象的特征。可以从对象名称提取各种其他隐含特征(诸如二合字母和三合字母频率)。例如,最频繁三合字母可以视为对象的特征而其他三合字母则不是,或者关于每个三合字母的频率计算的对数函数可以提供用于每个三合字母特征的置信水平。图7是图示用于存储对象的过程的一个实施例的流程图。在所示例子中,当接收对存储对象的请求(例如来自客户端系统)(702 )时,评估对象的名称以确定包括被跟踪的特征的集合的哪个或者哪些特征(如果有)与对象关联(704)。针对作为(或者保留为)用于存储对象的候选的每个节点,访问统计(例如集群范围的访问概率矩阵)用来根据对象的特征确定待存储的对象将在该节点被访问的预计频率(706)。在一些实施例中,在确定每个节点的概率之前和/或与之结合,如下文更完全描述的那样调整原始访问概率矩阵以实现存储对象和/或其副本的更均匀分布。针对每个(保留)候选节点,如果对象存储于该节点,则确定每个访问的平均成本(例如考虑如例如基于访问概率矩阵确定的在相应节点与可能从其进行访问请求的可能节点之间的通信成本)(708)。根据适用管理策略评估预计访问频率和成本信息以选择一个或者多个节点用于存储对象(710)。例如管理策略可以提供对象的两个副本必须存储于不同地理位置。在一些实施例中,迭代执行706、708和710直至确定满足适用管理策略的存储节点集合。例如管理策略可以提供对象的两个副本必须存储于不同地理位置。可以基于访问概率和成本信息选择第一节点。从作为候选的竞争中去除第一节点和为了服从适用管理策略而必须去除的任何其他节点。在当前例子中,可以从竞争中例如去除在与第一节点相同的地理位置的其他节点和第一节点本身,并且如在保留节点之间例如基于访问概率和成本信息确定第二节点(未必在与第一节点相同的地理位置,因为已经从竞争中去除所有这样的节点)。在(一个或多个)所选节点上存储对象(712)。在一些实施例中,除了存储对象的副本之外,每个所选节点还存储关于对象的元数据,包括如下元数据,该元数据指示对象的“负责”副本被存储的其他位置。在一些实施例中,这样的信息例如在存储位置的故障情况下用来向不受故障影响的节点迁移存储于出故障的位置内存储的每个对象的副本以便恢复服从指定的冗余策略。在一些实施例中,这样的信息可以 在存储位置的故障情况下用来保证更新异常列表。可以对存储于每个节点上的元数据编索弓丨,使得可以快速发现也在给定替代位置存储的条目。也可以对存储于每个节点上的元数据编索引,使得可以快速发现具有给定特征的条目。在特征并非布尔的情况下,可以按照每个特征内的置信水平对索引排序。图8是图示分布式内容存储系统的一个实施例的框图。在所示例子中,分布式内容存储系统包括如下集群,该集群包括位于三个分离地理位置(例如企业或者其他实体的三个地理地点)的三个存储节点集。与第一局域网(LAN) 804关联的节点802、与第二 LAN814关联的节点812和与第三LAN 824关联的节点822经由因特网830互连。在这一例子中,如在上文结合图7描述的例子(其中管理策略要求第二副本存储于分离地理位置)中那样,按照地理位置组织节点,从而使得能够在节点和/或地理基础上定义和实施管理策略。也可以在管理员向在层级的任何级别的任何存储位置(包括但不限于盘、节点和地理位置)分配的属性方面定义管理策略。图9是图示用于访问对象的过程的一个实施例的流程图。在所示例子中,例如从客户端计算机接收如下请求,该请求针对访问在请求中命名的内容对象(902 )。如上文描述的那样,根据名称确定对象特征,并且例如基于访问概率、成本信息和管理策略确定预期请求的对象可能存储于其上的一个或者多个节点的集合(904)。在一些实施例中,为了选择将从其尝试访问请求的对象的节点,处理访问请求的节点基于访问统计、成本信息和管理策略确定节点如果被请求这样做则将在何处存储对象。在一些替代实施例中,访问概率 信息用来选择将其上存储对象的节点,但是存储的对象计数和根据这些计数导出的概率信息用来选择将从其尝试访问请求的对象的节点。在一些实施例中,在使用访问(或者存储对象)概率和其他信息确定将从其尝试取回请求的对象的节点之前,检查本地索引以确定是否本地存储对象,并且如果是这样,则从本地存储供应对象并且图9的过程未完成。一旦已经选择将从其尝试取回请求的对象的节点,就从该节点尝试取回请求的对象(908)。如果尝试成功(910)(即所选节点具有对象的副本并且提供对对象的访问),则该过程结束。如果不是,则确定是否任何更多候选节点留待检查(912)。如果是这样,则选择下一候选节点(914,906)并且尝试从该节点取回对象(908)。如果可用于检查的最后节点没有对象的副本(912),则返回如下异常(916),该异常指示预计具有对象的节点事实上无副本并且图9的过程结束。在一些实施例中,异常(916)造成检查全局异常索引以查看对象是否已经存储于在索引中标识的位置/节点中。如果是这样,则从在索引中指示的节点取回对象。如果不能发现副本,则向请求客户端反回如下错误,该错误指示对象未存在于分布式存储中。在以下例子中
A是如结合图3的308在
中描述的访问概率矩阵。· L是在如上文结合图3的309描述的
中计算的每行的P值矢量。· K是来自上文结合图3的305描述的
的访问简档矩阵中的所有单元的标量和除以来自
的访问数量。在一些实施例中,访问计数矩阵具有每个特征的一行和每个访问位置的一列。在五十次访问之后的用于六个特征和四个位置的例子矩阵是
权利要求
1.一种存储数据的方法,包括 确定与内容对象关联的特征集合;并且 至少部分地基于概率数据从包括分布式内容存储系统的多个存储位置选择用于关于所述内容对象执行操作的存储位置,所述概率数据指示选择的存储位置与包括所述特征集合的被确定为与所述内容对象关联的特征在统计上关联的程度。
2.根据权利要求I所述的方法,其中所述操作包括在所述选择的存储位置内存储所述内容对象。
3.根据权利要求2所述的方法,其中在存储区域网络上执行所述操作。
4.根据权利要求2所述的方法,其中在网络附着存储设备上执行所述操作。
5.根据权利要求I所述的方法,其中所述操作包括在所述选择的存储位置尝试访问所述内容对象。
6.根据权利要求5所述的方法,其中在存储区域网络上执行所述操作。
7.根据权利要求5所述的方法,其中在网络附着存储设备上执行所述操作。
8.根据权利要求I所述的方法,其中所述操作包括至少部分地基于指示所述选择的存储位置与所述特征关联的所述程度的所述概率数据从选择的位置尝试取回所述内容对象而未首先基于索引或者其他数据确定所述内容对象事实上存储于所述选择的存储位置内。
9.根据权利要求I所述的方法,其中所述选择的存储位置与所述特征在统计上关联的所述程度至少包括选择的位置如与未选择的另一位置相比与所述特征关联的相对程度。
10.根据权利要求I所述的方法,其中所述选择的存储位置包括地理位置。
11.根据权利要求I所述的方法,其中所述选择的存储位置包括节点。
12.根据权利要求I所述的方法,其中所述选择的存储位置包括盘。
13.根据权利要求I所述的方法,其中所述特征集合包括关于所述内容对象为真的一个或者多个声明。
14.根据权利要求I所述的方法,其中确定所述特征集合包括解析所述内容对象的对象名称。
15.根据权利要求I所述的方法,其中所述概率数据包括概率矩阵,所述概率矩阵针对包括所述分布式内容存储系统的所述多个存储位置中的每个并且关于每个节点针对每个特征指示具有所述特征的对象与该节点关联的概率。
16.根据权利要求I所述的方法,其中所述概率数据包括概率矩阵,所述概率矩阵针对包括所述分布式内容存储系统的所述多个存储设备中的每个并且关于每个设备针对每个特征指示从包含该设备的所述节点访问具有所述特征的对象的频率。
17.根据权利要求I所述的方法,其中所述特征集合包括一个或者多个特征,并且还包括使用所述概率数据针对所述集合中的每个特征确定多个候选位置中的每个位置与该特征在统计上关联的程度。
18.根据权利要求17所述的方法,还包括关于每个候选位置确定与选择在该候选位置内包含的节点用于执行所述操作关联的预计成本。
19.根据权利要求18所述的方法,其中至少部分地基于确定为与选择相应候选位置用于执行所述操作关联的相应预计成本来选择所选择的位置。
20.根据权利要求18所述的方法,还包括应用管理策略以根据所述选择的位置与所述特征关联的确定的程度以及与选择所述选择的位置关联的确定的成本来确定所述选择的位置是合格的和需要选择的之一或两者。
21.根据权利要求20所述的方法,其中在层级内重复选择直至选择个别存储设备或者存储节点。
22.根据权利要求20所述的方法,其中做出多个选择直至所述选择与指定的冗余要求相符。
23.根据权利要求18所述的方法,其中针对每个候选位置,与在该候选位置存储所述内容对象关联的确定的成本部分地基于从多个位置请求访问内容条目的相应频率来反映访问如在该位置内的节点上存储的所述内容对象的预计将来成本。
24.根据权利要求I所述的方法,其中至少部分地通过在所述多个存储位置中的每个存储位置收集访问计数数据来确定所述概率数据,所述访问计数数据针对包括多个特征的每个特征反映已经从该位置访问具有该特征的多少个对象。
25.根据权利要求24所述的方法,其中与相对更近的访问事件关联的特征计数比相对不太近的访问事件加权更重。
26.根据权利要求24所述的方法,其中通过减少在所述访问计数数据中反映访问统计的改变的程度来抑制这样的改变。
27.根据权利要求26所述的方法,其中通过使访问计数数据穿过无限冲激响应或者其他低通滤波器来抑制访问统计的改变。
28.根据权利要求26所述的方法,其中通过估计或者确定按照给定的新访问简档将不再处于它们的优选位置的对象比例并且应用优化算法来抑制所述访问统计的改变,所述优化算法被配置成针对将不再处于它们的优选位置的对象比例平衡朝着所述新访问简档的收敛。
29.根据权利要求28所述的方法,其中通过随机采样对象群体并且针对随机采样中的每个对象确定按照所述给定的新访问简档所述对象是否在它的优选位置来形成对将不再处于它们的优选位置的对象比例的估计。
30.根据权利要求24所述的方法,还包括从包括多个存储位置的相应存储位置收集所述访问计数数据并且生成访问概率矩阵,所述访问概率矩阵针对包括所述分布式内容存储系统的所述多个存储位置中的每个存储位置并且关于每个位置针对每个特征指示将从该位置访问具有所述特征的对象的预计频率。
31.根据权利要求I所述的方法,其中所述概率数据指示将从选择的位置访问具有所述特征的对象的预计频率,并且选择所述选择的位置用于执行的操作是存储所述内容对象。
32.根据权利要求I所述的方法,其中所述概率数据指示具有所述特征的对象存储于选择位置的概率,并且选择所述选择的位置用于执行的操作是访问所述内容对象。
33.根据权利要求I所述的方法,其中所述内容对象包括文件。
34.根据权利要求I所述的方法,其中所述内容对象包括数据库或者文件的分区。
35.根据权利要求34所述的方法,还包括将所述数据库或者文件分割成多个分区;并且将所述分区中的每个分区存储于至少部分地基于所述分区的特征确定的对应选择的存储位置。
36.根据权利要求I所述的方法,还包括应用与关于所述内容对象执行所述操作有关的管理策略。
37.根据权利要求I所述的方法,其中所述操作包括在不能根据选择的异常策略存储所述内容对象的情况下执行异常处置。
38.根据权利要求37所述的方法,其中所述异常处置包括在一个或者多个替代存储位置存储所述内容对象,所述一个或者多个替代存储位置中的一个或者多个替代存储位置不是优选存储位置,并且在异常索引中产生指示所述内容对象存储于所述一个或者多个替代存储位置的条目。
39.根据权利要求38所述的方法,还包括向一个或者多个优选存储位置迁移所述内容对象。
40.根据权利要求39所述的方法,还包括从所述异常索引去除所述条目。
41.根据权利要求39所述的方法,其中由于在优选存储位置内执行的访问请求而迁移所述内容对象。
42.根据权利要求37所述的方法,其中所述操作包括恢复一个或者多个内容对象的冗余性。
43.根据权利要求I所述的方法,其中所述操作包括响应于在存储位置中检测到故障来恢复一个或者多个内容对象的冗余性。
44.根据权利要求I所述的方法,其中所述操作包括访问所述内容对象,并且还包括确定所述内容对象从根据适用异常策略确定的一个或者多个优选位置不可用并且查询异常索引以标识将从其请求所述内容对象的替代位置。
45.—种分布式内容存储系统,包括 存储设备,被配置成存储内容对象;以及 处理器,耦合到所述存储设备并且被配置成确定与内容对象关联的特征集合;并且至少部分地基于概率数据从分布式内容存储系统内的多个存储位置选择将在其关于所述内容对象执行操作的存储位置,所述概率数据指示选择的存储位置与包括所述特征集合的确定为与所述内容对象关联的特征在统计上关联的程度。
46.根据权利要求45所述的系统,其中所述操作包括至少部分地基于指示所述选择的存储位置与所述特征关联的所述程度的所述概率数据从所述选择的位置尝试取回所述内容对象而未首先基于索引或者其他数据确定所述内容对象事实上存储于所述选择的存储位置。
47.根据权利要求45所述的系统,其中所述概率数据包括概率矩阵,所述概率矩阵针对包括所述分布式内容存储系统的所述多个存储位置中的每个存储位置并且关于每个位置针对每个特征指示具有所述特征的对象与该位置关联的概率。
48.根据权利要求45所述的系统,其中所述处理器还被配置成维持访问计数数据,所述访问计数数据针对包括多个特征的每个特征指示已经在包括所述处理器和所述存储设备的存储位置访问具有该特征的多少个对象。
49.根据权利要求48所述的系统,其中所述存储位置包括包含所述分布式内容存储系统的多个存储位置之一,并且所述处理器还被配置成从所述多个存储位置中的每个存储位置收集访问计数数据,所述访问计数数据针对所述多个特征中的每个特征反映已经从该位置访问具有该特征的多少个对象。
50.根据权利要求45所述的系统,其中所述处理器还被配置成使用收集的访问计数数据生成访问概率矩阵,所述访问概率矩阵针对包括所述分布式内容存储系统的所述多个存储位置中的每个存储位置并且关于每个位置针对所述多个特征中的每个特征指示将在该位置访问具有所述特征的对象的概率。
51.一种用于存储内容对象的计算机程序产品,所述计算机程序产品包含于计算机可读存储介质中并且包括用于以下操作的计算机指令 确定与内容对象关联的特征集合;并且 至少部分地基于概率数据从分布式内容存储系统内的多个存储位置选择用于关于所述内容对象执行操作的存储位置,所述概率数据指示选择的存储位置与包括所述特征集合的确定为与所述内容对象关联的特征在统计上关联的程度。
全文摘要
公开了分布式内容存储和取回。确定与内容对象关联的特征集合。至少部分地基于概率数据从包括分布式内容存储系统的多个存储位置选择用于关于内容对象执行操作的存储位置,该概率数据指示选择的存储位置与包括特征集合的确定为与内容对象关联的特征在统计上关联的程度。
文档编号G06F13/00GK102640125SQ201080041777
公开日2012年8月15日 申请日期2010年9月21日 优先权日2009年9月21日
发明者M.P.莱尔, R.F.罗斯 申请人:特兰斯拉蒂斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1