董希泉,李榮榮,柳 強
(1.中國人民解放軍63920部隊,北京100094;2.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;3.河北省武安市水利局,河北 武安 056300)
網(wǎng)絡(luò)管理中心控制衛(wèi)星通信網(wǎng)絡(luò)的組建和運行管理,通過對全網(wǎng)的工作狀態(tài)監(jiān)視、設(shè)備功能部件控制、故障診斷和告警、信息記錄、業(yè)務(wù)量的統(tǒng)計、與通信元素的動態(tài)分配,實現(xiàn)網(wǎng)絡(luò)資源的優(yōu)化配置和可靠運行。
由于衛(wèi)星通信網(wǎng)絡(luò)的動態(tài)性、高時延性、異構(gòu)性以及資源有限性,傳統(tǒng)的資源存儲方式和數(shù)據(jù)處理方式無法滿足海量數(shù)據(jù)存儲和數(shù)據(jù)快速處理的需求。因此,如何高效快速地處理海量數(shù)據(jù)成為亟待解決的問題,云計算可以很好地解決此類問題。
本文利用云計算解決衛(wèi)通網(wǎng)中海量態(tài)勢數(shù)據(jù)的存儲和處理問題。首先搭建基于衛(wèi)星通信網(wǎng)的云平臺模型,解決衛(wèi)通網(wǎng)數(shù)據(jù)處理問題;然后從3層架構(gòu)展開研究,分別為系統(tǒng)應(yīng)用層、系統(tǒng)管理層和底層基礎(chǔ)設(shè)施層;其中底層基礎(chǔ)設(shè)施層采用Hadoop搭建底層集群,為系統(tǒng)提供計算和存儲,系統(tǒng)管理層用來管理底層數(shù)據(jù)和資源,系統(tǒng)應(yīng)用層利用底層數(shù)據(jù)進行功能操作。
云計算是分布式計算、并行處理、網(wǎng)格計算在互聯(lián)網(wǎng)下的進一步發(fā)展,集成多臺服務(wù)器和物理機的資源共同提供服務(wù),并將大規(guī)模計算程序拆分成無數(shù)子程序分發(fā)給多臺服務(wù)器處理,最大程度地利用資源,提高效率[1-5]。
云計算通過網(wǎng)絡(luò)使用企業(yè)中每臺機器上的磁盤空間,并將這些分散的存儲資源構(gòu)成一個虛擬的存儲設(shè)備,數(shù)據(jù)分散地存儲在企業(yè)的各個角落,解決了大容量存儲的問題;利用分布式計算把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,分配給許多計算機進行處理,解決了企業(yè)高性能計算的問題。本文利用云計算技術(shù)搭建基于衛(wèi)通網(wǎng)的云平臺,解決衛(wèi)通網(wǎng)中海量態(tài)勢數(shù)據(jù)的存儲和處理問題,比如:綜合態(tài)勢查詢、故障診斷等態(tài)勢數(shù)據(jù)處理問題。
Hadoop是一個可部署在廉價硬件上的分布式計算框架,具有高容錯性和可靠性,適用于大數(shù)據(jù)集應(yīng)用程序[6-7]。其關(guān)鍵技術(shù)為HDFS文件系統(tǒng)、MapReduce編輯模型和HBase表單。
HDFS是由一個NameNode結(jié)點和多個DataNode結(jié)點構(gòu)成的主從結(jié)構(gòu)體系,NameNode為管理結(jié)點,DataNode存儲實際的數(shù)據(jù),負責按照NameNode命令執(zhí)行用戶請求[8]。
MapReduce是一種并行編程模型,可用于大數(shù)據(jù)計算,通過將海量操作分發(fā)給網(wǎng)絡(luò)中各個結(jié)點以實現(xiàn)其可靠性,用戶通過編寫Map函數(shù)和Reduce函數(shù)進行并行計算[9]。適合MapReduce處理的任務(wù)特征為:待處理的大數(shù)據(jù)集可以拆分成多個獨立的子數(shù)據(jù)集并行處理[10],可將MapReduce編程模型應(yīng)用于通信網(wǎng)的大數(shù)據(jù)處理和高性能計算,解決數(shù)據(jù)融合和高復(fù)雜度計算問題[11]。
HBase是一個分布式多維映射表,對其存儲在其中的數(shù)據(jù)不做任何解析,一律看作字符串[12],具有廣泛的適用性、很強的高可擴展性、高可用性以及簡單性,適合衛(wèi)星通信網(wǎng)態(tài)勢數(shù)據(jù)存儲的數(shù)據(jù)種類繁多、數(shù)據(jù)量龐大的特點[13-15]。
本文利用Hadoop的3種關(guān)鍵技術(shù)進行集群搭建和態(tài)勢數(shù)據(jù)處理工作。
云計算在衛(wèi)星通信網(wǎng)絡(luò)管理下的架構(gòu)模型如圖1所示。本系統(tǒng)采用3層體系結(jié)構(gòu),包括系統(tǒng)應(yīng)用層、系統(tǒng)管理層和底層基礎(chǔ)設(shè)施服務(wù)層。

