[发明专利]一种任务调度规划自动生成和运行系统及方法有效
| 申请号: | 201811631496.7 | 申请日: | 2018-12-29 |
| 公开(公告)号: | CN109684067B | 公开(公告)日: | 2020-10-16 |
| 发明(设计)人: | 胡宝刚;郭敏;丁志钊;朱学波 | 申请(专利权)人: | 中电科仪器仪表有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/445 |
| 代理公司: | 青岛智地领创专利代理有限公司 37252 | 代理人: | 种艳丽 |
| 地址: | 266555 山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 任务 调度 规划 自动 生成 运行 系统 方法 | ||
1.一种任务调度规划自动生成和运行方法,其特征在于:采用一种任务调度规划自动生成和运行系统,该系统包括任务调度规划自动生成模块、任务调度规划表模块、任务运行调度模块、测试任务模块和资源动态管理器;
任务调度规划自动生成模块:被配置为用于实现智能调度规划生成算法,分析系统内仪器资源信息、测试任务使用仪器资源信息,自动生成一个优化的任务调度规划表;
任务调度规划表模块:被配置为用于保存任务调度规划自动生成模块生成的优化任务调度规划信息,包括任务组调度步骤、任务组包含哪些任务以及每个任务的建模信息,任务调度规划表模块被保存到XML文件,能够被任务运行调度模块重复利用;
任务运行调度模块:被配置为用于按照任务调度规划的内容,依照调度步骤的顺序运行各个任务组,每个任务组中的所有任务并行启动;
测试任务模块:被配置为用于向资源动态管理器申请要访问仪器的空闲通道,得到一个空闲通道号,然后根据该通道号调用仪器驱动访问仪器实现测试;
资源动态管理器:被配置为用于负责系统中所有仪器的动态使用情况,向测试任务模块提供仪器的空闲通道,并且在测试任务模块运行完毕后回收通道;具体包括如下步骤:
步骤1:构建空白个体矩阵,并将个体矩阵的列索引初始化为1;
步骤2:将初始资源向量备份到备份资源向量R’中;
资源向量是根据系统中所有仪器资源的信息构建的,资源向量R={r1,r2,r3,……,rn}是一个n维向量,其中,n为系统中仪器个数,每个元素的取值范围为0~k,对应系统中一个仪器的空闲通道数,k为该仪器的通道总数,0表示该仪器的所有通道已经全部被占用,1表示该仪器还有一个通道未被使用,依次类推;元素的初始值为对应仪器的通道总数;
步骤3:根据系统中所有测试任务的信息构建任务向量;
任务向量T={t1,t2,t3,……,tm}中的每个元素对应一个测试任务;
步骤4:对任务向量中的所有任务进行分配;判断是否有未分配的任务;
若:判断结果是没有未分配的任务,则执行步骤5;
或判断结果是有未分配的任务,则执行步骤6;
步骤5:简化个体矩阵,去除多余元素,得到一个任务调度规划,算法完成;
步骤6:从任务向量中随机选取一个测试任务,对该测试任务进行任务分配,判断剩余资源是否满足该测试任务的需求;
若:判断结果是剩余资源不满足测试任务的需求,则将该任务加入临时任务向量,从任务向量中扣除该任务,然后转到步骤6重新随机选择一个测试任务;
或判断结果是剩余资源满足测试任务的需求,则从资源向量中扣除该任务所需资源;
步骤7:将测试任务加入到个体矩阵的第i列,从任务向量T中删除该任务,判断是否已经遍历完任务向量,即判断任务向量是否为空;
若:判断结果是已经遍历完任务向量,即任务向量为空,则执行步骤8;
或判断结果是没有遍历完任务向量,即任务向量不为空,则执行步骤9;
步骤8:将个体矩阵的列索引值加1;将临时任务向量中的任务加入到任务向量中,清除临时任务向量;利用备份资源向量R’恢复资源向量R内容到初始状态;并转到步骤4开始对任务向量中的剩余任务进行新一轮的分配,产生第i+1列的并行任务组;
步骤9:转到步骤6,继续访问任务向量,看是否能够在个体矩阵第i列中加入新的能够并行运行的任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科仪器仪表有限公司,未经中电科仪器仪表有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811631496.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种线程调度方法
- 下一篇:一种智能烹饪任务异常处理方法及装置





