陳 寧,邵夢(mèng)琪,王延?xùn)|,龔 熙,黃 振,羅鴻宇
(湖北省氣象信息與技術(shù)保障中心,湖北武漢 430074)
目前湖北已經(jīng)建成3 個(gè)船舶自動(dòng)氣象站,主要負(fù)責(zé)長(zhǎng)江航線(xiàn)(重慶—上海)的天氣預(yù)報(bào)預(yù)警,并且計(jì)劃在未來(lái)幾年內(nèi)繼續(xù)增加船舶氣象站的數(shù)量。一般氣象站網(wǎng)的數(shù)據(jù)傳輸采用單中心模式,隨著氣象業(yè)務(wù)的發(fā)展壯大,各種氣象自動(dòng)站的興起,如這種船舶自動(dòng)站利用分布式傳感器采集不同地理位置的風(fēng)向、風(fēng)速、溫濕度、氣壓、能見(jiàn)度等氣象數(shù)據(jù),隨著站點(diǎn)的增大,數(shù)據(jù)采集頻次的增大,數(shù)據(jù)中心站服務(wù)器的運(yùn)算能力將成為氣象數(shù)據(jù)傳輸網(wǎng)絡(luò)中的瓶頸[1-4]。將云計(jì)算運(yùn)用于氣象數(shù)據(jù)的處理,是解決這一瓶頸比較好的方法。云計(jì)算是分布式計(jì)算的一種,是通過(guò)網(wǎng)絡(luò)“云”將龐大的數(shù)據(jù)處理程序分解成無(wú)數(shù)個(gè)小程序,然后通過(guò)多部服務(wù)器組成的系統(tǒng)進(jìn)行處理和分析這些小程序,得到結(jié)果并返回給用戶(hù)。其核心為大規(guī)模的分布式環(huán)境下的數(shù)據(jù)存儲(chǔ)和網(wǎng)絡(luò)服務(wù),通過(guò)分布式的規(guī)模化集群和服務(wù)器虛擬化軟件來(lái)實(shí)現(xiàn)。與公有云相比,私有云能在數(shù)據(jù)安全和可靠性方面進(jìn)行有效的控制[5-13]。
本氣象站網(wǎng)云平臺(tái)基于B/S 架構(gòu),由多個(gè)船舶氣象站組成的氣象站網(wǎng),船載自動(dòng)氣象站組成結(jié)構(gòu)如圖1 所示,通過(guò)DTU無(wú)線(xiàn)網(wǎng)絡(luò)傳輸氣象中心站處理平臺(tái)。該架構(gòu)可以分為數(shù)據(jù)采集層、網(wǎng)絡(luò)層、應(yīng)用層。
圖1 船舶自動(dòng)氣象站組成結(jié)構(gòu)
船舶氣象站的觀(guān)測(cè)要素包括航速、航向、經(jīng)緯度、風(fēng)向、風(fēng)速、溫度、濕度、氣壓、能見(jiàn)度等。通過(guò)各類(lèi)氣象傳感器采集觀(guān)測(cè)數(shù)據(jù),將觀(guān)測(cè)數(shù)據(jù)轉(zhuǎn)換為各種電壓、電流、電阻等各類(lèi)電信號(hào),傳輸至氣象站主采集器進(jìn)行處理和存儲(chǔ)。
網(wǎng)絡(luò)層利用無(wú)線(xiàn)DTU 通信設(shè)備將氣象站采集器中處理后的數(shù)據(jù)傳輸至云平臺(tái)。云平臺(tái)是整個(gè)氣象站網(wǎng)的核心,完成大量的氣象數(shù)據(jù)的存儲(chǔ)、分析處理和發(fā)布,并有接口對(duì)接應(yīng)用層。
能夠基于瀏覽器或應(yīng)用程序,給用戶(hù)提供各種氣象產(chǎn)品和數(shù)據(jù)服務(wù),例如中短期天氣預(yù)報(bào)、各類(lèi)數(shù)據(jù)查詢(xún)?yōu)g覽等。
基于物聯(lián)網(wǎng)卡的無(wú)線(xiàn)云平臺(tái)氣象站網(wǎng)通過(guò)無(wú)線(xiàn)數(shù)據(jù)傳輸、氣象數(shù)據(jù)云存儲(chǔ)以及氣象數(shù)據(jù)云應(yīng)用3 個(gè)方面進(jìn)行實(shí)現(xiàn)的[14-16]。
氣象站采用DTU 通信模塊進(jìn)行數(shù)據(jù)的無(wú)線(xiàn)傳輸,兼容2G/3G/4G 移動(dòng)通信。早期利用的是各個(gè)移動(dòng)運(yùn)營(yíng)商的GPRS 等2G無(wú)線(xiàn)網(wǎng)絡(luò),當(dāng)時(shí)氣象數(shù)據(jù)采集和傳輸頻次較低,基本為1 h/次或10 min/次,數(shù)據(jù)量不大,GPRS 的數(shù)據(jù)吞吐量完全能夠滿(mǎn)足氣象站的數(shù)據(jù)傳輸。隨著氣象觀(guān)測(cè)要素的增多,數(shù)據(jù)傳輸頻次的增大,達(dá)到了5 min/次或1 min/次,目前使用的是4G 并向下兼容的DTU 模塊,保證了傳輸速度和穩(wěn)定高效。
采用DTU 無(wú)線(xiàn)傳輸有2 個(gè)優(yōu)點(diǎn):①可以實(shí)現(xiàn)云平臺(tái)管理的規(guī)模化、集中化;②支持SIM 卡管理,提升規(guī)模化。
本系統(tǒng)自動(dòng)氣象監(jiān)測(cè)網(wǎng)絡(luò)如圖2 所示:
圖2 船舶自動(dòng)氣象站監(jiān)測(cè)網(wǎng)絡(luò)
本系統(tǒng)使用華為云平臺(tái)Manage One 取代以往氣象監(jiān)測(cè)中心的硬件計(jì)算和存儲(chǔ)方式,Manage One 提供統(tǒng)一的數(shù)據(jù)中心管理平臺(tái),針對(duì)分布云數(shù)據(jù)中心的服務(wù)保障和服務(wù)編排提供先進(jìn)的管理方案,能夠做到:物理分布、邏輯集中,多數(shù)據(jù)中心統(tǒng)一管理、異構(gòu)虛擬平臺(tái)統(tǒng)一管理、運(yùn)營(yíng)和運(yùn)維統(tǒng)一管理;可基于VDC(Virtual Data Center,虛擬數(shù)據(jù)中心)模式,為不同的部門(mén)、業(yè)務(wù)提供不同的資源服務(wù),實(shí)現(xiàn)資源的建設(shè)與使用分離,更加匹配企業(yè)和運(yùn)營(yíng)商的商業(yè)模式。
Manage One 的優(yōu)勢(shì):①提供統(tǒng)一的運(yùn)維平臺(tái),可以統(tǒng)一管理物理服務(wù)器、網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備、虛擬資源等多種類(lèi)型;②提供高效的運(yùn)維管理手段,提升問(wèn)題處理效率,縮減問(wèn)題處理時(shí)間;③自動(dòng)生成報(bào)表,并通過(guò)靈活的通知機(jī)制,在問(wèn)題發(fā)生時(shí)可快速通知到維護(hù)人員,從而快速響應(yīng),解決問(wèn)題;④提供先進(jìn)的分析工具,方便預(yù)先研判故障。容量管理功能可通過(guò)歷史容量指標(biāo)給出容量預(yù)測(cè)的能力,以便管理員對(duì)資源容量做好規(guī)劃和擴(kuò)容。
當(dāng)氣象站監(jiān)測(cè)所得數(shù)據(jù)通過(guò)4G 網(wǎng)絡(luò)傳輸?shù)皆朴?jì)算中心后,云計(jì)算平臺(tái)需要對(duì)這些數(shù)字信號(hào)進(jìn)行分析處理和存儲(chǔ),本系統(tǒng)通過(guò)RDS(Relational Database Service,云關(guān)系型數(shù)據(jù)庫(kù))的存儲(chǔ)服務(wù)和SQL Server 實(shí)現(xiàn)上述功能。Manage One 需要處理的數(shù)據(jù)有:從感知層獲取的數(shù)據(jù)和供應(yīng)層使用的數(shù)據(jù),兩種數(shù)據(jù)分別應(yīng)用Manage One 的HBase 和Tables 存儲(chǔ)及SQL Server數(shù)據(jù)庫(kù)存儲(chǔ)。
在氣象業(yè)務(wù)環(huán)境中,私有云的設(shè)計(jì)從邏輯上分為4 個(gè)層次:基礎(chǔ)硬件層、資源調(diào)度層、會(huì)話(huà)管理層和終端接入層。
(1)基礎(chǔ)硬件層。目前氣象環(huán)境中根據(jù)用戶(hù)需求不同建立了虛擬服務(wù)器集群和物理工作站池兩種不同的硬件環(huán)境,虛擬服務(wù)器集群負(fù)責(zé)為普通用戶(hù)組提供服務(wù),物理池負(fù)責(zé)為特殊用戶(hù)組提供服務(wù)。
(2)資源調(diào)度層。用于實(shí)現(xiàn)基礎(chǔ)硬件的云化,通過(guò)建立計(jì)算機(jī)資源池、存儲(chǔ)資源池和網(wǎng)絡(luò)資源池來(lái)實(shí)現(xiàn)IT 基礎(chǔ)資源的統(tǒng)一管理、按需分配。依托ManageOne Service Center 管理軟件實(shí)現(xiàn)資源利用率的最大化。
(3)會(huì)話(huà)管理層。負(fù)責(zé)整個(gè)私有云資源調(diào)度分配、用戶(hù)身份鑒別和安全控制功能,其中資源調(diào)度分配主要由VCS 連接服務(wù)器和部署在各種網(wǎng)絡(luò)環(huán)境下的VSS 安全服務(wù)器組來(lái)實(shí)現(xiàn),用戶(hù)身份鑒別和安全控制主要由ActiveDirectory 服務(wù)器實(shí)現(xiàn),通過(guò)域用戶(hù)管理策略管理全體用戶(hù)的賬戶(hù)策略—安全策略—軟件策略,提升了對(duì)用戶(hù)行為控制的效率。
(4)終端應(yīng)用層。負(fù)責(zé)在各種網(wǎng)絡(luò)環(huán)境下臺(tái)式電腦、筆記本電腦客戶(hù)機(jī)和使用APPLE iOS 或者Google Android 操作系統(tǒng)的智能終端設(shè)備接入氣象私有云。
目前船舶氣象站每隔5 min 采集1 條氣象數(shù)據(jù)傳回?cái)?shù)據(jù)庫(kù)服務(wù)器,以后的發(fā)展趨勢(shì)是每隔1 min 采集并上傳。長(zhǎng)此以往,數(shù)據(jù)庫(kù)中將會(huì)存入大量的氣象數(shù)據(jù),因此需要解決氣象數(shù)據(jù)的存儲(chǔ)和處理問(wèn)題。
RDS 是一種基于云平臺(tái)的、穩(wěn)定可靠、便捷管理的在線(xiàn)關(guān)系型數(shù)據(jù)庫(kù),可以支持SQL Server,利用Manage One 華為云數(shù)據(jù)庫(kù)RDS for SQL Server 2017 數(shù)據(jù)庫(kù),它可以支持5 個(gè)只讀副本,無(wú)論是讀寫(xiě)分離還是負(fù)載均衡的支持都能實(shí)現(xiàn)。
RDS 無(wú)需用戶(hù)親自完成數(shù)據(jù)庫(kù)安裝、部署、維護(hù)、擴(kuò)容和監(jiān)控等工作,用戶(hù)只需一些簡(jiǎn)單的操作,繁瑣復(fù)雜的過(guò)程即可由RDS 高度自動(dòng)化完成,包括安裝數(shù)據(jù)庫(kù)軟件、為數(shù)據(jù)庫(kù)軟件升級(jí)版本或打補(bǔ)丁、搭建數(shù)據(jù)庫(kù)主備實(shí)例、只讀實(shí)例、數(shù)據(jù)備份和恢復(fù)、監(jiān)控?cái)?shù)據(jù)庫(kù)運(yùn)行指標(biāo)等。另外,RDS 主備實(shí)例可以在主實(shí)例發(fā)生故障時(shí),由備實(shí)例快速自動(dòng)接管業(yè)務(wù)讀寫(xiě)請(qǐng)求,最大限度減少業(yè)務(wù)中斷時(shí)間,而這個(gè)過(guò)程無(wú)需用戶(hù)介入。
使用RDS,數(shù)據(jù)庫(kù)實(shí)例的生命周期狀態(tài)、各實(shí)例的角色關(guān)系、實(shí)例OS 和DB 引擎的各項(xiàng)指標(biāo)監(jiān)控信息、數(shù)據(jù)庫(kù)日志信息、數(shù)據(jù)庫(kù)備份信息、數(shù)據(jù)庫(kù)引擎參數(shù)信息等,都可以通過(guò)Console圖形化界面對(duì)用戶(hù)可視,而且用戶(hù)可以很方便地通過(guò)Console或者Open API 進(jìn)行管理和監(jiān)控。
使用RDS,用戶(hù)可以隨時(shí)根據(jù)數(shù)據(jù)庫(kù)的讀寫(xiě)比和負(fù)載壓力情況,通過(guò)一些簡(jiǎn)單操作即可完成增加刪除只讀實(shí)例,及時(shí)水平擴(kuò)容以應(yīng)對(duì)業(yè)務(wù)暴漲情況,或者及時(shí)縮容回收資源以應(yīng)對(duì)業(yè)務(wù)回落情況,避免資源長(zhǎng)期閑置浪費(fèi)。
數(shù)據(jù)庫(kù)設(shè)計(jì)了站點(diǎn)信息表、氣象站觀(guān)測(cè)數(shù)據(jù)表、用戶(hù)賬號(hào)信息表3 個(gè)表格,氣象站觀(guān)測(cè)數(shù)據(jù)表見(jiàn)表1。
表1 氣象站觀(guān)測(cè)數(shù)據(jù)表
湖北省的船舶氣象自動(dòng)站數(shù)據(jù)可以分為兩類(lèi):結(jié)構(gòu)化數(shù)據(jù)和半/非結(jié)構(gòu)化數(shù)據(jù)。云存儲(chǔ)平臺(tái)根據(jù)氣象資料屬性不同提供了結(jié)構(gòu)化存儲(chǔ)(Table Storage)和半/非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)(HBase Storage)兩種存儲(chǔ)方式[17-20]。
泛氣象數(shù)據(jù)及各類(lèi)服務(wù)產(chǎn)品數(shù)據(jù)結(jié)構(gòu)化程度低,數(shù)據(jù)參數(shù)一致性低,數(shù)據(jù)大小不定。對(duì)于此類(lèi)非結(jié)構(gòu)化數(shù)據(jù),如果采用通用的結(jié)構(gòu)化存儲(chǔ)方式,必然導(dǎo)致其在數(shù)據(jù)存取方面出現(xiàn)問(wèn)題,無(wú)法滿(mǎn)足業(yè)務(wù)需求。故采用HBase 非結(jié)構(gòu)化數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。
HBase Storage 主要存儲(chǔ)氣象觀(guān)測(cè)資料中的圖像及Flash 文件,對(duì)處理后的歷史氣象數(shù)據(jù)圖表、曲線(xiàn)、實(shí)時(shí)圖像圖片及天氣預(yù)測(cè)圖片等進(jìn)行保存,并提供接口供應(yīng)用層展示,F(xiàn)lash 文件主要有movie.swf 和mycurve.swf 兩種格式,分別用來(lái)展示動(dòng)態(tài)的氣象動(dòng)畫(huà)及統(tǒng)計(jì)動(dòng)畫(huà)。這類(lèi)數(shù)據(jù)結(jié)構(gòu)化程度低,數(shù)據(jù)參數(shù)一致性低,數(shù)據(jù)大小不定,采用HBase非結(jié)構(gòu)化數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。
HBase 的數(shù)據(jù)表由行和列組成。邏輯上,數(shù)據(jù)存儲(chǔ)在表里,而表由行和列組成,每行由一個(gè)可排序的主鍵和任意多的列構(gòu)成,列又歸屬于不同列族。HBase 是面向列的稀疏存儲(chǔ),列族是固定不變,在創(chuàng)建表時(shí)被定義,相當(dāng)于表結(jié)構(gòu),HBase 將同一個(gè)列族下的數(shù)據(jù)存儲(chǔ)在同一個(gè)目錄下,而列族中的列成員不必在表定義時(shí)聲明,可以在表實(shí)時(shí)運(yùn)行中動(dòng)態(tài)定義。
Table Storage 存儲(chǔ)則通過(guò)ASP.net 實(shí)現(xiàn)普通數(shù)據(jù)的保存。在用戶(hù)進(jìn)行數(shù)據(jù)獲取時(shí)利用唯一的Session 進(jìn)行事務(wù)跟蹤,如用戶(hù)登錄、密碼設(shè)置、數(shù)據(jù)查詢(xún)更新等操作。
氣象觀(guān)測(cè)數(shù)據(jù)利用HBase Storage 和 Table Storage 兩種存儲(chǔ)方式,通過(guò)SQL Server 進(jìn)行數(shù)據(jù)的查詢(xún)、關(guān)聯(lián)、更新及修改。
針對(duì)存儲(chǔ)的氣象數(shù)據(jù),采用B/S 結(jié)構(gòu)開(kāi)發(fā)了船舶氣象站網(wǎng)的數(shù)據(jù)顯示系統(tǒng)(圖3)。該系統(tǒng)能夠幫助氣象監(jiān)控預(yù)報(bào)人員更有效直觀(guān)地獲得長(zhǎng)江沿線(xiàn)的氣象數(shù)據(jù),同時(shí)對(duì)長(zhǎng)江沿線(xiàn)氣象災(zāi)害的預(yù)警信息有著更快的反應(yīng)。也為長(zhǎng)江沿線(xiàn)的水文氣象服務(wù)、氣候變化研究提供重要的觀(guān)測(cè)資料。
圖3 船舶氣象站網(wǎng)數(shù)據(jù)顯示系統(tǒng)
對(duì)基于私有云的船舶自動(dòng)氣象站網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)做了全面描述,基于華為的Manage One 云平臺(tái)技術(shù),完成氣象數(shù)據(jù)共享服務(wù)系統(tǒng)建設(shè),實(shí)現(xiàn)長(zhǎng)江流域大數(shù)據(jù)處理分析及共享服務(wù)。為長(zhǎng)江航道災(zāi)害天氣實(shí)況監(jiān)測(cè)預(yù)警、開(kāi)展精細(xì)化的預(yù)報(bào)預(yù)警服務(wù)提供全方位高覆蓋的發(fā)布手段;開(kāi)展長(zhǎng)江航運(yùn)專(zhuān)業(yè)氣象服務(wù),提升長(zhǎng)江航道氣象預(yù)報(bào)專(zhuān)業(yè)化水平和服務(wù)效益,滿(mǎn)足船舶駕駛?cè)藛T、旅客、政府相關(guān)管理部門(mén)對(duì)氣象服務(wù)的需要。