一种云工作流分布式调度系统技术方案

技术编号:28213657 阅读:26 留言:0更新日期:2021-04-24 14:53
本发明专利技术涉及一种云工作流分布式调度系统。该系统包括:调度器控制器、分布式云工作流调度模块和云工作流状态数据库模块。通过采用调度器控制器能够快速将云工作流进行动态分配、调度;通过采用分布式云工作流调度模块能够弹性化调整调度数量从而适应不同规模的云工作流调度,以能够在提高云资源共享效率的同时,节约用户成本。云工作流状态数据库模块用于存储云工作流状态,从而保障云工作流执行过程中出现意外时系统能够对断点具有记忆性,从断点处重新执行云工作流。处重新执行云工作流。处重新执行云工作流。

【技术实现步骤摘要】
一种云工作流分布式调度系统


[0001]本专利技术涉及云工作流调度领域,特别是涉及一种云工作流分布式调度系统。

技术介绍

[0002]随着云计算技术的发展,计算资源和数据资源可以共享和打通,用户的计算任务需求能够根据复杂业务逻辑或复杂计算任务之间的前后依赖关系进行订制,从而形成云工作流。在云计算技术刚刚兴起的时候,云工作流调度和计算是在虚拟机集群上进行的,且主要针对某一具有多个前后依赖关系计算任务的科学云工作流。随着容器技术的发展,使云计算资源的隔离性、共享性、易编排性更优越,能够支持在异构集群环境下同时执行多个云工作流。但是,现有的云工作流调度系统不能够满足大规模云工作流同时到达的应用环境,其主要体现在:(1)传统的云工作流调度系统大多基于虚拟机的调度,不能够满足基于容器环境的云工作流调度模式;(2)现有的基于容器的云工作流调度系统为集中式调度模式,调度器能够接收的云工作流数量受调度器容量限制,不能够满足云计算时代用户同时提交大规模云工作流的需求,使调度系统反应速度慢甚至瘫痪。

技术实现思路

