CN117573163A - 软件异常回滚方法、装置、设备及存储介质 - Google Patents
软件异常回滚方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117573163A CN117573163A CN202311549225.8A CN202311549225A CN117573163A CN 117573163 A CN117573163 A CN 117573163A CN 202311549225 A CN202311549225 A CN 202311549225A CN 117573163 A CN117573163 A CN 117573163A
- Authority
- CN
- China
- Prior art keywords
- upgraded
- program
- software
- running
- upgrade
- 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 53
- 230000002159 abnormal effect Effects 0.000 claims abstract description 40
- 238000005096 rolling process Methods 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 19
- 238000004378 air conditioning Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005057 refrigeration Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明涉及软件升级技术领域,特别涉及一种软件异常回滚方法、装置、设备及计算机可读存储介质。
背景技术
在嵌入式设备中,软件的远程更新是保持系统性能和功能最新的关键步骤之一。然而,由于各种原因,例如网络中断、硬件故障或软件错误,软件的远程升级过程可能会失败。目前,已经存在一些软件远程升级的解决方案,其中包括将升级后的软件部署到升级区并校验其完整性以确保成功升级。但是,这些现有方法仅依赖于校验结果(如CRC校验或哈希校验等)来判断升级是否成功,而无法处理升级后出现的软件异常或不符合预设条件的情况。
发明内容
为了解决现有存在的技术问题,本发明实施例提供一种软件异常回滚方法、装置、设备及计算机可读存储介质,能够在软件程序升级后出现异常时,及时对软件程序的软件版本进行回滚,以提高设备的稳定性及可靠性。
第一方面,提供一种软件异常回滚方法,包括:
在当前升级文件对待升级程序进行升级后,校验升级后的所述待升级程序的运行逻辑;
在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚。
第二方面,提供一种软件异常回滚装置,包括:
升级模块,用于在当前升级文件对待升级程序进行升级后,校验升级后的所述待升级程序的运行逻辑;
回滚模块,用于在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚。
第三方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例所提供的软件异常回滚方法的步骤。
第四方面,提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请实施例所提供的软件异常回滚方法的步骤。
在上述实施例中,利用当前升级文件对待升级程序进行升级,并校验升级后的待升级程序在运行过程中是否会出现运行逻辑异常,在升级后的待升级程序的运行逻辑异常时,表示升级后的待升级程序影响待升级设备的主要功能实现,对升级后的待升级程序的软件版本进行回滚,以提高待升级设备的稳定性及可靠性。
附图说明
图1为一实施例中软件异常回滚方法的应用环境图;
图2为一实施例中软件异常回滚方法的流程图;
图3为另一实施例中软件异常回滚方法的流程图;
图4为一实施例中软件异常回滚装置的示意图;
图5为一实施例中电子设备的示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明技术方案做进一步的详细阐述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明的保护范围。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在以下的描述中,涉及到“一些实施例”的表述,其描述了所有可能实施例的子集,但是应当理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
参阅图1,为一实施例中软件异常回滚方法的应用环境图。应用环境图数据系统可以包括上位机100及待升级设备200。上位机100与待升级设备200可以相互通信。用户可以在上位机100上可以编辑升级文件,该升级文件用户对待升级设备200中的一个或者多个待升级程序进行升级,例如可以对待升级设备200上的一个或者多个固件进行升级。在一可选示例中,待升级设备200可以是具有一定功能的电子设备,包括但不限于嵌入式设备。例如可以是空调设备。待升级设备200从上位机100处获取升级文件以对自身的待升级程序进行升级,从而实现远程升级。
请参阅图2,为本申请一实施例提供的软件异常回滚方法的流程图。软件异常回滚方法应用于电子设备中,该软件异常回滚方法包括如下步骤:
S11、在当前升级文件对待升级程序进行升级后,校验升级后的所述待升级程序的运行逻辑。
在本实施例中,利用当前升级文件对待升级程序进行升级,只是将升级后的待升级程序作为升级软件运行,但不设置为运行软件,还需要进一步校验升级后的待升级程序的运行逻辑。其中运行软件指示能够实现待升级设备200基本功能的软件。
其中运行逻辑指示待升级设备200的主要功能是否能够实现。例如若待升级设备200为空调设备,运行逻辑包括但不限于:制冷功能效果、电子膨胀阀功能、网络连接功能等等。
具体地,在利用当前升级文件对待升级程序进行升级后,获取升级后的待升级程序在运行过程中的运行状态中的日志数据,通过分析日志数据得到运行过程中的错误类型,通过错误类型判断升级后的待升级程序的运行逻辑是否满足指示运行逻辑异常的预设回滚条件。当出现影响待升级设备200的主要功能实现的错误类型时,则表示升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件。即利用当前升级文件对待升级程序升级后,无法实现待升级设备200的主要功能,因此需要对待升级设备200的软件版本进行回滚。
例如,若待升级设备200为空调设备时,若出现错误类型包括但不限于:运行预设时长后室内温度没有达到设定温度、电子膨胀阀出现连续多次打开关闭的操作、网络连接异常、串口通信异常、异常复位时,则表示升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件,升级后的空调设备无法实现主要功能。
S12、在获取到升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的待升级程序的软件版本进行回滚。
在本实施例中,在对接收到的当前升级文件校验成功后,继续校验升级后的待升级程序是否能够实现主要功能。其中预设回滚条件指示升级后的待升级程序无法实现其对应的主要功能。例如若待升级设备200为空调设备,预设回滚条件包括但不限于:运行预设时长后室内温度没有达到设定温度、电子膨胀阀出现连续多次打开关闭的操作、网络连接异常、串口通信异常、异常复位等等。若在获取到升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,需要将升级后的待升级程序的软件版本回滚到以前的能够正常运行的版本中。
例如,在一可选应用场景的示例中,若空调设备A的主控器的软件程序的当前软件版本为V1000,由于客户新增功能需求,需要将空调设备A的主控器的软件程序版本升级为V1001版本,利用本申请实施例提供的方法在对获取到的V1001版本校验成功通过后,进一步验证V1001版本的运行逻辑,但利用V1001版本对空调设备A的主控器升级后,运行预设时长后,空调设备A达不到设定的温度,则表示V1001版本的运行逻辑有异常,升级后的主控器的软件程序的运行逻辑满足指示运行逻辑异常的预设回滚条件,将升级后的主控器的软件程序回滚到以前正常的版本。
在上述实施例中,获取当前升级文件,利用当前升级文件对待升级程序进行升级,并进一步校验升级后的待升级程序在运行过程中是否会出现运行逻辑异常,在升级后的待升级程序的运行逻辑异常时,表示升级后的待升级程序影响待升级设备的主要功能实现,对升级后的待升级程序的软件版本进行回滚,以提高待升级设备的稳定性及可靠性。
在对设备进行维护时,经常会遇到难以定位的运行错误bug,该运行错误bug只能在特定的现场环境下才会出现,此时可以根据调试错误对应的解决方向生成不同解决方案的升级文件以便于快速定位调试错误。
在一些实施例中,升级文件包括多个,所述在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚包括:
将多个升级文件中剩余的升级文件中的一个更新为所述当前升级文件,将升级后的所述待升级程序的软件版本滚动为所述当前升级文件;
若剩余的升级文件中有一个目标升级文件在对所述待升级程序升级后,升级后的所述待升级程序的运行逻辑正常,则将所述目标升级文件对应的升级后的所述待升级程序确定为所述待升级程序的运行软件;
若剩余的所有升级文件在对待升级程序升级后,都校验到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,提示异常信息。
可选的,所述多个升级文件中每个升级文件对应所述待升级程序运行中所出现的问题的一个解决方案。
具体地,上位机100可以获取待升级程序运行过程中的运行错误bug及获取待升级设备200在运行过程中的日志数据,通过对日志数据进行分析,确定运行错误的错误类型及根据错误类型确定该错误的解决方案,并基于该错误的解决方案生成对应的升级文件。生成的升级文件可以在用户界面上显示,上位机100的用户可以基于生成的升级文件调整升级文件对应的参数。在其他实施例中,上位机100的用户直接根据运行错误配置运行错误对应的升级文件。在上位机100与待升级设备200能够正常通信的状态下,待升级设备200可以从上位机100处获取多个升级文件,并根据每个升级文件的文件标识将升级文件存储在对应的存储位置以对待升级程序进行升级。
由于每个升级文件对应一个解决方案,即每个升级文件对应的是一个解决方向,分别依次利用多个升级文件升级待升级程序,若当前升级文件对待升级程序升级后,不能解决出现的错误,即运行错误还是会重现,表示当前升级文件对应的解决方案不能解决运行错误,将升级后的待升级程序自动滚动为下一个升级文件,继续校验下一个升级文件对待升级程序升级后的运行逻辑,若在对多个升级文件的运行逻辑的校验过程中,有一个目标升级文件对待升级程序升级后,升级后的待升级程序没有出现运行错误,则表示该目标升级文件对应的解决方案能够解决运行错误,将目标升级文件对应的升级后的待升级程序确定为待升级程序的运行软件。
例如,在一可选应用场景的示例中,若空调设备A的主控软件程序的当前软件版本为V1000,但该版本存在一个难定位的运行错误bug,例如运行预设时长后达不到设定的温度,根据该运行错误bug,上位机100生成了三个升级文件,第一升级文件指示的解决方向为运行时长不够且自动复位,第二升级文件指示的解决方向为室内机与室外机的串口通信中断频繁,第三升级文件指示的解决方向为电子膨胀阀出现连续多次打开关闭的操作。在对接收的三个升级文件校验成功通过后,分别依次利用这三个升级文件对空调设备A的主控软件程序进行升级,利用第一升级文件对主控软件程序进行升级,升级后的主控软件程序仍然会出现运行预设时长后达不到设定的温度,表示第一升级文件指示的解决方向不能解决上述出现的bug,然后将升级后的主控软件程序自动滚动为第二升级文件,利用第二升级文件对主控软件程序进行升级,升级后的主控软件程序没有再出现运行预设时长后达不到设定的温度的错误,表示第二升级文件指示的室内机与室外机的串口通信中断频繁的解决方向能够解决上述出现的bug,将第二升级文件对应的升级后的主控软件程序确定为运行软件。
在上述实施例中,根据待升级程序出现的错误生成不同方向的升级文件,依次利用升级文件对待升级程序进行升级,并校验升级后的待升级程序的运行逻辑是否能正常,若有一个目标升级文件在对待升级程序升级后,升级后的待升级程序的运行逻辑正常,则将目标升级文件对应的升级后的所述待升级程序确定为所述待升级程序的运行软件,若所有升级文件对应的升级后的待升级程序都还是运行逻辑异常,表示待升级程序出现的错误仍然不能解决。因此,本实施例通过表示不同解决方向的多个升级文件依次滚动对待升级程序进行升级,并校验升级的待升级程序的运行逻辑,以便于快速定位问题方向,从而提高设备的维护效率。
在一些实施例中,所述在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚包括:
在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
其中运行区为一预设存储空间,用于存储运行逻辑正常的升级文件。由于升级包括文件标识、文件版本。其中文件标识用于指示升级文件所要升级的软件程序,通过文件标识就能确定该升级文件所要升级的待升级程序,因此通过文件标识能够获取到与待升级程序匹配的升级文件,通过文件版本能够获取到待升级程序对应的时间最近的升级文件。
在升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,表示升级的待升级程序不能使待升级设备实现基本功能,为了提高设备运行的稳定性及可靠性,从运行区中获取与待升级程序对应的运行软件,将待升级程序的软件版本回滚为获取的运行软件,从而提高设备运行的稳定性及可靠性。
在一些实施例中,所述方法还包括:当校验升级后的所述待升级程序的运行逻辑正常时,将升级后的所述待升级程序设置为运行软件。
在校验升级后的所述待升级程序的运行逻辑正常时,表示升级后的待升级程序能够使待升级设备200实现基本功能,将升级后的待升级程序设置为运行软件,并存储在运行区中。将运行逻辑正常的软件存储在运行区便于后续待升级程序的软件版本可以回滚到正常的软件版本,从而提高设备运行的稳定性及可靠性。
在一些实施例中,所述方法还包括:
获取当前升级文件;
校验所述当前升级文件;
在获取到所述当前升级文件校验成功后,利用所述当前升级文件对待升级程序进行升级;
在对所述当前升级文件校验失败后,将从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
在本实施例中,在待升级设备200可以主动向上位机100请求升级文件,也可以是上位机100主动向待升级设备200发送升级文件。在可选示例中,待升级设备200监测到运行过程中的运行状态,在运行状态指示运行错误时,待升级设备200获取该运行错误对应的软件程序,主动向上位机100请求与软件程序对应的升级文件。在另一可选示例中,上位机100可以监测待升级设备200的运行状态,在监测到待升级设备200的运行状态指示运行错误时,主动向待升级设备200发送运行错误对应的软件程序的升级文件。
当前升级文件为即将对待升级程序进行升级的升级文件。升级文件用于对待升级设备200的软件程序进行升级的程序文件。升级文件包括但不限于文件标识、文件版本。其中文件标识用于指示升级文件所要升级的软件程序,通过文件标识就能确定该升级文件所要升级的待升级程序。文件版本指升级文件的版本标识。版本标识包括但不限于版本号等等。对于待升级设备200的任意一个软件程序而言,可以对应多个版本不同的升级文件。
在本实施例中,利用预设校验方法校验当前升级文件。预设校验方法包括但不限于:循环冗余校验码(Cyclic Redundancy Check,CRC)、哈希校验、身份校验等等。
升级文件还包括预设校验码。待升级设备200在获取到当前升级文件后,会利用预设校验方法,根据获取的当前升级文件计算一个当前校验码,若当前校验码与预设码相同,则认为当前升级文件校验通过,可以利用当前升级文件对待升级程序进行升级;若当前校验码与预设码不同,则认为当前升级文件校验不通过,当前升级文件已损坏,无法利用当前升级文件对待升级程序升级。
在对获取的当前升级文件校验后,若对获取的当前升级文件校验失败,表示获取的当前升级文件有误,无法利用获取的当前升级文件对待升级程序进行升级,从运行区中获取与待升级程序对应的运行软件,并将待升级程序的软件版本回滚为获取的运行软件,从而提高设备运行的稳定性及可靠性。
在一些实施例中,所述升级文件存储在升级区,所述待升级程序对应的运行逻辑正常的软件版本存储在运行区,其中升级区与运行区的存储地址不同
其中升级区为另一预设存储空间,升级区用于存储升级文件,运行区用于存储运行逻辑正常的升级文件。升级区中的升级文件并一定是运行逻辑正常的软件,因此将升级区与运行区分别存储,便于快速能够找到回滚的软件版本,从而提高设备运行的稳定性及可靠性。
如图3所示,图3为另一实施例中软件异常回滚方法的流程图。该软件异常回滚方法包括如下步骤:
S31、获取当前升级文件。
S32、校验当前升级文件是否有效。
在对获取的当前升级文件校验有效时,执行S33,利用当前升级文件对待升级程序进行升级。在对获取的当前升级文件校验无效时,执行S37,对待升级程序的软件版本进行回滚。
S34、判断升级后的待升级程序的运行逻辑是否满足指示运行逻辑异常的预设回滚条件。
若升级后的待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件,执行S35;若升级后的待升级程序的运行逻辑不满足指示运行逻辑异常的预设回滚条件,执行S37,将升级后的待升级程序设置为运行软件。
图3中的具体步骤实现方法可以参照前述一个或者多个实施例所描述的实现方法,在此不再赘述。
请参阅图4,本申请一实施例提供一种软件异常回滚装置,包括:
升级模块22,用于在当前升级文件对待升级程序进行升级后,校验升级后的所述待升级程序的运行逻辑;回滚模块23,用于在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚。
可选的,升级文件包括多个,回滚模块23还用于:
将多个升级文件中剩余的升级文件中的一个更新为所述当前升级文件,并将升级后的所述待升级程序的软件版本滚动为所述当前升级文件;
若剩余的升级文件中有一个目标升级文件在对所述待升级程序升级后,且升级后的所述待升级程序的运行逻辑正常,则将所述目标升级文件对应的升级后的所述待升级程序确定为所述待升级程序的运行软件;
若剩余的所有升级文件在对待升级程序升级后,且都校验到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,提示异常信息。
可选的,所述多个升级文件中每个升级文件对应一个解决方案,所述解决方案用于解决所述待升级程序运行中所出现的问题。
可选的,回滚模块23还用于:
在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
可选的,回滚模块23还用于当校验升级后的所述待升级程序的运行逻辑正常时,将升级后的所述待升级程序设置为运行软件。
可选的,在利用所述当前升级文件对待升级程序进行升级之前,回滚模块23还用于:
获取当前升级文件;
校验所述当前升级文件;
在获取到所述当前升级文件校验成功后,利用所述当前升级文件对待升级程序进行升级;
在对所述当前升级文件校验失败后,将从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
可选的,所述升级文件存储在升级区,所述待升级程序对应的运行逻辑正常的软件版本存储在运行区,其中升级区与运行区的存储地址不同。
本领域技术人员可以理解的是,图4中软件异常回滚装置的结构并不构成对软件异常回滚装置的限定,所述各个模块可以全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的控制器中,也可以以软件形式存储于计算机设备中的存储器中,以便于控制器调用执行以上各个模块对应的操作。在其他实施例中,软件异常回滚装置中可以包括比图示更多或更少的模块。
请参阅图5,本申请实施例的另一方面,还提供了一种电子设备,包括存储器3011和处理器3012,存储器3011存储有计算机程序,计算机程序被处理器执行时,使得处理器212执行本申请上述任一实施例所提供的软件异常回滚方法的步骤。电子设备可包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一对智能眼镜或智能手表)或类似设备。
其中电子设备包括但不限于:嵌入式设备、计算设备。
其中处理器3012是控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器3011内的软件程序和/或模块,以及调用存储在存储器3011内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器3012可包括一个或多个处理核心;优选的,处理器3012可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器3012中。
存储器3011可用于存储软件程序以及模块,处理器3012通过运行存储在存储器3011的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器3011可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器3011可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器3011还可以包括存储器控制器,以提供处理器3012对存储器3011的访问。
本申请实施例另一方面,还提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请上述任一实施例所提供的软件异常回滚方法的步骤。
本领域普通技术人员可以理解实现上述实施例所提供的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围以准。
Claims (10)
1.一种软件异常回滚方法,其特征在于,包括:
在当前升级文件对待升级程序升级后,校验升级后的所述待升级程序的运行逻辑;
在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚。
2.如权利要求1所述的软件异常回滚方法,其特征在于,升级文件包括多个,所述在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚包括:
将多个升级文件中剩余的升级文件中的一个更新为所述当前升级文件,并将升级后的所述待升级程序的软件版本滚动为所述当前升级文件;
若剩余的升级文件中有一个目标升级文件在对所述待升级程序升级后,且升级后的所述待升级程序的运行逻辑正常时,则将所述目标升级文件对应的升级后的所述待升级程序确定为所述待升级程序的运行软件;
若剩余的所有升级文件在对待升级程序升级后,且都校验到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,提示异常信息。
3.如权利要求2所述的软件异常回滚方法,其特征在于,所述多个升级文件中每个升级文件对应一个解决方案,所述解决方案用于解决所述待升级程序运行中所出现的问题。
4.如权利要求1所述的软件异常回滚方法,其特征在于,所述在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚包括:
在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
5.如权利要求1所述的软件异常回滚方法,其特征在于,所述方法还包括:当校验升级后的所述待升级程序的运行逻辑正常时,将升级后的所述待升级程序设置为运行软件。
6.如权利要求1所述的软件异常回滚方法,其特征在于,在利用所述当前升级文件对待升级程序进行升级之前,所述方法还包括:
获取当前升级文件;
校验所述当前升级文件;
在获取到所述当前升级文件校验成功后,利用所述当前升级文件对待升级程序进行升级;
在对所述当前升级文件校验失败后,将从存储运行逻辑正常的软件的运行区中获取一个与所述待升级程序对应的运行软件进行回滚。
7.如权利要求1所述的软件异常回滚方法,其特征在于,所述升级文件存储在升级区,所述待升级程序对应的运行逻辑正常的软件版本存储在运行区,其中升级区与运行区的存储地址不同。
8.一种软件异常回滚装置,其特征在于,包括:
升级模块,用于在当前升级文件对待升级程序进行升级后,校验升级后的所述待升级程序的运行逻辑;
回滚模块,用于在获取到升级后的所述待升级程序的运行逻辑满足指示运行逻辑异常的预设回滚条件时,对升级后的所述待升级程序的软件版本进行回滚。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311549225.8A CN117573163A (zh) | 2023-11-17 | 2023-11-17 | 软件异常回滚方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311549225.8A CN117573163A (zh) | 2023-11-17 | 2023-11-17 | 软件异常回滚方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573163A true CN117573163A (zh) | 2024-02-20 |
Family
ID=89860084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311549225.8A Pending CN117573163A (zh) | 2023-11-17 | 2023-11-17 | 软件异常回滚方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573163A (zh) |
-
2023
- 2023-11-17 CN CN202311549225.8A patent/CN117573163A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020865B (zh) | 一种系统升级方法和装置 | |
US9146839B2 (en) | Method for pre-testing software compatibility and system thereof | |
CN108121559B (zh) | 配置文件推送方法、服务器及存储介质 | |
CN101436138B (zh) | 一种用于软件升级且动态回滚的控制装置以及控制方法 | |
CN103150231B (zh) | 计算机开机的方法与计算机系统 | |
US20160132420A1 (en) | Backup method, pre-testing method for environment updating and system thereof | |
CN101329631B (zh) | 一种嵌入式系统自动检测和恢复启动的方法及装置 | |
CN108845812A (zh) | 插件更新方法、装置、计算机设备和存储介质 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN111416836B (zh) | 基于Nginx的服务器维护方法、装置、计算机设备及存储介质 | |
CN108984200A (zh) | 一种定时更新固件的方法及装置 | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN112751782B (zh) | 基于多活数据中心的流量切换方法、装置、设备及介质 | |
CN117056115A (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN117573163A (zh) | 软件异常回滚方法、装置、设备及存储介质 | |
CN112699023B (zh) | 项目接口测试方法、装置、计算机设备及存储介质 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
CN113360172B (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
GB2532076A (en) | Backup method, pre-testing method for environment updating and system thereof | |
CN114003250A (zh) | 一种软件部署方法及装置 | |
CN112947337A (zh) | 组态同步方法、装置及电子设备 | |
CN112527652B (zh) | 测试信息更新方法、装置、计算机设备和存储介质 | |
CN114430565B (zh) | 设备的启动方法、装置及存储介质 | |
CN114064086B (zh) | 多级处理器系统及其升级方法 |
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 |