CN102567142B - 系统复位和系统恢复 - Google Patents

系统复位和系统恢复 Download PDF

Info

Publication number
CN102567142B
CN102567142B CN201110419987.7A CN201110419987A CN102567142B CN 102567142 B CN102567142 B CN 102567142B CN 201110419987 A CN201110419987 A CN 201110419987A CN 102567142 B CN102567142 B CN 102567142B
Authority
CN
China
Prior art keywords
file system
system portion
virtual disk
disk
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110419987.7A
Other languages
English (en)
Other versions
CN102567142A (zh
Inventor
D.T.李
V.奥盖尔
K.P.苏布拉曼亚
S.S.K.P.库马卡斯图里
郑洪流
苑钰楠
G.W.尼科尔斯
S.多尔
K.K.道卢鲁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102567142A publication Critical patent/CN102567142A/zh
Application granted granted Critical
Publication of CN102567142B publication Critical patent/CN102567142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于执行系统复位和/或系统恢复操作的技术。所述技术允许使用随着时间推移而捕捉的差分虚拟磁盘,对虚拟硬盘上存储的数据文件发生的任何变化的记录进行存储。为将文件恢复到其在任意特定时间点所处的状态,系统被回滚到在该时间点上或在该时间点之前捕捉的差分虚拟磁盘并且搁置在该时间点之后捕捉到差分虚拟磁盘链的块。为执行系统复位,通过搁置差分虚拟磁盘链的所有块,可以将系统回滚到父虚拟硬盘。系统上的信息可被分隔成多个实体。为每一实体而保存分开的差分虚拟磁盘集合,所述实体例如为操作系统、应用和用户数据。

Description

系统复位和系统恢复
技术领域
该申请涉及计算机软件,具体而言,涉及用于恢复或复位计算机的计算机软件。
背景技术
一些传统的操作系统为用户提供将操作系统和/或计算机执行的应用程序“回滚(rollback)”或“恢复”到先前时间点上这些组件所处的状态的能力。例如,“系统恢复”能力可以允许用户回滚系统文件、注册表项、安装的应用、和/或其他组件到在系统故障或失灵之前这些组件所处的状态。类似地,某些操作系统提供执行“系统复位”的能力,据此操作系统和/或应用被复位到其原始的“工厂”设置。通常情况下,系统复位涉及执行系统恢复以将该系统带回到在操作系统和/或应用程序作出任何更改之前其最初所处的状态。(在此,为了方便,使用术语“系统恢复”和“系统复位”来引用这些能力,但是这些术语之一的术语与用于描述任一传统操作系统所提供的能力的术语之间的相似性不应看成是将该术语限制为由那些操作系统所提供的功能)。
发明内容
申请人已经意识到在执行系统复位的传统方法中存在许多不足。例如,使用传统方法进行系统复位存在不必要的耗时。在这方面,使用传统方法进行系统复位可能需要二十分钟到几个小时。此外,传统的方法难于保证用户的数据在系统复位时不受影响,因为传统的系统没有实施系统数据(例如,包括操作系统和/或应用程序)和用户数据之间的明确“分界线”。此外,传统的方法不提供在执行系统复位之后而能够“撤销(undo)”该系统复位的能力。
申请人也意识到,传统系统存储、管理数据和应用程序的方式导致至少一些这些不足。在这方面,执行系统复位的传统方法通常试图让用户数据不变。然而,由于缺乏系统数据和用户数据之间的一个明确分界线,执行系统复位往往导致用户数据被意外删除。由于传统系统不提供“撤消”系统复位的能力,用户通常没有任何依靠并且无法去恢复任何由于执行系统复位而丢失的数据。关于应用,虽然有些系统在其被新的版本代替时会存储应用程序旧版本的副本(例如,将旧版本移动到指定的存档位置),其他的不这样做,使得将该系统复位到先于更新应用之前的点,可能导致该应用被丢失。
本发明一些实施例通过修改数据和应用的存储和管理的方式来弥补与执行系统复位的传统方法相关的这些和其他的缺陷。例如,本发明的一些实施例存储随着时间的推移而捕获到的一个或多个其他文件中数据文件所执行的任何变化的记录。例如,本发明一些实施例可以采用差分虚拟磁盘(differencingvirtualdisk)以分隔和存储虚拟硬盘上的数据变化。(此处使用的术语“虚拟硬盘”涉及用于表示一个硬盘或其部分的任意软件构造,无论是现在已知的或以后开发的。)例如,差分虚拟磁盘表示一种“快照”,其捕获自从最后的差分虚拟磁盘被存储以来“父”虚拟硬盘上数据的所有变化。在预定的周期(例如,每周,和/或一些其他的时间间隔)和/或一旦发生一个或多个预定事件,可以开始一个新的差分虚拟磁盘,使得随着时间的推移创建用于捕捉对父虚拟硬盘所做的变化的链。当用户访问文件时,系统提供原始文件以及随着时间的推移而捕捉到的差异虚拟磁盘中存储的任何变化的复合。为将文件恢复到它在任何特定的时间点所处的状态,该系统可回滚到一个特定的差分虚拟磁盘。为执行系统复位,系统可回滚到父虚拟硬盘。
本发明的一些实施例将硬盘驱动器上存储的信息分隔成多个实体,并且为每一实体而保存差分虚拟磁盘的分开的集合。例如,一些实施例将硬盘上存储的信息分隔成操作系统、应用和用户数据实体。由于随着时间的推移,在每个实体中存储的信息发生了变化,可以在为实体而保存的差分虚拟磁盘的链中捕捉这些变化。结果,通过还原到在特定的时间点或该时间点之前存储的差分虚拟磁盘,而可以将任意单个实体恢复到该特定的时间点。可替换的是,通过还原到实体的父虚拟硬盘而可以对实体进行复位。保存分开的实体,可以实施系统上用户数据与非用户数据之间的一个明确分界线,从而减少了在执行系统复位时用户数据被无意中丢失的风险。此外,保存独立的实体允许用户有选择地复位或恢复一个或多个实体,而保留一个或多个其他实体在它们当前状态不被改变。例如,用户可以将操作系统复位到其出厂状态,同时保持应用和用户数据在其当前状态不被改变。
以上是对本发明非限制性的概述,在所附权利要求中对本发明进行限定。
附图说明
附图不是按比例绘制。在附图中,在各个图形中示例的每个相同或几乎相同的组成部分通过相似的数字表示。为了清楚起见,不是每一个组件都标记在每一个绘图中,在所述附图中:
图1是框图,其描述根据本发明一些实施例,用于将与操作系统、应用和用户数据的每一个相关的信息分隔成分开的实体的实例技术;
图2是框图,其描述根据本发明一些实施例,用于随着时间推移将变化存储至实例实体的实例技术;
图3是框图,其描述根据本发明一些实施例,用于将实体恢复到其在特定时间点所处的状态的实例技术;
图4是框图,其描述根据本发明一些实施例,用于“撤销”恢复操作的实例技术;
图5是框图,其描述根据本发明一些实施例,用于执行系统复位的实例技术;
图6是框图,其描述用于实现本发明一些实施例的实例计算机;以及
图7是框图,其描述其上记录了体现本发明多个方面的指令的实例存储器。
具体实施方式
本发明某些实施例提供用于执行系统复位或系统恢复操作的技术。这些技术例如借助于修改传统的系统存储、管理数据和应用的方式来实现。例如,一些实施例通过使用随着时间的推移而被捕捉的差分虚拟磁盘来存储对于虚拟硬盘上存储的数据文件所产生的任意变化的记录。例如,差分虚拟磁盘表示,自从最后的差分虚拟磁盘被存储以来对父虚拟硬盘上的数据所作的变化的快照。一个新的差分虚拟磁盘可在以下时刻被开始,例如,在预定的周期上、当发生一个或多个预定事件时,和/或使用任意多个其他方法。当用户访问文件时,系统提供父虚拟硬盘上存储的原始文件以及在随着时间推移所捕获的差分虚拟磁盘链中表示的任何变化的复合。为将文件恢复到其在任何特定的时间点上所处的状态,本发明实施例通过搁置在该时间点之后捕捉到的差分虚拟磁盘链的块,而允许回滚系统到该时间点或该时间点之前所捕捉到的差分虚拟磁盘。类似地,为执行系统复位,本发明实施例通过搁置差分虚拟磁盘链所有的块,而允许回滚系统到父虚拟硬盘。此外,本发明一些实施例保存先前搁置的差分虚拟磁盘链的块,使得通过再次附着(reattach)某些或全部的块,而能够全部或部分地撤销系统还原或系统复位。
此外,发明的一些实施例将所存储的信息分隔成多个实体。为每一实体而保存差分虚拟磁盘的分开的集合。例如,在一些实施例中,为操作系统、应用和用户数据中的每一个而创建实体,并且,随着时间的推移而捕捉差分虚拟磁盘。通过保存分开的实体,发明实施例减少了在执行系统复位时意外删除用户数据的风险。另外,保存分开的实体允许用户有有选择地复位或恢复一个或多个实体,同时保留一个或多个其他的实体在它们的当前形式。
图1描述了将所存储的信息分隔成多个实体的实例方式。具体而言,在所示的实例中,创建了操作系统、应用和用户数据。应当理解的是:在该方面上,图1仅是实例性的,因为通过使用任意合适的分隔标准,可以将信息分隔成任意合适数量的实体。例如,可有选择地将所存储的信息分隔成两个实体,一个实体存储系统数据(例如,操作系统和应用),而另一个实体存储用户数据。在另一实例中,不同的实体可以为不同用户存储数据。本发明的实施例并不限于使用任意特定技术或分隔标准来分隔信息。
在图1的实例中,所示的三个实体是通过将文件系统的顶层文件夹划分为分开的虚拟硬盘来创建的。使用一种MicrosoftWindows操作系统家族所采用的比喻(metaphor)来示例(虽然应当理解,本发明的实施例并不限于使用任何特定的操作系统),存储有涉及操作系统的信息的虚拟硬盘105可以存储在C:\WINDOWS顶层文件夹下存放的所有的文件夹及文件。存储涉及应用的信息的虚拟硬盘110存储在C:\ProgramFiles文件夹下存放的所有的文件夹和文件。存储用户数据的115虚拟硬盘可以存储在任何其他顶层文件夹下存放的所有文件夹和文件。当然,可以通过使用任意合适的标准来完成将数据分隔成独立的实体,其可以或不用关于操作系统提供的文件系统或任意其他能力的方面来定义。发明的实施例并不局限于任何特定的实现方式。
在所示的实例中,抽象(abstract)170将存储在分开的虚拟硬盘105、110和115中的信息呈现为单个实体(例如文件系统)。结果,通过使用熟悉的比喻(例如,借助于C:\Windows文件夹),用户可以访问与操作系统有关的信息,尽管信息存储在一个分开的虚拟硬盘(即,虚拟硬盘105),而不是存储在存储有与应用或用户数据有关信息的虚拟硬盘。此外,其数据存储在所有虚拟硬盘上的单个文件系统由抽象170进行呈现。当然,发明的实施例并不限于使用抽象来表示图1所示方式中存储的数据,实际上可以使用任何抽象。
在一些实施例中,每一虚拟硬盘105、110和115使用差分虚拟磁盘链来捕捉随着时间推移而对存储文件所作的变化。图2描述针对实例实体捕捉差分虚拟磁盘的实例技术。在图2所示的实例中,父磁盘205表示任意虚拟硬盘105、110或115。父磁盘205是,例如,不可修改的。随着时间的推移,捕捉差分虚拟磁盘210、215、220和225的链。具体地,在所示实例中,自从创建差分虚拟磁盘之后预定的时间周期的经过导致关闭该差分虚拟磁盘并创建另一个差分虚拟磁盘。结果,图2示例了差分虚拟磁盘210在时间点230被创建,而在时间点235处被关闭,使得差分虚拟磁盘210存储在时间间隔A上的父磁盘205的变化。然后差分虚拟磁盘215被创建,并且捕捉在时间点235和240之间(也就是时间间隔B)父磁盘205的所有变化,直到在时间点240被关闭为止。然后,差分虚拟磁盘220被创建,并且捕捉时间点240到245之间(也就是时间间隔C)父磁盘205的所有变化,直到在时间点245被关闭为止。然后,差分虚拟磁盘225被创建,并且开始在时间点245捕捉父磁盘205的变化。在所示实例中,差分虚拟磁盘225应当在尚未到达的时间点250处被关闭。
图3描述了一种是用差分虚拟磁盘以将系统恢复到特定时间点的实例技术。具体地,图3基于图2所示实例构建以说明将系统恢复到时间点240的实例方式。这可以因为任意许多原因而被执行。例如,用户开始遇到他/她的计算机问题,并且推测(1)问题与应用相关而不是与操作系统相关;(2)问题在时间点240之后开始出现。然后,用户寻求将存储与应用相关的信息的差分虚拟硬盘(也就是,图1所示实例中的虚拟硬盘110)恢复到该信息在时间点240所处的状态。在所示的实例中,通过选择在时间点235创建并且在时间点240关闭的差分虚拟磁盘215,将与应用相关的信息恢复到时间点240。差分虚拟磁盘220和225被搁置(例如,保存,删除,或任何其他合适方式的行动),创建差分虚拟磁盘255来替换差分虚拟磁盘220以反映时间点240之后对应用信息所做的任何变化。例如,在搁置差分虚拟磁盘220和225之后可以创建差分虚拟磁盘255。作为这种变化的结果,应用信息的“当前状态”不再通过图2所示的父磁盘205和差分虚拟磁盘210、215、220和225的总和来反映,而是通过父磁盘205和差分虚拟磁盘210、215和255来反映。
如以上所述那样,可以保存差分虚拟磁盘220和225,以至于通过将被保存的差分虚拟磁盘再次附着到链来提供用于撤销图3所示恢复的灵活性。图4示出了一个实例。在图4中,差分虚拟磁盘255(其在图3的实例中替换了该链中的差分虚拟磁盘220)存储时间点240和245之间(也就是,时间间隔C)对父磁盘205所做的变化,并在时间点245被关闭,届时创建差分虚拟磁盘260。在所示的实例中,差分虚拟磁盘260应当在尚未到达的时间点250关闭。
通过搁置差分虚拟磁盘255(以及,隐含地,差分虚拟磁盘260),支持被保存的差分虚拟磁盘220,以撤销图3所示的系统恢复。这可以通过任意许多方式来实现,诸如通过从存储中重新获得差分虚拟磁盘220。作为该操作的结果,系统的“当前”状态还原到通过父磁盘205和差分虚拟磁盘210、215、220和225的总和来反映,不再通过如图3所示的父磁盘205和差分虚拟磁盘210、215、255和260的总和来反映。应当理解的是,在一些实施例中,差分虚拟磁盘255和260可以被保存而非删除,从而提供“撤销所述撤销”的能力,如所希望那样的话。
也应当理解的是:尽管在执行系统恢复的环境下给出了先前的实例,但是所公开的技术也可以适用于执行系统复位。这样的实例在图5中示出。具体地,图5描述了一种如下所述的实例:其将实体复位到其“原始”状态(例如在安装之后进行任何修改之前),这是通过搁置存储有在实体处于“原始”状态之后所做的变化的所有差分虚拟磁盘来实现的。
在图5的实例中,将存储有自时间点230之后对父磁盘205所做的所有变化的差分虚拟磁盘210、215、220和225搁置,转而支持差分虚拟磁盘265。例如,在将差分虚拟磁盘210、215、220和225搁置之后,创建虚拟磁盘265。结果,差分虚拟磁盘210、215、220、225中存储的任何变化被消除,以至于现在通过父磁盘205和差分虚拟磁盘260来反映系统的“当前”状态。
应当理解的是:因为本发明实施例为每一实体而保存分开的差分虚拟磁盘链,每一实体可独立地进行恢复或复位。例如,可以将操作系统复位到其工厂设置,可以将应用恢复到他们在第一时间点所处的状态,以及将用户数据恢复到用户数据在第二时间点所处的状态。使用图2-5所示的实例时间线来说明:父磁盘205存储的操作系统信息可被复位到时间点230、应用信息可被恢复到该信息在时间点235所处的状态、以及用户数据可被恢复到该数据在时间点245所处的状态。此外,在不影响对一个或多个其他实体执行的恢复或复位的情况下,可以撤销这些恢复或复位操作中的任意一个操作。
也应当理解的是:尽管以上给出的实例涉及分开的操作系统、应用和用户数据实体,但是发明实施例并非限于以该方式分隔信息。实际上,本发明的一些实施例根本不用分隔信息,而是保存单个实体,该实体将操作系统、应用和用户数据存储在单个父磁盘和差分虚拟磁盘链中。该单个实体能够反映系统的整体状态,而不是仅仅反映操作系统、应用或用户数据的状态,或这些信息集合的子集的状态。发明实施例并不限于任何特定的实现方式。
可以进一步理解的是:并非所有的本发明实施例都使用虚拟硬盘和差分虚拟磁盘来执行在此公开的功能。可以采用任何合适的方式存储其在最初所处的“父”状态中的信息以及一个或者多个“子”数据结构的集合来反映相比于父状态的变化,因为发明实施例并不在该方面上受到限制。
用于实践本发明特征的系统和方法的各个方面可以在一个或多个计算机系统上实现,诸如图6所示的示例性计算机系统600。计算机系统600包括输入设备602、输出设备601、处理器603、存储器系统604以及存储606,它们借助于互联机制直接或间接耦合,所述互联机制可以包括一个或多个总线、交换机、网络和/或任意其他合适的互联。输入设备602接收来自用户或机器(例如,操作者)的输入,输出设备601显示或传输信息给用户或机器(例如,液晶显示器)。在其他的情况下也能够使用输入和输出设备以提供一个用户接口(界面)。能够被使用以提供用户接口的输出设备的实例包括用于输出的视觉呈现的打印机或显示器屏幕以及用于输出的音频呈现的扬声器或其他产生声音的设备。能够用于用户接口的输入设备的实例包括键盘、和指点设备诸如鼠标、触摸垫和数字输入板。作为另一实例,计算机经由语音识别或其他音频格式来接收输入信息。
处理器603通常执行被称为操作系统(例如微软Windows家族操作系统,或者其他合适的操作系统)的计算机程序,其控制其他计算机程序的执行,以及提供调度、输入/输出和其他设备控制、解释(accounting)、编译、存储分配、数据管理、存储器管理、通信和数据流控制。总的来说,处理器和操作系统定义了为其编写应用和其他计算机程序语言的计算机平台。
处理器603也可以执行一个或多个计算机程序以实现各种功能。这些计算机程序可以以任意类型的计算机程序语言进行编写,包括过程编程语言(proceduralprogramminglanguage)、面向对象的编程语言、宏语言、或它们的组合。这些计算机程序被存储在存储系统606。存储系统606将信息保存在易失性或非易失性介质上,并且可以是固定的或可移动的。图7更为详细地示出了存储系统606。
存储系统606包括有形的计算机可读和可写非易失性记录介质701,其上存储的信号定义了计算机程序或要由该程序使用的信息。例如,该记录介质是磁盘存储器、闪存储器、和/或任意其他的可用于记录和存储信息的制品。通常,在操作中,处理器603使得数据被从非易失性记录介质701读入到易失性存储器702(例如,随机访问存储器,或RAM),与从记录介质701读取数据相比,这允许处理器703更快的访问该信息。如图6所示,存储器702可以位于存储系统606或存储器系统604中。处理器603通常操作存储器604、702内的数据,然后在处理完成之后将数据复制到介质701。用于管理介质701和存储器604、702之间数据移动的各种机制是已知的,并且本发明不限于现在已知的或是以后开发的任意机制。本发明也不限于特定的存储器604或存储系统606。
已经描述了该发明至少一个实施例的多个方面,应该理解的是:对于本领域技术人员而言,各种替换、修改和改进是没有困难的。所述替换、修改和改进作为该公开内容的一部分,其属于发明的精神和范围之内。因此,先前的描述和附图仅作为实例。
以上描述的本发明的实施例能够以任意许多方法来实现。例如,可以使用硬件、软件或它们的组合来实现。当以软件形式实现时,软件代码能够在任意合适的处理器或处理器集合上执行,而不管该软件代码提供在单个计算机还是分布在多个计算机和/或系统之中。尽管处理器可以使用任意合适形式的电路来实现,这样的处理器可以实现为集成电路,其在集成电路组件中具有一个或更多的处理器。
应当理解的是:执行在此所述功能的任意部件或部件集合通常能够被设想成用于控制以上讨论功能的一个或多个控制器。能够以许多方式实现所述一个或多个控制器,诸如利用专用硬件,或者通过使用一个或多个使用微编码或软件编程的处理器来执行上述功能。其中控制器存储或者提供用于系统操作的数据,所述数据可以存储在中心存储库、多个存储库或它们的组合。
应当理解的是:计算机可以具体化为任意多种形式,诸如机柜安装计算机、台式计算机、膝上型计算机、或平板计算机。另外,可以将计算机嵌入如下设备,其通常不被视为计算机,但是具有适当的处理能力,包括个人数字助理(PDA)、智能手机或任意其他合适的便携或固定式电子设备。
并且,计算机可以具有一个或多个输入和输出设备。这些设备可被用于特别是提供用户接口。能够被使用以提供用户接口的输出设备的实例包括用于输出的视觉呈现的打印机或显示器屏幕以及用于输出的音频呈现的扬声器或其他产生声音的设备。能够用于用户接口的输入设备的实例包括键盘,和指点设备诸如鼠标、触摸垫和数字输入板。作为另一实例,计算机经由语音识别或其他音频格式来接收输入信息。
这样的计算机可以通过任意合适形式的一个或多个网络进行互联,包括局域网或广域网,诸如企业网络或互联网。所述网络基于任意合适的技术并且根据任意合适的协议而运作且可以包括无线网络、有线网络或光纤网络。
并且,可以将在此概述的各种方法或处理编码为在使用多种操作系统或平台任意之一的一个或多个处理器上执行的软件。另外,所述软件可以使用任意多种合适的编程语言和/或编程或脚本工具进行编写,并且也被编译为可执行的机器语言代码或在架构或虚拟环境中执行的中间代码。
在该方面中,发明可以具体化为一种计算机可读介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩盘(CD)、光盘、数字视频盘(DVD)、磁带、闪速存储器、现场可编程门阵列内的电路配置或其他半导体设备、或其他非瞬时有形的计算机可读存储介质),用一个或多个程序对其编码,当在一个或多个计算机或其他处理器上执行所述程序时,执行实现以上讨论的本发明各种实施例的方法。计算机可读介质或媒体能够是可移植的,使得其上存储的程序或多个程序能够载入到一个或多个不同计算机或其他处理器以实现以上讨论的本发明的各个方面。如在此使用的那样,术语“非瞬时计算机可读存储介质”仅包括能够被认为是一种产品(也就是制造的制品)或机器的计算机可读介质。
在此使用的术语“程序”或“软件”一般意义上涉及任意类型的计算机代码或计算机可执行指令集,其能够被使用以编程计算机或其他处理器来执行如上所述本发明各个方面。另外,应当理解的是,根据该实施例的一个方面,当被执行时实现本发明的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器,但是可以以模块化方式分布在许多不同计算机或处理器之中以实现本发明的各个方面。
计算机可执行指令可以是许多形式,诸如一个或多个计算机或其他设备执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、数据结构等等。通常,在各种实施例中,程序模块的功能可以根据需要被组合或分布。
并且,可以以任意合适的形式将数据结构存储在计算机可读介质中。为简单说明起见,数据结构被示为具有与数据结构中的位置相关的字段。所述关系同样可以通过以下方式来实现,即利用计算机可读介质中的位置分配字段存储,其传送字段之间的关系。然而可以使用任意合适的机制以建立数据结构字段中信息之间的关系,包括通过使用指针、标签或建立数据元素之间关系的其他机制。
可以单独、组合或以先前描述实施例中没有具体讨论过的各种布置来使用本发明的各个方面,因此并未将其应用限制到先前描述所阐述的细节或附图所示的部件布置。例如,可以以其他实施例所述方面的任意形式来组合一个实施例中所述的方面。
并且,本发明可以体现为一种方法,已经提供了该方法的实例。可以以任何合适的方式排序作为方法的部分所执行的动作。因此,可以构建实施例,其中的动作以不同于所示顺序的顺序来执行,其可以包括同时执行一些动作,尽管在此所述的说明性实例中被示为顺序动作。
权利要求中使用诸如“第一”、“第二”、“第三”等等的次序术语来修饰权利要求元素并不是暗示其本身任何优先权、先后次序或一个权利要求元素在另一权利要求元素之上的次序或执行方法动作的时间次序,而是仅用作为一种用于区分具有某一名称的一权利要求元素与具有相同名称的另一元素以便区分各权利要求元素的标签。
并且,在此使用的措辞和术语是用于描述目的的,不应当视为限制。在此使用的“包括”、“包含”或“具有”、“含有”、“涉及”以及其变形意思是包括此后所列的内容和其等价物以及另外的内容。

Claims (4)

1.一种在系统中使用的方法,其提供了一种能力,由此接收输入以将系统恢复到系统在先前时间点上所处的状态,该方法包括:
提供由该系统的操作系统管理的文件系统,该文件系统包括多个文件系统部分,所述多个文件系统部分包括存储涉及该操作系统的信息的第一文件系统部分,存储涉及该系统上的应用的信息的第二文件系统部分,以及存储涉及该系统上的用户数据的信息的第三文件系统部分;
将各文件系统部分存储在相应的分开的第一、第二和第三虚拟硬盘上,每一虚拟硬盘反映相应文件系统部分的原始状态,第一虚拟硬盘存储第一文件系统部分并且不存储第二文件系统部分和第三文件系统部分,第二虚拟硬盘存储第二文件系统部分并且不存储第一文件系统部分和第三文件系统部分,第三虚拟硬盘存储第三文件系统部分并且不存储第一文件系统部分和第二文件系统部分;
对于每一个文件系统部分,将随着时间的推移对其所做的变化存储在相应的一组差分虚拟磁盘上,其中对于给定的文件系统部分的变化只由与之对应的一组差分虚拟磁盘存储,其中第一文件系统部分不包括第二文件系统部分并且不包括第三文件系统部分,其中第二文件系统部分不包括第一文件系统部分并且不包括第三文件系统部分,并且第三文件系统部分不包括第一文件系统部分并且不包括第二文件系统部分;以及
接收输入以通过为多个文件系统部分中的给定文件系统部分选择存储有第一时间点时或先于第一时间点的信息的差分虚拟磁盘,将该给定文件系统部分恢复到在第一时间点上所处的状态。
2.权利要求1的方法,其中系统提供接收输入以将多个文件系统部分中的至少一个文件系统部分复位到原始状态的能力,并且所述复位是通过搁置为多个文件系统部分中的所述文件系统部分而创建的任意差分虚拟磁盘来执行的。
3.权利要求2的方法,其中所述复位只针对多个文件系统部分中的所述文件系统部分并且其它文件系统部分不被复位到各自的原始状态。
4.权利要求1的方法,其中该方法进一步包括:
搁置在第一时间点之后为给定文件系统部分创建的任意差分虚拟磁盘;
保存被搁置的差分虚拟磁盘的至少一些差分虚拟磁盘;以及
接收输入以再次附着所保存的差分虚拟磁盘的至少一部分来撤销恢复。
CN201110419987.7A 2010-12-15 2011-12-15 系统复位和系统恢复 Active CN102567142B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/969,107 US8799337B2 (en) 2010-12-15 2010-12-15 System reset and system restore
US12/969107 2010-12-15

Publications (2)

Publication Number Publication Date
CN102567142A CN102567142A (zh) 2012-07-11
CN102567142B true CN102567142B (zh) 2015-12-16

Family

ID=46235714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110419987.7A Active CN102567142B (zh) 2010-12-15 2011-12-15 系统复位和系统恢复

Country Status (2)

Country Link
US (1) US8799337B2 (zh)
CN (1) CN102567142B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793350B2 (en) * 2011-03-09 2014-07-29 Asset Science Llc Systems and methods for modifying content of mobile communication devices
CN102999347B (zh) * 2011-09-15 2015-07-29 腾讯科技(深圳)有限公司 一种系统重装方法、系统以及客户端
US8700678B1 (en) * 2011-12-21 2014-04-15 Emc Corporation Data provenance in computing infrastructure
US20140067869A1 (en) * 2012-08-30 2014-03-06 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
JP5713138B1 (ja) * 2014-09-12 2015-05-07 富士ゼロックス株式会社 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
US10310949B1 (en) 2016-12-22 2019-06-04 EMC IP Holding Company LLC Disaster restore of big data application with near zero RTO
US10152387B1 (en) * 2016-12-23 2018-12-11 EMC IP Holding Company LLC Instant start of virtual machine from archive copy on backup media
CN108196896B (zh) * 2018-01-09 2021-07-06 新华三云计算技术有限公司 操作系统切换方法及装置
US11853276B2 (en) * 2020-01-07 2023-12-26 Nirvaha Corporation Incrementally updated database server database images and database cloning, using windows virtual hard drives and database server backups

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1507597A (zh) * 2001-05-15 2004-06-23 �Ҵ���˾ 用于管理分布式事务内跨越多个dbms的分布式保存点的方法
CN101329642A (zh) * 2008-06-11 2008-12-24 华中科技大学 基于时间戳日志存储的连续数据保护和恢复方法
CN101398774A (zh) * 2007-09-30 2009-04-01 英业达股份有限公司 逻辑卷管理器的数据备份方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580959B2 (en) 2004-06-14 2009-08-25 International Business Machines Corporation Apparatus, system, and method for providing efficient disaster recovery storage of data using differencing
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
US8150801B2 (en) 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1507597A (zh) * 2001-05-15 2004-06-23 �Ҵ���˾ 用于管理分布式事务内跨越多个dbms的分布式保存点的方法
CN101398774A (zh) * 2007-09-30 2009-04-01 英业达股份有限公司 逻辑卷管理器的数据备份方法
CN101329642A (zh) * 2008-06-11 2008-12-24 华中科技大学 基于时间戳日志存储的连续数据保护和恢复方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置

Also Published As

Publication number Publication date
US20120158665A1 (en) 2012-06-21
CN102567142A (zh) 2012-07-11
US8799337B2 (en) 2014-08-05

Similar Documents

Publication Publication Date Title
CN102567142B (zh) 系统复位和系统恢复
US8286154B2 (en) Apparatus and method for live loading of version upgrades in a process control environment
US7386695B2 (en) Storage system with multiple copy targeting
US8639973B2 (en) System reset
EP3769224B1 (en) Configurable recovery states
US9886440B2 (en) Snapshot management using heatmaps in a large capacity disk environment
CN110209735A (zh) 数据库备份方法、数据库备份装置、计算设备和存储介质
CN103927198A (zh) 一种软件清理方法及装置
US10521218B2 (en) Enhanced techniques for updating software
CN103761165A (zh) 日志备份方法及装置
US20080141235A1 (en) System and Method for Transparent Hard Disk Drive Update
US9456036B2 (en) Switch-based data tiering
US9262433B2 (en) Virtualization of file input/output operations
WO2014011711A2 (en) Extensible content focus mode
EP2996025B1 (en) Data migration tool with intermediate incremental copies
US10691349B2 (en) Mitigating data loss
CN108536822A (zh) 数据迁移方法、装置、系统及存储介质
CN107491363A (zh) 一种基于Linux内核的存储卷的快照方法及装置
US10769125B2 (en) Ordering records for timed meta-data generation in a blocked record environment
JP2013025655A (ja) ログファイル管理モジュールおよびログファイル管理方法
US10762227B2 (en) Converged mechanism for protecting data
CN101593102A (zh) 用于管理软件的方法和系统
US11640373B2 (en) Reordering files
US8370306B1 (en) Systems and methods for recovering from continuous-data-protection blackouts
CN116134429A (zh) 用于分层存储管理的基于事件的协调操作

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150611

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150611

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant