CN116302710A - 应用版本回滚方法、装置、计算机设备和存储介质 - Google Patents
应用版本回滚方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116302710A CN116302710A CN202310359294.6A CN202310359294A CN116302710A CN 116302710 A CN116302710 A CN 116302710A CN 202310359294 A CN202310359294 A CN 202310359294A CN 116302710 A CN116302710 A CN 116302710A
- Authority
- CN
- China
- Prior art keywords
- version
- data
- application
- rollback
- 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 55
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/143—Reconfiguring to eliminate the error with loss of software functionality
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种应用版本回滚方法、装置、计算机设备和存储介质,该方法在应用进行版本更新时,获取包括多个版本的版本数据的数据资源包,以在后续需要进行版本回滚时,直接从数据资源包中确定之前版本对应的版本数据,而无需重新查询获取之前版本的版本数据。相较于现有技术,减少了重新获取之前版本的版本数据的步骤,应用也无需重启以重新加载之前版本的版本数据,大大降低了应用版本回滚所需的时长,提高了应用版本回滚的效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种应用版本回滚方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的快速发展,应用系统的版本发布是应用开发声明周期中非常重要的组成部分,发版过程的有效控制,发版后相关业务的验证,影响分析,以及快速回滚能力,也一直是信息科技风险防范的重要组成部分。
传统的版本发布系统中,被发布的版本资源包被标记版本号,并通过发版手段(上传到服务器特定目录,重启应用,生效版本)实现发版,当发现新版本存在问题时,需要将版本回退到上一个版本时,会在版本发布系统中,找到上一个版本的版本资源包,进行重新发布,生效上一个版本,部分关联变更也需要进行回滚操作,这个回滚过程在5分钟到15分钟甚至更长时间。
发明内容
本申请旨在提供一种应用版本回滚方法、装置、计算机设备和存储介质,旨在解决现有技术中应用版本回滚耗时较长速度较慢的问题。
一方面,本申请提供应用版本回滚方法,所述方法包括:
获取应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;
判断所述应用是否需要进行版本回滚;
若所述应用需要进行版本回滚,则获取版本回滚指令;
根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;
根据所述目标版本数据对所述应用进行版本回滚。
本发明实施例还提供一种版本回滚装置,所述版本回滚装置包括:
版本数据获取模块,用于获取应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;
判断模块,用于判断所述应用是否需要进行版本回滚;
回滚指令获取模块,用于若所述应用需要进行版本回滚,则获取版本回滚指令;
版本数据查询模块,用于根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;
版本回滚模块,用于根据所述目标版本数据对所述应用进行版本回滚。
在本发明的一些实施例中,还可以提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述版本回滚方法的步骤。
在本发明的一些实施例中,还可以提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行如上所述版本回滚方法的步骤。
采用本申请实施例,可以在应用进行版本更新时,获取包括多个版本的版本数据的数据资源包,以在后续需要进行版本回滚时,直接从数据资源包中确定之前版本对应的版本数据,而无需重新查询获取之前版本的版本数据。相较于现有技术,减少了重新获取之前版本的版本数据的步骤,应用也无需重启以重新加载之前版本的版本数据,大大降低了应用版本回滚所需的时长,提高了应用版本回滚的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用版本回滚方法的流程示意图;
图2是本发明实施例提供的生成数据资源包的流程示意图;
图3是本发明实施例提供的版本回滚装置的结构示意图;
图4是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用版本回滚方法、装置、计算机设备和存储介质。具体地,本申请实施例的应用版本回滚方法可以由计算机设备执行;其中,计算机设备可以为服务器,也可以为终端设备。
具体地,计算机设备可以为手机、平板电脑、笔记本电脑等终端设备,也可以为穿戴设备、智能电视或其他智能终端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
例如该计算机设备可以为终端设备,该终端设备可以获取应用对应的数据资源包,以利用数据资源包对应用进行版本更新,数据资源包中包括多个不同版本的版本数据;判断应用是否需要进行版本回滚;若应用需要进行版本回滚,则获取版本回滚指令;根据版本回滚指令,在数据资源包中确定需要回滚的目标版本对应的目标版本数据;根据目标版本数据对应用进行版本回滚。
本发明实施例中,“第一”、“第二”仅仅是为区别对应关系,无其他特殊含义,“多个”指两个以及两个以上。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本发明实施例提供一种应用版本回滚方法,该方法可以由终端或服务器执行,本发明实施例以应用版本回滚方法由终端执行为例来进行说明。
请参阅图1,图1为本申请实施例提供的一种应用版本回滚法的流程示意图。该应用版本回滚的具体流程可以如下:
101、获取应用对应的数据资源包,以利用数据资源包对应用进行版本更新;所述数据资源包中包括多个不同版本的版本数据。
在实际的应用使用场景中,经常需要根据实际需求对应用进行版本升级,而不同的版本对应不同的版本号。版本号通常用于说明应用的版本,从而根据该版本号对应用进行管理或确定应用可以实现何种功能。通常来说,版本号需要包括具有特定含义的字符或字符串。
例如,版本号的数据结构可以包括“主版本号.次版本号.修订版本号.新增版本号”。如v.1.2.3.4,其中,1代表当前项目主要版本;2代表次要版本;3代表主要修订版本,用于修复当前版本反馈的问题;4代表额外的版本说明,可以自定义它的作用。
在一些实施例中,可以通过定义版本号的数据结构以确定每个版本对应的先后顺序;也可以在生成并存储新的版本数据的同时,一并存储时间戳数据,根据每个版本数据对应的时间戳数据确定每个版本的先后顺序。
在一些实施例中,获取应用对应的数据资源包之前,首先要生成数据资源包;生成数据资源包的过程具体可以如图2所示,包括如下步骤:
201、确定应用已生成的多个版本号,以及多个版本号各种对应的初始版本数据,得到多个初始版本数据和多个版本号。
202、将多个初始版本数据与各自对应的版本号分别绑定,得到绑定后的多个版本数据。
203、根据多个版本号,存储多个版本数据,得到数据资源包。
在本申请的实施例中,数据资源包中包括多个不同版本对应的版本数据,因此需要获取每个版本的版本号,以及每个版本各种对应的版本数据;进而将不同的版本号与各种对应的版本数据绑定,这样可以根据版本号获取对应的版本数据。通常来说在每次生成新的版本数据之前,需要先生成一个版本号,再在新生成的版本号下生成新的版本数据。
在每一次生成新的版本号以及对应的版本数据后,均需要保存或备份对应的版本号以及版本数据,以便后续的版本升级或版本回滚。而本申请中需要利用不同的版本号来存储不同的版本数据;具体的存储方法在后续实施例中加以说明。
在前述实施例中,获取了存储多个版本数据的数据资源包后,可以利用数据资源包对应用进行版本更新或版本回滚。在一些实施例中,获取应用对应的数据资源包,以利用数据资源包对应用进行版本更新可以包括:
当应用进行版本更新时,获取包括待更新的第一版本对应的第一版本数据,以及应用当前所处的第二版本对应的第二版本数据;根据第一版本数据对应用进行版本更新。其中,数据资源包中包括第一版本数据和第二版本数据。
即在本申请的实施例中,会同时将多个版本各种对应的版本数据一并发送给应用,应用可以直接根据数据资源包进行版本更新或者版本回滚。其中,版本回滚的具体流程在后续实施例中加以说明。
102、判断应用是否需要进行版本回滚。
103、若应用需要进行版本回滚,则获取版本回滚指令。
若应用需要进行版本回滚,则需要获取针对应用的版本回滚指令,且由于该应用可能在当前时刻之前已经经过多次更新,即可能会有至少一个的历史版本;因此,为了确定所回滚的具体版本,版本回滚指令中通常会包括待回滚的版本号。例如版本回滚指令中携带2022年11月01日零时应用对应的版本号,那么应用需要回滚至2022年11月01日零时对应的应用版本。
若是判断应用需要进行版本回滚,则需要获取版本回滚指令,以根据版本回滚指令进行后续版本回滚的各种操作。且本申请的实施例中,版本回滚指令可以由用户通过执行预设操作触发,或者可以根据预设触发条件触发。具体地,可以用户自定义决定是否需要进行版本回滚,且用户自定义生成版本回滚指令;主要为用户自定义需要回滚的版本号。或是在应用每次进行版本更新后判断是否更新成功,若未更新成功则自动生成版本回滚指令,并回滚至上一版本。
需要说明的是,在本申请的实施例中,在解析版本回滚指令之前,需要先对版本回滚指令进行校验,以确定版本回滚指令是否为目标应用对应的版本回滚指令;而不是其他应用对应的版本回滚指令。
具体地,可以在版本回滚指令中增加应用ID,不同的应用对应的不同的应用ID;根据应用ID即可判断应用接收到的版本回滚指令是否为自身对应的版本回滚指令。若是根据应用ID确定是自身对应的版本回滚指令,再解析版本回滚指令,进行后续版本回滚操作。若根据应用ID判断并非自身对应的版本回滚数据,那么会生成告警信息。
104、根据版本回滚指令,在数据资源包中确定需要回滚的目标版本对应的目标版本数据。
105、根据目标版本数据对应用进行版本回滚。
在本申请的实施例中,当根据版本回滚指令进行版本回滚时,可以直接在数据资源包中确定需要回滚的目标版本对应的目标版本数据,而无需再向服务器或存储器中获取目标版本对应的目标版本数据。这是因为在之前进行版本更新时,已经将新的版本对应的版本数据和之前的版本对应的版本数据打包发送给了应用;应用不仅可以直接根据数据资源包中的新的版本数据进行版本升级,也可以在需要进行版本回滚时,直接读取版数据资源包中之前版本对应的版本数据以进行回滚。这样的版本回滚操作,与现有的版本回滚相比,减少了从服务器或存储器获取旧版本对应的版本数据的动作,有效缩短版本回滚所需的时间,提高了版本回滚的效率。
在一些实施例中,前述版本回滚后得到的目标版本可以为当前版本的上一版本,也就是当应用接收到一次版本回滚请求后,可以将当前版本回滚到当前版本的上一版本。在其他实施例中,前述目标版本也可以为当前版本之前的任一版本;即当应用接收到一次版本回滚请求后,可以将当前版本回滚到当前版本之前的任一版本。
因此,在本申请的实施例中,获取到的版本回滚指令中需要包括回滚后的版本对应的版本号,以解析版本回滚指令进而确定需要将当前版本回滚到之前的哪一个版本,即确定需要回滚的版本对应的目标版本。且在本申请的实施例中,数据资源包中需要包括多个不同版本的版本数据,这样才能根据版本回滚指令查询到对应的目标版本数据。通常来说,大部分版本回滚都是回滚至当前版本对应的上一个版本,因此目标版本即为当前版本的上一版本。而数据资源包中可以仅包括当前版本对应的版本数据和上一版本的版本数据即可。
当然,在另一些实施例中,数据资源包中也可以包括当前版本对应的版本数据,以及下一版本对应的版本数据。可以利用资源数据包中的下一版本的版本数据,对应用进行版本更新;若是版本更新之后需要进行版本回滚,或是版本更新失败需要进行版本回滚,可以直接利用数据资源包中当前版本(此处的当前版本是指下一版本的前一版本)对应的版本数据进行版本回滚。
数据资源包中也可以包括两个以上的版本对应的版本数据,同样可以利用版本回滚指令中的版本号直接确认需要回滚至哪个版本。前述实施例中通过解析版本回滚指令,确定了需要回滚的版本对应的目标版本;可以直接在数据资源包中查询与目标版本对应的目标版本数据。
本申请实施例提供的应用版本回滚方法,在应用进行版本更新时,获取包括多个版本的版本数据的数据资源包,以在后续需要进行版本回滚时,直接从数据资源包中确定之前版本对应的版本数据,而无需重新查询获取之前版本的版本数据。相较于现有技术,减少了重新获取之前版本的版本数据的步骤,应用也无需重启以重新加载之前版本的版本数据,大大降低了应用版本回滚所需的时长,提高了应用版本回滚的效率。
在上述实施例中,由于数据资源包中同时包括多个版本对应的版本数据,因此在每次进行版本更新时,均需要保存或备份此次更新对应的版本数据,以便后续版本回滚。且不同版本对应的不同版本数据通常存储在不同的文件夹中,以便根据版本回滚指令在数据资源包中查询对应的版本数据。
具体地,各种数据通常是以层级存储的方式存储在不同的文件夹中;因此本申请的实施例中可以利用版本号来命名存储版本数据的文件夹。又由于读取数据通常是按照文件夹的层级顺序读取,因此可以将文件夹的第一层级以版本号命名;这样在读取第一层级后就可以确定需要回滚的版本数据,无需读取更低层级的数据,提升了版本回滚的效率。
因此根据版本回滚指令在数据资源包中查询与目标版本对应的目标版本数据时,可以直接读取不同文件夹的第一层级的名字,即可确定需要回滚的版本对应的版本数据。
而在实际的版本回滚场景中,版本数据中通常包括代码资源和版本配置文件。因此在数据资源包中查询与目标版本对应的目标版本数据可以包括如下步骤:
在数据资源包中查询与目标版本对应的目标代码资源;在数据资源包中查询与目标版本对应的目标配置文件。其中,目标版本数据包括目标代码资源和目标配置文件。
具体地,版本配置文件可以包括此次版本更新后的应用可以实现的功能、或是文件存储的路径等;而代码资源则是将前述内容以代码的形式编写,通过运行的代码使得前述功能可以实现。通常来说,每一个版本都对应有代码资源和版本配置文件;而代码资源和版本配置文件之间相互独立。因此本申请中可以将代码资源和版本配置文件分开存储。
对于代码资源来说,可以改变代码资源的存储结构,将存储代码资源的文件夹的第一层级以版本号命名;第一层级之下的则是真正的代码目录。同样地,对于配置文件来说,也可以改变配置文件的存储结构,将存储配置文件的文件夹的第一层级命名以版本号命名;第一层级之下的则是具体的配置文件目录划分以及具体的配置文件。通过改变代码资源和配置文件的存储结构,可以有效提高版本回滚的效率。
以代码资源为例,针对不同的代码运行平台,在改变代码资源存储结构的同时,还需要对应修改代码资源的加载逻辑。例如Java语言编写的代码资源,其代码加载器是ClassLoader,则需要改变原有的代码加载器的代码加载逻辑,得到新的代码加载器ClassLoader。新的代码加载器会首先读取数据资源包中的不同文件夹的第一层级的名称,以确定每个文件夹对应的版本号。进而根据版本号确定对应的代码资源目录,然后再进行真正的代码资源加载。
同理,对于配置文件来说,同样需要对应更改配置文件的读取逻辑,更改后的配置文件读取逻辑首先读取每一个文件夹对应的版本号,进而确定对应的配置文件的实际存储路径,再进行加载和读取的操作。
即在本申请的实施例中,在改变版本数据的存储结构或存储方式的同时,还需要一并更改版本数据的解析读取方式,使之可以首先读取文件夹中第一层级的名称,以确定每一个文件夹各种对应的版本号;进而确定需要回滚的目标版本对应的目标文件夹。
即在本申请的实施例中,需要先修改数据资源包对应的解析方法,得到数据资源包对应的新的解析方法;再解析版本回滚指令,以确定需要回滚的目标版本对应的目标版本号;接着利用新的解析方法解析数据资源包,得到多个代码资源和多个配置文件。
而每一个代码资源和每一个配置文件均对应一个文件夹,且文件夹的第一层级以版本号命名;因此可以根据目标版本号直接在多个代码资源中,确定与目标版本对应的目标代码资源。同理,根据目标版本号在多个配置文件中,确定与目标版本对应的目标配置文件。
需要说明的是,在本申请的实施例中,代码资源和配置文件通常存储在不同的文件夹中,两者互相独立;且两者加载的具体方法也不同。但同一个版本对应的代码资源和配置文件各种对应的文件夹的第一层级均以版本号命名。在解析查找目标版本对应的目标代码资源和目标配置文件的过程中并不存在先后顺序;可以先查找目标代码资源,也可以先查找目标配置文件。为了进一步提高版本回滚的效率,可以将代码资源和配置文件进行分布式存储,以在后续进行分布式查询;通过同时查找目标代码资源和目标配置文件进一步缩短版本回滚所需时间,提高版本回滚的效率。
上述实施例中,数据资源包中同时包括多个版本各种对应的版本数据;在一些实施例中,数据资源包中的多个版本数据可以为每个版本各种对应的完整的版本数据。例如,数据资源包中包括两个版本的版本数据V1和V2,V1和V2均为应用对应的不同版本的完整的版本数据。
在另一些实施例中,数据资源包中的多个版本的版本数据,可以为:某个版本对应的完整的版本数据;以及以该版本数据为基准,与该版本的差异数据。具体地,数据资源包中可以包括一个完整的版本数据V3,以及其他版本与V3的差异数据例如V3.1和V3.2。根据版本数据V3和差异数据V3.1可以确定一个新的完整的版本数据V4,;以及根据版本数据V3和差异数据V3.2可以确定一个新的完整的版本数据V5。
这是因为在实际的应用升级回滚场景中,应用的高版本通常是在低版本的基础上进行升级的;高版本的版本数据和低版本的版本数据通常存在一定的相同之处。因此数据资源包中存储的多个版本数据,可以为一个基础的版本数据,以及其他版本与基础的版本数据的不同之处。这样可以减少数据资源包中的数据大小,从而减少后续读取数据资源包中的数据所需的时间,进一步减少应用版本升级或回滚所需的时间。
且前述实施例中的差异数据也如前述存储在不同的文件夹中,且每个文件夹的第一层级分别以每个版本号命名。这样在后续进行版本回滚时,可以通过解析读取基础的版本数据以及对应的每个版本各种对应的差异数据,确定每个版本各种对应的完整的版本数据,进而利用完整的版本数据实现版本回滚。
上述实施例中虽然基础的版本数据和差异数据是分开存储的,但在进行版本回滚时仍需要获取完整的版本数据。而在另一些实施例中,可以仅获取差异数据,利用差异数据进行版本回滚即可。同样地,这是因为后续版本都是在基础版本的基础上不断升级得到的,每个版本之间存在一定相似度;即版本数据之间存在一定的相似性,那么直接获取差异数据,利用差异数据修改应用当前对应的版本数据以实现回滚。
上述实施例中,差异数据的存储方法如前所述;且读取差异数据所在文件夹的方法也如前所述,此处不在赘述。
本申请实施例提供的应用版本回滚方法并不仅适用于应用的版本回滚,也适用于网页的版本回滚、数据库的版本回滚等。例如,本申请实施例提供的应用版本回滚方法适用于线上交易应用或线上支付应用等的版本回滚。
为了更好地实施以上方法,相应的,本发明实施例还提供一种应用版本回滚装置,该应用版本回滚装置具体集成在终端或服务器中。
参考图3,该装置包括:
版本数据获取模块301,用于获取应用对应的数据资源包,以利用数据资源包对应用进行版本更新,数据资源包中包括多个不同版本的版本数据。
判断模块302,用于判断应用是否需要进行版本回滚。
回滚指令获取模块303,用于若应用需要进行版本回滚,则获取版本回滚指令。
版本数据查询模块304,用于根据版本回滚指令,在数据资源包中确定需要回滚的目标版本对应的目标版本数据。
版本回滚模块305,用于根据目标版本数据对应用进行版本回滚。
本申请实施例提供的应用版本回滚装置,在应用进行版本更新时,获取包括多个版本的版本数据的数据资源包,以在后续需要进行版本回滚时,直接从数据资源包中确定之前版本对应的版本数据,而无需重新查询获取之前版本的版本数据。相较于现有技术,减少了重新获取之前版本的版本数据的步骤,应用也无需重启以重新加载之前版本的版本数据,大大降低了应用版本回滚所需的时长,提高了应用版本回滚的效率。
在一些实施例中,版本数据获取模块301具体可以用于:
当所述应用进行版本更新时,获取包括待更新的第一版本对应的第一版本数据,以及所述应用当前所处的第二版本对应的第二版本数据;
根据所述第一版本数据对所述应用进行版本更新;
其中,所述数据资源包中包括第一版本数据和所述第二版本数据。
在一些实施例中,版本数据查询模块304具体可以用于:
解析所述版本回滚指令,以确定需要回滚的目标版本对应的目标版本号;
利用所述新的解析方法解析所述数据资源包,以在所述数据资源包中确定与所述目标版本号对应的目标版本数据。
在一些实施例中,版本数据查询模块304具体可以用于:
利用所述新的解析方法解析数据资源包,得到多个代码资源和多个配置文件;
根据所述目标版本号在所述多个代码资源中,确定与所述目标版本对应的目标代码资源;
根据所述目标版本号在所述多个配置文件中,确定与所述目标版本对应的目标配置文件;
所述目标版本数据包括所述目标代码资源和所述目标配置文件。
此外,本发明实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,如图4所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取所述应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;判断所述应用是否需要进行版本回滚;若所述应用需要进行版本回滚,则获取版本回滚指令;根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;根据所述目标版本数据对所述应用进行版本回滚。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例还提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例中的各种可选实现方式中提供的方法。
根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选实现方式中提供的方法。
获取所述应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;判断所述应用是否需要进行版本回滚;若所述应用需要进行版本回滚,则获取版本回滚指令;根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;根据所述目标版本数据对所述应用进行版本回滚。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的方法中的步骤,因此,可以实现本发明实施例所提供的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种应用版本回滚方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用版本回滚方法,其特征在于,所述方法包括:
获取应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;
判断所述应用是否需要进行版本回滚;
若所述应用需要进行版本回滚,则获取版本回滚指令;
根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;
根据所述目标版本数据对所述应用进行版本回滚。
2.根据权利要求1所述的应用版本回滚方法,其特征在于,所述获取应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,包括:
当所述应用进行版本更新时,获取包括待更新的第一版本对应的第一版本数据,以及所述应用当前所处的第二版本对应的第二版本数据;
根据所述第一版本数据对所述应用进行版本更新;
其中,所述数据资源包中包括第一版本数据和所述第二版本数据。
3.根据权利要求1所述的应用版本回滚方法,其特征在于,在根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据之前,所述方法还包括:
修改所述数据资源包对应的解析方法,得到所述数据资源包对应的新的解析方法。
4.根据权利要求3所述的应用版本回滚方法,其特征在于,所述根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据,包括:
解析所述版本回滚指令,以确定需要回滚的目标版本对应的目标版本号;
利用所述新的解析方法解析所述数据资源包,以在所述数据资源包中确定与所述目标版本号对应的目标版本数据。
5.根据权利要求4所述的应用版本回滚方法,其特征在于,所述利用所述新的解析方法解析所述数据资源包,以在所述数据资源包中确定与所述目标版本号对应的目标版本数据,包括:
利用所述新的解析方法解析数据资源包,得到多个代码资源和多个配置文件;
根据所述目标版本号在所述多个代码资源中,确定与所述目标版本对应的目标代码资源;
根据所述目标版本号在所述多个配置文件中,确定与所述目标版本对应的目标配置文件;
所述目标版本数据包括所述目标代码资源和所述目标配置文件。
6.根据权利要求1所述的应用版本回滚方法,其特征在于,在获取所述应用对应的数据资源包之前,所述方法还包括:
确定所述应用已生成的多个版本号,以及所述多个版本号各自对应的初始版本数据,得到多个初始版本数据和多个版本号;
将所述多个初始版本数据与各自对应的版本号分别绑定,得到绑定后的多个版本数据;
根据所述多个版本号,存储所述多个版本数据,得到所述数据资源包。
7.根据权利要求6所述的应用版本回滚方法,其特征在于,所述根据所述多个版本号,存储所述多个版本数据,得到所述数据资源包,包括:
根据所述多个初始版本数据各自对应的版本号,建立多个不同的文件夹,所述多个文件夹对应的第一层级分别以所述多个版本号命名;
根据所述多个版本号,将所述多个版本数据分别存储在不同的文件夹中,得到所述数据资源包;
所述数据资源包中包括所述多个文件夹。
8.一种版本回滚装置,其特征在于,所述版本回滚装置包括:
版本数据获取模块,用于获取应用对应的数据资源包,以利用所述数据资源包对所述应用进行版本更新,所述数据资源包中包括多个不同版本的版本数据;
判断模块,用于判断所述应用是否需要进行版本回滚;
回滚指令获取模块,用于若所述应用需要进行版本回滚,则获取版本回滚指令;
版本数据查询模块,用于根据所述版本回滚指令,在所述数据资源包中确定需要回滚的目标版本对应的目标版本数据;
版本回滚模块,用于根据所述目标版本数据对所述应用进行版本回滚。
9.一种计算机设备,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述应用版本回滚方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述应用版本回滚方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310359294.6A CN116302710A (zh) | 2023-03-27 | 2023-03-27 | 应用版本回滚方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310359294.6A CN116302710A (zh) | 2023-03-27 | 2023-03-27 | 应用版本回滚方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302710A true CN116302710A (zh) | 2023-06-23 |
Family
ID=86801459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310359294.6A Pending CN116302710A (zh) | 2023-03-27 | 2023-03-27 | 应用版本回滚方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302710A (zh) |
-
2023
- 2023-03-27 CN CN202310359294.6A patent/CN116302710A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032140B2 (en) | Using a template to update a stack of resources | |
CN107562513B (zh) | 一种基于java的智能合约生命周期的管理方法 | |
CN108279922A (zh) | 差分文件生成方法、基于该差分文件的升级方法及系统 | |
CN111897570A (zh) | 一种基于Maven插件的多依赖项文件提取方法及装置 | |
US11018860B2 (en) | Highly available and reliable secret distribution infrastructure | |
CN112507263B (zh) | 页面加载更新方法、装置、电子设备及存储介质 | |
CN112783912A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN112463808A (zh) | 目标集群的数据处理方法、装置和服务器 | |
CN113791809B (zh) | 应用异常处理方法、装置以及计算机可读存储介质 | |
CN115454575B (zh) | jar包转换并自动加载的方法、装置、设备及存储介质 | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN115374083A (zh) | 数据源的切换方法、装置、电子设备及存储介质 | |
CN116302710A (zh) | 应用版本回滚方法、装置、计算机设备和存储介质 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
CN115964061A (zh) | 插件更新方法、装置、电子设备和计算机可读存储介质 | |
CN115168384A (zh) | 数据一致性处理方法、装置、服务器及存储介质 | |
CN112988277B (zh) | 规则文件加载方法、装置、服务器及介质 | |
CN114816437A (zh) | 一种逆向生成Java实体类的方法、系统和设备 | |
CN114756362A (zh) | 资源配额管理方法及系统、智能终端、存储介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN114968505A (zh) | 任务处理系统、方法、装置、设备、存储介质及程序产品 | |
CN113326052A (zh) | 业务组件的升级方法、装置、计算机设备和存储介质 | |
CN116932029A (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 |