梁國達
(中國民用航空湛江空中交通管理站,廣東 湛江524017)
空管自動化經(jīng)過多年的發(fā)展,已經(jīng)成為管制員管理空中交通必不可少的手段之一??展茏詣踊到y(tǒng)通過多雷達信號進行處理,并將雷達信號與飛行計劃動態(tài)相關(guān)聯(lián),使得管制員迅速高效地掌握航班的動態(tài)。而要準確地實現(xiàn)以上的功能,完善的基礎(chǔ)航路數(shù)據(jù)必不可少。在新建造的空管自動化系統(tǒng)過程中,龐大的基礎(chǔ)航路數(shù)據(jù)的遷移經(jīng)常由人工完成,需要耗費監(jiān)造人員非常多的精力。本文就湛江終端區(qū)AirNet 自動化系統(tǒng)建設(shè)過程中使用的數(shù)據(jù)遷移方法展開討論,希望能夠為今后類似的問題提供解決的思路。
在數(shù)據(jù)遷移過程中,主要經(jīng)歷平臺搭建、源數(shù)據(jù)結(jié)構(gòu)與目標數(shù)據(jù)結(jié)構(gòu)分析比對、數(shù)據(jù)轉(zhuǎn)換、完整性測試、遷移后系統(tǒng)運行測試這五個階段。其中的數(shù)據(jù)轉(zhuǎn)換這一過程中,可能會因為數(shù)據(jù)類型發(fā)生改變而導(dǎo)致遷移失敗甚至影響目標系統(tǒng)的運行,因此數(shù)據(jù)遷移應(yīng)該遵守以下兩個原則:(1)只能在搭建的測試平臺以及建造中的平臺中進行,不能對在用的生產(chǎn)系統(tǒng)進行操作。(2)數(shù)據(jù)遷移之前對兩個操作的平臺數(shù)據(jù)庫進行備份。
虛擬化技術(shù)目前的發(fā)展已經(jīng)非常成熟。將虛擬化技術(shù)應(yīng)用到空管領(lǐng)域的設(shè)備維護、測試當(dāng)中,可以實現(xiàn)資源的充分利用、簡化管理、方便維護。通過虛擬化技術(shù),可以將CPU、內(nèi)存、磁盤、I/O 等硬件變成可以動態(tài)管理的“資源池”,從而提高資源的利用率,并且實現(xiàn)各個虛擬服務(wù)器之間網(wǎng)絡(luò)虛擬化、儲存虛擬化。主流的虛擬化產(chǎn)品主要有XEN、Hyper-V、KVM 虛擬機、VMware。各個虛擬技術(shù)的特點如下:
(1)XEN 虛擬機的架構(gòu)不存在Host System,而是通過Xen Hypervisor 來對各個虛擬平臺進行資源分配。其功能十分強大,主要應(yīng)用在商業(yè)用途上比較多,不是桌面用戶的首選。
(2)Hyper-V 是微軟開發(fā)的一款虛擬化技術(shù),windows 系統(tǒng)中集成的Hypervisor 負責(zé)著內(nèi)存管理和CPU 的管理、虛擬機的創(chuàng)建和運行、調(diào)度。在Windows Server 2008 R2/Windows 7 以上的操作系統(tǒng)版本,都已經(jīng)集成了Hyper-V 管理器,需要手動開啟后可以使用。
(3)KVM虛擬機全稱為Kernel-based Virtual Machine,是在Linux 系統(tǒng)中運行于內(nèi)核模式下的虛擬機。KVM虛擬機的實現(xiàn)需要硬件支持,如Intel VT 技術(shù)或者AMD V 技術(shù)。
(4)VMware 是虛擬化軟件的主流廠商,其提供的一系列虛擬化產(chǎn)品從服務(wù)器領(lǐng)域到桌面領(lǐng)域都非常齊全。其中VMware Workstation 是典型的寄居架構(gòu)(Hosted Architecture),VMware Workstation 允許一臺真實的電腦在一個操作系統(tǒng)中同時開啟并運行數(shù)個操作系統(tǒng)。其使用體驗也相對較好,例如VMtools 可以實現(xiàn)主機與虛擬機之間的文件共享、能夠通過拷貝虛擬機文件的方式來進行虛擬機的遷移、還提供多種網(wǎng)絡(luò)結(jié)構(gòu)模式??偟膩碚f,VMware Workstation 是搭建自動化系統(tǒng)測試平臺比較好的選擇。
DBM子系統(tǒng)或者稱為適配數(shù)據(jù)管理子系統(tǒng),是自動化系統(tǒng)中對各個子系統(tǒng)的功能模塊進行配置、保存、發(fā)布的子系統(tǒng)。AirNet 自動化中通過DBM 子系統(tǒng)對各種參數(shù)進行配置,再以XML 的形式進行發(fā)布生效。通過測試平臺的DBM子系統(tǒng),我們可以輕松的將在用系統(tǒng)的參數(shù)進行測試、移植。
AirNet 自動化系統(tǒng)使用的是MySQL 數(shù)據(jù)庫。MySQL 是一個典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其具有其體積小、速度快、靈活性強的特點。MySQL 數(shù)據(jù)庫在AirNet 自動化系統(tǒng)中主要應(yīng)用為航路航線、機型、固定點等等基礎(chǔ)數(shù)據(jù)和歷史報文的存儲管理。隨著民航技術(shù)的發(fā)展,自動化廠商會對這些基礎(chǔ)數(shù)據(jù)有更加復(fù)雜的應(yīng)用,因此在同一個廠商的自動化系統(tǒng)會隨著版本的推移,數(shù)據(jù)庫的表結(jié)構(gòu)更加復(fù)雜,會增加更多的字段,并且將這些基礎(chǔ)數(shù)據(jù)應(yīng)用于不同的場合當(dāng)中。
在搭建的測試平臺中,Host System 使用的是Windows 10的操作平臺,而安裝在VMware Workstation 中的虛擬操作系統(tǒng)是Red Hat Enterprise Linux(RHEL)5.8,安裝的數(shù)據(jù)庫是MySQL。將在用自動化系統(tǒng)最新系統(tǒng)參數(shù)復(fù)制進去測試平臺中指定的目錄,測試平臺中的DBM子系統(tǒng)已經(jīng)可以讀出在用系統(tǒng)的參數(shù)配置。使用轉(zhuǎn)存儲數(shù)據(jù)庫的實用程序mysqldump 可以將在用系統(tǒng)的數(shù)據(jù)庫裝載到一個備份文件中,再將該文件拷貝到測試平臺RHEL 5.8 中,使用mysql 恢復(fù)數(shù)據(jù)指令進行導(dǎo)入,就完成了在用系統(tǒng)數(shù)據(jù)庫到測試平臺數(shù)據(jù)庫的移植。
Navicat Premium 是Navicat 的產(chǎn)品之一,它可作為單一程序連接多個數(shù)據(jù)庫進行管理操作,并且可以對多種數(shù)據(jù)庫進行批處理操作,如導(dǎo)入導(dǎo)出、創(chuàng)建查詢工具、修改表字段、資料同步、備份等。
安裝好修改VMware Workstation 虛擬機后,系統(tǒng)會在Host System 中的網(wǎng)絡(luò)連接中生成虛擬網(wǎng)卡,名稱為"VMware Network Adapter VMnet8",用于Host System 與虛擬操作系統(tǒng)之間的NAT 模式下的網(wǎng)絡(luò)通信。將VMware Workstation中RHEL 5.8 的網(wǎng)絡(luò)連接方式為NAT 模式,并且設(shè)置Host System 中VMware Network Adapter VMnet8 虛擬網(wǎng)卡與虛擬DBM子系統(tǒng)為同一網(wǎng)段,使用ping 命令進行網(wǎng)絡(luò)測試,成功則代表網(wǎng)絡(luò)設(shè)置已經(jīng)完成。
使用網(wǎng)絡(luò)方式連接MySQl 數(shù)據(jù)庫時候,有可能由于權(quán)限的原因,導(dǎo)致網(wǎng)絡(luò)訪問被拒絕,因此,在前期準備時候,可以對測試平臺中的MySQl 數(shù)據(jù)庫中的用戶提升權(quán)限,具體操作如圖所示:
提升MySQL 用戶權(quán)限的過程
利用測試平臺的網(wǎng)絡(luò)地址、root 用戶、提升權(quán)限時候配置的密碼,就可以通過Navicat Premium 登錄到測試平臺的數(shù)據(jù)庫,下一步就可以對測試平臺中的數(shù)據(jù)庫進行操作了。
前期準備完成之后,就可以進行數(shù)據(jù)遷移工作了。具體可以分為以下幾個重要內(nèi)容:
(1)兩個操作的平臺數(shù)據(jù)庫進行備份。
(2)源數(shù)據(jù)結(jié)構(gòu)與目標數(shù)據(jù)結(jié)構(gòu)分析比對,利用Navicat Premium 自帶的修改表功能,可以方便地對源數(shù)據(jù)進行數(shù)據(jù)結(jié)構(gòu)修改,然后提取出表文件。
(3)數(shù)據(jù)清洗。在目標數(shù)據(jù)庫中使用mysql 的delete 語句將目標數(shù)據(jù)庫中所對應(yīng)表中數(shù)據(jù)進行清除。
(4)數(shù)據(jù)轉(zhuǎn)換。在目標數(shù)據(jù)庫中使用mysql 的source 語句將修改后的源數(shù)據(jù)進行導(dǎo)入。
(5)數(shù)據(jù)的完整性進行觀察比對。使用自動化系統(tǒng)的軟件調(diào)用出基礎(chǔ)數(shù)據(jù),觀察軟件有無報錯,并且與測試平臺中的統(tǒng)計數(shù)據(jù)進行人工比對。
(6)遷移運行測試。通過在建造平臺中回放運行現(xiàn)場錄制的原始雷達數(shù)據(jù)、航空報文數(shù)據(jù),來對遷移后的基礎(chǔ)數(shù)據(jù)進行驗證測試。
基礎(chǔ)數(shù)據(jù)對于空管自動化系統(tǒng)越來越重要,維護好一套完善的基礎(chǔ)數(shù)據(jù),可以使得空管自動化系統(tǒng)更加精確,更加方便,從而提升管制員的工作效率。但是龐大的基礎(chǔ)數(shù)據(jù)轉(zhuǎn)移也是建造新的空管自動化系統(tǒng)所不得不面對的困難之一,針對空管自動化平臺建造過程中的基礎(chǔ)數(shù)據(jù)遷移的工作特性以及風(fēng)險評估,提出了一套可行的數(shù)據(jù)遷移方法,通過這套方法,可以提高工作效率,并且大大地減輕基礎(chǔ)數(shù)據(jù)錄入的工作量,并且可以推廣到不同廠商的空管自動化平臺建造中實際應(yīng)用。