• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向高分辨率影像分布式處理的HDFS存儲研究

      2018-06-14 05:46:58王敬平沈晨周潔黃子君
      關(guān)鍵詞:分塊高分辨率分布式

      王敬平 沈晨 周潔 黃子君

      (中國電子科技集團公司第三十二研究所,上海 201800)

      隨著遙感衛(wèi)星技術(shù)和成像技術(shù)的不斷發(fā)展,“高分”系列衛(wèi)星覆蓋了從全色、多光譜到高光譜,從光學(xué)到雷達,從太陽同步軌道到地球同步軌道等多種類型,構(gòu)成了一個具有高空間分辨率、高光譜分辨率、高時相分辨率和高輻射分辨率能力的對地觀測系統(tǒng)。高分辨率遙感數(shù)據(jù)進行數(shù)據(jù)處理,已不是簡單的數(shù)據(jù)密集型或計算密集型模式,而是數(shù)據(jù)密集和計算密集的混合模式,高分影像地面數(shù)據(jù)處理系統(tǒng)已逐步由集中式的高性能計算模式向分布式的存儲及計算模式發(fā)展。本文從高分影像分布式處理的實際需求出發(fā),分析了開源分布式存儲系統(tǒng)HDFS的存儲特性,圍繞影像分布式計算進行了存儲優(yōu)化,改進后的HDFS分布式文件系統(tǒng)能夠較好的支撐影像分布式計算,提高了地面影像數(shù)據(jù)處理的效率。

      圖2 HDFS的數(shù)據(jù)分塊圖解

      1 傳統(tǒng)Hadoop的分布式存儲及計算

      1.1 HDFS分布式存儲原理及數(shù)據(jù)分塊

      1.1.1 HDFS分布式存儲

      HDFS(Hadoop Distribute File System),是為以流的方式存取大文件而設(shè)計的,適用于GB、TB及PB級的數(shù)據(jù)存儲,具有一次寫多次讀的特性。HDFS采用主從(Master/Slave)的架構(gòu)模型,如圖 1所示,一個HDFS集群是由一個Namenode(名稱節(jié)點)和多個Datanode(數(shù)據(jù)節(jié)點)組成的(不考慮Namenode的高可用配置)。名稱節(jié)點作為主服務(wù)器,主要負(fù)責(zé)客戶端對文件的訪問操作和文件系統(tǒng)命名空間的管理,數(shù)據(jù)節(jié)點主要負(fù)責(zé)數(shù)據(jù)的實際存儲。

      1.1.2 HDFS數(shù)據(jù)分塊

      HDFS將文件劃分成不同的塊(Block),數(shù)據(jù)塊大小默認(rèn)為64MB,可以在Hadoop的配置文件hdfs-site.xml中對這個值(dfs.Block.size)進行自定義,單位是Byte。

      HDFS在順序劃分文件的時候,當(dāng)文件最后一個塊沒有達到一個標(biāo)準(zhǔn)塊的大小時,也會被視為其本身大小的一個塊,而不是占用一個標(biāo)準(zhǔn)塊的存儲空間,保證文件在HDFS上存儲時占用的實際存儲空間與文件大小一致。如圖2,以一個300MB大小的文件為例,在Block size被設(shè)置為64MB的HDFS上會被如下分割成5個文件塊:

      1.2 MapReduce并行計算原理

      MapReduce是一種分布式計算模型,主要是解決海量數(shù)據(jù)的計算問題,將復(fù)雜的并行計算過程高度地抽象為兩個函數(shù):Map和Reduce。Hadoop中的MapReduce是一個使用簡單的軟件框架,基于MapReduce編寫出來的應(yīng)用程序可以運行在大規(guī)模集群上,并以—種可靠容錯的方式并行處理的數(shù)據(jù)集可達到上T級別、P級別,實現(xiàn)了Hadoop在集群上的任務(wù)和數(shù)據(jù)的并行處理與計算。

      圖4 高分辨率影像并行計算設(shè)計思路

      圖5 基于HDFS的影像數(shù)據(jù)分塊(a)

      如圖3所示,MapReduce處理大數(shù)據(jù)集的過程,把大數(shù)據(jù)集分解成若干小數(shù)據(jù)集,每一個(或幾個)數(shù)據(jù)集分別由集群中的一個節(jié)點進行處理,并生成中間結(jié)果,這些中間結(jié)果隨后又由大量的節(jié)點合并,形成最終結(jié)果。

      2 高分辨率影像的分布式存儲及并行計算

      高分辨率影像并行計算建立在海量分布式存儲之上,使用數(shù)據(jù)節(jié)點作為計算節(jié)點,盡最大努力保證在那些存儲了數(shù)據(jù)的節(jié)點上執(zhí)行計算任務(wù)。這種方式可有效地減少數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸,降低任務(wù)對網(wǎng)絡(luò)帶寬的需求,避免使網(wǎng)絡(luò)帶寬成為瓶頸,所以“本地計算”可以說是節(jié)約帶寬最有效的方式。

      將要處理的影像文件語義分成多個輸入分片,在多臺數(shù)據(jù)節(jié)點上同時進行計算。作業(yè)管理節(jié)點為每個輸入分片構(gòu)建一個Map任務(wù),最后再由一個或多個Reduce任務(wù)將所有Map任務(wù)處理的結(jié)果進行匯總。

      如圖4所示,三個數(shù)據(jù)分片分別存儲在三個數(shù)據(jù)節(jié)點上,作業(yè)被分成三個Map任務(wù),一個Reduce任務(wù)。三個Map任務(wù)首先并行執(zhí)行,產(chǎn)生的中間文件通過網(wǎng)絡(luò)傳輸給另一個數(shù)據(jù)節(jié)點,執(zhí)行Reduce任務(wù),最后把輸出結(jié)果寫入到海量分布式系統(tǒng)中。

      在GeoTIFF影像的文件頭中,存儲了用于描述影像的所有元數(shù)據(jù)信息,包括像元數(shù)據(jù)的位數(shù)、數(shù)據(jù)偏移量、調(diào)色板數(shù)據(jù)、數(shù)據(jù)壓縮方式、圖像形態(tài)、圖像行列編排方式、圖像通道(波段)、分辨率、坐標(biāo)、投影方式等。這些元數(shù)據(jù)信息在影像的識別、解析、處理中發(fā)揮著重要的作用,失去這些元數(shù)據(jù)信息將導(dǎo)致像元數(shù)據(jù)難以被識別及利用。

      如圖5所示,采用HDFS的分塊策略對GeoTIFF影像進行數(shù)據(jù)分塊(假設(shè)影像數(shù)據(jù)300MB,數(shù)據(jù)分塊大小為64MB),文件被分成5個Block,并將會被存儲到不同的Datanode節(jié)點上。

      從圖5中,可以發(fā)現(xiàn)只有其中第一個Block中包含有影像的元數(shù)據(jù),且該元數(shù)據(jù)為完整影像的元數(shù)據(jù)信息,但其他的數(shù)據(jù)塊僅為二進制流數(shù)據(jù),未包含任何元數(shù)據(jù)信息。基于HDFS的影像數(shù)據(jù)分塊,在分布式計算運行時,負(fù)責(zé)計算Block2到Block5的影像處理算法將只能拿到文件塊中存儲的字節(jié)流,不能獲取偏移量、數(shù)據(jù)類型、分辨率、坐標(biāo)等信息,該影像處理算法也就無法識別和處理該數(shù)據(jù)塊的圖像像元。

      如圖6所示,也可以調(diào)整HDFS中的dfs.Block.size的大小,使其大小超過影像的大小(如設(shè)置dfs.Block.size = 320MB),遙感影像文件會完整的存儲在一個文件塊中,相應(yīng)的影像處理算法即可以完整的讀取影像的元數(shù)據(jù)信息及像元數(shù)據(jù),并對影像進行操作。但高分辨率影像一般分景存儲,而每景數(shù)據(jù)一般都在幾百MB,甚至GB以上,若設(shè)置dfs.Block.size為相應(yīng)大小,這樣也就無法對影像數(shù)據(jù)進行細(xì)粒度的分布式并行計算,也失去了使用HDFS存儲的意義。

      因此,在高分辨率影像分布式并行計算時,我們應(yīng)該著重分析和優(yōu)化:對高分辨率影像進行語義分割,提高影像的處理效率,并對處理后的影像仍然存儲在分布式存儲系統(tǒng)中,以及提供有效的語義合并手段。

      圖6 基于HDFS的影像數(shù)據(jù)分塊(b)

      圖7 高分影像語義分塊三種方式

      3 面向高分辨率影像處理的存儲優(yōu)化

      3.1 高分辨率影像的語義分塊及合并

      高分辨率影像的語義分塊的目標(biāo)是解決高分辨率影像在分塊之后,依然能夠作為獨立高分影像被影像處理算法識別及處理,并且能夠適應(yīng)基于Hadoop的分布式存儲與計算。

      高分辨率影像存在三種圖像數(shù)據(jù)劃分方式,如圖7所示,其中(1)為矩形塊;(2)表示水平條帶;(3)為豎直條帶,在處理不同影像時,可以結(jié)合實際處理任務(wù)來選何種劃分方法:像素級的處理并行化分支較小,進行數(shù)據(jù)劃分時較為簡單,特征處理如線條所示,按照豎直條帶和水平條帶來劃分,在目標(biāo)級、特征級處理期間,需要結(jié)合相應(yīng)的問題、并行計算支撐環(huán)境來選擇具體的劃分方式。需要特別關(guān)注的是,為了適應(yīng)一些類型的圖像處理算法(例如卷積運算),影像在切分時相鄰條帶之間也可以保留一定量的冗余,例如矩形塊方式切割,數(shù)據(jù)塊的有效區(qū)域是a*b,但切割保留的區(qū)域則要包含冗余區(qū)域,圖中分塊0-0的保留區(qū)域是(a+△a)*(b+△b),分塊1-1的保留區(qū)域是(△a+a+△a)*(△b+b+△b)。

      如圖8所示,高分辨率影像語義分塊與合并的流程示意圖:

      (1)語義分塊:在獲取原始影像數(shù)據(jù)的元數(shù)據(jù)信息和像元數(shù)據(jù)后,采用圖7中的一種分塊方式(例如矩形分塊),生成多個Block1、Block2、Block3等,然后依據(jù)原始影像數(shù)據(jù)的元數(shù)據(jù)信息和分塊位置信息,分別對各個Block進行影像數(shù)據(jù)信息重建,形成各個獨立分塊影像文件,可被影像處理算法識別及處理;

      (2)語義合并:各個分塊影像數(shù)據(jù)經(jīng)過影像處理之后(例如影像配準(zhǔn)、幾何校正等),生成新的影像文件數(shù)據(jù),在解析獲得各個新的影像文件的元數(shù)據(jù)信息和像元數(shù)據(jù),依據(jù)各個分塊位置信息(含冗余區(qū)域信息),合并得到新影像數(shù)據(jù)文件,并更新影像數(shù)據(jù)的元數(shù)據(jù)信息。

      圖8 高分辨率影像的語義分塊與合并

      3.2 HDFS相關(guān)模塊設(shè)計優(yōu)化

      (1)語義分塊、語義合并函數(shù)。使用GDAL構(gòu)建Image Semantic Block、Image Semantic Merge兩個函數(shù),用于實現(xiàn)對高分影像數(shù)據(jù)的語義分塊和語義合并功能。

      (2)HDFS Client。在LibHDFS接口中,重寫Write和Read接口函數(shù),集成ImageSemanticBlock、ImageSemanticMerge函數(shù),改造HDFS的分塊和合并的機制,并提供能夠獨立訪問HDFS數(shù)據(jù)塊影像的獨立接口IndependentBlockRead、IndependentBlockWrite。

      (3)HDFS Namenode。在數(shù)據(jù)文件元數(shù)據(jù)信息中,需添加每個影像分塊位于整個影像中的位置信息,在INodeFile類中增加blockArea信息和getBlockArea函數(shù)。

      (4)HDFS Datanode。在HDFS寫入數(shù)據(jù)塊時,會對所有分塊計算校驗和,并在讀取時驗證校驗和,需在ChecksumFileSystem類中,增加影像分塊元數(shù)據(jù)校驗和變量metaDataChecksum和setMetaDataChecksum函數(shù)。

      4 結(jié)語

      本文介紹了高分辨率影像的分布式存儲及并行計算的原理及過程,分析了傳統(tǒng)HDFS存儲無法適用高分影像分布式并行計算的原因,研究了高分辨率影像的語義分塊與語義合并的方法與技術(shù),并對HDFS進行了改造與優(yōu)化,最終實現(xiàn)了面向分布式并行計算的高分辨率影像的分布式存儲,有效支撐并提高了高分影像的分布式處理效率。由于開源HDFS系統(tǒng)非常龐大,我們在對HDFS的改造過程中,存在不能完全理解HDFS的所有源代碼,所以圍繞HDFS的改造與優(yōu)化的穩(wěn)定性、可靠性以及代碼的影響域,還有待進一步測試與驗證。

      [1]孟祥輝,李浩川,姚璐,王少坤.分布式并行計算技術(shù)在遙感數(shù)據(jù)處理中的應(yīng)用[J].電子技術(shù)與軟件工程,2016,(24):174.

      [2]馬偉鋒,李偉.遙感影像數(shù)據(jù)并行計算中數(shù)據(jù)分配策略研究[J].浙江工業(yè)大學(xué)學(xué)報,2016,(6):270-274.

      [3] 程付超,苗放,楊文暉,陳墾.適用于海量遙感影像的分布式計算框架設(shè)計與實現(xiàn)[J].物探化探計算技術(shù),2014,(5):358-361.

      [4]劉建華,毛政元.高空間分辨率光學(xué)遙感影像分割方法研究綜述[J].遙感信息,2009,(6):95-101.

      [5]PLAZAA, DU Q, CHANG Y L, et al. High performance computing for hyperspectral remote sensing[J].IEEE Journal of Selected Topics in Applied Earth Observa-tions and Remote Sensing,2011,4(3):528-544.

      猜你喜歡
      分塊高分辨率分布式
      高分辨率合成孔徑雷達圖像解譯系統(tǒng)
      分塊矩陣在線性代數(shù)中的應(yīng)用
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      反三角分塊矩陣Drazin逆新的表示
      基于自適應(yīng)中值濾波的分塊壓縮感知人臉識別
      基于DDS的分布式三維協(xié)同仿真研究
      雷達與對抗(2015年3期)2015-12-09 02:38:50
      基于多分辨率半邊的分塊LOD模型無縫表達
      高分辨率對地觀測系統(tǒng)
      太空探索(2015年8期)2015-07-18 11:04:44
      基于Curvelet-Wavelet變換高分辨率遙感圖像降噪
      临泽县| 阿拉尔市| 深州市| 双峰县| 松潘县| 左权县| 牙克石市| 灵丘县| 白水县| 丹棱县| 宁津县| 兴安县| 和政县| 滨州市| 石屏县| 余干县| 鸡西市| 浦北县| 南江县| 全椒县| 弥渡县| 萝北县| 潼关县| 华蓥市| 乌拉特前旗| 宁蒗| 林州市| 德阳市| 普洱| 富阳市| 绍兴县| 乡宁县| 遂宁市| 德保县| 睢宁县| 呼玛县| 高淳县| 永清县| 晋江市| 台安县| 高雄市|