圖1 基于衛(wèi)星通信網(wǎng)的云計算模型
第一層,系統(tǒng)應(yīng)用層,針對歷史數(shù)據(jù),進行一些功能操作,比如:綜合態(tài)勢評估、設(shè)備故障率統(tǒng)計、故障情景復(fù)現(xiàn)以及任務(wù)期設(shè)備狀態(tài)統(tǒng)計。在推理機作用下,根據(jù)觀測事實提取征兆信息,然后同知識庫中的知識進行匹配,做出故障的診斷與決策,并提供給用戶,進行一場決策級融合。
第二層,系統(tǒng)管理層,通過執(zhí)行相應(yīng)的應(yīng)用程序?qū)eb服務(wù)器與底層集群連接,主要負責用戶的管理和訪問控制、任務(wù)管理和資源分配、數(shù)據(jù)管理和集群管理。
第三層,底層基礎(chǔ)設(shè)施層,采用廉價的物理機組成Hadoop集群,為系統(tǒng)提供計算和存儲,其中分布式文件系統(tǒng)(HDFS)用于管理數(shù)據(jù)和分配任務(wù)。
系統(tǒng)應(yīng)用層包括四大功能模塊:
綜合態(tài)勢評估:采集衛(wèi)通網(wǎng)、頻譜監(jiān)視系統(tǒng)、鏈路監(jiān)測系統(tǒng)、計劃接收系統(tǒng)等態(tài)勢數(shù)據(jù),并對這些設(shè)備參數(shù)和鏈路狀態(tài)等態(tài)勢數(shù)據(jù)進行匯總和處理,由此得到對系統(tǒng)綜合態(tài)勢的評估和呈現(xiàn);
設(shè)備故障率統(tǒng)計:根據(jù)設(shè)備歷史參數(shù)信息,對全站設(shè)備在某時間段內(nèi)的故障率進行統(tǒng)計;
故障情景復(fù)現(xiàn):保留故障發(fā)生時刻的設(shè)備參數(shù)和鏈路狀態(tài)參數(shù),方便后續(xù)進行故障排查;
任務(wù)期設(shè)備狀態(tài)統(tǒng)計:通過對任務(wù)期間各個時刻數(shù)據(jù)的統(tǒng)計與處理,對設(shè)備狀態(tài)進行統(tǒng)計,比如設(shè)備良好率等。
系統(tǒng)管理層包括三大功能模塊:
數(shù)據(jù)管理模塊:采用HDFS進行數(shù)據(jù)存儲和處理,采用一次寫入、多次讀取的模式,客戶端先把收據(jù)緩存在本地的一個臨時文件中,當臨時文件的大小累積到一個塊大小(默認64 MB)時,客戶端與文件系統(tǒng)聯(lián)系并得到一個數(shù)據(jù)塊空間。文件寫操作關(guān)閉后,進入安全模式,數(shù)據(jù)只能進行讀操作,不可以再修改數(shù)據(jù)。數(shù)據(jù)塊損壞后,將被系統(tǒng)回收[16-18]。
用戶管理模塊:用戶首先需要注冊信息才可登錄系統(tǒng),進行相關(guān)操作,系統(tǒng)將用戶信息錄入并分配相應(yīng)權(quán)限,監(jiān)測并控制用戶對系統(tǒng)的操作與使用。
集群管理模塊:包括節(jié)點管理、作業(yè)監(jiān)控和任務(wù)監(jiān)控。
其功能模塊如圖2所示。

圖2 系統(tǒng)管理層架構(gòu)
底層基礎(chǔ)設(shè)施層模型如圖3所示。

圖3 底層基礎(chǔ)設(shè)施層架構(gòu)
由數(shù)據(jù)代理監(jiān)控衛(wèi)星通信網(wǎng)、地面網(wǎng)以及光學(xué)網(wǎng)等網(wǎng)管站的設(shè)備參數(shù)以及鏈路狀態(tài)信息,作為元數(shù)據(jù)存儲在廉價物理機組成的Hadoop集群中。Hadoop技術(shù)將大量廉價物理機組成集群模式,共同提供存儲和計算服務(wù)。將資源整合成一個虛擬池,以此實現(xiàn)將軟件應(yīng)用與底層設(shè)備隔離,擴展硬件容量,簡化軟件配置過程。
基于衛(wèi)星通信網(wǎng)的云平臺模型中的關(guān)鍵技術(shù)是Hadoop集群技術(shù),本文利用Hadoop來處理衛(wèi)通網(wǎng)中的態(tài)勢數(shù)據(jù)。
Hadoop的核心是HDFS(Hadoop Distributed File System)、MapReduce和Hbase。其中HDFS提供高吞吐量的分布式文件系統(tǒng),解決衛(wèi)通網(wǎng)絡(luò)態(tài)勢數(shù)據(jù)的存儲和訪問問題;MapReduce為大型數(shù)據(jù)的分布式處理模型,解決衛(wèi)通網(wǎng)絡(luò)態(tài)勢數(shù)據(jù)的并行處理問題;Hbase支持結(jié)構(gòu)化數(shù)據(jù)存儲的分布式數(shù)據(jù)庫,解決態(tài)勢數(shù)據(jù)的管理和組織問題。
運行在HDFS 上的應(yīng)用主要是以流式讀為主,做批量處理,更注重數(shù)據(jù)訪問的高吞吐量,這符合衛(wèi)星通信系統(tǒng)流式數(shù)據(jù)的特點。將HDFS應(yīng)用于衛(wèi)星通信網(wǎng)絡(luò)管理中的態(tài)勢數(shù)據(jù)存儲中,以存儲設(shè)備參數(shù)態(tài)勢數(shù)據(jù)為例,介紹HDFS的處理過程。
用戶在客戶端上存儲收集的設(shè)備參數(shù)態(tài)勢數(shù)據(jù),當存儲的數(shù)據(jù)超過64 MB時,登錄網(wǎng)管系統(tǒng)申請資源塊,首先和NameNode節(jié)點連接,獲取存放DataNode的列表,客戶端和DataNode連接,上傳數(shù)據(jù),NameNode不參與態(tài)勢數(shù)據(jù)的傳輸。
本文將MapReduce編程模型應(yīng)用于通信網(wǎng)絡(luò)管理中的大數(shù)據(jù)融合和高性能計算,解決態(tài)勢評估問題,比如:統(tǒng)計設(shè)備故障率、鏈路態(tài)勢回放、鏈路告警統(tǒng)計等。以統(tǒng)計設(shè)備故障率為例,介紹MapReduce在衛(wèi)通網(wǎng)絡(luò)管理態(tài)勢評估中的具體應(yīng)用。
設(shè)備參數(shù)包括:中心ID、站ID 、設(shè)備ID、設(shè)備類型、設(shè)備子類型、告警時間、告警級別。以站為單位,對全站設(shè)備進行統(tǒng)計。其表單如表1所示。
表1 設(shè)備參數(shù)表

字段名類型主鍵非空centerIDIntYESstationIDIntYESmodernIDIntYESYESModernypeStringYESModernsubtypeStringYESWarntimeDataYESWarndescIntYES
利用MapReduce設(shè)計一個統(tǒng)計全站設(shè)備故障率的程序。通過以下兩個步驟完成:
① Map階段輸入的是原始數(shù)據(jù),按照站點對其劃分,輸出一組鍵值對<中心ID+站ID,每個站點的設(shè)備>,因此Map的功能僅僅是劃分出各個站點的設(shè)備;
② 對于Map之后得到的每個站點的設(shè)備數(shù)據(jù),啟動Reduce,每個站點的設(shè)備數(shù)據(jù)放在一個Reduce中處理,定義告警等級兩級以上的設(shè)備為故障設(shè)備,故障設(shè)備數(shù)量與每個站點設(shè)備總數(shù)量的比值即為每個站點的設(shè)備故障率,輸出結(jié)果<中心ID+站ID,設(shè)備故障率>。
具體代碼段如下:
Public class ModernFailureRate{
Public static void main(string args[]){
n=1;
for(ModernID=1;ModernID<=ModenIDmax;ModernID++){
if(ModernID.AlarmLevel>=2){
n=n+1; }}
system.out.println(ModernFailureRate=”n/ModernIDmax”)}}
利用Hbase解決衛(wèi)星通信網(wǎng)絡(luò)管理中態(tài)勢數(shù)據(jù)的管理問題。以任務(wù)期間設(shè)備狀態(tài)為例,介紹Hbase存放數(shù)據(jù)的邏輯視圖,其中行關(guān)鍵字為任務(wù)期間設(shè)備狀態(tài),時間戳采用倒排方式,列定義為3個屬性:一級告警、二級告警和三級告警,如表2所示。
表2 數(shù)據(jù)存放邏輯視圖

行關(guān)鍵字時間戳一級告警二級告警三級告警任務(wù)期間設(shè)備狀態(tài)t7一次t6一次t5一次t4一次
本文實驗數(shù)據(jù)來源于衛(wèi)通網(wǎng)歷史態(tài)勢數(shù)據(jù)。實驗仿真環(huán)境設(shè)置和實驗參數(shù)設(shè)置如表3所示。
比較單機和Hadoop(默認塊復(fù)制數(shù)目為3,數(shù)據(jù)塊大小為64 M)下系統(tǒng)的性能,定義執(zhí)行時間為性能參數(shù)。為取得更準確的結(jié)果,采用多次實驗取平均值進行比較,結(jié)果如圖4所示。
表3 實驗軟硬件環(huán)境配置

硬件環(huán)境軟件環(huán)境PC機:5臺 雙核CPU,2.8 GHz內(nèi)存1 GB ,250 GB操作系統(tǒng):Ubuntu8.04執(zhí)行環(huán)境:Sun Java 1.6云開發(fā)平臺:Hadoop-0.20.2

圖4 單機和Hadoop對比實驗圖
由圖4可知,當數(shù)據(jù)量較小時,Hadoop集群的處理速度小于單機,這是因為其具有分布式特點,當數(shù)據(jù)量較少時,Hadoop集群將很多時間用于系統(tǒng)的初始化和通信,集群不能發(fā)揮自身優(yōu)勢。
隨著數(shù)據(jù)量不斷增大,Hadoop集群的處理速度遠大于單機處理速度,證明Hadoop集群適合處理大規(guī)模數(shù)據(jù)集,其性能要遠高于單機的處理性能。
本文針對衛(wèi)星通信系統(tǒng)現(xiàn)狀,研究云計算在衛(wèi)星通信網(wǎng)絡(luò)管理中的應(yīng)用,提出一種基于衛(wèi)星通信網(wǎng)的云計算模型。分層次展開介紹該模型,利用Hadoop技術(shù)搭建底層集群系統(tǒng),并介紹分布式文件系統(tǒng)HDFS、并行編程技術(shù)MapReduce和數(shù)據(jù)管理技術(shù)Hbase,最后進行仿真實驗,結(jié)果證明其優(yōu)于單機數(shù)據(jù)處理模式。理論和實驗分析了云計算應(yīng)用于衛(wèi)星通信網(wǎng)絡(luò)的必要性,為后續(xù)工程實踐提供指導(dǎo)。