CN117806924B - 一种指示装置的控制方法、装置、服务器及介质 - Google Patents
一种指示装置的控制方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN117806924B CN117806924B CN202410232080.7A CN202410232080A CN117806924B CN 117806924 B CN117806924 B CN 117806924B CN 202410232080 A CN202410232080 A CN 202410232080A CN 117806924 B CN117806924 B CN 117806924B
- Authority
- CN
- China
- Prior art keywords
- state
- programmable logic
- complex programmable
- target
- logic device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012512 characterization method Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 241001290266 Sciaenops ocellatus Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种指示装置的控制方法、装置、服务器及介质,涉及服务器技术领域。该方法中,在确定目标板卡的复杂可编程逻辑器件完成更新后,在基板管理控制器工作的情况下,由基板管理控制器将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,使得在复杂可编程逻辑器件完成更新后,指示装置仍然能够保持复杂可编程逻辑器件更新之前的待设置状态,而不是默认状态,从而使得指示装置能够准确反映器件的工作状态,用户通过指示装置能够准确了解到器件的工作状态,同时,也保证了基板管理控制器上其它业务的运行以及减少了写复杂可编程逻辑器件的次数,避免了对中央处理器资源和内存资源的浪费。
Description
技术领域
本发明涉及服务器技术领域,特别是涉及一种指示装置的控制方法、装置、服务器及介质。
背景技术
服务器的硬件组成中有多种的板卡,板卡上面可插入各种各样的器件以及表征器件状态的指示装置。基板管理控制器(Baseboard Management Controller,BMC)通过读写复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)对外暴露的寄存器间接控制器件以及器件对应的指示装置。
随着业务需求的增加,CPLD的功能可能发生改变,此时就需要更新板卡的CPLD,使得新的CPLD镜像发挥作用。当更新完CPLD后,CPLD中所有的寄存器列表中的值就会变成默认值,那些通过BMC写CPLD间接控制的功能就都会恢复默认的状态。当指示装置处于默认状态(如指示灯处于灭的状态),此时用户通过指示装置的状态会误判或者无法判断出器件的工作状态。
由此可见,在更新完CPLD之后,如何使指示装置保持更新CPLD之前的状态,以使得用户通过指示装置准确了解到器件的工作状态是本领域人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种指示装置的控制方法、装置、服务器及介质,以解决在更新完CPLD之后,指示装置处于默认状态,导致用户通过指示装置的状态会误判或者无法判断出器件的工作状态的技术问题。
为解决上述技术问题,本发明提供一种指示装置的控制方法,应用于主板的基板管理控制器,包括:
获取目标器件对应的指示装置的当前次待设置状态;
获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态;所述目标板卡为指示装置所连接的板卡,所述目标器件为所述目标板卡上设置的器件;
在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新;
在所述基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
一方面,在将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件之后,还包括:返回获取目标器件对应的指示装置的当前次待设置状态的步骤以获取新的当前次待设置状态;
判断当前次待设置状态与新的当前次待设置状态是否相同;
若是,则保持所述目标板卡的复杂可编程逻辑器件中的表征当前次待设置状态对应的数据不变;
若否,则将表征新的当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态由当前次待设置状态更新为新的当前次待设置状态。
另一方面,获取所述目标器件对应的指示装置的当前次待设置状态包括:
获取所述目标器件的在位状态;
在检测到所述目标器件不在位的情况下,确定所述目标器件对应的指示装置的当前次待设置状态为第一状态;
在检测到所述目标器件在位的情况下,获取所述目标器件的属性值;其中,所述目标器件的属性根据所述目标器件的类型确定;
若检测到所述属性值大于或等于阈值,确定所述目标器件对应的指示装置的当前次待设置状态为第二状态;
若检测到所述属性值小于所述阈值,确定所述目标器件对应的指示装置的当前次待设置状态为第三状态。
另一方面,获取所述目标器件的在位状态包括:
通过所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储所述目标器件的在位状态数据的寄存器;
将从用于存储所述目标器件的在位状态数据的寄存器中读取的所述目标器件的在位状态数据存储至属性表;
从所述属性表中获取所述目标器件的在位状态。
另一方面,获取所述目标器件的属性值包括:
通过所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储所述目标器件的属性值的寄存器;
将从用于存储所述目标器件的属性值的寄存器中读取的所述目标器件的属性值存储至所述属性表;
从所述属性表中获取所述目标器件的属性值。
另一方面,更新所述目标板卡的复杂可编程逻辑器件包括:
获取升级后的所述目标板卡的复杂可编程逻辑器件的镜像文件;
将升级后的所述目标板卡的复杂可编程逻辑器件的镜像文件写入到所述目标板卡的复杂可编程逻辑器件;
获取主板的复杂可编程逻辑器件以获取服务器的开关机状态;
在检测到服务器的开关机状态为关机状态的情况下,执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
另一方面,还包括:
在检测到服务器的开关机状态为开机状态的情况下,至少将所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址、表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位存储在主板的存储器中,在电源循环后执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
另一方面,在更新所述目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在所述属性表中;
在检测到服务器的开关机状态为关机状态之后,在完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将所述刷新变量设置为第二预设值,并存储在所述属性表中;
在检测到完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之后,还包括:
将所述刷新变量设置为第三预设值,并存储在所述属性表中;其中,所述第一预设值、所述第二预设值、所述第三预设值均不相等。
另一方面,在电源循环后执行所述目标板卡的复杂可编程逻辑器件的刷新操作包括:
在电源循环后,向主板的复杂可编程逻辑器件中的用于存储开关机状态的存储器写入第四预设值控制服务器关机;
读取主板的存储器中的数据,并判断主板的存储器中的数据中是否包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位;
若是,则根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
另一方面,在更新所述目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在所述属性表中;
在检测到主板的存储器中的数据中包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位之后,在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将所述刷新变量设置为第二预设值,并存储在所述属性表中;
在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作的情况下,还包括:
将所述刷新变量设置为第三预设值,并存储在所述属性表中;其中,所述第一预设值、所述第二预设值、所述第三预设值均不相等。
另一方面,还包括:
在检测到主板的存储器中的数据中未包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位的情况下,或在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行所述目标板卡的复杂可编程逻辑器件的刷新操作的情况下,通过向用于存储开关机状态的存储器写入第五预设值以控制服务器开机。
另一方面,在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新包括:
在检测到上一次的刷新状态对应的所述刷新变量为所述第一预设值或所述第二预设值,且当前次的刷新状态对应的所述刷新变量为所述第三预设值的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新。
另一方面,在获取目标器件对应的指示装置的当前次待设置状态之前,还包括:
获取所有所述目标器件的信息,并将所述目标器件的信息存储在所述属性表中;其中,所述目标器件的信息中至少包括所有目标器件的数量、各所述目标器件的标识;
获取所述目标器件对应的指示装置的当前次待设置状态包括:
从所述属性表中分别获取各所述目标器件对应的指示装置的当前次待设置状态。
为了解决上述技术问题,本发明还提供一种指示装置的控制装置,应用于主板的基板管理控制器,所述装置包括:
第一获取模块,用于获取目标器件对应的指示装置的当前次待设置状态;
第二获取模块,用于获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态;所述目标板卡为指示装置所连接的板卡,所述目标器件为所述目标板卡上设置的器件;
检测及确定模块,用于在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新;
写入模块,用于在所述基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
为了解决上述技术问题,本发明还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的指示装置的控制方法的步骤。
为了解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的指示装置的控制方法的步骤。
本发明所提供的指示装置的控制方法,应用于主板的基板管理控制器,该方法包括:获取目标器件对应的指示装置的当前次待设置状态;获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定目标板卡的复杂可编程逻辑器件完成更新;在基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,以便通过目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
本发明的有益效果在于,首先,在确定目标板卡的复杂可编程逻辑器件完成更新后,由基板管理控制器将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,使得在复杂可编程逻辑器件完成更新后,指示装置仍然能够保持复杂可编程逻辑器件更新之前的待设置状态,而不是默认状态,从而使得指示装置能够准确反映器件的工作状态,用户通过指示装置能够准确了解到器件的工作状态;其次,由于是在基板管理控制器工作的情况下,基板管理控制器将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,相比于重启基板管理控制器来写复杂可编程逻辑器件的方式,本发明提供的方法中,保证了基板管理控制器上其它业务的运行;再次,相比于不管复杂可编程逻辑器件是否更新,均每秒钟写复杂可编程逻辑器件的方式,本发明提供的方法中,仅在确定出复杂可编程逻辑器件完成更新后,写复杂可编程逻辑器件,减少了写复杂可编程逻辑器件的次数,避免了对中央处理器资源和内存资源的浪费,同时也避免了因为集成电路总线线路等硬件故障而产生的可能对软件性能的影响,提高了用户使用服务器时的体验感;另外,该方法中,通过检测到当前次的刷新状态与上一次的刷新状态满足预设要求,来确定目标板卡的复杂可编程逻辑器件完成更新,实现了对复杂可编程逻辑器件完成更新的准确地判断,使得写复杂可编程逻辑器件的时机更加准确。
此外,仅在判断出当前次待设置状态与新的当前次待设置状态不相同的情况下,才将表征新的当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件。而在判断出当前次待设置状态与新的当前次待设置状态相同的情况下,不再写复杂可编程逻辑器件,同样地,减少了写复杂可编程逻辑器件的次数,避免了对中央处理器资源和内存资源的浪费,同时也避免了因为集成电路总线线路等硬件故障而产生的可能对软件性能的影响,提高了用户使用服务器时的体验感;在器件不在位的情况下,确定指示装置待设置的状态为第一状态,在器件在位的情况下,根据器件的属性值与阈值的关系,确定指示装置待设置的状态为不同的状态,使得用户能够通过指示装置的状态准确地了解到器件的工作状态;从属性表中获取器件的在位状态、属性值、刷新变量的值,通过属性表便于不同进程之间进行数据交互,同时也便于用户查看;在服务器关机状态下,连续进行升级和刷新,实现更新复杂可编程逻辑器件。在服务器开机状态下,在电源循环后执行目标板卡的复杂可编程逻辑器件的刷新操作,可见,该方法无论是关机执行复杂可编程逻辑器件更新还是进行复杂可编程逻辑器件更新皆能兼容。
此外,本发明还提供一种指示装置的控制装置、服务器以及计算机可读存储介质,与上述提到的指示装置的控制方法具有相同或相对应的技术特征,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种指示装置的控制方法的流程图;
图2为本发明实施例提供的一种获取风扇状态的方法的流程图;
图3为本发明实施例提供的一种更新复杂可编程逻辑器件的方法的流程图;
图4为本发明实施例提供的一种电源循环时执行复杂可编程逻辑器件的刷新方法的流程图;
图5为本发明实施例提供的一种点灯模块的控制方法的流程图;
图6为本发明实施例提供的一种更新风扇板复杂可编程逻辑器件后保持风扇灯状态的架构图;
图7为本发明的一实施例提供的指示装置的控制装置的结构图;
图8为本发明另一实施例提供的服务器的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种指示装置的控制方法、装置、服务器及介质,以解决在更新完CPLD之后,指示装置处于默认状态,导致用户通过指示装置的状态会误判或者无法判断出器件的工作状态的技术问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。本发明实施例提供的指示装置的控制方法应用于主板的基板管理控制器。图1为本发明实施例提供的一种指示装置的控制方法的流程图,如图1所示,该方法包括:
S10:获取目标器件对应的指示装置的当前次待设置状态;
S11:获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;
其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态。
S12:在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定目标板卡的复杂可编程逻辑器件完成更新;
S13:在基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,以便通过目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
服务器的硬件组成中有多种的板卡,如主板,风扇板,电源板,输入输出(Input/Output,IO)板等,这些板卡是服务器的重要组成部分,其上面可以插入各种各样的器件,比如,比如中央处理器(Central Processing Unit,CPU),内存,硬盘,图形处理器(GraphicsProcessing Unit,GPU)卡,风扇,电源模块等。在板卡上还设置有表征器件状态的指示装置。指示装置通常为指示灯、蜂鸣器等。以风扇板为例,风扇板是这些板卡中的重要的一种,上面插有风扇,可以控制风扇转动,从而降低服务器的温度,以防止温度过高而损坏服务器,风扇板上还有一种用于表征风扇状态的发光二极管(Light Emitting Diode,LED),通过该LED灯的亮灭与颜色可以判断该风扇当前的状态,比如说是否插了风扇,风扇是否有故障,风扇转速是否过低等。
目标板卡为服务器上的板卡,且当控制某个指示装置时,与该指示装置连接的板卡即为目标板卡。目标器件为目标板卡上设置的器件,且当控制某个指示装置时,目标器件的工作状态即是由该指示装置反映的。对于目标板卡的类型和数量、目标器件的类型和数量等不作限定,根据实际情况确定。如上述列举出的目标板卡为风扇板,目标器件为风扇板上的风扇,指示装置为风扇板上的指示灯。
由于实际中目标器件的工作状态是会发生变化的,故而,为了使得用户通过指示装置准确地了解到目标器件的工作状态,目标器件对应的指示装置的工作状态也会随着目标器件的工作状态的变化而变化,所以,实际中,目标器件对应的指示装置每次设置的状态也会发生变化。对于指示装置当前次待设置状态不作限定,如可以根据用户需求进行设置。但是,为了使指示装置能够准确地反映器件的工作状态。在一些实施例中,获取目标器件对应的指示装置的当前次待设置状态包括:
获取目标器件的在位状态;
在检测到目标器件不在位的情况下,确定目标器件对应的指示装置的当前次待设置状态为第一状态;
在检测到目标器件在位的情况下,获取目标器件的属性值;其中,目标器件的属性根据目标器件的类型确定;
若检测到属性值大于或等于阈值,确定目标器件对应的指示装置的当前次待设置状态为第二状态;
若检测到属性值小于阈值,确定目标器件对应的指示装置的当前次待设置状态为第三状态。
为了获取到目标器件的在位状态、属性值,本发明实施例中建立属性表。属性表是一种存储数据的方式,可以用于不同进程之间进行数据交互。具体地,在获取目标器件的在位状态(即器件插入或者未插入板卡)时,通过目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储目标器件的在位状态数据的寄存器;将从用于存储目标器件的在位状态数据的寄存器中读取的目标器件的在位状态数据存储至属性表;从属性表中获取目标器件的在位状态。
在获取目标器件的属性值时,通过目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储目标器件的属性值的寄存器;将从用于存储目标器件的属性值的寄存器中读取的目标器件的属性值存储至属性表;从属性表中获取目标器件的属性值。在获取到属性值后,将属性值与阈值进行比较,从而确定出指示装置当前次待设置的状态。对于阈值不作限定,根据实际情况确定。
下面控制风扇板上风扇灯的当前待设置状态为例,说明当前待设置状态的确定过程。为了便于用户理解,在说明控制风扇板上风扇灯的当前待设置状态之前,此处先对风扇板的部分功能进行说明。风扇的转动以及风扇灯的状态是由复杂可编程逻辑器件直接控制的,复杂可编程逻辑器件是一种数字电路集成电路,通常用于实现各种逻辑电路、状态机和时序控制等功能,风扇是否在位,风扇转速多少,风扇灯如何亮都是由复杂可编程逻辑器件直接控制的。复杂可编程逻辑器件对外暴露一组寄存器列表给其它控制器,其它控制器可以通过读写该寄存器列表间接控制风扇与风扇板的状态,比如说基本管理控制器可以通过读取复杂可编程逻辑器件的特定的寄存器判断是否插了风扇,可以通过写特定的寄存器来间接控制风扇转速与风扇灯的状态。
对于风扇板的部分功能复杂可编程逻辑器件与基板管理控制器往往是按照如下配合实现,1、风扇在位状态:由复杂可编程逻辑器件控制,在位和不在位复杂可编程逻辑器件将特定的寄存器写成不同的值,基板管理控制器可以读取该值来判断风扇是否在位;2、风扇的转速:由基板管理控制器通过写复杂可编程逻辑器件间接控制,服务器的各种板卡上面插着许多设备,设备上有温度传感器,基板管理控制器通过读取这些温度传感器的值来获取设备的温度,然后通过线性算法或比例-积分-微分(Proportional-Integral-Derivative,PID)算法计算出所需要的脉冲宽度调制(Pulse Width Modulation,PWM)值,然后再通过PWM值计算出风扇的转速,然后将转速写入复杂可编程逻辑器件的特定的寄存器来控制风扇转速;3、风扇灯:由基板管理控制器通过写复杂可编程逻辑器件间接控制,基板管理控制器通过读取复杂可编程逻辑器件判断风扇的在位状态,如果不在位,则通过写复杂可编程逻辑器件特定寄存器使风扇灯不亮,如果在位,然后读取风扇转速,如果转速高于某个转速,则通过写复杂可编程逻辑器件的特定寄存器,使风扇灯亮绿灯,表示风扇转速正常,如果低于某个转速,则通过写复杂可编程逻辑器件特定寄存器,使风扇灯亮橙灯,表示风扇转速异常。风扇的转速是由服务器上各个器件的温度决定的,这些器件的温度可能随时间连续变化,所以基板管理控制器对于风扇转速要每秒钟都要写复杂可编程逻辑器件,以确保风扇转速是实时的数据。
在上述的对风扇板的部分功能进行说明之后,下面正式以控制风扇板上风扇灯的当前待设置状态为例,说明当前待设置状态的确定过程。该过程包含两部分,第一部分是获取风扇的状态的过程,第二部分是根据风扇的状态确定指示灯的当前次待设置状态。
图2为本发明实施例提供的一种获取风扇状态的方法的流程图,如图2所示,该方法包括:
S14:读取风扇的在位状态;
S15:判断风扇是否在位;若是,则进入步骤S16;若否,则进入步骤S17;
S16:将风扇的转速值设置在属性表中;
S17:将属性表中风扇的状态设置为禁止扫描状态。
在实施中,为了获取到风扇的状态,具体地,1、基板管理控制器通过风扇板的复杂可编程逻辑器件所在的集成电路总线和地址读取风扇在位相关的寄存器;
2、根据相关寄存器的值判断风扇是否在位,如果不在位,则将属性表中风扇的状态设置为禁止扫描;
3、如果风扇在位,继续读取风扇转速相关寄存器,获取风扇的转速,并存储到属性表中。
在获取到风扇的状态后,根据风扇的状态确定指示灯的当前次待设置状态(LEDPattern)。风扇不在位,确定风扇灯的当前次待设置的状态为第一状态,即为风扇灯不亮(LEDPattern可设置为0x00);风扇在位,若检测到风扇的转速值大于或等于阈值(比如说500rpm),表明风扇是正常的,确定风扇灯的当前待设置状态为第二状态(即正常状态,LEDPattern可设置为0x01,即绿灯);风扇在位,若检测到风扇的转速值小于阈值(比如说500rpm),表明风扇是转速过低的,确定风扇灯的当前待设置状态为第三状态(即异常状态,LEDPattern可设置为0x10,即橙灯)。
随着业务的需求,复杂可编程逻辑器件的功能可能有新增或改变,此时就需要更新板卡的复杂可编程逻辑器件,使得新的复杂可编程逻辑器件镜像发挥作用。然而,当更新完复杂可编程逻辑器件后,复杂可编程逻辑器件中所有的寄存器列表中的值就会变成默认值,那些通过基板管理控制器写复杂可编程逻辑器件间接控制的功能就都会恢复默认的状态,如风扇灯就会恢复默认状态-灭。此时,用户根据指示装置的状态则会误判或者无法判断出器件的工作状态。故而,本发明实施例中,在确定出目标板卡的复杂可编程逻辑器件完成更新后,重新写复杂可编程逻辑器件,以使得指示装置保持原先的状态。
对于复杂可编程逻辑器件更新是包括升级和刷新两个步骤的,第一步升级是基板管理控制器通过集成电路总线通道将复杂可编程逻辑器件的升级文件写入到复杂可编程逻辑器件中,但是此时复杂可编程逻辑器件并不会立刻生效,需要进行第二步刷新,刷新是基板管理控制器通过集成电路总线通道向复杂可编程逻辑器件中写一条命令,通过该命令可以使得新的复杂可编程逻辑器件的升级文件生效。因为服务器的操作系统(OperatingSystem,OS)开着机的时候如果刷新复杂可编程逻辑器件使得新的复杂可编程逻辑器件文件生效的话会影响基本输入输出系统(Basic Input/Output System,BIOS)和操作系统的功能,有一些需要基本输入输出系统获取复杂可编程逻辑器件的数据然后传递给基板管理控制器的,会无法传递给基板管理控制器;而且刷新完复杂可编程逻辑器件后,复杂可编程逻辑器件所有的寄存器中的值会变默认值,其中某个寄存器的值控制主板上电,如果变成默认值会导致主板掉电,则操作系统会关机,如果此时操作系统中还在进行某些业务,则会影响功能,所以刷新复杂可编程逻辑器件都是关机才会刷新的。实际中,服务器可能处于开机状态,也可能处于关机状态。下面对服务器处于关机状态下的更新目标板卡的复杂可编程逻辑器件的方式以及在服务器处于开机状态下的更新目标板卡的复杂可编程逻辑器件的方式分别进行说明。在一些实施例中,更新目标板卡的复杂可编程逻辑器件包括:
获取升级后的目标板卡的复杂可编程逻辑器件的镜像文件;
将升级后的目标板卡的复杂可编程逻辑器件的镜像文件写入到目标板卡的复杂可编程逻辑器件;
获取主板的复杂可编程逻辑器件以获取服务器的开关机状态;
在检测到服务器的开关机状态为关机状态的情况下,执行目标板卡的复杂可编程逻辑器件的刷新操作。
为了方便用户了解到复杂可编程逻辑器件的更新进程,本发明实施例中设置刷新变量。具体地,在更新目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在属性表中;
在检测到服务器的开关机状态为关机状态之后,在完成执行目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将刷新变量设置为第二预设值,并存储在属性表中;
在检测到完成执行目标板卡的复杂可编程逻辑器件的刷新操作之后,还包括:
将刷新变量设置为第三预设值,并存储在属性表中;其中,第一预设值、第二预设值、第三预设值均不相等。
在检测到服务器的开关机状态为开机状态的情况下,至少将目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址、表征目标板卡的复杂可编程逻辑器件未刷新的标志位存储在主板的存储器中,在电源循环(power cycle )(先power off,等几秒,然后power on)后执行目标板卡的复杂可编程逻辑器件的刷新操作。在电源循环后执行目标板卡的复杂可编程逻辑器件的刷新操作包括:
在电源循环后,向主板的复杂可编程逻辑器件中的用于存储开关机状态的存储器写入第四预设值控制服务器关机;对于第四预设值不作限定,根据实际情况确定;
读取主板的存储器中的数据,并判断主板的存储器中的数据中是否包含表征目标板卡的复杂可编程逻辑器件未刷新的标志位;
若是,则根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行目标板卡的复杂可编程逻辑器件的刷新操作。
同样地,为了方便用户了解到复杂可编程逻辑器件的更新进程,本发明实施例中设置刷新变量。具体地,在更新目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在属性表中;
在检测到主板的存储器中的数据中包含表征目标板卡的复杂可编程逻辑器件未刷新的标志位之后,在根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将刷新变量设置为第二预设值,并存储在属性表中;
在根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行目标板卡的复杂可编程逻辑器件的刷新操作的情况下,还包括:
将刷新变量设置为第三预设值,并存储在属性表中;其中,第一预设值、第二预设值、第三预设值均不相等。
对于上述的服务器处于关机状态下更新复杂可编程逻辑器件的方式和在服务器处于开机状态下更新复杂可编程逻辑器件的方式,在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定目标板卡的复杂可编程逻辑器件完成更新包括:
在检测到上一次的刷新状态对应的刷新变量为第一预设值或第二预设值,且当前次的刷新状态对应的刷新变量为第三预设值的情况下,确定目标板卡的复杂可编程逻辑器件完成更新。
对于刷新(Refresh)变量的第一预设值、第二预设值、第三预设值不作限定,如设置初始值为0,表示此时没有正在刷新,1表示正在刷新,2表示刷新完成。
由于刷新复杂可编程逻辑器件都是关机才会刷新的,故而,在刷新完成后,为了保证服务器能够正常运行,在实施中,在检测到主板的存储器中的数据中未包含表征目标板卡的复杂可编程逻辑器件未刷新的标志位的情况下,或在根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行目标板卡的复杂可编程逻辑器件的刷新操作的情况下,通过向用于存储开关机状态的存储器写入第五预设值以控制服务器开机。对于第五预设值不作限定,根据实际情况确定。
为了便于用户进一步地了解复杂可编程逻辑器件的更新过程,图3为本发明实施例提供的一种更新复杂可编程逻辑器件的方法的流程图,如图3所示,该方法包括:
S18:将刷新变量设置为0并设置到属性表中;
S19:升级复杂可编程逻辑器件直至升级完成;
S20:读取属性表中开关机相关的属性判断当前是否为开机;若否,则进入步骤S21;若是,则进入步骤S22;
S21:将未刷新标志位以及复杂可编程逻辑器件所在的总线地址等信息暂存到主板的存储器中;
S22:将刷新变量设置为1并设置到属性表中;
S23:执行复杂可编程逻辑器件的刷新操作;
S24:将刷新变量设置为2并设置到属性表中。
在实施中,更新复杂可编程逻辑器件包括如下过程:
1、在更新复杂可编程逻辑器件之前先将refresh变量设置为0,表示此时没有到刷新阶段,并设置到属性表中;
2、通过脚本,web界面或redfish等方式升级复杂可编程逻辑器件镜像文件,基板管理控制器会将镜像文件分割成固定的大小后通过集成电路总线通道写到风扇板的复杂可编程逻辑器件芯片中,此时新的复杂可编程逻辑器件镜像还未生效,需要进行第二步刷新操作才会生效;
3、读取属性表中的开关机相关的属性判断当前是开机还是关机,如果是关机,则此时可以执行复杂可编程逻辑器件刷新操作,执行步骤4,否则执行步骤5;
4、如果是关机,先将refresh变量设置为1,然后写到属性表中,表示此时正在刷新复杂可编程逻辑器件,然后基板管理控制器通过向复杂可编程逻辑器件特定寄存器中写预设值刷新复杂可编程逻辑器件,刷新后,新的复杂可编程逻辑器件镜像便会生效,然后将refresh变量设置为2并设置到属性表中,表明刷新完成;
5、如果是开机,此时不能执行复杂可编程逻辑器件刷新操作,先将相关信息如未刷新标志位,风扇板所在的集成电路总线,地址等相关信息暂存到主板带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)中,等电源循环时再进行刷新操作。
图4为本发明实施例提供的一种电源循环时执行复杂可编程逻辑器件的刷新方法的流程图,如图4所示,该方法包括:
S25:用户执行电源循环指令;
S26:通过写主板复杂可编程逻辑器件的特定寄存器来关机;
S27:关机成功后读取主板存储器中的数据;
S28:判断是否存在开机标志位;若是,则进入步骤S29;若否,则进入步骤S32;
S29:将刷新变量设置为1并设置到属性表中;
S30:执行复杂可编程逻辑器件刷新操作;
S31:将刷新变量设置为2并设置在属性表中;
S32:通过写主板复杂可编程逻辑器件的特定寄存器来开机。
在实施中,电源循环时执行复杂可编程逻辑器件的刷新方法具体包括如下过程:
1、当用户通过命令或者web界面等方式执行电源循环时,基板管理控制器会先通过向主板复杂可编程逻辑器件中特定的寄存器写某个特定的值来间接控制服务器关机;
2、等关机后此时便可以执行复杂可编程逻辑器件刷新操作,先读取主板带电可擦可编程只读存储器中的数据,判断带电可擦可编程只读存储器中是否有未刷新标志位,如果没有,表明服务器开着机的时候没有进行复杂可编程逻辑器件更新操作,则直接通过写复杂可编程逻辑器件特定寄存器开机;
3、如果有未刷新标志位,则表明服务器开着机的时候进行过服务器更新操作,则从主板带电可擦可编程只读存储器中读取出风扇板所在的集成电路总线,地址等信息,先将刷新变量设置为1,并设置到属性表中,然后刷新复杂可编程逻辑器件,之后将刷新变量设置为2并设置到属性表中,最后进行开机。
为了确定目标板卡的复杂可编程逻辑器件完成更新,本发明实施例中通过获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态,在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定目标板卡的复杂可编程逻辑器件完成更新。对于预设要求不作限定,根据实际情况确定。如上文中描述的当前次的刷新状态对应的刷新变量为2,且当前次的上一次的刷新状态对应的刷新变量为0或1,则确定目标板卡的复杂可编程逻辑器件完成更新。
在实施中,在确定复杂可编程逻辑器件完成更新后,可以通过以下方式写复杂可编程逻辑器件。
方式一:更新完复杂可编程逻辑器件之后,重启一下基板管理控制器,那么基板管理控制器重启后就会重新写一次复杂可编程逻辑器件,指示装置就会保持原先状态。
方式二:不管复杂可编程逻辑器件是否更新,均按照每秒钟都写一次复杂可编程逻辑器件,如此即便更新完复杂可编程逻辑器件,也能保持指示装置的原先状态。
然而,在方式一中,需要基板管理控制器重启,如果基板管理控制器正在进程其它业务操作,则影响了基板管理控制器的功能,这种方法使得复杂可编程逻辑器件与基板管理控制器耦合性太强,不符合高内聚低耦合的原则。
在方式二中,由于每秒钟都写一次复杂可编程逻辑器件,会大大浪费中央处理器与内存的资源,使得中央处理器占用率高,内存使用率高,而且基板管理控制器是通过集成电路总线写复杂可编程逻辑器件控制风扇灯的状态,是一种软件控制硬件的操作,如果集成电路总线挂死了,那么基板管理控制器通过集成电路总线写复杂可编程逻辑器件的过程可能需要长时间才能结束,而每秒都写一次的话,每次都需要很长时间才能结束,可能会影响软件系统的其它功能。
故而,为了解决刷新完复杂可编程逻辑器件之后重启基板管理控制器,造成的基板管理控制器业务的影响的问题,以及减少写复杂可编程逻辑器件的次数,避免了对中央处理器资源和内存资源的浪费,本发明实施例中在确定出复杂可编程逻辑器件完成更新后,在基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,从而通过目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
本发明实施例提供的方法中,首先,在确定目标板卡的复杂可编程逻辑器件完成更新后,由基板管理控制器将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,使得在复杂可编程逻辑器件完成更新后,指示装置仍然能够保持复杂可编程逻辑器件更新之前的待设置状态,而不是默认状态,从而使得指示装置能够准确反映器件的工作状态,用户通过指示装置能够准确了解到器件的工作状态;其次,由于是在基板管理控制器工作的情况下,基板管理控制器将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,相比于重启基板管理控制器来写复杂可编程逻辑器件的方式,本发明提供的方法中,保证了基板管理控制器上其它业务的运行;再次,相比于不管复杂可编程逻辑器件是否更新,均每秒钟写复杂可编程逻辑器件的方式,本发明提供的方法中,仅在确定出复杂可编程逻辑器件完成更新后,写复杂可编程逻辑器件,减少了写复杂可编程逻辑器件的次数,避免了对中央处理器资源和内存资源的浪费,同时也避免了因为集成电路总线线路等硬件故障而产生的可能对软件性能的影响,提高了用户使用服务器时的体验感;另外,该方法中,通过检测到当前次的刷新状态与上一次的刷新状态满足预设要求,来确定目标板卡的复杂可编程逻辑器件完成更新,实现了对复杂可编程逻辑器件完成更新的准确地判断,使得写复杂可编程逻辑器件的时机更加准确。
实际中,器件在一段时间内的工作状态通常是保持不变的,若按照每秒钟写复杂可编程逻辑器件来更新指示装置的工作状态,则会导致中央处理器资源和内存资源的浪费。故而,为了减少资源的浪费,在一些实施例中,在将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件之后,还包括:返回获取目标器件对应的指示装置的当前次待设置状态的步骤以获取新的当前次待设置状态;
判断当前次待设置状态与新的当前次待设置状态是否相同;
若是,则保持目标板卡的复杂可编程逻辑器件中的表征当前次待设置状态对应的数据不变;
若否,则将表征新的当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,以便通过目标板卡的复杂可编程逻辑器件控制指示装置的状态由当前次待设置状态更新为新的当前次待设置状态。
此处仍然以风扇灯为例,说明风扇灯的当前待设置状态。相对于新的当前次待设置状态(用LEDPattern表示)来说,之前的当前次待设置状态即为上一次设置的状态(用PreLEDPattern表示),若PreLEDPattern与LEDPattern不相同,则说明风扇状态发生了变化,此时需要更新风扇灯的状态,即此时将表征新的当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,从而通过目标板卡的复杂可编程逻辑器件控制指示装置的状态由当前次待设置状态更新为新的当前次待设置状态。
本实施例提供的方法中,仅在检测到当前次待设置状态与新的当前次待设置状态不相同的情况下,写复杂可编程逻辑器件,相比于按照每秒钟写复杂可编程逻辑器件来更新指示装置的工作状态的方式,本实施例提供的方法减少了资源的浪费。
服务器上存在多种器件,可能需要对多种器件的工作状态通过对应的指示装置的状态进行显示。为了尽可能地保证对各器件的工作状态通过对应的指示装置进行反映,在一些实施例中,在获取目标器件对应的指示装置的当前次待设置状态之前,还包括:
获取所有目标器件的信息,并将目标器件的信息存储在属性表中;其中,目标器件的信息中至少包括所有目标器件的数量、各目标器件的标识;
获取目标器件对应的指示装置的当前次待设置状态包括:
从属性表中分别获取各目标器件对应的指示装置的当前次待设置状态。
在属性表中记录所有的器件,对每个器件均执行上述的指示装置的控制方法的步骤,使得在复杂可编程逻辑器件更新完成后,各器件对应的指示装置仍然能够正确地反映器件的工作状态,提高用户使用服务器时的体验感。
为了使本技术领域的人员更好地理解本发明方案,下面以对风扇灯的控制过程为例,继续结合附图和具体实施方式对本发明作进一步的详细说明。具体点灯的过程分为以下几个模块:1、风扇状态获取模块;2、复杂可编程逻辑器件更新模块;3、电源循环刷新模块;4、点灯模块。其中,对于风扇状态获取模块的控制过程(参照图2)、复杂可编程逻辑器件更新模块的控制过程(参照图3);电源循环刷新模块的控制过程(参照图4)在上文中已经进行了详细地描述,此处不再赘述,仅对点灯模块的控制过程进行说明。
图5为本发明实施例提供的一种点灯模块的控制方法的流程图,如图5所示,该方法包括:
S33:获取风扇的个数;
S34:遍历所有的风扇;
S35:获取属性表中风扇的值与状态,获取每个风扇的状态与转速;
S36:判断风扇状态是否为禁止扫描;若是,则进入步骤S37;若否,则进入步骤S38;
S37:将风扇灯当前应该设置的状态设置为0x00;
S38:判断风扇转速是否小于阈值;若是,则进入步骤S39;若否,则进入步骤S40;
S39:将风扇灯当前应该设置的状态设置为0x10;
S40:将风扇灯当前应该设置的状态设置为0x01;
S41:判断上一次设置的状态与当前应该设置的状态是否不同或判断上一次刷新变量是否为0或1,且当前刷新变量是否为2;若是,则进入步骤S42;
S42:写复杂可编程逻辑器件特定寄存器设置风扇灯亮灭与颜色;
S43:将当前应该设置的状态的值赋值给上一次设置的状态,将当前刷新变量的值赋值给上一次刷新变量的值,返回步骤S35。
需要说明的是,对于步骤S41,若否,则保持复杂可编程逻辑器件特定寄存器的数值不变。
在实施中,点灯模块的控制方法具体包括如下过程:
1、通过读取属性表获得当前服务器上应有的风扇个数,并遍历每个风扇,对每个风扇执行后续操作;
2、从属性表中读取每个风扇的转速值与状态,判断风扇的状态是否为禁止扫描,如果为禁止扫描表明风扇当前风扇没有插,则将风扇灯当前应该设置的状态LEDPattern设置为0x00,即灭的状态;
3、如果风扇状态不是禁止扫描状态,则表明风扇插了,继续判断风扇的转速值是否小于某个阈值,比如说500rpm,如果低于,则风扇转速过低,可能发生了某种故障,将风扇灯当前应该设置的状态LEDPattern设置为0x10,即橙灯;
4、如果风扇转速不低于阈值,表明是正常的,将风扇灯当前应该设置的状态LEDPattern设置为0x01,即绿灯;
5、判断“PreLEDPattern(表示上一次风扇灯设置的状态,默认值为0xff)与LEDPattern(表示风扇灯当前应该设置的状态,0x00表示灭,0x01表示亮绿灯,0x10表示亮橙灯,0xff为基板管理控制器一启动时的默认值)是否不同”或者“PreRefresh(表示上一次复杂可编程逻辑器件的刷新状态)是否为0或1并且refresh(表示当前CPLD的刷新状态)是否为2”,如果PreLEDPattern值与LEDPattern值不同,则说明风扇状态发生了变化,需要更新风扇灯的状态,如果PreRefresh为0或1并且refresh是否为2,说明当前刚刚刷新完复杂可编程逻辑器件,风扇灯变成了默认的状态-灭,需要重新更新风扇灯的状态;
6、基板管理控制器将写LEDPattern的值写到风扇板复杂可编程逻辑器件的特定寄存器中,由复杂可编程逻辑器件控制风扇灯的亮灭;
7、最后再将LEDPattern的值赋给PreLEDPattern,将refresh的值赋给PreRefresh,继续下一次循环。
进一步地,图6为本发明实施例提供的一种更新风扇板复杂可编程逻辑器件后保持风扇灯状态的架构图。如图6所示,在架构中,包含风扇板1与主板2,风扇板1与主板2之间进行数据交互,实现更新风扇板复杂可编程逻辑器件后保持风扇灯状态。图6中的箭头的指向,以风扇状态获取模块、复杂可编程逻辑器件更新模块、电源循环刷新模块、点灯模块为基准,数据流向这四个模块表示读、数据流出的为写。
通过上述的架构实现更新风扇板复杂可编程逻辑器件后保持风扇灯状态的方法具体包括如下过程:
1、风扇状态获取模块从风扇板复杂可编程逻辑器件寄存器列表中读取风扇在位;
2、风扇状态获取模块从风扇板复杂可编程逻辑器件寄存器列表中读取风扇转速;
3、风扇状态获取模块将风扇的状态和转速写到基板管理控制器属性表中;
4、复杂可编程逻辑器件更新模块向风扇板复杂可编程逻辑器件中升级复杂可编程逻辑器件镜像;
5、复杂可编程逻辑器件更新模块将refresh刷新变量的值写入到基板管理控制器属性表中;
6、基板管理控制器读取主板复杂可编程逻辑器件获取服务器的开关机状态并将其写入到基板管理控制器属性表中;
7、复杂可编程逻辑器件更新模块读取属性表获取开关机状态;
8、复杂可编程逻辑器件更新模块将未刷新标志位与总线地址等信息写入主板EEPROM;
9、复杂可编程逻辑器件更新模块写风扇板复杂可编程逻辑器件寄存器以刷新复杂可编程逻辑器件;
10、关机刷新模块通过写主板复杂可编程逻辑器件寄存器使服务器关机;
11、关机刷新模块读取主板存储器(具体指的是带电可擦可编程只读存储器)获取未刷新标志位与风扇板总线地址等信息;
12、关机刷新模块将刷新变量的值写入到基板管理控制器属性表中;
13、关机刷新模块写风扇板复杂可编程逻辑器件寄存器以刷新复杂可编程逻辑器件;
14、点灯模块读取基板管理控制器属性表获取风扇数量;
15、点灯模块读取基板管理控制器属性表获取风扇的转速与状态;
16、点灯模块读取基板管理控制器属性表获取刷新变量值;
17、点灯模块写风扇板复杂可编程逻辑器件寄存器。
本实施例提供的方法中,通过判断风扇板复杂可编程逻辑器件是否刷新完成,如果刷新完成之后则重新写一次复杂可编程逻辑器件以重现点一次灯。该方法解决了复杂可编程逻辑器件刷新完成之后由于基板管理控制器感知不到风扇状态变化而导致风扇指示灯不亮的问题;此法不需要刷新完复杂可编程逻辑器件之后重启基板管理控制器,避免造成的基板管理控制器业务的影响;此法只在复杂可编程逻辑器件刷新完成之后对复杂可编程逻辑器件风扇指示灯对应的寄存器重新写一次,无须每秒钟皆写一次,避免了对中央处理器资源和内存资源的浪费,同时也避免了因为集成电路总线线路等硬件故障而产生的可能对软件性能的影响;而且此法无论是关机执行复杂可编程逻辑器件更新还是进行复杂可编程逻辑器件更新皆能兼容。
需要说明的是,本实施例提供的方法是针对刷新风扇板复杂可编程逻辑器件后风扇指示灯不亮的问题的,但是并不仅仅局限于该问题,比如其它板卡如硬盘背板,主板,输入输出板等板卡如果有指示灯或者不是指示灯但是只有几种状态的,且状态变化后才通过基板管理控制器写复杂可编程逻辑器件方式更新状态的皆适用此方案。
在上述实施例中,对于指示装置的控制方法进行了详细描述,本发明还提供指示装置的控制装置、服务器对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图7为本发明的一实施例提供的指示装置的控制装置的结构图。本实施例基于功能模块的角度,包括:
第一获取模块10,用于获取目标器件对应的指示装置的当前次待设置状态;
第二获取模块11,用于获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态;目标板卡为指示装置所连接的板卡,目标器件为目标板卡上设置的器件;
检测及确定模块12,用于在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定目标板卡的复杂可编程逻辑器件完成更新;
写入模块13,用于在基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,以便通过目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态。
在一些实施例中,指示装置的控制装置还包括:第一判断模块,用于判断当前次待设置状态与新的当前次待设置状态是否相同;若是,则触发保持模块;若否,则触发第一写入模块;
保持模块,用于保持目标板卡的复杂可编程逻辑器件中的表征当前次待设置状态对应的数据不变;
第一写入模块,用于将表征新的当前次待设置状态对应的数据写入目标板卡的复杂可编程逻辑器件,以便通过目标板卡的复杂可编程逻辑器件控制指示装置的状态由当前次待设置状态更新为新的当前次待设置状态。
第一获取模块10具体包括:
第三获取模块,用于获取目标器件的在位状态;
第一确定模块,用于在检测到目标器件不在位的情况下,确定目标器件对应的指示装置的当前次待设置状态为第一状态;
第四获取模块,用于在检测到目标器件在位的情况下,获取目标器件的属性值;其中,目标器件的属性根据目标器件的类型确定;
第二确定模块,用于若检测到属性值大于或等于阈值,确定目标器件对应的指示装置的当前次待设置状态为第二状态;
第三确定模块,用于若检测到属性值小于阈值,确定目标器件对应的指示装置的当前次待设置状态为第三状态。
在一些实施例中,第三获取模块具体包括:
第一读取模块,用于通过目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储目标器件的在位状态数据的寄存器;
第一存储模块,用于将从用于存储目标器件的在位状态数据的寄存器中读取的目标器件的在位状态数据存储至属性表;
第五获取模块,用于从属性表中获取目标器件的在位状态。
在一些实施例中,第四获取模块具体包括:
第二读取模块,用于通过目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储目标器件的属性值的寄存器;
第二存储模块,用于将从用于存储目标器件的属性值的寄存器中读取的目标器件的属性值存储至属性表;
第六获取模块,用于从属性表中获取目标器件的属性值。
在一些实施例中,指示装置的控制装置包括更新模块,用于更新目标板卡的复杂可编程逻辑器件;
更新模块具体包括:
第七获取模块,用于获取升级后的目标板卡的复杂可编程逻辑器件的镜像文件;
第二写入模块,用于将升级后的目标板卡的复杂可编程逻辑器件的镜像文件写入到目标板卡的复杂可编程逻辑器件;
第八获取模块,用于获取主板的复杂可编程逻辑器件以获取服务器的开关机状态;
第一刷新模块,用于在检测到服务器的开关机状态为关机状态的情况下,执行目标板卡的复杂可编程逻辑器件的刷新操作。
在一些实施例中,指示装置的控制装置,还包括:
第二刷新模块,用于在检测到服务器的开关机状态为开机状态的情况下,至少将目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址、表征目标板卡的复杂可编程逻辑器件未刷新的标志位存储在主板的存储器中,在电源循环后执行目标板卡的复杂可编程逻辑器件的刷新操作。
在一些实施例中,指示装置的控制装置还包括:
第三存储模块,用于将用于表征刷新状态的刷新变量设置为第一预设值,并存储在属性表中;
第四存储模块,用于将刷新变量设置为第二预设值,并存储在属性表中;
第五存储模块,用于将刷新变量设置为第三预设值,并存储在属性表中;其中,第一预设值、第二预设值、第三预设值均不相等。
在一些实施例中,第二刷新模块具体包括:
第三写入模块,用于在电源循环后,向主板的复杂可编程逻辑器件中的用于存储开关机状态的存储器写入第四预设值控制服务器关机;
第二判断模块,用于读取主板的存储器中的数据,并判断主板的存储器中的数据中是否包含表征目标板卡的复杂可编程逻辑器件未刷新的标志位;若是,则触发第三刷新模块;
第三刷新模块,用于根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行目标板卡的复杂可编程逻辑器件的刷新操作。
在一些实施例中,指示装置的控制装置还包括:
第六存储模块,用于将用于表征刷新状态的刷新变量设置为第一预设值,并存储在属性表中;
第七存储模块,用于将刷新变量设置为第二预设值,并存储在属性表中;
第八存储模块,用于将刷新变量设置为第三预设值,并存储在属性表中;其中,第一预设值、第二预设值、第三预设值均不相等。
在一些实施例中,指示装置的控制装置还包括:
第四写入模块,用于在检测到主板的存储器中的数据中未包含表征目标板卡的复杂可编程逻辑器件未刷新的标志位的情况下,或在根据主板的存储器中的目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行目标板卡的复杂可编程逻辑器件的刷新操作的情况下,通过向用于存储开关机状态的存储器写入第五预设值以控制服务器开机。
检测及确定模块12具体用于在检测到上一次的刷新状态对应的刷新变量为第一预设值或第二预设值,且当前次的刷新状态对应的刷新变量为第三预设值的情况下,确定目标板卡的复杂可编程逻辑器件完成更新。
在一些实施例中,指示装置的控制装置还包括:
获取及存储模块,用于获取所有目标器件的信息,并将目标器件的信息存储在属性表中;其中,目标器件的信息中至少包括所有目标器件的数量、各目标器件的标识;
第一获取模块10具体用于从属性表中分别获取各目标器件对应的指示装置的当前次待设置状态。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图8为本发明另一实施例提供的服务器的结构图。本实施例基于硬件角度,如图8所示,服务器包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的指示装置的控制方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有GPU,GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的指示装置的控制方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的指示装置的控制方法所涉及到的数据等。
在一些实施例中,服务器还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图8中示出的结构并不构成对服务器的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的服务器,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:指示装置的控制方法,效果同上。
最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供的计算机可读存储介质包括上述提到的指示装置的控制方法,效果同上。
以上对本发明所提供的一种指示装置的控制方法、装置、服务器及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种指示装置的控制方法,其特征在于,应用于主板的基板管理控制器,包括:
获取目标器件对应的指示装置的当前次待设置状态;
获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态;所述目标板卡为指示装置所连接的板卡,所述目标器件为所述目标板卡上设置的器件;
在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新;
在所述基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态;
获取所述目标器件对应的指示装置的当前次待设置状态包括:
获取所述目标器件的在位状态;
在检测到所述目标器件不在位的情况下,确定所述目标器件对应的指示装置的当前次待设置状态为第一状态;
在检测到所述目标器件在位的情况下,获取所述目标器件的属性值;其中,所述目标器件的属性根据所述目标器件的类型确定;
若检测到所述属性值大于或等于阈值,确定所述目标器件对应的指示装置的当前次待设置状态为第二状态;
若检测到所述属性值小于所述阈值,确定所述目标器件对应的指示装置的当前次待设置状态为第三状态。
2.根据权利要求1所述的指示装置的控制方法,其特征在于,在将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件之后,还包括:
返回获取目标器件对应的指示装置的当前次待设置状态的步骤以获取新的当前次待设置状态;
判断当前次待设置状态与新的当前次待设置状态是否相同;
若是,则保持所述目标板卡的复杂可编程逻辑器件中的表征当前次待设置状态对应的数据不变;
若否,则将表征新的当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态由当前次待设置状态更新为新的当前次待设置状态。
3.根据权利要求1所述的指示装置的控制方法,其特征在于,获取所述目标器件的在位状态包括:
通过所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储所述目标器件的在位状态数据的寄存器;
将从用于存储所述目标器件的在位状态数据的寄存器中读取的所述目标器件的在位状态数据存储至属性表;
从所述属性表中获取所述目标器件的在位状态。
4.根据权利要求3所述的指示装置的控制方法,其特征在于,获取所述目标器件的属性值包括:
通过所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址读取用于存储所述目标器件的属性值的寄存器;
将从用于存储所述目标器件的属性值的寄存器中读取的所述目标器件的属性值存储至所述属性表;
从所述属性表中获取所述目标器件的属性值。
5.根据权利要求4所述的指示装置的控制方法,其特征在于,更新所述目标板卡的复杂可编程逻辑器件包括:
获取升级后的所述目标板卡的复杂可编程逻辑器件的镜像文件;
将升级后的所述目标板卡的复杂可编程逻辑器件的镜像文件写入到所述目标板卡的复杂可编程逻辑器件;
获取主板的复杂可编程逻辑器件以获取服务器的开关机状态;
在检测到服务器的开关机状态为关机状态的情况下,执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
6.根据权利要求5所述的指示装置的控制方法,其特征在于,还包括:
在检测到服务器的开关机状态为开机状态的情况下,至少将所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址、表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位存储在主板的存储器中,在电源循环后执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
7.根据权利要求5所述的指示装置的控制方法,其特征在于,在更新所述目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在所述属性表中;
在检测到服务器的开关机状态为关机状态之后,在完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将所述刷新变量设置为第二预设值,并存储在所述属性表中;
在检测到完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之后,还包括:
将所述刷新变量设置为第三预设值,并存储在所述属性表中;其中,所述第一预设值、所述第二预设值、所述第三预设值均不相等。
8.根据权利要求6所述的指示装置的控制方法,其特征在于,在电源循环后执行所述目标板卡的复杂可编程逻辑器件的刷新操作包括:
在电源循环后,向主板的复杂可编程逻辑器件中的用于存储开关机状态的存储器写入第四预设值控制服务器关机;
读取主板的存储器中的数据,并判断主板的存储器中的数据中是否包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位;
若是,则根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行所述目标板卡的复杂可编程逻辑器件的刷新操作。
9.根据权利要求8所述的指示装置的控制方法,其特征在于,在更新所述目标板卡的复杂可编程逻辑器件之前,还包括:
将用于表征刷新状态的刷新变量设置为第一预设值,并存储在所述属性表中;
在检测到主板的存储器中的数据中包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位之后,在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作之前,还包括:
将所述刷新变量设置为第二预设值,并存储在所述属性表中;
在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址完成执行所述目标板卡的复杂可编程逻辑器件的刷新操作的情况下,还包括:
将所述刷新变量设置为第三预设值,并存储在所述属性表中;其中,所述第一预设值、所述第二预设值、所述第三预设值均不相等。
10.根据权利要求8所述的指示装置的控制方法,其特征在于,还包括:
在检测到主板的存储器中的数据中未包含表征所述目标板卡的复杂可编程逻辑器件未刷新的标志位的情况下,或在根据主板的存储器中的所述目标板卡的复杂可编程逻辑器件所在的集成电路总线和地址执行所述目标板卡的复杂可编程逻辑器件的刷新操作的情况下,通过向用于存储开关机状态的存储器写入第五预设值以控制服务器开机。
11.根据权利要求7或9所述的指示装置的控制方法,其特征在于,在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新包括:
在检测到上一次的刷新状态对应的所述刷新变量为所述第一预设值或所述第二预设值,且当前次的刷新状态对应的所述刷新变量为所述第三预设值的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新。
12.根据权利要求8所述的指示装置的控制方法,其特征在于,在获取目标器件对应的指示装置的当前次待设置状态之前,还包括:
获取所有所述目标器件的信息,并将所述目标器件的信息存储在所述属性表中;其中,所述目标器件的信息中至少包括所有目标器件的数量、各所述目标器件的标识;
获取所述目标器件对应的指示装置的当前次待设置状态包括:
从所述属性表中分别获取各所述目标器件对应的指示装置的当前次待设置状态。
13.一种指示装置的控制装置,其特征在于,应用于主板的基板管理控制器,所述装置包括:
第一获取模块,用于获取目标器件对应的指示装置的当前次待设置状态;
第二获取模块,用于获取目标板卡的复杂可编程逻辑器件的当前次的刷新状态以及当前次的上一次的刷新状态;其中,刷新状态包含未刷新状态、正在刷新状态、刷新完成状态;所述目标板卡为指示装置所连接的板卡,所述目标器件为所述目标板卡上设置的器件;
检测及确定模块,用于在检测到当前次的刷新状态与上一次的刷新状态满足预设要求的情况下,确定所述目标板卡的复杂可编程逻辑器件完成更新;
写入模块,用于在所述基板管理控制器工作的情况下,将表征当前次待设置状态对应的数据写入所述目标板卡的复杂可编程逻辑器件,以便通过所述目标板卡的复杂可编程逻辑器件控制指示装置的状态为当前次待设置状态;
第一获取模块具体包括:
第三获取模块,用于获取目标器件的在位状态;
第一确定模块,用于在检测到目标器件不在位的情况下,确定目标器件对应的指示装置的当前次待设置状态为第一状态;
第四获取模块,用于在检测到目标器件在位的情况下,获取目标器件的属性值;其中,目标器件的属性根据目标器件的类型确定;
第二确定模块,用于若检测到属性值大于或等于阈值,确定目标器件对应的指示装置的当前次待设置状态为第二状态;
第三确定模块,用于若检测到属性值小于阈值,确定目标器件对应的指示装置的当前次待设置状态为第三状态。
14.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的指示装置的控制方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的指示装置的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232080.7A CN117806924B (zh) | 2024-02-29 | 2024-02-29 | 一种指示装置的控制方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410232080.7A CN117806924B (zh) | 2024-02-29 | 2024-02-29 | 一种指示装置的控制方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117806924A CN117806924A (zh) | 2024-04-02 |
CN117806924B true CN117806924B (zh) | 2024-05-10 |
Family
ID=90421983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410232080.7A Active CN117806924B (zh) | 2024-02-29 | 2024-02-29 | 一种指示装置的控制方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806924B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115016996A (zh) * | 2022-06-30 | 2022-09-06 | 西安易朴通讯技术有限公司 | 硬盘状态检测方法、系统、复杂可编程逻辑器件及服务器 |
CN115033502A (zh) * | 2022-06-02 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 一种数据防丢失方法、装置、计算机设备和存储介质 |
CN116107819A (zh) * | 2022-12-16 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种服务器启动故障检测系统、方法、装置以及介质 |
CN116846790A (zh) * | 2023-06-30 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 一种服务器异常监控方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540232B2 (en) * | 2017-09-19 | 2020-01-21 | Hewlett Packard Enterprise Development Lp | Recovery using programmable logic device |
CN117093522A (zh) * | 2022-05-11 | 2023-11-21 | 深圳富联富桂精密工业有限公司 | 复杂可编程逻辑器件及其与基板管理控制器通信方法 |
-
2024
- 2024-02-29 CN CN202410232080.7A patent/CN117806924B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033502A (zh) * | 2022-06-02 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 一种数据防丢失方法、装置、计算机设备和存储介质 |
CN115016996A (zh) * | 2022-06-30 | 2022-09-06 | 西安易朴通讯技术有限公司 | 硬盘状态检测方法、系统、复杂可编程逻辑器件及服务器 |
CN116107819A (zh) * | 2022-12-16 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种服务器启动故障检测系统、方法、装置以及介质 |
CN116846790A (zh) * | 2023-06-30 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 一种服务器异常监控方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117806924A (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7430662B2 (en) | Techniques for initializing a device on an expansion card | |
US5269022A (en) | Method and apparatus for booting a computer system by restoring the main memory from a backup memory | |
JPH1115548A (ja) | コンピュータの電源管理方法 | |
US20070101114A1 (en) | Method and apparatus for memory initializing in a computer system | |
US20030037266A1 (en) | Method and system for providing a flexible temperature design for a computer system | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN112506745B (zh) | 内存温度读取方法、装置及计算机可读存储介质 | |
US20160011879A1 (en) | Preconfiguring hardware and speeding up server discovery prior to bios boot | |
CN116009921A (zh) | 一种嵌入式操作系统升级方法、装置及其介质 | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
CN113220332A (zh) | Bios固件刷新测试方法、装置、电子设备及存储介质 | |
KR970066888A (ko) | 불 휘발성 메모리를 사용한 마이크로컴퓨터 | |
CN114138527A (zh) | 一种提高服务器性能的方法、装置及介质 | |
CN117806924B (zh) | 一种指示装置的控制方法、装置、服务器及介质 | |
CN104866397A (zh) | 计算机系统与控制方法 | |
CN112084064B (zh) | 主从bios切换方法、板卡及设备 | |
CN111752623B (zh) | 显示配置方法、装置、电子设备及可读存储介质 | |
US10705827B2 (en) | Method for updating system information of a computer device | |
JP2001034822A (ja) | 自動販売機の制御装置 | |
KR19980054349A (ko) | 옵션 자동 설정 회로 | |
CN113849229A (zh) | 服务器开机方法、装置、电子设备及可读存储介质 | |
US7075518B2 (en) | Method for updating a keyboard controller in a notebook computer | |
CN112540889B (zh) | 在用户态调整硬盘启动顺序的方法、装置、设备及介质 | |
CN114924802B (zh) | 基于bmc和bios的系统启动方法、装置设备及介质 | |
TWI839101B (zh) | 韌體的更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |