徐 娟,劉 洋,王旭東,張衛(wèi)衛(wèi)
(甘肅省氣象信息與技術(shù)裝備保障中心,甘肅 蘭州 730020)
全國(guó)綜合氣象信息共享系統(tǒng)(China Integrated Meteorological Information Service System,CIMISS)在國(guó)家級(jí)和31個(gè)?。ㄊ?、區(qū))的氣象數(shù)據(jù)中心建成并投入業(yè)務(wù)運(yùn)行[1],該系統(tǒng)由數(shù)據(jù)收集與分發(fā)系統(tǒng)(CTS)、數(shù)據(jù)加工處理系統(tǒng)(DPC)、數(shù)據(jù)存儲(chǔ)管理系統(tǒng)(SOD)、數(shù)據(jù)共享服務(wù)系統(tǒng)(GDS)和業(yè)務(wù)監(jiān)控系統(tǒng)(MCP)5個(gè)業(yè)務(wù)子系統(tǒng)組成,分別承擔(dān)數(shù)據(jù)收集、加工處理、存儲(chǔ)管理、共享服務(wù)和業(yè)務(wù)監(jiān)控任務(wù)[2]。氣象數(shù)據(jù)種類豐富,按照氣象數(shù)據(jù)標(biāo)準(zhǔn)解碼入庫(kù)的氣象資料共計(jì)14 大類300 余種,CIMISS 管理的所有資料,均可通過CIMISS 的氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(Meteorological Unified Service Interface Community,MUSIC)提供服務(wù)。服務(wù)接口實(shí)現(xiàn)了前端應(yīng)用與后端復(fù)雜異構(gòu)數(shù)據(jù)管理技術(shù)的分離,解決了應(yīng)用系統(tǒng)需要根據(jù)后端數(shù)據(jù)組織方式甚至格式變化而頻繁升級(jí)改造的問題[3]。
隨著氣象數(shù)據(jù)觀測(cè)頻次的不斷增高、加工產(chǎn)品的內(nèi)容和數(shù)量不斷豐富以及業(yè)務(wù)系統(tǒng)對(duì)數(shù)據(jù)訪問時(shí)效的需求提高,基于傳統(tǒng)信息技術(shù)構(gòu)建的CIMISS 系統(tǒng)在規(guī)模、性能和應(yīng)用支撐能力方面顯得不足[4-5]。
2020—2021年氣象大數(shù)據(jù)云平臺(tái)“天擎”(簡(jiǎn)稱“天擎”)完成全國(guó)規(guī)劃和部署,目前已進(jìn)入業(yè)務(wù)試運(yùn)行。在“天擎”正式業(yè)務(wù)運(yùn)行之前,仍保持CIMISS 全流程正常運(yùn)行,只是新增氣象資料只對(duì)接“天擎”系統(tǒng)而不接入CIMISS,那么,為保障原接口用戶對(duì)既有和新增氣象數(shù)據(jù)的訪問服務(wù),部署了兼容版氣象數(shù)據(jù)統(tǒng)一服務(wù)接口系統(tǒng)(簡(jiǎn)稱兼容版接口)。
兼容版接口系統(tǒng)利舊CIMISS 的4 臺(tái)接口應(yīng)用服務(wù)器搭載包括服務(wù)接口服務(wù)端、服務(wù)接口客戶端、Redis緩存服務(wù)、web 訪問服務(wù)、日志管理服務(wù)和監(jiān)控服務(wù)等在內(nèi)的應(yīng)用服務(wù),由深信服AD 負(fù)載均衡設(shè)備提供HTTP 服務(wù)和TCP 服務(wù),負(fù)載均衡采用路由模式進(jìn)行部署,所有流量都經(jīng)過負(fù)載均衡,可均衡任何下行流量,并盡量小地影響原有網(wǎng)絡(luò)結(jié)構(gòu)[3]。
系統(tǒng)在功能應(yīng)用上與MUSIC 基本相同,元數(shù)據(jù)庫(kù)部署在“天擎”云數(shù)據(jù)庫(kù)中,復(fù)用MUSIC 元數(shù)據(jù)庫(kù)表和信息,增加與“天擎”數(shù)據(jù)庫(kù)相關(guān)表信息和字段,并在“天擎”結(jié)構(gòu)化數(shù)據(jù)庫(kù)和文件索引庫(kù)中建立接口資料檢索所需視圖。兼容版接口和MUSIC 的切換示意圖如圖1所示。
圖1 兼容版接口和MUSIC 的切換示意圖
兼容版接口是一個(gè)可進(jìn)行數(shù)據(jù)源切換和應(yīng)急回退的氣象數(shù)據(jù)統(tǒng)一服務(wù)接口系統(tǒng)。數(shù)據(jù)源包括原CIMISS系統(tǒng)的基礎(chǔ)庫(kù)(BDB)和氣象大數(shù)據(jù)云平臺(tái)的服務(wù)庫(kù)(STDB)、歷史分析庫(kù)(HADB)和文件索引庫(kù)(FIDB)。服務(wù)庫(kù)指數(shù)據(jù)服務(wù)庫(kù)(Station Database),提供包括地面、高空、海洋、農(nóng)氣、輻射、大氣成分等在內(nèi)的通過解碼后按照要素存入的結(jié)構(gòu)化氣象數(shù)據(jù)1個(gè)月以內(nèi)時(shí)間段的數(shù)據(jù)訪問,歷史分析庫(kù)(History Analysis Database)提供服務(wù)庫(kù)中結(jié)構(gòu)化數(shù)據(jù)1個(gè)月之前時(shí)間范圍的結(jié)構(gòu)化氣象數(shù)據(jù)存儲(chǔ)和訪問服務(wù),文件索引庫(kù)(File Index Database)存儲(chǔ)不需要解析文件內(nèi)容,只在文件名中提取索引信息存入文件索引庫(kù),而把文件實(shí)體存入分布式NAS 或者Cassandra 數(shù)據(jù)庫(kù)的非結(jié)構(gòu)化氣象數(shù)據(jù)。用戶通過多種方式調(diào)用接口數(shù)據(jù),服務(wù)端在對(duì)調(diào)用的合法性檢查確認(rèn)后,從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),封裝成用戶所需的格式返回,并在日志表中對(duì)請(qǐng)求過程進(jìn)行記錄。
目前“天擎”系統(tǒng)尚處于試運(yùn)行階段,程序升級(jí)更新較為頻繁,當(dāng)“天擎”的解碼入庫(kù)(DPC)、數(shù)據(jù)存儲(chǔ)(SOD)或MUSIC 兼容版出現(xiàn)系統(tǒng)性故障時(shí),會(huì)導(dǎo)致部分接口氣象數(shù)據(jù)服務(wù)異常,由于氣象服務(wù)的高時(shí)效性要求,故障不允許持續(xù)較長(zhǎng)時(shí)間,此時(shí)CIMISS基礎(chǔ)庫(kù)和MUSIC 系統(tǒng)作為備用方案便可發(fā)揮其應(yīng)急作用。
非兼容版接口系統(tǒng)性故障造成的數(shù)據(jù)服務(wù)異常,只需將接口訪問的數(shù)據(jù)實(shí)體切換至CIMISS,對(duì)時(shí)間規(guī)整類、衛(wèi)星重命名類、數(shù)值預(yù)報(bào)類等3 類資料,除進(jìn)行數(shù)據(jù)源切換外,還需要對(duì)元數(shù)據(jù)進(jìn)行針對(duì)性的切換。兼容版接口發(fā)生系統(tǒng)性故障時(shí)首先停止兼容版接口應(yīng)用服務(wù),其次將負(fù)載均衡配置切回MUSIC,再次啟用MUSIC 應(yīng)用服務(wù),最后通過web 接口調(diào)用進(jìn)行驗(yàn)證。
兼容版接口提供了包括客戶端調(diào)用、Web service、REST 服務(wù)和腳本服務(wù)等多種氣象數(shù)據(jù)獲取方式,既能滿足業(yè)務(wù)開發(fā)大數(shù)據(jù)量數(shù)據(jù)的穩(wěn)定傳輸和高效獲取,又能為前臺(tái)交互應(yīng)用提供便捷的編程體驗(yàn),還能為廣大氣象科研人員提供友好便捷的非編程數(shù)據(jù)獲取服務(wù)。兼容版接口支持跨平臺(tái)多語言的開發(fā),Web service、REST 服務(wù)支持所有平臺(tái)和語言,客戶端調(diào)用服務(wù)和腳本服務(wù)支持包括Linux、Windows 等主流操作系統(tǒng),并且兼容版接口提供包括C#、Java、C/C++、Fortran、Python 等語言的SDK。兼容版接口調(diào)用數(shù)據(jù)的返回格式支持內(nèi)存對(duì)象、序列化字符串、數(shù)據(jù)文件等,用戶選擇合適的接口、資料和返回格式并依照接口提供的氣象數(shù)據(jù)標(biāo)準(zhǔn)調(diào)用方法,便能獲取所需的氣象數(shù)據(jù)。接口調(diào)用氣象數(shù)據(jù)的流程大致如圖2所示。
圖2 氣象數(shù)據(jù)接口調(diào)用流程
通過負(fù)載均衡配置更改和不同賬戶的應(yīng)用啟停可實(shí)現(xiàn)MUSIC 兼容版接口系統(tǒng)的切換,在氣象數(shù)據(jù)服務(wù)異常時(shí)還可采用應(yīng)急回退的方式將應(yīng)用切回MUSIC。兼容版接口可實(shí)現(xiàn)用戶接口訪問數(shù)據(jù)源新舊系統(tǒng)數(shù)據(jù)庫(kù)間的切換,是新舊業(yè)務(wù)系統(tǒng)并行期間數(shù)據(jù)訪問服務(wù)的重要保障。