CN101635737A - 下载方法、系统、p2p服务器、客户端 - Google Patents

下载方法、系统、p2p服务器、客户端 Download PDF

Info

Publication number
CN101635737A
CN101635737A CN 200810134752 CN200810134752A CN101635737A CN 101635737 A CN101635737 A CN 101635737A CN 200810134752 CN200810134752 CN 200810134752 CN 200810134752 A CN200810134752 A CN 200810134752A CN 101635737 A CN101635737 A CN 101635737A
Authority
CN
China
Prior art keywords
client
file
download
http
server
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.)
Granted
Application number
CN 200810134752
Other languages
English (en)
Other versions
CN101635737B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN 200810134752 priority Critical patent/CN101635737B/zh
Publication of CN101635737A publication Critical patent/CN101635737A/zh
Priority to HK10105760.5A priority patent/HK1138967A1/xx
Application granted granted Critical
Publication of CN101635737B publication Critical patent/CN101635737B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种下载方法、系统、P2P服务器、客户端。一种下载方法,包括:客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息;所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片。利用本发明,可以降低服务器所需提供的带宽。

Description

下载方法、系统、P2P服务器、客户端
技术领域
本发明涉及计算机网络技术领域,特别涉及一种下载方法、系统、P2P服务器、客户端。
背景技术
超文本传输协议(Hyper Text Transportation Protocol,HTTP)是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定多数用户而制订的协议。也可以把HTTP看作是旨在向不特定多数的用户发放文件的协议。HTTP应用于从服务器(Server)读取、浏览、下载Web页面等内容。
常用的HTTP下载,简单的说,是服务器将存储于服务器上的内容传输到请求下载的客户端(Client)。一些HTTP下载中还将文件分片,以提供以分片为单位进行下载。举一个例子加以说明,现有的视频网站中,存储有大量视频片段以提供客户端访问并观看或下载。视频片段可以分为若干分片储存在视频网站的服务器上,这些分片的总和构成了完整的视频片段。当客户端发出访问或下载请求后,通过服务器与客户端建立的HTTP连接,服务器将请求的视频片段传输给客户端,具体的,可以是将视频片段的各个分片传输给客户端,该方式的原理可以如图1所示。当然,除视频网站外,还有其它很多以HTTP方式提供的下载,与上述过程类似。
在对现有技术的研究和实践过程中,发明人发现现有技术中存在以下问题:
对于服务器来说,其所能提供的带宽往往是有限的。每个从服务器上进行文件下载的客户端,都要占用服务器一部分带宽。这样,当从服务器上下载文件的客户端数量很多时,则将会占用服务器大量的带宽。特别是已有的所有客户端需要占用的总带宽达到或超过服务器所能提供的带宽的情况下,如果再有新的客户端发出下载请求,则服务器将无法提供下载。
发明内容
本发明实施例的目的是提供一种下载方法、系统、P2P服务器、客户端,以降低下载过程中所需的服务器的带宽。
为解决上述技术问题,本发明实施例提供一种下载方法、系统、P2P服务器、客户端是这样实现的:
一种下载方法,包括:
客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息;
所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片。
优选地,所述方法中,所述客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,包括:
客户端从种子文件中读取P2P服务器地址,从P2P服务器获取文件的HTTP下载路径和可以提供下载的其它客户端信息。
优选地,所述方法中,所述客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,包括:
客户端从种子文件中读取P2P服务器地址和待下载文件的HTTP下载路径,从P2P服务器获取可以提供下载的其它客户端信息。
优选地,所述方法中,所述种子文件为通过HTTP或FTP方式下载得到的种子文件。
优选地,所述方法中,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,包括:
所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片,并询问所述其它客户端可以提供的分片的信息;
所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端并从所述HTTP服务器上下载所述种子的不同分片。
优选地,所述方法中,所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片
所述客户端根据获取的HTTP下载路径开始从HTTP服务器依次下载所述文件的各个分片。
优选地,所述方法中,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,包括:
所述客户端询问所述其它客户端可以提供的分片的信息;
所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端下载所述种子的部分不同的分片,并根据获取的HTTP下载路径从HTTP服务器下载其它分片。
优选地,所述方法中,所述根据获取的HTTP下载路径从HTTP服务器下载其它分片,可以包括:
根据获取的HTTP下载路径优先从HTTP服务器下载所述其它客户端不具有的分片。
一种下载方法,包括:
P2P服务器接收客户端发来的查询请求;
P2P服务器返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
一种下载系统,包括:
至少一个上传客户端,用于存储待下载文件的分片;
P2P服务器,用于存储待下载文件的HTTP下载路径和可以提供下载的上传客户端的信息;
下载客户端,用于从种子文件中读取P2P服务器地址,从P2P服务器获取文件的HTTP下载路径和可以提供下载的所述上传客户端的信息;根据获取的HTTP下载路径和所述上传客户端信息,从HTTP服务器和所述上传客户端下载所述文件的全部分片。
一种下载系统,包括:
至少一个上传客户端,用于存储待下载文件的分片;
P2P服务器,用于存储可以提供下载的上传客户端的信息;
下载客户端,从种子文件中读取P2P服务器地址和待下载文件的HTTP下载路径;从P2P服务器获取可以提供下载的所述上传客户端信息;根据获取的HTTP下载路径和所述上传客户端信息,从HTTP服务器和所述上传客户端下载所述文件的全部分片。
一种客户端,包括:
种子文件读取单元,用于从种子文件中读取P2P服务器地址;
信息获取单元,用于从P2P服务器获取文件的HTTP下载路径和可以提供下载的上传客户端的信息;
客户端文件分片信息获取单元,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
优选地,所述客户端还可以包括:
种子文件获取单元,用于通过HTTP或FTP方式下载得到所述种子文件。
一种客户端,包括:
种子文件读取单元,用于从种子文件中读取P2P服务器地址和HTTP下载路径;
信息获取单元,用于从P2P服务器获取可以提供文件下载的上传客户端的信息;
客户端文件分片信息获取单元,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
优选地,所述客户端还可以包括:
种子文件获取单元,用于通过HTTP或FTP方式下载得到所述种子文件。
一种P2P服务器,包括:
查询请求接收单元,用于接收客户端发来的查询请求;
信息返回单元,用于返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
由以上本发明实施例提供的技术方案可见,由上述实施例可知,客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,这样的下载方式将HTTP下载和BT下载做了结合,相对于单纯从HTTP服务器上下载,由于引入BT下载增加分流,可以降低从HTTP服务器上下载的分片,也就降低了占用的HTTP服务器的带宽。特别是对于网络中存在大量下载需求的情况,按照本发明给出的实施例,由于需要下载的文件的很多分片都可以通过BT方式从其它客户端上下载,可以大大降低服务器所需提供的带宽。对于网站运营商,则可以减少由于带宽费用所需的高额支出。另一方面,由于BT方式的下载速度相对于HTTP方式一般要快,因此,本发明实施例对于有下载需求的客户端,可以大大减少总的下载时间,对于一些延迟性要求较高的互联网业务,可以提供较佳的用户体验。再者,现有的单纯的BT下载,往往存在客户端下载完成了大部分的情况下,由于缺乏种子,剩余部分长时间不能完成下载的情况。而采用本发明实施例,在缺乏种子的情况下,仍然可以从HTTP服务器上下载缺少的部分,从而可以完成下载,并往往可以节省总的下载时间。
附图说明
图1为现有技术中HTTP下载方法的原理图;
图2为本发明下载方法实施例的流程图;
图3为本发明下载方法实施例的原理图;
图4为本发明下载系统实施例的框图;
图5为本发明客户端实施例的框图;
图6为本发明P2P服务器实施例的框图。
具体实施方式
本发明实施例提供一种下载方法、系统、P2P服务器、客户端。
首先介绍现有技术中存在的BT下载方式。BT全名为BitTorrent,是一种点对点(Peer to Peer,P2P)传输方式。一个客户端在下载(download)的同时,也在为其它客户端提供上传(upload)。在可以共享的同一网络内,例如在同一全分布式结构化拓扑(Decentralized Structured Topology,DHT)网络内,对于同一文件的下载,则,每一客户端都可以从其它客户端上下载需要的文件的分片,同时还提供自身已下载到的文件分片的上传。这样,文件分片在各个客户端之间互相传输,并不会随着客户端数量的增加而降低下载速度。相反,下载的客户端越多,每个客户端下载的速度将越快,因为在其它客户端上存有的可以提供下载的文件分片越多。
一般地,在BT下载中,把上传资源给其他人下载的客户端称为种子(Seed),种子数越多,说明正在提供上传的客户端数量越多。客户端在下载文件前,将首先下载种子文件。种子文件一般是一个索引文件,其中包括下载文件的存放位置、大小、P2P下载服务器的地址、种子发布者的地址等信息。需要说明的是,一般地,种子文件并不是要下载的软件,但是需要在下载文件前首先下载种子文件。现有技术中,种子文件一般的格式是*.torrent,其中,*为文件名。当然,还可以是其它可行的格式。需要说明的是,BT下载中的种子一般是指能够提供下载的客户端。可见种子与种子文件是不同的概念。
本发明实施例正是结合HTTP下载和BT下载的特点,提出一种新的下载方法。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
以下介绍本发明BT与HTTP结合的下载方法的一个实施例,图2示出了该实施例的流程,如图2中,该实施例包括:
S201:客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息。
具体的,该步骤可以有两种方式:
方式一:客户端从种子文件中读取P2P服务器地址,从P2P服务器获取文件的HTTP下载路径和可以提供下载的其它客户端信息。
该方式中,所述种子文件,可以是采用通用的BitTorrent工具根据待下载文件制作成标准的BT种子文件(例如待下载文件为A.file,BT种子文件为A.file.torrent)。种子文件中可以包括待下载文件对应的P2P服务器地址、分片状态等信息。
所述待下载的文件可以按照固定的尺寸或非固定的尺寸分割成不同分片。所述分割可以由通用的BitTorrent工具实现。这里,假设文件A.file被按照固定的尺寸分割成编号为0至9的共10片,以在后续举例说明。
所述BT种子文件A.file.torrent可以被部署到P2P服务器上,也可以被部署到其它服务器上。期望下载A.file文件的客户端,可以首先下载A.file.torrent这个种子文件。具体的,按照A.file.torrent的部署位置,可以以HTTP的方式或其它方式(如文件传输协议(File Transfer Protocol,FTP)方式等)从所述P2P服务器或其它服务器上下载所述A.file.torrent种子文件。
客户端从种子文件中读取P2P服务器地址后,可以向P2P服务器发起询问请求。
所述P2P服务器接收到发来的询问请求后,将文件的HTTP下载路径和可以提供该文件下载的其它客户端的信息发送给所述发起询问请求的客户端。这样,所述发起询问请求的客户端可以获取到文件的HTTP下载路径和可以提供下载的其它客户端信息。
方式二:客户端从种子文件中读取P2P服务器地址和待下载文件的HTTP下载路径,从P2P服务器获取可以提供下载的其它客户端信息。
该方式中,所述种子文件中除了包括与方式一中类似的待下载文件的分片信息和对应的P2P服务器地址,还可以包括待下载文件的HTTP下载路径,即可以提供文件下载的HTTP服务器的信息。这样,所述客户端可以从种子文件中直接获取可以提供下载的HTTP下载路径,即可以提供文件下载的HTTP服务器的信息。
同样的,该方式中,所述BT种子文件A.file.torrent可以被部署到P2P服务器上,也可以被部署到其它服务器上。期望下载A.file文件的客户端,可以首先下载A.file.torrent这个种子文件。具体的,按照A.file.torrent的部署位置,可以以HTTP的方式或其它方式(如FTP方式等)从所述P2P服务器或其它服务器上下载所述A.file.torrent种子文件。
这里假设可以提供下载的其它客户端为2个,以在后续步骤中举例说明。
S202:所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片。
具体的,该步骤可以有以下两种方式:
方式一:
该方式可以包括下述步骤:
S202a:所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片,并询问所述其它客户端可以提供的分片的信息。
所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片,具体的,可以从HTTP服务器依次下载所述文件的各个分片,例如依次下载第0分片、第1分片、…,依次类推。当然,也可以是按照其它次序下载各个分片。这里以依次下载所述文件第0分片、第1分片、…举例说明。
S202b:所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端并从所述HTTP服务器上下载所述种子的不同分片。
所述客户端根据所述其它客户端返回的分片信息,依照前述假设,这里的其它客户端为2个。并假设这2个客户端上分别可提供下载的所述文件的分片情况如下:
客户端1:可提供分片0、1、3、4、6、9。
客户端2:可提供全部分片。
一般地,S202b中,所述客户端得到所述其它客户端返回的分片信息会有一定的延迟。这样,在S202b执行时,可能S202a中从HTTP服务器已经下载得到了第0分片和第1分片。
接下来,所述客户端可以同时从所述其它客户端并从所述HTTP服务器上下载所述种子的不同分片,直到下载到全部的分片,从而完成整个文件的下载。
具体的,所述客户端以标准的BitTorrent协议从客户端1下载分片3、分片4和分片6,从客户端2下载分片2、分片5、分片7和分片9,同时以HTTP方式从HTTP服务器下载分片8。具体可以如图3所示(图3中未示出从HTTP服务器下载分片0和分片1)。
需要说明的是,从哪个节点(包括上述客户端1、客户端2和HTTP服务器)下载哪些分片的数据,可以由标准的BitTorrent算法决定的。该算法中,可以避免出现同一个分片被下载多次的情况。并且,将HTTP服务器视为与其它客户端等同的节点,则可以合理的规划下载,例如按照不同节点的下载速度,平衡从各节点下载的分片的数量。假设从HTTP服务器下载的速度较慢,而从客户端1和客户端2下载速度较快,则,可以从HTTP服务器下载较少的分片,而从客户端1和客户端2下载较多的分片。
最终,所述客户端A.file的所有分片均已下载完成,至此,文件A.file下载完成。
方式二:
假设以BT方式下载存在较少的延迟,则该情况下按照方式一中S202a和S202b从HTTP下载的分片与从其它客户端下载的分片可能发生重复。具体的,S202a中,考虑到HTTP下载也存在一定的延迟,则所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片,例如下载分片0,如果分片0还未下载完成时,由于BT方式下载存在较少的延迟,S202b中,所述客户端已经得到了所述其它客户端返回的分片信息,则可能此时所述客户端会开始从所述其它客户端中的1个上再次下载分片0,这样,造成了同一分片的重复下载。
为了避免该情况下按照方式一中从HTTP下载的分片与从其它客户端下载的分片重复,而且,为了优先从下载速度快的所述其它客户端上下载各分片,这里的方式二中可以包括下述步骤:
S202A:所述客户端询问所述其它客户端可以提供的分片的信息。
S202B:所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端下载所述种子的部分不同的分片,并根据获取的HTTP下载路径从HTTP服务器下载其它分片。
如果所述客户端根据所述其它客户端返回的分片信息中,所有的其它客户端都缺少某一分片,则可以根据获取的HTTP下载路径优先从HTTP服务器下载所述其它客户端不具有的分片。
最终,所述客户端A.file的所有分片均已下载完成,至此,文件A.file下载完成。
由上述实施例可知,客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,这样的下载方式将HTTP下载和BT下载做了结合,相对于单纯从HTTP服务器上下载,由于引入BT下载增加分流,可以降低从HTTP服务器上下载的分片,也就降低了占用的HTTP服务器的带宽。特别是对于网络中存在大量下载需求的情况,按照本发明给出的实施例,由于需要下载的文件的很多分片都可以通过BT方式从其它客户端上下载,可以大大降低服务器所需提供的带宽。对于网站运营商,则可以减少由于带宽费用所需的高额支出。另一方面,由于BT方式的下载速度相对于HTTP方式一般要快,因此,本发明实施例对于有下载需求的客户端,可以大大减少总的下载时间,对于一些延迟性要求较高的互联网业务,可以提供较佳的用户体验。
再者,现有的单纯的BT下载,往往存在客户端下载完成了大部分的情况下,由于缺乏种子,剩余部分长时间不能完成下载的情况。而采用本发明实施例,在缺乏种子的情况下,仍然可以从HTTP服务器上下载缺少的部分,从而可以完成下载,并往往可以节省总的下载时间。
以下从P2P服务器的角度描述本发明前述下载方法实施例,可以包括:
S301:P2P服务器接收客户端发来的查询请求;
S302:P2P服务器返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
具体的,客户端通过种子文件获取待下载文件对应的P2P服务器地址,并向所述P2P服务器发起查询请求,P2P服务器将所述待下载文件的HTTP下载路径和可以提供下载的客户端信息返回给发起查询的客户端,这样,发起查询客户端可以根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片。
以下介绍本发明下载系统第一实施例,图4示出了该系统第一实施例的框图,如图4中,该系统第一实施例包括:
至少一个上传客户端41(图4中以2个作为示例),用于存储待下载文件的分片;
P2P服务器42,用于存储待下载文件的HTTP下载路径和可以提供下载的上传客户端41的信息;
下载客户端43,用于从种子文件中读取P2P服务器42地址,从P2P服务器42获取文件的HTTP下载路径和可以提供下载的所述上传客户端41的信息;根据获取的HTTP下载路径和所述上传客户端信息,从HTTP服务器44和所述上传客户端41下载所述文件的全部分片。
以下介绍本发明下载系统第二实施例,该系统第二实施例的框图仍可以4所示,该系统第二实施例包括:
至少一个上传客户端41,用于存储待下载文件的分片;
P2P服务器42,用于存储可以提供下载的上传客户端41的信息;
下载客户端43,从种子文件中读取P2P服务器42地址和待下载文件的HTTP下载路径;从P2P服务器42获取可以提供下载的上传客户端41信息;根据获取的HTTP下载路径和所述上传客户端41信息,从HTTP服务器44和所述上传客户端41下载所述文件的全部分片。
以下介绍本发明客户端第一实施例,图5示出了该客户端第一实施例的框图,如图5中,该客户端第一实施例包括:
种子文件读取单元51,用于从种子文件中读取P2P服务器地址;
信息获取单元52,用于从P2P服务器获取文件的HTTP下载路径和可以提供下载的上传客户端的信息;
客户端文件分片信息获取单元53,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元54,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
优选地,所述客户端还可以包括:
种子文件获取单元55,用于通过HTTP或FTP方式下载得到所述种子文件。
以下介绍本发明客户端第二实施例,该客户端第二实施例的框图仍可以如图5中的示例,该客户端第二实施例包括:
种子文件读取单元51,用于从种子文件中读取P2P服务器地址和HTTP下载路径;
信息获取单元52,用于从P2P服务器获取可以提供文件下载的上传客户端的信息;
客户端文件分片信息获取单元53,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元54,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
优选地,所述客户端还可以包括:
种子文件获取单元55,用于通过HTTP或FTP方式下载得到所述种子文件。
以下介绍本发明P2P服务器实施例,图6示出了该P2P服务器实施例的框图,如图6中,该P2P服务器实施例包括:
查询请求接收单元61,用于接收客户端发来的查询请求;
信息返回单元62,用于返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
由以上实施例可见,客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,这样的下载方式将HTTP下载和BT下载做了结合,相对于单纯从HTTP服务器上下载,由于引入BT下载增加分流,可以降低从HTTP服务器上下载的分片,也就降低了占用的HTTP服务器的带宽。特别是对于网络中存在大量下载需求的情况,按照本发明给出的实施例,由于需要下载的文件的很多分片都可以通过BT方式从其它客户端上下载,可以大大降低服务器所需提供的带宽。对于网站运营商,则可以减少由于带宽费用所需的高额支出。另一方面,由于BT方式的下载速度相对于HTTP方式一般要快,因此,本发明实施例对于有下载需求的客户端,可以大大减少总的下载时间,对于一些延迟性要求较高的互联网业务,可以提供较佳的用户体验。
再者,现有的单纯的BT下载,往往存在客户端下载完成了大部分的情况下,由于缺乏种子,剩余部分长时间不能完成下载的情况。而采用本发明实施例,在缺乏种子的情况下,仍然可以从HTTP服务器上下载缺少的部分,从而可以完成下载,并往往可以节省总的下载时间。
虽然通过实施例描绘了本发明实施例,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (16)

1、一种下载方法,其特征在于,包括:
客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息;
所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片。
2、如权利要求1所述的方法,其特征在于,所述客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,包括:
客户端从种子文件中读取P2P服务器地址,从P2P服务器获取文件的HTTP下载路径和可以提供下载的其它客户端信息。
3、如权利要求1所述的方法,其特征在于,所述客户端通过种子文件获取待下载文件的HTTP下载路径和可以提供下载的其它客户端信息,包括:
客户端从种子文件中读取P2P服务器地址和待下载文件的HTTP下载路径,从P2P服务器获取可以提供下载的其它客户端信息。
4、如权利要求1至3中任一项所述的方法,其特征在于,所述种子文件为通过HTTP或FTP方式下载得到的种子文件。
5、如权利要求1所述的方法,其特征在于,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,包括:
所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片,并询问所述其它客户端可以提供的分片的信息;
所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端并从所述HTTP服务器上下载所述种子的不同分片。
6、如权利要求5所述的方法,其特征在于,所述客户端根据获取的HTTP下载路径开始从HTTP服务器下载所述文件的分片
所述客户端根据获取的HTTP下载路径开始从HTTP服务器依次下载所述文件的各个分片。
7、如权利要求1所述的方法,其特征在于,所述客户端根据获取的HTTP下载路径和其它客户端信息,从HTTP服务器和所述其它客户端下载所述文件的全部分片,包括:
所述客户端询问所述其它客户端可以提供的分片的信息;
所述客户端根据所述其它客户端返回的分片信息,从所述其它客户端下载所述种子的部分不同的分片,并根据获取的HTTP下载路径从HTTP服务器下载其它分片。
8、如权利要求7所述的方法,其特征在于,所述根据获取的HTTP下载路径从HTTP服务器下载其它分片,包括:
根据获取的HTTP下载路径优先从HTTP服务器下载所述其它客户端不具有的分片。
9、一种下载方法,其特征在于,包括:
P2P服务器接收客户端发来的查询请求;
P2P服务器返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
10、一种下载系统,其特征在于,包括:
至少一个上传客户端,用于存储待下载文件的分片;
P2P服务器,用于存储待下载文件的HTTP下载路径和可以提供下载的上传客户端的信息;
下载客户端,用于从种子文件中读取P2P服务器地址,从P2P服务器获取文件的HTTP下载路径和可以提供下载的所述上传客户端的信息;根据获取的HTTP下载路径和所述上传客户端信息,从HTTP服务器和所述上传客户端下载所述文件的全部分片。
11、一种下载系统,其特征在于,包括:
至少一个上传客户端,用于存储待下载文件的分片;
P2P服务器,用于存储可以提供下载的上传客户端的信息;
下载客户端,从种子文件中读取P2P服务器地址和待下载文件的HTTP下载路径;从P2P服务器获取可以提供下载的所述上传客户端信息;根据获取的HTTP下载路径和所述上传客户端信息,从HTTP服务器和所述上传客户端下载所述文件的全部分片。
12、一种客户端,其特征在于,包括:
种子文件读取单元,用于从种子文件中读取P2P服务器地址;
信息获取单元,用于从P2P服务器获取文件的HTTP下载路径和可以提供下载的上传客户端的信息;
客户端文件分片信息获取单元,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
13、如权利要求12所述的客户端,其特征在于,所述客户端还包括:
种子文件获取单元,用于通过HTTP或FTP方式下载得到所述种子文件。
14、一种客户端,其特征在于,包括:
种子文件读取单元,用于从种子文件中读取P2P服务器地址和HTTP下载路径;
信息获取单元,用于从P2P服务器获取可以提供文件下载的上传客户端的信息;
客户端文件分片信息获取单元,用于获取所述每一上传客户端上可以提供下载的文件分片信息;
下载单元,用于根据获取的HTTP下载路径从HTTP服务器下载所述文件的分片,并根据获取的所述上传客户端信息及每一上传客户端上可以提供下载的文件分片信息从所述上传客户端下载所述文件的分片。
15、如权利要求14所述的客户端,其特征在于,所述客户端还包括:
种子文件获取单元,用于通过HTTP或FTP方式下载得到所述种子文件。
16、一种P2P服务器,其特征在于,包括:
查询请求接收单元,用于接收客户端发来的查询请求;
信息返回单元,用于返回所述待下载文件的HTTP下载路径和可以提供下载的客户端信息。
CN 200810134752 2008-07-25 2008-07-25 下载方法、系统、p2p服务器、客户端 Expired - Fee Related CN101635737B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200810134752 CN101635737B (zh) 2008-07-25 2008-07-25 下载方法、系统、p2p服务器、客户端
HK10105760.5A HK1138967A1 (en) 2008-07-25 2010-06-10 Downloading method, system, p2p server and client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810134752 CN101635737B (zh) 2008-07-25 2008-07-25 下载方法、系统、p2p服务器、客户端

Publications (2)

Publication Number Publication Date
CN101635737A true CN101635737A (zh) 2010-01-27
CN101635737B CN101635737B (zh) 2013-09-18

Family

ID=41594795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810134752 Expired - Fee Related CN101635737B (zh) 2008-07-25 2008-07-25 下载方法、系统、p2p服务器、客户端

Country Status (2)

Country Link
CN (1) CN101635737B (zh)
HK (1) HK1138967A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848067A (zh) * 2010-06-22 2010-09-29 中兴通讯股份有限公司 一种自适应带宽的数据传输方法及系统
CN101867777A (zh) * 2010-04-20 2010-10-20 南京邮电大学 一种基于对等计算机顶盒的视频点播传输方法
CN103220308A (zh) * 2012-01-19 2013-07-24 腾讯科技(深圳)有限公司 一种文件下载方法、装置及系统
WO2014056428A1 (zh) * 2012-10-12 2014-04-17 腾讯科技(深圳)有限公司 一种文件上传的方法及系统
CN103888512A (zh) * 2014-02-20 2014-06-25 上海聚力传媒技术有限公司 一种资源下载的方法与装置
CN103986747A (zh) * 2014-04-14 2014-08-13 曦威胜科技开发(深圳)有限公司 P2p协议中文件共享下载方法
CN104581374A (zh) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN104796741A (zh) * 2015-04-15 2015-07-22 姚世明 一种网络分层和资源分片的媒体分享方法装置
CN105187905A (zh) * 2015-09-19 2015-12-23 北京暴风科技股份有限公司 一种基于dlna边下边播p2p视频的方法
CN103036898B (zh) * 2012-12-21 2016-03-02 上海现代先进超精密制造中心有限公司 一种可控的文件推送的方法
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法
CN109194766A (zh) * 2018-09-26 2019-01-11 北京雷石天地电子技术有限公司 一种基于机顶盒的p2p分享方法及系统
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN110636144A (zh) * 2019-11-07 2019-12-31 腾讯科技(深圳)有限公司 数据下载的方法和装置
CN111770187A (zh) * 2020-07-03 2020-10-13 珠海西山居移动游戏科技有限公司 一种资源下载方法及装置
CN111782151A (zh) * 2020-07-03 2020-10-16 珠海金山网络游戏科技有限公司 一种下载管理方法与装置
CN113452799A (zh) * 2021-08-31 2021-09-28 北京交通大学 一种基于智融标识网络的文件传输方法、系统及存储介质
CN114422507A (zh) * 2022-01-27 2022-04-29 北京金山云网络技术有限公司 文件下载方法、装置和电子设备
CN114500499A (zh) * 2021-12-29 2022-05-13 新浪网技术(中国)有限公司 一种互联网系统内的文件下载方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030873A (zh) * 2007-02-15 2007-09-05 深圳市迅雷网络技术有限公司 一种下载数据的方法及系统
CN101141459B (zh) * 2007-10-25 2010-04-14 南京远古科技有限公司 使用http与p2p相结合实现数据传输或流媒体传输的方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867777A (zh) * 2010-04-20 2010-10-20 南京邮电大学 一种基于对等计算机顶盒的视频点播传输方法
CN101867777B (zh) * 2010-04-20 2013-04-10 南京邮电大学 一种基于对等计算机顶盒的视频点播传输方法
CN101848067A (zh) * 2010-06-22 2010-09-29 中兴通讯股份有限公司 一种自适应带宽的数据传输方法及系统
CN103220308B (zh) * 2012-01-19 2018-07-03 腾讯科技(深圳)有限公司 一种文件下载方法、装置及系统
CN103220308A (zh) * 2012-01-19 2013-07-24 腾讯科技(深圳)有限公司 一种文件下载方法、装置及系统
WO2014056428A1 (zh) * 2012-10-12 2014-04-17 腾讯科技(深圳)有限公司 一种文件上传的方法及系统
US10681127B2 (en) 2012-10-12 2020-06-09 Tencent Technology (Shenzhen) Company Limited File upload method and system
CN103036898B (zh) * 2012-12-21 2016-03-02 上海现代先进超精密制造中心有限公司 一种可控的文件推送的方法
CN103888512A (zh) * 2014-02-20 2014-06-25 上海聚力传媒技术有限公司 一种资源下载的方法与装置
CN103986747A (zh) * 2014-04-14 2014-08-13 曦威胜科技开发(深圳)有限公司 P2p协议中文件共享下载方法
CN103986747B (zh) * 2014-04-14 2019-12-17 曦威胜科技开发(深圳)有限公司 P2p协议中文件共享下载方法
CN104581374A (zh) * 2014-12-31 2015-04-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN104581374B (zh) * 2014-12-31 2018-05-29 深圳市同洲电子股份有限公司 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN104796741A (zh) * 2015-04-15 2015-07-22 姚世明 一种网络分层和资源分片的媒体分享方法装置
CN104796741B (zh) * 2015-04-15 2018-03-16 姚世明 一种网络分层和资源分片的媒体分享方法装置
CN105187905A (zh) * 2015-09-19 2015-12-23 北京暴风科技股份有限公司 一种基于dlna边下边播p2p视频的方法
CN107396207A (zh) * 2017-07-21 2017-11-24 南京邮电大学 一种基于特征优先级的p2p数据调度方法
CN107396207B (zh) * 2017-07-21 2019-11-08 南京邮电大学 一种基于特征优先级的p2p数据调度方法
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN109525622B (zh) * 2017-09-19 2021-11-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN109194766A (zh) * 2018-09-26 2019-01-11 北京雷石天地电子技术有限公司 一种基于机顶盒的p2p分享方法及系统
CN110636144A (zh) * 2019-11-07 2019-12-31 腾讯科技(深圳)有限公司 数据下载的方法和装置
CN111770187A (zh) * 2020-07-03 2020-10-13 珠海西山居移动游戏科技有限公司 一种资源下载方法及装置
CN111782151A (zh) * 2020-07-03 2020-10-16 珠海金山网络游戏科技有限公司 一种下载管理方法与装置
CN111770187B (zh) * 2020-07-03 2023-06-13 珠海西山居数字科技有限公司 一种资源下载方法及装置
CN113452799A (zh) * 2021-08-31 2021-09-28 北京交通大学 一种基于智融标识网络的文件传输方法、系统及存储介质
CN114500499A (zh) * 2021-12-29 2022-05-13 新浪网技术(中国)有限公司 一种互联网系统内的文件下载方法及系统
CN114422507A (zh) * 2022-01-27 2022-04-29 北京金山云网络技术有限公司 文件下载方法、装置和电子设备

Also Published As

Publication number Publication date
HK1138967A1 (en) 2010-09-03
CN101635737B (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN101635737B (zh) 下载方法、系统、p2p服务器、客户端
US10326853B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
US9998533B2 (en) P2P content caching system and method
CN102067094B (zh) 高速缓存优化
Mosko et al. All-In-One Streams for Content Centric Networks
CN1897588B (zh) 一种混合模式的网络文件传输方法及系统
CN102420843B (zh) 一种基于云压缩链接的压缩和解压缩方法、装置及系统
US10367871B2 (en) System and method for all-in-one content stream in content-centric networks
US20080046596A1 (en) Method for caching and delivery of compressed content in a content delivery network
EP2988512B1 (en) System and method for reconstructable all-in-one content stream
EP2879394A1 (en) Digital television terminal, video file playing method and video file playing system
CN101026543A (zh) 点到点p2p内容共享的方法及系统
CN103297447B (zh) 一种资源共享方法及其设备
CN102271165B (zh) 互联网搜索资源的分享管理装置及方法
CN1605072A (zh) 利用代理下载数据的系统和方法
CN1937503A (zh) 一种加速网页内容下载的系统和方法
US20100121914A1 (en) Contents delivery system and method based on content delivery network provider and replication server thereof
CN102710535B (zh) 一种数据获取方法和设备
US20090287715A1 (en) File sharing method and file sharing system for getting an accessible address through an address mapping server
CN103595782A (zh) 一种分布式存储系统及其下载文件的方法
CN103561068A (zh) 一种提高网页浏览速度的方法及装置
JP6081847B2 (ja) Webコンテンツの配信装置
JP6081846B2 (ja) Webコンテンツの配信装置
KR20070081210A (ko) 웹 보조 저장장치(웹 폴더)를 이용한 효과적인 분산 네트웍시스템(피투피 시스템)
JP6054799B2 (ja) Webコンテンツの配信装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1138967

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1138967

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130918

Termination date: 20200725