CN115794358A - 云工作流任务调度方法、装置、电子设备和存储介质 - Google Patents
云工作流任务调度方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115794358A CN115794358A CN202310068441.4A CN202310068441A CN115794358A CN 115794358 A CN115794358 A CN 115794358A CN 202310068441 A CN202310068441 A CN 202310068441A CN 115794358 A CN115794358 A CN 115794358A
- Authority
- CN
- China
- Prior art keywords
- task
- cloud workflow
- agent module
- resource
- virtual
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000013468 resource allocation Methods 0.000 claims abstract description 45
- 238000011156 evaluation Methods 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008447 perception Effects 0.000 claims description 14
- 230000002068 genetic effect Effects 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 15
- 108090000623 proteins and genes Proteins 0.000 description 8
- 210000000349 chromosome Anatomy 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000002921 genetic algorithm search Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种云工作流任务调度方法、装置、电子设备和存储介质,该方法包括:任务代理模块根据任务分配请求,生成虚拟资源的云工作流任务分配方案,向资源代理模块发送协同调度请求;资源代理模块获取云工作流运行状态和云工作流任务间的顺序关系,生成云工作流任务的资源分配方案发送至任务代理模块;任务代理模块根据虚拟资源的云工作流任务分配方案和云工作流任务的资源分配方案计算协同调度的评价指数,通过协同调度的评价指数,确定最优的分配方案。通过在进行云工作流调度时,使任务分配和虚拟资源供应以协作的方式协同工作,进行自适应调度,使多任务调度简单化,减小了系统吞吐量、响应时间。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及一种云工作流任务调度方法、装置、电子设备和存储介质。
背景技术
云计算是继互联网、计算机后在信息时代又一种新的革新,可以为用户提供一种全新的体验。云计算提供商根据预先约定的服务水平协议向用户提供服务,用户按使用次数付费使用服务。云计算服务使用模式使得计算能力可以作为商品流通。
云工作流就是云计算环境下的工作流。在云工作流中,任务与任务之间存在着依赖与约束,执行时通常以虚拟机作为计算资源的最小分配单位负责接收并处理这些任务。
目前关于云工作流调度的研究基本上都关注云工作流任务在固定虚拟化资源下的分配,通过合理利用虚拟资源的剩余时间或空间,提高云工作流任务对于虚拟资源的利用率。然而当面对多任务、非固定资源时,这种方式存在系统吞吐量大、响应时间长、多任务调度复杂、运维难度大等问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种云工作流任务调度方法、装置、电子设备和存储介质。
为了解决上述问题,本发明实施例公开了一种云工作流任务调度方法,应用于云工作流装置,所述云工作流装置包括监控代理模块、感知代理模块、资源代理模块、任务代理模块,所述监控代理模块用于监测虚拟资源信息,所述感知代理模块用于监测云工作流任务运行状态信息,所述方法包括:
所述任务代理模块接收所述监控代理模块发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块发送协同调度请求;所述协同调度请求包括所述虚拟资源信息;
所述资源代理模块接收所述协同调度请求,并向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块;
所述任务代理模块根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
可选地,还包括:
所述监控代理模块获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
可选地,所述向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系,包括:
所述资源代理模块根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;
所述感知代理模块接收云工作流任务的请求,并根据所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
可选地,虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;所述方法包括:
所述监控代理模块根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;
所述根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,包括:
根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
可选地,所述根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,包括:
根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
可选地,还包括:
所述感知代理模块获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
可选地,所述通过所述协同调度的评价指数,确定最优的分配方案,包括:
将所述协同调度的评价指数作为目标函数;通过遗传算法对所述目标函数进行优化,得到所述目标函数的最优解,将所述最优解作为最优的分配方案。
本发明实施例还公开了一种云工作流装置,所述云工作流装置包括监控代理模块、感知代理模块、资源代理模块、任务代理模块,所述监控代理模块用于监测虚拟资源信息,所述感知代理模块用于监测云工作流任务运行状态信息,所述装置包括:
所述任务代理模块,用于接收所述监控代理模块发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块发送协同调度请求;所述协同调度请求包括所述虚拟资源信息;
所述资源代理模块,用于接收所述协同调度请求,并向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块;
所述任务代理模块,用于根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
可选地,
所述监控代理模块,还用于获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
可选地,
所述资源代理模块,用于根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;
所述感知代理模块,用于接收云工作流任务的请求,并根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
可选地,虚拟资源信息包括虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;
所述监控代理模块,用于根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;
所述监控代理模块,用于根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
可选地,
所述感知代理模块,用于根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
可选地,
所述感知代理模块,还用于获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
可选地,
所述任务代理模块,用于将所述协同调度的评价指数作为目标函数;通过遗传算法对所述目标函数进行优化,得到所述目标函数的最优解,将所述最优解作为最优的分配方案。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的云工作流任务调度方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的云工作流任务调度方法的步骤
本发明实施例包括以下优点:
在本发明实施例中,任务代理模块接收监控代理模块发送的任务分配请求,任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据任务分配请求,生成虚拟资源的云工作流任务分配方案,并向资源代理模块发送协同调度请求;协同调度请求包括虚拟资源信息;资源代理模块接收协同调度请求,并向感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据虚拟资源信息、云工作流运行状态信息和云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将云工作流任务的资源分配方案发送至任务代理模块;任务代理模块根据虚拟资源的云工作流任务分配方案和云工作流任务的资源分配方案计算协同调度的评价指数,通过协同调度的评价指数,确定最优的分配方案。通过在进行云工作流调度时,使任务分配和虚拟资源供应以协作的方式协同工作,进行自适应调度,使多任务调度简单化,减小了系统吞吐量、响应时间,平衡了云服务供需双方的利益。
附图说明
图1是本发明实施例提供的一种云工作流任务调度方法的步骤流程图;
图2是本发明实施例提供的一种基于多代理协作机制的云工作流调度方法整体架构图;
图3是本发明实施例提供的一种云工作流任务调度装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
云环境中的工作流由一系列子任务组成。此时的资源供给就是如何选择合适的可用资源来完成虚拟单元的创建,并且尽可能地减少激活物理机的数量和对网络带宽的占用。现有的关于云工作流调度的研究是基于云工作流任务在固定虚拟化资源下的分配,通过合理利用虚拟资源的剩余时间或空间,提高云工作流任务对于虚拟资源的利用率。很少涉及云工作流任务分配与虚拟化资源供给协同的自适应调度。
本发明实施例的核心构思之一在于,通过在进行云工作流调度时,使任务分配和虚拟资源供应以协作的方式协同工作,进行自适应调度,使多任务调度简单化,减小了系统吞吐量、响应时间,平衡了云服务供需双方的利益。
参照图1,示出了本发明实施例提供的一种云工作流任务调度方法的步骤流程图,应用于云工作流装置,所述云工作流装置包括监控代理模块、感知代理模块、资源代理模块、任务代理模块,所述监控代理模块用于监测虚拟资源信息,所述感知代理模块用于监测云工作流任务运行状态信息,所述方法具体可以包括如下步骤:
步骤101,所述任务代理模块接收所述监控代理模块发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块发送协同调度请求;所述协同调度请求包括所述虚拟资源信息。
在本发明实施例中,监控代理模块可以用于监测虚拟资源信息;感知代理模块可以用于监测云工作流运行状态信息;资源代理模块可以用于生成资源分配方案;任务代理模块可以用于生成任务分配方案,并执行任务分配;用于根据虚拟资源分配方案,执行虚拟资源调度。
作为一种示例,如图2所示为本发明实施例提供的一种基于多代理协作机制的云工作流调度方法整体架构图,监控代理模块可以将监测到的虚拟资源信息发送至任务代理模块,并向任务代理模块发送任务分配请求。
在一种实施例中,所述监控代理模块获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
作为一种示例,监控代理模块可以获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,可以根据虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,可以向任务代理模块发送任务分配请求。
在一种实施例中,虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;所述监控代理模块根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;所述根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,包括:根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
作为一种示例,虚拟资源信息可以包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间。监控代理模块可以根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数。
作为一种示例,监控代理模块可以根根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
作为一种示例,如图2所示为本发明实施例提供的一种基于多代理协作机制的云工作流调度方法整体架构图,任务代理模块可以接收任务分配请求,并根据虚拟资源信息,进行任务分配,生成虚拟资源的云工作流任务分配方案。任务代理模块可以根据虚拟资源的云工作流任务分配方案,向资源代理模块发送协同调度请求,其中,协同调度请求中可以包括虚拟资源信息。
步骤102,所述资源代理模块接收所述协同调度请求,并向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块。
作为一种示例,如图2所示为本发明实施例提供的一种基于多代理协作机制的云工作流调度方法整体架构图,资源代理模块可以接收任务代理模块发送的协同调度请求,并向感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系。
作为一种示例,资源代理模块可以根据虚拟资源信息、云工作流运行状态信息和云工作流任务间的顺序关系,生成云工作流任务的资源分配方案,并将云工作流任务的资源分配方案发送至任务代理模块。
在一种实施例中,所述感知代理模块获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
作为一种示例,感知代理模块可以获取多个工作流任务,多个工作流任务间存在相互依赖的关系,感知代理模块可以根据多个工作流任务间存在相互依赖的关系设置每个工作流任务的优先级,从而可以确定云工作流任务执行的顺序关系。
在一种实施例中,所述向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系,包括:所述资源代理模块根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;所述感知代理模块接收云工作流任务的请求,并根据所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
作为一种示例,如图2所示为本发明实施例提供的一种基于多代理协作机制的云工作流调度方法整体架构图,资源代理模块可以根据任务代理模块发送的协同调度请求,向感知代理模块发送获取云工作流任务的请求,其中,云工作流任务的请求可以包括所述虚拟资源信息。
作为一种示例,感知代理模块可以接收云工作流任务的请求,并根据云工作流运行状态信息、云工作流任务间的顺序关系和虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,可以向资源代理模块发送资源分配请求。其中,资源分配请求可以包括云工作流运行状态信息和云工作流任务间的顺序关系。
在一种实施例中,所述根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,包括:根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
作为一种示例,感知代理模块可以根据当前的云工作流运行状态信息、云工作流任务间的顺序关系和资源效用指数,确定是否需要进行虚拟资源分配。
步骤103,所述任务代理模块根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
作为一种示例,任务代理模块可以根据虚拟资源的云工作流任务分配方案和云工作流任务的资源分配方案计算协同调度的评价指数,可以通过协同调度的评价指数,确定最优的分配方案。
云工作流协同调度中的评价功能不仅要体现调度算法的效率,还要能保证各个虚拟机之间的负载均衡,提高虚拟机的使用率。在本发明实施例中,可以将协同调度的评价指数定义为:
在一种实施例中,所述通过所述协同调度的评价指数,确定最优的分配方案,包括:将所述协同调度的评价指数作为目标函数;通过遗传算法对所述目标函数进行优化,得到所述目标函数的最优解,将所述最优解作为最优的分配方案。
作为一种示例,将协同调度的评价指数作为目标函数,并通过遗传算法对目标函数进行优化,得到目标函数的最优解,将最优解作为最优的分配方案。
遗传算法是通过不断迭代,通过比较适应度目标函数值,寻找最优个体。本发明实施例中以协同调度的评价指数作为优化目标函数。
例如,任务代理模块与资源代理模块之间可以基于遗传算法进行协同调度,调度策略可以由两组序列表示,一组序列为任务执行顺序序列,另一组为任务分配到的虚拟资源集群。由于任务执行顺序序列具有优先顺序,且顺序不可改变,所以可以将执行任务对应的虚拟资源集群序列作为一个染色体,每个染色体由n个基因组成,每个基因代表一个虚拟资源。本发明实施例中的初始种群随机生成,种群规模设为S,同时,随机生成 S 个长度为n的染色体。
需要说明的是,种群的遗传搜索过程是经过选择、交叉、变异三种操作来完成的。本发明实施例中,选择算子,可以选择轮盘赌的方式,经过轮盘赌选择,种群中的适应度值更大的个体更容易被选中,这样就保证了遗传优秀的基因。表示个体 i 被选中的概率具体选择方式如下:
交叉算子,是通过对父代个体的染色体基因进行交换位置以产生新的个体。本发明实施例可以采用单点交叉法,在每个染色体序列中任意两个相邻基因位之间设置一个交叉点,在前n-1个基因位中任意选择一个交叉点,然后互相更换该交叉点后面的所有基因。
变异算子中,每个染色体序列使用基本位变异,在 n 位的基因位中任意选择一位,并用1-m之间的随机数代替,这样就生成了一个新的染色体,保证了种群数量的多样性。
作为一种示例,当评价指标满足指定需求时,可以停止遗传,此时基于多代理协作机制的调度完成云工作流对虚拟资源的调度。
在本发明实施例中,任务代理模块接收监控代理模块发送的任务分配请求,任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据任务分配请求,生成虚拟资源的云工作流任务分配方案,并向资源代理模块发送协同调度请求;协同调度请求包括虚拟资源信息;资源代理模块接收协同调度请求,并向感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据虚拟资源信息、云工作流运行状态信息和云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将云工作流任务的资源分配方案发送至任务代理模块;任务代理模块根据虚拟资源的云工作流任务分配方案和云工作流任务的资源分配方案计算协同调度的评价指数,通过协同调度的评价指数,确定最优的分配方案。通过在进行云工作流调度时,使任务分配和虚拟资源供应以协作的方式协同工作,进行自适应调度,使多任务调度简单化,减小了系统吞吐量、响应时间,平衡了云服务供需双方的利益。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明实施例提供的一种云工作流装置的结构框图所述云工作流装置包括监控代理模块301、感知代理模块302、资源代理模块303、任务代理模块304,所述监控代理模块301用于监测虚拟资源信息,所述感知代理模块302用于监测云工作流任务运行状态信息,所述装置具体可以包括如下模块:
所述任务代理模块304,用于接收所述监控代理模块301发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块303发送协同调度请求;所述协同调度请求包括所述虚拟资源信息;
所述资源代理模块303,用于接收所述协同调度请求,并向所述感知代理模块302获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块304;
所述任务代理模块304,用于根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
在一种实施例中,所述监控代理模块,还用于获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
在一种实施例中,所述资源代理模块,用于根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;
所述感知代理模块,用于接收云工作流任务的请求,并根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
在一种实施例中,虚拟资源信息包括虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;所述监控代理模块,用于根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;所述监控代理模块,用于根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
在一种实施例中,所述感知代理模块,用于根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
在一种实施例中,所述感知代理模块,还用于获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
在一种实施例中,所述任务代理模块,用于将所述协同调度的评价指数作为目标函数;通过遗传算法对所述目标函数进行优化,得到所述目标函数的最优解,将所述最优解作为最优的分配方案。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述云工作流任务调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述云工作流任务调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种云工作流任务调度方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种云工作流任务调度方法,其特征在于,应用于云工作流装置,所述云工作流装置包括监控代理模块、感知代理模块、资源代理模块、任务代理模块,所述监控代理模块用于监测虚拟资源信息,所述感知代理模块用于监测云工作流任务运行状态信息,所述方法包括:
所述任务代理模块接收所述监控代理模块发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块发送协同调度请求;所述协同调度请求包括所述虚拟资源信息;
所述资源代理模块接收所述协同调度请求,并向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块;
所述任务代理模块根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述监控代理模块获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
3.根据权利要求2所述的方法,其特征在于,所述向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系,包括:
所述资源代理模块根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;
所述感知代理模块接收云工作流任务的请求,并根据所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
4.根据权利要求3所述的方法,其特征在于,虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;所述方法包括:
所述监控代理模块根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;
所述根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,包括:
根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
5.根据权利要求4所述的方法,其特征在于,所述根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,包括:
根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
6.根据权利要求1所述的方法,其特征在于,还包括:
所述感知代理模块获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
7.根据权利要求1所述的方法,其特征在于,所述通过所述协同调度的评价指数,确定最优的分配方案,包括:
将所述协同调度的评价指数作为目标函数;通过遗传算法对所述目标函数进行优化,得到所述目标函数的最优解,将所述最优解作为最优的分配方案。
8.一种云工作流装置,其特征在于,所述云工作流装置包括监控代理模块、感知代理模块、资源代理模块、任务代理模块,所述监控代理模块用于监测虚拟资源信息,所述感知代理模块用于监测云工作流任务运行状态信息,所述装置包括:
所述任务代理模块,用于接收所述监控代理模块发送的任务分配请求,所述任务分配请求包括虚拟资源信息和虚拟资源中的云工作流任务运行状态信息;根据所述任务分配请求,生成虚拟资源的云工作流任务分配方案,并向所述资源代理模块发送协同调度请求;所述协同调度请求包括所述虚拟资源信息;
所述资源代理模块,用于接收所述协同调度请求,并向所述感知代理模块获取云工作流运行状态信息和云工作流任务间的顺序关系;根据所述虚拟资源信息、所述云工作流运行状态信息和所述云工作流任务间的顺序关系,生成云工作流任务的资源分配方案;将所述云工作流任务的资源分配方案发送至所述任务代理模块;
所述任务代理模块,用于根据所述虚拟资源的云工作流任务分配方案和所述云工作流任务的资源分配方案计算协同调度的评价指数,通过所述协同调度的评价指数,确定最优的分配方案。
9.根据权利要求8所述的装置,其特征在于,
所述监控代理模块,还用于获取虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,根据所述虚拟资源信息、虚拟资源中的云工作流任务运行状态信息,确定是否需要进行任务分配,在需要进行任务分配的情况下,向所述任务代理模块发送任务分配请求。
10.根据权利要求9所述的装置,其特征在于,
所述资源代理模块,用于根据所述协同调度请求向所述感知代理模块发送获取云工作流任务的请求;所述云工作流任务的请求包括所述虚拟资源信息;
所述感知代理模块,用于接收云工作流任务的请求,并根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述虚拟资源信息,确定是否需要进行虚拟资源分配,在需要进行虚拟资源分配的情况下,向所述资源代理模块发送资源分配请求;所述资源分配请求包括所述云工作流运行状态信息和所述云工作流任务间的顺序关系。
11.根据权利要求10所述的装置,其特征在于,虚拟资源信息包括虚拟资源信息包括虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间;
所述监控代理模块,用于根据虚拟资源数量、可用虚拟资源、每个虚拟资源中的云工作流任务已执行时间,计算资源效用指数;
所述监控代理模块,用于根据资源效用指数和虚拟资源中的云工作流运行状态,确定是否需要进行任务分配。
12.根据权利要求11所述的装置,其特征在于,
所述感知代理模块,用于根据监测的所述云工作流运行状态信息、所述云工作流任务间的顺序关系和所述资源效用指数,确定是否需要进行虚拟资源分配。
13.根据权利要求8所述的装置,其特征在于,
所述感知代理模块,还用于获取多个工作流任务,根据任务间的约束关系,设置多个工作流任务的优先级,以确定所述云工作流任务间的顺序关系。
14.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的云工作流任务调度方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的云工作流任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068441.4A CN115794358B (zh) | 2023-02-06 | 2023-02-06 | 云工作流任务调度方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068441.4A CN115794358B (zh) | 2023-02-06 | 2023-02-06 | 云工作流任务调度方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794358A true CN115794358A (zh) | 2023-03-14 |
CN115794358B CN115794358B (zh) | 2023-06-23 |
Family
ID=85430059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310068441.4A Active CN115794358B (zh) | 2023-02-06 | 2023-02-06 | 云工作流任务调度方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794358B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680063A (zh) * | 2023-08-03 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992355A (zh) * | 2019-01-30 | 2019-07-09 | 北京理工大学 | 一种基于改进非支配遗传算法的多目标云工作流调度方法 |
WO2022109153A1 (en) * | 2020-11-19 | 2022-05-27 | Flowpatterns, Inc. | Systems and methods for optimizing business workflows |
-
2023
- 2023-02-06 CN CN202310068441.4A patent/CN115794358B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992355A (zh) * | 2019-01-30 | 2019-07-09 | 北京理工大学 | 一种基于改进非支配遗传算法的多目标云工作流调度方法 |
WO2022109153A1 (en) * | 2020-11-19 | 2022-05-27 | Flowpatterns, Inc. | Systems and methods for optimizing business workflows |
Non-Patent Citations (2)
Title |
---|
XUAN-QUI PHAM 等: ""A cost- and performance-effective approach for task scheduling based on collaboration between cloud and fog computing"", 《INTERNATIONAL JOURNAL OF DISTRIBUTED SENSOR NETWORKS》 * |
刘岩 等: ""基于深度学习算法的调度自动化云平台任务优化策略研究"", 《机械与电子》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680063A (zh) * | 2023-08-03 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
CN116680063B (zh) * | 2023-08-03 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115794358B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Barrett et al. | A learning architecture for scheduling workflow applications in the cloud | |
Song et al. | Optimal bidding in spot instance market | |
Kumar et al. | Independent task scheduling in cloud computing by improved genetic algorithm | |
Kaur et al. | An efficient approach to genetic algorithm for task scheduling in cloud computing environment | |
Szabo et al. | Evolving multi-objective strategies for task allocation of scientific workflows on public clouds | |
Li et al. | A hybrid load balancing strategy of sequential tasks for grid computing environments | |
Dutta et al. | A genetic: algorithm approach to cost-based multi-QoS job scheduling in cloud computing environment | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
Shi et al. | A genetic-based approach to location-aware cloud service brokering in multi-cloud environment | |
Zhang et al. | Novel efficient particle swarm optimization algorithms for solving QoS‐demanded bag‐of‐tasks scheduling problems with profit maximization on hybrid clouds | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
Idrissi et al. | A new approach for a better load balancing and a better distribution of resources in cloud computing | |
Saha et al. | A novel scheduling algorithm for cloud computing environment | |
Abdulal et al. | Reliability-aware genetic scheduling algorithm in grid environment | |
Singh et al. | Cloud resource management optimization: taxonomy and research challenges | |
Dhok et al. | Learning based opportunistic admission control algorithm for mapreduce as a service | |
Wangsom et al. | Multi-objective scientific-workflow scheduling with data movement awareness in cloud | |
CN115794358B (zh) | 云工作流任务调度方法、装置、电子设备和存储介质 | |
Pradhan et al. | Energy aware genetic algorithm for independent task scheduling in heterogeneous multi-cloud environment | |
Qin et al. | A knowledge-based adaptive discrete water wave optimization for solving cloud workflow scheduling | |
Karaja et al. | Efficient bi-level multi objective approach for budget-constrained dynamic Bag-of-Tasks scheduling problem in heterogeneous multi-cloud environment | |
Chen et al. | Automatically design heuristics for multi-objective location-aware service brokering in multi-cloud | |
Seethalakshmi et al. | Real-coded multi-objective genetic algorithm with effective queuing model for efficient job scheduling in heterogeneous Hadoop environment | |
Atanassov et al. | Quasi-Monte Carlo integration on the grid for sensitivity studies | |
Singh et al. | Score-based genetic algorithm for scheduling workflow applications in clouds |
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 | ||
CP02 | Change in the address of a patent holder |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Patentee after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Patentee before: Tianyiyun Technology Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |