论文部分内容阅读
近年来,利用遥感技术进行全球变化的监测和预防已成为一种普遍方式,基于遥感技术的原理,构建了针对不同应用的全球变化因子模型。这些模型通常利用多平台、多时相、多尺度、多波段的多源遥感影像进行计算,数据可能遍布全球各地,数据量可达到TB级甚至PB级,从而带来了全球变化领域的数据密集型计算问题。然而,目前,数据密集型计算的方法对地学应用还没有普遍的适用性,存在着数据存储分布不合理、并行化编程困难以及大数据量吞吐性能差等问题。因此,本文的研究目标在于研究实现分布式数据密集型计算的可用方法,实现海量分布的遥感数据的高吞吐的分布式计算。 针对以上问题,本文调研了云计算技术以及国内外的基于云计算的典型遥感影像处理平台,研究其所用的文件系统、计算模型等关键技术,云计算技术中,以Google云计算技术最为出名,而Hadoop是Apache组织对Google云计算思想的开源实现。目前,Hadoop已经在各个领域中得到了广泛的应用,并取得了很多研究成果。另外,本文分析了全球变化因子模型计算过程中的遥感数据以及算法的特点,从计算角度来看,全球变化因子模型计算过程大多是像素级遥感图像处理算法。基于以上分析,本文选择Hadoop云计算平台为实验平台,研究全球变化因子模型在Hadoop中的应用问题,具体而言,就是研究海量分布式的遥感数据在Hadoop中统一的计算流程和并行程序设计方法。 遥感数据的存储和组织方式比较复杂,而MapReduce计算的输入数据格式不直接支持遥感数据,然而,考虑到在HDFS中添加支持遥感数据的输入格式比较困难,文中选择在HDFS之外,对遥感数据进行数据格式转换操作。根据像素级遥感图像处理算法中的点运算、局部运算和全局运算三类算法特点,结合HDFS的存储以及MapReduce计算特点,分别研究并给出其与MapReduce并行编程模型的映射关系,从而提出对应的并行程序设计方法,并最终提出了基于Hadoop的具有普适性的海量像素级遥感图像处理流程。另外,针对MapReduce这种数据并行计算模型,以最大程度本地化计算为目标,针对遥感图像处理算法中不同的遥感数据访问模式,提出了按波段、按行和按块的数据划分方法。最后,对作业执行相关的Hadoop关键系统参数的配置优化进行了研究。通过大量实验表明,本文中提出的基于MapReduce的像素级遥感图像并行程序设计方法在Hadoop分布式环境中,随处理的数据量的变化表现出良好的可伸缩性;对Hadoop运行任务的map任务并发个数参数的调优,有助于提高map阶段的任务执行效率。 本文提出了基于Hadoop的海量像素级遥感图像处理流程以及像素级遥感图像处理算法中的三类算法与MapReduce并行编程模型中的映射关系,其关键技术与方法具有一定的通用性,对于从事其他包含像素级遥感图像处理算法的全球变化因子模型计算的其他科研人员来说,具有普遍的适用性和重要的借鉴意义。