CN111158729A - ***升级方法、装置、设备及存储介质 - Google Patents

***升级方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111158729A
CN111158729A CN201911422473.XA CN201911422473A CN111158729A CN 111158729 A CN111158729 A CN 111158729A CN 201911422473 A CN201911422473 A CN 201911422473A CN 111158729 A CN111158729 A CN 111158729A
Authority
CN
China
Prior art keywords
partition
upgrading
processed
upgrade
storage 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
CN201911422473.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.)
Shenzhen TCL Digital Technology Co Ltd
Original Assignee
Shenzhen TCL Digital 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 Shenzhen TCL Digital Technology Co Ltd filed Critical Shenzhen TCL Digital Technology Co Ltd
Priority to CN201911422473.XA priority Critical patent/CN111158729A/zh
Publication of CN111158729A publication Critical patent/CN111158729A/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

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

***升级方法、装置、设备及存储介质
技术领域
本发明涉及***升级领域,尤其涉及一种***升级方法、装置、设备及存储介质。
背景技术
FOTA(Firmware Over-The-Air,移动终端的空中下载软件升级)全量升级对于大部分***的升级,都是在recovery模式下对分区按照预设的升级顺序逐一升级,基于Android***的设备一般包括但不限于Boot、System、Userdata、Cache、Recovery、Misc等分区,一般不同的分区用于存放不同类型的数据,对于不同的第三方设备厂商,分区的情况可能略有不同。在升级过程中若发生断电的情况,当重新上电后,会再次进入recovery模式,但整个升级流程会重头再来一次,即使部分分区已经升级成功了,也会重新再次升级,这样会导致整个升级过程时间太长,升级效率较低,同时也会增加升级失败的风险。
发明内容
本发明的主要目的在于提供一种***升级方法、装置、设备及存储介质,旨在解决现有***升级过程的升级效率较低、失败风险高的技术问题。
为实现上述目的,本发明提供一种***升级方法,所述***升级方法包括以下步骤:
检测标识存储文件中是否存在***待处理分区的分区标识;
若是,则不对所述***待处理分区进行升级;
若否,则对所述***待处理分区进行升级。
可选地,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
检测当前升级设备中是否存在所述标识存储文件;
若否,则在所述当前升级设备的预设文件路径下创建所述标识存储文件;
若是,则执行步骤:检测标识存储文件中是否存在***待处理分区的分区标识。
可选地,所述若是,则不对所述***待处理分区进行升级的步骤之后,还包括:
检测所述标识存储文件中是否存在下一***待处理分区的分区标识;
若是,则不对所述下一***待处理分区进行升级;
若否,则对所述下一***待处理分区进行升级。
可选地,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所有分区完成升级后,删除所述标识存储文件。
可选地,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
下载升级数据包,并对所述升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验未通过,则重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验通过,则执行步骤:检测标识存储文件中是否存在***待处理分区的分区标识;
对应的,所述若否,则对所述***待处理分区进行升级的步骤包括:
若否,则基于所述升级数据包对所述***待处理分区进行升级。
可选地,所述下载升级数据包,并对所述升级数据包进行数据完整性校验的步骤之前,还包括:
获取***对应的最新版本号以及当前正在启用的***对应的版本号;
将所述***对应的最新版本号与所述当前正在启用的***对应的版本号进行比较;
若所述***对应的最新版本号与所述当前正在启用的***对应的版本号不一致,则执行步骤:下载升级数据包。
可选地,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所述***待处理分区的升级完成后,将所述***待处理分区的分区标识记录在所述标识存储文件中。
进一步地,为实现上述目的,本发明还提供一种***升级装置,所述***升级装置包括:
所述***升级装置包括:
标识检测模块,用于检测标识存储文件中是否存在***待处理分区的分区标识;
维持模块,用于若是,则不对所述***待处理分区进行升级;
升级模块,用于若否,则对所述***待处理分区进行升级。
进一步地,为实现上述目的,本发明还提供一种***升级设备,所述***升级设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的***升级程序,所述***升级程序被所述处理器执行时实现如上述所述的***升级方法的步骤。
进一步地,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有***升级程序,所述***升级程序被处理器执行时实现如上所述的***升级方法的步骤。
本发明通过检测标识存储文件中是否存在***待处理分区的分区标识;若是,则不对所述***待处理分区进行升级;若否,则对所述***待处理分区进行升级。通过将已完成升级的分区记录在标识存储文件中,若发生断电等异常情况,在重新升级时,仅对未完成升级的分区进行升级,对记录的已完成升级的分区不再进行升级,以避免重跑整个升级流程,从而提升***升级过程的升级效率,降低多次重复升级带来的失败风险。
附图说明
图1为本发明***升级设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明***升级方法第一实施例的流程示意图;
图3为本发明***升级装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,现有的技术方案中,FOTA(Firmware Over-The-Air,移动终端的空中下载软件升级)全量升级对于大部分***的升级,都是在recovery模式下对分区按照预设的升级顺序逐一升级,基于Android***的设备一般包括但不限于Boot、System、Userdata、Cache、Recovery、Misc等分区,一般不同的分区用于存放不同类型的数据,对于不同的第三方设备厂商,分区的情况可能略有不同。在升级过程中若发生断电的情况,当重新上电后,会再次进入recovery模式,但整个升级流程会重头再来一次,即使部分分区已经升级成功了,也会重新再次升级,这样会导致整个升级过程时间太长,升级效率较低,同时也会增加升级失败的风险。
基于上述缺陷,本发明提供一种***升级设备,参照图1,图1为本发明***升级设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该***升级设备可以包括:处理器1001,例如CPU,通信总线1002、待分析用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。待分析用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选待分析用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的***升级设备的硬件结构并不构成对***升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、待分析用户接口模块以及***升级程序。其中,操作***是管理和控制***升级设备与软件资源的程序,支持网络通信模块、待分析用户接口模块、***升级程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;待分析用户接口模块用于管理和控制待分析用户接口1003。
在图1所示的***升级设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;待分析用户接口1003主要用于连接客户端,与客户端进行数据通信;处理器1001可以调用存储器1005中存储的***升级程序,并执行以下操作:
检测标识存储文件中是否存在***待处理分区的分区标识;
若是,则不对所述***待处理分区进行升级;
若否,则对所述***待处理分区进行升级。
进一步地,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
检测当前升级设备中是否存在所述标识存储文件;
若否,则在所述当前升级设备的预设文件路径下创建所述标识存储文件;
若是,则执行步骤:检测标识存储文件中是否存在***待处理分区的分区标识。
进一步地,所述若是,则不对所述***待处理分区进行升级的步骤之后,还包括:
检测所述标识存储文件中是否存在下一***待处理分区的分区标识;
若是,则不对所述下一***待处理分区进行升级;
若否,则对所述下一***待处理分区进行升级。
进一步地,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所有分区完成升级后,删除所述标识存储文件。
进一步地,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
下载升级数据包,并对所述升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验未通过,则重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验通过,则执行步骤检测标识存储文件中是否存在***待处理分区的分区标识;
对应的,所述若否,则对所述***待处理分区进行升级的步骤包括:
若否,则基于所述升级数据包对所述***待处理分区进行升级。
进一步地,所述下载升级数据包,并对所述升级数据包进行数据完整性校验的步骤之前,还包括:
获取***对应的最新版本号以及当前正在启用的***对应的版本号;
将所述***对应的最新版本号与所述当前正在启用的***对应的版本号进行比较;
若所述***对应的最新版本号与所述当前正在启用的***对应的版本号不一致,则执行步骤:下载升级数据包。
进一步地,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所述***待处理分区的升级完成后,将所述***待处理分区的分区标识记录在所述标识存储文件中。
本发明***升级设备的具体实施方式与下述***升级方法各实施例基本相同,在此不再赘述。
本发明还提供一种***升级方法。
***升级:指的是通过一定的方法对终端的***进行更新或替换的操作。
参照图2,图2为本发明***升级方法第一实施例的流程示意图。
本发明实施例提供了***升级方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在***升级方法的各个实施例中,执行主体可以是***升级装置,也可以是当前升级设备本身,为便于描述,本实施例以当前升级设备为执行主体进行描述。***升级方法包括:
步骤S10,检测标识存储文件中是否存在***待处理分区的分区标识;
现有技术中,FOTA(Firmware Over The Air,移动终端的空中下载软件升级)全量升级对于大部分***的升级,都是在recovery模式下对分区按照预设的升级顺序逐一升级,基于Android***的设备一般包括但不限于Boot、System、Userdata、Cache、Recovery、Misc等分区,一般不同的分区用于存放不同类型的数据,对于不同的第三方设备厂商,分区的情况可能略有不同。在升级过程中若发生断电的情况,当重新上电后,会再次进入recovery模式,但整个升级流程会重头再来一次,即使部分分区已经升级成功了,也会重新再次升级,这样会导致整个升级过程时间太长,升级效率较低,同时也会增加升级失败的风险。
为解决现有技术中***升级过程的升级效率较低、失败风险高的技术问题,在本发明实施例中提出一种***升级方法,旨在通过记录已完成升级的分区,若发生断电等异常情况,在重新升级时,仅对未完成升级的分区进行升级,对记录的已完成升级的分区不再进行升级,以避免重跑整个升级流程,从而提升***升级过程的升级效率,降低多次重复升级带来的失败风险。
本实施例中的***升级方法适用于基于Android***的设备的***升级,也适用于其他***的电子产品的***升级。为便于描述,本实施例以基于Android***的设备的***升级为例进行阐述。基于Android***的设备一般包括但不限于Boot、System、Userdata、Cache、Recovery、Misc等分区,一般不同的分区用于存放不同类型的数据,对于不同的第三方设备厂商,分区的情况可能略有不同,本实施例在此不做具体限制。
在本实施例中,在***升级过程中,会通过标识存储文件记录已经完成升级的***分区的分区标识,具体地,可以每升级完一个分区,就将该分区的分区标识记录在标识存储文件中,也可以每升级完两个分区,就将这两个分区的分区标识记录在标识存储文件中,对已完成升级的分区的分区标识的记录频率,即每升级完成多少个分区对这些分区的分区标识进行记录的频率,可以由用户或者运维人员根据需要设置,本实施例优选为每升级完一个分区,就将该分区的分区标识记录在标识存储文件中。其中,分区标识可以用于区别不同的***待处理分区,不同***待处理分区的分区标识不同。运维人员可以预先为设备的各个分区设置相应的分区标识,该分区标识可以是各个分区的命名或者编号,也可以是各个分区所对应的升级阶段的命名或者编号,本实施例不做具体限制,只要是让设备能够区分各个分区的标识,都可以作为分区标识。
在本实施例中,***升级的过程是基于预设升级脚本按照预设的升级顺序对设备的分区进行升级的。无论统升级过程是否因断电等异常情况而被迫中断,设备都会在升级流程中对已完成升级的分区的分区标识进行记录,在进行其他分区的升级之前检测标识存储文件中是否有其他分区的分区标识,进而根据***待处理分区是否升级完成来确定是否对其进行升级。
具体地,若***升级过程未因断电等异常情况而被迫中断,则可以不经中断的完成对所有分区的升级,从而完成整个***升级流程,在这种情况下,设备也会在升级流程中对已完成升级的分区的分区标识进行记录,在进行其他分区的升级之前也会检测标识存储文件中是否有其他分区的分区标识,进而根据***待处理分区的升级完成情况确定是否对其进行升级。
若***升级过程因断电等异常情况而被迫中断,在设备克服异常情况后,例如设备重新上电后,设备会按照预设升级脚本重跑升级流程,但若在断电之前已经有部分分区已经完成了升级,且其对应的分区标识也被记录在了标识存储文件中,则在对每个分区重新做升级处理或者不升级处理之前,会获取***待处理分区的分区标识,并检测标识存储文件中是否存在***待处理分区的分区标识,以确认***待处理分区是否已完成升级,进而根据***待处理分区的升级完成情况确定是否对其进行升级。
可以理解的是,标识存储文件不会因为断电等异常情况所导致的升级中断而被擦除,标识存储文件的优选文件路径为/cache/recovery,标识存储文件中的不同分区标识可以换行符分隔,当然,用户或者运维人员也可以根据需要为标识存储文件设置存放路径,只要能保证标识存储文件不会因为断电等异常情况所导致的升级中断而被擦除即可。
步骤S20,若是,则不对所述***待处理分区进行升级;
步骤S30,若否,则对所述***待处理分区进行升级。
在本实施例中,若在对***待处理分区进行升级前,检测到标识存储文件中存在***待处理分区的分区标识,说明设备已经完成了对***待处理分区的升级,无需再次进行升级,因此本次不对***待处理分区进行升级,若检测到标识存储文件中不存在***待处理分区的分区标识,说明设备还未完成对***待处理分区的升级,因此需要对***待处理分区进行升级。
本实施例通过检测标识存储文件中是否存在***待处理分区的分区标识;若是,则不对所述***待处理分区进行升级;若否,则对所述***待处理分区进行升级。通过将已完成升级的分区记录在标识存储文件中,若发生断电等异常情况,在重新升级时,仅对未完成升级的分区进行升级,对记录的已完成升级的分区不再进行升级,以避免重跑整个升级流程,从而提升***升级过程的升级效率,降低多次重复升级带来的失败风险。
进一步地,提出本发明***升级方法第二实施例,上述步骤S10之前,还包括:
步骤S101,下载升级数据包,并对所述升级数据包进行数据完整性校验;
步骤S102,若对所述升级数据包的数据完整性校验未通过,则重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验通过,则执行步骤S10;
对应的,上述步骤S30包括:
若否,则基于所述升级数据包对所述***待处理分区进行升级。
在本实施例中,在下载到升级数据包后,需要对该升级数据包进行数据完整性校验,以避免升级数据包在数据传输过程中被非法篡改,保证数据的安全性。若对升级数据包的数据完整性校验通过,说明该升级数据包未遭到非法篡改,可基于该升级数据包对设备进行***升级,即执行步骤S10,并在检测到标识存储文件中不存在***待处理分区的分区标识时,基于所述升级数据包对所述***待处理分区进行升级;若对升级数据包的数据完整性校验未通过,说明该升级数据包可能遭到了非法篡改,若直接使用该升级数据包进行***升级,可能会带来诸多的安全隐患,因此需要重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验,直至通过了数据完整性校验,才利用此次下载的升级数据对设备进行***升级。
进一步地,若对升级数据包的数据完整性校验未通过,重新下载的升级数据包也未通过数据完整性校验,记录数据完整性校验未通过的次数,在数据完整性校验未通过的次数大于或者等于预设次数阈值时,在当前升级设备上显示数据篡改提示,也可以向预设的管理终端发送数据篡改提示,以提示用户或者运维人员***升级数据包遭到非法篡改,以使运维人员及时采取信息安全保护措施。
进一步地,上述步骤S101中对升级数据包的数据完整性校验是通过哈希算法和密钥对数进行的。具体地,升级数据包制作方会使用哈希算法和密钥对升级数据包进行哈希得到一个哈希值,然后将该哈希值和升级数据包一块上传至云端以供下载,下载方在下载到升级数据包之后,对升级数据包使用相同的哈希算法和密钥进行哈希得到哈希值,如果得到的哈希值和升级数据包制作方上传至云端的哈希值相同,说明数据没有经过篡改,否则反之。其中,所述哈希算法可选为MD5信息摘要算法(Message-Digest Algorithm MD5)或者安全散列算法(SHA,Secure Hash Algorithm)系列,本实施例不做具体限制。
进一步地,在上述步骤S101之前,还包括:
步骤S1011,获取***对应的最新版本号以及当前正在启用的***对应的版本号;
步骤S1012,将所述***对应的最新版本号与所述当前正在启用的***对应的版本号进行比较;
若所述***对应的最新版本号与所述当前正在启用的***对应的版本号不一致,则执行步骤S101。
在本实施例中,在设备开机后,设备会按照一定频率或者实时监测设备当前启用的***是否需要进行***升级,具体的,获取设备当前启用的***对应的版本号,以及该***对应的最新版本号,将二者进行比较,若设备当前启用的***对应的版本号与该***对应的最新版本号一致,说明设备当前启用的***已经是最新版本的***,不需要进行***升级,无需下载最新版本号对应的***的升级数据包;若设备当前启用的***对应的版本号与该***对应的最新版本号不一致,说明设备当前启用的***不是最新版本的***,需要进行***升级,因此下载最新版本号对应的***的升级数据包,通过该升级数据包对设备进行***升级。
本实施例根据***对应的最新版本号与设备当前正在启用的***对应的版本号是否一致确定是否下载升级数据包,能够保证设备在有新版本的升级数据包时,及时下载该新版本的升级数据包并进行***升级,以使用户尽早的用上新版本的***,提升用户体验。
进一步地,在上述步骤S10之前,还包括:
检测当前升级设备中是否存在所述标识存储文件;
若否,则在所述当前升级设备的预设文件路径下创建所述标识存储文件;
若是,则执行步骤S10。
recovery模式指的是一种可以对Android安卓机内部的数据或***进行修改的模式(类似于windows PE或DOS),也可以称之为安卓的恢复模式,在恢复模式下,我们可以刷入新的安卓***,或者对已有的***进行备份或升级,也可以在此恢复出厂设置(格式化数据和缓存)。
在本实施例中,在当前升级设备进入recovery模式,且在对当前升级设备进行***升级之前,还需要判断当前升级设备中是否存在标识存储文件,若存在,则执行步骤S10;若不存在,则需要在当前升级设备的预设文件路径下创建标识存储文件,标识存储文件的优选文件路径为/cache/recovery,标识存储文件不会因为断电等异常情况所导致的升级中断而被擦除,标识存储文件中的不同分区标识可以换行符分隔,当然,用户或者运维人员也可以根据需要为标识存储文件设置存放路径,只要能保证标识存储文件不会因为断电等异常情况所导致的升级中断而被擦除即可。
当然,若当前升级设备是基于其他***的,则本实施例是在当前升级设备进入该***对应的***升级模式(与安卓***的recovery模式相类似)下,且在对当前升级设备进行***升级之前进行的。
本实施例通过上述方式自动创建标识存储文件,能够为设备在升级过程中断电重启后的继续升级提供实现基础。
进一步地,提出本发明***升级方法第三实施例,上述步骤S30之后,还包括:
检测所述标识存储文件中是否存在下一***待处理分区的分区标识;
若是,则不对所述下一***待处理分区进行升级;
若否,则对所述下一***待处理分区进行升级。
在本实施例中,***升级的过程是基于预设升级脚本按照预设的升级顺序对设备的分区进行升级的,若检测到标识存储文件中存在***待处理分区的分区标识,说明已经完成了对***待处理分区的升级,无需再次进行升级,因此本次不对***待处理分区进行升级,之后按照预设升级脚本进行下一***待处理分区的升级确认,具体的,检测标识存储文件中是否存在下一***待处理分区的分区标识,若不存在,则对下一***待处理分区进行升级;若存在,说明下一***待处理分区的升级已完成,则按照预设升级脚本继续进行后续分区的升级确认,如此,直至成功完成对所有分区的升级。
通过这种方法能够在设备重新执行升级脚本时,避免对已完成升级的分区重复进行升级。
进一步地,上述步骤S30之后,还包括:
在对所述***待处理分区的升级完成后,将所述***待处理分区的分区标识记录在所述标识存储文件中。
在本实施例中,在***升级过程中,会通过标识存储文件记录已经完成升级的分区的分区标识,具体为每升级完一个分区,就将该分区的分区标识记录在标识存储文件中。
进一步地,也可以每升级完两个分区,就将这两个分区的分区标识记录在标识存储文件中,对已完成升级的分区的分区标识的记录频率,即每升级完成多少个分区对这些分区的分区标识进行记录的频率,可以由用户或者运维人员根据需要设置,本实施例优选为每升级完一个分区,就将该分区的分区标识记录在标识存储文件中。其中,分区标识可以用于区别不同的分区,不同分区的分区标识不同。运维人员可以预先为设备的各个分区设置相应的分区标识,该分区标识可以是各个分区的命名或者编号,也可以是各个分区所对应的升级阶段的命名或者编号,本实施例不做具体限制,只要是让设备能够区分各个分区的标识,都可以作为分区标识。
进一步地,在上述步骤S30之后,还包括:
在对所有分区完成升级后,删除所述标识存储文件。
在本实施例中,在完成对所有分区的升级后,即在完成一次完整的***升级后,设备删除标识存储文件,以避免本次***升级的标识存储文件,对下次***升级造成影响。
进一步地,在上述步骤S30之后,还包括:
在对所有分区完成升级后,清除BCB块。
一般来讲,Android有三种启动模式:Fastboot模式,Recovery模式以及MainSystem模式,其中,在recovery模式下,设备会将***的启动参数写到BCB块(bootloadercontrol block,启动控制模信息块)中,这样做的目的是保证设备在进行***升级的过程中发生崩溃或不正常断电等异常情况,设备在下次重启时,Bootloader会依据BCB块中的指示,引导设备进入Recovery模式,从而继续进行***升级操作。在完成对所有分区的升级后,即在完成一次完整的***升级后,设备除了删除标识存储文件,以避免本次***升级的标识存储文件,对下次***升级造成影响外,还可以清除BCB块,即清除BCB块中的指示,以使设备在下次重启时,进入Main System模式,即主***模式,此为Android正常开机所进入的正常工作模式。
其中,Bootloader是嵌入式***在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作***映像或固化的嵌入式应用程序装在到内存中然后跳转到操作***所在的空间,启动操作***运行。
当然,若当前升级设备是基于其他***的,则本实施例为在对所有分区完成升级后,清除与安卓***的BCB块相类似的数据,以使设备在下次重启时,进入正常工作模式,即用户可以正常使用的模式。
本发明还提供一种***升级装置。
参照图3,图3为本发明***升级装置第一实施例的功能模块示意图。所述***升级装置包括:
标识检测模块10,用于检测标识存储文件中是否存在***待处理分区的分区标识;
维持模块20,用于若是,则不对所述***待处理分区进行升级;
升级模块30,用于若否,则对所述***待处理分区进行升级。
进一步地,所述***升级装置,还包括:
文件检测模块,用于检测当前升级设备中是否存在所述标识存储文件;
文件创建模块,用于若否,则在所述当前升级设备的预设文件路径下创建所述标识存储文件;
所述标识检测模块还用于若是,则检测标识存储文件中是否存在***待处理分区的分区标识。
进一步地,所述维持模块包括:
下一***待处理分区检测单元,用于检测所述标识存储文件中是否存在下一***待处理分区的分区标识;
下一***待处理分区维持单元,用于若是,则不对所述下一***待处理分区进行升级;
下一***待处理分区升级单元,用于若否,则对所述下一***待处理分区进行升级。
进一步地,所述***升级装置,还包括:
删除模块,用于在对所有分区完成升级后,删除所述标识存储文件。
进一步地,所述***升级装置,还包括:
下载校验模块,用于下载升级数据包,并对所述升级数据包进行数据完整性校验;
重新下载校验模块,用于若对所述升级数据包的数据完整性校验未通过,则重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验;
所述标识检测模块还用于若对所述升级数据包的数据完整性校验通过,则检测标识存储文件中是否存在***待处理分区的分区标识。
对应的,所述升级模块包括:
数据包升级单元,用于若否,则基于所述升级数据包对所述***待处理分区进行升级。
进一步地,所述***升级装置,还包括:
版本号获取模块,用于获取***对应的最新版本号以及当前正在启用的***对应的版本号;
版本号比较模块,用于将所述***对应的最新版本号与所述当前正在启用的***对应的版本号进行比较;
所述下载校验模块,还用于若所述***对应的最新版本号与所述当前正在启用的***对应的版本号不一致,则执行步骤:下载升级数据包,并对所述升级数据包进行数据完整性校验。
进一步地,所述***升级装置,还包括:
分区标识记录模块,用于在对所述***待处理分区的升级完成后,将所述***待处理分区的分区标识记录在所述标识存储文件中。
本发明***升级装置具体实施方式与上述***升级方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质。
存储介质上存储有***升级程序,***升级程序被处理器执行时实现如上所述的***升级方法的步骤。
本发明存储介质具体实施方式与上述***升级方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

