[发明专利]一种分布式检索方法及装置在审
申请号: | 201610105198.9 | 申请日: | 2016-02-25 |
公开(公告)号: | CN107122370A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 林治晖;沈朝阳 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 李红爽,栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 检索 方法 装置 | ||
技术领域
本发明涉及信息检索领域,尤其涉及一种分布式检索方法及装置。
背景技术
相似信息识别技术目前被广泛使用,一种典型应用场景是在海量信息中检测相似信息的存在,例如在搜索引擎爬虫系统中进行网页去重;另一种典型应用场景是用来检测相似信息出现的频度,例如在反垃圾系统中进行相似邮件数量的检测。
SIMHASH是一种较为常见的重复信息识别算法,SIMHASH可以将文档等信息转换成一个64位的字节,本文称为指纹;如果两个信息所计算出的指纹的海明距离<n(根据经验这个n一般取值为3),就认为两个信息相似;其中,海明距离是指两个字节(比如所述指纹)的对应比特取值不同的比特个数。比如指纹FP1和指纹FP2除了第27位、第55位上的比特取值不同,其它62位上的比特取值都相同,则认为指纹FP1是FP2的相似指纹,FP2也是FP1的相似指纹。
目前,在分布式系统中使用SIMHASH算法有以下两种方案:
第一种方案:在存储信息或检索信息时,利用SIMHASH计算待存储信息或待检索信息的64位指纹;随机从多台服务器中选取一台服务器;将计算出的指纹发往所选取的服务器;服务器收到指纹后,使用SIMHASH单机方案存储所述待存储信息的指纹,或者检索所述待检索信息的指纹的相似指纹并对相似指纹进行计数。
第一种方案的主要缺陷在于:相似指纹的计数不准确,存储时将待存储信息的指纹随机分布到N台服务器中的某一台服务器上,因此检索结果是一台服务器中相似指纹的计数值。这样所得到的相似指纹的计数不稳定,在 不同服务器上检索会得到不同的检索结果。
第二种方案:将指纹存储在多个服务器上;在检索时向多个服务器发送待检索信息的指纹;每个服务器分别检索待检索信息的指纹的相似指纹并计数;由于存储和检索均分布到多个服务器完成,因此有可能出现重复计数的问题;比如两个服务器中都保存有上文的指纹FP1,如果这两个服务器都收到待检索信息的指纹FP2,则都会对相似指纹FP1进行计数。为了进行计数去重,第二种方案中,进行检索的服务器需要将相似指纹和计数值返回给发起检索的客户端,由客户端通过汇总、比较相似指纹进行去重。
上述方案的主要缺陷在于:需要额外的去重操作,处理速度慢。如果不同服务器查到的相似指纹是重复的,不同服务器发送给客户端相同的相似指纹将会浪费网络流量。
发明内容
本申请提供了一种分布式检索方法及装置,可以解决在分布式系统中进行相似信息识别时计数不稳定、需要额外的计数去重操作的问题。
本申请采用如下技术方案。
一种分布式检索方法,应用于服务器,包括:
收到检索请求后,根据所述检索请求中携带的待检索信息的指纹,在所保存的指纹中查找相似指纹;
对于查找到的每个相似指纹,分别进行如下操作:将该相似指纹的分段和所述待检索信息的指纹的分段按照预定顺序依次对应比较,当找到第一个完全相同的分段后停止比较;将该完全相同的分段的标识和所述检索请求中携带的标识进行比较,如果相同则在计数结果中包含该相似指纹;其中,分段的划分以及每个分段的标识根据第一预定规则确定;
返回所述计数结果。
可选地,所述的方法还包括:
如果所述完全相同的分段的标识和所述检索请求中携带的标识不同,则不在所述计数结果中包含相应的相似指纹。
可选地,所述分段的标识为所述分段的序号。
可选地,所述根据所述检索请求中携带的待检索信息的指纹,在所保存的指纹中查找相似指纹包括:
根据第一预定规则,从所述检索请求携带的所述待检索信息的指纹中,获取所述检索请求携带的标识对应的分段;
在所保存的分段中,查找与所获取的分段完全相同的分段;其中,所保存的每个分段至少属于所保存的指纹中的一种指纹;
在所保存的指纹中,筛选出所查找到的分段所对应的指纹,将筛选出的指纹分别和所述待检索信息的指纹进行比较,找出相似指纹。
可选地,所述在所保存的指纹中,筛选出所查找到的分段所对应的指纹包括:
以所查找到的分段的值作为键名查找对应的键值;一个分段的值所对应的的键值为所保存的指纹中所有包含该分段的指纹。
可选地,所述在所保存的分段中,查找与所获取的分段完全相同的分段包括:
在所保存的、以所述检索请求携带的标识作为索引的分段中,查找与所获取的分段完全相同的分段。
一种分布式检索方法,应用于客户端,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610105198.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种业务数据处理方法、装置和系统
- 下一篇:用于数据处理的方法和装置