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

提升MySQL 用戶權限的過程
利用測試平臺的網絡地址、root 用戶、提升權限時候配置的密碼,就可以通過Navicat Premium 登錄到測試平臺的數據庫,下一步就可以對測試平臺中的數據庫進行操作了。
前期準備完成之后,就可以進行數據遷移工作了。具體可以分為以下幾個重要內容:
(1)兩個操作的平臺數據庫進行備份。
(2)源數據結構與目標數據結構分析比對,利用Navicat Premium 自帶的修改表功能,可以方便地對源數據進行數據結構修改,然后提取出表文件。
(3)數據清洗。在目標數據庫中使用mysql 的delete 語句將目標數據庫中所對應表中數據進行清除。
(4)數據轉換。在目標數據庫中使用mysql 的source 語句將修改后的源數據進行導入。
(5)數據的完整性進行觀察比對。使用自動化系統的軟件調用出基礎數據,觀察軟件有無報錯,并且與測試平臺中的統計數據進行人工比對。
(6)遷移運行測試。通過在建造平臺中回放運行現場錄制的原始雷達數據、航空報文數據,來對遷移后的基礎數據進行驗證測試。
基礎數據對于空管自動化系統越來越重要,維護好一套完善的基礎數據,可以使得空管自動化系統更加精確,更加方便,從而提升管制員的工作效率。但是龐大的基礎數據轉移也是建造新的空管自動化系統所不得不面對的困難之一,針對空管自動化平臺建造過程中的基礎數據遷移的工作特性以及風險評估,提出了一套可行的數據遷移方法,通過這套方法,可以提高工作效率,并且大大地減輕基礎數據錄入的工作量,并且可以推廣到不同廠商的空管自動化平臺建造中實際應用。