[发明专利]分类方法、查找方法和设备有效
申请号: | 201410373639.4 | 申请日: | 2014-07-31 |
公开(公告)号: | CN105302838B | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 虞志益;周力君;施炜劲;周海捷 | 申请(专利权)人: | 华为技术有限公司;复旦大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分类 方法 查找 设备 | ||
本发明实施例提供了一种分类方法、查找方法和设备。该分类方法用于包括X个节点和一个主节点的分布式系统中,该分类方法包括:第一节点将主节点分配的待分类数据进行哈希编码得到哈希码,第一节点为该X个节点之一;第一节点将多个哈希码根据高m位存储到第一节点的s个第一存储桶中,使得s个第一存储桶中的每个第一存储桶中的哈希码的具有相同的高m位,并且s个第一存储桶中的不同第一存储桶中的哈希码具有不同的高m位;第一节点与X个节点中的第二节点交换各自的s个第一存储桶中的哈希码,使得具有相同高m位的哈希码唯一对应所述X个节点中的一个节点。本发明实施例的技术方案使得在查找时能够提高查找速度。
技术领域
本发明涉及通信领域,尤其涉及分类方法、查找方法和设备。
背景技术
基于Mahout机器学习平台的分布式集群文本分类技术,将任务切割给多个从机并行执行,由主机汇总词频。在Mahout平台中文本查找使用哈希树结构来完成新输入单词的词频查找过程,利用哈希函数对字符串生成32位(bits)的哈希编码进行寻址。对于每个从机,采用双重哈希线性探测的方法,来匹配特定单词并统计词频。双重哈希线性探查法使用两个哈希函数在哈希表中形成一个探查序列。可以沿此探查序列逐个查找,直到找到给定的关键字。由于哈希树是分布式地存放在集群各节点(即从机)中,探查序列对应的哈希地址跳跃地分布在整个分布式集群中各节点对应的哈希表中。因此在采用双重哈希线性探查法查找存在冲突的关键字时,需要跨节点查找,查找速度较慢。
发明内容
本发明实施例提供了一种分类方法、查找方法和设备,使得在查找时能够提高查找速度。
第一方面,提供了一种分类方法,分类方法用于分布式系统中,分布式系统包括一个主节点和X个节点,方法包括:第一节点将主节点分配的待分类数据进行哈希编码得到多个哈希码,第一节点为X个节点之一;第一节点将多个哈希码根据高m位存储到第一节点的s个第一存储桶中,使得s个第一存储桶中的每个第一存储桶中的哈希码具有相同的高m位,并且s个第一存储桶中的不同第一存储桶中的哈希码具有不同的高m位;第一节点与X个节点中的第二节点交换各自的s个第一存储桶中的哈希码,使得X个节点中的每个节点的第二存储桶存储X个节点中的具有相同高m位的哈希码,并且X个节点中的不同节点的第二存储桶中存储的哈希码具有不同的高m位;第一节点将X个节点中与第一节点对应的具有相同高m位的哈希码存储到第一节点的第二存储桶中。
结合第一方面,在第一种可能的实现方式中,第一节点与X个节点中的第二节点交换各自的s个第一存储桶中的哈希码,使得X个节点中的每个节点的第二存储桶存储X个节点中的具有相同高m位的哈希码,包括:第一节点确定第二节点对应的哈希码的高m位,将与第二节点对应的哈希码的高m位相同的第一节点的第p个存储桶中的哈希码发送至第二节点,以便第二节点将第一节点的第p个存储桶中的哈希码与具有相同高m位的第二节点的第q个存储桶中的哈希码存储在第二节点的第二存储桶中;第一节点接收第二节点发送的第x个存储桶中的哈希码,其中,第一节点将X个节点中与第一节点对应的具有相同高m位的哈希码存储到第一节点的第二存储桶中,包括:第一节点将第二节点发送的第x个存储桶中的哈希码与具有相同高m位的第一节点的第y个存储桶中的哈希码存储在第一节点的第二存储桶中,使得具有相同高m位的哈希码唯一对应X个节点中的一个节点。
结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,该分类方法还包括:第一节点将第一节点的第二存储桶中的哈希码根据次高n位存储到t个第三个存储桶中,其中t个第三存储桶中的每个第三存储桶中的哈希码具有相同的高m位和次高n位,并且t个第三存储桶中的不同第三存储桶中的哈希码具有不同的高m位和次高n位。
结合第二种可能的实现方式,在第三种可能的实现方式中,该分类方法还包括:第一节点将t个第三存储桶中的每个第三存储桶中的哈希码排序;第一节点获取每个第三存储桶中的预设哈希码和预设哈希码在第三存储桶中的位置信息;第一节点根据每个第三存储桶中的预设哈希码和预设哈希码在第三存储桶中的位置信息生成查找表,以便第一节点根据查找表确定待查找的哈希码在第三存储桶中的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;复旦大学,未经华为技术有限公司;复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410373639.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种热气飞艇自增压热源装置
- 下一篇:手机保护套