System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及服务器,尤其涉及一种计算设备及固件升级方法。
技术介绍
1、计算设备中的基板管理控制器(baseboard management controller,bmc)和基本输入输出系统(basic input/output system,bios)等固件都需要不定期进行固件升级,以修补漏洞或者实现新功能。
2、目前,往往采用下述基于管理网络的方式进行固件升级:bmc或者bios等需要升级的器件通过管理网络连接对应的管理界面。然后,在管理界面上,完成上传固件升级包,和执行固件升级包升级的操作。然而,这种基于管理网络的固件升级方式需要依赖于管理网络正常运行才能完成固件升级。若管理网络故障、管理网络不稳定,或者管理网口损坏等,都会影响器件的固件升级过程,影响固件升级成功的概率。
技术实现思路
1、本申请实施例提供了一种计算设备及固件升级方法,在对bmc或者bios等需要升级的器件进行固件升级时,提升固件升级成功的概率。
2、为达到上述目的,本申请实施例采用如下技术方案:
3、第一方面,本申请实施例提供了一种计算设备,该计算设备包括bmc和处理器,其中bmc与处理器连接,bmc用于通过通信串行总线(universal serial bus,usb)接口与目标usb设备通信。其中,目标usb设备预先存储了第一目标器件的目标固件升级包。第一目标器件可以为bmc和/或bios等。
4、处理器用于响应于接收到对第一目标器件进行固件升级的触发操作,
5、在本申请实施例中,第一目标器件进行固件升级时,处理器接收到触发操作,通知bmc进行第一目标器件的固件升级。bmc接收到通知后,通过usb接口,从与bmc通过usb接口连接的目标usb设备获取目标固件升级包。也就是说,bmc获取目标固件升级包与usb接口和usb设备相关,不依赖于管理网络,即使管理网络故障、管理网络不稳定,或者管理网口损坏,都不会影响固件升级过程。因此,本申请实施例采用usb接口从usb设备获取目标固件升级包的方法,有助于提高固件升级成功的概率。
6、在一种具体的实现中,usb接口为计算设备中第二目标器件提供的usb接口,第二目标器件为包括usb接口的非bmc;计算设备还包括开关组件,开关组件的移动端用于连接bmc和第二目标器件中的任一个,开关组件的固定端连接usb接口;处理器还用于:响应于接收到对第一目标器件进行固件升级的触发操作,向开关组件发送第一切换信号,第一切换信号指示开关组件的移动端连接bmc;开关组件用于:响应于接收到处理器发送的第一切换信号,控制移动端连接bmc,并向处理器发送连接完成指令;处理器用于:响应于接收到开关组件发送的连接完成指令,向bmc发送通知指令。即,可以采用其他设备提供的usb接口实现固件升级。
7、在另一种具体的实现中,bmc还用于:若第一目标器件的固件升级完成,向处理器发送升级完成指令;处理器还用于:响应于接收到处理器发送的升级完成指令,向开关组件发送第二切换信号,第二切换信号指示开关组件的移动端连接第二目标器件;开关组件还用于:响应于接收到处理器发送的第二切换信号,控制移动端连接第二目标器件。且同时增加一个开关组件,并使开关组件在非固件升级过程中与第二目标器件连接,由此保证计算设备在非固件升级过程中其他目标器件的正常运行,并且提高了usb接口的资源利用率。
8、在又一种具体的实现中,usb接口为bmc提供的usb接口。即,bmc可以直接利用bmc提供的usb接口,进行固件升级,不需要增加开关组件等额外器件,且不需要对计算设备进行布局调整,因此,节约硬件成本和计算设备布局调整的工作量。
9、在又一种具体的实现中,处理器用于响应于接收到对第一目标器件进行固件升级的触发操作,第一次检测usb接口是否插入usb设备;若第一次检测到usb接口未连接usb设备,输出提示信息,提示信息为提示在usb接口插入目标usb设备;等待第一预设时长,第二次检测usb接口是否连接目标usb设备;若第二次检测到usb接口插入目标usb设备,向bmc发送通知指令。由于处理器进行固件升级操作之前,usb接口已经插入usb设备,即此时计算设备可能正在运行该usb设备的数据。为避免bmc对第一目标器件进行固件升级时,导致已插入的usb设备中的数据操作中断,处理器还用于接收到触发操作后,直接进行第一次检测,确定usb接口是否插入usb设备,若插入usb设备,停止进行固件升级操作,采用其他方式进行固件升级。
10、在再一种具体的实现中,目标固件升级包还包括校验文件,校验文件用于校验目标固件升级包中的升级文件是否为目标升级文件;bmc用于若根据校验文件确定bmc获取到目标固件升级包中升级文件为目标升级文件后,利用目标固件升级包中目标升级文件,对第一目标器件进行固件升级。由此避免数据传输过程中,数据可以存在泄露或者被更改、被损坏等问题,确保目标升级包中的目标升级文件正确。
11、在又一种具体的实现中,计算设备还包括显示器,显示器用于连接bmc;bmc还用于:对第一目标器件进行固件升级过程中,基于预设间隔,获取升级进度;根据升级进度,确定显示器的显示内容,显示内容与升级进度对应;根据显示内容,控制显示器显示显示内容。即,通过显示器显示对第一目标器件进行固件升级的升级进度,可以使用户直观了解第一目标器件的升级进度,提升用户体验。
12、此外,bmc还用于:若第一目标器件在第二预设时长未完成固件升级,或若第一目标器件在第二预设时长内完成固件升级,输出提示信息,提示信息指示拔除目标usb设备。
13、其中,处理器包括现场可编程门阵列fpga或复杂可编程逻辑器件cpld。
14、第二方面,本申请实施例提供了一种固件升级方法,应用于计算设备,计算设备包括:基板管理控制器bmc和处理器;bmc与处理器连接,bmc通过usb接口与目标usb设备通信,目标usb预先存储了第一目标器件的目标固件升级包,方法包括:
15、处理器响应于接收到对第一目标器件进行固件升级的触发操作,向bmc发送通知指令;通知指令指示bmc从目标usb设备获取目标固件升级包;bmc响应于接收到处理器发送的通知指令后,通过usb接口从目标usb设备获取目标固件升级包;利用目标固件升级包中目标升级文件,对第一目标器件进行固件升级。
16、第三方面,本申请实施例提供了一种计算机可读存储介质,其上储存有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述第二方面的固件升级方法的操作步骤。
17、第四方面,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,本文档来自技高网...
【技术保护点】
1.一种计算设备,其特征在于,所述计算设备包括:基板管理控制器BMC和处理器;所述BMC与所述处理器连接,所述BMC用于通过通用串行总线USB接口与目标USB设备通信,所述目标USB设备预先存储了第一目标器件的目标固件升级包;
2.根据权利要求1所述计算设备,其特征在于,所述USB接口为所述计算设备中第二目标器件提供的USB接口,所述第二目标器件为包括所述USB接口的非BMC;
3.根据权利要求2所述计算设备,其特征在于,所述BMC还用于:若所述第一目标器件的固件升级完成,向所述处理器发送升级完成指令;
4.根据权利要求1所述计算设备,其特征在于,所述USB接口为所述BMC提供的USB接口。
5.根据权利要求1-4任一项所述计算设备,其特征在于,所述处理器用于响应于接收到对所述第一目标器件进行固件升级的触发操作,向所述BMC发送通知指令,包括:
6.根据权利要求1-4任一项所述计算设备,其特征在于,所述目标固件升级包还包括校验文件,所述校验文件用于校验所述目标固件升级包中的升级文件是否为所述目标升级文件;
7
8.根据权利要求1-4任一项所述计算设备,其特征在于,所述BMC还用于:
9.根据权利要求1所述计算设备,其特征在于,所述处理器包括现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD。
10.一种固件升级方法,其特征在于,应用于计算设备,所述计算设备包括:基板管理控制器BMC和处理器;所述BMC与所述处理器连接,所述BMC通过USB接口与目标USB设备通信,所述目标USB预先存储了第一目标器件的目标固件升级包,所述方法包括:
...【技术特征摘要】
1.一种计算设备,其特征在于,所述计算设备包括:基板管理控制器bmc和处理器;所述bmc与所述处理器连接,所述bmc用于通过通用串行总线usb接口与目标usb设备通信,所述目标usb设备预先存储了第一目标器件的目标固件升级包;
2.根据权利要求1所述计算设备,其特征在于,所述usb接口为所述计算设备中第二目标器件提供的usb接口,所述第二目标器件为包括所述usb接口的非bmc;
3.根据权利要求2所述计算设备,其特征在于,所述bmc还用于:若所述第一目标器件的固件升级完成,向所述处理器发送升级完成指令;
4.根据权利要求1所述计算设备,其特征在于,所述usb接口为所述bmc提供的usb接口。
5.根据权利要求1-4任一项所述计算设备,其特征在于,所述处理器用于响应于接收到对所述第一目标器件进行固件升级的触发操作,向所述bmc发送...
【专利技术属性】
技术研发人员:曹乐平,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。