趙曄暉
準確及時發布氣象預報是保障飛行安全的重要手段之一[1~3],如何簡化發報流程降低預報員發報失誤率是民航系統內的熱點和難點。目前,民航系統內部使用的發報系統存在諸多缺陷:線路缺陷,發報終端使用單一鏈路,容易造發生因鏈路故障導致的漏報、遲報事件,由鏈路故障造成的遲報漏報現象在民航內部發生多起,嚴重影響飛行安全;報文確認方式不科學,無法確認轉報機是否將報文發送至數據庫;報文驗證規則不準確,發報軟件對報文驗證規則不準確,無報文糾錯功能,增加預報員工作失誤率。
為解決上述問題,本文對當前民航系統存在的發報系統,進行大量的測試和研究,提出采用雙鏈路進行發報的設計思想。同時分析民用航空氣象資料《民用航空行業氣象標準第2 部分:預報》[4~6],從預報類型標志、地名代碼、預報的發布日期和時間、預報有效日期和時段、地面風、能見度、天氣現象、云等要素進行邏輯分析,研究各要素之間的內在聯系,理清各要素之間的邏輯關系,提取預報發報驗證規則,建立民航機場預報發報系統的邏輯模型,分析AFTN二號碼與五號碼之間的轉換關系[7~9],研究 IBMWebsphere MQ[10~13]運行原理,開發設計采用雙鏈路,同時基于規則驗證的民航機場預報編發報系統。測試結果表明,采用雙鏈路基于規則驗證的民航機場預報發報系統具有較高的可靠率,從而證明了采用雙鏈路基于規則驗證進行研究設計的可行性和有效性。
民航機場預報編發報系統整體功能架構如圖1所示,從設計上分為三個層次:展示層、報文及規則處理層和報文采集管理層,三層之間相互支持與協作,共同完成氣象報文的發送和管理工作。

圖1 民航機場預報編發報系統架構圖
展示層包括編發報文、規則驗證、發布報文、索取查詢四個部分內容,是用戶發布數據的入口,是進行報文編輯、驗證、發布、查詢的人機交互平臺。報文及規則處理層主要功能是將從展示層接收到的報文進行拆分、驗證,匹配后將符合條件的報文按照要求轉發出去。
報文采集及管理層主要功能是提取從報文及規則處理層收到的報文,將報文發給通信系統進行驗證、檢測,合格后對比配置(如報告收集、區域索引,轉發等),以決定報文入庫規則,最后將信息發給數據庫系統,驗證合格后入庫。
民航機場預報編發報系統從業務流程上分為四部分:民航發報終端、民航轉報系統、通信系統以及氣象數據庫系統。預報員在發報終端將報文發送后,選擇使用AFTN線路或者MQ線路進行發送,若選擇AFTN線路,報文首先進入轉報系統,轉報系統對報文進行分解驗證后將報文傳遞給上級節點,最后經數據庫系統進入數據庫,并返回AFTN報文確認信息。若選擇使用MQ線路進行發送,報文進入通信系統,經過格式處理、轉發查看、入庫匹配后進入數據庫系統,并返回入庫信息。四部分相互協作,共同完成氣象報文的發送,其流程如圖2所示。
如圖2所示,民航機場預報編發報系統業務處理流程如下。
1)預報員在民航發報終端編發報文,發送之前對報文進行驗證,若不正確則回到原點重新編發報文;若正確進入步驟2);
2)若不發送報文回到開始起點,若發送進入步驟3);
3)選擇發送線路,選擇AFTN進入步驟4),選擇MQ線路進入步驟5);
4)報文發送至民航轉報系統,將AFTN報文發送成功確認信息轉發給客戶端,一次報文發送過程結束;
5)報文發送至通信系統,通信系統查看報文是否轉發,若不是丟棄,否則進入步驟6);
6)查看報文是否入庫,若不入庫將報文丟棄,否則進入步驟7);
7)數據庫系統對收到的報文進行入庫匹配,若不匹配查看是否重新入庫,若不重新入庫則丟棄,否則進入步驟8);
8)寫入日志,報文進入氣象數據庫,同時返回MQ線路發送成功確認信息,一次報文發送過程結束。
依據《民用航空行業氣象標準第2部分:預報》資料,分析研究預報類型標志、地名代碼、預報的發布日期和時間、預報有效日期和時段、地面風、能見度、天氣現象、云等要素,理清各要素之間邏輯關系,提取趨勢預報、FC、FT、FC AMD、FCCNL、FTCOR、FTAMD等各類型報文發報驗證規則,構建規則邏輯流程圖,預報報文規則驗證流程圖如圖3所示。
本模塊主要實現報文驗證、報文糾錯功能,把驗證未通過的報文中的錯誤部分用紅色標識出來,其具體的功能有字段提取、時間驗證、風向風速驗證、能見度檢測、有效時段檢驗、報文糾錯等功能,各主要功能具體如下。

