基于HBase的森林防火遥感瓦片大数据存储1)

2018-03-07 01:25曹梦鸽高心丹程逸群
东北林业大学学报 2018年2期
关键词:林火瓦片金字塔

曹梦鸽 高心丹 程逸群

(东北林业大学,哈尔滨,150040)

森林火灾频发对地球的危害不言而喻,且森林火灾的发生与蔓延情况和火灾发生区域的可燃物、地形及气象等数据关系极大,有效及时地获取火场区域数据,并据此计算预测火势发展,对森林火灾的扑救意义重大。为了有效应对森林火灾的发生,相关学者在建模方法[1-4]、数据管理[5-8]和可视化[9-10]等方面进行研究。模型建立为森林火灾的处置提供了系统蓝图,通过对火灾数据的存储、分析和处理实现了对林火数据的管理,可视化技术则可以帮助决策者动态、直观地观察火势蔓延的方向以及蔓延强度。林火数据处理、数据分析以及可视化都均建立在数据存储基础之上,数据存储不仅为森林防火的日常数据管理提供可能,而且在森林火灾发生后,能够实时有效地计算火场参数,以便及时了解火场情况,并制定合理的扑火方案。随着计算机技术、遥感技术和地理信息系统的发展,森林防火数据量呈爆炸式增长,分辨率不断提高,现有的存储方式已远远不能满足林火遥感影像数据的应用[6]。森林火灾遥感数据(包括可燃物遥感数据、气象遥感数据、地形遥感数据)等,更多表现出多源、异构、动态等大数据[11]特征,如何结合突发森林火灾的特点,对海量遥感影像大数据进行快速存储,从而提高加载速度对森林扑火工作十分重要。

大数据技术为许多行业和领域带来了便利,因此许多林业学者应用该技术进行了较为深入的研究。如采用大数据技术对多种森林防火数据的存储、组织、应用进行了分析,提出了支撑林火大数据的关键技术,为森林防火数据的存储和加载提供了思路,也为预防森林火灾做出了巨大贡献。如文献[3]提出了一种适用于林火预测的3级并行计算模型,并采用开放遥感平台构建了该模型,大大提高了林火预测的实时性;文献[4]研究林火发生时空分布规律、林火蔓延时空模型和林火风险模型,为森林防火宏观决策、分类指导、高效扑救提供科学参考;文献[11]研究了影像金字塔的并行构建技术及林业综合数据管理的关键技术,通过建立基于HBase的存储模型,实现了林业综合数据管理的设计。

虽然大数据技术使得人们处理海量遥感技术更加便捷,但是,森林火灾一旦发生,决策者更加关注的是火灾区域数据的读取速度,从而能够更快地进行决策、实施扑救。但目前关于影像数据的存储研究还存在以下问题:传统的数据索引结构使得数据加载读取效率低,无法及时应对突发的森林火灾;大部分文献未能将对遥感影像数据的编码、存储、入库等问题综合考虑。因此,笔者针对森林防火遥感大数据的特点,结合遥感影像金字塔模型和Hilbert曲线对索引结构进行改进,提出了基于HBase的森林防火遥感瓦片大数据存储结构,设计了森林防火遥感瓦片数据并行化存储架构,最后以内蒙古辖区大兴安岭火灾为例,实现了遥感数据的高效存储、快速加载,从而为突发森林火灾的及时决策提供了保障。

1 存储策略相关技术

1.1 遥感瓦片金字塔及Hilbert曲线

森林火灾一旦发生,需要对火势的大小以及火势的走向迅速做出判断,所以需要有针对性地快速调取出有关的火灾数据。但是,因为当前的森林防火遥感影像数据大多是来自不同时间的卫星影像,搭载在其上的传感器种类也十分丰富,而且遥感影像数据类型多样,导致其影像数据关联性复杂、格式多样、时效性高、具有时间和空间特性等特征[12],直接应用会非常困难。因此本研究使用遥感瓦片金字塔模型对森林防火遥感影像数据进行存储[13],以达到快速查询的目的。

