CN103415848A - 使用元数据进行应用程序的无缝备份和恢复 - Google Patents

使用元数据进行应用程序的无缝备份和恢复 Download PDF

Info

Publication number
CN103415848A
CN103415848A CN2011800684195A CN201180068419A CN103415848A CN 103415848 A CN103415848 A CN 103415848A CN 2011800684195 A CN2011800684195 A CN 2011800684195A CN 201180068419 A CN201180068419 A CN 201180068419A CN 103415848 A CN103415848 A CN 103415848A
Authority
CN
China
Prior art keywords
packaging body
payload
application program
data
information
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.)
Granted
Application number
CN2011800684195A
Other languages
English (en)
Other versions
CN103415848B (zh
Inventor
T·乔杜里
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development 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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN103415848A publication Critical patent/CN103415848A/zh
Application granted granted Critical
Publication of CN103415848B publication Critical patent/CN103415848B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/1464Management of the backup or restore process for networked environments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

使用元数据进行应用程序的无缝备份和恢复。总体上描述了对于提供使用元数据进行应用程序的无缝备份和恢复的系统和方法有效的一些技术。在示例中,元数据可以被定义为映射与应用程序关联的数据并提供数据与应用程序的关系。根据元数据,备份系统可以创建包含应用程序数据的封装体以及包含应用程序相关数据的净荷。封装体可以不仅包含应用程序数据,还可以包含配置信息和访问参数。封装体和净荷可以被关联在一起并且由备份系统保存。在另一个示例中,为了恢复应用程序,可以检索封装体和净荷,并且可以使用元数据将封装体解封,以重新安装应用程序至与其被备份时相同的状态,并且可以从净荷中复原应用程序相关数据。

Description

使用元数据进行应用程序的无缝备份和恢复
技术领域
本主题公开总体上涉及使用元数据进行应用程序备份和恢复。
背景技术
软件工业正在处于变化中。随着手持装置和平板电脑的激增,为这些装置开发的并且存储在这些装置上的应用程序的数量成指数增长。在软件业发生这次巨大的改变之前,个人计算机(PC)的平均水平是每台PC上安装8至45个应用程序。然而,就智能电话的平均情况而言,平均数接近每部电话85个应用程序。平板电脑同样具有每台平板电脑平均大约60个应用程序的配售率。随着在线应用程序商店变得越来越普遍,手持装置、平板电脑和PC的应用程序的配售率有可能更进一步增加。
传统的备份系统主要关注备份单个文件夹或一组文件夹。当发生不可避免的系统故障或硬盘驱动器崩溃时,这些备份系统将恢复文件夹或文件,但应用程序不会被自动重新安装。需要人工重新安装应用程序并且接着复原数据及数据和应用程序之间的关联。由于在PC和其它装置上找到的应用程序的数量激增,会使这个任务更为繁重,这会使得重新安装过程难以处理。
因为各种类型的应用程序针对其备份需要具有不同要求,所以系统备份和恢复更加复杂。一些应用程序在装置上是自包含的(self-contained)并且仅需要重新安装。其它的应用程序可以是混合性的,其中应用程序可以驻留在装置上,但与应用程序相关联的数据驻留在云上。类似地,应用程序可以是多重混合性的,其中应用程序的一部分驻留在装置上,并且应用程序的一部分驻留在云上,并且其中数据驻留在装置和云两者上。
系统和应用程序备份和恢复的传统方法的上述缺陷仅旨在提供传统方法和技术的一些问题的概括,并不旨在是穷尽的。阅读下面的描述之后,传统系统和技术的其它问题以及本文描述的各种非限制性实施方式的相应益处可能变得更明显。
发明内容
在各种非限制性实施方式中,提供了使用元数据进行应用程序的无缝备份和恢复的系统和方法。在示例中,计算装置可以接收与应用程序关联的元数据,计算装置可接着基于该元数据收集与应用程序相关的第一部分信息以及与应用程序相关的第二部分信息,其中第一部分信息与第二部分信息不同。当收集了第一部分信息和第二部分信息时,计算装置可以封装第一部分信息并封装第二部分信息以存储在存储介质上以便备份。
在另一个实施方式中,可检索与应用程序关联的元数据,并且也可以检索与应用程序对应的封装体(capsule)和净荷。可以从应用程序封装体中提取应用程序配置信息、安装数据和访问参数,并且将其用以恢复应用程序。另外,根据元数据复原从净荷中提取的应用程序特定数据。
以上的概述仅是示例性的并且不是旨在以任何方式进行限制。除了上述的示例性方面、实施方式和特征外,通过参照附图和下面的具体实施方式,其它的方面、实施方式和特征将变得明显。
附图说明
参照附图进一步描述各种非限制性实施方式,其中:
图1是例示用于备份一组应用程序的系统的示例、非限制性实施方式的框图;
图2是例示检测一组应用程序中的变化并更新备份的应用程序组件的更新系统的示例、非限性实施方式的框图;
图3是例示用于备份应用程序的版本控制系统的示例、非限制性实施方式的框图;
图4例示使用元数据来备份应用程序的示例、非限制性实施方式的流程图;
图5例示通过创建封装体和净荷来备份应用程序的示例、非限制性实施方式的流程图;
图6例示用于检测应用程序的更改并且重新封装信息的一些部分的示例、非限制性实施方式的流程图;
图7是例示用于重新安装应用程序并复原与应用程序关联的数据的恢复系统的示例、非限制性实施方式的框图;
图8是用于使用元数据从封装体和净荷中复原应用程序的示例、非限制性实施方式的流程图;
图9是用于从特定封装体和相关联的净荷中复原应用程序的示例、非限制性实施方式的流程图;
图10例示用于定义针对应用程序的元数据并基于该元数据创建封装体和净荷的一组计算机可读指令的示例、非限制性实施方式的流程图;以及
图11是例示被布置用于备份和复原应用程序的示例计算装置的框图。
具体实施方式
概述
在下面的详细描述中,参照了附图,附图形成说明书的一部分。在附图中,除非上下文另外指出,否则类似的附图标记通常标识类似的组件。具体实施方式、附图和权利要求书中描述的示例性实施方式并不意味着是限制性的。可以在不脱离本文描述的主题的精神或范围的情况下,可以利用其它实施方式,并且可以进行其它改变。应当容易理解的是,如本文总体描述和图中示出的,可以采用各式各样的不同构造来布置、取代、组合、分割和设计本发明的方面,全部这些是本文明确预期的。
如上面所讨论的,处理各种应用程序的备份和恢复的传统方法主要关注的是备份各个文件和文件夹,而并没有无缝备份应用程序及其相关数据。例如,传统方法将备份特定文件夹,并且在硬盘驱动器崩溃或系统故障的情况下,将在备份文件夹的原始位置替换备份文件夹,但将不必重新安装应用程序和应用程序特定数据。
在各种非限制性的实施方式中,提供了无缝备份和恢复系统,该系统将应用程序及其相关数据备份在它们的构成部分中。当恢复时或者响应于恢复,应用程序可以被完全复原并且该应用程序产生的或利用的所有数据被自动恢复。
举例来说,图1例示用于备份应用程序的系统的示例、非限制性实施方式的框图。如图1所示,提供了用于在存储模块110上备份一组已安装应用程序102的备份系统100。元数据模块104可以定义与至少一个应用程序关联的元数据,并且该元数据可以被包装模块106读取以基于所定义的元数据针对该组已安装应用程序102中的各个创建封装体和净荷。备份模块108可以接收封装体和净荷,为每个封装体和净荷分配一个标识符,并且将封装体和净荷存储在存储模块110上。
一组已安装应用程序102可以被安装在手持装置、平板电脑、PC或能够在上面安装应用程序的任何计算装置上。要注意,当在本文件通篇使用术语“装置”时,它可以指上面提到的计算装置中的任一种。该组已安装应用程序102也可以完全被安装到云网络上或其某种混合体上,这种情况下,应用程序的一部分驻留在云上而应用程序的其余部分驻留在计算装置上。
元数据模块104可以定义与该组已安装应用程序102中的至少一个关联的元数据。元数据模块104可以被配置为用于映射与应用程序关联的数据的位置以及映射应用程序本身的位置。与应用程序关联的数据的位置可以是数据的逻辑地址、物理地址或者层级地址。在示例中,元数据模块104可以提供装置上的应用程序相关数据的位置。应用程序相关数据可以是安装文件、构成应用程序的数据或由应用程序产生或被应用程序利用的任何数据。元数据模块104还可以确定被映射数据的类型,并且指示数据如何被应用程序使用。一些应用程序相关数据用于应用程序的运行或使用,而其它应用程序相关数据可以是应用程序的产品。
在另一个实例中,元数据模块104还可以被配置为映射网络,以确定网络上以及装置上的应用程序相关数据的位置。元数据模块104还可以收集并定义用于安装应用程序的指令。可以从应用程序文件夹、从应用程序或从互联网搜集指令。元数据模块104还可以基于应用程序的原始安装来定义用于安装应用程序的指令。
元数据模块104还可以针对每个应用程序创建配置文件,该配置文件可定义应用程序的位置。该配置文件还可包括应用程序的属性,所述应用程序的属性可以用于备份和恢复应用程序,例如,应用程序的修改以及应用程序的用户可选配置。元数据模块104还可以进一步定义应用程序运行所需的访问参数(如果有的话)。访问参数可以是产品注册密钥、激活密钥、密码、以及备份和恢复应用程序所需的其它需要信息。在示例中,元数据模块104可以针对每个应用程序创建并定义元数据并且将所定义的元文件与各应用程序关联。在另一个示例中,元文件可以与该组已安装应用程序相关联。从以上内容应该清楚的是,元数据模块104定义的元数据对于每个应用程序来说可以是唯一的。
在另一个非限制性实施方式中,元数据模块104可以基于与应用程序预先关联的元文件来针对应用程序定义元数据。预先关联的元文件可以由另一个应用程序产生,可以是用户创建的,或者可以与已安装应用程序封装在一起。元数据模块104可以将预先关联的元文件完全包括到已定义的元数据中,或者元数据模块可以被配置为分析预先关联的元文件,并使用预先关联的元文件的相关部分(如果有的话)以定义针对应用程序的元数据。
包装模块106可以被配置为从元数据模块104接收针对应用程序定义的元数据。根据接收到的元数据,包装模块106可以从该组已安装应用程序102中搜集与应用程序相关的信息。包装模块106可以根据所搜集的第一部分信息创建封装体。第一部分信息可以包括用于重新安装应用程序的信息。这类信息可以包括(但不限于):安装文件、配置指令、访问参数和应用程序运行所使用的其它数据。可以将第一部分信息封装或包装在封装体中。在一个示例中,封装体可以仅包含在未压缩的情况下已包装的信息,而在另一个示例中,信息可以被压缩以减小封装体的大小。
包装模块106还可以基于接收到的元数据从该组已安装应用程序102中收集第二部分信息,并且可以将第二部分信息包装在净荷中。第二部分信息可以是与应用程序关联、以及由应用程序产生或被应用程序利用的数据。如上所述,包装模块106可以封装包含压缩格式或未压缩格式的文件的净荷。
在一个实施方式中,包装模块106可以基于元数据模块104指示的要被包装数据的类型来选择将要被包括在封装体或净荷中的信息。如果元数据模块104指示该信息是以下数据中的至少一种:配置信息、安装指令、安装数据、访问参数或应用程序执行所使用的其它数据,则包装模块106可以将数据封装到封装体中。另选地,如果元数据模块104指示被映射数据不用于应用程序的执行,或者是应用程序产生的或者被应用程序利用的数据,则数据文件可以被包装到净荷中。
备份模块108可以被配置为从包装模块106接收已包装的封装体和净荷,并且准备用于备份的封装体和净荷。净荷和封装体在存储器中被关联在一起,使得将封装体与对应的净荷一起存储。备份模块108还可以为封装体和净荷分别分配标识符,并保留标识符的记录。还可以为封装体和净荷组分配标识符。标识符可以指示下列中的至少一个:备份的时间和日期、应用程序的名称、应用程序的版本、安装了该应用程序的装置或PC、或哪个用户或什么处理启动了备份。封装体和净荷分别分配的标识符可以使得能够搜索满足搜索参数的封装体和净荷。
在另一个实施方式中,备份模块108可以将封装体与特定应用程序的相应净荷关联,以将它们与对应于不同应用程序的封装体和净荷区分开来。
备份模块108还可以被配置为将关联的封装体和净荷存储在存储模块110中。存储模块110可以是计算装置上的本地存储器、USB闪存存储器驱动器、外部硬盘驱动器、软盘、磁带驱动器或任何其它常用的移动存储装置。存储模块110也可以是网络装置、网络驱动器或远程存储位置。在一个示例中,远程存储位置可以是基于互联网的存储位置,或者在另一个示例中可以在局域网上。
在一个实施方式中,存储模块110可以仅包括一组封装体和净荷,或者可以包括与一个应用程序对应的多个封装体和净荷。在另一个实施方式中,存储模块110可以保留与单个装置或PC上的多个应用程序对应的封装体和净荷。在又一个实施方式中,存储模块110可以存储来自多个装置的封装体和净荷。对于这个实施方式,进一步地,存储模块110因此可用作被备份的多个装置的存储器。在这个示例中,由备份模块108分配的标识符可以标识各封装体和净荷组对应于哪个装置。
现在转到图2,示出了检测一组应用程序的变化并更新已备份的应用程序组件的更新系统的示例、非限制性实施方式的框图。如图2所示,系统200可以包括一组已安装应用程序102、元数据模块104、更新模块204和存储模块110。元数据模块104还可以包括检测模块202。检测模块202可以检测该组已安装应用程序102中的应用程序的改变或更改,并修订与该应用程序关联的元数据。更新模块204可以使用已修订的元数据来包装并备份新的封装体和净荷,并且将它们与已有的封装体和净荷一起并列地存储在存储模块110上。
在实施方式中,检测模块202可以监控元数据所映射的数据,并且检测应用程序的变化。当检测到变化时,检测模块202可以创建新的元数据或修改与该应用程序关联的已有元数据。所检测到的变化可以包括(但不限于)应用程序版本的变化、配置的变化、可以找到该应用程序的位置的变化等。检测模块202还可以检测应用程序产生的或被应用程序使用的应用程序特定数据的变化。此数据的变化可以包括(但不限于)已修改文件、已删除文件和已添加文件。
在另一个实施方式中,检测模块202可以被配置为根据计划扫描变化情况。这种计划可以命令检测模块每小时、每天、每周或以任何其它合适的时间间隔扫描应用程序相关数据的变化。在又一个实施方式中,检测模块202可以响应于触发事件来扫描应用程序相关数据的变化。触发可以是(但不限于)应用程序的安装或删除、打开装置或重启装置,或者检测到新装置。在触发事件发生时,检测模块202可以自动地搜索元数据模块104所映射的数据的变化。
当检测模块202检测到变化时,与应用程序关联的元数据可以被元数据模块104修改以反映这些变化。元数据也可以被元数据模块104定义的新的元数据替换,新的元数据包括检测模块202检测到的应用程序相关数据的变化。
更新模块204可以从元数据模块104接收针对应用程序或一组应用程序的已更新的元数据。基于已更新的元数据,更新模块204可以搜集与该应用程序或一组应用程序相关的信息,以更新存储模块110上的已备份的封装体和净荷。
在一个实施方式中,更新模块204可以被配置为接收已更新的元数据,并且基于已更新的元数据创建另外的封装体和另外的净荷。新的封装体可以是完整的封装体,并且可以用于将应用程序复原至当检测模块202检测到变化时它的状态。新的净荷还可以用于完全复原应用程序特定数据。接着,更新模块可以为新的封装体和净荷分配标识符。该标识符可以指示下列中的至少一个:备份的时间和日期、应用程序的名称、应用程序的版本、安装了该应用程序的装置或PC,或者哪个用户或什么处理启动了备份。
对于这个实施方式,进一步地,接着,更新模块204可以向存储模块110发送新的封装体和新的净荷。存储模块110可以替换之前已备份的封装体和净荷,或者将新的封装体和净荷与旧的封装体和净荷一起保存。如果新的封装体和净荷以及旧的封装体和净荷均被保存在存储模块110上,则备份模块108和更新模块204分别分配的标识符可以用于区分这些封装体和净荷。
在另一个实施方式中,更新模块204可以从存储模块检索封装体和净荷。更新模块204可以对封装体和净荷暂时进行解封装。接着,更新模块204可以基于已更新的元数据,把已解封的封装体和净荷中的旧的部分信息用与已更新的元数据相对应新的改变的部分替换。当信息的更新完成时,接着更新模块204可以重新封装封装体和包装,并将它们发送回存储模块110。更新模块204还可以更新封装体和净荷的标识符以指示已发生更新,并且提供更新的时间和日期。
在又一个实施方式中,如果检测模块202检测到仅第一部分信息中的变更或者仅第二部分信息中的变更,则更新模块204可以仅更新封装体或净荷之一。对于这个实施方式,进一步地,已更新的净荷或已更新的封装体可以关联到与同一应用程序对应的先前的封装体和净荷。以此,一个应用程序可以具有构成应用程序备份的数量不等的封装体和净荷。
现在转到图3,示出了例示用于备份应用程序的版本控制系统的示例、非限制性实施方式的框图。系统300可以包括与已安装应用程序314对应的一组封装体和净荷302。该组封装体和净荷302还可以包括封装体304、已更新的封装体306和净荷308-312。应当理解的是,虽然图3示出两个封装体和与封装体对应的一组净荷,但可能存在封装体和净荷的任何组合。还可以设置版本模块316,版本模块316可以提供与正被备份的净荷和应用程序的版本相关的信息。
版本模块316可以分别与图1和图2的备份系统和更新系统结合工作。版本模块316可以确定应用程序314的版本并且可以指示与应用程序对应的封装体的版本。随着封装体被更新并且被添加到该组封装体和净荷302中,版本模块316可以标记已更新的封装体306,使得清楚的是,它与应用程序316的最新版本对应。
该组封装体和净荷302对应于应用程序314。封装体304和已更新的封装体306可以各包含第一部分信息,该第一部分信息可以包括用于重新安装应用程序314的信息。这类信息可以包括(但不限于)安装文件、配置指令、访问参数和应用程序操作所使用的其它数据。净荷308-312可以各包括与应用程序关联的、以及应用程序产生或者应用程序利用的数据。版本模块316可以用创建净荷的时间和日期来标记各净荷。各净荷还可以与封装体304或已更新的封装体306关联。
图4至图6示出与之前提到的系统相结合的处理。例如,图4-图6中的处理可以分别通过图1、图2和图3示出的系统100、200或300来实现。
图4例示使用元数据来备份应用程序的示例、非限制性实施方式的流程图。在400中,通过接收与应用程序关联的元数据,启动备份处理。元数据可以是以上参照图1描述的元数据模块104定义的,或者元数据可以与应用程序预先关联。接收到的元数据定义了与应用程序相关的信息的位置、数据的类型及其与应用程序的关系。接收到的元数据可以进一步将应用程序相关信息区分为两类,即第一部分信息和第二部分信息。
在410中,基于元数据对应用程序相关信息的区分,收集与应用程序相关的第一部分信息。可以通过使用元数据确定信息处在哪个位置接着从所指定的位置搜集信息,来收集第一部分信息。
在420中,收集与应用程序相关的第二部分信息。第二部分信息与第一部分信息是有区别的。与如上所述的第一部分类似,可以基于元数据对应用程序相关信息的分类来收集第二部分信息。元数据可以进一步指定可以找到与应用程序相关的第二部分信息的位置或一组位置。一旦确定了位置,就可以搜集信息。
在430中,对第一部分信息和第二部分信息进行封装。第一部分信息可以被封装在封装体中,并且第二部分信息可以被封装在净荷中。在一个示例中,封装处理可以压缩封装体和净荷,以使得容器的大小更小。在另一个示例中,可以在不压缩的情况下执行封装。
图5示出用于通过创建封装体和净荷备份应用程序的示例、非限制性实施方式的流程图。在500中,通过接收与应用程序关联的元数据,启动备份进过。元数据可以是以上参照图1描述的元数据模块104定义的,或者元数据可以与应用程序预先关联。接收到的元数据定义了与应用程序相关的信息的位置、数据的类型及其与应用程序的关系。接收到的元数据可以进一步将应用程序相关信息区分为两类,即第一部分信息和第二部分信息。第一部分信息可以包括用于重新安装应用程序的信息。这类信息包括(但不限于)应用程序安装数据、安装文件、配置指令、访问参数和应用程序操作所使用的其它数据。第二部分信息可以包括与应用程序关联但不是应用程序执行所必需的数据,例如应用程序产生的或者应用程序所使用的数据。
在510中,基于元数据对应用程序相关信息的区分,收集与应用程序相关的第一部分信息。可以通过使用元数据确定信息处在哪个位置接着从所指定的位置搜集信息来收集第一部分信息。
在520中,收集与应用程序相关的第二部分信息。还收集包括应用程序所产生的或者应用程序所使用的数据在内的第二部分信息。元数据可以进一步指定可以找到与应用程序相关的第二部分信息的位置或一组位置。一旦确定了位置,可以搜集信息。
在530中,第一部分信息和第二部分信息分别被封装在封装体和净荷中。在一个示例中,封装处理可以压缩封装体和净荷,以使得容器的大小变得更小。在另一个示例中,通过将第一部分信息和第二部分信息保留在它们各自的容器中,可以在不压缩的情况下执行封装。
图6示出用于检测应用程序的变更并重新封装信息的一些部分的示例、非限制性实施方式的流程图。在600中,检测第一部分信息或第二部分信息的变更。第一部分信息和第二部分信息可以一起形成被元数据模块104映射并针对其创建元数据的应用程序相关信息。检测到的变更可以是第一部分和第二部分这两者的变更,或者另选地可以是第一部分或第二部分单独的变化。检测到的变更可以包括(但不限于)应用程序版本的变化、配置的变化、可以找到应用程序的位置的变化或应用程序特定数据的变化,诸如,改变后文件、添加的文件或删除的文件。
在610中,在检测到变更后,可以重新封装检测到变更的那部分信息。可以收集检测到变更的所述那部分信息,并且在收集到该信息时,就可以封装所述那部分信息。如上所述,当封装所述部分时封装处理可以压缩所述部分信息,或者可以不压缩所述部分信息。
接着,可以将重新封装的所述部分信息关联到与同一应用程序对应的原始封装的第一部分和第二部分。在关联处理期间,可以标记封装体和净荷,以指示它们是何时被封装的,以及封装体和净荷对应于应用程序的哪个版本。
举例来说,图7示出用于重新安装应用程序714和复原与应用程序关联的数据的恢复系统的示例、非限制性实施方式。如图7所示,存储模块702可以存储与净荷关联的一组封装体。检索模块704可以从存储模块702检索所选择的封装体和净荷,并且可以分别向提取模块706和恢复模块712发送检索到的封装体和净荷。重新安装模块710可以被设置为重新安装应用程序,并且恢复模块712进一步被设置为帮助恢复应用程序特定数据。还可以设置应用程序元文件708以提供与应用程序关联的元数据以引导恢复系统。
存储模块702可以是计算装置上的本地存储器,或者USB闪存存储器驱动器、外部硬盘驱动器、软盘、磁带驱动器或其它任何常用的移动存储装置。存储模块702也可以是网络装置、网络驱动器或远程存储位置。在一个示例中,远程存储位置可以是基于互联网的存储位置,或者在另一个示例中可以在局域网或广域网上。
检索模块704可以被配置为通过多种机制从存储模块702选择要检索的封装体和净荷。在一个示例中,检索模块704可以接收用于检索最近和最新的封装体和净荷的指令。在另一个示例中,检索模块704可以进一步被配置为检索用户指定的封装体和净荷。在又一个示例中,检索模块704可以基于包括更新封装体和净荷的时间和日期、封装体所对应的应用程序的版本、净荷的大小或其任何组合的一组参数来检索封装体和净荷。
提取模块706从检索模块704接收检索到的封装体并且分析应用程序元文件708。应用程序元文件708提供检索到的封装体相关联的应用程序所对应的元数据。提取模块706可以被配置为对检索到的封装体进行解封装,并且可以进一步被配置为分析元文件以组织封装体的内容。
在一个实施方式中,封装体包含数据文件并且经分析的元文件可以提供与封装体的结构相关的信息,并且提取模块706可以基于该信息来组织已解封装的数据,以准备用于重新安装应用程序714的数据。元数据可以包含与安装和配置指令相关的信息,这允许重新安装模块710使用合适的配置在正确的位置重新安装应用程序。
在另一个实施方式中,解封装后的封装体保留组织结构,并且具有配置指令。在这种情况下,元文件可以通过例如指出要重新安装至哪个目录文件来提供关于将应用程序重新安装至什么位置的信息。
基于元数据并且使用来自提取模块706的已提取的封装体内容,重新安装模块710重新安装应用程序714。元数据可以提供关于将应用程序714重新安装在什么位置的信息,并且封装体内容可以提供重新安装应用程序714所需的安装数据文件、配置指令和访问参数。
在一个实施方式中,重新安装模块710可以被配置为从远程位置重新安装应用程序714。在另一个实施方式中,重新安装模块710可以被配置为在本地重新安装应用程序714,或者可以被配置为部分远程地并且部分本地地重新安装应用程序714。
一旦应用程序714被重新安装,恢复模块712可以复原安装应用程序所不需要的应用程序特定数据。恢复模块712从检索模块704接收检索到的净荷,并且可以被配置为将净荷解封装以访问应用程序特定数据。接着,恢复模块可以分析应用程序元文件708,以确定将应用程序特定数据复原至哪个位置。元数据可以提供应用程序特定数据的每个文件要被复原的位置的列表,并且恢复模块712可以根据该列表来复原数据。
图8和图9示出与图7示出的系统结合的处理。例如可以由系统700实现图8和图9中的处理。
图8是用于使用元数据从封装体和净荷复原应用程序的示例、非限制性实施方式的流程图。
在800中,通过检索与应用程序关联的元数据并且检索与同一应用程序对应的封装体和净荷来启动复原处理。在一个实施方式中,可以从与封装体和净荷分开存储的元文件中读取元数据。在另一个实施方式中,元数据可以与封装体和净荷一起存储。
在810中,从封装体中提取应用程序配置信息、安装数据和访问参数。提取处理可以包括如果封装体被压缩则将封装体解压缩,接着提取封装体的组成部分,或者如果封装体未被压缩则提取处理可以只包括提取。在一个示例中,检索到的元数据还可以用于提供已提取的封装体组成的结构(如果没有的话)。对于这个示例,进一步地,元数据可以用于标识封装体的组成,以确定已提取的封装体的哪些部分是应用程序配置信息、安装数据和访问参数。
在820中,使用应用程序配置信息和访问参数从安装数据恢复应用程序。应用程序配置信息和元数据一起引导重新安装处理,并且可以使用访问参数提供对重新安装的应用程序的访问。
在830中,使用净荷中的应用程序特定数据来复原应用程序产生的或应用程序所使用的全部数据。元数据通过指引应用程序特定数据文件被复原到的位置来提供对复原处理的引导。
图9是用于从特定封装体和关联的净荷复原应用程序的示例、非限制性实施方式的流程图。
在900中,检索对特定封装体的请求。该请求可以是检索最近和最新的封装体,或者该请求可以是用户指定的。该请求也可以是基于基于特定参数对封装体的搜索的,所述特定参数可以包括更新封装体或净荷的时间和日期、封装体对应的应用程序的版本、封装体的大小或其任何组合。
在910中一旦检索到特定封装体,可以检索与特定封装体关联的至少一个净荷。净荷可以是最近备份的净荷,或者可以是与已选择的封装体关联的任何净荷。也可以按照与请求特定封装体相同的方式来请求特定净荷。
在920中,可以基于所提取的安装数据、应用程序配置信息和访问参数从指定封装体恢复应用程序。
在930中,可以从净荷复原应用程序产生的和应用程序所使用的数据。可以根据对将指引数据复原至哪个位置的元数据来完成这个复原处理。
图10例示用于定义针对应用程序的元数据并且基于该元数据创建封装体和净荷的一组计算机可读指令的示例、非限制性实施方式的流程图。计算机可读存储介质1000可以包括计算机可执行指令。在1010中,可以运行指令以定义应用程序的元数据,包括映射与应用程序关联的数据。可以通过映射与应用程序关联的数据的位置以及映射应用程序本身的位置来定义元数据。映射与应用程序关联的数据的位置可以映射数据的逻辑地址、物理地址或层级地址。定义处理还可以确定被映射的数据的类型,并且指示应用程序如何使用数据。一些应用程序相关数据针对应用程序的运行或使用,而其它的应用程序相关数据可以是应用程序的产品。用于定义元数据的指令还可以包括用于确定安装指令的指令,该安装指令用于安装应用程序并且从应用程序提取访问参数。
在1020中,这些指令可以运行,以基于安装指令和访问参数来创建配置信息。接着,在1030中配置信息与安装数据文件结合使用以创建封装体。这个操作是基于1010所定义的元数据。
在1040中,可以运行这些指令以形成与应用程序关联的数据的净荷。该净荷可以由不是用于应用程序的运行的应用程序特定数据组成,相反地是由该运行产生或该运行所使用的数据。
示例计算环境
图11是例示了被设置为备份和复原应用程序的示例性计算装置1100的框图。在非常基本的配置1102中,计算装置1100一般包括一个或更多个处理器1104以及系统存储器1106。存储器总线1108可以用于进行处理器1104和系统存储器1106之间的通信。
依赖于所期望的配置,处理器1104可以是任意类型的处理器,包括(但不限于)微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或它们的任意组合。处理器1104可以包括一级以上的高速缓存(例如,一级缓存1110和二级缓存1112)、处理器内核1114和寄存器1116。示例性的处理器内核1114可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理内核(DSP Core)或它们的任意组合。示例性的存储器控制器1118也可以与处理器1104一起使用,或者在一些实现中,存储器控制器1118可以是处理器1104的内部部件。
依赖于所期望的配置,系统存储器1106可以是任意类型的存储器,包括(但不限于)易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪速存储器等)或者它们的任意组合。系统存储器1106可以包括操作系统1120、一个或更多个应用程序1122以及程序数据1124。应用程序1122可以包括被设置为执行本文所描述的功能的备份和恢复模块1126。程序数据1124可以包括备份和恢复处理和资源信息。在一些实施方式中,可以设置应用程序1122以在操作系统1120上用程序数据1124进行操作。
计算装置1100可以具有附加特征或功能以及附加接口,以便于基本配置1102和任何所需的装置和接口之间的通信。例如,可以使用总线/接口控制器1130,以便于经由存储接口总线1134在基本配置1102和一个或更多个数据存储装置1132之间的通信。数据存储装置1132可以是可拆卸的存储装置1136、不可拆卸的存储装置1138或者它们的组合。可拆卸的存储装置和不可拆卸的存储装置的示例包括,仅作为示例,诸如软盘驱动器和硬盘驱动器(HDD)这样的磁盘驱动器、诸如质密盘(CD)驱动器或数字通用盘(DVD)驱动器这样的光盘驱动器、固态驱动器(SSD)以及磁带驱动器等。示例性计算机存储介质可以包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的易失性和非易失性、可拆卸和不可拆卸的介质。
系统存储器1106、可拆卸存储装置1136以及不可拆卸存储装置1138是计算机存储介质的示例。计算机存储介质包括(但是不限于)RAM、ROM、EEPROM、闪速存储器或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储器、磁带盒、磁带、磁盘存储器或其它磁存储装置,或者可以用于存储期望信息并且可以被计算装置1100访问的任何其它介质。任何这种计算机存储介质可以是计算装置1100的一部分。
计算装置1100还可以包括用于便于经由总线/接口控制器1130从各种接口装置(例如,输出装置1142、外围接口1144和通信装置1146)到基本配置1102的通信的接口总线1140。示例性输出装置1146包括图形处理单元1148和音频处理单元1150,它们可以被配置为通过一个或更多个A/V端口1152与例如显示器或扬声器这样的各种外部装置通信。示例性外围接口1144包括串行接口控制器1154或并行接口控制器1156,它们可以被配置为经由一个或更多个I/O端口1158与诸如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)或其它外围装置(例如,打印机、扫描仪等)这样的外部装置进行通信。示例性通信装置1146包括网络控制器1160,其可以被设置为便于经由一个或更多个通信端口1164通过网络通信链路与一个或更多个其它计算装置1162进行通信。
网络通信链路可以是通信媒介的一种示例。通信媒介通常可以通过诸如载波或其它传输机制这样的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据来具体实现,并且可以包括任何信息传递媒介。“已调制数据信号”可以是这样的信号,即,该信号具有以在信号中对信息编码的方式设置或改变的一个或者更多个特征。作为示例,但不限于此,通信媒介可以包括诸如有线网络或者直接有线连接这样的有线媒介,以及诸如声波、射频(RF)、微波、红外(IR)和其它无线媒介的无线媒介。本文所使用的术语计算机可读介质可以包括存储介质和通信媒介两者。
计算装置1100可以被实现为小型的便携式(或移动)电子装置的一部分,诸如,蜂窝电话、个人数据助理(PDA)、个人媒体播放装置、无线网络收看装置、个人耳机装置、专用装置或者包括任何上述功能的混合装置。计算装置1100也可以被实现为包括膝上型计算机和非膝上型计算机装置在内的个人计算机。
本主题公开不限于本申请中描述的具体实施方式,这些实施方式旨在作为各个方面的例示。如对于本领域的技术人员来说将是明显的,可以在不脱离本发明的精神和范围的情况下进行许多修改和变型。除了本文列举的那些外,对本领域的技术人员来说根据上面的描述,本公开范围内的功能上等同的方法和装置将是明显的。这类修改和变型旨在落入所附权利要求书的范围内。仅通过所附权利要求书的条款连同所述权利要求所赋予权利的等同物的整个范围来限制本公开。将要理解的是,本公开不限于特定的方法、试剂、化合物、组合物或生物系统,当然这些是可以改变的。还将理解的是,本文使用的术语是仅用于描述特定实施方式,不旨在进行限制。
在示例性实施方式中,本文中描述的任何操作、处理等可以被实现为存储在计算机可读介质上的计算机可读指令。可以通过移动单元、网络元件和/或任何其它计算装置的处理器执行计算机可读指令。
系统方面的硬件实现方式和软件实现方式之间几乎没有区别;使用硬件或者软件一般(但并非总是,在特定环境中硬件和软件之间的选择可能非常重要)是设计选择,代表成本-效率折衷。存在可以实现本文描述的处理和/或系统和/或其它技术的各种载体(例如,硬件、软件和/或固件),并且优选载体将随着实施处理和/或系统和/或其它技术的环境而变化。例如,如果实施者确定速度和准确性重要,则实施者可以选择主要为硬件和/或固件载体;如果灵活性重要,则实施者可以选择主要为软件实现方式;或者再次另选地,实施者可以选择硬件、软件和/或固件的一些组合。
上述详细描述已经使用框图、流程图和/或示例阐述了装置和/或处理的各种实施方式。在这样的框图、流程图和/或示例包含一个或更多个功能和/或操作的情况下,本领域技术人员将要理解的是,这样的框图、流程图和/或示例内的每个功能和/或操作可以由范围广泛的硬件、软件、固件或几乎其任何组合单独地和/或共同地实现。在一个实施方式中,本文所描述的主题的多个部分可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实现。然而,本领域技术人员将认识到,本文所公开的实施方式的一些方面可以全部或部分地在集成电路中等效地实现为在一个或更多个计算机上运行的一个或更多个计算机程序(例如,在一个或更多个计算机系统上运行的一个或更多个程序)、实现为在一个或多个处理器上运行的一个或更多个程序(例如,作为在一个或更多个微处理器上运行的一个或更多个程序)、实现为固件、或者实现为几乎它们的任何组合,并且将认识到,根据该公开,设计电路和/或针对软件或固件编写代码完全属于在本领域技术人员的技术之内。此外,在本领域中的技术人员将会理解,本文中描述的主题的机制能够作为各种形式的程序产品而分发,并且,本文中描述的主题的例示性实施方式的应用与用于实际进行分发的信号承载介质的特定类型无关。信号承载介质的示例包括但不限于以下:诸如软盘、硬盘驱动器、CD、DVD、数字磁带、计算机存储器等的可记录型介质,以及诸如数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)的传输型介质。
本领域技术人员将认识到,以这里所阐述的方式描述装置和/或处理,并此后使用工程实践来将这样描述的装置和/或处理集成到数据处理系统中在本领域是常见的。即,这里描述的装置和/或处理中的至少一部分可以经由合理数量的实验被集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统通常包括以下中的一个或多个:系统单元外壳、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统、驱动器、图形用户界面和应用程序的计算实体、诸如触摸板或屏幕的一个或更多个交互装置、和/或包括反馈回路和控制电机(例如用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或数量的控制电机)的控制系统。典型的数据处理系统可以采用任何适当的商业可用部件(例如,那些通常出现在数据计算/通信和/或网络计算/通信系统中的可用部件)来实现。
这里描述的主题有时示出包含在不同的其它部件中的或与不同的其它部件连接的不同部件。应该理解这些描述的架构仅为示例,实际上实现相同功能的很多其它架构可以被实现。在概念方面,实现相同功能的部件的任何设置是有效地“相关联”的,从而实现期望的功能。因此,这里组合以实现特定功能的任何两个部件可以看做是彼此“相关联”从而实现期望的功能,而与架构或中间部件无关。同样地,任何这样关联的两个部件还可以视为是彼此“可操作地连接”或“可操作地结合”以实现期望的功能,并且能够这样相关联的任何两个部件还可以视为是彼此“可操作地可结合的”以实现期望的功能。可操作地结合的特定示例包括但不限于物理可匹配的和/或物理交互的部件和/或无线可交互和/或无线交互部件和/或逻辑交互的和/或逻辑可交互的部件。
关于这里的实质上任意复数和/或单数术语的使用,为适于上下文和/或应用,本领域技术人员可以将复数转换为单数和/或将单数转换为复数。为了清楚起见,这里可以明确地阐述各种单数/复数置换。
本领域技术人员应理解的是,一般地,本文所使用的措辞,特别是在所附权利要求中(例如,所附权利要求的主体)所使用的措辞一般意在是“开放式”措辞(例如,措辞“包括(including)”应被解释为“包括但不限于”,措辞“具有”应被解释为“至少具有”,措辞“包括(includes)”应被解释为“包括但不限于”等)。本领域技术人员还将理解的是,如果意在特定数目的所引入权利要求记载,则将在权利要求中明确地记载这种意图,并且在没有这种记载时没有这种意图。例如,为了帮助理解,以下所附权利要求可以包含使用引导性短语“至少一个”和“一个或更多个”来引入权利要求记载。然而,这种短语的使用不应被解读为意指通过不定冠词“一(a)”或“一(an)”对权利要求记载的引入将包含这种所引入的权利要求记载的任何特定的权利要求限制于包含仅一个这种记载的实施方式,即使当相同的权利要求包括引导性短语“一个或更多个”或“至少一个”以及诸如“一(a)”或“一(an)”(例如,“一(a)”和/或“一(an)”一般应被解读为表示“至少一个”或“一个或更多个”)这样的不定冠词时;这也适用于使用用于引入权利要求记载的定冠词的情况。另外,即使明确地记载特定数目的所引入的权利要求记载,本领域技术人员也应当认识到,这种记载应当被解释成,至少所记载的数目(例如,“两个记载”的无修饰的记载在没有其它修饰语的情况下表示至少两个记载,或者两个或更多个记载)。此外,在其中使用了类似于“A、B和C等中的至少之一”的语句的实例中,这种结构一般意在本领域技术人员会理解该语句(例如,“具有A、B和C中至少之一的系统”将包括但不限于这样的系统:仅具有A、仅具有B、仅具有C、具有A连同B、具有A连同C、具有B连同C、和/或A、B以及C一起等)。在使用了类似于“A、B或C等中至少之一”的语句的示例中,一般,这种结构意在本领域技术人员会理解该语句(例如,“具有A、B或C中至少之一的系统”将包括但不限于这样的系统:仅具有A、仅具有B、仅具有C、具有A连同B、具有A连同C、具有B连同C、和/或A、B以及C一起等)。本领域技术人员还将理解的是,实际上,呈现出两个或更多个候选措辞的任何分隔的词语和/或短语,无论是在说明书、权利要求还是在附图中,都应被理解为包括一个措辞、包括措辞中任一、或包括措辞两者的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
另外,当按照马克库西(Markush)群组描述本公开的特征或方面时,本领域的技术人员将认识到,从而也依据马克库西群组成员的任意单个成员或成员的子组来描述本公开。
如本领域的技术人员将理解,出于任何和所有的目的,例如依据提供书面描述,本文中公开的所有范围还涵盖任何和所有可能的子范围及其子范围的组合。任何所列出的范围可以容易地识别为充分描述并且能够将同一范围分割成至少相等的两份、三份、四份、五份、十份等。作为非限制性示例,可以容易地将本文中讨论的每个范围分割成下三分之一、中三分之一和上三分之一等。如本领域的技术人员还将理解的,所有例如“高达”、“至少”等的语言包括所叙述的数量,并且是指随后可以被分割成如以上讨论的子范围的范围。最后,如本领域的技术人员将理解的,范围包括每个单个构件。因此,例如,具有1-3个单元的组是指具有1、2或3个单元的组。类似地,具有1-5个单元的组是指具有1、2、3、4或5个单元的组,依此类推。
综上所述,将要理解的是,本文中出于示例的目的已描述了本公开的各种实施方式,并且可以在不脱离本发明的范围和精神的情况下进行各种修改。因此,本文中公开的各种实施方式并非旨在进行限制,以下的权利要求表示真实的范围和精神。

Claims (36)

1.一种方法,所述方法包括以下步骤:
通过至少一个计算装置接收与应用程序关联的元数据;
基于所述元数据,收集与所述应用程序相关的第一部分信息和与所述第一部分信息不同的与所述应用程序相关的第二部分信息;以及
封装所述第一部分信息和所述第二部分信息。
2.根据权利要求1所述的方法,其中,收集所述第一部分信息包括收集应用程序安装数据、配置信息或访问参数中的至少一种。
3.根据权利要求1所述的方法,其中,收集所述第二部分信息包括收集所述应用程序产生的数据或被所述应用程序所使用的数据中的至少一种。
4.根据权利要求1所述的方法,其中,封装所述第一部分信息和所述第二部分信息还包括以下步骤:
形成包括所述第一部分信息的第一封装体;以及
形成包括所述第二部分信息的第一净荷。
5.根据权利要求4所述的方法,所述方法还包括将所述第一封装体和所述第一净荷存储到本地硬盘驱动器、外部硬盘驱动器、闪存存储器或网络服务器中的至少一种中。
6.根据权利要求4所述的方法,所述方法还包括以下步骤:
检测所述第一部分信息或第二部分信息中的至少一种的变更;
响应于检测到所述变更,按照变更来重新封装所述第一部分信息或所述第二部分信息。
7.根据权利要求6所述的方法,其中,重新封装的步骤包括按照变更来重新封装所述第一部分信息,以及按照变更来形成包括所述第一部分信息的第二封装体。
8.根据权利要求7所述的方法,所述方法还包括以下步骤:
将所述第二封装体与所述第一封装体和所述第一净荷相关联。
9.根据权利要求6所述的方法,其中,重新封装的步骤包括按照变更来重新封装所述第一部分信息,以及按照变更来形成包括所述第二部分信息的第二净荷。
10.根据权利要求9所述的方法,所述方法还包括以下步骤:
将所述第二净荷与所述第一封装体和所述第一净荷相关联。
11.根据权利要求6所述的方法,其中,重新封装的步骤包括根据计划按照变更来重新封装所述第二部分信息。
12.根据权利要求1所述的方法,其中,接收元数据的步骤还包括接收表示与所述应用程序相关的信息的位置的元数据信息。
13.一种系统,所述系统包括:
元数据模块,所述元数据模块被配置为映射与应用程序关联的数据,获得所述数据的物理位置、逻辑位置或层级位置中的至少一种,并且标识所述数据的类型,并且确定所述数据与所述应用程序的关系;
包装模块,所述包装模块被配置为接收被所述元数据模块映射的数据并且由所述数据创建封装体和净荷,其中,分别基于第一类型的第一数据和第二类型的第二数据以及所述数据与所述应用程序之间的关系来选择为创建所述封装体而选择的第一数据和为创建所述净荷而选择的所述第二数据;以及
备份模块,所述备份模块被配置为存储所述封装体和所述净荷,并且为所述封装体和所述净荷分配标识符。
14.根据权利要求13所述的系统,其中,所述元数据模块还被配置为映射在本地或网络上存储的数据。
15.根据权利要求13所述的系统,其中,所述元数据模块还被配置为分析与所述应用程序预先关联的元数据。
16.根据权利要求13所述的系统,其中,与所述应用程序关联的所述数据包括配置信息、安装数据、访问参数、所述应用程序产生的数据和所述应用程序所使用的数据。
17.根据权利要求16所述的系统,其中,所述第一数据包括所述配置信息、所述安装数据或所述访问参数中的至少一种,并且所述第二数据包括所述应用程序产生的数据或所述应用程序所使用的数据中的至少一种。
18.根据权利要求13所述的系统,所述系统还包括:
检测模块,所述检测模块被配置为扫描与所述应用程序关联的数据的变更;以及
更新模块,所述更新模块被配置为响应于检测到与所述应用程序关联的数据的变更,将所述封装体或所述净荷中的至少一种重新包装成重新包装的封装体和重新包装的净荷,并且将所述重新包装的封装体和所述重新包装的净荷与所述封装体和所述净荷相关联。
19.根据权利要求18所述的系统,所述系统还包括版本模块,所述版本模块被配置为确定所述应用程序的版本,并指示与所述重新包装的封装体和所述封装体相对应的应用程序的版本,并且指示与所述重新包装的封装体和所述封装体对应的多个净荷。
20.根据权利要求13所述的系统,其中,所述封装体和所述净荷被存储在本地硬盘驱动器、外部硬盘驱动器、闪存存储器或网络服务器中的至少一种上。
21.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令响应于执行使计算系统执行操作,所述操作包括:
定义应用程序的元数据,包括映射与所述应用程序关联的数据以及基于安装指令或访问参数创建配置信息;
基于所述元数据创建包括所述配置信息和安装数据文件在内的第一封装体;以及
创建包括与所述应用程序关联的数据在内的第一净荷。
22.根据权利要求21所述的计算机可读存储介质,所述操作还包括:
向网络服务器、本地存储装置、闪存存储器或外部硬盘驱动器中的至少一种发送所述第一封装体和所述第一净荷。
23.根据权利要求22所述的计算机可读存储介质,所述操作还包括:
检测与所述应用程序关联的数据的变更;以及
基于已变更的与所述应用程序关联的所述数据的类型创建第二封装体或第二净荷中的至少一种。
24.根据权利要求23所述的计算机可读存储介质,所述操作还包括:
与所述第一封装体和所述第一净荷相关联地存储所述第二封装体或所述第二净荷中的所述至少一种;以及
为所述第一封装体和所述第二封装体分配应用程序版本,并且将所述第一净荷和所述第二净荷与所述第一封装体和所述第二封装体中的对应封装体相关联。
25.根据权利要求24所述的计算机可读存储介质,所述存储还包括:
利用时间和日期给所述第一封装体、所述第二封装体、所述第一净荷和所述第二净荷加时间戳。
26.一种方法,所述方法包括以下步骤:
检索与应用程序关联的元数据;
检索与所述应用程序对应的封装体和净荷;
从所述封装体中提取应用程序配置信息、安装数据和访问参数;
使用所述应用程序配置信息和所述访问参数,根据所述安装数据恢复所述应用程序;以及
根据所述元数据,复原所述净荷中包含的应用程序特定数据。
27.根据权利要求26所述的方法,其中,复原所述应用程序特定数据还包括复原所述应用程序产生的数据或所述应用程序所使用的数据。
28.根据权利要求26所述的方法,其中,检索所述封装体和所述净荷还包括选择多个封装体之一和多个净荷之一。
29.根据权利要求26所述的方法,其中,检索所述封装体和所述净荷还包括:
接收对指定封装体的请求;以及
检索所述指定封装体,并且检索与所述指定封装体关联的至少一个净荷。
30.一种系统,所述系统包括:
检索模块,所述检索模块被配置为检索封装体和净荷,其中,所述封装体和所述净荷是从多个封装体和多个净荷中选择的;
提取模块,所述提取模块被配置为分析与应用程序关联的元文件并且基于对所述元文件的分析,解封装所述封装体以获得安装信息数据文件、配置指令和访问参数;
重新安装模块,所述重新安装模块被配置为基于所述安装数据文件、所述配置指令和所述访问参数重新安装所述应用程序;以及
恢复模块,所述恢复模块被配置为响应于对所述元文件的分析,解封装所述净荷并恢复应用程序特定数据。
31.根据权利要求30所述的系统,其中,所述多个封装体与至少一个净荷关联。
32.根据权利要求30所述的系统,其中,所述检索模块还被配置为从与所述封装体关联的至少一个净荷中检索所述净荷。
33.根据权利要求32所述的系统,其中,所述检索模块还被配置为接收对指定封装体的请求,并且基于所述请求检索所述指定封装体,并且检索与所述指定封装体关联的所述至少一个净荷。
34.根据权利要求33所述的系统,其中,所述检索模块还被配置为接收对指定封装体的请求,并且从与所述指定封装体关联的至少一个净荷中检索所述指定净荷。
35.一种系统,所述系统包括:
用于检索与应用程序对应的封装体和净荷的装置;
用于从所述封装体解封装应用程序配置信息、安装数据和访问参数的装置;
用于所述应用程序配置信息、安装数据和访问参数来重新安装所述应用程序的装置;
用于基于对与所述应用程序对应的元数据文件的分析,从所述净荷中复原应用程序特定数据的装置。
36.根据权利要求35所述的系统,其中,所述用于检索所述封装体和所述净荷的装置还包括:
用于选择所述封装体的装置;以及
用于选择与所述封装体对应的多个净荷中的至少一个净荷的装置。
CN201180068419.5A 2011-05-27 2011-05-27 使用元数据进行应用程序的无缝备份和恢复的方法和系统 Expired - Fee Related CN103415848B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/038428 WO2012166102A1 (en) 2011-05-27 2011-05-27 Seamless application backup and recovery using metadata

Publications (2)

Publication Number Publication Date
CN103415848A true CN103415848A (zh) 2013-11-27
CN103415848B CN103415848B (zh) 2018-07-13

Family

ID=47221603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180068419.5A Expired - Fee Related CN103415848B (zh) 2011-05-27 2011-05-27 使用元数据进行应用程序的无缝备份和恢复的方法和系统

Country Status (4)

Country Link
US (1) US9965358B2 (zh)
KR (1) KR101572737B1 (zh)
CN (1) CN103415848B (zh)
WO (1) WO2012166102A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103619008A (zh) * 2013-12-11 2014-03-05 北京网秦天下科技有限公司 用于备份和恢复数据的系统和方法
CN105068837A (zh) * 2015-08-07 2015-11-18 Tcl集团股份有限公司 Web应用的更新方法及装置
CN105677513A (zh) * 2016-01-04 2016-06-15 北京小米移动软件有限公司 恢复备份数据的方法及装置
CN103853634B (zh) * 2014-02-26 2017-02-01 北京优炫软件股份有限公司 一种容灾备份系统及方法
CN106648986A (zh) * 2016-12-23 2017-05-10 宇龙计算机通信科技(深圳)有限公司 一种数据备份方法及装置
CN106843951A (zh) * 2017-01-12 2017-06-13 北京珠穆朗玛移动通信有限公司 软件程序的安装处理方法及其移动终端
WO2017161705A1 (zh) * 2016-03-25 2017-09-28 中兴通讯股份有限公司 一种拷贝数据的方法及电子设备
CN107506197A (zh) * 2017-08-25 2017-12-22 维沃移动通信有限公司 一种信息处理方法、移动终端及计算机可读存储介质
CN109117311A (zh) * 2018-08-22 2019-01-01 郑州云海信息技术有限公司 一种故障恢复方法及装置
CN111813603A (zh) * 2020-07-16 2020-10-23 济南浪潮数据技术有限公司 一种精简卷元数据备份方法、装置、设备及可读存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013044794A1 (zh) * 2011-09-30 2013-04-04 北京奇虎科技有限公司 终端备份和恢复方法
FR2984552A1 (fr) * 2011-12-16 2013-06-21 France Telecom Procede et dispositif de gestion d'une application referencee par un dispositif
US9817739B1 (en) * 2012-10-31 2017-11-14 Veritas Technologies Llc Method to restore a virtual environment based on a state of applications/tiers
CN103970762A (zh) * 2013-01-29 2014-08-06 三星电子(中国)研发中心 在智能设备之间交换用户个性化数据的方法
US20140379640A1 (en) * 2013-06-21 2014-12-25 Lexmark International, Inc. Metadata Replication for Non-Dicom Content
US20140379651A1 (en) * 2013-06-21 2014-12-25 Lexmark International, Inc. Multiple Subscriber Support for Metadata Replication
CN104216798A (zh) * 2013-07-29 2014-12-17 腾讯科技(深圳)有限公司 一种数据处理的方法及终端
CN103561324A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 云电视应用程序云备份的方法及装置
KR102226411B1 (ko) 2014-09-01 2021-03-12 삼성전자주식회사 재등록을 관리하는 전자 장치 및 방법
US9848046B2 (en) * 2014-11-13 2017-12-19 Commvault Systems, Inc. Archiving applications in information management systems
EP4040297A1 (en) * 2015-05-27 2022-08-10 Google LLC System and method for automatic cloud-based full-data backup and restore on mobile devices
US10503712B2 (en) 2016-09-30 2019-12-10 International Business Machines Corporation Container repository optimization
US10978068B2 (en) 2016-10-27 2021-04-13 Samsung Electronics Co., Ltd. Method and apparatus for executing application on basis of voice commands
US10613939B2 (en) 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US11327846B2 (en) 2017-09-28 2022-05-10 Oracle International Corporation System and method for backup and recovery of services in a cloud computing environment
JP6861670B2 (ja) * 2018-07-10 2021-04-21 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US11573937B2 (en) 2020-10-09 2023-02-07 Bank Of America Corporation System and method for automatically resolving metadata structure discrepancies

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010174A1 (en) * 2004-07-09 2006-01-12 Lu Nguyen Method and system for backing up and restoring data
CN101098343A (zh) * 2007-06-12 2008-01-02 深圳市融合视讯科技有限公司 一种手机与网络服务器的信息交换方法
CN101194464A (zh) * 2005-06-23 2008-06-04 微软公司 不同类应用程序的统一授权
US20080162599A1 (en) * 2006-12-27 2008-07-03 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
US20090204648A1 (en) * 2008-02-11 2009-08-13 Steven Francie Best Tracking metadata for files to automate selective backup of applications and their associated data
US20100070515A1 (en) * 2008-08-26 2010-03-18 Caringo, Inc., Shared namespace for storage clusters
US7797285B1 (en) * 2007-09-28 2010-09-14 Symantec Corporation Method and apparatus for restoring backup data to a computer
US20110016089A1 (en) * 2009-07-16 2011-01-20 Apple Inc. Restoring data to a mobile device
US20110078118A1 (en) * 2006-06-29 2011-03-31 Emc Corporation Backup of incremental metadata in block based backup systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1237376B1 (en) 1997-06-09 2015-08-05 Hitachi, Ltd. Image information recording medium
KR100927282B1 (ko) * 2001-05-24 2009-11-18 소니 가부시끼 가이샤 기록 방법, 기록 장치 및 기록 매체
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
US7454406B2 (en) * 2005-04-29 2008-11-18 Adaptec, Inc. System and method of handling file metadata
US8365254B2 (en) 2005-06-23 2013-01-29 Microsoft Corporation Unified authorization for heterogeneous applications
US20060294419A1 (en) * 2005-06-28 2006-12-28 Schneider Janet L Isolating and storing configuration data for disaster recovery
US20070174362A1 (en) * 2006-01-18 2007-07-26 Duc Pham System and methods for secure digital data archiving and access auditing
US20080222043A1 (en) * 2007-03-07 2008-09-11 Thomas Edward Chefalas System and method for trans-vendor license registration and recovery
US8266112B1 (en) * 2007-12-19 2012-09-11 Symantec Corporation Techniques for recovery of application level objects
US20100023520A1 (en) * 2008-07-28 2010-01-28 Viewfinity Inc. Encapsulated file management systems
JP4766127B2 (ja) * 2009-02-23 2011-09-07 富士ゼロックス株式会社 情報処理装置、ファイル管理システムおよびプログラム
US8370294B2 (en) * 2009-05-06 2013-02-05 Microsoft Corporation File stashing for storage media
US20100325167A1 (en) 2009-06-18 2010-12-23 Paul Edward Landry Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
US20120254118A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Recovery of tenant data across tenant moves
US8473462B1 (en) * 2011-04-21 2013-06-25 Symantec Corporation Change tracking for shared disks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010174A1 (en) * 2004-07-09 2006-01-12 Lu Nguyen Method and system for backing up and restoring data
CN101194464A (zh) * 2005-06-23 2008-06-04 微软公司 不同类应用程序的统一授权
US20110078118A1 (en) * 2006-06-29 2011-03-31 Emc Corporation Backup of incremental metadata in block based backup systems
US20080162599A1 (en) * 2006-12-27 2008-07-03 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
CN101098343A (zh) * 2007-06-12 2008-01-02 深圳市融合视讯科技有限公司 一种手机与网络服务器的信息交换方法
US7797285B1 (en) * 2007-09-28 2010-09-14 Symantec Corporation Method and apparatus for restoring backup data to a computer
US20090204648A1 (en) * 2008-02-11 2009-08-13 Steven Francie Best Tracking metadata for files to automate selective backup of applications and their associated data
US20100070515A1 (en) * 2008-08-26 2010-03-18 Caringo, Inc., Shared namespace for storage clusters
US20110016089A1 (en) * 2009-07-16 2011-01-20 Apple Inc. Restoring data to a mobile device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103619008A (zh) * 2013-12-11 2014-03-05 北京网秦天下科技有限公司 用于备份和恢复数据的系统和方法
CN103853634B (zh) * 2014-02-26 2017-02-01 北京优炫软件股份有限公司 一种容灾备份系统及方法
CN105068837A (zh) * 2015-08-07 2015-11-18 Tcl集团股份有限公司 Web应用的更新方法及装置
CN105677513A (zh) * 2016-01-04 2016-06-15 北京小米移动软件有限公司 恢复备份数据的方法及装置
WO2017161705A1 (zh) * 2016-03-25 2017-09-28 中兴通讯股份有限公司 一种拷贝数据的方法及电子设备
CN106648986A (zh) * 2016-12-23 2017-05-10 宇龙计算机通信科技(深圳)有限公司 一种数据备份方法及装置
CN106843951A (zh) * 2017-01-12 2017-06-13 北京珠穆朗玛移动通信有限公司 软件程序的安装处理方法及其移动终端
CN107506197A (zh) * 2017-08-25 2017-12-22 维沃移动通信有限公司 一种信息处理方法、移动终端及计算机可读存储介质
CN107506197B (zh) * 2017-08-25 2021-07-27 维沃移动通信有限公司 一种信息处理方法、移动终端及计算机可读存储介质
CN109117311A (zh) * 2018-08-22 2019-01-01 郑州云海信息技术有限公司 一种故障恢复方法及装置
CN111813603A (zh) * 2020-07-16 2020-10-23 济南浪潮数据技术有限公司 一种精简卷元数据备份方法、装置、设备及可读存储介质
CN111813603B (zh) * 2020-07-16 2022-06-10 济南浪潮数据技术有限公司 一种精简卷元数据备份方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
US9965358B2 (en) 2018-05-08
CN103415848B (zh) 2018-07-13
WO2012166102A1 (en) 2012-12-06
US20120303583A1 (en) 2012-11-29
KR101572737B1 (ko) 2015-11-27
KR20130108438A (ko) 2013-10-02

