亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

漸進式備份的高延展并行資源回收系統(tǒng)與方法

文檔序號:6337032閱讀:255來源:國知局
專利名稱:漸進式備份的高延展并行資源回收系統(tǒng)與方法
技術領域
本公開涉及一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)與方法。
背景技術
建立的備份圖像(backup images)在經(jīng)過一段時間后會過期。邏輯卷宗(logical volume)為備份的基礎單元,且每一備份邏輯卷宗可包括多個備份圖像。邏輯至物理對應圖(Logical-to-Physical map, L2P map)可以將一邏輯卷宗所有邏輯區(qū)塊號碼(logical block numbers)對映至相對應于物理區(qū)塊(physical block)。一物理存儲器(physical storage)可備有一 P陣列(P-array),來存儲每一物理區(qū)信息。大部分的數(shù)據(jù)去復本技術著重于完整備份(full backups),即使所有邏輯區(qū)塊中僅一小部分已經(jīng)被變更,一邏輯卷宗的所有邏輯區(qū)塊會從現(xiàn)存的區(qū)塊中去復本(de-duplicated)。過期備份圖像的必須進行資源回收。資源回收在數(shù)據(jù)去復本系統(tǒng)中是一個必要的元件。資源回收信息的大小是與變更區(qū)塊(changed block)的大小成正比的。所以,資源回收可以節(jié)省許多存取與資源回收相關元數(shù)據(jù)(metadata)的磁盤輸入/輸出。為了進一步減少在每一個別節(jié)點上與資源回收相關的元數(shù)據(jù)的大小,此元數(shù)據(jù)通過計算指紋的一種一致性的哈希函數(shù)值(consistent hash of fingerprints),再被分配至多個數(shù)據(jù)節(jié)點。一種眾所熟知的標記和清除(mark-and-swe印)資源回收的技術中,未被任何當前未過期備份的(live)邏輯至物理對應圖使用的物理區(qū)塊是可被安全回收的。進行備份時,不會保留任何元數(shù)據(jù)信息,而是掃描所有當前未過期備份圖像的邏輯至物理對應圖。而且,P陣列的物理區(qū)塊會被標示,大多數(shù)是需要磁盤輸入/輸出(1/0)的隨機更新(random update),之后將P陣列掃描以檢測未尚使用的陣列元素(entries),這些陣列元素可以被加入到一欲回收目錄(to-reclaim list)中。一種眾所熟知的以計數(shù)器為基礎的(counter-based)資源回收技術中,將資源回收中的隨機標記(offloading the random marking)從資源回收時間推遲到備份時間進行。在備份圖像建立時,被此備份圖像參照的所有物理區(qū)塊的計數(shù)器會增量。依次,在備份圖像過期時,被此備份圖像參照的所有物理區(qū)塊的計數(shù)器會減量。每一 P陣列元素可備有一計數(shù)器,并且掃描P陣列來檢測計數(shù)器的值為0的區(qū)塊。在一方法范例中,每次回收一備份圖像時,檢查邏輯卷宗的所有邏輯至物理對應圖,以更新該邏輯卷宗的所有邏輯區(qū)塊地址,那些計數(shù)值為0的物理區(qū)塊是可以被回收的。此方法范例不是可延展(scalable)的, 因為必須檢查所有邏輯至物理對應圖。一種眾所熟知的以過期時間為基礎的(expiration-time-based)資源回收的技術中,在備份圖像的過期時,避免更新元數(shù)據(jù)。每一P陣列元素備有一過期時間。在備份建立時,所有被參照P陣列元素的過期時間會被更新,在資源回收時,掃描P陣列以來檢測過期的區(qū)塊。在一方法范例中,每次參照一物件時,以逆向指標(backward pointer)為基礎, 更新并適當?shù)貍鞑?propagated)它的過期時間(timeout)。在資源回收的期間,資源回收這些過期的逾時物件。當備份存儲系統(tǒng)大時,這個方法范例也不可延展,一卷宗的邏輯至物理對應圖指定的所有物理區(qū)塊必須更新它們的逾時值。分散式計數(shù)器為基礎的資源回收可從例如1995年存儲器管理的國際實務的期刊“分配資源回收技術的探討”的描述而了解。例如,一種眾所熟知的分配式資源回收技術是加權的(weighted)參照計數(shù)與標記和清除來回收資源周期(cycle)。這些分散式資源回收技術著重以一種容錯性(fault-tolerant)的方式來追蹤分散節(jié)點之間的相依性 (dependencies)。分散式追蹤的一個問題是使分散式標記階段同步于獨立(ind印endent) 清除階段。容錯性分散式追蹤的另一個問題是維持陣列元素項目與現(xiàn)有項目的一致性 (consistency)0由于資源回收決定回收閑置中的數(shù)據(jù)區(qū)塊的能力,所以去復本漸進式備份的高延展并行資源回收是必要的。

發(fā)明內(nèi)容
本公開的實施范例可提供一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)與方法。在一實施范例中,公開一種用于去復本的漸進式備份的高延展并行資源回收方法應用于一存儲系統(tǒng)。此方法包含輸入目前時間的一更新目錄(Change List,CL)與一前像目錄(Before-Image List, BIL),此前像目錄包括在此存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本,且此多個復寫物理區(qū)塊的每一區(qū)塊結合一去復本的參照計數(shù)(Rerence Count, RC)及一過期時間;對于此多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們相對應的參照計數(shù),并更新它們相對應的過期時間,而此多個復寫區(qū)塊的前像目錄里被參照的那些物理區(qū)塊,減少它們相對應的參照計數(shù),并更新它們相對應的過期時間;將所有這些更新目錄或前像目錄參照的物理區(qū)塊加入到一資源回收相關的更新目錄(Garbage Collection Related Change List,GC_CL);以及分配每一個物理區(qū)塊的元數(shù)據(jù),< 過期時間、參照計數(shù) >,至多個參與節(jié)點,其中每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊。在另一實施范例中,公開一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)。此系統(tǒng)包含一存儲器與一處理器。此存儲器存儲目前時間的一更新目錄,一前像目錄、 一資源回收相關更新目錄、及一回收目錄。此前像目錄包括在一存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本。此資源回收相關更新目錄存儲漸進的更新物理區(qū)塊的相關信息。此回收目錄是資源回收將被回收的物理區(qū)塊。此處理器執(zhí)行 此多個復寫物理區(qū)塊的每一區(qū)塊結合一去復本的參照計數(shù)及一過期時間;此多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們相對應的參照計數(shù),并更新它們相對應的過期時間,而此多個復寫區(qū)塊的前像目錄里被參照的那些物理區(qū)塊,減少它們相對應的參照計數(shù),并更新它們相對應的過期時間;將所有這些更新目錄或前像目錄參照的物理區(qū)塊加入到一資源回收相關的更新目錄;以及分配每一個物理區(qū)塊的元數(shù)據(jù),<過期時間、參照計數(shù)〉,至多個參與節(jié)點,其中每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊。現(xiàn)在配合下列圖示、實施范例的詳細說明及權利要求書,將上述及本發(fā)明的其他目的與優(yōu)點詳述于后。


圖1是依變更區(qū)塊的此組(三個)參數(shù),過期時間、參照計數(shù)、與第一參照時間的變更區(qū)塊的一個范例示意圖,并與本公開的某些實施范例一致。圖2A至圖2D是一工作范例,說明在備份時更新備份圖像A至D的資源回收相關更新目錄與回收目錄,并與本公開的某些實施范例一致。圖3是一種用于去復本的漸進式備份的高延展并行資源回收方法應用于一存儲系統(tǒng)的一個范例流程圖,并與本公開的某些實施范例一致。圖4是一個范例流程圖,說明在資源回收中如何更新一組相對應的三個參數(shù),參照計數(shù)、過期時間、及第一次參照時間,并與本公開的某些實施范例一致。圖5是一個范例流程圖,說明如何以參照計數(shù)為基礎來進行資源回收,并與本公開的某些實施范例一致。圖6是一個范例示意圖,說明如何依物理區(qū)塊的指紋的一致的哈希值,來將資源回收相關更新目錄與回收目錄分散至多個參與并行節(jié)點,并與本公開的某些實施范例一致。圖7是說明并行資源回收如何與參與的并行節(jié)點一同運作的流程圖,并與本公開的某些實施范例一致。圖8是一圖6的流程圖的一個工作范例,說明如何分散資源回收相關更新目錄至 4個參與節(jié)點,并與本公開的某些實施范例一致。圖9是用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)的一個范例示意圖, 并與本公開的某些實施范例一致。主要元件符號說明100初始備份圖像320物理區(qū)塊110備份圖像310輸入目前時間的一更新目錄與一前像目錄。此前像目錄包括在此存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本,且此多個復寫物理區(qū)塊的每一區(qū)塊結合三個一組的參數(shù),即參照計數(shù)、過期時間、及第一次參照時間。320此多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們的參照計數(shù), 并依此分別更新它們的過期時間與第一參照時間,而多個復寫區(qū)塊中,在前像目錄里被參照的那些物理區(qū)塊,減少它們的參照計數(shù),并更新它們的過期時間330更新目錄或前像目錄里被參照所有物理區(qū)塊加入到一資源回收相關更新目錄340分散每一物理區(qū)塊的元數(shù)據(jù),即 < 過期時間、參照計數(shù) >,至多個參與節(jié)點,每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊410當一物理區(qū)塊因去復本而被參照時,增加此物理區(qū)塊的參照計數(shù)420若此物理區(qū)塊之前并未記錄在資源回收相關更新目錄里,參照計數(shù)被設定為 1,并且過期時間等于此目前過期時間的過期時間430當一物理區(qū)塊歸屬于一快照的一前像目錄時,減少此物理區(qū)塊的參照計數(shù)510從回收目錄中擷取出〈邏輯區(qū)塊號碼、過期時間〉對520資源回收它們相對應的物理區(qū)塊610計算資源回收相關更新目錄或前項目錄中所有物理區(qū)塊的指紋
620將此資源回收相關更新目錄中或此前像目錄的所有物理區(qū)塊分散至多個并行節(jié)點630依物理區(qū)塊的指紋的一致的哈希值,將資源回收相關更新目錄與回收目錄分散至多個并行節(jié)點640在多個并行節(jié)點的每-回收目錄
-節(jié)點上,以獨立方式來更新資源回收相關更新目錄與450物理區(qū)塊500備份圖像D600備份圖像B700備份圖像A900高延展并行資源回收系統(tǒng)920處理器
451物理區(qū)塊 501物理區(qū)塊
750備份圖像C 910存儲器
930分散式資源回收單元
具體實施例方式數(shù)據(jù)去復本后,多個邏輯地址(logical address)可指向同一個的物理區(qū)塊。因為大量的物理區(qū)塊的關系,物理區(qū)塊的資源回收是相當耗費時間。大部分物理區(qū)塊是屬于當前未過期圖像,且它們不是被回收的候選對象。一個被復寫的區(qū)塊可以進行資源回收,如果此區(qū)塊所屬的備份圖像過期而且此區(qū)塊在去復本的備份圖像之間沒有被分享的話。本公開的實施范例可以提供一種系統(tǒng)與方法,來產(chǎn)生去復本漸進式備份的高延展資源回收。本公開應用兩種技術。一種是限縮此資源回收漸進的更新。另一種是分散資源回收工作的至所有參與的節(jié)點。每一物理區(qū)塊至少包括兩個欄位(field)供資源回收時使用,一個是過期時間,另一個是參照計數(shù)。當此參照計數(shù)降至0時,此物理區(qū)塊依過期時間被回收。在備份時,對于復寫物理區(qū)塊,其前像計數(shù)器的參照計數(shù)是漸減,而對于新的物理區(qū)塊而言是漸增,并且那些物理區(qū)塊它們的過期時間會依此而被分別更新,并存儲在一更新目錄。在資源回收時,那些參照計數(shù)降至0,且已逾過期時間的區(qū)塊會被回收。也就是說,當被回收的物理區(qū)塊的參照計數(shù)是 0時,是依它們的過期時間來回收。每一改變的區(qū)塊結合一組相對應的三個參數(shù),即(參照計數(shù)、過期時間、及第一次參照時間),其中一參照計數(shù)(RC)是去復本物理區(qū)塊的參照計數(shù),過期時間(ET)是物理區(qū)塊的過期時間,以及第一次參照時間(First Reference Time,F(xiàn)RT)是物理區(qū)塊的第一次參照時間,用來準確地更新過期時間。圖1是依變更區(qū)塊的此組(三個)參數(shù),過期時間、參照計數(shù)、與第一次參照時間的一個范例示意圖,并與本公開的某些實施范例一致。圖1范例中,物理區(qū)塊320結合三個一組的(1、700、600),1代表物理區(qū)塊320的參照計數(shù);700代表一初始備份圖像100與備份圖像100的物理區(qū)塊320的過期時間;及600代表一備份圖像110的過期時間。當此參照計數(shù)被解除參照時,第一次參照時間用來更新過期時間。后述的圖4將詳細說明。去復本時,有兩個目錄做為輸入。第一個目錄是目前時間的一更新目錄。此更新目錄的每一陣列元素包括如邏輯區(qū)塊號碼、物理區(qū)塊號碼、及參照標志(referred flag)。 此參照標志指示出一相對應的物理區(qū)塊是否被參照。另一個目錄是一前像目錄,包括每一區(qū)塊在目前時間的第一次復寫的先前版本。當更新目錄有被占用時,自此更新目錄摘錄出邏輯區(qū)塊號碼與物理區(qū)塊號碼。更新目錄中被參照的物理區(qū)塊分別增加它們的參照計數(shù)、 更新過期時間、及更新第一次參照時間。前像目錄里被參照的那些物理區(qū)塊,減少它們的參照計數(shù)。所有這些物理區(qū)塊被加入至一資源回收相關更新目錄,此參照目錄可以以存儲在此物理區(qū)塊號碼來存儲一漸增式目錄,以加快此資源回收相關更新目錄的更新。資源回收相關更新目錄的每一陣列元素可包括物理區(qū)塊號碼、參照計數(shù)、過期時間、備份圖像辨識碼的欄位等。此備份圖像辨識碼可用來查詢此第一次參照時間。前像目錄中被參照的物理區(qū)塊增加它們的參照計數(shù),并更新過期時間。當參照計數(shù)降至0時,此物理區(qū)塊被移至一回收目錄(Recycle List, RC)。需注意的是前像目錄里的物理區(qū)塊的第一次參照時間是不會被更新的。在資源回收時,檢查此回收目錄;檢查物理區(qū)塊的過期時間。那些過期的區(qū)塊會被進行資源回收。與完整區(qū)塊集合(full block set) 相較,因為此資源回收相關更新目錄的大小是與漸增和漸減的大小是相對小的,本公開的資源回收技術以物理容量來說是高延展性。在備份時,每一快照(snapshot)的變更目錄與前像目錄用來更新此資源回收相關更新目錄。圖2A至圖2D是一工作范例,說明在備份時更新備份圖像A至D的資源回收相關更新目錄與回收目錄,并與本公開的某些實施范例一致。參考圖2A的范例,備份圖像A 是一初始備份,并且還沒有所有邏輯區(qū)塊地址的一邏輯至物理對映圖(共有邏輯區(qū)塊號碼 1-12的共12個邏輯區(qū)塊)。只有邏輯區(qū)塊12有一相應對的物理區(qū)塊地址700。備份圖像 A備有物理區(qū)塊地址700的過期時間。此時,資源回收相關更新目錄如標號210所示??筛Q知,變更目錄與此前像目錄的一陣列元素可備有4個欄位。在這范例中,此第一欄位代表物理區(qū)塊號碼320,第二欄位代表物理區(qū)塊320的參照計數(shù)1,第3欄位與第4欄位分別代表物理區(qū)塊320的過期時間與相關備份圖像。參考圖2B對于備份圖像B,根據(jù)邏輯至物理對映圖,邏輯區(qū)號地址1、2、7已經(jīng)被寫入。更新目錄記錄此寫入的物理區(qū)塊320、321與440。需注意的是,所有的這3個物理區(qū)塊 320,321與440的過期時間被更新如600所示,亦即備份圖像B的過期時間。此時,加入物理區(qū)塊320、321與440的3個陣列元素至一資源回收相關更新目錄,更新后的資源回收相關更新目錄如標號220所示的目錄。參考圖2C,對于備份圖像C,根據(jù)邏輯至物理對映圖,邏輯區(qū)號1、2、9被寫入。需注意的是,邏輯區(qū)塊9分享相同的物理區(qū)塊(物理區(qū)塊321),即物理區(qū)塊2的先前版本。物理區(qū)塊321的過期時間更新為750,即備份C的過期時間。邏輯區(qū)塊1與2分別地被對應至新的物理區(qū)塊450與451。所以,物理區(qū)塊450與451皆備有參照計數(shù)1及備份圖像C的過期時間。物理區(qū)塊320屬于一快照的此前像目錄,所以物理區(qū)塊320的參照計數(shù)降至0 (減少1)。此時,更新后的資源回收相關更新目錄是如標號230所示的目錄。參考圖2D,對于備份圖像D,邏輯區(qū)號4、5、9被寫入。需注意的是,邏輯區(qū)塊9被對應至一新的物理區(qū)塊501。所以,物理區(qū)塊501備有此參照計數(shù)及備份圖像D的過期時間500。因為物理區(qū)塊屬于一快照的前像目錄,所以物理區(qū)塊321的參照計數(shù)降至0(減少 1)。此時,更新后資源回收相關更新目錄如標號240所示的目錄。圖3是一種用于去復本的漸進式備份的高延展并行資源回收方法應用于一存儲系統(tǒng)的一個范例流程圖,并與本公開的某些實施范例一致。參考圖3,在步驟310中,輸入目前時間的一更新目錄與一前像目錄。此前像目錄包括在此存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本,且此多個復寫物理區(qū)塊的每一區(qū)塊結合三個一組的(triple)參數(shù),即參照計數(shù)、過期時間、及第一次參照時間。其中,參照計數(shù)、一過期時間、及第一次參照時間如先前所定義。在步驟320中,此多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們的參照計數(shù),并依此分別更新它們的過期時間與第一參照時間,而多個復寫區(qū)塊中,在前像目錄里被參照的那些物理區(qū)塊,減少它們的參照計數(shù),并更新它們的過期時間。在步驟330中,更新目錄或前像目錄里被參照所有物理區(qū)塊加入到一資源回收相關更新目錄。在步驟340中,分散每一物理區(qū)塊的元數(shù)據(jù),即〈過期時間、參照計數(shù)〉,至多個參與節(jié)點,每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊。在步驟340中,每一參與節(jié)點可將資源回收相關更新目錄里那些具有0參照計數(shù)的物理區(qū)塊移至一回收目錄,并資源回收該回收目錄中已過期的物理區(qū)塊。也就是說,當參照計數(shù)降至0時,相對應的物理區(qū)塊會自資源回收相關更新目錄中移除,并附加在回收目錄來進行資源回收,且此過期時間指出此物理區(qū)塊何時過期。圖4是一個范例流程圖,說明在資源回收中如何更新一組相對應的三個參數(shù),參照計數(shù)、過期時間、及第一次參照時間,并與本公開的某些實施范例一致。在一初始備份圖像的一物理區(qū)塊,其參照計數(shù)等于1并且過期時間等于此初始備份圖像的過期時間。參考圖4,過期時間可更新如下。當一物理區(qū)塊因去復本而被參照,其過期時間被更新為,存儲的過期時間與包含此去復本的物理區(qū)塊的快照過期時間,兩者之間的最新的過期時間,如步驟410所示。如果此物理區(qū)塊之前并未被記錄在于資源回收相關更新目錄里,第一次參照時間被設定為此目前時間(步驟420)。當一物理區(qū)塊歸屬于一快照的前像目錄時,例如此物理區(qū)塊被復寫,其過期時間則被更新為過期時間與自此物理區(qū)塊的第一次參考時間起, 所有先前快照的最大的過期時間,兩者之中較大者,如步驟430所示,其中最高_過期時間 (H-ET)意指自此物理區(qū)塊的第一次參照時間起,所有先前快照的最大過期時間。參照計數(shù)可更新如下。當一物理區(qū)塊因去復本而被參照時,增加此物理區(qū)塊的參照計數(shù),如步驟410所示。當一物理區(qū)塊歸屬于一快照的一前像目錄時,減少此物理區(qū)塊的參照計數(shù),如步驟430所示。如果此物理區(qū)塊之前并未記錄在資源回收相關更新目錄里,參照計數(shù)被設定為1,并且過期時間等于此目前過期時間的過期時間,如步驟420所示。回收目錄是一漸增式目錄,其啟始值為NIL,因為在主要存儲體卷宗里,最初是沒有去復本。此增加目錄可用來找出物理數(shù)據(jù)區(qū)塊,來進行資源回收。圖5是一個范例流程圖,說明如何以參照計數(shù)為基礎來進行資源回收,并與本公開的某些實施范例一致。參考圖 5所示,檢索回收目錄之后,當回收目錄為非空時,從回收目錄中擷取出〈邏輯區(qū)塊號碼、過期時間〉對,如步驟510所示。當找到逾期的過期時間時,資源回收它們相對應的物理區(qū)塊, 如步驟520所示?;旧?,在回收目錄中所有的物理區(qū)塊都會被檢查,以回收那些已經(jīng)過期的物理區(qū)塊。圖2的工作范例中,在資源回收時(如在備份圖像D建立后),那些在資源回收相關更新目錄240中,其參照計數(shù)為0的所有元素都會被擷取出,以形成回收目錄。在該范例中,回收目錄中包括物理區(qū)塊320與321。物理區(qū)塊320與321可分別在時間600與750時被回收。而且,例如,當一資源回收相關更新目錄無法設置在一節(jié)點的一隨機存取存儲器(Radom Access Memory,RAM)里時,此資源回收工作可被分散至多個參與數(shù)據(jù)節(jié)點。因為一特殊的哈希值(hash value)代表常駐在一數(shù)據(jù)節(jié)點,并且一物理區(qū)塊可用哈希值代表,一特殊物理區(qū)塊的三個為一組的 < 過期時間、參照計數(shù)、與第一參照時間 > 與一指紋 (fingerprint)結合。根據(jù)指紋之一致的哈希值來分散此物理區(qū)塊至一特定的數(shù)據(jù)節(jié)點。 依一存儲系統(tǒng)中多個物理區(qū)塊的一致的哈希值,將資源回收相關更新目錄分散至所有的數(shù)據(jù)節(jié)點。因為此三個為一組的 < 過期時間、參照計數(shù)、與第一參照時間 > 依此物理區(qū)塊的指紋,獨自歸屬于一數(shù)據(jù)節(jié)點,每一數(shù)據(jù)節(jié)點可獨立地決定那一物理區(qū)塊要回收。資源回收相關更新目錄中所有物理區(qū)塊的指紋,其中一指紋是區(qū)塊內(nèi)容的一哈希值。每一指紋有足夠的長度,因而具有極低的互撞率(collision rate)。例如,一指紋可為20字節(jié)(byte)的長度。然后,每一指紋通過一致的哈希值對映至4個參與節(jié)點中的1個節(jié)點。圖6是一個范例示意圖,說明如何依物理區(qū)塊的指紋的一致的哈希值,來將資源回收相關更新目錄與回收目錄分散至多個參與并行節(jié)點(participating parallel nodes),并與本公開的某些實施范例一致。參考圖6,計算資源回收相關更新目錄或前項目錄中所有物理區(qū)塊的指紋,如步驟610所示。在步驟620中,將此資源回收相關更新目錄中或此前像目錄的所有物理區(qū)塊分散至多個并行節(jié)點。在步驟630中,依物理區(qū)塊的指紋的一致的哈希值,將資源回收相關更新目錄與回收目錄分散至多個并行節(jié)點。在步驟640中, 在多個并行節(jié)點的每一節(jié)點上,以獨立方式(stand-alone fashion)來更新資源回收相關更新目錄與回收目錄。圖7是說明并行資源回收如何與參與的并行節(jié)點一同運作的流程圖,并與本公開的某些實施范例一致。如圖7流程圖范例所示,檢查每一參與并行節(jié)點的回收目錄,如步驟 710所示。然后,在每一參與并行節(jié)點上,以獨立方式資源回收物理區(qū)塊,如步驟720所示。 也就是說,每一參與并行節(jié)點依據(jù)自己的回收目錄,獨立地資源回收物理區(qū)塊。圖8是圖6的流程圖的一個工作范例,說明如何分散資源回收相關更新目錄至4 個參與節(jié)點,并與本公開的某些實施范例一致。參考圖8,計算資源回收相關更新目錄中所有物理區(qū)塊的指紋(一指紋是此區(qū)塊內(nèi)容的一哈希值)。每一指紋的足夠長度,因而具有極低的互撞率。例如,一指紋的長度可為20字節(jié)(byte),物理區(qū)塊450資源回收相關更新目錄240具有一指紋為0x8892…3。每一指紋通過一致的哈希值對映至4個參與節(jié)點中的 1個節(jié)點。在此工作范例中,節(jié)點1容納物理區(qū)塊440與700。節(jié)點2容納物理區(qū)塊320與 800。節(jié)點3容納物理區(qū)塊321、501、及700。節(jié)點4容納物理區(qū)塊450與451。分配工作完成后,每一節(jié)點可獨立地資源回收指定給此節(jié)點的物理區(qū)塊。例如,節(jié)點4是負責資源回收物理區(qū)塊450與451。依此,以下一實驗范例來證明本公開的資源回收是具有漸進式的高延展性的。在本實驗范例中,以一固定時間(fixed time)(如,1000秒)的一過期時間的一邏輯卷宗來產(chǎn)生多個(如,1000)備份圖像。每一備份圖像復寫一先前備份圖檔的1%。此的備份圖像復寫被寫入至此邏輯卷宗的相同部位。在此先前備份圖像之后,每一備份圖像需要花費10秒。在此時間窗(time window)的尾端(1000*10 = 10000秒)時,啟始本公開的資源回收并檢查可用的閑置區(qū)塊(free blocks)。在短時間內(nèi)(1000秒以內(nèi),其主要用來掃描每一個物理區(qū)塊的元數(shù)據(jù)),可以發(fā)現(xiàn)可用的閑置區(qū)塊的數(shù)目以2. 56G在增加。所以,本公開的資源回收是以漸進式的區(qū)塊變更為基礎的。
圖9是用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)的一個范例示意圖,并與本公開的某些實施范例一致。此描述的實施范例可以全部都是硬件,或是兼具硬件與軟件元件。此漸進式的高延展并行資源回收系統(tǒng)可包含一計算機程序產(chǎn)品(computer program product)與一處理器。此計算機程序產(chǎn)品可從一計算機可使用 (computer-usable)或計算機可讀取(computer-readable)的介質(zhì)取得。此存儲器可執(zhí)行上述的資源回收。一計算機可使用或一計算機可讀取的介質(zhì)可包括此處理器可使用或可相連接的任何裝置,此裝置存儲如更新目錄、前像目錄、資源回收相關更新目錄、及回收目錄。 此計算機可使用或此計算機可讀取的介質(zhì)可選自一半導體(semiconductor)或固態(tài)存儲器(solid state memory)、一可移除的計算機磁盤(removable computer disk)、一隨機存取存儲器、一不易彎曲的磁盤(rigid magnetic disk)、以及一光盤(optical disk)等等。參考圖9,高延展并行資源回收系統(tǒng)900可包含一存儲器910與一處理器920。其中,存儲器910存儲在一目前時間的一輸入的更新目錄、一輸入的前像目錄、一資源回收相關更新目錄、及一回收目錄。前像目錄包括在此存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在此目前時間的第一次復寫的先前版本。一資源回收相關更新目錄記錄漸進的更新物理區(qū)塊的相關信息。回收目錄資源回收要被回收的物理區(qū)塊。處理器920可執(zhí)行此多個復寫物理區(qū)塊的每一區(qū)塊結合一去復本的參照計數(shù)及一過期時間;此多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們相對應的參照計數(shù),并更新它們相對應的過期時間,而多個復寫區(qū)塊的前像目錄里被參照的那些物理區(qū)塊,減少它們相對應的參照計數(shù),并更新它們相對應的過期時間;將所有這些參照更新目錄或前像目錄的物理區(qū)塊加入到一資源回收相關的更新目錄;系統(tǒng)900進一步分配每一個物理區(qū)塊的元數(shù)據(jù),〈過期時間、參照計數(shù) >,至多個參與節(jié)點,其中每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊。每一參與節(jié)點可將資源回收相關更新目錄里那些物理區(qū)塊移至此回收目錄,并資源回收此回收目錄中已過期的這些物理區(qū)塊。高延展并行資源回收系統(tǒng)900進一步包括一分散式資源回收單元(distributed garbage collection unit) 930,依據(jù)資源回收相關更新目錄中多個所有物理區(qū)塊的指紋的一致的哈希值,將每一個物理區(qū)塊的元數(shù)據(jù) < 過期時間、參照計數(shù) > 分散至多個參與節(jié)點。此資源回收單元930可同時將此資源回收相關更新目錄與此回收目錄分散至多個參與節(jié)點,如節(jié)點1 節(jié)點K。分散此資源回收相關更新目錄與此回收目錄的步驟如圖6的步驟 610-640所示。在分散每一物理區(qū)塊的元數(shù)據(jù) < 過期時間、參照計數(shù) > 至多個參與節(jié)點后, 每一參與節(jié)點獨立地資源回收被對映到的物理區(qū)塊,如圖7所述。綜合上述,本公開的實施范例可提供一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)與方法,以節(jié)省許多存取資源回收相關元數(shù)據(jù)的磁盤輸入/輸出,并且減少在每一個別節(jié)點上的資源回收相關元數(shù)據(jù)的容量,經(jīng)由限縮此資源回收漸進的更新,并將資源回收工作分散至多個參與節(jié)點。每一物理區(qū)塊可結合一過期時間與一參照計數(shù)來進行資源回收。當此參照計數(shù)下降至0時,此物理區(qū)塊依照其過期時間而被回收。然而以上所述僅為本公開的實施范例而已,當不能依此限定本公開實施的范圍。 即大凡一本公開申請權利要求書所作的均等變化與修飾,皆應仍屬本公開權利要求書涵蓋的范圍內(nèi)。
權利要求
1.一種用于去復本的漸進式備份的高延展并行資源回收方法,應用于一存儲系統(tǒng),該方法包含輸入目前時間的一更新目錄與一前像目錄,該前像目錄包括在該存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在該目前時間的第一次復寫的先前版本,且該多個復寫物理區(qū)塊的每一區(qū)塊結合一去復本的參照計數(shù)及一過期時間;該多個復寫區(qū)塊的該更新目錄里被參照的那些物理區(qū)塊,增加它們相對應的參照計數(shù),并更新它們相對應的過期時間,而該多個復寫區(qū)塊的前像目錄里被參照的那些物理區(qū)塊,減少它們相對應的參照計數(shù),并更新它們相對應的過期時間;將所有該更新目錄或該前像目錄參照的該物理區(qū)塊加入到一資源回收相關的更新目錄;以及分配每一個物理區(qū)塊的元數(shù)據(jù),〈過期時間、參照計數(shù)〉,至多個參與節(jié)點,其中每一參與節(jié)點負責資源資源回收那些被對映到的物理區(qū)塊。
2.如權利要求1所述的資源回收方法,其中每一參與節(jié)點負責資源回收那些被對映到的物理區(qū)塊還包括將該資源回收相關更新目錄里那些具有0參照計數(shù)的物理區(qū)塊移至一回收目錄,并資源回收該回收目錄中已過期的物理區(qū)塊。
3.如權利要求1所述的資源回收方法,其中該資源回收依該存儲系統(tǒng)中多個復寫物理區(qū)塊的一致的哈希值,將該資源回收相關更新目錄分散至該多個數(shù)據(jù)節(jié)點。
4.如權利要求2所述的資源回收方法,其中每一該參與節(jié)點依據(jù)被對映到物理區(qū)塊, 獨立地資源回收物理區(qū)塊。
5.如權利要求1所述的資源回收方法,其中該過期時間的更新還包括下列步驟當一物理區(qū)塊因去復本而被參照,其過期時間被更新為,存儲的過期時間與包含此去復本的物理區(qū)塊的快照過期時間,兩者之間的最新的過期時間;如果此物理區(qū)塊之前并未被記錄在于資源回收相關更新目錄里,該第一次參照時間被設定為該目前時間;當該物理區(qū)塊歸屬于一快照的該前像目錄時;該過期時間則被更新為過期時間與自該物理區(qū)塊的該第一次參考時間起,所有先前快照的最大的過期時間,兩者之中較大者。
6.如權利要求1所述的資源回收方法,其中該參照計數(shù)的更新包括下列步驟當此物理區(qū)塊因去復本而被參照時,增加此物理區(qū)塊的該參照計數(shù);當此物理區(qū)塊歸屬于一快照的該前像目錄時,減少該物理區(qū)塊的該參照計數(shù);如果此物理區(qū)塊之前并未記錄在資源回收相關更新目錄里,參照計數(shù)被設定為1。
7.如權利要求2所述的資源回收方法,其中依該多個物理區(qū)塊的指紋的一致的哈希值,將該資源回收相關更新目錄與該回收目錄分散至該多個參與節(jié)點。
8.如權利要求7所述的資源回收方法,其中將該資源回收相關更新目錄與該回收目錄分散至該多個參與節(jié)點還包括計算該資源回收相關更新目錄中該所有物理區(qū)塊的指紋;依據(jù)該指紋的一致的哈希值,將此資源回收相關更新目錄中或此前像目錄的所有物理區(qū)塊分散至多個并行節(jié)點;以獨立方式,在該多個并行節(jié)點的每一節(jié)點上,來更新該資源回收相關更新目錄與該回收目錄。
9.如權利要求1所述的資源回收方法,其中該資源回收相關更新目錄為備有至少一陣列元素的漸增目錄,該每一陣列元素至少包括一物理區(qū)塊號碼、一參照計數(shù)、一過期時間、 以及一備份圖像辨識碼。
10.如權利要求1所述的資源回收方法,其中該回收目錄為備有至少一陣列元素的目錄,該每一陣列元素至少包括一邏輯區(qū)塊號碼、一物理區(qū)塊號碼、以及一參照標志,其中該參照標志指示出一相對應的物理區(qū)塊是否被參照。
11.一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng),應用一存儲系統(tǒng),該資源回收系統(tǒng)包含一存儲器,存儲目前時間的一更新目錄,一前像目錄、一資源回收相關更新目錄、及一回收目錄;該前像目錄包括在該存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本;一處理器執(zhí)行該多個復寫物理區(qū)塊的每一區(qū)塊結合一去復本的參照計數(shù)及一過期時間;該多個復寫區(qū)塊的更新目錄里被參照的那些物理區(qū)塊,增加它們相對應的參照計數(shù), 更新它們相對應的過期時間,而該多個復寫區(qū)塊的前像目錄里被參照的那些物理區(qū)塊,減少它們相對應的該參照計數(shù),并更新它們相對應的過期時間;以及將這些該更新目錄或該前像目錄參照的物理區(qū)塊加入到一資源回收相關更新目錄;該系統(tǒng)進一步分配每一個物理區(qū)塊的元數(shù)據(jù),〈過期時間、參照計數(shù)〉,至多個參與節(jié)點,其中該每一參與節(jié)點負責資源回收那些對映到的物理區(qū)塊。
12.如權利要求11所述的資源回收系統(tǒng),其中該資源回收相關更新目錄存儲漸進的更新物理區(qū)塊的信息。
13.如權利要求11所述的資源回收系統(tǒng),其中該回收目錄是資源回收至少一將被回收的該多個復寫區(qū)塊。
14.如權利要求11所述的資源回收系統(tǒng),其中將該資源回收相關更新目錄里那些具有 0參照計數(shù)的物理區(qū)塊移至一回收目錄,并資源回收該回收目錄中已過期的物理區(qū)塊。
15.如權利要求11所述的資源回收系統(tǒng),其中該系統(tǒng)更可包括一分散式資源回收單元,依據(jù)資源回收相關更新目錄中該多個所有物理區(qū)塊的指紋的一致的哈希值,將每一個物理區(qū)塊的元數(shù)據(jù) < 過期時間、參照計數(shù) > 分散至多個參與節(jié)點。
16.如權利要求15所述的資源回收系統(tǒng),其中該分散式資源回收單元將該資源回收相關更新目錄與該回收目錄分散至該多個參與節(jié)點。
17.如權利要求15所述的資源回收系統(tǒng),其中在分散每一物理區(qū)塊的元數(shù)據(jù)< 過期時間、參照計數(shù)〉至該多個參與節(jié)點后,每一該參與節(jié)點獨立地資源回收被對映到的物理區(qū)塊。
全文摘要
一種用于去復本的漸進式備份的高延展并行資源回收系統(tǒng)與方法。該系統(tǒng)可在一存儲器與一處理器中實行。此存儲器可存儲目前時間的一更新目錄,一前像目錄、一資源回收相關更新目錄、及一回收目錄。此前像目錄包括在一存儲系統(tǒng)中多個復寫物理區(qū)塊的每一區(qū)塊在目前時間的第一次復寫的先前版本。通過配置在此存儲器里的這些目錄,此處理器限縮此資源回收所需的目錄為漸進更新目錄,并將資源回收工作分配至多個參與節(jié)點。每一物理區(qū)塊可結合一過期時間與一參照計數(shù)來進行資源回收。當此參照計數(shù)下降至0時,此物理區(qū)塊依此過期時間而被回收。
文檔編號G06F3/06GK102346755SQ201010564679
公開日2012年2月8日 申請日期2010年11月30日 優(yōu)先權日2010年7月30日
發(fā)明者盧茂華, 闕志克 申請人:財團法人工業(yè)技術研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1