[发明专利]一种多任务并发调度方法及系统无效
申请号: | 201110056252.2 | 申请日: | 2011-03-09 |
公开(公告)号: | CN102681894A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 张毅 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 并发 调度 方法 系统 | ||
1.一种多任务并发调度方法,应用于可运行至少两个并行任务的调度系统中,包括:
根据所述调度系统中各任务之间的关联关系,对于存在后继任务的每一任务,记录该任务与该任务的后继任务之间的第一对应关系;
所述调度系统中设有总控任务,所述总控任务的后继任务被设置为所述各任务中不存在前驱任务的任务;
所述总控任务被调度后,并发调度所述总控任务的所有后继任务;对于所述各任务中的每一任务,在该任务执行完成后,判定该任务是否存在后继任务;若存在,则发起执行该任务的后继任务的流程。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述各任务之间的关联关系,对于存在前驱任务的每一任务,记录该任务与该任务的前驱任务之间的第二对应关系;
所述发起执行该任务的后继任务的流程,具体包括:
根据所述第二对应关系判断该任务的后继任务的所有前驱任务是否均已执行完成;若均已执行完成,则调度该任务的后继任务;否则,待该任务的后继任务的所有前驱任务均已执行完成后再调度该任务的后继任务。
3.如权利要求2所述的方法,其特征在于,
所述系统中至少设置有部分任务的任务执行条件;
所述调度该任务的后继任务,具体包括:判断系统中是否设置有该任务的后继任务对应的任务执行条件;若没有,则开始执行该任务的后继任务;否则,判断是否满足该任务的后继任务对应的执行条件,若满足,则开始执行该任务的后继任务;若不满足,则在满足该任务的后继任务对应的执行条件时再开始执行该任务的后继任务。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
所述总控任务在所述调度系统中创建任务结果哈希表,所述任务结果哈希表中每条记录对应任务标识和任务结果两个字段;
当一任务执行完成后,所述调度系统将该任务的任务标识和任务结果添加到所述任务结果哈希表中;
根据所述第二对应关系判断该任务的后继任务的所有前驱任务是否均已执行完成,具体包括:
根据所述第二对应关系判断该任务的后继任务的所有前驱任务在所述任务结果哈希表中是否保存有记录。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述根据所述第二对应关系判断该任务的后继任务的所有前驱任务在所述任务结果哈希表中是否保存有记录,具体包括:
在获取到所述任务结果哈希表的同步锁后,再根据所述第二对应关系判断该任务的后继任务的所有前驱任务在所述任务结果哈希表中是否保存有记录;在查找完成后,释放所述同步锁。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
当收到用户发来的暂停命令或停止命令后,所述调度系统保存所述任务结果哈希表;
当收到用户发来的恢复命令时,所述调度系统重新调度所述总控任务,所述总控任务根据所述任务结果哈希表中的记录,重新调度所述任务结果哈希表中记录的任务的未执行过的后继任务。
7.如权利要求3所述的方法,其特征在于,
所述总控任务的任务执行条件被设置为所述总控任务的后继任务的任务执行条件;
所述总控任务被调度,具体包括:
在满足所述总控任务的任务执行条件时,执行所述总控任务。
8.如权利要求3所述的方法,其特征在于,所述方法还包括:
当所述调度系统运行于Java平台时,所述总控任务利用Java命名和目录接口技术,在人机交互界面上显示所述调度系统中执行的各任务的工作状态;
其中,所述工作状态包括:运行中、停止中、暂停中、已停止或已暂停。
9.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述总控任务在所述调度系统中创建线程池;
所述开始执行该任务的后继任务,具体包括:将该任务的后继任务放入所述线程池中进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110056252.2/1.html,转载请声明来源钻瓜专利网。