董希泉,李榮榮,柳 強(qiáng)
(1.中國(guó)人民解放軍63920部隊(duì),北京100094;2.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;3.河北省武安市水利局,河北 武安 056300)
網(wǎng)絡(luò)管理中心控制衛(wèi)星通信網(wǎng)絡(luò)的組建和運(yùn)行管理,通過(guò)對(duì)全網(wǎng)的工作狀態(tài)監(jiān)視、設(shè)備功能部件控制、故障診斷和告警、信息記錄、業(yè)務(wù)量的統(tǒng)計(jì)、與通信元素的動(dòng)態(tài)分配,實(shí)現(xiàn)網(wǎng)絡(luò)資源的優(yōu)化配置和可靠運(yùn)行。
由于衛(wèi)星通信網(wǎng)絡(luò)的動(dòng)態(tài)性、高時(shí)延性、異構(gòu)性以及資源有限性,傳統(tǒng)的資源存儲(chǔ)方式和數(shù)據(jù)處理方式無(wú)法滿足海量數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)快速處理的需求。因此,如何高效快速地處理海量數(shù)據(jù)成為亟待解決的問(wèn)題,云計(jì)算可以很好地解決此類問(wèn)題。
本文利用云計(jì)算解決衛(wèi)通網(wǎng)中海量態(tài)勢(shì)數(shù)據(jù)的存儲(chǔ)和處理問(wèn)題。首先搭建基于衛(wèi)星通信網(wǎng)的云平臺(tái)模型,解決衛(wèi)通網(wǎng)數(shù)據(jù)處理問(wèn)題;然后從3層架構(gòu)展開(kāi)研究,分別為系統(tǒng)應(yīng)用層、系統(tǒng)管理層和底層基礎(chǔ)設(shè)施層;其中底層基礎(chǔ)設(shè)施層采用Hadoop搭建底層集群,為系統(tǒng)提供計(jì)算和存儲(chǔ),系統(tǒng)管理層用來(lái)管理底層數(shù)據(jù)和資源,系統(tǒng)應(yīng)用層利用底層數(shù)據(jù)進(jìn)行功能操作。
云計(jì)算是分布式計(jì)算、并行處理、網(wǎng)格計(jì)算在互聯(lián)網(wǎng)下的進(jìn)一步發(fā)展,集成多臺(tái)服務(wù)器和物理機(jī)的資源共同提供服務(wù),并將大規(guī)模計(jì)算程序拆分成無(wú)數(shù)子程序分發(fā)給多臺(tái)服務(wù)器處理,最大程度地利用資源,提高效率[1-5]。
云計(jì)算通過(guò)網(wǎng)絡(luò)使用企業(yè)中每臺(tái)機(jī)器上的磁盤空間,并將這些分散的存儲(chǔ)資源構(gòu)成一個(gè)虛擬的存儲(chǔ)設(shè)備,數(shù)據(jù)分散地存儲(chǔ)在企業(yè)的各個(gè)角落,解決了大容量存儲(chǔ)的問(wèn)題;利用分布式計(jì)算把一個(gè)需要非常巨大的計(jì)算能力才能解決的問(wèn)題分成許多小的部分,分配給許多計(jì)算機(jī)進(jìn)行處理,解決了企業(yè)高性能計(jì)算的問(wèn)題。本文利用云計(jì)算技術(shù)搭建基于衛(wèi)通網(wǎng)的云平臺(tái),解決衛(wèi)通網(wǎng)中海量態(tài)勢(shì)數(shù)據(jù)的存儲(chǔ)和處理問(wèn)題,比如:綜合態(tài)勢(shì)查詢、故障診斷等態(tài)勢(shì)數(shù)據(jù)處理問(wèn)題。
Hadoop是一個(gè)可部署在廉價(jià)硬件上的分布式計(jì)算框架,具有高容錯(cuò)性和可靠性,適用于大數(shù)據(jù)集應(yīng)用程序[6-7]。其關(guān)鍵技術(shù)為HDFS文件系統(tǒng)、MapReduce編輯模型和HBase表單。
HDFS是由一個(gè)NameNode結(jié)點(diǎn)和多個(gè)DataNode結(jié)點(diǎn)構(gòu)成的主從結(jié)構(gòu)體系,NameNode為管理結(jié)點(diǎn),DataNode存儲(chǔ)實(shí)際的數(shù)據(jù),負(fù)責(zé)按照NameNode命令執(zhí)行用戶請(qǐng)求[8]。
MapReduce是一種并行編程模型,可用于大數(shù)據(jù)計(jì)算,通過(guò)將海量操作分發(fā)給網(wǎng)絡(luò)中各個(gè)結(jié)點(diǎn)以實(shí)現(xiàn)其可靠性,用戶通過(guò)編寫(xiě)Map函數(shù)和Reduce函數(shù)進(jìn)行并行計(jì)算[9]。適合MapReduce處理的任務(wù)特征為:待處理的大數(shù)據(jù)集可以拆分成多個(gè)獨(dú)立的子數(shù)據(jù)集并行處理[10],可將MapReduce編程模型應(yīng)用于通信網(wǎng)的大數(shù)據(jù)處理和高性能計(jì)算,解決數(shù)據(jù)融合和高復(fù)雜度計(jì)算問(wèn)題[11]。
HBase是一個(gè)分布式多維映射表,對(duì)其存儲(chǔ)在其中的數(shù)據(jù)不做任何解析,一律看作字符串[12],具有廣泛的適用性、很強(qiáng)的高可擴(kuò)展性、高可用性以及簡(jiǎn)單性,適合衛(wèi)星通信網(wǎng)態(tài)勢(shì)數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)種類繁多、數(shù)據(jù)量龐大的特點(diǎn)[13-15]。
本文利用Hadoop的3種關(guān)鍵技術(shù)進(jìn)行集群搭建和態(tài)勢(shì)數(shù)據(jù)處理工作。
云計(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)的云計(jì)算模型
第一層,系統(tǒng)應(yīng)用層,針對(duì)歷史數(shù)據(jù),進(jìn)行一些功能操作,比如:綜合態(tài)勢(shì)評(píng)估、設(shè)備故障率統(tǒng)計(jì)、故障情景復(fù)現(xiàn)以及任務(wù)期設(shè)備狀態(tài)統(tǒng)計(jì)。在推理機(jī)作用下,根據(jù)觀測(cè)事實(shí)提取征兆信息,然后同知識(shí)庫(kù)中的知識(shí)進(jìn)行匹配,做出故障的診斷與決策,并提供給用戶,進(jìn)行一場(chǎng)決策級(jí)融合。
第二層,系統(tǒng)管理層,通過(guò)執(zhí)行相應(yīng)的應(yīng)用程序?qū)eb服務(wù)器與底層集群連接,主要負(fù)責(zé)用戶的管理和訪問(wèn)控制、任務(wù)管理和資源分配、數(shù)據(jù)管理和集群管理。
第三層,底層基礎(chǔ)設(shè)施層,采用廉價(jià)的物理機(jī)組成Hadoop集群,為系統(tǒng)提供計(jì)算和存儲(chǔ),其中分布式文件系統(tǒng)(HDFS)用于管理數(shù)據(jù)和分配任務(wù)。
系統(tǒng)應(yīng)用層包括四大功能模塊:
綜合態(tài)勢(shì)評(píng)估:采集衛(wèi)通網(wǎng)、頻譜監(jiān)視系統(tǒng)、鏈路監(jiān)測(cè)系統(tǒng)、計(jì)劃接收系統(tǒng)等態(tài)勢(shì)數(shù)據(jù),并對(duì)這些設(shè)備參數(shù)和鏈路狀態(tài)等態(tài)勢(shì)數(shù)據(jù)進(jìn)行匯總和處理,由此得到對(duì)系統(tǒng)綜合態(tài)勢(shì)的評(píng)估和呈現(xiàn);
設(shè)備故障率統(tǒng)計(jì):根據(jù)設(shè)備歷史參數(shù)信息,對(duì)全站設(shè)備在某時(shí)間段內(nèi)的故障率進(jìn)行統(tǒng)計(jì);
故障情景復(fù)現(xiàn):保留故障發(fā)生時(shí)刻的設(shè)備參數(shù)和鏈路狀態(tài)參數(shù),方便后續(xù)進(jìn)行故障排查;
任務(wù)期設(shè)備狀態(tài)統(tǒng)計(jì):通過(guò)對(duì)任務(wù)期間各個(gè)時(shí)刻數(shù)據(jù)的統(tǒng)計(jì)與處理,對(duì)設(shè)備狀態(tài)進(jìn)行統(tǒng)計(jì),比如設(shè)備良好率等。
系統(tǒng)管理層包括三大功能模塊:
數(shù)據(jù)管理模塊:采用HDFS進(jìn)行數(shù)據(jù)存儲(chǔ)和處理,采用一次寫(xiě)入、多次讀取的模式,客戶端先把收據(jù)緩存在本地的一個(gè)臨時(shí)文件中,當(dāng)臨時(shí)文件的大小累積到一個(gè)塊大小(默認(rèn)64 MB)時(shí),客戶端與文件系統(tǒng)聯(lián)系并得到一個(gè)數(shù)據(jù)塊空間。文件寫(xiě)操作關(guān)閉后,進(jìn)入安全模式,數(shù)據(jù)只能進(jìn)行讀操作,不可以再修改數(shù)據(jù)。數(shù)據(jù)塊損壞后,將被系統(tǒng)回收[16-18]。
用戶管理模塊:用戶首先需要注冊(cè)信息才可登錄系統(tǒng),進(jìn)行相關(guān)操作,系統(tǒng)將用戶信息錄入并分配相應(yīng)權(quán)限,監(jiān)測(cè)并控制用戶對(duì)系統(tǒng)的操作與使用。
集群管理模塊:包括節(jié)點(diǎn)管理、作業(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ù)存儲(chǔ)在廉價(jià)物理機(jī)組成的Hadoop集群中。Hadoop技術(shù)將大量廉價(jià)物理機(jī)組成集群模式,共同提供存儲(chǔ)和計(jì)算服務(wù)。將資源整合成一個(gè)虛擬池,以此實(shí)現(xiàn)將軟件應(yīng)用與底層設(shè)備隔離,擴(kuò)展硬件容量,簡(jiǎn)化軟件配置過(guò)程。
基于衛(wèi)星通信網(wǎng)的云平臺(tái)模型中的關(guān)鍵技術(shù)是Hadoop集群技術(shù),本文利用Hadoop來(lái)處理衛(wèi)通網(wǎng)中的態(tài)勢(shì)數(shù)據(jù)。
Hadoop的核心是HDFS(Hadoop Distributed File System)、MapReduce和Hbase。其中HDFS提供高吞吐量的分布式文件系統(tǒng),解決衛(wèi)通網(wǎng)絡(luò)態(tài)勢(shì)數(shù)據(jù)的存儲(chǔ)和訪問(wèn)問(wèn)題;MapReduce為大型數(shù)據(jù)的分布式處理模型,解決衛(wèi)通網(wǎng)絡(luò)態(tài)勢(shì)數(shù)據(jù)的并行處理問(wèn)題;Hbase支持結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的分布式數(shù)據(jù)庫(kù),解決態(tài)勢(shì)數(shù)據(jù)的管理和組織問(wèn)題。
運(yùn)行在HDFS 上的應(yīng)用主要是以流式讀為主,做批量處理,更注重?cái)?shù)據(jù)訪問(wèn)的高吞吐量,這符合衛(wèi)星通信系統(tǒng)流式數(shù)據(jù)的特點(diǎn)。將HDFS應(yīng)用于衛(wèi)星通信網(wǎng)絡(luò)管理中的態(tài)勢(shì)數(shù)據(jù)存儲(chǔ)中,以存儲(chǔ)設(shè)備參數(shù)態(tài)勢(shì)數(shù)據(jù)為例,介紹HDFS的處理過(guò)程。
用戶在客戶端上存儲(chǔ)收集的設(shè)備參數(shù)態(tài)勢(shì)數(shù)據(jù),當(dāng)存儲(chǔ)的數(shù)據(jù)超過(guò)64 MB時(shí),登錄網(wǎng)管系統(tǒng)申請(qǐng)資源塊,首先和NameNode節(jié)點(diǎn)連接,獲取存放DataNode的列表,客戶端和DataNode連接,上傳數(shù)據(jù),NameNode不參與態(tài)勢(shì)數(shù)據(jù)的傳輸。
本文將MapReduce編程模型應(yīng)用于通信網(wǎng)絡(luò)管理中的大數(shù)據(jù)融合和高性能計(jì)算,解決態(tài)勢(shì)評(píng)估問(wèn)題,比如:統(tǒng)計(jì)設(shè)備故障率、鏈路態(tài)勢(shì)回放、鏈路告警統(tǒng)計(jì)等。以統(tǒng)計(jì)設(shè)備故障率為例,介紹MapReduce在衛(wèi)通網(wǎng)絡(luò)管理態(tài)勢(shì)評(píng)估中的具體應(yīng)用。
設(shè)備參數(shù)包括:中心ID、站ID 、設(shè)備ID、設(shè)備類型、設(shè)備子類型、告警時(shí)間、告警級(jí)別。以站為單位,對(duì)全站設(shè)備進(jìn)行統(tǒng)計(jì)。其表單如表1所示。
表1 設(shè)備參數(shù)表
字段名類型主鍵非空centerIDIntYESstationIDIntYESmodernIDIntYESYESModernypeStringYESModernsubtypeStringYESWarntimeDataYESWarndescIntYES
利用MapReduce設(shè)計(jì)一個(gè)統(tǒng)計(jì)全站設(shè)備故障率的程序。通過(guò)以下兩個(gè)步驟完成:
① Map階段輸入的是原始數(shù)據(jù),按照站點(diǎn)對(duì)其劃分,輸出一組鍵值對(duì)<中心ID+站ID,每個(gè)站點(diǎn)的設(shè)備>,因此Map的功能僅僅是劃分出各個(gè)站點(diǎn)的設(shè)備;
② 對(duì)于Map之后得到的每個(gè)站點(diǎn)的設(shè)備數(shù)據(jù),啟動(dòng)Reduce,每個(gè)站點(diǎn)的設(shè)備數(shù)據(jù)放在一個(gè)Reduce中處理,定義告警等級(jí)兩級(jí)以上的設(shè)備為故障設(shè)備,故障設(shè)備數(shù)量與每個(gè)站點(diǎn)設(shè)備總數(shù)量的比值即為每個(gè)站點(diǎn)的設(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ì)數(shù)據(jù)的管理問(wèn)題。以任務(wù)期間設(shè)備狀態(tài)為例,介紹Hbase存放數(shù)據(jù)的邏輯視圖,其中行關(guān)鍵字為任務(wù)期間設(shè)備狀態(tài),時(shí)間戳采用倒排方式,列定義為3個(gè)屬性:一級(jí)告警、二級(jí)告警和三級(jí)告警,如表2所示。
表2 數(shù)據(jù)存放邏輯視圖
行關(guān)鍵字時(shí)間戳一級(jí)告警二級(jí)告警三級(jí)告警任務(wù)期間設(shè)備狀態(tài)t7一次t6一次t5一次t4一次
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)源于衛(wèi)通網(wǎng)歷史態(tài)勢(shì)數(shù)據(jù)。實(shí)驗(yàn)仿真環(huán)境設(shè)置和實(shí)驗(yàn)參數(shù)設(shè)置如表3所示。
比較單機(jī)和Hadoop(默認(rèn)塊復(fù)制數(shù)目為3,數(shù)據(jù)塊大小為64 M)下系統(tǒng)的性能,定義執(zhí)行時(shí)間為性能參數(shù)。為取得更準(zhǔn)確的結(jié)果,采用多次實(shí)驗(yàn)取平均值進(jìn)行比較,結(jié)果如圖4所示。
表3 實(shí)驗(yàn)軟硬件環(huán)境配置
硬件環(huán)境軟件環(huán)境PC機(jī):5臺(tái) 雙核CPU,2.8 GHz內(nèi)存1 GB ,250 GB操作系統(tǒng):Ubuntu8.04執(zhí)行環(huán)境:Sun Java 1.6云開(kāi)發(fā)平臺(tái):Hadoop-0.20.2
圖4 單機(jī)和Hadoop對(duì)比實(shí)驗(yàn)圖
由圖4可知,當(dāng)數(shù)據(jù)量較小時(shí),Hadoop集群的處理速度小于單機(jī),這是因?yàn)槠渚哂蟹植际教攸c(diǎn),當(dāng)數(shù)據(jù)量較少時(shí),Hadoop集群將很多時(shí)間用于系統(tǒng)的初始化和通信,集群不能發(fā)揮自身優(yōu)勢(shì)。
隨著數(shù)據(jù)量不斷增大,Hadoop集群的處理速度遠(yuǎn)大于單機(jī)處理速度,證明Hadoop集群適合處理大規(guī)模數(shù)據(jù)集,其性能要遠(yuǎn)高于單機(jī)的處理性能。
本文針對(duì)衛(wèi)星通信系統(tǒng)現(xiàn)狀,研究云計(jì)算在衛(wèi)星通信網(wǎng)絡(luò)管理中的應(yīng)用,提出一種基于衛(wèi)星通信網(wǎng)的云計(jì)算模型。分層次展開(kāi)介紹該模型,利用Hadoop技術(shù)搭建底層集群系統(tǒng),并介紹分布式文件系統(tǒng)HDFS、并行編程技術(shù)MapReduce和數(shù)據(jù)管理技術(shù)Hbase,最后進(jìn)行仿真實(shí)驗(yàn),結(jié)果證明其優(yōu)于單機(jī)數(shù)據(jù)處理模式。理論和實(shí)驗(yàn)分析了云計(jì)算應(yīng)用于衛(wèi)星通信網(wǎng)絡(luò)的必要性,為后續(xù)工程實(shí)踐提供指導(dǎo)。