CN103533048B - 一种bt网络中热门种子文件获取方法 - Google Patents

一种bt网络中热门种子文件获取方法 Download PDF

Info

Publication number
CN103533048B
CN103533048B CN201310475961.3A CN201310475961A CN103533048B CN 103533048 B CN103533048 B CN 103533048B CN 201310475961 A CN201310475961 A CN 201310475961A CN 103533048 B CN103533048 B CN 103533048B
Authority
CN
China
Prior art keywords
popular
clients
seed
virtual
infohash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310475961.3A
Other languages
English (en)
Other versions
CN103533048A (zh
Inventor
程学旗
冯凯
席鹏弼
刘备
王元卓
刘悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201310475961.3A priority Critical patent/CN103533048B/zh
Publication of CN103533048A publication Critical patent/CN103533048A/zh
Application granted granted Critical
Publication of CN103533048B publication Critical patent/CN103533048B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种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网络范围内的热门种子文件。

Description

一种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(BitTorrentDistributed 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客户端也可以针对热门种子文件进行优化,提高热门种子文件的下载优先级,这样,在某一客户端同时下载多个资源时,种子文件优先级高的资源优先下载,由于其热门度高,可以非常快速地完成下载,有利于提高用户体验。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

Claims (8)

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客户端收到下发的下载任务后,进行BT种子文件的下载;
43)对下载完成的BT种子文件进行完整性检查及正确性验证;
44)对虚拟客户端验证正确的BT种子文件进行文件存储。
7.根据权利要求6所述的BT网络中热门种子文件获取方法,其特征在于,所述步骤42)中,所述虚拟BT客户端先将热门infohash转换为BT网络磁力下载链接,然后通过BT网络节点之间的种子交换消息获取BT种子文件。
8.根据权利要求7所述的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),否则退出。
CN201310475961.3A 2013-10-12 2013-10-12 一种bt网络中热门种子文件获取方法 Active CN103533048B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310475961.3A CN103533048B (zh) 2013-10-12 2013-10-12 一种bt网络中热门种子文件获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310475961.3A CN103533048B (zh) 2013-10-12 2013-10-12 一种bt网络中热门种子文件获取方法

Publications (2)

Publication Number Publication Date
CN103533048A CN103533048A (zh) 2014-01-22
CN103533048B true CN103533048B (zh) 2018-01-26

Family

ID=49934713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310475961.3A Active CN103533048B (zh) 2013-10-12 2013-10-12 一种bt网络中热门种子文件获取方法

Country Status (1)

Country Link
CN (1) CN103533048B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881034B (zh) * 2018-07-03 2021-07-09 网宿科技股份有限公司 一种应用于bt系统的请求响应方法、设备及系统
CN108769078B (zh) * 2018-07-06 2021-04-23 杭州安恒信息技术股份有限公司 一种基于p2p网络的敏感信息传播实时监测方法及系统
US10911337B1 (en) * 2018-10-10 2021-02-02 Benjamin Thaddeus De Kosnik Network activity monitoring service
CN111064798B (zh) * 2019-12-25 2022-10-21 深圳市网心科技有限公司 节点入网方法、装置、客户端节点及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106503A (zh) * 2007-08-31 2008-01-16 华为技术有限公司 对等网络自治的方法、节点装置和系统
CN101902346A (zh) * 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185595A1 (en) * 2011-01-17 2012-07-19 Alcatel-Lucent Usa Inc. Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US8949329B2 (en) * 2011-07-22 2015-02-03 Alcatel Lucent Content popularity extraction in distributed hash table based peer-to-peer networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106503A (zh) * 2007-08-31 2008-01-16 华为技术有限公司 对等网络自治的方法、节点装置和系统
CN101902346A (zh) * 2009-05-31 2010-12-01 国际商业机器公司 P2p内容缓存系统和方法

Also Published As

Publication number Publication date
CN103533048A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
Le Blond et al. Pushing bittorrent locality to the limit
Xia et al. A survey of bittorrent performance
Antoniades et al. One-click hosting services: a file-sharing hideout
CN103533048B (zh) 一种bt网络中热门种子文件获取方法
Kryczka et al. Measuring the bittorrent ecosystem: Techniques, tips, and tricks
US9055113B2 (en) Method and system for monitoring flows in network traffic
JP4419865B2 (ja) 仮想ネットワークに対する実ネットワークのトラヒック管理方法、プログラム及び装置
Zhong et al. Topological model and analysis of the P2P BitTorrent protocol
Cece et al. An extended ns-2 for validation of load balancing algorithms in content delivery networks
Costa-Montenegro et al. Implementation and analysis of the BitTorrent protocol with a multi-agent model
Lareida et al. RB-tracker: A fully distributed, replicating, network-, and topology-aware P2P CDN
Aggarwal et al. Reflecting P2P user behaviour models in a simulation environment
de Almeida et al. Content delivery networks-q-learning approach for optimization of the network cost and the cache hit ratio
Danielis et al. Using Proximity Information between BitTorrent Peers: An Extensive Study of Effects on Internet Traffic Distribution
Gaeta et al. Fluid stochastic petri nets for computing transfer time distributions in peer-to-peer file sharing applications
Adar Drawing crowds and bit welfare
Meulpolder et al. Replication in bandwidth-symmetric BitTorrent networks
de Asís López-Fuentes et al. Comparison of P2P Social Network Architectures.
Sheng et al. Application layer traffic optimization in the eMule system
Samarasinghe Peer-to-peer cached data distribution network as an alternative for the client-server model
Shams et al. PreeN: Improving steady-state performance of isp-friendly P2P applications
Shi et al. A Peer-to-Peer File Sharing System over Named Data Networking
Hays Reducing the Download Time in Stochastic P2P Content Delivery Networks by Improving Peer Selection
Sun et al. Ensuring quality of service in p2p file sharing through user and relationship modelling
Allani et al. Hyphen: a hybrid protocol for generic overlay construction in P2P environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant