雷 鳴 姜罕盛 武國良 趙玉娟
(天津市氣象信息中心 天津 300074)
隨著大數(shù)據(jù)技術(shù)的興起,以及分布式技術(shù)的不斷發(fā)展,當(dāng)前數(shù)據(jù)服務(wù)的水平也水漲船高,服務(wù)能力獲得了極大的提升,但目前氣象系統(tǒng)的數(shù)據(jù)服務(wù)能力卻仍然處于較為落后的局面[1~3]。這主要集中體現(xiàn)在:業(yè)務(wù)系統(tǒng)集成度不夠、服務(wù)產(chǎn)品質(zhì)量不高,而且服務(wù)渠道相對比較分散,IT 資源重復(fù)建設(shè),集約化程度處于一個較低的水平,缺乏統(tǒng)一的業(yè)務(wù)數(shù)據(jù)和產(chǎn)品共享平臺,導(dǎo)致服務(wù)效率低下,產(chǎn)品和數(shù)據(jù)存在不一致,甚至是彼此矛盾沖突的情況,“信息孤島”現(xiàn)象依然存在[4]。此外,目前氣象系統(tǒng)由于缺乏頂層設(shè)計和規(guī)劃而導(dǎo)致各系統(tǒng)功能全、規(guī)模小、安全防衛(wèi)力不足,難以完成規(guī)模化、集約化運維,從而導(dǎo)致重復(fù)高、人力多等高成本、低水平的IT系統(tǒng)運維。
基于以上原因,利用大數(shù)據(jù)相關(guān)技術(shù)[5~6],按照集約化發(fā)展思路建設(shè)天津氣象大數(shù)據(jù)共享網(wǎng),構(gòu)架天津省級氣象數(shù)據(jù)服務(wù)中心。整合各部門相關(guān)業(yè)務(wù)系統(tǒng),升級完善數(shù)據(jù)存儲環(huán)境,提供一個能夠在線實時瀏覽、查詢和集預(yù)報預(yù)警、實時監(jiān)測、歷史氣候資料與信息管理等于一體的、綜合顯示業(yè)務(wù)信息共享平臺,有效幫助業(yè)務(wù)人員能夠敏捷快速有效地獲取各類業(yè)務(wù)信息,助力業(yè)務(wù)服務(wù)。形成氣象系統(tǒng)內(nèi)部統(tǒng)一的氣象業(yè)務(wù)集約化信息綜合顯示平臺,滿足市、區(qū)兩級業(yè)務(wù)和管理用戶服務(wù)支撐,實現(xiàn)市、區(qū)兩級用戶信息共享和一站式在線訪問[7]。同時,透過全國氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(Meteorological Unified Service Interface Community,MUSIC)[8~10],整合本地數(shù)據(jù)中心與省級CIMISS 數(shù)據(jù)源,對外提供標(biāo)準(zhǔn)的全國統(tǒng)一數(shù)據(jù)訪問服務(wù)和應(yīng)用編程接口(API),構(gòu)建無縫連接的數(shù)據(jù)服務(wù)中心。
基本軟硬件平臺基于氣象專有云平臺建設(shè),包含基本軟硬件平臺(服務(wù)器、存儲、網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫軟件)和應(yīng)用軟件部分兩部分,部署在氣象基礎(chǔ)設(shè)施集約化平臺。
應(yīng)用軟件由前端共享服務(wù)應(yīng)用系統(tǒng)和后端數(shù)據(jù)處理與存儲管理系統(tǒng)組成。前端共享服務(wù)應(yīng)用,可供市、區(qū)兩級用戶訪問,前端、后端應(yīng)用系統(tǒng)均基于氣象專有云平臺,由若干虛擬機(jī)組成服務(wù)器群。
前端的共享服務(wù)應(yīng)用系統(tǒng),部署在虛擬服務(wù)器上,包括FTP 服務(wù)、WEB 應(yīng)用、API 應(yīng)用,為了有效解決高并發(fā)下的數(shù)據(jù)分流,特別在前端部署負(fù)載均衡設(shè)備,以便于進(jìn)行相關(guān)任務(wù)調(diào)度。
天津氣象大數(shù)據(jù)共享網(wǎng)的硬件主要由兩部分構(gòu)成:物理機(jī)和虛擬機(jī),共計25 臺機(jī)器,物理機(jī)7臺。而物理機(jī)包括:Gbase 數(shù)據(jù)庫服務(wù)器4 臺,Hbase 數(shù)據(jù)庫服務(wù)器3 臺。其余則全部都是虛擬機(jī):數(shù)據(jù)處理服務(wù)器3 臺,頁面服務(wù)器1 臺,Hbase數(shù)據(jù)接口服務(wù)器1 臺,Hbase 數(shù)據(jù)采集服務(wù)器2 臺,圖形產(chǎn)品接口服務(wù)器1 臺,Gbase 數(shù)據(jù)庫服務(wù)器集群6 臺,APP 數(shù)據(jù)推送服務(wù)器2 臺,測試服務(wù)器1臺,綜合數(shù)據(jù)庫服務(wù)器1 臺,共享網(wǎng)BBS 服務(wù)器1臺。整體的系統(tǒng)架構(gòu)設(shè)計如圖1所示。

