首页> 中国专利> 利用变化跟踪进行系统恢复的技术

利用变化跟踪进行系统恢复的技术

摘要

本发明公开了一种利用变化跟踪进行系统恢复的技术。在一个具体的示例性实施例中,该技术可以实现为利用变化跟踪进行系统恢复的计算机实现方法,该方法包含接收对电子存储装置的写入请求,识别电子存储区域中与写请求相关联的区域,设置区域指示符来识别电子存储区域为脏的,以及设置一个或多个部分指示符来识别电子存储区域的一个或多个脏部分。

著录项

  • 公开/公告号CN102460401A

    专利类型发明专利

  • 公开/公告日2012-05-16

    原文格式PDF

  • 申请/专利权人 赛门铁克公司;

    申请/专利号CN201080029047.0

  • 发明设计人 R·斯卓哈姆;

    申请日2010-04-22

  • 分类号G06F12/00;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 05:21:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-10

    授权

    授权

  • 2012-06-27

    实质审查的生效 IPC(主分类):G06F12/00 申请日:20100422

    实质审查的生效

  • 2012-05-16

    公开

    公开

说明书

技术领域

本发明一般涉及系统恢复,更具体地,涉及利用变化跟踪进行系统 恢复的技术。

背景技术

备份系统可以跟踪从先前的备份起的数据修改或写入请求,从而 使得系统可以备份修改数据。例如,备份系统可以对修改数据进行定 期增量备份。只备份修改数据可能比所有数据的完全备份使用更少的 存储空间,并且可能需要较少的网络流量和磁盘输入/输出(I/O)处 理。

可以跟踪数据修改从而确定备份什么。已在存储器中修改但是还 未写入磁盘的修改数据一般被称为“脏(dirty)”数据。修改数据被 写入磁盘之后一般才被称为“干净(clean)”数据。

被跟踪的数据修改或写请求可以被存储在存储器中或被写入磁 盘。如果被跟踪的数据修改被写入磁盘,那么对于对磁盘的每次写入 请求,它们会需要写入请求。这项开销和额外的I/O在性能方面是不 可接受的。如果被跟踪的数据修改被存储在存储器中,那么它们可以 在系统关机时被写入磁盘,从而避免被跟踪的数据修改丢失。如果系 统崩溃、不正确地关闭或经历中断,那么被跟踪的数据修改将丢失。 然后用户面临两个困难的选择。用户可以对所有数据执行完全备份, 从而捕获所有可能的变化,这比增量备份需要更多的存储空间并且花 费更长的时间。或者,用户可以执行调和操作(reconciliation operation), 其可以识别从上次备份起的数据修改(即丢失的跟踪修改)。通过比 较使用的存储空间部分(例如磁盘的被使用块)与上次备份的部分, 调和操作可以识别修改。在完成调和操作之后,可以执行增量备份。 然而,与完全备份相比,调和操作可能需要一样长或更长的时间,以 及需要一样多或更多的I/O处理。

鉴于前述内容,可以理解仍存在与当前的系统恢复技术相关的显 著问题和缺点。

发明内容

本发明公开了一种利用变化跟踪进行系统恢复的技术。在一个具 体的示例性的实施例中,该技术可以实现为利用变化跟踪提供系统恢 复的计算机实现方法,该方法包含接收对电子存储装置的写入请求, 识别电子存储区域中与写请求相关联的区域,设置区域指示符以识别 电子存储区域为脏的,以及设置一个或多个部分指示符以识别电子存 储区域的一个或多个脏部分。

根据该具体的示例性实施例的其他方面,利用变化跟踪进行系统 恢复可以进一步包含确定是否要设置区域指示符以识别电子存储区 域,以及在确定要设置区域指示符的情况下设置区域指示符。

根据该具体的示例性实施例的更多方面,确定是否要设置区域指 示符以识别电子存储区域可以至少部分地基于确定当前设置指示符。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复可以进一步包含确定是否要设置一个或多个部分指示符以识别一 个或多个脏部分,以及在要设置一个或多个部分指示符的情况下设置 一个或多个部分指示符。

根据该具体的示例性实施例的额外方面,确定是否要设置一个或 多个部分指示符以识别一个或多个脏部分可以至少部分地基于以下至 少之一:确定当前设置一个或多个部分指示符;确定当前设置电子存 储区域的每个部分指示符;确定捕获电子存储区域的分配部分;以及 确定还原(restore)电子存储区域的分配部分。

根据该具体的示例性实施例的额外方面,设置区域指示符可以包 含在易失性电子存储装置中设置指示符和在非易失性电子存储装置中 设置指示符。

根据该具体的示例性实施例的额外方面,设置一个或多个部分指 示符可以包含在易失性电子存储装置中设置指示符和在非易失性电子 存储装置中设置指示符。

根据该具体的示例性实施例的额外方面,识别在非易失性电子存 储装置中设置一个或多个部分指示符的时间可以基于以下至少之一: 确定在特定时间段内未设置额外的部分指示符;确定已经设置电子存 储区域的所有部分指示符;以及与识别时间处的区域相关联的较低水 平的磁盘活动性。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复可以进一步包含在非易失性电子存储装置中已经设置一个或多个 部分指示符之后清除区域指示符。

根据该具体的示例性实施例的额外方面,一个或多个部分指示符 可以包含以下至少之一:位图、运行表、范围和数据结构,用于识别 一个或多个脏数据部分。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复可以进一步包含利用多个等级的区域指示符,其中所述多个等级 的区域指示符能够进一步对电子存储装置的变化跟踪进行细分。

根据该具体的示例性实施例的额外方面,脏部分可以包含以下至 少之一:块、扇区和簇。

根据该具体的示例性实施例的额外方面,脏区域可以包含段。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复进一步包含创建电子存储装置的映像,利用区域指示符将电子存 储装置的映像与电子存储装置的备份相比较从而识别电子存储装置的 脏区域,以及基于确定在备份之后修改了与部分指示符相对应的电子 存储装置的一个或多个部分,更新识别的脏区域的一个或多个部分指 示符。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复进一步包含利用区域指示符创建增量备份从而识别电子存储装置 的脏区域,其中增量备份捕获被指示为脏区域的分配部分,且增量备 份只捕获干净区域中经修改的数据部分。

根据该具体的示例性实施例的额外方面,利用变化跟踪进行系统 恢复进一步包含利用区域指示符从备份中还原一个或多个数据部分, 从而识别电子存储装置中的脏区域,其中对识别的脏区域的分配部分 进行还原,以及其中对干净区域的一个或多个经修改的部分进行还原。

根据该具体的示例性实施例的额外方面,该技术可以实现为用于 存储计算机指令程序的至少一个处理器可读介质,该计算机指令程序 被配置为能够由至少一个处理器读取以指示至少一个处理器执行计算 机处理,从而执行权利要求1中所述的方法。

在另一个具体的示例性实施例中,该技术可以实现为提供利用变 化跟踪进行系统恢复的制造品,该制造品包含至少一个处理器可读介 质和所述至少一个介质上承载的指令,其中所述指令被配置为能够由 至少一个处理器从至少一个介质上读取,因而引起至少一个处理器运 行以执行:接收对电子存储装置的写请求,识别电子存储装置中与写 请求相关联的区域,设置区域指示符以识别电子存储区域为脏的,以 及设置一个或多个部分指示符以识别电子存储区域的一个或多个脏部 分。

在另一个具体的示例性实施例中,该技术可以实现为提供利用变 化跟踪进行系统恢复的系统,该系统包含一个或多个通信地耦合到网 络的处理器,其中一个或多个处理器被配置为接收对电子存储装置的 写入请求,识别电子存储装置中与写入请求相关联的区域,设置区域 指示符以识别电子存储区域为脏的,以及设置一个或多个部分指示符 以识别电子存储装置的一个或多个脏部分。

根据该具体的示例性实施例的其他方面,一个或多个处理器可以 被进一步配置为利用区域指示符执行以下至少之一:系统调和、系统 备份和系统还原。

参考示例性的实施例及其附图将更详细地描述本公开。尽管下面 参考示例性的实施例描述了本公开,但是应当理解,本公开并不限于 这些示例性的实施例。接触本文教导的本领域的普通技术人员将认识 到额外的实现方式、改进和实施例以及其他使用领域,上述的额外实 现方式、改进和实施例均在本文所描述的本公开的范围内,并且相对 于本公开具有显著的效用。

附图说明

为了便于更全面地理解本公开,现在参考附图,在附图中相似的 元件用相似的数字标记。这些附图不应当解释为限制本公开,而意在 仅仅作为示例。

图1示出了根据本公开的实施例的提供系统恢复的系统。

图2示出了根据本公开的实施例的提供系统恢复的模块。

图3描绘根据本公开的实施例的提供系统恢复的方法。

图4描绘根据本公开的实施例的提供系统调和的方法。

图5描绘根据本公开的实施例的提供增量备份的方法。

图6描绘根据本公开的实施例的提供系统还原的方法。

具体实施方式

参考图1,其示出了根据本公开的实施例的提供系统恢复的系统 100。图1是系统100的简化视图,系统100可以包括未描绘的额外元 件。网络元件104和110可以通信地耦合到网络102。网络元件104可 以含有修改跟踪模块114。计算机108可以通信地耦合到网络102。数 据106可以通信地耦合到网络元件104。存储装置112可以通信地耦合 到网络元件110。

网络102可以是局域网(LAN)、广域网(WAN)、因特网、蜂 窝网、卫星网络或允许在网络元件104和110、计算机108和通信地耦 合到网络102的其他设备之间通信的其他网络。

网络元件104和110可以是应用服务器、备份服务器、网络存储设 备、媒体服务器或通信地耦合到网络102的其他设备。网络元件104 和110可以利用存储装置112存储应用数据、备份数据或其他数据。

网络元件104和110可以是主机,例如应用服务器,其可以对在其 本身和备份设备、备份处理器和/或存储装置之间传递的数据进行处理。

网络元件110可以是连接到存储装置112的备份服务器。在一个或 多个实施例中,网络元件110能够对从存储装置112接收的数据或发 送至存储装置112的数据进行处理。在其他的实施例中,网络元件110 可以表示连接存储区域网的网络装置。

计算机108可以是台式计算机、便携式计算机、服务器或其他计算 机。计算机108可以从用户输入、数据库、文件、网络服务和/或应用 编程接口接收数据。计算机108可以询问其他系统和/或本地的或远程 的存储装置,例如数据106、网络元件104和110以及存储装置112。 计算机108可以提供用户接口给备份系统、数据恢复系统或其他数据 管理系统。

数据106可以是网络可访问的存储装置,并且可以是网络元件104 和110的本地存储装置、远程存储装置或其组合。数据106可以使用 磁带、磁盘、存储区域网(SAN)或其他计算机可访问的存储装置。 在一个或多个实施例中,数据106可以表示数据库或另一个应用实例。

在一个或多个实施例中,存储装置112中的数据可以是映像,例如 快照或其他文件系统块级备份。网络元件110可以是备份服务器,其 可以处理备份数据的请求。

网络元件104可以含有修改跟踪模块114。修改跟踪模块114可以 跟踪对数据106的写请求。在一个或多个实施例中,修改跟踪模块114 可以是变化跟踪驱动器。修改跟踪模块114可以跟踪存储器中的写请 求或可以发送写请求至备份服务器或其他网络元件,例如网络元件 110。修改跟踪模块114跟踪的修改可以被存储在存储器中和/或诸如磁 盘的非易失性存储装置中。

根据一个或多个实施例,修改跟踪模块114可以利用多个等级的变 化跟踪。例如,修改跟踪模块114可以含有将诸如数据106的存储空 间逻辑细分为区域的逻辑或数据。存储单元可以存在多个区域,诸如 卷。区域的数量可以取决于卷的大小或其他因素。在一些实施例中, 区域的数量可以是可配置的。区域可以是存储空间的逻辑划分(诸如, 段)。区域可以由多个数据存储部分例如块、扇区和/或簇构成。数据 存储部分(诸如,块)的大小可以取决于操作系统或其他因素。在一 些实施例中,该大小是可配置的。修改跟踪模块114可以在区域等级 和在更细的粒度等级(诸如,块)跟踪变化。

修改跟踪模块114可以创建多个数据结构从而跟踪变化,该数据结 构诸如为位图、运行表(例如,可以提供使用的第一存储部分的地址 和所用的存储单元的长度或数量的数据结构)、阵列、指针、范围和 用于有效识别所用的电子存储部分的其他数据结构。修改跟踪模块114 可以使用第一数据结构来识别已经修改过的电子存储区域,这可以被 称为“脏区域映射(map)”。脏区域映射可以含有针对由修改跟踪模 块114跟踪的存储单元上的每个区域(诸如卷)的一个位(bit)或其 他指示符。脏区域映射可以保持在易失性存储装置和非易失性存储装 置中。

对于每个区域,修改跟踪模块114可以保持含有针对该区域的每个 数据存储部分(诸如块)的一个位或其他指示符的数据结构。这可以 被称为“块映射(map)”。

当修改跟踪模块114检测到写请求时,修改跟踪模块114可以识别 与写请求相对应的区域,并且设置脏区域映射中与该区域相对应的合 适的位或其他指示符。修改跟踪模块114也可以设置存储器中一个或 多个块映射中的合适的位或指示符,合适的位或指示符可以识别每个 脏区域的修改部分。

如上所述,脏区域映射可以保持在易失性存储装置和非易失性存储 装置中。例如,在写之前,可以设置存储器中和磁盘上的脏区域映射 中的合适的位。也可以设置存储器中的一个或多个块映射的(多个) 合适的位。因此,如果发生系统崩溃、不正确的关闭或其他中断,那 么指示一个或多个经修改的区域的脏区域映射可以被保存在非易失性 存储装置中。

然而,根据某些实施例,在处理跟踪的写请求期间,不向非易失性 存储装置写入块映射。例如,写请求可以被写入磁盘,但是用于系统 恢复的经修改的块的跟踪可以被写入存储器(例如,写入一个或多个 块映射)。一旦已经完成写请求,经修改的块的跟踪可以被写入磁盘。 写请求一般可以成组地出现,因此许多写请求可以顺序地出现在相同 区域。对于对该区域的每个随后的写请求,修改跟踪模块114可以检 验存储器中脏区域映射中合适的位被设置以及在不需要额外写入的情 况下可以处理写请求,从而跟踪修改。一旦对区域的写请求已经停止 或暂停,对于在脏区域映射中标志的或标出的一个或多个区域,修改 跟踪模块114可以对非易失性存储装置上的块映射进行写入(例如, 将块映射刷新到磁盘),表明已经修改过哪些块。一旦区域的块映射 已经写入非易失性存储装置,就可以更新脏区域映射以不设置或清除 该区域的指示符(即,将该区域标记为干净的)。

修改跟踪模块114可以使用额外的标志或指示符。例如,可以为每 个区域提供两个额外的指示符。如果之前区域还未脏(例如,自从上 次备份以后区域的块未发生任何变化),那么可以设置第一指示符。 这可以使得修改跟踪模块114将该区域的块映射从存储器直接写入磁 盘,而无需首先检查磁盘上是否存在需要更新的块映射。如果区域中 的每个块均已被修改过,那么可以设置第二指示符。如果区域中的每 个块均已被修改过,那么修改跟踪模块114可以停止跟踪区域中块的 变化(即,随后的操作例如备份操作可以获知需要捕获所有的块)。

如果发生系统崩溃或中断,那么备份部件或过程(例如在网络元件 110上运行的备份过程)可以利用脏区域映射执行调和操作,下面将参 考图4更地详细描述。这可以使得修改变化跟踪继续进行。备份过程 或部件可以执行除了调和操作以外或作为调和操作的可替换操作的其 他操作。例如,备份过程或部件也可以利用脏区域映射和一个或多个 块映射执行增量备份,下面将参考图5更详细地描述。备份过程或部 件可以进一步利用脏区域映射和一个或多个块映射执行还原操作,下 面将参考图5更详细地描述。

现在参考图2,其示出根据本公开实施例的提供系统恢复的恢复变 化跟踪模块210。如图所示,恢复变化跟踪模块210可以含有一个或多 个部件,所述一个或多个部件包括写跟踪模块212、调和模块214、增 量备份模块216、还原模块218和错误处理模块220。

写跟踪模块212可以检测对非易失性存储装置(例如,磁盘)的中 断或写入请求。写跟踪模块212可以确定与写请求相关联的区域,并 设置位、标志或其他指示符来表示该区域是脏的(例如,已经对该区 域写入,但是被跟踪的用于系统恢复的块修改变化还未保存到非易失 性存储装置中的块映射中)。指示符、位或标志可以被设置在存储器 中,并被写入磁盘。

写跟踪模块212可以跟踪诸如块的区域的部分。可以通过设置存储 器中一个或多个块映射中的标志、指示符或位来跟踪这些修改。一旦 对区域的写请求已经消失,那么写跟踪模块212可以将一个或多个块 映射写入非易失性存储装置中(例如,将块映射刷新到磁盘)。可以 基于各种算法确定何时将块映射写入非易失性存储装置。根据某些实 施例,可以监控对区域的写入等级,并且在对区域的写入等级已经降 到特定阈值以下之后的一段特定时间段将一个或多个块映射写入非易 失性存储装置。例如,在对区域的写请求已经停止三十秒以后可以将 块映射写入存储装置。

一旦区域的一个或多个块映射已经被写入非易失性存储装置,写跟 踪模块212可以将该区域标记为干净的。写跟踪模块212可以通过清 除或设置与脏区域映射中合适区域相对应的指示符、标志或位,将区 域标记为干净的。脏区域映射可以含有多个区域指示符。根据某些实 施例,写跟踪模块212可以管理多个等级的脏区域映射。例如,最高 等级映射可以含有与次等级的脏区域映射相对应的指示符。这些脏区 域映射中的每一个都可以包含多个块映射。区域的块映射数、区域的 层数或等级数、块映射的大小以及脏区域映射的大小可以由许多因素 决定,包括存储空间大小、可用存储器、用户偏好和计算的备份系统 操作的处理时间。

调和模块214能够在系统崩溃、不正确地关闭、断电或其他系统中 断之后对修改跟踪进行调和。这种调和能够使得脏区域中的修改被识 别并被写入非易失性存储装置中的一个或多个块映射,以便将脏区域 设置为干净的(例如,可以重新设置脏区域映射中对应的指示符)。 调和模块214可以创建映像(image),例如在系统崩溃或其他断电之 后的存储装置的快照。然后调和模块214可以利用脏区域映射将该映 像与最近的备份进行比较。调和模块214可以检查与最近备份的相应 部分相对的一个或多个部分的映像,例如块。调和模块214可以只检 查由脏区域映射标记为脏的区域内一个或多个部分的映像和/或备份。 可以更新与不同于映像的备份部分相对应的一个或多个块映射,从而 表明已经修改过这些部分(例如,这些区域可能已经被指示为脏的, 因为调和操作可能旨在调和标记为脏的区域)。一旦已经在脏区域的 相应块映射中合适地指明脏区域的经修改部分,那么对于那个区域而 言调和过程已经完成。当所有的脏区域都已被调和时,调和过程完成。 取决于用户偏好、系统设置或其他因素,调和过程可以只在存储器中 对脏区域内的块映射执行更新。根据对非易失性存储区域(例如,磁 盘的扇区)的写活动等级,稍后可以执行对块映射的非易失性拷贝的 写入。

在一个或多个实施例中,当调和模块214创建映像时,可以创建第 二组变化跟踪映射。利用先前的变化跟踪映射组(即,一个或多个脏 区域映射和一个或多个块映射),调和过程可以继续。修改跟踪可以 继续,并可以使用第二组变化跟踪映射。在调和过程结束之后,先前 的脏区域映射可能不需要,并可以丢弃。先前的块映射可以与稍后时 间(例如,备份时)的新的块映射组合起来。

增量备份模块216能够在系统崩溃、断电或其他中断之后进行增量 备份。对于脏区域映射中指示为干净的一个或多个区域(例如,脏区 域映射中未标志的区域),可以备份一个或多个区域的一个或多个块 映射中标记为经过修改的部分(例如,块)。对于脏区域映射中标记 为脏的一个或多个区域,可以备份一个或多个区域中所有使用过的存 储部分。这比完全备份快得多,并且与对于每次写入标志非易失性存 储装置中每个经修改的部分(例如,块)的情况相比较,使用更少的 空间和需要更少的花销和I/O处理。

还原模块218能够在系统崩溃、断电或其他中断之后进行数据还 原。用户可能希望倒转数据或将系统返回至更早的状态(例如,系统 崩溃是由于软件升级或软件安装导致的,并且还原可以回到更早的稳 定版本)。还原模块218可以直接使用脏区域映射和一个或多个块映 射来识别要还原的变化数据。在脏区域映射中指示为干净的一个或多 个区域中,还原模块218可以只还原由一个或多个块映射指示的自从 上次备份之后修改的数据部分。在脏区域映射中标记为脏的一个或多 个区域中,还原模块218可以还原数据的所有部分或块。脏区域的数 量一般可能是较小的,并且干净区域中的变化部分的数量可能明显小 于整个区域。因此,还原时间和I/O处理明显小于进行完全还原的还原 时间和I/O处理。

错误处理模块220可以执行与修改跟踪、修改跟踪的调和、备份和 还原相关的错误。错误处理模块220可以记录错误,例如在修改跟踪 期间发生的错误和与事件相关的其他错误。

参考图3,其描绘了根据本公开实施例的提供系统恢复的方法300。 方法300可以在方框302处开始。

在方框304处,方法300可以包含接收对存储装置的写入请求。可 以由跟踪对存储装置(诸如,磁盘、磁带或其他存储介质)的写请求 的设备驱动器来接收该请求。

在方框306处,方法300可以包含识别与写请求的目标存储区相关 联的区域。存储区的一个或多个区域(诸如卷)的大小和数量可以根 据存储区的大小、操作系统或其他因素而变化。一旦已经识别与写请 求相对应的区域,则可以识别与脏区域映射对应的相应指示符、标志 或位。在一些实施例中,可能存在多个脏区域映射,并可以识别合适 的脏区域映射(例如,最高等级的脏区域映射可以含有多个较低等级 的脏区域映射的指示符,其可以提供对存储装置的进一步细分)。

在方框308处,方法300可以包含确定是否需要设置脏区域指示符、 位或标志。在自从区域的一个或多个块映射被刷新到磁盘之后第一次 对该区域写入期间,该区域可能在脏区域映射上被指示为干净的,并 且该区域可能需要设置指示符来表示该区域是脏的。如果在该区域出 现过其他写入并且未记录在非易失性存储装置中的一个或多个块映射 中,那么该区域可能已经在脏区域映射中被指示为脏的。当确定是否 要设置区域为脏时可以考虑其他因素。例如,如果区域的每个部分均 已经在非易失性存储装置中相应的块映射中被指示为经过修改,那么 在一些实施例中不需要将区域标记为脏的。如果要设置相应的区域指 示符,那么方法300可以在方框310处继续。如果不需要设置相应的 区域指示符,那么方法300可以在方框312处继续。

