基于去重复的存储系统中用于可扩展引用管理的系统和方法技术方案

技术编号:9010184 阅读:126 留言:0更新日期:2013-08-08 21:36
在此披露了一种在粗等级上管理资源回收引用列表的系统和方法。一个存储装置被配置成在多个存储容器中存储多个存储对象,所述存储容器的每一个被配置成存储多个所述存储对象。维护一个存储容器引用列表,其中对于该多个存储容器的每一个,该存储容器引用列表识别多个文件中的哪些文件引用了一个给定存储容器内的一个存储对象。响应于检测到一个给定文件的删除,该文件引用该多个存储容器的一个特定存储容器内的一个对象,一个服务器被配置成通过从该存储容器引用列表中移除该给定文件的一个识别来更新该存储容器引用列表。将段对象与引用这些段对象的文件相关联的一个引用列表可以不响应于该删除而进行更新。

【技术实现步骤摘要】
【国外来华专利技术】专利技术背景专利
本专利技术总体上涉及备份存储系统,尤其是涉及用于协助基于去重复的存储系统中的资源回收的引用列表。相关技术说明各种组织机构正在积累并存储大量电子数据。因此,备份存储系统正在增加尺寸并消耗大量资源。为了应对数量不断增加的数据的存储,去重复技术已经成为在备份存储系统中使存储利用率最大化的一个重要特征。在典型的去重复系统中,将文件分块为数据段并且将冗余数据段从系统中删除。然后,在备份存储介质中将唯一的数据段存储为段对象。随着所存储的段对象数量的增加,段对象的管理要求提高系统资源的共享,这可能影响去重复系统的整体效率和性能。基于去重复系统的目的是减少需要存储大量数据的大量存储容量。去重复技术已经成熟到它们可以在数量上实现所存储数据的显著减少。然而,尽管这些技术可以减少所需要的存储空间,但系统中存储的段对象的数量仍然继续增加。当去重复系统按比例增加以处理更多的数据负载时,段对象的管理和标引就成为影响系统性能的重要因素。典型地,段对象尺寸小,在一些系统中仅有4千字节(KB)。对于存储400兆兆字节(TB)数据的系统(所有段对象大小为4KB),要维护1000亿个段对象。随着存储需求的增长,段对象数量上的增加可能产生无法接受的管理开销。因此,需要高可扩展性管理系统来有效地存储和管理大量段对象。特别具有挑战性的问题包括在从系统删除文件后恢复资源。当删除一个文件时,不能简单地删除组成该文件的段对象,因为系统所存储的一些其他文件有可能引用了那些相同段对象的一个或多个。只要没有其他文件使用那些段对象,就可以将它们删除。某种管理形式需要持续跟踪段对象以及使用这些段对象的所有文件。存在用于管理段对象以及指向它们的文件的各种技术,当小规模操作时这些技术中的大部分可以工作良好。然而,在应对大量段对象时这些方法中的很多可能不会有效。协助资源回收的一个技术是对段对象进行引用计数。引用数存储了一个值,该值表示有多少文件指向或使用该段。每当一个文件使用段对象时它的引用数就递增,并且当删除使用该段的文件时递减,最终当该数降为零时可以回收该段。引用计数具有不适合于去重复的一些限制。一个限制是任何丢失或重复更新会不适当地改变该计数。如果该数偶然减少,当段仍由至少一个文件使用时可能被删除。如果该数偶然增加,那么甚至在使用该段的所有文件都从系统中删除后可能永远不会删除该段。引用计数的另一个缺点是它不允许识别哪些文件使用一个给定段对象。如果段对象遭到破坏,备份系统需要知道哪些文件正在使用它,这样可以要求该文件恢复破坏的数据。然而,引用计数并不 维护哪些文件正使用每个特定段对象的列表,这使得破坏数据的恢复更为困难。可用于协助资源回收的另一个工具是引用列表。维护引用列表不会受到引用计数的内在缺点的影响。引用列表对错误更新具有更强的免疫力,因为可以搜索该列表以查看是否已经执行了添加或移除操作。另外,引用列表具有识别哪些文件正使用每个段对象的能力。然而,引用列表不易于扩展以便处理大量段对像。传统上,根据所存储的每个段对象在一个细等级上来管理引用列表。随着段对象数量的增加,更新引用列表耗费更长的时段,这可能降低系统性能。需要一种新方法,以维护可以有效管理大量段对象的引用列表。鉴于以上问题,维护去重复系统中的引用列表的改进方法和机制是需要的。专利技术综述设想了有效管理基于去重复的存储系统中的引用列表的方法和机制的各种实施例。在一个实施例中,引用列表可以包括在备份存储介质中存储的每个容器的粗等级条项组成。由在特定容器内存储的至少一个段对象组成的每个文件可以在该特定容器的引用列表中具有一个条项。当文件添加到基于去重复的存储系统中或从其删除时,条项可以添加到引用列表或从其删除。在另一个实施例中,引用列表可以包括用于容器的粗等级条项以及用于在容器中存储的段对象的细等级条项。引用列表可以在粗等级上进行管理,这样存储系统的文件的删除可以产生更新的容器条项,无需更新段对象条项。当用于一个特定容器的粗等级条项的数量减少时,最终该数量将降至一个阈值以下,在该阈值点上服务器可以切换回在细等级上管理该特定容器的列表。在细等级上管理引用列表可以包括每次从系统中删除一个文件时就更新段对象条项。在又一个实施例中,引用列表可以将每个条项与一个备份事务相关联,而不是将每个条项与一个文件相关联。备份事务可以包括由一个单一客户端向基于去重复的存储系统发送的所有文件以进行一次单一备份操作。引用列表可以包括在备份存储介质中存储的每个容器的粗等级条项。由一个特定容器中存储的至少一个段对象组成的每个备份事务可以在该特定容器的弓I用列表中具有一个条项。在又一个实施例中,引用列表可以具有一个备份事务所引用的 每个容器的粗等级条项以及一个备份事务所引用的每个段对象的细等级条项。引用列表可以仅在粗等级上进行更新,直到一个特定容器的粗等级条项的数量降至一个阈值以下,在该阈值点上服务器可以切换回在细等级上管理该特定容器的列表。根据备份事务组织该引用列表可以进一步减少列表中条项的数量,并且响应于备份事务添加到系统中或从其中删除而减少需要处理列表的处理时间。鉴于以下本文提出方法的详细描述,这些以及其他特征和优点对本领域的普通技术人员将变得显而易见。附图简要说明通过参考以下描述并结合附图,本方法和机制的上述和进一步的优点可以得到更好的理解,在附图中:附图说明图1展不了一种基于去重复的存储系统的一个实施例。图2展示了一个备份事务的一个实施例,该备份事务作为段对象存储在备份存储中的一个容器内。图3展示了文件及其相关段对象引用的一个实施例。图4展示了一个存储段对象的容器和一个容器引用列表的两个实施例。图5展示了具有粗和细等级条项的一个面向文件的引用列表的一个实施例。图6展示了一种用于维护存储容器引用列表的方法的一个实施例。图7展示了在第一删除操作之后的一个引用列表的一个实施例。图8展示了在第二删除操作之后的一个引用列表的一个实施例。图9展示了一个面向备份的引用列表的一个实施例,该列表具有用于备份事务的条项。图10是一个总体流程图,该流程图展示了一种用于在文件添加或删除操作之后更新引用列表的方法的一个实施例。图11是一个总体流程图,该流程图展示了一种用于更新引用列表的方法的一个实施例。详细说明 在以下描述中,给出了很多具体细节以透彻理解本文提出的方法和机制。然而,本领域普通技术人员应当认识到没有这些具体细节也可以实施各种实施例。在一些示例中,并未详细示出众所周知的结构、部件、信号、计算机程序指令以及技术,以避免混淆本文所述的方法。应当认识到为了进行简单而清晰的解释,图中所示的元素不一定按照比例绘出。例如,可以相对于其他元素而放大一些元素的尺寸。另外,在认为适当的时候,参考号在图例之间重复以表示相应的元素。图1展示了一种基于去重复的存储系统100的一个实施例。该基于去重复的存储系统100包括客户端110、120和130,这些客户端代表任意数量的移动或静态客户端。尽管该图例将两个桌上计算机和一个膝上计算机的示例展示为客户端,但包括个人数字助理、蜂窝电话、智能电话、数字相机、摄像机、无线阅读装置以及能够发送和接收数据的任意其他类型电子装置的其他客户端装置是可能的并且是可以设想的。如图1所示,客户端连接至网络140,通本文档来自技高网...

【技术保护点】

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

【专利技术属性】
技术研发人员:F·郭
申请(专利权)人:赛门铁克公司
类型:
国别省市:

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

1