国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于元數(shù)據(jù)驅(qū)動的通用飛艇遙測數(shù)據(jù)解析方法

2022-11-08 03:32楊喜兵郭小偉
現(xiàn)代導航 2022年5期
關(guān)鍵詞:數(shù)據(jù)項平流層飛艇

楊喜兵,郭小偉

基于元數(shù)據(jù)驅(qū)動的通用飛艇遙測數(shù)據(jù)解析方法

楊喜兵,郭小偉

(中國電子科技集團公司第二十研究所,西安 710068)

通過元數(shù)據(jù)和XML技術(shù),提出建立數(shù)據(jù)字典和通用飛艇遙測協(xié)議解碼方法來提高飛艇遙測協(xié)議報文的擴展性問題,建立一種基于元數(shù)據(jù)的通用飛艇遙測協(xié)議數(shù)據(jù)解碼方法,同時基于數(shù)據(jù)字典技術(shù)開發(fā)了飛艇通用協(xié)議編輯輔助設(shè)計工具,方便用戶對不同的飛艇遙測協(xié)議可拓展標記語言文件進行維護和擴展設(shè)計,最后在某型飛艇遙測數(shù)據(jù)監(jiān)控軟件中應(yīng)用該通用數(shù)據(jù)解析方法,實驗結(jié)果表明,該方法可以滿足通用飛艇遙測數(shù)據(jù)通用解析的要求。

飛艇遙測;元數(shù)據(jù);數(shù)據(jù)字典;通用解析

0 引言

平流層飛艇是一種工作在平流層的新型浮空飛行器,它的主要工作原理是在囊體內(nèi)充入比空氣密度低的氣體來產(chǎn)生上升的浮力,同時帶有飛行動力控制功能[1-4]。平流層穩(wěn)定的氣象條件和良好的電磁特性,使平流層飛艇在通信、預警和偵察、電子對抗等軍民領(lǐng)域有著廣闊的應(yīng)用前景。目前,國內(nèi)外多個單位已開展了平流層飛艇的研制工作,并成功完成了多次平流層飛艇飛行試驗。

平流層飛艇飛行試驗之前需在地面開展測試以保證飛艇測控、安全控制等關(guān)鍵分系統(tǒng)功能正常和全系統(tǒng)高可靠長時間運行。作為地面測試的重要組成部分,飛艇遙測數(shù)據(jù)監(jiān)控軟件可以對地面測試過程中飛艇各個設(shè)備及分系統(tǒng)的參數(shù)進行監(jiān)測和數(shù)據(jù)顯示。但是不同研制單位所采用的飛艇研究技術(shù)不同,導致遙測數(shù)據(jù)的協(xié)議格式往往存在差異性,測試前需要專門開發(fā)各型飛艇的遙測數(shù)據(jù)解析軟件,這種做法耗時耗力且通用性差。此外隨著飛艇的不斷發(fā)展和升級,飛艇的設(shè)備和子系統(tǒng)在不斷增加,這對協(xié)議解析軟件提出了可擴展性的要求。因此如何將不同飛艇遙測數(shù)據(jù)的協(xié)議統(tǒng)一解析處理是當下急需解決的問題。

處理上述問題,元數(shù)據(jù)是一個很好的技術(shù)方案。元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù)范式,它通過統(tǒng)一的方法對數(shù)據(jù)格式進行描述,然后用統(tǒng)一的處理方式來處理描述結(jié)果。另外元數(shù)據(jù)往往是用數(shù)據(jù)字典的方式靜態(tài)存儲,可拓展標記語言(Extensible Markup Language,XML)經(jīng)常用來描述元數(shù)據(jù),作為它僅在程序運行過程中起著解釋方式控制行為的作用,與程序編譯無關(guān)。其中有的在火控系統(tǒng)領(lǐng)域,結(jié)合元數(shù)據(jù)、數(shù)據(jù)字典和XML技術(shù)建立了火控系統(tǒng)和通用協(xié)議解碼方法,有的在工業(yè)控制領(lǐng)域研究提供基于元數(shù)據(jù)驅(qū)動的通用電文解析[2],有的基于在指揮控制系統(tǒng)領(lǐng)域設(shè)計可變消息格式的報文解析工具,在多平臺數(shù)據(jù)環(huán)境中設(shè)計了解析工具[6]。本文將結(jié)合元數(shù)據(jù)和數(shù)據(jù)字典領(lǐng)域當前的研究現(xiàn)狀,采用XML描述的報文數(shù)據(jù)結(jié)構(gòu)和約束條件,建立一種通用飛艇遙測數(shù)據(jù)解碼方法。

1 協(xié)議信息數(shù)據(jù)結(jié)構(gòu)

為了保證飛艇遙測數(shù)據(jù)通信的實時性,通常使用用戶數(shù)據(jù)報文作為數(shù)據(jù)傳輸?shù)膱笪膮f(xié)議,一般由三部分組成,分別為報文頭、報文內(nèi)容以及報文尾。其中報文頭存放一些報文類型、報文長度、報文時間等信息;報文尾一般由校驗和或者特定的字符表示;報文內(nèi)容是需要傳輸?shù)臄?shù)據(jù)內(nèi)容,一般都為二進制原始數(shù)據(jù),具有編碼性質(zhì),根據(jù)不同飛艇傳輸?shù)臄?shù)據(jù)不同,編碼的實際含義不同。用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)通信報文的結(jié)構(gòu)如圖1所示。

圖1 報文基本結(jié)構(gòu)

每一個飛艇遙測數(shù)據(jù)協(xié)議由多個元數(shù)據(jù)(Item)組成。元數(shù)據(jù)都有自己的相關(guān)屬性,這些屬性由協(xié)議文檔對數(shù)據(jù)元的約束條件以及協(xié)議文檔的組織結(jié)構(gòu)規(guī)范化定義組成。這些屬性信息都是描述報文元數(shù)據(jù)結(jié)構(gòu)的特征信息,包括元數(shù)據(jù)ID、元數(shù)據(jù)名稱、占用比特位數(shù)、數(shù)據(jù)元位置、大小端類型、數(shù)據(jù)類型、偏移量、步進量和單位等。其中元數(shù)據(jù)ID用于元數(shù)據(jù)的全局唯一標識;元數(shù)據(jù)名稱用于用戶界面顯示元素項;占用比特位數(shù)用于確定元數(shù)據(jù)在報文中的數(shù)據(jù)長度,長度單位為bit;數(shù)據(jù)元位置是該元素項在協(xié)議中所占的索引位置;大小端類型是標識該元數(shù)據(jù)編碼時字節(jié)填充的順序;數(shù)據(jù)類型為元數(shù)據(jù)的數(shù)據(jù)類型;偏移量是元數(shù)據(jù)解碼時需要疊加的基礎(chǔ)數(shù)值;步進量標識該元數(shù)據(jù)編碼時的量綱系數(shù);單位是該元數(shù)據(jù)項的顯示時的單位名稱。

2 數(shù)據(jù)字典設(shè)計實現(xiàn)

考慮到適應(yīng)不同飛艇遙測數(shù)據(jù)的解析問題,對元數(shù)據(jù)提出了可以進行動態(tài)新增、刪除和修改的需求,同時也可以對元數(shù)據(jù)的約束條件和協(xié)議數(shù)據(jù)的格式定義進行描述和限制[10],為了更好地描述飛艇遙測數(shù)據(jù)信息以及方便對報文數(shù)據(jù)信息進行修改和擴展,結(jié)合XML良好的可擴展性,非常適合用來描述元數(shù)據(jù),故采用XML文件描述飛艇遙測數(shù)據(jù)的所有相關(guān)信息。

這里飛艇遙測數(shù)據(jù)的特征存在兩個特點,一是飛艇遙測數(shù)據(jù)協(xié)議都是基于字節(jié)或者比特流元數(shù)據(jù)組成,元素編碼值都是有符號整數(shù)或者無符號整數(shù)且比特流元素項一定是整字節(jié)的;二是飛艇遙測數(shù)據(jù)協(xié)議是定長協(xié)議,不存在不定長協(xié)議。

如圖2所示是XML配置文件的一個例子,主要結(jié)合某飛艇遙測數(shù)據(jù)協(xié)議部分字段的XML描述,其中元素節(jié)點代表協(xié)議名稱;是協(xié)議描述信息;描述的是報文頭相關(guān)的信息;HeadLength是報文頭長度;HeadStartPos代表頭的起始位置;HeadStartValue=0xAA是報文頭的一個字節(jié),內(nèi)容是0xAA;代表每一個元素項的定義,其中itemID表示唯一標識;offset表示偏移量;startBitPos表示開始索引;isBigEndian表示是否為大端;dataType表示數(shù)據(jù)類型;unit表示單位;endBitPos表示結(jié)束索引;bitLength表示元素項比特長度;precisionStep表示步進量;itemName表示元素項名稱;isFloat表示實際值是否為浮點數(shù)。

圖2 報文結(jié)構(gòu)示例

3 通用協(xié)議報文解析設(shè)計

針對第2節(jié)定義的協(xié)議XML文件,設(shè)計一種通用解析飛艇遙測監(jiān)測原始二進制數(shù)據(jù)流的方法,將數(shù)據(jù)流和配置文件中的內(nèi)容一一對應(yīng),取出遙測原始數(shù)據(jù)中的真實值。如圖3所示,具體流程如下:

1)初始化協(xié)議XML文件,將XML加載在程序內(nèi)存中;

2)讀取XML文件中報文頭定義的數(shù)據(jù)長度,與實際原始二進制數(shù)據(jù)的長度比較,如果長度一致,進入下一步,不相等則退出流程;

3)讀取XML文件獲取報文數(shù)據(jù)段的起始索引位置以及元數(shù)據(jù)項的總個數(shù),設(shè)置解析元數(shù)據(jù)Index=0;

4)索引Index++,根據(jù)索引index獲取當前解析的元數(shù)據(jù)項;

5)判斷當前解析解元數(shù)據(jù)項為字節(jié)數(shù)據(jù)項還是比特流數(shù)據(jù)項,如果是字節(jié)則按照字節(jié)數(shù)據(jù)項解析,如果是比特則按照比特流數(shù)據(jù)項解析,最后更新數(shù)值;

6)判斷當前index是否等于元數(shù)據(jù)項個數(shù),如果等于則代表當前數(shù)據(jù)項為最后一個數(shù)據(jù)項,則解析完成,否則進入第4)個步驟;

圖3 通用報文解析算法流程圖

4 實驗驗證

開發(fā)環(huán)境選用QT5.9.8[5,6],運行操作系統(tǒng)是Windows 10操作系統(tǒng),數(shù)據(jù)庫選用開源的SQLite數(shù)據(jù)庫,數(shù)據(jù)源采用人工模擬飛艇遙測數(shù)據(jù)。如圖4所示,實驗由三部分軟件組成:

1)飛艇協(xié)議通用編輯工具;

2)飛艇協(xié)議數(shù)據(jù)模擬器軟件;

3)通用飛艇遙測監(jiān)控軟件。

其中飛艇協(xié)議通用編輯工具主要完成飛艇協(xié)議數(shù)據(jù)XML文件的編輯和管理功能;飛艇協(xié)議數(shù)據(jù)模擬器軟件按照XML文件定義的協(xié)議格式模擬生成遙測數(shù)據(jù)的原始二進制數(shù)據(jù)并通過用戶數(shù)據(jù)報文協(xié)議發(fā)送出去;通用飛艇遙測監(jiān)控軟件提供飛艇協(xié)議管理和協(xié)議數(shù)據(jù)實時查看功能。

圖4 實驗組成原理圖

具體過程為:

1)按照實際飛艇遙測數(shù)據(jù)協(xié)議格式,用戶使用通用飛艇協(xié)議編輯軟件將協(xié)議數(shù)據(jù)生成為XML文件,如圖5所示。

圖5 協(xié)議編輯軟件

2)飛艇遙測數(shù)據(jù)模擬器軟件按照遙測數(shù)據(jù)實際的數(shù)據(jù)格式打包,通過網(wǎng)口UDP組播發(fā)送給遙測數(shù)據(jù)監(jiān)控軟件,如圖6所示。

圖6 遙測設(shè)備數(shù)據(jù)模擬器

3)打開遙測數(shù)據(jù)監(jiān)控軟件,雙擊飛艇單元格進行字段信息修改,其中協(xié)議文件選擇需要右鍵菜單選擇剛剛生成的遙測數(shù)據(jù)XML協(xié)議文件,選擇.xml文件進行添加,最后點擊保存按鈕進行保存,如圖7所示。

圖7 給飛艇添加XML文件

4)打開遙測數(shù)據(jù)監(jiān)控軟件,選擇飛艇新建遙測監(jiān)測任務(wù),點擊開始任務(wù),實時顯示飛艇的遙測數(shù)據(jù)信息數(shù)據(jù)如圖8所示。

圖8 實時遙測數(shù)據(jù)顯示

5 結(jié)語

本文按照飛艇遙測數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),利用XML的技術(shù)特點,用XML配置文件形式描述了元數(shù)據(jù)信息,設(shè)計了基于元數(shù)據(jù)的通用的飛艇遙測數(shù)據(jù)解析方法,解決了不同飛艇遙測數(shù)據(jù)實時監(jiān)測的問題以及飛艇遙測數(shù)據(jù)協(xié)議可擴展性問題。同時,基于數(shù)據(jù)字典技術(shù)開發(fā)了飛艇通用協(xié)議編輯輔助設(shè)計工具,方便用戶對不同的飛艇遙測協(xié)議XML文件進行維護和擴展設(shè)計,最后在某型飛艇遙測數(shù)據(jù)監(jiān)控軟件中應(yīng)用該通用數(shù)據(jù)解析方法,實驗結(jié)果表明,該方法可以滿足飛艇遙測數(shù)據(jù)通用解析的要求。

[1] 楊秋萍,席德科. 飛艇技術(shù)發(fā)展現(xiàn)狀與趨勢[J]. 航空制造技術(shù),2010(19):4.

[2] 趙達,劉東旭,孫康文,等. 平流層飛艇研制現(xiàn)狀、技術(shù)難點及發(fā)展趨勢[J]. 航空學報,2016,37(1):45-46.

[3] 夏中賢. 平流層飛艇總體性能與技術(shù)研究[D]. 南京:南京航空航天大學,2006:6-16.

[4] 李海剛,高欣. 基于元數(shù)據(jù)驅(qū)動的通用電文解析技術(shù)[J]. 控制工程,2013,20(S1):142-145.

[5] (美)索林(Solin, P.)著,袁鵬飛譯. 24小時學通Qt編程[M]. 北京:人民郵電出版社,2000.

[6] (加)布蘭切特(Blanchette,J.),(英)薩默菲爾德(Summerfield,M.)著,閆鋒欣等譯. C++ GUI Qt4編程[M]. 2版,北京:電子工業(yè)出版社,2008.

[7] 甘曉華,郭穎. 飛艇技術(shù)概論[M]. 北京:國防工業(yè)出版社,2005:49-52.

[8] 劉宏波,魯杰,王永斌,等. 數(shù)據(jù)字典在轉(zhuǎn)換工具中的應(yīng)用設(shè)計[J]. 計算機工程與設(shè)計,2009,30(24):5612-5615.

[9] 胡文琳,叢力田. 平流層飛艇預警探測技術(shù)進展及應(yīng)用展望[J]. 現(xiàn)代雷達,2011,33(1):5-7.

[10]張曉林. 元數(shù)據(jù)開發(fā)應(yīng)用的標準化框架[J]. 現(xiàn)代圖書情報技術(shù),2001(2):9-15.

Analysis Method of Universal Airship Telemetry Data Driven by Metadata

YANG Xibing, GUO Xiaowei

Through metadata and XML technology, the establishment of a data dictionary and a general airship telemetry protocol decoding method to improve the scalability of airship telemetry protocol packets is proposed, a metadata-based general airship telemetry protocol data decoding method is established. At the same time, based on the data dictionary technology developed an airship general protocol editing aided design tool, which is convenient for users to maintain and extend the design of different airship telemetry protocol XML files. Finally, the general data analysis method is applied in a certain type of airship telemetry data monitoring software. The experimental results show that this method can meet the general analysis requirements of general airship telemetry data.

Airship Telemetry; Metadata; Data Dictionary; General Parsing

V274

A

1674-7976-(2022)-05-369-05

2022-04-21。楊喜兵(1990.01—),陜西榆林人,碩士研究生,工程師,主要研究方向為計算機軟件與理論。

猜你喜歡
數(shù)據(jù)項平流層飛艇
青藏高原上空平流層水汽的時空演變特征
基于副氣囊的平流層浮空器高度控制
一種多功能抽簽選擇器軟件系統(tǒng)設(shè)計與實現(xiàn)
非完整數(shù)據(jù)庫Skyline-join查詢*
基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實現(xiàn)
1979~2011年間平流層溫度及平流層水汽的演變趨勢
派個飛艇去火星
“平流層”是個啥——話說飛行高度
飛艇的前世今生(下)
飛艇的前世今生(中)