Claims (10)

1.一种***升级方法,其特征在于,所述***升级方法包括以下步骤:
检测标识存储文件中是否存在***待处理分区的分区标识;
若是,则不对所述***待处理分区进行升级;
若否,则对所述***待处理分区进行升级。
2.如权利要求1所述的***升级方法,其特征在于,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
检测当前升级设备中是否存在所述标识存储文件;
若否,则在所述当前升级设备的预设文件路径下创建所述标识存储文件;
若是,则执行步骤:检测标识存储文件中是否存在***待处理分区的分区标识。
3.如权利要求1所述的***升级方法,其特征在于,所述若是,则不对所述***待处理分区进行升级的步骤之后,还包括:
检测所述标识存储文件中是否存在下一***待处理分区的分区标识;
若是,则不对所述下一***待处理分区进行升级;
若否,则对所述下一***待处理分区进行升级。
4.如权利要求1所述的***升级方法,其特征在于,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所有分区完成升级后,删除所述标识存储文件。
5.如权利要求1所述的***升级方法,其特征在于,所述检测标识存储文件中是否存在***待处理分区的分区标识的步骤之前,还包括:
下载升级数据包,并对所述升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验未通过,则重新下载升级数据包,并对重新下载的升级数据包进行数据完整性校验;
若对所述升级数据包的数据完整性校验通过,则执行步骤:检测标识存储文件中是否存在***待处理分区的分区标识;
对应的,所述若否,则对所述***待处理分区进行升级的步骤包括:
若否,则基于所述升级数据包对所述***待处理分区进行升级。
6.如权利要求5所述的***升级方法,其特征在于,所述下载升级数据包,并对所述升级数据包进行数据完整性校验的步骤之前,还包括:
获取***对应的最新版本号以及当前正在启用的***对应的版本号;
将所述***对应的最新版本号与所述当前正在启用的***对应的版本号进行比较;
若所述***对应的最新版本号与所述当前正在启用的***对应的版本号不一致,则执行步骤:下载升级数据包。
7.如权利要求1至6任一项所述的***升级方法,其特征在于,所述若否,则对所述***待处理分区进行升级的步骤之后,还包括:
在对所述***待处理分区的升级完成后,将所述***待处理分区的分区标识记录在所述标识存储文件中。
8.一种***升级装置,其特征在于,所述***升级装置包括:
标识检测模块,用于检测标识存储文件中是否存在***待处理分区的分区标识;
维持模块,用于若是,则不对所述***待处理分区进行升级;
升级模块,用于若否,则对所述***待处理分区进行升级。
9.一种***升级设备,其特征在于,所述***升级设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的***升级程序,所述***升级程序被所述处理器执行时实现如权利要求1-7中任一项所述的***升级方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有***升级程序,所述***升级程序被处理器执行时实现如权利要求1-7中任一项所述的***升级方法的步骤。
CN201911422473.XA 2019-12-30 2019-12-30 ***升级方法、装置、设备及存储介质 Pending CN111158729A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911422473.XA CN111158729A (zh) 2019-12-30 2019-12-30 ***升级方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911422473.XA CN111158729A (zh) 2019-12-30 2019-12-30 ***升级方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111158729A true CN111158729A (zh) 2020-05-15

