徐 娟,劉 洋,王旭東,張衛衛
(甘肅省氣象信息與技術裝備保障中心,甘肅 蘭州 730020)
全國綜合氣象信息共享系統(China Integrated Meteorological Information Service System,CIMISS)在國家級和31個省(市、區)的氣象數據中心建成并投入業務運行[1],該系統由數據收集與分發系統(CTS)、數據加工處理系統(DPC)、數據存儲管理系統(SOD)、數據共享服務系統(GDS)和業務監控系統(MCP)5個業務子系統組成,分別承擔數據收集、加工處理、存儲管理、共享服務和業務監控任務[2]。氣象數據種類豐富,按照氣象數據標準解碼入庫的氣象資料共計14 大類300 余種,CIMISS 管理的所有資料,均可通過CIMISS 的氣象數據統一服務接口(Meteorological Unified Service Interface Community,MUSIC)提供服務。服務接口實現了前端應用與后端復雜異構數據管理技術的分離,解決了應用系統需要根據后端數據組織方式甚至格式變化而頻繁升級改造的問題[3]。
隨著氣象數據觀測頻次的不斷增高、加工產品的內容和數量不斷豐富以及業務系統對數據訪問時效的需求提高,基于傳統信息技術構建的CIMISS 系統在規模、性能和應用支撐能力方面顯得不足[4-5]。
2020—2021年氣象大數據云平臺“天擎”(簡稱“天擎”)完成全國規劃和部署,目前已進入業務試運行。在“天擎”正式業務運行之前,仍保持CIMISS 全流程正常運行,只是新增氣象資料只對接“天擎”系統而不接入CIMISS,那么,為保障原接口用戶對既有和新增氣象數據的訪問服務,部署了兼容版氣象數據統一服務接口系統(簡稱兼容版接口)。
兼容版接口系統利舊CIMISS 的4 臺接口應用服務器搭載包括服務接口服務端、服務接口客戶端、Redis緩存服務、web 訪問服務、日志管理服務和監控服務等在內的應用服務,由深信服AD 負載均衡設備提供HTTP 服務和TCP 服務,負載均衡采用路由模式進行部署,所有流量都經過負載均衡,可均衡任何下行流量,并盡量小地影響原有網絡結構[3]。
系統在功能應用上與MUSIC 基本相同,元數據庫部署在“天擎”云數據庫中,復用MUSIC 元數據庫表和信息,增加與“天擎”數據庫相關表信息和字段,并在“天擎”結構化數據庫和文件索引庫中建立接口資料檢索所需視圖。兼容版接口和MUSIC 的切換示意圖如圖1所示。

圖1 兼容版接口和MUSIC 的切換示意圖
兼容版接口是一個可進行數據源切換和應急回退的氣象數據統一服務接口系統。數據源包括原CIMISS系統的基礎庫(BDB)和氣象大數據云平臺的服務庫(STDB)、歷史分析庫(HADB)和文件索引庫(FIDB)。服務庫指數據服務庫(Station Database),提供包括地面、高空、海洋、農氣、輻射、大氣成分等在內的通過解碼后按照要素存入的結構化氣象數據1個月以內時間段的數據訪問,歷史分析庫(History Analysis Database)提供服務庫中結構化數據1個月之前時間范圍的結構化氣象數據存儲和訪問服務,文件索引庫(File Index Database)存儲不需要解析文件內容,只在文件名中提取索引信息存入文件索引庫,而把文件實體存入分布式NAS 或者Cassandra 數據庫的非結構化氣象數據。用戶通過多種方式調用接口數據,服務端在對調用的合法性檢查確認后,從數據庫獲取數據,封裝成用戶所需的格式返回,并在日志表中對請求過程進行記錄。
目前“天擎”系統尚處于試運行階段,程序升級更新較為頻繁,當“天擎”的解碼入庫(DPC)、數據存儲(SOD)或MUSIC 兼容版出現系統性故障時,會導致部分接口氣象數據服務異常,由于氣象服務的高時效性要求,故障不允許持續較長時間,此時CIMISS基礎庫和MUSIC 系統作為備用方案便可發揮其應急作用。
非兼容版接口系統性故障造成的數據服務異常,只需將接口訪問的數據實體切換至CIMISS,對時間規整類、衛星重命名類、數值預報類等3 類資料,除進行數據源切換外,還需要對元數據進行針對性的切換。兼容版接口發生系統性故障時首先停止兼容版接口應用服務,其次將負載均衡配置切回MUSIC,再次啟用MUSIC 應用服務,最后通過web 接口調用進行驗證。
兼容版接口提供了包括客戶端調用、Web service、REST 服務和腳本服務等多種氣象數據獲取方式,既能滿足業務開發大數據量數據的穩定傳輸和高效獲取,又能為前臺交互應用提供便捷的編程體驗,還能為廣大氣象科研人員提供友好便捷的非編程數據獲取服務。兼容版接口支持跨平臺多語言的開發,Web service、REST 服務支持所有平臺和語言,客戶端調用服務和腳本服務支持包括Linux、Windows 等主流操作系統,并且兼容版接口提供包括C#、Java、C/C++、Fortran、Python 等語言的SDK。兼容版接口調用數據的返回格式支持內存對象、序列化字符串、數據文件等,用戶選擇合適的接口、資料和返回格式并依照接口提供的氣象數據標準調用方法,便能獲取所需的氣象數據。接口調用氣象數據的流程大致如圖2所示。

圖2 氣象數據接口調用流程
通過負載均衡配置更改和不同賬戶的應用啟停可實現MUSIC 兼容版接口系統的切換,在氣象數據服務異常時還可采用應急回退的方式將應用切回MUSIC。兼容版接口可實現用戶接口訪問數據源新舊系統數據庫間的切換,是新舊業務系統并行期間數據訪問服務的重要保障。