CN115756561A - 软件升级方法、装置、计算机设备以及存储介质 - Google Patents
软件升级方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN115756561A CN115756561A CN202211262088.5A CN202211262088A CN115756561A CN 115756561 A CN115756561 A CN 115756561A CN 202211262088 A CN202211262088 A CN 202211262088A CN 115756561 A CN115756561 A CN 115756561A
- Authority
- CN
- China
- Prior art keywords
- version data
- target software
- new version
- backup area
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种软件升级方法、装置、计算机设备以及存储介质。该方法通过在目标软件于运行区域中运行的情况下,响应于针对目标软件的升级指令,确定用于存储目标软件的新版本数据的目标备份区域,目标备份区域与目标软件的当前版本数据所在的当前备份区域不同;获取新版本数据,并将新版本数据存储于目标备份区域;响应于对目标软件的重启操作,将目标备份区域中存储的新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件。通过在目标软件运行的情况下获取新版本数据,并将新版本数据存储在与当前备份区域不同的目标备份区域,避免了对目标软件升级时的额外操作,提高了目标软件升级的安全性,提升用户体验。
Description
技术领域
本申请涉及软件应用技术领域,更具体地,涉及一种软件升级方法、装置、计算机设备以及存储介质。
背景技术
通常情况下,终端设备通过双备份升级的方式实现软件应用的升级,这种方式需要使软件停留在引导加载区域(BOOTLOADER),以实现升级数据的接收,并在数据接收完成后通过接收外部指令来切换软件,以实现软件的更新。这就使得软件在运行期间无法直接进行升级,并且升级过程较为繁琐,影响用户的使用体验。
发明内容
鉴于上述问题,本申请提出了一种软件升级方法、装置、计算机设备以及存储介质,以实现简化软件升级流程,提高软件升级过程中的安全性,提升用户体验。
第一方面,本申请实施例提供了一种软件升级方法,所述方法包括:在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
第二方面,本申请实施例提供了一种软件升级装置,所述装置包括:区域确定模块、数据获取模块以及数据加载模块,其中,所述区域确定模块用于在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;所述数据获取模块用于获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;所述数据加载模块用于响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
第三方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的软件升级方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的软件升级方法。
本申请提供的方案,通过在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。通过在目标软件运行的情况下获取新版本数据,并将新版本数据存储在与当前备份区域不同的目标备份区域,避免了对目标软件升级时的额外操作,提高了目标软件升级的安全性,提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例中存储装置的布局示意图。
图2示出了本申请一个实施例提供的软件升级方法的流程示意图。
图3示出了本申请另一个实施例提供的软件升级方法的流程示意图。
图4示出了本申请实施例提供的软件升级方法的整体流程示意图。
图5示出了本申请实施例提供的软件升级装置的结构框图。
图6示出了本申请实施例提供的一种计算机设备的结构框图。
图7示出了本申请实施例提供的计算机可读存储介质的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
发明人提出了本申请实施例提供的软件升级方法、装置、计算机设备以及存储介质,通过在目标软件运行的情况下获取新版本数据,并将新版本数据存储在与当前备份区域不同的目标备份区域,避免了对目标软件升级时的额外操作,提高了目标软件升级的安全性,提升用户体验。其中,具体的软件升级方法在后续实施例中进行详细说明。
下面对本申请实施例提供的软件升级方法的应用场景进行介绍。
本申请实施例提供的软件升级方法应用于计算机设备300,其中计算机设备300为手机、电脑、平板或车载终端等任何能够支持软件应用运行的智能终端设备。计算机设备300可包括处理器以及存储装置(例如FLASH)等,存储装置包括有执行区域和备份区域,具体的,本实施例中的存储装置布局可以参照图1所示,包括引导加载区域(BOOTLOADER)、执行区域(APP_RUN)、第一备份区域(A_BACKUP)以及第二备份区域(B_BACKUP)。计算机设备300在执行区域运行目标软件,在第一备份区域或者第二备份区域备份目标软件的当前版本数据,并通过第一备份区域或者第二备份区域中未存储当前版本数据的备份区域,实现对目标软件的升级。具体的,对目标软件的升级方法将在下述实施例进行详细阐述。
下面将结合附图具体描述本申请实施例提供的软件升级方法。
请参阅图2,图2示出了本申请一个实施例提供的软件升级方法的流程示意图,下面将针对图2所示流程进行详细阐述,所述软件升级方法具体可以包括以下步骤:
步骤S110:在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同。
在本申请实施例中,计算机设备在运行区域运行目标软件,并在第一备份区域或者第二备份区域中的一个区域,备份目标软件的当前版本数据。此时在需求为目标软件升级的情况下,为避免对当前版本数据的损坏,并且为目标软件的运行提供保障,计算机设备并不会直接用目标软件的新版本数据覆盖当前备份区域中的当前版本数据,而是在另一个空白的备份区域中存储新版本数据,由此一旦运行区域中运行的目标软件出现问题,并且在新版本数据尚未校验成功的情况下,计算机设备还可以基于备份区域中的当前版本数据,确保目标软件的正常运行。因此,计算机设备可以在目标软件运行的情况下,响应于针对目标软件的升级指令,将目标软件的新版本数据存储在与当前版本数据所在的当前备份区域不同的目标备份区域,以实现在目标软件运行的情况下获取并校验升级数据,同时避免对当前版本数据产生影响。
可以理解的,目标备份区域与当前备份区域不同,但这两个备份区域都是第一备份区域与第二备份区域中的其中一个。也就是说,若目标软件的当前版本数据存储于第一备份区域,也就是当前备份区域是第一备份区域,那么计算机设备会将第二备份区域作为目标备份区域,以存储目标软件的新版本数据。也就是说,第一备份区域以及第二备份区域在计算机设备存储装置中的位置是固定的,但目标备份区域以及当前备份区域的位置是相对且可以改变的。其中,目标软件的当前版本数据存储于第一备份区域或者第二备份区域并不确定,这是由于若目标软件的新版本数据存储于第二备份区域,并且计算机设备基于新版本数据成功对目标软件进行升级,那么升级后的目标软件的当前版本数据也就是曾经的新版本数据,是存储于第二备份区域的,那么此时第二备份区域就是目标软件的当前备份区域。其后若再次对目标软件进行升级,那么对应的当前备份区域还会再次更改为第一备份区域。
步骤S120:获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域。
在本申请实施例中,计算机设备可以在确定用于存储新版本数据的目标备份区域后,获取并在目标备份区域存储目标软件的新版本数据。可以理解的,计算机设备在存储了新版本数据后,存储装置中会同时包括目标软件的当前版本数据以及新版本数据,此时若对新版本数据校验成功,那么计算机设备就可以通过对目标软件的重启操作实现对目标软件的升级。当然,若基于新版本数据对目标软件的升级失败,或者,若尚未对新版本数据成功校验时运行区域中运行的目标软件出错,那么计算机设备还可以基于当前备份区域中的当前版本数据,确保目标软件的正常运行。可以避免在对目标软件升级的过程中丢失目标软件的当前版本数据。
步骤S130:响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
在本申请实施例中,在将目标软件的新版本数据存储至目标备份区域后,计算机设备可以响应于对目标软件的重启操作,将目标备份区域的新版本数据加载到目标软件的运行区域,进而基于运行区域中的新版本数据运行目标软件,由此实现对目标软件的更新升级。其中,对目标软件的重启操作,可以是用户基于自身需求主动进行的操作,也可以是计算机设备在确保目标软件的新版本数据安全准确后,自动进行的操作,在此可以不做限定。
本申请实施例提供的软件升级方法,通过在目标软件于运行区域中运行的情况下,响应于针对目标软件的升级指令,确定用于存储目标软件的新版本数据的目标备份区域,目标备份区域与目标软件的当前版本数据所在的当前备份区域不同;获取新版本数据,并将新版本数据存储于目标备份区域;响应于对目标软件的重启操作,将目标备份区域中存储的新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件。通过在目标软件运行的情况下获取新版本数据,并将新版本数据存储在与当前备份区域不同的目标备份区域,避免了对目标软件升级时的额外操作,提高了目标软件升级的安全性,提升用户体验。
请参阅图3,图3示出了本申请另一个实施例提供的软件升级方法的流程示意图,下面将针对图3所示流程进行详细阐述,所述软件升级方法具体可以包括以下步骤:
步骤S201:在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,获取当前所述目标软件对应的升级标志,所述升级标志用于指示所述当前版本数据所在的当前备份区域。
在本申请实施例中,在目标软件运行的情况下,计算机设备可以通过获取目标软件对应的升级标志,以确定当前版本数据所在的当前备份区域。显然,目标软件对应的升级标志可以指示当前版本数据存储于第一备份区域或者第二备份区域,由此计算机设备可以基于升级标志,确定用于存储目标软件的当前版本数据的当前备份区域,进而确定新版本数据的存储位置。因此,计算机设备响应于针对目标软件的升级指令,可以首先获取目标软件对应的升级标志。其中,针对目标软件的升级指令可以为用户主动向计算机设备发起的软件升级操作,也可以是计算机设备在检测到目标软件具有更新的版本数据后,自动发起的升级指令,在此可以不做限定。
可以理解的,升级标志可以随着目标软件处于不同的版本时,改变其所指示的实际位置,也就是说,升级标志始终指示目标软件的当前版本数据所在的当前备份区域,但当前备份区域可以随着目标软件处于不同的版本而改变实际位置。
在一些实施方式中,计算机设备可以通过在不同情况下,为升级标志赋予不同的数值大小,以表征不同的含义。计算机设备可以预先确定升级标志的不同数值对应不同的意义,用以在获取目标软件的升级标志后,可以准确地得到目标软件的相关信息。显然,目标软件对应的升级标志不仅可以表征目标软件的当前运行版本所在的当前备份区域,还可以表征当前备份区域的具体物理地址或者当前版本的数据大小、更新时间等信息。
步骤S202:基于所述升级标志,确定用于存储所述新版本数据的目标备份区域。
在本申请实施例中,计算机设备在获取目标软件对应的升级标志后,可以确定升级标志所指示的当前备份区域为第一备份区域/第二备份区域,由此可以将第二备份区域/第一备份区域确定为目标软件的新版本数据对应的目标备份区域。总的来说,计算机设备的存储装置可以包括用于目标软件升级的第一备份区域以及第二备份区域,在目标软件没有升级需求的情况下,通常其中一个备份区域是空的,另一个备份区域用于存储目标软件的当前版本数据。在需求对目标软件进行升级的情况下,计算机设备可以将这个空的备份区域作为目标备份区域,用以存储目标软件对应的新版本数据。由此可以在目标软件正常运行且不侵占当前备份区域的同时,实现了新版本数据的下载,其后还可以实现对新版本数据的校验。因此,计算机设备响应于针对目标软件的升级操作后,可以通过获取的目标软件对应的升级标志,确定用于存储目标软件当前版本数据的当前备份区域,进而将另一个备份区域作为存储目标软件的新版本数据的目标备份区域。
在一些实施方式中,所述升级标志包括第一标志以及第二标志,所述第一标志用于指示所述当前备份区域为第一备份区域,所述第二标志用于指示所述当前备份区域为所述第二备份区域。基于升级标志,确定目标备份区域的方法可以包括以下步骤:
若所述升级标志为所述第一标志,则将第二备份区域作为所述目标备份区域;若所述升级标志为所述第二标志,则将所述第一备份区域作为所述目标备份区域。
也就是说,计算机设备可以通过目标软件对应的升级标志为第一标志或者第二标志,确定当前备份区域为第一备份区域或者第二备份区域,进而将第二备份区域或者第一备份区域作为目标备份区域。具体来说,第一标志于第二标志的区别可以仅仅是一个数值大小的区别,但由于计算设备可以预先设定不同数值大小用于指示不同的含义,因此计算机设备可以直接通过不同数值大小的升级标志确定其所指示的含义。在一些实施方式中,计算机设备可以将部分数值大小设置为用于指示目标软件的当前备份区域为第一备份区域或者当前备份区域为第二备份区域。例如,计算机设备可以基于目标软件的当前实际情况,依照下表确定升级标志的取值:
序号 | 升级标志取值 | 含义 |
1 | 0xA0 | 当前版本数据存放于第一备份区域 |
2 | 0xB0 | 当前版本数据存放于第二备份区域 |
步骤S203:获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域。
在本申请实施例中,步骤S203可以参阅其他实施例的内容,在此不再赘述。
步骤S204:对所述新版本数据进行校验。
在本申请实施例中,计算机设备在将目标软件的新版本数据存储至目标备份区域后,还需要在对目标软件进行重启升级之前,对新版本数据进行校验,也就是判断接收到的新版本数据是否完整且准确,预测基于这个新版本数据是否能够成功对目标软件进行升级。若校验成功则可以基于新版本数据对目标软件进行后续的重启升级,若校验不成功,则可以避免直接对目标软件重启后升级失败,影响用户使用体验。
在一些实施方式中,计算机设备可以在接收新版本数据的同时接收一个标准校验码,并且在完整接收到新版本数据后基于预设算法得到一个计算校验码,若标准校验码与计算校验码匹配,那么表明校验成功,若不匹配则表明校验失败。
在一些实施方式中,若计算机设备对新版本数据校验失败,也就是计算机设备接收到的新版本数据存在错误,无法基于接收到的新版本对目标软件进行更新,此时计算机设备可以通过终端显示设备输出提示信息,以告知用户目标软件升级失败,用户可以手动对目标软件进行升级或者保留使用目标软件的当前版本。
步骤S205:若校验成功且所述升级标志当前为所述第一标志,则将所述升级标志更新为所述第三标志。
在本申请实施例中,所述升级标志还包括第三标志,所述第三标志用于指示当前有所述新版本数据存放于所述第二备份区域。若计算机设备对目标软件的新版本数据校验成功,表明此时可以基于新版本数据对目标软件进行升级,那么计算机设备在对目标软件进行重启升级之前,还需要将升级标志进行更新,使其指向新版本数据所在的目标备份区域,由此目标软件在重启的过程中就可以准确地获取目标备份区域中存储的新版本数据。具体来说,也就是若当前升级标志为第一标志,也就是存储当前版本数据的当前备份区域为第一备份区域,那么目标备份区域为第二备份区域,计算机设备就可以将升级标志更新为第三标志,以指示当前有新版本数据存放于第二备份区域。
步骤S206:若校验成功且所述升级标志当前为所述第二标志,则将所述升级标志更新为所述第四标志。
在本申请实施例中,所述升级标志还包括第四标志,所述第四标志用于指示当前有所述新版本数据存放于所述第一备份区域。若计算机设备对新版本数据校验成功,并且存储目标软件当前版本数据的当前备份区域为第二备份区域,也就是将新版本数据存储于第一备份区域,那么计算机设备还可以在对目标软件进行重启升级之前,将目标软件对应的升级标志更新为第四标志,以指示当前存在新版本数据于第一备份区域,由此计算机设备在对目标软件进行重启升级的过程中,可以直接基于更新后的升级标志,在第一备份区域中获取新版本数据,进而实现对目标软件的升级。
在一些实施方式中,计算机设备可以基于目标软件的当前实际情况,依照下表完成对升级标志的更新:
序号 | 升级标志取值 | 含义 |
1 | 0xA1 | 有新版本数据存放于第一备份区域 |
2 | 0xB1 | 有新版本数据存放于第二备份区域 |
步骤S207:响应于对所述目标软件的重启操作,若所述升级标志当前为所述第三标志,则从所述第二备份区域中将所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
在本申请实施例中,计算机设备在对新版本数据校验成功,并且将目标软件对应的升级标志进行更新之后,可以响应于对目标软件的重启操作,完成对目标软件的升级更新。可以理解的,目标软件重启后,会从升级标志所指示的备份区域中加载新版本数据,而不同的升级标志可以表征目标软件的新版本数据存储于不同的备份区域,因此计算机设备会基于不同的升级标志,从不同的备份区域中得到新版本数据。具体来说,目标软件重启后,若升级标志为第三标志,由上述分析可知,第三标志用于指示当前存在新版本数据于第二备份区域,因此,计算机设备会从第二备份区域中获取目标软件的新版本数据,并将新版本数据加载到目标软件的运行区域中,以使运行区域的目标软件在运行时实现版本升级。
在一些实施方式中,针对于目标软件的重启操作,可以是用户在确定目标软件可以进行更新升级后,基于自身需求主动进行的重启操作,也可以是计算机设备在确定目标软件可以进行更新升级后,自动指示目标软件进行的重启操作,在此可以不做限定。
步骤S208:响应于对所述目标软件的重启操作,若所述升级标志当前为所述第四标志,则从所述第一备份区域中将所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
在本申请实施例中,在完成对升级标志的更新后,计算机设备可以响应于对目标软件的重启操作,完成对目标软件的升级更新。具体来说,若更新后的升级标志为第四标志,由上述分析可知,第四标志用于指示当前存在目标软件对应的新版本数据并且存储于第一备份区域,因此计算机设备在目标软件重启后,会基于升级标志,从第一备份区域中获取新版本数据,并将新版本数据加载至目标软件的运行区域中,以使在运行区域中运行的目标软件实现升级更新。
步骤S209:若成功运行所述目标软件且所述升级标志当前为所述第三标志,则将所述升级标志更新为所述第二标志。
在本申请实施例中,计算机设备在将新版本数据加载到运行区域后,若目标软件能够成功运行,表明新版本数据不存在运行问题,目标软件已经成功升级,那么此时计算机设备可以再次对目标软件对应的升级标志进行更新。此时备份区域中的新版本数据是目标软件正在运行的当前版本,而备份区域中的当前版本数据则成为了目标软件的旧版本数据,并且,此时目标软件不存在更新的版本数据进行更新,也就是说,目标软件不再需求通过第三标志或者第四标志的升级标志,来指示当前存在新版本数据,因此计算机设备可以对升级标志进行更新。具体来说,若升级标志为第三标志,也就是指示当前存在新版本数据于第二备份区域,那么计算机设备可以将升级标志更新为第二标志,也就是存在当前版本数据于第二备份区域,也就是将备份区域中的新版本数据更新为当前版本数据。
在一些实施方式中,在新版本目标软件成功运行后,计算机设备可以将存放旧版本目标软件的备份区域中的数据删除,以便于随时接收更新版本的升级数据。在另一些实施方式中,计算机设备也可以在接收到对目标软件的升级指令后,再将存放旧版本目标软件的备份区域中的数据删除,以避免新版本目标软件在后续运行过程中出现问题后无法进行版本回滚。
步骤S210:若成功运行所述目标软件且所述升级标志当前为所述第四标志,则将所述升级标志更新为所述第一标志。
在本申请实施例中,计算机设备在基于新版本数据对目标软件成功升级后,还需要对目标软件对应的升级标志进行更新。若升级标志为第四标志,用于指示当前存在新版本数据于第一备份区域,显然此时第一备份区域中的新版本数据正是当前正在成功运行的目标软件的当前版本数据,因此,计算机设备可以将第四标志更新为第一标志,用于指示存在当前版本数据于第一备份区域,由此不必再对当前版本数据的存储位置进行更改,仅仅改变了备份区域中版本数据所表征的意义即可。
步骤S211:若未成功运行所述目标软件,则将所述当前备份区域中的所述当前版本数据加载到所述运行区域,并基于所述运行区域中的所述当前版本数据运行所述目标软件。
在本申请实施例中,在计算机设备将新版本数据加载至运行区域后,目标软件会基于运行区域中的数据进行运行,若此时目标软件没有成功运行,那么表明计算机设备加载至运行区域中的新版本数据存在问题。此时,为避免影响用户使用体验,保证目标软件的正常运行,计算机设备可以重新将当前版本数据加载至运行区域,并基于当前版本数据运行目标软件,放弃基于新版本数据对目标软件进行升级。
在一些实施方式中,计算机设备可以通过设置跳转标志并为其赋予不同的数值,用以在目标软件重启后,判断当前将哪种版本数据加载至运行区域。例如,计算机设备可以在当前备份区域存在新版本数据,并且目标软件重启后,通过跳转标志的不同数值,确定目标软件是否成功运行新版本数据。若跳转标志用于指示新版本数据通过校验但尚未被成功运行,那么计算机设备可以将新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件;若跳转标志用于指示新版本数据通过校验但没有被成功运行,那么计算机设备可以将当前版本数据加载至运行区域,并基于运行区域中的当前版本数据运行目标软件。
在一些实施方式中,计算机设备在目标软件未成功运行后,可以通过终端显示装置发送提示信息,以便于用户及时获取目标软件升级失败的信息。此时用户可以手动对目标软件进行升级,或指示计算机设备再次重新获取目标软件的新版本数据。在另一些实施方式中,计算机设备在目标软件未成功运行,也就是确定获取的新版本数据存在错误后,可以将备份区域中的新版本数据删除,以便于后续的目标软件的新版本数据的获取。
本申请实施例提供的软件升级方法,通过目标软件的升级标志确定存放新版本数据的目标备份区域,并对新版本数据进行校验,基于校验结果对目标软件的升级标志进行更新,响应于对目标软件的重启操作,将新版本数据加载到目标软件的运行区域,并基于运行区域中的新版本数据运行目标软件,再次基于运行结果对目标软件的升级标志进行更新。实现了将新版本数据与当前版本数据区分,并在目标软件运行的情况下下载并校验新版本数据,避免了对目标软件升级时的手动操作,提示用户体验。
请参阅图4,其示出了本申请实施例提供的软件升级方法的整体流程示意图。计算机设备可以在目标软件的运行过程中接收升级指令,并响应于升级指令判断目标软件对应的升级标志为第一标志或者第二标志,进而确定用于存储新版本数据的目标备份区域;在获取新版本数据后可以对新版本数据进行校验,若校验成功则基于新版本数据存储的目标备份区域更新升级标志。其后,计算机设备可以响应于重启操作,指示目标软件进行重启,计算机设备在上电后会自动进入引导加载区域(BOOTLOADER)中并判断目标软件对应的升级标志,若此时升级标志被更新为第三标志或第四标志,表明此时第二备份区域或者第一备份区域中存储有目标软件对应的新版本数据,那么此时计算机设备可以进一步判断目标软件对应的跳转标志。若跳转标志为0,计算机可以基于预设的不同跳转标志分别表征的意义,确定计算机设备尚未基于新版本数据对目标软件进行运行,因此,计算机设备可以基于升级标志所指示的新版本数据存储的备份区域,将新版本数据加载至目标软件的运行区域,并将跳转标志更新为1,以标志此后已经基于新版本数据对目标软件进行过运行操作;显然,若跳转标志一直为1,那么表明此前计算机设备已经基于新版本数据对目标软件进行运行,但运行失败,新版本数据可能存在问题,因此目标软件重新进入了引导加载区域,所以计算机设备不能加载新版本数据,而应该将当前版本数据加载至运行区域,同时在加载完成后将升级标志进行更新,以指示当前版本数据的存储位置,而不再指示目标软件存在新版本数据。此后计算机设备可以基于运行区域中新加载的数据进行运行,若成功运行,计算机设备可以基于此时的升级标志判断当前运行的版本是新版本数据还是当前版本数据,也就是说,若升级标志为第一标志或第二标志,那么表明计算机设备已经确定新版本数据存在问题,此时运行的版本是当前版本数据,若升级标志为第三标志或第四标志,那么运行的版本是新版本数据。若升级标志为第三标志或者第四标志,同时此时已经可以确定目标软件运行成功,那么计算机设备可以将升级标志再次更新为第一标志或者第二标志,以表征当前目标软件不存在更新的新版本数据。
请参阅图5,其示出了本申请实施例提供的一种软件升级装置200的结构框图,软件升级装置200包括:区域确定模块210、数据获取模块220以及数据加载模块230。其中,区域确定模块210用于在目标软件于运行区域中运行的情况下,响应于针对目标软件的升级指令,确定用于存储目标软件的新版本数据的目标备份区域,目标备份区域与目标软件的当前版本数据所在的当前备份区域不同;数据获取模块220用于获取新版本数据,并将新版本数据存储于目标备份区域;数据加载模块230用于响应于对目标软件的重启操作,将目标备份区域中存储的新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件。
作为一种可能的实施方式,区域确定模块210包括标志获取单元以及区域确定单元。其中,标志获取单元用于在目标软件于运行区域中运行的情况下,响应于针对目标软件的升级指令,获取当前目标软件对应的升级标志,升级标志用于指示当前版本数据所在的当前备份区域;区域确定单元用于基于升级标志,确定用于存储新版本数据的目标备份区域。
作为一种可能的实施方式,升级标志包括第一标志以及第二标志,第一标志用于指示当前备份区域为第一备份区域,第二标志用于指示当前备份区域为第二备份区域。区域确定单元还用于若升级标志为第一标志,则将第二备份区域作为目标备份区域;若升级标志为第二标志,则将第一备份区域作为目标备份区域。
作为一种可能的实施方式,升级标志还包括第三标志以及第四标志,第三标志用于指示当前有新版本数据存放于第二备份区域,第四标志用于指示当前有新版本数据存放于第一备份区域。软件升级装置200还包括数据校验模块、第一标志模块以及第二标志模块。其中,数据校验模块用于对新版本数据进行校验;第一标志模块用于若校验成功且升级标志当前为第一标志,则将升级标志更新为第三标志;第二标志模块用于若校验成功且升级标志当前为第二标志,则将升级标志更新为第四标志。
作为一种可能的实施方式,数据加载模块230还用于响应于对目标软件的重启操作,若升级标志当前为第三标志,则从第二备份区域中将新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件;若升级标志当前为第四标志,则从第一备份区域中将新版本数据加载到运行区域,并基于运行区域中的新版本数据运行目标软件。
作为一种可能的实施方式,软件升级装置200还包括第三标志模块以及第四标志模块。其中,第三标志模块用于若成功运行目标软件且升级标志当前为第三标志,则将升级标志更新为第二标志;第四标志模块用于若成功运行目标软件且升级标志当前为第四标志,则将升级标志更新为第一标志。
作为一种可能的实施方式,软件升级装置200还包括版本回滚模块,用于若未成功运行目标软件,则将当前备份区域中的当前版本数据加载到运行区域,并基于运行区域中的当前版本数据运行目标软件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的方案,通过在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。通过在目标软件运行的情况下获取新版本数据,并将新版本数据存储在与当前备份区域不同的目标备份区域,避免了对目标软件升级时的额外操作,提高了目标软件升级的安全性,提升用户体验。
请参考图6,其示出了本申请实施例提供的一种计算机设备300的结构框图。其中,计算机设备300可以为手机、电脑、平板或车载终端等任何能够支持软件应用运行的智能终端设备等。本申请中的计算机设备300可以包括一个或多个如下部件:处理器310、存储器320、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器320中并被配置为由一个或多个处理器310执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器310可以包括一个或者多个处理核。处理器310利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在存储器320内的指令、程序、代码集或指令集,以及调用存储在存储器320内的数据,执行计算机设备的各种功能和处理数据。可选地,处理器310可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器310可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器310中,单独通过一块通信芯片进行实现。
存储器320可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器320可用于存储指令、程序、代码、代码集或指令集。存储器320可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储计算机设备在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种软件升级方法,其特征在于,所述方法包括:
在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;
获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;
响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
2.根据权利要求1所述的方法,其特征在于,所述在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,包括:
在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,获取当前所述目标软件对应的升级标志,所述升级标志用于指示所述当前版本数据所在的当前备份区域;
基于所述升级标志,确定用于存储所述新版本数据的目标备份区域。
3.根据权利要求2所述的方法,其特征在于,所述升级标志包括第一标志以及第二标志,所述第一标志用于指示所述当前备份区域为第一备份区域,所述第二标志用于指示所述当前备份区域为所述第二备份区域;
所述基于所述升级标志,确定用于存储所述新版本数据的目标备份区域,包括:
若所述升级标志为所述第一标志,则将第二备份区域作为所述目标备份区域;
若所述升级标志为所述第二标志,则将所述第一备份区域作为所述目标备份区域。
4.根据权利要求3所述的方法,其特征在于,所述升级标志还包括第三标志以及第四标志,所述第三标志用于指示当前有所述新版本数据存放于所述第二备份区域,所述第四标志用于指示当前有所述新版本数据存放于所述第一备份区域;
在所述获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域之后,所述方法还包括:
对所述新版本数据进行校验;
若校验成功且所述升级标志当前为所述第一标志,则将所述升级标志更新为所述第三标志;
若校验成功且所述升级标志当前为所述第二标志,则将所述升级标志更新为所述第四标志。
5.根据权利要求4所述的方法,其特征在于,所述响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本升级数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件,包括:
响应于对所述目标软件的重启操作,若所述升级标志当前为所述第三标志,则从所述第二备份区域中将所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件;
若所述升级标志当前为所述第四标志,则从所述第一备份区域中将所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
6.根据权利要求4所述的方法,其特征在于,在所述响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本升级数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件之后,所述方法还包括:
若成功运行所述目标软件且所述升级标志当前为所述第三标志,则将所述升级标志更新为所述第二标志;
若成功运行所述目标软件且所述升级标志当前为所述第四标志,则将所述升级标志更新为所述第一标志。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本升级数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件之后,所述方法还包括:
若未成功运行所述目标软件,则将所述当前备份区域中的所述当前版本数据加载到所述运行区域,并基于所述运行区域中的所述当前版本数据运行所述目标软件。
8.一种软件升级装置,其特征在于,所述装置包括:区域确定模块、数据获取模块以及数据加载模块,其中,
所述区域确定模块用于在目标软件于运行区域中运行的情况下,响应于针对所述目标软件的升级指令,确定用于存储所述目标软件的新版本数据的目标备份区域,所述目标备份区域与所述目标软件的当前版本数据所在的当前备份区域不同;
所述数据获取模块用于获取所述新版本数据,并将所述新版本数据存储于所述目标备份区域;
所述数据加载模块用于响应于对所述目标软件的重启操作,将所述目标备份区域中存储的所述新版本数据加载到所述运行区域,并基于所述运行区域中的所述新版本数据运行所述目标软件。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262088.5A CN115756561A (zh) | 2022-10-14 | 2022-10-14 | 软件升级方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211262088.5A CN115756561A (zh) | 2022-10-14 | 2022-10-14 | 软件升级方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115756561A true CN115756561A (zh) | 2023-03-07 |
Family
ID=85351471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211262088.5A Pending CN115756561A (zh) | 2022-10-14 | 2022-10-14 | 软件升级方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756561A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521201A (zh) * | 2023-04-26 | 2023-08-01 | 如果新能源科技(江苏)股份有限公司 | 电池包的软件升级方法和电池包 |
CN117873540A (zh) * | 2024-03-13 | 2024-04-12 | 成都星联芯通科技有限公司 | 前面板升级流程优化方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032846A (zh) * | 2018-08-08 | 2018-12-18 | 京信通信系统(中国)有限公司 | 设备远程备份升级方法、装置、计算机存储介质及设备 |
CN110874237A (zh) * | 2019-12-30 | 2020-03-10 | 深圳市英博超算科技有限公司 | 软件升级方法、装置、终端以及可读存储介质 |
WO2021168840A1 (zh) * | 2020-02-28 | 2021-09-02 | 华为技术有限公司 | 一种软件版本回滚方法、装置及系统 |
CN113760332A (zh) * | 2021-08-30 | 2021-12-07 | 青岛信芯微电子科技股份有限公司 | 软件升级方法和电子设备 |
CN113805926A (zh) * | 2021-09-14 | 2021-12-17 | 上汽通用五菱汽车股份有限公司 | 软件升级方法、车辆及计算机可读存储介质 |
CN114296757A (zh) * | 2021-12-20 | 2022-04-08 | 歌尔科技有限公司 | 可穿戴设备的软件升级方法、装置、可穿戴设备及介质 |
CN114995854A (zh) * | 2022-05-31 | 2022-09-02 | 湖南三一智能控制设备有限公司 | 应用程序在线升级方法、装置、终端及作业机械 |
-
2022
- 2022-10-14 CN CN202211262088.5A patent/CN115756561A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032846A (zh) * | 2018-08-08 | 2018-12-18 | 京信通信系统(中国)有限公司 | 设备远程备份升级方法、装置、计算机存储介质及设备 |
CN110874237A (zh) * | 2019-12-30 | 2020-03-10 | 深圳市英博超算科技有限公司 | 软件升级方法、装置、终端以及可读存储介质 |
WO2021168840A1 (zh) * | 2020-02-28 | 2021-09-02 | 华为技术有限公司 | 一种软件版本回滚方法、装置及系统 |
CN113760332A (zh) * | 2021-08-30 | 2021-12-07 | 青岛信芯微电子科技股份有限公司 | 软件升级方法和电子设备 |
CN113805926A (zh) * | 2021-09-14 | 2021-12-17 | 上汽通用五菱汽车股份有限公司 | 软件升级方法、车辆及计算机可读存储介质 |
CN114296757A (zh) * | 2021-12-20 | 2022-04-08 | 歌尔科技有限公司 | 可穿戴设备的软件升级方法、装置、可穿戴设备及介质 |
CN114995854A (zh) * | 2022-05-31 | 2022-09-02 | 湖南三一智能控制设备有限公司 | 应用程序在线升级方法、装置、终端及作业机械 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521201A (zh) * | 2023-04-26 | 2023-08-01 | 如果新能源科技(江苏)股份有限公司 | 电池包的软件升级方法和电池包 |
CN116521201B (zh) * | 2023-04-26 | 2024-07-09 | 如果新能源科技(江苏)股份有限公司 | 电池包的软件升级方法和电池包 |
CN117873540A (zh) * | 2024-03-13 | 2024-04-12 | 成都星联芯通科技有限公司 | 前面板升级流程优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
CN115756561A (zh) | 软件升级方法、装置、计算机设备以及存储介质 | |
US8181007B2 (en) | Electronic device and method for secure operating system update in embedded system | |
US8583907B2 (en) | Electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN110825563B (zh) | 系统恢复方法、装置以及电子设备 | |
US20100235617A1 (en) | System recovery method and embedded system with automatic recovery function | |
CN111796848A (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN109582372B (zh) | 一种系统的启动方法及装置 | |
CN109753299A (zh) | 一种系统升级方法、装置以及计算机存储介质 | |
CN106293849B (zh) | 一种应用更新方法和终端 | |
US20070050612A1 (en) | Boot program update and restoration system and method thereof | |
CN110908733B (zh) | 工作模式确定方法及装置、控制方法及装置 | |
CN113396391B (zh) | 应用程序启动的方法、装置、电子设备及存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN113094077A (zh) | 一种系统差分升级方法、装置、智能终端及存储介质 | |
US20150168934A1 (en) | Electronic device and method for loading program code thereof | |
CN110309018B (zh) | 充电设备系统切换方法、充电设备及可读存储介质 | |
CN111176689B (zh) | 信息处理方法和电子设备 | |
CN114356658A (zh) | 固件升级异常的处理方法、计算机设备以及可读存储介质 | |
US11768669B2 (en) | Installing application program code on a vehicle control system | |
CA2539897C (en) | An electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
KR100762618B1 (ko) | 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템 |
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 |