一种适用于分布式计算环境的大型遥感影像重构方法技术

技术编号:14826080 阅读:158 留言:0更新日期:2017-03-16 13:33
本发明专利技术公开了一种适用于分布式计算环境的大型遥感影像重构方法,包括以下步骤:从待上传至HDFS的文件中过滤出需要预处理的大型影像文件;将过滤得到的影像文件通过计算以一定的重叠度裁剪为多个影像切片;对影像切片添加描述信息及尾部空白补齐;合并包含影像切片的文件块,并在尾部追加文件整体描述信息;影像处理过程中从文件块中提取影像切片的方法以及将重构后的文件恢复为原影像文件的方法。本发明专利技术的实现过程简单、自动性高,对各种影像文件具有普适性,且不会明显地影像分布式环境本身的执行效率及稳定性。本发明专利技术有助于进一步推广分布式处理模式在数据量庞大的遥感影像处理领域的应用,并为更深层次的遥感影像分布式计算打下了一定的基础。

【技术实现步骤摘要】

本专利技术涉及地球空间信息
的大型遥感影像存储技术,具体的说是一种在Hadoop分布式系统上存储文件较大(数百兆乃至更大)的影像文件的方法,该方法使得HDFS(HadoopDistributeFileSystem)在对文件进行分块存储时依旧保持每个文件块内部像元对应的元信息的完整性,解决了使用Hadoop平台处理大型影像文件时由于被切分的文件块中元信息缺失而导致的无法识别及处理影像文件分块的问题。
技术介绍
经过数十年的高速发展,遥感技术已经在国防、农业、国土、海洋、军事、测绘、水利、气象、地质、生态环境、矿产、旅游、考古等领域有着广泛地应用,它为人类提供了从多维和宏观角度去认识世界的新方法与新手段。遥感技术本身更是迅猛发展,多样化的影像获取途径、迅速提升的遥感影像质量带来的是海量的需要存储和处理的影像文件,从最初MB级、GB级发展到现在的TB级甚至PB级。相关从业人员开始尝试使用Hadoop分布式系统来存储和处理这些遥感影像,使用HDFS分布式文件系统存储影像文件、MapReduce分布式计算框架来对存储在HDFS中的遥感影像做并行计算。然而,由于HDFS在对原本完整的影像文件切割成不同的文件块存储在不同的节点上的特性,导致了大部分的节点在读取影像文件块时由于丢图像失元信息而导致无法正常识别图像。针对这一问题,目前业内常用的应对方案是人为改变Hadoop128M的默认分块阀值,将其值提升至超过单幅影像文件的大小以使得影像文件不被切割。然而随着遥感影像获取方式的越来越先进,现阶段单个高分辨率、多波段的影像文件大小动辄需要GB级别的存储空间,而一味的扩大Hadoop默认分块的阀值大小又将对Hadoop分布式计算的性能优势带来制约,是不可持续的解决方案。此外,学界还有相关人员采用在MapReduce的计算任务启动前强制合并被分割的影像文件、集群运行前使用主节点Namenode预先读取全部影像文件等方法来应对大影像被分割导致的元信息无法获取的问题,但这些应对方法均对Hadoop系统的分布式存储/处理的核心设计理念带来了限制,以至于影响到平台整体的性能及稳定性。因此,目前相关领域内亟需一种既保证Hadoop平台对大影像文件正常分块存储、并行计算又不影响整体性能和稳定性的方法,以解决上述存在的问题。
技术实现思路
本专利技术的目的是提供一种大影像文件的内部切割和重构方法,用于在Hadoop云计算平台上处理大型遥感影像时,在HDFS平台上输入影像文件的过程中对影像文件进行内部切割与重新构建,以及其复原方法。该方法能够确保大型的影像文件在被切割分块存储后,每一部分保留了其对应图像的元信息,使得MapReduce分布式计算框架可以相互独立地识别并处理每一个影像文件块,同时不对Hadoop系统整体的运行速度和稳定性带来影响,且全过程无需依赖数据库软件。本专利技术在HDFS的基础上在大影像文件进行分块前预处理,根据HDFS分块大小对影像文件内部进行切片的重构。HDFS是当下使用最广泛的云计算平台——Hadoop的主要组成部分,与MapReduce一同构成了Hadoop系统的分布式存储与分布式计算基础。根据Hadoop的工作模式,待处理的文件在被上传至HDFS时会被按照特定的大小切割成多个文件块并以一定的冗余度分别存储在集群中不同的计算节点上。针对影像文件的处理任务启动时,系统依据“本地计算”的原则调度计算资源,即各节点优先处理存储于本节点上的数据。通常情况下,Hadoop默认为每一个文件块启动单独的进程进行计算,这就决定了适宜的文件块大小对集群运行的重要性,过大的文件块或过多的小文件块都会对整体性能带来影响。而本专利技术主要解决的问题就是在不影响文件分块的基础上实现大影像文件在Hadoop上的存储和处理。本专利技术要解决的技术问题可分解为三个方面:要解决影像文件的定量裁剪问题,确保对影像进行行列裁剪后获得的影像切片大小小于并尽量接近设定的固定值;要解决裁剪后的影像文件切片重新构建为新文件的问题,使得HDFS在对新文件进行分块存储式不破坏内部切片结构;要解决将构建的新文件完整复原为原影像文件结构的问题。本专利技术所采用的具体技术方案是:一种适用于分布式计算环境的大型遥感影像存储方法,该方法首先过滤出准备上传至HDFS的文件中的影像文件。接着将过滤得到的影像文件通过计算以一定的重叠度裁剪为多个影像切片。然后在每一个影像切片首部添加该切片的描述信息,并对除最后一个切片外的影像切片进行大小补齐,使其占用存储空间的大小等于以HDFS分块阀值大小,形成标准的文件块。再按顺序将文件块合并,并在尾部追加文件整体描述信息,由此得到重构后的影像文件并交由HDFS进行后续操作。最后是在使用过程中MapReduce处理任务从文件块中提取影像切片的方法以及将重构后的文件恢复为原影像文件的方法。本专利技术包括以下具体步骤:步骤1:首先读取Hadoop集群配置信息中的HDFS文件分块大小的值,并依据该值对比筛选出超过该大小的文件,然后根据文件后缀名提取出其中的影像文件,并将获取到的文件作为需要进行后续处理的目标影像文件;步骤2:读取目标影像文件,将单个大型影像文件以横向形式裁剪为数个大小接近但不超过一个HDFS文件分块大小的影像切片文件,最后一个切片文件只需小于HDFS分块大小即可,此外裁剪时在相邻的影像切片之间保持一定的上下重叠;步骤3:在各个影像切片文件的头部添加60个字节大小的切片文件的描述信息,并根据计算在文件尾部填充对应长度的空白内容,以确保除最后一个影像切片文件外的其它切片文件大小均等于HDFS文件分块大小;步骤4:按顺序合并各个影像切片文件并在尾部添加对重构的新文件的11个字节整体描述信息,至此完成大型影像文件的重构并得到适用于分布式处理环境的新文件。所述步骤2中,读取目标影像文件的同时即提取影像基本信息,包括图像的像素宽度、像素高度、像元数据类型、波段数,以及遥感影像空间信息,如左上角起始坐标、分辨率、空间投影,并写入至对应的影像切片文件在中;通过改变切片的裁剪高度h来控制得到的切片文件大小,控制影像切片大小的公式为:且splitSize<=blockSize;其中w为影像切片宽度,等于原影像短边,h为影像切片高度,小于原影像长边H,overPixel为重叠影像切片间的重叠宽度,datatypeSize为每个影像的像元数据类型,bandsCount为影像的波段数,imgMetaSize为影像文件的元信息需要占用的存储空间,splitMetaSize是为后续写入切片描述信息预留的空间大小,固定为60个字节,splitSize为裁剪所得影像切片文件大小,n表示影像切片的序号,N则为对当前影像裁剪后得到的影像切片总数量,blockSize则表示HDFS文件分块的大小;使用重叠裁剪的方式,保持上下影像切片间存在重叠范围,以减少影像切割对领域相关影像计算中边缘像元的影响,原影像高度H与各个影像切片之间的高度关系如下:normalSplitHeight×(N–1)+lastSplitHeight+overPixel×2×(N-1)=H;其中N则为对当前影像裁剪后得到的影像切片总数量,normalSplitHeight为前N-1个切片的高度,last本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610893597.html" title="一种适用于分布式计算环境的大型遥感影像重构方法原文来自X技术">适用于分布式计算环境的大型遥感影像重构方法</a>

