CN102541682A - 嵌入式系统中程序异常快速自行恢复方法 - Google Patents
嵌入式系统中程序异常快速自行恢复方法 Download PDFInfo
- Publication number
- CN102541682A CN102541682A CN2010106166197A CN201010616619A CN102541682A CN 102541682 A CN102541682 A CN 102541682A CN 2010106166197 A CN2010106166197 A CN 2010106166197A CN 201010616619 A CN201010616619 A CN 201010616619A CN 102541682 A CN102541682 A CN 102541682A
- Authority
- CN
- China
- Prior art keywords
- program
- program module
- original program
- original
- module
- 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
Abstract
本发明公开一种嵌入式系统中程序异常快速自行恢复方法,将系统原程序拷贝在一程序模块内;所述程序模块先于所述系统原程序启动,并定期对所述系统原程序进行检测;如所述程序模块检测所述系统原程序启动异常,则通过所述程序模块内的所述系统原程序的拷贝修复异常的所述系统原程序,如所述程序模块检测所述系统原程序运行异常,通过所述程序模块控制所述系统原程序重启。本发明稳定性系统检测方法,能够有效地提升较高系统稳定系的可靠性能,并且减少系统运行异常带来的损失。
Description
技术领域
本发明涉及一种通信技术领域,尤其涉及一种长时间运行的嵌入式系统中程序异常快速自动恢复的方法。
背景技术
现今,当一些嵌入式系统中,为了保证程序运行错误后能够自恢复,需要使用一种监控芯片,程序正常运行时定时向监控芯片给出信号,当系统运行异常或崩溃后监控芯片接收信号超时则重新启动系统以达到自恢复的目的。如图1所示,设备启动,系统原程序1开始运行,若系统原程序1中的某一子程序出现异常情况,系统向硬件发出复位信号,若程序复位后异常消失,则系统恢复正常运行,若复位后异常未消失,则系统继续发出硬件复位。这种流程能够实现大部分错误的自恢复,但也存在如下缺陷:如系统一次重启后恢复时间较长;硬件的重启可能对系统产生损坏等等问题。
发明内容
本发明嵌入式系统中程序异常快速自行恢复方法的目的在于克服现有技术的不足,提供一种程序错误自动恢复的处理方法。
为了实现上述目的,本发明采取的技术方案为:
一种嵌入式系统中程序异常快速自行恢复方法,其中,将系统原程序拷贝在一程序模块内;所述程序模块先于所述系统原程序启动,并定期对所述系统原程序进行检测;如所述程序模块检测所述系统原程序启动异常,则通过所述程序模块内的所述系统原程序的拷贝修复异常的所述系统原程序,如所述程序模块检测所述系统原程序运行异常,通过所述程序模块控制所述系统原程序重启。
本发明的第一实施例中,所述系统原程序中含有多个子程序;所述程序模块监控所述多个子程序,所述程序模块通过所述无法启动的子程序相对应的拷贝来对异常的所述子程序进行修复。
本发明的第二实施例中,所述程序模块检测所述系统原程序出现无法处理错误,系统设备向硬件看门狗发出复位信号,所述硬件看门狗对整个嵌入式系统进行硬件重启。
本发明的第三实施例中,在系统升级过程中产生的错误,所述程序模块使用所述系统原程序的拷贝进行恢复,修复升级失败产生的问题。
本发明的第四实施例中,所述程序模块检测系统出现无法处理错误,所述程序模块激活硬件看门狗复位。
本发明由于采用了上述技术,使之具有的积极效果是:
(1)提升较高系统稳定系数的可靠性能。
(2)减少系统运行异常带来的损失。
附图说明
图1是未使用本发明的设备系统启动异常恢复的流程图;
图2是使用本发明的设备系统启动异常恢复的流程图。
具体实施方式
以下结合附图给出本发明嵌入式系统中程序异常快速自行恢复方法的具体实施方式。
图2为使用本发明的设备系统启动异常恢复的流程图,请参见图2所示,一种嵌入式系统中程序异常快速自行恢复方法,在一个设备系统中包含有系统原程序1,且系统原程序1拷贝在一程序模块2内,使得程序模块2内包含有系统原程序1的拷贝,且程序模块2和系统原程序1能够同时运行。在实际系统运行时,程序模块2优先于系统原程序1启动,使得程序模块2能够对系统原程序1进行全程的监控,而且在程序模块2运行的过程中能够同时定期对系统原程序1进行检测。如果程序模块2检测出系统原程序1启动异常,则通过程序模块2内的系统原程序1的拷贝来对系统原程序1中的异常进行拷贝修复,使得系统原程序1能够恢复并正常运行;如果程序模块2检测出系统原程序1运行过程中的异常时,则通过程序模块2控制系统原程序1重启。
假设系统原程序1,其包含有多个子程序11,则多个子程序11可以为相互提供独立运行功能的程序,或是相互依赖运行的程序组,并且子程序11共同在系统中运行。程序模块2监控子程序11,由于程序模块2中包含系统原程序1的拷贝,则系统模块2内的系统原程序1拷贝分别对应监控各个子程序11。程序模块2对系统原程序1进行检测,如果检测出子程序11中的一个或者多个因文件损坏导致系统原程序1无法启动运行,程序模块2使用相对应错误子程序11的拷贝来对其修复,最终使得系统原程序1能够正常运行。
在实际设备运行过程中,程序模块2还可能检测出系统原程序1中含有无法处理的错误,则系统设备向硬件看门狗发出复位信号,以对整个系统设备进行硬件的重启。
在设备运行过程中,可能需对系统进行升级处理,若在在系统升级过程中产生的突然断电,程序模块2使用系统原程序1的拷贝来对其修复,恢复升级失败产生的问题。若有其他异常导致系统无法启动,程序模块2也能使用系统原程序1的拷贝来对其修复,恢复升级失败产生的问题。
若程序模块2在运行过程中检测处系统无法处理的错误,则程序模块2激活硬件看门狗进行复位,硬件看门狗对整个系统设备进行硬件重启。
本发明嵌入式系统中程序异常快速自行恢复方法,在系统启动后,程序模块和系统原程序开始运行,在系统原程序运行异常时,程序模块能够对其进行错误模块的重加载及拷贝修复,无法恢复则进行系统原程序的重加载,所有运行过程没有复位硬件,即可解决大部分的异常,有效地提高系统的稳定性。
本发明通过使用一个系统恢复的维护程序,可将原先硬件重启需要花费较长时间的问题减少至10秒内恢复,对于一些可靠性要求较高的系统的稳定系数提升一个等级,大幅减少系统运行异常带来的损失。在整个系统启动后,程序模块全程监控系统原程序的运行,若系统原程序运行异常时,程序模块能够对其进行错误模块的重加载及拷贝修复,无法恢复则进行系统原程序的重加载,所有运行过程没有复位硬件,即可解决大部分的异常,也有效地提高系统的稳定性。以网络硬盘录像机为例进行测试,发现不使用本发明,对于异常的恢复时间约 90-100秒左右,若使用本发明的情况下,对异常的恢复时间减少至 10秒左右(因错误模块不同,恢复时间不等),可以将网络硬盘录像机因异常导致的未录像时间减少90%。
综上所述,使用本发明嵌入式系统中程序异常快速自行恢复方法,能够有效地提升较高系统稳定系数的可靠性能,并且减少系统运行异常带来的损失。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的方法和处理过程应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种嵌入式系统中程序异常快速自行恢复方法,其特征在于,将系统原程序拷贝在一程序模块内;所述程序模块先于所述系统原程序启动,并定期对所述系统原程序进行检测;如所述程序模块检测所述系统原程序启动异常,则通过所述程序模块内的所述系统原程序的拷贝修复异常的所述系统原程序,如所述程序模块检测所述系统原程序运行异常,通过所述程序模块控制所述系统原程序重启。
2.根据权利要求1所述嵌入式系统中程序异常快速自行恢复方法,其特征在于,所述系统原程序中含有多个子程序;所述程序模块监控所述多个子程序,所述程序模块通过所述无法启动的子程序相对应的拷贝来对异常的所述子程序进行修复。
3.根据权利要求2所述嵌入式系统中程序异常快速自行恢复方法,其特征在于,所述程序模块检测所述系统原程序出现无法处理错误,系统设备向硬件看门狗发出复位信号,所述硬件看门狗对整个嵌入式系统进行硬件重启。
4.根据权利要求1所述嵌入式系统中程序异常快速自行恢复方法,其特征在于,在系统升级过程中产生的错误,所述程序模块使用所述系统原程序的拷贝进行恢复,修复升级失败产生的问题。
5.根据权利要求1所述嵌入式系统中程序异常快速自行恢复方法,其特征在于,如果所述程序模块检测系统出现无法处理错误,所述程序模块激活硬件看门狗复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106166197A CN102541682A (zh) | 2010-12-31 | 2010-12-31 | 嵌入式系统中程序异常快速自行恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106166197A CN102541682A (zh) | 2010-12-31 | 2010-12-31 | 嵌入式系统中程序异常快速自行恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541682A true CN102541682A (zh) | 2012-07-04 |
Family
ID=46348634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106166197A Pending CN102541682A (zh) | 2010-12-31 | 2010-12-31 | 嵌入式系统中程序异常快速自行恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541682A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014067071A1 (zh) * | 2012-10-30 | 2014-05-08 | 深圳市多尼卡电子技术有限公司 | 一种播放器的播放控制方法及系统 |
CN103970119A (zh) * | 2013-02-06 | 2014-08-06 | 施耐德电器工业公司 | 可编程逻辑控制器的错误处理方法 |
CN104063477A (zh) * | 2014-06-30 | 2014-09-24 | 广东威创视讯科技股份有限公司 | 嵌入式系统启动异常的处理方法及装置 |
CN104133931A (zh) * | 2013-05-02 | 2014-11-05 | 国际商业机器公司 | 用于检测组合等效电路设计中的相应路径的方法和系统 |
CN104346239A (zh) * | 2014-06-27 | 2015-02-11 | 国家电网公司 | 嵌入式系统中应用程序的异常恢复方法和装置 |
CN106201773A (zh) * | 2016-06-24 | 2016-12-07 | 北京海誉动想科技股份有限公司 | 实例系统、云系统及实例系统的升级或恢复方法 |
CN109218044A (zh) * | 2017-06-30 | 2019-01-15 | 贵州白山云科技股份有限公司 | 一种故障处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126511A1 (en) * | 2001-12-28 | 2003-07-03 | Jen-Tsung Yang | Module and method for automatic restoring BIOS device |
CN101021797A (zh) * | 2007-04-06 | 2007-08-22 | 中兴通讯股份有限公司 | 一种用于嵌入式系统的软件修复和升级方法 |
CN101206599A (zh) * | 2006-12-19 | 2008-06-25 | 深圳市顶星数码网络技术有限公司 | 计算机主板设备诊断和隔离方法 |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
CN101526910A (zh) * | 2009-03-30 | 2009-09-09 | 华为技术有限公司 | 一种BootRom备份方法及装置 |
CN101916216A (zh) * | 2010-09-08 | 2010-12-15 | 神州数码网络(北京)有限公司 | 一种嵌入式操作系统中bootrom的自动修复装置和控制方法 |
-
2010
- 2010-12-31 CN CN2010106166197A patent/CN102541682A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126511A1 (en) * | 2001-12-28 | 2003-07-03 | Jen-Tsung Yang | Module and method for automatic restoring BIOS device |
CN101206599A (zh) * | 2006-12-19 | 2008-06-25 | 深圳市顶星数码网络技术有限公司 | 计算机主板设备诊断和隔离方法 |
CN101021797A (zh) * | 2007-04-06 | 2007-08-22 | 中兴通讯股份有限公司 | 一种用于嵌入式系统的软件修复和升级方法 |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
CN101526910A (zh) * | 2009-03-30 | 2009-09-09 | 华为技术有限公司 | 一种BootRom备份方法及装置 |
CN101916216A (zh) * | 2010-09-08 | 2010-12-15 | 神州数码网络(北京)有限公司 | 一种嵌入式操作系统中bootrom的自动修复装置和控制方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169876A (zh) * | 2012-10-30 | 2014-11-26 | 深圳市多尼卡电子技术有限公司 | 一种播放器的播放控制方法及系统 |
WO2014067071A1 (zh) * | 2012-10-30 | 2014-05-08 | 深圳市多尼卡电子技术有限公司 | 一种播放器的播放控制方法及系统 |
CN103970119A (zh) * | 2013-02-06 | 2014-08-06 | 施耐德电器工业公司 | 可编程逻辑控制器的错误处理方法 |
CN103970119B (zh) * | 2013-02-06 | 2016-12-28 | 施耐德电器工业公司 | 可编程逻辑控制器的错误处理方法 |
CN104133931B (zh) * | 2013-05-02 | 2018-01-09 | 国际商业机器公司 | 用于检测组合等效电路设计中的相应路径的方法和系统 |
CN104133931A (zh) * | 2013-05-02 | 2014-11-05 | 国际商业机器公司 | 用于检测组合等效电路设计中的相应路径的方法和系统 |
CN104346239A (zh) * | 2014-06-27 | 2015-02-11 | 国家电网公司 | 嵌入式系统中应用程序的异常恢复方法和装置 |
CN104346239B (zh) * | 2014-06-27 | 2018-06-05 | 国家电网公司 | 嵌入式系统中应用程序的异常恢复方法和装置 |
CN104063477B (zh) * | 2014-06-30 | 2017-08-29 | 广东威创视讯科技股份有限公司 | 嵌入式系统启动异常的处理方法及装置 |
CN104063477A (zh) * | 2014-06-30 | 2014-09-24 | 广东威创视讯科技股份有限公司 | 嵌入式系统启动异常的处理方法及装置 |
CN106201773A (zh) * | 2016-06-24 | 2016-12-07 | 北京海誉动想科技股份有限公司 | 实例系统、云系统及实例系统的升级或恢复方法 |
CN109218044A (zh) * | 2017-06-30 | 2019-01-15 | 贵州白山云科技股份有限公司 | 一种故障处理方法和装置 |
CN109218044B (zh) * | 2017-06-30 | 2021-07-13 | 贵州白山云科技股份有限公司 | 一种故障处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541682A (zh) | 嵌入式系统中程序异常快速自行恢复方法 | |
CN100388217C (zh) | 用于通信系统中的动态阈值缩放的方法和系统 | |
CN101221508B (zh) | 一种设备启动方法和装置 | |
CN101232397B (zh) | 多控制器系统修复的方法和装置 | |
US9244773B2 (en) | Apparatus and method for handling abnormalities occurring during startup | |
CN103428333B (zh) | 移动终端、服务器和错误修复方法 | |
CN102799499B (zh) | 车载Android设备系统恢复的方法及车载Android设备 | |
CN103713925A (zh) | 避免存储阵列在升级过程的业务中断方法和装置 | |
US20080270827A1 (en) | Recovering diagnostic data after out-of-band data capture failure | |
CN102541739B (zh) | Linux操作系统的测试方法和装置 | |
CN102163152A (zh) | 嵌入式终端设备的软件升级方法及装置 | |
CN109471670A (zh) | 设备启动方法及电子设备 | |
US20140140135A1 (en) | Storage device, recovery method, and recording medium for recovery program | |
CN111767172A (zh) | 一种基于看门狗及bootloader的机顶盒自修复办法 | |
CN101207519A (zh) | 版本服务器、操作维护单元及其故障的恢复方法 | |
CN111581021B (zh) | 应用程序启动异常的修复方法、装置、设备及存储介质 | |
CN113825164A (zh) | 网络故障修复方法、装置、存储介质及电子设备 | |
CN103793292A (zh) | 用于磁盘阵列的容灾恢复方法 | |
CN103513996A (zh) | 终端设备的Android系统恢复方法及该终端设备 | |
CN111917576A (zh) | 存储集群的控制方法和装置 | |
CN103713911A (zh) | 一种单版本升级方法和装置 | |
KR20140140719A (ko) | 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 | |
WO2012097761A1 (zh) | 数据卡与主机间通信异常的修复方法及数据卡 | |
CN111221680A (zh) | 一种数据中心交换机系统自动管理方法及装置 | |
CN111338456A (zh) | 一种bbu掉电保护实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |