楊 芳,邢麗平,楊代才
(湖北省氣象信息與技術(shù)保障中心,武漢 430074)
作為首個(gè)MICAPS4(MICAPS系列最新版本)系統(tǒng)運(yùn)行省級(jí)試點(diǎn),該系統(tǒng)已在湖北省氣象局試運(yùn)行一年多時(shí)間。此系統(tǒng)以首次集成集合預(yù)報(bào)、格點(diǎn)預(yù)報(bào)等業(yè)務(wù)功能,讀取衛(wèi)星、雷達(dá)以及數(shù)值預(yù)報(bào)產(chǎn)品的效率達(dá)到毫秒級(jí)響應(yīng)時(shí)間,分布式存儲(chǔ)系統(tǒng)零故障等特點(diǎn),實(shí)現(xiàn)了全省MICAPS客戶(hù)端直連省級(jí)分布式存儲(chǔ)系統(tǒng),為湖北現(xiàn)代天氣預(yù)報(bào)業(yè)務(wù)提供了很好的支撐。其采取的非關(guān)系型分布式數(shù)據(jù)庫(kù)為氣象實(shí)時(shí)數(shù)據(jù)量身打造了一套集群存儲(chǔ)系統(tǒng),其讀寫(xiě)性能優(yōu)異,從上億個(gè)數(shù)據(jù)中檢索一個(gè)數(shù)據(jù)用時(shí)僅幾毫秒[1];為確保該實(shí)時(shí)數(shù)據(jù)庫(kù)其優(yōu)異的讀取性能,對(duì)所存儲(chǔ)的數(shù)據(jù)產(chǎn)品有嚴(yán)格的時(shí)間限制,如:存儲(chǔ)最新30天的數(shù)值預(yù)報(bào)產(chǎn)品、衛(wèi)星云圖資料;90天的高空地面實(shí)況資料等。
對(duì)于預(yù)報(bào)業(yè)務(wù)人員而言,MICAPS資料是進(jìn)行天氣分析跟蹤,天氣衍變規(guī)律總結(jié)的重要數(shù)據(jù)基礎(chǔ),特別是關(guān)鍵性、災(zāi)害性、轉(zhuǎn)折性天氣的歷史資料更是提高預(yù)報(bào)準(zhǔn)確率的前提[2]。盡管MICAPS4系統(tǒng)提供數(shù)據(jù)訪(fǎng)問(wèn)接口,然而對(duì)大部分基層臺(tái)站預(yù)報(bào)技術(shù)人員而言,通過(guò)數(shù)據(jù)訪(fǎng)問(wèn)接口來(lái)保存歷史天氣個(gè)例資料依舊比較困難。因此在省級(jí)搭建一個(gè)穩(wěn)定、可靠、能充分考慮資料共享與使用便利性的MICAPS歷史資料存儲(chǔ)架構(gòu)環(huán)境,成為MICAPS4在湖北省正式業(yè)務(wù)運(yùn)行前迫切需要解決的問(wèn)題。
系統(tǒng)能實(shí)時(shí)采集CIMISS數(shù)據(jù)庫(kù)中的實(shí)況數(shù)據(jù),接收不同系統(tǒng)或服務(wù)器所推送MICAPS原始數(shù)據(jù),并進(jìn)行實(shí)時(shí)解碼處理,生成文件格式的數(shù)據(jù)產(chǎn)品;同時(shí)將接收到的原始數(shù)據(jù)進(jìn)行自動(dòng)備份,最終為用戶(hù)提供一個(gè)以文件形式存儲(chǔ)的涵蓋MICAPS原始數(shù)據(jù)與數(shù)據(jù)產(chǎn)品的數(shù)據(jù)平臺(tái)。省級(jí)以及省內(nèi)各級(jí)臺(tái)站可通過(guò)文件共享或FTP下載方式來(lái)訪(fǎng)問(wèn)該平臺(tái)以獲取所需的數(shù)據(jù)。
系統(tǒng)在省級(jí)部署,可確保能為歷史資料的應(yīng)用提供完整準(zhǔn)確的數(shù)據(jù)源,同時(shí)極大減輕市縣兩級(jí)維護(hù)系統(tǒng)與數(shù)據(jù)的工作量。對(duì)所備份資料進(jìn)行分類(lèi)[3],每種數(shù)據(jù)采用一天一個(gè)壓縮包的保存方式(逐日定時(shí)分類(lèi)壓縮過(guò)去24小時(shí)的MICAPS數(shù)據(jù)文件)。數(shù)據(jù)存儲(chǔ)的目錄結(jié)構(gòu)定為4級(jí),第1級(jí)目錄為數(shù)據(jù)生成的年份,第2級(jí)目錄為數(shù)據(jù)生成的月份,第3級(jí)目錄為資料類(lèi)型,第4級(jí)目錄為資料類(lèi)型名+日期的數(shù)據(jù)文件(例:ECMWF_HR20180102.zip),清晰的目錄結(jié)構(gòu)便于日后對(duì)歷史數(shù)據(jù)進(jìn)行管理和維護(hù)。
系統(tǒng)所存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)量主要來(lái)自于兩個(gè)部分,一是解碼后的數(shù)據(jù)產(chǎn)品文件(用戶(hù)通過(guò)MICAPS客戶(hù)端可以直接調(diào)用),至少保存3個(gè)月;二是備份的經(jīng)壓縮過(guò)的原始數(shù)據(jù)及數(shù)據(jù)產(chǎn)品,至少存儲(chǔ)1年(表1)??紤]到今后業(yè)務(wù)發(fā)展趨勢(shì),本系統(tǒng)建設(shè)初期具備240 TB的存儲(chǔ)能力,支持至少1年的在線(xiàn)數(shù)據(jù)服務(wù)。
針對(duì)MICAPS數(shù)據(jù)產(chǎn)品小文件數(shù)目多、整體數(shù)據(jù)量大等特點(diǎn),采用一體化的存儲(chǔ)解決方案,選擇NAS的存儲(chǔ)架構(gòu)。NAS(網(wǎng)絡(luò)附加存儲(chǔ)),即將存儲(chǔ)設(shè)備通過(guò)網(wǎng)絡(luò)連接到現(xiàn)有的服務(wù)器上(用戶(hù)通過(guò)訪(fǎng)問(wèn)服務(wù)器來(lái)獲取NAS里的數(shù)據(jù)文件),基于TCP/IP協(xié)議提供數(shù)據(jù)和文件級(jí)數(shù)據(jù)的存取服務(wù)。在支持大容量的同時(shí),也具備大規(guī)模橫向擴(kuò)展能力,即在不做數(shù)據(jù)遷移的前提下,實(shí)現(xiàn)存儲(chǔ)容量和性能的平滑擴(kuò)展。
表1 存儲(chǔ)的資料類(lèi)型與在線(xiàn)存儲(chǔ)時(shí)間
注:表中數(shù)據(jù)產(chǎn)品與原始數(shù)據(jù)是指將數(shù)據(jù)經(jīng)壓縮程序處理過(guò)的壓縮包;“—”表示無(wú)此類(lèi)數(shù)據(jù)文件
解碼后的數(shù)據(jù)產(chǎn)品文件,直接存放在NAS指定目錄下(不列入下表1)。對(duì)需要壓縮備份的MICAPS原始數(shù)據(jù)與產(chǎn)品,可根據(jù)數(shù)據(jù)量大小、目錄結(jié)構(gòu)、業(yè)務(wù)需求的不同,選擇不同備份方式[4];對(duì)原始數(shù)據(jù),采取直接壓縮備份方式(ZIP壓縮包);對(duì)數(shù)據(jù)產(chǎn)品先使用Rsync精確同步指定格式文件再壓縮備份(TAR包)。用于數(shù)據(jù)備份的腳本運(yùn)行在Linux系統(tǒng)下,主要使用Python語(yǔ)言完成。
正常情況下,系統(tǒng)在每天設(shè)定的時(shí)間分別對(duì)10類(lèi)MICAPS原始數(shù)據(jù)、3類(lèi)MICAPS數(shù)據(jù)產(chǎn)品前一天的資料進(jìn)行自動(dòng)壓縮備份,具體信息見(jiàn)表1;同時(shí)部署數(shù)據(jù)監(jiān)控腳本,當(dāng)自動(dòng)備份不成功時(shí),可以運(yùn)行手動(dòng)備份腳本完成相關(guān)數(shù)據(jù)文件的備份。
該系統(tǒng)由數(shù)據(jù)處理服務(wù)器(Red Hat Enterprise Linux 7.1操作系統(tǒng))、NAS網(wǎng)絡(luò)附加存儲(chǔ)兩部分組成(Linux下NFS掛載NAS)(見(jiàn)圖1),系統(tǒng)能實(shí)時(shí)處理由CTS或省級(jí)文件服務(wù)器推送的MICAPS原始數(shù)據(jù),同時(shí)讀取CIMISS數(shù)據(jù)庫(kù)中的地面、高空實(shí)況數(shù)據(jù)并進(jìn)行解碼處理,最后生成以文件形式存儲(chǔ)的MICAPS格式的數(shù)據(jù)產(chǎn)品,保存在NAS指定目錄中。對(duì)于原始數(shù)據(jù)與數(shù)據(jù)產(chǎn)品的備份[5],則是利用Linux的Crontab功能每天定時(shí)調(diào)用資料備份腳本對(duì)相關(guān)數(shù)據(jù)進(jìn)行壓縮備份,存儲(chǔ)至相應(yīng)的目錄(見(jiàn)圖2),其中實(shí)時(shí)數(shù)據(jù)流式解析系統(tǒng)(DPC)與站點(diǎn)輪詢(xún)系統(tǒng)(JobSchedule)均來(lái)源于CIMISS-MICAPS4后臺(tái)數(shù)據(jù)環(huán)境。
圖1 MICAPS資料處理、存儲(chǔ)流程圖
圖2 數(shù)值預(yù)報(bào)數(shù)據(jù)處理與補(bǔ)傳流程
通過(guò)部署在該平臺(tái)上的監(jiān)控腳本來(lái)判定所備份數(shù)據(jù)的完整性(檢測(cè)所存儲(chǔ)數(shù)據(jù)壓縮包的大小),并將告警信息寫(xiě)入監(jiān)控日志。值班人員通過(guò)查看監(jiān)控日志,來(lái)判斷是否需要補(bǔ)調(diào)原始數(shù)據(jù)、恢復(fù)數(shù)據(jù)產(chǎn)品以及手動(dòng)運(yùn)行備份腳本等。
湖北省各級(jí)氣象臺(tái)站不僅可以通過(guò)CIMISS-MICAPS4分布式數(shù)據(jù)環(huán)境提供的數(shù)據(jù)接口(GDS)調(diào)用MICAPS數(shù)據(jù)產(chǎn)品,也可以通過(guò)FTP或文件共享方式連接到該存儲(chǔ)平臺(tái)獲取3個(gè)月以?xún)?nèi)的文件數(shù)據(jù)產(chǎn)品以及1年以上的原始數(shù)據(jù);對(duì)于超過(guò)三個(gè)月的數(shù)據(jù)產(chǎn)品,可由系統(tǒng)管理員將備份的原始數(shù)據(jù)導(dǎo)入該系統(tǒng)后,用戶(hù)再行調(diào)用。該存儲(chǔ)系統(tǒng)的應(yīng)用,不僅降低了省級(jí)技術(shù)人員運(yùn)維壓力,也確保了MICAPS原始數(shù)據(jù)與數(shù)據(jù)產(chǎn)品的完整性。
2.2.1 華東數(shù)值預(yù)報(bào)數(shù)據(jù) 隨著各地精細(xì)化預(yù)報(bào)服務(wù)需求的日益增長(zhǎng),各區(qū)域氣象中心均建立3~9 km的高分辨率區(qū)域數(shù)值天氣預(yù)報(bào)業(yè)務(wù)系統(tǒng)。為推進(jìn)區(qū)域高分辨率數(shù)值預(yù)報(bào)產(chǎn)品的快速共享,提升區(qū)域高分辨率數(shù)值預(yù)報(bào)模式對(duì)短時(shí)臨近、精細(xì)化預(yù)報(bào)等業(yè)務(wù)的支撐能力,基于INTERNET和公共云資源,由上海市氣象局牽頭建立了數(shù)值預(yù)報(bào)云,為全國(guó)各省提供華北、華東等數(shù)值預(yù)報(bào)產(chǎn)品實(shí)時(shí)下載等服務(wù)。以華東數(shù)值預(yù)報(bào)產(chǎn)品為例,梳理該數(shù)據(jù)傳遞給預(yù)報(bào)員并提供數(shù)據(jù)共享的流程。
省級(jí)數(shù)值預(yù)報(bào)云客戶(hù)端實(shí)時(shí)下載華東模式預(yù)報(bào)產(chǎn)品,采用FTP方式共享。省級(jí)文件共享服務(wù)器從該客戶(hù)端上下載華東模式產(chǎn)品后,F(xiàn)TP推送給MICAPS4及MICAPS歷史資料存儲(chǔ)平臺(tái)。兩個(gè)平臺(tái)在完成數(shù)據(jù)的解析后,將解碼后的數(shù)據(jù)保存至Cassandra或NAS中,供全省各級(jí)臺(tái)站業(yè)務(wù)人員調(diào)用(見(jiàn)圖2)。
2.2.2 歐洲高分辨率模式數(shù)值預(yù)報(bào)產(chǎn)品 與華東、華南數(shù)值預(yù)報(bào)產(chǎn)品由數(shù)值預(yù)報(bào)云提供相比,大部分氣象模式數(shù)據(jù)由CTS推送。以歐洲高分辨率模式數(shù)值預(yù)報(bào)產(chǎn)品為例(見(jiàn)圖2),對(duì)該類(lèi)數(shù)據(jù)共享、補(bǔ)傳、歷史數(shù)據(jù)恢復(fù)流程進(jìn)行介紹。
歐洲高分辨率數(shù)據(jù)由CTS推送給MICAPS4后臺(tái)數(shù)據(jù)環(huán)境及MICAPS歷史資料存儲(chǔ)平臺(tái)。一旦該原始數(shù)據(jù)出現(xiàn)缺失,可由省級(jí)文件共享服務(wù)器從國(guó)家級(jí)文件共享服務(wù)器上調(diào)取原始數(shù)據(jù)至MICAPS歷史資料存儲(chǔ)平臺(tái),完成資料的補(bǔ)傳,確保存儲(chǔ)平臺(tái)上原始數(shù)據(jù)與解碼后數(shù)據(jù)的完整性。MICAPS歷史資料存儲(chǔ)平臺(tái)上完整的數(shù)據(jù)源,也可成為MICAPS4系統(tǒng)的另一數(shù)據(jù)來(lái)源,在局域網(wǎng)環(huán)境下提升數(shù)據(jù)補(bǔ)調(diào)效率。
用戶(hù)通過(guò)FTP或文件共享可獲取的MICAPS歷史資料(類(lèi)型見(jiàn)表1),若需要3個(gè)月以前的數(shù)值預(yù)報(bào)數(shù)據(jù),則需要省級(jí)系統(tǒng)管理員進(jìn)行歷史數(shù)據(jù)恢復(fù)操作。操作流程見(jiàn)圖3,首先將保存在NAS中的原始數(shù)據(jù)壓縮包解壓至數(shù)據(jù)處理服務(wù)器的指定目錄,再通過(guò)DPC控制臺(tái)交互程序,手動(dòng)恢復(fù)數(shù)據(jù)(可同時(shí)恢復(fù)不同種類(lèi)不同時(shí)段的數(shù)據(jù)),恢復(fù)出的數(shù)據(jù)產(chǎn)品直接寫(xiě)入NAS數(shù)據(jù)產(chǎn)品的目錄中,供用戶(hù)調(diào)用。
圖3 歐洲高分?jǐn)?shù)值預(yù)報(bào)歷史數(shù)據(jù)恢復(fù)流程
為更好推進(jìn)MICAPS4在湖北省的全面業(yè)務(wù)化,利用NAS搭建MICAPS歷史資料存儲(chǔ)系統(tǒng),為各級(jí)氣象臺(tái)站提供多種MICAPS數(shù)據(jù)產(chǎn)品獲取方式。試運(yùn)行以來(lái),系統(tǒng)穩(wěn)定,實(shí)現(xiàn)了市縣兩級(jí)運(yùn)維人員對(duì)該系統(tǒng)“零”維護(hù)。基于NAS的存儲(chǔ)方式,將存儲(chǔ)設(shè)備與服務(wù)器分離管理,減少了服務(wù)器負(fù)擔(dān),提高了存儲(chǔ)效率。
參考文獻(xiàn):
[1] 王若曈,黃向東,張博,等.海量氣象數(shù)據(jù)實(shí)時(shí)解析與存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2015,37(11):2045-2054.
[2] 李月安,曹莉,高嵩,等.MICAPS預(yù)報(bào)業(yè)務(wù)平臺(tái)現(xiàn)狀與發(fā)展[J].氣象,2010,36(7):50-55.
[3] 竇以文,盧俐,劉旭林,等.氣象數(shù)據(jù)存貯管理系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011(7):116-120
[4] 林玉成,趙瑞,羅兵.基于Rsync的中央氣象臺(tái)數(shù)據(jù)備份機(jī)制及優(yōu)化設(shè)計(jì)[J].高原山地氣象研究,2014(1):81-85.
[5] 劉斌.基于Linux的文件實(shí)時(shí)備份系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:華北電力大學(xué),2014
[6] MarkLutz.Learning Python[M].北京:機(jī)械工業(yè)出版社,2011.