劉友安,羅明超
(1.信陽供電公司,信陽 464000;2.空軍第一航空學院 電子工程系,信陽 464000)
互聯(lián)網(wǎng)應用正經(jīng)歷一場數(shù)據(jù)管理方式的變革,以云計算、云存儲為代表的先進計算方式正以星火燎原之式躍入視野,帶來的是海量激增和管理日益復雜的難題。社會網(wǎng)絡中的大規(guī)模數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)正每時每刻地產(chǎn)生,據(jù)IDC(國際數(shù)據(jù)公司,International Data Corporation)在2012年的研究報告中指出,從2006年到2012年全球信息總量增長8倍以上,全球存儲市場的總出貨量中有80%的容量被文件型數(shù)據(jù)所覆蓋,且文件型數(shù)據(jù)的增幅已經(jīng)明顯超過了數(shù)據(jù)存儲容量的增長[1]。這些現(xiàn)象表明,文件型數(shù)據(jù)管理技術應緊跟數(shù)據(jù)的加速膨脹趨勢而不斷向前發(fā)展。
網(wǎng)格文件存儲系統(tǒng)的技術基礎是分布式計算和分布式存儲,借助于分布式服務器機群,允許網(wǎng)格用戶在網(wǎng)格節(jié)點之間共享文件型數(shù)字資源,并為網(wǎng)格用戶提供統(tǒng)一的文件視圖[2]。該系統(tǒng)架構(gòu)應該是一套具有統(tǒng)一命名空間,合理安全策略,可擴展、穩(wěn)定性高的結(jié)構(gòu)。網(wǎng)格文件存儲通過抽象各種存儲資源,將眾多同構(gòu)存儲資源和計算資源集成于網(wǎng)格環(huán)境中,但展示在用戶眼中的卻是一個無差異的虛擬文件系統(tǒng)。該系統(tǒng)包括存儲資源虛擬化、文件虛擬化和數(shù)據(jù)庫虛擬化,其實質(zhì)是邏輯存儲,網(wǎng)格用戶使用的存儲空間不是直接使用物理存儲資源,存儲空間的管理也不再針對具體的物理存儲設備。該技術應解決兩個方面的問題,其一,文件數(shù)據(jù)信息可靠安全地數(shù)字化,其二,以低成本管理海量數(shù)據(jù)。
網(wǎng)格存儲是以數(shù)據(jù)共享為主的計算密集型網(wǎng)格,是一種軟、硬結(jié)合的分布式計算基礎設施,能在動態(tài)跨域的虛擬結(jié)構(gòu)內(nèi)實現(xiàn)數(shù)據(jù)資源共享和存取。網(wǎng)格存儲借助若干相互連接且具有自治能力的存儲結(jié)點實現(xiàn)數(shù)據(jù)存儲,每個節(jié)點都具備計算能力、高速存儲設備和管理軟件,允許節(jié)點間自由交換數(shù)據(jù),不需要中央交換節(jié)點的參與。應用網(wǎng)格存儲具有三個優(yōu)點:首先,網(wǎng)格存儲將提升數(shù)據(jù)容錯及冗余的級別。若單節(jié)點故障或兩節(jié)點間出現(xiàn)通信故障,網(wǎng)格存儲將自動選擇另一通路或者冗余副本數(shù)據(jù)結(jié)點;其次,存儲節(jié)點對間建立的多條路徑,可保證網(wǎng)絡負載出現(xiàn)急劇變化時系統(tǒng)性能較佳;最后,網(wǎng)格存儲允許節(jié)點的加入和退出,新增的存儲結(jié)點能夠被系統(tǒng)識別和接納,并在隨后的工作中分擔存儲任務。
云存儲和網(wǎng)格存儲這兩種存儲技術分別以云計算和網(wǎng)格計算為基礎,二者有別于兩個方面,一個區(qū)別是資源調(diào)度和管理模式的不同,另一區(qū)別是是資源虛擬化方式的不同。
云計算采用服務器集群來存儲和管理數(shù)據(jù),計算任務和存儲任務分布于高性能服務器上,是一種以數(shù)據(jù)為中心的處理模式。網(wǎng)格計算將軟件資源虛擬化,而云計算則進一步將硬件資源虛擬化[3]。網(wǎng)格計算大多要求結(jié)點安裝虛擬機軟件,網(wǎng)格內(nèi)各節(jié)點借助于虛擬機使用統(tǒng)一的操作系統(tǒng)(多為Linux系統(tǒng)),而云計算放寬了條件,適應多種人機界面和操作系統(tǒng),表現(xiàn)為硬件資源的無限擴展。
圖1 網(wǎng)格文件存儲系統(tǒng)結(jié)構(gòu)
網(wǎng)絡存儲系統(tǒng)結(jié)構(gòu)具體描述如下:
1)應用層,提供用戶界面,包括文件數(shù)據(jù)查詢、增加、刪除、管理。
2)匯聚層,負責將各網(wǎng)格節(jié)點的元數(shù)據(jù)統(tǒng)一到名字空間。
3)存儲資源層,由存儲子網(wǎng)和用戶組成,每個子網(wǎng)由多存儲節(jié)點組成,如圖2所示。
4)鏈路層和物理層,可借助于現(xiàn)存的存儲資源子網(wǎng)和現(xiàn)有網(wǎng)絡設備及通路,無需升級。
圖2 存儲資源子網(wǎng)結(jié)構(gòu)
系統(tǒng)工作流程如下:客戶端向中心服務器提出請求,中心服務器對客戶的請求進行安全認證,若認證不通過則拒絕訪問,若認證成功則根據(jù)文件存儲結(jié)點的負載情況將請求轉(zhuǎn)發(fā)到負載較輕的網(wǎng)格結(jié)點,其數(shù)據(jù)流程如圖3所示。
圖3描述了網(wǎng)絡存儲的工作流程。當用戶需要訪問一個網(wǎng)格文件時,通過以下步驟:
1)用戶向認證服務器發(fā)送認證請求;
2)認證服務器向請求者返回公鑰;
3)認證服務器向名字服務群集返回RSA私鑰;
4)名字服務器向網(wǎng)格存儲結(jié)點傳輸私鑰;
5)名字服務器根據(jù)邏輯文件名字返回物理文件名映射;
6)網(wǎng)格存儲系統(tǒng)通過協(xié)商好的網(wǎng)格文件訪問協(xié)議向用戶訪問接口傳送數(shù)據(jù)。
圖3 安全認證模式下網(wǎng)格存儲信息流程
名字服務由若干同構(gòu)的網(wǎng)格服務器組成,為網(wǎng)絡文件存儲提供統(tǒng)一的命名空間,該命名空間是所有分布在各網(wǎng)格節(jié)點上文件數(shù)據(jù)的邏輯視圖,便于技術人員和用戶對系統(tǒng)進行統(tǒng)一管理。不論技術人員,還是用戶,可在任何時間、任何地域及任何類型的客戶端上訪問系統(tǒng),所看到的文件列表都是一致的。若一個用戶新增或刪除數(shù)據(jù)資源,其他用戶整個系統(tǒng)的數(shù)據(jù)變化可很快被其他用戶感知[4]。
名字服務的核心是元數(shù)據(jù)管理,主要記錄網(wǎng)格中某個文件的物理位置信息,并維持邏輯文件信息與物理的文件實體一致性。名字服務提供的對物理文件元數(shù)據(jù)信息管理,包括某個文件的具體屬性,如文件大小、二進制文件類型、CRC或MD5較驗。
同任何一個存儲系統(tǒng)一樣,不合理的存儲策略設計將影響系統(tǒng)可靠度,從而影響其網(wǎng)格文件系統(tǒng)可用性。而對網(wǎng)絡文件數(shù)據(jù)進行合理的冗余,可彌補單一文件副本存儲方式帶來的低可靠度問題。系統(tǒng)采用將大文件分解成若干份額并將若干份額存儲到各個網(wǎng)格節(jié)點的方式,提高系統(tǒng)可靠性。為方便將大文件分成小份額和將各個小份額合理分配,需要兩種關鍵技術,分別是數(shù)據(jù)指紋和信息散列。
數(shù)字指紋也叫數(shù)字簽名,是一種信息編碼技術,較常用的有MD5加密算法,應用MD5算法可以為任何文件生成一個同樣獨一無二的數(shù)字指紋,如果數(shù)據(jù)在傳輸過程出現(xiàn)任何錯誤,其MD5值也會發(fā)生相應變化。在本系統(tǒng)中,一個大文件分成若干個份額,計算每份額的MD5編碼,同時為每個份額準備若干副本,最后利用MD5加密和檢測技術避免在同一臺主機上存儲多個相同份額。
為實現(xiàn)將若干個文件副本均勻分發(fā)到各網(wǎng)格結(jié)點,并保證每個網(wǎng)格結(jié)點中沒有相同的份額,還需要應用信息散列算法(Information Dispersal A lgorithm,IDA)[5]。IDA算法可表述為 IDA(n,m)的形式,其中,參數(shù) n 表示一個數(shù)據(jù)文件能分解出的份額及其副本的總數(shù)目,參數(shù)m表示系統(tǒng)從n個份額中恢復出原始文件至少需要多少個份額,其工作原理如圖4所示。
圖4 網(wǎng)格數(shù)據(jù)冗余存儲策略設計
網(wǎng)絡存儲系統(tǒng)的可靠性可結(jié)合概率模型和可靠性理論[6]進行刻畫,假設網(wǎng)格存儲系統(tǒng)的可靠性用P表示,網(wǎng)絡節(jié)點的可靠性用p表示,由以上提出的IDA散列算法可知,成功恢復出一個原始文件,需要從n個份額中至少挑出m個份額才可完成,則整個系統(tǒng)的可靠性由式(1)表示。
若網(wǎng)格節(jié)點的可靠性平均為0.8,一個完整的文件分解為64個份額,即n為64,恢復出原始的數(shù)據(jù)文件需要32個份額,即m為32,所使用的散列函數(shù)為IDA(64,32),由式(1)可知P=0.99974。若不進行文件分割令其可靠性為P’,而采用雙機備份,即兩個網(wǎng)格節(jié)點,一個存儲原始數(shù)據(jù),一個存儲副本數(shù)據(jù),則而對于完全備份系統(tǒng)來說,可靠性P’=1-(1-0.8)(1-0.8)=0.96。由以上可知,采用文件分割的多副本冗余方式存儲數(shù)據(jù),可靠性改善明顯,由此系統(tǒng)可用性提高了。
海量文件數(shù)據(jù)增長難題最終轉(zhuǎn)化為對傳統(tǒng)存儲技術改造和升級,如分布式存儲、網(wǎng)格存儲。系統(tǒng)比較了云存儲和網(wǎng)格存儲異同,設計了網(wǎng)格存儲的系統(tǒng)結(jié)構(gòu)和冗余存儲策略,有效提高了網(wǎng)格文件存儲系統(tǒng)的可用性,采用基于認證的存儲流程,改善系統(tǒng)安全性。在能源、電力和互聯(lián)網(wǎng)企業(yè)中,借助網(wǎng)格文件存儲將同構(gòu)的計算資源整合起來,可為企業(yè)的生產(chǎn)和檔案管理及各種ERP應用系統(tǒng)提供數(shù)據(jù)支撐。
[1] 中國互聯(lián)網(wǎng)絡信息中心.中國互聯(lián)網(wǎng)絡發(fā)展狀況統(tǒng)計報告[EB/OL].(2012-1).http://www.cnnic.net.cn/dtygg/dt gg/201201/W 020120116337628870651.pdf.
[2] 劉浩,唐培和,等.企業(yè)存儲網(wǎng)格中資源請求任務的模擬與分析[J].計算機工程與應用,2011,19:82-84,131.
[3] 謝華成,范黎林.云環(huán)境下海量非結(jié)構(gòu)化信息存儲技術探究[J].制造業(yè)自動化,2012,16:28-30,67.
[4] 朱強.基于對等網(wǎng)絡架構(gòu)的新型控制系統(tǒng)研究與實現(xiàn)[D].上海大學,2011.
[5] 呂衛(wèi)忠,康紅勛,等.數(shù)據(jù)網(wǎng)格中高效的分布式存儲策略[J].計算機工程,2011,05:38-40.
[6] A.Calderón,F.García-Carballeira,L.M.Sánchez,et al.Fault tolerant file models for parallel file systems:introducing distribution patterns for every fi le [J].The Journal of Super computing,2009,47(03):312-334.