一种结构化对等网络构建索引的方法、检索方法、装置及系统的制作方法

文档序号:10624849阅读:248来源:国知局
一种结构化对等网络构建索引的方法、检索方法、装置及系统的制作方法
【专利摘要】一种结构化对等网络构建索引的方法、检索方法、装置及系统。构建索引的方法包括:选取哈希函数索引参数;根据哈希函数族,将索引数据映射到l个哈希表中,每个索引数据进行k次哈希运算进入一个k维向量桶中;对于l个哈希表中的每个桶,计算随机点p的l2范数;根据随机点p的l2范数估计索引数据集合D的正态分布;根据所述正态分布,将桶空间分成常规区域和稀疏区域;根据常规区域和稀疏区域,将l个哈希表中的每个桶分别映射到一维分布式哈希表的各个键值中;根据chord路由协议,依次将各个键值插入到对等网络的各个节点中。本发明实现了将局部敏感哈希算法扩展到分布式结构化对等网络,提升了检索速度,同时保留了原有集中式局部哈希算法检索的精度。
【专利说明】
-种结构化对等网络构建索引的方法、检索方法、装置及系 统
技术领域
[0001] 本发明设及信息检索W及聚类分析等数据处理领域,尤其设及一种结构化对等网 络构建索引的方法、检索方法、装置及系统。
【背景技术】
[0002] 随着互联网信息的快速发展,大量数据(如文本文档,图片,视频等)根据特点进 行分类后表示为海量数据集中的高维对象。许多应用需要在大规模分布式网络环境下执行 高效且可扩展的信息检索。传统的最近邻检索问题如何在分布式环境下得到有效执行,成 为重要问题。
[0003] 现有技术中,最近邻查询问题的研究被分为两类:精确查询和近似查询。
[0004] 在精确查询方面,常采用树型索引结构对空间分区,如R树,TV树,KD树等。此方 法在非高维空间上取得良好效果。然而,真实数据集往往是高维的,此种基于树结构的检索 方法面临维度灾问题,检索性能上甚至劣于线性检索模式。
[0005] 在近似查询方面,基于哈希算法的检索方法可W有效的执行高维空间内的最近邻 查询,但查询的精度有所下降。
[0006] 近来研究表明,局部敏感哈希(Xocality Sensitive Hashing, LSH)可W有效地实 现高维空间的最近邻查询。L甜近似方法是由Indyk和Motwani提出,其采用多个维持局部 特性的哈希函数,对高维空间的对象进行哈希。LSH可W将相似的数据对象W很高的概率放 在靠近的位置。
[0007] 在运里,考虑度量空间是d维的欧式空间,其中d是一个相对大的数(高维度)。D 是d维空间的点集合。请求数据点q的精确最近邻定义为最接近q的节点i/e D。可做如下 公式化表述,不存在其他的P e D,满足d (P,q) < d q),其中d (,)表示两点之间的距离。 局部敏感哈希支持C-近似最近邻捜索,定义如下:对于给定请求点q,如果存在点P到点q 的距离是点q到最近邻点l/距离的C倍,则称点P是点q的C近似最近邻点,C > 1是近似 程度。在我们的研究中,采用Ip进制表示P和q两点之间的距离,即d(p,q) = Mp,q||p。
[0008] L甜的基本思想是用几个哈希函数对数据点进行哈希,每个函数保证将相似的数 据对象W很高的概率放在靠近的位置。一个LSH函数簇可形式化定义如下:函数族Η == 化:D - U},其中U是L甜桶空间。对于任意m,n e D,当满足:
[0009] ?若 d (m, η)《Γι,则 Pr 比(m) = h (η) ] > Pi;
[0010] ?若 d (m,n) >则 Pr 比(m) = h (n)]《P2,
[0011]贝嚇是 Cti,Pi,P2)敏感的,其中 ri< Γ2, Pi> P2,Pr比(m) = h(n)]表示碰撞率。
[0012] 可W看出,L甜函数族是定义在某种特定的距离度量和分布下的。本文中我们鉴 定距离函数是Ip维欧式空间,LSH函数族基于P稳定分布,其中,P = 1为柯西分布,P = 2 是正态分布。运里LSH函数族定义如下:
[0013]
CD
[0014] 其中a是一个d维向量,向量元素服从p稳态分布,B是服从[0,W]的均匀分 布。因此,每个函数将一个d维的数据点映射为一个整数。在基于P稳态函数的L甜模 式下,通常采用多个哈希函数生成桶标签g(v)。桶标签g(v)是一个k维的整数向量, 3Μ = (、4(ν)"·Α^ν))。数据集的所有数据点被哈希到哈希表中各个wk维向量标示的桶中。 为了保证相似检索的精度,常采用1个独立的哈希表构建L甜索引结构。在之后的检索环 节,可W通过将请求点哈希1次,放入1个不同哈希表的1个数据桶中,并对包含请求点的 桶内其他数据进行检索。
[0015] 近年来,L甜得到一些理论上的改进,Datar提出Ip度量的局部敏感哈希函数。LSH 的一个重要缺点在于,为了达到良好的检索性能,需要维持大量哈希表,运些哈希表不具备 扩展性。一些方法尝试将L甜扩展到不同的应用场景下,包括集中式和分布式环境。Bawa 提出可在P2P系统中建立可预测规模的,参数可调的LSH方法。Lv提出一种多重试探的LSH 方法,W减少哈希表数量,并改善算法时间、空间效率。化曲ani采用两层映射实现多重试探 的L甜方法,W支持分布式相似检索。
[0016] 海量高维数据在分布式环境下的检索,依赖于一系列放在指定位置的网关节点。 在系统启动时,任何节点都可访问到运些网关节点。集中化配置方法确保映射的有效性,但 在动态分布式网络环境下,难W维持系统的负载均衡。现有技术包括:
[0017] 1)空间填充曲线(Space filling curves, SFC),如Hi化ert曲线,将多维空间的 点映射到一维空间,同时保持点在原始多维空间内的位置关系不变。作为结果的一维数 据点,可W放在结构化P2P覆盖层网络的数据结构中,如B+树,DHT结构等。注意到原始 化化ert曲线是基于均匀分布,并不会根据数据分布对空间密度进行调整。然而,空间维度 上升时,SFC的效率会下降,因而无法用于高维空间索引的最近邻检索。
[0018] 2)结构化对等网络,管理大量分布式数据的方法,如化ord,化stry,CAN等常见的 分布式哈希表值istributed化sh T油le, DHT)覆盖层网络,被用于执行快速路由查询。如 化ord,采用一致性哈希将键值key映射到节点,同时具备可伸缩性,保持各个节点管理几 乎相同数量的键值key。用SHA-1函数作为基本的哈希函数,化ord提供良好的负载均衡, 可伸缩性和可用性。同时,化ord对于查询键值key的结构没有限制,化ord的key空间是 平面化的,运为如何将对象映射为化ord的键值提供了很大的灵活性。然而,运些网络并不 支持关键词检索查询。
[0019] 针对运些缺点,本发明的目的为:针对海量高维数据分布式检索问题,在分布式场 景下,引入结构化对等网络结构,基于高维空间内基于LSH的最近邻捜索,并利用SFC有效 地将L甜桶空间映射到DHT节点空间,即实现多维到一维空间的映射。进一步考虑负载均 衡,和对象存储位置,提出一种变换非均匀空间填充曲线(SFC)的方法,处理分布式哈希表 值HT)网络环境下分布式请求的负载均衡。

