CN102739717B - 下载方法、下载代理服务器和网络系统 - Google Patents

下载方法、下载代理服务器和网络系统 Download PDF

Info

Publication number
CN102739717B
CN102739717B CN201110090710.4A CN201110090710A CN102739717B CN 102739717 B CN102739717 B CN 102739717B CN 201110090710 A CN201110090710 A CN 201110090710A CN 102739717 B CN102739717 B CN 102739717B
Authority
CN
China
Prior art keywords
resource
download
downloading
resources list
request
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
CN201110090710.4A
Other languages
English (en)
Other versions
CN102739717A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201110090710.4A priority Critical patent/CN102739717B/zh
Publication of CN102739717A publication Critical patent/CN102739717A/zh
Application granted granted Critical
Publication of CN102739717B publication Critical patent/CN102739717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种下载方法、下载代理服务器和网络系统,属于网络技术领域。该方法包括:接收用户设备的下载请求;判断所述下载请求指示的资源是否在下载资源列表中;如果是,将所述资源通过P2P协议下载到本地,并将下载到的所述资源通过HTTP协议发送给所述用户设备。该下载代理服务器包括:下载请求接收模块、判断模块、下载模块和发送模块。该发明通过根据HTTP下载请求判断资源是否可以通过P2P下载获得,并在P2P服务器上有相应资源的时候,先利用P2P协议将资源下载到本地,再向客户端发送该资源,加快了下载速度,并且在最大限度上利用了网络资源。

Description

下载方法、下载代理服务器和网络系统
技术领域
本发明涉及网络技术领域,特别涉及一种下载方法、下载代理服务器和网络系统。
背景技术
现有的网络下载,一般由HTTP协议客户端比如浏览器,在下载某一网络资源时向HTTP服务器发起HTTP请求,然后通过HTTP协议进行后续的数据传输。而现有技术还提出了一种P2P(peer-to-peer,点对点技术)又称对等互联网络技术,是一种网络新技术,该技术依赖网络中大量参与者的计算能力和带宽进行传输,而不是仅依赖较少的几台服务器上。P2P技术的产生使得互联网客户机之间的数据传输性能得到了很大提升。
在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点:
现有技术的HTTP协议客户端应用程序在使用过程中发起HTTP请求大数据量文件时,由于HTTP使用文本协议进行传输,传输速度非常有限,不仅客户端下载速度低,而且无法利用P2P资源服务器里或本地已经下载好的资源,造成了资源的浪费。
发明内容
为了提高下载速度,本发明实施例提供了一种下载方法、下载代理服务器和网络系统。所述技术方案如下:
一种下载方法,包括:
接收用户设备的HTTP下载请求;
判断所述HTTP下载请求指示的资源是否在下载资源列表中;
如果是,将所述资源通过P2P协议下载到本地,并将下载到的所述资源通过HTTP协议发送给所述用户设备。
判断所述HTTP下载请求指示的资源是否在下载资源列表中,具体包括:
在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中。
将所述资源通过P2P方式下载到本地,具体包括:
向所述资源所在的多个服务器发起分片请求,并从所述多个服务器上将所述资源下载到本地。
所述方法还包括:
当所述HTTP下载请求指示的资源不在所述下载资源列表中时,根据HTTP所述下载请求中所指示的HTTP连接下载所述资源。
一种下载代理服务器,包括:
下载请求接收模块,用于接收用户设备的HTTP下载请求;
判断模块,用于判断所述HTTP下载请求指示的资源是否在下载资源列表中;
如果是,触发用于将所述资源通过P2P协议下载到本地的下载模块,并触发用于将下载到的所述资源通过HTTP协议发送给所述用户设备的发送模块。
所述判断模块具体用于在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中。
所述下载模块包括:
分片请求单元,用于向所述资源所在的多个服务器发起分片请求;
下载单元,用于从所述多个服务器上将所述资源下载到本地。
所述下载模块还用于当所述HTTP下载请求指示的资源不在所述下载资源列表中时,根据所述HTTP下载请求中所指示的HTTP连接下载所述资源。
一种网络系统,所述网络系统包括:
下载代理服务器,用于接收用户设备的HTTP下载请求;判断所述HTTP下载请求指示的资源是否在下载资源列表中;将所述资源通过P2P协议下载到本地,并将下载到的所述资源通过HTTP协议发送给所述用户设备;
P2P资源服务器,用于当所述HTTP下载请求指示的资源在下载资源列表中,返回所述下载代理服务器请求的资源。
本发明实施例提供的技术方案的有益效果是:
通过根据HTTP下载请求判断资源是否可以通过P2P下载获得,并在P2P服务器上有相应资源的时候,先利用P2P协议将资源下载到本地,再向客户端发送该资源,加快了下载速度,并且在最大限度上利用了网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种下载方法的流程图;
图2是本发明实施例提供的一种下载方法的流程图;
图3是本发明实施例提供的一种下载代理服务器的结构示意图;
图4是本发明实施例提供的一种下载代理服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
为了提高下载速度,本发明实施例提供了一种下载方法,该方法的执行主体为代理服务器,参见图1,该下载方法包括:
101:接收客户端的HTTP下载请求;
本领域技术人员可以获知,客户端位于用户设备上,该用户设备可以为移动终端或其他终端。
102:判断该HTTP下载请求指示的资源是否在下载资源列表中;
如果是,则执行步骤103;
103:将该资源通过P2P协议下载到本地,并将下载到的该资源通过HTTP协议发送给该客户端。
其中,判断所述下载请求指示的资源是否在下载资源列表中,具体包括:
在下载资源列表中查询是否包括所述下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中。
其中,将所述资源通过P2P方式下载到本地,具体包括:
向所述资源所在的多个服务器发起分片请求,并从所述多个服务器上将所述资源下载到本地。
进一步地,所述方法还包括:
当所述下载请求指示的资源不在所述下载资源列表中时,根据所述下载请求中所指示的HTTP连接下载所述资源。
通过根据HTTP下载请求判断资源是否可以通过P2P下载获得,并在P2P服务器上有相应资源的时候,先利用P2P协议将资源下载到本地,再向客户端发送该资源,加快了下载速度,并且在最大限度上利用了网络资源。
实施例2
为了提高下载速度,本发明实施例提供了一种下载方法,该实施例中的交互方包括:用于接收客户端下载请求的下载代理服务器、用户设备和P2P资源服务器,该下载代理服务器可以与P2P资源服务器建立通信,参见图2,该下载方法包括:
201:用户设备上的客户端向下载代理服务器发送下载请求;
在本实施例中,客户端可以为浏览器或其他带有下载功能的应用程序,当客户端为浏览器时,浏览器向下载代理服务器发送下载请求,该下载请求可以用于请求视频、音频或图片等格式的文件,一般的,该下载请求为HTTP下载请求,该HTTP下载请求用于向服务器请求资源。
举例说明,浏览器请求下载一段音频A,则向下载代理服务器发送请求下载A的下载请求。
202:下载代理服务器接收下载请求,并在下载资源列表中查询是否包括该请求的资源及保存该资源的服务器地址,如果是,则执行步骤203;如果否,则执行步骤205;
在本实施例中,下载代理服务器会维护下载资源列表,该下载资源列表中包含资源与资源所在服务器,当下载代理服务器接收到下载请求时,根据该下载请求所请求的资源查询下载资源列表,当该资源在下载资源列表中时,说明该资源可以通过P2P协议从其他服务器上下载得到,则执行步骤203;当该资源不在下载资源列表中,说明该资源能够通过HTTP协议从资源所在服务器上得到,则执行步骤204。需要说明的是,资源所在服务器具体为P2P资源服务器。该下载资源列表的形式可以为映射表。
本领域技术人员可以获知,下载代理服务器可以获取资源下载列表,该列表为url和P2P资源文件地址的多对一映射表,该表的获取可以通过查询网络目录服务器实现,由网络目录服务器可以通过爬虫服务获取网络中各个资源文件的HASH值和URL。一个HASH值相当于唯一标识一个文件的关键字,具有不同URL和相同HASH值的资源就组成了多对一的映射表。因此,在步骤202中,查询资源下载列表具体包括:下载代理服务器查询网络目录服务器中的下载资源列表,由网络目录服务器向下载代理服务器返回查询结果。
进一步地,在接收到下载请求时,下载代理服务器还可以查询本地是否保存有请求的资源,如果是,则将该资源发送给用户设备,如果否,则执行步骤202中的查询步骤。
基于步骤201中的例子,在步骤202中,下载代理服务器根据在下载资源列表中查询A以及A所在的P2P资源服务器,当A在该下载资源列表中时,获取P2P资源服务器地址。
203:通过P2P协议从下载资源列表中保存该资源的服务器上下载该资源;
具体地,向所述资源所在的多个服务器发起分片请求,并从所述多个服务器上将所述资源下载到本地。
由于保存该资源的服务器有多个,所以在下载时可以从多个服务器上分片下载,以加快下载速度,最大化利用网络资源。
基于步骤202中的例子,在步骤203中,下载代理服务器从获取的P2P资源服务器地址上将A下载到本地。
204:将下载到本地的资源通过HTTP协议发送给用户设备。
在本实施例中,扩展了资源的来源,从多个服务器上下载资源,再经过下载代理服务器通过HTTP协议发送给用户设备,加快了用户设备的下载速度。
基于步骤203中的例子,在步骤204中,下载代理服务器从获取的P2P资源服务器地址上将A下载到本地后,将下载到的A发送给用户设备。该发送可以是分段发送,在下载代理服务器下载的同时将下载好的部分先发送给用户设备。
205:当所述请求的资源不在所述下载资源列表中时,根据所述下载请求中所指示的HTTP连接下载所述资源。
本领域技术人员可以获知,该步骤205中的下载与现有技术一致,不再赘述。
通过根据HTTP下载请求判断资源是否可以通过P2P下载获得,并在P2P服务器上有相应资源的时候,先利用P2P协议将资源下载到本地,再向客户端发送该资源,加快了下载速度,并且在最大限度上利用了网络资源。
实施例2
为了提高下载速度,本发明实施例提供了一种下载代理服务器,参见图3,该下载方法包括:
下载请求接收模块301,用于接收用户设备的HTTP下载请求;
判断模块302,用于判断所述HTTP下载请求指示的资源是否在下载资源列表中;
如果是,触发用于将所述资源通过P2P协议下载到本地的下载模块303,并触发用于将下载到的所述资源通过HTTP协议发送给所述用户设备的发送模块304。
所述判断模块302具体用于在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中。
参见图4,所述下载模块303包括:
分片请求单元303a,用于向所述资源所在的多个服务器发起分片请求;
下载单元303b,用于从所述多个服务器上将所述资源下载到本地。
所述下载模块303还用于当所述HTTP下载请求指示的资源不在所述下载资源列表中时,根据所述HTTP下载请求中所指示的HTTP连接下载所述资源。
本实施例提供的服务器,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
另外,本发明实施例提供了一种网络系统,所述网络系统包括:
下载代理服务器,用于接收用户设备的HTTP下载请求;判断所述HTTP下载请求指示的资源是否在下载资源列表中;将所述资源通过P2P协议下载到本地,并将下载到的所述资源通过HTTP协议发送给所述用户设备;
P2P资源服务器,用于当所述HTTP下载请求指示的资源在下载资源列表中,返回所述下载代理服务器请求的资源。
本实施例提供的网络系统,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种下载方法,其特征在于,包括:
下载代理服务器接收用户设备上的客户端的超文本传输协议HTTP下载请求,所述客户端为浏览器或其他带有下载功能的应用程序;
所述下载代理服务器在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中,所述下载资源列表中包含资源与资源所在服务器,所述下载资源列表为统一资源定位符URL和点对点技术P2P资源文件地址的多对一映射表,由具有不同URL和相同哈希HASH值的资源组成;
如果所述资源在所述下载资源列表中,所述下载代理服务器将所述资源通过P2P协议,从所述下载资源列表中保存所述资源的多个服务器上下载到本地,并将下载到的所述资源通过HTTP协议发送给所述客户端;
将所述资源通过P2P协议,从所述下载资源列表保存所述资源的多个服务器上下载到本地,具体包括:
向所述资源所在的多个服务器发起分片请求,并从所述多个服务器上将所述资源下载到本地。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述HTTP下载请求指示的资源不在所述下载资源列表中时,所述下载代理服务器根据所述HTTP下载请求中所指示的HTTP连接下载所述资源。
3.一种下载代理服务器,其特征在于,包括:
下载请求接收模块,用于接收用户设备上的客户端的超文本传输协议HTTP下载请求,所述客户端为浏览器或其他带有下载功能的应用程序;
判断模块,用于在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中,所述下载资源列表中包含资源与资源所在服务器,所述下载资源列表为统一资源定位符URL和点对点技术P2P资源文件地址的多对一映射表,由具有不同URL和相同哈希HASH值的资源组成;
如果所述资源在所述下载资源列表中,触发用于将所述资源通过P2P协议,从所述下载资源列表中保存所述资源的多个服务器上下载到本地的下载模块,并触发用于将下载到的所述资源通过HTTP协议发送给所述客户端的发送模块;
所述下载模块包括:
分片请求单元,用于向所述资源所在的多个服务器发起分片请求;
下载单元,用于从所述多个服务器上将所述资源下载到本地。
4.根据权利要求3所述的下载代理服务器,其特征在于,所述下载模块还用于当所述HTTP下载请求指示的资源不在所述下载资源列表中时,根据所述HTTP下载请求中所指示的HTTP连接下载所述资源。
5.一种网络系统,其特征在于,所述网络系统包括:
下载代理服务器,用于接收用户设备上的客户端的超文本传输协议HTTP下载请求;在下载资源列表中查询是否包括所述HTTP下载请求指示的资源及保存所述资源的服务器地址,如果是,则所述资源在所述下载资源列表中,如果否,则所述资源不在所述下载资源列表中,所述下载资源列表中包含资源与资源所在服务器,所述下载资源列表为统一资源定位符URL和点对点技术P2P资源文件地址的多对一映射表,由具有不同URL和相同哈希HASH值的资源组成;如果所述资源在所述下载资源列表中,将所述资源通过P2P协议,从所述下载资源列表中保存所述资源的多个服务器上下载到本地,并将下载到的所述资源通过HTTP协议发送给所述客户端,所述客户端为浏览器或其他带有下载功能的应用程序;
所述下载代理服务器,还用于向所述资源所在的多个服务器发起分片请求,并从所述多个服务器上将所述资源下载到本地;
P2P资源服务器,用于当所述HTTP下载请求指示的资源在下载资源列表中,返回所述下载代理服务器请求的资源。
CN201110090710.4A 2011-04-12 2011-04-12 下载方法、下载代理服务器和网络系统 Active CN102739717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110090710.4A CN102739717B (zh) 2011-04-12 2011-04-12 下载方法、下载代理服务器和网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110090710.4A CN102739717B (zh) 2011-04-12 2011-04-12 下载方法、下载代理服务器和网络系统

Publications (2)

Publication Number Publication Date
CN102739717A CN102739717A (zh) 2012-10-17
CN102739717B true CN102739717B (zh) 2016-08-10

Family

ID=46994496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110090710.4A Active CN102739717B (zh) 2011-04-12 2011-04-12 下载方法、下载代理服务器和网络系统

Country Status (1)

Country Link
CN (1) CN102739717B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944994A (zh) * 2014-04-25 2014-07-23 中国联合网络通信集团有限公司 分布式资源获取方法及装置
CN104219312B (zh) * 2014-09-05 2017-08-08 无锡天脉聚源传媒科技有限公司 一种安装程序的方法及装置
CN104283955A (zh) * 2014-09-30 2015-01-14 百度在线网络技术(北京)有限公司 一种浏览器、服务器、下载系统及下载方法
CN105100230A (zh) * 2015-07-09 2015-11-25 无锡天脉聚源传媒科技有限公司 一种文件传输方法和装置
CN106487768A (zh) * 2015-08-31 2017-03-08 北京国双科技有限公司 一种文件共享方法及装置
CN105307156B (zh) * 2015-10-23 2020-08-21 南京博雅区块链研究院有限公司 一种应用请求下载的装置和方法
CN107566515A (zh) * 2017-09-22 2018-01-09 郑州云海信息技术有限公司 一种文件下载方法及相关装置
CN108093034A (zh) * 2017-12-06 2018-05-29 深圳云天励飞技术有限公司 断点续传方法及装置、电子设备和计算机可读存储介质
CN109634876A (zh) * 2018-12-11 2019-04-16 广东省新代通信与网络创新研究院 文件访问方法、装置及计算机可读存储介质
CN109600453B (zh) * 2019-02-18 2021-10-08 广州卓远虚拟现实科技有限公司 一种分布式虚拟现实内容分发方法和系统
CN109995876B (zh) * 2019-04-11 2022-04-19 深圳市永兴元科技股份有限公司 文件传输方法、装置、系统和计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159762A (zh) * 2007-11-19 2008-04-09 腾讯科技(深圳)有限公司 加速网页内容下载的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159762A (zh) * 2007-11-19 2008-04-09 腾讯科技(深圳)有限公司 加速网页内容下载的方法及装置

Also Published As

Publication number Publication date
CN102739717A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102739717B (zh) 下载方法、下载代理服务器和网络系统
US9888089B2 (en) Client side cache management
US9608957B2 (en) Request routing using network computing components
CN102118376B (zh) 内容分发网络服务器及内容下载方法
CN103731451B (zh) 一种文件上传的方法及系统
CN107483609B (zh) 一种网络访问方法、相关设备和系统
CN102594877B (zh) 结合重定向下载请求和代理服务加速网络服务的方法、系统
CN102651861B (zh) 用于移动终端的下载方法、移动终端和代理下载服务器
CN102394880B (zh) 内容分发网络中的跳转响应处理方法和设备
CN100563214C (zh) 一种提高访问网络资源速度的方法及系统
CN110430274A (zh) 一种基于云存储的文件下载方法及系统
CN103455439B (zh) 本地缓存装置以及用于提供内容缓存服务的系统和方法
CN101997822A (zh) 一种流媒体内容分发方法、系统和设备
CN106878434A (zh) 一种重定向的方法及装置
CN106657183A (zh) 缓存加速的方法及装置
CN100377522C (zh) 一种内容分发网络中oma下载的实现方法
CN103686852B (zh) 一种对交互数据进行处理的方法、设备及无线加速系统
US10129320B2 (en) QoS improvement method, apparatus, and system
CN102904935A (zh) 基于家庭网关的下载方法、设备和系统
CN113285920B (zh) 业务访问方法、装置、设备及存储介质
CN103181140A (zh) 识别服务请求类型的方法、媒体服务器和终端设备
WO2017067373A1 (zh) 数据推送方法及装置
CN113709232A (zh) 数据包加载方法、客户端、客户端代理、设备及存储介质
KR20130134561A (ko) Cdn에서의 컨텐츠 전송을 위한 동기화 장치 및 방법
CN106657277A (zh) Http代理服务方法及服务器和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant