一种KAD网络资源信息的获取方法及系统技术方案

技术编号:9740153 阅读:112 留言:0更新日期:2014-03-06 23:40
本发明专利技术提供一种KAD网络资源信息的获取方法及系统。该方法包括:在KAD网络的节点ID空间内选取n个均匀分布的节点ID,构造相应的n个模拟节点加入所述KAD网络,其中n为正整数。由所述模拟节点监听所述KAD网络,以及由所述模拟节点解析其他节点发来的资源信息存储请求消息并且获取资源信息。本发明专利技术在加快信息获取速度的同时,可以较全面地得到KAD网络中的资源信息。

【技术实现步骤摘要】
—种KAD网络资源信息的获取方法及系统
本专利技术涉及对等网络技术,尤其涉及一种KAD网络资源信息的获取方法及系统。
技术介绍
KAD (Kademlia)协议是DHT技术的一种实现,eMule从v0.40版本开始加入了对KAD协议的支持(简称eMule-KAD)。随着eMule的普及,KAD已成为目前广泛部署和应用的DHT网络,据统计eMule-KAD中同时在线的节点数可高达5百万。在KAD网络中,每个用户都可以与网络中的其他用户共享自己的资源。由于KAD网络中的节点数量巨大,其中传递的资源数量更是数以亿计。如何在海量的信息中较全面地获取资源(例如关键词资源或文件资源信息)信息,是本领域的一个技术难点。目前,一种方法是通过节点监听消息来获取资源信息,但是一个节点能监听和获取到的信息有限,这是因为KAD网络中的资源是向离该资源ID较近的节点上发布的。为了获取较全面的信息,另一种方法是在KAD网络中选择多个主机节点,在每个节点上启动一个监测程序,然而这样做的弊端是代价太高。
技术实现思路
为解决现有技术中存在的问题,根据本专利技术的一个实施例,提供一种KAD网络资源信息的获取方法,该方法包括:步骤I)、在KAD网络的节点ID空间内选取n个均匀分布的节点ID,构造相应的n个模拟节点加入所述KAD网络,其中n为正整数;步骤2)、由所述模拟节点监听所述KAD网络;以及步骤3)、由所述模拟节点解析其他节点发来的资源信息存储请求消息并且获取资源信息。在一个实施例中,步骤3)包括:当所述模拟节点接收到其他节点发来的消息时,判断该消息的类型。如果是查询请求消息,本文中查询请求消息指资源存储的节点查询请求消息,则从所有模拟节点中选择节点ID与所述查询请求消息中包括的资源ID距离较近的一个或多个模拟节点,并且将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点;如果是资源信息存储请求消息,则解析该消息并且获取资源信息。在一个实施例中,所述查询请求消息包括:消息类型、资源ID,和发送所述查询请求消息的节点的节点ID。在一个实施例中,所述资源信息存储请求消息包括:消息类型,和关键词资源信息或文件资源信息。在一个实施例中,步骤3)中,在将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点之后,还包括:由发送所述查询请求消息的节点向所选择的一个或多个模拟节点发送与所述资源ID相对应的资源信息存储请求消息。在一个实施例中,步骤3)中,在解析资源信息存储请求消息并且获取资源信息之后,还包括:由接收所述资源信息存储请求消息的模拟节点将获取的资源信息发送给资源统计服务器。在进一步的实施例中,n的值为32。在一个实施例中,所述方法还包括:步骤4)、结束监听所述KAD网络。根据本专利技术的一个实施例,还提供一种KAD网络资源信息的获取系统,包括:模拟节点构造模块,用于在KAD网络的节点ID空间内选取n个均匀分布的节点ID,构造相应的n个模拟节点加入所述KAD网络,其中n为正整数;以及监听模块,用于由所述模拟节点监听所述KAD网络;以及由所述模拟节点解析其他节点发来的资源信息存储请求消息并且获取资源信息。在一个实施例中,所述监听模块用于当所述模拟节点接收到其他节点发来的消息时,判断该消息的类型;如果是资源存储的节点查询请求消息,则从所有模拟节点中选择节点ID与所述查询请求消息中包括的资源ID距离较近的一个或多个模拟节点,并且将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点;如果是资源信息存储请求消息,则解析该消息并且获取资源信息。在一个实施例中,所述监听模块还用于:在将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点之后,由发送所述查询请求消息的节点向所选择的一个或多个模拟节点发送与所述资源ID相对应的资源信息存储请求消息。在一个实施例中,所述监听模块还用于:在解析资源信息存储请求消息并且获取资源信息之后,由接收所述资源信息存储请求消息的模拟节点将获取的资源信息发送给资源统计服务器。采用本专利技术可以达到如下的有益效果:本专利技术通过在KAD网络中加入均匀分布的多个模拟节点来监听消息,从而获得该KAD网络中的资源信息。在加快资源信息获取速度的同时,可以较全面地获得KAD网络中的资源信息。【附图说明】图1是KAD网络中资源检索信息交互示意图;图2是根据本专利技术的一个实施例,在KAD网络中均匀分布的模拟节点的示意图;图3是根据本专利技术的一个实施例,由模拟节点应答资源存储节点的查询请求消息的方法的流程图;以及图4是根据本专利技术一个实施例,由模拟节点获取资源信息的方法的流程图。【具体实施方式】下面结合附图和具体实施例对本专利技术加以说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。在描述本专利技术提供的KAD网络资源信息的获取方法以及系统之前,先简要说明KAD协议中的几个模块:(I) KAD 节点:在KAD网络中,采用128位的二进制字符串来表示一个节点ID(或称用户ID)。节点ID通常是在该节点第一次启动时通过MD4哈希函数生成,哈希的随机性保证了节点的均匀性和无碰撞。网络中节点ID可以组成一个查找二叉树,节点按照各自的ID前缀分布在这个二叉树上,可由节点间的异或运算来跳跃式查找的对于指定节点ID的搜索。(2)关键词资源关键词资源用于索引文件资源的信息,其形式可以为〈key,value〉,其中key是将哈希函数作用于由分词规则分割的关键词而生成的ID值,value则包括了含有该关键词的文件资源的一系列信息,如文件名、文件大小以及文件ID等。(3)文件资源文件资源用于索引下载源信息,其形式为〈key,value〉,其中key为该文件的内容根据MD4哈希函数计算得到的128位ID值,value包括共享此文件的节点的一系列信息,如节点ID,IP地址以及端口等。下文中的资源ID是关键词资源ID (key)和文件资源ID(key)的统称。(4)资源检索在进行关键词资源检索时,KAD会根据MD4哈希函数计算出该关键词的哈希值,通过迭代查找(发送KADEMLIA_REQ消息)找到位于关键词ID偏移区间内的节点后,向其发送KADEMLIA_SEARCH_REQ 或 KADEMLIA2_SEARCH_KEY_REQ 请求消息,其消息交互如图1 所示。当用户选择某个文件准备下载时,KAD便开始执行文件资源的检索过程,过程与关键词检索类似。根据本专利技术的一个实施例,提供一种KAD网络资源信息的获取方法。简要概括,该方法通过在KAD网络中加入均匀分布的模拟节点来监听KAD网络上其他节点(也称作资源发布节点)发送的消息。针对资源存储的节点查询请求消息,计算其中节点ID与该消息中的资源ID距离较小的模拟节点作为相应资源的最佳资源信息存储结点;针对资源信息存储请求消息,将从该消息中获取到的资源信息发送给资源统计服务器。图2示出了在KAD网络中的模拟节点分布示意图。现参考图3和图4,具体描述了 KAD网络资源信息的获取方法的实施例。其中,图3描述了针对查询请求消息,确定相应资源的最佳资源信息存储节点(即确定资源存储节点将要向其发送相应的资源信息存储请求消息的模拟节点)的方法,包括以下步骤:步本文档来自技高网...

【技术保护点】
一种KAD网络资源信息的获取方法,包括:步骤1)、在KAD网络的节点ID空间内选取n个均匀分布的节点ID,构造相应的n个模拟节点加入所述KAD网络,其中n为正整数;步骤2)、由所述模拟节点监听所述KAD网络;以及步骤3)、由所述模拟节点解析其他节点发来的资源信息存储请求消息并且获取资源信息。

【技术特征摘要】
1.一种KAD网络资源信息的获取方法,包括: 步骤I)、在KAD网络的节点ID空间内选取n个均匀分布的节点ID,构造相应的n个模拟节点加入所述KAD网络,其中n为正整数; 步骤2)、由所述模拟节点监听所述KAD网络;以及 步骤3)、由所述模拟节点解析其他节点发来的资源信息存储请求消息并且获取资源信 息。2.根据权利要求1所述的方法,其中,步骤3)包括: 当所述模拟节点接收到其他节点发来的消息时,判断该消息的类型; 如果是查询请求消息,则从所有模拟节点中选择节点ID与所述查询请求消息中包括的资源ID距离较近的一个或多个模拟节点,并且将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点; 如果是资源信息存储请求消息,则解析该消息并且获取资源信息。3.根据权利要求2所述的方法,其中,所述查询请求消息包括:消息类型、资源ID,和发送所述查询请求消息的节点的节点ID。4.根据权利要求1-3中任何一个所述的方法,其中,所述资源信息存储请求消息包括:消息类型,和关键词资源信息或文件资源信息。5.根据权利要2或3所述的方法,步骤3)中,在将关于所选择的一个或多个模拟节点的信息返回给发送所述查询请求消息的节点之后,还包括: 由发送所述查询请求消息的节点向所选择的一个或多个模拟节点发送与所述资源ID相对应的资源信息存储请求消息。6.根据权利要求1-3中任何一个所述的方法,步骤3)中,在解析资源信息存储请求消息并且获取资源信息之后,还包括: 由接收所述资源信息存储请求消息的模拟...

【专利技术属性】
技术研发人员:程学旗冯凯席鹏弼刘备王元卓刘悦孙庆
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1