
本發(fā)明屬于計算機領域,具體涉及一種航空飛行數(shù)據(jù)系統(tǒng),尤其涉及一種多平臺航空電子大數(shù)據(jù)系統(tǒng);此外,本發(fā)明還涉及該多平臺航空電子大數(shù)據(jù)系統(tǒng)的實現(xiàn)方法。
背景技術:
:航空飛行運行是一項龐大的綜合系統(tǒng)。在飛行的全過程中,在各部門各崗位間,都有大量的、種類繁多的數(shù)據(jù)需要傳遞,比如機組信息、氣象狀況、航行信息、航線風險系數(shù)評估、艙單信息、起飛數(shù)據(jù)、特情預案等數(shù)據(jù)。由于受到技術和管理模式的限制,傳統(tǒng)的數(shù)據(jù)傳遞方式是通過電話、發(fā)放紙質(zhì)文檔、手冊等。這些傳統(tǒng)的保障方式存在諸多缺點,甚至成為限制民航業(yè)繼續(xù)發(fā)展的瓶頸。航空數(shù)據(jù)對每一次航班的安全起飛和經(jīng)濟效益有著極其重要的影響。而航空數(shù)據(jù)的特點是多源、復雜、大規(guī)模,現(xiàn)有的單一平臺的數(shù)據(jù)系統(tǒng)的應用有限,因此針對這些多源的大規(guī)模飛行數(shù)據(jù),亟需研發(fā)一種多平臺航空電子大數(shù)據(jù)系統(tǒng)。本發(fā)明是在現(xiàn)有的分布式框架和數(shù)據(jù)庫平臺的基礎上搭建而來,以下是現(xiàn)在常用的分布式框架和數(shù)據(jù)庫平臺。1.hadoophadoop是一個分布式系統(tǒng)基礎架構(gòu),由apache基金會開發(fā)。用戶可以在不了解分布式底層細節(jié)的情況下,利用它開發(fā)分布式程序。充分利用集群的威力高速運算和存儲。簡單地說來,hadoop是一個可以更容易開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺。該平臺使用的是面向?qū)ο缶幊陶Z言java實現(xiàn)的,具有良好的可移植性。hadoop的核心是hdfs和mapreduce。hdfs(hadoopdistributedfilesystem)是一種分布式文件系統(tǒng),隱藏下層負載均衡,冗余復制等細節(jié),對上層程序提供一個統(tǒng)一的文件系統(tǒng)api接口。hdfs針對海量數(shù)據(jù)特點做了特別優(yōu)化,包括:超大文件的訪問,讀操作比例遠超過寫操作,pc機極易發(fā)生故障造成節(jié)點失效等。hdfs把文件分成64mb的塊,分布在集群的機器上,使用linux的文件系統(tǒng)存放。同時每塊文件至少有3份以上的冗余。中心是一個namenode節(jié)點,根據(jù)文件索引,找尋文件塊。mapreduce是一套從海量數(shù)據(jù)提取分析元素最后返回結(jié)果集的編程模型,大多數(shù)分布式運算可以抽象為mapreduce操作。map是把輸入分解成中間的鍵值對,reduce根據(jù)鍵值,把map輸出的鍵值對進行合成整理,最終輸出結(jié)果。這兩個函數(shù)由程序員提供給系統(tǒng),下層設施把map和reduce操作分布在集群上運行,并把結(jié)果存儲在hdfs上。hadoop具有以下幾個優(yōu)點,使得用戶可以輕松地利用它來開發(fā)和運行處理海量數(shù)據(jù)的應用程序。高可靠性:hadoop能自動地維護數(shù)據(jù)的多份復制,并且在任務失敗后能自動地重新部署計算任務。高擴展性:hadoop是在可用的計算機集群間分配數(shù)據(jù)并完成計算任務的,這些集群可以方便地擴展到數(shù)以千計的節(jié)點中。因此,在不保證低延時的前提下,hadoop具有相當大的吞吐量,非常適合海量數(shù)據(jù)的運算。高效性:hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非常快。高容錯性:hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務重新分配。低成本:hadoop可以通過普通機器組成的服務器群來分發(fā)以及處理數(shù)據(jù),這些服務器群總計可達數(shù)千個節(jié)點,而且每個節(jié)點都是運行在開源操作系統(tǒng)linux上面的,因此硬件成本會大大降低。此外,與一體機、商用數(shù)據(jù)倉庫等相比,hadoop是開源的,軟件成本也會大大降低。2.hbasehbase是hadoopdatabase的簡稱,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),其主要功能是在hadoop的hdfs的基礎上用列存儲的方式存儲海量的結(jié)構(gòu)化數(shù)據(jù)。hbase中存儲的表主要有以下這些特點。大表:一個表可以有數(shù)十億行,上百萬列。無模式:每行都有一個可排序的主鍵和任意多的列,列可以根據(jù)需要動態(tài)的增加,同一張表中不同的行可以有截然不同的列。面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索。稀疏:對于空(null)的列,并不占用存儲空間,表可以設計的非常稀疏。數(shù)據(jù)多版本:每個單元中的數(shù)據(jù)可以有多個版本,默認情況下版本號自動分配,是單元格插入時的時間戳。數(shù)據(jù)類型單一:hbase中的數(shù)據(jù)都是字符串,沒有類型。hbase適用場景主要有:●存在高并發(fā)讀寫●表結(jié)構(gòu)的列族經(jīng)常需要調(diào)整●存儲結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)●高并發(fā)的key-value存儲●key隨機寫入,有序存儲●針對每個key保存一個固定大小的集合hbase也有一些缺點和不適用的場景:●由于只能提供行鎖,hbase對分布式事務支持不好●對于查詢中的join、groupby等操作,hbase的性能很差●查詢?nèi)绻皇褂胷ow-key查詢,性能會很差,因為此時會進行全表掃描,建立二級索引或多級索引需要同時維護一張索引表●對高并發(fā)的隨機讀支持有限。體系化對抗環(huán)境中,實時感知數(shù)據(jù)源的數(shù)據(jù)是一個關鍵性的問題,這些數(shù)據(jù)源通常來自多種傳感器,高效的管理數(shù)據(jù)源產(chǎn)生的異構(gòu)的數(shù)據(jù)成為這個問題的一個難點。本發(fā)明針對這些問題,對現(xiàn)有的分布式框架和相關的數(shù)據(jù)分析方法進行了一定的研究,嘗試找出處理和分析多源的大規(guī)模飛行數(shù)據(jù)的有效方法。目前,尚未見應用分布式框架和數(shù)據(jù)庫平臺的多平臺航空電子大數(shù)據(jù)系統(tǒng)的相關報道。技術實現(xiàn)要素:本發(fā)明要解決的技術問題在于提供一種多平臺航空電子大數(shù)據(jù)系統(tǒng),該系統(tǒng)處理和分析大規(guī)模飛行數(shù)據(jù),集成數(shù)據(jù)采集,數(shù)據(jù)分類管理,數(shù)據(jù)存儲和數(shù)據(jù)分析等功能,采集并分類管理多源異構(gòu)數(shù)據(jù),并將這些數(shù)據(jù)實時存儲到“資源云”平臺上,“資源云”平臺客戶端節(jié)點從云上實時獲取數(shù)據(jù),借助云平臺來保證數(shù)據(jù)的實時性。在數(shù)據(jù)實時性的基礎上,系統(tǒng)支持歷史數(shù)據(jù)的關聯(lián)模型建立,利用實時的數(shù)據(jù)和關聯(lián)模型完成實時預測,對飛行員的決策提供一定的指導。具體來說,該系統(tǒng)需要實現(xiàn)以下功能:飛行數(shù)據(jù)采集、飛行數(shù)據(jù)實時共享、飛行數(shù)據(jù)關聯(lián)分析和實時輔助決策。為此,本發(fā)明還提供一種該多平臺航空電子大數(shù)據(jù)系統(tǒng)的實現(xiàn)方法。為解決上述技術問題,本發(fā)明提供一種多平臺航空電子大數(shù)據(jù)系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)關聯(lián)分析模塊和數(shù)據(jù)關聯(lián)分析應用模塊;數(shù)據(jù)采集模塊從數(shù)據(jù)源1中獲取pcap數(shù)據(jù)包文件,經(jīng)采集分類之后到數(shù)據(jù)存儲模塊中,完成數(shù)據(jù)存儲的過程;數(shù)據(jù)關聯(lián)分析模塊從數(shù)據(jù)源2中獲取訓練數(shù)據(jù),完成數(shù)據(jù)關聯(lián)模型建立,將模型提供給數(shù)據(jù)關聯(lián)分析應用模塊使用,完成實時預測,并將結(jié)果顯示在屏幕上,數(shù)據(jù)關聯(lián)分析應用模塊利用數(shù)據(jù)存儲模塊實現(xiàn)的云存儲功能完成實時存儲的功能。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)采集模塊包括輸入文件夾路徑單元、輸出文件夾路徑單元和數(shù)據(jù)塊選擇單元;所述輸入文件夾路徑單元和所述輸出文件夾路徑單元用于讀取用戶選擇的輸入和輸出的文件夾路徑,所述數(shù)據(jù)塊選擇單元用于讀取用戶選擇的數(shù)據(jù)塊類型,所述數(shù)據(jù)采集模塊根據(jù)以上單元讀取的內(nèi)容來進行數(shù)據(jù)采集;所述數(shù)據(jù)采集模塊使用libpcap包從網(wǎng)絡抓取的pcap包中獲取關鍵的時間信息字段,包的源ip,目標ip信息和存儲信息的數(shù)據(jù)字段,分別為time字段,sourceip字段,destip字段和data字段,使用destip和sourceip結(jié)合模擬場景中的數(shù)據(jù)發(fā)送信息,初步確定出包信息數(shù)據(jù)塊;區(qū)分不同的數(shù)據(jù)塊,按照不同的格式解析,得到獨立的數(shù)據(jù)塊數(shù)據(jù)結(jié)構(gòu),將數(shù)據(jù)結(jié)構(gòu)以文本的形式寫回硬盤,供下一階段使用。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)存儲模塊包括讀取文件路徑單元和演示控制單元;所述讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑;所述演示控制單元用于演示數(shù)據(jù)的存儲情況,它周期性地讀取存儲記錄并顯示到面板上;所述數(shù)據(jù)存儲模塊采用hadoop分布式存儲平臺及hbase分布式數(shù)據(jù)庫,從多架飛機實時獲取數(shù)據(jù),然后通過云存儲方式再存儲到多架飛機上,并實時獲取并共享多架飛機的數(shù)據(jù)。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)關聯(lián)分析模塊包括訓練數(shù)據(jù)路徑單元、訓練參數(shù)選擇單元和數(shù)據(jù)分割方式選擇單元;所述訓練數(shù)據(jù)路徑單元用于讀取用戶選擇的訓練數(shù)據(jù)存放路徑,所述訓練參數(shù)選擇單元用于讀取用戶選擇的各個訓練參數(shù)值,所述數(shù)據(jù)分割方式選擇單元用于讀取用戶選擇的數(shù)據(jù)分割方式,所述數(shù)據(jù)關聯(lián)分析模塊根據(jù)上述單元讀取的內(nèi)容來進行模型的建立和訓練;所述數(shù)據(jù)關聯(lián)分析模塊采用svm分類器,對應代碼的svm包,通過svm的方法,對已有的數(shù)據(jù)和分析結(jié)果進行分類,其核心模塊是數(shù)據(jù)拆分程序和調(diào)用的libsvm分類器包,拆分程序?qū)?shù)據(jù)源結(jié)果為0的記錄拆分成n份,n由用戶輸入,分別和結(jié)果為1的記錄組成n個訓練數(shù)據(jù)集,用libsvm訓練后輸出n個模型,預測時使用n個模型結(jié)果進行預測結(jié)果進行與/或操作輸出預測結(jié)果;所述數(shù)據(jù)關聯(lián)分析模塊中數(shù)據(jù)關聯(lián)模型建立通過用戶指定輸入?yún)?shù)完成。所述svm分類器優(yōu)選為使用rbf核的非線性svm分類器;所述svm分類器優(yōu)選為二分割分類器。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)關聯(lián)分析應用模塊包括模型路徑選擇單元、讀取文件路徑單元和演示控制單元;所述模型路徑選擇單元用于讀取用戶選擇的訓練模型存放路徑,所述讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,所述演示控制單元利用讀取的模型對數(shù)據(jù)進行分析,將預測結(jié)果顯示到面板上。此外,本發(fā)明還提供一種上述系統(tǒng)的實現(xiàn)方法,包括數(shù)據(jù)采集模塊的數(shù)據(jù)采集實現(xiàn)、數(shù)據(jù)存儲模塊的數(shù)據(jù)存儲實現(xiàn)、數(shù)據(jù)關聯(lián)分析模塊的建立數(shù)據(jù)關聯(lián)模型實現(xiàn)和數(shù)據(jù)關聯(lián)分析應用模塊的實時預測結(jié)果顯示實現(xiàn)。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)采集模塊的數(shù)據(jù)采集實現(xiàn)包括如下步驟:1)界面程序初始化;2)等待用戶操作;3)獲取參數(shù)、調(diào)用處理程序;4)判斷文件夾是否還有未讀文件,是則進入步驟5),否則結(jié)束程序;5)判斷文件中是否仍有數(shù)據(jù),是則進入步驟5),否則回到步驟4);6)判斷該數(shù)據(jù)塊是否為用戶需要,是則進入步驟7),否則回到步驟5);7)解析并輸出數(shù)據(jù),回到步驟5)。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)存儲模塊的數(shù)據(jù)存儲實現(xiàn)包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機數(shù)據(jù)導入內(nèi)存;4)開始演示;5)實時數(shù)據(jù)上傳hbase,同時實時從hbase獲取所有節(jié)點數(shù)據(jù);6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)關聯(lián)分析模塊的建立數(shù)據(jù)關聯(lián)模型實現(xiàn)包括如下步驟:1)讀取數(shù)據(jù)、取出各屬性值的上下界;2)再次掃描數(shù)據(jù),用上下界縮放數(shù)據(jù)后調(diào)用read_prob函數(shù)產(chǎn)生svm_problem;3)svm_problem進行交叉驗證,得到訓練準確率;4)基于svm_problem調(diào)用svm_train函數(shù),生成模型并存儲;5)結(jié)束。作為本發(fā)明優(yōu)選的技術方案,所述數(shù)據(jù)關聯(lián)分析應用模塊的實時預測結(jié)果顯示實現(xiàn)包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機數(shù)據(jù)導入內(nèi)存;4)開始演示;5)實時數(shù)據(jù)上傳hbase,同時實時從hbase獲取所有節(jié)點數(shù)據(jù)再使用svm算法實時預測結(jié)果;6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。根據(jù)以上提供的技術方案,與現(xiàn)有技術相比,本發(fā)明提供的多平臺航空電子大數(shù)據(jù)系統(tǒng),具有以下有益效果:1、該系統(tǒng)集成數(shù)據(jù)采集,數(shù)據(jù)分類管理,數(shù)據(jù)存儲和數(shù)據(jù)分析等功能,采集并分類管理多源異構(gòu)數(shù)據(jù),并將這些數(shù)據(jù)實時存儲到“資源云”平臺上,“資源云”平臺客戶端節(jié)點從云上實時獲取數(shù)據(jù),借助云平臺來保證數(shù)據(jù)的實時性。在數(shù)據(jù)實時性的基礎上,系統(tǒng)支持歷史數(shù)據(jù)的關聯(lián)模型建立,利用實時的數(shù)據(jù)和關聯(lián)模型完成實時預測,對飛行員的決策提供一定的指導。具體來說,該系統(tǒng)需要實現(xiàn)以下功能:飛行數(shù)據(jù)采集、飛行數(shù)據(jù)實時共享、飛行數(shù)據(jù)關聯(lián)分析、實時輔助決策。2、本發(fā)明將hadoop分布式存儲平臺及hbase分布式數(shù)據(jù)庫優(yōu)化后應用到航空電子大數(shù)據(jù)系統(tǒng),是本領域的首創(chuàng),本發(fā)明對大規(guī)模的航電數(shù)據(jù)進行集成和分布式存儲,能夠?qū)崟r地采集、存儲和共享數(shù)據(jù),并利用歷史數(shù)據(jù)的分析,對實時數(shù)據(jù)進行火力打擊的預測,從而成功地為飛行員提供有效的決策指導,預測成功率高達94%。3、本發(fā)明用機器學習中的分類算法來解決飛行中火力打擊的結(jié)果預測問題,相比于以前直接用軟件模擬飛行過程來得到結(jié)果,該方法在保證一定準確率的前提下速度要快好多倍,因此提高了體系化對抗系統(tǒng)的決策效率。由于打擊中擊中的情況要遠遠低于擊不中,造成訓練數(shù)據(jù)不平衡,影響決策準確度。因此,我們在svm的基礎上,創(chuàng)新地使用數(shù)據(jù)分割的方法,來提高準確度。將決策輔助功能集成到航電系統(tǒng)中,即可以利用存儲的數(shù)據(jù)進行訓練分類器,又能用訓練好的分類器進行實時的火力打擊預測,并根據(jù)預測結(jié)果為飛行器實時地提供決策建議。3、經(jīng)試驗驗證,本發(fā)明系統(tǒng)優(yōu)選使用rbf核的非線性svm分類器準確率最高,而優(yōu)選使用二分割分類器的f1值最高。4、經(jīng)試驗驗證,本發(fā)明系統(tǒng)支持靜態(tài)減少節(jié)點以及動態(tài)增加節(jié)點。附圖說明下面結(jié)合附圖和實施例對本發(fā)明進一步說明。圖1是本發(fā)明系統(tǒng)中數(shù)據(jù)存儲模塊的框架結(jié)構(gòu)圖。圖2是本發(fā)明系統(tǒng)中數(shù)據(jù)關聯(lián)分析模塊中非線性svm的示例圖。圖3和圖4是本發(fā)明系統(tǒng)中數(shù)據(jù)關聯(lián)分析模塊中數(shù)據(jù)分割的示例圖。圖5是本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)的總體框架圖。圖6是本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)的功能結(jié)構(gòu)圖。圖7是本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)的主程序流程圖。圖8是本發(fā)明系統(tǒng)中數(shù)據(jù)關聯(lián)分析應用模塊的示例圖。圖9是本發(fā)明系統(tǒng)中數(shù)據(jù)采集模塊邏輯流程圖。圖10是本發(fā)明系統(tǒng)中數(shù)據(jù)存儲模塊邏輯流程圖。圖11是本發(fā)明系統(tǒng)中數(shù)據(jù)關聯(lián)分析模塊邏輯流程圖。圖12是本發(fā)明系統(tǒng)中數(shù)據(jù)關聯(lián)分析應用模塊邏輯流程圖。具體實施方式現(xiàn)在結(jié)合附圖對本發(fā)明作進一步詳細的說明。這些附圖均為簡化的示意圖,僅以示意方式說明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關的構(gòu)成。體系化對抗中決策者使用的參考數(shù)據(jù)來自不同飛機系統(tǒng)、不同平臺上的多傳感器、多數(shù)據(jù)源,實時獲取并可靠存儲這些數(shù)據(jù),將數(shù)據(jù)及時應用到?jīng)Q策體系中成為作戰(zhàn)成功的基礎。為模擬這一體系化環(huán)境,本發(fā)明用多臺專用測試設備模擬一個飛行節(jié)點群,抓取實際飛行環(huán)境中傳感器產(chǎn)生的數(shù)據(jù)作為數(shù)據(jù)源,用一臺交換機連接各專用測試設備構(gòu)建局域網(wǎng),模擬體系化對抗環(huán)境中的數(shù)據(jù)通信。決策者可以通過任一專用測試設備實時查看節(jié)點群中各設備節(jié)點的實時信息,依據(jù)這些數(shù)據(jù)信息完成決策。在這個模擬的假想作戰(zhàn)場景中,為保證決策者獲取數(shù)據(jù)的實時性和可靠性,本發(fā)明提出基于“資源云”的多平臺航電大數(shù)據(jù)系統(tǒng)。本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)的核心是搭建在假想作戰(zhàn)環(huán)境中的“資源云”平臺,在多臺專用測試設備上搭建一個數(shù)據(jù)共享平臺,該數(shù)據(jù)平臺基于已有的開源云軟件(hadoop,hbase)搭建,主要完成飛行節(jié)點之間信息實時共享,可靠存儲,信息處理的功能。平臺的數(shù)據(jù)源是經(jīng)過數(shù)據(jù)采集分類之后的數(shù)據(jù)信息,原始數(shù)據(jù)經(jīng)過數(shù)據(jù)采集模塊完成采集分類,之后傳輸?shù)健百Y源云”平臺。最后,各節(jié)點上的數(shù)據(jù)分析模塊從“資源云”平臺實時獲取所有節(jié)點的信息,結(jié)合歷史數(shù)據(jù)建立的數(shù)據(jù)關聯(lián)模型進行數(shù)據(jù)分析,將對各節(jié)點的數(shù)據(jù)分析結(jié)果呈現(xiàn)給決策者,提供決策指導。本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)中各個模塊的技術解決方案如下:1、數(shù)據(jù)采集與分類方案假想作戰(zhàn)環(huán)境的數(shù)據(jù)來自不同的傳感器,數(shù)據(jù)之間具有異構(gòu)性,直接導致體系作戰(zhàn)下航電大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)復雜性。經(jīng)過采集的數(shù)據(jù)需要通過基于空中云平臺的大數(shù)據(jù)分類技術來從多個角度對平臺及數(shù)據(jù)進行分析,增強數(shù)據(jù)關聯(lián),從而降低面向體系作戰(zhàn)的航電大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)復雜性。具體實現(xiàn)中,需要針對多模態(tài)勢空間構(gòu)建不同的數(shù)據(jù)采集與預處理模式。針對假想作戰(zhàn)環(huán)境,本發(fā)明采取抓包后逐個按照數(shù)據(jù)協(xié)議解析數(shù)據(jù)包的方法來采集分類環(huán)境中的數(shù)據(jù),作為“資源云”平臺數(shù)據(jù)源。實際應用中,常用的系統(tǒng)數(shù)據(jù)采集方案有兩種:(1)抓包抓包程序wireshark獲取數(shù)據(jù)包。wireshark將從網(wǎng)絡中捕獲到的二進制數(shù)據(jù)按照不同的協(xié)議包結(jié)構(gòu)規(guī)范,顯示在packetdetails面板中。主要包含物理層的數(shù)據(jù)幀概況、數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息、互聯(lián)網(wǎng)層ip包頭部信息、傳輸層的數(shù)據(jù)段頭部信息、應用層的信息等。過程采用libpcap庫,libpcap是一個網(wǎng)絡數(shù)據(jù)包捕獲函數(shù)庫,功能非常強大,針對網(wǎng)絡接口、端口和協(xié)議進行數(shù)據(jù)包截取。(2)爬蟲網(wǎng)絡數(shù)據(jù)采集通過網(wǎng)絡爬蟲或網(wǎng)站公開api等方式從網(wǎng)站上獲取數(shù)據(jù)信息。該方法可以將非結(jié)構(gòu)化數(shù)據(jù)從網(wǎng)頁中抽取出來,將其存儲為統(tǒng)一的本地數(shù)據(jù)文件,并以結(jié)構(gòu)化的方式存儲。它支持圖片、音頻、視頻等文件或附件的采集,附件與正文可以自動關聯(lián)。除了網(wǎng)絡中包含的內(nèi)容之外,對于網(wǎng)絡流量的采集可以使用dpi或dfi等帶寬管理技術進行處理。針對假想作戰(zhàn)環(huán)境中作戰(zhàn)節(jié)點之間的通信代價較高,所以本發(fā)明舍棄爬蟲主動獲取數(shù)據(jù)的方式,優(yōu)選從實際作戰(zhàn)環(huán)境中網(wǎng)絡交換機處利用wireshark軟件抓取體系化對抗平臺上的數(shù)據(jù)包作為源數(shù)據(jù)。數(shù)據(jù)采集模塊解析從交換機中獲取到的數(shù)據(jù)包,根據(jù)包的源ip和目的ip,以及數(shù)據(jù)包的協(xié)議來將數(shù)據(jù)分為結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)。我們根據(jù)假想作戰(zhàn)環(huán)境中的通信協(xié)議,來將數(shù)據(jù)逐個從二進制文件中解析出內(nèi)容。得到的數(shù)據(jù)基本分類如下:(1)結(jié)構(gòu)數(shù)據(jù):結(jié)構(gòu)化數(shù)據(jù)即行數(shù)據(jù),可存儲在關系型數(shù)據(jù)庫里,通過二維表結(jié)構(gòu)來邏輯表達實現(xiàn)的數(shù)據(jù)。數(shù)據(jù)將針對不同目標接收目標進行分發(fā),比如無人機、雷達仿真、光電、電子站、三維語音告警、座艙等。采集數(shù)據(jù)結(jié)果將數(shù)據(jù)分為多個數(shù)據(jù)塊。數(shù)據(jù)塊中包括基本信息,如數(shù)據(jù)類型、發(fā)送源、目標號、塊長、更新周期、虛擬鏈路、最大延遲時間、接收端口等。除基本信息外,不同數(shù)據(jù)塊中的主要內(nèi)容可進行結(jié)構(gòu)化歸納。(2)非結(jié)構(gòu)化數(shù)據(jù)在本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)大數(shù)據(jù)管理平臺中,非結(jié)構(gòu)數(shù)據(jù)主要包括圖片、音頻、視頻、超媒體等形式,比如雷達氣象圖像、地理分布圖像、探測敵機聲波圖和視頻流等等。這些數(shù)據(jù)沒有固定結(jié)構(gòu),相對于結(jié)構(gòu)化數(shù)據(jù)而言,非結(jié)構(gòu)化數(shù)據(jù)不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn),但基于分布式云存儲平臺上的非關系型數(shù)據(jù)庫,可以實現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)高效、穩(wěn)定的存儲。針對非結(jié)構(gòu)化的數(shù)據(jù),我們留出接口來完成這些功能。2、數(shù)據(jù)存儲方案體系化對抗環(huán)境中,實時、準確的獲取對抗系統(tǒng)中相關信息的實時變化情況是完成對抗的體系化的一個重要因素。每個作戰(zhàn)節(jié)點會實時生成一些關鍵的航電信息,包括節(jié)點載機數(shù)據(jù),目標的信息等,這些信息實時被其他節(jié)點獲取,并實時加入體系化對抗的決策體系中。為實現(xiàn)這個目標,我們在假想作戰(zhàn)環(huán)境的節(jié)點中搭建“資源云”,采集到每個節(jié)點生成的航電信息之后,實時將信息上傳到“資源云”上,其他節(jié)點實時查詢數(shù)據(jù)變化,利用云平臺的高容錯,實時性和可靠性來保證所有航電信息的實時獲取性和難丟失性。(1)“資源云”平臺傳統(tǒng)的“資源云”框架分為幾種不同類型:第一種將原始數(shù)據(jù)采集在客戶端(client),再由客戶端將數(shù)據(jù)傳輸至各存儲節(jié)點進行分布式存儲;第二種則將數(shù)據(jù)采集在節(jié)點本地,繼而分發(fā)至所有存儲節(jié)點??紤]到相對于現(xiàn)有的大數(shù)據(jù)管理架構(gòu),本發(fā)明的特色在于數(shù)據(jù)源與數(shù)據(jù)存儲目的地相同,即從多架飛機實時獲取數(shù)據(jù),然后通過云存儲方式再存儲到多架飛機上,并實時獲取并共享多架飛機的數(shù)據(jù),故本發(fā)明采用第二種框架類型。假想平臺總體采用主從(master/slave)結(jié)構(gòu)模型(如圖1所示),由一個主節(jié)點和若干個從節(jié)點組成。主節(jié)點作為主服務器,管理文件系統(tǒng)命名空間和客戶端對文件的訪問操作。從節(jié)點作為從服務器,負責數(shù)據(jù)的存儲。系統(tǒng)采用“一次寫入、多次讀取(write-once-read-many)”模型,該模型降低了并發(fā)性控制要求,簡化了數(shù)據(jù)聚合性,支持高吞吐量訪問。(1)可靠性“資源云”平臺通過文件分割的方式來將大文件切分為固定大小的小文件,并存儲分割表,將小文件制作多個副本,分別存儲在不同節(jié)點上面,在讀取文件時通過分割表來逐份讀取拼接文件后返回給用戶。數(shù)據(jù)源經(jīng)過采集和分類之后,寫入硬盤臨時緩存在本地節(jié)點上,由于節(jié)點的復雜性,部分節(jié)點存儲的信息文件較大,超過云平臺默認的文件大小,則會產(chǎn)生文件分割過程,一方面通過文件分割節(jié)省線路帶寬,另一方面可以增加系統(tǒng)容錯性。本發(fā)明系統(tǒng)的“資源云”通過將一個文件在物理存儲上分割成多個塊,并通過哈希等算法分別將它們拆分到集群的多個節(jié)點上,這種特性可以讓分布式存儲系統(tǒng)保存足夠大文件。相比不分割將文件備份到指定機器上來說,文件分割的過程節(jié)省了單點到單點之間通信的帶寬,一定程度上使系統(tǒng)的負載更加均衡,另一方面,如果單節(jié)點產(chǎn)生故障,無法讀取該節(jié)點信息,通過文件分割的方式可以通過備份到其他節(jié)點的分割來拼接完成恢復工作。(2)容錯性“資源云”平臺對每個文件進行分割之后,通過一定的哈希算法將數(shù)據(jù)塊冗余備份到其他節(jié)點上面,云平臺的冗余容錯基于hdfs的容錯機制,主要有以下幾點:master節(jié)點將文件分割,記錄分割表作為復制的決策,將文件各部分進行標記,記錄當前塊的分割表,按照分割表內(nèi)容通過哈希算法冗余備份到對應的其他節(jié)點上。訪問文件時,當前節(jié)點上面沒有對應的文件分割,則到最近的一個冗余備份上請求。master節(jié)點的備份,通過zookeeper完成,所有節(jié)點選舉出一個master節(jié)點和一個backup-master節(jié)點,backup-master節(jié)點定時對master節(jié)點完成快照,保證backup-master信息不落后master太多。當心跳機制檢測到master節(jié)點崩潰之后,backup-master取代master節(jié)點,并通過zookeeper的選舉機制選出另外一個backup-master節(jié)點,備份當前master節(jié)點內(nèi)容。(3)“資源云”其他特點定時快照:快照支持在一個特定時間存儲一個數(shù)據(jù)拷貝,快照可以將失效的集群回滾到之前一個正常的時間點上。流程狀態(tài):創(chuàng)建數(shù)據(jù)時,一開始客戶端將文件數(shù)據(jù)緩存在本地的臨時文件中。應用程序的寫操作被透明地重定向到這個臨時本地文件。當本地文件堆積到一個分塊大小的時候,客戶端才會通知主節(jié)點。主節(jié)點將文件名插入到文件系統(tǒng)層次中,然后為它分配一個數(shù)據(jù)塊。主節(jié)點構(gòu)造包括數(shù)據(jù)節(jié)點id(可能是多個,副本數(shù)據(jù)塊存放的節(jié)點也有)和目標數(shù)據(jù)塊標識的報文,用它回復客戶端的請求??蛻舳耸盏胶髮⒈镜氐呐R時文件刷新到指定的數(shù)據(jù)節(jié)點數(shù)據(jù)塊中。因為如果客戶端對遠程文件系統(tǒng)進行直接寫入而沒有任何本地的緩存,這就會對網(wǎng)速和網(wǎng)絡吞吐量產(chǎn)生很大的影響。當文件關閉時,本地臨時文件中未上傳的殘留數(shù)據(jù)就會被轉(zhuǎn)送到數(shù)據(jù)節(jié)點。然后客戶端就可以通知主節(jié)點文件已經(jīng)關閉。此時,主節(jié)點將文件的創(chuàng)建操作添加到到持久化存儲中。假如主節(jié)點在文件關閉之前死掉,文件就丟掉了。流水式復制:當客戶端寫數(shù)據(jù)到文件中時,如上所述,數(shù)據(jù)首先被寫入本地文件中,假設文件的復制因子是3,當本地文件堆積到一塊大小的數(shù)據(jù),客戶端從主節(jié)點獲得一個數(shù)據(jù)節(jié)點的列表。這個列表也包含存放數(shù)據(jù)塊副本的數(shù)據(jù)節(jié)點。當客戶端刷新數(shù)據(jù)塊到第一個數(shù)據(jù)節(jié)點。第一個數(shù)據(jù)節(jié)點開始以4kb為單元接收數(shù)據(jù),將每一小塊都寫到本地庫中,同時將每一小塊都傳送到列表中的第二個數(shù)據(jù)節(jié)點。同理,第二個數(shù)據(jù)節(jié)點將小塊數(shù)據(jù)寫入本地庫中同時傳給第三個數(shù)據(jù)節(jié)點,第三個數(shù)據(jù)節(jié)點直接寫到本地庫中。一個數(shù)據(jù)節(jié)點在接前一個節(jié)點數(shù)據(jù)的同時,還可以將數(shù)據(jù)流水式傳遞給下一個節(jié)點,所以,數(shù)據(jù)是流水式地從一個數(shù)據(jù)節(jié)點傳遞到下一個。擴展性:大量的應用實踐已經(jīng)證明該分布式平臺具有著極大的擴展性,可以輕松擴展到數(shù)以百計的節(jié)點構(gòu)成的集群上。3、數(shù)據(jù)分析方案在體系化對抗決策體系中,歷史數(shù)據(jù)信息是十分寶貴的資源,對歷史信息的分析和提煉可以完成許多功能,比如說歷史火力打擊信息可以用來輔助決策。通過對一組歷史飛行過程及火力打擊的結(jié)果分析,我們可以獲取一個飛行狀態(tài)的分類器模型,利用這個模型可以預測節(jié)點火力打擊結(jié)果。把預測模型引入“資源云”平臺上之后,我們可以根據(jù)每個節(jié)點的火力打擊預測結(jié)果,完成一些輔助決策功能,提高體系化對抗系統(tǒng)的決策效率。針對已有的飛行狀態(tài)信息數(shù)據(jù)集和打擊結(jié)果,可以近似的把問題看做一個輸入是飛機發(fā)射導彈時的航電信息和目標的絕對位置信息,輸出是擊中和沒擊中目標的二分類分類器模型,分析比較常用的二分類分類器,得出一個結(jié)果最優(yōu)的分類器模型應用到?jīng)Q策系統(tǒng)中。(1)分類器算法由于要解決的是一個二分類問題,標號為0和1。那么分類器就是要找到一個面,將所有樣本點分到面的兩側(cè)。即,對于任一樣本x=(b1,b2,…bm),分類器決策函數(shù)f:f(x)=g(f(x))a.線性可分svm線性可分svm分類器決策函數(shù)中的f(x)=wtx+b,它本質(zhì)上是尋找一個能將樣本點按標號分到兩側(cè)的具有最大化margin的超平面,margin是所有數(shù)據(jù)點到超平面的幾何間隔的最小值。從統(tǒng)計的角度講,由于正負樣本可以看作從兩個不同的分布隨機抽樣得到,若分類邊界與兩個分布的距離越大,抽樣出的樣本落在分類邊界另一邊的概率越小。所以,最大化margin可以保證最壞情況下的泛化誤差最小,分類器確信度更高。分類器決策函數(shù)中的f(x)=wtx+b,那么它的超平面為wtx+b=0.給定訓練集合t,超平面wtx+b=0,定義樣本點(xi,yi)到超平面的函數(shù)間隔為:幾何間隔為:設n為樣本點數(shù)目,定義t中所有樣本點的函數(shù)間隔的最小值為:超平面的margin為t中所有樣本點的幾何間隔的最小值:最大化margin可表示為:變化得:可以看出,w、b等比例縮放對超平面和幾何間隔都沒有影響,而函數(shù)間隔會同比例縮放。所以,令代入上式,而最大化等價于最小化這樣就得到了線性可分svm的最優(yōu)化問題:這是一個凸二次規(guī)劃問題,應用拉格朗日對偶性,通過求解對偶問題可得到最優(yōu)解,求解的過程就不贅述了。b.非線性svm對于非線性的分類問題,決策面是一個曲面,曲面通過一定映射,會變成高維空間中的一個超平面,這樣就可以用線性可分svm中的方法來解決。例如,兩類數(shù)據(jù)分布為兩個圓圈的形狀(如圖2所示),這樣的數(shù)據(jù)本身是線性不可分的,理想的分界面應該是一個圓而不是一條線(超平面)。若用x1和x1表示這個二維平面的坐標,那么它的決策面可寫成這樣的形式:a0+a1x1+a2x2+a3x12+a4x22+a5x1x2=0如果我們構(gòu)造一個五維空間,坐標值分別為z1=x1、z2=x2、z3=x12、z4=x22、z5=x1x2,那么上面的決策面方程在新的空間中可以寫作:可以看出,這正是一個超平面的方程。如果我們按這樣的方式將數(shù)據(jù)映射到五維空間,那么在新空間中原來的非線性數(shù)據(jù)就變成線性可分的了,從而可以使用線性svm算法處理。由于在線性可分svm的求解過程中,需要計算的地方數(shù)據(jù)向量總是以內(nèi)積的形式出現(xiàn),所以,我們定義計算兩個向量在映射過后的空間中的內(nèi)積的函數(shù)為核函數(shù),用核函數(shù)來簡化映射空間中的內(nèi)積運算。所以,對于非線性情況,處理方法是選擇一個核函數(shù),通過它將數(shù)據(jù)映射到高維空間,變成高維空間中的一個線性可分問題,以此來解決在原始空間中線性不可分的問題,然后再用線性可分svm算法進行處理。svm常用的核函數(shù)有四種:線性核(等同于線性可分svm)、多項式核、rbf核、sigmoid核,具體形式如下表1。表1類型函數(shù)表達式線性核ut*v多項式核(g*ut*v+coef0)degreerbf核exp(-g*||u-v||2)sigmoid核tanh(g*ut*v+coef0)數(shù)據(jù)分割由于樣本數(shù)據(jù)集中兩類數(shù)據(jù)比例懸殊,造成不平衡問題。嘗試將訓練集中比例較高的那一類樣本分割成幾塊,每塊與另一類樣本分別組成一個子訓練集,對每個子訓練集進行訓練,得到子分類模型。將子分類模型通過一些運算可以組成新的分類器,對數(shù)據(jù)進行預測。這樣處理,可以一定程度上改善數(shù)據(jù)不平衡問題。例如,將label=0的樣本分割成四塊,分別與label=1的樣本組成四個子訓練集,對它們進行訓練得到四個子分類模型。每個子分類模型對輸入數(shù)據(jù)進行預測,得到四個output,可以對這四個output進行與運算,得到最終的output,這就相當于一個新的分類器。示意圖如圖3和圖4所示。下面結(jié)合附圖進一步具體說明本發(fā)明的系統(tǒng)架構(gòu)及流程:(一)程序架構(gòu)和流程設計如圖5所示,本發(fā)明多平臺航空電子大數(shù)據(jù)系統(tǒng)整體分為4個模塊,數(shù)據(jù)采集模塊,數(shù)據(jù)存儲模塊,數(shù)據(jù)關聯(lián)分析模塊和數(shù)據(jù)關聯(lián)分析應用模塊。數(shù)據(jù)采集模塊從數(shù)據(jù)源1中獲取pcap數(shù)據(jù)包文件,經(jīng)采集分類之后到數(shù)據(jù)存儲模塊中,完成數(shù)據(jù)存儲的過程。數(shù)據(jù)關聯(lián)分析模塊從數(shù)據(jù)源2中獲取訓練數(shù)據(jù),可以通過用戶指定輸入?yún)?shù),完成數(shù)據(jù)關聯(lián)模型建立,將模型提供給數(shù)據(jù)關聯(lián)分析應用模塊使用,完成實時預測,并將結(jié)果顯示在屏幕上,數(shù)據(jù)關聯(lián)分析應用模塊利用數(shù)據(jù)存儲模塊實現(xiàn)的云存儲功能完成實時存儲的功能。由于系統(tǒng)是在分布式平臺基礎上開發(fā)的,搭建系統(tǒng)時首先需要在多臺設備(開發(fā)系統(tǒng)時使用6臺)上搭建hadoop和hbase完全分布式環(huán)境。每臺設備相當于一個飛行節(jié)點,其中有一臺作為主節(jié)點,來進行調(diào)度和顯示等操作。1.數(shù)據(jù)采集模塊使用libpcap包從網(wǎng)絡抓取的pcap包中獲取關鍵的時間信息字段,包的源ip,目標ip信息和存儲信息的數(shù)據(jù)字段,分別為time字段,sourceip字段,destip字段和data字段,使用destip和sourceip結(jié)合模擬場景中的數(shù)據(jù)發(fā)送信息,可以初步確定出包信息數(shù)據(jù)塊。區(qū)分不同的數(shù)據(jù)塊,按照不同的格式解析,得到獨立的數(shù)據(jù)塊數(shù)據(jù)結(jié)構(gòu),將數(shù)據(jù)結(jié)構(gòu)以文本的形式寫回硬盤,供下一階段使用。如圖6和圖7所示,數(shù)據(jù)采集模塊包括輸入文件夾路徑單元、輸出文件夾路徑單元、數(shù)據(jù)塊選擇單元。輸入文件夾路徑單元和輸出文件夾路徑單元用于讀取用戶選擇的輸入和輸出的文件夾路徑,數(shù)據(jù)塊選擇單元用于讀取用戶選擇的數(shù)據(jù)塊類型,數(shù)據(jù)采集模塊根據(jù)這些單元讀取的內(nèi)容來進行數(shù)據(jù)采集。如圖9所示,數(shù)據(jù)采集模塊邏輯流程包括如下步驟:1)界面程序初始化;2)等待用戶操作;3)獲取參數(shù)、調(diào)用處理程序;4)判斷文件夾是否還有未讀文件,是則進入步驟5),否則結(jié)束程序;5)判斷文件中是否仍有數(shù)據(jù),是則進入步驟5),否則回到步驟4);6)判斷該數(shù)據(jù)塊是否為用戶需要,是則進入步驟7),否則回到步驟5);7)解析并輸出數(shù)據(jù),回到步驟5)。2.數(shù)據(jù)存儲模塊(1)分布式存儲平臺為完成數(shù)據(jù)可靠性存儲過程,參考技術方案中的設計,借助已有的分布式云平臺,基于hdfs實現(xiàn)數(shù)據(jù)存儲功能。在六臺專用測試設備上部署hdfs的服務端,待所有節(jié)點模擬飛行員就位(設備開機)后,在任一節(jié)點啟動hdfs的start-all.sh命令,六臺測試設備組建成統(tǒng)一的數(shù)據(jù)共享平臺,分別監(jiān)聽相應功能的端口。數(shù)據(jù)存儲或查詢請求達到時,使用對應端口傳輸數(shù)據(jù)。平臺的數(shù)據(jù)可靠性和容錯性借助hdfs的冗余備份功能完成。(2)分布式數(shù)據(jù)庫在已有的hdfs穩(wěn)定存儲的基礎上,項目為規(guī)范化管理所有數(shù)據(jù),基于hbase實現(xiàn)了一個分布式數(shù)據(jù)庫,使用hadoop的hdfs來完成可靠存儲,使用hadoop的mapreduce框架來加速系統(tǒng)數(shù)據(jù)查詢操作。hbase的表格設計如下:實際存儲時,每個數(shù)據(jù)包對應一個rowkey,每個rowkey只包含一個數(shù)據(jù)塊的信息,hbase利用列存的方式保證系統(tǒng)數(shù)據(jù)的可靠性。(3)運行流程該模塊運行過程包括數(shù)據(jù)存儲和數(shù)據(jù)顯示兩個步驟。數(shù)據(jù)存儲:隔40ms吐出一次數(shù)據(jù),將數(shù)據(jù)存儲到hbase中,因樣本數(shù)據(jù)量較小,讀取完成之后從第一個數(shù)據(jù)開始再次吐出。數(shù)據(jù)顯示:另開線程完成文件的讀取過程,每隔10ms從hbase環(huán)境中實時查詢從上次時間戳查詢到現(xiàn)在時間戳時間內(nèi)所有的記錄,從記錄中讀取最后一條記錄,實時顯示在屏幕上。如圖6和圖7所示,數(shù)據(jù)存儲模塊包括讀取文件路徑單元和演示控制單元,用于數(shù)據(jù)存儲演示。讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,演示控制單元用于演示數(shù)據(jù)的存儲情況,它周期性地讀取存儲記錄并顯示到面板上。如圖10所示,數(shù)據(jù)存儲模塊邏輯流程包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機數(shù)據(jù)導入內(nèi)存;4)開始演示;5)實時數(shù)據(jù)上傳hbase,同時實時從hbase獲取所有節(jié)點數(shù)據(jù);6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。3.數(shù)據(jù)關聯(lián)分析模塊這一部分主要使用的svm分類器,對應代碼的svm包,通過svm的方法,對已有的數(shù)據(jù)和分析結(jié)果進行分類,其核心模塊是數(shù)據(jù)拆分程序和調(diào)用的libsvm分類器包,拆分程序?qū)?shù)據(jù)源結(jié)果為0的記錄拆分成n份(n由用戶輸入),分別和結(jié)果為1的記錄組成n個訓練數(shù)據(jù)集,用libsvm訓練后輸出n個模型,預測時使用n個模型結(jié)果進行預測結(jié)果進行與/或操作輸出預測結(jié)果。運行過程主要包括以下三個步驟。數(shù)據(jù)歸一化:掃描數(shù)據(jù)集,取出上下界,完成數(shù)據(jù)的歸一化操作,保證每個變量對結(jié)果的作用平衡。數(shù)據(jù)分割:因為數(shù)據(jù)的特殊性,結(jié)果為0的記錄數(shù)量遠多于結(jié)果為1,所以本發(fā)明采取技術方案中的劃分策略,將結(jié)果為1的數(shù)據(jù)劃分成n份,分別與0組合之后形成n個數(shù)據(jù)源,這一部分在read_prob函數(shù)中實現(xiàn)。數(shù)據(jù)訓練:調(diào)用libsvm軟件包中的各個函數(shù)(包括svm_scale、svm_train等),對各svm_problem訓練,生成svm_model并dump(轉(zhuǎn)存)到硬盤上。如圖6和圖7所示,數(shù)據(jù)關聯(lián)分析模塊包括訓練數(shù)據(jù)路徑單元、訓練參數(shù)選擇單元、數(shù)據(jù)分割方式選擇單元,用于建立模型、進行模型訓練。訓練數(shù)據(jù)路徑單元用于讀取用戶選擇的訓練數(shù)據(jù)存放路徑,訓練參數(shù)選擇單元用于讀取用戶選擇的各個訓練參數(shù)值,數(shù)據(jù)分割方式選擇單元用于讀取用戶選擇的數(shù)據(jù)分割方式,數(shù)據(jù)關聯(lián)分析模塊根據(jù)這些單元讀取的內(nèi)容來進行模型的建立和訓練。如圖11所示,數(shù)據(jù)關聯(lián)分析模塊邏輯流程包括如下步驟:1)讀取數(shù)據(jù)、取出各屬性值的上下界,包括經(jīng)度、緯度、高度、橫滾角、直航角、俯仰角和速度7個屬性;2)再次掃描數(shù)據(jù),用上下界scale數(shù)據(jù)(縮放數(shù)據(jù),以提高訓練和預測時數(shù)據(jù)的處理速度)后調(diào)用read_prob函數(shù)產(chǎn)生svm_problem;3)svm_problem進行crossvalidation(交叉驗證),得到訓練準確率;4)基于svm_problem調(diào)用svm_train函數(shù),生成模型并存儲;5)結(jié)束。4.數(shù)據(jù)關聯(lián)分析應用模塊應用模塊的整體設計原則是利用數(shù)據(jù)存儲模塊完成存儲,利用數(shù)據(jù)關聯(lián)分析模塊輸出的最優(yōu)模型作為輸入模型,對任一數(shù)據(jù)實時預測,如圖8所示。其中,多分模型的數(shù)據(jù)預測遵循如下規(guī)則:2分:或模型:n1|n2與模型:n1&n24分:先與后或:(n1&n2)|(n3&n4)先或后與:(n1|n2)&(n3|n4)8分:先與后或:(n1&n2&n3&n4)|(n5&n6&n7&n8)先或后與:(n1|n2|n3|n4)&(n5|n6|n7|n8)運行過程主要包括以下三個步驟。初始化:初始化hbase的連接,完成表的創(chuàng)建,列簇的創(chuàng)建等操作,從硬盤讀取需要存儲的文件內(nèi)容。數(shù)據(jù)產(chǎn)生:每隔40ms吐出一次數(shù)據(jù),將數(shù)據(jù)存儲到hbase中,因樣本數(shù)據(jù)量較小,讀取完成之后從第一個數(shù)據(jù)開始再次吐出。數(shù)據(jù)顯示:另開線程完成文件的讀取過程,每隔10ms從hbase環(huán)境中實時查詢從上次時間戳查詢到現(xiàn)在時間戳時間內(nèi)所有的記錄,從記錄中讀取最后一條記錄,用這個數(shù)據(jù)調(diào)用svm完成實時預測,并將結(jié)果顯示在屏幕上。如圖6和圖7所示,數(shù)據(jù)關聯(lián)分析應用模塊包括模型路徑選擇單元、讀取文件路徑單元、演示控制單元,用于數(shù)據(jù)分析演示。模型路徑選擇單元用于讀取用戶選擇的訓練模型存放路徑,讀取文件路徑單元用于讀取用戶選擇的數(shù)據(jù)源文件存放路徑,演示控制單元利用讀取的模型對數(shù)據(jù)進行分析,將預測結(jié)果顯示到面板上。如圖12所示,數(shù)據(jù)關聯(lián)分析應用模塊邏輯流程包括如下步驟:1)初始化hbase連接;2)創(chuàng)建表、列簇;3)本機數(shù)據(jù)導入內(nèi)存;4)開始演示;5)實時數(shù)據(jù)上傳hbase,同時實時從hbase獲取所有節(jié)點數(shù)據(jù)再使用svm算法實時預測結(jié)果;6)判斷是否終止演示,是則結(jié)束,否則回到步驟4)。(二)接口設計1.數(shù)據(jù)采集模塊數(shù)據(jù)采集是多平臺航電大數(shù)據(jù)系統(tǒng)的“資源云”平臺的數(shù)據(jù)基礎,為軟件提供一定的數(shù)據(jù)分析數(shù)據(jù)源。數(shù)據(jù)源要求是從實際運行環(huán)境中交換機處用wireshark軟件抓包獲取的數(shù)據(jù),數(shù)據(jù)格式要求是pcap數(shù)據(jù),包的目標ip和源ip滿足如下要求:表2數(shù)據(jù)塊名稱目的ip/源ip組網(wǎng)指令224.224.0.110演示場景信息224.224.0.107/224.224.0.108綜合目標數(shù)據(jù)塊224.224.0.89直升機載機數(shù)據(jù)塊224.224.0.140演示控制信息各數(shù)據(jù)包中data字段數(shù)據(jù)塊滿足協(xié)議《xx型演示系統(tǒng)數(shù)據(jù)接口協(xié)議》。2.數(shù)據(jù)存儲模塊數(shù)據(jù)存儲模塊是多平臺航電大數(shù)據(jù)系統(tǒng)的核心,由此模塊完成系統(tǒng)數(shù)據(jù)存儲功能。此模塊接受來自“數(shù)據(jù)采集”模塊的數(shù)據(jù)輸出,輸入數(shù)據(jù)格式為完整的txt文本文件,每一行為一個解析后的數(shù)據(jù)包內(nèi)容,字段之間用逗號分隔,每個數(shù)據(jù)包字段信息如下:直升機載機數(shù)據(jù)塊:包時間戳,數(shù)據(jù)塊id,數(shù)據(jù)塊時間,經(jīng)度,緯度,高度,俯仰角,橫滾角,真航角,攻角,地速,北向速度,東向速度,天速綜合目標數(shù)據(jù)塊:包數(shù)據(jù)戳,數(shù)據(jù)塊id,數(shù)據(jù)塊時間,目標個數(shù),目標1屬性,目標1經(jīng)度,目標1緯度,目標1高度,目標1方位,目標1俯仰角,目標1北向速度,目標1東向速度,目標1天向速度,目標2屬性,……,目標20天向速度3.數(shù)據(jù)關聯(lián)分析模塊數(shù)據(jù)關聯(lián)分析模塊的主要功能是對歷史數(shù)據(jù)的分析建立數(shù)據(jù)模型,此模塊輸入一組訓練數(shù)據(jù),通過svm分類器和劃分分類策略完成數(shù)據(jù)建模過程。訓練數(shù)據(jù)要求為stk模擬軟件收集到的數(shù)據(jù),其格式為7個輸入變量格式和一個0/1的結(jié)果數(shù)據(jù),所有字段之間用tab制表符(“\t”)分隔,字段信息如下:經(jīng)度緯度高度參數(shù)4參數(shù)5參數(shù)6參數(shù)704.數(shù)據(jù)關聯(lián)分析應用模塊此模塊以stk模擬軟件的輸出文件作為預測數(shù)據(jù)源,以“數(shù)據(jù)關聯(lián)分析部分”輸出模型作為輸入模型,基于數(shù)據(jù)存儲模塊進行實時的結(jié)果預測,實時顯示在界面上。該部分輸入數(shù)據(jù)格式(即stk模擬軟件輸出文件)字段信息如下:經(jīng)度緯度高度參數(shù)4參數(shù)5參數(shù)6參數(shù)7(三)全局數(shù)據(jù)結(jié)構(gòu)設計1.物理結(jié)構(gòu)軟件實現(xiàn)中主要使用的數(shù)據(jù)結(jié)構(gòu)是對應于數(shù)據(jù)協(xié)議中的一些數(shù)據(jù)結(jié)構(gòu),定義數(shù)據(jù)結(jié)構(gòu)存儲從二進制文件中解析出來的數(shù)據(jù),實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)有下面幾個:frameheader//存儲每個包的數(shù)據(jù)頭信息helicopt_carrier_parm//存儲載機數(shù)據(jù)塊字段信息singletargetparameter//存儲單個目標所有信息interrgrated_target_parm//存儲集成目標數(shù)據(jù)塊字段信息,內(nèi)部可能包含多個singletargetparameterdemo_scene_info//演示場景信息數(shù)據(jù)塊demo_ctrl_info//演示控制信息數(shù)據(jù)塊build_net_cmd//組網(wǎng)指令數(shù)據(jù)塊record//每個數(shù)據(jù)塊到系統(tǒng)內(nèi)之后均被識別成為行數(shù)據(jù),記錄成一個record,用長度和type字段來區(qū)別類別。2.表結(jié)構(gòu)根據(jù)已有的數(shù)據(jù)分類,結(jié)合hbase的按列存儲的特點,我們設計出如下的表結(jié)構(gòu)由多個列簇(columnfamily)構(gòu)成,每個列簇由多個屬性組成,每個屬性對應于數(shù)據(jù)塊中的一個字段。表中的列簇有如下幾個:cf_helicoptcarrierparm//直升機載機數(shù)據(jù)塊列簇cf_integeratedtargetparm//基礎目標數(shù)據(jù)塊列簇cf_stk//stk數(shù)據(jù)對應的列簇cf_emptystring//存儲非結(jié)構(gòu)化的包列簇cf_unrecognised//存儲未識別的數(shù)據(jù)塊對應的列簇各列簇中包含的列為各塊字段信息,cf_emptystring中包含文本形式存儲的包信息,如”87a34b2345f86544e”等,cf_unrecognised只包含類型信息。表格中的行鍵信息使用自定義的格式,格式為“row”+系統(tǒng)時間+helicopterid,例如行鍵為“row147926317632301”,表示系統(tǒng)時間(從1970年1月1日0時起的毫秒數(shù))為1479263176323時,編號為01的節(jié)點存儲到云平臺中的數(shù)據(jù)。3.類結(jié)構(gòu)實現(xiàn)中涉及到的類結(jié)構(gòu)主要有記錄行信息的record類,調(diào)用底層hbase的hbaseengine類和調(diào)用svm分類器的svmengine類,各自在類的成員變量中完成各自調(diào)用過程。4.常量實現(xiàn)設計中涉及到的常量主要是字段名稱信息,數(shù)量較大,在此不詳細列出。以下通過具體實驗來驗證本發(fā)明的效果:1.分類器算法評測實驗(1)數(shù)據(jù)集用作實驗的原始飛行數(shù)據(jù)樣本共4497432個,其中擊中(label=1)的有316768個,未擊中(label=0)的有4180664個。將原始數(shù)據(jù)按照50%、25%、25%的比例均勻劃分為trainset、validationset、testset三個集合。其中,trainset用來訓練分類器;validationset用來測試不同分類器的性能,確定分類模型的網(wǎng)絡結(jié)構(gòu)或者控制模型復雜程度的參數(shù);testset用來檢驗最終選擇的最優(yōu)分類模型的性能。(2)實驗結(jié)果對不同分類器算法進行測試實驗,評估實驗結(jié)果,選取最佳的分類器模型,用testset進行驗證。a.線性可分svm用liblinear實現(xiàn)線性可分svm,進行測試,結(jié)果如下表3:表3accuracyprecisionrecallf192.9669%000由于數(shù)據(jù)集中l(wèi)abel=1的數(shù)目遠遠低于label=0的實例數(shù)目(比例約為1:13),因此線性svm會全部預測0,但是顯然這樣是毫無意義的。b.非線性svm用libsvm實現(xiàn)不同類型的非線性svm,進行測試,結(jié)果如下表4:表4核函數(shù)accuracyprecisionrecallf1線性核92.9669%000多項式核92.9669%000rbf核94.3549%0.5990.5960.597sigmod核85.9684%000可以看出選用rbf核函數(shù)的結(jié)果最好,準確率達到了94.4%,1的預測率也超過了50%。c.數(shù)據(jù)分割子訓練集用前面提到的libsvm的rbf核類型進行訓練,因為它的效果最好。i.二分割將label=0的訓練數(shù)據(jù)隨機分割成兩塊,與label為1的數(shù)據(jù)組成兩個子訓練集,訓練得到兩個model,分別對validationset進行預測,得到兩個output,按與和或兩種關系處理output得到最終分類結(jié)果。測試結(jié)果如下表5:表5accuracyprecisionrecallf1與94.1015%0.5560.8060.658或94.0866%0.5540.8110.659ii.四分割將label=0的訓練數(shù)據(jù)隨機分割成四塊,與label為1的數(shù)據(jù)組成四個子訓練集,訓練得到四個model,分別對validationset進行預測,得到四個output,按全與、全或、先與后或、先或后與四種關系處理output得到最終分類結(jié)果。測試結(jié)果如下表6:表6iii.八分割將label=0的訓練數(shù)據(jù)隨機分割成八塊,與label為1的數(shù)據(jù)組成八個子訓練集,訓練得到八個model,分別對validationset進行預測,得到八個output,按全與、全或、先與后或、先或后與四種關系處理output得到最終分類結(jié)果。測試結(jié)果如下表7:表7accuracyprecisionrecallf1全與91.5268%0.4530.9840.620全或91.2967%0.4460.9870.615先與后或91.4762%0.4510.9850.619先或后與91.3750%0.4490.9860.617iv.三分之二分割將label=0的訓練數(shù)據(jù)隨機分割成三塊,每兩塊與label為1的數(shù)據(jù)組成三個子訓練集,訓練得到三個model,分別對validationset進行預測,得到三個output,按與和或兩種關系處理output得到最終分類結(jié)果。測試結(jié)果如下表8:表8accuracyprecisionrecallf1與94.3033%0.5750.7290.643或94.2959%0.5740.7340.644d.驗證實驗根據(jù)以上測試,可以看出,單純使用rbf核的非線性svm分類器準確率最高,而二分割分類器的f1值最高。用testset對這兩種最優(yōu)分類模型進行驗證實驗,結(jié)果如下表9:表9驗證得到,這兩種分類器性能與前面的測試結(jié)果基本一致,確實最優(yōu)。2.多平臺航空電子大數(shù)據(jù)系統(tǒng)測試a.數(shù)據(jù)采集模塊測試運行軟件系統(tǒng),進入數(shù)據(jù)采集模塊,設置好參數(shù)后開始采集。檢查輸出的數(shù)據(jù)塊文件,均正確,證明采集功能正常。設置不同的blockselection參數(shù),檢查輸出的數(shù)據(jù)大小,均不同,證明采集模塊能對各種不同的單數(shù)據(jù)塊進行采集。b.數(shù)據(jù)存儲模塊測試運行軟件系統(tǒng),進入數(shù)據(jù)采集模塊,然后開始演示。觀察dashboard面板上的數(shù)據(jù),隨著程序運行,面板能實時顯示集群中各節(jié)點的狀態(tài)信息,且可以看出飛行數(shù)據(jù)正被存儲,證明該模塊能夠?qū)崟r存儲各個節(jié)點的數(shù)據(jù)。c.數(shù)據(jù)關聯(lián)分析模塊測試運行軟件系統(tǒng),進入數(shù)據(jù)關聯(lián)分析模塊,分別采用不同的核函數(shù)選擇參數(shù)和分割參數(shù),對輸入數(shù)據(jù)集進行訓練,均能成功地得到分類模型,證明該模塊能夠用不同方法進行數(shù)據(jù)分析。d.數(shù)據(jù)關聯(lián)分析應用模塊測試運行軟件系統(tǒng),進入數(shù)據(jù)關聯(lián)分析應用模塊,選取參數(shù),然后開始演示。界面能實時顯示所有節(jié)點的飛行數(shù)據(jù)和預測火力打擊結(jié)果,證明該模塊能夠?qū)︼w行數(shù)據(jù)進行實時存儲和預測。e.系統(tǒng)節(jié)點靜態(tài)減少測試按照相應的方法,將系統(tǒng)節(jié)點由6個靜態(tài)減少到4個,檢查集群中hadoop和hbase的節(jié)點數(shù),均變成了4,說明系統(tǒng)支持靜態(tài)減少節(jié)點。f.系統(tǒng)節(jié)點動態(tài)增加測試按照相應的方法,將系統(tǒng)節(jié)點由前一測試中的4個動態(tài)增加到6個,并在新增加的節(jié)點上運行系統(tǒng)軟件。檢查系統(tǒng)數(shù)據(jù)存儲功能界面上節(jié)點信息的變化,由原來的4成功變成了6,說明系統(tǒng)支持動態(tài)增加節(jié)點。以上述依據(jù)本發(fā)明的理想實施例為啟示,通過上述的說明內(nèi)容,相關工作人員完全可以在不偏離本項發(fā)明技術思想的范圍內(nèi),進行多樣的變更以及修改。本項發(fā)明的技術性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權利要求范圍來確定其技術性范圍。當前第1頁12