进程监控及多级恢复系统和方法

文档序号:6384293阅读:290来源:国知局
专利名称:进程监控及多级恢复系统和方法
技术领域
本发明涉及进程监控及多级恢复系统,以及与该系统对应的进程监控及多级恢复方法,尤其适用于工控用计算机。
背景技术
目前,计算机、工控机以及嵌入式设备上通常都装有操作系统用以运行目标应用程序,当用户需要长时间不间断运行多个应用程序时,往往需要使用监控系统,然而现有监控系统功能有限,很难满足用户需求。最传统的监控系统——主板看门狗仅适用于单任务操作系统,若直接用于多任务操作系统,则无法在某一进程异常时准确地做出重启计算机的反应。为了能在多任务操作系统下仍能利用主板看门狗,已有研究者研发出相应的技术方案,如专利号03157874. 8、授权公告号CN100359481C的中国发明专利公开了一种多任务系统的异常监控装置及其方法,专利号200810241729. 2、授权公告号CN101464811B的中国发明专利公开了一种多任务监控管理系统,均引入了具有汇集功能的中介模块,该中介模块一方面与各进程通信,获知各进程状态,另一方面基于各进程状态决定是否实施喂狗操作,这样即可在某一程序异常时准确地通知主板看门狗重启计算机。然而,当前常用主流操作系统如windows系统、Iinux系统、unix系统均已封锁了直接调用主板看门狗的途径,上述改进的技术方案已经很难适用于当前操作系统。此外,很多服务器、工作站并未采用工控机架构,根本没有主板看门狗,这种情况下无法适用上述改进的技术方案。针对操作系统中的应用程序进行监控,已有研究者研发出相应的技术方案,如专利号200610104447. 9、授权公告号CN100389404C的中国发明专利公开了一种计算机应用程序的监控及异常处理方法,但是该技术方案还存在以下不利之处(I)在每个应用模块启动前,均需建立与之通讯的独立的监控模块,这样做会增大运行开销,加剧系统资源的消耗,不利于保持系统稳定。(2)仅根据应用模块通信反馈来判断应用模块是否异常,若遇到因应用模块自身缺陷导致该应用模块占用资源越来越大且无法回收的情况时,则因该应用模块持续正常反馈而使监控模块无法及时做出处理,很容易导致整个系统因资源耗竭而崩溃,无法实现预期的监控目的。(3)若遇到整个系统意外崩溃,则无法自动实现计算机重启操作,这对需要无人值守的计算机而言无疑是巨大的灾难,严重时会使用户损失惨重;同时,在这种情况下也无法留下任何可供追查的有效线索,只能重启计算机继续运行,并留下很有可能复发的隐患。此外,据申请人了解,对于多任务操作系统(如WINDOWS系统),其系统环境允许多进程、多线程运行,在厂家的自动化应用系统项目运行过程中,由于软件成熟度、软件冲突、驱动冲突等多方面的原因,常常会造成项目中进程死锁而不响应、崩溃但不自动退出、出错、异常退出、内存泄漏、进程CPU占用和内存占用不断增大最终导致操作系统响应变慢和操作系统失效等现象,运行方用户由于对项目技术细节不了解,在现场无法应对,而项目生产厂家平时不在运行现场,鞭长莫及,往往造成现场项目功能运行中断,无法恢复,而等到厂家技术人员赶到现场,又无法得知故障发生的过程和发生的原因,无法具体确定是哪一个进程发生的问题、发生的是哪一方面的问题等等,导致即使厂家人员赶到现场也无法找到现场出问题的具体线索,而现场由于运行情况的复杂性,出现的问题往往是产品和系统出厂前短时间拷机时无法发现的。针对这一技术难题,现有技术中还不存在完美的解决方案。

发明内容
本发明所要解决的技术问题是针对 现有技术存在的问题,提供一种进程监控及多级恢复系统,以及与该系统对应的进程监控及多级恢复方法,可实现对进程的全方位监控,能实施多层次的恢复操作,并能留下事件记录、系统追忆记录,为厂家技术人员追溯故障原因提供有效线索。本发明解决其技术问题的技术方案如下一种进程监控及多级恢复系统,其特征是,包括设于外部计算机上的软件部分和与所述计算机数据连接的硬件部分;所述硬件部分包括经数据线与所述计算机通信端口连接的通信模块、以及与通信模块信号连接的控制模块,所述控制模块控制端与所述计算机主板的重启跳线电连接;所述软件部分包括用以监控进程、子过程、或计算机操作系统的监控模块,用以根据监控模块所得监控信息实施处理动作的处理模块,用以利用计算机通信端口与硬件部分通信模块进行数据交换的数据收发模块,用以根据处理模块指令将当前情况记录为事件的事件记录模块,以及用以根据处理模块指令记录最近若干帧计算机操作系统信息状态的系统追忆记录模块;所述计算机操作系统信息状态至少为计算机操作系统内全部运行进程的PID、CPU占用率、CPU占用时间、内存占用数量之一;所述处理模块的处理动作至少为杀掉进程、重启进程、杀掉子过程的父进程、重启子过程的父进程、重启操作系统、向硬件部分控制模块发出重启计算机信号之一。一种采用前述进程监控及多级恢复系统的进程监控及多级恢复方法,其特征是,包括以下步骤第一步、设于计算机的软件部分监控目标进程信息,所述目标进程信息包括目标进程状态、目标进程占用内存数量或百分比、以及目标进程占用CPU百分比;第二步、软件部分将目标进程占用内存或CPU信息与预设的进程限定参数进行比较、并按预设的进程处理决策根据比较结果和目标进程状态确定处理动作;所述进程限定参数包括目标进程占用内存数量或百分比的限定值、目标进程占用CPU百分比的限定值、以及目标进程占用内存或CPU越限的超时时限值;所述进程处理决策为进程决策库的任一项,所述进程决策库包括(1)无动作;(2)杀掉进程;(3)杀掉进程,并在杀掉进程失败时重启操作系统;(4)杀掉进程,并在杀掉进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(5)杀掉进程后重启进程;(6)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统;(7)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(8)重启操作系统;(9)重启操作系统,并在重启操作系统失败时重启计算机;(10)重启进程;(11)重启进程,并在重启进程失败时重启操作系统;(12)重启进程,并在重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(13)重启计算机;当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出时,所述进程处理决策为进程决策库的(I)至(9)之一;当目标进程退出时,所述进程处理决策为进程决策库的( I)、(8)至(13)之一;当目标进程状态正常且占用内存或CPU未越限时,所述进程处理决策为进程决策库的(I);当确定的处理动作为无动作时直接转至第一步,否则转至第三步;第三步、软件部分实施第二步确定的处理动作,当处理动作为重启计算机时由软件部分向与计算机数据连接、并与计算机重启跳线电连接的硬件部分发出重启计算机信号,硬件部分重置计算机重启跳线使计算机重启;同时,软件部分进行事件记录和/或系统追忆记录;第四步、软件部分判断是否终止所述进程监控及多级恢复系统的运行,若是则退出该系统,若否则转至第一步。本发明可实现对进程的全方位监控,能实施多层次的恢复操作,并能留下事件记录、系统追忆记录,为厂家技术人员追溯故障原因提供有效线索。