遥感影像金字塔是用不同分辨率、不同维数表示同一幅影像形成的类似古埃及金字塔的多层数据结构。遥感瓦片金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。通常采用以2为因子的金字塔数据结构,以原始影像为基础,作为金字塔的最底层即第0层,对其行、列数分别除以2,采用一定的重采样方法,确定固定的倍率,得到金字塔的第1层,其分辨率是第0层的1/2。然后以第1层金字塔为基础,采用同样的方法得到第2、第3层等,可以根据影像覆盖范围和影像的分辨率来确定最后影像金字塔的层数。影像金字塔中每层又由许多个像元组成,这些像元称为瓦片。如果直接对这些瓦片像元进行存储,将既费时又费力,而且不易检索。传统的数据划分方法很可能会导致磁盘之间数据存储容量上的不均匀,从而产生严重的数据倾斜。Hilbert曲线是一种填充曲线,该曲线可以线性地贯穿每个离散单元并进行编码,该编码为该单位的唯一标识。经过这种编码方式,空间上相邻的对象会邻近存储在一块,减少IO(输入输出)的时间。森林火灾发生后一般都加载火灾所在区域的遥感影像,而Hilbert曲线编码更容易加载出相邻区域的影像。因此利用Hilbert曲线[14]编码可以实现海量空间数据的均匀分布,减少影像的入库出库时间,提高数据检索的并行化程度(见图1)。

图1 Hilbert曲线编码

影像金字塔的每层都可以利用Hilbert曲线进行编码,以每层遥感影像左上角为原点,水平方向为X轴,竖直方向为Y轴建立直角坐标系。对编码后的金字塔构建Hilbert树,Hilbert树和瓦片金字塔一一对应。若R为金字塔的最底层分辨率(即原始层的分辨率),m为倍率,则各层影像分辨率为(n=0、1、2、…、17)。其中,每个瓦片均由5个元素组成,用{ID、L、R、W、H}表示。ID表示瓦片相应的编码,是唯一的编码符号,为瓦片的索引信息;L为瓦片所在的层数;R表示所在层数影像的分辨率;W表示其瓦片的宽;H表示瓦片的高度。金字塔的每层最大最小经纬度信息相同,即可以用{Lngmin、Lngmax、Latmin、Latmax}表示每幅影像的最大最小经纬度信息,而且根据此信息可计算出火灾发生区域所需瓦片的经纬度信息,这样可以加快火灾区域的加载速度。其中ID编码符号为依据按位运算方法编码后相应的二进制数;顶层瓦片所在层数为0,其余各层依次递加。金字塔技术实现了对影像数据的由粗到精,由整体到局部的快速浏览,Hilbert曲线编码提高了对数据定位和查询的效率,金字塔和Hilbert曲线编码的结合使得遥感数据的查询操作方便快捷。

1.2 遥感影像数据存储结构及索引改进

在森林火灾发生后为了能够迅速了解火场情况,以获取火场的可燃物、地形及气象数据,根据Hilbert树和瓦片金字塔具有一一对应的关系,本研究提出了基于HBase的森林防火遥感瓦片大数据存储结构。表1为影像数据存储的逻辑结构,其中行健用来描述影像的空间索引,也就是前面提到的ID;HBase中通过行键和列族确定的单元格称为存贮单元,每个单元都保存着同一份数据的多个版本,即同一影像不同时间的版本,版本通过时间戳来索引。

表1 基于HBase的森林防火遥感瓦片数据存储结构

森林火灾一旦发生,人们最希望获得发生火灾区域情况,因此对发生火灾的遥感影像进行大量的查询、平移、浏览等操作,而一般的遥感瓦片索引设计没有考虑到突发事件时需要快速加载相关影像,在应对大量集中查询时显得力不从心,无法满足类似森林火灾等一系列突发事件的需求。所以本研究对遥感影像存储逻辑视图进行改进,将行健原来的ID改为ID-L-R-Lngmin-Lngmax-Latmin-Latmax,这样可以快速读取到相关遥感影像数据,进行火灾影像的加载查询操作,对火灾事件做出更快更准确的决策。

2 遥感影像数据并行化存储架构

提高遥感影像存储速度就需要从优化存储模型、改进存储索引、加快存储流程等方面考虑[15],但是现在的研究者一般都就一个问题进行深入研究。而对于森林火灾的特殊性来说,需要更快地提高影像存储速度。因此,本研究综合考虑以上各因素,提出了森林防火遥感影像数据并行化存储,从遥感影像的预处理、金字塔模型建立和数据存储流程3方面进行并行存储。

遥感影像的预处理,首先将可燃物遥感影像、气象遥感影像和地形遥感影像分别进行数据融合,使得影像均为高分辨率的彩色遥感影像;其次将遥感数据按照时间或者空间进行分割(本研究选择先按空间,后按时间进行分割),森林火灾一旦发生,需要尽快定位起火点,这样有利于火灾发生时及时加载所需遥感影像,做出决策。通过采用Hilbert曲线对不同分辨率的遥感影像进行编码来建立遥感影像金字塔。数据存储流程即遥感瓦片数据的并行入库,首先采用MapReduce并行编程模型[16]将分块的遥感影像数据均匀地分配到DataNode各个节点上;其次再利用Map过程将分布式文件系统的遥感影像数据存储到HBase中。这3方面的并行处理有一定的传递包含关系,若将这3方面的并行处理综合考虑,可最大限度地实现森林火灾遥感影像的存储速度。本研究提出的并行化存储架构如图2所示。

具体实现可以简单的分为预处理、编码、入库、存储4个子任务,根据其中3个子任务可形象地描述该并行模型。该并行存储模型(PSM)为{C、W、S}。式中:C={c1、c2、…、cn},W={w1、w2、…、wn},S={s1、s2、…、sn}。C是不同分辨率影像的编码;W为影像的入库;S表示将影像存储到HBase中HRegion上。

图2 森林防火遥感瓦片数据并行化存储架构

3 结果与分析

森林防火遥感瓦片的大数据存储的改进重点,在对于索引性能的提升和并行化的加速上。实验的重点在于验证改进后的方案在图像索引和存储速度上的优势。以此为目的设计3个实验,验证对原索引结构与改进后的索引结构进行对比,证明改进后的索引具有较强的优势,可以更快地加载并读取森林火灾遥感数据;同时验证基于Hadoop实现森林防火遥感影像数据的并行化存储加速,对比在串行和并行环境下遥感影像数据的存储情况。

3.1 实验环境

实验测试平台:使用5台浪潮英信I8000刀片服务器(Xeon E5-2620 v2 6核2.10 GHz处理器,8 G内存,200 GB硬盘),采用Tenda TEG1024 G千兆以太网交换机连接,运行Hadoop 2.6.0版本,存储采用HDFS文件系统。

数据情况:本次研究区域为内蒙古辖区大兴安岭,具体地理位置是:东经123°76′31.81″~124°16′10.30″,北纬 50°2′10.21″~50°27′2.73″,遥感影像采集时间为2015年7月14日。地面遥感数据(包括可燃物影像和地形影像)来源于国产卫星高分二号GF-2,其光学遥感影像分辨率可精确到1 m。本次地形影像采集包括0.8 m的全色单波段和3.2 m分辨率的多光谱波段,具有4个标准波谱段(红、绿、蓝、近红外),数据格式为TIFF。气象数据取自于当地地面气象观测站和传感器,数据为Png格式。

数据预处理:实验采用ENVI预处理,通过3次卷积重采样法进行正射校正,运用ENVI中的FLAASH模块进行大气校正,从多光谱遥感影像中还原出了地物的地表反射率。最后模拟实际使用中对于遥感数据的处理需求,将处理后的数据按照实验要求分别剪裁到50~500 MB,用作不同数量级数据的实验对比。

3.2 改进的索引结构与原始索引结构的比较

实验选取10组不同数据容量的内蒙古辖区大兴安岭遥感影像作为实验数据集,分别验证顺序编码、Hilbert曲线和改进后的Hilbert曲线在单节点下的数据索引时间。

好的索引设计会提高遥感数据的存取效率,因此,本研究应用Hilbert曲线对原索引结构进行改进,对顺序编码、原索引结构和改进后的索引结构进行了对比,结果如表2所示。可以看出,在单节点的情况下,应用Hilbert曲线索引时间明显低于顺序编码,并且改进后的索引结构在读取速度上也明显优于改进之前。这是由于改进后的方法重新定义了索引结构,可以快速完成对目标数据块的索引工作。虽然索引长度的增加,使改进后的数据占用较多的存储空间,但对于森林火灾来说,在实际运用场景中应更加注重读取速度,以满足快速的反应需求。而改进的索引极大提高了数据的读取效率,因此较多的存储空间占用是可以被接受的。实验证明,改进的索引在应对突发森林火灾时具有较强的优势。

表2 索引改进前后实验效果比较

3.3 遥感影像并行存储与传统串行存储的比较

传统的串行存储在面对大量遥感影像数据时显得力不从心,因此,本研究针对森林防火数据建立了并行存储模型。验证5节点并行存储与单节点传统的串行存储的存储时间,结果如表3所示。可以看出,在不考虑数据预处理时间的情况下,并行存储在较大数据量的情况下,存储效率比串行存储有较大的提高。这是由于在数据量较大的情况下,按照规则分割后的数据在每个节点的I/O开销均小于一次性将大量数据写入单一节点带来的I/O开销。而大带宽的网络配置使得数据在节点间的传输时间开销极少。在数据量较小的情况下,由于分割后的文件在单节点上均为小文件特征,因此无法充分利用HDFS带来的优势,速度提升不明显。

表3 基于HBase的森林防火遥感瓦片数据存储结构

HDFS的特性就是数据需要在节点间进行传输,而以太网自身的特性,又使数据在传输过程中可能会发生丢失情况。因此本研究单独对单次传输中数据丢包率进行了统计。为了比较串行存储的类似特征,对比实验采用点对点的方式进行传输。在100次实验中,并行存储与串行存储的数据丢失率相差无几。但由于HDFS的3次冗余特性,可以认为在同等网络条件下,并行存储可以更准确地完成数据的存储工作,不会对数据本身造成影响,结果如表4所示。

表4 不同存储结构百次传输丢失率

4 结束语

森林防火工作对数据读取的时效性要求很高,本研究针对突发森林防火工作中大数据量处理的需求,以遥感影像数据的存储为研究对象,构建了多分辨率遥感瓦片金字塔模型。应用Hilbert曲线对索引结构进行改进,设计了基于HBase的森林防火遥感瓦片大数据存储结构,架构了森林防火遥感影像并行存储模型。通过实验证明研究成果实现了瓦片数据的并行入库,提高了影像数据的存储和加载效率,为后续扑火决策制定节省了时间。但改进后的索引结构虽然在读取速度上明显优于改进之前,但是占用较多的存储空间。因此,如何可以在保证效率的同时兼顾占用较少的存储空间,需要进一步探讨。本实验在研究提高读取速度时,主要是从索引结构的选择及其改进方面进行了考虑,后续研究可以从增加合适的缓存区来提高遥感数据的加载和查询,从而大大改善遥感瓦片数据的加载效率,更好地应对突发的森林火灾事件。

[1] GIACHETTA R. A framework for processing large scale geospatial and remote sensing data in MapReduce environment[J]. Computers & Graphics,2015,49(C):37-46.

[2] POURTAGHI Z S, POURGHASEMI H R, ARETANO R, et al. Investigation of general indicators influencing on forest fire and its susceptibility modeling using different data mining techniques[J]. Ecological Indicators,2016,64:72-84.

[3] 范明虎,樊红,李新广.一种适用于林火预测的并行计算模型[J].武汉大学学报(工学版),2014,47(1):135-140.

[4] 邓欧.黑龙江省森林火灾时空模型与火险区划[D].北京:北京林业大学,2012.

[5] 杨典华.协作式大规模地理栅格数据并行处理方法研究[D].北京:首都师范大学,2014.

[6] 吕雪锋,程承旗,龚健雅,等.海量遥感数据存储管理技术综述[J].中国科学:技术科学,2011,41(12):1561-1573.

[7] 李维乾,解建仓,李建勋,等.突发水污染事件中遥感瓦片大数据存储系统[J].计算机系统应用,2016,25(2):31-37.

[8] 王晓蕊,杨强根,陈凤敏,等.基于NoSQL的高分高光谱遥感影像存储模型设计与实现[J].地球科学(中国地质大学学报),2015,40(8):1420-1426.

[9] 王邵骞,赵根庄.浅析河北省政府应急平台森林防火三维可视化系统建设[J].科技资讯,2014,12(16):20-21.

[10] 莫飞霞.基于3DGIS的森林防火应急指挥系统的研究与实现[D].杭州:浙江工业大学,2010.

[11] 林峰.基于HDFS的影像数据金字塔构建及存储技术研究[D].哈尔滨:东北林业大学,2016.

[12] 李清泉,李德仁.大数据GIS[J].武汉大学学报(信息科学版),2014,39(6):641-644,666.

[13] 刘坡,龚建华.大规模遥感影像全球金字塔并行构建方法[J].武汉大学学报(信息科学版),2016,41(1):117-122.

[14] 张云舟.影像金字塔的生成、压缩与存储模型研究[D].太原:太原理工大学,2016.

[15] 陈时远.基于HDFS的分布式海量遥感影像数据存储技术研究[D].北京:中国科学院大学,2013.

[16] 刘义,陈荦,景宁,等.利用MapReduce进行批量遥感影像瓦片金字塔构建[J].武汉大学学报(信息科学版),2013,38(3):278-282.

猜你喜欢
林火瓦片金字塔
无锡惠山区坚持“六抓六强” 构建林火防治铜墙铁壁
“金字塔”
林火监测系统在森林防火中的应用与发展
Great Vacation Places
一种基于主题时空价值的服务器端瓦片缓存算法
半边天
海上有座“金字塔”
惯性
神秘金字塔
基于NoSQL数据库的瓦片地图服务