本发明专利技术提供一种获取KAD网络上热门检索资源的方法及系统。所述方法包括:构造模拟节点并加入KAD网络,使得所述模拟节点在KAD网络空间中均匀分布;由所述模拟节点监听所述KAD网路中其他节点的请求消息。所述方法还包括由所述模拟节点将从资源检索请求消息中获取的资源ID发送至热门资源统计服务器进行统计。本发明专利技术能够比较全面、准确地获得KAD网络中的热门检索资源,能够为网络信息挖掘及网络信息安全等工作提供帮助。
【技术实现步骤摘要】
—种获取KAD网络上热门检索资源的方法和系统
本专利技术涉及对等网络技术,尤其涉及一种获取KAD网络上热门检索资源的方法和系统。
技术介绍
KAD (Kademlia)协议是DHT技术的一种实现,eMule从v0.40版本开始加入了对KAD协议的支持(简称eMule-KAD)。随着eMule的普及,KAD已成为目前广泛部署和应用的DHT网络,据统计eMule-KAD中同时在线的节点数可高达5百万。在KAD网络中,每个用户都可以与网络中的其他用户共享自己的资源。由于KAD网络中的节点数量巨大,其中传递的资源数量更是数以亿计。如何在海量的信息中比较全面地获取检索资源信息,是本领域的一个技术难点。目前,一种方法是通过网络中的节点监听消息来获取检索资源,但是一个节点能监听和获取到的信息有限,这是因为KAD网络中的资源是向离该资源ID较近的节点上发布的,有限的信息会导致对网络中热门检索资源的判断不够准确。因此,如何获取全面、准确的检索资源信息,是目前需要解决的问题。
技术实现思路
根据本专利技术的一个实施例,提供一种获取KAD网络上热门检索资源的方法,包括:步骤I )、构造模拟节点并加入KAD网络,使得所述模拟节点在KAD网络空间中均匀分布;步骤2)、由所述模拟节点监听所述KAD网路中其他节点的请求消息;以及步骤3)、由所述模拟节点将从资源检索请求消息中获取的资源ID发送至热门资源统计服务器进行统计。在一个实施例中,步骤3)包括:由所述模拟节点判断接收到的消息是否为资源检索请求消息;如果是资源检索请求消息,则解析该消息包获取资源ID,并且将所述资源ID发送至热门资源统计服务器进行统计。在一个实施例中,所述资源检索请求消息包括资源ID和消息类型。在一个实施例中,所述资源ID是关键词资源ID或者文件资源ID。在一个实施例中,步骤3)中,热门资源统计服务器进行统计包括:步骤a)、接收由所述模拟节点发送来的资源ID ;步骤b)、判断所述资源ID值是否已经存在于所述热门资源统计服务器的哈希库中;如果已存在,则将所述资源ID的相应计数加I ;如果不存在,则将所述资源ID插入哈希库中,并将相应的计数初始化为I ;以及步骤C)、根据计数得到热门检索资源相应的资源ID。在一个实施例中,步骤3)之前还包括:启动所述热门资源统计服务器的资源ID监听服务。根据本专利技术的一个实施例,还提供一种获取KAD网络上热门检索资源的系统,包括:节点构造模块,用于构造模拟节点并加入KAD网络,使得所述模拟节点在KAD网络空间中均匀分布;监听模块,用于由所述模拟节点监听所述KAD网路中其他节点的请求消息;以及由所述模拟节点将从资源检索请求消息中获取的资源ID发送至热门资源统计服务器进行统计。在一个实施例中,所述监听模块用于由所述模拟节点判断接收到的消息是否为资源检索请求消息;如果是资源检索请求消息,则解析该消息包获取资源ID,并且将所述资源ID发送至热门资源统计服务器进行统计。在一个实施例中,所述系统还包括:热门资源统计服务器,用于接收由所述模拟节点发送来的资源ID ;判断所述资源ID值是否已经存在于所述热门资源统计服务器的哈希库中;如果已存在,则将所述资源ID的相应计数加I ;如果不存在,则将所述资源ID插入哈希库中,并将相应的计数初始化为I ;以及根据计数得到热门检索资源相应的资源ID。本专利技术通过启用分布式的模拟节点在KAD网络中被动监听资源检索请求消息,从资源检索请求消息中获取资源ID并且发送给热门资源统计服务器,最终统计出检索次数较多的热门检索资源(关键词资源或文件资源)。本专利技术能够比较全面、准确地获得KAD网络中的热门检索资源,能够为网络信息挖掘及网络信息安全等工作提供帮助。【附图说明】图1是KAD网络中资源检索信息交互示意图;图2是根据本专利技术的一个实施例,由模拟节点获取资源检索请求消息中的资源ID的方法的流程图;图3是根据本专利技术的一个实施例,由热门资源统计服务器接收来自每个模拟节点的信息的示意图;图4是根据本专利技术的一个实施例,由热门资源统计服务器统计资源ID的方法的流程图;以及图5是采用本专利技术提供的获取KAD网络上热门检索资源的方法在实际KAD网络中监测到的资源ID和相应统计计数的屏幕截图。【具体实施方式】下面结合附图和【具体实施方式】对本专利技术加以说明。在描述本专利技术提供的KAD网络资源信息的获取方法以及系统之前,先简要说明KAD协议中的几个模块:(I) KAD 节点:在KAD网络中,采用128位的二进制字符串来表示一个节点ID(或称用户ID)。节点ID通常是在该节点第一次启动时通过MD4哈希函数生成,哈希的随机性保证了节点的均匀性和无碰撞。网络中节点ID可以组成一个查找二叉树,节点按照各自的ID前缀分布在这个二叉树上,可由节点间的异或运算来跳跃式查找的对于指定节点ID的搜索。(2)关键词资源关键词资源用于索引文件资源的信息,其形式可以为〈key,value〉,其中key是将哈希函数作用于由分词规则分割的关键词而生成的ID值,或称关键词资源ID,value则包括了含有该关键词的文件资源的一系列信息,如文件名、文件大小以及文件ID等。(3)文件资源文件资源用于索引下载源信息,其形式为〈key,value〉,其中key为该文件的内容根据MD4哈希函数计算得到的128位ID值,或称文件资源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网络上热门检索资源的方法。简要而言,该方法包括以下步骤:由模拟节点获取资源(关键词资源或者文件资源)检索请求消息中的资源ID (关键词资源ID或者文件资源ID)并发送给热门资源统计服务器;接着由热门资源统计服务器对获取的资源ID进行统计。该方法基于KAD协议的资源检索功能,在与资源ID较近的节点上监听该资源的检索消息并统计。以下将分别描述这两个步骤。步骤一、由模拟节点获取资源检索请求消息中的资源ID并发送给热门资源统计服务器。根据本专利技术的一个实施例,如图2所示,本步骤包括以下子步骤:步骤S101、构造模拟节点,且在KAD网络中启动并自动扩散该模拟节点的节点信息,使得所构造的分布式模拟节点能够尽可能地覆盖整个KAD网络。在一个实施例中,可以在KAD网络的节点ID逻辑空间内随机选取n个节点ID,使得所选取的这n个节点ID尽量均匀地分布在整个逻辑空间,用选取的这n个节点ID构造KAD网络的模拟节点。启动的模拟节点足够多、足够均匀即可以最大限度地获得KAD网络中不同节点的资源检索请求。步骤S102、由启动的模拟节点监听KAD网络中其它节点的请求消息(即KAD协议消息)。本文档来自技高网...
【技术保护点】
一种获取KAD网络上热门检索资源的方法,包括:步骤1)、构造模拟节点并加入KAD网络,使得所述模拟节点在KAD网络空间中均匀分布;步骤2)、由所述模拟节点监听所述KAD网路中其他节点的请求消息;以及步骤3)、由所述模拟节点将从资源检索请求消息中获取的资源ID发送至热门资源统计服务器进行统计。
【技术特征摘要】
1.一种获取KAD网络上热门检索资源的方法,包括: 步骤I)、构造模拟节点并加入KAD网络,使得所述模拟节点在KAD网络空间中均匀分布; 步骤2)、由所述模拟节点监听所述KAD网路中其他节点的请求消息;以及步骤3)、由所述模拟节点将从资源检索请求消息中获取的资源ID发送至热门资源统计服务器进行统计。2.根据权利要求1所述的方法,其中,步骤3)包括: 由所述模拟节点判断接收到的消息是否为资源检索请求消息;如果是资源检索请求消息,则解析该消息包获取资源ID,并且将所述资源ID发送至热门资源统计服务器进行统计。3.根据权利要求1或2所述的方法,其中,所述资源检索请求消息包括资源ID和消息类型。4.根据权利要求1或2所述的方法,其中,所述资源ID是关键词资源ID或者文件资源ID05.根据权利要求1或 2所述的方法,步骤3)中,热门资源统计服务器进行统计包括: 步骤a)、接收由所述模拟节点发送来的资源ID ; 步骤b)、判断所述资源ID值是否已经存在于所述热门资源统计服务器的哈希库中; 如果已存在,则将所述资源ID的相应计数加I ; 如果不存在,则将所述资源ID插入哈希库中,并将相应的计数初始化为I ...
【专利技术属性】
技术研发人员:程学旗,冯凯,刘备,孙庆,席鹏弼,王元卓,刘悦,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。