陳晴,陳曄峰,王俊驕,徐海明,高婷,楊明,洪月英
(1.浙江省氣象信息網絡中心,杭州310017;2.杭州市氣象局,杭州310000)
隨著氣象數據數量的增大,傳統的氣象數據存儲方式在實時大數據存儲、實時處理、響應時間等方面提出了很大的挑戰,氣象數據要在高并發情況下高速存儲,同時還需要在毫秒級的時間內提供數據產品服務,傳統的氣象數據存儲處理方式已滿足不了大數據的業務服務需求。因此,探討如何提高大數據存儲的性能;如何建立靈活、穩定、可用的數據存儲服務是亟需解決的問題[1-2]。
風廓線雷達數據對氣象預報具有很重要的價值,數據具有體量巨大,需要錄入數據的雷達包括本省的7部與全國范圍內的90部雷達資料,每部雷達近6分鐘產生一個文件,一天近一百四五十萬條左右。而且數據響應速度要求快等特點,傳統的數據存儲模式難以適應氣象大數據的需求。
本文旨在結合風廓線雷達數據的特點,基于分布式數據存儲技術,開展大數據環境下風廓線雷達數據的準確、高效、快速訪問,規范業務流程,實現風廓線雷達數據的分布式存儲,為應用提供數據支撐。
分廓線雷達數據屬于結構化數據,結構化數據采用分布式關系型數據庫存儲,獲取低延遲與高并發吞吐能力。分布式關系型數據庫采用傳統的表-字段形式存儲,將數據表水平拆分到后端的每個分數據庫的分表中,分布式關系型數據庫中由每個分庫負責每一份數據的讀寫操作,從而有效地分散了整體的訪問壓力,提高了大型數據的訪問效率[3-5]。數據的分布式云存儲采用了分庫分表技術,見圖1。

圖1 分布式云存儲實現技術
通過梳理風廓線雷達數據資源,以支撐氣象數據預報、科研應用需求為目標,參照CIMISS系統數據存儲規范的標準,建立風闊線雷達數據的云數據存儲標準規范,見圖2。

圖2 風廓線雷達數據云存儲標準規范
考慮到氣象數據自身的特點以及氣象應用程序能夠快速地獲取數據,氣象云存儲中,實時與歷史數據是一體化的,因此數據量極為龐大。傳統的關系型數據庫存儲管理系統可以滿足數據的一致性和可用性,在小規模數據量時可以達到很好的效應,隨著數據量與應用范圍的增長導致節點增加,需要考慮數據同步和分區失敗等開銷,性能會快速下降,因此數據分布式存儲是必然選擇[1,6]。
開展分布式云存儲技術研究,結合風廓線雷達數據的特點制定相關策略,對分布式云存儲數據庫按站號分庫,按資料時間分表。通過將數據表水平拆分到后端的每個分數據庫的分表中,分散了整體的訪問壓力,利用分布式特性,并行訪問,取高并發吞吐能力,提高數據的訪問效率。將數據同步到分布式云存儲中。
對大數據環境下數據的完整性進行檢驗,提高數據的正確性、有效性和一致性。
驗證方法:將云存儲數據中的數據與傳統數據庫中的數據作對比檢測缺測數據,根據數據的時間屬性,以行為單位進行檢測,缺測數據包括兩種情況:①數據的時次缺;②數據的要素缺。對于缺測數據,讀取原文件,將數據補入。
驗證頻率:每小時對云存儲中的數據驗證一次。

圖3 風廓線雷達數據的云存儲表
根據應用場景的不同,對數據分別按照時間尺度,空間尺度的不同獲取樣本,在網絡環境和存儲數據量等測試環境相同情況下,分別調用分布式云存儲和SQL Server數據庫中的樣本數據獲取查詢時間,在剔除異常值后采用多次取樣求平均的方法對兩種數據環境下調用樣本數據的時間進行對比。
時間尺度取樣數據:采用單站的任意高度多個時間的垂直剖面的數據進行測試。

圖4 云平臺可視化組件及應用

圖5 時間尺度樣本統計分析結果
空間尺度取樣數據:采用多個站點一段時間內不同高度場的數據進行測試。

圖6 空間尺度樣本統計分析結果
結論:在網絡狀態相同情況下,對分布式云存儲與SQL Server數據庫兩種數據環境調用數據所耗的時間進行測試對比,結果顯示分布式云存儲中數據讀取性能較SQL Server數據庫中數據讀取性能有了比較大的提升。
本文設計和實現了風廓線雷達數據的分布式云存儲,結合數據的特點制定分布式云存儲策略,對云存儲數據庫分庫分表,分散了整體的訪問壓力,利用分布式特性,并行訪問,獲取低延遲與高并發吞吐能力,提高數據的訪問效率。對大數據環境下數據的完整性檢驗,提高數據的正確性、有效性和一致性。研究成果通過浙江氣象云大數據平臺的數據服務接口為本地化氣象業務應用提供數據支撐。