CN101464811B - 多任务监控管理系统 - Google Patents
多任务监控管理系统 Download PDFInfo
- Publication number
- CN101464811B CN101464811B CN2008102417292A CN200810241729A CN101464811B CN 101464811 B CN101464811 B CN 101464811B CN 2008102417292 A CN2008102417292 A CN 2008102417292A CN 200810241729 A CN200810241729 A CN 200810241729A CN 101464811 B CN101464811 B CN 101464811B
- Authority
- CN
- China
- Prior art keywords
- subtask
- module
- main task
- manager
- subtasks
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种多任务监控管理系统,用于监控其所属应用程序创建的子任务。多任务监控管理系统包括主任务模块、子任务管理器和多个子任务模块。其中,子任务管理器用于采集多个子任务模块的心跳信号,并控制所述主任务模块与多个子任务模块的通信。本多任务监控管理系统将子任务通过统一接口创建;子任务管理器定时检测各子任务心跳,子任务心跳异常时,主动通知主任务,由主任务对异常的子任务及时进行处理。另外,在主任务模块和子任务管理器之间使用主动子任务事件通知接口,从而可实现主任务和子任务管理器之间发送的信号进行分类、筛选后进行相应处理,不需要主任务不断查询子任务状态,提高了监控管理的效率,使得在子任务出现异常情况时,能快速的响应和处理。
Description
技术领域
本发明涉及监控管理系统,更具体地说,涉及一种多任务监控管理系统。
背景技术
规模稍大的应用软件和嵌入式软件(以下简称应用程序),一般需要同时完成多个任务,任务都采用多进程或者多线程方式实现。目前桌面和嵌入式操作系统(以下简称操作系统)都提供进程process和线程thread的创建、停止和同步方法,操作系统内部对进程和线程进行管理,但操作系统没有给应用程序提供对本身创建的子进程或子线程(以下简称子任务)进行统一管理的接口,应用程序无法知道当前各子任务的运行状况。当需要时,应用程序的主任务都是采用逐个查询子任务的运行状态来了解子任务是否在运行。当子任务较多时,要了解所有子任务状态,是很困难的事情,一般的应用程序都创建任务,任务的管理全部交给操作系统。甚至,某个子任务异常终止了,主任务也不知道。
另外,在嵌入式产品里,涉及到硬件看门狗的喂狗操作。硬件看门狗目的是监测应用程序的正常运行,应用程序必须在指定时间间隔内喂狗,否则,看门狗将重启整个硬件系统。在有多个子任务的应用程序里,如果每个任务都去喂一个看门狗,则某些任务即使异常,看门狗也不能发现。
发明内容
本发明要解决的技术问题在于,针对现有技术的应用程序不能在运行过程中对自身的子任务进行监控管理,不能及时发现子任务的异常,以及在具有看门狗的系统中,不能使得看门狗及时发送异常情况等缺陷,提供一种多任务监控管理系统。
本发明解决其技术问题所采用的技术方案是:构造一种多任务监控管理系统,用于监控其所属的应用程序,所述应用程序运行于主机操作系统上,所述主机操作系统包括主机任务管理器,其用于以多任务的方式管理主机资源和各个应用程序,所述多任务监控管理系统包括主任务模块、子任务管理器和多个子任务模块,其中,
所述子任务管理器用于采集多个子任务模块的心跳信号,并控制所述主任务模块与多个子任务模块的通信,以实现主任务模块通过一个子任务管理器处理子任务管理事件。
在本发明所述的多任务监控管理系统中,所述子任务管理事件包括子任务管理器心跳、子任务创建、子任务停止和子任务无响应;在主任务模块和子任务管理器之间设置有四个通信接口,分别用于接收心跳信号、发送创建子任务信号和停止子任务信号、及接收子任务无响应信号。
在本发明所述的多任务监控管理系统中,在所述子任务管理器中设置有存储模块,用于存储子任务模块的数据结构。
在本发明所述的多任务监控管理系统中,在主任务模块中设置有看门狗接口,当主任务模块接收到的每一个心跳信号均正常时,主任务模块通过看门狗接口向主机看门狗发送喂狗信号。
在本发明所述的多任务监控管理系统中,每一个子任务模块均映射到主机任务管理器中,以实现主机操作系统对各个应用程序及其子任务的统一调度。
实施本发明的多任务监控管理系统,具有以下有益效果:子任务通过统一接口创建(即子任务管理器),创建时在子任务管理器中登记创建成功的子任务数据结构;子任务运行时在可设定的时间间隔内发出心跳信号;子任务管理器定时检测各子任务心跳,子任务心跳异常时,主动通知主任务,由主任务对异常的子任务及时进行停止处理。正常时,子任务管理器也给主任务提供心跳信号,在主任务检测到每一个子任务都发出正常的心跳信号时,主任务可以进行喂狗操作,从而避免了每个子任务单独进行喂狗时,看门狗可能发现不了异常应用程序的失误。另外,在主任务模块和子任务管理器之间设置四个通信接口,从而可实现主任务和子任务管理器之间发送的信号进行分类、排序,然后以不同的接口处理,不需要进行子任务状态轮巡,提高了监控管理的效率,使得在子任务出现异常情况时,能快速的响应和处理。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明多任务监控管理系统的原理框图;
图2是图1所示的主任务模块的工作流程图;
图3是图1所示的子任务管理的工作流程图;
图4是图1所示的子任务模块的工作流程图。
具体实施方式
任务是操作系统参与CPU调度的单位,不同的任务有自己的任务上下文(Context)和堆栈空间,各任务之间共享内存,每个任务都有相应的任务入口函数,不同的任务可以有相同的任务入口函数。每个任务都有优先级,操作系统一般采用优先级抢占的调度策略,在多个任务就绪的情况下,只有优先级最高的就绪任务能够获得CPU运行。在操作系统环境下,整个应用程序按任务被分割成若干个独立的软件模块,每个模块处理应用程序的一部分功能,各个软件模块功能相对独立,藕合性尽量地小并通过多任务通讯机制,如:共享内存、消息队列、管道、信号量等,完成模块之间的同步和协调工作。但是,这种按照任务来划分软件模块的方法需要上层应用充分了解多任务操作系统软件的原理和机制,实际实现中,需要综合考虑任务间通讯、临界资源的保护、同步、互斥、任务间死锁等因素。如图1所示,本技术方案的发明点于将对应用程序的监控管理从操作系统中分离出来,由各个应用程序对自身的子任务进行监控管理,而操作系统仅仅负责对应用程序及其子任务的运行管理,以完成应用程序的功能,因此本发明在每个应用程序中设置有多任务监控管理系统,其包括主任务模块、子任务管理器和多个子任务模块,其中,应用程序启动后,由主任务模块对子任务管理器进行初始化,接着通过统一的接口即子任务管理器,进行子任务模块的创建,在该过程中主任务管理模块将通过专门发送子任务创建信号的接口,将子任务创建信号发送到子任务管理器,由子任务管理器执行子任务创建事件,另外在创建子任务模块后,同时主任务模块将子任务模块的数据结构存储在子任务管理的存储模块中,在具体实施时,该存储模块可以设计为一数组;同时,主任务模块将子任务模块映射到主机操作系统的主机任务管理器中,并且主任务模块将准备好相应的数据或者缓冲区等,调用主机操作系统相应的API如WriteFile、ReadFile、DeviceIoControl等,对设备进行读写等各种操作,由此主机操作系统为实现各个应用程序的多任务间的数据交换,将使得相互通信的任务间共享某些数据结构或存储区,并且提供共享文件,以字符流形式将大量的数据写入共享文件,而接收输出的任务可从共享文件中接收数据,以实现动态通信;另外,在消息传递中,任务间的数据交换以消息为单位,由主机操作系统的消息通信机构统一管理一组空闲的消息缓冲区,一个任务要向另一个任务发送消息,先要向主机操作系统申请一个缓冲区,填写了消息正文和其他有关的特征和控制信息后,通过消息通信机构将该消息发送到接收任务的消息队列中。接收任务在一个适当时机从消息队列中取出一个消息,读取所有的信息后,再释放消息缓冲区。通过以上的过程主机操作系统即实现了对应用程序的运行管理。
在子任务管理方法中,主任务模块和子任务管理器之间关键的任务管理接口,定义如下表1:
表1
而在应用程序的运行过程中,子任务模块将在给定的时间间隔内产生心跳信号,由子任务管理器用于采集多个子任务模块的心跳信号,子任务管理器将接收到的各个子任务模块的心跳信号,进行分析处理,检测子任务是否运行正常,以专门发送子任务事件信号的通信接口发送到主任务模块,主任务模块将对各个子任务事件信号进行分析处理,当所有的子任务状态均为正常时,此时如果该主机具有看门狗的话,主任务模块将通过看门狗接口将喂狗信号发送到看门狗,以表明该应用程序处于正常运行状态;如果当存在异常的子任务时,子任务管理器将把子任务无响应的事件通知给主任务,主任务模块将可以指示子任务管理器调用操作系统的任务终止接口来终止异常子任务,同时删除内部的子任务数据结构,也可重新启动应用程序甚至复位整个系统,避免应用程序系统运行的进一步差错。并控制所述主任务模块与多个子任务模块的通信,以实现主任务模块通过一个子任务管理器处理子任务管理事件。
如图2所示,在主任务模块的工作流程中,系统上电,运行应用程序,主任务模块将调用RunThread_ManagerInit,初始化子任务管理器,完成子任务管理器的初始化后,在运行应用程序的过程中,主任务模块就可通过子任务管理器调用RunThread_Create,进行子任务模块的创建,并在子任务管理器中存储其数据结构,同时主任务模块在工作过程中,根据子任务管理器发送的消息,对相应的子任务管理事件进行处理。如果主任务模块需要创建多个子任务模块时,就会重复以上操作;如果主任务模块完成任务后,就会调用RunThread_ManagerExit,退出各个子任务,结束操作。
如图3所示,在子任务管理器的工作过程中,初始化子任务管理器后,子任务管理器就会定时检测子任务模块的心跳信号,在具体工作时,通过调用Main_RunThreadEventHandler,将心跳信号和子任务管理事件发送到主任务模块。
如图4所示,在子任务模块的工作过程中,子任务模块被创建后,一方面会调用RunThread_Heartbeat,定时向子任务管理器发送心跳信号,同时处理自身的子任务功能。
总之,本发明将应用程序的工作过程分为运行管理和监控管理,其中,一方面通过操作系统对应用程序进行运行管理,实现了操作系统对各个应用程序及其子任务进行统一的调度以完成应用程序的功能,另一方面通过应用程序自身的多任务监控系统进行监控管理,使得应用程序自身能在其子任务出现异常时,能及时的发现异常,从而停止异常的子任务,避免了系统进一步的运行错误。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
Claims (4)
1.一种多任务监控管理系统,用于监控其所属的应用程序,所述应用程序运行于主机操作系统上,所述主机操作系统包括主机任务管理器,其用于以多任务的方式管理主机资源和各个应用程序,其特征在于,所述多任务监控管理系统包括主任务模块、子任务管理器和多个子任务模块,其中,
所述子任务管理器用于采集多个子任务模块的心跳信号,并控制所述主任务模块与多个子任务模块的通信,以实现主任务模块通过一个子任务管理器处理子任务管理事件;
所述子任务管理事件包括子任务管理器心跳、子任务创建、子任务停止和子任务无响应;在主任务模块和子任务管理器之间设置有四个通信接口,分别用于主任务模块接收心跳信号、发送创建子任务信号和停止子任务信号、及接收子任务无响应信号。
2.根据权利要求1所述的多任务监控管理系统,其特征在于,在所述子任务管理器中设置有存储模块,用于存储子任务模块的数据结构。
3.根据权利要求1所述的多任务监控管理系统,其特征在于,在主任务模块中设置有看门狗接口,当主任务模块接收到的每一个心跳信号均正常时,主任务模块通过看门狗接口向主机看门狗发送喂狗信号。
4.根据权利要求3所述的多任务监控管理系统,其特征在于,每一个子任务模块均映射到主机操作系统中,以实现主机操作系统对各个应用程序及其子任务的统一调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102417292A CN101464811B (zh) | 2008-12-29 | 2008-12-29 | 多任务监控管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102417292A CN101464811B (zh) | 2008-12-29 | 2008-12-29 | 多任务监控管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464811A CN101464811A (zh) | 2009-06-24 |
CN101464811B true CN101464811B (zh) | 2012-07-04 |
Family
ID=40805404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102417292A Active CN101464811B (zh) | 2008-12-29 | 2008-12-29 | 多任务监控管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101464811B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674465B (zh) * | 2009-10-28 | 2011-06-29 | 广东威创视讯科技股份有限公司 | 一种视频多任务监控处理方法及系统 |
CN101980171B (zh) * | 2010-10-08 | 2013-05-01 | 广东威创视讯科技股份有限公司 | 一种软件系统故障自恢复方法及其使用的软件看门狗系统 |
CN102004683B (zh) * | 2010-11-17 | 2013-03-20 | 广东威创视讯科技股份有限公司 | 一种嵌入式设备的在线诊断系统及其方法 |
CN102163161B (zh) * | 2011-04-01 | 2018-09-25 | 奇智软件(北京)有限公司 | 一种进程管理方法及装置 |
CN103246589B (zh) * | 2012-02-03 | 2015-07-15 | 京信通信系统(中国)有限公司 | 一种多线程的监控方法及装置 |
CN103853625A (zh) * | 2012-12-06 | 2014-06-11 | 苏州工业园区新宏博通讯科技有限公司 | 多任务看门狗的实现装置和方法 |
CN103036778B (zh) * | 2012-12-18 | 2018-05-01 | 上海斐讯数据通信技术有限公司 | 一种家庭网关设备中防止设备僵死的装置和方法 |
CN105022662B (zh) * | 2014-04-22 | 2019-04-09 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
CN104360913B (zh) * | 2014-11-04 | 2017-10-27 | 长园深瑞继保自动化有限公司 | 用于计算机操作系统的监控模块 |
CN105095046B (zh) * | 2015-07-14 | 2019-03-05 | 北京奇虎科技有限公司 | 任务监控的方法及装置 |
CN105117300A (zh) * | 2015-08-12 | 2015-12-02 | 浪潮(北京)电子信息产业有限公司 | 一种实现heartbeat高可用性的装置 |
CN105654582A (zh) * | 2015-12-28 | 2016-06-08 | 张刚 | 一种户外多媒体信息显示安全防护方法 |
CN106874183B (zh) * | 2016-07-05 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 业务异常检测方法及装置 |
CN106407032A (zh) * | 2016-09-18 | 2017-02-15 | 深圳震有科技股份有限公司 | 一种基于多核系统的硬件看门狗控制方法及系统 |
CN106598767B (zh) * | 2016-11-29 | 2019-07-09 | 积成电子股份有限公司 | 基于看门狗技术的智能变电站监控服务控制台实现方法 |
CN107066286B (zh) * | 2016-12-29 | 2020-07-24 | 河北远东通信系统工程有限公司 | 一种通信系统中具有高扩展性的通用软件架构实现方法 |
CN109582396B (zh) * | 2017-09-25 | 2022-02-18 | 北京国双科技有限公司 | 一种任务状态处理方法、装置、系统及存储介质 |
CN110232005B (zh) * | 2018-03-06 | 2023-08-18 | 阿里巴巴(中国)有限公司 | 一种应用软件的监控方法和装置 |
CN109992388B (zh) * | 2019-04-08 | 2021-04-13 | 中核控制系统工程有限公司 | 一种用于核电厂安全级设备软件多任务管理系统 |
CN112052107A (zh) * | 2019-06-06 | 2020-12-08 | 西安诺瓦星云科技股份有限公司 | 基于android操作系统的监控装置、android终端和多媒体播放器 |
CN111488214B (zh) * | 2020-04-17 | 2022-07-12 | 上海智殷自动化科技有限公司 | 一种实时系统下多任务之间的通信方法 |
CN112822173B (zh) * | 2020-12-31 | 2023-05-09 | 平安科技(深圳)有限公司 | 基于分层鉴权的请求处理方法、装置及存储介质 |
CN114461415A (zh) * | 2021-12-27 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 消息数据处理方法、装置、计算机设备及存储介质 |
WO2024171526A1 (ja) * | 2023-02-14 | 2024-08-22 | 株式会社日立製作所 | 保安装置および車両 |
-
2008
- 2008-12-29 CN CN2008102417292A patent/CN101464811B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101464811A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101464811B (zh) | 多任务监控管理系统 | |
US10095547B1 (en) | Stream processing at scale | |
EP3786793A1 (en) | Task processing method and device, and computer system | |
CN102073572B (zh) | 用于多核处理器的监控方法及系统 | |
US20080288747A1 (en) | Executing Multiple Instructions Multiple Data ('MIMD') Programs on a Single Instruction Multiple Data ('SIMD') Machine | |
US20090094605A1 (en) | Method, system and program products for a dynamic, hierarchical reporting framework in a network job scheduler | |
WO2020232875A1 (zh) | 一种基于Actor模型的任务调度方法、装置及存储介质 | |
CN102567111A (zh) | 一种异步过程调用的方法、系统和终端设备 | |
CN102902589A (zh) | 一种集群mic作业的管理及调度方法 | |
CN103941649A (zh) | 多轴运动卡控制系统的控制方法 | |
CN101051280A (zh) | 智能卡嵌入式操作系统及其控制方法 | |
CN101901159B (zh) | 一种多核CPU加载Linux操作系统的方法及系统 | |
CN101661386B (zh) | 多硬件线程处理器的业务处理装置及其业务处理方法 | |
US10942771B2 (en) | Method, apparatus and system for multi-module scheduling | |
CN102457578B (zh) | 一种基于事件机制的分布式网络监控方法 | |
CN112579267A (zh) | 一种去中心化大数据作业流调度方法及装置 | |
EP4361808A1 (en) | Resource scheduling method and device and computing node | |
CN101424941A (zh) | 一种控制实现方法和系统 | |
CN111176806A (zh) | 一种业务处理方法、装置及计算机可读存储介质 | |
US20220075628A1 (en) | System and Method for Supervising Processes Among Embedded Systems | |
CN117389625B (zh) | 基于主动中断指令的进程同步方法、系统、设备及介质 | |
CN106843890B (zh) | 基于智能决策的传感器网络、节点及其运行方法 | |
CN106909368B (zh) | 一种实现快速业务开发的服务端业务层逻辑架构 | |
CN102612157A (zh) | 无线传感器网络的嵌入式实时调度系统 | |
WO2001016740A2 (en) | Efficient event waiting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518055 No. 1001 Nanshan Chi Park B2 building 1-4 floor, building 6-10 Patentee after: Vitamin Technology Co., Ltd. Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong, Shenzhen Branch Road, No. Patentee before: Aimosheng Network Energy Source Co., Ltd. |
|
CP03 | Change of name, title or address |