双控存储控制器的故障检测方法及存储控制器的制造方法

文档序号:9667228阅读:459来源:国知局
双控存储控制器的故障检测方法及存储控制器的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种双控存储控制器的故障检测方法及存储控制器。
【背景技术】
[0002]随着计算机信息技术的广泛应用和发展,计算机存储服务的可靠性要求也越来越尚ο
[0003]目前,为了提高计算机存储服务的可靠性,防止10数据输入过程中存储控制器发生故障导致处理过程中断,可利用双控存储控制器来完成相应的存储服务,即通过两个存储控制器来完成相应的存储服务,其中一个存储控制器故障时,另一个存储控制器可接管故障存储控制器的工作,即将故障存储控制器的LU(logic unit,逻辑单元)上的10数据同步至另一个存储控制器上以继续执行相应的存储服务;因此,如何检测出双控存储控制器是否发生故障成为亟待解决的问题。

【发明内容】

[0004]有鉴于此,本发明提供了一种双控存储控制器的故障检测方法及存储控制器,可检测出故障存储控制器。
[0005]第一方面,本发明提供了一种双控存储控制器的故障检测方法,应用于本端存储控制器,包括:
[0006]S0:预先设置目标参数、套接字Socket以及Socket向设置在对端存储控制器上的Socket发送心跳信号的信号周期;
[0007]S1:根据所述信号周期,利用Socket向设置在对端存储控制器上的Socket发送心跳信号;以及,利用Socket接收设置在对端存储控制器上的Socket根据所述信号周期发送的心跳信号;
[0008]S2:判断连续未接收到对端存储控制器发送的心跳信号的次数是否不小于所述目标参数;如果是,则确定对端存储控制器发生故障。
[0009]优选地,进一步包括:设置计时器timerl ;其中,所述timerl用于倒计时,当timerl为0时,触发Socket向设置在对端存储控制器上的Socket发送心跳信号;
[0010]所述设置Socket向设置在对端存储控制器上的Socket发送心跳信号的信号周期,包括:
[0011]将timerl初始化为3s ;
[0012]和/ 或,
[0013]所述目标参数包括:10。
[0014]优选地,进一步包括:设置响应变量的初始值为0,当Socket接收到设置在对端存储控制器上的Socket发送的心跳信号时,将响应变量置为1,否则,保持响应变量的初始值不变;
[0015]进一步包括:当timerl为0时,判断响应变量的值,若响应变量的值为1,则复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数置为0,以及将响应变量置为初始值0 ;否则,复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数加1。
[0016]优选地,所述将Socket未接收到对端存储控制器发送的心跳信号的次数加1之前,进一步包括:
[0017]判断Socket未接收到对端存储控制器发送的心跳信号的次数是否小于目标参数,如果是,则执行所述将Socket未接收到对端存储控制器发送的心跳信号的次数加1,否则执行所述复位timerl。
[0018]优选地,进一步包括:
[0019]当Socket接收到设置在对端存储控制器上的Socket发送的心跳信号时,复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数置为0。
[0020]第二方面,本发明提供了一种存储控制器,包括:
[0021]设置单元,用于预先设置目标参数、套接字Socket以及Socket向设置在对端存储控制器上的Socket发送心跳信号的信号周期;
[0022]Socket,用于根据所述信号周期,向设置在对端存储控制器上的Socket发送心跳信号;以及,接收设置在对端存储控制器上的Socket根据所述信号周期发送的心跳信号;
[0023]第一处理单元,用于判断连续未接收到对端存储控制器发送的心跳信号的次数是否不小于所述目标参数;如果是,则确定对端存储控制器发生故障。
[0024]优选地,
[0025]所述设置单元,进一步用于设置计时器timerl ;其中,所述timerl用于倒计时,当timerl为0时,触发Socket向设置在对端存储控制器上的Socket发送心跳信号;
[0026]以及,
[0027]所述设置单元,进一步用于将timerl初始化为3s ;
[0028]和/ 或,
[0029]所述设置单元,进一步用于设置目标参数为10。
[0030]优选地,
[0031]所述设置单元,进一步用于设置响应变量的初始值为0,当Socket接收到设置在对端存储控制器上的Socket发送的心跳信号时,将响应变量置为1,否则,保持响应变量的初始值不变;
[0032]还包括:
[0033]第二处理单元,用于当timerl为0时,判断响应变量的值,若响应变量的值为1,则复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数置为0,以及将响应变量置为初始值0 ;否则,复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数加1。
[0034]优选地,进一步包括:
[0035]判断单元,用于判断Socket未接收到对端存储控制器发送的心跳信号的次数是否小于目标参数,如果是,则触发第二处理单元执行所述将Socket未接收到对端存储控制器发送的心跳信号的次数加1,否则触发所述第二处理单元执行所述复位timerl。
[0036]优选地,还包括:
[0037]第三处理单元,用于当Socket接收到设置在对端存储控制器上的Socket发送的心跳信号时,复位timerl,并将Socket未接收到对端存储控制器发送的心跳信号的次数置为0。
[0038]本发明提供了一种双控存储控制器的故障检测方法及存储控制器,通过在本端存储控制器上设置Socket,以及预先设置目标参数和Socket向设置在对端存储控制器上的Socket发送心跳信号的信号周期,设置的Socket可根据设置的信号周期向对端存储控制器上的Socket发送心跳信号以及接收对端存储控制器上的Socket发送的心跳信号,如果本端存储控制器上的Socket未接收到对端存储控制器上的Socket发送的心跳信号的次数不小于预先设置的目标参数时,则可确定对端存储控制器发生故障;即检测出故障存储控制器。
【附图说明】
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1是本发明一实施例提供的一种双控存储控制器的故障检测方法的流程图;
[0041]图2是本发明一实施例提供的另一种双控存储控制器的故障检测方法的流程图;
[0042]图3是本发明一实施例提供的一种存储控制器的结构图;
[0043]图4是本发明一实施例提供的另一种存储控制器的结构图;
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1