一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

硬盘指示灯控制方法、系统、终端及存储介质与流程

2022-05-08 08:40:37 来源:中国专利 TAG:


1.本发明涉及存储设备技术领域,具体涉及一种硬盘指示灯控制方法、系统、终端及存储介质。


背景技术:

2.在存储服务器背板上,每一个硬盘插槽都有一个在位指示灯,用于指示该块硬盘是否在位。但是该指示灯的作用非常有限,如果硬盘插在插槽上,该指示灯就会发光,表明该硬盘在位。但是在实际的使用过程中会遇见下述的问题:
3.硬盘在使用的过程中可能会出现固件的损坏,导致操作系统不能识别硬盘,从而不能对硬盘进行读写操作。但是在这种情况下,硬盘的指示灯还是会显示绿色表明硬盘仍然插在背板上。在这时通过指示灯并不能判断此时硬盘已经出现故障。
4.双控或者多控环境下,几个控制单元共享一个存储系统,但并不是所有的控制单元都会正确的检测到硬盘,并对硬盘进行正常的读写。例如这样一种情况,双控环境下主板a在正常工作,主板b是处于等待状态,主板a检测到硬盘在位于是使该硬盘的在位指示灯显示绿色,但是主板b并没有检测到硬盘。当主板a由于故障停止工作后,主板b接替a的工作,但此时主板b并没检测到硬盘,使该硬盘不能工作。


技术实现要素:

5.针对现有技术的上述不足,本发明提供一种硬盘指示灯控制方法、系统、终端及存储介质,以解决上述技术问题。
6.第一方面,本发明提供一种硬盘指示灯控制方法,包括:
7.识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期;
8.根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态。
9.进一步的,识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期,包括:
10.从所有控制器中选举出主控制器,主控制器接收其他控制器发送的身份信息;
11.主控制器汇总接收到的身份信息,并将汇总的身份信息和本地身份信息缓存为所有控制器的身份信息;
12.主控制器利用随机函数对所有控制器的身份信息进行排序,并将排序结果作为各控制器在控制周期内的控制顺序;
13.主控制器根据设定的控制周期时长为各控制器平均分配控制时间,根据所述控制顺序排列控制器的控制时间得到控制周期;
14.主控制器将循环控制周期组成的时序作为控制时序分发至其他控制器。
15.进一步的,识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期,包括:
16.主控制器设置等待时段,并将等待时段添加至循环控制周期组成的时序中相邻控制周期之间;
17.主控制器将添加有等待时段的时序作为控制时序分发至其他控制器。
18.进一步的,根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态,包括:
19.控制器根据自身在控制周期内的控制顺序和控制时间以及控制周期时长,从所述控制时序中拆分出自身对应的子控制时序;
20.控制器接收到硬盘指示灯控制程序启动信号时开始计时,并在计时时间在所述子控制时序的控制时间范围内时控制硬盘指示灯状态。
21.进一步的,控制器接收到硬盘指示灯控制程序启动信号时开始计时,并在计时时间在所述子控制时序的控制时间范围内时控制硬盘指示灯状态,包括:
22.控制器采集下辖硬盘状态,如果硬盘状态正常则在所述子控制时序的控制时间范围内时点亮硬盘指示灯,如果硬盘状态异常则在所述子控制时序的控制时间范围内时关闭硬盘指示灯。
23.第二方面,本发明提供一种硬盘指示灯控制系统,包括:
24.时序生成单元,用于识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期;
25.时序控制单元,用于根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态。
26.进一步的,所述时序生成单元包括:
27.控制选举模块,用于从所有控制器中选举出主控制器,主控制器接收其他控制器发送的身份信息;
28.信息汇总模块,用于主控制器汇总接收到的身份信息,并将汇总的身份信息和本地身份信息缓存为所有控制器的身份信息;
29.顺序生成模块,用于主控制器利用随机函数对所有控制器的身份信息进行排序,并将排序结果作为各控制器在控制周期内的控制顺序;
30.周期生成模块,用于主控制器根据设定的控制周期时长为各控制器平均分配控制时间,根据所述控制顺序排列控制器的控制时间得到控制周期;
31.时序生成模块,用于主控制器将循环控制周期组成的时序作为控制时序分发至其他控制器。
32.进一步的,所述时序生成单元还用于:
33.主控制器设置等待时段,并将等待时段添加至循环控制周期组成的时序中相邻控制周期之间;
34.主控制器将添加有等待时段的时序作为控制时序分发至其他控制器。
35.进一步的,所述时序控制单元包括:
36.时序拆分模块,用于控制器根据自身在控制周期内的控制顺序和控制时间以及控制周期时长,从所述控制时序中拆分出自身对应的子控制时序;
37.状态控制模块,用于控制器接收到硬盘指示灯控制程序启动信号时开始计时,并在计时时间在所述子控制时序的控制时间范围内时控制硬盘指示灯状态。
38.进一步的,所述状态控制模块还用于:
39.控制器采集下辖硬盘状态,如果硬盘状态正常则在所述子控制时序的控制时间范围内时点亮硬盘指示灯,如果硬盘状态异常则在所述子控制时序的控制时间范围内时关闭硬盘指示灯。
40.第三方面,提供一种终端,包括:
41.处理器、存储器,其中,
42.该存储器用于存储计算机程序,
43.该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
44.第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
45.本发明的有益效果在于,本发明提供的硬盘指示灯控制方法、系统、终端及存储介质,通过为多个控制器生成控制时序,形成一个周期性控制,同个周期内可以显示多个控制器对硬盘的识别结果。本发明的指示灯控制逻辑可以在多控和单控的环境下使用,并且具有自适应的功能,可以自动切换指示灯的控制器,可以使服务器维护人员更快的定位出现问题的硬盘。
46.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本发明一个实施例的方法的示意性流程图。
49.图2是本发明一个实施例的方法的示意性硬件架构图。
50.图3是本发明一个实施例的系统的示意性框图。
51.图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
52.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
53.下面对本发明中出现的关键术语进行解释。
54.bmc,执行伺服器远端管理控制器,英文全称为baseboard management controller.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。在bmc中完全实现ipmi功能需要一个功能强大的16位元或32位元微控制器以及用于数据储存的ram、用于非挥发性数据储存的快闪记忆体和韧体,在安全远程重启、安全重新上电、lan警告和系统健康监视方面能提供基本的远程可管理性。除了基
本的ipmi功能和系统工作监视功能外,通过利用2个快闪记忆体之一储存以前的bios,mbmc还能实现bios快速元件的选择和保护。例如,在远程bios升级後系统不能启动时,远程管理人员可以切换回以前工作的bios映像来启动系统。一旦bios升级後,bios映像还能被锁住,可有效防止病毒对它的侵害。
55.cpld复杂可编程逻辑器件,主要由逻辑块、可编程互连通道和i/o块三部分构成。
56.图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种硬盘指示灯控制系统。
57.如图1所示,该方法包括:
58.步骤110,识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期;
59.步骤120,根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态。
60.为了便于对本发明的理解,下面以本发明硬盘指示灯控制方法的原理,结合实施例中对硬盘指示灯进行控制的过程,对本发明提供的硬盘指示灯控制方法做进一步的描述。
61.如今的存储服务器为了提高设备的可靠性一般多采用多控设计,即有多个控制单元,正常运行时只有一个控制单元在工作,当运行中的主控制单元出现故障而宕机时,冗余的控制单元会立即进入工作状态接替主控制单元的工作从而避免整个存储服务器停机。就如同一台电脑有两块主板,正常工作时只有一块主板在工作,另一块主板处于等待状态,当工作的主板出现故障,处于等待的主板马上接替它的工作,使系统正常运行。但是在一个存储节点中,只有一套后端的存储系统,即多个控制器共用一套存储系统,控制单元与后端的硬盘通过背板连接。就如同上述的两块主板共用一块硬盘。但是在存储服务器中后端往往有多至几十块硬盘。
62.具体的,参考图2,以两个控制器为例对本发明进行说明,两个控制器分别为控制器a和控制器b,控制器a和控制器b均包括一套各自的bmc和cpld,所述硬盘指示灯控制方法包括:
63.s1、识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期。
64.从所有控制器中选举出主控制器,主控制器接收其他控制器发送的身份信息,例如选举出第一控制器为主控制器,第二控制器将身份信息发送至第一控制器。第一控制器接收到第一控制器的身份信息后,将第二控制器身份信息和本地的第一控制器身份信息进行缓存,其中身份信息可以是控制器身份id。第一控制器利用随机函数对所有控制器的身份信息进行排序,并将排序结果作为各控制器在控制周期内的控制顺序;第一控制器根据设定的控制周期时长为各控制器平均分配控制时间,根据控制顺序排列控制器的控制时间得到控制周期;第一控制器将循环控制周期组成的时序作为控制时序发送照至第二控制器。
65.例如,控制器a获取到控制器b的身份id,设定控制器的控制时间为1s。随机生成的控制顺序为控制器a在前,控制器b在后。则控制器a生成控制周期t=[a(1s),b(1s)],代表一个控制周期时长为2s,在前的1s为控制器a的控制时间,在后的1s为控制器b的控制时间。
基于控制周期t生成控制时序,控制时序即循环执行控制周期t。
[0066]
为了便于观察,可设置等待时段2s。将等待时段添加至循环控制周期组成的时序中相邻控制周期之间,将添加有等待时段的时序作为控制时序,此时控制时序为[a(1s),b(1s),(2s),a(1s),b(1s),(2s),

]。
[0067]
此时控制器a首先选定前半段次序,假设当前时刻为0:00,则生成第一控制时间[0:00-0:01,0:02-0:03,0:04-0:05,

]。控制器a的bmc将第一控制时间发送至控制器b的bmc,则控制器b的bmc基于第一控制时间选定后半段次序,得到第二控制时间[0:01-0:02,0:03-0:04,0:05-0:06,

]。
[0068]
s2、根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态。
[0069]
控制器根据自身在控制周期内的控制顺序和控制时间以及控制周期时长,从控制时序中拆分出自身对应的子控制时序;控制器接收到硬盘指示灯控制程序启动信号时开始计时,并在计时时间在子控制时序的控制时间范围内时控制硬盘指示灯状态。
[0070]
例如,此时控制器a首先选定前半段次序,假设接收到启动信号的时刻为0:00,则从控制时序中拆分出控制器a的子控制时序为[0:00-0:01,0:02-0:03,0:04-0:05,

]。控制器b拆分出控制器b的子控制时序为[0:01-0:02,0:03-0:04,0:05-0:06,

]。控制器a和控制器b均在0:00开始计时,当控制器a的计时时间在0:00开始控制硬盘指示灯并在计时时间达到0:01停止控制;当控制器b的计时时间为0:01开控制硬盘指示灯,并在计时时间达到0:02停止控制。
[0071]
两个控制器的bmc都会获取来自硬盘插槽的信号来判断是否有硬盘在位,当检测到硬盘在位时,bmc去读取硬盘空闲区的信息,通过能否读取信息来判断硬盘是否可以正常读写。当控制器的bmc已知硬盘的状态时,就将对应的状态码发送给cpld,cpld通过来自硬盘的信息去控制硬盘指示灯。
[0072]
当只有一个控制器可以识别硬盘正常工作而另一个控制器没有识别出硬盘正常工作时,此时两个控制器都在属于它的控制时间去控制硬盘指示灯,识别硬盘正常工作的控制器就会在属于它的控制时间使硬盘指示灯变绿,而没有识别出硬盘正常工作的指示灯就会在属于它的控制时间使硬盘指示灯变暗,这时硬盘指示灯就会闪烁从而指示出有一个控制器没有正确识别出硬盘。只有当两个控制器都识别硬盘的状态为正常时,两个控制器各自的控制时间都是常亮绿色,所以指示灯会一直常亮绿色。
[0073]
本发明的控制逻辑还具有多控环境下的自适应能力,当有三个控制器时,只需三个控制器的bmc在开机时相互协商,决定指示灯的控制时间,从而就可将这种控制逻辑使用在三控环境中。此时一个控制周期内的控制时间就会有3个,各控制器轮流在属于自己的控制时间中控制指示灯。当只有一个控制器时,就只有一个控制时间,控制逻辑就退化为普通的硬盘指示灯控制逻辑。
[0074]
如图3所示,该系统300包括:
[0075]
时序生成单元310,用于识别硬盘指示灯的所有控制器,并通过设置各控制器在控制周期内的控制时间和控制顺序生成控制时序,所述控制时序包括多个控制周期;
[0076]
时序控制单元320,用于根据所述控制时序,令各控制器依次根据硬盘状态控制硬盘指示灯状态。
[0077]
可选地,作为本发明一个实施例,所述时序生成单元包括:
[0078]
控制选举模块,用于从所有控制器中选举出主控制器,主控制器接收其他控制器发送的身份信息;
[0079]
信息汇总模块,用于主控制器汇总接收到的身份信息,并将汇总的身份信息和本地身份信息缓存为所有控制器的身份信息;
[0080]
顺序生成模块,用于主控制器利用随机函数对所有控制器的身份信息进行排序,并将排序结果作为各控制器在控制周期内的控制顺序;
[0081]
周期生成模块,用于主控制器根据设定的控制周期时长为各控制器平均分配控制时间,根据所述控制顺序排列控制器的控制时间得到控制周期;
[0082]
时序生成模块,用于主控制器将循环控制周期组成的时序作为控制时序分发至其他控制器。
[0083]
可选地,作为本发明一个实施例,所述时序生成单元还用于:
[0084]
主控制器设置等待时段,并将等待时段添加至循环控制周期组成的时序中相邻控制周期之间;
[0085]
主控制器将添加有等待时段的时序作为控制时序分发至其他控制器。
[0086]
可选地,作为本发明一个实施例,所述时序控制单元包括:
[0087]
时序拆分模块,用于控制器根据自身在控制周期内的控制顺序和控制时间以及控制周期时长,从所述控制时序中拆分出自身对应的子控制时序;
[0088]
状态控制模块,用于控制器接收到硬盘指示灯控制程序启动信号时开始计时,并在计时时间在所述子控制时序的控制时间范围内时控制硬盘指示灯状态。
[0089]
可选地,作为本发明一个实施例所述状态控制模块还用于:
[0090]
控制器采集下辖硬盘状态,如果硬盘状态正常则在所述子控制时序的控制时间范围内时点亮硬盘指示灯,如果硬盘状态异常则在所述子控制时序的控制时间范围内时关闭硬盘指示灯。
[0091]
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的硬盘指示灯控制方法。
[0092]
其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0093]
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
[0094]
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器
(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
[0095]
通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
[0096]
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
[0097]
因此,本发明通过为多个控制器生成控制时序,形成一个周期性控制,同个周期内可以显示多个控制器对硬盘的识别结果。本发明的指示灯控制逻辑可以在多控和单控的环境下使用,并且具有自适应的功能,可以自动切换指示灯的控制时间,可以使服务器维护人员更快的定位出现问题的硬盘,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
[0098]
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
[0099]
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0100]
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0101]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0102]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0103]
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应
涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献