文件下载方法、装置和电子设备制造方法及图纸

技术编号:21309019 阅读:34 留言:0更新日期:2019-06-12 10:58
本发明专利技术实施例公开了文件下载方法、装置和电子设备。该方法的一具体实施方式包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否为下载任务列表中未完成的下载任务;响应于确定对目标文件进行的下载任务不为下载任务列表中未完成的下载任务,向服务器发送获取目标文件的大小的请求;接收服务器基于请求返回的目标文件的大小,并确定所使用的下载网络的当前网络速度。根据当前网络速度以及目标文件的大小对目标文件进行分块,得到至少一个待下载分块文件,以及各待下载分块文件对应的分块信息,基于各待下载分块文件分别对应的分块信息,对各待下载分块文件同时执行下载操作。缩短了目标文件的下载时间。

File downloading methods, devices and electronic devices

The embodiment of the present invention discloses a file downloading method, device and electronic device. One specific embodiment of the method includes: determining whether the download task of downloading the target file is an unfinished download task in the download task list in response to receiving the download instruction for the target file issued by the user; and transmitting the acquisition target to the server in response to determining that the download task of the target file is not an unfinished download task in the download task list. File size requests; the receiving server determines the current network speed of the download network used based on the size of the target file returned by the request. According to the current network speed and the size of the target file, the target file is divided into at least one block file to be downloaded and the corresponding block information of each block file to be downloaded. Based on the corresponding block information of each block file to be downloaded, the download operation of each block file to be downloaded is performed simultaneously. The download time of the target file is shortened.

【技术实现步骤摘要】
文件下载方法、装置和电子设备
本专利技术涉及互联网
,尤其涉及一种文件下载方法、装置和电子设备。
技术介绍
在通过客户端下载文件时,传统的下载方式为单连接下载,而由于在某些情况下,单个连接的下载速度会受到限制,因此现有技术中,多通过分块下载的方式来实现一个文件的多连接下载,进而摆脱当前网络环境对单个连接的现在速度的限制。现有技术中实现分块下载的方法为按照固定比例将目标文件对应的数据分为多个部分,通过多个连接分别对上述多个部分的数据进行下载,全部下载结束后再将多个部分的数据进行拼接。然而,由于用户在下载文件时,网络速度并不完全一样。在任何下载时刻使用固定的分块方法目标文件进行下载,有可能使得下载时间过长,影响用户体验。
技术实现思路
本专利技术实施例提供了一种文件下载方法、装置和电子设备,提高了对目标文件的下载速度,另一方面可以改善用户体验。第一方面,本专利技术实施例提供了一种文件下载方法,包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小;确定所使用的下载网络的当前网络速度;根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;对多个待下载分块文件同时执行下载操作。可选地,所述对多个待下载分块文件同时执行下载操作,包括:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。可选地,所述根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,包括:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。可选地,所述响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,包括:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。可选地,所述创建与多个待下载分块文件各自对应的分块下载子线程,以使多个分块下载子线程同时执行下载各自对应的待下载分块文件的下载操作,包括:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。可选地,所述方法还包括:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。可选地,所述方法还包括:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。可选地,上述确定所使用的下载网络的当前网络速度,包括:基于当前网速采样时段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将所述网速移动平均值确定为当前网络速度。第二方面,本专利技术实施例提供了一种文件下载装置,包括:第一确定单元,配置用于响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;获取单元,配置用于响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小;第二确定单元,配置用于确定所使用的下载网络的当前网络速度;分块单元,配置用于根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;下载单元,配置用于对多个待下载分块文件同时执行下载操作。可选地,所述下载单元进一步配置用于:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。可选地,所述分块单元进一步配置用于:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。可选地,所述获取单元进一步配置用于:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。可选地,所述下载单元进一步配置用于:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。可选地,所述下载单元进一步配置用于:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。可选地,所述装置还包括断点续传单元,所述断点续传单元配置用于:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。可选地,所述接收单元进一步配置用于:基于当前网速采样时段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将所述网速移动平均值确定为当前网络速度。第三方面,本专利技术实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种文件下载方法的步骤。第四方面,本专利技术实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一种文件下载方法的步骤。本专利技术实施例提供的文件下载方法、装置和电子设备,通过首先响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中,然后,响应于确定对目标文件进行的下载任务不在下载任务列本文档来自技高网...

【技术保护点】
1.一种文件下载方法,其特征在于,所述方法包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小;确定所使用的下载网络的当前网络速度;根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;对多个待下载分块文件同时执行下载操作。

【技术特征摘要】
1.一种文件下载方法,其特征在于,所述方法包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小;确定所使用的下载网络的当前网络速度;根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;对多个待下载分块文件同时执行下载操作。2.根据权利要求1所述的方法,其特征在于,所述对多个待下载分块文件同时执行下载操作,包括:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。3.根据权利要求1所述的方法,其特征在于,所述根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,包括:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。4.根据权利要求2所述的方法,其特征在于,所述响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,包括:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。5.根据权利要求4所述的方法,其特征在于,所述创建与多个待下载分块文件各自对应的分块下载子线程,以使多个分块下载子线程同时执行下载各自对应的待下载分块文件的下载操作,包括:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。8.一种文件下载装置,其特征在于,所述装置包括:第一确定单元,配置用于响应于接收到用户发出的对目标文件的下载指...

【专利技术属性】
技术研发人员:许鹏展
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1