TWI420333B - 分散式的重複數據刪除系統及其處理方法 - Google Patents
分散式的重複數據刪除系統及其處理方法 Download PDFInfo
- Publication number
- TWI420333B TWI420333B TW100128574A TW100128574A TWI420333B TW I420333 B TWI420333 B TW I420333B TW 100128574 A TW100128574 A TW 100128574A TW 100128574 A TW100128574 A TW 100128574A TW I420333 B TWI420333 B TW I420333B
- Authority
- TW
- Taiwan
- Prior art keywords
- fingerprint feature
- feature value
- client
- processing device
- deduplication
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
一種重複數據刪除系統及其方法,特別有關於一種分散式的重複數據刪除系統及其處理方法。
隨著網際網路的興起之緣故,因此許多網路供應者為能有效保存使用者的文件,進而在網路上提供許多存放的空間。以往是由單一伺服端提供網路空間的存儲服務。然而,單一伺服器的運算能力有限,因此演進為多伺服器以平行處理的方式來提供存儲服務。這種存儲方式被稱為分散式存儲系統。
請參考「第1圖」所示,其係為習知技術的存儲數據示意圖。一般而言,分散式存儲系統為能完整備份使用者的文件數據。所以會在不同伺服端121中存儲相同的資料。舉例來說,分佈式存儲系統係具有三個存儲伺服端121。當客戶端111欲將100 Mbytes的數據資料存儲至網路空間中,則分佈式存儲系統會將這100 Mbytes分別存儲至這三台存儲伺服端121中。如此一來,所有的存儲伺服端121就會佔用掉300 Mbytes的空間。若是每一個客戶端111的文件均要備份在每一台存儲伺服端121上,這對於網路供應者而言不啻為一種沈重的負擔。
鑒於以上的問題,本發明在於提供一種分散式的重複數據刪除系統,用以存儲客戶端所產生的至少一切分資料塊。
本發明所揭露之分散式的重複數據刪除系統包括:客戶端、派發伺服器、重複數據處理裝置與存儲伺服端。客戶端對輸入文件進行重複數據刪除程序(de-duplication),並生成切分資料塊與相應的指紋特徵值(Fingerprint)。
派發伺服器(Dispatch Server)紀錄輸入文件的切分資料塊的儲存位置;派發伺服器根據指紋特徵值將查詢要求轉發至相應的重複數據處理裝置;重複數據處理裝置(Dedup. Engine)從指紋特徵查找表中查找指紋特徵值是否已經存在;若指紋特徵查找表中未存儲指紋特徵值,則重複數據處理裝置根據指紋特徵值將相應的切分資料塊指派到存儲伺服端,並向客戶端發送包含所指派的存儲伺服端的存儲節點訊息。
指紋特徵值係由SHA-1、哈希程序(Hash)或單向演算法所產生,使得每一切分資料塊只能對應到唯一的指紋特徵值。並且在存儲伺服端存儲新的切分資料塊後,重複數據處理裝置會運行指紋特徵查找表的同步處理,用以更新其他重複數據處理裝置的指紋特徵查找表。
本發明另提出一種重複數據刪除的分散式處理方法包括以下步驟:客戶端接收輸入文件後產生切分資料塊,並向派發伺服器發送具有指紋特徵值的查詢要求;派發伺服器根據指紋特徵值將查詢要求轉發至相應的重複數據處理裝置;重複數據處理裝置判斷指紋特徵值是否已經存在於指紋特徵查找表中;若指紋特徵查找表中未存儲指紋特徵值,則重複數據處理裝置根據指紋特徵值將相應的切分資料塊指派到存儲伺服端,並向客戶端發送包含所指派的存儲伺服端的存儲節點訊息;客戶端根據存儲節點訊息將切分資料塊傳送至存儲伺服端。
本發明所提出的分散式的重複數據刪除系統及其方法係透過分層指派與重複數據比對的處理,使得每一台數據存儲服務器的數據量可以有效的降低,進而提高整體數據量的存儲空間。
有關本發明的特徵與實作,茲配合圖式作最佳實施例詳細說明如下。
請參考「第2圖」所示,其係為本發明之架構示意圖。本發明分散式的重複數據刪除系統可以應用於區域網路或網際網路之中,而本發明的分散式重複數據刪除系統包括:客戶端211、派發伺服器212(Dispatch Server)、重複數據處理裝置213(De-dup Engine)與存儲伺服端214。客戶端211用以接收輸入文件,並對輸入文件執行切分處理,用以進行重複數據刪除之判斷。
重複數據刪除是一種數據縮減技術,通常用於基於磁盤的備份系統,主要目的在於減少存儲系統中使用的存儲容量。它的工作方式是在某個時間周期內查找不同文件中不同位置的重複可變大小資料塊(文中將其定義為切分資料塊)。重複的資料塊用指示符(token)取代。採用「重複數據刪除」技術可以讓出更多的備份空間,不僅可以使存儲伺服端214上的備份數據保存更長的時間,而且還可以節約離線存儲時所需的大量的帶寬。
在進行重複數據刪除的過程中,客戶端211會對輸入文件進行切分的處理。輸入文件在經過切分處理後會產生多個切分資料塊。隨後,客戶端211會對資料區塊進行哈希處理,並產生相應各資料區塊的一哈希值。客戶端211將所得到的哈希值與儲存於存儲伺服端21中的哈希值進行比對,並判斷有無相同的哈希值。若是存在相同的哈希值時,則代表此一資料區塊曾經被存放於存儲伺服端21中。
在本發明的客戶端211在完成資料切分的處理後,會產生對應輸入文件的多筆切分資料塊與其指紋特徵值(Fingerprint)。指紋特徵值係由SHA-1程序、哈希程序(Hash)或單向演算法(One way function)所產生,使得每一切分資料塊只能對應到唯一的指紋特徵值。客戶端211發送將具有指紋特徵值的查詢要求傳送至派發伺服器212。
派發伺服器212除了根據指紋特徵值將該查詢要求轉發至相應的重複數據刪除處理裝置,派發伺服器212更可用以紀錄輸入文件的切分資料塊的儲存位置。重複數據刪除處理裝置的數量係由客戶端211之數量所決定。每一台重複數據處理裝置213更包括指紋特徵查找表,指紋特徵查找表用以記錄每一個切分資料塊所相應的指紋特徵值。重複數據處理裝置213接收到指紋特徵值後會進行判斷該指紋特徵值是否已經存在。當指紋特徵查找表中不存在欲查詢的指紋特徵值時,重複數據刪除處理裝置會選取任一存儲伺服端214用以存放相應的切分資料塊。
為能清楚說明本案之運作過程,還請參考「第3圖」所示,其係為本發明之運作流程示意圖,本發明係包括以下步驟:
步驟S310:客戶端接收輸入文件後產生切分資料塊,並向派發伺服器發送具有指紋特徵值的查詢要求;
步驟S320:派發伺服器根據指紋特徵值將查詢要求轉發至相應的重複數據處理裝置;
步驟S330:重複數據處理裝置判斷指紋特徵值是否已經存在於指紋特徵值查找表中;
步驟S340:若指紋特徵值查找表中已存儲指紋特徵值,則重複數據處理裝置係透過派發伺服器向客戶端回應該筆切分資料塊已存在;
步驟S350:若指紋特徵值查找表中未存儲指紋特徵值,則重複數據處理裝置根據指紋特徵值將相應的切分資料塊指派到存儲伺服端,並向客戶端發送包含所指派的存儲伺服端的存儲節點訊息;以及
步驟S360:客戶端根據存儲節點訊息將切分資料塊傳送至存儲伺服端。
客戶端211接收輸入文件並執行切分處理,用以產生切分資料塊。客戶端211將具有指紋特徵值的查詢要求傳送至派發伺服器212發送。派發伺服器212根據指紋特徵值將查詢要求轉發至相應的重複數據處理裝置213。而重複數據處理裝置213可以根據指紋特徵值進行取餘數處理,並根據取餘數處理後之結果將查詢要求轉發至派發伺服器212。
舉例來說,客戶端211將輸入文件切分為1024筆切分資料塊,並透過SHA-1對切分資料塊產生相應的指紋特徵值(也是1024筆)。另假設派發伺服器212的數量為3台,則分別對這1024筆指紋特徵值進行取餘數(意即取3之餘數)。在實際運作時,可以根據派發伺服器212的數量決定取餘數的參數。接著,根據取餘的結果將查詢要求轉發至相應的重複數據處理裝置213。例如:餘數為「0」的指紋特徵值的查詢要求轉發至第一台重複數據處理裝置213、餘數為「1」的指紋特徵值的查詢要求轉發至第二台重複數據處理裝置213、餘數為「2」的指紋特徵值的查詢要求轉發至第三台重複數據處理裝置213。
接下來,重複數據處理裝置213接獲查詢要求後,重複數據處理裝置213會查找指紋特徵值查找表中是否存在指紋特徵值。若指紋特徵值查找表中已存儲指紋特徵值,則重複數據處理裝置213係透過派發伺服器212向客戶端211回應該筆切分資料塊已存在。反之,則重複數據處理裝置213根據指紋特徵值將相應的切分資料塊指派到存儲伺服端214,並向客戶端211發送包含所指派的存儲伺服端214的存儲節點訊息。而通知客戶端211的方式有:派發伺服器212將查詢要求轉發至相應的重複數據處理裝置213後,並發送存儲節點訊息至客戶端211。或者是,派發伺服器212將查詢要求轉發至相應的重複數據處理裝置213後,並透過重複數據處理裝置213發送存儲節點訊息至客戶端211。
此外,重複數據處理裝置213另記錄切分資料塊的元數據信息(Metadata)。元數據信息用以維護切分資料塊所存儲伺服端、在相應存儲伺服端上的存儲位置及長度。當客戶端211需要讀取切分資料塊時,重複數據處理裝置213可通過元數據信息進而找到相應的切分資料塊之位置並讀取,同時也可以通過指紋特徵值來確認切分資料塊的正確性。
最後,當客戶端211收到指定存儲位置的存儲節點訊息,客戶端211根據存儲節點訊息將切分資料塊傳送至存儲伺服端214。於此同時,重複數據處理裝置213會執行指紋特徵查找表(hash table)的同步處理,用以更新其他重複數據處理裝置213中的指紋特徵查找表所記錄的指紋特徵值與相應的切分資料塊所儲存的位置。當其他重複數據處理裝置213在接收到已存儲過的切分資料塊的查詢要求時,重複數據處理裝置213可以即時的判斷該筆切分資料塊是否已經存在。
本發明所提出的分散式的重複數據刪除系統及其方法係透過分層指派與重複數據比對的處理,使得每一台數據存儲服務器的數據量可以有效的降低,進而提高整體數據量的存儲空間。
雖然本發明以前述之較佳實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
111...客戶端
121...伺服端
211...客戶端
212...派發伺服器
213...重複數據處理裝置
214...存儲伺服端
第1圖係為習知技術的存儲數據示意圖。
第2圖係為本發明之架構示意圖。
第3圖係為本發明之運作流程示意圖。
Claims (9)
- 一種分散式的重複數據刪除系統,用以存儲客戶端的所產生至少一切分資料塊,該重複數據刪除系統包括:至少一存儲伺服端,用以存儲該些切分資料塊;一客戶端,將一輸入文件運行一重複數據刪除程序,生成該些切分資料塊與相應的一指紋特徵值(Fingerprint),該客戶端發送具有該指紋特徵值的一查詢要求,並根據一存儲節點訊息將該切分資料塊傳送至該存儲伺服端;一重複數據處理裝置(De-dup Engine),用以判斷該指紋特徵值是否已經存在,並根據新的該指紋特徵值將新的該切分資料塊指派到該存儲伺服端;以及一派發伺服器(Dispatch Server),其係紀錄該輸入文件的該些切分資料塊的儲存位置,該派發伺服器根據該指紋特徵值將該查詢要求轉發至相應的該重複數據處理裝置。
- 如請求項1所述之分散式的重複數據刪除系統,其中該重複數據處理裝置將該指紋特徵值進行取餘數處理,並根據取餘數處理後之結果將該查詢要求轉發至該派發伺服器。
- 如請求項1所述之分散式的重複數據刪除系統,其中該派發伺服器將該查詢要求轉發至相應的該重複數據處理裝置後,並向發送該存儲節點訊息至該客戶端。
- 如請求項1所述之分散式的重複數據刪除系統,其中該派發伺服器將該查詢要求轉發至相應的該重複數據處理裝置後,並透過該重複數據處理裝置發送該存儲節點訊息至該客戶端。
- 如請求項1所述之分散式的重複數據刪除系統,其中該重複數據處理裝置另記錄該切分資料塊的一元數據信息。
- 如請求項1所述之分散式的重複數據刪除系統,其中該存儲伺服端存儲該些切分資料塊後,該些重複數據處理裝置運行一指紋特徵查找表(hash table)的一同步處理,用以更新其他該些重複數據處理裝置的該指紋特徵查找表。
- 一種重複數據刪除的分散式處理方法,用以存儲一客戶端的所產生至少一切分資料塊,該處理方法包括:該客戶端接收一輸入文件後產生該些切分資料塊,並向一派發伺服器發送具有一指紋特徵值的一查詢要求;該派發伺服器根據該指紋特徵值將該查詢要求轉發至相應的一重複數據處理裝置;該重複數據處理裝置判斷該指紋特徵值是否已經存在於一指紋特徵查找表中;若該指紋特徵查找表中未存儲該指紋特徵值,則該重複數據處理裝置根據該指紋特徵值將相應的該切分資料塊指派到該存儲伺服端,並向該客戶端發送包含所指派的該存儲伺服端的一存儲節點訊息;以及該客戶端根據該存儲節點訊息將該切分資料塊傳送至該存儲伺服端。
- 如請求項7所述之重複數據刪除的分散式處理方法,其中該重複數據處理裝置將該指紋特徵值進行取餘數處理,並根據取餘數處理後之結果將該查詢要求轉發至該派發伺服器。
- 如請求項7所述之重複數據刪除的分散式處理方法,其中該重複數據處理裝置另記錄該切分資料塊的一元數據信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100128574A TWI420333B (zh) | 2011-08-10 | 2011-08-10 | 分散式的重複數據刪除系統及其處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100128574A TWI420333B (zh) | 2011-08-10 | 2011-08-10 | 分散式的重複數據刪除系統及其處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201308115A TW201308115A (zh) | 2013-02-16 |
TWI420333B true TWI420333B (zh) | 2013-12-21 |
Family
ID=48169822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100128574A TWI420333B (zh) | 2011-08-10 | 2011-08-10 | 分散式的重複數據刪除系統及其處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI420333B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10209959B2 (en) * | 2016-11-03 | 2019-02-19 | Samsung Electronics Co., Ltd. | High radix 16 square root estimate |
JP6840013B2 (ja) * | 2017-03-31 | 2021-03-10 | アズビル株式会社 | 時系列データ記録方法および装置 |
US11709609B2 (en) | 2020-03-27 | 2023-07-25 | Via Technologies, Inc. | Data storage system and global deduplication method thereof |
TWI815086B (zh) * | 2020-03-27 | 2023-09-11 | 威盛電子股份有限公司 | 資料儲存系統及其全域去重複方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910132B1 (en) * | 2000-09-15 | 2005-06-21 | Matsushita Electric Industrial Co., Ltd. | Secure system and method for accessing files in computers using fingerprints |
US7363329B1 (en) * | 2007-11-13 | 2008-04-22 | International Business Machines Corporation | Method for duplicate detection on web-scale data in supercomputing environments |
TWI298128B (en) * | 2005-10-20 | 2008-06-21 | Ind Tech Res Inst | Method and system for managing distributed storage of digital contents |
TW201031160A (en) * | 2008-11-14 | 2010-08-16 | Qualcomm Inc | Systems and methods for data authorization in distributed storage networks |
TWI334981B (en) * | 2003-04-17 | 2010-12-21 | Ibm | Method and computer program product for providing distributed storage configuration control within a cluster of storage devices in a storage network |
TWI338473B (en) * | 2005-08-19 | 2011-03-01 | Hon Hai Prec Ind Co Ltd | System and method for managing storage of components in a distributed system |
-
2011
- 2011-08-10 TW TW100128574A patent/TWI420333B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6910132B1 (en) * | 2000-09-15 | 2005-06-21 | Matsushita Electric Industrial Co., Ltd. | Secure system and method for accessing files in computers using fingerprints |
TWI334981B (en) * | 2003-04-17 | 2010-12-21 | Ibm | Method and computer program product for providing distributed storage configuration control within a cluster of storage devices in a storage network |
TWI338473B (en) * | 2005-08-19 | 2011-03-01 | Hon Hai Prec Ind Co Ltd | System and method for managing storage of components in a distributed system |
TWI298128B (en) * | 2005-10-20 | 2008-06-21 | Ind Tech Res Inst | Method and system for managing distributed storage of digital contents |
US7363329B1 (en) * | 2007-11-13 | 2008-04-22 | International Business Machines Corporation | Method for duplicate detection on web-scale data in supercomputing environments |
TW201031160A (en) * | 2008-11-14 | 2010-08-16 | Qualcomm Inc | Systems and methods for data authorization in distributed storage networks |
Also Published As
Publication number | Publication date |
---|---|
TW201308115A (zh) | 2013-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10380073B2 (en) | Use of solid state storage devices and the like in data deduplication | |
US9792306B1 (en) | Data transfer between dissimilar deduplication systems | |
US20120323864A1 (en) | Distributed de-duplication system and processing method thereof | |
US20150324371A1 (en) | Data Processing Method and Device in Distributed File Storage System | |
CN111008185B (zh) | 一种数据共享方法、系统及设备 | |
US11221992B2 (en) | Storing data files in a file system | |
US8452822B2 (en) | Universal file naming for personal media over content delivery networks | |
CN109522283B (zh) | 一种重复数据删除方法及系统 | |
US11615000B2 (en) | Method and backup server for processing expired backups | |
TW201423426A (zh) | 資料分塊上傳與儲存系統及方法 | |
JP2012525633A5 (zh) | ||
CN102456059A (zh) | 重复数据删除的处理系统 | |
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
CN103186652A (zh) | 分布式的重复数据删除系统及其方法 | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
US20180107404A1 (en) | Garbage collection system and process | |
TWI420333B (zh) | 分散式的重複數據刪除系統及其處理方法 | |
CN109062500B (zh) | 一种元数据管理服务器、数据存储系统及数据存储方法 | |
JP2021179717A (ja) | ファイルサーバ、重複排除システム、処理方法、プログラム | |
US20170124107A1 (en) | Data deduplication storage system and process | |
JP5494817B2 (ja) | ストレージシステム、データ管理装置、方法及びプログラム | |
US11347424B1 (en) | Offset segmentation for improved inline data deduplication | |
US11573924B2 (en) | System and method for efficient storage of small files on file-system-based storage devices | |
JP6110354B2 (ja) | 異種記憶サーバおよびそのファイル記憶方法 | |
US20190034282A1 (en) | Offline repopulation of cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |