在数据备份系统中的备份任务之间分配资源的方法和装置的制作方法

文档序号:6461507阅读:183来源:国知局
专利名称:在数据备份系统中的备份任务之间分配资源的方法和装置的制作方法
技术领域
本发明的实施方式涉及数据备份系统,更具体地,涉及用于在数据备份系 统中的备份任务之间分配资源的方法和装置。
背景技术
计算机系统及其组件会遭受各种故障,这些故障可能导致数据的丢失。例 如,计算机系统中的或由计算机系统使用的存储设备可能经历可能使设备上存 储的任何数据不可读的故障(例如机械的、电子的、或磁的等)。错误的软件 或硬件操作可能破坏存储设备上存储的数据并且有效地毁坏在其它正确工作 的存储设备上存储的数据。为了减轻丢失数据的风险,计算机网络包括用于对各种存储设备上存储的 数据进行备份复制的备份系统。 一类备份系统包括专用备份服务器,其将目标 数据备份在一个或多个计算机系统中或由计算机系统使用的一个或多个存储 设备上,该计算机系统比如工作站和/或应用服务器。备份服务器通常根据时 间表周期性备份目标数据。开始可以将数据备份到基于光盘的存储器,然后转 移到存档存储器,比如基于磁带存储器。备份服务器可以实现任何各种公知机 制来备份数据,包括完全备份、增量备份、差分备份等。完全备份是目标数据 的完整的复制。增量备份是只包含从最近的备份(或者完全备份或者增量备份) 起已经改变的文件的备份。差分备份是从上次完全备份起进行的所有改变的累 积备份。备份服务器通常根据备份策略而工作,所该备份策略定义比如目标数 据、执行备份处理的时间窗等各种参数。在包括多个备份客户端和一组用于执行备份的预定资源的系统中,希望在 备份客户端之间分配资源。没有这种分配,在竞争的备份客户端之间可能"过 多预定"资源。这种过多预定导致一个或多个备份任务由于缺少足够的资源而 失败(即,在完成所有任务之前资源耗尽)。 一些备份系统在备份客户端备份 的时候产生清单以确定需要的资源的大小。但是,这种解决方案耗费计算时间并且增加备份处理的不可接受的延迟量。因此,需要在数据备份系统中的备份任务之间优化并有效地分配资源。发明内容本发明描述一种用于在数据备份系统中的备份任务之间分配资源的方法 和装置。本发明的一个方面涉及在计算机网络中管理备份任务。基于一组备份 统计表为每个备份任务建立估计的资源利用。基于估计的资源利用为每个备份 任务分配资源预留。在备份任务的执行过程中动态地改变每个备份任务的资源 预留。


通过可以详细地理解本发明上述特征的方式,参照实施方式可以对以上 简要概括的本发明进行更具体的描述,其中一些实施方式在附图中示出。但是, 应该指出,附图所示的只是本发明典型的实施方式,因此不认为其限制本发明 的范围,本发明可以承认其它同等有效的实施方式。图1是描述根据本发明一个或多个方面的联网的计算机系统的示例性实 施方式的方框图;图2是描述根据本发明一个或多个方面的计算机系统的示例性实施方式 的方框图;图3是描述根据本发明一个或多个方面的备份管理系统的示例性实施方 式的示例性方框图;图4是描述根据本发明一个或多个方面在执行备份任务之前用于管理备 份任务的方法的示例性实施方式的流程图;图5是描述根据本发明一个或多个方面在执行备份任务过程中用于管理 备份任务的方法的示例性实施方式的流程图;图6是描述在执行备份任务的备份策略过程中用于管理备份任务的方法 的示例性实施方式的流程图,其中没有给备份任务分配足够的资源。
具体实施方式
图1是描述根据本发明一个或多个方面的联网的计算机系统100的示例性实施方式的方框图。系统100包括网络102、客户端104—1到104—N (集 体客户端104)、和一个或多个备份服务器112。网络102包括通信系统,通信 系统通过各类众所周知的网络元件,比如集线器、交换机、路由器等,通过电 线、电缆、光纤和/或无线链路连接计算机系统。网络102可以采用各种众所 周知的协议来通信信息。客户端104可以包括各种类型的计算机,例如膝上型、 桌上型电脑、工作站、服务器等等。客户端104管理一个或多个存储体114。可以使用任何类型的一个或多个 存储系统实现存储体114,比如光驱系统。例如,光驱系统可以包括一个或多 个存储盘,例如,存储磁盘阵列或存储磁盘冗余阵列。体是逻辑存储构造,其 不对应任何特定物理存储设备。物理存储设备可以包括不止一个体,而体可以 跨越不止一个存储设备。存储体114存储源数据108,比如由客户端104生成 和管理的应用程序和程序数据。源数据被组织成为文件系统。文件系统指存储 设备中的文件的结构和排列。例如,文件系统通常包括分级的目录、每个目录 可以包含一个或多个文件。每个客户端104包括备份客户端107。备份客户端107设计为与备份服务 (下面讨论)合作以备份源数据108的一项或多项(称为备份任务)。也就是 说,备份任务包括备份特定一项数据的指令,比如,特定的存储体、特定的文 件系统、特定的存储设备、或类似的。备份客户端107根据特定的时间表开始 备份任务。例如,可以每小时、每天、每周、每月、或类似类型的执行周期来 执行给定任务。备份服务器112为客户端104主持备份服务。可以使用能够主持备份服务 的任何类型的计算机系统实现备份服务器112。备份服务器112设计为管理一 个或多个存储体116。可以使用与实现存储体114相同的存储系统或使用不同 的存储系统(例如,不同的光驱系统)来实现存储体116。备份服务器112还 连接到磁带驱动系统122。磁带驱动系统122可以包括二—不或多个磁带驱动器。 存储体116存储包括源数据108的备份的备份数据118。然后备份数据118可 以转移到磁带驱动系统122。图2是描述根据本发明一个或多个方面的计算机系统200的示例性实施 方式的方框图。计算机系统200可以用来实现一个或多个备份服务器112。计 算机系统200包括处理器201、内存203、各种辅助电路204、和I/O接口 202。处理器201可以包括一个或多个本领域公知的微处理器。用于处理器201的辅助电路204包括传统的高速缓冲存储器、电源、时钟电路、数据寄存器、I/O 接口等等。1/0接口 202可以直接连接到内存203或通过处理器201连接到内 存203。 1/0接口 202还可以配置为与网络设备、各种存储设备、以及其他类 型的输入设备211和/或输出设备212通信(例如,鼠标、键盘、显示器等等)。内存203存储处理器可执行指令和/或由处理器201执行和/或使用的数 据。这些处理器可执行指令可以包括硬件、固件、软件等,或其一些组合。包 括存储在内存203中的处理器可执行指令的模块可以包括备份服务222和备份 管理模块224。备份服务222可以是由多个备份计算机系统实现的备份服务的 一部分。即,备份服务模块可以分布在多个计算机系统以实现针对计算机网络 的备份服务。如下所述,备份管理模块224管理系统资源向备份任务的预留和 分配。可以用操作系统226对计算机系统200进行编程,操作系统可以包括 OS/2、 Java虚拟机、Linux、 Solaris、 Unix、 Windows、 Windows95、 Windows98、 Windows NT 、禾卩Windows2000、 WindowsME、 WindowsXP、 Windows Server、 等等其它公知的平台。至少一部分操作系统124可以设置在内存203中。内存 203可以包括下述器件中的一个或多个随机访问存储器、只读存储器、磁阻 式读/写存储器、光读/写存储器、高速缓冲存储器、磁读/写存储器等等,以及 下面所描述的信号承载介质。在一个实施方式中,备份管理模块224与备份服务222合作以为每个备 份任务建立统计表。对于给定的备份任务,统计表跟踪由备份任务在一段时间 使用的资源,比如备份的大小(即,备份使用的存储空间的大小)、备份消耗 的带宽等。备份管理模块224采用统计表的趋势分析来为每个备份任务建立估 计的资源利用。然后为任务储备估计的资源利用,用于在下次备份周期期间使 用。在给定备份任务的下一周期的开始,备份管理模块224基于估计的资源利 用为该任务预留资源(向该任务分配"资源预留")。提前为备份任务预留资源 避免在竞争的备份客户端之间资源的过多预定。备份管理模块224还设计为当 执行备份任务时监控备份任务,以便动态地改变资源预留。例如,当执行给定 任务时,备份管理模块224可以周期性调整为该任务预留的存储空间大小。如果为正在执行的备份任务预留的资源不足,备份管理模块224尝试利 用任何可用的资源(即,没有被其它任务预留的)。如果备份管理模块224不能找到这种资源,备份管理模块224挂起正在执行的备份任务。当执行其它任务时,备份管理模块224继续监控资源的可用性。如果足够的资源变得可用(例 如,由其它任务释放)以允许挂起的任务成功执行,备份管理模块224为挂起 的任务预留这些资源并且继续挂起的任务。在某些情况下,资源不能变得可用 并且挂起的备份任务失败。但是,由于备份管理模块224实现的资源预留机制, 这一个任务的失败不会影响其他备份任务。没有资源预留, 一个任务可能消耗 太多资源,导致多个其他竞争备份任务失败。图3是描述根据本发明一个或多个方面的备份管理系统300的示例性实 施方式的方框图。备份管理系统300包括与备份管理模块224合作的备份服务 222。备份服务222设计为根据备份策略308和资源预留数据320工作。备份 策略308包括多个当前正在执行的备份任务。备份服务222按照资源预留数据 320为每个备份任务预留资源。备份服务222还设计为提供备份统计表304。 统计表304跟踪由单个备份任务在一段时间使用的资源,比如备份的大小(即, 备份使用的存储空间的大小)、备份消耗的带宽等。备份管理模块224包括备份估计模块310、资源监控器314和备份预留模 块318。备份估计模块310设计为获得备份统计表304和备份策略308。对于 备份策略308中的每个备份任务,备份估计模块310使用备份统计表304来为 该任务的下一周期建立估计的资源利用。备份估计模块310可以采用本领域公 知的任何类型的趋势分析技术。备份估计模块310可以在该任务完成当前执行 周期之后,为给定备份任务产生估计的资源利用。以这种方式,为该备份任务 的下一执行周期准备资源利用。备份估计模块310产生包括估计的资源利用的 估计的资源使用数据312。备份预留模块318获得估计的资源使用数据312。备份预留模块318维护 资源预留数据320,其包括对每个备份任务的当前资源预留。备份预留模块318 在下一执行周期的开始使用估计的资源使用数据312向每个备份任务分配最 初的资源预留。向备份服务302提供资源预留数据320,该备份服务302如上 所述工作。之后,当执行备份任务时,备份预留模块318周期性调整为每个备 份任务的资源预留。特别的,资源监控器314设计为监控已经为其预留资源的 每个备份任务的进展。资源监控器314从而命令备份预留模块318调整资源预 留。例如,当执行备份任务时,资源监控器314可以周期性命令备份预留模块318减少为每个备份任务的资源预留。在一个实施方式中,备份任务经过一段时间就向资源监控器314报告其进展。这允许备份任务在没有资源监控器314不必要的中断的情况下继续进行。资源监控器314还设计为检测备份任务的完成并且命令备份预留模块318 释放任何剩余的为这类备份任务的资源预留。资源监控器314还设计为检测最 初为给定备份任务预留的不足的资源,并且通知备份预留模块318这种情况。 资源监控器314还提供关于当前可以由任何备份任务使用的(即,未预留的资 源)可用的资源的信息。作为响应,备份预留模块318向需要附加资源的备份 任务分配至今未预留的资源,或者,如果没有这类附加资源可用,挂起该备份 任务。备份预留模块318可以通过在由备份服务302使用的资源预留数据320 中设置标记来挂起备份任务。作为选择,备份预留模块318可以直接命令备份 服务挂起该任务。在任一情况下,资源监控器314设计为, 一旦附加资源可用, 在预留附加资源之后,通知备份预留模块318,并且备份预留模块318可以命 令挂起的任务继续进行。否则,如果这类附加资源永远不可用或在经过预定时 间之后不能成为可用,备份预留模块318命令备份服务302放弃挂起的备份任 务。为了通过示例说明清楚,己经将备份管理系统300描述为具有用于备份 服务、备份估计、资源监控、和备份预留的分离的功能模块。应该理解,由这 些模块执行的功能一般可以由一个或多个模块执行。也就是说,模块320、310、 314、和318的功能可以组合为一个或多个模块。图4是描述根据本发明一个或多个方面在执行备份任务之前用于管理备 份任务的方法400的示例性实施方式的流程图。方法在步骤402开始。在步骤 404,获得备份任务的备份统计表。在一个实施方式中,备份统计表包括一时 间系列的磁盘资源使用。在步骤406,基于该统计表,建立该备份任务的估计 的资源利用。估计的资源利用可以包括执行该备份任务需要的估计的磁盘空间 使用和/或估计的带宽。在步骤408,基于估计的资源利用,向备份任务分配备 份预留。也就是说,为备份任务预留磁盘空间。可以基于估计的带宽要求,向 特定的存储系统分配备份任务(例如,一些存储系统可以比其它存储系统更快, 从而能够处理更高的带宽)。方法400在步骤410结束。图5是描述根据本发明一个或多个方面在执行备份任务过程中用于管理备份任务的方法500的示例性实施方式的流程图。方法500在歩骤502开始。 在步骤504,在执行备份任务的过程中,监控备份任务的资源利用。也就是说, 当执行备份任务时,资源被消耗。例如,在从备份客户端向存储系统转移数据 的过程中消耗磁盘资源的磁盘空间和带宽。在步骤506,进行判断是否需要调 整为备份任务的资源预留。例如,当执行备份任务时,可以减少磁盘空间的预 留。可以基于资源消耗的速率来确定减少资源预留的周期。例如,磁盘空间消 耗的速率可以确定多长时间减少磁盘空间预留一次。如果在步骤506,需要调整给执行的备份任务预留的资源,方法500进行 到步骤508。在步骤508,调整资源预留。从歩骤508,方法500进行到步骤 510。如果在步骤506,不需要调整正在执行的备份任务的资源预留,方法500 进行到步骤510。在歩骤510,进行判断是否备份任务已经完成。如果不是, 方法500回到步骤504。如果正在执行的备份任务已经完成,方法500进行到 步骤512。在步骤512,回收任何未使用的资源预留。方法500在歩骤516结 束。图6是描述在执行备份任务的过程中用于管理备份任务的方法600的示 例性实施方式的流程图,其中没有给备份任务分配足够的资源。方法600在步 骤602开始。在步骤604,进行判断是否已经为备份任务预留了不足的资源。 在一个实施方式中,在方法500的资源监控步骤504的过程中可以执行步骤 604。如果已经分配了足够的资源预留,方法600在歩骤618结束。否则,方 法600进行到步骤606。在步骤606,进行判断是否有足够的资源(即,未预留的资源)可用于备 份任务。如果没有这类资源,方法600进行到步骤608。在步骤608,备份任 务被挂起。在步骤610,进行判断是否应该放弃备份任务。例如,可以在备份 任务被挂起预定一段时间之后,放弃备份任务。作为选择,如果一个或多个其 它备份任务已经完成并且挂起的备份任务仍然没有可用的资源,可以放弃备份 任务。如果在步骤610应该放弃备份任务,方法600进行到步骤612,这里放 弃备份任务。然后方法600在步骤618结束。如果在步骤610不应该放弃备份 任务(即,保持挂起),方法600回到步骤606并且检查是否任何资源己经变 得可用。如果在步骤606对于备份任务己经有足够的资源变得可用,方法600 进行到歩骤616。在歩骤616,给正在执行的备份任务预留和分配可用的资源。然后方法600在步骤618结束。本发明的一个方面作为用于计算机系统的程序产品实现。程序产品的一 个或多个程序定义实施方式的功能并且可以包含在多种信号承载介质上,这些程序产品可以包括但不限于(i)永久存储在非可写存储介质(例如,计算机内的只读存储设备,比如由CD—ROM驱动或DVD驱动可读的CD—ROM或 DVD—ROM)上的信息;(ii)存储在可写存储介质(例如,磁盘驱动内的软 盘或硬盘驱动或可读/可写CD或可读/可写DVD)上的可改变的信息;或(iii) 由通信介质传达给计算机的信息,比如通过计算机或电话网络,包括无线通信。 后面的实施方式特别地包括从互联网或其他网络下载的信息。当携带实现本发 明的功能的计算机可读指令时,这类信号承载介质表示本发明的实施方式。虽然前述涉及本发明的实施方式,但是在不脱离本发明的基本范围的情况 下,可以设计本发明的其他和另外的实施方式,并且其范围由所附的权利要求 书确定。
权利要求
1、一种用于管理计算机网络中的备份任务的方法,包括基于一组备份统计表为每个备份任务建立估计的资源利用;基于所述估计的资源利用为每个备份任务分配资源预留;以及在备份任务的执行过程中动态地改变每个备份任务的资源预留。
2、 根据权利要求1所述的方法,其特征在于,所述动态地改变资源预留 的步骤包括在任务执行过程中至少减少每个任务的资源预留一次。
3、 根据权利要求2所述的方法,其特征在于,所述减少步骤包括 当正在执行备份任务时,跟踪每个备份任务的资源使用; 经过一段时间,周期性地释放一部分资源预留;以及 响应备份任务的完成回收每个备份任务的资源预留。
4、 根据权利要求1所述的方法,其特征在于,对于每个备份任务的所述 资源利用包括备份任务的大小和备份任务需要的带宽中至少一个。
5、 根据权利要求1所述的方法,其特征在于,所述建立步骤包括 为每个备份任务各自之前的一系列执行确定每个备份任务的一系列资源使用;以及为每个备份任务执行该一系列资源使用的趋势分析,以产生该备份任务的 估计的资源利用。
6、 根据权利要求1所述的方法,其特征在于,还包括基于每个备份任务 的资源预留向备份任务预分配在存储系统中的资源。
7、 根据权利要求1所述的方法,其特征在于,还包括 响应备份任务中之一的资源使用超过其资源预留而挂起所述备份任务之一;以及为所述备份任务中之一请求附加的资源预留。
8、 根据权利要求7所述的方法,其特征在于,还包括如果附加的资源预 留不被批准,则终止所述备份任务中之一。
9、 一种用于管理计算机网络中的备份任务的装置,包括 用于基于一组备份统计表为每个备份任务建立估计的资源利用的装置; 基于估计的资源利用为每个备份任务分配资源预留的装置;以及用于在备份任务的执行过程中动态地改变每个备份任务的资源预留的装置。
10、 根据权利要求9所述的装置,其特征在于,所述用于动态地改变资源 预留的装置包括用于在任务执行过程中至少减少每个任务的资源预留一次的 装置。
11、 根据权利要求IO所述的装置,其特征在于,所述用于减少的装置包括用于当正在执行备份任务时跟踪每个备份任务的资源使用的装置; 用于经过一段时间周期性释放一部分资源预留的装置;以及 用于响应备份任务的完成回收每个备份任务的资源预留的装置。
12、 根据权利要求11所述的装置,其特征在于,所述用于对每个备份任 务的资源利用的装置包括备份任务的大小和备份任务需要的带宽中至少一个。
13、 根据权利要求9所述的装置,其特征在于,所述用于建立的装置包括 为每个备份任务各自之前的一系列执行任务确定每个备份任务的一系列资源使用的装置;以及为每个备份任务执行该一系列资源使用的趋势分析以产生该备份任务的 估计的资源利用的装置。
14、 根据权利要求9所述的装置,其特征在于,还包括用于基于每个备份 任务的资源预留向备份任务预分配在存储系统中的资源的装置。
15、 根据权利要求9所述的装置,其特征在于,还包括 用于响应备份任务之一的资源使用超过其资源预留而挂起所述备份任务之一的装置;以及用于为所述备份任务之一请求附加的资源预留的装置。
16、 根据权利要求15所述的装置,其特征在于,还包括用于如果附加的 资源预留不被批准则终止所述备份任务之一的装置。
17、 一种用于管理备份任务的系统,包括备份服务,用于在计算机网络中根据每个备份任务的资源预留执行备份任 务;以及备份管理模块,用于基于一组备份统计表为每个备份任务建立估计的资源 利用,基于其估计的资源利用为每个备份任务分配资源预留,并且在由所述备份服务进行的备份任务的执行过程中动态地改变每个备份任务的资源预留。
18、 根据权利要求17所述的系统,其特征在于,所述备份管理模块用于 从所述备份服务获得所述一组备份统计表。
19、 根据权利要求17所述的系统,其特征在于,所述备份管理模块用于监控由所述备份服务进行的备份任务的执行。
20、 根据权利要求19所述的系统,其特征在于,所述备份管理模块用于: 当由所述备份服务正在执行备份任务时,跟踪每个备份任务的资源使用; 经过一段时间,周期性地释放一部分资源预留;以及 响应备份任务的完成回收每个备份任务的资源预留。
全文摘要
本发明描述一种在数据备份系统中的备份任务之间分配资源的方法和装置。本发明的一个方面涉及在计算机网络中管理备份任务。基于一组备份统计表为每个备份任务建立估计的资源利用。基于估计的资源利用为每个备份任务分配资源预留。在备份任务的执行过程中动态地改变每个备份任务的资源预留。
文档编号G06F9/50GK101276301SQ20081008452
公开日2008年10月1日 申请日期2008年3月21日 优先权日2007年3月27日
发明者托马斯·哈特尼特, 迈克尔·蔡斯, 阿多奈贾·帕克 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1