TWI663515B - 用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 - Google Patents
用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 Download PDFInfo
- Publication number
- TWI663515B TWI663515B TW106123947A TW106123947A TWI663515B TW I663515 B TWI663515 B TW I663515B TW 106123947 A TW106123947 A TW 106123947A TW 106123947 A TW106123947 A TW 106123947A TW I663515 B TWI663515 B TW I663515B
- Authority
- TW
- Taiwan
- Prior art keywords
- stored
- storage
- data
- control unit
- data block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
- H03M7/3093—Data deduplication using fixed length segments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本發明揭露一種用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法。該系統包含複數個儲存單元,每一儲存單元包含:複數個待儲存位置;一控制單元,用以控制儲存單元的運作;及一分散式重複資料刪除模組,用以提供或更新該確定性函數到該控制單元與邊緣部件,及於控制單元及/或邊緣部件中執行該方法的每一步驟。
Description
本發明關於一種用於物聯網於資料中心備份的儲存系統及相關方法,特別是一種關於使用分散式重複資料刪除技術以卸載儲存系統的重複資料刪除程序至連接的邊緣部件,並分散集中式儲存系統中大的重複資料刪除表單資料至所有儲存單元中的用於物聯網設備於資料中心備份儲存系統。
資料中心儲存了供存取的大量數位資料。隨著時光遷移,相同的資料可能以不同的格式封裝,例如,一張統計圖分別嵌入到EXCEL文件或WORD文件中的,它佔用相同資料的儲存空間,因而浪費了儲存空間。另一方面,對於從單一來源輸入的連續資料,重複資料也會降低資料中心的執行性能。這在串流更新監視視頻中經常出現,該視頻包含多個連續幀,其中一個或多個角落保持不變。這不僅是儲存空間的另一種浪費,也是有限帶寬網路環境中資料傳輸的瓶頸。為了解決上述問題,習知技術提供了許多重複資料刪除的方 法。一種常用的方法是在資料中心的儲存系統中使用重複資料刪除表。傳統上,重複資料刪除表運作方式如下:將文件分成許多塊或是可變大小單位;特徵化每一塊或可變大小單位為密碼安全的哈希簽名檔(hash signature),例如,SHA-1;及索引連接哈希簽名檔與儲存位置以用於識別和消除重複。重複資料刪除表通常保存在儲存系統的RAM模組中。以經驗法則來說,在Z檔案系統(Z File System,ZFS)中,重複資料刪除表的大小計算是每1-TB資料需要約5-GB的RAM模組儲存空間,在其他文件系統也幾乎相同。對於一個ZB等級的資料中心,重複資料刪除表的大小將延伸至5EB,這將成為一個無法承受的成本。
鑑於上述情況,需要有一種有效減輕資料中心內重複資料刪除表的負擔的方法。利用該方法的系統是非常值得期待的,特別是當物聯網設備的需求增加時,該系統可通過消除重複資料減少儲存空間,同時最小化有限帶寬網絡環境中的冗餘資料傳輸。
本段文字提取和編譯本發明的某些特點。其它特點將被揭露於後續段落中。其目的在涵蓋附加的申請專利範圍之精神和範圍中,各式的修改和類似的排列。為了解決以上問題,本發明提出一種用於達成物聯網設備於資料中心備份的儲存系統的分散式重複資料刪除的方法。該 方法包含步驟:a)提供一確定性函數到數個控制單元及連接該儲存系統的一邊緣部件中,其中每一控制單元用於儲存系統中的一儲存單元;b)由該邊緣部件分割該邊緣部件中的一待備份資料(To-Be-Backup Data)為複數個具預定大小的待儲存資料塊(To-Be-Stored Chunks);c)由該邊緣部件,利用確定性函數,為每一待儲存資料塊計算一哈希值(hash value);d)由該邊緣部件,利用確定性函數,為每一待儲存資料塊計算一待儲存位置(To-Be-Stored Destination);e)由該確定性函數所選擇的儲存單元中的一控制單元確認是否一待儲存資料塊已存在於一對應的待儲存位置;f)傳輸待儲存資料塊到對應且不存在待儲存資料塊的待儲存位置,及傳輸相關的哈希值到控制單元中;g)儲存待儲存資料塊於對應的待儲存位置,及儲存哈希值於由該確定性函數所選擇的儲存單元中;及h)索引連接該儲存的待儲存資料塊與對應的哈希值,及待儲存位置,至該邊緣部件及該儲存單元中的控制單元。
最好,該確定性函數可由哈希值變數、彈性方案、儲存單元分佈法則、服務品質(Quality of Service,QoS)政策或服務級別協議(Service Level Agreement,SLA)政策所驅動。該方法可進一步於步驟h後包含步驟:i)由對應的儲存單元中的控制單元,定期地確認是否所有儲存的待儲存資料塊保存於對應的待儲存位置;及j)如果步驟i的結果為非,再儲存遺失的儲存的待儲存資料塊。該方法也可進一步於步驟b 與步驟c間包含步驟:b1)編碼該待儲存資料塊以產生複數個待儲存奇偶校驗塊(To-Be-Stored Parity)。該方法更可進一步於步驟b與步驟e間包含步驟:c1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一哈希值;及d1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一待儲存位置。
本發明亦提出另一種用於達成物聯網設備於資料中心備份的儲存系統的分散式重複資料刪除的方法。該方法包含步驟:a)提供一確定性函數到數個控制單元及連接該儲存系統的一邊緣部件中,其中每一控制單元用於儲存系統中的一儲存單元;b)由該邊緣部件分割該邊緣部件中的一待備份資料為複數個具預定大小的待儲存資料塊;c)由該邊緣部件,利用確定性函數,為每一待儲存資料塊計算一哈希值;d)由該邊緣部件,利用確定性函數,為該待備份資料的N個副本的每一待儲存資料塊計算一待儲存位置;e)由控制單元確認是否第一副本的待儲存資料塊已存在於對應的待儲存位置;f)傳輸沒有待儲存資料塊存在於其待儲存位置的待儲存資料塊與在其它副本中相同待儲存資料塊的相關的待儲存位置到對應的待儲存位置,及傳輸相關的哈希值到控制單元;g)儲存待儲存資料塊於對應的待儲存位置,及儲存哈希值於由該確定性函數所選擇的儲存單元中;h)複製傳輸的待儲存資料塊到其它副本中相同待儲存資料塊的待儲存位置;及i)索引連 接該儲存的待儲存資料塊與對應的哈希值,及待儲存位置,至該邊緣部件及該儲存單元中的控制單元。
最好,該確定性函數可由哈希值變數、彈性方案、儲存單元分佈法則、服務品質政策或服務級別協議政策所驅動。該方法可進一步於步驟h後包含步驟:j)由對應的儲存單元中的控制單元,定期地確認是否所有儲存的待儲存資料塊保存於對應的待儲存位置;及k)如果步驟j的結果為非,為遺失的儲存的待儲存資料塊製作一個新副本。該方法也可進一步於步驟b與步驟c間包含步驟:b1)編碼該待儲存資料塊以產生複數個待儲存奇偶校驗塊。該方法更可進一步於步驟b與步驟e間包含步驟:c1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一哈希值;及d1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一待儲存位置。
本發明還揭露一種依照上述方法所達成用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統。儲存系統可包含:數個儲存單元,每一儲存單元具有數個待儲存位置;一控制單元,用以控制儲存單元的運作;及一分散式重複資料刪除模組,用以提供或更新該確定性函數到該控制單元與邊緣部件,及於控制單元及/或邊緣部件中執行該方法的每一步驟。最好,該分散式重複資料刪除模組可以是安裝於該控制單元中的硬體或軟體。
10‧‧‧儲存系統
50‧‧‧主機
101‧‧‧第一控制單元
102‧‧‧第二控制單元
103‧‧‧第三控制單元
104‧‧‧第四控制單元
105‧‧‧第五控制單元
106‧‧‧第六控制單元
107‧‧‧第七控制單元
108‧‧‧第八控制單元
110‧‧‧分散式重複資料刪除模組
201‧‧‧第一儲存單元
202‧‧‧第二儲存單元
203‧‧‧第三儲存單元
204‧‧‧第四儲存單元
205‧‧‧第五儲存單元
206‧‧‧第六儲存單元
207‧‧‧第七儲存單元
208‧‧‧第八儲存單元
300‧‧‧網路
410‧‧‧個人電腦
420‧‧‧智慧型手機
430‧‧‧嵌入式傳感器
440‧‧‧監視器
450‧‧‧遠程跟踪設備
第1圖顯示依照本發明的一種用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統的應用場景,以及該儲存系統的設施架構。
第2圖為達成用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統之一方法的流程圖。
第3圖表列在一實施例中用於流程圖的所有資料。
第4圖表列在另一實施例中使用的所有資料。
第5圖達成用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統之另一方法的流程圖。
第6圖表列另一實施例中用於流程圖使用的所有資料。
第7圖表列在又一實施例中使用的所有資料。
本發明將藉由參照下列的實施方式而更具體地描述。
請參閱第1圖,該圖顯示依照本發明的一種用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統10的應用場景,以及該儲存系統10的設施架構。儲存系統10基本上包含數個儲存單元,儲存系統10所有進出的資料都通過一主機50。儲存單元可以是,但不限於,硬碟、固態硬碟、磁帶或磁碟陣列。儲存單元的數量可以是數以萬計,依照資料 中心的需求而定。為了更好地了解本發明,8個儲存單元用來做說明(一第一儲存單元201、一第二儲存單元202、一第三儲存單元203、一第四儲存單元204、一第五儲存單元205、一第六儲存單元206、一第七儲存單元207,及一第八儲存單元208)。每一儲存單元具有數個待儲存位置,諸如塊或卷,這些將在後文中描述。每一儲存單元也具有一個控制單元(一第一控制單元101用於該第一儲存單元201、一第二控制單元102用於該第二儲存單元202、一第三控制單元103用於該第三儲存單元203、一第四控制單元104用於該第四儲存單元204、一第五控制單元105用於該第五儲存單元205、一第六控制單元106用於該第六儲存單元206、一第七控制單元107用於該第七儲存單元207,及一第八控制單元108用於該第八儲存單元208),用來控制儲存單元的運作。與現有技術不同,依照本發明每一儲存單元進一步具有一分散式重複資料刪除模組110。該分散式重複資料刪除模組110能提供一確定性函數給儲存系統10,並嵌設入每一儲存單元中。同時,分散式重複資料刪除模組110也嵌設或安裝於連接儲存系統10(未繪示於第1圖中)的邊緣部件。如果該確定性函數隨其要素變更而改變,該改變應更新到每一儲存單元的分散式重複資料刪除模組110與所有邊緣部件的分散式重複資料刪除模組110中。該確定性函數將進一步以後文用於儲存系統10的達成分散式重複資料刪除的方法來說明。儲存系統10也能於控制單元及/ 或邊緣部件側執行該些方法中的每一步驟,這是本發明的關鍵部分。實作上,分散式重複資料刪除模組110可以是第1圖所示的硬體,用來輔助操作儲存系統10,它也可以是安裝於控制單元中的軟體,本發明並未限定之。
邊緣部件都是通過網路300連接到儲存系統10的裝置或設備,嵌入電子裝置、軟體、傳感器、執行器和網路連接以啟動邊緣部件蒐集及交換資料。蒐集的資料需要備份於資料中心(儲存系統10)供進一步使用或分析。邊緣部件可以是用來上傳家庭製影片以分享給其他人的一台個人電腦410、透過儲存系統10幫助而使用社交通訊應用程式交換訊息的一部智慧型手機420、在一個智能襯衫中持續記錄體溫並將資料儲存到儲存系統10以進行分析的一個嵌入式傳感器430、在商店門口觀看人群,並在儲存系統10中備份監視視頻的一台監視器440,及安裝於出租車中用來追踪該車的一個遠程跟踪設備450。每一邊緣部件代表本發明的一個應用場景。很明顯地,無論哪個應用發生,對發送到儲存系統10的資料進行重複資料刪除是必須的,以防儲存系統10將很快被冗餘資料佔據。在本發明中提供了一種新的方式,即分散式重複資料刪除。它意味著重複資料刪除不再單由儲存系統10(控制單元)執行。反而,整個過程可以通過儲存系統10和與其相連接的邊緣部件來實現。儲存系統10的負載可以因此減少。用 於達成物聯網設備於資料中心備份的儲存系統的分散式重複資料刪除的方法將於下方配合實施例進行詳細說明。
假設用戶使用個人電腦410將他的視頻上傳到儲存系統10,儲存系統10中一個視頻共享的工作負載可以分享該視頻給有興趣人。該視頻包含來自影片剪輯的片段,而該影片剪輯可能已經在儲存系統10的儲存單元中留下了備份。為了對這些片段進行重複資料刪除並節省儲存空間,可以應用本發明所提供的方法。請見第2圖與第3圖並參見以下說明。第2圖是該方法的流程圖,第3圖表列在實施例中用於流程圖的所有資料。基於儲存系統10的架構及於第1圖中的邊緣部件,本方法的第一步驟為提供一確定性函數到每一儲存單元(201至208)的控制單元(101至108)以及連接到儲存系統10的個人電腦410中(S01)。由哈希值變數、彈性方案、儲存單元分佈法則、服務品質(Quality of Service,QoS)政策或服務級別協議(Service Level Agreement,SLA)政策所驅動,以便它能為每一待儲存資料塊決定一待儲存位置(將於之後說明)。也就是說,當輸入某些“變量”時,一個對應的待儲存位置就能獲得(計算出)。例如,哈希值來自一個待儲存資料塊,彈性方案要求再儲存時間不超過200ms,儲存單元分佈法則要求來自一個備份資料的所有待儲存資料塊不能設在同一個儲存單元中(應分置),而QoS與SLA兩者都要求視頻下載的延遲應在3秒鐘內。因此,待儲存位置可以被決定。應該注意的 是,上面提到的變量只是為了說明的目的,不應被視為唯一的變量,可以被用來正確指定一待儲存位置的其它因素也可以應用之。確定性函數由分散式重複資料刪除模組110提供。確定性函數可能會附帶一些代碼作為安裝在控制單元與個人電腦410中的程式。當個人電腦410連接到儲存系統10時,該程式開始啟動,確定性函數可用於分散式重複資料刪除。
本方法的第二步是由個人電腦410分割個人電腦410中的一待備份資料為複數個具預定大小的待儲存資料塊(S02)。待備份資料在本例子中指的是視頻檔案。取該預定大小為512Kbits,等同儲存單元的一個塊(塊)的大小。假設該視頻檔案大小是4000Kbits,會有8個待儲存資料塊(如第3圖中的表單的第一列所示之C1到C8)。第八個待儲存資料塊的有效位元值不滿512Kbits,因此,最後的96Kbits可以用”0”填充。當某些重複資料刪除的工作分散到邊緣部件後,雖然該些控制單元已安裝了確定性函數,但步驟S02強調的是由個人電腦410執行。接著,由個人電腦410,利用確定性函數,為每一待儲存資料塊計算一哈希值(S03)。再一次,個人電腦410執行了局部計算工作。資料塊對應的哈希值顯示於第3圖中的表單的第二列,由h1到h8。有許多現有的方法,諸如SHA-1,可用來取得用於資料影像的哈希值,本發明不限定之。一般來說,一個特定待儲存資料塊對應一個特定的哈希值。
接下來的步驟是由個人電腦410,利用確定性函數,為每一待儲存資料塊計算一待儲存位置(S04)。請見第3圖。在本實施例中,資料塊使用的待儲存位置為儲存單元201的塊200(S1_B200)用於C1、儲存單元202塊200(S2_B200)用於C2、儲存單元203塊200(S3_B200)用於C3、儲存單元204的塊200(S4_B200)用於C4、儲存單元205的塊200(S5_B200)用於C5、儲存單元206的塊200(S6_B200)用於C6、儲存單元207的塊200(S7_B200)用於C7,及儲存單元208的塊200(S8_B200)用於C8。此時,需要由該確定性函數所選擇的儲存單元中的一控制單元確認是否一待儲存資料塊已存在於一對應的待儲存位置(S05),這工作可由儲存單元中的每一控制單元執行,該控制單元接收來自邊緣部件的請求。由第三圖的表單,C1、C3、C4、C6,及C8的待儲存位置已存在於儲存系統10中,這意味著儲存系統10可能存在5個片段的視頻是冗餘的。C2、C5與C7的待儲存位置可用於對應的待儲存資料塊。依照確認結果,如果為”是”,維持對應的待儲存位置中的待儲存資料塊(S06);果為”否”,傳輸待儲存資料塊到對應且不存在待儲存資料塊的待儲存位置,及傳輸相關的哈希值到控制單元中(S07)。控制單元應該具有對應的儲存單元中所有的待儲存資料塊的哈希值。然而,在這種情況下,只有新的待儲存資料塊與其哈希值需要由儲存系統10的控制單元保留。
接著,儲存待儲存資料塊於對應的待儲存位置,及儲存哈希值於由該確定性函數所選擇的儲存單元中(S08)。在步驟S08中,哈希值的位置不被任何具體規則指定,而是取決於確定性函數的操作來找到合適的位置。如上所示,儲存單元包含許多待儲存位置,該待儲存位置是為待儲存資料塊保留的最小儲存元件,而儲存單元只是用來儲存哈希值,無論哪個待儲存位置被分配到做這項工作。
下一個步驟是索引連接該儲存的待儲存資料塊與對應的哈希值,及待儲存位置,至個人電腦410及儲存單元中的控制單元(S09)。本步驟意謂因一個新的待儲存資料塊儲存到對應的待儲存位置,對應的哈希值與待儲存位置應由各方承認。索引值可由控制單元或儲存系統10的儲存單元中某些待儲存位置,以及個人電腦410的記憶體或儲存裝置中的沙盒所保留。從第3圖可知,很明顯地,C2+h2+S2_B200,C5+h5+S5_B200,與C7+h7+S7_B200已索引連接。
最終步驟是由對應的儲存單元中的控制單元,定期地確認是否所有儲存的待儲存資料塊保存於對應的待儲存位置(S10)。由於某些原因,例如一個儲存的待儲存位置不小心被執行刪除,儲存的待儲存資料塊遺失。遺失的待儲存資料塊需要回存以保持系統的同步和一致。因此,如果有任何儲存的待儲存資料塊被發現遺失,只要回存遺失的儲存的待儲存資料塊(S11)。這可以用索引的哈希值來反向衍生。如 果沒有儲存的待儲存資料塊被發現遺失,維持所有待儲存資料塊於對應的待儲存位置(S12)。步驟S10一次又一次的執行,以確保在儲存系統10中備份的儲存的待儲存資料塊不會遺失。
在前述的實施例中,顯示了用於一般待備份資料的方法。依照本發明的精神,還有另一種方法,可用於具有錯誤檢查功能的奇偶校驗位的一般待備份資料。以下是介紹該方法的另一實施例。
請參閱第2圖與第4圖。第4圖表列另一實施例中所有用到的資料。新方法和以前的方法有一些共同之處,但有兩處不同。首先,一步驟,S02’,存在於步驟S02與S03之間。S02’為編碼該待儲存資料塊以產生複數個待儲存奇偶校驗塊。待儲存奇偶校驗塊的大小應該與待儲存資料塊的大小相同,0可以用於填充。如第4圖所示,有3個待儲存奇偶校驗塊P1、P2,與P3。第二個不同處為有兩個多的步驟插到步驟S02與步驟S05之間。它們是由個人電腦410,利用確定性函數,為每一待儲存奇偶校驗塊計算一哈希值(S03’),及由個人電腦410,利用確定性函數,為每一待儲存奇偶校驗塊計算一待儲存位置(S04’)。步驟S03’與S04’的順序不受限於步驟S03與S04的順序,這是因為該方法可以在所有待儲存奇偶校驗塊之前處理所有待儲存資料塊,該方法也可以先處理所有哈希值,再處理所有的待儲存位置。因為待儲存資料塊與 待儲存奇偶校驗塊都在步驟S02’後才獲得,所有的待儲存奇偶校驗塊可以先處理,然後才處理待儲存資料塊。其餘步驟都相同。
從第4圖,對應P1、P2,與P3的哈希值各為h9、h10,與h11。對應P1、P2,與P3的待儲存位置為儲存單元1的塊210(S1_B210)對應P1,儲存單元1的塊220(S1_B220)對應P2,儲存單元1的塊230(S1_B230)對應P3。在步驟S05之後,所有三個待儲存位置都空了。因此,P1+h9、P2+h10,及P3+h11被控制單元傳輸及儲存。最後,P1+h9+S1_B210、P2+h10+S1_B220,及P3+h11+S1_B230被索引連接。步驟S10重複來監測是否任有何待儲存資料塊或待儲存奇偶校驗塊遺失。
當不需要副本時,可適用上述兩個實施例。出於安全考慮的副本,有些資料需要製作副本。由於傳輸資料量和儲存空間對儲存設備來說很大,為此,本發明提供了其它的方法來處理。下面兩個實施例用來介紹相關的方法。
假設嵌入式傳感器430持續傳輸體溫及相關訊息到儲存系統10,以供後續分析。對於健康的身體來說,訊息應該隨時保持穩定。因此,在一段時間內可能會有很多資料不變。這是應用本發明方法的一個很好的例子。請見第5圖與第6圖並參照以下說明。第5圖是該方法的流程圖,第6圖表列在本實施例中該流程圖所有用到的資料。基於儲存系統10的架 構及於第1圖中的邊緣部件,該方法的第一步驟為提供一確定性函數到控制單元及連接該儲存系統10的嵌入式傳感器430中,其中每一控制單元用於儲存系統10中的一儲存單元(S21)。第二步驟為由嵌入式傳感器430分割嵌入式傳感器430中的一待備份資料為複數個具預定大小的待儲存資料塊(S22)。第三步驟為由該嵌入式傳感器430,利用確定性函數,為每一待儲存資料塊計算一哈希值(S23)。步驟S01到S03和S21到S23之間沒有顯著差異,唯一的區別是待儲存資料塊的大小。由於體溫和相關隨著時間的遷移的資料是數位化資料而且不是很大,為了有更好的重複資料刪除效果,待儲存資料塊的大小可以是16K bits或更小。這意味著它不是一個塊的大小,且多個待儲存資料塊可以組合來填充一個塊。
接著的步驟為由該嵌入式傳感器430,利用確定性函數,為該待備份資料的N個副本的每一待儲存資料塊計算一待儲存位置(S24)。N是一個正整數,這意味著該方法可以適用於任何數量的出於安全考慮的副本。在本實施例中,N為3。請參閱第6圖。三個副本都有三個待儲存資料塊,各為C1、C2,與C3。所有待儲存資料塊的哈希值都相同,為h1、h2,與h3。然而,副本待儲存資料塊的對應的待儲存位置不同。這是確定性函數的特別設計:即使相同的數據也具有相同的哈希值,它們將被複製到不同的位置。在本實施例中,第一副本(R1)的C1被指定到儲存單元201的塊100(S1_B100),第一副本的 C2被指定到儲存單元201的塊110(S1_B110),第一副本的C3被指定到儲存單元201的塊120(S1_B120),第二副本(R2)的C1被指定到儲存單元202的塊100(S2_B100),第二副本的C2被指定到儲存單元202的塊110(S2_B110),第二副本的C3被指定到儲存單元202的塊120(S2_B120),第三副本(R3)的C1被指定到儲存單元203的塊100(S3_B100),第三副本的C2被指定到儲存單元203的塊110(S3_B110),第三副本的C3被指定到儲存單元203的塊120(S3_B120)。
接下來的步驟為由控制單元確認是否第一副本的待儲存資料塊已存在於對應的待儲存位置(S25)。如果答案為是,則維持待儲存資料塊於對應的待儲存位置(S26);如果答案為否,則傳輸沒有待儲存資料塊存在於其待儲存位置的待儲存資料塊與在其它副本中相同待儲存資料塊的相關的待儲存位置到對應的待儲存位置,及傳輸相關的哈希值到控制單元(S27)。為了有更好的理解,請回到第6圖。在步驟S25之後,發現S1_B110中已經存在C2。因此,C2維持原樣(步驟S26)。R1的C1與C2已各自傳輸到S1_B100與S1_B120。C1和h1一起傳輸,C3和h3一起傳輸。同時,R2與R3中C1與C3的待儲存位置也都傳輸到控制單元(步驟S27)。接下來的步驟為儲存待儲存資料塊於對應的待儲存位置,及儲存哈希值於由該確定性函數所選擇的儲存單元中(S28)。在這階段,第一副本的所有待儲存資料塊已備份於對應的待儲存位置, 而其餘的副本還沒。如同前一實施例,哈希值,h1、h2,及h3由控制單元所保存。
下一個步驟為複製傳輸的待儲存資料塊到其它副本中相同待儲存資料塊的待儲存位置(S29)。直覺來看,這個步驟是製作額外的兩個副本。然而,它與通常應用的複製不同。這些位置,即待儲存位置,已經由確定性函數確定。接著,索引連接該儲存的待儲存資料塊與對應的哈希值,及待儲存位置,至該邊緣部件及該儲存單元中的控制單元(S30)。要強調的是在本實施例中,索引連接是用於所有三個副本的待儲存資料塊,不是僅用於第一副本。資料索引連接顯示在第6圖中,此處不再重複。
最後步驟為由對應的儲存單元中的控制單元,定期地確認是否所有儲存的待儲存資料塊保存於對應的待儲存位置(S31)。步驟S31的目的與前述實施例中步驟S10的目的相同。遺失的待儲存資料塊需要被回存。因此,如果有任何儲存的待儲存資料塊遺失,為遺失的儲存的待儲存資料塊製作一個新的副本(S32)。如果沒有儲存的待儲存資料塊遺失,維持所有待儲存資料塊於對應的待儲存位置(S33)。步驟S31一次又一次的執行,以確保儲存系統10中的三個副本的儲存資料塊不會消失。
相似地,在上述實施例中,它顯示了用於多個副本中的一般待備份資料的方法。依照本發明的精神,還有另一 種方法,可用於具有錯誤檢查功能的奇偶校驗位與出於安全考慮的副本的一般待備份資料。以下是該方法的另一實施例。
請參閱第5圖與第7圖,第7圖表列出了另一個實施例中使用的所有數據。新方法和以前的方法有一些共同之處,但有兩點不同。首先,一步驟,S22’,存在於步驟S22與S23之間。S22’為編碼該待儲存資料塊以產生複數個待儲存奇偶校驗塊。待儲存奇偶校驗塊的大小應與待儲存資料塊的大小相同,0可以用於填充。在本實施例中,只有一個待儲存奇偶校驗塊。該待儲存奇偶校驗塊,P,帶有哈希值h4。第二個不同點為在步驟S22和步驟S25之間還有兩個步驟。它們分別是:由嵌入式傳感器430,利用確定性函數,為每一待儲存奇偶校驗塊計算一哈希值(S23’),及由嵌入式傳感器430,利用確定性函數,為每一待儲存奇偶校驗塊計算一待儲存位置(S24’)。步驟S23與S24’的順序不限於步驟S23與S24的順序,這是因為該方法可以在所有待儲存奇偶校驗塊和一個副本之前處理所有待儲存資料塊。該方法也可以先處理所有哈希值,再處理所有待儲存位置和一個副本。因為待儲存資料塊與待儲存奇偶校驗塊是在步驟S22’之後才獲得,所有的待儲存奇偶校驗塊與一個副本可先行處理,之後才處理所有的待儲存資料塊。其餘的步驟是一樣的。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (7)
- 一種用於達成物聯網設備於資料中心備份的儲存系統的分散式重複資料刪除的方法,包含步驟:a)提供一確定性函數到數個控制單元及連接該儲存系統的一邊緣部件中,其中每一控制單元用於儲存系統中的一儲存單元;b)由該邊緣部件分割該邊緣部件中的一待備份資料為複數個具預定大小的待儲存資料塊;c)由該邊緣部件,利用確定性函數,為每一待儲存資料塊計算一雜湊值;d)由該邊緣部件,利用確定性函數,為該待備份資料的N個副本的每一待儲存資料塊計算一待儲存位置;e)由控制單元確認是否第一副本的待儲存資料塊已存在於對應的待儲存位置;f)傳輸沒有待儲存資料塊存在於其待儲存位置的待儲存資料塊與在其它副本中相同待儲存資料塊的相關的待儲存位置到對應的待儲存位置,及傳輸相關的雜湊值到控制單元;g)儲存待儲存資料塊於對應的待儲存位置,及儲存雜湊值於由該確定性函數所選擇的儲存單元中;h)複製傳輸的待儲存資料塊到其它副本中相同待儲存資料塊的待儲存位置;及i)索引連接該儲存的待儲存資料塊與對應的雜湊值,及待儲存位置,至該邊緣部件及該儲存單元中的控制單元。
- 如申請專利範圍第1項所述的方法,其中該確定性函數由雜湊值變數、彈性方案、儲存單元分佈法則、服務品質(Quality of Service,QoS)政策或服務級別協議(Service Level Agreement,SLA)政策所驅動。
- 如申請專利範圍第1項所述的方法,進一步於步驟h後包含步驟:j)由對應的儲存單元中的控制單元,定期地確認是否所有儲存的待儲存資料塊保存於對應的待儲存位置;及k)如果步驟j的結果為非,為遺失的儲存的待儲存資料塊製作一個新副本。
- 如申請專利範圍第1項所述的方法,進一步於步驟b與步驟c間包含步驟:b1)編碼該待儲存資料塊以產生複數個待儲存奇偶校驗塊。
- 如申請專利範圍第4項所述的方法,進一步於步驟b與步驟e間包含步驟:c1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一雜湊值;及d1)由該邊緣部件,利用確定性函數,為每一待儲存奇偶校驗塊計算一待儲存位置。
- 一種依照申請專利範圍第1至5項中任一項所述的方法所達成用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統,包含複數個儲存單元,其特徵在於每一儲存單元包含:複數個待儲存位置;一控制單元,用以控制儲存單元的運作;及一分散式重複資料刪除模組,用以提供或更新該確定性函數到該控制單元與邊緣部件,及於控制單元及/或邊緣部件中執行該方法的每一步驟。
- 如申請專利範圍第6項所述的儲存系統,其中該分散式重複資料刪除模組是安裝於該控制單元中的硬體或軟體。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123947A TWI663515B (zh) | 2017-07-18 | 2017-07-18 | 用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 |
EP17191487.2A EP3432131A1 (en) | 2017-07-18 | 2017-09-15 | Storage system of distributed deduplication for internet of things backup in data center and method for achieving the same |
JP2017192587A JP2019021284A (ja) | 2017-07-18 | 2017-10-02 | IoT装置がデータセンタでバックアップするための分散型重複データ削除記憶システム及びその分散型重複データ削除を実現する方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123947A TWI663515B (zh) | 2017-07-18 | 2017-07-18 | 用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201908987A TW201908987A (zh) | 2019-03-01 |
TWI663515B true TWI663515B (zh) | 2019-06-21 |
Family
ID=59914308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106123947A TWI663515B (zh) | 2017-07-18 | 2017-07-18 | 用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3432131A1 (zh) |
JP (1) | JP2019021284A (zh) |
TW (1) | TWI663515B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773343B (zh) * | 2021-05-26 | 2022-08-01 | 中華電信股份有限公司 | 分散式物件資料儲存系統、方法及電腦可讀媒介 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102561510B1 (ko) | 2019-02-08 | 2023-08-02 | 닛폰세이테츠 가부시키가이샤 | 방향성 전자 강판, 방향성 전자 강판의 절연 피막 형성 방법, 및 방향성 전자 강판의 제조 방법 |
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 | 威盛電子股份有限公司 | 資料儲存系統及其全域去重複方法 |
US20230236764A1 (en) * | 2022-01-26 | 2023-07-27 | Pure Storage, Inc. | Edge accelerator card |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200519595A (en) * | 2003-12-02 | 2005-06-16 | Hewlett Packard Development Co | Data storage system with error correction code and replaceable defective memory |
WO2009033074A2 (en) * | 2007-09-05 | 2009-03-12 | Emc Corporation | De-duplication in virtualized server and virtualized storage environments |
US9430156B1 (en) * | 2014-06-12 | 2016-08-30 | Emc Corporation | Method to increase random I/O performance with low memory overheads |
US9690501B1 (en) * | 2014-12-02 | 2017-06-27 | EMC IP Holding Company LLC | Method and system for determining data profiles using block-based methodology |
-
2017
- 2017-07-18 TW TW106123947A patent/TWI663515B/zh active
- 2017-09-15 EP EP17191487.2A patent/EP3432131A1/en not_active Withdrawn
- 2017-10-02 JP JP2017192587A patent/JP2019021284A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200519595A (en) * | 2003-12-02 | 2005-06-16 | Hewlett Packard Development Co | Data storage system with error correction code and replaceable defective memory |
WO2009033074A2 (en) * | 2007-09-05 | 2009-03-12 | Emc Corporation | De-duplication in virtualized server and virtualized storage environments |
US9430156B1 (en) * | 2014-06-12 | 2016-08-30 | Emc Corporation | Method to increase random I/O performance with low memory overheads |
US9690501B1 (en) * | 2014-12-02 | 2017-06-27 | EMC IP Holding Company LLC | Method and system for determining data profiles using block-based methodology |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773343B (zh) * | 2021-05-26 | 2022-08-01 | 中華電信股份有限公司 | 分散式物件資料儲存系統、方法及電腦可讀媒介 |
Also Published As
Publication number | Publication date |
---|---|
EP3432131A1 (en) | 2019-01-23 |
TW201908987A (zh) | 2019-03-01 |
JP2019021284A (ja) | 2019-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663515B (zh) | 用於物聯網設備於資料中心備份的分散式重複資料刪除儲存系統及其達成分散式重複資料刪除方法 | |
US10956601B2 (en) | Fully managed account level blob data encryption in a distributed storage environment | |
US11467931B2 (en) | Method and system for function-specific time-configurable replication of data manipulating functions | |
US9703803B2 (en) | Replica identification and collision avoidance in file system replication | |
US9489270B2 (en) | Managing backup operations from a client system to a primary server and secondary server | |
US7958372B1 (en) | Method and apparatus to convert a logical unit from a first encryption state to a second encryption state using a journal in a continuous data protection environment | |
US8484164B1 (en) | Method and system for providing substantially constant-time execution of a copy operation | |
US10579475B2 (en) | Performing a desired manipulation of an encoded data slice based on a metadata restriction and a storage operational condition | |
US10567542B2 (en) | Method for state based snapshot difference with restart capability | |
US9031906B2 (en) | Method of managing data in asymmetric cluster file system | |
AU2015360953A1 (en) | Dataset replication in a cloud computing environment | |
US7761431B2 (en) | Consolidating session information for a cluster of sessions in a coupled session environment | |
US20140195575A1 (en) | Data file handling in a network environment and independent file server | |
US20190188309A1 (en) | Tracking changes in mirrored databases | |
US20090019443A1 (en) | Method and system for function-specific time-configurable replication of data manipulating functions | |
US20140317056A1 (en) | Method of distributing and storing file-based data | |
US11341009B1 (en) | Directing placement of data in cloud storage nodes | |
JP6196389B2 (ja) | 分散型ディザスタリカバリファイル同期サーバシステム | |
US20190026043A1 (en) | Storage system of distributed deduplication for internet of things backup in data center and method for achieving the same | |
US10223545B1 (en) | System and method for creating security slices with storage system resources and related operations relevant in software defined/as-a-service models, on a purpose built backup appliance (PBBA)/protection storage appliance natively | |
US11334456B1 (en) | Space efficient data protection | |
KR101748913B1 (ko) | 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템 | |
US20150088826A1 (en) | Enhanced Performance for Data Duplication | |
EP3629178B1 (en) | System and method for providing backup services to high availability applications | |
US9524217B1 (en) | Federated restores of availability groups |