CN108460123B - 高维数据检索方法、计算机设备和存储介质 - Google Patents
高维数据检索方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108460123B CN108460123B CN201810156823.1A CN201810156823A CN108460123B CN 108460123 B CN108460123 B CN 108460123B CN 201810156823 A CN201810156823 A CN 201810156823A CN 108460123 B CN108460123 B CN 108460123B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- node
- leaf
- distance
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种高维数据检索方法、计算机设备和存储介质,通过获取查询指令,所述查询指令包括:查询数据及检索范围;获取当前节点,所述当前节点包含至少一个子节点;对所述当前节点的子节点由上向下剪枝,直至叶子节点;遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。通过当前节点,并由上向下进行剪枝,从而实现快速查找相似数据。解决了线性遍历大规模、高维度的数据并逐一计算与查询数据之间距离的过程对于计算资源消耗极大,查询效率低的问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种高维数据检索方法、计算机设备和存储介质。
背景技术
近年来,随着移动终端的广泛应用,各种数据采集设备的暴发性增长,使得数据呈现一种大***的趋势,如何在日益增长的海量数据中进行高效的检索,一直以来都是信息技术领域的难题。
其中,高维数据分布非常稀疏,索引难度巨大,度量空间(Metric Space)索引是近年来解决高维数据相似性检索的一种广泛采用的方式。基于度量空间的索引通常做法是针对高维数据设计一种几何降维方法并进行数据划分,将高维数据映射到低维空间中,然后再采用一种高效的索引存储结构进行索引,并基于该索引结构设计相应的高维数据相似检索方法,通常包括范围检索和KNN检索。
因此,面对大规模、高维度的索引数据,度量空间索引的检索性能存在压力,常规的自顶向下剪枝算法对叶子节点中的数据进行线性遍历的计算开销相当大,特别是当数据规模极大、数据维度极高的情况下,树结构中满足剪枝条件的叶子节点下存储的数据非常大,线性遍历大规模、高维度的数据并逐一计算与查询数据之间距离的过程对于计算资源消耗极大,查询效率低。
发明内容
基于此,有必要针对,线性遍历大规模、高维度的数据并逐一计算与查询数据之间距离的过程对于计算资源消耗极大,查询效率低的问题,提供一种能够提高查询效率的高维数据检索方法、计算机设备和存储介质。
一种高维数据检索方法,所述方法包括:
获取查询指令,所述查询指令包括:查询数据及检索范围;
获取当前节点,所述当前节点包含至少一个子节点;
对所述当前节点的子节点由上向下剪枝,直至叶子节点;
遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。
在其中一个实施例中,根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点;
将所述叶子节点的父节点确定作为当前节点。
在其中一个实施例中,在遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据之后,还包括步骤:
用所述当前节点的父节点作为新的当前节点,返回对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤。
在其中一个实施例中,在所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤之后,还包括:
将各个所述符合的数据与所述查询数据的距离由小到大进行排序,确定出结果数据序列。
在其中一个实施例中,所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤包括:
遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离;
将各个数据中与所述查询数据的距离位于检索范围的数据,确定为符合与所述查询数据之间的距离位于所述检索范围的数据。
在其中一个实施例中,所述根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询指令,确定出所述查询数据与所述支撑点序列的距离;
根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点。
在其中一个实施例中,所述根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询数据与所述支撑点序列的距离,利用度量空间索引数据降维方法,确定出所述查询数据归属的叶子节点。
在其中一个实施例中,在所述获取当前节点之后,还包括:
标记所述当前节点。
在其中一个实施例中,一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述高维数据检索方法的步骤。
在其中一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述高维数据检索方法的步骤。
上述高维数据检索方法、计算机设备和存储介质,通过获取查询指令,所述查询指令包括:查询数据及检索范围;获取当前节点,所述当前节点包含至少一个子节点;对所述当前节点的子节点由上向下剪枝,直至叶子节点;遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。通过当前节点,并由上向下进行剪枝,从而实现快速查找相似数据。解决了线性遍历大规模、高维度的数据并逐一计算与查询数据之间距离的过程对于计算资源消耗极大,查询效率低的问题。
附图说明
图1为一个实施例中高维数据检索方法的流程示意图;
图2为一个实施例中高维数据检索方法的流程示意图;
图3为一个实施例中MIndex的Dynamic Cluster-tree存储结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
请参阅图1,一种高维数据检索方法,所述方法包括步骤S210-S240:
步骤S210,获取查询指令,所述查询指令包括:查询数据及检索范围。
其中,通过用户输入的查询指令,查询指令中包括查询数据q,检索范围r,查询数据是指需要查找的数据中的相关信息;检索范围是指选择一个搜索范围。
步骤S220,获取当前节点,所述当前节点包含至少一个子节点。
在其中一个实施例中,根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点;将所述叶子节点的父节点确定作为当前节点。
在其中一个实施例中,标记所述当前节点。
具体地,根据所述查询指令,确定出所述查询数据与所述支撑点序列的距离;根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点。其中,根据所述查询数据与所述支撑点序列的距离,利用度量空间索引数据降维方法,确定出所述查询数据归属的叶子节点。计算查询数据q到支撑点序列P[0,1,…,n-1]的距离,结合度量空间索引数据降维方法,快速在索引树中找到查询数据所归属的叶子节点l,取其父节点为当前节点current_node;所述查询数据与所述支撑点序列的距离为由用户自定义距离函数,可以是欧式距离、余弦夹角距离等,满足度量空间定义的距离函数均可以适用;度量空间索引数据降维方法为特定的度量空间索引结构采用的相应数据降维方法。
步骤S230,对所述当前节点的子节点由上向下剪枝,直至叶子节点;
在其中一个实施例中,将当前节点current_node进行标记,利用剪枝条件对当前节点curr□n t_node的子节点由上向下进行剪枝,直到叶子节点,标记的节点不再进行二次访问。
具体地,基于当前节点由上向下进行剪枝的过程,其中利用剪枝条件对当前节点的子节点由上向下进行剪枝,通常基于支撑点的度量索引结构会利用度量空间三角不等式的性质,例如MIndex,采用的就是双支撑点进行剪枝。
步骤S240,遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。
在其中一个实施例中,遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离。将各个数据中与所述查询数据的距离位于检索范围的数据,确定为符合与所述查询数据之间的距离位于所述检索范围的数据。
具体地,对叶子节点下的数据进行线性遍历,并逐一计算这些高维数据与q之间的距离,筛选出符合与q之间距离小于r的数据,并进行标记。
上述高维数据检索方法,通过获取查询指令,所述查询指令包括:查询数据及检索范围;获取当前节点,所述当前节点包含至少一个子节点;对所述当前节点的子节点由上向下剪枝,直至叶子节点;遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。通过当前节点,并由上向下进行剪枝,从而实现快速查找相似数据。解决了线性遍历大规模、高维度的数据并逐一计算与查询数据之间距离的过程对于计算资源消耗极大,查询效率低的问题。
在其中一个实施例中,请参阅图1,一种高维数据检索方法,在遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据之后,还包括步骤S250:
步骤S250:用所述当前节点的父节点作为新的当前节点,返回对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤。
其中,基于当前节点current_node向上查找得到父节点parent_node,对父节点parent_node,的子节点利用剪枝条件进行剪枝,如果父节点parent_node,的子节点中存在与当前节点current_node同层的其他子节点符合剪枝条件,也即子节点没有被标记过,依次对这些满足剪枝条件的子节点进行由上向下的剪枝,执行步骤S230。
具体地,如果当前节点存在兄弟节点满足剪枝条件,则需要进一步向上查找,直到没有兄弟节点满足剪枝条件,结束查找。
在其中一个实施例中,请参阅图1,一种高维数据检索方法,在所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤之后,还包括步骤S260:
将各个所述符合的数据与所述查询数据的距离由小到大进行排序,确定出结果数据序列。
其中,对各个所述符合的数据进行排序,排序规则为各个所述符合的数据到查询数据q之间的距离由小到大排列,算法最终返回一个与q距离之间有序的、由小到大排列一个数据序列,也就是一个与q之间的相似度由小到大的一个数据序列。
在其中一个实施例中,高维数据检索方法以支撑点为基础、采用树结构存储的度量空间索引,所述度量空间索引结构特征如下:
1)基于支撑点进行数据的划分;
2)采用树型存储结构,特别是采用B+-Tree的索引存储结构;
3)相似度高的数据,在树型存储结构中分布集中,多存储在相同的叶子节点或者具有多个相同祖先节点,存储路径上存在一定数量的公共节点。
上述高维数据检索方法,不仅适用于采用内存存储的索引结构,同样适用于非内存存储的索引结构的快速范围检索。对于小范围的数据检索具备极佳的剪枝性能,相对于同样采用非内存存储的索引结构的算法,性能可以达到多个数量级的提升,从而解决更大规模数据索引的问题。
上述高维数据检索方法,利用了度量空间索引相似数据分布集中的特征,通过计算查询数据到支撑点的距离,结合度量空间索引数据降维方法,快速在度量空间索引树中找到查询数据所归属的叶子节点;由相似数据所在底层节点,自底向上查找,并由上向下进行剪枝,从而实现快速查找相似数据。
为更清楚的理解本申请,提供下述实施例,并不限定于本申请。
一种高维数据检索方法,基于支撑点的度量空间索引构建,需要采取一种支撑点选择算法,通过支撑点选择算法得到一个支撑点序列,本实施例基于MIndex构建度量空间索引,采用Incremental selection算法,设置支撑点数为16,B+-Tree最大层级为10,叶子节点容量为512,在构建索引时,当叶子节点数据超过512,将自动***,当前叶节点向下增加1层,由于MIndex采用的是动态B+-Tree分层结构进行数据索引存储,如果当前叶节点达到最大层级,将不再向下***,新增数据直接写入叶节点下。因此,为了利用MIndex构建一棵数据分布均衡的B+-Tree,需要考虑数据的规模,根据数据规模调整支撑点数、最大层级以及叶节点容量。如果需要索引较大规模的数据,可以设置大的支撑点数,增大B+-Tree最大层级,增加叶节点容量。
索引构建完毕,请参阅图2,高维数据检索方法的步骤如下:
1)输入:查询数据(即请求数据)q,检索范围r;
2)计算查询数据q到支撑点序列pivot[0,1,…,15]中支撑点pivot的距离,得到q与各支撑点之间距离的序列Pd[0,1,…,15];
3)对Pd[0,1,…,15]按距离递增进行排序,得到一个与q之间距离由小到大的支撑点序列Ps[0,1,…,14],Pd[0]即为距离q最近的支撑点pivot;
4)利用Ps[0,1,…,15],找到B+-Tree的相应叶子节点l,对应支撑点p[i],其中0<i<n,参照图3(其中,图3描述了一个5层MIndex的Dynamic Cluster-tree结构,与查询数据q之间的距离由小到大排列的支撑点序列P=[1,2,15,0,5,4,8,3,12,9,6,13,11,7,10,14],寻找与q近似的数据所属叶子节点在Cluster-tree上的查找路径则如图3所示,通过P序列的前缀匹配很容易找到查询数据归属底层叶子节点C1,2,15,0,5;),Ps[0,1,…,15]揭示了q所归属叶子节点的路径,存储路径与Ps[0,1,…,15]序列的前缀匹配。考虑到相似数据分布集中的特性,叶节点l下存在与q近似的数据,叶节点l的兄弟节点也可能存在与q近似的数据,因此,取该叶节点的父节点为当前节点current_node;
5)将current_node节点加入已处理节点集合V(或标记),利用剪枝条件对当前节点current_node的子节点由上向下进行剪枝,直到叶子节点,子节点在集合V中的节点不再进行二次访问;
6)对符合剪枝条件的叶子节点下的数据进行线性遍历,并逐一计算这些高维数据与q之间的距离,q与叶子节点下的数据x之间的距离满足d(q,x)<,加入结果集合S。其中,本实施例中d(q,x)采用欧式距离:
7)基于当前节点current_node向上查找得到父节点parent_node,对parent_node的子节点利用Double-Pivot进行剪枝,如果parent_node的子节点中存在与current_node同层的其他子节点符合剪枝条件,也即子节点不在已处理节点集合V(或标记)中,依次对这些满足Double-Pivot的叶子节点进行由上向下的剪枝;如果不存在,对结果集合S进行排序并返回结果,算法终止;
8)current_node=parent_node,向上查找,执行步骤5)。
上述高维数据检索方,利用查询数据到支撑点序列的距离,结合度量空间索引数据降维方法,快速找到与请求数据归属的叶子节点,避免自顶向下进行剪枝查找所有符合剪枝条件的叶子节点,并逐一计算这些叶子节点下的全部数据与查询数据之间的距离造成的巨大计算开销。本申请的算法对于相似数据分布集中、检索范围小的情况,查全率比较高,检索性能提升明显。对于小范围的高维数据检索具备极佳的剪枝效果,查全率也可达100%,剪枝效率、检索响应时间可能获得多个数量级的提升。特别适用于大规模高维数据的小范围相似性检索,对于大规模高维数据的小范围相似性检索具有极佳的响应速度和查全率。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种高维数据检索方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取查询指令,所述查询指令包括:查询数据及检索范围;
获取当前节点,所述当前节点包含至少一个子节点;
对所述当前节点的子节点由上向下剪枝,直至叶子节点;
遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点;
将所述叶子节点的父节点确定作为当前节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据之后,还包括步骤:
用所述当前节点的父节点作为新的当前节点,返回对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤之后,还包括:
将各个所述符合的数据与所述查询数据的距离由小到大进行排序,确定出结果数据序列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤包括:
遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离;
将各个数据中与所述查询数据的距离位于检索范围的数据,确定为符合与所述查询数据之间的距离位于所述检索范围的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询指令,确定出所述查询数据与所述支撑点序列的距离;
根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询数据与所述支撑点序列的距离,利用度量空间索引数据降维方法,确定出所述查询数据归属的叶子节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述获取当前节点之后,还包括:
标记所述当前节点。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取查询指令,所述查询指令包括:查询数据及检索范围;
获取当前节点,所述当前节点包含至少一个子节点;
对所述当前节点的子节点由上向下剪枝,直至叶子节点;
遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点;
将所述叶子节点的父节点确定作为当前节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据之后,还包括步骤:
用所述当前节点的父节点作为新的当前节点,返回对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤之后,还包括:
将各个所述符合的数据与所述查询数据的距离由小到大进行排序,确定出结果数据序列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤包括:
遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离;
将各个数据中与所述查询数据的距离位于检索范围的数据,确定为符合与所述查询数据之间的距离位于所述检索范围的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询指令,确定出所述查询数据与所述支撑点序列的距离;
根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述根据所述查询数据与所述支撑点序列的距离,确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询数据与所述支撑点序列的距离,利用度量空间索引数据降维方法,确定出所述查询数据归属的叶子节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述获取当前节点之后,还包括:
标记所述当前节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种高维数据检索方法,所述方法包括:
获取查询指令,所述查询指令包括:查询数据及检索范围;
获取当前节点,所述当前节点包含至少一个子节点;
对所述当前节点的子节点由上向下剪枝,直至叶子节点;
遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据;
所述当前节点的确定方式,包括:
根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点;
将所述叶子节点的父节点确定作为当前节点;
所述根据所述查询指令,在索引树中确定出所述查询数据归属的叶子节点的步骤包括:
根据所述查询指令,确定出所述查询数据与支撑点序列的距离;
根据所述查询数据与所述支撑点序列的距离,利用度量空间索引数据降维方法,确定出所述查询数据归属的叶子节点。
2.根据权利要求1所述的高维数据检索方法,其特征在于,在遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据之后,还包括步骤:
用所述当前节点的父节点作为新的当前节点,返回对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤。
3.根据权利要求1所述的高维数据检索方法,其特征在于,在所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤之后,还包括:
将各个所述符合与所述查询数据之间的距离位于所述检索范围的数据与所述查询数据的距离由小到大进行排序,确定出结果数据序列。
4.根据权利要求1所述的高维数据检索方法,其特征在于,所述遍历各所述叶子节点中的数据,获得符合与所述查询数据之间的距离位于所述检索范围的数据的步骤包括:
遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离;
将各个数据中与所述查询数据的距离位于检索范围的数据,确定为符合与所述查询数据之间的距离位于所述检索范围的数据。
5.根据权利要求1-4任一项所述的高维数据检索方法,其特征在于,在所述获取当前节点之后,还包括:
标记所述当前节点。
6.根据权利要求1所述的高维数据检索方法,其特征在于,所述对所述当前节点的子节点由上向下剪枝,直至叶子节点的步骤,包括:
利用双支撑点对当前节点的子节点由上向下进行剪枝,直到叶子节点。
7.根据权利要求4所述的高维数据检索方法,其特征在于,所述遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离,包括:
通过线性遍历的方式遍历各所述叶子节点中的数据,确定出叶子节点中的各个数据与所述查询数据的距离。
8.一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述高维数据检索方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述高维数据检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810156823.1A CN108460123B (zh) | 2018-02-24 | 2018-02-24 | 高维数据检索方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810156823.1A CN108460123B (zh) | 2018-02-24 | 2018-02-24 | 高维数据检索方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108460123A CN108460123A (zh) | 2018-08-28 |
CN108460123B true CN108460123B (zh) | 2020-09-08 |
Family
ID=63217140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810156823.1A Active CN108460123B (zh) | 2018-02-24 | 2018-02-24 | 高维数据检索方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108460123B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109599184A (zh) * | 2018-11-09 | 2019-04-09 | 金色熊猫有限公司 | 患者诊疗数据的筛选方法、装置、电子设备、存储介质 |
CN111582224A (zh) * | 2020-05-19 | 2020-08-25 | 湖南视觉伟业智能科技有限公司 | 人脸识别***及方法 |
CN113259481B (zh) * | 2021-06-21 | 2021-10-12 | 湖南视觉伟业智能科技有限公司 | 分布式数据存储方法、***及可读存储介质 |
CN113407786A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 基于欧氏距离的度量空间索引构建方法、装置及相关设备 |
CN113792709B (zh) * | 2021-11-15 | 2022-01-11 | 湖南视觉伟业智能科技有限公司 | 快速大规模人脸识别方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738762B1 (en) * | 2001-11-26 | 2004-05-18 | At&T Corp. | Multidimensional substring selectivity estimation using set hashing of cross-counts |
US8234297B2 (en) * | 2010-03-01 | 2012-07-31 | International Business Machines Corporation | Efficient computation of top-K aggregation over graph and network data |
CN102999542A (zh) * | 2012-06-21 | 2013-03-27 | 杜小勇 | 多媒体数据高维索引及kNN检索方法 |
CN106096065A (zh) * | 2016-07-29 | 2016-11-09 | 贵州大学 | 一种多媒体对象的相似检索方法及装置 |
-
2018
- 2018-02-24 CN CN201810156823.1A patent/CN108460123B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738762B1 (en) * | 2001-11-26 | 2004-05-18 | At&T Corp. | Multidimensional substring selectivity estimation using set hashing of cross-counts |
US8234297B2 (en) * | 2010-03-01 | 2012-07-31 | International Business Machines Corporation | Efficient computation of top-K aggregation over graph and network data |
CN102999542A (zh) * | 2012-06-21 | 2013-03-27 | 杜小勇 | 多媒体数据高维索引及kNN检索方法 |
CN106096065A (zh) * | 2016-07-29 | 2016-11-09 | 贵州大学 | 一种多媒体对象的相似检索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108460123A (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460123B (zh) | 高维数据检索方法、计算机设备和存储介质 | |
Liu et al. | I-LSH: I/O efficient c-approximate nearest neighbor search in high-dimensional space | |
CN103744934A (zh) | 一种基于位置敏感哈希的分布式索引方法 | |
CN106503223B (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN103345496B (zh) | 多媒体信息检索方法和*** | |
CN108304409B (zh) | 一种基于进位的Sketch数据结构的数据频度估计方法 | |
CN107506490B (zh) | 滑动窗口下基于位置top-k关键词查询的优先查询算法及*** | |
CN107330094B (zh) | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN107633068B (zh) | 滑动窗口下基于位置top-k关键词查询的快速索引方法及*** | |
CN106991149B (zh) | 一种融合编码和多版本数据的海量空间对象存储方法 | |
CN110909266B (zh) | 深度分页的方法、装置及服务器 | |
Abbasifard et al. | Efficient indexing for past and current position of moving objects on road networks | |
WO2022217748A1 (zh) | 一种度量空间支撑点性能衡量方法、装置及相关组件 | |
CN114049463A (zh) | 一种二叉树的数据网格化、网格点数据的获取方法及装置 | |
JP2010277329A (ja) | 近傍探索装置 | |
Gao et al. | LMSFC: A novel multidimensional index based on learned monotonic space filling curves | |
Singh et al. | Simp: accurate and efficient near neighbor search in high dimensional spaces | |
Zhu et al. | Top-k reliability search on uncertain graphs | |
CN104794237A (zh) | 网页信息处理方法及装置 | |
CN105808631A (zh) | 一种数据依赖的多索引哈希算法 | |
Zhang et al. | An optimized query index method based on R-tree | |
CN114595215A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114417074A (zh) | 高维度量空间数据的快速knn检索方法及*** | |
Li et al. | A new R-tree spatial index based on space grid coordinate division |
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 |