基于逆向差异恢复的恢复方法、设备和程序产品与流程

文档序号:26192694发布日期:2021-08-06 18:45阅读:40来源:国知局
基于逆向差异恢复的恢复方法、设备和程序产品与流程

本公开的各实现方式涉及数据备份和数据恢复,更具体地,涉及基于逆向差异的用于针对备份用户系统中的区块生成备份副本以及基于备份副本来执行数据恢复的方法、设备和计算机程序产品。



背景技术:

随着用户系统的发展,目前已经出现了多种类型的用户系统。在用户系统的使用过程中,可以针对用户系统执行备份,以使得当用户系统出现故障和/或其他情况时,可以将用户系统中的数据对象(例如,包括目录和文件)恢复至先前的版本。用户系统的用户和/或管理员可以选择将要备份的数据对象,例如,可以选择用户系统中的文件、目录、或者备份整个用户系统等等,来执行备份。可以将用户系统中的数据对象划分为多个数据区块,基于多个数据区块来生成备份副本,并将备份副本存储至备份存储(例如,存储设备的集群,backupstorage)。进一步,可以从备份副本中恢复数据对象。当用户系统处于紧急状态时,恢复效率至关重要。因此,恢复时间目标(recoverytimeobjective,rto)是数据保护中最重要的参数之一。恢复时间目标是指在自然灾害、紧急情况或者需要数据恢复的其他情况下恢复正常业务流程所花费的时间。

数据保护领域中已经提出了映像级或区块级的恢复方案,这些技术方案通常简单地将所有数据从备份存储恢复至用户系统。例如,在powerprotect数据管理器中,文件系统备份程序会在数据域中生成受保护数据的副本,该副本包含受保护数据的所有数据区块。恢复程序将所有副本区块从数据域传输到用户系统。如果备份副本很大,则恢复可能会花费极长的时间,这将会增加传输失败和恢复失败的风险。进一步,考虑到在混合云场景中传输大量数据的费用,恢复过程将会非常昂贵。因而,如何以更为有效的方式降低恢复时间和从备份存储到用户系统的数据传输量,成为一个研究热点。



技术实现要素:

因而,期望能够开发并实现一种以更为有效的方式来执行数据备份和数据恢复的技术方案。期望该技术方案能够与现有的备份和恢复技术方案相兼容,并且通过改造现有用户系统和备份存储的各种配置,来以更为有效的方式执行数据备份和恢复。

根据本公开的第一方面,提供了一种用于在用户系统中恢复数据的方法。获取用户系统的参考映射,参考映射包括用户系统中的一组区块的一组摘要信息。基于用于恢复用户系统的备份副本的标识,从包括备份副本的备份存储接收与备份副本相关联的副本参考映射,副本参考映射包括备份副本中的一组区块的一组摘要信息。确定参考映射和副本参考映射之间的差异。基于确定的差异来将用户系统恢复至备份副本。

根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行用于在用户系统中恢复数据的动作。动作包括:获取用户系统的参考映射,参考映射包括用户系统中的一组区块的一组摘要信息;基于用于恢复用户系统的备份副本的标识,从包括备份副本的备份存储接收与备份副本相关联的副本参考映射,副本参考映射包括备份副本中的一组区块的一组摘要信息;确定参考映射和副本参考映射之间的差异;以及基于确定的差异来将用户系统恢复至备份副本。

根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。

附图说明

结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:

图1示意性示出了根据一个技术方案的针对用户系统执行备份操作和恢复操作的架构的框图;

图2示意性示出了根据图1所示的技术方案来执行恢复操作的过程的框图;

图3示意性示出了根据本公开的示例性实现方式的用于在用户系统中备份数据和恢复数据的过程的框图;

图4示意性示出了根据本公开的示例性实现方式的用于在用户系统中恢复数据的方法的流程图;

图5示意性示出了根据本公开的示例性实现方式的在用户系统中的区块和参考映射中的摘要信息之间的映射关系的框图;

图6示意性示出了根据本公开的示例性实现方式的用于在用户系统中备份数据的过程的框图;

图7示意性示出了根据本公开的示例性实现方式的用于在用户系统中恢复数据的过程的框图;

图8示意性示出了根据本公开的示例性实现方式的用于确定参考映射和副本参考映射之间的差异的过程的框图;

图9示意性示出了根据本公开的另一示例性实现方式的用于确定参考映射和副本参考映射之间的差异的过程的框图;以及

图10示意性示出了根据本公开的示例性实现的用于管理用户系统的设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

在不同的应用环境中,已经出现了多种用户系统。例如,个人计算机可以是用户系统的一个示例,并且个人计算机中可以包括文档、图像、音频、视频等多种类型的文件。用户系统还可以包括一个或多个目录,并且目录中可以包括其他目录和/或一个或多个文件。在本公开的上下文中,可以将文件、目录称为数据对象。

为了确保个人计算机的可靠性,可以定期地和/或按照用户的指定规则来执行备份。例如,可以备份用户系统中的文件、目录、或者备份整个用户系统等等。又例如,文件服务器可以是用户系统的另一示例,此时文件服务器可以包括来自一个或多个用户的多个文件。用户和/或管理员可以指定针对某个和/或某些文件执行备份,还可以针对整个文件服务器执行备份。

图1示意性示出了根据一个技术方案的针对用户系统110执行备份操作和恢复操作的架构的框图100。如图1所示,用户系统110可以包括多个区块112、114、…、116和118。可以按照预定大小来划分用户系统110中的数据,以便形成上述多个区块。可以在不同时间点执行备份操作以便生成用户系统110的备份副本。进一步可以向备份存储120中存储生成的备份副本。例如,在时间点t0可以生成备份副本122,在时间点t1可以生成备份副本124,等等。

目前已经提出了多种数据备份技术方案。例如,全量备份需要备份用户系统中的全部区块,这将占用大量的存储资源和带宽资源。又例如,增量备份(incrementalbackup)可以仅备份用户系统110中的在上次备份之后已经被改变的区块。尽管增量备份降低了存储资源和带宽资源方面的需求,增量备份需要严格按照时间来管理多个增量备份副本。在恢复操作期间,需要按照从后向前的时间顺序,基于各个增量备份副本来逐一执行逆向恢复操作,以便将用户系统110恢复至期望的版本。

然而,逐一基于每个增量备份副本来执行逆向恢复操作,可能会造成大量冗余操作,这将导致用户系统110的运行效率低下。在下文中,将参见图2描述一个恢复操作。图2示意性示出了根据图1所示的技术方案来执行恢复操作的过程的框图200。如图2左侧示意性示出了用户系统110中的区块在不同时间点的状态。一组区块210示出了用户系统110在时间点t0的状态,其中每个方框表示用户系统110中的一个区块。状态中的空白方框表示未被改变的区块,条纹图例230示出了初始数据(例如,用户系统110中的第二个和第三个区块)。

在时间点t1处,一组区块212中的第二个和第三个区块中的数据被改变(以图例232表示被改变的数据)。此时,变化指示符220中的第二位和第三位被设置为阴影图例234。在时间点t2处,一组区块214表示用户系统110中的第二个和第三个区块被回滚至初始数据230。此时,变化指示符222中的第二位和第三位被设置为阴影图例234。

如果期望将用户系统110的数据恢复至时间点t0时的版本,尽管在t2时间点用户系统110中的区块中的数据与期望的版本完全一致,按照增量备份方式,也需要针对用户系统110中的数据执行两次恢复操作。具体地,需要从一组区块214所示的用户系统110出发,基于时间点t1和时间点t2之间的增量来将用户系统110中的数据恢复至如一组区块212所示。继而,基于时间点t0和时间点t1之间的增量来将用户系统110中的数据恢复至如一组区块210所示。将会理解,尽管两次恢复操作结束后并没有改变用户系统110中的数据,然而两次恢复操作将会导致大量的时间和计算资源开销。

为了解决上述缺陷,本公开的实现方式提供了一种用于在用户系统110中恢复数据的方法。在该方法中,提出了用户系统110的参考映射的概念,该参考映射可以包括用户系统110中的一组区块的一组摘要信息。换言之,区块的摘要信息可以唯一地标识该区块中的数据。在执行备份操作时,可以将用户系统110的参考映射与用户系统110的备份副本一起存储至备份存储处,以便指示该备份副本中包括哪些区块。在下文中,将参见图3描述有关本公开的更多信息。

图3示意性示出了根据本公开的示例性实现方式的用于在用户系统110中备份数据和恢复数据的过程的框图300。如图3所示,在备份操作期间,可以确定用户系统110中的每个区块的摘要信息。具体地,可以为区块112确定摘要信息312,可以为区块114确定摘要信息314,可以为区块116确定摘要信息316,可以为区块118确定摘要信息318,等等。可以基于用户系统110中的各个区块的摘要信息312至318,来生成参考映射310。继而,可以将参考映射310的副本(即,副本参考映射330)与用户系统110的备份副本320一起存储至备份存储120中。

利用本公开的示例性实现方式,副本参考映射330中的摘要信息可以标识备份副本320中包括的区块。在后续执行恢复操作期间,可以基于期望被恢复的目标版本的标识来确定相对应的副本参考映射。通过比较当前用户系统110的参考映射和目标版本的参考映射,即可确定需要从备份存储120中获取哪些区块。

利用本公开的示例性实现方式,不必基于备份副本链条中的每个备份副本来执行恢复操作,而是只需要从备份存储120获取在用户系统110处不包括的区块即可。以此方式,可以大大降低带宽开销,并且可以降低在用户系统110处基于备份副本链条中的每个备份副本重复执行恢复操作的传输开销和计算开销。在下文中,将参见图4描述有关执行备份操作的更多细节。

图4示意性示出了根据本公开的示例性实现方式的用于在用户系统110中备份数据的过程的框图400。如图4所示,可以在用户系统110处执行备份操作,并且向备份存储120中存储所生成的备份副本和参考映射。具体地,在箭头410处,可以创建用户系统110的快照。在此创建快照的目的在于确定备份操作的基础,例如,可以在时间点t0处创建快照。将会理解,由于快照固定了将要被传输至备份存储120的范围,快照的内容将被固定并且保持不变。即使用户系统110中的数据在创建快照之后被修改,也不会影响备份副本的内容。根据本公开的示例性实现方式,无论采用全量备份还是增量备份,都需要首先创建用户系统110的快照。

在箭头412处,可以基于快照来生成参考映射310。将会理解,在此的快照可以包括用户系统110中的一组区块的一组区块快照。因而,可以基于一组区块快照来获取用户系统110的参考映射。具体地,根据本公开的示例性实现方式,可以基于一组区块快照,分别获取一组区块的一组摘要信息。

返回图3,可以基于每个区块的区块快照,来获取该区块的摘要信息。可以基于目前已知的或者将在未来开发的哈希算法来确定区块的摘要信息。根据本公开的示例性实现方式,可以基于安全哈希算法来唯一地确定每个区块的摘要信息。例如,可以基于md5、sha等算法来确定摘要信息。将会理解,可以利用不同字节长度来存储摘要信息,并且可以基于不同的字节长度来选择相应的哈希算法。

根据本公开的示例性实现方式,在已经获取了每个区块的摘要信息之后,可以基于一组摘要信息生成用户系统110的参考映射。可以将每个区块的摘要信息进行组合,以便获取参考映射310。在图3的示例中,可以将摘要信息312、314、…、316和318进行组合,以便获取参考映射310。

继续参见图4,在箭头414处,可以基于获取的快照来生成用户系统110的备份副本。在此,可以基于每个区块的区块快照来生成该区块的副本,并且通过组合用户系统110中的全部区块的副本,可以获得备份副本。将会理解,可以基于不同的备份方式来生成副本。根据本公开的示例性实现方式,基于全量备份生成的备份副本将包括用户系统110中的全部区块的副本。备选地和/或附加地,基于增量备份生成的备份副本将包括与上一备份副本之间不同的区块的副本。将会理解,由于参考映射可以描述备份副本中的全部区块的摘要信息,无论采用全量备份还是增量备份,在备份存储120中都可以根据参考映射获取期望的备份副本。

