王攀峰,張 濤
(北京航空氣象研究所,北京100085)
航空活動涉及的地域范圍非常廣闊,航空氣象保障通常需要大范圍的原始氣象資料和數(shù)值預報產品。盡管很多地方建立了不同形式的氣象信息服務系統(tǒng)進行原始氣象資料和數(shù)值預報產品的收集和下發(fā),但是從全局看,航空氣象保障的信息化建設的相對滯后,對分散在全國各地氣象臺、區(qū)域保障中心的計算、存儲、通信資源的整合利用開發(fā)不夠,還存在著原始資料收集、共享困難,區(qū)域數(shù)值預報時效性、分辨率不高等難題。因此,有必要研究如何基于分散在各地氣象臺和區(qū)域保障中心的計算、存儲、通信資源為氣象臺預報保障人員提供原始氣象資料收集分發(fā)、數(shù)值預報產品生成下發(fā)等一整套信息服務的新技術。
云計算模型[1]能夠有效整合分布在不同地理位置上的計算資源、存儲資源、通信資源和軟件資源,以web服務形式為聯(lián)網用戶提供簡單易用的信息服務[2,3]。本文提出用基于云計算模型的氣象信息服務系統(tǒng)解決上述問題,下面首先介紹系統(tǒng)功能和詳細設計,然后給出核心服務的實現(xiàn)方案。
常用的航空氣象保障信息包括地面觀探測資料、天氣雷達資料、衛(wèi)星云圖資料等原始氣象資料和數(shù)值預報產品。地面觀探測資料和天氣雷達資料由分布在全國各地的氣象臺站收集而來,數(shù)值預報產品由部署在區(qū)域氣象保障中心的預報模式根據(jù)地面觀探測資料、天氣雷達資料、衛(wèi)星云圖資料計算得出。機場氣象臺站是原始資料的采集者,為其它機場氣象臺和區(qū)域氣象保障中心提供原始資料,又是其它氣象臺原始資料和區(qū)域數(shù)值預報產品的消費者。本系統(tǒng)的用戶是氣象臺預報保障人員,系統(tǒng)所提供的服務信息是各類地面觀探測資料、天氣雷達資料和數(shù)值預報產品。
從功能角度看,系統(tǒng)可分為6個子系統(tǒng):氣象臺原始資料上報、區(qū)域數(shù)值預報、氣象保障資料管理、氣象資料庫、氣象信息定制和氣象信息按需分發(fā)。如圖1所示,系統(tǒng)對外提供的服務信息包括從氣象臺收集的地面觀探測資料、天氣雷達資料和區(qū)域數(shù)值預報系統(tǒng)計算得出的預報產品,這些資料分別由氣象臺資料上報子系統(tǒng)和區(qū)域數(shù)值預報子系統(tǒng)向氣象保障資料管理子系統(tǒng)注冊并存入氣象資料庫。用戶通過氣象信息定制子系統(tǒng)查詢并定制氣象資料,生成定制分發(fā)表,并將最新定制分發(fā)表同步到氣象信息按需分發(fā)子系統(tǒng),最后由氣象信息按需分發(fā)子系統(tǒng)根據(jù)定制分發(fā)表查詢資料,并對外輸出。
圖1 系統(tǒng)功能組成
如圖2所示,本文提出的基于云計算模型的氣象信息服務系統(tǒng)框架分為3個邏輯層次:用戶界面層、需求響應層和后臺服務層。
圖2 系統(tǒng)結構及信息流程
系統(tǒng)利用各區(qū)域氣象保障中心現(xiàn)有的并行計算機和若干臺PC服務器作為數(shù)值預報的計算服務器[4],基于 MPI并行計算接口架設Cluster系統(tǒng)[5,6]作為數(shù)值預報計算環(huán)境。將數(shù)值預報計算流程和氣象資料檢索、傳輸都封裝成后臺服務,以網頁形式提供氣象信息定制界面,最大限度的簡化操作,提高系統(tǒng)的易用性。
1.2.1 用戶界面層
用戶界面層為用戶使用本系統(tǒng)提供了一個網絡入口,包括4個模塊:身份認證、氣象信息定制、需求分解和用戶數(shù)據(jù)庫。它提供3方面的功能:
(1)用戶身份驗證:本系統(tǒng)采用用戶名加密碼的方式對用戶身份進行驗證,并根據(jù)用戶驗證結果賦予不同的權限,不同權限的用戶可獲取的信息種類不同。
(2)氣象信息定制:系統(tǒng)提供具有地理信息的圖形化界面讓用戶錄入定制信息,主要包括任務相關區(qū)域、時間范圍和所需的氣象信息類別。用戶可在地理信息界面中用鼠標畫出任務相關區(qū)域,設置任務起始時間,并勾選所需的氣象信息類別。在定制界面上用戶還可查詢、增加、刪除本用戶定制的所有信息。
系統(tǒng)根據(jù)任務時間自動定時啟動區(qū)域數(shù)值預報模式計算程序 (也叫起報程序)。除此之外,系統(tǒng)還賦予某些高權限用戶臨時發(fā)起起報的權限。如果有特殊需要,如保障重要任務,這些用戶可以在直接在任務信息錄入完成后立即提出定制化的區(qū)域數(shù)值預報模式計算請求。
(3)需求分解:系統(tǒng)對用戶提交這些定制請求 (時間范圍、空間方位和信息種類)進行需求分解:對于用戶定制時空范圍內已存在的數(shù)據(jù),系統(tǒng)自動調用氣象保障資料管理模塊從資源注冊信息數(shù)據(jù)庫 (該庫中存放氣象資料和數(shù)值預報產品的物理位置鏈接)中檢索并將結果以網頁鏈接形式顯示,可供用戶下載或直接查看。對于當前還未產生或還未收集的未來時次的數(shù)據(jù),在信息定制表中添加定制信息,一旦數(shù)據(jù)產生就由氣象資料按需分發(fā)子系統(tǒng)自動發(fā)送給用戶。用戶只需登錄并提交一次定制信息,即可自動獲取全部所需的氣象信息。
1.2.2 需求響應層
需求響應層包含4個模塊:氣象保障資料管理、資源注冊數(shù)據(jù)庫、定制信息表和起報定制。
系統(tǒng)中所有新收集的觀探測資料、天氣雷達資料或新計算生成的數(shù)值預報產品都會在氣象保障資料管理模塊中注冊,注冊之后才能被用戶訪問。氣象保障資料管理模塊對各類氣象資料的時效性進行管理,超過時效的注冊信息會被自動刪除,保證提供給用戶是具備時效性的有參考意義的氣象資料。
定制信息表一旦有變動,立即同步給氣象資料按需分發(fā)子系統(tǒng),這樣,系統(tǒng)就可實時響應用戶的定制請求。
起報定制模塊接收定制起報請求后,首先檢查用戶權限,符合權限的才按照起報請求中的信息向相關區(qū)域氣象中心的數(shù)值預報系統(tǒng)發(fā)出起報指令,啟動區(qū)域數(shù)值預報計算流程,同時添加預報產品定制信息。預報產品生成后,一方面向氣象保障資料管理模塊注冊,可用于對外服務,另一方面氣象資料按需分發(fā)模塊根據(jù)最新的定制信息表獎將預報產品發(fā)送給指定用戶。
1.2.3 后臺服務層
后臺服務層包括區(qū)域數(shù)值預報系統(tǒng)和氣象資料按需分發(fā)系統(tǒng),負責原始氣象資料收集分發(fā)和數(shù)值預報產品制作。氣象臺原始資料經由上報系統(tǒng)自動匯集到區(qū)域氣象中心,并在資料管理模塊注冊;系統(tǒng)對外傳輸?shù)馁Y料全都由氣象資料按需分發(fā)子系統(tǒng)根據(jù)最新定制信息表自動完成。
本文提出的基于云計算模型的氣象信息服務系統(tǒng)是一個涉及并行計算環(huán)境、計算機網絡通信、web服務等多個領域的綜合系統(tǒng),其中氣象保障資料管理、區(qū)域數(shù)值預報和氣象資料按需分發(fā)是系統(tǒng)功能最核心的部分,本節(jié)介紹這3個子系統(tǒng)的實現(xiàn)方案。
數(shù)據(jù)管理是云計算的核心問題之一,不同管理策略的差異主要體現(xiàn)在為數(shù)據(jù)訪問模式、數(shù)據(jù)一致性、數(shù)據(jù)分區(qū)和數(shù)據(jù)路由4個方面[4-6]。結合航空氣象保障工作特點,本文提出面向用戶QoS[7]和服務器負載均衡相結合的數(shù)據(jù)管理算法。下面分3個方面描述該算法。
2.1.1 氣象保障資料描述
對一份數(shù)據(jù)用6元組進行描述: (數(shù)據(jù)類型,存儲路徑,大小,生成時間,數(shù)據(jù)源,有效期,所在服務器ID)。
2.1.2 服務器負載
本文提出以當前服務器擔負的數(shù)據(jù)分發(fā)任務數(shù)衡量負載情況,數(shù)據(jù)分發(fā)任務數(shù)按照下列公式計算得出
式中:p——服務器負載,n——該服務器當前擔負的所有分發(fā)任務涉及的數(shù)據(jù)種類數(shù),αi——第i種數(shù)據(jù)的權值,該權值根據(jù)不同種類數(shù)據(jù)的平均大小設置,mi——第i種數(shù)據(jù)的分發(fā)次數(shù)。
2.1.3 數(shù)據(jù)管理算法
算法描述如下:
(1)為每個區(qū)域數(shù)據(jù)服務器設置k個備份服務器,該服務器收集到的資料及時同步到備份服務器;
(2)主、備服務器獲取數(shù)據(jù)之后都向氣象資料管理模塊注冊,并實時匯報服務器負載情況 (按照式 (1)計算);
(3)應對用戶的數(shù)據(jù)訪問請求時,資料管理模塊計算當前能夠提供服務的所有服務器的p值,選擇p值最小者為用戶提供服務。
2.2.1 系統(tǒng)組成
數(shù)值預報系統(tǒng)組成結構如圖3所示。數(shù)值預報處理過程主要分為預處理、資料同化、主模式計算和后期處理4個階段[8]。區(qū)域氣象中心的多臺服務器上安裝MPI并行接口[9]和作業(yè)管理軟件,使得多臺服務器聯(lián)合起來作為一臺虛擬的 PC Cluster使用[10]。
作業(yè)管理軟件定時啟動數(shù)值預報運算,運算完成后將結果注冊到氣象保障資料管理模塊。當有臨時起報請求時,作業(yè)管理軟件利用空閑計算資源發(fā)起數(shù)值預報運算,預報結果同樣注冊到氣象保障資料管理模塊,再由氣象資料按需分發(fā)子系統(tǒng)轉發(fā)給用戶。
圖3 數(shù)值預報系統(tǒng)組成
2.2.2 精細化預報
本系統(tǒng)充分考慮了地域差異,針對各地的地形和地表特征,各個區(qū)域數(shù)值預報系統(tǒng)采用優(yōu)化的計算模式和輸入?yún)?shù),提高預報準確度。同時將當?shù)貧庀笈_的地面觀探測資料和天氣雷達資料經變分同化后輸入預報模式參與計算,進一步提高模式分辨率。
有些保障任務涉及的空域很大,跨域多個保障區(qū)域,所需的數(shù)值預報產品應由多個區(qū)域預報產品融合而成。用戶定制信息時要指出需要哪些區(qū)域和氣象臺的原始氣象資料和數(shù)值預報產品,需求分解模塊要向多個區(qū)域氣象中心服務器發(fā)送數(shù)據(jù)訪問請求或起報計算請求。
2.2.3 時鐘同步
本系統(tǒng)各區(qū)域數(shù)值預報系統(tǒng)定期滾動起報,每隔一段時間都要采用最新觀探測資料、天氣雷達資料和衛(wèi)星云圖資料進行模式計算。為協(xié)調不同服務器上的數(shù)據(jù)一致性,我們在各數(shù)值預報系統(tǒng)上部署了時鐘同步軟件,保持全系統(tǒng)時鐘統(tǒng)一。
由于氣象保障工作的特點,任務開始之前需要收集任務相關機場的地面觀探測資料、天氣雷達資料、衛(wèi)星云圖資料和數(shù)值預報產品。任務開始之后還要持續(xù)收集地面觀探測資料、天氣雷達資料等對任務相關空域的天氣進行跟蹤掌握。因此對地面觀測資料的需求分為事先收集和過程中持續(xù)收集兩部分。
前面已經敘述,本系統(tǒng)提供簡便的方式讓用戶輸入任務的時間范圍,該時間范圍可從過去時刻到未來時刻。過去時刻的氣象資料和數(shù)值預報產品可立即獲取,未來時刻的數(shù)據(jù)定制成功后在任務保障過程中會自動發(fā)送給用戶。定制分發(fā)機制是氣象資料按需分發(fā)子系統(tǒng)的技術核心。氣象通信網關和定制信息表是氣象資料按需分發(fā)子系統(tǒng)最重要的組件。
為了實現(xiàn)網絡內的定制分發(fā),系統(tǒng)內采用了特殊的通信協(xié)議,在協(xié)議報頭中規(guī)定了 “信息類型”、“信息源地址”和 “目的地地址”字段。資料發(fā)送模塊發(fā)出的每一份氣象資料,都包括有 “信息類型”和 “信息源地址”。定制信息表中每一條定制信息的格式為:(信息類型,信息源地址,目的地地址)。
系統(tǒng)收集或生成的所有資料都會發(fā)送給氣象通信網關,氣象通信網關收到一份資料后,從網絡協(xié)議報頭中提取“信息類型”和 “信息源地址”信息,并將其與定制信息表的每一條信息進行比對,根據(jù)比對結果判斷該數(shù)據(jù)應該分發(fā)到哪個地址。氣象通信網關包括3個工作線程,各線程的流程圖如圖4所示。
圖4 定制分發(fā)網關的流程
從圖4的流程圖可看出,定制分發(fā)網關對定制請求的響應是實時的,定制請求能夠立即生效。定制請求由用戶定制界面發(fā)出,用戶可定制分發(fā)網關發(fā)出定制信息查詢請求、增加/刪除某條定制信息請求,從而實現(xiàn)實時的氣象資料定制。
本系統(tǒng)基于云計算模型,充分利用現(xiàn)有計算資料、存儲資料和網絡資料,將同一區(qū)域中心的多臺服務器用并行計算軟件管理起來,作為一臺虛擬的并行計算服務器實施數(shù)值預報模式計算。再通過資料管理和用戶界面等子系統(tǒng)將不同區(qū)域服務器統(tǒng)一管理起來,為用戶提供一個統(tǒng)一的、簡單的使用界面,屏蔽復雜的底層計算、任務分配和通信細節(jié)。
氣象保障和數(shù)值預報計算都需要機場氣象臺獲取的地面觀探測資料和天氣雷達資料。本系統(tǒng)設計實現(xiàn)了操作簡便的定制分發(fā)技術,按需將氣象資料或數(shù)值預報產品傳輸?shù)叫枰牡胤?,避免無謂的通信。
當保障任務涉及多個區(qū)域時,各個區(qū)域數(shù)值預報系統(tǒng)采用優(yōu)化的模式和參數(shù)得到預報結果拼接成最終結果。由于考慮了不同地區(qū)的地形和地表特征,這個結果比只用一套模式和參數(shù)計算的更優(yōu)。
另外,在區(qū)域數(shù)值預報計算過程中,引入本區(qū)內的地面觀探測資料和天氣雷達資料,利用這些最新的觀探測數(shù)據(jù)提高數(shù)值預報精度。
在保障保障任務時,如果定時制作的數(shù)值預報時效性不夠,或者天氣變化與預報結果差別明顯,可由授權用戶臨時發(fā)起起報計算。
由于對分散在全國各地氣象臺、區(qū)域保障中心的計算、存儲、通信資源的整合利用開發(fā)不夠,航空氣象保障工作面臨原始資料收集、共享困難,區(qū)域數(shù)值預報時效性、分辨率不高等難題。為此,本文提出了基于云計算模型的氣象信息服務系統(tǒng)框架,并給出了核心服務的實現(xiàn)方案。系統(tǒng)具有以下優(yōu)點:提供圖形化界面讓用戶簡便的獲取保障任務所需的當前和未來一段時間的氣象資料和數(shù)值預報產品;地面觀探測資料和天氣雷達資料按需定制分發(fā),節(jié)約通信帶寬;不同區(qū)域采用最適合本地天氣特點的預報模式或參數(shù),引入地面觀探測資料和天氣雷達資料以提高預報精度;除了規(guī)定時次的數(shù)值預報產品外,對重要任務提供定制起報服務。
[1]Cloud computing [EB/OL]. [2013-01-06].http://en.wikipedia.org/wiki/Cloud_computing.
[2]FANG Wei,WEN Xuezhi,PAN Wubin,et al.Cloud computing:Conceptions,key technologies and application [J].Journal of Nanjing University of Information Science & Technology (Natural Science Edition),2012,4 (4):351-362(in Chinese).[方巍,文學志,潘吳斌,等.云計算:概念、技術及應用研究綜述 [J].南京信息工程大學學報 (自然科學版),2012,4 (4):351-362.]
[3]SUN Changzheng,ZHU Xiaoqian,ZHANG Weimin.A research and design based on web of numerical weather prediction[J].Computer Engineering &Science,2009,31 (1):296-299(in Chinese).[孫長征,朱小謙,張衛(wèi)民.基于 Web的數(shù)值天氣預報系統(tǒng)的研究與設計 [J].計算機工程與科學,2009,31 (1):296-299.]
[4]QIN Xiulei,ZHANG Wenbo,WEI Jun,et al.Progress and challenges of distributed caching techniques in cloud computing[J].Journal of Software,2012,23 (7):1777-1803 (in Chinese).[秦秀磊,張文博,魏峻,等.云計算環(huán)境下分布式緩存技術的現(xiàn)狀與挑戰(zhàn) [J].軟件學報,2012,23 (7):1777-1803.]
[5]ZHAO Hongwei,SONG Baoyan,SHAO Yichuan.Higheffect resource management strategy in cloud computing environment [J].Computer Science,2012,39 (2):212-215(in Chinese).[趙宏偉,宋寶燕,邵一川.云計算環(huán)境下的一種高效的資源管理策略 [J].計算機科學,2012,39(2):212-215.]
[6]Hastorun D,Jampani M,Kakulapati G,et al.Dynamo:Amazon’s highly available key-value store [C]//Proc of the ACM Symp on Operating Systems Principles,2007:205-220.
[7]Dean J,Ghemawat S.MapReduce:Simplified data processing on large clusters [J].Communications of the ACM,2008,51 (1):107-113.
[8]SUN Changzheng.Design and implementation of the numerical weather prediction application system combined with cloud computing technology [D].Changsha:National University of Defense Technology,2009 (in Chinese). [孫長征.數(shù)值天氣預報云計算服務應用系統(tǒng)研究與實現(xiàn) [D].長沙:國防科技大學,2009.]
[9]Jin Haoqiang,Dennis Jespersen,Piyush Mehrotra,et al.High performance computing using MPI and OpenMP on multi-core parallel systems Original Research Article [J].Parallel Computing,2011,37 (9):562-575.
[10]Yu Kunming,Zhou Jiayi.Parallel TID-based frequent pattern mining algorithm on a PC cluster and grid computing system original research article [J].Expert Systems with Applications,2010,37 (3):2486-2494.