CN102075561B - 一种网络资源下载方法,装置及系统 - Google Patents

一种网络资源下载方法,装置及系统 Download PDF

Info

Publication number
CN102075561B
CN102075561B CN 201010563990 CN201010563990A CN102075561B CN 102075561 B CN102075561 B CN 102075561B CN 201010563990 CN201010563990 CN 201010563990 CN 201010563990 A CN201010563990 A CN 201010563990A CN 102075561 B CN102075561 B CN 102075561B
Authority
CN
China
Prior art keywords
internet resources
burst
request information
user request
size
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
CN 201010563990
Other languages
English (en)
Other versions
CN102075561A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN 201010563990 priority Critical patent/CN102075561B/zh
Publication of CN102075561A publication Critical patent/CN102075561A/zh
Application granted granted Critical
Publication of CN102075561B publication Critical patent/CN102075561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种网络资源下载方法,用于提高网络资源下载的可靠性和效率。本发明实施例方法包括:通过网络资源数据包获取到户请求信息和网络资源的大小;使用所述用户请求信息与服务器进行交互,获得所述网络资源的节点列表和分片大小;根据所述info部分的哈希值,网络资源的大小和分片大小,与所述节点列表中的节点进行交互,对所述网络资源进行下载。本发明实施例另外公开了一种网络资源下载装置及系统。本发明实施例可以提高网络资源下载的可靠性和效率,提升用户的下载体验。

Description

一种网络资源下载方法,装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种网络资源下载方法,装置及系统。
背景技术
在传统的文件下载方式中,互联网的资源主要集中在各网站的服务器上,多个客户端分别通过访问网站从服务器上下载文件,仅服务器提供下载服务,客户端不提供下载服务。这种资源共享方式就形成了客户端和中心服务器的结构,即C/S(client/server)。由于客户端依赖于中心服务器获取资源,而服务器的处理能力和带宽是有限的,所以越多用户访问,服务器压力越大,用户获取资源的效率也就越低。
而端对端(P2P,Peer to Peer)的下载方式弱化了中心服务器的作用,甚至可以取消中心服务器,基于比特洪流(BT,Bit Torrent)协议的下载方式是P2P的一种实现方式,在BT下载中,用户节点既下载文件又提供下载服务,而服务器仅提供关于客户端和下载文件的目录信息,各个节点可以访问其他节点的资源,同时使相连的节点互相充当服务器提供资源,形成对等的网络结构。BT下载的客户端在下载文件时存在一定的散列特征,该种文件下载方式依赖的是各个用户提供的处理能力和带宽等资源,所以BT下载具有参与用户越多,可获得的资源连接数就越大,访问速度也就越快的下载特性,因此文件下载的数据传输速率大幅度提高。
私用种子服务器(PT,Private Tracker)下载是一种小范围的BT下载,PT和BT两个最明显的不同就是小范围下载和下载过程中需要统计流量。PT使用普通的BT客户端下载工具,其中,tracker是指运行于服务器上的一个程序,该程序能够追踪到底有多少用户同时在下载同一个文件,当打开由PT网站提供的种子文件得到追踪程序(tracker)地址从而连接到服务器的同时,还需要告诉服务器自己的密钥(passkey),用于统计用户的上传和下载量,计算用户的分享率。当用户没有PT账号或没有种子文件时,无法对网络资源进行下载。
发明内容
本发明实施例提供了一种网络资源下载方法,装置及系统,用于提高网络资源下载的可靠性和效率,提升用户的下载体验。
本发明实施例提供的网络资源下载方法,包括:通过网络资源数据包获取到用户请求信息和网络资源的大小,其中,用户请求信息包括:tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小;根据info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
本发明实施例提供的网络资源下载装置,包括:获取单元,用于通过网络资源数据包获取到用户请求信息和网络资源的大小,其中,用户请求信息包括:tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;交互单元,用于使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小;网络资源下载单元,用于根据info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
本发明实施例提供的网络资源下载系统,包括:第一节点,网络资源下载装置和第二节点。
从以上技术方案可以看出,本发明实施例具有以下优点:
通过网络资源数据包可以获取到网络资源的用户请求信息和网络资源的大小,并使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小,从而根据获取到的上述信息从节点列表中的节点处下载到网络资源,由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,提高了网络资源下载的可靠性和效率,提升了用户的下载体验。
附图说明
图1是本发明实施例中网络资源下载方法一个实施例示意图;
图2是本发明实施例中网络资源下载方法另一个实施例示意图;
图3是本发明实施例中网络资源下载方法另一个实施例示意图;
图4是本发明实施例中网络资源下载装置一个实施例示意图;
图5是本发明实施例中网络资源下载装置另一个实施例示意图;
图6是本发明实施例中网络资源下载系统一个实施例示意图。
具体实施方式
本发明实施例提供了一种网络资源下载方法,装置及系统,用于提高网络资源下载的可靠性和效率,提升用户的下载体验。
请参阅图1,本发明实施例中网络资源下载方法一个具体实施例包括:
101、通过网络资源数据包获取到用户请求信息和网络资源的大小。
当节点在网络中传输网络资源数据包时,网络资源下载装置能够通过该网络资源数据包获取到用户请求信息(get announce)和网络资源的大小,其中,用户请求信息包括:tracker地址,密钥字段(passkey),info部分的哈希值(info hash),下载字段和剩余字段等,下载字段为用户请求信息中download字段的内容,剩余字段为用户请求信息中left字段的内容。
用户请求信息中的tracker地址是直接从传输控制协议(TCP,TransmissionControl Protocol)包头中提取网络之间互连的协议(IP,Internet Protocol)及端口号而得到,用户请求信息中的info部分的哈希值是对种子文件的info部分进行安全散列算法(SHA-1,Secure Hash Algorithm-1)计算而得到的一个20字节长的数据,用于唯一标识一个BT资源。用户请求信息是一个标准的超文本传输协议(HTTP,Hyper Text Transfer Protocol)get请求。
102、使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小。
在步骤101中,获取到info部分的哈希值,网络资源的大小之后,通过对BT协议的分析,只要再获取到节点列表和分片大小,就能够与节点列表中存储有网络资源的节点进行交互,节点通过与服务器进行交互可以从服务器获取到该网络资源的节点列表。其中,交互具体是指:节点把用户请求信息发送给服务器,服务器收到用户请求信息后,返回节点列表到节点。其中,该服务器可以为运行tracker程序的服务器。
在本步骤102中,通过模拟PT系统中节点与服务器的交互过程,即将用户请求信息发送给服务器,从而能够从服务器获取到节点列表,同时通过分析计算可以获取到网络资源的分片大小,关于分片大小的获取将在后续实施例中介绍。
103、根据网络资源的info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
当获取到分片大小后,根据分片大小和节点列表中的任一节点进行交互,向该节点请求下载某个分片,从而能够从该节点返回的分片消息中提取分片数据,完成对网络资源的一个分片的下载,由于已经获取到info部分的哈希值和网络资源的大小,则能够不断地和节点列表中的节点进行交互,完成对网络资源的下载。
在本发明实施例中,通过网络资源数据包获取到网络资源的用户请求信息和网络资源的大小,并使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小,从而根据获取到的上述信息从节点列表中的节点处下载到网络资源,由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,提高了网络资源下载的可靠性和效率,提升了用户的下载体验。
进一步地,请参阅图2,本发明实施例中网络资源下载方法的另一个具体实施例包括:
201、对网络资源数据包进行抓包,获取到用户请求信息,并通过用户请求信息获取到网络资源的大小。
对节点在网络中传输的网络资源数据包进行抓包,得到用户请求信息,将用户请求信息中的下载字段的值和剩余字段的值进行相加,即可得到网络资源的大小。其中,抓包方法是在传送数据流的传输设备上开辟一个分路,通过传输设备(如网线或光纤)自动将分路后的数据流连接到抓包设备上。需要说明的是,在本发明实施例中通过抓包的方法只是获取到用户请求信息的其中一种实现方式,在实际应用中仍可以采取其他的实现方式,此处不作限定。
在本发明实施例中,网络资源数据包也可以为网络中的上行数据包,或者上行数据包的镜像或分光,网络资源下载装置在对镜像或分光后的数据包进行抓包时,不会对原有网络造成干扰。本实施例的网络资源数据包,可以是真正携带有网络资源的数据包,也可以是在节点发送真正携带有网络资源的数据包之前,该节点为了与其他接收方之间建立连接而发送的交互数据包。
202、判断该网络资源是否满足预置的条件,若是,执行步骤203,若不是,结束整个过程。
该步骤中网络资源下载装置可以实现有选择地下载网络资源,用户可以预置一个条件,对该网络资源进行判断是否满足该预置的条件,若是,再触发后续的步骤,若不是,则直接结束整个过程,以提高下载资源的针对性。
需要说明的是,在本发明实施例中,预置的条件可以为热门资源,即判断该网络资源是否为热门资源,其中,定义被下载的次数超过该预置的数值的网络资源为热门资源,若是,然后再触发后续步骤,以实现下载网络资源的针对性。
其中,热门资源只是其中一种具体的实际情况,在其他实施例中,预置的条件还可以为冷门资源,或者在一定时间范围内下载次数在一定范围内的资源,或者是资源大小在一定范围内的资源。简言之,本步骤是根据资源的信息,满足预置条件的资源进行筛选。
203、将用户请求信息的下载字段的值和剩余字段的值进行重置,获得新的用户请求信息。
当获取到用户请求信息后,通过对用户请求信息中的下载字段的值和剩余字段的值进行重置,作为新的用户请求信息,其中,新的用户请求信息的下载字段的值为零,新的用户请求信息的剩余字段的值为步骤201中计算出的网络资源的大小,新的用户请求信息中的其它字段不作修改,以保证服务器和节点能够识别。
通过对现有的PT下载的分析,重新构造用户请求信息,将下载字段的值设置为零,剩余字段的值设置为网络资源的大小,则网络资源下载装置在与服务器进行交互时,服务器能够判断出下载字段的值为零,会认为该用户还没有进行网络资源下载,不会要求该用户在下载时进行上传,能够节省一定的网络资源。
需要说明的是,本步骤主要介绍下载字段的值可以被重置,具体可以为零只是其中的一种实现方式的举例说明。在特定的情形下,或者根据服务器制定的特定规则,下载字段的值也可以重置为一个非零的数值,比如一个较小的数值也可以。
204、使用新的用户请求信息发送给服务器,接收服务器返回的节点列表。
网络资源下载装置模拟PT系统中节点与服务器的交互过程,将重新构造的用户请求信息发送给服务器,服务器对密钥进行验证成功后,会向网络资源下载装置返回一个网络资源的节点列表,该节点列表中记载了拥有该网络资源的所有节点,网络资源下载装置能够从该节点列表中选择任一节点进行交互。
205、从节点列表中选择任一节点进行交互,获得该节点返回的分片位图消息。
根据节点列表中记载的节点,选择其中任意一个节点进行交互:向该节点发送请求,能够获取到该节点返回的分片位图消息(bit field),与该节点相互通报各自拥有的资源分片,从该消息中可以获得消息长度字段(MessageLength)。
206、通过分片位图消息中的消息长度字段,计算出网络资源的分片数区间。
其中,分片数区间为网络资源的分片数的值所在的数值范围。具体可以采用如下方式计算出分片数区间:首先,得到分片位图消息的数据(data)部分有多少个字节,使用的公式为Message Length-1。通过对BT协议可知,一个数据部分的每一位(bit)表示一个分片,由于1字节=8位,通过分片位图消息的数据部分的长度(nBitfieldBytes)可以确定分片数区间为:
[(nBitfieldBytes*8-7),(nBitfieldBytes*8)],则网络资源的分片数的值必定在该分片数区间内。
207、选取一种试用分片大小,计算出试用分片数。
通过BT协议可知,分片大小为2k+3千字节,k为自然数。对k进行赋值,则首先可以确定一个试用分片大小,然后用网络资源的大小除以选取的试用分片大小,可以计算出一个试用分片数。
208、将计算出的试用分片数的值和步骤206中计算出的分片数区间进行比较,判断计算出的试用分片数的值是否在分片数区间内,若是,转到步骤209,若不是,重新执行步骤207,选取另外一种试用分片大小,再次计算试用分片数。
209、将选取的试用分片大小作为网络资源的分片大小进行存储。
210、根据网络资源的info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
当获取到分片大小后,根据分片大小能够和节点列表中的任一节点进行交互,向该节点请求下载某个分片,从而能够从该节点返回的分片消息中提取分片数据,完成对网络资源的一个分片的下载,由于已经获取到info部分的哈希值和网络资源的大小,则能够不断地和节点进行交互,完成对网络资源的下载。
在本发明实施例中,通过网络资源数据包获取到网络资源用户请求信息和网络资源的大小,并重新构造一个新的用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小,从而根据获取到的上述信息从节点列表中的节点处下载到网络资源,由于重构的用户请求信息中的下载字段的值可以为零,不需要用户在下载的同时进行上传,能够节省网络资源,另外由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,提高了网络资源下载的可靠性和效率,不需要计算用户的分享率,提升了用户的下载体验。
为了便于理解,下面以一应用场景对本发明实施例中的网络资源下载方法进行介绍,请参阅图3:
网络资源下载装置对第一节点在网络中传输的网络资源数据包进行抓包,获得用户请求信息:get announce?passkey=abc&info_hash=2586b89ch425781e56d8&download=1253265&left=1125124&...,则网络资源的大小为download值和left值之和,即1253265+1125124=2378389字节。
获取到用户请求信息和网络资源的大小后,可以对该网络资源进行判断是否满足一个预置的条件,用户可以预置一个条件,若是,再触发后续的步骤,若不是,则直接结束整个过程,以实现下载网络资源的针对性。
重新构造一个新的用户请求信息,将下载字段的值设置为零,将剩余字段的值设置为该网络资源的大小,该新的用户请求信息为:
get announce?passkey=abc &info_hash=2586b89ch425781e56d8&download=0&left=2378389&...
将新的用户请求信息发送给服务器,接收服务器返回的节点列表,该节点列表如表1所示:
  peer   IP地址   端口号
  peer1   10.1.1.1   6881
  peer2   10.1.1.5   6881
  peer3   10.1.1.3   6881
  peer4   10.1.1.7   6881
从该节点列表中选择任一节点进行交互,在此处选取peer 1进行交互,获得peer 1返回的分片位图消息,相互通报各自拥有的资源分片,从该分片位图消息中可以获得消息长度字段=4,则数据部分的长度(标记为nBitfieldBytes)=3,由分片数区间公式:
[(nBitfieldBytes*8-7),(nBitfieldBytes*8)],可得该网络资源的分片数区间是[17,24]。
通过对BT协议的分析,可获知,分片大小为2k+3千字节,k为自然数,常见的分片大小为:16K,32K,64K,128K,256K,512K,1M,2M,4M...
首先可以从常见的分片大小中选取一个试用分片大小,然后用网络资源的大小除以选取的试用分片大小,可以计算出一个试用分片数,然后,判断计算出的试用分片数的值是否在分片数区间内,若是,将选取的试用分片大小作为网络资源的分片大小进行存储;若不是,则重新选取一种试用分片大小,重复上述方法进行判断,如下表2所示:
  网络资源的大小   试用分片大小   计算出的试用分片数   是否在[17,24]区间
  2378389Bytes   16KB   145.1653442   不在
  2378389Bytes   32KB   72.58267212   不在
  2378389Bytes   64KB   36.29133606   不在
  2378389Bytes   128KB   18.14566803   在
