朱 亮,夏正龍,鐘艷雯,呂冠儒,歐陽(yáng)計(jì)躍
(湖南省氣象信息中心,長(zhǎng)沙 410118)
根據(jù)基層氣象災(zāi)害預(yù)警服務(wù)能力建設(shè)指南的要求,湖南省氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)基于云端技術(shù)架構(gòu),采用B/S框架,以氣象站點(diǎn)觀測(cè)數(shù)據(jù)為基礎(chǔ),GIS地圖為依托,各類防災(zāi)減災(zāi)業(yè)務(wù)人員信息、各類氣象防災(zāi)減災(zāi)數(shù)據(jù)為素材,湖南省級(jí)CIMISS(全國(guó)綜合氣象信息共享平臺(tái))、MICAPS4(氣象信息綜合分析處理系統(tǒng))、災(zāi)情直報(bào)系統(tǒng)數(shù)據(jù)、遙感影像數(shù)據(jù)、天衍雷達(dá)產(chǎn)品、湖南短臨智能一體化平臺(tái)、突發(fā)事件預(yù)警系統(tǒng),具備“數(shù)據(jù)綜合顯示分析、超閾值自動(dòng)報(bào)警、氣象防災(zāi)減災(zāi)服務(wù)產(chǎn)品制作、預(yù)警服務(wù)信息發(fā)布、系統(tǒng)自動(dòng)留痕、服務(wù)信息監(jiān)控”等功能,支撐基層氣象防災(zāi)減災(zāi)其他“五個(gè)一”,是基層氣象災(zāi)害預(yù)警服務(wù)不可或缺的工具。
氣象大數(shù)據(jù)云平臺(tái)具備海量數(shù)據(jù)存儲(chǔ)、全業(yè)務(wù)貫通、高效的數(shù)據(jù)應(yīng)用能力,支撐各類氣象應(yīng)用的云化融入,是推進(jìn)資源整合、流程再造,發(fā)揮數(shù)據(jù)聚集規(guī)模效應(yīng),實(shí)現(xiàn)業(yè)務(wù)集約高效的關(guān)鍵,是促進(jìn)形成“云+端”業(yè)務(wù)模式新格局的核心軟件技術(shù)平臺(tái)。目前,湖南氣象大數(shù)據(jù)云平臺(tái)正式上線,投入業(yè)務(wù)試運(yùn)行,實(shí)現(xiàn)數(shù)據(jù)管理、加工處理、應(yīng)用服務(wù)的高度集約,具備直接支撐應(yīng)用云化改造的能力。各級(jí)氣象部門技術(shù)人員基于氣象大數(shù)據(jù)云平臺(tái)開(kāi)展相關(guān)研究,山東基于省級(jí)氣象大數(shù)據(jù)云平臺(tái),研究系統(tǒng)架構(gòu)、功能以及實(shí)現(xiàn)的關(guān)鍵技術(shù);青海基于氣象大數(shù)據(jù)云平臺(tái)的氣象數(shù)據(jù)統(tǒng)一訪問(wèn)接口,總結(jié)了CIMISS和大數(shù)據(jù)云平臺(tái)數(shù)據(jù)服務(wù)接口的差異;交管風(fēng)險(xiǎn)管控平臺(tái)應(yīng)用融入氣象大數(shù)據(jù)云平臺(tái),從數(shù)據(jù)資源、存儲(chǔ)、計(jì)算、網(wǎng)絡(luò)、數(shù)據(jù)加工流程、算法、應(yīng)用融入等方面都提供經(jīng)驗(yàn)和思考。本文按照氣象業(yè)務(wù)技術(shù)體制改革要求和《氣象信息系統(tǒng)集約化管理辦法》,遵循“天擎·湖南”相關(guān)技術(shù)規(guī)范,進(jìn)行氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)云化改造,為推進(jìn)“云+端”的氣象業(yè)務(wù)體系積累技術(shù)經(jīng)驗(yàn)。
氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)云化改造主要包括“云”的融入改造和業(yè)務(wù)系統(tǒng)“端”的融入改造。
(1)“云”的融入改造?!霸啤钡娜谌敫脑彀琁aaS層、PaaS層的融入改造。IaaS層融入:一體化平臺(tái)運(yùn)行所需的計(jì)算、存儲(chǔ)等基礎(chǔ)設(shè)施資源由氣象大數(shù)據(jù)云平臺(tái)提供;PaaS層融入:氣象大數(shù)據(jù)云平臺(tái)提供實(shí)現(xiàn)氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)應(yīng)用所需數(shù)據(jù),提供管理和訪問(wèn)的視圖,包括氣象大數(shù)據(jù)云平臺(tái)已有數(shù)據(jù)回寫的數(shù)據(jù)。
(2)“端”的融入改造。應(yīng)用端融入改造包括實(shí)現(xiàn)氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)前端應(yīng)用與后端管理的改造,包括指導(dǎo)產(chǎn)品、預(yù)警服務(wù)、一張圖、業(yè)務(wù)管理等模塊改造。
氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)按照“天擎·湖南”的技術(shù)規(guī)范,實(shí)現(xiàn)應(yīng)用融入“天擎·湖南”,展現(xiàn)完整的“云+端”業(yè)務(wù)模態(tài),所有涉及與用戶交互的功能都由“端”實(shí)現(xiàn),包括后端管理和前端應(yīng)用?!岸恕苯邮沼脩艚换ブ噶詈蟀l(fā)出請(qǐng)求,后續(xù)動(dòng)作均由“云”完成,如:任務(wù)調(diào)度、產(chǎn)品生成、數(shù)據(jù)存儲(chǔ)等,并返回結(jié)果給“端”。“云”與“端”之間通過(guò)接口實(shí)現(xiàn)。
氣象大數(shù)據(jù)云平臺(tái)提供數(shù)據(jù)、計(jì)算、存儲(chǔ)以及軟件服務(wù)等,如圖1所示。一體化平臺(tái)云化改造內(nèi)容主要包括:采用PostgreSql數(shù)據(jù)庫(kù)存儲(chǔ)空間地理信息;采用虛谷數(shù)據(jù)庫(kù)存儲(chǔ)氣象防災(zāi)減災(zāi)數(shù)據(jù)、系統(tǒng)參數(shù)配置等數(shù)據(jù)信息;采用Redis數(shù)據(jù)庫(kù)存儲(chǔ)緩存信息等;采用NAS方式存儲(chǔ)平臺(tái)自用氣象業(yè)務(wù)指導(dǎo)產(chǎn)品等非結(jié)構(gòu)化數(shù)據(jù);前端應(yīng)用通過(guò)Docker容器進(jìn)行部署。平臺(tái)改造所需資源,均由“天擎·湖南”提供。
圖1 氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)云化改造架構(gòu)Fig.1 The cloud transformation architecture of Hunan Province Meteorological Disaster warning service integration platform
氣象大數(shù)據(jù)云平臺(tái)是CIMISS的增強(qiáng)版,沿用CIMISS服務(wù)接口標(biāo)準(zhǔn);沿用了CIMISS中資料代碼、接口代碼和參數(shù)名稱等信息;在客戶端調(diào)用、RESTful API調(diào)用、腳本調(diào)用方式上也與CIMISS服務(wù)基本一致。一體化平臺(tái)改造之前涉及的地面數(shù)據(jù)取自于CIMISS接口,只需將CIMISS的API用戶切換到天擎服務(wù)接口的API賬戶,使用天擎服務(wù)接口即可完成云化改造。
PostgreSQL是一個(gè)功能強(qiáng)大、源代碼開(kāi)放的客戶/服務(wù)器關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。PostGIS是PostgreSQL的空間擴(kuò)展模塊,提供了空間對(duì)象、空間操作函數(shù)和空間操作符等空間信息服務(wù)功能。PostgreSQL的空間數(shù)據(jù)存儲(chǔ)機(jī)制是將地理空間數(shù)據(jù)的結(jié)構(gòu)化屬性數(shù)據(jù)以關(guān)系表的形式存儲(chǔ)到空間數(shù)據(jù)表普通列中,在PostGIS支持的Geometry加入空間數(shù)據(jù)表中作為其一列,將地理空間數(shù)據(jù)的非結(jié)構(gòu)化的空間數(shù)據(jù)構(gòu)成Geometry對(duì)象作為該列的值,實(shí)現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)的統(tǒng)一存儲(chǔ)。一體化平臺(tái)的一張圖、預(yù)警服務(wù)功能需要支持地理信息數(shù)據(jù)在地圖上疊加、點(diǎn)選、圈選的突出顯示功能,如圖2所示。采用新增PostgreSQL管理站點(diǎn)信息、流域信息、鄉(xiāng)鎮(zhèn)街道信息等地理信息,將地圖上選擇的信息直接存儲(chǔ)到空間數(shù)據(jù)表。
圖2 地圖區(qū)域突出顯示Fig.2 Map areas are highlighted
虛谷數(shù)據(jù)庫(kù)采用關(guān)系模型數(shù)據(jù)庫(kù),提供標(biāo)準(zhǔn)的SQL92語(yǔ)法,兼容Oracle語(yǔ)法,完全自動(dòng)的分庫(kù)分表策略,將數(shù)據(jù)均衡分布到各個(gè)節(jié)點(diǎn),具有較高的讀寫時(shí)效,機(jī)制成熟、可靠;提供強(qiáng)大的數(shù)據(jù)定義語(yǔ)言及數(shù)據(jù)操作語(yǔ)言,適合對(duì)站點(diǎn)數(shù)據(jù)的存儲(chǔ)和管理。天擎提供虛谷關(guān)系型數(shù)據(jù)庫(kù),支持應(yīng)用構(gòu)建時(shí)對(duì)元數(shù)據(jù)和配置信息的存儲(chǔ)。一體化平臺(tái)利用虛谷數(shù)據(jù)庫(kù)存儲(chǔ)的內(nèi)容包括兩大類:
(1)氣象防災(zāi)減災(zāi)數(shù)據(jù),包括中小河流、山洪溝、中小學(xué)校、山塘水庫(kù)、旅游景區(qū)、預(yù)警發(fā)布設(shè)施基礎(chǔ)信息等。
(2)系統(tǒng)參數(shù)與中間結(jié)果信息:操作記錄表、登錄日志、系統(tǒng)日志、角色表、用戶信息表、群組信息表、強(qiáng)降水監(jiān)測(cè)警報(bào)信息表等。
一體化平臺(tái)采用Redis內(nèi)存數(shù)據(jù)庫(kù)儲(chǔ)存用戶信息、登錄緩存信息以提高網(wǎng)頁(yè)訪問(wèn)速度。Redis是一個(gè)基于內(nèi)存的鍵值型數(shù)據(jù)庫(kù),具有存取熟讀快速、一致,消除I/O瓶頸,存取時(shí)間易于預(yù)測(cè)等優(yōu)點(diǎn)。天擎提供Redis內(nèi)存數(shù)據(jù)庫(kù),支持應(yīng)用進(jìn)行配置信息和中間結(jié)果的緩存,主要用來(lái)保存不同用戶登錄緩存信息。單個(gè)用戶登錄信息包括經(jīng)緯度、地市、用戶單位、用戶名、登錄密碼、用戶級(jí)別、IP、登錄時(shí)間以及登錄訪問(wèn)功能模塊等相關(guān)信息。
一體化平臺(tái)模式預(yù)報(bào)、預(yù)報(bào)支持以及指導(dǎo)產(chǎn)品模塊涉及到大量的圖片、文本類型的非結(jié)構(gòu)化氣象數(shù)據(jù)存儲(chǔ)和讀寫。結(jié)合具體情況,服務(wù)指導(dǎo)產(chǎn)品采用分布式NAS進(jìn)行存儲(chǔ)。按照天擎對(duì)共享存儲(chǔ)的文件系統(tǒng)一級(jí)目錄的規(guī)劃,按要求將其掛載在本機(jī),像使用本地盤一樣訪問(wèn)NAS的對(duì)應(yīng)目錄,通過(guò)在文件名中提取索引信息,存入到天擎文件索引庫(kù)并將文件實(shí)體存在分布式NAS,直接應(yīng)用天擎提供的應(yīng)用程序配置和對(duì)應(yīng)的索引策略。
Docker容器服務(wù)可以提供給開(kāi)發(fā)者輕量級(jí)開(kāi)發(fā)環(huán)境和各種應(yīng)用程序的運(yùn)行環(huán)境。開(kāi)發(fā)者可以打包應(yīng)用以及依賴包到一個(gè)帶有啟動(dòng)指令的項(xiàng)目鏡像中,在任意服務(wù)器創(chuàng)建一個(gè)容器,讓鏡像在容器內(nèi)運(yùn)行,從而實(shí)現(xiàn)項(xiàng)目的部署。Docker容器能夠使進(jìn)程和資源相互獨(dú)立,容器完全使用沙箱機(jī)制,服務(wù)器就是容器的宿主機(jī),容器與宿主機(jī)之間是相互隔離的。容器計(jì)算具有安全可控、簡(jiǎn)單易用、協(xié)議兼容、高效可靠的優(yōu)勢(shì)?!疤烨妗ず稀碧峁〥ocker容器服務(wù),一體化平臺(tái)應(yīng)用開(kāi)發(fā)采用Vue架構(gòu),是一套構(gòu)建用戶界面的漸進(jìn)式框架,分前端和后端,采用Docker方式部署Vue項(xiàng)目。一體化平臺(tái)端改造分前端應(yīng)用與后端管理。實(shí)際部署過(guò)程中,一般先部署后端,再部署前端。
湖南省氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)云化版本投入業(yè)務(wù)化運(yùn)行。平臺(tái)包括模式預(yù)報(bào)、預(yù)報(bào)支持、指導(dǎo)產(chǎn)品、預(yù)警服務(wù)、一張圖與業(yè)務(wù)管理等功能模塊。預(yù)報(bào)支持產(chǎn)品、模式預(yù)報(bào)以及指導(dǎo)產(chǎn)品等數(shù)據(jù)由NAS存儲(chǔ)管理,如圖3所示;自動(dòng)站降水等數(shù)據(jù)從天擎接口獲取,用戶登錄信息由Redis提供支撐,鄉(xiāng)鎮(zhèn)、河流、流域等信息通過(guò)PostgreSQL管理,其他平臺(tái)的元數(shù)據(jù)以及系統(tǒng)配置等由虛谷支撐,如圖4所示。
圖3 預(yù)報(bào)支持產(chǎn)品Fig.3 Forecast support products
圖4 自動(dòng)站降水Fig.4 Automatic station precipitation
結(jié)合大數(shù)據(jù)應(yīng)用平臺(tái)的技術(shù)能力,一體化平臺(tái)在充分利用硬件、數(shù)據(jù)、接口、存儲(chǔ)、軟件服務(wù)的基礎(chǔ)上進(jìn)行云化改造,湖南省氣象災(zāi)害預(yù)警服務(wù)一體化平臺(tái)已融入大數(shù)據(jù)云平臺(tái)。平臺(tái)集預(yù)報(bào)展示、預(yù)警產(chǎn)品制作、預(yù)警發(fā)布于一體,加強(qiáng)了基層氣象防災(zāi)減災(zāi)科技支撐,提升基層氣象業(yè)務(wù)人員工作效率,提升了基層防災(zāi)減災(zāi)能力,對(duì)其他業(yè)務(wù)系統(tǒng)應(yīng)用融入具有示范、探索作用,對(duì)推進(jìn)本省“云+端”的氣象業(yè)務(wù)體系起著積極作用。