一种双控存储设备主备控制方法及装置与流程

文档序号:11199143阅读:756来源:国知局
一种双控存储设备主备控制方法及装置与流程

本发明涉及计算机存储技术领域,特别是涉及一种双控存储设备主备控制方法及装置。



背景技术:

随着计算机存储技术的发展,双控存储作为保障数据可靠性的一种存储方式,得到了广泛的应用,双控存储设备逐渐增多。双控存储设备包括主控制器和备控制器。主控制器通常负责维护一些重要数据,收集机箱信息和控制机箱设备运转。备控制器在主控制器出现异常时,接管主控制器的工作,以使双控存储设备能够正常运行。

在现有技术中,如图1所示,主控制器100和备控制器101分别通过以太网接口与网络中的交换机102连接,主控制器100和备控制器101之间维持心跳连接,心跳的方式是以tcp包的形式发送的。主控制器100执行一个进程后,定时向备控制器101发送携带有主控制器标识的数据包,并从备控制器101中获取信息,备控制器101也执行一个进程来接收主控制器100发送的数据包并返回自己的信息。当备控制器101在预定时间内没有接收主控制器100的数据包时,备控制器101会认为主控制器100出现异常,进而将自己升级成主控制器,接管原主控制器100的工作。

然而,在实际应用中,常常会因为网络抖动大、系统负载过大等,导致数据包出现超时情况。也就是说,备控制器在预定时间内没有接收到主控制器发送的数据包,并不一定说明主控制器当前已无法工作,有可能在一定时间后主控制器或者网络恢复正常。如果备控制器误认为主控制器无法工作,升级成主控制器,而此时原主控制器仍在工作中,则将导致两个控制器相互争用,可能会导致脑裂、数据资源被破坏等严重后果,降低双控存储设备的系统性能。



技术实现要素:

本发明的目的是提供一种双控存储设备主备控制方法及装置,以有效避免因网络不稳定等原因对主控制器的工作状态进行误判,而导致备控制器升级成主控制器,并与原主控制器互相争用的问题出现,提升双控存储设备的性能。

为解决上述技术问题,本发明提供如下技术方案:

一种双控存储设备主备控制方法,应用于微控制器,所述微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,所述方法包括:

在对所述主控制器的工作状态进行监测过程中,确定所述主控制器是否出现异常;

如果是,则向所述备控制器发送主备转换命令,以使所述备控制器升级为主控制器。

优选的,所述在对所述主控制器的工作状态进行监测过程中,确定所述主控制器是否出现异常,包括:

在对所述主控制器的工作状态进行监测过程中,按照设定第一周期向所述主控制器发送主控状态检测信号;

如果在设定第一时间段内未接收到所述主控制器返回的针对所述主控状态检测信号的主控反馈信号,则确定所述主控制器出现异常。

优选的,所述在对所述主控制器的工作状态进行监测过程中,确定所述主控制器是否出现异常,包括:

在对所述主控制器的工作状态进行监测过程中,接收所述主控制器按照设定第二周期发送的状态信号;

如果在设定第二时间段内未接收到所述状态信号,则确定所述主控制器出现异常。

优选的,在确定所述主控制器出现异常时,在所述向所述备控制器发送主备转换命令之前,还包括:

向所述备控制器发送备控状态检测信号;

如果接收到所述备控制器返回的针对所述备控状态检测信号的备控反馈信号,则执行所述向所述备控制器发送主备转换命令的步骤。

优选的,在所述向所述备控制器发送备控状态检测信号之后,还包括:

如果在设定第三时间段内未接收到所述备控反馈信号,则输出告警提示信息。

一种双控存储设备主备控制装置,应用于微控制器,所述微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,所述装置包括:

异常确定模块,用于在对所述主控制器的工作状态进行监测过程中,确定所述主控制器是否出现异常,如果是,则触发主备转换模块;

所述主备转换模块,用于向所述备控制器发送主备转换命令,以使所述备控制器升级为主控制器。

优选的,所述异常确定模块,具体用于:

在对所述主控制器的工作状态进行监测过程中,按照设定第一周期向所述主控制器发送主控状态检测信号;

如果在设定第一时间段内未接收到所述主控制器返回的针对所述主控状态检测信号的主控反馈信号,则确定所述主控制器出现异常。

优选的,其特征在于,所述异常确定模块,具体用于:

在对所述主控制器的工作状态进行监测过程中,接收所述主控制器按照设定第二周期发送的状态信号;

如果在设定第二时间段内未接收到所述状态信号,则确定所述主控制器出现异常。

优选的,所述主备转换模块,还用于:

在确定所述主控制器出现异常时,在所述向所述备控制器发送主备转换命令之前,向所述备控制器发送备控状态检测信号;

如果接收到所述备控制器返回的针对所述备控状态检测信号的备控反馈信号,则执行所述向所述备控制器发送主备转换命令的步骤。

优选的,所述主备转换模块,还用于:

在所述向所述备控制器发送备控状态检测信号之后,如果在设定第三时间段内未接收到所述备控反馈信号,则输出告警提示信息。

应用本发明实施例所提供的技术方案,微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,在对主控制器的工作状态进行监测过程中,确定主控制器是否出现异常,如果是,则向备控制器发送主备转换命令,以使备控制器升级为主控制器。通过分别与主控制器和备控制器连接的微控制器完成主备控制,由于微控制器与主控制器和备控制器之间通过总线相连,而不是通过网络连接,所以,可以有效避免因网络不稳定等原因对主控制器的工作状态进行误判,而导致备控制器升级成主控制器,并与原主控制器互相争用的问题出现,提升了双控存储设备的系统性能。

附图说明

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

图1为现有技术中双控存储设备主备控制器通信示意图。

图2为本发明实施例中双控存储设备主备控制器通信示意图。

图3为本发明实施例中一种双控存储设备主备控制方法的实施流程图。

图4为本发明实施例中一种双控存储设备主备控制装置的结构示意图。

具体实施方式

本发明的核心是提供一种双控存储设备主备控制方法,该方法应用于微控制器,微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接。在双控存储设备上电启动后,可以默认将某个槽位的控制器设为主控制器,将另一槽位的控制器设为备控制器。或者,可以根据用户指令,将某个槽位的控制器设为主控制器,将另一槽位的控制器设为备控制器。

如图2所示,双控存储设备中的主控制器100和备控制器101分别通过i2c总线与微控制器103连接,由微控制器103进行双控存储设备的主备控制,主控制器100和备控制器101分别通过以太网接口与交换机102连接,进行网络数据的传输。

当然,图2仅示出了一种总线连接方式,在实际应用中,微控制器与主控制器和备控制器连接的总线也可以为其他类型总线,本发明实施例对此不做限制。

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

请参考图3,为本发明实施例所提供的一种双控存储设备主备控制方法的实施流程图。该方法可以包括以下步骤:

s301:在对主控制器的工作状态进行监测过程中,确定主控制器是否出现异常。

在本发明实施例中,微控制器通过总线分别与主控制器和备控制器连接,通过总线可以进行信息传输。微控制器通过监测主控制器的工作状态,可以确定主控制器是否出现异常。

在本发明的一种具体实施方式中,步骤s301可以包括以下步骤:

步骤一:在对主控制器的工作状态进行监测过程中,按照设定第一周期向主控制器发送主控状态检测信号;

步骤二:如果在设定第一时间段内未接收到主控制器返回的针对主控状态检测信号的主控反馈信号,则确定主控制器出现异常。

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

在实际应用中,可以预先设定第一周期,微控制器按照第一周期周期性地向主控制器发送主控状态检测信号,以对主控制器的工作状态进行监测。当然,微控制器在对主控制器的工作状态进行监测的过程中,可以同时对备控制器的工作状态进行周期性的监测。

如果主控制器当前处于正常工作状态,则主控制器接收到主控状态检测信号后,可以向微控制器返回针对该主控状态检测信号的主控反馈信号。如果主控制器当前处于异常状态,则其可能无法接收到主控状态检测信号,或者无法向微控制器返回针对该主控状态检测信号的主控反馈信号。可以在主控制器内单独运行一个进程进行主控状态检测信号的接收和主控反馈信号的发送。

如果微控制器在第一时间段内未接收到主控反馈信号,则可以确定主控制器出现异常。

需要说明的是,第一周期和第一时间段均可默认设定或者由用户设定,本发明实施例对此不做限制。比如,用户可以根据实际情况,如主控制器的型号、在具体应用电路中接收到反馈信号通常需要的时间等,具体设定第一时间段。

在本发明的另一种具体实施方式中,步骤s301可以包括以下步骤:

第一个步骤:在对主控制器的工作状态进行监测过程中,接收主控制器按照设定第二周期发送的状态信号;

第二个步骤:如果在设定第二时间段内未接收到状态信号,则确定主控制器出现异常。

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

在实际应用中,可以预先设定第二周期,主控制器按照第二周期主动地向微控制器发送状态信号。可以在主控制器内单独运行一个进程进行状态信号的发送。

如果微控制器在第二时间段内未接收到主控制器发送的状态信号,则可以确定主制控器出现异常。

需要说明的是,第二周期和第二时间段均可默认设定或者由用户设定,本发明实施例对此不做限制。比如,用户可以根据实际情况,如主控制器的型号、在具体应用电路中接收到反馈信号通常需要的时间等,具体设定第二时间段。

微控制器确定主控制器出现异常之后,可以执行步骤s302的操作。

s302:向备控制器发送主备转换命令,以使备控制器升级为主控制器。

微控制器确定主控制器出现异常时,可以向备控制器发送主备转换命令,备控制器接收到主备转换命令之后,将自身升级成主控制器,以接替原主控制器的工作。具体的,可以在备控制器内单独运行一个进程,在其接收到主备转换命令之后,触发相应的升级操作。

在本发明实施例中,在微控制器通过i2c总线分别与主控制器和备控制器相连的情况下,微控制器与主控制器、备控制器之间传输的信号和命令均可为i2c命令。

应用本发明实施例所提供的方法,微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,在对主控制器的工作状态进行监测过程中,确定主控制器是否出现异常,如果是,则向备控制器发送主备转换命令,以使备控制器升级为主控制器。通过分别与主控制器和备控制器连接的微控制器完成主备控制,由于微控制器与主控制器和备控制器之间通过总线相连,而不是通过网络连接,所以,可以有效避免因网络不稳定等原因对主控制器的工作状态进行误判,而导致备控制器升级成主控制器,并与原主控制器互相争用的问题出现,提升了双控存储设备的系统性能。

在本发明的一个实施例中,在确定主控制器出现异常时,在步骤s302之前,还包括:

步骤一:向备控制器发送备控状态检测信号;

步骤二:如果接收到备控制器返回的针对备控状态检测信号的备控反馈信号,则执行向备控制器发送主备转换命令的步骤。

微控制器确定主控制器出现异常时,可以向备控制器发送备控状态检测信号,以确定备控制器是否处于正常工作状态。

如果微控制器接收到备控制器针对备控状态检测信号返回的备控反馈信号,则可以确定备控制器当前处于正常工作状态,可以向备控制器发送主备转换命令,以使备控制器升级为主控制器。

在微控制器向备控制器发送备控状态检测信号之后,如果微控制器在设定第三时间段内未接收到备控反馈信号,则表明备控制器当前可能异常,可以输出告警提示信息,如以弹窗方式输出,以提示用户当前双控存储设备的主控制器和备控制器均存在异常,用户可以根据该告警提示信息及时进行问题排查。

需要说明的是,第三时间段可以根据实际情况进行设定和调整,本发明实施例对此不做限制。

相应于上面的方法实施例,本发明实施例还提供了一种双控存储设备主备控制装置,该装置应用于微控制器,微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,下文描述的一种双控存储设备主备控制装置与上文描述的一种双控存储设备主备控制方法可相互对应参照。

如图4所示,为本发明提供的一种双控存储设备主备控制装置的结构示意图。该装置包括以下模块:

异常确定模块401,用于在对主控制器的工作状态进行监测过程中,确定主控制器是否出现异常,如果是,则触发主备转换模块402;

主备转换模块402,用于向备控制器发送主备转换命令,以使备控制器升级为主控制器。

应用本发明实施例所提供的装置,微控制器通过总线分别与双控存储设备中的主控制器和备控制器连接,在对主控制器的工作状态进行监测过程中,确定主控制器是否出现异常,如果是,则向备控制器发送主备转换命令,以使备控制器升级为主控制器。通过分别与主控制器和备控制器连接的微控制器完成主备控制,由于微控制器与主控制器和备控制器之间通过总线相连,而不是通过网络连接,所以,可以有效避免因网络不稳定等原因对主控制器的工作状态进行误判,而导致备控制器升级成主控制器,并与原主控制器互相争用的问题出现,提升了双控存储设备的系统性能。

在本发明的一种具体实施方式中,异常确定模块401,具体用于:

在对主控制器的工作状态进行监测过程中,按照设定第一周期向主控制器发送主控状态检测信号;

如果在设定第一时间段内未接收到主控制器返回的针对主控状态检测信号的主控反馈信号,则确定主控制器出现异常。

在本发明的一种具体实施方式中,异常确定模块401,具体用于:

在对主控制器的工作状态进行监测过程中,接收主控制器按照设定第二周期发送的状态信号;

如果在设定第二时间段内未接收到状态信号,则确定主控制器出现异常。

在本发明的一种具体实施方式中,主备转换模块402,还用于:

在确定主控制器出现异常时,在向备控制器发送主备转换命令之前,向备控制器发送备控状态检测信号;

如果接收到备控制器返回的针对备控状态检测信号的备控反馈信号,则执行向备控制器发送主备转换命令的步骤。

在本发明的一种具体实施方式中,主备转换模块402,还用于:

在向备控制器发送备控状态检测信号之后,如果在设定第三时间段内未接收到备控反馈信号,则输出告警提示信息。

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

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

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

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

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