王光肇,劉國鵬
(1.中國煤炭科工集團太原研究院有限公司,山西 太原 030006;2.煤礦采掘機械裝備國家工程實驗室,山西 太原 030006)
在計算機技術高速發展的進程中,云計算技術以其可拓展性、超大規模、高可靠性以及虛擬化等優勢得到了廣泛應用。特別是在計算機大數據分析過程中,利用云計算技術可以動態優化計算機大數據處理性能,實現計算機大數據的高效率分析。因此,探究計算機大數據分析中的云計算技術應用措施具有非常重要的意義。
云計算是一種利用網絡關聯計算機硬件、軟件資源的技術,可以集中處理數據、存儲資源,并根據需要將資源分配到其他計算機設備中[1]。現今形勢下,云計算服務與部署模式如圖1所示。
圖1中,基礎設施即服務(Infrastructure as a Service,IaaS)本質上是為用戶提供可租用的場外服務器、網絡硬件、存儲硬件以及虛擬機資源;平臺即服務(Platform as a Service,PaaS)本質上是運行用戶在操作系統、服務器、存儲等云基礎設施上部署資源;軟件即服務(Software as a Service,SaaS)本質上是以Internet為載體,支撐接連網絡的用戶瀏覽云端應用[2]。

圖1 云計算技術服務與部署模式
傳統的計算機大數據分析主要包括計算機輔助分析、數學統計、社會學分析以及圖情分析等,均依托本地資源架構,需專門配備硬件設施、文件系統,成本較高。而云計算技術使用廉價商用機器,可以由分布式文件系統完成計算機大數據分析,在確保計算機大數據分析可靠性的同時,降低分析成果存儲成本。
傳統計算機大數據分析架構的容錯率較低,一旦本地化數據分析資源容量達到TB級,就無法有效處理。而云計算技術可利用軟件的方法解決海量數據分析問題,文件系統負責容錯任務,容錯率較高,可以滿足海量數據高容錯分析的處理要求[3]。
傳統基于本地資源架構的計算機大數據分析數據量為GB級,分析方式為交互性和批處理,需多次寫入更新,整體結構為靜態,資源結構伸縮性為非線性,無法滿足海量數據實時分析的要求。而云計算技術的計算機大數據分析數據量為PB級,分析方式為批處理,可一次寫入多次讀取更新,整體結構為動態,資源結構伸縮性為線性,可滿足海量數據實時分析要求[4]。
云計算技術應用到計算機大數據分析中的前提是完善的云計算體系。根據云計算技術采樣工具網絡爬蟲的特點,可綜合利用虛擬資源構架技術、數據處理技術、數據挖掘技術,構建虛擬多元信息處理模型體系[5]。依托虛擬多元信息處理模型體系,研究多種應用資源,整理、分配到若干設備,促使計算數據處理速度達到較高的水平。特別是在數據吞吐量達到最大水平時,在模型內整合數據資源,重新構建數據包,預先推動數據包進入傳輸控制協議管道,滿足數據快速傳輸要求。數據資源整合后,借助云計算自身任務調度功能,依據實際目標,靈活調度任務資源,進而在控制器、內部指示燈之間構建信息交互通道,將數據分析信號傳遞給控制器,經控制器讀取模塊內部數據進行量化客觀分析,了解不同類別硬件實際占用率與虛擬化資源配置數據差異,為數據運用提供依據。
私有云、公有云是云計算主要使用的對象類別,具有不同優勢。為融合二者優勢,可以規劃混合云計算方案,優化云計算在計算機大數據分析中的應用流程,為服務對象提供舒適的體驗。在混合云計算方案規劃時,應對接服務對象心理需求,從最大程度減小服務開支著手,允許每一位服務對象按需選擇服務類型,提前預知下一周期消費明細,自由選擇服務類型。在服務類型確定后,合理分配個人賬戶內部、公共計算階段的工作負載[6]。
為了盡可能多地從私有、公共環境中獲取有價值數據(含結構化、半結構化、非結構化數據),可以借助Google云計算技術特有的海量數據分析、存儲、訪問、管理組織與并行處理功能進行組織框架改進(見圖2)。
由圖2可知,云計算技術環境下,大數據分析主要借助并行處理方法。較之傳統網格計算等并行方法,云計算技術中的并行處理流程進一步簡化。例如,在MapReduce模型中,先借助map函數、reduce函數計算處理輸入的<key,value>對集,再生成1個新的輸出對集<key,value>。在新的輸出對集生成后,由map函數將輸入處理為中間對集<key,value>,集中匯聚具有相同key對應的全部value,進而借助reduce操作歸并處理,最終獲得(key,final-value)的結果集。整個過程中,數據分析邏輯為將大型分析任務切分為若干數據塊,經處理節點分布計算后匯總結果[7]。

圖2 云計算技術的大數據分析框架
在并行處理邏輯下,傳統固定式的資源配置無法滿足大數據分析要求。因此,根據計算機海量數據在云計算環境中呈現出的數據內容與模式、處理方法未知的特性,可以構建集群資源與配置參數等動態資源配置計劃,測量不合理資源,診斷瓶頸,針對性優化,確保云計算在大數據分析中的有效應用。
底層存儲和訪問主要依托Google分布式文件系統,是云計算技術正常運用于大數據分析的保證。系統包括客戶端、數據塊服務器、主控服務器幾個節點,其中客戶端為專用訪問接口,以庫文件形式存在;數據塊服務器以文件形式存儲數據,是文件系統集群規模的決定依據。在存儲文件分塊標準默認為64 MB時,數據塊數量也為64;在邏輯視角主控服務器與文件集群一一對應。根據整個系統的元數據保存要求,主控服務器可先向客戶端提供數據塊服務器信息,再經客戶端直接訪問數據塊服務器,完成數據存取、讀寫,順利分離控制流、數據流,確保客戶端與主控服務器、客戶端與數據塊服務器之間分別存在且僅存在控制流、數據流,降低服務器負載。在面對海量計算機數據分析操作時,數據流和控制流分離的存儲與訪問模塊可長期跟蹤特定數據對象屬性狀態,根據實時分析人物、數據量負載進行數據塊服務器的動態擴展與伸縮,滿足數據密集型文件分析要求,容錯能力較強,并可將高集成度執行結果發送給數據分析模塊。
云計算技術環境下,不緩存數據的操作機制較之傳統文件系統緩存性能提升作用更加突出[8]。特別是在客戶端多數應用流式讀寫、少量重復讀寫的操作狀況下,可以實時分析海量歷史數據、監測已有資料文獻。對于部分需頻繁讀寫的數據,則引入合作緩存技術,由數據塊服務器本地文件系統負責緩存,配合數據塊服務器的動態加載,規避緩存容量局限性對計算機海量數據分析的干擾。
計算機數據分析中的數據吞吐量較高,需要以批處理的形式保持低延時。基于此,需要摒棄大量依靠關系數據架構的本地資源平臺,而是對標海量多類型數據處理和復雜信息查詢需求,整合傳統關系數據庫,動態控制數據部署、格式,確保用戶順利推斷底層存儲數據的局部屬性[9]。
在組織結構設計改進的基礎上,需要進行管理結構優化。即依據分布式多維映射表,借助1個行關鍵字、1個時間戳、1個列關鍵字進行索引。同時依據行關鍵字字母倒排數據,確保同一行關鍵字下數據不間斷,提高數據分析效率。例如將Data.analysis.com倒排為com.analysis.Data;對于列,則可以列關鍵字組成的列族為基本單元,壓縮類型相同的同一列族,避免列關鍵字過多對海量數據分析的干擾;對于時間戳,則加入64位整數,由系統分配賦值,也可用戶自定義,將事務時間特性融入關系型數據庫內,滿足云計算技術實時分析海量數據的要求。
信息數據分析安全是阻礙云計算技術在計算機大數據分析中應用的首要瓶頸。為保障云計算技術的應用安全,可應用物理+數學方式控制訪問權限。根據原密碼分配密鑰,設置雙重加密認證,規避不法入侵者盜取信息,保護服務對象隱私安全[10]。同時定期升級云計算密鑰系統,自動備份虛擬化的基層系統中間產物鏡像,以便在系統出現災難性狀況時自動將存儲于計算機服務器的鏡像轉化為數據,降低云計算數據丟失風險。在這個基礎上,從源頭著手,啟動云計算技術的數據處理函數,輔助隱藏用戶登錄信息,規避網絡內部其他人員獲知用戶實際位置信息,確保用戶信息安全。
云計算技術的應用為計算機大數據分析帶來了翻天覆地的變化,不僅可以降低計算機大數據分析成本,而且可以滿足計算機大數據按需靈活分析的要求。因此,應構建云計算體系,規劃云計算技術應用方案,綜合應用雙重加密認證與自動備份鏡像,保障云計算技術應用安全,為云計算技術在計算機大數據分析中的應用提供支持。