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