楊代才, 張冰松
(湖北省 氣象信息與技術(shù)保障中心, 武漢 430074)
長江流域覆蓋范圍較大, 包含 12 個省 (市), 共計兩萬多個觀測站(水文雨量觀測站3730個、氣象國家站748個、氣象區(qū)域站19 557個). 充分利用這些站點, 將水文和氣象部門的觀測數(shù)據(jù)進行融合, 通過一個平臺進行統(tǒng)一展示, 對長江流域監(jiān)測預(yù)報預(yù)警、防汛抗旱具有重要的意義. 本文在對氣象和水文站點篩選的基礎(chǔ)上, 建立降水資料的實時匯集流程, 設(shè)計數(shù)據(jù)處理業(yè)務(wù)系統(tǒng)以及數(shù)據(jù)產(chǎn)品制作和共享系統(tǒng), 實現(xiàn)降水數(shù)據(jù)的融合共享.
長江流域氣象水文雨量資料一張圖分析系統(tǒng)主要是依托氣象部門和水文部門現(xiàn)有的觀測站, 收集臺站參數(shù)信息, 根據(jù)測站的空間分布、數(shù)據(jù)完整性以及質(zhì)量指標篩選出需要共享的觀測站, 利用已建成的通信線路實現(xiàn)數(shù)據(jù)的實時收集匯聚, 收集的數(shù)據(jù)經(jīng)過質(zhì)量控制和加工處理后存儲于數(shù)據(jù)庫中, 采用B/S架構(gòu)開發(fā)數(shù)據(jù)產(chǎn)品制作和共享系統(tǒng), 實現(xiàn)質(zhì)控后降水資料的顯示和共享.
由于長江流域范圍觀測站較多, 數(shù)據(jù)量比較大, 因此在數(shù)據(jù)存儲管理方面考慮采用HBase分布式數(shù)據(jù)庫和Spark內(nèi)存數(shù)據(jù)庫, 提高數(shù)據(jù)讀寫性能; 針對查詢可能出現(xiàn)緩慢的情況, 在WebGIS上進行優(yōu)化. 最終為用戶提供一個雨量數(shù)據(jù)統(tǒng)一、頁面響應(yīng)快捷、數(shù)據(jù)質(zhì)量可靠的共享系統(tǒng), 為長江流域監(jiān)測預(yù)警、防汛抗旱提供數(shù)據(jù)支撐.
根據(jù)氣象、水文部門的實際情況, 設(shè)計了長江流域氣象水文數(shù)據(jù)融合一張圖的解決方案, 總體架構(gòu)如圖1所示, 主要分為水文數(shù)據(jù)信息收集、氣象水文大數(shù)據(jù)存儲管理、數(shù)據(jù)產(chǎn)品制作和共享三部分.
圖1 長江流域氣象水文雨量共享分析系統(tǒng)架構(gòu)圖
(1)水文數(shù)據(jù)信息收集, 收集氣象和水文部門的臺站參數(shù)信息, 包括臺站的名稱、經(jīng)度、緯度、拔高等內(nèi)容. 通過觸發(fā)器以及輪詢的方式, 實現(xiàn)水情信息的實時同步收集.
(2)氣象水文大數(shù)據(jù)存儲管理, 通過Web Service接口, 實時接收水文部門小時降水數(shù)據(jù)文件, 并啟動入庫模塊. 結(jié)合氣象部門臺站的降水數(shù)據(jù), 進行空間一致性檢查、持續(xù)性檢查. 根據(jù)數(shù)據(jù)質(zhì)量控制結(jié)果, 對觀測數(shù)據(jù)標注質(zhì)量控制碼, 通過Music接口(氣象數(shù)據(jù)統(tǒng)一服務(wù)接口), 提供數(shù)據(jù)獲取、回存、計算、可視化等服務(wù)接口, 滿足用戶需要的高效、規(guī)范的檢索.
(3)數(shù)據(jù)產(chǎn)品制作和共享, 基于B/S架構(gòu), 開發(fā)數(shù)據(jù)產(chǎn)品加工、數(shù)據(jù)顯示和共享系統(tǒng), 實現(xiàn)長江流域氣象與水文部門所有臺站的質(zhì)量控制后降水數(shù)據(jù)的顯示、數(shù)據(jù)產(chǎn)品的制作與共享.
1.3.1 氣象數(shù)據(jù)分布式存儲技術(shù)
數(shù)據(jù)存儲管理方面采用HBase分布式數(shù)據(jù)庫和Spark內(nèi)存數(shù)據(jù)庫, 提高數(shù)據(jù)讀寫性能. HBase分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫不同, 它是非關(guān)系型的開源數(shù)據(jù)庫, 基于HDFS文件系統(tǒng)運行[1]. 數(shù)據(jù)采集部分基于Kafka開發(fā), 消息生產(chǎn)者(RProducer)部署在傳感器數(shù)據(jù)接收端服務(wù)器, 發(fā)送消息到消息隊列; 消息消費者(RCustomer)部署在服務(wù)器端, 接收Kafka消息并轉(zhuǎn)換成可用格式存入HBase. Spark是基于內(nèi)存的迭代計算框架,其核心是彈性分布式數(shù)據(jù)集, 復(fù)雜的算法和運算都是在內(nèi)存中進行多次快速迭代[2,3]. Spark Streaming針對實時數(shù)據(jù)進行流式處理, 具有高通量和容錯性[4], 對Kafka消息進行操作處理, 并將結(jié)果保存到HBase數(shù)據(jù)庫.
1.3.2 數(shù)據(jù)共享交換管理
“一張圖”共享數(shù)據(jù)庫服務(wù)器(氣象)是水文、氣象數(shù)據(jù)匯聚的樞紐. 而傳統(tǒng)數(shù)據(jù)庫同步方式極為繁瑣, 需要對數(shù)據(jù)庫做諸多配置, 并對源數(shù)據(jù)庫與目的數(shù)據(jù)庫有限制和要求, 且傳輸實時性、穩(wěn)定性均有較大瓶頸.為實現(xiàn)數(shù)據(jù)的實時同步, 采用了DIP工具, 依托物理機或虛擬機的方式部署, 與源和目標端數(shù)據(jù)相連, 原理等同于Oracle ogg, 但無需在前置機上部署任何Agent.
此次數(shù)據(jù)交換共享的實施, 主要分為兩個步驟: 一是從實時水雨情數(shù)據(jù)庫服務(wù)器到“一張圖”共享數(shù)據(jù)庫服務(wù)器(氣象側(cè))的同步, 源數(shù)據(jù)庫與目標數(shù)據(jù)庫分別為Oracle. 二是“一張圖”共享數(shù)據(jù)庫服務(wù)器(氣象側(cè))到“一張圖”共享數(shù)據(jù)庫服務(wù)器(水利側(cè))的同步, 源數(shù)據(jù)庫與目標數(shù)據(jù)庫均為Oracle. 簡而言之, 本次的數(shù)據(jù)交換共享實現(xiàn)就是從Oracle到Oracle的同步過程. 原理如圖2所示.
1.3.3 應(yīng)用平臺顯示優(yōu)化技術(shù)
在WebGIS上進行優(yōu)化, 一是增加一個緩存機制,定時獲取數(shù)據(jù), 每次收到頁面請求時直接從緩存中獲取區(qū)域站的數(shù)據(jù), 這樣可以將查詢和結(jié)果返回時間大大縮短, 二是優(yōu)化前端站點繪制速度, 用繪制SVG矢量圖形替換原來的圖片疊加方式, 三是采用分級策略顯示站點, 逐級增大顯示站點數(shù)[5].
圖2 “一張圖”共享數(shù)據(jù)庫服務(wù)器數(shù)據(jù)同步原理圖(氣象端)
結(jié)合目前實時雨水情數(shù)據(jù)庫的使用情況, 為了最大限度的減少對現(xiàn)有系統(tǒng)的影響, 同時能夠保證數(shù)據(jù)交換的時效性, 系統(tǒng)通過觸發(fā)器, 在水文部門的數(shù)據(jù)庫平臺內(nèi)將發(fā)生變動(新增、修改或刪除)的數(shù)據(jù)寫入到待交換區(qū), 通過輪詢方式監(jiān)控交換區(qū)是否有新的數(shù)據(jù), 如果有新的記錄將數(shù)據(jù)發(fā)送給氣象部門的數(shù)據(jù)接收節(jié)點, 從而實現(xiàn)水情信息的實時交換收集, 數(shù)據(jù)交換處理過程如圖3.
(1)水利部門將實時雨水情數(shù)據(jù)庫中所管轄的站號信息類、雨量、水文的數(shù)據(jù)進行插入(修改、刪除)操作時, 啟動數(shù)據(jù)庫表的觸發(fā)器;
(2)將變化的數(shù)據(jù)保存到待交換區(qū)中;
(3)系統(tǒng)定時對待交換信息記錄表進行輪詢檢查,發(fā)現(xiàn)有待發(fā)送數(shù)據(jù)后, 根據(jù)系統(tǒng)設(shè)置的轉(zhuǎn)發(fā)關(guān)系, 生成相應(yīng)的數(shù)據(jù)文件, 并啟動發(fā)送模塊;
(4)發(fā)送模塊負責把數(shù)據(jù)文件, 分別發(fā)送給各接收節(jié)點;
(5)接收節(jié)點通過Web Service接口, 接收上傳的文件, 并啟動入庫模塊;
圖3 水文數(shù)據(jù)信息收集處理過程圖
(6)入庫模塊負責解讀數(shù)據(jù)文件, 并把數(shù)據(jù)記錄插入到已接收信息記錄表中, 同時插入(修改、刪除)相應(yīng)的基本類、實時類信息.
長江流域氣象、水文觀測站多、頻次密, 對高并發(fā)需求數(shù)據(jù), 采用內(nèi)存數(shù)據(jù)庫技術(shù)(Spark); 對非高并發(fā)數(shù)據(jù), 采用非關(guān)系型數(shù)據(jù)庫(HBase), 存儲管理結(jié)構(gòu)如圖4所示. 通過五臺服務(wù)器及萬兆交換機構(gòu)建集群數(shù)據(jù)庫環(huán)境, 利用云分布式存儲技術(shù), 采用數(shù)據(jù)主鍵、分塊和數(shù)據(jù)壓縮相結(jié)合的方式提高大數(shù)據(jù)的存儲能力,實現(xiàn)降水數(shù)據(jù)要素級的數(shù)據(jù)庫存儲管理.
圖4 氣象水文大數(shù)據(jù)存儲管理結(jié)構(gòu)圖
據(jù)統(tǒng)計, 使用HBase存儲45天數(shù)據(jù), 數(shù)據(jù)量達到280 GB, 其中區(qū)域站 173 415 988 條記錄, 國家站 12 303 617條數(shù)據(jù), 湖北省6000多個站點雨量查詢顯示在3 s以內(nèi), 形成矢量圖片在20 s以內(nèi); 長江流域20 000多個站點雨量查詢顯示在10 s左右, 形成矢量圖片在25秒左右; 長江、漢江流域的水位、流量、水勢等數(shù)據(jù)能夠每小時正點實時顯示. 相比傳統(tǒng)關(guān)系型數(shù)據(jù)庫存儲顯示速度有明顯提升.
根據(jù)降水觀測數(shù)據(jù)的特點, 參考天氣因素等條件設(shè)計以下質(zhì)量控制方法, 包括界限值檢查、范圍值檢查、空間一致性檢查、持續(xù)性檢查、累計降水量秩相關(guān)系數(shù)檢查、綜合檢查等方法[6-8].
2.3.1 界限值檢查方法
氣象部門《地面氣象觀測規(guī)范》中對每一個要素的界限值范圍進行了規(guī)定, 可以根據(jù)該范圍判斷降水資料質(zhì)量情況.
2.3.2 范圍值檢查方法
范圍值檢查是通過插值, 計算某一地點的多年日極值, 根據(jù)日數(shù)據(jù)變化規(guī)律, 求得降水資料的逐月閾值.
2.3.3 空間一致性檢查
空間一致性檢查方法是檢查觀測數(shù)據(jù)的變化是否符合其空間規(guī)律, 利用與被檢站下墊面及周圍環(huán)境相識的一個或多個鄰近站觀測數(shù)據(jù)計算被檢站降水量,對被檢站觀測值和計算值進行比較, 比較結(jié)果超出給定的閾值, 即認為被檢站降水觀測數(shù)據(jù)為可疑資料.
2.3.4 持續(xù)性檢查
如果某個要素的觀測值在一段時間內(nèi)沒有變化,則有可能觀測設(shè)備或者數(shù)據(jù)傳輸出現(xiàn)問題, 在降水資料的持續(xù)性檢查中, 若降水量長期持續(xù)不變(有降水現(xiàn)象時, 即降水量大于0), 被檢站在被檢時段內(nèi)的小時降水觀測數(shù)據(jù)均為可疑資料.
2.3.5 累計降水量秩相關(guān)系數(shù)檢查
根據(jù)降水現(xiàn)象的特點, 在時間、空間分布上對被檢站與鄰近站滑動過去6小時累計降水量進行比較,比較結(jié)果超出給定的閾值, 即認為被檢站降水觀測數(shù)據(jù)為可疑資料.
2.3.6 綜合一致性檢查等方法
綜合一致性檢查是根據(jù)以上所有檢查方法得出的結(jié)論來確定該類數(shù)據(jù)最終的質(zhì)控碼.
數(shù)據(jù)產(chǎn)品制作和共享功能[9,10]包括數(shù)據(jù)監(jiān)控、數(shù)據(jù)顯示和產(chǎn)品生成三個功能(見圖5). 數(shù)據(jù)監(jiān)控包括到站率監(jiān)控和小時降水量監(jiān)測; 數(shù)據(jù)顯示功能實現(xiàn)了降水量的查詢、顯示和統(tǒng)計, 具體包括單時次數(shù)據(jù)顯示、任意時段累計降水量統(tǒng)計、閾值過濾顯示、數(shù)據(jù)表格顯示、單站曲線顯示、色斑圖顯示和疑誤數(shù)據(jù)顯示等; 產(chǎn)品生成是指對查詢、統(tǒng)計結(jié)果進行保存和下載, 包括圖片保存和Excel格式下載.
圖5 數(shù)據(jù)產(chǎn)品制作和共享系統(tǒng)功能結(jié)構(gòu)圖
2.4.1 數(shù)據(jù)監(jiān)控
(1)數(shù)據(jù)傳輸監(jiān)控
數(shù)據(jù)傳輸監(jiān)控模塊逐小時從數(shù)據(jù)庫中統(tǒng)計已到資料的總站數(shù), 并統(tǒng)計到站率. 在GIS頁面上顯示應(yīng)到站、實到站和到站率, 并將已到站按綠色、未到站按紅色進行標示.
(2)降水量監(jiān)測及對比
降水量監(jiān)測功能是系統(tǒng)每小時自動統(tǒng)計所有站點的小時降水量, 自動統(tǒng)計出大于設(shè)定值的站數(shù), 并顯示最大降水量和所在站點. 設(shè)定值可以根據(jù)用戶進行修改. 統(tǒng)計的時間將按照到站率和時間策略進行綜合設(shè)計. 在顯示頁面上, 以氣象、水文兩個復(fù)選框給出, 用戶根據(jù)需要可以形成三個組合, 即氣象與水文單獨、氣象與水文合并的顯示方式, 做到雨量的對比融合顯示.
2.4.2 數(shù)據(jù)產(chǎn)品制作
(1)色斑圖生成
提供不同時間段累計降水量的色斑圖制作功能,生成圖形產(chǎn)品.
(2)面雨量統(tǒng)計
按流域, 統(tǒng)計不同時間段累計面雨量.
2.4.3 數(shù)據(jù)顯示
(1)單時次降水量顯示
根據(jù)用戶選擇, 單時次降水量顯示功能在WebGIS頁面上所有站點標示附近顯示站點的過去1小時(3小時、6小時、12小時、24小時)降水量, 用戶可通過放大地圖直觀的查看區(qū)域內(nèi)的降水量情況.
(2)任意時段降水量統(tǒng)計
任意時段降水量統(tǒng)計功能是查詢開始時間和結(jié)束時間內(nèi)所有站點的累計雨量, 并在WebGIS頁面上顯示站點的累計雨量值, 用戶可通過放大地圖直觀的查看區(qū)域內(nèi)的降水量情況.
(3)按閾值過濾顯示
對查詢結(jié)果提供閾值過濾顯示功能, 在閾值文本框中輸入數(shù)值, 濾掉降水小于閾值的站點, 只顯示值大于等于閾值的站點, 并在文本框后顯示站點數(shù)目.
(4)數(shù)據(jù)表格顯示
所有查詢結(jié)果除以WebGIS方式疊加在地圖上展示, 也提供數(shù)據(jù)表格顯示, 并提供數(shù)據(jù)下載.
(5)單站降水曲線顯示
提供單站降水曲線顯示功能, 單擊站點可查看過去24小時降水曲線圖或柱狀圖, 并可保存圖片到本地.
(6)色斑圖實時顯示
對降水量查詢結(jié)果進行插值算法, 并根據(jù)指定圖例生成色斑圖.
(7)面雨量顯示
顯示各流域不同時間段累計面雨量.
長江流域氣象水文雨量資料一張圖分析系統(tǒng)(見圖6), 部署在湖北省氣象局, 水文和氣象部門的用戶可以通過數(shù)據(jù)庫客戶端獲取數(shù)據(jù), 也可以通過瀏覽器查詢、分析雨情, 雨量資料的對比, 做到了氣象、水利部門數(shù)據(jù)的一致性, 提高了數(shù)據(jù)發(fā)布的權(quán)威性. 系統(tǒng)主要包括數(shù)據(jù)監(jiān)控、數(shù)據(jù)顯示和產(chǎn)品生產(chǎn)三大功能. 其中,數(shù)據(jù)監(jiān)控包括到站率監(jiān)控和小時雨量監(jiān)測; 數(shù)據(jù)顯示功能包括雨量時查詢、顯示和統(tǒng)計, 具體包括單時次數(shù)數(shù)據(jù)顯示、任意時段累計雨量統(tǒng)計、閾值過濾顯示、數(shù)據(jù)表格顯示、單站曲線顯示、色板圖顯示和疑誤數(shù)據(jù)顯示等; 產(chǎn)品生成可對查詢、統(tǒng)計結(jié)果進行保存和下載.
圖6 長江流域氣象水文雨量資料一張圖分析系統(tǒng)
為提高產(chǎn)品應(yīng)用的便捷性, 增強平臺對業(yè)務(wù)的支撐度, 還開發(fā)了按流域、行政區(qū)域(地市級、縣級)查詢顯示的功能, 同時還根據(jù)業(yè)務(wù)需要形成氣象與水文雨量顯示的三種組合, 即氣象與水文單獨、氣象與水文合并的顯示方式, 實現(xiàn)雨量的對比融合顯示.
2017年7月25日, 湖北省氣象局正式下發(fā)了《關(guān)于做好湖北氣象業(yè)務(wù)內(nèi)網(wǎng)水文部門雨量資料產(chǎn)品應(yīng)用的函》, 水文部門的雨量、水文數(shù)據(jù)正式在全省氣象部門得到應(yīng)用. 8月3日和8月10日, “長江流域氣象水文雨量資料一張圖分析系統(tǒng)”在省水利廳和長江委正式使用, 普遍反映良好. 在我省今年盛夏 8月7-8日、11-13日強降雨過程以及多次局地強對流天氣影響期間, 為武漢中心氣象臺更加有效捕捉“坨子雨”強度、提高預(yù)警精度、精準防范發(fā)揮了重要作用.長江委、省防辦、省水利廳在今年秋汛精準調(diào)度中也很好的發(fā)揮了作用. 下一步將繼續(xù)優(yōu)化站點, 完善雨量數(shù)據(jù)質(zhì)量控制, 開發(fā)滿足水利部門面雨量產(chǎn)品和各種極值統(tǒng)計產(chǎn)品, 更好的為流域防汛抗旱提供服務(wù).
長江流域氣象水文雨量共享分析系統(tǒng)構(gòu)建了集氣象、水文雨量融合為一張圖的可視氣象信息服務(wù)平臺,主要承擔為長江流域氣象、長江水利委員會水文部門提供實時融合雨情查詢、監(jiān)視、分析統(tǒng)計. 系統(tǒng)基于分布式數(shù)據(jù)庫和WebGIS技術(shù)進行優(yōu)化處理, 響應(yīng)速度快捷、功能完善、界面豐富友好, 為流域氣象服務(wù)工作提供了很好的平臺, 得到了用戶的一致肯定.