高健,楊富學(xué),汪保龍
(北京電子工程總體研究所,北京 100854)
武器系統(tǒng)是指在軍事作戰(zhàn)中由火力殺傷裝備和輔助應(yīng)用裝備構(gòu)成的綜合系統(tǒng),用于打擊來自地面、空中、水下等區(qū)域的目標(biāo)[1]。在防空領(lǐng)域,武器系統(tǒng)包括探測(cè)裝備、指揮裝備、火力裝備、通信裝備、保障裝備等。武器系統(tǒng)在作戰(zhàn)過程中往往需要完成一系列過程,包括目標(biāo)搜索、目標(biāo)跟蹤、目標(biāo)識(shí)別、威脅評(píng)估、火力分配、火力打擊、效果評(píng)估等,復(fù)雜的過程鏈條能夠產(chǎn)生大量的數(shù)據(jù),服務(wù)于武器系統(tǒng)作戰(zhàn)能力。
武器系統(tǒng)數(shù)據(jù)特點(diǎn)是多源、海量、異構(gòu)。首先,武器系統(tǒng)首先需要裝訂大量的數(shù)據(jù),這些數(shù)據(jù)一是需要帶動(dòng)內(nèi)部及上下級(jí)各類裝備,二是作為參數(shù)帶動(dòng)作戰(zhàn)過程中模型運(yùn)轉(zhuǎn)[3];其次,武器系統(tǒng)在作戰(zhàn)過程中產(chǎn)生大量實(shí)時(shí)數(shù)據(jù),如雷達(dá)扇區(qū)、目標(biāo)信息、作戰(zhàn)指令等,支撐系統(tǒng)的高效運(yùn)轉(zhuǎn);再者,大量的通信數(shù)據(jù)、作戰(zhàn)數(shù)據(jù)需要被記錄下來,以分析武器系統(tǒng)內(nèi)各裝備的運(yùn)行狀態(tài)[2]。特別是在現(xiàn)代體系化、網(wǎng)絡(luò)化作戰(zhàn)中,數(shù)據(jù)呈現(xiàn)出指數(shù)級(jí)增長(zhǎng)的趨勢(shì)。
傳統(tǒng)的武器系統(tǒng)在數(shù)據(jù)管理方面相對(duì)較弱,設(shè)計(jì)師缺少數(shù)據(jù)分類管理的理念,缺少可視化、集中化、服務(wù)化的數(shù)據(jù)管理思想。如對(duì)于需要事先裝訂的作戰(zhàn)參數(shù)數(shù)據(jù),多使用配置文件的形式,越復(fù)雜的武器系統(tǒng),配置文件數(shù)量就越龐大,準(zhǔn)備工作也越復(fù)雜。對(duì)于實(shí)時(shí)動(dòng)態(tài)類數(shù)據(jù),則是放在內(nèi)存中存儲(chǔ),流轉(zhuǎn)于內(nèi)部軟件之間,與軟件擁有相同的生命周期。對(duì)于事后分析類數(shù)據(jù),往往是使用工具現(xiàn)用現(xiàn)解析,這種即用即解的模式無(wú)法做到數(shù)據(jù)的持續(xù)積累以及深層次的大數(shù)據(jù)服務(wù)。
因此,面對(duì)日益增加的武器系統(tǒng)數(shù)據(jù),需要有體系化、分層次的數(shù)據(jù)管理思想,對(duì)武器系統(tǒng)內(nèi)各類數(shù)據(jù)進(jìn)行數(shù)據(jù)差異化分類,并配以不同的數(shù)據(jù)管理方法和技術(shù)。這樣做的好處有:一是可以為武器系統(tǒng)構(gòu)建統(tǒng)一的數(shù)據(jù)服務(wù)中心,并形成全時(shí)域的數(shù)據(jù)管理服務(wù),通過數(shù)據(jù)驅(qū)動(dòng)實(shí)現(xiàn)武器系統(tǒng)各裝備的高速運(yùn)轉(zhuǎn);二是可以簡(jiǎn)化武器系統(tǒng)的數(shù)據(jù)配置復(fù)雜度,降低武器系統(tǒng)的準(zhǔn)備時(shí)間,提升武器系統(tǒng)戰(zhàn)前快速響應(yīng)能力;三是可以形成數(shù)據(jù)積累,并以此實(shí)現(xiàn)武器系統(tǒng)的大數(shù)據(jù)管理與分析,精準(zhǔn)定位武器系統(tǒng)內(nèi)部存在的問題,進(jìn)一步優(yōu)化提升武器系統(tǒng)的作戰(zhàn)效能[4]。
武器系統(tǒng)可以按照不同的維度進(jìn)行數(shù)據(jù)分類,典型內(nèi)容如表1所示。
表1 武器系統(tǒng)數(shù)據(jù)分類表Table 1 Table of weapon system data clarification
冷、溫、熱3層體系的數(shù)據(jù)管理思想是根據(jù)武器系統(tǒng)內(nèi)數(shù)據(jù)的分類及特點(diǎn)、使用頻率和更新頻率,將數(shù)據(jù)管理分成冷數(shù)據(jù)、溫?cái)?shù)據(jù)、熱數(shù)據(jù)3種形態(tài)。熱數(shù)據(jù)是指武器系統(tǒng)內(nèi)數(shù)據(jù)使用頻率較高的數(shù)據(jù),要求數(shù)據(jù)讀寫具有較高的實(shí)時(shí)性,數(shù)據(jù)保鮮要求較高;冷數(shù)據(jù)是指使用頻率較低的數(shù)據(jù)[5],數(shù)據(jù)不需要具有較高的實(shí)時(shí)性,但數(shù)據(jù)積累會(huì)導(dǎo)致數(shù)據(jù)體量的龐大;溫?cái)?shù)據(jù)處于兩者之間,既不像熱數(shù)據(jù)一樣具有較高的訪問實(shí)時(shí)性需求,也沒有冷數(shù)據(jù)龐大的體量。因此,由于3類數(shù)據(jù)特點(diǎn)不同,需要采用不同的技術(shù)進(jìn)行元數(shù)據(jù)構(gòu)建、主數(shù)據(jù)的維護(hù)管理[6]。
數(shù)據(jù)分層管理思想首先需要約束數(shù)據(jù)分類條件,這里采用數(shù)據(jù)使用周期和數(shù)據(jù)更新周期2個(gè)指標(biāo)進(jìn)行數(shù)據(jù)分層,指標(biāo)區(qū)間劃分如下表2所示。
表2 數(shù)據(jù)層次區(qū)間劃分指標(biāo)Table 2 Indicators for data section stratified
(1) 數(shù)據(jù)使用周期
武器系統(tǒng)內(nèi)各類數(shù)據(jù)擁有不同的使用頻率,因此數(shù)據(jù)使用周期成為區(qū)分冷、溫、熱數(shù)據(jù)的關(guān)鍵指標(biāo)。
對(duì)于使用周期小于1 s的數(shù)據(jù)可以定義為熱數(shù)據(jù),以目標(biāo)數(shù)據(jù)為例,當(dāng)雷達(dá)搜索到某目標(biāo)后,目標(biāo)的數(shù)據(jù)從雷達(dá)送到指控系統(tǒng)、再到下級(jí)指控系統(tǒng),可能還需要送到友鄰部隊(duì),目標(biāo)數(shù)據(jù)在各裝備內(nèi)流轉(zhuǎn)時(shí)要經(jīng)過單一航跡計(jì)算、綜合航跡計(jì)算、目標(biāo)關(guān)聯(lián)、目標(biāo)融合、目標(biāo)識(shí)別、目標(biāo)下發(fā)等一系列復(fù)雜的過程,而這一系列過程需要在短短幾s之內(nèi)完成,因此數(shù)據(jù)具有很高的使用頻率,使用頻率基本在ms級(jí)或μs級(jí)。
對(duì)于使用周期在1 s~10 min的數(shù)據(jù)可以定義為溫?cái)?shù)據(jù),以武器系統(tǒng)內(nèi)各作戰(zhàn)單元的數(shù)據(jù)為例,作戰(zhàn)的過程中不需要對(duì)其進(jìn)行頻繁的使用,但是當(dāng)動(dòng)態(tài)接入外部作戰(zhàn)力量時(shí)需要及時(shí)將部隊(duì)和裝備信息進(jìn)行接入。
超過10 min使用周期的數(shù)據(jù)可稱為冷數(shù)據(jù),冷數(shù)據(jù)往往是歷史數(shù)據(jù),或者是半結(jié)構(gòu)化和非結(jié)構(gòu)化的語(yǔ)音、視頻等數(shù)據(jù),這些數(shù)據(jù)有可能超過一個(gè)月才使用一次,多用于事后分析。
(2) 數(shù)據(jù)更新周期
數(shù)據(jù)的更新周期是另外一項(xiàng)指標(biāo),數(shù)據(jù)更新的頻率是數(shù)據(jù)分層參考的關(guān)鍵因素。
數(shù)據(jù)更新小于10 s的數(shù)據(jù)可以定義為熱數(shù)據(jù),這與數(shù)據(jù)使用周期指標(biāo)類似,具有較高更新頻率的數(shù)據(jù)意味著其在武器系統(tǒng)內(nèi)需要被不斷的使用,以裝備狀態(tài)類為例,各類裝備狀態(tài)需要不斷地上報(bào)更新,以支持高一層級(jí)的指揮系統(tǒng)做出正確的作戰(zhàn)指令。
更新周期在10 s~1 h之間的數(shù)據(jù)可以定義為溫?cái)?shù)據(jù),這類數(shù)據(jù)一般來說沒有實(shí)時(shí)更新需求,但是在一次作戰(zhàn)任務(wù)中仍然可能需要去調(diào)整更新,如果當(dāng)識(shí)別地方進(jìn)攻戰(zhàn)術(shù)意圖后,需要調(diào)整各級(jí)作戰(zhàn)單位的陣地部署位置、雷達(dá)責(zé)任扇區(qū)方向等,這些數(shù)據(jù)需要在武器系統(tǒng)內(nèi)動(dòng)態(tài)更新。
更新周期超過1 h的數(shù)據(jù)可以定義為冷數(shù)據(jù),冷數(shù)據(jù)一旦持久化后多用于加工和分析,一般不會(huì)再被頻繁更新。
(3) 數(shù)據(jù)讀寫速率要求
數(shù)據(jù)讀寫速率要求往往是伴隨前2類指標(biāo)的,同時(shí)是區(qū)分?jǐn)?shù)據(jù)層次的重要因素,對(duì)于熱數(shù)據(jù)來說,數(shù)據(jù)的讀寫速率要求在ms級(jí),高速率的讀寫能力才能支撐武器系統(tǒng)運(yùn)轉(zhuǎn)的高實(shí)時(shí)性。對(duì)于溫?cái)?shù)據(jù)來說,讀寫速率要求s級(jí),不能有明顯的數(shù)據(jù)讀寫延遲。對(duì)于冷數(shù)據(jù),10 s以上的讀寫速率也能滿足需求。
依照以上3個(gè)指標(biāo),基本可以將武器系統(tǒng)內(nèi)各類數(shù)據(jù)進(jìn)行層次化分類,如表3所示。
表3 各類數(shù)據(jù)層次化分類Table 3 Hierarchical classification of various types of data
冷、溫、熱的數(shù)據(jù)體系思想將數(shù)據(jù)進(jìn)行了層次化分類,但是各類數(shù)據(jù)之間并不是割裂的、也不是一成不變的,3類數(shù)據(jù)組成了動(dòng)態(tài)的有機(jī)整體,互相支撐、互相轉(zhuǎn)化,整個(gè)體系是隨著武器系統(tǒng)運(yùn)轉(zhuǎn)而動(dòng)態(tài)運(yùn)轉(zhuǎn)的。數(shù)據(jù)體系的運(yùn)轉(zhuǎn)關(guān)系如圖1所示。
圖1 數(shù)據(jù)動(dòng)態(tài)運(yùn)轉(zhuǎn)體系Fig.1 Data dynamic operation system
熱數(shù)據(jù)和溫?cái)?shù)據(jù)之間存在著相互作用關(guān)系,溫?cái)?shù)據(jù)為熱數(shù)據(jù)提供數(shù)據(jù)的初始化數(shù)值支撐,熱數(shù)據(jù)則為溫?cái)?shù)據(jù)提供最新的數(shù)據(jù)更新。熱數(shù)據(jù)與冷數(shù)據(jù)存在著互相轉(zhuǎn)化關(guān)系,熱數(shù)據(jù)可以冷卻成冷數(shù)據(jù),即熱數(shù)據(jù)在不斷的更新過程中將歷史數(shù)據(jù)進(jìn)行數(shù)據(jù)歸檔,形成歷史的冷數(shù)據(jù),同時(shí)冷數(shù)據(jù)可以反饋優(yōu)化熱數(shù)據(jù)的結(jié)構(gòu)設(shè)計(jì)。溫?cái)?shù)據(jù)和冷數(shù)據(jù)之間存在著相互轉(zhuǎn)化關(guān)系,在武器系統(tǒng)持續(xù)的使用過程中,溫?cái)?shù)據(jù)可以歸檔到冷數(shù)據(jù)范疇,同時(shí)冷數(shù)據(jù)的加工分析可以優(yōu)化溫?cái)?shù)據(jù)的結(jié)構(gòu)設(shè)計(jì)。
數(shù)據(jù)體系的動(dòng)態(tài)運(yùn)轉(zhuǎn)能力強(qiáng)化了武器系統(tǒng)的數(shù)據(jù)生產(chǎn)力和生命力,三類數(shù)據(jù)為武器系統(tǒng)提供著不同的作用域。熱數(shù)據(jù)內(nèi)各類數(shù)據(jù)的使用可以加速武器系統(tǒng)的體系運(yùn)轉(zhuǎn)能力,熱數(shù)據(jù)的設(shè)計(jì)和使用性能決定著武器系統(tǒng)的各項(xiàng)能力和性能,如對(duì)空中目標(biāo)數(shù)據(jù)的讀取和解析速率影響武器系統(tǒng)對(duì)空中目標(biāo)的探測(cè)和打擊能力;溫?cái)?shù)據(jù)內(nèi)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)可以優(yōu)化武器系統(tǒng)的設(shè)計(jì),這里主要指武器系統(tǒng)內(nèi)軟件的設(shè)計(jì),通過軟件的優(yōu)化設(shè)計(jì)優(yōu)化武器系統(tǒng)能力。冷數(shù)據(jù)的分析和挖掘可以改進(jìn)系統(tǒng)能力,如提升武器系統(tǒng)的單裝作戰(zhàn)邊界、評(píng)估武器系統(tǒng)的作戰(zhàn)戰(zhàn)術(shù)戰(zhàn)法缺陷等。
基于現(xiàn)代部隊(duì)的作戰(zhàn)需求,武器系統(tǒng)往往具備較高的時(shí)效性要求,熱數(shù)據(jù)作為武器系統(tǒng)內(nèi)高速流轉(zhuǎn)的數(shù)據(jù),具有處理頻率高、更新頻率高、使用頻率高、數(shù)據(jù)量小等特點(diǎn)。一般來說,武器系統(tǒng)不會(huì)對(duì)熱數(shù)據(jù)做大量的存儲(chǔ),而是對(duì)其及時(shí)處理,數(shù)據(jù)使用完迅速歸檔或釋放,或立刻被下一幀的數(shù)據(jù)替換掉。熱數(shù)據(jù)在使用處理后會(huì)分發(fā)給內(nèi)部各系統(tǒng)和外部系統(tǒng),如目標(biāo)信息類、指令類、狀態(tài)類數(shù)據(jù)都具備這樣的特點(diǎn)。
傳統(tǒng)的武器系統(tǒng)沒有對(duì)各類數(shù)據(jù)進(jìn)行分層歸類和管理,因此對(duì)熱數(shù)據(jù)沒有一套系統(tǒng)的管理機(jī)制,傳統(tǒng)武器系統(tǒng)中熱數(shù)據(jù)管理一般是在軟件中定義數(shù)據(jù)結(jié)構(gòu)體,并在內(nèi)存中進(jìn)行數(shù)據(jù)的動(dòng)態(tài)維護(hù)和使用。這種方式有2個(gè)缺點(diǎn):一是數(shù)據(jù)無(wú)法可視化,傳統(tǒng)軟件的熱數(shù)據(jù)維護(hù)在本機(jī)內(nèi)存中,只能在研發(fā)調(diào)試時(shí)查看數(shù)據(jù)的狀態(tài),或者通過日志的方式對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄,但是這種方式影響軟件運(yùn)行性能;二是數(shù)據(jù)的安全性不高,數(shù)據(jù)依賴軟件載體的生命周期,一旦軟件崩潰,數(shù)據(jù)隨著內(nèi)存的釋放而釋放。
因此在本文研究的熱數(shù)據(jù)管理設(shè)計(jì)方案中,通過分布式內(nèi)存數(shù)據(jù)庫(kù)的方式可以實(shí)現(xiàn)以上幾個(gè)要求,使用內(nèi)存數(shù)據(jù)庫(kù)Redis實(shí)現(xiàn)武器系統(tǒng)的熱數(shù)據(jù)管理。Redis是一個(gè)高性能的Nosql數(shù)據(jù)庫(kù),數(shù)據(jù)存儲(chǔ)方式是Key-Value,并支持多種類型的value數(shù)據(jù)存儲(chǔ)[7]。Redis支持分布式、主從等多種部署配置,并依賴于集群的內(nèi)存容量可以實(shí)現(xiàn)海量數(shù)據(jù)的橫向擴(kuò)展,數(shù)據(jù)存儲(chǔ)在內(nèi)存中,可以支持高速的數(shù)據(jù)讀寫能力[8]。
由于Redis的數(shù)據(jù)存儲(chǔ)格式是Key-Value,因此需要對(duì)武器系統(tǒng)數(shù)據(jù)進(jìn)行哈希結(jié)構(gòu)設(shè)計(jì)。武器系統(tǒng)在作戰(zhàn)準(zhǔn)備之前需要進(jìn)行系統(tǒng)校時(shí),國(guó)內(nèi)現(xiàn)在多使用北斗衛(wèi)星實(shí)現(xiàn)時(shí)統(tǒng),武器系統(tǒng)內(nèi)熱數(shù)據(jù)的產(chǎn)生和傳輸都需要打一個(gè)或多個(gè)時(shí)間戳(天文時(shí)間、作戰(zhàn)時(shí)間等),因此熱數(shù)據(jù)往往都是時(shí)序性數(shù)據(jù)。對(duì)于熱數(shù)據(jù)的設(shè)計(jì),Key值設(shè)計(jì)為數(shù)據(jù)類型+時(shí)間戳+其他關(guān)鍵元素,Value設(shè)計(jì)成為Json格式的數(shù)據(jù)結(jié)構(gòu)體,可以實(shí)現(xiàn)熱數(shù)據(jù)的內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)。也可以將數(shù)據(jù)設(shè)計(jì)成雙層嵌套鍵值對(duì),即將數(shù)據(jù)類型設(shè)計(jì)成Key值,將Value設(shè)計(jì)成鍵值對(duì),將時(shí)間戳和其他關(guān)鍵元素放在里面,這2種結(jié)構(gòu)設(shè)計(jì)適用于絕大多數(shù)的武器系統(tǒng)熱數(shù)據(jù)。以目標(biāo)航跡數(shù)據(jù)為例,其數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)如表4所示。
表4 熱數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)Table 4 Storage structure design of hot data
而關(guān)于使用哪種內(nèi)存數(shù)據(jù)庫(kù)部署方式,則需要針對(duì)不同層級(jí)的武器系統(tǒng)進(jìn)行不同的設(shè)計(jì)。對(duì)于武器系統(tǒng)戰(zhàn)術(shù)級(jí)以下的數(shù)據(jù)管理,軟件的運(yùn)行多搭載于機(jī)動(dòng)裝備上,單裝機(jī)動(dòng)裝備上的席位不多,同時(shí)數(shù)據(jù)量也沒有那么大,可以考慮使用主從方式實(shí)現(xiàn)數(shù)據(jù)庫(kù)部署。而對(duì)于高級(jí)指揮系統(tǒng)的數(shù)據(jù)管理,多部署在指揮所或條件較好的機(jī)動(dòng)裝備上,該種情況下裝備席位較多、熱數(shù)據(jù)管理量較大,可以考慮使用分布式集群部署方式擴(kuò)大存儲(chǔ)容量,如圖2所示。
圖2 Redis部署方式圖Fig.2 Redis deployment diagram
一般來說,武器系統(tǒng)的溫?cái)?shù)據(jù)多用于戰(zhàn)前準(zhǔn)備,溫?cái)?shù)據(jù)一旦裝訂完畢后,基本是處在穩(wěn)態(tài),只有少量會(huì)在戰(zhàn)中進(jìn)行更新。傳統(tǒng)的溫?cái)?shù)據(jù)管理一般使用配置文件,這種管理方式的缺點(diǎn)在于配置極其繁瑣,準(zhǔn)備時(shí)間較長(zhǎng),特別是還需要對(duì)不同席位不同軟件分別維護(hù)修改,這對(duì)操作員的要求較高,不利于武器系統(tǒng)的快速學(xué)習(xí)熟練掌握。
這里設(shè)計(jì)使用關(guān)系型數(shù)據(jù)庫(kù)對(duì)溫?cái)?shù)據(jù)進(jìn)行存儲(chǔ)管理,適用于實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng)。關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)包括元數(shù)據(jù)設(shè)計(jì)、編碼設(shè)計(jì)、主數(shù)據(jù)設(shè)計(jì)等方面。系統(tǒng)參數(shù)類數(shù)據(jù)是需要?jiǎng)討B(tài)維護(hù)的,內(nèi)部具有較高關(guān)聯(lián)性,需要通過武器裝備等主表進(jìn)行串聯(lián);通信參數(shù)類數(shù)據(jù)一般依賴于武器系統(tǒng)內(nèi)部硬件裝備和軟件,因此需要內(nèi)部各分系統(tǒng)進(jìn)行串聯(lián)管理;模型參數(shù)類數(shù)據(jù)主要依賴于武器系統(tǒng)內(nèi)部功能和能力,依賴于武器系統(tǒng)模型設(shè)計(jì),一般裝訂后不會(huì)修改;基礎(chǔ)參數(shù)類主要是各類基礎(chǔ)數(shù)據(jù)字典,裝訂成為字典表后也不會(huì)頻繁修改。
以某型武器裝備為例,其溫?cái)?shù)據(jù)的管理包括若干數(shù)據(jù)表,如表5所示,敵方武器履歷參數(shù)數(shù)據(jù)如圖3 所示。
圖3 溫?cái)?shù)據(jù)的自輪詢監(jiān)控機(jī)制Fig.3 Self-polling monitoring mechanism for warm data
表5 某型武器裝備溫?cái)?shù)據(jù)Table 5 Warm data storage of a certain type of weapon
在作戰(zhàn)過程中,溫?cái)?shù)據(jù)也需要根據(jù)作戰(zhàn)任務(wù)進(jìn)行動(dòng)態(tài)維護(hù)更改。如根據(jù)作戰(zhàn)需要,需要組織下級(jí)若干部隊(duì)進(jìn)行組網(wǎng)作戰(zhàn),在作戰(zhàn)過程中需要?jiǎng)討B(tài)對(duì)不同作戰(zhàn)單位進(jìn)行編組接入,作戰(zhàn)單位的接入需要具有實(shí)時(shí)性,且在不改變武器系統(tǒng)軟件狀態(tài)的前提下實(shí)時(shí)推送通知給所有分系統(tǒng)和外部系統(tǒng),因此需要一種機(jī)制對(duì)溫?cái)?shù)據(jù)進(jìn)行變化的實(shí)時(shí)推送通知。這里設(shè)計(jì)了一種自輪詢的機(jī)制實(shí)現(xiàn)對(duì)溫?cái)?shù)據(jù)的實(shí)時(shí)推送,如圖4所示。
設(shè)計(jì)一個(gè)數(shù)據(jù)監(jiān)聽表,表中存儲(chǔ)所有溫?cái)?shù)據(jù)表的名稱和上次更新的時(shí)間戳。對(duì)溫?cái)?shù)據(jù)中所有表設(shè)置觸發(fā)器,對(duì)表數(shù)據(jù)操作進(jìn)行實(shí)時(shí)監(jiān)聽,當(dāng)數(shù)據(jù)管理軟件對(duì)溫?cái)?shù)據(jù)進(jìn)行增、改、刪的操作后,觸發(fā)器觸發(fā)監(jiān)聽操作,修改數(shù)據(jù)監(jiān)聽表中的時(shí)間戳。當(dāng)某一表的時(shí)戳出現(xiàn)數(shù)值變化時(shí),數(shù)據(jù)代理軟件查詢相關(guān)數(shù)據(jù)表數(shù)據(jù),并通過消息中間件服務(wù)發(fā)布出去。
對(duì)于功能越復(fù)雜的武器系統(tǒng),內(nèi)部交互的協(xié)議越多,各分系統(tǒng)之間定義的協(xié)議類型往往達(dá)到上百個(gè)甚至更多,某些數(shù)據(jù)產(chǎn)生的頻率很高,往往可以達(dá)到ms級(jí),因此會(huì)產(chǎn)生龐大的數(shù)據(jù)量。由于對(duì)數(shù)據(jù)價(jià)值的認(rèn)識(shí)度不夠,傳統(tǒng)的大多數(shù)武器系統(tǒng)并不注重對(duì)此類數(shù)據(jù)的收集和分析。
當(dāng)前,有一部分武器系統(tǒng)開始注重對(duì)冷數(shù)據(jù)的分析,絕大多數(shù)采用的方式是文件系統(tǒng)管理,即當(dāng)需要采集哪類數(shù)據(jù)時(shí),對(duì)固定的數(shù)據(jù)協(xié)議進(jìn)行攔截,以表格文件的形式保存在本地,進(jìn)而查閱數(shù)據(jù)。這種方式的缺點(diǎn)有三:一是數(shù)據(jù)沒有唯一管理節(jié)點(diǎn)和出口,數(shù)據(jù)管理非常離散,數(shù)據(jù)容易丟失;二是各類協(xié)議數(shù)據(jù)獨(dú)立存在,難以進(jìn)行跨協(xié)議的數(shù)據(jù)分析,不適合進(jìn)行大規(guī)模的跨域大數(shù)據(jù)分析;三是各類武器系統(tǒng)設(shè)計(jì)師只能各自為戰(zhàn),無(wú)法進(jìn)行協(xié)同的在線數(shù)據(jù)分析。種種缺點(diǎn)制約了武器系統(tǒng)對(duì)于數(shù)據(jù)價(jià)值的使用,亟需新的解決方案對(duì)冷數(shù)據(jù)進(jìn)行高效管理。
針對(duì)于冷數(shù)據(jù)的管理,需要考慮2個(gè)方面:一是要考慮冷數(shù)據(jù)本身數(shù)據(jù)量大、實(shí)時(shí)性低的特點(diǎn);二是要考慮冷數(shù)據(jù)與熱數(shù)據(jù)之間數(shù)據(jù)轉(zhuǎn)換的需求。因此考慮使用列式數(shù)據(jù)的存儲(chǔ)方式對(duì)冷數(shù)據(jù)進(jìn)行管理,關(guān)系型數(shù)據(jù)庫(kù)由于單表容量限制,對(duì)于大規(guī)模數(shù)據(jù)的管理需要進(jìn)行分表操作,管理不便。在冷數(shù)據(jù)存儲(chǔ)的設(shè)計(jì)上,根據(jù)數(shù)據(jù)協(xié)議類型進(jìn)行分表,每一張表存儲(chǔ)一種協(xié)議數(shù)據(jù),并設(shè)計(jì)冷數(shù)據(jù)映射表實(shí)現(xiàn)數(shù)據(jù)調(diào)用的映射。行表和列表的設(shè)計(jì)如表6和表7所示。
表6 冷數(shù)據(jù)表的映射表Table 6 Mapping table of cold data table
表7 冷數(shù)據(jù)列式存儲(chǔ)表Table 7 Cold data line type storage
本文設(shè)計(jì)使用HBase分布式列式數(shù)據(jù)庫(kù)解決海量冷數(shù)據(jù)的存儲(chǔ)管理問題,HBase是使用Key-Value模式的分布式數(shù)據(jù)庫(kù)[9-10],可以使負(fù)載均衡的分布在若干個(gè)節(jié)點(diǎn)上,數(shù)據(jù)的存儲(chǔ)和查詢效率很高,海量實(shí)時(shí)數(shù)據(jù)和非實(shí)時(shí)數(shù)據(jù)可以持續(xù)性進(jìn)行注入,數(shù)據(jù)可以保存每一個(gè)區(qū)間節(jié)點(diǎn)上。HBase存儲(chǔ)數(shù)據(jù)原理如圖4所示。
圖4 基于HBase列數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)設(shè)計(jì)Fig.4 Data storage design based on HBase
在列式數(shù)據(jù)庫(kù)的設(shè)計(jì)中,采用協(xié)議分區(qū)的機(jī)制實(shí)現(xiàn)對(duì)不同數(shù)據(jù)協(xié)議的分區(qū)管理,如圖5所示,當(dāng)前HBase中存儲(chǔ)了200多種協(xié)議數(shù)據(jù),每種數(shù)據(jù)獨(dú)自使用一個(gè)分區(qū),通過開始鍵值和結(jié)束鍵值實(shí)現(xiàn)協(xié)議的分區(qū)管理。
圖5 HBase列數(shù)據(jù)庫(kù)存儲(chǔ)歷史內(nèi)部協(xié)議數(shù)據(jù)Fig.5 Historical inner protocol data storage in HBase
圖6展示了武器系統(tǒng)數(shù)據(jù)管理平臺(tái)的總體設(shè)計(jì),實(shí)現(xiàn)對(duì)于冷、溫、熱數(shù)據(jù)的管理,數(shù)據(jù)管理平臺(tái)實(shí)現(xiàn)對(duì)3類數(shù)據(jù)庫(kù)的接入、3類數(shù)據(jù)的管理功能。
圖6 數(shù)據(jù)管理平臺(tái)總體設(shè)計(jì)Fig.6 Overall design of data management platform
武器系統(tǒng)數(shù)據(jù)管理平臺(tái)整體設(shè)計(jì)主要分為3個(gè)部分:數(shù)據(jù)管理平臺(tái)、數(shù)據(jù)庫(kù)、數(shù)據(jù)代理。武器系統(tǒng)數(shù)據(jù)管理平臺(tái)主要功能包括戰(zhàn)場(chǎng)態(tài)勢(shì)感知、基礎(chǔ)數(shù)據(jù)維護(hù)、模型參數(shù)管理、系統(tǒng)缺陷分析、作戰(zhàn)效能分析等上百項(xiàng)功能,其中不同的功能細(xì)分需要不同類型的數(shù)據(jù)做支撐[11]。如戰(zhàn)場(chǎng)態(tài)勢(shì)感知主要使用目標(biāo)航跡、戰(zhàn)場(chǎng)天氣環(huán)境等熱數(shù)據(jù);基礎(chǔ)數(shù)據(jù)維護(hù)、模型參數(shù)管理等功能主要使用溫?cái)?shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)維護(hù);系統(tǒng)缺陷分析、作戰(zhàn)效能分析主要使用冷數(shù)據(jù)進(jìn)行大規(guī)模的數(shù)據(jù)訓(xùn)練、挖掘和指標(biāo)檢驗(yàn)。熱數(shù)據(jù)通過內(nèi)存數(shù)據(jù)庫(kù)設(shè)計(jì)成主從模式,數(shù)據(jù)可以實(shí)現(xiàn)熱備份及快速的磁盤恢復(fù),針對(duì)機(jī)動(dòng)作戰(zhàn)席位設(shè)計(jì)成單節(jié)點(diǎn)模式,針對(duì)固定席位設(shè)計(jì)成分布式模式;溫?cái)?shù)據(jù)通過關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行構(gòu)建,通過建立數(shù)據(jù)索引實(shí)現(xiàn)數(shù)據(jù)庫(kù)快速查找。針對(duì)固定席位和機(jī)動(dòng)席位皆可設(shè)計(jì)成主備模式實(shí)現(xiàn)數(shù)據(jù)的高可靠性;冷數(shù)據(jù)通過多個(gè)節(jié)點(diǎn)構(gòu)建分布式列式數(shù)據(jù)庫(kù),也可以設(shè)計(jì)成行列混合存儲(chǔ)[12],實(shí)現(xiàn)PB量級(jí)以上的可擴(kuò)展能力[13],針對(duì)機(jī)動(dòng)席位可以考慮設(shè)計(jì)成單點(diǎn)模式,并定時(shí)將數(shù)據(jù)遷移到指揮所數(shù)據(jù)服務(wù)中心。
軟件平臺(tái)設(shè)計(jì)采用單頁(yè)面開發(fā)技術(shù),總體包括數(shù)據(jù)存儲(chǔ)層、后端服務(wù)層、數(shù)據(jù)傳輸層、數(shù)據(jù)展示層、可視化層。軟件平臺(tái)的架構(gòu)圖如圖7所示。
圖7 軟件平臺(tái)架構(gòu)設(shè)計(jì)Fig.7 Design of software platform structure
后端應(yīng)用服務(wù)通過SpringBoot框架進(jìn)行實(shí)現(xiàn),并通過Jedis,SpringBoot JPA,HBase Java Api分別實(shí)現(xiàn)與熱、溫、冷數(shù)據(jù)庫(kù)的交互。后端服務(wù)由上至下分為3層:控制層、服務(wù)層和持久化層。其中,控制層負(fù)責(zé)接收前端發(fā)送的指令并回復(fù)相應(yīng)的內(nèi)容,服務(wù)層負(fù)責(zé)處理內(nèi)部邏輯,持久化層負(fù)責(zé)對(duì)接數(shù)據(jù)庫(kù)的數(shù)據(jù)交互。
前端展示層主要使用VUE架構(gòu)進(jìn)行實(shí)現(xiàn),采用Element UI實(shí)現(xiàn)主要的樣式設(shè)計(jì),并基于Nodejs實(shí)現(xiàn)前端服務(wù)功能。前端和后端的通信方式主要包括兩種:Restful和Websocket。其中前端的所有對(duì)于溫?cái)?shù)據(jù)和冷數(shù)據(jù)的指令通過Rest協(xié)議實(shí)現(xiàn)下達(dá),并接收回復(fù)。后端熱數(shù)據(jù)通過WebSocket實(shí)現(xiàn)實(shí)時(shí)向各客戶端節(jié)點(diǎn)進(jìn)行推送。
圖8展示了基于層次化大數(shù)據(jù)管理體系的戰(zhàn)備值班軟件的設(shè)計(jì),下圖為基于B/S架構(gòu)的空情識(shí)別能力,目標(biāo)(我方、敵方、友鄰等)實(shí)時(shí)空情信息通過雷情網(wǎng)發(fā)到指控軟件系統(tǒng)中,目標(biāo)經(jīng)過降頻處理存儲(chǔ)在Redis內(nèi)存數(shù)據(jù)庫(kù)中,并每隔3 s實(shí)時(shí)將內(nèi)存數(shù)據(jù)庫(kù)中的數(shù)據(jù)推送給前端顯示,同時(shí)設(shè)定30 s的判丟周期,判丟后清除內(nèi)存數(shù)據(jù)庫(kù)數(shù)據(jù),航跡消失。敵方目標(biāo)飛入我方一等線內(nèi)實(shí)現(xiàn)報(bào)警功能,可從數(shù)據(jù)庫(kù)中動(dòng)態(tài)顯示目標(biāo)的相關(guān)信息。
圖8 基于層次化大數(shù)據(jù)管理體系的戰(zhàn)備值班軟件設(shè)計(jì)Fig.8 Combat readiness software design based on hierarchical data management system
圖9展示了基于層次化大數(shù)據(jù)管理體系的戰(zhàn)術(shù)級(jí)指控系統(tǒng)數(shù)據(jù)管理軟件的界面設(shè)計(jì),目前數(shù)據(jù)管理軟件設(shè)計(jì)了70余項(xiàng)功能,管理上萬(wàn)條地面武器和作戰(zhàn)相關(guān)數(shù)據(jù)。圖9截取了敵方武器履歷參數(shù)管理界面。
圖9 數(shù)據(jù)管理平臺(tái)敵方武器履歷界面Fig.9 Interface of enemy weapon resume in the data management platform
圖10展示了基于層次化大數(shù)據(jù)管理體系的武器系統(tǒng)戰(zhàn)果統(tǒng)計(jì)的界面設(shè)計(jì),大數(shù)據(jù)平臺(tái)實(shí)時(shí)接收、解析、存儲(chǔ)指控系統(tǒng)內(nèi)部協(xié)議,將戰(zhàn)中作戰(zhàn)數(shù)據(jù)實(shí)時(shí)記錄存儲(chǔ)在HBase分布式列式數(shù)據(jù)庫(kù)中,戰(zhàn)后將作戰(zhàn)過程中的數(shù)據(jù)解析分析,生成作戰(zhàn)戰(zhàn)果統(tǒng)計(jì),包括武器系統(tǒng)跟蹤目標(biāo)數(shù)、攔截目標(biāo)數(shù)、殺傷目標(biāo)數(shù)、綜合殺傷概率,也可以通過AR圖查看作戰(zhàn)過程中各火力單元的殺傷目標(biāo)情況等。
圖10 戰(zhàn)果統(tǒng)計(jì)分析Fig.10 Statistical analysis of combat results
本文提出的基于冷、溫、熱3層體系的武器系統(tǒng)數(shù)據(jù)管理方法,是根據(jù)數(shù)據(jù)的使用周期、更新周期、讀寫速率要求等指標(biāo),將武器系統(tǒng)內(nèi)的數(shù)據(jù)分成了冷數(shù)據(jù)、溫?cái)?shù)據(jù)、熱數(shù)據(jù)3個(gè)層次,形成立體的數(shù)據(jù)存儲(chǔ)和管理體系。對(duì)于熱數(shù)據(jù),使用分布式內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理,對(duì)于溫?cái)?shù)據(jù),使用關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理,對(duì)于冷數(shù)據(jù),使用分布式列數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)管理,3種數(shù)據(jù)存在著動(dòng)態(tài)轉(zhuǎn)化關(guān)系,形成統(tǒng)一整體的數(shù)據(jù)服務(wù),并基于此,設(shè)計(jì)研制了一套數(shù)據(jù)管理系統(tǒng)。
所提方法和所研系統(tǒng)與傳統(tǒng)方法相比取得了顯著的效果。與傳統(tǒng)的方式相比,該方法在數(shù)據(jù)的管理類型、數(shù)據(jù)服務(wù)能力、數(shù)據(jù)分析能力、數(shù)據(jù)安全性、以及其他武器系統(tǒng)性能方面得到了顯著的提升,該數(shù)據(jù)管理方法和數(shù)據(jù)管理系統(tǒng)可推廣至其他領(lǐng)域使用。