应用还原点的制作方法

xiaoxiao2020-08-01  3

专利名称:应用还原点的制作方法
技术领域
本发明的实施例总体上涉及在计算系统中备份和还原应用,并且更具体地涉及使用应用还原点将应用(或者操作系统组件)还原至安装(或者更新)应用之前所具有的状态。
背景技术
安装新应用以及更新现有应用或操作系统是一种常见处理。例如,应用(以及操作系统)供应商经常发布更新应用、修复“漏洞”或安全问题的补丁。然而,安装新应用或者更新现有应用有时会破坏计算机系统。也就是说,更新有时“毁坏”应用(或者系统上运行的其它应用)。例如,如果没有成功地完成更新处理,则应用可能不能正常运行和/或数据可能丢失。类似地,已更新的应用有时会以不可预知的方式影响其它系统应用,如阻止它们正常运行。因此,在某些情况下,可能需要删除应用或更新以使计算系统恢复正常运行。删除应用更新的一种方法是在安装(或者更新)应用之前创建计算系统的完整镜像,然后在需要时还原该镜像。然而,该方法常常需要大量的存储资源。此外,还原应用至更新之前的状态需要计算系统的用户在启动更新处理之前记得创建系统镜像。而且,该方法经常导致备份处理期间、安装处理期间或者还原处理期间(如果使用镜像来还原系统) 的实质停机。

发明内容
根据第一方面,提供了一种为应用创建应用还原点的计算机实现方法,包含调用被配置成向应用施加安装包的安装器处理;生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由安装器处理施加安装包时要被修改的应用的一个或更多个组件中每一个的未修改副本;当由安装器处理施加安装包时对于由安装器处理所修改的应用的每一组件,在应用还原点数据结构中存储组件的未修改副本,以及对于由安装器处理添加至计算系统的每一新组件,向新组件列表添加对新组件的引用。该方法进一步包含在应用还原点数据结构中存储新组件列表。根据第二方面,提供了一种包含程序的计算机可读存储介质,当被执行时,所述程序执行为应用创建应用还原点的操作,包含调用被配置成向应用施加安装包的安装器处理;生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由安装器处理施加安装包时要被修改的应用的一个或更多个组件中每一个的未修改副本; 当由安装器处理施加安装包时对于由安装器处理所修改的应用的每一组件,在应用还原点数据结构中存储组件的未修改副本,以及对于由安装器处理添加至计算系统的每一新组件,向新组件列表添加对新组件的引用。该操作进一步包含在应用还原点数据结构中存储新组件列表。根据第三方面,提供了一种系统,包含处理器;以及存储应用安装器处理的存储器,当由处理器执行时,所述应用安装器处理被配置成执行为应用创建应用还原点的操作,该操作包含调用被配置成向应用施加安装包的安装器处理,生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由安装器处理施加安装包时要被修改的应用的一个或更多个组件中每一个的未修改副本,当由安装器处理施加安装包时 (i)对于由安装器处理所修改的应用的每一组件,在应用还原点数据结构中存储组件的未修改副本,以及(ii)对于由安装器处理添加至计算系统的每一新组件,向新组件列表添加对新组件的引用。该操作进一步包含在应用还原点数据结构中存储新组件列表。


