著录项信息
专利名称 | 一种灾难恢复系统及方法 |
申请号 | CN200410050055.X | 申请日期 | 2004-06-29 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2006-01-04 | 公开/公告号 | CN1716212 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/16 | IPC分类号 | G;0;6;F;1;1;/;1;6;;;G;0;6;F;1;1;/;0;7查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 程勇;窦忠辉;王伟;李秋江 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 张颖玲;王琦 |
摘要
本发明公开了一种灾难恢复系统,该系统至少包括:用于向硬件看门狗计数器提供时钟信号的时钟源、用于定时存储主控单元重要信息的存储器、主控单元和采用可编程门阵列FPGA或复杂可编程逻辑器件CPLD为载体的硬件看门狗计数器,硬件看门狗计数器执行监控主控单元运行状况的功能,一旦主控单元发生故障,硬件看门狗计数器溢出,触发主控单元复位信号,从而促使主控单元重新启动,并在存储器中读取保存的主控单元信息,根据读取的主控单元信息,恢复自身的正常运行状态,实现主控单元灾难恢复。本发明还公开了基于上述系统的灾难恢复方法。使用本发明能够显著增强主控单元的稳定性、可靠性和抗干扰能力,同时提高主控单元的自愈能力。
1.一种灾难恢复系统,其特征在于,至少包括:
主控单元,用于在正常工作时,在设定的清零周期内的任意时刻向硬件看门狗计数器发送清零信号,并定时将系统信息写入外部存储器中进行保存;在出现异常时,接收硬件看门狗计数器发送的复位信号后重新启动,并在进入稳定状态时,从外部存储器中读出保存的系统信息,根据所述系统信息,恢复自身的正常运行状态;
存储器,用于保存主控单元写入的系统信息,在主控单元复位重新启动后再次进入正常工作状态时,将保存的系统信息返回给主控单元;
硬件看门狗计数器,用于接收主控单元在正常工作时发送的清零信号,将自身计数器清零;对主控单元进行监控,并在自身计数器溢出时产生溢出信号并触发向主控单元发送复位信号;
时钟源,用于向硬件看门狗计数器提供时钟信号。
2.根据权利要求1所述的灾难恢复系统,其特征在于:所述主控单元为计算机的CPU、或网络设备、或整个网络系统的主控单元、或三者的任意组合。
3.根据权利要求1所述的灾难恢复系统,其特征在于:所述存储器为非易失随机存取存储器NVRAM、或闪存FLASH,且通过独立电源进行单独供电。
4.根据权利要求1所述的灾难恢复系统,其特征在于:所述硬件看门狗计数器的载体为可编程门阵列FPGA、或复杂可编程逻辑器件CPLD。
5.根据权利要求1所述的灾难恢复系统,其特征在于:该系统进一步包括用于实现对系统进行毫秒级监控的时序逻辑处理单元,且该时序逻辑处理单元进一步与所述硬件看门狗计数器相连接。
6.根据权利要求1所述的灾难恢复系统,其特征在于:所述硬件看门狗计数器进一步包括接收主控单元发来的开关控制信号的输入端。
7.一种灾难恢复方法,其特征在于:将监控单元独立设置于被监控系统之外,并且被监控系统在正常工作状态下定时将系统信息保存到设置在被监控系统之外的非易失性存储单元当中,所述灾难恢复方法包括:
a、监控单元检测并判断在设定的清零周期内是否有来自被监控系统的清零信号,如果有,则返回步骤a继续检测;否则,监控单元在设定的溢出时间到来时产生溢出信号,该溢出信号触发系统复位信号并将复位信号发送给被监控系统;
b、被监控系统收到系统复位信号后重新启动;
c、被监控系统进入稳定状态后,从存储单元中读取保存的系统信息,并根据读取的系统信息恢复自身的正常运行状态。
8.根据权利要求7所述的系统灾难恢复方法,其特征在于,所述步骤b进一步包括:被监控系统重新启动之前,关闭监控单元;
则所述步骤c进一步包括:被监控系统进入稳定状态后,开启监控单元。
9.根据权利要求7所述的系统灾难恢复方法,其特征在于:步骤a中所述监控单元以秒为单位检测清零信号,则所述溢出信号为秒级溢出信号;或者所述监控单元以毫秒为单位检测清零信号,则所述溢出信号为毫秒级溢出信号。
10.根据权利要求7所述的系统灾难恢复方法,其特征在于:该方法进一步包括:被监控系统将自身当前的系统信息定时写入存储单元中。
技术领域\n本发明涉及数据通讯技术领域、网络安全技术领域,特别是指一种灾难恢复系统及方法。\n背景技术\n随着计算机和网络通信技术的迅速发展,现代网络的拓扑结构和现场应用环境也日益复杂,相应地,人们对系统可靠性的要求也越来越迫切。尤其当现在的网络通讯采取按秒计费的机制时,一旦系统出现故障甚至崩溃,就会造成极其严重的经济损失,因此为了避免系统故障,就必然要对网络通讯系统及其设备的稳定性、可靠性以及抗干扰能力等提出更高的要求,而且有些行业或企业如电信、银行、证券、大型企业等,由于业务本身的特殊性,甚至要求系统每天24小时连续不间断稳定作业。\n然而实际中不存在完美无缺的产品,任何企业都无法保证自己的产品不出现任何故障,也不存在绝对没有干扰的环境,因此这就需要针对系统随时可能出现的崩溃、死机以及陷入死循环等故障,提出妥善的解决方案。目前针对系统上述故障,通常的解决方案是采用纯软件狗的方式,即在系统的主CPU中嵌入软件狗监控程序,这样就使得系统的主CPU在执行系统应用程序的同时,又执行软件狗监控程序,对系统进行监控。软件狗程序可以实现对系统的部分监控,并能够对系统的某些非正常状态进行部分甚至很少的修复,而一旦当系统的CPU自身出现陷入死循环、瘫痪甚至崩溃等故障时,软件狗程序就无法监控整个系统,这时如果没有专人值守,发现问题后马上手动断电、再上电开机的话,系统会永远瘫痪、死机,而无法自动恢复,必然造成严重损失。\n因此如何真正有效地实现系统灾难的恢复,是目前数据通讯领域、网络安全领域面临的主要难题。\n发明内容\n有鉴于此,本发明的一个目的在于提供一种灾难恢复系统,能够对陷入死循环、瘫痪甚至崩溃等灾难的系统进行有效的监控和灾难恢复。\n本发明的另一个目的是提供一种根据上述系统实现的灾难恢复方法,能够快速检测系统故障并且对陷入死循环等灾难的系统进行有效的灾难恢复。\n为了达到上述第一个目的,本发明提供了一种灾难恢复系统,其特征在于,至少包括:\n主控单元,用于在正常工作时,在设定的清零周期内的任意时刻向硬件看门狗计数器发送清零信号,并定时将系统信息写入外部存储器中进行保存;在出现异常时,接收硬件看门狗计数器发送的复位信号后重新启动,并在进入稳定状态时,从外部存储器中读出保存的系统信息,根据所述系统信息,恢复自身的正常运行状态;\n存储器,用于主控单元写入的系统信息,在主控单元复位重新启动后再次进入正常工作状态时,将保存的系统信息返回给主控单元;\n硬件看门狗计数器,用于接收主控单元在正常工作时发送的清零信号,将自身计数器清零;对主控单元进行监控,并在自身计数器溢出时产生溢出信号并触发向主控单元发送复位信号;\n时钟源,用于向硬件看门狗计数器提供时钟信号。\n在上述系统中,所述主控单元为计算机的CPU、或网络设备、或整个网络系统的主控单元、或三者的任意组合。\n在上述系统中,所述存储器为非易失随机存取存储器NVRAM、或闪存FLASH,且通过独立电源进行单独供电。\n在上述系统中,所述硬件看门狗计数器的载体为可编程门阵列FPGA、或复杂可编程逻辑器件CPLD。\n在上述系统中,该系统进一步包括用于实现对系统进行毫秒级监控的时序逻辑处理单元,且该时序逻辑处理单元进一步与所述硬件看门狗计数器相连接。\n在上述系统中,所述硬件看门狗计数器进一步包括接收主控单元发来的开关控制信号的输入端。\n为了达到上述第二个目的,本发明提供了一种系统灾难恢复方法,将监控单元独立设置于被监控系统之外,并且被监控系统在正常工作状态下定时将系统信息保存到设置在被监控系统之外的非易失性存储单元当中,所述灾难恢复方法包括:\na、监控单元检测并判断在设定的清零周期内是否有来自被监控系统的清零信号,如果有,则返回步骤a继续检测;否则,监控单元在设定的溢出时间到来时产生溢出信号,该溢出信号触发系统复位信号并将复位信号发送给被监控系统;\nb、被监控系统收到系统复位信号后重新启动;\nc、被监控系统进入稳定状态后,从存储单元中读取保存的系统信息,并根据读取的系统信息恢复自身的正常运行状态。\n较佳地,所述步骤b进一步包括:被监控系统重新启动之前,关闭监控单元;\n则所述步骤c进一步包括:被监控系统进入稳定状态后,开启监控单元。\n在上述方法中,步骤a中所述监控单元以秒为单位检测清零信号,则所述溢出信号为秒级溢出信号;或者所述监控单元以毫秒为单位检测清零信号,则所述溢出信号为毫秒级溢出信号。\n在上述方法中,该方法进一步包括:被监控系统将自身当前的系统信息定时写入存储单元中。\n综上所述,本发明针对系统出现软、硬件故障,或者当环境比较恶劣、干扰比较大,导致系统瘫痪、陷入死循环、甚至崩溃等灾难时,提供了一种基于独立的硬件控制逻辑的灾难恢复系统及方法,通过采用独立的硬件控制逻辑,能够对系统进行有效的监控并对系统实现真正的灾难恢复,尤其当本发明应用于数据通讯以及防火墙设备时,能够显著增强系统的稳定性、可靠性和抗干扰能力,同时提高系统的自愈能力,相对于应用软件狗(纯软件)的系统具有明显优势。\n附图说明\n图1为本发明具体实施例一的系统结构示意图;\n图2为本发明具体实施例一的方法流程图;\n图3为本发明具体实施例二的系统结构示意图;\n图4为本发明具体实施例二的方法流程图。\n具体实施方式\n为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。\n本发明的主要思想:将监控单元独立设置于被监控系统之外,进行灾难检测;并在被监控系统外部设置非易失性存储单元,用于保存被监控系统的最新系统信息,使得系统在灾难后能恢复到正常工作状态,其中所述监控单元可以由硬件看门狗计数器实现。具体说就是:采用独立设置的硬件看门狗计数器,当系统正常工作时,系统在固定的时间间隔内向硬件看门狗计数器发送清零信号来实现对系统的实时监控,一旦系统出现故障、陷入死循环、甚至崩溃等灾难,系统不再发送清零信号,或者系统没有在固定的时间间隔内发送清零信号,硬件看门狗计数器溢出,触发系统复位信号,促使系统进行重新启动,如冷启动来实现对系统的灾难恢复。\n实施例一\n本实施例的系统结构如图1所示,主要包括:时钟源1、存储器2、主控单元3以及硬件看门狗计数器4。\n其中,时钟源1用于向硬件看门狗计数器4提供时钟,可以是晶体或晶体振荡器;存储器2用于定时保存主控单元3的重要信息,可以是非易失随机存取存储器(NVRAM)或闪存(FLASH);主控单元3用于向硬件看门狗计数器4发送清零信号和控制硬件看门狗开/关信号,可以是CPU或网络设备或网络系统的主控单元或它们的组合等;硬件看门狗计数器4,用于和主控单元3交互,从主控单元3获取清零信号及开/关信号,并向主控单元3发送系统复位信号,可以采用可编程门阵列FPGA或复杂可编程逻辑器件CPLD为载体。\n基于图1所示的本实施例一的系统结构,下面说明本实施例的基本原理:\n当主控单元3正常工作时,将定时把重要的主控单元信息写入存储器2中,其中存储器2可以是NVRAM,该NVRAM采用独立的电源,以确保主控单元断电后,该NVRAM仍可保存数据,存储器2也可以是FLASH;同时主控单元3在设定的清零周期,如0.5s~10.0s内向硬件看门狗计数器4输出一个清零信号,对硬件看门狗计数器4清零。其中,所述的清零信号可以在清零周期内的任意时刻输出;输出清零信号的单元包括主控单元程序的主循环、每个中断处理以及线程。\n当主控单元3出现软、硬件故障,甚至陷入死循环时,主控单元3就不能对硬件看门狗计数器4进行正常清零,待溢出时间到来时,硬件看门狗计数器4溢出,产生溢出信号,并触发复位信号,其中复位信号有效时长为0.5s~1.0s,然后将该复位信号发送到主控单元3。其中硬件看门狗计数器4定时溢出信号的溢出时间应设置得比主控单元3的清零周期长,如1.0s~20.0s,这样当主控单元3正常工作时,硬件看门狗计数器4就始终不会溢出。\n主控单元3接收到复位信号后,进行冷启动,且关闭硬件看门狗计数器4,而当主控单元3进入稳定状态时,再开启硬件看门狗计数器4,然后在存储器2中读取保存的数据信息,实现系统灾难恢复。\n为了便于主控单元3上电处理、初始状态的稳定以及调试、生产和维护,可进一步引入控制硬件看门狗开/关信号,控制硬件看门狗计数器4的开启或关闭,即在主控单元3上电处理、初始状态未稳定以及调试、生产和维护时,关闭硬件看门狗计数器4,而当主控单元3进入稳定状态时,开启硬件看门狗计数器4。\n下面结合图2说明本实施例中系统灾难恢复方法的流程,具体包括如下步骤:\n步骤201至步骤203:硬件看门狗计数器4判断在设定的清零周期内,有无从主控单元3发送来的清零信号,如果有,则表示系统运行正常,结束本次监测,继而再回到步骤201;否则,则表示系统遇到了故障,待设定的溢出时间到来时,硬件看门狗计数器4溢出,产生溢出信号。\n步骤204:硬件看门狗计数器4的溢出信号进一步触发并发送系统复位信号到主控单元3,促使主控单元3进行冷启动,同时主控单元3向硬件看门狗计数器4发送控制硬件看门狗关信号,控制关闭硬件看门狗计数器4。\n步骤205:待系统进入稳定状态后,主控单元3从存储器2中读取保存的系统信息,以恢复系统功能,同时主控单元3向硬件看门狗计数器4发送控制硬件看门狗开信号,控制开启硬件看门狗计数器4,结束本次监测,继而再回到步骤201。\n实施例二\n如图3所示,本实施例的系统结构是在实施例一的基础上增加了一个时序逻辑处理单元,以实现对主控单元3毫秒级的监控,本实施例的系统包括:时钟源1、存储器2、主控单元3、硬件看门狗计数器4和时序逻辑处理单元5。\n其中,时钟源1用于向硬件看门狗计数器4提供时钟,可以是晶体或晶体振荡器;存储器2用于定时保存主控单元3的重要信息,可以是NVRAM或FLASH等;主控单元3用于向硬件看门狗计数器4发送清零信号和控制硬件看门狗开/关信号,可以是CPU或网络设备或网络系统的主控单元或三者的组合等;硬件看门狗计数器4,用于和主控单元3交互,从主控单元3获取清零信号,可以采用FPGA或CPLD等为载体;时序逻辑处理单元5连接到硬件看门狗计数器4,完成毫秒(ms)级的系统监控,可以是ADM706或MAX706等。该时序逻辑处理单元5也可以置于硬件看门狗计数器4内。\n基于图3所示的实施例二的系统结构,下面说明本实施例的基本原理:\n当主控单元3正常工作时,将定时把重要的主控单元信息写入存储器2中,其中存储器2可以是NVRAM,该NVRAM采用独立的电源,以确保主控单元3断电后,该NVRAM仍可保存数据,存储器也可以是FLASH。同时,主控单元3在设定的清零周期,如0.5s~10.0s内向硬件看门狗计数器4发送一个清零信号。其中,所述的清零信号可以在清零周期内的任意时刻发送;输出清零信号的单元包括主控单元程序的主循环、每个中断处理以及线程。\n硬件看门狗计数器4在时序逻辑处理单元5中所设定的毫秒级ms的清零周期,如100ms,内向时序逻辑处理单元5发送一个清零信号,使时序逻辑处理单元5清零。\n当主控单元3出现软、硬件故障,陷入死循环后,主控单元3就不能在设定的清零周期内向硬件看门狗计数器4发送清零信号,因此硬件看门狗计数器4不能在设定的毫秒级清零周期,如100ms内向时序逻辑处理单元5发送清零信号,待设定的时序逻辑处理单元溢出时间到来时,时序逻辑处理单元5溢出,并向硬件看门狗计数器4发送时序逻辑处理单元溢出信号,进一步促使硬件看门狗计数器4溢出,溢出信号触发系统复位信号,系统复位信号有效时长为0.5s~1.0s,然后将该系统复位信号发送到主控单元3。其中看门狗计数器4的溢出时间设置得比主控单元3的清零周期长,如1.0s~20.0s,这样当主控单元3正常工作时,硬件看门狗计数器4就始终不会溢出。\n主控单元3接收到复位信号后,进行冷启动,关闭硬件看门狗计数器4,而当主控单元3进入稳定状态时,再开启硬件看门狗计数器4,然后从存储器2中读取保存的系统状态信息,实现系统灾难恢复。\n为了便于主控单元3上电处理、初始状态的稳定以及调试、生产和维护,可进一步引入控制硬件看门狗开/关信号,控制硬件看门狗计数器4开启或关闭,即在主控单元3上电处理、初始状态未稳定以及调试、生产和维护时,关闭硬件看门狗计数器4,而当主控单元3进入稳定状态时,开启硬件看门狗计数器4。\n下面结合图4说明本实施例的系统灾难恢复方法的流程,具体包括如下步骤:\n步骤401至步骤403:硬件看门狗计数器4判断在设定的清零周期内,有无从主控单元3发来的清零信号,如果有,则表示系统运行正常,然后硬件看门狗计数器4在设定毫秒级清零周期内的任意一个时刻向时序逻辑处理单元5发送清零信号,以实现对主控单元3毫秒级的监控,结束本次监测,继而再回到步骤401;否则,则表示系统遇到了故障,待设定的时序逻辑处理单元5的溢出时间到来时,时序逻辑处理单元5溢出。\n步骤404:时序逻辑处理单元5向硬件看门狗计数器4发送时序逻辑处理单元溢出信号,进一步促使硬件看门狗计数器4溢出。\n步骤405:硬件看门狗计数器4的溢出信号进一步触发并发送系统复位信号到主控单元3,促使主控单元3进行冷启动,同时主控单元3向硬件看门狗计数器4发送控制硬件看门狗关信号,控制关闭硬件看门狗计数器4。\n步骤406:待主控单元3进入稳定状态后,主控单元3从存储器2中读取保存的系统信息,以恢复系统功能,同时主控单元3向硬件看门狗计数器4发送控制硬件看门狗开信号,控制开启硬件看门狗计数器4,结束本次监测,继而再回到步骤401。\n总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
法律信息
- 2010-04-28
- 2006-03-01
- 2006-01-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-03-05
|
2001-07-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |