[发明专利]一种基于多线程的卫星数据产品生产任务并行调度方法有效
申请号: | 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/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置