通信设备复位信息保存方法

文档序号:6436143阅读:122来源:国知局
专利名称:通信设备复位信息保存方法
技术领域
本发明涉及网络、通信设备技术领域,具体涉及一种通信设备复位信息保存方法。
背景技术
随着互联网技术应用日益普及和信息处理技术的不断发展,通信系统从以前的单机或小局域系统发展至大局域网系统、广域网系统,通信设备也随之更复杂多样。为了保障通信系统的畅通,首先要保证通信设备的可靠运行,因此对通信设备的维护尤其重要,比如实时监控设备本身的各种运行参数和状态、提供预警功能和故障诊断功能等。通信设备在网上运行时会因为多种原因造成设备内的单板复位,比如,上电复位、硬件狗复位、按钮复位、软件主动复位等。设备需要将这些复位信息保存起来,以便维护人员对复位原因进行定位,监测设备运行的稳定性,并加快故障排除的效率。
通信设备的运行通常需要两种软件,分别为BIOS(基本输入/输出系统)和单板上的业务软件。设备启动时,首先运行BIOS,然后由BIOS来引导业务软件运行。
在现有通信设备中,通常只记录业务软件的复位信息,BIOS的复位信息没有记录。业务软件的复位流程如图1所示业务软件主动复位时会将复位信息(复位类型、复位时间等)先写到内存中,当软件复位重新启动后再将内存中的数据保存到掉电保持介质中。如果复位是由硬件产生的,则由于BIOS比业务软件先启动,并且会对硬件进行初始化,因此,当启动到业务软件的时候,可能查询不到复位信息。
而且,在对设备进行维护、测试等过程中,经常需要根据设备记录的复位信息来准确定位故障的原因,以便更好地测试设备参数,优化设备性能,因此,就需要首先正确区分设备复位的原因是由软件产生,还是由硬件产生,对硬件复位进行记录。目前这种只记录业务软件复位信息的方式,不能准确得到上电复位、按钮复位、硬件狗复位等硬件复位信息,也就无法使设备维护人员准确定位复位原因。

发明内容
本发明的目的是提供一种通信设备复位信息保存方法,以解决现有技术中不能全面记录设备的各种复位信息的缺点,以准确定位设备的复位信息,进而方便地确定设备故障原因。
本发明的目的是通过以下技术方案实现的一种通信设备复位信息保存方法,所述方法包括A、在所述设备的内存中设置复位信息共享存储区;B、当有软件复位时,将软件复位信息记录到所述共享存储区中对应的位置;C、当所述设备启动时,由所述BIOS判断设备复位类型;D、根据所述设备复位类型修改所述软件复位信息;E、当所述设备的软件运行时,将修改后的软件复位信息保存到掉电保持介质上。
所述步骤A包括A1、设定所述共享存储区为保留内存;A2、将所述共享存储区划分为第一存储区和第二存储区。
所述软件复位包括BIOS软件复位和业务软件复位。
所述步骤B包括将业务软件复位信息记录到所述第一存储区;
将BIOS软件复位信息记录到所述第二存储区。
所述步骤C具体为所述BIOS根据所述设备硬件提供的复位状态寄存器判断是硬件复位还是软件复位。
所述步骤D具体为当复位类型为硬件复位时,清除所述第一存储区的内容,并将硬件复位信息保存到所述第一存储区;同时,清除所述第二存储区的内容,并将硬件复位信息保存到所述第二存储区。
所述步骤E具体为分别将所述第一存储区的复位信息和所述第二存储区的复位信息保存到掉电保持介质上。
所述掉电保持介质包括电可擦除只读存储器、闪存。
所述软件复位信息包括复位类型、软件类型、复位时间、状态信息。
所述硬件复位信息包括复位类型、复位时间、状态信息。
由以上本发明提供的技术方案可以看出,本发明通过将设备中单板的内存划分为不同的存储区域,对不同状态下的复位信息分别进行存储,使在BIOS下复位时仍然可以正确地保存业务软件的复位信息,而且区分了是业务软件复位还是BIOS复位。通过将复位信息保存到掉电保持介质中,使设备维护人员可以准确地定位复位原因,有利于单板返回维修时的问题定位。


图1是现有技术中业务软件复位信息保存流程图;图2是本发明方法的实现流程图;图3是设备启动时对硬件复位信息的保存流程图;图4是产生BIOS软件复位时复位信息的保存流程图;图5是产生业务软件复位时复位信息的保存流程图。
具体实施例方式
本发明的核心在于将设备中单板的内存划分为不同的存储区域,对不同状态下的复位信息分别进行存储,并将复位信息保存到掉电保持介质中。
本技术领域人员知道,设备的复位通常有以下几种类型上电复位、冷复位(又叫硬复位)、热复位(又叫软复位)、按钮复位、硬件狗复位、软件狗复位等。其中,上电复位即单板上电软件启动,是指单板每上电一次产生的复位。
冷复位CPU和关键的业务芯片,比如DSP(数字信号处理)芯片、FPGA(可编程逻辑阵列)芯片复位。
热复位CPU复位或软件重新运行,但关键业务芯片不复位。一般是软件的主动复位。
按钮复位通过单板上的按钮引起的复位,一般是人为操作。
硬件狗复位硬件看门狗电路溢出引起的CPU或业务芯片的复位。
软件狗复位软件运行过程中发现CPU占用率长时间为100%时而引发的软件主动复位。
对于这些不同的复位类型,可以将其中的上电复位、冷复位、按钮复位、硬件狗复位统称为硬件复位;将其中的热复位、软件狗复位统称为软件复位。
由于设备业务软件的启动需要BIOS的引导,因此最先知道当前复位原因的软件是BIOS(基本输入/输出系统),这样就需要一个机制把BIOS中查询到的复位信息传递给软件,再由软件将其记录到掉电保持介质中,比如,保存到FLASH(闪存)中。
本发明就是基于上述思想,在设备启动时由BIOS对不同的复位类型进行识别,对不同状态的复位信息进行有效、完整的记录,以供查询。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2是本发明方法的流程图,包括以下步骤步骤201在设备的内存中设置复位信息共享存储区。
将该共享存储区作为保留内存,用于复位信息的暂存及传递,例如,将内存的最前端或最后端一段空间作为共享存储区,此段空间对于操作系统和一般程序用户是不可见的,所以此段存储空间不会被改写或清除。
本技术领域人员知道,BIOS也可以看作是一种软件,但它和一般的软件又有重要的区别,因其与设备硬件紧密相连,负责保存设备最重要的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序等责任。设备接上电源启动后,BIOS就开始接管设备启动的所有自检工作。通常,系统首先由上电自检程序来对内部各个单元进行检查,包括对CPU、内存、ROM、串并口等进行测试;然后BIOS就读入操作系统引导记录,最后将系统控制权交给引导记录,通过引导记录引导业务程序运行。如果对设备进行硬件复位,比如,上电复位、按钮复位等,则BIOS需要重新运行,并对系统重新设置;如果是在业务软件运行过程中产生软件复位,则BIOS不需对系统重新设置,只需通过引导记录重新引导业务程序运行即可;如果是在BIOS运行过程中产生BIOS主动复位,同样需要记录该复位信息,以便准确区分不同的复位类别。
因此,为了更好地区分复位类别,还需要将该共享存储区划分为第一存储区和第二存储区。其中,第一存储区用于保存业务软件的复位信息,第二存储区用于保存BIOS软件的复位信息,以便准确区分复位类别。
步骤202当有软件复位时,将软件复位信息记录到共享存储区内对应的位置。其中,所述软件复位包括BIOS软件复位和业务软件复位。也就是说,如果是业务软件产生的复位,则将其复位信息存储到第一存储区;如果是BIOS软件产生的复位,则将其复位信息存储到第二存储区。
可以保存以下软件复位信息复位类型、软件类型、复位时间、状态信息。
这样,当软件复位后,重新运行该软件时可以获取该区域内存储的复位信息。
步骤203当设备启动时,由BIOS判断设备复位类型。
BIOS可以根据设备硬件提供的复位状态寄存器的状态来判断是硬复位还是软复位。对于软复位则通过内存中记录的复位信息可以获取软件的类型等信息。对于硬复位,则可以在硬件提供的复位状态寄存器中读取到具体是上电复位、硬件狗复位还是按钮复位等复位类型。
步骤204根据设备复位类型修改软件复位信息。
因为BIOS能够识别设备的复位类型,若为软件复位,则可以将复位信息直接记录到对应的存储区中;若为硬件复位,则只能记录再次启动时刻的信息作为硬件复位信息,该硬件复位信息包括复位类型、复位时间、状态信息。在记录时复位类型设置为硬件复位,复位时间为再次启动时刻的时间。
因此,当复位类型为硬件复位时,清除所述第一存储区的内容,并将硬件复位信息保存到所述第二存储区;同时,清除所述第二存储区的内容,并将硬件复位信息保存到所述第二存储区。
这样,在第一存储区和第二存储区中分别存储了相同的硬件复位信息,在软件运行后,就可以将该信息分别保存到掉电介质上,比如,将第一存储区的硬件复位信息保存到掉电介质上存储业务软件复位信息的区域,将第二存储区的硬件复位信息保存到掉电介质上存储BIOS软件复位信息的区域。因为硬件的复位不仅会影响业务软件的运行,同样也会影响BIOS软件的运行,因此,不论查询业务软件复位信息还是BIOS软件复位信息时都能够查询到该硬件复位信息。
步骤205当设备的业务软件运行时,将修改后的软件复位信息保存到掉电保持介质上。分别将第一存储区的复位信息和第二存储区的复位信息保存到掉电保持介质上。掉电保持介质可以使用电可擦除只读存储器、闪存等,可以在设备单板上设计专用的存储芯片,也可以和其他需要掉电保存的信息共享同一个芯片,以简化设计,并减少设计成本。
为了使本技术领域人员更好地了解本发明,下面结合设备的启动及运行过程详细说明不同类型复位下复位信息的保存过程。
参照图3,图3是设备启动时对硬件复位信息的保存流程,包括以下步骤步骤301硬件复位使设备重新启动,比如按钮复位,当然也可以是设备上电启动。
此时,要进到步骤302BIOS软件运行,以根据BIOS保存的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序完成其功能。
进到步骤303BIOS判断是否为硬件复位。
如果是硬件复位,则进到步骤304分别将硬件复位信息记录到第一存储区和第二存储区,当然,记录的复位时间信息是启动时刻的时间信息,而不是真正复位动作产生时刻的时间信息。
如果不是硬件复位,则直接进到步骤305将第二存储区中的硬件复位信息保存到掉电保持介质上。
然后,进到步骤306BIOS引导业务软件运行。
进到步骤307将第一存储区中的硬件复位信息保存到掉电保持介质上。
进到步骤308继续运行业务软件。
参照图4,图4是产生BIOS软件复位时复位信息的保存流程,包括以下步骤步骤401硬件复位使设备重新启动,比如按钮复位,当然也可以是设备上电启动。
步骤402BIOS软件运行,以根据BIOS保存的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序完成其功能。
步骤403BIOS判断是否为硬件复位。
如果是硬件复位,则进到步骤404清除第一存储区和第二存储区中的信息。因为有时设备的瞬间断电内存中的数据可能还会存在或不稳定,因此为了保证第一存储区和第二存储区中的信息可靠,在硬件复位时要先对该内存中可能存在的数据进行清除。
然后,进到步骤405分别将硬件复位信息记录到第一存储区和第二存储区。
然后,进到步骤406BIOS引导业务软件运行。
如果不是硬件复位,则直接进到步骤406BIOS引导业务软件运行。
然后,进到步骤407将第一存储区中的复位信息保存到掉电保持介质上。
步骤408业务软件运行异常时,需要主动复位。
这时,需要先进到步骤409将业务软件的复位信息写入第一存储区。
然后,进到步骤410业务软件复位。
业务软件复位后,将返回步骤402BIOS软件重新运行,以根据BIOS保存的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序完成其功能。
参照图5,图5是产生业务软件复位时复位信息的保存流程,包括以下步骤步骤501硬件复位使设备重新启动,比如按钮复位,当然也可以是设备上电启动。
步骤502BIOS软件运行,以根据BIOS保存的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序完成其功能。
步骤503BIOS判断是否为硬件复位。
如果是硬件复位,则进到步骤504清除第一存储区和第二存储区中的信息。
然后,进到步骤505分别将硬件复位信息记录到第一存储区和第二存储区。
然后,进到步骤506将第二存储区中的复位信息保存到掉电保持介质上。
如果不是硬件复位,则直接进到步骤506将第二存储区中的复位信息保存到掉电保持介质上。
然后,进到步骤507BIOS引导业务软件运行。
进到步骤508判断引导是否成功。
如果引导成功,则进到步骤509业务软件运行。
如果引导未成功,则进到步骤510BIOS等待加载正确的业务软件。
然后,进到步骤511BIOS运行出现异常时,需要主动复位。
这时,需要先进到步骤512将BIOS软件的复位信息写入第二存储区。
然后,进到步骤513BIOS软件复位。
BIOS软件复位后,将返回步骤502BIOS软件重新运行,以根据BIOS保存的基本输入输出程序、系统设置信息、开机上电自检程序和系统启动自检程序完成其功能。
在上述图4和图5所示的流程中,分别只描述了业务软件和BIOS软件复位时复位信息的保存过程。但在系统实际运行过程中,各种复位都有可能发生,因此,本发明并不局限于图4和图5所示的两种状态。其他类型复位信息的保存方式与上述类似,在此不再赘述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种通信设备复位信息保存方法,其特征在于,所述方法包括A、在所述设备的内存中设置复位信息共享存储区;B、当有软件复位时,将软件复位信息记录到所述共享存储区中对应的位置;C、当所述设备启动时,由所述BIOS判断设备复位类型;D、根据所述设备复位类型修改所述软件复位信息;E、当所述设备的软件运行时,将修改后的软件复位信息保存到掉电保持介质上。
2.根据权利要求1所述的通信设备复位信息保存方法,其特征在于,所述步骤A包括A1、设定所述共享存储区为保留内存;A2、将所述共享存储区划分为第一存储区和第二存储区。
3.根据权利要求2所述的通信设备复位信息保存方法,其特征在于,所述软件复位包括BIOS软件复位和业务软件复位。
4.根据权利要求3所述的通信设备复位信息保存方法,其特征在于,所述步骤B包括将业务软件复位信息记录到所述第一存储区;将BIOS软件复位信息记录到所述第二存储区。
5.根据权利要求1所述的通信设备复位信息保存方法,其特征在于,所述步骤C具体为所述BIOS根据所述设备硬件提供的复位状态寄存器判断是硬件复位还是软件复位。
6.根据权利要求1所述的通信设备复位信息保存方法,其特征在于,所述步骤D具体为当复位类型为硬件复位时,清除所述第一存储区的内容,并将硬件复位信息保存到所述第一存储区;同时,清除所述第二存储区的内容,并将硬件复位信息保存到所述第二存储区。
7.根据权利要求1所述的通信设备复位信息保存方法,其特征在于,所述步骤E具体为分别将所述第一存储区的复位信息和所述第二存储区的复位信息保存到掉电保持介质上。
8.根据权利要求1至7任一项所述的通信设备复位信息保存方法,其特征在于,所述掉电保持介质包括电可擦除只读存储器、闪存。
9.根据权利要求1所述的通信设备复位信息保存方法,其特征在于,所述软件复位信息包括复位类型、软件类型、复位时间、状态信息。
10.根据权利要求6所述的通信设备复位信息保存方法,其特征在于,所述硬件复位信息包括复位类型、复位时间、状态信息。
全文摘要
本发明公开了一种通信设备复位信息保存方法,包括在所述设备的内存中设置复位信息共享存储区;当有软件复位时,将软件复位信息记录到共享存储区中对应的位置;当设备启动时,由BIOS判断设备复位类型;根据设备复位类型修改所述软件复位信息;当设备的软件运行时,将修改后的软件复位信息保存到掉电保持介质上。利用本发明,可以准确定位设备的复位信息,进而方便地确定设备故障原因,方便设备维护。
文档编号G06F9/445GK1770106SQ20041008890
公开日2006年5月10日 申请日期2004年11月4日 优先权日2004年11月4日
发明者牛思及, 范明惠, 陈昀 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1