郭拴岐
(陜西警官職業學院 信息技術系, 陜西 西安 710021)
隨著4G時代的到來,移動業務日漸增多,產生的電信數據更是以TB級速度上漲,這也為運營商的運營和管理造成了一定的壓力。運營商只有快速處理每日產生的大批量電信數據,才能掌握電信用戶的實際需求,設計出更具針對性的業務套餐供客戶選擇,提升自身競爭力。原有的關系型數據庫已經難以滿足當下海量電信數據的處理需求,若想提升數據處理速度,必須配以高性能機器,投入成本有所提升,為運營商帶來了一定的壓力,而Hadoop技術的發展和成熟很好地解決了這一問題。Hadoop作為一種開放式源代碼架構,主要用于大型數據庫,利用MapReduce編程軟件劃分數據,完成電信信息的兼并處理工作,效率高更加節省時間。Hadoop還具備優異的伸縮性、容錯性,適配多款硬件,實際應用能力強。
云計算是近年來新興的計算機技術,是基于互聯網服務人數增加、使用和交付創建出來的,是將并行計算和分布式計算整合起來的計算機技術,契合當前網絡計算綜合發展的需求。使用云計算后,系統會平均分配計算任務,各資源池上的任務數量相對統一,確保各資源池擁有充足的計算力來完成計算任務。信息存儲空間和服務能力,并且具有安全性、共享性、擴展性和投入資金低等多項優點。以服務內容為劃分依據,分為軟件、平臺、基礎設備。以數據為中心點,在數據合并處理、編程和虛擬化等方面都發揮了非常大的作用[1]。
Hadoop是由Apache基金會注資研發的,可應用在廉價PC機器上,作為分布式集群系統結構,擁有著安全、高效、可擴展和成本低等優勢。由于其自身是不需要付費的開放性平臺,用戶在使用時擁有更多的靈活性,完成程序分布。Hadoop包含多個子項目,其具體分布如圖1所示。

圖1 Hadoop的項目結構
1.2.1 HDFS介紹
HDFS是一個分布式文件軟件,自身擁有高容錯性。該軟件在調取數據時運用的是高吞吐技術,因此在性能一般的PC機上也能使用,不僅可以提升系統的工作性能,還能減少資金投入,適用于存有大批量電信數據的軟件當中。HDFS應用的是主/從結構(master/slave),最早研發的版本中,架構體系包含一個控制模塊和多個數據模塊,控制節點負責存儲和管理元數據信息,一般情況下一個集群系統中只配備一臺機器,代替控制模塊工作。數據節點則不同,可以同時配備多個機器,共同運轉。作為普通軟件,借助心跳機進行通信。
1.2.2 MapReduce介紹
在進行程序開發時,技術人員會將復雜的設計流程拆分為多個子任務,子任務之間存在著兩種關系。一種是依賴關系,任務的前后順序不能發生變化,此種情況下不能對任務進行并行處理。第二種則是獨立關系,對前后順序沒有明確的要求,可以進行并行處理。因為所需要處理的數據數量極多,且在處理時間上也有硬性規定,因此需要大量的機器來完成這一工作,MapReduce編程模型的出現很好的解決了這些問題[2-3]。
MapReduce是于2004年研發出的一款分布式程序設計模型,可對大于1TB的海量數據集進行并行處理,因其使用方法簡單,應用得相對廣泛。在MapReduce研發成功之后,它取代了ad hoc程序,以新款谷歌索引的身份被應用,這也從側面證明了MapReduce擁有良好的使用性能。應用MapReduce時,需要對輸入文件進行切割,再將分割后的文件傳輸給Map函數,根據程序員便攜的函數將接收到的文件映射成中間小文件。完成映射后在傳送至Reduce,對其進行合并、縮減處理。因其具體操作流程都是一早由程序員設定好的,因此在使用時更具有靈活性。
電信運營商分析、處理大批量電信數據時,采用的仍是固有的關系型數據庫,若想使用此種分析方法,必須借助高性能機器來完成,不僅耗時長,分析效率也不盡人意,影響業務決策的時效性?;诖朔N情況,本文提出了建新型云計算平臺的構想,結合MapReduce編程軟件,完成數據的整理工作,提升數據分析速率,從根本上解決電信運營商難以管理、分析海量電信數據的現狀[4]。
設計此款平臺的目的是為了提升數據處理的時效性,在構建云計算平臺的過程中,可以選用性能一般PC服務器,以此來完成海量電信數據的分析工作,提升數據分析的速率,不僅可以為電信運營商節省投資成本,還能為業務決策提供更具時效性和準確性的輔助參考信息。設計原則包含3個方面,分別為經濟原則、高效原則和安全原則。經濟原則,由于Hadoop對硬件要求并不高,因此在構建平臺的過程中可以充分地調動現有資源,在搭建Hadoop云計算平臺時可以使用低端PC服務器。高效原則,依靠精準測算力,快速處理數據,使其更具高效性。安全原則,在構建平臺和應用時,應該將自身和信息安全考慮進去,通過必要措施規避使用風險。
以海量電信數據自身具備的特點出發,云計算平臺在框架結構上可以分成3部分,如圖2所示。

圖2 云計算平臺框架結構
2.2.1 數據層
網絡域數據囊括Gb,A和WLAN等多個端口的數據信息,業務支撐域包含的則是用戶端的數據,設計自身信息、業務訂購和消費數據等多個層面。這些數據通過Hadoop云計算平臺上的HDFS模塊來進行存儲,用Hbase、Hive、Pig和ZooKeeper等軟件對所存儲的數據進行管理,利用SQL進行指標統計,經MapReduce整合完畢后存儲于HDFS中,方便后續的導出和使用[5]。
2.2.2 模型層
模型層,對上一結構層面整理出的信息采取ETL處理,并將其匯總,以此為參數創建分析模型。以客戶自身信息、業務訂購和消費數據等多個層面入手,創建分析模型,包含用戶位置、上網行為、短信行為等多種基礎模型,并通過虛擬測試分析出用戶位置、離網狀態和交際圈等多種信息,可以更好地掌握用戶的使用狀態[6]。
2.2.3應用層
應用層的工作內容則是利用模型層所分析出的數據鎖定目標客戶,從用戶所處地理位置,日常生活軌跡、套餐業務和增值業務的選擇情況等方面入手,設計更能吸引目標客戶的運營方案,并對實際推行情況進行總結。
云計算平臺包含四個功能模塊,如圖3所示。

圖3 功能模塊具體劃分
對圖3中的4個模塊進行了進一步劃分。用戶管理模塊,包括開通賬戶、身份判定、權限分配和身份交互4個方面。數據管理模塊,負責信息的上傳、下載,發現無實際應用價值的信息時,及時將其刪除。任務管理模塊,及時申請自身承接任務,并對申請結果進行反饋。集群管理模塊,對任務推進、節點管理進程進行監測[7]。
云計算平臺的網絡拓撲包含兩個功能分區:前端操作區、后端生產區,如圖4所示。

圖4 云計算平臺網絡拓撲結構圖
后端生產區:Hadoop集群局域網由NameNode,Secondary NameNode和JobTrack三臺服務器構成。NameNode服務器的工作內容是對海量電信數據進行分割和保存,并實時監測DateNode的運行狀態。在平臺運行時,系統最先完成的是信息讀取工作,通過訪問NameNode服務器,摸清數據文件所處位置,隨后再與其進行通信。如果在運行過程中出現某一個DateNode宕機的情況,會自動啟動副本以供應用程序訪問,確保云計算平臺可以正常運行。Secondary NameNode服務器的工作內容則是監控HDFS的工作狀態,并完成和NameNode的通信工作,將HDFS原始數據的快照進行存儲,當NameNode發生運行故障時,可將所存儲的快照當做備用設備使用。JobTracker服務器的工作內容是對計算任務進行總體調控和監控各節點的工作狀態,部分任務失敗時,會自動重啟,重新完成任務[8]。
具體設備配置信息如表1所示。

表1 集群設備配置信息
在提前部署好的虛擬云計算平臺進行相關實驗。實驗一:利用分布式計算法,對單數據節點進行MapReduce計算,測試時長大約為63分鐘[9]。計算過程如表2所示。

表2 實驗一MapReduce計算過程
實驗二:利用分布式計算法,對雙數據節點進行MapReduce計算,測試時長大約為37分鐘,計算過程如表3所示。

表3 實驗二 MapReduce計算過程
通過實驗數據我們可以得知,運用Hadoop分布式計算法可以大幅度提升計算速率,將測算時間縮短了3小時以上,且數據節點越多云計算平臺的整體性能越好[10]。
由于傳統數據分析法無法滿足大批量電信數據處理的需求,基于此種情況,提出了基于Hadoop海量電信數據云計算平臺設計的構想,對其設計流程和功能模塊進行了具體闡述,并通過虛擬實驗證明了其具備可行性,可以幫助電信運營商提升海量數據的計算效率。