CN109726044A - 基于数据块名称从重复数据删除存储中高效还原多个文件 - Google Patents
基于数据块名称从重复数据删除存储中高效还原多个文件 Download PDFInfo
- Publication number
- CN109726044A CN109726044A CN201811265197.6A CN201811265197A CN109726044A CN 109726044 A CN109726044 A CN 109726044A CN 201811265197 A CN201811265197 A CN 201811265197A CN 109726044 A CN109726044 A CN 109726044A
- Authority
- CN
- China
- Prior art keywords
- data block
- snapshot
- data
- file
- title
- 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
Links
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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
- G06F16/125—File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
一种存储设备,可以设计为便于在允许文件共享数据块的系统中高效还原多个备份的文件。数据管理应用或存储OS命名数据块,并在备份到存储设备或通过存储设备备份时将这些名称传送到存储设备。当通过以数据块粒度而不是文件粒度进行还原而还原一组文件时,存储设备可以利用数据块名称。以数据块的粒度通过其名称的还原允许存储设备避免重复向还原请求者(例如,存储OS或数据管理应用)发送相同的数据块,同时仍然指示还原请求者如何使用有效数据范围与命名数据块之间的映射重建相应的文件。
Description
背景技术
本公开总体上涉及数据处理领域,并且更具体地涉及数据库和文件管理或数据结构。
组织可以在涉及数据恢复和/或数据保持的策略中指定数据管理策略。对于数据恢复,应用或程序创建备份并在需要时还原备份。存储网络工业协会(SNIA)将备份定义为“存储在(通常是可移动的)非易失性存储介质上的数据集合,以便在原始数据副本丢失或无法访问时进行恢复;也称为备份副本。”对于数据保持,应用或程序会创建存档。SNIA将存档定义为“存储系统中的数据对象集合,可能带有关联元数据,其主要目的是长期保存和保持该数据。”虽然创建存档可能涉及其他操作(例如,索引以便于搜索、压缩、加密等,并且备份可以写入,而存档可能不可写入,两者的创建都涉及将数据从源复制到目的地。
这种用于创建备份或存档的复制可以不同地完成。可以复制所有已定义的数据对象集,以创建“完全备份”,而无论自上次备份以来是否已对其进行修改。备份也可以是增量的。系统可以将复制限制为复制已修改的对象以创建增量备份,可以是累积增量备份或差异增量备份。SNIA将差异增量备份定义为“其中自上次完全备份或增量备份以来修改的数据对象都被复制的备份。”SNIA将累积增量备份定义为“其中自上次完全备份以来修改的所有数据对象都被复制的备份。”
数据管理/保护策略可以使用“快照”,其将时间点方面添加到备份。快照的更具体定义是“定义的数据集合的完全可用副本,其包含在单个时刻出现的数据的映像。”换句话说,快照可以视为在特定时刻的备份。因此,用于创建备份的不同技术可以包括用于创建快照的不同技术。SNIA的定义进一步阐述了快照“被认为在该时间点逻辑上发生,但实现可以在其他时间执行部分或全部复制(例如,通过数据库日志重放或回滚),只要结果是在该时间点出现的数据的一致副本。实现可能会将时间点副本限制为只读,或者可能允许后续写入至副本。
组织可以使用不同的备份策略。一些备份策略包括“定期完全”备份策略和“永久增量”备份策略。使用定期完全备份策略,备份应用会定期创建完整快照(“基准快照”),并在定期创建的完整快照之间创建增量快照。使用永久增量备份策略,备份应用会创建一个完整快照的初始快照,然后创建增量快照。
数据管理/保护策略越来越依赖于云服务提供商。云服务提供商维护设备和软件,而不会让客户负担细节信息。云服务提供商向客户提供应用程序接口(API)。API提供对云服务提供商资源的访问,而无法查看这些资源。
附图说明
通过参考附图可以更好地理解本公开的各方面。
一起描述图1和图2以说明示例目录还原。图1是使用命名数据块还原目录的示例存储设备的图。图2是在存储设备105处维护的键-值存储中的快照元数据的图。
图3描绘了使用命名数据块的高效多文件还原的示例操作的流程图。
图4描绘了具有备份管理器的示例计算机系统,该备份管理器具有基于数据块名称的备份还原。
具体实施方式
以下描述包括体现本公开的实施例的示例系统、方法、技术和程序流程。然而,应当理解,可以在没有这些具体细节的情况下实践本公开。例如,本公开在说明性示例中涉及数据块。但是,数据单元可以以不同的粒度跨文件/对象共享,或者具有不同的标记(例如,数据段、数据区间等)。在其他情况下,没有详细示出公知的指令实例、协议、结构和技术,以免混淆本描述。
引言
通过包括一个或多个应用的“解决方案”来执行数据管理/保护策略,在本文中将这些应用称为数据管理应用。数据管理应用可以在安装在设备(虚拟或物理)上的存储操作系统(OS)上运行,其作为数据源和云存储之间的中介进行操作。有效使用快照的数据管理应用有两个阶段:1)随时间创建快照,以及2)还原/激活快照。
数据管理应用通过将数据从数据源(可以是主存储器或辅助存储器(例如,备份服务器))复制到存储目的地来创建快照。该存储目的地可以是数据源与私有或公有云存储(即,由云服务提供商托管和/或管理的存储)之间的存储设备。“存储设备”指的是物理或虚拟的计算机,其提供对数据的访问和/或管理数据而无需应用上下文。管理数据可以包括保护数据、重复数据删除、管理快照、实施服务等级协议等。从数据源角度来看,存储设备是快照的目的地,但作为最终要存储在云存储中的快照的缓存操作。可以从存储设备快速还原尚未从存储设备中移除的快照。存储设备还可以高效地响应至少元数据相关的请求,因为存储设备维护快照的元数据,包括缓存的和移除的快照。该存储设备的高效运行有助于确保符合客户的恢复时间目标(RTO),同时存储设备还通过在云存储中归档快照来满足客户的数据保持需求。存储设备满足灾难恢复和数据保持的不同数据管理目标。
概述
在允许文件共享数据块的系统(例如,重复数据删除存储系统)中,存储设备可以设计成促进多个备份的文件的高效还原,诸如目录快照的高效还原。数据管理应用或存储OS命名数据块,并在备份到存储设备或通过存储设备备份时将这些名称传送到存储设备。当通过以数据块粒度而不是文件粒度进行还原而还原一组文件时,存储设备可以利用数据块名称。以数据块的粒度通过其名称的还原允许存储设备避免重复向还原请求者(例如,存储OS或数据管理应用)发送相同的数据块,同时仍然指示还原请求者如何使用有效数据范围与命名数据块之间的映射重建相应的文件。避免重复发送跨多个文件共享的相同数据块不仅可以减少内存消耗,还可以减少存储设备和数据管理应用之间以及可能在存储设备和云存储之间的带宽消耗。此外,存储设备可以构建要还原的数据块的名称列表,然后根据由数据块名称定义的顺序检索这些数据块。这允许从顺序存储介质(例如,磁盘)高效地检索数据块,因为名称的顺序可能对应于数据块写入存储介质的顺序。从而,较少的读取可以检索一组或多组数据块以进行还原。
示例图解
一起描述图1和图2以说明示例目录还原。图1是使用命名数据块还原目录的示例存储设备的图。参考图2描述图1,图2描绘了由用于目录还原的存储设备维护的示例数据存储和数据结构。
图1描绘了存储设备105,其包括存储设备107的阵列(例如,磁盘阵列、闪存存储库、混合存储阵列等)或者与其通信耦合。存储设备105可以使用存储设备阵列107中的一些或全部来缓存来自数据源的最终移除到云存储117的数据。存储设备105包括协议栈103和快照管理器104。
协议栈103是软件的堆栈,在该图示中,其处理定义的数据集合的快照数据。定义的数据集合是可识别的数据集合,其可以是卷、分区、虚拟磁盘、文件系统实例等。协议栈103执行通信/网络协议处理,以及可能的附加协议处理以从接收的快照数据中提取快照组件。快照组件可以是消息、对象、操作等,其指示快照中的信息是否涉及数据或元数据、目录改变、索引节点元数据改变等。协议栈103提取并格式化快照组件,以由快照管理器104处理。协议栈103与数据源执行握手操作,以交换关于定义的数据集合和在存储设备105处可用于该定义的数据集合的快照的信息。
快照管理器104排列从协议栈103接收的快照元数据和快照数据。快照管理器104将快照元数据排列到由快照管理器104维护的适当的一个键-值存储108中。快照元数据的示例包括快照数据文件中的数据块的索引节点属性、目录信息和位置信息。快照管理器104通过快照和定义的数据集合来维护快照数据文件119。快照管理器104可以通过为每个快照数据文件导出基于本地生成的快照标识符的文件命名方案来排列快照数据文件。快照管理器104将快照数据文件存储在存储设备阵列107中,然后将快照数据文件迁移到云存储117。将数据迁移到云存储117可以包括一个或多个数据管理/效率操作,例如重复数据删除、压缩和/或加密。然而,存储设备105维护快照元数据并将快照元数据复制到云存储117。存储设备105可以将元数据复制到云存储117,但是也可以将数据管理/效率操作应用于元数据并将修改的元数据写入到云存储117。
图1用一系列字母A-D注释,其表示每个阶段的一个或多个操作的阶段。本公开不必限于所描述的阶段的顺序,并且落入权利要求范围内的主题可以在某种程度上相对于该顺序而变化。
数据管理应用程序或存储OS传送还原在数据源处的文件系统的目录/FOO的请求。部分目录结构101将目录/FOO指示为根目录的子目录。根目录具有另一个子目录/RQW。目录/FOO包含子目录/BAZ以及2个文件BAR1和QUX1。子目录/BAZ包括2个文件:KT1和CT1。这是与还原请求对应的数据源的文件系统的状态。并且文件系统先前已经经由存储设备105备份到云存储117。例如,结构101中描绘的/FOO的状态对应于请求还原的快照N,并且先前已经发送了快照1-N到存储设备105。协议栈103处理该请求并将其传递给快照管理器104。
基于接收到还原请求,快照管理器104确定要在阶段A还原的文件的有效数据范围的命名数据块。在确定命名数据块之前或同时,快照管理器104可以返回到对应于/FOO的请求者文件系统元数据。快照管理器104使用键-值存储108来确定在目录/FOO内要还原的文件的命名数据块。引用图2来描述快照管理器104使用键-值存储108和各种其他数据结构来确定要还原的命名数据块。图2包括部分结构101,以便于参考以理解文件系统对象(即文件和目录)之间的层次关系。
图2是在存储设备105处维护的键-值存储中的快照元数据的图。当存储设备105接收快照时,存储设备105将快照元数据记录插入到适当的键-值存储中,并将相应的数据块写入快照数据文件中。存储设备105可以处理多个数据集合,但是单个数据集合的说明足以解释高效批量还原。考虑用于单个定义的数据集合的单组键-值存储,存储设备105为数据集合的每个快照生成本地标识符。本地快照标识符标识快照,同时还隐式指示快照的顺序。源快照标识符(即,在快照源处生成的快照标识符),例如通用唯一标识符(UUID),不一定是确定性的,因此可能不暗示快照的顺序。存储设备将源快照标识符绑定到本地快照标识符。此绑定允许存储设备在两个方向上解析标识符:从源快照标识符到本地快照标识符,以访问键-值存储中的快照元数据,以及从本地快照标识符到源快照标识符,以与数据源进行有关快照的通信。
存储设备105将快照元数据排列到文件系统对象属性元数据233(“索引节点元数据”或“索引节点记录”),父-子元数据235(“目录记录”)和数据映射元数据237(“数据映射记录”)。所有快照元数据记录都说明了使用本地快照标识符作为键前缀。存储设备105可以针对每个新快照使用单调增加的计数器。在此示例中,基准快照具有本地标识符“1”,并且后续增量快照具有本地快照标识符“2”。在该图示中,不同的元数据排列在键-值存储中实现。
因此,示例数据示出已经为定义的数据集合接收了三个快照。存储设备105根据本地快照标识符和索引节点号构造用于索引节点记录的键。索引节点记录的值是对应快照中的索引节点的文件系统对象属性(例如,作者、创建时间、上次修改时间等)。存储设备105从本地快照标识符、父索引节点号和子名称构造用于目录记录的键。子名称可以是文件名或目录名。目录记录中的值至少是与子名称对应的索引节点号。存储设备105根据本地快照标识符、索引节点号和源文件偏移量(即,在数据源的快照中传送的包含文件的偏移量)构造用于数据映射记录的键。数据映射记录中的值至少是数据块的长度和数据块名称。命名数据块的位置在其他元数据中维护,该元数据通过在快照数据文件内偏移来指示命名数据块在快照数据文件中的位置。快照数据文件是相应快照中文件的命名数据块的聚合。对定义的数据集合(例如,文件系统实例)执行重复数据删除的请求者(例如,数据管理应用或存储OS)生成可以跨文件共享和/或在文件内重复的数据块的标识符或名称。这些数据块的命名可以符合包含信息的方案,以便生成的名称至少暗示顺序。例如,请求者可以基于数据块指纹和数据块创建时间生成名称,并将指纹和创建时间的组合(例如,级联)分配为数据块的名称。作为另一示例,请求者可以为每个唯一数据块生成具有单调增加标识符的名称。
图2的简单示例数据足以概念性地描述示例批量/目录还原,其中元数据布置维护在作为云存储缓存操作的存储设备处。可以使用相同的键范例维护其他元数据。例如,可以为访问控制列表和其他粒度的数据容器(例如,逻辑单元号(LUN))维护其他元数据。
基于接收到还原请求,存储设备105搜索键-值存储235、237以发现要在/FOO及其子目录内还原的文件,并发现命名数据块以返回有效数据范围。存储设备105搜索键-值存储235以找到要还原的目录(即/FOO)的索引节点号。存储设备105将以已知的根索引节点号开始,在该示例中为64。存储设备105可以在键-值存储235的键中搜索64:FOO。搜索结果确定/FOO的索引节点号,即96。利用要还原的目录的索引节点号,存储设备105可以进行键-值存储235的广度优先搜索,以逐级地找到/FOO内的文件和目录。当存储设备105在键-值存储235中发现包括96(即,FOO的索引节点号)的键的文件系统对象时,存储设备添加文件系统对象的名称和/或文件系统对象的索引节点号到还原发现列表203。还原发现列表203跟踪已经在要还原的目录的当前级别上发现的文件系统对象。在存储设备105在/FOO内搜索的当前级的快照中发现文件系统对象之后,存储设备105将待还原的文件的标识符从列表203移动到文件还原列表205。搜索中跨段的快照不包括指定用于还原的快照之外的快照。例如,如果用于还原的指定快照是2,则存储设备不会在键-值存储235中的记录中搜索大于2的键前缀。因此,存储设备105将不会发现文件CT1。文件还原列表205跟踪要还原的文件。在该图示中,存储设备105在/FOO的第一级发现文件BAR1和QUX1,并且稍后在子目录/BAZ内发现文件KT1和CT1。存储设备105将发现的目录的标识符移动到目录列表201。目录列表201跟踪目录以搜索要还原的文件。由于键-值存储使用键内的索引节点号,因此存储设备通过其索引节点号跟踪文件系统对象,但也可以跟踪名称。
在某一时刻,存储设备105确定文件还原列表205中的文件的有效范围和相应的数据块名称。这一点可以在每级的发现完成之后,在列出n个文件之后,或者在文件系统对象的发现完成之后。为了确定有效数据范围和相应的数据块名称,存储装置105从指定的快照返回到基准快照,在键-值存储237中搜索列表205中列出的每个文件。假设快照3被指定用于还原,则存储设备105最初将在键-值存储237中搜索包括列表205中列出的文件的每个索引节点号的键,但是具有等于3的键前缀。然后,存储设备105向后遍历快照以标识要还原的文件的有效数据范围。在该图示中,存储设备105确定快照3中的文件CT1的有效范围,其长度为100并且源偏移为0。存储设备105还确定该有效数据范围对应于名为“F”的数据块。然后,存储设备105在快照2的数据映射记录中搜索所列出用于还原的文件,并基于不同快照的范围之间的重叠确定有效范围,其中更近的范围控制有效性。因此,较旧快照中的数据范围或数据范围的一部分被忽略为已被覆盖。存储设备105确定文件QUX1具有来自源偏移0的有效数据范围,长度为256字节,其映射到名为A的数据块。文件QUX1还具有来自源偏移256的快照2中的有效数据范围,长度为128字节,其映射到名为C的数据块。存储设备105还将快照2中文件KT1的有效数据范围确定为范围为0:512和512:64(格式为<源偏移>:<长度>)。KT1的有效数据范围0:512映射到命名数据块D,以及有效数据范围512:64映射到命名数据块E。存储设备105还从快照2信息确定文件BAR1的有效数据范围300:128。然后,存储设备开始在键-值存储237中的快照1条目搜索包括要还原的文件的索引节点号的键。存储设备105找到包括0:256和256:256的文件BAR1的数据范围。BAR1的数据范围0:256映射到命名数据块A,BAR1的数据范围256:256映射到命名数据块B。但是,快照3中已覆盖BAR1数据范围256:256的部分。因此,存储设备105确定数据范围0:256是有效的。对于256:256的数据范围,存储设备105移除重叠部分并将有效数据范围确定为256:4。下表1表示为要还原的文件确定的有效数据范围和相应的命名数据块。
文件名(索引节点) | 有效数据范围 | 数据块名称 |
BAR1 | 0:256;256:4;300:128 | A;B;C |
QUX1 | 0:256;256:128 | A;C |
KT1 | 0:512;512:64 | D;E |
CT1 | 0:100 | F |
表1:有效数据范围和相应的数据块名称
返回图1,存储设备105然后开始检索与要还原的文件的有效数据范围相对应的命名数据块以完成目录还原请求。尽管该图示描述了将有效数据范围的命名数据块和检索的数据块确定为分离的,但是一旦确定了有效数据范围,实施例就可以开始检索数据块。在阶段B,存储设备105首先经由存储子系统109访问本地存储器和/或存储,以检索可以在存储设备105处缓存的任何命名数据块。当检索时,存储设备可能能够高效地从顺序写入数据块的存储介质中读取数据块。假设顺序写入的存储介质(例如,磁盘),数据块的命名可能对应于数据块写入存储设备105的存储介质的顺序。例如,存储设备105可以能够通过单个读取操作来读取块A-C。在阶段C,存储设备从云存储117中检索未在存储设备105处缓存的有效数据范围的命名数据块。
为了确定命名数据块的位置,存储设备105访问图2中描绘的命名数据块映射239。命名数据块映射239指示命名数据块在快照数据文件内的位置。尽管当命名数据块在不同快照中再现时,实施例可以在不同快照文件中重复存储命名数据块,但是图示示例没有。如图2所示,命名数据块A和B分别位于快照数据文件SP1的偏移0和256处。不是在快照数据文件SP2(对应于快照2)中重复数据块,而是还原文件QUX1将依赖于SP1数据文件中的命名数据块A。命名数据块C、D、E分别在快照数据文件SP2中的偏移0、128和640处。最后,命名数据块F位于快照数据文件SP3的偏移0处。
在阶段D,存储设备105传送所确定的有效文件数据范围和对应的数据块名称和第一印象的数据块以进行还原。与检索一样,存储设备105不必等到其确定了所有信息之后。存储设备105可以在各个时间点开始传送有效数据范围(例如,在每个文件跨快照完成时,在n个文件之后,在已经确定子目录中的文件的所有有效数据范围之后,等)。尽管存储设备105将所有发现的文件的有效数据范围和到数据块名称的映射传送回还原请求者,但是存储设备105不会传回已经发送的数据块。存储设备105跟踪已经发送了哪些块。如果已经发送了块,则存储装置105传送映射到数据块名称的有效数据范围,并允许请求者使用先前发送的数据块以进行还原。参考表1,存储设备105将表1中的有效数据范围的文件名和/或标识符传回请求者。然而,存储设备105将不会两次传回数据块A和C。
图3描绘了使用命名数据块的高效多文件还原的示例操作的流程图。示例操作包括向还原目标提供文件系统元数据,以及根据还原请求发现要还原的文件的有效数据范围的方面。特别地,当检索命名数据块并将命名数据块传送到还原目标以进行高效检索时,确定有效数据范围的数据块名称以节省资源。图3描述涉及执行与图1一致的操作的存储设备,而不是限制该主题的实现。
在框301处,存储设备检测还原快照N的指定目录的请求。该请求可指示要还原的目录的路径和/或要还原的目录的索引节点号。存储设备从除存储设备之外的另一台机器(物理或虚拟)上运行的存储OS或数据管理应用(例如,备份应用)的实例接收请求。尽管请求者可以是还原的目标,但是还原请求可以指示除请求者之外的还原目标,例如通过网络地址或设备名称。
在框303处,存储设备开始发现指定目录内的文件系统对象。无论记录的具体排列(例如,键-值存储、数据库、树数据结构等)如何,存储设备都可以搜索目录记录,以发现指定目录内的文件和目录。例如,存储设备可以基于广度优先搜索(BFS)算法搜索目录记录或条目的排列。这将发现指定目录中每级的文件系统对象。其实现可以基于其他技术进行搜索,例如深度优先搜索算法。搜索实现可以根据如何最高效地访问信息而变化。存储设备继续到框305,同时还继续搜索直到完成。再次参考基于BFS的实现,存储设备可以使用第一线程或进程在指定目录下的第一级发现文件系统对象,然后可以启动一个或多个其他线程或进程以执行其他收集操作并传送在已完成发现的级上发现的已发现文件系统对象的信息。同时,第一个线程/进程可以继续发现。
在框305处,存储装置开始获取并传送关于所发现的文件系统对象的信息,包括数据块名称,到还原目标的操作循环。该信息包括文件系统对象的元数据、有效数据范围、数据块名称以及用于还原的第一印象的数据块。
在框307处,存储设备检索并传送所发现的文件系统对象的元数据到还原目标。使用图2的图示,存储设备基于要还原的快照在键-值存储233中查找所发现的文件系统对象的元数据。存储设备可以为每个所发现的文件系统对象将检索到的元数据传送到还原目标,或集中成较少的传送次数。
在框309处,存储装置基于检索到的元数据确定文件系统对象是目录还是文件。如果文件系统对象是目录,则存储设备在框321确定是否存在另一个所发现的文件系统对象。如果所发现的文件系统对象是文件,则存储设备进行到框311。
在框311处,存储设备基于快照N确定文件的有效数据范围,并确定与每个有效数据范围相对应的数据块名称。存储设备开始从指定的快照N返回到先前的基准快照或合成基准快照中搜索文件的数据范围记录。存储设备会累积不同的范围以及每个到数据块名称的引用/映射。作为确定有效性的一部分,可以基于与更多当前快照的数据范围的重叠来忽略、截断或拆分来自较旧快照的数据范围。此外,存储设备会跟踪每个有效数据范围的相应数据块名称。对于某些数据范围,数据范围的有效部分将小于由数据映射条目/记录中数据范围引用的整个命名数据块。映射仍将传送到还原目标,还原目标确定命名数据块的部分。这允许还原目标跨多个有效数据范围和/或文件中使用命名数据块,尽管命名数据块的不同部分对于不同范围/或文件有效。
在框312处,存储装置开始针对为文件的有效数据范围确定的唯一数据块名称的操作循环。此操作循环是忽略对文件中相同数据块的重复引用。为便于解释,每个有效数据范围称为选定的有效数据范围。
在框313处,存储装置确定所发现文件的选定的有效数据范围是否引用该还原的第一次印象或第一次出现的数据块名称。在确定有效数据范围(311)时,存储设备跟踪每个有效数据范围引用的块名称,因为它以反向快照顺序迭代数据映射条目。存储设备可以维护遇到的数据块名称列表,将映射到选定的有效数据范围的数据块名称与数据块名称的跟踪列表进行比较,以确定它是否是第一次出现。例如,选定的有效数据范围可以引用名为“B”的数据块。数据块“B”不是先前处理的文件的第一印象(也引用数据块“B”)的名称,导致数据块名称被添加到列表中。如果它是该还原的数据块名称的第一次出现或第一次印象,则控制进行到框315。否则,控制进行到框317。
在框315处,存储装置在数据块名称的跟踪列表中指示用于还原的数据块名称。用于实现列表的数据结构可以包括用于该还原的第一次印象的每个数据块名称的条目,以及用于标记或设置标志的字段,该标志指示是否已将命名数据块发送到还原目标。控制从框315进行到框317。
在框317处,存储设备确定是否存在由所发现文件的有效数据范围引用的任何其他唯一数据块名称。如果存在对于文件唯一的其他引用数据块名称,则控制进行回到框312。否则,控制进行到框319。
在框319处,存储设备向还原目标传送文件的每个有效数据范围和由有效数据范围引用的数据块名称。无论重复如何,存储设备都会向还原目标传送每个有效数据范围和有效数据范围引用的数据块名称。这允许还原目标重建文件,无论命名数据块是否已经发送或将要发送。
在框321处,存储设备确定是否存其他的发现的文件系统对象。如前所述,发现线程/进程可以搜索由存储设备维护的备份/快照元数据以发现文件和目录,而其他线程/进程确定所发现文件的有效数据范围并与还原目标通信。如果存在另外的发现的文件系统对象,则控制行进回到框305。否则,控制进行到框323。
在框323处,存储设备获取并传送尚未发送的数据块名称跟踪列表中的命名数据块。存储设备检索由存储设备缓存的命名数据块。然后,存储设备从云存储中检索未在存储设备中缓存的那些命名数据块。存储设备维护信息以指示是否已将命名数据块发送到还原目标,例如数据块名称列表中的标志或位。由于数据块名称仅在列表中出现一次,因此存储设备可以通过命名数据块的单个检索和传送来完成还原请求。存储设备可以在获得数据块之前根据由数据块名称表示的顺序对数据块名称进行排序。这可以导致额外的效率,因为数据块名称可以对应于数据块写入存储介质的顺序。这可能是因为数据源根据由数据块名称所表示的顺序将数据块及其名称传送给存储设备。实施例还可以根据数据块名称的顺序将数据块写入数据文件。例如,存储设备可以接收数据块A、C、D、B、F、E。然后,存储设备可以按顺序A、B、C、D、E、F将数据块写入快照1文件中,假设名称至少暗示顺序,如果没有明确指出数据源的数据块生成顺序。对于第二快照,数据源可以传送数据块G、B、M。存储设备将序列G和M中的数据块写入第二快照数据文件。
变型
以上示例说明假定单个还原目标。但是,请求可以指示多个还原目标。存储设备可以为每个还原目标执行文件系统对象发现和基于命名数据块的检索。在一些情况下,可以将元数据还原到第一目标(例如,元数据服务器),并且可以将数据块连同有效数据范围和数据块名称的映射一起还原到一个或多个其他目标。
以上示例说明还涉及目录的还原。然而,实施例可以满足以不同形式还原多个文件的请求。例如,还原请求可以请求还原离散列出的文件、多个目录、文件和目录的混合等。
提供流程图以帮助理解说明,并不用于限制权利要求的范围。流程图描绘了可以在权利要求的范围内变化的示例操作。可以执行额外操作;可以执行的更少操作;可以并行执行操作;并且可以以不同的顺序执行操作。例如,图3中描绘的示例操作在等待发送命名数据块的同时传送每个文件的文件系统对象元数据和有效数据范围,直到已经发现所有文件系统对象并确定所有有效数据范围。实施例可以以不同的间隔和/或基于不同的阈值来执行这些操作。例如,实施例可以在已经发现阈值数量的文件之后或者在确定的有效数据范围满足阈值大小之后获取并传送命名数据块。实施例可以使用单个阈值或多个阈值,并且它们可以是动态的。例如,实施例可以基于请求还原的目录的数量来设置不同的阈值。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由程序代码实现。程序代码可以提供给通用计算机、专用计算机或其他可编程机器或设备的处理器。
如将理解的,本公开的各方面可以实施为存储在一个或多个机器可读介质中的系统、方法或程序代码/指令。因此,本公开的各方面可以采取硬件、软件(包括固件、常驻软件、微代码等)的形式,或者软件和硬件方面的组合,这些方面在本文中通常都可以称为“电路”、“模块”或“系统”。示例图示中作为单个模块/单元呈现的功能可以根据平台(操作系统和/或硬件)、应用生态系统、接口、程序员偏好、编程语言、管理员偏好等中的任何一个进行不同的组织。
可以利用一个或多个机器可读介质的任何组合。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读存储介质可以是,例如但不限于,系统、装置或设备,其采用电子、磁、光、电磁、红外或半导体技术中的任何一个或组合来存储程序代码。机器可读存储介质的更具体示例(非详尽列表)将包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式紧凑型光盘只读储存器(CD-ROM)、光学存储设备、磁存储设备或前述的任何合适组合。在本文件的上下文中,机器可读存储介质可以是任何有形介质,其可以包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序。机器可读存储介质不是机器可读信号介质。
机器可读信号介质可包括传播的数据信号,其中机器可读程序代码包含在其中,例如,在基带中或作为载波的一部分。这种传播信号可以采用多种形式中的任何一种,包括但不限于,电磁、光学或其任何合适的组合。机器可读信号介质可以是任何机器可读介质,其不是机器可读存储介质并且可以传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用。
在机器可读介质上包含的程序代码可以使用任何适当的介质传输,包括但不限于无线、有线、光纤电缆、射频等,或者前述的任何合适的组合。
用于执行本公开的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言,例如编程语言、C++等;动态编程语言,例如Python;脚本语言,例如Perl编程语言或PowerShell脚本语言;以及和传统的过程编程语言,例如“C”编程语言或类似的编程语言。程序代码可以完全在独立机器上执行,可以跨多个机器以分布式方式执行,并且可以在一台机器上执行,同时在另一台机器上提供结果和/或接受输入。
程序代码/指令还可以存储在机器可读介质中,其可以指导机器以特定方式运行,使得存储在机器可读介质中的指令产生包括实现在流程图和/或框图框中指定的功能/动作的指令的制品。
图4描绘了具有备份管理器的示例计算机系统,该备份管理器具有基于数据块名称的备份还原。该计算机系统包括处理器401(可能包括多个处理器、多个核、多个节点和/或实现多线程等)。计算机系统包括存储器407。存储器407可以是系统存储器(例如,缓存、SRAM、DRAM、无电容RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS(Silicon-Oxide-Nitride-Oxide-Silicon)、PRAM等中的一个或多个)或上述已描述的机器可读介质的可能实现中的任何一个或多个。计算机系统还包括总线403(例如,PCI、ISA、PCI-Express、Hyper总线、总线、NuBus等)和网络接口405(例如,光纤通道接口、以太网接口、以及互联网小型计算机系统接口、SONET接口、无线接口等)。该系统还包括备份管理器411。备份管理器411包括基于允许文件共享数据块(例如,由于重复数据删除)的存储系统中的数据块名称高效地还原备份(例如,快照)的功能。备份管理器411基于还原请求和对应的文件系统元数据确定要还原的文件。然后,备份管理器411通过要还原的文件的有效数据范围来确定唯一数据块名称引用,并限制对命名数据块的单个实例的检索和传送。备份管理器411可以首先从由备份管理器411在迁移到云存储之前用作缓存的存储阵列或存储库415(例如,磁盘阵列、闪存库、混合存储等)中检索命名数据块。先前描述的功能中的任何一个可以部分地(或全部地)在硬件中和/或在处理器401上实现。例如,功能可以用专用集成电路实现,在处理器401中,在外围设备或卡上的协处理器中等逻辑实现。此外,实现可以包括更少或图4中未示出的额外的组件(例如,视频卡、音频卡、附加网络接口、外围设备等)。处理器401和网络接口405耦合到总线403。尽管示出为耦合到总线403,但是存储器407可以耦合到处理器401。
尽管参考各种实现和开发描述了本公开的各方面,但是应该理解,这些方面是说明性的,并且权利要求的范围不限于它们。通常,用于在如本文所述执行重复数据删除的分布式存储系统中高效还原备份数据的技术可以利用与任何硬件系统一致的设施来实现。可以进行许多变型、修改、添加和改进。
可以为本文描述的组件、操作或结构提供多个实例作为单个实例。最后,各种组件、操作和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。设想了其他功能分配,并且可以落入本公开的范围内。通常,在示例配置中作为单独组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。这些和其他变型、修改、添加和改进可以落入本公开的范围内。
除非特别说明,否则不应将列表前面的短语“至少一个”与“和”结合使用视为排他性列表,并且不应被解释为具有来自每个类别的一个项目的类别列表。记载“A、B和C中的至少一个”的条款可以由仅一个列出的项目、多个列出的项目、以及列表中的一个或多个项目以及未列出的另一个项目所侵犯。
Claims (15)
1.一种方法,包括:
由计算设备确定多个文件中每一个的有效数据范围和每一个所述有效数据范围的数据块名称,其中所述文件位于在接收到的还原请求中标识的备份实例的目录中;
由所述计算设备跟踪一个或多个唯一所述数据块名称,其中至少一个所述数据块名称对应于多个所述有效数据范围;以及
响应于所述还原请求,由所述计算设备传送分配给所跟踪的唯一所述数据块名称的所检索的数据块。
2.根据权利要求1所述的方法,进一步包括由所述计算设备以反向时间顺序从所述备份实例确定重叠的所述数据范围。
3.根据权利要求2所述的方法,其中,所述备份实例对应于所述还原请求中的多个快照标识符中的一个,并且所述快照标识符表示快照的时间顺序。
4.根据权利要求1所述的方法,进一步包括由所述计算设备按照至少部分地基于相应的一组所述数据块名称的顺序从本地缓存检索一组所述数据块。
5.根据权利要求1所述的方法,进一步包括由所述计算设备将所检索的数据块按照基于相应的所述数据块名称的顺序写入存储介质,以在迁移至少部分所述备份实例到云存储之前创建所述备份实例。
6.一种非暂时性机器可读介质,其上存储有用于基于数据块名称的快照中多个文件的还原的指令,包括机器可执行代码,当由至少一个机器执行所述代码时,使得所述机器:
确定多个文件中每一个的有效数据范围和每一个所述有效数据范围的数据块名称,其中所述文件位于在接收到的还原请求中标识的备份实例的目录中;
跟踪一个或多个唯一所述数据块名称,其中至少一个所述数据块名称对应于多个所述有效数据范围;以及
响应于所述还原请求,传送分配给所跟踪的唯一所述数据块名称的所检索的数据块。
7.根据权利要求6所述的非暂时性机器可读介质,其中所述机器可执行代码在由所述机器执行时进一步使得所述机器以反向时间顺序从所述备份实例确定重叠的所述数据范围。
8.根据权利要求7所述的非暂时性机器可读介质,其中,所述备份实例对应于所述还原请求中的多个快照标识符中的一个,并且所述快照标识符表示快照的时间顺序。
9.根据权利要求6所述的非暂时性机器可读介质,其中,所述机器可执行代码在由所述机器执行时进一步使得所述机器按照至少部分地基于相应的一组所述数据块名称的顺序从本地缓存检索一组所述数据块。
10.根据权利要求6所述的非暂时性机器可读介质,其中,所述机器可执行代码在由所述机器执行时进一步使得所述机器将所检索的数据块按照基于相应的所述数据块名称的顺序写入存储介质,以在迁移至少部分所述备份实例到云存储之前创建所述备份实例。
11.一种计算设备,包括:
包含机器可读介质的存储器,包括机器可执行代码,其上存储有用于基于数据块名称的快照中多个文件的还原的指令;以及
处理器,耦合到所述存储器,所述处理器配置为执行所述机器可执行代码以使处理器:
确定多个文件中每一个的有效数据范围和每一个所述有效数据范围的数据块名称,其中所述文件位于在接收到的还原请求中标识的备份实例的目录中;
跟踪一个或多个唯一所述数据块名称,其中至少一个所述数据块名称对应于多个所述有效数据范围;以及
响应于所述还原请求,传送分配给所跟踪的唯一所述数据块名称的所检索的数据块。
12.根据权利要求11所述的计算装置,其中所述处理器进一步配置为执行所述机器可执行代码以使得所述处理器以反向时间顺序从所述备份实例确定重叠的所述数据范围。
13.根据权利要求12所述的计算装置,其中所述备份实例对应于所述还原请求中的多个快照标识符中的一个,并且所述快照标识符表示快照的时间顺序。
14.根据权利要求11所述的计算装置,其中所述处理器进一步配置为执行所述机器可执行代码以使得所述处理器至少部分地基于相应的一组所述数据块名称的顺序从本地缓存检索一组所述数据块。
15.根据权利要求11所述的计算装置,其中所述处理器进一步配置为执行所述机器可执行代码以使得所述处理器将所检索的数据块按照基于相应的所述数据块名称的顺序写入存储介质,以在迁移至少部分所述备份实例到云存储之前创建所述备份实例。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/795,551 US10635548B2 (en) | 2017-10-27 | 2017-10-27 | Data block name based efficient restore of multiple files from deduplicated storage |
US15/795,551 | 2017-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726044A true CN109726044A (zh) | 2019-05-07 |
CN109726044B CN109726044B (zh) | 2022-04-01 |
Family
ID=64082924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811265197.6A Active CN109726044B (zh) | 2017-10-27 | 2018-10-29 | 基于数据块名称从重复数据删除存储中高效还原多个文件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10635548B2 (zh) |
EP (1) | EP3477481B1 (zh) |
CN (1) | CN109726044B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176903A (zh) * | 2019-12-31 | 2020-05-19 | 云汉芯城(上海)互联网科技股份有限公司 | 一种商品数据恢复的方法、系统、设备及可读存储介质 |
CN112052120A (zh) * | 2020-08-27 | 2020-12-08 | 厦门市美亚柏科信息股份有限公司 | 数据库删除数据恢复方法和装置 |
CN113467993A (zh) * | 2021-06-24 | 2021-10-01 | 广东浪潮智慧计算技术有限公司 | 一种云平台资源的还原方法、系统、设备及存储介质 |
CN114218014A (zh) * | 2021-12-21 | 2022-03-22 | 中科豪联(杭州)技术有限公司 | 基于存储卷级的虚拟服务器备份及还原方法 |
CN114879910A (zh) * | 2022-05-13 | 2022-08-09 | 苏州思萃工业互联网技术研究所有限公司 | 分布式块存储底层读写系统及方法 |
CN116522395A (zh) * | 2023-05-22 | 2023-08-01 | 上海汉朔信息科技有限公司 | 对大数据存储系统中的数据文件进行处理的方法及系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346354B2 (en) | 2016-10-28 | 2019-07-09 | Netapp, Inc. | Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh |
US10824589B2 (en) | 2016-10-28 | 2020-11-03 | Netapp, Inc. | Snapshot metadata arrangement for efficient cloud integrated data management |
CN110457083B (zh) * | 2019-07-04 | 2023-07-18 | 深圳市中易通安全芯科技有限公司 | 一种芯片文件系统的启动方法及装置 |
US11620186B1 (en) * | 2020-06-17 | 2023-04-04 | Egnyte, Inc. | System and method for resolving transient and localized errors in a hybrid cloud cache |
US11474913B2 (en) * | 2020-10-19 | 2022-10-18 | EMC IP Holding Company LLC | Restoration of snapshots from cloud using differential snapshot mechanism |
US11880338B2 (en) | 2021-07-22 | 2024-01-23 | EMC IP Holding Company LLC | Hard link handling with directory snapshots |
US11934347B2 (en) * | 2021-07-23 | 2024-03-19 | EMC IP Holding Company LLC | Determining a sharing relationship of a file in namespace snapshots |
US20230119926A1 (en) * | 2021-10-15 | 2023-04-20 | Vmware, Inc. | Supporting random access uploads to an object store |
US12001393B2 (en) | 2021-11-30 | 2024-06-04 | Dell Products L.P. | Directory snapshots based on directory level inode virtualization |
CN115048239A (zh) * | 2022-04-19 | 2022-09-13 | 中银金融科技有限公司 | 数据还原方法、装置、电子设备和存储介质 |
US11977448B2 (en) | 2022-05-25 | 2024-05-07 | Netapp, Inc. | Directory restore from remote object store |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066095A1 (en) * | 2003-09-23 | 2005-03-24 | Sachin Mullick | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US20100094817A1 (en) * | 2008-10-14 | 2010-04-15 | Israel Zvi Ben-Shaul | Storage-network de-duplication |
US8504529B1 (en) * | 2009-06-19 | 2013-08-06 | Netapp, Inc. | System and method for restoring data to a storage device based on a backup image |
CN104616680A (zh) * | 2014-12-25 | 2015-05-13 | 武汉光忆科技有限公司 | 基于光盘存储的重复数据删除系统及数据操作方法、装置 |
US9460102B1 (en) * | 2013-12-26 | 2016-10-04 | Emc Corporation | Managing data deduplication in storage systems based on I/O activities |
US20170123935A1 (en) * | 2015-10-30 | 2017-05-04 | Netapp, Inc. | Cloud object data layout (codl) |
US20170212811A1 (en) * | 2016-01-27 | 2017-07-27 | Dell Software, Inc. | Recovering a specified set of documents from a database backup |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7546432B2 (en) | 2006-05-09 | 2009-06-09 | Emc Corporation | Pass-through write policies of files in distributed storage management |
US8285758B1 (en) | 2007-06-30 | 2012-10-09 | Emc Corporation | Tiering storage between multiple classes of storage on the same container file system |
US7694191B1 (en) | 2007-06-30 | 2010-04-06 | Emc Corporation | Self healing file system |
US8055864B2 (en) | 2007-08-06 | 2011-11-08 | International Business Machines Corporation | Efficient hierarchical storage management of a file system with snapshots |
US9501365B2 (en) | 2009-12-28 | 2016-11-22 | Netapp, Inc. | Cloud-based disaster recovery of backup data and metadata |
US9679040B1 (en) | 2010-05-03 | 2017-06-13 | Panzura, Inc. | Performing deduplication in a distributed filesystem |
US8799413B2 (en) * | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Distributing data for a distributed filesystem across multiple cloud storage systems |
JP2012128644A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
US9020903B1 (en) | 2012-06-29 | 2015-04-28 | Emc Corporation | Recovering duplicate blocks in file systems |
US8620973B1 (en) | 2012-09-25 | 2013-12-31 | Emc Corporation | Creating point-in-time copies of file maps for multiple versions of a production file to preserve file map allocations for the production file |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US10025669B2 (en) | 2014-12-23 | 2018-07-17 | Nuvoton Technology Corporation | Maintaining data-set coherency in non-volatile memory across power interruptions |
US10387263B2 (en) | 2014-12-31 | 2019-08-20 | Netapp, Inc. | Centralized management center for managing storage services |
US9720835B1 (en) | 2015-01-30 | 2017-08-01 | EMC IP Holding Company LLC | Methods to efficiently implement coarse granularity cache eviction based on segment deletion hints |
US10282099B1 (en) | 2017-10-27 | 2019-05-07 | Netapp, Inc. | Intelligent snapshot tiering |
-
2017
- 2017-10-27 US US15/795,551 patent/US10635548B2/en active Active
-
2018
- 2018-10-29 CN CN201811265197.6A patent/CN109726044B/zh active Active
- 2018-10-29 EP EP18203064.3A patent/EP3477481B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066095A1 (en) * | 2003-09-23 | 2005-03-24 | Sachin Mullick | Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server |
US20100094817A1 (en) * | 2008-10-14 | 2010-04-15 | Israel Zvi Ben-Shaul | Storage-network de-duplication |
US8504529B1 (en) * | 2009-06-19 | 2013-08-06 | Netapp, Inc. | System and method for restoring data to a storage device based on a backup image |
US9460102B1 (en) * | 2013-12-26 | 2016-10-04 | Emc Corporation | Managing data deduplication in storage systems based on I/O activities |
CN104616680A (zh) * | 2014-12-25 | 2015-05-13 | 武汉光忆科技有限公司 | 基于光盘存储的重复数据删除系统及数据操作方法、装置 |
US20170123935A1 (en) * | 2015-10-30 | 2017-05-04 | Netapp, Inc. | Cloud object data layout (codl) |
US20170212811A1 (en) * | 2016-01-27 | 2017-07-27 | Dell Software, Inc. | Recovering a specified set of documents from a database backup |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176903A (zh) * | 2019-12-31 | 2020-05-19 | 云汉芯城(上海)互联网科技股份有限公司 | 一种商品数据恢复的方法、系统、设备及可读存储介质 |
CN112052120A (zh) * | 2020-08-27 | 2020-12-08 | 厦门市美亚柏科信息股份有限公司 | 数据库删除数据恢复方法和装置 |
CN112052120B (zh) * | 2020-08-27 | 2022-08-05 | 厦门市美亚柏科信息股份有限公司 | 数据库删除数据恢复方法和装置 |
CN113467993A (zh) * | 2021-06-24 | 2021-10-01 | 广东浪潮智慧计算技术有限公司 | 一种云平台资源的还原方法、系统、设备及存储介质 |
CN114218014A (zh) * | 2021-12-21 | 2022-03-22 | 中科豪联(杭州)技术有限公司 | 基于存储卷级的虚拟服务器备份及还原方法 |
CN114218014B (zh) * | 2021-12-21 | 2022-07-19 | 中科豪联(杭州)技术有限公司 | 基于存储卷级的虚拟服务器备份及还原方法 |
CN114879910A (zh) * | 2022-05-13 | 2022-08-09 | 苏州思萃工业互联网技术研究所有限公司 | 分布式块存储底层读写系统及方法 |
CN114879910B (zh) * | 2022-05-13 | 2023-10-13 | 苏州思萃工业互联网技术研究所有限公司 | 分布式块存储底层读写系统及方法 |
CN116522395A (zh) * | 2023-05-22 | 2023-08-01 | 上海汉朔信息科技有限公司 | 对大数据存储系统中的数据文件进行处理的方法及系统 |
CN116522395B (zh) * | 2023-05-22 | 2023-10-13 | 上海汉朔信息科技有限公司 | 对大数据存储系统中的数据文件进行处理的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190129810A1 (en) | 2019-05-02 |
EP3477481B1 (en) | 2022-01-12 |
US10635548B2 (en) | 2020-04-28 |
EP3477481A3 (en) | 2020-03-25 |
EP3477481A2 (en) | 2019-05-01 |
CN109726044B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726044A (zh) | 基于数据块名称从重复数据删除存储中高效还原多个文件 | |
US12099467B2 (en) | Snapshot metadata arrangement for efficient cloud integrated data management | |
US11188500B2 (en) | Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh | |
US11782886B2 (en) | Incremental virtual machine metadata extraction | |
US8185554B1 (en) | Storage of data with composite hashes in backup systems | |
US8548957B2 (en) | Method and system for recovering missing information at a computing device using a distributed virtual file system | |
US20170315875A1 (en) | Namespace policy based deduplication indexes | |
US20130185258A1 (en) | Unified local storage supporting file and cloud object access | |
US20090006792A1 (en) | System and Method to Identify Changed Data Blocks | |
CN109725851A (zh) | 智能快照分层 | |
US20200364239A1 (en) | Asynchronous replication of in-scope table data | |
US20230394010A1 (en) | File system metadata deduplication | |
GB2439577A (en) | Storing data in streams of varying size | |
US10380141B1 (en) | Fast incremental backup method and system | |
US12067273B2 (en) | Fingerprint-based data mobility across systems with heterogenous block sizes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |