CN114443121B - 一种固件更新方法及相关组件 - Google Patents
一种固件更新方法及相关组件 Download PDFInfo
- Publication number
- CN114443121B CN114443121B CN202210017149.5A CN202210017149A CN114443121B CN 114443121 B CN114443121 B CN 114443121B CN 202210017149 A CN202210017149 A CN 202210017149A CN 114443121 B CN114443121 B CN 114443121B
- Authority
- CN
- China
- Prior art keywords
- firmware
- server
- updating
- information
- updated
- 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 48
- 230000010365 information processing Effects 0.000 claims description 28
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000003993 interaction Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
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
技术领域
本发明涉及软件更新领域,特别是涉及一种固件更新方法及相关组件。
背景技术
固件是担任着一个系统最基础最底层工作的软件,在客户端中,固件就是客户端中最重要的部分,且由于一些客户端除了固件以外没有其它的软件组成,因此固件也就决定着该客户端的功能及性能,为此固件需要通过不断更新来修复各种已知的bug、推出新功能及优化。
现有技术中为了实现固件的更新,服务端需要预先了解此次待更新的目标固件有哪些及这些目标固件所在的地址,随后由开发人员在服务端中预先编写与此次更新版本相关的调用这些目标固件所在客户端的固件更新接口的复杂的更新脚本,由服务端直接将固件更新包逐个发送至待更新的目标固件以强制这些目标固件立即进行更新。这种强制更新是不管待更新的目标固件现有的版本能否升级到新版本,也不管这些目标固件当前的运行状态是否适合立即进行更新,因此很容易出现版本不兼容、运行错误等问题,且对于服务端来说,每次均需要预先了解此次待更新的目标固件及这些目标固件所在地址,对于开发人员来说,在每次更新时都要编写新的更新脚本使得维护非常困难。
发明内容
本发明的目的是提供一种固件更新方法及相关组件,减轻了服务端的运行压力及开发人员的维护难度,实现了对预设网域中可以进行更新的多个客户端的批量更新,解决了现有技术中由于强制更新带来的版本不兼容及运行错误等问题,便于后续开发人员的维护,省时省力。
为解决上述技术问题,本发明提供了一种固件更新方法,应用于预设网域中的任一客户端,所述固件更新方法包括:
接收所述预设网域中的服务端发送的第一固件信息;
在根据所述第一固件信息判定自身的固件待更新时,向所述服务端发送表征自身的固件待更新的在位信息并接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息;
在根据所述第二固件信息判定自身的固件的版本不适合更新时向所述服务端发送表征自身的固件无法更新的第一信号;
在根据所述第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向所述服务端发送表征自身的固件当前可以进行更新的第二信号并接收所述服务端根据所述第二信号返回的第三固件信息并根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新;若否,向所述服务端发送表征自身的固件当前暂不支持更新的第三信号。
优选的,所述第一固件信息包括所述预设网域内所有待更新的客户端的固件的厂家及型号;
根据所述第一固件信息判定自身的固件待更新,包括:
当自身的固件的厂家在所述厂家中且自身的固件的型号在所述型号中时判定自身的固件待更新。
优选的,所述在位信息包括自身的地址及自身的固件的UID,其中所述UID与所述固件当前的版本相关;所述第二固件信息包括所述预设网域内所有适合更新的固件的UID;
接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息,包括:
接收所述服务端根据所述服务端自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID;
根据所述第二固件信息判定自身的固件的版本不适合更新,包括:
当自身的固件的UID不在所有适合更新的固件的UID中时,判定自身的固件的版本不适合更新;
根据所述第二固件信息判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
优选的,所述第二固件信息还包括所述预设网域内所有待更新的固件的UID;
接收所述服务端根据自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID,包括:
接收所述服务端根据自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID及所有待更新的固件的UID;
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有待更新的固件的UID中且自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
优选的,根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新之后,还包括:
向所述服务端发送表征已完成对自身的固件的更新的第四信号。
优选的,所述第三固件信息包括所述新版本的固件的镜像地址、文件传输协议、用户名及密码;
根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新,包括:
从所述服务端根据所述用户名、所述密码及所述新版本的固件的镜像地址按照所述文件传输协议下载所述新版本的固件以对自身的固件进行更新。
为解决上述技术问题,本发明还提供了一种固件更新系统,包括:
第一获取单元,用于接收所述预设网域中的服务端发送的第一固件信息;
第一信息处理单元,用于在根据所述第一固件信息判定自身的固件待更新时,向所述服务端发送表征自身的固件待更新的在位信息并接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息;
第二信息处理单元,用于在根据所述第二固件信息判定自身的固件的版本不适合更新时向所述服务端发送表征自身的固件无法更新的第一信号;
第三信息处理单元,用于在根据所述第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向所述服务端发送表征自身的固件当前可以进行更新的第二信号并接收所述服务端根据所述第二信号返回的第三固件信息并根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新;若否,向所述服务端发送表征自身的固件当前暂不支持更新的第三信号。
为解决上述技术问题,本发明还提供了一种固件更新装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行如上述所述的固件更新方法的步骤。
为解决上述技术问题,本发明还提供了一种客户端,包括固件,还包括如上述所述的固件更新装置。
为解决上述技术问题,本发明还提供了一种服务端更新固件方法,应用于预设网域中的服务端的处理器,所述服务端更新固件方法包括:
向所述预设网域中的所有客户端发送第一固件信息;
接收第i个所述客户端根据所述第一固件信息判定的第i个所述客户端自身的固件待更新的在位信息,其中,1≤i≤所述预设网域内的客户端的总数且i为整数;
根据接收的所有的在位信息确定所述预设网域内适合更新的各个所述客户端并向各个所述客户端发送第二固件信息;
在接收到各个所述客户端中的任一客户端发送的表征所述客户端可以进行更新的信号时,向可以进行更新的客户端发送第三固件信息以便可以进行更新的客户端根据所述第三固件信息从所述服务端自身下载新版本的固件。
本发明提供了一种固件更新方法及相关组件,针对预设网域中的任一客户端中的固件的更新,在根据接收的预设网域中的服务端发送的第一固件信息判定自身的固件待更新时向服务端发送表征自身的固件待更新的在位信息,服务端根据接收的预设网域内所有的在位信息判定该预设网域内哪些固件适合更新,并向所有在位的客户端返回第二固件信息,于是在根据第二固件信息判定自身的固件的版本不适合更新时向所述服务端发送表征自身的固件无法更新的第一信号;在根据第二固件信息判定自身的固件的版本适合更新时还会根据自身的固件的运行状态进一步判断自身的固件当前是否可以进行更新,在当前可以进行更新时向所述服务端发送表征自身的固件当前可以进行更新的第二信号并接收所述服务端根据所述第二信号返回的第三固件信息并根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新;在当前不可以进行更新时向服务端发送表征自身的固件当前暂不支持更新的第三信号,从而实现了对预设网域中可以进行更新的多个客户端的批量更新。与现有技术相比,该方案对于服务端本身来说不需要预先了解此次待更新的固件及这些固件所在地址,也不需要将新版本的固件逐个直接发送至待更新的固件,减轻了服务端的运行压力;对于开发人员来说不需要预先编写更新脚本。且该方案还考虑了待更新的固件当前的版本是否适合进行升级以及其本身的运行状态,解决了现有技术中由于强制更新带来的版本不兼容及运行错误等问题,便于后续开发人员的维护,省时省力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种固件更新方法的流程图;
图2为本发明提供的一种固件更新系统的结构示意图;
图3为本发明提供的一种固件更新装置的结构示意图;
图4为本发明提供的一种服务端更新固件方法的流程图。
具体实施方式
本发明的核心是提供一种固件更新方法及相关组件,减轻了服务端的运行压力及开发人员的维护难度,实现了对预设网域中可以进行更新的多个客户端的批量更新,解决了现有技术中由于强制更新带来的版本不兼容及运行错误等问题,便于后续开发人员的维护,省时省力。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种固件更新方法的流程图。
该固件更新方法,应用于预设网域中的任一客户端,该固件更新方法包括:
S11:接收预设网域中的服务端发送的第一固件信息;
S12:在根据第一固件信息判定自身的固件待更新时,向服务端发送表征自身的固件待更新的在位信息并接收服务端根据预设网域内所有的在位信息返回的第二固件信息;
S13:在根据第二固件信息判定自身的固件的版本不适合更新时向服务端发送表征自身的固件无法更新的第一信号;
S14:在根据第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向服务端发送表征自身的固件当前可以进行更新的第二信号并接收服务端根据第二信号返回的第三固件信息并根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新;若否,向服务端发送表征自身的固件当前暂不支持更新的第三信号。
本实施例中,考虑到现有技术中针对客户端中的固件的更新,对于服务端来说,每次均需要预先了解此次待更新的目标固件及这些目标固件所在地址,对于开发人员来说,在每次更新时都要编写新的更新脚本使得维护非常困难,且现有技术中的方法存在误升级、错升级的情况。为解决上述技术问题,本申请提供了一种固件更新方法,可以有效地解决预设网域内的客户端的固件更新问题。
考虑到每个版本的固件都有属于自己的独一无二的UID(Unique ID,独特身份信息),并且固件在出厂时存储有适合升级到本版本的其他版本的固件的UID。在此基础上,针对预设网域中的任一客户端中的固件的更新,首先接收预设网域中的服务端发送的第一固件信息,在根据第一固件信息判定自身的固件待更新时,向服务端发送表征自身的固件待更新的在位信息并接收服务端根据预设网域内所有的在位信息返回的第二固件信息,具体来说,这里的服务端根据接收的预设网域内所有的在位信息判定该预设网域内哪些固件适合更新并向所有在位的客户端返回第二固件信息。
于是在根据第二固件信息判定自身的固件的版本不适合更新时向服务端发送表征自身的固件无法更新的第一信号;在根据第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向服务端发送表征自身的固件当前可以进行更新的第二信号并接收服务端根据第二信号返回的第三固件信息并根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新;若否,向服务端发送表征自身的固件当前暂不支持更新的第三信号。
需要说明的是,这里的预设网域可以为局域网,本申请在此不作特别的限定;这里的服务端中的BMC上部署有FUDP(Firmware Update Discovery Protocol,固件更新发现协议)固件更新程序,BMC通过调用该FUDP固件更新程序可以实现自身的执行逻辑,且服务端向客户端发送信息时可以使用UDP(User Datagram Protocol,用户数据包协议)广播。
还需要说明的是,这里的在位信息可以包括该客户端自身的固件的UID和该客户端的地址,于是考虑到新版本的固件中预先存储有适合升级到本版本的其他版本的固件的UID,对于服务端根据接收的预设网域内所有的在位信息判定该预设网域内哪些固件适合更新的具体实现可以为服务端解析该新版本的固件中预先存储的适合升级到本版本的其他版本的固件的UID信息,当该信息里包括该客户端的固件的UID时,即认为该客户端的固件适合本次更新。
此外,考虑到某些客户端中的固件是适合更新的但本次由于其自身的运行状态而不可以更新,因此对于这些客户端来说,当向服务端发送表征自身的固件当前暂不支持更新的第三信号之后,该客户端的固件可以等待下一次的新版本的固件的更新;对于服务端来说,直到其针对该新版本的固件的更新过程中再也不接收到第三信号,或者说判定所有适合更新的客户端的固件均升级完成后再认为此次新版本的固件的更新结束,否则重复本申请中的过程。
本申请提供了一种固件更新方法,实现了对预设网域中可以进行更新的多个客户端的批量更新,且与现有技术相比,该方案对于服务端本身来说不需要预先了解此次待更新的固件及这些固件所在地址,也不需要将新版本的固件逐个直接发送至待更新的固件,减轻了服务端的运行压力;对于开发人员来说不需要预先编写更新脚本。且该方案还考虑了待更新的固件当前的版本是否适合进行升级以及其本身的运行状态,解决了现有技术中由于强制更新带来的版本不兼容及运行错误等问题,便于后续开发人员的维护,省时省力。
在上述实施例的基础上:
作为一种优选的实施例,第一固件信息包括预设网域内所有待更新的客户端的固件的厂家及型号;
根据第一固件信息判定自身的固件待更新,包括:
当自身的固件的厂家在厂家中且自身的固件的型号在型号中时判定自身的固件待更新。
本申请中,该第一固件信息可以包括预设网域内所有待更新的客户端的固件的厂家及型号,于是当该客户端自身的固件的厂家在上述厂家中且自身的固件的型号在上述型号中时判定自身的固件待更新。可见,通过这种方式可以简单有效地实现对于自身的固件是否待更新的判定。
作为一种优选的实施例,接收预设网域中的服务端发送的第一固件信息,包括:
接收预设网域中的服务端中的BMC通过UDP广播发送的第一固件信息。
本申请中,服务端中的BMC上部署有FUDP固件更新程序,BMC通过调用该FUDP固件更新程序通过UDP广播向预设网域内所有的客户端发送该第一固件信息。可见通过这种方式,简单有效地具体解决了现有技术中服务端自身需要预先了解此次待更新的目标固件及这些目标固件所在地址的问题。
作为一种优选的实施例,在位信息包括自身的地址及自身的固件的UID,其中UID与固件当前的版本相关;第二固件信息包括预设网域内所有适合更新的固件的UID;
接收服务端根据预设网域内所有的在位信息返回的第二固件信息,包括:
接收服务端根据服务端自身接收的预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID;
根据第二固件信息判定自身的固件的版本不适合更新,包括:
当自身的固件的UID不在所有适合更新的固件的UID中时,判定自身的固件的版本不适合更新;
根据第二固件信息判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
本申请中,在位信息包括该客户端自身的地址及该客户端自身的固件的UID,于是接收服务端根据预设网域内所有的在位信息返回的第二固件信息的具体实现可以为接收服务端根据服务端自身接收的预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID。于是,当自身的固件的UID不在所有适合更新的固件的UID中时,判定自身的固件的版本不适合更新;当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。可见,通过这种方式可以简单可靠地实现本申请中的执行逻辑。
需要说明的是,考虑到新版本的固件中预先存储有适合升级到本版本的其他版本的固件的UID,服务端可以解析该新版本的固件中预先存储的适合升级到本版本的其他版本的固件的UID信息,当该信息包括该客户端的固件的UID时,即认为该客户端的固件适合本次更新,最终得到预设网域内所有适合更新的固件的UID,并根据各在位的客户端的地址向各在位的客户端发送该第二固件信息。
作为一种优选的实施例,第二固件信息还包括预设网域内所有待更新的固件的UID;
接收服务端根据自身接收的预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID,包括:
接收服务端根据自身接收的预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID及所有待更新的固件的UID;
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有待更新的固件的UID中且自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
本实施例中,发明人进一步考虑到服务端向该预设网域内的所有的客户端均会发送的第一固件信息,因此,为了进一步保证该适合更新的客户端的确是待更新的客户端,第二固件信息还包括预设网域内所有待更新的固件的UID;于是,当自身的固件的UID在所有待更新的固件的UID中且自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新,进一步保证了更新的准确性。
作为一种优选的实施例,根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新之后,还包括:
向服务端发送表征已完成对自身的固件的更新的第四信号。
本申请中,为了使得服务端获取该客户端的固件的更新情况,该客户端在根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新之后,可以向服务端发送表征已完成对自身的固件的更新的第四信号,以使服务端了解预设网域内的当前可以更新的客户端的固件的更新进度,便于统计及进行后续动作。
作为一种优选的实施例,第三固件信息包括新版本的固件的镜像地址、文件传输协议、用户名及密码;
根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新,包括:
从服务端根据用户名、密码及新版本的固件的镜像地址按照文件传输协议下载新版本的固件以对自身的固件进行更新。
本申请中,第三固件信息可以包括新版本的固件的镜像地址、文件传输协议、用户名及密码,于是该客户端可以从服务端根据用户名、密码及新版本的固件的镜像地址按照文件传输协议下载新版本的固件以对自身的固件进行更新,实现方式简单可靠,且无需像现有技术中由服务端将新版本的固件逐个直接发送至待更新的固件,减轻了服务端的运行压力。
请参照图2,图2为本发明提供的一种固件更新系统的结构示意图。
该固件更新系统,包括:
第一获取单元21,用于接收预设网域中的服务端发送的第一固件信息;
第一信息处理单元22,用于在根据第一固件信息判定自身的固件待更新时,向服务端发送表征自身的固件待更新的在位信息并接收服务端根据预设网域内所有的在位信息返回的第二固件信息;
第二信息处理单元23,用于在根据第二固件信息判定自身的固件的版本不适合更新时向服务端发送表征自身的固件无法更新的第一信号;
第三信息处理单元24,用于在根据第二固件信息判定自身的固件的版本适合更新时根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向服务端发送表征自身的固件当前可以进行更新的第二信号并接收服务端根据第二信号返回的第三固件信息并根据第三固件信息从服务端下载新版本的固件以使自身的固件进行更新;若否,向服务端发送表征自身的固件当前暂不支持更新的第三信号。
对于本发明提供的固件更新系统的介绍请参照上述固件更新方法实施例,本发明在此不再赘述。
请参照图3,图3为本发明提供的一种固件更新装置的结构示意图。
该固件更新装置,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行如上述所述的固件更新方法的步骤。
对于本发明提供的固件更新装置的介绍请参照上述固件更新方法实施例,本发明在此不再赘述。
本发明还提供了一种客户端,包括固件,还包括如上述所述的固件更新装置。
对于本发明提供的客户端的介绍请参照上述固件更新方法实施例,本发明在此不再赘述。
请参照图4,图4为本发明提供的一种服务端更新固件方法的流程图。
该服务端更新固件方法,应用于预设网域中的服务端的处理器,该服务端更新固件方法包括:
S41:向预设网域中的所有客户端发送第一固件信息;
S42:接收第i个客户端根据第一固件信息判定的第i个客户端自身的固件待更新的在位信息,其中,1≤i≤预设网域内的客户端的总数且i为整数;
S43:根据接收的所有的在位信息确定预设网域内适合更新的各个客户端并向各个客户端发送第二固件信息;
S44:在接收到各个客户端中的任一客户端发送的表征客户端可以进行更新的信号时,向可以进行更新的客户端发送第三固件信息以便可以进行更新的客户端根据第三固件信息从服务端自身下载新版本的固件。
对于本发明提供的服务端更新固件方法的介绍请参照上述固件更新方法实施例,本发明在此不再赘述。
需要说明的是,这里的处理器包括但不限于BMC,本申请在此不作特别的限定;这里的服务端中的BMC上部署有FUDP固件更新程序,BMC通过调用该FUDP固件更新程序可以实现上述执行逻辑,且服务端向预设网域内的客户端发送信息时可以使用UDP广播。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种固件更新方法,其特征在于,应用于预设网域中的任一客户端,所述固件更新方法包括:
接收所述预设网域中的服务端发送的第一固件信息;
在根据所述第一固件信息判定自身的固件待更新时,向所述服务端发送表征自身的固件待更新的在位信息并接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息;
在根据所述第二固件信息判定自身的固件的版本不适合更新时向所述服务端发送表征自身的固件无法更新的第一信号;
在根据所述第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向所述服务端发送表征自身的固件当前可以进行更新的第二信号并接收所述服务端根据所述第二信号返回的第三固件信息并根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新;若否,向所述服务端发送表征自身的固件当前暂不支持更新的第三信号。
2.如权利要求1所述的固件更新方法,其特征在于,所述第一固件信息包括所述预设网域内所有待更新的客户端的固件的厂家及型号;
根据所述第一固件信息判定自身的固件待更新,包括:
当自身的固件的厂家在所述厂家中且自身的固件的型号在所述型号中时判定自身的固件待更新。
3.如权利要求1所述的固件更新方法,其特征在于,所述在位信息包括自身的地址及自身的固件的UID,其中所述UID与所述固件当前的版本相关;所述第二固件信息包括所述预设网域内所有适合更新的固件的UID;
接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息,包括:
接收所述服务端根据所述服务端自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID;
根据所述第二固件信息判定自身的固件的版本不适合更新,包括:
当自身的固件的UID不在所有适合更新的固件的UID中时,判定自身的固件的版本不适合更新;
根据所述第二固件信息判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
4.如权利要求3所述的固件更新方法,其特征在于,所述第二固件信息还包括所述预设网域内所有待更新的固件的UID;
接收所述服务端根据自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID,包括:
接收所述服务端根据自身接收的所述预设网域内所有在位的客户端的固件的UID判断的所有适合更新的固件的UID及所有待更新的固件的UID;
当自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新,包括:
当自身的固件的UID在所有待更新的固件的UID中且自身的固件的UID在所有适合更新的固件的UID中时,判定自身的固件的版本适合更新。
5.如权利要求1所述的固件更新方法,其特征在于,根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新之后,还包括:
向所述服务端发送表征已完成对自身的固件的更新的第四信号。
6.如权利要求1至5任一项所述的固件更新方法,其特征在于,所述第三固件信息包括所述新版本的固件的镜像地址、文件传输协议、用户名及密码;
根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新,包括:
从所述服务端根据所述用户名、所述密码及所述新版本的固件的镜像地址按照所述文件传输协议下载所述新版本的固件以对自身的固件进行更新。
7.一种固件更新系统,其特征在于,包括:
第一获取单元,用于接收预设网域中的服务端发送的第一固件信息;
第一信息处理单元,用于在根据所述第一固件信息判定自身的固件待更新时,向所述服务端发送表征自身的固件待更新的在位信息并接收所述服务端根据所述预设网域内所有的在位信息返回的第二固件信息;
第二信息处理单元,用于在根据所述第二固件信息判定自身的固件的版本不适合更新时向所述服务端发送表征自身的固件无法更新的第一信号;
第三信息处理单元,用于在根据所述第二固件信息判定自身的固件的版本适合更新时再根据自身的固件的运行状态判断自身的固件当前是否可以进行更新,若是,向所述服务端发送表征自身的固件当前可以进行更新的第二信号并接收所述服务端根据所述第二信号返回的第三固件信息并根据所述第三固件信息从所述服务端下载新版本的固件以使自身的固件进行更新;若否,向所述服务端发送表征自身的固件当前暂不支持更新的第三信号。
8.一种固件更新装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行如权利要求1至6任一项所述的固件更新方法的步骤。
9.一种客户端,其特征在于,包括固件,还包括如权利要求8所述的固件更新装置。
10.一种服务端更新固件方法,其特征在于,应用于预设网域中的服务端的处理器,所述服务端更新固件方法包括:
向所述预设网域中的所有客户端发送第一固件信息;
接收第i个所述客户端根据所述第一固件信息判定的第i个所述客户端自身的固件待更新的在位信息,其中,1≤i≤所述预设网域内的客户端的总数且i为整数;
根据接收的所有的在位信息确定所述预设网域内适合更新的各个所述客户端并向各个所述客户端发送第二固件信息;
在接收到各个所述客户端中的任一客户端发送的表征所述客户端可以进行更新的信号时,向可以进行更新的客户端发送第三固件信息以便可以进行更新的客户端根据所述第三固件信息从所述服务端自身下载新版本的固件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210017149.5A CN114443121B (zh) | 2022-01-07 | 2022-01-07 | 一种固件更新方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210017149.5A CN114443121B (zh) | 2022-01-07 | 2022-01-07 | 一种固件更新方法及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114443121A CN114443121A (zh) | 2022-05-06 |
CN114443121B true CN114443121B (zh) | 2023-09-12 |
Family
ID=81368186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210017149.5A Active CN114443121B (zh) | 2022-01-07 | 2022-01-07 | 一种固件更新方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443121B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101525811B1 (ko) * | 2014-03-28 | 2015-06-09 | 유틸라이팅(주) | 무선 센서 네트워크에서의 펌웨어 업그레이드를 위한 분산처리 시스템 및 그 방법 |
CN111488163A (zh) * | 2020-04-08 | 2020-08-04 | 苏州浪潮智能科技有限公司 | 一种固件更新方法、装置及电子设备和存储介质 |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN113064619A (zh) * | 2021-04-02 | 2021-07-02 | 上海高仙自动化科技发展有限公司 | 一种固件升级方法、装置、系统、设备和存储介质 |
-
2022
- 2022-01-07 CN CN202210017149.5A patent/CN114443121B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101525811B1 (ko) * | 2014-03-28 | 2015-06-09 | 유틸라이팅(주) | 무선 센서 네트워크에서의 펌웨어 업그레이드를 위한 분산처리 시스템 및 그 방법 |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN111488163A (zh) * | 2020-04-08 | 2020-08-04 | 苏州浪潮智能科技有限公司 | 一种固件更新方法、装置及电子设备和存储介质 |
CN113064619A (zh) * | 2021-04-02 | 2021-07-02 | 上海高仙自动化科技发展有限公司 | 一种固件升级方法、装置、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114443121A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7376944B2 (en) | Hardware ROM upgrade through an internet or intranet service | |
US10887168B2 (en) | Computerized system and method of error handling for customized execution of applications | |
US10348804B2 (en) | System to automatically process components on a device | |
CN106897086B (zh) | 用于升级机器人操作系统的方法、装置及系统 | |
US7003767B2 (en) | System and method for remotely updating software applications | |
US7903267B2 (en) | Automatic installation system for printer driver, and program recording medium | |
US8225312B2 (en) | Method and apparatus for downloading software updates | |
CN107015870B (zh) | 实现web页面与本地应用通信的方法、装置和电子设备 | |
CN106802814B (zh) | 用于软件版本升级的方法及装置 | |
CN104066077A (zh) | 一种ota下载升级方法及装置 | |
EP1803313A1 (en) | Method and system for controlling software version updates | |
JP2004297813A (ja) | 携帯端末のアクセサリ用アプリケーションを通信ネットワークから入手する方法及び携帯端末 | |
JP2000276335A (ja) | プログラム自動更新システム | |
JP5004857B2 (ja) | アプリケーション更新情報提供システム、及びアプリケーション更新情報提供方法 | |
CN112615747A (zh) | 一种网络设备自动部署配置的方法及装置 | |
CN114443121B (zh) | 一种固件更新方法及相关组件 | |
CN101146111B (zh) | 一种文件下载的方法及设备 | |
GB2348987A (en) | Upgrading firmware from a web site using an applet | |
CN109901860B (zh) | 一种Android手机软件版本控制方法 | |
US9323515B1 (en) | Network with broker for device management | |
CN113064611B (zh) | 针对无线设备实现数据分析软件升级的方法及其更新方法 | |
JP2006511872A (ja) | デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム | |
CN112363737A (zh) | 一种系统安装方法及相关装置 | |
CN107315602B (zh) | 一种应用程序的升级方法及终端 | |
KR100456978B1 (ko) | 에이전트의 파일 다운로드 방법 |
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 |