CN110784348A - 一种固件升级方法、装置、电子设备及存储介质 - Google Patents

一种固件升级方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110784348A
CN110784348A CN201911012776.4A CN201911012776A CN110784348A CN 110784348 A CN110784348 A CN 110784348A CN 201911012776 A CN201911012776 A CN 201911012776A CN 110784348 A CN110784348 A CN 110784348A
Authority
CN
China
Prior art keywords
file
firmware
upgrading
equipment
packed
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
Application number
CN201911012776.4A
Other languages
English (en)
Inventor
殷永超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201911012776.4A priority Critical patent/CN110784348A/zh
Publication of CN110784348A publication Critical patent/CN110784348A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种固件升级方法、装置、电子设备及存储介质,属于数据通信技术领域。该方法包括:向服务器发送文件下载请求,文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名;在接收到服务器响应文件下载请求返回的打包文件的头文件时,校验头文件中携带的标识与自身设备的标识是否一致;如果校验通过,继续接收打包文件中的固件文件;接收完成后,基于固件文件对对应的固件进行升级。本申请实施例中,采用边下载边解压的方式,在下载打包文件时,优先下载并校验头文件,只有头文件中携带的标识与自身设备的标识一致时,才继续下载后续的文件,避免了将整个打包文件下载后才发现该打包文件不可用的情况发生。

Description

