CN103631569B - 下载方法和装置 - Google Patents

下载方法和装置 Download PDF

Info

Publication number
CN103631569B
CN103631569B CN201310718106.0A CN201310718106A CN103631569B CN 103631569 B CN103631569 B CN 103631569B CN 201310718106 A CN201310718106 A CN 201310718106A CN 103631569 B CN103631569 B CN 103631569B
Authority
CN
China
Prior art keywords
download
block
thread
downloaded
download thread
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
Application number
CN201310718106.0A
Other languages
English (en)
Other versions
CN103631569A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310718106.0A priority Critical patent/CN103631569B/zh
Publication of CN103631569A publication Critical patent/CN103631569A/zh
Application granted granted Critical
Publication of CN103631569B publication Critical patent/CN103631569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提出一种下载方法和装置,其中,所述方法包括以下步骤:根据待下载文件的信息建立多个下载线程;以及在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载。本发明实施例的下载方法,可在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,避免了一个或多个下载线程响应速度缓慢的影响,使下载更加顺畅,提升用户下载体验。

Description

下载方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种下载方法和装置。
背景技术
随着互联网行业的日益进步,下载技术不断发展,用户可通过互联网下载丰富的资源。为了提升下载速度,目前主要采用多线程下载。在多线程下载的过程中,如果服务器对某一下载线程的响应过慢,会影响整个下载任务的响应速度。例如,如果这个下载线程的响应中断,而下载任务的其他下载线程已经完成,则整个下载任务会阻塞在该中断的下载线程上,直到这个下载线程的响应恢复,并且完成该下载线程的任务时,整个下载任务才能完成。因此,现有的下载技术中,会因某一个或多个下载线程的响应速度缓慢的影响,容易出现下载缓慢、下载阻塞等问题,严重影响用户的下载体验。
发明内容
本发明旨在至少在一定程度上解决上述技术问题。
为此,本发明的第一个目的在于提出一种下载方法。该方法可为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,减小了个别线程响应速度缓慢的影响,使下载速度更快、更顺畅,提高用户的下载体验。
本发明的第二个目的在于提出一种下载装置。
为达上述目的,根据本发明第一方面实施例提出了一种下载方法,包括以下步骤:根据待下载文件的信息建立多个下载线程;以及在所述多个下载线程中的一个下载线程完成下载任务之后,为所述已完成下载任务的下载线程建立新下载任务以协助所述多个下载线程中的其他下载线程进行下载。
本发明实施例的下载方法,根据待下载文件的信息建立多个下载线程,在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,减小了个别线程响应速度缓慢的影响,使下载速度更快、更顺畅,提高用户的下载体验。
本发明第二方面实施例提供了一种下载装置,包括:下载线程建立模块,用于根据待下载文件的信息建立多个下载线程;以及协助下载模块,用于在所述多个下载线程中的一个下载线程完成下载任务之后,为所述已完成下载任务的下载线程建立新下载任务以协助所述多个下载线程中的其他下载线程进行下载。
本发明实施例的下载装置,根据待下载文件的信息建立多个下载线程,在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,减小了个别线程响应速度缓慢的影响,使下载速度更快、更顺畅,提高用户的下载体验。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的下载方法的流程图;
图2为根据本发明另一个实施例的下载方法的流程图;
图3为根据本发明一个具体实施例根据待协助下载线程的未下载内容建立已完成下载任务的下载线程的新下载任务的流程图;
图4为根据本发明一个实施例的下载装置的结构示意图;
图5为根据本发明另一个实施例的下载装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面参考附图描述根据本发明实施例的下载方法和装置。
在现有下载技术中,因某一个或多个下载线程的响应速度缓慢的影响,会出现的下载缓慢、下载阻塞等现象,从而影响用户的下载体验。为此,本发明提出一种下载方法,包括以下步骤:根据待下载文件的信息建立多个下载线程;以及在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载。该方法能够有效解决上述问题,有效提高下载速度。
图1为根据本发明一个实施例的下载方法的流程图。如图1所示,该下载方法包括以下步骤。
S101,根据待下载文件的信息建立多个下载线程。
在本发明的实施例中,待下载文件的信息为能够标识待下载文件的信息,以便于下载线程明确下载目标,可包括待下载文件的大小、文件头、文件名等信息。为了提高下载速度,可根据上述待下载文件的信息建立多个下载线程对具有与待下载文件的信息的文件进行下载。
S102,在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载。
在本发明的一个实施例中,由于受到不同资源服务器的网络环境、资源属性等因素的影响,每个下载线程的下载速度可能不同。当下载速度较快的下载线程完成任务之后,可根据其他下载线程的下载进度、下载速度等情况为该下载线程建立新下载任务以协助其他下载线程进行下载。从而,可避免一个或多个下载线程响应速度缓慢的影响。
本发明实施例的下载方法,通过对待下载文件建立多个下载线程,在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,避免了一个或多个下载线程响应速度缓慢的影响,使下载更加顺畅,提升用户下载体验。
图2为根据本发明另一个实施例的下载方法的流程图。在本实施例中,通过对待下载文件进行分块,结合普通下载快和加速下载块对文件进行下载,有效地防止了个别连接响应过慢、导致线程阻塞的问题,提高了下载速度以及下载的流畅性,提升用户下载体验。如图2所示,该下载方法包括以下步骤。
S201,采用分块算法将待下载文件分为多个普通下载块,并根据多个普通下载块建立分别对应的多个下载线程。
在本发明的实施例中,普通下载块是指为某个下载内容第一次建立的下载块。具体地,在下载开始时,下载装置可采用分块算法将文件分为多个下载块,下载块的个数不超过预设阈值,其中,每个下载块为一个普通下载块,预设阈值可为默认数值或由用户设定,以限制下载的线程数量。在本发明的实施例中,分块算法可为二分法,也可为其他的算法,本发明对此不做具体限定。
S202,通过多个下载线程建立多个下载连接,以分别根据多个普通下载块进行下载。
在本发明的实施例中,可通过多个下载线程建立与相应资源服务器相连的多个下载连接,每个下载连接分别对应一个普通下载块,每个普通下载块对应一个下载连接,从而可分别根据多个普通下载块进行下载。
S203,在多个下载线程中的一个下载线程完成下载任务之后,获取其他下载线程中预计剩余下载时间最长的和/或未下载内容最多的下载线程,并将预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程。
在本发明的实施例中,将预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程,可由其他已完成下载任务的线程对其进行协助下载,使该未下载内容更快的下载完成。
S204,根据待协助下载线程的未下载内容建立已完成下载任务的下载线程的新下载任务。
在本发明的实施例中,可首先根据待协助下载线程的未下载内容的数据量大小确定新的下载任务的下载起点。当未下载内容的数据量较小时,可直接以未下载内容的起点为下载起点;当未下载内容的数据量较大时,可采用分块算法继续对未下载内容进行分块,并建立新的下载任务。具体地,可通过如图3所示的步骤根据待协助下载线程的未下载内容建立已完成下载任务的下载线程的新下载任务。
S301,判断待协助下载线程的未下载内容的数据量是否小于预设阈值。
S302,如果判断小于预设阈值,则根据未下载内容的起点建立加速下载块。
在本发明的实施例中,如果普通下载块中未下载的内容的数据量小于预设阈值(如:32K),则不再对未下载内容进行分块,可从未下载内容的起点建立加速下载块,并开始下载。在本发明的实施例中,如果有多个已完成下载任务的下载线程,则这多个下载线程可根据未下载内容分别建立加速下载块,以同时对未下载内容进行下载。
S303,将待协助下载线程的普通下载块标记为主下载块,并建立主下载块与加速下载块之间的关联关系。
在本发明的实施例中,加速下载块是已完成下载任务的下载线程根据普通下载块中未下载内容建立的下载块。多个已完成下载任务的下载线程可根据同一未下载内容分别建立加速下载块,以对未下载内容同时进行下载,提高下载速度。由此,根据该普通下载块标记的主下载块可与多个加速下载块相关联。
S304,如果判断大于预设阈值,则利用分块算法根据未下载内容为已完成下载任务的下载线程建立新的普通下载块。
在本发明的实施例中,如果普通下载块中未下载的内容大于预设阈值(如32K),则可利用分块算法根据未下载内容为已完成下载任务的下载线程建立新的普通下载块。以二分法为例,可将未下载内容的中点之后的一半内容作为新的普通下载块,并根据该新的普通下载块开始下载,以避免与之前的普通下载块的下载内容重合。
S305,如果已完成下载任务的下载线程的下载块为普通下载块,则根据关联关系停止普通下载块作为主下载块时所对应的加速下载块。
在本发明的实施例中,如果已完成下载任务的下载线程的下载块为普通下载块,为了避免下载内容重合,则停止该普通下载块作为主下载块时所对应的加速下载块,以完成下载。判断下载块是否为普通下载块还是加速下载块,可根据预设阈值判断。
S306,如果已完成下载任务的下载线程对应下载块为加速下载块,则根据关联关系将加速下载块的下载结果合并至加速下载块对应的主下载块。
在本发明的实施例中,如果已完成下载任务的下载线程对应下载块为加速下载块,则将多个加速下载块对应的下载内容合并至对应的主下载块。
S307,在将加速下载块的下载结果合并至加速下载块对应的主下载块之后,停止该主下载块所对应的其他加速下载块。
在本发明的实施例中,在主下载块对应的多个加速下载块中,如果其中一个加速下载块完成下载,则可停止其他的加速下载块的下载。
本发明实施例的下载方法,通过对待下载文件进行分块,结合普通下载快和加速下载块对文件进行下载,有效地防止了个别连接响应过慢、导致线程阻塞的问题,提高了下载速度以及下载的流畅性,提升用户下载体验。
为了实现上述实施例,本发明还提出一种下载装置。
图4为根据本发明一个实施例的下载装置的结构示意图。
具体地,如图4所示,根据本发明实施例的下载装置,包括:下载线程建立模块100和协助下载模块200。
下载线程建立模块100用于根据待下载文件的信息建立多个下载线程。
在本发明的实施例中,待下载文件的信息为能够标识待下载文件的信息,以便于下载线程明确下载目标,可包括待下载文件的大小、文件头、文件名等信息。为了提高下载速度,下载线程建立模块100可根据上述待下载文件的信息建立多个下载线程对具有与待下载文件的信息的文件进行下载。
协助下载模块200用于在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载。
在本发明的一个实施例中,由于受到不同资源服务器的网络环境、资源属性等因素的影响,每个下载线程的下载速度可能不同。当下载速度较快的下载线程完成任务之后,协助下载模块200可根据其他下载线程的下载进度、下载速度等情况为该下载线程建立新下载任务以协助其他下载线程进行下载。从而,可避免一个或多个下载线程响应速度缓慢的影响。
本发明实施例的下载装置,通过对待下载文件建立多个下载线程,在多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助多个下载线程中的其他下载线程进行下载,避免了一个或多个下载线程响应速度缓慢的影响,使下载更加顺畅,提升用户下载体验。
图5为根据本发明另一个实施例的下载装置的结构示意图。
具体地,如图5所示,根据本发明实施例的下载装置,包括:下载线程建立模块100和协助下载模块200。其中,下载线程建立模块100进一步包括:划分单元110和第一下载单元120。协助下载模块200进一步包括:获取单元210和第二下载单元220。其中,第二下载单元220进一步包括:判断子单元221、第一下载子单元222、第二下载子单元223、关联子单元224和下载控制子单元225。
划分单元110用于采用分块算法将待下载文件分为多个普通下载块,并根据多个普通下载块建立分别对应的多个下载线程。
在本发明的实施例中,普通下载块是指为某个下载内容第一次建立的下载块。具体地,在下载开始时,下载装置可采用分块算法将文件分为多个下载块,下载块的个数不超过预设阈值,其中,每个下载块为一个普通下载块,预设阈值可为默认数值或由用户设定,以限制下载的线程数量。在本发明的实施例中,分块算法可为二分法,也可为其他的算法,本发明对此不做具体限定。
第一下载单元120用于通过多个下载线程建立多个下载连接,以分别根据多个普通下载块进行下载。
在本发明的实施例中,第一下载单元120可通过多个下载线程建立与相应资源服务器相连的多个下载连接,每个下载连接分别对应一个普通下载块,每个普通下载块对应一个下载连接,从而可分别根据多个普通下载块进行下载。
获取单元210用于获取其他下载线程中预计剩余下载时间最长的和/或未下载内容最多的下载线程,并将预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程。
在本发明的实施例中,获取单元210将预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程,可由其他已完成下载任务的线程对其进行协助下载,使该未下载内容更快的下载完成。
第二下载单元220用于根据待协助下载线程的未下载内容建立已完成下载任务的下载线程的新下载任务。
在本发明的实施例中,第二下载单元220可首先根据待协助下载线程的未下载内容的数据量大小确定新的下载任务的下载起点。当未下载内容的数据量较小时,可直接以未下载内容的起点为下载起点;当未下载内容的数据量较大时,可采用分块算法继续对未下载内容进行分块,并建立新的下载任务。
具体地,第二下载单元220进一步包括:判断子单元221、第一下载子单元222、第二下载子单元223、关联子单元224和下载控制子单元225。
判断子单元221用于判断待协助下载线程的未下载内容的数据量是否小于预设阈值。
第一下载子单元222用于在判断单元判断小于预设阈值时,根据未下载内容的起点建立加速下载块。
在本发明的实施例中,如果普通下载块中未下载的内容的数据量小于预设阈值(如32K),则不再对未下载内容进行分块,第一下载子单元222可从未下载内容的起点建立加速下载块,并开始下载。在本发明的实施例中,如果有多个已完成下载任务的下载线程,则这多个下载线程可根据未下载内容分别建立加速下载块,以同时对未下载内容进行下载。
第二下载子单元223用于在判断大于预设阈值时,利用分块算法根据未下载内容为已完成下载任务的下载线程建立新的普通下载块。
在本发明的实施例中,如果普通下载块中未下载的内容大于预设阈值(如32K),则可利用分块算法根据未下载内容为已完成下载任务的下载线程建立新的普通下载块。以二分法为例,第二下载子单元223可将未下载内容的中点之后的一半内容作为新的普通下载块,并根据该新的普通下载块开始下载,以避免与之前的普通下载块的下载内容重合。
关联子单元224用于将待协助下载线程的普通下载块标记为主下载块,并建立主下载块与加速下载块之间的关联关系。
在本发明的实施例中,加速下载块是已完成下载任务的下载线程根据普通下载块中未下载内容建立的下载块。多个已完成下载任务的下载线程可根据同一未下载内容分别建立加速下载块,以对未下载内容同时进行下载,提高下载速度。由此,关联子单元224根据该普通下载块标记的主下载块可与多个加速下载块相关联。
下载控制子单元225用于在已完成下载任务的下载线程的下载块为普通下载块时,根据关联关系停止普通下载块作为主下载块时所对应的加速下载块,以及在已完成下载任务的下载线程对应下载块为加速下载块时,根据关联关系将加速下载块的下载结果合并至加速下载块对应的主下载块。
在本发明的实施例中,如果已完成下载任务的下载线程的下载块为普通下载块,为了避免下载内容重合,则停止该普通下载块作为主下载块时所对应的加速下载块,以完成下载。判断下载块是否为普通下载块还是加速下载块,可根据预设阈值判断。如果已完成下载任务的下载线程对应下载块为加速下载块,则将多个加速下载块对应的下载内容合并至对应的主下载块。
在本发明的实施例中,下载控制子单元225还用于在根据关联关系将加速下载块的下载结果合并至加速下载块对应的主下载块之后,停止主下载块所对应的加速下载块。
在本发明的实施例中,在主下载块对应的多个加速下载块中,如果其中一个加速下载块完成下载,则可停止其他的加速下载块的下载。
本发明实施例的下载方法,通过对待下载文件进行分块,结合普通下载快和加速下载块对文件进行下载,有效地防止了个别连接响应过慢、导致线程阻塞的问题,提高了下载速度以及下载的流畅性,提升用户下载体验。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

Claims (12)

1.一种下载方法,其特征在于,包括以下步骤:
根据待下载文件的信息建立多个下载线程;以及
在所述多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助所述多个下载线程中的其他下载线程进行下载;
其中,所述根据待下载文件的信息建立多个下载线程进一步包括:
采用分块算法将所述待下载文件分为多个普通下载块,并根据所述多个普通下载块建立分别对应的多个下载线程;以及
通过所述多个下载线程建立多个下载连接,以分别根据所述多个普通下载块进行下载。
2.如权利要求1所述的方法,其特征在于,所述为已完成下载任务的下载线程建立新下载任务进一步包括:
获取所述其他下载线程中预计剩余下载时间最长的和/或未下载内容最多的下载线程,并将所述预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程;以及
根据所述待协助下载线程的未下载内容建立所述已完成下载任务的下载线程的所述新下载任务。
3.如权利要求2所述的方法,其特征在于,所述根据所述待协助下载线程的未下载内容建立所述已完成下载任务的下载线程的所述新下载任务进一步包括:
判断所述待协助下载线程的未下载内容的数据量是否小于预设阈值;
如果判断小于所述预设阈值,则根据所述未下载内容的起点建立加速下载块;以及
如果判断大于所述预设阈值,则利用所述分块算法根据所述未下载内容为所述已完成下载任务的下载线程建立新的普通下载块。
4.如权利要求3所述的方法,其特征在于,在所述根据所述未下载内容的起点建立加速下载块之后,还包括:
将所述待协助下载线程的普通下载块标记为主下载块,并建立所述主下载块与所述加速下载块之间的关联关系。
5.如权利要求4所述的方法,其特征在于,在所述一个下载线程完成下载任务之后,还包括:
如果所述已完成下载任务的下载线程的下载块为普通下载块,则根据所述关联关系停止所述待协助下载线程的普通下载块作为主下载块时所对应的加速下载块;以及
如果所述已完成下载任务的下载线程对应下载块为加速下载块,则根据所述关联关系将所述已完成下载任务的下载线程的加速下载块的下载结果合并至所述已完成下载任务的下载线程的加速下载块所对应的主下载块。
6.如权利要求5所述的方法,其特征在于,在所述根据所述关联关系将所述已完成下载任务的下载线程的加速下载块的下载结果合并至所述已完成下载任务的下载线程的加速下载块所对应的主下载块之后,还包括:
停止所述待协助下载线程的主下载块所对应的加速下载块。
7.一种下载装置,其特征在于,包括:
下载线程建立模块,用于根据待下载文件的信息建立多个下载线程;以及
协助下载模块,用于在所述多个下载线程中的一个下载线程完成下载任务之后,为已完成下载任务的下载线程建立新下载任务以协助所述多个下载线程中的其他下载线程进行下载;
所述下载线程建立模块进一步包括:
划分单元,用于采用分块算法将所述待下载文件分为多个普通下载块,并根据所述多个普通下载块建立分别对应的多个下载线程;以及
第一下载单元,用于通过所述多个下载线程建立多个下载连接,以分别根据所述多个普通下载块进行下载。
8.如权利要求7所述的装置,其特征在于,所述协助下载模块进一步包括:
获取单元,用于获取所述其他下载线程中预计剩余下载时间最长的和/或未下载内容最多的下载线程,并将所述预计剩余下载时间最长的和/或未下载内容最多的下载线程作为待协助下载线程;以及
第二下载单元,用于根据所述待协助下载线程的未下载内容建立所述已完成下载任务的下载线程的所述新下载任务。
9.如权利要求8所述的装置,其特征在于,所述第二下载单元进一步包括:
判断子单元,用于判断所述待协助下载线程的未下载内容的数据量是否小于预设阈值;
第一下载子单元,用于在所述判断子单元判断小于所述预设阈值时,根据所述未下载内容的起点建立加速下载块;以及
第二下载子单元,用于在判断大于所述预设阈值时,利用所述分块算法根据所述未下载内容为所述已完成下载任务的下载线程建立新的普通下载块。
10.如权利要求9所述的装置,其特征在于,所述第二下载单元还包括:
关联子单元,用于将所述待协助下载线程的普通下载块标记为主下载块,并建立所述主下载块与所述加速下载块之间的关联关系。
11.如权利要求10所述的装置,其特征在于,所述第二下载单元还包括:
下载控制子单元,用于在所述已完成下载任务的下载线程的下载块为普通下载块时,根据所述关联关系停止所述待协助下载线程的普通下载块作为主下载块时所对应的加速下载块,以及在所述已完成下载任务的下载线程对应下载块为加速下载块时,根据所述关联关系将所述已完成下载任务的下载线程的加速下载块的下载结果合并至所述已完成下载任务的下载线程的加速下载块所对应的主下载块。
12.如权利要求11所述的装置,其特征在于,所述下载控制子单元还用于在所述根据所述关联关系将所述已完成下载任务的下载线程的加速下载块的下载结果合并至所述已完成下载任务的下载线程的加速下载块所对应的主下载块之后,停止所述待协助下载线程的主下载块所对应的加速下载块。
CN201310718106.0A 2013-12-23 2013-12-23 下载方法和装置 Active CN103631569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310718106.0A CN103631569B (zh) 2013-12-23 2013-12-23 下载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310718106.0A CN103631569B (zh) 2013-12-23 2013-12-23 下载方法和装置

Publications (2)

Publication Number Publication Date
CN103631569A CN103631569A (zh) 2014-03-12
CN103631569B true CN103631569B (zh) 2016-07-27

Family

ID=50212670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310718106.0A Active CN103631569B (zh) 2013-12-23 2013-12-23 下载方法和装置

Country Status (1)

Country Link
CN (1) CN103631569B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446794A (zh) * 2014-09-30 2016-03-30 北京金山云网络技术有限公司 一种基于虚拟机的磁盘操作方法、装置及系统
CN105635217B (zh) * 2014-11-03 2019-07-26 广州市动景计算机科技有限公司 文件下载的方法及装置
CN106027582A (zh) * 2015-09-16 2016-10-12 展视网(北京)科技有限公司 一种内容相关的并行下载方法和装置
CN106961454B (zh) * 2016-01-08 2021-01-05 阿里巴巴(中国)有限公司 文件下载方法、装置及终端设备
CN106550042B (zh) * 2016-11-23 2019-08-23 广州优视网络科技有限公司 多线程下载方法和装置及计算设备
CN106528245B (zh) * 2016-11-25 2019-11-01 广州优视网络科技有限公司 多线程下载方法和装置及计算设备
CN115150383B (zh) * 2021-03-31 2023-07-07 华为技术有限公司 文件发送方法、设备及计算机可读存储介质
CN113766022B (zh) * 2021-09-03 2024-05-14 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质
CN113891170B (zh) * 2021-11-23 2024-05-03 维沃移动通信有限公司 下载方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327415A (zh) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 一种加速网络视频下载的方法和装置
CN103391454A (zh) * 2013-07-12 2013-11-13 三星电子(中国)研发中心 一种多线程下载方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226525B (zh) * 2007-01-19 2012-02-15 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327415A (zh) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 一种加速网络视频下载的方法和装置
CN103391454A (zh) * 2013-07-12 2013-11-13 三星电子(中国)研发中心 一种多线程下载方法和装置

Also Published As

Publication number Publication date
CN103631569A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN103631569B (zh) 下载方法和装置
JP6811755B2 (ja) 読話による音声ウェイクアップ方法、装置、設備及びコンピュータ可読媒体、プログラム
US7930162B1 (en) Accelerating hardware co-simulation using dynamic replay on first-in-first-out-driven command processor
US20170052818A1 (en) Method and device for generating configuration information of dynamic reconfigurable processor
CN109358887B (zh) 一种单片机程序的在线升级方法、装置及系统
CN110493342B (zh) 文件传输方法、装置、电子设备及可读存储介质
CN104778066B (zh) 一种嵌入式操作系统的快速启动方法及其装置
CN111292729B (zh) 音频数据流的处理方法和装置
US10409598B2 (en) Handling unaligned load operations in a multi-slice computer processor
JP2009037271A (ja) 仮想計算機システムの停止方法および計算機装置
CN109992287A (zh) 一种固件升级方法、系统、设备及介质
CN102074221B (zh) 一种字符显示方法及装置
US9798667B2 (en) Streaming stress testing of cache memory
CN103207827B (zh) 基于Linux系统下检测IO热点的方法与装置
CN106027582A (zh) 一种内容相关的并行下载方法和装置
CN105787053A (zh) 应用的推送方法及终端
US20190286544A1 (en) Method, device and server for checking a defective function
CN110704226A (zh) 数据校验方法、装置及存储介质
WO2018045835A1 (zh) 一种终端声音修复方法、装置及电子设备
CN113051071A (zh) 命令提交方法和装置、命令读取方法和装置、电子设备
US8788449B2 (en) Interface for creating and editing boolean logic
CN102722506A (zh) 数据存储方法及设备
CN109375953A (zh) 一种操作系统启动方法及装置
CN105630466A (zh) 业务的控制方法及装置
US20230342181A1 (en) Validation of combined software/firmware updates

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant