引言
云計算作為一種先進的計算方式,在信息服務和科研領域火熱升溫,并對大規(guī)模數(shù)據(jù)運算和存儲產(chǎn)生深遠影響。一方面,大規(guī)模數(shù)據(jù)處理需求日益增長;另一方面,媒體數(shù)據(jù)總量也在急速增長,據(jù)國際數(shù)據(jù)公司(International DataCorporation,IDC)在2008年的調(diào)查報告中估計,2007年全球信息總量達到了281EB,2012年將達到1800EB。數(shù)據(jù)規(guī)模不斷膨脹是信息社會發(fā)展的必然趨勢,數(shù)據(jù)存儲為信息生活提供巨大便利的同時,給現(xiàn)有的存儲技術帶來前所未有的壓力。
設計無限大的存儲空間、無限制的I/O帶寬和更高的性價比的理想存儲系統(tǒng)是緩解存儲壓力的總體目標,而本文研究目標更加具體,針對云存儲運算環(huán)境,設計非結(jié)構(gòu)化數(shù)據(jù)存儲服務系統(tǒng),并就該系統(tǒng)進行可靠性建模,設計可靠、高效的存儲結(jié)構(gòu)和算法,提升非結(jié)構(gòu)化數(shù)據(jù)存儲服務質(zhì)量。
1 云存儲現(xiàn)狀與相關研究
云計算是一種以數(shù)據(jù)為中心的服務密集型計算,而云存儲是云計算的底層數(shù)據(jù)支持環(huán)境,為云計算提供高可用、高可靠、運營成本低的數(shù)據(jù)存儲服務。目前,云存儲服務分為個人級應用和企業(yè)級應用。企業(yè)級的云存儲服務主要用于空間租賃、遠程數(shù)據(jù)容災和視頻監(jiān)控存儲支持。云存儲服務延用傳統(tǒng)的集群技術、網(wǎng)絡計算和分布式存儲技術,將網(wǎng)絡中大量低廉的計算設備進行有機集成,避免了盲目擴張濫建。
目前,數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),兩類數(shù)據(jù)區(qū)別在于:前者一般采用數(shù)據(jù)記錄存儲,而后者普遍采用文件系統(tǒng)存儲。其中以二進制大對象(Binary Large Object,BLOB)數(shù)據(jù)為代表的非結(jié)構(gòu)化數(shù)據(jù)存儲應用頻率最高,如MAIL服務中的附件管理、各種網(wǎng)絡磁盤和視頻監(jiān)控數(shù)據(jù)管理等,這類數(shù)據(jù)的特征體現(xiàn)在:體積大、增長快、多樣化。
迅速膨脹的非結(jié)構(gòu)化數(shù)據(jù)引起了業(yè)界的廣泛關注,運用云存儲服務管理非結(jié)構(gòu)化數(shù)據(jù)則是備受關注的焦點。文獻[1]設計了一種存儲中間件,使用關系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System,RDBMS)IBM DB2 9將海量二進制數(shù)據(jù)嵌入到XML文檔中,最終將XML存儲到數(shù)據(jù)庫,這種方法不適合體積較大的BLOB數(shù)據(jù);文獻[2]通過建立數(shù)據(jù)生成和開發(fā)模型(DataGenerationand Exploitationmodel,DGE),借鑒結(jié)構(gòu)化方法管理非結(jié)構(gòu)化數(shù)據(jù)。實際應用中需了解數(shù)據(jù)建模和二次開發(fā),技術層次要求高而難以掌控;文獻[3]提出一種基于BUD(Bank of Unstructured Data)架構(gòu)的新技術,該技術通過Free-Table在最終用戶和物理實體間形成面向單元的云存儲結(jié)構(gòu),而不再使用基于列存儲的關系表管理非結(jié)構(gòu)化數(shù)據(jù),但僅提供了概念視圖,并未最終實現(xiàn);文獻[4]則設計了稱為Clouder的存儲結(jié)構(gòu),系統(tǒng)在同一管理域中管理數(shù)以千計的對等網(wǎng)(Peer-to-Peer,P2P)存儲節(jié)點,采用封裝應用程序編程接口(Application ProgrammingInterface,API)實現(xiàn)存儲接口,但功能不夠豐富且可靠度差。
2 非結(jié)構(gòu)化數(shù)據(jù)網(wǎng)絡存儲架構(gòu)
2.1存儲服務層次模型
以上研究為非結(jié)構(gòu)化數(shù)據(jù)管理奠定了理論基礎,仍急需一套切實可行的存儲解決方案。本文提出分層的網(wǎng)絡結(jié)構(gòu)管理非結(jié)構(gòu)化數(shù)據(jù),由上至下劃分為5個功能層,分別是應用層、會話層、數(shù)據(jù)層、路由層和物理層,如圖1所示。
圖1 非結(jié)構(gòu)化數(shù)據(jù)存儲網(wǎng)絡結(jié)構(gòu)
以上提出的5層中,應用層提供非結(jié)構(gòu)化數(shù)據(jù)應用接口,這些接口由數(shù)據(jù)存儲服務商開發(fā)的各類存儲應用中展示出來,如各種在線存儲、網(wǎng)絡磁盤、視頻數(shù)據(jù)托管和軟件下載服務等。此時,用戶面對的是虛擬的、容量可無限擴展的云存儲空間,用戶提交數(shù)據(jù)時無需考慮存儲空間大小和數(shù)據(jù)的物理位置。
會話層負責用戶管理、權限分配、空間分配以及存儲安全策略,該層根據(jù)不同的安全級別,制定不同的安全方案以保證數(shù)據(jù)的安全性。
數(shù)據(jù)層的作用是統(tǒng)一管理非結(jié)構(gòu)化數(shù)據(jù)及其元數(shù)據(jù)。非結(jié)構(gòu)化數(shù)據(jù)體積從MB級至GB級,大小不等,而其元數(shù)據(jù)信息,如數(shù)據(jù)標識、文件長度、類型等屬性信息,總長度不超過1KB,二者數(shù)據(jù)量上相差懸殊。因此,BLOB數(shù)據(jù)和元數(shù)據(jù)存儲對網(wǎng)絡帶寬和計算資源的需求不同,兩類數(shù)據(jù)應采用不同的存儲策略。因此,圖1中將數(shù)據(jù)層業(yè)務分解為BLOB數(shù)據(jù)存儲區(qū)和Metadata存儲區(qū)。
路由層主要負責云端節(jié)點、訪問接口和后臺存儲設備間的互通性及存儲路徑計算。由于云存儲系統(tǒng)是一種存在多個子網(wǎng)的存儲區(qū)域自治系統(tǒng)(Autonomous System,AS),所使用的路由協(xié)議以內(nèi)部網(wǎng)關協(xié)議(Interior Gateway Protocol,IGP)為主,包括路由信息協(xié)議版本1(Routing Information ProtocolVersion 1,RIP1)、路由信息協(xié)議版本2(Routing InformationProtocol Version 2,RIP2)、內(nèi)部網(wǎng)關協(xié)議(Interior GatewayRouting Protocol,IGRP)、加強型內(nèi)部網(wǎng)關協(xié)議(EnhancedInterior Gateway Routing Protocol,EIGRP)、中間系統(tǒng)到中間系統(tǒng)的路由協(xié)議(Intermediate System to Intermediate SystemRouting Protocol,IS-IS)和開放式最短路徑優(yōu)先(Open ShortestPath First,OSPF)協(xié)議等。前4種協(xié)議采用距離向量算法,后2種則采用鏈路狀態(tài)算法。非結(jié)構(gòu)化數(shù)據(jù)存儲服務等大型計算中,采用距離向量算法路由協(xié)議已不能滿足要求,而使用OSPF鏈路狀態(tài)算法更為有效[5]。以上路由協(xié)議應用于存儲系統(tǒng)的底層,為保證非結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)的可擴展性和較高的存儲效率,還可借鑒基于優(yōu)先級的隨機線性碼分布存儲協(xié)議和分布式哈希表(Distributed Hash Table,DHT)技術。物理層為非結(jié)構(gòu)化數(shù)據(jù)存儲提供存儲空間和計算資源,
并負責維護存儲節(jié)點的物理通路。就本系統(tǒng)而言,可充分利用現(xiàn)有通信子網(wǎng)及設備,而無需在硬件上追加更多投資。
2.2非結(jié)構(gòu)化數(shù)據(jù)分離式存儲通路
目前,一些關系數(shù)據(jù)庫,如微軟公司的SQL Server 2000、甲骨文公司的Oracle 11g等對BLOB數(shù)據(jù)有著良好的支持,本設計采用RDBMS群集作為非結(jié)構(gòu)化數(shù)據(jù)的物理存儲底層。用戶可通過Web應用程序或者客戶端程序向存儲系統(tǒng)提交數(shù)據(jù),這些數(shù)據(jù)經(jīng)由BLOB存取接口存儲到關系表中,與之相關的元數(shù)據(jù)信息以數(shù)據(jù)記錄形式保存于Metadata存儲區(qū),兩類數(shù)據(jù)存儲通路如圖2所示。
圖2 BLOB與Metadata數(shù)據(jù)流存儲通路
圖2 顯示的數(shù)據(jù)存儲通路與傳統(tǒng)的基于文件的非結(jié)構(gòu)化數(shù)據(jù)存儲相比,具有以下突出優(yōu)點。
1)BLOB數(shù)據(jù)以二進制流形式直接存儲于關系表中,而不再采用文件系統(tǒng)管理方式[7]。以SQL Server 2000為例,所有的BLOB數(shù)據(jù)集中存儲于主要數(shù)據(jù)文件(Master Data File,MDF)文件中,由于MDF文件在獨立冗余磁盤陣列(Redundant Array of Independent Disk,RAID)中是連續(xù)存儲的,盡管用戶增刪BLOB數(shù)據(jù)會增加數(shù)據(jù)碎片而影響存取效率,但可通過重建索引等手段快速維護,相對于文件系統(tǒng)的碎片整理更加高效。
2)兩類數(shù)據(jù)分離式管理,利于存儲資源的優(yōu)化配置?梢詫⑷萘枯^大、計算能力較強的資源分配給BLOB數(shù)據(jù)存儲區(qū),而將響應率較高的資源分配給Metadata存儲區(qū)。
3)分離式的存儲通路實現(xiàn)了BLOB數(shù)據(jù)存取和元數(shù)據(jù)存取的功能分離,網(wǎng)絡帶寬得到了合理分配,可分擔因高并發(fā)訪問給系統(tǒng)帶來的壓力,有利于系統(tǒng)聚合I/O吞吐能力的提高和系統(tǒng)穩(wěn)定運轉(zhuǎn)。
數(shù)據(jù)通道分離的資源配置方法,使非結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)魯棒性有了保障,滿足了云計算所需的高強度存儲需求。
3 存儲系統(tǒng)可靠性分析
3.1可靠性分析方法與手段
非結(jié)構(gòu)化數(shù)據(jù)存儲網(wǎng)絡是一個復雜的分布式存儲系統(tǒng),其特點在于:計算服務分布化、用戶分布化和管理端分布化,硬件組成復雜。資源規(guī)劃和配置合理與否,將直接影響可靠性和云存儲服務質(zhì)量。
目前,存儲服務質(zhì)量評估可從系統(tǒng)可靠性、服務可用性這兩個角度著手,有些學者還從系統(tǒng)可生存性角度進行研究。通常借助于初等概率論、隨機過程、可靠性原理、Markov鏈、模擬等進行系統(tǒng)建模和可靠性論證,有時還結(jié)合數(shù)據(jù)處理流圖及拓撲圖等工具進行較直觀的分析。
3.2BLOB數(shù)據(jù)存取流程
依據(jù)圖2所示的非結(jié)構(gòu)化數(shù)據(jù)存儲通路,提出了存儲通路分離的思想,以下借助數(shù)據(jù)處理流圖和系統(tǒng)網(wǎng)絡拓撲圖進行綜合分析。非結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)通過協(xié)調(diào)處理用戶、BLOB數(shù)據(jù)存儲區(qū)及Metadata數(shù)據(jù)區(qū)間的關系以實現(xiàn)分布式存儲,圖3說明了一個典型的數(shù)據(jù)存儲請求過程。
圖3 BLOB數(shù)據(jù)訪問請求處理流程
數(shù)據(jù)請求訪問處理過程如下:
1)用戶首次訪問BLOB數(shù)據(jù)前,根據(jù)數(shù)據(jù)標識Guid向主元數(shù)據(jù)節(jié)點MA發(fā)出訪問請求;
2)元數(shù)據(jù)群集對客戶的訪問請求進行認證和授權,并返回詳細元數(shù)據(jù)信息及BLOB數(shù)據(jù)的位置信息給用戶,若插入新數(shù)據(jù),則先寫入元數(shù)據(jù)至Metadata群集;
3)獲得授權的用戶直接向BLOB存儲集群發(fā)起數(shù)據(jù)訪問請求,并驗證該BLOB數(shù)據(jù)的有效性及位置信息;
4)建立用戶與指定BLOB存儲節(jié)點間的數(shù)據(jù)連接,讀/寫RDBMS中存儲的BLOB數(shù)據(jù);
5)讀/寫結(jié)束后,更新Metadata存儲區(qū)相關數(shù)據(jù),并釋放占用資源。
3.3系統(tǒng)可靠性分析
通常,評估系統(tǒng)的可靠性可從研究系統(tǒng)可用性、失效率和系統(tǒng)生命周期著手,統(tǒng)計學經(jīng)常使用圖4所示的“浴缸曲線”描述系統(tǒng)生存周期。由該曲線可知,非結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)生存周期將經(jīng)歷初期失效、工作期失效和老化期失效三個階段。其中,早期失效和老化期失效服從典型的威布爾分布,而工作期失效則服從參數(shù)為λ的指數(shù)分布,若系統(tǒng)由多部件組成,其部件失效時間也服從負指數(shù)分布。本文則重點關注系統(tǒng)正常工作期的可靠性評估,并假定系統(tǒng)工作期失效率是恒定的。由曲線可知,系統(tǒng)可靠性與正常工作時間t有關,若用R(t)表示系統(tǒng)正常工作期的可靠度函數(shù),其參數(shù)t的區(qū)間為(0,+∞),則系統(tǒng)在t時刻前正常運轉(zhuǎn)而無需維修。事實上,經(jīng)常使用系統(tǒng)平均無故障時間(Mean Time To Failure,MTTF)描述系統(tǒng)可靠性,則MTTF為函數(shù)R(t)在區(qū)間(0,+∞)上的定積分,如式(1)所示。又由R(t)服從參數(shù)為
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:面向云存儲的非結(jié)構(gòu)化數(shù)據(jù)存取(上)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112157857.html