面向大规模高维空间数据的分布式索引方法

文档序号:10725045阅读:441来源:国知局
面向大规模高维空间数据的分布式索引方法
【专利摘要】本发明公开了一种面向大规模高维空间数据的分布式索引方法,所述的方法包括以下步骤:步骤一、在度量空间中按照边缘选取法选取划分优势点N;步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树;步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点树;步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求首先发送到主引导主机。本发明提出的分布式多优势点树模型具有良好的性能表现,与分布式多优势点树(1,2)模型比多优势点树时间消耗减少约一半。
【专利说明】
面向大规模高维空间数据的分布式索引方法
技术领域
[0001] 本发明涉及互联网技术领域,具体涉及一种面向大规模高维空间数据的分布式索 引方法。
【背景技术】
[0002] 随着无线通信技术和移动终端技术的飞速发展,移动互联网应运而生并迅猛发 展。随之而来的是数据量急速膨胀,这对传统数据处理方法带来严峻的挑战。在度量空间 中,如何进行高维向量的相似性检索问题一直是数据处理与检索领域中的热点。在地理信 息系统、图像检索、多媒体数据库、模式识别、超大规模集成电路、生物基因数据库等众多领 域都有广泛的应用。中将音乐旋律提取高维特征,然后用户哼唱歌曲的旋律同样提取出特 征到已有数据库中进行相似性匹配,最终根据相似性程度返回一个音乐列表。此外,谷歌以 图搜图系统也是另一种高维信息相似性检索的典型应用。
[0003] 常见的高维信息索引方法都试图使查询达到近乎线性的增长,以应对数据膨胀。 伴随着移动互联网信息时代的到来,且数据记录采集设备的不断普及,各种社会记录、多媒 体、科学计算等数据爆炸性增长,使得这一问题变得更加尖锐。现有高维索引结构主要分为 两种方法:基于哈希的索引和树结构索引。基于哈希的索引结构,利用哈希表和哈希函数将 存储位置与它的关键字之间建立一个确定关系。这是一种近似最近邻查询方案,无法返回 完全精确的结果,除此之外,基于哈希的方法占用内存空间开销非常之大,尤其是数据量爆 炸式增长的情况。当无法提供足够的内存空间用于索引时,系统将频繁置换出较少使用的 页块到硬盘,导致性能下降。极端情况下,基于哈希的索引时间效率会下降到接近线性查找 程度,这种情况下基于哈希索引结构无法应对大规模数据场景。树结构的索引是将度量空 间按照一定的算法进行划分,常见的树结构有k维树、R树、度量空间树、优势点树和多优势 点等。K维树每个节点维度都为k的二叉树,所有非叶子节点都可以看作是一个超平面,将高 维空间分成两部分。K维树的缺点是邻接表过大,占用存储空间较多,而分割面中间值的选 择对于查询性能影响很大。同时,随维度增加,划分粒度较小时,效率下降严重。R树是一种 和二叉树相似的平衡树,树中每个节点可以看作一个k维矩形。R树适合于范围查询,但由于 超矩形相互重叠,不能保证唯一的搜索路径,会导致整棵树的性能退化。为了修正R树缺点, Sell is提出R+树、Beckmann提出的R*树等。尽管对R树进行改进,当维数增加到20以上时,性 能也开始下降。Bozkaya等提出优势点树索引结构,优势点树利用度量空间三角不等式性质 进行数据空间过滤,将查询剪枝,从而达到高效检索效果。多优势点树是基于优势点树的改 进,对于之前的K树、R树和优势点树都有一个共同的缺点是每个节点扇出太少,以至于树层 次过高,查询效率降低。多优势点使用多个分割点进行分区,并在每个节点保存与之相对应 的分区节点距离信息,用于有效过滤查询,从而提高检索性能。通过合理的选择分区支点, 多优势点的性能要表现要好于其他空间索引树结构。除了进行空间划分与映射之外,还有 通过共享最近邻搜索方法、充分利用硬件加速、压缩数据来减少访问次数等方法。通过特征 选择和特征抽取可对数据进行降维操作也是常见应对高维数据的方法。
[0004] 面对大规模海量高维数据的查询检索,传统空间划分和映射方法、信息降维、信息 压缩等方法已变得不再高效。仅仅在一种数据结构上进行结构优化或对高维信息进行降 维、压缩都只能暂时的缓解问题。随着数据量的增加和维度膨胀,这些优化都会显得杯水 车薪。如何进行分布式并行度量空间索引,国内外学者鲜有研究。

