李立
(中國(guó)航空無(wú)線電電子研究所 航空電子系統(tǒng)綜合技術(shù)重點(diǎn)實(shí)驗(yàn)室,上海 200233)
機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)是民用飛機(jī)中飛行管理系統(tǒng)的重要組成部分,對(duì)飛行計(jì)劃、導(dǎo)航引導(dǎo)、性能預(yù)測(cè)等眾多功能的實(shí)現(xiàn)提供數(shù)據(jù)支持。因此,機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)對(duì)支持飛機(jī)正常飛行起著重要的保障作用。滿足機(jī)載應(yīng)用所需的導(dǎo)航數(shù)據(jù)庫(kù)需包含導(dǎo)航設(shè)施、機(jī)場(chǎng)、跑道、航路、航路點(diǎn)、近進(jìn)、進(jìn)離場(chǎng)程序、等待程序、限制空域等對(duì)航行運(yùn)行至關(guān)重要的核心數(shù)據(jù)[1-3]。
機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的內(nèi)容必須嚴(yán)格符合ARINC424標(biāo)準(zhǔn)[4-5],數(shù)據(jù)之間存在先后順序、區(qū)域判斷等約束關(guān)系。機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的生成過(guò)程一般分為兩步:首先,由具有LOA-TypeⅠ資格認(rèn)證的導(dǎo)航數(shù)據(jù)庫(kù)供應(yīng)商收集各國(guó)官方出版的航行資料匯編等導(dǎo)航數(shù)據(jù)來(lái)源,將其制作成符合ARINC424規(guī)范格式要求的標(biāo)準(zhǔn)導(dǎo)航數(shù)據(jù)并對(duì)外發(fā)布;然后,經(jīng)具有LOA-TypeⅡ資格認(rèn)證的航電廠商打包處理,最終生成機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)文件,并被加載到飛行管理系統(tǒng)內(nèi),供系統(tǒng)的各功能模塊使用。目前,美國(guó)的霍尼韋爾公司、GE公司,法國(guó)的泰勒斯公司等經(jīng)營(yíng)著支線、干線及商務(wù)飛機(jī)的航電產(chǎn)品市場(chǎng),掌握著機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)生成、打包等方面的相關(guān)技術(shù)。國(guó)外在機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的生成、應(yīng)用等方面也相對(duì)成熟,例如Albert A.Herndon[6]介紹了飛行管理計(jì)算機(jī)機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)性能的約束原因,并給出了降低機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)容量的方法。
國(guó)內(nèi)在民用機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)應(yīng)用研究領(lǐng)域尚處于起步階段,并未達(dá)到工程化應(yīng)用水平;軍機(jī)的機(jī)載導(dǎo)航系統(tǒng)大多沒(méi)有涉及機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的應(yīng)用,雖然有些飛機(jī)的綜合顯控系統(tǒng)存儲(chǔ)有少量的航路點(diǎn)、航線等數(shù)據(jù),但主要是用于地圖顯示引導(dǎo),與飛行管理系統(tǒng)利用機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)實(shí)現(xiàn)的航線規(guī)劃、導(dǎo)航計(jì)算還有一定差距。代表性的研究主要有:劉艷等[7]和陳志勇[8]分別介紹了機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的現(xiàn)狀、數(shù)據(jù)的更新流程及其未來(lái)的發(fā)展趨勢(shì);劉艷等[9]、楊賽[10]、宋柯[11]、杜海波[12]分別介紹了航空數(shù)據(jù)的應(yīng)用,國(guó)內(nèi)應(yīng)用機(jī)載航空數(shù)據(jù)的現(xiàn)狀并給出建議;王軍等[13]對(duì)國(guó)內(nèi)民航導(dǎo)航數(shù)據(jù)更新技術(shù)進(jìn)行了研究,介紹了一種國(guó)內(nèi)導(dǎo)航數(shù)據(jù)的ARINC424編碼與整合的方法;楊熾夫等[14]介紹了采用FlightGear等模擬導(dǎo)航數(shù)據(jù)庫(kù)建立飛行模擬器導(dǎo)航數(shù)據(jù)庫(kù)的方法;葉琳瓚等[15]采用一種改進(jìn)的管道-過(guò)濾器模式,通過(guò)裁剪和篩選導(dǎo)航數(shù)據(jù)的方法,降低數(shù)據(jù)容量。
通常包含有全球范圍的導(dǎo)航數(shù)據(jù)文件有百萬(wàn)行數(shù)據(jù)量,海量的數(shù)據(jù)處理過(guò)程包括數(shù)據(jù)格式檢查、語(yǔ)法校驗(yàn),查找和轉(zhuǎn)換等,因此機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)格式化難點(diǎn)就是對(duì)海量的導(dǎo)航數(shù)據(jù)進(jìn)行處理并保證數(shù)據(jù)的質(zhì)量?;谏鲜龇治?,本文給出一種基于關(guān)系模型的機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)快速解析生成方法,利用建模方法,定義ARINC424協(xié)議中包含的大量數(shù)據(jù)對(duì)象之間的邏輯關(guān)系和約束關(guān)系,并通過(guò)中間關(guān)系表確立各個(gè)數(shù)據(jù)之間的交叉引用關(guān)系,同時(shí)利用Access數(shù)據(jù)庫(kù)作為中間數(shù)據(jù)庫(kù),建立不同類別的數(shù)據(jù)表,方便數(shù)據(jù)的查詢,通過(guò)對(duì)比格式化后的數(shù)據(jù)和源數(shù)據(jù)來(lái)保證數(shù)據(jù)質(zhì)量。
本文設(shè)計(jì)的機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)解析生成系統(tǒng)根據(jù)功能需求以及ARINC424標(biāo)準(zhǔn)數(shù)據(jù)的特點(diǎn)劃分為五大模塊,分別為:ARINC424源數(shù)據(jù)解析模塊、ARINC424源數(shù)據(jù)校驗(yàn)?zāi)K、ARINC424源數(shù)據(jù)文件轉(zhuǎn)換模塊、ARINC424源數(shù)據(jù)文件對(duì)比模塊和ARINC424源數(shù)據(jù)展示模塊。每個(gè)大模塊下包含若干個(gè)小模塊,具體的模塊劃分如圖1所示。
圖1 系統(tǒng)模塊劃分Fig.1 System module division
本文系統(tǒng)依托于關(guān)系型數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)功能的特性對(duì)業(yè)務(wù)邏輯和算法進(jìn)行抽象和封裝,并通過(guò)用戶界面對(duì)系統(tǒng)的業(yè)務(wù)和算法進(jìn)行整合,以便為最終用戶提供功能完整、簡(jiǎn)單易用的系統(tǒng)平臺(tái)。系統(tǒng)的總體架構(gòu)如圖2所示。
圖2 系統(tǒng)架構(gòu)Fig.2 System structure
架構(gòu)圖(圖2)中各層的主要功能如下:
(1) 數(shù)據(jù)接入層。主要用于完成ARINC424源數(shù)據(jù)文件以及二進(jìn)制機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)文件的內(nèi)容解析、內(nèi)部對(duì)象關(guān)系解析以及相關(guān)的校驗(yàn),為數(shù)據(jù)存儲(chǔ)層提供數(shù)據(jù)的輸入。數(shù)據(jù)接入層是機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)地面站軟件功能實(shí)現(xiàn)的基礎(chǔ)。
(2) 數(shù)據(jù)持久化和應(yīng)用層。系統(tǒng)依賴關(guān)系型數(shù)據(jù)庫(kù)作為數(shù)據(jù)持久化存儲(chǔ)的媒介,將數(shù)據(jù)接入層傳入的各種對(duì)象數(shù)據(jù)存儲(chǔ)在不同的數(shù)據(jù)庫(kù)表中,同時(shí)通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)接口實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫(xiě)。應(yīng)用層則在數(shù)據(jù)持久化的基礎(chǔ)上,通過(guò)對(duì)數(shù)據(jù)存儲(chǔ)層進(jìn)行操作構(gòu)建對(duì)象結(jié)構(gòu)和關(guān)系并向業(yè)務(wù)邏輯層提供數(shù)據(jù)服務(wù)。
(3) 業(yè)務(wù)邏輯層。業(yè)務(wù)邏輯層負(fù)責(zé)系統(tǒng)領(lǐng)域業(yè)務(wù)的處理,負(fù)責(zé)邏輯性數(shù)據(jù)的生成、處理及轉(zhuǎn)換。針對(duì)具體問(wèn)題的操作,由原始數(shù)據(jù)抽象出邏輯數(shù)據(jù),將數(shù)據(jù)層的基礎(chǔ)存儲(chǔ)邏輯組合起來(lái),形成一種業(yè)務(wù)規(guī)則。邏輯處理層的主要功能是獲取并分析業(yè)務(wù)請(qǐng)求參數(shù),調(diào)用相應(yīng)的業(yè)務(wù)外觀將結(jié)果返回表示層,并利用數(shù)據(jù)訪問(wèn)對(duì)象對(duì)持久化層進(jìn)行操作。
(4) UI表現(xiàn)層。通過(guò)對(duì)業(yè)務(wù)邏輯的封裝向終端用戶提供系統(tǒng)操作的接口,對(duì)于所有的終端用戶,用戶接口層是訪問(wèn)、修改系統(tǒng)數(shù)據(jù)的唯一入口。
ARINC424協(xié)議中包含了大量的對(duì)象類型(例如機(jī)場(chǎng)、跑道、航線等)和對(duì)象屬性(例如經(jīng)緯度、識(shí)別碼、周期等),在建立關(guān)系型數(shù)據(jù)庫(kù)之前,需要使用統(tǒng)一建模語(yǔ)言(UML)對(duì)所有數(shù)據(jù)對(duì)象進(jìn)行建模,將數(shù)據(jù)對(duì)象的所有屬性和內(nèi)部標(biāo)識(shí)等獨(dú)有信息裝成完整模型,從而可以更快速準(zhǔn)確地定義出協(xié)議中各個(gè)對(duì)象之間的邏輯關(guān)系和約束關(guān)系,為后續(xù)原始數(shù)據(jù)的快速檢索和解析奠定基礎(chǔ)。同時(shí)以UML模型為基礎(chǔ),通過(guò)對(duì)模型不斷地迭代和優(yōu)化最終可獲得一套有著良好適用性和擴(kuò)展性的ARINC424協(xié)議描述核心代碼。具體建模設(shè)計(jì)如圖3所示。
在對(duì)所有數(shù)據(jù)對(duì)象建模的基礎(chǔ)上,系統(tǒng)底層采用關(guān)系型數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ),ARINC424源數(shù)據(jù)在導(dǎo)入后將自動(dòng)被存儲(chǔ)到系統(tǒng)數(shù)據(jù)庫(kù)中。用戶在后續(xù)對(duì)文件內(nèi)容的操作(包括數(shù)據(jù)查看、檢索、Access數(shù)據(jù)表的導(dǎo)出等)均無(wú)需依賴原始文件。
由于ARINC424數(shù)據(jù)結(jié)構(gòu)種類繁多,各種不同數(shù)據(jù)種類之間可能存在引用關(guān)系并且考慮對(duì)于未來(lái)協(xié)議版本擴(kuò)展性的支持,數(shù)據(jù)庫(kù)在設(shè)計(jì)時(shí)對(duì)表結(jié)構(gòu)進(jìn)行了優(yōu)化,通過(guò)中間關(guān)系表的應(yīng)用確立各個(gè)數(shù)據(jù)之間的交叉引用關(guān)系(Cross Reference)。例如某個(gè)航線對(duì)象模型通過(guò)模型內(nèi)部標(biāo)識(shí)、索引號(hào)和數(shù)據(jù)對(duì)象的本身信息來(lái)鏈接到所有包含的航路點(diǎn)對(duì)象模型,構(gòu)成一條完整的關(guān)系鏈路并加以存儲(chǔ),同時(shí)在盡可能提高數(shù)據(jù)存儲(chǔ)和查詢效率的前提下減少數(shù)據(jù)的冗余。數(shù)據(jù)庫(kù)表設(shè)計(jì)示例如圖4所示。
圖3 UML設(shè)計(jì)圖Fig.3 UML design diagram
圖4 數(shù)據(jù)表設(shè)計(jì)樣例Fig.4 Data sheet design example
本文方法的重點(diǎn)在于每一個(gè)數(shù)據(jù)對(duì)象的建模和對(duì)象模型之間的關(guān)系鏈路搭建,進(jìn)而構(gòu)成完整的關(guān)系數(shù)據(jù)表,利用各個(gè)數(shù)據(jù)對(duì)象之間的鏈路索引關(guān)系,實(shí)現(xiàn)整個(gè)數(shù)據(jù)源的快速解析、存儲(chǔ),并最終實(shí)現(xiàn)機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)的快速生成。
機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)格式化輸入數(shù)據(jù)是標(biāo)準(zhǔn)的ARINC424導(dǎo)航數(shù)據(jù)。杰普遜(Jeppesen)公司為國(guó)際公認(rèn)的導(dǎo)航數(shù)據(jù)庫(kù)主要供應(yīng)商,故本文采用該公司2017年循環(huán)周期為0910的數(shù)據(jù)源,該數(shù)據(jù)源符合ARINC424最新標(biāo)準(zhǔn)。考慮到不同周期的數(shù)據(jù)源所含的數(shù)據(jù)項(xiàng)基本一致,僅由于數(shù)據(jù)內(nèi)容的更新而存在細(xì)微差異,本文選擇的數(shù)據(jù)源同樣具有實(shí)際的驗(yàn)證效果。該數(shù)據(jù)源共包含150萬(wàn)行導(dǎo)航數(shù)據(jù),通過(guò)該數(shù)據(jù)源進(jìn)行篩選構(gòu)建不同容量的樣本即能可靠地驗(yàn)證本文方法的有效性。
選擇相應(yīng)的ARINC424導(dǎo)航數(shù)據(jù)源文件,并在文本框中設(shè)定該字段的解析條件,系統(tǒng)將自動(dòng)解析ARINC424源數(shù)據(jù)文件頭信息和ARINC424協(xié)議數(shù)據(jù)。同時(shí),系統(tǒng)還能通過(guò)數(shù)據(jù)庫(kù)中存儲(chǔ)的ARINC424字段校驗(yàn)規(guī)則實(shí)現(xiàn)對(duì)各種類型的ARINC424源數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)的項(xiàng)目包括:數(shù)據(jù)的格式、完整性校驗(yàn)、范圍校驗(yàn)以及CRC校驗(yàn)。當(dāng)系統(tǒng)完成源數(shù)據(jù)文件的導(dǎo)入和校驗(yàn)后,將利用樹(shù)形結(jié)構(gòu)對(duì)每個(gè)源數(shù)據(jù)文件以及文件中的各個(gè)數(shù)據(jù)類型進(jìn)行分類,并利用表格視圖對(duì)指定類型的數(shù)據(jù)詳細(xì)內(nèi)容進(jìn)行展示,顯示詳情如圖5所示。
圖5 數(shù)據(jù)分類顯示Fig.5 Data classification display
此外,系統(tǒng)還可根據(jù)輸入的ARINC424源數(shù)據(jù)以及指定的數(shù)據(jù)轉(zhuǎn)換范圍將源數(shù)據(jù)轉(zhuǎn)換為直觀、方便查閱的數(shù)據(jù)格式。本文采用將ARINC424源數(shù)據(jù)持久化存儲(chǔ)到軟件內(nèi)關(guān)系型數(shù)據(jù)庫(kù)表結(jié)構(gòu)中的形式,以實(shí)現(xiàn)源數(shù)據(jù)的轉(zhuǎn)換。
通過(guò)對(duì)杰普遜(Jeppesen)公司提供的數(shù)據(jù)源根據(jù)不同條件篩選,形成多個(gè)測(cè)試數(shù)據(jù)樣例,并進(jìn)行大量試驗(yàn),得到測(cè)試結(jié)果如表1所示。
表1 機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)解析生成測(cè)試結(jié)果Table 1 Test results of analysis and generation of airborne navigation database
從表1可以看出:本文提出的基于關(guān)系模型的機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)快速解析生成方法能快速解析、校驗(yàn)和生成機(jī)載導(dǎo)航數(shù)據(jù)庫(kù),當(dāng)導(dǎo)航數(shù)據(jù)文件數(shù)據(jù)總量達(dá)到10萬(wàn)行時(shí),能將消耗時(shí)間控制在1 min內(nèi);即使針對(duì)全球范圍的百萬(wàn)行數(shù)據(jù)總量,仍然能將消耗時(shí)間控制在約4 min,與采用非關(guān)系模型的方法相比,具有相當(dāng)大的解析生成性能優(yōu)勢(shì)。
(1) 本文的方法定義了大量數(shù)據(jù)對(duì)象之間的邏輯關(guān)系和約束關(guān)系,并通過(guò)中間關(guān)系表確立各個(gè)數(shù)據(jù)之間的交叉引用關(guān)系,有效提高了各類數(shù)據(jù)項(xiàng)的查詢和解析效率,從而有效降低運(yùn)行時(shí)間消耗。
(2) 利用Access數(shù)據(jù)庫(kù)作為中間數(shù)據(jù)庫(kù),建立不同類別的數(shù)據(jù)表,方便數(shù)據(jù)的查詢。通過(guò)對(duì)比格式化后的數(shù)據(jù)和源數(shù)據(jù),以保證數(shù)據(jù)質(zhì)量,從而實(shí)現(xiàn)全球范圍導(dǎo)航數(shù)據(jù)文件百萬(wàn)行數(shù)據(jù)總量的快速解析、校驗(yàn)和生成過(guò)程。表明本文提出的基于關(guān)系模型的機(jī)載導(dǎo)航數(shù)據(jù)庫(kù)快速解析生成方法有效且性能優(yōu)異。