分类方法、查找方法和设备技术

技术编号:12805654 阅读:81 留言:0更新日期:2016-02-03 19:25
本发明专利技术实施例提供了一种分类方法、查找方法和设备。该分类方法用于包括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个节点中的一个节点。结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,该分类方法还包括:第一节点将第一节点的第二存储桶中的哈希码根据次高η位存储到t个第三个存储桶中,其中t个第三存储桶中的每个第三存储桶中的哈希码具有相同的高m位和次高η位,并且t个第三存储桶中的不同第三存储桶中的哈希码具有不同的高m位和次高η位。结合第二种可能的实现方式,在第三种可能的实现方式中,该分类方法还包括:第一节点将t个第三存储桶中的每个第三存储桶中的哈希码排序;第一节点获取每个第三存储桶中的预设哈希码和预设哈希码在第三存储桶中的位置信息;第一节点根据每个第三存储桶中的预设哈希码和预设哈希码在第三存储桶中的位置信息生成查找表,以便第一节点根据查找表确定待查找的哈希码在第三存储桶中的位置。结合第二种或第三种可能的实现方式中,在第四种可能的实现方式中,η和t满足以下关系:t = 2n。结合上述任一种可能的实现方式,在第五种可能的实现方式中,待分类数据为待分类文本中的多个单词,在第一节点将主节点分配的待分类文本中的多个单词根据哈希编码得到多个哈希码之后,分类方法还包括:第一节点确定多个哈希码分别对应的多个P位码,多个P位码分别表示多个哈希码对应的多个单词的统计频次;第一节点将多个P位码与对应的多个哈希码分别结合为多个第一码,使得多个P位码分别为多个第一码的低P位。结合第五种可能的实现方式,在第六种可能的实现方式中,在第一节点将X个节点中与第一节点对应的具有相同高m位的哈希码存储到第一节点的第二存储桶中之后,该分类方法还包括:第一节点将第二存储桶中具有相同哈希码的第一码的低P位相加。结合第一方面的第一种至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,在第一节点确定第二节点对应的哈希码的高m位之前,分类方法还包括:第一节点接收主节点发送的信息,信息指示哈希码的高m位与X个节点的对应关系;其中,第一节点确定第二节点对应的哈希码的高m位包括:第一节点根据对应关系,确定第二节点对应的哈希码的高m位。结合上述任一种可能的实现方式,在第八种可能的实现方式中,s和m满足以下关系:s = 2'结合上述任一种可能的实现方式,在第九种可能的实现方式中,X和m满足以下关系:X = 2"1。第二方面,提供了一种分类方法,分类方法用于分布式系统中,分布式系统包括一个主节点和X个节点,分类方法包括:主节点确定X个节点存储的哈希码的高m位与X个节点的对应关系,使得具有相同高m位的哈希码唯一对应X个节点中的一个节点;主节点向X个节点发送信息,信息用于指示哈希码的高m位与X个节点的对应关系。第三方面,提供了一种查找方法,该查找方法包括:该查找方法用于分布式系统中,所述分布式系统包括一个主节点和X个节点,X个节点中的第一节点根据第一方面及第一方面的第一种至第九种可能的实现方式中的任一种可能的实现方式所述的分类方法存储哈希码,查找方法包括:第一节点接收主节点发送的待查找的哈希码;第一节点根据待查找的哈希码的高m位查找待查找的哈希码。结合第三方面,在第三方面的第一种可能的实现方式中,第一节点根据待查找的哈希码的高m位查找待查找的哈希码包括:第一节点根据待查找的哈希码的高m位和次高η位查找待查找的哈希码。第四方面,提供了一种查找方法,该查找方法用于分布式系统中,分布式系统包括一个主节点和X个节点,主节点根据权利要求11的分类方法存储哈希码,查找方法包括:主节点对待查找数据进行哈希编码得到待查找的哈希码;主节点根据哈希码的高m位与X个节点的对应关系确定待查找的哈希码的高m位对应的第一节点,第一节点为X个节点之一;主节点将待查找的哈希码发送至第一节点,以便第一节点查找待查找的哈希码。第五方面,提供了一种节点设备,节点设备用于分布式系统中,分布式系统包括一个主节点设备和X个节点设备,节点设备包括:编码模块,用于将主节点分配的待分类数据进行哈希编码得到多个哈希码;存储模块,用于将多个哈希码根据高m位存储到s个第一存储桶中,使得s个第一存储桶中的每个第一存储桶中的哈希码具有相同的高m位,并且s个第一存储桶中的不同第一存储桶中的哈希码具有不同的高m位;交互模块,用于与X个节点设备中的第二节点设备交换各自的s个第一存储桶中的哈希码,使得X个节点设备中的每个节点设备的第二存储桶存储X个节点设备中的具有相同高m位的哈希码,并且X个节点设备中的不同节点设备的第二存储桶存储的哈希码具有不同的高m位,其中,存储模块还用于将X个节点中与节点设备对应的具有相同高m位的哈希码存储本文档来自技高网...

【技术保护点】
一种分类方法,其特征在于,所述分类方法用于分布式系统中,所述分布式系统包括一个主节点和X个节点,所述方法包括:第一节点将所述主节点分配的待分类数据进行哈希编码得到多个哈希码,所述第一节点为所述X个节点之一;所述第一节点将所述多个哈希码根据高m位存储到所述第一节点的s个第一存储桶中,使得所述s个第一存储桶中的每个第一存储桶中的哈希码具有相同的高m位,并且所述s个第一存储桶中的不同第一存储桶中的哈希码具有不同的高m位;所述第一节点与所述X个节点中的第二节点交换各自的s个第一存储桶中的哈希码,使得所述X个节点中的每个节点的第二存储桶存储所述X个节点中的具有相同高m位的哈希码,并且所述X个节点中的不同节点的第二存储桶中存储的哈希码具有不同的高m位;所述第一节点将所述X个节点中与所述第一节点对应的具有相同高m位的哈希码存储到所述第一节点的第二存储桶中。

【技术特征摘要】

【专利技术属性】
技术研发人员:虞志益周力君施炜劲周海捷
申请(专利权)人:华为技术有限公司复旦大学
类型:发明
国别省市:广东;44

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

1