張德康
(山東黃金電力有限公司,山東 萊州 261400)
隨著計算機技術的不斷發展,目前各類企業的數據類型開始呈現指數級的增長趨勢,尤其是在眾多通信行業,其數據的日產量已經達到TB級別[1-4]。目前,由于大數據技術的不斷成熟以及通信行業業務模式的不斷變革,在計算速度和智能化水平方面,傳統的商業經營分析軟件已經無法支撐企業對于數據分析的需求,因此亟需構建基于新型數據分析模式的分析平臺[5-9]。
大數據技術可以配置眾多類型的接口,從不同業務系統中抽取各類業務數據,支撐數據分析和決策[10-12]。大數據平臺的組件比較多,同時支持多節點的數據采集,具備高復雜度的配置管理需求,非常適用于通信行業的數據分析。在云計算模式日漸成熟的今天,計算機資源已經不是制約計算機分析的最主要原因,一款效率非常高并且支持輕量化部署的新型大數據分析平臺已經逐步被構建起來[13-15]。鑒于此,本文將對基于大數據平臺的通信數據管理系統建設進行研究,為通信行業數據分析、業務模式變革提供技術支撐。
大數據平臺本質上是數據倉庫,是一個面向主題的支持可繼承策略的數據庫,可支撐業務決策和預警預測。隨著企業信息化建設速度的不斷加快,企業每天產生的數據量正在不斷變大,數據格式也呈現出多樣化需求。企業經營和管理人員在決策過程中,對于數據分析的需求也不斷增加。基于以上兩個方面的需求,大數據平臺開展分層架構十分有必要。
歸根結底,大數據平臺要從結果產生和數據異構兩個方面解決企業的數據存儲、管理和使用的問題,大數據平臺中對于數據的架構具有精確的標準要求,具體如圖1所示。通過圖1中標準的數據存儲模型,幫助設計人員在開展模型設計過程中實現數據設計標準的統一,同時設計出更加清晰易懂的模型數據源。在不同層級,數據均有著不同的作用,以下對每個層次進行詳細介紹。

