CN106406922A - 软件升级方法及装置 - Google Patents

软件升级方法及装置 Download PDF

Info

Publication number
CN106406922A
CN106406922A CN201510458577.1A CN201510458577A CN106406922A CN 106406922 A CN106406922 A CN 106406922A CN 201510458577 A CN201510458577 A CN 201510458577A CN 106406922 A CN106406922 A CN 106406922A
Authority
CN
China
Prior art keywords
file
aku
upgrade file
upgrade
important
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.)
Withdrawn
Application number
CN201510458577.1A
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510458577.1A priority Critical patent/CN106406922A/zh
Priority to PCT/CN2016/082118 priority patent/WO2017016282A1/zh
Publication of CN106406922A publication Critical patent/CN106406922A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种软件升级方法及装置,所述方法包括:接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;其中,所述N为小于所述M的正整数。

Description

软件升级方法及装置
技术领域
本发明涉及信息处理领域,尤其涉及一种软件升级方法及装置。
背景技术
随着信息技术的发展和电子设备的广泛应用,电子设备中应用,会通过升级频繁更新升级应用,来完善和提升应用的功能,提高应用的智能性和用户使用满意度。但是在应用升级的过程中,常常发现升级包与当前设备版本不匹配,导致升级失败,进而升级失败率高。若采用覆盖性升级则会导致很多用户数据丢失,从而影响用户升级后的使用,故如何提高升级成功率是现有技术中亟待解决的问题。
发明内容
有鉴于此,本发明实施例期望提供一种软件升级方法及装置,至少缓解软件升级失败率高的问题
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种软件升级方法,所述方法包括:
接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;
当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
基于上述方案,所述当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级,包括:
确定所述升级包的重要升级文件;
确定所述重要升级文件的文件正确性的验证结果;
若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
基于上述方案,所述确定所述升级包的重要升级文件,包括:
接收所述升级包的下载描述符文件;
基于所述下载描述符文件确定所述重要升级文件。
基于上述方案,所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;
所述基于所述下载描述符文件确定所述重要升级文件,包括:
将所述重要性等级与等级阈值进行比较;
基于所述比较的结果,确定所述重要升级文件。
基于上述方案,所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;
所述确定所述升级包的重要升级文件,包括:
提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。
基于上述方案,所述方法还包括:
对所述升级包进行升级包正确性验证;
所述确定所述重要升级文件的文件正确性的验证结果,包括:
若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。
基于上述方案,所述升级包正确性验证为对所述升级包中所有文件进行正确性验证;
所述若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果,包括:
基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性验证的验证结果。
基于上述方案,所述当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级,包括:
确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;
基于通过所述文件正确性验证的N个升级文件,进行软件升级。
本发明实施例第二方面提供一种软件升级装置,所述装置包括:
接收单元,用于接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;
升级单元,用于当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
基于上述方案,所述升级单元,包括:
第一确定模块,用于确定所述升级包的重要升级文件;
第二确定模块,用于确定所述重要升级文件的文件正确性的验证结果;
升级模块,用于若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
基于上述方案,所述第一确定模块,用于接收所述升级包的下载描述符文件;及基于所述下载描述符文件确定所述重要升级文件。
基于上述方案,所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;
所述第一确定模块,还具体用于将所述重要性等级与等级阈值进行比较;及基于所述比较的结果,确定所述重要升级文件。
基于上述方案,所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;
所述第一确定模块,具体用于提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。
基于上述方案,所述装置还包括:
验证单元,用于对所述升级包进行升级包正确性验证;
所述第二确定模块,具体用于若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。
基于上述方案,所述升级包正确性验证为对所述升级包中所有文件进行正确性验证;
所述第二确定模块,具体用于基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性验证的验证结果。
基于上述方案,所述升级单元,具体用于确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;及基于通过所述文件正确性验证的N个升级文件,进行软件升级。
本发明实施例软件升级方法及装置,在进行软件升级时,可以基于升级包中的部分通过文件正确性验证的升级文件进行软件升级,这样就可以很好的避免现有技术中个别升级文件的文件正确性验证不通过,导致整个软件都无法升级造成的升级失败的现象,从而提升了软件升级成功率。尤其适用于对于某些升级包内升级文件与客户端升级文件仅有微小差异码,不影响本次升级主要目的的软件升级。
附图说明
图1为本发明实施例所述的软件升级方法的流程示意图之一;
图2为本发明实施例提供基于N个通过文件正确性验证的升级文件进行软件升级的流程示意图;
图3为本发明实施例提供的确定重要升级文件的流程示意图;
图4为本发明实施例提供的软件升级装置的结构示意图;
图5为本发明实施例所述的软件升级方法的流程示意图之二;
图6为本发明实施例所述的软件升级方法的流程示意图之三。
具体实施方式
在电子设备(如手机、平板电脑或可穿戴设备等移动终端)使用过程中,如果用户有意或者无意间更改了电子设备中应用或软件当前版本的某些配置信息,或者用户对设备进行了刷机处理,甚至因为出厂前批量生产时出现的某种异常导致了下载到设备里的版本与预期发货版本的某部分文件不符,均可能在基于空口固件升级(Firmware Over The Air,FOTA)的软件升级时,会因为该差分升级包被安装之前严格的校验机制检测到制作差分升级包的版本与电子设备的当前版本不匹配,导致升级失败。所述差分升级包是升级包的一种。这样的后果是:电子设备只能选择全版本升级,可能会覆盖掉很多历史用户数据;特别的,如果当前设备不支持全版本升级,那么该设备后续将永远无法升级,严重影响到用户体验。
本申请提供了一种软件升级方案,当出现上述升级失败现象时,基于软件包中的部分升级文件进行软件升级,这也是一种软件升级,这样至少提升了基于升级包的部分升级成功率。且这种软件升级方法,当出现了如上所述差分升级包与当前设备版本不匹配时,既可以让电子设备保留的用户数据,也可以让电子设备当前版本升级成功,提升升级智能性及用户体验。
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种软件升级方法,所述方法包括:
步骤S110:接收升级包;
步骤S120:当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
在本实施例中,所述升级包可包括整体升级包和差分升级包。所述整体升级包可为升级版本应用的信息,根据完整升级包可以实现软件的整体升级和替换。所述差分升级包仅包括升级版本和当前版本的差异信息,基于所述差分升级包在软件升级时,仅进行部分升级替换。在本实施例中所述升级包优选为差分升级包。在步骤S110中可为客户端从服务器侧接收所述差分升级包等升级包。
一个软件升级包共包括了M个升级文件,要求这M个升级文件均通过文件正确性验证的概率,显然低于仅要求M个中的N个升级文件通过文件正确性验证的概率。当无法基于软件升级包中的所有升级文件进行整体性软件升级时,基于所述升级包进行部分升级,也是实现了软件升级,显然至少提升了基于升级包的部分升级成功率。
所述升级包中不仅包括升级文件,还包括升级文件写入客户端的flash区域;本实施例中所述文件正确性验证包括:对需要升级的分区进行文件校验,采用现有的校验方法,制作升级包时需要压缩和进行数字签名,而升级包下载到电子设备以后采用解压缩和对数字签名进行前述的文件验证。这里的升级包可包括OTA升级包,所述OTA为Over the Air Technology的缩写,对应的中文为空中下载技术。所述OTA升级包为利用空中下载技术下载的升级包。
值得注意的所述文件正确性验证不局限于上述举例。在步骤S120可包括文件正确性验证的子步骤,所述文件正确性验证,可参见现有软件升级技术中对文件的文件正确性验证方法。
所述N个升级文件可包括以下至少两种:
第一种:
所述升级包的升级文件包括普通升级文件和重要升级文件;所述N个升级文件为N个通过文件正确性验证的重要升级文件。
第二种:N个升级文件可为M个升级文件中通过文件正确性验证的所有升级文件。
针对于第一种:
如图2所示,所述步骤S120可包括:
步骤S121:确定所述升级包的重要升级文件;
步骤S122:确定所述重要升级文件的文件正确性的验证结果;
步骤S123:若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
通常一个升级包中可包括多个待升级的文件,这些文件的升级重要性是不一样的。在本实施例中所述升级包中的升级文件可包括普通升级文件和重要升级文件。所述重要升级文件可是本次软件升级必须要升级的文件。
在步骤S121将确定所述升级包的重要升级文件。所述步骤S121可为基于用户指示确定的重要升级文件。
在步骤S122中将对所述升级包中的重要升级文件进行正确性验证,若正确性验证通过,则步骤S123Z中至少基于所述重要升级文件进行升级。这里,所述N个通过文件正确性验证的所述升级文件至少包括所有的重要升级文件,可理解为,若所述重要升级共包括P个文件,则所述N不小于所述P。
在步骤S123中至少基于所有重要升级文件进行软件升级,还可能基于所有重要性升级文件和部分普通升级文件进行所述软件升级。这样的话,不仅能够基于升级包中各个文件进行基于升级包的整体性升级,还能够基于升级包中的重要性升级文件,基于升级包的部分升级。这样的话,当某个普通升级文件的正确性验证出现错误时,依然进行重要性升级文件的升级,实现了升级的成功,从而提升了升级成功率。
如图3所示,所述S121可包括:
步骤S1201:接收所述升级包的下载描述符文件;
步骤S1202:基于所述下载描述符文件确定所述重要升级文件。
所述下载描述符文件,可简称为DD文件。所述DD为Download Descriptiion的缩写。所述DD文件还可包括升级包的文件大小、下载地址等信息。通常是进行客户端下载所述升级包之前下载的一个文件。在本实施例中将从DD文件中获取所述重要性升级文件,而不是从服务器发送的其他文件中发送的信息确定所述重要性文件,可以减少客户端与服务器之间的信息交互次数,降低信息交互负荷,同时降低客户端的功耗。
所述步骤S1202的实现方式有多种,以下提供两种可选方式:
方式一:
所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;
所述步骤S1202可包括:
将所述重要性等级与等级阈值进行比较;
基于所述比较的结果,确定所述重要升级文件。
这里的所述等级阈值可以为客户端基于用户输入指令形成的等级阈值,也可以为电子设备出厂前默认配置的等级阈值。
若所述等级阈值越高,表示对应的升级文件的重要性越高,这样的话,若所述比较的结果表明,所述重要性等级不小于所述等级阈值时,该重要性等级对应的升级文件为所述重要升级文件。若所述等级阈值越低,表示对应的升级文件的重要性越高,这样的话,若所述比较的结果表明,所述重要性等级小于所述等级阈值时,该重要性等级对应的升级文件为所述重要升级文件。
所述升级文件的重要性等级可以由服务器侧根据本次升级的升级目的及升级文件的升级功能来确定所述重要性等级。
方式二:
所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;
所述步骤S1202包括:
提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。
在方式一中DD文件包括了升级包中所有文件的文件名和重要性等级,在本实施例中所述DD文件可以仅包括重要升级文件的文件名,这样的话,客户端直接根据DD文件中包括的文件名确定出哪些是重要升级文件。
值得注意的是,方式一可以根据用户指令来设置等级阈值,方便用户参与控制确定重要升级文件,这样的话能够提高用户对升级的控制力度,而方式二的重要性文件的确定是由服务器侧控制的,但是实现方式更为简便。
在具体的实现过程中,所述DD文件中还可包括各个升级文件的分区信息,该分区信息可用于进行所述文件正确验证。
本实施例所述方法还包括:
对所述升级包进行升级包正确性验证;
所述步骤S122可包括:
若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。
此处的所述升级包正确性验证包括对所述升级包中所有升级文件的正确性验证,如普通升级文件的正确性验证和重要升级文件的正确性验证。
在本实施例中,所述软件升级方法,首先将进行升级包正确性验证,所述升级包正确性验证实质上是第一次正确性验证。若所述第一次正确性验证通过,表示整个升级包内所有文件都通过了正确性验证,显然可以基于整个升级包进行升级包中所有升级文件的升级,此时直接进行升级包中所有升级文件进行客户端的软件升级。此时,若升级包共包括M个升级文件;M为不小于1的整数,则客户端的软件升级M个文件,且升级的文件为软件升级包中升级文件。
当升级包正确性升级不通过,表示升级包中有部分升级文件的正确性无法通过,则此时,确定重要升级文件的文件正确性验证的验证结果。若重要升级文件的文件正确性验证通过,表明可以基于所述软件升级包进行部分升级。这样的话,若文件正确性验证不通过的原因是普通升级文件的正确性验证结果失败,显然依然能够进行客户端的软件升级,显然提升了软件升级的升级成功率,也避免了极端状况下软件不能升级的结果。
此外,所述若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果,包括:基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性的验证结果。
对重要升级文件的文件正确性验证的验证结果,可以重新对所述重要性文件进行一次正确性验证,也可以基于升级包正确性验证的验证结果,确信出所述重要升级文件的验证结果。显然直接基于升级包正确性验证的验证结果来确定,可以必满重复验证,加速确定效率。
第二种:
所述步骤S120可包括:
确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;
基于通过所述文件正确性验证的N个升级文件,进行软件升级。
本发明实施例提供了一种软件升级方法,可以基于升级包中的部分升级文件进行软件升级,部分升级也是一种升级成功率,显然就提升了升级成功率。
装置实施例:
如图4所示,本实施例提供一种软件升级装置,所述装置包括:
接收单元110,用于接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;
升级单元120,用于当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
本实施例所述接收单元110可包括通信接口,用于从服务器等外设接收所述升级包。所述升级包可为前述方法实施例中所述的差分升级包,也可以是整体升级包。
所述升级单元120的具体结构可包括处理器或处理电路,所述处理器或处理电路能够用于软件升级处理等信息处理。所述处理器可包括客户端内的中央处理器CPU、微处理器MCU、数字信号处理器DSP或可编程阵列PLC等处理器。所述处理电路可包括专用集成电路ASIC等。
本实施例所述软件升级装置,打破现有技术中仅能基于升级包内的所有升级文件进行所有文件的升级,而本申请中将基于升级包内通过文件正确性验证的N个升级文件进行升级,这样通过部分升级,提高了升级成功率及升级智能性。
如图5所示,所述升级单元120,包括:
第一确定模块121,用于确定所述升级包的重要升级文件;
第二确定模块122,用于确定所述重要升级文件的文件正确性的验证结果;
升级模块123,用于若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
所述第一确定模块121结构有多种,可包括从外设接收信息确定出所述升级包中的所述重要升级文件,也可以包括信息解析器通过解析所述升级包本身确定出所述重要升级文件。
所述第二确定模块122可包括进行信息验证的结构,可比较器或比较电路,通过比较匹配确定出所述软件包中重要升级文件的文件正确性验证。
所述升级模块123用于进行软件升级,具体结构可包括前述的处理器或处理电路。
在本实施例中升级模块123进行升级时,至少基于升级包中所有的重要升级文件进行软件升级,当然也可以基于所有重要升级文件和部分普通升级文件进行软件升级。
进一步地,所述第一确定模块121,用于接收所述升级包的下载描述符文件;及基于所述下载描述符文件确定所述重要升级文件。
所述第一确定模块121可包括通信接口和解析器,所述通信接口可用于接收所述下载描述符文件,所述解析器用于解析所述下载描述符文件确定出重要升级文件。在本实施例中所述升级包的DD文件携带指示重要升级文件的信息,简化了客户端确定重要升级文件的操作。
所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;所述第一确定模块121,还具体用于将所述重要性等级与等级阈值进行比较;及基于所述比较的结果,确定所述重要升级文件。
在本实施例中所述DD文件中包括重要性等级,所述第一确定模块121可包括比较器,通过比较重要性等级与等级阈值,能够得到比较结果,再基于比较结果确定出重要升级文件,这样基于比较结构的装置,能够基于用户指示的等级阈值或系统默认设置或基于历史升级记录确定策略动态确定的等级阈值,能够实现方便更好的控制基于升级包中部分升级文件的软件升级。
值得注意的是:本发明实施例中利用本发明技术方案实现的部分升级,指的均是基于升级包中部分升级文件的软件升级;而整体升级指的是基于升级包中所有升级文件的软件升级。
所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;所述第一确定模块121,具体用于提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。本方案中的第一确定模块121可不同于前一方案中的第一确定模块121,本方案中第一确定模块121直接根据DD文件中记录的文件名,确认出所述重要升级文件。因为文件名被记录在所述DD文件中的升级文件均可视为重要升级文件。
在具体实现过程中,所述DD文件还可包括升级文件对应的分区信息,所述分区信息可用于文件正确性验证。
此外,所述装置还包括:验证单元,用于对所述升级包进行升级包正确性验证;所述第二确定模块122,具体用于若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。在本实施例中所述验证单元会对升级包进行升级包正确性验证。升级包正确性验证通过表示升级包中所有文件都通过了文件正确性验证,通常此时可以直接基于升级包的所有升级文件进行整体升级,故无需升级模块123进行部分升级。故升级模块123是在升级包正确性验证不通过时,进行基于N个通过文件正确性验证的升级文件进行部分升级。
所述升级包正确性验证为对所述升级包中所有文件进行正确性验证;所述第二确定模块122,具体用于基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性验证的验证结果。如何确定重要升级文件的文件正确性验证,所述第二确定模块122可以根据各种文件正确性验证算法,进行逐一验证,也可以基于所述升级包正确性验证结果来确定。在本实施例中所述第二确定模块122为基于升级包正确性验证的验证结果来确定各所述重要性升级文件的验证结果,这样实现更加简便。
进一步地,所述升级单元120,具体用于确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;及基于通过所述文件正确性验证的N个升级文件,进行软件升级。本实施例中N个升级文件可为通过文件正确性验证的N个升级文件,而不再区分是不是包括所有的重要性文件。这样的话,也至少能够对客户端中的软件进行部分升级。
总之本实施例中提供例一种软件升级装置,能够基于升级包内的部分升级文件进行软件升级,避免升级包只要有一个升级文件的文件正确性验证不通过时,就导致升级完全不能进行的现象,提高了升级成功率和升级智能性。
以下结合上述任意实施例,提供几个具体示例。
示例一:
如图5所示,本示例所述软件升级方法包括:
S001:DM会话发起和服务器交互,本步骤的执行主体为客户端。
客户端发起FOTA升级,通过DM会话和服务器交互,查询服务器是否存在可用差分升级包
S002:判断服务器是否有可用差分升级包,若是,进入S003,若否,进入S015。
S003:下载DD文件,获取DD文件中差分升级包的瞎子地址。若服务器存在可用差分升级包,则服务器下发DD文件到客户端,该DD文件除了包含原有差分升级包大小、下载地址等信息外,还包含了该差分升级包升级文件的文件名称、所在分区信息及其重要性等级
S004:基于所述下载地址,下载差分升级包。
S005:进行升级包完整性验证。通过升级包完整性验证可验证出所述升级包在传输的过程中是否出现数据丢失、误码以及被篡改等现象;具体可通过奇偶校验或MD5算法等校验算法,校验所述升级包的完整性。
S005:客户端重启进入升级包正确性校验。在校验前客户端的升级代理通过DD中获取到该升级包即将更新的镜像或文件系统的文件名称、所在的分区信息,以及他们的重要性等级
S006:判断完整性验证是否通过,若是,进入S007,若否,进入S014。
S007:获取DD文件包括的升级包内升级文件的文件名称、分区信息及重要性等级信息。所述分区信息表明的是软件中各文件的写入区域。
S008:对升级包内所有升级文件进行第一次正确性验证。此处的第一次正确性验证相当于前述实施例中的升级包正确性验证。
S009:判断第一次正确性验证是否通过,若是,进入S013;若否,进入S010。
S010:根据S007获取的重要性等级确定出重要升级文件,对重要升级文件进行第二次正确性验证。只对重要性等级在等级阈值及以上的内容所在分区再次进行校验,校验这部分分区的镜像和文件系统信息完全与制作该差分升级包版本的镜像和文件系统信息完全匹配。
S011:判断第二次正确性验证是否通过,若是,进入S012;若否,进入S014。
S012:忽略其他部分的验证和升级,确定仅基于步骤S010验证通过的重要升级文件所在分区进行软件升级。这里相当于执行前述实施例中的部分升级。
S013:升级软件,提示升级成功。
S014:提示升级失败。
S015:提示无可用差分升级包。
示例二:
如图6所示,本示例软件升级方法包括:
S101:客户端检测服务器上存在可用升级包。
S102:下载DD文件,获取DD文件的信息内容,所述信息内容可包括升级包的大小及下载地址等信息;此外,还包括该可用升级包包括的升级文件的文件名称、分区信息及重要性等级。
S103:下载升级后包,并验证升级包完整性。
S104:获取升级包包括的升级文件的文件名称、分区信息及重要性等级等信息。
S105:客户端重启进入第一次正确性验证。
S106:验证发现客户端中的sb11.mbn文件与升级包中sb11.mbn文件不匹配,其他文件匹配。此时,表示第一次正确性验证失败。
S107:进行第二次正确性验证。
S108:确定升级包包括的升级文件有NON-NLOS.bin和sb11.mbn,若当前客户端指定的等级阈值为3,且判断出NON-HLOS.bin的重要性等级是否不小于3,sb11.mbn的重要性等级小于3;则仅对NON-HLOS.bin所在分区进行校验和升级,忽略sb11.mbn所在分区的校验和升级。当然在本示例中所述重要性等级越高表示升级重要性越高。
值得注意的是:本发明实施例中所述的软件升级装置和客户端均对应于手机、网络电视、平板电脑或可穿戴式设备等终端设备,尤其是移动终端。所述软件升级装置甚至可为所述客户端的组成部分。总之,包括本实施例所述软件升级装置的客户端或终端,具有软件升级成功率高及升级智能性高的特点。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种软件升级方法,其特征在于,所述方法包括:
接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;
当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
2.根据权利要求1所述的方法,其特征在于,
所述当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级,包括:
确定所述升级包的重要升级文件;
确定所述重要升级文件的文件正确性的验证结果;
若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
3.根据权利要求2所述的方法,其特征在于,
所述确定所述升级包的重要升级文件,包括:
接收所述升级包的下载描述符文件;
基于所述下载描述符文件确定所述重要升级文件。
4.根据权利要求3所述的方法,其特征在于,
所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;
所述基于所述下载描述符文件确定所述重要升级文件,包括:
将所述重要性等级与等级阈值进行比较;
基于所述比较的结果,确定所述重要升级文件。
5.根据权利要求3所述的方法,其特征在于,
所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;
所述确定所述升级包的重要升级文件,包括:
提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。
6.根据权利要求2所述的方法,其特征在于,
所述方法还包括:
对所述升级包进行升级包正确性验证;
所述确定所述重要升级文件的文件正确性的验证结果,包括:
若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。
7.根据权利要求6所述的方法,其特征在于,
所述升级包正确性验证为对所述升级包中所有文件进行正确性验证;
所述若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果,包括:
基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性验证的验证结果。
8.根据权利要求1所述的方法,其特征在于,
所述当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级,包括:
确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;
基于通过所述文件正确性验证的N个升级文件,进行软件升级。
9.一种软件升级装置,其特征在于,所述装置包括:
接收单元,用于接收升级包;其中,所述升级包共包括M个升级文件;所述M为不小于2的整数;
升级单元,用于当无法基于所述M个升级文件进行软件升级时,基于N个通过文件正确性验证的所述升级文件进行软件升级;
其中,所述N为小于所述M的正整数。
10.根据权利要求9所述的装置,其特征在于,
所述升级单元,包括:
第一确定模块,用于确定所述升级包的重要升级文件;
第二确定模块,用于确定所述重要升级文件的文件正确性的验证结果;
升级模块,用于若所述验证结果表明所述重要升级文件通过所述文件正确性验证,基于N个通过文件正确性验证的所述升级文件升级软件;其中,所述N个通过文件正确性验证的所述升级文件至少包括所有的所述重要升级文件。
11.根据权利要求10所述的装置,其特征在于,
所述第一确定模块,用于接收所述升级包的下载描述符文件;及基于所述下载描述符文件确定所述重要升级文件。
12.根据权利要求11所述的装置,其特征在于,
所述下载描述符文件包括所述升级包所有文件的文件名及所述文件对应的重要性等级;
所述第一确定模块,还具体用于将所述重要性等级与等级阈值进行比较;及基于所述比较的结果,确定所述重要升级文件。
13.根据权利要求11所述的装置,其特征在于,
所述下载描述符文件包括所述升级包中所述重要升级文件的文件名;
所述第一确定模块,具体用于提取所述下载描述符文件中所述重要升级文件的文件名,确定出所述重要升级文件。
14.根据权利要求10所述的装置,其特征在于,
所述装置还包括:
验证单元,用于对所述升级包进行升级包正确性验证;
所述第二确定模块,具体用于若所述升级包正确性验证不通过,确定所述重要升级文件的文件正确性验证的验证结果。
15.根据权利要求14所述的装置,其特征在于,
所述升级包正确性验证为对所述升级包中所有文件进行正确性验证;
所述第二确定模块,具体用于基于所述升级包正确性验证的验证结果,获取所述重要升级文件的文件正确性验证的验证结果。
16.根据权利要求9所述的装置,其特征在于,
所述升级单元,具体用于确定所述M个升级文件中文件正确性验证性通过的N个所述升级文件;及基于通过所述文件正确性验证的N个升级文件,进行软件升级。
CN201510458577.1A 2015-07-30 2015-07-30 软件升级方法及装置 Withdrawn CN106406922A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510458577.1A CN106406922A (zh) 2015-07-30 2015-07-30 软件升级方法及装置
PCT/CN2016/082118 WO2017016282A1 (zh) 2015-07-30 2016-05-13 软件升级方法及装置、计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510458577.1A CN106406922A (zh) 2015-07-30 2015-07-30 软件升级方法及装置

Publications (1)

Publication Number Publication Date
CN106406922A true CN106406922A (zh) 2017-02-15

Family

ID=57884078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510458577.1A Withdrawn CN106406922A (zh) 2015-07-30 2015-07-30 软件升级方法及装置

Country Status (2)

Country Link
CN (1) CN106406922A (zh)
WO (1) WO2017016282A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122212A (zh) * 2017-04-28 2017-09-01 环球智达科技(北京)有限公司 固件加密方法
CN107122668A (zh) * 2017-04-28 2017-09-01 环球智达科技(北京)有限公司 固件加密方法
WO2019020111A1 (zh) * 2017-07-27 2019-01-31 中兴通讯股份有限公司 升级包制作方法及装置、升级文件的方法及装置
CN109768876A (zh) * 2017-11-09 2019-05-17 和硕联合科技股份有限公司 通信装置更新系统
CN111176685A (zh) * 2019-12-27 2020-05-19 深圳市优必选科技股份有限公司 一种升级方法及装置
CN113157286A (zh) * 2021-04-20 2021-07-23 深圳市优必选科技股份有限公司 系统升级方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102669A1 (en) * 2003-10-15 2005-05-12 Siemens Medical Solutions Usa, Inc. Software installation file verification media and methods for medical equipment
CN102622250A (zh) * 2012-03-07 2012-08-01 四川长虹电器股份有限公司 一种支持多flash设备的机顶盒软件升级方法
CN102830995A (zh) * 2012-08-03 2012-12-19 广东欧珀移动通信有限公司 一种保留用户数据的Android平台软件升级方法
CN103092634A (zh) * 2011-10-31 2013-05-08 四川长虹电器股份有限公司 一种多flash设备的机顶盒软件升级方法
CN103577202A (zh) * 2012-07-23 2014-02-12 深圳市中兴移动通信有限公司 软件升级方法与系统
CN104052818A (zh) * 2014-06-27 2014-09-17 青岛海信移动通信技术股份有限公司 一种移动终端的版本升级方法及装置
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102669A1 (en) * 2003-10-15 2005-05-12 Siemens Medical Solutions Usa, Inc. Software installation file verification media and methods for medical equipment
CN103092634A (zh) * 2011-10-31 2013-05-08 四川长虹电器股份有限公司 一种多flash设备的机顶盒软件升级方法
CN102622250A (zh) * 2012-03-07 2012-08-01 四川长虹电器股份有限公司 一种支持多flash设备的机顶盒软件升级方法
CN103577202A (zh) * 2012-07-23 2014-02-12 深圳市中兴移动通信有限公司 软件升级方法与系统
CN102830995A (zh) * 2012-08-03 2012-12-19 广东欧珀移动通信有限公司 一种保留用户数据的Android平台软件升级方法
CN104052818A (zh) * 2014-06-27 2014-09-17 青岛海信移动通信技术股份有限公司 一种移动终端的版本升级方法及装置
CN104216736A (zh) * 2014-08-14 2014-12-17 小米科技有限责任公司 增量升级方法、装置及终端设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122212A (zh) * 2017-04-28 2017-09-01 环球智达科技(北京)有限公司 固件加密方法
CN107122668A (zh) * 2017-04-28 2017-09-01 环球智达科技(北京)有限公司 固件加密方法
WO2019020111A1 (zh) * 2017-07-27 2019-01-31 中兴通讯股份有限公司 升级包制作方法及装置、升级文件的方法及装置
CN109768876A (zh) * 2017-11-09 2019-05-17 和硕联合科技股份有限公司 通信装置更新系统
CN109768876B (zh) * 2017-11-09 2021-09-14 和硕联合科技股份有限公司 通信装置更新系统
CN111176685A (zh) * 2019-12-27 2020-05-19 深圳市优必选科技股份有限公司 一种升级方法及装置
CN113157286A (zh) * 2021-04-20 2021-07-23 深圳市优必选科技股份有限公司 系统升级方法及装置

Also Published As

Publication number Publication date
WO2017016282A1 (zh) 2017-02-02

Similar Documents

Publication Publication Date Title
CN106406922A (zh) 软件升级方法及装置
CN106484453B (zh) 一种实现系统升级的方法及装置
EP2456257B1 (en) Method and system for upgrading wireless data card
CN106572372A (zh) 一种机顶盒升级方法及机顶盒
CN107179909A (zh) 软件升级方法、装置及计算机可读存储介质
CN107465539A (zh) 固件的升级方法、终端及固件的升级系统
CN106027644B (zh) 一种业务的校验方法及系统
US11977637B2 (en) Technique for authentication and prerequisite checks for software updates
CN106325953A (zh) 一种Weblogic集群一键自动部署方法
US10191810B2 (en) Mobile terminal and related repair method
US20050149923A1 (en) System update protocol
CN102004657B (zh) 一种电子设备及其升级方法
CN107395666A (zh) 一种操作数控机床升级数据包的方法及装置
WO2022142153A1 (zh) 电表升级方法、系统、智能电表及存储介质
CN110147242A (zh) 空间下载中的升级依赖检查方法及装置、存储介质和终端
CN107329794A (zh) 一种发布固件、升级固件的方法及系统
CN106020882A (zh) 一种应用升级方法、智能终端及升级系统
CN110633092A (zh) 用于ota升级的服务端及嵌入式设备升级方法及装置
CN105786636B (zh) 一种系统修复方法及装置
CN107844306A (zh) 应用程序的修复方法、装置、存储介质及终端
CN102316376A (zh) 一种机顶盒自动更新数据方法及系统
CN111158722A (zh) 手游客户端热更新方法
WO2019129271A1 (en) Method for electronic device authentication and firmware update, and electronic device
CN110928566A (zh) 基于多版本硬件的软件ota升级方法
CN109343880A (zh) 一种rn包更新方法、装置及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170215

WW01 Invention patent application withdrawn after publication