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

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

圖2 系統管理層架構
底層基礎設施層模型如圖3所示。

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

字段名類型主鍵非空centerIDIntYESstationIDIntYESmodernIDIntYESYESModernypeStringYESModernsubtypeStringYESWarntimeDataYESWarndescIntYES
利用MapReduce設計一個統計全站設備故障率的程序。通過以下兩個步驟完成:
① Map階段輸入的是原始數據,按照站點對其劃分,輸出一組鍵值對<中心ID+站ID,每個站點的設備>,因此Map的功能僅僅是劃分出各個站點的設備;
② 對于Map之后得到的每個站點的設備數據,啟動Reduce,每個站點的設備數據放在一個Reduce中處理,定義告警等級兩級以上的設備為故障設備,故障設備數量與每個站點設備總數量的比值即為每個站點的設備故障率,輸出結果<中心ID+站ID,設備故障率>。
具體代碼段如下:
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解決衛星通信網絡管理中態勢數據的管理問題。以任務期間設備狀態為例,介紹Hbase存放數據的邏輯視圖,其中行關鍵字為任務期間設備狀態,時間戳采用倒排方式,列定義為3個屬性:一級告警、二級告警和三級告警,如表2所示。
表2 數據存放邏輯視圖

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

硬件環境軟件環境PC機:5臺 雙核CPU,2.8 GHz內存1 GB ,250 GB操作系統:Ubuntu8.04執行環境:Sun Java 1.6云開發平臺:Hadoop-0.20.2

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