应用版本的回滚方法及相关设备与流程

未命名 08-29 阅读:104 评论:0


1.本公开涉及计算机技术领域,尤其涉及一种应用版本的回滚方法及相关设备。


背景技术:

2.随着云服务的业务范围从基础到业务,可以分为如下几种服务类型:基础架构即服务(iaas)、平台即服务(paas)和软件即服务(saas)等。应用程序平台即服务(application platform as a service,简称apaas)也是paas的一种,其是基于paas的一种解决方案,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。
3.目前,apaas平台中的应用在运行时出现问题时会通过回滚的功能将当前版本回滚至较早版本。然而,回滚过程常出现一些问题,难以满足业务要求。


技术实现要素:

4.有鉴于此,本公开的目的在于提出一种应用版本的回滚方法及相关设备。
5.基于上述目的,第一方面,本公开实施例提供了一种应用版本的回滚方法,包括:
6.接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;
7.对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
8.第二方面,本公开实施例提供了一种应用版本的回滚装置,包括:
9.接收模块,被配置为:接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;以及
10.执行模块,被配置为:对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
11.第三方面,本公开实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面的所述回滚方法。
12.第四方面,本公开实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如第一方面所述回滚方法。
13.第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如第一方面所述的回滚方法。
14.从上面所述可以看出,本公开提供的一种应用版本的回滚方法及相关设备,通过在目标应用的各版本对每一数据单元预置标识信息,在回滚前对当前版本新增的标识信息进行标记,使得被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复,从而在保证回滚效率的同时避免业务数据的丢失。
附图说明
15.为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本公开实施例提供的一种应用版本的回滚方法的系统架构图;
17.图2为本公开实施例提供的一种应用版本的回滚方法的流程图;
18.图3为本公开实施例提供的一种应用版本的回滚方法的流程示意图;
19.图4为本公开实施例提供的一种应用版本的回滚装置的结构示意图;
20.图5为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
21.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
22.需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
23.为了便于理解本公开的技术方案,下面对本公开涉及的一些技术术语进行介绍。
24.生产环境是指用来承载某个应用服务运行、数据存储的容器。通常,生产环境可以给用户使用。用户可以通过访问生产环境获取对应的应用服务内容。
25.apaas是一个用来搭建应用的平台,按应用的生产周期来看,搭建应用的过程可以分为开发、测试、发布三个环节。每一次发布,都会形成一个新的版本并在生产环境中运行。如果新的版本发布后,在生产环境运行时出现了问题,这时应用开发者会通过回滚的功能将生产环境的版本回滚至发布前的版本。
26.相关技术中,对于回滚的操作,通常会将发布前一个版本在生产环境重新部署一遍来达到将生产环境的版本回滚至前一版本的效果。
27.例如,当前生产环境的版本为v1.1.0,在v1.1.0版本之前是v1.0.0的版本,则回滚后,生产环境的版本从v1.1.0变为v1.0.0。示例性的,基于kubernetes,简称为k8s构建的apaas平台,通常提供包括包管理工具以简化应用的部署和管理,利用这些包管理工具可以实现应用版本的回滚。
28.然而,上述相关技术所使用的回滚方法在某些情况下会导致业务数据的丢失,例如当前版本已经产生新的业务数据。具体地,新发布的版本v1.1.0中,如果新增了数据对象或在已经存在的数据对象上新增了字段,用户使用v1.1.0版本中的功能产生了数据,那么在回滚至v1.0.0后,新增数据对象上的记录以及新增的字段上产生的数据值会丢失。
29.针对数据丢失这一问题,一种方法是在回滚前,先对数据进行备份。然而,数据备份的方式会带来其他问题。例如备份数据通常会花费比较长的时间,进而导致回滚过程花费更多的时间;又如,在回滚完后,由于两个版本所使用的数据对象、数据字段不尽相同,部分仅存在于回滚前的较新版本中的数据对象、字段在较早版本中不存在,若将应用回滚至较早版本,这些仅在较新版本存在的数据对象、字段所产生的用户数据将被删除。再次发布新版本时,需要手动将备份数据恢复,同样需要花费较长的时间。
30.有鉴于此,本公开示例性实施例提供了一种应用版本的回滚方法。该回滚方法通过在目标应用的各版本对每一数据单元预置标识信息,在回滚前对当前版本新增的标识信息进行标记,使得被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复,从而在保证回滚效率的同时避免业务数据的丢失。
31.具体地,先接收针对目标应用的版本回滚请求,然后基于所述目标应用的各版本对每一数据单元预置的标识信息,通过对新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
32.如此,在进行应用版本回滚前,通过标记的方式对新版本中包含新标识信息对应的数据单元进行保存,从而在回滚后发布新版本后能够被恢复。这样的方式无需对数据进行备份,也无需手动对备份的数据进行恢复,从而可以兼顾回滚效率和业务数据的保留。
33.为了使得本公开的技术方案更加清楚、易于理解,下面结合附图对本公开实施例提供的应用版本的回滚方法的场景架构进行介绍。
34.本公开实施例提供的应用版本的回滚方法包括但不限于应用于如图1所示的应用场景100中。如图1所示,该应用场景中包括设备102和设备104。其中,设备102上部署有与设备104通讯的客户端,设备104上部署有服务端,例如生产环境。设备102可以是桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,pda)或其它能够实现上述功能的电子设备等,设备104可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。例如,apaas平台基于kubernetes构建,则设备104可以是kubernetes中的设备,该设备具体可以是经过虚拟化的云设备。
35.开发者(以下简称用户)可以通过客户端触发应用版本回滚操作,客户端响应于应用版本回滚操作,生成针对目标应用的版本回滚请求,并向服务端发送上述版本回滚请求。该版本回滚请求指示将所述目标应用由当前版本回滚至目标版本。服务端上部署有应用版本的回滚装置,该应用版本的回滚装置包括接收模块402和执行模块404(请参阅图4)。其中,接收模块402用于接收上述版本回滚请求,执行模块404用于对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
36.接下来,将从服务端应用版本的回滚装置的角度对本公开实施例提供的应用版本的回滚方法进行详细说明。
37.参见图2所示的应用版本的回滚方法的流程图,该方法包括:
38.步骤s202:接收针对目标应用的版本回滚请求。需要说明的是,版本回滚请求可以是用户通过客户端发送来的,也可以是满足回滚规则由服务端基于生产环境中的运行状态自动触发,本公开对此不做限定。
39.示例性的,当一个应用升级后在生产环境运行出现问题时,用户可以触发应用版本的回滚操作,将应用由当前版本回滚至目标版本。待回滚的应用即为目标应用。需要说明的是,目标应用可以包括至少一个历史版本。
40.当目标应用包括多个历史版本时,用户可以指定其中一个历史版本为目标版本,例如前一版本。
41.客户端响应于用户触发的上述应用版本回滚操作,生成版本回滚请求。该版本回滚请求具体指示将所述目标应用由当前版本回滚至目标版本。
42.需要说明的是,以上是以应用升级后运行出现问题进行应用版本回滚进行示例说明,在其他场景中,例如,为了兼容某些应用或者某些文件时,用户也可以触发应用版本回滚操作。
43.为了实现本公开示例性实施例提供的回滚方法,所述目标应用的各版本均对每一数据单元预置标识信息。需要说明的是,每一数据单元具有唯一标识信息,不同版本中对于相同的数据单元具有相同标识信息。数据单元可以用于记录数据信息。
44.通过预置标识信息,后续可以基于标识信息的比较确定新增标识信息,能够快速确定当前版本和目标版本之间的数据单元差异,相比于直接进行数据单元的比较,能够极大的节约运算资源,减少回滚时间。
45.新版本可能新增数据对象,还可能在原有数据对象的基础上新增字段。
46.在一些实施例中,数据单元包括数据对象(dataobject)和字段中的至少一者。采用这样的方式,便于后续更准确记录新增的数据信息。
47.需要说明的是,数据对象对应的数据信息可以是某一具体对象,例如数据对象是学生信息,包括但不限于姓名、年龄、学科成绩等。一个数据对象可以包括多个字段。例如,数据对象是学生信息,其中的年龄、姓名就是字段。
48.需要说明的是,在本公开的实施例中,数据对象、字段均包括其对应的数据值,例如年龄中15岁。
49.标识信息可以是数字串、字母串或者数字和字母的组合。采用这样的标识信息,可以保证每一数据单元具有唯一标识信息,避免标识信息重复。示例性的,标识信息为数字串,例如1234;示例性的,标识信息为字母串,例如abcd;示例性的,标识信息为数字和字母的组合,例如1a2b。
50.可选地,标识信息被配置为通过所述标识信息能够对所述数据单元进行编辑,例如应用程序编程接口编号(apiid)。此时,可以根据应用程序编程接口的编号规则确定标识信息。需要说明的是,通过apiid,可以对数据单元进行编辑。若apiid被标识为删除,则无法对数据单元进行编辑,也就使得数据单元保持原有状态,不会被删除。
51.需要说明的是,上述应用程序编程接口编号仅是示例,而非限定。本领域技术人员
也可以采用适宜的标识信息对数据单元进行标记,只要该标识信息能够在本公开实施例中在回滚过程实现保留相应的数据单元以使其能够被恢复即可。
52.在目标应用预置标识信息的前提下,在任一应用版本发布于生产环境后,生产环境会记录各数据单元对应的标识信息。
53.考虑到生产环境记录标识信息的目的在于回滚时保留新增的数据单元,生产环境也可以只记录当前版本相对于前一版本新增的标识信息。也就是说,可以记录当前版本部分所述数据单元对应的标识信息。应当理解的是,若只记录相对于前一版本新增的标识信息,则目标版本可以是前一版本;当目标版本不是前一版本,可以通过多次回滚至前一版本的方式回滚至目标版本。
54.对于如何确定当前版本相对于目标版本新增的标识信息,本公开实施例给出示例性方法,详述如下:
55.比较当前版本和目标版本中包含的标识信息;将包含于当前版本且未包含于目标版本的标识信息确定为新增标识信息,以便于记录和/或回滚前进行标记。
56.需要说明的是,确定当前版本相对于目标版本新增的标识信息的步骤,在执行回滚的步骤之前执行即可。
57.也就是说,该步骤可以在当前版本发布后立即执行,此时生产环境可以仅记录新增标识信息。这样的方式有助于节约存储空间,降低生产环境的存储负担。当然,该步骤也可以在接收到回滚请求之后且执行回滚之前执行。本领域技术人员可以理解的,在接收到回滚请求之后确定新增的标识信息的情况下,生产环境可以记录当前版本的全部标识信息并调取目标版本中的全部标识信息。
58.步骤s204:对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
59.需要说明的是,对标识信息进行标记的方式可以是任何能够实现在回滚后保留数据单元,升级至新版本能够被恢复的方式。
60.在一些实施例中,所述进行标记的方式包括标识删除。对新增的标识信息标识删除,可以通过属性或注释等形式添加至标识信息的定义中。这样的方式使得回滚至目标版本后,对应的数据单元被保留,即被标识删除的标识信息对应的数据单元在完全不会影响目标版本的正常运行的情况下被保留。相当于回滚至目标版本后新增的数据单元被隐藏。
61.步骤s204之后,可以执行回滚。对于回滚的具体方式,本公开对此不做限定。例如,采用差分包的方式进行回滚。又如,利用在目标版本的备份进行回滚。再如,利用包管理工具进行回滚。
62.步骤s206:在回滚至目标版本之后,接收针对目标应用的新版本发布请求。这里,新版本可以是当前版本的改进版,也可以是全新的版本。对于接收针对目标应用的新版本发布请求的具体方式,请参见步骤s202,不再赘述。
63.步骤s208:将被标记的标识信息和所述新版本预置的标识信息进行比较。如前所述,目标应用的每一版本均每一数据单元预置标识信息。因此新版本中同样对每一数据单元预置了标识信息。
64.为了执行步骤s2010在新版本中恢复所述任一被标记的标识信息对应的数据单
元,执行步骤s2010之前,在目标版本的基础上更新新版本。
65.步骤s2010:响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。
66.需要说明的是,被标记的标识信息对应的数据单元可以被全部恢复,也可以被部分恢复,本公开对此不做限定。
67.具体地,被标记的标识信息在新版本中可能存在,也可能不存在。若被标记的标识信息在新版本中存在,其对应的数据单元在新版本中可以通过保留被恢复;若被标记的标识信息在新版本中不存在,其对应的数据单元在新版本中被取消。对于被取消的数据单元,在新版本中无法提供对应的功能,也无法被恢复。对于被保留的数据单元,则可以在新版本中得到恢复,从而避免数据信息的丢失,并且由于无需手动复制数据,这样的恢复方式,相比数据备份更加高效便捷。
68.接下来,结合一个目标应用由版本v1升级到v2,接着再由v2回滚到v1,再由v1升级至v3的过程对本公开实施例提供的应用版本的回滚方法进行示例说明。
69.参见图3所示的应用版本的回滚方法的流程示意图,如图3所示,目标应用包括v1、v2和v3版本。
70.在该示例中,各版本具体包括如下内容:
71.版本v1对应目标版本,包括:各数据单元的apiid,为便于区别,图中标记为apiid v1。
72.版本v2对应当前版本,包括:各数据单元的apiid,为便于区别,图中标记为apiid v2,apiid v2相比于apiidv1新增了apiid(图中用实线框标示)。生产环境记录新增apild或apiid v2。
73.版本v3对应新版本,包括:各数据单元的apild,为便于区别,图中标记为apiid v3,apiidv3相比于apiid v1新增了至少部分apiid。
74.当用户触发应用版本的回滚操作,将应用版本由当前版本v2回滚至目标版本v1时,客户端响应于用户触发的上述应用版本回滚操作,生成版本回滚请求,并向服务端(部署生产环境的设备)发送版本回滚请求。服务端的应用版本的回滚装置接收到上述版本回滚请求时,对新增apild标识为删除。这里,生产环境记录的是新增apiid,可以直接将其标识为删除。生产环境记录的是apiid v2,则通过apiid v1和apiidv2进行比较确定新增apiid后将新增标识为删除。
75.接着,回滚至版本v1。此时,由于新增apiid标识为删除,回滚过程中无法通过新增apiid编辑数据单元,对应的数据单元也被保留。版本v1中新增apiid(图中虚线标示)处于隐藏状态,不会参与也不会影响版本v1的运行。
76.然后接收针对目标应用的新版本v3发布请求,在生产系统中以版本v1为基础升级至版本v3之后,将被标记的标识信息(也就是新增apiid)和所述新版本预置的标识信息进行比较;响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。
77.本公开实施例由于在目标应用中对每一数据单元增加了标识信息,在回滚之前只需要对当前版本和目标版本间新增的标识信息进行标记,就可以保留新增的标识信息对应的数据单元及其,从而可以在发布新版本后有机会恢复对应的数据单元。这样的方式无需
对全部数据进行备份能够有效提高回滚效率,同时可以保留新增数据单元,有效避免数据丢失。
78.需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
79.需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
80.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种应用版本的回滚装置。
81.参考图4,所述回滚装置,包括:
82.接收模块402,被配置为:接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;
83.执行模块404,被配置为:对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
84.其中,接收模块402的具体实现可以参见图2所示实施例中s202相关内容描述。执行模块404的具体实现可以参见图2所示实施例中s202和s204相关内容描述。在此不再赘述。
85.在一些实施例中,所述数据单元包括数据对象和字段中的至少一者。
86.在一些实施例中,所述标识信息被配置为:响应于任一版本被发布,至少记录当前版本相对于前一版本新增的标识信息。
87.在一些实施例中,执行模块404还被配置为:
88.比较所述当前版本和所述目标版本中包含的标识信息;
89.将包含于所述当前版本且未包含于所述目标版本的标识信息确定为新增标识信息,以便于回滚前进行标记。
90.执行模块404的具体实现可以参见图2所示实施例中s202和s204相关内容描述。在此不再赘述。
91.在一些实施例中,所述进行标记的方式包括标识删除。具体实现可以参见图2所示实施例中s204相关内容描述。在此不再赘述。
92.在一些实施例中,还包括恢复模块406;
93.所述接收模块402,还被配置为:在回滚至目标版本之后,接收针对目标应用的新版本发布请求;
94.所述恢复模块406,被配置为:将被标记的标识信息和所述新版本预置的标识信息进行比较;
95.响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。
96.其中,接收模块402的具体实现可以参见图2所示实施例中s202相关内容描述。恢复模块406的具体实现可以参见图2所示实施例中s206~s2010相关内容描述。在此不再赘述。
97.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
98.上述实施例的装置用于实现前述任一实施例中相应的回滚方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
99.本公开实施例还提供一种应用版本的回滚方法,具体包括:
100.接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;
101.对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。
102.在一些实施例中,所述数据单元包括数据对象和字段中的至少一者。
103.在一些实施例中,所述标识信息被配置为:响应于任一版本被发布,至少记录当前版本相对于前一版本新增的标识信息。
104.在一些实施例中,还包括:
105.比较所述当前版本和所述目标版本中包含的标识信息;
106.将包含于所述当前版本且未包含于所述目标版本的标识信息确定为新增标识信息,以便于回滚前进行标记。
107.在一些实施例中,所述进行标记的方式包括标识删除。
108.在一些实施例中,还包括:
109.在回滚至目标版本之后,接收针对目标应用的新版本发布请求;
110.将被标记的标识信息和所述新版本预置的标识信息进行比较;
111.响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。
112.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的回滚方法。
113.图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
114.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方
案。
115.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
116.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
117.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
118.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
119.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
120.上述实施例的电子设备用于实现前述任一实施例中相应的回滚方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
121.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的回滚方法。
122.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
123.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的回滚方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
124.基于同一发明构思,与上述任意实施例所述的回滚相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的回滚。对应于所述的回滚各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
125.上述实施例的计算机程序产品用于使所述计算机和/或所述处理器执行如上任一实施例所述的回滚,并且具有相应的方法实施例的有益效果,在此不再赘述。
126.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
127.另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
128.尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
129.本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

技术特征:
1.一种应用版本的回滚方法,其特征在于,包括:接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。2.根据权利要求1所述的回滚方法,其特征在于,所述数据单元包括数据对象和字段中的至少一者。3.根据权利要求1所述的回滚方法,其特征在于,所述标识信息被配置为:响应于任一版本被发布,至少记录当前版本相对于前一版本新增的标识信息。4.根据权利要求1~3任一项所述的回滚方法,其特征在于,还包括:比较所述当前版本和所述目标版本中包含的标识信息;将包含于所述当前版本且未包含于所述目标版本的标识信息确定为新增标识信息,以便于回滚前进行标记。5.根据权利要求1所述的回滚方法,其特征在于,所述进行标记的方式包括标识删除。6.根据权利要求1所述的回滚方法,其特征在于,还包括:在回滚至目标版本之后,接收针对目标应用的新版本发布请求;将被标记的标识信息和所述新版本预置的标识信息进行比较;响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。7.一种应用版本的回滚装置,其特征在于,包括:接收模块,被配置为:接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;执行模块,被配置为:对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。8.根据权利要求7所述的装置,其特征在于,还包括恢复模块;所述接收模块,还被配置为:在回滚至目标版本之后,接收针对目标应用的新版本发布请求;所述恢复模块,被配置为:将被标记的标识信息和所述新版本预置的标识信息进行比较;响应于确定任一被标记的标识信息和所述新版本预置的标识信息相同,则在所述新版本中恢复所述任一被标记的标识信息对应的数据单元。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的回滚方法。10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至6任一项所述的回滚方法。11.一种计算机程序产品,其特征在于,包括计算机程序指令,当所述计算机程序指令
在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的回滚方法。

技术总结
本公开提供一种应用版本的回滚方法及相关设备。具体地,所述回滚方法,包括:接收针对目标应用的版本回滚请求;其中,所述版本回滚请求用于请求将所述目标应用由当前版本回滚至目标版本;所述目标应用的各版本均对每一数据单元预置标识信息;对当前版本相对于目标版本新增的所述标识信息进行标记,以使被标记的标识信息对应的数据单元在回滚后能够被保留并且在由所述目标版本升级至新版本后能够被恢复。这样的技术方案可以在保证回滚效率的同时避免业务数据的丢失。时避免业务数据的丢失。时避免业务数据的丢失。


技术研发人员:王迪志
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2023.05.25
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