CN1828541A - Java操作***中定时任务的实现方法 - Google Patents

Java操作***中定时任务的实现方法 Download PDF

Info

Publication number
CN1828541A
CN1828541A CN 200610050254 CN200610050254A CN1828541A CN 1828541 A CN1828541 A CN 1828541A CN 200610050254 CN200610050254 CN 200610050254 CN 200610050254 A CN200610050254 A CN 200610050254A CN 1828541 A CN1828541 A CN 1828541A
Authority
CN
China
Prior art keywords
task
tcb
control block
time
timed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200610050254
Other languages
English (en)
Inventor
陈天洲
戴红军
黄彧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 200610050254 priority Critical patent/CN1828541A/zh
Publication of CN1828541A publication Critical patent/CN1828541A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Java操作***中定时任务的实现方法。在Java操作***中,定任任务对于实时任务是不可缺少的,多任务***具有实时处理功能,主要表现在当一个用户作业包含某些控制实时终端设备的任务时,***能对外部信号作出及时响应,并使之与实时终端设备有关的任务能按一定时间关系和逻辑关系协调工作。定时任务使任务需要按用户规定时间建立和周期性的重复执行。本发明对嵌入式***环境,尤其是面向嵌入式***的Java操作***,有重大意义。

Description

Java操作***中定时任务的实现方法
技术领域
本发明涉及实时任务处理技术,特别是涉及一种java操作***中实时任务的实现方法。
背景技术
操作***的实时性是操作***的一个重要特征,是实时控制计算机软、硬件***的核心。它随着实时多任务计算机***软件的形成而诞生,随着实时多任务***要求的提高而发展。以数字计算机为中心的实时多任务操作***已经在工业、交通、能源、银行、科学研究和科学试验、国防等各个领域发挥了极其重要的作用。
实时操作***是操作***的一个重要分支。它应属于操作***的研究范畴。实时操作***与通用操作***有共同的一面,但在功能、性能、安全保密及环境适应能力等方面,还有其独特的一面。
实时操作***是指具有实时特性,能支持实时控制***工作的操作***,它可将***中的各种设备有机地联系在一起并控制它们完成既定的任务。
实时操作***的首要任务是利用一切可利用的资源完成实时控制任务,其次才着眼于提高计算机***的使用效率。
实时操作***的一个重要特点就是要满足对时间的限制和要求。在实时***中,时间就是生命,这与通用操作***有显著的差别。
除个别***外,实时操作***都就是多道程序的操作***。
实时数字控制***是实时操作***的主要生存环境和工作环境,实时操作***控制实时***的各种设备共同完成任务。
实时控制***属于控制***的研究范畴。从功能而言,控制***可被定义为对能量或其他媒体流量等进行调节的装置。
实时控制***是一种能接收数据、加工处理并可将处理结果及时予以反馈的环境控制***。
实时控制***由以下四大部分构成:
数字采集。它用来收集、接收或录入***工作所必要的信息,或进行信号检测;
加工处理。它对收集、接收或录入的信息(包括信号检测的结果)进行加工处理,得出控制***工作所必要的参数或作出决定,然后进行输出、记录或显示;
操作控制。它根据加工处理设备所输出的信息(包括输出信号)采取适当措施或动作,以达到控制或适应环境的目的;
反馈处理。它监督执行机构的执行结果,并将该结果馈送至信号检测或数据接收设备,以便***根据反馈情况进一步采取措施,达到控制的预期目的。
发明内容
本发明的目的在于提供一种java操作***中定时任务的实现方法。
本发明解决其技术问题采用的技术方案如下:
1)基本数据结构
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
根据任务的状态,将实时任务的状态分成运行状态、就绪状态、挂起状态、潜伏状态
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销以后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
④任务控制块
任务控制块是任务的标志,任务***根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;
任务控制块是表征任务存在的唯一实体,当任务***收回了任务的任务控件块后,任务就被撤销了,当建立一个新任务时,任务***为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于***之中;任务***对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:活动队列、就绪队列、空队列
⑥用户任务排队表
实时任务将它与时间有关的信息记录在用户任务排队表
⑦定时任务链
一个作业中所有定时任务的任务控制块串成一个链,链中各定时任务任务控制块的排队原则为:根据任务定时时间由小到大顺序排列,定时时间相同的任务的任务控制块的排列次序取决于任务请求排队时间的先后
2)定时任务的执行过程
(1)***定时任务链
①操作***扫描用户任务排队表
②如果任务排列表的时间迟于当前***时间,执行,进行***操作,否则退出
③在定时任务链中查找要***的位置
④***用户任务排队表
(2)唤醒定时任务
时钟中断程序负责唤醒延迟链上的到时任务,将它们解挂,并从延迟链上撤下使之处于就绪状态,步骤如下:
①时钟中断程序扫描定时任务链
②是否有到时任务,如果没有则退出
③有到时的任务,将该任务控制块的状态设为就绪状态
④将该任务控制块***到就绪队列中
本发明的有益效果是:实现简单,***开销小,较小的***响应时间,在规定的响应时间内响应并处理异步事件的请求,高度可靠性,异常情况下***能及时正确处置,保证完成任务或最重要的任务,能及时对外部信号作出响应,并使之与实时终端设备有关的任务能按一定时间关系和逻辑关系协调工作,使任务需要按用户规定时间建立和周期性的重复执行。
附图说明
附图是实时任务调度流程图
具体实施方式
在实施实时任务调度时,具体方式如下:
1)基本数据结构
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销以后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
任务的优先级反映了它想获得其执行结果的急切程度。一般情况下,任务调度程序总是挑选优先级最高的任务运行。任务优先级范围为0~255,其中0优先级为最高,不同任务可以有相同的优先级。在创建一个任务时,必须指定其优先级。若未指定,***就自动取当前任务的优先级为新任务的优先级。
④任务控制块
任务控制块是任务的标志,任务***根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;
任务控制块是表征任务存在的唯一实体,当任务***收回了任务的任务控件块后,任务就被撤销了,当建立一个新任务时,任务***为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于***之中;任务***对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
任务控制块也是用户任务与操作***交换信息的通信区。当用户任务向***申请***资源,如内存储区、输入输出设备时,需将有关申请请求的内容填入任务控制块之中。然后再提交给***,而***在完成用户提出的某些申请或操作后,也是将有关返回信息送入任务的任务控制块,而由任务从任务控制块中获取信息。
任务控制块的主要内容包括用户任务的运行现场信息,任务本身的外部特性信息和管理任务控制块的有关信息三部分,如下所示。
现场信息:保存用户任务运行现场信息中各寄存器或累加器的内容,保存用户任务程序计数器的内容;
任务外部特征信息:用户任务标识号,用户任务状态,用户任务优先级;
管理控制信息:任务调用命令字,任务与***通信区,任务控制块连接字。
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:活动队列、就绪队列、空队列。
用户作业内的任务数由用户指定,***装配程序根据任务数来分配任务控制块空间。
就绪队列:将处在就绪、挂起状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,各任务任务控制块是按任务的优先级先高后低的顺序排列的,相同优先级的任务控制块则按任务建立先后次序排列。
运行队列:将处在运行状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,各任务任务控制块是按任务的优先级先高后低的顺序排列的,相同优先级的任务控制块则按任务建立先后次序排列。
空队列:所有空任务控制块一般也串成一条链。
各队列的首地址一般存于用户作业的作业控制表中。
⑥用户任务排队表
实时任务将它与时间有关的信息记录在用户任务排队表
它包含以下信息
定时任务的启动地址
重复执行次数,每执行一次,此数减1
当程序存储在磁盘中时,它给出了有关地址信息
任务起始建立时间(时)
任务起始建立时间(秒),任务每执行一次,任务起始建立时间和任务起始建立时间加上周期,形成新的起始时间
左字节为任务标识号,右字节为任务优先级
任务重复执行的周期(秒)
定时任务连接字,借助此字,定时任务的用户任务排队表串成一列队链。称为定时任务排队链。
⑦定时任务链
一个作业中所有定时任务的任务控制块串成一个链,链中各定时任务任务控制块的排队原则为:根据任务定时时间由小到大顺序排列,定时时间相同的任务的任务控制块的排列次序取决于任务请求排队时间的先后
定时任务排队链中的任务控制块内记录着有关此任务定时时间的信息,具体为本任务定时时间减去链中前一个任务定时时间。
因此除了链首任务控制块中记录了相应任务的定时时间外,其余任务控制块中记录的都是此任务相对于链上前一任务的定时时间增量,定时时间以脉冲数为单位
2)定时任务的执行过程
(1)***定时任务链
①操作***扫描用户任务排队表
利用用户任务排队表中的时间信息,判断是该任务是否为定时任务。
②如果用户任务排列表的时间迟于当前***时间,执行,进行***操作,否则退出
③在定时任务链中查找要***的位置
当用户任务排阶表中的起始建立时间迟于当前***时间时,用户任务排队表按时间先后次序排队,相同起始建立时间的任务按优先级高低次序排列,优先级相同的任务按参加排队先后次序排队。
当任务起始建立时间早于当前***时间时,此任务即为过时任务,它的用户任务表挂在队尾,并按过时时间由多到少顺序排队。
④***用户任务排队表
将用用户任务排列表***到定时任务链中,供***使用。
(2)唤醒定时任务
时钟中断程序负责唤醒延迟链上的到时任务,将它们解挂,并从延迟链上撤下使之处于就绪状态,步骤如下:
①时钟中断程序扫描定时任务链
任务链上为各个定时任务的排队信息,通过扫描定时任务链,获取定时任务的响应时间。
②是否有到时任务,如果没有则退出
利用用户任务排队表中的时间信息,判断是否响应用户的定时任务
③有到时的任务,将该任务控制块的状态设为就绪状态
检查每一个用户任务排列表,凡是满足条件“上次扫视排队链时间<任务起始时间≤当前***时间”的定时任务称为到时任务,
④将该任务控制块***到就绪队列中
填入此任务的有关信息(启动地址、标识号和优先级等),将这个任务控制块插到就绪队列上同优先级任务控制块的末尾,这样,定时任务就被建立且呈就绪状态,当多任务调度程序再次扫描就绪队列时,它就可能被选中投入运行。

