?

飛參數據綜合記錄分析系統的設計與實現

2018-03-19 07:45高歌夢月劉榮林
指揮控制與仿真 2018年1期
關鍵詞:消息解析數據庫

高歌夢月, 劉榮林

(天津七一二通信廣播股份有限公司, 天津 300140)

現代戰爭要求新型戰斗機具有多種作戰功能,隨著有源相控陣陣列、開放式架構和數字處理技術的進步,機載多功能綜合射頻一體化逐漸成為未來航空電子系統的發展方向[1]。綜合射頻系統采用信息綜合、資源共享、功能分區、分布式并行處理以及功能組件化等技術,基于通用硬件平臺實現通信、導航、識別、電子偵察等軟件綜合化設計,通過軟件可配置技術,可動態滿足不同作戰任務、構型下的功能需求[2]。系統運行過程中,將產生大量接口數據及軟件維護性數據,這些數據包含重要的飛行狀態參數,能客觀真實地反映飛機運行狀態。飛參數據記錄為系統數據回收、操作過程回溯提供參考,對這些數據進行有效的分析,有利于飛機檢測維護及排故處理。

綜合射頻系統內部及與其他系統間的交互,采用多種類型的接口總線, 不同總線在電氣特征、拓撲結構、數據傳輸格式等方面存在很大的差異性[3]。目前很多飛參記錄分析系統針對的接口類型較為單一,缺乏綜合性與可擴展性。如何高效、準確地對多種類數據進行綜合分析,日益成為航電系統數據分析領域研究的熱點。

基于上述情況,本文設計了飛參數據綜合記錄分析系統。數據記錄部分可以穩定可靠記錄各個接口的飛參數據,數據解析部分可以解析多種類接口數據并進行數據融合,設計數據曲線分析與航跡、音頻綜合回放功能,豐富了數據分析手段。該系統對飛機故障快速定位、飛行質量全面評估具有重要意義。

1 系統總體方案設計

本設計方案目標是實現綜合射頻系統各個關鍵接口數據的記錄、解析及分析。數據記錄方面,需要記錄多總線接口數據,并生成可轉存的具有規范格式的記錄文件。數據分析方面,需要融合多種類型數據進行統一管理,為數據分析提供數據支撐,數據分析包含數據內容解析與數據狀態分析。

系統框圖如圖1所示。數據記錄分析系統包括數據記錄子系統與數據分析子系統。數據記錄板卡通過數據接口接收不同類型的飛參數據并存儲,由數據拷出設備將數據記錄文件轉存到計算機,由數據分析軟件進行數據處理、數據管理、數據解析及數據分析[4,5]。

2 子系統方案設計

2.1 數據記錄子系統設計

數據記錄子系統主要由數據記錄板卡和數據記錄文件組成。數據記錄板卡主要完成綜合射頻系統各設備之間關鍵接口的數據記錄,并從物理和邏輯上對接口進行隔離,不影響接口正常工作。接口包括RapidIO、FC、CAN、ARINC429、GPIO及RS422。

為統一多種接口數據的存儲格式,便于分析軟件自動識別接口類型,設計了如下存儲規則:記錄單元每次上電生成一個新目錄保存單架次飛行數據,目錄格式為“數字序號-年月日”;單架次記錄的所有接口數據保存為.dat文件,存儲在該目錄下,按“接口名稱-源地址-目的地址”規則命名。

數據記錄板卡主要技術性能指標如下:

1)具有RTC實時時鐘功能,上電時接收系統發送的時間進行校準,對記錄數據打時間戳;

2) 可連續記錄8小時數據;

3) 可通過網口讀出指定數據;

4) 具有預留可擴展接口;

5) 具有自檢能力。

2.2 數據分析子系統設計

數據分析子系統通過數據分析軟件實現數據分析功能。數據分析軟件采用模塊化設計,包括數據處理、數據管理、數據解析與數據分析模塊。數據分析子系統結構如圖2所示。

數據處理模塊讀取數據記錄文件,識別接口類型,解封裝數據,提取錯誤幀,實現多總線接口數據融合;數據管理模塊基于數據庫實現數據統一管理;數據解析模塊讀取XML格式的接口控制文件ICD(Interface Control Document),根據數據塊ID查找對應定義實現解析;數據分析模塊包括數據檢索、曲線分析及數據回放,實現飛參數據的綜合分析。

3 關鍵技術與解決途徑

3.1 多接口數據融合

3.1.1 多線程處理

本研究項目的綜合射頻系統在單次飛行中約產生幾十個記錄文件,文件總大小約為幾百MB,包含6類接口數據。實際應用中需要集中分析多次飛行數據,為適應海量飛參數據處理需求,本設計采用多線程并行處理方法[6]。

部署一個管理線程,根據CPU情況設定文件處理線程的數量。管理線程將待處理文件加入文件處理列表,查找空閑的文件處理線程讀取并處理列表中的文件。處理結束后,管理線程將文件名從文件處理列表中移除并回收該文件處理線程。文件處理線程負責數據記錄文件讀取、拼幀處理及錯誤幀提取。

3.1.2 數據融合

根據文件名稱識別文件類型,按照不同總線數據格式執行數據解封裝、拼幀及校驗。提取時間戳、源地址、目的地址、消息屬性、消息類型、消息長度及消息數據,統一存儲在結構體鏈表listMsg中,并將不完整幀、超長幀、校驗錯誤幀、數據超范圍幀及特殊錯誤幀標識錯誤類型存儲在結構體鏈表listEmsg中。同時,將相同設備間傳輸的音頻數據進行拼接,分別存儲為.wav格式的音頻文件。

數據記錄板上電時接收系統時間有延遲,為提高系統分析精度,對非系統時間的時間戳進行校正。按照時間順序,將全部類型的正確幀存儲在數據庫有效數據表TableUser中,將全部類型錯誤幀數據存儲在數據庫錯誤數據表TableError中,完成數據融合。

3.2 數據快速存儲

3.2.1 存儲模式

本系統采用SQLite數據庫存儲數據,該數據庫具有實時性高、系統開銷小的特點,能夠高效利用有限資源,提高數據存取速度。為避免重復解析,每架次飛行記錄數據對應一個數據庫文件,查看某架次飛行數據歷史記錄時,根據文件命名自動匹配對應庫。對單次分析的數據文件采取MEMORY內存記錄模式,將數據庫創建在計算機內存中,可隨時存儲查詢,相比硬盤記錄模式能夠有效提高讀寫性能。

3.2.2 存儲性能優化

數據插入數據庫的全部時間

RT=m×(NetTime+ParseTime+ExecTime+CommitTime)

(1)

式中,RT為應用程序總響應時間,NetTime為SQL語句的傳輸時間,ParseTime為SQL語句的編譯時間,ExecTime為SQL語句執行時間,CommitTime為數據庫提交時間。綜合采用綁定變量、批處理及事物操作方式縮短RT[7],提高數據入庫效率。

1)綁定變量

該方式可降低SQL語句的ExecTime。將插入語句中的value值用變量代替:

insert into TableUser (idKey, Time, dataType, Src, Dst, Hid, Lid, Len, data)

values(:v-idKey,:v-Time,:v-dataType,:v-Src,:v-Dst,:v-Hid,:v-Lid,:v-Len,:v-data);

多條插入語句將被處理為一條語句,只需硬解析1次,大大降低插入命令在硬解析中的開銷。

2)批處理

SQL語句的傳輸時間NetTime由計算機硬件條件決定,批處理通過一次發送多條SQL命令,可降低NetTime。本系統對使用批處理插入數據時間進行測試,插入時間隨每次提交SQL語句條數增加而降低,當一次性提交數量達到10 000時,時間穩定在150ms左右,當提交條數繼續增加,插入時間緩慢回升。綜合測試結果,本系統選擇一次性提交10 000條數據。

3)事物操作

SQLite中每條插入或更新語句都執行一次打開數據庫、寫數據庫、關閉數據庫的操作,事務操作將大批量插入或更新操作定義為一組事務,有效降低了數據庫操作的時間。

3.3 數據解析

常規解析模式是針對不同ICD分別開發解析程序,工作量大、代碼冗余度高,修改或添加接口時需要同步修改解析程序,降低了數據分析工作效率。為了解決這一問題,本文設計了基于XML的數據解析方法[8],建立了數據值與其代表含義的映射關系,實現ICD和程序編碼的隔離,可靈活變動數據接口協議,降低解析程序開發和維護成本,增強系統通用性。

3.3.1 XML文件設計

XML文件由Interface接口文件與ICD協議文件兩部分構成。

Interface接口文件建立了數據幀到對應ICD協議文件的映射關系。根據數據所屬接口類型劃分,每個目的地址(設備序號)對應一個協議文件,主要結構如下:

接口類型

./設備對應ICD.xml

其中,INTER代表數據接口,INTER-TYPE定義了接口類型,ICDS代表該接口的設備對應的接口協議,icd-filename 定義了設備序號、設備名稱及設備對應協議的XML文件路徑。

協議文件為具體的解析協議,建立了消息內容到代表含義的映射關系,主要結構如下:

消息塊長度

其中,ICD-DESCRIPTION定義了ICD名稱、版本、數據大小端信息,BLOCK-CTRL與BLOCK-ANSWER分別代表發送消息塊與應答消息塊,BLOCK定義了消息塊號與消息塊名稱,BLOCK-LEN規定了消息塊長度,VAR-STRUCT定義了消息內容占用空間、起始字節及數據類型,VARIANT定義了具體消息的bit位與名稱,Map建立了數據值Value與其代表含義的映射。

3.3.2 XML解析過程

由原始數據幀的源地址與目的地址,根據接口XML的映射關系即可確定對應ICD的XML文件及消息傳輸方向,結合消息塊號BLOCK-ID可定位該數據幀對應的消息塊。由VAR-STRUCT及VARIANT定義,將數據轉化為對應的數據結構,在Map映射中根據鍵值Value即可獲取其含義。

3.4 數據回放

數據回放需要提取飛行狀態數據與話音數據,實現飛行航跡與音頻回放。

通過QtWebkit引擎加載JavaScript腳本,調用百度離線地圖API加載本地瓦片地圖。調取指定飛行數據庫文件,提取航跡相關數據,對經緯度加以糾偏校正,隨時間步長變化在地圖上同步更新顯示。其中,經緯度數據用于繪制飛行軌跡,飛行高度及飛行姿態數據用于當前飛行狀態的輔助分析。提取音頻文件的初始時間戳,當回放時間進行到音頻記錄初試時間時,播放.wav音頻文件。

回放模塊可以進行航線規劃、飛行模擬等功能拓展[9],并構建3D場景模擬飛行路線,同時可結合其他飛參數據實現多種類數據的同步回放。

4 系統實際應用示例

4.1 數據解析示例

對數據內容部分進行解析,解析結果包含消息塊名稱、消息內容名稱與對應含義,結果輸出如圖3所示。

4.2 數據檢索示例

通過數據檢索可視化界面,可自定義組合篩選條件。檢索條件包括時間檢索、消息格式檢索、消息內容檢索及多種條件組合檢索。消息內容檢索精確到bit級,提高了消息內容分析的靈活性與準確度。組合條件可保存為txt文件,支持重復調用,實現檢索功能的個性化配置。組合檢索條件設置及檢索結果如圖4所示。

4.3 曲線分析示例

曲線圖可直觀反映高度、方位等飛參數據隨時間的變化趨勢,折線圖可顯示出離散線電平變化,同時,根據數據突變點能夠快速定位到異常消息時間點,精度達到1s。用戶可自定義數據源及圖像參數,將需要查看的數據bit位通過曲線精準顯示。自定義數據曲線如圖5所示。

4.4 數據回放示例

航跡回放在二維平面地圖上顯示飛行軌跡,并可查看當前時間、經緯度、飛行高度、飛行姿態等信息。音頻回放能夠播放指定.wav音頻文件,根據音頻波形快速定位至有效話音時段,能夠滿足實際分析需要。數據回放界面如圖6所示。

5 結束語

本設計構建了綜合射頻系統數據記錄與數據分析的一體化平臺。數據記錄子系統記錄多種接口的飛參數據,并統一了存儲格式與文件命名,為大量數據的綜合分析奠定了基礎。數據分析子系統中,數據處理模塊通過多線程設計提高處理效率,實現多接口數據融合;數據管理模塊采用數據庫存儲管理數據,優化了數據存取模式,有效降低了數據存儲及檢索時間,為數據分析提供支撐;數據解析模塊設計基于XML的解析方式,增強了系統通用性;數據分析模塊集數據檢索、曲線分析、數據回放功能于一體,通過數據、圖像、航跡及音頻全方位評估飛行質量、快速定位系統故障。與現有飛參分析系統相比,本系統綜合性強、通用性好、分析效率高,已成功應用在實際項目中。

[1] 薛慧,張昊. 機載多功能綜合射頻一體化發展研究[J]. 中國電子科學研究院學報,2016,11(5):532-539.

[2] 胡元奎,靳學明,范忠亮. 多功能綜合射頻系統技術研究[J]. 雷達科學與技術,2015,13(3):233-234.

[3] 朱良,杜承烈. 通用航空總線測試與分析軟件的設計和實現[J]. 微電子學與計算機,2007,24(7):125.

[4] 喬晉龍,李冠林. 一種飛參記錄數據解析軟件的設計與實現[J]. 電子設計工程,2016,24(13):21-25.

[5] 衛保國,蔡偉等. 航電ARINC429總線監測系統的設計與實現[J]. 電子設計工程,2014,22(3):37-41.

[6] 馮曉林,戴衛兵,彭國金. C919飛機航空總線采集和實時分析技術[J]. 飛行力學,2016,34(5):73-76.

[7] 張逸,楊洪耕. 海量電能質量數據交換格式文件快速解析方案[J]. 電力自動化設備,2013,33(12):116-121.

[8] 辛懷聲,王鵬. 基于XML的數據解析軟件設計與實現[J]. 電腦知識與技術,2014,10(1):57-59.

[9] 張寧,張安,張耀中. 飛行數據綜合回放系統設計[J]. 火力與指揮控制,2013,38(12):43-47.

猜你喜歡
消息解析數據庫
三角函數解析式中ω的幾種求法
一張圖看5G消息
晚步見道旁花開
睡夢解析儀
電競初解析
數據庫
對稱巧用解析妙解
數據庫
數據庫
數據庫
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合