[发明专利]基于对等结构的分布式高维索引并行查询框架有效
申请号: | 201210038115.0 | 申请日: | 2012-02-17 |
公开(公告)号: | CN102622414A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 丁贵广;林梓佳;文海龙;王建民 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 对等 结构 分布式 索引 并行 查询 框架 | ||
技术领域
本发明涉及计算机信息检索技术领域,特别涉及一种基于对等结构的分布式高维索引并行查询框架。
背景技术
基于内容的图像检索、视频检索等技术的迅速发展,使得高维索引技术得到越来越广泛的发展和应用。高维索引技术的应用,主要是为了加快检索速度,进而提升用户的查询体验。在目前已有的绝大部分应用中,高维索引的查询实际上就是在语义层面上检索查询对象的前k个最近邻(k Nearest Neighbors,简称kNN)。
一般而言,基于内容的检索技术首先需要将海量的候选对象(图像、视频等)转化为高维特征向量,以量化的形式尽可能保存对象本身的特征。然后,需要对提取出来的海量高维向量进行索引。当用户提交查询对象时,经过量化转化为同等维度的高维特征向量,并利用高维索引结构,快速检索出其kNN,并将结果返回。在大部分应用场景下,高维索引的创建是允许离线的,对于实时性没有过高的要求,但对稳定性、可靠性和完整性要求较高。而对于高维索引的查询,实际应用中的需求十分明确和严格,必须是尽可能精确、快速、可靠,并且支持动态增减的海量候选对象的检索。这也正是本发明着重思考和解决的问题。
随着各类应用的推广,高维索引技术在学术界和工业界都引起了广泛的关注,并涌现了大量提升高维索引创建和查询效率的算法与方案。高维索引的效率提升策略,目前总体上可以划分为三大类。第一类是以降低kNN精确度的代价来提高效率的,亦即只查询近似kNN。第二类则是通过改变索引结构提升索引的创建和查询速度,但是经过几十年的研究,目前尚未发现十分高效的支持上百维甚至更高维度的索引结构。第三类则是从索引系统的架构上进行改进,通过引入并行索引系统提升创建和查询的速度,然而,目前在实时可靠并行系统的研究方面,由于技术壁垒的存在,相关技术很难被广泛应用。另外,传统的主从式索引查询架构缺乏自组织性,并且容易出现性能瓶颈。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种基于对等结构的分布式高维索引并行查询框架,该分布式高维索引并行查询框架基于对等结构,具有实时的、可靠的、支持动态增减的海量候选对象检索的优点,且查询速度快。
为了实现上述目的,本发明的实施例提出了一种基于对等结构的分布式高维索引并行查询框架,包括:索引创建模块、监视器模块、对等站点集群以及负载软均衡模块,其中,所述索引创建模块用于对海量候选对象进行分割并为每个分割部分创建索引以得到多个索引块文件,并对所述索引块文件进行存储,其中,所述索引块文件包括索引块信息,所述监视器模块用于检测所述对等站点集群中的工作站点的可用内存信息以及每个工作站点对应的索引块信息以根据检测结果对每个工作站点所加载的索引块进行协调以及向每个工作站点发送对等站点列表更新指令,所述对等站点集群中的工作站点根据自身的索引块信息对相应的索引块文件进行加载或卸载,且根据用户发送的查询请求在相应的索引块文件中进行查询并将查询结果进行整合和输出,所述负载软均衡模块用于获取所述监视器模块中的当前工作站点列表以根据所述工作站点列表对当前工作站点进行负载均衡控制,且所述负载软均衡模块定时由所述监视器模块进行同步以便所述负载软均衡模块对当前可用的工作站点列表进行调整和更新。
根据本发明实施例的基于对等结构的分布式高维索引并行查询框架采用效率高的索引结构,具体地,采用Hybrid Spill Tree作为基本的索引结构(高维索引结构),且采用对等站点的架构方式,在实时性、可靠性、稳定性、可扩展性、自组织性等方面都做了较为全面的保障。可以高效进行查询,并且具有较强的可扩展性,可以方便地迁移到各种基于内容的搜索系统中,且具有查询速度快的优点。另外,该基于对等结构的分布式高维索引并行查询框架结构清晰,易于实现。
另外,根据本发明上述实施例的基于对等结构的分布式高维索引并行查询框架还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述索引创建模块进一步包括:索引创建子模块,所述索引创建子模块采用Map Reduce框架对多个数据分割部分并行创建索引以得到所述多个索引块文件;分布式存储系统,所述分布式存储系统用于保存所述多个索引块文件。
在本发明的一个实施例中,所述监视器模块还用于在检测到索引块文件更新后对非工作站点集群发送索引加载指令以使所述非工作站点集群进入工作状态,所述索引块文件加载完毕后所述监视器模块将进行集群切换,并使用已加载最新索引的工作站点集群,将原有工作站点集群置于非工作状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210038115.0/2.html,转载请声明来源钻瓜专利网。