CN111045713A - 一种计算机系统的升级方法、系统及装置 - Google Patents

一种计算机系统的升级方法、系统及装置 Download PDF

Info

Publication number
CN111045713A
CN111045713A CN201911318354.XA CN201911318354A CN111045713A CN 111045713 A CN111045713 A CN 111045713A CN 201911318354 A CN201911318354 A CN 201911318354A CN 111045713 A CN111045713 A CN 111045713A
Authority
CN
China
Prior art keywords
new version
program
upgrading
upgrade
upgrade file
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
CN201911318354.XA
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201911318354.XA priority Critical patent/CN111045713A/zh
Publication of CN111045713A publication Critical patent/CN111045713A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明公开了一种计算机系统的升级方法,预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个固件子程序一一预留多个存储分区;分别将多个固件子程序的新版本程序写入升级文件中;在接收到升级指令后,将升级文件中的多个新版本程序相应下载至多个存储分区中。可见,本申请可分区刷新系统固件程序,从而降低了出错率,提高了系统升级的可靠性。本发明还公开了一种计算机系统的升级系统及装置,与上述升级方法具有相同的有益效果。

Description

一种计算机系统的升级方法、系统及装置
技术领域
本发明涉及软件升级领域,特别是涉及一种计算机系统的升级方法、系统及装置。
背景技术
Expander是一种嵌入式计算机系统,对于计算机系统而言,系统升级至关重要,如系统旧版本中存在已知bug(漏洞)需要修改,或者需要在旧版本的基础上添加新功能,均需通过系统升级实现。现有技术中,系统的固件程序整体顺序存放在系统的Flash存储器(一种掉电不丢失数据的存储媒介)中,系统的升级方法为:根据修改后得到的新版本固件程序,整体刷新Flash存储器中存放的旧版本固件程序,从而实现Expander的升级。但是,现有的系统升级方法在整体刷新固件程序时,出错率较高,从而降低了系统升级的可靠性。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种计算机系统的升级方法、系统及装置,可分区刷新系统固件程序,从而降低了出错率,提高了系统升级的可靠性。
为解决上述技术问题,本发明提供了一种计算机系统的升级方法,包括:
预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个所述固件子程序一一预留多个存储分区;
分别将多个所述固件子程序的新版本程序写入升级文件中;
在接收到升级指令后,将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中。
优选地,所述升级文件包括:用于写入多个所述新版本程序在升级文件中的位置信息的升级文件头和用于写入多个所述新版本程序的升级文件主体;
相应的,所述将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的过程,包括:
获取所述升级文件头中的多个所述新版本程序的位置信息;
根据所述位置信息相应获取所述升级文件主体中的多个新版本程序;
将多个所述新版本程序相应下载至多个所述存储分区中。
优选地,所述升级文件头中还包括与多个所述新版本程序一一对应的签名信息;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的多个签名信息;
将多个所述签名信息与多个预设标准签名信息一一对应比较,判断多个签名信息与多个预设标准签名信息是否完全一致;
若是,则确定签名正确,执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤;
若否,则确定签名错误,不执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤。
优选地,所述升级文件头中还包括计算机系统的产品型号;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的产品型号;
判断所述产品型号与预设标准产品型号是否一致;
若是,则确定产品型号正确,执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤;
若否,则确定产品型号错误,不执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤。
优选地,所述升级文件头中还包括与多个所述新版本程序一一对应的程序版本号;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的多个程序版本号;
将多个所述程序版本号与当前多个所述存储分区中固件子程序的程序版本号一一对应比较,确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序;
则所述将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的过程,包括:
将所述升级文件中的第二新版本程序相应下载至存储分区中。
优选地,所述新版本程序在升级文件中的位置信息包括:所述新版本程序在升级文件中的初始位置和所述新版本程序占用升级文件的文件长度;
相应的,在确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序之后,在将所述升级文件中的第二新版本程序相应下载至存储分区中之前,所述升级方法还包括:
获取所述升级文件头中与所述第二新版本程序对应的实际文件长度;
判断所述实际文件长度是否超过与所述第二新版本程序对应的预设分区最大允许长度;
若否,则确定所述第二新版本程序大小合法,执行将所述升级文件中的第二新版本程序相应下载至存储分区中的步骤;
若是,则确定所述第二新版本程序大小非法,不执行将所述升级文件中的第二新版本程序相应下载至存储分区中的步骤。
优选地,所述升级文件头中还包括与多个所述新版本程序一一对应的目标校验和;
相应的,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之后,所述升级方法还包括:
分别读取多个所述存储分区中的新版本程序,并计算多个所述新版本程序的实际校验和;
将多个所述实际校验和与多个所述目标校验和一一对应比较,判断多个实际校验和与多个目标校验和是否完全一致;
若是,则确定分区校验成功;
若否,则确定分区校验失败。
优选地,所述计算机系统为Expander;
相应的,所述预先将系统的固件程序按照功能进行划分,得到多个固件子程序的过程,包括:
将Expander固件程序划分为Bootloader固件子程序、Firmware固件子程序、Mfg固件子程序。
为解决上述技术问题,本发明还提供了一种计算机系统的升级系统,包括:
程序分区模块,用于预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个所述固件子程序一一预留多个存储分区;
文件制作模块,用于分别将多个所述固件子程序的新版本程序写入升级文件中;
程序升级模块,用于在接收到升级指令后,将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中。
为解决上述技术问题,本发明还提供了一种计算机系统的升级装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现上述任一种计算机系统的升级方法的步骤。
本发明提供了一种计算机系统的升级方法,预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个固件子程序一一预留多个存储分区;分别将多个固件子程序的新版本程序写入升级文件中;在接收到升级指令后,将升级文件中的多个新版本程序相应下载至多个存储分区中。可见,本申请可分区刷新系统固件程序,从而降低了出错率,提高了系统升级的可靠性。
本发明还提供了一种计算机系统的升级系统及装置,与上述升级方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种计算机系统的升级方法的流程图;
图2为本发明实施例提供的一种计算机系统的升级系统的结构示意图。
具体实施方式
本发明的核心是提供一种计算机系统的升级方法、系统及装置,可分区刷新系统固件程序,从而降低了出错率,提高了系统升级的可靠性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种计算机系统的升级方法的流程图。
该计算机系统的升级方法包括:
步骤S1:预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个固件子程序一一预留多个存储分区。
具体地,本申请提前将计算机系统的固件程序按照功能进行划分,得到多个固件子程序。并且,本申请在用于存储系统固件程序的Flash存储器中,为多个固件子程序一一预留多个存储分区,即一个存储分区对应存储一个固件子程序。
需要说明的是,每个存储分区在Flash存储器中都有各自的起始位置,存储分区的排列并不是顺序紧凑的。
步骤S2:分别将多个固件子程序的新版本程序写入升级文件中。
具体地,当计算机系统需要升级时,本申请首先将多个固件子程序的新版本程序写入升级文件中,供后续系统升级使用。更具体地,本申请的升级文件可存放在与计算机系统连接的主机上,在计算机系统升级时,从主机上获取升级文件。
步骤S3:在接收到升级指令后,将升级文件中的多个新版本程序相应下载至多个存储分区中。
具体地,本申请在接收到升级指令后,首先获取升级文件中的多个新版本程序,然后将多个新版本程序相应下载至Flash存储器的多个存储分区中,实现系统升级。更具体地,将多个新版本程序相应下载至Flash存储器的多个存储分区中的过程包括:首先对Flash存储器的多个存储分区进行擦除操作,然后将多个新版本程序相应写入多个存储分区中。
本发明提供了一种计算机系统的升级方法,预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个固件子程序一一预留多个存储分区;分别将多个固件子程序的新版本程序写入升级文件中;在接收到升级指令后,将升级文件中的多个新版本程序相应下载至多个存储分区中。可见,本申请可分区刷新系统固件程序,从而降低了出错率,提高了系统升级的可靠性。
在上述实施例的基础上:
作为一种可选的实施例,升级文件包括:用于写入多个新版本程序在升级文件中的位置信息的升级文件头和用于写入多个新版本程序的升级文件主体;
相应的,将升级文件中的多个新版本程序相应下载至多个存储分区中的过程,包括:
获取升级文件头中的多个新版本程序的位置信息;
根据位置信息相应获取升级文件主体中的多个新版本程序;
将多个新版本程序相应下载至多个存储分区中。
具体地,本申请的升级文件包括升级文件头和升级文件主体,其中,升级文件头用于写入多个固件子程序的新版本程序在升级文件中的位置信息;升级文件主体用于写入多个固件子程序的新版本程序。
基于此,获取升级文件中的多个新版本程序的过程包括:首先获取升级文件头中的多个新版本程序的位置信息,然后根据多个新版本程序的位置信息,相应获取升级文件主体中的多个新版本程序。
作为一种可选的实施例,升级文件头中还包括与多个新版本程序一一对应的签名信息;
相应的,在接收到升级指令之后,在将升级文件中的多个新版本程序相应下载至多个存储分区中之前,升级方法还包括:
获取升级文件头中的多个签名信息;
将多个签名信息与多个预设标准签名信息一一对应比较,判断多个签名信息与多个预设标准签名信息是否完全一致;
若是,则确定签名正确,执行将升级文件中的多个新版本程序相应下载至多个存储分区中的步骤;
若否,则确定签名错误,不执行将升级文件中的多个新版本程序相应下载至多个存储分区中的步骤。
进一步地,本申请的升级文件头中还包括与多个新版本程序一一对应的签名信息,其应用原理为:
本申请提前为多个新版本程序一一设置标准签名信息。在接收到升级指令之后,本申请获取升级文件头中的多个签名信息,并将同一新版本程序对应的签名信息与标准签名信息作比较,若多个新版本程序对应的比较结果均为签名信息与标准签名信息一致,则执行升级操作;否则不执行升级操作,即退出升级,并反馈升级退出原因:签名错误。此签名判断是为了加强升级文件的检查,防止恶意试探升级。
作为一种可选的实施例,升级文件头中还包括计算机系统的产品型号;
相应的,在接收到升级指令之后,在将升级文件中的多个新版本程序相应下载至多个存储分区中之前,升级方法还包括:
获取升级文件头中的产品型号;
判断产品型号与预设标准产品型号是否一致;
若是,则确定产品型号正确,执行将升级文件中的多个新版本程序相应下载至多个存储分区中的步骤;
若否,则确定产品型号错误,不执行将升级文件中的多个新版本程序相应下载至多个存储分区中的步骤。
进一步地,本申请的升级文件头中还包括计算机系统的产品型号,其应用原理为:
本申请提前获取计算机系统的标准产品型号。在接收到升级指令之后,本申请获取升级文件头中的产品型号,并将升级文件头中的产品型号与标准产品型号作比较,若二者一致,则执行升级操作;若二者不一致,则不执行升级操作,即退出升级,并反馈升级退出原因:产品型号错误。此产品型号判断是为了防止升级文件的升级内容与计算机系统所需的升级内容不符,导致系统升级后固件程序运行异常。
作为一种可选的实施例,升级文件头中还包括与多个新版本程序一一对应的程序版本号;
相应的,在接收到升级指令之后,在将升级文件中的多个新版本程序相应下载至多个存储分区中之前,升级方法还包括:
获取升级文件头中的多个程序版本号;
将多个程序版本号与当前多个存储分区中固件子程序的程序版本号一一对应比较,确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序;
则将升级文件中的多个新版本程序相应下载至多个存储分区中的过程,包括:
将升级文件中的第二新版本程序相应下载至存储分区中。
进一步地,本申请的升级文件头中还包括与多个新版本程序一一对应的程序版本号,其应用原理为:
本申请在刷新多个存储分区后,记录多个存储分区中固件子程序在本次刷新对应的程序版本号。在接收到升级指令之后,本申请获取升级文件头中的多个程序版本号,并将同一存储分区在上一次刷新对应的程序版本号与在升级文件头中对应的程序版本号作比较,从而确定在升级文件主体中,与当前多个存储分区中固件子程序的程序版本号相同的新版本程序(称为第一新版本程序)和不相同的新版本程序(称为第二新版本程序)。可以理解的是,第一新版本程序对应的存储分区无需升级,第二新版本程序对应的存储分区需要升级。
基于此,本申请在对系统升级时,只将升级文件中的第二新版本程序相应下载至存储分区中,不对无需升级的存储分区进行程序下载操作。若所有存储分区都不需要升级,则退出升级,并反馈升级退出原因:程序版本号相同。
作为一种可选的实施例,新版本程序在升级文件中的位置信息包括:新版本程序在升级文件中的初始位置和新版本程序占用升级文件的文件长度;
相应的,在确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序之后,在将升级文件中的第二新版本程序相应下载至存储分区中之前,升级方法还包括:
获取升级文件头中与第二新版本程序对应的实际文件长度;
判断实际文件长度是否超过与第二新版本程序对应的预设分区最大允许长度;
若否,则确定第二新版本程序大小合法,执行将升级文件中的第二新版本程序相应下载至存储分区中的步骤;
若是,则确定第二新版本程序大小非法,不执行将升级文件中的第二新版本程序相应下载至存储分区中的步骤。
进一步地,本申请的新版本程序在升级文件中的位置信息包括其在升级文件中的初始位置和其占用升级文件的文件长度。相应的,本申请提前根据预留的多个存储分区的大小一一设置多个存储分区所能存储的最大文件长度,称为分区最大允许长度。在确定程序版本号不同的第二新版本程序之后,本申请首先获取升级文件头中与第二新版本程序对应的实际文件长度,然后将同一第二新版本程序对应的实际文件长度与分区最大允许长度作比较,若实际文件长度小于分区最大允许长度,说明此第二新版本程序大小合法,则执行此第二新版本程序的程序下载操作;若实际文件长度大于分区最大允许长度,说明此第二新版本程序大小非法,则不执行此第二新版本程序的程序下载操作,即此第二新版本程序对应的存储分区的升级退出,并反馈其退出原因:程序大小非法。
作为一种可选的实施例,升级文件头中还包括与多个新版本程序一一对应的目标校验和;
相应的,在将升级文件中的多个新版本程序相应下载至多个存储分区中之后,升级方法还包括:
分别读取多个存储分区中的新版本程序,并计算多个新版本程序的实际校验和;
将多个实际校验和与多个目标校验和一一对应比较,判断多个实际校验和与多个目标校验和是否完全一致;
若是,则确定分区校验成功;
若否,则确定分区校验失败。
进一步地,本申请的升级文件头中还包括与多个新版本程序一一对应的目标校验和,其应用原理为:
在将升级文件中的多个新版本程序相应下载至多个存储分区中之后,本申请分别读取多个存储分区中的新版本程序,目的是将同一存储分区中新版本程序在每个数据单元的数据值进行累加,从而得到多个新版本程序的实际校验和。同时,获取升级文件中的多个目标校验和,并将同一新版本程序对应的实际校验和与目标校验和作比较,若多个新版本程序对应的比较结果均为实际校验和与目标校验和一致,则确定分区校验成功,即系统整个升级过程成功,并反馈升级成功信息;否则确定分区校验失败,升级退出,并反馈升级退出原因:分区校验失败。
此外,本申请的升级文件头中还包括协议版本号,用于后续通信协议升级。
可见,本申请进行多阶段安全判断保证升级安全性,并通过升级退出原因反馈提示用户升级状态。
作为一种可选的实施例,计算机系统为Expander;
相应的,预先将系统的固件程序按照功能进行划分,得到多个固件子程序的过程,包括:
将Expander固件程序划分为Bootloader固件子程序、Firmware固件子程序、Mfg固件子程序。
具体地,本申请的计算机系统为Expander,主机使用sg_ses_microcode工具(一种升级工具)发送升级文件到Expander。Expander固件程序包括Bootloader固件子程序、Firmware固件子程序及Mfg固件子程序这三个固件子程序,其中,Bootloader固件子程序是在操作系统内核运行之前运行的一段小程序,此段小程序用于初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态;Firmware固件子程序是Expander系统的主程序;Mfg(Manufactory firmware configuration,出厂配置)固件子程序用于恢复出厂配置。
更具体地,Expander对应的升级文件描述如下表1:
表1
Figure BDA0002326474830000111
Figure BDA0002326474830000121
Figure BDA0002326474830000131
按照升级文件描述,编写程序工具,把各个固件子程序的原始二进制程序及信息组装成升级文件。
则Expander升级操作为:1、主机使用sg_ses_microcode工具发送升级文件到Expander;2、Expander对升级文件头进行解析:a)判断签名;b)判断产品型号;c)判断程序版本号;3、若某个存储分区不需要升级,则Expander只接收数据,而不进行写程序下载操作;若某个存储分区需要升级,则执行:a)判断Length;b)根据Offset和Length查询此存储分区对应的新版本程序;c)对此存储分区进行擦除操作;d)对此存储分区进行写RAW二进制程序;4、三个存储分区都完成后,则升级操作完成。
请参照图2,图2为本发明实施例提供的一种计算机系统的升级系统的结构示意图。
该计算机系统的升级系统包括:
程序分区模块1,用于预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个固件子程序一一预留多个存储分区;
文件制作模块2,用于分别将多个固件子程序的新版本程序写入升级文件中;
程序升级模块3,用于在接收到升级指令后,将升级文件中的多个新版本程序相应下载至多个存储分区中。
本申请提供的升级系统的介绍请参考上述升级方法的实施例,本申请在此不再赘述。
本申请还提供了一种计算机系统的升级装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时实现上述任一种计算机系统的升级方法的步骤。
本申请提供的升级装置的介绍请参考上述升级方法的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种计算机系统的升级方法,其特征在于,包括:
预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个所述固件子程序一一预留多个存储分区;
分别将多个所述固件子程序的新版本程序写入升级文件中;
在接收到升级指令后,将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中。
2.如权利要求1所述的计算机系统的升级方法,其特征在于,所述升级文件包括:用于写入多个所述新版本程序在升级文件中的位置信息的升级文件头和用于写入多个所述新版本程序的升级文件主体;
相应的,所述将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的过程,包括:
获取所述升级文件头中的多个所述新版本程序的位置信息;
根据所述位置信息相应获取所述升级文件主体中的多个新版本程序;
将多个所述新版本程序相应下载至多个所述存储分区中。
3.如权利要求2所述的计算机系统的升级方法,其特征在于,所述升级文件头中还包括与多个所述新版本程序一一对应的签名信息;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的多个签名信息;
将多个所述签名信息与多个预设标准签名信息一一对应比较,判断多个签名信息与多个预设标准签名信息是否完全一致;
若是,则确定签名正确,执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤;
若否,则确定签名错误,不执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤。
4.如权利要求2所述的计算机系统的升级方法,其特征在于,所述升级文件头中还包括计算机系统的产品型号;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的产品型号;
判断所述产品型号与预设标准产品型号是否一致;
若是,则确定产品型号正确,执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤;
若否,则确定产品型号错误,不执行将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的步骤。
5.如权利要求2所述的计算机系统的升级方法,其特征在于,所述升级文件头中还包括与多个所述新版本程序一一对应的程序版本号;
相应的,在接收到升级指令之后,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之前,所述升级方法还包括:
获取所述升级文件头中的多个程序版本号;
将多个所述程序版本号与当前多个所述存储分区中固件子程序的程序版本号一一对应比较,确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序;
则所述将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中的过程,包括:
将所述升级文件中的第二新版本程序相应下载至存储分区中。
6.如权利要求5所述的计算机系统的升级方法,其特征在于,所述新版本程序在升级文件中的位置信息包括:所述新版本程序在升级文件中的初始位置和所述新版本程序占用升级文件的文件长度;
相应的,在确定程序版本号相同的第一新版本程序和程序版本号不同的第二新版本程序之后,在将所述升级文件中的第二新版本程序相应下载至存储分区中之前,所述升级方法还包括:
获取所述升级文件头中与所述第二新版本程序对应的实际文件长度;
判断所述实际文件长度是否超过与所述第二新版本程序对应的预设分区最大允许长度;
若否,则确定所述第二新版本程序大小合法,执行将所述升级文件中的第二新版本程序相应下载至存储分区中的步骤;
若是,则确定所述第二新版本程序大小非法,不执行将所述升级文件中的第二新版本程序相应下载至存储分区中的步骤。
7.如权利要求2-6任一项所述的计算机系统的升级方法,其特征在于,所述升级文件头中还包括与多个所述新版本程序一一对应的目标校验和;
相应的,在将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中之后,所述升级方法还包括:
分别读取多个所述存储分区中的新版本程序,并计算多个所述新版本程序的实际校验和;
将多个所述实际校验和与多个所述目标校验和一一对应比较,判断多个实际校验和与多个目标校验和是否完全一致;
若是,则确定分区校验成功;
若否,则确定分区校验失败。
8.如权利要求7所述的计算机系统的升级方法,其特征在于,所述计算机系统为Expander;
相应的,所述预先将系统的固件程序按照功能进行划分,得到多个固件子程序的过程,包括:
将Expander固件程序划分为Bootloader固件子程序、Firmware固件子程序、Mfg固件子程序。
9.一种计算机系统的升级系统,其特征在于,包括:
程序分区模块,用于预先将系统的固件程序按照功能进行划分,得到多个固件子程序,并在系统的Flash存储器中为多个所述固件子程序一一预留多个存储分区;
文件制作模块,用于分别将多个所述固件子程序的新版本程序写入升级文件中;
程序升级模块,用于在接收到升级指令后,将所述升级文件中的多个新版本程序相应下载至多个所述存储分区中。
10.一种计算机系统的升级装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1-8任一项所述的计算机系统的升级方法的步骤。
CN201911318354.XA 2019-12-19 2019-12-19 一种计算机系统的升级方法、系统及装置 Pending CN111045713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911318354.XA CN111045713A (zh) 2019-12-19 2019-12-19 一种计算机系统的升级方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911318354.XA CN111045713A (zh) 2019-12-19 2019-12-19 一种计算机系统的升级方法、系统及装置

Publications (1)

Publication Number Publication Date
CN111045713A true CN111045713A (zh) 2020-04-21

Family

ID=70237904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911318354.XA Pending CN111045713A (zh) 2019-12-19 2019-12-19 一种计算机系统的升级方法、系统及装置

Country Status (1)

Country Link
CN (1) CN111045713A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580844A (zh) * 2020-05-09 2020-08-25 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN111787378A (zh) * 2020-06-28 2020-10-16 海信视像科技股份有限公司 应用于遥控装置的软件升级方法及遥控装置
CN111966375A (zh) * 2020-08-13 2020-11-20 科华恒盛股份有限公司 一种固件升级方法、系统、设备及计算机可读存储介质
CN112732318A (zh) * 2021-01-12 2021-04-30 武汉光庭信息技术股份有限公司 一种单片机固件升级方法
CN113010180A (zh) * 2021-03-12 2021-06-22 山东英信计算机技术有限公司 一种固件生成方法、系统、设备以及介质
CN113434184A (zh) * 2021-06-30 2021-09-24 浙江大华技术股份有限公司 设备升级方法、装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN103207800A (zh) * 2013-04-24 2013-07-17 厦门亿联网络技术股份有限公司 一种安全灵活的固件升级方法
CN104407897A (zh) * 2014-12-02 2015-03-11 厦门雅迅网络股份有限公司 一种程序智能升级的方法及系统
CN107015817A (zh) * 2017-05-25 2017-08-04 孙文现 一种设备固件空中升级的方法
CN108108193A (zh) * 2016-11-24 2018-06-01 厦门脉视数字技术有限公司 一种安全易用的固件升级方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN103207800A (zh) * 2013-04-24 2013-07-17 厦门亿联网络技术股份有限公司 一种安全灵活的固件升级方法
CN104407897A (zh) * 2014-12-02 2015-03-11 厦门雅迅网络股份有限公司 一种程序智能升级的方法及系统
CN108108193A (zh) * 2016-11-24 2018-06-01 厦门脉视数字技术有限公司 一种安全易用的固件升级方法及系统
CN107015817A (zh) * 2017-05-25 2017-08-04 孙文现 一种设备固件空中升级的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580844A (zh) * 2020-05-09 2020-08-25 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN111580844B (zh) * 2020-05-09 2024-02-02 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN111787378A (zh) * 2020-06-28 2020-10-16 海信视像科技股份有限公司 应用于遥控装置的软件升级方法及遥控装置
CN111966375A (zh) * 2020-08-13 2020-11-20 科华恒盛股份有限公司 一种固件升级方法、系统、设备及计算机可读存储介质
CN112732318A (zh) * 2021-01-12 2021-04-30 武汉光庭信息技术股份有限公司 一种单片机固件升级方法
CN113010180A (zh) * 2021-03-12 2021-06-22 山东英信计算机技术有限公司 一种固件生成方法、系统、设备以及介质
CN113434184A (zh) * 2021-06-30 2021-09-24 浙江大华技术股份有限公司 设备升级方法、装置、存储介质及电子装置

Similar Documents

Publication Publication Date Title
CN111045713A (zh) 一种计算机系统的升级方法、系统及装置
CN110231952B (zh) 一种ecu程序备份及循环升级控制方法及装置
CN107179909B (zh) 软件升级方法、装置及计算机可读存储介质
KR100584338B1 (ko) 소프트웨어 업데이트 방법 및 시스템
KR101143112B1 (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
US9164756B2 (en) Software updating process for an embedded device
US20100169709A1 (en) System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware
CN109086078B (zh) 安卓系统升级方法、装置、服务器及移动终端
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
US20050251799A1 (en) Method of updating firmware
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
US20160170735A1 (en) Operating system updating method by using a checklist
CN111221682B (zh) 一种存储系统镜像的方法
CN111562934A (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN107479924B (zh) 基于Android系统的软件升级校验方法
CN113238790A (zh) 基于sd卡和eeprom的固件程序更新方法及系统
CN106445737B (zh) 一种多备份启动方法
CN111046389A (zh) 固件组件安全更新的方法以及用以实施的携行计算机站
CN113010195B (zh) 一种系统升级方法、存储介质及终端设备
CN114296764A (zh) 系统升级方法、装置、存储介质和电子设备
US11768669B2 (en) Installing application program code on a vehicle control system
CN114625389A (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

Application publication date: 20200421

RJ01 Rejection of invention patent application after publication