劉云峰,李發紅,曹廣強
(1. 國家測繪地理信息局第一航測遙感院,陜西 西安 710054; 2. 地理國情監測國家測繪地理信息局工程技術研究中心,陜西 西安 710054)
Hadoop框架下海量影像數據庫管理系統的研究與實現
劉云峰1,2,李發紅1,曹廣強1
(1. 國家測繪地理信息局第一航測遙感院,陜西 西安 710054; 2. 地理國情監測國家測繪地理信息局工程技術研究中心,陜西 西安 710054)
針對傳統影像管理方式不能進行T級及以上量級影像數據管理的難題,基于開源分布式云平臺Hadoop框架,研究設計了云計算環境下的遙感影像數據組織模型(RSC-DOM),利用鑲嵌數據集技術、影像無縫集成技術等多種新技術,構建了海量影像數據庫管理系統,實現了海量影像數據的高效組織、管理及應用。
Hadoop框架;鑲嵌數據集;影像數據庫
遙感技術的發展和應用使得獲取同一地區的多個平臺、多種傳感器、不同分辨率、不同時相的遙感影像數據越來越多,同時集群式影像處理系統可以快速地進行影像處理,如何有效組織和管理這些不同尺度的海量成果影像數據是影像高效應用的前提。
傳統影像數據管理的主要方法是采用空間數據引擎技術,其實質是位于客戶端和服務器端之間的中間件,其管理能力只能達到百GB級,對于管理更大量級的多源海量影像數據顯得無能為力。本文從管理海量的航空影像和衛星影像成果的實際需求出發,基于開源分布式云平臺Hadoop框架,利用多種影像處理新技術研發了能對T級及以上量級影像數據進行高效存儲、管理和應用的海量影像數據庫管理系統。
海量影像數據庫管理系統主要管理的是成果影像數據,支持海量、多分辨率、多波段影像的存儲和管理;可以對數據庫的影像進行統計分析、疊加分析、動態融合處理等;支持快速定位和提取指定區域、指定類型的影像等。該系統包括4個主要的方面,分別為影像數據庫、影像管理、影像共享、影像應用。系統總體架構如圖1所示。
1. 影像數據庫
影像數據庫是整個系統的數據“倉庫”,可以永久保存所有入庫的成果影像數據,同時通過影像入庫功能不定期地寫入數據,使得數據庫不斷進行更新?;贖adoop架構中HDFS對影像數據進行分布式存儲,并生成相應的鑲嵌數據集,有利于分類整理海量影像數據,并提高查詢、顯示效率。

圖1 系統總體架構
2. 影像管理
影像管理在整個系統的運行過程中起管理控制作用,按規則進行影像入庫,同時對影像數據庫中影像生成鑲嵌數據集;處理用戶檢索請求并實施檢索過程;監控各部分的狀態并對異常情況進行處理;對特定存儲站點的任務進行啟動、取消及更新,不斷優化分配網絡連接資源等。
3. 影像共享
影像共享在整個系統中起到承上啟下的作用,主要將各種影像處理結果以服務的方式進行發布。可以提供地圖服務,影像查詢、統計等服務和對鑲嵌數據集進行疊加、全色與多光譜影像動態融合等處理服務,使得影像應用中所有請求能夠快速實現。
4. 影像應用
影像應用是整個系統和用戶的交互接口,通過系統自定義的查詢語句或命令,提交瀏覽、查詢、統計、分析、處理等請求。影像管理根據整個系統及各部分的狀態信息查找索引塊,影像應用收集匯總后的查詢結果,通過視圖、界面、列表等多種方式呈現給用戶查看。
1. 數據組織模型研究與設計
采用分布式架構中基于云計算環境的遙感影像數據組織模型(remote sensing data organization model based on cloud computing,RSC-DOM)。該模型為網絡中分布著多個存儲站點,存儲管理中心站點負責管理虛擬存儲空間,映射各個分布式存儲站點。中心站點靜態地將存儲系統劃分為M個虛擬磁盤空間(virtual disk space)。M個VDS映射到N個分布式的存儲站點上(其中N≤M),VDS和分布式存儲站點需通過中心站點上部署的映射表進行映射關聯,VDS存儲結構如圖2所示。

