CN111949293A - 固件升级方法、装置、计算机设备和存储介质 - Google Patents
固件升级方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111949293A CN111949293A CN202010784621.9A CN202010784621A CN111949293A CN 111949293 A CN111949293 A CN 111949293A CN 202010784621 A CN202010784621 A CN 202010784621A CN 111949293 A CN111949293 A CN 111949293A
- Authority
- CN
- China
- Prior art keywords
- server
- firmware
- upgrade
- slave server
- slave
- 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 132
- 230000004044 response Effects 0.000 claims description 52
- 238000012795 verification Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 230000001960 triggered effect Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 33
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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
Abstract
本申请涉及一种固件升级方法、装置、计算机设备和存储介质。该方法包括:从服务器接收主服务器广播的用于固件升级的广播指令,根据广播指令中携带的主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。本方法中,由于主服务器和从服务器位于内网集群,且主服务器可以通过发送内网广播指令简单有效的确定需要升级的从服务器,进而进行从服务器的固件升级流程,不需要连接外网,确保了升级过程的数据的安全性,且通过广播指令进行多服务器固件的同时升级,提高了多服务器固件升级的效率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种固件升级方法、装置、计算机设备和存储介质。
背景技术
随着人们对网络设备需求的更新,网络设备在运行过程中会出现一些技术性问题,此时,往往需要对网络设备的固件进行升级,以克服运行过程中出现的技术问题。
现有的网络设备固件升级的方法,是待升级服务器通过无线网络连接外网,下载远程服务器上的升级包,对待升级系统或应用进行固件升级(Over The Air Technology,OTA)。例如,待升级服务器连接到外网的OTA服务器进行基本输入输出系统(Basic InputOutput System,BIOS)和基板控制器(Baseboard Management Controller,BMC)的升级。
上述通过连接外网进行固件升级的方法,待升级服务器容易遭到黑客攻击,导致升级过程中存在数据安全性较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种固件升级方法、装置、计算机设备和存储介质。
第一方面,提供一种固件升级方法,该方法包括:
从服务器接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群;
从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级;
若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
在本实施例中,由于从服务器存在需要升级或不需要升级的情况,基于主服务器和从服务器位于内网集群的网络连接方式,从服务器接收主服务器发送的内网广播指令,根据内网广播指令进行一次校验确定是否需要升级,并在需要升级时进行二次校验进行固件升级,不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性。另外,通过广播的通信方法可以实现多服务器固件的同时升级,不需要对待升级服务器逐台升级,节约了多服务器固件升级的时间,提高了多服务器固件升级的效率。
在其中一个实施例中,上述从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,包括:
从服务器判断从服务器的标志位与主服务器的标志位是否一致,以及判断自身的目标固件的版本标识表征的固件版本是否低于主服务器的目标固件的版本标识表征的固件版本;
若从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于主服务器的目标固件的固件版本,则确定从服务器需要进行固件升级;
若从服务器的标志位与主服务器的标志位不一致,和/或,从服务器的目标固件的版本的固件版本不低于主服务器的目标固件的固件版本,则确定从服务器不需要进行固件升级,并输出升级错误信息,中断与主服务器的广播连接。
在本实施例中,从服务器可以根据主服务器广播指令中携带的信息完成是否需要固件升级的校验,该校验为升级过程中的第一次校验,该检验在从服务器中完成,且只需要根据主服务器的标志位和固件版本标识进行判断,简单有效,可以快速准确的确定从服务器是否需要升级,在从服务器确定自己不需要固件升级时,切断广播连接,可以及时释放连接资源,同时减少主服务器的广播连接资源消耗。
在其中一个实施例中,上述根据第一升级文件确定是否对从服务器中目标固件进行升级,包括:
从服务器根据自身的目标固件对第一升级文件进行校验;
若校验通过,则从服务器根据第一升级文件进行固件升级;
若校验失败,则从服务器输出升级错误信息,并中断与主服务器的广播连接。
在本实施例中,从服务器在升级之前,对第一升级文件进行校验,即固件升级过程中的第二次校验,校验第一升级文件是否为自己所需的升级文件,使得从服务器可以准确地进行固件升级,提高了从服务器固件升级的成功率,同时提高了从服务器固件升级的效率。
在其中一个实施例中,上述从服务器根据自身的目标固件对第一升级文件进行校验,包括:
若从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于第一升级文件的固件版本,且,从服务器的目标固件的功能标识与第一升级文件的功能标识一致,则确定第一升级文件校验通过。
在本实施例中,从服务器根据服务器标志位、固件版本、功能标识,对第一升级文件进行校验,可以简单、有效地确定地第一升级文件是否为自己所需的升级文件,在校验通过之后,进行固件升级,提高了从服务器固件升级的成功率。
在其中一个实施例中,该方法还包括:
从服务器向主服务器发送升级完成响应;升级完成响应包括从服务器的目标固件的版本标识。
在本实施例中,从服务器在升级动作完成之后,向主服务器发送的升级完成响应,使得主服务器可以根据升级完成响应中的目标固件的版本标识判断该从服务器是否升级成功。
在其中一个实施例中,上述方法还包括:
从服务器接收主服务器发送的第二升级文件;第二升级文件为主服务器根据升级完成响应确定从服务器升级失败时,重新发送的固件升级文件;
根据第二升级文件,执行根据第二升级文件确定是否对从服务器进中目标固件进行升级的步骤。
在本实施例中,若从服务器被主服务器判定升级失败,从服务器可以通过接收主服务器发送的第二升级文件,进行固件升级,提高了从服务器的固件升级成功率。
在其中一个实施例中,上述方法还包括:
从服务器接收主服务器发送的升级失败指令;升级失败指令为主服务器根据升级完成响应确定从服务器升级失败的次数等于预设次数阈值时触发的指令;
从服务器输出升级失败信号并生成升级失败日志。
在本实施例中,从服务器若被主服务器在预设次数阈值内都判定升级失败,则从服务器接收主服务器发送的升级失败指令,输出失败信号,以使工作人员进行升级失败原因检查,以做出相应的措施,保证正常的固件升级。
在其中一个实施例中,上述从服务器从主服务器中获取第一升级文件,包括:
从服务器向主服务器发送升级文件请求;
从服务器接收主服务器根据升级文件请求返回的第一升级文件。
在本实施例中,从服务器在确定自己需要进行固件升级之后,向主服务器发送获取升级文件的请求,从而根据第一升级文件进行是否升级校验,主服务器不需要耗费资源对所有从服务器进行是否升级判断,而是根据从服务器的升级文件请求发送第一升级文件,节省了主服务器的数据处理资源。
第二方面,提供一种固件升级方法,该方法包括:
主服务器向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群;
主服务器在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
本方法中,由于主服务器和从服务器位于内网集群,主服务器向所有从服务器发送的内网广播指令,令从服务器自身判定是否需要升级,从而进行后续固件升级操作,简单有效地确定需要升级的从服务器,且不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性。另外,通过广播的通信方法进行多服务器固件的同时升级,不需要对待升级服务器逐台升级,节约了多服务器固件升级的时间,提高了多服务器固件升级的效率。
在其中一个实施例中,该方法还包括:
主服务器接收从服务器发送的升级完成响应,确定从服务器是否升级成功;升级完成响应包括从服务器的目标固件的版本标识。
在本实施例中,主服务器根据从服务器发送的升级完成响应中的从服务器的固件版本标识判断从服务器是否升级成功,简单有效的确定从服务器的升级状态。
在其中一个实施例中,上述主服务器接收从服务器发送的升级完成响应,确定从服务器是否升级成功,包括:
若从服务器的目标固件的版本标识表征的当前固件版本与主服务器的目标固件的版本标识表征的固件版本一致,则主服务器确定从服务器升级成功;
若从服务器的目标固件的版本标识表征的当前固件版本低于主服务器的目标固件的版本标识表征的固件版本,则主服务器确定从服务器升级失败。
在其中一个实施例中,该方法还包括:
若主服务器确定从服务器升级成功,则输出从服务器升级成功的信息;
若主服务器确定从服务器升级失败,则向从服务器发送第二升级文件;第二升级文件用于指示从服务器根据第二升级文件确定是否重新进行固件升级。
在本实施例中,主服务器判断从服务器是否升级成功,并在确定从服务器升级失败之后重新发送第二升级文件,使从服务器再次进行固件升级的操作,一定程度上提高了从服务器固件升级的成功率。
在其中一个实施例中,该方法还包括:
主服务器根据升级完成响应确定从服务器升级失败的次数;
若次数等于预设次数阈值,则主服务器向从服务器发送升级失败指令,并输出从服务器升级失败的信息。
在本实施例中,服务器在确定当前从服务器升级失败的总次数等于预设的次数阈值时,向从服务器发送升级失败指令,不再发送升级文件,一定程度上节省了主服务器的连接资源和计算资源。
第三方面,提供了一种固件升级系统,该系统包括:主服务器和至少一个从服务器;主服务器和从服务器位于内网集群;
从服务器用于执行上述第一方面所述的固件升级方法;
主服务器用于执行上述第二方面所述的固件升级方法。
第四方面,提供一种固件升级装置,该装置包括:
接收模块,用于接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群;
确定模块,用于根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级;
升级模块,用于在需要进行固件升级的情况下,从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
第五方面,提供一种固件升级装置,该装置包括:
第一发送模块,用于向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群;
第二发送模块,用于在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
第六方面,提供一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面、第二方面任一所述的固件升级方法。
第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面、第二方面任一所述的固件升级方法。
上述固件升级方法、装置、计算机设备和存储介质,从服务器接收主服务器广播的用于固件升级的广播指令,根据广播指令中携带的主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。本方法中,由于从服务器存在需要升级或不需要升级的情况,基于主服务器和从服务器位于内网集群的网络连接方式,从服务器接收主服务器发送的内网广播指令,根据内网广播指令判断自身是否需要升级,并在需要升级时进行固件升级,不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性。另外,通过广播的通信方法可以实现多服务器固件的同时升级,不需要对待升级服务器逐台升级,节约了多服务器固件升级的时间,提高了多服务器固件升级的效率。
附图说明
图1为一个实施例中固件升级方法的应用环境图;
图1a为一个实施例中固件升级方法的广播连接示意图;
图1b为一个实施例中固件升级方法的数据流向示意图;
图2为一个实施例中固件升级方法的流程示意图;
图3为一个实施例中固件升级方法的流程示意图;
图4为一个实施例中固件升级方法的流程示意图;
图5为一个实施例中固件升级方法的流程示意图;
图6为一个实施例中固件升级方法的流程示意图;
图7为一个实施例中固件升级方法的流程示意图;
图8为一个实施例中固件升级方法的流程示意图;
图9为另一个实施例中固件升级方法的流程示意图;
图10为另一个实施例中固件升级方法的流程示意图;
图11为一个实施例中固件升级装置的结构框图;
图12为一个实施例中固件升级装置的结构框图;
图13为一个实施例中固件升级装置的结构框图;
图14为另一个实施例中固件升级装置的结构框图;
图15为一个实施例中固件升级装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的固件升级方法,可以应用于如图1所示的应用环境中。其中,多个服务器位于内网集群,可以确定服务器1-16中任意一台需要固件升级的服务器为主服务器,其他服务器即为从服务器,各服务器之间基于交换机通过内网连接通信,需要说明的是,其他从服务器可以是不需要升级的服务器,也可以是需要升级的服务器,各从服务器需要在升级过程中通过升级校验确定是否需要进行固件升级。示例地,确定服务器1为主服务器时,服务器2-16为从服务器,在进行固件升级过程中,主服务器1与各从服务器的通信方式可以为多种情况,其广播连接示意图如图1a所示,具体地,一种情况为,主服务器1可以通过接入层交换机1与从服务器2进行广播通信;另一种情况为,主服务器1可以通过接入层交换机1、接入层交换机2与从服务器5进行广播通信;又一种情况为,主服务器1可以通过接入层交换机1、汇聚层交换机1、汇聚层交换机2、接入层交换机3与从服务器10进行广播通信。不同情况下对应的数据流不同,其简化后的数据流向可参考图1b所示。本实施例对该数据中心的网络拓扑结构不做限定。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请图2-图8实施例提供的固件升级方法,其执行主体为从服务器,也可以是固件升级装置,该固件升级装置可以通过软件、硬件或者软硬件结合的方式成为从服务器的部分或全部。下述方法实施例中,均以执行主体是从服务器为例来进行说明。
在一个实施例中,如图2所示,提供了一种固件升级方法,涉及的是从服务器接收主服务器广播的用于固件升级的广播指令,根据广播指令确定需要进行固件升级时,从服务器根据从主服务器中获取的第一升级文件,确定是否对从服务器中目标固件进行升级的过程,包括以下步骤:
S201、从服务器接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群。
其中,主服务器为在内网集群中确定的任意一台需要升级的服务器,可以通过修改服务器的BMC中的设置选项,将同步升级选项设置类型设置为主,确定该服务器为主服务器,内网集群中的其他服务器即为从服务器。
在本实施例中,从服务器接收主服务器广播的内网广播指令,可选地,该内网广播指令的数据包内容可以包含前导、接入地址、报头、长度、数据、校验等信息,其中,报头中包含主服务器的地址,数据中包含主服务器的固件信息,在本实施例中,示例地,固件信息可以包括BMC和/或BIOS信息,该BIOS信息包含了主服务器的标志位和主服务器中升级成功的目标固件的版本标识,本实施例对此不做限定。
S202、从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级。
其中,目标固件的版本标识可以包括目标固件的版本号以及其他用于表征该固件版本信息的标识信息。
在本实施例中,从服务器在接收到主服务器广播的广播指令后,对广播指令的数据包内容进行解析,示例地,从服务器主要是对数据包中的BIOS信息进行解析,从BIOS信息中解析得到主服务器的标志位和主服务器中升级成功的目标固件的版本标识,根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识,与自身的服务器标志位和自身的固件版本标识进行校验,确定自身是否需要升级。示例地,从服务器可以将主服务器的标志位与自身的服务器标志位进行对比,将主服务器中升级成功的目标固件的版本标识与自身的固件版本标识进行对比,确定当前从服务器是否需要进行固件升级,具体地,从服务器可以将主服务器的标志位与自身的服务器标志位进行对比,如果主服务器的标志位与自身的服务器标志位不一致,则确定该从服务器不需要进行固件升级;若主服务器的标志位与自身的服务器标志位一致,再根据主服务器中升级成功的目标固件的版本标识与自身的固件版本标识进行对比,若自身的固件版本标识表征的固件版本低于主服务器中升级成功的目标固件的版本标识表征的固件版本,则确定该从服务器需要进行固件升级。可选地,从服务器也可以同时将上述两个条件进行比较,只有在主服务器的标志位与自身的服务器标志位一致,且,自身的固件版本标识表征的固件版本低于主服务器中升级成功的目标固件的版本标识表征的固件版本的情况下,才确定该从服务器需要进行固件升级,本实施例对此不做限定。
S203、若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
其中,第一升级文件指的是主服务器进行目标固件升级之后,最高版本的固件文件,示例地,该第一升级文件可以是最高版本的BIOS文件。
在本实施例中,从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识,确定自身需要进行固件升级,此时,从服务器可以触发向主服务器发送获取第一升级文件的请求,该请求中携带的数据包可以包括前导、接入地址、报头、长度、数据、校验等等,其中,数据中包含该从服务器需要升级的目标固件的标识信息,从而使得主服务器根据该请求向其返回第一升级文件,从服务器根据第一升级文件的版本标识与自身的固件版本标识进行对比,确定是否进行固件升级。
上述固件升级方法中,从服务器接收主服务器广播的用于固件升级的广播指令,根据广播指令中携带的主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。本方法中,由于从服务器存在需要升级或不需要升级的情况,基于主服务器和从服务器位于内网集群的网络连接方式,从服务器接收主服务器发送的内网广播指令,根据内网广播指令判断自身是否需要升级,并在需要升级时进行固件升级,不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性。另外,通过广播的通信方法进行多服务器固件的同时升级,不需要对待升级服务器逐台升级,节约了多服务器固件升级的时间,提高了多服务器固件升级的效率。
从服务器在固件升级过程中,从服务器可以将自身的服务器标志位与主服务器的标志位进行对比,或者将自身的目标固件的版本标识与主服务器的目标固件的版本标识进行对比,在一个实施例中,如图3所示,上述从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,包括:
S301、从服务器判断从服务器的标志位与主服务器的标志位是否一致,以及判断自身的目标固件的版本标识表征的固件版本是否低于主服务器的目标固件的版本标识表征的固件版本。
在本实施例中,从服务器对BIOS信息进行解析,得到主服务器的标志位和主服务器中升级成功的目标固件的版本标识,根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识,与自身的服务器标志位和自身的固件版本标识判断是否需要固件升级。从服务器判断从服务器的标志位与主服务器的标志位是否一致,来判断从服务器和主服务器是否为同一类型的服务器,当主服务器的标志位和从服务器的标志位属于同一类型的服务器时,才可能进行固件升级。当主服务器的标志位和从服务器的标志位一致时,从服务器判断自身的目标固件的版本标识表征的固件版本是否低于主服务器的目标固件的版本标识表征的固件版本,来判断当前从服务器是否需要进行固件升级。
S302、若从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于主服务器的目标固件的固件版本,则确定从服务器需要进行固件升级。
在本实施例中,从服务器的标志位与主服务器的标志位一致,说明目标固件的升级文件可以适用于当前服务器中,从服务器判断自身的目标固件的版本标识表征的固件版本低于主服务器的目标固件的版本标识表征的固件版本,说明当前从服务器的固件版本为低版本,则确定当前从服务器需要进行固件升级。
S303、若从服务器的标志位与主服务器的标志位不一致,和/或,从服务器的目标固件的版本的固件版本不低于主服务器的目标固件的固件版本,则确定从服务器不需要进行固件升级,并输出升级错误信息,中断与主服务器的广播连接。
在本实施例中,从服务器判断从服务器的标志位与主服务器的标志位不一致,则说明当前目标固件文件不适用于当前从服务器,则可以确定当前从服务器不需要升级。或者,从服务器判断从服务器的目标固件的版本的固件版本不低于主服务器的目标固件的固件版本,说明当前从服务器的固件版本已为最新版本,则可以确定当前从服务器不需要升级,从服务器可以在至少一种条件满足的情况下,确定当前从服务器不需要升级,本实施例对此不做限定。
在本实施例中,从服务器确定不需要进行固件升级,即,出现说明当前目标固件文件不适用于当前从服务器,或当前从服务器的固件版本已为最新版本中至少一种情况,此时,从服务器可以切断当前与主服务器的广播连接,释放连接资源,并将此次升级错误的信息输出至自身输出结果中,或将升级错误的信息输出至日志文件中,本实施例对此不做限定。
在本实施例中,从服务器可以根据主服务器广播指令中携带的信息完成是否需要固件升级的校验,该校验为升级过程中的第一次校验,该检验在从服务器中完成,且只需要根据主服务器的标志位和固件版本标识进行判断,简单有效,可以快速准确的确定从服务器是否需要升级,在从服务器确定自己不需要固件升级时,切断广播连接,可以及时释放连接资源,同时减少主服务器的广播连接资源消耗。
从服务器在固件升级过程中,从服务器根据内网广播指令中主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识确定是否需要升级可以看作第一次升级校验,在一些场景中,为了确保升级的准确性,还可以进行二次升级校验。如图4所示,上述根据第一升级文件确定是否对从服务器中目标固件进行升级,包括:
S401、从服务器根据自身的目标固件对第一升级文件进行校验;若校验通过,则执行步骤S402;若校验失败,则执行步骤S403。
在本实施例中,从服务器可以对第一升级文件进行解析,确定第一升级文件的版本号、服务器标志位、文件大小、需要升级的功能等信息,可选地,需要升级的功能对应各自的功能标识。
可选地,若从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于第一升级文件的固件版本,且,从服务器的目标固件的功能标识与第一升级文件的功能标识一致,则确定第一升级文件校验通过,则从服务器根据第一升级文件进行固件升级。若存在上述至少一个条件不符合,则确定第一升级文件校验失败,例如,其中一种情况为,从服务器的标志位与主服务器的标志位不一致,则确定第一升级文件校验失败;另一种情况为,从服务器的标志位与主服务器的标志位一致,但是服务器的目标固件的固件版本不低于第一升级文件的固件版本,则确定第一升级文件校验失败;还有一种情况为,从服务器的标志位与主服务器的标志位一致,服务器的目标固件的固件版本低于第一升级文件的固件版本,但是从服务器的目标固件的功能标识与第一升级文件的功能标识不一致,则确定第一升级文件校验失败。当确定第一升级文件校验失败时,从服务器输出升级错误信息,并中断与主服务器的广播连接。
S402、从服务器根据第一升级文件进行固件升级。
在本实施例中,从服务器确定第一升级校验通过,则根据第一升级文件的固件版本、功能标识对自身的固件进行固件升级;示例地,从服务器根据第一升级文件的固件版本、功能标识完成BIOS的升级。
S403、从服务器输出升级错误信息,并中断与主服务器的广播连接。
在本实施例中,从服务器对第一升级文件校验失败,从服务器切断当前与主服务器的广播连接,释放连接资源,并将此次升级错误的信息输出至自身输出结果中,或将升级错误的信息输出至日志文件中,本实施例对此不做限定
在本实施例中,从服务器在升级之前,对第一升级文件进行校验,即固件升级过程中的第二次校验,使得从服务器可以准确地进行固件升级,提高了从服务器固件升级的成功率,同时提高了从服务器固件升级的效率。
从服务器在固件升级之后,在一个实施例中,该方法还包括:
从服务器向主服务器发送升级完成响应;升级完成响应包括从服务器的目标固件的版本标识。
其中,升级完成响应指的是从服务器完成升级动作之后,触发的向主服务器发送的升级完成响应。需要说明的是,该升级完成响应可以表示从服务器升级成功,还可以表示从服务器升级失败。
在本实施例中,从服务器在升级动作完成之后,可以向主服务器发送的升级完成响应,在该响应中携带升级之后的目标固件的版本标识,以使主服务器根据升级之后的目标固件的版本标识判断该从服务器是否升级成功。
在本实施例中,从服务器在升级完成之后向主服务器发送升级完成响应,从而可以使得主服务器获知该从服务器升级是否成功的状态,一定程度上提高了从服务器的固件升级的成功率。
上述从服务器向主服务器发送升级完成响应,若该响应指示的是从服务器固件升级失败,在一个实施例中,如图5所示,上述方法还包括:
S501、从服务器接收主服务器发送的第二升级文件;第二升级文件为主服务器根据升级完成响应确定从服务器升级失败时,重新发送的固件升级文件。
其中,第二升级文件指的是主服务器升级之后的最新版本的固件升级文件。这里第二升级文件是为了指示重新向从服务器发送的固件升级文件。
需要说明的是,从服务器存在完成了升级的流程,但是固件文件并未升级成功的情况,在本实施例中,从服务器若被主服务器判定升级失败,即,从服务器虽然完成了升级的流程,但是升级之后得到的固件文件并非最新版本的固件文件,此时,主服务器会发送第二升级文件给从服务器,从服务器则接收该第二升级文件,执行相应的操作。
S502、根据第二升级文件,执行根据第二升级文件确定是否对从服务器中目标固件进行升级的步骤。
在本实施例中,从服务器与接收第一升级文件类似的,接收到第二升级文件之后,根据第二升级文件对应的服务器标志位、版本标识、功能表示进行升级校验,根据该第二升级文件确定是否对从服务器中的目标固件进行升级的步骤;需要说明的是,若从服务器根据第二升级文件,确定要进行固件升级,在完成固件升级之后,从服务器仍需向主服务器发送升级完成响应,以使主服务器分析当前升级是否成功,若仍不成功,从服务器仍需接受主服务器重新发送的第二升级文件,根据新的第二升级文件确定是否对从服务器的目标固件进行升级,反复执行,直到接收到服务器升级失败的指令或直到该从服务器升级成功。
在本实施例中,若主服务器判定从服务器升级失败,将会发送第二升级文件,从服务器根据第二升级文件进行固件升级,提高了从服务器的固件升级成功率。
在上述重复执行接收第二升级文件重新进行固件升级的步骤之后,该从服务器仍被主服务器判断为升级失败,在一个实施例中,如图6所示,上述方法还包括:
S601、从服务器接收主服务器发送的升级失败指令;升级失败指令为主服务器根据升级完成响应确定从服务器升级失败的次数等于预设次数阈值时触发的指令。
其中,预设的次数阈值指的是预先设定的从服务器升级失败的最大次数。示例地,本实施例中,该预设次数阈值可以为3次,即主服务器在判定从服务器3次固件升级失败之后,触发向从服务器发送升级失败指令。在本实施例中,从服务器接收主服务器发送的升级失败指令,表明该从服务器可能存在其他原因导致其3次升级失败。
S602、从服务器输出升级失败信号并生成升级失败日志。
其中,升级失败信号可以为任意一种提示信号,示例地,该失败信号可以为故障灯闪烁,或者还可以是蜂鸣声报警等形式,本实施例对此不做限定。
在本实施例中,从服务器接收到升级失败指令,即意味着该从服务器由于其他原因导致多次固件升级全都失败,此时,从服务器可以点亮故障灯,或发生蜂鸣声以提醒工作人员升级失败,同时生成升级失败日志,本实施例对此不做限定。
在本实施例中,从服务器在升级过程中进行多次校验,但是由于校验项目有限,无法准确判断升级失败的具体原因,当从服务器升级失败时,通过输出失败信号,以使工作人员进行升级失败原因检查,以做出相应的措施,保证正常的固件升级。
从服务器在向主服务器获取第一升级文件时,在一个实施例中,如图7所示,上述从服务器从主服务器中获取第一升级文件,包括:
S701、从服务器向主服务器发送升级文件请求。
在本实施例中,从服务器在确认需要进行固件升级之后,可以通过向主服务器发送获取升级文件的请求,来获取升级文件。该获取升级文件请求中携带从服务器的地址信息,以及从服务器的固件标识信息,可选地,该获取升级文件请求中还可以包括需要固件升级的标识信息。
S702、从服务器接收主服务器根据升级文件请求返回的第一升级文件。
在本实施例中,主服务器根据从服务器发送的升级文件请求,返回第一升级文件,从服务器接收该第一升级文件,进行是否可以进行升级校验。
在本实施例中,从服务器在确定需要进行固件升级之后,向主服务器发送获取升级文件请求,不需要主服务器进行是否发送升级文件的判断,节省了主服务器的资源。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请图8-图9实施例提供的固件升级方法,其执行主体为主服务器,也可以是固件升级装置,该固件升级装置可以通过软件、硬件或者软硬件结合的方式成为主服务器的部分或全部。下述方法实施例中,均以执行主体是主服务器为例来进行说明。
主服务器通过内网广播的形式向各从服务器发送用于进行固件升级的广播指令,并根据接收到的从服务器返回的升级响应判断内网集群中的从服务器是否固件升级成功,在一个实施例中,如图8所示,提供了一种固件升级方法,涉及的是主服务器向从服务器发送内网广播指令,并在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件的过程,包括:
S801、主服务器向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群。
在本实施例中,主服务器向内网集群中的所有从服务器发送内网广播指令,该内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识,以使从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级。根据不同的广播连接,主服务器具有不同的广播数据流向。示例地,如图1a所示,当主服务器1向从服务器2发送广播指令时,其数据流为主服务器1的广播指令通过接入层交换机1的转发,将广播指令发送至服务器2;当主服务器1向从服务器5发送广播指令时,其数据流为主服务器1的广播指令通过接入层交换机1的进行转发,再通过接入层交换机2的转发,从而将广播指令发送至服务器5;当主服务器1向从服务器10发送广播指令时,其数据流为主服务器1的广播指令通过接入层交换机1的转发,到汇聚层交换机1的转发,到汇聚层交换机2的转发,到接入层交换机3的转发,从而将广播指令发送至服务器10,简化后的数据流向图可参考图1b所示。本实施例对此不做限定。
S802、主服务器在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
在本实施例中,升级文件请求指的是从服务器在进行第一次升级校验之后,确定自身需要进行固件升级时触发的请求,该请求中携带了从服务器的地址信息以及需要升级的标识信息,主服务器根据从服务器的地址信息和需要升级的标识信息,生成该从服务器对应的第一升级文件,并将该第一升级文件发送至该从服务器中,以使该从服务器根据第一升级文件确定是否对目标固件进行升级。
上述固件升级方法,主服务器向从服务器发送内网广播指令,使从服务器根据内网广播指令中携带的主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级,若需要进行固件升级,则触发从服务器向主服务器发送升级文件请求,从而主服务器在接收到该升级文件请求时,向从服务器发送第一升级文件,以使从服务器根据第一升级文件进行升级校验。本方法中,由于从服务器存在需要升级或不需要升级的情况,基于主服务器和从服务器位于内网集群的网络连接方式,从服务器接收主服务器发送的内网广播指令,根据内网广播指令判断自身是否需要升级,并在需要升级时进行固件升级,不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性。另外,通过广播的通信方法进行多服务器固件的同时升级,不需要对待升级服务器逐台升级,节约了多服务器固件升级的时间,提高了多服务器固件升级的效率。
主服务器在向从服务器发送第一升级文件之后,还可以确定从服务器是否完成升级,在一个实施例中,该方法还包括:
主服务器接收从服务器发送的升级完成响应,确定从服务器是否升级成功;升级完成响应包括从服务器的目标固件的版本标识。
在本实施例中,主服务器接收从服务器在升级动作完成之后,向将主服务器发送的升级完成响应,在该响应中携带升级之后的目标固件的版本标识,主服务器可以根据升级之后的目标固件的版本标识判断该从服务器是否升级成功。示例地,主服务器可以将从服务器的目标固件的版本标识表征的固件版本与升级之后的目标固件的版本标识表征的固件版本进行对比,若从服务器的固件版本与主服务器的固件版本一致,则说明该从服务器升级成功。若从服务器的固件版本低于主服务器的固件版本,则说明该从服务器升级失败。
在本实施例中,主服务器根据从服务器发送的升级完成响应中的从服务器的固件版本标识判断从服务器是否升级成功,简单有效的确定从服务器的升级状态。
为提高从服务器的固件升级成功率,主服务器可以根据升级完成响应确定从服务器是否成功升级,若当前从服务器没有升级成功,还可以重新发送第二升级文件进行再次升级,在一个实施例中,上述主服务器接收从服务器发送的升级完成响应,确定从服务器是否升级成功,包括:
若从服务器的目标固件的版本标识表征的当前固件版本与主服务器的目标固件的版本标识表征的固件版本一致,则主服务器确定从服务器升级成功。
在本实施例中,主服务器判定从服务器的目标固件的版本标识表征的当前固件版本与主服务器的目标固件的版本标识表征的固件版本一致,则说明从服务器的目标固件的版本已经升级为最新版本,则确定该从服务器固件升级成功。
可选地,若主服务器确定从服务器升级成功,则输出从服务器升级成功的信息。在本实施例中,主服务器确定从服务器固件升级成功,可以将该从服务器升级成功的信息输出至日志文件中,还可以将该从服务器升级成功的信息输出至显示界面中,本实施例对此不做限定。
若从服务器的目标固件的版本标识表征的当前固件版本低于主服务器的目标固件的版本标识表征的固件版本,则主服务器确定从服务器升级失败。
在本实施例中,主服务器判定从服务器的目标固件的版本标识表征的当前固件版本低于主服务器的目标固件的版本标识表征的固件版本,则说明,从服务器的目标固件的版本并没有升级为最新版本,该从服务器可能在升级过程中出现了其他问题,则确定该从服务器固件升级失败。
可选地,若主服务器确定从服务器升级失败,则向从服务器发送第二升级文件;第二升级文件用于指示从服务器根据第二升级文件确定是否重新进行固件升级。
在本实施例中,主服务器确定从服务器升级失败之后,再次向从服务器发送第二升级文件,以使从服务器根据第二升级文件再一次进行固件升级尝试。若主服务器根据从服务器返回的升级完成响应,确定从服务器仍然升级失败,主服务器则再次向从服务器发送升级文件。
在本实施例中,主服务器判断从服务器是否升级成功,并在确定从服务器升级失败之后重新发送第二升级文件,使从服务器再次进行固件升级的操作,一定程度上提高了从服务器固件升级的成功率。
主服务器如果在确定从服务器升级失败之后,不停地向从服务器发送新的升级文件,势必会浪费主服务器的广播资源与计算资源,为了平衡主服务器的计算资源,在一个实施例中,如图9所示,该方法还包括:
S901、主服务器根据升级完成响应确定从服务器升级失败的次数。
在本实施例中,主服务器根据从服务器发送的升级完成响应可以确定从服务器是升级成功还是升级失败,若当前从服务器为升级失败,主服务器则将当前从服务器升级失败记录下来。在每次确定升级失败时,统计当前从服务器被确定为升级失败的总次数。
S902、若次数等于预设次数阈值,则主服务器向从服务器发送升级失败指令,并输出从服务器升级失败的信息。
在本实施例中,若主服务器统计得到的当前从服务器的升级失败的总次数等于预设的次数阈值,示例地,主服务器确定当前从服务器升级失败的总次数为3,而预设的次数阈值为3,则主服务器确定当前从服务器升级失败的总次数等于预设的次数阈值,此时,主服务器将不再向该从服务器发送升级文件,而是向其发送升级失败指令,并将输出当前从服务器升级失败的信息,该升级失败的信息可以输出至日志文件中,也可以输出至显示界面中。其中,该升级失败的指令可以为点亮故障灯,还可以是发出蜂鸣声。
在本实施例中,服务器在确定当前从服务器升级失败的总次数等于预设的次数阈值时,向从服务器发送升级失败指令,不再发送升级文件,一定程度上节省了主服务器的连接资源。
为了更好的说明上述方法,如图10所示,本实施例提供一种固件升级方法,具体包括:
S101、主服务器向从服务器发送内网广播指令;
S102、从服务器根据内网广播指令中的主服务器的标志位和升级成功之后的目标固件的版本标识确定是否需要升级;
S103、从服务器确定不需要进行固件升级,输出升级错误信息,并中断与主服务器的广播连接;
S104、从服务器确定需要进行固件升级,向主服务器发送的升级文件请求;
S105、主服务器向从服务器发送第一升级文件;
S106、从服务器根据自身的目标固件对第一升级文件进行升级校验;
S107、若校验失败,从服务器输出升级错误信息,并中断与主服务器的广播连接;
S108、若校验通过,从服务器根据第一升级文件进行固件升级;
S109、从服务器向主服务器发送升级完成响应;
S110、主服务器根据升级完成响应,确定从服务器是否升级成功;
S111、若升级成功,主服务器输出从服务器升级成功的信息;
S112、若升级失败,主服务器根据升级完成响应确定从服务器升级失败的次数;
S113、若失败次数小于预设次数阈值,主服务器向从服务器发送第二升级文件;
S114、从服务器将第二升级文件作为新的第一升级文件,返回执行步骤S106;
S115、若失败次数等于预设次数阈值,主服务器向从服务器发送升级失败指令;
S116、从服务器输出升级失败信号并生成升级失败日志。
在本实施例中,由于主服务器和从服务器位于内网集群,不需要连接外网,降低了升级过程被黑客攻击的风险,确保了升级过程的数据的安全性,且从服务器在固件升级过程中进行了两次校验,分别为根据广播指令确认是否需要升级、根据第一升级文件确认是否开始升级,提高了多服务器固件升级的成功率。
上述实施例提供的固件升级方法,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图1所示,提供了一种固件升级系统,包括主服务器和至少一个从服务器;其中,主服务器和至少一个从服务器位于内网集群。
从服务器用于执行上述图2-图7实施例提供的固件升级方法。
主服务器用于执行上述图8-图9实施例提供的固件升级方法。
关于固件升级系统的具体限定可以参见上文中对于固件升级方法的限定,在此不再赘述。
在一个实施例中,如图11所示,提供了一种固件升级装置,包括:接收模块01、确定模块02和升级模块03,其中:
接收模块01,用于接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群;
确定模块02,用于根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级;
升级模块03,用于在需要进行固件升级的情况下,从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
在一个实施例中,上述确定模块02,具体用于判断从服务器的标志位与主服务器的标志位是否一致,以及判断自身的目标固件的版本标识表征的固件版本是否低于主服务器的目标固件的版本标识表征的固件版本;若从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于主服务器的目标固件的固件版本,则确定从服务器需要进行固件升级。
在一个实施例中,上述确定模块02,具体还用于在从服务器的标志位与主服务器的标志位不一致,和/或,从服务器的目标固件的版本的固件版本不低于主服务器的目标固件的固件版本的情况下,确定从服务器不需要进行固件升级;输出升级错误信息,并中断与主服务器的广播连接。
在一个实施例中,上述升级模块03,具体用于根据自身的目标固件对第一升级文件进行校验;若校验通过,则根据第一升级文件进行固件升级;若校验失败,则输出升级错误信息,并中断与主服务器的广播连接。
在一个实施例中,上述升级模块03,具体用于在从服务器的标志位与主服务器的标志位一致,且,从服务器的目标固件的固件版本低于第一升级文件的固件版本,且,从服务器的目标固件的功能标识与第一升级文件的功能标识一致的情况下,则确定第一升级文件校验通过。
在一个实施例中,如图12所示,上述固件升级装置还包括发送模块04;
发送模块04,用于向主服务器发送升级完成响应;升级完成响应包括从服务器的目标固件的版本标识。
在一个实施例中,上述接收模块01,还用于接收所述主服务器发送的第二升级文件;所述第二升级文件为所述主服务器根据所述升级完成响应确定所述从服务器升级失败时,重新发送的固件升级文件;
上述升级模块03,还用于根据所述第二升级文件,执行根据所述第二升级文件确定是否对所述从服务器中目标固件进行升级的步骤。
在一个实施例中,上述接收模块01,还用于接收主服务器发送的升级失败指令;升级失败指令为主服务器根据升级完成响应确定从服务器升级失败的次数大于预设次数阈值时触发的指令;输出升级失败信号并生成升级失败日志。
在一个实施例中,上述升级模块03,具体用于向主服务器发送升级文件请求;接收主服务器根据升级文件请求返回的第一升级文件。
在一个实施例中,如图13所示,提供了一种固件升级装置,包括:第一发送模块11和第二发送模块12,其中:
第一发送模块11,用于向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群;
第二发送模块12,用于在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
在一个实施例中,如图14所示,上述固件升级装置还包括确定模块13;
确定模块13,用于接收从服务器发送的升级完成响应,确定从服务器是否升级成功;升级完成响应包括从服务器的目标固件的版本标识。
在一个实施例中,上述确定模块13,具体用于在从服务器的目标固件的版本标识表征的当前固件版本与主服务器的目标固件的版本标识表征的固件版本一致的情况下,确定从服务器升级成功;在从服务器的目标固件的版本标识表征的当前固件版本低于主服务器的目标固件的版本标识表征的固件版本的情况下,确定从服务器升级失败。
在一个实施例中,如图15所示,上述固件升级装置还包括输出模块14;
输出模块14,用于在确定从服务器升级成功的情况下,输出从服务器升级成功的信息;
第二发送模块12,还用于在确定从服务器升级失败的情况下,向从服务器发送第二升级文件;第二升级文件用于指示从服务器根据第二升级文件确定是否重新进行固件升级。
在一个实施例中,上述确定模块13,还用于根据升级完成响应确定从服务器升级失败的次数;
第一发送模块11,还用于在次数大于预设次数阈值的情况下,向从服务器发送升级失败指令,并输出从服务器升级失败的信息。
关于固件升级装置的具体限定可以参见上文中对于固件升级方法的限定,在此不再赘述。上述固件升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种固件升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
从服务器接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群;
从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级;
若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
主服务器向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群;
主服务器在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从服务器接收主服务器广播的用于固件升级的内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;主服务器和从服务器位于内网集群;
从服务器根据主服务器的标志位和目标固件的版本标识确定是否需要进行固件升级;
若需要进行固件升级,则从服务器从主服务器中获取第一升级文件,并根据第一升级文件确定是否对从服务器中目标固件进行升级。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
主服务器向从服务器发送内网广播指令;内网广播指令中携带主服务器的标志位和主服务器中升级成功的目标固件的版本标识;内网广播指令用于指示从服务器根据主服务器的标志位和主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;主服务器和从服务器位于内网集群;
主服务器在接收到从服务器发送的升级文件请求时,向从服务器发送第一升级文件;升级文件请求为从服务器确定需要固件升级时触发的请求;第一升级文件用于指示从服务器根据第一升级文件确定是否对目标固件进行升级。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (17)
1.一种固件升级方法,其特征在于,所述方法包括:
从服务器接收主服务器广播的用于固件升级的内网广播指令;所述内网广播指令中携带所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识;所述主服务器和所述从服务器位于内网集群;
所述从服务器根据所述主服务器的标志位和所述目标固件的版本标识确定是否需要进行固件升级;
若需要进行固件升级,则所述从服务器从所述主服务器中获取第一升级文件,并根据所述第一升级文件确定是否对所述从服务器中目标固件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述从服务器根据所述主服务器的标志位和所述目标固件的版本标识确定是否需要进行固件升级,包括:
所述从服务器判断所述从服务器的标志位与所述主服务器的标志位是否一致,以及判断自身的目标固件的版本标识表征的固件版本是否低于所述主服务器的目标固件的版本标识表征的固件版本;
若所述从服务器的标志位与所述主服务器的标志位一致,且,所述从服务器的目标固件的固件版本低于所述主服务器的目标固件的固件版本,则确定所述从服务器需要进行固件升级;
若所述从服务器的标志位与所述主服务器的标志位不一致,和/或,所述从服务器的目标固件的版本的固件版本不低于所述主服务器的目标固件的固件版本,则确定所述从服务器不需要进行固件升级,并输出升级错误信息,中断与所述主服务器的广播连接。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述根据所述第一升级文件确定是否对所述从服务器中目标固件进行升级,包括:
所述从服务器根据自身的目标固件对所述第一升级文件进行校验;
若校验通过,则所述从服务器根据所述第一升级文件进行固件升级;
若校验失败,则所述从服务器输出升级错误信息,并中断与所述主服务器的广播连接。
4.根据权利要求3所述的方法,其特征在于,所述从服务器根据自身的目标固件对所述第一升级文件进行校验,包括:
若所述从服务器的标志位与所述主服务器的标志位一致,且,所述从服务器的目标固件的固件版本低于所述第一升级文件的固件版本,且,所述从服务器的目标固件的功能标识与所述第一升级文件的功能标识一致,则确定所述第一升级文件校验通过。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述从服务器向所述主服务器发送升级完成响应;所述升级完成响应包括所述从服务器的目标固件的版本标识。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述从服务器接收所述主服务器发送的第二升级文件;所述第二升级文件为所述主服务器根据所述升级完成响应确定所述从服务器升级失败时,重新发送的固件升级文件;
根据所述第二升级文件,执行根据所述第二升级文件确定是否对所述从服务器中目标固件进行升级的步骤。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述从服务器接收所述主服务器发送的升级失败指令;所述升级失败指令为所述主服务器根据所述升级完成响应确定所述从服务器升级失败的次数等于预设次数阈值时触发的指令;
所述从服务器输出升级失败信号并生成升级失败日志。
8.一种固件升级方法,其特征在于,所述方法包括:
主服务器向从服务器发送内网广播指令;所述内网广播指令中携带所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识;所述内网广播指令用于指示所述从服务器根据所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;所述主服务器和所述从服务器位于内网集群;
所述主服务器在接收到所述从服务器发送的升级文件请求时,向所述从服务器发送第一升级文件;所述升级文件请求为所述从服务器确定需要固件升级时触发的请求;所述第一升级文件用于指示所述从服务器根据所述第一升级文件确定是否对目标固件进行升级。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述主服务器接收所述从服务器发送的升级完成响应,确定所述从服务器是否升级成功;所述升级完成响应包括所述从服务器的目标固件的版本标识。
10.根据权利要求9所述的方法,其特征在于,所述主服务器接收所述从服务器发送的升级完成响应,确定所述从服务器是否升级成功,包括:
若所述从服务器的目标固件的版本标识表征的当前固件版本与所述主服务器的目标固件的版本标识表征的固件版本一致,则所述主服务器确定所述从服务器升级成功;
若所述从服务器的目标固件的版本标识表征的当前固件版本低于所述主服务器的目标固件的版本标识表征的固件版本,则所述主服务器确定所述从服务器升级失败。
11.根据权利要求8-10任意一项所述的方法,其特征在于,所述方法还包括:
若所述主服务器确定所述从服务器升级成功,则输出所述从服务器升级成功的信息;
若所述主服务器确定所述从服务器升级失败,则向所述从服务器发送第二升级文件;所述第二升级文件用于指示所述从服务器根据所述第二升级文件确定是否重新进行固件升级。
12.根据权利要求8-10任意一项所述的方法,其特征在于,所述方法还包括:
所述主服务器根据所述升级完成响应确定所述从服务器升级失败的次数;
若所述次数等于预设次数阈值,则所述主服务器向所述从服务器发送升级失败指令,并输出所述从服务器升级失败的信息。
13.一种固件升级系统,其特征在于,所述系统包括主服务器和至少一个从服务器;所述主服务器和所述从服务器位于内网集群;
所述从服务器用于执行上述权利要求1-7所述的固件升级方法;
所述主服务器用于执行上述权利要求8-12所述的固件升级方法。
14.一种固件升级装置,其特征在于,所述装置包括:
接收模块,用于接收主服务器广播的用于固件升级的内网广播指令;所述内网广播指令中携带所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识;所述主服务器和所述从服务器位于内网集群;
确定模块,用于根据所述主服务器的标志位和所述目标固件的版本标识确定是否需要进行固件升级;
升级模块,用于在需要进行固件升级的情况下,从所述主服务器中获取第一升级文件,并根据所述第一升级文件确定是否对所述从服务器中目标固件进行升级。
15.一种固件升级装置,其特征在于,所述装置包括:
第一发送模块,用于向从服务器发送内网广播指令;所述内网广播指令中携带所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识;所述广播指令用于指示所述从服务器根据所述主服务器的标志位和所述主服务器中升级成功的目标固件的版本标识确定是否需要固件升级;所述主服务器和所述从服务器位于内网集群;
第二发送模块,用于在接收到所述从服务器发送的升级文件请求时,向所述从服务器发送第一升级文件;所述升级文件请求为所述从服务器确定需要固件升级时触发的请求;所述第一升级文件用于指示所述从服务器根据所述第一升级文件确定是否对目标固件进行升级。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784621.9A CN111949293A (zh) | 2020-08-06 | 2020-08-06 | 固件升级方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784621.9A CN111949293A (zh) | 2020-08-06 | 2020-08-06 | 固件升级方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949293A true CN111949293A (zh) | 2020-11-17 |
Family
ID=73333044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010784621.9A Pending CN111949293A (zh) | 2020-08-06 | 2020-08-06 | 固件升级方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949293A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486521A (zh) * | 2020-12-14 | 2021-03-12 | 深圳市国科亿道科技有限公司 | 一种基于局域网的固件升级方法及系统 |
CN113656053A (zh) * | 2021-08-17 | 2021-11-16 | 生迪智慧科技有限公司 | 处理器升级方法、装置、设备、存储介质及产品 |
CN115378750A (zh) * | 2021-05-20 | 2022-11-22 | 海信集团控股股份有限公司 | 一种电子家居设备的ota升级方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361051A (zh) * | 2006-06-19 | 2009-02-04 | 三星电子株式会社 | 用于具有空中广播能力设备的信息升级系统和方法 |
CN102055607A (zh) * | 2009-11-06 | 2011-05-11 | 三星电子(中国)研发中心 | 网络设备更新方法及其系统 |
CN103379142A (zh) * | 2012-04-17 | 2013-10-30 | 国基电子(上海)有限公司 | 终端设备固件升级方法及系统 |
CN107040404A (zh) * | 2017-03-06 | 2017-08-11 | 上海斐讯数据通信技术有限公司 | 一种物联网产品固件更新方法及其系统 |
CN110929262A (zh) * | 2019-11-20 | 2020-03-27 | 上海钧正网络科技有限公司 | 一种在线升级方法和系统 |
-
2020
- 2020-08-06 CN CN202010784621.9A patent/CN111949293A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361051A (zh) * | 2006-06-19 | 2009-02-04 | 三星电子株式会社 | 用于具有空中广播能力设备的信息升级系统和方法 |
CN102055607A (zh) * | 2009-11-06 | 2011-05-11 | 三星电子(中国)研发中心 | 网络设备更新方法及其系统 |
CN103379142A (zh) * | 2012-04-17 | 2013-10-30 | 国基电子(上海)有限公司 | 终端设备固件升级方法及系统 |
CN107040404A (zh) * | 2017-03-06 | 2017-08-11 | 上海斐讯数据通信技术有限公司 | 一种物联网产品固件更新方法及其系统 |
CN110929262A (zh) * | 2019-11-20 | 2020-03-27 | 上海钧正网络科技有限公司 | 一种在线升级方法和系统 |
Non-Patent Citations (1)
Title |
---|
赵彬编著: "黑客攻防 Web安全实战详解", 中国铁道出版社, pages: 1 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486521A (zh) * | 2020-12-14 | 2021-03-12 | 深圳市国科亿道科技有限公司 | 一种基于局域网的固件升级方法及系统 |
CN115378750A (zh) * | 2021-05-20 | 2022-11-22 | 海信集团控股股份有限公司 | 一种电子家居设备的ota升级方法及设备 |
CN115378750B (zh) * | 2021-05-20 | 2023-09-19 | 海信集团控股股份有限公司 | 一种电子家居设备的ota升级方法及设备 |
CN113656053A (zh) * | 2021-08-17 | 2021-11-16 | 生迪智慧科技有限公司 | 处理器升级方法、装置、设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949293A (zh) | 固件升级方法、装置、计算机设备和存储介质 | |
WO2019076037A1 (zh) | 升级固件的方法和装置 | |
CN111886576A (zh) | 用于更新远程网络设备的方法和装置 | |
CN110865819B (zh) | 一种os的安装方法、服务器和系统 | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
WO2022142153A1 (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN115756908A (zh) | 用于实时ecu崩溃报告和恢复的方法 | |
CN115134684A (zh) | 水表集抄设备的远程升级方法、系统以及装置 | |
CN114788199A (zh) | 一种数据校验方法及装置 | |
US10289510B1 (en) | Intelligent platform management interface functional fuzzer | |
US20170264527A1 (en) | Diagnostic service for devices that employ a device agent | |
KR100824298B1 (ko) | 장치관리 스케줄링 방법 그 단말 | |
CN110865826A (zh) | 机器人软件升级方法、装置、设备和存储介质 | |
CN111404897A (zh) | 消息分发方法、装置、存储介质及电子设备 | |
CN110968413A (zh) | 一种数据管理方法、装置和服务器 | |
CN113438225A (zh) | 一种车载终端漏洞检测方法、系统、设备及存储介质 | |
US20070101417A1 (en) | Apparatus and method for automatic update | |
CN111858100A (zh) | 一种bmc消息传输方法及相关装置 | |
WO2020037607A1 (zh) | 一种传输数据的方法和装置 | |
CN114268624B (zh) | 版本文件传输方法、装置及服务器 | |
WO2022257927A1 (zh) | 密钥烧录方法、装置、电子设备板卡及存储介质 | |
CN116455753B (zh) | 一种数据平滑方法及装置 | |
CN113824620A (zh) | 一种分区切换方法、装置、车辆和存储介质 | |
US20200257603A1 (en) | Electronic element, system comprising such an electronic element and method for monitoring a processor | |
WO2015024377A1 (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 |