一种遥感影像数据管理系统及方法
技术领域
本发明涉及遥感通信领域,尤指一种遥感影像数据管理系统及方法。
背景技术
伴随着一颗颗的卫星发射升空标志着遥感影像的数据量爆炸性增长,逐渐从GB级向TB级、PB级发展。如何更加有序、高效的存储管理海量遥感数据,实现遥感信息的快速分享已经成为空间信息科学领域、遥感数据业务应用机构等重点关心的问题之一。
采用分布式文件存储和大型关系型数据库相结合是一种目前比较常用的解决方案(吕雪锋,程承旗,等.海量遥感数据存储管理技术概述综述[J].中国科学:技术科学2011),该方法主要通过文件系统来组织存储影像文件,利用关系型数据库管理影像的元数据信息。然而,在面向海量影像数据时,大量的时空检索、数据变更需求,往往会使关系型数据库成为了整个系统瓶颈。虽然目前也有利用影像金字塔分级分块的组织方法,实现数据文件直接寻址快速定位的方法(负建明,汪汇兵,唐新明.多源影像数据库金字塔结构的研究与实践[J].测绘科学,2011,7),但是主要是适用于单机服务器或多台镜像服务器的架构环境,数据存在大量冗余,系统动态扩展性不强,存储与维护成本高,难以满足遥感数据量日益增长的存储需求。
数据直接寻址方式常用于处理内存单元的数据,后因其快速定位、以及脱离关系型数据库等特点,被引入到遥感数据的组织应用中。遥感影像数据直接寻址,主要指在通过已知的遥感数据信息,如文件名、元数据信息等,直接构建出数据存放路径,从而跳过海量数据检索等高耗步骤,达到数据快速定位与获取的目的。
该方法主要常见于海量遥感影像数据客户端缓存的组织和管理上。以Google地图的影像瓦片地图缓存库(TileMapCache)为例,由于影像数据采用金字塔模型组织,每张影像瓦片数据都具有分辨率层级、瓦片所在行号、瓦片所在列号等唯一信息,通过按图所示方式组织存储,即每张影像瓦片都以其行列号命名,并存放在对应的缩放级别和图层文件夹内,在数据显示应用时,通过客户端获取到当前图层、分辨率层级,以及空间范围(由公式1、2、3、4换算成相应的瓦片行号与列号),按图2所示方式直接构建出数据存放路径,从而实现海量数据的直接寻址和快速获取。
瓦片数据行列号范围(tcRowMin、tcRowMax、tcColMin、tcColMax)与当前地图空间范围(Xmin、Xmax、Ymin、Ymax)之间的换算公式(MapXmin、MapYmin、MapXmax、MapYmax为瓦片所在图层的空间范围):
虽然遥感影像数据直接寻址在所需数据信息已知完整的情况下实现快速定位索引有其一定的有优势,但对于组织和管理海量遥感影像数据方面却存在几点明显的不足:
不具备数据模糊检索的功能。模糊检索是指检索符合部分条件的数据的操作。对于任意一个完整数据库来说,用户的模糊检索是必需的,然而上述的遥感影像数据直接寻址主要是为缓存库设计的,在未知部分条件信息的情况下是无法构建出数据存储路径实现数据定位,因此遥感影像数据直接寻址方法不能直接应用于遥感影像数据库中。
不适应分布式可扩展的存储体系架构。分布式可扩展的存储体系架构是目前解决海量遥感影像数据存储的一种主要解决途径,主要通过利用分布式的存储系统满足海量数据的存储需求,利用可扩展的体系架构适应遥感数据量指数级的动态增量。然而,遥感影像数据直接寻址方法因其基于实现约定的存储规则,一般适用于静态存储系统(单机或固定的多机存储系统),不能直接适用与存储站点动态变化的分布式可扩展的存储体系架构。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种基于直接寻址的分布式可扩展遥感影像数据管理系统及方法,该方法利用了直接寻址的数据快速定位等优势,通过设计改良使其支持分布式可动态扩展的存储架构,并具备了并发快速检索等能力,可以有效地解决因大量时空检索造成的处理瓶颈,以及传统直接寻址在分布式存储环境下冗余高、扩展性差等不足。
为实现上述目的,本发明的遥感影像数据管理系统,包括运维服务站点和多个存储站点,每个存储站点包括若干个虚拟磁盘空间(VDS),存储站点和其上的虚拟磁盘空间之间通过运维服务站点上的映射表建立关联,运维服务站点用于分布式存储站点的监控与管理,模糊检索任务的分发与集成,分布式存储站点与虚拟磁盘空间的映射与迁移;分布式存储站点用于存储遥感影像数据;虚拟磁盘空间包括嵌入式索引文件和数据存储结构,嵌入式索引文件用于记录每个数据文件的属性信息,并创建索引;数据存储结构用于实现数据文件定位获取。
进一步,所述映射表包含存储站点IP地址信息和存储站点上部署的虚拟磁盘空间序号列表。
进一步,所述数据存储结构为虚拟磁盘空间内部的数据文件内容,按照遥感影像数据直接寻址模型组织构建,包括虚拟磁盘空间序号、传感器类型、年、月、日、卫星名、金字塔层级。
进一步,虚拟磁盘空间序号m的计算公式为:m=(TileRow+TileColumn)/M,TileRow为遥感影像瓦片的行号,TileColumn为遥感影像瓦片的列号,M为虚拟磁盘空间的总数。
本发明的遥感影像数据管理方法,具体为:将遥感影像瓦片数据分布存储于多个存储站点上,在存储站点上部署任意用于组织和管理遥感影像瓦片数据的虚拟磁盘空间;在运维服务站点上建立用于存储站点和虚拟磁盘空间关联的映射表;在虚拟磁盘空间中建立用于记录每个数据文件属性信息的嵌入式索引文件和用于实现数据文件定位获取的数据存储结构。
进一步,当存储站点要进行扩充时,需将已部署的各站点上的任意虚拟磁盘空间迁移到新存储站点上,并更新运维服务站点上的映射表。
进一步,当要删除一个已部署的存储站点时,需将该存储站点上的虚拟磁盘空间迁移到其他存储站点上,并更新映射表。
进一步,各个虚拟磁盘空间平均分配到各个存储站点上。
进一步,当要进行模糊检索时,系统运维服务站点将检索请求分发到各个虚拟磁盘空间,每个虚拟磁盘空间通过对各自的嵌入式索引文件进行检索,查找并返回符合条件的数据记录,运维服务站点最终收集、合并各个虚拟磁盘空间的检索结果并返回,从而实现了系统的模糊检索功能。
本发明的遥感影像数据管理系统和方法具有以下优点:
1.对传统只适用于固定存储系统的直接寻址方法进行了优化,使其具备了分布式存储节点动态扩展的能力,满足了海量影像数据库建库需求。
2.通过利用直接寻址的优势方法,实现了海量数据高效检索、快速定位。特别是在海量遥感影像数据服务系统中,由于涉及到数据预处理、产品生产、实验验证、数据分发,这些内部事务的数据请求都是在已知数据信息的情况下提交的,完全适用于直接寻址方法,可以大大减低数据库的检索压力,提高服务系统整体处理效率。
3.具备并发快速检索能力,对于条件模糊检索事务请求,系统通过运维服务站点驱动各存储站点实现并发检索,大大提升了数据检索效率。
4.由于是基于目前较广泛应用的遥感影像金字塔数据模型设计,在数据入库管理前首先对遥感数据进行了归一化处理,从一定程度上减少了数据异构带来的不便,并使数据与空间尺度和地理位置形成直接关联,从而更加方便数据的存储与管理。
5.具有更好的稳定性,数据服务阵列中各存储节点相对独立,其中任意几台出现问题,系统还能够提供稳定的运行服务。
附图说明
图1为本发明的系统架构模型图;
图2为虚拟磁盘空间与存储站点映射图;
图3为数据存储目录结构图;
图4为虚拟磁盘空间结构分解图;
图5为本发明基于直接寻址的分布式可扩展遥感影像数据存储系统架构图;
图6为本发明的系统工作流程图;
图7为文件目录定位方式图。
具体实施方式
如图1所示,本发明的方法在存储站点上引入了虚拟磁盘空间(VDS,VirtualDiskSpace),将原有影像直接寻址方法只适应于的单一存储系统划分为M个虚拟磁盘空间,分别部署到分布式存储系统的N个站点上(其中N≤M)。
对于用户而言,所有的VDS构成了一个完整的数据存储空间,但实际上,每个VDS都分别部署在对应的分布式存储站点上,通过运维服务站点上的映射表进行关联,如图2所示,从而保证每个VDS可以映射到指定的站点IP地址上。通过站点间的VDS迁移,从而实现系统存储站点的动态扩增与变更,使系统具备分布式存储系统的可扩展性。
每个VDS内部文件组织方式如图3所示,继承遥感影像直接寻址的组织方法,其中第一层路径为VDS序号m,其余路径同原方法。VDS序号m的计算公式(TileRow、TileColumn分别为瓦片的行列号,M为VDS总数):
m=(TileRow+TileColumn)/M
为使遥感影像直接寻址方法支持遥感影像数据库必需的数据模糊检索功能,本方法在虚拟磁盘空间的结构进行改进,如图4所示,每个虚拟磁盘空间VDS都由一个嵌入式索引文件(EIF,EmbeddedIndexFile)和一个数据存储结构(DSI,DataStorageInfrastructure)组成。每个数据文件的属性信息(直接寻址的路径信息)都在嵌入式索引文件EIF中进行记录,并创建索引,每条记录随着数据的变更而同步更新。
用户提交的模糊检索请求,由系统运维服务站点分发到各个VDS,每个VDS通过对各自的EIF进行检索,查找并返回符合条件的数据记录,运维服务站点最终收集、合并各个VDS的检索结果并返回用户,从而实现了系统的模糊检索功能。本改进方法不仅弥补了遥感数据直接寻址的不足,同时还采用了并行检索的构架思想,相比传统单一大型关系型数据库的检索方式,本方法在检索效率上也得到了明显地提升。
本发明的遥感影像数据管理系统是基于上述改良的遥感影像数据组织模型的实现系统,系统架构如图5所示,系统主要由运维服务站点(MServer,MaintainServer)、分布式存储站点(D-SSite,Distribute-StorageSite)构成,其中每个存储站点又包含多个虚拟磁盘空间VDS。运维服务站点(MServer)作为在整个分布式存储系统的中心控制台,主要负责以下几个功能任务:1)D-SSite的监控与管理;2)模糊检索任务的分发与集成;3)D-SSite与VDS的映射与迁徙;4)故障处理,即故障站点VDS的暂存与服务。分布式存储站点(D-SSite)是整个分布式存储系统的物理存储站点,每个D-SSite部署多个VDS,通过MServer对VDS的迁徙,实现支持站点动态扩展和变更。虚拟磁盘空间(VDS)是整个分布式存储系统的存储组织单元,由嵌入式索引文件(EIF)与数据存储结构(DSI)两部分组成。嵌入式索引文件(EIF)是VDS的数据索引文件,支持SQL检索,用以实现VDS内数据的模糊检索功能。由MServer同一驱动,多个VDS的EIF同步执行检索,大大提升了检索效率,从而使系统具备了并发快速检索的能力数据存储结构(DSI)是VDS内部的数据文件内容,按照遥感影像数据直接寻址模型组织构建,实现数据文件快速定位获取。
以下基于HJ星遥感影像数据对本发明的遥感影像数据管理系统的工作流程进行说明:
如图6所示,在该系统中设定VDS数为250个,以对应每个存储节点50TB计算,最大可支持12PB以上的数据量,基本可以保证HJ星数据的存储需求,初期系统部署的D-SSite数为50个,平均每个节点分配5个VDS。
当分布式存储站点要进行扩充时,只需将已部署的各站点上的任意VDS迁徙到新D-SSite站点上,并更新MServer上的VDS/D-SSite映射表即可。同样要删除一个已部署的D-SSite,只需将该站点上的VDS迁徙到其他D-SSite上,并更新映射表。为平衡站点负载,所以最好按规律采用平均方式选取或分配VDS。
HJ星数据通过预处理分系统进行数据标准化,按照一种遥感影像金字塔数据模型进行数据分层、分块切分,并对数据进行统一规范化命名,如表1所示,系统采用“Satellite(卫星)_Sensor(传感器)_Time(数据采集时间)_ProductID(源数据标识号)_Level(在影像金字塔中所处的层数)_Row(所处的行数)_Column(所处的列数)”这样的一个统一的命名规则进行命名,数据名中包含了该影像瓦片数据的基本元数据信息,为实现直接寻址存储奠定了基础。
表1数据标准化处理实例表
VDS/D-SSite映射表部署在MServer上,应用端在程序初始化时获取一次表内容,并保存在本地,在未收到MServer发送的更新通告前,不需更新。如表2所示,VDS/D-SSite映射表主要包含D-SSite站点IP地址信息,及其站点上部署的VDS序号列表,用户根据该表信息可以获取到VDS所在的站点位置进行访问。
表2VDS/D-SSite映射表#
数据存储结构DSI如图7所示,影像瓦片数据存储路径构建规则为“VDS序号\传感器\年份\月份\日数\卫星\目标文件”,如表1所示,应用端在已知文件名的情况下可以直接构建出该数据的存储位置。
本实例系统的EIF是采用SQLite实现的,SQLite是一款支持跨平台的嵌入式轻型高效数据库,数据库以单一文件的形式存在,支持SQL检索、数据索引创建。
EIF中记录着该VDS中全部的数据存储索引信息,通过自定义开发的SQL工具提供数据检索服务,并保持VDS内数据信息的变更同步。