一种固件升级方法、装置、电子设备及存储介质
技术领域
本申请属于数据通信技术领域,具体涉及一种固件升级方法、装置、电子设备及存储介质。
背景技术
在通信系统中,除了设备自身以外的管理软件外,设备中还包括众多的CMM(Chassis Management Module,机框管理模块)、FPGA(Field Programmable Gate Array,现场可编程门阵列)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)、BOOT(Boot Loader,引导加载器)等器件(硬件),这些器件也都内置有相应的程序(固件),在使用过程中,这些器件的相应程序(固件)也难免会存在需要修正的问题,因此,同样也需要在线更新升级。
目前,设备在线更新升级时,都是先将压缩好的打包文件直接下载到flash里,解压缩以后,再进行升级。当前的升级方法,只是一味的去做升级操作,追求的只是能把设备升级起来就行,并没有考虑到设备的相关成本以及升级效率等因素。
发明内容
鉴于此,本申请的目的在于提供一种固件升级方法、装置、电子设备及存储介质,以改善现有升级更新固件时没有考虑到设备的相关成本以及升级效率等问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种固件升级方法,应用于待升级设备,所述方法包括:向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述打包文件的头文件中携带的标识与自身设备的标识是否一致;如果校验通过,继续接收所述固件文件;接收完成后,基于所述固件文件对对应的固件进行升级。
本申请实施例中,采用边下载边解压的方式,通过在头文件中引入标识的方式,在下载打包文件时,优先下载并校验头文件,只有头文件中携带的标识与自身设备的标识一致时,才继续下载后续的文件,避免了将整个打包文件下载后才发现该打包文件不可用的情况发生,影响升级效率,进而造成资源浪费。
结合第一方面实施例的一种可能的实施方式,所述头文件中还携带有所述固件文件的算法标志位和算法校验值;在所述接收完成后,在所述基于所述固件文件对对应的固件进行升级之前,所述方法还包括:确定基于所述算法标志位对所述固件文件按照约定算法进行计算而得到的算法校验值与所述头文件中携带的算法校验值一致。本申请实施例中,在基于固件文件进行升级之前,还要验证固件文件是否正确,避免基于错误的固件文件升级后,导致设备宕机的问题发生。
结合第一方面实施例的一种可能的实施方式,所述头文件中还携带有固件文件的数量,所述继续接收所述固件文件,包括:根据所述固件文件的数量创建对应的内存文件,将所述固件文件下载到所述内存文件中。本申请实施例中,在接收固件文件的过程中,直接将固件文件下载到内存,而不是flash空间,由于操作flash要进行磁盘擦除,速度会很慢,直接下载到内存可以提高下载速度,同时还可以减少对磁盘的多次读写。
结合第一方面实施例的一种可能的实施方式,基于所述固件文件对对应的固件进行升级,包括:确定自身设备是主从备份的分布式设备时,所述待升级设备中的主处理器基于内部的FTP链接将所述固件文件发送给所述待升级设备中的从处理器,使得所述从处理器和所述主处理器均基于所述固件文件对对应的固件进行升级。在基于固件文件进行升级时,若检测到自身设备为主从备份的分布式设备时,主处理器通过内部的FTP链接将当前要升级的固件文件传输给从处理器,以便从处理器基于当前固件文件对对应的固件进行升级,以提高升级效率。
结合第一方面实施例的一种可能的实施方式,用于升级的固件文件的数量为多个时,所述头文件中还携带有各个固件文件的排列顺序;基于所述固件文件对对应的固件进行升级,包括:基于所述头文件中的固件文件的排列顺序依次对对应的固件逐个进行升级。本申请实施例中,当打包文件中包括多个用于升级的固件文件时,基于这些固件文件在打包文件中的排列顺序依次对对应的固件逐个进行升级,顺序升级的方式相对于错位升级的方式来说,能减少获取固件文件的时间,以进一步提高升级效率。
结合第一方面实施例的一种可能的实施方式,基于所述固件文件固件对对应的固件进行升级之后,所述方法还包括:确定存在与自身设备属于同一个堆叠系统下的成员设备时,基于自身设备与所述成员设备之间的FTP链接将所述固件文件发送给所述成员设备,以使所述成员设备基于所述固件文件对对应的固件进行升级。本申请实施例中,在基于固件文件进行升级时根据当前环境判断是否还有与自身设备属于同一个堆叠系统下的成员设备(从设备),如果有,主设备通过主从设备之间建立FTP链接向从设备传输当前要升级的版本文件,这样从设备就会同时进行升级,实现并行升级,解决了堆叠环境中设备过多导致的升级缓慢问题。
第二方面,本申请实施例还提供了一种固件升级方法,应用于服务器,所述方法包括:接收待升级设备发送的发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名;获取与所述文件名对应的打包文件,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;将所述文件名对应的打包文件发送给所述待升级设备。
第三方面,本申请实施例还提供了一种固件升级装置,包括:发送模块、校验模块、接收模块以及升级模块;发送模块,用于向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;校验模块,用于在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述打包文件的头文件中携带的标识与自身设备的标识是否一致;接收模块,用于如果校验通过,继续接收所述固件文件;升级模块,用于接收完成后,基于所述固件文件对对应的固件进行升级。
第四方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者执行上述第二方面实施例提供的方法。
第五方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法,或者执行上述第二方面实施例提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种固件升级方法的流程示意图。
图2示出了本申请实施例提供的一种堆叠环境下的固件升级方法的示意图。
图3示出了本申请实施例提供的一种固件升级装置的模块示意图。
图4示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
请参阅图1,为本申请实施例提供的一种应用于待升级设备的固件升级方法,下面将结合图1对其所包含的步骤进行说明。
步骤S101:向服务器发送文件下载请求,所述文件下载请求中携带有需用于对至少一个固件进行升级的打包文件的文件名。
作为一种实施方式,待升级设备向服务器发送文件下载请求,是根据用户触发的升级操作来进行的,即当用户想对设备进行升级更新时,设备响应用户触发的升级操作,向服务器发送文件下载请求,以实现对设备的升级更新。当然,作为又一种实施方式,该过程也可以是当设备检测到固件有新版本时,自动向服务器发送文件下载请求,以实现固件文件的自动升级更新。
其中,文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,以便于服务器根据文件下载请求中携带的文件名获取与该文件名对应的打包文件,以及向待升级设备返回文件名对应的打包文件。其中,服务器中事先存储有多个已经打包好的用于对至少一个固件进行升级的打包文件。例如,服务器中存储有文件名为A、B、C、D的打包文件,若文件下载请求中携带的文件名为A的打包文件时,则服务器将A这个打包文件发给该设备。需要说明的是,每个打包文件均包括头文件和位于头文件后的至少一个用于升级的固件文件。
其中,打包文件中的用于升级的固件文件的数量可以是一个,也可以是两个及以上,当需要升级的固件有多个时,在打包时,是将多个固件文件打包成一个文件,如打包成pkg文件,以提高升级的效率。其中,pkg文件格式实现了一种通用的文件打包方法,允许将多个源文件合并为一个文件,对源文件的数量、格式没有要求。这是一种可以适用于各种架构设备的文件格式,有利于打包升级功能的后续扩展及移植。这种文件方式在解包时可以节省内存。
其中,本文中的服务器,可以是PC(Personal Computer,个人电脑)终端、网络服务器、数据服务器等。
步骤S102:在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述头文件中携带的标识与自身设备的标识是否一致。
服务器在接收到文件下载请求后,响应该文件下载请求,向设备返回与所述文件名对应的打包文件,设备接收到该服务器响应该文件下载请求返回的打包文件的头文件时,校验头文件中携带的标识与自身设备的标识是否一致,如一致,则执行步骤S103,若不一致,则不再接收后续的文件,也即标志着升级失败。本申请中,通过给不同的设备定义不同的标识,并在形成打包文件的过程中,在头文件中引入标识,以便于后续待升级设备在下载打包文件时,基于该标识校验该打包文件是否适用于自身设备。同时,在下载打包文件时,采用边下载边解压的方式,通过在下载打包文件时,优先下载并校验头文件,只有检验通过后,也即只有头文件中携带的标识与自身设备的标识一致时,才继续下载后续的文件,避免了将整个打包文件下载后才发现该打包文件不可用的情况发生,能有效改善基于下载的打包文件完成升级更新后,由于版本不一致的问题,从而导致设备出现故障的问题。
其中,打包文件的头文件中的标识,用于表示该打包文件适用的设备对象,也即该打包文件只适用于具有相同标识的设备。
在接收头文件的过程中,可以是将该头文件下载到flash空间里。由于下载到flash空间时,会涉及到内存对该磁盘的多次擦写,会大大减少硬盘的寿命,同时也要消耗内存资源,因此,作为一种实施方式,也可以是在接收所述头文件的过程中,直接将所述头文件下载到内存,而不是flash空间,由于操作flash要进行磁盘擦除,速度会很慢,直接下载到内存可以提高下载速度,同时还可以减少对磁盘的多次读写。
步骤S103:继续接收所述固件文件。
当头文件校验通过后,也即头文件中携带的标识与自身设备的标识一致时,继续接收后续的固件文件。
在接收固件文件的过程中,可以是将该固件文件下载到flash空间里。由于下载到flash空间时,会涉及到内存对该磁盘的多次擦写,会大大减少硬盘的寿命,同时也要消耗内存资源,因此,作为一种实施方式,也可以是在接收所述固件文件的过程中,直接将所述固件文件下载到内存,而不是flash空间,这样就可以直接避免pkg文件过大导致的flash空间不足的问题,此外由于操作flash要进行磁盘擦除,速度会很慢,直接下载到内存还可以提高下载速度,同时还可以减少对磁盘的多次读写。其中,该头文件中还携带有固件文件的数量,此时,根据固件文件的数量在内存上创建对应的内存文件,将对应的固件文件下载到该内存文件中。
步骤S104:接收完成后,基于所述固件文件对对应的固件进行升级。
由于是采用边下载边解压的方式,在接收完该打包文件后,也即该打包文件被下载到设备里时,已经被解析成了各个子文件,因此在很大程度上,节约了内存的空间,在得到用于升级的固件文件后,便可基于该打包文件中的固件文件对对应的固件进行升级。
当固件文件的数量有多个时,相应地,所述头文件中还携带有各个固件文件的排列顺序;在基于所述固件文件对对应的固件进行升级时,可以是基于所述头文件中的固件文件的排列顺序逐个依次对对应的固件进行升级。例如,当固件文件的数量为三个时,例如为A、B、C,假设头文件中这三个固件文件的排列顺序为A-C-B时,则作为一种实施方式,可以是先升级A,A升级完成后,再升级C,C升级完成后,最后再升级B。
由于在数据通信领域,常常会涉及到分布式设备,因此,基于每个固件文件对对应的固件进行升级时,可以检测自身设备是否为主从备份的分布式设备,在为是时,所述待升级设备中的主处理器(即主MPU(Main Process Unit,主控板))基于内部的FTP(FileTransfer Protocol,文件传输协议)链接将对应的固件文件发送给所述待升级设备中的从处理器(即从MPU),使得所述从处理器和所述主处理器均基于所述固件文件对对应的固件进行升级,通过这样方式,即便是分布式设备,也可以快速完成设备的升级。主MPU在接收到从MPU发送的升级完成的结果后,再进行下一个固件文件的升级,直至所有固件文件升级完成。
随着堆叠技术的出现,电子设备的飞速的发展,需要在各种复杂环境下对嵌入式设备进行升级,因此,作为一种实施方式,基于所述固件文件固件对对应的固件进行升级之后,所述方法还包括:检测是否存在与自身设备属于同一个堆叠系统下的成员设备;在为是时,基于自身设备与所述成员设备之间的FTP链接将所述固件文件发送给所述成员设备,以使所述成员设备基于所述固件文件对对应的固件进行升级。在设备升级每个固件文件时,还可以检测自身设备是否属于某个堆叠系统,若属于,则存在与自身设备属于同一个堆叠系统下的成员设备,则可以基于自身设备与所述成员设备之间的FTP链接将所述固件文件发送给所述成员设备,以使所述成员设备基于所述固件文件进行升级,这样堆叠设备就会同时进行升级,实现并行升级,解决了堆叠环境中设备过多导致的升级缓慢问题。
为了避免打包的固件文件不可用,在基于固件文件进行升级之前,还可以对固件文件进行校验,只有校验通过后,才进行升级,以保证固件文件的可靠性和准确性,避免版本不可用而导致设备挂机等行为。因此作为一种可选的实施方式,该头文件中还包括固件文件的算法标志位和算法校验值,相应地,在基于所述固件文件进行升级之前,所述方法还包括:确定基于所述算法标志位对所述固件文件按照约定算法进行计算而得到的算法校验值与所述头文件中携带的算法校验值一致。在该实施方式中,头文件除了携带有设备的标识外,还携带有固件文件的算法标志位和算法校验值,当设备在基于固件文件进行升级之前,先判断基于头文件中携带的算法标志位对对应的固件文件按照约定算法进行计算而得到的算法校验值是否与所述头文件中携带的算法校验值一致,若一致,则进行升级,若不一致,则不升级。
其中,不同的文件的固件文件的算法标志位可以不同,为了提高校验速度,不同的文件的固件文件的算法标志位可以相同。当有多个固件文件,在逐一进行升级时,可以是在升级之前,对对应的固件文件进行校验,检验通过后再进行升级,例如,当固件文件的数量为两个时,例如为A、B,可以是先校验A,若A通过校验后,基于A进行升级,A升级完成后,再校验B,若B校验通过后,在基于B进行升级。也可以是全部校验后,在基于校验通过后的固件文件逐一进行升级,例如,当固件文件的数量为三个时,例如为A、B、C,在升级之前,分别对A、B、C进行校验,假设A、C通过校验,则基于A进行升级,A升级完成后,接着再基于C进行升级。
其中,需要说明的是,头文件中除了携带有设备的标识外,还包含了固件文件的名称(文件名)、数量、大小、各个固件文件之间的偏移量、保存顺序,以及固件文件的算法标志位和算法校验值等信息。
为了便于理解上述的升级过程,下面以图2所示的三台分布式设备构成的堆叠场景为例,服务器在将多个固件文件打包形成pkg文件的过程中,会将用于表征该打包文件所适用的设备对象的标识、文件大小、以及pkg文件内部各个固件文件的偏移量、数量、保存顺序、文件名、大小、算法标记位、算法校验值等存储在pkg文件的头部,将各个固件文件按照保存顺序保存在pkg文件头部信息的后面,形成pkg打包文件。在接收到某个待升级设备发送的文件下载请求后,基于该文件下载请求中携带的文件名获得对应的打包文件,并将文件名对应的打包文件返回给待升级设备。待升级设备在下载该打包文件时,采用下载时分离,也即边下载边解压的方式,将该pkg文件下载到堆叠系统的主设备中,下载整个文件之前优先下载pkg文件的头部信息,用来校验版本文件和获取相关的下载信息。在获取到的打包文件的头文件时,校验所述头文件中携带的标识与自身设备的标识是否一致,当设备和头部信息中的标识保持一致时,认为该pkg文件中的版本文件是可以用于升级的版本文件,只有校验通过以后,再根据头部信息依次下载每个固件文件并保存在内存中。
下载完成后,循环进行各个固件文件的升级,在对每个固件文件进行升级时,根据头部信息的算法标志位对每个固件文件进行算法校验,得到的算法校验值与头部信息的算法校验值相同时,则校验通过。每个固件文件升级时根据当前环境判断是否还有与自身设备属于同一个堆叠系统下的成员设备(从设备),如果有,则利用环境中的通信机制通知其他设备升级。主设备通过主从设备之间建立FTP链接向从设备传输当前要升级的版本文件。这样从设备就会同时进行升级,实现并行升级,解决了堆叠环境中设备过多导致的升级缓慢问题。通知完成员设备升级以后,检测当前设备是否为分布式设备,如果检测到了从MPU的存在(只有分布式设备才有从MPU),则主MPU通过主从MPU之间的FTP链接向从MPU传输当前要升级的版本文件,这样即使是分布式堆叠环境,升级的速度也会很快。
其中,pkg文件的下载、分离(解压)、校验仅在主MPU上进行,在主MPU上将pkg文件分离成单独的升级文件,主设备的其他板卡以及成员设备上的所有板卡只下载单个的升级文件,不会下载pkg文件。环境中成员设备升级当前版本文件完成后,会发送升级结果消息给主MPU,主MPU收到所有设备的升级结果后,再去升级下一类型固件文件,直到所有版本文件升级完成。升级时其他板卡以及成员设备的升级流程与系统升级一致,只有主MPU上进行循环升级,其他板卡响应主MPU升级。
本申请实施例还提供了一种应用于待升级设备中的固件升级装置100,如图3所示。该固件升级装置100包括:发送模块110、校验模块120、接收模块130以及升级模块140。
发送模块110,用于向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件。
校验模块120,用于在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述打包文件的头文件中携带的标识与自身设备的标识是否一致。
接收模块130,用于如果校验通过,继续接收所述固件文件。可选地,所述接收模块130,还用于根据所述固件文件的数量创建对应的内存文件,将所述固件文件下载到所述内存文件中。
升级模块140,用于接收完成后,基于所述固件文件对对应的固件进行升级。可选地,所述升级模块140,具体用于确定自身设备主从备份的为分布式设备时,所述待升级设备中的主处理器基于内部的FTP链接将所述固件文件发送给所述待升级设备中的从处理器,使得所述从处理器和所述主处理器均基于所述固件文件对对应的固件进行升级。可选地,当用于升级的固件文件的数量为多个时,相应地,所述头文件中还携带有各个固件文件的排列顺序,该升级模块140,具体用于基于所述头文件中的固件文件的排列顺序逐个依次对对应的固件进行升级。
可选地,所述头文件中还携带有固件文件的算法标志位和算法校验值,相应地,该固件升级装置100还包括确定模块,用于在升级模块140基于所述固件文件进行升级之前,确定基于所述算法标志位对所述固件文件按照约定算法进行计算而得到的算法校验值与所述头文件中携带的算法校验值一致。
可选地,该固件升级装置100还包括检测模块,用于在升级模块基于所述固件文件固件进行升级之后,检测是否存在与自身设备属于同一个堆叠系统下的成员设备;在确定存在与自身设备属于同一个堆叠系统下的成员设备时,该发送模块110,还用于基于自身设备与所述成员设备之间的FTP链接将所述固件文件发送给所述成员设备,以使所述成员设备基于所述固件文件对对应的固件进行升级。
本申请实施例所提供的固件升级装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图4所示,图4示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图3中所示的软件功能模块,即固件升级装置100。其中,固件升级装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如固件升级装置100包括的软件功能模块或计算机程序。例如,处理器240,用于向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;以及还用于在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述头文件中携带的标识与自身设备的标识是否一致;以及还用于如果校验通过,继续接收所述固件文件;以及还用于接收完成后,基于所述固件文件对对应的固件进行升级。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200为待升级设备,包括但不限于集中式设备、分布式设备、处于堆叠系统中的设备等,可以是路由器、交换机等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述方法实施例所示的种固件升级方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种固件升级方法,其特征在于,应用于待升级设备,所述方法包括:
向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;
在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述打包文件的头文件中携带的标识与自身设备的标识是否一致;
如果校验通过,继续接收所述固件文件;
接收完成后,基于所述固件文件对对应的固件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述头文件中还携带有所述固件文件的算法标志位和算法校验值;在所述接收完成后,在所述基于所述固件文件对对应的固件进行升级之前,所述方法还包括:
确定基于所述算法标志位对所述固件文件按照约定算法进行计算而得到的算法校验值与所述头文件中携带的算法校验值一致。
3.根据权利要求1所述的方法,其特征在于,所述头文件中还携带有固件文件的数量,所述继续接收所述固件文件,包括:
根据所述固件文件的数量创建对应的内存文件,将所述固件文件下载到所述内存文件中。
4.根据权利要求1-3任一项所述的方法,其特征在于,基于所述固件文件对对应的固件进行升级,包括:
确定自身设备是主从备份的分布式设备时,所述待升级设备中的主处理器基于内部的FTP链接将所述固件文件发送给所述待升级设备中的从处理器,使得所述从处理器和所述主处理器均基于所述固件文件对对应的固件进行升级。
5.根据权利要求1-3任一项所述的方法,其特征在于,用于升级的固件文件的数量为多个时,所述头文件中还携带有各个固件文件的排列顺序;基于所述固件文件对对应的固件进行升级,包括:
基于所述头文件中的固件文件的排列顺序依次对对应的固件逐个进行升级。
6.根据权利要求1-3任一项所述的方法,其特征在于,基于所述固件文件固件对对应的固件进行升级之后,所述方法还包括:
确定存在与自身设备属于同一个堆叠系统下的成员设备时,基于自身设备与所述成员设备之间的FTP链接将所述固件文件发送给所述成员设备,以使所述成员设备基于所述固件文件对对应的固件进行升级。
7.一种固件升级方法,其特征在于,应用于服务器,所述方法包括:
接收待升级设备发送的文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名;
获取与所述文件名对应的打包文件,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;
将所述文件名对应的打包文件发送给所述待升级设备。
8.一种固件升级装置,其特征在于,应用于待升级设备,所述装置包括:
发送模块,用于向服务器发送文件下载请求,所述文件下载请求中携带有用于对至少一个固件进行升级的打包文件的文件名,其中,所述打包文件包括头文件和位于所述头文件后用于升级的与所述至少一个固件一一对应的固件文件;
校验模块,用于在接收到所述服务器响应所述文件下载请求返回的与所述文件名对应的打包文件的头文件时,校验所述打包文件的头文件中携带的标识与自身设备的标识是否一致;
接收模块,用于如果校验通过,继续接收所述固件文件;
升级模块,用于接收完成后,基于所述固件文件对对应的固件进行升级。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-6中任一项所述的方法,或者执行如权利要求7所述的方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-6中任一项所述的方法,或者执行如权利要求7所述的方法。
CN201911012776.4A 2019-10-23 2019-10-23 一种固件升级方法、装置、电子设备及存储介质 Pending CN110784348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911012776.4A CN110784348A (zh) 2019-10-23 2019-10-23 一种固件升级方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911012776.4A CN110784348A (zh) 2019-10-23 2019-10-23 一种固件升级方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN110784348A true CN110784348A (zh) 2020-02-11

Family

ID=69386714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911012776.4A Pending CN110784348A (zh) 2019-10-23 2019-10-23 一种固件升级方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110784348A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475184A (zh) * 2020-03-09 2020-07-31 苏州浪潮智能科技有限公司 一种引导服务器电源前后级在线升级的方法
CN111585794A (zh) * 2020-04-20 2020-08-25 南京南瑞继保电气有限公司 基于采集板卡的通信方法、装置、系统及存储介质
CN112000355A (zh) * 2020-08-21 2020-11-27 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN113220323A (zh) * 2021-04-23 2021-08-06 山东英信计算机技术有限公司 一种增进产线cpld固件更新效率的方法、系统及介质
CN114697312A (zh) * 2022-03-07 2022-07-01 南京国电南自电网自动化有限公司 一种交换机软件高效安全升级系统及方法
CN114816565A (zh) * 2022-04-08 2022-07-29 深圳云豹智能有限公司 固件加载方法、装置及电子设备
CN115225494A (zh) * 2022-07-26 2022-10-21 武汉烽火技术服务有限公司 一种网关设备进行复合镜像升级的方法和装置
CN115934663A (zh) * 2022-11-30 2023-04-07 广州通康创智软件有限公司 一种通信模组的数据处理方法、装置、终端设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363480B1 (en) * 2005-06-30 2008-04-22 American Megatrends, Inc. Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
US20170115984A1 (en) * 2014-06-30 2017-04-27 Feitian Technologies Co., Ltd. Firmware update method in two-chip solution for secure terminal
CN107608701A (zh) * 2017-10-20 2018-01-19 深圳市道通科技股份有限公司 一种升级固件的方法和装置
CN107957877A (zh) * 2017-12-05 2018-04-24 浪潮金融信息技术有限公司 设备固件升级方法及装置、计算机可读存储介质、终端
CN109358872A (zh) * 2018-09-21 2019-02-19 广东美的暖通设备有限公司 远程固件升级方法、装置及计算机可读存储介质
CN109669714A (zh) * 2018-12-19 2019-04-23 广东美的暖通设备有限公司 固件升级方法、装置及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363480B1 (en) * 2005-06-30 2008-04-22 American Megatrends, Inc. Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
US20170115984A1 (en) * 2014-06-30 2017-04-27 Feitian Technologies Co., Ltd. Firmware update method in two-chip solution for secure terminal
CN107608701A (zh) * 2017-10-20 2018-01-19 深圳市道通科技股份有限公司 一种升级固件的方法和装置
CN107957877A (zh) * 2017-12-05 2018-04-24 浪潮金融信息技术有限公司 设备固件升级方法及装置、计算机可读存储介质、终端
CN109358872A (zh) * 2018-09-21 2019-02-19 广东美的暖通设备有限公司 远程固件升级方法、装置及计算机可读存储介质
CN109669714A (zh) * 2018-12-19 2019-04-23 广东美的暖通设备有限公司 固件升级方法、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAMIP DHAKAL,FEHMI JAAFAR,PAVOL ZAVARSKY: ""Private Blockchain Network for IoT Device Firmware Integrity Verification and Update"", 《 2019 IEEE 19TH INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING (HASE)》 *
张志伟,黄祥才,何顶新: ""利用IPv6组播技术搭建的嵌入式固件升级系统"", 《单片机与嵌入式系统应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475184A (zh) * 2020-03-09 2020-07-31 苏州浪潮智能科技有限公司 一种引导服务器电源前后级在线升级的方法
CN111585794A (zh) * 2020-04-20 2020-08-25 南京南瑞继保电气有限公司 基于采集板卡的通信方法、装置、系统及存储介质
CN112000355A (zh) * 2020-08-21 2020-11-27 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN112000355B (zh) * 2020-08-21 2023-10-24 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN113220323A (zh) * 2021-04-23 2021-08-06 山东英信计算机技术有限公司 一种增进产线cpld固件更新效率的方法、系统及介质
CN114697312A (zh) * 2022-03-07 2022-07-01 南京国电南自电网自动化有限公司 一种交换机软件高效安全升级系统及方法
CN114816565A (zh) * 2022-04-08 2022-07-29 深圳云豹智能有限公司 固件加载方法、装置及电子设备
CN115225494A (zh) * 2022-07-26 2022-10-21 武汉烽火技术服务有限公司 一种网关设备进行复合镜像升级的方法和装置
CN115225494B (zh) * 2022-07-26 2023-08-15 烽火通信科技股份有限公司 一种网关设备进行复合镜像升级的方法和装置
CN115934663A (zh) * 2022-11-30 2023-04-07 广州通康创智软件有限公司 一种通信模组的数据处理方法、装置、终端设备及介质

