软件升级方法、终端设备及存储介质技术

技术编号:32364944 阅读:15 留言:0更新日期:2022-02-20 03:37
本申请提供一种软件升级方法、终端设备及存储介质,涉及软件技术领域,用于解决终端设备因升级失败导致的无法正常运行软件甚至无法正常启动的问题。该方法包括:在第一分区启动,并运行预设软件的运行文件;获取预设软件的待升级文件;将待升级文件写入第二分区,得到升级后的预设软件;在第二分区重启终端设备,并运行升级后的预设软件。本申请用于软件升级过程中。升级过程中。升级过程中。

【技术实现步骤摘要】
软件升级方法、终端设备及存储介质


[0001]本申请涉及软件
,尤其涉及一种软件升级方法、终端设备及存储介质。

技术介绍

[0002]相关技术中,终端设备的软件升级的过程一般为:终端设备获取软件的待升级文件,将待升级文件写入当前运行的分区之中,终端设备重启并运行待升级文件,完成对软件的升级。
[0003]但是,在当前在软件升级过程中,待升级文件将会覆盖终端设备分区中原本的运行文件。此时,如果终端设备断电或者待升级文件无法正常加载,而新的运行文件无法正常运行,将会导致终端设备无法正常运行软件甚至无法启动。

技术实现思路

[0004]本申请提供一种软件升级方法、终端设备及存储介质,能够提高用户出行预测模型预测的对多个出行指标的预测准确度。
[0005]第一方面,提供一种软件升级方法,包括:在第一分区启动,并运行预设软件的运行文件;获取预设软件的待升级文件;将待升级文件写入第二分区,得到升级后的预设软件;在第二分区重启终端设备,并运行升级后的预设软件。
[0006]结合上述第一方面,在一种可能的实现方式中,该方法还包括:在成功运行升级后的预设软件的情况下,将待升级文件写入第一分区;在未成功运行升级后的预设软件的情况下,将第二分区的待升级文件回滚为运行文件。
[0007]结合上述第一方面,在一种可能的实现方式中,终端设备包括第一寄存器,第二寄存器和第三寄存器;第一寄存器的值用于指示终端设备待启动的分区;第二寄存器的值用于表示软件升级过程中的升级状态;第三寄存器的值用于表示终端设备实际启动时的分区;软件升级过程中的升级状态包括:正常态,用于表示软件升级完成的状态,或者软件升级之前的状态;加载态,用于表示下载待升级文件,以及将待升级文件写入第二分区的状态;激活态,用于表示终端设备在第二分区重启,并运行升级后的预设软件的状态;提交态,用于表示终端设备在成功运行升级后的预设软件的情况下,将待升级文件写入第一分区的状态;回滚态,用于表示终端设备在运行升级后的预设软件失败的情况下,将第二分区的待升级文件回滚为运行文件的状态。
[0008]结合上述第一方面,在一种可能的实现方式中,,方法还包括:在第一预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为正常态;第一预设条件包括以下至少一项:成功将第二分区的待升级文件回滚为运行文件;将待升级文件写入第一分区,且在第一分区成功运行升级后的预设软件;将待升级文件写入第二分区失败;在第二预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为加载态;第二预设条件包括以下至少一项:终端设备下载待升级文件;或者,终端设备正在向第二分区写入待升级文件;在第三预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为激活态;第三
预设条件包括:终端设备成功将待升级文件写入第二分区,或者,终端设备成功运行升级后的预设软件;在第四预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为提交态;第四预设条件包括:终端设备成功正在向第二分区写入待升级文件;在第五预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为回滚态;第五预设条件包括以下至少一项:终端设备未成功将待升级文件写入第二分区,或者,终端设备在第二分区重启终端设备失败;或者,终端设备未成功运行升级后的预设软件。
[0009]结合上述第一方面,在一种可能的实现方式中,方法还包括:若第一寄存器和第三寄存器的值不相同,则将第二分区的待升级文件回滚为运行文件;若第一寄存器和第三寄存器的值相同,第二寄存器的值用于表示升级状态为加载态,则将第二寄存器的标记更新为正常态;若第一寄存器和第三寄存器的值相同,第二寄存器的值用于表示升级状态为提交态,则将待升级文件写入第一分区;若第一寄存器和第三寄存器的值相同,第二寄存器的值用于表示升级状态为回滚态,则将第二分区的待升级文件回滚为运行文件。
[0010]结合上述第一方面,在一种可能的实现方式中,方法还包括:读取第一数据和第二数据;其中,第一数据为第二分区内运行文件中的第一数据量的数据;第二数据为待升级文件中第一数据量的数据;第一数据在运行文件中的读取顺序和第二数据在待升级文件中的读取顺序相同;确定第一数据和第二数据的数据内容是否相同;若不相同,则将第二数据写入第二分区内的运行文件中,并将第一数据替换为第二数据。
[0011]第二方面,提供一种终端设备,包括获取单元和处理单元;处理单元,用于在第一分区启动,并运行预设软件的运行文件;获取单元,用于获取预设软件的待升级文件;处理单元,还用于将待升级文件写入第二分区,得到升级后的预设软件;处理单元,还用于在第二分区重启终端设备,并运行升级后的预设软件。
[0012]结合上述第二方面,在一种可能的实现方式中,处理单元,还用于:在成功运行升级后的预设软件的情况下,将待升级文件写入第一分区;在未成功运行升级后的预设软件的情况下,将第二分区的待升级文件回滚为运行文件。
[0013]结合上述第二方面,在一种可能的实现方式中,终端设备还包括第一寄存器,第二寄存器和第三寄存器;第一寄存器的值用于指示终端设备待启动的分区;第二寄存器的值用于表示软件升级过程中的升级状态;第三寄存器的值用于表示终端设备实际启动时的分区;软件升级过程中的升级状态包括:正常态,用于表示软件升级完成的状态,或者软件升级之前的状态;加载态,用于表示下载待升级文件,以及将待升级文件写入第二分区的状态;激活态,用于表示终端设备在第二分区重启,并运行升级后的预设软件的状态;提交态,用于表示终端设备在成功运行升级后的预设软件的情况下,将待升级文件写入第一分区的状态;回滚态,用于表示终端设备在运行升级后的预设软件失败的情况下,将第二分区的待升级文件回滚为运行文件的状态。
[0014]结合上述第二方面,在一种可能的实现方式中,在第一预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为正常态;第一预设条件包括以下至少一项:成功将第二分区的待升级文件回滚为运行文件;将待升级文件写入第一分区,且在第一分区成功运行升级后的预设软件;将待升级文件写入第二分区失败;在第二预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为加载态;第二预设条件包括以下至少一项:终端设备下载待升级文件;或者,终端设备正在向第二分区写入待升级文件;在第三预设条
件下,第二寄存器的值用于表示软件升级过程中的升级状态为激活态;第三预设条件包括:终端设备成功将待升级文件写入第二分区,或者,终端设备成功运行升级后的预设软件;在第四预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为提交态;第四预设条件包括:终端设备成功正在向第二分区写入待升级文件;在第五预设条件下,第二寄存器的值用于表示软件升级过程中的升级状态为回滚态;第五预设条件包括以下至少一项:终端设备未成功将待升级文件写入第二分区,或者,终端设备在第二分区重启终端设备失败;或者,终端设备未成功运行升级后的预设软件。
[0015]结合上述第二方面,在一种可能的实现方式中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,其特征在于,应用于终端设备中,所述终端设备包括第一分区和第二分区,所述第一分区包括预设软件的运行文件;所述方法包括:在所述第一分区启动,并运行所述预设软件的运行文件;获取所述预设软件的待升级文件;将所述待升级文件写入所述第二分区,得到升级后的预设软件;在所述第二分区重启所述终端设备,并运行所述升级后的预设软件。2.根据权利要求1所述的方法,其特征在于,在运行所述升级后的预设软件之后,所述方法还包括:在成功所述运行所述升级后的预设软件的情况下,将所述待升级文件写入所述第一分区;在未成功所述运行所述升级后的预设软件的情况下,将所述第二分区的所述待升级文件回滚为运行文件。3.根据权利要求1或2所述的方法,其特征在于,所述终端设备包括第一寄存器,第二寄存器和第三寄存器;所述第一寄存器的值用于指示所述终端设备待启动的分区;所述第二寄存器的值用于表示软件升级过程中的升级状态;所述第三寄存器的值用于表示所述终端设备实际启动时的分区;所述软件升级过程中的升级状态包括:正常态,用于表示软件升级完成的状态,或者软件升级之前的状态;加载态,用于表示下载所述待升级文件,以及将所述待升级文件写入第二分区的状态;激活态,用于表示所述终端设备在所述第二分区重启,并运行所述升级后的预设软件的状态;提交态,用于表示所述终端设备在成功运行所述升级后的预设软件的情况下,将所述待升级文件写入所述第一分区的状态;回滚态,用于表示所述终端设备在所述运行所述升级后的预设软件失败的情况下,将所述第二分区的所述待升级文件回滚为所述运行文件的状态。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在第一预设条件下,所述第二寄存器的值用于表示软件升级过程中的升级状态为正常态;所述第一预设条件包括以下至少一项:成功将所述第二分区的所述待升级文件回滚为所述运行文件;将所述待升级文件写入所述第一分区,且在所述第一分区成功运行所述升级后的预设软件;将所述待升级文件写入所述第二分区失败;在第二预设条件下,所述第二寄存器的值用于表示软件升级过程中的升级状态为加载态;所述第二预设条件包括以下至少一项:所述终端设备下载所述待升级文件;或者,所述终端设备正在向所述第二分区写入所述待升级文件;在第三预设条件下,所述第二寄存器的值用于表示软件升级过程中的升级状态为激活态;所述第三预设条件包括:所述终端设备成功将所述待升级文件写入所述第二分区,或者,所述终端设备成功运行所述升级后的预设软件;在第四预设条件下,所述第二寄存器的值用于表示软件升级过程中的升级状态为提交态;所述第四预设条件包括:所述终端设备成功正在向所述第二分区写入所述待升级文件;在第五预设条件下,所述第二寄存器的值用于表示软件升级过程中的升级状态为回滚
态;所述第五预设条件包括以下至少一项:所述终端设备未成功将所述待升级文件写入所述第二分区,或者,所述终端设备在所述第二分区重启所述终端设备失败;或者,所述终端设备未成功所述运行所述升级后的预设软件。5.根据权利要求4所述的方法,其特征在于,在所述第二分区重启所述终端设备之后,所述方法还包括:若所述第一寄存器和所述第三寄存器的值不相同,则将所述第二分区的待升级文件回滚为所述运行文件;若所述第一寄存器和所述第三寄存器的值相同,所述第二寄存器的值用于表示所述升级状态为所述加载态,则将所述第二寄存器的标记更新为所述正常态;若所述第一寄存器和所述第三寄存器的值相同,所述第二寄存器的值用于表示所述升级状态为所述提交态,则将所述待升级文件写入所述第一分区;若所述第一寄存器和所述第三寄存器的值相同,所述第二寄存器的值用于表示所述升级状态为所述回滚态,则将所述第二分区的所述待升级文件回滚为所述运行文件。6.根据权利要求1

5任一项所述的方法,其特征在于,所述第二分区包括所述预设软件的运行文件;所述将所述待升级文件写入所述第二分区,包括:读取第一数据和第二数据;其中,所述第一数据为所述第二分区内所述运行文件中的第一数据量的数据;所述第二数据为所述待升级文件中所述第一数据量的数据;所述第一数据在所述运行文件中的读取顺序和所述第二数据在所述待升级文件中的读取顺序相同;确定所述第一数据和所述第二数据的数据内容是否相同;若不相同,则将所述第二数据写入所述第二分区内的所述运行文件中,并将所述第一数据替换为所述第二数据。7.一种终端设备,其特征在于,包括获取单元和处理单元;所述处理单元,用于在所述第一分区启动,并运行所述预设软件的运行文件;所述获取单元,用于获取所述预设软件的待升级文件;所述处理单元...

【专利技术属性】
技术研发人员:张光伟姜元山刘霞陈德进
申请(专利权)人:中讯邮电咨询设计院有限公司
类型:发明
国别省市:

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

1