圖1 系統(tǒng)物理架構(gòu)設(shè)計圖
天津氣象大數(shù)據(jù)共享網(wǎng)采用“關(guān)系型數(shù)據(jù)庫+表格系統(tǒng)+文件”的混合型模式管理業(yè)務(wù)產(chǎn)品,其中結(jié)構(gòu)化數(shù)據(jù)(如自動站數(shù)據(jù))采用分布式關(guān)系型MySQL數(shù)據(jù)庫管理,大部分業(yè)務(wù)產(chǎn)品為非結(jié)構(gòu)化的文檔、圖像或者格點場數(shù)據(jù),適用于不同格式的文件存儲,在文件名或者文件頭部嵌入要素、時空等屬性,為了便于檢索,相關(guān)屬性信息入MySQL 庫。氣象臺、氣候中心、海洋臺、環(huán)境氣象中心、信息中心、探測中心、災(zāi)害防御中心、科研所、人影辦、服務(wù)中心、預(yù)警發(fā)布中心制作的業(yè)務(wù)產(chǎn)品在各自內(nèi)部產(chǎn)品庫中存儲管理,通過FTP 或SFTP 推送至氣象大數(shù)據(jù)共享網(wǎng)的產(chǎn)品收集服務(wù)器,進(jìn)而存儲在磁盤陣列,通過天津集約化數(shù)據(jù)環(huán)境進(jìn)行統(tǒng)一存儲管理,供應(yīng)用服務(wù)器進(jìn)行共享。詳細(xì)存儲系統(tǒng)設(shè)計圖如圖2所示。

圖2 系統(tǒng)存儲架構(gòu)設(shè)計圖
圖2 中的箭頭表示數(shù)據(jù)的流向或者消息同步,如GBase8a 物理機(jī)與虛擬機(jī)之間直接是消息同步機(jī)制,當(dāng)物理機(jī)出現(xiàn)故障時,系統(tǒng)會利用kafka數(shù)據(jù)總線(消費者模式)自動遷移副本至虛擬機(jī)數(shù)據(jù)庫中,數(shù)據(jù)服務(wù)自動切換至GBase8a 虛擬機(jī)服務(wù)模式,有效保證數(shù)據(jù)服務(wù)的可靠性。
數(shù)據(jù)質(zhì)量直接決定了數(shù)據(jù)服務(wù)的優(yōu)劣。因此,數(shù)據(jù)服務(wù)中心特別針對氣象數(shù)據(jù)進(jìn)行質(zhì)量控制。限于篇幅,下面僅給出兩類關(guān)鍵的氣象數(shù)據(jù)質(zhì)控算法。
針對氣象風(fēng)廓線觀測產(chǎn)品,按算法要求對數(shù)據(jù)實施格式檢查、缺測率統(tǒng)計、缺測值訂正、界限值檢查、垂直風(fēng)切變檢查、中值檢查、降水干擾檢查,完成實時觀測數(shù)據(jù)產(chǎn)品的質(zhì)量控制,通過一致性平均算法計算0.5h和1h風(fēng)廓線數(shù)據(jù)產(chǎn)品。
4.1.1 水平風(fēng)速界限值

表1 水平風(fēng)速界限值表
4.1.2 垂直風(fēng)速界限值
垂直風(fēng)切變檢查:在高度軸上,利用相鄰高度層的風(fēng)切變大小判斷數(shù)據(jù)正確與否。垂直風(fēng)切變計算公式如下所示:

上式中,Mj為風(fēng)切變值,V1、V2為上、下相鄰兩層的風(fēng)速,Zj+1、Zj為上、下相鄰兩層的高度。
計算兩高度層的垂直風(fēng)切變值Mj,將Mj≤6.0 m·s-1/30 m(閾值可以根據(jù)質(zhì)控結(jié)果調(diào)整)的數(shù)據(jù)標(biāo)記為“有效”數(shù)據(jù)。
中值檢查:中值判斷只對垂直風(fēng)切變判斷中被標(biāo)記為“可疑”的高度層進(jìn)行。目的是檢查風(fēng)速在時間和空間上的連續(xù)性。
降水干擾檢查:對降水天氣時不同高度層觀測數(shù)據(jù)進(jìn)行檢查。
一致性平均:通過一致性平均算法計算0.5h和1h風(fēng)廓線數(shù)據(jù)產(chǎn)品。
對地面觀測的小時數(shù)據(jù)文件進(jìn)行入庫后實時質(zhì)量控制,質(zhì)量控制結(jié)果綜合判定為正確或錯誤,對錯誤數(shù)據(jù)進(jìn)行訂正處理。質(zhì)控對象主要包括氣溫、氣壓、降水、風(fēng)向、風(fēng)速、濕度、淺層地溫、能見度等觀測要素,一般按下列流程進(jìn)行:格式檢查、空間一致性檢查、內(nèi)部一致性檢查、時間一致性檢查。具體要求如下:
1)格式檢查:檢查地面觀測小時數(shù)據(jù)文件是否符合格式要求,符合即入庫進(jìn)行后面的檢查。
2)空間一致性檢查:空間一致性檢查是被檢站與周圍測站的觀測值進(jìn)行比較。氣溫的空間一致性檢查采用Madsen-Allerupt 方法,具體如下:將相同時刻某一自動站i周圍相關(guān)若干個臨近站點的觀測值記錄下來,然后根據(jù)其大小進(jìn)行排序,并取其中相關(guān)數(shù)據(jù)的中值和75%、25%分位值,計算統(tǒng)計量,對應(yīng)計算公式如下所示:

其中,X0表示被檢氣溫,q表示臨近站氣溫中值和75%、25%分位值。 ||T0>X的測值被判定錯誤。
降水和風(fēng)速的空間一致性檢查采用測站值與同時刻鄰近站點極值數(shù)據(jù)進(jìn)行比較,采用以下公式:

上式中,a2<1 <a1。
3)內(nèi)部一致性檢查:是指某些氣象觀測要素之間關(guān)系密切,其規(guī)律變化具有對應(yīng)的一致性。所以,可透過判斷對應(yīng)數(shù)據(jù)是否存在這種對應(yīng)規(guī)律,來檢驗數(shù)據(jù)是否存在異常,從而檢驗數(shù)據(jù)質(zhì)量。
4)時間一致性檢查:在某段時間,例如:一天,絕大多數(shù)氣象要素具有隨著時空變化而呈現(xiàn)相應(yīng)波動的特性。若某要素的觀測數(shù)值出現(xiàn)無變化或者變化非常大的情況,則說明可能是傳輸設(shè)備或觀測儀器出現(xiàn)故障所導(dǎo)致的,而時間一致性檢查能夠有效檢查此類疑誤數(shù)據(jù)。
數(shù)據(jù)服務(wù)是系統(tǒng)數(shù)據(jù)信息顯示、查詢和下載的關(guān)鍵。
數(shù)據(jù)服務(wù)包括面向氣象業(yè)務(wù)用戶提供的基礎(chǔ)氣象資料及產(chǎn)品、氣象預(yù)報預(yù)測產(chǎn)品和氣象服務(wù)產(chǎn)品的發(fā)現(xiàn)和定位功能。數(shù)據(jù)發(fā)現(xiàn)服務(wù)以Web 交互方式向用戶提供數(shù)據(jù)發(fā)現(xiàn)、數(shù)據(jù)(目錄)導(dǎo)航、數(shù)據(jù)展示、數(shù)據(jù)檢索等服務(wù)功能。天津氣象大數(shù)據(jù)共享網(wǎng)根據(jù)實況觀測、天氣預(yù)報、氣候預(yù)測等實際業(yè)務(wù)數(shù)據(jù)服務(wù)需要,應(yīng)用元數(shù)據(jù)技術(shù)和目錄服務(wù)技術(shù)[11~13],為用戶提供多維度的數(shù)據(jù)導(dǎo)航目錄和多視角的數(shù)據(jù)訪問入口,用戶通過數(shù)據(jù)發(fā)現(xiàn)服務(wù),可快速定位并通過元數(shù)據(jù)概覽各種氣象基礎(chǔ)資料和產(chǎn)品。數(shù)據(jù)服務(wù)中所涉及到的查詢核心代碼如下所示:


