CN112383638A - 一种分片下载方法、装置及介质 - Google Patents

一种分片下载方法、装置及介质 Download PDF

Info

Publication number
CN112383638A
CN112383638A CN202011361904.9A CN202011361904A CN112383638A CN 112383638 A CN112383638 A CN 112383638A CN 202011361904 A CN202011361904 A CN 202011361904A CN 112383638 A CN112383638 A CN 112383638A
Authority
CN
China
Prior art keywords
download
downloading
rates
source addresses
rate
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.)
Granted
Application number
CN202011361904.9A
Other languages
English (en)
Other versions
CN112383638B (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202011361904.9A priority Critical patent/CN112383638B/zh
Publication of CN112383638A publication Critical patent/CN112383638A/zh
Application granted granted Critical
Publication of CN112383638B publication Critical patent/CN112383638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

本公开提供了一种分片下载方法、装置及介质,此方法包括:从多个源地址下载一文件的部分分片,每个源地址对应于至少一分片;确定通过每个源地址下载相应分片时的表征下载速率;根据多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址;其中,任一目标源地址的表征下载速率大于多个源地址中除所述目标源地址之外的其它源地址的表征下载速率;为多个下载线程分配目标源地址;多个下载线程从目标源地址下载所述文件中除所述部分分片之外的剩余分片。本公开可以准确选择出在当前网络环境下下载速率较高的源地址,避免选择到历史下载速率较高但在当前网络下下载效率较低的源地址,提高下载效率,提高网络资源利用率。

Description

一种分片下载方法、装置及介质
技术领域
本公开涉及无线网络数据处理技术领域,尤其涉及一种分片下载方法、 装置及介质。
背景技术
目前网络下载技术中,一般采用通过网络应用程序接口(ApplicationProgramming Interface,API)进行网络文件下载。
待下载文件一般是多源文件,即同一文件具有多个统一资源定位器 (UniformResource Locator,URL),存储于多个服务器内。
从网络中下载一文件时,将此文件划分成多个分片,由多个线程对各分 片进行下载。
针对多源文件,根据历史记录的下载速度情况来优先选择历史下载速度 较高的URL进行多线程下载。但是,由于网络环境(包括下载速度和丢包率等) 往往是实时变化的,历史记录中对应较高下载速度的URL在最新的一次下载 过程的速度可能较低,所以在历史记录中URL的下载速度较高时,在此条线 路的网络状况变差后,选择历史记录中下载速率较高的线路并不是当前下载 过程中的最佳选择。
如何在此基础上进一步提高下载效率是需要解决的技术问题。
发明内容
为克服相关技术中存在的问题,本公开提供了一种分片下载方法、装置 及介质。
根据本公开实施例的第一方面,提供一种分片下载方法,包括:
从多个源地址下载一文件的部分分片,每个源地址对应于至少一分片;
确定通过每个源地址下载相应分片时的表征下载速率;
根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目 标源地址;其中,所述任一目标源地址的表征下载速率大于所述多个源地址 中除所述目标源地址之外的其它源地址的表征下载速率;
为多个下载线程分配所述目标源地址;
所述多个下载线程从所述目标源地址下载所述文件中除所述部分分片之 外的剩余分片。
在一实施方式中,所述确定通过每个源地址下载相应分片时的表征下载 速率,包括以下中的一种:
根据从每个源地址所下载的相应分片的容量和下载时长计算平均下载速 率,将所述平均下载速率作为表征下载速率;
确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所述多 个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高瞬时 下载速率作为表征下载速率。
在一实施方式中,所述根据所述多个源地址的表征下载速率从所述多个 源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速 度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下 载线程的个数,N是大于1的正整数;
计算所述N个表征下载速率的平均速率,从所述N个表征下载速率中选 择K个表征下载速率,K是大于或等于1并且小于或等于N的正整数,所述K 个表征下载速率中不包括小于所述平均速率并且与所述平均速率的差值大于 设定值的表征下载速率;确定所述K个表征下载速率所对应的K个源地址均 为目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源 地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址, 为多个下载线程中至少两个下载线程分配同一目标源地址。
在一实施方式中,所述根据所述多个源地址的表征下载速率从所述多个 源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速 度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下 载线程的个数,N是大于1的正整数;确定选择出的所述N个表征下载速率 所对应的N个源地址均为目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目 标源地址不同。
在一实施方式中,所述根据所述多个源地址的表征下载速率从所述多个 源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速 度最大的一端选择连续的K个表征下载速率,所述K是大于或等于1并且小 于为所述文件分配的下载线程的个数;确定选择出的所述K个表征下载速率 所对应的K个目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下 载线程分配同一源地址。
根据本公开实施例的第二方面,提供一种分片下载装置,包括:
第一下载模块,被配置为从多个源地址下载一文件的部分分片,每个源 地址对应于至少一分片;
第一确定模块,被配置为确定通过每个源地址下载相应分片时的表征下 载速率;
第一选择模块,被配置为根据所述多个源地址的表征下载速率从所述多 个源地址中选择至少一目标源地址;其中,所述任一目标源地址的表征下载 速率大于所述多个源地址中除所述目标源地址之外的其它源地址的表征下载 速率;
分配模块,被配置为多个下载线程分配所述目标源地址;
第二下载模块,被配置为使用所述多个下载线程从所述目标源地址下载 所述文件中除所述部分分片之外的剩余分片。
在一实施方式中,所述第一确定模块,还被配置为使用以下方法中一种 确定通过每个源地址下载相应分片时的表征下载速率:
根据从每个源地址所下载的相应分片的容量和下载时长计算平均下载速 率,将所述平均下载速率作为表征下载速率;
确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所述多 个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高瞬时 下载速率作为表征下载速率。
在一实施方式中,所述第一选择模块包括:
第一排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第二选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是 大于1的正整数;
计算模块,被配置为计算所述N个表征下载速率的平均速率;
第三选择模块,被配置为从所述N个表征下载速率中选择K个表征下载 速率,K是大于或等于1并且小于或等于N的正整数,所述K个表征下载速 率中不包括小于所述平均速率并且与所述平均速率的差值大于设定值的表征 下载速率;
第二确定模块,被配置为确定所述K个表征下载速率所对应的K个源地 址均为目标源地址;
所述分配模块,还被配置使用以下方法为多个下载线程分配所述目标源 地址:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源 地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址, 为多个下载线程中至少两个下载线程分配同一目标源地址。
在一实施方式中,所述第一选择模块包括:
第二排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第四选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是 大于1的正整数;
第三确定模块,被配置为确定选择出的所述N个表征下载速率所对应的N 个源地址均为目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标 源地址:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目 标源地址不同。
在一实施方式中,所述第一选择模块包括:
第三排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第五选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的K个表征下载速率,所述K是大于或等于1并且小于为所述文件分配的 下载线程的个数;
第四确定模块,被配置为确定选择出的所述K个表征下载速率所对应的K 个目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标 源地址:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下 载线程分配同一源地址。
根据本公开实施例的第三方面,提供一种分片下载装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器中的可执行指令以实现所述 方法的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质, 其上存储有可执行指令,该可执行指令被处理器执行时实现所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:从多个源地址 下载当前文件的一部分分片后,获得在当前网络的情况下从多个源地址下载 分片的下载速率,从中选择下载速率较高的目标源地址,为多个下载线程分 配选择出的所述目标源地址,使用所述多个下载线程从所述目标源地址下载 所述文件中除所述部分分片之外的剩余分片,可以准确选择出在当前网络环 境下下载速率较高的源地址,避免选择到历史下载速率较高但在当前网络下 下载效率较低的源地址,提高下载效率,提高网络资源利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性 的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公 开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的分片下载方法的流程图;
图2是根据一示例性实施例示出的图1中的步骤S13中的具体流程图;
图3是根据一示例性实施例示出的图1中的步骤S13中的具体流程图;
图4是根据一示例性实施例示出的图1中的步骤S13中的具体流程图;
图5是根据一示例性实施例示出的分片下载装置的结构图;
图6是根据一示例性实施例示出的分片下载装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的 描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的 要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所 有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一 些方面相一致的装置和方法的例子。
本公开实施例中提供一种分片下载方法。参照图1,图1是根据一示例 性实施例示出的一种分片下载方法的流程图。如图1所示,此方法包括:
步骤S11,从多个源地址下载一文件的部分分片,每个源地址对应于至少 一分片;
步骤S12,确定通过每个源地址下载相应分片时的表征下载速率;
步骤S13,根据所述多个源地址的表征下载速率从所述多个源地址中选择 至少一目标源地址;其中,所述任一目标源地址的表征下载速率大于所述多 个源地址中除所述目标源地址之外的其它源地址的表征下载速率;
步骤S14,为多个下载线程分配所述目标源地址;
步骤S15,所述多个下载线程从所述目标源地址下载所述文件中除所述 部分分片之外的剩余分片。
本实施例中,从多个源地址下载当前文件的一部分分片后,获得在当前 网络的情况下从多个源地址下载分片的下载速率,从中选择下载速率较高的 目标源地址,为多个下载线程分配选择出的所述目标源地址,使用所述多个 下载线程从所述目标源地址下载所述文件中除所述部分分片之外的剩余分 片,可以准确选择出在当前网络环境下下载速率较高的源地址,避免选择到 历史下载速率较高但在当前网络下下载效率较低的源地址,提高下载效率, 提高网络资源利用率。
本公开实施例中提供一种分片下载方法,此方法包括图1所示的方法, 并且:步骤S12中确定通过每个源地址下载相应分片时的表征下载速率,包 括以下中的一种:
一,根据从每个源地址所下载的相应分片的容量和下载时长计算平均下 载速率,将所述平均下载速率作为表征下载速率;
二,确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所 述多个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载 速率;
三,确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高 瞬时下载速率作为表征下载速率。
本实施例中,提供对于表征下载速率的多种体现方式,在不同使用场景 下满足用户不同的使用需求。
本公开实施例中提供一种分片下载方法,此方法包括图1所示的方法, 并且:步骤S13中根据所述多个源地址的表征下载速率从所述多个源地址中 选择至少一目标源地址,包括:
步骤S131,对所述多个源地址的表征下载速率进行排序。
步骤S132,从所述排序中表征下载速度最大的一端选择连续的N个表征 下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整 数。
步骤S133,计算所述N个表征下载速率的平均速率。
步骤S134,从所述N个表征下载速率中选择K个表征下载速率,K是大 于或等于1并且小于或等于N的正整数,所述K个表征下载速率中不包括小 于所述平均速率并且与所述平均速率的差值大于设定值的表征下载速率。
步骤S135,确定所述K个表征下载速率所对应的K个源地址均为目标源 地址。
步骤S14中,为多个下载线程分配所述目标源地址,包括:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源 地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址, 为多个下载线程中至少两个下载线程分配同一目标源地址。
本实施例中,从多个源地址的表征下载速率中选择较大的多个源地址, 在选择过程中剔除小于平均表征下载速率并且与平均表征下载速率差距较大 的表征下载速率对应的源地址,从而有效选择到较优的源地址。
下面通过具体实施例进行说明:
举例说明:
需下载一文件,其源地址URL的个数为8个,下载线程的个数N为6。
从8个URL下载文件的部分分片,计算每个URL在下载文件的相应分片 过程中的代表下载速率,此代表下载速率是平均下载速率。
URL1至URL8对应的下载速率依次为10.0、8.5、9.5、9.1、9.0、8.0、 7.5、7.0。
对各URL对应的代表下载速率进行排序操作,获得的速率排序为:
10.0、9.5、9.1、9.0、8.5、8.0、7.5、7.0。
此速率排序对应的URL排序为:
URL1、URL3、URL4、URL5、URL2、URL6、URL7、URL8;
从速率排序中下载速率最大的一端选择连续的6个下载速率,分别是:
10.0、9.5、9.1、9.0、8.5、8.0。
计算所述排序中所有下载速率的平均值为8.575。
设定值为0.2,从选择出的连续的6个下载速率中,确定小于所述平均值 并且与所述平均值的差值绝对值大于设定值的目标下载速率,确定出的下载 速率为8.0。
从上述6个下载速率中,选择出除目标下载速率之外的下载速率,选择 结果包括:10.0、9.5、9.1、9.0、8.5。
确定上述选择结果对应的URL共5个,依次为:URL1、URL3、URL4、URL5、 URL2。
使用6个线程从URL1、URL3、URL4、URL5、URL2下载文件中剩余的分片。
将其中的一个URL分配给两个线程,例如将URL1分配组第一线程和第六 线程,使第一线程和第六线程复用URL1。
为第一个线程分配的URL为URL1;
为第二个线程分配的URL为URL3;
为第三个线程分配的URL为URL4;
为第四个线程分配的URL为URL5;
为第五个线程分配的URL为URL2;
为第六个线程分配的URL为URL1。
使用上述六个线程从五个URL下载文件中剩余的分片。
本公开实施例中提供一种分片下载方法,此方法包括图1所示的方法, 并且:步骤S13中根据所述多个源地址的表征下载速率从所述多个源地址中 选择至少一目标源地址,包括:
步骤S13-1,对所述多个源地址的表征下载速率进行排序。
步骤S13-2,从所述排序中表征下载速度最大的一端选择连续的N个表征 下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整 数。
步骤S13-3,确定选择出的所述N个表征下载速率所对应的N个源地址均 为目标源地址。
步骤S14中为多个下载线程分配所述目标源地址,包括:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目 标源地址不同。
本实施例中,从多个源地址的表征下载速率中选择较大的多个源地址, 在选择过程中选择与下载线程的总数相同的多个源地址,使选择过程快速有 效。
下面通过具体实施例进行说明:
举例说明:
需下载一文件,其源地址URL的个数为8个,下载线程的个数N为6。
从8个URL下载文件的部分分片,计算每个URL在下载文件的相应分片 过程中的代表下载速率,此代表下载速率是平均下载速率。
URL1至URL8对应的下载速率依次为10.0、8.5、9.5、9.1、9.0、8.0、 7.5、7.0。
对各URL对应的代表下载速率进行排序操作,获得的速率排序为:
10.0、9.5、9.1、9.0、8.5、8.0、7.5、7.0。
此速率排序对应的URL排序为:
URL1、URL3、URL4、URL5、URL2、URL6、URL7、URL8;
从速率排序中下载速率最大的一端选择连续的6个代表下载速率,其相 应的URL分别为URL1、URL3、URL4、URL5、URL2、URL6。
为每个下载线程分配一个URL,例如:
为第一个线程分配的URL为URL1;
为第二个线程分配的URL为URL3;
为第三个线程分配的URL为URL4;
为第四个线程分配的URL为URL5;
为第五个线程分配的URL为URL2;
为第六个线程分配的URL为URL6。
使用上述六个线程从六个URL下载文件中剩余的分片。
本公开实施例中提供一种分片下载方法,此方法包括图1所示的方法, 并且:
步骤S13中根据所述多个源地址的表征下载速率从所述多个源地址中选 择至少一目标源地址,包括:
步骤S13-1’,对所述多个源地址的表征下载速率进行排序。
步骤S13-2’,从所述排序中表征下载速度最大的一端选择连续的K个表 征下载速率,所述K是大于或等于1并且小于为所述文件分配的下载线程的 个数。
步骤S13-3’,确定选择出的所述K个表征下载速率所对应的K个目标源 地址。
步骤S14中为多个下载线程分配所述至少一源地址,包括:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下 载线程分配同一源地址。
本实施例中,从多个源地址的表征下载速率中选择较大的多个源地址, 在选择过程中选择小于下载线程的总数的多个源地址,使下载线程可以复用 下载速率较高的源地址,提高整体下载速率。
下面通过具体实施例进行说明:
举例说明:
需下载一文件,其源地址URL的个数为8个,下载线程的个数N为6。
从8个URL下载文件的部分分片,计算每个URL在下载文件的相应分片 过程中的代表下载速率,此代表下载速率是平均下载速率。
URL1至URL8对应的下载速率依次为10.0、8.5、9.5、9.1、9.0、8.0、 7.5、7.0。
对各URL对应的代表下载速率进行排序操作,获得的速率排序为:
10.0、9.5、9.1、9.0、8.5、8.0、7.5、7.0。
此速率排序对应的URL排序为:
URL1、URL3、URL4、URL5、URL2、URL6、URL7、URL8;
从速率排序中下载速率最大的一端选择连续的3个代表下载速率,其相 应的URL,包括:URL1、URL3、URL4。
为6个下载线程分配上述3个URL,使每个下载线程复用两个URL。
为第一个线程分配的URL为URL1;
为第二个线程分配的URL为URL1;
为第三个线程分配的URL为URL3;
为第四个线程分配的URL为URL3;
为第五个线程分配的URL为URL4;
为第六个线程分配的URL为URL4。
使用上述六个线程从六个URL下载文件中剩余的分片。
本公开实施例中提供一种分片下载装置。参照图5,图5是根据一示例 性实施例示出的一种分片下载装置的结构图。如图5所示,此装置包括:
第一下载模块501,被配置为从多个源地址下载一文件的部分分片,每个 源地址对应于至少一分片;
第一确定模块502,被配置为确定通过每个源地址下载相应分片时的表征 下载速率;
第一选择模块503,被配置为根据所述多个源地址的表征下载速率从所述 多个源地址中选择至少一目标源地址;其中,所述任一目标源地址的表征下 载速率大于所述多个源地址中除所述目标源地址之外的其它源地址的表征下 载速率;
分配模块504,被配置为多个下载线程分配所述目标源地址;
第二下载模块505,被配置为使用所述多个下载线程从所述目标源地址下 载所述文件中除所述部分分片之外的剩余分片。
本公开实施例中提供一种分片下载装置,此装置包括图5所示的方法, 并且:
所述第一确定模块502,还被配置为使用以下方法中一种确定通过每个源 地址下载相应分片时的表征下载速率:
根据从每个源地址所下载的相应分片的容量和下载时长计算平均下载速 率,将所述平均下载速率作为表征下载速率;
确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所述多 个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高瞬时 下载速率作为表征下载速率。
本公开实施例中提供一种分片下载装置,此装置包括图5所示的方法, 并且:
所述第一选择模块503包括:
第一排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第二选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是 大于1的正整数;
计算模块,被配置为计算所述N个表征下载速率的平均速率;
第三选择模块,被配置为从所述N个表征下载速率中选择K个表征下载 速率,K是大于或等于1并且小于或等于N的正整数,所述K个表征下载速 率中不包括小于所述平均速率并且与所述平均速率的差值大于设定值的表征 下载速率;
第二确定模块,被配置为确定所述K个表征下载速率所对应的K个源地 址均为目标源地址;
所述分配模块,还被配置使用以下方法为多个下载线程分配所述目标源 地址:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源 地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址, 为多个下载线程中至少两个下载线程分配同一目标源地址。
本公开实施例中提供一种分片下载装置,此装置包括图5所示的方法, 并且:
所述第一选择模块503包括:
第二排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第四选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是 大于1的正整数;
第三确定模块,被配置为确定选择出的所述N个表征下载速率所对应的N 个源地址均为目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标 源地址:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目 标源地址不同。
本公开实施例中提供一种分片下载装置,此装置包括图5所示的方法, 并且:
所述第一选择模块503包括:
第三排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第五选择模块,被配置为从所述排序中表征下载速度最大的一端选择连 续的K个表征下载速率,所述K是大于或等于1并且小于为所述文件分配的 下载线程的个数;
第四确定模块,被配置为确定选择出的所述K个表征下载速率所对应的K 个目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标 源地址:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下 载线程分配同一源地址。
本公开实施例提供一种分片下载装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器中的可执行指令以实现所述 方法的步骤。
本公开实施例提供一种非临时性计算机可读存储介质,其上存储有可执 行指令,该可执行指令被处理器执行时实现所述方法的步骤。
图6是根据一示例性实施例示出的一种用于分片下载的装置600的框图。 例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备, 游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储 器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O) 的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫, 数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个 或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外, 处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间 的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608 和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这 些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联 系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型 的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器 (SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储 器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器, 快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括 电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电 力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的 屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。 如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入 信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上 的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测 与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组 件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如 拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体 数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有 焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包 括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和 语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可 以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中, 音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围 接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按 钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面 的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态, 组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件 614还可以检测装置600或装置600一个组件的位置改变,用户与装置600 接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传 感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检 测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD 图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614 还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传 感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的 通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或 它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自 外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所 述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在 NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽 带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路 (ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻 辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器 或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储 介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执 行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、 随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有 关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本 公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性 变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公 开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被 视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确 结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所 附的权利要求来限制。

Claims (12)

1.一种分片下载方法,其特征在于,包括:
从多个源地址下载一文件的部分分片,每个源地址对应于至少一分片;
确定通过每个源地址下载相应分片时的表征下载速率;
根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址;其中,所述任一目标源地址的表征下载速率大于所述多个源地址中除所述目标源地址之外的其它源地址的表征下载速率;
为多个下载线程分配所述目标源地址;
所述多个下载线程从所述目标源地址下载所述文件中除所述部分分片之外的剩余分片。
2.如权利要求1所述的方法,其特征在于,
所述确定通过每个源地址下载相应分片时的表征下载速率,包括以下中的一种:
根据从每个源地址所下载的相应分片的容量和下载时长计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所述多个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高瞬时下载速率作为表征下载速率。
3.如权利要求1所述的方法,其特征在于,
所述根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整数;
计算所述N个表征下载速率的平均速率,从所述N个表征下载速率中选择K个表征下载速率,K是大于或等于1并且小于或等于N的正整数,所述K个表征下载速率中不包括小于所述平均速率并且与所述平均速率的差值大于设定值的表征下载速率;确定所述K个表征下载速率所对应的K个源地址均为目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址,为多个下载线程中至少两个下载线程分配同一目标源地址。
4.如权利要求1所述的方法,其特征在于,
所述根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整数;确定选择出的所述N个表征下载速率所对应的N个源地址均为目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目标源地址不同。
5.如权利要求1所述的方法,其特征在于,
所述根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址,包括:
对所述多个源地址的表征下载速率进行排序,从所述排序中表征下载速度最大的一端选择连续的K个表征下载速率,所述K是大于或等于1并且小于为所述文件分配的下载线程的个数;确定选择出的所述K个表征下载速率所对应的K个目标源地址;
所述为多个下载线程分配所述目标源地址,包括:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下载线程分配同一源地址。
6.一种分片下载装置,其特征在于,包括:
第一下载模块,被配置为从多个源地址下载一文件的部分分片,每个源地址对应于至少一分片;
第一确定模块,被配置为确定通过每个源地址下载相应分片时的表征下载速率;
第一选择模块,被配置为根据所述多个源地址的表征下载速率从所述多个源地址中选择至少一目标源地址;其中,所述任一目标源地址的表征下载速率大于所述多个源地址中除所述目标源地址之外的其它源地址的表征下载速率;
分配模块,被配置为多个下载线程分配所述目标源地址;
第二下载模块,被配置为使用所述多个下载线程从所述目标源地址下载所述文件中除所述部分分片之外的剩余分片。
7.如权利要求6所述的装置,其特征在于,
所述第一确定模块,还被配置为使用以下方法中一种确定通过每个源地址下载相应分片时的表征下载速率:
根据从每个源地址所下载的相应分片的容量和下载时长计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址在下载相应分片时的多个瞬时下载速率,根据所述多个瞬时下载速率计算平均下载速率,将所述平均下载速率作为表征下载速率;
确定从每个源地址下载相应分片时的最高瞬时下载速率,将所述高瞬时下载速率作为表征下载速率。
8.如权利要求6所述的装置,其特征在于,
所述第一选择模块包括:
第一排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第二选择模块,被配置为从所述排序中表征下载速度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整数;
计算模块,被配置为计算所述N个表征下载速率的平均速率;
第三选择模块,被配置为从所述N个表征下载速率中选择K个表征下载速率,K是大于或等于1并且小于或等于N的正整数,所述K个表征下载速率中不包括小于所述平均速率并且与所述平均速率的差值大于设定值的表征下载速率;
第二确定模块,被配置为确定所述K个表征下载速率所对应的K个源地址均为目标源地址;
所述分配模块,还被配置使用以下方法为多个下载线程分配所述目标源地址:
所述K的值与所述N的值相同时,为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目标源地址不同;
所述K的值小于所述N的值时,为所述多个下载线程分配K个源地址,为多个下载线程中至少两个下载线程分配同一目标源地址。
9.如权利要求6所述的装置,其特征在于,
所述第一选择模块包括:
第二排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第四选择模块,被配置为从所述排序中表征下载速度最大的一端选择连续的N个表征下载速率,所述N是为所述文件分配的下载线程的个数,N是大于1的正整数;
第三确定模块,被配置为确定选择出的所述N个表征下载速率所对应的N个源地址均为目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标源地址:
为所述每个下载线程分配一个目标源地址,不同的下载线程所分配的目标源地址不同。
10.如权利要求6所述的装置,其特征在于,
所述第一选择模块包括:
第三排序模块,被配置为对所述多个源地址的表征下载速率进行排序;
第五选择模块,被配置为从所述排序中表征下载速度最大的一端选择连续的K个表征下载速率,所述K是大于或等于1并且小于为所述文件分配的下载线程的个数;
第四确定模块,被配置为确定选择出的所述K个表征下载速率所对应的K个目标源地址;
所述分配模块,还被配置为使用以下方法为多个下载线程分配所述目标源地址:
为所述多个下载线程分配所述K个源地址,多个下载线程中至少两个下载线程分配同一源地址。
11.一种分片下载装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器中的可执行指令以实现权利要求1至5中任一项所述方法的步骤。
12.一种非临时性计算机可读存储介质,其上存储有可执行指令,其特征在于,该可执行指令被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
CN202011361904.9A 2020-11-27 2020-11-27 一种分片下载方法、装置及介质 Active CN112383638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011361904.9A CN112383638B (zh) 2020-11-27 2020-11-27 一种分片下载方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011361904.9A CN112383638B (zh) 2020-11-27 2020-11-27 一种分片下载方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112383638A true CN112383638A (zh) 2021-02-19
CN112383638B CN112383638B (zh) 2023-12-05

Family

ID=74588558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011361904.9A Active CN112383638B (zh) 2020-11-27 2020-11-27 一种分片下载方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112383638B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319681A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Dynamic Throttling Based on Network Conditions
CN102710630A (zh) * 2012-05-29 2012-10-03 新华网股份有限公司 一种多线程分片的云上传下载方法及系统
CN103607638A (zh) * 2013-11-20 2014-02-26 深圳Tcl新技术有限公司 网络媒体播放方法、智能显示终端及系统
US20140195503A1 (en) * 2013-01-08 2014-07-10 Compal Electronics, Inc. Method and system for managing cache files
CN104283955A (zh) * 2014-09-30 2015-01-14 百度在线网络技术(北京)有限公司 一种浏览器、服务器、下载系统及下载方法
CN104915227A (zh) * 2015-05-25 2015-09-16 努比亚技术有限公司 一种多源多线程的软件升级方法及系统
WO2017071604A1 (zh) * 2015-10-28 2017-05-04 中兴通讯股份有限公司 一种播放方法、装置及存储介质
WO2017084313A1 (zh) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 文件下载方法、装置和电子设备
CN108076117A (zh) * 2016-11-14 2018-05-25 腾讯科技(深圳)有限公司 一种数据下载方法及用户终端
CN111859218A (zh) * 2020-07-21 2020-10-30 广州华多网络科技有限公司 数据下载方法、装置、计算机设备和计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319681A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Dynamic Throttling Based on Network Conditions
CN102710630A (zh) * 2012-05-29 2012-10-03 新华网股份有限公司 一种多线程分片的云上传下载方法及系统
US20140195503A1 (en) * 2013-01-08 2014-07-10 Compal Electronics, Inc. Method and system for managing cache files
CN103607638A (zh) * 2013-11-20 2014-02-26 深圳Tcl新技术有限公司 网络媒体播放方法、智能显示终端及系统
CN104283955A (zh) * 2014-09-30 2015-01-14 百度在线网络技术(北京)有限公司 一种浏览器、服务器、下载系统及下载方法
CN104915227A (zh) * 2015-05-25 2015-09-16 努比亚技术有限公司 一种多源多线程的软件升级方法及系统
WO2017071604A1 (zh) * 2015-10-28 2017-05-04 中兴通讯股份有限公司 一种播放方法、装置及存储介质
WO2017084313A1 (zh) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 文件下载方法、装置和电子设备
CN108076117A (zh) * 2016-11-14 2018-05-25 腾讯科技(深圳)有限公司 一种数据下载方法及用户终端
CN111859218A (zh) * 2020-07-21 2020-10-30 广州华多网络科技有限公司 数据下载方法、装置、计算机设备和计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EXPWAY: "S6-190671 "MCData File Distribution using the MBMS download delivery method"", 3GPP TSG_SA\\WG6_MISSIONCRITICAL, no. 6 *
涂大喜;蒋宇浩;徐成;余林琛: "动态自适应的HTTP流码率渐进切换算法", 计算机应用 *

Also Published As

Publication number Publication date
CN112383638B (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
JP6423872B2 (ja) ビデオ分類方法および装置
CN107133352B (zh) 照片显示方法及装置
CN106919629B (zh) 在群聊中实现信息筛选的方法及装置
CN106231152B (zh) 传输图片的方法及装置
CN112291631A (zh) 信息获取方法、装置、终端及存储介质
CN107402767B (zh) 显示推送消息的方法和装置
CN112270561A (zh) 电子资源发放方法、装置、电子设备及存储介质
CN112308864A (zh) 一种图像处理方法、装置、电子设备及存储介质
CN113596175A (zh) 场景同步方法、终端、服务器及系统
CN110166564B (zh) 信息通信方法、终端及存储介质
CN110636318A (zh) 消息显示方法、装置、客户端设备、服务器及存储介质
CN112286683A (zh) 一种分片下载方法、装置及介质
CN105095296B (zh) 文件管理方法及装置
CN106357558B (zh) 带宽分配方法及装置
CN113691872A (zh) 直播任务分配方法、装置、电子设备及存储介质
CN110913276B (zh) 数据处理的方法、装置、服务器、终端及存储介质
CN106447747B (zh) 图像处理方法及装置
CN108446178A (zh) 优化卡顿的方法及装置
CN105260088B (zh) 信息分类展示处理的方法及装置
CN108886461B (zh) 数据传输方法及装置
CN112383638B (zh) 一种分片下载方法、装置及介质
CN110908814A (zh) 消息处理方法、装置、电子设备及存储介质
WO2019205105A1 (zh) 数据的加扰的初始化序列的确定方法和数据解扰方法
CN106851418B (zh) 视频推荐方法及装置
CN114268802A (zh) 虚拟空间展示方法、装置、电子设备及存储介质

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