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