Kad网络中由关键词哈希值推测关键词的方法及系统的制作方法

文档序号:6518526阅读:217来源:国知局
Kad网络中由关键词哈希值推测关键词的方法及系统的制作方法
【专利摘要】本发明提供一种KAD网络中由关键词哈希值推测关键词的方法及系统。所述方法包括利用关键词哈希值在KAD网络中搜索相关资源文件,得到所述相关资源文件的文件名;以及对所述相关资源文件的文件名进行分词处理,得到候选关键词及其在所述相关资源文件的文件名中出现的次数。所述方法还包括根据候选关键词在所述相关资源文件的文件名中出现的次数推测关键词。本发明可以准确地得到KAD网络中关键词哈希值对应的关键词信息,便于监管KAD网络、提高网络安全。
【专利说明】KAD网络中由关键词哈希值推测关键词的方法及系统
【技术领域】
[0001]本发明涉及对等网络技术,尤其涉及一种KAD网络中由关键词哈希值推测关键词的方法及系统。
【背景技术】
[0002]近年来随着P2P技术的飞速发展,P2P的流量已占据了互联网流量的48%~80%。其体系结构也不断发生演变,从最初的非结构化对等网络,到目前的结构化对等网络。分布式哈希表(DHT)是实现结构化对等网络的主要技术。Kademlia (KAD)协议是DHT的一种实现,是美国纽约大学P etar Maymounkov和David Mezieres在2002年发表的一项研究成果。通过独特的异或算法(XOR)为距离度量基础,建立了一种全新的DHT拓扑结构,与其他算法相比大大提高了路由查询速度。
[0003]随着eMule的普及以及其对Kademlia协议的支持,使得KAD成为目前被广泛部署和应用的DHT网络,其共享和传输的资源(包括关键词资源、文件资源)数量更是数以亿计。在KAD网络中,节点ID是用一个128位的二进制字符串来表示的。通常在节点第一次启动时通过MD4哈希函数生成该节点的ID,哈希的随机性保证了节点的均匀性和无碰撞。KAD网络资源中,关键词资源用于索引文件的信息,其在KAD网络中的数据形式为〈key,value),其中key是对由分词规则分割文件名得到的关键词使用哈希函数生成的ID值(即关键词哈希值),value则包括了含有该关键词的文件资源的一系列信息,如文件名、文件大小、文件ID等。在进行关键词资源搜索时,KAD会先使用MD4哈希函数计算出关键词的哈希值,再进行迭代查找。
[0004]从关键词得到ID值采用的MD4算法是一种不可逆算法,而如何从关键词哈希值来推测关键词信息具有重要意义。例如,在KAD网络中根据检测到的关键词哈希值推测流行词汇,再根据流行词汇采取进一步的动作,以达到安全监管的目的。然而,目前还没有任何研究成果能够实现这一目标。

【发明内容】

[0005]根据本发明的一个实施例,提供一种KAD网络中由关键词哈希值推测关键词的方法,所述方法包括:
[0006]步骤I)、利用关键词哈希值在KAD网络中搜索相关资源文件,得到所述相关资源文件的文件名;
[0007]步骤2)、对所述相关资源文件的文件名进行分词处理,得到候选关键词及其在所述相关资源文件的文件名中出现的次数;
[0008]步骤3)、根据候选关键词在所述相关资源文件的文件名中出现的次数推测关键
o
[0009]在一个实施例中,步骤3 )包括:
[0010]选择在所述相关资源文件的文件名中出现次数大于等于预定阈值的候选关键词;
[0011]当所选择的候选关键词的个数大于I时,对所选择的候选关键词进行哈希计算,将哈希计算的结果与所述关键词哈希值相同的候选关键词作为推测结果;
[0012]当所选择的候选关键词的个数等于I时,将该候选关键词作为推测结果;
[0013]否则,确定推测结果为空。
[0014]在进一步的实施例中,所述预定阈值为所述相关资源文件的个数。
[0015]在一个实施例中,步骤2 )包括:
[0016]找到所述相关资源文件的文件名中的分词符,将由所述分词符隔开的词作为候选关键词;以及
[0017]计算所述候选关键词在所述相关资源文件的文件名中出现的次数。
[0018]在进一步的实施例中,所述分词符包括标点符号。
[0019]根据本发明的一个实施例,还提供一种KAD网络中由关键词哈希值推测关键词的系统,所述系统包括:
[0020]搜索模块,用于利用关键词哈希值在KAD网络中搜索相关资源文件,得到所述相关资源文件的文件名;
[0021]推测模块,用于对所述相关资源文件的文件名进行分词处理,得到候选关键词及其在所述相关资源文件的文件名中出现的次数;以及根据候选关键词在所述相关资源文件的文件名中出现的次数推测关键词。
[0022]在一个实施例中,所述推测模块用于选择在所述相关资源文件的文件名中出现次数大于等于预定阈值的候选关键词;
[0023]当所选择的候选关键词的个数大于I时,对所选择的候选关键词进行哈希计算,将哈希计算的结果与所述关键词哈希值相同的候选关键词作为推测结果;
[0024]当所选择的候选关键词的个数等于I时,将该候选关键词作为推测结果;
[0025]否则,确定推测结果为空。
[0026]在一个实施例中,推测模块用于找到所述相关资源文件的文件名中的分词符,将由所述分词符隔开的词作为候选关键词;以及计算所述候选关键词在所述相关资源文件的文件名中出现的次数。
[0027]采用本发明可以准确地得到KAD网络中关键词哈希值对应的关键词信息,便于监管网络、提高网络安全。
【专利附图】

【附图说明】
[0028]图1是根据本发明一个实施例由关键词哈希推测关键词的方法流程图;
[0029]图2是根据本发明一个实施例利用关键词哈希值在KAD网络中搜索相关资源文件的方法流程图;
[0030]图3是根据本发明一个实施例对资源文件名进行分词的方法流程图;
[0031 ] 图4A和4B是根据本发明一个实施例的关键词哈希值示意图与推测得到的关键词示意图。
【具体实施方式】[0032]下面结合附图和【具体实施方式】对本发明加以说明。
[0033]根据本发明的一个实施例,提供一种KAD网络中由关键词哈希值推测关键词的方法,如图1所示。概括来说,该方法包括利用关键词哈希值在KAD网络中搜索相关的资源文件,得到资源文件名列表;以及根据资源文件名列表来推测目标关键词。
[0034]图2示出了利用关键词哈希值得到KAD网络中相关资源文件的资源文件名列表的实施例,步骤如下:
[0035]步骤S101、获取关键词哈希值,例如可以从KAD网络中监听获取,或者通过人工输入等。
[0036]步骤S102、利用关键词哈希值在KAD网络中搜索相关的资源文件。
[0037]其中,资源文件指KAD网络中各种类型的文件,包括文本文件、视频文件、音频文件、压缩包等。相关的资源文件则是指在KAD网络中搜索得到的资源文件,其文件名包含该关键词哈希值对应的关键词。
[0038]在一个实施例中,本步骤可利用KAD协议中的资源搜索功能来搜索相关的资源文件,这样能够最大限度地获得与目标关键词相关的资源。由于KAD网络中,关键词资源是存储在距离该关键词最近的节点上的(其中,距离是指关键词哈希值和节点id之间的差值),则内部检索过程包括:首先在KAD网络中迭代查找距离关键词哈希值最近的节点,找到这些节点后,向其发送关键词资源搜索请求;这些节点在收到请求后,会将自己存储的该关键词资源回复给搜索请求方。
[0039]相关的资源文件数量可以是一个也可以是多个,或者还可能出现没有搜索到相关资源文件的情况。但本文不考虑没有相关资源文件这种情况,或者可以将其看做目标关键词没有找到。
[0040]步骤S103、获取搜索到的相关资源文件的资源文件名列表。
[0041]在搜索到相关的文件资源后,例如得到关于关键词资源的信息,可从该关键词资源的value中获得资源文件名(如上文所述,value包括文件名、文件大小及文件ID等),从而构建资源文件名列表。在一个实施例中,资源文件名列表的每一表项可包括文件ID、文件名等元素。
[0042]由于在上一步可能搜索到一个或多个相关资源文件,相应地,资源文件名列表中可以仅包括一个表项或者可包括多个表项。
[0043]图3示出了根据资源文件名列表来推测目标关键词的一个实施例,包括以下步骤:
[0044]步骤S201、获取资源文件名列表。
[0045]步骤S202、对资源文件列表中所有的文件名进行分词,得到候选关键词。
[0046]在一个实施例中,可根据文件名中的分词符来进行分词:即找到文件名中的分词符,得到由分词符隔开的词。分词符可以是标点符号,即文件名中,“ 0 []
这些字符是分词符。例如:一个文件名为:中国-未来之星(选秀节目)第一期.mp4,其中就是分词符,该文件名可被分成“中国”、“未来之星”、“选秀节目”、“第一期”四个候选关键词。这里,资源文件名不考虑扩展名。
[0047]步骤S203、利用得到的候选关键词来构建候选关键词列表。
[0048]在一个实施例中,候选关键词列表可表示为〈候选关键词,个数 >,其中候选关键词即是经过上一步分词得到的词,其个数是指该候选关键词在整个资源文件名列表中出现的次数。
[0049]步骤S204、根据预定阈值和候选关键词列表中候选关键词对应的个数推测出关键词哈希值对应的目标关键词。
[0050]在一个实施例中,可以根据经验值来设定预定阈值。在一个实施例中,预定阈值即为资源文件名列表中的文件个数(即相关的资源文件数),则推测目标关键词分为以下三种情况:
[0051]当关键词列表中只有一个候选关键词对应的个数大于等于资源文件名列表中的文件个数时,则该候选关键词即为目标关键词;
[0052]当有多个候选关键词对应的个数大于等于资源文件名列表中的文件个数时,对这几个候选关键词分别进行哈希计算,得到其哈希值。将这几个候选关键词的哈希值与SlOl步骤中获取的关键词哈希值进行比较,如相同即可得到目标关键词。如果都不相同,则表明此关键词哈希值对应的目标关键词没有找到。
[0053]当候选关键词对应的个数都小于资源文件名列表中的文件个数时,表明关键词哈希值对应的目标关键词没有找到。
[0054]根据本发明的一个实施例,还提供一种KAD网络中由关键词哈希值推测关键词的系统,包括搜索模块和推测模块。
[0055]其中,搜索模块用于利用关键词哈希值在KAD网络中搜索相关资源文件,得到相关资源文件的文件名。推测模块用于对相关资源文件的文件名进行分词处理,得到候选关键词以及候选关键词在相关资源文件的文件名中出现的次数。推测模块还用于根据候选关键词在相关资源文件的文件名中出现的次数推测关键词。
[0056]推测模块在推测目标关键词时,首先选择在相关资源文件的文件名中出现次数大于等于预定阈值的候选关键词。其中,当所选择的候选关键词的个数大于I时,对所选择的候选关键词进行哈希计算,将哈希计算的结果与关键词哈希值相同的候选关键词作为推测结果。当所选择的候选关键词的个数等于I时,将该候选关键词作为推测结果。否则,表明此关键词哈希值对应的目标关键词没有找到,即可确定推测结果为空。
[0057]为证明本发明提供的由关键词哈希值推测关键词的方法的有效性,发明人在KAD网络中进行了多次实验。首先对一些预设的关键词进行哈希计算,得到如图4A所示的哈希值,接着根据本发明提供的方法由这些哈希值推测出对应的目标关键词,结果如图4B所示,而图4B所示结果与预设关键词一致,表明本发明提供的方法能够准确有效地识别出关键词哈希值所对应的关键词。
[0058]应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
【权利要求】
1.一种KAD网络中由关键词哈希值推测关键词的方法,所述方法包括: 步骤I)、利用关键词哈希值在KAD网络中搜索相关资源文件,得到所述相关资源文件的文件名; 步骤2)、对所述相关资源文件的文件名进行分词处理,得到候选关键词及其在所述相关资源文件的文件名中出现的次数;以及 步骤3)、根据候选关键词在所述相关资源文件的文件名中出现的次数推测关键词。
2.根据权利要求1所述的方法,其中,步骤3)包括: 选择在所述相关资源文件的文件名中出现次数大于等于预定阈值的候选关键词; 当所选择的候选关键词的个数大于I时,对所选择的候选关键词进行哈希计算,将哈希计算的结果与所述关键词哈希值相同的候选关键词作为推测结果; 当所选择的候选关键词的个数等于I时,将该候选关键词作为推测结果; 否则,确定推测结果为空。
3.根据权利要求2所述的方法,其中,所述预定阈值为所述相关资源文件的个数。
4.根据权利要求1-3中任何一个所述的方法,其中,步骤2)包括: 找到所述相关资源文件的文件名中的分词符,将由所述分词符隔开的词作为候选关键词;以及 计算所述候选关键词在所述相关资源文件的文件名中出现的次数。
5.根据权利要求4所述的方法,其中所述分词符包括标点符号。
6.一种KAD网络中由关键词哈希值推测关键词的系统,所述系统包括: 搜索模块,用于利用关键词哈希值在KAD网络中搜索相关资源文件,得到所述相关资源文件的文件名; 推测模块,用于对所述相关资源文件的文件名进行分词处理,得到候选关键词及其在所述相关资源文件的文件名中出现的次数;以及根据候选关键词在所述相关资源文件的文件名中出现的次数推测关键词。
7.根据权利要求6所述的系统,其中,所述推测模块用于选择在所述相关资源文件的文件名中出现次数大于等于预定阈值的候选关键词; 当所选择的候选关键词的个数大于I时,对所选择的候选关键词进行哈希计算,将哈希计算的结果与所述关键词哈希值相同的候选关键词作为推测结果; 当所选择的候选关键词的个数等于I时,将该候选关键词作为推测结果; 否则,确定推测结果为空。
8.根据权利要求7所述的系统,其中,所述预定阈值为所述相关资源文件的个数。
9.根据权利要求6-8中任何一个所述的系统,其中推测模块用于找到所述相关资源文件的文件名中的分词符,将由所述分词符隔开的词作为候选关键词;以及计算所述候选关键词在所述相关资源文件的文件名中出现的次数。
10.根据权利要求9所述的系统,其中所述分词符包括标点符号。
【文档编号】G06F17/30GK103605708SQ201310556473
【公开日】2014年2月26日 申请日期:2013年11月11日 优先权日:2013年11月11日
【发明者】程学旗, 冯凯, 孙庆, 刘备, 席鹏弼, 王元卓, 刘悦 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1