圖2 民航機場預報編發報系統業務處理流程圖

圖3 預報報文規則驗證流程圖
1)字段提取,負責分解提取用戶輸入的報文,分解成有效時段、風向風速、能見度、天氣現象、最高最低氣溫等字段。
2)邏輯判斷:根據提取的字段,分析判斷報文邏輯關系,將結果返回給用戶。
3)報文分類:由于不同報文判斷規則不一致,需要將輸入的報文進行分類如分成FT、FC、AMD等。
4)報文糾錯:經過邏輯判斷后,若報文不正確,將報文中錯的部分標記出來,提醒用戶報文要重新編寫。
預報終端發送的編碼為國際二號碼,轉報機采用的編碼為五號碼,只有實現五號碼和二號碼的相互轉換才能正確解析報文。IA5編碼中的0~32號和第127號控制字符中,只有3個字符LF、CR、SP可以轉換為ITA2編碼。由于IAT2編碼表中無對應的小寫字母,IAT2編碼轉換為IA5編碼時,要把小寫英文字母轉換為大寫字母,ITA2編碼和IA5編碼之間并不是嚴格的一一對應關系,沒有對應關系的編碼相互轉換時用空字符“NUL“代替。
ITA2國際二號碼編碼分為數字編碼和字母編碼,數字編碼表如表1所示。

表1 ITA2數字編碼
ITA2字母編碼表如表2所示。IA5國際五號碼又稱ASII碼,其編碼如表3所示。
本模塊主要實現串口發報、日志留底等功能,通過返回的報文判斷報文成功發送至轉報機,其具體的功能有串口發報、二號碼轉換成五號碼、五號碼轉換成二號碼、報文留底等功能,各主要功能具體如下:

表2 ITA2字母編碼
1)串口發報,負責打開用戶端串口,使用串口協議將報文發送給轉報服務器。
2)二號碼轉換成五號碼:轉報機將接收到的二號碼解析成五號碼。
3)五號碼轉換成二號碼:客戶端將接收到的二號碼轉換成五號碼等。
4)報文留底:報文發送成功后,系統自動將報文進行留底,便于查詢。
五號碼轉換成二號碼實現:步驟分為單個字符和字符串由五號碼轉換為二號碼,單個字符轉換成二號碼方法:將表3中序號0x25~0x5A所對應的總計54個IA5編碼表所對應的字符在表1和表2編碼表中找出ITA2對應的編碼值,按照順序存儲在一個整形數組中。由于IAT2編碼表1和表2有六個字符是一樣的,所以整形數組中包括表1和表2的全部編碼(空格、回車、換行三個字符外),54個五號碼中不能轉換二號碼的符號用NUL代替;字符串轉換成二號碼方法:首先判斷是數字串還是字符串,若是數字串,在數字串前面加“0x1B”(數字標志:FIGS),若是字符串,在字符串前面加“0x1F”(字母標志LTRS)。
二號碼轉換成五號碼實現:步驟分為單個字符和字符串由二號碼轉換為五號碼,單個字符轉換成五號碼方法:定義兩個整形數(0x00-0x1F),分別存在表1數字編碼和表2字符編碼所對應的字符在表3中的編碼值,按照順序進行存儲。其中,二號碼中“0x05”(所有格)、“0x14”(符號)、“0x1A”(符號)沒有對應的五號碼值,用nul(0x1B)表示。若ITA2編碼的第一個轉義字符是“0x1B”(FIGS)時,表示是數字字符,對應表1編碼值。若ITA2編碼的第一個轉義字符是“0x1F”(LTRS)時,表示是字母字符,對應表2編碼值;字符串轉換方法:二號碼字符串轉換成五號碼字符串,必須去掉表示數字和字母的轉義字符。截取字母轉義字符(0x1F)和數字轉義字符之間(0x1B)的字符串,將字符串進行轉換,若只找到字母轉義字符或者數字轉義字符,則直接截取字符串進行轉換。
IBM Websphere MQ技術可以在不同網絡協議、不同的計算機操作系統之間進行傳遞信息。本文中發報終端采用win7操作系統,通信機采用red?hat操作系統,數據庫服務器使用aix操作系統,設計時采用目前主流的JMS框架編程技術。在通信機建立本地隊列、傳輸隊列、發送隊列以及死信隊列,本地數據遠程數據庫建立接收隊列、本地隊列,系統設計如圖4所示。

圖4 IBM Websphere MQ發報系統設計圖
如圖4所示,本模塊主要實現通過MQ線路進行報文發送,通過檢索遠程數據庫判斷報文成功發送,其具體的功能有連接遠程隊列、ftp報文推送、報文驗證、報文檢索等功能,各主要功能具體如下。
1)連接遠程隊列:負責與通信服務器進行連接,將報文發送至遠程隊列。
2)ftp報文推送:使用ftp技術將報文推送至通信服務器特定目錄下。
3)報文驗證:驗證要發送的報文,必須正確才能進行發送。
4)報文檢索:分為本地檢索和遠程檢索,確認報文已經入庫。
系統運行環境為Win7操作系統,在軟件工程面向對象思想指導下,采用開發平臺Visual studio 2012,運用面向對象語言C#,結合javascirpt腳本語言,開發完成該系統,實現報文的驗證和發送。
為了檢驗基于規則驗證的報文發布系統對報文的驗證是否符合設計的要求,我們進行了驗證實驗。實驗周期為8個月,分別測試系統對FC、FT、FCAMD、 FCCNL、 FTCOR、 FTAMD、 SPECI、AIRMET、SIGMET、GAMET等各種不同類型的報文驗證的準確率,每種報文的測試樣本數量為3000份,測試人員為預報員,對比現有發報系統,測試數據如表4所示。

表4 各類型報文驗證準確率
實驗結果表明,對FT和FTAMD報文的驗證準確率,民航機場預報編發報系統與現有發報系統持平;對FCCNL報文的驗證準確率,民航機場預報編發報系統略高于現有發報系統;對FC、FCAMD、FT?COR、SPECI、AIRMET、SIGMET、GAMET等類型報文的驗證準確率,民航機場預報編發報系統高于現有發報系統。可以得出結論,在相同條件下相比現有發報系統,民航機場預報編發報系統報文驗證準確度更高。
民航機場預報編發報系統采用AFTN和IBM Websphere MQ雙鏈路進行發報,現有發報系統使用AFTN單鏈路進行發報,線路故障時,發報成功率如表5所示。

