CN104184789A - 一种文件下载方法及装置 - Google Patents
一种文件下载方法及装置 Download PDFInfo
- Publication number
- CN104184789A CN104184789A CN201410063078.8A CN201410063078A CN104184789A CN 104184789 A CN104184789 A CN 104184789A CN 201410063078 A CN201410063078 A CN 201410063078A CN 104184789 A CN104184789 A CN 104184789A
- Authority
- CN
- China
- Prior art keywords
- file
- fragmentation
- download
- downloading
- downloaded
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种文件下载方法,包括:从服务器获取待下载的文件的大小;根据所述文件的大小确定使用碎片化下载方式下载所述文件;根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;将下载完成的文件碎片组合成一个完整的文件。本发明实施例还提供了相应的文件下载的装置。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件下载方法及装置。
背景技术
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是一个无状态的应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,用于从WWW服务器传输超文本到本地浏览器的传送协议,可以使浏览器更加高效,使网络传输量减少。不仅能保证计算机正确快速地传输超文本文档,还能确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
目前下载文件的常用方案主要有两种:FTP下载和HTTP直接下载。这两种下载方式都是单线程下载,容易受到网络带宽的影响。同时如果下载过程中由于种种原因导致下载失败,客户端只能选择重新下载,无法断点续传。
发明内容
本发明实施例提供一种文件下载方法及装置,用以解决现有技术中存在的下载方式单一导致的下载速度受限的问题。
本发明的一个方面,提供一种文件下载方法,包括:
从服务器获取待下载的文件的大小;
根据所述文件的大小确定使用碎片化下载方式下载所述文件;
根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
将下载完成的文件碎片组合成一个完整的文件。
本发明的另一个方面,提供一种用于文件下载的装置,包括:
获取单元,用于从服务器获取待下载的文件的大小;
确定单元,用于根据获取的文件的大小确定使用碎片化下载方式下载所述文件;
拆分单元,用于根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
下载单元,用于为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
组合单元,用于将下载完成的文件碎片组合成一个完整的文件。
使用本发明实施例提供的文件下载方法及装置,客户端能够根据待下载的文件的大小来确定使用传统的下载方式或是碎片化下载方式,在使用碎片化下载方式时,将待下载的文件分成多个碎片,为每一个碎片分配一个下载进程进行下载,从而突破了原有的单线程下载限制,能够快速的获取文件。同时由于将各个文件碎片做了编号,若遇到下载失败的情况,后续可只向服务器请求缺失的文件碎片,从而实现了断点续传,无需重新下载整个文件。
附图说明
图1所示是本发明实施例提供的一种文件下载方法的示意图;
图2所示是本发明实施例提供的文件下载方法的信令流程图;
图3所示是本发明实施例提供的一种文件下载装置的结构示意图。
具体实施方式
在本发明实施例中,客户端能够根据待下载的文件的大小来确定使用传统的下载方式或是碎片化下载方式,在使用碎片化下载方式时,将待下载的文件分成多个碎片,为每一个碎片分配一个下载进程进行下载,从而突破了原有的单线程下载限制,能够快速的获取文件。同时由于将各个文件碎片做了编号,若遇到下载失败的情况,后续可只向服务器请求缺失的文件碎片,从而实现了断点续传,无需重新下载整个文件。
以下详细说明本发明实施例提供的文件下载方法。
图1所示为本发明一个实施例提供的一种文件下载方法的示意图。依据该图,介绍文件下载方法的各步骤如下:
步骤101、从服务器获取待下载的文件的大小;
其中,客户端从服务器获取待下载的文件的大小,包括:
向所述服务器发送文件下载请求,所述请求中包含所述待下载的文件的名称;
接收所述服务器反馈的所述文件的大小。
步骤102、根据所述文件的大小确定使用碎片化下载方式下载所述文件;
其中,可以预先设置一个文件大小的阈值,若所述文件大于预设的阈值,则确定使用碎片化下载方式下载所述文件;反之,若所述文件小于预设的阈值,则可使用普通方式下载该文件。
步骤103、根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
其中,将所述文件拆分成至少一个文件碎片后,还可以包括:对所述至少一个文件碎片按照拆分顺序进行编号。
步骤104、为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
步骤105、将下载完成的文件碎片组合成一个完整的文件。
其中,根据所述文件碎片的编号判断所述文件碎片是否下载完成;
若所述文件碎片已经下载完成,则将下载完成的文件碎片组合成一个完整的文件。
若所述文件碎片没有下载完成,则根据所述文件碎片的编号确定还未下载的文件碎片;
向所述服务器请求所述还未下载的文件碎片;
接收所述服务器发送的所述还未下载的文件碎片,将下载完成的文件碎片组合成一个完整的文件。
使用本发明实施例提供的文件下载方法,客户端能够根据待下载的文件的大小来确定使用传统的下载方式或是碎片化下载方式,在使用碎片化下载方式时,将待下载的文件分成多个碎片,客户端可以为每一个碎片分配一个下载进程进行下载,从而突破了原有的单线程下载限制,能够快速的获取文件。同时由于将各个文件碎片做了编号,若遇到下载失败的情况,后续可只向服务器请求缺失的文件碎片,从而实现了断点续传,无需重新下载整个文件。
图2所示为本发明一个实施例提供的文件下载方法的信令流程图。依据该图,详述文件下载方法的各步骤包括:
步骤201、客户端向服务器发送HTML请求,请求获取待下载的文件的大小;
其中,客户端向服务器发送的请求中包含待下载的文件的名称。
步骤202、服务器向客户端反馈待下载文件的大小;
步骤203、客户端根据获取到的文件大小判断是否启用碎片化下载;
其中,可以预先设置一个文件大小的阈值,若所述文件大于预设的阈值,则确定使用碎片化下载方式下载所述文件;反之,若所述文件小于预设的阈值,则可使用普通方式下载该文件。
步骤204、客户端根据文件的大小和配置的碎片大小启用碎片化下载;
具体地,客户端根据文件的大小和配置的碎片大小将要下载的文件拆分成至少一个文件碎片,为每一个文件碎片分配一个下载进程,使用多个下载进程同时下载文件碎片。
其中,客户端将文件拆分成至少一个文件碎片后,还可以包括:对拆分的至少一个文件碎片按照拆分顺序进行编号。
步骤205、客户端将下载完成的文件碎片组合成一个完整的文件。
具体地,客户端根据文件碎片的编号判断文件碎片是否下载完成;
若拆分的文件碎片已经下载完成,则将下载完成的文件碎片组合成一个完整的文件。
若拆分的文件碎片没有下载完成,则根据文件碎片的编号确定还未下载的文件碎片;
向服务器请求所述还未下载的文件碎片;
接收服务器发送的所述还未下载的文件碎片,将下载完成的文件碎片组合成一个完整的文件。
使用本发明实施例提供的文件下载方法,客户端能够根据待下载的文件的大小来确定使用传统的下载方式或是碎片化下载方式,在使用碎片化下载方式时,将待下载的文件分成多个碎片,客户端可以为每一个碎片分配一个下载进程进行下载,从而突破了原有的单线程下载限制,能够快速的获取文件。同时由于将各个文件碎片做了编号,若遇到下载失败的情况,后续可只向服务器请求缺失的文件碎片,从而实现了断点续传,无需重新下载整个文件。
以下介绍一种文件下载的装置,用以执行前述实施例公开的文件下载的方法。图3所示为本发明一个实施例公开的一种文件下载装置的结构示意图。依据该图,详述文件下载装置的各组成部分如下:
获取单元301,用于从服务器获取待下载的文件的大小;
其中,获取单元301用于从服务器获取待下载的文件的大小,包括:
向所述服务器发送文件下载请求,所述请求中包含所述待下载的文件的名称;
接收所述服务器反馈的所述文件的大小。
确定单元302,用于根据获取的文件的大小确定使用碎片化下载方式下载所述文件;
其中,确定单元302根据所述文件的大小确定使用碎片化下载方式下载所述文件,包括:
若所述文件大于预设的阈值,则确定使用碎片化下载方式下载所述文件。
拆分单元303,用于根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
其中,拆分单元303用于将所述文件拆分成至少一个文件碎片后,还用于:
对所述至少一个文件碎片按照拆分顺序进行编号。
下载单元304,用于为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
组合单元305,用于将下载完成的文件碎片组合成一个完整的文件。
其中,组合单元305将下载完成的文件碎片组合成一个完整的文件,包括:根据所述文件碎片的编号判断所述文件碎片是否下载完成;
若所述文件碎片已经下载完成,则将下载完成的文件碎片组合成一个完整的文件。
若所述文件碎片没有下载完成,则下载单元304还用于:根据所述文件碎片的编号确定还未下载的文件碎片;
向所述服务器请求所述还未下载的文件碎片;
接收所述服务器发送的所述还未下载的文件碎片。
使用本发明实施例提供的文件下载装置,客户端能够根据待下载的文件的大小来确定使用传统的下载方式或是碎片化下载方式,在使用碎片化下载方式时,将待下载的文件分成多个碎片,客户端可以为每一个碎片分配一个下载进程进行下载,从而突破了原有的单线程下载限制,能够快速的获取文件。同时由于将各个文件碎片做了编号,若遇到下载失败的情况,后续可只向服务器请求缺失的文件碎片,从而实现了断点续传,无需重新下载整个文件。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、光盘、网络节点、调度器等各种可以存储程序代码的介质。
最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种文件下载方法,其特征在于,包括:
从服务器获取待下载的文件的大小;
根据所述文件的大小确定使用碎片化下载方式下载所述文件;
根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
将下载完成的文件碎片组合成一个完整的文件。
2.根据权利要求1所述的方法,其特征在于,从服务器获取待下载的文件的大小,包括:
向所述服务器发送文件下载请求,所述请求中包含所述待下载的文件的名称;
接收所述服务器反馈的所述文件的大小。
3.根据权利要求2所述的方法,其特征在于,根据所述文件的大小确定使用碎片化下载方式下载所述文件,包括:
若所述文件大于预设的阈值,则确定使用碎片化下载方式下载所述文件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,将所述文件拆分成至少一个文件碎片,还包括:
对所述至少一个文件碎片按照拆分顺序进行编号。
5.根据权利要求4所述的方法,其特征在于,将下载完成的文件碎片组合成一个完整的文件,包括:
根据所述文件碎片的编号判断所述文件碎片是否下载完成;
若所述文件碎片已经下载完成,则将下载完成的文件碎片组合成一个完整的文件。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述文件碎片没有下载完成,则根据所述文件碎片的编号确定还未下载的文件碎片;
向所述服务器请求所述还未下载的文件碎片;
接收所述服务器发送的所述还未下载的文件碎片。
7.一种文件下载装置,其特征在于,包括:
获取单元,用于从服务器获取待下载的文件的大小;
确定单元,用于根据获取的文件的大小确定使用碎片化下载方式下载所述文件;
拆分单元,用于根据所述文件的大小和配置的碎片大小将所述文件拆分成至少一个文件碎片;
下载单元,用于为所述每一个文件碎片分配一个下载进程,使用所述下载进程同时下载所述文件碎片;
组合单元,用于将下载完成的文件碎片组合成一个完整的文件。
8.根据权利要求7所述的装置,其特征在于,所述获取单元用于从服务器获取待下载的文件的大小,包括:
向所述服务器发送文件下载请求,所述请求中包含所述待下载的文件的名称;
接收所述服务器反馈的所述文件的大小。
9.根据权利要求8所述的装置,其特征在于,所述确定单元根据所述文件的大小确定使用碎片化下载方式下载所述文件,包括:
若所述文件大于预设的阈值,则确定使用碎片化下载方式下载所述文件。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述拆分单元用于将所述文件拆分成至少一个文件碎片后,还用于:
对所述至少一个文件碎片按照拆分顺序进行编号。
11.根据权利要求10所述的装置,其特征在于,所述组合单元将下载完成的文件碎片组合成一个完整的文件,包括:根据所述文件碎片的编号判断所述文件碎片是否下载完成;
若所述文件碎片已经下载完成,则将下载完成的文件碎片组合成一个完整的文件。
12.根据权利要求11所述的装置,其特征在于,所述下载单元还用于:
若所述文件碎片没有下载完成,则根据所述文件碎片的编号确定还未下载的文件碎片;
向所述服务器请求所述还未下载的文件碎片;
接收所述服务器发送的所述还未下载的文件碎片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410063078.8A CN104184789A (zh) | 2014-02-24 | 2014-02-24 | 一种文件下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410063078.8A CN104184789A (zh) | 2014-02-24 | 2014-02-24 | 一种文件下载方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104184789A true CN104184789A (zh) | 2014-12-03 |
Family
ID=51965523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410063078.8A Pending CN104184789A (zh) | 2014-02-24 | 2014-02-24 | 一种文件下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104184789A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994143A (zh) * | 2015-06-19 | 2015-10-21 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN105450633A (zh) * | 2015-11-03 | 2016-03-30 | 广州视睿电子科技有限公司 | 一种文档上传方法、系统及解析服务器 |
CN105871986A (zh) * | 2015-12-11 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 数据下载方法、装置及终端 |
CN105893409A (zh) * | 2015-11-17 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件下载方法及装置 |
CN106161570A (zh) * | 2015-04-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 基于网页脚本的文件下载方法、装置、服务器组及系统 |
CN106445665A (zh) * | 2016-09-19 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
CN106970928A (zh) * | 2016-01-14 | 2017-07-21 | 平安科技(深圳)有限公司 | 文件管理方法和系统 |
CN110022336A (zh) * | 2018-01-09 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 提高网络资源下载速度的方法、存储介质、设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425990A (zh) * | 2001-12-13 | 2003-06-25 | 杨磊 | 因特网多服务器文件并发下载技术 |
US20050149529A1 (en) * | 2004-01-02 | 2005-07-07 | Andi Gutmans | Efficient handling of download requests |
CN101490670A (zh) * | 2006-07-20 | 2009-07-22 | 桑迪士克股份有限公司 | 内容分布系统 |
CN103024593A (zh) * | 2012-12-26 | 2013-04-03 | 人民搜索网络股份公司 | 一种网络视频点播加速系统及其播放方法 |
CN103188305A (zh) * | 2011-12-30 | 2013-07-03 | 北大方正集团有限公司 | 一种多线程断点续传方法及系统 |
-
2014
- 2014-02-24 CN CN201410063078.8A patent/CN104184789A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425990A (zh) * | 2001-12-13 | 2003-06-25 | 杨磊 | 因特网多服务器文件并发下载技术 |
US20050149529A1 (en) * | 2004-01-02 | 2005-07-07 | Andi Gutmans | Efficient handling of download requests |
CN101490670A (zh) * | 2006-07-20 | 2009-07-22 | 桑迪士克股份有限公司 | 内容分布系统 |
CN103188305A (zh) * | 2011-12-30 | 2013-07-03 | 北大方正集团有限公司 | 一种多线程断点续传方法及系统 |
CN103024593A (zh) * | 2012-12-26 | 2013-04-03 | 人民搜索网络股份公司 | 一种网络视频点播加速系统及其播放方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161570A (zh) * | 2015-04-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 基于网页脚本的文件下载方法、装置、服务器组及系统 |
CN104994143A (zh) * | 2015-06-19 | 2015-10-21 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN104994143B (zh) * | 2015-06-19 | 2018-06-19 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN105450633A (zh) * | 2015-11-03 | 2016-03-30 | 广州视睿电子科技有限公司 | 一种文档上传方法、系统及解析服务器 |
CN105450633B (zh) * | 2015-11-03 | 2019-03-29 | 广州视睿电子科技有限公司 | 一种文档上传方法、系统及解析服务器 |
CN105893409A (zh) * | 2015-11-17 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件下载方法及装置 |
WO2017084313A1 (zh) * | 2015-11-17 | 2017-05-26 | 乐视控股(北京)有限公司 | 文件下载方法、装置和电子设备 |
CN105871986A (zh) * | 2015-12-11 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 数据下载方法、装置及终端 |
CN106970928A (zh) * | 2016-01-14 | 2017-07-21 | 平安科技(深圳)有限公司 | 文件管理方法和系统 |
CN106445665A (zh) * | 2016-09-19 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
CN106445665B (zh) * | 2016-09-19 | 2019-11-15 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
CN110022336A (zh) * | 2018-01-09 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 提高网络资源下载速度的方法、存储介质、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104184789A (zh) | 一种文件下载方法及装置 | |
CA2737108C (en) | Dynamic fragmentation of digital media | |
KR101603136B1 (ko) | 템플릿 모드에서의 짧은 암호 사용기간의 지원 | |
WO2015165395A1 (en) | Video playback method and apparatus | |
CN102055718B (zh) | 一种在http streaming系统中实现分层请求内容的方法,装置和系统 | |
CN108933805A (zh) | 一种文件传输方法及系统 | |
CN103457966B (zh) | 基于dlna技术访问云存储设备的方法、设备及系统 | |
US20130290927A1 (en) | Dynamic code generation to dynamically create and deploy messaging provider-specific wrappers for a resource adapter | |
WO2000041532A3 (en) | Method, apparatus and system for improved content management and delivery | |
US9356985B2 (en) | Streaming video to cellular phones | |
CN104506493A (zh) | 一种实现hls内容回源和缓存的方法 | |
CN103826139A (zh) | Cdn系统、观看服务器以及流媒体数据传输方法 | |
CN103475682A (zh) | 文件迁移方法及设备 | |
JP6655093B2 (ja) | 部分的セグメント用の表示 | |
JP2015523766A (ja) | クラウド・ネットワークにおける接続高速化のための方法および装置 | |
CN104185037A (zh) | 一种传输、播放视频的方法、装置和系统 | |
CN104244028A (zh) | 一种基于码流自适应技术的内容分发方法、装置及系统 | |
CN106716405A (zh) | 用于将在计算机设备的本地桌面应用程序上创建的命令和/或内容直接注入至网页浏览器并反之亦然的系统、方法和计算机程序产品 | |
WO2017036183A1 (zh) | 差分升级包的处理方法及装置,升级方法、系统及装置 | |
CN106686083A (zh) | 一种视频文件下载方法及装置 | |
CN104378428A (zh) | 一种用于文件下载的方法和装置 | |
CN103365977A (zh) | 非易失性存储介质上数据的存储处理方法和装置 | |
CN110290396A (zh) | 一种视频处理的方法、装置、系统、设备和存储介质 | |
CN110034828B (zh) | 云应用的音频采集方法及服务器 | |
CN103825912A (zh) | 一种数据传输方法、电子设备及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141203 |
|
RJ01 | Rejection of invention patent application after publication |