一种运行状态确定方法及装置与流程

文档序号:12596773阅读:358来源:国知局
一种运行状态确定方法及装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种运行状态确定方法及装置。



背景技术:

在多控制器设备中,针对任意一个控制器而言,会配置另一个控制器为该控制器的冗余控制器,以便在该控制器出现宕机事件时,由另一个控制器处理该控制器的任务,这就需要另一个控制器能够确定出该控制器的运行状态。

在传统的多控制器设备中,具有冗余关系的两个控制器间通过定时发送心跳报文确定对方的运行状态。

这种方法存在一定的缺点,首先,如果心跳报文发送频率太低,则一个控制器出现宕机事件后,另一个控制器很久才能感知到,响应速度较慢;其次,如果心跳报文发送频率太高,将占用较多带宽,影响控制器对任务的正常处理。



技术实现要素:

为解决上述技术问题,本发明提供一种运行状态确定方法及装置。

一种运行状态确定方法,应用于多控制器设备中的第一控制器,所述第一控制器为第二控制器的冗余控制器,所述第二控制器为所述多控制器设备中的任意一个控制器,在所述第二控制器中设置有用于在发生宕机事件时维持供电的电池备份单元BBU;所述方法包括:

接收所述第二控制器发送的宕机事件信号,所述宕机事件信号为所述第二控制器在发生宕机事件时生成,并通过所述BBU供电发送的;

根据所述宕机事件信号,确定所述第二控制器当前处于非运行状态。

在本发明的一种具体实施方式中,在所述确定所述第二控制器当前处于非运行状态之后,所述方法还包括:

根据预设的策略接管所述第二控制器的任务。

在本发明的一种具体实施方式中,所述方法还包括:

在接收到所述第二控制器发送的恢复事件信号时,中断对所述第二控制器的任务的管理,以使所述第二控制器继续管理自身的任务。

在本发明的一种具体实施方式中,在所述接收所述第二控制器发送的宕机事件信号之前,所述方法还包括:

接收所述第二控制器发送的信息同步请求;

根据所述信息同步请求,在自身内存中同步所述第二控制器的相关信息。

在本发明的一种具体实施方式中,所述宕机事件信号为消息通知或者中断信号。

一种运行状态确定装置,应用于多控制器设备中的第一控制器,所述第一控制器为第二控制器的冗余控制器,所述第二控制器为所述多控制器设备中的任意一个控制器,在所述第二控制器中设置有用于在发生宕机事件时维持供电的电池备份单元BBU;所述装置包括:

信号接收模块,用于接收所述第二控制器发送的宕机事件信号,所述宕机事件信号为所述第二控制器在发生宕机事件时生成,并通过所述BBU供电发送的;

状态确定模块,用于根据所述宕机事件信号,确定所述第二控制器当前处于非运行状态。

在本发明的一种具体实施方式中,所述装置还包括:

任务接管模块,用于在所述确定所述第二控制器当前处于非运行状态之后,根据预设的策略接管所述第二控制器的任务。

在本发明的一种具体实施方式中,所述装置还包括:

任务中断模块,用于在接收到所述第二控制器发送的恢复事件信号时,中断对所述第二控制器的任务的管理,以使所述第二控制器继续管理自身的任务。

在本发明的一种具体实施方式中,所述装置还包括信息同步模块,用于:

在所述接收所述第二控制器发送的宕机事件信号之前,接收所述第二控制器发送的信息同步请求;

根据所述信息同步请求,在自身内存中同步所述第二控制器的相关信息。

在本发明的一种具体实施方式中,所述宕机事件信号为消息通知或者中断信号。

应用本发明实施例所提供的技术方案,在多控制器设备的控制器中设置有电池备份单元BBU,第二控制器为多控制器设备中的任意一个控制器,当第二控制器发生宕机事件时,可以借助BBU维持供电向第一控制器发出宕机事件通知,第一控制器可以及时获知第二控制器发生了宕机事件,处于非运行状态,响应速度快,而且在正常工作过程中不需要占用带宽,避免影响控制器对任务的正常处理。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种运行状态确定方法的实施流程图;

图2为本发明实施例中一种运行状态确定装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种运行状态确定方法,该方法可以应用于多控制器设备中的第一控制器。第一控制器为第二控制器的冗余控制器,第二控制器为多控制器设备中的任意一个控制器,在第二控制器中设置有电池备份单元BBU(Battery Backup Unit)。第二控制器在发生宕机事件时可以通过该BBU维持供电,并发送宕机事件信号给第一控制器,第一控制器根据第二控制器发送的宕机事件信号,可以及时确定该第二控制器当前处于非运行状态。本发明实施例所提供的技术方案可以替代心跳报文检测方法,可以解决心跳报文频率过高占用带宽较多问题,同时还可以解决心跳报文频率过低冗余控制器响应速度较慢的问题。

参见图1所示,为本发明实施例所提供的一种运行状态确定方法的实施流程图,该方法可以包括以下步骤:

S110:接收第二控制器发送的宕机事件信号。

其中,宕机事件信号为第二控制器在发生宕机事件时生成,并通过BBU供电发送的。

在本发明实施例中,第二控制器为多控制器设备中的任意一个控制器,在第二控制器中设置有BBU。

当第二控制器发生宕机事件时,由BBU维持供电。第二控制器可以生成宕机事件信号,并将宕机事件信号发送给自己的冗余控制器,即第一控制器。该宕机事件信号具体可以是消息通知或者中断信号。

