著录项信息
专利名称 | 优化的恢复 |
申请号 | CN201180046629.4 | 申请日期 | 2011-09-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-05-22 | 公开/公告号 | CN103119551A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F7/00 | IPC分类号 | G;0;6;F;7;/;0;0查看分类表>
|
申请人 | EMC公司 | 申请人地址 | 美国麻萨诸塞州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | EMC公司 | 当前权利人 | EMC公司 |
发明人 | C.H.克劳达托斯;M.J.达奇;M.N.劳 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 姜甜;朱海煜 |
摘要
一种用于修复数据的方法、工业制品和设备。在一些实施例中,这包括确定待恢复的对象,确定对象的表示,以及从数据资源系统中请求对象的表示。在一些实施例中,对象的表示是对象的散列值。在一些实施例中,对象的表示是对象的片段。
1.一种用于修复数据的方法,包括:
确定从数据资源系统待恢复的对象,其中所述数据资源系统维持存储索引,所述存储索引包括共享相同内容的所存储的对象的散列的列表;
至少部分基于所述散列的列表确定所述对象的表示,其中待恢复的对象的至少一部分与所述数据资源系统中存储的一个或多个其他对象共享相同的内容,并且其中所述对象的表示包括所共享的内容;以及
至少部分基于对应于所共享的内容的一个或多个片段的散列从所述数据资源系统中请求所述对象的所述表示。
2.根据权利要求1所述的方法,其中,所述对象的所述表示是所述对象的散列值。
3.根据权利要求1所述的方法,其中,所述对象的所述表示是所述对象的片段。
4.根据权利要求1所述的方法,所述方法进一步包括确定最佳数据资源系统,以及从所述最佳数据资源系统中请求所述对象的所述表示。
5.根据权利要求4所述的方法,其中,确定最佳数据资源系统包括基于地理位置来确定最佳数据资源系统。
6.根据权利要求4所述的方法,其中,确定最佳数据资源系统包括基于可用资源来确定最佳数据资源系统。
7.根据权利要求4所述的方法,所述方法进一步包括接收来自所述最佳数据资源系统的所述对象的所述表示。
8.一种用于修复数据的系统,包括处理器,所述处理器配置成:
确定从数据资源系统待恢复的对象,其中所述数据资源系统维持存储索引,所述存储索引包括共享相同内容的所存储的对象的散列的列表,
至少部分基于所述散列的列表确定所述对象的表示,其中待恢复的对象的至少一部分与所述数据资源系统中存储的一个或多个其他对象共享相同的内容,并且其中所述对象的表示包括所共享的内容,以及
至少部分基于对应于所共享的内容的一个或多个片段的散列从所述数据资源系统中请求所述对象的所述表示。
9.根据权利要求8所述的系统,其中,所述对象的所述表示是所述对象的散列值。
10.根据权利要求8所述的系统,其中,所述对象的所述表示是所述对象的片段。
11.根据权利要求8所述的系统,所述处理器进一步配置成确定最佳数据资源系统,以及从所述最佳数据资源系统中请求所述对象的所述表示。
12.根据权利要求11所述的系统,其中,确定最佳数据资源系统包括基于地理位置来确定最佳数据资源系统。
13.一种用于修复数据的装置,包括:
用于确定从数据资源系统待恢复的对象的部件,其中所述数据资源系统维持存储索引,所述存储索引包括共享相同内容的所存储的对象的散列的列表;
用于至少部分基于所述散列的列表确定所述对象的表示的部件,其中待恢复的对象的至少一部分与所述数据资源系统中存储的一个或多个其他对象共享相同的内容,并且其中所述对象的表示包括所共享的内容;以及
用于至少部分基于对应于所共享的内容的一个或多个片段的散列从所述数据资源系统中请求所述对象的所述表示的部件。
14.根据权利要求13所述的装置,其中,所述对象的所述表示是所述对象的散列值。
15.根据权利要求13所述的装置,其中,所述对象的所述表示是所述对象的片段。
16.根据权利要求13所述的装置,所述装置进一步包括用于确定最佳数据资源系统的部件,以及用于从所述最佳数据资源系统中请求所述对象的所述表示的部件。
17.根据权利要求16所述的装置,其中,用于确定最佳数据资源系统的部件包括用于基于地理位置来确定最佳数据资源系统的部件。
18.根据权利要求16所述的装置,其中,用于确定最佳数据资源系统的部件包括用于基于可用资源来确定最佳数据资源系统的部件。
优化的恢复\n[0001] 相关申请的交叉引用\n[0002] 本申请要求2010年9月30日提交的名称为“OPTIMIZED RECOVERY(优化的恢复)”的共同未决的美国专利申请No. 12/895,836的优选权,该申请就各方面而言通过引用而结合在本文中。本申请涉及2010年9月30日提交的名称为“BACKUP-LESS recovery(无备份恢复)”的共同未决的美国专利申请No. 12/895,838(该申请就各方面而言通过引用而结合在本文中),以及涉及2010年9月30日提交的名称为“MULTI-TIER RECOVERY(多层恢复)”的共同未决的美国专利申请No. 12/895,840(该申请就各方面而言通过引用而结合在本文中),以及2010年9月30日提交的名称为“SELF RECOVERY(自恢复)”的共同未决的美国专利申请No. 12/895,841,该申请就各方面而言通过引用而结合在本文中。\n技术领域\n[0003] 本发明大体涉及数据系统,并且更具体而言,涉及高效地保护和访问数据的系统和方法。\n背景技术\n[0004] 传统的数据恢复技术强调备份和存储。这些包括制作数据的副本,并且将副本版本存储在与原始版本不同的位置处。这使得对数据的使用效率低下,因为保留了两个数据副本。\n[0005] 在备份和存储技术中已经有若干进步。一个这种进步是重复资料删除。重复资料删除会消除冗余的数据块,使得存储数据块的仅一个实例。这可潜在地节约大量存储空间,以及在将数据从备份客户端传送到备份服务器时,这可节约带宽。\n[0006] 虽然备份和存储中的这样的进步已经使效率有所提高,但在恢复数据时损失了大部分效率。例如,当从经重复资料删除的数据中进行恢复时,首先数据重组,然后发送到恢复目标。恢复过程比备份过程需要多得多的带宽资源。\n[0007] 因此,需要一种用于恢复数据系统中的数据的改进方法、工业制品和设备。\n附图说明\n[0008] 结合附图,通过以下详细描述,将容易地理解本发明,其中,相同参考标号标示相同的结构要素,以及其中:\n[0009] 图1是根据一些实施例的数据系统的示意图。\n[0010] 图2是根据一些实施例的、用以备份数据的方法的流程图。\n[0011] 图3是根据一些实施例的、用以恢复数据的方法的流程图。\n[0012] 图4是根据一些实施例的、用以访问数据的方法的流程图。\n[0013] 图5是根据一些实施例的、用以保持数据的方法的流程图。\n具体实施方式\n[0014] 在下面提供本发明的一个或多个实施例的详细描述以及附图,附图示出本发明的原理。虽然结合这种实施例(一个或多个)来描述本发明,但应当理解的是,本发明不限于任何一个实施例。相反,本发明的范围仅由权利要求限定,而且本发明包含许多备选方案、修改和等效物。为了示例的目的,在以下描述中阐述许多具体细节,以便提供本发明的详尽理解。提供这些细节是为了示例的目的,而且根据权利要求,可在没有这些具体细节中的一些或全部的情况下实践本发明。为了清楚的目的,未详细描述与本发明有关的技术领域中已知的技术,以使得不会不必要地使本发明模糊不清。\n[0015] 应当理解,可用许多方式实现本发明,包括作为过程、设备、系统、装置、方法或计算机可读介质(诸如包含计算机可读指令或计算机程序代码的计算机可读的存储介质),或者作为计算机程序产品,包括其上包含有计算机可读的程序代码的计算机可用的介质。在本公开的上下文中,计算机可用的介质或计算机可读的介质可为可包含或存储用于由指令执行系统、设备或装置使用或者与指令执行系统、设备或装置结合起来使用的程序的任何介质。例如,计算机可读的存储介质或计算机可用的介质可为(但不限于)随机存取存储器(RAM)、只读存储器(ROM),或者持久性存储,诸如大容量存储装置、硬盘驱动器、CDROM、DVDROM、磁带、可擦除可编程只读存储器(EPROM或闪速存储器),或者用于存储信息的任何磁性、电磁性、红外、光学或电气器件系统、设备或装置。备选地或另外,计算机可读的存储介质或计算机可用的介质可为这些装置的任何组合,或者甚至是其上印刷有程序代码的纸或另一种适当的介质,因为可通过例如对纸或其它介质进行光学扫描来电子地捕捉程序代码,然后对程序代码进行编译、解释,或者另外以适合的方式处理该程序代码(如有必要),然后将该程序代码存储在计算机存储器中。应用程序、软件程序或计算机可读的指令可被称为构件或模块。应用程序可硬接线或硬编码在硬件中,或者采取在通用计算机上执行的软件的形式,或者硬接线或者硬编码在硬件中,使得当软件加载到计算机中,以及/或者软件被计算机执行时,计算机成为用于实践本发明的设备。也可通过使用使得能够产生和实现本发明的软件开发套件或工具包来全部或者部分地下载应用程序。在本说明书中,这些实现或者本发明可采取的任何其它形式可被称为技术。一般而言,在本发明的范围内可更改公开的过程的步骤的顺序。\n[0016] 将参照配置成存储文件的数据系统来描述本发明的实施例,但应当理解的是,本发明的原理不限于数据系统。相反,它们适用于能够存储和处理呈模拟形式、数字形式或其它形式的多种类型的对象的任何系统。虽然可按示例的方式使用诸如文献、文件、对象等的术语,但本发明的原理不限于表示和存储数据或其它信息的任何特定形式;相反,它们同样适应于能够表示信息的任何对象。\n[0017] 图1示出根据本发明的一些实施例的数据系统。数据系统10包括受保护的系统100和数据源系统102。如图1所示出的那样,可存在供受保护的系统从中恢复的多个数据源系统。另外,受保护的系统可为用于其本身的数据源系统。虽然图1示出从受保护的系统100到数据源系统102的“备份”箭头,但应当注意的是,在一些实施例中不需要备份。\n[0018] 在一些实施例中,受保护的系统100包括备份服务、数据索引、恢复服务和授权数据服务。当被请求时,备份服务对受保护的系统执行备份。这些备份请求可为特别的,或者可为预先安排的。例如,备份服务可每隔两星期就获取受保护的系统中的硬盘驱动器的图像。在一些实施例中,备份服务可确定哪个数据将被发送到备份贮存库(例如根据政策不应发送某些数据,不应再次发送复制文件等),并且可提供对于构建数据索引(例如对象的散列、对象的名称等)而言必需的信息。备份服务还可提供重复资料删除和其它空间节约功能。例如,备份服务可将各个文件或数据对象分割成数据片段,并且可创建各个文件和各个数据片段的散列。在一些实施例中,可在目标存储装置 (例如可为数据源系统)上执行重复资料删除,并且因此,对于构建数据索引而言必需的信息(例如散列值)可由目标存储装置提供。\n[0019] 当将受保护的系统连接到数据源系统上时,备份服务可负责鉴定备份服务与之通信的各个数据源系统的身份。在一些实施例中,数据源系统可负责这种鉴定。\n[0020] 在一些实施例中,数据索引由备份服务创建,或者由管理一个或多个受保护的系统的数据索引的另一个服务创建。数据索引可包括数据索引条目的列表。各个条目可包括关于对象的信息,尤其诸如当备份(例如使用备份应用程序版本1.0)时的文件名称、文件位置、版本元数据,以及对象的散列。在一些实施例中,可通过使用密文散列函数来确定对象的散列。在一些实施例中,数据索引条目还可包括子级别的信息。例如,数据索引条目可尤其包括关于对象的片段、片段的片段号(例如片段1(共10个))以及片段的散列的信息。通过具有数据索引,受保护的系统将能够访问对于重组文件而言必需的散列。\n[0021] 应当理解,虽然图1描绘受保护的系统100中的备份服务、数据索引、恢复服务和授权数据源服务,但这样的构件可驻留在受保护的系统100的外部。例如,受保护的系统可为台式机计算机,并且数据索引可驻留在远程位置中。在一些实施例中,数据索引可驻留在数据源系统中。另外,受保护的系统100不必限于单个机器。在一些实施例中,受保护的系统\n100可包括若干个不同的台式机,各个台式具有其本身的机数据索引,或者可存在覆盖存储在远程位置中的所有台式机的主数据索引。存在许多在不偏离本发明的精神的情况下布置构件的方式。\n[0022] 在一些实施例中,恢复服务保持可用来提供匹配散列的数据的授权数据源服务的列表。可通过多种方法将数据源服务添加到该列表。在一些实施例中,可通过使备份服务使用数据源系统作为备份目标来添加(授权)数据源服务。在一些实施例中,可基于配置设置或来自新发现的数据源服务的动态通知来添加或去除数据源服务。\n[0023] 恢复服务可负责鉴定与之通信的各个数据源的身份。在一些实施例中,数据源可负责鉴定受保护的系统的身份或试图从数据源中恢复数据的恢复服务。具有数据源鉴定对于防止垃圾信息恢复请求(例如随机地对恢复数据发送散列的欺诈系统)可为优选的。\n[0024] 一旦接收到数据恢复请求,恢复服务可验证该请求经授权恢复特定数据。许多用户可访问相同的物理计算机,但不同的用户可具有不同的访问特权。例如,IT员工可具有管理员权利,并且能够访问每个文件,而访客用户仅可访问某些文件。在一些实施例中,恢复服务将首先检查请求恢复文件的用户是否有权访问该文件。\n[0025] 在一些实施例中,在验证恢复请求之后,名称和版本元数据可用来查找数据索引中的文件内容的散列值。在一些实施例中,可利用搜索能力来提高恢复过程的效率。搜索可尤其包括按名称、位置、内容、系统元数据、用户元数据进行搜索。然后用户可从搜索结果中选择一个或多个文件,以开始恢复。搜索结果不必限于文件。例如,可列出数据片段,而且如果经请求,则可返回数据片段。\n[0026] 如果想要的文件和文件版本(例如win32.dll最终版本)不在数据索引中,则仍然有可能恢复文件和文件版本,如果备选散列确定能确定想要的文件的内容的散列值的话。\n在一些实施例中,备选散列确定可包括使用额外的数据索引,诸如“黄金”系统图像中的那些。在一些实施例中,备选散列确定可包括请求数据源返回关于存储在由散列标识的容器中的所有对象的散列的列表。照这样,可恢复驻留在多个系统上的公共文件(诸如Windows系统文件),而不需要额外的备份。\n[0027] 在一些实施例中,在恢复过程期间,从本地数据源中恢复数据可为优选的。这可引起显著的带宽节约。在一些实施例中,如果可获得本地数据源服务,则数据源服务通过散列值来请求文件的位置。如果返回匹配位置,则以较少数据传送完成恢复。如果未找到匹配的文件散列,则恢复服务可通过散列值来请求数据片段的位置,以满足恢复请求。例如,假设文件A具有片段1、2和3,文件B具有片段2、3、4,而文件C具有片段1、2和4。如果用户请求恢复C,但在数据索引中没有文件C的散列的记录,则恢复服务就可寻找文件C的片段的散列。如果文件A和文件B在数据索引中,则恢复过程将能够定位片段1、2、3和4,片段1、2、3和4足以重组文件C(例如片段1、2和4)。照这样,尽管文件C的散列的记录不在数据索引中,但基于文件C的片段,文件C将是可恢复的。对于移动装置,或者带宽或间歇连接性低的其它装置,本地恢复可为特别合乎需要的。\n[0028] 在一些实施例中,利用远程数据源(例如需要网络连接来连接到数据源上)可为优选的。多个远程数据源可具有被请求文件。在这样的情况下,根据多种多样的原因,尤其诸如地理距离、数据格式、传输协议、带宽考虑、性能统计、政策设置和资源约束,恢复服务可优先考虑数据源。例如,如果国家X的受保护的系统发现国家Y的远程数据源具有被请求文件,则两国的法律不同可影响受保护的系统连接到国家的远程数据源的愿望。\n[0029] 可使用若干种方法来发布对远程数据源的恢复请求。例如,一种方法包括对“最佳”远程数据源(例如,最接近的资源、最高资源等)发布所有恢复请求。在一些实施例中,恢复请求可分布在数据源上,以平衡资源利用。诸如BitTorrent的对等通信协议可用来传送来自多个远程数据源的数据。\n[0030] 对各个存储系统或计算机系统提供数据源服务,来自该存储系统或计算机系统的数据可用来满足数据恢复请求。可对可能是或可能不是保护系统(尤其例如未执行备份的系统)的计算机系统提供数据源服务。在一些实施例中,数据源服务可负责鉴定各个备份服务的身份和与之通信的恢复服务,以及确保所有这样的通信都得到授权。提供来自云服务提供商的数据的数据源服务必须确保多租户(例如访问相同的“云”的若干用户)的隐私和其它方面都得到满足。在一些实施例中,数据源服务可提供转换服务。转换服务可包括允许以一种格式存储的数据以另一种格式呈现。例如,存储为磁盘映像的数据可呈现为一个或多个文件。类似地,存储为一组文件的数据可呈现为磁盘映像。当在不同的操作环境(例如,Windows至Linux、物理系统至虚拟系统等)之间移动时,这可为合乎需要的。\n[0031] 在一些实施例中,在接收到对转换数据对象的请求之前,可对转换进行产生、编索引以及存储。在一些实施例中,在要求时,可执行转换、编索引和呈现转换的数据。\n[0032] 在一些实施例中,数据源服务创建和保持用于数据存储的存储索引,其中,存储索引可用来满足数据恢复请求。对待呈现的各个数据对象保持存储索引中的条目。例如,如果虚拟机器图像是从文件级备份中合成的,则在存储索引内可创建关于虚拟机器图像或虚拟机器图像内的片段的条目。\n[0033] 数据源服务还可确定将数据传送到其数据源服务的代价。这种信息可包括源数据的位置(例如地理位置)、数据的格式,以及匹配散列的数据的量。\n[0034] 对可用来满足数据恢复请求的各个数据源服务创建存储索引。存储索引可为一组条目,其中,各个条目可包括内容的长度、散列、定位器(诸如标识符或地址)、计数(列表大小)和共享相同内容的文件的散列的列表。\n[0035] 数据存储包括备份贮存库、公共云存储、网络化存储、直连存储和内部存储系统。\n[0036] 通过利用本文描述的提高的技术,修复操作的效率可提高。例如,在恢复操作期间,恢复服务可指示数据的仅100个片段恢复所有被请求数据。然后数据源服务可将仅100个片段发送到受保护的系统。这可潜在地实现带宽消耗的较大节约。为了说明,假设被请求的数据为1000份文件。许多文件可具有许多共有片段(例如两份文件具有90个共有片段)。\n备份贮存库不是在网络上发送1000份文件(它们共享许多共有片段),备份贮存库而是仅发送100个片段。\n[0037] 图2示出根据一些实施例的用以提高恢复的方法。在步骤200中,确定待恢复的对象。在步骤202中,确定对象的表示。在一些实施例中,表示可为散列值,或者可为对象的片段。在步骤204中,从数据资源系统中请求对象的表示。\n[0038] 图3示出根据一些实施例的用以提高恢复的方法。在步骤300中,接收对待恢复的对象的请求。在步骤302中,搜索外部数据源,以获得对象(例如在最初接收恢复请求的数据源的外部的数据源)。在步骤304中,基于该搜索来识别外部数据源系统。在步骤306中,基于识别的外部数据系统来处理对待恢复的对象的请求。\n[0039] 图4示出根据一些实施例的用以恢复数据的方法。在步骤400中,用备份应用程序将数据备份成第一形式。在步骤402中,更新备份应用程序。在步骤404中,使用经更新的备份应用程序来将备份数据修复成第二形式。例如,第一形式可为Microsoft Exchange服务器的副本,而第二形式可为单独的邮件。\n[0040] 图5示出根据一些实施例的用以恢复数据的方法。在步骤500中,接收来自请求者(例如受保护的系统)的恢复对象的请求。在步骤502中,确定对象的片段。在步骤504中,识别驻留在请求者中的对象的片段。在步骤506中,基于驻留在请求者中的确定的片段来恢复请求。\n[0041] 为了清楚,在本文中已经用具体流程示出了过程和方法,但应当理解的是,其它顺序是可能的,而且有些可并行执行,而不偏离本发明的精神。另外,步骤可细分或组合。如本文公开的那样,根据本发明而编写的软件可存储在一些形式的计算机可读的介质中,诸如存储器或CD-ROM,或者在网络上传输该软件,以及由处理器执行该软件。\n[0042] 本文所引用的所有参考文献都意于通过引用的方式结合。虽然上面已经按照具体实施例来描述了本发明,但期望的是,本发明的更改和修改无疑将对本领域技术人员变得显而易见,并且可在所附权利要求的范围和等效物内实践本发明的更改和修改。可使用不止一个计算机,诸如通过使用并行的多个计算机,或负载共享布置,或将任务分配在多个计算机上,使得它们总体上执行本文标识的构件的功能;即,它们代替单个计算机。上面描述的多种功能可由单个计算机上的或者分布在若干个计算机上的单个过程或一组过程执行。\n过程可调用其它过程,以处理某些任务。可使用单个存储装置,或者若干个存储装置可用来代替单个存储装置。认为当前实施例是说明性而非约束性的,而且本发明不限于本文给出的细节。因此意于的是,本公开和所附权利要求被解释为覆盖落在本发明的真实精神和范围内的所有这样的更改和修改。
法律信息
- 2016-09-21
- 2013-08-14
实质审查的生效
IPC(主分类): G06F 7/00
专利申请号: 201180046629.4
申请日: 2011.09.28
- 2013-05-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-02-17
|
2009-09-21
| | |
2
| |
2008-12-03
|
2008-05-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |