堯 豐,韓松臣,朱新平
(南京航空航天大學(xué)民航學(xué)院,江蘇南京 210016)
低空空域是國家空域體系的重要組成部分,按照國際民航組織的空域分類標(biāo)準(zhǔn)[1],低空空域是指除了A類(絕對管制空域),B、C類(進(jìn)近管制空域),D類(機(jī)場管制地帶)等公共運(yùn)輸航空主要使用的空域,以及特殊用途空域(如軍航訓(xùn)練空域、空中禁區(qū)、限制區(qū)和危險區(qū))之外的所有空域,通常又可以按照限制等級和服務(wù)類型細(xì)分為 E、F、G 類空域。
低空空域綜合管理系統(tǒng)是通用航空運(yùn)行管理系統(tǒng)的重要組成部分,建立高效的低空空域綜合管理系統(tǒng)具有重要的實際意義。王偉、劉松[2]等人通過分析低空空域的屬性、分類及特點(diǎn),借鑒國外低空空域管理的先進(jìn)經(jīng)驗,對我國低空空域的管理進(jìn)行了思考,并提出了低空空域管理的設(shè)想。陳泐[3]基于新航行系統(tǒng)技術(shù),結(jié)合當(dāng)今一些先進(jìn)的技術(shù)和優(yōu)秀的算法,提出了一種高性價比的通用航空飛行保障系統(tǒng),即基于GIS、GPS通用航空飛行保障系統(tǒng),并對相關(guān)技術(shù)要點(diǎn)進(jìn)行了闡述。
隨著Internet/Intranet的普及,基于J2EE的Web技術(shù)迅猛發(fā)展,各種框架技術(shù)的不斷成熟,為建立低空空域綜合管理系統(tǒng)提供了有力的支持。因此,基于J2EE體系結(jié)構(gòu),筆者提出了集成Struts和Hibernate框架的低空空域綜合管理系統(tǒng)架構(gòu)模型,并對系統(tǒng)邏輯結(jié)構(gòu)、功能模塊劃分和具體的業(yè)務(wù)流程進(jìn)行了分析。
低空空域管理涉及到通信、導(dǎo)航、監(jiān)視、氣象和情報服務(wù)等職能部門。在長期的通用航空運(yùn)行中暴露出一系列的問題[4],表現(xiàn)為:①空域設(shè)施覆蓋面達(dá)不到要求;②飛行情報系統(tǒng)不健全;③通用航空運(yùn)行過程中整體協(xié)作能力不強(qiáng),通航飛行活動單位獲取所需信息過程繁雜,工作效率不高,影響飛行安全。
該系統(tǒng)的設(shè)計目標(biāo)是在現(xiàn)有空管系統(tǒng)的基礎(chǔ)上,利用現(xiàn)代衛(wèi)星通信技術(shù),將飛行服務(wù)站與通用航空機(jī)載GPS導(dǎo)航儀、應(yīng)答機(jī)相關(guān)數(shù)據(jù)進(jìn)行聯(lián)網(wǎng),建立一種新型低空空域綜合管理系統(tǒng),加強(qiáng)低空空域管理,全面監(jiān)控和跟蹤通用航空飛行動態(tài)。同時,利用計算機(jī)技術(shù)和地面通信,將飛行服務(wù)站、通用航空服務(wù)管理機(jī)構(gòu)、通用航空飛行活動單位及個人進(jìn)行信息資源整合,實現(xiàn)信息共享,提高低空空域使用效率和監(jiān)管力度,為保證低空空域內(nèi)的一切飛行奠定良好基礎(chǔ)。
根據(jù)低空空域綜合管理系統(tǒng)工作的實際需求,低空空域綜合管理系統(tǒng)主要包括:①通信、導(dǎo)航、監(jiān)視、氣象和情報服務(wù)模塊。通用航空運(yùn)輸除了對通信、氣象和情報服務(wù)具有額外要求外,在導(dǎo)航和監(jiān)視方面基本上是利用國家現(xiàn)有的用于公共運(yùn)輸航空服務(wù)的設(shè)施設(shè)備。②飛行服務(wù)站模塊。其包括飛行前計劃、標(biāo)準(zhǔn)天氣講解、簡短講解、展望講解、飛行計劃、飛行中天氣講解、航站預(yù)報、高空風(fēng)溫預(yù)報、區(qū)域預(yù)報、飛行中咨詢和飛行員報告等子功能,主要向通用航空飛行提供飛行情報等服務(wù),可以有效地減輕空中交通管制系統(tǒng)的負(fù)荷。③飛行中咨詢模塊。其主要應(yīng)對通航飛行活動單位迷航等特情發(fā)生時及時與地面飛行服務(wù)站的聯(lián)系。此外,還包括一些其他的外圍模塊。低空空域綜合管理系統(tǒng)具體的功能模塊如圖1所示。
圖1 低空空域綜合管理系統(tǒng)功能模塊圖
通用航空單位可以通過瀏覽器登錄系統(tǒng),提交飛行計劃,接收航空氣象信息、氣象通播信息和告警信息等信息,而低空空域管理單位需要對用戶的需求給予滿足,包括飛行計劃審批、修改、沖突探測、航跡配對、邏輯檢查及提供航空氣象信息、氣象通播、告警和實時咨詢等服務(wù)。低空空域綜合管理系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計如圖2所示。
圖2 低空空域綜合管理系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計
由于低空空域綜合管理系統(tǒng)對實時性、穩(wěn)定性和可靠性有很高的要求,因此,整個系統(tǒng)應(yīng)該易于維護(hù)和擴(kuò)展,并且系統(tǒng)需要兼顧到外部設(shè)備如GIS、GPS和移動端的接入。以目前的技術(shù)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)拓?fù)洌⑼ㄟ^Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,能夠?qū)崿F(xiàn)界面友好、可操作性強(qiáng)、維護(hù)方便,成本也較低,還能實現(xiàn)不同的低空空域使用用戶從不同的地點(diǎn),以不同的接入方式(比如 LAN、WAN、Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。但傳統(tǒng)的B/S[5](Brower/Server)模式對高要求的低空空域綜合管理系統(tǒng)消息傳遞的實時性和可靠性是無法滿足的,然而對相對發(fā)展已非常成熟的 C/S[6](Client/Server)來說,通信雙方通過建立TCP/IP套接字就能很好的實現(xiàn)。但C/S體系結(jié)構(gòu)投資大,維護(hù)成本高且難于升級。因此綜合考慮B/S和C/S兩者的優(yōu)勢,以及J2EE平臺跨平臺、中間件技術(shù)和多層結(jié)構(gòu)等技術(shù)性能優(yōu)點(diǎn),采用基于J2EE技術(shù)的B/S和C/S模式相結(jié)合的3層系統(tǒng)架構(gòu),并利用Java消息服務(wù)(JMS)實現(xiàn)低空空域綜合管理系統(tǒng)中各種信息的異步通信是一個比較理想的解決方案。
通過對各種解決方案和框架結(jié)構(gòu)的比較,中間層和持久層選擇Java技術(shù)作為開發(fā)的應(yīng)用技術(shù)。該系統(tǒng)的飛行服務(wù)站、通信、導(dǎo)航、監(jiān)視、氣象、情報及飛行中咨詢等幾大模塊相對獨(dú)立,但都很復(fù)雜,涉及到大量的數(shù)據(jù)處理與復(fù)雜的業(yè)務(wù)流程,因此,集成的 Struts[7-8]與 Hibernate[9-10]架構(gòu)剛好適合于開發(fā)這個系統(tǒng),并能節(jié)約開發(fā)時間和開發(fā)成本。
該系統(tǒng)采用客戶瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫架構(gòu)模式,前臺表示層使用JSP技術(shù)通過瀏覽器實現(xiàn);中間層(Web層和業(yè)務(wù)層)使用Struts框架和JavaBean等技術(shù)來實現(xiàn),以滿足業(yè)務(wù)需要;持久層通過Hibernate框架提供對數(shù)據(jù)庫的操作支持;后臺數(shù)據(jù)庫使用SQL Server 2000數(shù)據(jù)庫,并根據(jù)系統(tǒng)相應(yīng)功能模塊分成飛行計劃數(shù)據(jù)庫、航行情報數(shù)據(jù)庫和航空氣象數(shù)據(jù)庫分別設(shè)計。集成Struts和Hibernate框架的低空空域綜合管理系統(tǒng)總體架構(gòu)如圖3所示。
圖3 低空空域綜合管理系統(tǒng)總體架構(gòu)設(shè)計示意圖
該系統(tǒng)具有如下優(yōu)點(diǎn):
(1)合理劃分各層的功能,降低層與層之間的耦合,從而使整個系統(tǒng)在邏輯結(jié)構(gòu)上更為清晰,可提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
(2)Web層的開發(fā)和維護(hù)更為方便。該系統(tǒng)把應(yīng)用程序分成3個部分,即模型、視圖和控制器,并采用主流的Struts框架技術(shù)來實現(xiàn)各個部分,它們相互協(xié)作,完成不同的任務(wù)。由于所有的頁面跳轉(zhuǎn)都集中在XML配置文件中定義,因此,可提高程序的可讀性和可維護(hù)性。
(3)Hibernate持久層實現(xiàn)技術(shù)提高了系統(tǒng)的移植性。運(yùn)用MVC模式的Struts框架雖然在總體上實現(xiàn)了對邏輯、顯示和控制的分離,但是它沒有提供對復(fù)雜的持久層的支持。因此,該系統(tǒng)采用Hibernate,可以彌補(bǔ)Struts框架在持久層操作中的不足,它對數(shù)據(jù)庫操作的大多數(shù)技術(shù)細(xì)節(jié)進(jìn)行了封裝,經(jīng)過Hibernate的O/R映射的配置文件可以將數(shù)據(jù)庫表與持久層對象對應(yīng)起來,完全符合Java中面向?qū)ο蟮拈_發(fā)思想。由于Hibernate對不同的數(shù)據(jù)庫都有良好的支持,只需簡單修改Hibernate中的配置文件hibernate.cfg.xml就可實現(xiàn)底層數(shù)據(jù)庫的切換,提高系統(tǒng)的移植性。
(4)考慮到外部設(shè)備如地理信息系統(tǒng)GPS/GIS、移動端,系統(tǒng)利用外置天線接入,進(jìn)行實時傳遞外部實時信息,與系統(tǒng)邏輯層進(jìn)行無縫對接,并在表示層進(jìn)行顯示,把接收到的信息通過中間層處理,存儲到空間數(shù)據(jù)庫中,可提高系統(tǒng)的兼容性和生存周期。
低空空域使用用戶在表示層運(yùn)行的瀏覽器中,通過JSP頁面實現(xiàn)交互,傳送飛行計劃、飛行態(tài)勢監(jiān)視、沖突探測及低高度告警和航行情報等方面的信息請求和接受響應(yīng)。Web層中的Struts通過ActionServlet接收請求,并將請求交給Request-Processor來處理。Request-Processor根據(jù)請求的URL從ActionMapping中得到與之相對應(yīng)的Action,并根據(jù)請求的參數(shù)實例化響應(yīng)中的ActionForm,再經(jīng)過Form驗證。業(yè)務(wù)層負(fù)責(zé)向Action提供業(yè)務(wù)模型組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件來完成相關(guān)的業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件提升系統(tǒng)性能和保證數(shù)據(jù)完整。在持久層中,依賴Hibernate的對象化映射和數(shù)據(jù)庫交互來處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。在邏輯層中,低空空域綜合管理系統(tǒng)通過移動信號接收組件,傳送和接收GPS/GIS、移動端等硬件端口的信息,以實現(xiàn)系統(tǒng)的實時性和健壯性,可充分發(fā)揮本系統(tǒng)的功能優(yōu)勢。
系統(tǒng)界面的實現(xiàn)是系統(tǒng)開發(fā)過程中的關(guān)鍵,即完成系統(tǒng)中所要求的各功能模塊,由于篇幅的限制,只描述對飛行計劃服務(wù)子系統(tǒng)進(jìn)行的研究。
飛行計劃服務(wù)子系統(tǒng)主要由Login.jsp、CFPServer.jsp、NewPlan.jsp、NewTrack.jsp 等幾個 jsp頁面和 LoginServlet.java、CFPServlet.java、NewP-lanServlet.java、CheckServlet.java、NewTrackServlet.java等Servlet類構(gòu)成。
其中Login.jsp的主要功能是提供用戶登錄和注冊界面,它將業(yè)務(wù)需求提交給對應(yīng)的Servlet類LoginServlet來完成用戶合法性檢驗或注冊新用戶到數(shù)據(jù)庫等功能。
CFPServer.jsp顯示所有的飛行計劃及他們所處的狀態(tài),并提供申請和刪除新飛行計劃以及對飛行計劃的審查等鏈接。同樣,業(yè)務(wù)邏輯實現(xiàn)以及對數(shù)據(jù)庫的操作也通過對應(yīng)的Servlet類CF-PServlet來實現(xiàn)。低空空域飛行計劃申報操作如圖4所示。
圖4 低空空域飛行計劃申報操作界面
NewPlan.jsp和NewPlanServlet.java分別提供添加新飛行計劃的頁面顯示和操作處理功能。
Checkup.jsp和CheckServlet.java分別提供飛行計劃的審查和狀態(tài)管理的頁面顯示和操作功能。
NewTrack.jsp和NewTrackServlet.java分別提供對任一飛行計劃添加新航跡點(diǎn)的頁面顯示和操作功能。
按照系統(tǒng)開發(fā)流程完成子系統(tǒng)開發(fā)后,系統(tǒng)測試工作是必不可少的。將開發(fā)完的系統(tǒng)進(jìn)行打包,在不同的客戶端(通用航空運(yùn)營部門、軍航管制部門、管制員)進(jìn)行測試,以檢驗系統(tǒng)是否正常運(yùn)行并能完成各種功能,若出現(xiàn)異常,則需要改進(jìn)完善,然后再進(jìn)行測試,如此循環(huán),直至系統(tǒng)在不同的環(huán)境中都能正常運(yùn)行并實現(xiàn)各模塊的功能。圖5為對低空空域中飛行計劃子系統(tǒng)進(jìn)行測試的顯示表格。
圖5 低空空域飛行計劃測試表格
介紹了低空空域綜合管理系統(tǒng)的研究現(xiàn)狀,對低空空域綜合管理系統(tǒng)進(jìn)行需求分析及設(shè)計,根據(jù)應(yīng)用需求對系統(tǒng)進(jìn)行了具體的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計,以及系統(tǒng)的開發(fā)與測試。結(jié)果表明,采用Struts和Hibernate框架提高了系統(tǒng)的開發(fā)效率,使開發(fā)的系統(tǒng)有質(zhì)的飛躍。
[1]International Civil Aviation Organization(ICAO).Air traffic services,annex 11 to the convention on international civil aviation [J].Montreal International Civil Aviation Organization,2001,13(2):3-4.
[2]王偉,劉松.關(guān)于我國低空空域管理問題的思考[J].空中交通管理,2006(5):4-10.
[3]陳泐.基于GIS、GPS通用航空飛行保障系統(tǒng)[D].南京:南京航空航天大學(xué)圖書館,2007.
[4]劉曉紅,左保龍.我國低空空域開放有關(guān)問題的思考[J].空中交通管理,2008(3):4-6.
[5]杜鑫.基于C/S和B/S的家政管理系統(tǒng)的分析和設(shè)計[J].電腦知識與技術(shù),2006,17(3):13-15.
[6]陳旭,劉加伶.Client/Server與Browser/Server結(jié)構(gòu)的分析與比較[J].重慶工學(xué)院學(xué)報,2000,38(4):100-103.
[7]曹廣鑫,王謝華.Struts數(shù)據(jù)庫項目開發(fā)寶典[M].北京:電子工業(yè)出版社,2005:89-97.
[8]飛思科技產(chǎn)品研發(fā)中心.精通JBuilder9[M].北京:電子工業(yè)出版社,2003:389-393.
[9]胡小丹,魏長軍.基于 Struts+Spring+Hibernate架構(gòu)的能源管理系統(tǒng)的研究[J].計算機(jī)與現(xiàn)代化,2006(12):25-30.
[10]徐長盛,戴超,謝立.J2EE數(shù)據(jù)持久化技術(shù)的研究[J].計算機(jī)應(yīng)用與軟件,2006,23(4):56-57.