软件升级方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:32109608 阅读:19 留言:0更新日期:2022-01-29 18:52
本申请提供了一种软件升级方法、装置、电子设备以及存储介质,属于计算机技术领域。该方法包括:获取待升级软件的升级软件包,升级软件包包括第一升级标识和升级包;根据第一升级标识确定升级包对应的目标升级方式;确定待升级软件当前的本地升级方式;根据本地升级方式,确定升级包在固件分区中的目标存储区域,固件分区为待升级软件在终端设备中的存储区域;将升级包存储到目标存储区域,并基于升级包采用目标升级方式对待升级软件进行升级。基于本申请实施例提供的方案,能够更好的满足软件升级需求。件升级需求。件升级需求。

【技术实现步骤摘要】
软件升级方法、装置、电子设备以及存储介质


[0001]本申请涉及计算机
,具体而言,本申请涉及一种软件升级方法、装置、电子设备以及存储介质。

技术介绍

[0002]为了更好的满足实际应用需求,提升用户的软件使用感知,对终端设备软件不断进行升级已经成为实际生活中不可或缺的一环。比如,对于嵌入式设备而言,嵌入式设备中运行的软件,由于软件的程序故障修复、性能改进等原因,需要对设备进行远程升级,即OTA(over the air,空中下载技术)升级,通常是在WIFI网络中,实现嵌入式设备的在线固件更新,以给用户更好体验的服务版本。
[0003]目前的软件升级方式有多种,一个设备中采用的升级方式通常都是只使用一种升级方式,不支持多种升级方式之间的相互升级。AB升级方式是目前常用的升级方式之一,AB升级方式为双系统升级方式,即设备中有A、B相等的两个分区,固件的大小不大于A分区或B分区的大小。但是在实际应用中,当用户使用了AB升级方式时,经过一段时间的技术开发,如果软件的固件超过了固件分区的一半(也就会A分区或B分区的大小),则无法实现软件升级。因此,现有的升级方式不能够很好的满足实际需求。

技术实现思路

[0004]本申请实施例的目的旨在提供一种能够更好的满足实际应用需求的软件升级方法、装置、电子设备以及存储介质。为了实现该目的,本申请实施例提供的方案如下:
[0005]一方面,本申请实施例提供了一种软件升级方法,该方法包括:
[0006]获取待升级软件的升级数据,升级数据包括第一升级标识和升级包;根据第一升级标识确定升级包对应的目标升级方式;确定待升级软件当前的本地升级方式;根据本地升级方式,确定升级包在固件分区中的目标存储区域,固件分区为待升级软件在终端设备中的存储区域;将升级包存储到所述目标存储区域,并基于升级包采用目标升级方式对待升级软件进行升级。
[0007]另一方面,本申请实施例还提供了一种软件升级装置,该装置包括:
[0008]升级数据获取模块,用于获取待升级软件的升级数据,升级数据包括第一升级标识和升级包;
[0009]升级方式确定模块,用于根据第一升级标识确定升级包对应的目标升级方式,以及确定待升级软件当前的本地升级方式;
[0010]升级处理模块,用于根据所本地升级方式确定所升级包在固件分区中的目标存储区域,将升级包存储到目标存储区域,并基于升级包采用目标升级方式对待升级软件进行升级,其中,固件分区为待升级软件在终端设备中的存储区域。
[0011]另一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行该计算机程序以实现本申请实施例提供的方
法的步骤。
[0012]再一方面,本申请实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的方法的步骤。
[0013]另一方面,本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的方法的步骤。
[0014]本申请实施例提供的技术方案带来的有益效果是:基于本申请实施例提供的软件升级方法,设备在需要进行待升级软件的升级处理时,可以根据软件升级包中携带的第一升级标识来判别当前所获取到的升级包对应的目标升级方式,通过设备当前的本地升级方式确定出升级包在固件分区中的目标存储区域,进而可以将升级包存储到该目标存储区域,并根据升级包采用目标升级方式实现软件升级。基于本申请实施例提供的该方案,实现了多种不同软件升级方式互相升级的支持,不论软件的升级方式是否发生切换,都可以软件升级,更好的满足了实际应用需求,提升了用户的使用感知。
附图说明
[0015]为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
[0016]图1为本申请实施例提供的一种软件升级方法的流程示意图;
[0017]图2为本申请实施例提供的一种升级软件包的格式的示意图;
[0018]图3为本申请实施例提供的一种固件分区的示意图;
[0019]图4为本申请实施例提供的另一种固件分区的示意图;
[0020]图5为本申请实施例提供的一种新固件和老固件的数据对比示意图;
[0021]图6为本申请一示例中提供的一种差分还原方法的示意图;
[0022]图7为本申请一示例中提供的一种差分包生成方法的示意图;
[0023]图8为本申请实施例提供的软件升级方法的原理示意图;
[0024]图9为本申请实施例提供的一种软件升级装置的结构示意图;
[0025]图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0026]下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
[0027]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本
所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或
者实现为“B”,或者实现为“A和B”。
[0028]为使更好的理解和说明本申请实施例提供的方案,下面对本申请实施例所涉及的一些技术用语进行说明。
[0029]固件分区:一个软件的固件分区是指终端设备(如嵌入式设备)中用于存储软件的固件的存储区域。
[0030]AB升级方式:该升级方式为双系统升级方式,顾名思义是有两个系统,设备上有A、B相等的两个分区,即开辟了两个存储空间,A存储空间(A分区)和B存储空间(B分区),固件的大小不大于A分区或B分区的大小,AB升级方式为全量升级方式。
[0031]差分升级方式:该升级方式为单系统升级方式,只存在一个固件版本,差分升级又叫增量更新,是将旧版本与新版本的数据文件做差分,生成差分包,基于差分包在旧版本上做差分升级,差分包一般很小。
[0032]压缩升级方式:该升级方式也为单系统升级方式,只存在一个固件版本,压缩包一般为固件的50%大小,通过解压缩升级包完成升级。
[0033]每种升级方式都有各自的优缺点。AB升级方式是双系统升级,当前系统不可用时,可转换到备用分区,但该本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,其特征在于,包括:获取待升级软件的升级数据,所述升级数据包括第一升级标识和升级包;根据所述第一升级标识确定所述升级包对应的目标升级方式;确定所述待升级软件当前的本地升级方式;根据所述本地升级方式,确定所述升级包在固件分区中的目标存储区域,所述固件分区为所述待升级软件在终端设备中的存储区域;将所述升级包存储到所述目标存储区域,并基于所述升级包采用所述目标升级方式对所述待升级软件进行升级。2.根据权利要求1所述的方法,其特征在于,所述目标升级方式为双系统升级方式或单系统升级方式,所述本地升级方式为双系统升级方式或单系统升级方式;所述根据所述本地升级方式,确定所述升级包在固件分区中的目标存储区域,包括:在所述本地升级方式为双系统升级方式时,确定所述固件分区中所述待升级软件当前运行所在的目标分区,将所述固件分区的非目标分区确定为所述目标存储区域;在所述本地升级方式为单系统升级方式时,若所述目标升级方式是单系统升级方式,将所述固件分区的尾部区域确定为所述目标存储区域,若所述目标升级方式为双系统升级方式,则将所述固件分区划分为双系统升级方式对应的第一分区和第二分区,将所述第二分区的头部区域确定为所述目标存储区域,其中,所述第二分区的存储区域位于所述第一分区的存储区域之后。3.根据权利要求2所述的方法,其特征在于,所述双系统升级方式为AB升级方式,所述单系统升级方式为差分升级方式或压缩升级方式;在所述本地升级方式为双系统升级方式,所述目标升级方式为单系统升级方式时,所述将所述升级包存储到所述目标存储区域,并基于所述升级包采用所述目标升级方式对所述待升级软件进行升级,包括:若所述目标分区的存储区域位于所述非目标分区之前,将所述升级包存储到所述非目标分区的尾部区域;在所述目标升级方式为压缩升级方式时,对所述非目标分区的尾部区域存储的所述升级包进行解压缩,将解压缩后的数据从所述固件分区的起始位置开始存储到所述固件分区中;在所述目标升级方式为差分升级方式时,基于所述非目标分区的尾部区域存储的所述升级包和所述目标分区中存储的数据进行差分升级。4.根据权利要求2所述的方法,其特征在于,所述双系统升级方式为AB升级方式,所述单系统升级方式为差分升级方式或压缩升级方式;在所述本地升级方式为双系统升级方式,所述目标升级方式为单系统升级方式时,所述将所述升级包存储到所述目标存储区域,并基于所述升级包采用所述目标升级方式对所述待升级软件进行升级,包括:若所述目标分区的存储区域位于所述非目标分区之后,将所述升级包存储到所述非目标分区尾部的第一空间中;从所述目标分区的尾部区域划分出与所述第一空间相同大小的第二空间,并将所述第一空间中存储的数据与所述第二空间中存储的数据交换;
在所述目标升级方式为压缩升级方式时,对所述第二空间存储的所述升级...

【专利技术属性】
技术研发人员:李兴华贾煜涛
申请(专利权)人:广州全盛威信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1