国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

海洋3S數(shù)據(jù)存儲處理系統(tǒng)研究

2019-07-08 02:23:41趙樹平禹小弦
電腦知識與技術(shù) 2019年13期

趙樹平 禹小弦

摘要:針對大量海洋3S數(shù)據(jù)的存儲處理復(fù)雜和低效率的問題,提出了一種海洋3S數(shù)據(jù)存儲處理的設(shè)計方案。該系統(tǒng)通過海洋遙感ORS連續(xù)影像處理和GPS立體測量,建立三維形狀模型,然后提取目標(biāo)特征更新海洋地理系統(tǒng)MGIS的數(shù)據(jù),并將收集到的海洋3S數(shù)據(jù)通過Hadoop架構(gòu)的HDFS進(jìn)行存儲、MapReduce進(jìn)行處理。該系統(tǒng)運(yùn)用Hadoop技術(shù)進(jìn)行海洋3S數(shù)據(jù)存儲與處理并提供了可行性的方案。

關(guān)鍵詞:海洋3S數(shù)據(jù);存儲處理;Hadoop;HDFS;MapReduce

中圖分類號:P73 ? ? ? ?文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)13-0003-03

Abstract: Aiming at the complexity and low efficiency of storage processing of a large number of marine 3S data, a design scheme of marine 3S data storage processing is proposed. The system uses the remote sensing ORS continuous image processing and GPS stereo measurement to establish a three-dimensional shape model, and then extracts the target feature to update the marine geographic system MGIS data, and collects the collected marine 3S data through the Hadoop architecture HDFS for storage and MapReduce processing. The system uses Hadoop technology to store and process marine 3S data and provides a viable solution.

Key words: Marine 3S data; storage processing; Hadoop; HDFS; MapReduce

隨著人們對海洋環(huán)境和資源的高度重視,越來越多的海洋數(shù)據(jù)被大量發(fā)掘出來,包括水文信息,還有地形,地貌等地質(zhì)數(shù)據(jù),還有各種衛(wèi)星遙感和浮標(biāo)等獲得的海洋數(shù)據(jù)。海洋3S數(shù)據(jù)是通過海洋遙感ORS采集或通過海洋中的各種傳感器捆綁GPS定位數(shù)據(jù)采集和海洋遙感ORS數(shù)據(jù)及GPS定位數(shù)據(jù)通過海洋地理系統(tǒng)MGIS分析處理得到的綜合海洋數(shù)據(jù)。它具有屬性多樣性,動態(tài)不穩(wěn)定性,復(fù)雜性和無序性等特點[1-4]。

本文主要是以大量海洋3S數(shù)據(jù)作為基礎(chǔ),結(jié)合海洋3S數(shù)據(jù)和Hadoop,構(gòu)建一個簡單的包含數(shù)據(jù)的存儲部分以及數(shù)據(jù)的處理部分的海洋3S數(shù)據(jù)存儲處理系統(tǒng)的整體框架[5-7]。

1 海洋3S數(shù)據(jù)存儲處理系統(tǒng)框圖

海洋3S數(shù)據(jù)存儲處理系統(tǒng)分為數(shù)據(jù)收集模塊、數(shù)據(jù)在HDFS存儲模塊、數(shù)據(jù)轉(zhuǎn)換模塊和MapReduce數(shù)據(jù)處理模塊。數(shù)據(jù)收集模塊是以海洋3S技術(shù)探測為背景,通過連續(xù)影像處理和立體測量,建立三維形狀模型,然后提取目標(biāo)特征更新MGIS數(shù)據(jù)并獲得數(shù)據(jù),并將收集到的海洋3S數(shù)據(jù)按照特定的原則暫時存儲在本地上;數(shù)據(jù)在HDFS上的存儲模塊包含了數(shù)據(jù)存儲功能和重復(fù)數(shù)據(jù)的刪除功能。所有監(jiān)測獲取的數(shù)據(jù)文件最終都會自動存儲進(jìn)HDFS分布式文件系統(tǒng)中。如果在傳輸過程中遇到被破損的文件或者重復(fù)多次傳輸?shù)那闆r,那么為了節(jié)省HDFS的有限存儲空間,此模塊將對傳輸?shù)乃袛?shù)據(jù)進(jìn)行去重工作;數(shù)據(jù)轉(zhuǎn)換模塊是因為存儲在HDFS中的數(shù)據(jù)并不是接收所有格式的文件,因此,此模塊將不接收的數(shù)據(jù)格式,轉(zhuǎn)換為HDFS接收的數(shù)據(jù)格式,使數(shù)據(jù)正常進(jìn)入數(shù)據(jù)庫中。MapReduce處理模塊是轉(zhuǎn)換格式后的數(shù)據(jù)將在此模塊中進(jìn)行數(shù)據(jù)的格式轉(zhuǎn)換操作,并將數(shù)據(jù)傳入HDFS中存儲。根據(jù)海洋數(shù)據(jù)的不同種類進(jìn)行數(shù)據(jù)的處理,提供并保證了數(shù)據(jù)處理的功能[8-9]。

如圖1所示,此系統(tǒng)可以看成4個層次,由上至下分別為數(shù)據(jù)層,過渡層,處理層,存儲層[10]。。首先數(shù)據(jù)層是通過海洋遙感及GPS精確定位對海洋3S數(shù)據(jù)進(jìn)行初始的收集以及對其數(shù)據(jù)進(jìn)行相應(yīng)的簡單處理并進(jìn)行物理上的存儲,在過渡層,可以輸入的格式將直接通過DFS外殼的過渡將數(shù)據(jù)轉(zhuǎn)到HDFS中存儲,不可以輸入的格式將會通過數(shù)據(jù)格式的轉(zhuǎn)換后轉(zhuǎn)到HDFS中存儲,起到了對服務(wù)的過渡以及相應(yīng)的格式轉(zhuǎn)換調(diào)用的作用,而處理層包括MapReduce,它與HDFS的數(shù)據(jù)相互交互以及共同作用是對海洋數(shù)據(jù)進(jìn)行高效處理的主要部分,同時也擁有著存儲的作用,處理完的所有的數(shù)據(jù)最終都會存儲在HDFS上,最后放在存儲層上的為HDFS服務(wù)器,其中存儲著所有的數(shù)據(jù)。在對數(shù)據(jù)進(jìn)行存儲處理的過程中,應(yīng)該先把所有通過監(jiān)測點收集到的數(shù)據(jù)全部存儲到HDFS分布式文件存儲系統(tǒng)中,對數(shù)據(jù)進(jìn)行去重的操作, 然后進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換和轉(zhuǎn)換后數(shù)據(jù)的處理操作,并根據(jù)查詢條件MapReduce實現(xiàn)對數(shù)據(jù)的查詢操作。

2 海洋3S數(shù)據(jù)存儲處理軟件流程圖

2.1 數(shù)據(jù)存儲軟件流程圖

海洋3S數(shù)據(jù)存儲部分采用了主從結(jié)構(gòu),此部分包含有一個主元數(shù)據(jù)節(jié)點,一個輔助元數(shù)據(jù)節(jié)點和幾個數(shù)據(jù)分節(jié)點。主元數(shù)據(jù)節(jié)點是整個HDFS的主節(jié)點,有且只能有一個,其中存儲著HDFS的元數(shù)據(jù)信息。它的作用多且強(qiáng)大,它可以用來管理文件的數(shù)據(jù)信息,如文件的屬性、大小、位置、名稱等;在用戶對文件的修改、刪除、增加等操作的相關(guān)部分信息也可以起到維護(hù)的作用,同時保持文件與數(shù)據(jù)塊之間的對應(yīng)關(guān)系也可以用到它。輔助元數(shù)據(jù)節(jié)點雖然可以看作是主元數(shù)據(jù)節(jié)點的備份,但并不是主元數(shù)據(jù)節(jié)點的備份,因為當(dāng)主元數(shù)據(jù)節(jié)點出現(xiàn)故障時,輔助元數(shù)據(jù)節(jié)點并不能迅速、徹底頂替它的位置。輔助元數(shù)據(jù)節(jié)點會定期合并元數(shù)據(jù)信息,并推送給主元數(shù)據(jù)節(jié)點,當(dāng)主元數(shù)據(jù)節(jié)點出現(xiàn)故障時,它會暫時接替主元數(shù)據(jù)節(jié)點繼續(xù)進(jìn)行工作。 數(shù)據(jù)分節(jié)點是HDFS中的從屬節(jié)點,存儲實際的數(shù)據(jù)塊并執(zhí)行數(shù)據(jù)塊的讀寫功能。HDFS客戶端可以實現(xiàn)數(shù)據(jù)的等量拆分,它是通過與主元數(shù)據(jù)節(jié)點之間的相互交流來確定文件的具體位置信息,還通過與數(shù)據(jù)分節(jié)點的相互交流來讀寫入數(shù)據(jù)。在HDFS當(dāng)中,文件會被分割為很多的等大的數(shù)據(jù)塊,且這些數(shù)據(jù)塊的默認(rèn)值為64MB,所有的數(shù)據(jù)塊會根據(jù)特定的方案存儲在數(shù)據(jù)分節(jié)點上,同時,這些數(shù)據(jù)文件的存儲位置以及相關(guān)信息會記入主元數(shù)據(jù)節(jié)點中,如果其中有分節(jié)點出了問題,可以在其他的節(jié)點中獲取一樣的數(shù)據(jù)。具體存儲過程為,首先,數(shù)據(jù)分節(jié)點1以數(shù)據(jù)包的形式從HDFS客戶端收進(jìn)數(shù)據(jù)時會立刻在本地存儲,同時給數(shù)據(jù)分節(jié)點2傳送數(shù)據(jù),同樣當(dāng)數(shù)據(jù)分節(jié)點2收到數(shù)據(jù)時在本地存儲并發(fā)給數(shù)據(jù)分節(jié)點3,以此類推,數(shù)據(jù)包就會被所有的數(shù)據(jù)分節(jié)點備份上,那么所有數(shù)據(jù)分節(jié)點都收到數(shù)據(jù)后都會向自己的前一個數(shù)據(jù)分節(jié)點發(fā)一個確認(rèn)消息,直到數(shù)據(jù)分節(jié)點1發(fā)送給HDFS客戶端,此時,HDFS客戶端會與主元數(shù)據(jù)節(jié)點進(jìn)行數(shù)據(jù)存儲到所有節(jié)點的相互確認(rèn)。

數(shù)據(jù)存儲流程圖見圖2,數(shù)據(jù)監(jiān)測點采集到數(shù)據(jù)后先把數(shù)據(jù)放在本地,然后將海洋數(shù)據(jù)存儲到HDFS上面,系統(tǒng)通過Hadoop提供的接口把本地獲取的3S數(shù)據(jù)上傳并存儲到HDFS上。每個監(jiān)測點都作為一個端口,將海洋3S數(shù)據(jù)上傳到HDFS端口中,實時更新中的數(shù)據(jù)文件們將被監(jiān)測點收集并不間斷存儲進(jìn)特定的文件中。因為數(shù)據(jù)是在不斷更新中的,所以要設(shè)置一個合理的時間間隔,那么每到達(dá)一次指定時間,數(shù)據(jù)就會從本地再次向HDFS通道進(jìn)行數(shù)據(jù)的存儲。并且在確認(rèn)文件存儲完成時直接刪除已經(jīng)進(jìn)行過操作的本地文件。按照上面的過程反復(fù)執(zhí)行,可以將實時更新的數(shù)據(jù),準(zhǔn)時、高效的存儲到HDFS中[11-15]。

首先收集的文件開始存儲,因為數(shù)據(jù)是在不斷地更新中,因此設(shè)置了一個時間的間隔,那么每到達(dá)這個時間間隔時將會進(jìn)行數(shù)據(jù)的更新同時再次存儲文件,此時要判斷文件是否存儲成功,如果不是,則直接結(jié)束并刪除掉數(shù)據(jù),反之存儲成功則直接進(jìn)行本地文件存儲,并建立HDFS存儲通道,此時判斷該數(shù)據(jù)文件是否為可以讀取的信息,是則將本地文件存儲到HDFS通道后進(jìn)行下一批次的判斷,反復(fù)執(zhí)行,直到出現(xiàn)不是,然后結(jié)束存儲,并關(guān)閉HDFS的通道,同時直接刪除掉已經(jīng)成功存儲完成的本地文件數(shù)據(jù),避免空間的過度浪費(fèi)。反復(fù)執(zhí)行以上操作,這樣可以實時的更新HDFS的數(shù)據(jù),保證完整性以及準(zhǔn)確度。上述的流程,在存儲數(shù)據(jù)的過程中,系統(tǒng)的故障和網(wǎng)絡(luò)傳輸延遲都可能會導(dǎo)致發(fā)送處理中的數(shù)據(jù)的波動,導(dǎo)致海洋3S數(shù)據(jù)文件被反復(fù)的上傳到HDFS中。這樣會極大浪費(fèi)存儲空間,所以在數(shù)據(jù)存儲之前需要進(jìn)行數(shù)據(jù)的檢查和去重工作,使每個文件在HDFS中只有一個,保證數(shù)據(jù)的唯一性。

2.2 數(shù)據(jù)處理軟件流程圖

數(shù)據(jù)處理部分以Map和Reduce為核心。首先是Map階段把輸入的數(shù)據(jù)按照標(biāo)準(zhǔn)切分,每個輸入分塊的大小都應(yīng)該是一樣的。在沒有手動更改的情況下,數(shù)據(jù)塊的大小與輸入塊的大小是一樣的。如果以數(shù)據(jù)塊的大小是初始的默認(rèn)值64MB,輸入文件有兩個,一個大于64MB,一個小于64MB。那么大文件會分為兩個數(shù)據(jù)塊,也就是兩個分塊,而小的文件是一個分塊,一共會產(chǎn)生三個文件的分塊。每一個分塊會由一個Mapper進(jìn)程處理,三個數(shù)據(jù)分塊,就會有三個Mapper進(jìn)程處理。然后是對數(shù)據(jù)分塊中的內(nèi)容依靠一定的方法分解成為鍵值對,其中把每一行文本內(nèi)容解析成默認(rèn)規(guī)定的鍵值對, “鍵”是每行的初始位置,“值”是本行的內(nèi)容。接下來是運(yùn)用Map方法,在前面解析出來的每一個鍵值對,都使用一次Map方法,有多少個鍵值對就會使用多少次,每一次使用Map方法都會不定的輸出多個或者零個鍵值對。然后在一定的原則基礎(chǔ)上對上面得出的鍵值對進(jìn)行詳細(xì)分區(qū),分區(qū)是基于鍵進(jìn)行的,相同的鍵值對放到一個區(qū)域中。在默認(rèn)的情況下只有一個區(qū), Reduce任務(wù)運(yùn)行的數(shù)量與分區(qū)的數(shù)量有著直接的關(guān)系,因此默認(rèn)只有一個Reduce任務(wù)。下一步是對每個分區(qū)當(dāng)中的鍵值對進(jìn)行排序。按照鍵的優(yōu)先級比值高來進(jìn)行排序,那么對于鍵值對的鍵一樣的情況下,按照值的大小來進(jìn)行排序。

在上面的處理結(jié)束后,來到Reduce任務(wù)階段,首先Reduce任務(wù)會主動從Mapper任務(wù)輸出的鍵值對復(fù)制,因為Mapper任務(wù)可能并不是只有一個,所以Reduce可能會復(fù)制多個Mapper的輸出作為輸入鍵值對。然后把整理得到的鍵值對復(fù)制到Reduce本地,把所有的鍵值對進(jìn)行合并,也就是把分散開的數(shù)據(jù)合并成一個大的完整的數(shù)據(jù),再次對合并后的數(shù)據(jù)進(jìn)行重新排序。最后將排序完成的鍵值對使用Reduce方法,鍵相等的鍵值對使用一次Reduce方法,每次使用都會產(chǎn)生零個或者多個鍵值對,最后把這些輸出的鍵值對寫入到HDFS文件中。

數(shù)據(jù)處理的流程圖如圖3所示,開始進(jìn)行數(shù)據(jù)處理,對NetCDF格式的數(shù)據(jù)的處理就是讀取出文件中的各種要素并且將讀取的數(shù)據(jù)保存成.txt格式的數(shù)據(jù),所以先讀取了NetCDF數(shù)據(jù),然后經(jīng)過Hadoop的處理平臺中的數(shù)據(jù)格式轉(zhuǎn)換模塊將無法讀取的格式的數(shù)據(jù)進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,然后通過Map操作,將切分好的數(shù)據(jù)進(jìn)行并行處理后結(jié)合中間數(shù)據(jù)傳遞給Reduce,當(dāng)Reduce接到數(shù)據(jù)后再次進(jìn)行深層次的匯總處理工作,然后輸出判斷是否讀取完成,如果沒有讀取完成則重新反復(fù)地進(jìn)行數(shù)據(jù)處理操作,反之,將讀取完成的數(shù)據(jù)以不同的格式存儲到HDFS上,處理完成[16-20]。

3 結(jié)論

本文探討了海洋3S數(shù)據(jù)存儲與處理的可行性方案。首先將HDFS搭建在一個便宜的設(shè)備上面,然后采用HDFS分布式的存儲系統(tǒng)對海洋3S數(shù)據(jù)進(jìn)行了存儲,實現(xiàn)了大量3S海洋數(shù)據(jù)的存儲,并且使用MapReduce來對數(shù)據(jù)進(jìn)行了讀取及相應(yīng)處理,最后輸入回HDFS進(jìn)行存儲,實現(xiàn)了部分?jǐn)?shù)據(jù)處理的功能。利用MapReduce實現(xiàn)了數(shù)據(jù)的并行處理,便于數(shù)據(jù)的分類存儲,解決了3S海洋數(shù)據(jù)動態(tài)變化,多樣性和復(fù)雜性的問題。