图I为本发明实施例系统的结构示意图。图2为本发明实施例方法的流程示意图。
具体实施例方式下面参照附图并结合实施例对本发明作进一步详细描述。但是本发明不限于所给出的例子。实施例本实施例进程监控及多级恢复系统如图I所示,包括设于外部计算机上的软件部分和与所述计算机数据连接的硬件部分;所述硬件部分包括经数据线与所述计算机通信端口连接的通信模块、以及与通信模块信号连接的控制模块,所述控制模块控制端与所述计算机主板的重启跳线(即RESET跳线)电连接;所述软件部分包括用以监控进程、子过程、或计算机操作系统的监控模块,用以根据监控模块所得监控信息实施处理动作(至少为杀掉进程、重启进程、杀掉子过程的父进程、重启子过程的父进程、重启操作系统、向硬件部分控制模块发出重启计算机信号之一)的处理模块,用以利用计算机通信端口与硬件部分通信模块进行数据交换的数据收发模块,用以根据处理模块指令将当前情况记录为事件的事件记录模块,以及用以根据处理模块指令记录最近若干帧计算机操作系统信息状态(至少为计算机操作系统内全部运行进程的PID、CPU占用率、CPU占用时间、内存占用数量之一)的系统追忆记录模块。具体地,CPU占用时间为CPU内核时间或用户使用时间。这样即可实现对进程的全方位监控,能实施多层次的恢复操作,并能留下事件记录、系统追忆记录,为厂家技术人员追溯故障原因提供有效线索。优选地,所述软件部分的监控模块包括用以监控目标进程信息的进程监控单元;所述目标进程信息包括目标进程状态、目标进程占用内存数量或百分比、以及目标进程占用CPU百分比;所述软件部分的处理模块包括含有进程决策库并用以预设进程限定参数、进程处理决策、以及进程信息记录 决策的进程参数设置单元;所述进程限定参数包括目标进程占用内存数量或百分比的限定值、目标进程占用CPU百分比的限定值、以及目标进程占用内存或CPU越限的超时时限值;所述进程处理决策为进程决策库的任一项,所述进程决策库包括(1)无动作;(2)杀掉进程;(3)杀掉进程,并在杀掉进程失败时重启操作系统;(4)杀掉进程,并在杀掉进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(5)杀掉进程后重启进程;(6)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统;(7)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(8)重启操作系统;(9)重启操作系统,并在重启操作系统失败时重启计算机;(10)重启进程;(11)重启进程,并在重启进程失败时重启操作系统;(12)重启进程,并在重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(13)重启计算机;当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出时,所述进程处理决策为进程决策库的(I)至(9)之一;当目标进程退出时,所述进程处理决策为进程决策库的(I)、(8)至(13)之一;当目标进程状态正常且占用内存或CPU未越限时,所述进程处理决策为进程决策库的(I);所述进程信息记录决策包括当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出或退出时,或者当目标进程被杀掉或被杀掉后重新启动时,进行事件记录和/或进行系统追忆记录;所述软件部分的处理模块还包括比较单元,所述比较单元包括将目标进程占用内存或CPU信息与预设的进程限定参数进行比较、并按预设的进程处理决策根据比较结果和目标进程状态确定处理动作的进程比较器;所述软件部分的处理模块还包括动作单元,所述动作单元包括实施进程比较器确定的处理动作、并按预设的进程信息记录决策向事件记录模块和/或系统追忆记录模块发出记录指令的进程动作执行器。这样即可更加有效地监控具体的目标进程,实现针对目标进程的多层次故障恢复处理。更优选地,所述软件部分的监控模块还包括用以监控目标子过程调用软喂狗点的状态的子过程监控单元;所述软件部分的处理模块还包括含有子过程决策库并用以预设子过程限定参数、子过程处理决策、以及子过程信息记录决策的子过程参数设置单元;所述子过程限定参数包括目标子过程对应的软喂狗API函数调用点序号、目标子过程停止软喂狗的超时时限值;所述子过程处理决策为子过程决策库的任一项,所述子过程决策库包括(1)无动作;(2)终止父进程;(3)终止父进程,并在终止父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(4)终止父进程后重启父进程;(4)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统;(5)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(6)重启操作系统;(7)重启操作系统,并在重启操作系统失败时重启计算机;当目标子过程停止软喂狗的时间超过超时时限值时,所述子过程处理决策为子过程决策库的(I)至(7)之一;当目标子过程调用软喂狗点状态正常时,所述子过程处理决策为子过程决策库的(I);所述子过程信息记录决策包括当目标子过程停止软喂狗的时间超过超时时限值时,或者当目标子过程调用软喂狗点状态正常时,进行事件记录和/或进行系统追忆记录;所述软件部分处理模块的比较单元还包括当目标子过程停止软喂狗时将目标子过程停止软喂狗的时间与超时时限值进行比较、并按预设的子过程处理决策根据比较结果确定处理动作,或者当目标子过程调用软喂狗点状态正常时按预设的子过程处理决策确定处理动作的子过程比较器; 所述软件部分处理模块的动作单元还包括实施子过程比较器确定的处理动作、并按预设的子过程信息记录决策向事件记录模块和/或系统追忆记录模块发出记录指令的子过程动作执行器。这样即可更加有效地监控进程的子过程,实现针对子过程的多层次故障恢复处理。更优选地,所述软件部分处理模块的进程参数设置单元的进程决策库还包括
(14)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程;(15)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统;(16)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(17)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程;(18)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统;(19)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统,并在重启操作系统失败时重启计算机;当目标进程退出时,所述进程参数设置单元的进程处理决策为进程决策库的(I)、
(8)至(19)之一。这样即可进一步为进程退出提供更加细化的多层次恢复处理,能通过目标进程的子过程状态判断目标进程是否由用户退出(子过程状态正常则为用户退出,子过程状态异常则为非用户退出),进而按预设处理决策进行相应处理。更优选地,所述软件部分的监控模块还包括监控操作系统情况的系统监控单元;所述操作系统情况包括操作系统内各进程的CPU占用百分比、各进程的内存占用数量或百分比、各进程在运行预定时间后CPU占用增长百分比;所述软件部分的处理模块还包括用以预设系统限定参数和系统信息记录决策的系统参数设置单元;所述系统限定参数包括操作系统内各进程的CPU占用百分比限值、各进程的内存占用数量或百分比限值、各进程在运行预定时间后CPU占用增长百分比限值,以及各进程CPU或内存占用越限的超时时限值;所述系统信息记录决策包括当操作系统内各进程CPU或内存占用越限的时间超出超时时限值时,或者当操作系统内各进程启动或退出时,进行事件记录;所述软件部分处理模块的比较单元还包括用以将操作系统内各进程CPU或内存占用情况与预设的系统限定参数进行比较的系统比较器;所述软件部分处理模块的动作单元还包括按预设的系统信息记录决策、根据系统比较器的比较结果向事件记录模块发出记录指令的系统动作执行器。这样即可更加有效地监控操作系统情况,并通过事件记录实现对整个操作系统情况的追溯,尤其有利于在操作系统因不明原因崩溃时追溯原因。更优选地,所述软件部分的处理模块还包括含有受限进程管理器并用以预设进程信任名单、限制进程名单、进程锁处理决策、以及进程锁信息记录决策的进程锁设置单元; 所述进程信任名单包括允许运行的进程名称;所述限制进程名单包括禁止运行的进程名称;所述进程锁处理决策为当运行进程不属于进程信任名单时杀掉该进程,或者当运行进程属于限制进程名单时杀掉该进程,否则无动作;所述进程锁信息记录决策包括当应当被杀掉的进程启动或退出时,进行事件记录;所述受限进程管理器包括用以记录被杀掉进程的名称、所属公司名称、启动次数、最近一次启动时间的受限进程记录表;所述软件部分处理模块的比较单元还包括用以将操作系统内运行的各进程名称与预设的进程信任名单或限制进程名单进行比较、并按进程锁处理决策根据比较结果确定处理动作的进程锁比较器;所述软件部分处理模块的动作单元还包括实施进程锁比较器确定的处理动作、并按预设的进程锁信息记录决策向事件记录模块发出记录指令的进程锁执行器。这样即可更加有效地严格控制进程运行,防止不相关进程运行后消耗操作系统资源导致操作系统崩溃,确保操作系统稳定运行。更优选地,所述系统追忆记录模块包括用以每隔预设时间获得一帧系统状态的快照单元,用以根据预设帧数容量存入最新帧系统状态、并删除最旧帧系统状态的堆栈单元,用以根据处理模块指令存储堆栈单元内全部帧计算机操作系统信息状态的存储单元,以及根据存储单元内若干连续帧计算机操作系统信息状态生成进程占用内存数量、占用CPU百分比的时间变化曲线的记录图单元。这样即可更加有效地实现系统追忆记录功能,为追溯故障原因进一步提供有效保障。更优选地,所述硬件部分还包括存储有根据绑定计算机主机环境信息(如CPU识别号、硬盘识别号等)生成的绑定识别码的存储器;所述硬件部分控制模块还包括接收软件部分发来当前识别码的接收器,将当前识别码与绑定识别码进行比较得出硬件比较结果的比较器,以及将比较结果和绑定识别码发至软件部分的发送器;所述软件部分还包括存储有根据当前计算机主机环境信息(如CPU识别号、硬盘识别号等)生成的当前识别码的存储模块,所述软件部分处理模块还包括接收硬件部分发来硬件比较结果和绑定识别码的接收单元,将当前识别码与绑定识别码进行比较得出软件比较结果的鉴定单元,将当前识别码发至硬件部分的发送单元,以及根据硬件比较结果和软件比较结果确定本进程监控及多级恢复系统是否关闭的保护单元。这样即可通过两次比较来确证当前计算机是否为绑定计算机,若硬件比较结果、软件比较结果之一为绑定识别码与当前识别码不同,则关闭本进程监控及多级恢复系统,从而更加有效地防止本实施例系统被盗版使用,有效保护本实施例系统的知识产权。与本实施例系统对应的方法如图2所示,包括以下步骤第一步、设于计算机的软件部分监控目标进程信息,所述目标进程信息包括目标进程状态、目标进程占用内存数量或百分比、以及目标进程占用CPU百分比;
第二步、软件部分将目标进程占用内存或CPU信息与预设的进程限定参数进行比较、并按预设的进程处理决策根据比较结果和目标进程状态确定处理动作; 所述进程限定参数包括目标进程占用内存数量或百分比的限定值、目标进程占用CPU百分比的限定值、以及目标进程占用内存或CPU越限的超时时限值;所述进程处理决策为进程决策库的任一项,所述进程决策库包括(1)无动作;
(2)杀掉进程;(3)杀掉进程,并在杀掉进程失败时重启操作系统;(4)杀掉进程,并在杀掉进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(5)杀掉进程后重启进程;(6)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统;(7)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(8)重启操作系统;(9)重启操作系统,并在重启操作系统失败时重启计算机;
(10)重启进程;(11)重启进程,并在重启进程失败时重启操作系统;(12)重启进程,并在重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(13)重启计算机;当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出时,所述进程处理决策为进程决策库的(I)至(9)之一;当目标进程退出时,所述进程处理决策为进程决策库的(I)、(8)至(13)之一;当目标进程状态正常且占用内存或CPU未越限时,所述进程处理决策为进程决策库的(I);当确定的处理动作为无动作时直接转至第一步,否则转至第三步;第三步、软件部分实施第二步确定的处理动作,当处理动作为重启计算机时由软件部分向与计算机数据连接、并与计算机重启跳线电连接的硬件部分发出重启计算机信号,硬件部分重置计算机重启跳线使计算机重启;同时,软件部分进行事件记录和/或系统追忆记录;第四步、软件部分判断是否终止所述进程监控及多级恢复系统的运行,若是则退出该系统,若否则转至第一步。这样即可有效地监控目标进程,实现针对目标进程的多层次恢复处理。优选地,第一步还包括软件部分监控目标子过程调用软喂狗点的状态;第二步还包括软件部分在目标子过程停止软喂狗时将目标子过程停止软喂狗的时间与超时时限值进行比较、并按预设的子过程处理决策根据比较结果确定处理动作,或者在目标子过程调用软喂狗点状态正常时按预设的子过程处理决策确定处理动作;所述子过程处理决策为子过程决策库的任一项,所述子过程决策库包括(1)无动作;(2)终止父进程;(3)终止父进程,并在终止父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(4)终止父进程后重启父进程;(4)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统;(5)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;
(6)重启操作系统;(7)重启操作系统,并在重启操作系统失败时重启计算机;当目标子过程停止软喂狗的时间超过超时时限值时,所述子过程处理决策为子过程决策库的(I)至(7)之一;当目标子过程调用软喂狗点状态正常时,所述子过程处理决策为子过程决策库的(I);当确定的处理动作为无动作时直接转至第一步,否则转至第三步。这样即可进一步有效地监控进程的子过程,实现针对子过程的多层次恢复处理。更优选地,第一步中还包括软件部分监控操作系统情况,所述操作系统情况包括操作系统内各进程的CPU占用百分比、各进程的内存占用数量或百分比、各进程在运行预定时间后CPU占用增长百分比;
第二步中还包括软件部分将操作系统内各进程CPU或内存占用情况与预设的系统限定参数进行比较得出操作系统比较结果,将操作系统内运行的各进程名称与预设的进程信任名单或限制进程名单进行比较、并按进程锁处理决策确定处理动作;所述系统限定参数包括操作系统内各进程的CPU占用百分比限值、各进程的内存占用数量或百分比限值、各进程在运行预定时间后CPU占用增长百分比限值,以及各进程CPU或内存占用越限的超时时限值;所述进程信任名单包括允许运行的进程名称;所述限制进程名单包括禁止运行的进程名称;所述进程锁处理决策为当运行进程不属于进程信任名单时杀掉该进程,或者当运行进程属于限制进程名单时杀掉该进程,否则无动作;当操作系统比较结果为未超限、且确定的处理动作为无动作时则直接转至第一步,否则转至第三步。这样即可有效地监控操作系统情况,并通过事件记录实现对整个操作系统情况的追溯;并有效地严格控制进程运行,防止不相关进程运行后消耗操作系统资源导致操作系统崩溃。本实施例系统可以为运行方用户提供操作系统故障过程的记录依据,可以有效地在短时间内自动恢复进程和操作系统的正常运行,而不必等待厂家千里迢迢地来现场解决问题。对于厂家来说,本实施例系统可以记录故障发生的过程中操作系统及目标进程的CPU占用、内存占用发生变化的情况,由该记录即可得知故障原因;同时本实施例系统可以迅速恢复启动操作系统,避免厂家人员被要求迅速到现场解决问题带来的迫切感。此外,采用本实施例系统后,可让用户把事件记录、系统追忆记录文件发回厂家,便于厂家及时找到线索,分析故障原因,找到解决问题的办法和方案,从而最有效率地迅速解决用户现场发生的问题,减少去现场售后服务的代价。此外,本实施例系统的硬件部分还是一款加密狗,能提供用户硬加密接口,防止厂家具备知识产权的软件被随意拷贝,并保证一套用户软件只能与唯一的硬件狗对应,保护了厂家知识产权。具体应用时,硬件部分的控制模块可采用单片机;硬件部分的通信模块通过USB数据线与计算机的USB接口或主板USB接口排针连接;硬件部分可设有与计算机重启跳线电连接的跳线In排针、与计算机机箱重启按钮电连接的跳线Out排针,这样即可保证硬件部分重置计算机重启跳线、计算机机箱重启按钮重置计算机重启跳线能分别顺利实现;硬件部分还可设有单片机的编程口排针,用以向单片机烧录程序或调试单片机中的程序。除上述实施例外, 本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
权利要求
1.一种进程监控及多级恢复系统,其特征是,包括设于外部计算机上的软件部分和与所述计算机数据连接的硬件部分; 所述硬件部分包括经数据线与所述计算机通信端口连接的通信模块、以及与通信模块信号连接的控制模块,所述控制模块控制端与所述计算机主板的重启跳线电连接; 所述软件部分包括用以监控进程、子过程、或计算机操作系统的监控模块,用以根据监控模块所得监控信息实施处理动作的处理模块,用以利用计算机通信端口与硬件部分通信模块进行数据交换的数据收发模块,用以根据处理模块指令将当前情况记录为事件的事件记录模块,以及用以根据处理模块指令记录最近若干帧计算机操作系统信息状态的系统追忆记录模块; 所述计算机操作系统信息状态至少为计算机操作系统内全部运行进程的PID、CPU占用率、CPU占用时间、内存占用数量之一; 所述处理模块的处理动作至少为杀掉进程、重启进程、杀掉子过程的父进程、重启子过程的父进程、重启操作系统、向硬件部分控制模块发出重启计算机信号之一。
2.根据权利要求I所述进程监控及多级恢复系统,其特征是,所述软件部分的监控模块包括用以监控目标进程信息的进程监控单元;所述目标进程信息包括目标进程状态、目标进程占用内存数量或百分比、以及目标进程占用CPU百分比; 所述软件部分的处理模块包括含有进程决策库并用以预设进程限定参数、进程处理决策、以及进程信息记录决策的进程参数设置单元;所述进程限定参数包括目标进程占用内存数量或百分比的限定值、目标进程占用CPU百分比的限定值、以及目标进程占用内存或CPU越限的超时时限值; 所述进程处理决策为进程决策库的任一项,所述进程决策库包括(I)无动作;(2)杀掉进程;(3)杀掉进程,并在杀掉进程失败时重启操作系统;(4)杀掉进程,并在杀掉进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(5)杀掉进程后重启进程;(6)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统;(7)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(8)重启操作系统;(9)重启操作系统,并在重启操作系统失败时重启计算机;(10)重启进程;(11)重启进程,并在重启进程失败时重启操作系统;(12)重启进程,并在重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(13)重启计算机; 当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出时,所述进程处理决策为进程决策库的(I)至(9)之一;当目标进程退出时,所述进程处理决策为进程决策库的(I)、(8)至(13)之一;当目标进程状态正常且占用内存或CPU未越限时,所述进程处理决策为进程决策库的(I); 所述进程信息记录决策包括当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出或退出时,或者当目标进程被杀掉或被杀掉后重新启动时,进行事件记录和/或进行系统追忆记录; 所述软件部分的处理模块还包括比较单元,所述比较单元包括将目标进程占用内存或CPU信息与预设的进程限定参数进行比较、并按预设的进程处理决策根据比较结果和目标进程状态确定处理动作的进程比较器; 所述软件部分的处理模块还包括动作单元,所述动作单元包括实施进程比较器确定的处理动作、并按预设的进程信息记录决策向事件记录模块和/或系统追忆记录模块发出记录指令的进程动作执行器。
3.根据权利要求2所述进程监控及多级恢复系统,其特征是,所述软件部分的监控模块还包括用以监控目标子过程调用软喂狗点的状态的子过程监控单元; 所述软件部分的处理模块还包括含有子过程决策库并用以预设子过程限定参数、子过程处理决策、以及子过程信息记录决策的子过程参数设置单元; 所述子过程限定参数包括目标子过程对应的软喂狗API函数调用点序号、目标子过程停止软喂狗的超时时限值; 所述子过程处理决策为子过程决策库的任一项,所述子过程决策库包括(1)无动作;(2)终止父进程;(3)终止父进程,并在终止父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(4)终止父进程后重启父进程;(4)终止父进程后重启父进程,并在 终止父进程或重启父进程失败时重启操作系统;(5)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(6)重启操作系统;(7)重启操作系统,并在重启操作系统失败时重启计算机; 当目标子过程停止软喂狗的时间超过超时时限值时,所述子过程处理决策为子过程决策库的(I)至(7)之一;当目标子过程调用软喂狗点状态正常时,所述子过程处理决策为子过程决策库的(I); 所述子过程信息记录决策包括当目标子过程停止软喂狗的时间超过超时时限值时,或者当目标子过程调用软喂狗点状态正常时,进行事件记录和/或进行系统追忆记录; 所述软件部分处理模块的比较单元还包括当目标子过程停止软喂狗时将目标子过程停止软喂狗的时间与超时时限值进行比较、并按预设的子过程处理决策根据比较结果确定处理动作,或者当目标子过程调用软喂狗点状态正常时按预设的子过程处理决策确定处理动作的子过程比较器; 所述软件部分处理模块的动作单元还包括实施子过程比较器确定的处理动作、并按预设的子过程信息记录决策向事件记录模块和/或系统追忆记录模块发出记录指令的子过程动作执行器。
4.根据权利要求3所述进程监控及多级恢复系统,其特征是,所述软件部分处理模块的进程参数设置单元的进程决策库还包括(14)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程;(15)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统;(16)目标进程的子过程调用软喂狗点状态正常时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(17)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程;(18)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统;(19)目标进程的子过程停止软喂狗的时间超过超时时限值时该进程退出后,重启该进程,并在重启该进程失败时重启操作系统,并在重启操作系统失败时重启计算机; 当目标进程退出时,所述进程参数设置单元的进程处理决策为进程决策库的(I)、(8)至(19)之一。
5.根据权利要求4所述进程监控及多级恢复系统,其特征是,所述软件部分的监控模块还包括监控操作系统情况的系统监控单元;所述操作系统情况包括操作系统内各进程的CPU占用百分比、各进程的内存占用数量或百分比、各进程在运行预定时间后CPU占用增长百分比; 所述软件部分的处理模块还包括用以预设系统限定参数和系统信息记录决策的系统参数设置单元;所述系统限定参数包括操作系统内各进程的CPU占用百分比限值、各进程的内存占用数量或百分比限值、各进程在运行预定时间后CPU占用增长百分比限值,以及各进程CPU或内存占用越限的超时时限值;所述系统信息记录决策包括当操作系统内各进程CPU或内存占用越限的时间超出超时时限值时,或者当操作系统内各进程启动或退出时,进行事件记录; 所述软件部分处理模块的比较单元还包括用以将操作系统内各进程CPU或内存占用情况与预设的系统限定参数进行比较的系统比较器; 所述软件部分处理模块的动作单元还包括按预设的系统信息记录决策、根据系统比较器的比较结果向事件记录模块发出记录指令的系统动作执行器。
6.根据权利要求5所述进程监控及多级恢复系统,其特征是,所述软件部分的处理模块还包括含有受限进程管理器并用以预设进程信任名单、限制进程名单、进程锁处理决策、以及进程锁信息记录决策的进程锁设置单元;所述进程信任名单包括允许运行的进程名称;所述限制进程名单包括禁止运行的进程名称;所述进程锁处理决策为当运行进程不属于进程信任名单时杀掉该进程,或者当运行进程属于限制进程名单时杀掉该进程,否则无动作;所述进程锁信息记录决策包括当应当被杀掉的进程启动或退出时,进行事件记录; 所述受限进程管理器包括用以记录被杀掉进程的名称、所属公司名称、启动次数、最近一次启动时间的受限进程记录表; 所述软件部分处理模块的比较单元还包括用以将操作系统内运行的各进程名称与预设的进程信任名单或限制进程名单进行比较、并按进程锁处理决策根据比较结果确定处理动作的进程锁比较器; 所述软件部分处理模块的动作单元还包括实施进程锁比较器确定的处理动作、并按预设的进程锁信息记录决策向事件记录模块发出记录指令的进程锁执行器。
7.根据权利要求6所述进程监控及多级恢复系统,其特征是,所述系统追忆记录模块包括用以每隔预设时间获得一帧系统状态的快照单元,用以根据预设帧数容量存入最新帧系统状态、并删除最旧帧系统状态的堆栈单元,用以根据处理模块指令存储堆栈单元内全部帧计算机操作系统信息状态的存储单元,以及根据存储单元内若干连续帧计算机操作系统信息状态生成进程占用内存数量、占用CPU百分比的时间变化曲线的记录图单元; 所述硬件部分还包括存储有根据绑定计算机主机环境信息生成的绑定识别码的存储器;所述硬件部分控制模块还包括接收软件部分发来当前识别码的接收器,将当前识别码与绑定识别码进行比较得出硬件比较结果的比较器,以及将比较结果和绑定识别码发至软件部分的发送器; 所述软件部分还包括存储有根据当前计算机主机环境信息生成的当前识别码的存储模块,所述软件部分处理模块还包括接收硬件部分发来硬件比较结果和绑定识别码的接收单元,将当前识别码与绑定识别码进行比较得出软件比较结果的鉴定单元,将当前识别码发至硬件部分的发送单元,以及根据硬件比较结果和软件比较结果确定本进程监控及多级恢复系统是否关闭的保护单元。
8.一种采用权利要求I所述进程监控及多级恢复系统的进程监控及多级恢复方法,其特征是,包括以下步骤 第一步、设于计算机的软件部分监控目标进程信息,所述目标进程信息包括目标进程状态、目标进程占用内存数量或百分比、以及目标进程占用CPU百分比; 第二步、软件部分将目标进程占用内存或CPU信息与预设的进程限定参数进行比较、并按预设的进程处理决策根据比较结果和目标进程状态确定处理动作; 所述进程限定参数包括目标进程占用内存数量或百分比的限定值、目标进程占用CPU百分比的限定值、以及目标进程占用内存或CPU越限的超时时限值; 所述进程处理决策为进程决策库的任一项,所述进程决策库包括(I)无动作;(2)杀掉进程;(3)杀掉进程,并在杀掉进程失败时重启操作系统;(4)杀掉进程,并在杀掉进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(5)杀掉进程后重启进程;(6)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统;(7)杀掉进程后重启进程,并在杀掉进程或重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(8)重启操作系统;(9)重启操作系统,并在重启操作系统失败时重启计算机;(10)重启进程;(11)重启进程,并在重启进程失败时重启操作系统;(12)重启进程,并在重启进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(13)重启计算机; 当目标进程占用内存或CPU越限的时间超出超时时限值时,或者当目标进程状态为死锁或崩溃未退出时,所述进程处理决策为进程决策库的(I)至(9)之一;当目标进程退出时,所述进程处理决策为进程决策库的(I)、(8)至(13)之一;当目标进程状态正常且占用内存或CPU未越限时,所述进程处理决策为进程决策库的(I); 当确定的处理动作为无动作时直接转至第一步,否则转至第三步; 第三步、软件部分实施第二步确定的处理动作,当处理动作为重启计算机时由软件部分向与计算机数据连接、并与计算机重启跳线电连接的硬件部分发出重启计算机信号,硬件部分重置计算机重启跳线使计算机重启;同时,软件部分进行事件记录和/或系统追忆记录; 第四步、软件部分判断是否终止所述进程监控及多级恢复系统的运行,若是则退出该系统,若否则转至第一步。
9.根据权利要求8所述进程监控及多级恢复方法,其特征是,第一步还包括软件部分监控目标子过程调用软喂狗点的状态; 第二步还包括软件部分在目标子过程停止软喂狗时将目标子过程停止软喂狗的时间与超时时限值进行比较、并按预设的子过程处理决策根据比较结果确定处理动作,或者在目标子过程调用软喂狗点状态正常时按预设的子过程处理决策确定处理动作; 所述子过程处理决策为子过程决策库的任一项,所述子过程决策库包括(1)无动作;(2)终止父进程;(3)终止父进程,并在终止父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(4)终止父进程后重启父进程;(4)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统;(5)终止父进程后重启父进程,并在终止父进程或重启父进程失败时重启操作系统,并在重启操作系统失败时重启计算机;(6)重启操作系统;(7)重启操作系统,并在重启操作系统失败时重启计算机; 当目标子过程停止软喂狗的时间超过超时时限值时,所述子过程处理决策为子过程决策库的(I)至(7)之一;当目标子过程调用软喂狗点状态正常时,所述子过程处理决策为子过程决策库的(I); 当确定的处理动作为无动作时直接转至第一步,否则转至第三步。
10.根据权利要求9所述进程监控及多级恢复方法,其特征是,第一步中还包括软件部分监控操作系统情况,所述操作系统情况包括操作系统内各进程的CPU占用百分比、各进程的内存占用数量或百分比、各进程在运行预定时间后CPU占用增长百分比; 第二步中还包括软件部分将操作系统内各进程CPU或内存占用情况与预设的系统限定参数进行比较得出操作系统比较结果,将操作系统内运行的各进程名称与预设的进程信任名单或限制进程名单进行比较、并按进程锁处理决策确定处理动作; 所述系统限定参数包括操作系统内各进程的CPU占用百分比限值、各进程的内存占用数量或百分比限值、各进程在运行预定时间后CPU占用增长百分比限值,以及各进程CPU或内存占用越限的超时时限值; 所述进程信任名单包括允许运行的进程名称;所述限制进程名单包括禁止运行的进程名称;所述进程锁处理决策为当运行进程不属于进程信任名单时杀掉该进程,或者当运行进程属于限制进程名单时杀掉该进程,否则无动作; 当操作系统比较结果为未超限、且确定的处理动作为无动作时则直接转至第一步,否则转至第三步。
全文摘要
本发明涉及一种进程监控及多级恢复系统和方法。该系统包括硬件部分和软件部分,硬件部分包括通信模块、控制模块,控制模块控制端与外部计算机主板的重启跳线电连接;软件部分包括监控模块,处理模块,数据收发模块,事件记录模块,以及系统追忆记录模块。该方法与该系统相对应。本发明可实现对进程的全方位监控,能实施多层次的恢复操作,并能留下事件记录、系统追忆记录,为厂家技术人员追溯故障原因提供有效线索。
文档编号G06F11/34GK102968352SQ20121054430
公开日2013年3月13日 申请日期2012年12月14日 优先权日2012年12月14日
发明者杨晓松, 卢文兵 申请人:杨晓松
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1