CN110019039A - 元数据分离的容器格式 - Google Patents

元数据分离的容器格式 Download PDF

Info

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
Application number
CN201810809900.9A
Other languages
English (en)
Other versions
CN110019039B (zh
Inventor
梁爽
M·卡马特
B·巴乔伊斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN110019039A publication Critical patent/CN110019039A/zh
Application granted granted Critical
Publication of CN110019039B publication Critical patent/CN110019039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • G06F16/1752De-duplication implemented within the file system, e.g. based on file segments based on file chunks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3064Segmenting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • H03M7/3095Data 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所述的非暂时性计算机可读介质,其中通过所述数据管理设备将所述多个文件段的所述部分存储在所述对象存储装置的所述数据对象中包括:
通过所述数据管理设备,将所述多个文件段中的第一文件段添加到所述对象存储装置的所述数据对象;
通过所述数据管理设备,基于所述第一文件段的添加来做出所述第一数据对象已满的确定;
响应于所述确定,通过所述数据管理设备,将所述第一数据对象存储在所述对象存储装置中;和
通过所述数据管理设备,基于所述第一数据对象被存储在所述对象存储装置中来将所述多个文件段中的第二文件段添加到未满的第二数据对象。
CN201810809900.9A 2017-07-21 2018-07-23 元数据分离的容器格式 Active CN110019039B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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