圖3 系統(tǒng)數(shù)據(jù)服務(wù)展示界面
數(shù)據(jù)文件下載主要提供基于三種協(xié)議的數(shù)據(jù)下載服務(wù)分別為HTTP 方式、FTP 方式以及TDS 方式。
1)HTTP方式
通過HTTP方式提供數(shù)據(jù)下載
2)FTP方式
通過開源FTP 軟件,搭建FTP 服務(wù)器,基于FTP 協(xié)議實現(xiàn)數(shù)據(jù)的下載服務(wù),同時能夠?qū)崟r監(jiān)控統(tǒng)計數(shù)據(jù)下載情況包括下載數(shù)據(jù)量、連接時間等。
3)TDS方式
THREDDS(Thematic Realtime Environmental Distributed Data Services)是由Uniadata 機(jī)構(gòu)開發(fā)的一套分布式實時數(shù)據(jù)服務(wù)系統(tǒng),主要用來簡化發(fā)現(xiàn)和使用氣象空間數(shù)據(jù)的過程。它能夠簡便高效的實現(xiàn)地球空間數(shù)據(jù)的供給、發(fā)布、和查詢操作。尤其針對HDF、NETCDF 等自描述型數(shù)據(jù),TDS 可以自動顯示獲得的數(shù)據(jù)集元數(shù)據(jù)并進(jìn)行發(fā)布。TDS支持?jǐn)?shù)據(jù)集的遠(yuǎn)程訪問,即用戶通過OPENDAP 遠(yuǎn)程數(shù)據(jù)訪問協(xié)議,不需進(jìn)行數(shù)據(jù)下載,即可使用NCL,GRADS 等通用氣象分析可視化工具在本地進(jìn)行可視化數(shù)據(jù)服務(wù)。
數(shù)據(jù)訪問接口為氣象業(yè)務(wù)用戶的業(yè)務(wù)應(yīng)用系統(tǒng)或?qū)I(yè)軟件提供定制的氣象數(shù)據(jù)支持,數(shù)據(jù)訪問接口服務(wù)屏蔽底層異構(gòu)、分布式的數(shù)據(jù)存儲和資源,采用通用的互聯(lián)網(wǎng)協(xié)議,基于統(tǒng)一的服務(wù)標(biāo)準(zhǔn),面向業(yè)務(wù)用戶應(yīng)用提供統(tǒng)一的訪問接口和服務(wù),通過數(shù)據(jù)訪問接口服務(wù),用戶應(yīng)用系統(tǒng)可以自動快速獲取定制的各種氣象數(shù)據(jù)。利用數(shù)據(jù)訪問接口進(jìn)行數(shù)據(jù)訪問的核心代碼如下所示:

目前,針對天津站點全部數(shù)據(jù)都入庫到Gbase中,共有155,281,334,700 條記錄。為了測試系統(tǒng)性能,分別統(tǒng)計天津各站點一定時間內(nèi)的小時平均氣溫與累計降雨。測試的性能統(tǒng)計表如表2所示。

表2 站點數(shù)據(jù)查詢性能測試表
可以明顯看到,現(xiàn)有Gbase 數(shù)據(jù)庫的查詢性能比CIMISS系統(tǒng)中的Oracle提升了至少5倍多,而隨著時間延長,甚至提升至22 倍以上。限于篇幅,HBase(毫秒級)、MySQL(秒級)等其他數(shù)據(jù)庫的測試不再贅述。圖4 展示了利用可視化技術(shù)[14~16],基于HBase,溫度預(yù)報頁面數(shù)據(jù)服務(wù)的測試效果。

圖4 智能預(yù)報數(shù)據(jù)服務(wù)速度測試
本文利用大數(shù)據(jù)相關(guān)技術(shù),搭建了以MySQL、GBase、HBase 和分布式NAS 為基礎(chǔ)的統(tǒng)一數(shù)據(jù)存儲環(huán)境,使數(shù)據(jù)的收集、處理和服務(wù)能夠高效化、集約化和便捷化。
根據(jù)數(shù)據(jù)特性施行不同的分類存儲策略,結(jié)構(gòu)化數(shù)據(jù)采用分布式關(guān)系型數(shù)據(jù)庫管理,非結(jié)構(gòu)化數(shù)據(jù)采用分布式NAS存儲,并將其元數(shù)據(jù)信息存入關(guān)系型數(shù)據(jù)庫中,極大提升了數(shù)據(jù)的聚合和檢索能力。打通了部門之間的數(shù)據(jù)壁壘,有效清除了“數(shù)據(jù)孤島”現(xiàn)象,構(gòu)建了統(tǒng)一的天津大數(shù)據(jù)收集、處理和服務(wù)數(shù)據(jù)中心,并提供了統(tǒng)一的數(shù)據(jù)服務(wù)接口,使數(shù)據(jù)的唯一性、可靠性得到較大增強(qiáng)。
但是也要看到,天津省級氣象大數(shù)據(jù)服務(wù)相關(guān)工作只是剛剛開始,仍然存在著不少問題需要繼續(xù)去完善和升級。