利用服务器保存客户端数据的方法及服务器的制造方法

文档序号:6486357阅读:202来源:国知局
利用服务器保存客户端数据的方法及服务器的制造方法
【专利摘要】本发明公开了一种利用服务器保存客户端数据的方法及服务器。用于保存来自第一客户端的数据的方法,所述第一客户端包括在包括与服务器相通信的一个或多个客户端的系统中,所述服务器对来自所述一个或多个客户端的数据执行备份操作,所述数据被组编在备份分组中,该方法包括以下步骤:发送信号,该信号指示应生成单次快照;接收一个或多个备份分组的列表;根据接收的一个或多个备份分组的列表,创建已修改的备份分组列表,所述已修改的备份分组列表标识出在快照的创建中使用的备份分组,其中,所述已修改的备份分组列表包括启动备份分组和终止备份分组;发送所述已修改的备份分组列表;以及接收指示快照创建是否成功的信号。
【专利说明】利用服务器保存客户端数据的方法及服务器[0001]本申请是申请日为2006年6月29日、申请号为200680031467.6、发明名称为“利用客户端应用程序的单次客户端快照的创建”的中国专利申请的分案申请。【技术领域】[0002]本发明涉及用于备份数据的系统及方法。更具体地,本发明的实施例涉及利用单 次客户端快照备份及恢复数据的系统及方法。【背景技术】[0003]在当今很多个人及企业的相互作用行为是数据驱动的社会中,数据可由于例如系 统故障、病毒、断电等各种事件而变得容易被丢失或破坏。由于对利用计算机和网络执行重 要的企业和个人活动的依赖性日益增加,数据备份变成计算机网络的重要特征。任何访问 计算机和/或网络的人都期望可以轻易、精确并可靠地存取数据。当计算机或网络必须“停 机(down)”以备份或恢复丢失的数据时,停机时间可严重影响个人和企业的业务处理。对 无中断存取数据的需求相当于对可满足这种提供数据和服务需求的软件和硬件的需要。[0004]传统上通过利用软件来实现数据备份和恢复,其中该软件备份数据并从备份拷贝 中恢复数据。随着数据量持续增加,数据的备份和恢复变得越来越复杂。当前无法将千兆 字节的数据从一个目录快速转移至另一个目录,并且出于备份目的使数据目录离线也不是 一个有吸引力的选择。[0005]除了备份文件系统之外,备份例如应用程序和服务程序的其它类型数据变得更有 必要。然而,应用程序和服务程序通常在备份启动时已打开文件。利用传统的系统一般无 法有效地备份已打开的文件,并且往往在备份操作中跳过已打开的文件。因此,往往需要额 外的应用程序来帮助处理已打开文件的备份,并管理在备份中被跳过的文件的备份日志。[0006]操作系统对备份数据的软件和系统提出另一挑战。操作系统的复杂性通常需要操 作系统被备份成逻辑单元以保存系统或客户端的状态。如果从部分或不完全的备份中恢复 操作系统,则操作系统的部分备份可能导致不一致性或系统故障。换句话说,备份文件系统 本身并不会有效备份系统的状态,并可能导致恢复时的错误。操作系统通常与数据库或其 它数据目录一起被使用,其中在保存系统状态时必须备份数据库和其它数据目录。另外,操 作系统与应用程序和服务程序一样通常是跨计算机系统分布的,这个事实使得数据的有效 备份和恢复变得复杂。[0007]对提供无中断服务的期望与增加的存储需求相结合产生了对用于快速备份数据 并最低限度地中断应用程序和服务程序的系统和方法的需要。
【发明内容】
[0008]本发明提供一种利用服务器保存客户端数据的方法及服务器,以利用单次客户端 快照快速备份及恢复数据,并最低限度地中断应用程序和服务程序。[0009]本发明提供一种用于保存来自第一客户端的数据的方法,所述第一客户端包括在包括与服务器相通信的一个或多个客户端的系统中,所述服务器对来自所述一个或多个客 户端的数据执行备份操作,所述数据被组编在备份分组中,该方法包括以下步骤:[0010]发送信号,该信号指示应生成单次快照;[0011]接收一个或多个备份分组的列表;[0012]根据接收的一个或多个备份分组的列表,创建已修改的备份分组列表,所述已修 改的备份分组列表标识出在快照的创建中使用的备份分组,其中,所述已修改的备份分组 列表包括启动备份分组和终止备份分组;[0013]发送所述已修改的备份分组列表;以及[0014]接收指示快照创建是否成功的信号。[0015]本发明提供一种服务器,在包括与服务器相通信的一个或多个客户端的系统中, 所述服务器存储来自所述一个或多个客户端的数据的备份拷贝,服务器包括:[0016]备份/恢复应用程序的服务器组件,其中,所述服务器组件配置成:[0017]发送信号,该信号指示应生成单次快照;[0018]接收一个或多个备份分组的列表;[0019]根据接收的一个或多个备份分组的列表,创建已修改的备份分组列表,所述已修 改的备份分组列表标识出在快照的创建中使用的备份分组,其中,所述已修改的备份分组 列表包括启动备份分组和终止备份分组;[0020]发送所述已修改的备份分组列表;以及[0021]接收指示快照创建成功的信号。[0022]通过使用相同的快照基于相同的时间点执行备份,本发明使得跨客户端系统的已 备份数据是一致并同步的,从而能够有效实现快速备份数据并最低限度地中断应用程序和 服务程序。【专利附图】

【附图说明】[0023]为了进一步阐述本发明的上述和其它特征,将参考图解于附图中的特定实施例提 供本发明的详细描述。需要理解的是,这些附图仅描绘本发明的典型实施例,并不因此被认 为限制本发明的范围。将通过利用附图的附加说明和细节描述和解释本发明,其中:[0024]图1说明用于实施本发明实施例的示例性环境;[0025]图2说明用于执行备份和/或恢复操作的示例性系统;[0026]图3A说明用于组编备份分组的示例性用户界面;[0027]图3B说明用于组编备份分组的另一示例性用户界面;[0028]图3C说明恢复操作的示例性用户界面;[0029]图3D说明恢复操作的另一示例性用户界面;[0030]图4A说明用于创建并使用单次快照的示例性流程图;[0031]图4B说明基于图3A所说明的备份分组选择的备份分组的示例性已修改列表;[0032]图4C说明基于图3B所说明的备份分组选择的备份分组的示例性列表;[0033]图5说明用于生成快照的系统的实施例;[0034]图6是用于生成快照的示例性流程图;[0035]图7是用于备份数据的示例性流程图;以及[0036]图8是用于恢复数据的示例性流程图。【具体实施方式】[0037]本发明的实施例涉及用于选择性备份和/或恢复数据的系统及方法。如在此使用 的,术语“数据”可包括但不限于可存储于客户端的一个或多个存储设备上的目录(例如卷、 文件系统等)、用户数据、系统数据、应用程序、服务程序、操作系统等。备份或恢复操作系统 可包括备份或恢复在此定义或本领域技术人员可理解的任何数据。可将数据组编在不必对 应特定存储设备的逻辑目录中。即使数据可存在于多个不同的存储设备上,仍可将数据组 编在逻辑目录和子目录中,从而使得用户可轻易定位信息。在一个示例中,在Windows? 操作系统中,主目录被称为卷(volume)。卷包括例如C驱动器和D驱动器的位于客户端上的 典型存储卷,即使C或D驱动器本身可包括多个硬盘。用户不必知道从哪个特定磁盘获得信 息。因此,存在目录以帮助用户完全漫游客户端上的数据。可存在客户端可通过网络访问的 其它目录。另外,将进一步描述如下,目录和子目录可组编在备份分组(backup grouping) 中,可选择备份分组来执行备份或恢复与该备份分组相对应的数据。还可存在特别针对客 户端特定功能的其它目录。例如,在Windowsdy操作系统中,可将涉及保存客户端操作系 统状态的特定数据组编在操作系统状态卷(在此被称为VSS卷)。进一步,VSS卷可包括可用 于恢复客户端数据的其它应用程序和/或服务程序。对于VSS卷,可涉及多于一个的存储 设备,且VSS卷的数据可存在客户端计算机的不同存储设备中,例如C驱动器、D驱动器和 /或其它驱动器。因此,VSS卷仅仅是用于定位数据的逻辑组织,而并不表示存储设备的实 际设定。然而,在一个实施例中,可将属于VSS卷的所有数据置于单个独特的存储设备中, 而不是分布在客户端上的多个存储设备中。在此利用Wi n (lows?操作系统作为示例来描 述本发明。然而,需要理解的是,用于备份及恢复客户端的系统和方法也可应用于其它操作 系统。例如,其它操作系统可能典型地期望备份操作系统状态的一些或所有方面。另外,其 它操作系统利用目录或文件系统来帮助用户完全漫游存在于客户端的数据。因此,术语“目 录”可与术语“卷”或“文件系统”交换使用,以表示逻辑上组织客户端上数据的任何方式。[0038]本发明的系统和方法利用单次快照来实现客户端数据在单个时间点 (POint-1n-time )的时间点拷贝。快照是一个或多个卷的原始数据或内容的只读时间点复 制或表示,从而可在另一个本地或远程存储设备上做出实际拷贝。单次快照允许在单个时 间点同时备份跨多个卷和/或子目录的客户端中的一些或所有数据,从而确保当用户恢复 或存取备份数据时,客户端的备份数据均同步至特定的时间点。本地或远程存储设备上的 时间点拷贝包括先前已打开文件的有用备份,同时还提供对操作系统状态的备份。这使得 操作系统可被恢复为逻辑单元,而不破坏系统的操作系统状态。本发明的实施例还使得可 选择性备份和/或恢复客户端或系统组件。[0039]典型地,用户将选择涉及待备份的客户端或计算机的卷的所有备份分组。在此情 形下,单次快照捕获客户端或计算机的卷的所有数据在单个时间点的表示,从而使得,例 如,操作系统状态还与单个时间点一致。然而,指定不是所有客户端数据需要被备份的用户 可选择所有备份分组中部分。这对用户知道改变仅出现在某些备份分组中的情形非常有 用,而不必执行整个客户端数据系统的备份。通过访问与备份/恢复应用程序通信的用户 界面,用户可选择一个或多个备份分组。备份分组可包括标识出待备份项的信息。因为标识在备份分组中的项可分布在多个卷中,本发明的实施例可确保在单次快照中包括对应的 卷并适当备份对应的数据,将进一步描述如下。[0040]当执行备份时,处理或控制待备份数据的存储的系统请求客户端暂时冻结或暂停 操作。在暂停操作期间,创建数据的单次快照。在创建单次快照之后,应用程序和/或服务 程序被指向恢复操作,同时从单次快照执行备份。暂停操作使得已打开的文件被捕获并反 映在单次快照中。因此在备份时并没有跳过已打开的文件。此外,在创建单次快照之前,通 知待备份的服务程序或应用程序,并给出暂停和准备备份的时间。这样,备份/恢复应用程 序确保已暂停业务且待备份的数据处于一致状态。[0041 ] 1、概述用于备份数据的示例性环境[0042]图1说明可适用于本发明的用于创建网络数据快照及备份/恢复网络数据的示例 性系统。虽然根据本发明可用图1的系统来备份数据,但本发明的实施例也可在具有待备 份的数据的其它网络中实现。图1示出了服务器102,其与由客户端104、106和108表示的 客户端关联。各客户端104、106和108可具有在存储卷(storage volume)上的数据,所述 存储卷相对于各自客户端是本地和/或远程的。存储卷表示客户端以及应用程序和服务程 序的一个或多个卷或者驱动器。例如,客户端108具有包含数据(包括应用程序、服务程序、 和/或卷)的存储器(stOrage)109。此外,服务程序表示一种应用程序类型,并因此在此可 被称为应用程序。[0043]各客户端104、106、和108表示具有待备份数据的系统。各客户端可相对简单(例 如台式计算机)或相对复杂(例如大型数据库服务器或服务器群中之一)。客户端还可是网 络上的节点或存储区域网络(SAN)上的存储设备。各客户端104、106、和108还可在不同于 服务器102的操作系统或平台下操作。在备份操作的环境中,客户端可在服务器102的控 制下操作。[0044]如在此所使用的,术语“用户”指的是操作服务器102的人(例如管理员)。或者,用 户可能指的是在客户端104、106和/或108处的人。这两种用户都有能力启动请求备份或 恢复,即使可以理解的是,服务器102可具有不适用于客户端104、106或108的附加功能。 用户可建立时间表,用于定义服务器102自动对客户端104、106、和/或108的数据执行备 份操作的时间。不过客户端上的用户还可启动专门的备份操作和恢复操作。在图1的示例 中,服务器102已访问存储客户端数据的一个或多个拷贝的备份存储器110。备份存储器 110可位于服务器102中,或者与服务器102不同且相互分开。数据114表示已由服务器 102备份在备份存储器110上的数据。[0045]服务器102 —般控制和指导所有服务器启动的备份操作或进程。客户端控制专门 的备份和恢复操作。在一个实施例中,利用备份分组来备份数据。然而,即使在使用备份分 组的情形下,仍利用客户端系统的单次快照来执行备份分组的备份。[0046]在希望将操作系统状态的关键组件(critical component)备份并恢复为一致单 元的情形下,单次快照是有用的。换句话说,操作系统可包括在任何指定时间定义操作系统 状态的文件或数据。当服务器102执行系统备份时,确保利用相同的快照来备份与操作系 统有关的适当备份分组,以确保在客户端的一致时间点备份操作系统。除了具有应被备份 成一致单元的组件的操作系统特定应用程序和服务程序之外,客户端还可包括其它应用程 序或服务程序。例如,如上所述,在Windows?操作系统中,这些应用程序和服务程序连同操作系统状态组件可被置于VSS卷中。然而,可以以任何决定于设计考虑的合适方式组编 和/或分组客户端数据。[0047]再次参考图1,服务器102还存储并管理同时存在服务器本身和备份存储器110上 的客户端文件索引112和介质卷116。客户端文件索引112是备份数据项的索引。介质卷 116是备份卷的索引。在此,客户端文件索引112和介质卷116统称为“联机索引”。联机 索引一般在备份操作完成之后存储于备份存储器110上。然而,将能理解的是,为了在恢复 期间能够恢复目录和项,其它操作系统可使用类似的用于保持被备份的目录和项的数据结 构。[0048]2、用于创建单次快照的示例性系统[0049]简要参考图2,其示出了一种用于创建单次快照并执行备份和恢复操作的示例性 系统。如其所示,备份/恢复应用程序202启动备份/恢复操作。如在此所使用的,该备份 /恢复应用程序也可被称为请求装置(requestor),或换句话说是请求备份或恢复操作的 应用程序。通过备份/恢复应用程序202,用户可选择所有或特定备份分组来进行备份或恢 复。例如,在图2的实施例中,备份/恢复应用程序202可具有服务器组件202A和客户端 组件202B,服务器组件202A和客户端组件202B相互通信以实现备份或恢复功能。虽然服 务器组件202A和客户端组件202B是整个备份/恢复应用程序202的组成部分,但将能理 解的是,为了使得服务器102和客户端108能够执行各自的功能,服务器组件202A和客户 端组件202B必要时是不同的。在备份/恢复应用程序202的组成部分被分成两部分或甚 至三部分的情形下,将能理解的是,图2所示组件的排列可以不同,且图2的系统是以示例 性而不是限制性的方式被提供。在不太典型的实施例中,备份/恢复应用程序202可仅存 在于服务器(在此情形下,服务器可具有客户端的特性)或仅存在于客户端(在此情形下,客 户端可具有服务器的特性)。如图2所示,备份/恢复应用程序202与该备份/恢复应用程 序访问的备份存储器204相互通信,以执行备份和/或恢复功能。[0050]客户端组件202B与在一个实施例中置于客户端的快照管理器206相互通信。快 照管理器206启动快照生成器208,以此启动单次快照的创建。必要时,快照生成器208请 求暂停发生备份的系统(例如客户端108)上的操作,直到创建了快照。快照生成器208与 包含物理数据212的存储器210通信,从物理数据212创建单次快照214。[0051]3、用在备份/恢复数据中的示例性备份分组[0052]如上所述,待备份的客户端数据或项可包括但不限于卷、用户数据、系统数据、应 用程序、服务程序、操作系统、和/或诸如此类。可将客户端数据组编在目录或卷中,所述 卷还具有子目录层级并显示在与备份/恢复应用程序通信的用户界面上。另外,所述层级 使得用户易于指定特定的卷或子目录来备份。还可将所述卷和子目录组编在术语“备份分 组”中,所述备份分组在此被定义为数据或项的集合,其中所述数据或项在服务器102和特 定客户端(例如客户端108)之间的备份对话中被备份。因此备份分组可包括整个卷、整个 卷的部分、或分布于一个或多个卷上的数据,所述备份分组包括但不限于文件组、整个文件 系统、例如数据库或操作系统信息的应用程序生成数据等。备份分组还可包括应用程序,或 服务程序,或应用程序、服务程序的组件,和/或分布在一个或多个卷上的操作系统。为了 说明其中备份分组包括位于多于一个卷的信息的示例,备份分组可包含涉及操作系统状态 的信息,但该信息位于不同的卷上。因此,术语备份分组被用作编制工具,用于标识并定位可逻辑上归属在一起的文件。[0053]一些操作系统包括与应用程序或服务程序一起操作的写入组件,以在存储设备上 存储信息。例如,在Windows?操作系统中,写入组件被称为“写入程序”。因此,术语“写 入程序”和“写入组件”将可交替地用来指示提供此功能的任何组件。进一步,写入组件可 与包括快照生成硬件和软件的备份/恢复硬件和软件相互作用。一般而言,写入程序与至 少一个待备份的应用程序或服务程序相对应。备份分组中与写入程序相关的数据可进一步 设置于不同的卷、子目录等。例如,写入程序可存储数据至多于一个的卷。另外,一些卷并 与任何写入程序无关。因此,有可能备份分组可与这样的信息相对应,该信息存储于与写入 程序相关的卷上、与任何写入程序无关的卷上、或这两者上。客户端的一个或多个文件可能 涉及操作系统状态。在一个实施例中,如上所述,可将备份分组用来组编涉及客户端的操 作系统状态的文件。例如,Microsoft?提供的卷映射拷贝服务程序(Volume Shadow Copy Service),并可配置VSS卷结构用来备份运行在WindowsO上的客户端的操作系统状态。另 夕卜,如上所述,VSS卷包括其它应用程序和/或服务程序,所述应用程序和/或服务程序包 括写入程序。VSS卷提供编制工具以备份涉及操作系统状态的数据。保存关于客户端的操 作系统状态的备份分组,使得用户能够恢复他们的操作系统且需要的话将其返回至先前的 状态,这在用户丢失操作系统驱动器或整个机器的情况下是重要的。否则,用户将必须重建 他们的系统,重新配置服务程序并重新安装和重新配置应用程序。[0054]在此描述的实现与逻辑VSS卷结合的卷映射拷贝服务程序的Windows?操作系 统,仅为组编涉及客户端数据的备份分组的示例性方式。其它操作系统平台可使用类似或 不同的方法来为涉及客户端的数据组编备份分组。然而,利用Windows?操作系统的示 例,图3A和3B示出了两个用户界面示例302A和302B,各自具有不同的组编客户端的备份 分组的方式。用户界面302A、302B可与备份/恢复应用程序相关,这在下面将进一步描述。 用户可与用户界面302A或302B交互,以选择待保存的特定备份分组。或者,用户可简单列 出待备份的备份分组,而不使用用户界面。进一步,也有可能用户选择“所有”备份分组需 备份。实际上,在用户考虑一致的备份操作系统状态的情况下,用户将可能选择所有备份分 组(至少选择涉及VSS卷的那些)需备份。[0055]图3A说明包括多个卷的界面302A,各卷由特定的字母数字字符标识并通常被称 为驱动器(例如,A:驱动器,C:驱动器,D:驱动器等等)。还配置多个VSS备份分组328用于 备份/恢复功能。如图3A所示,涉及系统的某些卷的备份分组326和涉及操作系统状态的 备份分组328在相同的树中。与此对比,在图3B中,涉及主VSS卷的备份分组354被安排 在树350下。[0056]参考图3A作为示例,但该示例也可应用于图3B,备份分组328包括备份分组306、 308、310、312、314、和316,这些是系统备份分组并可包括操作系统写入程序和写入程序组 件。由于系统备份分组328的很多组件可具有相关性,因此优选地,用户选择所有备份分组 328 (即,涉及保存客户端的操作系统状态的那些备份分组),从而可为所有备份分组创建单 次快照,并可利用单次快照执行对每一个备份的保存。利用相同的快照可实现对所有系统 备份分组的备份。这确保可以以与恢复所需一致的方式来恢复客户端的操作系统状态。然 而,如上所述以及如图3A所反映的,用户可选择涉及客户端的操作系统状态的部分备份组 需备份,并利用单次快照备份这些被选择的备份分组。[0057]在一个实施例中,备份分组328、354是动态构成的,且可部分基于哪些写入程序 在客户端上运行来动态确定备份分组328、354的内容。当列举或标识出客户端的写入程序 时,相同类型的写入程序变成特定备份分组中的写入程序。因此,与特定备份分组相关的写 入程序具有相同的类型。例如在图3A中,写入程序324均具有相同的类型并被包括在备份 分组310中。如果特定应用程序或服务程序的写入程序不可用(即,不运行或不存在的),则 适当的文件可在为备份选择对应的卷时经由文件系统而被备份。对于给定的备份操作,备 份分组中的一些可包括运行中的写入程序,而其它可能不包括任何写入程序。[0058]上述关于写入程序的讨论不应被解释为要求写入程序与每一个卷或备份分组相 关。有可能卷与任何写入程序无关。如果与备份分组相对应的信息位于与写入程序无关的 卷上,则还有可能备份分组与任何写入程序无关。卷也可与写入程序相关,但与任何涉及操 作系统状态的备份分组无关。[0059]将能理解的是,本发明并不要求每个单次时间实际备份全部备份分组。也就是说, 用户可指定某些备份分组需备份。因此,在用户选择所有备份分组中部分需备份的情况下, 图3A和3B的逻辑结构可能最终不同。例如,图3A的结构提供某些涉及操作系统状态的待 组编备份分组作为主目录,使得它们可被选择。如图3A所示,如果用户想要的话,用户可选 择或列出系统驱动器D、VSS系统引导程序、和VSS用户数据需备份。与此对比,在图3B中, 将所有VSS备份分组组编成一个主VSS卷下的子目录,使得用户可选择整个VSS卷。例如, 如图3B所示,根据具体情况而定,用户可选择或列出系统C驱动器、系统D驱动器、和VSS 卷需备份。通过选择VSS卷,包括涉及操作系统状态的所有备份分组的整个操作系统状态 目录将在每次选择VSS卷时被备份。图3B的结构更方便用户易于利用单次选择(即VSS:) 标识出涉及操作系统状态的所有备份分组,因为在一些情况下希望确保操作系统状态在每 次发生操作系统状态数据备份时是一致的。然而,如果想要的话,用户还可选择涉及操作系 统状态的子分组,而不必选择所有操作系统状态子分组。[0060]不管用户是选择所有备份分组需备份或是仅选择一些备份分组需备份,都可从与 所选择的备份分组相对应的卷创建单次快照。因此,对于图3A的示例,可从C驱动器卷和D 驱动器卷创建单次快照。另外,在单次快照中包括与VSS系统引导程序备份分组、VSS系统 文件集备份分组和VSS系统服务程序备份分组相对应的卷。在一个实施例中,与VSS备份 分组相对应的卷可实际上为C驱动器卷和D驱动器卷,从而在单次快照中不必包括附加的 卷。在另一个实施例中,还可指示除了与所选择的VSS备份分组相对应的那些卷之外的卷, 使得在单次快照中可包括附加的卷。对于图3B,可从C驱动器卷、D驱动器卷、以及与VSS 卷备份分组相关的卷(再次,其可对应位于例如C驱动器卷和D驱动器卷的已包括在单次快 照中的卷的信息)创建单次快照。在任一情况下,在创建单次快照之后,各备份分组的备份 进程可使用相同的快照,以从该快照形成备份操作。因此,所选择的备份分组(或整个客户 端系统,如果期望的话)的备份可反映在单个时间点的备份。[0061]如前述示例性流程所述,快照管理器206和快照生成器208启动单次快照,用于执 行任何备份分组的保存进程。相比传统备份程序提供的恢复,这提供了更一致的恢复。例 如,当安装一个新硬件时,通常还需要安装新的驱动器。一般说来,新的驱动器包含涉及其 操作的信息。该信息的一些存储在一个操作系统写入程序内,而另外的数据存储在可属于 其它写入程序的硬盘驱动器上的一个或多个文件中。该信息在需要时由操作系统存取,且对于驱动器正确工作是必需的。那些写入程序中存储驱动器数据的那个可在一个备份分组 中,而包含具有驱动器数据的文件的另一个写入程序可在不同的备份分组中。如果两个备 份分组均没有从相同的快照被保存,则该信息的一部分将可能不与其它部分同步。[0062]与此对比,本发明提出:对于在单个时间点创建与所选择的备份分组相对应的卷 的单次快照的情况,服务器102指导客户端108利用单次快照执行各备份分组的保存操作。 进一步,共享文件的备份分组确保在相同的时间点更新所共享的文件,这使遗漏重要信息 的可能性达到最小。因此,本发明提出,备份数据是基于由单次客户端快照提供的单一时间 点基准,从而使得实际上被备份的所选择的数据是从相同的时间点基准形成的。备份类型 可改变。例如,可对某些备份分组执行递增的备份。或者,可执行全备份。[0063]然而,在Windows.?操作系统实施例中,当包含写入程序的备份分组正被备份 时,通常执行备份分组中所有写入程序的全备份,以保存客户端的操作系统状态或保存正 被备份的应用程序或服务程序的状态。在一些示例中,备份分组的写入程序之一可能不被 备份。这可发生在,例如,当与该写入程序相关的数据未改变时。这样可改善备份的性能, 尤其是如果由该写入程序标识的应用程序大时。换句话说,避免备份未改变的大应用程序 可改善备份性能。然而,如果应用程序的数据已改变,则通常执行应用程序的全备份。[0064]图3C和3D进一步说明了用于选择性恢复在Windows?操作系统上运行的客户 端上数据的示例性用户界面。在图3C中,界面302C显示备份分组310和314已被选择用 于恢复。进一步,子分组例如在备份分组310中的写入程序324和组件313,可被选择用于 恢复,而不必选择整个备份分组310需备份。图3D说明与图3B的逻辑结构相对应的恢复 界面302D,但实质上具有与图3C的界面302C相同的功能和用途。[0065]4、用于创建单次快照的示例性方法[0066]参考图4A,现在将详细描述利用图2的示例性系统创建用于备份客户端数据的单 次快照的示例性流程。图4A说明在一个实施例中客户端和服务器如何交互,以创建单次 客户端快照。在步骤402,备份/恢复应用服务器组件202A在服务器102上启动。在步骤 404,服务器组件202A在客户端上启动备份/恢复应用客户端组件202B。在步骤406,客户 端组件202B为该客户端生成所有可能的备份分组的列表,并将该列表发送回服务器组件 202A。[0067]在步骤408,服务器组件202A接收备份分组的列表,从而用户可选择一个或多个 可用的备份分组需备份。如上所述,用户可选择所有备份分组或仅选择特定备份分组需备 份。如在此所使用的,术语“用户”是指做出哪些备份分组需备份的选择的任何人。因此, 用户可指操作客户端计算机的人,或经由服务器或其它图形用户界面操作客户端计算机的 管理员。用户可在备份前的任何时间点选择待保存的备份分组。例如,用户可决定选择预 先配置的备份组选择,相同的选择被用于一系列预先调度的备份。在一个实施例中,配置客 户端组件202B,使得所有备份分组被预先配置为在每次执行备份时进行保存。该实施例可 确保,每次执行备份时,在一致的基准点备份操作系统状态。然而,如上所述,还有可能用户 仅选择某些备份分组需备份,并在每次执行备份之前执行该选择进程。[0068]在步骤409,服务器组件202A可创建包括由用户选择的已选择备份组的备份分组 的已修改的列表。已修改的列表还包括在列表开始处的启动备份分组512以及在列表结束 处的终止备份分组514。已修改的列表简单说明了所选择的备份分组的处理顺序,且本发明并不限于创建实际的备份分组列表。在另一个实施例中,用户可首先基于可能在客户端可 用的潜在备份分组列表来选择备份分组,然后将该选择与在客户端可用的实际备份分组列 表进行比较。其它变化也是可能的。[0069]图4B不出了备份分组的已修改列表500的一个不例,该已修改的列表500在 Windows?操作系统的示例性实施例中可利用标识在图3A中的选择创建于服务器组件 202A处。在一个实施例中,备份分组的已修改列表总是包含在列表开始处的启动备份分组 512和在列表结束处的终止备份分组514。例如,如图3A所示,用户已选择备份分组502、 504、506、508、和510用于备份。除了所选择的备份分组502、504、506、508、和510之外,还 在列表的开始处和结束处包括启动备份分组512和终止备份分组514。需要注意的是类似 地,图4C示出了可利用图3B的用户界面302B上所示的选择来创建备份分组的已修改列表 516。在此情形下,已修改的列表516可包括启动备份分组512,所选择的备份分组518、520 和522,以及终止备份分组514。当然,已修改的列表可根据特定操作系统如何组编备份分 组而改变。[0070]启动备份分组512和终止备份分组514是伪备份分组,因为它们是待发送给客户 端组件202B的第一个和最后一个备份分组,但并不依赖于任何特定的卷。它们被用来创建 和删除单次快照以及保持所创建的快照。将能理解的是,优选地,已修改列表500的创建对 用户是透明的。[0071]在任何情况下,在步骤410,服务器组件202A将备份分组的已修改列表发送给客 户端组件202B。在步骤412,通过发送已修改列表中的启动备份分组512,服务器组件202A 知道不发送任何其它备份请求至特定的客户端,而是等待直到从客户端组件202B接收到 单次客户快照的生成是成功还是失败的信号。如果单次快照的生成失败,则备份/恢复应 用程序202可使用缺省进程,用于分别生成每一个所选择的备份分组的快照,而并不是将 它们集合在单次快照中。[0072]在步骤414,客户端组件202B接收包含启动和终止备份分组512、514的已修改的 列表。在步骤416,通过启动备份分组512的执行来启动位于客户端的快照管理器206。[0073]在步骤418,客户端组件202B将已修改的列表传送至快照生成器208。在步骤420, 快照生成器208被启动,这将开始单次快照的创建。在等待来自快照生成器208的快照创 建完成的信号时,快照管理器206保持运行状态。[0074]在步骤422,通过根据标识在已修改列表中的备份分组项管理所有卷的标识,快照 生成器208统筹单次快照的创建。在一个实施例中,快照生成器208可包括拷贝集中的所有 已标识的卷并请求快照的创建。术语拷贝集用于指称待包括在单次快照中的卷的分组。拷 贝集可为应包括在单次快照中的卷的列表或其它标识。因为各操作系统不同地创建快照, 在此并不描述创建快照的细节,但利用示例性系统描述如下。一旦快照被创建,则快照与路 径名相关,从而使得备份/恢复应用程序可随后定位该快照。将进一步讨论如下,在创建单 次快照时,客户端组件202B暂停客户端108上的写入程序操作。另外,在一个实施例中,元 数据也与单次快照一起生成。[0075]如果快照是成功的,则在步骤423,快照生成器208将在创建单次快照时生成的元 数据添加至快照,以包括对执行保存或备份进程有用的附加信息。另外,为定位已修改的快 照文件创建文件名,无论该已修改的快照文件存储在客户端202B的任何地方。这将在以下详细描述。在步骤424,将快照创建成功的信号发送至服务器组件202A。这指示服务器组 件202A启动保存进程。在步骤425,该快照生成器设定一事件,该时间将被用于接收何时可 删除快照的信号。在步骤426,快照管理器206退出,而快照生成器208保持运行状态。快 照生成器208保持运行状态,直到所选择的备份分组的所有保存进程都完成,以及直到该 快照被删除。[0076]在步骤426,在退出之前,快照管理器206将已修改的快照文件名连同启动备份分 组512 —起返回给服务器组件202A,且在步骤428由服务器组件202A接收所述已修改的快 照名和启动备份分组。在一些实施例中,该动作可用于通知服务器组件202A单次快照创建 成功,而不创建单独的动作424。在任何情况下,已修改的快照文件名和启动备份分组512 的接收指示服务器组件202A现在可开始保存进程。[0077]在步骤429,服务器组件202A开始发送请求给客户端组件202B,以保存标识在已 修改的列表中的备份组。服务器组件202A还根据各保存请求发送已修改的快照文件的文 件名。在步骤430,客户端组件202B利用所选择的备份组和已修改的快照文件名开始各备 份分组的保存进程。执行各备份分组的保存进程(即备份)可根据备份/恢复应用程序而改 变,因此下面将详细描述示例性流程。然而,一般而言,备份/恢复应用程序利用已修改的 列表来标识应保存哪些备份组。[0078]决策框431表示服务器组件202A随后移动通过用户选择的其它备份分组。在一 个实施例中,决策框431查询目前的备份分组是否是最后的备份分组。如上所述,用户可 指定所有备份分组需备份或可仅选择特定的备份分组需备份。在任一情况下,服务器组件 202A顺序移动通过备份组列表,根据各备份分组保存请求发送已修改的快照文件名,从而 使得客户端组件202B知道从何处存取快照以恢复所需的数据。[0079]因此,服务器组件202A通过发送针对各所选择的备份分组的特有保存请求至客 户端组件202B来指导备份分组的保存。可选地,服务器组件202A可发送一个单独的保存 请求至客户端组件202B,以执行标识在已修改的列表中的所有备份分组的保存。在任一情 况下,快照生成器208在处理所有的保存备份分组的期间保持运行状态。在一个实施例中, 在完成对所选择的备份分组的保存之后,在步骤432,服务器组件202A发送请求至客户端 组件202B,以保存在步骤433接收到的终止备份分组514。接收终止备份分组514对于客户 端组件202B来说是这样的信号,即在步骤434,需要再次启动快照管理器206。在步骤435, 快照管理器206以信号表示由快照生成器208最初在步骤425设定的事件。在步骤436,设 定该事件使得快照生成器208删除当前快照。[0080]在步骤438,快照生成器208退出。在步骤439,快照管理器206发送终止备份分 组514至服务器组件204A。然后,在步骤440,快照管理器206退出并完成保存进程。在步 骤442,客户端组件202B退出。在步骤444,当服务器组件202A接收终止备份分组514时, 这以信号表示了备份进程的完成。在步骤446,服务器组件202A退出。[0081]本领域技术人员应能理解,上述示例性流程是以说明性而不是限制性方式提供 的,所述处理步骤和/或动作可依序重排以及组合或删除,并且,可由于决定于运行在客户 端上的操作系统平台和/或备份/恢复应用程序的设计考虑而添加其它动作。例如,不删 除单次快照,而可将现有的快照用作第二快照的基础。也就是说,在指针列表中保持针对在 获得第一快照和第二快照的时间之间产生的变化的指针。新的指针列表被用来更新第一快照,从而创建第二快照。[0082]如上所述,各种操作系统利用不同的系统和方法创建快照,同时还执行备份和恢 复。再次简要参考图2,快照214是,在精确的时间点包含于物理存储器212中的至少一部 分的精确表示。不同于可读取及写入的物理存储器212,快照214是只读的。[0083]在另一个实施例中,利用例如写时拷贝(copy on write)方法,快照214是物理存 储器212在两个时间点之间产生的变化的微分表示(differential representation)。在 第一时间点的原始拷贝包含物理存储器212在被新的变化重写之前的拷贝。当物理存储 器212发生变化时,可将指针置于变化的区域上,并将该指针保持在存储于物理存储器212 的指针列表中。利用该指针列表和原始拷贝,可创建快照214,其表示物理存储器212在创 建该快照的时间点的至少一部分。可利用系统提供装置(provider)、软件提供装置和/或 硬件提供装置生成单次快照。在此提供装置被广泛定义为创建并保持快照的硬件或软件。 系统提供装置的示例是具体用于特定操作系统的软件提供装置。例如,Windows?操作 系统具有缺省的用于创建快照的预安装的软件提供装置,但其它具有类似功能的操作系统 也可置于其上。软件提供装置在文件系统和备份/恢复卷管理器之间的软件层(software level)拦截I/O请求。因此,软件提供装置可为特别被保持以创建和/或保持快照的软件 应用程序。硬件提供装置通过与硬件存储适配器(例如,专用存储阵列)或控制器一起工作 来在硬件层管理快照。根据本发明的教导,任何合适的系统提供装置、软件提供装置、和/ 或硬件提供装置可被用来执行单次快照。另外,系统提供装置、软件提供装置、和/或硬件 提供装置可为备份/恢复应用程序的代码部分,从而使得可由相同的应用程序进行执行单 次快照的请求和单次快照的实际执行。据此看来,其它结构在该教导的启发下也是可能的。[0084]现在参考图5和6,描述了用于创建快照的示例性系统和方法,其为利用 W ι n dows?操作系统实现的系统的代表。将能理解的是,将以相同的附图标记指称与图2 中所描述相同的一些组件以及相同的元件。进一步,其它操作系统可使用类似或等效的组 件或者不同的组件来执行快照。在图5中,请求装置218启动操作系统的组件以创建快照。 请求装置218通常为请求获得快照的任何应用程序。在一个实施例中,请求装置218可为 备份/恢复应用程序202、快照管理器206、和/或快照生成器208。由于定义请求装置218 是什么并不是关键性的,而仅在于直接或间接地请求创建快照,因此将为了描述用于创建 快照和备份/恢复操作的示例性实施例而使用术语请求装置。[0085]请求装置218 (其在一个实施例中可以是快照生成器208)与映射拷贝(shadow copy)服务程序220通信,其中映射拷贝服务程序220是参与生成客户端的单次快照的操 作系统服务程序。在映射拷贝服务程序的情况下,快照有时也可被称为映射拷贝或虚拟卷。 拷贝服务程序220为请求装置218标识与所选择的备份分组相对应的数据位于哪些卷上。 如上所述,例如VSS卷可包括位于一个或多个卷上的数据,所述卷可包括或不包括在已修 改的列表中。拷贝服务程序220识别出所有应包括在单次快照中的卷。然后,请求装置218 在拷贝集中标识这些卷。[0086]在一个示例中,假设VSS卷的数据位于C驱动器和D驱动器上,且用户请求备份C 驱动器(与写入程序相关)、D驱动器(与写入程序相关)、G驱动器(与写入程序无关)、以及 VSS卷(与写入程序相关)。所产生的拷贝集将包括C驱动器卷、D驱动器卷和G驱动器卷。 由于VSS的信息已包含在C驱动器卷和D驱动器卷中,因此不要求在拷贝集中包括其它的卷。在另一个示例中,假设用户仅选择D驱动器、G驱动器和VSS卷需备份。拷贝集将包括 C驱动器卷、D驱动器卷和G驱动器卷。在该示例中,在拷贝集中包括C驱动器卷,这是因 为涉及VSS卷的信息包含在C驱动器上。进一步,在另一个示例中,用户可简单地选择VSS 卷(或其中的子分组)需备份。该拷贝集将包括包含涉及VSS卷分组的信息的任何卷,例如 C驱动器卷和D驱动器卷。最后,在一个实施例中,可在VSS卷中包括任何具有写入程序的 应用程序。然而,将能理解的是,VSS卷并不必然包括所有包括写入程序的应用程序和/或 服务程序,它们可包括在其它卷中。在这种情形下或在其中具有写入组件的应用程序或服 务程序不被组编在VSS卷等价物内的其它操作系统中,用户有可能仅选择以下备份分组, 所述备份分组可与任何写入程序相关或无关,但与任何VSS备份分组无关。拷贝集将因此 仅包括与这些备份分组相对应的这些卷。[0087]因此,前述示例被提供以说明可包括在拷贝集中的卷,即使该卷不是由用户最初 选择待备份的,这是因为另一个备份分组(例如VSS卷)可能为了被备份而需要涉及该卷的 信息。另外,与写入程序相关的卷(例如C和D驱动器)和与写入程序无关的卷(例如G驱动 器)均可包括在拷贝集中。仅以举例的方式提供C、D和G驱动器与写入程序相关或无关或 者具有VSS信息存储于其上的示例,且应能明白的是,在其它设计结构中,C和D驱动器不 必与写入程序相关、而被描述为与写入程序无关的G驱动器实际上可与写入程序相关,或 者它们可能不具有操作系统状态信息存储于其上。进一步,虽然到目前为止已将拷贝集描 述为包括整个卷或主目录的指示,但应能理解的是,只要保存备份分组所需的信息包含在 拷贝集或单次快照中,可在拷贝集中并从而在单次快照中包括整个卷或主目录中的部分。[0088]标识与备份分组相对应的卷可要求拷贝服务程序220列举出涉及各备份分组的 写入程序,以确定哪些写入程序在客户端上是运行状态的。拷贝服务程序220与多个写入 程序222-224通信。写入程序222-224与至少一个应用程序或服务程序以及至少一个备份 分组相关。写入程序222-224提供元数据,其中该元数据包括写入程序的名称、项或数据, 例如待备份的文件和组件、哪些项或数据需要从备份中排除、和/或在备份和恢复期间用 于处理组件和应用程序的方法。写入程序222-224还标识正备份的应用程序或服务程序的 类型。[0089]写入程序可与例如邮件服务器、数据库、操作系统组件、或其它应用程序或数据存 储相关。虽然可连同其它提供写入程序或类似功能的操作系统和计算机来实施本发明的 实施例,使用写入程序的操作系统的一个示例是Windows?。通过这种方式,拷贝服务程序 200可从在客户端上运行的各写入程序接收元数据,这反过来帮助拷贝服务程序220标识 涉及VSS卷的卷或任何其它与写入程序相关的卷。[0090]一旦标识了拷贝集,则拷贝服务程序220随后与客户端上的存储器210通信。存储 器210中的物理卷212包含与至少一个备份分组相对应的数据。在将一致的数据集存储于 物理卷212之后,创建快照214,用于反映物理卷中一致数据的表示或复制。请求装置218 也可与存储器210通信,以存取保存在存储器210中的单次快照214。[0091]参考图6,将描述利用例如图5所示的系统创建快照的示例性方法。在步骤602, 请求装置218典型地通过与拷贝服务程序220交互而开始,其中拷贝服务程序220在从与 所选择的备份分组相对应的卷生成拷贝集的过程中帮助请求装置218。将与不包括写入程 序的备份分组相对应的卷添加到拷贝集。当一个或多个所选择的备份分组具有写入程序时,通过查询备份分组中各写入程序有关描述应如何备份相关数据以及标识哪些数据需备 份的信息来标识与这些备份分组相对应的卷。关于图6,拷贝服务程序220列举出目前在客 户端上运行的写入程序222-224,以标识与写入程序相关的卷。可动态地发现在客户端上运 行的写入程序222-224。在这种情形下,可基于所发现的写入程序动态构成备份分组的内容。[0092]因此,在步骤604,通过标识出需被包括作为客户端的快照部分的卷而生成拷贝 集。因此,拷贝集可包括但不限于标识不具有写入程序的备份分组的卷和/或标识具有写 入程序的备份分组的卷,或者这两者。在生成拷贝集之后,请求装置218准备创建快照。由 于拷贝集将标识与备份分组相对应的卷,因此单次快照将包含对所有与为特定客户端备份 的备份分组相对应的卷的精确表示。[0093]在步骤606,执行标识在拷贝集中的相关卷的快照。同时处理与备份操作相关的备 份分组,以标识待包括在单次快照中的卷。然而,在执行快照之前,映射拷贝服务程序220 通知写入程序222-224将要发生快照,且随后所述写入程序被指示暂停或冻结对应的应用 程序或服务程序,从而通过例如暂停新业务、结束当前业务、转储缓存至磁盘等等使得客户 端的数据可达到一致的状态。然后,请求装置218指示映射拷贝服务程序220创建快照。在 达到了一致的状态之后,可执行快照。在快照完成之后,写入程序222-224可恢复运行。因 为快照是对一个或多个卷存储于客户端的数据的表示,因此包含在被执行的快照中的数据 也被称为“快照数据”。[0094]当快照正在被生成时,在步骤608,从自拷贝集获得的信息生成元数据文件。元数 据文件是地图,该地图标识待备份的项或数据以及在一些示例中标识需从备份中排除的项 或数据。元数据文件通常包括用于适当恢复操作的指令。在拷贝集上的卷和快照与写入程 序相关的情况下,元数据文件包括在创建快照之前收集的写入程序数据。写入程序数据直 到创建单次快照成功之后才被写入文件。在拷贝集中的卷以及从而快照不与任何写入程序 相对应时,元数据文件不包括写入程序数据。[0095]在步骤610,客户端组件202B将元数据文件添加到快照数据,形成已修改的快照 文件。这包括添加各写入程序文件(如果存在的话)、被选为待保存的备份分组、物理卷至快 照卷的映射以及挂载点(mount points)。根据设计考虑,可修改附加的数据或增加其它的 数据。客户端组件202B为已修改的快照文件生成文件名。[0096]5、示例性备份和恢复进程[0097]现在将进一步详细描述备份和恢复客户端数据的进程。再次,将利用Windows? 操作系统提供示例性描述。然而,此处的教导可同样应用于其它操作系统。参考图7,示出 了示例性备份进程。如上所讨论的,本发明的一个方面涉及创建单次快照,该单次快照包含 快照数据连同涉及已修改的快照文件中所选择的备份分组的元数据。将该已修改的快照文 件存储在例如客户端108上,为了在保存涉及存储在客户端108上的数据的备份分组时使 用。该已修改的快照文件可包括快照数据和恢复方法的XML描述。[0098]在步骤702,当做出保存特定备份分组的请求时,请求装置218标识与待保存的所 请求备份分组相对应的已请求数据对象或写入程序。请求装置218收集元数据,以从涉及 所请求的数据对象或已标识的写入程序的已修改的快照文件保存分组。在一个实施例中, 已修改的快照文件仅标识运行的写入程序。已修改的快照文件可包括涉及写入程序组件的单独选择能力的信息。例如,已修改的快照文件可指示,一些写入程序组件应被一起选择用 于备份或恢复。在另一个示例中,一些写入程序组件可被单独选择用于恢复,但不可被单独 选择用于备份。[0099]在步骤706,备份应用程序随后对标识在已修改的快照文件中的项和元数据进行 备份拷贝,为特定的备份分组从单次快照保存文件。如上参考图4A所述,客户端参考相同 的快照,以定位与特定备份分组相对应的快照部分。备份存储于备份存储器204中。因此, 关于各备份分组的已保存数据仅包含与该备份分组相对应的快照和元数据,关于各备份分 组的已保存数据仅包含快照数据和与该备份分组而不是也包括在单次快照上的其它备份 组相对应的元数据。为了存取客户端数据的特定版本,可将备份存储器配置成存储客户端 数据的多种表示。换句话说,可重建客户端数据的时间点表示。在步骤708,在备份完成之 后,可删除单次快照。[0100]图3C和3D中说明的界面302C或302D也可用来启动恢复操作。由于操作系统一 般被备份成逻辑单元,因此操作系统通常被恢复成单元。如之前所说明的,作为备份操作的 组成部分,保存各写入程序的元数据。元数据可用来确定恢复是否涉及快照备份操作。[0101]图8说明利用Windows?操作系统的示例性恢复操作方法。在步骤802,请求装 置218 —般通过恢复所谓的恢复元数据而开始。一般而言,恢复元数据同时包括从运行的 写入程序收集的特定元数据和从已修改的快照文件收集的已保存的元数据,最终包括包括 在单次快照中的特定写入程序/组件。由于用于恢复操作的恢复元数据来自在所选择的备 份时间时的备份数据,因此恢复元数据有可能包括不再出现在客户端上或当前在客户端上 不运行的写入程序。然而,由于客户端正被恢复成所选择的备份时间时的状态,因此通常这 些写入程序也被恢复。这还可能发生在灾难性恢复情形的环境中。[0102]通常将恢复元数据传送给映射拷贝服务程序220,随后可在恢复操作期间查询该 服务程序。如果挂载点存在于所保存文件的写入程序列表内,则在恢复任何写入程序数据 之前,恢复包含挂载点以及挂载点指向的卷的挂载点文件。挂载点可能是适当恢复或复原 写入程序数据所必需的。[0103]在步骤804,接着在继续恢复操作时查询恢复元数据。查询恢复元数据以确定例如 特定写入程序的恢复方法、使用类型、是否需要重新启动以恢复写入程序、以及任何可能的 候选位置映射。[0104]接下来,在步骤806,恢复进程与映射拷贝服务程序交互并发出预恢复命令。该预 恢复命令通知写入程序恢复操作即将来临,其中该写入程序具有被选择用于恢复的写入程 序组件。从而,写入程序和相关的应用程序有机会为恢复操作做准备。[0105]在步骤808,恢复进程接着实施标识在各写入程序的恢复元数据中的恢复方法。[0106]在已在恢复操作中拷贝了文件之后,将后恢复通知发给受影响的写入程序。这些 写入程序可随后在可应用时执行后恢复操作。在这一点上,服务器可建议重新启动客户端 系统。[0107]图3C和3D中图解的界面302C和302D是用于选择性标识用于恢复的备份分组、 写入程序、和/或写入组件的方法示例。所选择的备份分组、写入程序、和/或写入组件是 恢复项的示例。随后,基于包括在恢复项中的写入程序进行恢复操作。例如,根据与各写入 程序相关的恢复元数据对各写入程序实施恢复方法。如果写入组件已被取消选定,则可在恢复操作期间无效或忽略恢复元数据的相应部分。如果选择了操作特定备份分组被选择 用于恢复,则恢复操作可提示用户没有选择所有合适的备份分组、写入程序、和/或写入组 件,以遵守将操作系统恢复成逻辑单元的建议。然而,即使没有选择被建议的备份分组,仍 可继续进行恢复操作。[0108]当写入程序的组件不被选择用于恢复时,当备份分组的写入程序不被选择用于恢 复时,或者当备份分组不具有任何相关的写入程序时,恢复进程可忽略或无效恢复元数据 中与不被选择的组件或写入程序相对应的部分。[0109]6、示例性计算系统[0110]本发明延及用于备份数据的方法和系统。本发明的实施例可包括专用或通用计算 机,所述计算机包括各种计算机硬件,下面将详细描述。[0111]本发明范围内的实施例还包括计算机可读介质,用于携带或具有存储于其上的计 算机可执行的指令或数据结构。这种计算机可读介质可以是任何可被通用或专用计算机存 取的可用介质。通过举例而非限制性的方式,这种计算机可读介质(可用来以计算机可执行 的指令或数据结构的形式携带或存储期望的程序码装置,并可被通用或专用计算机存取) 可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或任 何其它介质。当通过网络或其它通信连接(为硬线的、无线的、或者硬线或无线组合)将信 息传输或提供给计算机时,计算机适当地将该连接视为计算机可读介质。因此,可适当地将 任何一个这种的连接称为计算机可读介质。上述的组合也应包括在计算机可读介质的范围 内。计算机可执行指令包括,例如,使通用计算机、专用计算机或专用处理设备执行某些功 能或功能组的指令和数据。[0112]以下讨论旨在提供一个适于实施本发明的计算环境的简洁概述。尽管不是必需 的,将在计算机可执行指令的一般环境中描述本发明,例如由计算机在网络环境中执行的 程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、 对象、组件、数据结构等。计算机可执行指令、相关数据结构、和程序模块表示用于执行此处 所公开方法的步骤的程序代码装置的示例。这种可执行指令或相关数据结构的特定顺序表 示用于实施这些步骤描述的功能的对应动作的示例。[0113]本领域技术人员将能理解,本发明可实施在具有多种类型的计算机系统配置(包 括个人计算机、手提式设备、多处理器系统、基于微处理器或可编程的消费者电子设备、网 络PC、小型计算机、大型计算机等)的网络计算环境中。本发明还可实施在分布式计算环境 中,其中任务由通过通信网络连接(通过硬线连接、无线连接、或通过硬线或无线连接组合) 的本地和远程处理设备执行。在分布式计算环境中,可将程序模块置于本地和远程存储器 存储设备中。[0114]本发明可实施为其它特定形式,而不脱离其精神或本质特性。所描述的实施例的 所有方面仅为说明性而非限制性的。因此,由所附权利要求书而不是由前述描述说明本发 明的范围。在权利要求等效物的含义和范围内的所有变化均包含在其范围内。
【权利要求】
1.一种用于保存来自第一客户端的数据的方法,所述第一客户端包括在包括与服务器相通信的一个或多个客户端的系统中,所述服务器对来自所述一个或多个客户端的数据执行备份操作,所述数据被组编在备份分组中,该方法包括以下步骤:发送信号,该信号指示应生成单次快照;接收一个或多个备份分组的列表;根据接收的一个或多个备份分组的列表,创建已修改的备份分组列表,所述已修改的备份分组列表标识出在快照的创建中使用的备份分组,其中,所述已修改的备份分组列表包括启动备份分组和终止备份分组;发送所述已修改的备份分组列表;以及接收指示快照创建是否成功的信号。
2.如权利要求1所述的方法,其中,所述一个或多个备份分组的列表为客户端的所有可能的备份分组的列表,从该客户端接收所述一个或多个备份分组的列表。
3.如权利要求1所述的方法,还包括以下步骤:暂停向已向其发送过所述已修改的备份分组列表的客户端发送备份请求。
4.如权利要求1所述的方法,其中,所述启动备份分组可执行以启动快照管理器。
5.如权利要求1所述的方法,其中,接收指示快照创建是否成功的信号包括接收快照创建成功的信号。
6.如权利要求5所述的方法,其中,所述快照创建成功的信号作为应启动所述已修改的备份分组列表的备份分组的保存过程的指示。
7.如权利要求5所述的方法,其中,接收快照创建成功的信号包括接收所述启动备份分组和已修改的快照文件名。
8.如权利要求5所述的方法,还包括以下步骤:针对所述已修改的备份分组列表中所标识的每个备份分组,发送单独保存请求。
9.如权利要求5所述的方法,还包括以下步骤:发送指示应保存所述已修改的备份分组列表中所标识的所有备份分组的单次保存请求。
10.如权利要求5所述的方法,还包括以下步骤:发送保存所述已修改的备份分组列表中所标识的备份分组的请求;发送保存所述终止备份分组的请求;以及接收所述终止备份分组。
11.如权利要求10所述的方法,其中,将所述保存所述已修改的备份分组列表中所标识的备份分组的请求和已修改的快照文件名一起发送。
12.如权利要求10所述的方法,其中,在收到所述启动备份分组和已修改的快照文件名之后,发送保存所述备份分组的请求。
13.在包括与服务器相通信的一个或多个客户端的系统中,所述服务器存储来自所述一个或多个客户端的数据的备份拷贝,服务器包括:备份/恢复应用程序的服务器组件,其中,所述服务器组件配置成:发送信号,该信号指示应生成单次快照;接收一个或多个备份分组的列表;根据接收的一个或多个备份分组的列表,创建已修改的备份分组列表,所述已修改的备份分组列表标识出在快照的创建中使用的备份分组,其中,所述已修改的备份分组列表包括启动备份分组和终止备份分组;发送所述已修改的备份分组列表;以及接收指示快照创建成功的信号。
14.如权利要求13所述的服务器,其中,所述服务器组件配置成与所述备份/恢复应用程序的客户端组件相通信。
15.如权利要求13所述的服务器,其中,所述服务器配置成与备份存储装置相通信。
16.如权利要求13所述的服务器,其中,所述服务器还配置成:发送保存所述已修改的备份分组列表中所标识的备份分组的请求;发送保存所述终止备份分组的请求;以及接收所述终止备份分组。
17.如权利要求13所述的服务器,其中,所述服务器还配置成暂停向已向其发送过所述已修改的备份分组列表的客户端发送备份请求。
18.如权利要求13所述的服务器,其中,所述服务器还配置成响应于接收到已修改的快照文件名和所述启动备份分组,启动所述已修改的备份分组列表中的备份分组的保存过程。
19.如权利要求13所述的服务器,其中,所述服务器还配置成执行以下步骤中的一个或两个步骤:针对所述已修改的备份分组列表中所标识的每个备份分组,发送单独保存请求;以及发送指示应保存所述已修改的备份分组列表中所标识的所有备份分组的单次保存请求。
20.如权利要求13所述的服务器,其中,所述服务器组件配置成与客户端合作以备份存储在该客户端上的数据。
21.如权利要求13所述的服务器,其中,所述备份/恢复应用程序仅存在于所述服务器上。
22.如权利要求13所述的服务器,其中,所述服务器组件配置成指导客户端利用所述快照执行一个或多个备份分组的保存。
23.如权利要求13所述的服务器,其中,所述服务器组件配置成启动所述备份/恢复应用程序的客户端组件。
24.如权利要求13所述的服务器,其中,所述已修改的备份分组列指明要处理所选择的备份分组的顺序。
25.如权利要求13所述的服 务器,其中,所述服务器组件配置成接收指示快照创建失败的信号。
【文档编号】G06F11/14GK103559100SQ201210206505
【公开日】2014年2月5日 申请日期:2006年6月29日 优先权日:2005年6月29日
【发明者】黛安娜·C·汤普森, 卡罗莱娜·P·乌尔曼, 珍妮特·L·施奈德, 埃里克·A·赫尔曼, 帕特里克·M·西蒙尼奇, 内森·A·克里热 申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1