【技术保护点】
一种适用于分布式计算环境的大型遥感影像重构方法,其特征在于包括以下步骤:步骤1:首先读取Hadoop集群配置信息中的HDFS文件分块大小的值,并依据该值对比筛选出超过该大小的文件,然后根据文件后缀名提取出其中的影像文件,并将获取到的文件作为需要进行后续处理的目标影像文件;步骤2:读取目标影像文件,将单个大型影像文件以横向形式裁剪为数个大小接近但不超过一个HDFS文件分块大小的影像切片文件,最后一个切片文件只需小于HDFS分块大小即可,此外裁剪时在相邻的影像切片之间保持一定的上下重叠;步骤3:在各个影像切片文件的头部添加60个字节大小的切片文件的描述信息,并根据计算在文件尾部填充对应长度的空白内容,以确保除最后一个影像切片文件外的其它切片文件大小均等于HDFS文件分块大小;步骤4:按顺序合并各个影像切片文件并在尾部添加对重构的新文件的11个字节整体描述信息,至此完成大型影像文件的重构并得到适用于分布式处理环境的新文件。

【技术特征摘要】
1.一种适用于分布式计算环境的大型遥感影像重构方法,其特征在于包括以下步骤:步骤1:首先读取Hadoop集群配置信息中的HDFS文件分块大小的值,并依据该值对比筛选出超过该大小的文件,然后根据文件后缀名提取出其中的影像文件,并将获取到的文件作为需要进行后续处理的目标影像文件;步骤2:读取目标影像文件,将单个大型影像文件以横向形式裁剪为数个大小接近但不超过一个HDFS文件分块大小的影像切片文件,最后一个切片文件只需小于HDFS分块大小即可,此外裁剪时在相邻的影像切片之间保持一定的上下重叠;步骤3:在各个影像切片文件的头部添加60个字节大小的切片文件的描述信息,并根据计算在文件尾部填充对应长度的空白内容,以确保除最后一个影像切片文件外的其它切片文件大小均等于HDFS文件分块大小;步骤4:按顺序合并各个影像切片文件并在尾部添加对重构的新文件的11个字节整体描述信息,至此完成大型影像文件的重构并得到适用于分布式处理环境的新文件。2.根据权利要求1所述的方法,其特征在于所述步骤2中,读取目标影像文件的同时提取影像基本信息,包括图像的像素宽度、像素高度、像元数据类型、波段数,以及遥感影像空间信息,如左上角起始坐标、分辨率、空间投影,并写入至对应的影像切片文件在中;通过改变切片的裁剪高度h来控制得到的切片文件大小,控制影像切片大小的公式为:(h+overPixel)×w×datatypeSize×bandsCount+imgMetaSize+splitMetaSize=splitSize;n=1,n=N(h+overPixel×2)×w×datatypeSize×bandsCount+imgMetaSize+splitMetaSize=splitSize;1<n<N]]>且splitSize<=blockSize;其中w为影像切片宽度,等于原影像短边,h为影像切片高度,小于原影像长边H,overPixel为重叠影像切片间的重叠宽度,datatypeSize为每个影像的像元数据类型,bandsCount为影像的波段数,imgMetaSize为影像文件的元信息需要占用的存储空间,sp...

【专利技术属性】
技术研发人员:李智文朱良峰侯韬
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1