基于谱哈希的相似性存储设计方法技术

技术编号:13234169 阅读:139 留言:0更新日期:2016-05-14 21:46
本发明专利技术公开一种基于谱哈希的相似性存储设计方法,利用谱哈希方法与数据映射算法相结合,快速地将不同种类的高维数据映射到基于分布式哈希表的分布式节点空间。通过将哈希表分布在Chord环上构建,同时利用设计的新型数据映射算法将相应的哈希桶映射到Chord环上,从而保证了两个哈希桶内的数据越相近则两个桶在Chord环上距离越近,并且提出了虚拟桶的概念,将每个物理节点服务器看作一个或多个虚拟桶,通过动态的调整每个虚拟桶的负载,使得Chord环上的节点满足负载均衡。解决了相似性查询时系统查询开销过大问题,提高了数据的查询效率。

【技术实现步骤摘要】

本专利技术涉及存储和机器学习
,具体涉及一种基于谱哈希的相似性存储设 计方法。
技术介绍
谱哈希(Spectral Hashing,SH)通过对样本数据集合进行训练获得一个相应的哈 希函数,然后利用此函数对高维数据点进行降维生成低维二进制数据。谱哈希不仅可提高 查询效率,而且在汉明空间中所计算样本距离与原始高维空间所计算样本距离能保持一 致。谱哈希在近似搜索降低哈希比特方面比其他哈希方法,比如局部敏感哈希(Locality-Sensitive Hashing,LSH)方法更优秀。 -般哈希桶定义是指原始空间数据通过某种哈希方法被映射到相对应的桶中,每 个哈希桶包含的是哈希值相同的原始数据。若把通过谱哈希得到的哈希桶作为存储单元作 相似性存储,由于没有对桶做负载均衡处理,容易造成存储系统中某个节点负载过大,没有 实现数据分布式存储,这样对数据查询时容易消耗大量系统带宽,严重影响系统的性能。
技术实现思路
鉴于以上技术中的不足之处,本专利技术提出一种基于谱哈希的相似性存储设计方 法,保证相近的节点服务器中包含相似原始空间数据,以解决相似性查询时系统查询开销 过大问题。 ,其特征在于,包括 步骤1、通过对数据集进行学习并且训练得到谱哈希的映射函数,然后将高维原始 数据项u作为映射函数的输入项,计算出每个数据项的k维二进制哈希编码V,把具有相同哈 希编码的数据项放入同一个哈希桶中,V作为相应哈希桶的桶编号; 步骤2、根据哈希桶编号V计算每个哈希桶在Chord环上的位置, ecauchy(v) =a. V 其中向量a满足标准柯西分布,为从p-稳态分布中抽取k个随机变量组成的k维向 量,V表示哈希桶的桶编号,若两个哈希桶中数据项在原始高维空间中比较相似,则它们在 相应的Chord环上的节点服务器的位置有极大概率相近; 步骤3、查找Chord路由表找到V所属的哈希桶所在的Chord环上的虚拟桶。 还包括步骤4、虚拟桶负载过大时,对Chord环上的虚拟桶进行桶负载调控。 所述桶负载调控的过程为: A4-1.计算负载过重的虚拟桶的节点P上的各个ε的一维实数值ε '所对应的虚拟桶 内的原始数据项数量之和,并记包含最大、最小值的虚拟桶对应的位置分别为emax'和 A4-2 .选择适当的整数erefer ',它使得和(erefer ',emax ' ]之间的虚拟 桶内的原始数据项数量之和均等; A4-3.分配一个新的虚拟节点P',其位置为erefer',将范围内的虚拟 桶包含的数据迀移到P'所在的虚拟桶,同时修改两个节点的索引表。 本专利技术的有益效果:采用谱哈希方法将高维原始空间数据映射到汉明空间,避免 了采用LSH方法产生大量哈希表占用大量内存的问题;采用新型的数据映射算法,将哈希桶 映射到Chord环上,使得拥有相似原始数据的哈希桶在Chord环上也相近,为相似性存储提 供很好的理论依据;通过新型桶负载均衡的方法有效地避免了可能出现的哈希桶负载过重 的情况。【附图说明】 图1为的流程图。【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并 不用于限定本专利技术。 如图1所示为基于谱哈希的相似性存储的设计方法。该方法主要分三个层次,分别 为:利用谱哈希进行数据映射,数据映射方法,Chord的构建,具体实施步骤包括如下: (1)利用谱哈希进行数据映射 谱哈希是将谱分析技术融合进哈希函数中,将构造的新的哈希函数用于高维数据 的处理上。谱哈希首先需要对高维数据样本进行谱分析,利用特征函数,通过分析高维数据 样本的平均分布,生成一个谱哈希函数。因此谱哈希的动机就是给定一个高维样本数据库 进行训练,找到一个理想的哈希函数。这个哈希函数可以将相似的高维数据点哈希到一个 相似的值上。 具体算法包含以下几个步骤: 1)利用主成分分析从高维数据样本集合当中获取主成分。 2)根据1)中的结果生成二元索引映射函数。 3)利用2)中的结果对训练集合之外的高维数据建立索引文件,生成对应的海明编 码,实现高维数据的查询。谱哈希的查询效率是非常高的,此外在语义哈希中引入了谱分析 技术对样本进行训练所产生的哈希函数与LSH随机映射的方法相比更加可靠与准确。 (2)数据映射算法 通过过谱哈希的特点,快速地将不同种类的高维数据哈希到不同的桶中。因此,使 用该特征将高维数据映射到不同的节点空间中,实现相似性存储和分布式索引。 ξ:表示将高维数据点映射到节点空间的函数。具体方法是将每一个哈希桶分布在 不同的节点之上。这种方法虽然解决了节点负载均衡的问题,但对于一个查询请求而言,需 要查询多个节点,增加了查询跳转的所带来的网络开销与时间延迟。因此,理想的映射函数 应满足以下条件: 1、将拥有相似高维数据点的桶映射到同一个节点上; 2、能够保持各个节点负载均衡。对于以上条件条件,利用数据映射函数eCauchy(v)=a.V将k_维整数向量V映射到分 布式网络的空间中,a是满足标准柯西分布的k-维随机向量,用ε Cauchy代表哈希桶在Chord环 上的位置。因此把哈希桶映射到分布式节点空间中。谱哈希先将d-维数据映射到各个桶中, 然后利用函数ξ将各个桶映射到各个分布式网络节点上。这样既能保证拥有相似数据的桶 映射到同一节点上,也能保证各当前第1页1 2 本文档来自技高网...

【技术保护点】
基于谱哈希的相似性存储设计方法,其特征在于,包括步骤1、通过对数据集进行学习并且训练得到谱哈希的映射函数,然后将高维原始数据项u作为映射函数的输入项,计算出每个数据项的k维二进制哈希编码v,把具有相同哈希编码的数据项放入同一个哈希桶中,v作为相应哈希桶的桶编号;步骤2、根据哈希桶编号v计算每个哈希桶在Chord环上的位置,εCauchy(v)=a.v其中向量a满足标准柯西分布,为从p‑稳态分布中抽取k个随机变量组成的k维向量,v表示哈希桶的桶编号;步骤3、查找Chord路由表找到v所属的哈希桶所在的Chord环上的虚拟桶。

【技术特征摘要】

【专利技术属性】
技术研发人员:胡海峰黄赛金吴建盛
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1