張冰松 汪璠 王雅新 楊代



摘要:本文針對湖北氣象業務內網建設方面存在的諸多問題,提出了內網的設計需求、設計目標和技術路線,闡明了內網的總體結構與功能、總體數據流程、系統結構、大數據框架應用以及其他優化的具體措施等。
關鍵詞:HBASE;氣象;業務內網
中圖分類號:TP311.52? ? 文獻標識碼:A? ? 文章編號:1007-9416(2020)10-0000-00
0 引言
隨著省級氣象局信息化建設程度的不斷提高,信息業務的綜合服務水平明顯提升,但業務應用平臺建設的集約程度仍然不夠,服務規范不統一,沒有集中標準化的顯示和監控平臺,導致服務效率不高,甚至出現數據與產品存在不一致和矛盾的情況。此外各業務系統規模小、功能簡陋,系統設計與建設缺乏統一的規劃和設計,整體安全防護能力弱,未能實現集約化、規模化運維,人員從事低水平重復、手工交互度高的IT系統運維等問題也制約著湖北省氣象局信息化建設的快速發展。所以需要一種便捷高效的方法達成眾多業務系統的統一管理和氣象科學數據的共享管理以及監控管理,以更好的發揮相關業務系統的巨大價值。同時能為規范對單位內提供氣象信息服務統一窗口,充分發揮信息資源的整合優勢提供良好條件,使對內提供氣象信息的方式集約化、標準化、規范化。因此,建設湖北氣象業務內網非常必要。
1 問題分析
隨著業務的不斷發展和數據的不斷擴充,原共享系統在自動氣象站數據顯示方面已經無法滿足用戶的需求,在數據存儲管理、數據共享的范圍和顯示速度等都存在著弊端。此外伴隨著CIMISS系統的推廣和應用,這些業務系統在數據集約化、一體化管理、數據準確性以及系統維護和升級等方面,還存在很多問題[1,2],主要體現在:
(1)業務系統分散、不易維護升級。目前各省在線業務系統繁多,系統之間互相穿插,互相鏈接的情況頻繁,雖然有公共首頁可以作為統一入口,但是條理性差,系統和系統之間無法實現資源共享,服務共享,各自使用各自的標準,造成維護不便、管理困難、資源浪費。(2)沒有統一的數據環境,造成數據不一致。重要數據可能存在多份拷貝或存在多個數據源中,因數據傳輸或系統錯誤或人工等原因往往造成原本應該相同的數據在不同系統中不相同的情況。(3)資料展示系統多,各自為政,不易管理。省中心尚未建立統一的氣象基礎資料展示系統,各級業務部門及業務系統軟件直接從各自服務器獲取相應的資料。各業務系統存在功能重復建設資源重復占用的現象。(4)利用云平臺不夠充分,各自使用小服務器,管理混亂。目前各業務系統之間并未充分利用云平臺,數據接口并不規范,系統集成與業務銜接不當,容易導致信息不對稱、無法管理。因此,本項目將利用現有云平臺,基于CIMISS標準化數據環境進行建設,依靠一體化網絡平臺,統一標準,達成各業務系統集約化連接、實現資源的優化配置與共享。
2 設計原則與功能需求
2.1 設計原則
湖北氣象業務內網以支撐氣象業務發展和科技創新為目標,采用先進實用的信息技術,參考國內先進的數據管理設計經驗[3-10],實現相關業務平臺的整合,系統設計和開發原則包括:(1)集約化。搭建省級氣象業務運行的數據環境以及虛擬化環境,集合各業務單位的業務系統,實現業務系統基礎平臺資源的高效利用和專業化維護。(2)統一數據環境。以CIMISS作為主要數據源進行數據復用,遵從CIMISS數據標準進行數據存儲結構拓展,建立統一分類編碼、統一數據建模、統一存儲的數據體系。(3)用戶管理。要面向省、市、縣三級用戶,實現省級統一權限管理,市縣級授權后訪問。
2.2 系統功能設計
湖北氣象業務內網主要由信息顯示、運行監控、業務管理、共享服務]等模塊組成。其中運行監控模塊實現對臺站級、市縣州級單位數據傳輸、設備狀態等的綜合與分類監控。主要包括:(1)數據傳輸監控。實現對自動站(包括國家站、區域站)觀測數據、高空測風數據、GNSS/MET數據、自動土壤水分觀測數據、雷達基數據等,以圖形化與表格化相結合的方式向用戶展示各種氣象資料的發送情況,在監視界面予以告警顯示。(2)設備運行狀態監控。根據通信系統所接收到的設備運行狀態文件、報警文件等,基于文件中的各類數據的判斷規則,綜合判斷設備運行是否正常,并根據本級用戶所在區域獲取該區域所有設備的運行狀態信息。(3)監控集成。將其他監控系統的地址鏈接配置到本系統,值班人員或業務人員可在系統導航模塊快速導航到對應系統。業務管理模塊對傳輸質量進行統計,在獲取運行監控數據結果的基礎上以月、年為時間跨度并支持任意時段內進行聚合統計,存儲統計結果,形成統計圖形、報表,為相關業務人員的決策提供數據支持。氣象信息顯示系統基于CIMISS實現各種氣象資料和原數據資料(自動氣象站、探空資料、GNSS/MET、閃電定位、自動土壤水分、氣象輻射、酸雨觀測、大氣成分觀測等)各個時間段對應查詢,并基于WEBGIS、表格、曲線圖等方式進行數據的展示分析,同時可以實現對歷史資料(歷史最大值、歷史最小值和歷史平均值等)的查詢展示功能。系統以自動站數據顯示為重點,結合大數據SPARK計算框架和WEBGIS,實現快速數據顯示。具體功能結構劃分如圖1所示。
3 基于SPARK框架的數據顯示
湖北省自動氣象站數據顯示模塊作為重點,實現長江流域、湖北省的國家站、區域站、專業氣象站(交通站、旅游站)等地面資料小時數據、分鐘資料全要素的快速查詢顯示,結合CIMISS系統,采用WebGIS技術,以站點圖、色斑圖、直方圖、表格等多種方式對查詢結果進行顯示和統計分析,從而滿足省、市、縣三級預報人員業務使用需求。技術方案方面主要采用硬件支撐平臺、數據庫、WEBGIS技術方面進行優化,在硬件方面采用大內存、多服務器集群等配置;在數據庫方面對數據存儲讀取進行優化,主要包含融合數據環境建設,根據數據特性,采用不同的數據庫;在WEBGIS技術方面,采用緩存及分級顯示策略。
3.1 基于內存的Spark生態系統
系統使用的服務器采用256G內存,采用大數據分析技術,采用伯克利數據分析棧(Spark生態系統),搭建Spark集群,解決自動站查詢統計慢的問題。Spark是基于內存的迭代計算框架[11],其核心是彈性分布式數據集,通過在內存中對數據集進行多次快速迭代,支持復雜的數據挖掘算法和圖形計算算法。
系統使用Spark Streaming和Kafka進行站點文件入庫,kafka 是一款分布式消息發布和訂閱的系統,具有高性能和高吞吐率,消息的發布(publish)稱作 producer,消息的訂閱(subscribe)稱作consumer。SparkStreaming 是一個對實時數據流進行高通量、容錯處理的流式處理系統,對Kafka消息進行操作處理,并將結果保存到HBASE數據庫。其代碼實現如下:
3.2 非關系型數據庫技術
系統采用非關系型數據庫HBase實現,替換原有的關系型數據庫Oracle或sqlserver,使用NoSQL數據庫,NoSQL數據庫讀寫性能高,其簡單的數據機構和數據無關系性使其優勢在大數據量下更能體現,NoSQL的Cache是記錄級的,是一種細粒度的Cache。同時NoSQL具有靈活的數據模型,數據字段和格式能夠隨時靈活地添加和修改,為大數據在Web上的應用提供便利。數據庫查詢采用Phoenix,Phoenix是HBase的SQL驅動,Phoenix使得HBase支持通過JDBC的方式進行訪問,將SQL查詢轉換為一個或多個HBase scan,并編排執行以生成標準的JDBC結果集。其代碼實現如下:
INCLUDEPICTURE "../../../Users/x1/AppData/Roaming/Tencent/QQTempSys/%25W@GJ$ACOF(TYDYECOKVDYB.png" \* MERGEFORMAT
選取開源框架Spark進行性能測試,在測試機上搭建測試環境。從CIMISS數據庫導出長江流域范圍區域站3個月數據到內存數據庫中,對數據讀取檢索時間進行測試,為系統技術路線提供理論依據。分別查詢CIMISS的ORACLE數據庫和Spark內存數據庫進行測試,其中CIMISS數據庫是建站以來的所有數據,Spark內存數據庫是三個月的長江流域范圍區域站數據,排除數據庫數據量的差異的影響,內存數據庫在檢索時間上是可以滿足要求的,具體結果表1所示。
4 其他改進技術
4.1 基于文件夾監控的信息獲取
基于文件夾監控的方式相對解析日志的方式有簡單、穩定、及時、可調式性好等優點。現有的基于java實現的文件監聽主要有兩種方式:(1)線程輪詢掃描。其優點是純java實現,完美跨平臺,缺點是監聽文件較多時,需要掃描的量太大;響應不是非常及時,依賴于掃描間隔時間。(2)文件鉤子。其優點是事件驅動方式無目錄掃描,缺點是跟平臺相關。系統涉及數據量較大,如果采用線程輪詢掃描模式掃描量大,響應不及時,難滿足實時性高的要求,故采用文件鉤子的方式實現對文件夾的監控。我們采用基于Jnotify開發包,實現了包括windows、linux、maxos各大平臺的處理,開發時只需要使用其提供的對應平臺的組件即可輕松實現文件夾監控。
4.2 緩存及分級顯示策略
針對經常被提及的在WEBGIS上同時顯示所有區域站比較緩慢的問題,本系統采用了緩存及分級顯示策略。首先針對cimiss查詢可能出現緩慢的情況,增加了一個緩存,定時獲取5分鐘數據。每次請求從緩存中獲取區域站的數據,這樣可以將時間降至毫秒級。其次,在瀏覽器繪制站點圖像的時候首次僅繪制3000/n站(繪制1000站的時間大約在1秒內),當n=3時用戶基本上可以在1秒內看到區域站繪制完畢。用戶放大地圖層級時增加繪制剩余3000/n站。n 越大顯示速度越快,而需要拖放的級數越多,我們認為對于內網系統,當n=3時用戶體驗效果最佳。
4.3 CIMISS實況數據采集實現
在信息顯示等需要查詢氣象數據資料的模塊中,主要通過CIMISS通用接口的方式獲取資料。按照松耦合和模塊化設計,系統對CIMISS的接口調用進行了封裝,具體實現方式如:通過JAVA客戶端模式進行調用,通過接口DataQueryClient.callAPI_to_serial- izedStr 獲取返回類型為JSON格式的數據,然后將JSON格式轉換為系統自定義的序列化格式,調用代碼如下所示:
INCLUDEPICTURE "../../../Users/x1/AppData/Roaming/Tencent/QQTempSys/%25W@GJ$ACOF(TYDYECOKVDYB.png" \* MERGEFORMAT
5 結語
湖北氣象業務內網在CIMISS的基礎上結合SPARK技術,滿足長江流域氣象中心的實時氣象信息業務的需求。系統在湖北省各級氣象部門投入業務試運行,實現了運行監控、業務管理、信息顯示、共享服務、綜合管理、網站管理等功能,湖北省自動氣象站數據顯示模塊與原有業務系統相比增加了常用氣象要素,顯示速度有明顯提升,運行效果良好。
參考文獻
[1] 王宏記,楊代才.基于CIMISS的長江流域氣象水文信息共享系統設計與實現研究[J].安徽農業科學,2014(32):11565-11570.
[2] 楊代才,王海軍,龔賢創.長江流域氣象中心實時資料共享平臺設計與開發[A].2011年中國氣象學會氣象通信與信息技術委員會暨國家氣象信息中心科技年會[C].2011年.
[3] 謝博文,黃小妹,覃信賢.氣象信息共享平臺的構建及其實現研究[J].科教導刊(中旬刊),2012(7):251-252.
[4] 王宏記,王海軍,曾又枝,等.省級氣象信息綜合數據庫系統的設計與實現[J].暴雨災害,2008(3):283-286.
[5] 王旻燕,鄧莉,趙芳,等.CIMISS中氣象衛星數據存儲和服務模型[J].安徽農業科學,2012(8):4785-4789.
[6] 王國復,李集明,鄧莉,等.中國氣象科學數據共享服務網總體設計與建設[J].應用氣象學報,2004(S1):10-16.
[7] 李集明,沈文海,王國復.氣象信息共享平臺及其關鍵技術研究[J].應用氣象學報,2006(5):621-628.
[8] 李集明,熊安元.氣象科學數據共享系統研究綜述[J].應用氣象學報,2004(S1):1-9.
[9] 覃天信,黃福瑩,李漫霜.廣西氣象臺業務數據庫系統簡介[J].廣西氣象,2001(4):43-44
[10] 易烈剛,楊溢,范元品.基于Internet的氣象實時資料查詢系統[J].貴州氣象,2003(3):39-41.
[11] 王宏偉,方群,陳偉.基于內存數據庫的OPC監測系統的設計與實現[J].計算機技術與發展,2013(7):242-244+248.
收稿日期:2020-08-31
*基金項目:湖北省氣象局科技發展基金重點項目(2018Z09、2020Z07)
作者簡介:張冰松(1989—),女,吉林四平人,碩士,工程師,研究方向:氣象信息技術。
Design and Development of Hubei Meteorological Information Service Network Based on Big Data Framework
ZHANG Bin-song, WANG Fan, WANG Ya-xin, YANG Dai-cai
(Meteorological Information and Technology Support Center of Hubei Province,Wuhan Hubei? 430074)
Abstract: Analysis of the present Hubei Meteorological information service network of continuous development and improvement, points out the problems existing in Hubei Meteorological information service network construction, pointed out design requirements, design objective and technical route, illustrates the system overall structure and function, the whole data flow, system structure, big data application framework and other optimization measures.
Key words:HBASE; meteorological; service system