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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。