朱曉輝 瞿 波 任紅健
1(南通大學計算機科學與技術(shù)學院 江蘇 南通 226019)2(南通大學理學院 江蘇 南通 226019)
?
云計算環(huán)境下格陵蘭海鹽度數(shù)據(jù)提取算法研究
朱曉輝1瞿波2*任紅健1
1(南通大學計算機科學與技術(shù)學院江蘇 南通 226019)2(南通大學理學院江蘇 南通 226019)
摘要海洋鹽度與海洋浮游植物和海洋溫度具有緊密聯(lián)系,是研究海洋環(huán)流和海洋對氣候影響的重要參量。以美國NOAA全球海洋信息數(shù)據(jù)庫為數(shù)據(jù)來源,以經(jīng)度65°N -85°N、維度20°W -10°E之間的北極格陵蘭海地區(qū)為研究區(qū)域,詳細討論鹽度數(shù)據(jù)的提取,提出時間復雜度為O(n)的鹽度數(shù)據(jù)分步歸并算法。利用微軟Azure公有云按需付費、動態(tài)擴展的特點,獲取廉價、便捷的計算資源,大大提升了計算效率。該算法具有很強的可擴展性,可以根據(jù)實際計算需求動態(tài)調(diào)整所需的計算資源,從而能滿足不同計算規(guī)模的需求。實驗結(jié)果表明,該算法可以對海量原始鹽度數(shù)據(jù)進行快速分析和歸并,生成經(jīng)緯度、時間、鹽度三個維度上的數(shù)據(jù)。
關(guān)鍵詞鹽度格陵蘭海經(jīng)緯度數(shù)據(jù)提取歸并算法云計算
0引言
海洋鹽度是研究海洋環(huán)流和海洋對氣候影響的重要參量。目前,由于技術(shù)限制和人們對鹽度遙感的認識不足,鹽度遙感觀測技術(shù)遠遠滯后于研究的需要,鹽度遙感的研究幾乎處于停滯不前的狀態(tài)。近年來,一些鹽度數(shù)據(jù)庫紛紛興起,但鹽度數(shù)據(jù)提取方法的研究在國內(nèi)還屬于初級階段。由于鹽度資料在時空分布上的不足,對鹽度的研究帶來了困難。
一些研究者試圖用各種方法來處理鹽度數(shù)據(jù)。陳建等[1]用Matlab對基于二進制的混合文件格式的鹽度數(shù)據(jù)的處理做了讀寫操作方法的研究;朱江等[2]介紹了一個三維變分海洋資料通話系統(tǒng)的設計方案,在海面高度資料同化中引入了一個新的考慮了背景場誤差的垂直相關(guān)性和非線性的溫-鹽關(guān)系的同化方案,結(jié)果有效地改進了對海洋溫度和鹽度的估計。
為研究北極的鹽度數(shù)據(jù),我們利用美國NOAA網(wǎng)站數(shù)據(jù)庫,采用歸并算法[5]思想,并利用云計算按需申請、動態(tài)分配、快速部署等特點,多步驟依次對數(shù)據(jù)進行歸并處理,第一次對鹽度數(shù)據(jù)在云計算環(huán)境下的提取作了嘗試性研究。該研究成果可以很方便地應用于其它海洋數(shù)據(jù)的提取和處理,為課題所需的其它基礎(chǔ)數(shù)據(jù)的獲取和分析打下了堅實基礎(chǔ)。
1技術(shù)背景
美國NOAA網(wǎng)站數(shù)據(jù)庫保存了全球海洋鹽度數(shù)據(jù),用戶可以通過設定經(jīng)緯度、日期、測量值類型(例如:風力,溫度,鹽度等)、下載數(shù)據(jù)文件格式等不同的查詢參數(shù)來獲取不同地區(qū)、不同類型的數(shù)據(jù),并通過FTP服務供用戶下載。
1.1數(shù)據(jù)提取
因本課題主要對北極地區(qū)生態(tài)系統(tǒng)進行研究,所以我們只需提取位于經(jīng)度為65°N -85°N、緯度為20°W -10°E之間的鹽度數(shù)據(jù)。由于鹽度數(shù)據(jù)量非常龐大,為方便數(shù)據(jù)處理,我們以5度為一個經(jīng)度單位,分4次依次提取65°N-70°N,70°N-75°N,75°N-80°N,80°N-85°N之間的數(shù)據(jù)。
1.2數(shù)據(jù)分析
對下載的數(shù)據(jù)初步分析后發(fā)現(xiàn),不同區(qū)域的數(shù)據(jù)量各不相同,同一區(qū)域數(shù)據(jù)還具有多種數(shù)據(jù)格式,不同格式數(shù)據(jù)文件的數(shù)據(jù)量也不一樣,有的只有幾萬條記錄,而有的多達幾十萬條記錄??紤]到數(shù)據(jù)的精確性,在每個區(qū)域中我們選擇數(shù)據(jù)量最大的數(shù)據(jù)文件進行數(shù)據(jù)分析和統(tǒng)計。原始的數(shù)據(jù)文件格式如圖1所示。
圖1 原始數(shù)據(jù)文件格式
雖然不同格式數(shù)據(jù)文件中數(shù)據(jù)量各不相同,但其數(shù)據(jù)格式基本與圖1類似。每個鹽度數(shù)據(jù)都以“#------”開始,以“END OF VARIABLES SECTION”和“#------”結(jié)束。每個數(shù)據(jù)都包含有經(jīng)緯度、日期、海水深度、鹽度等信息。
1.3云計算
云計算是信息平臺和服務的一種業(yè)務模式, 是通過網(wǎng)絡統(tǒng)一組織和靈活調(diào)用各種ICT 資源,實現(xiàn)大規(guī)模計算的信息處理方式[8]。其所特有的按需付費、高可用性、高可靠性和高可擴展性等特點使其逐漸成為繼水、電、氣及通信技術(shù)之后的第五大公共平臺,成為一個戰(zhàn)略性新興產(chǎn)業(yè)[9],是一種面向未來的新的計算模式[10-12]。與傳統(tǒng)的分布式計算相比,其具有:可以根據(jù)計算規(guī)模的大小動態(tài)租用云計算資源,并能實現(xiàn)分布式環(huán)境的快速部署和復制;可以根據(jù)計算時間實現(xiàn)按需付費;避免用戶購買昂貴的硬件設施,極大降低計算成本,提升計算效率等多種優(yōu)勢。
由于我們在數(shù)據(jù)提取過程中獲取了海量的鹽度數(shù)據(jù),為提升數(shù)據(jù)處理效率、降低數(shù)據(jù)處理成本,同時避免自己搭建分布式計算環(huán)境的麻煩,我們嘗試利用微軟Azure公有云計算平臺來實現(xiàn)對鹽度數(shù)據(jù)的處理,并對其進行分析和評估,為后續(xù)工作中需要提取和處理其它類型的海量數(shù)據(jù)積累經(jīng)驗。
2技術(shù)背景
2.1數(shù)據(jù)提取格式
根據(jù)鹽度數(shù)據(jù)研究的實際要求,需要對圖1中的數(shù)據(jù)進行分析和提取,形成如表1所示的規(guī)整鹽度數(shù)據(jù)。其中,經(jīng)度和緯度字段需通過四舍五入操作轉(zhuǎn)換成整數(shù)。
表1 鹽度數(shù)據(jù)主要字段
2.2數(shù)據(jù)提取難點
由于原始鹽度數(shù)據(jù)格式的復雜性,生成如表1所示的格式規(guī)整的鹽度數(shù)據(jù)有以下幾個難點。
(1) 數(shù)據(jù)格式不規(guī)范:雖然大部分鹽度數(shù)據(jù)格式和字段數(shù)量都相同,但有少數(shù)鹽度數(shù)據(jù)與其他正常鹽度數(shù)據(jù)相比會多幾個或少幾個字段,有的甚至只有測量時間和地點,卻沒有相應鹽度數(shù)據(jù)。由于鹽度數(shù)據(jù)量巨大,因此無法逐一人工排查和刪除非規(guī)范鹽度數(shù)據(jù),這為數(shù)據(jù)歸并算法的設計帶來了很大挑戰(zhàn)。
(2) 各測量點的隨機性:原始數(shù)據(jù)中,各測量點經(jīng)緯度坐標具有很大隨機性,有的經(jīng)緯度坐標相隔較遠,通過四舍五入取整后可以歸類到不同的經(jīng)緯度坐標。有的經(jīng)緯度坐標相互間靠得非常近,通過四舍五入取整后,需要歸類到同一個經(jīng)緯度坐標,這就需要對這些鹽度數(shù)據(jù)進行合并后求其平均值。
(3) 測量深度的隨機性:有的測量點以1米為深度間隔,同一個測量點記錄了數(shù)千個不同海水深度的鹽度數(shù)據(jù);有的測量點以幾十米至幾百米的深度為間隔,同一個測量點只記錄少量的不同海水深度的鹽度數(shù)據(jù);還有的測量點只記錄海水深度,卻沒有記錄相應的鹽度數(shù)據(jù)。這為數(shù)據(jù)按海水深度歸并成表1所示的5個不同深度的鹽度數(shù)據(jù)帶來了困難。
(4) 測量時間的隨機性:有的測量點一個月內(nèi)進行了多次測量,有的測量點上可能只測量了很少的幾次甚至沒有測量。同一個測量點上,在不同的時間段內(nèi),其測量的次數(shù)也具有隨機性和不確定性,這為數(shù)據(jù)按時間維度進行歸并帶來了困難。
(5) 鹽度數(shù)據(jù)量巨大:由于每個測量點上都可能有數(shù)千條不同深度的鹽度數(shù)據(jù),因此整個區(qū)域的數(shù)據(jù)量非常巨大,即使把北極的格陵蘭海地區(qū)分為4個區(qū)域分別下載原始的鹽度數(shù)據(jù),每個區(qū)域的鹽度數(shù)據(jù)的CSV文件都有幾十MB大小,近百萬條記錄。這就對數(shù)據(jù)處理算法提出了很高的要求,需要設計出能快速處理海量鹽度數(shù)據(jù)的算法和處理程序。
2.3數(shù)據(jù)提取算法
為提高數(shù)據(jù)處理效率,降低算法復雜性,本文設計了分步數(shù)據(jù)歸并算法[6]。與常規(guī)的數(shù)據(jù)歸并算法一般先要對數(shù)據(jù)進行分塊和排序,然后再進行歸并[7]不同,本文的歸并是對現(xiàn)有的數(shù)據(jù)進行計算并根據(jù)計算的結(jié)果對數(shù)據(jù)進行合并操作,即把一個大的數(shù)據(jù)集經(jīng)過多次歸并運算后得到一個小的結(jié)果集。基本步驟如下:
(1) 按測量深度進行數(shù)據(jù)歸并:把每個測量點上不同深度的鹽度數(shù)據(jù)歸并為“小于50米”、“50至100米”、“100至150米”、“150至200米”、“大于200米”共5個不同深度鹽度數(shù)據(jù)。
(2) 按測量點進行數(shù)據(jù)歸并:對歸并后的鹽度數(shù)據(jù)按經(jīng)緯度和測量時間排序,然后再對各測量點的經(jīng)緯度進行四舍五入取整操作,并對歸類到相同經(jīng)緯度坐標上同一天的鹽度數(shù)據(jù)進行合并。
(3) 按測量時間進行數(shù)據(jù)歸并:對二次歸并后鹽度數(shù)據(jù)按時間排序,并按照系統(tǒng)設定的時間間隔把小于間隔時間并且經(jīng)緯度相同的鹽度數(shù)據(jù)再次歸并。
2.3.1按測量深度進行數(shù)據(jù)歸并的算法
對圖1所示的原始鹽度數(shù)據(jù)的格式進行分析發(fā)現(xiàn)鹽度數(shù)據(jù)格式有以下幾個特點:
(1) 測量點的數(shù)據(jù)以“#---”開始,以“#---”結(jié)束。其中,鹽度數(shù)據(jù)以“Prof-Flag”標識開始,以“END OF VARIABLES SECTION”結(jié)束。
(2) 每個測量點都有經(jīng)度、維度、測量年份、測量月份、測量日期等幾個字段信息。但因數(shù)據(jù)格式及每個測量點上數(shù)據(jù)量不固定,其在數(shù)據(jù)記錄中的位置也不盡相同。
(3) 個別鹽度數(shù)據(jù)只記錄了海水深度,但卻無對應的鹽度數(shù)據(jù)。
根據(jù)以上鹽度數(shù)據(jù)的特點,本文設計了按測量深度進行數(shù)據(jù)歸并的算法,算法流程如圖2所示。
圖2 按測量深度的數(shù)據(jù)歸并算法流程
算法執(zhí)行步驟如下:
(1) 打開數(shù)據(jù)文件設定行號row=1;
(2) 獲取第row行,第1列元素rx=Cells[row,1];
(3) 若rx==null,則為最后一行記錄,算法運行結(jié)束,否則轉(zhuǎn)步驟(4);
(4) r1= Cells[row,1],若r1= =“prof-flag”,則該測量點有鹽度數(shù)據(jù),轉(zhuǎn)步驟(5),否則該測量點無鹽度數(shù)據(jù),轉(zhuǎn)步驟(10);
(5) 從第row行開始,向上搜索日期信息“Day”、“Month”、“Year”以及經(jīng)緯度“Longitude”和“Latitude”,并保存;
(6) 從row+1行開始依次獲取不同海水深度的鹽度數(shù)據(jù)r=Cells[row,1];
(7) 若r!=“END OF VARIABLES SECTION”,則獲取該鹽度數(shù)據(jù)所對應的海水深度,并按表1所示,分別對5個鹽度數(shù)據(jù)進行匯總統(tǒng)計,否則直接轉(zhuǎn)入步驟(9);
(8) 獲取下一個鹽度數(shù)據(jù)r=Cells[++row,1],轉(zhuǎn)步驟(7);
(9) 保存該測量點經(jīng)緯度、時間及各海水深度的平均鹽度數(shù)據(jù)信息;
(10) rx=Cells[++row,1],轉(zhuǎn)步驟(3);
以上算法流程可以看出,該算法從數(shù)據(jù)文件的第一行開始,按序進行數(shù)據(jù)處理,整個算法只用了一個單層循環(huán)語句,時間復雜度為O(n)。該時間復雜度也是對數(shù)據(jù)進行批量處理的最優(yōu)時間復雜度,因此該算法具有很好的處理性能。
2.3.2按測量點進行數(shù)據(jù)歸并的算法
按測量深度歸并后,以各測量點及測量時間為單位形成了規(guī)整的數(shù)據(jù)記錄。由于各測量點經(jīng)緯度坐標具有隨機性,這就需要對通過四舍五入取整歸類到同一個整數(shù)經(jīng)緯度坐標上的鹽度數(shù)據(jù)再次進行合并,并求他們的平均值。按測量點進行數(shù)據(jù)歸并的算法流程如圖3所示。
圖3 按測量點的數(shù)據(jù)歸并算法流程
其算法基本執(zhí)行步驟如下:
(1) 打開按測量深度進行歸并后的鹽度數(shù)據(jù)文件;按經(jīng)度和維度進行排序;
(2) 設row=1;取第row行第一列元素r=Cells[row,1];
(3) 若r等于空,則表示已處理完全部數(shù)據(jù),程序結(jié)束,否則進入步驟(4);
(4) 對當前行的經(jīng)緯度進行四舍五入取整,并設定臨時變量tmpI=row;
(5) tmpI++, 取下一行數(shù)據(jù)的經(jīng)緯度并進行四舍五入取整;
(6) 若兩個經(jīng)緯度不完全相同,則無需合并,轉(zhuǎn)入步驟(9),否則轉(zhuǎn)入步驟(7);
(7) 對鹽度數(shù)據(jù)進行合并運算;
(8) 轉(zhuǎn)入步驟(5);
(9) row=tmpI; r=Cells[row,1]轉(zhuǎn)入步驟(3)。
從上面算法流程可以看出,該算法的時間復雜度也為O(n)。按測量時間進行數(shù)據(jù)歸并的算法與以上兩個算法類似,這里不在贅述。通過分析不難得到,其算法時間復雜度也為O(n)。
3系統(tǒng)實現(xiàn)
3.1系統(tǒng)架構(gòu)
整個系統(tǒng)由數(shù)據(jù)庫服務器、文件及配置服務器、主計算節(jié)點和若干個子計算節(jié)點組成,其架構(gòu)如圖4所示。
圖4 系統(tǒng)架構(gòu)
(1) 文件及配置服務器:保存原始鹽度數(shù)據(jù)文件及系統(tǒng)配置信息,所有計算子節(jié)點都根據(jù)本服務器系統(tǒng)配置信息獲取相應鹽度數(shù)據(jù)文件并進行計算和處理。
(2) 數(shù)據(jù)庫服務器:所有計算節(jié)點把從原始鹽度數(shù)據(jù)文件獲取的基礎(chǔ)數(shù)據(jù)保存到數(shù)據(jù)庫服務器中,方便將來進行其它形式處理時無需再重復訪問原始數(shù)據(jù)文件。
(3) 子計算節(jié)點:從文件及配置服務器上下載相應的鹽度數(shù)據(jù)文件,并自動維護和修改相應配置信息,根據(jù)2.3節(jié)的數(shù)據(jù)歸并算法完成對該鹽度數(shù)據(jù)文件的處理和歸并。
(4) 主計算節(jié)點:用于接收從各計算子節(jié)點處理完畢的鹽度數(shù)據(jù),并完成最后的數(shù)據(jù)排序和合并。
系統(tǒng)部署和運行流程如下:
(1) 在Windows Azure中創(chuàng)建四臺虛擬機分別作為文件和配置服務器、數(shù)據(jù)庫服務器、主計算節(jié)點和一個子計算節(jié)點。
(2) 所有的原始數(shù)據(jù)文件保存到文件和配置服務器,并在配置文件中設置所有文件的保存路徑、文件名、是否已被處理等信息。
(3) 把數(shù)據(jù)歸并算法程序部署到子計算節(jié)點,并為其設置文件和配置服務器、數(shù)據(jù)庫服務器和主計算節(jié)點的地址信息,使子計算節(jié)點能自動獲取、處理、保存和上傳數(shù)據(jù)。
(4) 用虛擬機復制技術(shù)來快速部署多個子計算節(jié)點。
(5) 子計算節(jié)點被部署和運行后,自動訪問文件和配置服務器,并下載還未被處理的原始鹽度數(shù)據(jù)文件,讀取數(shù)據(jù),保存到數(shù)據(jù)庫,并進行歸并處理。
(6) 子計算節(jié)點的數(shù)據(jù)處理完后,自動提交到主計算節(jié)點,并再次訪問文件和配置服務器獲取下一份還未處理的數(shù)據(jù)文件。
(7) 主計算節(jié)點每次接收到子計算節(jié)點的數(shù)據(jù)后驗證接收數(shù)據(jù)的次數(shù)和文件和配置服務器中的原始文件數(shù)是否相等,若相等則表示已經(jīng)接收到所有的數(shù)據(jù),則開始進行最后的排序和歸并,并輸出結(jié)果,若不相等則繼續(xù)等待。
整個系統(tǒng)架構(gòu)可以根據(jù)實際數(shù)據(jù)量的大小來動態(tài)調(diào)整子計算節(jié)點的個數(shù),可以把原始數(shù)據(jù)劃分成多個數(shù)據(jù)文件,分發(fā)給多個子計算節(jié)點同時計算。
3.2系統(tǒng)實現(xiàn)
算法程序基于微軟.NET Framework 4.5平臺,采用C#語言開發(fā)。實驗運行環(huán)境為:Windows Azure公有云,虛擬機為AMD雙核,2GB內(nèi)存,Windows Server 2012 64位操作系統(tǒng),Sql Server 2012數(shù)據(jù)庫。整個系統(tǒng)共由6個虛擬機構(gòu)成,分別為1個主計算節(jié)點、3個子計算節(jié)點、一個數(shù)據(jù)庫服務器和一個文件及配置服務器。
4實驗結(jié)果與分析
4.1算法效率分析
以對經(jīng)度65°N -70°N,維度20°W -10°E之間的鹽度數(shù)據(jù)進行處理為例。我們把這些數(shù)據(jù)大致均分到6個單獨的數(shù)據(jù)文件,分別采用1個子計算節(jié)點、2個子計算節(jié)點和3個子計算節(jié)點來重復處理這些數(shù)據(jù),實驗發(fā)現(xiàn)用2個子計算節(jié)點比1個子計算節(jié)點節(jié)約了大約45%的時間,3個子計算節(jié)點比1個子計算節(jié)點節(jié)約了大約62%的時間。以上可以看出,利用云計算技術(shù),我們可以快速部署相應虛擬機來實現(xiàn)分布式計算,有效提高計算效率、降低計算成本,同時又避免了自己搭建分布式計算環(huán)境的麻煩。
該區(qū)域原始鹽度數(shù)據(jù)量為1 002 773條記錄,首先按測量深度進行歸并后得到11 250條有效數(shù)據(jù),再經(jīng)按測量點進行鹽度數(shù)據(jù)歸并運算后得到1082條記錄,最后按測量時間以月為單位歸并后得到513條有效數(shù)據(jù)。容易看出,算法第一次執(zhí)行歸并時,數(shù)據(jù)量從百萬級別降低到萬的級別,執(zhí)行第二次歸并后從萬的級別降低到千的級別,最后降低到百的級別。而每次歸并算法的時間復雜度都為O(n),因此整個算法的時間復雜度主要取決于第一次的數(shù)據(jù)歸并算法,即為O(n)。
4.2鹽度在北極格陵蘭海地區(qū)的分布
我們提取了2003-2012年北極格陵蘭海地區(qū)65°N -85°N、20°W -10°E的全部鹽度數(shù)據(jù)。由于北極很大一部分時間是處于極夜,所以我們注重于從每年的第72天到第272天(3~9月)的數(shù)據(jù)。最后得出所研究區(qū)域10年內(nèi)的數(shù)據(jù)分布情況。
圖5是研究區(qū)域鹽度在10年內(nèi)的年平均值。圖6是研究區(qū)域在10年內(nèi)的月平均值,這里都是取的1200米的深度平均。從圖5可以看出,2003年鹽度最低,其次就是2006年的鹽度相對比較低。從圖6可以看出,鹽度在3月到5月整體穩(wěn)定,但在6月出現(xiàn)明顯下降,之后從7月到9月持續(xù)增長,上升趨勢明顯。 圖7給出了鹽度在研究區(qū)域10年內(nèi)的平均分布三維圖,從圖中可以看出,鹽度整體處于相對穩(wěn)定的狀態(tài), 起伏幅度不大。
圖5 鹽度在研究區(qū)域的10年的年平均值
圖6 鹽度在研究區(qū)域的10年的月平均值
圖7 鹽度在研究區(qū)域的整體平均值分布
通過對原始的海量鹽度數(shù)據(jù)進行歸并計算后,我們以非常直觀的圖形,描繪出了10年來格陵蘭海地區(qū)的海水鹽度的變化,為后續(xù)研究提供有力的數(shù)據(jù)支持。
5結(jié)語
海洋鹽度數(shù)據(jù)量非常龐大,而受制于北極氣候條件和現(xiàn)有科考條件等限制,北極地區(qū)的鹽度數(shù)據(jù)無論是在時間跨度、經(jīng)緯度特征還是數(shù)據(jù)采樣分布等屬性上都不規(guī)整,這為數(shù)據(jù)的提取帶來了很大難度。本文對北極海洋鹽度數(shù)據(jù)的提取只是一個初步的嘗試,但為溫度、浮游生物等后續(xù)數(shù)據(jù)的提取有重要的借鑒意義。對于特別巨大的數(shù)據(jù),可以利用本文的方法把原始數(shù)據(jù)劃分為多個數(shù)據(jù)集,并利用云計算技術(shù)同時進行分布式歸并運算,最后把歸并后的數(shù)據(jù)再集中到一起進行總的歸并后得到最終結(jié)果。云計算按需付費、高可擴充性、廉價等特點尤其適合用于開展地理和環(huán)境方面大規(guī)模的科學計算和研究,不但可以大大提升數(shù)據(jù)處理效率,還有效避免了自己建立傳統(tǒng)的分布式計算環(huán)境的復雜性、降低計算成本。本文的研究成果為后續(xù)海洋溫度數(shù)據(jù)和海洋浮游植物數(shù)據(jù)的提取以及三者之間關(guān)系的研究打下了良好的基礎(chǔ)。
參考文獻
[1] 陳建,張韌,王輝贊,等.Matlab對基于二進制-XML混合格式的SMOS鹽度數(shù)據(jù)的提取方法與實現(xiàn)[J].海洋通報,2011(6):692-696.
[2] 朱江,周廣慶,閆長香,等.一個三維變分海洋資料同化系統(tǒng)的設計和初步應用[J].地球科學(D輯),2007,37(2):261-271.
[3] Stroeve J,Holland M M,Meir W,et al.Arctic sea ice decline: faster than forecast[J].Geophysical Research Letters,2007,63(1):1-11.
[4] Qu B,Gabric A J,Matrai P A.The Satellite-Derived Distribution of Chlorophyll-a and its Relation to Ice Cover,Radiation and Sea Surface Temperature in the Barents Sea[J].Polar Biology,2006,29:196-210.
[5] 王穎,李肯立,李浪,等.縱橫多路并行歸并算法[J].計算機研究與發(fā)展,2006,43(12):2180-2186.
[6] 范時平,汪林林.一種基于數(shù)據(jù)分塊的快速原地歸并算法[J].計算機科學,2004,31(8):204-208.
[7] 姜忠華,徐文麗,劉家文,等.智能歸并排序[J].電子設計工程,2011,19(21):53-55.
[8] 工業(yè)與信息化部電信研究院.云計算白皮書[R].2012.
[9] 李國杰.應用為先,統(tǒng)籌規(guī)劃——關(guān)于云計算發(fā)展策略的思考[M]//中國信息化形勢分析與預測.社會科學文獻出版社,2012:107-120.
[10] Antonio,Corradi,Mario,et al.VM consolidation:A real case based on OpenStack Cloud[J].Future Generation Computer Systems,2014,36:118-127.
[11] Amazon EC2 Instances-Cluster Networking[EB/OL].http://aws.amazon.com/ec 2/instance-types.
[12] Armbrust M,Fox A,Griffith R,et al.A view of cloud computing[J].Communications of the ACM,2010,53:50-58.
收稿日期:2014-12-08。國家自然科學基金項目(41276097,4130 1514);江西省高性能重點實驗室項目(PKLHPC1303)。朱曉輝,副教授,主研領(lǐng)域:計算機軟件與理論。瞿波,副教授。任紅健,副教授。
中圖分類號TP391
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.07.021
RESEARCH ON SALINITY DATA EXTRACTION ALGORITHM FOR GREENLAND SEA IN CLOUD COMPUTING ENVIRONMENT
Zhu Xiaohui1Qu Bo2*Ren Hongjian1
1(SchoolofComputerScienceandTechnology,NantongUniversity,Nantong226019,Jiangsu,China)2(SchoolofScience,NantongUniversity,Nantong226019,Jiangsu,China)
AbstractOcean salinity has close relationship with ocean temperature and marine phytoplankton, and is one of the important parameters in the study of the influence of ocean circulation and ocean on climate. This paper discusses in detail the extraction of salinity data, of which the world ocean information database of American National Oceanographic Data Centre (NOAA) is used as the data resource, and the area of the Greenland Sea in Arctic within 20°W - 10°E, 65°N - 85°N is taken as the studying region. We propose a multi-steps merging algorithm for salinity data with a time complexity of O(n), it utilises the characteristics of Microsoft Azure public cloud that pay-on-demand and dynamic expansion to capture the cheap and convenient computation resources, and greatly improves computation efficiency. The algorithm has strong scalability and is able to dynamically adjust the required computation resources according to actual computation demand, therefore can meet the demands of different computation sizes. Experimental result shows that this algorithm can fast analyse and merge massive original salinity data and creates the formatted salinity data in 3 dimensions: longitude and latitude, time and salinity.
KeywordsSalinityGreenland seaLongitude and latitude coordinatesData extractionMerging algorithmCloud computing