在方框310处,方法300可以包含设置对应于要标记为脏的区域(即 接收到写请求的区域)的合适的标志、位或指示符。可以在存储器中 设置该标志、位或其他指示符,然后将脏区域映射的更新部分写入诸 如磁盘的非易失性存储装置。在将脏区域映射更新写入非易失性存储 装置之后,方法300可以在方框311处继续。

在方框311处,可以完成写请求。在写请求中识别的数据可以被写 入诸如磁盘的非易失性存储装置。

在方框312处,方法300可以包含确定是否要向非易失性存储装置 写入与写请求期间经修改的存储部分相对应的一个或多个块指示符。 块指示符可以设置在存储器的块映射中。然而,也可以确定是否要将 块映射从存储器写入诸如磁盘的非易失性存储装置。基于存储装置I/O 处理等级可以做出确定,例如与磁盘相应的区域相关联的I/O处理等 级。在一个或多个实施例中,可以考虑其他因素。例如,当区域的每 个部分已被指示为在非易失性存储装置上经过修改时(例如,先前在 非易失性存储装置中已经设置该区域的所有块映射位,并且该区域先 前已经被标记为干净的),可以设置标志或指示符。如果因为已经设 置区域的所有块指示符或因为其他因素而不需要设置该区域的一个或 多个块指示符,那么方法300可以在方框320处结束。如果由于存储 装置I/O处理等级或其他因素而在目前不需要设置区域的一个或多个 块指示符,那么方法300可以在方框314处继续。如果要设置区域的 一个或多个块指示符,那么方法300可以在方框316处继续。

在方框314处,方法300可以包含等待。等待时段可以由用户指定、 由系统指定、由算法确定或作为输入被接收。在等待时段终止之后, 方法300可以返回至方框312。

在方框316处,方法300可以包含设置与经修改的块相对应的块指 示符。一个或多个块映射可以被写入非易失性存储装置。这可以包括 从非易失性存储装置中读取先前的块映射,并将其更新。在一些实施 例中,可以使用额外的指示符。例如,可以具有在区域先前还未脏的 情况下为该区域设置的指示符。如果该指示符被设置,那么在更新块 映射之前,对该区域的块的更新不需要从非易失性存储装置中读取到 块映射中,因为该区域的块映射先前并未设置指示符。

在方框318处,方法300可以包含清除一个或多个区域指示符。一 旦区域的所有块映射已经被写入存储装置,那么可以清除相应的脏区 域映射中的区域指示符。

在方框320处,方法300结束。

参考图4,其描绘根据本公开实施例的提供系统调和的方法400。 方法400可以在方框402处开始。

在方框404处,方法400可以包含确定或接收关于是否要继续变化 跟踪或执行另一行动(例如备份或还原)的输入。如果继续进行变化 跟踪,那么方法400可以在方框414处继续。否则,方法400可以在 方框406处继续。

在方框406处,方法400可以包含确定或接收关于要采取的进一步 行动的输入。如果要进行备份,那么方法400可以在方框410处继续。 如果要执行还原操作,那么方法400可以在方框408处继续。

在方框408处,方法400可以包含执行还原操作。下面参考图6 将更详细地描述利用变化跟踪执行还原操作。

在方框410处,方法400可以包含执行备份,例如增量备份。下面 参考图5将更详细地描述利用变化跟踪执行增量备份。

在方框414处,方法400可以包含创建存储装置的映像,例如快照。 根据一个或多个实施例,一旦已经创建映像,就可以继续进行变化跟 踪。

在方框416处,方法400可以包含将区域中由脏区域映射指示为脏 的映像部分与备份中的相应部分进行比较。该比较可以识别自从创建 备份以后已经修改过的脏区域的一个或多个部分。

在方框418处,方法400可以包含更新一个或多个块映射上的一个 或多个标志、位或其他指示符。该更新可以对应于在方框416中识别 为经修改的部分。

在方框420处,方法400可以包含继续进行变化跟踪。

在方框422处,方法400结束。

参考图5,其描绘根据本公开实施例的提供增量备份的方法500。 方法500可以开始于方框502处。

在方框504处,方法500可以包含确定区域是干净的还是脏的。方 法500可以包含利用一个或多个脏区域映射来识别映射上相应的脏区 域指示符。如果相应的指示符被设置,那么方法500可以在方框508 处继续。如果相应的指示符未被设置,那么方法500可以在方框506 处继续。

在方框506处,方法500可以包含捕获指示为在被指示为干净的区 域中改变的备份块。可以只捕获改变的块的子集,即由文件系统分配 的块。

在方框508处,方法500可以包含捕获在被指示为脏的区域中由文 件系统分配的备份块。

在方框510处,方法500可以包含确定是否存在更多要备份的区域。 如果存在更多要备份的区域,那么方法500可以返回至方框504。如果 不存在要备份的区域,那么方法500可以在方框512继续。

在方框512处,方法500可以包含复制备份数据。这种复制可以减 少和/或去除冗余数据,并可以降低备份数据所需的存储空间和I/O处 理。例如,如果在方框508处捕获的某些块自从先前的备份之后还未 改变,那么该步骤可以识别出那些块是先前已经备份过的。这可以防 止对这些块进行二次存储(即冗余存储)。

在方框514处,方法500可以结束。

参考图6,其描绘了根据本公开实施例的提供系统还原的方法600。 方法600可以在方框602处开始。

在方框604处,方法600可以包含确定区域是干净的还是脏的。方 法600可以包含利用一个或多个脏区域映射来识别映射上相应的脏区 域指示符。如果设置了相应的指示符,那么方法600可以在方框608 处继续。如果并未设置相应的指示符,那么方法600可以在方框606 处继续。

在方框606处,方法600可以包含还原备份部分,例如指示为在被 指示为干净的区域中改变的块。

在方框608处,方法600可以包含还原在被指示为脏的区域中的所 有备份块。

在方框610处,方法600可以包含确定是否需要还原额外的区域。 如果需要还原额外的区域,那么方法600可以返回至方框604。如果不 需要还原额外的区域,那么方法600可以在方框612处继续。

在方框612处,方法600结束。

此时,应注意,如上所述的根据本公开的提供系统恢复一般包括处 理输入数据和在某种程度上产生输出数据。该输入数据处理和输出数 据生成可以实现为硬件或软件。例如,特定电子部件可以被用于系统 恢复模块或相似电路或相关电路,以实现与如上所述的根据本公开的 提供系统恢复相关联的功能。可替换地,根据指令运行的一个或多个 处理器可以实现与如上所述的根据本公开的提供系统恢复相关联的功 能。如果是这种情况,那么这些指令可以存储在一个或多个处理器可 读介质(例如,磁盘或其他存储介质)上,或者这些指令经由包含在 一个或多个载波中的一个或多个信号发送至一个或多个处理器中,以 上均在本公开的范畴内。

本公开的范围并不由此处描述的具体实施例限定。事实上,根据前 述的说明书和附图,除了此处所描述的实施例以外的本公开的其他各 种实施例及其改进对本领域技术人员来说显而易见的。因此,这些其 他实施例和其改进落在本公开的范围内。进一步,尽管为了特定的目 的在具体环境的具体实现方式的背景下,在本文已经描述了本公开, 但是本领域技术人员将认识到其有用性并不限于此,以及可以在为了 许多目的的许多环境中有利地实施本公开。因此,应从本公开的完整 宽度和精神角度解释所附的权利要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号