CN116991441A - 一种存储系统固件升级方法、装置、设备、存储介质 - Google Patents
一种存储系统固件升级方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN116991441A CN116991441A CN202310952354.5A CN202310952354A CN116991441A CN 116991441 A CN116991441 A CN 116991441A CN 202310952354 A CN202310952354 A CN 202310952354A CN 116991441 A CN116991441 A CN 116991441A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrading
- mark
- upgrade
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 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
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种存储系统固件升级方法、装置、设备、存储介质,涉及云计算数据中心技术领域,包括:当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;当第一固件升级处理流程结束后,通过并行启动各第二固件升级线程,利用各固件升级线程执行针对相应的目标器件的第二固件升级处理流程;在各第二固件升级处理流程结束后,获取基本输入输出系统以及各目标器件对应的各固件升级结果标志,并基于各固件升级结果标志确定相应的总升级结果标志;判断总升级结果标志与预设标志是否相一致,若是则对存储系统进行重启。通过一次系统重启,避免多次重启,有效缩短了控制器启动时固件升级所需时间。
Description
技术领域
本发明涉及云计算数据中心技术领域,特别涉及一种存储系统固件升级方法、装置、设备、存储介质。
背景技术
在云计算时代,机器中部件的固件版本会根据所要应对的情况不同对应推出不同的版本,由于部件的固件版本的不同,对应产生了对部件固件进行升级的需求,通过固件升级完成版本更替,实现完善机器功能、增强机器稳定性、修补机器漏洞等目的。当各个部件的固件版本升级后需要对系统进行重启,并且每升级一个部件的固件就重启一次,如果所有部件的固件都存在需要升级,或者某种部件升级时间耗时很长,导致其他部件长时间等待,就会导致整体的固件升级时间过长。
综上,如何缩短系统中多部件的固件升级的升级时间,避免多次系统重启,减少其他待升级部件的等待时间是本领域有待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种存储系统固件升级方法、装置、设备、存储介质,能够缩短系统中多部件的固件升级的升级时间,避免多次系统重启,减少其他待升级部件的等待时间。其具体方案如下:
第一方面,本申请公开了一种存储系统固件升级方法,包括:
当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;
当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;
通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;
在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;
判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
可选的,所述当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程,包括:
当存储系统中的控制器上电启动时,通过所述控制器发送第一固件升级指令至基本输入输出系统,以基于所述第一固件升级指令启动针对所述基本输入输出系统的第一固件升级处理流程;
判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级。
可选的,所述判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级,包括:
判断所述基本输入输出系统的当前固件版本号是否与第一目标固件版本号相同;
若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号相同,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志;
若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号不相同,则判断当前环境是否满足与所述基本输入输出系统对应的第一预设环境要求;
若当前环境满足所述第一预设环境要求,则对所述基本输入输出系统的固件进行升级,并在升级成功后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级失败标志;
若当前环境不满足所述第一预设环境要求,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志。
可选的,所述的存储系统固件升级方法,还包括:
通过基板管理控制器的智能平台管理接口发送的第一信息获取指令,获取所述基本输入输出系统的当前固件版本号以及所述当前环境的环境信息。
可选的,所述通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程,包括:
通过所述控制器发送第二固件升级指令至各所述目标器件,以并行启动各所述固件升级线程;
其中,利用任一所述固件升级线程执行相应的所述目标器件的所述第二固件升级处理流程,包括:
判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级。
可选的,所述判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级,包括:
判断所述目标器件的当前固件版本号是否与第二目标固件版本号相同;
若所述目标器件的当前固件版本号与所述第二目标固件版本号相同,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志;
若所述目标器件的当前固件版本号与所述第二目标固件版本号不相同,则判断当前环境是否满足与所述目标器件对应的第二预设环境要求;
若当前环境满足所述第二预设环境要求,则对所述目标器件的固件进行升级,并在升级成功后将当前所述目标器件的第二固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述目标器件的第二固件升级结果标志设置为升级失败标志;
若当前环境不满足所述第二预设环境要求,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志。
可选的,所述的存储系统固件升级方法,还包括:
通过基板管理控制器的智能平台管理接口发送的第二信息获取指令,获取所述目标器件的当前固件版本号以及所述当前环境的环境信息。
可选的,所述基于各所述固件升级结果标志确定相应的总升级结果标志,包括:
分别设置升级失败标志为第一等级标志,升级完成标志为第二等级标志,未执行升级操作标志为第三等级标志;
统计各所述固件升级结果标志,若所述固件升级结果标志中存在所述第一等级标志,则确定总升级结果标志为所述第一等级标志;
若所述固件升级结果标志中不存在所述第一等级标志且存在所述第二等级标志,则确定总升级结果标志为所述第二等级标志;
若所述固件升级结果标志中不存在所述第一等级标志和所述第二等级标志且存在所述第三升级标志,则确定总升级结果标志为所述第三等级标志;
相应的,所述判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启,包括:
判断所述总升级结果标志是否与所述第二等级标志相一致,若是,则对所述存储系统进行重启。
第二方面,本申请公开了一种存储系统固件升级装置,包括:
第一流程执行模块,用于当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;
线程创建模块,用于当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;
第二流程执行模块,用于通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;
总标志确定模块,用于在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;
系统重启模块,用于判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的存储系统固件升级方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的存储系统固件升级方法的步骤。
由此可见,本申请公开了一种存储系统固件升级方法,包括:当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。可见,通过在存储系统中的控制器上电启动时,先进行基本输入输出系统的第一固件升级处理流程,然后不进行升级成功后的系统重启,而是直接执行其他部件中的目标器件的第二固件升级流程,并且目标器件的固件升级流程为并行处理,并行处理能够大大减少系统的固件升级时间,然后在完成目标器件的第二固件升级流程后,检测包含基本输入输出系统以及其他目标器件的整体流程升级结果,在产生的整体的总升级结果标志满足预设标志后,进行一次的存储系统重启操作,相较于之前每一个器件的固件升级成功即进行系统重启来说,在所有待升级的固件升级完成之后,进行一次系统重启,避免多次重启,有效缩短了控制器启动时固件升级所需时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种存储系统固件升级方法流程图;
图2为本申请公开的一种具体的存储系统固件升级方法流程图;
图3为本申请公开的一种存储系统整体固件升级流程图;
图4为本申请公开的一种存储系统固件升级装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在云计算时代,机器中部件的固件版本会根据所要应对的情况不同对应推出不同的版本,由于部件的固件版本的不同,对应产生了对部件固件进行升级的需求,通过固件升级完成版本更替,实现完善机器功能、增强机器稳定性、修补机器漏洞等目的。当各个部件的固件版本升级后需要对系统进行重启,并且每升级一个部件的固件就重启一次,如果所有部件的固件都存在需要升级,或者某种部件升级时间耗时很长,导致其他部件长时间等待,就会导致整体的固件升级时间过长。
为此,本申请提供了一种存储系统固件升级方案,能够缩短系统中多部件的固件升级的升级时间,避免多次系统重启,减少其他待升级部件的等待时间。
参照图1所示,本发明实施例公开了一种存储系统固件升级方法,包括:
步骤S11:当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程。
本实施例中,当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程,具体的,当存储系统中的控制器上电启动时,通过所述控制器发送第一固件升级指令至基本输入输出系统,以基于所述第一固件升级指令启动针对所述基本输入输出系统的第一固件升级处理流程;判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级。可以理解的是,在控制器启动时进行固件升级。控制器启动时固件升级分为两部分。首先第一部分是BIOS(Basic Input Output System,基本输入输出系统)的固件升级,第二部分是其他器件的固件升级。具体的,由于BIOS升级会将CPU(Central Processing Unit,中央处理器)设置为不响应中断模式,导致BIOS无法与其他器件的固件并行升级,因此将不能进行并行升级的BIOS作为控制器启动时升级流程的第一部分进行升级。也即,当存储系统中的控制器上电启动时,通过控制器发送BIOS固件升级指令至基本输入输出系统,以基于所述BIOS固件升级指令启动针对基本输入输出系统的BIOS固件升级处理流程;判断当前基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级。
本实施例中,所述判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级,包括:判断所述基本输入输出系统的当前固件版本号是否与第一目标固件版本号相同;若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号相同,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志;若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号不相同,则判断当前环境是否满足与所述基本输入输出系统对应的第一预设环境要求;若当前环境满足所述第一预设环境要求,则对所述基本输入输出系统的固件进行升级,并在升级成功后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级失败标志;若当前环境不满足所述第一预设环境要求,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志。可以理解的是,判断基本输入输出系统的当前固件版本号是否与第一目标固件版本号相同,具体的,可以设置BIOS中需要升级的固件的第一目标固件版本号为V3.0版本,检测当前BIOS的固件的当前版本号是否为V3.0,若是,则表明当前BIOS的固件版本已经满足了升级后的固件版本,无需升级,同时设置BIOS固件升级结果标志为未执行升级操作标志;若不是,则进一步判断当前环境是否满足BIOS固件升级的第一预设环境要求,具体的,第一预设环境要求包括系统内部环境和外部环境,所述第一预设环境要求具体包括但不限于:当前BIOS所在的服务器的电池电量,系统配置的升级环境参数等。如果当前环境满足第一预设环境要求,则对BIOS固件进行升级,并在升级成功后对BIOS固件升级结果标志设置为升级完成标志,在升级失败后对BIOS固件升级结果设置为升级失败标志。如果当前环境要求不满足第一预设环境要求,则选择不对BIOS固件进行升级,设置BIOS固件升级结果为未执行升级操作标志。
本实施例中,在进行BIOS固件升级判断流程中,通过基板管理控制器的智能平台管理接口发送的第一信息获取指令,获取所述基本输入输出系统的当前固件版本号以及所述当前环境的环境信息。具体的,通过基板管理控制器BMC(Baseboard ManagementController)提供的IPMI(Intelligent Platform Management Interface,智能平台管理接口)发送的第一信息获取指令,以便基于该第一信息获取指令获取BIOS的当前固件版本号以及当前环境的环境信息。以便利用BIOS的当前固件版本号以及当前环境的环境信息与存储系统中提供的第一目标固件版本号和第一预设环境要求进行是否升级的比较判断。
步骤S12:当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程。
本实施例中,当BIOS的固件升级处理流程结束后,根据当前的存储系统的若干个目标器件的器件数量创建相应数量的固件升级线程,需要注意的是,在对当前的存储系统进行固件升级流程的创建过程中,不要求存储系统中除BIOS外的其他所有目标器件的固件均进行升级,而是基于实际需求,若某些目标器件一直处于稳定的版本状态,则无需升级,因此需要基于实际需求从所有的器件中确定出若干个需要升级的目标器件,并根据目标器件的器件数量创建相应数量的固件升级线程,固件升级线程具体可以包括但不限于:I/O(Input/Output,输入/输出)升级线程、CPLD(Complex Programming Logic Device,复杂可编程逻辑器件)升级线程等。
步骤S13:通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程。
本实施例中,并行启动创建的固件升级线程,分别利用各个固件升级线程执行针对目标器件的第二固件升级处理流程。若第二部分的固件升级线程是I/O卡和CPLD的并行升级,则后台启动并执行CPLD升级处理流程,并行启动执行IO卡固件升级处理流程。
步骤S14:在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志。
本实施例中,在第二固件升级处理流程结束后,获取BIOS以及各个目标器件对应的各固件升级结果标志,以便基于该各固件升级结果标志确定相应的总升级结果标志。
本实施例中,分别设置升级失败标志为第一等级标志,升级完成标志为第二等级标志,未执行升级操作标志为第三等级标志;统计各所述固件升级结果标志,若所述固件升级结果标志中存在所述第一等级标志,则确定总升级结果标志为所述第一等级标志;若所述固件升级结果标志中不存在所述第一等级标志且存在所述第二等级标志,则确定总升级结果标志为所述第二等级标志;若所述固件升级结果标志中不存在所述第一等级标志和所述第二等级标志且存在所述第三升级标志,则确定总升级结果标志为所述第三等级标志。可以理解的是,按照等级标志的优先级高低分别设置升级失败标志为第一等级标志,升级完成标志为第二等级标志,未执行升级操作标志为第三等级标志,统计各所述固件升级结果标志,并基于统计的固件升级结果标志确定总升级结果标志,确定方式为:检测统计的固件升级结果标志中是否存在第一等级标志,若存在,直接将第一等级标志确定为总升级结果标志,并产生异常告警提示,反馈至人机交互页面中。若统计的固件升级结果标志中不存在第一等级标志,则按照优先级高低检测是否存在第二等级标志,若存在,将第二等级标志确定为总升级结果标志;若不存在第一等级标志和第二等级标志,则将第三等级标志确定为总升级结果标志,也即无操作,无需存储系统的重启。
步骤S15:判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
本实施例中,所述判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启,包括:判断所述总升级结果标志是否与所述第二等级标志相一致,若是,则对所述存储系统进行重启。可以理解的是,将第二等级标志设置为预设标志,然后判断总升级结果标志是否为第二等级标志,若是,则表明当前存储系统中BIOS固件和目标器件的第二固件均升级成功,需要执行对存储系统进行系统重启的操作。
由此可见,本申请公开了一种存储系统固件升级方法,包括:当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。可见,通过在存储系统中的控制器上电启动时,先进行基本输入输出系统的第一固件升级处理流程,然后不进行升级成功后的系统重启,而是直接执行其他部件中的目标器件的第二固件升级流程,并且目标器件的固件升级流程为并行处理,并行处理能够大大减少系统的固件升级时间,然后在完成目标器件的第二固件升级流程后,检测包含基本输入输出系统以及其他目标器件的整体流程升级结果,在产生的整体的总升级结果标志满足预设标志后,进行一次的存储系统重启操作,相较于之前每一个器件的固件升级成功即进行系统重启来说,在所有待升级的固件升级完成之后,进行一次系统重启,避免多次重启,有效缩短了控制器启动时固件升级所需时间。
参照图2所示,本发明实施例公开了一种具体的存储系统固件升级方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
步骤S21:当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程。
步骤S22:当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程。
步骤S23:通过所述控制器发送第二固件升级指令至各所述目标器件,以并行启动各所述固件升级线程;其中,利用任一所述固件升级线程执行相应的所述目标器件的所述第二固件升级处理流程,包括:判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级。
本实施例中,通过所述控制器发送第二固件升级指令至各所述目标器件,以并行启动各所述固件升级线程,然后执行该第二固件升级处理流程,具体的,所述判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级,包括:判断所述目标器件的当前固件版本号是否与第二目标固件版本号相同;若所述目标器件的当前固件版本号与所述第二目标固件版本号相同,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志;若所述目标器件的当前固件版本号与所述第二目标固件版本号不相同,则判断当前环境是否满足与所述目标器件对应的第二预设环境要求;若当前环境满足所述第二预设环境要求,则对所述目标器件的固件进行升级,并在升级成功后将当前所述目标器件的第二固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述目标器件的第二固件升级结果标志设置为升级失败标志;若当前环境不满足所述第二预设环境要求,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志。可以理解的是,判断目标器件的当前固件版本号是否与第二目标固件版本号相同,具体的,可以设置目标器件中需要升级的固件的第二目标固件版本号为V2.0版本,检测当前BIOS的固件的当前版本号是否为V2.0,若是,则表明当前目标器件的固件版本已经满足了升级后的固件版本,无需升级,同时设置目标器件的固件升级结果标志为未执行升级操作标志;若不是,则进一步判断当前环境是否满足目标器件的固件升级的第二预设环境要求,具体的,第二预设环境要求包括系统内部环境和外部环境,所述第二预设环境要求具体包括但不限于:当前目标器件所在的服务器的电池电量,系统配置的升级环境参数等。如果当前环境满足第二预设环境要求,则对目标器件的固件进行升级,并在升级成功后对目标器件的固件升级结果标志设置为升级完成标志,在升级失败后对目标器件的固件升级结果设置为升级失败标志。如果当前环境要求不满足第二预设环境要求,则选择不对目标器件的固件进行升级,设置目标器件的固件升级结果为未执行升级操作标志。
本实施例中,在进行目标器件的固件升级判断流程中,通过基板管理控制器的智能平台管理接口发送的第二信息获取指令,获取所述目标器件的当前固件版本号以及所述当前环境的环境信息。具体的,通过基板管理控制器BMC提供的IPMI发送的第二信息获取指令,以便基于该第二信息获取指令获取目标器件的当前固件版本号以及当前环境的环境信息。以便利用目标器件的当前固件版本号以及当前环境的环境信息与存储系统中提供的第二目标固件版本号和第二预设环境要求进行是否升级的比较判断。
步骤S24:在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志。
步骤S25:判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
其中,步骤S21、S22、S24、S25中更加详细的处理过程,请参照前述实施例公开的具体内容,在此不再进行赘述。
参照图3所示,本发明提供了一种BIOS、IO卡以及CPLD的固件升级流程,具体的,将BIOS升级与IO卡升级、CPLD升级进行划分,具体的,将BIOS升级以第一固件升级流程作为第一部分先进行升级,IO卡升级和CPLD升级作为第二部分进行升级,其中,IO卡升级和CPLD升级为并行启动的第二固件升级流程,需要注意的是,第一部分升级和第二部分升级为串行升级。而且第二部分升级需要在第一部分升级处理流程结束后进行。其中,第一部分升级和第二部分升级中的具体升级处理流程一致,均为判断当前固件是否满足预设升级要求,若满足,则升级;若不满足,则不执行升级,产生无操作结果;在升级过程中则会产生相应的升级成功结果和升级失败结果,当所有升级处理流程结束后,统计第一部分和第二部分中产生的升级结果,综合固件升级产生的升级结果,获取总升级结果标志,对总升级结果标志进行判断,判断总升级结果标志是够满足执行重启操作对应的结果标志,若满足,则执行重启,若不满足,则进一步判断是在第一部分和第二部分中产生的升级结果标志是升级失败还是无操作,若升级失败,则触发相应的异常固件升级流程,并产生相应的告警。若无操作,则不触发系统重启,也不告警。
由此可见,通过支持控制器启动时固件升级进行并行处理,并在此阶段所有需要升级的部件完成固件升级流程之后,检测整体流程升级结果,只需要重启一次,避免多次重启,有效缩短了控制器启动时固件升级所需时间。
参照图4所示,本发明还相应公开了一种存储系统固件升级装置,包括:
第一流程执行模块11,用于当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;
线程创建模块12,用于当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;
第二流程执行模块13,用于通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;
总标志确定模块14,用于在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;
系统重启模块15,用于判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
由此可见,本申请公开了当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。可见,通过在存储系统中的控制器上电启动时,先进行基本输入输出系统的第一固件升级处理流程,然后不进行升级成功后的系统重启,而是直接执行其他部件中的目标器件的第二固件升级流程,并且目标器件的固件升级流程为并行处理,并行处理能够大大减少系统的固件升级时间,然后在完成目标器件的第二固件升级流程后,检测包含基本输入输出系统以及其他目标器件的整体流程升级结果,在产生的整体的总升级结果标志满足预设标志后,进行一次的存储系统重启操作,相较于之前每一个器件的固件升级成功即进行系统重启来说,在所有待升级的固件升级完成之后,进行一次系统重启,避免多次重启,有效缩短了控制器启动时固件升级所需时间。
进一步的,本申请实施例还公开了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的存储系统固件升级方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的存储系统固件升级方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的存储系统固件升级方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储系统固件升级方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种存储系统固件升级方法,其特征在于,包括:
当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;
当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;
通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;
在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;
判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
2.根据权利要求1所述的存储系统固件升级方法,其特征在于,所述当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程,包括:
当存储系统中的控制器上电启动时,通过所述控制器发送第一固件升级指令至基本输入输出系统,以基于所述第一固件升级指令启动针对所述基本输入输出系统的第一固件升级处理流程;
判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级。
3.根据权利要求2所述的存储系统固件升级方法,其特征在于,所述判断当前所述基本输入输出系统是否满足第一预设固件升级要求,并基于当前判断结果确定是否对所述基本输入输出系统的固件进行升级,包括:
判断所述基本输入输出系统的当前固件版本号是否与第一目标固件版本号相同;
若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号相同,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志;
若所述基本输入输出系统的当前固件版本号与所述第一目标固件版本号不相同,则判断当前环境是否满足与所述基本输入输出系统对应的第一预设环境要求;
若当前环境满足所述第一预设环境要求,则对所述基本输入输出系统的固件进行升级,并在升级成功后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述基本输入输出系统的第一固件升级结果标志设置为升级失败标志;
若当前环境不满足所述第一预设环境要求,则选择不对所述基本输入输出系统的固件进行升级,并将当前所述基本输入输出系统的第一固件升级结果标志设置为未执行升级操作标志。
4.根据权利要求3所述的存储系统固件升级方法,其特征在于,还包括:
通过基板管理控制器的智能平台管理接口发送的第一信息获取指令,获取所述基本输入输出系统的当前固件版本号以及所述当前环境的环境信息。
5.根据权利要求1所述的存储系统固件升级方法,其特征在于,所述通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程,包括:
通过所述控制器发送第二固件升级指令至各所述目标器件,以并行启动各所述固件升级线程;
其中,利用任一所述固件升级线程执行相应的所述目标器件的所述第二固件升级处理流程,包括:
判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级。
6.根据权利要求5所述的存储系统固件升级方法,其特征在于,所述判断所述目标器件是否满足第二预设固件升级要求,并基于当前判断结果确定是否对所述目标器件的固件进行升级,包括:
判断所述目标器件的当前固件版本号是否与第二目标固件版本号相同;
若所述目标器件的当前固件版本号与所述第二目标固件版本号相同,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志;
若所述目标器件的当前固件版本号与所述第二目标固件版本号不相同,则判断当前环境是否满足与所述目标器件对应的第二预设环境要求;
若当前环境满足所述第二预设环境要求,则对所述目标器件的固件进行升级,并在升级成功后将当前所述目标器件的第二固件升级结果标志设置为升级完成标志,以及在升级失败后将当前所述目标器件的第二固件升级结果标志设置为升级失败标志;
若当前环境不满足所述第二预设环境要求,则选择不对所述目标器件的固件进行升级,并将当前所述目标器件的第二固件升级结果标志设置为未执行升级操作标志。
7.根据权利要求6所述的存储系统固件升级方法,其特征在于,还包括:
通过基板管理控制器的智能平台管理接口发送的第二信息获取指令,获取所述目标器件的当前固件版本号以及所述当前环境的环境信息。
8.根据权利要求1至7任一项所述的存储系统固件升级方法,其特征在于,所述基于各所述固件升级结果标志确定相应的总升级结果标志,包括:
分别设置升级失败标志为第一等级标志,升级完成标志为第二等级标志,未执行升级操作标志为第三等级标志;
统计各所述固件升级结果标志,若所述固件升级结果标志中存在所述第一等级标志,则确定总升级结果标志为所述第一等级标志;
若所述固件升级结果标志中不存在所述第一等级标志且存在所述第二等级标志,则确定总升级结果标志为所述第二等级标志;
若所述固件升级结果标志中不存在所述第一等级标志和所述第二等级标志且存在所述第三升级标志,则确定总升级结果标志为所述第三等级标志;
相应的,所述判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启,包括:
判断所述总升级结果标志是否与所述第二等级标志相一致,若是,则对所述存储系统进行重启。
9.一种存储系统固件升级装置,其特征在于,包括:
第一流程执行模块,用于当存储系统中的控制器上电启动时,执行针对基本输入输出系统的第一固件升级处理流程;
线程创建模块,用于当所述第一固件升级处理流程结束后,则根据所述存储系统的若干目标器件的器件数量创建相应数量的固件升级线程;
第二流程执行模块,用于通过并行启动各所述固件升级线程,以利用各所述固件升级线程执行针对相应的所述目标器件的第二固件升级处理流程;
总标志确定模块,用于在各所述第二固件升级处理流程结束后,获取所述基本输入输出系统以及各所述目标器件对应的各固件升级结果标志,并基于各所述固件升级结果标志确定相应的总升级结果标志;
系统重启模块,用于判断所述总升级结果标志与预设标志是否相一致,若是则对所述存储系统进行重启。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的存储系统固件升级方法的步骤。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的存储系统固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310952354.5A CN116991441A (zh) | 2023-07-31 | 2023-07-31 | 一种存储系统固件升级方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310952354.5A CN116991441A (zh) | 2023-07-31 | 2023-07-31 | 一种存储系统固件升级方法、装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991441A true CN116991441A (zh) | 2023-11-03 |
Family
ID=88529579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310952354.5A Pending CN116991441A (zh) | 2023-07-31 | 2023-07-31 | 一种存储系统固件升级方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991441A (zh) |
-
2023
- 2023-07-31 CN CN202310952354.5A patent/CN116991441A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112486629A (zh) | 微服务状态检测方法、装置、电子设备和存储介质 | |
CN110673867A (zh) | Cpld在线升级方法、装置及系统 | |
CN114201197A (zh) | 固件升级方法、装置、电子设备及可读存储介质 | |
CN113703781B (zh) | 存储系统接口生成方法、装置、电子设备及可读存储介质 | |
CN111475175B (zh) | 基于arm服务器的操作系统安装引导方法、装置及介质 | |
CN114153477A (zh) | Pcie驱动卡固件升级方法、装置、系统、设备及介质 | |
US10394619B2 (en) | Signature-based service manager with dependency checking | |
CN106484442B (zh) | 服务器系统及更新开机映像档的方法 | |
CN116991441A (zh) | 一种存储系统固件升级方法、装置、设备、存储介质 | |
CN113672263B (zh) | 固件参数更新控制方法、装置及电子设备 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN116126379A (zh) | 一种bios固件升级方法、装置、设备及存储介质 | |
CN115993985A (zh) | Bootloader更新方法、装置、设备及介质 | |
CN114928603A (zh) | 客户端软件的升级方法、装置、电子设备和介质 | |
CN114090054A (zh) | 智能设备升级方法、装置、存储介质及电子设备 | |
CN113849229A (zh) | 服务器开机方法、装置、电子设备及可读存储介质 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN109271188A (zh) | 一种cpld升级方法及相关装置 | |
CN114610003B (zh) | 车辆诊断方法、装置、设备及介质 | |
CN117290074B (zh) | 一种车型配置中的进程设置方法、装置、设备及介质 | |
CN112698885B (zh) | 运行方法和装置 | |
CN115328516A (zh) | 一种组件升级方法、装置、设备及介质 | |
CN116991445A (zh) | 一种固件升级方法、装置、设备及可读存储介质 | |
CN114327624A (zh) | 基板管理控制器远程监控方法、装置、电子设备及介质 | |
CN115048118A (zh) | 一种bmc集群更新方法、装置及可读存储介质 |
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 |