CN105955816A - 一种事件调度方法及装置 - Google Patents

一种事件调度方法及装置 Download PDF

Info

Publication number
CN105955816A
CN105955816A CN201610237247.4A CN201610237247A CN105955816A CN 105955816 A CN105955816 A CN 105955816A CN 201610237247 A CN201610237247 A CN 201610237247A CN 105955816 A CN105955816 A CN 105955816A
Authority
CN
China
Prior art keywords
scheduler
fifo
capacity
event
request event
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.)
Pending
Application number
CN201610237247.4A
Other languages
English (en)
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.)
TVMining Beijing Media Technology Co Ltd
Original Assignee
TVMining Beijing Media 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 TVMining Beijing Media Technology Co Ltd filed Critical TVMining Beijing Media Technology Co Ltd
Priority to CN201610237247.4A priority Critical patent/CN105955816A/zh
Publication of CN105955816A publication Critical patent/CN105955816A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种事件调度方法及装置,用以使资源调度方法根据系统负载情况进行实时变化,实现最优化调度的目的。所述方法包括:实时监控当前系统负载状况;接收作业请求事件;根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理所述作业请求事件;采用选择的调度器调度资源。该方法在系统负载较低时使用FIFO进行资源调度,并在系统负载达到均衡状态以后,若作业请求事件有优先级要求则采用Capacity Scheduler进行资源调度,无优先级要求则采用Fair Scheduler进行资源调度,能使系统资源实时处于最佳调度状态。

Description

一种事件调度方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种事件调度方法及装置。
背景技术
随着计算机技术的飞速发展,作业调度成为了业内的研究重点之一。作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。作业调度方法在很大程度上决定了系统资源使用的有效性以及作业请求的处理时长。
目前,在对作业请求事件进行处理时,均是采用单一的调度方法,这些现有的调度方法均有其各自的优缺点,而系统负载会随着请求事件的多少有所变动,采用单一的调度方法不能使系统资源实时处于最佳调度状态。
发明内容
本发明提供一种事件调度方法及装置,用以使资源调度方法根据系统负载情况进行实时变化,实现最优化调度的目的。
本发明提供一种事件调度方法,包括:
实时监控当前系统负载状况;
接收作业请求事件;
根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理所述作业请求事件;
采用选择的调度器调度资源。
本发明实施例的一些有益效果可以包括:
该方法根据当前系统负载状况选择与当前系统负载状况相应的调度器处理新来的作业请求事件,调度方法能够随负载状况及时变化,能够充分利用系统资源,使系统资源实时处于最佳调度状态。
在一个实施例中,所述调度器为Hadoop的调度器。
在一个实施例中,所述根据当前系统负载状况,采用与当前系统负载状况相应的调度器处理所述作业请求事件,包括:
判断当前系统负载是否达到预先设定的负载均衡阈值;
若当前系统负载未达到所述负载均衡阈值,则采用先进先出调度器FIFO处理所述作业请求事件。
该实施例中,当系统处于低负载时,即系统中的空闲资源数量大于等待执行的任务所需要的资源数量时,选择FIFO调度器,调度简单,不会产生过度的资源消耗,能够使系统有较好的性能。
在一个实施例中,所述判断当前系统负载是否达到预先设定的负载均衡阈值之后,还包括:
若当前系统负载达到所述负载均衡阈值,则判断所述作业请求事件是否有优先级需求;
若所述作业请求事件有优先级需求,则采用计算能力调度器CapacityScheduler处理所述作业请求事件。
该实施例中,当系统达到负载均衡状态,但还没到负载峰值时,若仍旧使用FIFO对于作业请求的执行效率已经不能满足要求,此时检测所述作业请求事件是否有优先级的需求,若有则选择Capacity Schedule处理所述作业请求事件,使用户提交的作业请求事件在可接受的时间范围内就能够得到响应,相对于该种负载情况下使用FIFO进行调度,系统性能更高,且能使高优先级的作业请求得到优先执行。
在一个实施例中,所述判断所述作业请求事件是否有优先级需求之后,还包括:
若所述作业请求事件没有优先级需求,则采用公平调度器Fair Scheduler处理所述作业请求事件。
该实施例中,当系统达到负载均衡状态,但还没到负载峰值时,若仍旧使用FIFO对于作业请求的执行效率已经不能满足要求,此时检测所述作业请求事件是否有优先级的需求,若没有则选择Fair Scheduler处理所述作业请求事件,使用户提交的作业请求事件在可接受的时间范围内就能够得到响应,相对于该种负载情况下使用FIFO进行调度,系统性能更高,公平性也能够得到一定的保证。
在一个实施例中,所述采用计算能力调度器Capacity Scheduler处理所述作业请求事件,包括:根据所述作业请求事件的优先级,采用所述CapacityScheduler将所述作业请求事件划分到属于Capacity Scheduler的相应优先级队列中;
所述采用选择的调度器调度资源,包括:
判断当前是否还有未执行完的属于FIFO的作业事件队列;
若当前还有未执行完的属于FIFO的作业事件队列,则继续采用FIFO为所述属于FIFO的作业事件队列调度资源直至其执行完毕,随后采用所述Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源;
若当前没有未执行完的属于FIFO的作业事件队列,则直接采用所述Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源。
该实施例中,当需要采用Capacity Scheduler进行调度时,需要将在先的未执行完的属于FIFO的作业事件队列执行完后才用Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源,避免由于执行后来的具有优先级的作业事件请求而导致在先的属于FIFO的作业事件队列久久得不到执行的情况发生。
在一个实施例中,所述采用公平调度器Fair Scheduler处理所述作业请求事件,包括:根据所述作业请求事件的事件属性,采用所述Fair Scheduler将所述作业请求事件划分到属于Fair Scheduler的相应资源池中;
所述采用选择的调度器调度资源,包括:
判断当前是否还有未执行完的属于FIFO的作业事件队列或属于CapacityScheduler的优先级队列;
若当前还有未执行完的属于FIFO的作业事件队列或属于CapacityScheduler的优先级队列,则继续采用FIFO为所述属于FIFO的作业事件队列调度资源直至其执行完毕,或继续采用Capacity Scheduler为属于CapacityScheduler的优先级队列调度资源直至其执行完毕,随后采用所述Fair Scheduler为属于Fair Scheduler的多个资源池调度资源;
若当前没有未执行完的属于FIFO的作业事件队列及属于CapacityScheduler的优先级队列,则采用所述Fair Scheduler为属于Fair Scheduler的多个资源池调度资源。
该实施例中,当系统负载均衡时,需要将调度器切换到Fair Scheduler时,若当前还有未执行完的属于FIFO的作业事件队列或属于Capacity Scheduler的优先级队列,则将新来的没有优先级的作业请求事件分到属于Fair Scheduler的相应资源池中,并先把未执行完的属于FIFO的作业事件队列或属于CapacityScheduler的优先级队列执行完后再采用Fair Scheduler进行资源调度。能够保证在低负载时接收的属于FIFO的作业事件队列先执行,或者具有优先级的Capacity Scheduler的优先级队列先执行。
本发明提供一种事件调度装置,包括:
负载监控模块,用于实时监控当前系统负载状况,并将当前系统负载状况提供给选择分配模块;
接收模块,用于接收作业请求事件,并将接收的所述作业请求事件发送给选择分配模块;
选择分配模块,用于根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理所述作业请求事件,并将选择的调度器信息发送给调度模块;
调度模块,用于根据收到的选择的调度器信息,采用所述选择的调度器调度资源。
在一个实施例中,所述选择分配模块包括:
第一判断单元,用于判断当前系统负载是否达到预先设定的负载均衡阈值,是则向第二判断单元发送优选级判断指令,否则选择先进先出调度器FIFO并发送给处理单元;
第二判断单元,用于根据收到的优先级判断指令,判断收到的所述作业请求事件是否有优先级需求,是则选择计算能力调度器Capacity Scheduler并发送给处理单元,否则选择公平调度器Fair Scheduler并发送给处理单元;
处理单元,用于采用收到的调度器将所述作业请求事件划分到属于相应调度器的队列或资源池中,并向所述调度模块发送最近一次收到的选择的调度器信息。
在一个实施例中,所述调度模块包括:
识别单元,用于识别收到的所述选择的调度器信息所指的调度器类型,当选择的调度器为FIFO时,向执行单元发送第一执行指令;当选择的调度器为Capacity Scheduler时,向执行单元发送第二执行指令;当选择的调度器为FairScheduler时,向执行单元发送第三执行指令;
执行单元,用于根据收到的第一执行指令,采用FIFO调度资源;还用于根据收到的第二执行指令,先采用FIFO为未执行完的属于FIFO的作业事件队列调度资源,执行完后采用Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源;还用于根据收到的第三执行指令,先采用FIFO/Capacity Scheduler将未执行完的属于FIFO的作业事件队列/属于CapacityScheduler的优先级队列调度资源,执行完后采用Fair Scheduler为属于FairScheduler的多个资源池调度资源。
本发明实施例提供的事件调度装置根据当前系统负载状况选择与当前系统负载状况相应的调度器处理新来的作业请求事件,采用的调度器能够随负载状况及时变化,能够充分利用系统资源,使系统资源实时处于最佳调度状态。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种事件调度方法的流程图;
图2为本发明实施例一中一种事件调度方法的流程图;
图3为本发明实施例中一种事件调度装置的结构框图;
图4为本发明实施例中另一种事件调度装置的结构框图;
图5为本发明实施例中另一种事件调度装置的结构框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明中一种事件调度方法的流程图。如图1所示,该方法包括以下步骤S101-S104:
步骤S101:实时监控当前系统负载状况。
步骤S102:接收作业请求事件。
步骤S103:根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理作业请求事件。
步骤S104:采用选择的调度器调度资源。
本发明实施例提供的方法根据当前系统负载状况选择与当前系统负载状况相应的调度器处理新来的作业请求事件,调度方法能够随负载状况及时变化,能够充分利用系统资源,使系统资源实时处于最佳调度状态。
随着MapReduce的流行,其开源实现Hadoop也变得越来越受推崇。在Hadoop系统中,调度器的作用是将系统中空闲的资源按一定策略分配给作业,Hadoop中常见的调度器有以下三种:
(1)先入先出调度器FIFO:Hadoop中默认的调度器,它先按照作业到达时间的先后选择被执行的作业。该调度器实现简单,调度开销较小,只有一个Job队列,简单、易于实现。但它只是在系统低负载的情况下,有较好的性能。由于FIFO没考虑Job的优先级,所以到达较晚的Job在系统高负载的情况下将会迟迟得不到响应,即,系统负载增加会导致FIFO算法性能快速衰减。
(2)计算能力调度器Capacity Scheduler:支持多个队列,每个队列可配置一定的资源量,每个队列采用FIFO调度策略,为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。Capacity Scheduler是以队列为单位组织分配的,这些队列的优先级是可以调整的。因此,可以通过判断Job的优先级,使高优先级的job所在的队列得到优先执行。
(3)公平调度器Fair Scheduler:同计算能力调度器类似,支持多队列多用户,每个队列中的资源量可以配置,同一队列中的作业公平共享队列中所有资源。在系统负载较高的情况下,Fair Scheduler能够保证用户在提交Job后,在可接受的时间范围内就能够得到响应,性能要高于FIFO算法。但是系统负载较低的情况下,空闲资源较多,此时即使使用FIFO算法,公平性在一定程度上也会得到保证,而在这种情况下使用Fair Scheduler反而会因为其保证公平性的特性,而产生过度的调度消耗。
优选地,本发明实施例提供的事件调度方法中,步骤S103中采用Hadoop的调度器如FIFO、Capacity Scheduler、Fair Scheduler等,根据系统负载状况和各种调度器的特点,根据当前系统负载情况选用最适用的调度器。当然,可以采用类似的思路选用除Hadoop的调度器外的其他现有调度器也是完全可行的。
优选地,若本发明提供的方法根据系统负载情况选用Hadoop的不同调度器进行切换,则步骤S101中对系统的负载进行检测与计算,然后根据检测结果采用相应的调度器(即调度算法)。具体地,选择方法为:当有空闲资源请求任务执行时,通过获得实时的系统负载状况,当系统处于低负载时,即系统中的空闲资源数量大于等待执行的任务所需要的资源数量时,选择FIFO算;当随着系统的运行,系统负载会逐渐增加,达到负载均衡状态,但还没到负载峰值,此时,FIFO对于Job的执行效率已经不能满足要求,这时检测该Job是否有优先级的需求,若没有则选择Fair Scheduler,否则选择CapacitySchedule。
下面通过具体实施例来说明本发明实施例提供的事件调度方法。
实施例一
图2为本发明实施例一中一种事件调度方法的流程图。如图2所示,包括以下步骤S201-S204:
步骤S201:实时监控当前系统负载状况。
步骤S202:接收作业请求事件。
步骤S203:判断当前系统负载是否达到预先设定的负载均衡阈值,是则执行步骤S205,否则执行步骤S204。
步骤S204:采用先进先出调度器FIFO处理作业请求事件,随后执行步骤S208。
此步骤中,当系统处于低负载时,将当前作业请求事件排到已有的属于FIFO的作业事件队列中,选择FIFO调度器进行资源调度,调度简单,不会产生过度的资源消耗,能够使系统有较好的性能。
步骤S205:判断作业请求事件是否有优先级需求,是则执行步骤S206,否则执行步骤S207。
步骤S206:采用计算能力调度器Capacity Scheduler处理作业请求事件,随后执行步骤S208。
其中,根据当前作业请求事件的优先级,采用Capacity Scheduler将该作业请求事件划分到属于Capacity Scheduler的相应优先级队列中,使用CapacitySchedule处理作业请求事件,使用户提交的作业请求事件在可接受的时间范围内就能够得到响应,相对于该种负载情况下使用FIFO进行调度,系统性能更高,且能使高优先级的作业请求得到优先执行。
步骤S207:采用公平调度器Fair Scheduler处理作业请求事件,随后执行步骤S208。
其中,根据作业请求事件的事件属性,采用Fair Scheduler将作业请求事件划分到属于Fair Scheduler的相应资源池中,选择Fair Scheduler处理作业请求事件,使用户提交的作业请求事件在可接受的时间范围内就能够得到响应,相对于该种负载情况下使用FIFO进行调度,系统性能更高,公平性也能够得到一定的保证。
步骤S208:采用选择的调度器调度资源。
此步骤S208中,根据上一步骤选择的调度器不同,分几种情况:
(1)上一步骤选择的调度器是FIFO
一般情况下,系统在开始运行的前期负载会比较小,随着系统的运行,负载会慢慢增大,因此,选择使用FIFO基本是在系统开始运行的前期,此种情况下不会有未执行完的属于Capacity Scheduler的优先级队列或未执行完的属于Fair Scheduler的资源池,此步骤中直接采用FIFO算法为采用FIFO处理所得的单一队列进行资源调度即可。当然,也可能出现在系统负载增大到满足使用Capacity Scheduler或Fair Scheduler后,没有收到太多新的作业请求事件,系统负载慢慢下降至预先设定的负载均衡阈值下的情况,在此种情况下,采用FIFO进行资源调度时,需要先将之前未执行完的属于Capacity Scheduler的优先级队列或未执行完的属于Fair Scheduler的资源池中的作业请求时间执行完后,再采用FIFO进行资源调度。
(2)上一步骤选择的调度器是Capacity Scheduler
当系统负载增大到负载均衡状态时,若当前接收的作业请求事件具有优先级需求,则此步骤中采用Capacity Scheduler调度资源,但是,在采用CapacityScheduler调度资源之前,需要先将之前未执行完的属于FIFO的作业事件队列采用FIFO算法执行完毕后,再采用Capacity Scheduler为属于CapacityScheduler的多个优先级队列(即步骤S206中采用Capacity Scheduler划分新来的作业请求事件得到的多个优先级队列)调度资源,避免由于执行后来的具有优先级的作业事件请求而导致在先的属于FIFO的作业事件队列久久得不到执行的情况发生。
(3)上一步骤选择的调度器是Fair Scheduler
当系统负载增大到负载均衡状态时,若当前接收的作业请求事件不具有优先级需求,则此步骤中采用Fair Scheduler调度资源。但是,在采用Fair Scheduler调度资源之前,需要先将之前未执行完的属于FIFO的作业事件队列或属于Capacity Scheduler的优先级队列采用相应的调度器执行完毕后,再采用FairScheduler为属于Fair Scheduler的多个资源池(即步骤S207中采用FairScheduler划分新来的作业请求事件得到的多个资源池)调度资源。能够保证在低负载时接收的属于FIFO的作业事件队列先执行,或者具有优先级的CapacityScheduler的优先级队列先执行。
本发明实施例一提供的方法根据当前系统负载状况选择与当前系统负载状况相应的Hadoop调度器处理新来的作业请求事件,调度方法能够随负载状况及时变化,能够充分利用系统资源,使系统资源实时处于最佳调度状态。
对应于上述实施例提供的一种用于服务器的播放视频的方法,本发明实施例还提供一种事件调度装置,如图3所示,该装置包括负载监控模块31、接收模块32、选择分配模块33和调度模块34,其中,
负载监控模块31,用于实时监控当前系统负载状况,并将当前系统负载状况提供给选择分配模块33;
接收模块32,用于接收作业请求事件,并将接收的作业请求事件发送给选择分配模块33;
选择分配模块33,用于根据负载监控模块31提供的当前系统负载状况,选择与当前系统负载状况相应的调度器处理接收模块32发来的作业请求事件,并将选择的调度器信息发送给调度模块34;
调度模块34,用于根据收到的选择的调度器信息,采用选择的调度器调度资源。
在一个实施例中,如图4所示,选择分配模块33包括:
第一判断单元331,用于判断当前系统负载是否达到预先设定的负载均衡阈值,是则向第二判断单元332发送优选级判断指令,否则选择先进先出调度器FIFO并发送给处理单元333;
第二判断单元332,用于根据收到的优先级判断指令,判断收到的作业请求事件是否有优先级需求,是则选择计算能力调度器Capacity Scheduler并发送给处理单元333,否则选择公平调度器Fair Scheduler并发送给处理单元333;
处理单元333,用于采用收到的调度器将作业请求事件划分到属于相应调度器的队列或资源池中,并向调度模块34发送最近一次收到的选择的调度器信息。
在一个实施例中,在图4所示装置的基础上,如图5所示,调度模块34包括:
识别单元341,用于识别收到的选择的调度器信息所指的调度器类型,当选择的调度器为FIFO时,向执行单元342发送第一执行指令;当选择的调度器为Capacity Scheduler时,向执行单元发342送第二执行指令;当选择的调度器为Fair Scheduler时,向执行单元342发送第三执行指令;
执行单元342,用于根据收到的第一执行指令,采用FIFO调度资源;还用于根据收到的第二执行指令,先采用FIFO为未执行完的属于FIFO的作业事件队列调度资源,执行完后采用Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源;还用于根据收到的第三执行指令,先采用FIFO/Capacity Scheduler将未执行完的属于FIFO的作业事件队列/属于CapacityScheduler的优先级队列调度资源,执行完后采用Fair Scheduler为属于FairScheduler的多个资源池调度资源。
本发明实施例提供的事件调度装置根据当前系统负载状况选择与当前系统负载状况相应的调度器处理新来的作业请求事件,采用的调度器能够随负载状况及时变化,能够充分利用系统资源,使系统资源实时处于最佳调度状态。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种事件调度方法,其特征在于,包括:
实时监控当前系统负载状况;
接收作业请求事件;
根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理所述作业请求事件;
采用选择的调度器调度资源。
2.如权利要求1所述的事件调度方法,其特征在于,所述调度器为Hadoop的调度器。
3.如权利要求2所述的事件调度方法,其特征在于,所述根据当前系统负载状况,采用与当前系统负载状况相应的调度器处理所述作业请求事件,包括:
判断当前系统负载是否达到预先设定的负载均衡阈值;
若当前系统负载未达到所述负载均衡阈值,则采用先进先出调度器FIFO处理所述作业请求事件。
4.如权利要求3所述的事件调度方法,其特征在于,所述判断当前系统负载是否达到预先设定的负载均衡阈值之后,还包括:
若当前系统负载达到所述负载均衡阈值,则判断所述作业请求事件是否有优先级需求;
若所述作业请求事件有优先级需求,则采用计算能力调度器CapacityScheduler处理所述作业请求事件。
5.如权利要求4所述的事件调度方法,其特征在于,所述判断所述作业请求事件是否有优先级需求之后,还包括:
若所述作业请求事件没有优先级需求,则采用公平调度器Fair Scheduler处理所述作业请求事件。
6.如权利要求5所述的事件调度方法,其特征在于,所述采用计算能力调度器Capacity Scheduler处理所述作业请求事件,包括:根据所述作业请求事件的优先级,采用所述Capacity Scheduler将所述作业请求事件划分到属于Capacity Scheduler的相应优先级队列中;
所述采用选择的调度器调度资源,包括:
判断当前是否还有未执行完的属于FIFO的作业事件队列;
若当前还有未执行完的属于FIFO的作业事件队列,则继续采用FIFO为所述属于FIFO的作业事件队列调度资源直至其执行完毕,随后采用所述Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源;
若当前没有未执行完的属于FIFO的作业事件队列,则直接采用所述Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源。
7.如权利要求6所述的事件调度方法,其特征在于,所述采用公平调度器Fair Scheduler处理所述作业请求事件,包括:根据所述作业请求事件的事件属性,采用所述Fair Scheduler将所述作业请求事件划分到属于Fair Scheduler的相应资源池中;
所述采用选择的调度器调度资源,包括:
判断当前是否还有未执行完的属于FIFO的作业事件队列或属于CapacityScheduler的优先级队列;
若当前还有未执行完的属于FIFO的作业事件队列或属于CapacityScheduler的优先级队列,则继续采用FIFO为所述属于FIFO的作业事件队列调度资源直至其执行完毕,或继续采用Capacity Scheduler为属于CapacityScheduler的优先级队列调度资源直至其执行完毕,随后采用所述Fair Scheduler为属于Fair Scheduler的多个资源池调度资源;
若当前没有未执行完的属于FIFO的作业事件队列及属于CapacityScheduler的优先级队列,则采用所述Fair Scheduler为属于Fair Scheduler的多个资源池调度资源。
8.一种事件调度装置,其特征在于,包括:
负载监控模块,用于实时监控当前系统负载状况,并将当前系统负载状况提供给选择分配模块;
接收模块,用于接收作业请求事件,并将接收的所述作业请求事件发送给选择分配模块;
选择分配模块,用于根据当前系统负载状况,选择与当前系统负载状况相应的调度器处理所述作业请求事件,并将选择的调度器信息发送给调度模块;
调度模块,用于根据收到的选择的调度器信息,采用所述选择的调度器调度资源。
9.如权利要求8所述的事件调度装置,其特征在于,所述选择分配模块包括:
第一判断单元,用于判断当前系统负载是否达到预先设定的负载均衡阈值,是则向第二判断单元发送优选级判断指令,否则选择先进先出调度器FIFO并发送给处理单元;
第二判断单元,用于根据收到的优先级判断指令,判断收到的所述作业请求事件是否有优先级需求,是则选择计算能力调度器Capacity Scheduler并发送给处理单元,否则选择公平调度器Fair Scheduler并发送给处理单元;
处理单元,用于采用收到的调度器将所述作业请求事件划分到属于相应调度器的队列或资源池中,并向所述调度模块发送最近一次收到的选择的调度器信息。
10.如权利要求9所述的事件调度装置,其特征在于,所述调度模块包括:
识别单元,用于识别收到的所述选择的调度器信息所指的调度器类型,当选择的调度器为FIFO时,向执行单元发送第一执行指令;当选择的调度器为Capacity Scheduler时,向执行单元发送第二执行指令;当选择的调度器为FairScheduler时,向执行单元发送第三执行指令;
执行单元,用于根据收到的第一执行指令,采用FIFO调度资源;还用于根据收到的第二执行指令,先采用FIFO为未执行完的属于FIFO的作业事件队列调度资源,执行完后采用Capacity Scheduler为属于Capacity Scheduler的多个优先级队列调度资源;还用于根据收到的第三执行指令,先采用FIFO/Capacity Scheduler将未执行完的属于FIFO的作业事件队列/属于CapacityScheduler的优先级队列调度资源,执行完后采用Fair Scheduler为属于FairScheduler的多个资源池调度资源。
CN201610237247.4A 2016-04-15 2016-04-15 一种事件调度方法及装置 Pending CN105955816A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610237247.4A CN105955816A (zh) 2016-04-15 2016-04-15 一种事件调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610237247.4A CN105955816A (zh) 2016-04-15 2016-04-15 一种事件调度方法及装置

Publications (1)

Publication Number Publication Date
CN105955816A true CN105955816A (zh) 2016-09-21

Family

ID=56918125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610237247.4A Pending CN105955816A (zh) 2016-04-15 2016-04-15 一种事件调度方法及装置

Country Status (1)

Country Link
CN (1) CN105955816A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123980A (zh) * 2016-11-30 2018-06-05 中移(苏州)软件技术有限公司 一种资源调度方法及系统
CN109857539A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 资源调度方法和终端
CN110895504A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 调度仿真系统和调度仿真方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401939A (zh) * 2013-08-08 2013-11-20 中国航天科工集团第三研究院第八三五七研究所 一种采用混合调度策略的负载均衡方法
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法
CN103455375A (zh) * 2013-01-31 2013-12-18 南京理工大学连云港研究院 Hadoop云平台下基于负载监控的混合调度方法
CN104765643A (zh) * 2015-03-25 2015-07-08 华迪计算机集团有限公司 实现云计算资源混合调度的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455375A (zh) * 2013-01-31 2013-12-18 南京理工大学连云港研究院 Hadoop云平台下基于负载监控的混合调度方法
CN103414761A (zh) * 2013-07-23 2013-11-27 北京工业大学 一种基于Hadoop架构的移动终端云资源调度方法
CN103401939A (zh) * 2013-08-08 2013-11-20 中国航天科工集团第三研究院第八三五七研究所 一种采用混合调度策略的负载均衡方法
CN104765643A (zh) * 2015-03-25 2015-07-08 华迪计算机集团有限公司 实现云计算资源混合调度的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AYSAN RASOOLI 等: "A hybrid scheduling approach for scalable heterogeneous hadoop systems", 《2012 SC COMPANION: HIGH PERFORMANCE COMPUTING, NETWORKING STORAGE AND ANALYSIS (2012)》 *
何冲: "Hadoop集群调度优化的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
戴小平 等: "Hadoop平台下计算能力调度算法的改进与实现", 《计算机工程与应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123980A (zh) * 2016-11-30 2018-06-05 中移(苏州)软件技术有限公司 一种资源调度方法及系统
CN108123980B (zh) * 2016-11-30 2020-12-08 中移(苏州)软件技术有限公司 一种资源调度方法及系统
CN109857539A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 资源调度方法和终端
CN109857539B (zh) * 2017-11-30 2022-11-15 阿里巴巴集团控股有限公司 资源调度方法和终端
CN110895504A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 调度仿真系统和调度仿真方法

Similar Documents

Publication Publication Date Title
US8424007B1 (en) Prioritizing tasks from virtual machines
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
CN105389206B (zh) 一种云计算数据中心虚拟机资源快速配置方法
CN110489217A (zh) 一种任务调度方法及系统
CN109408215A (zh) 一种计算节点的任务调度方法和装置
CN109861850B (zh) 一种基于sla的无状态云工作流负载均衡调度的方法
CN105892996A (zh) 一种批量数据处理的流水线作业方法及装置
US10157155B2 (en) Operating system-managed interrupt steering in multiprocessor systems
JPH09167141A (ja) 負荷分散制御方法
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
CN103927225A (zh) 一种多核心架构的互联网信息处理优化方法
CN106557369A (zh) 一种多线程的管理方法及系统
CN110990154B (zh) 一种大数据应用优化方法、装置及存储介质
CN111104211A (zh) 基于任务依赖的计算卸载方法、系统、设备及介质
CN107515781B (zh) 一种基于多处理器的确定性任务调度及负载均衡系统
CN108509280A (zh) 一种基于推送模型的分布式计算集群本地性调度方法
CN110347602A (zh) 多任务脚本执行方法及装置、电子设备及可读存储介质
CN105955816A (zh) 一种事件调度方法及装置
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN109189581B (zh) 一种作业调度方法和装置
CN116048721A (zh) 一种gpu集群的任务分配方法、装置、电子设备和介质
CN103218326B (zh) 综合仲裁器装置
CN106775975A (zh) 进程调度方法及装置
CN115640113A (zh) 多平面弹性调度方法
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160921