圖1 大數據平臺的分層架構
(1)操作數據存儲(Operational Data Store,ODS)層。該層也被稱作業務系統數據的接口層面,在此接口中存放著不同的原始數據,一般原始數據在此接口中存放7天,大數據平臺不會對系統做任何的數據操作,ODS層級也不會對數據做任何的數據壓縮等動作。
(2)細節數據層(Data Warehouse Detail,DWD),也被稱作數據的整合層。此數據層主要是實現對業務數據的首次清洗,并對業務數據開展轉化,按照主題域對數據進行分類存儲,進行比較簡單的數據關聯,如映射表的關聯,對于無效的字段應該在這一層次被過濾掉。
(3)數據倉庫(Data Warehouse,DW)層,也被稱作業務數據的匯總層。該層依據業務的需求分析以及App的開發需求,應該按照二級主題域的基本要求對數據進行匯總。應用分析過程中,按照標準應該首先使用DW層的業務數據,其次再使用DWD層的業務數據,最后才訪問ODS層面的數據。
(4)數據集市(Data Mart,DM)層,也被稱為信息層。此層主要是基于最終的開發需求建立相應指標的計算公式,并基于公式開展具體計算,計算結果會存儲在此層。
(5)數據應用(Store Transfer,ST)層,也被稱為展示層。此層是根據具體的前端設計需求,實現數據的匯總,不含具體的明細數據。
通信行業具有特殊性,對于數字化的需求非常強烈。通信線路中涉及的各類設備和組件較多,如何幫助運維人員第一時間掌握其狀態、幫助人們快速定位異常的位置以及分析異常的原因,對保障通信線路的穩定性來說非常重要。為了提升通信事件推送的效率,平臺要求必須基于大數據技術處理數據,主要管理需求包含對數據的收集、存儲和分析等。另外,為提升用戶的體驗,還需要提供各類查詢以及報警的可視化界面。
通信系統面對眾多子系統,在數據采集的過程中,不但要保障數據的準確性,還要保證數據的實時性。在數據抽取的過程中,分為增量和全量兩類數據接口,對于不同的數據源頭采用不同的數據采集方法。為了保障數據抽取的準確性,應該采用各類抽取算法實現對數據的抽取和聚合,保證數據第一時間傳輸至用戶界面上。
由于節點采用分布式方式進行處理,在數據處理過程中要保證被采集數據能夠分類和聚合,不同的隊列被安排到不同的數據模塊中使用,隊列的緩沖作用能夠保障系統的穩定程度,使得用戶端能夠實現數據的批量讀取。對于大數據平臺ODS端所抽取到的數據需要進行持久化的操作,保障增量數據能夠第一時間存儲,同時數據存儲模塊應支持存儲空間的動態擴容。
數據抽取和處理過程中,要保障平臺、不同節點和服務之間的數據狀態能夠穩定,實現對各類數據的報警和分析,根據數據及設備的狀態提供實時計算。對于實時性要求不高的,可采用離線計算方式來進行數據分析。對于不同的運行狀態評價,需要建立不同的數據模型,對不同的評價模型進行計算得到具體的指標數值,將其展示在平臺上,供使用人員對運行狀態進行監控。其中,不同的模型需要不同的組件和服務。同時,平臺應該為用戶提供批量的數據持久化功能,由于平臺的數據量非常大,且每秒的數據并發量較大,因此需要在某個時間段內精確抽取該段時間內特定數據類型的數據。
在系統性能方面,可能存在于測試環境創建和數據采集兩個點。對于節點的創建,一般應該在10~20 min之內完成,對于數據接口應保證其不產生數據的堆積,組件和組件的數據遷移效率維持在3 Mb/s,數據前臺業務數據的查詢時間需要控制在8 s之內。
基于常見的大數據平臺架構可知,平臺內一般含有3個層次,分別為底層硬件物理層、平臺架構層和系統應用層。首先底層物理架構層分為硬件存儲、無線傳輸設備、有線路由設備等硬件裝備,平臺層主要包含各類調度和優化模塊、存儲優化Hadoop分布式文件系統(Hadoop Distributed File System,HDFS)模塊、ZooKeeper模塊、Kafka、Sqoop以及Flume等模塊,還包含數據倉庫架構、實時流處理、HBase以及其學習算法模塊。
平臺層方面,數據是來源于底層數據倉庫的,本地數據庫接口通過各類FLUME組件開展數據的抽取工作,這樣可以將數據根據不同的維度進行數據劃分并上傳至HDFS存儲模塊中,之后再進行數據倉庫技術(Extract Transform Load,ETL)工具處理,例如碼值的轉化和數據的類型轉化等操作。
各類海量的數據存儲操作包含兩個比較關鍵的組件,分別為HBase和Kafka等。為了方便人們對數據倉庫中的數據進行管理,需要采用shell腳本對數據進行具體的程序化操作。另外,在平臺中兩個非常重要的模塊,分別為機器學習和深度學習算法部分,兩個模塊的優劣決定了平臺的自我學習能力。物理層則是包含交換機、服務器等不同的物理硬件的裝置,提供各類硬件支撐。平臺一般分為生產和測試兩套平臺環境,因此物理層面也應該分為以上兩種環境,保障生產正常使用的同時具備用戶優化項點的測試和應用功能。在存儲空間上一般對于測試和正式環境進行隔離,從而保障生產服務和應用的資源能夠始終保持在最優化的狀態,而不被測試環境所占用。然而,測試環境能夠保障最低的資源使用效率,而不影響其使用體驗。應用層主要是基于以上兩個層次開發的各類大數據應用,直接面對用戶,是用戶和系統交互的主要媒介。
綜上所述,此平臺主要包含整體架構、數據采集、數據聚合分析、資源調度和預警可視化等基本模塊。
平臺的主要邏輯如下。接口采集模塊通過各類物理節點以及組件(HDFSNameNode、HDSFDataNode、Yarn、HBaseMaster、HBaseRegionServer、ZooKeeper以及Hive等),實現對數據的采集。將采集的數據分配至各類數據搜集器中,數據搜集器中的數據被ETL以及其他相關的程序進行處理,并傳輸至服務器模塊中,從而實現對任務的監督和管理,進而實現對任務的調度。數據搜集器的另一個分支會通過數據管道將其傳輸至消息隊列中,進而傳輸至數據聚合模塊中。數據聚合模塊是采用分布式數據存儲架構。數據存儲模塊的運行狀態會被平臺告警和數據營銷分析兩個模塊監控,分別實現平臺運行、日志分析告警管理、預測和推薦等功能。在最上層的可視化模塊中,主要實現對平臺資源利用率、平臺節點可視化、指標計算可視化3個維度的數據展示,以供維護人員能夠第一時間發現系統的問題所在。
隨著互聯網技術的不斷發展,大數據技術已經深入到各行各業,為人們提供了便利。基于大量的數據積累實現對企業運營狀況的分析,指導企業管理人員開展企業未來運營狀況的預判是大數據的最大價值。本文對大數據平臺在通信數據的管理方面開展了研究,對平臺的架構和數據管理機制進行了介紹,形成了一套面向通信數據管理的大數據管理系統。未來,研究平臺的狀態評估模型、豐富可視化呈現手段、提供更多的告警形式是主要的研究方向。