【发明内容】

[0005] 本发明克服了现有技术的不足,提供一种面向大规模高维空间数据的分布式索引 方法。
[0006] 将多台机器进行整合,并行的进行分布式索引,极大的提高的索引性能。此外,还 可通过增加次空间划分数目来应对数据膨胀问题。实验也表明分布式多优势点树D-MVP模 型可以有效的解决大规模高维空间索引难题,为分布式度量空间索引提供了很有价值的借 鉴意义。
[0007] 为解决上述的技术问题,本发明采用以下技术方案:
[0008] -种面向大规模高维空间数据的分布式索引方法,所述的方法包括以下步骤:
[0009] 步骤一、在度量空间中按照边缘选取法选取划分优势点N;
[0010] 步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;
[0011] 步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树;
[0012] 步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优 势点树;
[0013] 步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求 首先发送到主引导主机;主引导主机根据建立的主空间索引树判断需要插入到哪台从节点 机器上;然后将插入请求发送至相应的从节点主机;所述从节点主机收到请求后,将新的度 量空间对象插入到自身的空间索引树上。
[0014] 更进一步的技术方案是还包括步骤六、当有用户的检索请求时:
[0015] 首先将检索指令发送到主引导主机;主引导主机根据自身构建的主空间划分索引 树进行检索;直至查询节点为叶节点为止;最后返回从节点主机信息集合到用户;用户请求 所述从节点主机,从节点主机得到请求,按照多优势树检索算法进行检索;最终返回用户检 索结果集合。
[0016] 更进一步的技术方案是所述主引导主机根据自身构建的主空间划分索引树进行 检索步骤包括:若查询请求中的度量空间对象与根节点对象的距离加上检索请求中的距离 之和大于等于根节点的空间划分半径,则递归查询右子树;
[0017] 若查询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差 小于等于根节点的空间划分半径,则递归查询左子树。
[0018] 更进一步的技术方案是所述分布式多优势点树采用D_MVP(Mn,Sn)表示1个主引导 主机,S n个从节点的模型。
[0019] 与现有技术相比,本发明实施例的有益效果之一是:本发明基于多优势点树结构 提出高可扩展的面向大规模高维空间数据的分布式索引模型分布式多优势点树:首先将高 维空间进行基本浅层次划分,上层已划分索引结构存放在主服务器(本发明称为主引导主 机),分割后的分区分布部署到各个分布式机器(本发明称为从节点)。以树形结构对整个分 布式系统中的机器进行管理,对于用户的插入与查询操作由主引导主机进行导引,主引导 主机根据区域划分算法指定需要到哪些从节点上进行查询或插入到哪台从节点。
[0020] 在大规模高维空间数据上实验表明,本发明提出的分布式多优势点树模型具有良 好的性能表现,与分布式多优势点树(1,2)模型比多优势点树时间消耗减少约一半。在大规 模数据和高并发情况下,插入和查询操作都有明显提升,同时面对数据容量的爆炸性增长 也可以做到良好的高可扩展性。通过调整空间划分数目,即可方便的应对数据增长。这也 为大规模高维分布式空间信息检索研究提供了有价值的借鉴意义。
【附图说明】
[0021] 图1为本发明一个实施例中绘图检索原图。
[0022] 图2为本发明一个实施例中绘图检索用户绘草图。
[0023] 图3为本发明一个实施例中MVP空间划分图。
[0024]图4为本发明一个实施例中一种索引树的空间划分不意图。
[0025]图5为本发明一个实施例中一种索引树的空间划分不意图。
[0026] 图6为本发明一个实施例中一种索引树的空间划分不意图。
[0027] 图7为本发明一个实施例中D-MVP空间划分图。
[0028] 图8为本发明一个实施例中D-MVP空间划分图。
[0029] 图9为本发明一个实施例中D-MVP模型框架示意图。
[0030] 图10为本发明一个实施例中中心法切割中心点选择策略示意图。
[0031 ]图11为本发明一个实施例中边缘法切割中心点选择策略示意图。
[0032] 图12为本发明一个实施例中外部法切割中心点选择策略示意图。
[0033] 图13为本发明一个实施例中局部热点负载均衡示意图。
[0034] 图14为本发明一个实施例中局部热点负载均衡示意图。
[0035] 图15为本发明一个实施例中度量空间划分2个区域后的区域着色图。
[0036] 图16为本发明一个实施例中度量空间划分4个区域后的区域着色图。
[0037] 图17为本发明一个实施例中度量空间划分8个区域后的区域着色图。
[0038]图18为本发明一个实施例中64维数据进行的MVP-Tree与D-MVP(1,2)最近邻查询 耗时图。
[0039]图19为本发明一个实施例中128维数据进行的MVP-Tree与D-MVP(1,2)最近邻查询 耗时图。
[0040] 图20为本发明一个实施例中D-MVP (1,2)和D-MVP (1,4)最近邻查询时间耗时图。
【具体实施方式】
[0041] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥 的特征和/或步骤以外,均可以以任何方式组合。
[0042] 本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙 述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只 是一系列等效或类似特征中的一个例子而已。
[0043]下面结合附图及实施例对本发明的【具体实施方式】进行详细描述。
[0044] 首先公开相关概念与问题定义
[0045] 本发明主要对系统模型中的一些基本概念进行定义说明,其中包括度量空间定 义、最近邻查询与多优势点树构造与查询算法。
[0046] 在数学中,度量空间是指一个集合,该集合内的元素间距离可定义。度量空间的定 义如下:
[0047]定义1.(度量空间)设X是一个集合,X集合上的度量函数d:XXX-R,其中x,y,ze X:
[0048] (1)正定性:d(x,y)彡 0且d(x,y)=0 当且仅当 x = y;
[0049] (2)对称性:d(X,y)=d(y,x);
[0050] (3)满足三角不等式:d(x,y)+d(y,z)彡d(x,z)。
[00511则称(X,d)为度量空间。
[0052]在相同X集合上,可通过指定不同的度量函数d,来代表不同度量空间。本发明使用 度量函数为欧几里得距离。设欧几里得度量函数d: Rn X Rn-R可表示为:
[0054] 其中,
[0055] X - (XI,X2,· · ·,Xn),y - (yi,y2,· · ·,yn),x,yGX〇
[0056] 本发明将文本、图片、视频等可进行特征提取的事物称为对象。在表示对象时,会 提取该对象特征点。特征点的数量根据用户需求和对象特征复杂程度而定,少则两三个,多 至成百上千。特征值一般采用向量形式表示,因而特征值的运算可以想象成高维空间中的 运算。提取出特征值向量集合即是上文中提到的空间集合X。为能够表征对象更多信息,常 提取尽可能多的信息,因而所造成的结果是维度增加,这样最终导致"维度灾难"。
[0057]近邻查询是指给定查询项,从度量空间(X,d)中找出与之距离最近的k个对象。 [0058] 定义2.最近邻查询设对象特征值集合...,Xn}和度量函数do,则度量空 间为(X,d)。给定查询对象特征向量Y和距离r,返回所有与Y距离小于r的对象集合{Xiltex 且cKXnyKrhr通常代表相似程度或容限系数。
[0059] 在某些绘图检索数据库中,用户绘出图画,到数据库中去检索与之类似的图像。假 如想要查找图1梵高的《乌鸦群飞的麦田》,用户知道画的上部为深蓝色天空,下部为黄色麦 田,因而绘出如图2所示的草图用于查找,数据库则会根据图片特征值的相似性,按照相似 性大小排序返回一个图片集合。
[0060] 本发明构造了分布式多优势点树高维空间检索模型,在实验部分使用最近邻查询 来验证模型的有效性,实验结果表明分布式多优势点树模型对于高维索引,尤其是大规模 高维数据性能较于其他传统模型有很大提升,并具有高可扩展性。
[0061] 分布式多优势点树模型从节点中度量空间索引结构使用多优势点树创建,故在此 着重介绍多优势点树的构造与检索。
[0062] 常见的度量空间索引树包含K维树、R树、优势点树和多优势点树等。本发明仅对这 四种具有代表性的树进行简单介绍,并着重说明多优势点树的构造与检索。
[0063] K维树是一棵二叉树,每个节点代表一个高维空间范围。通过空间集合中点所在的 超平面对空间进行划分,以二维空间为例,分解后的空间如图3所示。K维树缺点较为明显, 其对数据点的插入顺序十分敏感,数据遍布整棵树节点上,对于一些场景实用性不强,并很 难找到较为均衡的切割平面。R树采用最小边界矩阵方法对空间进行划分。二维空间划分结 果如图4所示。R树及其变种最严重的问题是不同点所对应的矩阵边界有大量的重叠,当维 数增加的时候,这种情况变得愈加严重。在进行检索时要访问多个节点子树,使性能降低。 优势点树利用球形划分方法对度量空间划分,划分过程借助度量空间中目标点集与优势点 之间的距离进行,对二维空间划分结果如图5所示。
[0064] 多优势点树是基于优势点树的改进。由于优势点树扇出太小,致使树高度太高,随 着分区划分数量增加,检索性能也随之下降。多优势点树通过增加优势点数目和节点输出 能力来提高性能。多优势点树同时在节点中保存了其与优势点的距离,以避免查询时进行 多次运算。多优势点树的性能较于其他检索结构性能更好,因而本发明选取多优势点树作 为从节点空间索引树的基本结构。算法1为多优势点树创建过程,算法2为优势点树检索过 程。多优势点树通过选择两个节点进行空间划分,每个节点保存两层划分结构,从而降低树 高度。在二维空间上的划分实例如图5所示。多优势点树的构造算法如表1所示。
[0065] 表 1
[0066]
[0067] 1如果|X| =0,返回空树
[0068] 2如果 |X| 彡k+2,则
[0069] 2.1从X中随机选择Xvl作为第一个优势点,并从中删除;
[0070] 2.2计算所有Xi e X的距离d(Xi,Χν1),并存入数组D!;
[0071] 2.3从X中选择距离Xvl最远的Χν2作为第二个vantage point,并将其从X中删除;
[0072] 2.4计算所有乂#父的距离(1(\上2),并存入数组02;
[0073] 2.5退出。
[0074] 3如果 |X|>k+2,则
[0075] 3.1从X中随机选择Xvl作为第一个优势点,并从中删除;
[0076] 3.2 计算所有 XiGX 的距离 d(Xi,Xvl),如果 level 彡 ρ,则 Xi,PATH[level]=d(Xi, Xvl);
[0077] 3.3按照与Xv^距离将X进行排序,Mi为距离中值,然后按照中值对X分割,分别用 ΧΧι和ΧΧ2表示;
[0078] 3.4从乂乂2随机选取乂^作为第二个优势点,并将其从乂乂2中删除;
[0079] 3.5计算(1(父」;2),其中父卢父父1或父卢父父2。如果16代1彡 ?,则父」,?厶1'!1[16¥61+1]=(1 (Xj,Xv2);
[0080] 3.6令M2[l]为{d(Xj,Xv2) IXjeXXihifeD]为{d(Xj,Xv2) |XjeXX2};
[0081 ] 3 · 7利用M2 [ 1 ]对乂乂丨进行划分,利用M2 [ 2 ]对XX2进行划分。使1 e ve 1: = 1 eve 1+2,递 归创建MVP-Tree。多优势点树的近邻查询算法如表2所示。
[0084] 本发明从模型框架、空间划分、插入与检索机制、扩展性等几方面对分布式多优势 点树进行介绍,并探讨模型构思过程中所遇问题与解决方案的选择。
[0085] 分布式多优势点树模型同样是借助于树结构将度量空间进行划分,如图10所示。 对空间索引树进行水平切割,上层浅层次划分空间本发明称之为"主空间",下部划分出的 空间本发明称之为"次空间"。图10中将度量空间划分成为8个次空间,在实际应用中可以根 据现实需求进行调整。对索引树的切割平面越靠近根节点,划分出的次空间数目越少,则每 个次空间就越大,分布式机器负载就越重。主空间保存在主引导主机中,主引导主机负责对 用户提交的插入与查询操作进行导引,并对整个系统进行监控与负载均衡。划分好的次空 间分别放置于分布式从机器集群上,分布式从机器会对分配到的空间构建多优势点树索 弓丨,用于其所管辖空间的对象插入与查询。图11是以圆形向外扩展的索引树,中间阴影部分 保存在主引导主机中作为基本索引。四周扩散的8种颜色代表八个次空间,是存储在分布式 从机器上的多优势点树索引。
[0086]分布式多优势点树模型度量空间索引模型框架如图13和14所示,用户的请求首先 发送到主引导主机(图13和14中实际为主引导集群,内包含多个主引导主机),然后主引导 主机根据自身存储的索引结构进行相应操作。在插入操作时,主引导主机将按照度量空间 划分原则将点插入相应的分布式从节点。当用户请求检索操作时,主引导主机根据查询算 法返回给用户相应的从查询接口,由用户向相应的从节点寻求检索结果,以减轻主引导主 机负担。
[0087]具体的,如图6至20所示,本实施例面向大规模高维空间数据的分布式索引方法, 包括以下步骤:
[0088] (1)在度量空间中按照边缘选取法选取一定的划分优势点N;
[0089] (2)根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间;
[0090] (3)空间划分好后,根据划分的空间结构在主引导主机构造主空间索引树;
[0091] (4)将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点 树;优选的,多优势点树D-MVP (Mn,Sn)表示1个主引导主机,SA从节点的模型,主引导主机 数目和从节点数目根据数据量进行扩充或缩减。
[0092] (5)当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求会首 先发送到主引导主机;主引导主机会根据建立的主空间索引树来判断需要插入到哪台从节 点机器上;然后将插入请求发送至相应的从节点主机;从节点主机收到请求后,将新的度量 空间对象插入到自身的空间索引树上;
[0093] (6)当有用户的检索请求时;首先将检索指令发送到主引导主机;主引导主机根据 自身构建的主空间划分索引树进行检索;若查询请求中的度量空间对象与根节点对象的距 离加上检索请求中的距离之和大于等于根节点的空间划分半径,则递归查询右子树;若查 询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差小于等于根节 点的空间划分半径,则递归查询左子树;直至查询节点为叶节点为止;此叶节点即从节点主 机信息,最后返回从节点主机信息集合到用户;用户最终会去请求这些从节点主机,从节点 主机得到请求,按照多优势树检索算法进行检索;最终返回用户检索结果集合。
[0094] 进一步的,本发明主空间划分策略并非采用的多优势点树方法,而是采用较其更 为简单的策略。首先在整个度量空间中确定一个中心切割点和距离半径,将度量空间划分 为两块。然后分别递归确定切割点和划分半径对已划分好的度量空间再次分割,直至达到 指定的次空间数目。
[0095] 主空间划分将决定着分布式机器负载是否均衡。主空间划分的层次也将决定着次 空间的数量。若数据规模极大,则可划分更多的次空间以便使负载均衡到更多分布式从机 器上。
[0096] 本发明主空间切割采用的是静态切割方法,即预先选取好切割中心点。度量空间 将被静态的划分成指定数量的次空间。因而切割中心点的选取将影响到空间划分的均衡性 问题。最简单的切割中心点的选取为随机选取,但有学者认为谨慎的选择切割中心点将产 生更好的检索性能,这样代价会很高,而且与具体数据在度量空间的分布有关。常见的分割 策略如图15至17所示,以二维空间欧几里得距离为例。若度量空间里的点均匀分布,则应将 切割中心点选择在靠近度量空间的角落位置,如图15所示。与从中心选择相比,降低了出现 在度量空间的边界,可增加检索效率。若切割点可从度量空间外选择,也将产生良好的效 果。若距离一定远,用超平面切割出的两个度量空间可以看作趋于相同,如图17所示。除切 割中心点的选择外,切割半径也将对模型的性能产生影响。半径的选择与切割中心点的选 择策略相关,如果空间中点均匀分布,尽可能将空间等大小划分,则负载也较为均衡。
[0097] 当用户需要插入一个新的对象时,插入请求会发送到主引导主机。主引导主机根 据空间划分结果,通过查询索引树求出其所落在的次空间区域,然后将插入信息传送到相 应的从节点。从节点收到请求后将节点插入到其自身空间索引树中。
[0098] 空间划分后的另外一个重要问题是如何处理用户的近邻检索请求。当用户请求检 索时,首先将检索指令发送到主引导主机。主引导主机根据自身构建的主空间划分索引树 按照算法3进行计算,返回需要检索的从机器接口信息。然后客户端封装好的接口函数会自 动根据主引导主机返回从信息去请求数据。从节点收到请求后,按照算法2检索查询节点的 近邻集合。算法3返回的从数目并不一定只有一个,当查询对象Y位于度量空间划分超平面 附近时,则需要从多个从节点上寻找近邻。主空间索引算法如表3所示。
[0099] 表 3
[0100]
[0101] 分布式多优势点树模型的高可扩展性主要表现为三部分:面对大规模数据扩展、 面对高并发操作和局部热点问题。
[0102] 在数据量急速膨胀,当前机器集群整体负载过重,无法及时有效的提供服务时, 可通过增加主空间划分层次数目来解决。划分层次变大,划分出的次空间数目也将变多,增 加分布式Slave节点来均衡负载,将大规模数据分散到更多的集群上。
[0103] 由于主空间划分为静态划分,所以主引导主机中创建的索引在运行过程中不会轻 易改变,除非需要重新对度量空间进行划分。在面对高并发操作时,主引导主机要处理所有 用户的查询与插入请求,必然面临着请求耗时过长,甚至资源耗尽的情况。因而可以将主引 导主机进行复制,如图13和14所示。客户端请求接口可采用多种方案选择主引导主机,如随 机、轮询、最轻负载等方案。现实世界中,数据的分布并不均匀,由于某些特殊场景,局部热 点访问也可能经常发生,这将导致各从机器负载不均衡问题。对于这种情况,分布式多优势 点树模型可以很方便的对Slave机器进行合并与拆分。如图18和19所示,图18左侧深色为负 载过重的从节点,为减轻其负载,将主空间最左分支再进行二次划分,变为两块新的次空 间,如图19所示。从节点合并有两种策略。拥有共同父亲的从节点和上升合并到成一个从节 点。若没有共同父亲,则可将两个甚至多个从机器上的多优势点树放置于一台机器上。
[0104] 为说明分布式多优势点树模型的有效性,本实施例实验将分布式多优势点树模型 与多优势点树算法比较,并通过调节分布式多优势点树参数进行对比实验。分布式多优势 点树模型可通过调整主引导主机数目和从节点数目来应对不同的应用场景。实验中距离度 量采用的欧几里得距离进行计算,实验具体细节将在本节中进行说明。
[0105] 本发明分布式多优势点树D-MVP (Mn,Sn)表示Mn个主引导主机,Sn个从节点的模型。 机器的软硬件环境如表4所示,实验将根据M4PS n的值选取表4中数台机器进行。
[0106] 表4.实验软硬件环境
[0108] 本发明实验中采用了人工数据集进行实验。人工数据集根据实验需要随机生成不 同维度,不同数量的数据进行实验,以验证模型的有效性。本发明分别在64维和128维向量 数据集上进行实验,每个维度取值为〇~9之间的随机数。
[0109] 由于多优势点树索引结构的性能较于优势点树、R树、K维树要好,故本发明从机器 采用多优势点树结构。实验中仅将不同参数的分布式多优势点树模型与多优势点树进行比 较,另外分布式多优势点树模型的可扩展性,分布式从机器上的索引树可以用任何一种树 形结构进行代替。
[0110] 面对大规模数据,通过调整主空间分区数目可以对数据进行均衡负载。分布式多 优势点树模型可以非常容易的增加从节点数目,从而分担负载。图15至17显示的是对度量 空间采用边缘划分后,索引树上节点在不同次空间的着色图。15、16、17分别显示的是将度 量空间分成2个次空间、4个次空间、8个次空间。图中不同颜色代表不同的次空间,这些点被 分配到相应的从节点机器上。图15至17中间深色的点代表对度量空间进行划分的切割中心 点。切割中心点构成的索引树被保存在主引导主机上。通过合理的选择度量切割半径,可以 将度量空间中的点较为均匀的分布到从节点上。
[0111] 本发明分别通过64维和128维的数据进行实验。图18是基于64维数据进行的近邻 检索查询耗时图,其中横坐标第一行为数据规模,第二行和第三行为实际的时间消耗值,纵 坐标为消耗时间,单位为s。从实验结果图可知,在数据规模较小时,分布式多优势点树模型 并未体现出其优势。尤其是在数据量为100时,分布式多优势点树模型所消耗时间较之于多 优势点树大0.001s,这是由于分布式多优势点树模型需要进行主引导主机需要首先从本 地索引结构中返回需要被检索的从机器接口信息,然后发送至客户端。随着数据量的增加, 分布式多优势点树模型的优势逐渐凸显。当数据量达到500000之后,分布式多优势点树模 型耗时是多优势点树一半左右,而且增长较为平滑,查询性能表现更好。从节点中多优势点 树高度增加,数据量急速膨胀,这使得从主引导主机检索从机器接口信息的时间越来越显 得微不足道。当数据从64维变为128维时,如图19所示,分布式多优势点树依然显示出良好 的性能。
[0112] 当数据规模过大,可增加对度量空间的划分来均衡负载,图20展示的是在数据维 度相同,不同度量空间分割数量对于性能的影响。从图中可以看出,小规模数据量时,增加 Slave节点数目效果并不明显。随着数据量的膨胀分布式多优势点树(1,4)的性能要比分布 式多优势点树(1,2)时间消耗少近一半,由此可见通过简单的增加度量空间划分数量可以 非常有效的提尚检索性能。
[0113] 在本说明书中所谈到的"一个实施例"、"另一个实施例"、"实施例"等,指的是结合 该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。 在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一 个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种 特征、结构或者特点也落在本发明的范围内。
[0114] 尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本 领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请 公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组 合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型 和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
【主权项】
1. 一种面向大规模高维空间数据的分布式索引方法,其特征在于:所述的方法包括以 下步骤: 步骤一、在度量空间中按照边缘选取法选取划分优势点N; 步骤二、根据度量空间中选取的优势点,对度量空间进行划分成2n个次空间; 步骤三、空间划分好后,根据划分的空间结构,在主引导主机构造主空间索引树; 步骤四、将每个次空间分配到对应的2n个从节点上,并在从节点机器上构建多优势点 树; 步骤五、当有新的度量空间中的对象插入分布式多优势树索引结构时,插入请求首先 发送到主引导主机;主引导主机根据建立的主空间索引树判断需要插入到哪台从节点机器 上;然后将插入请求发送至相应的从节点主机; 所述从节点主机收到请求后,将新的度量空间对象插入到自身的空间索引树上。2. 根据权利要求1所述的面向大规模高维空间数据的分布式索引方法,其特征在于还 包括步骤六、当有用户的检索请求时: 首先将检索指令发送到主引导主机;主引导主机根据自身构建的主空间划分索引树进 行检索;直至查询节点为叶节点为止;最后返回从节点主机信息集合到用户;用户请求所述 从节点主机,从节点主机得到请求,按照多优势树检索算法进行检索;最终返回用户检索结 果集合。3. 根据权利要求2所述的面向大规模高维空间数据的分布式索引方法,其特征在于所 述的主引导主机根据自身构建的主空间划分索引树进行检索步骤包括:若查询请求中的度 量空间对象与根节点对象的距离加上检索请求中的距离之和大于等于根节点的空间划分 半径,则递归查询右子树; 若查询请求中的度量空间对象与根节点对象的距离减去检索请求中的距离之差小于 等于根节点的空间划分半径,则递归查询左子树。4. 根据权利要求1所述的面向大规模高维空间数据的分布式索引方法,其特征在于所 述的分布式多优势点树采用D-MVP (Mn,Sn)表示Mn个主引导主机,Sn个从节点的模型。
【文档编号】G06F17/30GK106095920SQ201610406826
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】李川, 王昂
【申请人】四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1