CN102567086B - 一种任务调度的方法、设备和系统 - Google Patents
一种任务调度的方法、设备和系统 Download PDFInfo
- Publication number
- CN102567086B CN102567086B CN201010623545.XA CN201010623545A CN102567086B CN 102567086 B CN102567086 B CN 102567086B CN 201010623545 A CN201010623545 A CN 201010623545A CN 102567086 B CN102567086 B CN 102567086B
- Authority
- CN
- China
- Prior art keywords
- resource
- queue
- information
- jobs node
- precedence information
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000007726 management method Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 238000013523 data management Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种任务调度的方法、设备和系统,该方法包括:确定备作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点。本发明实施例中,通过统筹考虑各种类型的作业,根据各作业节点的资源信息将队列中的任务分配到合适的作业节点,以合理调度各种类型的作业。通过统一管理各种类型的作业,不会出现某种类型的作业消耗系统的所有资源导致其他作业堵塞的情况。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种任务调度的方法、设备和系统。
背景技术
在当前的数据管理系统中,要支撑多种类型的作业,包括:数据加载作业,用于保证来自业务系统的数据及时加载到数据管理系统;SQL(StructuredQuery Language,结构化查询语言)查询作业,用于处理用户提交的SQL操作;后台维护作业,用于周期性或手动触发对数据的后台维护,例如,对过期数据的定期清除、数据文件的合并和分裂、数据一致性维护、数据负载均衡、其他作业等。在当前数据管理系统的作业调度方案中,数据管理系统无法统一管理上述作业,而是孤立地实施管理。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
现有方案对各种类型的作业是独立执行的,并不统一进行管理。当需要处理的数据量较大时,会造成业务的堵塞。例如,对于数据加载作业,需要对TB级别的数据进行转换加载时,会消耗系统的所有资源,此时SQL查询作业和后台维护作业均由于无法获取足够的资源而不能执行。类似的情况,SQL查询作业和后台维护作业也可能占用系统所有资源,造成其他作业的堵塞。
如果数据加载作业被堵塞,则会造成大量数据无法及时的加载;如果SQL查询作业被堵塞,则会造成较大的查询响应时间,较坏的用户感受;如果后台维护作业被堵塞,则造成数据的不一致或错误。
发明内容
本发明实施例提供一种任务调度的方法、设备和系统,以合理调度各种类型的作业。
为了达到上述目的,本发明实施例提供一种任务调度的方法,包括:
确定各作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;
根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点。
本发明实施例提供一种任务调度的设备,包括:
第一确定模块,用于确定各作业节点的资源信息;
第二确定模块,用于确定存储任务的各队列对应资源的优先级信息;
分配模块,用于根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点。
本发明实施例提供一种任务调度的系统,包括:
资源调度器,用于确定各作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点;
作业节点,用于当接收到所述资源调度器调度的任务时,对所述任务进行相应处理。
与现有技术相比,本发明至少具有以下优点:
通过统筹考虑各种类型的作业,根据各作业节点的资源信息将队列中的任务分配到合适的作业节点,以合理调度各种类型的作业。通过统一管理各种类型的作业,不会出现某种类型的作业消耗系统的所有资源导致其他作业堵塞的情况。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种任务调度的方法流程示意图;
图2是本发明实施例二提供的一种任务调度的设备结构示意图;
图3是本发明实施例四提供的系统逻辑架构示意图;
图4是本发明实施例四提供的部署架构示意图;
图5是本发明实施例四提供的一种任务调度的方法流程示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种任务调度的方法,如图1所示,该方法包括以下步骤:
步骤101,当有作业需要调度时,根据作业调度特征信息确定作业类型。
其中,对于每个需要调度的作业来说,均具有自身对应的作业调度特征信息,该作业调度特征信息包括但不限于在作业运行1过程中对各种资源(如计算资源、存储资源、网络资源等)的占用情况;作业运行时长;作业运行时间(如上午、下午、傍晚、晚间、凌晨等)。本发明实施例中,可将具有相同或相近作业调度特征信息的作业归为一类作业,而具有相同或相近作业调度特征信息的作业为同一作业类型。例如,将对计算资源占用情况较多的作业归为作业类型1。实际应用中,作业类型可包括但不限于为数据加载、数据查询和后台管理等。
本发明实施例中,外部请求以作业的形式提交至作业管理系统,资源调度器(或者作业管理系统中的其他设备或功能模块)将根据该作业的调度特征信息确定作业类型。
步骤102,根据作业类型将该作业作为任务存储到对应的队列中。其中,根据实际需要可设置多个队列,每个队列存储一种作业类型的作业,不同的队列用于存储不同作业类型的作业。例如,可根据实际情况设置3个队列,将具有作业类型A(如数据加载)的作业存储到队列1、将具有作业类型B(如数据查询)的作业存储到队列2、将具有作业类型C(如后台管理)的作业存储到队列1中。
本发明实施例中,对于每个作业来说,与每个任务相对应;在作业运行前可称之为作业;在作业运行过程中可称之为任务;即作业与任务是相同的概念。
具体的,外部请求以作业的形式提交至作业管理系统后,当该作业是已知类型的作业时,可在提交作业时即设定其作业调度特征信息,确定该作业的作业类型,并将该作业作为任务存储到对应的队列中(由于是已知类型,则之前已经存在了作业类型所对应的队列)。当该作业是未知类型的作业时,在作业管理系统运行过程中,可动态生成新的作业类型,管理员可根据经验为动态生成的作业类型设置队列,并将该作业作为任务存储到该设置的队列中,该未知类型转变为已知类型。
步骤103,确定各作业节点的资源信息以及各队列对应资源的优先级信息。其中,各作业节点的资源信息包括各作业节点的不同资源类型的资源的信息;各队列对应资源的优先级信息包括各队列对应不同资源类型的资源的优先级信息;不同资源类型的资源包括计算资源、存储资源和网络资源。
本发明实施例中,用于处理任务的节点为作业节点,作业管理系统由多个作业节点构成,每个作业节点具有一定的资源。该资源包括但不限于计算资源、存储资源和网络资源。本步骤中各作业节点的资源信息为各作业节点的资源使用情况。
本发明实施例中,确定各队列对应资源的优先级信息的过程,具体为:将资源划分为计算资源、存储资源和网络资源,并设置每个队列对应计算资源的优先级信息、对应存储资源的优先级信息、对应网络资源的优先级信息。其中,每个队列拥有一定的资源(包括但不限于计算资源、存储资源和网络资源等),每个队列针对每种资源配置有对应的优先级。
例如,在日志管理系统中,存在数据加载、数据查询和后台管理三种作业类型的队列,数据加载队列对存储资源和网络资源具有较高要求;数据查询队列对计算资源,存储资源具有较高要求;后台管理队列对各种资源均无特别要求。基于上述情况,可设置数据加载队列的计算资源的优先级信息为低级别,存储资源的优先级信息为高级别,网络资源的优先级信息为高级别;设置数据查询队列的计算资源的优先级信息为高级别,存储资源的优先级信息为低级别,网络资源的优先级信息为低级别;设置后台管理作业的计算资源的优先级信息为低级别,存储资源的优先级信息为低级别,网络资源的优先级信息为低级别。
进一步的,可考虑为不同的优先级分配不同的优先概率(即队列中作业的任务以多大的概率获取资源),对于上述日志系统可采用如下优先概率:队列1(数据加载队列)计算资源优先级概率为30%、存储资源优先级概率为50%、网络资源优先级概率为40%;队列2(数据查询队列)计算资源优先级概率为50%、存储资源优先级概率为20%、网络资源优先级概率为40%;队列3(后台管理队列)计算资源优先级概率为20%、存储资源优先级概率30%、网络资源优先级概率为20%。当然,实际应用中,上述优先级概率还可以根据实际情况进行调整,只要保证所有队列计算资源优先级概率之和为100%、存储资源优先级概率之和为100%、网络资源优先级概率之和为100%即可,本发明实施例中不再详加赘述。
步骤104,根据各作业节点的资源信息和各队列对应资源的优先级信息将队列中的任务分配到对应的作业节点。例如,作业节点1的资源信息为计算资源使用40%,网络资源和存储资源均使用95%,队列1对应资源的优先级信息为计算资源优先级概率为80%,网络资源优先级概率和存储资源优先级概率为30%,则可以将队列1中的任务分配到作业节点1进行处理。
实际应用中,作业可以恰当的方式被分解为若干个子任务,每个子任务依赖于一定的计算资源、存储资源或网络资源完成其操作;因此,本步骤中,可将队列中的任务划分为子任务,并根据各作业节点的资源信息和各队列对应资源的优先级信息将队列中的子任务分配到对应的作业节点中运行。具体的,可根据每个队列对应每种资源的优先级信息以及各作业节点的每种资源的空闲情况,将队列中的子任务分配到对应的作业节点。
其中,每种资源为计算资源、存储资源或网络资源;当队列对应计算资源具有最高优先级时,将所述队列中的子任务分配到计算资源剩余情况最优的作业节点;当队列对应存储资源具有最高优先级时,将所述队列中的子任务分配到存储资源剩余情况最优的作业节点;当队列对应网络资源具有最高优先级时,将所述队列中的子任务分配到网络资源剩余情况最优的作业节点。
本发明实施例中,对于各作业节点来说,还需要对各种资源进行配额管理,实际应用中可在各作业节点设置有资源配额管理模块进行配额管理(例如,MapReduce系统中的map slot和reduce slot就是为了管理计算资源配额而设置的)。当任务分配到对应的作业节点后,作业节点可将计算、存储或网络资源分配给来自不同作业队列的作业的子任务。
需要说明的是,考虑到某些数据管理系统运行的作业类型较为固定,其运行特点也有明确的区分,本发明实施例中,还可根据作业调度特征信息为对应的业务预留作业节点的资源。例如,针对WAP网关日志系统,每天早晨8点左右会有针对前一天报表数据的汇聚查询、每天数据加载最高峰时段为上午9点-10点、每月最后一天会有大量针对当月汇聚信息的查询操作、后台作业在凌晨1点左右启动。通过分析上述情况,可在适当的时机提出资源预留,以保证特定作业类型的作业触发时资源已经可用。上述WAP网关日志系统中,数据加载作业类型集中在上午9点-10点,则可在上午9点-10点预留相关资源,而由于数据加载对存储资源和网络资源的需求较高,则可以在作业节点上预留存储资源和网络资源;当上午9点需要对数据加载作业进行调度时,由于作业节点上已经预留了存储资源和网络资源,则可以保证数据加载作业被正常调度。
本发明实施例中,针对资源释放的情况,如果释放一种资源,则该种资源为此次调度的关键资源;如果同时释放多种资源,则选取资源比重较大的资源为此次调度的关键资源,如果多种资源比重相当,则随机选取一种资源为关键资源。进一步的,选择以此次调度关键资源为最高优先级需求的队列作为此次调度的优先调度队列,如果多个队列均满足条件,则随机选取一个队列,同时确定第二优先调度队列,第三优先调度队列,以此类推;之后,在选中队列队首选取一个子任务作为调度目标,派发该子任务到上述释放资源的作业节点执行。当然,实际应用中到释放资源的作业节点执行的子任务可以根据实际情况任意选择,并不局限于上述关键资源的方式,例如,可以采用轮询的方式依次从各队列中选择子任务执行等,本发明实施例中不再赘述。
综上所述,本发明实施例中,通过统筹考虑各种类型的作业,根据各作业节点的资源剩余情况将队列中的任务分配到合适的作业节点,以合理调度各种类型的作业。通过统一管理各种类型的作业,不会出现某种类型的作业消耗系统的所有资源导致其他作业堵塞的情况。
实施例二
基于与上述方法同样的发明构思,本发明实施例二提供一种任务调度的设备(如资源调度器),如图2所示,该设备包括:
第一确定模块11,用于确定各作业节点的资源信息;其中,各作业节点的资源信息包括:各作业节点的不同资源类型的资源的信息。
第二确定模块12,用于确定存储任务的各队列对应资源的优先级信息;其中,各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级信息。
本发明实施例中,不同资源类型的资源包括计算资源、存储资源和网络资源;所述第二确定模块12,具体用于设置每个队列对应计算资源的优先级信息、对应存储资源的优先级信息、对应网络资源的优先级信息。其中,每个队列拥有一定的资源(包括但不限于计算资源、存储资源和网络资源等),每个队列针对每种资源配置有对应的优先级。例如,在日志管理系统中,存在数据加载、数据查询和后台管理三种作业类型的队列,数据加载队列对存储资源和网络资源具有较高要求;数据查询队列对计算资源,存储资源具有较高要求;后台管理队列对各种资源均无特别要求。基于上述情况,可设置数据加载队列的计算资源的优先级信息为低级别,存储资源的优先级信息为高级别,网络资源的优先级信息为高级别;设置数据查询队列的计算资源的优先级信息为高级别,存储资源的优先级信息为低级别,网络资源的优先级信息为低级别;设置后台管理作业的计算资源的优先级信息为低级别,存储资源的优先级信息为低级别,网络资源的优先级信息为低级别。
进一步的,可考虑为不同的优先级分配不同的优先概率(即队列中作业的任务以多大的概率获取资源),对于上述日志系统可采用如下优先概率:队列1(数据加载队列)计算资源优先级概率为30%、存储资源优先级概率为50%、网络资源优先级概率为40%;队列2(数据查询队列)计算资源优先级概率为50%、存储资源优先级概率为20%、网络资源优先级概率为40%;队列3(后台管理队列)计算资源优先级概率为20%、存储资源优先级概率30%、网络资源优先级概率为20%。当然,实际应用中,上述优先级概率还可以根据实际情况进行调整,只要保证所有队列计算资源优先级概率之和为100%、存储资源优先级概率之和为100%、网络资源优先级概率之和为100%即可,本发明实施例中不再详加赘述。
分配模块13,用于根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点。例如,作业节点1的资源信息为计算资源使用40%,网络资源和存储资源均使用95%,队列1对应资源的优先级信息为计算资源优先级概率为80%,网络资源优先级概率和存储资源优先级概率为30%,则可以将队列1中的任务分配到作业节点1进行处理。
本发明实施例中,所述分配模块13,具体用于将所述队列中的任务划分为子任务,并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的子任务分配到对应的作业节点。所述分配模块13,进一步用于根据每个队列对应每种资源的优先级信息以及各作业节点的每种资源的空闲情况,将所述队列中的子任务分配到对应的作业节点。
其中,每种资源为计算资源、存储资源或网络资源;所述分配模块13,进一步用于当队列对应计算资源具有最高优先级时,将所述队列中的子任务分配到计算资源剩余情况最优的作业节点;当队列对应存储资源具有最高优先级时,将所述队列中的子任务分配到存储资源剩余情况最优的作业节点;当队列对应网络资源具有最高优先级时,将所述队列中的子任务分配到网络资源剩余情况最优的作业节点。本发明实施例中,各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级概率;其中,所有资源类型的资源的优先级概率之和为100%。
本发明实施例中,该设备还包括:
第三确定模块14,用于当有作业需要调度时,根据作业调度特征信息确定作业类型。
其中,对于每个需要调度的作业来说,均具有自身对应的作业调度特征信息,该作业调度特征信息包括但不限于在作业运行1过程中对各种资源(如计算资源、存储资源、网络资源等)的占用情况;作业运行时长;作业运行时间(如上午、下午等)。本发明实施例中,可将具有相同或相近作业调度特征信息的作业归为一类作业,而具有相同或相近作业调度特征信息的作业为同一作业类型。例如,将对计算资源占用情况较多的作业归为作业类型1。实际应用中,作业类型可包括但不限于为数据加载、数据查询和后台管理等。本发明实施例中,外部请求以作业的形式提交至作业管理系统,第三确定模块14将根据该作业的调度特征信息确定作业类型。
存储模块15,用于根据该作业类型将该作业作为任务存储到对应的队列中;其中,不同的队列用于存储不同作业类型的作业。
具体的,根据实际需要可设置多个队列,每个队列存储一种作业类型的作业,不同的队列用于存储不同作业类型的作业。例如,可根据实际情况设置3个队列,将具有作业类型A(如数据加载)的作业存储到队列1、将具有作业类型B(如数据查询)的作业存储到队列2、将具有作业类型C(如后台管理)的作业存储到队列1中。本发明实施例中,对于每个作业来说,与每个任务相对应;在作业运行前可称之为作业;在作业运行过程中可称之为任务;即作业与任务是相同的概念。进一步的,外部请求以作业的形式提交至作业管理系统后,当该作业是已知类型的作业时,可在提交作业时即设定其作业调度特征信息,确定该作业的作业类型,并将该作业作为任务存储到对应的队列中(由于是已知类型,则之前已经存在了作业类型所对应的队列)。当该作业是未知类型的作业时,在作业管理系统运行过程中,可动态生成新的作业类型,管理员可根据经验为动态生成的作业类型设置队列,并将该作业作为任务存储到该设置的队列中,该未知类型转变为已知类型。
本发明实施例中,该设备还包括:
预留模块16,用于根据作业调度特征信息为对应的业务预留作业节点的资源。
本发明实施例中,对于各作业节点来说,还需要对各种资源进行配额管理,实际应用中可在各作业节点设置有资源配额管理模块进行配额管理(例如,MapReduce系统中的map slot和reduce slot就是为了管理计算资源配额而设置的)。当任务分配到对应的作业节点后,作业节点可将计算、存储或网络资源分配给来自不同作业队列的作业的子任务。
需要说明的是,考虑到某些数据管理系统运行的作业类型较为固定,其运行特点也有明确的区分,本发明实施例中,还可根据作业调度特征信息为对应的业务预留作业节点的资源。例如,针对WAP网关日志系统,每天早晨8点左右会有针对前一天报表数据的汇聚查询、每天数据加载最高峰时段为上午9点-10点、每月最后一天会有大量针对当月汇聚信息的查询操作、后台作业在凌晨1点左右启动。通过分析上述情况,可在适当的时机提出资源预留,以保证特定作业类型的作业触发时资源已经可用。上述WAP网关日志系统中,数据加载作业类型集中在上午9点-10点,则可在上午9点-10点预留相关资源,而由于数据加载对存储资源和网络资源的需求较高,则可以在作业节点上预留存储资源和网络资源;当上午9点需要对数据加载作业进行调度时,由于作业节点上已经预留了存储资源和网络资源,则可以保证数据加载作业被正常调度。
本发明实施例中,针对资源释放的情况,如果释放一种资源,则该种资源为此次调度的关键资源;如果同时释放多种资源,则选取资源比重较大的资源为此次调度的关键资源,如果多种资源比重相当,则随机选取一种资源为关键资源。进一步的,选择以此次调度关键资源为最高优先级需求的队列作为此次调度的优先调度队列,如果多个队列均满足条件,则随机选取一个队列,同时确定第二优先调度队列,第三优先调度队列,以此类推;之后,在选中队列队首选取一个子任务作为调度目标,派发该子任务到上述释放资源的作业节点执行。当然,实际应用中到释放资源的作业节点执行的子任务可以根据实际情况任意选择,并不局限于上述关键资源的方式,例如,可以采用轮询的方式依次从各队列中选择子任务执行等,本发明实施例中不再赘述。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
实施例三
基于与上述方法同样的发明构思,本发明实施例三提供一种任务调度的系统,该系统包括:
资源调度器,用于确定各作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点;
作业节点,用于当接收到所述资源调度器调度的任务时,对所述任务进行相应处理。
实施例四
为了更加清楚的阐述本发明实施例提供的技术方案,以下结合具体的应用场景对本发明实施例进行进一步的说明。如图3所示的系统逻辑架构示意图和图4所示的部署架构示意图,该方法应用于作业管理系统中。外部请求以作业形式提交至作业管理系统,且作业以恰当的方式被分解为若干子任务,每个子任务依赖于一定的计算、存储或网络资源完成其操作;另外,作业管理系统由多个作业节点构成,每个作业节点拥有一定的计算、存储和网络资源;当作业到达后,先由作业调度模块分配至某一作业队列;之后历史资源分析模块和队列资源预判模块将根据历史作业执行情况,动态调整作业队列占用的各种资源(以优先级和分配系数方式调整);并将子任务以恰当的方式分配到作业节点运行。
在综合资源调度过程中,作业运行时被分解为多个子任务,可以适当的方式同时在多个节点上运行;综合资源调度需要综合考虑不同作业类型的作业的特点和各个作业节点上资源配置及使用情况。在资源调度过程中,分为以下情况,(1)输入情况:对于若干队列,每个队列中已存在若干作业,资源调度器可根据当前队列快照产生调度策略。(2)输出情况:每个作业中的每个子任务被分配到相应的硬件资源上运行(即子任务被分配到哪个作业节点,何时在该作业节点上启动子任务)。(3)调度策略:资源调度器根据当前作业分布状况,得到系统可用资源分布图(即各作业节点的CPU、硬盘、网络资源空闲状况列表等),并根据当前已提交所有作业的优先级信息和上述资源图,按照作业和队列的优先级设置将子任务进行派发。
优选的,当有资源释放(一种或多种)时,作业调度模块获取调度特征信息:<C[x,a%],S[y,b%],N[z,c%]>,此向量中内容分别代表此作业队列计算(C),存储(S)和网络(N)资源的优先级及优先概率。如果释放一种资源,则该种资源为此次调度的关键资源;若同时释放多种资源,则选取资源比重较大的资源为此次调度的关键资源(例如,同时释放了1%的计算和2%的网络资源,则认为此次调度的关键资源为网络资源),若多种资源比重相当,则随机选取一种为关键资源。之后,选择以此次调度关键资源为最高优先级需求的队列作为此次调度的优先调度队列,如果多个队列满足则随即选取一个队列,并同时确定第二优先调度队列,第三优先调度队列,以此类推。之后,在选中队列队首选取一个子任务作为调度目标,派发该子任务到前述释放资源的节点执行。
本发明实施例四提供的任务调度的方法中,(1)队列个数可人为设定,也可在运行时根据系统作业执行情况动态增减;(2)调度依赖于计算、存储、网络资源数量,当系统中作业节点数目或相关部署情况发生变化时,资源数量随之变化;(3)各个作业队列占有的资源百分比可根据各类作业复杂性、历史和经验数据预先设定,系统运行后可以动态调整;(4)各个作业队列资源可共享,当某个队列中没有任务执行时,则其资源可被自动释放给其他队列占用,一旦有作业到来时,则需要等待到资源被释放才可执行;(5)为了避免等待时间过长和资源浪费,可根据实际情况进行资源预留;(6)将不同类型的作业调度至不同的队列中,可保证当多种作业同时提交时,每个作业均有部分资源进行执行,不至于造成作业堵塞,低优先级的后台维护作业被饿死的情况。
基于上述情况,如图5所示,本发明实施例四提供的任务调度的方法中,包括以下步骤:
步骤501,新作业到达。
步骤502,判断该作业是否为已知作业类型;如果是,执行步骤503,否则,执行步骤504。
步骤503,获取作业类型。其中,该作业类型包括但不限于数据加载、数据查询、后台管理等。本步骤之后,执行步骤505。
步骤504,获取作业特征信息,并根据该作业特征信息确定作业类型。其中,由于该作业不是已知类型,则需根据获取的作业特征信息确定相应的作业类型。
具体的,在作业管理系统运行过程中,可根据作业特征信息(未知类型作业的作业特征信息)动态生成新的作业类型。
步骤505,作业调度模块将作业投入对应的队列等待运行。其中,对于已知类型的作业,可直接将该作业作为任务存储到对应的队列中(由于是已知类型,则之前已经存在了作业类型所对应的队列);对于未知类型的作业,可根据经验为动态生成的作业类型设置队列,并将该作业作为任务存储到该设置的队列中,该未知类型转变为已知类型。
步骤506,当作业满足运行条件时,执行队列中的作业,将作业内各子任务按照作业所属队列的调度策略进行分配。具体的,可根据各作业节点的资源使用情况以及作业所属队列的队列对应资源的优先级信息将作业内各子任务分配到合适的作业节点中运行。
需要注意的是,在作业执行过程中,资源监控模块还可收集资源占用的情况和作业特征信息,从而可根据收集结果确定当前的资源占用情况,并为其他队列中的子任务分配提供基础。
步骤507,当作业运行结束时,触发历史资源分析模块向资源监控模块询问该作业资源使用情况。
步骤508,根据获取的信息更新该作业所属作业类型的作业特征信息。
实际应用中,如果作业特征信息变化较大,还可通知队列资源预判模块作业特征信息的变化。
综上所述,本发明实施例中,通过统筹考虑各种类型的作业,根据各作业节点的资源剩余情况将队列中的任务分配到合适的作业节点,以合理调度各种类型的作业。通过统一管理各种类型的作业,不会出现某种类型的作业消耗系统的所有资源导致其他作业堵塞的情况。
另外,对于多种资源根据优先级统一进行调度,充分利用了现有资源,减少作业执行平均等待时间;而且针对作业特点预留资源,保证作业可在短时间内开始运行。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (13)
1.一种任务调度的方法,其特征在于,包括:
确定各作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;
根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点;
其中,各作业节点的资源信息包括:各作业节点的不同资源类型的资源的信息;各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级信息;
其中,不同资源类型的资源包括计算资源、存储资源和网络资源;所述确定各队列对应资源的优先级信息,包括:
设置每个队列对应计算资源的优先级信息、对应存储资源的优先级信息、对应网络资源的优先级信息;
其中,根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点,包括:
将所述队列中的任务划分为子任务,并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的子任务分配到对应的作业节点。
2.如权利要求1所述的方法,其特征在于,所述确定各作业节点的资源信息以及各队列对应资源的优先级信息,之前还包括:
当有作业需要调度时,根据作业调度特征信息确定作业类型,并根据该作业类型将该作业作为任务存储到对应的队列中;其中,不同的队列用于存储不同作业类型的作业。
3.如权利要求1所述的方法,其特征在于,所述根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的子任务分配到对应的作业节点,包括:
根据每个队列对应每种资源的优先级信息以及各作业节点的每种资源的空闲情况,将所述队列中的子任务分配到对应的作业节点。
4.如权利要求3所述的方法,其特征在于,每种资源为计算资源、存储资源或网络资源;
根据每个队列对应每种资源的优先级信息以及各作业节点的每种资源的空闲情况,将所述队列中的子任务分配到对应的作业节点,包括:
当队列对应计算资源具有最高优先级时,将所述队列中的子任务分配到计算资源剩余情况最优的作业节点;
当队列对应存储资源具有最高优先级时,将所述队列中的子任务分配到存储资源剩余情况最优的作业节点;
当队列对应网络资源具有最高优先级时,将所述队列中的子任务分配到网络资源剩余情况最优的作业节点。
5.如权利要求1-4任一项所述的方法,其特征在于,各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级概率;其中,所有资源类型的资源的优先级概率之和为100%。
6.如权利要求1所述的方法,其特征在于,所述确定各作业节点的资源信息以及各队列对应资源的优先级信息,之前还包括:根据作业调度特征信息为对应的业务预留作业节点的资源。
7.一种任务调度的设备,其特征在于,包括:
第一确定模块,用于确定各作业节点的资源信息;
第二确定模块,用于确定存储任务的各队列对应资源的优先级信息;
分配模块,用于根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点;
其中,各作业节点的资源信息包括:各作业节点的不同资源类型的资源的信息;各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级信息;
其中,不同资源类型的资源包括计算资源、存储资源和网络资源;
所述第二确定模块,具体用于设置每个队列对应计算资源的优先级信息、对应存储资源的优先级信息、对应网络资源的优先级信息;
其中,所述分配模块,具体用于将所述队列中的任务划分为子任务,并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的子任务分配到对应的作业节点。
8.如权利要求7所述的设备,其特征在于,还包括:
第三确定模块,用于当有作业需要调度时,根据作业调度特征信息确定作业类型;
存储模块,用于根据该作业类型将该作业作为任务存储到对应的队列中;其中,不同的队列用于存储不同作业类型的作业。
9.如权利要求7所述的设备,其特征在于,
所述分配模块,进一步用于根据每个队列对应每种资源的优先级信息以及各作业节点的每种资源的空闲情况,将所述队列中的子任务分配到对应的作业节点。
10.如权利要求9所述的设备,其特征在于,每种资源为计算资源、存储资源或网络资源;
所述分配模块,进一步用于当队列对应计算资源具有最高优先级时,将所述队列中的子任务分配到计算资源剩余情况最优的作业节点;
当队列对应存储资源具有最高优先级时,将所述队列中的子任务分配到存储资源剩余情况最优的作业节点;
当队列对应网络资源具有最高优先级时,将所述队列中的子任务分配到网络资源剩余情况最优的作业节点。
11.如权利要求7-10任一项所述的设备,其特征在于,各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级概率;其中,所有资源类型的资源的优先级概率之和为100%。
12.如权利要求7所述的设备,其特征在于,还包括:
预留模块,用于根据作业调度特征信息为对应的业务预留作业节点的资源。
13.一种任务调度的系统,其特征在于,包括:
资源调度器,用于确定各作业节点的资源信息以及存储任务的各队列对应资源的优先级信息;并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的任务分配到对应的作业节点;
作业节点,用于当接收到所述资源调度器调度的任务时,对所述任务进行相应处理;
其中,其中,各作业节点的资源信息包括:各作业节点的不同资源类型的资源的信息;各队列对应资源的优先级信息包括:各队列对应不同资源类型的资源的优先级信息;
其中,不同资源类型的资源包括计算资源、存储资源和网络资源;
所述资源调度器具体用于,设置每个队列对应计算资源的优先级信息、对应存储资源的优先级信息、对应网络资源的优先级信息;将所述队列中的任务划分为子任务,并根据各作业节点的资源信息和各队列对应资源的优先级信息将所述队列中的子任务分配到对应的作业节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010623545.XA CN102567086B (zh) | 2010-12-30 | 2010-12-30 | 一种任务调度的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010623545.XA CN102567086B (zh) | 2010-12-30 | 2010-12-30 | 一种任务调度的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567086A CN102567086A (zh) | 2012-07-11 |
CN102567086B true CN102567086B (zh) | 2014-05-07 |
Family
ID=46412584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010623545.XA Expired - Fee Related CN102567086B (zh) | 2010-12-30 | 2010-12-30 | 一种任务调度的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567086B (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902379A (zh) * | 2012-12-25 | 2014-07-02 | 中国移动通信集团公司 | 一种任务调度方法、装置及服务器集群 |
CN104123185A (zh) * | 2013-04-28 | 2014-10-29 | 中国移动通信集团公司 | 一种资源调度方法、装置及系统 |
CN103488502A (zh) * | 2013-09-11 | 2014-01-01 | 天脉聚源(北京)传媒科技有限公司 | 一种数据加载方法及装置 |
CN104580306B (zh) * | 2013-10-21 | 2018-02-16 | 北京计算机技术及应用研究所 | 一种多终端备份服务系统及其任务调度方法 |
CN103699445B (zh) * | 2013-12-19 | 2017-02-15 | 北京奇艺世纪科技有限公司 | 一种任务调度方法、装置及系统 |
CN104102740A (zh) * | 2014-07-30 | 2014-10-15 | 精硕世纪科技(北京)有限公司 | 分布式信息获取系统及方法 |
CN104391918B (zh) * | 2014-11-19 | 2018-01-19 | 天津南大通用数据技术股份有限公司 | 基于对等部署的分布式数据库查询优先级管理的实现方法 |
CN105718452A (zh) * | 2014-12-01 | 2016-06-29 | 金蝶软件(中国)有限公司 | 数据查询方法和系统 |
CN104463482A (zh) * | 2014-12-16 | 2015-03-25 | 用友软件股份有限公司 | 任务分配方法和任务分配装置 |
CN104506740B (zh) * | 2014-12-31 | 2017-01-18 | 上海青橙实业有限公司 | 一种电量智能控制方法、终端及系统 |
CN106557366B (zh) * | 2015-09-28 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 任务分发方法、装置及系统 |
CN107291547B (zh) * | 2016-03-31 | 2021-02-05 | 创新先进技术有限公司 | 一种任务调度处理方法、装置及系统 |
US10261830B2 (en) * | 2016-06-14 | 2019-04-16 | Microsoft Technology Licensing, Llc | Cross-device task execution |
CN107515784B (zh) * | 2016-06-16 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 一种在分布式系统中计算资源的方法与设备 |
CN106201723A (zh) * | 2016-07-13 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种数据中心的资源调度方法及装置 |
CN107977257A (zh) * | 2016-10-25 | 2018-05-01 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法及装置 |
CN108062243B (zh) * | 2016-11-08 | 2022-01-04 | 杭州海康威视数字技术股份有限公司 | 执行计划的生成方法、任务执行方法及装置 |
CN106773686B (zh) * | 2016-12-12 | 2018-12-28 | 西安建筑科技大学 | 同轨双车运行模式下堆垛机调度路径模型建立方法 |
CN108228240B (zh) * | 2016-12-14 | 2021-02-26 | 北京国双科技有限公司 | 多任务队列中任务的处理方法和装置 |
CN106790529B (zh) * | 2016-12-20 | 2019-07-02 | 北京并行科技股份有限公司 | 计算资源的调度方法、调度中心及调度系统 |
CN107179948A (zh) * | 2017-05-02 | 2017-09-19 | 中国联合网络通信集团有限公司 | 一种写卡方法及系统 |
CN107766138A (zh) * | 2017-10-20 | 2018-03-06 | 北京集奥聚合科技有限公司 | 一种hadoop任务监控方法及系统 |
CN109976885B (zh) * | 2017-12-28 | 2021-07-06 | 中移物联网有限公司 | 基于多任务操作系统的事件处理方法、装置及存储介质 |
CN108535627A (zh) * | 2018-03-08 | 2018-09-14 | 青岛北洋天青数联智能股份有限公司 | 单主机多工位同步测试的调度方法及装置 |
CN108762903A (zh) * | 2018-05-23 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种面向海量工作节点的抢占式任务调度方法及系统 |
CN108960641B (zh) * | 2018-07-10 | 2021-07-02 | 康成投资(中国)有限公司 | 电商平台作业调度方法及系统 |
CN110838990A (zh) * | 2018-08-17 | 2020-02-25 | 上海诺基亚贝尔股份有限公司 | 一种在c-ran中对层1进行加速的方法和装置 |
CN109408208B (zh) * | 2018-09-21 | 2022-04-01 | 深圳华大北斗科技股份有限公司 | 导航芯片的多任务处理方法、设备、系统以及存储介质 |
CN109086142B (zh) * | 2018-09-25 | 2022-03-25 | 郑州云海信息技术有限公司 | 一种基于Openlava的资源调度方法及装置 |
CN109211159B (zh) * | 2018-09-28 | 2021-01-15 | 北京国金源富科技有限公司 | 一种计量器具检定任务调度方法及装置 |
CN111400022A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源调度方法、装置及电子设备 |
CN110166282B (zh) * | 2019-04-16 | 2020-12-01 | 苏宁云计算有限公司 | 资源分配方法、装置、计算机设备和存储介质 |
CN111221645B (zh) * | 2019-11-14 | 2023-06-16 | 中国民航信息网络股份有限公司 | 一种航空作业处理方法和系统 |
CN112860421B (zh) * | 2019-11-28 | 2024-05-07 | 伊姆西Ip控股有限责任公司 | 用于作业处理的方法、设备和计算机程序产品 |
CN111061548B (zh) * | 2019-11-29 | 2024-04-05 | 西安四叶草信息技术有限公司 | 一种安全扫描任务调度方法及调度器 |
CN111198767A (zh) * | 2020-01-07 | 2020-05-26 | 平安科技(深圳)有限公司 | 大数据资源处理方法、装置、终端及存储介质 |
CN112035236B (zh) * | 2020-09-08 | 2023-02-14 | 深圳天源迪科信息技术股份有限公司 | 基于多因子协同的任务调度方法、装置、及存储介质 |
CN112181645A (zh) * | 2020-09-21 | 2021-01-05 | 中国建设银行股份有限公司 | 一种资源调度的方法、装置、设备及存储介质 |
CN112363813A (zh) * | 2020-11-20 | 2021-02-12 | 上海连尚网络科技有限公司 | 资源调度方法、装置、电子设备和计算机可读介质 |
CN112612600A (zh) * | 2020-12-01 | 2021-04-06 | 曙光信息产业(北京)有限公司 | 基于dcu的资源调度方法、装置和计算机设备 |
CN113162965B (zh) * | 2021-01-07 | 2022-09-20 | 浙江大学 | 面向异构MapReduce集群的低时延Map和Reduce联合调度方法 |
CN112948075B (zh) * | 2021-02-04 | 2024-02-27 | 北京淇瑀信息科技有限公司 | 任务拥堵处理方法、装置和电子设备 |
CN113793067B (zh) * | 2021-09-30 | 2024-06-07 | 广州佳帆计算机有限公司 | 流水线的包装资源调度方法 |
CN115904671B (zh) * | 2023-02-20 | 2023-06-27 | 中国华能集团清洁能源技术研究院有限公司 | 一种边缘计算环境下的任务调度方法、装置、设备及介质 |
CN118295820B (zh) * | 2024-06-06 | 2024-08-20 | 中国西安卫星测控中心 | 一种基于Map Reduce的分布式任务计算调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
CN101169741A (zh) * | 2006-10-25 | 2008-04-30 | 国际商业机器公司 | 确定作业的调度优先级的方法和系统 |
CN101242659A (zh) * | 2008-03-06 | 2008-08-13 | 上海交通大学 | 基于自适应控制的多业务类型呼叫允许控制方法 |
CN101836190A (zh) * | 2007-10-31 | 2010-09-15 | 国际商业机器公司 | 用于将多个作业分配给多个计算机的方法、系统和计算机程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752055B2 (en) * | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Method of managing resources within a set of processes |
-
2010
- 2010-12-30 CN CN201010623545.XA patent/CN102567086B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169741A (zh) * | 2006-10-25 | 2008-04-30 | 国际商业机器公司 | 确定作业的调度优先级的方法和系统 |
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
CN101836190A (zh) * | 2007-10-31 | 2010-09-15 | 国际商业机器公司 | 用于将多个作业分配给多个计算机的方法、系统和计算机程序 |
CN101242659A (zh) * | 2008-03-06 | 2008-08-13 | 上海交通大学 | 基于自适应控制的多业务类型呼叫允许控制方法 |
Non-Patent Citations (2)
Title |
---|
基于资源域的分级调度模型;张丽晓;《计算机工程与设计》;20071130;第28卷(第21期);6317-5321 * |
张丽晓.基于资源域的分级调度模型.《计算机工程与设计》.2007,第28卷(第21期),5317-5321. |
Also Published As
Publication number | Publication date |
---|---|
CN102567086A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
EP3770774B1 (en) | Control method for household appliance, and household appliance | |
CN110351384B (zh) | 大数据平台资源管理方法、装置、设备及可读存储介质 | |
CN104580396B (zh) | 一种任务调度方法、节点及系统 | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
US8997107B2 (en) | Elastic scaling for cloud-hosted batch applications | |
US6438553B1 (en) | Distributed job integrated management system and method | |
US9218213B2 (en) | Dynamic placement of heterogeneous workloads | |
US8984521B2 (en) | Computer system performance by applying rate limits to control block tenancy | |
US20050188075A1 (en) | System and method for supporting transaction and parallel services in a clustered system based on a service level agreement | |
CN111400022A (zh) | 一种资源调度方法、装置及电子设备 | |
US20140165061A1 (en) | Statistical packing of resource requirements in data centers | |
CN113454614A (zh) | 用于分布式计算中的资源划分的系统和方法 | |
US20110173038A1 (en) | Constraint-conscious optimal scheduling for cloud infrastructures | |
CN103825964B (zh) | 一种基于云计算PaaS平台的SLS调度装置和方法 | |
CN105897484A (zh) | 一种流量管理装置、服务器和方法 | |
CN102096599A (zh) | 一种多队列任务调度方法及相关系统和设备 | |
CN105718316A (zh) | 一种作业调度的方法及装置 | |
US9075832B2 (en) | Tenant placement in multitenant databases for profit maximization | |
CN107430526B (zh) | 用于调度数据处理的方法和节点 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
CN110914805A (zh) | 用于分层任务调度的计算系统 | |
CN106407007B (zh) | 面向弹性分析流程的云资源配置优化方法 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN113760549B (zh) | 一种pod部署方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140507 |
|
CF01 | Termination of patent right due to non-payment of annual fee |