Similar Documents

Publication Publication Date Title
CN110784348A (zh) 一种固件升级方法、装置、电子设备及存储介质
US20220317997A1 (en) Online Upgrade Method for Household Appliance Multi-MCU System, Electronic Device and Medium
CN111694592A (zh) 项目版本发布的管理方法以及系统
CN112486629B (zh) 微服务状态检测方法、装置、电子设备和存储介质
CN109558160A (zh) 升级方法、嵌入式系统
US20130152074A1 (en) Method for automatic consecutive installing operating systems
CN106843947B (zh) 代码缺陷的处理方法和装置
CN112286565B (zh) 一种基于存储容器的嵌入式系统差分升级方法
CN112015447A (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN109471799B (zh) 一种需求环境的部署方法、装置、存储介质及终端
CN111966380A (zh) 一种bmc固件升级方法、系统、终端及存储介质
CN105045671A (zh) 一种智能终端的系统升级方法及装置
CN110908943A (zh) 一种板卡自动适配方法、装置、网络设备及存储介质
CN108205588B (zh) 基于主从结构的数据同步方法及装置
CN111984287A (zh) 设备升级方法及系统
CN115495129A (zh) 一种固件升级方法、装置、设备、介质和产品
CN114895916A (zh) 代码部署方法、装置、存储介质以及电子设备
CN111651189A (zh) 持续集成系统的产品交付方法及装置、电子设备
CN110825406A (zh) 一种软件升级的方法及相关设备
JP2020144580A (ja) プログラム配信装置及びプログラム配信方法
CN115134270B (zh) 代码监控方法、监控系统、电子设备及存储介质
CN111614743B (zh) 文件检测方法、装置、计算机设备和存储介质
CN116483409A (zh) 一种远程固件更新的方法、系统、电子设备及存储介质
CN114780116A (zh) 一种汽车仪表升级方法、系统、车辆及介质
CN114168168A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200211