CN109862065B - 文件下载方法、装置和电子设备 - Google Patents
文件下载方法、装置和电子设备 Download PDFInfo
- Publication number
- CN109862065B CN109862065B CN201811485128.6A CN201811485128A CN109862065B CN 109862065 B CN109862065 B CN 109862065B CN 201811485128 A CN201811485128 A CN 201811485128A CN 109862065 B CN109862065 B CN 109862065B
- Authority
- CN
- China
- Prior art keywords
- downloading
- file
- block
- downloaded
- target file
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了文件下载方法、装置和电子设备。该方法的一具体实施方式包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否为下载任务列表中未完成的下载任务;响应于确定对目标文件进行的下载任务不为下载任务列表中未完成的下载任务,向服务器发送获取目标文件的大小的请求;接收服务器基于请求返回的目标文件的大小,并确定所使用的下载网络的当前网络速度。根据当前网络速度以及目标文件的大小对目标文件进行分块,得到至少一个待下载分块文件,以及各待下载分块文件对应的分块信息,基于各待下载分块文件分别对应的分块信息,对各待下载分块文件同时执行下载操作。缩短了目标文件的下载时间。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种文件下载方法、装置和电子设备。
背景技术
在通过客户端下载文件时,传统的下载方式为单连接下载,而由于在某些情况下,单个连接的下载速度会受到限制,因此现有技术中,多通过分块下载的方式来实现一个文件的多连接下载,进而摆脱当前网络环境对单个连接的现在速度的限制。
现有技术中实现分块下载的方法为按照固定比例将目标文件对应的数据分为多个部分,通过多个连接分别对上述多个部分的数据进行下载,全部下载结束后再将多个部分的数据进行拼接。然而,由于用户在下载文件时,网络速度并不完全一样。在任何下载时刻使用固定的分块方法目标文件进行下载,有可能使得下载时间过长,影响用户体验。
发明内容
本发明实施例提供了一种文件下载方法、装置和电子设备,提高了对目标文件的下载速度,另一方面可以改善用户体验。
第一方面,本发明实施例提供了一种文件下载方法,包括:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小;确定所使用的下载网络的当前网络速度;根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;对多个待下载分块文件同时执行下载操作。
可选地,所述对多个待下载分块文件同时执行下载操作,包括:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。
可选地,所述根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,包括:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。
可选地,所述响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,包括:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
可选地,所述创建与多个待下载分块文件各自对应的分块下载子线程,以使多个分块下载子线程同时执行下载各自对应的待下载分块文件的下载操作,包括:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
可选地,所述方法还包括:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。
可选地,所述方法还包括:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
可选地,上述确定所使用的下载网络的当前网络速度,包括:基于当前网速采样时段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将所述网速移动平均值确定为当前网络速度。
第二方面,本发明实施例提供了一种文件下载装置,包括:第一确定单元,配置用于响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;获取单元,配置用于响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小;第二确定单元,配置用于确定所使用的下载网络的当前网络速度;分块单元,配置用于根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;下载单元,配置用于对多个待下载分块文件同时执行下载操作。
可选地,所述下载单元进一步配置用于:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。
可选地,所述分块单元进一步配置用于:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。
可选地,所述获取单元进一步配置用于:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
可选地,所述下载单元进一步配置用于:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
可选地,所述下载单元进一步配置用于:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。
可选地,所述装置还包括断点续传单元,所述断点续传单元配置用于:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
可选地,所述接收单元进一步配置用于:基于当前网速采样时段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将所述网速移动平均值确定为当前网络速度。
第三方面,本发明实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种文件下载方法的步骤。
第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一种文件下载方法的步骤。
本发明实施例提供的文件下载方法、装置和电子设备,通过首先响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中,然后,响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,接着,确定所使用的下载网络的当前网络速度,之后,根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,以及各待下载分块文件对应的分块信息,最后,基于各待下载分块文件分别对应的分块信息,对多个待下载分块文件同时执行下载操作。实现了对于目标文件,根据与下载网络的当前网络速度匹配的分块方法对目标文件进行分块,并对分块得到的各待下载分块文件同时进行下载。一方面提高了对目标文件的下载速度,缩短了目标文件的下载时间,另一方面可以改善用户体验。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明的文件下载方法的一个实施例的流程图;
图2是根据本发明的文件下载方法的又一个实施例的流程图;
图3是根据本发明的文件下载装置的一个实施例的结构示意图;
图4是根据本发明的文件下载装置的具体结构示意图;
图5是本发明实施例可以应用于其中的示例性***架构图;
图6是根据本发明实施例提供的电子设备的基本结构的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解。应当将它们认为仅仅是示范性的。因此本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
请参考图1,图1其示出了根据本发明的文件下载方法的一个实施例的流程。如图1所示该文件下载方法,包括以下步骤:
步骤101,响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中。
在本实施例中,用户可以向终端设备发出对目标文件的下载指令。上述目标文件可以是由终端推送给用户的,也可以是用户通过主动搜索得到的。
在本实施例中,上述终端设备中可以设置有预设下载应用。
在一些应用场景中,上述目标文件可以是用户通过预设下载应用搜索得到的。
在另外一些应用场景中,上述目标文件可以是服务器根据用户的用户画像通过网页页面或者是预设应用的页面推送给用户的。
用户可以通过对目标文件执行选择操作,并选择下载选项从而向终端设备发出下载目标文件的指令。
响应于接收到用户发出的对目标文件的下载指令,若此时,预设下载应用为未运行状态,则运行上述预设下载应用。
进一步地,可以确定对目标文件进行下载的下载任务是否已在下载任务列表中。也就是,确定对目标文件进行下载的下载任务是否为预设下载应用的下载任务列表中未完成的下载任务。
在预设下载应用中,可以设置下载任务列表。下载任务列表可以包括未完成任务列表。可以根据目标文件的标识查看为完成下载列表中是否包括上述目标文件的标识。若包括上述目标文件的标识,则说明上述目标文件为预设下载应用的下载任务列表中未完成的下载任务。否则,目标文件不为下载任务列表中未完成的下载任务。
步骤102,响应于确定对目标文件进行的下载任务不在下载任务列表中,获取目标文件的大小。
在本实施例中,可以通过预设通信接口向服务器发送获取目标文件的大小的请求,从而从服务器获取目标文件的大小。上述目标文件的大小例如可以为上述目标文件所包括的字节数。
在一些实施例中,上述所述响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,可以包括:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于上述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
通常,在每一个下载任务开始下载时,会为该下载任务分配一个下载线程。此下载线程会首先进行各种校验(比如状态合法性校验、缓存完整性校验、网络是否可用、磁盘空间是否足够、是否可以断点续传等等),再进行这些校验之后,下载线程会向服务器发送首个http请求的头部range字段。这个http请求是为了获取文件要下载的字节范围。当目标文件是新下载任务时,range字段的值可以为0。若目标文件是未完成的下载任务时,range字段的值为根据缓存数据计算出的请求数据的起始偏移量(StartOffset)。例如,若未完成的下载任务在之前已经累积下载了400字节,则上述起始偏移量可以为400。也就是说,上述连接请求将请求服务器返回该目标文件的从第1个字节开始的400个字节以后的所有字节。
服务器在接收到上述获取目标文件的大小的请求之后,可以在本地存储的目标文件的相关信息中查找目标文件所包括的字节总数。并将目标文件所包括的字节总数作为目标文件的大小反馈给终端设备。
具体地,上述获取目标文件的大小的请求中还可以包括终端设备的标识。终端设备的标识可以用于区分网络中不同的终端设备。终端设备的标识例如可以包括数字、符号,或者是数字和符号的组合等。在网络中,每一个终端设备的标识是唯一的。
服务器在接收到一个终端设备发送的获取目标文件的大小请求时,可以根据请求中的终端设备的标识,将目标文件的大小反馈给上述终端设备。
从服务器返回的响应数据的头部会有content-length字段,通过这个字段就可以读取目标文件的未下载的部分的大小。当下载目标文件是新下载任务时,服务器返回的时目标文件的大小。也就是目标文件所包括的字节的数量。
步骤103,确定所使用的下载网络的当前网络速度。
可以根据各种现有的确定网络速度的方法来确定当前所使用的下载网络的当前网络速度。例如通过向服务器执行预下载上述目标文件的操作。根据实时的上传的字节数和下载的字节数来确定所使用的下载网络的当前网络速度。
在一些实施例中,上述接收服务器基于上请求返回的所述目标文件的大小,确定所使用的下载网络的当前网络速度,包括:基于当前网速采样时间段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将网速移动平均值确定为当前网络速度。
实践中,可以通过使用当前网络采样时段内多个采样时间点所采集的网速,得到的网速采样值序列计算得到的网速移动平均值,来作为下载网络的当前网络速度。
在这些实施例中,基于网速移动平均值确定下载网络的当前网络速度。这样得到的网络速度趋近于网络速度的真实值。从而使得后续对目标文件的分块更加合理。
步骤104,根据当前网络速度以及目标文件的大小对目标文件进行分块,得到至少一个待下载分块文件。
在本实施例中,可以根据在步骤103中得到的当前网络速度以及目标文件的大小对目标文件进行分块,从而可以得到至少一个待下载分块文件。上述步骤104可以进一步包括以下步骤:
首先,可以根据预设分块策略确定目标文件的第一分块数量。上述预设分块策略例如可以根据目标文件的大小来确定目标文件的分块数量。具体地,如果目标文件的大小大于第一预设阈值,目标文件对应的分块数量可以为N1,如果目标文件的大小小于第二预设阈值,目标文件对应的分块数量可以为N2;如果目标文件的大小大于第二预设阈值,小于第一预设阈值,目标文件对应的分块数量可以为N3。其中,N2<N3<N1。且N1、N2、N3均为大于等于1的正整数。
其次,基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量。
具体地,预设分块调整策略可以包括若当前网络速度大于第一预设网络速度阈值,则在第一分块数量的基础上,增加目标文件的分块数量,得到数值大于第一分块数量的第二分块数量。若当前网络速度大于第二预设网络速度阈值,且小于第一预设网络速度阈值,则可以保持原第一分块数量,从而得到数值等于第一分块数量的第二分块数量;若当前网络速度小于第二预设网络速度阈值,则在第一分块数量的基础上,减少目标文件的分块数量,从而得到数值小于第一分块数量的第二分块数量。
上述第一预设网络速度阈值可以为大于1字节/秒的任意网速。第二预设网络速度阈值可以为大于1字节/秒的任意网速。且第一预设网络速度阈值大于第二网络速度阈值。第一预设网络速度阈值大于第二网络速度阈值的具体数值根据应用场景进行设定,此处不进行限定。
再次,根据第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。
在对目标文件进行分块时生成各待下载分块文件对应的分块信息。每一个待下载分块文件的分块信息可以包括:该待下载分块文件的标识信息、索引、首字节偏移量、末字节偏移量、字节长度。
在一些应用场景中,在对目标文件进行分块时,可以将目标文件按照待分成的分块数量,将目标文件的大小进行均分。下面以将目标文件包括1000个字节,将目标文件分成4个待下载分块文件为例进行说明。可以将上述1000个字节的目标文件均分为4个待下载分块文件。每个待下载分块文件可以包括250个字节。第一个待下载分块文件例如可以包括目标文件的第一个字节至第250个字节;第二个待下载分块文件例如可以包括目标文件的第251个字节至目标文件的第500个字节;第三个待下载分块文件例如可以包括目标文件的第501个字节至目标文件的第750个字节;第四个待下载分块文件例如可以包括目标文件的第751个字节至目标文件的第1000个字节。
上述第一个待下载分块文件首字节对应的起始偏移值为0,末字节对应的结束偏移值为249。上述第二个待下载分块文件首字节对应的起始偏移值为250,末字节对应的结束偏移值为499。上述第三个待下载分块文件首字节对应的起始偏移值为500,末字节对应的结束偏移值为749。上述第四个待下载分块文件首字节对应的起始偏移值为750,末字节对应的结束偏移值为999。上述第一个待下载分块文件、第二个待下载分块文件、第三个待下载分块文件和第四个待下载分块文件的各自对应的字节长度为250个字节。
步骤105,对多个待下载分块文件同时执行下载操作。
在步骤104对目标文件进行分块,得到了至少一个待下载分块文件之后,可以根据各待下载分块文件分别对应的分块信息,对各待下载分块文件同时执行下载操作。
本发明的上述实施例提供的方法通过首先响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中,然后,响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小,接着,确定所使用的下载网络的当前网络速度,之后,根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,最后,对多个待下载分块文件同时执行下载操作。实现了对于目标文件,根据与下载网络的当前网络速度匹配的分块方法对目标文件进行分块,并对分块得到的各待下载分块文件同时进行下载。一方面提高了对目标文件的下载速度,另一方面可以改善用户体验。
在一些实施方式中,上述文件下载方法还可以包括:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
在这些实施方式中,若在目标文件的下载过程中,发生网络中断,或者,由于用户的下载暂停操作,引起的下载中断。当发生下载中断时,可以将各待下载分块文件的已下载的部分文件保存入用于存储目标文件的存储区内。将各待下载分块文件对应下载状态信息进行缓存。保存到内存,并保存到终端设备的数据库中。
上述预先对该目标文件进行分块得到的至少一个待下载分块文件,是指之前对该目标文件执行下载操作时,根据当时的网络速度对目标文件进行分块得到的至少一个待下载分块文件。
每一个待下载分块文件的下载状态信息可以包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移量、结束偏移量,以及该待下载分块文件对应的字节长度以及下载偏移量。这里下载偏移量用于指示该待下载分块文件对应的已下载的字节数。
对于目标文件的每一个待下载分块文件,当网络恢复,或者用户选择继续下载上述目标文件时,可以基于该待下载分块文件的下载状态信息对应的下载偏移量,继续下载该待下载分块文件对应的数据。也就是说,可以以该下载偏移量的下一个字节数为本次下载的起始字节,向服务器发起继续下载该待下载分块文件的下载请求。
在这些实施例中,当下载发生中断后,再次下载时,可以对各待下载分块文件进行断点续传。从而可以改善由于目标文件上一次的下载发生中断时,对目标文件再一次进行下载需要从目标文件的首字节开始下载的现象。
进一步参考图2,其示出了文件下载方法的又一个实施例的流程图。如图2所示,该文件下载方法的流程,包括以下步骤:
步骤201,响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中。
步骤201与图1所示实施例中的步骤101相同,此处不赘述。
步骤202,向服务器发起用于获取目标文件大小的连接请求。
步骤202的详细说明可以参考图1所示实施例的步骤102中的相关说明,此处不赘述。
步骤203,接收服务器发送的基于连接请求返回的指示目标文件大小的信息,并基于信息确定目标文件的大小。
步骤203的详细说明可以参考图1所示实施例的步骤102中的相关说明,此处不赘述。
步骤204,确定所使用的下载网络的当前网络速度。
步骤204与图1所示步骤103相同,此处不赘述。
步骤205,根据当前网络速度以及目标文件的大小对目标文件进行分块,得到至少一个待下载分块文件。
步骤205与图1所示步骤104相同,此处不赘述。
步骤206,创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作,其中,第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
在一些应用场景中,可以创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。
每一个分块下载线程可以向服务器发送一个http请求以下载该分块下载线程对应的待下载分块文件。上述下载请求可以将该待下载分块文件的首字节的起始偏移值作为第一个下载字节,而将该待下载分块文件的末字节的结束偏移值作为最后一个下载字节。从而,可以根据各待下载分块文件的分块信息同时向服务器发起下载请求,以执行下载操作。
在本实施例中,可以将步骤202中的连接请求所使用的连接复用为第一个待下载分块文件所对应的分块下载线程向服务器发送的下载请求连接。也就是第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
从图2中可以看出,与图1对应的实施例相比,本实施例中的文件下载方法的流程200突出了创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作,第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接的内容,实现了http连接复用,在一定程度上可以减小下载线程与服务器连接所用的时间,可以缩短下载目标文件所用的整体时间。
在一些实施方式中,图2所示的文件下载方法还可以包括如下步骤:
第一,响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程。
第二,响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的分块子任务。
具体地,对于产生第一个完成下载所对应的待下载分块文件的下载任务的分块下载线程时,可以根据预设分块规则将上述目标下载线程对应的未完成部分进行分块,得到至少两个分块子任务。在一些应用场景中,上述分块子任务的数量可以等于上述目标文件被分成的待下载分块文件的数量。
对于不是第一个完成下载所对应的待下载分块文件的下载任务的分块下载线程,可以确定该分块下载线程完成上述下载任务时,目标下载线程所对应的待下载分块任务未被分配下载线程的分块子任务。
第三,利用目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载上述分块子任务。
具体地,第一个分块子任务仍然由目标下载线程继续下载。其他的分块子任务可以由完成下载所对应的待下载分块文件的分块下载线程执行。例如,将第二个分块子任务分配给第一个完成下载所对应的待下载分块文件的下载任务的分块下载线程,将第三个分块子任务分配给第二个完成下载所对应的待下载分块文件的下载任务的分块下载线程等等。
在这些实施例中,使用多个下载线程对目标文件的各待下载分块文件进行下载时,会发生一些待下载分块文件提前下载完,另外一些待下载分块文件下载滞后的现象。
对于上述现象,若一个或两个以上下载线程的下载任务完成之后,还有其他下载线程没有完成下载任务。则可以利用完成下载任务的下载线程与其他未完成下载任务的下载线程一起执行未完成的下载任务,实现了分块下载线程的复用。可以减少处理器进行任务调度、线程创建以及线程切换的频率,从而可以进一步提高下载速度,缩短目标文件的整体下载时间。
进一步参考图3,作为对上述各图所示方法的实现,本发明提供了一种文件下载装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例的文件下载装置包括:第一确定单元301、获取单元302、第二确定单元303、分块单元304和下载单元305。其中,第一确定单元301,配置用于响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;获取单元302,配置用于响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小;第二确定单元303,配置用于确定所使用的下载网络的当前网络速度;分块单元304,配置用于根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件;下载单元305,配置用于对多个待下载分块文件同时执行下载操作。
在本实施例中,文件下载装置的第一确定单元301、获取单元302、第二确定单元303、分块单元304和下载单元305可分别参考图1对应实施例中步骤101、步骤102、步骤103、步骤104和步骤105的相关说明,在此不再赘述。
在一些实施方式中,所述下载单元305进一步配置用于:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作。
在一些实施方式中,所述分块单元304进一步配置用于:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件。
在一些实施方式中,所述获取单元302进一步配置用于:向服务器发起用于获取所述目标文件大小的连接请求;接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
在一些实施方式中,所述下载单元305进一步配置用于:第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
在一些实施方式中,所述下载单元进一步配置用于:响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。
在一些实施方式中,文件下载装置300还包括:断点续传单元(图中未示出)。断点续传单元配置用于:响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
在一些实施方式中,所述第二确定单元303进一步配置用于:基于当前网速采样时段内多个采样时间点采集的网速采样值序列,确定当前网速移动平均值,将所述网速移动平均值确定为当前网络速度。
请参考图4,图4是根据本发明的文件下载装置的具体结构示意图。
如图4所示,文件下载装置包括接口层401,组件层402以及网络服务层403。
接口层401提供了扩展初始化、暂停、取消、重新开始、获取下载状态、数据等用户接口。通过下载协议4011实现接口隔离和扩展。并为多线程下载预留接口。
组件层402,包括下载服务管理模块4021、下载引擎模块4022、状态处理器4023、下载通知管理器4024、线程池4025、数据缓存区4026、响应处理器4027和分块策略模块4028。其中,下载服务管理模块4021可以接收用户通过接口层输入的下载、下载暂停、下载取消、下载开始、下载重新开始等指令。并根据上述指令来对下载任务进行管理。下载管理模块4021可以将多个下载任务传递给下载引擎模块4022。下载引擎模块4022负责下发下载任务,并调度上述状态处理器4023、下载通知管理器4024、线程池4025、数据缓存区4026、响应处理器4027和分块策略模块4028配合工作以完成下载任务。线程池4025负责管理所有的下载线程。状态处理器4023负责处理所有的下载状态并进行分发。数据缓存模块4026负责下载任务各个状态的数据的缓存和恢复。下载通知管理器4024负责下载通知,使得用户无需管辖下载通知的发送和更新。响应处理器负责网络响应和分块数据的处理和通孔。分块策略模块4028提供下载分块的方法。
网络层403提供了可扩展的网络层接口,并提供了默认的okhttp3实现,用来提供下载的网络请求支持。
根据线程池分配的连接线程,将连接请求经过网络服务层403发送给服务器,从服务器获取下载任务对应的目标文件的大小。并由分块策略模块4028根据当前下载网络的当前网络速度对目标文件进行分块,得到至少一个待下载分块文件。
请参考图5,图5示出了可以应用本发明的文件下载方法或文件下载装置的实施例的示例性***架构。
如图5所示,***架构可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备501、502、503可以通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用,例如下载类应用、搜索类应用等。
终端设备501、502、503可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且文件下载的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机、电子书阅读器等等。当终端设备501、42、503为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块)。
终端设备501、502、503可以接收用户输入的对目标文件的下载指令,向服务器505获取目标文件的大小,并对目标文件进行分块下载。
服务器505可以提供各种服务,例如提供目标文件的源文件以供终端设备下载。
需要说明的是,本发明实施例所提供的文件下载方法一般由终端设备501、502、503执行,相应地,文件下载装置一般设置于终端设备501、502、503中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的基本结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备可以包括一个或多个处理器601,存储装置602。存储装置602用户存储一个或多个程序。存储装置602中的一个或多个程序可以被一个或多个处理器601执行。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器可以实现本发明的方法中限定的上述功能。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定单元、获取单元、第二确定单元、分块单元和下载单元。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一确定单元还可以被描述为″响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中的单元″。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。本发明的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备:响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;响应于确定对目标文件进行的下载任务不在下载任务列表中,获取目标文件大小;确定所使用的下载网络的当前网络速度;根据当前网络速度以及目标文件的大小对目标文件进行分块,得到至少一个待下载分块文件;对多个待下载分块文件同时执行下载操作。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种文件下载方法,其特征在于,所述方法包括:
响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;
响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件的大小;
确定所使用的下载网络的当前网络速度,所述网络速度由如下方式确定:在多个采样时间点采集网速采样值序列,确定当前网速移动平均值,将网速移动平均值确定为当前网络速度;
根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,包括:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件;
对多个待下载分块文件同时执行下载操作;其中,所述对多个待下载分块文件同时执行下载操作,包括:
创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作;以及所述方法还包括:
响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;
响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;
利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。
2.根据权利要求1所述的方法,其特征在于,所述响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小,包括:
向服务器发起用于获取所述目标文件大小的连接请求;
接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
3.根据权利要求2所述的方法,其特征在于,所述创建与多个待下载分块文件各自对应的分块下载子线程,以使多个分块下载子线程同时执行下载各自对应的待下载分块文件的下载操作,包括:
第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;
对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中
每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
5.一种文件下载装置,其特征在于,所述装置包括:
第一确定单元,配置用于响应于接收到用户发出的对目标文件的下载指令,确定对目标文件进行下载的下载任务是否已在下载任务列表中;
获取单元,配置用于响应于确定对目标文件进行的下载任务不在下载任务列表中,获取所述目标文件大小;
第二确定单元,配置用于确定所使用的下载网络的当前网络速度,所述网络速度由如下方式确定:在多个采样时间点采集网速采样值序列,确定当前网速移动平均值,将网速移动平均值确定为当前网络速度;
分块单元,配置用于根据所述当前网络速度以及所述目标文件的大小对所述目标文件进行分块,得到至少一个待下载分块文件,所述分块单元进一步用于:根据预设分块策略确定所述目标文件的第一分块数量;基于预设分块调整策略根据当前网络速度对第一分块数量进行调整,得到第二分块数量;根据所述第二分块数量对所述目标文件进行分块,得到至少一个待下载分块文件;
下载单元,配置用于对多个待下载分块文件同时执行下载操作;其中,所述下载单元进一步用于:创建与多个待下载分块文件各自对应的分块下载线程,以使多个分块下载线程同时执行下载各自对应的待下载分块文件的下载操作;以及
所述下载单元进一步用于:
响应于至少一个分块下载线程完成了下载所对应的待下载分块文件的下载任务,确定是否存在所对应的待下载任务的未完成部分大于预设任务阈值的线程;
响应于确定存在所对应的待下载任务的未完成部分大于预设任务阈值的线程,将该线程确定为目标下载线程,并确定所述未完成部分对应的至少一个分块子任务;
利用所述目标下载线程以及完成了下载所对应的待下载分块文件的分块下载线程下载所述至少一个分块子任务。
6.根据权利要求5所述的装置,其特征在于,所述获取单元进一步配置用于:
向服务器发起用于获取所述目标文件大小的连接请求;
接收服务器发送的基于所述连接请求返回的指示目标文件大小的信息,并基于所述信息确定目标文件的大小。
7.根据权利要求6所述的装置,其特征在于,所述下载单元进一步配置用于:
第一个待下载分块文件所对应的分块下载线程复用上述连接请求所使用的连接。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述装置还包括断点续传单元,所述断点续传单元配置用于:
响应于确定对目标文件进行的下载任务在所述下载任务列表中,获取本地缓存的、预先对该目标文件进行分块得到的至少一个待下载分块文件的下载状态信息;
对于每一待下载分块文件,基于该待下载分块文件的下载状态信息对应的下载偏移值,继续下载该待下载分块文件对应的数据;其中
每一待下载分块文件的下载状态信息包括:该待下载分块文件的首字节、末字节各自对应的相对于所述目标文件的初始字节的起始偏移值、结束偏移值,以及该待下载分块文件对应的字节长度以及下载偏移值,所述下载偏移值用于指示该待下载分块文件对应的已下载的字节数。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811485128.6A CN109862065B (zh) | 2018-12-06 | 2018-12-06 | 文件下载方法、装置和电子设备 |
JP2019220649A JP6918909B2 (ja) | 2018-12-06 | 2019-12-05 | ファイルダウンロード方法、装置およびコンピュータ読取り可能な媒体 |
KR1020190160596A KR102318639B1 (ko) | 2018-12-06 | 2019-12-05 | 파일 다운로드 방법, 장치 및 컴퓨터의 판독이 가능한 매체 |
US16/705,144 US11064012B2 (en) | 2018-12-06 | 2019-12-05 | File downloading method, apparatus, and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811485128.6A CN109862065B (zh) | 2018-12-06 | 2018-12-06 | 文件下载方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862065A CN109862065A (zh) | 2019-06-07 |
CN109862065B true CN109862065B (zh) | 2021-09-14 |
Family
ID=66890787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811485128.6A Active CN109862065B (zh) | 2018-12-06 | 2018-12-06 | 文件下载方法、装置和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11064012B2 (zh) |
JP (1) | JP6918909B2 (zh) |
KR (1) | KR102318639B1 (zh) |
CN (1) | CN109862065B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419401B2 (en) * | 2016-01-08 | 2019-09-17 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
CN112398885B (zh) * | 2019-08-14 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 数据传输方法和装置 |
US11269536B2 (en) * | 2019-09-27 | 2022-03-08 | Open Text Holdings, Inc. | Method and system for efficient content transfer to distributed stores |
CN110784520A (zh) * | 2019-09-30 | 2020-02-11 | 北京字节跳动网络技术有限公司 | 文件下载方法、装置及电子设备 |
US11102272B2 (en) | 2019-12-19 | 2021-08-24 | Wangsu Science and Technology Co., Ltd. | Method and device for downloading resource file |
CN111212114B (zh) * | 2019-12-19 | 2021-08-27 | 网宿科技股份有限公司 | 一种下载资源文件的方法和装置 |
US11082495B1 (en) | 2020-04-07 | 2021-08-03 | Open Text Holdings, Inc. | Method and system for efficient content transfer to a server |
CN112256417B (zh) * | 2020-10-23 | 2024-03-29 | 上海豹云网络信息服务有限公司 | 一种数据请求处理方法、装置及计算机可读存储介质 |
CN112199340A (zh) * | 2020-10-23 | 2021-01-08 | 深圳市欢太科技有限公司 | 一种多线程文件下载方法、装置、电子设备及存储介质 |
CN112243038B (zh) * | 2020-11-02 | 2023-07-18 | 深圳市欢太科技有限公司 | 下载方法、终端及计算机存储介质 |
CN112637343A (zh) * | 2020-12-23 | 2021-04-09 | 中国建设银行股份有限公司 | 文件传输方法、装置及*** |
CN112954013B (zh) * | 2021-01-27 | 2023-04-07 | 政采云有限公司 | 一种网络文件信息获取方法、装置、设备及存储介质 |
CN112995284A (zh) * | 2021-02-04 | 2021-06-18 | 卓望数码技术(深圳)有限公司 | 文件存储方法、电子设备及存储介质 |
CN112968959B (zh) * | 2021-02-20 | 2022-11-04 | 网宿科技股份有限公司 | 一种资源请求方法及终端 |
EP4075691B1 (en) | 2021-02-20 | 2024-05-01 | Wangsu Science & Technology Co., Ltd. | Resource requesting method and terminal |
CN113138969A (zh) * | 2021-04-30 | 2021-07-20 | 青岛盛世影云影视科技有限公司 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
CN113382065B (zh) * | 2021-06-08 | 2023-04-07 | 京东方科技集团股份有限公司 | 文件下载方法、装置、***、设备及存储介质 |
CN113409083B (zh) * | 2021-06-19 | 2022-10-14 | 华扬联众数字技术股份有限公司 | 一种广告素材分发的方法及装置 |
CN114157655A (zh) * | 2021-11-26 | 2022-03-08 | 杭州安恒信息安全技术有限公司 | 任务下载方法、***、计算机设备及可读存储介质 |
CN114338657B (zh) * | 2022-03-15 | 2022-07-12 | 北京搜狐新动力信息技术有限公司 | 一种视频文件的下载方法及装置、电子设备、存储介质 |
CN114710449B (zh) * | 2022-04-01 | 2024-04-30 | 中国建设银行股份有限公司 | 用于终端文件交互的流量控制方法、装置、计算机设备 |
CN115473806B (zh) * | 2022-08-12 | 2023-09-26 | 北京奇艺世纪科技有限公司 | 资源下载控制方法、装置、电子设备和计算机可读介质 |
CN115622992B (zh) * | 2022-09-09 | 2024-05-14 | 建信金融科技有限责任公司 | 一种基于Wi-Fi直连的文件下载方法、装置、设备及介质 |
CN115622801A (zh) * | 2022-11-30 | 2023-01-17 | 中化现代农业有限公司 | 数据下载方法、装置、电子设备和存储介质 |
CN115834572B (zh) * | 2022-12-13 | 2024-03-26 | 广州文远知行科技有限公司 | 一种文件下载方法、装置、设备和存储介质 |
CN117971985B (zh) * | 2024-04-01 | 2024-06-28 | 国家超级计算天津中心 | 作业文件同步方法以及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227812A (zh) * | 2013-03-19 | 2013-07-31 | 青岛海信宽带多媒体技术有限公司 | 智能设备中支持断点续传的下载方法和装置 |
CN105007322A (zh) * | 2015-07-21 | 2015-10-28 | 陈丹 | 一种文件传输方法及*** |
CN107959700A (zh) * | 2016-10-18 | 2018-04-24 | 中国电信股份有限公司 | 自适应文件下载的方法和云存储网关 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242640A (ja) * | 1998-02-25 | 1999-09-07 | Kdd Corp | ファイル転送方法 |
EP1309153A1 (en) * | 2001-11-02 | 2003-05-07 | BRITISH TELECOMMUNICATIONS public limited company | File download operation |
US20060179155A1 (en) * | 2005-02-04 | 2006-08-10 | Bunting Harry E | Web-based file transfer protocol server enterprise manager with build-in database |
JP6289092B2 (ja) | 2013-12-26 | 2018-03-07 | キヤノン株式会社 | 情報処理装置、その制御方法およびコンピュータプログラム |
EP3282734B1 (en) * | 2015-04-10 | 2020-03-04 | Huawei Technologies Co. Ltd. | Data transmission method and terminal |
CN106961454B (zh) * | 2016-01-08 | 2021-01-05 | 阿里巴巴(中国)有限公司 | 文件下载方法、装置及终端设备 |
JP5976265B1 (ja) | 2016-01-22 | 2016-08-23 | 株式会社エーピーコミュニケーションズ | ダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラム |
-
2018
- 2018-12-06 CN CN201811485128.6A patent/CN109862065B/zh active Active
-
2019
- 2019-12-05 KR KR1020190160596A patent/KR102318639B1/ko active IP Right Grant
- 2019-12-05 US US16/705,144 patent/US11064012B2/en active Active
- 2019-12-05 JP JP2019220649A patent/JP6918909B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227812A (zh) * | 2013-03-19 | 2013-07-31 | 青岛海信宽带多媒体技术有限公司 | 智能设备中支持断点续传的下载方法和装置 |
CN105007322A (zh) * | 2015-07-21 | 2015-10-28 | 陈丹 | 一种文件传输方法及*** |
CN107959700A (zh) * | 2016-10-18 | 2018-04-24 | 中国电信股份有限公司 | 自适应文件下载的方法和云存储网关 |
Also Published As
Publication number | Publication date |
---|---|
US11064012B2 (en) | 2021-07-13 |
CN109862065A (zh) | 2019-06-07 |
JP2020091870A (ja) | 2020-06-11 |
KR102318639B1 (ko) | 2021-11-01 |
KR20200070119A (ko) | 2020-06-17 |
US20200186588A1 (en) | 2020-06-11 |
JP6918909B2 (ja) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109862065B (zh) | 文件下载方法、装置和电子设备 | |
US11411885B2 (en) | Network-accessible data volume modification | |
KR101791594B1 (ko) | 저장 네트워크 내의 저장 관리 | |
US20200328984A1 (en) | Method and apparatus for allocating resource | |
CN107615212B (zh) | 用于控制数据传输的方法和*** | |
US20180253244A1 (en) | Method and system for memory allocation in a disaggregated memory architecture | |
CN104954468A (zh) | 资源的分配方法及装置 | |
CN107689976B (zh) | 一种文件传输方法及装置 | |
US20180004698A1 (en) | Network-accessible data volume modification | |
CN105843819B (zh) | 一种数据导出方法及装置 | |
CN109471843B (zh) | 一种元数据缓存方法、***及相关装置 | |
WO2018036133A1 (zh) | 一种文件下载方法及装置 | |
US11314545B2 (en) | Predicting transaction outcome based on artifacts in a transaction processing environment | |
US20140115098A1 (en) | Methods, systems, and media for stored content distribution and access | |
CN105516086A (zh) | 业务处理方法及装置 | |
CN111930525A (zh) | Gpu资源使用方法、电子设备及计算机可读介质 | |
CN108958933B (zh) | 任务执行器的配置参数更新方法、装置及设备 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN105574008A (zh) | 应用于分布式文件***的任务调度方法和设备 | |
CN110602232A (zh) | 基于对等网络思想的终端***版本下载方法、装置及*** | |
US20170193006A1 (en) | Distributed file system and method of creating files effectively | |
US20160216986A1 (en) | Infrastructure performance enhancement with adaptive resource preservation | |
CN112395337B (zh) | 一种数据导出方法和装置 | |
CN112019362B (zh) | 数据传输方法、装置、服务器、终端、***及存储介质 | |
EP3479236B1 (en) | Network-accessible data volume modification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |