一种工作流调度执行单元控制方法和控制器技术

技术编号:28417801 阅读:23 留言:0更新日期:2021-05-11 18:24
本发明专利技术涉及一种工作流调度执行单元控制方法和控制器。本发明专利技术通过采用快通路系统能够高速接收工作流,由内部的多生产者单消费者模型队列缓存,并由工作流调度执行单元分配器根据工作流调度执行单元预选表向工作流调度执行单元发送工作流。快通路系统不负责构建和维护预选表,且其能够实现工作流的高速路由。工作流路由到工作流调度执行单元的准确性由工作流调度执行单元预选表保障,工作流调度执行单元预选表由慢通路系统内各模块根据系统当前状态(工作流调度执行单元规模、容量和压力)构建并维护,进而能解决高并发、高流速工作流的接收问题和超大规模分布式工作流调度执行单元的管理和大规模工作流高速、精准路由问题。

【技术实现步骤摘要】
一种工作流调度执行单元控制方法和控制器
本专利技术涉及工作流调度
,特别是涉及一种工作流调度执行单元控制方法和控制器。
技术介绍
大量社会和工业过程可以使用工作流的方式进行描述,在“万物上云”的环境下,大规模云数据中心面临大规模工作流接收问题。大规模云数据中心利用自身优势能提高超大规模分布式工作流调度执行单元,但如此庞大规模的工作流调度执行单元的管理成为需要解决的难题,同时如何高效、精准的路由工作流到大规模工作流调度执行单元成为新的挑战。
技术实现思路
本专利技术的目的是提供一种工作流调度执行单元控制方法和控制器,以能解决高并发、高流速工作流的接收问题和超大规模分布式工作流调度执行单元的管理和大规模工作流高速、精准路由问题。为实现上述目的,本专利技术提供了如下方案:一种工作流调度执行单元控制方法,包括:获取第一调度执行单元注册表和系统工作流的调度压力;所述第一调度执行单元注册表包括:调度执行单元标识、调度执行单元自测压力、调度执行单元工作流容量和调度执行单元远程过程调用信息;所述调度执行单元远程过程调用信息包括:调度执行单元网络IP地址、调度执行单元网络TCP端口号和调度执行单元响应控制器的程序函数路径字符串;根据所述第一调度执行单元注册表和所述系统当前工作流的调度压力生成调度执行单元预选表;所述调度执行单元预选表为一个排序数组;所述排序数组每一项均包含:调度执行单元标识、调度执行单元承载容量和调度执行单元远程过程调用信息;遍历所述第一调度执行单元注册表,并确定所述第一调度执行单元注册表中所有调度执行单元的承载总容量;根据所述系统工作流的调度压力确定当前系统中的工作流总量;根据所述承载总容量和所述工作流总量间的关系确定系统中当前开启或关闭的所述调度执行单元的个数,得到工作调度执行单元;获取第一多生产者单消费者模型队列;接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列;获取所述调度执行单元预选表中每一所述工作调度执行单元的承载容量,并从第二多生产者单消费者模型队列的队首开始,依序取出与所述工作调度执行单元的承载容量对应个数的工作流后,将取出的工作流对应发送给所述工作调度执行单元,并判断是否发送成功,得到第一判断结果;若所述第一判断结果为是,则将所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”;若所述第一判断结果为否,则将取出的工作流放入所述第二多生产者单消费者模型队列,得到新的第二多生产者单消费者模型队列,并将新的所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”。优选地,所述获取第一调度执行单元注册表,之前包括:获取调度执行单元状态表和第二调度执行单元注册表;所述调度执行单元状态表中存储有调度执行单元在连续N个可调节时间常数周期内发送的保活信号;所述保活信号包括:调度执行单元标识、调度执行单元自测压力、调度执行单元容量、调度执行单元远程过程调用信息和调度执行单元远程发送时间戳;遍历所述调度执行单元状态表,并判断所述调度执行单元状态表中的调度执行单元是否被所述第二调度执行单元注册表包含,得到第二判断结果;当所述第二判断结果为是时,根据所述保活信号判断所述调度执行单元是否为存活状态,得到第三判断结果;当所述第三判断结果为否时,删除所述调度执行单元的信息,并向所述调度执行单元发送关闭命令后,将所述调度执行单元的标识保存至调度执行单元黑名单;当所述第三判断结果为是或所述第二判断结果为否时,根据所述调度执行单元的信息更新所述第二调度执行单元注册表中的调度执行单元信息或新增所述第二调度执行单元注册表的表项,得到第一调度执行单元注册表。优选地,根据所述保活信号判断所述调度执行单元是否为存活状态,具体包括:采用公式确定所述调度执行单元连续N个所述保活信号的平均时间间隔;获取调度执行单元进入死亡时间的预设时间常数;判断所述平均时间间隔是否大于所述预设时间常数;当所述平均时间间隔大于所述预设时间常数时,判定所述调度执行单元死亡;当所述平均时间间隔小于等于所述预设时间常数时,判定所述调度执行单元存活;其中,X为调度执行单元,为平均时间间隔,TCyi(X)为调度执行单元X在调度执行单元状态表中第i个可调节时间常数周期与第i-1个可调节时间常数周期的时间差。优选地,所述根据所述承载总容量和所述工作流总量间的关系确定系统中当前开启或关闭的所述调度执行单元的个数,得到工作调度执行单元,具体包括:获取第一阈值控制常数和第二阈值控制常数;当所述承载总容量小于所述工作流总量,且所述工作流总量与所述承载总容量的差值大于所述第一阈值控制常数时,开启与所述第一阈值控制常数相等个数的调度执行单元;当所述承载总容量大于所述工作流总量,且所述承载总容量与所述工作流总量的差值大于所述第二阈值控制常数时,关闭与所述第二阈值控制常数相等个数的调度执行单元。对应于上述提供的工作流调度执行单元控制方法,本专利技术对应设置了一种工作流调度执行单元控制器,该控制器中植入有上述工作流调度执行单元控制方法;所述控制器包括:快通路系统和慢通路系统;所述快通路系统与所述慢通路系统连接;所述快通路系统用于实现工作流的转发;所述慢通路系统用于对调度执行单元进行调度控制。优选地,所述快通路系统包括:接收工作流模块、调度执行单元分配模块、网络发送模块和第一存储模块;所述接收工作流模块与所述第一存储模块连接;所述第一存储模块与所述调度执行单元分配模块连接;所述调度执行单元分配模块与所述网络发送模块连接;所述第一存储模块用于存储调度执行单元预选表和多生产者单消费者模型队列;所述接收工作流模块用于接收网络中传递的工作流,并将所述工作流存入所述多生产者单消费者模型队列中;所述调度执行单元分配模块用于遍历所述调度执行单元预选表,并用于获取所述调度执行单元预选表中每一所述工作调度执行单元的承载容量,并从所述多生产者单消费者模型队列的队首开始,依序取出与所述工作调度执行单元的承载容量对应个数的工作流;所述调度执行单元预选表为一个排序数组;所述排序数组每一项均包含:调度执行单元标识、调度执行单元承载容量和调度执行单元远程过程调用信息;所述调度执行单元远程过程调用信息包括:调度执行单元网络IP地址、调度执行单元网络TCP端口号和调度执行单元响应控制器的程序函数路径字符串;所述网络发送模块用于向所述调度执行单元和所述第一存储模块发送所述工作流。优选地,所述慢通路系统包括:调度执行本文档来自技高网...

【技术保护点】
1.一种工作流调度执行单元控制方法,其特征在于,包括:/n获取第一调度执行单元注册表和系统工作流的调度压力;所述第一调度执行单元注册表包括:调度执行单元标识、调度执行单元自测压力、调度执行单元工作流容量和调度执行单元远程过程调用信息;所述调度执行单元远程过程调用信息包括:调度执行单元网络IP地址、调度执行单元网络TCP端口号和调度执行单元响应控制器的程序函数路径字符串;/n根据所述第一调度执行单元注册表和所述系统当前工作流的调度压力生成调度执行单元预选表;所述调度执行单元预选表为一个排序数组;所述排序数组每一项均包含:调度执行单元标识、调度执行单元承载容量和调度执行单元远程过程调用信息;/n遍历所述第一调度执行单元注册表,并确定所述第一调度执行单元注册表中所有调度执行单元的承载总容量;/n根据所述系统工作流的调度压力确定当前系统中的工作流总量;/n根据所述承载总容量和所述工作流总量间的关系确定系统中当前开启或关闭的所述调度执行单元的个数,得到工作调度执行单元;/n获取第一多生产者单消费者模型队列;/n接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列;/n获取所述调度执行单元预选表中每一所述工作调度执行单元的承载容量,并从第二多生产者单消费者模型队列的队首开始,依序取出与所述工作调度执行单元的承载容量对应个数的工作流后,将取出的工作流对应发送给所述工作调度执行单元,并判断是否发送成功,得到第一判断结果;/n若所述第一判断结果为是,则将所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”;/n若所述第一判断结果为否,则将取出的工作流放入所述第二多生产者单消费者模型队列,得到新的第二多生产者单消费者模型队列,并将新的所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”。/n...

【技术特征摘要】
1.一种工作流调度执行单元控制方法,其特征在于,包括:
获取第一调度执行单元注册表和系统工作流的调度压力;所述第一调度执行单元注册表包括:调度执行单元标识、调度执行单元自测压力、调度执行单元工作流容量和调度执行单元远程过程调用信息;所述调度执行单元远程过程调用信息包括:调度执行单元网络IP地址、调度执行单元网络TCP端口号和调度执行单元响应控制器的程序函数路径字符串;
根据所述第一调度执行单元注册表和所述系统当前工作流的调度压力生成调度执行单元预选表;所述调度执行单元预选表为一个排序数组;所述排序数组每一项均包含:调度执行单元标识、调度执行单元承载容量和调度执行单元远程过程调用信息;
遍历所述第一调度执行单元注册表,并确定所述第一调度执行单元注册表中所有调度执行单元的承载总容量;
根据所述系统工作流的调度压力确定当前系统中的工作流总量;
根据所述承载总容量和所述工作流总量间的关系确定系统中当前开启或关闭的所述调度执行单元的个数,得到工作调度执行单元;
获取第一多生产者单消费者模型队列;
接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列;
获取所述调度执行单元预选表中每一所述工作调度执行单元的承载容量,并从第二多生产者单消费者模型队列的队首开始,依序取出与所述工作调度执行单元的承载容量对应个数的工作流后,将取出的工作流对应发送给所述工作调度执行单元,并判断是否发送成功,得到第一判断结果;
若所述第一判断结果为是,则将所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”;
若所述第一判断结果为否,则将取出的工作流放入所述第二多生产者单消费者模型队列,得到新的第二多生产者单消费者模型队列,并将新的所述第二多生产者单消费者模型队列作为新的所述第一多生产者单消费者模型队列后,返回“接收网络传递的工作流,并将接收的工作流返给所述第一多生产者单消费者模型队列的队尾,得到第二多生产者单消费者模型队列”。


2.根据权利要求1所述的工作流调度执行单元控制方法,其特征在于,所述获取第一调度执行单元注册表,之前包括:
获取调度执行单元状态表和第二调度执行单元注册表;所述调度执行单元状态表中存储有调度执行单元在连续N个可调节时间常数周期内发送的保活信号;所述保活信号包括:调度执行单元标识、调度执行单元自测压力、调度执行单元容量、调度执行单元远程过程调用信息和调度执行单元远程发送时间戳;
遍历所述调度执行单元状态表,并判断所述调度执行单元状态表中的调度执行单元是否被所述第二调度执行单元注册表包含,得到第二判断结果;
当所述第二判断结果为是时,根据所述保活信号判断所述调度执行单元是否为存活状态,得到第三判断结果;
当所述第三判断结果为否时,删除所述调度执行单元的信息,并向所述调度执行单元发送关闭命令后,将所述调度执行单元的标识保存至调度执行单元黑名单;
当所述第三判断结果为是或所述第二判断结果为否时,根据所述调度执行单元的信息更新所述第二调度执行单元注册表中的调度执行单元信息或新增所述第二调度执行单元注册表的表项,得到第一调度执行单元注册表。


3.根据权利要求2所述的工作流调度执行单元控制方法,其特征在于,根据所述保活信号判断所述调度执行单元是否为存活状态,具体包括:
采用公式确定所述调度执行单元连续N个所述保活信号的平均时间间隔;
获取调度执行单元进入死亡时间的预设时间常数;
判断所述平均时间间隔是否大于所述预设时间常数;
当所述平均时间间隔大于所述预设时间常数时,判定所述调度执行单元死亡;
当所述平均时间间隔小于等于所述预设时间常数时,判定所述调度执行单元存活;
其中,X为调度执行单元,为平均时间间隔,TCyi(X)为调度执行单元X在调度执行单元状态表中第i个可调节时间常数周期与第i-1个可调节时间常数周期的时间差。


4.根据权利要求1所述的工作流调度执行单元控制方法,其特征在于,所述根据所述承载总容量和所述工作流总量间的关系确定系统中当前开启或关闭的所述调度执行单元的个数,得到工作调度执行单元,具体包括:
获取第一阈值控制常数和第二阈值控制常数;
当所述承载总容量小于所述工作流总量,且所述工作流...

【专利技术属性】
技术研发人员:王冠夏元清闫莉萍詹玉峰郭泽华张金会刘坤戴荔翟弟华邹伟东孙中奇崔冰刘丹阳
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

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

1