CN103533032B - 带宽调节装置及方法 - Google Patents

带宽调节装置及方法 Download PDF

Info

Publication number
CN103533032B
CN103533032B CN201310451320.4A CN201310451320A CN103533032B CN 103533032 B CN103533032 B CN 103533032B CN 201310451320 A CN201310451320 A CN 201310451320A CN 103533032 B CN103533032 B CN 103533032B
Authority
CN
China
Prior art keywords
task
progress
work
bandwidth
queue
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
CN201310451320.4A
Other languages
English (en)
Other versions
CN103533032A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310451320.4A priority Critical patent/CN103533032B/zh
Publication of CN103533032A publication Critical patent/CN103533032A/zh
Application granted granted Critical
Publication of CN103533032B publication Critical patent/CN103533032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种带宽调节装置及方法,属于互联网技术领域。所述带宽调节装置包括定时器、任务调度器和工作进程队列,其中:所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务;所述定时器,适于定时通知所述任务调度器根据所述工作进程队列包括的工作进程所执行的下载任务来获取服务器的当前带宽;所述任务调度器,适于根据所述定时器的通知,获取所有正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽,并在确定服务器的当前带宽达到预设的带宽阈值时,通知所述工作进程队列中的工作进程对相应的下载任务进行限速。根据本发明,能够提高服务器的资源利用率。

Description

带宽调节装置及方法
技术领域
本发明涉及互联网领域,具体涉及一种带宽调节装置及方法。
背景技术
离线下载服务是指电脑用户不用开机上网,服务商的离线下载服务器先行下载目标文件,下载完成后,电脑用户再从服务器上将目标文件转下到电脑硬盘中,具有高速、不用挂机的优点而颇受欢迎。
离线下载服务理想情况下是为用户提供全速下载,即不限制资源的下载速度,能够达到多大速度就用多大的速度进行下载,此方案的问题是容易将机房的带宽跑满,导致此机房的所有服务都会受到影响。
解决上述问题的一种方案是计划式限速,通过限制最大并发任务数与单任务的最大速度来控制总带宽峰值不会超过最大值。根据该方案,在服务开始提供之前,就做好规模评估,推算出一个合理的速度阈值,在提供服务时,对每个用户使用评估好的速度阈值进行限速,控制带宽的峰值在可接受范围内。例如服务器的带宽峰值最大允许为1G(约为1000*1000k),离线下载服务器最多从任务队列中同时取出2000个任务,则每个任务的最大速度应为500k/s=1000*1000k/2000。该方案的缺点在于,资源无法达到最大利用率。例如一个任务的最大速度可以达到2M/s,并且同时没有其他任务,由于评估模型的限制,此任务只能以500k/s的速度进行下载。
解决上述问题的另一种方案是先入为主方案,通过动态控制任务数来控制带宽峰值。根据该方案,任务管理器定时查询一个状态值,如果状态值为可接受任务状态,则查看任务队列,如果有排队的任务,则取出执行。当任务执行时,让任务以可能的最大速度进行下载,例如2M/s,任务管理器会根据所有任务的速度,计算出当前带宽,当达到允许带宽峰值最大值的80%时,将服务器状态值标记为饱和状态,不接受新任务。当有任务完成时,再修改此状态为可接受任务状态。该方案的缺点在于,用户感受不统一,对于一部分用户可以给用户提供较好的下载速度,而对于另一部分用户则增加了其排队的时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的带宽调节装置及方法。
依据本发明的一个方面,提供了一种带宽调节装置,包括定时器、任务调度器和工作进程队列,其中:
所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务;
所述定时器,适于定时通知所述任务调度器根据所述工作进程队列包括的工作进程所执行的下载任务来获取服务器的当前带宽;
所述任务调度器,适于根据所述定时器的通知,获取所有正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽,并在确定服务器的当前带宽达到预设的带宽阈值时,通知所述工作进程队列中的工作进程对相应的下载任务进行限速。
可选地,所述任务调度器通知所述工作进程队列中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。
可选地,所述任务调度器还适于在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。
可选地,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。
可选地,所述带宽调节装置还包括等待任务队列,所述等待任务队列包括多个排队的下载任务条目;
所述任务调度器还适于在当前正在执行的下载任务的数目小于预设的任务并发数时,从所述等待任务队列中提取下载任务,将提取的下载任务交给工作进程队列中的工作进程进行处理。
可选地,所述任务调度器采取小文件优先的任务获取算法从所述等待任务队列中提取下载任务。
可选地,所述等待任务队列中还存储有排队的下载任务的等待时间;
所述任务调度器在执行小文件优先的任务获取算法之前,从所述等待任务队列中提取等待时间超过预设的任务最长等待时间的下载任务。
根据本发明的另一方面,提供了一种带宽调节方法,包括:
定时获取服务器中所有正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽;
在确定服务器的当前带宽达到预设的带宽阈值时,通知工作进程队列中的工作进程对相应的下载任务进行限速,其中,所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务。
可选地,所述通知工作进程队列中的工作进程对相应的下载任务进行限速具体为:通知工作进程队列中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。
可选地,所述带宽调节方法还包括:在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。
可选地,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。
可选地,所述带宽调节方法还包括:在当前正在执行的下载任务的数目小于预设的任务并发数时,从等待任务队列中提取下载任务,将提取的下载任务交给工作进程队列中的工作进程进行处理,其中,所述等待任务队列包括多个排队的下载任务条目。
可选地,所述从等待任务队列中提取下载任务具体为:采取小文件优先的任务获取算法从所述等待任务队列中提取下载任务。
可选地,在执行小文件优先的任务获取算法之前,从所述等待任务队列中提取等待时间超过预设的任务最长等待时间的下载任务。
根据本发明的上述技术方案,通过将服务器的当前带宽与预设的带宽阈值进行比较,来动态调节各工作进程对资源的下载速度,实现了对服务器工作带宽的动态调节,从而提高了服务器的资源利用率。在任务量饱和的情况下,能够充分利用服务器的带宽,并且基本不会造成带宽溢出,达到了同时能给尽可能多的用户提供服务的效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的带宽调节装置的结构图;
图2示出了根据本发明一个实施例的带宽调节方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有技术的离线下载方案中,服务器的资源利用率低下的问题,本发明实施例提供一种带宽调节装置及带宽调节方法,通过动态调整各工作进程对资源的下载速度,实现对服务器工作带宽的动态调节,从而提高了服务器的资源利用率。
图1示出了根据本发明一个实施例的带宽调节装置的结构图。所述带宽调节装置可以设置在离线下载服务器中,也可以设置在其他类型的需要进行并行下载资源的服务器或计算机中。参照图1,所述带宽调节装置可以包括定时器10、任务调度器20和工作进程队列30,其中:
所述工作进程队列30包括多个工作进程条目,每一个工作进程执行一个下载任务。所述工作进程队列30包括的工作进程条目的数量可以是一个固定值,该固定值的大小主要受限于服务器的资源能力,所述资源能力主要包括CPU速度和内存大小。该固定值相当于服务器能够提供同时进行下载的任务的数量,即任务并发数,本领域技术人员可以根据服务器的资源能力合理确定该固定值,例如,该固定值可以为80、90或100等等。
所述定时器10,适于定时通知所述任务调度器20根据所述工作进程队列30包括的工作进程所执行的下载任务来获取服务器的当前带宽。定时器10的定时周期可以根据需要设置,例如,将该定时周期设置为1分钟,这样,定时器10会每隔1分钟向任务调度器20发送一个获取服务器当前带宽的指令。
所述任务调度器20,适于根据所述定时器20的通知,获取所有正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽(或者称为当前带宽占用),并在确定服务器的当前带宽达到预设的带宽阈值时,通知所述工作进程队列中30的工作进程对相应的下载任务进行限速。
具体地,任务调度器20在接收到定时器20发送的获取服务器当前带宽的指令时,从所述工作进程队列30获取工作进程,向所有工作进程发起查询资源下载速度的请求,获得所有下载任务的资源下载速度后汇总得到服务器的当前带宽。然后,将服务器的当前带宽与预设的带宽阈值进行比较,当服务器的当前带宽大于或等于带宽阈值时,说明服务器的带宽负荷较大,有可能造成带宽溢出,影响所有下载任务的下载速度,于是,通知所述工作进程队列30中的工作进程对相应的下载任务进行限速,通过降低下载任务的下载速度来降低服务器的带宽占用。
由上述可知,依据本发明一个实施例的技术方案,通过将服务器的当前带宽与预设的带宽阈值进行比较,来动态调节各工作进程对资源的下载速度,实现了对服务器工作带宽的动态调节,从而提高了服务器的资源利用率。在任务量饱和的情况下,能够充分利用服务器的带宽,并且基本不会造成带宽溢出,达到了同时能给尽可能多的用户提供服务的效果。
在一种实现方式中,接收到限速通知的工作进程可以一直对当前执行的下载任务进行限速,直到当前下载任务下载完所需下载的文件或资源,之后,所述工作进程可以执行其他下载任务,对于所述其他下载任务,初始化时是以全速下载,当所述工作进程再次接收到限速通知时,对执行的所述其他下载任务进行限速。
可选地,所述任务调度器20还适于在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。服务器的当前带宽未达到预设的带宽阈值,说明服务器的带宽未充分利用,可以通过恢复限速的下载任务的下载速度来提高资源利用率。例如,可以通知正在限速的工作进程中的一半(向上取整)的工作进程来停止对相应的下载任务进行限速。
可选地,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。由于下载任务的下载速度可能出现瞬时的突然变大,而任务调度器20也并非实时的去获取下载任务的下载速度,因此,对服务器的带宽使用要留有一定余量,这样,能够尽可能的避免服务器的带宽溢出。在本发明实施例中,所述系数的大小可以根据所需预留的余量来确定,其取值范围可以是75%到90%之间,例如,可以取值为80%。
可选地,所述任务调度器20通知所述工作进程队列30中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。例如,假设工作进程队列30中工作进程的数量为100,则可以向下载速度排名在前10%(即下载速度排名在前10位)的工作进程发送限速通知。
在本发明实施例中,工作进程接收到限速通知后,可以按照预定周期将自己进行休眠,例如,以1秒钟为单位进行休眠(即休眠1秒钟、工作1秒钟、休眠1秒钟、工作1秒钟,以此类推),使下载任务单位时间内获取的数据量变小,这样就达到了限速的目的。例如下载任务的速度已经达到5M/s,即1秒钟下载5M数据,当任务得到限速通知后,会将自己休眠1秒,这样任务就是在2秒钟下载了5M的数据量,速度降到了2.5M/s,这样服务器的瞬时带宽也就降了下来。相应地,当工作进程接收到恢复速度通知后,停止上述的休眠过程。
可选地,所述带宽调节装置还可以包括等待任务队列40,所述等待任务队列40中包括多个排队的下载任务条目,当有下载任务到达时,首先进入该等待任务队列40中排队。
此种情况下,所述任务调度器20还适于在当前正在执行的下载任务的数目小于预设的任务并发数(任务并发数的确定方式可参见前文)时,从所述等待任务队列40中提取下载任务,将提取的下载任务交给工作进程队列中30的工作进程进行处理。工作进程接收到下载任务后,执行该下载任务,初始化时,工作进程对该下载任务进行全速下载。这样,服务器就能够为尽可能多的用户提供离线下载服务,减小了用户下载任务的排队等待时间,较大程度的顾及了用户的体验与感受。
任务调度器20可以采取各种任务获取算法来从等待任务队列40中提取下载任务。在一种实现方式中,任务调度器20可以使用先进先出算法来从等待任务队列40中提取下载任务,先进入等待任务队列40的下载任务会被优先处理。先进先出算法的优点在于对用户相对公平,且实现简单。
在另外一种实现方式中,任务调度器20可以采取小文件优先的任务获取算法来从等待任务队列40中提取下载任务,也就是说不是先到的下载任务就一定会先被处理。主要是由于每个下载任务对应的要下载的资源的大小不同,如果将小文件放在大文件之后进行下载,这样要下载小文件的用户势必增加了等待时间,而对于下载大文件的用户,本身下载时间比较长,多增加一些等待时间对用户影响较小。所以可以采用小文件优先的任务获取算法,即按照下载任务对应的目标文件的从小到大的顺序来提取下载任务,小文件对应的下载任务会被优先提取。
小文件优先的任务获取算法存在的一个问题是可能存在饿死现象,就是一直有比较小的文件加入等待任务队列40,导致大文件一直不能被提取,一种处于等待状态。为解决该问题,在又一种实现方式中,采用小文件优先加最长等待时间的任务选取算法来提取任务。具体地,所述等待任务队列40中还存储有排队的下载任务的等待时间,所述任务调度器20在执行小文件优先的任务获取算法之前,从所述等待任务队列40中提取等待时间超过预设的任务最长等待时间的下载任务。也就是说,当等待时间超过了任务最长等待时间时,无论文件的大小是多少,都会被优先选择,进行下载。其中,任务最长等待时间可以根据需要合理设置,例如,可以设置为5分钟。
与本发明实施例的上述带宽调节装置相对应,本发明实施例还提供一种带宽调节方法。图2示出了根据本发明一个实施例的带宽调节方法的流程图,参照图2,所述带宽调节方法可以包括:
步骤202,定时获取服务器中所有正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽;
服务器中可以设置有定时器、工作进程队列和任务调度器,所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务,当所述定时器的定时时间到达时,触发所述任务调度器从所述工作进程队列获取工作进程,向所有工作进程发起查询资源下载速度的请求,获得所有下载任务的资源下载速度后汇总得到服务器的当前带宽(或者称为当前带宽占用)。
步骤204,判断服务器的当前带宽是否达到预设的带宽阈值,若是,进入步骤206,若否,进入步骤208;
步骤206,在确定服务器的当前带宽达到预设的带宽阈值时,通知工作进程队列中的工作进程对相应的下载任务进行限速;
步骤208,在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。
需要说明的是,上述步骤208是可选步骤,在步骤204中,当判断结果为否时,也可以不执行步骤208。也就是说,接收到限速通知的工作进程可以一直对当前执行的下载任务进行限速,直到当前下载任务下载完所需下载的文件或资源,之后,所述工作进程可以执行其他下载任务,对于所述其他下载任务,初始化时是以全速下载,当所述工作进程再次接收到限速通知时,对执行的所述其他下载任务进行限速。
可选地,所述通知工作进程队列中的工作进程对相应的下载任务进行限速具体为:通知工作进程队列中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。
可选地,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。
可选地,所述带宽调节方法还包括:在当前正在执行的下载任务的数目小于预设的任务并发数时,从等待任务队列中提取下载任务,将提取的下载任务交给工作进程队列中的工作进程进行处理,其中,所述等待任务队列包括多个排队的下载任务条目。
可选地,所述从等待任务队列中提取下载任务具体为:采取小文件优先的任务获取算法从所述等待任务队列中提取下载任务。
可选地,在执行小文件优先的任务获取算法之前,从所述等待任务队列中提取等待时间超过预设的任务最长等待时间的下载任务。
综上所述,根据本发明实施例的带宽调节装置及方法,通过将服务器的当前带宽与预设的带宽阈值进行比较,来动态调节各工作进程对资源的下载速度,实现了对服务器工作带宽的动态调节,从而提高了服务器的资源利用率。在任务量饱和的情况下,能够充分利用服务器的带宽,并且基本不会造成带宽溢出,达到了同时能给尽可能多的用户提供服务的效果
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的动态带宽调节装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (14)

