CN110019039A - 元数据分离的容器格式 - Google Patents
元数据分离的容器格式 Download PDFInfo
- Publication number
- CN110019039A CN110019039A CN201810809900.9A CN201810809900A CN110019039A CN 110019039 A CN110019039 A CN 110019039A CN 201810809900 A CN201810809900 A CN 201810809900A CN 110019039 A CN110019039 A CN 110019039A
- Authority
- CN
- China
- Prior art keywords
- file section
- management apparatus
- data management
- data
- metadata
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- 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
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3064—Segmenting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
- H03M7/3095—Data deduplication using variable length segments
Abstract
数据管理设备包括持久存储装置和处理器。持久存储装置包括对象存储装置。处理器将文件分割为文件段。处理器生成文件段的元数据。处理器将一部分文件段存储在对象存储装置的数据对象中。处理器将文件段的一部分元数据存储在对象存储装置的元数据对象中。
Description
技术领域
本公开的各实施例涉及数据管理领域。
背景技术
计算设备生成、使用和存储数据。数据例如可以是与任何文件相 关联的图像、文档、网页或元数据。数据可以本地存储在计算设备的 持久存储装置上和/或可以远程存储在另一计算设备的持久存储装置 上。
发明内容
在一个方面,根据本发明的一个或多个实施例的数据管理设备包 括持久存储装置,其包括对象存储装置和处理器。处理器将文件分割 为文件段,生成文件段的元数据,将一部分文件段存储在对象存储装 置的数据对象中,并将文件段的一部分元数据存储在对象存储装置的 元数据对象中。
在一个方面,根据本发明的一个或多个实施例的操作数据管理设 备的方法包括:通过数据管理设备将文件分割为文件段;通过数据管 理设备生成文件段的元数据;通过数据管理设备将一部分文件段存储 在对象存储装置的数据对象中;以及通过数据管理设备将文件段的元 数据存储在对象存储装置的元数据对象中。
在一个方面,根据本发明的一个或多个实施例的非暂时性计算机 可读介质包括计算机可读程序代码,该计算机可读程序代码在由计算 机处理器执行时使计算机处理器能够执行用于操作数据管理设备的 方法,该方法包括:通过数据管理设备将文件分割为文件段;通过数 据管理设备生成文件段的元数据;通过数据管理设备将一部分文件段 存储在对象存储装置的数据对象中;以及通过数据管理设备将文件段 的元数据存储在对象存储装置的元数据对象中。
附图说明
将参考附图描述本发明的某些实施例。然而,附图仅通过示例的 方式示出了本发明的某些方面或实施方式,而并不意味着对权利要求 的范围加以限制。
图1A示出了根据本发明的一个或多个实施例的系统的图。
图1B示出了根据本发明的一个或多个实施例的对象存储装置的 图。
图2A示出了根据本发明的一个或多个实施例的数据对象的图。
图2B示出了根据本发明的一个或多个实施例的元数据对象的图。
图2C示出了根据本发明的一个或多个实施例的存储在元数据对 象中的元数据的图。
图2D示出了根据本发明的一个或多个实施例的数据关系的图。
图3A示出了根据本发明的一个或多个实施例的文件的图。
图3B示出了根据本发明的一个或多个实施例的文件的文件段与 文件之间的关系的图。
图4A示出了根据本发明的一个或多个实施例的在对象存储装置 中存储数据的方法的流程图。
图4B示出了根据本发明的一个或多个实施例的分割文件的方法 的流程图。
图4C示出了根据本发明的一个或多个实施例的对文件段进行重 复删除(deduplicate)的方法的流程图。
图4D示出了根据本发明的一个或多个实施例的将经重复删除的 文件段存储在数据对象中的方法的流程图。
图4E示出了根据本发明的一个或多个实施例的将经重复删除的 文件段的元数据存储在元数据对象中的方法的流程图。
图5A示出了将数据存储在对象存储装置中的示例的第一部分。
图5B示出了在对象存储装置中存储数据的示例的第二部分。
图5C示出了在对象存储装置中存储数据的示例的第三部分。
具体实施方式
现在将参照附图详细说明本发明的具体实施例。在以下描述中, 会给出众多细节作为本发明的实例。本领域技术人员应理解,可以在 没有这些细节的情况下实施本发明的一个或多个实施例,在不脱离本 发明范围的前提下,可以做出众多变化或修改。某些细节对于本领域 技术人员是熟知的,因此将它们省略以避免使描述模糊。
在以下对附图的说明中,在本发明的多种实施例中参照某个附图 说明的任何部件可以等同于参照任何其他附图说明的一个或多个以 类似方式命名的部件。为了简洁起见,不会参照每个附图重复说明这 些部件。因此,每个附图的部件的每种实施例通过引用结合在此,并 假定其可选地存在于具有一个或多个以类似方式命名的部件的每个 其他附图中。此外,根据本发明的多种实施例,对附图部件的任何说 明应理解为可选的实施例,这种可选的实施例可以是除相对于任何其 他附图中以类似方式命名的相应部件说明的实施例之外的实施例,与 这些实施例结合实施,或者代替这些实施例。
一般来说,本发明的实施例涉及用于管理数据的系统、设备和方 法。更具体来说,所述系统、设备和方法可以减少存储数据所需的存 储量。
在本发明的一个或多个实施例中,数据管理设备可以包括对象存 储装置。所述对象存储装置可以存储两种不同类型的对象。第一种类 型是存储文件各部分的数据对象。文件可以被分割成多个段,这些段 可以被存储在一个或多个数据对象中。第二种类型是存储关于在数据 对象中存储的文件的各部分的信息的元数据对象。关于在元数据对象 中存储的文件的部分(例如段)的信息可以包括文件的各部分的指纹 (例如各段的指纹)以及在数据对象中存储的文件各部分和/或文件的 大小。
在本发明的一个或多个实施例中,对象存储装置可以是重复删除 存储装置。待存储在对象存储装置中的数据可以在存储之前被重复删 除,方式为将待存储的数据分割成文件段,识别出是原先在对象存储 装置中存储的文件段的副本的文件段,删除所识别出的副本文件段并 将其余的文件段存储在对象存储装置的数据对象中。对应于现在存储 的文件段的元数据可以存储在对象存储装置的元数据对象中。在与没 有经过重复删除的存储待存储数据所需的存储空间量相比时,移除副 本文件段可以减少存储待存储数据所需的存储量。
图1示出了根据本发明的一个或多个实施例的系统。该系统可以 包括客户端(100),客户端将数据存储在数据管理设备(110)。客 户端(100)和数据管理设备(110)可以可操作地彼此连接。下文将 论述系统的每一个组件。
客户端(100)可以是计算设备。该计算设备例如可以是移动电 话、平板电脑、笔记本电脑、台式电脑、服务器或云资源。所述计算 设备可以包括一个或多个处理器、存储器(例如随机存取存储器)以 及持久存储装置(例如,硬盘、固态硬盘等)。持久存储装置可以存 储计算机指令例如计算机代码,所述计算机代码在由所述计算设备的 处理器执行时,使得计算设备执行本申请所描述的功能。在不脱离本 发明的前提下,数据管理设备(110)可以是其他类型的计算设备。
客户端(100)可以经编程以将数据存储在数据管理设备(110) 中。更具体来说,客户端(100)可以将数据发送至数据管理设备(110) 进行存储,并且可以请求由数据管理设备(110)所管理的数据。数 据管理设备(110)可以存储数据或响应于此类请求而提供所请求的 数据。
数据管理设备(110)可以是计算设备。该计算设备例如可以是 移动电话、平板电脑、笔记本电脑、台式电脑、服务器或云资源。所 述计算设备可以包括一个或多个处理器、存储器(例如随机存取存储 器)以及持久存储装置(例如,硬盘、固态硬盘等)。持久存储装置 可以存储计算机指令例如计算机代码,所述计算机代码在由计算设备 的处理器执行时,使得计算设备执行本申请所描述和至少图4A至图 4E中所示的功能。在不脱离本发明的前提下,数据管理设备(110) 可以是其他类型的计算设备。
数据管理设备(110)可以包括持久存储装置(120)和对象生成 器。数据管理设备(110)的每个组件在下文论述。
数据管理设备(110)可以包括持久存储装置(120)。持久存储 装置(120)可以包括物理存储设备。物理存储设备例如可以是硬盘、 固态硬盘、支持随机存取的磁带或任何其他类型的持久存储介质。持 久存储装置(120)可以包括任何数量和/或组合的物理存储设备。
持久存储装置(120)可以包括用于存储来自客户端(100)的数 据的对象存储装置(130)。如本文所使用,对象存储装置是将数据 作为对象管理的数据存储架构。每个对象可以包括用于在该对象中存 储数据的数个字节。在本发明的一个或多个实施例中,对象存储装置 不包括文件系统。而是,可以使用命名空间(125)来组织在对象存 储装置中存储的数据。关于对象存储装置(130)的其他细节见图1B。
持久存储装置(120)可以包括命名空间(125)。命名空间(125) 可以是存储在持久存储装置(120)的物理存储设备上的数据结构, 用于组织物理存储设备的数据存储资源。
在本发明的一个或多个实施例中,命名空间(125)可以将文件 与在持久存储装置中存储的文件菜单(file recipe)相关联。文件菜单 可以用于使用在对象存储装置(130)中存储的文件段来产生在对象 存储装置(130)中存储的文件。每一个文件菜单可以包括使得数个 文件段从对象存储装置中被提取的信息。然后所提取的文件段可以用 于生成在对象存储装置中存储的文件。关于文件段的其他细节,请见 图2A、图3A和图3B。
数据管理可以包括对象生成器(150)。对象生成器(150)可以 生成在对象存储装置(130)中存储的对象。对象生成器(150)可以 生成不同类型的对象。更具体来说,对象生成器(150)可以生成存 储文件段的数据对象以及存储关于在数据对象中存储的文件段的元 数据对象。关于在数据对象和元数据对象的其他细节,请见图2A至 图2D。
在本发明的一个或多个实施例中,对象生成器(150)可以是物 理器件。物理器件可以包括电路。物理器件例如可以是场可编程门阵 列、特殊应用集成电路、可编程处理器、微控制器、数字信号处理器 或其他硬件处理器。物理器件可以调试以提供在本申请中所描述的功 能并执行在图4A至图4E中所示的方法。
在本发明的一个或多个实施例中,对象生成器(150)可以实施 为存储在持久存储装置上的计算机指令(例如计算机代码),所述计 算机指令在由数据管理设备(110)的处理器执行时使得数据管理设 备(110)提供本申请所描述的功能并执行在图4A至图4E中所示的 方法。
如上所论述,对象生成器(150)可以生成在对象存储装置(130) 中存储的对象。图1B示出了根据本发明的一种或多种实施例的对象 存储装置(130)的图示。对象存储装置(130)可以是将所存储的数 据组织成对象的数据结构。
在本发明的一个或多个实施例中,对象存储装置(130)可以包 括数据对象(132A)和元数据对象(133A)。数据对象(132A)可 以包括文件的文件段。元数据对象(133A)可以包括关于在数据对象 (132A)中存储的文件段的元数据。
图2A示出了根据本发明的一个或多个实施例的数据对象的实例。 数据对象A(132B)可以包括标识符(200)、压缩区域描述(205) 以及压缩区域(210A)。
标识符(200)可以是名称、位序列或用于识别该数据对象的其 他信息。标识符(200)可以唯一地将数据与来自本地对象存储装置 的其他对象区别开来。
压缩区域描述(205)可以包括关于压缩区域(210A)的描述信 息。压缩区域描述(205)可以包括使得在压缩区域(210A)中存储 的文件段被读取的信息。压缩区域描述(205)可以包括例如说明在 压缩区域中存储的每一个文件段的开头、每一个文件段的长度和/或每 一个文件段的末尾的信息。在不脱离本发明的前提下,压缩区域描述 (205)可以包括其他信息。
压缩区域(210A)可以包括任何数目的文件段(210B至210N)。 压缩区域(210A)的文件段可以集合在一起。压缩区域(210A)可 以被压缩。压缩区域(210A)的压缩可以是无损耗压缩。
图2B示出了根据本发明的一个或多个实施例的元数据对象的实 例。元数据对象A(133B)可以包括标识符(220)、元数据区域描 述(225)以及元数据区域(230A)。
标识符(220)可以是名称、位序列或用于识别该数据对象的其 他信息。标识符(220)可以唯一地将数据与来自本地对象存储装置 的其他对象区别开来。
元数据区域描述(225)可以包括关于元数据区域(230A)的描 述信息。元数据区域描述(225)可以包括使得在元数据区域(230A) 中存储的文件段元数据被读取的信息。元数据区域描述(225)可以 包括例如说明在元数据区域(230A)中存储的每一个文件段元数据的 开头、每一个文件段元数据的长度和/或每一个文件段元数据的末尾的 信息。在不脱离本发明的前提下,元数据区域描述(225)可以包括 其他信息。
元数据区域(230A)可以包括在对象存储装置的一个或多个数据 对象中存储的文件段的文件段元数据(230B至230N)。在元数据区 域(230A)中存储的文件段元数据可以集成在一起。在本发明的一个 或多个实施例中,元数据区域(230A)没有被压缩。
图2C示出了根据本发明的一个或多个实施例的文件段元数据的 实例。文件段A元数据(230B)包括关于在对象存储装置的数据对 象中存储的关联文件段的元数据。文件段A元数据(230B)包括文 件段A指纹(250)和文件段A(255)的大小。文件段A元数据(230B) 可以包括关联文件段的指纹。文件段A(255)的大小可以说明关联 文件段的大小。
如本文所使用,文件段的指纹可以是实质上唯一地从在对象存储 装置中存储的其他文件段识别出该文件段的位序列。如在本文所使用, 实质上唯一就意味着,与导致致命失误的其他不可避免的缘由相比, 在包括不同数据的两个文件段的各个指纹之间发生碰撞的概率可以 忽略不计。在本发明的一个或多个实施例中,概率是10的-20次方 (10^-20)或更低。在本发明的一个或多个实施例中,不可避免的致 命失误可能由自然力诸如例如飓风所导致。换言之,说明不同数据的 任何两个文件段的指纹实质上将是永远不会相同的。
在对象存储装置中存储的文件段的指纹可以用于对文件进行重 复删除以便存储在对象存储装置中。为了进一步厘清文件、文件段和 指纹之间的关系,图2D、图3A和图3B包括这些关系的图形表示。
更具体来说,图2D示出根据本发明的一个或多个实施例的在元 数据的文件段、文件段的元数据和元数据的指纹之间的关系图示。
如从图中可见,在关于在对象存储装置中存储的文件段的元数据 与在对象存储装置中存储的文件段之间存在一对一关系。换言之,对 于在对象存储装置的数据对象中存储的实例文件段A(271)来说, 关联文件段A元数据(270)将会被存储在元数据对象存储装置中。 文件段A(271)的单一副本和文件段A元数据(270)将会被存储在 对象存储装置中。
此外,如从图2D中所见,在文件段与指纹之间存在一对多关系。 更具体来说,不同文件的文件段或同一文件的不同段可以具有相同的 指纹。例如,如果第一文件的文件段A(271)和第二文件的文件段B (272)包括相同数据的话,两者可以具有相同的指纹A(275)。
图3A示出了根据本发明的一个或多个实施例的文件(300)的图 示。该文件可以包括数据。该数据可以是任何类型的数据,可以是任 何格式,可以是任何长度。
图3B设计出该数据的文件(300)的文件段(310-318)的图示。 每一个文件段可以包括该文件(300)的独立的相异的部分。所述文 件段中的每一个可以是不同但相似的长度。例如,每一个文件段可以 包括大约8千字节的数据,如,第一文件段可以包括8.03千字节的数 据,第二文件段可以包括7.96千字节的数据,等等。在本发明的一个 或多个实施例中,每一个文件段的平均数据量在7.95千字节与8.05 千字节之间。可以使用在图4B中所示的方法来将文件分解成文件段。
如上文所论述,数据管理设备(110,图1A)可以从客户端(100, 图1A)接收数据来存储。数据管理设备(110,图1A)可以将数据 存储在对象存储装置(130,图1A)中。图4A至图4E示出将数据存 储在对象存储装置(130,图1A)中的方法的流程图。
图4A示出了根据本发明的一个或多个实施例的方法的流程图。 图4A所示的方法可以用于根据本发明一个或多个实施例在对象存储 装置中存储数据。图4A中所示的方法例如可以通过对象生成器(150, 图1A)来执行。在不脱离本发明的前提下,数据管理设备(110)的 其他组件或所示系统可以执行在图4A中所示的方法。
在步骤400中,获得文件进行存储。可以通过从客户端接收说明 该文件的文件存储请求来获得该文件。
在步骤410中,将该文件分割以获得文件段。可以通过执行在图 4B中所示的方法分割该文件来获得文件段。图4B。在不脱离本发明 的前提下,可以使用不同于在图4B中所示方法的方法来分割该文件 获得文件段。
在步骤420中,对所述文件段重复删除。可以使用图4C中所示 的方法来对文件段重复删除。在不脱离本发明的前提下,可以使用不 同于在图4C中所示的方法来对文件段重复删除。
在步骤430中,经重复删除的文件段被存储在数据对象中。可以 使用在图4D中所示的方法来将所述文件段存储在数据对象中。在不 脱离本发明的前提下,可以使用不同于在图4D中所示的方法来将文 件段存储在数据对象中。
在步骤440中,将经重复删除的文件段的元数据存储在元数据对 象中。可以使用在图4E中所示的方法来将经重复删除的文件段的元 数据存储在元数据对象中。在不脱离本发明的前提下,可以使用不同 于在图4C中所示的方法来将经重复删除的文件段的元数据存储在元 数据对象中。
方法可在步骤440之后结束。
图4B示出了根据本发明的一种或多种实施例的方法的流程图。 根据本发明一个或多个实施例,图4B中所示的方法可以用于存储文 件的文件段。图4A中所示的方法例如可以通过对象生成器(150,图 1A)来执行。在不脱离本发明的前提下,数据管理设备(110)的其 他组件或所示系统可以执行在图4B中所示的方法。
在步骤401中,选择文件的未处理窗口。如本文所使用,该文件 的一部分的窗口是该文件的预定数目的位。例如,第一窗口可以是文 件的前1024个位,第二窗口可以是该文件的从该文件的第二位开始 的1024个位,第三窗口可以是从第三位开始的1024个位,等等。该 文件的每一个窗口可以被认为在图4B所示方法的开始阶段是未处理 的。
在步骤402中,获得由未处理窗口指定的文件的一部分的散列 (hash)。在本发明的一个或多个实施例中,该散列可以是加密散列。 在本发明的一个或多个实施例中,加密散列是安全散列算法1(SHA-1) 散列。在本发明的一个或多个实施例中,该加密散列是安全散列算法 2(SHA-2)或安全散列算法3(SHA-3)散列。在不脱离本发明的前 提下,也可以使用其他散列。
在步骤403中,将散列与预定位序列进行比较。如果散列匹配该 预定位序列,方法前进至步骤404。如果散列不匹配该预定位序列, 方法前进至步骤405。
在本发明一个或多个实施例中,该预定位序列包括与散列相同数 目的位。该预定位序列可以是任何位图案。每当将散列与在图4B中 所示方法中的位序列进行比较时,可以使用相同的位图案。
在步骤404中,可以基于所选择的未处理窗口来生成分段断点。 该分段断点可以指定该文件的一个位。该文件的所述位可以是由该未 处理窗口所指定的该文件的第一位。
在步骤405中,所选的未处理窗口被标记为已处理。通过例如将 指定该文件的一个位的书签递增至该文件的下一个位,可以将所选的 未处理窗口标记为未处理。
在步骤406中,确定是否该文件的所有窗口都为已处理的。如果 该文件的所有窗口都为已处理的,方法前进至步骤407。如果并不是 该文件的所有窗口都为已处理的,方法前进至步骤401。
在本发明的一个或多个实施例中,可以使用窗口长度和指定该文 件的位的书签来确定是否所有窗口都为已处理的。具体来说,可以使 用书签和窗口长度来确定是否窗口超过了文件的长度。
在步骤407中,使用分段断点将文件分割成文件段。如上所论述, 分段断点可以指定文件的位。可以将文件分割成在每个断点开始和结 束的文件段。
方法可在步骤407之后结束。
在本发明的一个或多个实施例中,图4B中所示的方法可以描述 为执行该文件的滚动散列(rolling hash)。执行该滚动散列可以生成 对应于该文件的部分的散列,即位序列。该文件的每一个部分可以在 该文件的不同位开始,并且包括相同数目的位。可以将所生成的散列 中的每一个与预定的位序列比较,从而生成分段断点。每当使用在图 4B中所示方法来分割文件时,可以在步骤403中使用相同的预定位 序列。在步骤403中使用相同的位序列将增加每次分割同一文件的副 本时文件被以相似方式分割的机会。
图4C示出了根据本发明的一个或多个实施例的方法的流程图。 根据本发明一个或多个实施例,图4C中所示的方法可以用于对文件 的文件段重复删除。图4C中所示的方法例如可以通过对象生成器 (150,图1A)来执行。在不脱离本发明的前提下,数据管理设备(110) 的其他组件或所示系统可以执行在图4C中所示的方法。
在步骤411中,选择文件的未处理文件段。在图4C中所示方法 的开始处,文件的所有文件段可以被认为是未处理的。
在步骤412中,生成所选的未处理文件段的指纹。在本发明的一 个或多个实施例中,使用拉宾(Rabin)指纹算法来生成未处理的文 件段的指纹。在本发明的一个或多个实施例中,使用加密散列函数来 生成未处理的文件段的指纹。该加密散列函数例如可以是信息摘要 (MD)或安全散列算法(SHA)。信息MD算法可以是MD5。SHA 可以是SHA-0、SHA-1、SHA-2或SHA-3。在不脱离本发明的前提下, 也可以使用其他指纹算法。
在步骤413中,确定所生成的指纹是否匹配在对象存储装置中存 储的现有的指纹。如果所生成的指纹匹配现有的指纹,方法前进至步 骤414。如果所生成的指纹不匹配现有的指纹,方法前进至步骤405。
在本发明的一个或多个实施例中,所生成的指纹仅匹配到在对象 存储装置中存储的指纹的一部分。例如,可以仅将对象存储装置的元 数据对象的一部分中存储的指纹载入到存储器中,并将其用作与所生 成的指纹进行比较的基础。
在步骤414中,将所选的未处理文件段标记为副本。
在步骤415中,将所选的未处理文件段标记为已处理。
在步骤416中,确定是否该文件的所有文件段都为已处理的。如 果该文件的文件段的所有窗口为已处理的,方法可前进至步骤417。 如果该文件的文件段的所有窗口为未处理的,方法可前进至步骤411。
在步骤417中,所有被标记为副本的文件段被删除。其余文件 段——即在步骤417中没有被删除的文件段——为重复删除的文件段。
方法可在步骤417之后结束。
尽管在图4C中示出通过识别出重复段的群组然后删除这些段的 方式来执行重复删除过程,但是在不脱离本发明的前提下也可以使用 不是以批次过程来执行的其他方法。例如,不论何时在步骤413中识 别出指纹与现有指纹不匹配,可以将对应文件段存储在数据对象中。 换言之,在不脱离本发明的前提下,可以使用连续流水线方法而不是 批次方法。
图4D示出了根据本发明的一个或多个实施例的方法的流程图。 根据本发明一个或多个实施例,图4D中所示的方法可以用于将重复 删除的文件段存储在对象存储装置中。图4D中所示的方法例如可以 通过对象生成器(150,图1A)来执行。在不脱离本发明的前提下, 数据管理设备(110)的其他组件或所示系统可以执行在图4A中所示 的方法。
在步骤421中,选择未处理的重复删除的文件段。在图4C中所 示方法的开始处,文件的所有文件段可以被认为是未处理的。在图4D 中所示的方法的开始处,可以将所有的文件段认为是未处理的。
在步骤422中,将所选的未处理的重复删除的文件段添加到数据 对象中。
在本发明的一个或多个实施例中,可以将所选的未处理的重复删 除的文件段添加到数据对象的压缩区域中。未处理的重复删除的文件 段可以先被压缩,然后再被添加到压缩区域。该数据对象的压缩区域 描述可以基于添加而更新。更具体来说,在该数据对象内的重复删除 的文件段的开始、长度和/或末尾可以被添加到压缩区域描述中。在不 脱离本发明的前提下,可以将不同的信息添加到压缩区域描述中以更 新压缩区域描述。
在步骤423中,确定该数据对象是否已满。如果该数据对象已满, 方法前进至步骤424。如果该数据对象未满,方法前进至步骤425。
可以基于在压缩区域中存储的数据的量来确定数据对象已满。更 具体来说,可以基于存储压缩区域的被压缩的文件段所需的字节数来 进行该确定。位的数目可以是预定数量的位,诸如例如5兆字节。
在步骤424中,将该数据对象存储在对象存储装置中。
在本发明的一个或多个实施例中,可以先将压缩区域的文件段压 缩然后再将数据对象存储在对象存储装置中。
在步骤425中,所选的未处理的重复删除的文件段被标记为已处 理的。
在步骤426中,确定是否所有的重复删除文件段都为已处理的。 如果所有的重复删除文件段都为已处理的,方法可以在步骤426之后 结束。如果不是所有的重复删除文件段都为已处理的,方法可前进至 步骤421。
图4E示出了根据本发明的一个或多个实施例的方法的流程图。 图4E所示的方法可以用于根据本发明一个或多个实施例将元数据存 储在对象存储装置中。图4E中所示的方法例如可以通过对象生成器 (150,图1A)来执行。在不脱离本发明的前提下,数据管理设备(110) 的其他组件或所示系统可以执行在图4E中所示的方法。
在步骤431中,选择未处理的重复删除的文件段。在图4C中所 示方法的开始处,文件的所有文件段可以被认为是未处理的。
在步骤432中,将所选择的未处理的重复删除的文件段的指纹添 加到元数据对象。
在本发明的一个或多个实施例中,所选的未处理的重复删除的文 件段的指纹可以被添加到元数据对象的元数据区域。该元数据对象的 元数据区域描述可以基于所述添加来更新。更具体来说,在该数据对 象内的指纹的开始、长度和/或末尾可以被添加到元数据区域描述中。 在不脱离本发明的前提下,可以将不同的信息添加到元数据区域描述 中以更新该元数据区域描述。例如,在不脱离本发明的前提下,除指 纹以外,可以将所选择的未处理的重复删除的文件段的大小添加到元 数据区域。
在步骤433中,确定元数据对象是否已满。如果元数据对象已满, 方法前进至步骤434。如果元数据对象未满,方法前进至步骤435。
可以基于在元数据区域中存储的数据的量来将该元数据对象确 定为已满。更具体来说,可以基于存储该元数据区域的元数据所需的 字节数来做出该确定。位的数目可以是预定数量的位,诸如例如5兆 字节。
在步骤434中,该元数据对象被存储在对象存储装置中。
在步骤435中,将所选择的未处理的重复删除的文件段标记为已 处理的。
在步骤436中,确定是否所有的重复删除的文件段都是已处理的。 如果所有的重复删除的文件段都是已处理的,方法可以在步骤436之 后结束。如果不是所有的重复删除的文件段是已处理的,方法可以在 步骤431之后结束。
尽管在图4D和图4E中图示为独立的方法,本发明的实施例不限 于独立执行的方法。例如,两种方法可以同时执行。步骤432-435可 以同图4D中的步骤422-425协调执行。
以下为一解释性实例。包括该解释性实例,是出于解释性目的而 非限制性。
实例
客户端将数据存储请求发送至数据管理设备。如图5A所示,该 数据存储请求指定文本文档500。
响应于该数据存储请求,数据管理设备获得所请求的文本文档 500。该文本文档例如可以是包括记录项目状态的报告的最终草稿的 词语文档。记录项目状态的报告的之前的草稿已经存储在数据管理设 备中。
该数据管理设备将该文件分割成第一文件段(501)、第二文件 段(502)以及第三文件段(503)。该数据管理设备生成第一文件段 (501)的第一指纹(511)、第二文件段(502)的第二指纹(512) 以及第三文件段(503)的第三指纹(513)。第一文件段包括相对于 报告的草稿没有变化的该报告的介绍性部分。第二文件段包括相对于 报告的草稿发生变化的该报告的所要求的材料部分。第三文件段包括 相对于报告的草稿发生变化的项目完成时间线。
然后将文件段(511-513)重复删除。在图5B所示的重复删除期 间,该数据管理设备将第一指纹(511)匹配到该草稿报告的包括报 告的介绍性部分的第一段所对应的存储的指纹(515)。第二指纹(512) 和第三指纹(513)不匹配在对象存储装置中的任何指纹。
基于该匹配,只有第二文件段(502)和第三文件段(503)被添 加到数据对象(520)中以存储在对象存储装置中,如图5C所示。第 一文件段(501)被删除。相似地,只有第二指纹(512)和第三指纹 (513)被添加到对象存储装置的元数据对象(550)中。
在数据对象(520)和元数据对象(550)存储在对象存储装置中 之后,该实例结束。
可以使用由在数据存储设备中的一个或多个处理器执行的指令 来实施本发明的一个或多个实施例。另外,此类指令可以对应于在一 个或多个非暂时性计算机可读介质上存储的计算机可读指令。
本发明的一个或多个实施例可以实现以下中的一种或多种:1) 与在同一对象中存储数据和元数据的对象存储相比时,减少对文件重 复删除所需的磁盘输入输出(IO)操作数量;2)与在同一对象中存 储数据和元数据的对象存储相比时,减少执行垃圾收集所需的磁盘输 入输出(IO)操作数量;以及3)减少当该对象存储的一部分利用远 程计算设备的数据存储时执行重复删除所用的带宽。
虽然本发明是参照有限数量的实施例说明的,但是受益于本公开 的本领域技术人员能理解,可以设计出不脱离本文中所公开的本发明 范围的其他实施方式。因此,本发明的范围仅由所附权利要求限定。
Claims (20)
1.一种数据管理设备,包括:
持久存储装置,包括对象存储装置;和
处理器,被编程为:
将文件分割为多个文件段;
生成所述多个文件段的元数据;
将所述多个文件段的一部分存储在所述对象存储装置的数据对象中;和
将所述多个文件段的所述元数据的一部分存储在所述对象存储装置的元数据对象中。
2.根据权利要求1所述的数据管理设备,其中所述数据对象包括:
与所述文件相关联的第一多个文件段;和
与第二文件相关联的第二多个文件段。
3.根据权利要求2所述的数据管理设备,其中所述数据对象包括:
压缩区域描述符,其指定包括所述第一多个文件段和所述第二多个文件段的压缩区域的内容。
4.根据权利要求3所述的数据管理设备,其中压缩区域被压缩。
5.根据权利要求1所述的数据管理设备,其中所述元数据对象包括:
所述多个文件段的所述元数据;和
与第二文件相关联的文件段的元数据。
6.根据权利要求5所述的数据管理设备,其中所述经重复删除的文件段的所述元数据包括:
所述多个文件段的文件段的指纹;和
所述多个文件段的所述文件段的大小。
7.根据权利要求5所述的数据管理设备,其中所述元数据对象包括:
元数据区域描述符,其指定包括所述多个文件段的所述元数据和与所述第二文件相关联的所述文件段的所述元数据的元数据区域的内容。
8.根据权利要求7所述的数据管理设备,其中所述元数据区域不被压缩。
9.根据权利要求1所述的数据管理设备,其中将所述文件分割为多个文件段包括:
生成所述文件的滚动散列;
基于所述滚动散列来选择多个分段断点;和
基于所述分段断点来将所述文件划分为所述多个文件段。
10.根据权利要求1所述的数据管理设备,其中生成所述多个文件段的元数据包括:
生成所述多个文件段中的第一文件段的指纹;
将所述指纹与存储在所述对象存储装置中的第二多个指纹进行匹配;
做出所述指纹与所述第二多个指纹的指纹相匹配的确定;和
基于所述确定来删除所述第一文件段。
11.根据权利要求10所述的数据管理设备,其中所述第二多个指纹存储在所述对象存储装置的数据对象中,所述数据对象不包括存储在所述对象存储装置中的任何文件的文件段。
12.根据权利要求1所述的数据管理设备,其中生成所述多个文件段的元数据包括:
生成所述多个文件段中的第一文件段的指纹;
将所述指纹与存储在所述对象存储装置中的第二多个指纹进行匹配;
做出所述指纹与所述第二多个指纹的指纹不匹配的确定;和
选择所述数据对象中的所述第一文件段以用于存储。
13.根据权利要求1所述的数据管理设备,其中将所述多个文件段的所述部分存储在所述对象存储装置的所述数据对象中包括:
将所述多个文件段中的第一文件段添加到第一数据对象;
基于所述第一文件段的添加来做出所述第一数据对象已满的确定;
响应于所述确定,将所述第一数据对象存储在所述对象存储装置中;和
将所述多个文件段中的第二文件段添加到未满的第二数据对象。
14.根据权利要求1所述的数据管理设备,其中将所述多个文件段的所述元数据的所述部分存储在所述对象存储装置的所述元数据对象中包括:
将所述多个文件段中的第一文件段的指纹添加到所述元数据对象;
基于所述第一文件段的所述指纹的添加来做出所述第一元数据对象未满的确定;和
响应于所述确定,将所述多个文件段中的第二文件段的指纹添加到所述元数据对象。
15.一种操作数据管理设备的方法,包括:
通过所述数据管理设备,将文件分割为多个文件段;
通过所述数据管理设备,生成所述多个文件段的元数据;
通过所述数据管理设备,将所述多个文件段的一部分存储在对象存储装置的数据对象中;和
通过所述数据管理设备,将所述多个文件段的元数据存储在所述对象存储装置的元数据对象中。
16.根据权利要求15所述的方法,其中通过所述数据管理设备生成所述多个文件段的元数据包括:
通过所述数据管理设备,生成所述多个文件段中的第一文件段的指纹;
通过所述数据管理设备,将所述指纹与存储在所述对象存储装置的元数据对象中的第二多个指纹进行匹配;
通过所述数据管理设备,做出所述指纹与所述第二多个指纹的指纹相匹配的确定;和
通过所述数据管理设备,基于所述确定来删除所述第一文件段。
17.根据权利要求15所述的方法,其中通过所述数据管理设备将所述多个文件段的所述部分存储在所述对象存储装置的所述数据对象中包括:
通过所述数据管理设备,将所述多个文件段中的第一文件段添加到所述对象存储装置的所述数据对象;
通过所述数据管理设备,基于所述第一文件段的添加来做出所述第一数据对象已满的确定;
响应于所述确定,通过所述数据管理设备,将所述第一数据对象存储在所述对象存储装置中;和
通过所述数据管理设备,基于所述第一数据对象被存储在所述对象存储装置中来将所述多个文件段中的第二文件段添加到未满的第二数据对象。
18.一种包括计算机可读程序代码的非暂时性计算机可读介质,所述计算机可读程序代码在由计算机处理器执行时使所述计算机处理器能够执行用于操作数据管理设备的方法,所述方法包括:
通过所述数据管理设备,将文件分割为多个文件段;
通过所述数据管理设备,生成所述多个文件段的元数据;
通过所述数据管理设备,将所述多个文件段的一部分存储在对象存储装置的数据对象中;和
通过所述数据管理设备,将所述多个文件段的元数据存储在所述对象存储装置的元数据对象中。
19.根据权利要求18所述的非暂时性计算机可读介质,其中通过所述数据管理设备生成所述多个文件段的元数据包括:
通过所述数据管理设备,生成所述多个文件段中的第一文件段的指纹;
通过所述数据管理设备,将所述指纹与存储在所述对象存储装置的元数据对象中的第二多个指纹进行匹配;
通过所述数据管理设备,做出所述指纹与所述第二多个指纹的指纹相匹配的确定;和
通过所述数据管理设备,基于所述确定来删除所述第一文件段。
20.根据权利要求18所述的非暂时性计算机可读介质,其中通过所述数据管理设备将所述多个文件段的所述部分存储在所述对象存储装置的所述数据对象中包括:
通过所述数据管理设备,将所述多个文件段中的第一文件段添加到所述对象存储装置的所述数据对象;
通过所述数据管理设备,基于所述第一文件段的添加来做出所述第一数据对象已满的确定;
响应于所述确定,通过所述数据管理设备,将所述第一数据对象存储在所述对象存储装置中;和
通过所述数据管理设备,基于所述第一数据对象被存储在所述对象存储装置中来将所述多个文件段中的第二文件段添加到未满的第二数据对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/656,338 | 2017-07-21 | ||
US15/656,338 US11461269B2 (en) | 2017-07-21 | 2017-07-21 | Metadata separated container format |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019039A true CN110019039A (zh) | 2019-07-16 |
CN110019039B CN110019039B (zh) | 2023-08-11 |
Family
ID=63014457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810809900.9A Active CN110019039B (zh) | 2017-07-21 | 2018-07-23 | 元数据分离的容器格式 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11461269B2 (zh) |
EP (1) | EP3432168B1 (zh) |
CN (1) | CN110019039B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6860037B2 (ja) * | 2019-05-20 | 2021-04-14 | 日本電気株式会社 | 重複排除記憶方法、重複排除記憶制御装置、重複排除ストレージシステム、プログラム |
US11861169B2 (en) * | 2020-06-26 | 2024-01-02 | Netapp, Inc. | Layout format for compressed data |
US20220237176A1 (en) * | 2021-01-27 | 2022-07-28 | EMC IP Holding Company LLC | Method and system for managing changes of records on hosts |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185149A1 (en) * | 2010-01-27 | 2011-07-28 | International Business Machines Corporation | Data deduplication for streaming sequential data storage applications |
CN102567427A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种对象数据处理方法及装置 |
CN103812939A (zh) * | 2014-02-17 | 2014-05-21 | 李漾 | 一种大数据存储系统 |
CN105511814A (zh) * | 2015-12-11 | 2016-04-20 | 上海爱数信息技术股份有限公司 | 一种静态数据文件的存储方法 |
Family Cites Families (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976134B1 (en) | 2001-09-28 | 2005-12-13 | Emc Corporation | Pooling and provisioning storage resources in a storage network |
IL147073A0 (en) | 2001-12-10 | 2002-08-14 | Monosphere Ltd | Method for managing the storage resources attached to a data network |
CA2384185A1 (en) | 2002-04-29 | 2003-10-29 | Ibm Canada Limited-Ibm Canada Limitee | Resizable cache sensitive hash table |
US6928526B1 (en) | 2002-12-20 | 2005-08-09 | Datadomain, Inc. | Efficient data storage system |
JP2005165486A (ja) | 2003-12-01 | 2005-06-23 | Sony Corp | ファイル管理装置、ストレージ管理システム、ストレージ管理方法、プログラム及び記録媒体 |
US7284093B2 (en) | 2004-01-16 | 2007-10-16 | International Business Machines Corporation | Self-tuning cache |
US7117310B2 (en) | 2004-02-18 | 2006-10-03 | Lsi Logic Corporation | Systems and methods for cache synchronization between redundant storage controllers |
US7818515B1 (en) | 2004-08-10 | 2010-10-19 | Symantec Operating Corporation | System and method for enforcing device grouping rules for storage virtualization |
US8739020B2 (en) | 2005-08-03 | 2014-05-27 | Aol Inc. | Enhanced favorites service for web browsers and web applications |
US7536500B2 (en) | 2006-09-29 | 2009-05-19 | Intel Corporation | Header blocks for flash memory writes |
US8214517B2 (en) | 2006-12-01 | 2012-07-03 | Nec Laboratories America, Inc. | Methods and systems for quick and efficient data management and/or processing |
US7844581B2 (en) | 2006-12-01 | 2010-11-30 | Nec Laboratories America, Inc. | Methods and systems for data management using multiple selection criteria |
JP2008217216A (ja) | 2007-03-01 | 2008-09-18 | Hitachi Ltd | 負荷分散方法及び計算機システム |
US7769971B2 (en) | 2007-03-29 | 2010-08-03 | Data Center Technologies | Replication and restoration of single-instance storage pools |
US8768895B2 (en) * | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
US8190835B1 (en) | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
WO2009087413A1 (en) | 2008-01-08 | 2009-07-16 | Taptu Ltd. | Data storage |
US8515909B2 (en) | 2008-04-29 | 2013-08-20 | International Business Machines Corporation | Enhanced method and system for assuring integrity of deduplicated data |
US8204868B1 (en) | 2008-06-30 | 2012-06-19 | Symantec Operating Corporation | Method and system for improving performance with single-instance-storage volumes by leveraging data locality |
US8046551B1 (en) | 2008-08-14 | 2011-10-25 | Emc Corporation | Techniques for processing I/O requests |
US8316064B2 (en) | 2008-08-25 | 2012-11-20 | Emc Corporation | Method and apparatus for managing data objects of a data storage system |
WO2010045262A1 (en) | 2008-10-14 | 2010-04-22 | Wanova Technologies, Ltd. | Storage-network de-duplication |
US8060715B2 (en) | 2009-03-31 | 2011-11-15 | Symantec Corporation | Systems and methods for controlling initialization of a fingerprint cache for data deduplication |
US20110055471A1 (en) | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8484414B2 (en) | 2009-08-31 | 2013-07-09 | Hitachi, Ltd. | Storage system having plurality of flash packages |
US8321648B2 (en) | 2009-10-26 | 2012-11-27 | Netapp, Inc | Use of similarity hash to route data for improved deduplication in a storage server cluster |
US8121993B2 (en) | 2009-10-28 | 2012-02-21 | Oracle America, Inc. | Data sharing and recovery within a network of untrusted storage devices using data object fingerprinting |
US8782323B2 (en) | 2009-10-30 | 2014-07-15 | International Business Machines Corporation | Data storage management using a distributed cache scheme |
US9514055B2 (en) | 2009-12-31 | 2016-12-06 | Seagate Technology Llc | Distributed media cache for data storage systems |
US8468455B2 (en) | 2010-02-24 | 2013-06-18 | Novell, Inc. | System and method for providing virtual desktop extensions on a client desktop |
US8805967B2 (en) | 2010-05-03 | 2014-08-12 | Panzura, Inc. | Providing disaster recovery for a distributed filesystem |
US8935487B2 (en) | 2010-05-05 | 2015-01-13 | Microsoft Corporation | Fast and low-RAM-footprint indexing for data deduplication |
US8898114B1 (en) | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
US8577850B1 (en) | 2010-11-15 | 2013-11-05 | Symantec Corporation | Techniques for global data deduplication |
US8396841B1 (en) | 2010-11-30 | 2013-03-12 | Symantec Corporation | Method and system of multi-level and multi-mode cloud-based deduplication |
US8904120B1 (en) | 2010-12-15 | 2014-12-02 | Netapp Inc. | Segmented fingerprint datastore and scaling a fingerprint datastore in de-duplication environments |
US8898119B2 (en) | 2010-12-15 | 2014-11-25 | Netapp, Inc. | Fingerprints datastore and stale fingerprint removal in de-duplication environments |
US9442671B1 (en) | 2010-12-23 | 2016-09-13 | Emc Corporation | Distributed consumer cloud storage system |
US9280550B1 (en) | 2010-12-31 | 2016-03-08 | Emc Corporation | Efficient storage tiering |
US8676834B2 (en) | 2011-02-16 | 2014-03-18 | International Business Machines Corporation | Set-level comparisons in dynamically formed groups |
US8341312B2 (en) | 2011-04-29 | 2012-12-25 | International Business Machines Corporation | System, method and program product to manage transfer of data to resolve overload of a storage system |
US9244967B2 (en) | 2011-08-01 | 2016-01-26 | Actifio, Inc. | Incremental copy performance between data stores |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8732521B2 (en) | 2011-08-31 | 2014-05-20 | Oracle International Corporation | Detection of logical corruption in persistent storage and automatic recovery therefrom |
US8990171B2 (en) | 2011-09-01 | 2015-03-24 | Microsoft Corporation | Optimization of a partially deduplicated file |
US8799467B2 (en) | 2011-09-09 | 2014-08-05 | Microsoft Corporation | Storage and communication de-duplication |
US8943032B1 (en) | 2011-09-30 | 2015-01-27 | Emc Corporation | System and method for data migration using hybrid modes |
US8949208B1 (en) | 2011-09-30 | 2015-02-03 | Emc Corporation | System and method for bulk data movement between storage tiers |
US8898120B1 (en) | 2011-10-09 | 2014-11-25 | Symantec Corporation | Systems and methods for distributed data deduplication |
US9047304B2 (en) | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
CN103136114B (zh) | 2011-11-30 | 2015-11-25 | 华为技术有限公司 | 存储方法及存储装置 |
EP2810171B1 (en) | 2012-02-02 | 2019-07-03 | Hewlett-Packard Enterprise Development LP | Systems and methods for data chunk deduplication |
US8732403B1 (en) | 2012-03-14 | 2014-05-20 | Netapp, Inc. | Deduplication of data blocks on storage devices |
US20150066877A1 (en) | 2012-05-01 | 2015-03-05 | Mark D. Lillibridge | Segment combining for deduplication |
EP2852897B1 (en) | 2012-05-20 | 2020-10-07 | Microsoft Technology Licensing, LLC | Server-based hierarchical mass storage system |
US8918390B1 (en) | 2012-06-13 | 2014-12-23 | Emc Corporation | Preferential selection of candidates for delta compression |
US9164688B2 (en) | 2012-07-03 | 2015-10-20 | International Business Machines Corporation | Sub-block partitioning for hash-based deduplication |
US9183200B1 (en) | 2012-08-02 | 2015-11-10 | Symantec Corporation | Scale up deduplication engine via efficient partitioning |
US9367480B2 (en) | 2012-08-07 | 2016-06-14 | Dell Products L.P. | System and method for updating data in a cache |
US9830111B1 (en) | 2012-08-08 | 2017-11-28 | Amazon Technologies, Inc. | Data storage space management |
JP6083973B2 (ja) * | 2012-08-08 | 2017-02-22 | 株式会社メガチップス | データ記憶制御装置およびデータ記憶方法 |
US8700578B1 (en) * | 2012-09-27 | 2014-04-15 | Emc Corporation | System and method for determining physical storage space of a deduplicated storage system |
US9495379B2 (en) | 2012-10-08 | 2016-11-15 | Veritas Technologies Llc | Locality aware, two-level fingerprint caching |
CN103020174B (zh) | 2012-11-28 | 2016-01-06 | 华为技术有限公司 | 相似性分析方法、装置及系统 |
CN103547329B (zh) | 2012-12-12 | 2016-11-02 | 华为技术有限公司 | 集群系统中数据处理方法及装置 |
US9274954B1 (en) | 2012-12-18 | 2016-03-01 | Netapp, Inc. | Caching data using multiple cache devices |
GB2509504A (en) | 2013-01-04 | 2014-07-09 | Ibm | Accessing de-duplicated data files stored across networked servers |
US9317218B1 (en) | 2013-02-08 | 2016-04-19 | Emc Corporation | Memory efficient sanitization of a deduplicated storage system using a perfect hash function |
US9798731B2 (en) | 2013-03-06 | 2017-10-24 | Dell Products, Lp | Delta compression of probabilistically clustered chunks of data |
US9244623B1 (en) | 2013-03-13 | 2016-01-26 | Emc Corporation | Parallel de-duplication of data chunks of a shared data object using a log-structured file system |
US9471500B2 (en) | 2013-04-12 | 2016-10-18 | Nec Corporation | Bucketized multi-index low-memory data structures |
US10592347B2 (en) | 2013-05-16 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | Selecting a store for deduplicated data |
US9424185B1 (en) | 2013-06-04 | 2016-08-23 | Emc Corporation | Method and system for garbage collection of data storage systems |
US9298724B1 (en) | 2013-06-14 | 2016-03-29 | Symantec Corporation | Systems and methods for preserving deduplication efforts after backup-job failures |
US9251160B1 (en) | 2013-06-27 | 2016-02-02 | Symantec Corporation | Data transfer between dissimilar deduplication systems |
US9386086B2 (en) | 2013-09-11 | 2016-07-05 | Cisco Technology Inc. | Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes |
US9390116B1 (en) | 2013-09-26 | 2016-07-12 | Emc Corporation | Insertion and eviction schemes for deduplicated cache system of a storage system |
US9336143B1 (en) | 2013-09-26 | 2016-05-10 | Emc Corporation | Indexing a deduplicated cache system by integrating fingerprints of underlying deduplicated storage system |
US9678973B2 (en) | 2013-10-15 | 2017-06-13 | Hitachi Data Systems Corporation | Multi-node hybrid deduplication |
US9158633B2 (en) | 2013-12-24 | 2015-10-13 | International Business Machines Corporation | File corruption recovery in concurrent data protection |
US9390281B2 (en) | 2013-12-30 | 2016-07-12 | Open Invention Network, Llc | Protecting data in insecure cloud storage |
US9361032B2 (en) | 2014-05-14 | 2016-06-07 | International Business Machines Corporation | Management of server cache storage space |
US10002048B2 (en) | 2014-05-15 | 2018-06-19 | International Business Machines Corporation | Point-in-time snap copy management in a deduplication environment |
US9250823B1 (en) | 2014-05-20 | 2016-02-02 | Emc Corporation | Online replacement of physical storage in a virtual storage system |
CN104010042A (zh) | 2014-06-10 | 2014-08-27 | 浪潮电子信息产业股份有限公司 | 一种云服务的重复数据删除的备份机制 |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
WO2016054212A1 (en) | 2014-10-01 | 2016-04-07 | Cacheio Llc | Efficient metadata in a storage system |
US9749428B2 (en) | 2014-10-21 | 2017-08-29 | Twilio, Inc. | System and method for providing a network discovery service platform |
US10372695B2 (en) | 2014-12-27 | 2019-08-06 | Intel Corporation | Technologies for computing rolling hashes |
US10175894B1 (en) | 2014-12-30 | 2019-01-08 | EMC IP Holding Company LLC | Method for populating a cache index on a deduplicated storage system |
US9952933B1 (en) * | 2014-12-31 | 2018-04-24 | Veritas Technologies Llc | Fingerprint change during data operations |
JP6476932B2 (ja) | 2015-02-02 | 2019-03-06 | 富士通株式会社 | ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 |
US9436392B1 (en) | 2015-02-17 | 2016-09-06 | Nimble Storage, Inc. | Access-based eviction of blocks from solid state drive cache memory |
WO2016176601A1 (en) | 2015-04-30 | 2016-11-03 | Lifespeed, Inc. | Massively-scalable, asynchronous backend cloud computing architecture |
US9612749B2 (en) | 2015-05-19 | 2017-04-04 | Vmware, Inc. | Opportunistic asynchronous deduplication using an in-memory cache |
US10296219B2 (en) | 2015-05-28 | 2019-05-21 | Vmware, Inc. | Data deduplication in a block-based storage system |
US20170017907A1 (en) | 2015-07-13 | 2017-01-19 | Cisco Technology, Inc. | Supply chain excellence as a service |
US10104167B2 (en) | 2015-09-28 | 2018-10-16 | Verizon Patent And Licensing Inc. | Networking functions in a micro-services architecture |
KR102082765B1 (ko) * | 2015-12-29 | 2020-02-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 중복 제거 방법 및 저장 장치 |
US10261946B2 (en) | 2016-01-12 | 2019-04-16 | International Business Machines Corporation | Rebalancing distributed metadata |
US10078451B1 (en) | 2016-01-22 | 2018-09-18 | Red Hat, Inc. | Deduplicating data based on boundary identification |
US20170220334A1 (en) | 2016-01-29 | 2017-08-03 | General Electric Company | Mobile management of industrial assets |
US10140066B2 (en) | 2016-02-01 | 2018-11-27 | International Business Machines Corporation | Smart partitioning of storage access paths in shared storage services |
US10445292B1 (en) | 2016-03-30 | 2019-10-15 | Veritas Technologies Llc | Sharing services between deduplication systems |
US10453076B2 (en) | 2016-06-02 | 2019-10-22 | Facebook, Inc. | Cold storage for legal hold data |
US9973573B2 (en) | 2016-06-08 | 2018-05-15 | International Business Machines Corporation | Concurrency reduction service |
EP3519965B1 (en) | 2016-09-29 | 2023-05-03 | Veritas Technologies LLC | Systems and methods for healing images in deduplication storage |
US10735553B2 (en) | 2016-11-23 | 2020-08-04 | Level 3 Communications, Llc | Micro-services in a telecommunications network |
US10102150B1 (en) | 2017-04-28 | 2018-10-16 | EMC IP Holding Company LLC | Adaptive smart data cache eviction |
US11010300B2 (en) | 2017-05-04 | 2021-05-18 | Hewlett Packard Enterprise Development Lp | Optimized record lookups |
-
2017
- 2017-07-21 US US15/656,338 patent/US11461269B2/en active Active
-
2018
- 2018-07-20 EP EP18184842.5A patent/EP3432168B1/en active Active
- 2018-07-23 CN CN201810809900.9A patent/CN110019039B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185149A1 (en) * | 2010-01-27 | 2011-07-28 | International Business Machines Corporation | Data deduplication for streaming sequential data storage applications |
CN102567427A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种对象数据处理方法及装置 |
CN103812939A (zh) * | 2014-02-17 | 2014-05-21 | 李漾 | 一种大数据存储系统 |
CN105511814A (zh) * | 2015-12-11 | 2016-04-20 | 上海爱数信息技术股份有限公司 | 一种静态数据文件的存储方法 |
Also Published As
Publication number | Publication date |
---|---|
US11461269B2 (en) | 2022-10-04 |
EP3432168A1 (en) | 2019-01-23 |
EP3432168B1 (en) | 2022-12-28 |
US20190026299A1 (en) | 2019-01-24 |
CN110019039B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9697228B2 (en) | Secure relational file system with version control, deduplication, and error correction | |
US7478113B1 (en) | Boundaries | |
JP6884128B2 (ja) | データ重複排除装置、データ重複排除方法、及びデータ重複排除プログラム | |
US9250946B2 (en) | Efficient provisioning of cloned virtual machine images using deduplication metadata | |
US8849772B1 (en) | Data replication with delta compression | |
US8751462B2 (en) | Delta compression after identity deduplication | |
US20230342403A1 (en) | Method and system for document similarity analysis | |
US9798731B2 (en) | Delta compression of probabilistically clustered chunks of data | |
CN109586896B (zh) | 一种基于哈希前缀树的数据完整性验证方法 | |
US9465695B2 (en) | Efficient backup replication | |
US10366072B2 (en) | De-duplication data bank | |
CN103959256A (zh) | 基于指纹的数据重复删除 | |
CA2871036A1 (en) | Entity resolution from documents | |
US10783145B2 (en) | Block level deduplication with block similarity | |
CN110019039A (zh) | 元数据分离的容器格式 | |
US20170344579A1 (en) | Data deduplication | |
CN109492049B (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
CN104965835B (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN110019056A (zh) | 用于云层的容器元数据分离 | |
CN109359090A (zh) | 基于卷积神经网络的文件碎片分类方法及系统 | |
CN105260423A (zh) | 电子名片去重方法及装置 | |
US10242025B2 (en) | Efficient differential techniques for metafiles | |
CN109376553A (zh) | 网站后台图片资源完整性的验证方法和系统 | |
Singhal et al. | A Novel approach of data deduplication for distributed storage | |
CN114840502A (zh) | 使用不同的散列大小和压缩大小进行散列 |
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 |