CN116662014A - 一种任务分配方法、装置、设备及介质 - Google Patents

一种任务分配方法、装置、设备及介质 Download PDF

Info

Publication number
CN116662014A
CN116662014A CN202310789454.0A CN202310789454A CN116662014A CN 116662014 A CN116662014 A CN 116662014A CN 202310789454 A CN202310789454 A CN 202310789454A CN 116662014 A CN116662014 A CN 116662014A
Authority
CN
China
Prior art keywords
resources
node
idle
task
subtasks
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
CN202310789454.0A
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202310789454.0A priority Critical patent/CN116662014A/zh
Publication of CN116662014A publication Critical patent/CN116662014A/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
    • G06F9/5016Allocation 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 the resource being the memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及计算机技术领域,尤其涉及一种任务分配方法、装置、设备及介质。所述方法包括:定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。本发明的方案提高任务执行效率。

Description

一种任务分配方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务分配方法、装置、设备及介质。
背景技术
随着社会信息化及数据挖掘飞速发展,人类对大数据的计算及处理能力的要求越来越高,包括政府机构、金融机构、国防科技、科学研究、互联网企业等需求高性能计算机,大规模集群中复杂任务的计算需求迅猛增长。在大规模集群应用场景中,各个节点的运行状态及负载信息影响着整个集群的业务处理情况,因而对复杂任务到各个节点的分配策略显得尤为重要,而如何保证在各个节点各自业务正常运行情况下,在负载不超过风险阈值前提下,又能够满足对分配到的复杂任务模块的处理,是当前迫切需要解决的问题。
目前,现有大规模集群任务分配策略相关技术中大多数都是先获取各节点服务器的空闲资源,将任务按权重分配到各节点服务器。这种任务分配方式在大规模集群系统业务处理中,系统资源在运行各个业务系统存在波动情况下,运行分配任务时,受业务资源波动影响,会导致资源超过系统风险阈值,导致业务失败或者运行分配任务失败,严重情况下,可能会因为负载较高而宕机。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种任务分配方法、装置、设备及介质。
根据本发明的第一方面,提供了一种任务分配方法,所述方法包括:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
在一些实施例中,所述定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量的步骤,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
在一些实施例中,所述根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间的步骤,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
T=max{Si}(i=1,2..n) 公式三;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
在一些实施例中,所述基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量的步骤,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
在一些实施例中,所述方法应用于大规模集群。
根据本发明的第二方面,提供了一种任务分配装置,所述装置包括:
预测模块,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
根据本发明的第三方面,还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的任务分配方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的任务分配方法。
上述一种任务分配方法,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
此外,本发明还提供了一种任务分配装置、一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种任务分配方法的流程图;
图2为本发明另一个实施例提供的应用于大规模集群的任务分配方法的实现架构示意图;
图3为本发明另一个实施例提供的一种任务分配装置的结构示意图;
图4为本发明另一个实施例中电子设备的内部结构图;
图5为本发明另一个实施例中计算机可读存储介质结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种任务分配方法100,具体来说,所述方法包括以下步骤:
步骤101,定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
步骤102,响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
步骤103,根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
步骤104,基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
上述一种任务分配方法,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
在一些实施例中,前述步骤101,定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
在一些实施例中,前述步骤103,根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
在一些实施例中,前述步骤104,基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
在一些实施例中,所述方法应用于大规模集群。
在又一个实施例中,为了便于理解本发明的方案,下面请结合图2所示,下面以将本发明方法应用于大规模集群为例,假设集群中有n个节点,具体包括在每个节点部署资源数据采集模块,在任务管理服务器部署任务模型构建模块、空闲资源预测模块、任务分配策略模块,本实施例提供了应用于该场景的一种任务分配方法,下面将详细说明四个模块各自的功能:
任务模型构建模块,该模块位于管理端服务器,该模块包括任务模型库的构造,以及任务模型库的使用,其中任务模型库的构造,任务划分成若干子任务单元,计算每个子任务单元在各节点分配到资源(CPU、内存、网络IO、磁盘IO)对子任务单元执行时间的影响因子,即CPU、内存、网络IO、磁盘IO资源越多,任务执行时间越短;另外模型库的使用,模型库构造完成后,新增加的任务,可根据模型库,得到分解任务单元以及获取各节点任务单元的执行时间与分配资源(CPU、内存、网络IO、磁盘IO)关系;
资源数据采集模块,该模块位于节点服务器,主要负责采集节点性能指标,主要包括CPU利用率、内存利用、磁盘IO、网络IO、系统负载等信息,将采集到的数据按时间发送到管理端服务器。
资源空闲预测模块,该模块位于管理端服务器,首先定义各节点CPU利用率、内存利用率、磁盘IO、网络IO这些资源的安全使用阈值,再通过收集各节点服务器的这些资源的空闲资源数据(安全使用阈值减去使用值)作为样本数据,采用长短期神经网络模型对这些样本数据进行训练,对下一时间段的节点系统空闲资源进行预测,获取该时间段内CPU利用率、内存利用率、网络IO、磁盘IO的空闲情况。
任务分配策略模块,该模块利用任务模型构建模块,获取各个子任务单元运行所需的时间与节点资源分配之间的关系,再根据负载预测模块提供的下一时间段的各个节点的空闲资源,对任务单元进行分配,使得所有任务能够在最短时间内执行完成。
基于以上四个模块实现任务分配的具体实施方式如下:
首先进行任务模型构建,任务模型构建中主要是任务模型库的构建,其中任务模型中,需要对任务分解成若干个子任务单元,每个子任务单元执行时间与集群各个节点资源分配相关,其关系如公式一:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
根据上述关系,将任务平均分发到各个节点,统计任务执行时间,计算参数值,得到任务单元执行时间与空闲资源关系的具体模型。
然后,在各个节点部署资源数据采集程序,将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集,其空闲资源的计算方法则是先定义各资源的安全使用阈值(资源安全使用上限),然后用安全阈值减去当前值即为空闲值,比如CPU利用率安全阈值定义为80%,当前使用率20%,则空闲值为60%。将采集到的数据上传给管理端服务器。
其次,管理端服务器,在接收到各个节点发送的时序数据后,启动空闲资源预测分析程序,不断接收各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源历史数据,将数据作为样本数据,采用长短期神经网络模型进行训练,不断预测下一时刻的系统空闲资源值
最后,根据任务模型库,将要执行的任务分解成若干子任务,然后根据各节点空闲资源的预测值,将任务分配给各个节点,使得任务的总运行时间最短,其中单个节点运行时间表示为公式二:
Si=Ni·Ti t 公式二;
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
为求解参数任务的总运行时间最短,则分配策略如下:
Ni参数确定后表示任务分配策略已经确定,按照任务分配策略将任务分配到各个节点执行,能够满足既不影响各节点当前业务的运行,又能满足任务在最短时间内完成,从而提高任务的执行效率。
本实施例的一种任务分配方法,能够预测各个节点下一时间的系统空闲资源,并将复杂任务智能化分配到负载较低的节点,能够充分利用集群有效资源,有效的缩短任务执行时间,降低服务器宕机风险,增强系统稳定性,提高任务执行效率。
在一些实施例中,请参照图3所示,本发明还提供了一种任务分配装置200,所述装置包括:
预测模块201,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块202,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块203,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块204,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
上述一种任务分配装置,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
需要说明的是,关于任务分配装置的具体限定可以参见上文中对任务分配方法的限定,在此不再赘述。上述任务分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种电子设备,该电子设备可以是服务器,其内部结构图请参照图4所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的任务分配方法,具体来说,所述方法包括以下步骤:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
根据本发明的又一方面,提供了一种计算机可读存储介质,请参照图5所示,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的任务分配方法,具体来说,包括执行以下步骤:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种任务分配方法,其特征在于,所述方法包括:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
2.根据权利要求1所述的任务分配方法,其特征在于,所述定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量的步骤,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
3.根据权利要求2所述的任务分配方法,其特征在于,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
4.根据权利要求2所述的任务分配方法,其特征在于,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
5.根据权利要求4所述的任务分配方法,其特征在于,所述根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间的步骤,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
Si=Ni·Ti t 公式二;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
T=max{Si}(i=1,2..n) 公式三;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
6.根据权利要求5所述的任务分配方法,其特征在于,所述基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量的步骤,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
7.根据权利要求1-6任意一项所述的任务分配方法,其特征在于,所述方法应用于大规模集群。
8.一种任务分配装置,其特征在于,所述装置包括:
预测模块,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
CN202310789454.0A 2023-06-30 2023-06-30 一种任务分配方法、装置、设备及介质 Pending CN116662014A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310789454.0A CN116662014A (zh) 2023-06-30 2023-06-30 一种任务分配方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310789454.0A CN116662014A (zh) 2023-06-30 2023-06-30 一种任务分配方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116662014A true CN116662014A (zh) 2023-08-29

