王若明

摘 要:隨著大數據時代的到來,如何存儲管理和分析這些大數據是目前研究的熱點。文中先分析了關于大數據的兩種重要技術:容錯和可視化分析。容錯技術有復制和糾刪碼兩種,可視化分析技術有多維數據可視化、文本可視化、網絡可視化和時空數據可視化。最后展望,隨著工業界和學界更深入的研究,將來會有更完美的解決方案。
關鍵詞:大數據;容錯技術;可視化分析;糾刪碼;云計算技術;元數據服務器
中圖分類號:TP315 文獻標識碼:A 文章編號:2095-1302(2019)06-0-02
0 引 言
近年來,隨著物聯網技術、云計算技術和智能手機的普及,數據量呈爆炸式增長,大數據時代已經到來,如何存儲管理和分析這些大數據是目前研究的熱點。
1 大數據概述
大數據的常見特點包括大規模(Volume)、高速性(Velocity)和多樣性(Variety)[1]。大規模說明大數據的數據非常多,數據量在ZB級別;高速性說明大數據要求數據處理與分析具有“實時性”;多樣性說明大數據不僅有傳統的結構化數據,還有更多普遍采用文件系統存儲[2]的半結構化數據和非結構化數據。一般來說,大數據的處理流程分為:數據抽取與集成、數據分析以及數據解釋[3]。
2 大數據關鍵技術
大數據有很多技術,本文僅介紹容錯技術和可視化分析這兩個重要的關鍵技術。
2.1 容錯技術
目前分布式存儲系統一般采用容錯技術來提高系統的可靠性,當某些數據失效時利用容錯技術來訪問冗余數據。容錯技術主要是利用數據冗余來實現,目前有兩種方法:復制(Replication)和糾刪碼(Erasure Code)[4]。
2.1.1 基于復制的容錯技術
基于復制的容錯技術的原理是將所有數據對象復制成多個數據副本,同時將這些數據副本分布在不同的存儲節點,當某個數據對象失效時,可利用其他數據副本來讓存儲系統正確運行。
目前有許多系統是采用基于復制的容錯技術,如Google公司的GFS和HDFS,Amazon 公司的 Dynamo,它們分別采用基于元數據服務器(Meta-Data Server,MDS)的組織結構和基于P2P的組織結構。
基于元數據服務器的組織結構是利用元數據服務器來進行集中式管理,管理MDS存儲數據及其副本相關信息。副本的信息主要有位置信息和副本與數據的對應關系,如讀取數據,需要訪問MDS來獲取數據對象的位置信息;基于P2P的組織結構是利用P2P 的方式組織管理存儲節點,存儲或訪問數據時,利用分布式哈希表(Distributed Hash Table,DHT)來確定存儲節點。
如何創建數據的副本和創建多少個副本是復制策略需要考慮的問題,目前復制策略有兩種:靜態和動態。靜態復制策略是系統運行前指定數目的副本,如GFS和HDFS兩個系統中由配置參數確定副本的數目,優點是簡單,缺點是缺乏靈活;動態復制策略根據系統環境動態地創建副本,優點是靈活,缺點是實現難。
創建的數據副本如何存放是放置策略需要考慮的問題,目前放置策略有兩種:順序和隨機。順序放置策略是將所有副本按順序存放到存儲節點,而隨機放置策略是將所有副本隨機存放到存儲節點。
2.1.2 基于糾刪碼的容錯技術
基于糾刪碼的容錯技術的原理是將需要存儲的數據對象D平均分成k個數據塊(D1,D2,…,Dk),同時給這些數據塊進行編碼,編碼為(X1,X2,…,Xn),當讀取數據時,可以通過編碼塊(X1,X2,…,Xn)解碼為原始數據對象D。目前,糾刪碼的容錯技術有Reed-Solomon 碼和奇偶校驗碼(Parity-Check Code)等方法。
降低糾刪碼修復成本的方法有兩種:基于度數限制和基于網絡編碼?;诙葦迪拗品椒ㄊ窍拗萍m刪碼數據塊和冗余塊的度數,如WEAVER碼;基于網絡編碼是將編碼和路由進行融合,如再生碼(Regenerating Code)。
2.2 可視化分析
一幅圖勝過千言萬語,故用可視化的圖形來分析大數據,這樣會讓用戶直觀地發現數據背后隱藏的信息,一般可視化分析技術有多維數據可視化、文本可視化、網絡可視化和時空數據可視化等[5]。
2.2.1 多維數據可視化
若數據變量具有多個維度屬性,則稱為多維數據。目前多維數據可視化技術有5類:基于幾何、面向像素、基于圖標、基于層次和基于圖形等。
基于幾何的可視化技術原理是利用幾何的方法來實現高維數據映射到二維空間。其方法有:平行坐標系、放射坐標系、散點圖矩陣和Andrews曲線法等。平行坐標系是利用二維空間中n條平行坐標軸來表示n個維度,將維度和坐標軸建立一一對應關系;放射坐標系屬于圓形平行坐標系,它利用n條半徑表示n個維度;散點圖矩陣是將各維變量兩兩組合成一個點,從矩陣中得到隱藏的信息;Andrews曲線法是利用周期函數將多維數據映射到二維坐標系中的曲線上。
面向像素的可視化技術原理是,將多維數據劃分為多個子窗口,每一個子窗口代表數據的某一維,并用像素的顏色來區分維度。其有兩種方法:基于查詢和獨立于查詢?;诓樵兊姆椒ㄊ抢脭祿椇筒樵冎祪烧哧P聯度的高低來進行排列;獨立于查詢的方法是將數據項的值簡單排列,排列的方式為從左到右或從上到下。
基于圖標的可視化技術原理是利用具有可視特征的圖標來表示多個維度。其方法有:Chernoff面法和星繪法。Chernoff面法利用人臉的大小、器官的特征來表示多維信息;星繪法是從一點向外輻射多條線段,每條線段代表一個維度。
基于層次的可視化技術原理是,將多維空間劃分為多個子空間,并以層次結構的方式來展示這些子空間,其方法有維堆和嵌套坐標系等。
基于圖形的可視化技術原理是用整個圖形來表達多個維度和它們之間的相互關系,其方法有多線圖和Survey Plot等。
2.2.2 文本可視化
非結構化數據最主要的是文本信息,文本可視化可以直觀地展示大數據文本信息中所蘊含的關鍵信息。文本可視化的研究主要有兩類:基于文本內容和基于文本關系。
基于文本內容的可視化主要有標簽云(Tag Cloud)、Tile Bars等技術。標簽云將關鍵詞根據詞頻或字母順序來排序,以字體大小、字體顏色來對關鍵詞進行可視化,一般用在網絡媒體中來識別主題熱度;Tile Bars應用于查詢任務,它利用矩形條的灰度來展示查詢詞在文獻中的分布情況。
基于文本關系的可視化主要有Word Tree和FP-Tree等技術。Word Tree是與后綴樹相結合,以樹狀結構展示關鍵詞的上下文關系;FP-Tree顯示文獻的共引關系,能展現文獻聚類中的信息。
2.2.3 網絡可視化
網絡可視化是用圖形來展示網絡數據,從而可以發現網絡數據的結構,其技術有兩類:基于節點和邊與基于空間填充?;诠濣c和邊的可視化技術是最經典的技術,它有圓錐樹(Cone Tree)和放射圖(Radial Graph)等方法;基于空間填充的技術有矩形填充和嵌套圓填充等方法。
2.2.4 時空數據可視化
時空數據具有地理位置與時間標簽,時空數據可視化技術有流式地圖(Flow Map)和時空立方體(Space-time Cube)等。流式地圖展示了對象隨時間與空間的變化所發生的行為變化,它融合了時間信息和地圖信息;時空立方體利用三維來展現事件、時間和空間,它突破了二維平面的局限性。
3 結 語
本文所述的容錯技術和可視化分析技術是大數據的兩個重要技術,它們是現在研究的熱點,目前工業界和學界都在進行深入的研究。若干年后,希望會有更好更完美的解決方案。
參 考 文 獻
[1]馮登國,張敏,李昊.大數據安全與隱私保護[J].計算機學報,2014,37(1):246-258.
[2]謝華成,陳向東.面向云存儲的非結構化數據存取[J].計算機應用,2012,32(7):1924-1928.
[3]孟小峰,慈祥.大數據管理:概念、技術與挑戰[J].計算機研究與發展,2013,50(1):146-169.
[4]宮婧,王文君.大數據存儲中的容錯關鍵技術綜述[J].南京郵電大學學報(自然科學版),2014,34(4):20-25.
[5]任磊,杜一,馬帥,等.大數據可視分析綜述[J].軟件學報,2014,25(9):1909-1936.
[6]阿爾文托勒夫.第三次浪潮[M].黃眀堅,譯.北京:中信出版社,2006.
[7]張睿.決策支持系統[M].哈爾濱:哈爾濱工程大學出版社,2012.
[8]杰里米·里夫金.第三次工業革命:新經濟模式如何改變世界[M].張體偉,譯.北京:中信出版社,2012.
[9]維克托·邁爾·舍恩伯格,肯尼思·庫克耶.大數據時代[M].杭州:浙江人民出版社,2013.
[10]李志剛,朱志軍.大數據—大價值、大機遇、大變革(全彩)[M].北京:電子工業出版社,2012.