馮興杰 劉 芳
1.中國(guó)民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300 2.中國(guó)民航大學(xué)信息網(wǎng)絡(luò)中心,天津 300300
基于Hadoop的ADS-B數(shù)據(jù)解析與存儲(chǔ)方法*
馮興杰1,2劉 芳1
1.中國(guó)民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300 2.中國(guó)民航大學(xué)信息網(wǎng)絡(luò)中心,天津 300300
廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)(Automatic Dependent Surveillance-Broadcast,ADS-B)是國(guó)際民航組織(ICAO)推薦使用的集數(shù)據(jù)通信、衛(wèi)星導(dǎo)航和監(jiān)視技術(shù)于一體的新一代航空器運(yùn)行監(jiān)視系統(tǒng),可以自動(dòng)的接收和發(fā)送飛機(jī)及其周圍的信息。隨著監(jiān)視區(qū)域內(nèi)航班數(shù)量的增加,對(duì)于以秒為單位進(jìn)行收發(fā)信息的ADS-B而言,單機(jī)環(huán)境已經(jīng)無(wú)法滿足海量ADS-B數(shù)據(jù)的解析、存儲(chǔ)與分析,本文利用Mapreduce模型提供的高效分布式編程和運(yùn)行框架對(duì)ADS-B數(shù)據(jù)進(jìn)行解析,將解析后的數(shù)據(jù)存儲(chǔ)到基于Hive的ADS-B數(shù)據(jù)倉(cāng)庫(kù),并通過(guò)Mysql建立的索引表聯(lián)合Hive中的分桶操作對(duì)信息種類進(jìn)行劃分,有效提高了數(shù)據(jù)解析效率并避免了Hive中索引不完善引起的查詢效率低的問(wèn)題。實(shí)驗(yàn)表明對(duì)于海量的ADS-B數(shù)據(jù),利用Mapreduce進(jìn)行解析并利用Hive進(jìn)行存儲(chǔ)分析的效率明顯提升。
ADS-B;Hadoop;Mapreduce;Hive;解析;存儲(chǔ);分桶
ADS-B是基于GPS定位和地/空數(shù)據(jù)鏈通信的航空器運(yùn)行監(jiān)視系統(tǒng),是國(guó)際民航組織(ICAO)推薦使用的集數(shù)據(jù)通信、衛(wèi)星導(dǎo)航和監(jiān)視技術(shù)于一體的新一代航行系統(tǒng)的重要組成部分[1]。ADS-B技術(shù)通過(guò)給飛行員提供更多的飛機(jī)及其周邊環(huán)境信息,提升了空中交通安全的可靠性和準(zhǔn)確性。相對(duì)于雷達(dá)技術(shù)來(lái)說(shuō)具有數(shù)據(jù)更新速率快、數(shù)據(jù)精度高、全天候運(yùn)行和成本低等特點(diǎn)。MH370等一系列航班失事事件加速了全球民航界對(duì)飛機(jī)飛行定位系統(tǒng)和航線追蹤技術(shù)的研究。美國(guó) FlightAware公司和 Aireon公司已經(jīng)開始合作研發(fā)GlobalBeacon系統(tǒng),擬通過(guò)銥星提供星基 ADS-B 服務(wù),計(jì)劃 2018 年投入運(yùn)營(yíng),并將在 2021 年實(shí)現(xiàn) 1 分鐘間隔飛行追蹤的要求[2]。
近年來(lái),中國(guó)民用航空運(yùn)輸業(yè)務(wù)迅速發(fā)展,2015年統(tǒng)計(jì)的全國(guó)起降架次達(dá)到1040萬(wàn)架,并且仍以16%的速度持續(xù)增長(zhǎng)。為了在快速增長(zhǎng)的同時(shí)有效保證空中交通安全,國(guó)家正有計(jì)劃地加快ADS-B等新技術(shù)的部署。通過(guò)ADS-B接收并存儲(chǔ)的海量數(shù)據(jù)不僅可以分析航跡信息,還可以更加準(zhǔn)確地預(yù)測(cè)飛機(jī)預(yù)計(jì)到達(dá)時(shí)間,提高飛機(jī)正點(diǎn)率。
目前,針對(duì)ADS-B技術(shù)的研究主要集中在硬件系統(tǒng)的實(shí)現(xiàn)、單機(jī)環(huán)境下解析以及航跡安全間隔分析等方面。例如,文獻(xiàn)[3]對(duì)ADS-B數(shù)據(jù)的解碼以及其他數(shù)據(jù)的融合。文獻(xiàn)[4]實(shí)現(xiàn)了ADS-B關(guān)鍵應(yīng)用軟件系統(tǒng)。文獻(xiàn)[5]提出運(yùn)用危險(xiǎn)碰撞模型評(píng)估航路安全間隔,并將其運(yùn)用在ADS-B航跡數(shù)據(jù)上。文獻(xiàn)[6-7]分別研究了基于ADS-B數(shù)據(jù)和GPS數(shù)據(jù)融合,并驗(yàn)證了其航跡信息的準(zhǔn)確性。文獻(xiàn)[8]提出了基于JSON格式實(shí)現(xiàn)ADS-B數(shù)據(jù)的分類管理。以上文獻(xiàn)對(duì)ADS-B數(shù)據(jù)的處理以及存儲(chǔ)都是在單機(jī)環(huán)境下進(jìn)行的。但是,面對(duì)越來(lái)越大的數(shù)據(jù)量,普通的存儲(chǔ)和分析平臺(tái)已經(jīng)無(wú)法滿足需求,需要將數(shù)據(jù)解析和存儲(chǔ)移植到分布式計(jì)算環(huán)境下。文獻(xiàn)[9]將按CAT033協(xié)議解析出來(lái)的ADS-B數(shù)據(jù)直接存儲(chǔ)在Hive中,利用GIS工具對(duì)其航跡信息進(jìn)行分析。但是沒有對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建,不利于后續(xù)數(shù)據(jù)的擴(kuò)展。
分布式計(jì)算環(huán)境是將數(shù)據(jù)的存儲(chǔ)、分析和計(jì)算等建立在網(wǎng)絡(luò)之上由多個(gè)服務(wù)器構(gòu)成的集群?;贖adoop的Mapreduce分布式框架是典型的分布式計(jì)算環(huán)境,將ADS-B海量數(shù)據(jù)的解析放入Mapreduce框架中,能夠提高處理數(shù)據(jù)的速率。同時(shí),利用Hive數(shù)據(jù)倉(cāng)庫(kù)存儲(chǔ)ADS-B數(shù)據(jù)能較好地滿足航空公司分析數(shù)據(jù)的需求。與傳統(tǒng)的XML,JOSN或者數(shù)據(jù)庫(kù)等存儲(chǔ)格式相比具有更高的擴(kuò)展性。
本文提出基于Hadoop的ADS-B數(shù)據(jù)解析與存儲(chǔ)方法,其基本思路是:首先研究1090兆赫擴(kuò)展電文(1090MHz ES)ADS-B的數(shù)據(jù)格式和解碼方法,然后實(shí)現(xiàn)基于Mapreduce框架數(shù)據(jù)解析算法,并將處理后的數(shù)據(jù)導(dǎo)入基于Hive的ADS-B數(shù)據(jù)倉(cāng)庫(kù)。
2.1 ADS-B系統(tǒng)
現(xiàn)行的ADS-B系統(tǒng)一般采用3種典型的數(shù)據(jù)鏈架構(gòu),分別是UAT數(shù)據(jù)鏈、VDL-4數(shù)據(jù)鏈和Mode S數(shù)據(jù)鏈。本文主要圍繞中國(guó)民航大學(xué)自行開發(fā)的ADS-B系統(tǒng)開展研究,該系統(tǒng)基于Mode S模式應(yīng)答機(jī)技術(shù)(1090 MHz Extended Squitter) ,采用脈沖位置編碼在下行頻率為1090MHz的數(shù)據(jù)鏈上進(jìn)行數(shù)據(jù)傳輸。被傳輸?shù)拿恳粋€(gè)脈沖被分為2部分:前半部分都為1,其余的都是0。由于ADS-B系統(tǒng)采用固定長(zhǎng)度報(bào)文進(jìn)行傳輸,描述一個(gè)飛機(jī)的完整信息需要連續(xù)解析、綜合多個(gè)報(bào)文才能得到。另外,根據(jù)描述飛機(jī)不同的狀態(tài)特征(如:位置、速度及飛機(jī)標(biāo)識(shí)等),消息更新的頻率也不同。例如,關(guān)于位置和速度的消息每0.4~0.6s廣播一次,關(guān)于飛機(jī)標(biāo)識(shí)的信息每4.8~5.2s廣播一次,關(guān)于意向改變消息每1.6~1.8s廣播一次[10]。對(duì)于接收到的多條ADS-B報(bào)文,需要根據(jù)1090ES編碼標(biāo)準(zhǔn)綜合為一條完整的飛機(jī)描述信息。圖1為ADS-B消息的傳輸波型圖。
圖1 ADS-B消息傳輸波形
2.2 ADS-B報(bào)文數(shù)據(jù)結(jié)構(gòu)
ADS-B報(bào)文長(zhǎng)度為112比特,采用16進(jìn)制編碼。根據(jù)RCTA[10]標(biāo)準(zhǔn), ADS-B 報(bào)文的基本結(jié)構(gòu)為: Bit 1-5為下行鏈路格式域(DF),DF在取不同值時(shí)有不同的含義。 DF=17格式表示S模式應(yīng)答機(jī)發(fā)射的ADS-B消息;DF=18格式表示用于非S模式應(yīng)答機(jī)發(fā)射的ADS-B消息或者TIS-B消息;DF=19格式預(yù)留為軍事應(yīng)用[11]。Bit 6-8為CA域,表示S模式應(yīng)答機(jī)能力;Bit9-32為AA域,表示應(yīng)答機(jī)24比特ICAO地址; Bit 33-88為ADS-B消息域ME,承載飛行器報(bào)告的重要狀態(tài)信息,其中前 5個(gè)比特為消息類型字段,隨后的3個(gè)比特為消息子類型,剩余的48個(gè)比特為飛行器狀態(tài)信息;最后的24比特為校驗(yàn)域 PI[11]。圖2為ADS-B消息格式結(jié)構(gòu)。
圖2 ADS-B消息格式結(jié)構(gòu)
2.3 ME字段的解析
飛行器狀態(tài)信息位于ADS-B報(bào)文的33-88位的ME字段中,根據(jù)消息類型字段的不同,此字段中可能包含空中位置消息、地表位置消息、飛機(jī)ID與類型消息、空中速度消息、航線改變消息以及飛機(jī)運(yùn)行狀況消息等。參考RCAT[10]標(biāo)準(zhǔn),對(duì)接收到的ADS-B原始編碼報(bào)文進(jìn)行解析,得到飛機(jī)實(shí)時(shí)的位置以及周邊信息。在解析過(guò)程中,需要根據(jù)接收?qǐng)?bào)文的消息種類字段,運(yùn)用相對(duì)應(yīng)的算法進(jìn)行解析,核心的算法有用于解析航班號(hào)的IA5算法、用于解析經(jīng)緯度的CPR算法[12-13]、用于解析高度和速度的格雷算法。其中CPR算法又分為全球解碼和本地解碼,具體情況要根據(jù)接收到消息的奇偶性進(jìn)行判斷。具體報(bào)文解析算法流程圖如圖3。
圖3 ADS-B報(bào)文信息解析
3.1 Hadoop
Hadoop是一個(gè)分布式處理大數(shù)據(jù)的軟件平臺(tái),提供了一種分布式并行編程的框架,它包含Mapreduce和HDFS(Hadoop Distributed File System)這2個(gè)核心模塊,其中Mapreduce是一種分布式編程模式,將普通的編程模式用Mapreduce框架進(jìn)行分布式運(yùn)算處理,而HDFS是一種分布式的文件系統(tǒng),為整個(gè)系統(tǒng)提供底層的存儲(chǔ)支持。在這2個(gè)核心框架之上有一系列的分布式處理軟件,例如Hive,Hbase,Pig等??傮w來(lái)說(shuō),就是在Hadoop的分布式框架上采用Mapreduce的運(yùn)算模式在大規(guī)模集群中處理海量數(shù)據(jù),并將處理后的數(shù)據(jù)存儲(chǔ)在HDFS上[14]。
3.2 Mapreduce
Mapreduce 主要支持基于集群的海量數(shù)據(jù)分布式計(jì)算,是在龐大數(shù)據(jù)集上執(zhí)行高度并行化和分布式算法的框架[15]。其執(zhí)行過(guò)程為:Mapreduce框架將輸入的數(shù)據(jù)分成大小相同的數(shù)據(jù)塊,通過(guò)map接收并形成
3.3 Hive
Hive中包含的組件有CLI(command line interface),JDBC/ODBC,Thrift Server,WEB GUI,MetaStore和Driver(Complier,Optimizer和Executor)。它建立在Hadoop上,是基于Hadoop一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,能將結(jié)構(gòu)化的文件映射為一張數(shù)據(jù)庫(kù)表,并提供完好的sql查詢性能,能對(duì)存儲(chǔ)在Hadoop中的大規(guī)模歷史數(shù)據(jù)進(jìn)行批量處理操作。Hive將簡(jiǎn)單定義的sql語(yǔ)句稱為hql,將hql語(yǔ)句轉(zhuǎn)化成Mapreduce任務(wù)來(lái)提高查詢速率。它沒有具體定義數(shù)據(jù)的格式,用戶可以靈活地自定義類型格式,并且能夠存儲(chǔ)struct,map和array結(jié)構(gòu)的數(shù)據(jù)。
但是Hive中的索引優(yōu)化還不完善,在查詢海量數(shù)據(jù)時(shí),在索引表中找到需要查詢的記錄,獲取到該記錄在HDFS中的文件名以及偏移量,用一個(gè)map 任務(wù)進(jìn)行查詢,理論上減少了掃描全表的時(shí)間,但是每次查詢都會(huì)用一個(gè)job掃描索引表。假設(shè)索引表的列值非常稀疏,那么索引表自身也會(huì)十分大,這樣反而增加了查詢負(fù)擔(dān)。文獻(xiàn)[16]中將數(shù)據(jù)劃分主題,構(gòu)建數(shù)據(jù)倉(cāng)庫(kù),利用Mysql索引表存儲(chǔ)主題編號(hào),在Hive中按照Mysql中的主題編號(hào)對(duì)主題進(jìn)行分桶,根據(jù)主題序號(hào)只需要查找一個(gè)桶的數(shù)據(jù),從而提高了查詢速率。但是本文是直接解析的海量ADS-B數(shù)據(jù),對(duì)解析出來(lái)的數(shù)據(jù)進(jìn)行融合分析,直接利用Hive中的分區(qū)分桶操作。
4.1 數(shù)據(jù)倉(cāng)庫(kù)的總體架構(gòu)
基于Hive的ADS-B數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)最終目標(biāo)是為了更高效地分析數(shù)據(jù),為了更好的劃分ADS-B數(shù)據(jù)信息的主題,以便為民航安全提供更好的輔助決策,提高航空公司的效益,所以系統(tǒng)架構(gòu)主要由5層構(gòu)成:數(shù)據(jù)源、數(shù)據(jù)解析、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析及應(yīng)用層, 如圖4所示。其中,數(shù)據(jù)源層的數(shù)據(jù)是通過(guò)ADS-B接收機(jī)接收到的真實(shí)數(shù)據(jù),原始數(shù)據(jù)以28位十六進(jìn)制編碼的格式存儲(chǔ)在TXT文件中,在傳遞過(guò)程中可能會(huì)出現(xiàn)缺失、錯(cuò)位等情況。
圖4 數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)
數(shù)據(jù)解析層主要在分布式文件系統(tǒng)下,根據(jù)標(biāo)準(zhǔn)結(jié)合Mapreduce框架對(duì)搜集到的海量數(shù)據(jù)進(jìn)行解析,通過(guò)Map將每一條數(shù)據(jù)的ICAO地址作為key,將其余信息作為value進(jìn)行并行處理,同時(shí)在value值中根據(jù)標(biāo)準(zhǔn)將數(shù)據(jù)進(jìn)行解析。將Map處理的數(shù)據(jù)進(jìn)行Reduce計(jì)算,將相同的ICAO鍵放在一起,對(duì)應(yīng)相應(yīng)的value值。
數(shù)據(jù)存儲(chǔ)層是將解析后的數(shù)據(jù)通過(guò)Hive數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行存儲(chǔ)、分類和提取,結(jié)合Mysql將數(shù)據(jù)按消息種類存儲(chǔ),即能存儲(chǔ)海量數(shù)據(jù),又能提高查詢速率,方便以后對(duì)數(shù)據(jù)的擴(kuò)展以及分析。
數(shù)據(jù)分析和前端應(yīng)用層是利用聚類分析、頻繁挖掘和機(jī)器學(xué)習(xí)等方法對(duì)Hive中的數(shù)據(jù)進(jìn)行處理,更好地分析其航跡安全,航跡間隔,提高經(jīng)濟(jì)效益[17-19]。為實(shí)現(xiàn)真正的“自由飛行”提供良好的決策作用。
4.2 基于Mapreduce的ADS-B數(shù)據(jù)解析
文獻(xiàn)[3-4]是基于單機(jī)環(huán)境下設(shè)計(jì)實(shí)時(shí)ADS-B數(shù)據(jù)解析系統(tǒng),對(duì)于海量歷史數(shù)據(jù)的分析以及存儲(chǔ)沒有提及。本文改進(jìn)了單機(jī)環(huán)境下的基于Mapreduce的解析算法,有效處理海量ADS-B歷史數(shù)據(jù),對(duì)以后在分布式平臺(tái)下的數(shù)據(jù)挖掘提供基礎(chǔ)。
Mapreduce的運(yùn)行機(jī)制可以分為4部分:slipt,map,shuffle和reduce。在map處理完成后由shuffle將相同key值的value整合成一個(gè)list,交給reduce計(jì)算。由于ADS-B數(shù)據(jù)的收發(fā)都是以毫秒進(jìn)行的,但是本文中接收機(jī)接收到數(shù)據(jù)的時(shí)間只顯示到秒,所以在每秒都會(huì)有若干不同或者重復(fù)的數(shù)據(jù)出現(xiàn)。因此,本文將ICAO地址作為key值,時(shí)間以及其他信息作為value值傳入map,在reduce階段對(duì)shuffle中同一架飛機(jī)的list列表進(jìn)行數(shù)據(jù)預(yù)處理。預(yù)處理階段包括去除重復(fù)的數(shù)值,填充缺失值,對(duì)飛機(jī)高度、速度及方向等有明顯錯(cuò)誤的數(shù)據(jù)進(jìn)行清洗。具體過(guò)程如圖5。
圖5 Mapreduce處理
4.3 數(shù)據(jù)存儲(chǔ)策略
由于解析的歷史ADS-B數(shù)據(jù)是不同航班不同時(shí)刻不同消息類型的混合數(shù)據(jù),為了今后對(duì)數(shù)據(jù)的挖掘處理,需要將數(shù)據(jù)進(jìn)行融合,整合成每個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的一條完整的航跡信息。所以本文將數(shù)據(jù)按照消息種類的不同劃分為不同的主題,在Mysql中實(shí)現(xiàn)主題序號(hào)的存儲(chǔ),與Hive中的ADS-B數(shù)據(jù)倉(cāng)庫(kù)構(gòu)成星型結(jié)構(gòu)[20]。主題表的劃分如圖6所示。在Hive中使用Mysql替代分區(qū)功能定位到數(shù)據(jù)所在的位置,根據(jù)主題編號(hào)將數(shù)據(jù)分成多個(gè)桶。在查詢數(shù)據(jù)時(shí)針對(duì)其中一個(gè)桶進(jìn)行操作,這樣的存儲(chǔ)結(jié)構(gòu)不僅提升對(duì)海量數(shù)據(jù)的查詢速率,在對(duì)航跡信息進(jìn)行分析時(shí)可以隨時(shí)查詢一個(gè)航班不同日期的航跡,還可以查詢同一個(gè)時(shí)間段內(nèi)不同航班的航跡。
其中,ICAO代表飛機(jī)標(biāo)識(shí)的唯一地址,Time是接受數(shù)據(jù)的時(shí)間,ADS-B數(shù)據(jù)每秒廣播的消息是關(guān)于速度、位置、高度、飛機(jī)航班號(hào)等中的任何一條,但是每條消息中都會(huì)廣播ICAO地址,所以在Mysql中建立時(shí)間、ICAO和各種消息類型的編碼,將每條信息的具體消息存放于Hive數(shù)據(jù)倉(cāng)庫(kù)中,根據(jù)消息編號(hào)查找其中一個(gè)桶中的信息,提高Hive中的查詢速率,避免Hive數(shù)據(jù)倉(cāng)庫(kù)中索引不完善的缺陷。建立的基于Hive的數(shù)據(jù)倉(cāng)庫(kù)不僅有利于以后對(duì)更多消息的擴(kuò)充,還可以高效地查詢一個(gè)航班某個(gè)時(shí)間的各種信息,節(jié)約空間和時(shí)間,為之后對(duì)航跡安全和航空公司經(jīng)濟(jì)效益的分析提供決策。
圖6 Hive數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建
5.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)
實(shí)驗(yàn)使用的數(shù)據(jù)是中國(guó)民航大學(xué)的ADS-B接收機(jī)接收的真實(shí)數(shù)據(jù),共 10G。實(shí)驗(yàn)環(huán)境由9臺(tái)電腦組成的,Hadoop集群搭建在32位Ubuntu14.04操作系統(tǒng)上。主節(jié)點(diǎn)配置為i7-3770處理器,4G內(nèi)存,1T硬盤。從節(jié)點(diǎn)配置使用的是e2140處理器,1G內(nèi)存,250G硬盤,集群版本Hadoop2.4.0 。
5.2 實(shí)驗(yàn)結(jié)果與分析
挖掘分析歷史ADS-B數(shù)據(jù)就要解析接收到的
海量原始數(shù)據(jù),所以第1項(xiàng)測(cè)試的目的是對(duì)比單機(jī)環(huán)境下解析海量ADS-B歷史數(shù)據(jù)與Hadoop集群環(huán)境下通過(guò)Mapreduce解析數(shù)據(jù)的耗時(shí)量,實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 解析對(duì)比耗時(shí)
從對(duì)比實(shí)驗(yàn)中可以看出單機(jī)情況下,隨著數(shù)據(jù)量越大耗時(shí)越長(zhǎng);相反,集群中數(shù)據(jù)量增多的情況下耗時(shí)比率緩和增長(zhǎng),對(duì)于分析海量ADS-B歷史數(shù)據(jù)來(lái)說(shuō),集群通過(guò)分布式并行解析ADS-B數(shù)據(jù)具有明顯的優(yōu)勢(shì)。
第2項(xiàng)測(cè)試是對(duì)比將解析后的不同大小的數(shù)據(jù)量分別導(dǎo)入Mysql和Hive中后查詢某個(gè)航班每天每個(gè)時(shí)間航跡和同一天每個(gè)時(shí)刻所有航班航跡信息的速率。結(jié)果如圖8和9所示。
圖8 查詢某個(gè)航班耗時(shí)對(duì)比
圖9 查詢某天航跡耗時(shí)對(duì)比
通過(guò)對(duì)比可以看出,對(duì)于查詢信息,小數(shù)據(jù)量的查詢?cè)贛ysql中的速率大于Hive,但是數(shù)據(jù)量一旦增加,Mysql中的查詢耗時(shí)明顯增加;相反,在Hive中查詢耗時(shí)緩慢的增加。
對(duì)于查詢航班航跡信息來(lái)說(shuō),同一天所有航班的航跡信息有助于分析超限事件,同一航班不同天的航跡有助于分析軌跡異常檢測(cè)。
第3項(xiàng)實(shí)驗(yàn)是對(duì)780cc0航班一周的航跡信息和2016/07/13日所有航班航跡信息的顯示,該實(shí)驗(yàn)使用GIS Tools for Hadoop工具,通過(guò)自定義UDF將其運(yùn)用在自己的ADS-B數(shù)據(jù)中,并使用MapInfo在地圖中顯示出來(lái),如圖10和11所示(圖中不同線條代表不同的日期或者不同的航班。)。
圖10 780cc0航跡
圖11 2016/07/13航跡顯示
通過(guò)ADS-B傳遞出的海量航跡信息可以更加精確地分析航跡安全問(wèn)題和航跡異常行為檢測(cè)。
目前文獻(xiàn)中,針對(duì)ADS-B數(shù)據(jù)的處理都是單機(jī)實(shí)現(xiàn)解析,并且沒有存儲(chǔ)在Hive數(shù)據(jù)倉(cāng)庫(kù)中?;贖ive的ADS-B數(shù)據(jù)倉(cāng)庫(kù)的建立可以更方便對(duì)數(shù)據(jù)進(jìn)行挖掘分析,結(jié)果也更精確,同時(shí)Hive數(shù)據(jù)倉(cāng)庫(kù)有較好的擴(kuò)展性,隨著ADS-B的不斷發(fā)展,其在Hive中存儲(chǔ)也將不斷的完善。
對(duì)于航空公司來(lái)說(shuō),隨著民航的不斷發(fā)展,機(jī)場(chǎng)的不斷擴(kuò)建,飛機(jī)的數(shù)量也在劇烈增加,解析并且存儲(chǔ)海量的歷史數(shù)據(jù)對(duì)分析航跡信息,促進(jìn)經(jīng)濟(jì)效益,提高飛行安全十分必要。國(guó)內(nèi)ADS-B系統(tǒng)在不斷完善,針對(duì)現(xiàn)有ADS-B海量歷史數(shù)據(jù)解析和存儲(chǔ)方面的問(wèn)題,本文設(shè)計(jì)了針對(duì)ADS-B數(shù)據(jù)基于Mapreduce并行的解析,提高了海量ADS-B歷史數(shù)據(jù)的解析速率,通過(guò)構(gòu)建Hive倉(cāng)庫(kù)進(jìn)行存儲(chǔ),為以后的數(shù)據(jù)挖掘與分析提供更好的平臺(tái)。下一步將在Hadoop中利用數(shù)據(jù)挖掘算法或者機(jī)器學(xué)習(xí)方法對(duì)Hive中的數(shù)據(jù)進(jìn)行航跡安全間隔分析或者對(duì)多維軌跡異常進(jìn)行檢測(cè)分析。
[1] 熊輝. 基于 C/S 架構(gòu)的 ADS-B 區(qū)域數(shù)據(jù)中心系統(tǒng)設(shè)計(jì)[J]. 科技創(chuàng)新與生產(chǎn)力, 2016,(3):59-61.(Xiong Hui. ADS-B Regional Data Center System Design Based on C/S Architecture [J]. Science and Technology Innovation and Productivity, 2016(3):59-61.)
[2] 王元元.值得關(guān)注的商用航空技術(shù)[N]. 中國(guó)航空?qǐng)?bào), 2017.1.19.(Wang Yuanyuan. Noteworthy Commercial Aviation Technology [N]. China Aviation News, 2017.1.19 (007).)
[3] 王琦. 基于ADS-B的飛行航跡獲取研究與實(shí)現(xiàn)[D]. 吉林大學(xué), 2015.(Wang Qi. Research and Implementation of Flight Path Acquisition Based on ADS-B [D]. Jilin University, 2015.)
[4] 宋偉. 基于ADS-B數(shù)據(jù)的航跡處理子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 電子科技大學(xué), 2012.(Song Wei. Design and Implementation of Data Based Track Processing Subsystem [D]. University of Electronic Science and Technology of China, 2012.)
[5] 王紅勇,王晨,趙嶷飛. 基于ADS-B統(tǒng)計(jì)數(shù)據(jù)的航路安全間隔研究[J]. 中國(guó)安全科學(xué)學(xué)報(bào),2013,(2):103-108.(Wang Hongyong, Wang Chen, Zhao Yifei. Research on Air Route Safety Separation Based on ADS-B Statistical Data [J]. China Safety Science Journal, 2013, (2): 103-108.)
[6] Christoph Reck, Max S Reuther, Alexander Jasch. Verification of ADS-B Positioning by Direction of Arrival Estimation[J]. International Journal of Microwave and Wireless Technologies, 2012,4(2):181-186.
[7] Busyairah Syd Ali1,Wolfgang Schuster,Washington Ochieng. Analysis of Anomalies in ADS-B and Its GPS Data[J]. GPS Solut, 2016(20):429-438.
[8] 姜建,王澤渟,高偉成. 基于JSON的ADS-B數(shù)據(jù)管理策略研究[J]. 信息與電腦,2016,(3):40-41.(Jiang Jian, Wang Zeting, Gao Weicheng. Research on ADS-B Data Management Strategy Based on JSON [J]. China Computer & Communication, 2016, (3): 40-41.)
[9] E Boci,S Thistlethwaite. A Novel Big Data Architecture in Support of ADS-B Data AnalyticC[C].Integrated Communications Navigation and Surveillance Conference (ICNS),Herdon,VA,USA,2015.
[10] RTCA DO-260B.Minimum Operational Performance Standards for 1090MHZ Automatic Dependent Surveillance-Broadcast(ADS-B)[S].2003.
[11] 胡俊. 1090ES ADS-B接收機(jī)嵌入式軟件設(shè)計(jì)[D].電子科技大學(xué),2010.(Hu Jun. Embedded Software Design of 1090ES ADS-B Receiver [D]. University of Electronic Science and Technology of China, 2010.)
[12] 許亮. 1090ES廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)的報(bào)文接收與解析[D].吉林大學(xué),2015.(Xu Liang. 1090ES Automatic Dependant Surveillance-Broadcast System′s Message Receiving and Parsing[D]. Jilin University, 2015.)
[13] 丁維昊. 1090ES ADS-B系統(tǒng)中CPR算法與實(shí)現(xiàn)[J]. 指揮信息系統(tǒng)與技術(shù),2016(2):57-62.(Ding Weihao. Compact Position Report(CPR) Algorithm and Its Realizatoin in 1090ES ADS-B System [J]. Command Information System and Technology, 2016(2): 57-62.)
[14] 劉云飛. 基于Hadoop的數(shù)據(jù)遷移與存儲(chǔ)的研究[D]. 北京郵電大學(xué), 2015. (Liu Yunfei. Researsh of Data Migration and Storage Based on Hhdoop[D]. Beijing University of Posts and Telecommunications, 2015.)
[15] 熊倩,張郭明,徐婕. Mapreduce Shffule性能改進(jìn)[J]. 計(jì)算機(jī)應(yīng)用,2017,(S1):1-11. (Xiong Qian, Zhang Guoming, Xu Jie. Improvement of Mapreduce Shffule Performance[J]. Journal of Computer Applications, 2017, (S1): 1-11.)
[16] 馮興杰,吳稀鈺,趙杰.QAR數(shù)據(jù)倉(cāng)庫(kù)在Hive中的構(gòu)建[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(11):90-94. (Feng Xingjie, Wu Xiyu, Zhao Jie. QAR Data Warehouse Room Construction [J] Computer Engineering and Applications, 2017,53(11):90-94.)
[17] 毛嘉莉,金澈清,章志剛. 軌跡大數(shù)據(jù)異常檢測(cè):研究進(jìn)展及系統(tǒng)框架[J]. 軟件學(xué)報(bào),2017,28(1):17-34. (Mao Jiali, Jing Cheqing, Zhang Zhigang. Anomaly Detection for Trajectory Big Data: Advancements and Framework [J]. Software, 2017, 28(1): 17-34.)[18] 潘新龍,王海鵬,何友,等. 基于多維航跡特征的異常行為檢測(cè)方法[J]. 航空學(xué)報(bào),2017,38(4):254-263.(Pan Xinlong, Wang Haipeng, He You, et al. Abnormal Behavior Detection Method Based on Multidimensional Trajectory Characteristics [J] .Acta Aeronautica Et Astronautica Sinica, 2017,38(4):254-263.)
[19] 王全躍,朱海濤,馬瑞霞. 基于數(shù)據(jù)挖掘的ADS-B航跡數(shù)據(jù)偏差分析方法研究[J]. 科技創(chuàng)新與應(yīng)用,2014,(13):35-36. (Wang Quanyue, Zhu Haitao, Ma Ruixia. Studies ADS-B Track Data Variance Analysis Based on Data Mining Method [J].Innovation Technology and Application, 2014, (13): 35-36.)
[20] 郇秀霞,王紅. 基于數(shù)據(jù)倉(cāng)庫(kù)的QAR數(shù)據(jù)分析[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2008,(10):2685-2688. (Huan Xiuxia, Wang Hong. QAR Data Analysis Based on Data Warehouse [J]. Computer Engineering and Design, 2008, (10): 2685-2688.)
TheDataAnalysisandStorageofADS-BBasedonHadoop
Feng Xingjie1,2, Liu Fang1
1.College of Computer Science & Technology, Civil Aviation University of China, Tianjin 300300, China 2. Information Network Center, Civil Aviation University of China, Tianjin 300300, China
Automaticdependentsurveillance-broadcas(ADS-B)isanewgenerationofaircraftoperationmonitoringsystemthatintegratesdatacommunications,satellitenavigationwithsurveillancetechnologyrecommendedbytheinterbationalcivilaviationorganization(ICAO)canreceiveandsendtheinformationoftheaircraftandit’ssurroundingautomatically.Withtheincreasingnumberofflightswithinthesurveillancearea,fortheADS-Binsecondstosendandreceiveinformation,thestand-aloneenvironmenthasbeenunabletomeetthemassiveADS-Bdataanalysis,storageandanalysis.Inthispaper,theADS-BdataisparsedbyusingtheefficientdistributedprogrammingandruntimeframeworkprovidedbytheMapreducemodel.TheparseddataisstoredintheADS-BdatawarehousebasedonindextablecreatedbyMysqlcombinedwiththebucketinHiveoperationtoclassifythemessage,whicheffectivelyimprovestheefficiencyofdataanalysisandavoidstheproblemthatthequeryefficiencycausedbyimperfectindexinHiveislow.
*國(guó)家自然科學(xué)基金委員會(huì)與中國(guó)民用航空局聯(lián)合基金項(xiàng)目(U1233113)
RegardingthemassiveandhistoricaldataofADS-B,itisproventhattheparsingbymap-reduceframeandefficiencyofstorageanalysisbyHiveispromotedobviously.
ADS-B; Hadoop; Mapreduce; Hive;Parsing;Storage;BucketADS-B
V19
A
1006-3242(2017)05-0080-07
2017-05-24
馮興杰(1969-),男,天津人,博士,教授,主要研究方向?yàn)樵朴?jì)算、數(shù)據(jù)倉(cāng)庫(kù)和智能信息處理;劉芳(1992-),女,山西人,碩士研究生,主要研究方向?yàn)樵朴?jì)算、智能信息處理。