多线程下载方法和装置制造方法及图纸

技术编号:15912758 阅读:278 留言:0更新日期:2017-08-01 23:23
本发明专利技术涉及一种多线程下载方法。所述方法包括以下步骤:接收下载指令,根据所述下载指令开启预设并发线程数量的线程对目标文件进行下载;在下载的过程中执行:增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。上述多线程下载方法,能够自动调整线程数量,充分利用带宽,且尽量减少系统资源消耗。此外还提供了一种多线程下载装置。

Multi thread downloading method and device

The invention relates to a multi-threaded downloading method. The method comprises the following steps: receiving the download instructions according to the instructions to download open default concurrent threads number of threads on the target file to download; perform in the download process: increase or decrease the number of threads, each thread is increased, if the increase after the download speed is greater than the thread threads increases before the download speed, continue increase or reduce the thread, thread; thread after each decrease, if the reduction after the download speed is greater than the reduced thread thread before the download speed, continue to reduce or increase the thread thread. The multi thread downloading method can automatically adjust the number of threads, make full use of the bandwidth, and minimize the consumption of system resources. In addition, a multi thread downloading device is also provided.

【技术实现步骤摘要】
多线程下载方法和装置
本专利技术涉及网络
,特别是涉及一种多线程下载方法和装置。
技术介绍
随着互联网技术的发展,人们可以从网络上通过下载来获取各种各样的资源。如果通过单线程下载,由于TCP窗口大小的限制,单线程下载很难充分利用网络带宽,下载速度不能得到充分的发挥。所以越来越多的下载工具和网站开始允许用户进行多线程下载。线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启多个下载通道。通过开启多线程下载,同时开启多个下载通道,能够提高带宽利用率,并提高下载速度。但是一般的多线程下载工具需要用户手动或系统自动设置并发线程数量,而且并发线程数量一旦确定,在整个文件下载过程中便不会发生变化。当并发线程数量过多,会导致每个线程分配的下载片段的过小,从而造成多余的系统开销,而且还会占满带宽,造成网络拥塞,导致数据延迟和丢失的可能性大大增加,使下载速度不增反减。当并发线程数量过少,又会导致不能充分利用带宽,从而会造成下载速度慢。而且网络环境经常是不稳定的,网络数据的传输速度并不能一直保持稳定,下载时,预先设置的并发线程数量,很难在充分利用带宽的同时,尽量减少系统资源开销。
技术实现思路
基于此,有必要提供一种多线程下载方法和装置,能够在充分利用网络带宽的同时,减少系统资源开销。一种多线程下载方法,包括:接收下载指令,根据下载指令开启预设并发线程数量的线程对目标文件进行下载;在下载的过程中执行:增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。在其中一个实施例中,在接收下载指令,根据下载指令开启预设数量的线程对目标文件进行下载之前,还包括:获取网络类型,根据网络类型设置对应的预设并发线程数量。在其中一个实施例中,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,经过预设时间开始比较增加线程后的下载速度与增加线程前的下载速度,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,经过预设时间开始比较减少线程后的下载速度与减少线程前的下载速度,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。在其中一个实施例中,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,且增加线程后的下载速度未超过预设下载速度阈值,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,且减少线程后的下载速度未超过预设下载速度阈值,则继续减少线程,否则增加线程。在其中一个实施例中,方法还包括:当所有线程的下载任务都已完成时,将所有文件片段组合成目标文件。一种多线程下载装置,包括:下载模块,用于接收下载指令,根据下载指令开启预设并发线程数量的线程对目标文件进行下载;线程控制模块,用于在下载过程中,增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少前的下载速度,则继续减少线程,否则增加线程。在其中一个实施例中,装置还包括:线程设置模块,用于在接收下载指令,根据下载指令开启预设数量的线程对目标文件进行下载之前,获取网络类型,根据网络类型设置对应的预设并发线程数量。在其中一个实施例中,线程控制模块用于在下载过程中,增加或减少线程,每次增加线程后,经过预设时间开始比较增加线程后的下载速度与增加线程前的下载速度,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;线程控制模块还用于每次减少线程后,经过预设时间开始比较减少线程后的下载速度与减少线程前的下载速度,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。在其中一个实施例中,线程控制模块还用于在下载过程中,增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,且增加线程后的下载速度未超过预设下载速度阈值,则继续增加线程,否则减少线程;线程控制模块还用于每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,且减少线程后的下载速度未超过预设下载速度阈值,则继续减少线程,否则增加线程。在其中一个实施例中,装置还包括:文件组合模块,用于当所有线程的下载任务都已完成时,将所有文件片段组合成目标文件。上述多线程下载方法和装置,在下载的过程中,通过动态调节并发线程数量,当增加并发线程数量能使下载速度加快时,继续增加并发线程数量,否则减少并发线程数量;当减少并发线程数量能使下载速度加快时,继续减少并发线程数量,否则增加并发线程数量,能够使下载速度一直保持最快,下载过程中能够一直充分利用带宽,且尽量减少系统资源开销。附图说明图1为一个实施例中多线程下载方法的流程图;图2为一个实施例中线程数量调控的流程图;图3为另一个实施例中线程数量调控的流程图;图4为一个实施例中多线程下载装置的模块图;图5为另一个实施例中多线程下载装置的模块图。具体实施方式为了使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施例作进一步的详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,在一个实施例中,提供了一种多线程下载方法。该方法具体包括如下步骤:步骤101,接收下载指令,根据下载指令开启预设并发线程数量的线程对目标文件进行下载。在本实施例中,当终端接收到下载指令后,首先会根据目标文件的大小在本地分配相应大小的空间用于存放目标文件,然后根据预设并发线程数量,将目标文件分成相应数量的多段,然后开启相应数量的线程分别对这些目标文件段进行下载,当所有线程的下载任务都完成了的时候,整个目标文件就全部被下载到本地中。步骤103,在下载的过程中执行:增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。在本实施例中,通过在下载过程中动态调节并发线程数量,使得开启最少数量的线程能够使下载速度保持最大,能够充分利用网络带宽,并且尽量减少系统资源的消耗。在一个实施例中,步骤103的具体流程如图2所示,包括以下步骤:步骤1031,增加线程。步骤1033,判断增加线程后的下载速度是否大于增加线程前的下载速度,若是,则返回步骤1031,若否,进入步骤1035。步骤1035,减少线程。步骤1037,判断减少线程后的下载速度是否大于减少线程前的下载速度,若是,则返回步骤1035,若否,则返回步骤1031。在本文档来自技高网...
多线程下载方法和装置

【技术保护点】
一种多线程下载方法,其特征在于,包括:接收下载指令,根据所述下载指令开启预设并发线程数量的线程对目标文件进行下载;在下载的过程中执行:增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。

【技术特征摘要】
1.一种多线程下载方法,其特征在于,包括:接收下载指令,根据所述下载指令开启预设并发线程数量的线程对目标文件进行下载;在下载的过程中执行:增加或减少线程,每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。2.根据权利要求1所述的方法,其特征在于,在所述接收下载指令,根据所述下载指令开启预设数量的线程对所述目标文件进行下载之前,还包括:获取网络类型,根据所述网络类型设置对应的预设并发线程数量。3.根据权利要求1所述的方法,其特征在于,所述每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,经过预设时间开始比较增加线程后的下载速度与增加线程前的下载速度,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;所述每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,经过预设时间开始比较减少线程后的下载速度与减少线程前的下载速度,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。4.根据权利要求1或3所述的方法,其特征在于,所述每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,且增加线程后的下载速度未超过预设下载速度阈值,则继续增加线程,否则减少线程;所述每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,且减少线程后的下载速度未超过预设下载速度阈值,则继续减少线程,否则增加线程。5.根据权利要求1所述...

【专利技术属性】
技术研发人员:万征
申请(专利权)人:深圳大宇无限科技有限公司
类型:发明
国别省市:广东,44

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

1