白玎玲,劉 鑫,張寶寶
(山西省氣象信息中心,山西 太原 030006)
氣象信息傳輸是氣象信息的基礎(chǔ)業(yè)務(wù)[1],準(zhǔn)確及時(shí)的氣象信息是預(yù)警、預(yù)報(bào)、服務(wù)的保證。氣象信息傳輸時(shí)效保障一直是氣象業(yè)務(wù)的重要工作,并且隨著氣象現(xiàn)代化工作的推進(jìn),傳輸時(shí)效已成為現(xiàn)代化目標(biāo)考核的重要指標(biāo)。對(duì)于省、市、縣三級(jí)管理人員來(lái)說(shuō),及時(shí)掌握所轄站點(diǎn)傳輸質(zhì)量情況對(duì)于加強(qiáng)人員管理、業(yè)務(wù)考核評(píng)比、優(yōu)化業(yè)務(wù)流程具有重要意義。近年來(lái)隨著氣象業(yè)務(wù)發(fā)展,各類觀測(cè)數(shù)據(jù)、預(yù)報(bào)預(yù)測(cè)及氣象服務(wù)產(chǎn)品數(shù)據(jù)大量增加,氣象信息的傳輸時(shí)效要求也越來(lái)越高[2],而監(jiān)控和統(tǒng)計(jì)作為傳輸質(zhì)量管理的重要手段,現(xiàn)有的流程和平臺(tái)已遠(yuǎn)遠(yuǎn)不能滿足業(yè)務(wù)需求。省級(jí)監(jiān)控平臺(tái)多而分散,導(dǎo)致日常監(jiān)控和維護(hù)工作量較大,市縣級(jí)傳輸監(jiān)控被動(dòng),傳輸管理流程上主要依賴省級(jí)通知。傳輸質(zhì)量統(tǒng)計(jì)程序集約化、自動(dòng)化程度不足,報(bào)表的發(fā)布和校訂都耗時(shí)較長(zhǎng),缺報(bào)原因核查難以落實(shí)到位,無(wú)法對(duì)業(yè)務(wù)進(jìn)行有效反饋。近年來(lái)很多省市陸續(xù)結(jié)合自身需求建立了氣象信息傳輸監(jiān)控系統(tǒng)[3-5],但大多數(shù)研究?jī)?nèi)容僅限于氣象數(shù)據(jù)傳輸情況的實(shí)時(shí)監(jiān)控,缺乏對(duì)管理流程優(yōu)化的深入思考和管理效能的最大發(fā)揮,省、市、縣三級(jí)的互動(dòng)和管理手段還不夠多樣化、現(xiàn)代化。
基于以上我省信息業(yè)務(wù)存在的問(wèn)題和管理考評(píng)手段的現(xiàn)代化需求,設(shè)計(jì)研發(fā)面向省、市、縣三級(jí)的氣象信息傳輸質(zhì)量考評(píng)管理系統(tǒng),圍繞氣象信息傳輸質(zhì)量的同步實(shí)時(shí)監(jiān)控、故障信息錄入、質(zhì)量統(tǒng)計(jì)分析、臺(tái)站反饋修訂、報(bào)表生成發(fā)布等方面開(kāi)發(fā)相應(yīng)功能模塊,并根據(jù)各級(jí)業(yè)務(wù)單位職能進(jìn)行用戶權(quán)限管理和交互功能設(shè)計(jì),優(yōu)化管理流程、提升管理效率,實(shí)現(xiàn)傳輸監(jiān)控統(tǒng)計(jì)的集約化、標(biāo)準(zhǔn)化、自動(dòng)化,進(jìn)而提升山西氣象信息業(yè)務(wù)的現(xiàn)代化管理能力和全省各級(jí)氣象信息傳輸業(yè)務(wù)質(zhì)量。
系統(tǒng)架構(gòu)和流程如圖1所示。整個(gè)系統(tǒng)分為數(shù)據(jù)采集、數(shù)據(jù)處理、監(jiān)視信息存儲(chǔ)、數(shù)據(jù)服務(wù)這四個(gè)部分。數(shù)據(jù)采集部分通過(guò)任務(wù)調(diào)度對(duì)地面自動(dòng)站、高空等目前22類氣象數(shù)據(jù)、6個(gè)收集中心進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,文件類數(shù)據(jù)源采用定時(shí)掃描方式,數(shù)據(jù)庫(kù)數(shù)據(jù)源采用數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)方式;數(shù)據(jù)處理部分對(duì)采集到的數(shù)據(jù)分別進(jìn)行數(shù)據(jù)清洗、分類、統(tǒng)計(jì)加工等步驟;處理過(guò)后的數(shù)據(jù)存儲(chǔ)到統(tǒng)一的監(jiān)控庫(kù)中,包含監(jiān)視、統(tǒng)計(jì)、告警、監(jiān)控配置、故障分析模型、數(shù)據(jù)屬性、用戶管理等各類信息,并且設(shè)計(jì)入庫(kù)管理、數(shù)據(jù)維護(hù)、過(guò)期清除等策略對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù),提供統(tǒng)一訪問(wèn)接口;數(shù)據(jù)服務(wù)部分根據(jù)省級(jí)管理用戶、省級(jí)業(yè)務(wù)用戶、市級(jí)管理用戶、縣級(jí)業(yè)務(wù)用戶等不同權(quán)限提供相應(yīng)的用戶管理、實(shí)時(shí)監(jiān)視、信息錄入、信息審核、報(bào)表制作、統(tǒng)計(jì)分析等各類數(shù)據(jù)服務(wù)。
圖1 系統(tǒng)架構(gòu)和流程
系統(tǒng)主要有系統(tǒng)配置、數(shù)據(jù)采集、監(jiān)控配置、實(shí)時(shí)監(jiān)控、數(shù)據(jù)統(tǒng)計(jì)、反饋訂正、報(bào)表制作這七個(gè)功能模塊。通過(guò)對(duì)全省考核的22種氣象數(shù)據(jù)的傳輸流程、數(shù)據(jù)屬性、傳輸規(guī)范等業(yè)務(wù)情況進(jìn)行梳理分析,建立統(tǒng)一標(biāo)準(zhǔn)的日志采集處理流程、監(jiān)控統(tǒng)計(jì)指標(biāo)、告警內(nèi)容方式、監(jiān)控配置方式等,實(shí)現(xiàn)監(jiān)控信息標(biāo)準(zhǔn)化;通過(guò)故障信息錄入、傳輸統(tǒng)計(jì)功能將異常日志剔除、報(bào)表制作修訂工作變?yōu)樽詣?dòng)化實(shí)現(xiàn),提高統(tǒng)計(jì)效率,節(jié)約統(tǒng)計(jì)時(shí)間;通過(guò)臺(tái)站在線反饋、省級(jí)在線審核等功能的設(shè)計(jì)研發(fā)將現(xiàn)有的管理流程進(jìn)行優(yōu)化,減少中間環(huán)節(jié),節(jié)約管理成本,提高管理時(shí)效;通過(guò)對(duì)不同數(shù)據(jù)類型缺報(bào)原因的大量細(xì)致采集,歸納總結(jié)大致缺報(bào)原因類別,進(jìn)行概率統(tǒng)計(jì)分析,總結(jié)易出問(wèn)題的薄弱環(huán)節(jié),有效進(jìn)行缺報(bào)風(fēng)險(xiǎn)研判和防范。
日志采集是系統(tǒng)研發(fā)的一個(gè)難點(diǎn)。氣象觀測(cè)數(shù)據(jù)有多個(gè)收集中心,其中有文件格式存儲(chǔ)、數(shù)據(jù)庫(kù)存儲(chǔ),數(shù)據(jù)庫(kù)類別又有Oracle、MySQL、SQL Server 2008等。從數(shù)據(jù)處理量上來(lái)看,其中最大的數(shù)據(jù)源每小時(shí)日志記錄達(dá)20萬(wàn)條左右,因此難點(diǎn)在于解決多種數(shù)據(jù)庫(kù)記錄的同步,以及大批量數(shù)據(jù)的處理。本項(xiàng)目采用微服務(wù)架構(gòu)、分布式數(shù)據(jù)庫(kù)、NoSQL數(shù)據(jù)緩存等保證大量數(shù)據(jù)收集處理的高效和穩(wěn)定。
另一個(gè)難點(diǎn)是系統(tǒng)交互功能的設(shè)計(jì),流程如圖2所示,采用必要信息錄入+程序自動(dòng)化的業(yè)務(wù)流程設(shè)計(jì),不僅避免了直接對(duì)通報(bào)來(lái)回修改影響通報(bào)權(quán)威性,還節(jié)約了人工核查、剔除故障、制作報(bào)表、人工修訂的大量時(shí)間,實(shí)現(xiàn)了統(tǒng)計(jì)分析的自動(dòng)化。
圖2 系統(tǒng)交互功能流程
系統(tǒng)基于J2EE企業(yè)級(jí)架構(gòu)技術(shù)開(kāi)發(fā),基本運(yùn)行環(huán)境為CentOS7.0、JDK1.8、Mysql8.0、Redis4.0、Tomcat8.0、Vue.js,并支持分布式部署運(yùn)行。數(shù)據(jù)庫(kù)采用主從模式的Mysql集群來(lái)搭建分布式數(shù)據(jù)庫(kù),同時(shí)采用Redis實(shí)現(xiàn)數(shù)據(jù)緩存,有利于系統(tǒng)快速穩(wěn)定進(jìn)行數(shù)據(jù)采集、處理、分析、響應(yīng)。
系統(tǒng)后端服務(wù)使用SpringBoot2.0為核心的微服務(wù)架構(gòu)進(jìn)行設(shè)計(jì),便于系統(tǒng)進(jìn)行局部修改和快速開(kāi)發(fā)部署,單個(gè)服務(wù)的宕機(jī)不影響整體運(yùn)行。同時(shí)也可兼顧未來(lái)氣象業(yè)務(wù)系統(tǒng)的升級(jí)整合。主要?jiǎng)澐譃閿?shù)據(jù)處理服務(wù)、實(shí)時(shí)監(jiān)控服務(wù)、統(tǒng)計(jì)結(jié)果服務(wù)、反饋審核服務(wù)、用戶授權(quán)服務(wù)等多個(gè)微服務(wù),使用Restful風(fēng)格提供統(tǒng)一的數(shù)據(jù)接口服務(wù),并使用Oauth2+Shiro進(jìn)行無(wú)狀態(tài)用戶鑒權(quán),采用Mybatis框架進(jìn)行多數(shù)據(jù)源和數(shù)據(jù)持久管理。
系統(tǒng)的前端使用當(dāng)前流行的Vue.js搭建,在美觀、交互性、響應(yīng)速度及瀏覽器移動(dòng)端適應(yīng)性方面均能得到很好的滿足。在數(shù)據(jù)分析、數(shù)據(jù)可視化方面使用ECharts組件,使用多種形式的圖表直觀顯示數(shù)據(jù)內(nèi)容。系統(tǒng)前臺(tái)界面如圖3。
圖3 系統(tǒng)前臺(tái)界面
山西省氣象信息傳輸質(zhì)量管理系統(tǒng)實(shí)現(xiàn)了傳輸監(jiān)控統(tǒng)計(jì)工作的集約化、標(biāo)準(zhǔn)化、自動(dòng)化,將零散的監(jiān)控平臺(tái)與統(tǒng)計(jì)程序集約到一個(gè)系統(tǒng)中,大大提高了監(jiān)控效率,縮減了維護(hù)成本;實(shí)現(xiàn)了數(shù)據(jù)發(fā)送方和接收方的同步實(shí)時(shí)監(jiān)控,有效提升了市縣管理部門的主動(dòng)性,便于第一時(shí)間發(fā)現(xiàn)問(wèn)題、采取措施;通過(guò)故障信息錄入、質(zhì)量統(tǒng)計(jì)分析、臺(tái)站反饋修訂、省級(jí)在線審核等交互功能,實(shí)現(xiàn)了報(bào)表自動(dòng)制作和修訂,提高了統(tǒng)計(jì)效率,優(yōu)化了管理流程,節(jié)約了管理成本;還可對(duì)缺報(bào)原因進(jìn)行統(tǒng)計(jì)分析,總結(jié)薄弱環(huán)節(jié)供各級(jí)管理部門參考,真正發(fā)揮傳輸質(zhì)量通報(bào)的管理效能,在數(shù)據(jù)傳輸質(zhì)量風(fēng)險(xiǎn)的研判和防范方面發(fā)揮作用,有效提升山西氣象信息業(yè)務(wù)的現(xiàn)代化管理能力和全省氣象信息傳輸質(zhì)量。