现在将结合附图仅仅以示例的方式来描述
具体实施例方式图1是例示根据本发明一个实施例的计算系统的框图;图2例示了根据本发明一个实施例的应用还原点;图3例示了根据本发明一个实施例的创建应用还原点的方法的流程图;以及图4例示了根据本发明一个实施例的基于应用还原点还原应用的方法的流程图。
具体实施例方式本发明的实施例提供安装、更新或者修补应用时创建应用还原点的技术。当需要时,可以使用应用还原点将应用和计算系统的相关部分还原至该应用还原点所具有的状态。在一个实施例中,应用还原点捕获与安装(更新)应用时被修改、创建或删除的应用和 /或运行应用的计算系统的那些组件、文件或者其它元素相关的信息。重要的是,创建和还原处理不破坏计算系统上运行的其它应用。换言之,当创建应用还原点或者使用应用还原点来还原应用(即,有效地撤销安装或者补丁)时,可以使用计算系统的其它组件和应用。 此外,因为创建和还原处理主要涉及安装处理所需的文件,所以节省了计算系统的资源并且可以出于不同的目的而使用计算系统的这些资源。在一个实施例中,用户调用安装器处理来安装、更新或者修补计算系统中的应用。 安装器处理为应用创建应用还原点。在安装器处理的执行期间,可能需要修改计算系统的某些文件和/或可能需要创建新文件。如果文件被安装器处理修改,则将该文件的原始副本(即,文件处于其被安装器处理修改之前的状态时的副本)放置于应用还原点中。如果文件被安装器处理创建,则在应用还原点中包含对此文件的引用。依此,当安装器处理成功或者不成功地完成安装、更新或者修补应用时,应用还原点包含安装器处理所修改(或者删除)的每个文件的原始副本和安装器处理所创建的文件(即,新文件)列表。因此,为了将应用和计算系统的相应部分还原至安装器处理做出任何改变之前的状态,删除新文件列表中包括的计算系统的文件,而用安装(或者更新)处理期间捕获的未修改版本(即,原始副本)替换安装器所修改的文件。在下面,将参考本发明的实施例。然而,应当理解的是,本发明不限于具体描述的实施例。相反,以下特征和元素的任何组合(无论是否涉及不同的实施例)都被预期用来实现和实施本发明。此外,在各种实施例中,本发明提供优于现有技术的许多优点。然而, 尽管本发明的实施例可以获得优于其它可能的解决方案和/或优于现有技术的优点,但是特定的优点是否由给定的实施例来获得并不限制本发明。因而,以下方面、特征、实施例和优点仅仅是示例性的并且不被认为是所附权利要求的要素或限制,除非权利要求中明确说明。类似地,对“本发明”的提及不应该被认为是在此所公开的任何本发明主题的概括并且不应该被认为是所附权利要求的要素或限制,除非权利要求中明确说明。本发明的一个实施例被实现为由计算系统使用的程序产品。程序产品的程序限定实施例(包括在此所述的方法)的功能并且可以被包含在各种计算机可读存储介质中。示例性计算机可读存储介质包括但不限于(i)其上永久存储信息的不可写存储介质(例如, 计算机中的只读存储器装置,如CD-ROM驱动器可读的CD-ROM盘);(ii)其上存储可改变信息的可写存储介质(例如,软盘驱动器中的软盘或者硬盘驱动器)。当载有控制本发明功能的计算机可读指令时,这类计算机可读存储介质是本发明的实施例。其它介质包括经由其传递信息至计算机的通信介质,如通过计算机或电话网络,包括无线通信网络。后一实施例具体包括向/从因特网和其它网络传输信息。当载有控制本发明功能的计算机可读指令时,这类通信介质是本发明的实施例。计算机可读存储介质和通信介质在此可以被概括地称为计算机可读介质。一般而言,被执行用来实现本发明实施例的例程可以是操作系统或者具体应用、 组件、程序、模块、对象或者指令序列的一部分。本发明的计算机程序通常由将被本地计算机翻译成机器可读格式以及由此可执行指令的大量指令组成。此外,程序由本地驻留于程序或者在存储器或存储装置中找到的变量和数据结构组成。此外,可以基于本发明的具体实施例中实现它们的应用来标识以下所述的各种程序。然而,应当认识到,以下任何具体的程序术语仅仅是为了方便而被使用,因而本发明不应当限于仅仅使用在这类术语所标识和 /或暗示的任何具体应用中。图1是例示根据本发明一个实施例的计算系统100的示例的框图。如图所示,计算系统100包括诸如键盘和鼠标定位装置的输入装置110、诸如CRT或IXD显示器的显示装置 120和计算机系统130。示例性地,计算机系统130包括通过总线接口 134相互耦合的一个或更多个中央处理单元(“CPU”) 132、存储器140和存储设备150。CPU 104表示执行计算机中的所有指令、逻辑和数学处理的一个或更多个可编程逻辑装置。例如,CPU 104可以表示单个CPU、多个CPU、具有多个处理核的单个CPU及类似物。存储器140可以是存储装置中的一个或组合,包括大到足以保持所需的编程和数据结构的随机访问存储器。存储设备 150可以是存储设备中的一个或组合,其包括但不限于物理磁盘驱动器、快闪存储装置等, 以及网络附加储存装置和经由网络安装的存储卷。计算机系统130被包含用来表示现有计算机系统,例如,台式计算机、服务器计算机、膝上型计算机、平板计算机及类似物。然而,图1中所示的服务器系统仅仅是计算系统的示例。可以使用其它计算系统来实现本发明的实施例,无论计算机系统是否为复杂多用户计算系统(如通过高速网络连接的个体计算机的集群)、单用户工作站或者不具有非易失性存储设备的网络设备。进一步地,可以使用现有计算机系统上执行的计算机软件应用来实现在此所述的软件应用。然而,在此所述的软件应用不限于任何当前现有的计算环境或编程语言,并且可以适合于在新计算系统变得可用时采用新计算系统。如图所示,存储器140包括被配置成在计算系统100上运行的安装器142、应用更新组件144和应用146。安装器142、应用更新组件144和应用146通常由也驻留于存储器 140中的操作系统(未示出)来支持。操作系统的示例包括IBM AIX 、UNIX 、 Microsoft Windows 以及Linux 操作系统的发行套件和类似物。更一般地来说,可
7以使用能够支持在此所述的功能的任何操作系统。IBM和AIX是国际商业机器公司在美国、其它国家或这些国家的商标;UNIX是开放群组(Open Group)在美国和其它国家的注册商标;Microsoft和Windows是微软公司在美国、其它国家或这些国家的商标;以及Linux是李纳斯托沃兹(Linus Torvalds)在美国、其它国家或这些国家的注册商标。一般而言,通过使用应用更新组件144,安装器142可以被用来安装、更新、修补和 /或删除计算系统100中的应用144。在这样的处理期间,可以创建、修改或者删除一个或更多个文件巧4和还原点152。文件巧4和还原点152驻留于存储设备150中。更具体地, 文件巧4包括应用146和/或计算系统100的被安装器处理142在更新应用146时修改的文件、组件或者其它元素。每个应用还原点152提供与安装器142所安装的应用更新对应的数据结构。在一个实施例中,在更新应用146时创建至少一个应用还原点152。这样的应用还原点152可以随后被用来(如果需要)还原应用146和/或计算系统100的文件、组件和/或其它元素。图2例示了根据本发明一个实施例的示例性应用还原点152。一般而言,应用还原点152是存储与相应应用的可能还原相关的信息的数据结构。如图所示,应用还原点152 包括标识与应用还原点相关联的具体应用的信息,如应用名称205 ;可以指定应用上执行的具体处理的安装/更新日期和时间210,如执行处理时的日期和时间,执行了哪种类型的处理(例如,安装、更新、打补丁及类似处理)。应用还原点152还包括一个或更多个原始文件2201-220M(共同被称为文件220)和由安装器处理所创建的新文件列表(如新文件 2301-230N),其中每个原始文件是由应用还原点在安装器处理修改文件之前所捕获的、由安装器处理所修改的文件的副本。如下面所做的更加详细的描述,在一个实施例中,写时复制(copy-onirite)处理可以被用来在安装器142修改文件之前捕获该文件的未修改副本。进一步地,通过将修改文件的处理的处理id与安装器(或者子处理)的处理id匹配,可以将通过写时复制机制保存至应用还原点的文件标识为可应用于还原点。依此,由安装更新期间也运行的应用所修改的其它文件不被添加至还原点。文件列表可以包括所创建文件的识别信息(如每个新创建文件的名称及其位置)以及当还原至应用还原点152时还原原始文件(或者删除新安装文件)所需的任何其它信息。图3例示了根据本发明一个实施例的创建应用还原点的方法300的流程图。如上所述,应用还原点(如还原点152)捕获和存储与由安装或更新处理所导致的包括应用的计算系统元素(即,文件154)中的改变相关的信息。为了存储这类信息,在步骤305,创建和 /或初始化应用还原点的数据结构。在步骤310,调用安装器处理(如图1所示的安装器142)来更新(或者安装)应用146,其中应用146适合于在计算系统100上运行。一般而言,安装器处理142被配置成使用应用更新组件144来更新应用146,并且在更新时监控更新处理所导致的改变。当识别到改变时,安装器处理142存储描述应用还原点152中发生了何种改变的信息。在一个实施例中,安装器处理142被实现为打包管理系统(S卩,用于使安装、更新、配置和删除计算系统的程序的处理自动化的工具系统)的组件。在此情况下,启动安装器来安装、更新或者删除应用的组件(或者应用自身)。进一步地,作为执行任何这类动作的一部分,安装器处理1342可以创建与所执行的更新、修补或者安装处理对应的应用还原点152。在步骤315,对于在更新期间由安装器处理142所修改的每个文件,添加未修改文件(即,原始文件220)的副本至应用还原点。在一个实施例中,当在更新处理期间多次修改同一文件时,仅仅保存原始文件的一个副本,例如,在第一次修改文件时。依此,当完成安装处理时,应用还原点包括安装处理期间计算系统中被修改(或者被删除)的任何文件的原始副本。某些安装或者更新处理可能在计算系统中创建新的文件。因此,为了删除安装处理所导致的改变,应当删除这类新的文件。为了记录这类文件,在步骤320,将更新期间由安装器处理142所创建的每个文件作为新文件230列入应用还原点中。注意,所创建文件中的一部分可能是仅仅针对更新处理期间而创建的临时文件。在一个实施例中,安装器处理142不将这些临时文件放置于新文件列表中。替代地,安装器处理142不识别临时文件, 然而,当需要删除文件时安装器处理检查文件是否在新文件列表中。如果是,则从新文件列表中删除该文件并且不创建该文件的副本。依此,当安装器处理142成功地(或者不成功地)完成安装处理时,应用还原点152包含对更新处理期间由安装器处理所创建的文件的引用。安装器处理142可以使用各种工具来执行步骤315和320以及仅仅识别在具体安装处理期间所修改的文件。例如,在一个实施例中,使用由日志或者追踪文件系统所提供的工具。在日志文件系统中,改变在被提交之前被记录在日志中。因此,安装器处理142可以使用这类日志来检测改变被提交之前由更新处理所导致的文件改变。例如,可以使用“写时复制”处理。众所知的,“写时复制”处理允许应用(事实上多个应用)访问文件。在应用写(即,修改)文件的情况下,写时复制处理创建应用所写入的文件的副本。在一个实施例中,不是向安装器处理提供“写时复制”副本,而是仅仅添加这样的副本至应用还原点,并且由安装器处理142写入文件的真实副本。依此,安装器处理142在作为安装(或者更新、修补)应用的一部分的修改或者删除文件之前保存文件的原始副本。在另一实施例中,在启动更新处理之前,安装器处理142立即使用例如公知的 Unux 逻辑卷管理打包提供的工具来创建计算系统的快照(如计算系统文件的只读副本)。接下来,当安装器处理142检测到相关的文件改变时,其从快照获取文件的未修改版本。一旦完成更新处理,安装器处理142可以删除快照。在一个实施例中,当用户调用安装器处理142来更新应用146时,安装器处理142 自动生成应用还原点152并且执行上述步骤305、315和320。因此,用户不需要在更新处理之前备份数据。更确切地说,每次用户使用安装器处理来更新应用时,创建允许用户(当需要时)将更新处理期间由更新处理所修改的文件还原至执行该处理之前的状态的相应应用还原点。可选地,安装器处理可以被配置成在更新处理的不同阶段期间创建多个应用还原点。图4例示了根据本发明一个实施例的使用还原点还原应用的方法400的流程图。 在步骤405,接收对应用还原点的选择。在一个实施例中,应用可能与多个应用还原点相关联。如上所述,每个应用还原点表示应用和由补丁、更新或者应用自身的安装所修改的相关元素(如文件、注册表键等等)的具体状态。例如,应用还原点可以捕获安装应用之前多个文件的状态、安装处理期间在特定点之前相关文件的状态、在更新应用至一个版本之前相关文件的状态、在更新应用至另一个版本之前相关文件的状态等等。在一个实施例中,向用户提供允许用户选择期望的应用还原点的接口。可选地,为了向用户提供撤销还原处理的机会,在步骤410,于撤销应用还原点中保存和存储对还原处理要创建的文件的引用和由还原处理所修改或者删除的文件的副本。 在一个实施例中,使用所选应用还原点中包含的信息来确定这类文件。也就是说,还原应用还原点的处理自身可以被视为更新,为此可以生成相应的应用还原点。如上所述,应用还原点中被作为新文件而列出的文件是安装器处理所创建的文件,并且因此需要在还原处理期间被删除。因此,在撤销应用还原点中保存这类文件的副本。如果文件具有相应的原始副本被存储在应用还原点中,那么该文件或者已由安装器处理修改或者已由安装器处理删除,并且因此在撤销应用还原点中保存文件的当前副本(处于启动还原处理之前的状态)。 当文件不存在时,在撤销应用还原点的新文件列表中包括对文件的引用。在另一个实施例中,使用创建应用还原点的方法(如上面结合图3所述)生成撤销应用还原点,其中安装器处理执行应用的还原处理。在方法400的步骤415,可以删除应用还原点中作为新文件而列出的每个文件。如上所述,如果文件被作为新的而列入在应用还原点中,那么在创建该具体应用还原点时由安装器处理初始地创建这样的文件。因此,为了将应用和由安装器处理所影响的计算系统的部分还原至所选应用还原点中所捕获的状态,删除应用还原点中列出的新文件。注意,应用还原点包含需要用来在计算系统中定位这样的文件的信息,例如,路径名和文件名。在步骤420,通过被还原的应用还原点中存储的原始副本替换安装器处理期间修改的每个文件。如上所述,应用还原点包含安装器处理期间修改或者删除的文件的原始副本。因此,为了将应用和由安装器处理所影响的计算系统的部分还原至应用还原点所表示的状态,还原应用还原点中存储的原始副本。更具体地,如果文件因为其被安装器处理修改过而已被删除,则还原这样的文件,例如,将应用还原点中存储的文件的原始副本放置于计算系统中。如果安装器处理所修改的计算系统的文件仍然位于计算系统中,那么从计算系统中删除当前版本并且将应用还原点中存储的文件的副本放置于计算系统中。在一个实施例中,逐个文件地执行步骤420。可替代地,将应用还原点中包含的所有原始副本拷入计算系统中替换现有文件。当步骤415和420完成还原应用还原点中标识的所有文件时,方法400完成。可选地,一旦方法400完成,删除该方法所使用的应用还原点。有利地,如在此所述的那样,本发明的实施例能够在安装、更新或者修补应用时创建应用还原点并且在需要时将应用和计算系统的相关部分还原至应用还原点中捕获的状态。例如,通过监控安装处理并且仅仅保存相关数据(如安装处理期间由安装处理修改的文件),创建和还原处理不破坏计算系统上运行的其它应用。而且,因为创建和还原处理主要涉及安装处理所需的文件,所以节省了计算系统的资源并且可以出于不同的目的而使用计算系统的这些资源。尽管上文涉及本发明的实施例,但是在不偏离本发明基本范围的前提下可以设计出本发明的其它和进一步的实施例,并且本发明的范围由以下的权利要求书确定。
权利要求
1.一种为应用创建应用还原点的计算机实现方法,包含调用被配置成向应用施加安装包的安装器处理;生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由所述安装器处理施加所述安装包时要被修改的所述应用的一个或更多个组件中每一个的未修改副本;当由所述安装器处理施加所述安装包时对于由所述安装器处理所修改的所述应用的每一组件,在所述应用还原点数据结构中存储所述组件的未修改副本,以及对于由所述安装器处理添加至计算系统的每一新组件, 向所述新组件列表添加对所述新组件的引用;以及在所述应用还原点数据结构中存储所述新组件列表。
2.如权利要求1所述的方法,其中使用写时复制机制标识由所述安装器处理所修改的所述应用的每一组件,并且其中使用与所述安装器处理相关联的处理ID来标识所述组件。
3.如权利要求1或2所述的方法,其中调用所述安装器处理来执行安装所述应用、更新所述应用、修补所述应用和删除所述应用中的一个。
4.如权利要求1、2或3所述的方法,其中所修改的组件和添加至所述计算系统的所述新组件中的一个或更多个是存储在文件系统中指定位置的文件。
5.如权利要求1、2、3或4所述的方法,其中所述新组件列表包含所述新组件列表上的相应文件在所述计算系统中的文件名列表和路径位置列表。
6.如权利要求1所述的方法,其中所修改的组件或者添加至所述计算系统的所述新组件中的至少一个是注册表键、配置文件设置和系统设置。
7.如权利要求1所述的方法,其中所述安装器处理被配置成访问文件系统机制以标识由所述安装器处理所修改的每一组件并且获得每个所修改组件的所述未修改副本。
8.如任一在前权利要求所述的方法,其中所述应用是操作系统并且其中所述安装包是所述操作系统的更新或者补丁。
9.如任一在前权利要求所述的方法,进一步包含创建所述计算系统的快照;从所述快照获得由施加所述安装包所修改的组件的每个未修改组件;以及一旦完成安装处理,删除所创建的快照。
10.如任一在前权利要求所述的方法,进一步包含从所述新组件列表中删除与作为施加所述安装包的一部分的由所述安装器处理先安装并且随后删除的组件对应的至少一个条目。
11.一种包含程序的计算机可读存储介质,当被执行时,所述程序执行为应用创建应用还原点的操作,包含调用被配置成向应用施加安装包的安装器处理;生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由所述安装器处理施加所述安装包时要被修改的所述应用的一个或更多个组件中每一个的未修改副本;当由所述安装器处理施加所述安装包时对于由所述安装器处理所修改的所述应用的每一组件,在所述应用还原点数据结构中存储所述组件的未修改副本,以及对于由所述安装器处理添加至计算系统的每一新组件, 向所述新组件列表添加对所述新组件的引用;以及在所述应用还原点数据结构中存储所述新组件列表。
12.如权利要求11所述的计算机可读存储介质,其中使用写时复制机制标识由所述安装器处理所修改的所述应用的每一组件,并且其中使用与所述安装器处理相关联的处理ID 来标识所述修改的组件。
13.如权利要求11或12所述的计算机可读存储介质,其中调用所述安装器处理来执行安装所述应用、更新所述应用、修补所述应用和删除所述应用中的一个。
14.如权利要求11、12或13所述的计算机可读存储介质,其中所修改的组件和添加至所述计算系统的所述新组件中的一个或更多个是存储在文件系统中指定位置的文件。
15.如权利要求11、12、13或14所述的计算机可读存储介质,其中所述新组件列表包含所述新组件列表上的相应文件在所述计算系统中的文件名列表和路径位置列表。
16.如权利要求11所述的计算机可读存储介质,其中所修改的组件或者添加至所述计算系统的所述新组件中的至少一个是注册表键、配置文件设置和系统设置。
17.如权利要求11所述的计算机可读存储介质,其中所述安装器处理被配置成访问文件系统机制以标识由所述安装器处理所修改的每一组件并且获得每个所修改组件的所述未修改副本。
18.如权利要求11至17中任一项所述的计算机可读存储介质,其中所述应用是操作系统并且其中所述安装包是所述操作系统的更新或者补丁。
19.如权利要求11至18中任一项所述的计算机可读存储介质,其中所述操作进一步包含创建所述计算系统的快照;从所述快照获得由施加所述安装包所修改的组件的每一个未修改组件;以及一旦完成所述安装器处理,删除所创建的快照。
20.如权利要求11至19中任一项所述的计算机可读存储介质,其中所述操作进一步包含从所述新组件列表中删除与作为施加所述安装包的一部分的由所述安装器处理先安装并且随后删除的组件对应的至少一个条目。
21.—种系统,包含 处理器;以及存储应用安装器处理的存储器,当由所述处理器执行时,所述应用安装器处理被配置成执行为应用创建应用还原点的操作,所述操作包含调用被配置成向应用施加安装包的安装器处理,生成应用还原点数据结构,所述应用还原点数据结构被配置成存储新组件列表以及在由所述安装器处理施加所述安装包时要被修改的所述应用的一个或更多个组件中每一个的未修改副本,当由所述安装器处理施加所述安装包时(i)对于由所述安装器处理所修改的所述应用的每一组件,在所述应用还原点数据结构中存储所述组件的未修改副本,以及( )对于由所述安装器处理添加至所述计算系统的每一新组件,向所述新组件列表添加对所述新组件的引用;以及在所述应用还原点数据结构中存储所述新组件列表。
22.如权利要求21所述的系统,其中使用写时复制机制标识由所述安装器处理所修改的所述应用的每一组件,并且其中使用与所述安装器处理相关联的处理ID来标识所述修改的组件。
23.如权利要求21或22所述的系统,其中调用所述安装器处理来执行安装所述应用、 更新所述应用、修补所述应用和删除所述应用中的一个。
24.如权利要求21、22或23所述的系统,其中所修改的组件和添加至所述计算系统的所述新组件中的一个或更多个是存储在文件系统中指定位置的文件。
25.如权利要求21、22、23或对所述的系统,其中所述新组件列表包含所述新组件列表上的相应文件在所述计算系统中的文件名列表和路径位置列表。
26.如权利要求21所述的系统,其中所修改的组件或者添加至所述计算系统的所述新组件中的至少一个是注册表键、配置文件设置和系统设置。
27.如权利要求21所述的系统,其中所述安装器处理被配置成访问文件系统机制以标识由所述安装器处理所修改的每一组件并且获得每个所修改组件的所述未修改副本。
28.如权利要求21至27中任一项所述的系统,其中所述应用是操作系统并且其中所述安装包是所述操作系统的更新或者补丁。
29.如权利要求21至28中任一项所述的系统,其中所述操作进一步包含创建所述计算系统的快照;从所述快照获得由施加所述安装包所修改的组件的每一个未修改组件;以及一旦完成安装处理,删除所创建的快照。
30.如权利要求21至四中任一项所述的系统,其中所述操作进一步包含从所述新组件列表中删除与作为施加所述安装包的一部分的由所述安装器处理先安装并且随后删除的组件对应的至少一个条目。
31.一种计算机程序,包含被配置为当所述程序运行于计算机上时用来执行权利要求 1至10中任一项所述的方法的程序代码装置。
全文摘要
公开了当安装或者更新应用时创建应用还原点并且将应用和由安装和更新处理所修改的计算系统的其它元素还原至应用还原点所具有的状态的技术。应用还原点捕获与哪些文件由安装和更新处理来修改、创建或者删除有关的信息。在一个实施例中,用户调用安装器处理来安装或者更新应用。当安装器处理修改或者创建文件时,将文件的原始副本或者对文件的引用放置于应用还原点中。为了还原应用,通过原始副本替换具有应用还原点中的原始副本的计算系统的文件而删除应用还原点中引用的所有新文件。
文档编号G06F11/14GK102216905SQ200980145171
公开日2011年10月12日 申请日期2009年11月12日 优先权日2008年11月14日
发明者D·M·查特朗德, E·A·鲍尔, K·W·科克比, S·派特尔 申请人:国际商业机器公司

最新回复(0)