CN113608878A - 一种基于资源权重计算的任务分布式调度方法与系统 - Google Patents
一种基于资源权重计算的任务分布式调度方法与系统 Download PDFInfo
- Publication number
- CN113608878A CN113608878A CN202110950574.5A CN202110950574A CN113608878A CN 113608878 A CN113608878 A CN 113608878A CN 202110950574 A CN202110950574 A CN 202110950574A CN 113608878 A CN113608878 A CN 113608878A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- resource
- value
- scheduling
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于资源权重计算的任务分布式调度方法与系统,方法包含以下步骤:获取任务信息的资源权重值;实时更新并获取执行器节点的负载值;对任务信息进行调度,比较任务信息的资源权重值与执行器节点的负载值的大小;若资源权重值大于执行器节点的负载值时,将任务信息的任务挂起并将任务执行的执行器节点标记为筹备节点,等待执行器节点负载满足任务运行需要时再下发任务至该筹备节点;若任务权重值小于或者等于执行器节点的负载值时,则选择此执行器节点作为此任务的执行器节点;系统包含多个执行器节点以及安装于执行器节点上的任务调度中心、心跳模块,任务调度中心包含任务调度池、任务调度器。
Description
技术领域
本发明涉及任务分布式调度方法与系统领域,具体涉及一种基于资源权重计算的任务分布式调度方法与系统。
背景技术
传统的任务调度系统很多都支持定时任务的调度,可以通过监控任务节点的状态,判断节点的负载并按照配置时间将待执行的任务分配至负载较低的节点,从而实现负载(工作任务)均衡的效果;由于定时任务的特殊性,会出现多个定时执行策略相同的任务分配至同一个负载较低的任务节点,从而导致此节点上负载增加,以至于分配至此节点的任务因为资源不足而阻塞的情况;
目前现有的任务调度系统,是定时获取节点各个指标状态,然后记录更新此节点的负载状态,根据负载状态判断负载较低可以分配任务工作的节点,并进行任务分发轮询,但是由于缺乏对不同任务情况的判断,无法预知任务分配执行之后此节点的负载情况;在任务并发较大的情况下,容易出现虽然集群各个执行节点分配了相同数量的执行任务,但由于不同任务运行资源消耗存在差异,从而导致集群各节点实际负载相差较大,实际未达到负载均衡的效果,并且因为集群节点资源使用不均,无法高效率的处理资源消耗巨大的任务,甚至因为资源不足导致任务运行失败。
发明内容
本发明要解决的技术问题是目前现有的任务调度系统,是定时获取节点各个指标状态,然后记录更新此节点的负载状态,根据负载状态判断负载较低可以分配任务工作的节点,并进行任务分发轮询,但是由于缺乏对不同任务情况的判断,无法预知任务分配执行之后此节点的负载情况,本发明提供一种基于资源权重计算的任务分布式调度方法,本发明还提供一种基于资源权重计算的任务分布式调度系统,能够利用定时任务的特性,通过记录和计算任务运行时任务本身的资源配置消耗得到任务的资源权重值,使用资源权重值并综合执行器节点的负载情况作为任务调度的计算因子,更加智能设置任务优先级与执行策略,用以解决现有技术导致的缺陷。
为解决上述技术问题本发明提供以下的技术方案:
第一方面,一种基于资源权重计算的任务分布式调度方法,其中,包含以下步骤:
步骤1:获取任务信息的资源权重值;
步骤2:实时更新并获取执行器节点的负载值;
步骤3:对任务信息进行调度,比较任务信息的资源权重值与执行器节点的负载值的大小;
若资源权重值大于执行器节点的负载值时,将任务信息的任务挂起并将任务执行的执行器节点标记为筹备节点(standby),等待执行器节点负载满足任务运行需要时再下发任务至该筹备节点,筹备节点作为一种执行器节点状态的标识存在,任务调度中心会定时将挂起的任务与筹备节点的负载值进行比较,提升任务调度的效率与集群任务的执行效率;
若任务权重值小于或者等于执行器节点的负载值时,则选择此执行器节点作为此任务的执行器节点(worker)。
上述的一种基于资源权重计算的任务分布式调度方法,其中,步骤1中的资源权重值根据系统中所在执行器节点的所述任务信息中各资源配置的使用值与资源权重系数相乘后相加得到或所述任务信息中各资源配置的使用值与默认资源系数相乘后相加得到,并会在每次任务运行结束后重新计算并更新,保证根据资源权重值分配任务的准确度;
所述步骤3中根据预先配置的任务调度策略对任务信息进行调度。
上述的一种基于资源权重计算的任务分布式调度方法,其中,所述各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
资源权重系数是任务分布式调度系统在安装时根据集群节点资源配置人工进行设置的,资源权重系数乘以资源配置的使用值(消耗值)得到此资源配置的资源配置权重值,各项资源配置权重值相加得到资源权重值,即内存消耗值乘以内存系数得到内存权重值,CPU使用率乘以CPU系数得到CPU权重值,最后各种资源配置权重值相加得到此任务的资源权重值;
所述任务调度策略包含任务的执行开始时间数据、执行时间间隔数据、执行次数数据,所述执行时间策略设定为固定周期,一般为每天、每月、每年的特定时间或者相隔多久执行一次,所述任务调度器到达设定的时间开始进行任务信息的获取与任务的调度。
上述的一种基于资源权重计算的任务分布式调度方法,其中,还包含步骤4:任务运行结束后重新计算资源权重值并更新。
第二方面,一种基于资源权重计算的任务分布式调度系统,其中,包含多个执行器节点以及安装于所述执行器节点上的任务调度中心、心跳模块,所述任务调度中心包含任务调度池、任务调度器;
所述心跳模块用于定时更新当前所述执行器节点的负载值,保证任务执行器节点分配的准确度,还用于获取其他心跳模块更新的执行器节点的负载值;
所述任务调度池用于存储进入任务调度的任务信息;
所述任务调度器用于获取任务信息并计算任务信息的资源权重值,还用于获取负载值,还用于比较资源权重值与负载值的大小为任务选择执行器节点并将任务信息下发至该执行器节点,采用分布式架构进行任务的调度。
上述的一种基于资源权重计算的任务分布式调度系统,其中,所述任务调度器按照任务调度策略获取所述任务信息;
所述任务调度器依据所述任务信息中各资源配置的使用值与资源权重系数相乘后相加得到资源权重值或所述任务信息中各资源配置的使用值与默认资源系数相乘后相加得到资源权重值;
所述任务调度器比较资源权重值与负载值的大小时,若资源权重值大于执行器节点的负载值时,将任务信息的任务挂起并将任务执行的执行器节点标记为筹备节点,等待执行器节点负载满足任务运行需要时再下发任务至该筹备节点,减少任务的阻塞、提升任务调度的效率与任务执行效率;
若任务权重值小于或者等于执行器节点的负载值时,则选择此执行器节点作为此任务的执行器节点。
上述的一种基于资源权重计算的任务分布式调度系统,其中,所述各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
资源权重系数是任务分布式调度系统在安装时根据集群节点资源配置人工进行设置的,资源权重系数乘以资源配置的使用值(消耗值)得到此资源配置的资源配置权重值,各项资源配置权重值相加得到资源权重值,即内存消耗值乘以内存系数得到内存权重值,CPU使用率乘以CPU系数得到CPU权重值,最后各种资源配置权重值相加得到此任务的资源权重值;
所述任务调度策略包含任务的执行开始时间数据、执行时间间隔数据、执行次数数据,所述执行时间间隔数据设定为固定周期,一般为每天、每月、每年的特定时间或者相隔多久执行一次,所述任务调度器到达设定的时间开始进行任务信息的获取与任务的调度。
上述的一种基于资源权重计算的任务分布式调度系统,其中,多个所述任务调度中心中有一个为主任务调度中心,其余的为副任务调度中心;
所述心跳模块用于定时更新当前所述执行器节点的状态信息,还用于获取其他心跳模块更新的执行器节点的状态信息;
所述任务调度器用于获取所述状态信息并处理,当所述状态信息为异常时将该执行器节点移除,若移除的所述执行器节点上的所述任务调度中心为主任务调度中心时,则选取剩下的任一个所述执行器节点上的所述任务调度中心为主任务调度中心,实现横向平滑扩容,所述执行器节点自动更新自身的节点状态并被其他执行器节点的所述心跳模块感知,自主选择新的主任务调度中心,其中任何一个执行器节点异常导致无法正常更新自身节点的状态时,都会被整个任务分布式调度系统中执行器节点上的心跳模块感知,从而将此执行器节点从任务分布式调度系统中移除,如果移除的是主任务调度中心,则会从剩余的副任务调度中心中选取一个正常任务调度中心作为新的主任务调度中心,实现自动选主。
第三方面,一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述方法的步骤。
依据上述本发明的一种基于资源权重计算的任务分布式调度方法与系统提供的技术方案具有以下技术效果:
利用定时任务的特性,通过记录和计算任务运行时任务本身的资源配置消耗得到任务的资源权重值,使用资源权重值并综合执行器节点的负载情况作为任务调度的计算因子,更加智能设置任务优先级与执行策略。
附图说明
图1为本发明一种基于资源权重计算的任务分布式调度方法的流程图;
图2为本发明一种基于资源权重计算的任务分布式调度系统的结构图;
图3为依据本发明一种基于资源权重计算的任务分布式调度方法与系统进行任务调度的具体流程图。
其中,附图标记如下:
执行器节点101、主任务调度中心102、副任务调度中心103、心跳模块104、任务调度池105、任务调度器106。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的第一实施例是提供一种基于资源权重计算的任务分布式调度方法,第二实施例是提供一种基于资源权重计算的任务分布式调度系统,目的是利用定时任务的特性,通过记录和计算任务运行时任务本身的资源配置消耗得到任务的资源权重值,使用资源权重值并综合执行器节点的负载情况作为任务调度的计算因子,更加智能设置任务优先级与执行策略。
如图1所示,第一方面,第一实施例,一种基于资源权重计算的任务分布式调度方法,其中,包含以下步骤:
步骤1:获取任务信息的资源权重值;
步骤2:实时更新并获取执行器节点101的负载值;
步骤3:对任务信息进行调度,比较任务信息的资源权重值与执行器节点101的负载值的大小;
若资源权重值大于执行器节点101的负载值时,将任务信息的任务挂起并将任务执行的执行器节点101标记为筹备节点,等待执行器节点101负载满足任务运行需要时再下发任务至该筹备节点,筹备节点作为一种执行器节点101状态的标识存在,任务调度中心会定时将挂起的任务与筹备节点的负载值进行比较,提升任务调度的效率与集群任务的执行效率;
若任务权重值小于或者等于执行器节点101的负载值时,则选择此执行器节点101作为此任务的执行器节点101。
上述的一种基于资源权重计算的任务分布式调度方法,其中,步骤1中的资源权重值根据系统中所在执行器节点101的任务信息中各资源配置的使用值与资源权重系数相乘后相加得到或任务信息中各资源配置的使用值与默认资源系数相乘后相加得到,并会在每次任务运行结束后重新计算并更新,保证根据资源权重值分配任务的准确度;
步骤3中根据预先配置的任务调度策略对任务信息进行调度。
上述的一种基于资源权重计算的任务分布式调度方法,其中,各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
资源权重系数是任务分布式调度系统在安装时根据集群节点资源配置人工进行设置的,资源权重系数乘以资源配置的使用值(消耗值)得到此资源配置的资源配置权重值,各项资源配置权重值相加得到资源权重值,即内存消耗值乘以内存系数得到内存权重值,CPU使用率乘以CPU系数得到CPU权重值,最后各种资源配置权重值相加得到此任务的资源权重值;
任务调度策略包含任务的执行开始时间数据、执行时间间隔数据、执行次数数据,执行时间间隔数据设定为固定周期,一般为每天、每月、每年的特定时间或者相隔多久执行一次,任务调度器106到达设定的时间开始进行任务信息的获取与任务的调度。
上述的一种基于资源权重计算的任务分布式调度方法,其中,还包含步骤4:任务运行结束后重新计算资源权重值并更新。
如图2所示,第二方面,第二实施例,一种基于资源权重计算的任务分布式调度系统,其中,包含多个执行器节点101以及安装于执行器节点101上的任务调度中心、心跳模块104,任务调度中心包含任务调度池105、任务调度器106;
心跳模块104用于定时更新当前执行器节点101的负载值,保证任务执行器节点101分配的准确度,还用于获取其他心跳模块104更新的执行器节点101的负载值;
任务调度池105用于存储进入任务调度的任务信息;
任务调度器106用于获取任务信息并计算任务信息的资源权重值,还用于获取负载值,还用于比较资源权重值与负载值的大小为任务选择执行器节点101并将任务信息下发至该执行器节点101,采用分布式架构进行任务的调度;
任务运行过程中执行器节点101记录任务运行所消耗的各类资源数值,计算并更新资源权重值,用于任务下一次调度进行。
上述的一种基于资源权重计算的任务分布式调度系统,其中,任务调度器106按照任务调度策略获取任务信息;
任务调度器106依据任务信息中各资源配置的使用值与资源权重系数相乘后相加得到资源权重值或任务信息中各资源配置的使用值与默认资源系数相乘后相加得到资源权重值;
任务调度器106比较资源权重值与负载值的大小时,若资源权重值大于执行器节点101的负载值时,将任务信息的任务挂起并将任务执行的执行器节点101标记为筹备节点,等待执行器节点101负载满足任务运行需要时再下发任务至该筹备节点,减少任务的阻塞、提升任务调度的效率与任务执行效率;
若任务权重值小于或者等于执行器节点101的负载值时,则选择此执行器节点101作为此任务的执行器节点101;
筹备节点与任务挂起机制最大程度上保证任务调度与任务执行的效率,在集群节点资源有限的情况下保证任务的正常调度运行,防止出现资源权重值较大的任务影响甚至阻塞其他任务执行。
上述的一种基于资源权重计算的任务分布式调度系统,其中,各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
内存使用量,针对运行过程中消耗内存的任务,比如一些Java程序任务类任务,运行过程中可能需要占用大量内存,可用内存是其能否在任务执行节点运行完成的重要影响因子,所以将内存使用作为资源权重值计算的重要参数;
CPU使用率,作为任务运行速率的关键指标,也是影响任务执行节点计算性能的重要因素,任务执行节点在执行任务特别是对CPU有要求的计算类任务时,CPU使用率直接影响任务执行成功与否和任务执行效率,针对此类任务的任务权重值计算需要依赖CPU使用率;
网络IO数据,受服务器响应延时、带宽限制、网络延时、跳转路由延时、本地接收延时等因素影响,对于数据传输类特别是海量数据传输任务,网络IO数据和任务的执行效率有直接联系,在计算此类任务的权重值时,网络IO数据是重要的参数值;
磁盘IO数据,一些业务场景下,任务需要频繁访问海量的磁盘数据,而受限于硬盘读写速率,任务执行节点的数据传输速度固定,此时磁盘IO数据会直接影响此类任务的执行效率,是任务权重值的重要参数;
文件句柄数据,一些任务由于业务场景需要,在执行过程中会不断新建文件句柄,如果调度系统不考虑句柄因素,当句柄数增长到达一定阈值,可能会影响任务的执行结果,所以需要将文件句柄数量作为任务权重值计算的相关参数;
任务总时长数据,一些非增量特别是需要重复执行的任务,其任务执行时长基本固定,将任务执行时长与任务执行资源消耗结合才能计算出贴合任务实际执行情况的任务权重值。
资源权重值的计算:任务分布式调度系统会记录任务每次执行的各类资源配置参数,每次计算时取全部数据记录,对无大幅度波动的数据取平均值,对大幅度波动数据通过正态分布计算期望值,根据本任务分布式调度系统所在节点环境的资源配置预设各个资源的系数,资源消耗与对应的资源系数相乘后再相加,计算得到这个资源权重值。
分布式架构系统中每个节点的心跳模块104定时更新自身执行器节点101的状态并获取其他执行器节点101的状态,进行横向扩容,可以通过更新自身执行器节点101状态到任务调度中心而被其他执行器节点101感知;其中任何一个执行器节点101异常导致无法正常更新自身执行器节点101的状态,都会被整个集群的执行器节点101感知,从而将此执行器节点101从集群中移除,如果移除的是主调度中心节点,则会从剩余执行器节点101中选取一个正常的执行器节点101作为新的主任务调度中心102,实现自动选主。
资源权重系数是任务分布式调度系统在安装时根据集群节点资源配置人工进行设置的,资源权重系数乘以资源配置的使用值(消耗值)得到此资源配置的资源配置权重值,各项资源配置权重值相加得到资源权重值,即内存消耗值乘以内存系数得到内存权重值,CPU使用率乘以CPU系数得到CPU权重值,最后各种资源配置权重值相加得到此任务的资源权重值;
任务调度策略包含任务的执行开始时间数据、执行时间间隔数据、执行次数数据,执行时间间隔数据设定为固定周期,一般为每天、每月、每年的特定时间或者相隔多久执行一次,任务调度器106到达设定的时间开始进行任务信息的获取与任务的调度。
上述的一种基于资源权重计算的任务分布式调度系统,其中,多个任务调度中心中有一个为主任务调度中心102,其余的为副任务调度中心103,系统开始时会自动选取一个健康的执行器节点101的任务调度中心为主任务调度中心102;
心跳模块104用于定时更新当前执行器节点101的状态信息,还用于获取其他心跳模块104更新的执行器节点101的状态信息;
任务调度器106用于获取状态信息并处理,当状态信息为异常时将该执行器节点101移除,若移除的执行器节点101上的任务调度中心为主任务调度中心102时,则选取剩下的任一个执行器节点101上的任务调度中心为主任务调度中心102,实现横向平滑扩容,执行器节点101自动更新自身的节点状态并被其他执行器节点101的心跳模块104感知,自主选择新的主任务调度中心102,其中任何一个执行器节点101异常导致无法正常更新自身节点的状态时,都会被整个任务分布式调度系统中执行器节点101上的心跳模块104感知,从而将此执行器节点101从任务分布式调度系统中移除,如果移除的是主任务调度中心102,则会从剩余的副任务调度中心103中选取一个正常任务调度中心作为新的主任务调度中心102,实现自动选主。
如图3所示,依据上述一种基于资源权重计算的任务分布式调度系统进行任务调度的具体过程如下:
系统启动后自动选取一个健康的执行器节点101的任务调度中心为主任务调度中心102,其余的为副主任务调度中心102;
任务信息加载任务调度策略之后进入任务调度池105中;
依据任务调度策略到达任务设置的定时时间时,任务调度器106开始获取任务信息进行任务调度;
任务调度器106查询任务信息本身的资源权重值与各执行器节点101的负载值并进行比较,当此任务资源权重值小于或等于此任务的执行器节点101的负载值时,选取此执行器节点101作为任务执行节点,得到最合理的执行器节点101;
当此任务资源权重值大于此任务的执行器节点101的负载值时,即当前无执行器节点101有足够资源执行此任务,任务调度器106将此任务挂起不执行,并将分配此任务的执行器节点101标记为筹备节点,标记为筹备节点的执行器节点101将不会再被任务调度器106分配任务;
任务调度器106定期比较挂起的任务的资源权重值与筹备节点(此时为具有筹备节点标记的执行器节点101)的负载值,当筹备节点(此时为具有筹备节点标记的执行器节点101)的负载值大于等于任务的资源权重值时,则将此任务下发至筹备节点(此时为具有筹备节点标记的执行器节点101)进行执行,并且移除此执行器节点101的筹备节点标记,筹备节点恢复为执行器节点101;
任务执行前,结合资源权重值与执行器节点101当前负载状态,心跳模块104计算并更新执行器节点101的负载值;
执行器节点101运行任务至任务运行结束,任务执行器节点101记录任务运行所消耗的各类资源数值,结合任务历史运行数据,计算并更新资源权重值。
第三方面,一种计算机可读存储介质,其中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如第一方面中任一项所述方法的步骤。
例如,存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等;
处理器可以是中央处理器(Central Processing Unit,CPU)等,或者是图像处理器(Graphic Processing Unit,GPU)存储器可以存储可执行指令;
处理器可以执行在存储器中存储的执行指令,从而实现本文描述的各个过程。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;
其中,非易失性存储器可以是ROM(Read-OnlyMemory,只读存储器)、PROM(ProgrammableROM,可编程只读存储器)、EPROM(ErasablePROM,可擦除可编程只读存储器)、EEPROM(ElectricallyEPROM,电可擦除可编程只读存储器)或闪存。
易失性存储器可以是RAM(RandomAccessMemory,随机存取存储器),其用作外部高速缓存;
通过示例性但不是限制性说明,许多形式的RAM可用,例如SRAM(StaticRAM,静态随机存取存储器)、DRAM(DynamicRAM,动态随机存取存储器)、SDRAM(SynchronousDRAM,同步动态随机存取存储器)、DDRSDRAM(DoubleDataRate SDRAM,双倍数据速率同步动态随机存取存储器)、ESDRAM(Enhanced SDRAM,增强型同步动态随机存取存储器)、SLDRAM(SynchlinkDRAM,同步连接动态随机存取存储器)和DRRAM(DirectRambusRAM,直接内存总线随机存取存储器)。本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序;
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现;
这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件;
本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、装置和方法可以通过其它方式来实现;
例如,单元或模块的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式;
例如,多个单元或模块或组件可以进行组合或者可以集成到另一个系统中;
另外,在本申请实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是单独的物理存在等等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中;
因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程;
上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
综上,本发明的一种基于资源权重计算的任务分布式调度方法与系统,能够利用定时任务的特性,通过记录和计算任务运行时任务本身的资源配置消耗得到任务的资源权重值,使用资源权重值并综合执行器节点的负载情况作为任务调度的计算因子,更加智能设置任务优先级与执行策略。
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。
Claims (9)
1.一种基于资源权重计算的任务分布式调度方法,其特征在于,包含以下步骤:
步骤1:获取任务信息的资源权重值;
步骤2:实时更新并获取执行器节点的负载值;
步骤3:对任务信息进行调度,比较任务信息的资源权重值与执行器节点的负载值的大小;
若资源权重值大于执行器节点的负载值时,将任务信息的任务挂起并将任务执行的执行器节点标记为筹备节点,等待执行器节点负载满足任务运行需要时再下发任务至该筹备节点;
若任务权重值小于或者等于执行器节点的负载值时,则选择此执行器节点作为此任务的执行器节点。
2.如权利要求1所述的一种基于资源权重计算的任务分布式调度方法,其特征在于,步骤1中的所述资源权重值根据所述任务信息中各资源配置的使用值与资源权重系数相乘后相加得到或所述任务信息中各资源配置的使用值与默认资源系数相乘后相加得到;
所述步骤2中所述负载值为所述执行器节点内各资源配置的剩余资源值;
所述步骤3中根据预先配置的任务调度策略对任务信息进行调度。
3.如权利要求2所述的一种基于资源权重计算的任务分布式调度方法,其特征在于,所述各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
所述任务调度策略包含任务的执行开始时间数据、执行时间间隔数据、执行次数数据。
4.如权利要求1-3任一项所述的一种基于资源权重计算的任务分布式调度方法,其特征在于,还包含步骤4:任务运行结束后重新计算资源权重值并更新。
5.一种基于资源权重计算的任务分布式调度系统,其特征在于,包含多个执行器节点以及安装于所述执行器节点上的任务调度中心、心跳模块,所述任务调度中心包含任务调度池、任务调度器;
所述心跳模块用于定时更新当前所述执行器节点的负载值,还用于获取其他心跳模块更新的执行器节点的负载值;
所述任务调度池用于存储进入任务调度的任务信息;
所述任务调度器用于获取任务信息并计算任务信息的资源权重值,还用于获取负载值,还用于比较资源权重值与负载值的大小为任务选择执行器节点并将任务信息下发至该执行器节点。
6.如权利要求5所述的一种基于资源权重计算的任务分布式调度系统,其特征在于,所述任务调度器按照任务调度策略获取所述任务信息;
所述任务调度器依据所述任务信息中各资源配置的使用值与资源权重系数相乘后相加得到资源权重值或所述任务信息中各资源配置的使用值与默认资源系数相乘后相加得到资源权重值;
所述任务调度器比较资源权重值与负载值的大小时,若资源权重值大于执行器节点的负载值时,将任务信息的任务挂起并将任务执行的执行器节点标记为筹备节点,等待执行器节点负载满足任务运行需要时再下发任务至该筹备节点;
若任务权重值小于或者等于执行器节点的负载值时,则选择此执行器节点作为此任务的执行器节点。
7.如权利要求6所述的一种基于资源权重计算的任务分布式调度系统,其特征在于,所述各资源配置的使用值包含内存使用量、CPU使用率、网络IO数据、磁盘IO数据、文件句柄数据、任务总时长数据;
所述任务调度策略为任务的执行时间策略。
8.如权利要求5-7任一项所述的一种基于资源权重计算的任务分布式调度系统,其特征在于,多个所述任务调度中心中有一个为主任务调度中心,其余的为副任务调度中心;
所述心跳模块用于定时更新当前所述执行器节点的状态信息,还用于获取其他心跳模块更新的执行器节点的状态信息;
所述任务调度器用于获取所述状态信息并处理,当所述状态信息为异常时将该执行器节点移除,若移除的所述执行器节点上的所述任务调度中心为主任务调度中心时,则选取剩下的任一个所述执行器节点上的所述任务调度中心为主任务调度中心。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950574.5A CN113608878A (zh) | 2021-08-18 | 2021-08-18 | 一种基于资源权重计算的任务分布式调度方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950574.5A CN113608878A (zh) | 2021-08-18 | 2021-08-18 | 一种基于资源权重计算的任务分布式调度方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113608878A true CN113608878A (zh) | 2021-11-05 |
Family
ID=78341126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110950574.5A Pending CN113608878A (zh) | 2021-08-18 | 2021-08-18 | 一种基于资源权重计算的任务分布式调度方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608878A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979160A (zh) * | 2022-05-30 | 2022-08-30 | 蚂蚁区块链科技(上海)有限公司 | 区块链任务的分配方法及装置 |
CN115454640A (zh) * | 2022-09-21 | 2022-12-09 | 苏州启恒融智信息科技有限公司 | 任务处理系统及自适应任务调度的方法 |
CN115509703A (zh) * | 2022-09-15 | 2022-12-23 | 湖南兴盛优选电子商务有限公司 | 一种精确准时的大数据任务调度方法 |
WO2023173917A1 (zh) * | 2022-03-14 | 2023-09-21 | 北京奥星贝斯科技有限公司 | 用于分布式系统的方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096602A (zh) * | 2009-12-15 | 2011-06-15 | 中国移动通信集团公司 | 一种任务调度方法及其系统和设备 |
CN105487930A (zh) * | 2015-12-01 | 2016-04-13 | 中国电子科技集团公司第二十八研究所 | 一种基于Hadoop的任务优化调度方法 |
CN107193643A (zh) * | 2017-03-28 | 2017-09-22 | 中国科学院信息工程研究所 | 一种高可靠分布式数据流实时统计方法及系统 |
CN109815019A (zh) * | 2019-02-03 | 2019-05-28 | 普信恒业科技发展(北京)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN110149395A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于海量小文件高并发情况下动态负载均衡方法 |
CN110764912A (zh) * | 2019-10-25 | 2020-02-07 | 东北大学 | 一种自适应任务调度器及方法 |
CN112395075A (zh) * | 2019-08-15 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 资源的处理方法、装置以及资源调度系统 |
CN112463390A (zh) * | 2020-12-11 | 2021-03-09 | 厦门市美亚柏科信息股份有限公司 | 一种分布式任务调度方法、装置、终端设备及存储介质 |
-
2021
- 2021-08-18 CN CN202110950574.5A patent/CN113608878A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096602A (zh) * | 2009-12-15 | 2011-06-15 | 中国移动通信集团公司 | 一种任务调度方法及其系统和设备 |
CN105487930A (zh) * | 2015-12-01 | 2016-04-13 | 中国电子科技集团公司第二十八研究所 | 一种基于Hadoop的任务优化调度方法 |
CN107193643A (zh) * | 2017-03-28 | 2017-09-22 | 中国科学院信息工程研究所 | 一种高可靠分布式数据流实时统计方法及系统 |
CN109815019A (zh) * | 2019-02-03 | 2019-05-28 | 普信恒业科技发展(北京)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN110149395A (zh) * | 2019-05-20 | 2019-08-20 | 华南理工大学 | 一种基于海量小文件高并发情况下动态负载均衡方法 |
CN112395075A (zh) * | 2019-08-15 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 资源的处理方法、装置以及资源调度系统 |
CN110764912A (zh) * | 2019-10-25 | 2020-02-07 | 东北大学 | 一种自适应任务调度器及方法 |
CN112463390A (zh) * | 2020-12-11 | 2021-03-09 | 厦门市美亚柏科信息股份有限公司 | 一种分布式任务调度方法、装置、终端设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023173917A1 (zh) * | 2022-03-14 | 2023-09-21 | 北京奥星贝斯科技有限公司 | 用于分布式系统的方法及装置 |
CN114979160A (zh) * | 2022-05-30 | 2022-08-30 | 蚂蚁区块链科技(上海)有限公司 | 区块链任务的分配方法及装置 |
CN115509703A (zh) * | 2022-09-15 | 2022-12-23 | 湖南兴盛优选电子商务有限公司 | 一种精确准时的大数据任务调度方法 |
CN115454640A (zh) * | 2022-09-21 | 2022-12-09 | 苏州启恒融智信息科技有限公司 | 任务处理系统及自适应任务调度的方法 |
CN115454640B (zh) * | 2022-09-21 | 2024-01-19 | 苏州启恒融智信息科技有限公司 | 任务处理系统及自适应任务调度的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113608878A (zh) | 一种基于资源权重计算的任务分布式调度方法与系统 | |
CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
US9571347B2 (en) | Reactive auto-scaling of capacity | |
US7788671B2 (en) | On-demand application resource allocation through dynamic reconfiguration of application cluster size and placement | |
US8984521B2 (en) | Computer system performance by applying rate limits to control block tenancy | |
US20060288159A1 (en) | Method of controlling cache allocation | |
CN106406983A (zh) | 一种集群中的任务调度方法及装置 | |
JP2003067351A (ja) | 分散型コンピュータの構成制御システム | |
CN105022662B (zh) | 一种分布式任务分配方法 | |
EP3746881A2 (en) | Resource usage prediction for cluster provisioning | |
CN108123980A (zh) | 一种资源调度方法及系统 | |
JP2022539955A (ja) | タスクスケジューリング方法及び装置 | |
US8555286B2 (en) | Method, system, and apparatus for establishing a software configurable computing environment | |
CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN111104227A (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
EP3274828A1 (en) | Methods and nodes for scheduling data processing | |
CN113391914A (zh) | 任务调度方法和装置 | |
CN113760549B (zh) | 一种pod部署方法及装置 | |
CN105740077B (zh) | 一种适用于云计算的任务分配方法 | |
CN117435324B (zh) | 基于容器化的任务调度方法 | |
CN112948113A (zh) | 一种集群资源管理调度方法、装置、设备及可读存储介质 | |
CN111143063B (zh) | 任务的资源预约方法及装置 | |
JP5997659B2 (ja) | 分散処理システムおよび分散処理方法 | |
US20230004440A1 (en) | Allocating of computing resources for applications | |
CN114706663A (zh) | 一种计算资源调度方法、介质及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |