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.根据权利要求1所述的方法,其特征在于,在所述接收下载指令,根据所述下载指令开启预设数量的线程对所述目标文件进行下载之前,还包括:获取网络类型,根据所述网络类型设置对应的预设并发线程数量。3.根据权利要求1所述的方法,其特征在于,所述每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,经过预设时间开始比较增加线程后的下载速度与增加线程前的下载速度,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程;所述每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,经过预设时间开始比较减少线程后的下载速度与减少线程前的下载速度,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程。4.根据权利要求1或3所述的方法,其特征在于,所述每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,则继续增加线程,否则减少线程,包括:每次增加线程后,若增加线程后的下载速度大于增加线程前的下载速度,且增加线程后的下载速度未超过预设下载速度阈值,则继续增加线程,否则减少线程;所述每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,则继续减少线程,否则增加线程,包括:每次减少线程后,若减少线程后的下载速度大于减少线程前的下载速度,且减少线程后的下载速度未超过预设下载速度阈值,则继续减少线程,否则增加线程。5.根据权利要求1所述...
【专利技术属性】
技术研发人员:万征,
申请(专利权)人:深圳大宇无限科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。