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