閆振東,高 斌
(中國電子科學研究院,北京 100041)
云計算(Cloud Computing)是近兩年提出的新概念,是分布式計算(Distributed Computing)、并行計算(Parallel Computing)和網格計算(Grid Computing)的進一步發展,或者說是這些計算機科學概念的商業實現。總的來看,云計算還處于一個起步階段,主要有Amazon、IBM 和Google、Hp等各自的計算平臺[1—3]。
當前戰場形勢下,信息數量激增,甄別難度加大。首先,隨著各類偵察衛星及空中、地面和海上偵察監視設備的廣泛使用,信息化戰場形成了一個以計算機網絡為基礎、以偵察監視衛星為主的陸、海、空、天一體化戰場感知系統,大量信息源源不斷地通過這一系統涌入指揮員的視野。例如科索沃戰爭中,北約利用自身廣泛的衛星通信網絡每天傳輸15萬條以上的信息,包括加密和非加密聲音、數據和傳真信息。指揮機構要在信息的海洋中快速、準確篩選出有價值的信息,這的確是一個嚴峻的挑戰。其次,過去的戰爭由于受到技術條件的束縛,人們對戰場信息的認識僅僅局限于情報,戰場信息管理也就簡化為戰場情報管理。但是隨著信息技術在戰爭領域的廣泛應用,戰場信息的內涵和外延遠遠超出了情報的范圍,要想獲得戰爭的勝利,僅僅掌握情報是不夠的,還必須了解、掌握整個戰場空間和作戰相關的數據、指令、消息、信號等敵我雙方的信息。戰場信息內涵的多樣化使得信息管理對象的范圍急劇擴大,作戰雙方力求“兵不厭詐”導致信息的準確性、有效性不易鑒別,信息管理的復雜程度極度增加。
云計算的提出,為實現軍事信息大規模數據的動態存儲和處理提供了一種新的解決方案。但是,目前的云計算服務和平臺主要都是由大型的商業公司提供的,開源的項目和平臺還比較少,而這方面的相關研究也還比較缺乏。此外,目前針對大規模數據處理的平臺都是領域無關的通用平臺,因此,針對軍事應用領域或者某種特定的數據格式,可以進一步研究相應的優化方法,提高數據管理和利用的效率。
面向海量軍事信息的數據云管理系統要解決海量軍事數據云的分布式存儲、跨域透明訪問與并行處理問題。基于此,本文采用了云計算的基本思想和技術來探索解決海量軍事信息的管理難題。
如圖1所示,本系統主要由4個模塊組成:數據云存儲模塊、數據管理模塊、可編程API模塊、數據廣域網備份模塊[4—5]。

圖1 系統模塊之間的組織關系Fig.1 The structure relationship of system module
(1)數據云存儲模塊
該模塊是數據中心的核心,實現數據云集群構建,數據存儲的負載均衡、冗余復制,對衛星信息、雷達信息等各種軍事數據進行結構化存儲,并為管理模塊提供節點動態注冊的接口。
(2)數據管理模塊
該模塊是數據中心的高層管理平臺,實現對數據中心跨域的數據訪問,以及對數據中心的透明訪問、管理,實時監控數據中心狀態。數據管理模塊具體實現了對數據的可視化查詢、透明存儲數據、刪除集群上的已有數據,同時可以監控數據中心的狀態,如數據的剩余空間、集群節點狀態、數據的冗余程度、集群中數據的分布、當前訪問數據中心用戶狀態等信息。通過該模塊,用戶可以通過簡單的操作,管理、監視數據中心,對數據中心動態擴容[2]。
(3)可編程API模塊
該模塊向開發用戶提供了開放的API接口,這些接口的主要功能有數據查詢、數據存儲、冗余復制控制、map/reduce應用模型等編程接口,用戶可以通過調用這些開放的可編程接口進行二次開發。
(4)數據廣域網備份模塊
該模塊可以跨域地把一個集群節點的數據備份到其它節點上,當整個集群節點被破壞時,也可以由其它節點上備份的數據恢復該節點上的數據。
本系統主要由三大模塊組成,分別是數據存儲模塊、數據管理模塊和可編程API模塊,下面分別詳細介紹。
對海量軍事數據的存儲,采用google的GFS文件系統模型,分布式存儲數據,在開發過程中,通過對apache開源組織Hadoop[6]項目的補充、修改,實現對軍事數據的特殊支持。數據中心使用廉價的Linux PC機組成集群,在上面運行各種應用。即使是分布式開發的新手也可以迅速使用Hadoop的基礎設施。分布式文件系統,隱藏下層負載均衡、冗余復制等細節,對上層程序提供一個統一的文件系統API接口。可以根據自己的需求對它進行特別優化,如超大文件的訪問、讀操作比例遠超過寫操作、PC機極易發生故障造成節點失效等。
數據存儲模塊的結構如圖2所示,主要由一個主節點和多個資源服務器構成。

圖2 數據存儲模塊的結構圖Fig.2 The structure of data storage module
(1)一個主節點
主要用來管理主節點的元數據信息(比如目前運行的主節點的數目、負載情況等)、資源服務器的信息(比如運行是否正常等)和所有表的元數據信息(比如位置、表名、列名等),同時還管理數據的分配、資源服務器的負載和增減以及垃圾數據的收集工作以及表元數據信息的變化,并和超級管理器交互,協同管理整個系統的正常運行。
(2)多個資源服務器
資源服務器主要用來提供對該節點上數據的存取服務和管理,記錄節點上被分配的任務情況,并向主節點提供節點的狀態信息,如空余硬盤空間、內存使用情況等。
數據管理模塊實現了對數據的透明管理,用戶可以通過web界面輕松地管理云數據系統,其功能主要包括可視化查詢、存儲數據、刪除集群上的已有數據;同時可以監控數據中心的狀態,如數據的剩余空間、集群節點狀態、數據的冗余程度、集群中數據的分布、當前訪問數據中心用戶狀態等信息。通過該模塊,用戶可以通過簡單的操作管理、監視數據中心。
(1)數據查詢、存儲、刪除
根據用戶的需要可以對云數據系統中的數據進行條件查詢,并以表格的形式向用戶展示查詢的結果。通過web界面可以手動地向云數據管理中心加入任意數據,同時可以設置文件塊大小、冗余復制方案等。當用戶具有管理員權限的時候,就可以通過此管理界面刪除云數據中心中的數據。
(2)數據中心狀態監控
此管理系統可以實時地監控整個集群的整體狀態,如:集群節點組成、集群中各節點是否處于激活狀態等。同時,通過管理系統還可以獲得每個節點的具體物理資源信息,如CPU使用率、內存大小等,還可查看節點上存儲塊的信息等。以上狀態都可以通過圖形界面展現給用戶。
(3)冗余程度、數據均衡策略設置
冗余復制等級可以根據文件的要求,動態地設置冗余程度,系統默認的冗余是3,也就是說每個塊有3個備份塊,分別存放在其它節點上。數據均衡策略設置相對比較開放,系統只提供一種簡單的數據均衡模型,但用戶可以自己編寫數據均衡策略,然后通過管理軟件的管理界面向系統提交方案,系統就會根據方案進行均衡管理。
(4)數據節點動態注冊
當用戶希望加入新的節點時,可以把希望加入的機器的主機名、主機IP等信息輸入管理系統,系統會根據用戶提供的信息增加數據節點,并注冊到主節點,實現數據節點的動態注冊。新的數據節點加入系統后,系統會根據用戶設定數據均衡策略進行數據均衡處理。
面向海量軍事信息的數據云管理系統提供可編程API的目的就是減小用戶并行編程的困難,不必了解并行編程的內容,就可以對云存儲中的數據進行并行化處理。
在系統底層采用MapReduce[7]分布式并行計算模型。MapReduce分布式計算模型能夠很好地利用集群和多核的特點,方便地在普通計算機構成的集群中執行并行計算,同時也簡化了并行計算模型,降低了并行程序設計的復雜度。本系統主要是利用了Apache的開源項目Hadoop提供的MapReduce支持,在其上執行并行計算、任務調度、負載平衡等工作。同時,系統提供了一個作業隊列和一個優化的作業調度程序,包括數據的拷貝與傳輸、緩存中間結果、最小化平均響應時間等。
(1)采用開源的Apache項目Hadoop作為執行平臺,提供MapReduce分布式并行計算支持,能夠方便地部署在大規模的普通計算機構建的集群上,Hadoop本身提供了負載均衡以及容錯機制,降低了系統復雜度。
(2)系統保存一個等待執行的作業隊列,作業之間的調度采用最小響應時間策略。
(3)區分對待信息。對于可靠的、經常使用的數據信息,將在大多數節點上保存該數據的拷貝,對于作業執行計劃之間的數據沖突,采用了優化的數據復制和傳輸算法。
在MapReduce基礎之上提供一些并行數據處理編程接口(API),其特點是通過使用簡單的可用接口,能對復雜的數據處理流程進行操作,并對底層分布式處理細節,對并行化的計算和處理進行封裝,簡化用戶的編程行為。圖3說明了這一技術的具體實施。

圖3 采用Map Reduce的分布式計算模型Fig.3 The distributed module using Map Reduce
云計算本來是一種民用商業計算模型,屬于分布式計算技術。云計算模型多種多樣,功能也各不相同,但基本思想是一致的。鑒于云計算在軍事應用方面的欠缺,本文采用了這種理念和思想,又針對軍事信息數據的特定需求和特點,提出了一種數據云管理系統。和通用的云計算平臺不同,本系統功能性較強,不關注通用性而只針對軍事海量信息的存儲和處理。試驗結果表明,云計算模型非常有助于解決大量軍事數據的處理。本文對民用技術在軍事上的應用進行了有益的探索和實踐,兩者的有機融合將會對我國信息技術的發展帶來更大的益處。
但是,由于軍事信息數據的實時性,以及戰場環境的復雜性,導致對系統的性能需求也差別很大。鑒于定量指標的不確定性,對于云計算技術能否滿足需求還有待后續的研究來證明。
[1]劉越.云計算技術與應用[M].北京:工業和信息化部電信研究院通信信息研究所,2009:3-10.LIU Yue.Cloud computing technology and application[M].Beijing:Teleinfo Institute of China Academy of Telecommunication Research of MIIT,2009:3-10.(in Chinese)
[2]Zhang H,Goel A,Govindan R.Using the small world model to improve freenet performance[C]//Proceedings of the 21st IEEE.New York:IEEE,2002:555-574.
[3]Bak P.How Nature Works:The Science of Self-Organized Criticality[M].New York:Copernicus Inc.,1996.
[4]趙曉哲,郭銳.軍事系統研究的綜合集成方法[J].系統工程理論與實踐,2004(10):127-130.ZHAO Xiao-zhe,GUO Rui.The integration method of Military system research[J].System Engineering Theory and Practice,2004(10):127-130.(in Chinese)
[5]韓家煒.數據挖掘:概念與技術[M].北京:機械工業出版社,2007.HAN Jia-wei.Data Mining:Concept and technology[M].Beijing:China Machine Press,2007.(in Chinese)
[6]Chuck Lam.Hadoop In Action[M].American:Manning Publications,2010.
[7]王晉川,何宏,張福臨.MapReduce框架與調度容錯機制研究[J].中國儲運,2010(12):90-91.WANG Jin-chuan,HE Hong,ZHANG Fu-lin.MapReduce frame and schedule fault-tolerant research[J].China Storage&Transport,2010(12):90-91.(in Chinese)