Similar Documents

Publication Publication Date Title
CN103415848A (zh) 使用元数据进行应用程序的无缝备份和恢复
US7631022B2 (en) Information processing apparatus and recording medium
CN100504764C (zh) 文件系统过滤方法和系统
CN102193817B (zh) 简化物理和虚拟部署的管理
JP5630190B2 (ja) 更新管理装置、更新管理方法および更新管理プログラム
CN101167058B (zh) 用于恢复文件的设备、方法和系统
CN102981931A (zh) 虚拟机备份方法及装置
CN103493011A (zh) 与库操作系统的应用兼容性
CN101366021A (zh) 经由软件应用用户界面将元数据应用于文档或文档对象
CN101124574A (zh) 元数据导航和分配的属性树
CN101366022A (zh) 经由操作系统用户界面将元数据应用于文档或文档对象
CN101772758B (zh) 将使用第一备份程序创建的对象的备份副本转换为使用第二备份程序创建的备份副本
CN102103500A (zh) 操作监视装置
CN103309751A (zh) 提供文件系统功能的终端的设备和方法
CN101652775A (zh) 在用户界面中映射逻辑资产和物理资产的系统和方法
CN102298534B (zh) 软件写入机顶盒的方法
CN104517067A (zh) 访问数据的方法、装置及系统
US20150281375A1 (en) Information processing apparatus, work environment linking method and work environment linking program
CN102812437A (zh) 高和低值应用状态
CN101930379A (zh) 分布式软件系统中服务器应用程序增量部署的结构及方法
CN102467395A (zh) 利用映像文件安装操作系统的方法
JP6098685B2 (ja) ワークフローシステム、ワークフローシステムの制御方法およびプログラム、ワークフローサーバ、ワークフローサーバの制御方法およびプログラム
CN103714186A (zh) 用于管理文件资源的系统和方法
US11636064B2 (en) Compression of localized files
CN103238148A (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180713

Termination date: 20200527

CF01 Termination of patent right due to non-payment of annual fee