选择用于取消重复数据的存储的制作方法_5

文档序号:9575551阅读:来源:国知局
被“损坏”的情形,在确定性地确定其他副本(多个)中的哪一个是“好的”副本(多个)中可能存在明显的挑战。如果主清单完全丢失或损坏,则可能无法对其重建。此外,从现有分布式对象添加或移除组成员可能具有挑战性。
[0080]一种用于提高存储的数据的冗余度的方法是将每个块存储在多于一个的组成员170中。使用竞价过程,客户端应用134可以选择存储前两个竞价(作为示例)而不是第一个。这意味着每个区域可以被多于一次地存储,并且总是在多于一个服务器110上,但是不利于整体取消重复。如果一个组成员170上的数据丢失,则仍然可以从其余组成员对象重建合作对象。对象的先前冗余度水平可以通过在足够冗余度内读回标识区域的其余组成员的清单并且然后向新的组成员对象写入量来恢复。使用该方法,冗余度可以通过相对小的关联系统开销来实现。
[0081]为了迀移的目的,最终用户可能希望将组成员170对象迀移到具有最终目标的不同节点,来将对象存储在不同的磁盘集合上,以释放原始节点150上的空间。通过分布式成员清单方法,组成员170上的对象的额外副本可以从作为迀移目标的新的组成员170迀移并且存储在其上。下一个步骤是更新参与该分布式对象的存储的组成员170的列表,以移除旧的组成员170并且添加新的组成员170。
[0082]最终用户可能想要添加或移除具体组成员。这些操作可以通过使用类似于上述的迀移的机制,并且通过运行来自一个或多个组成员的一个或多个数据写入作业;并且此外,更新所有节点当中的参与方的列表来执行。
[0083]如果客户端应用134针对冗余而将用户数据区域存储在多个组成员块中,这为客户端应用134提供了机会来基于每个组成员170在其对“对于此范围,你拥有哪些区域”消息的响应中返回服务器负载信息来选择可以从其读取用户数据的组成员170。
[0084]根据示例性实现,备份应用132可以控制通过相对低宽带的连接将数据从一个组成员170复制到另一组成员170。以该方式,根据示例性实现,每个组成员170包括复制作业引擎1310和客户端应用1320,如图13所示。每个组成员170上的复制作业引擎1310被构件为经由客户端应用1320其自己的实例来访问合作对象中的任何块。这允许在目的地合作存储不具有相同数目的组成员170或相同组成员中的任何一个作为原始组存储的情况下,组成员170中的任何一个执行对另一组成员170的复制操作。因此,如图13所示,给定组成员170上的给定复制作业引擎1310可以使用相对低带宽的连接1350来复制第一合作对象1370 (存储在组成员170-1、170-2和170-3),以形成相应的不同组对象1372,如图13所示,其可能已经被存储在组成员170的不同分组(S卩,对于该示例,两个组成员170-4和170-5)。
[0085]为了避免在重复复制期间的数据的再混合的目的,根据一些实现,客户端应用134提供用于非混合读取和写入数据路径的应用程序接口(API)。以该方式,非混合读取包括为了获悉从何处读取数据的目的,从每个组成员读取与内部地处理获取区域信息的客户端应用的散列和独特块数据。非混合写入操作包括与内部地处理竞价和路由的客户端应用134匹配散列并且存储独特的块。
[0086]图14图示了涉及源客户端应用1410、关联复制作业引擎1420以及目标触媒应用1430的非混合副本1400。对于副本的每个部分(例如,10兆字节(MB)的选择),复制引擎1420从源客户端应用1400请求散列的清单,并且将这些散列发送1450到要匹配的目标1460。目标1460用请求其块数据的未匹配散列的列表来进行响应1470。然后,复制引擎1420从源客户端应用1435请求1480这些独特的块,接收1486未匹配的块,并且然后将其发送1488到目标1460以被存储。
[0087]虽然本文已经公开了有限数目的示例,但是可以从其中认识到许多修改和变化。期望所附权利要求涵盖所有这样的修改和变化。
【主权项】
1.一种方法,包括: 将与对象的块相关联的多个散列传送到所述对象在其上被分布的多个存储中的至少一些存储; 响应于所述传送,接收指示关联块的分布的响应; 至少部分地基于所述响应来选择所述存储中的一个;以及 向所选择的存储传送与所述对象相关联的取消重复的数据。2.根据权利要求1所述的方法,其中,传送多个散列包括传送与所述块相关联的较大散列集合中的散列的子集。3.根据权利要求2所述的方法,进一步包括: 响应于选择所述存储中的一个,向所选择的存储传送散列,使得所述较大的散列集合中的所有散列被传送到所选择的存储;以及 至少部分地基于所选择的存储对向所选择的存储的散列的传送的响应来调节向所选择的存储的取消重复数据的传送。4.根据权利要求1所述的方法,其中,接收响应包括从所述至少一个存储中的每一个接收计数值,每个计数值指示与所述存储上的块相关联的散列的数目。5.根据权利要求1所述的方法,进一步包括: 向未选择的存储中的每一个传送所述未选择的存储将不接收取消重复数据的指示。6.一种系统,包括: 多个组成员,用于存储分布式合作对象, 其中,所述组成员中的至少一些用于响应于传送来接收与所述合作对象的块相关联的多个散列,传送指示关联块的分布的响应,并且至少部分地基于所述响应的传送来与应用交互以接收取消重复的数据。7.根据权利要求6所述的系统,其中,所述组成员用于接收指示所述块的散列的稀疏 口 O8.根据权利要求6所述的系统,其中,所述组成员中的至少一个用于响应于被选择,来接收较大的散列集合,并且至少部分地基于所述较大散列的集合的传送来调节对所述组成员的取消重复数据的传送。9.根据权利要求6所述的系统,其中,所述组成员中的至少一个用于传送与存储在所述组成员上的块相关联的散列的数目的计数值。10.根据权利要求6所述的系统,其中,所述组成员中的至少一个用于响应于没有被选择,接收所述组成员将不接收取消重复数据的指示。11.一种包括用于存储指令的计算机可读非瞬时存储介质的物体,当所述计算机执行所述指令时,使得所述计算机: 将与对象的块相关联的多个散列传送到所述对象在其上被分布的多个存储中的至少一些存储; 响应于所述传送,接收指示关联块的分布的响应; 至少部分地基于所述响应来选择所述存储中的一个;以及 向所选择的存储传送与所述对象相关联的取消重复的数据。12.根据权利要求11所述的物体,所述存储介质存储指令,当所述计算机执行所述指令时,使得所述计算机传送与所述块相关联的较大散列集合中的散列的子集。13.根据权利要求12所述的物体,所述存储介质存储指令,当所述计算机执行所述指令时,使得所述计算机: 响应于选择所述存储中的一个,向所选择的存储传送散列,使得所述较大的散列集合中的所有散列被传送到所选择的存储;以及 至少部分地基于所选择的存储对向所选择的存储的散列的传送的响应来调节向所选择的存储的取消重复数据的传送。14.根据权利要求11所述的物体,所述存储介质存储指令,当所述计算机执行所述指令时,使得所述计算机从所述至少一个存储中的每一个接收计数值,每个计数值指示与所述存储上的块相关联的散列的数目。15.根据权利要求11所述的物体,所述存储介质存储指令,当所述计算机执行所述指令时,使得所述计算机向未选择的存储中的每一个传送所述未选择的存储将不接收取消重复数据的指示。
【专利摘要】一种技术包括将与对象的块相关联的多个散列传送到对象在其上被分布的多个存储中的至少一些存储;以及响应于该传送,接收指示关联块的分布的响应。该技术包括至少部分地基于该响应来选择存储中的一个,并且向所选择的存储传送与对象相关联的取消重复的数据。
【IPC分类】G06F12/14, G06F17/30
【公开号】CN105339929
【申请号】CN201380076635
【发明人】A.托德, P.T.坎布尔, W.K.永, K.钱德拉塞哈兰, D.苏埃尔
【申请人】惠普发展公司,有限责任合伙企业
【公开日】2016年2月17日
【申请日】2013年5月16日
【公告号】EP2997497A1, US20160077924, WO2014185918A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1