首页> 中国专利> 一种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。本发明能够全面准确地获取整个BT网络范围内的热门种子文件。

著录项

  • 公开/公告号CN103533048A

    专利类型发明专利

  • 公开/公告日2014-01-22

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201310475961.3

  • 申请日2013-10-12

  • 分类号H04L29/08;

  • 代理机构北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-26

    授权

    授权

  • 2014-02-26

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131012

    实质审查的生效

  • 2014-01-22

    公开

    公开

说明书

技术领域

本发明涉及计算机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 (BitTorrent Distributed Hash Table,即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。发明人深入研究发现,当虚拟节点 数递增到30时,所有虚拟节点发现的BT种子文件的总数据量趋于稳定状 态。又因逻辑空间为2的指数空间,ID数取为2的指数方便ID的选取,因 此在优选实施例中虚拟BT客户端的数目n取32。这样用较小的代价,即可 全面地探测到整个BT网络中的热门种子文件。

步骤2:启动运行所构造的虚拟BT客户端,使其加入BT网络。具体 包括:初始化包括虚拟BT客户端自动扩散自己的节点信息以使该虚拟BT 客户端加入BT网络。通过BT-DHT消息获取BT网络中的节点,初始化 自己的路由表信息,向外面发布自己自动扩散自己的节点信息以使BT网 络中的节点向本节点发送get_peers消息。

步骤3:各虚拟BT客户端监听BT-DHT网络中的get_peers消息,解 析get_peers消息并提取出其中携带的BT种子文件的infohash,并记录收 到的携带该infohash的get_peer消息的次数。

步骤4:定期统计所有虚拟BT客户端所接收到的对应于每个infohash 的get_peer消息的次数,根据接收到get_peer消息的次数确定相应的 infohash为热门infohash并记录这些热门infohash。这些热门infohash可以 记录在一个热门infohash集合中。理论上说,统计时间越长,收到的消息 越多,但是通过BT-DHT路由节点收集实验,随着统计时间的增加到约5 小时之后,BT网络中的路由表节点数达到稳定状态。因此,统计周期可 以是5小时。当然,这个统计周期本领域技术人员也可以根据实际需要灵 活调整。

需要说明的是,虽然有些BT客户端可能会重复发送多个携带同一个 infohash的get_peer消息,但是对于整个BT网络来说,这种重复发送对 种子文件热度的影响不大。在实际的BT网络中,热门种子文件的get_peer 消息数往往显著多于非热门种子文件(通常超过数倍),因此某些BT客户 端重复发送携带同一个infohash的get_peer消息对热门infohash集合的影 响可以忽略。利用虚拟BT客户端直接统计所接收到携带同一infohash的 get_peer消息个数,即可获得较为准确的种子文件热度信息,同时还能够 保持一个较低的开销。

依据本发明的另一个实施例,BT网络中热门种子文件获取方法还可 以包括步骤5:基于热门BT种子文件的infohash获取相应的热门BT种子 文件。在一个优选实施例中,步骤5具体包括下列子步骤,如图2所示:

步骤51:首先对每个热门的BT种子文件的infohash,生成BT种子 文件下载任务(例如由总服务器生成BT种子文件下载任务),并将任务分 发给BT网络中的虚拟BT客户端节点。

步骤52:虚拟BT客户端收到下发的下载任务后,进行BT种子文件 的下载。下载时,先将热门BT种子文件的infohash转换为BT网络的磁 力链接(Magnet links),然后通过BT网络节点之间的种子交换消息获取 BT种子文件。

步骤53:对下载完成的BT种子文件进行完整性检查及正确性验证。

步骤54:验证正确的BT种子文件发送到总服务器,总服务器对BT 种子文件进行文件存储;

步骤55:判断是否满足退出条件,若满足,退出结束;若不满足,则 继续进行后续的BT种子文件下载任务。

进一步地,在一个更优选的实施例中,步骤52包括下列子步骤:

步骤521:提取热门infohash集合的一个infohash,将其转化为BT网 络中的磁力链接。

步骤522:采用磁力链接在BT虚拟客户端上通过网络节点查询消息 从BT网络中查找BT网络中参与该infohash对应资源下载的共享网络节 点集合;

步骤523:从共享网络节点集合中的节点选取一个BT网络节点,虚 拟客户端通过BT协议消息与该节点进行BT握手。

步骤524:通过握手消息交互得知连接的BT客户端是否支持BT种子 文件的交换,当连接的BT客户端支持BT种子文件交换协议时,执行步 骤526,否则,关闭与该BT客户端的连接,执行步骤525。

步骤525:检查共享网络节点集合中是否还有未连接过的网络节点, 有则执行步骤523,没有则执行步骤527。

步骤526:通过BT种子文件交换扩展消息获取BT网络中进行共享的 的BT种子文件,成功下载BT种子文件后,关闭与该共享网络节点的BT 连接,执行步骤527,如果未成功下载BT种子文件,则执行步骤525。

步骤527:如果热门infohash集合还有未处理的热门Infohash,执行 步骤521,否则退出。

上述实施例通过启动大量的虚拟BT客户端加入BT网络中,通过随 机均匀选择节点的ID使得这些节点均匀分布在ID逻辑空间中。接受 BT-DHT网络中的节点查找get_peers消息,解析消息中的BT种子文件的 infohash,统计对收到的get_peers消息次数较高的infohash进行收集,从 而全面准确地获得整个BT网络范围内的热门种子文件。全面准确地获得 整个BT网络范围内的热门种子文件,有助于互联网服务提供商运营商针、 BT客户端对BT网络热门种子文件进行网络数据传输优化,以从而降低跨 网之间传输的网络流量,。同时BT客户端开发商应用下载策略提升BT客 户端用户对热门资源的下载体验。例如,目前P2P流量占网络流量的绝大 部分,运营商在准确掌握整个BT网络范围内的热门种子文件后,可以在 其各个自治域中分别缓存热门种子文件所对应的资源,从而大幅降低域间 网络流量,避免拥塞,进而提升用户体验。BT客户端也可以针对热门种 子文件进行优化,提高热门种子文件的下载优先级,这样,在某一客户端 同时下载多个资源时,种子文件优先级高的资源优先下载,由于其热门度 高,可以非常快速地完成下载,有利于提高用户体验。

最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对 本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应 用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本 发明的精神和教导范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号