[0003]为解决现有技术中存在的上述问题,本专利技术提供了一种云工作流分布式调度系统。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种云工作流分布式调度系统,包括:调度器控制器、分布式云工作流调度模块和云工作流状态数据库模块;
[0006]所述调度器控制器的一端与用户端连接,所述调度器控制器的另一端与所述分布式云工作流调度模块的一端连接;所述分布式云工作流调度模块的另一端与所述云工作流状态数据库模块连接;
[0007]所述调度器控制器用于接收所述用户端发送的云工作流,并用于将接收的所述云工作流分配给所述分布式云工作流调度模块;所述分布式云工作流调度模块用于对接收的所述云工作流进行动态调度和分配。
[0008]优选地,所述分布式云工作流调度模块包括多个调度器;
[0009]所述调度器分别与所述调度器控制器和所述云工作流状态数据库模块连接;
[0010]所述调度器用于根据云工作流任务间的依赖关系释放已就绪的云工作流任务,并用于为所述已就绪的云工作流任务分配计算资源。
[0011]优选地,每一所述调度器均包括:监听单元、存储单元、云工作流解析单元、资源监控单元、资源分配单元、更新单元和资源计算单元;
[0012]所述监听单元、所述云工作流解析单元、所述资源监控单元、所述资源分配单元和所述更新单元均与所述存储单元连接;所述资源计算单元与所述资源分配单元连接;所述资源监控单元与所述云工作流状态数据库模块连接;所述存储单元包括:云工作流缓冲区、
任务缓冲区、云工作流任务执行状态链表和就绪任务池;
[0013]所述监听单元用于接收所述调度器控制器发送的云工作流文件,并用于采用雪花算法对接收的云工作流文件中的云工作流进行编号后,将编号后的所述云工作流存入所述存储单元的云工作流缓存区中;所述云工作流解析单元读取所述云工作流缓存区中的云工作流,并解析所述云工作流文件后,将解析后的所述云工作流文件存入所述任务缓存区;所述监控单元用于接收所述调度器控制器反馈的云工作流任务执行结果,并用于将所述云工作流任务执行结果存入所述云工作流任务执行状态链表,同时,根据所述云工作流任务执行结果对所述云工作流状态数据库模块中存储的信息进行更新;所述更新单元用于根据所述云工作流任务执行状态链表中的任务状态,将所述云工作流缓存区中的可执行任务更新至所述就绪任务池;所述资源计算单元用于计算所述就绪任务池中云工作流任务所需的计算资源总和,并将所述计算资源总和发送至所述资源分配单元,并用于接收所述资源分配单元返回的云平台可提供计算资源总和,根据云工作流任务的优先级给各个云工作流任务分配计算资源后,将分配方案结果传输给所述资源分配单元。
[0014]优选地,还包括:保活信号模块、调度器压力评价模块和容器资源分配/监控模块;
[0015]所述保活信号模块、调度器压力评价模块和容器资源分配/监控模块均与所述调度器控制器和所述调度器连接;
[0016]容器资源分配/监控模块用于根据所述调度器控制器的控制信号新建调度器;所述保活信号模块用于定时向所述调度器控制器发送保活信号;所述调度器控制器用于根据所述保活信号判断所述调度器的状态;当所述调度器控制器在设定时间段内没有接到所述调度器的保活信号,则判定为所述调度器死亡,此时,所述调度器控制器杀死所述调度器,并通知容器资源分配/监控模块新建一个调度器后,对新建的所述调度器重新分配云工作流;
[0017]调度器压力评价模块用于获取调度器压力;当所述调度器压力大于第一设定压力阈值后,所述调度器控制器通知容器资源分配/监控模块新建一个调度器。
[0018]优选地,所述云工作流状态数据库模块中存储有redis数据库。
[0019]优选地,当系统中的调度器的数量为零时,所述调度器控制器还用于存储从用户端接收的所述云工作流,并用于启动和注册第一个调度器后,将缓存的所述云工作流分配给所述第一个调度器。
[0020]优选地,当所述分布式云工作流调度模块中的某一所述调度器发生崩溃或所述调度器控制器检测到该调度器死亡时,云工作流调度执行路径为:
[0021]当该调度器的压力小于第二设定压力阈值,则所述调度器控制器将待分配的云工作流分配给该调度器;若该调度器的压力大于所述第一设定压力阈值,则所述调度器控制器通知容器资源分配/监控模块新建调度器,并由所述调度器控制器将云工作流分配给新建的调度器。
[0022]优选地,当所述分布式云工作流调度模块中的每一调度器的压力均大于所述第一设定压力阈值时,则所述调度器控制器通知容器资源分配/监控模块新建调度器后,所述调度器控制器根据各调度器的压力分配云工作流。
[0023]优选地,当所述分布式云工作流调度模块中存在压力小于所述第二设定压力阈值的调度器时,所述调度器控制器将压力小于所述第二设定压力阈值的调度器杀死,并将压
力小于所述第二设定压力阈值的调度器调度的云工作流收回并再分配。
[0024]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0025]本专利技术提供的云工作流分布式调度系统,通过采用调度器控制器接收用户端发送的云工作流,并将接收的云工作流分配给分布式云工作流调度模块,分布式云工作流调度模块对接收的所述云工作流进行动态调度和分配,以能够在提高云资源共享效率的同时,节约用户成本。
附图说明
[0026]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本专利技术提供的云工作流分布式调度系统的架构图;
[0028]图2为本专利技术提供的云工作流分布式调度系统的内部结构图;
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云工作流分布式调度系统,其特征在于,包括:调度器控制器、分布式云工作流调度模块和云工作流状态数据库模块;所述调度器控制器的一端与用户端连接,所述调度器控制器的另一端与所述分布式云工作流调度模块的一端连接;所述分布式云工作流调度模块的另一端与所述云工作流状态数据库模块连接;所述调度器控制器用于接收所述用户端发送的云工作流,并用于将接收的所述云工作流分配给所述分布式云工作流调度模块;所述分布式云工作流调度模块用于对接收的所述云工作流进行动态调度和分配。2.根据权利要求1所述的云工作流分布式调度系统,其特征在于,所述分布式云工作流调度模块包括多个调度器;所述调度器分别与所述调度器控制器和所述云工作流状态数据库模块连接;所述调度器用于根据云工作流任务间的依赖关系释放已就绪的云工作流任务,并用于为所述已就绪的云工作流任务分配计算资源。3.根据权利要求2所述的云工作流分布式调度系统,其特征在于,每一所述调度器均包括:监听单元、存储单元、云工作流解析单元、资源监控单元、资源分配单元、更新单元和资源计算单元;所述监听单元、所述云工作流解析单元、所述资源监控单元、所述资源分配单元和所述更新单元均与所述存储单元连接;所述资源计算单元与所述资源分配单元连接;所述资源监控单元与所述云工作流状态数据库模块连接;所述存储单元包括:云工作流缓冲区、任务缓冲区、云工作流任务执行状态链表和就绪任务池;所述监听单元用于接收所述调度器控制器发送的云工作流文件,并用于采用雪花算法对接收的云工作流文件中的云工作流进行编号后,将编号后的所述云工作流存入所述存储单元的云工作流缓存区中;所述云工作流解析单元读取所述云工作流缓存区中的云工作流,并解析所述云工作流文件后,将解析后的所述云工作流文件存入所述任务缓存区;所述监控单元用于接收所述调度器控制器反馈的云工作流任务执行结果,并用于将所述云工作流任务执行结果存入所述云工作流任务执行状态链表,同时,根据所述云工作流任务执行结果对所述云工作流状态数据库模块中存储的信息进行更新;所述更新单元用于根据所述云工作流任务执行状态链表中的任务状态,将所述云工作流缓存区中的可执行任务更新至所述就绪任务池;所述资源计算单元用于计算所述就绪任务池中云工作流任务所需的计算资源总和,并将所述计算资源总和发送至所述资源分配单元,并用于接收所述资源分配单元返回的云平台可提供计算资源总和,根据云工作流任务的优先级给各个云工作流任务分配计算资源后,将...

【专利技术属性】
技术研发人员:李怡然夏元清杨立文王冠李亚兴叶玲娟单成刚闫策
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1