收稿日期:2011-06-02
基金項目:本文為江西省社會科學研究“十一五”(2010年)規劃項目,《云計算與圖書館信息資源共建共享》(項目編號:10TW12)資助。
〔摘要〕本文分析了近年來提出的3種存儲方式(網絡存儲、P2P分布式存儲和云存儲)的技術特點和應用實例,指出這3種存儲方式的分類以及優缺點,并對這三類存儲系統進行了對比研究,提出3種存儲方式的融合趨勢,最后給出各圖書館在選用具體的存儲方式時要注意開放性、先進性、高安全性和易管理性的原則。
〔關鍵詞〕云存儲;P2P;網格存儲;數字圖書館
DOI:10.3969/j.issn.1008-0821.2011.08.010
〔中圖分類號〕G255.76 〔文獻標識碼〕A 〔文章編號〕1008-0821(2011)08-0038-06
Comparative Study of Grid Storage,P2P Distributed Storage and Cloud Storage
Li Xueping Zhang Wenhua Hu Chun Feng Kai
(Library,East China Institute of Technology,Fuzhou 344000,China)
〔Abstract〕This paper analyzed the technical characteristics and application examples of the three storage(network storage,P2P distributed storage and cloud storage)proposed in recent years,pointed out the classification of these three storage as well as advantages and disadvantages,and studied on these three types of storage systems,proposed the integration trend of three storage,finally gave management principles,an open,advanced,high security and manageability,for the libraries when they select the specific storage.
〔Key words〕cloud storage;P2P;grid storage;digital library
1 圖書館信息存儲技術
長久以來圖書館一直在不斷地探索和尋求保存信息的方法和載體,期望能適時地把最適宜的存儲技術應用到圖書館中來。在圖書館中,除了傳統的信息存儲技術,還有網絡存儲技術、P2P存儲技術等。隨著云計算概念的出現,目前云存儲技術也成為一個研究熱點。
1.1 傳統的資源存儲技術
傳統的圖書館資源存儲方式主要有:直接附加存儲(DAS,Direct Attached Storage)、網絡附加存儲(NAS,Network Attached Storage)、存儲區域網絡(SAN,Storage Area Network)和互聯網小型計算機系統接口(ISCSI,Internet Small Computer System Interface)[1]。
上述4種存儲技術方案雖然在一定程度上解決了數據集中和共享問題,但還存在以下不足:(1)擴充性能差,難以滿足數據資源爆炸式增長要求;(2)兼容性與共享性差,難以適應多用戶、異構性環境和跨平臺的要求;(3)存儲的智能性差,不能滿足動態存儲、按需存儲的要求;(4)存儲速率小,不能滿足大數據量、大并發訪問的要求。
1.2 網格存儲技術
1.2.1 網格存儲的概念
網格是一種信息社會的網絡基礎設施,它將實現互聯網上所有資源的互聯互通,包括計算資源、存儲資源、通信資源、軟件資源、信息資源、知識資源等。從應用角度看,主要分為網絡網格、計算網格和存儲網格3類,其中存儲網格是基礎。
網格存儲是網格技術的主要組成部分,它以節點為基礎,可以在多重節點上進行內容管理與存儲,也可以在存儲環境的多重節點進行數據轉移與傳輸。基于此,它可以將NAS、SAN兩種不同的技術、不同的管理工具、不同的存儲應用融合在一起,實現各類資源的自動優化、自動配置、自動保護和自動恢復功能。
目前,主要有兩種典型的網格存儲架構:NetApp網格存儲層次結構、惠普的智能網格存儲架構。
NetApp網格存儲共分4層:最底層是為用戶實際存放數據使用的存儲設備;
第二層為網格管理層,使用文件服務器與全局命名空間對整個存儲網格進行管理;第三層是存儲網絡層,提供各類設備的連接;最上層為用戶的各類業務應用。
惠普存儲網格技術的核心是一個個的智能單元(Smart Cell),每個智能單元都是一個“計算機+存儲”的模塊,可與外界直接溝通。這種網格存儲也是架構在SAN架構上的,可以通過增加智能單元提升系統性能,通過增加磁帶、磁盤等設備增加系統功能。
1.2.2 網格存儲的優勢
網格存儲整合了SAN和NAS等存儲系統的優點,并結合網格計算技術、虛擬化技術、智能存儲技術和開放性標準,不僅能滿足大容量、網絡化、容錯性和高效性這些基本存儲要求,還能滿足非集中控制、透明訪問、異構性、協調性等特殊存儲要求。與傳統的存儲方式相比,網格存儲的優勢主要體現在如下3個方面:
(1)可靠性。一個設計良好的網格極具彈性。網格不只是在任何兩個節點之間提供通道,而是在每個存儲節點之間提供多個通道。這使得維護服務和出故障時更換部件更容易,對系統的可用性或宕機時間影響最小。
(2)性能。導致高可靠性的因素同樣也能改善性能。 不需要有大量端口的集中式交換機,消除了潛在的性能瓶頸,并能將負載平衡技術應用于可使用的多個通道,為整個網絡提供一致的性能。
(3)可擴展性。利用端口數不多的廉價交換機,就能很容易地擴展網格網絡,故很容易實現網格的升級。
1.3 P2P存儲系統(Peer-to-Peer Storage System,也稱對等存儲系統)
P2P存儲系統,廣義上是指存儲節點以一種功能對等方式組成的存儲網絡,既可以完全由統一管轄的服務器節點以對等方式組成的封閉式P2P系統,又可以是完全由用戶桌面機組成的開放式P2P系統,還可以是服務器與桌面機共同以對等的方式組成的混合存儲系統[2]。因此,P2P技術既可用來組織專業的大型存儲服務,又可以用來組織閑散的桌面機資源形成互助存儲網絡。基于P2P的分布式存儲系統可以利用大量節點的計算和帶寬資源用于數據存取,所以具有弱結構化、沒有單一故障點、可靠性好、易于擴展、數據吞吐率高等優點。但由于P2P系統的動態性高,使得存儲應用的可用性、可靠性受到了制約,同時由于P2P系統的松散管理機制,也會凸顯出該存儲系統的安全問題。
1.3.1 P2P系統分類
P2P應用系統按其網絡體系結構大致可以分為三類[3]。
(1)集中式P2P系統,該系統采用集中式網絡架構,要求各對等端(Peer)都登錄到中心服務器上,通過中心服務器保存并維護所有對等端的共享文件目錄信息。此類P2P系統通常有較為固定的TCP通信端口,并且由于有中心服務器,只要監管域內訪問中心服務器的地址,其業務流量就比較容易得到監測和控制。
(2)分布式的P2P系統。此類P2P系統普遍采用隨機動態地連接端口,偽裝端口,或直接利用HTTP作為基礎通信協議。但是由于純分布式的網絡架構將網絡認為是一個完全隨機圖,節點之間的鏈路沒有遵循某些預先定義的拓撲來構建,因而文件信息的查詢結果可能不完全,且查詢速度較慢,采用廣播查詢的系統對網絡帶寬的消耗非常大,并由此帶來可擴展性差等問題。
(3)混合式P2P系統,現在應用最為廣泛,該系統吸取了集中式和純分布式P2P系統的特點,采用了混合式的架構。選擇性能較高(處理、存儲、帶寬等方面性能)的節點作為超節點(SuperNodes),在各個超節點上存儲了系統中其他部分節點的信息,發現算法僅在超節點之間轉發,超節點再將查詢請求轉發給適當的葉子節點。
1.3.2 知名P2P存儲系統簡介
(1)Berkeley的OceanStore
OceanStore[4]是一個在全球范圍內搭建的海量存儲池,向用戶存儲服務,尤其針對那些移動終端,例如一些嵌入式設備。用戶可以在任何時候、任何地點、通過任何設備接入互聯網,并訪問存儲在OceanStore中的數據。用戶為其在OceanStore中占用的存儲空間付費,存儲的個人數據保證安全,不會泄漏給其他用戶,也不會泄漏給系統管理員。
(2)MIT的CFS(Cooperative File System)
基于協作文件系統CFS[5]的文件共享系統SFS(Shared File System)是一個用于對等網絡的只讀網絡文件共享系統。它可以提供高效率的、魯棒的和負載平衡的文件存取功能,采用了完全分布式體系結構(沒有服務器)很容易地擴展到大規模網絡。SFS允許用戶發布數據(文件系統)到分布式網絡中,CFS將共享文件系統映射到用戶的本地文件系統命名空間中,隨著網絡不斷地增長,用戶間共享文件的需求也越來越高。
(3)微軟亞洲研究院的BitVault
BitVault是微軟研究設計的用來存儲大容量但很少變化信息的一項技術[6]。BitVault結合了P2P(點對點)技術實現自我管理和自我診斷,并且使用“大量平衡修復”來降低數據丟失發生可能性。是一個能低價存儲數據并且能處理P級數據信息的分布式存儲引擎。
(4)圣地牙哥加州大學的Total Recall
對等存儲系統Total Recall[6]可以自動配置系統所需要的各種參數,包括冗余方法、冗余度和修復時間等,這樣就可以避免繁雜的人工設置。Total Recall系統底層采用了Chord路由算法。Total Recall針對不同類型數據在冗余方法上分別采用了副本或糾刪碼或是混合的方式。
(5)清華大學的Granary
Granary系統[7]是按能夠自適應地支持高動態系統和穩定系統的目標設計的,并提供面向對象的存儲,它有如下兩個特點:①面向對象的數據管理,支持屬性級的數據查詢,這一點極大地方便了上層應用系統的開發;②對于系統環境的自適應性,無論在怎樣的系統規模下,組成結點的動態性如何,也無論這些結點的能力分布如何,Granary都可以自動調節,取得當前系統環境下的最優性能。
(6)北京大學的UPStore
UPStore存儲平臺[6]具有一套開放性的存儲框架,可以通過修改算法來適應多種動態性的環境。
上述典型的P2P存儲系統的持久存儲相關技術對比[8]。不難發現,各個系統所設計的目標工作環境是不同的。根據不同的工作環境,它們所采取的技術組合也不盡相同。其中,不同系統對副本和糾刪碼的冗余方式各有偏好;在分發方式上,逐漸拋棄了直接DHT分發的方法;錯誤檢測根據不同的目標環境,采用定期心跳(探測)或失效事件廣播法;在修復方式上,系統設計逐漸趨向于用更多的副本來支持延遲修復。
1.4 云存儲
云存儲是在云計算的概念上延伸和發展出來的,指通過集群應用、網格技術或分布式文件系統等功能,將網絡中各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統[9]。當云計算系統運算和處理的核心是大量數據的存儲和管理時,云計算系統中就需要配置大量的存儲設備,那么云計算系統就轉變成為一個云存儲系統,所以云存儲是一個以數據存儲和管理為核心的云計算系統。云計算和云存儲的架構模型對比[10]。
從架構模型來看,云存儲系統系統比云計算系統多了一個存儲層,同時,在基礎管理也多了很多與數據管理和數據安全有關的功能,在兩者在訪問層和應用接口層則是完全相同的。
1.4.1 云存儲涉及到的關鍵技術
(1)海量存儲技術
云計算具有高性能的海量數據通道,可以連接系統的各個主要功能模塊,能隨意擴展存儲空間容量,這樣就保證了海量數據傳輸的實時性、可靠性和安全性,同時還提供了統一的數據交換界面,使各系統功能模塊的獨立性更強。
(2)動態存儲技術
云計算環境下的服務器是一種動態虛擬的硬件服務器,能夠實現“無處不在”的訪問,與Web云上的所有用戶共同擁有和享受流量和計算能力,能夠動態地接收用戶請求并及時反饋信息。這種服務器是由由用戶的動態請求來驅動,動態地為用戶部署虛擬硬件,并動態提供存儲和計算能力。還能對多功能負載進行優化,并保障數據的安全和完整。
(3)異構存儲技術
云計算存儲環境中,可以將不同位置數字圖書館的各種存儲系統和設備虛擬成單一的存儲系統,提供統一的訪問和管理機制,使各存儲服務器自主接入到云計算中,通過中間層的存儲虛擬化技術形成統一的訪問接口[11]。用戶只需將存儲設備添加到存儲池中并進行簡單配置,就可以創建虛擬卷,而不必關注系統中單個設備的物理存儲容量和存儲介質的屬性,從而實現統一的存儲管理。
1.4.2 云存儲的優勢
當前存儲需求海量增長,傳統存儲方式已不能滿足當前的存儲需求,這不僅表現在容量和性能擴展上的瓶頸,同樣還表現在性能和經濟成本上面。云存儲有著可以動態、靈活地進行擴展和配置的優勢,能夠使各存儲資源以分布式共享的形式而存在,可以通過網絡將軟硬件資源提供給用戶進行按需使用[10]。云存儲方式這些不同于傳統存儲方式的優勢,給數字資源的存儲帶來了很大的便利。
(1)支持海量存儲以及動態擴展
云存儲因為使用了支持大規模存儲的集群技術、P2P技術和網格技術,可以允許存儲服務器和存儲節點同時增加,進行并行擴容。所以就不存在兼容性的問題,其存儲性能還可隨節點的增加而無縫性增長。另外,云存儲還能實現數字資源的集中監控和動態管理,其存儲空間可隨意伸縮、實時調整。不存在存儲空間的擴展性問題,同時避免了資源的浪費[12]。
(2)協同保存
云存儲通過抽象不同分布區域的大規模硬件設施,以虛擬技術來強化數據的保護和管理,達到為各節點提供分布式鎖管理,并且緩存各節點的一致性功能,再集中元數據來控制各存儲節點,形成一個包含多個存儲設備、多種應用、多樣服務的協同工作的和種共享性的存儲虛擬架構。所以云存儲環境對各區域機構的技術要求不高,只要各機構能夠通過網絡進行服務的創建、發布、執行和管理,就能輕松、高效地與其他機構通過協同工作和互補的方式進行資源共享,這就使得數字資源的保存變得更加輕松。
(3)高效備份和實時遷移
云存儲可以通過虛擬化將分布在不同地點的硬件資源進行邏輯抽象,劃分不同的邏輯分區,并保證多個分區之間的合理的隔離與通信。所以云存儲方式可以按需執行備份策略,方便在異地形成多個備份。
(4)降低成本代價
云存儲能從投資和運行維護兩方面降低成本。云存儲因其有動態擴展、靈活配置的特點,存儲機構可以根據實際需求配置存儲規模,初期投資就不多。而且,因其不必擁有存儲基礎設施,因此不用對存儲底層進行管理和維護,也就不要機房、硬件設備、制冷設施等配套設施,也有利于低碳推廣。
云存儲具有較多優勢,但因為云存儲要將所保存的數據放到云端,數據存儲的物理位置不易控制,用戶所有數據的訪問都要依賴云存儲商的服務,這就意味著對數字資源保存責任的部分轉移,這必然帶來數據隱私保護和安全上的隱患[13]:
①數據的隱私。數字存儲資源既包括可以在網絡上開放獲取的資源,也包括只有訂購數據庫的用戶才能夠訪問的期刊資源,后者是受到版權保護的。如果這些受版權保護的數據以遠程方式存放于云端,必然會引發用戶對數據隱私保護的擔憂。雖然可以通過加密方式對訪問進行授權來,以阻止非法訪問2,但這不一定能適用長期保存流程,也不利于保證數據的完整性。
②數據的安全性。數字資源長期保存在云端,理論上能保證數據內容的零損毀,但萬一數據丟失,云存儲服務商卻不能為用戶找回丟失數據。所以,在使用云存儲過程中要建立冗余和備份,可以采用將云存儲作為輔助存儲池,或是同時使用兩個或多個云存儲平臺的方法來避免數據的丟失。
1.4.3 國外云存儲服務實例
美國圖書館云計算存儲服務的實踐參考[14]。
除了上述的圖書館以外,OCLC也宣布了將向它的會員圖書館提供基于云的、Web規模的、協作式的圖書館管理服務。
2 網格存儲、P2P存儲和云存儲的對比與融合
網格存儲、P2P存儲以及云存儲是近年來提出來的3種新的存儲技術架構和設計思想,3種存儲方式的總體目標比較相似,都是將存儲資源看成一個虛擬的資源池,并對外提供信息存儲服務,讓用戶高效使用存儲資源。雖然這3種存儲方式的側重點有所不同,但3種存儲方式的技術融合已成為一種趨勢[15]。
3種存儲方式的共同之處是:都采用了適當的分層及抽象來進行存儲資源的整合利用,其共同特征都有大容量、高性能、高可靠、高可用、可擴展等等,要解決的問題都包含系統服務模型、數據副本管理、任務調度、資源管理、負載平衡、數據緩存、并行傳輸機制等等。
隨著數據存儲需求的增強,三者的融合已成為一種必然趨勢。融合主要包括結構、技術和目的的融合。結構上的融合是一種系統變成另一種系統的某個節點或分支,技術上的融合是不同系統可以采用相同技術處理問題,目的融合表現出為都可以為不同的存儲應用服務。
3 結束語
一個良好的存儲系統解決方案應能適應數字資源的海量存儲和不斷增長,同時能夠滿足當今網絡環境復雜性和擴展性的不斷提高。實際工作中,究竟選用哪種存儲技術方案還是幾種方案的整合,不能一概而論,但要注意把握以下一些基本的原則[16]:
3.1 開放性
采用的各種硬件設備和軟件系統應遵循國際標準或工業標準及國際流行標準,符合開放性設計原則,能夠滿足多種操作系統、數據庫系統和應用系統之間交換數據的需要,具有較強的互操作性。
3.2 先進性
3.3 高安全性
要求系統性能穩定可靠,容錯能力強。當設備出現故障或系統崩潰時,能夠及時啟動備用系統并且系統數據能夠及時得到恢復,防止任何情況下的數據丟失,著力提高數據存儲的安全性與可靠性,確保服務的連續性,使數據資源具有更高的可用性。
3.4 易管理性
要求整個系統具有高度的靈活性,易于維護和管理,可以通過完善的管理機制進行有效的管理,保障系統良好運行,并且管理和維護操作簡單,成本較低。因此,各個館在制定具體的存儲技術方案時,一定要從實際出發,綜合考慮,精心規劃,反復論證,合理選擇,既要有一定的前瞻性,又要量力而行,為數字圖書館的建設打下堅實的基礎。
參考文獻
[1]曾紅伍.網格存儲技術在數字圖書館中的應用[J].軟件導刊,2009,(1):122-124.
[2]董輝,雷大軍.P2P分布式存儲系統中冗余策略研究[J].現代計算機:專業版,2009,(9):8-10.
[3]周毅.P2P文件安全備份系統研究[D].華中科技大學,2007.
[4]P2P存儲系統-OceanStore[EB/OL].2011-03-25.
[5]顧潔.P2P技術在數字圖書館中的應用研究[D].東北師范大學,2008.
[6]田敬,代亞非.P2P持久存儲研究[J].軟件學報,2007,(6):1379-1399.
[7]代亞非.P2P存儲在云計算時代的新的機遇[J].中國計算機學會通訊,2009,(6):54-56.
[8]p2p分布式存儲[EB/OL].http:∥blog.csdn.net/zjk2005forever/archive/2010/01/20/5218535.aspx,2011-03-25.
[9]孫彩杰.圖書館的信息存儲策略[J].四川圖書館學報,2010,(2):34-37.
[10]賀雪晴,吳景海.基于云計算的數字圖書館資源存儲研究[J].情報探索,2010,(12):92-94.
[11]余玲.基于網格的數字圖書館資源存儲研究[D].華中師范大學,2007.
[12]于秀芬,張曾昱.基于云存儲架構的隨書光盤鏡像服務器構建探討[J].圖書館雜志,2011,(2):52-55.
[13]杜海寧.基于云計算的圖書館海量數據存儲研究[J].圖書與情報,2010,(3):99-101.
[14]徐鋒.數字圖書館數據存儲的思考[EB/OL].http:∥www.jslib.org.cn/njlibxsyj/201009/t2010092697279.htm,2011-03-25.
[15]宋瑋.分布式存儲系統中的節點自主性問題研究[D].華南理工大學,2010.
[16]嚴莊.圖書館數字資源存儲技術方案研究[J].四川文理學院學報,2007,(6):108-110.