Claims (1)

1.一种java操作***中定时任务的实现方法,其特征在于:
1)基本数据结构
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
根据任务的状态,将实时任务的状态分成运行状态、就绪状态、挂起状态、潜伏状态
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销以后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
④任务控制块
任务控制块是任务的标志,任务***根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;
任务控制块是表征任务存在的唯一实体,当任务***收回了任务的任务控件块后,任务就被撤销了,当建立一个新任务时,任务***为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于***之中;任务***对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:活动队列、就绪队列、空队列;
⑥用户任务排队表
实时任务将它与时间有关的信息记录在用户任务排队表;
⑦定时任务链
一个作业中所有定时任务的任务控制块串成一个链,链中各定时任务任务控制块的排队原则为:根据任务定时时间由小到大顺序排列,定时时间相同的任务的任务控制块的排列次序取决于任务请求排队时间的先后;
2)定时任务的执行过程
(1)***定时任务链
①操作***扫描用户任务排队表;
②如果任务排列表的时间迟于当前***时间,执行,进行***操作,否则退出;
③在定时任务链中查找要***的位置;
④***用户任务排队表;
(2)唤醒定时任务
时钟中断程序负责唤醒延迟链上的到时任务,将它们解挂,并从延迟链上撤下使之处于就绪状态,步骤如下:
①时钟中断程序扫描定时任务链
②是否有到时任务,如果没有则退出
③有到时的任务,将该任务控制块的状态设为就绪状态
④将该任务控制块***到就绪队列中。
CN 200610050254 2006-04-07 2006-04-07 Java操作***中定时任务的实现方法 Pending CN1828541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610050254 CN1828541A (zh) 2006-04-07 2006-04-07 Java操作***中定时任务的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610050254 CN1828541A (zh) 2006-04-07 2006-04-07 Java操作***中定时任务的实现方法

Publications (1)

Publication Number Publication Date
CN1828541A true CN1828541A (zh) 2006-09-06

Family

ID=36946952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610050254 Pending CN1828541A (zh) 2006-04-07 2006-04-07 Java操作***中定时任务的实现方法

Country Status (1)

Country Link
CN (1) CN1828541A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
CN102129393A (zh) * 2011-03-09 2011-07-20 南京恩瑞特实业有限公司 通用定时任务管理的实现方法
CN102521045A (zh) * 2011-12-31 2012-06-27 南京航空航天大学 非实时多任务调度内核实现方法
CN104679582A (zh) * 2013-11-27 2015-06-03 英特尔公司 对于显示设备的命令调度
CN105467873A (zh) * 2015-11-27 2016-04-06 北京友信宏科电子科技有限公司 一种车辆交流电机控制器的任务调度方法及装置
CN101615131B (zh) * 2008-06-27 2016-04-27 中国电信股份有限公司 定时任务信息的存储方法和装置以及定时任务的调度方法
CN106020951A (zh) * 2016-05-12 2016-10-12 中国农业银行股份有限公司 一种任务调度方法及***
CN106354557A (zh) * 2016-08-29 2017-01-25 佛山市美的清湖净水设备有限公司 基于时间片任务调度***的家电及其控制方法、控制器
WO2017091963A1 (zh) * 2015-11-30 2017-06-08 华为技术有限公司 一种信息处理方法及装置
CN107634993A (zh) * 2017-09-05 2018-01-26 腾讯科技(深圳)有限公司 一种信息推送事件处理方法、装置及电子设备
CN107704323A (zh) * 2017-11-07 2018-02-16 广州探迹科技有限公司 一种网络爬虫任务调度方法及装置
CN108874513A (zh) * 2017-05-11 2018-11-23 北京京东尚科信息技术有限公司 处理定时任务的方法、***、电子设备和计算机可读介质
CN109598480A (zh) * 2018-11-26 2019-04-09 泰康保险集团股份有限公司 定时任务执行时间的管理方法及装置
WO2019080233A1 (zh) * 2017-10-24 2019-05-02 平安科技(深圳)有限公司 定时任务处理方法、装置、存储介质和计算机设备
CN109842674A (zh) * 2018-12-28 2019-06-04 深圳竹云科技有限公司 一种多语言交互跨平台的延迟队列实现方法
CN110109741A (zh) * 2019-05-09 2019-08-09 北京旷视科技有限公司 循环任务的管理方法、装置、电子设备及存储介质
CN111258240A (zh) * 2018-11-30 2020-06-09 杭州海康威视数字技术股份有限公司 一种控制云台的方法及装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615131B (zh) * 2008-06-27 2016-04-27 中国电信股份有限公司 定时任务信息的存储方法和装置以及定时任务的调度方法
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
CN102129393A (zh) * 2011-03-09 2011-07-20 南京恩瑞特实业有限公司 通用定时任务管理的实现方法
CN102521045A (zh) * 2011-12-31 2012-06-27 南京航空航天大学 非实时多任务调度内核实现方法
US10339625B2 (en) 2013-11-27 2019-07-02 Intel Corporation Command scheduler for a display device
CN104679582A (zh) * 2013-11-27 2015-06-03 英特尔公司 对于显示设备的命令调度
CN105467873A (zh) * 2015-11-27 2016-04-06 北京友信宏科电子科技有限公司 一种车辆交流电机控制器的任务调度方法及装置
CN105467873B (zh) * 2015-11-27 2018-04-17 北京友信宏科电子科技有限公司 一种车辆交流电机控制器的任务调度方法及装置
CN108292236A (zh) * 2015-11-30 2018-07-17 华为技术有限公司 一种信息处理方法及装置
WO2017091963A1 (zh) * 2015-11-30 2017-06-08 华为技术有限公司 一种信息处理方法及装置
CN106020951A (zh) * 2016-05-12 2016-10-12 中国农业银行股份有限公司 一种任务调度方法及***
CN106354557A (zh) * 2016-08-29 2017-01-25 佛山市美的清湖净水设备有限公司 基于时间片任务调度***的家电及其控制方法、控制器
CN108874513A (zh) * 2017-05-11 2018-11-23 北京京东尚科信息技术有限公司 处理定时任务的方法、***、电子设备和计算机可读介质
CN107634993A (zh) * 2017-09-05 2018-01-26 腾讯科技(深圳)有限公司 一种信息推送事件处理方法、装置及电子设备
WO2019080233A1 (zh) * 2017-10-24 2019-05-02 平安科技(深圳)有限公司 定时任务处理方法、装置、存储介质和计算机设备
CN107704323A (zh) * 2017-11-07 2018-02-16 广州探迹科技有限公司 一种网络爬虫任务调度方法及装置
CN109598480A (zh) * 2018-11-26 2019-04-09 泰康保险集团股份有限公司 定时任务执行时间的管理方法及装置
CN111258240A (zh) * 2018-11-30 2020-06-09 杭州海康威视数字技术股份有限公司 一种控制云台的方法及装置
CN109842674A (zh) * 2018-12-28 2019-06-04 深圳竹云科技有限公司 一种多语言交互跨平台的延迟队列实现方法
CN110109741A (zh) * 2019-05-09 2019-08-09 北京旷视科技有限公司 循环任务的管理方法、装置、电子设备及存储介质
CN110109741B (zh) * 2019-05-09 2021-08-27 北京旷视科技有限公司 循环任务的管理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN1828541A (zh) Java操作***中定时任务的实现方法
CN1154928C (zh) 用于多任务设施信息处理***的资源管理方法和设备
CN1038160C (zh) 多处理器数据存储器共享
CN100346307C (zh) Java操作***中实时任务调度的实现方法
CN1908903A (zh) 执行作业步的***和方法以及计算机产品
CN100342342C (zh) 支持多进程的Java虚拟机实现方法
CN1008484B (zh) 处理机输入/输出和中断过滤器
CN1862515A (zh) 数据传送装置、数据传送方法和程序
CN100341281C (zh) 一种在网络***中实现任务管理的方法
CN1316074A (zh) 中断/软件控制的线程处理
CN1794168A (zh) 信息处理设备、信息处理方法、半导体器件及计算机程序
CN1828543A (zh) Java操作***中实时任务调度方法
CN1892630A (zh) Dma数据传送装置、半导体集成电路装置及数据传送方法
CN1658194A (zh) 文件***控制装置和文件***控制方法
CN1855068A (zh) 测试多线程软件并发冲突的方法
CN1889048A (zh) 组件的实现方法以及***
CN1172986A (zh) 实时控制***
CN101052031A (zh) 苹果计算机与无线通讯终端进行数据交互的方法
CN1156860A (zh) 计算机***
CN111158875B (zh) 基于多模块的多任务处理方法、装置及***
CN1245685C (zh) 基于构件的操作***动态设备驱动的方法
CN1519735A (zh) 嵌入式实时操作***的进程调度方法
CN101030884A (zh) 电信网络资源oss***中独占性资源的调度方法
CN1096025C (zh) 信息处理装置及多任务控制方法
CN1851819A (zh) 存储设备的测试方法及测试装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication