嵌入式系统异常恢复的方法和装置的制作方法

文档序号:6398743阅读:102来源:国知局
专利名称:嵌入式系统异常恢复的方法和装置的制作方法
技术领域
本发明涉及嵌入式技术领域,特别是涉及一种嵌入式系统异常恢复的方法和装置。
背景技术
随着嵌入式技术的发展,嵌入式设备功能日趋强大,复杂的嵌入式设备被设计成由多处理器组成的分布式架构,其对应的嵌入式系统也日趋庞大、复杂。在如此庞大的嵌入式系统运行过程中,会存在某个子模块发生异常的情况,在面对系统中某个功能模块发生异常时,需要系统对发生的异常情况进行及时的恢复处理。传统的异常恢复方法是:在异常发生后,重启嵌入式系统的子系统,甚至直接重启整个嵌入式系统。而在实际操作过程中,发生异常的功能模块往往只对该模块内部有影响,并不会影响到整个系统,此时将嵌入式系统的子系统或整个系统进行重启操作,对于现今庞大的嵌入式系统,会耗费大量的时间,直接影响了异常恢复的效率。针对现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,目前尚未提出有效地解决方案。

发明内容
本发明提供了一种嵌入式系统异常恢复的方法和装置,用以解决现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题。为解决上述技术问题,一方面,本发明提供一种嵌入式系统异常恢复的方法,该方法包括:确定嵌入式系统中发生异常的功能模块;获取当前发生异常的功能模块对应的属性参数,根据获取的属性参数,确定对应的恢复操作,以完成嵌入式系统的异常恢复。优选地,在获取当前发生异常的功能模块对应的属性参数之前,还包括:创建异常决策表,异常决策表记录有嵌入式系统中各个功能模块对应的属性参数。优选地,在获取当前发生异常的功能模块对应的属性之前,还包括:创建异常恢复表,异常恢复表记录有嵌入式系统中各个功能模块可执行的恢复操作。优选地,属性参数包括预定时间段内发生异常的次数和发生异常的时间点,根据获取的属性参数,确定对应的恢复操作,包括:根据发生异常的功能模块在预定时间段内发生异常的次数和发生异常的时间点,确定发生异常的功能模块在预定时间段内发生异常的频率;根据发生异常的频率的大小,在异常恢复表中选择对应的恢复操作。优选地,恢复操作包括以下之一:将发生异常的功能模块恢复至发生异常前预定的时间点;将发生异常的功能模块重启;将发生异常的功能模块所属的子系统重启;将嵌入式系统重启。优选地,在完成嵌入式系统的异常恢复之后,还包括:将发生异常的功能模块对应的异常信息进行保存。另一方面,本发明还提供一种嵌入式系统异常恢复的装置,包括:异常确定单元,用于确定嵌入式系统中发生异常的功能模块;异常恢复单元,用于获取当前发生异常的功能模块对应的属性参数,根据获取的属性参数,确定对应的恢复操作,以完成嵌入式系统的异常恢复。优选地,该装置还包括:第一创建单元,用于在获取当前发生异常的功能模块对应的属性参数之前,创建异常决策表,异常决策表记录有嵌入式系统中各个功能模块对应的属性参数。优选地,该装置还包括:第二创建单元,用于在获取当前发生异常的功能模块对应的属性之前,创建异常恢复表,异常恢复表记录有嵌入式系统中各个功能模块可执行的恢复操作。优选地,属性参数包括功能模块在预定时间段内发生异常的次数和发生异常的时间点,异常恢复单元包括:频率确定模块,用于根据发生异常的功能模块预定时间段内发生异常的次数和发生异常的时间点,确定发生异常的功能模块发生异常的频率;恢复操作确定模块,用于根据发生异常的频率的大小,在异常恢复表中选择对应的恢复操作。本发明有益效果如下:本发明中,在检测到嵌入式系统中某一功能模块发生异常时,获取该发生异常的功能模块相关的属性参数,根据获取的属性参数,确定发生异常模块的实际情况后,再选择对应的恢复操作完成系统的恢复。其中,在获取到的发生异常的功能模块的属性参数不同时,选择不同的恢复操作进行系统的恢复,这种处理方式有效地解决了现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,减少了系统异常恢复的时间。


图1是本发明实施例中嵌入式系统异常恢复的方法的一种优选的流程图;图2是本发明实施例中嵌入式系统异常恢复的装置的一种优选的结构框图;图3是本发明实施例中嵌入式系统异常恢复的装置的另一种优选的结构框图。
具体实施例方式为了解决现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,本发明提供了一种嵌入式系统异常恢复的方法和装置,下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。实施例1在本发明优选的实施例中,提供了一种嵌入式系统异常恢复的方法,图1示出该方法的一种优选的流程图,如图1所示,该方法包括如下步骤:S102,确定嵌入式系统中发生异常的功能模块;具体来说,通过进行检测,来确定嵌入式系统中发生异常的功能模块。优选地,检测的方式包括:被动检测和主动检测,其中,被动检测是指系统CPU检测到异常后,发送异常通知给相应的检测装置;主动检测是指检测装置通过主动的定时轮询机制对系统中各个功能模块进行异常的检测。
S104,获取当前发生异常的功能模块对应的属性参数,根据获取的属性参数,确定对应的恢复操作,以完成嵌入式系统的异常恢复。具体地,可以预先设置存储器来存储嵌入式系统中各个功能模块的属性参数,优选地,属性参数包括功能模块在预定时间段内发生异常的次数、以及每次异常对应的时间点、该功能模块发生异常是否影响整个系统等信息,根据这些属性参数,确定对应的恢复操作。例如,发生异常的功能模块近期预定时间段内(如3天)没有发生异常或发生异常的次数很少,且该功能模块发生异常并不会影响整个嵌入式系统,则不必将整个系统进行重启,只需重启该功能模块即可。上述优选的实施方式中,在检测到嵌入式系统中某一功能模块发生异常时,获取该发生异常的功能模块相关的属性参数,根据获取的属性参数,确定发生异常模块的实际情况后,再选择对应的恢复操作完成系统的恢复。其中,在获取到的发生异常的功能模块的属性参数不同时,选择不同的恢复操作进行系统的恢复,这种处理方式有效地解决了现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,减少了系统异常恢复的时间。在本发明的一个优选的实施方式中,还对上述提供的方法进行了优化,具体地,在获取当前发生异常的功能模块对应的属性参数之前,创建异常决策表,异常决策表记录有嵌入式系统中各个功能模块对应的属性参数。优选地,上述异常决策表的创建过程可以在系统初始化阶段完成。此外,可以每隔预定时间将该异常决策表中记录的属性参数进行更新,也可以在确定了发生异常的功能模块后,更新该功能模块对应的属性参数,再进行获取操作。在本发明的一个优选的实施方式中,还对上述提供的方法进行了进一步地优化,具体来说,在获取当前发生异常的功能模块对应的属性之前,还创建异常恢复表,异常恢复表记录有嵌入式系统中各个功能模块可执行的恢复操作。优选地,上述异常恢复表的创建过程可以在系统初始化阶段完成。具体地,可以根据上述异常决策表中记录的功能模块的属性参数,确定功能模块可执行的恢复操作,例如,某一功能模块的属性参数表明,该功能模块发生异常,并不对整个系统造成影响,因此,该功能模块对应的可执行操作包括:回到异常前某一预定的状态继续执行、重启功能模块、重启该功能模块所在的子系统等;若某一功能模块的属性参数表明,该功能模块发生异常,会直接影响整个嵌入式系统,所以该功能模块可执行的恢复操作仅为重启整个嵌入式系统。在本发明的一个优选地实施方式中,还对上述方法进行了进一步地优化,具体来说,属性参数包括功能模块在预定时间段内发生异常的次数和发生异常的时间点,根据获取的属性参数,确定对应的恢复操作包括如下步骤:根据发生异常的功能模块预定时间段内发生异常的次数和发生异常的时间点,确定发生异常的功能模块在该预定时间段内发生异常的频率;根据发生异常的频率的大小,在异常恢复表中选择对应的恢复操作。具体来说,例如,根据获取到的功能模块在预定时间段内发生异常的次数和发生异常的时间点,判断出该功能模块发生异常的频率低,则可将该功能模块进行重启即可;若判断出近期经常发生异常现象,频率比较高,则可选择重启该功能模块所在的子系统,或者重启整个嵌入式系统。在本发明的一个优选的实施方式中,还提供了如下优选的恢复操作:将发生异常的功能模块恢复至发生异常前预定的时间点;将发生异常的功能模块重启;将发生异常的功能模块所属的子系统重启;将嵌入式系统重启。优选地,根据功能模块发生异常频率由低到高,依次选择上述的恢复操作。本发明还提供了一种将发生异常的功能模块恢复至发生异常前预定的时间点的优选的实施方式,具体来说,可以在发生异常前预定的时间点的位置,保存当前的上下文信息和一些必要的任务状态信息,优选地,上下文信息通过获取当前CPU寄存器内容获取,需要保存的任务状态信息包括但不限于:任务占用的资源ID、信号掩码;当检测到某一功能模块发生异常,且确定的恢复操作为恢复至发生异常前预定的时间点时,查找之前保存的上下文信息和任务状态信息,直接跳转到对应的时间点继续执行。按照这种跳转的方式进行异常恢复,消耗时间短,基本相当于一次函数调用耗费的时间。此外,本发明还对上述方法进行了进一步地优化,具体来说,在完成嵌入式系统的异常恢复之后,将发生异常的功能模块对应的异常信息进行保存。优选地,根据确定恢复操作的不同,保存异常信息到不同的存储区域:对于不需要重启CPU的异常,简要保存上下文信息至普通内存区中;对于需要重启CPU的异常,详细保存到非易失性内存,再择机转存到外部储存器。其中,外部存储器包括但不限于硬盘、FLASH、磁盘等。优选地,异常恢复之后,根据异常恢复的方式,决定是否更新异常决策表中对应的参数。实施例2基于上述实施例1提供的方法,本优选的实施例提供了一种嵌入式系统异常恢复的装置,具体地,如图2所示,该装置包括:异常确定单元202,用于确定嵌入式系统中发生异常的功能模块;具体来说,通过进行检测,来确定嵌入式系统中是否发生异常的功能模块。优选地,检测的方式包括:被动检测和主动检测,其中,被动检测是指系统CPU检测到异常后,发送异常通知给异常确定单元202 ;主动检测是指异常确定单元202通过主动的定时轮询机制对系统中各个功能模块进行异常的检测。异常恢复单元204,用于获取当前发生异常的功能模块对应的属性参数,根据获取的属性参数,确定对应的恢复操作,以完成嵌入式系统的异常恢复。具体地,可以预先设置存储器来存储嵌入式系统中各个功能模块的属性参数,优选地,属性参数包括功能模块在预定时间段内发生异常的次数、以及每次异常对应的时间点、该功能模块发生异常是否影响整个系统等信息,根据这些属性参数,确定对应的恢复操作。例如,发生异常的功能模块近期预定时间段内(如3天)没有发生异常或发生异常的次数很少,且该功能模块发生异常并不会影响整个嵌入式系统,则不必将整个系统进行重启,只需重启该功能模块即可。上述优选的实施方式中,在检测到嵌入式系统中某一功能模块发生异常时,获取该发生异常的功能模块相关的属性参数,根据获取的属性参数,确定发生异常模块的实际情况后,再选择对应的恢复操作完成系统的恢复。其中,在获取到的发生异常的功能模块的属性参数不同时,选择不同的恢复操作进行系统的恢复,这种处理方式有效地解决了现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,减少了系统异常恢复的时间。在本发明的一个优选的实施方式中,还对上述提供的装置进行了优化,具体地,如图3所示,该装置还包括:第一创建单元302,与异常恢复单元204连接,用于在获取当前发生异常的功能模块对应的属性参数之前,创建异常决策表,异常决策表记录有嵌入式系统中各个功能模块对应的属性参数。优选地,上述异常决策表的创建过程可以在系统初始化阶段完成。此外,可以每隔预定时间将该异常决策表中记录的属性参数进行更新,也可以在确定了发生异常的功能模块后,更新该功能模块对应的属性参数,再进行获取操作。优选地,如图3所示,该装置还包括:第二创建单元304,与异常恢复单元204连接,用于在获取当前发生异常的功能模块对应的属性之前,创建异常恢复表,异常恢复表记录有嵌入式系统中各个功能模块可执行的恢复操作。优选地,上述异常恢复表的创建过程可以在系统初始化阶段完成。具体地,可以根据上述异常决策表中记录的功能模块的属性参数,确定功能模块可执行的恢复操作,例如,某一功能模块的属性参数表明,该功能模块发生异常,并不对整个系统造成影响,因此,该功能模块对应的可执行操作包括:回到异常前某一预定的状态继续执行、重启功能模块、重启该功能模块所在的子系统等;若某一功能模块的属性参数表明,该功能模块发生异常,会直接影响整个嵌入式系统,所以该功能模块可执行的恢复操作仅为重启整个嵌入式系统。优选地,属性参数包括功能模块在预定时间段内发生异常的次数和发生异常的时间点,异常恢复单元包括:频率确定模块,用于根据发生异常的功能模块在预定时间段内发生异常的次数和发生异常的时间点,确定发生异常的功能模块发生异常的频率;恢复操作确定模块,用于根据发生异常的频率的大小,在异常恢复表中选择对应的恢复操作。具体来说,例如,根据获取到的功能模块在预定时间段内发生异常的次数和发生异常的时间点,判断出该功能模块发生异常的频率低,则可将该功能模块进行重启即可;若判断出近期经常发生异常现象,频率比较高,则可选择重启该功能模块所在的子系统,或者重启整个嵌入式系统。在本发明的一个优选的实施方式中,还提供了如下优选的恢复操作:将发生异常的功能模块恢复至发生异常前预定的时间点;将发生异常的功能模块重启;将发生异常的功能模块所属的子系统重启;将嵌入式系统重启。优选地,根据功能模块发生异常频率由低到高,依次选择上述的恢复操作。本发明还提供了一种将发生异常的功能模块恢复至发生异常前预定的时间点的优选的实施方式,具体来说,可以在发生异常前预定的时间点的位置,保存当前的上下文信息和一些必要的任务状态信息,优选地,上下文信息通过获取当前CPU寄存器内容获取,需要保存的任务状态信息包括但不限于:任务占用的资源ID、信号掩码;当检测到某一功能模块发生异常,且确定的恢复操作为恢复至发生异常前预定的时间点时,查找之前保存的上下文信息和任务状态信息,直接跳转到对应的时间点继续执行。按照这种跳转的方式进行异常恢复,消耗时间短,基本相当于一次函数调用耗费的时间。此外,本发明还对上述方装置进行了进一步地优化,具体来说,该装置还包括存储单元,用于在完成嵌入式系统的异常恢复之后,将发生异常的功能模块对应的异常信息进行保存。优选地,根据确定恢复操作的不同,保存异常信息到不同的存储区域:对于不需要重启CPU的异常,简要保存上下文信息至普通内存区中;对于需要重启CPU的异常,详细保存到非易失性内存,再择机转存到外部储存器。其中,外部存储器包括但不限于硬盘、FLASH、磁盘等。优选地,异常恢复之后,根据异常恢复的方式,决定是否更新异常决策表中对应的参数。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
权利要求
1.一种嵌入式系统异常恢复的方法,其特征在于,所述方法包括以下步骤: 确定嵌入式系统中发生异常的功能模块; 获取当前所述发生异常的功能模块对应的属性参数,根据获取的所述属性参数,确定对应的恢复操作,以完成所述嵌入式系统的异常恢复。
2.如权利要求1所述的方法,其特征在于,在所述获取当前所述发生异常的功能模块对应的属性参数之前,还包括: 创建异常决策表,所述异常决策表记录有所述嵌入式系统中各个功能模块对应的属性参数。
3.如权利要求1或2所述的方法,其特征在于,在所述获取当前所述发生异常的功能模块对应的属性之前,还包括: 创建异常恢复表,所述异常恢复表记录有所述嵌入式系统中各个功能模块可执行的恢复操作。
4.如权利要求3所述的方法,其特征在于,所述属性参数包括功能模块在预定时间段内发生异常的次数和发生异常的时间点,所述根据获取的所述属性参数,确定对应的恢复操作,包括: 根据所述发生异常的功能模块在所述预定时间段内发生异常的次数和发生异常的时间点,确定所述发生异常的功能模块在所述预定时间段内发生异常的频率; 根据所述发生异常的频率的大小,在所述异常恢复表中选择对应的恢复操作。
5.如权利要求1、2或4中任一项所述的方法,其特征在于,所述恢复操作包括以下之 将所述发生异常的功能模块恢复至发生异常前预定的时间点; 将所述发生异常的功能模块重启; 将所述发生异常的功能模块所属的子系统重启; 将所述嵌入式系统重启。
6.如权利要求5所述的方法,其特征在于,在完成所述嵌入式系统的异常恢复之后,还包括: 将所述发生异常的功能模块对应的异常信息进行保存。
7.一种嵌入式系统异常恢复的装置,其特征在于,包括: 异常确定单元,用于确定嵌入式系统中发生异常的功能模块; 异常恢复单元,用于获取当前所述发生异常的功能模块对应的属性参数,根据获取的所述属性参数,确定对应的恢复操作,以完成所述嵌入式系统的异常恢复。
8.如权利要求7所述的装置,其特征在于,还包括: 第一创建单元,用于在获取当前所述发生异常的功能模块对应的属性参数之前,创建异常决策表,所述异常决策表记录有所述嵌入式系统中各个功能模块对应的属性参数。
9.如权利要求7或8所述的装置,其特征在于,还包括: 第二创建单元,用于在获取当前所述发生异常的功能模块对应的属性之前,创建异常恢复表,所述异常恢复表记录有所述嵌入式系统中各个功能模块可执行的恢复操作。
10.如权利要求9所述的装置,其特征在于,所述属性参数包括功能模块在预定时间段内发生异常的次数和发生异常的时间点,所述异常恢复单元包括:频率确定模块,用于根据所述发生异常的功能模块在所述预定时间段内发生异常的次数和发生异常的时间点,确定所述发生异常的功能模块在所述预定时间段内发生异常的频率; 恢复操作确定模块,用于根据所述发生异常的频率的大小,在所述异常恢复表中选择对应的 恢复操作。
全文摘要
本发明公开了一种嵌入式系统异常恢复的方法和装置,其中,该方法包括确定嵌入式系统中发生异常的功能模块;获取当前发生异常的功能模块对应的属性参数,根据获取的属性参数,确定对应的恢复操作,以完成嵌入式系统的异常恢复。本发明有效地解决了现有技术中处理嵌入式系统发生异常时,需要重启整个嵌入式系统或子系统,导致耗费大量时间的问题,减少了系统异常恢复的时间。
文档编号G06F11/00GK103150222SQ20131003286
公开日2013年6月12日 申请日期2013年1月28日 优先权日2013年1月28日
发明者张磊, 王刚, 杨青海 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1