专利名称:双机冗余容错系统及其冗余切换方法
技术领域:
本发明涉及一种冗余容错系统及其切换方法,具体地说,是涉及一种双机 冗余容错系统以及对该双机冗余容错系统中的双机进行冗余切换的方法。
技术背景对于以计算机作为核心的系统而言,很重要的一点是该系统的某个计算机 出现故障后,系统仍能继续工作。为了解决这个问题,目前普遍采取的措施是 为该系统设计冗余系统,以支持容错操作。考虑到成本和使用面积等因素,一 般情况下,对该系统进行动态双模冗余设计。动态双模冗余系统包括一个工作 机和一个备份机,它们的职能可以互换。在这种双机冗余设计中,需要确定一 种机制,以使在各阶段内具有作为主控制器的控制器和作为备份而处于空闲状 态的控制器,同时,还需要确定当单个控制器产生故障时,正常的控制器应作 出怎样的反应,以保证系统的正常运行。这种机制需要在工作机与备份机之间 有大量的电路连接,以进行信号交互,是一套复杂的机制。传统的动态双模冗余系统的设计较为单一, 一般只考虑双机同时工作状 态,以及单机发生不可恢复故障时的状态,而没有考虑到控制器工作的复杂环 境和对功耗的特殊要求。同时,为了降低设计的复杂度,传统动态双模冗余系 统的故障检测切换方法比较单一, 一般为 一套监视电路观察工作机的状态, 在工作机故障时进行切换。这种故障检测切换方法一方面忽视了备份机的工作 状态,当工作机故障时,可能备份机处于更糟的故障状态,另一方面,该方法 不能防止单一的监视电路出错,会造成切换逻辑的误操作。在这种传统的切换 方法设计中,冗余设备间加入了专门的切换部件,由这个切换部件接收并监视 双机的状态信号,根据接收状态信号来决定主从机的选择,同时,给出互斥的 信号来选择工作机输出。但是,当这个切换部件发生错误时,便会引起单点故 障,导致系统无法工作。后来,冗余设备之间开始采用了一种状态信号线直连 的方法,各冗余设备根据这些状态信号来确定系统的工作状态。这种方法防止 了切换部件故障带来的隐患,但是,这种状态信号线直连方式会导致冗余信号 较多,电路连接很复杂。另外,传统的容错冗余系统设计对故障检测关注不高。 但是,故障检测信号是是否进行切换的重要依据,如果故障检测发生了问题, 系统可能会处于死锁或"乒乓切换",从而故障将难以判断。发明内容本发明的目的在于提供一种双机冗余容错系统及其冗余切换方法,该冗余 容错系统结构简单,信号传输可靠,该冗余切换方法控制简单,可极大降低系 统故障率,可起到很好的容错效果。为了达到上述目的,本发明采用以下技术方案一种双机冗余容错系统,其特征在于它包括A机、B机、冗余切换选择单元和被控单元,A机和B机内均设有一冗余切换控制单元,A机和B机内的冗余切换控制单元分别将各自产生的切换信号传输至冗余切换选择单元,冗余切换选择单元通过两冗余切换控制单元传输的切换信号对A机和B机分别输 出的控制信号进行选择后产生一最终控制信号,并将该最终控制信号传输至被控单元,其中该冗余切换控制单元包括仲裁切换单元、心跳收发单元、加断电单元和监视器单元,A机的仲裁切换单元分别与A机的心跳收发单元、加断 电单元和监视器单元相连,该A机的心跳收发单元与B机的心跳收发单元相 连,该A机的加断电单元与B机的电源单元相连,该A机的监视器单元与A 机的CPU相连,该A机的CPU与A机的仲裁切换单元相连,该A机的仲裁 切换单元与B机的仲裁切换单元相连,该A机的仲裁切换单元输出一切换信 号;B机的仲裁切换单元分别与B机的心跳收发单元、加断电单元和监视器单 元相连,该B机的加断电单元与A机的电源单元相连,该B机的监视器单元 与B机的CPU相连,该B机的CPU与B机的仲裁切换单元相连,该B机的 仲裁切换单元输出一切换信号。一种双机冗余容错系统的冗余切换方法,其特征在于它包括步骤 步骤A:双机同时上电,通过上电策略确定工作机、备份机; 步骤B:判断双机状态若双机无故障,则跳至步骤C;若工作机或备份 机故障,则跳至步骤D;步骤C:判断系统所处任务段若系统工作在一般任务段,则工作机通过 自身的加断电单元对备份机断电,系统实行冷备策略,并返回步骤B;若系统 工作在关键任务段,则工作机通过自身的加断电单元对备份机上电,系统实行 热备策略,并返回步骤B;步骤D:判断故障是否可恢复若故障可恢复,则进行故障恢复,并返回 步骤B;若故障不可恢复,则系统进入单机状态。 本发明具有如下优点本发明双机冗余容错系统可在一般任务段和关键任务段两种状态下工作,且在各状态下发生不同故障时,系统通过本发明冗余切换方法进行及时故障处 理,以保证系统正常工作或工作在故障安全侧,防止引起毁灭性故障。在本发明中,当系统采用冷备策略和处于单机状态时,单机的冗余切换控 制单元采用看门狗自检测一种故障检测手段。当系统采用热备策略时,每个单 机的冗余切换控制单元采用两种故障检测手段, 一种为看门狗自检测,另一种 为对机心跳收发单元监视。这两种检测手段起到了故障检测功能冗余的效果, 防止了由于硬件链路问题使得个体故障检测单元本身错误影响整个系统正常 运行的现象发生。而且,对心跳收发单元和自检测设计了优先级判断,对同一 错误引起的多个故障信号进行处理,优先级低的信号被屏蔽,优先级高的信号 传输至仲裁切换单元,防止了信号冲突"死锁"。本发明双机冗余容错系统结构简单,信号传输可靠,本发明冗余切换方法 控制简单,可极大降低系统故障率,可起到很好的容错效果。本发明双机冗余 容错系统及其冗余切换方法适用于运行可靠性要求高(即故障情况下仍需连续 运行)的环境。
图1是本发明双机冗余容错系统的组成示意图; 图2是双机的冗余切换控制单元的连接示意图 图3是本发明冗余切换方法的流程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。首先需要提及的是,在本发明中,设定系统处于工作状态时,A机和B机 中的其中一个必定是可以正常工作的,即系统不会出现两个单机均发生故障的 情况。在下文中,工作机即为主机,备份机即为从机。A机被描述为本机时, B机为对机,同样地,B机被描述为本机时,A机为对机。如图1和图2所示,本发明双机冗余容错系统包括A机100、 B机200、 冗余切换选择单元300和被控单元400。 A机100内设有一冗余切换控制单元 110, B机200内设有一冗余切换控制单元210, A机100内的冗余切换控制单 元110和B机200内的冗余切换控制单元210分别将各自产生的切换信号传输 至冗余切换选择单元300,冗余切换选择单元300通过两冗余切换控制单元110 和210传输的切换信号对A机100的CPU 120和B机200的CPU 210分别输 出的控制信号进行选择后而产生一最终控制信号,并将该最终控制信号传输至 被控单元400,被控单元400根据该最终控制信号进行操作。A机100内的冗余切换控制单元IIO包括仲裁切换单元111、心T^收发单 元112、加断电单元113和监视器单元114, B机200内的冗余切换控制单元 210包括仲裁切换单元211、心跳收发单元212、加断电单元213和监视器单元 214。 A机100的仲裁切换单元111分别与A机100的心跳收发单元112、加 断电单元113和监视器单元114相连,该A机100的心跳收发单元112与B 机200的心跳收发单元212相连,该A机100的加断电单元113与B机200 的电源单元230相连,该A机100的监视器单元114与A机100的CPU 120 相连,该A机100的CPU 120与A机100的仲裁切换单元111相连,该A机 100的仲裁切换单元111与B机200的仲裁切换单元211相连,该A机100的 仲裁切换单元ill输出一切换信号,该切换信号传输至冗余切换选择单元300。 B机200的仲裁切换单元211分别与B机200的心跳收发单元212、加断电单 元213和监视器单元214相连,该B机200的加断电单元213与A机100的 电源单元130相连,该B机200的监视器单元214与B机200的CPU 220相 连,该B机200的CPU 220与B机200的仲裁切换单元211相连,该B机200 的仲裁切换单元211输出一切换信号,该切换信号传输至冗余切换选择单元 300。加断电单元的加断电操作是正常机对故障机或者工作机对备份机所做的 操作。加断电单元接收本机仲裁切换单元的加断电指令后,便对对机的电源单 元传递加断电指令,从而使对机进行加断电操作。其中,正常机对故障机断电 后再加电,可以使故障机上电后进行初始化、重新下载配置文件,这种方式是 恢复故障的一种重要手段。监视器单元由看门狗组成,其用于监视本机是否发生故障,是一种常用的容错手段。监视器单元的工作原理为本机的CPU向监视器单元提供周期性的喂狗脉冲信号,看门狗计数,监视器单元正常工作。若本机的CPU不能继续向监视器单元提供喂狗信号,监视器单元的看门狗在设定的时间段内没有进 行清零操作,发生溢出,则认为本机发生故障,监视器单元向本机的仲裁切换单元发出本机故障信号。若本机的CPU持续向监视器单元提供喂狗信号,看门狗不断计数、清零,则认为本机未发生故障。心跳收发单元主要用于监视对机是否发生故障。心跳收发单元接收对机发 出的心跳信号来判断对机是否工作正常(若对机定时发出心跳信号,则表明对 机处于正常工作状态),同时,其产生本机的心跳信号而发送给对机。当本机 的心跳收发单元在设定的时间段内没有收到对机发出的心跳信号,则判断对机发生故障,则将该故障信号传输至本机的仲裁切换单元,从而让本机的仲裁切 换单元做出相应的容错措施。在实际应用中,冗余切换控制单元UO还可包括优先级单元115,该优先 级单元115接收A机(即本机)100的心跳收发单元112输出的信号和B机(即 对机)200的仲裁切换单元211输出的信号,该优先级单元115将处理后产生 的信号输出至A机lOO的仲裁切换单元lll。同样地,冗余切换控制单元210 也可包括优先级单元215,该优先级单元215接收B机(即本机)200的心跳 收发单元212输出的信号和A机(即对机)IOO的仲裁切换单元lll输出的信 号,该优先级单元215将处理后产生的信号输出至B机200的仲裁切换单元 211。也就是说,无论是本机的心跳收发单元判断出对机发生故障,还是对机 自身的仲裁切换单元向该本机提供对机故障信号,本机的仲裁切换单元均可通 过优先级单元接收到对机故障状态信号。优先级单元的作用是对同一错误引起 的多个故障信号进行处理,优先级低的信号被屏蔽,优先级高的信号传输至仲 裁切换单元,以防止信号冲突"死锁"。在实际实施中,双机间可进行约定备份机主动向工作机提供心跳信号, 工作机在接收到备份机的心跳信号后判断自身是否具备发送心跳信号的条件, 若符合条件,则回复备份机心跳信号,反之,则等待备份机的下一次心跳信号 再做出判断。在实际实施过程中,"心跳"停止的原因可能有两种。 一种是由于线路瞬 态干扰而引起的信号短暂性丢失。针对这种情况,可以设定心跳等待时间来解 决,即连续几个周期都没有接收到对机的"心跳",才认为对机发生故障。另 一种是传输物理链路引起的故障。若物理链路发生故障,那么双机间都会认为 对方出现了问题,双机间不断地来回切换,即"乒乓切换"。针对这种情况, 可以采取主从机响应不同时的方法来消除,即主从机发现心跳停止时,主从机 分别等待不同的响应周期后再进行故障处理,其中主机等待较短时间后便令从 机复位,而从机在较长时间后主机未作反应的情况下才进行切换。这样,在物 理链路发生故障的情况下,主机会比从机先响应,从而防止了由于链路问题导 致的连续切换。在本发明中,当系统采用热备策略时,每个单机的冗余切换控制单元采用 两种故障检测手段, 一种为看门狗自检测,另一种为对机心跳收发单元监视。 这两种检测手段起到了故障检测功能冗余的效果,防止了由于硬件链路问题使 得个体故障检测单元本身错误影响整个系统正常运行的现象发生。当系统采用冷备策略和处于单机状态时,单机的冗余切换控制单元采^看门狗^检测一种 故障检测手段。仲裁切换单元是冗余切换控制单元的核心,主要负责监测系统的运行状 态。仲裁切换单元通过将心跳收发单元、监视器单元等发出的各种容错信号进 行逻辑组合判断,以及通过读取双方的工作状态信号进行双机状态的判断,来 最终做出加断电命令和切换命令,从而使双机承担各自对应任务。具体来说, 仲裁切换单元接收心跳收发单元发出的对机故障信号、监视器单元发出的本机 故障信号,和本机CPU自检测后发出的自检测信号等。例如,当本机故障时, 本机仲裁切换单元将故障信号传输给对机优先级单元,若本机为工作机,则本 机仲裁切换单元向自身CPU发出复位指令,若本机为备份机,则本机仲裁切 换单元接收对机仲裁切换单元传输来的复位指令,并将该复位指令传递给本机CPU,以使CPU执行复位操作。当本机正常工作或本机为工作机时,本机可根据情况需要,命令本机仲裁切换单元通过向自身的加断电单元发出控制信 号,而使加断电单元对对机的电源单元进行加电和/或断电操作。若本机通过 心跳收发单元检测到对机发生故障,则本机仲裁切换单元接收到故障信号后,将该故障信号传递给本机CPU,本机CPU处理后告知本机仲裁切换单元自身 现为工作机,然后本机仲裁切换单元将自身为工作机的信息告知对机仲裁切换 单元,从而对机仲裁切换单元向本机仲裁切换单元返回确认对机成为工作机的 信号。当双机间将要进行主从机切换时,双机的仲裁切换单元向冗余切换选择 单元分别发出各自的切换信号。在实际设计中,上述仲裁切换单元111和211、心跳收发单元112和212、 加断电单元113和213、监视器单元114和214、优先级单元115和215、冗余 切换选择单元300等均可根据功能要求而实现每个单元的电路,具体电路实现 过程属公知技术(例如用硬件描述语言来实现),在此不赘述。对于双机冗余容错系统,上位机(图中未示出)对其中的被控单元进行操 作控制,且上位机通过总线(如CAN总线)与双机连接,以实时与双机进行 通信。针对上述双机冗余容错系统,如图3所示,本发明提出了一种冗余切换方法,该方法主要包括以下步骤步骤A:上位机令双机同时上电,通过上电策略确定工作机、备份机; 步骤B:上位机判断双机状态若双机无故障,则跳至步骤C;若工作机或备份机故障,则跳至步骤D;步骤C:上位机判断系统(指双机冗余容错系统,下同)所处任务段若 系统工作在一般任务段,则工作机通过自身的加断电单元对备份机断电,系统 实行冷备策略,并返回步骤B;若系统工作在关键任务段,则工作机通过自身 的加断电单元对备份机上电,系统实行热备策略,并返回步骤B;步骤D:故障单机自身的CPU判断故障是否可恢复若故障可恢复,则 进行故障恢复,并返回步骤B;若故障不可恢复,则系统进入单机状态。其中的上电策略还进一步包括以下步骤步骤1-1:双机上电后,各单机均默认系统指定的一单机为工作机,继续 步骤1-2;步骤1-2:各单机的CPU开始初始化并自检测(CPU产生的自检测信号传 输至自身的仲裁切换单元)若其中一单机自检测失败,则该自检测失败的单 机进入死循环,等待对机处理;若双机均自检测成功,则继续步骤l-3;步骤l-3:双机各自设置将要交互的状态信号,继续步骤l-4;步骤1-4:经一段随机时间的延迟后,各单机的仲裁切换单元之间读取对 机的状态信号,先读取到对机状态信号的单机被确定为工作机,被确定为工作 机的单机的CPU设置当班标志信号,并将该当班标志信号传输至自身的仲裁 切换单元,以进行自身为工作机的控制权确认;后读取到对机状态信号的单机 通过对机(即己被确定为工作机的单机)仲裁切换单元传输的当班标志信号判 断出对机己经成为工作机后放弃抢权,且向被确定为工作机的仲裁切换单元返 回确认备份机信号而成为备份机,继续步骤l-5;步骤1-5:双机稳定工作一段时间后,工作机通过自身的加断电单元对备 份机断电,系统实行冷备策略。实际应用时,在步骤l-2中,若其中一单机自检测失败,则自检测成功的 单机通过自身的加断电单元对该自检测失败的单机进行断电和上电操作(即将 断电上电指令传递给自检测失败的单机的电源单元),如果该自检测失败的单 机连续三次上电自检测都不正确,则该自检测失败的单机被认为是失效,系统 进入单机状态。其中的冷备策略还进一步包括以下步骤步骤2-l:上位机判断工作机的工作状态若工作机发生影响系统任务完 成的错误,则进入步骤2-2;若工作机发生不影响系统任务完成的错误,则跳 至步骤2-4;若工作机工作正常,则返回步骤2-l;步骤2-2:工作机的监视器单元向自身的仲裁切换单元发送错误信号,工作机通过自身的加断电单元对备份机加电,继续进行步骤2-3;步骤2-3:工作机的仲裁切换单元向自身的CPU发出复位信号,工作机自 动复位若工作机复位后正常且备份机上电后正常,则跳至步骤2-5;若工作 机复位且备份机上电后,有一单机不正常,则跳至步骤2-6;步骤2-4:工作机对发生错误的故障单元进行重试若重试后状态正常, 则返回步骤2-1;若重试多次后仍不正常,则认为工作机发生故障,跳至步骤2- 2;步骤2-5:双机进行抢权(双机各自CPU通过随机数函数产生一等待时间,通过双机等待时间差值实现抢权),待系统运行稳定后,抢权成功的新工作机通过自身的加断电单元对对机(即新备份机)断电,返回步骤2-l;步骤2-6:正常的单机成为新工作机,并且该新工作机通过自身的加断电 单元对对机进行断电和上电操作若断电上电后对机正常,则对机成为备份机 (即新备份机),工作机对备份机断电,返回步骤2-1;若断电上电多次后对 机仍不正常,则跳至步骤2-7;步骤2-7:断电上电后仍不正常的对机的仲裁切换单元向自身的CPU发出 复位信号而自动复位若对机复位后正常,则对机成为备份机(即新备份机), 工作机通过自身的加断电单元对备份机断电,返回步骤2-1;若对机复位后仍 不正常,则认为对机失效,系统进入单机状态。其中的热备策略还进一步包括以下步骤处于热备策略的双机状态为双机都处于正常工作状态,工作机和备份机 执行相同的控制任务,且双机都有控制信号输出,但是冗余切换选择单元300 只选择工作机输出的控制信号。步骤3-1:上位机判断双机的工作状态若工作机发生故障,则进入步骤3- 2;若备份机发生故障,则跳至步骤3-3;若双机工作正常,则返回步骤3-l;步骤3-2:工作机判断自身的监视器单元是否检测到故障若监视器单元 检测到故障,则跳至步骤3-4;若监视器单元未检测到故障,则该故障是由备 份机的心跳收发单元检测到的,跳至步骤3-7;步骤3-3:备份机判断自身的监视器单元是否检测到故障若监视器单元 检测到故障,则跳至步骤3-9;若监视器单元未检测到故障,则该故障是由工 作机的心跳收发单元检测到的,跳至步骤3-ll;步骤3-4:工作机通过自身的仲裁切换单元将故障信号传输至备份机的仲 裁切换单元,以将自身的故障情况通知备份机,工作机和备份机的仲裁切换单元分别输出相应的切换信号,备份机升级为新工作机,接替原工作机的工作任 务,继续步骤3-5;步骤3-5:原工作机的仲裁切换单元向自身的CPU发出复位信号,原工作 机自动复位若原工作机复位后自检测正常,则原工作机作为新备份机运行, 返回步骤3-1;若原工作机复位后连续多次(如三次)自检不正常,则原工作 机设置故障标志信号,继续步骤3-6;步骤3-6:新工作机通过自身的加断电单元对原工作机进行断电和上电操 作若原工作机断电上电多次后自检测仍不正常,则认为原工作机失效,系统 进入单机状态;若原工作机断电上电后自检测正常,则原工作机作为新备份机 运行,返回步骤3-l;步骤3-7:备份机实行工作机与备份机间的切换,工作机和备份机的仲裁 切换单元分别输出相应的切换信号,该备份机升级为新工作机,接替原工作机 的工作任务,继续步骤3-8;步骤3-8:新工作机通过自身的仲裁切换单元向原工作机的仲裁切换单元 发出复位信号,原工作机的仲裁切换单元向自身的CPU传输该复位信号,从 而实现新工作机对原工作机进行复位若原工作机复位后自检测正常,则原工 作机作为新备份机运行,返回步骤3-l;若原工作机复位后连续多次(如三次) 自检不正常,则原工作机设置故障标志信号,跳至步骤3-6;步骤3-9:备份机的仲裁切换单元向自身的CPU发出复位信号,备份机自 动复位若备份机复位后自检测正常,则备份机仍作为备份机运行,返回步骤 3-1;若备份机复位后连续多次(如三次)自检不正常,则备份机设置故障标 志信号,继续步骤3-10;步骤3-10:工作机通过自身的加断电单元对备份机进行断电和上电操作 若备份机断电上电多次后自检测仍不正常,则认为备份机失效,系统进入单机 状态;若备份机断电上电后自检测正常,则备份机仍作为备份机运行,返回步 骤3-l;步骤3-ll:工作机通过自身的仲裁切换单元向备份机的仲裁切换单元发出 复位信号,备份机的仲裁切换单元向自身的CPU传输该复位信号,从而实现 工作机对备份机进行复位若备份机复位后自检测正常,则备份机仍作为备份 机运行,返回步骤3-1;若备份机复位后连续多次(如三次)自检不正常,则 备份机设置故障标志信号,跳至步骤3-10。按照上述方法,当单机从工作机转换为备份机或者从备份机转换为工作机时,该单机发出一切换信号。冗余切换选择单元&0—通'过实对接收双机发出的切换信号而对双机CPU输出的控制信号进行选择,从而将正常的最终控制信 号输出给被控单元400,被控单元400根据接收的控制信号而运行。例如,系 统降级为单机状态,那么冗余切换选择单元300将该单机CPU输出的控制信 号作为最终控制信号传输给被控单元400。又如,若A机为工作机,B机为备 份机,A机故障,B机升级为工作机,则B机向冗余切换选择单元300输送切 换信号,冗余切换选择单元300通过该切换信号对双机CPU输出的控制信号 进行选择,从而将B机CPU输出的控制信号作为最终控制信号传输给被控单 元400。本发明具有如下优点本发明双机冗余容错系统可在一般任务段和关键任务段两种状态下工作, 且在各状态下发生不同故障时,系统通过本发明冗余切换方法进行及时故障处 理,以保证系统正常工作或工作在故障安全侧,防止引起毁灭性故障。在本发明中,当系统采用冷备策略和处于单机状态时,单机的冗余切换控 制单元采用看门狗自检测一种故障检测手段。当系统采用热备策略时,每个单 机的冗余切换控制单元采用两种故障检测手段, 一种为看门狗自检测,另一种 为对机心跳收发单元监视。这两种检测手段起到了故障检测功能冗余的效果, 防止了由于硬件链路问题使得个体故障检测单元本身错误影响整个系统正常 运行的现象发生。而且,对心跳收发单元和自检测设计了优先级判断,对同一 错误引起的多个故障信号进行处理,优先级低的信号被屏蔽,优先级高的信号 传输至仲裁切换单元,防止了信号冲突"死锁"。本发明双机冗余容错系统结构简单,信号传输可靠,本发明冗余切换方法 控制简单,可极大降低系统故障率,可起到很好的容错效果。本发明双机冗余 容错系统及其冗余切换方法适用于运行可靠性要求高(即故障情况下仍需连续 运行)的环境。
权利要求
1. 一种双机冗余容错系统,其特征在于它包括A机、B机、冗余切换选择单元和被控单元,A机和B机内均设有一冗余切换控制单元,A机和B机内的冗余切换控制单元分别将各自产生的切换信号传输至冗余切换选择单元,冗余切换选择单元通过两冗余切换控制单元传输的切换信号对A机和B机分别输出的控制信号进行选择后产生一最终控制信号,并将该最终控制信号传输至被控单元,其中该冗余切换控制单元包括仲裁切换单元、心跳收发单元、加断电单元和监视器单元,A机的仲裁切换单元分别与A机的心跳收发单元、加断电单元和监视器单元相连,该A机的心跳收发单元与B机的心跳收发单元相连,该A机的加断电单元与B机的电源单元相连,该A机的监视器单元与A机的CPU相连,该A机的CPU与A机的仲裁切换单元相连,该A机的仲裁切换单元与B机的仲裁切换单元相连,该A机的仲裁切换单元输出一切换信号;B机的仲裁切换单元分别与B机的心跳收发单元、加断电单元和监视器单元相连,该B机的加断电单元与A机的电源单元相连,该B机的监视器单元与B机的CPU相连,该B机的CPU与B机的仲裁切换单元相连,该B机的仲裁切换单元输出一切换信号。
2、 根据权利要求1所述的双机冗余容错系统,其特征在于所述冗余切 换控制单元还包括优先级单元,该优先级单元接收本机的心跳收发单元输出的 信号和对机的仲裁切换单元输出的信号,该优先级单元将处理后产生的信号输 出至本机的仲裁切换单元。
3、 一种双机冗余容错系统的冗余切换方法,其特征在于它包括步骤步骤A:双机同时上电,通过上电策略确定工作机、备份机;步骤B:判断双机状态若双机无故障,则跳至步骤C;若工作机或备份 机故障,则跳至步骤D;步骤C:判断系统所处任务段若系统工作在一般任务段,则工作机通过 自身的加断电单元对备份机断电,系统实行冷备策略,并返回步骤B;若系统 工作在关键任务段,则工作机通过自身的加断电单元对备份机上电,系统实行 热备策略,并返回步骤B;步骤D:判断故障是否可恢复若故障可恢复,则进行故障恢复,并返回 步骤B;若故障不可恢复,则系统进入单机状态。
4、 根据权利要求3所述的冗余切换方法,实特征在于所述上龟策略进 一步包括步骤步骤1-1:双机上电后,各单机均默认系统指定的一单机为工作机,继续 步骤1-2;步骤1-2:各单机开始初始化并自检测若其中一单机自检测失败,则该 自检测失败的单机进入死循环,等待对机处理;若双机均自检测成功,则继续 步骤1-3;步骤l-3:双机各自设置将要交互的状态信号,继续步骤l-4;步骤1-4:经随机时间的延迟后,各单机读取对机的状态信号,先读取到 对机状态信号的单机被确定为工作机,被确定为工作机的单机设置当班标志信 号,并将该当班标志信号传输至自身的仲裁切换单元,以进行自身为工作机的 控制权确认;后读取到对机状态信号的单机通过对机仲裁切换单元传输的当班 标志信号判断出对机己经成为工作机后放弃抢权,且向被确定为工作机的仲裁 切换单元返回确认备份机信号而成为备份机,继续步骤1-5;步骤1-5:双机稳定工作一段时间后,工作机通过自身的加断电单元对备 份机断电,系统实行冷备策略。
5、 根据权利要求4所述的冗余切换方法,其特征在于所述步骤l-2中, 若其中一单机自检测失败,则自检测成功的单机通过自身的加断电单元对该自 检测失败的单机进行断电和上电操作,如果该自检测失败的单机连续三次上电 自检测都不正确,则该自检测失败的单机被认为是失效,系统进入单机状态。
6、 根据权利要求3至5中任一项所述的冗余切换方法,其特征在于所述冷备策略进一步包括步骤步骤2-1:判断工作机的工作状态若工作机发生影响系统任务完成的错 误,则进入步骤2-2;若工作机发生不影响系统任务完成的错误,则跳至步骤 2-4;若工作机工作正常,则返回步骤2-l;步骤2-2:工作机的监视器单元向自身的仲裁切换单元发送错误信号,工 作机通过自身的加断电单元对备份机加电,继续进行步骤2-3;步骤2-3:工作机自动复位若工作机复位后正常且备份机上龟后正常, 则跳至步骤2-5;若工作机复位且备份机上电后,有一单机不正常,则跳至步 骤2-6;步骤2-4:工作机对发生错误的故障单元进行重试若重试后状态正常, 则返回步骤2-1;若重试多次后仍不正常,则认为工作机发生故障,跳至步骤2-2;步骤2-5:双机进行抢权,待系统运行稳定后,抢权成功的新工作机通过 自身的加断电单元对对机断电,返回步骤2-l;步骤2-6:正常的单机成为新工作机,并且该新工作机通过自身的加断电 单元对对机进行断电和上电操作若断电上电后对机正常,则对机成为备份机, 工作机对备份机断电,返回步骤2-1;若断电上电多次后对机仍不正常,则跳 至步骤2-7;步骤2-7:断电上电后仍不正常的对机自动复位若对机复位后正常,则 对机成为备份机,工作机通过自身的加断电单元对备份机断电,返回步骤2-l; 若对机复位后仍不正常,则认为对机失效,系统进入单机状态。
7、根据权利要求3所述的冗余切换方法,其特征在于所述热备策略进 一步包括步骤步骤3-l:判断双机的工作状态若工作机发生故障,则进入步骤3-2;若 备份机发生故障,则跳至步骤3-3;若双机工作正常,则返回步骤3-l;步骤3-2:工作机判断自身的监视器单元是否检测到故障若监视器单元 检测到故障,则跳至步骤3-4;若监视器单元未检测到故障,则该故障是由备 份机的心跳收发单元检测到的,跳至步骤3-7;步骤3-3:备份机判断自身的监视器单元是否检测到故障若监视器单元 检测到故障,则跳至步骤3-9;若监视器单元未检测到故障,则该故障是由工 作机的心跳收发单元检测到的,跳至步骤3-11;步骤3-4:工作机将自身的故障情况通知备份机,备份机升级为新工作机, 接替原工作机的工作任务,继续步骤3-5;步骤3-5:原工作机自动复位若原工作机复位后自检测正常,则原工作 机作为新备份机运行,返回步骤3-l;若原工作机复位后连续多次自检不正常, 则原工作机设置故障标志信号,继续步骤3-6;步骤3-6:新工作机通过自身的加断电单元对原工作机进行断电和上电操 作若原工作机断电上电多次后自检测仍不正常,则认为原工作机失效,系统 进入单机状态;若原工作机断电上电后自检测正常,则原工作机作为新备份机 运行,返回步骤3-l;步骤3-7:备份机实行工作机与备份机间的切换,该备份机升级为新工作 机,接替原工作机的工作任务,继续步骤3-8;步骤3-8:新工作机对原工作机进行复位若原工作机复位后自检测正常,则原工作机作为新备份机运行,返回步骤3-i;,原工作机复位后连续多次自 检不正常,则原工作机设置故障标志信号,跳至步骤3-6;步骤3-9:备份机自动复位若备份机复位后自检测正常,则备份机仍作 为备份机运行,返回步骤3-1;若备份机复位后连续多次自检不正常,则备份 机设置故障标志信号,继续步骤3-10;步骤3-10:工作机通过自身的加断电单元对备份机进行断电和上电操作 若备份机断电上电多次后自检测仍不正常,则认为备份机失效,系统进入单机 状态;若备份机断电上电后自检测正常,则备份机仍作为备份机运行,返回步 骤3-l;步骤3-ll:工作机对备份机进行复位若备份机复位后自检测正常,则备 份机仍作为备份机运行,返回步骤3-l;若备份机复位后连续多次自检不正常, 则备份机设置故障标志信号,跳至步骤3-10。
全文摘要
本发明公开了一种双机冗余容错系统及其冗余切换方法。该系统包括A机、B机,AB机内的冗余切换控制单元将各自产生的切换信号通过冗余切换选择单元的选择而将产生的最终控制信号传至被控单元。冗余切换控制单元包括仲裁切换单元、心跳收发单元、加断电单元和监视器单元。该方法包括双机上电,上电策略确定主从机;判断双机状态;若双机无故障,则判断系统所处任务段若一般任务段,则工作机对备份机断电,实行冷备策略;若关键任务段,则工作机对备份机上电,实行热备策略;若有一单机故障故障可恢复,则恢复,反之,则进入单机状态。本发明系统结构简单,信号传输可靠,本发明方法控制简单,极大降低系统故障率,起到很好的容错效果。
文档编号G06F11/16GK101281483SQ20081010634
公开日2008年10月8日 申请日期2008年5月12日 优先权日2008年5月12日
发明者党崇伦, 平 叶, 孙汉旭, 曹红玉, 贾庆轩 申请人:北京邮电大学