表5 鏈路中斷時成功率
如表5,結果表明AFTN線路故障時,機場預報編發報系統發報成功率100%,高于現有發報系統的0%;網絡線路故障時,機場預報編發報系統和現有發報系統發報成功率均為100%;AFTN線路和網絡同時故障時,機場預報編發報系統現有發報系統的成功率均為0%。線路故障時,機場預報編發報系統發送報文成功的概率大于現有發報系統,證明機場預報編發報系統的可靠性。
本文研究資料選取《民用航空行業氣象標準第2部分:預報》,將預報員日常發送的報文進行分類統計,分析不同類型報文各個元素之間的邏輯關系,分別提取各類型報文驗證規則,設計驗證算法。采用雙鏈路設計思想,重點研究AFTN線路二號碼與五號碼之間的轉換關系,著重分析IBM Websphere MQ線路報文發送流程。本文實驗中,選取不同類型報文各3000份,對比現有發報系統,分別測試系統對FC、FT、FCAMD、FCCNL、FTCOR、FTAMD、SPECI、AIRMET、SIGMET、GAMET等各種不同類型的報文驗證的準確率。報文驗證結果顯示,在相同條件下相比現有發報系統,采用報文規則驗證的民航機場預報編發報系統報文驗證準確度更高,表明報文規則是提高報文驗證準確率的重要因素,與“提高氣象報文驗證準確度的因素有兩個:第一,行業標準的完善;第二,對行業標準和氣象報文規則的熟悉程度,其中對氣象報文規則的掌握程度是核心因素,對報文驗證準確度的提高起決定性作用[14]”相符合。文中設計的發報系統采用雙鏈路進行發報,線路故障時,機場預報編發報系統發送報文成功的概率遠遠大于現有發報系統,表明采用雙鏈路設計的思路對提高業務保障能力、降低漏報風險具有重要作用,這一結論支持了“結果表明,采用雙鏈路進行數據傳輸和調度,極大地提高了氣象區域自動網絡數據保障能力[15]”的觀點。
基于報文規則驗證的民航機場預報發報系統自開始運行以來,對報文驗證準確率高,降低了預報員發報失誤率,由于采用雙鏈路進行發報,系統可靠性高,極大提高了預報業務保障能力,系統運行穩定,操作簡單,得出的結論具體如下。
1)根據資料《民用航空行業氣象標準第2部分:預報》,將報文分成FC、FT、FCAMD、FCCNL、FTCOR、 FTAMD、 SPECI、 AIRMET、 SIGMET、GAMET等進行分類研究,分析各元素之間的邏輯關系,提取各類型報文驗證規則,報文規則對提高報文驗證準確率起決定作用。
2)報文發送時采用雙鏈路,其中一條鏈路故障時仍能成功發送報文,提高了業務保障能力,雙鏈路是提高系統可靠性、保障數據傳輸的重要因素。
3)從報文確認方式來看,改變以往通過回報進行確認的方式,直接從遠程數據庫檢索確定報文是否發送成功,確認方式簡單有效,操作性和實用性強。
[1]寧貴財,康彩燕,陳東輝等.2005—2014年我國不利天氣條件下交通事故特征分析[J].干旱氣象,2016,34(5):753-762.
[2]王娜,王冀,王琦等.陜西冬季氣溫變化特征及其成因[J]. 干旱氣象,2016,34(4):604-609.
[3]中國民用航空局.中華人民共和國民用航空行業標準[M].北京:氣象出版社,2008:38-46.
[4]中國民用航空局.中華人民共和國民用航空行業標準[M].北京:氣象出版社,2008:18-26.
[5]畢心安.航空電信網建設簡論之一[J].中國民用航空,1994;18(20):26-31.
[6]畢心安.ITA2和IA5兩種國際電報編碼相互轉換的方法[J].空中交通管理,2009;20(12):30-31.
[7]曹懷春.AFTN電報自動處理系統研究[J].中國民用航空飛行學院,2011,30(4):33-37.
[8]李林奔.民航空中交通管理自動化系統的分析與設計[J].云南大學學報,2013,20(3):40-45.
[9]智俊平.中國民航AFTN報文解析方法探究[J].內蒙古科技與經濟,2011,23(2):51-55.
[10]米永勝.IBM Websphere MQ原理及在民航氣象數據庫中的應用[J].中國氣象學會氣象通信與信息技術學術會,2012,31(4):63-67.
[11]趙普洋,劉敏.IBM WebSphere MQ技術在民航氣象數據庫系統中的應用[J].計算機光盤軟件與應用,2012,17(4):69-70.
[12]孫寧,丁艷麗.Websphere MQ在業務中的錯誤分析及解決方法[J].空中交通管理,2010;17(8):41-42.
[13]岳光.IBMWebsphere MQ的原理與應用[J].計中國科技信息,2011(12):68-68.
[14]曹閃,張仁波.基于決策樹的民航氣象報文分類統計規則的研究與應用[J].百度學術,2016,16(12):47-53.
[15]魯莉炳,魯霞.區域自動氣象站單站數據遠程訪問流程及技術[J].電腦編程技巧與維護,2014,20(16):11-17.