CN109284338B - 一种基于混合索引的卫星遥感大数据优化查询方法 - Google Patents
一种基于混合索引的卫星遥感大数据优化查询方法 Download PDFInfo
- Publication number
- CN109284338B CN109284338B CN201811250490.5A CN201811250490A CN109284338B CN 109284338 B CN109284338 B CN 109284338B CN 201811250490 A CN201811250490 A CN 201811250490A CN 109284338 B CN109284338 B CN 109284338B
- Authority
- CN
- China
- Prior art keywords
- query
- index
- nodes
- data
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种基于混合索引的卫星遥感大数据优化查询方法,包括以下步骤,对采集的卫星遥感数据进行修复处理,修复因卫星未校准或云层覆盖而导致的卫星数据丢失,避免因空白区域和卫星数据丢失而降低整个数据的可用性,采用混合索引的方式,构建一种新型的多分辨率时空索引,通过确立网格稀疏度,选择建立不同的索引策略,优化查询性能。本发明面向卫星遥感大数据的高效存储和处理技术,采用混合索引技术,建立了一种全新的时空索引,针对卫星遥感大数据的特点进行了多方面的设计,能够同时处理时间范围和空间范围的查询条件,整体查询效率较传统基于MapReduce计算模型的数据处理系统更为高效。
Description
技术领域
本发明涉及计算机数据库中的时空数据管理技术领域,尤其涉及一种基于混合索引的卫星遥感大数据优化查询方法。
背景技术
随着数据时代的到来,各种信息数据呈现出急速增长的趋势。在航空航天领域,航天机构每天都会收到来自卫星传送来的大量遥感数据,由于遥感数据不断积累以及数据信息极为复杂,整个数据集变得越来越难以处理,以美国国家航空航天局(NASA)提供的数据集(LP DACC)为例,该数据集超过了500TB,且这些数据每天仍在飞速增长中。该数据集包含了多方面的卫星遥感信息,包括温度、植被和地表辐射等,覆盖了整个地球长达15年的数据。
卫星遥感数据由于其稀有性和高价值,已成为多个领域的研究热点,而在计算机科学领域,地理信息系统研究也已经发展成为计算机科学一个重要的分支,如何处理、分析和展示卫星遥感数据一直是该领域的重要话题。由于卫星遥感数据庞大和信息繁杂,传统卫星遥感数据技术和方法已远远无法满足针对这些数据进行基本查询和可视化的响应数据的性能需求,因而如何存储、处理海量卫星数据,是目前急需解决的问题。
随着MapReduce计算模型的提出和基于MapReduce的开源实现Hadoop系统的日渐成熟,工业界和学术界越来越多地利用MapReduce计算模型来实现对大量时空数据进行管理和应用以满足对大量卫星数据的处理需求,目前已提出以下几种卫星遥感数据存储处理系统原型:
(1)Parallel-Second[1]:该系统是以Hadoop[4]作为分布式任务调度的并行时空数据库。
(2)MD-HBase[2]:该系统是一个在HBase[5]基础上,支持多维索引的数据库。
(3)Hadoop-GIS[3]:该系统是一个在Hive[6]基础上,支持网格索引和范围查询的数据仓库。
通过对现有系统采用的技术进行分析,发现现有这些系统存在如下几种问题:
(1)系统本身不针对时空数据的特性进行特殊化处理。hadoop作为黑盒,基于hadoop进行实现,因而受到hadoop自身的限制,随着数据量的增加,性能会遇到瓶颈。
(2)无法在定制构架的时空索引上运行MapReduce程序。除了系统本身支持的检索功能外,用户自身不能定制新的时空操作。
(3)一些系统只支持标准网格索引,无法高效处理时间过滤条件, Hadoop-GIS。
上文中提到的文献来源于如下的期刊:
[1]Lu J,Guting RH.Parallel Secondo:Boosting Database Engines withHadoop[C]//IEEE,International Conference on Parallel and Distributed Systems.IEEE Computer Society,2012:738-743.
[2]Nishimura S,Das S,Agrawal D,et al.\(\mathcal{MD\)-HBase:design andimplementation ofan elastic data infrastructure for cloud-scale locationservices[J]. Distributed&Parallel Databases,2013,31(2):289-319.
[3]Aji A,Wang F,Vo H,et al.Hadoop GIS:a high performance spatial datawarehousing system over mapreduce[J].Proceedings ofthe Vldb Endowment,2013, 6(11):1009-1020.
[4]Shvachko K,Kuang H,Radia S,et al.The Hadoop Distributed FileSystem[C]//MASS Storage Systems and Technologies.IEEE,2010:1-10.
[5]Vora M N.Hadoop-HBase for Large-Scale Data[C]//2011internationalconference on computer science and networktechnology.2011:601-605.
[6]Thusoo A,Sarma J S,JainN,et al.Hive:a warehousing solution over amap-reduce framework[J].Proceedings ofthe Vldb Endowment,2009, 2(2):1626-1629.
[7]MODIS Land Products Quality Assurrance Tutorial:Part1,2012.https://lpdaac.usgs.gov/sites/default/files/public/modis/docs/MODIS_LP_QA_Tutori al-1.pdf.
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于混合索引的卫星遥感大数据优化查询方法。
本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法,包括以下步骤:
S1:对采集的卫星遥感数据进行修复处理,修复因卫星未校准或云层覆盖而导致的卫星数据丢失,避免因空白区域和卫星数据丢失而降低整个数据的可用性;
S2:采用混合索引的方式,构建一种多分辨率时空索引,通过确立网格稀疏度,选择建立不同的索引策略,优化查询性能;
S3:接收来自用户的选择和聚集的查询请求,利用时空混合索引结构快速查找满足用户查询条件的数据,快速返回符合查询要求的结果。
优选地,所述S2包括以下步骤:
S21:构建以天为粒度的时空索引,当数据清理模块完成,索引模块基于被修复过的数据构建以天为粒度的索引;
S22:构建以月或年为粒度的时空索引,在每月月底或者年底,合并以天为粒度的时空索引,构建更为高效层级化的索引结构。
优选地,所述对采集的卫星遥感数据进行修复处理包括:
卫星遥感数据集存储了包括温度、植被、地表辐射和热反常的历史卫星数据,以层级结构组织,在第一层,文件以数据集组织,每个数据集被存储在分离的目录中,温度或者植被;在第二层,每个数据集以天为单位时间进行分块,每个文件存储在分离的目录中,以数据快照的时间为目录名,在第三层,每份快照中的数据分布在全球范围的正规网格中;每个网格块以二维坐标为ID,h21v06代表第21行第6列的单元;在第四层,每个文件包含一组二维数组,代表了某特定时间和地区的点的数值表示,温度值;文件均采用HDF5格式,一种内容以二维数据组织的二进制格式,数组的大小因分辨率而不同可进行配置,可分为1200*1200,2400*2400,4800*4800,数组中每个值分别代表大小为1000*1000m, 500*500m,250*250m地区范围上的卫星遥感数据值;
数组中每个值的坐标并不直接存储,而是通过正弦相交计算后进行存储,具体如下:给定一个温度数据集网格块中的一个点,网格块的大小为1200*1200,在网格块h21v06中坐标为(100,100)的点,为了计算其经纬度坐标,首先需要计算点在正弦空间的位置:
x=21+100/1200、
y=6+100/1200、
然后,其经纬度按如下公式计算:
latitude=(9-y)*10、
longitude=(x-18)*10*cos(latitude)、
若给定经纬度的偏移量,上述公式可以被逆向使用,解算出经纬度对应的文件中点的位置;
针对数据丢失,采用二维线性插入方法来预测丢失的数据,基本思想是为每个丢失的点计算两个估值(x,y),通过依赖同一水平和垂直线上最邻近的两个有效点的数值,使用传统的线性插入的方法来计算,具体的估值通过计算两个估值 x和y的平均值来得到。
优选地,索引构建包括:
整个时空索引主要分为时间和空间两个层级结构;
首先卫星遥感大数据以三个时间层级进行组织,每个层级使用不同的时间维度来表示整个数据集,最低维度的层级包含了每年的索引结构,整个一年的数据被包含在一个索引里,而最高维度的索引层包含了每天的索引结构,每月的索引结构只在该月所有以天为粒度的索引建立完成之后再开始建立,与此同理,每年的索引结构在年底才建立;
其次,为全球所有区域建立四叉树索引,首先,计算每个点的Z-order值,网格块通过Z曲线对数据进行了划分,将二维数组降维为一维数组,在这个过程中,需要维护一个二维数组,该数组的大小为res2,其中res为该网格块的分辨率大小,数组中的值并非用来记录原来网格块中的数值,温度等,而是记录该点的坐标位置,然后根据Z-order的值对点进行排序;在此过程中,维护一个查询表格(lookup table),其大小和之前的二维数组一样,均为res2;最终,在所有已排序完的点上建立四叉索引树,在四叉树上每一个节点都会被分配一个独立的ID、起始位置和终点位置,起始位置和终点位置确定了这个节点在有序序列上的范围,先以(ID=1,start=0,end=res*res)建立树的根节点,在根节点下,四个孩子节点将整片区域各切割成四分之一,根节点值域也被切分成四等分,每个孩子节点对应一份,这些分割将通过判定Z-order值最高的两个bit值,按照 00->01->10->11的顺序建立,只要一个节点中的记录数比叶子节点的容量大,这个分割过程就会重复下去,当四个孩子节点被创建好之后,他们就会被分配一个ID,ID=PID*4+i其中,PID是父节点的ID,而i是孩子节点的编号;
然后,在建立四叉树索引时,为了保证整棵树的平衡性以及后面查询索引的效率,并没有删减掉海洋这部分冗余数据,因此设计了混合索引的解决方案,从而达到优化整个系统索引的目的,对地球基础地理数据进行分析,可以找到全球所有非陆地的区域块,通过在原始节点的结构体中添加判定字段,对相关节点进行标记,从而实现查询对一个区域块中不同节点的处理,因此,做出如下定义:
(1)有效节点:分布在陆地区域块的节点,即未被标记的节点;
(2)无效节点:分布在非陆地区域块的节点,河流或海洋,即被标记的节点;
可以看到,由于地理区域差异问题,不同区域块的有效节点比重各有差异,内陆地区的区域块,有效节点比重比较大;而沿海的部分区域块中,很大部分是无效节点;极端情况下,少部分区域块的有效节点位于区域块的边角部分,造成有效节点所占比重极为小,所以,若在有效节点所占比重很小或者极小的区域块中,同样以四叉树作为索引结构,必然会导致查询的低效,为此,针对不同情况下的区域块构建不同的索引,来提高整个系统的效率,为方便描述本发明设计的混合索引方法,引入“稀疏度”定义:在相同的分辨率下,一个区域块的稀疏度β=无效节点数/区域块总节点数;
按如下方法确定和维护每个网格块的稀疏度:
(1)在每个网格块中,维护一个值以表示网格块的稀疏度,维护一个值表示无效节点的个数,网格块中节点总个数为分辨率的平方值,同时,维护一个值表示无效节点信息的网格;
(2)计算每个节点的Z-order值,对Z-order值进行排序,构建查询表格;
(3)在排序的同时,根据每个节点数据结构中的标记,对每个节点进行判定,记录无效节点的位置信息,同时更新无效节点个数的值;
(4)排序结束时,即可根据稀疏度的数值,为每个网格块建立不同的索引;
不同稀疏度β下网格块的最佳索引构造策略如下:
(1)当1-β≤0.005时,采用Hash结构,
(2)当0.005<1-β<0.65时,采用R树索引,
当1-β≥0.65时,采用修改过的四叉树索引。
优选地,所述查询方法的查询方式包括:选择查询和聚合查询,且基于混合索引的查询过程分为时间范围查询筛选和空间范围查询筛选两个步骤。
优选地,所述时间范围查询筛选是按照时间粒度由大至小的顺序进行筛选,从时间粒度最大的年开始进行,如果匹配,则将其加入到查询列表中,进行进一步处理,该过程将一直重复,直至精确到时间粒度最小的天的索引查询结束。
优选地,所述空间范围查询筛选的步骤分三步,首先将范围查询从经纬度空间转换成正弦空间,然后将范围正规化为网格块的分辨率,最后通过匹配网格块 ID,对不同的网格块进行不同处理:对于完全被包含在查询范围中的网格块,直接将其放入查询列表中,而对于部分覆盖查询范围的网格块,将其进行进一步的查询处理;由于不同网格块的稀疏度不同,采用了不同的索引结构,因此在查询处理方式上也会有所不同,混合索引的方式包括四叉树索引查询、R树索引查询和Hash结构查询。
优选地,所述四叉树索引查询包括对于对应分辨率下的四叉树进行传统的范围查询,从根节点开始,向下深入搜索,在每个节点中,如果最小边界矩形(MBR) 完全被包含在查询范围里,那么这个节点下所有的值将被返回,如果节点的最小边界矩形部分覆盖了查询范围,同时这个节点是非叶子节点,那么这个节点的四个孩子节点将被访问,否则,该节点下所有的点将被扫描,最终找到符合查询范围的数据;而在进行聚合查询时,所有覆盖查询范围中的网格块都将进行聚合计算,而不区分覆盖和完全覆盖的网格,同时,在对包含无效节点的区域进行深入遍历时,通过添加判定条件,过滤掉无效节点,无需进行这些点的数据处理,从而提高整个索引的查询效率。
优选地,所述R树索引查询为输入端的查询范围是一个空间二维矩形,首先搜索子树,从根节点开始,如果根节点与目标矩形M有重合,则搜索其所有的子节点;然后搜索叶子节点,如果该节点为叶子节点,且与目标矩形M有重叠,则遍历搜索目标矩形M所指向的目标信息,返回符合要求的记录。
优选地,所述Hash结构查询为由于Hash结构在稀疏度β较大的情况下使用,所以在查询过程中,返回的有效节点信息较少,通过直接将Hash结构中节点的位置信息逐一与空间范围信息进行比较,返回节点的信息,即可完成该网格块的所需要查询的信息,即有效节点的信息。
本发明的有益效果为:本发明面向卫星遥感大数据的高效存储和处理技术,采用混合索引技术,建立了一种全新的时空索引,针对卫星遥感大数据的特点进行了多方面的设计,能够同时处理时间范围和空间范围的查询条件,整体查询效率较传统基于MapReduce计算模型的数据处理系统更为高效;本发明给出了卫星遥感数据的修复技术,尽量降低了因数据丢失带来的影响,增强了数据的可用性;并且本发明给出了卫星遥感大数据的混合索引技术,相较传统的大数据时空索引,查询效率更高;本发明基于上述索引技术优化了对应的时空查询算法。
附图说明
图1为本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法的系统整体架构图;
图2为本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法的时间层级结构示意图;
图3为本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法的不同稀疏度β下网格块最佳索引构造策略的结果示意图;
图4为本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法的R 树索引查询的样例示意图;
图5为本发明提出的一种基于混合索引的卫星遥感大数据优化查询方法的混合索引与传统四叉树索引的性能实验结果对比示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-5,一种基于混合索引的卫星遥感大数据优化查询方法,包括以下步骤:
S1:对采集的卫星遥感数据进行修复处理,修复因卫星未校准或云层覆盖而导致的卫星数据丢失,避免因空白区域和卫星数据丢失而降低整个数据的可用性;
S2:采用混合索引的方式,构建一种多分辨率时空索引,通过确立网格稀疏度,选择建立不同的索引策略,优化查询性能;具体包括首先构建以天为粒度的时空索引,当数据清理模块完成,索引模块基于被修复过的数据构建以天为粒度的索引;然后构建以月或年为粒度的时空索引,在每月月底或者年底,合并以天为粒度的时空索引,构建更为高效层级化的索引结构;
S3:接收来自用户的选择和聚集的查询请求,利用时空混合索引结构快速查找满足用户查询条件的数据,快速返回符合查询要求的结果。
1、本发明中,对采集的卫星遥感数据进行修复处理包括:
卫星遥感数据集存储了包括温度、植被、地表辐射和热反常的历史卫星数据,以层级结构组织,在第一层,文件以数据集组织,每个数据集被存储在分离的目录中,温度或者植被;在第二层,每个数据集以天为单位时间进行分块,每个文件存储在分离的目录中,以数据快照的时间为目录名,在第三层,每份快照中的数据分布在全球范围的正规网格中;每个网格块以二维坐标为ID,h21v06代表第21行第6列的单元;在第四层,每个文件包含一组二维数组,代表了某特定时间和地区的点的数值表示,温度值;文件均采用HDF5格式,一种内容以二维数据组织的二进制格式,数组的大小因分辨率而不同可进行配置,可分为1200*1200,2400*2400,4800*4800,数组中每个值分别代表大小为1000*1000m, 500*500m,250*250m地区范围上的卫星遥感数据值;
数组中每个值的坐标并不直接存储,而是通过正弦相交计算后进行存储,具体如下:给定一个温度数据集网格块中的一个点,网格块的大小为1200*1200,在网格块h21v06中坐标为(100,100)的点,为了计算其经纬度坐标,首先需要计算点在正弦空间的位置:
x=21+100/1200、
y=6+100/1200、
然后,其经纬度按如下公式计算:
latitude=(9-y)*10、
longitude=(x-18)*10*cos(latitude)、
若给定经纬度的偏移量,上述公式可以被逆向使用,解算出经纬度对应的文件中点的位置;
针对数据丢失,采用二维线性插入方法来预测丢失的数据,基本思想是为每个丢失的点计算两个估值(x,y),通过依赖同一水平和垂直线上最邻近的两个有效点的数值,使用传统的线性插入的方法来计算,具体的估值通过计算两个估值 x和y的平均值来得到。
其中,索引构建包括:
整个时空索引主要分为时间和空间两个层级结构;
首先卫星遥感大数据以三个时间层级进行组织,每个层级使用不同的时间维度来表示整个数据集,最低维度的层级包含了每年的索引结构,整个一年的数据被包含在一个索引里,而最高维度的索引层包含了每天的索引结构,每月的索引结构只在该月所有以天为粒度的索引建立完成之后再开始建立,与此同理,每年的索引结构在年底才建立;
其次,为全球所有区域建立四叉树索引,首先,计算每个点的Z-order值,网格块通过Z曲线对数据进行了划分,将二维数组降维为一维数组,在这个过程中,需要维护一个二维数组,该数组的大小为res2,其中res为该网格块的分辨率大小,数组中的值并非用来记录原来网格块中的数值,温度等,而是记录该点的坐标位置,然后根据Z-order的值对点进行排序;在此过程中,维护一个查询表格(lookup table),其大小和之前的二维数组一样,均为res2;最终,在所有已排序完的点上建立四叉索引树,在四叉树上每一个节点都会被分配一个独立的ID、起始位置和终点位置,起始位置和终点位置确定了这个节点在有序序列上的范围,先以(ID=1,start=0,end=res*res)建立树的根节点,在根节点下,四个孩子节点将整片区域各切割成四分之一,根节点值域也被切分成四等分,每个孩子节点对应一份,这些分割将通过判定Z-order值最高的两个bit值,按照 00->01->10->11的顺序建立,只要一个节点中的记录数比叶子节点的容量大,这个分割过程就会重复下去,当四个孩子节点被创建好之后,他们就会被分配一个ID,ID=PID*4+i其中,PID是父节点的ID,而i是孩子节点的编号;
然后,在建立四叉树索引时,为了保证整棵树的平衡性以及后面查询索引的效率,并没有删减掉海洋这部分冗余数据,因此设计了混合索引的解决方案,从而达到优化整个系统索引的目的,对地球基础地理数据进行分析,可以找到全球所有非陆地的区域块,通过在原始节点的结构体中添加判定字段,对相关节点进行标记,从而实现查询对一个区域块中不同节点的处理,因此,做出如下定义:
(3)有效节点:分布在陆地区域块的节点,即未被标记的节点;
(4)无效节点:分布在非陆地区域块的节点,河流或海洋,即被标记的节点;
可以看到,由于地理区域差异问题,不同区域块的有效节点比重各有差异,内陆地区的区域块,有效节点比重比较大;而沿海的部分区域块中,很大部分是无效节点;极端情况下,少部分区域块的有效节点位于区域块的边角部分,造成有效节点所占比重极为小,所以,若在有效节点所占比重很小或者极小的区域块中,同样以四叉树作为索引结构,必然会导致查询的低效,为此,针对不同情况下的区域块构建不同的索引,来提高整个系统的效率,为方便描述本发明设计的混合索引方法,引入“稀疏度”定义:在相同的分辨率下,一个区域块的稀疏度β=无效节点数/区域块总节点数;
按如下方法确定和维护每个网格块的稀疏度:
(5)在每个网格块中,维护一个值以表示网格块的稀疏度,维护一个值表示无效节点的个数,网格块中节点总个数为分辨率的平方值,同时,维护一个值表示无效节点信息的网格;
(6)计算每个节点的Z-order值,对Z-order值进行排序,构建查询表格;
(7)在排序的同时,根据每个节点数据结构中的标记,对每个节点进行判定,记录无效节点的位置信息,同时更新无效节点个数的值;
(8)排序结束时,即可根据稀疏度的数值,为每个网格块建立不同的索引;
不同稀疏度β下网格块的最佳索引构造策略如下:
(3)当1-β≤0.005时,采用Hash结构;
(4)当0.005<1-β<0.65时,采用R树索引;
当1-β≥0.65时,采用修改过的四叉树索引。
查询方法的查询方式包括:选择查询和聚合查询,且基于混合索引的查询过程分为时间范围查询筛选和空间范围查询筛选两个步骤;时间范围查询筛选是按照时间粒度由大至小的顺序进行筛选,从时间粒度最大的年开始进行,如果匹配,则将其加入到查询列表中,进行进一步处理,该过程将一直重复,直至精确到时间粒度最小的天的索引查询结束;空间范围查询筛选的步骤分三步,首先将范围查询从经纬度空间转换成正弦空间,然后将范围正规化为网格块的分辨率,最后通过匹配网格块ID,对不同的网格块进行不同处理:对于完全被包含在查询范围中的网格块,直接将其放入查询列表中,而对于部分覆盖查询范围的网格块,将其进行进一步的查询处理;由于不同网格块的稀疏度不同,采用了不同的索引结构,因此在查询处理方式上也会有所不同,混合索引的方式包括四叉树索引查询、R树索引查询和Hash结构查询;四叉树索引查询包括对于对应分辨率下的四叉树进行传统的范围查询,从根节点开始,向下深入搜索,在每个节点中,如果最小边界矩形(MBR)完全被包含在查询范围里,那么这个节点下所有的值将被返回,如果节点的最小边界矩形部分覆盖了查询范围,同时这个节点是非叶子节点,那么这个节点的四个孩子节点将被访问,否则,该节点下所有的点将被扫描,最终找到符合查询范围的数据;而在进行聚合查询时,所有覆盖查询范围中的网格块都将进行聚合计算,而不区分覆盖和完全覆盖的网格,同时,在对包含无效节点的区域进行深入遍历时,通过添加判定条件,过滤掉无效节点,无需进行这些点的数据处理,从而提高整个索引的查询效率;R树索引查询为输入端的查询范围是一个空间二维矩形,首先搜索子树,从根节点开始,如果根节点与目标矩形M有重合,则搜索其所有的子节点;然后搜索叶子节点,如果该节点为叶子节点,且与目标矩形M有重叠,则遍历搜索目标矩形M所指向的目标信息,返回符合要求的记录;Hash结构查询为由于Hash结构在稀疏度β较大的情况下使用,所以在查询过程中,返回的有效节点信息较少,通过直接将Hash结构中节点的位置信息逐一与空间范围信息进行比较,返回节点的信息,即可完成该网格块的所需要查询的信息,即有效节点的信息。
其中,参照图1系统分为四个模块,数据修复模块、索引架构建模块、查询模块和可视化模块,参照图2给出的时间层级结构,可以看到在2017年中有80 个以天为维度的索引结构,只有一月和二月以月为时间粒度的索引结构,三月的索引还没有建立,2017年的索引也没有建立起来。可以看出,一个层级上的索引独立于其他层级的索引,参照图3给出的通过实验来确定不同稀疏度β下网格块最佳索引构造策略的结果,(a)图表示同一分辨率下,陆地区域1-β比重分别为0.0001%、0.005%和0.01%的三块区域,Hash、R树和四叉树三种索引的查询时间数据,(b)图为同一分辨率下,对不同稀疏度下的R树、原四叉树(initialquad tree) 和修改过的四叉树(quad tree)的查询时间对比。由(a)、(b)可以看出,对于不同的稀疏度,各个索引所需要运行的查询时间不同。其中Hash结构由于其特殊性,在稀疏度较低情况下,不对其进行查询时间的测试。从(a)图中可以看出,在网格块稀疏度极高(1-β≤0.005)的情况下,由于陆地区域极少,需要构建的有效节点极少,所以Hash结构最为高效;而对于较为稀疏(0.005<1-β<0.65)的区域,选择R树是比四叉树更优的策略;而对于稀疏度较小(1-β≥0.65)的区域,由于陆地更为密集,最为平衡的四叉树则为最优选择。因为对冗余数据进行了标记和过滤处理,所以修改过的四叉树比原始的四叉树效率更高。图4给出了R树索引查询的样例,(a)图为所有的查询区域,目标矩形M为阴影部分。(b)图为对应建立的R树的索引结果,根节点为R1和R2。目标矩形M与矩形R1和R2都有重合,因此搜索过程类似。下面阐述搜索R1的具体步骤:首先搜索子树,目标矩形M与矩形R1有重叠,因而继续搜索R1的子节点R3和R4。R3和R4都是非叶子节点,因而继续迭代搜索;然后搜索叶子节点,R4中的R11节点与目标矩形M有重叠,且其为叶子节点,所以返回叶子节点R11,对其中的记录信息进行进一步处理。图5给出了本发明使用的混合索引与传统四叉树索引的性能对比实验结果,实验数据采用LP DACC文件夹中温度集MYD11A1 V005。(a) 图展示了不同分辨率,即1200,2400和4800情况下的四叉树聚合树和混合索引的建立时间的对比,由于无需进一步处理冗余数据,同时引入R树和Hash结构,索引减少了需要建立的节点的个数,因而索引建立的时间减少,在分辨率越高的情况下,效果越为明显。(b)图展示了在同一分辨率下的同一地点处,稀疏度为 0.6情况下,时间范围分别为1,30,100和365天,原系统查询时间和混合索引的时间对比。由于R树和Hash结构在稀疏度较高地区的查询效率的提高,整个混合索引在地域越来越复杂,非陆地区域越来越多地情况下,效率的提升越为明显。 (c)图展示了在同一分辨率下,查询面积为全球面积0.0002%,0.6%,10%,50%和100%情况下,网页上的数据可视化部分的时间对比。可以清楚地看到,随着地域面积的扩大,混合索引的优势越为明显。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,包括以下步骤:
S1:对采集的卫星遥感数据进行修复处理,修复因卫星未校准或云层覆盖而导致的卫星数据丢失,避免因空白区域和卫星数据丢失而降低整个数据的可用性;
S2:采用混合索引的方式,构建一种多分辨率时空索引,通过确立网格稀疏度,选择建立不同的索引策略,优化查询性能;
所述S2包括以下步骤:
S21:构建以天为粒度的时空索引,当数据清理模块完成,索引模块基于被修复过的数据构建以天为粒度的索引;
S22:构建以月或年为粒度的时空索引,在每月月底或者年底,合并以天为粒度的时空索引,构建更为高效层级化的索引结构;
S3:接收来自用户的选择和聚集的查询请求,利用时空混合索引结构快速查找满足用户查询条件的数据,快速返回符合查询要求的结果;
所述对采集的卫星遥感数据进行修复处理包括:
卫星遥感数据集存储了包括温度、植被、地表辐射和热反常的历史卫星数据,以层级结构组织,在第一层,文件以数据集组织,每个数据集被存储在分离的目录中,温度或者植被;在第二层,每个数据集以天为单位时间进行分块,每个文件存储在分离的目录中,以数据快照的时间为目录名,在第三层,每份快照中的数据分布在全球范围的正规网格中;每个网格块以二维坐标为ID,h21v06代表第21行第6列的单元;在第四层,每个文件包含一组二维数组,代表了某特定时间和地区的点的数值表示;文件均采用HDF5格式,一种内容以二维数据组织的二进制格式,数组的大小因分辨率而不同可进行配置,可分为1200*1200,2400*2400,4800*4800,数组中每个值分别代表大小为1000*1000m,500*500m,250*250m地区范围上的卫星遥感数据值;
数组中每个值的坐标并不直接存储,而是通过正弦相交计算后进行存储,具体如下:给定一个温度数据集网格块中的一个点,网格块的大小为1200*1200,在网格块h21v06中坐标为(100,100)的点,为了计算其经纬度坐标,首先需要计算点在正弦空间的位置:
x=21+100/1200、
y=6+100/1200、
然后,其经纬度按如下公式计算:
latitude=(9-y)*10、
longitude=(x-18)*10*cos(latitude)、
若给定经纬度的偏移量,上述公式可以被逆向使用,解算出经纬度对应的文件中点的位置;
针对数据丢失,采用二维线性插入方法来预测丢失的数据,基本思想是为每个丢失的点计算两个估值(x,y),通过依赖同一水平和垂直线上最邻近的两个有效点的数值,使用传统的线性插入的方法来计算,具体的估值通过计算两个估值x和y的平均值来得到。
2.根据权利要求1所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,索引构建包括:
整个时空索引主要分为时间和空间两个层级结构;
首先卫星遥感大数据以三个时间层级进行组织,每个层级使用不同的时间维度来表示整个数据集,最低维度的层级包含了每年的索引结构,整个一年的数据被包含在一个索引里,而最高维度的索引层包含了每天的索引结构,每月的索引结构只在该月所有以天为粒度的索引建立完成之后再开始建立,与此同理,每年的索引结构在年底才建立;
其次,为全球所有区域建立四叉树索引,首先,计算每个点的Z-order值,网格块通过Z曲线对数据进行了划分,将二维数组降维为一维数组,在这个过程中,需要维护一个二维数组,该数组的大小为res2,其中res为该网格块的分辨率大小,数组中的值并非用来记录原来网格块中的数值,而是记录该点的坐标位置,然后根据Z-order的值对点进行排序;在此过程中,维护一个查询表格(lookup table),其大小和之前的二维数组一样,均为res2;最终,在所有已排序完的点上建立四叉索引树,在四叉树上每一个节点都会被分配一个独立的ID、起始位置和终点位置,起始位置和终点位置确定了这个节点在有序序列上的范围,先以ID=1,start=0,end=res*res建立树的根节点,在根节点下,四个孩子节点将整片区域各切割成四分之一,根节点值域也被切分成四等分,每个孩子节点对应一份,这些分割将通过判定Z-order值最高的两个bit值,按照00->01->10->11的顺序建立,只要一个节点中的记录数比叶子节点的容量大,这个分割过程就会重复下去,当四个孩子节点被创建好之后,他们就会被分配一个ID,ID=PID*4+i其中,PID是父节点的ID,而i是孩子节点的编号;
然后,在建立四叉树索引时,为了保证整棵树的平衡性以及后面查询索引的效率,并没有删减掉海洋这部分冗余数据,因此设计了混合索引的解决方案,从而达到优化整个系统索引的目的,对地球基础地理数据进行分析,可以找到全球所有非陆地的区域块,通过在原始节点的结构体中添加判定字段,对相关节点进行标记,从而实现查询对一个区域块中不同节点的处理,因此,做出如下定义:
(1)有效节点:分布在陆地区域块的节点,即未被标记的节点;
(2)无效节点:分布在非陆地区域块的节点,河流或海洋,即被标记的节点;
可以看到,由于地理区域差异问题,不同区域块的有效节点比重各有差异,内陆地区的区域块,有效节点比重比较大;而沿海的部分区域块中,很大部分是无效节点;极端情况下,少部分区域块的有效节点位于区域块的边角部分,造成有效节点所占比重极为小,所以,若在有效节点所占比重很小或者极小的区域块中,同样以四叉树作为索引结构,必然会导致查询的低效,为此,针对不同情况下的区域块构建不同的索引,来提高整个系统的效率,引入“稀疏度”定义:在相同的分辨率下,一个区域块的稀疏度β=无效节点数/区域块总节点数;
按如下方法确定和维护每个网格块的稀疏度:
(1)在每个网格块中,维护一个值以表示网格块的稀疏度,维护一个值表示无效节点的个数,网格块中节点总个数为分辨率的平方值,同时,维护一个值表示无效节点信息的网格;
(2)计算每个节点的Z-order值,对Z-order值进行排序,构建查询表格;
(3)在排序的同时,根据每个节点数据结构中的标记,对每个节点进行判定,记录无效节点的位置信息,同时更新无效节点个数的值;
(4)排序结束时,即可根据稀疏度的数值,为每个网格块建立不同的索引;
不同稀疏度β下网格块的最佳索引构造策略如下:
(1)当1-β≤0.005时,采用Hash结构,
(2)当0.005<1-β<0.65时,采用R树索引,
当1-β≥0.65时,采用修改过的四叉树索引。
3.根据权利要求1所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述查询方法的查询方式包括:选择查询和聚合查询,且基于混合索引的查询过程分为时间范围查询筛选和空间范围查询筛选两个步骤。
4.根据权利要求3所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述时间范围查询筛选是按照时间粒度由大至小的顺序进行筛选,从时间粒度最大的年开始进行,如果匹配,则将其加入到查询列表中,进行进一步处理,该过程将一直重复,直至精确到时间粒度最小的天的索引查询结束。
5.根据权利要求3所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述空间范围查询筛选的步骤分三步,首先将范围查询从经纬度空间转换成正弦空间,然后将范围正规化为网格块的分辨率,最后通过匹配网格块ID,对不同的网格块进行不同处理:对于完全被包含在查询范围中的网格块,直接将其放入查询列表中,而对于部分覆盖查询范围的网格块,将其进行进一步的查询处理;由于不同网格块的稀疏度不同,采用了不同的索引结构,因此在查询处理方式上也会有所不同,混合索引的方式包括四叉树索引查询、R树索引查询和Hash结构查询。
6.根据权利要求5所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述四叉树索引查询包括对于对应分辨率下的四叉树进行传统的范围查询,从根节点开始,向下深入搜索,在每个节点中,如果最小边界矩形(MBR)完全被包含在查询范围里,那么这个节点下所有的值将被返回,如果节点的最小边界矩形部分覆盖了查询范围,同时这个节点是非叶子节点,那么这个节点的四个孩子节点将被访问,否则,该节点下所有的点将被扫描,最终找到符合查询范围的数据;而在进行聚合查询时,所有覆盖查询范围中的网格块都将进行聚合计算,而不区分覆盖和完全覆盖的网格,同时,在对包含无效节点的区域进行深入遍历时,通过添加判定条件,过滤掉无效节点,无需进行这些点的数据处理,从而提高整个索引的查询效率。
7.根据权利要求5所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述R树索引查询为输入端的查询范围是一个空间二维矩形,首先搜索子树,从根节点开始,如果根节点与目标矩形M有重合,则搜索其所有的子节点;然后搜索叶子节点,如果该节点为叶子节点,且与目标矩形M有重叠,则遍历搜索目标矩形M所指向的目标信息,返回符合要求的记录。
8.根据权利要求5所述的一种基于混合索引的卫星遥感大数据优化查询方法,其特征在于,所述Hash结构查询为由于Hash结构在稀疏度β较大的情况下使用,所以在查询过程中,返回的有效节点信息较少,通过直接将Hash结构中节点的位置信息逐一与空间范围信息进行比较,返回节点的信息,即可完成该网格块的所需要查询的信息,即有效节点的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250490.5A CN109284338B (zh) | 2018-10-25 | 2018-10-25 | 一种基于混合索引的卫星遥感大数据优化查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250490.5A CN109284338B (zh) | 2018-10-25 | 2018-10-25 | 一种基于混合索引的卫星遥感大数据优化查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284338A CN109284338A (zh) | 2019-01-29 |
CN109284338B true CN109284338B (zh) | 2021-12-10 |
Family
ID=65177958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811250490.5A Active CN109284338B (zh) | 2018-10-25 | 2018-10-25 | 一种基于混合索引的卫星遥感大数据优化查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284338B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131288B (zh) * | 2019-06-25 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 数据源接入处理方法和装置 |
CN110825733B (zh) * | 2019-10-08 | 2022-08-09 | 华中科技大学 | 一种面向多采样流的时间序列数据管理方法及系统 |
CN111079515B (zh) * | 2019-10-29 | 2023-10-27 | 深圳先进技术研究院 | 基于遥感大数据的区域监测方法、装置、终端及存储介质 |
CN111475597B (zh) * | 2020-03-31 | 2022-11-22 | 中国人民解放军战略支援部队信息工程大学 | 非刚性网格编码、空间对象唯一标识、查询方法及装置 |
CN111800742B (zh) * | 2020-05-20 | 2022-10-28 | 北京掌行通信息技术有限公司 | 一种移动位置数据的管理方法、装置、存储介质及终端 |
CN111723096B (zh) * | 2020-06-23 | 2022-08-05 | 重庆市计量质量检测研究院 | 一种集成GeoHash和Quadtree的空间数据索引方法 |
CN111984808A (zh) * | 2020-08-17 | 2020-11-24 | 中国电子科技集团公司第五十四研究所 | 一种基于圆区域描述的遥感影像快速检索方法 |
CN114079496A (zh) * | 2020-08-18 | 2022-02-22 | 西安艾可萨科技有限公司 | 一种时空网格化星载数据交互方法及其装置 |
CN112858980B (zh) * | 2021-01-13 | 2021-09-24 | 国家电网有限公司华东分部 | 一种采样和大数据结合的关口计量异常诊断方法 |
CN113434736A (zh) * | 2021-06-10 | 2021-09-24 | 中国科学院电子学研究所苏州研究院 | 一种面向遥感大数据的多维混合索引方法及系统 |
CN115080774B (zh) * | 2022-07-20 | 2022-11-04 | 北京数慧时空信息技术有限公司 | 基于可用域的遥感影像入库系统及方法 |
CN115934759B (zh) * | 2022-11-30 | 2023-12-22 | 二十一世纪空间技术应用股份有限公司 | 一种面向海量多源异构卫星数据查询的加速计算方法 |
CN115934794A (zh) * | 2022-11-30 | 2023-04-07 | 二十一世纪空间技术应用股份有限公司 | 一种海量多源异构遥感空间数据查询的弹性管理方法 |
CN116028500B (zh) * | 2023-01-17 | 2023-07-14 | 黑龙江大学 | 一种基于高维数据的范围查询索引方法 |
CN116881308A (zh) * | 2023-07-31 | 2023-10-13 | 北京和德宇航技术有限公司 | 一种卫星遥测数据的显示方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922700B1 (en) * | 2000-05-16 | 2005-07-26 | International Business Machines Corporation | System and method for similarity indexing and searching in high dimensional space |
CN104750708B (zh) * | 2013-12-27 | 2018-09-28 | 华为技术有限公司 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
CN106231549B (zh) * | 2016-07-25 | 2019-05-17 | 青岛科技大学 | 一种基于重构算法的60GHz脉冲室内定位方法 |
-
2018
- 2018-10-25 CN CN201811250490.5A patent/CN109284338B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109284338A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284338B (zh) | 一种基于混合索引的卫星遥感大数据优化查询方法 | |
Li et al. | A spatiotemporal indexing approach for efficient processing of big array-based climate data with MapReduce | |
Eldawy et al. | Shahed: A mapreduce-based system for querying and visualizing spatio-temporal satellite data | |
CN109992636B (zh) | 时空编码方法、时空索引及查询方法及装置 | |
CN106528773B (zh) | 一种基于Spark平台支持空间数据管理的图计算系统及方法 | |
Wang et al. | Supporting a light-weight data management layer over hdf5 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
Haynes et al. | High performance analysis of big spatial data | |
CN110175175A (zh) | 一种基于spark的分布式空间二级索引与范围查询算法 | |
CN111563081A (zh) | 一种矢量要素并行计算方法、装置、存储介质及终端 | |
Hu et al. | A hierarchical indexing strategy for optimizing Apache Spark with HDFS to efficiently query big geospatial raster data | |
CN110147377A (zh) | 大规模空间数据环境下基于二级索引的通用查询算法 | |
CN114328779A (zh) | 基于云计算高效检索浏览的地理信息云盘 | |
Li et al. | Method for managing and querying geo-spatial data using a grid-code-array spatial index | |
Shangguan et al. | Big spatial data processing with Apache Spark | |
Xia et al. | DAPR-tree: a distributed spatial data indexing scheme with data access patterns to support Digital Earth initiatives | |
Karim et al. | Spatiotemporal Aspects of Big Data. | |
Ptiček et al. | Big data and new data warehousing approaches | |
Alvanaki et al. | GIS navigation boosted by column stores | |
CN116955684A (zh) | 一种面向实景三维的一码多态数据管理方法及系统 | |
Liu et al. | Indexing Large Moving Objects from Past to Future with PCFI+-Index. | |
Lu et al. | sksOpen: efficient indexing, querying, and visualization of geo-spatial big data | |
Agarwal et al. | Advances in indexing for mobile objects | |
Viswanathan et al. | User-centric spatial data warehousing: a survey of requirements and approaches | |
Cheng et al. | Extensions of GAP‐tree and its implementation based on a non‐topological data model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |