分布式多尺度空间数据查询方法及系统的制作方法

文档序号:6630941阅读:174来源:国知局
分布式多尺度空间数据查询方法及系统的制作方法
【专利摘要】本发明提供了一种分布式多尺度空间数据查询方法及系统,该分布式多尺度空间数据查询方法包括:S1:获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域;S2:根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同;S3:根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务;S4:获取对应所述目标数据服务的第二级索引;S5:根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。本发明可以实现快速检索海量数据的空间实体对象。
【专利说明】分布式多尺度空间数据查询方法及系统

【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种分布式多尺度空间数据查询方法及系统。

【背景技术】
[0002]随着空间信息技术理论和技术的发展,其在众多行业中的应用越来越深入,对空间数据的依赖也越来越高,空间数据量急速增长造成了空间数据管理和访问效率低下。
[0003]在大尺度范围的GIS应用中,空间数据常常需要采用分布式存储:一方面不同层次用户对数据范围、内容和操作的需求不同,集中存储很大程度上会造成高性能的存储和计算资源的浪费,另一方面海量的空间数据集中存储对硬件设备、网络环境和管理水平要求很高。不同层次用户对数据的空间和属性的尺度需求是不同的,例如县乡级土地管理部门要管理到具体图斑,要查看1:1万甚至更高比例尺的图斑图形及其详细属性,而省级管理部门一般只需要查看经过地图综合的小比例尺图斑图形和以县乡为单元的统计数据,但当查询范围很小时则也需要查看大比例尺的图斑及其详细属性,因此业务系统中会管理运行着大量内容相关但比例尺不同的多级空间数据。如何组织管理好这种分布式存储的多级比例尺的海量空间数据并构建高效的索引,是解决分布式海量空间数据高效检索和可视化的一个关键技术难点。
[0004]在单个数据存储节点的同一层空间数据上建立空间数据索引,可以有效的提高该层空间数据检索效率。空间索引根据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,介于空间操作算法和空间对象之间,它是通过筛选排除大量与特定空间操作无关的空间对象,从而提高空间操作的速度和效率。常用的空间索引方法包括B树、Κ-D树、四叉树、R树及其变种和格网索引等,然而,B树、Κ-D树、四叉树、R树及其变种和格网索引等常用的空间索引方法主要解决数据存储节点内部空间数据索引问题,无法用于分布式多尺度空间数据存储节点间的索引,在单个存储节点内,如果存在同一主题多比例尺的空间数据,空间对象重叠度高,会导致常用空间索引效率下降、维护困难,另外,常用空间索引与空间实体对象的物理存储直接相关,对于分布式环境中的单个存储节点,需要对外提供基于网络URL的访问接口,常用空间索引也无法满足直接到网络URL的检索结果的需求。
[0005]对于分布式空间数据的组织,目前主要通常采用元数据注册的方式,即将分布式空间数据以标准服务的形式进行发布,并在元数据服务器上注册,用户在检索时,先查询元数据服务器,通过元数据匹配找到对应的数据服务资源,再通过相应的空间数据服务接口查找相关空间对象,元数据注册方案能够有效的组织分布空间数据,但是其数据检索效率很低,通常需要对元数据服务器进行遍历后确定目标空间数据服务,然后在在空间数据服务中查找目标空间数据对象,且当元数据服务器分布在不同的网络中时,检索效率会进一步降低。


