[发明专利]一种在集群环境中对遥感影像数据进行高效并行存取的方法有效
申请号: | 201210278969.6 | 申请日: | 2012-08-07 |
公开(公告)号: | CN102819407A | 公开(公告)日: | 2012-12-12 |
发明(设计)人: | 占利军;秦承志 | 申请(专利权)人: | 中国科学院地理科学与资源研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉;贾玉忠 |
地址: | 100101 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 环境 遥感 影像 数据 进行 高效 并行 存取 方法 | ||
技术领域
本发明涉及一种在集群环境中对遥感影像数据进行高效并行存取的方法,技术应用领域为遥感影像数据并行处理等。
背景技术
随着对地观测技术的长足进步,遥感影像数据日益增长,遥感影像处理呈现出数据密集和计算密集的特点,现有的遥感影像处理串行算法模式和传统硬件平台已成为性能瓶颈,完全不能满足海量遥感数据快速处理的需求。以集群为代表的高性能计算设备的普及为遥感影像高效处理提供了契机,为了有效利用集群等高性能设备,迫切需要研发遥感影像处理并行算法。然而当前研发的遥感影像处理并行算法在I/O部分存在两方面问题:1)由于遥感影像数据存储格式繁多,要求所研发的遥感影像处理并行算法应能支持多种常用的遥感影像数据格式;2)如果不能提升大规模遥感影像数据的I/O效率,将直接影响并行算法实际应用的性能。
目前在遥感影像数据处理领域广泛使用GDAL(Geospatial Data Abstraction Library,地理空间数据抽象库)来读取遥感影像数据,该库提供了一个统一的标准接口来读写近75种格式的遥感影像数据,具有效率高、可扩展性好等优点。如果GDAL能被用于遥感影像处理并行算法的研发,那么将解决遥感影像数据存储格式繁多问题。
然而在研发遥感影像处理并行算法过程中发现,GDAL存在适用性差的问题。当前大多数遥感影像处理算法都可采用简单规则数据划分的并行策略来进行并行化,常用的数据划分方式有按行划分、按列划分和按块划分,上述三种数据划分方式有各自优势,需根据算法特点和数据特点来选择。作为遥感影像处理并行算法的I/O库,需支持上述三种基本数据划分方式。然而,GDAL只支持按行数据划分,当多个进程使用GDAL按列或按块并行读写某一遥感影像数据文件时,效率很低(远远低于按行数据划分),结果的正确性也得不到保证。
GDAL按列或按块并行读写遥感影像文件效率低下且出错的原因在于产生了大量非连续的数据读写请求。从用户视角看遥感影像文件应该是二维的栅格,但从文件视角来看目前大部分的遥感影像文件是按行线性存储的一维条带,因此当使用按列或按块数据划分方式对遥感影像文件进行划分时,每个进程需要访问遥感影像文件多个相对较小、非连续的数据段。由于GDAL是建立在文件系统之上的应用层I/O库,而现有的文件系统一次数据读写请求只能访问一段连续数据,因此每个进程使用GDAL都将产生大量的小型数据读写请求,导致性能急剧下降。此外,各个进程访问的数据不连续,并且可能跨越较大的数据块,使得GDAL的加锁机制出现困难,最终导致结果错误。
发明内容
本发明的目的是提供一种在集群环境中对遥感影像数据进行高效并行存取的方法,该方法建立在GDAL库基础上,通过构建一个遥感影像数据重分布模块,将大量非连续的小型数据读写请求聚合成少量连续的大型数据读写请求,从而提高了GDAL按列或按块并行读写某一遥感影像数据文件的效率,同时也保证了结果的正确性,解决了GDAL在遥感影像处理并行算法研发中适用性差的问题。
本发明的技术解决方案为:一种在集群环境中对遥感影像文件数据进行高效并行存取的方法,步骤如下:
(1)在集群环境中,使用消息传递(MPI)并行编程技术,各个进程将各自要读写的遥感影像数据块的范围信息发给主进程,主进程负责收集各个进程的读写范围信息。
(2)主进程根据所有进程的读写范围信息判断数据划分方式,并根据数据划分方式来确定各个进程数据重分布的方式,并将数据重分布所需的信息发送给各个进程。数据重分布的目的有两个:一个是将各个进程由于按行或者按块划分导致的非连续读写请求变成连续读写请求,一个是将大量的小型读写请求聚合成少量的大型读写请求。
如果是按行数据划分,主进程认为所有进程的读写请求已经是连续的,如果进程数目不多,即读写请求数目较少,没有超过设定的阈值(进程数目多少是相对的,该阈值依赖于集群环境,默认值为小于32,用户也可根据实际情况设置该值),主进程认为各个进程不需要进行数据重分布操作;如果进程数目较多即已超过设定的阈值(进程数目多少是相对的,该阈值依赖于集群环境,默认值为大于32,用户也可根据实际情况设置该值),即读写请求数目很多,主进程认为各个进程需要执行数据重分布操作;如果是按列或按块数据划分,主进程认为各个进程应该在存取遥感影像文件前先进行数据重分布。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院地理科学与资源研究所,未经中国科学院地理科学与资源研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210278969.6/2.html,转载请声明来源钻瓜专利网。