Family

ID=70560722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911422473.XA Pending CN111158729A (zh) 2019-12-30 2019-12-30 ***升级方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111158729A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651186A (zh) * 2020-05-29 2020-09-11 歌尔科技有限公司 耳机及其程序升级方法、控制装置和可读存储介质
CN112181467A (zh) * 2020-10-10 2021-01-05 北京字节跳动网络技术有限公司 终端的存储器固件升级方法、装置、终端和存储介质
CN113656051A (zh) * 2021-04-27 2021-11-16 苏州佳世达电通有限公司 一种安卓***设备自动升级的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488491A (zh) * 2012-06-11 2014-01-01 腾讯科技(深圳)有限公司 对终端进行***升级的方法及该终端
CN105760200A (zh) * 2016-02-26 2016-07-13 晨星半导体股份有限公司 终端设备及其***升级方法
CN106610840A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 一种无线固件升级方法及***
CN109947449A (zh) * 2019-03-18 2019-06-28 Oppo广东移动通信有限公司 ***升级方法、装置、存储介质及电子设备
CN110502264A (zh) * 2019-08-23 2019-11-26 深圳融安网络科技有限公司 ***升级方法、终端及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488491A (zh) * 2012-06-11 2014-01-01 腾讯科技(深圳)有限公司 对终端进行***升级的方法及该终端
CN106610840A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 一种无线固件升级方法及***
CN105760200A (zh) * 2016-02-26 2016-07-13 晨星半导体股份有限公司 终端设备及其***升级方法
CN109947449A (zh) * 2019-03-18 2019-06-28 Oppo广东移动通信有限公司 ***升级方法、装置、存储介质及电子设备
CN110502264A (zh) * 2019-08-23 2019-11-26 深圳融安网络科技有限公司 ***升级方法、终端及可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651186A (zh) * 2020-05-29 2020-09-11 歌尔科技有限公司 耳机及其程序升级方法、控制装置和可读存储介质
CN111651186B (zh) * 2020-05-29 2023-10-03 歌尔科技有限公司 耳机及其程序升级方法、控制装置和可读存储介质
CN112181467A (zh) * 2020-10-10 2021-01-05 北京字节跳动网络技术有限公司 终端的存储器固件升级方法、装置、终端和存储介质
CN112181467B (zh) * 2020-10-10 2023-11-14 北京字节跳动网络技术有限公司 终端的存储器固件升级方法、装置、终端和存储介质
CN113656051A (zh) * 2021-04-27 2021-11-16 苏州佳世达电通有限公司 一种安卓***设备自动升级的方法

Similar Documents

Publication Publication Date Title
CN106843957B (zh) ***固件升级方法及装置
US10127057B2 (en) Method and apparatus for dynamically implementing application function
CN103377094B (zh) 异常监测方法和装置
CN111158729A (zh) ***升级方法、装置、设备及存储介质
CN106325929B (zh) 一种固件升级方法、固件升级装置、冰箱和服务端
CN105138347A (zh) 一种差分升级包生成方法、软件升级方法及相应装置
US20160132420A1 (en) Backup method, pre-testing method for environment updating and system thereof
CN109062598A (zh) 一种安全的ota升级方法及***
CN105204902B (zh) 一种虚拟机的安全补丁升级方法,及装置
CN106210877A (zh) 智能电视的***升级方法及装置
CN111258850B (zh) 一种基于Linux***的更新软件信息的方法及装置
CN110597545B (zh) 一种基于ota组件的热补丁智能升级方法及***
CN113608763A (zh) 车载ota升级方法、装置、设备及作业机械
CN111399862A (zh) Windows缺失驱动的批量安装方法、装置和计算机设备
CN117056115B (zh) 应用程序的修复方法和装置、存储介质及电子设备
CN107766068B (zh) 应用***补丁安装方法、装置、计算机设备和存储介质
CN112579330B (zh) 操作***异常数据的处理方法、装置及设备
WO2019137280A1 (zh) 终端异常的修复方法、装置、移动终端及存储介质
KR101434094B1 (ko) 안드로이드 플랫폼에서 인텐트 모니터링을 통한 유해 어플리케이션 차단 방법
CN114647424A (zh) Ecu应用程序更新方法、装置、***、存储介质和电子设备
CN111338681A (zh) 一种设备的固件升级方法及***
CN112312213A (zh) 数字电视***的升级方法及相关装置
CN111338674A (zh) 指令处理方法、装置和设备
CN110825406A (zh) 一种软件升级的方法及相关设备
CN116707819B (zh) 一种车辆ota升级安全机制的构建方法

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