CN106095920B - 面向大规模高维空间数据的分布式索引方法 - Google Patents
面向大规模高维空间数据的分布式索引方法 Download PDFInfo
- Publication number
- CN106095920B CN106095920B CN201610406826.7A CN201610406826A CN106095920B CN 106095920 B CN106095920 B CN 106095920B CN 201610406826 A CN201610406826 A CN 201610406826A CN 106095920 B CN106095920 B CN 106095920B
- Authority
- CN
- China
- Prior art keywords
- space
- tree
- node
- host
- metric
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2264—Multidimensional index structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向大规模高维空间数据的分布式索引方法,所述的方法包括以下步骤:步骤一、在度量空间中按照边缘选取法选取划分优势点N;步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树;步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点树;步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求首先发送到主引导主机。本发明提出的分布式多优势点树模型具有良好的性能表现,与分布式多优势点树(1,2)模型比多优势点树时间消耗减少约一半。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种面向大规模高维空间数据的分布式索引方法。
背景技术
随着无线通信技术和移动终端技术的飞速发展,移动互联网应运而生并迅猛发展。随之而来的是数据量急速膨胀,这对传统数据处理方法带来严峻的挑战。在度量空间中,如何进行高维向量的相似性检索问题一直是数据处理与检索领域中的热点。在地理信息系统、图像检索、多媒体数据库、模式识别、超大规模集成电路、生物基因数据库等众多领域都有广泛的应用。中将音乐旋律提取高维特征,然后用户哼唱歌曲的旋律同样提取出特征到已有数据库中进行相似性匹配,最终根据相似性程度返回一个音乐列表。此外,谷歌以图搜图系统也是另一种高维信息相似性检索的典型应用。
常见的高维信息索引方法都试图使查询达到近乎线性的增长,以应对数据膨胀。伴随着移动互联网信息时代的到来,且数据记录采集设备的不断普及,各种社会记录、多媒体、科学计算等数据爆炸性增长,使得这一问题变得更加尖锐。现有高维索引结构主要分为两种方法:基于哈希的索引和树结构索引。基于哈希的索引结构,利用哈希表和哈希函数将存储位置与它的关键字之间建立一个确定关系。这是一种近似最近邻查询方案,无法返回完全精确的结果,除此之外,基于哈希的方法占用内存空间开销非常之大,尤其是数据量爆炸式增长的情况。当无法提供足够的内存空间用于索引时,系统将频繁置换出较少使用的页块到硬盘,导致性能下降。极端情况下,基于哈希的索引时间效率会下降到接近线性查找程度,这种情况下基于哈希索引结构无法应对大规模数据场景。树结构的索引是将度量空间按照一定的算法进行划分,常见的树结构有k维树、R树、度量空间树、优势点树和多优势点等。K维树每个节点维度都为k的二叉树,所有非叶子节点都可以看作是一个超平面,将高维空间分成两部分。K维树的缺点是邻接表过大,占用存储空间较多,而分割面中间值的选择对于查询性能影响很大。同时,随维度增加,划分粒度较小时,效率下降严重。R树是一种和二叉树相似的平衡树,树中每个节点可以看作一个k维矩形。R树适合于范围查询,但由于超矩形相互重叠,不能保证唯一的搜索路径,会导致整棵树的性能退化。为了修正R树缺点,Sellis提出R+树、Beckmann提出的R*树等。尽管对R树进行改进,当维数增加到20以上时,性能也开始下降。Bozkaya等提出优势点树索引结构,优势点树利用度量空间三角不等式性质进行数据空间过滤,将查询剪枝,从而达到高效检索效果。多优势点树是基于优势点树的改进,对于之前的K树、R树和优势点树都有一个共同的缺点是每个节点扇出太少,以至于树层次过高,查询效率降低。多优势点使用多个分割点进行分区,并在每个节点保存与之相对应的分区节点距离信息,用于有效过滤查询,从而提高检索性能。通过合理的选择分区支点,多优势点的性能要表现要好于其他空间索引树结构。除了进行空间划分与映射之外,还有通过共享最近邻搜索方法、充分利用硬件加速、压缩数据来减少访问次数等方法。通过特征选择和特征抽取可对数据进行降维操作也是常见应对高维数据的方法。
面对大规模海量高维数据的查询检索,传统空间划分和映射方法、信息降维、信息压缩等方法已变得不再高效。仅仅在一种数据结构上进行结构优化或对高维信息进行降维、压缩都只能暂时的缓解问题。随着数据量的增加和维度膨胀,这些优化都会显得杯水车薪。如何进行分布式并行度量空间索引,国内外学者鲜有研究。
发明内容
本发明克服了现有技术的不足,提供一种面向大规模高维空间数据的分布式索引方法。
将多台机器进行整合,并行的进行分布式索引,极大的提高的索引性能。此外,还可通过增加次空间划分数目来应对数据膨胀问题。实验也表明分布式多优势点树D-MVP模型可以有效的解决大规模高维空间索引难题,为分布式度量空间索引提供了很有价值的借鉴意义。
为解决上述的技术问题,本发明采用以下技术方案:
一种面向大规模高维空间数据的分布式索引方法,所述的方法包括以下步骤:
步骤一、在度量空间中按照边缘选取法选取划分优势点N;
步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;
步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树;
步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点树;
步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求首先发送到主引导主机;主引导主机根据建立的主空间索引树判断需要插入到哪台从节点机器上;然后将插入请求发送至相应的从节点主机;所述从节点主机收到请求后,将新的度量空间对象插入到自身的空间索引树上。
更进一步的技术方案是还包括步骤六、当有用户的检索请求时:
首先将检索指令发送到主引导主机;主引导主机根据自身构建的主空间划分索引树进行检索;直至查询节点为叶节点为止;最后返回从节点主机信息集合到用户;用户请求所述从节点主机,从节点主机得到请求,按照多优势树检索算法进行检索;最终返回用户检索结果集合。
更进一步的技术方案是所述主引导主机根据自身构建的主空间划分索引树进行检索步骤包括:若查询请求中的度量空间对象与根节点对象的距离加上检索请求中的距离之和大于等于根节点的空间划分半径,则递归查询右子树;
若查询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差小于等于根节点的空间划分半径,则递归查询左子树。
更进一步的技术方案是所述分布式多优势点树采用D-MVP(Mn,Sn)表示Mn个主
引导主机,Sn个从节点的模型。
与现有技术相比,本发明实施例的有益效果之一是:本发明基于多优势点树结构提出高可扩展的面向大规模高维空间数据的分布式索引模型分布式多优势点树:首先将高维空间进行基本浅层次划分,上层已划分索引结构存放在主服务器(本发明称为主引导主机),分割后的分区分布部署到各个分布式机器(本发明称为从节点)。以树形结构对整个分布式系统中的机器进行管理,对于用户的插入与查询操作由主引导主机进行导引,主引导主机根据区域划分算法指定需要到哪些从节点上进行查询或插入到哪台从节点。
在大规模高维空间数据上实验表明,本发明提出的分布式多优势点树模型具有良好的性能表现,与分布式多优势点树(1,2)模型比多优势点树时间消耗减少约一半。在大规模数据和高并发情况下,插入和查询操作都有明显提升,同时面对数据容量的爆炸性增长也可以做到良好的高可扩展性。通过调整空间划分数目,即可方便的应对数据增长。这也为大规模高维分布式空间信息检索研究提供了有价值的借鉴意义。
附图说明
图1为本发明一个实施例中绘图检索原图。
图2为本发明一个实施例中绘图检索用户绘草图。
图3为本发明一个实施例中MVP空间划分图。
图4为本发明一个实施例中一种索引树的空间划分示意图。
图5为本发明一个实施例中一种索引树的空间划分示意图。
图6为本发明一个实施例中一种索引树的空间划分示意图。
图7为本发明一个实施例中D-MVP空间划分图。
图8为本发明一个实施例中D-MVP空间划分图。
图9为本发明一个实施例中D-MVP模型框架示意图。
图10为本发明一个实施例中中心法切割中心点选择策略示意图。
图11为本发明一个实施例中边缘法切割中心点选择策略示意图。
图12为本发明一个实施例中外部法切割中心点选择策略示意图。
图13为本发明一个实施例中局部热点负载均衡示意图。
图14为本发明一个实施例中局部热点负载均衡示意图。
图15为本发明一个实施例中度量空间划分2个区域后的区域着色图。
图16为本发明一个实施例中度量空间划分4个区域后的区域着色图。
图17为本发明一个实施例中度量空间划分8个区域后的区域着色图。
图18为本发明一个实施例中64维数据进行的MVP-Tree与D-MVP(1,2)最近邻查询耗时图。
图19为本发明一个实施例中128维数据进行的MVP-Tree与D-MVP(1,2)最近邻查询耗时图。
图20为本发明一个实施例中D-MVP(1,2)和D-MVP(1,4)最近邻查询时间耗时图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
下面结合附图及实施例对本发明的具体实施方式进行详细描述。
首先公开相关概念与问题定义
本发明主要对系统模型中的一些基本概念进行定义说明,其中包括度量空间定义、最近邻查询与多优势点树构造与查询算法。
在数学中,度量空间是指一个集合,该集合内的元素间距离可定义。度量空间的定义如下:
定义1.(度量空间)设X是一个集合,X集合上的度量函数d:X×X→R,其中x,y,z∈X:
(1)正定性:d(x,y)≥0且d(x,y)=0当且仅当x=y;
(2)对称性:d(x,y)=d(y,x);
(3)满足三角不等式:d(x,y)+d(y,z)≥d(x,z)。
则称(X,d)为度量空间。
在相同X集合上,可通过指定不同的度量函数d,来代表不同度量空间。本发明使用度量函数为欧几里得距离。设欧几里得度量函数d:Rn×Rn→R可表示为:
其中,
x=(x1,x2,...,xn),y=(y1,y2,...,yn),x,y∈X。
本发明将文本、图片、视频等可进行特征提取的事物称为对象。在表示对象时,会提取该对象特征点。特征点的数量根据用户需求和对象特征复杂程度而定,少则两三个,多至成百上千。特征值一般采用向量形式表示,因而特征值的运算可以想象成高维空间中的运算。提取出特征值向量集合即是上文中提到的空间集合X。为能够表征对象更多信息,常提取尽可能多的信息,因而所造成的结果是维度增加,这样最终导致“维度灾难”。
近邻查询是指给定查询项,从度量空间(X,d)中找出与之距离最近的k个对象。
定义2.最近邻查询设对象特征值集合X={X1,X2,...,Xn}和度量函数dO,则度量空间为(X,d)。给定查询对象特征向量Y和距离r,返回所有与Y距离小于r的对象集合{Xi|Xi∈X且d(Xi,y)≤r}。r通常代表相似程度或容限系数。
在某些绘图检索数据库中,用户绘出图画,到数据库中去检索与之类似的图像。假如想要查找图1梵高的《乌鸦群飞的麦田》,用户知道画的上部为深蓝色天空,下部为黄色麦田,因而绘出如图2所示的草图用于查找,数据库则会根据图片特征值的相似性,按照相似性大小排序返回一个图片集合。
本发明构造了分布式多优势点树高维空间检索模型,在实验部分使用最近邻查询来验证模型的有效性,实验结果表明分布式多优势点树模型对于高维索引,尤其是大规模高维数据性能较于其他传统模型有很大提升,并具有高可扩展性。
分布式多优势点树模型从节点中度量空间索引结构使用多优势点树创建,故在此着重介绍多优势点树的构造与检索。
常见的度量空间索引树包含K维树、R树、优势点树和多优势点树等。本发明仅对这四种具有代表性的树进行简单介绍,并着重说明多优势点树的构造与检索。
K维树是一棵二叉树,每个节点代表一个高维空间范围。通过空间集合中点所在的超平面对空间进行划分,以二维空间为例,分解后的空间如图3所示。K维树缺点较为明显,其对数据点的插入顺序十分敏感,数据遍布整棵树节点上,对于一些场景实用性不强,并很难找到较为均衡的切割平面。R树采用最小边界矩阵方法对空间进行划分。二维空间划分结果如图4所示。R树及其变种最严重的问题是不同点所对应的矩阵边界有大量的重叠,当维数增加的时候,这种情况变得愈加严重。在进行检索时要访问多个节点子树,使性能降低。优势点树利用球形划分方法对度量空间划分,划分过程借助度量空间中目标点集与优势点之间的距离进行,对二维空间划分结果如图5所示。
多优势点树是基于优势点树的改进。由于优势点树扇出太小,致使树高度太高,随着分区划分数量增加,检索性能也随之下降。多优势点树通过增加优势点数目和节点输出能力来提高性能。多优势点树同时在节点中保存了其与优势点的距离,以避免查询时进行多次运算。多优势点树的性能较于其他检索结构性能更好,因而本发明选取多优势点树作为从节点空间索引树的基本结构。算法1为多优势点树创建过程,算法2为优势点树检索过程。多优势点树通过选择两个节点进行空间划分,每个节点保存两层划分结构,从而降低树高度。在二维空间上的划分实例如图5所示。多优势点树的构造算法如表1所示。
表1
表2多优势点树的近邻查询算法
本发明从模型框架、空间划分、插入与检索机制、扩展性等几方面对分布式多优势点树进行介绍,并探讨模型构思过程中所遇问题与解决方案的选择。
分布式多优势点树模型同样是借助于树结构将度量空间进行划分,如图10所示。对空间索引树进行水平切割,上层浅层次划分空间本发明称之为“主空间”,下部划分出的空间本发明称之为“次空间”。图10中将度量空间划分成为8个次空间,在实际应用中可以根据现实需求进行调整。对索引树的切割平面越靠近根节点,划分出的次空间数目越少,则每个次空间就越大,分布式机器负载就越重。主空间保存在主引导主机中,主引导主机负责对用户提交的插入与查询操作进行导引,并对整个系统进行监控与负载均衡。划分好的次空间分别放置于分布式从机器集群上,分布式从机器会对分配到的空间构建多优势点树索引,用于其所管辖空间的对象插入与查询。图11是以圆形向外扩展的索引树,中间阴影部分保存在主引导主机中作为基本索引。四周扩散的8种颜色代表八个次空间,是存储在分布式从机器上的多优势点树索引。
分布式多优势点树模型度量空间索引模型框架如图13和14所示,用户的请求首先发送到主引导主机(图13和14中实际为主引导集群,内包含多个主引导主机),然后主引导主机根据自身存储的索引结构进行相应操作。在插入操作时,主引导主机将按照度量空间划分原则将点插入相应的分布式从节点。当用户请求检索操作时,主引导主机根据查询算法返回给用户相应的从查询接口,由用户向相应的从节点寻求检索结果,以减轻主引导主机负担。
具体的,如图6至20所示,本实施例面向大规模高维空间数据的分布式索引方法,包括以下步骤:
(1)在度量空间中按照边缘选取法选取一定的划分优势点N;
(2)根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;
(3)空间划分好后,根据划分的空间结构在主引导主机构造主空间索引树;
(4)将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点树;优选的,多优势点树D-MVP(Mn,Sn)表示Mn个主引导主机,Sn个从节点的模型,主引导主机数目和从节点数目根据数据量进行扩充或缩减。
(5)当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求会首先发送到主引导主机;主引导主机会根据建立的主空间索引树来判断需要插入到哪台从节点机器上;然后将插入请求发送至相应的从节点主机;从节点主机收到请求后,将新的度量空间对象插入到自身的空间索引树上;
(6)当有用户的检索请求时;首先将检索指令发送到主引导主机;主引导主机根据自身构建的主空间划分索引树进行检索;若查询请求中的度量空间对象与根节点对象的距离加上检索请求中的距离之和大于等于根节点的空间划分半径,则递归查询右子树;若查询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差小于等于根节点的空间划分半径,则递归查询左子树;直至查询节点为叶节点为止;此叶节点即从节点主机信息,最后返回从节点主机信息集合到用户;用户最终会去请求这些从节点主机,从节点主机得到请求,按照多优势树检索算法进行检索;最终返回用户检索结果集合。
进一步的,本发明主空间划分策略并非采用的多优势点树方法,而是采用较其更为简单的策略。首先在整个度量空间中确定一个中心切割点和距离半径,将度量空间划分为两块。然后分别递归确定切割点和划分半径对已划分好的度量空间再次分割,直至达到指定的次空间数目。
主空间划分将决定着分布式机器负载是否均衡。主空间划分的层次也将决定着次空间的数量。若数据规模极大,则可划分更多的次空间以便使负载均衡到更多分布式从机器上。
本发明主空间切割采用的是静态切割方法,即预先选取好切割中心点。度量空间将被静态的划分成指定数量的次空间。因而切割中心点的选取将影响到空间划分的均衡性问题。最简单的切割中心点的选取为随机选取,但有学者认为谨慎的选择切割中心点将产生更好的检索性能,这样代价会很高,而且与具体数据在度量空间的分布有关。常见的分割策略如图15至17所示,以二维空间欧几里得距离为例。若度量空间里的点均匀分布,则应将切割中心点选择在靠近度量空间的角落位置,如图15所示。与从中心选择相比,降低了出现在度量空间的边界,可增加检索效率。若切割点可从度量空间外选择,也将产生良好的效果。若距离一定远,用超平面切割出的两个度量空间可以看作趋于相同,如图17所示。除切割中心点的选择外,切割半径也将对模型的性能产生影响。半径的选择与切割中心点的选择策略相关,如果空间中点均匀分布,尽可能将空间等大小划分,则负载也较为均衡。
当用户需要插入一个新的对象时,插入请求会发送到主引导主机。主引导主机根据空间划分结果,通过查询索引树求出其所落在的次空间区域,然后将插入信息传送到相应的从节点。从节点收到请求后将节点插入到其自身空间索引树中。
空间划分后的另外一个重要问题是如何处理用户的近邻检索请求。当用户请求检索时,首先将检索指令发送到主引导主机。主引导主机根据自身构建的主空间划分索引树按照算法3进行计算,返回需要检索的从机器接口信息。然后客户端封装好的接口函数会自动根据主引导主机返回从信息去请求数据。从节点收到请求后,按照算法2检索查询节点的近邻集合。算法3返回的从数目并不一定只有一个,当查询对象Y位于度量空间划分超平面附近时,则需要从多个从节点上寻找近邻。主空间索引算法如表3所示。
表3
分布式多优势点树模型的高可扩展性主要表现为三部分:面对大规模数据扩展、面对高并发操作和局部热点问题。
在数据量急速膨胀,当前机器集群整体负载过重,无法及时有效的提供服务时,可通过增加主空间划分层次数目来解决。划分层次变大,划分出的次空间数目也将变多,增加分布式Slave节点来均衡负载,将大规模数据分散到更多的集群上。
由于主空间划分为静态划分,所以主引导主机中创建的索引在运行过程中不会轻易改变,除非需要重新对度量空间进行划分。在面对高并发操作时,主引导主机要处理所有用户的查询与插入请求,必然面临着请求耗时过长,甚至资源耗尽的情况。因而可以将主引导主机进行复制,如图13和14所示。客户端请求接口可采用多种方案选择主引导主机,如随机、轮询、最轻负载等方案。现实世界中,数据的分布并不均匀,由于某些特殊场景,局部热点访问也可能经常发生,这将导致各从机器负载不均衡问题。对于这种情况,分布式多优势点树模型可以很方便的对Slave机器进行合并与拆分。如图18和19所示,图18左侧深色为负载过重的从节点,为减轻其负载,将主空间最左分支再进行二次划分,变为两块新的次空间,如图19所示。从节点合并有两种策略。拥有共同父亲的从节点和上升合并到成一个从节点。若没有共同父亲,则可将两个甚至多个从机器上的多优势点树放置于一台机器上。
为说明分布式多优势点树模型的有效性,本实施例实验将分布式多优势点树模型与多优势点树算法比较,并通过调节分布式多优势点树参数进行对比实验。分布式多优势点树模型可通过调整主引导主机数目和从节点数目来应对不同的应用场景。实验中距离度量采用的欧几里得距离进行计算,实验具体细节将在本节中进行说明。
本发明分布式多优势点树D-MVP(Mn,Sn)表示Mn个主引导主机,Sn个从节点的模型。机器的软硬件环境如表4所示,实验将根据Mn和Sn的值选取表4中数台机器进行。
表4.实验软硬件环境
CPU | 因特尔酷睿i5-3470@3.2GHz*4 |
内存 | 16G |
操作系统 | 64位Linux 12.04 |
编程语言 | C |
本发明实验中采用了人工数据集进行实验。人工数据集根据实验需要随机生成不同维度,不同数量的数据进行实验,以验证模型的有效性。本发明分别在64维和128维向量数据集上进行实验,每个维度取值为0~9之间的随机数。
由于多优势点树索引结构的性能较于优势点树、R树、K维树要好,故本发明从机器采用多优势点树结构。实验中仅将不同参数的分布式多优势点树模型与多优势点树进行比较,另外分布式多优势点树模型的可扩展性,分布式从机器上的索引树可以用任何一种树形结构进行代替。
面对大规模数据,通过调整主空间分区数目可以对数据进行均衡负载。分布式多优势点树模型可以非常容易的增加从节点数目,从而分担负载。图15至17显示的是对度量空间采用边缘划分后,索引树上节点在不同次空间的着色图。15、16、17分别显示的是将度量空间分成2个次空间、4个次空间、8个次空间。图中不同颜色代表不同的次空间,这些点被分配到相应的从节点机器上。图15至17中间深色的点代表对度量空间进行划分的切割中心点。切割中心点构成的索引树被保存在主引导主机上。通过合理的选择度量切割半径,可以将度量空间中的点较为均匀的分布到从节点上。
本发明分别通过64维和128维的数据进行实验。图18是基于64维数据进行的近邻检索查询耗时图,其中横坐标第一行为数据规模,第二行和第三行为实际的时间消耗值,纵坐标为消耗时间,单位为s。从实验结果图可知,在数据规模较小时,分布式多优势点树模型并未体现出其优势。尤其是在数据量为100时,分布式多优势点树模型所消耗时间较之于多优势点树大0.001s,这是由于分布式多优势点树模型需要进行主引导主机需要首先从本地索引结构中返回需要被检索的从机器接口信息,然后发送至客户端。随着数据量的增加,分布式多优势点树模型的优势逐渐凸显。当数据量达到500000之后,分布式多优势点树模型耗时是多优势点树一半左右,而且增长较为平滑,查询性能表现更好。从节点中多优势点树高度增加,数据量急速膨胀,这使得从主引导主机检索从机器接口信息的时间越来越显得微不足道。当数据从64维变为128维时,如图19所示,分布式多优势点树依然显示出良好的性能。
当数据规模过大,可增加对度量空间的划分来均衡负载,图20展示的是在数据维度相同,不同度量空间分割数量对于性能的影响。从图中可以看出,小规模数据量时,增加Slave节点数目效果并不明显。随着数据量的膨胀分布式多优势点树(1,4)的性能要比分布式多优势点树(1,2)时间消耗少近一半,由此可见通过简单的增加度量空间划分数量可以非常有效的提高检索性能。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (1)
1.一种面向大规模高维空间数据的分布式索引方法,其特征在于:所述的方法包括以下步骤:
步骤一、在度量空间中按照边缘选取法选取划分n个优势点;
步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;
步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树;
步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点树;
步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求首先发送到主引导主机;主引导主机根据建立的主空间索引树判断需要插入到哪台从节点机器上;然后将插入请求发送至相应的从节点主机;所述从节点主机收到请求后,将新的度量空间对象插入到自身的空间索引树上;
步骤六、当有用户的检索请求时:
首先将检索指令发送到主引导主机;主引导主机根据自身构建的主空间划分索引树进行检索;直至查询节点为叶节点为止;最后返回从节点主机信息集合到用户;用户请求所述从节点主机,从节点主机得到请求,按照多优势点树的近邻查询算法进行检索;最终返回用户检索结果集合;
所述的主引导主机根据自身构建的主空间划分索引树进行检索步骤包括:若查询请求中的度量空间对象与根节点对象的距离加上检索请求中的距离之和大于等于根节点的空间划分半径,则递归查询右子树;
若查询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差小于等于根节点的空间划分半径,则递归查询左子树;
所述的分布式多优势点树采用D-MVP(Mn,Sn)表示Mn个主引导主机,Sn个从节点的模型;
所述主空间划分方法如下:
首先在整个度量空间中确定一个中心切割点和距离半径,将度量空间划分为两块;然后分别递归确定切割点和划分半径对已划分好的度量空间再次分割,直至达到指定的次空间数目;
主空间切割采用的静态切割方法,即预先选取好切割中心点,度量空间将被静态的划分成指定数量的次空间;
当度量空间里的点均匀分布,则将切割中心点选择在靠近度量空间的角落位置;同时尽可能将空间等大小划分,使负载较为均衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610406826.7A CN106095920B (zh) | 2016-06-07 | 2016-06-07 | 面向大规模高维空间数据的分布式索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610406826.7A CN106095920B (zh) | 2016-06-07 | 2016-06-07 | 面向大规模高维空间数据的分布式索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095920A CN106095920A (zh) | 2016-11-09 |
CN106095920B true CN106095920B (zh) | 2019-06-11 |
Family
ID=57228828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610406826.7A Active CN106095920B (zh) | 2016-06-07 | 2016-06-07 | 面向大规模高维空间数据的分布式索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095920B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694209B (zh) * | 2017-04-11 | 2021-11-19 | 华为技术有限公司 | 基于对象的分布式索引方法和客户端 |
CN107273464B (zh) * | 2017-06-02 | 2020-05-12 | 浙江大学 | 一种基于发布/订阅模式的分布式度量相似查询处理方法 |
CN107562872B (zh) * | 2017-08-31 | 2020-03-24 | 中国人民大学 | 基于sql的度量空间数据相似度查询方法及装置 |
CN110019870B (zh) * | 2017-12-29 | 2021-05-28 | 浙江宇视科技有限公司 | 基于内存图像集群的图像检索方法及系统 |
CN111552441B (zh) * | 2020-04-29 | 2023-02-28 | 重庆紫光华山智安科技有限公司 | 数据存储方法和装置、主节点及分布式系统 |
CN113407799A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 度量空间划分边界的性能衡量方法、装置及相关设备 |
CN113590889B (zh) * | 2021-07-30 | 2023-12-22 | 深圳大学 | 度量空间索引树构建方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609530A (zh) * | 2012-02-14 | 2012-07-25 | 江苏新大诚信息技术有限公司 | 一种分区域双树结构的空间数据库索引方法 |
CN103049554A (zh) * | 2012-12-31 | 2013-04-17 | 吴立新 | 一种矢量qr树并行索引技术 |
CN103617162A (zh) * | 2013-10-14 | 2014-03-05 | 南京邮电大学 | 一种对等云平台上构建希尔伯特r树索引的方法 |
CN103714080A (zh) * | 2012-09-29 | 2014-04-09 | 北京百度网讯科技有限公司 | 基于空间索引结构树提供空间对象搜索结果的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910878B2 (en) * | 2014-07-21 | 2018-03-06 | Oracle International Corporation | Methods for processing within-distance queries |
-
2016
- 2016-06-07 CN CN201610406826.7A patent/CN106095920B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609530A (zh) * | 2012-02-14 | 2012-07-25 | 江苏新大诚信息技术有限公司 | 一种分区域双树结构的空间数据库索引方法 |
CN103714080A (zh) * | 2012-09-29 | 2014-04-09 | 北京百度网讯科技有限公司 | 基于空间索引结构树提供空间对象搜索结果的方法和设备 |
CN103049554A (zh) * | 2012-12-31 | 2013-04-17 | 吴立新 | 一种矢量qr树并行索引技术 |
CN103617162A (zh) * | 2013-10-14 | 2014-03-05 | 南京邮电大学 | 一种对等云平台上构建希尔伯特r树索引的方法 |
Non-Patent Citations (1)
Title |
---|
高维空间数据索引技术研究;夏宇;《测绘科学》;20090403;第34卷(第1期);第60-68页 |
Also Published As
Publication number | Publication date |
---|---|
CN106095920A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095920B (zh) | 面向大规模高维空间数据的分布式索引方法 | |
Li et al. | LISA: A learned index structure for spatial data | |
CN106528773B (zh) | 一种基于Spark平台支持空间数据管理的图计算系统及方法 | |
Zhang et al. | Scalable skyline computation using object-based space partitioning | |
CN104199827B (zh) | 基于局部敏感哈希的大规模多媒体数据的高维索引方法 | |
Dolatshah et al. | Ball*-tree: Efficient spatial indexing for constrained nearest-neighbor search in metric spaces | |
CN108021658B (zh) | 一种基于鲸鱼优化算法的大数据智能搜索方法及系统 | |
US20080228783A1 (en) | Data Partitioning Systems | |
CN104361113B (zh) | 一种内存‑闪存混合存储模式下的olap查询优化方法 | |
CN106156331A (zh) | 冷热温数据服务器系统及其处理方法 | |
CN108897761A (zh) | 一种聚簇存储方法及装置 | |
CN106095951B (zh) | 基于负载均衡和查询日志的数据空间多维索引方法 | |
Zou et al. | Answering pattern match queries in large graph databases via graph embedding | |
CN106874425B (zh) | 基于Storm的实时关键词近似搜索算法 | |
CN107180079B (zh) | 基于卷积神经网络以及树与哈希结合索引的图像检索方法 | |
CN106777003A (zh) | 一种面向Key‑Value存储系统的索引查询方法和系统 | |
Tang et al. | Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce. | |
CN105138607B (zh) | 一种基于混合粒度分布式内存网格索引的knn查询方法 | |
Tanin et al. | An efficient nearest neighbor algorithm for P2P settings | |
Ma et al. | In-memory distributed indexing for large-scale media data retrieval | |
Moutafis et al. | Algorithms for processing the group K nearest-neighbor query on distributed frameworks | |
JP2012063959A (ja) | 索引方法、検索方法、及びその記憶媒体 | |
Li et al. | On mining webclick streams for path traversal patterns | |
John et al. | Dynamic sorting and average skyline method for query processing in spatial-temporal data | |
Zheng et al. | User preference-based data partitioning top-k skyline query processing algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |