在分布式系统中存储和搜索带标签的内容项的方法技术方案

技术编号:10566512 阅读:156 留言:0更新日期:2014-10-22 17:25
一种在分布式数据交换系统用于存储带标签的内容项的方法,包括:A1.为与内容项相关的标签生成布隆1滤波器;A2.生成由布隆1滤波器的成员字与布隆1滤波器的成员字索引的并列组成的键,成员字表示布隆1过滤器的非空部分;A3.生成包括与所述内容项相关的所有标签的紧凑表示以及对所述内容项的存储位置的引用的值;和A4.添加由键和值组成的键值对到分布式哈希表,所述方法进一步包括针对检索带标签的内容项的以下步骤:B1.接收包含多个关键字的搜索查询;B2.选择关键字;B3.从分布式哈希表中检索具有以关键字作为相关标签的内容项的第一引用列表;以及B4.通过所有标签的所述紧凑表示过滤所述第一列表,以获得到包括以搜索的所有关键字作为相关标签的内容项的第二引用列表。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】一种在分布式数据交换系统用于存储带标签的内容项的方法,包括:A1.为与内容项相关的标签生成布隆1滤波器;A2.生成由布隆1滤波器的成员字与布隆1滤波器的成员字索引的并列组成的键,成员字表示布隆1过滤器的非空部分;A3.生成包括与所述内容项相关的所有标签的紧凑表示以及对所述内容项的存储位置的引用的值;和A4.添加由键和值组成的键值对到分布式哈希表,所述方法进一步包括针对检索带标签的内容项的以下步骤:B1.接收包含多个关键字的搜索查询;B2.选择关键字;B3.从分布式哈希表中检索具有以关键字作为相关标签的内容项的第一引用列表;以及B4.通过所有标签的所述紧凑表示过滤所述第一列表,以获得到包括以搜索的所有关键字作为相关标签的内容项的第二引用列表。【专利说明】
本专利技术一般地涉及在例如云计算系统、社会网络等的大型分布式数据交换系统中 存储和搜索带标签的内容项。在这样的系统中,大量的联网计算设备协作以提供用于存储 和检索用户标记或机器标记的内容项的基础设施,这样的内容项例如数据文件、图片、电 影、服务和/或其他资源。与内容项相关的标签表示可以被用户生成,或者可以例如通过照 片被上传到系统时的面部识别软件或诸如此类而被自动生成的元数据。典型地,数百万用 户同时通过多个关键字查询分布式环境中搜索内容项。因此,本专利技术一般的目的是提供一 种有效的、可扩展的计算机实现的方法和应用,用于在分布式数据交换系统存储内容项以 及对存储在这种系统中的内容项执行多关键字搜索。
技术介绍
在大规模分布式数据系统中存在用于多关键字搜索的各种机制。在一般情况下, 这些现有的机制或者是由于使用单点故障而不可靠,或者是由于通过过度节点访问和处理 资源的使用而效率低下,这将在下面解释。 关系数据库是使内容可搜索的最常用方法。虽然这样的关系数据库使用各种技术 来避免成为比如对复制和备份的单点故障,他们基本上依赖于昂贵的、集中的基础设施。关 系型数据库基础架构通常受制于尺寸问题,即鉴于实际的或预期的系统负载的过度供应或 供应不足,或者受制于可靠性、可维护性和可升级性方面的问题,例如由于这样的关系型数 据库的集中性的而影响到服务。 已经部署了可代替关系数据库、不再依赖于中央实体的对等系统。但是在这样的 对等系统中执行多关键字搜索仍然是一个复杂而高成本的操作,通常包括到索引的外部搜 索引擎并提供对内容项的访问。以下段落描述了如今在这样的对等系统中最常用的多关键 字搜索机制。 非结构化搜索依赖于向分布式系统中的所有节点广播所述多关键字搜索查询。每 个接收搜索查询的节点返回存储在该节点中和具有所需的键作为相关标签的一组内容项。 非结构化搜索以搜索查询淹没了分布式系统中的节点或服务器。在大规模分布式 系统中,每个节点需要处理数以百万计的搜索查询,即使搜索查询与该服务器不相关,这会 导致过载、响应时间慢和处理资源的低效率使用。 在分布式哈希表或者DHT中,指向内容项的指针,即因内容本身的而不同的元数 据,例如URL、标签、大小、日期、作者等,存储在对应于与内容项相关的每个标签的地址上。 与内容项相关的每个标签被散列,以便获得DHT中相应的地址,其中指向内容项的指针将 被存储在DHT中。指向内容项的地址和指针表示键-值对。在基于DHT的系统中执行多关 键字搜索包括散列形成搜索查询的一部分的关键字、在对应于散列键的地址上访问DHT、利 用存储在这些地址中的指针来检索关于含有至少一个所需关键字的内容的元数据、并在合 并操作中过滤不包含所有所需的关键字的内容项。 DHT的缺点在于多关键词查询的每个关键字需要被散列,以及元数据(即内容的 标签、到内容的指针等)必须从分布式系统中的节点针对每个关键字进行检索,从而导致 低效的网络使用率、重复的结果、非相关指针等,另外,必须执行相当复杂和计算密集型的 合并操作。 布隆过滤器是位阵列,可以用于检测多关键字搜索查询的多个或所有关键字是否 在与内容项相关的标签中出现。与内容项相关的每个标签经过若干哈希函数的被映射到位 阵列的特定位置。位排列在这些位置被设置为"1",而在阵列中的其它位保持为"0"。为了 执行多关键字搜索,在搜索查询中的每个关键字被散列以生成搜索查询布隆过滤器。该布 隆过滤器与针对所有内容项而生成的布隆过滤器相比较,以便在搜索查询布隆过滤器中选 择至少具有位设置" 1"的内容项。 基于布隆过滤器的搜索没有生成假阴性,但由于在不同的标签/关键字的上的哈 希函数生成的位阵列位置的重叠,假阳性搜索结果是有可能的。假阳性的数量随着与内容 项相关的标签数量而增加,并且随着多关键字搜索查询的关键字数量而增加。其结果是,例 如的标签精确字符串匹配的额外机制可能会被采用以在额外步骤中除去假阳性中。 文献中已经提出了上述机制的若干组合。对于大规模分布式数据交换系统 的多关键字搜索,作者为Xing Jin、W.-P. Ken Yiu和S.-H Gary Chan,出版于IEEE ICC 2006Proceedings 的文章 "Supporting Multiple-Keyword Search in a Hybrid Structured Peer-to-Peer Network"描述了基于布隆过滤器的Mkey方案。当大量标签与 内容项相关时,例如每个内容项超过30个标签,Mkey方案在存储的数据指针和搜索的地址 中提供了好处。对于大多数数据共享的应用程序,这样大量的标签关联是不同寻常的。 因此,本专利技术的目的是公开一种计算机实现的方法和应用,用于在分布式数据交 换系统中存储带标签的内容项,以及用于在解决了现有机制的上述缺陷的系统中执行多关 键字搜索。更具体地讲,本专利技术的目的在于公开一种用于存储/检索带标签的内容项的方 法及应用,以有效的方式保持可扩展性、达到同时数百万个多个关键字搜索的产品规模,即 具有内容标签关联的紧凑表示,到分布式存储器的访问减少,并且假阳性的出现下降。
技术实现思路
根据本专利技术,通过权利要求1所限定的用于在分布式数据交换系统中存储和检索 带标签的内容项来实现上述定义的目标, 针对带标签的内容项的存储以及针对与所述内容项相关的每个标签,所述方法包 括以下步骤: A1.为标签生成布隆1过滤器; A2.生成键,所述键由所述布隆1过滤器的成员字与所述布隆1过滤器的成员字索 引的并列组成,所述成员字表示所述布隆1过滤器的非空部分; A3.生成值,所述值包括与所述内容项相关的所有标签的紧凑表示以及对所述内 容项的存储位置的引用;和 A4.添加键值对到分布式哈希表,所述键值对由所述键和所述值组成, 所述方法进一步包括针对检索带标签的内容项的以下步骤: B1.接收包含多个关键字的搜索查询; B2.从所述多个关键字中选择出关键字; B3.从所述分布式哈希表中检索具有以所述关键字作为相关标签的内容项的第一 引用列表;以及 B4.通过所有标签的所述紧凑表示过滤所述第一列表,以获得到包括以所述搜索 的所有关键字作为相关标签的内容项的第二引用列表。 为了保持数千同时存在的用户和数百万带标签的内容本文档来自技高网
...

【技术保护点】
一种在分布式数据交换系统用于存储和检索带标签的内容项的方法,针对带标签的内容项的存储以及针对与所述内容项相关的每个标签,所述方法包括以下步骤:A1.为与所述内容项相关的所述标签生成布隆1滤波器;A2.生成键,所述键由所述布隆1滤波器的成员字与所述布隆1滤波器的成员字索引的并列组成,所述成员字表示所述布隆1过滤器的非空部分;A3.生成值,所述值包括与所述内容项相关的所有标签的紧凑表示以及对所述内容项的存储位置的引用;和A4.添加键值对到分布式哈希表,所述键值对由所述键和所述值组成,所述方法进一步包括针对检索带标签的内容项的以下步骤:B1.接收包含多个关键字的搜索查询;B2.从所述多个关键字中选择出关键字;B3.从所述分布式哈希表中检索具有以所述关键字作为相关标签的内容项的第一引用列表;以及B4.通过所有标签的所述紧凑表示过滤所述第一列表,以获得到包括以所述搜索的所有关键字作为相关标签的内容项的第二引用列表。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:B·西坦恩F·皮安尼斯
申请(专利权)人:阿尔卡特朗讯公司
类型:发明
国别省市:法国;FR

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

1