跟踪备份操作之间修改的对象的制作方法

文档序号:6656841阅读:217来源:国知局
专利名称:跟踪备份操作之间修改的对象的制作方法
其他申请的交叉引用本申请要求2004年7月23日提交的美国临时专利申请号60/590,594(代理人档案号LEGAP073+),标题为“备份的文件跟踪”(FILE TRACKING FOR BACKUP)的优先权,通过引用将其全部结合于本文。
背景技术
增量备份通过仅存储自先前增量或完整(例如所有文件)备份起已修改或添加的文件来大大地减少了要备份文件的数量。可以由备份系统通过检查备份系统涵盖的所有文件的文件系统属性来识别已修改或添加的文件。可以检查这些属性来查看自先前备份操作的时间和日期起该文件是否被修改过或创建。但是,检查备份系统涵盖的所有文件的文件系统属性可能耗用大量的处理器时间和资源,尤其是在备份系统涵盖的文件数量巨大的情况下。有效率地实现增量备份而无需检查备份系统涵盖的所有文件(或其他存储对象)将是有用的。


在下文的详细描述和附图中公开本发明的多种实施例。
图1图示用于跟踪备份操作之间修改的对象的系统的实施例。
图2图示用于跟踪备份操作之间修改的对象的系统的实施例。
图3将一个实施例中使用的已修改或添加的文件的列表图示为标识符组,其中该组中的每个标识符与执行先前备份操作之后已添加或修改的存储对象相关联。
图4图示能够跟踪备份之间修改的对象的备份软件的过程的实施例。
图5图示用于初始化备份软件的过程的实施例。
图6图示用于选择备份软件参数的过程的实施例。
图7图示用于激活备份软件的过程的实施例。
图8图示当通知要执行完整备份时用于驱动器(driver)的过程的实施例。
图9图示用于驱动器监视文件写入的过程的实施例。
图10图示当通知要执行增量备份时用于驱动器的过程的实施例。
具体实施例方式
本发明可以多种方式实现,包括过程、设备、系统、物的组合、计算机可读媒体(例如计算机可读存储媒体)或可用于通过光或电通信链路发送程序指令的计算机网络。在该说明书中,这些实现方式或本发明可以采用的任何其他形式称为技术。描述配置为执行任务的诸如处理器或存储器的组件包括在给定时间临时配置为执行该任务的通用组件或为执行该任务制造的特定组件。一般来说,在本发明范围内所公开的过程的步骤的顺序是可更改的。
下文结合图示本发明原理的附图对本发明的一个或多个实施例进行了详细描述。本发明是结合此类实施例来描述的,但是本发明并不局限于任何实施例。本发明的范围仅由权利要求限定,本发明涵盖许多变化、修改和等效物。下文描述中提出了许多特定细节,以便提供对本发明的透彻理解。这些细节是出于示范目的提供的,本发明可以根据权利要求来实施而不拘泥这些特定细节的一些或全部。为了简明的目的,对与本发明相关的技术领域中公知的技术材料未作详细的描述,以免使本发明难以理解。
公开了跟踪备份操作之间修改的对象。监视写入对象的请求。当添加或更改对象时,将与该对象相关联的标识符存储在与执行先前备份操作之后已添加或修改的对象相关联的标识符组中。在后续增量备份操作中,利用标识符存在于存储标识符组中以至少部分地确定要在增量备份中包括的对象。在一些实施例中,仅在该对象的标识符尚未包括在存储标识符组的情况下,将标识符添加到存储标识符组,其中将标识符包括在存储标识符组中是由于例如通过响应向对象写入的先前请求而添加到该组中所致。
图1图示用于跟踪备份操作之间修改的对象的系统的实施例。计算机100包括处理器102、存储设备104和通信接口106。通信接口106耦合到辅助存储设备108。在多种实施例中,辅助存储设备108耦合到网络(例如局域网、广域网或因特网)、耦合到计算机、直接耦合到处理器102,或者包括含有存储设备104和辅助存储设备108的单个存储设备的一部分。在一些实施例中,计算机100配置为跟踪备份操作之间修改的对象。在一些实施例中,处理器102在执行先前的备份操作之后接收要向存储设备104上的存储对象写入(例如添加或更新)的请求,并确保将与存储对象相关联的标识符包括在与执行先前备份操作之后被添加或修改的存储对象相关联的存储标识符组中。至少部分基于该标识符存在于该组中,在后续增量备份操作中包括存储对象。
图2图示用于跟踪备份操作之间修改的对象的系统的实施例。在所示的示例中,源系统200包括应用程序202、备份驱动器204、文件系统206和存储设备驱动器208。在所示的示例中,应用程序202包括备份应用程序。备份应用程序与备份驱动器204通信。在一些实施例中,使用备份应用程序选择要备份的数据、选择用于存储备份的数据的辅助存储设备、选择备份的频率和/或时间、选择备份的类型(增量或完整备份)以及初始化备份驱动器204。备份驱动器204设计为从应用程序202接收请求以将对象写入到存储设备(例如添加或更新文件或其他存储对象)。在一些实施例中,备份驱动器204监视对文件系统206将对象写入存储设备的请求,并确保与正在写入的对象相关联的标识符被包括在存储标识符组中。该备份驱动器204将写入请求传递到文件系统206,文件系统206使用存储设备驱动器208来实现该请求。
在一些实施例中,当通知要执行完整备份时,备份驱动器204创建新的存储标识符组。在一些实施例中,当通知要执行增量备份时,备份驱动器204冻结当前存储标识符组,创建新的存储标识符组,监视文件写入,提供冻结的存储标识符组以帮助确定要在增量备份操作中包括哪些文件,以及当得知增量备份操作已完成时删除冻结的存储标识符组。该备份应用程序配置为使用存储标识符组通过仅向辅助位置(例如本地或远程存储设备和/或媒体)拷贝与该组中包含其相关联的标识符的那些存储对象来执行增量备份操作。使用存储标识符组,无需备份应用程序检查该备份所涉及的数据集(例如文件系统或其一部分)中所有对象的任何属性,因为可以使用该标识符组快速确定自上次完整或增量备份起哪些对象已被添加或更改。
图3将一个实施例中使用的已修改或添加的文件的列表图示为执行先前备份操作之后与已添加、删除或修改的存储对象相关联的一组标识符。在所示的示例中,修改过的文件的列表300包含多个文件路径,每个路径表示自上次完整或增量备份之后已添加或更改的文件。这些多个文件路径由文件路径#0、文件路径#1、文件路径#2、文件路径#3等表示。在多种实施例中,使用除文件路径之外的标识符来标识先前备份操作之后已添加或修改的存储对象。在一些实施例中,使用除标识符列表之外的数据结构。
图4图示用于安装和配置备份应用程序的过程的实施例。在所示的示例中,在400,将备份软件初始化。在一些实施例中,初始化包括选择用于备份的源数据(即要备份的数据集),选择要存储备份数据的辅助存储位置,以及将备份驱动器初始化。在402,选择备份软件参数。在一些实施例中,参数包括何时发生备份(例如备份的频率、每次备份的时间或触发备份的事件)以及每个指定备份的备份类型。在404,激活备份软件。
图5图示用于初始化备份软件的过程的实施例。在一些实施例中,使用图5中的过程来实现图4的400。在所示的示例中,在500选择用于备份的源数据。源数据包括期望包括在备份中的数据。在一些实施例中,在指定时间将此数据拷贝到辅助存储设备,以及可以使用辅助存储设备上的存储数据将该数据恢复到指定时间处所处的状态。在502,选择辅助存储位置。在多种实施例中,辅助存储位置位于本地存储设备上、网络连接的存储设备上或远程存储设备上。在504,将备份驱动器初始化。在一些实施例中,在初始化期间备份驱动器开始在计算机系统中运行。
图6图示用于选择备份软件参数的过程的实施例。在一些实施例中,使用图6中的过程来实现图4的402。在所示的示例中,在600,设置备份的次数或频率。在一些实施例中,事件(例如,软件发行日期、将目标量的数据写入到存储设备、或用户或管理员的指示)也触发备份,以作为规律频率(即每周一次或每月一次)的备份的补充或替代。在602,选择每个备份的完整或增量备份类型。在一些实施例中,完整备份是在选择的时间将所有选择的源数据的副本从源存储设备存储到辅助存储设备,其中可以从该选择的时间处恢复源数据。在一些实施例中,增量备份是在选择的时间将自上次增量或完整备份起修改的或新选择的源数据从源存储设备存储到辅助存储设备,其中可以结合先前的增量和完整备份从该选择的时间处恢复源数据。在604,选择每个备份的备份时间。
图7图示用于备份数据的过程的实施例。在一些实施例中,使用图7中的过程来实现图4的404。在所示的示例中,在700,选择开始第一次备份。在702,等待所选择的备份的备份时间。在704,确定所选择的备份的备份类型是否是完整备份。如果备份类型是完整备份,则在706,通知驱动器要执行完整备份(例如以使驱动器知道要冻结修改的对象的列表),执行完整备份,当完整备份完成时通知驱动器(例如由此驱动器知道删除先前冻结的修改的对象的列表是安全的),并且控制传递到710。如果备份类型不是完整备份,则在708,通知驱动器要执行增量备份(例如以使驱动器知道要冻结该列表),获取自上次完整或增量备份起修改过或添加的文件的列表,通过向预配置的辅助存储位置(例如磁带驱动器、本地驱动器、网络连接的存储器等)拷贝自上次完整或增量备份起已修改或添加的文件的列表中的文件来执行增量备份,当增量备份完成时通知备份驱动器(例如让该驱动器知道可以清除先前冻结的列表)。在710,确定刚才执行的备份是否是需要执行的最后一次备份。如果不是最后一次备份,则在712,选择下一次备份,并将控制传递到720。如果它是最后一次备份,则过程结束。
图8图示当接收到要执行完整备份操作的通知时重设修改的对象的列表的过程的实施例。在一些实施例中,图8的过程通过如图2的备份驱动器204的驱动器来实现。在所示的示例中,在800,接收到要执行完整备份的通知。在802,创建已修改或添加的文件的新列表。在一些实施例中,已修改或添加的文件的新列表包括标识符组,其中该组中的每个标识符与执行先前备份操作之后已添加或修改的存储对象相关联。在一些实施例中,802包括冻结先前维护的修改过的文件(或其他对象)的列表。在一些实施例中,当接收到启动而使先前维护的列表被冻结的完整备份操作已成功完成的指示时,清除先前冻结的列表。在804,监视文件写入,并在第一次创建新列表之后添加或更改对象时,将标识符添加到在802创建的新列表中。在一些实施例中,监视除文件写入之外的写入(例如对象写入)。
图9图示用于监视文件写入的过程的实施例。在一些实施例中,使用图9中的过程来实现图8的804。在一些实施例中,图9的过程通过如图2的备份驱动器204的驱动器来实现。在所示的示例中,在900,接收到要修改或添加文件的请求。在902,确定文件是否已经在已修改或添加的文件的列表中。如果该文件不在已修改或添加的文件的列表中,则在904,将文件添加到已修改或添加的文件的列表中,之后在906将请求转发到文件系统,并且控制返回到900,其中接收要修改或添加文件的下一个请求(如果有的话)。如果文件已经在该列表中,则控制直接传递到906,并根据需要继续执行。在一些实施例中,没有检查来查看该文件是否已经在已修改或添加的文件的列表中,仅当接收到要添加或修改文件的请求时将文件添加到列表。在一些实施例中,使用存储器高速缓存和数据散列算法有效率地跟踪已修改或添加的文件。在一些实施例中,当将新文件添加到高速缓存的已修改或添加的文件列表时,将列表写入到永久性存储器(例如硬盘或其他永久性存储设备)中。
图10图示用于当执行增量备份时冻结、重新设置和清除修改的对象列表的过程的实施例。在一些实施例中,图9的过程通过如图2的备份驱动器204的驱动器来实现。在所示的示例中,在1000,接收到要执行增量备份的通知。在1002,冻结已修改或添加的文件的当前列表。在1004,创建已修改或添加的文件的新列表。在1006,监视文件写入,并将创建新列表之后添加或更改的任何文件添加到该新列表。在一些实施例中,使用图9中的过程来实现1006。在1008,将冻结的已修改或添加的文件的列表提供到备份程序。在一些实施例中,由备份程序使用冻结的文件列表以确定要在增量备份中包括的文件。在1010,接收到增量备份已完成的指示。在1012,删除在1002冻结的文件的列表。
虽然出于简明理解目的在某个细节上描述了前面的实施例,但是本发明并不局限于所提供的这些细节。有许多备选方式实现本发明。所公开的实施例是说明性的,而非限定性的。
权利要求
1.一种跟踪对存储数据的更改的方法,包括在执行先前备份操作之后,接收要添加或更改存储对象的请求;存储与所述存储对象相关联的标识符;以及至少部分基于所存储的标识符,在后续增量备份操作中包括所述存储对象。
2.如权利要求1所述的方法,其特征在于,存储与所述存储对象相关联的标识符包括确保将所述标识符包括在与自所述先前备份操作起已添加或更改的存储对象相关联的存储标识符组中。
3.如权利要求2所述的方法,其特征在于,确保将所述标识符包括在与自所述先前备份操作起已添加或更改的存储对象相关联的存储标识符组中包括确定与所述存储对象相关联的标识符是否已经包括在所述存储标识符组中;以及如果确定所述存储标识符尚未包括在所述存储标识符组中,则将所述存储标识符添加到所述存储标识符组中。
4.如权利要求2所述的方法,其特征在于,所述存储标识符组包括标识符列表。
5.如权利要求2所述的方法,其特征在于,所述存储标识符组包括所述先前备份操作之后更改过的文件的列表。
6.如权利要求2所述的方法,还包括接收要执行启动的增量备份操作的指示;冻结所述存储标识符组;以及接收到要执行启动的增量备份操作的指示之后,初始化新的存储标识符组,所述新的存储标识符组用于存储与如果存在的添加或修改的存储对象相关联的标识符。
7.如权利要求2所述的方法,其特征在于,在开始增量备份之前创建新的存储标识符组。
8.如权利要求2所述的方法,其特征在于,在完成增量备份之后删除所述存储标识符组。
9.如权利要求1所述的方法,其特征在于,由与备份应用程序相关联的驱动器接收向所述存储对象写入的请求。
10.如权利要求1所述的方法,其特征在于,所述存储对象包括文件。
11.如权利要求1所述的方法,其特征在于,所述先前备份操作包括完整备份操作。
12.如权利要求1所述的方法,其特征在于,所述先前备份操作包括先前增量备份操作。
13.一种跟踪对存储数据的更改的系统,包括处理器,配置为在执行先前备份操作之后,接收向存储对象写入的请求;存储与所述存储对象相关联的标识符;以及至少部分基于所存储的标识符,在后续增量备份操作中包括所述存储对象;以及存储器,耦合到所述处理器并配置为向所述处理器提供指令。
14.如权利要求12所述的系统,其特征在于,所述处理器配置为通过将所述标识符添加到列表来存储所述标识符。
15.如权利要求13所述的系统,其特征在于,所述处理器配置为在所述标识符尚未包括在列表中的情况下通过将所述标识符添加到所述列表来存储所述标识符。
16.如权利要求13所述的系统,其特征在于,所述存储对象包括文件。
17.如权利要求13所述的系统,其特征在于,所述标识符存储在存储标识符组中,以及所述处理器还配置为接收要执行启动的增量备份操作的指示;冻结所述存储标识符组;以及接收到要执行启动的增量备份操作的指示之后,初始化新的存储标识符组,所述新的存储标识符组用于存储与如果存在的添加或修改的存储对象相关联的标识符。
18.一种用于跟踪对存储数据的更改的计算机程序产品,所述计算机程序产品包含在计算机可读媒体中并且包括用于执行如下操作的计算机指令在执行先前备份操作之后,接收向存储对象写入的请求;存储与所述存储对象相关联的标识符;以及至少部分基于所述标识符存在于组中,在后续增量备份操作中包括所述存储对象。
19.如权利要求20所述的计算机程序产品,其特征在于,确保将与所述存储对象相关联的标识符包括在存储标识符组中包括确定与所述存储对象相关联的标识符是否已经包括在所述存储标识符组中;以及如果确定存储标识符尚未包括在所述存储标识符组中,则将所述存储标识符添加到所述存储标识符组中。
20.如权利要求20所述的计算机程序产品,其特征在于,所述存储标识符组包括所述先前备份操作之后更改过的文件的列表。
全文摘要
公开一种跟踪对存储数据的更改的方法。该方法包括在执行先前备份操作之后,接收要向存储对象写入的请求,以及确保将与存储对象相关联的标识符包括在存储标识符组中,其中该组中的每个标识符与自执行先前备份操作起已添加或更改的存储对象相关联。该方法还包括至少部分基于标识符存在于组中,在后续增量备份操作中包括存储对象。
文档编号G06F12/00GK101027649SQ200580031497
公开日2007年8月29日 申请日期2005年7月22日 优先权日2004年7月23日
发明者R·乌尔姆斯顿 申请人:Emc公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1