趙玉娟,姜罕盛,李宗飛,王 琪,陳凱華,王 藝
(天津市氣象信息中心 天津 300074)
為推動氣象數據資源整合共享、促進氣象業務集約化發展,中國氣象局研發了“數算一體”的氣象大數據云平臺(簡稱“天擎”)[1-2],并在國、省兩級部署應用。智能網格預報數據時空分辨率高、要素多[3-4],是開展氣象服務的重要基礎數據之一,天津市氣象局在該數據的存儲服務方面仍存在訪問控制不足、服務穩定性不高等問題?;谔烨鎸崿F該數據的存儲共享是提升其共享服務能力的有效途徑,目前智能網格預報數據研究多集中在可視化、監控等方面[5-6]。鑒于天擎的共享研究未見報道。立足于上述背景,本文設計實現了基于天擎的存儲共享方案,文中對相關設計進行了介紹。
天擎由交換及質控、產品加工、存儲與服務等系統構成,承擔數據接入、產品加工及存儲服務,底層存儲包括結構化數據庫、文件索引庫、文件NAS等多種類型。
本文擬建立的基于天擎的智能網格預報數據存儲共享服務架構如圖1所示。存儲層基于天擎文件索引庫和文件NAS構建,實現智能網格預報數據文件及接口訪問相關元數據存儲,相關數據通過接口寫入存儲層;數據管理層按業務需求進行資料編碼、數據存儲結構和存儲策略管理,基于天擎Portal、公共元數據管理系統和存儲管理系統實現;接口層為應用提供數據讀、寫接口并實現數據訪問的用戶認證、訪問控制、行為記錄等功能,基于天擎的接口服務系統(MUSIC)構建定制接口實現;應用層為讀寫智能網格預報數據的各類系統和用戶。

圖1 基于天擎的智能網格預報數據共享服務架構 Fig.1 Intelligent grid forecast data sharing service architecture based on Sky Engine
NectCDF格式是一種面向數組型數據,適于網絡共享的數據描述和編碼標準,每個NectCDF文件(簡稱NC文件)由維、變量和屬性、數據構成[7-8],支持多維數據存儲。天津智能網格預報包括各種天氣現象的定性預報及降水、氣溫等13種要素的定量預報,每次發布未來10 d預報,0~3 d、4~10 d預報時空分辨率分別為1 h、1 km和3 h、5 km,天津地區單要素未來10 d格點預報值近235萬個。各要素預報均具備時間、經度、緯度屬性,未來N個時間單要素預報可抽象為X×Y×Z的三維數組。NC文件可支持此類數據存儲,且對于NC文件,通過設計文件元數據,可基于MUSIC構建數據級訪問接口。因此,本文采用NC文件將智能網格預報數據存入天擎存儲,針對其特點,將每次發布的預報按要素、時空分辨率存儲為不同NC文件,各類文件按制作單位、要素、發布時間等屬性分目錄存儲。
按照全國精細化預報業務要求,需存儲3~5年的智能網格預報數據,以便回算檢驗。天津天擎基于X86服務器,按照氣象應用特征,構建了規模近3 PB的分布式數據存儲環境,包括虛谷分布式關系型數據庫、分布式分析型數據庫Gbase8a和分布式NAS。智能網格預報數據接口服務相關文件元數據屬于結構化數據,采用虛谷數據庫存儲。分布式NAS適合文件級數據存儲,響應速度快,采用存儲NC格式智 能網格預報數據文件可滿足存儲5年以上產品的 需求。
MUSIC是天擎為應用訪問數據提供的接口服務系統,利用集群服務、通過主備網關實現用戶認證、流量控制、負載均衡等功能,可在接口調用方法、參數等方面采用統一標準,支持設置IP白名單,對接口訪問行為有完備記錄,提供多種調用方式,可按需配置新接口。本文按照MUSIC規范,結合天津智能網格預報數據特點及訪問需求,設計了接口訪問元數據,構建了文件級、數據級兩類11種讀接口和4種文件級寫接口。接口訪問元數據設計如下。
①文件元數據:設計了時間、預報要素、預報時效、存儲路徑等與數據定位、下載相關的信息,并定義了文件格式、預報區域等信息為應用提供支撐,智能網格預報數據文件元數據關鍵字段設計如表1所示,字段命名參照QX/T 133—2011氣象要素分類與編碼和云平臺規范。

表1 智能網格預報數據文件元數據關鍵字段設計 Tab.1 Design of metadata key fields of intelligent grid forecast data file
②存儲路徑元數據:支撐寫接口按存儲規范創建目錄并將文件存儲到對應目錄,包括根路徑和子目錄兩部分,分別對應存儲路徑固定和動態信息,子目錄基于文件元數據字段組合定義,本文設計的智能網格預報數據的存儲路徑元數據為:

③格點檢索元數據:點、線、面類型數據級讀接口功能支撐數據,包括基本屬性和要素屬性?;緦傩远x數據的資料代碼及要素、經緯度、時效字段;要素屬性定義解析NC文件所需的要素代碼、要素名稱、時次、空間分辨率、層次轉換因子等信息。針對天津智能網格預報數據同類要素在不同預報時效存在多種時空分辨率的特點,采取一種預報要素定義多條文件元數據和格點檢索元數據的方式實現數據正確解析。
接口方面,設計了支持按時間點、時間段獲取一個、多個要素預報文件的4類接口;設計了支持按時間、要素、經緯度、預報時效、站號為條件的4類數據級訪問接口,可滿足業務中獲取某個位置特定時間、 某個區域特定時間、某個站點特定時間段某要素預報等需求;針對增、刪、改數據需求設計了4類寫接口。 接口具有高內聚、低耦合特性[9],智能網格預報數據由預報員主觀制作,制作頻率低,文件小,采用接口寫入方式可滿足業務時效要求,且對應用端有效屏蔽了底層存儲結構,故采用接口方式寫入天擎存儲。數據寫入功能模塊利用Spring Boot框架開發,通過SDK方式調用本文構建寫入接口實現,發布成REST接口為應用端服務。
本文設計方案于2021年在天津市氣象局投入應用,預報一體化平臺通過接口方式將實時預報數據寫入天津天擎存儲,市、區兩級的氣象業務系統和用戶,可按需調用讀接口獲取預報文件及格點場數據。智能網格預報數據服務方式更豐富、服務穩定性和效率更高,為市區兩級開展氣象服務提供了更高效、有力的支撐,也為其他省市級氣象部門基于天擎優化本地特色數據存儲和共享服務提供了借鑒和參考。下一步將圍繞本省氣象數據管理和服務需求繼續開展其他數據融入天擎的研究。