[发明专利]一种基于多线程的卫星数据产品生产任务并行调度方法有效

专利信息
申请号: 200910243098.2 申请日: 2009-12-24
公开(公告)号: CN101739293A 公开(公告)日: 2010-06-16
发明(设计)人: 李颖;孙晓良;石贞云;梁洁雯;刘华 申请(专利权)人: 航天恒星科技有限公司
主分类号: G06F9/46 分类号: G06F9/46;G06F9/50
代理公司: 中国航天科技专利中心 11009 代理人: 安丽
地址: 100086 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于多线程的卫星数据产品生产任务并行调度方法,包括:为待调度执行的任务设置优先级并实现统一接口;将任务按照优先级由高到底的顺序加入到优先级队列;设置线程池的任务最大数量,最小数量和线程的最长空闲时间;启动线程池中的守护线程和多个任务线程执行任务,守护线程根据任务量情况动态调整任务线程的数量。本发明能够合理利用系统资源,针对卫星地面应用系统的数据产品生产,解决了产品生产流程复杂、任务执行时间长、任务量大、任务调度实时性、并行度高等难点。
搜索关键词: 一种 基于 多线程 卫星 数据 产品 生产 任务 并行 调度 方法
【主权项】:
一种基于多线程的卫星数据产品生产任务并行调度方法,其特征在于:包括任务生成、优先级队列管理、线程池创建、线程池管理4个部分,实现如下:(1)任务生成:根据卫星数据产品数据要求,生成任务并确定任务的优先级和任务在优先级队列中的最长等待时间;(2)优先级队列管理:根据步骤(1)确定的任务优先级和优先级别数量,创建相应优先级别和优先级数量的线程安全的队列,将待执行的任务按照其优先级的级别插入到相应的队列中,并为任务增加一个时间戳,记录该任务加入到队列的时间,在任务调度过程中,检查非最高优先级队列中每个任务的等待时间,如果超过步骤(1)中的最长等待时间而该任务仍未被执行,则将该任务转移到上一级优先级更高的队列中并更改时间戳,以防止低优先级的任务长时间得不到执行;(3)创建线程池:将线程分为守护线程和任务线程,根据系统CPU的数量、任务的I/O等待时间和任务生成频率确定任务线程的最大数量和最小数量,并设置任务线程的最长空闲时间,根据任务线程的最小数量创建并启动相应数量的任务线程,任务线程的状态分为Ready态、空闲态、运行态和终结态四种状态,并为每个任务线程分配唯一的ID,任务线程按照优先级由高到低的顺序从优先级队列中取出任务进行执行;创建并启动唯一的守护线程,并由守护线程生成任务线程状态表,用于调整和控制线程池中任务线程的数量和状态;(4)线程池管理:守护线程维护线程池中任务线程的数量和任务线程状态表,记录和控制任务线程状态的变化,如果有新任务加入到优先级队列,而当前无空闲的任务线程,并且任务线程总数小于设定的任务最大线程数量,则守护线程负责创建新的任务线程执行任务;如果所有优先级队列为空,即无需要执行的任务,任务线程将进入空闲状态,并通过两种方式转变为终结态:第一种方式是空闲状态超过设定的最长空闲时间,则自动结束转变为终结态;第二种方式是守护线程扫描所有的空闲线程,由守护线程结束任务线程将其转变为终结态,但守护线程要保证线程池中任务线程的数量不少于设定的任务线程最小数量。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天恒星科技有限公司,未经航天恒星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200910243098.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top