CN105589760A - 一种任务超时保护方法 - Google Patents

一种任务超时保护方法 Download PDF

Info

Publication number
CN105589760A
CN105589760A CN201510962092.6A CN201510962092A CN105589760A CN 105589760 A CN105589760 A CN 105589760A CN 201510962092 A CN201510962092 A CN 201510962092A CN 105589760 A CN105589760 A CN 105589760A
Authority
CN
China
Prior art keywords
task
monitored
processing
algorithm
overtime
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
CN201510962092.6A
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.)
CETC 11 Research Institute
Original Assignee
CETC 11 Research Institute
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 CETC 11 Research Institute filed Critical CETC 11 Research Institute
Priority to CN201510962092.6A priority Critical patent/CN105589760A/zh
Publication of CN105589760A publication Critical patent/CN105589760A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种任务超时保护方法,所述方法包括:创建同步任务、被监控的处理任务,并为每个被监控的处理任务创建对应的监控任务;在周期时间到达时,调度同步任务,同步任务检测各被监控的处理任务的超时标志的状态,若超时标志未置位,则触发该被监控的处理任务;被监控的处理任务将其维护的超时标志置位后执行数据处理算法,并在数据处理算法执行完成后,对超时标志进行去置位处理;否则,触发对应的监控任务;监控任务对系统状态数据进行保存,并删除其监控的处理任务,以及调整数据处理算法,以降低算法处理时间,并基于调整后的数据处理算法重新创建被监控的处理任务。本发明在软件层面实现了任务的超时保护。

Description

一种任务超时保护方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务超时保护方法。
背景技术
嵌入式系统多为实时处理系统,这就要求系统在规定时限要求内及时给出响应,例如在基于图像的目标检测及跟踪系统中,目标检测及跟踪处理任务必须满足系统实时处理要求,否则将出现目标检测或跟踪位置滞后甚至无法给出正确输出的问题。
在嵌入式实时处理系统中,一些算法的处理时间是基本固定的,与采集的数据的复杂程度无关,这类算法的处理时间主要与所采用的处理器的主频有关,因此在设计阶段就可以保证系统的实时性能,但是实际的系统为了满足用户各种各样的需求,其处理算法的时间多与输入数据的复杂程度有关,这样当输入数据复杂程度偏高时,数据处理任务就可能存在超时的问题,在超时情况下,如何保证系统后续给出必要的有意义的输出,并保证良好的用户体验,这将是软件设计人员不得不面临的难题。
目前,实现任务超时保护的方案一种是通过定时器实现对特定软件模块的监控,这种方式在进入软件模块前启动一个定时器,在退出软件模块前重置该定时器,如果定时器未在指定时间内重置(即发生超时),该定时器将产生一个中断,该中断服务程序将执行相应的任务超时保护操作;另一种是通过特定硬件电路(如看门狗)实现系统在超时状态下的全局复位,来达到重启系统的目的。前者受限于系统中定时器的数量,而后者虽然可以很好的实现正确的系统状态恢复,但是对于包含外设较多的嵌入式系统,在复位后,系统将需要重新完成相关设备的初始化,这不但影响了系统的响应时间,同时在输入数据无变化的条件下,任务重启后,依然会存在超时问题,这不能从根本上解决软件超时的问题,此外该方式主要受看门狗电路控制,也不能实现任务超时的工作现场的保护,这样一些关键的状态信息将不能被保存下来,不利于对超时处理原因的后续分析。可见,现有的基于硬件的任务超时保护的方案存在各种弊端,不能满足使用需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种解决上述问题的任务超时保护方法,该方法在软件层面实现了任务的超时保护。
具体的,本发明提供的任务超时保护方法,应用于嵌入式实时操作系统中,包括:
创建同步任务、被监控的处理任务,并为每个被监控的处理任务创建对应的监控任务;其中,所述同步任务为周期任务,各所述被监控的处理任务均维护一初始状态为未置位的超时标志;
在周期时间到达时,调度所述同步任务,所述同步任务检测各被监控的处理任务的超时标志的状态,针对每个被监控的处理任务,若其超时标志未置位,则触发该被监控的处理任务;否则,触发对应的监控任务;
所述被监控的处理任务将其维护的超时标志置位后执行数据处理算法,并在数据处理算法执行完成后,对超时标志进行去置位处理;
所述监控任务对系统状态数据进行保存,并删除其监控的处理任务。
可选地,本发明所述方法中,所述监控任务删除其监控的处理任务后,还包括:调整数据处理算法,以降低算法处理时间,并基于调整后的数据处理算法重新创建被监控的处理任务。
可选地,本发明所述方法中,所述同步任务的运行周期与系统外部硬件中断的周期一致。
可选地,本发明所述方法中,所述监控任务通过对数据处理算法中影响处理时间的一个或多个阈值参数进行调整的方式,调整数据处理算法,以降低算法处理时间。
可选地,本发明所述方法中,所述监控任务保存的系统状态数据包括:本监控任务监控的处理任务所运行的数据处理算法中影响运行时间的阈值参数。
可选地,本发明所述方法中,所述监控任务保存的系统状态数据,还包括:系统寄存器的数据。
本发明有益效果如下:
a.不依赖于特定的定时器硬件资源;
b.不依赖于额外的硬件电路,降低了硬件成本;
c.可以保存发生超时后的关键状态信息,方便后续对任务超时的原因进行分析,为后续的处理算法优化提供关键数据;
d.可以根据超时状态,调整相关参数,并可能从根本上解决在此状态下任务超时的问题。
附图说明
图1为本发明实施例中同步任务的执行流程图;
图2为本发明实施例中处理任务的执行流程图;
图3为本发明实施例中监控任务的执行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是结合嵌入式实时处理系统中存在的任务超时问题,采用基于软件的方式,实现一种任务超时保护方法。大部分嵌入式处理系统都满足如下的数据流,数据采集-数据处理-数据输出,在这种数据流驱动的系统中,为了提高系统的实时性能,多使用外部中断事件触发数据处理任务,对于某一特定的系统,该中断的周期是固定的,该中断的周期即是系统的实时处理时限要求,即数据处理流程应在下次中断到来前完成已采集数据的处理,因此本发明基于这种特点,建立一种任务超时保护机制。
具体的,本发明提供的任务超时保护方法要求所开发的软件基于嵌入式实时操作系统RTOS(RealTimeOperationSystem),并且所用的嵌入式实时操作系统支持基于优先级的多任务处理,具体本发明实施例所述方法包括以下步骤:
a,初始化系统硬件及软件资源;
b,创建同步任务,处理任务,并为关键的处理任务(被监控的处理任务)分别创建任务超时保护监控任务;
c,进入实时操作系统的任务调度器,调度器将根据操作系统的任务调度规则对如下三个任务进行调度;
d,调度同步任务。对于同步任务,其实现形式可以是硬件中断服务程序,或者是中断回调函数,它对应相应的外部同步中断,它是一个周期任务,其周期依赖于外部硬件中断的周期。进入此任务时,表明处理数据已经准备好,它将根据超时标志状态触发被监控的处理任务或监控任务,若不超时,则触发被监控的处理任务,进入步骤e,若超时,则触发监控任务,进入步骤f,三个任务中,该任务优先级最高;
e,调度处理任务。对于被监控的处理任务,该任务为系统的核心任务,如果超时标志未设置(默认未设置),该任务将被同步任务触发,进入该任务后,该任务将首先设置超时标志,然后执行数据处理算法,数据处理算法执行完成后,将清除超时标志。这里,只要数据处理不发生超时现象,将总能执行超时标志清除操作,这样监控任务常态将处于阻塞状态,而发生超时后,该超时标志将不能在进入同步任务前执行清除操作,三个任务中,该任务优先级最低;
f、调度监控任务。对于监控任务,该任务针对关键处理任务实现了系统的任务超时保护机制,正常工作时,该任务常态处于阻塞状态,当被监控的处理任务发生超时后,该任务由同步任务触发,进入该任务后,将首先保存系统的关键状态信息(为了实现关键信息的保存及后续的读出,需要硬件结构上包含非易失性存储器或数据输出接口,例如,EEPROM、FLASH等存储器或串口等数据通信接口),然后删除超时的被监控的处理任务,之后调整超时的被监控的处理任务执行的数据处理算法,以降低算法处理时间,最后重新创建处理任务,三个任务中,该任务优先级次之。
本实施例中,保存的系统的关键状态信息包括:本监控任务监控的处理任务所运行的数据处理算法中影响运行时间的阈值参数。优选地,还包括:系统寄存器的数据。其中,保存系统寄存器数据的目的是防止处理任务超时导致系统崩溃。
进一步地,本实施例中,监控任务通过对数据处理算法中影响处理时间的一个或多个阈值参数进行调整的方式,调整数据处理算法,以降低算法处理时间。
其中,监控任务调整的阈值参数为监控任务自身根据保存的系统状态数据,确定的一个或多个阈值参数;或者,为顶层用户根据保存的系统状态数据分析得到的一个或多个阈值参数,并通过命令的方式(不仅限于该方式)被监控任务获取。
为了更清楚的阐述本发明,下面分别对上述三个任务的具体执行流程进行说明。
如图1所示,为系统中同步任务的执行流程图,其执行流程包括:
步骤100,同步任务由于在等待系统资源,处于阻塞状态;
步骤101,同步任务如果得到系统资源,将被触发,否则继续处于阻塞状态;
步骤102,进入同步任务后,该任务将首先检测被监控的处理任务的超时标志;
步骤103,如果发现超时标志未被置位,说明未发生超时,将执行步骤104,否则将执行步骤105;
步骤104,被监控的处理任务将被触发,从而被监控的处理任务后续将得到操作系统的调度;
步骤105,监控任务被触发,从而监控任务后续将得到操作系统的调度;
步骤106,同步任务结束操作,将进入阻塞状态,继续等待下一次系统资源的到来。
如图2所示,为系统中处理任务的执行流程图,其执行流程包括:
步骤200,被监控的处理任务由于在等待系统资源,处于阻塞状态;
步骤201,被监控的处理任务如果得到系统资源,将被触发,否则继续处于阻塞状态;
步骤202,进入被监控的处理任务后,被监控的处理任务将首先设置超时标志;
步骤203,被监控的处理任务将运行核心的数据处理算法;
步骤204,被监控的处理任务将清除超时标志;
步骤205,被监控的处理任务结束操作,将进入阻塞状态,继续等待下一次系统资源的到来。
如图3所示,为系统中监控任务的执行流程图,其执行流程包括:
步骤300,监控任务由于在等待系统资源,处于阻塞状态;
步骤301,监控任务如果得到系统资源,将被触发,否则继续处于阻塞状态;
步骤302,进入监控任务后,该任务将首先保护系统关键数据;
步骤303,监控任务将删除被监控的处理任务;
步骤304,监控任务将调整数据处理算法的一些参数(这里主要是一些影响处理时间的阈值参数),以使算法处理时间得到降低;
步骤305,监控任务结束操作,将进入阻塞状态,继续等待下一次系统资源的到来。
可见,本发明所述方法不依赖于特定的定时器硬件资源,不依赖于额外的硬件电路,降低了硬件成本;并且可以保存发生超时后的关键状态信息,方便后续对任务超时的原因进行分析,为后续的处理算法优化提供关键数据;以及可以根据超时状态,调整相关参数,并可能从根本上解决在此状态下任务超时的问题。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种任务超时保护方法,应用于嵌入式实时操作系统中,其特征在于,包括:
创建同步任务、被监控的处理任务,并为每个被监控的处理任务创建对应的监控任务;其中,所述同步任务为周期任务,各所述被监控的处理任务均维护一初始状态为未置位的超时标志;
在周期时间到达时,调度所述同步任务,所述同步任务检测各被监控的处理任务的超时标志的状态,针对每个被监控的处理任务,若其超时标志未置位,则触发该被监控的处理任务;否则,触发对应的监控任务;
所述被监控的处理任务将其维护的超时标志置位后执行数据处理算法,并在数据处理算法执行完成后,对超时标志进行去置位处理;
所述监控任务对系统状态数据进行保存,并删除其监控的处理任务。
2.如权利要求1所述的方法,其特征在于,所述同步任务的运行周期与系统外部硬件中断的周期一致。
3.如权利要求1所述的方法,其特征在于,所述监控任务在删除处理任务后,还包括:调整数据处理算法,以降低算法处理时间,并基于调整后的数据处理算法重新创建被监控的处理任务。
4.如权利要求3所述的方法,其特征在于,所述监控任务通过对数据处理算法中影响处理时间的一个或多个阈值参数进行调整的方式,调整数据处理算法,以降低算法处理时间。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述监控任务保存的系统状态数据包括:本监控任务监控的处理任务所运行的数据处理算法中影响运行时间的阈值参数。
6.如权利要求5所述的方法,其特征在于,所述监控任务保存的系统状态数据,还包括:系统寄存器的数据。
CN201510962092.6A 2015-12-21 2015-12-21 一种任务超时保护方法 Pending CN105589760A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510962092.6A CN105589760A (zh) 2015-12-21 2015-12-21 一种任务超时保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510962092.6A CN105589760A (zh) 2015-12-21 2015-12-21 一种任务超时保护方法

Publications (1)

Publication Number Publication Date
CN105589760A true CN105589760A (zh) 2016-05-18

Family

ID=55929361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510962092.6A Pending CN105589760A (zh) 2015-12-21 2015-12-21 一种任务超时保护方法

Country Status (1)

Country Link
CN (1) CN105589760A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019056263A1 (zh) * 2017-09-21 2019-03-28 深圳市汇顶科技股份有限公司 计算机存储介质、嵌入式调度方法及系统
CN110895777A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 一种处理超时服务单的方法和装置
CN111597016A (zh) * 2020-04-08 2020-08-28 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端
CN115983393A (zh) * 2022-12-30 2023-04-18 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质
CN115983393B (zh) * 2022-12-30 2024-05-24 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NIALL MURPHY: ""Watchdog Timers"", 《EMBEDDED SYSTEMS PROGRAMMING》 *
RICHARD DAMON: ""FreeRTOS Support Archive"", 《HTTPS://FREERTOS.ORG/FREERTOS_SUPPORT_FORUM_ARCHIVE/FEBRUARY_2012/FREERTOS_DELETING_TASK_AND_CREATING_AGAIN_5049423.HTML》 *
周宇浩崴: ""基于DSP嵌入式平台多路实时视频拼接技术"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
孙启国: "《嵌入式微机监控系统基础理论及应用》", 31 October 2008, 中国铁道出版社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019056263A1 (zh) * 2017-09-21 2019-03-28 深圳市汇顶科技股份有限公司 计算机存储介质、嵌入式调度方法及系统
CN109819674A (zh) * 2017-09-21 2019-05-28 深圳市汇顶科技股份有限公司 计算机存储介质、嵌入式调度方法及系统
CN109819674B (zh) * 2017-09-21 2022-04-26 深圳市汇顶科技股份有限公司 计算机存储介质、嵌入式调度方法及系统
CN110895777A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 一种处理超时服务单的方法和装置
CN111597016A (zh) * 2020-04-08 2020-08-28 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端
CN111597016B (zh) * 2020-04-08 2023-02-14 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端
CN115983393A (zh) * 2022-12-30 2023-04-18 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质
CN115983393B (zh) * 2022-12-30 2024-05-24 北京百度网讯科技有限公司 量子电路任务超时原因确定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10650340B2 (en) Tracking and/or analyzing facility-related activities
CN105468500B (zh) 定时任务监控方法和装置
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
AU2019253844B2 (en) Interactive design and support of a reference architecture
US11544137B2 (en) Data processing platform monitoring
CN111316237B (zh) 用于实时虚拟网络功能编排的方法、装置和系统
DE112005003343B4 (de) Mechanismus für eine befehlssatzbasierte Threadausführung an mehreren Befehlsablaufsteuerungen
CN105589760A (zh) 一种任务超时保护方法
CN105051691A (zh) 调度
CN107807847A (zh) 应用进程的管理方法和终端设备
CN106209412B (zh) 资源监控系统与其方法
US20130111480A1 (en) Smart Task Tracking
GB2578411A (en) Delivering a configuration based workflow
US11044329B2 (en) Client application user experience tracking
CN100517177C (zh) 一种组合式复位系统处理方法及装置
CN101458640B (zh) 可监控多线程状态的系统及其监控方法
TWI608377B (zh) 監控管理系統及方法
US11243603B2 (en) Power management of an event-based processing system
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
WO2020001427A1 (zh) 一种分析任务执行方法、装置、系统及电子设备
US20140245050A1 (en) Power management for host with devices assigned to virtual machines
CN100576175C (zh) 用于多个内核的并行执行的方法和系统
EP2490100A1 (en) Suspendable interrupts for processor idle management
JP7209033B2 (ja) オンラインプログラム更新のためのスケジューリングシステムおよび方法
CN115480924A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160518