CN117573307B - 云环境下多任务的统筹管理方法及系统 - Google Patents
云环境下多任务的统筹管理方法及系统 Download PDFInfo
- Publication number
- CN117573307B CN117573307B CN202311514582.0A CN202311514582A CN117573307B CN 117573307 B CN117573307 B CN 117573307B CN 202311514582 A CN202311514582 A CN 202311514582A CN 117573307 B CN117573307 B CN 117573307B
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- request
- cloud computing
- matching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 238000003860 storage Methods 0.000 claims abstract description 20
- 238000005457 optimization Methods 0.000 claims abstract description 12
- 238000009826 distribution Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 28
- 230000005856 abnormality Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000007726 management method Methods 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000035772 mutation Effects 0.000 claims description 7
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims description 3
- 230000006641 stabilisation Effects 0.000 claims description 2
- 238000011105 stabilization Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002921 genetic algorithm search Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Abstract
本发明公开了一种云环境下多任务的统筹管理方法及系统,涉及统筹管理技术领域,包括:获取任务请求,包括任务内容、任务标号、任务时间和任务优先级;对任务请求中的任务内容进行分析,得到任务请求的所需资源;根据任务请求的任务优先级、所需资源确定匹配算法,利用匹配算法对任务请求进行云计算节点的匹配,得到匹配方案集合;利用优化算法对匹配方案集合基于任务时间进行寻优,得到最优匹配方案;按照最优匹配方案对任务请求进行分配,分配完毕后执行任务请求;判断任务请求是否成功完成:若成功,则将任务请求、最优匹配方案进行共享存储;若失败,则进行异常分析,并生成异常报告。本发明能够提高任务执行效率和资源利用率。
Description
技术领域
本发明涉及统筹管理技术领域,具体涉及一种云环境下多任务的统筹管理方法及系统。
背景技术
随着云计算技术的快速发展,越来越多的应用和服务迁移到云环境中。在云环境下,资源的共享和利用成为了一项重要的任务。然而,云环境中存在着大量的任务请求和资源节点,如何合理地分配任务和资源,以提高任务执行效率和资源利用率,成为了云计算领域的重要研究课题之一。
传统的任务分配方法往往采用静态的分配策略,即将任务按照一定的规则分配给云计算节点。这种方法在一定程度上能够满足任务的执行需求,但无法充分利用资源和提高任务执行效率。另外,由于任务请求的多样性和复杂性,静态分配策略往往无法适应不同任务的需求,导致资源利用不均衡和任务执行效率低下。
中国申请号为201810323339.3的发明专利公开了一种云环境下的知识服务多任务调度优化方法及其构建的调度系统,其针对优化目标中的知识服务时间引入动态随机函数,可以有效模拟平台在实际运行过程中服务时间的动态随机特征,体现调度优化算法对知识服务过程动态性和随机性的适应能力,提高知识服务过程的响应效率。但该现有技术仅对服务时间做了调度优化,没有考虑到云环境下的资源分配问题、多任务执行时的多因素分配问题。
发明内容
有鉴于此,本发明提供一种云环境下多任务的统筹管理方法及系统,该方法是基于动态任务分配的方法。通过对任务请求进行分析和匹配,将任务分配给满足其所需资源的云计算节点,以提高任务执行效率和资源利用率。
本发明的技术目的是这样实现的:
一方面,本发明提供一种云环境下多任务的统筹管理方法,包括以下步骤:
S1获取任务请求,包括任务内容task_content、任务标号task_id、任务时间task_time和任务优先级task_priority;
S2对任务请求中的任务内容task_content进行分析,得到任务请求的所需资源task_resource;
S3根据任务请求的任务优先级task_priority、所需资源task_resource确定匹配算法,利用匹配算法对任务请求进行云计算节点的匹配,得到匹配方案集合,其中,匹配方案集合中采用任务标号task_id表示相应的任务请求;
S4利用优化算法对匹配方案集合基于任务时间task_time进行寻优,得到最优匹配方案;
S5按照最优匹配方案对任务请求进行分配,分配完毕后执行任务请求;
S6判断任务请求是否成功完成:
若成功,则将任务请求、最优匹配方案进行共享存储;
若失败,则进行异常分析,并生成异常报告。
在上述方案的基础上,优选的,步骤S1包括:
S11用户输入任务单,包括任务内容task_content、任务时间task_time和任务重要度task_importance,其中,任务时间task_time包括任务截止时间task_deadline和任务持续时间task_duration;
S12根据任务单生成唯一标识符,将唯一标识符作为任务标号task_id;
S13根据任务重要度task_importance和任务截止时间task_deadline计算任务优先级系数γ,计算公式为:
γ=task_importance/(task_deadline-current_time)
式中,current_time为用户输入任务单的时间;
S14确定任务级别,根据任务优先级系数γ进行映射计算得到任务优先级task_priority,并将任务优先级task_priority映射到对应的任务级别,其中,任务级别包括五个级别,分别为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ;
S15将任务内容task_content、任务时间task_time、任务标号task_id和任务优先级task_priority组成任务请求。
在上述方案的基础上,优选的,步骤S14中,根据任务优先级系数γ进行映射计算得到任务优先级task_priority,映射公式为:
task_priority=round(aγ4+bγ3+cγ2+dγ+elog(γ+1)+f)
式中,round为舍入函数,a、b、c、d、e是多项式参数,f是常数项。
在上述方案的基础上,优选的,步骤S2包括:
S21建立分析模型并预训练,将任务内容task_content输入预训练的分析模型中进行特征学习,得到任务特征,包括任务的计算复杂度C、并行度P、内存消耗M、并发度F、数据量D和网络数据传输量L;
S22根据任务特征计算任务请求的所需资源task_resource,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
其中,所需CPU资源=计算复杂度C*并行度P,所需内存资源=内存消耗M*并发度F,所需存储资源=数据量D,所需网络带宽资源=网络数据传输量L*并发度F。
在上述方案的基础上,优选的,步骤S3中,匹配算法的过程包括:
步骤一、输入任务请求集合、云计算节点集合,任务请求集合包括多个任务请求,每个任务请求包括任务优先级task_priority、所需资源task_resource,云计算节点集合包括多个云计算节点,每个云计算节点包括可用资源的信息,可用资源包含可用CPU资源、可用内存资源、可用存储资源和可用网络带宽资源;
步骤二、建立匹配方案集合{R}并初始化;
步骤三、按照任务优先级task_priority从高到低的顺序将任务请求进行排序,得到第一排序列表;
步骤四、选取第一排序列表中的第一个任务请求作为当前任务,遍历云计算节点集合,将云计算节点按照可用性和资源可用性进行从高到低排序,从第一个云计算节点开始与当前任务进行匹配:
当遍历到的云计算节点的可用性和资源可用性满足当前任务的所需资源,则将当前任务分配给该云计算节点,并更新该云计算节点的可用性和资源可用性,将该云计算节点和当前任务的任务标号task_id形成匹配信息,添加到匹配方案集合{R}中;
步骤五、将匹配完成的任务请求从第一排序列表中删除,更新第一排序列表,转至步骤四进行循环匹配,直至所有任务请求均匹配完成,输出匹配方案集合{R}。
在上述方案的基础上,优选的,步骤三包括:
创建空的排序列表sorted_list;
创建优先级字典priority_mapping,将任务级别映射为数值并存入优先级字典priority_mapping,其中,将任务级别Ⅰ映射为数值1、任务级别Ⅱ映射为数值2、任务级别Ⅲ映射为数值3、任务级别Ⅳ映射为数值4、任务级别Ⅴ映射为数值5;
遍历任务请求集合,根据优先级字典priority_mapping中的映射关系将每个任务请求的任务级别转换为对应的数值priority_value,将任务请求添加到sorted_list中,同时记录任务级别对应的数值priority_value和任务优先级task_priority;
对sorted_list进行二重排序,先按照任务级别对应的数值priority_value从高到低排序,若任务级别对应的数值priority_value,则按照任务优先级task_priority从高到低排序;
输出排序后的sorted_list,作为第一排序列表。
在上述方案的基础上,优选的,步骤S4包括:
S41根据匹配方案集合{R}随机生成N组初始的任务匹配方案作为种群,初始化种群,将每组任务匹配方案作为一个个体;
S42对每个个体,计算适应度值,适应度值根据适应度函数进行计算得到;
S43根据适应度值选择一部分个体作为父代,选择的概率与适应度值成正比;
S44从父代中选择两个个体,通过交叉操作生成新的个体,并对新的个体进行变异操作,引入随机变化,将父代和新的个体组合成新的种群;
S45重复步骤S42-S44,直至目标函数收敛;
S46根据适应度值输出最优个体,即最优匹配方案。
在上述方案的基础上,优选的,适应度函数为:
Y=∑(current_time+max(task_duration,max(task_deadline
-current_time,task_priority×task_duration)))
式中,Y为适应度值,current_time为当前时间,task_duration为任务持续时间,task_deadline为任务截止时间,task_priority为任务优先级;
目标函数收敛为目标函数达到最小值,目标函数的公式如下:
A=minY
式中,A为目标函数的值。
在上述方案的基础上,优选的,步骤S6中,若失败,则进行异常分析,生成异常报告,包括:
获取执行失败的任务请求的任务标号,按照任务标号调取对应的云计算节点,根据云计算节点收集其执行该任务标号的工作日志;
对工作日志进行分析,查找工作日志中的错误提示、异常堆栈信息、资源使用情况,确定异常原因;
根据异常原因给出相应的异常解决方案,将异常原因和对应的异常解决方案组合生成异常报告;
其中,异常原因包括节点故障、资源不足、网络波动和任务执行超时,相应的异常解决方案为:
节点故障解决方案:将该任务请求分配至匹配方案集合{R}中与该任务请求形成匹配信息的正常的云计算节点,或修复该故障的云计算节点后重新执行任务请求;
资源不足解决方案:增加该云计算节点的资源配置,以满足该任务请求的资源需求;
网络波动解决方案:修复网络配置和连接状态,测试网络,网络稳定后重新执行该任务请求;
任务执行超时解决方案:优化该云计算节点的计算复杂度,减少其执行时间。
另一方面,本发明还提供一种云环境下多任务的统筹管理系统,所述系统用于执行上述任一项所述的方法,所述系统包括:
任务请求模块,该模块用于接收用户输入的任务单,并生成任务请求,任务请求包括任务内容、任务时间、任务标号和任务优先级;
任务分析模块,该模块通过建立分析模型并预训练,将任务内容输入分析模型中进行特征学习,得到任务特征,根据任务特征计算任务请求的所需资源,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
任务匹配模块,该模块根据任务请求的任务优先级和所需资源,确定匹配算法,并进行云计算节点的匹配,形成匹配方案集合,之后对匹配方案集合进行优化,基于任务时间进行寻优,得到最优匹配方案;
任务执行模块,该模块根据最优匹配方案,将任务分配给相应的云计算节点进行执行;
任务反馈模块,该模块根据任务执行模块的执行结果进行判别,若任务成功,则将任务结果返回给用户,并更新系统中的云计算节点状态和任务状态,将任务请求和对应的最优匹配方案存储至共享存储中,若任务失败,则进行异常分析,生成异常报告,将异常报告发送至系统管理员。
本发明的方法相对于现有技术具有以下有益效果:
(1)本发明通过对任务请求进行分析和匹配,将任务分配给满足其所需资源的云计算节点,通过综合考虑任务的优先级和所需资源,确定最优的任务分配方案,以提高任务执行效率和资源利用率;
(2)本发明的匹配算法通过对任务请求和云计算节点的资源进行匹配,能够确定任务的最优分配方案。这样可以避免任务分配不均衡和资源利用不充分的问题,提高任务执行效率和资源利用率,同时能够综合考虑任务的优先级和所需资源,将任务分配给满足其需求的云计算节点。这样可以确保高优先级任务得到及时处理,避免资源浪费和冗余;
(3)本发明的优化算法通过对匹配方案的优化,能够提高任务的执行效率,并最大限度的利用云计算节点的资源,同时根据任务的特性和环境的变化,调整匹配方案并进行优化;
(4)本发明提供的管理系统具有较高的灵活性和可扩展性,能够适应不同规模和复杂度的任务请求。通过该系统,用户可以更有效地利用云计算资源,提高任务执行效率和资源利用率。同时,该系统还能够实时监控任务的执行状态和资源利用情况,保证任务的及时执行和资源的合理利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的方法流程图;
图2为本发明实施例的系统结构图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,首先,本发明提供云环境下多任务的统筹管理方法,包括以下步骤:
S1获取任务请求,包括任务内容task_content、任务标号task_id、任务时间task_time和任务优先级task_priority;
S2对任务请求中的任务内容task_content进行分析,得到任务请求的所需资源task_resource;
S3根据任务请求的任务优先级task_priority、所需资源task_resource确定匹配算法,利用匹配算法对任务请求进行云计算节点的匹配,得到匹配方案集合,其中,匹配方案集合中采用任务标号task_id表示相应的任务请求;
S4利用优化算法对匹配方案集合基于任务时间task_time进行寻优,得到最优匹配方案;
S5按照最优匹配方案对任务请求进行分配,分配完毕后执行任务请求;
S6判断任务请求是否成功完成:
若成功,则将任务请求、最优匹配方案进行共享存储;
若失败,则进行异常分析,并生成异常报告。
具体地,本发明一实施例中,步骤S1包括:
S11用户输入任务单,包括任务内容task_content、任务时间task_time和任务重要度task_importance,其中,任务时间task_time包括任务截止时间task_deadline和任务持续时间task_duration。
用户可以通过界面或者命令行输入任务的具体内容、时间要求和重要度等信息。例如,在界面上可以设计一个文本输入框用于输入任务内容,一个日期选择器或者日历控件用于选择任务的截止时间,一个下拉菜单或者滑块用于选择任务的重要度等级。
用户可以在文本输入框中输入任务的具体内容,如“完成报告”,在日期选择器中选择任务的截止时间,如“2023年11月10日”,在下拉菜单中选择任务的重要度等级,如“高”。
另外,用户也可以通过命令行输入任务的具体内容、时间要求和重要度等信息。在命令行中,用户可以使用特定的命令或参数来指定任务的内容、时间和重要度。例如,用户可以输入类似以下的命令:
create_task-content"完成报告"-deadline"2023-11-10"-importance"high"
在这个例子中,用户使用了-content参数来指定任务的具体内容为“完成报告”,-deadline参数来指定任务的截止时间为“2023-11-10”,-importance参数来指定任务的重要度为“high”。
S12根据任务单生成唯一标识符,将唯一标识符作为任务标号task_id。
为了生成唯一标识符,可以使用唯一标识生成算法,如UUID(Universally UniqueIdentifier)。通过调用UUID生成函数,系统可以生成一个唯一的标识符,并将其作为任务标号task_id。以Python语言为例,展示如何调用UUID生成函数来生成任务标号task_id:
importuuid
#调用UUID生成函数生成一个UUID对象
task_uuid=uuid.uuid4()
#将UUID对象转换为字符串形式,作为任务标号task_id
task_id=str(task_uuid)
#打印任务标号task_id
print("任务标号:",task_id)
S13根据任务重要度task_importance和任务截止时间task_deadline计算任务优先级系数γ,计算公式为:
γ=task_importance/(task_deadline-current_time)
式中,current_time为用户输入任务单的时间。
S14确定任务级别,根据任务优先级系数γ进行映射计算得到任务优先级task_priority,并将任务优先级task_priority映射到对应的任务级别,其中,任务级别包括五个级别,分别为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ。
映射公式为:
task_priority=round(aγ4+bγ3+cγ2+dγ+elog(γ+1)+f)
式中,round为舍入函数,a、b、c、d、e是多项式参数,f是常数项。
本实施例,先将任务优先级系数γ代入映射公式中进行计算,得到的task_priority值的取值范围为[0,1],将其映射到相应的任务级别Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ,具体的映射方案为:
task_priority<0.2:任务级别Ⅰ;
0.2≤task_priority<0.4:任务级别Ⅱ;
0.4≤task_priority<0.6:任务级别Ⅲ;
0.6≤task_priority<0.8:任务级别Ⅳ;
task_priority≥0.8:任务级别Ⅴ。
S15将任务内容task_content、任务时间task_time、任务标号task_id和任务优先级task_priority组成任务请求。
具体地,本发明一实施例中,步骤S2包括:
S21建立分析模型并预训练,将任务内容task_content输入预训练的分析模型中进行特征学习,得到任务特征,包括任务的计算复杂度C、并行度P、内存消耗M、并发度F、数据量D和网络数据传输量L。
本实施例中,采用神经网络模型作为分析模型,具体地,神经网络模型可以是基础结构的模型,即包括输入层、隐藏层和输出层
输入层:接收任务内容task_content作为输入。
隐藏层:可以包含多个隐藏层,每个隐藏层都有不同数量的神经元和激活函数。隐藏层的作用是提取任务内容中的特征信息。
输出层:输出任务特征,包括计算复杂度C、并行度P、内存消耗M、并发度F、数据量D和网络数据传输量L。
分析模型的预训练过程为:
1.数据准备:收集大规模的任务数据集,包括任务内容和对应的任务特征。
2.数据预处理:对任务内容进行文本处理和特征提取,例如使用词向量表示任务内容。
3.网络初始化:初始化神经网络的权重和偏置。
4.前向传播:将任务内容输入到神经网络中,通过前向传播计算得到任务特征的预测值。
5.计算损失:将任务特征的预测值与真实值进行对比,计算损失函数来衡量预测值与真实值之间的差异。
6.反向传播:根据损失函数的梯度,通过反向传播算法更新神经网络的权重和偏置,以减小损失函数的值。
7.重复步骤4-6,直到达到预设的训练轮数或损失函数收敛。
8.预训练完成:训练过程结束后,得到一个预训练的分析模型。
S22根据任务特征计算任务请求的所需资源task_resource,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
其中,所需CPU资源=计算复杂度C*并行度P,所需内存资源=内存消耗M*并发度F,所需存储资源=数据量D,所需网络带宽资源=网络数据传输量L*并发度F。
具体地,本发明一实施例中,步骤S3的匹配算法的过程包括:
步骤一、输入任务请求集合、云计算节点集合,任务请求集合包括多个任务请求,每个任务请求包括任务优先级task_priority、所需资源task_resource,云计算节点集合包括多个云计算节点,每个云计算节点包括可用资源的信息,可用资源包含可用CPU资源、可用内存资源、可用存储资源和可用网络带宽资源;
步骤二、建立匹配方案集合{R}并初始化;
步骤三、按照任务优先级task_priority从高到低的顺序将任务请求进行排序,得到第一排序列表;这样可以确保优先级较高的任务在匹配过程中优先考虑。
步骤四、选取第一排序列表中的第一个任务请求作为当前任务,遍历云计算节点集合,将云计算节点按照可用性和资源可用性进行从高到低排序,从第一个云计算节点开始与当前任务进行匹配:
当遍历到的云计算节点的可用性和资源可用性满足当前任务的所需资源,则将当前任务分配给该云计算节点,并更新该云计算节点的可用性和资源可用性,将该云计算节点和当前任务的任务标号task_id形成匹配信息,添加到匹配方案集合{R}中;
步骤五、将匹配完成的任务请求从第一排序列表中删除,更新第一排序列表,转至步骤四进行循环匹配,直至所有任务请求均匹配完成,输出匹配方案集合{R}。
本实施例中,匹配算法可以确保优先级较高的任务能够优先得到处理,并且根据云计算节点的可用性和资源可用性进行匹配,以最大程度地满足任务的资源需求和优先级要求。这种匹配策略可以提高任务的处理效率和响应速度,同时保证任务的优先级得到满足,从而提高整体系统的性能和用户体验。
具体地,本实施例中,步骤三包括:
创建空的排序列表sorted_list;
创建优先级字典priority_mapping,将任务级别映射为数值并存入优先级字典priority_mapping,其中,将任务级别Ⅰ映射为数值1、任务级别Ⅱ映射为数值2、任务级别Ⅲ映射为数值3、任务级别Ⅳ映射为数值4、任务级别Ⅴ映射为数值5;
遍历任务请求集合,根据优先级字典priority_mapping中的映射关系将每个任务请求的任务级别转换为对应的数值priority_value,将任务请求添加到sorted_list中,同时记录任务级别对应的数值priority_value和任务优先级task_priority;
对sorted_list进行二重排序,先按照任务级别对应的数值priority_value从高到低排序,若任务级别对应的数值priority_value,则按照任务优先级task_priority从高到低排序;
输出排序后的sorted_list,作为第一排序列表。
通过步骤三的排序过程,可以得到一个按照任务的优先级和级别进行排序的任务请求列表。这样的排序有助于在后续的匹配过程中,首先选择优先级较高的任务进行匹配,以提高任务的响应速度和满足任务的优先级要求。
这种排序的益处在于能够更加高效地处理任务请求,优先处理优先级较高的任务,从而提高整体的任务处理效率和响应速度。同时,通过按照任务级别进行排序,可以更好地满足任务的优先级要求,确保重要任务能够得到及时处理。
具体地,本发明一实施例中,步骤S4包括:
S41根据匹配方案集合{R}随机生成N组初始的任务匹配方案作为种群,初始化种群,将每组任务匹配方案作为一个个体。这些初始的任务匹配方案是随机生成的,用于构建初始的种群。
S42对每个个体,计算适应度值,适应度值根据适应度函数进行计算得到。适应度函数由任务完成时间来进行定义,用于评估每个个体的优劣程度。适应度值越高,表示个体的匹配方案越优秀。
适应度函数为:
Y=∑(current_time+max(task_duration,max(task_deadline
-current_time,task_priority×task_duration)))
式中,Y为适应度值,currentn_time为当前时间,task_duration为任务持续时间,task_deadline为任务截止时间,task_priority为任务优先级。
S43根据适应度值选择一部分个体作为父代,选择的概率与适应度值成正比;即适应度值越高的个体被选中的概率越大。这样可以确保优秀的个体能够被保留下来,作为下一代的父代。
S44从父代中选择两个个体,通过交叉操作生成新的个体,并对新的个体进行变异操作,引入随机变化,将父代和新的个体组合成新的种群;交叉操作是将两个个体的某些部分进行交叉组合,生成新的个体。变异操作是在新的个体中引入随机变化,以增加种群的多样性。通过交叉和变异操作,可以产生新的个体,并将父代和新的个体组合成新的种群。
S45重复步骤S42-S44,直至目标函数收敛;在每一代中,计算适应度值、选择父代、进行交叉和变异操作,更新种群。通过多代的迭代,种群逐渐优化,直到达到一定的收敛条件。收敛条件为目标函数达到最小值,目标函数的公式如下:
A=minY
式中,A为目标函数的值。
S46根据适应度值输出最优个体,即最优匹配方案。在收敛后,从最终的种群中选择适应度值最高的个体作为最优个体,即最优的任务匹配方案。这个最优个体代表了整个遗传算法搜索过程中找到的最优解。
本实施例的优化算法通过不断的选择、交叉和变异操作来优化任务匹配方案的种群,最终找到最优的任务匹配方案。优化算法的优点是能够在搜索空间中进行全局搜索,并且具有较强的鲁棒性和适应性。
具体地,本发明一实施例中,步骤S5包括:
根据最优匹配方案中的任务标号和云计算节点的匹配信息,将相应的任务请求分配到云计算节点上,所有任务均分配好后,即执行任务请求。
具体地,本发明一实施例中,步骤S6包括:
监控云计算节点的执行情况,包括任务的执行进度、执行结果和执行时间等。
根据任务的预期结果和实际执行结果进行比较,判断任务是否成功完成。
若任务成功完成,则将任务请求和最优匹配方案进行共享存储:
将任务请求和最优匹配方案的相关信息保存到共享存储系统中,以备后续使用。
若任务失败,则进行异常分析,并生成异常报告:
获取执行失败的任务请求的任务标号,根据任务标号调取对应的云计算节点。
根据云计算节点收集该节点执行该任务标号的工作日志。
对工作日志进行分析,查找工作日志中的错误提示、异常堆栈信息、资源使用情况,确定异常原因:
分析工作日志中的错误提示和异常堆栈信息,以了解任务执行过程中的错误和异常情况。
分析工作日志中的资源使用情况,包括CPU、内存、存储等资源的使用情况,以确定是否存在资源不足的问题。
根据异常原因给出相应的异常解决方案,将异常原因和对应的异常解决方案组合生成异常报告:
根据异常原因,选择相应的异常解决方案进行处理。
异常解决方案可能包括将任务请求重新分配至匹配方案集合{R}中与该任务请求形成匹配信息的正常的云计算节点,或修复故障的云计算节点后重新执行任务请求,增加云计算节点的资源配置,修复网络配置和连接状态,优化云计算节点的计算复杂度等。
将异常原因和对应的异常解决方案组合生成异常报告,包括详细描述异常原因、解决方案和其他相关信息。
本实施例可以对任务请求的执行情况进行判断,并在失败情况下进行异常分析和生成异常报告,以便及时发现和解决问题,提高任务的执行效率和稳定性。
另外,如图2所示,本发明还提供云环境下多任务的统筹管理系统,所述系统用于执行上述任一所述的方法,所述系统包括:
任务请求模块,该模块用于接收用户输入的任务单,并生成任务请求,任务请求包括任务内容、任务时间、任务标号和任务优先级;
任务分析模块,该模块通过建立分析模型并预训练,将任务内容输入分析模型中进行特征学习,得到任务特征,根据任务特征计算任务请求的所需资源,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
任务匹配模块,该模块根据任务请求的任务优先级和所需资源,确定匹配算法,并进行云计算节点的匹配,形成匹配方案集合,之后对匹配方案集合进行优化,基于任务时间进行寻优,得到最优匹配方案;
任务执行模块,该模块根据最优匹配方案,将任务分配给相应的云计算节点进行执行;
任务反馈模块,该模块根据任务执行模块的执行结果进行判别,若任务成功,则将任务结果返回给用户,并更新系统中的云计算节点状态和任务状态,将任务请求和对应的最优匹配方案存储至共享存储中,若任务失败,则进行异常分析,生成异常报告,将异常报告发送至系统管理员。
本发明提供的系统具有如下有益效果:
自动化任务请求的生成和分析,减少了人工操作的工作量和错误率。
基于任务特征和资源需求的匹配算法,能够快速找到最优的云计算节点,提高了任务的执行效率。
任务执行模块能够将任务请求分配给合适的云计算节点进行执行,提高了系统的资源利用率。
任务反馈模块能够及时将任务结果返回给用户,并进行系统状态的更新和异常报告的生成,提高了系统的可靠性和稳定性。
共享存储系统能够保存任务请求和最优匹配方案的信息,方便后续使用和分析。
异常报告的生成和发送能够帮助系统管理员及时发现和解决问题,提高了系统的维护效率。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种云环境下多任务的统筹管理方法,其特征在于,包括以下步骤:
S1:获取任务请求,包括任务内容task_content、任务标号task_id、任务时间task_time和任务优先级task_priority;
步骤S1包括:
S11:用户输入任务单,包括任务内容task_content、任务时间task_time和任务重要度task_importance,其中,任务时间task_time包括任务截止时间task_deadline和任务持续时间task_duration;
S12:根据任务单生成唯一标识符,将唯一标识符作为任务标号task_id;
S13:根据任务重要度task_importance和任务截止时间task_deadline计算任务优先级系数γ,计算公式为:
γ=task_importance/(task_deadline-current_time)
式中,current_time为用户输入任务单的时间;
S14:确定任务级别,根据任务优先级系数γ进行映射计算得到任务优先级task_priority,并将任务优先级task_priority映射到对应的任务级别,其中,任务级别包括五个级别,分别为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ;
S15:将任务内容task_content、任务时间task_time、任务标号task_id和任务优先级task_priority组成任务请求;
S2:对任务请求中的任务内容task_content进行分析,得到任务请求的所需资源task_resource;
步骤S2包括:
S21:建立分析模型并预训练,将任务内容task_content输入预训练的分析模型中进行特征学习,得到任务特征,包括任务的计算复杂度C、并行度P、内存消耗M、并发度F、数据量D和网络数据传输量L;
S22:根据任务特征计算任务请求的所需资源task_resource,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
其中,所需CPU资源=计算复杂度C*并行度P,所需内存资源=内存消耗M*并发度F,所需存储资源=数据量D,所需网络带宽资源=网络数据传输量L*并发度F;
S3:根据任务请求的任务优先级task_priority、所需资源task_resource确定匹配算法,利用匹配算法对任务请求进行云计算节点的匹配,得到匹配方案集合,其中,匹配方案集合中采用任务标号task_id表示相应的任务请求;
步骤S3中,匹配算法的过程包括:
S31:输入任务请求集合、云计算节点集合,任务请求集合包括多个任务请求,每个任务请求包括任务优先级task_priority、所需资源task_resource,云计算节点集合包括多个云计算节点,每个云计算节点包括可用资源的信息,可用资源包含可用CPU资源、可用内存资源、可用存储资源和可用网络带宽资源;
S32:建立匹配方案集合{R}并初始化;
S33:按照任务优先级task_priority从高到低的顺序将任务请求进行排序,得到第一排序列表;
S34:选取第一排序列表中的第一个任务请求作为当前任务,遍历云计算节点集合,将云计算节点按照资源可用性进行从高到低排序,从第一个云计算节点开始与当前任务进行匹配:
当遍历到的云计算节点的资源可用性满足当前任务的所需资源,则将当前任务分配给该云计算节点,并更新该云计算节点的资源可用性,将该云计算节点和当前任务的任务标号task_id形成匹配信息,添加到匹配方案集合{R}中;
S35:将匹配完成的任务请求从第一排序列表中删除,更新第一排序列表,转至步骤四进行循环匹配,直至所有任务请求均匹配完成,输出匹配方案集合{R};
S4:利用优化算法对匹配方案集合基于任务时间task_time进行寻优,得到最优匹配方案;
步骤S4包括:
S41:根据匹配方案集合{R}随机生成N组初始的任务匹配方案作为种群,初始化种群,将每组任务匹配方案作为一个个体;
S42:对每个个体,计算适应度值,适应度值根据适应度函数进行计算得到;
S43:根据适应度值选择一部分个体作为父代,选择的概率与适应度值成正比;
S44:从父代中选择两个个体,通过交叉操作生成新的个体,并对新的个体进行变异操作,引入随机变化,将父代和新的个体组合成新的种群;
S45:重复步骤S42-S44,直至目标函数收敛;
S46:根据适应度值输出最优个体,即最优匹配方案;
适应度函数为:
Y=∑(current_time+max(task_duration,max(task_deadline-current_time,task_priority×task_duration)))
式中,Y为适应度值,current_time为当前时间,task_duration为任务持续时间,task_deadline为任务截止时间,task_priority为任务优先级;
目标函数收敛为目标函数达到最小值,目标函数的公式如下:
A=minY
式中,A为目标函数的值;
S5:按照最优匹配方案对任务请求进行分配,分配完毕后执行任务请求;
S6:判断任务请求是否成功完成:
若成功,则将任务请求、最优匹配方案进行共享存储;
若失败,则进行异常分析,并生成异常报告。
2.如权利要求1所述的云环境下多任务的统筹管理方法,其特征在于,步骤S14中,根据任务优先级系数γ进行映射计算得到任务优先级task_priority,映射公式为:
task_priority=round(aγ4+bγ3+cγ2+dγ+elog(γ+1)+f)
式中,round为舍入函数,a、b、c、d、e是多项式参数,f是常数项。
3.如权利要求1所述的云环境下多任务的统筹管理方法,其特征在于,步骤S33包括:
创建空的排序列表sorted_list;
创建优先级字典priority_mapping,将任务级别映射为数值并存入优先级字典priority_mapping,其中,将任务级别Ⅰ映射为数值1、任务级别Ⅱ映射为数值2、任务级别Ⅲ映射为数值3、任务级别Ⅳ映射为数值4、任务级别Ⅴ映射为数值5;
遍历任务请求集合,根据优先级字典priority_mapping中的映射关系将每个任务请求的任务级别转换为对应的数值priority_value,将任务请求添加到sorted_list中,同时记录任务级别对应的数值priority_value和任务优先级task_priority;
对sorted_list进行二重排序,先按照任务级别对应的数值priority_value从高到低排序,若任务级别对应的数值priority_value,则按照任务优先级task_priority从高到低排序;
输出排序后的sorted_list,作为第一排序列表。
4.如权利要求1所述的云环境下多任务的统筹管理方法,其特征在于,步骤S6中,若失败,则进行异常分析,生成异常报告,包括:
获取执行失败的任务请求的任务标号,按照任务标号调取对应的云计算节点,根据云计算节点收集其执行该任务标号的工作日志;
对工作日志进行分析,查找工作日志中的错误提示、异常堆栈信息、资源使用情况,确定异常原因;
根据异常原因给出相应的异常解决方案,将异常原因和对应的异常解决方案组合生成异常报告;
其中,异常原因包括节点故障、资源不足、网络波动和任务执行超时,相应的异常解决方案为:
节点故障解决方案:将该任务请求分配至匹配方案集合{R}中与该任务请求形成匹配信息的正常的云计算节点,或修复该故障的云计算节点后重新执行任务请求;
资源不足解决方案:增加该云计算节点的资源配置,以满足该任务请求的资源需求;
网络波动解决方案:修复网络配置和连接状态,测试网络,网络稳定后重新执行该任务请求;
任务执行超时解决方案:优化该云计算节点的计算复杂度,减少其执行时间。
5.一种云环境下多任务的统筹管理系统,其特征在于,所述系统用于执行权利要求1-4任一项所述的方法,所述系统包括:
任务请求模块,该模块用于接收用户输入的任务单,并生成任务请求,任务请求包括任务内容、任务时间、任务标号和任务优先级;
任务分析模块,该模块通过建立分析模型并预训练,将任务内容输入分析模型中进行特征学习,得到任务特征,根据任务特征计算任务请求的所需资源,包括所需CPU资源、所需内存资源、所需存储资源和所需网络带宽资源;
任务匹配模块,该模块根据任务请求的任务优先级和所需资源,确定匹配算法,并进行云计算节点的匹配,形成匹配方案集合,之后对匹配方案集合进行优化,基于任务时间进行寻优,得到最优匹配方案;
任务执行模块,该模块根据最优匹配方案,将任务分配给相应的云计算节点进行执行;
任务反馈模块,该模块根据任务执行模块的执行结果进行判别,若任务成功,则将任务结果返回给用户,并更新系统中的云计算节点状态和任务状态,将任务请求和对应的最优匹配方案存储至共享存储中,若任务失败,则进行异常分析,生成异常报告,将异常报告发送至系统管理员。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514582.0A CN117573307B (zh) | 2023-11-13 | 2023-11-13 | 云环境下多任务的统筹管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311514582.0A CN117573307B (zh) | 2023-11-13 | 2023-11-13 | 云环境下多任务的统筹管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573307A CN117573307A (zh) | 2024-02-20 |
CN117573307B true CN117573307B (zh) | 2024-04-09 |
Family
ID=89885452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311514582.0A Active CN117573307B (zh) | 2023-11-13 | 2023-11-13 | 云环境下多任务的统筹管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573307B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785481A (zh) * | 2024-02-23 | 2024-03-29 | 广州尚航信息科技股份有限公司 | 一种数据中心计算资源分配管理系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508708A (zh) * | 2011-11-30 | 2012-06-20 | 湖南大学 | 基于改进遗传算法的异构多核节能任务调度方法 |
CN109960587A (zh) * | 2019-02-27 | 2019-07-02 | 厦门市世纪网通网络服务有限公司 | 超融合云计算系统的存储资源分配方法和装置 |
WO2019196127A1 (zh) * | 2018-04-11 | 2019-10-17 | 深圳大学 | 一种云计算任务分配方法、装置、设备及存储介质 |
CN111061565A (zh) * | 2019-12-12 | 2020-04-24 | 湖南大学 | 一种Spark环境下的两段式流水线任务调度方法及系统 |
CN113255165A (zh) * | 2021-06-28 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种基于动态任务分配的实验方案并行推演系统 |
CN113946440A (zh) * | 2021-09-30 | 2022-01-18 | 南京信息职业技术学院 | 一种绿色云环境下的资源调度方法 |
CN114490057A (zh) * | 2022-01-24 | 2022-05-13 | 电子科技大学 | 一种基于深度强化学习的mec已卸载任务资源分配方法 |
CN114650321A (zh) * | 2020-12-15 | 2022-06-21 | 青岛海大新星软件咨询有限公司 | 用于边缘计算的任务调度方法及边缘计算终端 |
CN114968510A (zh) * | 2021-12-27 | 2022-08-30 | 中国空间技术研究院 | 一种基于改进蚁群算法的多目标动态任务调度方法和系统 |
CN115562870A (zh) * | 2022-10-25 | 2023-01-03 | 北京京航计算通讯研究所 | 一种集群的任务节点资源构建方法 |
CN116501711A (zh) * | 2023-04-28 | 2023-07-28 | 山东省计算中心(国家超级计算济南中心) | 一种基于“存算分离”架构的算力网络任务调度方法 |
CN116684291A (zh) * | 2023-06-21 | 2023-09-01 | 郑州轻工业大学 | 一种适用通用化平台的服务功能链映射资源智能分配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013048986A1 (en) * | 2011-09-26 | 2013-04-04 | Knoa Software, Inc. | Method, system and program product for allocation and/or prioritization of electronic resources |
-
2023
- 2023-11-13 CN CN202311514582.0A patent/CN117573307B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508708A (zh) * | 2011-11-30 | 2012-06-20 | 湖南大学 | 基于改进遗传算法的异构多核节能任务调度方法 |
WO2019196127A1 (zh) * | 2018-04-11 | 2019-10-17 | 深圳大学 | 一种云计算任务分配方法、装置、设备及存储介质 |
CN109960587A (zh) * | 2019-02-27 | 2019-07-02 | 厦门市世纪网通网络服务有限公司 | 超融合云计算系统的存储资源分配方法和装置 |
CN111061565A (zh) * | 2019-12-12 | 2020-04-24 | 湖南大学 | 一种Spark环境下的两段式流水线任务调度方法及系统 |
CN114650321A (zh) * | 2020-12-15 | 2022-06-21 | 青岛海大新星软件咨询有限公司 | 用于边缘计算的任务调度方法及边缘计算终端 |
CN113255165A (zh) * | 2021-06-28 | 2021-08-13 | 中国人民解放军国防科技大学 | 一种基于动态任务分配的实验方案并行推演系统 |
CN113946440A (zh) * | 2021-09-30 | 2022-01-18 | 南京信息职业技术学院 | 一种绿色云环境下的资源调度方法 |
CN114968510A (zh) * | 2021-12-27 | 2022-08-30 | 中国空间技术研究院 | 一种基于改进蚁群算法的多目标动态任务调度方法和系统 |
CN114490057A (zh) * | 2022-01-24 | 2022-05-13 | 电子科技大学 | 一种基于深度强化学习的mec已卸载任务资源分配方法 |
CN115562870A (zh) * | 2022-10-25 | 2023-01-03 | 北京京航计算通讯研究所 | 一种集群的任务节点资源构建方法 |
CN116501711A (zh) * | 2023-04-28 | 2023-07-28 | 山东省计算中心(国家超级计算济南中心) | 一种基于“存算分离”架构的算力网络任务调度方法 |
CN116684291A (zh) * | 2023-06-21 | 2023-09-01 | 郑州轻工业大学 | 一种适用通用化平台的服务功能链映射资源智能分配方法 |
Non-Patent Citations (1)
Title |
---|
云平台的任务合理化调度模型仿真分析;程邺华;;计算机仿真;20160515(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117573307A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299142B (zh) | 一种基于进化算法的卷积神经网络结构搜索方法及系统 | |
Shukla et al. | Comparative review of selection techniques in genetic algorithm | |
US10824959B1 (en) | Explainers for machine learning classifiers | |
CN117573307B (zh) | 云环境下多任务的统筹管理方法及系统 | |
CN111325356A (zh) | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 | |
CN113064879A (zh) | 数据库参数调整方法、装置及计算机可读存储介质 | |
US6882989B2 (en) | Genetic algorithm techniques and applications | |
US20190228297A1 (en) | Artificial Intelligence Modelling Engine | |
US20220245487A1 (en) | Feature prediction method, system and engine | |
Pecori et al. | Incremental learning of fuzzy decision trees for streaming data classification | |
CN112925892A (zh) | 一种对话推荐方法、装置、电子设备及存储介质 | |
Japa et al. | A population-based hybrid approach for hyperparameter optimization of neural networks | |
CN112200208B (zh) | 基于多维度特征融合的云工作流任务执行时间预测方法 | |
CN110971683B (zh) | 基于强化学习的服务组合方法 | |
CN108829846A (zh) | 一种基于用户特征的业务推荐平台数据聚类优化系统及方法 | |
CN117076077A (zh) | 基于大数据分析的计划调度优化方法 | |
Nguyen et al. | A genetic programming approach for evolving variable selectors in constraint programming | |
CN116881224A (zh) | 一种数据库参数调优方法、装置、设备及存储介质 | |
CN111324344A (zh) | 代码语句的生成方法、装置、设备及可读存储介质 | |
CN114678114A (zh) | 应用于智慧医疗的大数据挖掘评估方法及大数据挖掘系统 | |
CN113869596A (zh) | 任务预测处理方法、设备、产品和介质 | |
Ortiz-Bayliss et al. | Exploring the impact of early decisions in variable ordering for constraint satisfaction problems | |
Netto et al. | An automated approach for scheduling bug fix tasks | |
Song | AutoFE: efficient and robust automated feature engineering | |
US11941500B2 (en) | System for engagement of human agents for decision-making in a dynamically changing environment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |