一种新的海量遥感瓦片影像数据存储检索策略
第一章 绪论
1.1 研究背景和意义
随着遥感、计算机和信息技术的快速发展,遥感影像在各行业部门的应用越来越广泛。近几年,遥感平台和传感器在种类和数量方面都取得了很大的发展和提升,获取的影像数据也朝着高光谱和超光谱方向发展,航空航天遥感影像数据量正在以几何级的速度增长。如此数量庞大、种类繁多的遥感数据给影像管理带了巨大的挑战,然而,当前绝大多数拥有影像数据的单位和部门数据管理方法和能力相对落后,数据存储不规范、重复存储或数据假丢失,导致数据查找十分困难。
目前有两个问题呈现在我们面前:1)随着遥感影像数据海量增长速度,采用何种方法才能合理高效的组织存储与管理这些地理上分布异构的影像数据,实现统一的存储组织规范和实时共享与快速发布服务;2)随着用户对遥感图像数据的需求越来越广泛与要求越来越高,怎样从海量的遥感数据源中快速准确的查找到满足用户不同需求的遥感影像数据。
通过对国内外知名的海量遥感影像数据存储管理系统的研究,不难发现采用多分辨率影像金字塔和影像块技术是实现遥感影像信息存储、组织、处理、实时显示和高速服务的有效途径。影像金子塔和影像分块技术就是将原来较大的影像数据通过采样和分割技术生成一系列小的影像块,实现影像块的标准化存储组织管理,当需要查询和显示影像时,只需根据查找范围或显示区域范围加载调度相应的影像块数据。
采用影像金字塔与影像分块技术处理遥感影像数据具有如下优点:
1)突破了计算机内存和用户设备性能限制,使海量高分辨率影像的快速处理成为可能;无论原始影像有多大,在需要对遥感影像进行图像运算时,只需要读取其中一部分数据到内存,从而不受操作系统地址空间限制。
2)避免频繁的 I/O 的操作,将处理数据读入内存处理,更容易定位分块之后的数据;同时,图像文件分块之后,图像块就会最大可能地集中在相邻的扇区和簇,大大提高 I/O 效率。
3)随着分布式、并行、网格计算、云计算的发展,如何把一个需要十分巨大的计算能力才能够解决的任务分成许多小的部分,并把这些部分配给大量计算机进行处理,已经引起了遥感及地理信息领域的专家的关注与重视,而采用影像分块技术恰好可以将原始影像数据分割成许多小的瓦片数据从而便于多计算协调并行处理。
1.2 国内外研究现状
针对海量遥感影像数据的存储、组织、管理、查找,国内外都做了大量的工作,也推出了一些有代表性海量数据存储管理系统。从该领域的理论研究和实践来看,国外的技术及实践相对较成熟稳重,也较多,而国内的相关技术及所开发的系统在存储容量以及检索速度上与国外相比还有一定的差距。
1.2.1 国外研究现状
国外具有代表的海量影像数据存储管理系统主要有Google公司开发的用于其支撑Google Earth/Maps应用的海量存储系统,NASA 推出的开放源代码地理科普软件 World Wind,Microsoft 公司发布的 Bing 服务中线上地图服务 Bing Maps,在线公共地图集TerraServer,美国地球眼公司Geoeye 的EyeStroNext数据管理系统。
1)Google 影像数据存储管理技术
Google 有两款比较知名的影像数据管理系统 Google Earth 和 Google Maps, 在数据存储管理技术方面,都依托于 Google 云计算技术。Google 云计算的核心架构主要是由分布式文件系统(GFS),并行计算算法(MapReduce),索引大表(BigTable)和分布式服务器锁服务(Chubby)等四个紧密结合的系统组成,如图1-1所示。
其中GFS(Google File System)处于整个系统所有核心技术的底层,是一个高可靠并且具有很强的可扩展性能的分布式文件存储系统,系统负责对分布的海量数据进行管理和应用。GFS部署在大量廉价PC机上,支持冗余策略,能够为大量的专业和非专业使用者提供性能较好的影像数据服务。
第二章 影像存储检索理论与关键技术
瓦片影像数据的高效存储和快速检索是海量遥感影像存储管理系统能否提供高可用性服务的关键技术,本章对海量遥感影像的存储检索涉及到的基本理论和技术进行了逐一介绍,并对瓦片影像的概念、结构和种类做了详细的说明,作为下一章瓦片数据的存储的理论基础。
2.1 数据库技术
2.1.1 C/S 模式数据库
C/S (Client/Server,客户机/服务器)是一种分布式计算机体系架构,这种结构决定其能够充分利用中央处理机(CPU)和服务器资源,采用智能终端,通常采用的是把程序和数据放到服务器端,工作业务专门化,即每台计算机各负其职,从而把整个应用分成前、后台放在计算机上,因此在网络上只需传递请求和应答即可,不需要大量的程序运算和数据处理操作,这样可以有效的减少了网络通信量。
C/S 型数据库应用程序主要由两部分组成:客户机和服务器。客户机功能是负责执行前台请求,例如管理用户接口、数据处理和报告请求等。作用主要是将用户的需求移交给服务器,然后再从服务器返回数据给客户端。服务器指数据库管理系统(DBMS),执行后台任务,负责管理共享外设,控制对共享数据库的操作,接受并应答用户请求,描述、管理和维护数据库的程序系统,是数据库系统的最核心组成部分,对数据库进行统一的控制和管理。
C/S 型数据库结构的工作原理是:首先用户通过应用程序向客户机提出查找请求,客户机通过网络传输将用户的数据请求递交给服务器端,服务器的数据库管理系统则执行请求分析与数据处理任务,然后把处理后的用户所需要的那部分数据,而不是所有文件再次通过网络传输给客户机上,最后由客户机完成对其所需数据的加工处理操作。C/S系统结构如图2-1所示:
2.2 存储类型分析
海量遥感数据存储管理系统成果可以总结为 4 种主要采用的存储管理方式,即集中式文件系统存储管理,基于关系型数据库的分布式存储管理,基于分布式文件系统的存储管理和基于商用关系型数据库+文件系统的存储管理。
2.2.1 集中式文件系统存储管理
该存储方案特点是将海量影像数据全部存储在中心服务器上,通过文件的方式对数据进行组织管理。文件系统一个很大的优势就是能够很好地支持各种复杂的影像数据结构及其他非结构化数据,并能高效地实现数据的操作和维护,但是整个系统的可扩展性较差,中心服务器很容易成为整个系统的瓶颈。
2.2.2 分布式数据库存储管理
分布式数据库系统是集中与分散的有机结合,具有良好的可用行和可靠性,个别的站点或者通信链路出现故障时系统仍然可以继续运作,另外数据的多个副本的存在也有利于数据的访问和恢复,除此外分布式数据库系统具有较好的灵活性和可伸缩性,可以方便增删数据库节点,已使用应用的多变性,存储架构如图2-5 所示。缺点是数据的分割、分布与冗余度是否合适,这些特性直接影响系统局部自治性;异构分布式数据库系统需要把来自各个局部 DBMS 的不同数据模型表示的数据描述成一个统一的视图。分布式事务的并发控制较为复杂,多个事务同时读写同一数据的情况比集中式数据库系统频率高很多,并发控制机制在尽可能提高系统并行性,提高系统效率的同时还需要协调多个事务保证结果的正确性以及数据库的和一致性;传统的关系型 DBMS 对影像数据等非结构化数据的存储效率并不高,对影像数据的管理与发布的支持也较弱。
2.2.3 分布式文件系统存储管理
该存储方式的优点是文件系统存储可以根据具体需要设计文件的存储结构,通过编写存取文件的函数或程序进行数据管理,同时可以根据具体的应用需求灵活的设计文件的存储结构,因而能够很好地适应各种复杂的影像数据结构,高效地支持数据操作与维护,从分利用集群架构中各节点的存储能力和计算能力,整个系统具有良好的可扩展能力和可用性,十分适于存储海量遥感影像数据。
第三章 瓦片数据存储设计...............27
3.1 设计目标与设计理念 .............. 27
3.1.1 存储策略设计理念 ......... 27
3.1.2 分布式系统设计目标 ................ 28
第四章 瓦片数据检索实现.......................46
4.1 直接寻址精确检索............................ 46
4.1.1 检索原理 ......................... 46
第五章 结束语..............62
5.1 论文主要贡献 ................ 62
5.2 下一步工作 .......... 63
第四章 瓦片数据检索实现
海量遥感影像数据的检索具有重要意义,如何短时间内从海量遥感影像数据存储系统中查找到所需要的影像数据是海量存储管理系统亟需解决的关键技术。 根据上一章对分布式系统的架构和文件系统存储策略的分析可知,系统架构采用了索引文件数据与文件数据分开存储的方式,即索引数据存放在嵌入式数据库SQLite 索引文件,瓦片实体数据直接存储在磁盘树结构。本研究的文件系统存储策略决定了瓦片数据的检索可以具备两种检索方式,即基于文件树结构的直接寻址定位检索和基于嵌入式数据库SQLite的并行检索方法。
4.1 直接寻址精确检索
4.1.1 检索原理
数据寻址定位方法检索技术最初主要是应用于处理内存单元的数据,后因其快速定位、以及脱离商用关系型数据库等特点,被引入到了遥感数据的组织应用中。遥感影像数据直接寻址基本思想来源 World Wind 瓦片寻址调度技术,首先对遥感影像数据按照一定的规范进行标准化预处理,然后将标准化处理后的影像数据按照提前设计好的规范存储到相应的磁盘目录中,由于了解存储规范,用户在检索的时候便可以根据要检索的遥感数据的空间和属性信息直接构建出需要查找的影像数据放地址,实现了用算法寻址;来代替数据库表检索,由于跳过海量数据检索等高耗步骤,所以可以达到数据快速定位与获取的目的。
第五章 结束语
本文分析了国内外比较知名的海量遥感瓦片存储管理系统,同时对海量遥感影像数据存储管理涉及的关键技术和理论做了详细的分析研究,在此基础上提出了基于轻型嵌入式数据库文件SQLite 与文件系统相结合的分布式存储策略,并定性的分析了该存储策略的负载均衡性,可扩展性和可靠性,同时由于文件系统规采用标准化命名和规范化存储,因此设计了基于寻址定位的精确查找技术和基于SQLite 文件的多机并行模糊检索策略,通过实验测试与理论分析证明本研究的检索策略具有较高的检索效率和较强的扩展能力,可以满足海量遥感瓦片数据的存储和查找请求。
5.1 论文主要贡献
通过对海量遥感影像管理系统的研究及对主流的几种存储架构的分析,本研究提出一种基于分布式数据库文件与分布式文件系统结合的瓦片存储策略,因此属于一种数据库+文件系统的存储策略,但又不同于传统的大型C/S模式关系数据库+文件系统架构,本研究方案具有性能较好的分布式元数据查找管理能力,在海量数据源检索时不会出现检索瓶颈问题;如果将 SQLite 文件看作是索引文件,那么本研究存储方案又可以看作是一种分布式文件系统存储策略,有效的克服了关系数据库在存储非结构化数据方面的不足,因此本研究的存储方案具备以上两种存储架构的设计优势,又能克服彼此的一些缺陷。
本文的主要工作和贡献表现在以下几个方面:
1)本文的存储检索策略采用小鱼(群)吃大鱼;的设计思路,虽然在存储量上,SQLite要远远低于传统的大中型DBMS,但是由于SQLite具有轻型、免费、零配置、不受平台限制、无需安装等特点,相对于其他的DBMS 更加适宜分布式存储架构,具有较强的独立性、可移植性和较低的维护成本;并且由于SQLite不负责影像实体的存储工作,仅存储瓦片元数据信息,可扩张的分布式存储容量完全可以满足海量瓦片影像元数据存储需求,理论讲具有无限扩张能力;
2)本研究采用免费开源的 SQLite 嵌入式数据库文件替代传统的大型关系型DBMS 管理海量遥感瓦片元数据,同时采用普通的 PC 机集群代替昂贵的数据库服务器,在很大程度上降低了系统成本,本研究成果具有一定的商用推广价值;
3)本文设计的存储策略在哈希取模算法基础上设计了哈希主副配号;冗余策略,改进后的存储方案保留了哈希优秀的负载均衡性,有效的克服了并行检索短板效应;,而且又具有良好的冗余策略,一旦某一个或任何两个存储节点因故障失效,系统不会丢失任何数据;
4)对存储瓦片数据进行了标准化的命名和规范化的存储,采用树形文件结构存储影像实体数据,以瓦片的行列号及其他属性信息作为索引,将瓦片名、存储的路径以及嵌入式数据库SQLite文件中的字段形成映射,从而实现瓦片数据的直接寻址定位,在很大程度上分担了数据库模糊查找全表扫描的压力;
5)针对遥感影像模糊查找需求,设计了基于嵌入式数据库的多机并行检索方案,并阐述了检索流程和实现的核心程序,同时通过大量的实验测试和理论分析表明本研究的检索策略具有较高的查找速度和其他性能优势,可以满足海量数据源的模糊查找需求;
6)本研究的存储架构和检索策略设计方案为海量高分辨率卫星影像的存储管理和快速查找提供了一种新的设计思路和技术支持。
参考文献(略)