CN109937411A - 将接收的数据块存储为去重数据块的装置和方法 - Google Patents
将接收的数据块存储为去重数据块的装置和方法 Download PDFInfo
- Publication number
- CN109937411A CN109937411A CN201780041609.5A CN201780041609A CN109937411A CN 109937411 A CN109937411 A CN 109937411A CN 201780041609 A CN201780041609 A CN 201780041609A CN 109937411 A CN109937411 A CN 109937411A
- Authority
- CN
- China
- Prior art keywords
- container
- data block
- duplicate removal
- section
- segment
- 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/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
- 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
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- 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/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- 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/162—Delete operations
-
- 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/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种将接收的数据块300存储为去重数据块104的装置100,所述装置100用于:维护多个容器101,其中,容器的引用105在所述装置100内是唯一的,每个容器101包括一个或多个数据段102和每个数据段102的段元数据103,段元数据103包括段标识符110和段引用108,其中,所述段标识符110在所述容器101内是唯一的,所述段引用108在所述装置100内是唯一的;维护多个去重数据块104,其存储接收的数据块300,其中,每个去重数据块104包括多个标识的容器引用105和一个或多个段指示符106的有序列表,其中,容器引用标识符105i在所述去重数据块104内是唯一的。
Description
技术领域
本发明涉及一种数据去重的装置及对应方法,具体地,用于将接收的数据块存储为去重数据块。本发明使用一种新的数据结构,涉及参照本数据结构存储接收的数据块、检索接收的数据块以及删除数据块。
背景技术
以删除已存储数据的方式处理备份已成为惯例。由此,会使用称为“去重”的过程。去重过程不是存储副本,而是存储某种形式的引用,其中,该引用为已存储数据所在位置的引用。这些引用和其它围绕该数据而存储的项目通常称为元数据。
在这种情况下,传统元数据的大小可以是接收的数据的1%。当数据去重做得很好时,会有很多副本,从而总元数据在所需总存储空间中的占比很大。例如,当数据以25:1的比例复制并且使用SHA-1散列来确定身份时,需要总存储空间的28%来保存元数据。
此外,SHA-1的安全性近来受到质疑。但是,转而使用SHA-2散列意味着,对于去重过程,现在甚至需要总存储空间的33%来保存元数据。
因此,需要找到降低保存元数据所需总存储空间的百分比的可能方法。
传统去重产品将完整散列(通常是SHA-1散列)存储在它们的块元数据的等价物中。这是元数据大的根本原因,导致去重效果良好时元数据膨胀。
因此,如果可以避免将完整散列存储在块元数据中,则可以减少元数据所需的总存储空间。
图8示出了传统去重过程的数据结构。该数据结构分为块、容器和段。块为表示原始数据的存储单元,原始数据可以包含副本。这些块为去重装置在去重前接收到的数据。块可以分成数据段,数据段为连续字节组成的序列。典型的数据段长度因产品而异,不过一个块可以包含高达数千个的数据段。
去重之后,接收的块存储为块中的段列表,称为块的元数据。此外,将保存唯一数据段的容器存储起来。容器为表示唯一去重数据的存储单元,其中,一个容器可以包含数千个唯一数据段。例如,数据段的元数据为其引用计数、存储详细信息以及从数据段计算出的强散列。容器的元数据为其所有数据段的数据段元数据。
图9示出了传统块,即去重数据块,的元数据的详细信息。从图9可以看出,接收未去重的用户数据块,而在去重处理后,将用户数据块存储为包括元数据的去重数据块。具体地,去重块包括容器ID和强散列值对组成的表。换言之,传统块的元数据存储接收的数据块的每个数据段的强散列值。这些强散列值均需要40个字节的存储空间,因此占了总存储空间的很大一部分。
图10示出了与去重数据块和容器一起存储的传统去重索引的详细信息。传统去重索引包括由数据段的散列值组成的完整列表(此处为G、I、J、K、L),其中,每个散列值与块的引用相关联。然而,这意味着对于包含数据段的接收块,首先需要从去重索引中的关联块引用中找到去重数据块,然后从检索到的去重数据块中找到与该块相关的容器,其中,可以将数据段计算为能在去重索引中搜索的散列值。然而,这种间接性会对系统性能尤其是输入/输出(Input/Output,I/O)造成负面影响。
发明内容
鉴于上述问题和缺点,本发明旨在改进传统去重装置和方法。本发明的目的是提供一种去重装置及对应方法,从而可以压缩所有元数据的总大小,同时提高系统性能。具体地,与去重数据块一起保存的块元数据是空间开销的主要来源,所以应该减少。此外,具体地,应该优选地通过消除上述间接性来提高I/O性能。
本发明的目的通过所附独立权利要求中提供的方案实现。本发明的有利实现方式在从属权利要求中进一步限定。
具体地,本发明主张分别改变去重索引、去重数据块和容器的数据结构,以解决上述问题。即本发明提出这些数据结构的一种新设计,与传统的数据结构相比,其改善了性能并节省了空间。
本发明的第一方面提供一种用于将接收的数据块存储为去重数据块的装置,所述装置用于:维护多个容器,其中,容器的引用在所述装置内是唯一的,每个容器包括一个或多个数据段和每个数据段的段元数据,所述段元数据包括段标识符和段引用,其中,所述段标识符在所述容器内是唯一的,所述段引用在所述装置内是唯一的;维护多个去重数据块,其存储接收的数据块,其中,每个去重数据块包括多个标识的容器引用和一个或多个段指示符的有序列表,其中,容器引用标识符在所述去重数据块内是唯一的,每个段指示符包括段标识符和所述容器的容器引用的容器引用标识符,所述容器包含所述标识的数据段,所述列表的顺序与所述接收的数据块中的数据段的顺序相同;以及维护去重索引,其包括多个段引用或其派生物,其中,每个段引用或其派生物是从接收的数据块中的数据段计算而出并且至少与所述去重数据块所引用的容器引用和去重数据块的一个唯一块引用相关联。
在本发明中,“唯一”包括“概率上唯一”。例如,段引用至少在所述装置内是概率上唯一的,即段引用以几乎绝对的、非常高的概率来标识数据段,其中,段引用从该数据块计算而出。块引用也是至少概率上唯一的。
所述多个容器、所述多个去重数据块和所述去重索引的新数据结构减少了存储所有元数据所需的空间,同时提高了所述装置的性能。具体地,这是因为去重数据块并未存储任何段引用,而是仅存储了段标识符,段引用在传统去重数据块中是计算出的散列值。段标识符小了20倍左右,从而可以显著减少去重数据块的大小。
性能提高是因为去重索引现在直接使用与段引用相关联的容器引用来引用容器。因此,去重索引变得非归一化,这导致去重索引大小增加。但是,这种增加为降低所述装置其它部件处的信息奠定了基础。
段标识符也被添加到容器中每个数据段的元数据中。即,每个段的元数据现在包括段标识符和段引用,段引用也能够标识数据段。即,段标识符实际上乍一看是多余的,而且增加了容器维护的复杂性和开销,但是,添加的段标识符很小,并且有助于提升减少所需总存储空间的可能性。
即,去重索引和容器元数据的上述牺牲使得传统去重数据块中的全散列列表能被替换为段标识符列表,从而提供了大量的节省空间,因为针对所述装置中的每个重复段都复制了该数据。
总之,所述第一方面的所述装置的数据结构变化使得所需存储空间显着减少以及去重过程更高效。实际上,在典型的8:1去重比下,节省的总空间接近10%。这通过重新设计去重数据结构来实现,虽然在该重新设计中增加了少量存储空间来存储唯一数据(该增加可以忽略),但是节省了去重数据(其有许多副本)的空间。
在所述第一方面的一种实现形式中,针对将接收的数据块存储为去重数据块,所述装置用于:接收所述待存储数据块;将所述接收的数据块分段为数据段;计算所述数据段中每个数据段的段引用;选择所述段引用或其派生物的子集;在所述去重索引中搜索包含在所述段引用的子集中的所述段引用或其派生物,并检索所述与在所述去重索引中找到的所述段引用或其派生物相关联的容器引用;从所述检索到的容器引用所引用的所述容器中检索所述段元数据;在所述检索到的段元数据中搜索所述接收的数据块的所述段引用;选择可能包括新容器的多个容器,使得所述接收的数据块中的每个数据段已经存储在所述多个容器中,并且所述多个容器有足够可用空间来存储所述接收的数据块中尚未存储在所述多个容器中的任何容器中的数据段;向每个尚未存储的数据段分配所述多个容器中的具有足够空间来存储所述尚未存储的数据段的一个存储容器,向所述尚未存储的数据段分配在所述存储容器内为唯一的新段标识符,使用所述新的段标识符和所述段引用为所述尚未存储的数据段创建段元数据;以及将所述段元数据和所述数据段存储在所述存储容器中。
在所述第一方面的另一实现形式中,针对将接收的数据块存储为去重数据块,所述装置还用于:从所述多个容器中构建多个标识的容器引用,其中,每个容器引用标识符在所述去重数据块内是唯一的;使用所述多个标识的容器引用和所述接收的数据块中的每个数据段的段标识符来构建所述一个或多个段指示符的有序列表;以及存储包含所述多个标识的容器引用和所述一个或多个段指示符的有序列表的所述去重数据块。
传统上,去重索引中的搜索返回现有存储的去重数据块的列表。需读取每个去重数据块,以提供去重范围和构建容器列表。然后,需读取每个容器元数据以修改段元数据,包括修改引用计数等。根据所述第一方面的上述实现形式,去重索引中的搜索直接返回容器列表,即在去重索引中找到的与段引用或其派生物相关联的容器引用。现在,从容器的元数据中获取的这些容器中的所有数据段的这些段引用成为去重范围。即,无需读取现有去重数据块。与传统过程相比,增加了I/O性能。
相应地,所述装置用于以更高的性能和更少的所需空间将接收的数据块更高效地存储为去重数据块。
在所述第一方面的另一实现形式中,每个去重数据块还包括所述段引用或其派生物的子集。
这个子集用作去重索引键,并由许多特征段引用组成。仅使用这些段引用,而非使用从块的所有数据段中计算出的所有段引用,找到容器中块的所有数据段的可能性高,同时需要的处理和存储空间少。
在所述第一方面的另一实现形式中,每个复制数据块的所述段引用或其派生物的子集包括N个段引用或其派生物,N个段引用或其派生物是从M个段引用或其派生物选择而来,M个段引用或其派生物是从其M个数据段计算而出,其中,N小于M,优选地,N为4。
通过选择4个段引用,例如强散列值,作为索引键,从容器中找到数据段的可能性非常高。增加数值N显然增加了可能性,但同时也增加了处理负荷。
在所述第一方面的另一实现形式中,针对检索接收的数据块,所述装置用于:检索所述接收的数据块的所述存储的去重数据块;针对所述去重数据块内的每个容器引用标识符和所述一个或多个段指示符的有序列表中的每个段指示符的每个段标识符,从所述标识的引用容器中检索所述标识的段的数据;以及根据所述去重数据块中的所述一个或多个段指示符的有序列表的顺序,从所述标识的引用容器的所述标识的段的检索到的数据中构建所述接收的数据块。
采用新的数据结构甚至能快速重建数据块,这节省了大量空间。
在所述第一方面的另一实现形式中,针对删除数据块,所述装置用于:检索与待删除数据块相关的去重数据块;针对所述检索到的去重数据块中的容器引用所引用的每个容器,检索所述段标识符和段引用;以及在所述去重索引中搜索包含在所述检索到的去重数据块中的每个段引用及其派生物,以检索与其关联的至少一个容器引用和块引用;删除所述检索到的重复数据块,从所述去重索引中分别删除与所述待删除数据块中的容器引用相匹配的每个容器引用以及与所述待删除数据块中的引用相匹配的块引用。
同样,对于上述存储接收的数据块,在去重索引中搜索段引用直接返回容器引用列表,这样性能得到提高。
在所述第一方面的另一实现形式中,所述多个容器中的每个数据段的所述段元数据还包括引用计数;以及所述装置用于:当其存储包含所述数据段的数据块时,增加所述引用计数,当其删除包含所述数据段的数据块时,减少所述引用计数。
所述引用计数有助于维护容器和存储在容器中的数据段。
在所述第一方面的另一实现形式中,从数据段计算出的段引用为一个散列值,优选地,为一个强散列值。
散列值,特别是强散列值,提供高安全性,并能为数据段提供概率上唯一的标识,且占用的数据空间小。
在所述第一方面的另一实现形式中,去重数据块中的段指示符的大小为16比特或更小。
因此,段指示符为2个字节,而传统去重数据块存储40字节的段引用(全散列)。这意味着通过使用本发明的所述装置中的去重数据块,所需存储空间显著减少。
在所述第一方面的另一实现形式中,段标识符是一个整数,优选地,为一个14比特的整数。
因此,在容器元数据中仅需添加少量数据,但会使得去重数据块的大小显著减小。
在所述第一方面的另一实现形式中,所述去重索引中的块引用的大小在1到8字节之间,并且优选地,为4字节。
即,为了提高系统性能,仅需在去重索引中添加少量数据。
本发明的第二方面提供一种将接收的数据块存储为去重数据块的方法,所述方法包括以下步骤:维护多个容器,其中,容器的引用在所述装置内是唯一的,每个容器包括一个或多个数据段和每个数据段的段元数据,所述段元数据包括段标识符和段引用,其中,所述段标识符在所述容器内是唯一的,所述段引用是唯一的;维护多个去重数据块,其存储接收的数据块,其中,每个去重数据块包括多个标识的容器引用和一个或多个段指示符的有序列表,其中,容器引用标识符在所述去重数据块内是唯一的,每个段指示符包括段标识符和所述容器的容器引用的容器引用标识符,所述容器包含所述标识的数据段,所述列表的顺序与所述接收的数据块中的数据段的顺序相同;以及维护去重索引,其包括多个段引用或其派生物,其中,每个段引用或其派生物是从接收的数据块中的数据段计算而出,并且至少与所述去重数据块所引用的容器引用和去重数据块的一个唯一块引用相关联。
在所述第二方面的一种实现形式中,针对将接收的数据块存储为去重数据块,所述方法还包括:接收所述待存储数据块;将所述接收的数据块分段为数据段;计算所述数据段中每个数据段的段引用;选择所述段引用或其派生物的子集;在所述去重索引中搜索包含在所述段引用的子集中的所述段引用或其派生物,并检索所述与在所述去重索引中找到的所述段引用或其派生物相关联的容器引用;从所述检索到的容器引用所引用的所述容器中检索所述段元数据;在所述检索到的段元数据中搜索所述接收的数据块的所述段引用;选择可能包括新容器的多个容器,使得所述接收的数据块中的每个数据段已经存储在所述多个容器中,并且所述多个容器有足够多可用空间来存储所述接收的数据块中尚未存储在所述多个容器中的任何容器中的数据段;向每个尚未存储的数据段分配所述多个容器中的具有足够空间来存储所述尚未存储的数据段的一个存储容器,向所述尚未存储的数据段分配在所述存储容器内为唯一的新段标识符,使用所述新的段标识符和所述段引用为所述尚未存储的数据段创建段元数据;以及将所述段元数据和所述数据段存储在所述存储容器中。
在所述第二方面的另一实现形式中,针对将接收的数据块存储为去重数据块,所述方法还包括:从所述多个容器中构建多个标识的容器引用,其中,每个容器引用标识符在所述去重数据块内是唯一的;使用所述多个标识的容器引用和所述接收的数据块中的每个数据段的段标识符来构建所述一个或多个段指示符的有序列表;以及存储包含所述多个标识的容器引用和所述一个或多个段指示符的有序列表的所述去重数据块。
在所述第二方面的另一实现形式中,针对检索接收的数据块,所述方法还包括:检索所述接收的数据块的所述存储的去重数据块;针对所述去重数据块内的每个容器引用标识符和所述一个或多个段指示符的有序列表中的每个段指示符的每个段标识符,从所述标识的引用容器中检索所述标识的段的数据;以及根据所述去重数据块中的所述一个或多个段指示符的有序列表的顺序,从所述标识的引用容器的所述标识的段的检索到的数据中构建所述接收的数据块。
在所述第二方面的另一实现形式中,针对删除数据块,所述方法包括:检索与待删除数据块相关的去重数据块;针对所述检索到的去重数据块中的容器引用所引用的每个容器,检索所述段标识符和段引用;以及在所述去重索引中搜索包含在所述检索到的去重数据块中的每个段引用及其派生物,以检索与其关联的至少一个容器引用和块引用;删除所述检索到的去重数据块,从所述去重索引中分别删除与所述待删除数据块中的容器引用相匹配的每个容器引用以及与所述待删除数据块中的引用相匹配的块引用。
在所述第二方面的另一实现形式中,所述多个容器中的每个数据段的所述段元数据还包括引用计数;以及所述方法包括:当其存储包含所述数据段的数据块时,增加所述引用计数,当其删除包含所述数据段的数据块时,减少所述引用计数。
在所述第二方面的另一实现形式中,从数据段计算出的段引用为一个散列值,优选地,为一个强散列值。
在所述第一方面的另一实现形式中,去重数据块中的段指示符的大小为16比特或更小。
在所述第二方面的另一实现形式中,段标识符是一个整数,优选地,为一个14比特的整数。
在所述第二方面的另一实现形式中,所述去重索引中的块引用的大小在1到8字节之间,并且优选地,为4字节。
通过所述第二方面的所述方法及其实现形式,可以分别实现上述针对所述第一方面的所述装置及所述第一方面的实现形式所述的相同益处和事实。
本发明的第三方面提供一种包括程序代码的计算机程序产品,用于控制根据所述第一方面或所述第一方面的任意实现形式所述的装置,或者在计算机上运行时,用于执行根据所述第二方面或所述第二方面的任意实现形式所述的方法。
因此,所述第三方面的所述计算机程序产品分别实现了所述第一方面的所述装置和所述第二方面的所述方法的所有益处和效果。
本发明的第四方面提供一种包含在介质中的由计算机实现的数据结构,所述数据结构包括:多个容器,其中,容器的引用在所述装置内是唯一的,每个容器包括一个或多个数据段和每个数据段的段元数据,所述段元数据包括段标识符和段引用,其中,所述段标识符在所述容器内是唯一的,所述段引用在所述装置内是唯一的;多个去重数据块,其存储接收的数据块,其中,每个去重数据块包括多个标志的容器引用和一个或多个段指示符的有序列表,其中,容器引用标识符在所述去重数据块内是唯一的,每个段指示符包括段标识符和所述容器的容器引用的容器引用标识符,所述容器包含所述标识的数据段,所述列表的顺序与所述接收的数据块中的数据段的顺序相同;以及去重索引,其包括多个段引用或其派生物,其中,每个段引用或其派生物是从接收的数据块中的数据段计算而出,并且至少与去重数据块所引用的容器引用和去重数据块的一个唯一块引用相关联。
通过所述第四方面的所述数据结构,实现了针对前述方面所述的相同优点和效果。
需说明的是,本申请中所描述的所有设备、元件、单元和构件均可以在软件或硬件元件或其任何一种组合中实现。由本申请中所述各种实体执行的所有步骤以及描述为由各种实体执行的功能旨在表示相应的实体适用于或用于执行相应的步骤和功能。即使在以下具体实施例的描述中,由外部实体执行的特定功能或步骤未反映在执行该特定步骤或功能的实体的详述元素的描述中,技术人员应明白这些方法和功能可以在相应的软件或硬件元件或其任何一种组合中实施。
附图说明
结合所附附图,以下具体实施例的描述将阐述上述本发明的各方面及其实施方式,其中:
图1示出了根据本发明一实施例的一种装置;
图2示出了根据本发明一实施例的一种方法;
图3示出了根据本发明一实施例的一种装置;
图4示出了根据本发明一实施例的一种装置;
图5示出了在根据本发明一实施例的装置中使用的去重数据块与传统去重数据块的对比;
图6示出了在根据本发明一实施例的装置中使用的容器与传统容器的对比;
图7示出了在根据本发明一实施例的装置中使用的去重索引与传统去重索引的对比;
图8示出了一种传统去重过程;
图9更详细地示出了一种传统块,即传统去重数据块,的元数据;
图10更详细地示出了一种传统去重索引。
具体实施方式
图1示出了根据本发明一实施例的装置100。该装置用于将接收的数据块300存储为去重数据块104。为此,装置100用于维护一种数据结构,该数据结构包括多个容器101、多个去重数据块104,以及去重索引107。
每个容器101包括一个或多个数据段102,优选地,包括唯一的数据段。此外,每个容器101包括数据段102中每个数据段的段元数据103。段元数据103包括段标识符110和段引用108。段引用108可以从数据段计算出,并且可以是一个散列值或强散列值。
每个段标识符110在容器101内是唯一的,优选地,是绝对唯一的。这意味着,优选地,每个段标识符110,其可以是一个整数,在容器101内仅使用一次,但是可以在另一个容器101中以相同的方式使用。此外,数据段102的段引用108在装置100内是唯一的,优选地,在概率上是唯一的。这意味着,段引用108优选地以几乎绝对的概率标识数据段102,段引用108从数据段102计算而出。当然,如果数据段102在不同装置100中使用,则可以在每个装置中计算出和维护相同的段引用108。此外,应注意,容器101的任何引用105在装置100内是唯一的。即,如果容器引用105存储在装置100中的某个地方,则其会准确地识别出容器101中的一个。
去重数据块104用于存储接收的数据块300。为此,去重数据块104包括多个标识的容器引用105,这意味着容器引用105与容器引用标识符105i相关联。容器引用标识符105i在去重数据块104内是唯一的,优选地,是绝对唯一的。这意味着,在该去重数据块104中优选地仅使用一次,不过可以在另一个去重数据块104中以相同的方式使用。去重数据块104还包括一个或多个段指示符106的有序列表,其中,每个段指示符106包括段标识符110和容器101的容器引用105的容器引用标识符105i,容器101包含标识的数据段102。存储在段指示符106中的段标识符110与标识容器101中的数据段102的段标识符110是相同的。还应注意,一个或多个段指示符106的列表的顺序与存储的接收的数据块300中的数据段102的顺序相同。
去重索引107包括多个段引用108,段引用108也可以是散列值或强散列值或其派生物。例如,段引用108的派生物是指对段引用108执行的确定无误的数学运算的结果,其中,该结果至少在概率上仍然能够标识数据段102,段引用108从数据段102计算而出。每个段引用108或其派生物是从接收的数据块300中的数据段102计算而出,并且至少与以下内容相关联:由存储接收的数据块300的去重数据块104引用的容器引用105,以及一个唯一的,优选地概率上唯一的,去重数据块104引用的块引用109。同样,概率上唯一是指块引用109能够准确标识去重数据块104中的一个,具有几乎确定的概率。
图2示出了根据本发明一实施例的方法200。该方法用于将接收的数据块300存储为去重数据块104。方法200对应于图1所示的装置100的配置,具体地,可以由所述装置100执行。方法200包括“方法步骤”201、202和203,不过这些步骤不需要以任何特定顺序执行,可以反映装置100的连续操作。
在步骤201中,方法200维护多个容器101,其中,容器101的引用在装置100内是唯一的,每个容器101存储一个或多个数据段102和每个数据段102的段元数据103,段元数据103包括段标识符110和段引用108,其中,段标识符110在容器101内是唯一的,段引用108是唯一的。如果方法200由装置100执行,则段引用108在装置100内是唯一的。
步骤202维护多个去重数据块104,其存储接收的数据块104,其中,每个去重数据块104包括多个标识的容器引用105和一个或多个段指示符106的有序列表,其中,容器引用标识符105i在去重数据块104内是唯一的,每个段指示符106包括段标识符110和容器101的容器引用105的容器引用标识符105i,容器101包含标识的数据段102,列表的顺序与接收的数据块300中的数据段102的顺序相同。
步骤203维护去重索引107,其包括多个段引用108或其派生物,其中,每个段引用108或其派生物是从接收的数据块300中的数据段102计算而出,且至少与去重数据块104所引用的容器引用105和去重数据块104的一个唯一块引用109相关联,其中,去重数据块104存储接收的数据块104。
图3示出了根据本发明一实施例的装置100。该装置建立在图1所示的装置100的基础上。具体地,例如,图3示出了装置100接收数据块300,以便存储该接收的数据块300。接收的数据块300可以为待备份的用户数据块。向装置100提供接收的数据块300,使得装置100执行去重过程。
装置100也包括多个去重数据块104(不过仅示出了一个去重数据块104)、多个容器101,以及去重索引107(图3中未示出)。图3具体示出了去重数据块104的详细信息。可以看出,去重数据块104包括多个段指示符106,具体地,可以有数千个这样的段指示符。每个段指示符106为按照接收的数据块300中的数据段102的顺序的有序列表。此外,每个段指示符包括容器引用标识符105i(此处为“1”或“2”)。还存储容器引用标识符105i,以标识多个容器引用105(此处为“A”、“B”)。优选地,每个去重数据块104还包括段引用108或其派生物的子集301,如图3所示。选择子集301为去重索引键,即用于标识数据块。具体地,子集301是从段引用108中选择的,其中,段引用108是针对相应的接收的数据块300中的每个数据段102计算而出。
图3还示出了每个容器101(此处为容器“A”和“B”)包括多个唯一数据段102和段元数据103。段元数据103包括每个数据段102的段引用108以及相关联的段标识符110。
图4示出了根据本发明一实施例的装置100。该装置建立在图1和图3所示的装置100的基础之上。图4具体示出了去重索引107的数据结构。同样,装置100维护多个去重数据块104(此处示出了块‘X’和‘Y’)、多个容器101(此处示出了容器‘A’至‘E’)以及去重索引107。去重索引107包括多个段引用108或其派生物,其中,每个段引用108是从接收的数据块300中的数据段102计算而出。在去重索引107中,每个数据段102与至少一个容器引用105(此处为‘A’至‘E’)和去重数据块104的一个唯一块引用109(此处为‘X’和’Y’)相关联。
图1、图3和图4中的装置100中示出的数据结构节省了存储去重数据所需的大量空间,并且提高了装置100在将接收的数据块300存储为去重数据块104、删除数据块以及检索数据块时的处理速度。
下文详细说明了图3和图4所示的装置100如何将接收的数据块300存储为去重数据块104、如何检索接收的数据块300以及如何删除数据块。
对于将数据块300存储为去重数据块104,首先,将数据块300输入到装置100中,这意味着装置100接收待存储的数据块300。这种数据块300的大小通常为4MB。然后装置100使用分段算法将接收的数据块300分段为数据段。分段也称为分块,分段算法在现有技术中是公知的。数据段的平均大小通常是4kB。
然后,装置100用于计算数据段102中每个数据段的段引用108,其中,段引用108是一个强散列值等。然后,装置选择段引用108的子集301。该选择可以基于某种计算。然后,装置100在去重索引107中搜索包括在子集301中的这些段引用108或其派生物。即,将子集301中的段引用108或其派生物用作去重索引107中的键。去重索引107中的搜索返回与已找到的段引用108相关联的容器引用105。这些引用105指向包含某一或某些块中的数据段102的容器101,某一或某些块的去重索引表征包含子集301中的段引用108中的一个。
相应地,装置100现在用于从由检索到的容器引用105引用的容器101中检索段元数据103。在容器101包括数据段102时,段元数据103包括数据段102的段引用108,例如强散列,以及包括数据段102的段标识符110。段标识符110可以是14比特整数。
现在装置100在检索到的段元数据103中搜索接收的数据块300的段引用108,即,在之前检索到的所有容器101的所有段元数据103的所有段引用108中搜索该段引用108。
然后,装置100选择可能包括新容器101的多个容器101,使得接收的数据块300的每个数据段102已经存储在多个容器101中,且在多个容器101中有足够的可用空间,用于存储接收的数据块300内尚未存储在多个容器101的任何容器101中的数据段102。例如,装置100计算出最多N个容器101的最佳集合,最多N个容器101将包含接收的数据块300中的所有数据段102,且有空间来存储不存在于容器101的最佳集合内的任何容器101内的数据块300中的数据段102。或者,装置100可以计算出最多N–1个容器101的最佳集合,将向最佳集合添加任何其它容器101,其它容器101有空间存储存在于其它N–1个容器内的接收的数据块300中的数据段102。具体地,N可以是整数,优选地为4。
然后,装置100向每个尚未存储的数据段102分配多个容器101中的具有足够的空间来存储尚未存储的数据段102的一个存储容器101,向尚未存储的数据段102分配在存储容器101内为唯一的新段标识符110,使用新段标识符110和段引用108为尚未存储的数据段102创建段元数据103,以及将段元数据103和数据段102存储在存储容器101中。例如,对于接收的数据块300内尚未存储在容器101的最佳集合中的每个数据段102,装置100可以分配在容器101内为唯一的段标识符110,段标识符110将存储在该容器101中。另外,还向最佳容器101集合中的每个容器101分配范围为0到最多N–1的索引。该索引将用于在接收的数据块300的上下文内标识容器101。
相应地,装置100从多个容器101中构建多个标识的容器引用105,其中,每个容器引用标识符105i在去重数据块104内是唯一的。
可能地,对于接收的数据块300中的每个数据段,装置100在包含数据段102的容器101中添加与该数据段102相关联的某种记录,即该数据块需要和/或引用该数据段102。
然后,装置100使用多个标识的容器引用105和接收的数据块300中的每个数据段102的段标识符110来构造一个或多个段指示符106的有序列表。包含在去重数据块104中的信息现在已经完整,而且永久存储了包含多个容器引用105和一个或多个段指示符106的列表的去重数据块。
然后,装置100可以使用该去重数据块104引用的容器引用以及该去重数据块104的块引用来更新去重索引107。
对于检索接收的数据块300,首先,装置100可以接收待检索的数据块300的块引用。然后,装置100用于将接收的数据块300的去重数据块104取回到存储器。然后,为每个容器引用标识符105i、一个或多个段指示符106的有序列表中的每个段指示符106的每个段标识符110,以及去重数据块104,从标识的引用容器101中检索标识的数据段102的数据。例如,针对去重数据块104中引用的每个容器,可以先接收容器元数据,容器元数据包括所有数据段102的段元数据103;然后可以打开空的输出数据流,然后可以使用具有容器引用105的容器101的容器元数据来找出数据段102的存储位置,数据段102的段标识符110在条目中已给出然后,检索数据段102的数据,并将其添加到输出流中。
然后,装置100根据去重数据块104中的一个或多个段指示符106的有序列表的顺序,从标识的引用容器101中的标识的数据段的接收数据中重建接收的数据块300。
然后,装置100可以关闭输出数据流。
对于删除数据块,装置100也可以用于接收待删除块的块引用。然后,装置100将与待删除数据块有关的去重数据块104取回到存储器。然后,对于检索到的去重数据块104中的容器引用105所引用的每个容器101,检索段标识符110和段引用108。然后,在去重索引107中搜索检索到的去重数据块104内的每个段引用108或其派生物,以便检索与其相关联的至少一个容器引用105和块引用109。所包括的段引用108可以为子集301,用作去重索引107的索引键。
然后,装置100从永久性存储器中删除检索到的去重数据块104。然后,从去重索引107中分别删除与待删除数据块中的容器引用105相匹配的每个容器引用105以及与待删除数据块中的块引用109相匹配的块引用109。优选地,相应地更新去重索引107中的信息或者如果该信息为空,则移除该信息。
图5示出了根据本发明一实施例的装置100中的去重数据块104(图5a)与传统去重数据块(图5b)的对比。传统去重数据块是最占空间的元数据,因为平均每4kB的用户数据(包含副本)包含一个段实例。这意味着,在1GB的用户数据中,平均有262144个数据段102。传统上,段引用108的大小为40字节,总计为10.6MB。
根据本发明实施例的去重数据块104不再包括段引用108,而仅包括含有段标识符110的段指示符106。段指示符106的大小减到2字节,平均来说,现在总数只有552kB。在段指示符106的2个字节中,容器标识符105i为2比特,被编成最多4个容器101的表中的索引,段标识符110为14比特。显然,去重数据块104的块引用109包含在块头中。
图6示出了在根据本发明一实施例的装置100中使用的容器101(图6a)与传统容器(图6b)的对比。容器101保存每个数据段102的段标识符110。这免除了段顺序维护引起的所有容器维护,包括碎片整理等。容器101致力于将段标识符110保存为容器101范围内数据段102的唯一标识符。虽然添加段标识符110导致段元数据103的小幅增加,但是对于容器而言,是每4kB中的一个唯一段元数据103,与传统上的377kB相比,仅需要419kB的元数据。在25:1去重比下,这对每1GB的唯一用户数据仍有效。
图7示出了在根据本发明一实施例的在装置100中使用的去重索引107(图7a)与传统去重索引(图7b)的对比。实际上,去重索引107在大小方面是最不重要的,但是为了更高效地删除条目,存储与去重数据块104相关的信息,即块引用109。具体地,为了进一步减少I/O操作,去重索引107包含容器引用105。事实上,在去重索引107中,可以存储容器引用105,且可以将其与块引用109配对,与存储在传统去重索引107中的块ID相比,块引用109是很小的块ID。块引用109足以避免冲突,但足以在需要时标识哪些条目可以被移除。
总之,根据本发明,通过引用每个去重数据块104中的容器标识符105i(2比特)和段标识符110(14比特),而不是之前的40个字节,总元数据显著减少。通过维护每个数据段102的段标识符110,每个容器101的元数据,即容器101中每个数据段102的段元数据103,都支持这一点。去归一化了去重索引107中的条目以便减少I/O操作。现在条目包含相关的容器引用105和块引用109,以便记录段引用108来自哪个块,从而当该块被删除时可以移除段引用108。总之,本发明缩减了所有块的所有元数据所需的存储空间,提供了不同的存储选项。
具体地,根据本发明实施例,假设用户数据为1GB,去重比为25:1,压缩率为1.5:1,则针对去重数据块节省的空间为91%。节省的总空间为25%。这意味着,在相同大小的存储库中可以多存储34%的数据(去重数据)。
对于8:1的去重比,针对去重数据块104节省的空间为84%,节省的总空间为9.8%,在相同大小的储存库中可以多存储11%的数据。
甚至对于1:1的去重比,针对去重数据块104节省的空间仍为44.9%,节省的总空间仍为1.23%,在相同大小的储存库中可以多存储1%的数据。
此外,传统上,需要25个I/O操作来处理一个数据块300。现在减少了8个I/O操作,减少了32%。具体地,不再需要读取去重数据块104,这样减少了8个I/O操作。
本发明已经结合作为示例的不同实施例以及实现形式进行描述。但本领域技术人员通过实践所要求的发明,研究附图、本发明以及独立权项,能够理解并获得其它变体。在权利要求书以及说明书中,词语“包括”并不排除其它元素或步骤,不定冠词“一”或“一个”并未排除复数情况。单个元件或其它单元可以满足权利要求书中所叙述的若干实体或项目的功能。某些措施记载在相互不同的从属权利要求书中,这并不意味着这些措施的组合不能在有利的实现方式中使用。
Claims (15)
1.一种将接收的数据块(300)存储为去重数据块(104)的装置(100),其特征在于,所述装置(100)用于:
维护多个容器(101),其中,容器的引用(105)在所述装置(100)内是唯一的,每个容器(101)包括一个或多个数据段(102)和每个数据段(102)的段元数据(103),所述段元数据(103)包括段标识符(110)和段引用(108),其中,所述段标识符(110)在所述容器(101)内是唯一的,所述段引用(108)在所述装置(100)内是唯一的;
维护多个去重数据块(104),其存储接收的数据块(300),其中,每个去重数据块(104)包括多个标识的容器引用(105)和一个或多个段指示符(106)的有序列表,其中,容器引用标识符(105i)在所述去重数据块(104)内是唯一的,每个段指示符(106)包括段标识符(110)和所述容器(101)的容器引用(!05)的容器引用标识符(105i),所述容器(101)包含所述标识的数据段(102),所述列表的顺序与所述接收的数据块(300)中的数据段(102)的顺序相同;以及
维护去重索引(107),其包括多个段引用(108)或其派生物,其中,每个段引用(108)或其派生物是从接收的数据块(300)中的数据段(102)计算而出,并且至少与所述去重数据块(104)所引用的容器引用(105)和去重数据块(104)的一个唯一块引用(109)相关联。
2.根据权利要求1所述的装置(100),其特征在于,针对将接收的数据块(300)存储为去重数据块(104),用于:
接收所述待存储数据块;
将所述接收的数据块(300)分段为数据段(102);
计算所述数据段(102)中每个数据段的段引用(108);
选择所述段引用(108)或其派生物的子集(301);
在所述去重索引(107)中搜索包含在所述段引用(108)的子集(301)中的所述段引用(108)或其派生物,并检索所述与在所述去重索引(107)中找到的所述段引用(108)或其派生物相关联的容器引用(105);
从所述检索到的容器引用(105)所引用的所述容器(101)中检索所述段元数据(103);
在所述检索到的段元数据(103)中搜索所述接收的数据块(300)的所述段引用(108);
选择可能包括新容器(101)的多个容器(101),使得所述接收的数据块(300)中的每个数据段(102)已经存储在所述多个容器(101)中,并且所述多个容器(101)有足够可用空间来存储所述接收的数据块(300)中尚未存储在所述多个容器(101)中的任何容器(101)中的数据段(102);
向每个尚未存储的数据段(102)分配所述多个容器(101)中的具有足够空间来存储所述尚未存储的数据段(102)的一个存储容器(101),向所述尚未存储的数据段(102)分配在所述存储容器(101)内为唯一的新段标识符(110),使用所述新的段标识符(110)和所述段引用(108)为所述尚未存储的数据段(102)创建段元数据(103);以及
将所述段元数据(103)和所述数据段(102)存储在所述存储容器(101)中。
3.根据权利要求2所述的装置(100),其特征在于,针对将接收的数据块存储为去重数据块,还用于:
从所述多个容器(101)中构建多个标识的容器引用(105),其中,每个容器引用标识符(105i)在所述去重数据块(104)内是唯一的;
使用所述多个标识的容器引用(105)和所述接收的数据块(300)中的每个数据段(102)的段标识符(110)来构建所述一个或多个段指示符(106)的有序列表;以及
存储包含所述多个标识的容器引用(105)和所述一个或多个段指示符(106)的有序列表的所述去重数据块(104)。
4.根据权利要求1至3中一项所述的装置(100),其特征在于,
每个去重数据块(104)还包括所述段引用(108)或其派生物的子集(301)。
5.根据权利要求4所述的装置(100),其特征在于,
每个复制数据块(104)的所述段引用(108)或其派生物的子集(301)包括N个段引用(108)或其派生物,N个段引用(108)或其派生物是从M个段引用(108)或其派生物选择而来,M个段引用(108)或其派生物是从其M个数据段(102)计算而出,其中,N小于M,优选地,N为4。
6.根据权利要求1至5中一项所述的装置(100),其特征在于,针对检索接收的数据块(300),用于:
检索所述接收的数据块(300)的所述存储的去重数据块(104);
针对所述去重数据块(104)内的每个容器引用标识符(105i)和所述一个或多个段指示符(106)的有序列表中的每个段指示符(106)的每个段标识符(110),从所述标识的引用容器(101)中检索所述标识的数据段(102)的数据;以及
根据所述去重数据块(104)中的所述一个或多个段指示符(106)的有序列表的顺序,从所述标识的引用容器(101)的所述标识的数据段(102)的检索到的数据中构建所述接收的数据块(300)。
7.根据权利要求1至6中一项所述的装置(100),其特征在于,针对删除数据块,用于:
检索与待删除数据块相关的去重数据块(104);
针对所述检索到的去重数据块(104)中的容器引用(105)所引用的每个容器(101),检索所述段标识符(110)和段引用(108);以及
在所述去重索引(107)中搜索包含在所述检索到的去重数据块(104)中的每个段引用(108)及其派生物,以检索与其关联的至少一个容器引用(105)和块引用(109);
删除所述检索到的去重数据块(104),从所述去重索引(107)中分别删除与所述待删除数据块中的容器引用相匹配的每个容器引用(105)以及与所述待删除数据块中的块引用相匹配的块引用(109)。
8.根据权利要求1至7中一项所述的装置(100),其特征在于,
所述多个容器(101)中的每个数据段(102)的所述段元数据(103)还包括引用计数;以及
所述装置(100)用于:当其存储包含所述数据段(102)的数据块时,增加所述引用计数,当其删除包含所述数据段(102)的数据块时,减少所述引用计数。
9.根据权利要求1至8中一项所述的装置(100),其特征在于,
从数据段(102)计算出的段引用(108)为一个散列值,优选地,为一个强散列值。
10.根据权利要求1至9中一项所述的装置(100),其特征在于,
去重数据块(104)中的段指示符(106)的大小为16比特或更小。
11.根据权利要求1至10中一项所述的装置,其特征在于,
段标识符(110)是一个整数,优选地,为一个14比特的整数。
12.根据权利要求1至11中一项所述的装置,其特征在于,
所述去重索引(107)中的块引用(109)的大小在1到8字节之间,并且优选地,为4字节。
13.一种将接收的数据块存储为去重数据块的方法(200),其特征在于,所述方法包括:
维护(201)多个容器(101),其中,容器(101)的引用是唯一的,每个容器(101)包括一个或多个数据段(102)和每个数据段(102)的段元数据(103),所述段元数据(103)包括段标识符(110)和段引用(108),其中,所述段标识符(110)在所述容器(101)内是唯一的,所述段引用(108)是唯一的;
维护(202)多个去重数据块(104),其存储接收的数据块(300),其中,每个去重数据块(104)包括多个标识的容器引用(105)和一个或多个段指示符(106)的有序列表,其中,容器引用标识符(105i)在所述去重数据块(104)内是唯一的,每个段指示符(106)包括段标识符(110)和所述容器(101)的所述容器引用(105)的容器引用标识符(105i),所述容器(101)包含所述标识的数据段(102),所述列表的顺序与所述接收的数据块(300)中的数据段(102)的顺序相同;以及
维护(203)去重索引(107),其包括多个段引用(108)或其派生物,其中,每个段引用(108)或其派生物是从接收的数据块(300)中的数据段(102)计算而出,并且至少与所述去重数据块(104)所引用的容器引用(105)和去重数据块(104)的一个唯一块引用(108)相关联。
14.一种包括程序代码的计算机程序产品,其特征在于,用于控制根据权利要求1至12中的一项所述的装置(100),或者用于当在计算机上运行时,执行根据权利要求13所述的方法(200)。
15.一种包含在介质中的由计算机实现的数据结构,其特征在于,所述数据结构包括:
多个容器(101),其中,容器的引用(105)在所述装置(100)内是唯一的,每个容器(101)包括一个或多个数据段(102)和每个数据段(102)的段元数据(103),所述段元数据(103)包括段标识符(110)和段引用(108),其中,所述段标识符(110)在所述容器(101)内是唯一的,所述段引用(108)在所述装置(100)内是唯一的;
多个去重数据块(104),其存储接收的数据块(300),其中,每个去重数据块(104)包括多个标识的容器引用(105)和一个或多个段指示符(106)的有序列表,其中,容器引用标识符(105i)在所述去重数据块(104)内是唯一的,每个段指示符(106)包括段标识符(110)和所述容器(101)的容器引用(!05)的容器引用标识符(105i),所述容器(101)包含所述标识的数据段(102),所述列表的顺序与所述接收的数据块(300)中的数据段(102)的顺序相同;以及
去重索引(107),其包括多个段引用(108)或其派生物,其中,每个段引用(108)或其派生物是从接收的数据块(300)中的数据段(102)计算而出,并且至少与所述去重数据块(104)所引用的容器引用(105)和去重数据块(104)的一个唯一块引用(109)相关联。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/071469 WO2019037878A1 (en) | 2017-08-25 | 2017-08-25 | APPARATUS AND METHOD FOR STORING DATA BLOCKS RECEIVED AS DEDPLICATED DATA BLOCKS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109937411A true CN109937411A (zh) | 2019-06-25 |
CN109937411B CN109937411B (zh) | 2021-08-20 |
Family
ID=59702731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780041609.5A Active CN109937411B (zh) | 2017-08-25 | 2017-08-25 | 将接收的数据块存储为去重数据块的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11507539B2 (zh) |
EP (1) | EP3659043B1 (zh) |
CN (1) | CN109937411B (zh) |
WO (1) | WO2019037878A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010258B2 (en) * | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
CA3109862A1 (en) * | 2020-02-20 | 2021-08-20 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for storage management |
CN111831480B (zh) * | 2020-06-17 | 2024-04-19 | 华中科技大学 | 一种基于去重系统的分层编码方法、装置及去重系统 |
US11526275B2 (en) | 2020-10-23 | 2022-12-13 | Netapp, Inc. | Creation and use of an efficiency set to estimate an amount of data stored in a data set of a storage system having one or more characteristics |
CN114780501A (zh) * | 2021-01-22 | 2022-07-22 | 伊姆西Ip控股有限责任公司 | 数据处理方法、电子设备和计算机程序产品 |
US11977454B2 (en) * | 2021-05-27 | 2024-05-07 | EMC IP Holding Company LLC | Leveraging metadata of a deduplication storage system to perform an efficient restore of backup data |
US11874821B2 (en) | 2021-12-22 | 2024-01-16 | Ebay Inc. | Block aggregation for shared streams |
US20230259488A1 (en) * | 2022-01-25 | 2023-08-17 | Hewlett Packard Enterprise Development Lp | Data index for deduplication storage system |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011159322A1 (en) * | 2010-06-18 | 2011-12-22 | Hewlett-Packard Development Company, L.P. | Data deduplication |
CN102541751A (zh) * | 2010-11-18 | 2012-07-04 | 微软公司 | 用于数据去重复的可缩放块存储 |
CN102567218A (zh) * | 2010-12-17 | 2012-07-11 | 微软公司 | 用于数据去重复块存储的垃圾收集和热点释放 |
CN102893265A (zh) * | 2010-03-10 | 2013-01-23 | 起元技术有限责任公司 | 管理可独立访问的数据单元的存储 |
CN103238140A (zh) * | 2010-09-03 | 2013-08-07 | 赛门铁克公司 | 基于去重复的存储系统中用于可扩展引用管理的系统和方法 |
CN103473150A (zh) * | 2013-08-28 | 2013-12-25 | 华中科技大学 | 一种用于数据去重系统中的碎片重写方法 |
CN104871155A (zh) * | 2012-10-01 | 2015-08-26 | 西部数据技术公司 | 优化用于去重的数据块大小 |
CN105917304A (zh) * | 2014-12-09 | 2016-08-31 | 华为技术有限公司 | 重复数据删除的装置和方法 |
CN107015888A (zh) * | 2017-03-30 | 2017-08-04 | 华中科技大学 | 一种基于子模模型的数据备份方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523098B2 (en) | 2004-09-15 | 2009-04-21 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US8447740B1 (en) * | 2008-11-14 | 2013-05-21 | Emc Corporation | Stream locality delta compression |
US8396899B2 (en) * | 2009-11-23 | 2013-03-12 | Dell Products L.P. | Efficient segment detection for deduplication |
US8682873B2 (en) * | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US8904137B1 (en) * | 2011-05-12 | 2014-12-02 | Symantec Corporation | Deduplication system space recycling through inode manipulation |
-
2017
- 2017-08-25 EP EP17757766.5A patent/EP3659043B1/en active Active
- 2017-08-25 WO PCT/EP2017/071469 patent/WO2019037878A1/en unknown
- 2017-08-25 CN CN201780041609.5A patent/CN109937411B/zh active Active
-
2020
- 2020-02-25 US US16/800,743 patent/US11507539B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893265A (zh) * | 2010-03-10 | 2013-01-23 | 起元技术有限责任公司 | 管理可独立访问的数据单元的存储 |
WO2011159322A1 (en) * | 2010-06-18 | 2011-12-22 | Hewlett-Packard Development Company, L.P. | Data deduplication |
CN103238140A (zh) * | 2010-09-03 | 2013-08-07 | 赛门铁克公司 | 基于去重复的存储系统中用于可扩展引用管理的系统和方法 |
CN102541751A (zh) * | 2010-11-18 | 2012-07-04 | 微软公司 | 用于数据去重复的可缩放块存储 |
CN102567218A (zh) * | 2010-12-17 | 2012-07-11 | 微软公司 | 用于数据去重复块存储的垃圾收集和热点释放 |
CN104871155A (zh) * | 2012-10-01 | 2015-08-26 | 西部数据技术公司 | 优化用于去重的数据块大小 |
CN103473150A (zh) * | 2013-08-28 | 2013-12-25 | 华中科技大学 | 一种用于数据去重系统中的碎片重写方法 |
CN105917304A (zh) * | 2014-12-09 | 2016-08-31 | 华为技术有限公司 | 重复数据删除的装置和方法 |
CN107015888A (zh) * | 2017-03-30 | 2017-08-04 | 华中科技大学 | 一种基于子模模型的数据备份方法和系统 |
Non-Patent Citations (1)
Title |
---|
卢永菁: "一种高性能重复数据删除系统设计及研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019037878A1 (en) | 2019-02-28 |
EP3659043A1 (en) | 2020-06-03 |
US11507539B2 (en) | 2022-11-22 |
EP3659043B1 (en) | 2023-02-22 |
CN109937411B (zh) | 2021-08-20 |
US20200192871A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109937411A (zh) | 将接收的数据块存储为去重数据块的装置和方法 | |
US8756238B2 (en) | Index searching using a bloom filter | |
US10585857B2 (en) | Creation of synthetic backups within deduplication storage system by a backup application | |
KR101708261B1 (ko) | 개별 액세스 가능한 데이터 유닛의 스토리지 관리 | |
US10783186B2 (en) | Heterogenous key-value sets in tree database | |
US10678654B2 (en) | Systems and methods for data backup using data binning and deduplication | |
KR102005831B1 (ko) | 범위-기반 검색을 위한 데이터 저장 관리 | |
US9047330B2 (en) | Index compression in databases | |
US20130290279A1 (en) | Scalable deduplication system with small blocks | |
CN109471905B (zh) | 一种支持时间范围和属性范围复合查询的区块链索引方法 | |
CN108089816B (zh) | 一种基于负载均衡的查询式重复数据删除方法及装置 | |
CN113767378A (zh) | 文件系统元数据去重复 | |
AU2015258326B2 (en) | Managing storage of individually accessible data units |
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 |