吳龍波
摘 ?要:航班管制數(shù)據(jù)的統(tǒng)計(jì)分析是優(yōu)化空中交通管理運(yùn)行的基礎(chǔ),而空管大數(shù)據(jù)平臺為統(tǒng)計(jì)分析提供了強(qiáng)大的計(jì)算能力,文章在此平臺基礎(chǔ)上進(jìn)行了航班運(yùn)行統(tǒng)計(jì)主題數(shù)據(jù)倉庫的設(shè)計(jì),并靈活應(yīng)用數(shù)列求和思想解決了航班統(tǒng)計(jì)中的航跡串線難題。
關(guān)鍵詞:大數(shù)據(jù)平臺;數(shù)據(jù)倉庫;數(shù)列;航跡串線
中圖分類號:TP311 ? ? ? ? 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2095-2945(2020)25-0020-02
Abstract: The statistical analysis of flight control data is the basis of optimizing the operation of air traffic management, and the big data platform of air traffic control provides powerful computing power for statistical analysis. On the basis of this platform, this paper designs the thematic data warehouse of flight operation statistics, and flexibly applies the idea of summation of sequence of number to solve the problem of track alignment in flight statistics.
Keywords: big data platform; data warehouse; sequence of number; track crossover
引言
航班管制數(shù)據(jù)統(tǒng)計(jì)是空管運(yùn)行管理的核心和基礎(chǔ),從現(xiàn)場戰(zhàn)術(shù)層面一直到全局戰(zhàn)略層面都迫切需要全面、準(zhǔn)確、實(shí)時(shí)的數(shù)據(jù)統(tǒng)計(jì)分析結(jié)果作為業(yè)務(wù)支撐。但隨著航班量的不斷提高和科技的發(fā)展,空管業(yè)務(wù)需求日新月異,給航班運(yùn)行統(tǒng)計(jì)業(yè)務(wù)帶來以下難題:
海量航班航跡數(shù)據(jù)與傳統(tǒng)數(shù)據(jù)處理架構(gòu)的矛盾激化,例如傳統(tǒng)數(shù)據(jù)庫無法滿足航跡數(shù)據(jù)的批量串線處理的性能需求。
統(tǒng)計(jì)分析維度[1]設(shè)置粗糙,難以應(yīng)對管制靈活查詢統(tǒng)計(jì)的需求。例如目前航班高峰流量的運(yùn)行統(tǒng)計(jì)仍舊停留在按自然天(或自然小時(shí))的時(shí)間粒度。
缺乏基于統(tǒng)一的基礎(chǔ)數(shù)據(jù)模型和航班航跡運(yùn)行統(tǒng)計(jì)模型的主題數(shù)據(jù)倉庫,導(dǎo)致用戶需求變更時(shí),往往需要重新采集和分析數(shù)據(jù),造成重復(fù)勞動(dòng)。
另一方面,大數(shù)據(jù)及相關(guān)應(yīng)用研發(fā)工作已成為民航業(yè)內(nèi)今后的重點(diǎn)戰(zhàn)略方向,阿里云研發(fā)的航空大腦在北京首都機(jī)場成功運(yùn)用,與航空運(yùn)輸行業(yè)知識深度結(jié)合,提供了機(jī)場停機(jī)位分配、班組排班、態(tài)勢監(jiān)控等一系列解決方案,充分體現(xiàn)了大數(shù)據(jù)技術(shù)在民航業(yè)內(nèi)的適用性。為適應(yīng)空管技術(shù)發(fā)展,解決航跡串線等難題,更好地迎合空管業(yè)務(wù)的統(tǒng)計(jì)分析需求,提升管制數(shù)據(jù)統(tǒng)計(jì)分析效率和準(zhǔn)確率,構(gòu)建基于大數(shù)據(jù)平臺的面向航班運(yùn)行統(tǒng)計(jì)主題的數(shù)據(jù)倉庫極具意義。
1 數(shù)據(jù)倉庫結(jié)構(gòu)設(shè)計(jì)
基于大數(shù)據(jù)平臺技術(shù)[2],本課題計(jì)劃設(shè)計(jì)和建設(shè)一個(gè)面向航班運(yùn)行統(tǒng)計(jì)分析主題的數(shù)據(jù)倉庫,在數(shù)據(jù)倉庫的基礎(chǔ)上,實(shí)現(xiàn)航班航跡等生產(chǎn)數(shù)據(jù)的采集、清洗、分層存儲(chǔ)、統(tǒng)計(jì)、分析以及結(jié)果展示。整個(gè)系統(tǒng)的應(yīng)用架構(gòu)設(shè)計(jì)如圖1所示,模塊包括:大數(shù)據(jù)平臺、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)服務(wù)模塊、數(shù)據(jù)應(yīng)用模塊。
(1)大數(shù)據(jù)平臺。是一個(gè)分布式的計(jì)算和存儲(chǔ)平臺,作為整個(gè)系統(tǒng)的基礎(chǔ)支撐模塊,給數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)應(yīng)用提供基礎(chǔ)計(jì)算框架和存儲(chǔ)支持。
(2)數(shù)據(jù)采集模塊。提供統(tǒng)一的數(shù)據(jù)采集方案,本課題中主要采集方式為離線,負(fù)責(zé)生產(chǎn)數(shù)據(jù)離線采集、脫敏、清洗、轉(zhuǎn)換與存儲(chǔ)。
(3)數(shù)據(jù)處理模塊。建立數(shù)據(jù)倉庫模型,通過SQL腳本和JAVA自定義函數(shù)[3]實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)分析。
(4)數(shù)據(jù)服務(wù)模塊。通過分析型數(shù)據(jù)庫存儲(chǔ)結(jié)果數(shù)據(jù),同時(shí)為前臺應(yīng)用提供數(shù)據(jù)訪問接口。
(5)數(shù)據(jù)應(yīng)用模塊。通過Echarts等前端技術(shù)實(shí)現(xiàn)前臺應(yīng)用和大屏展示,實(shí)現(xiàn)三維航跡展示和二維數(shù)據(jù)統(tǒng)計(jì)圖表查詢和導(dǎo)出。
2 數(shù)據(jù)倉庫層次設(shè)計(jì)
以空管當(dāng)前航班運(yùn)行統(tǒng)計(jì)難點(diǎn)出發(fā),依托大數(shù)據(jù)平臺技術(shù),面向航班運(yùn)行統(tǒng)計(jì)主題數(shù)據(jù)倉庫將建立統(tǒng)一標(biāo)準(zhǔn)的航班軌跡模型,建設(shè)中南地區(qū)基于航班計(jì)劃/動(dòng)態(tài)、流控?cái)?shù)據(jù)和雷達(dá)航跡的三層數(shù)據(jù)倉庫。數(shù)據(jù)倉庫設(shè)計(jì)為三層,按數(shù)據(jù)治理順序分為ODS、DWD和DWS,每層含義如下所示。
ODS(OPERATION DATA STORE,業(yè)務(wù)原始數(shù)據(jù)存儲(chǔ)層):ODS直接存放從業(yè)務(wù)系統(tǒng)抽取過來的數(shù)據(jù),并且結(jié)構(gòu)上與業(yè)務(wù)系統(tǒng)保持一致;ODS層在業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉庫之間形成一個(gè)隔離,降低業(yè)務(wù)系統(tǒng)與數(shù)據(jù)倉庫的耦合性。
DWD(DATA WAREHOUSE DETAIL,數(shù)據(jù)倉庫明細(xì)層):ODS層的數(shù)據(jù)經(jīng)過清洗、格式轉(zhuǎn)換后進(jìn)入DWD層;DWD層的數(shù)據(jù)與數(shù)據(jù)倉庫模型保持一致;DWD的建設(shè)以航班航跡模型為基礎(chǔ),是數(shù)據(jù)倉庫建設(shè)的重點(diǎn)內(nèi)容。
DWS(DATA WAREHOUSE SUBJECT,數(shù)據(jù)倉庫主題層):DWS層數(shù)據(jù)以應(yīng)用需求為出發(fā)點(diǎn),按應(yīng)用主題匯集數(shù)據(jù),便于實(shí)現(xiàn)某一領(lǐng)域內(nèi)的快速統(tǒng)計(jì)分析和結(jié)果保存。
3 巧用數(shù)列解決航跡串線
在航班運(yùn)行統(tǒng)計(jì)主題數(shù)據(jù)倉庫中,對航跡數(shù)據(jù)的計(jì)算是批量進(jìn)行的,例如按天統(tǒng)計(jì)。在批量計(jì)算中,必須解決把同一個(gè)航班的航跡進(jìn)行串線的問題,即對同一個(gè)航班的數(shù)據(jù)進(jìn)行唯一標(biāo)識。但同一天的數(shù)據(jù)中,航班號一致并不代表一定是同一個(gè)航班,在本文中,我們定義如果同一個(gè)航班號的連續(xù)兩個(gè)航跡的時(shí)間差超過60秒(含)則認(rèn)為這兩個(gè)航跡屬于不同航班。傳統(tǒng)辨別航跡串線的算法中,一般通過航班的二次代碼或結(jié)合航班計(jì)劃進(jìn)行串線,但這種方法存在一些問題,例如航班的二次代碼并不能在飛行全程保持統(tǒng)一,而航班計(jì)劃也往往不能囊括所有的航班,不可避免會(huì)導(dǎo)致航跡數(shù)據(jù)中有小部分航班無法關(guān)聯(lián)計(jì)劃ID。
為解決傳統(tǒng)算法的弊端,本文在航跡串線中僅使用最可靠的兩個(gè)數(shù)據(jù)航班號以及航跡時(shí)間,我們假設(shè)某1天的航跡數(shù)據(jù)按航班號和航跡時(shí)間升序保存在表1中,該表有5個(gè)字段,包括航班號、航跡時(shí)間、時(shí)間序列、增量標(biāo)識以及串線標(biāo)識。其中時(shí)間序列是把航跡時(shí)間轉(zhuǎn)化為整數(shù)描述,增量標(biāo)識是當(dāng)前記錄與上一記錄的差值(如果本記錄是第一條,則該字段值為0),串線標(biāo)識是用來鑒別相同航班號的不同航班。
從上表可以看出,盡管航班號都是CLB996,但通過串線標(biāo)識可以從這個(gè)航班號的航跡中識別出兩個(gè)不同的航班。
4 結(jié)束語
本文研究了一個(gè)基于大數(shù)據(jù)平臺的面向航班運(yùn)行統(tǒng)計(jì)主題的數(shù)據(jù)倉庫,相比傳統(tǒng)模型,能實(shí)現(xiàn)快速處理海量數(shù)據(jù),并提升統(tǒng)計(jì)分析的靈活性,在此倉庫上創(chuàng)新性使用數(shù)列思量來深入論證了空管業(yè)務(wù)中的航跡串線算法,證明了航班主題數(shù)據(jù)倉庫解決當(dāng)前空管統(tǒng)計(jì)業(yè)務(wù)重難點(diǎn)問題的能力。
參考文獻(xiàn):
[1][美]Ralph Kimball,[美] Margy Ross.大數(shù)據(jù)應(yīng)用與技術(shù)叢書·數(shù)據(jù)倉庫工具箱(第3版):維度建模權(quán)威指南[M].清華大學(xué)出版社,2015.
[2][美]Martin Kleppmann(馬丁·科勒普曼).數(shù)據(jù)密集型應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 趙軍平,呂云松,耿煜,等,譯.機(jī)械出版社,2018.
[3]李妹芳.ODPS權(quán)威指南:阿里大數(shù)據(jù)平臺應(yīng)用開發(fā)實(shí)踐[M].人民郵電出版社,2017.