梁家華,張溦溦,張志遠
(中國民航大學計算機科學與技術學院,天津300300)
Q A R數據的飛行階段劃分與列式壓縮存儲設計*
梁家華,張溦溦,張志遠
(中國民航大學計算機科學與技術學院,天津300300)
QAR全稱Quick access recorder,是一種標準的機載飛行數據記錄設備,QAR數據是時序數據,采樣頻率高,數據量巨大。通過對QAR數據的研究,我們可發現其中相當多列的數據存在冗余或是遵循一定的規律。利用Visual Studio開發環境結合SQLServer數據庫,將QAR數據劃分為滑行起飛、爬升、巡航、下降、進近著陸等五個階段,進一步針對不同階段中不同特征的數據列設計不同的壓縮方法,用列式壓縮存儲的方法去除QAR列數據中的冗余,對QAR數據進行更加有效地管理。
QAR;飛行階段;列式壓縮
快速存取記錄器QAR中記載了極其豐富的飛行數據,具有不可循環記錄、記錄數據比黑匣子(FDR)多、不帶保護裝置、便于存取等特點,被廣泛應用于機務維修、飛行檢查、飛行品質監控等方面[1]。充分利用與挖掘QAR數據的功能,將對飛行品質、安全系數、飛行效益等多方面進行改善,對航空公司乃至民航事業的發展將產生極大的推動作用。但由于缺乏專業化的數據分析工具和有效的數據監控,大量數據未能被充分利用,造成了資源的極大浪費。且由于QAR數據采樣頻率較高,大量的信息源源不斷地產生,不可避免地產生數據冗余。本論述通過對QAR數據進行飛行階段劃分,并針對劃分后的數據列的特點設計不同的壓縮方式,對這一龐大的數據進行更加有效地管理,具有較大的研究意義。
1.1航班基本信息提取
QAR數據量大而且結構復雜,本論述針對QAR數據進行研究,將其與單純的數據區分開來就必然不能忽略對航班信息的提取以及所分析數據的意義。QAR數據源為CSV格式的數據文件,默認以Excel電子表格的形式打開,QAR數據頭一般的格式為:第1行為譯碼信息(包括飛機注冊號),第2行為航班信息(包括航班號、始發機場、目的機場、出發時間以及到達時間等信息),第3行為數據參數名詳細解釋,第4行為數據參數的簡稱,第5行為數據的單位,第6行之后為具體的QAR數據[2]。文件示例見圖1所示。

圖1 QAR數據CSV文件示例
提取航班信息,首先在數據庫中創建一個航班基本信息表,表的結構設計見表1所示。信息的提取需要系統能夠靈活地讀取excel文件的單元格中的數據,在項目中添加對Interop.Excel.dll、Interop.Office.dll以及Interop.VBIDE.dll的引用[3],使用封裝在自定義類中的getvalue(int row,int col)方法獲取指定單元格中的值,實現語句為worksheet.get_Range(worksheet.Cells[row,col],worksheet.Cells[row,col]);轉換為字符串格式之后用split函數在空格處進行拆分,在返回的數組中篩選出所需要的數據存儲在數據庫中。

表1 航班信息表結構
1.2飛行階段劃分
飛機要完成一次飛行任務要經過滑行和起飛、爬升、巡航、下降、進近和著陸幾個階段。不同的機型具有不同的劃分標準,結合實際操作的可行性,本論述將數據進行階段劃分采用的標準見表2所示。

表2 航班飛行階段劃分標準
QAR數據中所參考的參數為:地速(GROUND SPEED);無線電高度(RADIO HEIGHT);標準氣壓高度(STANDARD ALTITUDE)。
不同的機型具有不同的參數,甚至相同的機型參數列也不盡相同,1 000多列至2 000多列不等,而能夠明確參數意義且與飛行品質監控密切相關的參數不超過70列,因此可將關鍵參數列篩選出來。數據庫中插入數據一般按行操作,而篩選參數及數據需按列提取,因此暫時將其保存在excel文件中,在階段劃分完成后將excel文件導入數據庫中后刪除該文件。
每一個QAR數據文件上傳后,系統即自動創建一個同名的excel文件,在每個excel文件中創建五個sheet表,分別命名為滑行起飛、爬升、巡航、下降、進近著陸。每個表中第1行提前插入要提取的參數列的名稱。依據上述標準中的參數定位出各個階段的起始與終止行。對應參數的對應區域的值復制到相應的excel表中。
選擇階段劃分之后再進行壓縮的原因為:對各個階段來說,關鍵參數存在差異,特點也不盡相同;飛行關鍵階段為滑行起飛階段和進近著陸階段,按需壓縮減少了不必要的工作。
本論述將QAR數據依據飛行階段劃分標準劃分為滑行起飛、爬升、巡航、下降、進近著陸等5個階段之后,再選取某些特征較明顯的列數據進行壓縮。涉及到的壓縮方法包括等值壓縮、行程編碼壓縮、字典編碼壓縮、差量編碼壓縮等四種方法。本設計中所用數據以2013年1月13日OKA2812次長沙飛往天津的航班數據為例。
等值壓縮即該列參數數據在飛行過程中沒有發生變化,這類數據列只需存儲一個數據值實現壓縮。例如滑行起飛階段的航向數據一直保持不變,選取Time列和SELTD HEADING(FCC)列(航向),壓縮后在數據庫中存儲的信息為階段起始時間、結束時間、參數值以及行數。此類數據列壓縮前后對比見圖2所示。

