一种BT网络中热门种子文件获取方法技术

技术编号:9599517 阅读:262 留言:0更新日期:2014-01-23 04:14
本发明专利技术提供一种BT网络中热门种子文件获取方法,包括下列步骤:1)构造多个虚拟BT客户端,所述多个虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间;2)各虚拟BT客户端监听BT网络中的get_peers消息,统计所收到的对应于每个infohash的get_peer消息的数目;3)定期统计所有虚拟BT客户端所接收到的对应于每个infohash的get_peer消息的数目,并根据get_peer消息的数目确定相应的infohash是否为热门infohash。本发明专利技术能够全面准确地获取整个BT网络范围内的热门种子文件。

【技术实现步骤摘要】
一种BT网络中热门种子文件获取方法
本专利技术涉及计算机P2P网络
,具体地说,本专利技术涉及一种BT网络中热门种子文件获取方法。
技术介绍
P2P技术为网络用户提供的解决的方案能让互联网用户之间便捷地进行数据的共享。BitTorrent协议便是一种在数据共享方面比较成熟的而且被网络用户广泛使用的网络协议。在BitTorrent网络(下文简称BT网络)中,每个客户都可以与BT网络中其他客户建立连接并相互共享自己拥有的数据资源。网络中客户端的数量巨大,共享资源的数量则更加巨大,所以在BT网络中共享着大量的各种资源的信息,而人们往往对其中较为热门的资源更感兴趣,因此存在从巨大的资源信息中找出其中较为热门的资源的需求。另一方面,BitTorrent元数据文件,以.torrent为文件扩展名,也称为BT种子文件、种子、BT种子、torrent文件等,下文中统称为种子文件。种子文件中包含Tracker服务器列表信息、节点列表信息和资源文件信息三部分,BT网络共享资源文件分片验证信息和Tracker信息的重要载体,只要获取了BT网络中热门的种子文件,就能通过这些种子文件获取对应的热门资源。现有技术中,BT论坛网站在发布种子文件的同时,通常会对种子文件的热度进行排序。然而,他们通常是用本论坛的点击率或访问量作为种子文件热度的排序依据。这种统计较为片面,不能反映整个BT网络的真实情况。因此,当前迫切需要一种能够在BT网络的海量信息中,准确地获取其中热门的BT种子文件的解决方案。
技术实现思路
本专利技术的任务是一种能够在BT网络的海量信息中,准确地获取其中热门的BT种子文件的解决方案。为实现上述专利技术目的,本专利技术提供了一种BT网络中热门种子文件获取方法,包括下列步骤:1)构造虚拟BT客户端,所述虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间;2)各虚拟BT客户端监听BT网络中的get_peers消息,统计所收到的对应于每个infohash的get_peer消息的数目;3)统计所有虚拟BT客户端所接收到的对应于每个infohash的get_peer消息的数目,并根据get_peer消息的数目确定相应的infohash是否为热门infohash。其中,所述步骤1)中,所述虚拟BT客户端的个数不少于30。其中,所述步骤1)中,所述虚拟BT客户端的个数为32。其中,所述步骤1)还包括:先把BT网络ID逻辑空间划分为多个区块,然后在每个区块中随机抽取一个数值作为虚拟BT客户端的ID。其中,还包括步骤4):基于热门infohash获取相应的热门BT种子文件。其中,所述步骤4)包括下列子步骤:41)对每个热门infohash,生成相应的BT种子文件下载任务,并将任务分发给所述虚拟BT客户端;42)虚拟BT客户端收到下发的下载任务后,进行BT种子文件的下载;43)对下载完成的BT种子文件经行完整性检查及正确性验证;44)对虚拟客户端验证正确的BT种子文件进行文件存储。其中,所述步骤42)中,所述虚拟BT客户端先将热门infohash转换为BT网络磁力下载链接,然后通过BT网络节点之间的种子交换消息获取BT种子文件。其中,步骤42)包括下列子步骤:421)提取一个热门infohash,将其转化为BT网络中的磁力链接;422)采用磁力链接在BT虚拟客户端上通过网络节点查询消息从BT网络中查找BT网络中参与该infohash对应资源下载的共享网络节点集合;423)从共享网络节点集合中的节点选取一个BT网络节点,所述虚拟客户端通过BT协议消息与该节点进行BT握手;424)通过握手消息交互得知连接的BT客户端是否支持BT种子文件的交换,当连接的BT客户端支持BT种子文件交换协议时,执行步骤426)否则,关闭与该BT客户端的连接,执行步骤425);425)检查共享网络节点集合中是否还有未连接过的网络节点,有则执行步骤423),没有则执行步骤427);426)通过BT种子文件交换扩展消息获取BT网络中进行共享的BT种子文件,成功下载BT种子文件后,关闭与该共享网络节点的BT连接,执行步骤427),如果未成功下载BT种子文件,则执行步骤425);427)如果还有未处理的热门Infohash,执行步骤421),否则退出。与现有技术相比,本专利技术具有下列技术效果:1、本专利技术能够全面准确地获取整个BT网络范围内的热门种子文件。2、本专利技术有助于运营商对热门种子文件进行下载节点调整,从而降低网络流量。3、本专利技术有助于BT客户端开发商根据对热门种子文件进行下载优化,从而降低网络流量,提升用户对热门资源的下载体验。附图说明图1示出了本专利技术一个实施例的BT网络中热门种子文件获取方法的流程图;图2示出了本专利技术另一个实施例中基于热门BT种子文件的infohash获取相应的热门BT种子文件的流程图。具体实施方式本专利技术提出了一种BT网络中热门种子文件获取方法,它通过BT-DHT(BitTorrentDistributedHashTable,即BT网络分布式哈希表),在整个BT网络范围内全面准确地获取热门种子文件。为更清楚介绍基于BT-DHT的BT网络中热门种子文件获取方法,首先简要介绍BT-DHT。BT-DHT是一种分布式存储方法在BT覆盖网络上的应用。其主要工作原理为:在不需要服务器的情况下,每个客户端负责一个小范围的路由,并存储一小部分路由数据,从而实现整个BT网络中BT-DHT的寻址和存储。通常BT客户端同时通过BT-DHT和连接Tracker服务器获取当前BT网络中的参与下载的节点信息,也就是说,在完全不连上Tracker服务器的情况下,BT客户端仍然可以在BT网络中寻找下载同一BT网络共享文件的其他BT客户端用户。在BT-DHT中,采用了四种消息进行网络节点的查询,四种消息分别是ping、find_node、get_peers和announce_peer。本专利技术主要利用的是get_peers消息。在BT-DHT使用的消息通信协议中,get_peers消息中携带一个BT种子文件infohash以及发出请求节点的节点ID。如果那个被请求的节点所存储的路由信息中有匹配该infohash的节点,这些匹配的节点将被返回给请求节点,从而实现种子文件的查询。下面,结合附图和具体实施例对本专利技术做进一步地描述。依据本专利技术的一个实施例,图1示出了一种BT网络中热门种子文件获取方法的流程,包括下列步骤:步骤1:构造n个虚拟BT客户端,这n个虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间。BT-DHT网络中的节点有一个唯一的160位ID,节点ID通常在第一次启动时根据该节点的IP地址和端口号用SHA1算法进行散列生成。n个虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间(即n个虚拟BT客户端的ID均匀分布在2160的ID逻辑空间中)。具体实现上,可以先把2160的ID逻辑空间划分为若干个(例如n个)子空间,然后在每个子空间随机选取ID(当子空间数目为n时,每个子空间随机选取一个ID),虚拟BT客户端的ID的均匀分布可以使得信息采集范围更好地覆盖全网。理论上说,n的数目越多,所采集的信息越全面。进一步地,考虑到硬件开销的问题,在一个优选实施例中,虚拟BT客户端的数目n取32。发本文档来自技高网...
一种BT网络中热门种子文件获取方法

【技术保护点】
一种BT网络中热门种子文件获取方法,包括下列步骤:1)构造虚拟BT客户端,所述虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间;2)各虚拟BT客户端监听BT网络中的get_peers消息,统计所收到的对应于每个infohash的get_peer消息的数目;3)统计所有虚拟BT客户端所接收到的对应于每个infohash的get_peer消息的数目,并根据get_peer消息的数目确定相应的infohash是否为热门infohash。

【技术特征摘要】
1.一种BT网络中热门种子文件获取方法,包括下列步骤:1)构造虚拟BT客户端,所述虚拟BT客户端的ID均匀分布在BT网络ID逻辑空间;2)各虚拟BT客户端监听BT网络中的get_peers消息,提取所述get_peers消息中的infohash,并记录收到的携带所述infohash的get_peers消息的数目;3)统计所有虚拟BT客户端所接收到的对应于每个infohash的get_peers消息的数目,并根据get_peers消息的数目确定相应的infohash是否为热门infohash。2.根据权利要求1所述的BT网络中热门种子文件获取方法,其特征在于,所述步骤1)中,所述虚拟BT客户端的个数不少于30。3.根据权利要求2所述的BT网络中热门种子文件获取方法,其特征在于,所述步骤1)中,所述虚拟BT客户端的个数为32。4.根据权利要求1、2或3中任一项所述的BT网络中热门种子文件获取方法,其特征在于,所述步骤1)还包括:先把BT网络ID逻辑空间划分为多个区块,然后在每个区块中随机抽取一个数值作为虚拟BT客户端的ID。5.根据权利要求1、2或3中任一项所述的BT网络中热门种子文件获取方法,其特征在于,还包括步骤4):基于热门infohash获取相应的热门BT种子文件。6.根据权利要求5所述的BT网络中热门种子文件获取方法,其特征在于,所述步骤4)包括下列子步骤:41)对每个热门infohash,生成相应的BT种子文件下载任务,并将任务分发给所述虚拟BT客户端;42)虚拟BT客户端收到下发的下载任务...

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

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

1