CN116756139A - 一种数据索引方法、系统、存储介质和电子设备 - Google Patents
一种数据索引方法、系统、存储介质和电子设备 Download PDFInfo
- Publication number
- CN116756139A CN116756139A CN202310538219.6A CN202310538219A CN116756139A CN 116756139 A CN116756139 A CN 116756139A CN 202310538219 A CN202310538219 A CN 202310538219A CN 116756139 A CN116756139 A CN 116756139A
- Authority
- CN
- China
- Prior art keywords
- data
- space
- target
- data source
- source
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000003780 insertion Methods 0.000 claims description 15
- 230000037431 insertion Effects 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据索引方法、系统、存储介质和电子设备,所述方法包括:利用目标区域的多源时空数据,构建多个时空数据立方体模型;根据包含所有时空数据立方体模型的数据层,生成树状索引结构;从所述树状索引结构中,获取目标查询任务对应的数据查询结果。本发明在减少查询任务占用的资源量的同时,还能够提升海量数据查询效率。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种数据索引方法、系统、存储介质和电子设备。
背景技术
随着国家生态文明战略的实施,对国家级自然保护地的人类活动进行监管是生态建设的重要内容,随着大数据时代到来,国家级自然保护地的人类活动需要时空地理信息、生态环境信息和社会经济信息。数据的数量和种类的数量不断增加,为实际监测和管理工作提出了必须在考虑多种数据源相关性的基础上优化查询目标数据效率的要求。
目前主流的针对空间数字文件的管理与检索方案优缺点如下:1)Postgresql+Postgis+R-TREE:该方案的优点是完全开源,相关算法可查,查询结果的准确性可控、可用函数健全、效率稳定。缺点则是其架构要求不符合综合管理多种数据源的需求。2)Oracle+Oracle Spatial+R-TREE/Quad-Tree:该方案的优点是享受Oracle公司对于数据库可扩展性、安全性和性能的支持,并且支持开发人员和分析师轻松使用位置智能分析和地图服务。缺点是数据库不开源,可能涉及保密数据的敏感性问题,且同样不符合综合管理多种数据源的需求。
因此,亟需提供一种技术方案解决上述问题。
发明内容
为解决上述技术问题,本发明提供了一种数据索引方法、系统、存储介质和电子设备。
本发明的一种数据索引方法的技术方案如下:
利用目标区域的多源时空数据,构建多个时空数据立方体模型;
根据包含所有时空数据立方体模型的数据层,生成树状索引结构;
从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
本发明的一种数据索引方法的有益效果如下:
本发明的方法在减少查询任务占用的资源量的同时,还能够提升海量数据查询效率。
在上述方案的基础上,本发明的一种数据索引方法还可以做如下改进。
进一步,所述利用目标区域的多源时空数据,构建多个时空数据立方体模型的步骤,包括:
基于所述多源时空数据中的每个原始数据源的数据类型,分别对每个原始数据源进行数据标准化处理,得到多个目标数据源,并根据所有的目标数据源,构建多个时空数据立方体模型;其中,任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。
进一步,对任一原始数据源进行数据标准化处理,得到该原始数据源对应的目标数据源的步骤包括:
当所述任一原始数据源的数据类型为矢量数据类型时,读取该原始数据源内的所有要素,并为该原始数据源内的每个要素进行标识,得到包含每个要素所对应标识的目标数据源;
当所述任一原始数据源的数据类型为栅格数据类型时,对该原始数据源进行分解波段处理并判断该原始数据源的格式,若该原始数据源为单个数据集存储文件,则读取该原始数据源的空间范围信息并创建空间要素,得到包含空间范围信息的目标数据源;若该原始数据源为多个数据集存储文件,则读取该原始数据源的全部数据集空间范围,构建该原始数据源的全部数据集空间范围的最小外接矩形作为空间范围,得到包含空间范围信息的目标数据源;
当所述任一原始数据源的数据类型为其他数据类型时,若监测到该原始数据源所关联的空间要素,则得到包含空间要素的目标数据源。
进一步,根据多个目标数据源,构建多个时空数据立方体模型的步骤,包括:
当任一目标数据源为矢量数据类型对应的目标数据源时,判断该目标数据源中的每个要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到该目标数据源中的每个要素的第一判断结果,将第一判断结果为是的每个要素插入至对应的时空数据立方体模型,并根据第一判断结果为否的每个要素构建新的时空数据立方体模型;
当任一目标数据源为栅格数据类型对应的目标数据源时,判断该目标数据源对应的空间范围信息是否与当前存在的时空数据立方体模型之间存在空间联系,得到第二判断结果,当第二判断结果为是时,将该目标数据源插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型;
当任一目标数据源为其他数据类型对应的目标数据源时,判断该目标数据源对应的空间要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到第三判断结果,当第三判断结果为是时,将该目标数据源的空间要素插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
进一步,所述根据包含所有时空数据立方体模型的数据层,生成树状索引结构的步骤,包括:
基于索引插入算法,并根据包含所有时空数据立方体模型的数据层,生成所述树状索引结构。
进一步,所述索引插入算法包括:
获取时空数据立方体模型所适配的目标叶结点,当所述目标叶结点能够放置所述时空数据立方体模型时,将所述时空数据立方体模型添加至所述目标叶结点;当所述目标叶节点不能放置所述时空数据立方体模型时,则采用分裂节点方法得到所述时空数据立方体模型对应的两个节点,并将变换向上传递,直至根结点;
对树进行增高操作,当结点分裂且该分裂向上传播导致根结点的分裂,则创建新的根结点并将所述新的根结点的两个子结点分别确定为根结点分裂后的两个结点。
进一步,所述从所述树状索引结构中,获取目标查询任务对应的数据查询结果的步骤,包括:
根据目标查询任务的三维查询范围块以及查询属性要求,并采用所述树状索引结构的根结点向下遍历的方式,分别判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求,直至到达所述树状索引结构的数据层时,得到所述数据查询结果。
本发明的一种数据索引系统的技术方案如下:
包括:构建模块、处理模块和运行模块;
所述构建模块用于:利用目标区域的多源时空数据,构建多个时空数据立方体模型;
所述处理模块用于:根据包含所有时空数据立方体模型的数据层,生成树状索引结构;
所述运行模块用于:从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
本发明的一种数据索引系统的有益效果如下:
本发明的系统在减少查询任务占用的资源量的同时,还能够提升海量数据查询效率。
本发明的一种存储介质的技术方案如下:
存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种数据索引方法的步骤。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如本发明的一种数据索引方法的步骤。
附图说明
图1示出了本发明提供的一种数据索引方法的实施例的流程示意图;
图2示出了本发明提供的一种数据索引方法的实施例的技术路线图;
图3示出了本发明提供的一种数据索引方法的实施例中各数据类型对应的时空数据立方体模型的内容示意图;
图4示出了本发明提供的一种数据索引方法的实施例中时空数据立方体模型的结构示意图;
图5示出了本发明提供的一种数据索引方法的实施例中树状索引结构的二维示意图;
图6示出了本发明提供的一种数据索引方法的实施例中树状索引结构的三维示意图;
图7示出了本发明提供的一种数据索引系统的实施例的结构示意图。
具体实施方式
图1示出了本发明提供的一种数据索引方法的实施例的流程示意图。如图1所示,包括如下步骤:
步骤110:利用目标区域的多源时空数据,构建多个时空数据立方体模型。
其中,①目标区域可以是国家级自然保护地所在的区域,也可以是其他类型的区域,在此不设限制。②多源时空数据包括:多个原始数据源,原始数据源的数据类型包括但不限于:矢量数据(ShapeFile、KML、QML等)、栅格数据(TIFF、HDF等)、其他数据(JPG、MP4、EXCEL等)。③时空数据立方体模型为:以经纬度为面,以时间为层,记录有空间关联的一系列不同时序的空间要素的数据模型,从几何角度可以理解为一个三维的立方体。
步骤120:根据包含所有时空数据立方体模型的数据层,生成树状索引结构。
其中,数据层存储有所有时空数据立方体模型的数据。
步骤130:从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
其中,目标查询任务包括:需要查询的数据范围。
较优地,步骤110包括:
基于所述多源时空数据中的每个原始数据源的数据类型,分别对每个原始数据源进行数据标准化处理,得到多个目标数据源,并根据所有的目标数据源,构建多个时空数据立方体模型;其中,任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。
其中,任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。
较优地,对任一原始数据源进行数据标准化处理,得到该原始数据源对应的目标数据源的步骤包括:
当所述任一原始数据源的数据类型为矢量数据类型时,读取该原始数据源内的所有要素,并为该原始数据源内的每个要素进行标识,得到包含每个要素所对应标识的目标数据源。
具体地,当该原始数据源的数据类型为矢量数据类型(即该原始数据源为矢量数据),则读取原始数据源内的所有要素,并为其赋予唯一标识,唯一标识格式为:文件ID+FID/ObjectID,得到包含每个要素所对应的标识的目标数据源。
当所述任一原始数据源的数据类型为栅格数据类型时,对该原始数据源进行分解波段处理并判断该原始数据源的格式,若该原始数据源为单个数据集存储文件,则读取该原始数据源的空间范围信息并创建空间要素,得到包含空间范围信息的目标数据源;若该原始数据源为多个数据集存储文件,则读取该原始数据源的全部数据集空间范围,构建该原始数据源的全部数据集空间范围的最小外接矩形作为空间范围,得到包含空间范围信息的目标数据源。
具体地,当该原始数据源的数据类型为栅格数据类型(即该原始数据源为栅格数据)时,对该原始数据源进行分解波段处理并判断其格式,若该原始数据源为单个数据集存储文件(如TIFF),则读取数据的空间范围(仿射信息GeoTransform)创建空间要素;若文件为多个数据集存储文件(如HDF),则读取全部数据集空间范围,构建它们的最小外接矩形作为该文件的空间范围,最终得到该原始数据源对应的包含空间范围信息的目标数据源。
当所述任一原始数据源的数据类型为其他数据类型时,若监测到该原始数据源所关联的空间要素,则得到包含空间要素的目标数据源。
具体地,当该原始数据源的数据类型为其他数据类型(即该原始数据源为其他数据)时,若监测到该原始数据源所关联的空间要素,则得到该原始数据源对应的包含空间要素的目标数据源。
需要说明的是,若没有检测到该原始数据源所关联的空间要素,则以警告级别记录在系统日志中。
较优地,根据多个目标数据源,构建多个时空数据立方体模型的步骤,包括:
当任一目标数据源为矢量数据类型对应的目标数据源时,判断该目标数据源中的每个要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到该目标数据源中的每个要素的第一判断结果,将第一判断结果为是的每个要素插入至对应的时空数据立方体模型,并根据第一判断结果为否的每个要素构建新的时空数据立方体模型。
需要说明的是,新的时空数据立方体模型初始化时实际为二维平面。
当任一目标数据源为栅格数据类型对应的目标数据源时,判断该目标数据源对应的空间范围信息是否与当前存在的时空数据立方体模型之间存在空间联系,得到第二判断结果,当第二判断结果为是时,将该目标数据源插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
需说明的是,栅格数据对应的时空数据立方体模型实际上为4维数据(经度维、纬度维、时间维、波段维),但本实施例中意在从3维空间管理多源数据,故在建立索引和查询的过程中只应用4维栅格数据的3个维度信息,不意味着本实施例会在建立索引时丢失波段信息。
当任一目标数据源为其他数据类型对应的目标数据源时,判断该目标数据源对应的空间要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到第三判断结果,当第三判断结果为是时,将该目标数据源的空间要素插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
较优地,步骤120包括:
基于索引插入算法,并根据包含所有时空数据立方体模型的数据层,生成所述树状索引结构。
具体地,遍历全部的时空数据立方体模型,执行索引插入算法,引进重叠体积作为判断插入代价的影响因素之一,选择插入代价最小的叶结点插入当前数据,若该叶结点下实体量超过设置的上限,则分裂结点,重新计算新结点的最小外接立方体。由于本实施例中的索引补充了空间要素属性和数据类型属性,故无论插入时叶结点是否分裂,都需向上更新结点属性,最后为数据层的全部数据构建一个树状结构的索引结果(树状索引结构)。
较优地,所述索引插入算法包括:
获取时空数据立方体模型所适配的目标叶结点,当所述目标叶结点能够放置所述时空数据立方体模型时,将所述时空数据立方体模型添加至所述目标叶结点;当所述目标叶节点不能放置所述时空数据立方体模型时,则采用分裂节点方法得到所述时空数据立方体模型对应的两个节点,并将变换向上传递,直至根结点;
对树进行增高操作,当结点分裂且该分裂向上传播导致根结点的分裂,则创建新的根结点并将所述新的根结点的两个子结点分别确定为根结点分裂后的两个结点。
具体地,①获取时空数据立方体模型所适配的目标叶结点。②添加时空数据立方体模型至目标叶结点,如果目标叶结点有足够的空间来放置时空数据立方体模型,则向目标叶结点中添加新数据。如果没有足够的空间,则进行分裂结点方法以获得两个结点。③将变换向上传递,直至根结点。④对树进行增高操作,如果结点分裂,且该分裂向上传播导致了根结点的分裂,那么需要创建一个新的根结点,并且让它的两个子结点分别为原来那个结点分裂后的两个结点。
其中,获取时空数据立方体模型所适配的目标叶结点的具体过程为:①设置根节点为N,如果N是叶节点,返回N,算法结束;如果N不是叶节点,则继续一下步操作。②根据插入时空数据立方体模型后结点里面的各个条目(条目是指时空数据立方体模型、根节点、中间节点中的一种,共同点是都有一个空间立方体的属性)对应的最小外接立方体的体积增加程度,对结点里面的各个条目进行升序排列。③将序列中的前p个条目记为条目组A,将A中的条目视为结点N中的所有条目,考察N中的指针是指向叶节点还是指向中间节点。如果指向叶节点,则应最小化重叠面积。具体做法是,选择最适合容纳时空数据立方体模型的条目,选择的标准是:加入时空数据立方体模型后相应条目的重叠体积增加程度最小。如果重叠体积增加相等,则下一个判断原则是体积增加程度最小。如果体积增加程度也相等,则返回立方体体积最小的那个条目,算法结束。如果不是指向叶节点,也就是说指向非根非叶节点,则应最小化体积。具体做法是,选择最适合容纳时空数据立方体模型的条目,选择标准是插入时空数据立方体模型后相应条目的体积增加程度最小。如果体积增加程度相等,则选择体积最小的那个条目设置为N,并返回步骤②。
其中,分裂结点方法的具体过程为:①调用选择轴线算法来决定依哪个轴进行分裂(即分裂线垂直于哪个轴)。②调用选择分裂条目算法,决定沿这个轴的最佳分组方案。③按照②结果把条目分成了两组。
其中,选择轴线算法的具体过程为:①对每一个轴都进行如下操作:对所有条目根据先左坐标再右坐标进行排序,然后对每个轴都确定一组分组方案,然后计算这个轴上所有分组方案的表面积之和,记为S。②将S值最小的轴作为分裂轴。
其中,分裂条目算法的具体过程为:沿着选定的分裂轴,选择重叠体积最小的分组方案。如果有两个方案的重叠体积相等,则选择总体积最小的方案。
较优地,步骤130包括:
根据目标查询任务的三维查询范围块以及查询属性要求,并采用所述树状索引结构的根结点向下遍历的方式,分别判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求,直至到达所述树状索引结构的数据层时,得到所述数据查询结果。
其中,判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求的过程包括:
如果该结点是非叶子结点,首先检查空间要素信息和数据类型信息是否满足检索条件,若满足,则继续判断该结点所对应的立方体与检索立方体是否重合,如果该结点所对应的立方体与检索立方体有重合,那么检查所有该结点中存储的条目,对于所有这些条目,使用搜索操作作用在每一个条目所指向的子树的根结点上(即该结点的子结点)。
如果该结点是叶子结点,首先检查空间要素信息和数据类型信息是否满足检索条件,若满足,则继续判断叶子结点所对应的立方体与检索立方体是否重合,如果该结点所对应的矩形与检索立方体有重合,那么直接检查检索立方体所指向的所有记录条目,返回符合条件的记录(数据)。
本实施例的技术方案在减少查询任务占用的资源量的同时,还能够提升海量数据查询效率。
为更好地说明本实施例的技术方案,采用如图2所示的技术路线图。目标区域以云贵川三省的国家级自然保护地的人类活动海量数据为例。具体包括:
S1、利用云贵川三省的国家级自然保护地的多源时空数据,构建多个时空数据立方体模型;其中,多源时空数据包括:云贵川三省的国家级自然保护地的人类活动过程中的矢量数据(如云贵川三省的国家级自然保护地中的保护区边界、重点区域边界、重点权限边界等)、栅格数据(云贵川三省的国家级自然保护地的GF1B影像)和其他数据(如云贵川三省的国家级自然保护地的统计年鉴、专题统计表、专题图、野外核查图片等)。
需要说明的是,栅格数据共计为233.2TB,矢量数据共计10.2GB,其他数据(图片格式为JPG,视频格式为MP4)数据共计120GB,文本数据共计1312642条)。
S2、根据包含所有时空数据立方体模型的数据层,生成树状索引结构。
其中,数据层的源文件信息如表1,聚类分析指数的分析字段为要素聚合后的数量。本实施例的技术方案的运行环境如表2所示。
表1:
表2:
配件名称 | 规格 |
CPU | 48核96线程 |
内存 | 512GB |
存储 | 240TB |
S3、从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
较优地,S1包括:
基于所述多源时空数据中的每个原始数据源的数据类型,分别对每个原始数据源进行数据标准化处理,得到并根据多个目标数据源,构建多个时空数据立方体模型。
其中,①任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。②按照数据类型分别对每个原始数据源进行数据标准化处理,得到并根据每个原始数据源对应的目标数据源,构建时空数据立方体模型37921个。各数据类型的数据内容如图3,时空数据立方体模型的示意图如图4。
较优地,对任一原始数据源进行数据标准化处理,得到该原始数据源对应的目标数据源的步骤包括:
当所述任一原始数据源的数据类型为矢量数据类型时,读取该原始数据源内的所有要素,并为该原始数据源内的每个要素进行标识,得到包含每个要素所对应标识的目标数据源。
具体地,如矢量数据类型的原始数据源(文件SHP001中)的某一要素。SHP001的文件ID为6727606A-6BF6-4A4A-3BE7-A428547FF446,要素的FID为9,则该目标数据源的唯一标识为:6727606A-6BF6-4A4A-3BE7-A428547FF4469,同理为SHP001文件内的全部要素构建唯一标识后,得到包含该文件的每个要素所对应标识的目标数据源。
当所述任一原始数据源的数据类型为栅格数据类型时,对该原始数据源进行分解波段处理并判断该原始数据源的格式,若该原始数据源为单个数据集存储文件(如TIFF),则读取该原始数据源的空间范围信息并创建空间要素,得到包含空间范围信息的目标数据源;若该原始数据源为多个数据集存储文件(仿射信息GeoTransform),则读取该原始数据源的全部数据集空间范围,构建该原始数据源的全部数据集空间范围的最小外接矩形作为空间范围,得到包含空间范围信息的目标数据源;
具体地,如栅格数据类型的原始数据源:《GF1_PMS1_5360462.GIF》,读取到其仿射信息,GeoTransform为:(103.818 34271305312,0.0001469368338799271,0.0,
25.507937541287207,0.0,-0.00014693683387992712),其行列数分别为16510、14799,计算得到该文件对应的空间范围,再读取其时间信息为2020-01-02,构建出该文件的目标数据源。
当所述任一原始数据源的数据类型为其他数据类型时,若监测到该原始数据源所关联的空间要素,则得到包含空间要素的目标数据源。
具体地,如其他数据类型的原始数据源:《气象站2015年分月降水量统计表.xlsx》,检测到其中包含空间信息字段LON、LAT,时间信息字段TIME,则根据文件中每条记录的对应信息构建数个点要素,并计算出它们的最小外接矩形作为该文件的目标数据源。
需要说明的是,若没有检测到该原始数据源所关联的空间要素,则以警告级别记录在系统日志中。具体地,该实例中并未出现该情况,为了解释该步骤,假设JPG文件TEST.jpg没有匹配到对应的空间信息,系统日志中则记录“WARNING 3 2021-08-14 16:48:13,542log 230MISS SPATIALINFOMATION:./ioserver/TEST.jpg/”。
较优地,根据多个目标数据源,构建多个时空数据立方体模型的步骤,包括:
当任一目标数据源为矢量数据类型对应的目标数据源时,判断该目标数据源中的每个要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到该目标数据源中的每个要素的第一判断结果,将第一判断结果为是的每个要素插入至对应的时空数据立方体模型,并根据第一判断结果为否的每个要素构建新的时空数据立方体模型;
当任一目标数据源为栅格数据类型对应的目标数据源时,判断该目标数据源对应的空间范围信息是否与当前存在的时空数据立方体模型之间存在空间联系,得到第二判断结果,当第二判断结果为是时,将该目标数据源插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型;
当任一目标数据源为其他数据类型对应的目标数据源时,判断该目标数据源对应的空间要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到第三判断结果,当第三判断结果为是时,将该目标数据源的空间要素插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
较优地,S2包括:
基于索引插入算法,并根据包含所有时空数据立方体模型的数据层,生成所述树状索引结构。
其中,执行索引插入算法,结点下子数量上限设置为M=8,结果生成6层树状索引(树状索引结构),树状索引结构的二维示意图如图5,树状索引结构的三维示意图如图6。
较优地,所述索引插入算法包括:
获取时空数据立方体模型所适配的目标叶结点,当所述目标叶结点能够放置所述时空数据立方体模型时,将所述时空数据立方体模型添加至所述目标叶结点;当所述目标叶节点不能放置所述时空数据立方体模型时,则采用分裂节点方法得到所述时空数据立方体模型对应的两个节点,并将变换向上传递,直至根结点;
对树进行增高操作,当结点分裂且该分裂向上传播导致根结点的分裂,则创建新的根结点并将所述新的根结点的两个子结点分别确定为根结点分裂后的两个结点。
较优地,S3包括:
根据目标查询任务的三维查询范围块以及查询属性要求,并采用所述树状索引结构的根结点向下遍历的方式,分别判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求,直至到达所述树状索引结构的数据层时,得到所述数据查询结果。
其中,目标查询任务为:查询云贵川三省某一保护区数据。
具体地,从树状索引结构中,遍历数据结点,获取目标查询任务对应的数据查询结果。如果该结点是非叶子结点,判断空间要素信息和数据类型信息是否满足范围条件,如满足,则继续判断该结点所对应的时空立方体与传入的保护区查询范围是否重合,如果有重合,那么就将该结点中存储的条目使用搜索操作作用在每一个条目所指向的字数的根结点上,如果没有重合就跳过继续遍历。如果该结点是叶子结点,判断空间要素信息和数据类型信息是否满足范围条件,如满足,则继续判断所传入范围与时空立方体是否重合,如果有重合,那么直接检索时空立方体所指向的所有记录保护区数据条目,返回符合条件的保护区记录条目,即得到目标查询任务对应的数据查询结果。
需要说明的是,查询效率随查询范围变化,如表3所示。结果表明,随着数据量的增大,检索的效率越高,时间优势越明显。
表3:
查询体积(KM·KM·D) | 查询时间(S) | 查询结果数 |
10 | 0.02 | 69 |
100 | 0.12 | 154 |
1000 | 1.1 | 731 |
10000 | 4 | 4310 |
此外,各结点具体属性包括:①非根非叶结点记录父结点指针、矩形范围、子结点指针、结点名称、空间要素属性、数据类型属性六种属性。②叶结点记录父结点指针、矩形范围、数据列表指针、结点名称、空间要素属性、数据类型属性六种属性。③根结点记录矩形范围、子结点指针两种属性。④实体记录源数据存储编号、空间要素属性、数据类型属性、要素在源数据内唯一标识四种属性。
其中,空间要素属性具体内容包括:1)数值1代表结点下包含点要素;2)数值2代表结点下包含线要素;3)数值3代表结点下包含点要素和线要素;4)数值4代表结点下包含面要素;5)数值5代表结点下包含点要素和面要素;6)数值6代表结点下包含线要素和面要素;7)数值7代表结点下包含点要素、线要素和面要素。数据类型属性具体内容包括:1)数值1代表结点下包含矢量文件;2)数值2代表结点下包含栅格文件;3)数值3代表结点下包含矢量文件和栅格文件;4)数值4代表结点下包含其他文件;5)数值5代表结点下包含矢量文件和其他文件;6)数值6代表结点下包含栅格文件和其他文件;7)数值7代表结点下包含矢量文件、栅格文件和其他文件。
本实施例的技术方案通过提出多源数据标准化和时空数据立方体模型的概念,在查询业务上实现了对多个空间文件、多种空间文件、多时序相关文件的统一管理和索引构建,优化了根据空间范围和时间范围查询多类型数据要素的检索效率。本实施例的技术方案不仅能提升国家级自然保护地海量数据查询效率,同时也可以推广到在其他具备海量多源数据特点的系统中使用。
图7示出了本发明提供的一种数据索引系统的实施例的结构示意图。如图7所示,该系统200包括:构建模块210、处理模块220和运行模块230。
所述构建模块210用于:利用目标区域的多源时空数据,构建多个时空数据立方体模型;
所述处理模块220用于:根据包含所有时空数据立方体模型的数据层,生成树状索引结构;
所述运行模块230用于:从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
较优地,所述构建模块210具体用于:
基于所述多源时空数据中的每个原始数据源的数据类型,分别对每个原始数据源进行数据标准化处理,得到并根据多个目标数据源,构建多个时空数据立方体模型;其中,任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。
较优地,所述构建模块210具体用于:
当所述任一原始数据源的数据类型为矢量数据类型时,读取该原始数据源内的所有要素,并为该原始数据源内的每个要素进行标识,得到包含每个要素所对应标识的目标数据源;
当所述任一原始数据源的数据类型为栅格数据类型时,对该原始数据源进行分解波段处理并判断该原始数据源的格式,若该原始数据源为单个数据集存储文件,则读取该原始数据源的空间范围信息并创建空间要素,得到包含空间范围信息的目标数据源;若该原始数据源为多个数据集存储文件,则读取该原始数据源的全部数据集空间范围,构建该原始数据源的全部数据集空间范围的最小外接矩形作为空间范围,得到包含空间范围信息的目标数据源;
当所述任一原始数据源的数据类型为其他数据类型时,若监测到该原始数据源所关联的空间要素,则得到包含空间要素的目标数据源。
较优地,所述构建模块210具体还用于:
当任一目标数据源为矢量数据类型对应的目标数据源时,判断该目标数据源中的每个要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到该目标数据源中的每个要素的第一判断结果,将第一判断结果为是的每个要素插入至对应的时空数据立方体模型,并根据第一判断结果为否的每个要素构建新的时空数据立方体模型;
当任一目标数据源为栅格数据类型对应的目标数据源时,判断该目标数据源对应的空间范围信息是否与当前存在的时空数据立方体模型之间存在空间联系,得到第二判断结果,当第二判断结果为是时,将该目标数据源插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型;
当任一目标数据源为其他数据类型对应的目标数据源时,判断该目标数据源对应的空间要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到第三判断结果,当第三判断结果为是时,将该目标数据源的空间要素插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
较优地,所述处理模块220具体用于:
基于索引插入算法,并根据包含所有时空数据立方体模型的数据层,生成所述树状索引结构。
较优地,所述索引插入算法包括:
获取时空数据立方体模型所适配的目标叶结点,当所述目标叶结点能够放置所述时空数据立方体模型时,将所述时空数据立方体模型添加至所述目标叶结点;当所述目标叶节点不能放置所述时空数据立方体模型时,则采用分裂节点方法得到所述时空数据立方体模型对应的两个节点,并将变换向上传递,直至根结点;
对树进行增高操作,当结点分裂且该分裂向上传播导致根结点的分裂,则创建新的根结点并将所述新的根结点的两个子结点分别确定为根结点分裂后的两个结点。
较优地,所述运行模块230具体用于:
根据目标查询任务的三维查询范围块以及查询属性要求,并采用所述树状索引结构的根结点向下遍历的方式,分别判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求,直至到达所述树状索引结构的数据层时,得到所述数据查询结果。
本实施例的技术方案在减少查询任务占用的资源量的同时,还能够提升海量数据查询效率。
上述关于本实施例的一种数据索引系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种数据索引方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如一种数据索引方法的步骤,具体可参考上文中的一种数据索引方法的实施例中的各参数和步骤,在此不做赘述。
计算机存储介质例如:优盘、移动硬盘等。
本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如一种数据索引方法的步骤,具体可参考上文中的一种数据索引方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为方法、系统、存储介质和电子设备。
因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据索引方法,其特征在于,包括:
利用目标区域的多源时空数据,构建多个时空数据立方体模型;
根据包含所有时空数据立方体模型的数据层,生成树状索引结构;
从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
2.根据权利要求1所述的数据索引方法,其特征在于,所述利用目标区域的多源时空数据,构建多个时空数据立方体模型的步骤,包括:
基于所述多源时空数据中的每个原始数据源的数据类型,分别对每个原始数据源进行数据标准化处理,得到多个目标数据源,并根据所有的目标数据源,构建多个时空数据立方体模型;其中,任一原始数据源的数据类型为:矢量数据类型、栅格数据类型或其他数据类型。
3.根据权利要求2所述的数据索引方法,其特征在于,对任一原始数据源进行数据标准化处理,得到该原始数据源对应的目标数据源的步骤包括:
当所述任一原始数据源的数据类型为矢量数据类型时,读取该原始数据源内的所有要素,并为该原始数据源内的每个要素进行标识,得到包含每个要素所对应标识的目标数据源;
当所述任一原始数据源的数据类型为栅格数据类型时,对该原始数据源进行分解波段处理并判断该原始数据源的格式,若该原始数据源为单个数据集存储文件,则读取该原始数据源的空间范围信息并创建空间要素,得到包含空间范围信息的目标数据源;若该原始数据源为多个数据集存储文件,则读取该原始数据源的全部数据集空间范围,构建该原始数据源的全部数据集空间范围的最小外接矩形作为空间范围,得到包含空间范围信息的目标数据源;
当所述任一原始数据源的数据类型为其他数据类型时,若监测到该原始数据源所关联的空间要素,则得到包含空间要素的目标数据源。
4.根据权利要求3所述的数据索引方法,其特征在于,根据多个目标数据源,构建多个时空数据立方体模型的步骤,包括:
当任一目标数据源为矢量数据类型对应的目标数据源时,判断该目标数据源中的每个要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到该目标数据源中的每个要素的第一判断结果,将第一判断结果为是的每个要素插入至对应的时空数据立方体模型,并根据第一判断结果为否的每个要素构建新的时空数据立方体模型;
当任一目标数据源为栅格数据类型对应的目标数据源时,判断该目标数据源对应的空间范围信息是否与当前存在的时空数据立方体模型之间存在空间联系,得到第二判断结果,当第二判断结果为是时,将该目标数据源插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型;
当任一目标数据源为其他数据类型对应的目标数据源时,判断该目标数据源对应的空间要素是否与当前存在的时空数据立方体模型之间存在空间联系,得到第三判断结果,当第三判断结果为是时,将该目标数据源的空间要素插入至对应的时空数据立方体模型,否则,构建新的时空数据立方体模型。
5.根据权利要求1所述的数据索引方法,其特征在于,所述根据包含所有时空数据立方体模型的数据层,生成树状索引结构的步骤,包括:
基于索引插入算法,并根据包含所有时空数据立方体模型的数据层,生成所述树状索引结构。
6.根据权利要求5所述的数据索引方法,其特征在于,所述索引插入算法包括:
获取时空数据立方体模型所适配的目标叶结点,当所述目标叶结点能够放置所述时空数据立方体模型时,将所述时空数据立方体模型添加至所述目标叶结点;当所述目标叶节点不能放置所述时空数据立方体模型时,则采用分裂节点方法得到所述时空数据立方体模型对应的两个节点,并将变换向上传递,直至根结点;
对树进行增高操作,当结点分裂且该分裂向上传播导致根结点的分裂,则创建新的根结点并将所述新的根结点的两个子结点分别确定为根结点分裂后的两个结点。
7.根据权利要求1-6任一项所述的数据索引方法,其特征在于,所述从所述树状索引结构中,获取目标查询任务对应的数据查询结果的步骤,包括:
根据目标查询任务的三维查询范围块以及查询属性要求,并采用所述树状索引结构的根结点向下遍历的方式,分别判断所述树状索引结构的每个节点是否满足所述目标查询任务的查询要求,直至到达所述树状索引结构的数据层时,得到所述数据查询结果。
8.一种数据索引系统,其特征在于,包括:构建模块、处理模块和运行模块;
所述构建模块用于:利用目标区域的多源时空数据,构建多个时空数据立方体模型;
所述处理模块用于:根据包含所有时空数据立方体模型的数据层,生成树状索引结构;
所述运行模块用于:从所述树状索引结构中,获取目标查询任务对应的数据查询结果。
9.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至7中任一项所述的数据索引方法。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的数据索引方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310538219.6A CN116756139B (zh) | 2023-05-12 | 2023-05-12 | 一种数据索引方法、系统、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310538219.6A CN116756139B (zh) | 2023-05-12 | 2023-05-12 | 一种数据索引方法、系统、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116756139A true CN116756139A (zh) | 2023-09-15 |
CN116756139B CN116756139B (zh) | 2024-04-23 |
Family
ID=87959763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310538219.6A Active CN116756139B (zh) | 2023-05-12 | 2023-05-12 | 一种数据索引方法、系统、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756139B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926820A (en) * | 1997-02-27 | 1999-07-20 | International Business Machines Corporation | Method and system for performing range max/min queries on a data cube |
CN101110079A (zh) * | 2007-06-27 | 2008-01-23 | 中国科学院遥感应用研究所 | 一种数字地球原型系统 |
WO2015096582A1 (zh) * | 2013-12-27 | 2015-07-02 | 华为技术有限公司 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
KR20180126673A (ko) * | 2017-05-18 | 2018-11-28 | 김훈 | 콘텐츠의 상세 수치정보 제공장치 |
CN110347764A (zh) * | 2019-06-12 | 2019-10-18 | 重庆工商大学融智学院 | 一种生态空间数据整合方法 |
US20200004868A1 (en) * | 2018-06-27 | 2020-01-02 | International Business Machines Corporation | Dynamic incremental updating of data cubes |
CN111078634A (zh) * | 2019-12-30 | 2020-04-28 | 中科海拓(无锡)科技有限公司 | 一种基于r树的分布式时空数据索引方法 |
CN111639075A (zh) * | 2020-05-09 | 2020-09-08 | 武汉大学 | 一种基于扁平化r树的非关系数据库矢量数据管理方法 |
CN112181980A (zh) * | 2020-09-16 | 2021-01-05 | 武汉大学 | 一种面向大规模分析的时空大数据立方体组织方法及系统 |
CN113094527A (zh) * | 2021-04-25 | 2021-07-09 | 华中师范大学 | 广义云控制时空谱大数据库及遥感影像处理方法 |
CN113806458A (zh) * | 2020-11-17 | 2021-12-17 | 京东城市(北京)数字科技有限公司 | 时空关联数据的查询方法、装置、电子设备和存储介质 |
WO2022100212A1 (zh) * | 2020-11-11 | 2022-05-19 | 湖北亿咖通科技有限公司 | 基于三维高精地图切片的地图生成方法、装置及电子设备 |
CN115827907A (zh) * | 2023-02-22 | 2023-03-21 | 中国科学院空天信息创新研究院 | 基于分布式内存的跨云多源数据立方体发现与集成方法 |
-
2023
- 2023-05-12 CN CN202310538219.6A patent/CN116756139B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926820A (en) * | 1997-02-27 | 1999-07-20 | International Business Machines Corporation | Method and system for performing range max/min queries on a data cube |
CN101110079A (zh) * | 2007-06-27 | 2008-01-23 | 中国科学院遥感应用研究所 | 一种数字地球原型系统 |
WO2015096582A1 (zh) * | 2013-12-27 | 2015-07-02 | 华为技术有限公司 | 一种时空数据的索引建立方法、查询方法、装置及设备 |
KR20180126673A (ko) * | 2017-05-18 | 2018-11-28 | 김훈 | 콘텐츠의 상세 수치정보 제공장치 |
US20200004868A1 (en) * | 2018-06-27 | 2020-01-02 | International Business Machines Corporation | Dynamic incremental updating of data cubes |
CN110347764A (zh) * | 2019-06-12 | 2019-10-18 | 重庆工商大学融智学院 | 一种生态空间数据整合方法 |
CN111078634A (zh) * | 2019-12-30 | 2020-04-28 | 中科海拓(无锡)科技有限公司 | 一种基于r树的分布式时空数据索引方法 |
CN111639075A (zh) * | 2020-05-09 | 2020-09-08 | 武汉大学 | 一种基于扁平化r树的非关系数据库矢量数据管理方法 |
CN112181980A (zh) * | 2020-09-16 | 2021-01-05 | 武汉大学 | 一种面向大规模分析的时空大数据立方体组织方法及系统 |
WO2022100212A1 (zh) * | 2020-11-11 | 2022-05-19 | 湖北亿咖通科技有限公司 | 基于三维高精地图切片的地图生成方法、装置及电子设备 |
CN113806458A (zh) * | 2020-11-17 | 2021-12-17 | 京东城市(北京)数字科技有限公司 | 时空关联数据的查询方法、装置、电子设备和存储介质 |
CN113094527A (zh) * | 2021-04-25 | 2021-07-09 | 华中师范大学 | 广义云控制时空谱大数据库及遥感影像处理方法 |
CN115827907A (zh) * | 2023-02-22 | 2023-03-21 | 中国科学院空天信息创新研究院 | 基于分布式内存的跨云多源数据立方体发现与集成方法 |
Non-Patent Citations (2)
Title |
---|
徐明;: "基于节点分裂优化的R-树索引结构", 计算机应用研究, no. 12, pages 3530 - 3534 * |
高凡等: "GeoCube:面向大规模分析的多源对地观测时空立方体", 遥感学报, no. 06, pages 1051 - 1064 * |
Also Published As
Publication number | Publication date |
---|---|
CN116756139B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Fast large-scale trajectory clustering | |
US9098591B2 (en) | Spatio-temporal data management system, spatio-temporal data management method, and machine-readable storage medium thereof | |
CN106933833B (zh) | 一种基于空间索引技术的位置信息快速查询方法 | |
US11132388B2 (en) | Efficient spatial queries in large data tables | |
US10685042B2 (en) | Identifying join relationships based on transactional access patterns | |
CN106471501B (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
Santos et al. | Data warehousing in big data: from multidimensional to tabular data models | |
CN102725755A (zh) | 文件访问方法及系统 | |
CN112463991B (zh) | 历史行为数据的处理方法、装置、计算机设备及存储介质 | |
US10558665B2 (en) | Network common data form data management | |
Zhang et al. | Effectively indexing the multi-dimensional uncertain objects for range searching | |
CN111221813B (zh) | 数据库索引以及数据库查询的处理方法、装置及设备 | |
Zhang et al. | Improving NoSQL storage schema based on Z-curve for spatial vector data | |
CN116756139B (zh) | 一种数据索引方法、系统、存储介质和电子设备 | |
Ghosh et al. | Aid*: a spatial index for visual exploration of geo-spatial data | |
Wang et al. | HBase storage schemas for massive spatial vector data | |
CN114564621A (zh) | 一种关联数据的方法、装置、设备及可读存储介质 | |
JP2004192657A (ja) | 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 | |
Tian et al. | Tinba: Incremental partitioning for efficient trajectory analytics | |
Cary | Scaling geospatial searches in large spatial databases | |
Fantazi et al. | Captree: spatial and temporal indexing in databases from fixed sensors | |
Kang | A Framework for Spatio-Temporal Trajectory Data Segmentation and Query | |
KR20170095044A (ko) | 공간 스트림 데이터 분산 처리 시스템 및 방법 | |
Xu et al. | A Query Optimizer for Range Queries over Multi-Attribute Trajectories |
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 |