【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是提供一种分布式多尺度空间数据查询方法及系统,能够实现快速检索海量数据的空间实体对象。
[0008]( 二)技术方案
[0009]为解决上述技术问题,本发明的技术方案提供了一种分布式多尺度空间数据查询方法,包括:
[0010]S1:获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域;
[0011]S2:根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同;
[0012]S3:根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务;
[0013]S4:获取对应所述目标数据服务的第二级索引;
[0014]S5:根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
[0015]进一步地,步骤S1包括:
[0016]获取用户输入的查询范围;
[0017]将所述查询范围的最小外接矩形作为所述目标数据的目标区域。
[0018]进一步地,步骤S2包括:
[0019]将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形;
[0020]按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
[0021]进一步地,步骤S5之后还包括:
[0022]将所述网络访问地址按照列表方式直接返给用户。
[0023]进一步地,步骤S5之后还包括:
[0024]根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
[0025]为解决上述技术问题,本发明还提供了一种分布式多尺度空间数据查询系统,包括查询请求接收模块和数据查询模块;
[0026]所述查询请求接收模块,用于获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域;
[0027]所述数据查询模块包括第一查询子模块、第二查询子模块、获取子模块和第三查询子模块;
[0028]所述第一查询子模块,用于根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同;
[0029]所述第二查询子模块,用于根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务;
[0030]所述获取子模块,用于获取对应所述目标数据服务的第二级索引;
[0031]所述第三查询子模块,用于根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
[0032]进一步地,所述查询请求接收模块包括:
[0033]接收子模块,用于获取用户输入的查询范围;
[0034]计算子模块,用于将所述查询范围的最小外接矩形作为所述目标数据的目标区域。
[0035]进一步地,所述第一查询子模块包括:
[0036]检索格网获取单元,用于将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形;
[0037]比较单元,用于按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
[0038]进一步地,还包括:
[0039]第一结果输出模块,用于将所述网络访问地址按照列表方式直接返给用户。
[0040]进一步地,还包括:
[0041]第二结果输出模块,用于根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
[0042](三)有益效果
[0043]本发明通过二级索引,为数据检索请求提供直接到空间实体对象的检索结果,通过对分布式的数据服务的缓存和索引,以及数据服务URL的索引结构的建立,可以实现快速检索海量数据的空间实体对象,此外,由于二级索引被缓存到用于一级索引保存的空间数据检索服务器,因此检索过程全部在空间数据检索服务器上进行,保证了检索的速度和稳定性,只有在根据索引结果访问实际空间数据对象时才需要访问其他分布数据服务器。

【专利附图】

【附图说明】
[0044]图1是本发明实施方式提供的一种分布式多尺度空间数据查询方法的流程图;
[0045]图2是本发明实施方式提供的一种分布式多尺度空间数据二级索引结构的示意图;
[0046]图3是本发明实施方式提供的另一种分布式多尺度空间数据查询方法的流程图。

【具体实施方式】
[0047]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0048]图1是本发明实施方式提供的一种分布式多尺度空间数据查询方法的流程图,包括:
[0049]S1:获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域;
[0050]S2:根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同;
[0051]S3:根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务;
[0052]S4:获取对应所述目标数据服务的第二级索引;
[0053]S5:根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
[0054]其中,步骤S1包括:获取用户输入的查询范围;将所述查询范围的最小外接矩形作为所述目标数据的目标区域。具体地,在本发明中,查询请求信息至少包括目标数据的目标区域,目标区域是一个矩形,如果用户输入的查询范围为通过程序界面绘制或选择的一个矩形、多边形或线,则可以计算其最小外界矩形(MBR)作为目标区域(Envelope),如果用户输入的查询范围为一个点(即在程序界面点击进行查询),可以以该点为中心,界面上3个像素为宽度的正方形作为目标区域。此外,查询请求信息还可以包括比例尺参数,该比例尺参数可通过用户输入得到,若用户输入的信息只包括查询范围(即比例尺参数为空缺),则可以根据查询范围来确定目标数据的比例尺参数。
[0055]具体地,本发明可通过使用如图2所示的二级索引结构进行查询,其中,第二级索引是建立在一个数据服务之上的,该数据服务的边界会作为一个空间数据对象连同其第二级索引会被缓存至空间数据检索服务器上;第一级索引针对的是缓存在空间数据检索服务器上的空间数据对象,每一个空间数据对象与一个分布式空间数据服务对应。下面对分布式多尺度空间数据的二级索引结构和特点进行说明。
[0056]第二级索引的结构和特点如下:
[0057](11)每个第二级索引是建立在一个数据服务之上,空间数据存储节点中一个数据集对应一个数据服务,数据服务采用rest服务方式提供对数据集内空间实体对象的URL访问,当前主流GIS服务软件均可满足该数据发布需求;
[0058](12)采用常用的多级格网索引或R树索引方式对数据集创建空间索引,索引中叶节点对应的索引地址为空间实体对象的访问URL ;
[0059](13)第二级索引将作为该数据服务的附加信息,在空间数据检索服务器进行保存。
[0060]第一级索引的结构和特点如下:
[0061](21)第一级索引组织的对象是数据服务,空间数据检索服务器遍历全部可用的数据服务,提取数据服务对应数据集的边界、比例尺和二级索引信息,以边界多边形为图形信息,以其比例尺和第二级索引信息为属性信息建立空间实体对象,并将全部空间实体对象保存到一个空间数据层;
[0062](22)上述数据服务的边界定义包括两种方式:如果该数据集及存在明确的数据采集范围(如一个县或者市),则用该范围边界作为外边界;如果没有明确的数据采集范围,则使用该数据集中全部对象的最小包围凸多边形作为边界;
[0063](23)数据服务的比例尺为原始数据的采集比例尺,通常为国家基本比例尺中定义的中大比例尺,即1:100万、1:50万、1:25万、1:10万、1:5万、1:2.5万、1:1万、1:5000、1:2000、1:1000、1:500 ;
[0064](24)第二级索引信息是指地图服务中空间实体对象的完整索引文件;
[0065](25)第一级索引采用常用的多级网格索引方式对(21)中建立的空间数据层进行索引,索引层的级别的划分按照比例尺,即存在几级的比例尺的数据就划分几个索引层,不同索引层对应的比例尺不相同;
[0066](26)空间数据层内的空间实体对象按照其比例尺属性在对应级别的索引层内建立索引,即记录每个格网内包含的空间实体对象,对于不存在对象的索引层可以忽略;
[0067](27)索引格网的划分从最大比例尺的底层开始,其格网大小计算方法是空间数据层内的最大比例尺的空间实体对象的最小外接矩形的平均宽和平均高的均值的3倍;
[0068](28)设最大比例尺\索引层的格网大小为&,计算比例尺为S的索引层格网大小G的公式是:G = S0*G0/So
[0069]本发明采用二级索引结构:第一级索引定位到空间数据服务;第二级索引指向目标空间数据对象的服务访问路径。在第一级索引中,将每个数据服务的空间和特征抽象为一个空间对象进行存储,作为一级索引中的检索对象,一级索引的叶节点对应的是一个数据服务的索引,第一级索引按照比例尺进行分层,对应不同比例尺数据源的空间实体对象放到不同索引层上建立索引,第二级索引中叶节点指针指向的不是物理存储地址而是一个获取该对象完整信息的URL。
[0070]其中,在分布式多尺度空间数据查询方法中,步骤S2包括:
[0071]将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形;
[0072]按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
[0073]优选地,步骤S5之后还包括:
[0074]将所述网络访问地址按照列表方式直接返给用户。
[0075]优选地,步骤S5之后还包括:
[0076]根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
[0077]具体地,参见图3,在上述二级索引结构的基础上,其执行查询的流程包括,首先,根据用户输入的信息确定在第一级索引中的检索层(即目标数据对应的索引层),具体地,如果用户输入的信息中的比例尺参数不为空,则直接根据输入比例尺确定对应的检索层;如果输入的比例尺参数为空,则按照下面方法确定检索层:根据用户输入的查询范围确定目标区域,取目标区域的宽和高的最大值最为检索格网(SearchGrid)的边长;从第一级索引的底层索引层(格网最小,数据比例尺最大)逐层向上对比格网大小,如果当前索引层格网大于等于检索格网(SearchGrid),则使用当前索引层作为目标数据的检索层;根据确定的索引层和目标区域在第一级索引中查找目标数据服务,具体查找方法与常用格网索引的检索方式相同;而后,遍历上一步中获得的目标数据服务在空间数据检索服务器保存的二级索引文件,对每个索引文件采用检索范围Envelope查找空间实体对象,查找方式与一般格网索引或R树索引的检索方式相同;最后在得到所有目标空间数据对象的网络访问地址之后,将这些访问地址可以按照列表方式直接返回给用户,或者从数据服务中读取数据内容并在结果输出模块进行展示,具体地,展示查询结果的方法为:(1)根据数据访问地址将结果分组,来源于同一数据服务的对象分为一组;(2)按照分组逐一进行异步的数据请求,在用户界面显示请求的数据总数和返回结果的数量;(3)根据返回的坐标或坐标序列在用户界面绘制点、线、面等对象,通过点击图形对象或结果列表的方式展示图形对象的相关的属性。
[0078]本发明通过二级索引,为数据检索请求提供直接到空间实体对象的检索结果,通过对分布式的数据服务的缓存和索引,以及数据服务URL的索引结构的建立,可以实现快速检索海量数据的空间实体对象,此外,由于二级索引被缓存到用于一级索引保存的空间数据检索服务器,因此检索过程全部在空间数据检索服务器上进行,保证了检索的速度和稳定性,只有在根据索引结果访问实际空间数据对象时才需要访问其他分布数据服务器。
[0079]本发明实施方式还提供了一种分布式多尺度空间数据查询系统,包括查询请求接收模块和数据查询模块;
[0080]所述查询请求接收模块,用于获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域;
[0081]所述数据查询模块包括第一查询子模块、第二查询子模块、获取子模块和第三查询子模块;
[0082]所述第一查询子模块,用于根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同;
[0083]所述第二查询子模块,用于根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务;
[0084]所述获取子模块,用于获取对应所述目标数据服务的第二级索引;
[0085]所述第三查询子模块,用于根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
[0086]其中,所述查询请求接收模块包括:
[0087]接收子模块,用于获取用户输入的查询范围;
[0088]计算子模块,用于将所述查询范围的最小外接矩形作为所述目标数据的目标区域。
[0089]其中,所述第一查询子模块包括:
[0090]检索格网获取单元,用于将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形;
[0091]比较单元,用于按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
[0092]优选地,上述的分布式多尺度空间数据查询系统还包括:第一结果输出模块,用于将所述网络访问地址按照列表方式直接返给用户。
[0093]优选地,上述的分布式多尺度空间数据查询系统还包括:第二结果输出模块,用于根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
[0094]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种分布式多尺度空间数据查询方法,其特征在于,包括: S1:获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域; 52:根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同; 53:根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务; 54:获取对应所述目标数据服务的第二级索引; 55:根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
2.根据权利要求1所述的分布式多尺度空间数据查询方法,其特征在于,步骤SI包括: 获取用户输入的查询范围; 将所述查询范围的最小外接矩形作为所述目标数据的目标区域。
3.根据权利要求2所述的分布式多尺度空间数据查询方法,其特征在于,步骤S2包括: 将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形;按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
4.根据权利要求1所述的分布式多尺度空间数据查询方法,其特征在于,步骤S5之后还包括: 将所述网络访问地址按照列表方式直接返给用户。
5.根据权利要求1所述的分布式多尺度空间数据查询方法,其特征在于,步骤S5之后还包括: 根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
6.一种分布式多尺度空间数据查询系统,其特征在于,包括查询请求接收模块和数据查询模块; 所述查询请求接收模块,用于获取查询请求信息,所述查询请求信息至少包括目标数据的目标区域; 所述数据查询模块包括第一查询子模块、第二查询子模块、获取子模块和第三查询子模块; 所述第一查询子模块,用于根据所述查询请求信息在第一级索引中确定所述目标数据对应的索引层,在所述第一级索引中,不同索引层对应的比例尺不相同; 所述第二查询子模块,用于根据所述目标数据的目标区域在所述目标数据对应的索引层中查找所述目标数据的目标数据服务; 所述获取子模块,用于获取对应所述目标数据服务的第二级索引; 所述第三查询子模块,用于根据所述目标数据的目标区域在所述第二级索引中查询得到所述目标数据的网络访问地址。
7.根据权利要求6所述的分布式多尺度空间数据查询系统,其特征在于,所述查询请求接收模块包括: 接收子模块,用于获取用户输入的查询范围; 计算子模块,用于将所述查询范围的最小外接矩形作为所述目标数据的目标区域。
8.根据权利要求7所述的分布式多尺度空间数据查询系统,其特征在于,所述第一查询子模块包括: 检索格网获取单元,用于将所述目标区域的长和宽中的最大值作为检索格网的边长,所述检索格网为正方形; 比较单元,用于按照对应格网面积从小到大的顺序将所述第一级索引中的索引层与所述检索格网进行大小比较,若当前索引层的格网面积大于或等于所述检索格网的面积,将所述当前索引层作为所述目标数据对应的索引层。
9.根据权利要求6所述的分布式多尺度空间数据查询系统,其特征在于,还包括: 第一结果输出模块,用于将所述网络访问地址按照列表方式直接返给用户。
10.根据权利要求6所述的分布式多尺度空间数据查询系统,其特征在于,还包括: 第二结果输出模块,用于根据所述网络访问地址读取所述目标数据并将所述目标数据进行展示。
【文档编号】G06F17/30GK104281701SQ201410559530
【公开日】2015年1月14日 申请日期:2014年10月20日 优先权日:2014年10月20日
【发明者】郝星耀, 潘瑜春, 高秉博, 周艳兵, 郜允兵, 单东方, 李淑华, 刘玉, 唐秀美, 任艳敏 申请人:北京农业信息技术研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1