劉彬卿
摘 要目前,民航氣象中有大量歷史歸檔數(shù)據(jù),海量的氣象數(shù)據(jù)具有很高的挖掘價(jià)值,數(shù)據(jù)價(jià)值的挖掘需要大量的計(jì)算,而云計(jì)算為此提供良好的基礎(chǔ)。由于各地區(qū)空管局氣象中心之間網(wǎng)絡(luò)的聯(lián)通,為空管局內(nèi)部建設(shè)自己的私有云提供了便利的條件。搭建私有云為各空管局之間數(shù)據(jù)共享和云計(jì)算提供了物理?xiàng)l件。云計(jì)算技術(shù)使用分布式的計(jì)算技術(shù)實(shí)現(xiàn)了并行計(jì)算的計(jì)算能力和計(jì)算效率,解決了單機(jī)服務(wù)器計(jì)算能力低的問題。本文最后用hadoop搭建了云計(jì)算平臺(tái)作為實(shí)驗(yàn),并用該平臺(tái)處理了部分歷史歸檔數(shù)據(jù)。
【關(guān)鍵詞】氣象數(shù)據(jù) 云計(jì)算 私有云 Hadoop
1 背景
目前氣象預(yù)報(bào)主要使用4種預(yù)報(bào)處理方法:第一種是經(jīng)驗(yàn)預(yù)報(bào)方法,在天氣圖形勢預(yù)報(bào)的基礎(chǔ)上,根據(jù)天氣系統(tǒng)的未來位置和強(qiáng)度,對(duì)未來天氣的分布做出預(yù)測;第二種是統(tǒng)計(jì)預(yù)報(bào)方法,通過統(tǒng)計(jì)某一現(xiàn)象在歷史的特定環(huán)境條件下出現(xiàn)的概率,從而推測出在未來存在類似環(huán)境時(shí)出現(xiàn)的可能性;第三種是數(shù)值預(yù)報(bào)方法,利用大氣運(yùn)動(dòng)方程組,在一定的初值和邊值條件下對(duì)方程組進(jìn)行計(jì)算,預(yù)報(bào)未來的天氣;還有一種是集成預(yù)報(bào)方法,即把不同預(yù)報(bào)方法對(duì)同一要素的多種預(yù)報(bào)結(jié)果綜合在一起,進(jìn)而得出一個(gè)優(yōu)于單一預(yù)報(bào)方法的預(yù)報(bào)結(jié)果。
氣象數(shù)據(jù)獨(dú)立存在幾乎沒有價(jià)值,但往往配合其他數(shù)據(jù),就會(huì)產(chǎn)生綜效。從海量的氣象數(shù)據(jù)眾挖掘與其他商業(yè)活動(dòng)的關(guān)聯(lián),從而實(shí)現(xiàn)精準(zhǔn)營銷和精確預(yù)報(bào)具有很重要的意義。目前,空管局氣象中心有著海量的氣象數(shù)據(jù),包括了各類結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),MM5,WRF等氣象數(shù)值預(yù)報(bào)模式每天的計(jì)算量更是驚人。氣象預(yù)報(bào)的精度也從幾百公里、幾十公里提高到幾公里,大大增加了模式的計(jì)算量。這需要配置很高的硬件才能實(shí)現(xiàn),目前信息中心的數(shù)值預(yù)報(bào)每個(gè)計(jì)算模式是4臺(tái)linux系統(tǒng)并行運(yùn)算,該模式對(duì)硬盤的可靠性要求高,節(jié)點(diǎn)的接入和去除也比較復(fù)雜。因此如何高效的從這些海量數(shù)據(jù)中挖掘氣象歷史規(guī)律,有效地存儲(chǔ)、處理氣象大數(shù)據(jù)已經(jīng)成為急需解決的問題?,F(xiàn)在,云計(jì)算技術(shù)可以為氣象大數(shù)據(jù)服務(wù)提供技術(shù)支撐。
2 Openstack建設(shè)私有云
OpenStack是由美國國家航空航天局和Rackspace合作研發(fā)的,以Apache許可證授權(quán),并且是一個(gè)自由軟件和開放源代碼項(xiàng)目,它是一個(gè)云平臺(tái)管理的項(xiàng)目。部署OpenStack主要有三個(gè)核心開源項(xiàng)目,Nova(計(jì)算)、Swift(對(duì)象存儲(chǔ))和Glance(VM存儲(chǔ)庫)。Nova提供了跨服務(wù)器網(wǎng)絡(luò)的VM實(shí)例的管理,它的應(yīng)用程序編程接口(API)為未知物理硬件和系統(tǒng)管理程序提供了一種計(jì)算編排方法。Swift項(xiàng)目可通過配置了普通硬盤的標(biāo)準(zhǔn)服務(wù)器提供可伸縮的冗余存儲(chǔ)集群,可用于主要是靜態(tài)數(shù)據(jù)的長期存儲(chǔ)。Glance為Nova能夠使用虛擬磁盤映像提供了一個(gè)存儲(chǔ)庫,提供了一個(gè)API來注冊(cè)磁盤映像,還提供了磁盤映像校驗(yàn)和、版本控制(和其他元數(shù)據(jù))以及虛擬磁盤驗(yàn)證和審計(jì)/調(diào)試日志.
目前全國七個(gè)空管局的氣象中心信息室之間網(wǎng)絡(luò)連接,數(shù)據(jù)共享。用于報(bào)文和氣象產(chǎn)品分發(fā)的通信機(jī)為類linux系統(tǒng)(AIX或者linux),本文構(gòu)想七個(gè)空管局氣象中心用openstack搭建一個(gè)私有云。服務(wù)器、網(wǎng)絡(luò)、存儲(chǔ)的虛擬化,不但合理使用了各局之間的硬件,而且實(shí)現(xiàn)了數(shù)據(jù)的異地備份,節(jié)點(diǎn)的添加和去除也很方便。
該云計(jì)算數(shù)據(jù)中心整合了存儲(chǔ)系統(tǒng)、刀片服務(wù)器以及小型機(jī)等,通過虛擬化、自動(dòng)化、虛擬存儲(chǔ)等技術(shù)將氣象數(shù)據(jù)處理業(yè)務(wù)系統(tǒng)集成統(tǒng)一管理,構(gòu)建了統(tǒng)一架構(gòu)的應(yīng)用服務(wù)平臺(tái),針對(duì)各種應(yīng)用的維護(hù)、管理、升級(jí)均在服務(wù)器端實(shí)現(xiàn),減少各地區(qū)管理員的維護(hù)和日常工作任務(wù)。云計(jì)算數(shù)據(jù)中心的用戶交互接口以Web方式向用戶提供。首先是針對(duì)物理資源虛擬化,虛擬化機(jī)制將具體的物理計(jì)算特性加以封裝隱藏,對(duì)外提供統(tǒng)一邏輯接口,從而屏蔽物理設(shè)備多樣性帶來的差異,實(shí)現(xiàn)了服務(wù)器虛擬化、存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化.目錄服務(wù)是用戶可以訪問的服務(wù)清單,監(jiān)控統(tǒng)計(jì)用于監(jiān)控用戶申請(qǐng)資源的運(yùn)行情況,進(jìn)行用戶使用節(jié)點(diǎn)情況的統(tǒng)計(jì)。用戶端在原有較低資源配置情況下實(shí)現(xiàn)遠(yuǎn)程高強(qiáng)度計(jì)算和大存儲(chǔ)容量的工作。這種模式可以很好地解決當(dāng)前空管局氣象中心信息室的資源難共享、數(shù)據(jù)不一致等問題,提升資源的利用率,當(dāng)然也可以在一個(gè)中心單獨(dú)部署,方便管理和維護(hù)所有應(yīng)用。
3 用Hadoop挖掘氣象數(shù)據(jù)
3.1 MapReduce處理技術(shù)
搭建云計(jì)算數(shù)據(jù)中心實(shí)現(xiàn)服務(wù)器虛擬化、存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化,方便了系統(tǒng)管理,也為hadoop云計(jì)算軟件的工作提供了基礎(chǔ)。Hadoop包括Hadoop內(nèi)核、MapReduce、Hadoop分布式文件系統(tǒng)(HDFS)以及一些相關(guān)項(xiàng)。
MapReduce通過把對(duì)數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)實(shí)現(xiàn)可靠性,每個(gè)節(jié)點(diǎn)會(huì)周期性的把完成的工作和狀態(tài)的更新報(bào)告回來。如果一個(gè)節(jié)點(diǎn)保持沉默超過一個(gè)預(yù)設(shè)的時(shí)間間隔,主節(jié)點(diǎn)記錄下這個(gè)節(jié)點(diǎn)狀態(tài)為死亡,并把分配給這個(gè)節(jié)點(diǎn)的數(shù)據(jù)發(fā)到別的節(jié)點(diǎn)。每個(gè)操作使用命名文件的不可分割操作以確保不會(huì)發(fā)生并行線程間的沖突;當(dāng)文件被改名的時(shí)候,系統(tǒng)可能會(huì)把他們復(fù)制到任務(wù)名以外的另一個(gè)名字上去。如圖1所示。
(1)與傳統(tǒng)的計(jì)算方法相比,基于mapreduce模型編寫整編算法的優(yōu)越性主要體現(xiàn)在以下幾個(gè)方面:mapreduce計(jì)算模型是分布式的,它充分利用了多個(gè)節(jié)點(diǎn)的計(jì)算能力和 I/O帶寬,將原本集中在一臺(tái)單機(jī)上依靠順序運(yùn)行的算法改為可以并行運(yùn)行,使得在較短時(shí)間內(nèi)最大程度利用了現(xiàn)有空閑資源。
(2)map和reduce之間的中間結(jié)果不需要程序干預(yù)平臺(tái),本身會(huì)將所有map輸出的結(jié)果進(jìn)行處理,省去用戶程序中對(duì)大量中間結(jié)果的存儲(chǔ)和處理,簡化用戶程序邏輯。
(3)mapreduce 計(jì)算模型下任務(wù)運(yùn)行更靈活。由于計(jì)算任務(wù)本身無需對(duì)數(shù)據(jù)源范圍進(jìn)行框定,所以可在不修改任務(wù)界面和程序的情況下,完成對(duì)不同時(shí)間段歷史資料整編值的計(jì)算。
3.2 氣象數(shù)據(jù)挖掘
數(shù)據(jù)挖掘是氣象數(shù)據(jù)處理的重要組成部分,從已知數(shù)據(jù)集中發(fā)現(xiàn)各種模型和概要的過程,其實(shí)數(shù)據(jù)挖掘是一個(gè)循環(huán)反復(fù)的過程,首先利用一些分析工具對(duì)數(shù)據(jù)進(jìn)行檢查,從某一個(gè)方面對(duì)數(shù)據(jù)進(jìn)行分析,可能對(duì)數(shù)據(jù)做一些修改,然后又回到開始,應(yīng)用其他的分析工具,獲得一個(gè)不一樣的或者更好的結(jié)果。盡管如此,數(shù)據(jù)挖掘不是分析方法的隨意應(yīng)用,而是精心安排和攝入考慮,決定什么才是最有用、最合適的一個(gè)過程。數(shù)據(jù)挖掘的過程可簡要?dú)w納為:問題定義、數(shù)據(jù)清洗與集成、數(shù)據(jù)選擇與轉(zhuǎn)換、數(shù)據(jù)挖掘算法執(zhí)行、以及結(jié)果的評(píng)估與表示。
目前,氣象數(shù)據(jù)挖掘的方法主要有聚類分析、分類分析、時(shí)間序列分析、關(guān)聯(lián)規(guī)則及孤立點(diǎn)分析、回歸分析、依賴關(guān)系分析等,目前,有人采用聚類方法對(duì)氣溫?cái)?shù)據(jù)進(jìn)行處理,得到了很好的氣候區(qū)劃結(jié)果,還有人采用粗糙集方法對(duì)臺(tái)風(fēng)路徑進(jìn)行預(yù)測。
3.3 實(shí)例
本文設(shè)計(jì)了一套測試方案,包括云平臺(tái)集群構(gòu)成、系統(tǒng)環(huán)境參數(shù)、并行任務(wù)、數(shù)據(jù)自身存儲(chǔ)結(jié)構(gòu)等。通過修改平臺(tái)本身各項(xiàng)參數(shù)配置以及測試數(shù)據(jù)存儲(chǔ)形式,分析云計(jì)算平臺(tái)中map-reduce計(jì)算模型運(yùn)算時(shí)效的各種因子,目前新疆空管局信息中心數(shù)值預(yù)報(bào)系統(tǒng)為4臺(tái)linux并行,本文模擬該環(huán)境,虛擬化出4個(gè)系統(tǒng),每個(gè)系統(tǒng)配置相同,系統(tǒng)版本為linux的一個(gè)分支CentOS 7,主節(jié)點(diǎn)配置IP地址為:192.168.2.1,其他3個(gè)分節(jié)點(diǎn)配置IP為192.168.2.2,192.168.2.3,192.168.2.4.
測試使用了MM5的計(jì)算,根據(jù)計(jì)算測試,比較和分析傳統(tǒng)計(jì)算模型與mapreduce模型的計(jì)算時(shí)效量級(jí)。云平臺(tái)的管理上更便捷,云計(jì)算平臺(tái)的計(jì)算能力和運(yùn)行時(shí)效與云平臺(tái)集群構(gòu)成、系統(tǒng)環(huán)境參數(shù)、并行任務(wù)、數(shù)據(jù)自身存儲(chǔ)結(jié)構(gòu)以及服務(wù)器性能、最大并行任務(wù)數(shù)、單個(gè)任務(wù)計(jì)算量、平臺(tái)穩(wěn)定性等諸多因素有關(guān),在其他參數(shù)不變的情況下,任意兩參數(shù)之間也并不是簡單的線性關(guān)系。
hadoop在任務(wù)調(diào)度時(shí),任務(wù)初始化時(shí)間和尋址時(shí)間在任務(wù)整體運(yùn)行時(shí)間的比例是決定任務(wù)時(shí)效能否提高的重要標(biāo)準(zhǔn)。由于基于傳統(tǒng)小文件方式運(yùn)行的任務(wù)初始化時(shí)間和尋址時(shí)間占總體任務(wù)的很大一部分,所以可優(yōu)化空間較大。
4 小結(jié)
目前空管局氣象中心的數(shù)值預(yù)報(bào)的并行預(yù)算,節(jié)點(diǎn)管理麻煩,存儲(chǔ)管理相對(duì)云平臺(tái)也不可靠,使用openstack搭建空管局氣象中心的私有云,在現(xiàn)有基礎(chǔ)上將民航氣象中心及全國七個(gè)地區(qū)民航氣象中心構(gòu)成為八個(gè)大型航空氣象計(jì)算和存儲(chǔ)中心,該云中心擁有十到百萬億次計(jì)算能力和TB到PB級(jí)產(chǎn)模式。服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)均虛擬化,不但簡便了管理,降低運(yùn)營成本,減少故障率,更是在此基礎(chǔ)上搭建hadoop的云計(jì)算,數(shù)據(jù)挖掘歷史數(shù)據(jù)。MapReduce分布式處理技術(shù)可以有助于氣象大數(shù)據(jù)的處理與分析。本文設(shè)計(jì)的云環(huán)境下的氣象大數(shù)據(jù)服務(wù)框架為氣象行業(yè)大數(shù)據(jù)服務(wù)奠定基礎(chǔ),提供了一個(gè)技術(shù)參照。云環(huán)境下氣象大數(shù)據(jù)的服務(wù)與應(yīng)用可以加速氣象行業(yè)信息化進(jìn)程、加快各地區(qū)空管局氣象部門信息共享、完善異地災(zāi)難備份方案。云平臺(tái)的適當(dāng)應(yīng)用能解決現(xiàn)有氣象業(yè)務(wù)中一部分科學(xué)計(jì)算任務(wù)面臨的問題,所以探索和開展基于云計(jì)算平臺(tái)的通用大數(shù)據(jù)量科學(xué)計(jì)算的適用性和可行性是有意義的。
參考文獻(xiàn)
[1]彭九慧,丁力,楊慶紅.幾種降水集成預(yù)報(bào)方法的對(duì)比分析[J].氣象科技,2008,36(05):520-523.
[2]朱珠.基于 hadoop 的海量數(shù)據(jù)處理模型研究和應(yīng)用[M].北京:北京郵電大學(xué),2008:7-20.
[4]萬至臻.基于mapreduce模型的并行計(jì)算平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[M].杭州:浙江大學(xué),2008:17-21
[5]張強(qiáng),熊安元,張金艷等.晴雨(雪)和氣溫預(yù)報(bào)評(píng)分方法的初步研究[J].應(yīng)用氣象學(xué)報(bào),2009,20(06):692-698.
[6]金之雁,顏宏.數(shù)值天氣預(yù)報(bào)并行計(jì)算模式的設(shè)計(jì)與可行性討論[J].應(yīng)用氣象學(xué)報(bào),1993,4(01):117-121.
[7]沈文海.從云計(jì)算看氣象部門未來的信息化趨勢[J].氣象科技進(jìn)展,2012,1(02):49-56.
作者單位
民航新疆空中交通管理局氣象中心信息室 新疆維吾爾自治區(qū)烏魯木齊市 830001