CN117648338B - 一种时空数据范围索引过滤优化方法、装置、设备及介质 - Google Patents
一种时空数据范围索引过滤优化方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117648338B CN117648338B CN202410115560.5A CN202410115560A CN117648338B CN 117648338 B CN117648338 B CN 117648338B CN 202410115560 A CN202410115560 A CN 202410115560A CN 117648338 B CN117648338 B CN 117648338B
- Authority
- CN
- China
- Prior art keywords
- sequence value
- target query
- sequence
- acquiring
- multidimensional data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001914 filtration Methods 0.000 title claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 55
- 238000005457 optimization Methods 0.000 claims abstract description 26
- 238000000605 extraction Methods 0.000 claims abstract description 17
- 238000005096 rolling process Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于数据查询技术领域,具体涉及一种时空数据范围索引过滤优化方法、装置、设备及介质,包括:获取包括时间维度的多维数据表;分割多维数据表的时间维度,将多维数据表转换为若干个子表;将目标子表中的多维数据转换为对应的候选Z序值;在目标子表中确定目标查询区域,对候选Z序值循环执行引出算法和引入算法,获取目标查询区域中多维数据对应的Z序值。本申请首先针对多维时空数据的时间维度构造时间索引,形成多个可通过时间范围检索的子表,之后针对子表中其他有边界的维度,针对Z序曲线构造的索引,通过引出、引入算法,实现查询区域的进一步修剪与细化。
Description
技术领域
本申请属于数据查询技术领域,具体涉及一种时空数据范围索引过滤优化方法、装置、设备及介质。
背景技术
数据库***在多个行业有着广泛的应用,能够有效存储、组织、检索和保护大量数据,以支持数据管理、分析和应用程序开发。随着数据规模的不断增长,如何提高数据库查询效率成为关键,促进了数据库索引技术的发展。数据库索引是一种关键的数据结构,用于加速数据库***中的数据检索操作。它通过创建额外的数据结构,将特定列的值与相应的数据行位置相关联,从而使数据库可以更迅速地定位所需数据,减少了在大型数据集中搜索的时间和资源开销,从而提高了数据库查询效率,满足了日益增长的数据需求。然而,针对多维数据如何实现高效索引,需要结合数据类型设计专门的索引构造算法。
对于多维数据的检索,可借助Z序曲线对数据构建高效索引,降低搜索规模。其中,Z序曲线是一种填充空间的曲线,它可以将多维数据转换到一维的Z序空间中处理。由于可以将多维范围查询轻松转换为Z序查询,提升检索性能,因此一些先前的数据库***中使用了Z序曲线。
然而,对于多维时空数据来说,由于多维时空数据在时间维度上没有最大值,导致Z序索引无法有效构建;由于Z序曲线的性质,使用Z序曲线进行查询时会产生过大的查询范围,降低了查询效率。
发明内容
本申请提供了一种时空数据范围索引过滤优化方法、装置、设备及介质,用以解决现有技术中由于多维时空数据在时间维度上没有最大值,导致Z序索引无法有效构建;由于Z序曲线的性质,使用Z序曲线进行查询时会产生过大的查询范围,降低了查询效率的技术问题。
第一方面,本申请提供一种时空数据范围索引过滤优化方法,所述方法包括:
获取包括时间维度的多维数据表;
根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表;
在所述若干个子表中确定目标子表,将所述目标子表中的多维数据转换为对应的候选Z序值;
在所述目标子表中确定目标查询区域,对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,所述引出算法用于:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
所述引入算法用于:
获取所述目标查询区域之外的第三Z序值;
获取所述第三Z序值之后下一个位于所述目标查询区域边界的Z序值。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,包括:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
获取所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值;
循环执行上述步骤,直到获取所述目标查询区域中多维数据对应的Z序值。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值,包括:
将所述第一Z序值对应的二进制字符串,从右往左第n位的0置为1,从右往左第1位至第n-1位均置0,获得候选引出二进制字符串;
校验所述候选引出二进制字符串对应的Z序值是否在所述目标查询之外;
从n=2开始循环执行上述步骤,直到所述候选引出二进制字符串对应的Z序值在所述目标查询区域之内,将所述候选引出二进制字符串对应的Z序值确定为所述第二Z序值。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述获取所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值,包括:
对所述第二Z序值对应的二进制字符串,从右向左执行如下操作:
遇到连续的00则将最右侧的0置为1,或遇到连续的11则将最右侧的1置为0;
每次将从右向左第N位的0置为1或将从右向左第N位的1置为0时,获得候选引入二进制字符串,校验所述候选引入二进制字符串对应的Z序值是否在所述目标查询区域边界:
若是,则将所述候选引入二进制字符串对应的Z序值确定为所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值;
若否,则自所述候选引入二进制字符串从右向左第N+1位开始重复执行上述操作。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述获取所述目标查询区域中多维数据对应的Z序值,包括:
将所述第一Z序值与所述第二Z序值之间的Z序值确定为所述目标查询区域中多维数据对应的Z序值。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述获取所述目标查询区域边界上的第一Z序值,包括:
将所述目标查询区域左上角的Z序值确定为初始的所述第一Z序值。
在上述一种时空数据范围索引过滤优化方法优选技术方案中,所述根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表,包括:
根据所述预设时间滚动窗口的大小,确定若干个始末时间点;
根据所述若干个始末时间点,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表。
第二方面,本申请提供一种时空数据范围索引过滤优化装置,所述装置包括:
转换模块,用于:
获取包括时间维度的多维数据表;
根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表;
在所述若干个子表中确定目标子表,将所述目标子表中的多维数据转换为对应的候选Z序值;
查询模块,用于:
在所述目标子表中确定目标查询区域,对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,所述引出算法用于:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
所述引入算法用于:
获取所述目标查询区域之外的第三Z序值;
获取所述第三Z序值之后下一个位于所述目标查询区域边界的Z序值。
第三方面,本申请提供一种时空数据范围索引过滤优化设备,所述设备包括:
处理器和存储器;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,实现如上所述的时空数据范围索引过滤优化方法。
第四方面,本申请提供一种可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序用于实现如上所述的时空数据范围索引过滤优化方法。
本申请提供的一种时空数据范围索引过滤优化方法、装置、设备及介质,首先针对多维时空数据的时间维度构造时间索引,形成多个可通过时间范围检索的子表,之后针对子表中其他有边界的维度,针对Z序曲线构造的索引,通过引出、引入算法,实现查询区域的进一步修剪与细化。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种时空数据范围索引过滤优化方法流程图;
图2是本申请实施例提供的将一个多维数据转换为对应的候选Z序值示意图;
图3是本申请实施例提供的Z序范围查询区域示意图;
图4是本申请实施例提供的引出算法和引入算法示意图;
图5是本申请实施例提供的一种对候选Z序值循环执行引出算法和引入算法的方法流程图;
图6是本申请实施例提供的一种时空数据范围索引过滤优化装置示意图;
图7是本申请实施例提供的一种时空数据范围索引过滤优化设备示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
首先对本申请中出现的相关名词进行解释:
多维数据表:多维数据表是一种复杂的数据结构,它可以涵盖有边界的地理坐标(如经度和纬度),同时也包括无边界的时间维度。这种数据类型通常包括以下关键维度:①经度维度:表示地球表面上的东西方向的坐标,通常以度为单位,范围在-180到+180之间;②纬度维度:表示地球表面上的南北方向的坐标,通常以度为单位,范围在-90到+90之间;③时间维度:表示观测、事件或记录的时间。时间可以是离散的时间点,也可以是连续的时间范围,此外,时间维度也可以无限延伸,覆盖过去、现在和未来;④其他维度:针对特定数据需求,可以引入额外的维度,最大最小值具有边界,例如高度、温度、湿度等,以丰富数据的信息内容。
Z序范围查询:Z序范围查询是一种在多维空间中使用Z序编码进行范围查询的技术,这种查询通常用于空间数据库、地理信息***和其他需要处理多维数据的应用程序中,以快速找到在某个范围内的数据点。
索引:是一个数据结构,用来快速访问数据库里的数据。
Z序曲线是一种将多维空间映射到一维序列的空间填充曲线,通常用于空间数据结构和索引。这种编码方式允许在一维序列中保留多维空间上的局部和全局关系,实现了在一维Z序空间中定位多维数据存储位置,这对于空间数据的快速查询和搜索是有益的,因此被用于数据库检索领域中的索引技术。在空间数据库、地理信息***和其他需要处理多维数据的应用程序中,通过Z序范围查询,在多维空间中使用Z序编码进行范围查询,以快速找到在某个范围内的数据点。
然而Z序范围查询由于Z序曲线的性质而造成较大的查询区域,导致查询效率较低。此外,由于时空数据的时间维度没有最大值,Z序索引无法有效构建,导致无法进行Z序范围查询。
针对上述技术问题,本申请的技术构思是:获取包括时间维度的多维数据表,根据预设时间滚动窗口大小,分割多维数据表的时间维度,构造若干个子表,之后在若干个子表中确定目标子表,将目标子表中的多维数据转换为对应的Z序值,再在目标子表中确定目标查询范围,对目标子表的Z序值循环执行引出算法和引入算法,获取目标查询范围中多维数据对应的Z序值,引出算法用于:获取目标查询范围边界上的Z序值,寻找该Z序值之后下一个位于目标查询范围之外的Z序值;引入算法用于:获取目标查询范围之外的Z序值,寻找该Z序值之后下一个位于目标查询范围边界的Z序值。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请一个可能的实施例中,提供一种时空数据范围索引过滤优化方法,该方法可以应用于服务器。图1是本申请实施例提供的一种时空数据范围索引过滤优化方法流程图,如图1所示,方法包括:
S101、获取包括时间维度的多维数据表;
S102、根据预设时间滚动窗口的大小,分割多维数据表的时间维度,将多维数据表转换为若干个子表;
S103、在若干个子表中确定目标子表,将目标子表中的多维数据转换为对应的候选Z序值;
具体的,将一个多维数据转换为候选Z序值时,首先需要获取该多维数据在每个维度上的坐标,再将不同维度上的坐标对应的二进制字符串的相同位交替排列,以获取该多维数据对应的候选Z序值。图2是本申请实施例提供的将一个多维数据转换为对应的候选Z序值示意图,如图2所示,一个二维的数据在第一维度坐标对应的二进制字符串为010,在第二维度坐标对应的二进制字符串为010,通过将010、010的相同位交替排列,获得的对应的候选Z序值为001100,对应的十进制数为12。
S104、在目标子表中确定目标查询区域,对候选Z序值循环执行引出算法和引入算法,获取目标查询区域中多维数据对应的Z序值。
具体的,引出算法用于:
获取目标查询区域边界上的第一Z序值;
获取第一Z序值之后下一个位于目标查询区域之外的第二Z序值;
引入算法用于:
获取目标查询区域之外的第三Z序值;
获取第三Z序值之后下一个位于目标查询区域边界的Z序值。
需要说明的是,进行Z序范围查询时,会导致过大的查询范围。图3是本申请实施例提供的Z序范围查询区域示意图,如图3所示,虚线范围内是目标查询区域,A1至A4、B1至B4分别为多维数据表的两个维度。然而,由于Z序曲线的性质,Z序范围查询会包括粗实线矩形范围内的多余数据。在确定目标查询区域之后,需要对多余的查询区域进行修剪,以提高查询的效率。
首先需要说明,本申请中“位于目标查询区域边界”指位于目标查询区域内部的最***的数据。现结合附图,对本实施例中的引出算法和引入算法进行详细说明。图4是本申请实施例提供的引出算法和引入算法示意图,如图4所示,图中数字均为Z序值,黑色框内为目标查询区域的一部分,虚线范围内为多余的查询区域,A1至A4、B1至B4分别为多维数据表的两个维度。首先图4的第一个Z序值7位于查询区域边界,执行引出算法,引出到查询区域之外的8,由8引入到13,再由13引出到14,由14引入到15,最后引入至37。通过图4可以看出,通过循环执行引出算法和引入算法,可以找出目标查询区域边界上的所有Z序值,实现了对多余查询区域的修剪。
并且,循环执行引入和引出可以避免扫描目标查询区域形成的超矩形(多维数据表因为具有K个维度,因此多维数据表相当于一个具有K维度的超矩形)内部,在多维数据维度较多的时候,这种方法可以极大降低查找目标查询区域的计算时间和资源开销。
本实施例的技术效果是:首先针对多维时空数据的时间维度构造时间索引,形成多个可通过时间范围检索的子表,之后针对子表中其他有边界的维度,针对Z序曲线构造的索引,通过引出、引入算法,实现查询区域的进一步修剪与细化。
本申请一个可能的实施例中,提供一种对候选Z序值循环执行引出算法和引入算法的方法,图5是本申请实施例提供的一种对候选Z序值循环执行引出算法和引入算法的方法流程图,如图5所示,该方法包括:
S501、获取目标查询区域边界上的第一Z序值;
可选的,可以将目标查询区域左上角的Z序值确定为初始的第一Z序值。
S502、获取第一Z序值之后下一个位于目标查询区域之外的第二Z序值;
可选的,获取第一Z序值之后下一个位于目标查询区域之外的第二Z序值,包括:
将第一Z序值对应的二进制字符串,从右往左第n位的0置为1,从右往左第1位至第n-1位均置0,获得候选引出二进制字符串;
校验候选引出二进制字符串对应的Z序值是否在目标查询之外;
从n=2开始循环执行上述步骤,直到候选引出二进制字符串对应的Z序值在目标查询区域之内,将候选引出二进制字符串对应的Z序值确定为第二Z序值。
现举一个例子说明引出算法的计算步骤。假设第一Z序值12对应的二进制字符串为001100,从右往左第2位置为1转换成001110为14,14经过检查位于目标查询区域之内,将从右向左的第3位、第4位的1跳过,将从右向左第5位的0置为1,第1位至第4位均置0,此时将001110转换为010000,为16,经检查16位于目标查询区域之外,停止跳出。
S503、获取第二Z序值之后下一个位于目标查询区域边界的Z序值;
可选的,获取第二Z序值之后下一个位于目标查询区域边界的Z序值,包括:
对第二Z序值对应的二进制字符串,从右向左执行如下操作:
遇到连续的00则将最右侧的0置为1,或遇到连续的11则将最右侧的1置为0;
每次将从右向左第N位的0置为1或将从右向左第N位的1置为0时,获得候选引入二进制字符串,校验候选引入二进制字符串对应的Z序值是否在目标查询区域边界:
若是,则将候选引入二进制字符串对应的Z序值确定为第二Z序值之后下一个位于目标查询区域边界的Z序值;
若否,则自候选引入二进制字符串从右向左第N+1位开始重复执行上述操作。
现举一个例子说明引入算法的计算步骤。假设第二Z序值对应的二进制字符串为010000,为16,从右向左遇到连续的00,将00最右侧的0置为1,转换得到010001为17,仍在目标搜索区域之外,继续将连续的00的最右侧0置1,转换得到010011。循环执行上述步骤,直到转换得到的候选引入二进制字符串对应的Z序值位于目标搜索区域边界。
可选的,获取目标查询区域中多维数据对应的Z序值,包括:
将第一Z序值与第二Z序值之间的Z序值确定为目标查询区域中多维数据对应的Z序值。例如,第一Z序值12位于目标查询区域边界,第二Z序值16位于目标查询区域之外,则13、14、15为目标查询区域内的数据。
本申请一个可能的实施例中,根据预设时间滚动窗口的大小,分割多维数据表的时间维度,将多维数据表转换为若干个子表,包括:
根据预设时间滚动窗口的大小,确定若干个始末时间点;
根据若干个始末时间点,分割多维数据表的时间维度,将多维数据表转换为若干个子表。
本申请一个可能的实施例中,提供一种时空数据范围索引过滤优化装置,图6是本申请实施例提供的一种时空数据范围索引过滤优化装置示意图,如图6所示,该装置60包括:
转换模块601,用于:
获取包括时间维度的多维数据表;
根据预设时间滚动窗口的大小,分割多维数据表的时间维度,将多维数据表转换为若干个子表;
在若干个子表中确定目标子表,将目标子表中的多维数据转换为对应的候选Z序值;
查询模块602,用于:
在目标子表中确定目标查询区域,对候选Z序值循环执行引出算法和引入算法,获取目标查询区域中多维数据对应的Z序值,引出算法用于:
获取目标查询区域边界上的第一Z序值;
获取第一Z序值之后下一个位于目标查询区域之外的第二Z序值;
引入算法用于:
获取目标查询区域之外的第三Z序值;
获取第三Z序值之后下一个位于目标查询区域边界的Z序值。
本申请一个可能的实施例中,提供一种时空数据范围索引过滤优化设备,图7是本申请实施例提供的一种时空数据范围索引过滤优化设备示意图,如图7所示,该设备70包括:存储器701、处理器702、交互接口703,存储器701、处理器702、交互接口703通过总线704连接;
存储器701用于,存储计算机程序;
处理器702用于,执行存储器701中存储的计算机程序,实现上述的时空数据范围索引过滤优化方法。
处理器702的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或类型的总线。
在本申请一个可能的实施例中还提供一种可读存储介质,该可读存储介质上存储有计算机程序;计算机程序用于实现如上的时空数据范围索引过滤优化方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,但是,本领域技术人员容易理解的是,本申请的保护范围显然不局限于这些具体实施方式,以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种时空数据范围索引过滤优化方法,其特征在于,所述方法包括:
获取包括时间维度的多维数据表;
根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表;
在所述若干个子表中确定目标子表,将所述目标子表中的多维数据转换为对应的候选Z序值;
在所述目标子表中确定目标查询区域,对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,所述引出算法用于:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
所述引入算法用于:
获取所述目标查询区域之外的第三Z序值;
获取所述第三Z序值之后下一个位于所述目标查询区域边界的Z序值。
2.根据权利要求1所述的方法,其特征在于,所述对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,包括:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
获取所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值;
循环执行上述步骤,直到获取所述目标查询区域中多维数据对应的Z序值。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值,包括:
将所述第一 Z序值对应的二进制字符串,从右往左第n位的0置为1,从右往左第1位至第n-1位均置0,获得候选引出二进制字符串;
校验所述候选引出二进制字符串对应的Z序值是否在所述目标查询之外;
从n=2开始循环执行上述步骤,直到所述候选引出二进制字符串对应的Z序值在所述目标查询区域之内,将所述候选引出二进制字符串对应的Z序值确定为所述第二Z序值。
4.根据权利要求2所述的方法,其特征在于,所述获取所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值,包括:
对所述第二Z序值对应的二进制字符串,从右向左执行如下操作:
遇到连续的00则将最右侧的0置为1,或遇到连续的11则将最右侧的1置为0;
每次将从右向左第N位的0置为1或将从右向左第N位的1置为0时,获得候选引入二进制字符串,校验所述候选引入二进制字符串对应的Z序值是否在所述目标查询区域边界:
若是,则将所述候选引入二进制字符串对应的Z序值确定为所述第二Z序值之后下一个位于所述目标查询区域边界的Z序值;
若否,则自所述候选引入二进制字符串从右向左第N+1位开始重复执行上述操作。
5.根据权利要求2所述的方法,其特征在于,所述获取所述目标查询区域中多维数据对应的Z序值,包括:
将所述第一Z序值与所述第二Z序值之间的Z序值确定为所述目标查询区域中多维数据对应的Z序值。
6.根据权利要求2所述的方法,其特征在于,所述获取所述目标查询区域边界上的第一Z序值,包括:
将所述目标查询区域左上角的Z序值确定为初始的所述第一Z序值。
7.根据权利要求1所述的方法,其特征在于,所述根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表,包括:
根据所述预设时间滚动窗口的大小,确定若干个始末时间点;
根据所述若干个始末时间点,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表。
8.一种时空数据范围索引过滤优化装置,其特征在于,所述装置包括:
转换模块,用于:
获取包括时间维度的多维数据表;
根据预设时间滚动窗口的大小,分割所述多维数据表的时间维度,将所述多维数据表转换为若干个子表;
在所述若干个子表中确定目标子表,将所述目标子表中的多维数据转换为对应的候选Z序值;
查询模块,用于:
在所述目标子表中确定目标查询区域,对所述候选Z序值循环执行引出算法和引入算法,获取所述目标查询区域中多维数据对应的Z序值,所述引出算法用于:
获取所述目标查询区域边界上的第一Z序值;
获取所述第一Z序值之后下一个位于所述目标查询区域之外的第二Z序值;
所述引入算法用于:
获取所述目标查询区域之外的第三Z序值;
获取所述第三Z序值之后下一个位于所述目标查询区域边界的Z序值。
9.一种时空数据范围索引过滤优化设备,其特征在于,所述设备包括:
处理器和存储器;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,实现如权利要求1至7中任一项所述的时空数据范围索引过滤优化方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序用于实现如权利要求1至7中任一项所述的时空数据范围索引过滤优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410115560.5A CN117648338B (zh) | 2024-01-29 | 2024-01-29 | 一种时空数据范围索引过滤优化方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410115560.5A CN117648338B (zh) | 2024-01-29 | 2024-01-29 | 一种时空数据范围索引过滤优化方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117648338A CN117648338A (zh) | 2024-03-05 |
CN117648338B true CN117648338B (zh) | 2024-06-07 |
Family
ID=90049827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410115560.5A Active CN117648338B (zh) | 2024-01-29 | 2024-01-29 | 一种时空数据范围索引过滤优化方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648338B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649821A (zh) * | 2016-12-29 | 2017-05-10 | 郑州星途信息科技有限公司 | 空间目标索引构建、碰撞预警、区域和最近邻查询方法 |
CN113656670A (zh) * | 2021-08-23 | 2021-11-16 | 南京航空航天大学 | 面向飞行数据的时空轨迹数据管理分析方法和装置 |
CN114741392A (zh) * | 2022-04-14 | 2022-07-12 | 北京字节跳动网络技术有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN115544074A (zh) * | 2022-10-25 | 2022-12-30 | 广州点金石信息技术有限公司 | 一种数据查询方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167856B2 (en) * | 2001-05-15 | 2007-01-23 | Jonathan Keir Lawder | Method of storing and retrieving multi-dimensional data using the hilbert curve |
-
2024
- 2024-01-29 CN CN202410115560.5A patent/CN117648338B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649821A (zh) * | 2016-12-29 | 2017-05-10 | 郑州星途信息科技有限公司 | 空间目标索引构建、碰撞预警、区域和最近邻查询方法 |
CN113656670A (zh) * | 2021-08-23 | 2021-11-16 | 南京航空航天大学 | 面向飞行数据的时空轨迹数据管理分析方法和装置 |
CN114741392A (zh) * | 2022-04-14 | 2022-07-12 | 北京字节跳动网络技术有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN115544074A (zh) * | 2022-10-25 | 2022-12-30 | 广州点金石信息技术有限公司 | 一种数据查询方法及装置 |
Non-Patent Citations (4)
Title |
---|
Bead 模型的不确定性范围查询与修剪算法;叶李 等;《电子测量与仪器学报》;20100831;全文 * |
Chisel:Reshaping Queries to Trim Latency in Key-Value Stores;Robert Birke 等;《IEEE Xplore》;20190912;全文 * |
F-Seeker: 基于重匿名的粒度化好友搜索架构;周志刚 等;《电子学报》;20161031;全文 * |
基于序的空间数据索引及查询算法研究;刘润涛;《中国博士学位论文全文数据库 信息科技辑 (月刊)》;20120115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117648338A (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321344B (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN110413611B (zh) | 数据存储、查询方法及装置 | |
US10496621B2 (en) | Columnar storage of a database index | |
KR101938953B1 (ko) | 빅 데이터 질의 엔진을 위한 플래시 최적화된 열 데이터 배치 및 데이터 액세스 처리 알고리즘 | |
EP3327588B1 (en) | Value-id-based sorting in column-store databases | |
US20210334255A1 (en) | Method of performing transactional and analytical data processing using a data structure | |
US20050222978A1 (en) | Method and apparatus for querying spatial data | |
O'Neil et al. | Bitmap index design choices and their performance implications | |
US10095808B2 (en) | Approximate string matching optimization for a database | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
US8843499B2 (en) | Accelerating database queries comprising positional text conditions plus bitmap-based conditions | |
CN116450656B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
US11995059B2 (en) | Database index and database query processing method, apparatus, and device | |
US20160162525A1 (en) | Storing a Key Value to a Deleted Row Based On Key Range Density | |
CN111125119A (zh) | 一种基于HBase的时空数据存储与索引方法 | |
CN115952175B (zh) | 一种数据库索引构建方法、装置、计算机设备及存储介质 | |
CN111984651A (zh) | 一种基于持久性内存的列式存储方法、装置及设备 | |
WO2023143095A1 (en) | Method and system for data query | |
Hu et al. | An efficient algorithm for location-aware query autocompletion | |
CN117251641A (zh) | 向量数据库检索方法、***、电子设备及存储介质 | |
CN113806601A (zh) | 一种周边兴趣点检索方法及存储介质 | |
CN117648338B (zh) | 一种时空数据范围索引过滤优化方法、装置、设备及介质 | |
Mao et al. | Comprehensive comparison of LSM architectures for spatial data | |
US20240220470A1 (en) | Data storage device and storage control method based on log-structured merge tree |
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 |