廣東工業大學 袁斯烺
云存儲的一個關鍵技術是分布式文件系統。在系統架構與云存儲的解決文字上,Hadoop的HDFS文件系統是被當前的各行各業選用得比較多的分布式文件系統。把具有高穩定性與可擴展性等優點的分布式計算平臺運行在廉價、使用廣泛的硬件設備上是Hadoop的設計初衷。有根據相關調查分析,目前國內有一部分知名企業就是采用Hadoop來實現去服務架構體系的搭建。比如國內的互聯網巨頭華為、百度的云計算架構都是使用Hadoop技術來搭建。所以,在云存儲與云計算領域,研究Hadoop生態體系相關的應用與采用HDFS搭建云存儲平臺具有極其重要的意義。
當前HDFS還不是很完善,在設計上它有存在一些需要改進的地方。例如在一般的HDFS分部式文件系統中,整個集群內只有一個namenode節點用于存儲、管理元數據信息,若namenode出現故障則整個集群將不能正常運行,另外單個namenode的內存容量大小也約束了整個分式性集群的擴展;存儲在HDFS上的文件的安全性得不到保障,一旦HDFS上的數據發生泄漏,很可以會對個人或企業造成不可挽回的損失。
綜合上述的分析,本論文中基于Hadoop的大數據云存儲平臺的研究具有以下重要意義:第一點,當前云計算領域的一大研究熱點是hadoop,所以通過對hadoop的hdfs分布式文件系統的研究可以讓我們把握與云存儲與云計算有關的領域的發展方向和獲取最新前沿信息;第二點,對當前HDFS分布式文件系統存在的缺陷進行改進。第一,針對HDFS的單一namenode問題,增加namenode的備用節點,可提高HDFS的穩定性與可靠性。第二,針對HDFS分布式文件系統對數據的安全不加密問題,需要額外附加一層數據加密機制,把將要存儲在HDFS上的數據先進行加密再存儲,可提高HDFS的安全性;第三點,鑒于HDFS可以在廉價的PC上運行,對硬件要求不高,可極大地降低云存儲的成本。第四點,基于hadoop的一系列優點和業界對hadoop的熱衷,對HDFS的研究一旦取得一定的成果,將會推動hadoop的廣泛用使用。
Hadoop是當前大數據領域的主流技術,可實現云計算與存儲。而SSM后端則是對用于開發Web網站,以網站的方式提供服務。把Hadoop與SSM技術結合在一起,可以快速開發出一個可用性強的云存儲平臺。下面我們分別對Hadoop與SSM作簡要介紹。
Hadoop實現一個分布式文件系統,具有高容錯性的特點,可以實現在廉價硬件上部署分。此外Hadoop還可以高吞吐量地訪問數據,特別適合有著海量數據的應用程序使用。
SSM全稱是SrpingMVC+Spring+MyBatis,是一套開發Web應用的主流框架。其中SpringMVC把分派器、模型對象、控制器分離。Spring相當一個大窗口,實現IoC和AOP。MyBaits是一個支持自己編寫SQL和存儲過程的持久層框架,實現對關系型數據庫的問題。
Hadoop在大數據領域是當前主流的技術,其有著一套完整的生態體系。但hadoop并不能直接給遠程用戶使用,必須要提供一個用于處理用戶請求的系統,請用戶的請求進行分析并轉化為相應的hadoop操作。以java為例,為hadoop開發一個基于socket套接字的用戶請求處理系統,其工作量和難度都是極大。所以,我們最終決定采用SSM后端框架完成的用戶請求處理系統的開發。
基于Hadoop所構建的大數據云存儲平臺其基本功能需求有:1)普通用戶與vip用戶功能權限認證;2)可實現自動同步功能。在設備當前處于連網狀態下,可自動同步云端數據和自動上傳文件,快速方便地保持了客戶端與大數據云存儲集群間的數據,實現數據一致性;3)擁有高度的安全機制,保證數據在保存和傳輸過程的這個人信息安全性;4)能實現本地設備存儲文件,用戶可隨時隨地地翻看個人存儲的文件,即使在斷網或斷電的情況下,客戶端的數據也不會丟失。
綜上所述,大數據云存儲平臺一共可分為三大主要的功能模塊,包括安全可靠的傳輸層模塊、安全可靠的客戶端模塊和安全可靠的服務器端集群模塊。結合大數據云存儲平臺功能模塊劃分的原則,在充分分析與考慮各個功能耦合性和二次開發的可行性的基礎上,大數據云存儲平臺大功能上分為以幾個主要部分:
安全客戶端是由大數據云存儲平臺提供給注冊用戶直接使用的功能模塊,從系統的實現角度出發,其又可以細分為以下必個小模塊:
注冊登錄:每個成熟的云存儲系統都必須具備的一個功能就用戶注冊登錄。我們的用戶在注冊賬號我們提供的信息包括注冊的用戶名(具有唯一性)、登錄密碼以及獨立的文件數據加密密鑰。用戶在登錄時需要正常填寫賬號名和登錄密碼,之后再填寫正確的加密密鑰才能打開虛擬硬盤使用我們的大數據云存儲服務。
文件過濾驅動:文件過濾驅動是在文件系統驅動上實現的加密方式。我們可以在本地文件系統的驅動上添加一屋過濾機制來完成對用戶虛擬硬盤中指定文件的透明加密。
文件實時監控:為了使服務器端與客戶端的文件可以實時同步,還需要將一種實時監控機制建立在客戶端中,當文件在客戶端的虛擬硬盤發生增、刪、改等操作后,可以及時有效地把這些文件同步到后臺的云存儲集群當中。這種實時監控機制是文件同步模塊的極其重要的部分。
大數據云存儲平臺的中間模塊是安全可靠傳輸層。這個是中間模塊的安全性與可靠性具有極其重要的意義,因為他決定的用戶是否會長久地使用這個大數據云存儲系統。基于實際角度分析考慮,主要可分為心下兩個重要模塊:
3.3.1 HTTPS安全傳輸
HTTPS安全傳輸:依照大數據云存儲系統的實現原理,數據可以實現云端存取,我們必須采取穩定可靠的同步策略來進行文件的同步操作。為提升文件在傳輸過程中的安全性,本大數據云存儲平臺使用HTTPS協議以實現數據的傳輸。其具體的文件傳輸細節將在后而的章節中詳細分析。
多線程傳輸:在提升文件同步操作過程中的可靠性,本大數據云存儲平臺還將使用多線程技術實現文件數據的傳輸,其中還會使用當下熱點的斷點續傳技術加以支持。客戶端當前的網絡處于斷網或系統出現故障后,其不可以實現之后的自動從文件斷點處為新的起點,開始繼續傳輸。
3.3.2 服務器端
大數據云存儲平臺的核心部分在于服務器端。本論文中,它包含一兩部分:一是云存儲集群;二是安全云存儲系統的后臺服務器端。云存儲集群是功能是為用戶提供文件的存儲服務。而來自客戶端的請求則是由安全云存儲系統的后臺服務器端來響應。我們可以分為以下兩下模塊:
存儲集群:我們使用基于hadoop來搭建云存儲集群,因為這部分我們必須重點分析研究如何搭建和配置hadoop分布式集群,合理布置整體框架,盡最大限度為發揮集群的性能。
數據處理:該模將采用SSM后臺框架實現,用于監聽來自客戶端請求。對于客戶端文件的請求操作,我們將采取不同的請求處理方式 。這些處理方式包括文件的創建、文件的更新、文件的重命名、文件的刪除和文件的轉移等等,一共五個主要操作。
實時監控:提升整個服務器集群的可操作性,還必須要有一個實時監控的功能,用于對服務器端集群的實時監控。實時監控需要監控下面三個主要方面的內容:1)文件同步情況:監控所有個人用戶的文件的同步情況;2)云存儲集群的運行情況:對云存儲集群的運行發問我們必須有采取相對就的策略,實時對其進行監控,主監控的監控內容有集群的硬件利用率、存儲空間的使用率和個人用戶數據的存放情況;3)元服務器的運行情況:元服務器是服務器集群中的大腦,對它的監控是不可或缺的,這部分的內容包括系統的硬盤、CPU、內存以及線程并發數等等的使用情況。
我們探討了大數據云存儲的當前現狀和研究意義,Hadoop是未來存儲領域的趨勢。對Hadoop分布式文件系統的研究能推動Hadoop的發展與推廣。然后通過對基于Hadoop與SSM框架的大數據云存儲平臺的初步探索,了解到采用Hadoop搭建分布式文件系統的可行性與SSM開發用戶請求處理平臺的關系。
[1]劉鵬.云計算-將計算變成水和電[J].中國計算機學會通訊,2009,5(10)∶49-54.
[2]張唯維.云計算用戶數據傳輸與存儲安全方案研究[D].北京∶北京郵電大學,2011.
[3]王彩亮.云存儲環境下數據副本管理策略研究[D].昆明∶云南大學,2011.
[4]周可,王樺,李春花.云存儲技術及其應用[J].中興通訊技術,2010,16⑷∶24-27.
[5]陳濤.云計算理論及技術研究[J].重慶交通大學學報,2009,9(4)∶104-106.
[6]余寅輝,余鎮危,楊傳棟,等.SAN存儲系統的性能分析模型[J].計算機工程,2007,33(10)∶271-273.
[7]劉金柱.NAS網絡存儲技術研究[D].武漢∶華中科技大學,2009.
[8]陳康,鄭煒民.云計算∶系統實例與研究現狀[J].軟件學報,2009,20(5)∶1338-1339.
[9]張為民,唐劍峰.云計算∶深刻改變未來[M].北京∶科學出版社,2009,1.