圖2 VDS存儲結構
每個VDS由一個嵌入式索引文件(embedded index file,EIF)和一個數據存儲結構(data store infra-structure,DSI)組成。所有數據文件的屬性信息(直接尋址的路徑信息)都記錄在嵌入式索引文件EIF中,同時創建索引,索引文件記錄與數據的變更同步進行。每個存儲站點實際上是一個小型的監控管理端,不但可以管理和維護存儲在本站點所有的VDS,而且可以進行實時的數據更新,檢索本站點上的VDS等,同時支持大流量的并發訪問,此時單個存儲站點就類似于一個存儲云端。
VDS中按照“傳感器類型衛星類型年月...金字塔層級號被存放的目標數據”來組織管理影像數據。解析一切來自客戶端的服務請求,根據服務請求中心站點同時給多個存儲站點下達任務命令。存儲站點收到來自于中心站點的命令后,根據命令執行相應的操作:檢索用戶請求的目標數據、下載用戶請求的目標數據、自動上傳等待存儲的數據等。各個存儲站點同時獨立執行任務,執行任務完畢后將結果返回給服務中心,通過中心站點將最終結果反饋給用戶。
2. Hadoop框架
Hadoop是Apache基金會近年來開發的一種分布式系統基礎架構,該架構能使用戶不了解分布式底層細節,就可開發各種分布式程序,充分利用集群進行高速運算和存儲,Hadoop的主要組成為HDFS(hadoop distributed file system)和MapReduce。
HDFS存儲Hadoop集群中全部存儲節點上的文件,對外部的客戶機而言,HDFS就像一個傳統的分級文件系統。存儲在其中的文件是由多個文件塊組成,然后將這些塊復制到多個存儲站點中。這完全不同于傳統的RAID架構,塊的大小(通常為64 MB)和復制的塊數量在創建文件時由客戶機決定。HDFS內部的所有通信都基于標準的TCP/IP協議。
MapReduce是處理大量半結構化數據集合的編程模型。MapReduce應用程序由3部分組成:Map函數、Reduce函數和main函數。作業控制和文件輸入/輸出由main函數結合起來。同時Hadoop提供了大量的接口和抽象類,為Hadoop應用程序開發人員提供許多工具,用于調試和性能度量等。在系統開發中RSC-DOM是由Hadoop架構中的HDFS來實現的,HDFS有高容錯性的特點,普通硬件上就可以部署;通過高吞吐量來訪問應用程序的數據;利用MapReduce極強的并行處理大數據集的能力來實現影像數據的快速查詢、顯示及處理,保障海量影像數據庫管理系統的高效平穩運行。
3. 鑲嵌數據集技術
鑲嵌數據集(mosaic dataset)是由Esri公司推出的管理柵格數據的影像新技術,是一項由柵格數據集和柵格目錄相結合的混合技術。采用與非托管的柵格目錄相一致的方法管理柵格數據,不但可以對數據集進行索引,而且可對集合執行查詢。
對影像生成鑲嵌數據集時,只會在空間數據庫中建立影像索引,不會對原有的影像數據進行任何改動,該數據仍然存儲在數據庫中。此種方式充分發揮了存儲系統和數據庫系統各自的優勢。利用這種技術,鑲嵌數據集不但能夠對海量影像進行管理,而且能夠通過鑲嵌視圖進行可視化和分析,具有高級柵格查詢功能及實時處理函數功能是其最大優勢,可用作提供影像服務。
開發中利用最新的鑲嵌數據集模型,以其為核心組織和管理數據庫中的海量影像。該模型中的動態鑲嵌和實時處理技術不僅能夠達到影像管理目的,海量影像訪問速度也極大加快,處理時間極大減少,同時減小了數據冗余。
系統功能設計分為影像入庫、影像管理、影像共享、影像應用4個模塊。
1. 影像入庫
數據入庫時對各種數據類型、數據格式進行嚴格的檢查操作,首先進行預備入庫,各種檢查符合要求后,才能利用HDFS將影像存儲到數據庫的相應位置。數據類型、數據格式的檢查主要是在Web頁面中完成,由專門編寫的腳本語言來實現這一功能,保證了數據錄入的完整性和可靠性。
2. 影像管理
影像管理采用Visual Studio 2012開發工具,Web模式進行程序開發實現多種功能。影像處理主要是對影像生成鑲嵌數據集、影像動態融合、疊加分析等;影像管理主要是指影像的修改、刪除、備份等。為了防止誤刪掉影像的重要信息,造成不必要的損失,這里的刪除指的是暫時刪除而不是永久意義上的物理刪除。
3. 影像共享
影像共享基于ArcGIS Server服務,將鑲嵌數據集共享。利用影像無縫集成技術、小波影像壓縮等技術將影像管理中生成的鑲嵌數據集及對鑲嵌數據集的各種操作、內嵌的地圖等以服務的方式進行發布,提高影像應用的效率。
4. 影像應用
影像應用采用B/S架構,基于Silverlight5富互聯網技術,開發了按區域、圖幅、傳感器類型、元數據、數據源、分辨率等10多種統計、查詢方式,不但方便用戶根據多種方式查詢、統計所需影像數據,而且可以對影像相關參數進行瀏覽、維護等。瀏覽主要是針對普通用戶而言,系統應用如圖3所示。

圖3 影像比對圖
為了測試系統的實際性能,選取4個測區不同數據源約3 TB影像數據進行入庫及對各種功能進行測試,測試環境見表1。

表1 測試環境及配置
測試中影像數據可以順利進行入庫,可以實現影像數據的增減,可以實現按照傳感器類型、影像獲取時間、太陽高度角、太陽方位角、測區、圖幅號,輸入經緯度、繪制圖形等多種方式對成果分幅數據、成果整景數據進行查詢、統計;元數據信息顯示、影像比對分析、動態融合等功能也能正常使用,系統運行較為穩定,目標功能全部實現。系統影像查詢、顯示效率見表2。

表2 影像查詢顯示效率測試表
從表2可以看出,系統查詢影像、顯示影像的時間完全滿足用于查詢、瀏覽的需求;系統對入庫影像的數據量沒有限制,只跟磁盤的容量有關系,有足夠的存儲空間即可。在區域城鄉規劃監管項目測試中,利用該系統進行影像數據分析、查找較傳統的方式可以節省至少60%的時間。
本文對云計算環境下的海量影像數據庫管理系統提出了一套框架設計思路,利用Hadoop架構中的HDFS實現了海量遙感影像分布式存儲管理,基于鑲嵌數據集技術和富互聯網技術開發的海量影像數據庫管理系統,實現了海量遙感影像數據的快速查詢、瀏覽、比對分析、統計等功能,驗證了該套設計思路的可行性。該系統克服了傳統影像管理方式的不足,提高了海量影像數據管理和利用效率,可為應急測繪保障、地理國情監測、影像數據資料的分析服務提供支持,對提高遙感影像管理和應用能力具有實用價值。
[1] 楊眉,劉建軍,張元杰,等.國家級多源海量數字正射影像數據庫的設計與構建 [J]. 測繪通報,2016(4):106-109.
[2] 胡文元.T級影像數據庫建庫方案研究[J]. 測繪通報,2009(12):46-48.
[3] 張芬,高炎.多分辨率無縫數據庫在影像數據庫系統中的應用[J]. 測繪通報,2005(4):40-42.
[4] 廖安平,嚴榮華,湯海.國家基礎多源數字正射影像數據庫的設計與建立[J]. 地理信息世界,2006(4):10-14.
[5] 樊小泊,陳紅. 海量影像數據庫管理系統關鍵技術研究[J]. 地理信息世界,2006(30):10-13.
[6] 王愛玲,李京,劉素紅,等.多尺度遙感影像數據庫管理的設計與實現[J]. 計算機工程與應用,2007,43(3):227-229.
[7] 陳海燕. 一種分布式大數據管理系統的設計與實現[J]. 計算機科學,2014,41(11A):393-395.
[8] 王密, 龔健雅, 李德仁.大型無縫影像數據庫管理系統的設計與實現[J].武漢大學學報(信息科學版), 2001,28(5): 295-300.
[9] 林星, 張毅, 劉瑜. 基于關系數據庫的柵格數據存儲和訪問技術研究[J]. 高技術通訊, 2005, 15(1): 12-16.
[10] 劉鵬, 畢建濤, 曹彥榮,等.遙感影像數據庫引擎設計與實現 [J].地球信息科學, 2005, 7(2): 105-110.
[11] 胡金星,潘懋.空間數據庫實現及其集成技術要求 [J].計算機應用研究, 2003,20(3):12-14.
[12] 郝樹魁. Hadoop HDFS和MapReduce架構淺析 [J].郵電設計技術, 2012(7):37-42.
Research and Implementation of Massive Image Database Management System Based on the Hadoop Framework
LIU Yunfeng,LI Fahong,CAO Guangqiang
2016-09-12;
測繪地理信息公益性行業科研專項(201412008)
劉云峰(1970—),男,碩士,主要從事航空攝影測量和地理信息系統的設計和研究工作。E-mail:3362203937@qq.com
劉云峰,李發紅,曹廣強.Hadoop框架下海量影像數據庫管理系統的研究與實現[J].測繪通報,2016(12):74-76.
10.13474/j.cnki.11-2246.2016.0405.
P237
B
0494-0911(2016)12-0074-03
修回日期:2016-11-03