我想將重複數據刪除功能集成到我正在編寫的備份vmware映像的軟件中。我一直無法找到適合我想要的東西。似乎有很多完整的解決方案,包括一種形式的重複數據刪除或其他形式。這些包括使用公共雲或專用雲,專用文件系統,存儲網絡或設備等的存儲或備份解決方案。但是,我需要開發自己的解決方案並將重複數據消除整合到該解決方案中。我的軟件將用C#編寫,我希望能夠調用API來告訴它需要重複數據刪除的內容。重複數據刪除框架?
我所談論的重複數據刪除類型並不是針對另一個映像(通常是產生兩個「版本」增量或差異備份的方法)或所謂的「客戶端備份重複數據刪除」維基百科條目data deduplication,因爲我已經有一個解決方案來做到這一點,並希望更進一步。
我設想一種方法,可以讓我以某種方式在全球範圍內重複刪除大塊數據(即某種形式的global deduplication)。爲了成爲全球性的,我想會有一些中央查找表(例如散列索引),它會告訴推理者被檢查的數據副本已經被保留了,並且不需要再次存儲。塊可以是文件級(單實例存儲或SIS)或子文件/塊級重複數據刪除。後者應該更有效率(這對於我們的目的比處理開銷更重要),並且將是我的首選,但如果必須的話,我也可以讓SIS工作。
我現在已經做了很多關於其他人的軟件的推斷,如上所述。我不會在這裏舉出例子,因爲我沒有試圖模仿別人的方法。相反,我一直無法找到程序員的解決方案,並想知道是否有類似的東西。另一種辦法是推出我自己的解決方案,但這將是一個相當大的任務,要溫和地說。
謝謝。
查找到的rsync怎麼做的東西張貼這個答案。它可能會給你一些鼓舞人心的想法。或者,也許你已經這樣做了... –
感謝,rsync的方法來使用滑動窗口的校驗和來確定是否與它同步的文件匹配(據我所知,它從我的閱讀rsync工作)對應的部分我提到了塊級重複數據刪除。然而,在典型的服務器的虛擬軟件映像中,通常有很多數量的標準數據項(例如OS和程序文件)可以被刪除。除非我以某種方式嘗試與這些文件的大型中央庫進行同步/比較,否則我無法以實用的方式將它們重新刪除。 – stifin
您可以對每個文件進行散列並將其與文件一起存儲。然而,那麼你將有'文件'與'圖像'的難題。無論如何,你必須在這裏更具體地提出你的問題...... –