[go: up one dir, main page]

CN114116173A - 动态调整任务分配的方法、装置和系统 - Google Patents

动态调整任务分配的方法、装置和系统 Download PDF

Info

Publication number
CN114116173A
CN114116173A CN202111455195.5A CN202111455195A CN114116173A CN 114116173 A CN114116173 A CN 114116173A CN 202111455195 A CN202111455195 A CN 202111455195A CN 114116173 A CN114116173 A CN 114116173A
Authority
CN
China
Prior art keywords
host
task
scheduled
tasks
cpu
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
CN202111455195.5A
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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202111455195.5A priority Critical patent/CN114116173A/zh
Publication of CN114116173A publication Critical patent/CN114116173A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5083Techniques 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

本发明公开了一种动态调整任务分配的方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:对集群包括的每个主机,定时获取主机的性能参数;根据预设规则和性能参数,判断主机是否为待调度主机;在主机为待调度主机的情况下,从主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配。该实施方式能够实现对集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高了集群CPU资源利用率。

Description

动态调整任务分配的方法、装置和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种动态调整任务分配的方法、装置和系统。
背景技术
自从Apache Hadoop问世以来,基于多个分散的Worker主机组成的分布式集群成为了大数据处理的主流架构。在这种架构中,一般会有一个Master主节点负责计算任务的调度,多个Worker主机负责实际任务的执行。
目前在这样的集群中,主流的任务调度方案都是基于固定槽位(slot)作为任务处理资源的基础单位实现。以流式数据分布式处理引擎Apache Flink为例,TaskManager任务管理模块在启动的时候就根据Worker节点的性能设置好了固定的槽位数,每个槽位能启动一个任务Task,集群中每个槽位持有一部分固定大小的内存资源。每个槽位在从TaskManager处接收到需要部署的Task后,与自己的上游建立连接,接收数据并处理。
现有集群中任务调度方案大部分都是基于槽位的静态调度方案,集群中槽位的数量,所持有的资源是在集群启动时就确定不会变化的;并且集群中的任务只会在任务初始化的时候做一次调度,当任务分配到一个Worker节点上的某个槽位以后,除非任务执行失败,不会再做第二次分配。然而,在实际集群运行时,不同的任务对CPU,内存等计算资源的需求并不一致,在静态调度方案下为了满足大部分任务的运行时需求,槽位的资源需要按所有任务的在整个任务生命周期内的最大的资源需求来设置,这就导致了计算资源的极大浪费。
发明内容
有鉴于此,本发明实施例提供一种动态调整任务分配的方法、装置和系统,能够在任务执行阶段,对正在执行的任务进行动态调度,实现了对集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高了集群CPU资源利用率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种动态调整任务分配的方法。
一种动态调整任务分配的方法,包括:对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
可选地,进行任务分配包括:从所述任务队列中获取待分配任务,并根据所述待分配任务的任务信息为所述待分配任务选取主机,将所述待分配任务分配给所述主机。
可选地,根据所述待分配任务的任务信息为所述待分配任务选取主机包括:根据所述任务信息判断所述待分配任务是否为CPU再分配任务;若是,则将集群包括的主机按照可用CPU资源大小进行排序;否则,将集群包括的主机按照可用进程数占比进行排序;从排序后的主机中选取主机。
可选地,从排序后的主机中选取主机包括:对排序后的主机按序遍历,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机。
可选地,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机包括:对每个主机,判断所述主机的可用进程数是否大于所述待分配任务所需的进程数;若是,则判断所述待分配任务是否为磁盘消耗型任务;若是,则当所述主机的可用磁盘空间大于第一阈值时,判断所述主机的CPU负载是否小于第二阈值;否则,直接判断所述主机的CPU负载是否小于第二阈值;若是,则当所述主机的剩余内存大于所述待分配任务所需的内存时,将所述主机作为选取的主机;否则,将所述主机加入待调度主机列表;若遍历完成仍未选取到任何主机,则将所述待调度主机列表中CPU负载最低的主机作为选取的主机。
可选地,所述性能参数包括CPU负载和可用磁盘空间;根据预设规则和所述性能参数,判断所述主机是否为待调度主机包括:根据所述主机的CPU负载和可用磁盘空间判断所述主机是否为待调度主机,其中,若所述主机的CPU负载大于第三阈值且持续时间达到第一时间阈值,则将所述主机作为待调度主机;若所述主机的可用磁盘空间小于第四阈值且持续时间达到第二时间阈值,则将所述主机作为待调度主机。
可选地,待调度主机的状态类型包括磁盘高负载和CPU高负载;从所述主机正在执行的任务中确定再分配任务包括:判断所述主机的状态类型是否为磁盘高负载;若是,则将所述主机正在执行的磁盘占用量最大的任务确定为再分配任务;否则,根据所述主机正在执行的任务的CPU使用率确定再分配任务。
可选地,根据所述主机正在执行的任务的CPU使用率确定再分配任务包括:获取CPU使用率最大的任务,并判断其CPU使用率是否超过第五阈值;若是,则对所述主机正在执行的除该CPU使用率最大的任务之外的每个任务,若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识;否则,按序遍历所述主机正在执行的每个任务,并对每个任务执行以下操作直至所述主机的CPU使用率小于所述第五阈值:若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识。
根据本发明实施例的另一方面,提供了一种动态调整任务分配的装置。
一种动态调整任务分配的装置,包括:主机参数获取模块,用于对集群包括的每个主机,定时获取所述主机的性能参数;主机状态判定模块,用于根据预设规则和所述性能参数,判断所述主机是否为待调度主机;任务分配调整模块,用于在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
可选地,所述任务分配调整模块在进行任务分配时还用于:从所述任务队列中获取待分配任务,并根据所述待分配任务的任务信息为所述待分配任务选取主机,将所述待分配任务分配给所述主机。
可选地,所述任务分配调整模块还用于:根据所述任务信息判断所述待分配任务是否为CPU再分配任务;若是,则将集群包括的主机按照可用CPU资源大小进行排序;否则,将集群包括的主机按照可用进程数占比进行排序;从排序后的主机中选取主机。
可选地,所述任务分配调整模块在从排序后的主机中选取主机时,还用于:对排序后的主机按序遍历,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机。
可选地,所述任务分配调整模块在从排序后的主机中选取主机时,还用于:对每个主机,判断所述主机的可用进程数是否大于所述待分配任务所需的进程数;若是,则判断所述待分配任务是否为磁盘消耗型任务;若是,则当所述主机的可用磁盘空间大于第一阈值时,判断所述主机的CPU负载是否小于第二阈值;否则,直接判断所述主机的CPU负载是否小于第二阈值;若是,则当所述主机的剩余内存大于所述待分配任务所需的内存时,将所述主机作为选取的主机;否则,将所述主机加入待调度主机列表;若遍历完成仍未选取到任何主机,则将所述待调度主机列表中CPU负载最低的主机作为选取的主机。
可选地,所述性能参数包括CPU负载和可用磁盘空间;所述主机状态判定模块还用于:根据所述主机的CPU负载和可用磁盘空间判断所述主机是否为待调度主机,其中,若所述主机的CPU负载大于第三阈值且持续时间达到第一时间阈值,则将所述主机作为待调度主机;若所述主机的可用磁盘空间小于第四阈值且持续时间达到第二时间阈值,则将所述主机作为待调度主机。
可选地,待调度主机的状态类型包括磁盘高负载和CPU高负载;所述任务分配调整模块还用于:判断所述主机的状态类型是否为磁盘高负载;若是,则将所述主机正在执行的磁盘占用量最大的任务确定为再分配任务;否则,根据所述主机正在执行的任务的CPU使用率确定再分配任务。
可选地,所述任务分配调整模块还用于:获取CPU使用率最大的任务,并判断其CPU使用率是否超过第五阈值;若是,则对所述主机正在执行的除该CPU使用率最大的任务之外的每个任务,若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识;否则,按序遍历所述主机正在执行的每个任务,并对每个任务执行以下操作直至所述主机的CPU使用率小于所述第五阈值:若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识。
根据本发明实施例的又一方面,提供了一种动态调整任务分配的系统。
一种动态调整任务分配的系统,包括:任务调度节点,用于对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配;主机,用于执行分配的任务。
可选地,所述主机还用于:定时采集自身当前的资源使用数据,并上报给所述任务调度节点;所述任务调度节点还用于:根据所述资源使用数据确定所述主机的类型。
可选地,所述主机还用于:定时计算正在执行的任务的资源占用数据,并上报给所述任务调度节点;所述任务调度节点还用于:根据所述资源占用数据确定每个任务的类型。
根据本发明实施例的又一方面,提供了一种动态调整任务分配的电子设备。
一种动态调整任务分配的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的动态调整任务分配的方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的动态调整任务分配的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过对集群包括的每个主机,定时获取主机的性能参数;根据预设规则和性能参数,判断主机是否为待调度主机;在主机为待调度主机的情况下,从主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配的技术方案,采用在任务执行过程中,仍会实时监控集群中主机的运行情况,并对任务进行动态调整和分配的任务调度算法,实现了对集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高了集群CPU资源利用率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的动态调整任务分配的方法的主要步骤示意图;
图2是本发明实施例的任务分配系统的系统架构图;
图3是本发明实施例的任务分配阶段的实现流程示意图;
图4是本发明实施例的任务执行阶段查找待调度主机的实现流程示意图;
图5是本发明实施例的任务执行阶段确定再分配任务的实现流程示意图;
图6是根据本发明实施例的动态调整任务分配的装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
现有技术中,集群中任务调度方案大部分都是基于槽位静态调度方案,这个静态调度主要体现在:集群中槽位的数量,所持有的资源是在集群启动时就确定不会变化的;集群中的任务只会在任务初始化的时候做一次调度,当任务分配到一个Worker节点上的某个槽位以后,除非任务执行失败,不会再做第二次分配。
然而,在实际集群运行时,不同的任务对核心处理器CPU、磁盘、内存等计算资源的需求并不一致,在静态调度方案下为了满足大部分任务的运行时需求,槽位的资源需要按所有任务的在整个任务生命周期内的最大的资源需求来设置,这就导致了计算资源的极大浪费。比如集群中有10个任务,每个任务需要执行10分钟,其中9个任务在整个生命周期内都只需要1G内存,而另外一个任务A在这10分钟的执行生命周期中有1分钟需要4G内存,其他时间只需要1G内存,为了满足任务A的需求,集群所有槽位都必须设成4G内存,那么最终集群浪费了10*4–(1*4+9*1)=27G的内存。
为了解决现有技术中存在的技术问题,本发明提出了一种动态调整任务分配的方法、装置和系统,可以将任务进行动态调度,在分配完成后仍会实时监控集群中主机的运行情况,并对任务进行动态调整和分配,从而使得整个集群的主机资源达到均衡状态,且任务也不会出现由于一直分配不出去而导致的“饿死”的情况。
图1是根据本发明实施例的动态调整任务分配的方法的主要步骤示意图。如图1所示,本发明实施例的动态调整任务分配的方法主要包括如下的步骤S101至步骤S103。
步骤S101:对集群包括的每个主机,定时获取主机的性能参数;
步骤S102:根据预设规则和性能参数,判断主机是否为待调度主机;
步骤S103:在主机为待调度主机的情况下,从主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配。
根据上述的步骤S101至步骤S103,针对现有集群任务调度中存在的问题,通过采用一种在任务执行过程中仍会实时监控集群中主机的运行情况,并对任务进行动态调整和分配的任务调度算法,实现了一种集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平。
为了实现本发明的动态调整任务分配的方法,本发明提供了一种动态调整任务分配的系统,包括任务调度节点和主机两部分。其中,任务调度节点,用于对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配;主机,用于执行分配的任务。
根据本发明的实施例,该动态调整任务分配的系统在具体应用过程中,主机还可以用于:定时采集自身当前的资源使用数据,并上报给所述任务调度节点;并且,所述任务调度节点还可以用于:根据所述资源使用数据确定所述主机的类型。另一方面,主机还可以用于:定时计算正在执行的任务的资源占用数据,并上报给所述任务调度节点;并且,任务调度节点还可以用于:根据所述资源占用数据确定每个任务的类型。
下面结合附图介绍本发明实施例的动态调整任务分配的系统。图2是本发明实施例的任务分配系统的系统架构图。在该实施例中,任务调度节点被具体实现为Master节点,主机被具体实现为Worker节点。如图2所示,本发明实施例的任务分配系统主要由Master节点和多个Worker节点组成。其中,每个Worker节点可以是由一台单独的主机来运行。Master节点主要由集群资源管理模块、集群任务调度模块和集群任务管理模块组成,Master节点主要负责集群任务的分配和调度。Worker节点主要由节点资源采集模块、任务资源计算模块和任务执行模块组成,Worker节点负责任务的执行和资源情况的计算上报。根据本发明的技术方案,主要的动态任务调度的流程如下:
1、集群启动后,Worker节点的节点资源采集模块定时采集集群包括的Worker节点当前的CPU、内存、磁盘等资源使用数据,并上报给Master节点的集群资源管理模块。Master节点的集群资源管理模块存储集群所有Worker节点的最新资源使用数据,并可以按可用的资源使用数据把Worker节点分为CPU型(CPU核数多)、内存型(内存大)、磁盘型(磁盘大)和通用型。其中,通用型Worker节点例如是集群包括的主机中相同配置最多的资源对应的主机;CPU型、内存型和磁盘型均是相对于通用型来划分的,例如CPU型是该主机的CPU核数较之通用性主机的CPU核数更多,内存型、磁盘型等是相同的划分原理;
2、Worker节点的任务资源计算模块负责定时(例如:10秒钟,可根据应用需要灵活设定)计算节点上正在运行的任务的资源占用数据并上报到Master节点的集群任务管理模块。Master节点的集群任务管理模块负责维护Worker节点正在运行的任务的最新资源占用数据,并按照资源占用数据把任务分为CPU消耗型,内存消耗型,磁盘消耗型和均衡型。其中,在进行任务类型划分时,可根据预先设定的阈值来进行划分,例如,CPU消耗型任务可定义为任务执行时主机CPU使用率超过10%,等等;
3、当Master节点从任务队列中获取到任务以后,Master节点的集群任务调度模块使用第一阶段(任务分配阶段)任务调度算法为任务挑选最优Worker节点,并分配任务到该Worker节点执行;
4、Master节点的集群任务调度模块定时(例如:3分钟,可根据需要灵活设定)使用第二阶段(任务执行阶段)任务调度算法,找到资源紧张的Worker节点集合,并对这些Worker节点的任务做重新分配,使整个集群资源的使用状况达到一个相对均衡的状态。
使用本发明实施例的任务分配系统进行任务的动态分配,不仅采用任务分配阶段和任务执行阶段的两阶段任务调度算法,实现了一种集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平;同时,还能够针对不同的任务类型(例如包括:CPU消耗型,内存消耗型,磁盘消耗型等)选取最合适的运行节点,以此达到让任务高效运行,同时让集群资源利用率更高、集群运行状态更稳定的效果。
根据本发明的一个实施例,无论是之前未被分配过的任务,还是已被分配过但是被确定为再分配任务的任务,均需要按照以下方式进行任务分配。在进行任务分配时,具体地,可以从任务队列中获取待分配任务,并根据待分配任务的任务信息为待分配任务选取主机,将待分配任务分配给该主机。其中,在根据待分配任务的任务信息为待分配任务选取主机时,具体可以包括以下步骤:
根据所述任务信息判断所述待分配任务是否为CPU再分配任务;
若是,则将集群包括的主机按照可用CPU资源大小进行排序;否则,将集群包括的主机按照可用进程数占比进行排序;
从排序后的主机中选取主机。
在本发明的另一个实施例中,在从排序后的主机中选取主机时,具体可以通过对排序后的主机按序遍历,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机。
在本发明的又一个实施例中,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机,具体可以包括以下步骤:
对每个主机,判断所述主机的可用进程数是否大于所述待分配任务所需的进程数;
若是,则判断所述待分配任务是否为磁盘消耗型任务;
若是,则当所述主机的可用磁盘空间大于第一阈值时,判断所述主机的CPU负载是否小于第二阈值;否则,直接判断所述主机的CPU负载是否小于第二阈值;
若是,则当所述主机的剩余内存大于所述待分配任务所需的内存时,将所述主机作为选取的主机;否则,将所述主机加入待调度主机列表;
若遍历完成仍未选取到任何主机,则将所述待调度主机列表中CPU负载最低的主机作为选取的主机。
在上述的实施例中,所提及的第一阈值和第二阈值均可以根据应用需要进行灵活设定,这对本发明技术方案的实现并没有影响。
下面结合图3介绍本发明实施例的任务分配阶段的实现流程。图3是本发明实施例的任务分配阶段的实现流程示意图。如图3所示,在从任务队列中获取到一个待分配的任务后,将按照以下流程进行任务分配:
1、根据任务所在的集群获取本集群的主机对应的资源使用数据,每个主机即为一个Worker节点;
2、根据任务信息对主机进行排序。任务信息不同时,所对应的主机排序方式也不同。具体地:
(1)如果任务信息中包含了CPU再分配任务标识(即:该任务为CPU再分配任务),则说明该任务是动态调整任务分配的集群调度机制触发的再分配任务,且是由于主机CPU负载过高而确定的再分配任务,此时需要将主机按照可用CPU资源大小进行排序;
(2)如果任务信息中不包含CPU再分配任务标识(即:该任务不是CPU再分配任务),则说明该任务是初次提交的任务,或者是由于其他原因执行失败后自动重试的任务,或者是磁盘占用量大的磁盘消耗型任务(任务信息中会包含该信息),此时需要将主机按照可用进程数占比进行排序。其中,主机可用进程数占比即为可用槽位比,每个槽位可理解为一个进程,每个槽位可执行一个任务,但是一个任务可能需要多个槽位来执行,即:一个任务需要一个或多个进程来执行;
3、对排序后的主机进行遍历;
4、取出一台主机,并执行步骤5,如果没有主机,则说明全部主机都已遍历过都未找到符合要求的主机,此时执行步骤12;
5、判断主机的可用进程数是否大于任务所需的进程数,若大于,则执行步骤6;否则执行步骤4;
6、判断任务是否是磁盘消耗型任务,若是,则执行步骤7,否则执行步骤8;
7、检查主机的可用磁盘空间是否大于第一阈值,通常情况下,对于一个主机来说,当其可用磁盘空间小于某个阈值(例如:20%)时就不应该分配任务了,否则会影响主机的运行。若是,则执行步骤8,否则执行步骤4;
8、检查主机的CPU负载是否小于第二阈值,其中,第二阈值可表示为:核数*f1,f1是可定义的阈值,通常情况下,对于一个主机来说,当其CPU负载达到某个阈值(例如:核数*0.6)时就不应该分配任务了,否则会影响主机的运行。若是,则执行步骤9,否则执行步骤11;
9、检查主机的剩余内存是否大于任务所需内存,若是,则执行步骤10,否则执行步骤4;
10、进行任务分配,结束;
11、将主机加入待调度主机列表,然后执行步骤4;
12、将待调度主机列表进行排序,从待调度主机中选取负载最低的主机进行任务分配,由此可以防止由于集群压力过大,任务一直分配不出去而出现任务“饿死”的情况。
根据图3所示的实施例,即可根据任务的不同类型来选取更合适的运行主机,从而达到让任务高效运行,同时让集群资源利用率更高、集群运行状态更稳定的效果。同时,由于集群主机的内存不会提前划分,故而可以通过对主机的剩余内存进行检查,以根据进程配置的最小内存和最大内存要求动态调整为任务分配的内存,提高集群内存资源利用率。
根据本发明的技术方案,在任务分配完成之后,任务执行过程中,仍需要定时从集群中查找待调度主机集合,并从每个待调度主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配。
在本发明的一个实施例中,对集群包括的每个主机,定时获取所述主机的性能参数,其中,性能参数例如包括主机的CPU负载和可用磁盘空间。然后,根据预设规则和所述性能参数,判断所述主机是否为待调度主机。在判断所述主机是否为待调度主机时,具体可以按照以下步骤来执行:
根据所述主机的CPU负载和可用磁盘空间判断所述主机是否为待调度主机,其中,若所述主机的CPU负载大于第三阈值且持续时间达到第一时间阈值,则将所述主机作为待调度主机;若所述主机的可用磁盘空间小于第四阈值且持续时间达到第二时间阈值,则将所述主机作为待调度主机。
根据本发明的其中一个实施例,待调度主机的状态类型包括磁盘高负载和CPU高负载。并且,在从所述主机正在执行的任务中确定再分配任务时,具体可以包括:
判断所述主机的状态类型是否为磁盘高负载;其中,主机的状态类型指的是当前主机已处于超负荷状态时,具体所对应的超负荷状态类型;
若是,则将所述主机正在执行的磁盘占用量最大的任务确定为再分配任务;
否则,根据所述主机正在执行的任务的CPU使用率确定再分配任务。
根据本发明的又一个实施例,根据所述主机正在执行的任务的CPU使用率确定再分配任务的步骤具体可以包括:
获取CPU使用率最大的任务,并判断其CPU使用率是否超过第五阈值;
若是,则对所述主机正在执行的除该CPU使用率最大的任务之外的每个任务,若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识;
否则,按序遍历所述主机正在执行的每个任务,并对每个任务执行以下操作直至所述主机的CPU使用率小于所述第五阈值:若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识。
下面结合图4和图5介绍本发明实施例的任务执行阶段的实现流程。图4是本发明实施例的任务执行阶段查找待调度主机的实现流程示意图;图5是本发明实施例的任务执行阶段确定再分配任务的实现流程示意图。Master节点的集群资源管理模块会定时进行负载检查并确定再分配任务。
如图4所示,Master节点的集群资源管理模块定时从集群中查找待调度主机集合的主要流程如下:
1、遍历集群中包括的主机;
2、取出一台主机,并执行步骤3,若无待遍历主机则执行步骤7;
3、检查主机的CPU负载是否大于第三阈值(该第三阈值可与第二阈值相同,也可不同),且持续时间达到第一时间阈值(例如:3分钟),其中,第三阈值例如可表示为核数*f2,f2是可定义的阈值,若是,则执行步骤5,否则执行步骤4;
4、检查主机的可用磁盘空间是否小于第四阈值(该第四阈值可与第一阈值相同,也可不同),且持续时间达到第二时间阈值(例如:3分钟),若是,则执行步骤6,否则执行步骤2;
5、将主机加入待调度主机列表,且设置状态类型为CPU高负载;此时,由于主机已处于CPU负载超负荷的状态,故而将主机对应的状态类型记为CPU高负载;
6、将主机加入待调度主机列表,且设置状态类型为磁盘高负载;此时,由于主机已处于磁盘负载超负荷的状态,故而将主机对应的状态类型记为磁盘高负载;
7、检查结束。
如图5所示,在获取到待调度主机之后,Master节点的集群任务调度模块即可对待调度主机正在执行的任务进行分析以确定需要再分配的任务,主要流程如下:
1、遍历待调度主机;
2、取出一台待调度主机,并执行步骤3,若无待遍历的待调度主机则执行步骤14;
3、判断待调度主机的状态类型是否为磁盘高负载,若是,则执行步骤4,否则,执行步骤5;
4、找到该待调度主机的磁盘占用量最大的任务并将其确定为再分配任务,结束该任务(磁盘空间只能通过结束进程进行回收,从而释放磁盘空间),并将其放入任务队列,然后执行步骤2;
5、将该待调度主机正在执行的任务按CPU使用率进行排序;
6、获取CPU使用率最高的任务,并判断是否满足CPU使用率>第五阈值,其中,第五阈值例如为50%。应注意的是,如果该任务的CPU使用率大于50%,则无论将其放在任何一个主机执行都会导致该主机的负载变高,故而不会杀死该任务,而是要对其他任务进行处理。若是,则执行步骤7,否则执行步骤10;
7、遍历除该CPU使用率最大的任务之外的剩余所有任务,若无待遍历任务,执行步骤2;
8、判断该任务最近时段是否被调度过,其中,最近时段例如是近10分钟内,被调度过指的是该任务原是在某主机A上执行,且已被再分配到该主机B上执行。如果任务最近时段被调度过,则不再进行调度,防止某些任务被频繁调度而影响执行效率和浪费系统资源。若是,则执行步骤7,否则执行步骤9;
9、将该任务确定为再分配任务,为该任务添加CPU再分配任务标识,并且结束该任务,将其放入任务队列,然后执行步骤7;
10、按顺序遍历该待调度主机正在执行的所有任务,若无待遍历任务,则执行步骤2;
11、判断取出的任务在最近时段是否被调度过,若是,则执行步骤10,否则执行步骤12;
12、将该任务确定为再分配任务,为该任务添加CPU再分配任务标识,并且结束该任务,将其放入任务队列,然后执行步骤13;
13、判断该待调度主机目前的CPU使用率是否小于第五阈值,若是,则执行步骤14,否则执行步骤10;
14、结束调度。
根据图4和图5所示的实施例,即可在任务执行阶段,动态获取集群主机的运行数据并进行任务的动态调度,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高集群的CPU资源利用率。
在上述本发明的所有实施例中,所出现的阈值均是可根据应用需要进行灵活设定的,这并不会影响本发明技术方案的实施。
根据本发明的另一个方面,提供了一种动态调整任务分配的装置。图6是根据本发明实施例的动态调整任务分配的装置的主要模块示意图。如图6所示,本发明实施例的动态调整任务分配的装置600主要包括主机参数获取模块601、主机状态判定模块602和任务分配调整模块603。
主机参数获取模块601,用于对集群包括的每个主机,定时获取所述主机的性能参数;
主机状态判定模块602,用于根据预设规则和所述性能参数,判断所述主机是否为待调度主机;
任务分配调整模块603,用于在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
根据本发明的一个实施例,任务分配调整模块603在进行任务分配时,还可以用于:从所述任务队列中获取待分配任务,并根据所述待分配任务的任务信息为所述待分配任务选取主机,将所述待分配任务分配给所述主机。
根据本发明的一个实施例,任务分配调整模块603还可以用于:
根据所述任务信息判断所述待分配任务是否为CPU再分配任务;
若是,则将集群包括的主机按照可用CPU资源大小进行排序;否则,将集群包括的主机按照可用进程数占比进行排序;
从排序后的主机中选取主机。
根据本发明的另一个实施例,任务分配调整模块603在从排序后的主机中选取主机时,还用于:
对排序后的主机按序遍历,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机。
根据本发明的又一个实施例,任务分配调整模块603在从排序后的主机中选取主机时,还用于:
对每个主机,判断所述主机的可用进程数是否大于所述待分配任务所需的进程数;
若是,则判断所述待分配任务是否为磁盘消耗型任务;
若是,则当所述主机的可用磁盘空间大于第一阈值时,判断所述主机的CPU负载是否小于第二阈值;否则,直接判断所述主机的CPU负载是否小于第二阈值;
若是,则当所述主机的剩余内存大于所述待分配任务所需的内存时,将所述主机作为选取的主机;否则,将所述主机加入待调度主机列表;
若遍历完成仍未选取到任何主机,则将所述待调度主机列表中CPU负载最低的主机作为选取的主机。
根据本发明的又一个实施例,所述性能参数包括CPU负载和可用磁盘空间;主机状态判定模块602还可以用于:
根据所述主机的CPU负载和可用磁盘空间判断所述主机是否为待调度主机,其中,若所述主机的CPU负载大于第三阈值且持续时间达到第一时间阈值,则将所述主机作为待调度主机;若所述主机的可用磁盘空间小于第四阈值且持续时间达到第二时间阈值,则将所述主机作为待调度主机。
根据本发明的又一个实施例,待调度主机的状态类型包括磁盘高负载和CPU高负载;任务分配调整模块603还可以用于:
判断所述主机的状态类型是否为磁盘高负载;
若是,则将所述主机正在执行的磁盘占用量最大的任务确定为再分配任务;
否则,根据所述主机正在执行的任务的CPU使用率确定再分配任务。
根据本发明的再一个实施例,任务分配调整模块603还可以用于:
获取CPU使用率最大的任务,并判断其CPU使用率是否超过第五阈值;
若是,则对所述主机正在执行的除该CPU使用率最大的任务之外的每个任务,若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识;
否则,按序遍历所述主机正在执行的每个任务,并对每个任务执行以下操作直至所述主机的CPU使用率小于所述第五阈值:若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识。
根据本发明实施例的技术方案,通过对集群包括的每个主机,定时获取主机的性能参数;根据预设规则和性能参数,判断主机是否为待调度主机;在主机为待调度主机的情况下,从主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配的技术方案,采用在任务执行过程中,仍会实时监控集群中主机的运行情况,并对任务进行动态调整和分配的任务调度算法,实现了对集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高了集群CPU资源利用率。
图7示出了可以应用本发明实施例的动态调整任务分配的方法或动态调整任务分配的装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如数据处理类应用、搜索类应用、流数据处理工具、任务调度工具、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的任务分配请求等数据进行对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配等处理,并将处理结果(例如任务分配结果--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的动态调整任务分配的方法一般由服务器705执行,相应地,动态调整任务分配的装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统800的结构示意图。图8示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括主机参数获取模块、主机状态判定模块和任务分配调整模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,主机参数获取模块还可以被描述为“用于对集群包括的每个主机,定时获取所述主机的性能参数的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
根据本发明实施例的技术方案,通过对集群包括的每个主机,定时获取主机的性能参数;根据预设规则和性能参数,判断主机是否为待调度主机;在主机为待调度主机的情况下,从主机正在执行的任务中确定再分配任务,结束再分配任务并将再分配任务添加到任务队列中以重新进行任务分配的技术方案,采用在任务执行过程中,仍会实时监控集群中主机的运行情况,并对任务进行动态调整和分配的任务调度算法,实现了对集群的资源按照任务实际需求的最优化分配,使整个集群主机的CPU、内存和磁盘等资源的使用率都在一个均衡的水平,使集群中的流数据任务分布的更均衡并且能够稳定运行,同时提高了集群CPU资源利用率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (14)

1.一种动态调整任务分配的方法,其特征在于,包括:
对集群包括的每个主机,定时获取所述主机的性能参数;
根据预设规则和所述性能参数,判断所述主机是否为待调度主机;
在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
2.根据权利要求1所述的方法,其特征在于,进行任务分配包括:
从所述任务队列中获取待分配任务,并根据所述待分配任务的任务信息为所述待分配任务选取主机,将所述待分配任务分配给所述主机。
3.根据权利要求2所述的方法,其特征在于,根据所述待分配任务的任务信息为所述待分配任务选取主机包括:
根据所述任务信息判断所述待分配任务是否为CPU再分配任务;
若是,则将集群包括的主机按照可用CPU资源大小进行排序;否则,将集群包括的主机按照可用进程数占比进行排序;
从排序后的主机中选取主机。
4.根据权利要求3所述的方法,其特征在于,从排序后的主机中选取主机包括:
对排序后的主机按序遍历,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机。
5.根据权利要求4所述的方法,其特征在于,根据每个主机的可用进程数、可用磁盘空间、CPU负载和剩余内存选取主机包括:
对每个主机,判断所述主机的可用进程数是否大于所述待分配任务所需的进程数;
若是,则判断所述待分配任务是否为磁盘消耗型任务;
若是,则当所述主机的可用磁盘空间大于第一阈值时,判断所述主机的CPU负载是否小于第二阈值;否则,直接判断所述主机的CPU负载是否小于第二阈值;
若是,则当所述主机的剩余内存大于所述待分配任务所需的内存时,将所述主机作为选取的主机;否则,将所述主机加入待调度主机列表;
若遍历完成仍未选取到任何主机,则将所述待调度主机列表中CPU负载最低的主机作为选取的主机。
6.根据权利要求1所述的方法,其特征在于,所述性能参数包括CPU负载和可用磁盘空间;
根据预设规则和所述性能参数,判断所述主机是否为待调度主机包括:
根据所述主机的CPU负载和可用磁盘空间判断所述主机是否为待调度主机,其中,若所述主机的CPU负载大于第三阈值且持续时间达到第一时间阈值,则将所述主机作为待调度主机;若所述主机的可用磁盘空间小于第四阈值且持续时间达到第二时间阈值,则将所述主机作为待调度主机。
7.根据权利要求1或6所述的方法,其特征在于,待调度主机的状态类型包括磁盘高负载和CPU高负载;
从所述主机正在执行的任务中确定再分配任务包括:
判断所述主机的状态类型是否为磁盘高负载;
若是,则将所述主机正在执行的磁盘占用量最大的任务确定为再分配任务;
否则,根据所述主机正在执行的任务的CPU使用率确定再分配任务。
8.根据权利要求7所述的方法,其特征在于,根据所述主机正在执行的任务的CPU使用率确定再分配任务包括:
获取CPU使用率最大的任务,并判断其CPU使用率是否超过第五阈值;
若是,则对所述主机正在执行的除该CPU使用率最大的任务之外的每个任务,若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识;
否则,按序遍历所述主机正在执行的每个任务,并对每个任务执行以下操作直至所述主机的CPU使用率小于所述第五阈值:若所述任务在最近时段未被调度过,则将所述任务确定为再分配任务,并为所述任务添加CPU再分配任务标识。
9.一种动态调整任务分配的装置,其特征在于,包括:
主机参数获取模块,用于对集群包括的每个主机,定时获取所述主机的性能参数;
主机状态判定模块,用于根据预设规则和所述性能参数,判断所述主机是否为待调度主机;
任务分配调整模块,用于在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配。
10.一种动态调整任务分配的系统,其特征在于,包括:
任务调度节点,用于对集群包括的每个主机,定时获取所述主机的性能参数;根据预设规则和所述性能参数,判断所述主机是否为待调度主机;在所述主机为待调度主机的情况下,从所述主机正在执行的任务中确定再分配任务,结束所述再分配任务并将所述再分配任务添加到任务队列中以重新进行任务分配;
主机,用于执行分配的任务。
11.根据权利要求10所述的系统,其特征在于,
所述主机还用于:定时采集自身当前的资源使用数据,并上报给所述任务调度节点;
所述任务调度节点还用于:根据所述资源使用数据确定所述主机的类型。
12.根据权利要求10所述的系统,其特征在于,
所述主机还用于:定时计算正在执行的任务的资源占用数据,并上报给所述任务调度节点;
所述任务调度节点还用于:根据所述资源占用数据确定每个任务的类型。
13.一种动态调整任务分配的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202111455195.5A 2021-12-01 2021-12-01 动态调整任务分配的方法、装置和系统 Pending CN114116173A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111455195.5A CN114116173A (zh) 2021-12-01 2021-12-01 动态调整任务分配的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111455195.5A CN114116173A (zh) 2021-12-01 2021-12-01 动态调整任务分配的方法、装置和系统

Publications (1)

Publication Number Publication Date
CN114116173A true CN114116173A (zh) 2022-03-01

Family

ID=80369353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111455195.5A Pending CN114116173A (zh) 2021-12-01 2021-12-01 动态调整任务分配的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN114116173A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579317A (zh) * 2022-03-17 2022-06-03 北京爱笔科技有限公司 一种模型测试方法及系统
CN114840343A (zh) * 2022-05-16 2022-08-02 江苏安超云软件有限公司 基于分布式系统的任务调度方法及系统
CN115794256A (zh) * 2022-12-01 2023-03-14 深圳市兴研科技有限公司 高密度矿用工控机性能配置方法、装置及计算机设备
CN117372166A (zh) * 2023-10-26 2024-01-09 北京开科唯识技术股份有限公司 一种高效的尾差分配处理方法、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857577A (zh) * 2012-09-24 2013-01-02 北京联创信安科技有限公司 一种集群存储自动负载均衡的系统及方法
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN105354084A (zh) * 2015-10-30 2016-02-24 浪潮(北京)电子信息产业有限公司 一种基于带宽调度的cpu任务迁移方法及系统
CN110099083A (zh) * 2018-01-30 2019-08-06 贵州白山云科技股份有限公司 一种用于服务器集群的负载均衡调度方法及装置
CN110413389A (zh) * 2019-07-24 2019-11-05 浙江工业大学 一种资源不均衡Spark环境下的任务调度优化方法
CN110764912A (zh) * 2019-10-25 2020-02-07 东北大学 一种自适应任务调度器及方法
CN111045795A (zh) * 2018-10-11 2020-04-21 浙江宇视科技有限公司 资源调度方法及装置
CN113626166A (zh) * 2021-08-04 2021-11-09 北京理工大学 Gaia系统中基于资源反馈的负载均衡任务调度方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857577A (zh) * 2012-09-24 2013-01-02 北京联创信安科技有限公司 一种集群存储自动负载均衡的系统及方法
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN105354084A (zh) * 2015-10-30 2016-02-24 浪潮(北京)电子信息产业有限公司 一种基于带宽调度的cpu任务迁移方法及系统
CN110099083A (zh) * 2018-01-30 2019-08-06 贵州白山云科技股份有限公司 一种用于服务器集群的负载均衡调度方法及装置
CN111045795A (zh) * 2018-10-11 2020-04-21 浙江宇视科技有限公司 资源调度方法及装置
CN110413389A (zh) * 2019-07-24 2019-11-05 浙江工业大学 一种资源不均衡Spark环境下的任务调度优化方法
CN110764912A (zh) * 2019-10-25 2020-02-07 东北大学 一种自适应任务调度器及方法
CN113626166A (zh) * 2021-08-04 2021-11-09 北京理工大学 Gaia系统中基于资源反馈的负载均衡任务调度方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579317A (zh) * 2022-03-17 2022-06-03 北京爱笔科技有限公司 一种模型测试方法及系统
CN114840343A (zh) * 2022-05-16 2022-08-02 江苏安超云软件有限公司 基于分布式系统的任务调度方法及系统
CN115794256A (zh) * 2022-12-01 2023-03-14 深圳市兴研科技有限公司 高密度矿用工控机性能配置方法、装置及计算机设备
CN115794256B (zh) * 2022-12-01 2024-10-25 深圳市兴研科技有限公司 高密度矿用工控机性能配置方法、装置及计算机设备
CN117372166A (zh) * 2023-10-26 2024-01-09 北京开科唯识技术股份有限公司 一种高效的尾差分配处理方法、装置及存储介质
CN117372166B (zh) * 2023-10-26 2024-03-08 北京开科唯识技术股份有限公司 一种高效的尾差分配处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US11243805B2 (en) Job distribution within a grid environment using clusters of execution hosts
CN108701059B (zh) 多租户资源分配方法和系统
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
JP6881575B2 (ja) 資源割当システム、管理装置、方法およびプログラム
US20170031622A1 (en) Methods for allocating storage cluster hardware resources and devices thereof
CN110166507B (zh) 多资源调度方法和装置
KR20170029263A (ko) 부하 분산 장치 및 방법
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
CN106201661A (zh) 用于弹性伸缩虚拟机集群的方法和装置
CN108170520A (zh) 一种云计算资源管理方法及装置
US9535749B2 (en) Methods for managing work load bursts and devices thereof
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN106878389B (zh) 用于在云系统中进行资源调度的方法和装置
US7660897B2 (en) Method, system, and program for distributing application transactions among work servers
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
CN105450784B (zh) 向mq中的消息分配消费节点的装置及方法
CN114896068A (zh) 资源分配方法、资源分配装置、电子设备及存储介质
US8468530B2 (en) Determining and describing available resources and capabilities to match jobs to endpoints
JP2016004328A (ja) タスク割当プログラム、タスク割当方法およびタスク割当装置
JP2017037492A (ja) 分散処理プログラム、分散処理方法および分散処理装置
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
CN113407108B (zh) 一种数据存储方法和系统
CN111190719A (zh) 优化集群资源分配的方法、装置、介质及电子设备
CN114237902A (zh) 一种服务部署方法、装置、电子设备及计算机可读介质
CN114416355A (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