專利名稱:重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種重復數(shù)據(jù)刪除的數(shù)據(jù)維護方法,特別涉及一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法。
背景技術(shù):
重復數(shù)據(jù)刪除(data de-duplication)是一種數(shù)據(jù)縮減技術(shù),通常用于基于磁盤的備份系統(tǒng),主要目的在于減少存儲系統(tǒng)中使用的存儲容量。它的工作方式是在某個時間周期內(nèi)查找不同文件中不同位置的重復可變大小數(shù)據(jù)塊。重復的數(shù)據(jù)塊用指示符取代。采用“重復數(shù)據(jù)刪除”技術(shù)可以讓出更多的備份空間,不僅可以使存儲系統(tǒng)上的備份數(shù)據(jù)保存更長的時間,而且還可以節(jié)約離線存儲時所需的大量的帶寬。在進行重復數(shù)據(jù)刪除的過程中,客戶端111會對輸入文件112進行切分的處理。輸入文件112在經(jīng)過切分處理后會產(chǎn)生多個數(shù)據(jù)區(qū)塊(在此定義為切分數(shù)據(jù)塊113)。請參考圖I所示,其為現(xiàn)有技術(shù)的重復數(shù)據(jù)刪除后的切分數(shù)據(jù)塊示意圖。隨后,客戶端111會對切分數(shù)據(jù)塊113進行哈希處理,并產(chǎn)生相應各切分數(shù)據(jù)塊113的指紋特征值(意即切分數(shù)據(jù)塊113的指紋特征值)??蛻舳?11將所得到的指紋特征值與儲存于存儲服務端中的指紋特征值進行比對,并判斷有無相同的指紋特征值。若是存在相同的指紋特征值時,則代表此一數(shù)據(jù)區(qū)塊曾經(jīng)被存放于存儲服務端中。當客戶端111欲進行數(shù)據(jù)回復的處理時,客戶端111會向存儲服務端提出文件索取要求。存儲服務端會根據(jù)文件索取要求將所有的切分數(shù)據(jù)塊113(意即整份的輸入文件112)直接傳送給客戶端111。客戶端111在將所接收的切分數(shù)據(jù)塊113對輸入文件112進 行覆寫,用以還原輸入文件112。這樣的作法雖然快速,但是對于客戶端111(與存儲服務端)會產(chǎn)生高負載及傳輸時頻寬的占用等問題。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的目的在于提供一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,用以復原客戶端的目標文件的部分數(shù)據(jù)。本發(fā)明所揭露的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法包括以下步驟客戶端取得目標文件的文件屬性;客戶端向存儲服務端查詢目標文件所相應的原始文件的文件屬性;由客戶端比對目標文件的文件屬性是否與原始文件的文件屬性一致;若目標文件與原始文件的文件屬性不一致時,則對目標文件進行切分處理,并產(chǎn)生至少一切分數(shù)據(jù)塊與相應的指紋特征值;向存儲服務端取得原始文件的所有的指紋特征值,客戶端比對原始文件與目標文件的指紋特征值的相異處;客戶端根據(jù)相異的指紋特征值向存儲服務端取得相應的切分數(shù)據(jù)塊,并將所取得的切分數(shù)據(jù)塊覆寫至目標文件中相應位置。上述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其中,該文件屬性為一時間戳記或一索引號。上述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其中,該指紋特征值通過一哈希(Hash)算法或一單向(One Way)算法。上述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其中,取得的該些切分數(shù)據(jù)塊覆寫至該目標文件中相應位置的步驟還包括該客戶端重復比對相異的該些指紋特征值并向該存儲服務端取得相應的該些切分數(shù)據(jù)塊,進行該目標文件的覆寫,直至完成所有該目標文件為止。本發(fā)明提出一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,用以復原客戶端的目標文件的部分數(shù)據(jù)??蛻舳送ㄟ^存儲服務端所儲存的指紋特征值與相應的切分數(shù)據(jù)塊對目標文件進行局部的數(shù)據(jù)復原。以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖I為現(xiàn)有技術(shù)的重復數(shù)據(jù)刪除后的切分數(shù)據(jù)塊示意圖;圖2為本發(fā)明的架構(gòu)示意圖;圖3為本發(fā)明的重復數(shù)據(jù)刪除的流程示意圖;圖4為本發(fā)明的運作流程示意圖;圖5為本發(fā)明的切分數(shù)據(jù)塊的差異示意圖。其中,附圖標記客戶端111輸入文件112切分數(shù)據(jù)塊113客戶端210存儲服務端220指紋特征值索引列表221指紋特征值222原始文件510目標文件520
具體實施例方式下面結(jié)合附圖對本發(fā)明的結(jié)構(gòu)原理和工作原理作具體的描述請參考圖2所示,其為本發(fā)明的架構(gòu)示意圖。請參考圖2所示,其為本發(fā)明的架構(gòu)示意圖。本發(fā)明包括客戶端210與存儲服務端220??蛻舳?10可以通過因特網(wǎng)(Internet)或企業(yè)內(nèi)網(wǎng)(intranet)的方式連接于存儲服務端220,也可以將客戶端210與存儲服務端220同時運行于同一臺計算器裝置上。存儲服務端220還包括指紋特征值索引列表221,指紋特征值索引表記錄多組指紋特征值222??蛻舳?10向存儲服務端220發(fā)出對一輸入文件的查詢要求時,存儲服務端220根據(jù)指紋特征值索引列表221所記載的內(nèi)容并通過下述方式進行查詢的動作。請參考圖3所示,其為本發(fā)明的重復數(shù)據(jù)刪除的流程示意圖。步驟S310 :客戶端載入輸入文件,并產(chǎn)生相應輸入文件的數(shù)據(jù)區(qū)塊與相應每一數(shù)據(jù)區(qū)塊的指紋特征值;
步驟S320 :客戶端向存儲服務端發(fā)送查詢請求,在查詢請求中記錄相應數(shù)據(jù)區(qū)塊的指紋特征值,用以向存儲服務端查詢是否存在有相同的指紋特征值;步驟S330 :當存儲服務端的指紋特征值索引列表中未儲存指紋特征值,則存儲服務端向客戶端發(fā)送儲存要求,用以將指紋特征值所相應的數(shù)據(jù)區(qū)塊傳送至存儲服務端中儲存,并且存儲服務端將所接收到的指紋特征值依序加入指紋特征值索引列表中;以及步驟S340 :當存儲服務端的指紋特征值索引表中已經(jīng)存在該筆指紋特征值,則存儲服務端向客戶端回應該筆切分數(shù)據(jù)塊已經(jīng)存在。由客戶端210中載入輸入文件,客戶端210對輸入文件進行切 分處理,并產(chǎn)生相應輸入文件的數(shù)據(jù)區(qū)塊與相應每一數(shù)據(jù)區(qū)塊的指紋特征值222。指紋特征值222計算的算法可以是但不局限于SHA-I或MD5。而數(shù)據(jù)區(qū)塊是根據(jù)固定長度方式(fixed-sizepartition)或基于內(nèi)容變長度分割方式(content-defined chunking, Q)C)。定長切分算法采用預先定義好的切分數(shù)據(jù)塊大小對輸入文件進行切分。定長分塊算法的優(yōu)點是簡單、性能高。內(nèi)容定義切分算法是一種變長分塊算法,它應用指紋數(shù)據(jù)(如Rabin指紋)將檔分割成長度大小不等的分塊策略。與定長切分算法不同,內(nèi)容定義切分算法是基于輸入文件內(nèi)容進行切分,因此切分數(shù)據(jù)塊大小是可變化的。接著,客戶端210向存儲服務端220發(fā)送查詢請求,在查詢請求中記錄相應數(shù)據(jù)區(qū)塊的指紋特征值222,用以向存儲服務端220查詢是否存在有相同的指紋特征值222。當存儲服務端220的指紋特征值索引列表221中未儲存指紋特征值222,則存儲服務端220向客戶端210發(fā)送儲存要求,用以將指紋特征值222所相應的數(shù)據(jù)區(qū)塊傳送至存儲服務端220中儲存,并且存儲服務端220將所接收到的指紋特征值222依序加入指紋特征值索引列表221 中。當客戶端210欲進行文件的還原處理,客戶端210會向存儲服務端220發(fā)出文件還原要求。為能清楚說明客戶端210與伺服端所存儲的文件,因此將客戶端210欲進行文件還原處理的文件將其定義為目標文件。存儲服務端220所存儲的數(shù)據(jù)文件(意即各文件的切分數(shù)據(jù)塊)定義為原始文件,因此原始文件的數(shù)量并非僅為一個。存儲服務端220根據(jù)下列步驟進行相應的文件還原處理,請參考圖4與圖5所示,其是分別為本發(fā)明的運作流程示意圖與切分數(shù)據(jù)塊的差異示意圖,其包括以下步驟步驟S410 :客戶端取得目標文件的文件屬性;步驟S420 :客戶端向存儲服務端查詢目標文件所相應的原始文件的文件屬性;步驟S430 由客戶端比對目標文件的文件屬性是否與原始文件的文件屬性一致;步驟S440 :若目標文件與原始文件的文件屬性一致時,則客戶端不進行文件還原處理;步驟S450 :若目標文件與原始文件的文件屬性不一致時,則對目標文件進行切分處理,并產(chǎn)生至少一切分數(shù)據(jù)塊與相應的指紋特征值;步驟S460 :向存儲服務端取得原始文件的所有的指紋特征值,客戶端比對原始文件與目標文件的指紋特征值的相異處;以及步驟S470 :客戶端根據(jù)相異的指紋特征值向存儲服務端取得相應的切分數(shù)據(jù)塊,并將所取得的切分數(shù)據(jù)塊覆寫至目標文件中相應位置。首先,客戶端210取得目標文件的文件屬性,文件屬性是為時間戳記(TimeStamp)或索引號(Index)。換言之,客戶端210在對目標文件進行切分處理前,客戶端210會紀錄目標文件520的文件屬性。接著,客戶端210會向存儲服務端220查詢目標文件520所相應的原始文件510的文件屬性。存儲伺服端220查找是否已經(jīng)儲存目標文件520所相應的原始文件510的文件屬性??蛻舳?10如果之前已經(jīng)對目標文件520進行過數(shù)據(jù)備份,存儲伺服端220中會儲存對應目標文件520的原始文件510與相關(guān)的文件屬性??蛻舳?10根據(jù)存儲伺服端220所傳來的原始文件510的文件屬性與目標文件520的文件屬性進行比對。若文件屬性以時間戳記為例,在不同時間所創(chuàng)建的數(shù)據(jù)文件會分別給定不同的時間戳記。因此目標文件520與原始文件510的文件屬性不一致時,則代表目標文件520已經(jīng)被修改過。
若目標文件520與原始文件510的文件屬性不一致時,客戶端210則對目標文件520進行切分處理,并產(chǎn)生至少一切分數(shù)據(jù)塊與相應的指紋特征值222??蛻舳?10向存儲服務端220取得原始文件510的所有的指紋特征值222,客戶端210比對原始文件510與目標文件520的指紋特征值222的相異處(即為圖5中切分數(shù)據(jù)塊的黑色區(qū)塊處)。而存儲服務端220接收到客戶端210索取指紋特征值222可以是整批傳送,也可以是分批傳送至客戶端210。由于指紋特征值222的數(shù)據(jù)量遠比切分數(shù)據(jù)塊小,因此在傳輸過程中并不會嚴重的影響頻寬的使用。最后,客戶端210根據(jù)相異的指紋特征值222向存儲服務端220取得相應的切分數(shù)據(jù)塊,并將所取得的切分數(shù)據(jù)塊覆寫至目標文件520中相應位置。本發(fā)明提出一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,用以復原客戶端210的目標文件520的部分數(shù)據(jù)??蛻舳?10通過存儲服務端220所儲存的指紋特征值222與相應的切分數(shù)據(jù)塊對目標文件520進行局部的數(shù)據(jù)復原。而且本發(fā)明相較于現(xiàn)有技術(shù)而言,本發(fā)明不需對目標文件520逐一的讀取與寫入,僅需要進行讀取與計算的處理。所以相較于現(xiàn)有技術(shù)而言,本發(fā)明的寫入時間可以有效的縮短。當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其根據(jù)一存儲服務端中存儲經(jīng)過重復數(shù)據(jù)刪除處理的一原始文件,提供一客戶端對一目標文件進行部分數(shù)據(jù)的復原,其特征在干,該數(shù)據(jù)復原方法包括 該客戶端取得該目標文件的一文件屬性; 該客戶端向該存儲服務端查詢該目標文件所相應的ー原始文件的該文件屬性; 由該客戶端比對該目標文件的該文件屬性是否與該原始文件的該文件屬性一致; 若該目標文件與該原始文件的該文件屬性不一致吋,則對該目標文件進行一切分處理,并產(chǎn)生至少一切分數(shù)據(jù)塊與相應的一指紋特征值; 向該存儲服務端取得該原始文件的所有該些指紋特征值,該客戶端比對該原始文件與該目標文件的該些指紋特征值的相異處;以及 該客戶端根據(jù)相異的該些指紋特征值向該存儲服務端取得相應的該些切分數(shù)據(jù)塊,并將所取得的該些切分數(shù)據(jù)塊覆寫至該目標文件中相應位置。
2.根據(jù)權(quán)利要求I所述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其特征在于,該文件屬性為ー時間戳記或一索引號。
3.根據(jù)權(quán)利要求I所述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其特征在干,該指紋特征值通過ー哈希算法或ー單向算法。
4.根據(jù)權(quán)利要求I所述的重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,其特征在于,取得的該些切分數(shù)據(jù)塊覆寫至該目標文件中相應位置的步驟還包括 該客戶端重復比對相異的該些指紋特征值井向該存儲服務端取得相應的該些切分數(shù)據(jù)塊,進行該目標文件的覆寫,直至完成所有該目標文件為止。
全文摘要
一種重復數(shù)據(jù)刪除的數(shù)據(jù)復原方法,用以復原客戶端的目標文件的部分數(shù)據(jù),其包括客戶端向存儲服務端查詢目標文件所相應的原始文件的文件屬性;客戶端比對目標文件的文件屬性是否與原始文件的文件屬性一致;若目標文件與原始文件的文件屬性不一致時,則對目標文件進行切分處理,產(chǎn)生切分數(shù)據(jù)塊與相應的指紋特征值;向存儲服務端取得原始文件的所有的指紋特征值,客戶端比對原始文件與目標文件的指紋特征值的相異處;客戶端根據(jù)相異的指紋特征值向存儲服務端取得相應的切分數(shù)據(jù)塊,將所取得的切分數(shù)據(jù)塊覆寫至目標文件中相應位置。
文檔編號G06F17/30GK102799598SQ20111014571
公開日2012年11月28日 申請日期2011年5月25日 優(yōu)先權(quán)日2011年5月25日
發(fā)明者劉威, 陳志豐 申請人:英業(yè)達股份有限公司