Family

ID=87715299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310789454.0A Pending CN116662014A (zh) 2023-06-30 2023-06-30 一种任务分配方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116662014A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117421107A (zh) * 2023-12-14 2024-01-19 江西飞尚科技有限公司 监测平台调度方法、系统、可读存储介质及计算机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117421107A (zh) * 2023-12-14 2024-01-19 江西飞尚科技有限公司 监测平台调度方法、系统、可读存储介质及计算机
CN117421107B (zh) * 2023-12-14 2024-03-08 江西飞尚科技有限公司 监测平台调度方法、系统、可读存储介质及计算机

Similar Documents

Publication Publication Date Title
Khaleq et al. Intelligent autoscaling of microservices in the cloud for real-time applications
CN110321223B (zh) Coflow协同作业流调度感知的数据流划分方法与装置
Das et al. Performance optimization for edge-cloud serverless platforms via dynamic task placement
US20120198466A1 (en) Determining an allocation of resources for a job
CN106155802B (zh) 任务调度方法、装置及控制节点
CN107911399B (zh) 一种基于负载预测的弹性伸缩方法及系统
CN111258767A (zh) 复杂系统仿真应用的云计算资源智能分配方法与装置
CN111225050B (zh) 云计算资源分配方法及装置
CN116662014A (zh) 一种任务分配方法、装置、设备及介质
CN111966449B (zh) 一种虚拟机备份管理方法、系统、终端及存储介质
CN112689007B (zh) 资源分配方法、装置、计算机设备和存储介质
EP2977898A1 (en) Task allocation in a computing environment
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
CN112232594A (zh) 一种多星应急观测任务规划方法、装置和计算机设备
CN113268350A (zh) 基于云的服务构建的资源分配方法、装置、计算机设备
CN112817721A (zh) 基于人工智能的任务调度方法、装置、计算机设备和介质
Hussain et al. Resource allocation of industry 4.0 micro-service applications across serverless fog federation
Guo Ant colony optimization computing resource allocation algorithm based on cloud computing environment
CN116541128A (zh) 一种负载调节方法、装置、计算设备、及存储介质
CN110909921A (zh) 中长期风电电量预测方法、装置、计算机设备及存储介质
CN111158901A (zh) 计算图的优化方法、装置、计算机设备和存储介质
Xue et al. When computing meets heterogeneous cluster: Workload assignment in graph computation
CN111354449B (zh) 长期护理策略分配方法、装置、计算机设备和存储介质
Zhang et al. An effective heuristic for due-date-constrained bag-of-tasks scheduling problem for total cost minimization on hybrid clouds
CN114860496A (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