【发明内容】

[0020] 本发明的目的在于提供一种结构化对等网络构建索引的方法、检索方法、装置及 系统,W解决现有技术中在空间维度上升时,空间填充曲线无法用于高维空间索引的最近 邻检索w及结构化对等网络不支持关键词检索查询的问题。
[0021] 一方面,提供了一种结构化对等网络构建索引的方法,包括:
[0022] S1,给定12维索引数据集合D,选取哈希函数索引参数(W,k,1);
[002引其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表 示哈希表个数;
[0024] S2,根据W下公式,将索引数据集合D中的所有索引数据映射到1个哈希表的桶 中; 阳0巧]
[0026] 其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳 态分布的向量,ai. .. 3k表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从 均匀分布的向量,Bi. .. Βκ表示从服从均匀分布的向量中选取的k个不同的向量,g(v)表示 一个k维向量桶;
[0027] S3,根据W下公式,计算桶中随机点P的12范数I IpM 2:
[0028]
[0029] 其中,I Ip II康示P的1 2范数,P表示一个k维向量的桶,P 表示一个k维向 量桶中的每一维度;
[0030] S4,根据W下公式,计算索引数据集合D的数据统计特征:
[0031]
[0032] 其中:
表示正态分布公式,k表示每个索引数据进行k次哈希运算, IPII康示P的12范数,W表示均匀分布区间的阔值;
[0033] S5,根据所述数据统计特征,将桶空间分成常规区域和稀疏区域;
[0034] S6,根据常规区域和稀疏区域,将向量桶映射到一维分布式哈希表的各个键值 中;
[0035] S7,根据chord路由协议,依次将各个键值插入到对等网络的各个节点中。
[0036] 还提供了一种结构化对等网络构建索引装置,所述装置包括:
[0037] 索引参数选取模块,用于给定12维索引数据集合D,选取哈希函数索引参数 (W, k, 1);
[003引其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数;
[0039] 哈希表生成模块,用于根据W下公式,将索引数据集合D中的所有索引数据映射 到1个哈希表的桶中;
[0040]
阳0川其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳 态分布的向量,曰1. .. 3k表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从 均匀分布的向量,Bi. . . Βκ表示从服从均匀分布的向量中选取的k个不同的向量,g(v)表示 一个k维向量桶;
[0042] 范数计算模块,用于根据W下公式,计算桶中随机点P的12范数I IpM 2:
[0043]
柳44] 其中,I Ip I I康示P的1 2范数,P表示一个k维向量的桶,P 表示一个k维向 量桶中的每一维度;
[0045] 数据统计特征计算模块,用于根据W下公式,计算索引数据集合D的数据统计特 征:
[0046]
[0047] 其中,
表示正态分布公式,k表示每个索引数据进行k次哈希运算, IPII康示P的12范数,W表示均匀分布区间的阔值;
[0048] 区域划分模块,用于根据所述数据统计特征,将桶空间分成常规区域和稀疏区 域;
[0049] 桶向量映射模块,用于根据常规区域和稀疏区域,将向量桶映射到一维分布式哈 希表的各个键值中;和
[0050] 对等网络映射模块,用于根据chord路由协议,依次将各个键值插入到对等网络 的各个节点中。
[0051] 另一方面,还提供了一种结构化对等网络的检索方法,包括:
[0052] S11,选取索引采用的哈希函数检索参数(W,k,1);
[0053] 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数;
[0054] S12,根据W下公式,得到每个待检索点在1个哈希表中对应的1个k维桶向量; 阳化引
[0056] 其中,V表示待检索数据,a表示服从稳态分布的向量,ai. .. a,表示从服从稳态分 布的向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Βκ表示从服从均匀 分布的向量中选取的k个不同的向量,g(v)表示一个k维向量桶;
[0057] S13,根据索引阶段的区域划分,确定每个待检索点所在的区域;
[0058] S14,根据每个待检索点所在的区域,将1个哈希表中与每个待检索点对应的1个 k维桶向量映射到一维分布式哈希表的键值中;
[0059] S15,根据chord路由协议定位到对等网络的节点;
[0060] S16,在所述节点的哈希表中的同一个桶向量里计算欧式距离,将计算结果返回到 一个节点。
[0061] 还提供了一种结构化对等网络的检索装置,所述装置包括:
[0062] 检索参数选取模块,用于选取索引采用的哈希函数检索参数(W,k,1);
[0063] 其中,W表示均匀分布区间的阔值,k表示每个检索数据进行k次哈希运算,1表示 哈希表个数; W64] 桶向量获取模块,用于根据索引采用的哈希函数族如)=讯.*,(、'),…AVW得到每个 待检索点在1个哈希表中对应的1个k维桶向量; 阳0化]其中,V表示待检索数据,a表示服从稳态分布的向量,曰1. .. a,表示从服从稳态分 布的向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Βκ表示从服从均匀 分布的向量中选取的k个不同的向量,g(v)表示一个k维向量桶;
[0066] 区域定位模块,用于根据索引阶段的区域划分,确定每个待检索点所在的区域;
[0067] 桶向量映射模块,用于根据每个待检索点所在的区域,将1个哈希表中与每个待 检索点对应的1个k维桶向量映射到一维分布式哈希表的键值中; 阳068] 节点定位模块,用于根据chord路由协议定位到对等网络的节点;
[0069] 欧式距离计算模块,用于在所述节点的哈希表中的同一个桶向量里计算欧式距 离,将计算结果返回到一个节点。
[0070] 再一方面,还提供了一种结构化对等网络的检索系统,所述系统包括:包括:构建 索引的装置和检索装置;
[0071] 所述构建索引的装置如上述一种结构化对等网络构建索引的装置;
[0072] 所述检索装置如上述一种结构化对等网络的检索装置。
[0073] 本发明的有益效果:本发明通过局部敏感哈希算法对高维空间的数据进行相似检 索,并利用典型的哈希算法与非均匀化化ert曲线结合,将高维的局部敏感哈希数据桶空 间映射到一维分布式哈希表的键值中,解决了现有技术中在空间维度上升时,空间填充曲 线无法用于高维空间索引的最近邻检索W及结构化对等网络不支持关键词检索查询的问 题。
[0074] 本发明相对于现有技术有如下Ξ方面优点:
[00巧](1)效率和效益:局部敏感哈希算法被证明能有效的执行高维空间的最近邻近似 检索。本发明的索引结构在可伸缩性方面对局部敏感哈希算法进行了改进,并将LSH扩展 到分布式结构化对等网络中,同时,并不降低原有局部敏感哈希算法查询的精度和查询速 率。
[0076] (2)局部性和负载均衡:在分布式场景下,负载分摊至所有节点,并需要处理单点 故障问题。在局部敏感哈希算法检索阶段,一些特定的算法,如多重检测方法(multi-probe method),需要检测多个靠近的数据桶。在本发明的索引结构上,运种检索带来的负载往往 不是均匀分布。为了保证可用性,索引的局部性和分布式哈希表的负载均衡都需要满足。
[0077] 做离散化和可伸缩性:当将一种集中式方法应用到分布式环境下时,如何离散 化是最重要也是最困难的问题,同时直接影响到系统的可伸缩性。在P2P网络环境下,全局 配置如网关节点或超级节点,将不利于可伸缩性。在本发明的应用场景下,用DHT覆盖层网 络的维持机制,控制整个网络的动态变化,W免系统被上层应用所损坏。
【附图说明】
[0078] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W根据运些 附图获得其他的附图。 阳0巧]图1是二维空间下的化化ert曲线的基本曲线;
[0080] 图2是二维空间下的化化ert曲线的二阶曲线;
[0081] 图3是本发明实施例一提供的构建索引的方法流程图;
[0082] 图4是本发明实施例二的提供的索引装置结构示意图;
[0083] 图5是本发明实施例Ξ提供的检索方法流程图;
[0084] 图6是本发明实施例四提供的检索装置结构示意图;
[00化]图7是本发明一具体示例的二维非均匀Hibert曲线图;
[0086] 图8是本发明一具体不例的正态分布面积分布图;
[0087] 图9是本发明实施例五提供的检索系统结构示意图。
【具体实施方式】
[0088] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用W解释本发明,并不 用于限定本发明。
[0089] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0090] HUbed曲线介绍:为便于在图中直观地展示映射过程看,假定k = 2。
[0091] 图1是二维空间下的化化ert曲线的基本曲线。
[0092] 图2是二维空间下的化化ert曲线的二阶曲线。
[0093] HUbed曲线是一种空间填充曲线,如图1所示,将空间划分为4块。沿着曲线的 数字是对应的从2维坐标空间到一维空间的映射。
[0094] 如图2所示,整个空间被划分为16个区域,其中每个四分之一小块进一步被分为 4个更小的分块。虽然每个区域被切分成更小的单元,曲线仍保持连续。化化ert曲线具有 单射性,并保持原有空间位置关系,即在d维空间内相近的点,经过映射后变为二进制数, 在一维空间内仍保持相近。然而,运种位置关系不是所有点经过映射后,都能维持空间关系 不变。
[0095] 本发明利用化化ert曲线的位置维持特性,将L甜索引结构映射到DHT命名空间。 注意到检索的精度是由L甜方法决定的,HiAed曲线仅作为一种映射方法,并不会影响 DHT网络中最近邻查询的有效性和效率。
[0096] 需要说明,本发明考虑的度量空间是欧式空间,欧式空间的下,数据之间的距离用 欧氏距离计算。
[0097] 实施例一
[0098] 本实施例提供了一种结构化对等网络构建索引的方法,参见图3,本实施例提供的 方法流程具体如下:
[0099] S1,给定12维索引数据集合D,选取哈希函数索引参数(W,k,1)。
[0100] 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数。 阳101] S2,根据W下公式,将索引数据集合D中的所有索引数据映射到1个哈希表的桶 中,每个索引数据进行k次哈希运算进入一个k维向量桶中;每个索引数据进入一个哈希表 中的一个k维向量的桶中,每个桶标示为一个k维向量,每个哈希表包括一系列的桶; 阳 102]
[0103] 其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳 态分布的向量,曰1. .. 3k表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从 均匀分布的向量,Bi. .. Βκ表示从服从均匀分布的向量中选取的k个不同的向量,g(v)表示 一个k维向量桶。
[0104] S3,对于1个哈希表中的每个桶,计算若干随机点P的12范数I Ip II 2。 阳105] 根据W下公式计算随机点P的12范数: 阳 106]
[0107] 其中,I IP I 12表不P的12范数,P表不一个k维向量的桶,P 1···化表不一个k维向 量桶中的每一维度。 阳10引 S4,根据若干随机点P的12范数Mp II 2估计索引数据集合D的正态分布。 阳109] 根据W下公式估计索引数据集合D的正态分布: 阳110]
[0111] 其中:
表示正态分布公式,k表示每个索引数据进行k次哈希运算, IPII康示P的12范数,W表示均匀分布区间的阔值。
[0112] S5,根据所述正态分布,将桶空间分成常规区域和稀疏区域。其中,常规区域占总 区域的80 %,稀疏区域占总区域的20 %。
[0113] S6,根据常规区域和稀疏区域,将1个哈希表中的每个桶分别映射到一维分布式 哈希表的各个键值中。
[0114] S6,根据常规区域和稀疏区域,将1个哈希表中的每个桶分别映射到一维分布式 哈希表的各个键值中。
[0115] 具体的,根据1个哈希表生成1个chord环,并根据chord路由协议,采用一致性 哈希算法依次将各个键值插入到对等网络的各个节点中。
[0116] 上述步骤S3至步骤S6是本发明的关键点,举例说明如下:在chord环的分布式哈 希表网络中,节点分布是近似均匀分布,并由SHA-1提供节点的标示。由于化化ert曲线产 生的映射结果不符合均匀分布,无法保证负载的均衡。出现运种负载不均衡有W下两点原 因:
[0117] (l)Hnbed曲线将多维空间上的点均匀映射到一维曲线空间,导致DHT命名空间 内ID的分布不均匀。
[011引 似哈希函数将索引数据哈希到长度W的区间内,对于服从正态分布的整数空间, 经过按W长度分割,产生了大量的小区间。因此会分割出大量小的方形单元,用于填充整个 区域。k维桶向量g(p)的元素 ha, B(p)在正态分布稀疏的尾端区域,很少执行映射操作。 在稀疏区域,化化ert曲线的密度仍很高,使得边缘区域上的曲线失去价值。 阳119] 本实施例提供的方法,通过将化b&rt曲线非均匀的特点加 W改进。因每个h(p) 服从正态分巧
并依赖于点P本身,因此使用k个正态分布的总和分巧
估 计k维桶向量g(P)的正态分布,由此将桶空间分成两个区域,一个是常规区域,另一个是稀 疏区域。对于两个不同的区域,采用不同密度的曲线。本发明利用非均匀Hi化ert曲线,实 现了将高维桶向量映射到一维分布式哈希表的键值中,从而实现了高维数据的近似检索, 解决了现有技术中在空间维度上升时,空间填充曲线无法用于高维空间索引的最近邻检索 W及结构化对等网络不支持关键词检索查询的问题。 阳120] 实施例二 阳121] 本实施例提供了一种结构化对等网络构建索引的装置,该装置用于执行上述实施 例一中的结构化对等网络的构建索引的方法,参见图4,该装置包括:
[0122] 索引参数选取模块1,用于给定12维索引数据集合D,选取哈希函数索引参数 (W,k,1)。
[0123] 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数。
[0124] 哈希表生成模块2与所述索引参数选取模块1连接,用于根据W下公式,将索引数 据集合D中的所有索引数据映射到1个哈希表的桶中,每个索引数据进行k次哈希运算进 入一个k维向量桶中;每个索引数据进入一个哈希表中的一个k维向量的桶中,每个桶标示 为一个k维向量,每个哈希表包括一系列的桶; 阳1巧]
[01%] 其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳 态分布的向量,曰1. .. 3k表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从 均匀分布的向量,Bi. .. Βκ表示从服从均匀分布的向量中选取的k个不同的向量,g(v)表示 一个k维向量桶。 阳127] 范数计算模块3与所述哈希表生成模块2连接,用于对于1个哈希表中的每个桶, 计算桶中随机点P的I2范数I Ip II 2。 阳12引根据W下公式计算随机点P的12范数: 阳 129]
阳13〇] 其中,P表不一个k维向量,Pi、P2,、...化表不k维向量中的一维。 阳131] 数据统计特征计算模块4与所述范数计算模块3连接,用于根据若干随机点P的 12范数Mp II 2估计索引数据集合D的正态分布。 阳132] 根据W下公式估计索引数据集合D的正态分布: 阳 1;33]
[0134] 其中,k表示每个索引数据进行k次哈希运算,W表示均匀分布区间的阔值;MpMz 表示随机点P的I2范数。
[0135] 区域划分模块5与所述数据统计特征计算模块和所述哈希表生成模块2连接, 用于根据所述正态分布,将桶空间分成常规区域和稀疏区域。其中,常规区域占总区域的 80 %,稀疏区域占总区域的20 %。
[0136] 桶向量映射模块6与所述区域划分模块5和所述哈希表生成模块2连接,用于根 据常规区域和稀疏区域,将1个哈希表中的每个桶分别映射到一维分布式哈希表的各个键 值中。
[0137] 对等网络映射模块7与所述桶向量映射模块6连接,用于根据1个哈希表生成1 个chord环,并用于根据chord路由协议,采用一致性哈希算法依次将各个键值插入到对等 网络的各个节点中。
[013引本实施例提供的装置,通过将化bed曲线非均匀的特点加 W改进。本发明提出一 种可扩展的结构化对等网络构建索引的方法,在高维海量数据集中执行最近邻查询。通过 采用Ip准则下的局部敏感哈希算法对高维空间的数据进行相似检索,并利用典型的哈希算 法与非均匀化化ert曲线结合,将高维的局部敏感哈希数据桶空间映射到一维DHT索引空 间。本发明的方法,同时考虑相似性检索和结构化对等网络维持的需求,索引本身具备局部 敏感特性,W及DHT网络的负载均衡能力,从而实现了高维数据的近似检索,解决了现有技 术中在空间维度上升时,空间填充曲线无法用于高维空间索引的最近邻检索W及结构化对 等网络不支持关键词检索查询的问题。 阳139] 实施例Ξ
[0140] 本实施例提供了一种结构化对等网络的检索方法,参见图5,本实施例提供的方法 流程具体如下: 阳141] S11,选取索引采用的哈希函数检索参数(W,k,l)。 阳142] 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数。 阳143] S12,根据W下公式,得到每个待检索点在1个哈希表中对应的1个k维桶向量;
[0144]
[0145] 其中,V表示待检索数据,a表示服从稳态分布的向量,曰1. .. a,表示从服从稳态分 布的向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Βκ表示从服从均匀 分布的向量中选取的k个不同的向量,g(v)表示一个k维向量桶。
[0146] S13,根据索引阶段的区域划分,确定每个待检索点所在的区域。 阳147] S14,根据每个待检索点所在的区域,将1个哈希表中与每个待检索点对应的1个 k维桶向量映射到一维分布式哈希表的键值中。 阳14引 S15,根据chord路由协议定位到对等网络的节点。 阳149] S16,在所述节点的哈希表中的同一个桶向量里计算欧式距离,将计算结果返回到 一个节点。
[0150] 从所述计算结果中选取欧式距离最近的η个点为待检索点的η-最近邻。 阳151] 优选的,可W对所述欧式距离的计算结果进行排序,将排序后的计算结果返回界 面进行显示,方便用户直观查看,从该结果中选取符合用户需求的η-最近邻作为结果。 [0152]本实施例提供的方法,实现了高维数据的近似检索,解决了现有技术中在空间维 度上升时,空间填充曲线无法用于高维空间索引的最近邻检索W及结构化对等网络不支持 关键词检索查询的问题。 阳153] 实施例四
[0154] 本实施例提供了一种结构化对等网络的检索装置,参见图6,该装置包括: 阳155] 检索参数选取模块11,用于选取索引采用的哈希函数索引参数(W,k,1)。 阳156] 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示 哈希表个数。
[0157] 桶向量获取模块12与所述检索参数选取模块连接,用于根据W下公式,得到每个 待检索点在1个哈希表中对应的1个k维桶向量; 阳15引
[0159] 其中,V表示待检索数据,a表示服从稳态分布的向量,ai. .. a,表示从服从稳态分 布的向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Βκ表示从服从均匀 分布的向量中选取的k个不同的向量,g(v)表示一个k维向量桶。
[0160] 区域定位模块13与所述检索参数选取模块11和所述桶向量获取模块12连接,用 于根据索引阶段的区域划分,确定每个待检索点所在的区域。 阳161] 桶向量映射模块14与所述检索参数选取模块11和所述区域定位模块13连接,用 于根据每个待检索点所在的区域,将1个哈希表中与每个待检索点对应的1个k维桶向量 映射到一维分布式哈希表的键值中。 阳162] 节点定位模块15与所述桶向量映射模块14连接,用于根据chord路由协议定位 到对等网络的节点。 阳163] 欧式距离计算模块16与所述节点定位模块15连接,用于在所述节点的哈希表中 的同一个桶向量里计算欧式距离,将计算结果返回到一个节点。从所述计算结果中选取欧 式距离最近的η个点为待检索点的η-最近邻。
[0164] 优选的,可W对所述欧式距离的计算结果进行排序,将排序后的计算结果返回界 面进行显示,方便用户直观查看,从该结果中选取符合用户需求的η-最近邻作为结果。 阳165] 本实施例提供的装置,实现了高维数据的近似检索,解决了现有技术中在空间维 度上升时,空间填充曲线无法用于高维空间索引的最近邻检索W及结构化对等网络不支持 关键词检索查询的问题。
[0166] 图7为一具体示例的二维非均匀化bed曲线图。
[0167] 下面举例说明本发明的技术方案: 阳168] 首先,给定维度为16的5个索引数据V,分别为VI,V2,…,V5,如下表1所示。 阳 169>]表 1 : 阳 170]
阳171] 其次,选取哈希函数索引参数:W = 2, k = 8, 1 = 1。
[0172] 从服从正态分布的向量中随机选取8个a,如下表2所示。8个16维向量a :每行 为一个a向量,分别有曰1,曰2,…,曰8。
[017引表2 : [0174]
[0175] 从服从均匀分布[0,W]的向量中随机选取8个B,如下表3所示。8个B为:分别 为 Bi, Bz,…,Bs。 阳176] 表3 : 阳 177]
[0178] 然后,根据哈希函数
每个索引数据构成k个哈希函数,形成哈希函 数族为g(v)=(/M …,,其中k为8。经过上述步骤后,5个索引数据进入1个哈希表中 的5个k维向量的桶中,每个索引数据生成一个桶gi,g2,…坑,对应得到5个8维桶向量,如 下表4所示。 阳179] 表4 : 阳 180]
[0181] W上就构成了一个索引哈希表4,由于选取了 1 = 1,即只生成1张表。 阳182] 下一步,将运5个索引数据根据非均匀化化ert曲线映射到一维分布式哈希表的 各个键值中。 阳183] 为便于解释,对于5个桶向量只取其8维中的前2维进行流程演示,如下表5所示, 即
[0184]表5: 阳化5]
阳186] 其中,本发明将上述5个桶向量作为随机点。
[0187] 在区域划分过程中,本实例中k = 2(上一步中k = 8,运里为了简化取其中前2 维),W = 2,计算随机点P的I2范数: 阳18引下一步,根据W下公式计算随机点P的12范数: 阳 189]
阳190] 求得随机点P的12范数取平均为7. 74。 阳191] 经过计算得到对应正态分布为N(l,3. 87),为便于直观查看,绘制图8。 阳192]图8是本发明该具体示例的正态分布面积分布图。其中,横坐标是一维数据的值, 纵坐标是累积面积占总面积的百分比。运样在每个维度的区域划分如下: 阳193] 常规区域和稀疏区域的分解点为-2. 20和4. 20,即稀疏区域为(负无穷,-2. 20) 和(4. 20,正无穷),只作为一个方块来进行化化ed曲线填充。常规区域为(-2. 20, 4. 20), 其中针对W = 2划分方块进行化化ert曲线填充。进而得到非均匀化化ert曲线填充方法 为: 阳194] 将每个维度划分为6个区域:(负无穷,-3),(-3,-1),(-1,1),(1,3) (3, 5),(5,正 无穷)。 阳1巧]可见,须采用6位化化ed编码,5个数据分别映射后如表6所示。 阳196] 表6 : 阳 197]
[0198] 经过上述步骤,完成构建索引。
[0199] 关于本发明检索方法的技术方案:
[0200] 同样取若干16维待检索数据V,同样经过上述构建索引的步骤。根据chord路由 协议定位到对等网络的节点。 阳201] 下一步,在所述节点的哈希表中的同一个桶向量里计算欧式距离,如果结果在同 一个桶内,则为查找到的最近邻数据;如果没有在任何一个桶内,则查找无最近邻结果。 悦02] 实施例五 阳203] 本实施例提供了一种结构化对等网络的检索系统,参见图9,该系统包括:构建索 引的装置20和检索装置30。
[0204] 其中,构建索引的装置20如上述实施例二提供的构建索引的装置; 阳205] 检索装置30如上述实施例四提供的检索装置。 阳206] 本实施例提供的系统,通过将化b&rt曲线非均匀的特点加 W改进。因每个h(p) 服从正态分布并依赖于点P本身,因此使用k个正态分布的总和分布估 计k维桶向量g (P)的正态分布,由此将桶空间分成两个区域,一个是常规区域,另一个是稀 疏区域。对于两个不同的区域,采用不同密度的曲线。本发明利用非均匀Hi化ert曲线,实 现了将高维桶向量映射到一维分布式哈希表的键值中,从而实现了高维数据的近似检索, 解决了现有技术中在空间维度上升时,空间填充曲线无法用于高维空间索引的最近邻检索 W及结构化对等网络不支持关键词检索查询的问题。 阳207] 需要说明的是:上述实施例提供的构建索引的装置在构建索引时,检索装置在进 行检索时,仅W上述各功能模块的划分进行举例说明,实际应用中,可W根据需要而将上述 功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,已完成W 上描述的全部或者部分功能。另外,上述实施例提供的构建索引的装置与构建索引的方法 实施例属于同一构思,上述实施例提供的检索装置与检索方法实施例属于同一构思,其具 体实现过程详见方法实施例。运里不再寶述。 阳20引通过上述技术方案,本发明实现了将局部敏感哈希算法扩展到分布式结构化对等 网络,提升了检索速度,同时,保留了原有集中式局部哈希算法检索的精度。 阳209] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0210] 本发明实施例中的全部或者部分步骤,可W利用硬件实现,也可W通过程序来指 令相关的硬件完成,所述的程序可W存储在可读取的存储介质中,如光盘或硬盘等。 阳211] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种结构化对等网络构建索引的方法,其特征在于,包括: 51, 给定12维索引数据集合D,选取哈希函数索引参数(W,k,l); 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示哈希 表个数; 52, 根据W下公式,将索引数据集合D中的所有索引数据映射到1个哈希表的桶中;其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳态分 布的向量,ai. .. Sk表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从均匀 分布的向量,Bi. .. Bk表示从服从均匀分布的向量中选取的k个不同的向量,g (V)表示一个 k维向量桶; 53, 根据范数公式,计算桶中随机点P的12范数I IpM 2:其中,I IpI I2表示P的I2范数,P表示一个k维向量的桶,Pi…化表示一个k维向量桶 中的每一维度; 54, 根据W下公式,计算索引数据集合D的数据统计特征:表示正态分布公式,k表示每个索引数据进行k次哈希运算,M P M 2表 示P的12范数,W表示均匀分布区间的阔值; 55, 根据所述数据统计特征,将桶空间分成常规区域和稀疏区域; 56, 根据常规区域和稀疏区域,将向量桶映射到一维分布式哈希表的各个键值中; 57, 根据chord路由协议,依次将各个键值插入到对等网络的各个节点中。2. 根据权利要求1所述的结构化对等网络构建索引的方法,其特征在于,所述常规区 域占总区域的80%,所述稀疏区域占总区域的20%。3. -种结构化对等网络构建索引装置,其特征在于,所述装置包括: 索引参数选取模块(1),用于给定12维索引数据集合D,选取哈希函数索引参数 (W, k, 1); 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示哈希 表个数; 哈希表生成模块(2),用于根据W下公式,将索引数据集合D中的所有索引数据映射到 1个哈希表的桶中;其中,h(v)表示哈希函数公式,V表示索引数据集合D中的索引数据,表示服从稳态分 布的向量,ai. .. Sk表示从服从稳态分布的向量中选取的k个不同的向量,B表示服从均匀 分布的向量,Bi. .. Bk表示从服从均匀分布的向量中选取的k个不同的向量,g (V)表示一个 k维向量桶; 范数计算模块(3),用于根据W下公式,计算桶中随机点P的12范数I IpM 2:其中,I I P I I 2表示P的1 2范数,P表示一个k维向量的桶,P 1…化表示一个k维向量桶 中的每一维度; 数据统计特征计算模块(4),用于根据W下公式,计算索引数据集合D的数据统计特 征:表示正态分布公式,k表示每个索引数据进行k次哈希运算,I IpI Iz 表示P的I2范数,W表示均匀分布区间的阔值; 区域划分模块巧),用于根据所述数据统计特征,将桶空间分成常规区域和稀疏区域; 桶向量映射模块化),用于根据常规区域和稀疏区域,将向量桶映射到一维分布式哈希 表的各个键值中;和 对等网络映射模块(7),用于根据chord路由协议,依次将各个键值插入到对等网络的 各个节点中。4. 根据权利要求3所述的结构化对等网络构建索引装置,其特征在于,所述常规区域 占总区域的80%,所述稀疏区域占总区域的20%。5. -种结构化对等网络的检索方法,其特征在于,包括: S11,选取索引采用的哈希函数检索参数(W,k,l); 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示哈希 表个数; 512, 根据W下公式,得到每个待检索点在1个哈希表中对应的1个k维桶向量;其中,V表示待检索数据,a表示服从稳态分布的向量,ai. .. a,表示从服从稳态分布的 向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Bk表示从服从均匀分布 的向量中选取的k个不同的向量,g(v)表示一个k维向量桶; 513, 根据索引阶段的区域划分,确定每个待检索点所在的区域; 514, 根据每个待检索点所在的区域,将1个哈希表中与每个待检索点对应的1个k维 桶向量映射到一维分布式哈希表的键值中; 515, 根据chord路由协议定位到对等网络的节点; 516, 在所述节点的哈希表中的同一个桶向量里,计算桶中每个点到请求点的欧式距 离,将欧式距离计算结果返回到一个节点。6. 根据权利要求5所述的结构化对等网络的检索方法,其特征在于,所述区域包括稀 疏区域和常规区域,所述常规区域站总区域的80%,所述稀疏区域占总区域的20%。7. -种结构化对等网络的检索装置,其特征在于,所述装置包括: 检索参数选取模块(11),用于选取索引采用的哈希函数检索参数(w,k,I); 其中,W表示均匀分布区间的阔值,k表示每个索引数据进行k次哈希运算,1表示哈希 表个数; 桶向量获取模块(12),用于根据W下公式,得到每个待检索点在1个哈希表中对应的1 个k维桶向量;其中,V表示待检索数据,a表示服从稳态分布的向量,ai. .. a,表示从服从稳态分布的 向量中选取的k个不同的向量,B表示服从均匀分布的向量,Bi. .. Bk表示从服从均匀分布 的向量中选取的k个不同的向量,g(v)表示一个k维向量桶; 区域定位模块(13),用于根据索引阶段的区域划分,确定每个待检索点所在的区域; 桶向量映射模块(14),用于根据每个待检索点所在的区域,将1个哈希表中与每个待 检索点对应的1个k维桶向量映射到一维分布式哈希表的键值中; 节点定位模块(15),用于根据chord路由协议定位到对等网络的节点;和 欧式距离计算模块(16),用于在所述节点的哈希表中的同一个桶向量里计算欧式距 离,将欧式距离计算结果返回到一个节点。8. 根据权利要求7所述的结构化对等网络的检索装置,所述区域包括稀疏区域和常规 区域,所述常规区域站总区域的80%,所述稀疏区域占总区域的20%。9. 一种结构化对等网络的检索系统,其特征在于,所述系统包括:结构化对等网络构 建索引的装置(20)和结构化对等网络的检索装置(30); 所述结构化对等网络构建索引的装置如权利要求3至权利要求5中任一权利要求所述 的构建索引的装置; 所述结构化对等网络的检索装置如权利要求7所述的检索装置。
【文档编号】G06F17/30GK105989078SQ201510072216
【公开日】2016年10月5日
【申请日】2015年2月11日
【发明人】刘大伟, 刘玮, 隋雪青, 程学旗, 戴鹏飞
【申请人】烟台中科网络技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1