表2中选取了4个试用分片大小,当分片大小为128K时,计算出的试用分片数为18.14566803,则恰好在分片数区间[17,24]内,则将所选取的试用分片大小128K作为该网络资源的分片大小进行存储。
根据获取到的分片大小128K能够和节点列表中的任一节点进行交互,向该节点请求下载某个分片,从而能够从该节点返回的分片消息中提取分片数据,完成对网络资源一个分片的下载。由于已经获取到info部分的哈希值和网络资源的大小,则能够不断地和节点进行交互,完成对网络资源的下载。
以上内容对本发明实施例中的网络资源下载方法进行了描述,下面对网络资源下载装置进行描述,在实际应用中,网络资源下载装置具体可以为BT或PT下载的客户端或缓存系统等,例如可以是HTTP缓存,HTTP在线视频缓存,P2P缓存等缓存系统,该缓存系统可以是缓存服务器或缓存服务器集群等,用于部署在网络出口处,连接交换机等设备,对于网络上的热点资源进行缓存,并将用户对外部网络的访问引导到缓存系统,拦截各区域P2P访问外网的下载请求,并将其重定向,再根据策略调度到各区域内网的缓存服务器上下载。从从而减少网络间流量,提高用户体验。此处只是举出了一些实例,不应理解为对本发明的限定。本发明实施例中的网络资源下载装置可以应用前述各实施例的网络资源下载方法,由于二者之间的对应性,为了内容的简洁,后续不再进行详细的举例。
请参阅图4,本发明实施例的网络资源下载装置的一个例子包括:
获取单元401,用于通过网络资源数据包获取到用户请求信息和网络资源的大小,其中,用户请求信息包括:tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;
交互单元402,用于使用用户请求信息与服务器进行交互,获取到网络资源的节点列表和分片大小;
网络资源下载单元403,用于根据info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
各单元之间的交互过程如下:交互单元402根据获取单元401的获取到的用户请求信息与服务器进行交互,获取到网络资源的节点列表和分片大小,网络资源下载单元403根据交互单元402获取到的节点列表和分片大小以及获取单元401获取到的info部分的哈希值,能够与节点列表中的节点进行交互,对网络资源进行下载。
在本发明实施例中,网络资源下载装置通过网络资源数据包获取到网络资源的用户请求信息和网络资源的大小,并使用用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小,从而根据获取到的上述信息从节点列表中的节点处下载到网络资源,由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,提高了网络资源下载的可靠性和效率,提升了用户的下载体验。
进一步地,下面以另一个实施例对本发明实施例中的网络资源下载装置进行描述,具体请参阅图5,本发明实施例中网络资源下载装置的另一个实施例包括:
获取单元501,具体用于对网络资源数据包进行抓包,获得用户请求信息,其中,用户请求信息包括:tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;对用户请求信息中的下载字段的值和剩余字段的值进行相加,得到网络资源的大小;
判断单元502,用于判断网络资源是否满足预置的条件,若是,则触发重置单元503执行;
重置单元503,用于将用户请求信息的下载字段的值和剩余字段的值进行重置,作为新的用户请求信息,其中,新的用户请求信息的下载字段的值为零,新的用户请求信息的剩余字段的值为网络资源的大小;
交互单元504,包括:节点列表获取模块5041,用于将用户请求信息发送给服务器,接收服务器返回的节点列表;分片位图消息获取模块5042,用于从节点列表中选择节点进行交互,获得该节点返回的分片位图消息;分片数区间计算模块5043,用于通过分片位图消息中的消息长度字段,计算出网络资源的分片数区间,分片数区间为网络资源的分片数的值所在的数值范围;分片大小预设模块5044,用于选取一种试用分片大小,计算出试用分片数,试用分片数为网络资源的大小除以所选取的试用分片大小的值;判断模块5045,用于判断计算出的试用分片数的值是否在分片数区间内,若是,则触发存储模块5046执行,若不是,则触发分片大小预设模块5044;存储模块5046,用于将选取的试用分片大小作为网络资源的分片大小进行存储;
网络资源下载单元505,用于根据info部分的哈希值,网络资源的大小和分片大小,与节点列表中的节点进行交互,对网络资源进行下载。
各单元之间的交互过程和图4中所示的各单元之间的交互过程相同,此处不再赘述。
交互单元504中各模块之间的交互过程如下:分片位图消息获取模块5042从节点列表获取模块5041中获取到的节点列表中选择节点进行交互,能够获得分片位图消息,分片数区间计算模块5043根据该分片位图消息能够计算出该网络资源的分片数区间,分片大小预设模块5044选取一种试用分片大小,计算出试用分片数,判断模块5045能够对计算出的试用分片数进行判断,若根据选取的试用分片大小计算出的试用分片数的值在分片数区间内,则存储模块5046将选取的试用分片大小作为网络资源的分片大小进行存储,若根据选取的试用分片大小计算出的试用分片数的值不在分片数区间内,则触发分片大小预设模块5044重新执行。
在本发明实施例中,网络资源下载装置通过对网络资源数据包获取到网络资源的用户请求信息和网络资源的大小,并重构一个新的用户请求信息与服务器进行交互,获得网络资源的节点列表和分片大小,从而根据获取到的上述信息从节点列表中的节点处下载到网络资源,其中,该服务器可以是运行tracker程序的服务器,由于重构的用户请求信息中的下载字段的值可以为零,不需要用户在下载的同时进行上传,能够节省网络资源,另外由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,不需要计算用户的分享率,提高了网络资源下载的可靠性和效率,提升了用户的下载体验。
以上内容对本发明实施例中的网络资源下载装置进行了介绍,下面以一个实施例对本发明实施例中的网络资源下载系统进行描述,具体请参阅图6,本发明实施例中网络资源下载系统一个实施例包括:
第一节点601,用于在网络中传输网络资源数据包;
网络资源下载装置602,具体如图4或图5中所示的网络资源下载装置;
第二节点603,用于向网络资源下载装置602提供网络资源,使得网络资源下载装置602能够对网络资源进行下载。
网络资源下载系统中的各单元模块的交互过程如下:
网络资源下载装置602从第一节点601传输的网络资源数据包获取到用户请求信息和网络资源的大小,并从第二节点603下载网络资源。
在实际应用中,第一节点601可以具体为网络中的用户,该用户可以是网络中的主机或服务器等,此处不做限定,该用户可以将发送的网络资源数据包在网络中传输,网络资源下载装置602可以具体为网络资源的缓存系统,该缓存系统通过用户传输的网络资源数据包可以获取到用户请求信息和网络资源的大小,并能够从网络中的另一个用户那里下载该网络资源,整个过程不需要该缓存系统提供账号或种子,其中,网络中的另一个用户为第二节点603的一种具体实现方式。
在本发明实施例中,网络资源下载系统通过网络资源数据包获取到网络资源的用户请求信息和网络资源的大小,与服务器进行交互,获得网络资源的节点列表和分片大小,从而能够下载到网络资源,其中,该服务器可以是运行tracker程序的服务器,由于在网络资源的下载过程中,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,提高了网络资源下载的可靠性和效率,提升了用户的下载体验。
在实际的网络应用中,例如针对网络运营商而言,可以在网络出口处安装本发明实施例中的网络资源下载装置,可以将网络中的某些资源如热门资源等预先通过本发明实施例中的网络资源下载装置缓存下来,然后,当用户从外网下载资源时,对用户在网络中传输的用户请求信息进行判断,若本发明实施例中的网络资源下载装置已缓存有该网络资源,将用户请求重定向到内网中的网络资源下载装置,从而使得用户能够从该网络资源下载装置下载网络资源,由于此时在内网中实现了对网络资源的下载,可以加速用户的下载,同时节省网络间流量,即节省网络间结算费用。
本发明实施例也可应用于网络安全领域,通过在网络设备中(例如防火墙)嵌入上述网络资源下载装置或在节点上附加应用该上述网络资源下载装置,来实时监控网络中的热点PT资源,不需要用户提供PT账号和种子文件即可以对网络资源进行下载,分析其是否为非法、暴力、色情、盗版数据,以提升设备的功能与竞争力;或用于版权、安全部门对网络中传播的PT资源进行监控。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种网络资源下载方法,装置及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种网络资源下载方法,其特征在于,包括:
通过网络资源数据包获取到用户请求信息和网络资源的大小,所述用户请求信息包括:追踪程序tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;
使用所述用户请求信息与服务器进行交互,获得所述网络资源的节点列表和分片大小;
根据所述info部分的哈希值,网络资源的大小和分片大小,与所述节点列表中的节点进行交互,对所述网络资源进行下载;
所述获取到用户请求信息之后包括:将所述用户请求信息的下载字段的值和剩余字段的值进行重置,作为新的用户请求信息,所述新的用户请求信息的下载字段的值为零,所述新的用户请求信息的剩余字段的值为所述网络资源的大小;
所述使用所述用户请求信息与服务器进行交互具体为:
使用所述新的用户请求信息与服务器进行交互。
2.根据权利要求1所述的网络资源下载方法,其特征在于,所述使用所述用户请求信息与服务器进行交互,获得所述网络资源的节点列表和分片大小包括:
将所述用户请求信息发送给服务器,接收所述服务器返回的节点列表;
从所述节点列表中选择任一节点进行交互,获得所述节点返回的分片位图消息;
通过所述分片位图消息的消息长度字段,计算出所述网络资源的分片数区间,所述分片数区间为所述网络资源的分片数的值所在的数值范围;
选取一种试用分片大小,计算出试用分片数,所述试用分片数为所述网络资源的大小除以所选取的试用分片大小的值;
判断所述计算出的试用分片数的值是否在所述分片数区间内,若所述计算出的试用分片数的值在所述分片数区间内,则将选取的试用分片大小作为所述网络资源的分片大小进行存储;若所述计算出的试用分片数的值不在所述分片数区间内,则重新执行选取一种试用分片大小的步骤。
3.根据权利要求1所述的网络资源下载方法,其特征在于,所述网络资源数据包为网络中的上行数据包,上行数据包的镜像或分光。
4.根据权利要求1所述的网络资源下载方法,其特征在于,所述通过网络资源数据包获取到用户请求信息和网络资源的大小之后包括:
判断所述网络资源是否满足预置的条件,若是,则执行将所述用户请求信息与服务器进行交互的步骤。
5.根据权利要求1所述的网络资源下载方法,其特征在于,所述通过网络资源数据包获取到用户请求信息和网络资源的大小具体为:
对网络资源数据包进行抓包,得到用户请求信息;
将所述用户请求信息中的下载字段的值和剩余字段的值相加,得到网络资源的大小。
6.一种网络资源下载装置,其特征在于,包括:
获取单元,用于通过网络资源数据包获取到用户请求信息和网络资源的大小,所述用户请求信息包括:追踪程序tracker地址,密钥字段,info部分的哈希值,下载字段和剩余字段;
交互单元,用于使用所述用户请求信息与服务器进行交互,获得所述网络资源的节点列表和分片大小;
网络资源下载单元,用于根据所述info部分的哈希值,网络资源的大小和分片大小,与所述节点列表中的节点进行交互,对所述网络资源进行下载;
所述装置还包括:
重置单元,用于将所述用户请求信息的下载字段的值和剩余字段的值进行重置,作为新的用户请求信息,所述新的用户请求信息的下载字段的值为零,所述新的用户请求信息的剩余字段的值为所述网络资源的大小;
所述交互单元,具体用于使用所述新的用户请求信息与服务器进行交互。
7.根据权利要求6所述的网络资源下载装置,其特征在于,所述交互单元包括:
节点列表获取模块,用于将所述用户请求信息发送给服务器,接收所述服务器返回的节点列表;
分片位图消息获取模块,用于从所述节点列表中选择任一节点进行交互,获得所述节点返回的分片位图消息;
分片数区间计算模块,用于通过所述分片位图消息的消息长度字段,计算出所述网络资源的分片数区间,所述分片数区间为所述网络资源的分片数的值所在的数值范围;
分片大小预设模块,用于选取一种试用分片大小,计算出试用分片数,所述试用分片数为所述网络资源的大小除以所选取的试用分片大小的值;
判断模块,用于判断所述计算出的试用分片数的值是否在所述分片数区间内,若是,则触发存储模块,若不是,则触发分片大小预设模块;
存储模块,用于将选取的试用分片大小作为所述网络资源的分片大小进行存储。
8.根据权利求6所述的网络资源下载装置,其特征在于,所述下载装置还包括:
判断单元,用于判断所述网络资源是否满足预置的条件,若是,则触发交互单元执行。
9.根据权利求6所述的网络资源下载装置,其特征在于,所述获取单元,具体用于对网络资源数据包进行抓包,得到用户请求信息,将所述用户请求信息中的下载字段的值和剩余字段的值相加,得到网络资源的大小。
10.一种网络资源下载系统,其特征在于,包括:
第一节点,用于在网络中传输网络资源数据包;
网络资源下载装置,如权利要求6到9中任一项权利要求所述的网络资源下载装置;
第二节点,用于向所述网络资源下载装置提供网络资源。
CN 201010563990 2010-11-29 2010-11-29 一种网络资源下载方法,装置及系统 Active CN102075561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010563990 CN102075561B (zh) 2010-11-29 2010-11-29 一种网络资源下载方法,装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010563990 CN102075561B (zh) 2010-11-29 2010-11-29 一种网络资源下载方法,装置及系统

Publications (2)

Publication Number Publication Date
CN102075561A CN102075561A (zh) 2011-05-25
CN102075561B true CN102075561B (zh) 2013-06-05

Family

ID=44033902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010563990 Active CN102075561B (zh) 2010-11-29 2010-11-29 一种网络资源下载方法,装置及系统

Country Status (1)

Country Link
CN (1) CN102075561B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379139B (zh) * 2012-04-17 2017-07-25 百度在线网络技术(北京)有限公司 分布式缓存内容的校验方法、系统和装置
CN102664813B (zh) * 2012-05-17 2014-12-03 重庆邮电大学 一种p2p流量本地化系统及方法
CN103634361B (zh) 2012-08-28 2018-07-20 腾讯科技(深圳)有限公司 下载文件的方法和装置
CN103024082B (zh) * 2013-01-04 2016-05-18 福建星网锐捷通讯股份有限公司 一种用于数字媒体分发的点对点通信方法
CN104811750A (zh) * 2014-01-23 2015-07-29 北京风行在线技术有限公司 一种在p2p的节点中用于播放视频的方法、装置和系统
CN104836822B (zh) * 2014-02-10 2019-04-26 腾讯科技(深圳)有限公司 获取下载数据方法及装置、下载数据的方法及系统
CN105847337A (zh) * 2016-03-18 2016-08-10 上海斐讯数据通信技术有限公司 一种基于sdn的文件分发方法和系统
CN106330788B (zh) * 2016-08-19 2018-05-22 北京网迅科技有限公司杭州分公司 报文分片传输方法和装置
CN108881034B (zh) * 2018-07-03 2021-07-09 网宿科技股份有限公司 一种应用于bt系统的请求响应方法、设备及系统
CN108964845B (zh) * 2018-07-03 2021-04-16 网宿科技股份有限公司 一种获取bt资源信息的方法和设备
CN111435946A (zh) * 2019-01-15 2020-07-21 阿里巴巴集团控股有限公司 下载资源的方法、装置、终端设备及系统
CN113691581B (zh) * 2021-07-08 2023-05-09 杭州又拍云科技有限公司 一种高效的cdn刷新分片的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106503A (zh) * 2007-08-31 2008-01-16 华为技术有限公司 对等网络自治的方法、节点装置和系统
CN101426019A (zh) * 2007-10-30 2009-05-06 广州商机网络科技有限公司 手机系统的数据文件传输方法
CN101515945A (zh) * 2009-04-07 2009-08-26 四川长虹电器股份有限公司 一种p2p资源文件的在线应用方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106503A (zh) * 2007-08-31 2008-01-16 华为技术有限公司 对等网络自治的方法、节点装置和系统
CN101426019A (zh) * 2007-10-30 2009-05-06 广州商机网络科技有限公司 手机系统的数据文件传输方法
CN101515945A (zh) * 2009-04-07 2009-08-26 四川长虹电器股份有限公司 一种p2p资源文件的在线应用方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
信息科技辑,2007年第6期>.2007,(第6期),第2.1.2、2.1.3节.
王展明.BitTorrent原理与算法研究及其性能优化.<中国优秀硕士学位论文全文数据库&#8226
王展明.BitTorrent原理与算法研究及其性能优化.<中国优秀硕士学位论文全文数据库&#8226;信息科技辑,2007年第6期>.2007,(第6期),第2.1.2、2.1.3节. *

Also Published As

Publication number Publication date
CN102075561A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102075561B (zh) 一种网络资源下载方法,装置及系统
US11122067B2 (en) Methods for detecting and mitigating malicious network behavior and devices thereof
US20170264701A1 (en) System and method for context specific website optimization
KR102710899B1 (ko) 블록체인 네트워크와 같은 네트워크에서 데이터의 전파 및 통신을 위한 컴퓨터 구현 시스템 및 방법
WO2018121331A1 (zh) 攻击请求的确定方法、装置及服务器
CN102664881B (zh) 超文本传输协议1.1下的隐藏服务定位方法
CN101917488B (zh) 一种bt下载方法、装置及系统
US10218733B1 (en) System and method for detecting a malicious activity in a computing environment
CN107483609B (zh) 一种网络访问方法、相关设备和系统
US8526318B2 (en) Method and device of identifying the payload of a data packet in a TCP stream
CN103297484A (zh) 资源分享方法和装置
CN109756501A (zh) 一种基于http协议的高隐匿网络代理方法及系统
CN107395553B (zh) 一种网络攻击的检测方法、装置及存储介质
CN105786952A (zh) 可自动配置的传输堆栈
CN109660552A (zh) 一种将地址跳变和WAF技术相结合的Web防御方法
CN107181605A (zh) 报文检测方法及系统、内容提取装置、流量匹配装置
Liu et al. Can HTTP/2 really help Web performance on smartphones?
Shafiee Sarjaz et al. Securing BitTorrent using a new reputation-based trust management system
CN104734939B (zh) 会话保活方法和设备
WO2017097092A1 (zh) 缓存集群服务的处理方法及系统
CN103533048B (zh) 一种bt网络中热门种子文件获取方法
US9729650B2 (en) Providing data to a network terminal
CN107911498A (zh) 一种基于dns代理实现dns解析的方法及装置
CN108810070A (zh) 一种资源共享方法、装置、智能设备和存储介质
CN107196961A (zh) 一种ip地址隐藏方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGY CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.