圖2 等值壓縮數據列壓縮前后對比圖
行程編碼壓縮[4]即該列參數數據在飛行過程中數值變化離散,且一段時間內數值保持不變,此類數據列只存儲數據值與對應的變化區間。例如爬升階段的數據列為抬頭速度(ROTATION SPEED),在時間段9:26: 40至9:27:16內參數值為148,在時間段9:27:16至9: 55:04內參數值為0,符合行程編碼壓縮的要求。選取Time列和ROTATION SPEED列,壓縮后存儲的數據為階段起始時間、結束時間、參數值以及行數。
字典編碼壓縮[5]即由較小的符號代替占用較大空間的值,可有效減小存儲空間。例如下降階段中的數據列主起落架狀態LANDING GEAR NOSE SQUAT列、左起落架狀態LANDING GEAR LEFT SQUAT列、右起落架狀態LANDING GEAR RIGHT SQUAT列,起落架狀態分為AIR和Ground,可采用字典編碼壓縮方式,1代表AIR,2代表Ground。而起落架狀態在下降階段中會保持在收起狀態,即AIR狀態,因此可將字典編碼壓縮與等值壓縮方式結合。
差量編碼即某列數據在某一固定值周圍浮動,采用存儲數值與該固定值的差值的方式實現壓縮。巡航階段的壓縮的數據列為標準氣壓高度STANDARD ALTITUDE列,存儲各數據點與最大巡航高度的差值,壓縮后存儲的信息為階段起始時間、結束時間、該值與最大巡航高度的差量以及最大高度。
僅以上述壓縮的數據列為例,將10列數據單獨導出對比,壓縮前大小為144 KB,壓縮后大小為49 KB,可以預見,當后續對更多的數據列進行壓縮后,會極大地節省存儲空間。
QAR數據是航空公司較為重要的飛行數據,數據量龐大。本論述依據QAR數據的特點,參考QAR數據設項目審批計劃、資金安排、工程進展、監督管理等詳實完整的信息資料,形成共享模式,確保在第一時間準確掌握建設項目情況。同時,還應引入BIM建設項目管理系統,實現對項目的全過程動態跟蹤監控,真正達到精準化、主動性管理控制的工作目標。
4.3建立聯動機制,發揮整體監管效能
走進力嘉國際集團位于東莞的力嘉環保包裝印刷產業園,濃郁的文化氣息撲面而來,古樸的造紙技術與現代的創意設計融于一體,絲毫讓人沒有突兀之感,反而感覺文化傳承之美妙。與香港力嘉國際集團董事總經理馬馀雄的交流就在這里。
建立發改、建設、審計、財政、監察、評審等部門參加的政府投資建設項目工程造價管理聯席會議制度,加強對建設項目審計工作的領導、指導和協調,及時研究解決工程審計中出現的重大疑難問題和意見分歧,形成各司其職、相互銜接、協調運轉的聯動工作機制,確保建設項目管理形成閉環,做到既不遺漏、也不重疊,發揮建設項目監督機制的整體效能。
[1]劉家義.論國家治理與國家審計[J].中國社會科學,2012(6).
[2]胡釗.經濟轉型背景下深化政府投資建設項目審計的思考[EB/OL].[2012-08-24].http://www.audit.gov.cn/n19925150/ n1992576/3076 318.html.
[3]黃升.淺談政府投資建設項目工程造價審計[J].決策與信息旬刊,2010(6).
[4]王希亮,遲永鎮,等.審計機關購買社會服務的探討[A].審計署審計研究報告,2014(8).的具體意義,實現對QAR數據的飛行階段劃分,在此基礎上選取數據特點較明顯的列數據進行壓縮,針對不同特點的數據列設計不同的壓縮方式,有效地減少了數據的冗余,節省了存儲空間,為QAR數據進一步的管理與查詢優化奠定了基礎。
[1]耿宏,李萍萍,等.基于壓縮感知的QAR數據重構[J].計算機測量與控制,2013,21(5):1351-1353.
[2]周百政.QAR數據處理系統的設計與實現[D].天津:中國民航大學,2009.
[3]李志學.基于C#.NET的Excel表格數據訪問與創建[J].電腦編程技巧與維護,2011,22(051):75-77.
[5]龍礴濤.列存儲數據倉庫中壓縮技術的研究與實現[D].上海:東華大學,2013.
TP311
A
DOI10.3969/j.issn.1672-6375.2016.11.009
2016-9-18
大學生創新創業訓練項目(IECAUC201510059048)。
梁家華(1995-),男,漢族,廣西梧州人,大學本科在讀,主要研究方向:民航信息系統。