鄭虹暉,王立俊*,趙 冰,王雙雙,劉驥超
(1.海南省氣象信息中心,海南 ???570203;2.海南省南海氣象防災(zāi)減災(zāi)重點(diǎn)實(shí)驗(yàn)室,海南 海口 570203)
2012年以來,由國家氣象信息中心牽頭,各省氣象部門陸續(xù)開展氣象業(yè)務(wù)內(nèi)網(wǎng)的建設(shè)工作。張志強(qiáng)等人研發(fā)的國家氣象業(yè)務(wù)內(nèi)網(wǎng),涵蓋探測、預(yù)報(bào)、氣候等6大核心欄目,近100個(gè)子模塊和近2 000余中業(yè)務(wù)產(chǎn)品,是一個(gè)氣象產(chǎn)品展示與服務(wù)和業(yè)務(wù)管理信息共享服務(wù)的國家級氣象服務(wù)平臺[1],廣東、廣西、寧夏、湖北等省氣象局率先開展基于CIMISS為數(shù)據(jù)支撐的業(yè)務(wù)內(nèi)網(wǎng)建設(shè)工作,均取得一定的示范作用[2-5]。
隨著海南省氣象業(yè)務(wù)的快速發(fā)展和CIMISS系統(tǒng)[6-7]的全國業(yè)務(wù)化,內(nèi)、外部業(yè)務(wù)單位對氣象資料及業(yè)務(wù)產(chǎn)品的共享服務(wù)和綜合顯示的需求日益迫切。目前,海南省存在氣象業(yè)務(wù)系統(tǒng)建設(shè)整體規(guī)劃一致性不夠,各業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)格式和流向不統(tǒng)一,業(yè)務(wù)流程中間節(jié)點(diǎn)冗雜,數(shù)據(jù)使用效率較低等問題,導(dǎo)致各業(yè)務(wù)單位的系統(tǒng)集約化力度不夠,信息化資源重復(fù)建設(shè),嚴(yán)重影響了海南氣象數(shù)據(jù)的共享服務(wù)。為解決上述問題,借鑒國家氣象信息中心及其他省氣象局建設(shè)業(yè)務(wù)內(nèi)網(wǎng)系統(tǒng)的成功經(jīng)驗(yàn),結(jié)合海南省氣象業(yè)務(wù)的實(shí)際需求,依照全國氣象信息化發(fā)展的標(biāo)準(zhǔn)化、集約化、信息化的總要求,海南省氣象局搭建以CIMISS系統(tǒng)和本地業(yè)務(wù)綜合數(shù)據(jù)庫為數(shù)據(jù)支撐環(huán)境的海南省氣象業(yè)務(wù)內(nèi)網(wǎng),形成國省兩級互補(bǔ),實(shí)現(xiàn)氣象數(shù)據(jù)和業(yè)務(wù)產(chǎn)品集約共享,為省、市、縣三級業(yè)務(wù)和管理人員提供一站式訪問服務(wù),也為政府、軍隊(duì)等單位提供氣象服務(wù)。
海南氣象業(yè)務(wù)內(nèi)網(wǎng)系統(tǒng)以物理服務(wù)器(主節(jié)點(diǎn))+虛擬服務(wù)器(備節(jié)點(diǎn))為硬件支撐,使用CIMISS系統(tǒng)和本地業(yè)務(wù)綜合數(shù)據(jù)庫,采用MVC分層設(shè)計(jì)模式[8-9]和Browser/Server設(shè)計(jì)架構(gòu)[10-11],基于天地圖API[12-13]的Web GIS可視化技術(shù)和SSH開發(fā)框架[14-16],實(shí)現(xiàn)氣象觀測數(shù)據(jù)及業(yè)務(wù)產(chǎn)品的實(shí)時(shí)展示,滿足省市縣氣象部門及政府、軍隊(duì)相關(guān)人員對氣象數(shù)據(jù)的業(yè)務(wù)需求。
平臺總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
平臺遵循氣象信息標(biāo)注化體系和信息安全與保障體系的要求,采用三層體系架構(gòu):數(shù)據(jù)源支撐層、數(shù)據(jù)處理與服務(wù)層和Web應(yīng)用層。數(shù)據(jù)源支撐層用于存儲、管理氣象元數(shù)據(jù)、地面、土壤水分等結(jié)構(gòu)化數(shù)據(jù)和雷達(dá)、云圖等非結(jié)構(gòu)化數(shù)據(jù),為Web應(yīng)用層的綜合顯示提供數(shù)據(jù)支撐;數(shù)據(jù)處理與服務(wù)層負(fù)責(zé)各類氣象觀測、預(yù)報(bào)預(yù)警等數(shù)據(jù)的采集、處理和入庫,另外,還提供氣象數(shù)據(jù)監(jiān)控、發(fā)布及門戶可視化管理等服務(wù);Web應(yīng)用層用于與前端用戶進(jìn)行交互,通過Web GIS、圖表等頁面插件完成氣象觀測、預(yù)報(bào)預(yù)警、臺風(fēng)等數(shù)據(jù)的實(shí)時(shí)展示。
系統(tǒng)業(yè)務(wù)流程主要分為資料查詢展示、資料共享服務(wù)、內(nèi)部業(yè)務(wù)管理和三維圖形展示四大部分,實(shí)現(xiàn)氣象觀測、預(yù)報(bào)預(yù)警和業(yè)務(wù)產(chǎn)品等數(shù)據(jù)的實(shí)時(shí)采集、共享和綜合顯示。
(1)資料查詢展示:按照十四大類氣象資料的分類要求,通過資源編目統(tǒng)一對觀測業(yè)務(wù)、預(yù)報(bào)預(yù)警及臺風(fēng)路徑等數(shù)據(jù)及產(chǎn)品進(jìn)行管理,實(shí)現(xiàn)上述數(shù)據(jù)及產(chǎn)品在系統(tǒng)中采集、加工及綜合顯示。
(2)資料共享服務(wù):通過門戶頁面,按照業(yè)務(wù)數(shù)據(jù)及產(chǎn)品的特點(diǎn),按照欄目、類型、時(shí)次等方式,通過Word及PDF文檔、PNG和JPG圖片、Web GIS等格式綜合顯示和在線預(yù)覽各類業(yè)務(wù)數(shù)據(jù)及產(chǎn)品的詳細(xì)內(nèi)容。
(3)內(nèi)部業(yè)務(wù)管理:通過內(nèi)網(wǎng)系統(tǒng)管理后臺對各業(yè)務(wù)單位的管理規(guī)定及業(yè)務(wù)質(zhì)量等文件進(jìn)行管理,建立省高效、透明的信息機(jī)制。,實(shí)現(xiàn)定期發(fā)布各類業(yè)務(wù)質(zhì)量統(tǒng)計(jì)結(jié)果和為內(nèi)、外部單位人員提供業(yè)務(wù)數(shù)據(jù)及產(chǎn)品的使用說明。
(4)三維圖形展示:使用專業(yè)攝像設(shè)備對海南省20個(gè)臺站風(fēng)貌進(jìn)行拍攝,收集、處理拍攝所得的各臺站原始素材,系統(tǒng)通過圖像處理算法對原始素材進(jìn)行校正、合成,輸出360度臺站全景三維效果圖,實(shí)現(xiàn)全省20個(gè)臺站風(fēng)貌的三維全景展示。
內(nèi)網(wǎng)系統(tǒng)的數(shù)據(jù)來源為CIMISS系統(tǒng)(提供MUSIC數(shù)據(jù)接口)和本地業(yè)務(wù)綜合數(shù)據(jù)庫(提供本地?cái)?shù)據(jù)接口及產(chǎn)品存儲歸檔目錄),涉及到的數(shù)據(jù)類型主要有地理數(shù)據(jù)、氣象觀測數(shù)據(jù)、預(yù)報(bào)預(yù)警產(chǎn)品、系統(tǒng)公告信息等。在系統(tǒng)數(shù)據(jù)流程中,后臺數(shù)據(jù)處理節(jié)點(diǎn)分別采用MUSIC數(shù)據(jù)接口、天地圖API接口、產(chǎn)品庫WebService數(shù)據(jù)接口和FTP協(xié)議接口等方式來采集、處理及加工數(shù)據(jù),大致分為如下幾種場景:
(1)調(diào)用MUSIC數(shù)據(jù)接口獲取CIMISS系統(tǒng)中實(shí)時(shí)觀測數(shù)據(jù),在綜合觀測頁面中展示。
(2)調(diào)用天地圖API接口獲取海南省地圖矢量數(shù)據(jù),疊加實(shí)況觀測、預(yù)報(bào)預(yù)警等數(shù)據(jù),在系統(tǒng)門戶頁面中展示。
(3)調(diào)用本地產(chǎn)品庫WebService數(shù)據(jù)接口和FTP協(xié)議接口將其他氣象數(shù)據(jù)和業(yè)務(wù)產(chǎn)品采集至本地業(yè)務(wù)綜合數(shù)據(jù)庫,在系統(tǒng)門戶頁面中進(jìn)行展示。
該文設(shè)計(jì)的系統(tǒng)通過收集、處理及加工各類觀測數(shù)據(jù)和業(yè)務(wù)產(chǎn)品,并綜合顯示在內(nèi)網(wǎng)門戶頁面。整個(gè)數(shù)據(jù)流轉(zhuǎn)環(huán)節(jié)分為數(shù)據(jù)采集及處理、數(shù)據(jù)計(jì)算及成圖和數(shù)據(jù)管理三個(gè)部分。
圖2 數(shù)據(jù)收集、處理流程
(1)數(shù)據(jù)采集及處理子模塊是觀測數(shù)據(jù)及業(yè)務(wù)產(chǎn)品進(jìn)入到數(shù)據(jù)庫的一個(gè)渠道,其中包括數(shù)據(jù)采集和數(shù)據(jù)處理兩個(gè)部分,如圖2所示。對于無需解析的多普勒或封風(fēng)廓線雷達(dá)、FY2G云圖等非結(jié)構(gòu)化數(shù)據(jù),通過非結(jié)構(gòu)化數(shù)據(jù)程序采集后,按氣象分類標(biāo)準(zhǔn)直接歸檔至數(shù)據(jù)共享目錄,存儲路徑寫入本地業(yè)務(wù)特色數(shù)據(jù)庫。對于需要解析的本地特有觀測及其他再加工的結(jié)構(gòu)化數(shù)據(jù),通過結(jié)構(gòu)化數(shù)據(jù)程序采集、解析后寫入本地業(yè)務(wù)特色數(shù)據(jù)庫。
(2)數(shù)據(jù)計(jì)算及成圖子模塊是數(shù)據(jù)進(jìn)入到數(shù)據(jù)庫后根據(jù)業(yè)務(wù)需求進(jìn)行計(jì)算和成圖,其中包括數(shù)據(jù)統(tǒng)計(jì)計(jì)算和數(shù)據(jù)成圖兩個(gè)部分。對于需要做歷史統(tǒng)計(jì)數(shù)據(jù),通過數(shù)據(jù)計(jì)算后,計(jì)算成果直接進(jìn)入數(shù)據(jù)庫。對于需要成圖的數(shù)據(jù),通過數(shù)據(jù)成圖后進(jìn)入數(shù)據(jù)庫,其中圖片文件是在文件服務(wù)器上存儲,數(shù)據(jù)存儲其業(yè)務(wù)關(guān)系和文件名索引。
(3)數(shù)據(jù)管理子模塊是后臺定時(shí)對臨時(shí)數(shù)據(jù)、無效數(shù)據(jù)、超時(shí)數(shù)據(jù)進(jìn)行清理,充分保證服務(wù)器的空間可用性。
“天地圖”是國家測繪地理信息局建設(shè)的地理信息綜合服務(wù)網(wǎng)站,網(wǎng)站集成了來自國家、省、市(縣)各級測繪地理信息部門,以及相關(guān)政府部門、企事業(yè)單位、社會團(tuán)體、公眾的地理信息公共服務(wù)資源,向各類用戶提供權(quán)威、標(biāo)準(zhǔn)、統(tǒng)一的在線地理信息綜合服務(wù)[12]。
各類行業(yè)用戶可以通過“天地圖”門戶網(wǎng)站進(jìn)行基于地理位置的信息瀏覽、查詢、搜索、量算,以及路線規(guī)劃等各類應(yīng)用;開發(fā)人員可以利用“天地圖”提供的API服務(wù)接口調(diào)用地理信息服務(wù),并利用編程接口將“天地圖”的地圖服務(wù)資源嵌入到已有的各類應(yīng)用系統(tǒng)(網(wǎng)站)中。各企業(yè)和單位基于“天地圖”的技術(shù)服務(wù)開展各類增值服務(wù)與應(yīng)用,從而有效緩解地理信息資源開發(fā)利用中技術(shù)難度大、建設(shè)成本高、動(dòng)態(tài)更新難等突出問題[12]。
天地圖容納了覆蓋了全球范圍1∶1 000 000矢量數(shù)據(jù)和500米分辨率衛(wèi)星遙感影像,覆蓋全國范圍的1∶25萬公眾版地圖數(shù)據(jù),導(dǎo)航電子地圖數(shù)據(jù)還有15米分辨率的衛(wèi)星遙感影像以及2.5米分辨率的衛(wèi)星遙感影像,覆蓋全國300多個(gè)地級以及地級以上城市0.6米分辨率的衛(wèi)星遙感影像等地理信息數(shù)據(jù),是目前中國區(qū)域內(nèi)數(shù)據(jù)資源最全的地理信息服務(wù)網(wǎng)站[13]。
該文設(shè)計(jì)的海南省氣象業(yè)務(wù)內(nèi)網(wǎng)的開發(fā)架構(gòu)采用SSH框架技術(shù),使用瀏覽器/服務(wù)端Browser/Server模式來跨平臺展示實(shí)時(shí)觀測、氣象預(yù)報(bào)預(yù)警等數(shù)據(jù)及產(chǎn)品。SSH框架是由Struts 2、Spring和Hibernate組成的,屬于主流的輕量級J2EE軟件開發(fā)架構(gòu)。采用該框架開發(fā)應(yīng)用,能較好地對應(yīng)用功能模塊分層、解耦,簡化系統(tǒng)開發(fā)的復(fù)雜度,縮短系統(tǒng)開發(fā)時(shí)間,使系統(tǒng)具備良好的可拓展性和可移植性。
其中,Struts 2是以Webwork為核心的邏輯控制器,采用攔截器機(jī)制來響應(yīng)前端用戶提交的Web請求,將Servlet與業(yè)務(wù)邏輯控制器分離[14]。Spring是屬于輕量級的Java Web框架,通過配置文件及事務(wù)管理機(jī)制,可靈活管理多種數(shù)據(jù)庫,提供多元化的業(yè)務(wù)邏輯[15]。Hibernate采用O/R Mapping技術(shù),通過配置XML文件或Annotation注解為Java對象和各類數(shù)據(jù)庫中的表結(jié)構(gòu)建立一種或多種映射關(guān)系,操控對象即操作數(shù)據(jù)庫[16]。
海南氣象業(yè)務(wù)內(nèi)網(wǎng)主要分為首頁、綜合觀測、臺風(fēng)路徑、預(yù)報(bào)預(yù)警、氣象服務(wù)、臺站展示、業(yè)務(wù)管理和系統(tǒng)管理8個(gè)功能模塊,如圖3所示。
圖3 系統(tǒng)功能組成
(1)首頁。
首頁是各類信息的綜合展示,系統(tǒng)提供各功能模塊的導(dǎo)航,可快速進(jìn)入到各個(gè)功能模塊。在首頁上,用戶可獲取市縣當(dāng)前實(shí)況(溫壓濕風(fēng)四類常規(guī)要素)及24小時(shí)趨勢圖、全省實(shí)況填圖、雷達(dá)云圖、預(yù)警信號等信息。
(2)綜合觀測。
綜合觀測主要通過要素色斑圖、折線圖等方式來顯示各類實(shí)況觀測數(shù)據(jù),常見氣象要素有氣溫、氣壓、降水、風(fēng)向風(fēng)速和相對濕度,數(shù)據(jù)類型有自動(dòng)站、土壤水分、氣溶膠等地面站點(diǎn)資料,多普勒、風(fēng)廓線等雷達(dá)資料,風(fēng)云2號、風(fēng)云4號及葵花8號等衛(wèi)星資料。
(3)臺風(fēng)路徑。
臺風(fēng)路徑是基于天地圖Web GIS展示當(dāng)前及歷史臺風(fēng)的強(qiáng)度、路徑等信息,在臺風(fēng)天氣過程中為省-市縣決策部門和業(yè)務(wù)一線人員提供臺風(fēng)的預(yù)報(bào)信息,提前發(fā)布預(yù)警信息,有助于防災(zāi)減災(zāi),減少人員傷亡和經(jīng)濟(jì)損失。
(4)預(yù)報(bào)預(yù)警。
預(yù)報(bào)預(yù)警用于發(fā)布各類氣象預(yù)報(bào)和預(yù)警產(chǎn)品,用戶可在頁面查閱市縣、鄉(xiāng)鎮(zhèn)等常規(guī)預(yù)報(bào)產(chǎn)品,旅游、島礁等特色預(yù)報(bào)產(chǎn)品,預(yù)警信號,海洋、陸地格點(diǎn)預(yù)報(bào)產(chǎn)品等信息。
(5)氣象服務(wù)。
氣象服務(wù)通過Word、PDF等文檔形式提供氣候分析、農(nóng)業(yè)氣象、閃電監(jiān)測、人工增雨、生態(tài)氣象等服務(wù)產(chǎn)品,滿足業(yè)務(wù)人員對其他氣象服務(wù)的業(yè)務(wù)需求。
(6)臺站展示。
臺站展示是以虛擬三維方式360度展示全省20個(gè)臺站的全景,為業(yè)務(wù)和管理部門人員提供臺站全景信息。
(7)業(yè)務(wù)管理。
業(yè)務(wù)管理是為職能處室提供政策文件及業(yè)務(wù)規(guī)定的管理,可實(shí)時(shí)對上述文件進(jìn)行管理,便于省局和市縣人員了解最新政策和業(yè)務(wù)規(guī)定的變動(dòng)。
(8)系統(tǒng)管理。
系統(tǒng)管理是為管理員提供功能模塊、系統(tǒng)用戶、站點(diǎn)管理及應(yīng)用數(shù)據(jù)源等部分的管理功能,便于管理員對上述內(nèi)容進(jìn)行維護(hù)更新,保證系統(tǒng)各模塊正常運(yùn)行。
系統(tǒng)運(yùn)行環(huán)境需要4臺服務(wù)器,操作系統(tǒng)均為Windows 2012 Server SP2 64bit,分別是Web應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、采集加工服務(wù)器和產(chǎn)品文件服務(wù)器,4臺虛擬機(jī)作為備用節(jié)點(diǎn),用于主節(jié)點(diǎn)故障時(shí),可無縫切換來提供服務(wù)。Web服務(wù)為Apache Http Server,文件服務(wù)是通過FTP協(xié)議訪問文件,采用Oracle 11存儲結(jié)構(gòu)化數(shù)據(jù),使用Surfer 8軟件在地圖上繪制圖像。
系統(tǒng)部署如圖4所示。
圖4 系統(tǒng)部署
承載業(yè)務(wù)內(nèi)網(wǎng)的服務(wù)器部署在氣象內(nèi)部專區(qū),連接至上層防火墻,用戶通過氣象專網(wǎng)發(fā)起訪問業(yè)務(wù)請求,其中采集加工服務(wù)器處理、加工各類觀測數(shù)據(jù)和預(yù)報(bào)預(yù)警產(chǎn)品,處理后的數(shù)據(jù)按類型分別存儲產(chǎn)品文件服務(wù)器(雷達(dá)、云圖等非結(jié)構(gòu)化數(shù)據(jù))和數(shù)據(jù)庫服務(wù)器(地面、土壤水分等結(jié)構(gòu)化數(shù)據(jù)),web服務(wù)器后臺調(diào)取相應(yīng)的數(shù)據(jù)展示至前臺頁面,響應(yīng)用戶發(fā)起的業(yè)務(wù)請求。
平臺性能測試分為頁面請求響應(yīng)速度測試和平臺穩(wěn)定性運(yùn)行測試兩個(gè)部分:
(1)頁面請求響應(yīng)速度測試:使用JMeter測試工具模擬20用戶分別并行訪問交互性頁面、統(tǒng)計(jì)類頁面和一般頁面30次時(shí),計(jì)算平臺各類頁面加載的平均時(shí)間開銷,如表1所示,交互性和統(tǒng)計(jì)類頁面的平均響應(yīng)時(shí)間均小于3 000毫秒,一般頁面的平均響應(yīng)時(shí)間小于2 000毫秒,各類頁面錯(cuò)誤加載百分比小于1%。
(2)平臺穩(wěn)定性運(yùn)行測試:分別從容錯(cuò)、壓力、重復(fù)方面測試平臺的穩(wěn)定性,其中容錯(cuò)測試是在網(wǎng)絡(luò)故障、資源路徑異常等情況下測試所有功能模塊;壓力測試為10個(gè)用戶并行訪問平臺,保證平臺連續(xù)72小時(shí)運(yùn)行;重復(fù)測試為連續(xù)訪問綜合觀測、預(yù)報(bào)預(yù)警、氣象服務(wù)等功能模塊100次,如表1所示。
表1 平臺性能測試
測試結(jié)果表明,氣象業(yè)務(wù)內(nèi)網(wǎng)平臺在請求響應(yīng)和運(yùn)行穩(wěn)定兩個(gè)部分均達(dá)到了測試預(yù)期效果,在多用戶并發(fā)訪問下,各功能模塊運(yùn)行正常且穩(wěn)定,各類頁面加載速度較快,數(shù)據(jù)顯示準(zhǔn)確,且在網(wǎng)絡(luò)故障、系統(tǒng)資源路徑異常時(shí),頁面可正常加載并有相關(guān)提示。
根據(jù)上述的平臺設(shè)計(jì)和關(guān)鍵技術(shù)研發(fā)本系統(tǒng)平臺,實(shí)現(xiàn)綜合觀測、臺風(fēng)路徑、預(yù)報(bào)預(yù)警、氣象服務(wù)等功能模塊,如圖5所示,不僅提供氣象觀測數(shù)據(jù)、氣象預(yù)報(bào)、預(yù)警信號等數(shù)據(jù)實(shí)時(shí)展示,還提供基于Web GIS的實(shí)況數(shù)據(jù)繪制、顯示、疊加等功能。目前,該平臺界面友好、各功能運(yùn)行穩(wěn)定、操作簡便。
圖5 平臺頁面
海南省氣象業(yè)務(wù)內(nèi)網(wǎng)建設(shè)是海南省氣象局的重要業(yè)務(wù)系統(tǒng)之一,其設(shè)計(jì)宗旨是集成各類氣象數(shù)據(jù)、預(yù)報(bào)預(yù)警和業(yè)務(wù)管理為一體,為省、市、縣三級業(yè)務(wù)及管理人員和政府、軍隊(duì)等單位提供一站式氣象訪問服務(wù)。因此,參考國家氣象信息中心及其他省氣象局建設(shè)業(yè)務(wù)內(nèi)網(wǎng)系統(tǒng)的成功經(jīng)驗(yàn),結(jié)合海南省氣象業(yè)務(wù)的實(shí)際需求,依照全國氣象信息化標(biāo)準(zhǔn)化、集約化、信息化的總要求,分析、總結(jié)海南省氣象業(yè)務(wù)內(nèi)網(wǎng)建設(shè)的業(yè)務(wù)流程和數(shù)據(jù)流程,詳細(xì)闡述和應(yīng)用平臺研發(fā)所使用的數(shù)據(jù)收集加工、數(shù)據(jù)可視化等成熟可靠的關(guān)鍵技術(shù),實(shí)現(xiàn)集綜合觀測、預(yù)報(bào)預(yù)警、氣象服務(wù)等功能于一體的氣象業(yè)務(wù)內(nèi)網(wǎng)平臺,滿足海南氣象行業(yè)用戶對觀測、預(yù)報(bào)等數(shù)據(jù)共享和服務(wù)的需求。