參考文獻(xiàn):

[1]劉金鳳. 基于Hadoop的海洋數(shù)據(jù)存儲處理系統(tǒng)[D].中國海洋大學(xué),2015.

[2]池亞平,楊垠坦,許萍,楊建喜.基于Hadoop的監(jiān)控數(shù)據(jù)存儲與處理方案設(shè)計和實現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2018,35(06):58-63+157.

[3]林文輝. 基于Hadoop的海量網(wǎng)絡(luò)數(shù)據(jù)處理平臺的關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2014.

[4]邰建華. Hadoop平臺下的海量數(shù)據(jù)存儲技術(shù)研究[D].東北石油大學(xué),2012.

[5]朱珠. 基于Hadoop的海量數(shù)據(jù)處理模型研究和應(yīng)用[D].北京郵電大學(xué),2008.

[6]張弛,龔茂珣.基于云存儲的海洋數(shù)據(jù)存儲策略研究[J].海洋信息,2014(01):21-24.

[7]沈飛飛,郭忠文,胡克勇.一種海洋環(huán)境數(shù)據(jù)存儲模型設(shè)計與應(yīng)用[J].中國海洋大學(xué)學(xué)報(自然科學(xué)版),2015,45(06):122-127.

[8]謝紹鋒,肖化順.森林資源時態(tài)GIS數(shù)據(jù)存儲與時空分析方法研究[J].西北林學(xué)院學(xué)報,2011,26(01):181-186.

[9]沈飛飛,郭忠文,胡克勇.一種海洋環(huán)境數(shù)據(jù)存儲模型設(shè)計與應(yīng)用[J].中國海洋大學(xué)學(xué)報(自然科學(xué)版),2015,45(06):122-127.

[10]黃明哲,王巧藝.“3S技術(shù)”在海洋漁業(yè)中的應(yīng)用[J].福建水產(chǎn),2011,33(01):77-81.

[11]姜鳳輝,李樹軍,姜鳳嬌.“3S”技術(shù)在海洋氣象信息處理中的應(yīng)用[J].測繪科學(xué),2010,35(S1):186-187+238.

[12]李丹. 土地整理項目中3S數(shù)據(jù)的處理與應(yīng)用[D].中南大學(xué),2011.

[13]楊海軍,邵全琴.GIS空間分析技術(shù)在地理數(shù)據(jù)處理中的應(yīng)用研究[J].地球信息科學(xué),2007(05):70-75.

[14]趙春宇. 高性能并行GIS中矢量空間數(shù)據(jù)存取與處理關(guān)鍵技術(shù)研究[D].武漢大學(xué),2006.

[15]陳軍,蔣捷.多維動態(tài)GIS的空間數(shù)據(jù)建模、處理與分析[J].武漢測繪科技大學(xué)學(xué)報,2000(03):189-195.

[16]溫玉波,黃全中.基于XML的海洋環(huán)境基礎(chǔ)數(shù)據(jù)格式轉(zhuǎn)換的研究[J].海洋通報,2017,36(06):700-705.

[17]鄒鶴敏,黃海于.大文件分塊上傳和下載軟件的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(08):137-139.

[18]馬同星. 網(wǎng)絡(luò)型海洋環(huán)境監(jiān)測數(shù)據(jù)挖掘和動態(tài)發(fā)布信息系統(tǒng)研究[D].山東大學(xué),2006.

[19]逯晨. 海量空間環(huán)境數(shù)據(jù)分布式并行處理關(guān)鍵技術(shù)研究[D].電子科技大學(xué),2014

[20]黃冬梅,杜艷玲,王振華.海洋大數(shù)據(jù)分級存儲中遷移模型的研究[J].計算機(jī)應(yīng)用與軟件,2014,31(09):45-47.

【通聯(lián)編輯:王力】

临江市| 乌海市| 师宗县| 且末县| 新竹县| 绥宁县| 邢台市| 来凤县| 晋中市| 昆明市| 出国| 古田县| 吴旗县| 育儿| 台安县| 嵊州市| 抚远县| 屏东市| 湘西| 黎平县| 双牌县| 儋州市| 恩平市| 利津县| 石家庄市| 娄烦县| 临夏市| 延长县| 嘉兴市| 平利县| 南康市| 康乐县| 方正县| 贺兰县| 新沂市| 五指山市| 金寨县| 姚安县| 汤阴县| 清丰县| 普陀区|