



摘要:隨著信息化的不斷發展,高效利用氣象數據已經成為氣象業務工作的重點任務。為了實現對江西省2566個地面氣象自動觀測站數據質量的監控與分析,本文介紹了一個基于云平臺的地面氣象自動站數據質量統計分析系統。該系統利用云計算技術,能夠進行大規模的自動站數據質量統計分析。此外,該系統的設計還充分利用了數據管道技術,實現了自動化操作。通過實施該系統,顯著提升了氣象數據的利用水平。
關鍵詞:氣象;云計算;云平臺;大數據;數據管道
一、引言
隨著對氣象業務數字化、智能化、網格化的改造和提升,氣象數據的規模、復雜度、多樣性和實時性也呈現出爆炸式增長的趨勢[1,2]。氣象觀測網絡的分層分布和地域分布廣泛,氣象數據涉及時間、空間、要素、來源等多個維度,因此,氣象數據處理面臨著數據量大、數據質量不一、數據分散分布和處理復雜度高的挑戰[3]。其中,氣象地面觀測數據作為規模最大、要素最全的基礎氣象數據,存在數據質量不穩定、數據異常、數據缺失等問題,需要進行質量控制和校驗。這對氣象數據的管理、分析和利用提出了極大的挑戰[4-6]。
近年來云服務發展迅速,云計算服務平臺提供了規范化的基礎數據支撐框架,實現了從網絡、計算到存儲等資源集約化的功能,有效提升資源利用率及響應效率[7]。基于云平臺技術集中開發互聯網氣象數據接口服務,可有效地實現數據共享,消除網絡壁壘[8]。
本文設計了一個基于云平臺的地面氣象自動站數據質量統計分析系統(以下簡稱:統計分析系統),可以有效地對氣象自動站觀測數據進行質量統計和分析。該系統采用云計算技術,實現了大規模氣象數據的自動整合、存儲、處理,以提供高度精確的氣象數據質量情況報告,支持用戶的決策制定。此外,本系統充分利用了數據管道的優勢,實現了自動化數據提取、轉換、合并和驗證等操作的自動化和可視化,確保了系統運行的便利性。通過實施本系統,顯著提高了氣象數據的質量和服務的水平,為氣象預報、觀測業務和科學研究提供了有力支撐。本文將詳細介紹該系統的設計原理、架構、功能和實現方法,并通過實驗驗證其有效性和優越性。
二、系統設計
(一)基于云平臺的系統架構設計
統計分析系統的所有模塊都實現在云平臺上,包括數據輸入、數據計算和數據輸出三部分。其中,數據輸入功能主要由參數采集模塊負責,數據計算功能由微服務模塊執行,數據輸出功能使用數據分發模塊實現。其中,數據計算模塊負責鏈接數據庫、模板庫和文件庫,并負責這些數據的讀取和修改操作。數據輸入、數據計算和數據輸出之間通過數據管道相互連接。實現了數據的快速和高效處理,并增強了系統的穩健性??傮w系統架構圖如圖1所示。
1.參數采集模塊
參數采集模塊在統計分析系統的數據輸入階段扮演著關鍵角色,是整個系統的數據前沿,它負責與各種氣象數據源進行接口和通信,從而實現數據的自動或半自動采集。
為了處理多種來源和格式的氣象數據,參數采集模塊結合了Python的多功能庫和工具,如Pandas和Numpy,來實現數據的處理和轉換。為了統一處理,需要實現數據的初步清洗、格式化和轉換。通過對原始數據的預處理,可以確保后續模塊能夠順利地進行數據計算和分析。
2. 微服務模塊
微服務上的數據計算模塊是統計分析系統核心智能部分的基礎,它采用了Python作為主要的開發語言。微服務架構基于Flask框架,將氣象數據的處理任務分解成多個獨立模塊。本系統中的微服務包括數據質量評估、異常檢測、數據統計、趨勢分析等功能。每個微服務負責一個特定的任務,但又可以相互配合,形成完整的數據處理流程。
每個微服務都被封裝為獨立的Flask應用,可以通過POST方法與前端或其他微服務交互,實現數據的傳輸和響應。這些微服務專注于特定的數據處理任務,例如氣象數據質量評估、異常檢測、趨勢分析等。本系統選擇Flask作為微服務后端,與其他微服務后端相比,Flask可以很好地滿足輕量化快速迭代的需求。
由于每個微服務都獨立工作,它們之間可以高度并行,使得多個微服務能夠同時處理不同的數據任務,從而提高了系統的響應速度和處理能力。此外,通過設計一個高效的Pipeline,微服務之間可以協作處理數據,數據在多個處理階段中流動,從而實現復雜的數據處理任務。數據計算模塊還負責與核心數據存儲資源的連接和管理,確保與數據庫、模板庫和文件庫的穩定和高效連接。
數據庫鏈接通過python的數據庫連接庫實現,系統可以方便地連接到不同的數據庫管理系統,并確保數據的安全存儲。模板庫鏈接幫助系統在數據分析和評估時,能夠參照預定義的模板和規則,保證數據處理的標準化和一致性。文件庫鏈接則確保系統能夠訪問所有關鍵的文件資源,包括配置文件、模型參數文件等。
3.數據分發模塊
數據分發模塊作為統計分析系統的輸出階段,負責將經過評估和修復的氣象數據傳遞給各級氣象部門和其他應用系統。該模塊采用了分布式文件分發站點,以確保數據的安全性、可靠性和高效性。數據可以在用戶下載前暫存在文件庫中,滿足不同用戶和系統的需求。此外,數據分發模塊還支持數據存檔和數據備份,以應對意外情況和數據丟失風險,確保數據的可用性和持久性。
(二) 統計分析流程
統計分析流程包括五個主要步驟:處理輸入、數據庫鏈接、預處理、數據計算和后處理。這些步驟的協同操作確保了統計分析系統能夠高效準確地統計氣象數據。這不僅提升了數據的可信度和實用性,并為氣象領域的決策制定和研究工作提供了有力的支持。統計分析流程圖如圖2所示。
系統首先確定要統計的氣象數據的時間范圍,通過與參數采集模塊合作,從各個數據源獲取氣象數據的時間戳。接著,系統獲取最新的氣象數據,確保統計基于最新的信息。棄用站點表是一個核心資源,由氣象專家維護,用于識別統計時應排除的含問題或不可靠數據的站點。
系統連接數據庫以檢索歷史氣象數據,并與最新數據對比,進而檢測異?;蝈e誤數據。在數據獲取過程中,系統采用了多種安全機制以確保數據的安全性和完整性。首先,采用了安全的傳輸層協議,以加密的方式進行數據傳輸,防止在數據傳輸過程中遭受攻擊或竊取。其次,系統會對數據庫進行定期的備份,確保數據不會因意外而丟失。此外,設置權限和認證機制,進一步提高了數據安全性。
在預處理階段,系統檢測并刪除錯誤的數據點,利用算法來識別異常值。如果系統識別到錯誤,會嘗試更新數據。數據正確性的驗證是此步驟的關鍵,保證了數據的一致性。系統將會從給定的數據結構中提取關鍵的統計數據,并將其轉化為字典形式的集合。該服務將計算數據,并識別出低于特定閾值的站點。在預處理階段,系統首先會計算平均數據可用率。接著,識別低于閾值的觀測站,并從相關表格中提取站名和區站號進行合并。最終,對低于指定閾值的觀測站按城市進行分組和計數篩選。
數據計算模塊利用微服務調用算法來計算各氣象站點的數據質量和準確性。采用遠程服務和自動化流程進行數據采集和管理。在對遠程監控站點的數據進行質量檢查時,系統使用了Python的內部庫 Requests,結合HTTP會話管理和數據文件持久化技術,從特定URL獲取和導出數據到表文件中。
為了處理不同時間尺度的數據格式,系統構建時間對象。該對象提供了從給定日期回溯特定的月數來生成開始和結束日期的功能。之后使用Requests創建會話,該會話將會自動登錄到遠程系統,查詢和下載數據,同時確保了持續的認證和狀態持久性。下載的數據通過二進制形式寫入指定的Excel文件中,并存儲到文件庫中,從而實現數據的持久化。
統計分析的后處理系統生成易于閱讀的表格來展示統計結果,報告中包含唯一標識符,方便用戶追蹤歷史任務。系統能生成圖表可視化氣象數據變化。使用Python-docx庫,數據從Python轉為Word文檔。Plot_df服務將數據幀轉為Word表格,Addh、Addp、Addtz為文檔添加段落和標題。Change_Str服務基于數字生成描述字符串,Element和Attribute創建XML元素,Add_Page添加頁碼。Pd_to_doc為主服務,用于創建完整的Word文檔。系統結合這些函數生成格式化報告。
三、系統實現與測試
為了確保統計分析系統有效地處理大規模數據集,本文對系統的處理能力進行了詳細評估。評估所使用的數據集是基于江西氣象實時數據,涵蓋了93個國家級自動觀測站、287個國家級天氣站以及2186個省級自動站的地面小時觀測數據。
處理時間測試主要評估方法是計算每個模塊從啟動到完成的耗時。為了保證評估的準確性,每個模塊均進行了100次重復測試,從中獲取其響應時間和運行時間。表1展示了時間測試數據。
接口的穩定性是衡量系統可靠性的關鍵指標。這里隨機發起1000次接口調用,以下表格2列出了三種主要接口:數據輸入接口、數據計算接口和數據分發接口的成功與失敗次數。
四、結束語
本文設計并實施了一種基于云平臺的地面氣象自動站數據質量統計分析系統。該系統整合了云計算、數據管道技術和微服務架構,有效地處理了氣象數據的復雜性、分散性和海量性問題。三個核心模塊:參數采集、數據計算和數據分發,確保了從數據獲取到最終輸出的全過程高效、準確。通過江西省的實際氣象數據測試,系統表現出了高效和穩定的性能??傮w來說,該系統為氣象業務工作提供了強大的氣象數據質量統計工具,顯著提升了大規模氣象數據的處理和利用效率,并為氣象決策和科研提供了有力的支持。
作者單位:左羽霄 戴華玲 王迎 周曉香 熊虹華
江西省氣象數據中心
參考文獻
[1]許竹霞, 張春燕, 徐娟. 甘肅省氣象大數據云平臺的存儲與服務系統設計[J]. 信息技術與信息化, 2022(2): 53-57.
[2]王雙雙, 杜建華, 王立俊, 等. 基于氣象大數據云平臺的海南氣象數據共享平臺設計與實現[J/OL]. 計算機測量與控制, 2022, 30(10): 222-226+232.
[3]尤嘉鋮. 基于大數據分析的氣象觀測數據質量控制算法研究[J/OL]. 電子設計工程, 2022, 30(11): 103-107.
[4]林松, 張華琳. 氣象資料業務系統操作平臺省級數據質量控制分析[J]. 海峽科學, 2022(8): 94-97+113.
[5]王婧, 李衣長, 葉凌鋒. 基于LightGBM的氣象數據質量控制方法研究[J]. 海峽科學, 2022(7): 40-45.
[6]段文廣, 范飛勇, 劉燕, 等. 智慧氣象服務融入智慧城市時空信息云平臺的思考與探索[J]. 氣象科技進展, 2021, 11(6): 71-73.
[7]韓同欣, 何文春, 吳鵬, 等. 氣象基礎設施云平臺關鍵設計與實現[J/OL]. 氣象科技, 2022, 50(2): 290-296. [8].朱君, 王浩, 蒲曉虎, 等. 重慶氣象大數據平臺設計[J/OL]. 自動化與儀器儀表, 2021(3): 108-110.