根据本公开的示例性实现方式,如果采用全量备份,可以将快照中的全部区块传输至备份存储120处以便形成备份副本。将会理解,在生成用户系统110的第一个备份副本时,需要执行全量备份。在生成用户系统110的后续备份副本时,可以执行全量备份或者增量备份。

如果采用增量备份,则可以将新创建的快照与先前快照进行比较,以确定用户系统110中的哪些数据已经被改变。具体地,所创建的用户系统110的新快照可以包括用户系统110中的一组区块的新的一组区块快照。可以比较新快照与用户系统110的先前快照之间的差异,以便基于增量方式生成用户系统110的新备份副本。可以仅基于存在差异的区块来生成新备份副本。

进一步,可以基于新的一组区块快照来获取用户系统110的新参考映射。将会理解,在此的新参考映射可以包括新快照中的每个区块的摘要信息。假设新快照包括20个区块并且其中仅有第一个区块被改变,此时可以基于被改变的区块来生成新参考映射中的针对第一个区块的摘要信息,并且针对后续19个区块的摘要信息与先前版本的参考映射中的摘要信息是相同的。

根据本公开的示例性实现方式,可以将新备份副本和新参考映射相关联地存储至备份存储120中。例如,可以利用用户系统110的标识符和生成快照的时间戳来唯一地标识每个参考映射和备份副本。备选地和/或附加地,还可以利用版本号或者其他信息来唯一地标识参考映射。可以在不同的时间点生成用户系统110的不同备份副本,并且向备份存储120传输生成的不同备份副本。此时,备份存储120处的每个备份副本与自身的参考映射相关联,并且参考映射可以包括一组区块的一组摘要信息。进一步,可以基于摘要信息来获取相对应的区块。

可以基于部分存储120中的备份副本和参考映射,来将用户系统110中的数据恢复至指定的版本。图5示意性示出了根据本公开的示例性实现方式的用于在用户系统110中恢复数据的方法500的流程图。在框510处,可以获取用户系统110的参考映射,参考映射包括当前用户系统110中的一组区块的一组摘要信息。将会理解,在此的参考映射描述用户系统110的当前状态。换言之,可以参考映射可以指示当前用户系统110中包括哪些区块。

根据本公开的示例性实现方式,可以创建用户系统110的快照以便作为恢复操作的基础。在此,快照可以包括一组区块的一组区块快照,并且可以基于一组区块快照来获取用户系统110的参考映射。在恢复操作中,用于创建用户快照和生成参考映射的过程与备份操作中的过程类似。具体地,可以基于每个区块快照来生成相应的摘要信息。例如,可以基于md5、sha等算法来确定摘要信息。

以此方式,可以基于一组区块快照,分别获取一组区块的一组摘要信息。进一步,可以基于一组摘要信息生成用户系统110的参考映射。将会理解,在此生成摘要信息所采用的算法应当与在备份阶段所采用的算法相同。例如,可以使用md5算法来生成每个区块的摘要信息,并且将多个区块的摘要信息进行组合,以便形成表示当前用户系统110的状态的参考映射。

将会理解,由于用户系统110中的数据通常逐渐地改变,因而在用户系统110的当前快照与上一快照之间可以存在一个或多个相同区块。由于相同区块的摘要信息不会改变,因而可以重用先前参考映射中的未被改变的区块的摘要信息。具体地,可以确定用户系统110的先前快照中的一组先前区块快照与一组区块快照之间的相同部分和不同部分,并且仅针对不同部分来生成摘要信息。

具体地,基于一组区块快照中的与不同部分相对应的一部分区块快照,生成一组摘要信息中的一部分(被改变的部分)。进一步,基于一组先前区块快照的一组先前摘要信息中的与相同部分相对应的一部分摘要信息,生成一组摘要信息中的另一部分(未被改变的部分)。可以将两部分摘要信息相结合,以便获得最终的参考映射。

利用本公开的示例性实现方式,不必针对用户系统110中的每个区块生成摘要信息,而是可以仅针对已经被改变的区块生成摘要信息。以此方式,可以重用先前参考映射中的有关未被改变区块的摘要信息,进而降低生成摘要信息的时间和计算资源的开销。

根据本公开的示例性实现方式,摘要信息可以具有不同的粒度。例如,摘要信息可以包括一组区块中的一个区块的摘要。又例如,摘要信息可以包括一组区块中的多个区块的摘要。将会理解,在此的区块可以是用户系统110中的基本存储单元。以此方式,可以精确地表示每个基本存储单元中的数据的状态。备选地和/或附加地,一个区块可以包括多个基本存储单元,即,以其他方式划分所得的较大存储单元。利用本公开的示例性实现方式,可以根据用户的要求来定义利用摘要信息来描述多少个基本存储单元的状态。

在下文中,将参见图6描述区块和摘要信息之间的映射关系。图6示意性示出了根据本公开的示例性实现方式的在用户系统110中的区块和参考映射中的摘要信息之间的映射关系的框图600。如图6所示,用户系统110可以包括区块112、114、…、116以及118。可以利用摘要信息612来表示两个区块的摘要(区块112和区块114),可以利用摘要信息616来表示两个区块的摘要(区块116和区块118)。

将会理解,如果摘要信息的粒度过细,则会导致产生大量的摘要信息,并且占用较多的存储资源。如果摘要信息的粒度过粗,则会导致即使仅有一个基本存储单元中的数据不同,也需要备份(恢复)由摘要信息所指示的多个基本存储单元中的数据的情况,这将占用较多的处理资源和时间开销。根据本公开的示例性实现方式,可以在上述两方面进行平衡,以便以更为有效的方式来执行备份和恢复操作。

在框520处,可以基于用于恢复用户系统110的备份副本的标识,从包括备份副本的备份存储120接收与备份副本相关联的副本参考映射。在此,副本参考映射包括备份副本中的一组区块的一组摘要信息。将会理解,在此的副本参考映射和备份副本是基于在先前时间点创建的用户系统110的快照来生成的。

在此步骤中,接收的副本参考映射在先前的备份过程中被传输至备份存储120。可以基于多种方式来标识备份副本,例如,当以用户系统110的标识符和时间戳来标识备份副本时,在备份存储120处可以存在标识符为“user01-20200101”和“user01-20200110”两个备份副本。可以指定将用户系统110恢复至备份副本“user01-20200101”,并且可以从备份存储120取回与该备份副本相关联的副本参考映射。

在框530处,可以比较在框510处所生成的参考映射和在框520处从备份存储120处取回的副本参考映射,并且确定两者之间的差异。将会理解,在此的差异是指两个参考映射中的摘要信息之间的差异。根据本公开的示例性实现方式,可以逐一地比较参考映射和副本参考映射中的每个区块的摘要信息之间的差异,以便确定在当前用户系统110和作为恢复目标的备份副本中的区块之间的差异。

具体地,针对副本参考映射包括的一组副本摘要信息中的副本摘要信息,可以在参考映射中确定与副本摘要信息相对应的摘要信息。换言之,可以遍历副本参考映射中的副本摘要信息,并且将每个副本摘要信息与参考映射中的每个摘要信息进行比较。进一步,可以基于比较结果来确定差异。

根据本公开的示例性实现方式,假设副本参考映射和参考映射均包括20个区块的摘要信息,并且两个备份副本中仅有第一个区块的摘要信息不同,则可以确定差异为副本参考映射中的第一个区块。根据本公开的示例性实现方式,假设副本参考映射包括20个区块的摘要信息,参考映射包括19个区块的摘要信息,并且参考映射中的19个区块的摘要信息与副本参考映射中的前19个区块的摘要信息相同。可以确定差异为副本参考映射中的第20个区块。

将会理解,上文仅示意性示出了存储差异的两种情况,根据本公开的示例性实现方式,还可以存在更多的情况。例如,两个参考映射可以涉及相同或者不同数量的区块,可以存在交集,或者还可以不存在交集。

在框540处,可以基于确定的差异来将用户系统110恢复至备份副本。将会理解,利用本公开的示例性实现方式,仅需要从备份存储120中取回备份副本中的与差异相关联的区块。将会理解,在备份存储120中,备份副本与副本参考映射相关联地被存储。例如,备份副本可以包括每个区块的区块备份,并且副本参考映射可以包括每个区块的摘要信息。在每个区块备份和相应的摘要信息之间可以具有关联关系,例如,可以通过该关联关系来找到对应于摘要信息的区块副本的地址。在用户系统110处,可以从备份存储120接收与差异相对应的差异区块,以便利用差异区块来更新一组区块中的与差异相对应的区块。以此方式,可以大大降低数据传输涉及的时间和带宽要求,并且可以降低恢复期间的处理资源的开销进而提高恢复操作的整体性能。

在下文中,将参见图7详细描述有关恢复操作的更多细节。图7示意性示出了根据本公开的示例性实现方式的用于在用户系统110中恢复数据的过程的框图700。如箭头710所示,在用户系统110处,可以创建用户系统110的快照,在此的快照可以作为后续比较操作的基础。在箭头712处,可以基于快照来生成当前参考映射。当前参考映射可以包括创建的快照中的每个区块的摘要信息。例如,当前参考映射可以包括20个区块的摘要信息。

如箭头716所示,可以从备份存储120处取回目标版本的副本参考映射。例如,副本参考映射可以包括20个区块的摘要信息。如箭头718所示,可以确定当前参考映射和副本参考映射之间的差异。继续上文的示例,如果仅有第一个区块存在差异,则如箭头720所示,可以请求从备份存储120传输第一个区块。继而,备份存储120可以向用户系统110传输第一个区块。在用户系统110处,可以利用接收的第一个区块副本来将用户系统110恢复至目标版本。

此时,仅需要从备份存储120处传输一个区块即可。然而,如果按照已有的全量备份的方式执行恢复操作,则需要传输全部20个区块。如果按照已有的增量备份方式执行恢复操作,则需要传输在期望版本与当前版本之间形成的全部增量备份的相关数据。可见,利用本公开的示例性实现方式,可以大大降低数据传输所需的各种资源。

图8示意性示出了根据本公开的示例性实现方式的用于确定参考映射和副本参考映射之间的差异的过程的框图800。图8示出了在用户系统110中的一组区块分别在时间点t0至t3的状态以及在时间点t0至t2的参考映射。在时间点t0处,与一组区块810相对应的参考映射为参考映射812;在时间点t1处,与一组区块820相对应的参考映射为参考映射822;在时间点t2处,与一组区块830相对应的参考映射为参考映射832。在备份存储120中可以包括分别对应于时间点t0、t1和t2处的备份副本。

在时间点t3处,期望将一组区块830恢复至在时间点t0的备份副本,可以比较目标版本的参考映射812与当前参考映射832,以便确定两者之间的差异。如图8右侧所示,由于两个参考映射相同并且不存在差异,因而不需要从备份存储120向用户系统110传输任何区块。在时间点t3处,一组区块840即为期望被恢复至的目标版本。然而,如果已有的增量备份技术方案,则需要向用户系统110传输第2个区块和第3个区块,以便将用户系统110恢复至时间点t1时的一组区块820。进一步,需要向用户系统110传输第2个区块和第3个区块,以便将用户系统110恢复至时间点t0时的一组区块810。相比于上述已有技术方案,利用本公开的示例性实现方式,不需要传输任何区块。

图9示意性示出了根据本公开的另一示例性实现方式的用于确定参考映射和副本参考映射之间的差异的过程的框图900。图9示出了在用户系统110中的一组区块分别在时间点t0至t3的状态以及在时间点t0至t2的参考映射。在时间点t0处,与一组区块910相对应的参考映射为参考映射912;在时间点t1处,与一组区块920相对应的参考映射为参考映射922;在时间点t2处,与一组区块930相对应的参考映射为参考映射932。在备份存储120中可以包括分别对应于时间点t0、t1和t2处的备份副本。

在时间点t3处,期望将一组区块930恢复至在时间点t0的备份副本,可以比较目标版本的参考映射912与当前参考映射932,以便确定两者之间的差异。如图9右侧所示,由于两个参考映射之间的差异仅涉及第3个区块,可以从备份存储120向用户系统110传输第3个区块。在时间点t3处,可以基于一组区块930以及接收到的第3个区块,来将用户系统110更新至一组区块940。尽管图9所示的过程需要传输一个区块,相比于已有增量备份技术方案中的需要传输4个区块的传输量,利用本公开的示例性实现方式,同样可以降低网络资源的开销和时间能开销。

根据本公开的示例性实现方式,还可以创建用户系统110的更多快照。例如,在后续的时间点t4处,可以创建用户系统110的另一快照,另一快照包括用户系统110中的一组区块的另一组区块快照。为了降低生成备份副本的工作负载,可以比较另一快照与用户系统110的先前快照之间的差异,并且基于增量方式生成用户系统110的另一备份副本。进一步,可以基于另一组区块快照来获取用户系统110的另一参考映射。将会理解,在此可以重用先前快照中的未被改变的区块的摘要信息,而是仅需要针对已经被改变的区块生成摘要信息。在备份操作中,可以向备份存储120传输另一备份副本和另一参考映射,并且将两者相关联地存储至备份存储120中。

在上文中已经参见图2至图9详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现,提供了一种用于在用户系统中恢复数据的装置。该装置包括:获取模块,配置用于获取用户系统的参考映射,参考映射包括用户系统中的一组区块的一组摘要信息;接收模块,配置用于基于用于恢复用户系统的备份副本的标识,从包括备份副本的备份存储接收与备份副本相关联的副本参考映射,副本参考映射包括备份副本中的一组区块的一组摘要信息;确定模块,配置用于确定参考映射和副本参考映射之间的差异;以及恢复模块,配置用于基于确定的差异来将用户系统恢复至备份副本。

根据本公开的示例性实现方式,该获取模块包括:创建模块,配置用于创建用户系统的快照,快照包括一组区块的一组区块快照;以及映射获取模块,配置用于基于一组区块快照来获取用户系统的参考映射。

根据本公开的示例性实现方式,映射获取模块包括:摘要获取模块,配置用于基于一组区块快照,分别获取一组区块的一组摘要信息;以及生成模块,配置用于基于一组摘要信息生成用户系统的参考映射。

根据本公开的示例性实现方式,摘要获取模块包括:差异确定模块,配置用于确定用户系统的先前快照中的一组先前区块快照与一组区块快照之间的相同部分和不同部分;第一生成模块,配置用于基于一组区块快照中的与不同部分相对应的一部分区块快照,生成一组摘要信息中的一部分;以及第二生成模块,配置用于基于一组先前区块快照的一组先前摘要信息中的与相同部分相对应的一部分摘要信息,生成一组摘要信息中的另一部分。

根据本公开的示例性实现方式,差异确定模块包括:针对副本参考映射包括的一组副本摘要信息中的副本摘要信息,查找模块,配置用于在参考映射中确定与副本摘要信息相对应的摘要信息;以及比较模块,配置用于比较副本摘要信息与摘要信息以确定差异。

根据本公开的示例性实现方式,一组摘要信息中的摘要信息表示以下中的至少任一项:一组区块中的一个区块的摘要;以及一组区块中的多个区块的摘要。

根据本公开的示例性实现方式,备份副本是基于在先前时间点创建的用户系统的快照来生成的。

根据本公开的示例性实现方式,备份副本与副本参考映射相关联地被存储在备份存储中。

根据本公开的示例性实现方式,恢复模块包括:接收模块,配置用于从备份存储接收与差异相对应的差异区块;以及更新模块,配置用于利用差异区块,更新一组区块中的与差异相对应的区块。

根据本公开的示例性实现方式,该装置进一步包括:创建模块,配置用于创建用户系统的另一快照,另一快照包括用户系统中的一组区块的另一组区块快照;比较模块,配置用于比较另一快照与用户系统的先前快照之间的差异,基于增量方式生成用户系统的另一备份副本;参考映射获取模块,配置用于基于另一组区块快照来获取用户系统的另一参考映射;以及存储模块,配置用于将另一备份副本和另一参考映射相关联地存储至备份存储中。

图10示意性示出了根据本公开的示例性实现的用于管理用户系统的设备1000的框图。如图所示,设备1000包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序指令,来执行各种适当的动作和处理。在ram1003中,还可存储设备1000操作所需的各种程序和数据。cpu1001、rom1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。

设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个过程和处理,例如方法500,可由处理单元1001执行。例如,在一些实现中,方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实现中,计算机程序的部分或者全部可以经由rom1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到ram1003并由cpu1001执行时,可以执行上文描述的方法500的一个或多个步骤。备选地,在其他实现中,cpu1001也可以以其他任何适当的方式被配置以实现上述过程/方法。

根据本公开的示例性实现,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行用于在用户系统中恢复数据的动作。该动作包括:获取用户系统的参考映射,参考映射包括用户系统中的一组区块的一组摘要信息;基于用于恢复用户系统的备份副本的标识,从包括备份副本的备份存储接收与备份副本相关联的副本参考映射,副本参考映射包括备份副本中的一组区块的一组摘要信息;确定参考映射和副本参考映射之间的差异;以及基于确定的差异来将用户系统恢复至备份副本。

根据本公开的示例性实现方式,获取用户系统的参考映射包括:创建用户系统的快照,快照包括一组区块的一组区块快照;以及基于一组区块快照来获取用户系统的参考映射。

根据本公开的示例性实现方式,基于一组区块快照来获取用户系统的参考映射包括:基于一组区块快照,分别获取一组区块的一组摘要信息;以及基于一组摘要信息生成用户系统的参考映射。

根据本公开的示例性实现方式,基于一组区块快照,分别获取一组区块的一组摘要信息包括:确定用户系统的先前快照中的一组先前区块快照与一组区块快照之间的相同部分和不同部分;基于一组区块快照中的与不同部分相对应的一部分区块快照,生成一组摘要信息中的一部分;以及基于一组先前区块快照的一组先前摘要信息中的与相同部分相对应的一部分摘要信息,生成一组摘要信息中的另一部分。

根据本公开的示例性实现方式,确定参考映射和副本参考映射之间的差异包括:针对副本参考映射包括的一组副本摘要信息中的副本摘要信息,在参考映射中确定与副本摘要信息相对应的摘要信息;以及比较副本摘要信息与摘要信息以确定差异。

根据本公开的示例性实现方式,一组摘要信息中的摘要信息表示以下中的至少任一项:一组区块中的一个区块的摘要;以及一组区块中的多个区块的摘要。

根据本公开的示例性实现方式,备份副本是基于在先前时间点创建的用户系统的快照来生成的。

根据本公开的示例性实现方式,备份副本与副本参考映射相关联地被存储在备份存储中。

根据本公开的示例性实现方式,基于确定的差异来将用户系统恢复至备份副本包括:从备份存储接收与差异相对应的差异区块;以及利用差异区块,更新一组区块中的与差异相对应的区块。

根据本公开的示例性实现方式,该动作进一步包括:创建用户系统的另一快照,另一快照包括用户系统中的一组区块的另一组区块快照;比较另一快照与用户系统的先前快照之间的差异,基于增量方式生成用户系统的另一备份副本;基于另一组区块快照来获取用户系统的另一参考映射;以及将另一备份副本和另一参考映射相关联地存储至备份存储中。

根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。

根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。

本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1