王攀峰,張 濤
(北京航空氣象研究所,北京100085)
航空活動涉及的地域范圍非常廣闊,航空氣象保障通常需要大范圍的原始?xì)庀筚Y料和數(shù)值預(yù)報產(chǎn)品。盡管很多地方建立了不同形式的氣象信息服務(wù)系統(tǒng)進行原始?xì)庀筚Y料和數(shù)值預(yù)報產(chǎn)品的收集和下發(fā),但是從全局看,航空氣象保障的信息化建設(shè)的相對滯后,對分散在全國各地氣象臺、區(qū)域保障中心的計算、存儲、通信資源的整合利用開發(fā)不夠,還存在著原始資料收集、共享困難,區(qū)域數(shù)值預(yù)報時效性、分辨率不高等難題。因此,有必要研究如何基于分散在各地氣象臺和區(qū)域保障中心的計算、存儲、通信資源為氣象臺預(yù)報保障人員提供原始?xì)庀筚Y料收集分發(fā)、數(shù)值預(yù)報產(chǎn)品生成下發(fā)等一整套信息服務(wù)的新技術(shù)。
云計算模型[1]能夠有效整合分布在不同地理位置上的計算資源、存儲資源、通信資源和軟件資源,以web服務(wù)形式為聯(lián)網(wǎng)用戶提供簡單易用的信息服務(wù)[2,3]。本文提出用基于云計算模型的氣象信息服務(wù)系統(tǒng)解決上述問題,下面首先介紹系統(tǒng)功能和詳細(xì)設(shè)計,然后給出核心服務(wù)的實現(xiàn)方案。
常用的航空氣象保障信息包括地面觀探測資料、天氣雷達(dá)資料、衛(wèi)星云圖資料等原始?xì)庀筚Y料和數(shù)值預(yù)報產(chǎn)品。地面觀探測資料和天氣雷達(dá)資料由分布在全國各地的氣象臺站收集而來,數(shù)值預(yù)報產(chǎn)品由部署在區(qū)域氣象保障中心的預(yù)報模式根據(jù)地面觀探測資料、天氣雷達(dá)資料、衛(wèi)星云圖資料計算得出。機場氣象臺站是原始資料的采集者,為其它機場氣象臺和區(qū)域氣象保障中心提供原始資料,又是其它氣象臺原始資料和區(qū)域數(shù)值預(yù)報產(chǎn)品的消費者。本系統(tǒng)的用戶是氣象臺預(yù)報保障人員,系統(tǒng)所提供的服務(wù)信息是各類地面觀探測資料、天氣雷達(dá)資料和數(shù)值預(yù)報產(chǎn)品。
從功能角度看,系統(tǒng)可分為6個子系統(tǒng):氣象臺原始資料上報、區(qū)域數(shù)值預(yù)報、氣象保障資料管理、氣象資料庫、氣象信息定制和氣象信息按需分發(fā)。如圖1所示,系統(tǒng)對外提供的服務(wù)信息包括從氣象臺收集的地面觀探測資料、天氣雷達(dá)資料和區(qū)域數(shù)值預(yù)報系統(tǒng)計算得出的預(yù)報產(chǎn)品,這些資料分別由氣象臺資料上報子系統(tǒng)和區(qū)域數(shù)值預(yù)報子系統(tǒng)向氣象保障資料管理子系統(tǒng)注冊并存入氣象資料庫。用戶通過氣象信息定制子系統(tǒng)查詢并定制氣象資料,生成定制分發(fā)表,并將最新定制分發(fā)表同步到氣象信息按需分發(fā)子系統(tǒng),最后由氣象信息按需分發(fā)子系統(tǒng)根據(jù)定制分發(fā)表查詢資料,并對外輸出。
圖1 系統(tǒng)功能組成
如圖2所示,本文提出的基于云計算模型的氣象信息服務(wù)系統(tǒng)框架分為3個邏輯層次:用戶界面層、需求響應(yīng)層和后臺服務(wù)層。
圖2 系統(tǒng)結(jié)構(gòu)及信息流程
系統(tǒng)利用各區(qū)域氣象保障中心現(xiàn)有的并行計算機和若干臺PC服務(wù)器作為數(shù)值預(yù)報的計算服務(wù)器[4],基于 MPI并行計算接口架設(shè)Cluster系統(tǒng)[5,6]作為數(shù)值預(yù)報計算環(huán)境。將數(shù)值預(yù)報計算流程和氣象資料檢索、傳輸都封裝成后臺服務(wù),以網(wǎng)頁形式提供氣象信息定制界面,最大限度的簡化操作,提高系統(tǒng)的易用性。
1.2.1 用戶界面層
用戶界面層為用戶使用本系統(tǒng)提供了一個網(wǎng)絡(luò)入口,包括4個模塊:身份認(rèn)證、氣象信息定制、需求分解和用戶數(shù)據(jù)庫。它提供3方面的功能:
(1)用戶身份驗證:本系統(tǒng)采用用戶名加密碼的方式對用戶身份進行驗證,并根據(jù)用戶驗證結(jié)果賦予不同的權(quán)限,不同權(quán)限的用戶可獲取的信息種類不同。
(2)氣象信息定制:系統(tǒng)提供具有地理信息的圖形化界面讓用戶錄入定制信息,主要包括任務(wù)相關(guān)區(qū)域、時間范圍和所需的氣象信息類別。用戶可在地理信息界面中用鼠標(biāo)畫出任務(wù)相關(guān)區(qū)域,設(shè)置任務(wù)起始時間,并勾選所需的氣象信息類別。在定制界面上用戶還可查詢、增加、刪除本用戶定制的所有信息。
系統(tǒng)根據(jù)任務(wù)時間自動定時啟動區(qū)域數(shù)值預(yù)報模式計算程序 (也叫起報程序)。除此之外,系統(tǒng)還賦予某些高權(quán)限用戶臨時發(fā)起起報的權(quán)限。如果有特殊需要,如保障重要任務(wù),這些用戶可以在直接在任務(wù)信息錄入完成后立即提出定制化的區(qū)域數(shù)值預(yù)報模式計算請求。
(3)需求分解:系統(tǒng)對用戶提交這些定制請求 (時間范圍、空間方位和信息種類)進行需求分解:對于用戶定制時空范圍內(nèi)已存在的數(shù)據(jù),系統(tǒng)自動調(diào)用氣象保障資料管理模塊從資源注冊信息數(shù)據(jù)庫 (該庫中存放氣象資料和數(shù)值預(yù)報產(chǎn)品的物理位置鏈接)中檢索并將結(jié)果以網(wǎng)頁鏈接形式顯示,可供用戶下載或直接查看。對于當(dāng)前還未產(chǎn)生或還未收集的未來時次的數(shù)據(jù),在信息定制表中添加定制信息,一旦數(shù)據(jù)產(chǎn)生就由氣象資料按需分發(fā)子系統(tǒng)自動發(fā)送給用戶。用戶只需登錄并提交一次定制信息,即可自動獲取全部所需的氣象信息。
1.2.2 需求響應(yīng)層
需求響應(yīng)層包含4個模塊:氣象保障資料管理、資源注冊數(shù)據(jù)庫、定制信息表和起報定制。
系統(tǒng)中所有新收集的觀探測資料、天氣雷達(dá)資料或新計算生成的數(shù)值預(yù)報產(chǎn)品都會在氣象保障資料管理模塊中注冊,注冊之后才能被用戶訪問。氣象保障資料管理模塊對各類氣象資料的時效性進行管理,超過時效的注冊信息會被自動刪除,保證提供給用戶是具備時效性的有參考意義的氣象資料。
定制信息表一旦有變動,立即同步給氣象資料按需分發(fā)子系統(tǒng),這樣,系統(tǒng)就可實時響應(yīng)用戶的定制請求。
起報定制模塊接收定制起報請求后,首先檢查用戶權(quán)限,符合權(quán)限的才按照起報請求中的信息向相關(guān)區(qū)域氣象中心的數(shù)值預(yù)報系統(tǒng)發(fā)出起報指令,啟動區(qū)域數(shù)值預(yù)報計算流程,同時添加預(yù)報產(chǎn)品定制信息。預(yù)報產(chǎn)品生成后,一方面向氣象保障資料管理模塊注冊,可用于對外服務(wù),另一方面氣象資料按需分發(fā)模塊根據(jù)最新的定制信息表獎將預(yù)報產(chǎn)品發(fā)送給指定用戶。
1.2.3 后臺服務(wù)層
后臺服務(wù)層包括區(qū)域數(shù)值預(yù)報系統(tǒng)和氣象資料按需分發(fā)系統(tǒng),負(fù)責(zé)原始?xì)庀筚Y料收集分發(fā)和數(shù)值預(yù)報產(chǎn)品制作。氣象臺原始資料經(jīng)由上報系統(tǒng)自動匯集到區(qū)域氣象中心,并在資料管理模塊注冊;系統(tǒng)對外傳輸?shù)馁Y料全都由氣象資料按需分發(fā)子系統(tǒng)根據(jù)最新定制信息表自動完成。
本文提出的基于云計算模型的氣象信息服務(wù)系統(tǒng)是一個涉及并行計算環(huán)境、計算機網(wǎng)絡(luò)通信、web服務(wù)等多個領(lǐng)域的綜合系統(tǒng),其中氣象保障資料管理、區(qū)域數(shù)值預(yù)報和氣象資料按需分發(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]。結(jié)合航空氣象保障工作特點,本文提出面向用戶QoS[7]和服務(wù)器負(fù)載均衡相結(jié)合的數(shù)據(jù)管理算法。下面分3個方面描述該算法。
2.1.1 氣象保障資料描述
對一份數(shù)據(jù)用6元組進行描述: (數(shù)據(jù)類型,存儲路徑,大小,生成時間,數(shù)據(jù)源,有效期,所在服務(wù)器ID)。
2.1.2 服務(wù)器負(fù)載
本文提出以當(dāng)前服務(wù)器擔(dān)負(fù)的數(shù)據(jù)分發(fā)任務(wù)數(shù)衡量負(fù)載情況,數(shù)據(jù)分發(fā)任務(wù)數(shù)按照下列公式計算得出
式中:p——服務(wù)器負(fù)載,n——該服務(wù)器當(dāng)前擔(dān)負(fù)的所有分發(fā)任務(wù)涉及的數(shù)據(jù)種類數(shù),αi——第i種數(shù)據(jù)的權(quán)值,該權(quán)值根據(jù)不同種類數(shù)據(jù)的平均大小設(shè)置,mi——第i種數(shù)據(jù)的分發(fā)次數(shù)。
2.1.3 數(shù)據(jù)管理算法
算法描述如下:
(1)為每個區(qū)域數(shù)據(jù)服務(wù)器設(shè)置k個備份服務(wù)器,該服務(wù)器收集到的資料及時同步到備份服務(wù)器;
(2)主、備服務(wù)器獲取數(shù)據(jù)之后都向氣象資料管理模塊注冊,并實時匯報服務(wù)器負(fù)載情況 (按照式 (1)計算);
(3)應(yīng)對用戶的數(shù)據(jù)訪問請求時,資料管理模塊計算當(dāng)前能夠提供服務(wù)的所有服務(wù)器的p值,選擇p值最小者為用戶提供服務(wù)。
2.2.1 系統(tǒng)組成
數(shù)值預(yù)報系統(tǒng)組成結(jié)構(gòu)如圖3所示。數(shù)值預(yù)報處理過程主要分為預(yù)處理、資料同化、主模式計算和后期處理4個階段[8]。區(qū)域氣象中心的多臺服務(wù)器上安裝MPI并行接口[9]和作業(yè)管理軟件,使得多臺服務(wù)器聯(lián)合起來作為一臺虛擬的 PC Cluster使用[10]。
作業(yè)管理軟件定時啟動數(shù)值預(yù)報運算,運算完成后將結(jié)果注冊到氣象保障資料管理模塊。當(dāng)有臨時起報請求時,作業(yè)管理軟件利用空閑計算資源發(fā)起數(shù)值預(yù)報運算,預(yù)報結(jié)果同樣注冊到氣象保障資料管理模塊,再由氣象資料按需分發(fā)子系統(tǒng)轉(zhuǎn)發(fā)給用戶。
圖3 數(shù)值預(yù)報系統(tǒng)組成
2.2.2 精細(xì)化預(yù)報
本系統(tǒng)充分考慮了地域差異,針對各地的地形和地表特征,各個區(qū)域數(shù)值預(yù)報系統(tǒng)采用優(yōu)化的計算模式和輸入?yún)?shù),提高預(yù)報準(zhǔn)確度。同時將當(dāng)?shù)貧庀笈_的地面觀探測資料和天氣雷達(dá)資料經(jīng)變分同化后輸入預(yù)報模式參與計算,進一步提高模式分辨率。
有些保障任務(wù)涉及的空域很大,跨域多個保障區(qū)域,所需的數(shù)值預(yù)報產(chǎn)品應(yīng)由多個區(qū)域預(yù)報產(chǎn)品融合而成。用戶定制信息時要指出需要哪些區(qū)域和氣象臺的原始?xì)庀筚Y料和數(shù)值預(yù)報產(chǎn)品,需求分解模塊要向多個區(qū)域氣象中心服務(wù)器發(fā)送數(shù)據(jù)訪問請求或起報計算請求。
2.2.3 時鐘同步
本系統(tǒng)各區(qū)域數(shù)值預(yù)報系統(tǒng)定期滾動起報,每隔一段時間都要采用最新觀探測資料、天氣雷達(dá)資料和衛(wèi)星云圖資料進行模式計算。為協(xié)調(diào)不同服務(wù)器上的數(shù)據(jù)一致性,我們在各數(shù)值預(yù)報系統(tǒng)上部署了時鐘同步軟件,保持全系統(tǒng)時鐘統(tǒng)一。
由于氣象保障工作的特點,任務(wù)開始之前需要收集任務(wù)相關(guān)機場的地面觀探測資料、天氣雷達(dá)資料、衛(wèi)星云圖資料和數(shù)值預(yù)報產(chǎn)品。任務(wù)開始之后還要持續(xù)收集地面觀探測資料、天氣雷達(dá)資料等對任務(wù)相關(guān)空域的天氣進行跟蹤掌握。因此對地面觀測資料的需求分為事先收集和過程中持續(xù)收集兩部分。
前面已經(jīng)敘述,本系統(tǒng)提供簡便的方式讓用戶輸入任務(wù)的時間范圍,該時間范圍可從過去時刻到未來時刻。過去時刻的氣象資料和數(shù)值預(yù)報產(chǎn)品可立即獲取,未來時刻的數(shù)據(jù)定制成功后在任務(wù)保障過程中會自動發(fā)送給用戶。定制分發(fā)機制是氣象資料按需分發(fā)子系統(tǒng)的技術(shù)核心。氣象通信網(wǎng)關(guān)和定制信息表是氣象資料按需分發(fā)子系統(tǒng)最重要的組件。
為了實現(xiàn)網(wǎng)絡(luò)內(nèi)的定制分發(fā),系統(tǒng)內(nèi)采用了特殊的通信協(xié)議,在協(xié)議報頭中規(guī)定了 “信息類型”、“信息源地址”和 “目的地地址”字段。資料發(fā)送模塊發(fā)出的每一份氣象資料,都包括有 “信息類型”和 “信息源地址”。定制信息表中每一條定制信息的格式為:(信息類型,信息源地址,目的地地址)。
系統(tǒng)收集或生成的所有資料都會發(fā)送給氣象通信網(wǎng)關(guān),氣象通信網(wǎng)關(guān)收到一份資料后,從網(wǎng)絡(luò)協(xié)議報頭中提取“信息類型”和 “信息源地址”信息,并將其與定制信息表的每一條信息進行比對,根據(jù)比對結(jié)果判斷該數(shù)據(jù)應(yīng)該分發(fā)到哪個地址。氣象通信網(wǎng)關(guān)包括3個工作線程,各線程的流程圖如圖4所示。
圖4 定制分發(fā)網(wǎng)關(guān)的流程
從圖4的流程圖可看出,定制分發(fā)網(wǎng)關(guān)對定制請求的響應(yīng)是實時的,定制請求能夠立即生效。定制請求由用戶定制界面發(fā)出,用戶可定制分發(fā)網(wǎng)關(guān)發(fā)出定制信息查詢請求、增加/刪除某條定制信息請求,從而實現(xiàn)實時的氣象資料定制。
本系統(tǒng)基于云計算模型,充分利用現(xiàn)有計算資料、存儲資料和網(wǎng)絡(luò)資料,將同一區(qū)域中心的多臺服務(wù)器用并行計算軟件管理起來,作為一臺虛擬的并行計算服務(wù)器實施數(shù)值預(yù)報模式計算。再通過資料管理和用戶界面等子系統(tǒng)將不同區(qū)域服務(wù)器統(tǒng)一管理起來,為用戶提供一個統(tǒng)一的、簡單的使用界面,屏蔽復(fù)雜的底層計算、任務(wù)分配和通信細(xì)節(jié)。
氣象保障和數(shù)值預(yù)報計算都需要機場氣象臺獲取的地面觀探測資料和天氣雷達(dá)資料。本系統(tǒng)設(shè)計實現(xiàn)了操作簡便的定制分發(fā)技術(shù),按需將氣象資料或數(shù)值預(yù)報產(chǎn)品傳輸?shù)叫枰牡胤剑苊鉄o謂的通信。
當(dāng)保障任務(wù)涉及多個區(qū)域時,各個區(qū)域數(shù)值預(yù)報系統(tǒng)采用優(yōu)化的模式和參數(shù)得到預(yù)報結(jié)果拼接成最終結(jié)果。由于考慮了不同地區(qū)的地形和地表特征,這個結(jié)果比只用一套模式和參數(shù)計算的更優(yōu)。
另外,在區(qū)域數(shù)值預(yù)報計算過程中,引入本區(qū)內(nèi)的地面觀探測資料和天氣雷達(dá)資料,利用這些最新的觀探測數(shù)據(jù)提高數(shù)值預(yù)報精度。
在保障保障任務(wù)時,如果定時制作的數(shù)值預(yù)報時效性不夠,或者天氣變化與預(yù)報結(jié)果差別明顯,可由授權(quán)用戶臨時發(fā)起起報計算。
由于對分散在全國各地氣象臺、區(qū)域保障中心的計算、存儲、通信資源的整合利用開發(fā)不夠,航空氣象保障工作面臨原始資料收集、共享困難,區(qū)域數(shù)值預(yù)報時效性、分辨率不高等難題。為此,本文提出了基于云計算模型的氣象信息服務(wù)系統(tǒng)框架,并給出了核心服務(wù)的實現(xiàn)方案。系統(tǒng)具有以下優(yōu)點:提供圖形化界面讓用戶簡便的獲取保障任務(wù)所需的當(dāng)前和未來一段時間的氣象資料和數(shù)值預(yù)報產(chǎn)品;地面觀探測資料和天氣雷達(dá)資料按需定制分發(fā),節(jié)約通信帶寬;不同區(qū)域采用最適合本地天氣特點的預(yù)報模式或參數(shù),引入地面觀探測資料和天氣雷達(dá)資料以提高預(yù)報精度;除了規(guī)定時次的數(shù)值預(yù)報產(chǎn)品外,對重要任務(wù)提供定制起報服務(wù)。
[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).[方巍,文學(xué)志,潘吳斌,等.云計算:概念、技術(shù)及應(yīng)用研究綜述 [J].南京信息工程大學(xué)學(xué)報 (自然科學(xué)版),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ù)值天氣預(yù)報系統(tǒng)的研究與設(shè)計 [J].計算機工程與科學(xué),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)境下分布式緩存技術(shù)的現(xiàn)狀與挑戰(zhàn) [J].軟件學(xué)報,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].計算機科學(xué),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ù)值天氣預(yù)報云計算服務(wù)應(yīng)用系統(tǒng)研究與實現(xiàn) [D].長沙:國防科技大學(xué),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.