荊東星
摘 要:在本篇文章當中,我們針對數據中心存在大量的數據冗余的問題進行了簡單的探討,并且對于備份數據造成的存儲容量浪費現象,提出了一種基于Hadoop平臺的分布式重復數據刪除解決方案。
關鍵詞:Hadoop;分布式重刪;存儲系統
一、我們對于重復數據刪除技術進行研究和探討分析
我們可以從圖1當中了解到,對于刪除重復數據技術來講,它內在的主要思想是:可以將存入到內部的數據進行分割成塊,接著對于這一類的數據進行判斷是否進行存儲。如果沒有進行存儲的話,那么便需要使用到存儲塊的指針來進行存儲。因此在本篇文章當中,我們主要是對基于數據塊的重復數據刪除技術進行簡單的探討和分析。
二、相關工作探討
對于分布式刪除技術,主要是指分布式集群存儲系統中的刪除操作。在當前的分布式重刪數據主要面對著效率,磁盤大小,可靠性以及擴展性等方面的問題,因此相關的工作人員就考慮到使用Hadoop平臺來進行操作。對于Hadoop平臺來講,它有著高效率,低成本,高容錯等優點,能夠將自動并行化,負載均衡等多項復雜的操作變為簡化,大大的減輕了程序員的工作內容。
三、基于Hadoop平臺的分布式重刪存儲系統
在基于Hadoop平臺的重刪研究當中,我們需要使用到MapReduce的方式來進行重刪并行化,但是重刪的速度仍然需要有效的提高。雖然分布式重刪可以在很大的程度上提升重刪速度,但是在每一個節點當中仍然保留了一部分的指紋值,從而會在一定的程度上影響到數據的重刪率。本文實現了一個基于Hadoop分布式平臺的可擴展分布式刪除集群,固定塊用于離線和精確地存儲備份數據,可以備份和使用某些大型文件。相應的也提高了重刪的速度。我們主要是按照KB級的大小分塊來進行數據塊級的重刪。系統體系如圖2所示。
(一)并行化重刪分析
為了能夠很好的提高重刪速度,我們對MapReduce這一個機制進行了大力的改進,并且減少了Reduce的流程,僅僅是通過Map函數并能夠實現相應的一些功能和操作。大致的說來,對于系統當中存在的MAP函數,這一個函數主要是對數據進行讀取和預處理操作的。而對于REDUCE函數來講,它主要是進行負責合并MAP中間產生的數據。因此對于REDUCE函數來講,它不能實現分組以及排序等操作。進行處理。并且能夠在一定的程度上有效的避免Shuffle以及Sort這兩個階段的處理延時,因此在本篇文章當中忽略了Reduce這一個操作,我們只需要通過MAP函數便可以實現重刪等操作,并且還可以提高重刪的速度。
(二)可擴展性
在集群當中可擴展是內部的一個重點關鍵,因此,如何在擴展簇大小的同時有效地實現重復數據刪除的性能和容量,這也是我們在設計集群時需要注意的問題,對于系統當中的地層來講,它是基于HADOOP平臺來進行操作的,其內部當中的索引表會保存在數據當中,那么當我們在進行刪除操作以及查詢操作的時候便有著很好的擴展性能。
當我們需要擴展集群的大小時,我們可以通過在元數據服務器節點的配置文件中注冊來在線添加和刪除存儲節點,接著我們還需要操作系統來完成數據平衡操作,當系統在對數據進行處理的過程中,系統出現了負載的情況發生,我們能夠加入MAPPER節點來讓系統內部的處理性能有所提高,另外,對于增加重刪存儲節點還可以在一定的程度上擴展存儲容量。
(三)重刪操作之后如何進行快速恢復
為了快速恢復已刪除 的文件,我們添加了元數據表來存儲文件數據的信息。對于系統來講,其內部的操作只需要對元數據表進行簡單的維護和保存便可,我們在進行保存的過程中,可以發現在該表當中我們可以將文件保存為記錄。對于數據表來講內部有著兩個方面,第一個方面,主要是要用對文件的絕對路徑進行記錄,另一個方面是用于對文件的數據信息進行記錄,并且在記錄的過程當中需要對文件的大小以及塊偏移值信息進行有效的保存。我們可以從圖3當中看出元數據表和索引表的關系。
當對于刪除過后還需要進行恢復的文件來講,那么我們便需要按照文件的路徑來進行搜索,接著搜索到文件的原始數據信息便可。然后我們可以瀏覽存儲在文件元數據中的塊信息,這樣我們就可以獲得塊指紋值。然后我們可以通過塊指紋值找到索引表,這樣我們就可以得到數據塊的具體存儲位置。經過幾次后,我們可以獲得原始文件了。
四、結語
總體的說來,我們為了能夠更好的讓系統的可用性變得十分穩定,應當在日后的操作當中,采用糾刪編碼技術來對需要進行備份的文件進行備份等相關操作。通過對存儲的單一副本數據進行編碼,從而有效的提高系統的可靠性。
參考文獻:
[1]王奏鳴.分布式重復數據刪除系統中路由方法的研究[D].重慶大學,2017.
[2]劉青,付印金,倪桂強,梅建民.基于Hadoop平臺的分布式重刪存儲系統[J].計算機應用,2016,36(02):330-335.
[3]王建輝,石宇良.支持文件重刪的HDFS分布式備份系統研究[J].電子設計工程,2014,22(04):19-22.