CN102243598B - 分布式数据仓库中的任务调度方法及*** - Google Patents

分布式数据仓库中的任务调度方法及*** Download PDF

Info

Publication number
CN102243598B
CN102243598B CN201010188509.5A CN201010188509A CN102243598B CN 102243598 B CN102243598 B CN 102243598B CN 201010188509 A CN201010188509 A CN 201010188509A CN 102243598 B CN102243598 B CN 102243598B
Authority
CN
China
Prior art keywords
group
real
task
subtask
time
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
CN201010188509.5A
Other languages
English (en)
Other versions
CN102243598A (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.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems 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 Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201010188509.5A priority Critical patent/CN102243598B/zh
Publication of CN102243598A publication Critical patent/CN102243598A/zh
Application granted granted Critical
Publication of CN102243598B publication Critical patent/CN102243598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供了一种分布式数据仓库中的任务调度方法及***,所述方法包括以下步骤:A.按类型将任务分为多个任务组,分别设定应分配给任务组的资源比例;B.根据所述资源比例对所述多个任务组进行资源分配。所述***包括:分组模块,按类型将任务分为多个任务组,分别设定应分配给所述任务组的资源比例;资源分配模块,根据所述资源比例对所述多个任务组进行资源分配。采用本发明提供的分布式数据库仓库中的任务调度方法及***,能够合理分配资源,不仅能满足实时的小任务的计算需求,也能满足非实时的大任务的计算需求。

Description

分布式数据仓库中的任务调度方法及***
【技术领域】
本发明涉及数据处理技术领域,尤其涉及一种分布式数据仓库中的任务调度方法及***。
【背景技术】
数据仓库(Data Warehouse)是决策支持***和联机分析应用数据源的结构化数据环境,能研究和解决从数据库中获取信息的问题。分布式数据仓库指使用基于GFS(Google File System,一个可扩展的分布式文件***)和MapReduce(一种编程模型,用于大规模数据集的并行运算)相关技术提供海量存储和计算服务的数据仓库解决方案。
采用MapReduce编程模型实现的分布式数据仓库,在进行多任务调度时通常采用FIFO(First Input First Output,先进先出)调度策略,即用户提交一个任务(job)后,根据任务提交的时间和任务优先级确定任务在FIFO队列中的位置,队列最前面的任务优先得到***的所有计算资源。
图1示出了传统的分布式数据仓库中FIFO队列中的任务调度序列图,其描述了3个任务在FIFO队列中的调度过程。假设***总共有2个M(Map)和2个R(Reduce)计算资源。最开始任务1占用了所有的计算资源,2个M计算资源和2个R计算资源同时被调度起来,单斜线填充的表示任务正在运行。任务1的2个M计算资源结束后变成交叉线填充,接着继续调度2个M计算资源,最后任务1只剩下一个M计算资源需要调度,多出的资源则分配给任务2。
然而,传统的这种任务调度方式会有任务分配资源不公平,资源不能得到合理分配的问题。例如大任务和小任务一起运行时,队列中有一些小任务可能夹杂在大任务中间,这样会导致小任务长期处于饥渴状态,因此无法满足分布式数据仓库的应用场景既要满足用户非实时的大任务的同时还需要快速响应的实时小任务的要求。
【发明内容】
基于此,有必要提供一种能合理分配资源的分布式数据仓库中的任务调度方法。
一种分布式数据仓库中的任务调度方法,包括以下步骤:A.按类型将任务分为多个任务组,分别设定应分配给任务组的资源比例;B.根据所述资源比例对所述多个任务组进行资源分配。
步骤A是:按类型将任务分为关键任务组、实时任务组和非实时任务组。
该方法还可包括:实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数。
其中,步骤B可以是:B1.判断所述关键任务组中是否有需运行的子任务,若是,则执行步骤B2,否则执行步骤B3;B2.按照所述关键任务组的调度策略将资源分配给关键任务组中的子任务;B3.对所述实时任务组和非实时任务组进行资源分配。
其中,步骤B3具体可以是:B31.根据所述资源比例获取所述实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则执行步骤B32,否则执行步骤B34;B32.判断所述实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于所述实时任务组的资源额度,若是,则执行步骤B33,否则执行步骤B34;B33.按照所述实时任务组的调度策略将资源分配给所述实时任务组中的子任务;B34.根据所述资源比例获取非实时任务组的资源额度,判断是否有资源分配给非实时任务组,若是,则执行步骤B35,否则执行步骤B37;B35.判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则执行步骤B36,否则结束;B36.按照所述非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务。
其中,该方法还可以包括:当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据所述资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给所述实时任务组中的子任务,否则结束。
此外,还有必要提供一种能合理分配资源的分布式数据仓库中的任务调度***。
一种分布式数据仓库中的任务调度***,包括:分组模块,按类型将任务分为多个任务组,分别设定应分配给所述任务组的资源比例;资源分配模块,根据所述资源比例对所述多个任务组进行资源分配。
该分组模块可按类型将任务分为关键任务组、实时任务组和非实时任务组。
该***还可包括计数器,用于实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数。
其中,资源分配模块还可用于判断所述关键任务组中是否有需运行的子任务,若是,则按照所述关键任务组的调度策略将资源分配给关键任务组中的子任务,否则对所述实时任务组和非实时任务组进行资源分配。
其中,资源分配模块还可用于根据所述资源比例获取实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照所述实时任务组的调度策略将资源分配给所述实时任务组中的子任务,否则根据所述资源比例获取非实时任务组的资源额度,判断是否有资源分配给非实时任务组,若是,则进一步判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则按照所述非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务,否则结束。
其中,资源分配模块还可用于当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据所述资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给所述实时任务组中的子任务,否则结束。
上述分布式数据仓库中的任务调度方法及***,通过任务分为多个任务组,并分别设定应分配给不同任务组的资源比例,根据资源比例对多个任务组进行资源分配,能合理分配资源。
此外,通过将任务分为关键任务组、实时任务组、非实时任务组,能在资源分配时,优先将资源分配给关键任务组;由于设定了这三个任务组的资源比例,能获取到每个任务组的资源额度,在关键任务组不需要资源时,根据实时任务组和非实时任务组的资源额度进行调配,不仅能满足非实时任务的资源需求,也能满足实时任务的资源需求,能够快速响应实时任务,使资源得到合理且充分的利用。并且,不同的任务组可采用不同的适合该任务组的调度策略,因此能更合理的分配资源。
【附图说明】
图1为传统分布式数据仓库中FIFO队列中的任务调度序列图;
图2为本发明中分布式数据仓库中的任务调度方法的流程图;
图3为一个实施例中对任务组进行资源分配的方法流程图;
图4为一个实施例中对实时任务组和非实时任务组进行资源分配的方法流程图;
图5为一个实施例中分布式数据仓库中的任务调度***的结构示意图;
图6为另一个实施例中分布式数据仓库中的任务调度***的结构示意图。
【具体实施方式】
如图2所示,一种分布式数据仓库中的任务调度方法,包括以下步骤:
步骤S10,按类型将任务分为多个任务组,分别设定应分配给任务组的资源比例。在一个实施方式中,根据任务的类型将任务分为多个任务组,例如关键任务组、实时任务组和非实时任务组等,其中,关键任务组包括一些需要定时输出且非常重要的关键任务,例如部门的日报、月报等;实时任务组包括需要及时处理的小任务;非实时任务组则包括不需要及时处理的大任务。将任务分组后,可为不同的任务组设定优先级,例如优先处理关键任务组中的任务,其次处理需要及时处理的实时任务组中的任务,然后是非实时任务组中的任务。
该实施方式中,分别设定应分配给关键任务组、实时任务组和非实时任务组的资源比例,根据资源比例可在任意时刻计算得到每个任务组的资源额度,所谓资源额度,指的是应分配给任务组的资源数,当任务组中正在运行的子任务数量达到了该任务组的资源额度,可认为已满足了该任务组的需求。在一个实施例中,设定应分配给关键任务组的资源比例为所有资源的100%,应分配给实时任务组的资源比例为在满足关键任务组的计算需求后剩余资源的20%,应分配给非实时任务组的资源比例为在满足关键任务组的计算需求后剩余资源的80%。该实施例中,***有400个计算资源,此时,则分配给关键任务组的资源为400个(即关键任务组的资源额度为400),满足关键任务组的计算需求后的剩余资源为200个资源,则分配给实时任务组的资源数为40个(即实时任务组的资源额度为40),而分配给非实时任务组的资源数为160个(即非实时任务组的资源额度为160)。
在一个实施例中,上述方法还包括:实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数。
步骤S20,根据所述资源比例对多个任务组进行资源分配。按照上述实施方式将任务分为关键任务组、实时任务组和非实时任务组,由于关键任务组的优先级最高,因此需优先满足关键任务组的资源需求。在一个实施例中,在进行资源分配之前,清除所有任务组中的已完成任务。
在一个实施例中,如图3所示,步骤S20的具体过程为:
步骤S210,判断关键任务组中是否有需运行的子任务,若是,则执行步骤S220,否则执行步骤S230。由于关键任务组中的任务需要优先处理,根据实时统计的关键任务组中的任务需要运行的子任务数及需要运行的子任务总数即可判断关键任务组中是否有需要运行的子任务,关键任务组中的任务中需要运行的子任务数为零或需要运行的子任务总数为零,则无需分配资源给关键任务组,进入步骤S230,如果不为零,则进入步骤S220。
步骤S220,按照关键任务组的调度策略将资源分配给关键任务组中的子任务。关键任务组通常运行的是大任务,可采用FIFO策略,即任务根据提交的时间和优先级在FIFO队列进行排序,资源分配给关键任务组中排序靠前且优先级高的子任务。
步骤S230,对实时任务组和非实时任务组进行资源分配。当关键任务组中没有需运行的子任务时,则资源将分配给实时任务组或非实时任务组中的子任务。
如图4所示,在一个实施例中,步骤S230的具体过程为:
步骤S2301,根据应分配给实时任务组的资源比例获取实时任务组的资源额度。由于事先设定了应分配给实时任务组的资源比例,当关键任务组没有需要运行的子任务时,此时刷新实时任务组的资源额度,即计算得到实时任务组的资源额度为满足关键任务组的需求后的剩余资源个数与相应资源比例的乘值。
步骤S2302,判断是否有资源分配给实时任务组,若是,则执行步骤S2303,否则执行步骤S2305。实时任务组的资源额度大于零,则表明此时有资源分配给实时任务组。
步骤S2303,判断实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则执行步骤S2304,否则执行步骤S2305。根据统计的实时任务组中的任务需要运行的子任务数及需要运行的子任务总数即可判断实时任务组中是否有需要运行的子任务,当任务中需要运行的子任务数或需要运行的子任务总数不为零时,则表明实时任务组中有需要运行的子任务。当正在运行的子任务总数小于实时任务组的资源额度时,表明可将资源分配给实时任务组以满足实时任务组的需求。
步骤S2304,按照实时任务组的调度策略将资源分配给实时任务组中的子任务。实时任务组通常运行的是需及时处理的小任务,可采用并发执行策略,即按任务的饥渴程度进行排序,分配的资源越少的任务越饥渴,同时可限制并发执行的子任务数量,将资源分配给实时任务组中的子任务。
步骤S2305,根据应分配给非实时任务组的资源比例获取非实时任务组的资源额度。由于事先设定了应分配给非实时任务组的资源比例,此时刷新非实时任务组的资源额度,即计算得到非实时任务组的资源额度为满足关键任务组的需求后的剩余资源个数与相应资源比例的乘值。
步骤S2306,判断是否有资源分配给非实时任务组,若是,则执行步骤S2307,否则执行步骤S2309。非实时任务组的资源额度大于零,表明有资源分配给非实时任务组。
步骤S2307,判断非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则执行步骤S2308,否则执行步骤S2309。根据统计的非实时任务组中的任务需要运行的子任务数或需要运行的子任务总数即可判断非实时任务组中是否有需要运行的子任务,当任务中需要运行的子任务数不为零或需要运行的子任务总数不为零时,则表明非实时任务组中有需要运行的子任务。当正在运行的子任务总数小于非实时任务组的资源额度时,表明可将资源分配给非实时任务组以满足非实时任务组的需求。
步骤S2308,按照非实时任务组的调度策略将资源分配给非实时任务组中的子任务。非实时任务组通常运行的是大任务,可采用FIFO策略,即任务根据提交的时间和优先级在FIFO队列进行排序,资源分配给非实时任务组中排序靠前且优先级高的子任务。
步骤S2309,根据应分配给实时任务组的资源比例获取实时任务组的资源额度。此时再次刷新实时任务组的资源额度,即计算得到实时任务组的资源额度为满足关键任务组的需求后的剩余资源个数与相应资源比例的乘值。
步骤S2310,判断是否有资源分配给实时任务组,若是,则执行步骤S2311,否则结束。实时任务组的资源额度大于零,则表明有资源分配给实时任务组。
步骤S2311,判断实时任务组中是否有需要运行的子任务且实时任务组中正在运行的子任务总数小于实时任务组的资源额度,若是,则进入步骤S2312,否则结束。当统计的实时任务组中的任务需要运行的子任务或需要运行的子任务总数不为零时,且统计的需要运行的子任务总数小于实时任务组的资源额度时,则表明可将资源分配给实时任务组以满足实时任务组的需求。
步骤S2312,按照实时任务组的调度策略将资源分配给实时任务组中的子任务。如上所示,实时任务组按照并发执行策略将资源分配其中的子任务。上述判断资源不需要分配给非实时任务组后再次判断是否将资源分配给实时任务组,能够充分满足需要及时处理的实时小任务的需求,也就是说在满足非实时任务组的需求后可能还剩有资源,此时可以用来满足实时任务组的需求,使得资源能够得到充分的利用。
下面举一个实例来说明上述分布式数据仓库中的任务调度方法的具体过程。该实例中,***一共有400个计算资源,设定应分配给关键任务组的资源比例为所有资源的100%,应分配给实时任务组的资源比例为满足关键任务组的需求后的剩余资源的20%,应分配给非实时任务组的资源比例为满足关键任务组的需求后的剩余资源的80%。关键任务组中有200个子任务需要运行,实时任务组中有180个子任务,非实时任务组中有400个子任务。此时,关键任务组的资源额度为200,实时任务组的资源额度为40,非实时任务组的资源额度为160。运行一段时间后,关键任务组中的子任务运行完毕,此时刷新得到关键任务组的资源额度为0,实时任务组的资源额度为80,非实时任务组的资源额度为320。若此时关键任务组中新增了200个子任务,则刷新得到关键任务组的资源额度为400,实时任务组的资源额度为40,非实时任务组的资源额度为160。而剩余的这200个资源是否分配给实时任务组或非实时任务组中的子任务,需按照上述方法进行资源分配。对剩余的200个资源的任意一个,首先需判断是否有资源分配给实时任务组,由于实时任务组的资源额度不为零,因此有资源分配给实时任务组,再进一步判断实时任务组中此时是否有需要运行的子任务且正在运行的子任务总数是否小于实时任务组的资源额度,若是,则将该资源分配给实时任务组,否则认为此时已满足了实时任务组的需求,不需要再将资源分配给实时任务组,则进一步判断是否有资源分配给非实时任务组,具体过程参照上面的描述,在此则不再赘述。
如图5所示,一种分布式数据仓库中的任务调度***,包括分组模块10和资源分配模块40,其中:分组模块10用于按类型将任务分为多个任务组,分别设定应分配给任务组的资源比例。资源分配模块40根据所述资源比例将多个任务组进行资源分配。
在一个实施方式中,分组模块10是将任务分配为关键任务组、实时任务组和非实时任务组,其中关键任务组中包含需要及时处理且比较重要的任务,实时任务组包含需要及时处理的小任务,非实时任务组包含不需要及时处理的一些大任务。在一个实施例中,分组模块10设定应分配给关键任务组的资源比例为所有资源的100%,应分配给实时任务组的资源比例为在满足关键任务组的计算需求后剩余资源的20%,应分配给非实时任务组的资源比例为在满足关键任务组的计算需求后剩余资源的80%。
如图2所示,在一个实施例中,该***除了包括上述分组模块10、资源分配模块40外,还包括任务清除模块20和计数器30,其中:任务清除模块20用于在分配资源之前清楚任务组中的已完成任务。计数器30包括关键任务组计数器310、实时任务组计数器320和非实时任务组计数器330,其中:关键任务组计数器310用来实时统计关键任务组中的任务中正在运行的子任务和需要运行子任务,以及关键任务组中正在运行的子任务总数及需要运行的子任务总数;实时任务组计数器320用来实时统计实时任务组中的任务中正在运行的子任务和需要运行的子任务,以及实时任务组中正在运行的子任务总数及需要运行的子任务总数;非实时任务组计数器330用来实时统计非实时任务组中的任务中正在运行的子任务和需要运行的子任务,以及非实时任务组中正在运行的子任务总数及需要运行的子任务总数。
在一个实施例中,资源分配模块40用于判断关键任务组中是否有需要运行的子任务,当计数器30统计的关键任务组中的任务中需要运行的子任务或需要运行的子任务总数不为零时,则表明有需要运行的子任务,则按照关键任务组的调度策略将资源分配给关键任务组中的子任务,否则对实时任务组和非实时任务组进行资源分配。关键任务组通常包含的都是大任务,采用先进先出策略,按照先进先出策略将资源分配给关键任务组的子任务。
资源分配模块40进一步根据分组模块10设定的资源比例获取实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则进一步判断实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,表明此时没有充分满足实时任务组的资源额度,则按照实时任务组的调度策略将资源分配给实时任务组中的子任务,实时任务组包含的是需要及时处理的小任务,可采用并发执行策略将资源分配给实时任务组中的子任务,否则对非实时任务组进行资源分配。
资源分配模块40用于根据资源比例获取非实时任务组的资源额度,判断是否有资源配给非实时任务组,若是,则进一步判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则按照非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务,同理,非实时任务组包含的是大任务,可采用先进先出策略将资源分配给非实时任务组中的子任务,否则结束。在一个优选实施例中,当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,还可以再次对实时任务组进行资源分配,以充分满足需要及时处理的实时任务组的需求,使资源得到充分的利用。
资源分配模块40还用于当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是则进一步判断实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给实时任务组中的子任务,否则结束。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种分布式数据仓库中的任务调度方法,包括以下步骤:
A.按类型将任务分为关键任务组、实时任务组和非实时任务组,其中所述关键任务组包括一些需要定时输出且非常重要的关键任务,实时任务组包括需要及时处理的小任务,非实时任务组包括不需要及时处理的大任务,为不同的任务组设定优先级,优先处理关键组中的任务,其次处理需要及时处理的实时任务组中的任务,然后是非实时任务组中的任务,分别设定应分配给任务组的资源比例;
实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数;
B.根据所述资源比例对所述多个任务组进行资源分配,具体是:
B1.判断所述关键任务组中是否有需运行的子任务,若是,则执行步骤B2,否则执行步骤B3;
B2.按照所述关键任务组的调度策略将资源分配给关键任务组中的子任务;
B3.对所述实时任务组和非实时任务组进行资源分配。
2.根据权利要求1所述的分布式数据仓库中的任务调度方法,其特征在于,所述步骤B3具体是:
B31.根据所述资源比例获取所述实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则执行步骤B32,否则执行步骤B34;
B32.判断所述实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于所述实时任务组的资源额度,若是,则执行步骤B33,否则执行步骤B34;
B33.按照所述实时任务组的调度策略将资源分配给所述实时任务组中的子任务;
B34.根据所述资源比例获取非实时任务组的资源额度,判断是否有资源分配给非实时任务组,若是,则执行步骤B35,否则结束;
B35.判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则执行步骤B36,否则结束;
B36.按照所述非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务。
3.根据权利要求2所述的分布式数据仓库中的任务调度方法,其特征在于,所述方法还包括:
当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据所述资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给所述实时任务组中的子任务,否则结束。
4.一种分布式数据仓库中的任务调度***,其特征在于,包括:
分组模块,按类型将任务分为关键任务组、实时任务组和非实时任务组,其中所述关键任务组包括一些需要定时输出且非常重要的关键任务,实时任务组包括需要及时处理得小任务,非实时任务组包括不需要及时处理得大任务,为不同的任务组设定优先级,优先处理关键组中的任务,其次处理需要及时处理的实时任务组中的任务,然后是非实时任务组中的任务,分别设定应分配给所述任务组的资源比例;
计数器,用于实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数;
资源分配模块,根据所述资源比例对所述多个任务组进行资源分配具体用于判断所述关键任务组中是否有需运行的子任务,若是,则按照所述关键任务组的调度策略将资源分配给关键任务组中的子任务,否则对所述实时任务组和非实时任务组进行资源分配。
5.根据权利要求4所述的分布式数据仓库中的任务调度***,其特征在于,所述资源分配模块还用于根据所述资源比例获取实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照所述实时任务组的调度策略将资源分配给所述实时任务组中的子任务,否则根据所述资源比例获取非实时任务组的资源额度,判断是否有资源分配给非实时任务组,若是,则进一步判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则按照所述非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务,否则结束。
6.根据权利要求4所述的分布式数据仓库中的任务调度***,其特征在于,所述资源分配模块还用于当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据所述资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给所述实时任务组中的子任务,否则结束。
CN201010188509.5A 2010-05-14 2010-05-14 分布式数据仓库中的任务调度方法及*** Active CN102243598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010188509.5A CN102243598B (zh) 2010-05-14 2010-05-14 分布式数据仓库中的任务调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010188509.5A CN102243598B (zh) 2010-05-14 2010-05-14 分布式数据仓库中的任务调度方法及***

Publications (2)

Publication Number Publication Date
CN102243598A CN102243598A (zh) 2011-11-16
CN102243598B true CN102243598B (zh) 2015-09-16

Family

ID=44961669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010188509.5A Active CN102243598B (zh) 2010-05-14 2010-05-14 分布式数据仓库中的任务调度方法及***

Country Status (1)

Country Link
CN (1) CN102243598B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521056B (zh) * 2011-12-28 2013-08-14 用友软件股份有限公司 任务分配装置和任务分配方法
CN102866920B (zh) * 2012-08-02 2016-05-11 杭州海康威视数字技术股份有限公司 主从结构分布式视频处理***及其调度方法
CN103593232B (zh) * 2012-08-15 2017-07-04 阿里巴巴集团控股有限公司 一种数据仓库的任务调度方法及装置
CN103473334B (zh) * 2013-09-18 2017-01-11 中控技术(西安)有限公司 数据存储、查询方法及***
CN103699445B (zh) * 2013-12-19 2017-02-15 北京奇艺世纪科技有限公司 一种任务调度方法、装置及***
CN103701886A (zh) * 2013-12-19 2014-04-02 中国信息安全测评中心 一种云计算环境下的服务及资源分层调度方法
CN104102543B (zh) * 2014-06-27 2018-09-11 北京奇艺世纪科技有限公司 一种云计算环境中负载调整的方法和装置
CN104391918B (zh) * 2014-11-19 2018-01-19 天津南大通用数据技术股份有限公司 基于对等部署的分布式数据库查询优先级管理的实现方法
CN106406987B (zh) * 2015-07-29 2020-01-03 阿里巴巴集团控股有限公司 一种集群中的任务执行方法及装置
US10313429B2 (en) * 2016-04-11 2019-06-04 Huawei Technologies Co., Ltd. Distributed resource management method and system
CN106649471A (zh) * 2016-09-28 2017-05-10 新华三技术有限公司 一种访问控制方法及装置
CN107092999B (zh) * 2016-11-08 2021-02-26 北京星选科技有限公司 任务处理方法及装置
CN108279980A (zh) * 2018-01-22 2018-07-13 上海联影医疗科技有限公司 资源分配方法及***和资源分配终端
CN108280230A (zh) * 2018-02-27 2018-07-13 北京中关村科金技术有限公司 一种分析数据的方法、装置、设备及存储介质
CN108510213A (zh) * 2018-05-11 2018-09-07 苏州华兴源创电子科技有限公司 将任务依次分配至任务组的方法、装置、设备及介质
CN109408215B (zh) * 2018-11-07 2021-10-01 郑州云海信息技术有限公司 一种计算节点的任务调度方法和装置
CN111580974B (zh) * 2020-05-08 2023-06-27 抖音视界有限公司 Gpu实例分配方法、装置、电子设备和计算机可读介质
CN112181662B (zh) * 2020-10-13 2023-05-02 深圳壹账通智能科技有限公司 任务调度方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169741A (zh) * 2006-10-25 2008-04-30 国际商业机器公司 确定作业的调度优先级的方法和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2818769B1 (fr) * 2000-12-21 2004-06-18 Eads Airbus Sa Procede et systeme d'exploitation temps reel multitaches

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169741A (zh) * 2006-10-25 2008-04-30 国际商业机器公司 确定作业的调度优先级的方法和***

Also Published As

Publication number Publication date
CN102243598A (zh) 2011-11-16

Similar Documents

Publication Publication Date Title
CN102243598B (zh) 分布式数据仓库中的任务调度方法及***
CN103324525B (zh) 一种云计算环境下的任务调度方法
CN108268317B (zh) 一种资源分配方法及装置
CN102043675B (zh) 一种基于任务处理请求任务量大小的线程池管理方法
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
CN103458052B (zh) 一种基于IaaS云平台的资源调度方法和装置
CN104657214A (zh) 一种基于多队列和多优先级的大数据任务管理***和方法
CN103729246B (zh) 一种任务调度方法和装置
CN102722417A (zh) 一种扫描任务的分配方法和装置
CN109861850B (zh) 一种基于sla的无状态云工作流负载均衡调度的方法
CN103970609A (zh) 一种基于改进蚁群算法的云数据中心任务调度方法
CN103927225A (zh) 一种多核心架构的互联网信息处理优化方法
CN103257896B (zh) 一种云环境下的Max-D作业调度方法
CN105373426B (zh) 一种基于Hadoop的车联网内存感知实时作业调度方法
CN101271405A (zh) 基于QoS约束的双向分级网格资源调度方法
CN102855293A (zh) 一种电动汽车及充换电设施***海量数据处理方法
CN103455375B (zh) Hadoop云平台下基于负载监控的混合调度方法
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN103902384A (zh) 为虚拟机分配物理机的方法及装置
CN102662761A (zh) 一种多核中央处理器***中内存池的调度方法以及装置
CN102708003A (zh) 一种云平台下的资源分配方法
CN103942109A (zh) 基于多核dsp的自适应任务调度方法
CN105430027A (zh) 基于多资源尺度的负载均衡动态预调度方法
CN103685492A (zh) Hadoop集群***的调度方法、调度装置及其应用
CN102917014A (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
C14 Grant of patent or utility model
GR01 Patent grant