1.一种带宽调节装置,包括定时器、任务调度器和工作进程队列,其中:所述带宽调节装置设置在离线下载服务器中;
所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务;
所述定时器,适于定时通知所述任务调度器根据所述工作进程队列包括的工作进程所执行的下载任务来获取服务器的当前带宽;
所述任务调度器,适于根据所述定时器的通知,从所述工作进程队列获取所有所述工作进程正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽,通过将服务器的当前带宽与预设的带宽阈值进行比较,并在确定服务器的当前带宽达到预设的带宽阈值时,通知所述工作进程队列中的工作进程对相应的下载任务进行限速;
其中工作进程接收到限速通知后,按照预定周期将自己进行休眠。
2.如权利要求1所述的带宽调节装置,其中,所述任务调度器通知所述工作进程队列中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。
3.如权利要求1或2所述的带宽调节装置,其中,所述任务调度器还适于在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。
4.如权利要求1所述的带宽调节装置,其中,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。
5.如权利要求1所述的带宽调节装置,其中,还包括等待任务队列,所述等待任务队列包括多个排队的下载任务条目;
所述任务调度器还适于在当前正在执行的下载任务的数目小于预设的任务并发数时,从所述等待任务队列中提取下载任务,将提取的下载任务交给工作进程队列中的工作进程进行处理。
6.如权利要求5所述的带宽调节装置,其中,所述任务调度器采取小文件优先的任务获取算法从所述等待任务队列中提取下载任务。
7.如权利要求6所述的带宽调节装置,其中,所述等待任务队列中还存储有排队的下载任务的等待时间;
所述任务调度器在执行小文件优先的任务获取算法之前,从所述等待任务队列中提取等待时间超过预设的任务最长等待时间的下载任务。
8.一种带宽调节方法,包括:
所述带宽调节装置设置在离线下载服务器中;
定时获取服务器中工作进程队列中所有工作进程正在执行的下载任务的下载速度,将所有下载速度汇总后得到服务器的当前带宽;
将服务器的当前带宽与预设的带宽阈值进行比较,在确定服务器的当前带宽达到预设的带宽阈值时,通知工作进程队列中的工作进程对相应的下载任务进行限速,其中,所述工作进程队列包括多个工作进程条目,每一个工作进程执行一个下载任务,工作进程接收到限速通知后,按照预定周期将自己进行休眠。
9.如权利要求8所述的带宽调节方法,其中,所述通知工作进程队列中的工作进程对相应的下载任务进行限速具体为:通知工作进程队列中的下载速度排名靠前的预定数目个工作进程对相应的下载任务进行限速。
10.如权利要求8或9所述的带宽调节方法,其中,还包括:在确定服务器的当前带宽未达到预设的带宽阈值时,通知全部或部分正在限速的工作进程停止对相应的下载任务进行限速。
11.如权利要求8所述的带宽调节方法,其中,所述预设的带宽阈值为服务器的最大允许带宽与一系数之积,所述系数小于等于1。
12.如权利要求8所述的带宽调节方法,其中,还包括:在当前正在执行的下载任务的数目小于预设的任务并发数时,从等待任务队列中提取下载任务,将提取的下载任务交给工作进程队列中的工作进程进行处理,其中,所述等待任务队列包括多个排队的下载任务条目。
13.如权利要求12所述的带宽调节方法,其中,所述从等待任务队列中提取下载任务具体为:采取小文件优先的任务获取算法从所述等待任务队列中提取下载任务。
14.如权利要求12所述的带宽调节方法,其中,在执行小文件优先的任务获取算法之前,从所述等待任务队列中提取等待时间超过预设的任务最长等待时间的下载任务。
CN201310451320.4A 2013-09-26 2013-09-26 带宽调节装置及方法 Active CN103533032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310451320.4A CN103533032B (zh) 2013-09-26 2013-09-26 带宽调节装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310451320.4A CN103533032B (zh) 2013-09-26 2013-09-26 带宽调节装置及方法

Publications (2)

Publication Number Publication Date
CN103533032A CN103533032A (zh) 2014-01-22
CN103533032B true CN103533032B (zh) 2019-03-05

Family

ID=49934697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310451320.4A Active CN103533032B (zh) 2013-09-26 2013-09-26 带宽调节装置及方法

Country Status (1)

Country Link
CN (1) CN103533032B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105242955B (zh) * 2014-07-07 2019-01-29 腾讯科技(深圳)有限公司 一种虚拟机磁盘输入输出调度方法及系统
CN105471943B (zh) * 2014-09-03 2019-05-03 南宁富桂精密工业有限公司 服务器及其分配客户端设备更新固件的方法
CN105991728B (zh) * 2015-02-12 2020-03-03 Oppo广东移动通信有限公司 一种文件下载的方法及终端
JP6477243B2 (ja) * 2015-05-22 2019-03-06 富士ゼロックス株式会社 画像形成装置、情報処理装置及びプログラム
CN106411558B (zh) * 2015-07-27 2020-02-21 阿里巴巴集团控股有限公司 一种数据流量限制的方法及系统
WO2017024965A1 (zh) 2015-08-11 2017-02-16 阿里巴巴集团控股有限公司 一种数据流量限制的方法及系统
CN105550003A (zh) * 2015-12-25 2016-05-04 北京奇虎科技有限公司 应用程序更新系统和方法
CN105681073A (zh) * 2015-12-25 2016-06-15 北京奇虎科技有限公司 一种更新应用程序的方法及装置
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度系统及方法
CN106453143B (zh) * 2016-10-31 2019-10-11 北京百度网讯科技有限公司 带宽设置方法、装置和系统
CN106803841B (zh) * 2017-02-14 2020-04-10 北京奇虎科技有限公司 消息队列数据的读取方法、装置及分布式数据存储系统
CN108965358B (zh) * 2017-05-19 2020-11-10 腾讯科技(深圳)有限公司 应用在第一终端和服务器中的下载应用程序的方法和装置
CN107707382B (zh) * 2017-08-15 2018-10-23 贵州白山云科技有限公司 一种智能调度方法和装置
CN110519317B (zh) * 2018-05-21 2021-02-12 华为技术有限公司 一种数据传输方法以及设备
CN110247815B (zh) * 2019-05-09 2021-09-03 深圳市迅雷网络技术有限公司 一种数据传输方法、装置、系统及计算机可读存储介质
CN114500483B (zh) * 2021-09-23 2024-02-27 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质
CN114189448A (zh) * 2021-12-14 2022-03-15 中国建设银行股份有限公司 数据处理方法、装置和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN102932273A (zh) * 2012-10-17 2013-02-13 北京奇虎科技有限公司 一种用于调节进程带宽占用的方法及装置
CN103136056A (zh) * 2013-03-04 2013-06-05 浪潮电子信息产业股份有限公司 一种云计算平台调度方法
CN103227836A (zh) * 2013-05-02 2013-07-31 百度在线网络技术(北京)有限公司 离线下载方法和离线下载服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100371895C (zh) * 2005-05-30 2008-02-27 英业达股份有限公司 均衡负载的文件预装系统及方法
CN101582852B (zh) * 2009-06-10 2012-04-11 中兴通讯股份有限公司 一种网络拥塞管理的方法及系统
CN101702669B (zh) * 2009-11-18 2012-04-11 网宿科技股份有限公司 带宽分配方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN102932273A (zh) * 2012-10-17 2013-02-13 北京奇虎科技有限公司 一种用于调节进程带宽占用的方法及装置
CN103136056A (zh) * 2013-03-04 2013-06-05 浪潮电子信息产业股份有限公司 一种云计算平台调度方法
CN103227836A (zh) * 2013-05-02 2013-07-31 百度在线网络技术(北京)有限公司 离线下载方法和离线下载服务器

Also Published As

Publication number Publication date
CN103533032A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103533032B (zh) 带宽调节装置及方法
Rasley et al. Efficient queue management for cluster scheduling
CN105579959B (zh) 硬件加速器虚拟化
Hung et al. Scheduling jobs across geo-distributed datacenters
Choudhary et al. A dynamic optimization algorithm for task scheduling in cloud environment
CN103927225B (zh) 一种多核心架构的互联网信息处理优化方法
CN103150213B (zh) 负载平衡方法和装置
US11429448B2 (en) Background job processing framework
CN105068855B (zh) 一种编译安卓包开发文件的方法、服务器和系统
CN107943577A (zh) 用于调度任务的方法和装置
WO2012151716A1 (en) Parallel generation of topics from documents
Seth et al. Dynamic heterogeneous shortest job first (DHSJF): a task scheduling approach for heterogeneous cloud computing systems
JP2017530453A5 (zh)
CN103503412B (zh) 用于调度资源的方法及装置
CN103617071A (zh) 一种资源独占及排它的提升虚拟机计算能力的方法及装置
Shai et al. Heuristics for resource matching in intel’s compute farm
CN106874102A (zh) 基于容器工作性质的资源调度方法和装置
Grigoras et al. Elastic management of reconfigurable accelerators
de Oliveira et al. Acosched: A scheduling algorithm in a federated cloud infrastructure for bioinformatics applications
EP3200083A1 (en) Resource scheduling method and related apparatus
Sharma et al. A review on resource allocation in cloud computing
Yu et al. Queue waiting time aware dynamic workflow scheduling in multicluster environments
CN103294874A (zh) 用于电磁仿真计算系统FEKO的Web服务封装方法以及系统
Malathi et al. Energy Aware Load Balancing Algorithm for Upgraded Effectiveness in Green Cloud Computing
CN105824708A (zh) 云主机系统中的cpu调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220721

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.