、数字相机、摄像机、无线阅读装置W及能够发送和接收数据的任意其他类 型电子装置的其他客户端装置是可能的并且是可W设想的。如图1所示,客户端连接至网络 140,通过该网络它们还连接至去重复服务器150。该去重复服务器150可用于各种不同目 的,例如提供客户端110、120和130访问共享数据和备份关键任务数据。
[0031] 通常,去重复服务器150可W是任意类型的物理计算机或计算装置。去重复服务器 150可W包括总线,该总线可W将服务器150的主要子系统或组件相互连接,例如一个或多 个中央处理单元(CPU)、系统存储器(随机访问存储器(RAM)、只读存储器(ROM)、闪速RAM 等)、输入/输出(I/O)装置、永久存储装置(例如硬盘)、W及通常包含在计算机中的其他外 围装置。去重复服务器150可W具有分布式架构,或它的所有组件可W集成为一个单一单 元。去重复服务器150可W管理运行软件进程和应用程序的操作系统,并且软件可W运行在 服务器的CPU上并且可W存储在服务器的存储器中。另外,该基于去重复的存储系统100可 W包括一个或多个去重复服务器150。
[0032] 去重复服务器150还可W连接至备份存储160,在该存储器上可W存储客户端110、 120和130的数据。备份存储160可W包括不同类型的一个或多个数据存储装置,例如硬盘驱 动器、光盘驱动器、磁盘驱动器、可换式磁盘驱动器和其他驱动器。备份存储160可W存储引 用列表170,并且引用列表170可W由去重复服务器150来管理。在另一个实施例中,引用列 表170可W存储在去重复服务器150的存储器中。在又一个实施例中,引用列表170可W由一 个实体而非去重复服务器150来管理和存储。引用列表170可W为去重复服务器150提供一 种途径,W跟踪客户端110、120和130的多少个文件或备份事务正在使用备份存储160中存 储的段对象的每一个。
[0033] 在一个实施例中,引用列表170可W包含在备份存储160中存储的容器的粗等级条 项。容器可W是与文件系统的可变尺寸部分相关联的逻辑实体,该文件系统包括数据存储 的多个已分配单元。另外,容器可W映射到备份存储介质中的物理单元。对于备份存储介质 中的每个容器,引用列表170可W包含用于每个独立文件的不同的粗等级条项,该独立文件 引用了在该特定容器内存储的多个段对象的一个或多个。因此,容器在引用列表中的粗等 级条项的数量可W等于引用该容器内的至少一个段对象的不同文件的数量。在另一个实施 例中,引用列表还可W包含用于容器中存储的段对象的细等级条项。对于在容器内存储的 每个段对象,引用列表可W包含引用特定段对象的每个文件的细等级条项。因此,段对象在 引用列表中的细等级条项的数量可W等于引用该段对象的不同文件的数量。
[0034] 连接至网络140的客户端的一个或多个还可W用作其他客户端的服务器。本文描 述的方法可W在各种网络中使用,运些网络包括局域网(LAN)(例如W太网、光纤分布式数 据接口(F孤I)网、令牌环网、W及基于电气与电子工程师协会(IE邸)802.11标准(Wi-Fi)的 无线局域网(WLAN))、和广域网(WAN)(例如互联网、蜂窝数据网)、W及其他数据通信网络的 组合。本文描述方法所服务的网络还可W包含多种备份存储介质160,运依赖于每个特定网 络的独有的存储和备份要求。与备份存储160相关联的存储介质可W根据各种存储架构来 实施,运些架构包括但不限于附网存储环境、存储区域网络(SAN)、W及直接连接至去重复 服务器150的磁盘组合。
[0035] 客户端110、120和130可W在网络140上向去重复服务器150发送数据。数据可W采 用数据段的形式来发送,运些数据段通过将客户端110、120和130上存储的数据分块为一个 或多个预定尺寸的块来创建。在不同的实施例中,客户端可W包括协助备份操作(例如,备 份代理)的软件。在一些实施例中,去重复服务器150可W对接收到的数据进行去重复。去重 复通常设及确定接收到的数据段是否已经存储在备份存储160中。如果该数据段已经存储 在备份存储160中,接收到的数据段可W舍弃,并且可W在适当的位置使用已经存储的数据 段(也称为段对象)的指针。W此方式,去重复服务器150可W争取在备份存储160中只保留 任意段对象的一个单一备份。在其他实施例中,去重复过程可W在数据段发送到去重复服 务器150之前进行,运样只有新的数据段可W发送到去重复服务器150,并且可W在客户端 110、120和130上删除所有冗余数据段。基于去重复的存储系统100被示为包括多个客户端 和一个服务器,但在替代实施例中,客户端和服务器执行的功能可W由对等配置中的节点 来执行,或由客户端、服务器和节点的组合来执行。
[0036] 在其他实施例中,数据还可W作为完整的数据文件、作为从镜像文件或卷拷贝的 多个数据文件、作为虚拟机磁盘文件(VMDK)、作为虚拟硬盘(V皿)、作为SYMANTEC? BackupExec软件产品创建的磁盘镜像文件(.V2I)、作为.TAR档案文件(该文件进一步包括 将数据文件存储为原始磁盘分区的VMDK文件)、或作为W其他方式可由客户端110、120和 130格式化的文件从客户端110、120和130发送至去重复服务器150。
[0037] 现在参见图2,图中示出了一种基于去重复的存储系统。客户端110通过网络140连 接至去重复服务器150。去重复服务器150连接至备份存储160,备份存储在逻辑数据存储容 器210中将引用列表170和客户端110的数据存储为段对象231-239。在容器中可W存储任意 数量的段对象。另外,段对象231-239的尺寸可变。在另一个实施例中,段对象231-239的尺 寸可W相同。
[0038] 客户端110具有一组文件241-244,该组文件构成一个单一备份事务250,客户端 110可W将该备份事务发送至去重复服务器150W便存储在备份存储160中。在从客户端110 发送至去重复服务器150之前或之后可W将文件241-244分块为不同大小的数据段。另外, 运些数据段可W由客户端110或去重复服务器150进行去重复。在一个实施例中,在一个单 一备份操作中备份事务250可W包括由一个单一客户端备份的所有文件。在另一个实施例 中,备份事务250可W包括来自一个单一客户端或来自多个客户端的多个文件。在又一个实 施例中,备份事务250可W包括至少部分基于备份存储介质160中的段对象的临近性而集合 在一起的多个文件,运些段对象由多个文件引用。将文件组成为备份事务的其他分组方法 是可能的并且是可设想的。
[0039] 去重复服务器150可W将从备份存储160中的备份事务250创建的去重复数据段存 储为段对象231-239。去重复服务器150可W创建容器210W便存储段对象231-239。去重复 服务器150还可W在备份存储160中创建附加容器。在一个实施例中,容器全部可W具有相 同的大小。在另一个实施例中,容器可W具有不同的大小。
[0040] 现在转至图3,图中示出了一组文件260和相关段对象引用270。文件241-244被示 为它们将从方框260中的段对象231-239来重构。客户端110(图2)的文件241-244可W分块 为数据段,然后运些数据段可W在备份存储160(图2)中存储为段对象231-239。每个段对象 231-239可W由多于一个的文件来引用。
[0041 ] 在所示的示例中,文件241可W包括或从5个段对象重构:231、2%、235、236^及 237。文件242可W从7个段对象重构:231、233、234、236、237、238^及239。文件243可^从6 个段对象重构:231、232、234、235、237^及238。文件244可^从4个段对象重构:231、232、 233W及234。段对象中的大部分由4个文件241-244至少一次地引用,但每个段对象只有一 个备份存储在容器210(图2)内的备份存储160中,从而减少了需要存储4个文件241-244的 总存储容量。
[0042] 在图3中还示出了段对象引用270,每个段对象231-239具