CN103514057A - 一种linux系统自愈方法、装置及自愈系统 - Google Patents
一种linux系统自愈方法、装置及自愈系统 Download PDFInfo
- Publication number
- CN103514057A CN103514057A CN201210213742.3A CN201210213742A CN103514057A CN 103514057 A CN103514057 A CN 103514057A CN 201210213742 A CN201210213742 A CN 201210213742A CN 103514057 A CN103514057 A CN 103514057A
- Authority
- CN
- China
- Prior art keywords
- self
- cpu
- healing
- reset
- linux
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种linux系统自愈方法、装置及自愈系统,用以解决现有技术中当根文件系统加载出现异常时,linux系统启动挂死的问题。该方法自愈装置接收CPU在linux系统启动时发送的启动信号,当在接收到该启动信号后的设定时间长度内未接收到CPU发送的启动成功信号时,控制该CPU复位。由于本发明实施例中CPU在linux系统不能正常启动时不发送启动成功信号,因此自愈装置在接收到启动信号后的设定时间长度内如果未接收到启动成功信号,则确定linux系统启动失败,控制CPU复位以重启linux系统,从而在根文件系统的加载出现异常时,仍然能够实现linux系统的自愈。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种linux系统自愈方法、装置及自愈系统。
背景技术
目前,嵌入式系统中大量采用linux操作系统作为核心系统软件。在linux系统启动时,首先中央处理器(Central Processing Unit,CPU)运行加载启动程序(bootloader),在成功运行bootloader后,通过bootloader依次加载linux内核软件和根文件系统,在成功加载linux内核软件和根文件系统后,则可以运行linux启动脚本和应用程序。
但是,在linux系统启动时,如果CPU运行bootloader、加载linux内核软件、加载根文件系统中的任何一个步骤出现异常,都会导致linux系统启动挂死,不能正常启动。
为了解决linux系统启动挂死的问题,现有技术中一般在CPU中设置看门狗模块,通过看门狗模块监控bootloader的运行状态和linux内核软件的加载状态,以进行异常控制及自愈。
然而,现有技术中CPU中设置的看门狗模块并不能监控根文件系统的加载状态,这是因为在根文件系统被成功加载之前,看门狗模块与根文件系统之间并没有通信接口。要想通过看门狗模块监控根文件系统的状态,只能在根文件系统被成功加载之后,通过运行相应的应用程序,为看门狗模块和根文件系统之间提供通信接口。
因此,在现有技术中,当根文件系统加载出现异常时,由于看门狗模块并不能监控根文件系统的状态,仍然会导致linux系统启动挂死,不能正常启动。
发明内容
本发明实施例提供一种linux系统自愈方法、装置及自愈系统,用以解决现有技术中当根文件系统加载出现异常时,linux系统启动挂死的问题。
本发明实施例提供的一种linux系统自愈方法,包括:
自愈装置接收中央处理器CPU在linux系统启动时发送的启动信号;并
判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号;以及
当判断结果为否时,控制所述CPU复位。
本发明实施例提供的一种linux系统自愈装置,通过复杂可编程逻辑器件CPLD或者现场可编程门阵列FPGA实现,包括:
接收模块,用于接收中央处理器CPU在linux系统启动时发送的启动信号;
判断模块,用于判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号;
自愈模块,用于在所述判断模块的判断结果为否时,控制所述CPU复位。
本发明实施例提供的一种自愈系统,包括通过总线相连的自愈装置和中央处理器CPU;
所述自愈装置,用于接收所述CPU发送的启动信号,判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号,当判断结果为否时,控制所述CPU复位;
所述CPU,用于在linux系统启动时向所述自愈装置发送启动信号,并在linux系统启动成功后,向所述自愈装置发送启动成功信号。
本发明实施例提供一种linux系统自愈方法、装置及自愈系统,该方法自愈装置接收CPU在linux系统启动时发送的启动信号,当在接收到该启动信号后的设定时间长度内未接收到CPU发送的启动成功信号时,控制该CPU复位。由于本发明实施例中CPU在linux系统不能正常启动时不发送启动成功信号,因此自愈装置在接收到启动信号后的设定时间长度内如果未接收到启动成功信号,则确定linux系统启动失败,控制CPU复位以重启linux系统,从而在根文件系统的加载出现异常时,仍然能够实现linux系统的自愈。
附图说明
图1为本发明实施例提供的linux系统自愈的过程;
图2为本发明实施例提供的linux系统自愈装置结构示意图;
图3为本发明实施例提供的自愈系统结构示意图。
具体实施方式
由于现有技术中根文件系统被成功加载之前,CPU中的看门狗模块与根文件系统之间没有通信接口,因此看门狗模块无法监控根文件系统的加载状态,从而当CPU启动linux系统时,如果加载根文件系统出现异常,就会导致linux系统启动挂死。本发明实施例摒弃现有技术中通过在CPU中设置看门狗模块实现linux系统自愈的方法,而在CPU外部设置自愈装置,通过自愈装置监控linux系统启动的时间长度,如果监控到linux系统启动超时,则确定linux系统启动失败,进而控制CPU复位,以重启linux系统,因此即使linux系统由于加载根文件系统出现异常而启动失败,仍然能够实现linux系统的自愈。
下面结合说明书附图,对本发明实施例进行详细描述。
图1为本发明实施例提供的linux系统自愈的过程,具体包括以下步骤:
S101:自愈装置接收CPU在linux系统启动时发送的启动信号。
在本发明实施例中,在CPU外部预置自愈装置,自愈装置和CPU通过总线相连。当CPU启动linux系统时,向该自愈装置发送启动信号。具体的,由于CPU启动linux系统时首先要运行bootloader,因此可以将bootloader稍作改动,使CPU在运行bootloader时,向该自愈装置发送启动信号。当然,也可以通过其他方法使CPU在启动linux系统时向自愈装置发送启动信号,例如在CPU上电或复位时向自愈装置发送启动信号。
S102:自愈装置判断是否在接收到该启动信号后的设定时间长度内接收到CPU发送的启动成功信号,若是,则执行步骤S103,否则执行步骤S104。
在本发明实施例中,CPU在成功启动linux系统后,向自愈装置发送启动成功信号。具体的,由于CPU启动linux系统时,先要运行bootloader,再通过lootloader依次加载linux内核软件和根文件系统,因此本发明实施例中CPU在成功加载根文件系统后,也即成功启动linux系统后,向自愈装置发送启动成功信号。
对于自愈装置而言,由于自愈装置在步骤S101中接收到了CPU在linux系统启动时发送的启动信号,因此可以以接收到的启动信号触发自身的定时器启动,监控是否在设定时间长度内接收到CPU发送的启动成功信号,也即监控是否在接收到启动信号后的设定时间长度内接收到启动成功信号。
S103:自愈装置确定CPU成功启动linux系统,关闭自身的定时器。
自愈装置启动定时器后,在设定时间长度内接收到了CPU发送的启动成功信号时,则确定CPU成功运行了bootloader,并通过bootloader成功加载了linux内核软件和根文件系统,进而确定CPU成功启动了linux系统,并将自身的定时器关闭。
S104:自愈装置控制CPU复位,返回步骤S101。
自愈装置启动定时器后,在设定时间长度内未接收到CPU发送的启动成功信号,则确定CPU在启动linux系统时,运行bootloader、加载内核软件、加载根文件系统中的至少一个步骤出现了异常,进而确定CPU启动linux系统超时,也即CPU启动linux系统失败,因此控制CPU复位,使CPU重启linux系统。当然,自愈装置也要关闭自身的定时器,用以后续在CPU重启linux系统并发送启动信号时再次启动,以再次监控CPU重启linux系统的启动情况,也即返回步骤S101。
在上述过程中,CPU在linux系统不能正常启动时不发送启动成功信号,因此自愈装置在接收到启动信号后的设定时间长度内如果未接收到启动成功信号,则确定linux系统启动失败,控制CPU复位以重启linux系统,从而在根文件系统的加载出现异常时,仍然能够实现linux系统的自愈,减少了由于根文件系统的加载异常而导致linux系统启动挂死的现象,提高了linux系统的稳定性和可靠性。
在本发明实施例中,上述自愈装置可以通过复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)实现,也可以通过现场可编程门阵列(FieldProgrammable Gate Array,FPGA)实现,也即该自愈装置可以包括CPLD或者FPGA。当然,也可以通过其他方法实现。
由于CPU启动linux系统时,要经过运行bootloader、通过bootloader加载linux内核软件、通过bootloader加载根文件系统这三个步骤,因此,在上述图1所示的步骤S102中,该设定时间长度应不小于CPU执行这三个步骤的时间长度之和,也即设定时间长度不小于CPU运行bootloader的时间长度、通过bootloader加载linux内核软件的时间长度、通过bootloader加载根文件系统的时间长度的和值。
例如,在实际应用中,CPU启动linux系统时,运行bootloader、加载linux内核软件、加载根文件系统总共需要耗时大概30秒到1分钟,因此该设定时间长度可以设定为3分钟,也即自愈装置在接收到CPU发送的启动信号时启动自身的定时器,当定时器计时超过3分钟而仍未接收到CPU发送的启动成功信号时,确定CPU启动linux系统失败,从而控制CPU复位,以重启linux系统。
在本发明实施例中,由于CPU在成功启动linux系统后,紧接着的就是运行linux启动脚本,然后再运行应用程序,因此可以将linux启动脚本稍作改动,使得CPU在成功启动linux系统后,通过运行linux启动脚本向自愈装置发送启动成功信号。具体的,CPU在成功运行bootloader,并在成功通过bootloader加载linux内核软件和根文件系统后,通过运行linux启动脚本向自愈装置发送启动成功信号。自愈装置则接收CPU通过运行linux启动脚本发送的启动成功信号。
在本申请实施例中,可以在CPU外部再预置复位芯片,该复位芯片与CPU和自愈装置相连,则在图1所示的步骤S104中,当自愈装置接收到启动信号后的设定时间长度内未接收到CPU发送的启动成功信号时,可以向复位芯片发送触发信号,触发连接的该复位芯片向CPU发送复位信号,以控制CPU复位。
图2为本发明实施例提供的linux系统自愈装置结构示意图,该自愈装置可以通过CPLD或者FPGA实现,具体包括:
接收模块201,用于接收中央处理器CPU在linux系统启动时发送的启动信号;
判断模块202,用于判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号;
自愈模块203,用于在所述判断模块202的判断结果为否时,控制所述CPU复位。
所述自愈模块203具体用于,触发连接的复位芯片向所述CPU发送复位信号,以控制所述CPU复位。
图3为本发明实施例提供的自愈系统结构示意图,该自愈系统包括通过总线相连的自愈装置301和CPU302,其中:
所述自愈装置301,用于接收所述CPU302发送的启动信号,判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU302发送的启动成功信号,当判断结果为否时,控制所述CPU302复位;
所述CPU302,用于在linux系统启动时向所述自愈装置301发送启动信号,并在linux系统启动成功后,向所述自愈装置301发送启动成功信号。
所述CPU302具体用于,在成功运行加载启动程序bootloader,并在成功通过bootloader加载linux内核软件和根文件系统后,通过运行linux启动脚本向所述自愈装置301发送启动成功信号。
所述自愈系统还包括:
与所述自愈装置301连接的复位芯片303,用于接收所述自愈装置301发送的触发信号,并向所述CPU302发送复位信号;
所述自愈装置301具体用于,触发所述复位芯片303向所述CPU302发送复位信号;
所述CPU302具体用于,接收所述复位芯片303发送的复位信号,并复位。
本发明实施例提供一种linux系统自愈方法、装置及自愈系统,该方法自愈装置接收CPU在linux系统启动时发送的启动信号,当在接收到该启动信号后的设定时间长度内未接收到CPU发送的启动成功信号时,控制该CPU复位。由于本发明实施例中CPU在linux系统不能正常启动时不发送启动成功信号,因此自愈装置在接收到启动信号后的设定时间长度内如果未接收到启动成功信号,则确定linux系统启动失败,控制CPU复位以重启linux系统,从而在根文件系统的加载出现异常时,仍然能够实现linux系统的自愈。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种linux系统自愈方法,其特征在于,包括:
自愈装置接收中央处理器CPU在linux系统启动时发送的启动信号;并
判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号;以及
当判断结果为否时,控制所述CPU复位。
2.如权利要求1所述的方法,其特征在于,所述自愈装置具体包括:
复杂可编程逻辑器件CPLD;或者
现场可编程门阵列FPGA。
3.如权利要求1所述的方法,其特征在于,所述设定时间长度不小于所述CPU运行加载启动程序bootloader的时间长度、通过bootloader加载linux内核软件的时间长度、通过bootloader加载根文件系统的时间长度的和值。
4.如权利要求1所述的方法,其特征在于,接收所述CPU发送的启动成功信号具体包括:
接收所述CPU在成功运行加载启动程序bootloader,并在成功通过bootloader加载linux内核软件和根文件系统后,通过运行linux启动脚本发送的启动成功信号。
5.如权利要求1所述的方法,其特征在于,控制所述CPU复位,具体包括:
所述自愈装置触发连接的复位芯片向所述CPU发送复位信号,以控制所述CPU复位。
6.一种linux系统自愈装置,其特征在于,通过复杂可编程逻辑器件CPLD或者现场可编程门阵列FPGA实现,包括:
接收模块,用于接收中央处理器CPU在linux系统启动时发送的启动信号;
判断模块,用于判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号;
自愈模块,用于在所述判断模块的判断结果为否时,控制所述CPU复位。
7.如权利要求6所述的装置,其特征在于,所述自愈模块具体用于,触发连接的复位芯片向所述CPU发送复位信号,以控制所述CPU复位。
8.一种自愈系统,其特征在于,包括通过总线相连的自愈装置和中央处理器CPU;
所述自愈装置,用于接收所述CPU发送的启动信号,判断是否在接收到所述启动信号后的设定时间长度内接收到所述CPU发送的启动成功信号,当判断结果为否时,控制所述CPU复位;
所述CPU,用于在linux系统启动时向所述自愈装置发送启动信号,并在linux系统启动成功后,向所述自愈装置发送启动成功信号。
9.如权利要求8所述的自愈系统,其特征在于,所述CPU具体用于,在成功运行加载启动程序bootloader,并在成功通过bootloader加载linux内核软件和根文件系统后,通过运行linux启动脚本向所述自愈装置发送启动成功信号。
10.如权利要求8所述的自愈系统,其特征在于,所述自愈系统还包括:
与所述自愈装置连接的复位芯片,用于接收所述自愈装置发送的触发信号,并向所述CPU发送复位信号;
所述自愈装置具体用于,触发所述复位芯片向所述CPU发送复位信号;
所述CPU具体用于,接收所述复位芯片发送的复位信号,并复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210213742.3A CN103514057A (zh) | 2012-06-26 | 2012-06-26 | 一种linux系统自愈方法、装置及自愈系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210213742.3A CN103514057A (zh) | 2012-06-26 | 2012-06-26 | 一种linux系统自愈方法、装置及自愈系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103514057A true CN103514057A (zh) | 2014-01-15 |
Family
ID=49896826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210213742.3A Pending CN103514057A (zh) | 2012-06-26 | 2012-06-26 | 一种linux系统自愈方法、装置及自愈系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514057A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156289A (zh) * | 2014-07-09 | 2014-11-19 | 中国电子科技集团公司第三十二研究所 | 基于检测电路的同步控制方法及系统 |
CN104268026A (zh) * | 2014-09-15 | 2015-01-07 | 曙光信息产业(北京)有限公司 | 嵌入式系统的监控管理方法和装置 |
CN105760276A (zh) * | 2016-02-19 | 2016-07-13 | 烽火通信科技股份有限公司 | 提高reboot命令重启可靠性并增加复位日志的方法 |
CN106933319A (zh) * | 2016-11-25 | 2017-07-07 | 科诺伟业风能设备(北京)有限公司 | 一种变流器dsp上电复位控制方法 |
CN107885626A (zh) * | 2017-11-03 | 2018-04-06 | 郑州云海信息技术有限公司 | 片上系统可编程器件的系统启动自检测的装置及方法 |
CN108804247A (zh) * | 2017-05-03 | 2018-11-13 | 大唐移动通信设备有限公司 | 一种处理器的启动判断方法和装置 |
CN109688355A (zh) * | 2018-12-27 | 2019-04-26 | 青岛海信电器股份有限公司 | 一种oled电视的显示屏放电控制装置 |
CN113094107A (zh) * | 2021-03-18 | 2021-07-09 | 深圳市道通智能汽车有限公司 | 数据保护方法、装置、设备及计算机存储介质 |
US11200837B2 (en) | 2018-09-25 | 2021-12-14 | Hisense Visual Technology Co., Ltd. | OLED display device, and method for controlling the OLED display device |
CN117708886A (zh) * | 2024-02-05 | 2024-03-15 | 广州鲁邦通物联网科技股份有限公司 | 一种物联网设备的文件系统保护方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135891A (zh) * | 2010-01-21 | 2011-07-27 | 杭州华三通信技术有限公司 | 可实现引导启动的系统及引导启动控制装置和方法 |
CN102236569A (zh) * | 2011-07-20 | 2011-11-09 | 大唐移动通信设备有限公司 | 一种嵌入式系统及其启动方法 |
-
2012
- 2012-06-26 CN CN201210213742.3A patent/CN103514057A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135891A (zh) * | 2010-01-21 | 2011-07-27 | 杭州华三通信技术有限公司 | 可实现引导启动的系统及引导启动控制装置和方法 |
CN102236569A (zh) * | 2011-07-20 | 2011-11-09 | 大唐移动通信设备有限公司 | 一种嵌入式系统及其启动方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156289A (zh) * | 2014-07-09 | 2014-11-19 | 中国电子科技集团公司第三十二研究所 | 基于检测电路的同步控制方法及系统 |
CN104156289B (zh) * | 2014-07-09 | 2017-10-27 | 中国电子科技集团公司第三十二研究所 | 基于检测电路的同步控制方法及系统 |
CN104268026A (zh) * | 2014-09-15 | 2015-01-07 | 曙光信息产业(北京)有限公司 | 嵌入式系统的监控管理方法和装置 |
CN104268026B (zh) * | 2014-09-15 | 2018-06-26 | 曙光信息产业(北京)有限公司 | 嵌入式系统的监控管理方法和装置 |
CN105760276B (zh) * | 2016-02-19 | 2018-05-29 | 烽火通信科技股份有限公司 | 提高reboot命令重启可靠性并增加复位日志的方法 |
CN105760276A (zh) * | 2016-02-19 | 2016-07-13 | 烽火通信科技股份有限公司 | 提高reboot命令重启可靠性并增加复位日志的方法 |
CN106933319A (zh) * | 2016-11-25 | 2017-07-07 | 科诺伟业风能设备(北京)有限公司 | 一种变流器dsp上电复位控制方法 |
CN108804247A (zh) * | 2017-05-03 | 2018-11-13 | 大唐移动通信设备有限公司 | 一种处理器的启动判断方法和装置 |
CN107885626A (zh) * | 2017-11-03 | 2018-04-06 | 郑州云海信息技术有限公司 | 片上系统可编程器件的系统启动自检测的装置及方法 |
US11200837B2 (en) | 2018-09-25 | 2021-12-14 | Hisense Visual Technology Co., Ltd. | OLED display device, and method for controlling the OLED display device |
CN109688355A (zh) * | 2018-12-27 | 2019-04-26 | 青岛海信电器股份有限公司 | 一种oled电视的显示屏放电控制装置 |
CN113094107A (zh) * | 2021-03-18 | 2021-07-09 | 深圳市道通智能汽车有限公司 | 数据保护方法、装置、设备及计算机存储介质 |
CN113094107B (zh) * | 2021-03-18 | 2023-12-22 | 深圳市塞防科技有限公司 | 数据保护方法、装置、设备及计算机存储介质 |
CN117708886A (zh) * | 2024-02-05 | 2024-03-15 | 广州鲁邦通物联网科技股份有限公司 | 一种物联网设备的文件系统保护方法和装置 |
CN117708886B (zh) * | 2024-02-05 | 2024-05-07 | 广州鲁邦通物联网科技股份有限公司 | 一种物联网设备的文件系统保护方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514057A (zh) | 一种linux系统自愈方法、装置及自愈系统 | |
US7395455B2 (en) | System, method and program product for recovering from a failure | |
CN101354677B (zh) | 一种应用程序运行状态的检测方法及装置 | |
US8978025B2 (en) | Server and method for updating firmware of server | |
KR20140131981A (ko) | 사용자 공간 동기화를 사용하여 최대 절전 모드 및 재시작 프로세스를 향상시키는 방법 및 장치 | |
CN103885847A (zh) | 一种基于嵌入式系统的喂狗方法及装置 | |
US20110197193A1 (en) | Device and method for controlling communication between bios and bmc | |
CN115237644B (zh) | 系统故障处理方法、中央运算单元以及车辆 | |
CN111367743A (zh) | 一种循环重启测试过程中服务器掉电的诊断方法及系统 | |
CN104156289A (zh) | 基于检测电路的同步控制方法及系统 | |
US20060150002A1 (en) | Starting control method, duplex platform system, and information processor | |
US20220055637A1 (en) | Electronic control unit and computer readable medium | |
CN108829442B (zh) | 程序启动方法及装置 | |
US8656149B2 (en) | Rapid activation of service management processor subsystem for server device | |
US8245075B2 (en) | Overclocking CPU with stepwise increase in frequency by BIOS gaining control upon interrupt generated at predetermined intervals | |
CN102169451A (zh) | 一种监控cpu运行的方法和装置 | |
CN114791835B (zh) | 程序重启方法及装置、存储介质及电子装置 | |
CN107179911B (zh) | 一种重启管理引擎的方法和设备 | |
CN105022665A (zh) | Android锁定长时间未使用app的控制方法及其系统 | |
CN110740382B (zh) | 避免电视机非期望自动重启方法、装置、电视机及介质 | |
CN114860322A (zh) | 一种基板管理控制器、控制方法及电子设备 | |
CN111400113B (zh) | 一种计算机系统的整机自检方法、装置及系统 | |
CN111190776B (zh) | 服务器主板测试方法 | |
CN104142832A (zh) | 电脑装置及其重开机方法 | |
CN110908339B (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: 20140115 |