摘 要: 飛行試驗網(wǎng)絡(luò)化iNET測試系統(tǒng)正逐漸取代傳統(tǒng)的PCM測試系統(tǒng),成為當前飛行試驗測試系統(tǒng)的主要架構(gòu);試飛網(wǎng)絡(luò)化測試的單架次iNET試驗數(shù)據(jù)激增,為了滿足采用新一代網(wǎng)絡(luò)化測試系統(tǒng)架構(gòu)的飛行試驗工程對海量試飛測試iNET數(shù)據(jù)的即時處理需求,針對試驗iNET網(wǎng)絡(luò)數(shù)據(jù)的特點,采用了基于內(nèi)存映射的海量試驗數(shù)據(jù)快速存取及定位方法,設(shè)計了試飛iNET數(shù)據(jù)快視分析技術(shù),實現(xiàn)了飛行試驗iNET數(shù)據(jù)的動態(tài)快視,解決了海量iNET試驗數(shù)據(jù)即時處理難題,滿足了現(xiàn)代飛行試驗iNET數(shù)據(jù)即時處理需求。
關(guān)鍵詞: 內(nèi)存映射; iNET協(xié)議; 即時處理; 飛行試驗; 測試系統(tǒng)
中圖分類號: TN98?34 文獻標識碼: A 文章編號: 1004?373X(2016)04?0044?04
Abstract: The networked iNET test system for flight test is gradually replacing the traditional PCM test system and becoming the current main architecture of the testing system in flight test. The single sortie iNET test data of networked testing in flight test is increased sharply. To meet the immediate processing requirement of flight test engineering adopting the new generation architecture of networked testing system for iNET data in flight test, a quick access and positioning method (based on memory mapping) for massive flight test data is adopted according to the characteristics of flight test iNET network data to design the quick view analysis technology of the flight test iNET data. The dynamic quick view of flight test iNET data was achieved, and the immediate processing problem of mass iNET test data was solved. The immediate processing requirement of modern flight test iNET data has been satisfied.
Keywords: memory mapping; iNET protocol; immediate processing; flight test; testing system
0 引 言
隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)化測試系統(tǒng)iNET架構(gòu)技術(shù)逐漸取代傳統(tǒng)的PCM構(gòu)架技術(shù),成為新一代飛行試驗測試系統(tǒng)架構(gòu),同時現(xiàn)代飛機設(shè)計采用新技術(shù)、新材料、新設(shè)備越來越多,飛行試驗科目、測試的參數(shù)、測試數(shù)據(jù)種類以及測試數(shù)據(jù)總量越來越多,試驗記錄的網(wǎng)絡(luò)化測試iNET[1?2]數(shù)據(jù)總量是過去的數(shù)十倍,高達上百個GB。在飛行試驗工程領(lǐng)域,對飛行試驗數(shù)據(jù)處理從質(zhì)量、速度以及數(shù)據(jù)分析的方式等方面提出了很高的要求,對iNET數(shù)據(jù)的網(wǎng)絡(luò)采集技術(shù)、高效數(shù)據(jù)處理方法已經(jīng)成為新一代飛機飛行試驗的重要內(nèi)容之一。
在飛行試驗過程中,快視分析即對試驗數(shù)據(jù)進行即時瀏覽,并可進行快進、后退、實時拖動等操作,即時將工程師關(guān)心的試驗參數(shù)、時間等關(guān)鍵數(shù)據(jù)進行處理,同時以圖、表動態(tài)顯示,并將該分析的結(jié)果數(shù)據(jù)進行保存。
在飛行試驗過程中,測試系統(tǒng)記錄的飛行試驗全狀態(tài)的試驗數(shù)據(jù)一直是試飛工程師分析試驗科目的依據(jù),如何對試驗數(shù)據(jù)進行高效處理,以便試飛工程師在最短的時間內(nèi)獲得試驗結(jié)果數(shù)據(jù),是飛行試驗數(shù)據(jù)處理專業(yè)一直重點研究的方向。在傳統(tǒng)的飛行試驗測試系統(tǒng)[3]構(gòu)架中,相對來說因試驗數(shù)據(jù)量小、數(shù)據(jù)結(jié)構(gòu)簡單固定,整架次的試飛數(shù)據(jù)處理可以很快的完成,所以試飛工程師對試飛數(shù)據(jù)的即時處理需求不是很強烈。但是現(xiàn)在隨著新一代網(wǎng)絡(luò)化測試系統(tǒng)[4]iNET應(yīng)用于飛行試驗,特別是iNET數(shù)據(jù)量的激增、數(shù)據(jù)結(jié)構(gòu)的靈活多變,雖然對iNET數(shù)據(jù)算法及試飛數(shù)據(jù)處理模式進行了大量的優(yōu)化和改善[5?8];但單次試驗數(shù)據(jù)處理難度和耗時越來越長,同時對試驗iNET數(shù)據(jù)處理的要求也越來越高。在數(shù)據(jù)處理的這種新的形式下,對海量iNET數(shù)據(jù)進行快視瀏覽分析,為試飛工程師提供即時數(shù)據(jù)處理服務(wù),以便試飛工程師即時對接下來的試驗安排進行決策就尤為重要。
1 飛行試驗iNET數(shù)據(jù)
1.1 iNET簡介
美軍在20世紀90年代開始,以空天地一體網(wǎng)絡(luò)化試驗與鑒定為主線,開展了美國國防部的CTEIP 項目之一的基礎(chǔ)倡議2010 (FI2010)工程,其中CIA(CTEIP Integrated Architecture)是試驗集成結(jié)構(gòu)框架的簡稱,其核心研究的內(nèi)容是增強遙測集成網(wǎng)絡(luò)iNET(integrated Network EnhancedTelemetry)。我國飛行試驗長期以來普遍使用的是IRIG106遙測標準的機載測試系統(tǒng),其測試結(jié)果形成標準的PCM數(shù)據(jù)流傳輸和記錄。隨著網(wǎng)絡(luò)化測試技術(shù)在國際先進飛機上的成功應(yīng)用和我國網(wǎng)絡(luò)化測試技術(shù)的成熟,為了解決飛行試驗大容量參數(shù)測量問題,在飛行試驗中采用了網(wǎng)絡(luò)化架構(gòu)的iNET測試系統(tǒng)。
1.2 試飛測試系統(tǒng)iNET數(shù)據(jù)
隨著網(wǎng)絡(luò)化測試系統(tǒng)的應(yīng)用,試飛測試能力大幅提升,試驗數(shù)據(jù)呈數(shù)十倍增長,單架次數(shù)據(jù)量高達120 GB。網(wǎng)絡(luò)化系統(tǒng)將測量結(jié)果形成iNET結(jié)構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包進行傳輸和記錄,iNET網(wǎng)絡(luò)數(shù)據(jù)包的結(jié)構(gòu)與傳統(tǒng)的符合遙測標準的PCM數(shù)據(jù)流截然不同,具有完全不同的數(shù)據(jù)結(jié)構(gòu),同時具有數(shù)據(jù)量大、參數(shù)多、數(shù)據(jù)包分散、數(shù)據(jù)包靈活等顯著特點,iNET網(wǎng)絡(luò)數(shù)據(jù)包結(jié)構(gòu)如圖1所示。
2 內(nèi)存映射技術(shù)
內(nèi)存映射是由一個文件到一塊內(nèi)存的映射,將不必再對文件執(zhí)行I/O操作,取消了將文件數(shù)據(jù)加載到內(nèi)存、數(shù)據(jù)從內(nèi)存到文件的回寫以及釋放內(nèi)存塊等步驟。在飛行試驗網(wǎng)絡(luò)化測試系統(tǒng)的構(gòu)架下,采集的iNET試驗數(shù)據(jù)激增,特別是對于非結(jié)構(gòu)化的試飛測試數(shù)據(jù)來說,頻繁的操作是試飛數(shù)據(jù)分析的一個特點。傳統(tǒng)的試飛數(shù)據(jù)處理中采用的讀取技術(shù)在這種情況下,其處理速度不能適應(yīng)在新的形勢下現(xiàn)代飛行試驗工程對數(shù)據(jù)處理的要求,其效率不能讓試飛工程師滿意。而使用內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時能起到相當重要的作用,可以解決傳統(tǒng)試飛數(shù)據(jù)處理不能解決的難題。
內(nèi)存映射文件實現(xiàn)主要使用了以下5個API函數(shù):CreateFile(),CreateFileMapping(),MapViewOfFile(),UnmapViewOfFile(),CloseHandle()。
隨著網(wǎng)絡(luò)化測試的試驗數(shù)據(jù)量激增,內(nèi)存映射技術(shù)為海量試驗數(shù)據(jù)的快視讀取提供了解決方案。
3 飛行試驗快視分析
在飛行試驗中對試飛測試系統(tǒng)技術(shù)負責人來說,特別是在一架新的試驗機測試系統(tǒng)運行初期,測試系統(tǒng)和試驗機子系統(tǒng)的交聯(lián),加裝的測試傳感器和試驗環(huán)境的交聯(lián),往往會出現(xiàn)參數(shù)測量誤差等問題。這時飛行試驗數(shù)據(jù)的快視分析是試飛工程師定位并排除測試故障的重要工具。同時在試驗后,試飛數(shù)據(jù)的快視分析也一直是試飛工程師快速做出決策的重要輔助手段之一。
3.1 傳統(tǒng)PCM快視分析
在傳統(tǒng)的PCM構(gòu)架技術(shù)的飛行試驗測試系統(tǒng)中,由于試驗的數(shù)據(jù)量較小,同時PCM結(jié)構(gòu)相對iNET結(jié)構(gòu)來說較為簡單,通常對PCM試驗數(shù)據(jù)做長周、短周的分析就可以滿足試飛工程師即時數(shù)據(jù)分析需求。因數(shù)據(jù)量較小,全程試驗數(shù)據(jù)處理耗時不多,故無需在快視分析中單獨對PCM試驗數(shù)據(jù)進行關(guān)鍵時間處理,也無需在快視分析時對試驗數(shù)據(jù)進行實時拖動、快進、后退等復(fù)雜操作,對關(guān)鍵參數(shù)的曲線也沒有要求。
3.2 新形勢下iNET快視分析
在采用了iNET網(wǎng)絡(luò)化測試系統(tǒng)之后,iNET數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜;同時試驗測試參數(shù)量、數(shù)據(jù)量激增,試飛工程師進行快視分析時,要求可以對iNET試驗數(shù)據(jù)進行關(guān)鍵時間處理,對iNET試驗數(shù)據(jù)進行實時拖動、快進、后退等操作;同時對關(guān)鍵參數(shù)的曲線繪制也有要求,所以iNET試驗數(shù)據(jù)快視分析必須解決這些問題,滿足試飛工程師的即時處理需求。
4 飛行試驗iNET數(shù)據(jù)快視分析的關(guān)鍵技術(shù)
4.1 海量iNET數(shù)據(jù)快速讀取和定位技術(shù)
在處理飛行試驗海量iNET網(wǎng)絡(luò)數(shù)據(jù)時,需進行大量的I/O文件操作。如果按照傳統(tǒng)的文件指針模式去提取iNET數(shù)據(jù),在數(shù)據(jù)處理效率上有可能不能滿足飛行試驗海量iNET數(shù)據(jù)處理的需求。針對快速讀取海量原始iNET數(shù)據(jù),內(nèi)存映射文件模式避免頻繁的對文件執(zhí)行I/O操作,快速地將試驗原始iNET數(shù)據(jù)讀取到內(nèi)存。結(jié)合iNET試驗數(shù)據(jù)的特點,采用內(nèi)存映射文件技術(shù),實現(xiàn)海量iNET試驗數(shù)據(jù)快速地讀取和定位,其實現(xiàn)流程如圖2所示。當試飛工程師對試飛iNET數(shù)據(jù)軟件界面操作時,利用界面的進度條進行信息交換。在試飛工程師操作后,設(shè)定界面進度條的百分比是Per,同時設(shè)定試驗數(shù)據(jù)大小為DaSize,需定位的位置為PoSize可得:
4.2 iNET完整幀分析技術(shù)
通過文件快速定位之后,將文件指針移動到試飛工程師指定的文件位置,通常該指定位置不是一個完整試驗數(shù)據(jù)iNET的包頭第一個字節(jié)處,需要進行iNET完整幀分析,快速找到iNET網(wǎng)絡(luò)數(shù)據(jù)包的第一個字節(jié)。
結(jié)合圖1的iNET數(shù)據(jù)包結(jié)構(gòu),使用多重關(guān)鍵字段進行完整幀分析,其算法如下:
(1) 從當前的PointSize處開始,取16 B的數(shù)據(jù),并與struct pcaprec_hdr_s進行比對。因為如果iNET數(shù)據(jù)包是完整的,那么該數(shù)據(jù)包保存在文件中的長度就會等于在網(wǎng)絡(luò)上傳輸?shù)拈L度,所以判斷條件是:[pcaprec_hdr_s.incl_len==pcaprec_hdr_s. orig_len] (2)
(2) 如果式(2)中判斷的值相等則第一層PCAP協(xié)議判斷通過,如果不相等則說明PointSize處不是一個完整的iNET的開始,則使用式(3)對起始位置進行后移:
[PointSize=PointSize+1] (3)
循環(huán)判斷直到式(2)值相等,PCAP協(xié)議判斷通過。
(3) 從PointSize處開始,讀取數(shù)據(jù)長度為pcaprec_hdr_s.incl_len字節(jié),結(jié)合圖1的iNET數(shù)據(jù)包結(jié)構(gòu)中的PacketLength進行包長判斷,判斷條件是:
[pcaprec_hdr_s.incl_len==PacketLength+16] (4)
(4) 如果式(4)中判斷的值相等則第二層iNET協(xié)議通過;如果不相等則回到式(1)中PointSize+1處重復(fù)第(1)步,從新開始完整幀分析,直到通過第二層iNET協(xié)議判斷。
(5) 圖1的iNET數(shù)據(jù)包結(jié)構(gòu)中的EndField為一個特定的值,在飛行試驗中通常設(shè)定其為0xFFFF,所以最后一步在當前讀取到內(nèi)存中的數(shù)據(jù)判斷其最后2 B是否為設(shè)定的特定值。
(6) 如果第(5)步中的判斷沒有通過,回到式(1)中PointSize+1處重復(fù)第(1)步,重新開始完整幀分析,直到通過判斷,獲得一個完整的iNET數(shù)據(jù)包。
4.3 試驗數(shù)據(jù)動態(tài)分析技術(shù)
經(jīng)過iNET完整幀分析,可以獲得完整的iNET數(shù)據(jù)包,對iNET數(shù)據(jù)包需要按試飛工程師的選擇進行分析,需滿足關(guān)鍵時間處理源碼顯示、參數(shù)提取并保存結(jié)果、動態(tài)曲線顯示等,為了獲得最高的效率和最優(yōu)的處理,采用了多線程并行處理技術(shù),源碼顯示和參數(shù)提取為一個處理線程,動態(tài)曲線為一個處理線程,算法如下:
(1) 創(chuàng)建2個線程Thread1和Thread2;
(2) 將完整的iNET數(shù)據(jù)包的數(shù)據(jù)分別傳遞給線程Thread1和Thread2;
(3) 線程Thread1對iNET數(shù)據(jù)進行界面實時刷新顯示,同時按照試飛工程師提取的參數(shù)對iNET數(shù)據(jù)進行處理,并按要求進行輸出保存;
(4) 線程Thread2對iNET數(shù)據(jù)按試飛工程師關(guān)心的參數(shù)進行實時刷新繪圖顯示;
(5) 線程Thread1和Thread2進行同步分析,直到試飛工程師的下一個指令或者試驗數(shù)據(jù)結(jié)尾。
5 設(shè)計實現(xiàn)與測試
使用C++語言開發(fā)了iNET數(shù)據(jù)快視分析軟件[9],分析軟件實現(xiàn)界面如圖3所示。應(yīng)用該軟件對某試驗機測試的iNET數(shù)據(jù)進行快視分析,并計算試驗機的氣壓高度,其計算結(jié)果見圖4。同時,對該試驗iNET數(shù)據(jù)進行了試驗科目[10?11]的參數(shù)快視分析,對該試驗進行即時處理,快速響應(yīng)試飛工程師的數(shù)據(jù)處理需求,實時地將科目參數(shù)進行處理并保存成結(jié)果工程量文件,滿足了試飛工程師對海量iNET試驗數(shù)據(jù)快視分析的需求。iNET快視分析結(jié)果表明:采用基于內(nèi)存映射的iNET快視分析算法正確,數(shù)據(jù)結(jié)果處理準確?;谝陨纤惴ㄩ_發(fā)的飛行試驗iNET試驗數(shù)據(jù)快視分析軟件已在多個型號試飛中推廣使用。
6 結(jié) 語
本文介紹了在現(xiàn)代飛行試驗中海量網(wǎng)絡(luò)化測試iNET數(shù)據(jù)快視分析面臨的難題,分析了傳統(tǒng)PCM快視分析、iNET數(shù)據(jù)結(jié)構(gòu)特點、PCAP數(shù)據(jù)結(jié)構(gòu)特點,采用內(nèi)存映射技術(shù),解決了iNET數(shù)據(jù)快視的關(guān)鍵問題,并設(shè)計實現(xiàn)了iNET數(shù)據(jù)快視分析軟件,解決了現(xiàn)代飛行試驗iNET數(shù)據(jù)的快速瀏覽、即時處理的難題。經(jīng)某試驗機試飛實際驗證,該軟件滿足了試飛工程師的快視分析需求,為現(xiàn)代飛行試驗提供了技術(shù)保障。
參考文獻
[1] Anon. iNET system architecture [M]. [S.l.: s.n.], 2007.
[2] NIKKER I. iNET?X summary [EB/OL]. [2010?03?11]. http://www.acracontrol.com.
[3] Kam500數(shù)據(jù)采集系統(tǒng)[EB/OL].[2005 ?07?01].http://www.yorkinstrument.com.
[4] 劉明.新一代試飛測試系統(tǒng)架構(gòu)及其應(yīng)用[J].計算機測量與控制,2014,22(6):1729?1731.
[5] 袁炳南,霍朝暉,白效賢.飛行試驗大數(shù)據(jù)技術(shù)發(fā)展及展望[J].計算機測量與控制,2015,23(6):1844?1847.
[6] 黨懷義.典型大數(shù)據(jù)倉庫:飛行試驗數(shù)據(jù)倉庫設(shè)計[J].計算機測量與控制,2015,23(4):1407?1409.
[7] 王建軍,黨懷義.基于Web的分布式試飛數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)設(shè)計[J].計算機測量與控制,2010,18(6):1452?1454.
[8] 彭國金,劉嫚婷.非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)研究[J].現(xiàn)代電子技術(shù),2011,34(14):121?123.
[9] 霍建華,劉丹,郭世偉.遙測PCM數(shù)據(jù)加密技術(shù)研究[J].現(xiàn)代電子技術(shù),2015,38(3):66?68.
[10] 胡匯洋,李揚,許應(yīng)康.多試飛數(shù)據(jù)流文件的融合處理[J].現(xiàn)代電子技術(shù),2015,38(8):47?49.
[11] 徐武軍,侯玉宏,段亞.序貫概率比檢驗法在導(dǎo)航精度試飛中的應(yīng)用[J].現(xiàn)代電子技術(shù),2014,37(11):124?128.