第一控制器接收到第二控制器发送的宕机事件信号后,可以继续执行步骤S120的操作。

S120:根据宕机事件信号,确定第二控制器当前处于非运行状态。

第一控制器接收到第二控制器发送的宕机事件信号,可以对该宕机事件信号进行解析,确定第二控制器当前处于非运行状态,即第二控制器发生了宕机事件。

这样,第一控制器及时获知了第二控制器发生了宕机事件,可以快速地进行响应。

应用本发明实施例所提供的方法,在多控制器设备的控制器中设置有电池备份单元BBU,第二控制器为多控制器设备中的任意一个控制器,当第二控制器发生宕机事件时,可以借助BBU维持供电向第一控制器发出宕机事件通知,第一控制器可以及时获知第二控制器发生了宕机事件,处于非运行状态,响应速度快,而且在正常工作过程中不需要占用带宽,避免影响控制器对任务的正常处理。

在本发明的一个实施例中,在步骤S120之后,该方法还可以包括以下步骤:

根据预设的策略接管第二控制器的任务。

第一控制器确定第二控制器发生宕机事件,处于非运行状态之后,可以根据预设的策略接管第二控制器的任务。比如,可以根据任务的重要级别,确定接管第二控制器哪些类型的任务,或者,可以在设定时间段内接管第二控制器的任务。

这样,可以避免因第二控制器发生宕机事件而导致任务积压严重,使得多控制器设备无法正常工作的问题。

在本发明的一个实施例中,该方法还可以包括以下步骤:

在接收到第二控制器发送的恢复事件信号时,中断对第二控制器的任务的管理,以使第二控制器继续管理自身的任务。

在本发明实施例中,第一控制器作为第二控制器的冗余控制器,其自身可以处理其对应任务,还可以仅作为冗余控制器存在,不处理任何任务。

当第一控制器仅作为冗余控制器存在,不处理任何任务时,当第一控制器确认第二控制器发生宕机事件,处于非运行状态,接管了第二控制器的任务之后,第一控制器可以一直处理第二控制器的任务。当第二控制器恢复正常后,其可以作为第一控制器的冗余控制器存在,不处理任何任务,当第一控制器发生宕机事件,处于非运行状态时,第二控制器再将任务接管过来,继续处理。

当第一控制器在日常工作过程中,也要处理相应任务时,其接管了第二控制器的任务之后,如果接收到第二控制器发送的恢复事件信号,则表明第二控制器已经恢复正常,第一控制器可以中断对第二控制器的任务的管理,这样,第二控制器可以继续管理自身的任务。

在本发明的一个实施例中,在步骤S110之前,该方法还可以包括以下步骤

步骤一:接收第二控制器发送的信息同步请求;

步骤二:根据信息同步请求,在自身内存中同步第二控制器的相关信息。

为便于描述,将上述两个步骤结合起来进行说明。

在实际应用中,在第一控制器和第二控制器的日常工作过程中,二者之间可以进行信息同步,这样,当第二控制器发生宕机事件,第一控制器需要接管第二控制器的任务时,可以保证处理结果的一致性。

第一控制器在接收到第二控制器发送的信息同步请求时,可以根据该信息同步请求,在自身内存中同步第二控制器的相关信息。当然,如果第一控制器也有相应任务处理,非单纯的冗余控制器,则其也可以向第二控制器发送信息同步请求,保证二者之间信息的同步,避免相互接管任务时处理结果的不一致。

相应于上面的方法实施例,本发明实施例还提供了一种运行状态确定装置,该装置应用于多控制器设备中的第一控制器,第一控制器为第二控制器的冗余控制器,第二控制器为多控制器设备中的任意一个控制器,在第二控制器中设置有用于在发生宕机事件时维持供电的电池备份单元BBU。下文描述的一种运行状态确定装置与上文描述的一种运行状态确定方法可相互对应参照。

参见图2所示,该装置可以包括以下模块:

信号接收模块210,用于接收第二控制器发送的宕机事件信号,宕机事件信号为第二控制器在发生宕机事件时生成,并通过BBU供电发送的;

状态确定模块220,用于根据宕机事件信号,确定第二控制器当前处于非运行状态。

应用本发明实施例所提供的装置,在多控制器设备的控制器中设置有电池备份单元BBU,第二控制器为多控制器设备中的任意一个控制器,当第二控制器发生宕机事件时,可以借助BBU维持供电向第一控制器发出宕机事件通知,第一控制器可以及时获知第二控制器发生了宕机事件,处于非运行状态,响应速度快,而且在正常工作过程中不需要占用带宽,避免影响控制器对任务的正常处理。

在本发明的一种具体实施方式中,该装置还包括:

任务接管模块,用于在确定第二控制器当前处于非运行状态之后,根据预设的策略接管第二控制器的任务。

在本发明的一种具体实施方式中,该装置还包括:

任务中断模块,用于在接收到第二控制器发送的恢复事件信号时,中断对第二控制器的任务的管理,以使第二控制器继续管理自身的任务。

在本发明的一种具体实施方式中,该装置还包括信息同步模块,用于:

在接收第二控制器发送的宕机事件信号之前,接收第二控制器发送的信息同步请求;

根据信息同步请求,在自身内存中同步第二控制器的相关信息。

在本发明的一种具体实施方式中,宕机事件信号为消息通知或者中断信号。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种运行状态确定方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1