CN103455531A - 一种支持高维数据实时有偏查询的并行索引方法 - Google Patents
一种支持高维数据实时有偏查询的并行索引方法 Download PDFInfo
- Publication number
- CN103455531A CN103455531A CN2013100415166A CN201310041516A CN103455531A CN 103455531 A CN103455531 A CN 103455531A CN 2013100415166 A CN2013100415166 A CN 2013100415166A CN 201310041516 A CN201310041516 A CN 201310041516A CN 103455531 A CN103455531 A CN 103455531A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- inquiry
- query
- hash function
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于索引技术领域,提供了一种支持高维数据实时有偏查询的并行索引方法,所述方法包括:查询***使用MapReduce等方法对数据属性进行特征抽取作为输入,由查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数构建并行索引,通过有向聚类映射方法将有偏查询所携带的距离改变投影以映射到该查询***的多个索引服务器中;如果所述映射的误差超过用户能够接受的范围,查询***将有偏查询提交并行组合的索引服务器分别处理;并行组合的索引服务器按用户给出的权重的比例分别返回经筛选后的结果,然后对所有返回的结果进行计算与合并,确保在确定的时间内返回查询响应的结果。本发明技术方案具有能够处理海量数据的优点。
Description
技术领域
本发明属于搜索技术领域,尤其涉及一种支持高维数据实时有偏查询的并行索引方法。
背景技术
高维数据:指属性(特征)多于20维的数据。各种类型的交易数据、社交网络信息、Web文档和使用数据、地理信息、文档词频数据、用户评分数据、多媒体数据等呈现出多源、海量、异构(非结构化的数据模型)与高维的特征即它们的维度(属性)通常可以达到成百上千维,甚至更高,造成各种应用中需要检索的数据日益复杂且数据量急剧膨胀。有偏查询:用户基于自身的偏好与在环境交互中的体验,在不同的场景中仅对数据属性中的某些特征维比较关心,选取部分特征(动态选择几个或更多特征)作为检索的要求,同时所选维度也具有了随机(用户定义)的权重,呈现出有偏(Bias-based)查询的特征。KNN相似搜索:K最邻近结点(k-Nearest Neighbor)搜索,不同于范围(Range)搜索,不能预先确定要搜索的范围,即最近邻节点可能很近也可能很远(相对搜索条件而言)。
并行索引:采用多个索引服务器构建索引,索引服务器具备通讯接口可以接受查询命令,每个服务器分别选取部分维度建立索引关系,各个索引服务器间的维度以正交关系为主,避免冗余。相似性度量:相似性度量是衡量两个案例相似的依据,是相似性查询的基础。一方面,相似性度量影响到查询的完备性;另一方面,相似性度量的选择决定了相似性查询能否描述案例中的关系与构建索引的方法。高维数据的相似性度量主要分为两步完成:1)通过一定的形式表示可以度量的特征;2)给出度量接近程度的函数。海量数据:指要处理的数据量规模非常大(记录一般超过100万条)、数据的内容和关系也很丰富,如各种空间数据、交易数据、报表统计数据、文字、声音、图像、超文本等各种环境和文化数据信息。实时性:不仅仅是响应快或者低延迟,更主要的是***必须在限定时间内做出反应,即:在限定的时间内必有响应。hash函数:就是把任意长的输入字符串变化成固定长的输出字符串的一种函数。通俗的说,hash函数用来生成信息的摘要。输出字符串的长度称为hash函数的位数。
现有技术提供的高维数据索引方法主要包括:
以空间划分方法为主的聚类索引
B树、R树、K-D树、X树、M树这些树形索引及其基础上的各种变形,如B+树,R*树等等均采用基于向量或度量空间划分的方法,能够很好的解决低维(少于20维)数据中的索引问题。但是这些索引机制其需要划分的空间随着维数的增加而成指数增长,造成其查找性能随维数增加急剧下降,不能有效的支持高维数据索引。
使用空间填充曲线的索引方法
希尔伯特、Z,Gray等填充曲线法的基本思想是用一维的线来填满二维的平面,从而达到快速查找的目的。但是填充曲线法一方面面临单位空间的数目随着维度增加而成指数增长,另一方面在进行kNN搜索时要查找的相邻空间数目也呈指数增长。由于空间数据稀疏的特性,即使付出很高的地址映射计算代价如采用多条填充曲线,也不能在确定的时间保证完成近邻数据搜索。
位置敏感哈希函数(Locality Sensitive Hashing,LSH)索引方法
在保证较查询高准确性的前提下,时间和空间复杂度得到降低,并且能够很好地支持高维数据的检索,但是预先构建完成的索引机制如何支持用户对任意特征属性的动态组合查询是高维数据索引技术所面临的挑战。
发明内容
本发明实施例的目的在于提供一种支持高维数据实时有偏查询的并行索引方法,旨在解决现有处理海量数据有偏查询搜索中实时性、可扩展性无法满足的问题。
本发明实施例是这样实现的,一种支持高维数据实时有偏查询的并行索引方法,所述方法包括:
查询***使用MapReduce对数据属性进行特征抽取作为输入,由查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数,然后以所述哈希函数优化LSH算法分别构建数据的向量索引,其中,各个索引服务器的向量索引之间形成正交关系;
查询***接收用户的有偏查询,通过有向聚类映射方法将有偏查询所携带的距离改变投影以映射到该查询***的多个索引服务器中;
如果所述映射的误差超过用户能够接受的范围,查询***将有偏查询提交并行组合的索引服务器分别处理;并行组合的索引服务器按所述有偏查询中的用户给出的权重的比例分别返回经筛选后的结果,然后对所有返回的结果进行计算与合并,确保在确定的时间内返回查询响应的结果。
可选的,所述查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数具体包括:
所述哈希函数中的a为一个d维度的向量,且满足稳定分布,所述哈希函数中的b为按数据的密度产生的均匀分布。
本发明实施例与现有技术相比,有益效果在于:本发明具体实施方式提供的技术方案具有实时性好,能够处理海量数据,支持随机有偏查询的优点。
附图说明
图1是本发明具体实施方式提供的支持高维数据实时有偏查询的并行索引方法的流程图;
图2是本发明实施例提供的索引的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明具体实施方式提供一种支持高维数据实时有偏查询的并行索引方法,该方法由查询***完成,该方法如图1所示,包括:
S11、查询***使用MapReduce对数据属性进行特征抽取作为输入,由查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数,优化LSH算法分别构建数据的向量索引,其中,各个索引服务器的向量索引之间形成正交关系;
S12、查询***接收用户的有偏查询,通过有向聚类映射方法将有偏查询所携带的距离改变投影以映射到该查询***的多个索引服务器中;由于有偏查询造成数据间的距离产生相对变化,由预先建立的索引查询出的结果会出现映射误差。
S13、如果所述映射的误差超过用户能够接受的范围,查询***将有偏查询提交并行组合的索引服务器分别处理;并行组合的索引服务器按有偏查询中的用户给出的权重的比例分别返回经筛选后的结果,然后对所有返回的结果进行计算与合并,确保在确定的时间内返回查询响应的结果。
上述查询***中的多个索引服务器根据数据密度弹性划分数据桶的哈希函数的目的是使优化LSH算法能够将集聚的数据尽量均匀分布在数据桶中,确保数据查询的实时性要求。
具体实例如下:一个hash函数,映射一个d维的向量v到一组int值。在这一组中的每个hash函数被索引的方式是由a,b来决定,其中a是一个d维度的向量,在已有的LSH算法中满足于“稳定(stable)分布”,b在已有的LSH算法中是一个均匀分布在区间[0,r]之间的实数。本发明具体实施方式将b修改为按数据的密度产生均匀分布,如根据数据的特点可采用正态分布,这样每一段的长度是不同的,但给定了a,b之后,一个特殊的基于“稳定分布”的位置敏感的hash,就可以通过(a.v+b)/r来产生了,由于b的取值是按密度分布而非常量,这样使得数据能够尽量均匀的分布在各个数据桶中,从而避免数据不均匀带来的查询时间不确定的问题,确保查询能够在确定的时间内必有响应。
其最终的效果就是,给定了一个输入d维的输入v,按数据的密度产生均匀分布结果的int就可以作为对象存放的桶的位置,由于数据桶大小是按照数据的密度而产生均匀分布的,有效解决了已有算法中返回结果忽多忽少与响应时间不确定的问题。
本发明具体实施方式通过一种新的根据数据密度弹性划分数据桶的哈希函数有效解决了已有LSH算法中返回结果的集和中数据非均匀分布的问题,并且提高了内存的使用率,提高了单台索引服务器可处理的数据量。通过采用有向聚类映射的方法减少查询映射的误差,有效减少了索引重构的代价;通过使用并行的索引结构实现了***的可扩展性,确保能够满足用户对高维数据有偏查询的实时性要求。
实施例
本发明实施例提供的索引建立和查询的流程图如图2所示,其中,分为两个部分,离线处理部分和在线处理部分。
离线处理部分:使用(MapReduce等方法)对数据属性进行特征抽取作为输入,由多个索引服务器采用按数据密度(如正态分布)弹性划分数据桶的哈希函数按照LSH算法分别构建数据的向量索引,各个索引服务器的向量索引之间形成正交关系,以支持海量数据的索引。
在线处理部分:当用户的查询到来时首先通过有向聚类映射方法将用户的有偏(带权)查询所带来的距离改变投影到已有索引结构中,以减少索引重构的计算时间;如果映射的误差超过用户能够接受的范围则将查询请求提交并行组合的索引服务器分别处理;索引服务器按权重的比例分别返回经筛选后的数据,然后对返回的结果进行计算与合并,在确定的时间内返回响应,完成实时查询的过程。
值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种支持高维数据实时有偏查询的并行索引方法,其特征在于,所述方法包括:
查询***使用MapReduce对数据属性进行特征抽取作为输入,由查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数,优化LSH算法分别构建数据的向量索引,其中,各个索引服务器的向量索引之间形成正交关系;
查询***接收用户的有偏查询,通过有向聚类映射方法将有偏查询所携带的距离改变投影以映射到该查询***的多个索引服务器中;
如果所述映射的误差超过用户能够接受的范围,查询***将有偏查询提交并行组合的索引服务器分别处理;并行组合的索引服务器按所述有偏查询中的用户给出的权重的比例分别返回经筛选后的结果,然后对所有返回的结果进行计算与合并,确保在确定的时间内返回查询响应的结果。
2.根据权利要求1所述的方法,其特征在于,所述查询***中的多个索引服务器采用数据密度弹性划分数据桶的哈希函数具体包括:
所述哈希函数中的a为一个d维度的向量,且满足稳定分布,所述哈希函数中的b为按数据的密度产生均匀分布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310041516.6A CN103455531B (zh) | 2013-02-01 | 2013-02-01 | 一种支持高维数据实时有偏查询的并行索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310041516.6A CN103455531B (zh) | 2013-02-01 | 2013-02-01 | 一种支持高维数据实时有偏查询的并行索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455531A true CN103455531A (zh) | 2013-12-18 |
CN103455531B CN103455531B (zh) | 2016-12-28 |
Family
ID=49737906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310041516.6A Active CN103455531B (zh) | 2013-02-01 | 2013-02-01 | 一种支持高维数据实时有偏查询的并行索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455531B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281652A (zh) * | 2014-09-16 | 2015-01-14 | 深圳大学 | 度量空间中逐个支撑点数据划分方法 |
CN104391908A (zh) * | 2014-11-17 | 2015-03-04 | 南京邮电大学 | 一种图上基于局部敏感哈希的多关键字索引方法 |
CN104951509A (zh) * | 2015-05-25 | 2015-09-30 | 中国科学院信息工程研究所 | 一种大数据在线交互式查询方法及*** |
CN105740604A (zh) * | 2016-01-22 | 2016-07-06 | 湖南大学 | 基于冗余距离消除和极端点优化的并行k-means聚类方法 |
CN105740428A (zh) * | 2016-01-29 | 2016-07-06 | 北京大学 | 一种基于b+树的高维磁盘索引结构和图像检索方法 |
CN107077479A (zh) * | 2014-09-17 | 2017-08-18 | 华为技术有限公司 | 使用分立数据库***基于查询需求从行存储数据库自适性建立并更新列存储数据库的基于语句的迁移 |
CN109960695A (zh) * | 2019-04-09 | 2019-07-02 | 苏州浪潮智能科技有限公司 | 云计算***中数据库的管理方法和装置 |
CN110046268A (zh) * | 2016-02-05 | 2019-07-23 | 大连大学 | 建立基于倒排位置敏感哈希索引的高维空间kNN查询方法 |
CN110347676A (zh) * | 2019-06-11 | 2019-10-18 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN112733931A (zh) * | 2021-01-07 | 2021-04-30 | 苏州热工研究院有限公司 | 一种核电厂设备监测数据聚类处理方法和电子设备 |
CN113434511A (zh) * | 2021-07-12 | 2021-09-24 | 北京林业大学 | 一种基于希尔伯特曲线的聚类索引方法 |
US11599561B2 (en) | 2016-04-29 | 2023-03-07 | Hewlett Packard Enterprise Development Lp | Data stream analytics |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100070509A1 (en) * | 2008-08-15 | 2010-03-18 | Kai Li | System And Method For High-Dimensional Similarity Search |
CN102200979A (zh) * | 2010-03-26 | 2011-09-28 | 上海市浦东科技信息中心 | 一种分布式并行信息检索***及其方法 |
CN102622414A (zh) * | 2012-02-17 | 2012-08-01 | 清华大学 | 基于对等结构的分布式高维索引并行查询框架 |
-
2013
- 2013-02-01 CN CN201310041516.6A patent/CN103455531B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100070509A1 (en) * | 2008-08-15 | 2010-03-18 | Kai Li | System And Method For High-Dimensional Similarity Search |
CN102200979A (zh) * | 2010-03-26 | 2011-09-28 | 上海市浦东科技信息中心 | 一种分布式并行信息检索***及其方法 |
CN102622414A (zh) * | 2012-02-17 | 2012-08-01 | 清华大学 | 基于对等结构的分布式高维索引并行查询框架 |
Non-Patent Citations (2)
Title |
---|
何云峰 等: "基于位置敏感哈希的分布式高维索引方法研究", 《第八届和谐人机环境联合学术会议》, 31 December 2012 (2012-12-31), pages 1 - 8 * |
王寅峰 等: "一种支持高维数据查询的并行索引机制", 《华中科技大学学报(自然科学版)》, vol. 39, 30 June 2011 (2011-06-30), pages 156 - 160 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281652A (zh) * | 2014-09-16 | 2015-01-14 | 深圳大学 | 度量空间中逐个支撑点数据划分方法 |
CN104281652B (zh) * | 2014-09-16 | 2017-10-17 | 深圳大学 | 度量空间中逐个支撑点数据划分方法 |
CN107077479A (zh) * | 2014-09-17 | 2017-08-18 | 华为技术有限公司 | 使用分立数据库***基于查询需求从行存储数据库自适性建立并更新列存储数据库的基于语句的迁移 |
US10671594B2 (en) | 2014-09-17 | 2020-06-02 | Futurewei Technologies, Inc. | Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems |
CN104391908A (zh) * | 2014-11-17 | 2015-03-04 | 南京邮电大学 | 一种图上基于局部敏感哈希的多关键字索引方法 |
CN104391908B (zh) * | 2014-11-17 | 2019-03-05 | 南京邮电大学 | 一种图上基于局部敏感哈希的多关键字索引方法 |
CN104951509A (zh) * | 2015-05-25 | 2015-09-30 | 中国科学院信息工程研究所 | 一种大数据在线交互式查询方法及*** |
CN105740604A (zh) * | 2016-01-22 | 2016-07-06 | 湖南大学 | 基于冗余距离消除和极端点优化的并行k-means聚类方法 |
CN105740428A (zh) * | 2016-01-29 | 2016-07-06 | 北京大学 | 一种基于b+树的高维磁盘索引结构和图像检索方法 |
CN110059208A (zh) * | 2016-02-05 | 2019-07-26 | 大连大学 | 利用倒排索引筛选出与查询点碰撞次数较高的分布式数据处理方法 |
CN110046268A (zh) * | 2016-02-05 | 2019-07-23 | 大连大学 | 建立基于倒排位置敏感哈希索引的高维空间kNN查询方法 |
CN110046268B (zh) * | 2016-02-05 | 2024-04-05 | 大连大学 | 建立基于倒排位置敏感哈希索引的高维空间kNN查询方法 |
US11599561B2 (en) | 2016-04-29 | 2023-03-07 | Hewlett Packard Enterprise Development Lp | Data stream analytics |
CN109960695B (zh) * | 2019-04-09 | 2020-03-13 | 苏州浪潮智能科技有限公司 | 云计算***中数据库的管理方法和装置 |
CN109960695A (zh) * | 2019-04-09 | 2019-07-02 | 苏州浪潮智能科技有限公司 | 云计算***中数据库的管理方法和装置 |
CN110347676A (zh) * | 2019-06-11 | 2019-10-18 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN110347676B (zh) * | 2019-06-11 | 2021-07-27 | 南京航空航天大学 | 基于关系r树的不确定性时态数据管理与查询方法 |
CN112733931A (zh) * | 2021-01-07 | 2021-04-30 | 苏州热工研究院有限公司 | 一种核电厂设备监测数据聚类处理方法和电子设备 |
CN112733931B (zh) * | 2021-01-07 | 2023-05-16 | 苏州热工研究院有限公司 | 一种核电厂设备监测数据聚类处理方法和电子设备 |
CN113434511A (zh) * | 2021-07-12 | 2021-09-24 | 北京林业大学 | 一种基于希尔伯特曲线的聚类索引方法 |
CN113434511B (zh) * | 2021-07-12 | 2023-08-29 | 北京林业大学 | 一种基于希尔伯特曲线的聚类索引方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103455531B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455531A (zh) | 一种支持高维数据实时有偏查询的并行索引方法 | |
CN107423368B (zh) | 一种非关系数据库中的时空数据索引方法 | |
CN101916261B (zh) | 一种分布式并行数据库***的数据分区方法 | |
CN108600321A (zh) | 一种基于分布式内存云的图数据存储方法和*** | |
CN103995861B (zh) | 一种基于空间关联的分布式数据装置、方法及*** | |
CN102915347B (zh) | 一种分布式数据流聚类方法及*** | |
CN112269792B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
Han et al. | Hgrid: A data model for large geospatial data sets in hbase | |
Wang et al. | Research and implementation on spatial data storage and operation based on Hadoop platform | |
CN103345508A (zh) | 一种适用于社会网络图的数据存储方法及*** | |
CN104036029A (zh) | 大数据一致性对比方法和*** | |
Malensek et al. | Fast, ad hoc query evaluations over multidimensional geospatial datasets | |
CN103617276A (zh) | 一种分布式层次化的rdf数据的存储方法 | |
CN105320702A (zh) | 一种用户行为数据的分析方法、装置及智能电视 | |
CN103559229A (zh) | 基于MapFile的小文件管理服务SFMS***及其使用方法 | |
CN109783441A (zh) | 基于Bloom Filter的海量数据查询方法 | |
CN103870557A (zh) | 基于数据库的电子档案存储*** | |
Kumar et al. | M-Grid: a distributed framework for multidimensional indexing and querying of location based data | |
CN103279489A (zh) | 一种元数据的存储方法、装置 | |
US20140280158A1 (en) | Systems and methods for managing large volumes of data in a digital earth environment | |
Kocon et al. | Point cloud indexing using Big Data technologies | |
CN102831225A (zh) | 云环境下的多维索引结构、其构建方法及相似性查询方法 | |
He et al. | Dynamic multidimensional index for large-scale cloud data | |
Sun et al. | Handling multi-dimensional complex queries in key-value data stores | |
CN105354310A (zh) | 基于MapReduce的地图瓦片存储布局优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |