CN100585558C - 用于提供和恢复数据的方法和装置 - Google Patents
用于提供和恢复数据的方法和装置 Download PDFInfo
- Publication number
- CN100585558C CN100585558C CN200480044120.6A CN200480044120A CN100585558C CN 100585558 C CN100585558 C CN 100585558C CN 200480044120 A CN200480044120 A CN 200480044120A CN 100585558 C CN100585558 C CN 100585558C
- Authority
- CN
- China
- Prior art keywords
- piece
- modified
- managed platform
- hard disk
- disk drive
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000005192 partition Methods 0.000 claims description 19
- 230000010076 replication Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 29
- 238000004891 communication Methods 0.000 abstract description 5
- 230000015654 memory Effects 0.000 description 13
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001524 infective effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information 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
技术领域
本发明通常涉及数据处理领域,更具体而言,涉及用于处理系统的软件递增供应(Incremental Provisioning)。
背景技术
手动设置数据处理系统是费时的工作。例如,为特定的个人电脑(PC)安装和配置所需的操作系统(OS)、驱动程序和用户应用程序需要花费几个小时。
在特定的情况下,可以利用自动化的方式加速上述进程。例如,如果具有同样的硬件的多个处理系统将要接收同样的软件组件和配置,则一个系统作为模型可以被手动地装载所需的软件并被配置。然后,可将模型系统的磁盘镜像拷贝到每个其它的系统,从而为那些系统提供与所述模型系统相同的软件和配置。所述要提供的处理系统可以指受管理的系统或者受管理的平台。所述模型镜像可以存储在作为服务器运行的处理系统上。每个受管理的系统还可以包括固件,所述固件运行在启动前执行环境(PXE)上,从服务器获取所述模型镜像并将所述模型镜像装载到本地硬盘驱动器。然后,所述受管理的系统可以从本地硬盘驱动器运行OS。
然而,这样的模型磁盘镜像很容易超过10千兆字节(GB)。这样,即使不必手动安装和配置单独的软件组件,从模型磁盘镜像中提供系统也仍然需要花费大量时间。
一旦所述模型镜像安装完毕,所述镜像可以由受管理系统的随后的使用所修改。例如,用户可能故意或不小心修改所述配置设置,安装新的软件,导致系统感染病毒或者改变了原先的镜像。这样的修改可能不利地影响随后的用户的处理系统功能,或者导致不希望的结果。
目前已经设计出了两种类型的适配器卡,即硬盘驱动器(HD)保护卡或HD修复卡,用于防止硬盘驱动器上的数据被修改。所述第一种类型的HD保护卡将硬盘驱动器分割为可见分区和隐藏分区。然后,HD保护卡截取指向所述可见分区的每个IDE写命令,并且将所述写命令重定向到所述隐藏分区。然后,涉及写到所述隐藏分区的数据的随后的读命令也被重定向到所述隐藏分区。或者,HD保护卡能够允许所述写命令修改可见分区中的数据,但仅仅是在所述原始数据从所述可见分区复制到所述隐藏分区之后才被允许。
在HD修复卡处理完如上面所示的写之后,用户可以决定是否永久地接受所述修改。另外,HD修复卡可以接受策略设置,在任何时候系统重新启动时该策略设置使得处理系统还原到原始数据。例如,如果写被重定向到所述隐藏分区,则在重新启动之后所述HD修复卡可以丢弃或忽略所述隐藏分区中的数据。如果在将所述原始数据复制到所述隐藏分区之后写被应用到所述原始分区,则所述HD修复卡可以将原始数据从所述隐藏分区复制回所述可见分区。
一家名为南京HardSoft的中国公司推广了第二种类型的HD保护卡。与第一种类型的卡类似,第二种类型的卡也使用硬盘驱动器上的空间来存储原始数据和修改过的数据。然而,第二种类型的卡可以不需要使用硬盘驱动器上的隐藏分区。而是,第二种类型的卡可以简单地使用可见分区中未被使用的块。
两种类型的卡都可以跟踪修改日志中的改变。所述修改日志可以存储在硬盘驱动器自身中,或者可以存储在所述HD保护卡上的闪存存储器或一些其它类型的存储装置中。
两种类型的HD保护卡都会降低大约20%的处理系统的运行时间性能。例如,在允许写操作来修改第一位置中的数据之前而将原始数据复制到所述硬盘上的第二位置上时,以及在读和写被重定向时,系统性能极大地降低。此外,由于所述原始数据和修改过的数据需要硬盘驱动器上的空间,所以用户可用的硬盘容量会被减少到硬盘实际容量的大约50%。
附图说明
从附加的权利要求和随后的一个或多个典型实施例的详细描述,本发明的特征和优点将更加显而易见,其中:
图1是描绘了适合的数据处理环境的典型实施例的方框图,本发明的某些方面可以在所述数据处理环境中实现;
图2是根据本发明的典型实施例,示出了实现递增供应的过程的流程图;以及
图3是描绘了根据本发明的典型实施例所执行的递增供应操作的方框图。
具体实施方式
本公开描述了支持软件的递增供应的方法和装置的一个或多个典型实施例。这样的方法和装置可以比利用传统的方式更快地提供或再提供数据处理系统,或者多个数据处理系统。
图1以及随后的讨论意在提供一个适合的环境的一般描述,在所述环境中可以实现本发明的某些方面。如在此所使用的,术语“处理系统”和“数据处理系统”意在广泛地包括单个机器,或可通信地相互耦合的机器或协同操作的设备的系统。示例的处理系统包括,并不限定于,分布式计算系统、超级计算机、计算集群、大型计算机、微型计算机、客户-服务器系统、个人电脑、工作站、服务器、便携式电脑、膝上型电脑、板式处理系统、电话、个人数字助理(PDA)、手持设备、诸如音频和/或视频设备的娱乐设备以及用于处理或传输信息的其它设备。
例如,图1所示的数据处理环境可以包括处理系统20,其包括通过一条或多条总线28或其它通信管道或路径可通信地耦合到多种其它组件的一个或多个处理器或中央处理单元(CPU)22。这样的组件可以包括一个或多个易失性或非易失性数据存储设备,例如,随机存取存储器(RAM)24和只读存储器(ROM)25。对本公开来说,术语“ROM”通常指非易失性存储器设备,例如,可擦写可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、闪存ROM、闪存存储器等。CPU 22也可以可通信地耦合到海量存储设备,例如,一个或多个集成驱动电路(IDE)、小型计算机系统接口(SCSI)、或其它类型的硬盘驱动器40。可被处理系统20使用的其它类型的海量存储设备或存储介质可以包括软盘、光存储装置、磁带、闪存存储器、存储棒、数字视频盘、生物学存储装置等。
耦合到处理器22的组件还可以包括一个或多个PCI根桥(rootbridge)和一个或多个PCI到PCI(PCI-to-PCI)桥。可以利用一个或多个上述桥和总线直接地或者非直接地将处理器22和存储设备以及附加组件进行连接,所述附加组件例如一个或多个输入/输出(I/O)设备、端口或控制器26。这样的设备可以包括视频控制器、SCSI控制器、网络控制器、通用串行总线(USB)控制器、键盘控制器等。在一个实施例中,可以利用一些组件将一个或多个设备实现为嵌入式控制器,所述组件例如,可编程或不可编程逻辑设备或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等等。例如,PCI根桥可以实现为驻留在系统底板或母板上的嵌入式设备。
处理系统20可以至少部分地由来自传统输入设备(例如,键盘32、鼠标等)的输入和/或由从一个或多个远程数据处理系统50接收到的指示、与虚拟现实(VR)环境进行的交互、生物计量反馈或其它的输入源或信号来进行控制。处理系统20可以将输出发送到例如显示设备30、远程数据处理系统50等的组件。可以通过任何适合的通信介质与远程数据处理系统50进行通信。处理系统可以通过物理和/或逻辑网络36,例如,局域网(LAN)、广域网(WAN)、内部网、因特网等进行互连。涉及网络36的通信可以利用多种有线和/或无线的近程或远程载波和协议,包括射频(RF)、人造卫星、微波、电气和电子工程师协会(IEEE)802.11、蓝牙、光、红外、电缆、激光等。
本发明可以通过参考或结合相关的数据进行描述,所述数据包括指令、函数、过程、数据结构、应用程序等,当其被机器访问时可以使机器执行任务或定义抽象数据类型或定义低水平硬件环境。所述数据通常指软件,并且其可以被存储在易失性和/或非易失性数据存储装置中。
例如,ROM 25可以包括当处理系统20启动时用于建立固件环境44的固件指令70。或者,某些或所有固件指令可以从一个或多个远程源获得,所述远程源例如远程数据处理系统50。
最近发布了在平台固件和例如操作系统这样的高级软件之间的接口的模型。该模型也就是可扩展固件接口(Extensible FirmwareInterface,EFI)。日期为2002年12月1日的1.10版本EFI的规范可以从www.intel.com/technology/efi/main specification.htm获得。所述EFI规范定义了由低级平台固件提供的一系列标准接口和结构,用于装载附加固件以及启动OS。基于EFI模型的平台框架,例如,用于EFI的平台创新框架将在未来几年内实现,以用作设计、构造以及操作数据处理系统的框架的选择,来替换基于基本输入/输出系统(BIOS)模型的框架。所述用于EFI的平台创新框架包括低级固件,所述低级固件提供所述操作系统及其装入程序可用的启动和运行时间服务调用。在本发明的一个实施例中,固件指令70根据EFI规范进行操作。
固件指令70可以包括在OS 62运行之前的启动过程期间装载到RAM 24的大量模块。所述固件模块可以包括供应模块或代理58。供应代理58还可以指递增供应代理58。处理系统20还可以包括写监视模块46。在一个实施例中,写监视模块46实现作为OS 62的一部分,例如,作为设备驱动器64的一部分,设备驱动器64用于管理对例如硬盘驱动器40的设备的读出和写入。在可选的实施例中,写监视模块46可以实现作为OS 62外部的软件,或者作为硬件或硬件和软件的组合,例如,如接近图1中心部分的虚线框所显示的,实现为与硬盘驱动器40相关联的硬盘驱动器控制器56的一部分。关于供应代理58和写监视模块46的附加的细节将在下面提供。
图2是根据本发明的一个典型实施例,示出了实现递增供应的过程的流程图。所示出的过程可以从处理系统20例如在上电或重启之后开始启动过程开始。如方框202所示,启动过程的初始阶段可以包括装载和执行固件指令70以建立启动前执行环境(PXE)。如方框204所示,然后,处理系统可以将供应代理58装载到RAM 24。在一个实施例中,处理系统20从远程数据处理系统50获取供应代理58。供应代理58可以设计为在启动前执行环境中进行操作。附加组件,例如,传输控制协议(TCP)驱动器,还可以从本地或远程源获取。然后,如方框206所示,处理系统20可以运行或开始供应代理58。
然后,如方框210所示,供应代理58确定是否存在处理系统20的磁盘写日志文件48。磁盘写日志文件48还可以称为写日志48或日志文件48。如下面详细描述的,如果存在写日志48,则写日志48可以包括用于标识硬盘驱动器40中的哪个块已被修改的信息。然而,如果写日志48不存在,则供应代理58可以推断处理系统20还没有配置为支持递增供应,并且供应代理58因此可以执行处理系统20的初始供应。例如,供应代理58可以从远程处理系统50获取磁盘镜像,并且供应代理58可以将所述镜像装载到处理系统20中的硬盘驱动器40中,如方框212所描述的那样。
对本公开来说,术语“磁盘镜像”指包含或提供对象驱动器(如,导出镜像的驱动器)上的数据的精确的、一字节一字节(byte-for-byte)的复制的镜像。例如,磁盘镜像可以利用如Symantec公司发布的商标为NORTON GHOST的磁盘镜像工具的工具进行创建。磁盘镜像可以提供或构成例如整个物理硬盘驱动器的拷贝、逻辑驱动器的拷贝或驱动器分区的拷贝。
如图1所示,在所述典型实施例中,远程处理系统50可以包括一个或多个存储设备54,所述存储设备54包括用于例如处理系统20的供应平台的磁盘镜像的拷贝。这种镜像通常指可供应软件52。
处理系统50可以认为是远程管理设备或远程管理系统的一个可能的实施例。典型地,由于在处理系统20上的操作不会影响可供应软件52的内容,所以可供应软件52还可以被认为是处理系统20的初始软件内容的备份或文档拷贝。一旦可供应软件52被复制到处理系统20,硬盘驱动器40中的拷贝可以指所供应的软件42。此外,处理系统20也可以被称为目标处理系统20、受管理的处理系统20或者本地处理系统20。所供应的软件42可以包括,例如,OS 62、一个或多个用户应用程序66(如,网页浏览器程序、文字处理应用程序等)、与用于处理系统20中的软件和/或硬件的配置设置有关的信息以及其它数据。
再参考图2,如方框214所示,结合具有初始磁盘镜像的供应处理系统,供应代理58可以创建写日志48。在一个实施例中,写日志48驻留于处理系统20中。写日志48可以驻留于硬盘驱动器40或其它非易失性存储器,如EEPROM或闪存存储器中。在可选的实施例中,写日志48可以驻留于处理系统20的外部,例如,驻留于远程处理系统50中,如图1下端虚线框所示。
如图2中方框220所示,在创建写日志48或确定写日志48已经存在之后,供应代理58可以确定:自从上次供应了处理系统20之后,写日志48是否将来自硬盘驱动器40的任何块标识为已修改。被标识为已修改的块还可以被称为污染块。如果写日志48没有标识任何污染块,则供应代理58可以推断所供应的软件42与可供应的软件52相匹配,并且因此可以允许处理系统20启动OS 62,如方框226所示。在所述典型实施例中,OS 62是所供应的软件42的一部分。
然而,如果写日志48包括一个或多个指示一个或多个污染块的条目,则供应代理58从远程处理系统50中的可供应软件52获取那些块中的一个的干净拷贝,并且用所述干净块重写硬盘驱动器40中的污染块,如方框222所示。然后,在方框224,供应代理58可以更新写日志48,使得写日志48不再将所述块标识为污染。如从方框224返回到方框220的箭头所示,供应代理58可以继续从远程处理系统50获取干净块并且将这些块重写到硬盘驱动器40中的污染块上,直到每个污染块恢复了原始的内容。
在一个实施例中,供应代理58利用在EFI兼容的固件环境中的本地供应基础设施来促进初始供应操作和随后递增的供应操作。在可选实施例中,可以利用其它资源来对受管理的处理系统进行供应和/或递增地再供应。
一旦所供应的软件42恢复到其原始条件或被确定为干净的,供应代理58可以允许处理系统20启动OS 62,如方框226所示。一旦处理系统20启动OS 62,写监视模块46开始监视所有寻址硬盘驱动器40的写命令。如方框230和232所示,无论何时写监视模块46检测到寻址硬盘驱动器40的写命令,写监视模块46就确认写日志48包括用于标识被修改或被写入的块的条目。
例如,写监视模块46可以保持对应于硬盘驱动器40上的块的位图,其中写监视模块46将所述位设置得能适当地指示各个块是否已经被记录为污染。从而,仅当在所述位图中被寻址的块被标识为污染时,写监视模块46才可以更新写日志48。为了改进性能,所述位图可以驻留于RAM 24中。为了不错过任何的修改,记录操作可以在执行所述写操作之前和/或在更新所述位图之前完成。为了最小化完成所述记录操作所需的时间,所述日志可以被存储在快速存储介质中,例如存储在位于某些专用硬件设备上的寄存器中。或者,对于保存在远程处理系统中的写日志,可以使用到所述远程系统的高速可靠连接来传输日志更新。
再次参考图1,箭头80和82示出了供应代理58可以从远程处理系统50获取必要的数据以在处理系统20中装载和恢复所供应的软件42。供应和再次供应的操作因此可以完全地或主要地从固件环境44内来管理。进一步地,利用与本地或远程写日志48相关的被管理的那些操作,所述供应和再次供应的操作可以被完全地自动化。箭头84和86示出了写监视模块46可以更新写日志48以标识硬盘驱动器40中被OS 62修改的块。
图3是描述根据本发明的一个典型实施例所执行的递增供应操作的方框图。为了说明目的,图3描述了硬盘驱动器40中的10个单独块,以及在远程处理系统50的模型镜像52中的10个相应块。在处理系统20中,块A和B中的斜线指示了那两个块在写日志48中被标识为污染。在远程处理系统50中,对应的块A和B中的点指示了那两个块包括被原始供应给目标处理系统20的块A和B中的内容的备份拷贝。箭头110A和110B指示了,当供应代理58运行在处理系统20中时,供应代理58将利用来自远程处理系统50的存储设备54中的干净内容替换污染块A和B的被修改的内容。
此外,在图3中,硬盘驱动器40中没有被斜线填充的块表示被供应的并且仍然是干净的块。因此,在所示的实施例中,供应代理58仅仅重写硬盘驱动器40中的块A和B。因此,处理系统20可以在供应整个磁盘镜像所需的时间的一小部分内被再次供应。当在EFI兼容的平台中实现时,本发明可以在网络环境中提供基于EFI的递增供应。例如,本发明可以提供递增的数据收集和恢复。
在典型实施例中,OS 62通过参考块或块地址来寻址硬盘驱动器40。例如,硬盘驱动器40中的每个块可以由一个唯一逻辑块地址(LBA)来标识。OS 62可以在指向硬盘驱动器40的写命令中利用那些LBA,并且写监视模块46可以使用那些LBA或者使用基于那些LBA的值来标识写日志48中的污染块。在可选实施例中,保存所述受管理的处理系统中的软件配置的海量存储设备可以使用不同类型的存储子部分,在所述受管理的处理系统中的操作系统可以通过参考其它类型的地址或索引来寻址所述存储设备,并且所述写监视模块可以使用其它类型的索引或地址来跟踪哪个块或子部分被修改了。
在一个典型实施例中,平台固件不需要文件系统驱动器。此外,这里的教导可用于管理使用任意合适的文件系统的存储设备,所述合适的文件系统包括但不限于文件分配表(FAT)文件系统、NT文件系统(NTFS)和未来的文件系统。这些文件系统不需要文件系统驱动器就可以在所述平台固件中得到支持。所述教导还可以不需要所述受管理的处理系统中的任何附加的硬件组件就可以实现。
本发明的教导可以有利地用于任何环境,所述环境包括要被恢复到原始软件配置的处理系统。例如,私人或公众实体或组织可能希望配置多种处理系统用于单独用户的使用。那些处理系统可能全部都具有同样的或实质相似的硬件配置,并且上述处理可以用于为每个所述系统提供来自于中央服务器或一组服务器的相同的软件配置。
在初始软件配置装载之后,多个用户可以利用所述受管理的处理系统。例如,第一用户可以使用其中一个系统,然后第二用户可以使用相同的系统。对本文来说,用户与处理系统交互所花费的时间段可以被称为用户会话或交互会话。用户会话可以通过复位或重新启动所述处理系统或通过任何其它适当的事件来终止。当第一用户与系统交互时软件配置发生了任何改变的情况下,所述系统可以在所述第一用户结束他的或她的交互会话之后并且在所述第二用户开始他的或她的会话之前进行重新启动。根据这里的教导,在重新启动过程期间所述原始内容可以自动恢复到系统的任意修改过的存储块中。例如,所述修改过的块可以在OS终止一个用户会话之后但是在OS为下一用户会话再次运行之前进行恢复。所希望的软件配置可以因此快速地恢复到所述系统,从而为与用户的下一交互会话做准备。
例如,如果一个组织希望配备多个具有由普通公众所使用的处理系统的因特网咖啡厅,这里的教导可以通过简单地在每个用户会话之间重新启动每个处理系统来将每个处理系统快速地恢复到原始软件配置。根据一个实施例,通过使用递增供应,在一个用户退出之后并且在下一用户登录之前,可以在两分钟或更少的时间内恢复磁盘镜像。相似的使用模型可以用在教育部门以及其它公众和私人组织中。
根据此处所描述和示例的原则和典型实施例,可以认识到所述示例的实施例可以在安排和细节上进行修改而不脱离这样的原则。例如,虽然出于说明目的,描述的一个或多个典型实施例针对的是要递增地供应给硬盘驱动器的软件,但是可选实施例包括这样的实施例:其中软件、配置数据或与在目标平台上建立特定环境有关的其它信息被递增地供应给任意适合类型的海量存储设备。
此外,可选实施例可包括利用新的模型镜像来替换管理服务器中的模型磁盘镜像,所述新的模型镜像加入了例如对软件或配置设置进行更新的改变。然后,所述管理服务器可以将所述新的模型镜像或所述镜像的修改部分推送到受管理的客户端。然后,所述客户端可以利用例如上面图2所描述的一个处理过程(其中所述客户端初始化所述备份数据的传输),来利用递增再供应来维持所述被更新的镜像。
虽然前面的讨论着重于特定的实施例,但也可以期望其它的配置。特别地,即使此处使用了例如“在一个实施例中”、“在另一实施例中”或类似的表达,但是这些短语通常意味着参考实施例的可能性,而不是意图将本发明限制到特定的实施例配置。如这里使用的,这些术语可以指能够与其它实施例相结合的相同或不同的实施例。
类似地,虽然示例的处理针对以特定顺序执行的特定操作进行了描述,但是对于本领域普通技术人员来说显而易见的是可以对所述处理进行多种修改从而导出本发明的多种可选实施例。例如,可选实施例可以包括利用少于公开的所有操作的步骤进行的处理、利用附加操作进行的处理、利用不同顺序的相同操作进行的处理以及利用这里所公开的单独操作的组合、分割或其它的改变而进行的处理。
本发明的可选实施例还包括编码了用于执行本发明操作的指令的机器可读介质。这种实施例还可以指程序产品。这种机器可读介质包括,但不限于:诸如软盘、硬盘、CD-ROM、ROM和RAM这样的存储介质;以及诸如天线、导线、光纤、微波、无线电波和其它电磁或光载波这样的通信介质。相应地,可以通过传输环境或网络以数据包、串行数据、并行数据、传播信号等的方式来传送指令和其它数据,并且所述指令和其它数据可以用于分布式环境以及本地或远程地存储以由单个或多处理器机器进行访问。
还应当理解,这里描述的硬件和软件组件表示适度自治的功能单元,使得每个单元可以实质上与其它单元独立地进行设计、构造或更新。在可选实施例中,许多组件可以实现为硬件、软件或硬件和软件的组合,以用于提供这里描述和示出的功能。
考虑到可以容易地从这里描述的典型实施例导出的多种广泛的有用改变,这些详细描述仅仅是示例性的,并不能被认为用于限制本发明的范围。因此,本发明的权益是在下面的权利要求的范围和精神的范围内的所有实现以及这些实现的等同方式。
Claims (10)
1、一种用于提供和恢复数据的方法,包括:
将磁盘镜像复制到受管理的平台上的硬盘驱动器,其中所述磁盘镜像是从存储在远程管理系统的存储设备上的模型磁盘镜像复制的;
在所述受管理的平台上的用户会话期间,监视来自所述受管理的平台的操作系统的写命令;
响应于检测到来自所述操作系统的、寻址所述硬盘驱动器的块的写命令,自动更新写日志以标识由所述写命令寻址的块;
在完成所述用户会话之后,至少部分地基于所述写日志,自动确定所述硬盘驱动器的一个或多个块是否被修改;以及
响应于确定所述硬盘驱动器中的至少一个块被修改,在所述受管理的平台的启动过程期间,通过利用来自所述模型磁盘镜像的相应的备份数据重写所述被修改的块,自动将原始内容恢复到所述被修改的块。
2、根据权利要求1所述的方法,其中将所述磁盘镜像复制到受管理的平台上的硬盘驱动器中的操作包括:
在所述受管理的平台的启动过程期间,通过从所述远程管理系统将所述磁盘镜像自动装载到所述受管理的平台,向所述受管理的平台供应软件。
3、根据权利要求1所述的方法,其中所述磁盘镜像包括磁盘分区的镜像。
4、根据权利要求1所述的方法,进一步包括:
在从所述远程管理系统将所述原始内容恢复到所述被修改的块之前终止所述受管理的平台上的操作系统。
5、根据权利要求4所述的方法,进一步包括:
在从所述模型磁盘镜像将所述原始内容恢复到所述被修改的块之后运行所述受管理的平台上的操作系统。
6、一种用于提供和恢复数据的装置,包括:
复制模块,用于将磁盘镜像复制到受管理的平台上的硬盘驱动器,其中所述磁盘镜像是从存储在远程管理系统的存储设备上的模型磁盘镜像复制的;
监视模块,用于在所述受管理的平台上的用户会话期间,监视来自所述受管理的平台的操作系统的写命令;
更新模块,用于响应于检测到来自所述操作系统的、寻址所述硬盘驱动器的块的写命令,自动更新写日志以标识由所述写命令寻址的块;
确定模块,用于在完成所述用户会话之后,至少部分地基于所述写日志,自动确定所述硬盘驱动器的一个或多个块是否被修改;以及
恢复模块,用于响应于确定所述硬盘驱动器中的至少一个块被修改,在所述受管理的平台的启动过程期间,通过利用来自所述模型磁盘镜像的相应的备份数据重写所述被修改的块,自动将原始内容恢复到所述被修改的块。
7、根据权利要求6所述的装置,其中所述复制模块用于执行如下操作:
在所述受管理的平台的启动过程期间,通过从所述远程管理系统将所述磁盘镜像自动装载到所述受管理的平台,向所述受管理的平台供应软件。
8、根据权利要求6所述的装置,其中所述磁盘镜像包括磁盘分区的镜像。
9、根据权利要求6所述的装置,进一步包括:
终止模块,用于在从所述远程管理系统将所述原始内容恢复到所述被修改的块之前终止所述受管理的平台上的操作系统。
10、根据权利要求9所述的装置,进一步包括:
运行模块,用于在从所述模型磁盘镜像将所述原始内容恢复到所述被修改的块之后运行所述受管理的平台上的操作系统。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2004/001221 WO2006045217A1 (en) | 2004-10-28 | 2004-10-28 | Incremental provisioning of software |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101036121A CN101036121A (zh) | 2007-09-12 |
CN100585558C true CN100585558C (zh) | 2010-01-27 |
Family
ID=36227043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480044120.6A Expired - Fee Related CN100585558C (zh) | 2004-10-28 | 2004-10-28 | 用于提供和恢复数据的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7506115B2 (zh) |
CN (1) | CN100585558C (zh) |
WO (1) | WO2006045217A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1960873B1 (en) | 2005-12-17 | 2013-02-27 | Intel Corporation | Installing and executing shared applications in shared folders |
CN101271425A (zh) * | 2007-03-23 | 2008-09-24 | 国际商业机器公司 | 基于磁盘映像概要的应用程序服务器预配置系统和方法 |
CN101329631B (zh) * | 2007-06-21 | 2011-03-16 | 大唐移动通信设备有限公司 | 一种嵌入式系统自动检测和恢复启动的方法及装置 |
JP5446157B2 (ja) * | 2008-07-28 | 2014-03-19 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US8655847B2 (en) * | 2010-08-16 | 2014-02-18 | Microsoft Corporation | Mirroring data changes in a database system |
US8856724B2 (en) | 2011-06-20 | 2014-10-07 | Ebay Inc. | Systems and methods for incremental software development |
US9250866B2 (en) | 2011-06-20 | 2016-02-02 | Ebay Inc. | Systems and methods for incremental software deployment |
US9760720B2 (en) * | 2015-07-10 | 2017-09-12 | Senteon LLC | Securing temporary data on untrusted devices |
US11327844B1 (en) * | 2020-10-30 | 2022-05-10 | Dell Products L.P. | Automated cloud recovery to provide a full usable application image |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141773A (en) * | 1998-06-30 | 2000-10-31 | Emc Corporation | Method and apparatus for undoing changes to computer memory |
US6931522B1 (en) | 1999-11-30 | 2005-08-16 | Microsoft Corporation | Method for a computer using the system image on one of the partitions to boot itself to a known state in the event of a failure |
US7191438B2 (en) * | 2001-02-23 | 2007-03-13 | Lenovo (Singapore) Pte, Ltd. | Computer functional architecture and a locked down environment in a client-server architecture |
US6847983B2 (en) * | 2001-02-28 | 2005-01-25 | Kiran Somalwar | Application independent write monitoring method for fast backup and synchronization of open files |
US6553464B1 (en) * | 2001-03-04 | 2003-04-22 | Emc Corporation | Obtaining data from a remote storage device |
US7127477B2 (en) * | 2001-11-06 | 2006-10-24 | Everyware Solutions Inc. | Method and system for access to automatically synchronized remote files |
WO2003107221A1 (en) * | 2002-06-12 | 2003-12-24 | Fslogic, Inc. | Layered computing systems and methods |
JP2004118291A (ja) * | 2002-09-24 | 2004-04-15 | Hitachi Kokusai Electric Inc | ソフトウェア管理システム及び障害管理装置 |
US7272549B2 (en) * | 2003-08-05 | 2007-09-18 | At & T Knowledge Ventures, L.P. | Restoring base configuration on software testing computer |
-
2004
- 2004-10-28 WO PCT/CN2004/001221 patent/WO2006045217A1/en active Application Filing
- 2004-10-28 CN CN200480044120.6A patent/CN100585558C/zh not_active Expired - Fee Related
- 2004-10-28 US US10/587,343 patent/US7506115B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7506115B2 (en) | 2009-03-17 |
US20070162690A1 (en) | 2007-07-12 |
WO2006045217A1 (en) | 2006-05-04 |
CN101036121A (zh) | 2007-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102193817B (zh) | 简化物理和虚拟部署的管理 | |
CN102567042B (zh) | 利用引导块重定位来管理多个软件镜像的方法和系统 | |
CN100385386C (zh) | 在引导和关机期间显示图象的方法 | |
US7024581B1 (en) | Data processing recovery system and method spanning multiple operating system | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
CN102591675B (zh) | 使用共享存储块管理多软件镜像的方法和系统 | |
US9760447B2 (en) | One-click backup in a cloud-based disaster recovery system | |
US20120144110A1 (en) | Methods and structure for storage migration using storage array managed server agents | |
US20140351640A1 (en) | System reset | |
CN103098043A (zh) | 随需虚拟机映像流式传输 | |
CN101114233A (zh) | 固件更新的设备与方法 | |
CN103250134A (zh) | 基于流技术的软件映像更新 | |
CN107924324B (zh) | 数据访问加速器 | |
US20130325810A1 (en) | Creation and expiration of backup objects in block-level incremental-forever backup systems | |
US20140337594A1 (en) | Systems and methods for collapsing a derivative version of a primary storage volume | |
CN100585558C (zh) | 用于提供和恢复数据的方法和装置 | |
CN103747095A (zh) | 一种虚拟桌面系统及方法 | |
US6473655B1 (en) | Data processing system and method for creating a virtual partition within an existing partition in a hard disk drive | |
US20160210198A1 (en) | One-click backup in a cloud-based disaster recovery system | |
US8370612B2 (en) | Computer system with built-in hidden two operating devices | |
US8630982B2 (en) | Individual object restore | |
CN102207876B (zh) | 流式传输客户端系统基本镜像 | |
CN101034363A (zh) | 数据备份设备、数据备份方法以及存储数据备份程序的记录介质 | |
CN105630428A (zh) | 一种用于数据通信的方法和系统 | |
CN104866397A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100127 Termination date: 20181028 |