CN102346755A - 渐进式备份的高延展并行资源回收系统与方法 - Google Patents
渐进式备份的高延展并行资源回收系统与方法 Download PDFInfo
- Publication number
- CN102346755A CN102346755A CN2010105646799A CN201010564679A CN102346755A CN 102346755 A CN102346755 A CN 102346755A CN 2010105646799 A CN2010105646799 A CN 2010105646799A CN 201010564679 A CN201010564679 A CN 201010564679A CN 102346755 A CN102346755 A CN 102346755A
- Authority
- CN
- China
- Prior art keywords
- resource
- physical blocks
- catalogue
- time
- new directory
- 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
- 238000000034 method Methods 0.000 title claims description 30
- 238000011084 recovery Methods 0.000 claims description 64
- 238000013507 mapping Methods 0.000 claims description 14
- 230000000750 progressive effect Effects 0.000 claims description 5
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims description 4
- 229910052799 carbon Inorganic materials 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 230000008676 import Effects 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 11
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 244000144985 peep Species 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
一种用于去复本的渐进式备份的高延展并行资源回收系统与方法。该系统可在一存储器与一处理器中实行。此存储器可存储目前时间的一更新目录,一前像目录、一资源回收相关更新目录、及一回收目录。此前像目录包括在一存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本。通过配置在此存储器里的这些目录,此处理器限缩此资源回收所需的目录为渐进更新目录,并将资源回收工作分配至多个参与节点。每一物理区块可结合一过期时间与一参照计数来进行资源回收。当此参照计数下降至0时,此物理区块依此过期时间而被回收。
Description
技术领域
本公开涉及一种用于去复本的渐进式备份的高延展并行资源回收系统与方法。
背景技术
建立的备份图像(backup images)在经过一段时间后会过期。逻辑卷宗(logical volume)为备份的基础单元,且每一备份逻辑卷宗可包括多个备份图像。逻辑至物理对应图(Logical-to-Physical map,L2P map)可以将一逻辑卷宗所有逻辑区块号码(logical block numbers)对映至相对应于物理区块(physical block)。一物理存储器(physical storage)可备有一P阵列(P-array),来存储每一物理区信息。大部分的数据去复本技术着重于完整备份(fullbackups),即使所有逻辑区块中仅一小部分已经被变更,一逻辑卷宗的所有逻辑区块会从现存的区块中去复本(de-duplicated)。
过期备份图像的必须进行资源回收。资源回收在数据去复本系统中是一个必要的元件。资源回收信息的大小是与变更区块(changed block)的大小成正比的。所以,资源回收可以节省许多存取与资源回收相关元数据(metadata)的磁盘输入/输出。为了进一步减少在每一个别节点上与资源回收相关的元数据的大小,此元数据通过计算指纹的一种一致性的哈希函数值(consistent hash of fingerprints),再被分配至多个数据节点。
一种众所熟知的标记和清除(mark-and-sweep)资源回收的技术中,未被任何当前未过期备份的(live)逻辑至物理对应图使用的物理区块是可被安全回收的。进行备份时,不会保留任何元数据信息,而是扫描所有当前未过期备份图像的逻辑至物理对应图。而且,P阵列的物理区块会被标示,大多数是需要磁盘输入/输出(I/O)的随机更新(random update),之后将P阵列扫描以检测未尚使用的阵列元素(entries),这些阵列元素可以被加入到一欲回收目录(to-reclaim list)中。
一种众所熟知的以计数器为基础的(counter-based)资源回收技术中,将资源回收中的随机标记(offloading the random marking)从资源回收时间推迟到备份时间进行。在备份图像建立时,被此备份图像参照的所有物理区块的计数器会增量。依次,在备份图像过期时,被此备份图像参照的所有物理区块的计数器会减量。每一P阵列元素可备有一计数器,并且扫描P阵列来检测计数器的值为0的区块。在一方法范例中,每次回收一备份图像时,检查逻辑卷宗的所有逻辑至物理对应图,以更新该逻辑卷宗的所有逻辑区块地址,那些计数值为0的物理区块是可以被回收的。此方法范例不是可延展(scalable)的,因为必须检查所有逻辑至物理对应图。
一种众所熟知的以过期时间为基础的(expiration-time-based)资源回收的技术中,在备份图像的过期时,避免更新元数据。每一P阵列元素备有一过期时间。在备份建立时,所有被参照P阵列元素的过期时间会被更新,在资源回收时,扫描P阵列以来检测过期的区块。在一方法范例中,每次参照一物件时,以逆向指标(backward pointer)为基础,更新并适当地传播(propagated)它的过期时间(timeout)。在资源回收的期间,资源回收这些过期的逾时物件。当备份存储系统大时,这个方法范例也不可延展,一卷宗的逻辑至物理对应图指定的所有物理区块必须更新它们的逾时值。
分散式计数器为基础的资源回收可从例如1995年存储器管理的国际实务的期刊“分配资源回收技术的探讨”的描述而了解。例如,一种众所熟知的分配式资源回收技术是加权的(weighted)参照计数与标记和清除来回收资源周期(cycle)。这些分散式资源回收技术着重以一种容错性(fault-tolerant)的方式来追踪分散节点之间的相依性(dependencies)。分散式追踪的一个问题是使分散式标记阶段同步于独立(independent)清除阶段。容错性分散式追踪的另一个问题是维持阵列元素项目与现有项目的一致性(consistency)。
由于资源回收决定回收闲置中的数据区块的能力,所以去复本渐进式备份的高延展并行资源回收是必要的。
发明内容
本公开的实施范例可提供一种用于去复本的渐进式备份的高延展并行资源回收系统与方法。
在一实施范例中,公开一种用于去复本的渐进式备份的高延展并行资源回收方法应用于一存储系统。此方法包含:输入目前时间的一更新目录(Change List,CL)与一前像目录(Before-Image List,BIL),此前像目录包括在此存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本,且此多个复写物理区块的每一区块结合一去复本的参照计数(Rerence Count,RC)及一过期时间;对于此多个复写区块的更新目录里被参照的那些物理区块,增加它们相对应的参照计数,并更新它们相对应的过期时间,而此多个复写区块的前像目录里被参照的那些物理区块,减少它们相对应的参照计数,并更新它们相对应的过期时间;将所有这些更新目录或前像目录参照的物理区块加入到一资源回收相关的更新目录(Garbage Collection Related Change List,GC-CL);以及分配每一个物理区块的元数据,<过期时间、参照计数>,至多个参与节点,其中每一参与节点负责资源回收那些被对映到的物理区块。
在另一实施范例中,公开一种用于去复本的渐进式备份的高延展并行资源回收系统。此系统包含一存储器与一处理器。此存储器存储目前时间的一更新目录,一前像目录、一资源回收相关更新目录、及一回收目录。此前像目录包括在一存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本。此资源回收相关更新目录存储渐进的更新物理区块的相关信息。此回收目录是资源回收将被回收的物理区块。此处理器执行:此多个复写物理区块的每一区块结合一去复本的参照计数及一过期时间;此多个复写区块的更新目录里被参照的那些物理区块,增加它们相对应的参照计数,并更新它们相对应的过期时间,而此多个复写区块的前像目录里被参照的那些物理区块,减少它们相对应的参照计数,并更新它们相对应的过期时间;将所有这些更新目录或前像目录参照的物理区块加入到一资源回收相关的更新目录;以及分配每一个物理区块的元数据,<过期时间、参照计数>,至多个参与节点,其中每一参与节点负责资源回收那些被对映到的物理区块。
现在配合下列图示、实施范例的详细说明及权利要求书,将上述及本发明的其他目的与优点详述于后。
附图说明
图1是依变更区块的此组(三个)参数,过期时间、参照计数、与第一参照时间的变更区块的一个范例示意图,并与本公开的某些实施范例一致。
图2A至图2D是一工作范例,说明在备份时更新备份图像A至D的资源回收相关更新目录与回收目录,并与本公开的某些实施范例一致。
图3是一种用于去复本的渐进式备份的高延展并行资源回收方法应用于一存储系统的一个范例流程图,并与本公开的某些实施范例一致。
图4是一个范例流程图,说明在资源回收中如何更新一组相对应的三个参数,参照计数、过期时间、及第一次参照时间,并与本公开的某些实施范例一致。
图5是一个范例流程图,说明如何以参照计数为基础来进行资源回收,并与本公开的某些实施范例一致。
图6是一个范例示意图,说明如何依物理区块的指纹的一致的哈希值,来将资源回收相关更新目录与回收目录分散至多个参与并行节点,并与本公开的某些实施范例一致。
图7是说明并行资源回收如何与参与的并行节点一同运作的流程图,并与本公开的某些实施范例一致。
图8是一图6的流程图的一个工作范例,说明如何分散资源回收相关更新目录至4个参与节点,并与本公开的某些实施范例一致。
图9是用于去复本的渐进式备份的高延展并行资源回收系统的一个范例示意图,并与本公开的某些实施范例一致。
【主要元件符号说明】
100初始备份图像 320物理区块
110备份图像
310输入目前时间的一更新目录与一前像目录。此前像目录包括在此存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本,且此多个复写物理区块的每一区块结合三个一组的参数,即参照计数、过期时间、及第一次参照时间。
320此多个复写区块的更新目录里被参照的那些物理区块,增加它们的参照计数,并依此分别更新它们的过期时间与第一参照时间,而多个复写区块中,在前像目录里被参照的那些物理区块,减少它们的参照计数,并更新它们的过期时间
330更新目录或前像目录里被参照所有物理区块加入到一资源回收相关更新目录
340分散每一物理区块的元数据,即<过期时间、参照计数>,至多个参与节点,每一参与节点负责资源回收那些被对映到的物理区块
410当一物理区块因去复本而被参照时,增加此物理区块的参照计数
420若此物理区块之前并未记录在资源回收相关更新目录里,参照计数被设定为1,并且过期时间等于此目前过期时间的过期时间
430当一物理区块归属于一快照的一前像目录时,减少此物理区块的参照计数
510从回收目录中撷取出<逻辑区块号码、过期时间>对
520资源回收它们相对应的物理区块
610计算资源回收相关更新目录或前项目录中所有物理区块的指纹
620将此资源回收相关更新目录中或此前像目录的所有物理区块分散至多个并行节点
630依物理区块的指纹的一致的哈希值,将资源回收相关更新目录与回收目录分散至多个并行节点
640在多个并行节点的每一节点上,以独立方式来更新资源回收相关更新目录与回收目录
450物理区块 451物理区块
500备份图像D 501物理区块
600备份图像B
700备份图像A 750备份图像C
900高延展并行资源回收系统 910存储器
920处理器 930分散式资源回收单元
具体实施方式
数据去复本后,多个逻辑地址(logical address)可指向同一个的物理区块。因为大量的物理区块的关系,物理区块的资源回收是相当耗费时间。大部分物理区块是属于当前未过期图像,且它们不是被回收的候选对象。一个被复写的区块可以进行资源回收,如果此区块所属的备份图像过期而且此区块在去复本的备份图像之间没有被分享的话。本公开的实施范例可以提供一种系统与方法,来产生去复本渐进式备份的高延展资源回收。本公开应用两种技术。一种是限缩此资源回收渐进的更新。另一种是分散资源回收工作的至所有参与的节点。每一物理区块至少包括两个栏位(field)供资源回收时使用,一个是过期时间,另一个是参照计数。
当此参照计数降至0时,此物理区块依过期时间被回收。在备份时,对于复写物理区块,其前像计数器的参照计数是渐减,而对于新的物理区块而言是渐增,并且那些物理区块它们的过期时间会依此而被分别更新,并存储在一更新目录。在资源回收时,那些参照计数降至0,且已逾过期时间的区块会被回收。也就是说,当被回收的物理区块的参照计数是0时,是依它们的过期时间来回收。
每一改变的区块结合一组相对应的三个参数,即(参照计数、过期时间、及第一次参照时间),其中一参照计数(RC)是去复本物理区块的参照计数,过期时间(ET)是物理区块的过期时间,以及第一次参照时间(First ReferenceTime,FRT)是物理区块的第一次参照时间,用来准确地更新过期时间。
图1是依变更区块的此组(三个)参数,过期时间、参照计数、与第一次参照时间的一个范例示意图,并与本公开的某些实施范例一致。图1范例中,物理区块320结合三个一组的(1、700、600),1代表物理区块320的参照计数;700代表一初始备份图像100与备份图像100的物理区块320的过期时间;及600代表一备份图像110的过期时间。当此参照计数被解除参照时,第一次参照时间用来更新过期时间。后述的图4将详细说明。
去复本时,有两个目录做为输入。第一个目录是目前时间的一更新目录。此更新目录的每一阵列元素包括如逻辑区块号码、物理区块号码、及参照标志(referred flag)。此参照标志指示出一相对应的物理区块是否被参照。另一个目录是一前像目录,包括每一区块在目前时间的第一次复写的先前版本。当更新目录有被占用时,自此更新目录摘录出逻辑区块号码与物理区块号码。更新目录中被参照的物理区块分别增加它们的参照计数、更新过期时间、及更新第一次参照时间。前像目录里被参照的那些物理区块,减少它们的参照计数。所有这些物理区块被加入至一资源回收相关更新目录,此参照目录可以以存储在此物理区块号码来存储一渐增式目录,以加快此资源回收相关更新目录的更新。资源回收相关更新目录的每一阵列元素可包括物理区块号码、参照计数、过期时间、备份图像辨识码的栏位等。此备份图像辨识码可用来查询此第一次参照时间。
前像目录中被参照的物理区块增加它们的参照计数,并更新过期时间。当参照计数降至0时,此物理区块被移至一回收目录(Recycle List,RC)。需注意的是前像目录里的物理区块的第一次参照时间是不会被更新的。在资源回收时,检查此回收目录;检查物理区块的过期时间。那些过期的区块会被进行资源回收。与完整区块集合(full block set)相较,因为此资源回收相关更新目录的大小是与渐增和渐减的大小是相对小的,本公开的资源回收技术以物理容量来说是高延展性。
在备份时,每一快照(snapshot)的变更目录与前像目录用来更新此资源回收相关更新目录。图2A至图2D是一工作范例,说明在备份时更新备份图像A至D的资源回收相关更新目录与回收目录,并与本公开的某些实施范例一致。参考图2A的范例,备份图像A是一初始备份,并且还没有所有逻辑区块地址的一逻辑至物理对映图(共有逻辑区块号码1-12的共12个逻辑区块)。只有逻辑区块12有一相应对的物理区块地址700。备份图像A备有物理区块地址700的过期时间。此时,资源回收相关更新目录如标号210所示。可窥知,变更目录与此前像目录的一阵列元素可备有4个栏位。在这范例中,此第一栏位代表物理区块号码320,第二栏位代表物理区块320的参照计数1,第3栏位与第4栏位分别代表物理区块320的过期时间与相关备份图像。
参考图2B对于备份图像B,根据逻辑至物理对映图,逻辑区号地址1、2、7已经被写入。更新目录记录此写入的物理区块320、321与440。需注意的是,所有的这3个物理区块320、321与440的过期时间被更新如600所示,亦即备份图像B的过期时间。此时,加入物理区块320、321与440的3个阵列元素至一资源回收相关更新目录,更新后的资源回收相关更新目录如标号220所示的目录。
参考图2C,对于备份图像C,根据逻辑至物理对映图,逻辑区号1、2、9被写入。需注意的是,逻辑区块9分享相同的物理区块(物理区块321),即物理区块2的先前版本。物理区块321的过期时间更新为750,即备份C的过期时间。逻辑区块1与2分别地被对应至新的物理区块450与451。所以,物理区块450与451皆备有参照计数1及备份图像C的过期时间。物理区块320属于一快照的此前像目录,所以物理区块320的参照计数降至0(减少1)。此时,更新后的资源回收相关更新目录是如标号230所示的目录。
参考图2D,对于备份图像D,逻辑区号4、5、9被写入。需注意的是,逻辑区块9被对应至一新的物理区块501。所以,物理区块501备有此参照计数及备份图像D的过期时间500。因为物理区块属于一快照的前像目录,所以物理区块321的参照计数降至0(减少1)。此时,更新后资源回收相关更新目录如标号240所示的目录。
图3是一种用于去复本的渐进式备份的高延展并行资源回收方法应用于一存储系统的一个范例流程图,并与本公开的某些实施范例一致。参考图3,在步骤310中,输入目前时间的一更新目录与一前像目录。此前像目录包括在此存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本,且此多个复写物理区块的每一区块结合三个一组的(triple)参数,即参照计数、过期时间、及第一次参照时间。其中,参照计数、一过期时间、及第一次参照时间如先前所定义。在步骤320中,此多个复写区块的更新目录里被参照的那些物理区块,增加它们的参照计数,并依此分别更新它们的过期时间与第一参照时间,而多个复写区块中,在前像目录里被参照的那些物理区块,减少它们的参照计数,并更新它们的过期时间。在步骤330中,更新目录或前像目录里被参照所有物理区块加入到一资源回收相关更新目录。在步骤340中,分散每一物理区块的元数据,即<过期时间、参照计数>,至多个参与节点,每一参与节点负责资源回收那些被对映到的物理区块。
在步骤340中,每一参与节点可将资源回收相关更新目录里那些具有0参照计数的物理区块移至一回收目录,并资源回收该回收目录中已过期的物理区块。也就是说,当参照计数降至0时,相对应的物理区块会自资源回收相关更新目录中移除,并附加在回收目录来进行资源回收,且此过期时间指出此物理区块何时过期。
图4是一个范例流程图,说明在资源回收中如何更新一组相对应的三个参数,参照计数、过期时间、及第一次参照时间,并与本公开的某些实施范例一致。在一初始备份图像的一物理区块,其参照计数等于1并且过期时间等于此初始备份图像的过期时间。参考图4,过期时间可更新如下。当一物理区块因去复本而被参照,其过期时间被更新为,存储的过期时间与包含此去复本的物理区块的快照过期时间,两者之间的最新的过期时间,如步骤410所示。如果此物理区块之前并未被记录在于资源回收相关更新目录里,第一次参照时间被设定为此目前时间(步骤420)。当一物理区块归属于一快照的前像目录时,例如此物理区块被复写,其过期时间则被更新为过期时间与自此物理区块的第一次参考时间起,所有先前快照的最大的过期时间,两者之中较大者,如步骤430所示,其中最高-过期时间(H-ET)意指自此物理区块的第一次参照时间起,所有先前快照的最大过期时间。
参照计数可更新如下。当一物理区块因去复本而被参照时,增加此物理区块的参照计数,如步骤410所示。当一物理区块归属于一快照的一前像目录时,减少此物理区块的参照计数,如步骤430所示。如果此物理区块之前并未记录在资源回收相关更新目录里,参照计数被设定为1,并且过期时间等于此目前过期时间的过期时间,如步骤420所示。
回收目录是一渐增式目录,其启始值为NIL,因为在主要存储体卷宗里,最初是没有去复本。此增加目录可用来找出物理数据区块,来进行资源回收。图5是一个范例流程图,说明如何以参照计数为基础来进行资源回收,并与本公开的某些实施范例一致。参考图5所示,检索回收目录之后,当回收目录为非空时,从回收目录中撷取出<逻辑区块号码、过期时间>对,如步骤510所示。当找到逾期的过期时间时,资源回收它们相对应的物理区块,如步骤520所示。基本上,在回收目录中所有的物理区块都会被检查,以回收那些已经过期的物理区块。
图2的工作范例中,在资源回收时(如在备份图像D建立后),那些在资源回收相关更新目录240中,其参照计数为0的所有元素都会被撷取出,以形成回收目录。在该范例中,回收目录中包括物理区块320与321。物理区块320与321可分别在时间600与750时被回收。
而且,例如,当一资源回收相关更新目录无法设置在一节点的一随机存取存储器(Radom Access Memory,RAM)里时,此资源回收工作可被分散至多个参与数据节点。因为一特殊的哈希值(hash value)代表常驻在一数据节点,并且一物理区块可用哈希值代表,一特殊物理区块的三个为一组的<过期时间、参照计数、与第一参照时间>与一指纹(fingerprint)结合。根据指纹之一致的哈希值来分散此物理区块至一特定的数据节点。依一存储系统中多个物理区块的一致的哈希值,将资源回收相关更新目录分散至所有的数据节点。因为此三个为一组的<过期时间、参照计数、与第一参照时间>依此物理区块的指纹,独自归属于一数据节点,每一数据节点可独立地决定那一物理区块要回收。资源回收相关更新目录中所有物理区块的指纹,其中一指纹是区块内容的一哈希值。每一指纹有足够的长度,因而具有极低的互撞率(collision rate)。例如,一指纹可为20字节(byte)的长度。然后,每一指纹通过一致的哈希值对映至4个参与节点中的1个节点。
图6是一个范例示意图,说明如何依物理区块的指纹的一致的哈希值,来将资源回收相关更新目录与回收目录分散至多个参与并行节点(participating parallel nodes),并与本公开的某些实施范例一致。参考图6,计算资源回收相关更新目录或前项目录中所有物理区块的指纹,如步骤610所示。在步骤620中,将此资源回收相关更新目录中或此前像目录的所有物理区块分散至多个并行节点。在步骤630中,依物理区块的指纹的一致的哈希值,将资源回收相关更新目录与回收目录分散至多个并行节点。在步骤640中,在多个并行节点的每一节点上,以独立方式(stand-alone fashion)来更新资源回收相关更新目录与回收目录。
图7是说明并行资源回收如何与参与的并行节点一同运作的流程图,并与本公开的某些实施范例一致。如图7流程图范例所示,检查每一参与并行节点的回收目录,如步骤710所示。然后,在每一参与并行节点上,以独立方式资源回收物理区块,如步骤720所示。也就是说,每一参与并行节点依据自己的回收目录,独立地资源回收物理区块。
图8是图6的流程图的一个工作范例,说明如何分散资源回收相关更新目录至4个参与节点,并与本公开的某些实施范例一致。参考图8,计算资源回收相关更新目录中所有物理区块的指纹(一指纹是此区块内容的一哈希值)。每一指纹的足够长度,因而具有极低的互撞率。例如,一指纹的长度可为20字节(byte),物理区块450资源回收相关更新目录240具有一指纹为0x8892…3。每一指纹通过一致的哈希值对映至4个参与节点中的1个节点。在此工作范例中,节点1容纳物理区块440与700。节点2容纳物理区块320与800。节点3容纳物理区块321、501、及700。节点4容纳物理区块450与451。分配工作完成后,每一节点可独立地资源回收指定给此节点的物理区块。例如,节点4是负责资源回收物理区块450与451。
依此,以下一实验范例来证明本公开的资源回收是具有渐进式的高延展性的。在本实验范例中,以一固定时间(fixed time)(如,1000秒)的一过期时间的一逻辑卷宗来产生多个(如,1000)备份图像。每一备份图像复写一先前备份图档的1%。此1%的备份图像复写被写入至此逻辑卷宗的相同部位。在此先前备份图像之后,每一备份图像需要花费10秒。在此时间窗(timewindow)的尾端(1000*10=10000秒)时,启始本公开的资源回收并检查可用的闲置区块(free blocks)。在短时间内(1000秒以内,其主要用来扫描每一个物理区块的元数据),可以发现可用的闲置区块的数目以2.56G在增加。所以,本公开的资源回收是以渐进式的区块变更为基础的。
图9是用于去复本的渐进式备份的高延展并行资源回收系统的一个范例示意图,并与本公开的某些实施范例一致。此描述的实施范例可以全部都是硬件,或是兼具硬件与软件元件。此渐进式的高延展并行资源回收系统可包含一计算机程序产品(computer program product)与一处理器。此计算机程序产品可从一计算机可使用(computer-usable)或计算机可读取(computer-readable)的介质取得。此存储器可执行上述的资源回收。一计算机可使用或一计算机可读取的介质可包括此处理器可使用或可相连接的任何装置,此装置存储如更新目录、前像目录、资源回收相关更新目录、及回收目录。此计算机可使用或此计算机可读取的介质可选自一半导体(semiconductor)或固态存储器(solid state memory)、一可移除的计算机磁盘(removable computer disk)、一随机存取存储器、一不易弯曲的磁盘(rigidmagnetic disk)、以及一光盘(optical disk)等等。
参考图9,高延展并行资源回收系统900可包含一存储器910与一处理器920。其中,存储器910存储在一目前时间的一输入的更新目录、一输入的前像目录、一资源回收相关更新目录、及一回收目录。前像目录包括在此存储系统中多个复写物理区块的每一区块在此目前时间的第一次复写的先前版本。一资源回收相关更新目录记录渐进的更新物理区块的相关信息。回收目录资源回收要被回收的物理区块。处理器920可执行:此多个复写物理区块的每一区块结合一去复本的参照计数及一过期时间;此多个复写区块的更新目录里被参照的那些物理区块,增加它们相对应的参照计数,并更新它们相对应的过期时间,而多个复写区块的前像目录里被参照的那些物理区块,减少它们相对应的参照计数,并更新它们相对应的过期时间;将所有这些参照更新目录或前像目录的物理区块加入到一资源回收相关的更新目录;系统900进一步分配每一个物理区块的元数据,<过期时间、参照计数>,至多个参与节点,其中每一参与节点负责资源回收那些被对映到的物理区块。每一参与节点可将资源回收相关更新目录里那些物理区块移至此回收目录,并资源回收此回收目录中已过期的这些物理区块。
高延展并行资源回收系统900进一步包括一分散式资源回收单元(distributed garbage collection unit)930,依据资源回收相关更新目录中多个所有物理区块的指纹的一致的哈希值,将每一个物理区块的元数据<过期时间、参照计数>分散至多个参与节点。此资源回收单元930可同时将此资源回收相关更新目录与此回收目录分散至多个参与节点,如节点1~节点K。分散此资源回收相关更新目录与此回收目录的步骤如图6的步骤610-640所示。在分散每一物理区块的元数据<过期时间、参照计数>至多个参与节点后,每一参与节点独立地资源回收被对映到的物理区块,如图7所述。
综合上述,本公开的实施范例可提供一种用于去复本的渐进式备份的高延展并行资源回收系统与方法,以节省许多存取资源回收相关元数据的磁盘输入/输出,并且减少在每一个别节点上的资源回收相关元数据的容量,经由限缩此资源回收渐进的更新,并将资源回收工作分散至多个参与节点。每一物理区块可结合一过期时间与一参照计数来进行资源回收。当此参照计数下降至0时,此物理区块依照其过期时间而被回收。
然而以上所述仅为本公开的实施范例而已,当不能依此限定本公开实施的范围。即大凡一本公开申请权利要求书所作的均等变化与修饰,皆应仍属本公开权利要求书涵盖的范围内。
Claims (17)
1.一种用于去复本的渐进式备份的高延展并行资源回收方法,应用于一存储系统,该方法包含:
输入目前时间的一更新目录与一前像目录,该前像目录包括在该存储系统中多个复写物理区块的每一区块在该目前时间的第一次复写的先前版本,且该多个复写物理区块的每一区块结合一去复本的参照计数及一过期时间;
该多个复写区块的该更新目录里被参照的那些物理区块,增加它们相对应的参照计数,并更新它们相对应的过期时间,而该多个复写区块的前像目录里被参照的那些物理区块,减少它们相对应的参照计数,并更新它们相对应的过期时间;
将所有该更新目录或该前像目录参照的该物理区块加入到一资源回收相关的更新目录;以及
分配每一个物理区块的元数据,<过期时间、参照计数>,至多个参与节点,其中每一参与节点负责资源资源回收那些被对映到的物理区块。
2.如权利要求1所述的资源回收方法,其中每一参与节点负责资源回收那些被对映到的物理区块还包括将该资源回收相关更新目录里那些具有0参照计数的物理区块移至一回收目录,并资源回收该回收目录中已过期的物理区块。
3.如权利要求1所述的资源回收方法,其中该资源回收依该存储系统中多个复写物理区块的一致的哈希值,将该资源回收相关更新目录分散至该多个数据节点。
4.如权利要求2所述的资源回收方法,其中每一该参与节点依据被对映到物理区块,独立地资源回收物理区块。
5.如权利要求1所述的资源回收方法,其中该过期时间的更新还包括下列步骤:
当一物理区块因去复本而被参照,其过期时间被更新为,存储的过期时间与包含此去复本的物理区块的快照过期时间,两者之间的最新的过期时间;
如果此物理区块之前并未被记录在于资源回收相关更新目录里,该第一次参照时间被设定为该目前时间;
当该物理区块归属于一快照的该前像目录时;该过期时间则被更新为过期时间与自该物理区块的该第一次参考时间起,所有先前快照的最大的过期时间,两者之中较大者。
6.如权利要求1所述的资源回收方法,其中该参照计数的更新包括下列步骤:
当此物理区块因去复本而被参照时,增加此物理区块的该参照计数;
当此物理区块归属于一快照的该前像目录时,减少该物理区块的该参照计数;
如果此物理区块之前并未记录在资源回收相关更新目录里,参照计数被设定为1。
7.如权利要求2所述的资源回收方法,其中依该多个物理区块的指纹的一致的哈希值,将该资源回收相关更新目录与该回收目录分散至该多个参与节点。
8.如权利要求7所述的资源回收方法,其中将该资源回收相关更新目录与该回收目录分散至该多个参与节点还包括:
计算该资源回收相关更新目录中该所有物理区块的指纹;
依据该指纹的一致的哈希值,将此资源回收相关更新目录中或此前像目录的所有物理区块分散至多个并行节点;
以独立方式,在该多个并行节点的每一节点上,来更新该资源回收相关更新目录与该回收目录。
9.如权利要求1所述的资源回收方法,其中该资源回收相关更新目录为备有至少一阵列元素的渐增目录,该每一阵列元素至少包括一物理区块号码、一参照计数、一过期时间、以及一备份图像辨识码。
10.如权利要求1所述的资源回收方法,其中该回收目录为备有至少一阵列元素的目录,该每一阵列元素至少包括一逻辑区块号码、一物理区块号码、以及一参照标志,其中该参照标志指示出一相对应的物理区块是否被参照。
11.一种用于去复本的渐进式备份的高延展并行资源回收系统,应用一存储系统,该资源回收系统包含:
一存储器,存储目前时间的一更新目录,一前像目录、一资源回收相关更新目录、及一回收目录;
该前像目录包括在该存储系统中多个复写物理区块的每一区块在目前时间的第一次复写的先前版本;
一处理器执行:
该多个复写物理区块的每一区块结合一去复本的参照计数及一过期时间;
该多个复写区块的更新目录里被参照的那些物理区块,增加它们相对应的参照计数,更新它们相对应的过期时间,而该多个复写区块的前像目录里被参照的那些物理区块,减少它们相对应的该参照计数,并更新它们相对应的过期时间;以及
将这些该更新目录或该前像目录参照的物理区块加入到一资源回收相关更新目录;
该系统进一步分配每一个物理区块的元数据,<过期时间、参照计数>,至多个参与节点,其中该每一参与节点负责资源回收那些对映到的物理区块。
12.如权利要求11所述的资源回收系统,其中该资源回收相关更新目录存储渐进的更新物理区块的信息。
13.如权利要求11所述的资源回收系统,其中该回收目录是资源回收至少一将被回收的该多个复写区块。
14.如权利要求11所述的资源回收系统,其中将该资源回收相关更新目录里那些具有0参照计数的物理区块移至一回收目录,并资源回收该回收目录中已过期的物理区块。
15.如权利要求11所述的资源回收系统,其中该系统更可包括一分散式资源回收单元,依据资源回收相关更新目录中该多个所有物理区块的指纹的一致的哈希值,将每一个物理区块的元数据<过期时间、参照计数>分散至多个参与节点。
16.如权利要求15所述的资源回收系统,其中该分散式资源回收单元将该资源回收相关更新目录与该回收目录分散至该多个参与节点。
17.如权利要求15所述的资源回收系统,其中在分散每一物理区块的元数据<过期时间、参照计数>至该多个参与节点后,每一该参与节点独立地资源回收被对映到的物理区块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/846,824 | 2010-07-30 | ||
US12/846,824 US20120030260A1 (en) | 2010-07-30 | 2010-07-30 | Scalable and parallel garbage collection method and system for incremental backups with data de-duplication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102346755A true CN102346755A (zh) | 2012-02-08 |
CN102346755B CN102346755B (zh) | 2013-04-17 |
Family
ID=45527813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010564679.9A Active CN102346755B (zh) | 2010-07-30 | 2010-11-30 | 渐进式备份的高延展并行资源回收系统与方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120030260A1 (zh) |
CN (1) | CN102346755B (zh) |
TW (1) | TWI438622B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201904A (zh) * | 2016-06-30 | 2016-12-07 | 网易(杭州)网络有限公司 | 用于内存垃圾回收的方法及装置 |
WO2018137624A1 (zh) * | 2017-01-24 | 2018-08-02 | 腾讯科技(深圳)有限公司 | 共享数据回收方法、装置、计算机设备及存储介质 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US9223811B2 (en) * | 2012-05-31 | 2015-12-29 | International Business Machines Corporation | Creation and expiration of backup objects in block-level incremental-forever backup systems |
US9411717B2 (en) * | 2012-10-23 | 2016-08-09 | Seagate Technology Llc | Metadata journaling with error correction redundancy |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
JP2016526717A (ja) * | 2013-06-12 | 2016-09-05 | エグザブロックス・コーポレーション | ハイブリッドガベージコレクション |
EP3011428A4 (en) | 2013-06-19 | 2017-02-22 | Exablox Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
JP2017504924A (ja) | 2014-02-04 | 2017-02-09 | エグザブロックス・コーポレーション | ファイルシステムのコンテンツベースの編成 |
US9940234B2 (en) * | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US11294588B1 (en) * | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US10146684B2 (en) * | 2016-10-24 | 2018-12-04 | Datrium, Inc. | Distributed data parallel method for reclaiming space |
US10983908B1 (en) * | 2017-07-13 | 2021-04-20 | EMC IP Holding Company LLC | Method and system for garbage collection of data protection virtual machines in cloud computing networks |
KR102512727B1 (ko) | 2017-12-22 | 2023-03-22 | 삼성전자주식회사 | 가비지 컬렉션을 수행하는 스토리지 장치, 및 스토리지 장치의 가비지 컬렉션 방법 |
CN109445681B (zh) * | 2018-08-27 | 2021-05-11 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
US11921587B2 (en) * | 2022-07-25 | 2024-03-05 | Cohesity, Inc. | Parallelization of incremental backups |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387124A (zh) * | 2002-05-14 | 2002-12-25 | 清华同方光盘股份有限公司 | 直接联网超大容量虚拟镜像光盘服务器的实现方法 |
US20050071335A1 (en) * | 2003-09-29 | 2005-03-31 | Microsoft Corporation | Method and apparatus for lock-free, non -blocking hash table |
US20080005141A1 (en) * | 2006-06-29 | 2008-01-03 | Ling Zheng | System and method for retrieving and using block fingerprints for data deduplication |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928316B2 (en) * | 2003-06-30 | 2005-08-09 | Siemens Medical Solutions Usa, Inc. | Method and system for handling complex inter-dependencies between imaging mode parameters in a medical imaging system |
US7430571B2 (en) * | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
US8650228B2 (en) * | 2008-04-14 | 2014-02-11 | Roderick B. Wideman | Methods and systems for space management in data de-duplication |
US8484162B2 (en) * | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US9542409B2 (en) * | 2008-11-26 | 2017-01-10 | Red Hat, Inc. | Deduplicated file system |
US8032498B1 (en) * | 2009-06-29 | 2011-10-04 | Emc Corporation | Delegated reference count base file versioning |
-
2010
- 2010-07-30 US US12/846,824 patent/US20120030260A1/en not_active Abandoned
- 2010-10-21 TW TW099135949A patent/TWI438622B/zh active
- 2010-11-30 CN CN201010564679.9A patent/CN102346755B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1387124A (zh) * | 2002-05-14 | 2002-12-25 | 清华同方光盘股份有限公司 | 直接联网超大容量虚拟镜像光盘服务器的实现方法 |
US20050071335A1 (en) * | 2003-09-29 | 2005-03-31 | Microsoft Corporation | Method and apparatus for lock-free, non -blocking hash table |
US20080005141A1 (en) * | 2006-06-29 | 2008-01-03 | Ling Zheng | System and method for retrieving and using block fingerprints for data deduplication |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201904A (zh) * | 2016-06-30 | 2016-12-07 | 网易(杭州)网络有限公司 | 用于内存垃圾回收的方法及装置 |
CN106201904B (zh) * | 2016-06-30 | 2019-03-26 | 网易(杭州)网络有限公司 | 用于内存垃圾回收的方法及装置 |
WO2018137624A1 (zh) * | 2017-01-24 | 2018-08-02 | 腾讯科技(深圳)有限公司 | 共享数据回收方法、装置、计算机设备及存储介质 |
US10795778B2 (en) | 2017-01-24 | 2020-10-06 | Tencent Technology (Shenzhen) Company Limited | Shared data recovery method and apparatus, computer device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN102346755B (zh) | 2013-04-17 |
US20120030260A1 (en) | 2012-02-02 |
TWI438622B (zh) | 2014-05-21 |
TW201205278A (en) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346755B (zh) | 渐进式备份的高延展并行资源回收系统与方法 | |
US11762817B2 (en) | Time sequence data management | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
US10956364B2 (en) | Efficient data synchronization for storage containers | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US8352422B2 (en) | Data restore systems and methods in a replication environment | |
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
US8548948B2 (en) | Methods and apparatus for a fine grained file data storage system | |
WO2021202175A1 (en) | File systems constructed of block objects | |
US8433863B1 (en) | Hybrid method for incremental backup of structured and unstructured files | |
US7681001B2 (en) | Storage system | |
US8688935B1 (en) | Storage system and method for snapshot space management | |
TW201205286A (en) | Controller, data storage device, and program product | |
US20120278580A1 (en) | Data storage reclamation systems and methods | |
US20170032012A1 (en) | Replicating Big Data | |
WO2021129151A1 (zh) | 文件备份方法、装置及终端设备 | |
US20160147569A1 (en) | Distributed technique for allocating long-lived jobs among worker processes | |
US10977143B2 (en) | Mirrored write ahead logs for data storage system | |
EP3789883A1 (en) | Storage fragment managing method and terminal | |
CN105493080B (zh) | 基于上下文感知的重复数据删除的方法和装置 | |
CN101305341A (zh) | 混合式本地存储和远程存储环境中的数据集版本计数 | |
US11194674B2 (en) | Direct access to backup copy | |
US20200226060A1 (en) | In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations | |
US20070016628A1 (en) | Classification system for versionable objects | |
CN117149724B (zh) | 一种云环境系统重复数据删除的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |