CN106547584A - 一种应用程序的回退方法及装置 - Google Patents
一种应用程序的回退方法及装置 Download PDFInfo
- Publication number
- CN106547584A CN106547584A CN201510611308.4A CN201510611308A CN106547584A CN 106547584 A CN106547584 A CN 106547584A CN 201510611308 A CN201510611308 A CN 201510611308A CN 106547584 A CN106547584 A CN 106547584A
- Authority
- CN
- China
- Prior art keywords
- rollback
- application
- version
- cluster
- application cluster
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种应用程序的回退方法及装置,用以解决传统回退方法由于耗时长导致应用长时间中断,从而影响用户正常使用的问题。本发明包括:将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
Description
技术领域
本发明涉及应用回退技术领域,特别是指一种应用程序的回退方法及装置。
背景技术
目前不论是传统大、中型企业还是新型互联网企业都不离开信息化技术,企业信息化是指企业以业务流程的优化和重构为基础,在一定的深度和广度上利用计算机技术、网络技术和数据库技术,控制和集成化管理企业生产经营活动中的各种信息,实现企业内外部信息的共享和有效利用。伴随企业信息化的发展,诸多管理系统和应用系统应运而生,但不管是自行开发还是购买,在系统正式使用前需要经历系统设计、软件开发、应用测试、系统上线等阶段,在每个阶段通过之后系统才会最终面向用户开放,但系统仍有可能存在未知程序漏洞,影响用户正常使用。
在系统正式发布后无论是软件新版本还是新发布的功能,因为设计缺陷在测试阶段未能测出,或者已经发现但未及时修复的隐患而导致用户、客户无法正常使用系统,不论是内部系统还是面向客户的外部系统都将带来巨大影响,可能导致业务中断,严重时甚至数据丢失、逻辑错误。因此当问题发生时,采取中断系统服务可以避免情况的恶化,但是严重影响用户、客户的感知和友好度,而影响用户使用的仅仅只是很小的一部分重要功能,因此需要将系统回退到正常的版本以继续提供服务。
传统的回退方法通常情况下一次回退操作中停应用与发布后启应用需要消耗较多时间,尤其在大量系统同时上线情况下,影响系统的可能仅仅只是一小部分功能,但因为恢复时间的紧迫未能真正定位问题原因或者程序模块间藕合度较高需要全局回退。采用传统方法将消耗两小时甚至以上的业务中断时间,造成巨大影响,长期以往将导致大量客户流失,造成巨大经济损失。
发明内容
本发明的目的在于提供一种应用程序的回退方法及装置,解决传统回退方法由于耗时长导致应用长时间中断,从而影响用户正常使用的问题。
为了实现上述目的,本发明提供了一种应用程序的回退方法,包括:
将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
其中,所述将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本的步骤之后,还包括:
根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
其中,所述将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群的步骤包括:
确定所述第一待回退应用集群所回退的目标应用版本的信息;
根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群。
其中,所述根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息的步骤包括:
根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
其中,所述根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群的步骤包括:
根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
本发明还提供了一种应用程序的回退装置,包括:
第一流量控制模块,用于将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
第一回退模块,用于将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
第二流量控制模块,用于将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
第二回退模块,用于将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
其中,上述应用程序的回退装置,还包括:
流量分配模块,用于在将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本的步骤之后,根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
其中,所述第一回退模块包括:
确定单元,用于确定所述第一待回退应用集群所回退的目标应用版本的信息;
获取单元,用于根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
回退单元,用于根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群。
其中,所述获取单元具体用于根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
其中,所述回退单元包括:
第一回退子单元,用于根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
配置单元,用于重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
第二回退子单元,用于将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
第三回退子单元,用于根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
本发明实施例具有以下有益效果:
本发明实施例的应用程序的回退方法,将第一待回退应用集群的流量切换到其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群并对其进行回退处理,此时可继续由其他待回退应用集群提供业务服务;将其他待回退应用集群上的流量切换到回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群并对其进行回退处理,本发明通过滚动回退的方式能够在极短的时间内回退应用版本,减少了终端业务的时间,甚至在用户未有感知的情况下成功回退,有效提升了应用系统的连续性及用户的友好度。
附图说明
图1表示本发明实施例的应用程序的回退方法的第一工作流程图;
图2表示本发明实施例的应用程序的回退方法的第二工作流程图;
图3表示本发明实施例的应用程序的回退方法的第三工作流程图;
图4表示本发明实施例中应用程序回退方法的第一系统结构示意图;
图5表示本发明实施例中应用程序回退方法的第二系统结构示意图;
图6表示本发明实施例的应用程序的回退方法的第四工作流程图;
图7表示本发明实施例的应用程序的回退装置的结构示意图。
附图标记说明:
1-流量管理模块;2-集中配置模块;3-数据同步模块;4-数据管理模块;5-应用管理模块。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。
现有技术中,系统回退的方法主要为:
首先停止需要回退的应用程序,如果未能明确定位问题原因很有可能需要停止上次上线全部的系统;其次回退上一个版本的所有配置数据,以及修改过的业务数据;然后回退系统软件上一次发布的可供正常版本;最后重新发布系统启动应用程序。
然而上述回退方法中,一次回退操作中停应用与发布后启应用需要消耗较多时间,采用上述方法将消耗两小时甚至以上的业务中断时间,造成巨大影响,长期以往将导致大量客户流失,造成巨大经济损失。
本发明实施例提供了一种应用程序的回退方法及装置,解决了传统回退方法由于耗时长导致应用长时间中断,从而影响用户正常使用的问题。
第一实施例:
如图1所示,该应用程序的回退方法,包括:
步骤11:将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
步骤12:将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
步骤13:将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
步骤14:将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
本发明实施例的应用程序的回退方法,通过滚动回退的方式能够在极短的时间内回退应用版本,甚至在用户未有感知的情况下成功回退,有效提升了应用系统的连续性及用户的友好度。
第二实施例:
如图2所示,该应用程序的回退方法,包括:
步骤11:将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
步骤12:将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
步骤13:将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
步骤14:将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本;
步骤15:根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
该实施例中,首先通过流量控制将第一待回退应用集群上的流量切换到其他待回退应用集群上,使得第一待回退应用集群处于空闲状态,且此时能够由其他待回退应用集群继续提供业务服务,然后对处于空闲状态的第一待回退应用进行回退处理,接着通过流量控制使得其他待回退应用集群处于空闲状态并对其进行回退处理,并根据回退前各个待回退集群的流量分配比例,将流量分配到回退后的各个待应用集群上,大大减少了业务的中断时间,提高了用户的使用体验。
第三实施例:
如图3所示,该应用程序的回退方法,包括:
步骤11:将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
步骤121:确定所述第一待回退应用集群所回退的目标应用版本的信息;
步骤122:根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
步骤123:根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
步骤13:将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
步骤14:将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本;
步骤15:根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
进一步地,该实施例中上述步骤122包括:
根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
进一步地,该实施例中上述步骤123包括:
根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
本发明实施例的应用程序的回退方法,既可应用于如图4所示的集中式架构系统,也可应用于如图5所示的分布式架构系统,图4和图5所示的系统均包括:流量管理模块1;集中配置模块2;数据同步模块3;数据管理模块4;应用管理模块5。
1、流量管理模块1负责前端访问流量的控制,主要功能如下:
(1)流量负载均衡
流量管理模块1会根据应用服务器的压力负载自动均衡,使业务均衡的分摊到每台App服务器上,防止因为某台机器因为业务压力过载而异常。
(2)流量控制
流量管理模块1可以根据需要进行流量控制,在需要回退时将应用集群的流量切换到另一个应用集群,使得当前应用集群具备退回条件。
2、集中配置模块2负责配置数据的统一管理,功能如下:
(1)应用集群配置
应用集群配置指应用服务器App server的集群划分配置,通常与流量管理模块1相关,通过流量管理模块1实现流量控制。
(2)数据同步配置
数据同步配置指数据同步源表与目标表之间的关联配置与版本信息,以及实现功能的描述信息。
(3)应用功能配置
应用功能配置指当前应用功能初始时负载分布,当集群重启时会读取该配置完成初始化。
(4)可视化界面管理
通过可视化管理界面统一调用各个模块功能实现一键式回退切换。
3、数据同步模块3的功能如下:
主要负责后端数据库内变更的表之间数据实时同步,使得数据格式能够保持与上线前一致,能够保证与之前软件版本兼容,具备实时切换的条件。
数据同步模块3根据集中配置模块2中数据同步配置规则,通过一种装置将原始表中的数据变化、表结构变化实时同步至目标表,包括插入INSERT、更新UPDATE、删除DELETE等DML语句引起的数据变化以及增加、删除、修改列的属性等DDL语句引起的表结构变化。
4、数据管理模块4负责后端配置表与业务表的管理,功能如下:
(1)配置信息与业务数据版本管理
数据管理模块4记录了上次上线功能与配置数据、业务数据之间的映射关系,在应用需要回退时根据该配置实现快速回退数据版本。
(2)数据版本切换
在数据库回退时通过数据管理模块4实现配置数据与业务数据的一键式切换,在短时间内实现灰度回退。
5、应用管理模块5主要负责应用集群的管理,功能如下:
(1)集群成员管理
主要包括集群中App Server的上线与下线管理。
(2)集群应用管理
应用管理模块还负责集群应用软件版本的管理、应用的批量停止、启动,软件版本的切换与发布等功能。
下面以集中式架构系统为例具体说明本发明实施例的回退流程。
在本发明的具体实施例中,每次系统上线完毕后,首先需要对上线相关的业务表(即“业务数据”)结构进行变更前后的备份与数据的同步,使得变更后的业务表中仍有一份上线前的实时数据。
如图4和图6所示,本发明实施例的回退流程包括:
步骤S1:通过交换机将第一负载均衡器与第一待回退应用集群上的流量全部切至第二负载均衡器,使第一待回退应用集群处理完全空置状态。
其中,图4所示的集中式架构系统中,流量管理模块1包括一个交换机及分布与该交换机连接的第一负载均衡器和第二负载均衡器;应用管理模块5包括第一待回退应用集群和第二待回退应用集群,两个集群为对等的应用集群。
步骤S2:停第一待回退应用集群,通过集中配置模块2中配置的软件版本信息回退第一待回退应用集群至最近一次稳定软件版本。
步骤S3:根据集中配置模块2中第一待回退应用集群回退软件版本的配置信息回退数据库中的配置数据,使之与软件版本相匹配。
这里,由于配置数据仅仅只有当应用重启时才会读取,因此不会对第二待回退应用集群中当前运行的业务产生影响。
步骤S4:启动第一待回退应用集群,进行应用重新发布,确认软件版本是否已经回退至最新稳定版本。
步骤S5:通过交换机将流量从第二负载均衡器与第二待回退应用集群中移除,此时业务系统不对外提供服务,同时在数据库层将所有的业务进程全部删除。
步骤S6:停止数据同步模块3服务,根据集中配置模块2中第一待回退应用集群回退软件版本的配置信息回退业务数据版本。
这里,具体指重定义虚拟表指向的业务数据表,通过虚拟表实现对业务的完全透明,本发明通过创建数据库同义词的方式构建虚拟表实现配置数据与业务数据版本管理。
步骤S7:通过交换机将流量全部切至第一负载均衡器与第一待回退应用集群64,应用系统恢复对外提供服务的功能。
步骤S8:停第二待回退应用集群,通过集中配置模块2中配置的软件版本信息回退第二待回退应用集群与第一待回退应用集群相同版本,并重新发布。
步骤S9:根据集中配置模块2中的配置,通过交换机将部分流量切至第二负载均衡器,使流量分布恢复到业务系统回退前的状态。
本发明实施例在集中配置模块2中实现按需一键式的回退方法,并且在集中配置模块2中配置了应用程序版本与配置数据版本、业务数据版本之间的关系,从而实现模块级或者全局回退的精准回退,保证配置数据与业务数据的准确性与安全性。通过一键式调用流量管理模块1、数据同步模块3、数据管理模块4、应用管理模块5,实现快速自动切换,无需人工干预,保证应用程序高效、准确的回退到指定或者最近稳定版本。
第四实施例:
如图7所示,本发明的实施例还提供了一种应用程序的回退装置,包括:
第一流量控制模块71,用于将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
第一回退模块72,用于将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
第二流量控制模块73,用于将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
第二回退模块74,用于将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
本发明实施例的应用程序的回退装置,还包括:
流量分配模块,用于在将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本的步骤之后,根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
本发明实施例的应用程序的回退装置,所述第一回退模块72包括:
确定单元,用于确定所述第一待回退应用集群所回退的目标应用版本的信息;
获取单元,用于根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
回退单元,用于根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群。
本发明实施例的应用程序的回退装置,所述获取单元具体用于根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
本发明实施例的应用程序的回退装置,所述回退单元包括:
第一回退子单元,用于根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
配置单元,用于重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
第二回退子单元,用于将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
第三回退子单元,用于根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
需要说明的是,该装置是与上述方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例的应用程序的回退方法及装置,将第一待回退应用集群的流量切换到其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群并对其进行回退处理,此时可继续由其他待回退应用集群提供业务服务;将其他待回退应用集群上的流量切换到回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群并对其进行回退处理,本发明通过滚动回退的方式能够在极短的时间内回退应用版本,减少了终端业务的时间,甚至在用户未有感知的情况下成功回退,有效提升了应用系统的连续性及用户的友好度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用程序的回退方法,其特征在于,包括:
将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
2.根据权利要求1所述的应用程序的回退方法,其特征在于,所述将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本的步骤之后,还包括:
根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
3.根据权利要求1所述的应用程序的回退方法,其特征在于,所述将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群的步骤包括:
确定所述第一待回退应用集群所回退的目标应用版本的信息;
根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群。
4.根据权利要求3所述的应用程序的回退方法,其特征在于,所述根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息的步骤包括:
根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
5.根据权利要求3所述的应用程序的回退方法,其特征在于,所述根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群的步骤包括:
根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
6.一种应用程序的回退装置,其特征在于,包括:
第一流量控制模块,用于将第一待回退应用集群的流量切换到至少一个其他待回退应用集群上,得到处于空闲状态的第一待回退应用集群,其中,不同待回退应用集群之间均为相互对等的应用集群;
第一回退模块,用于将处于空闲状态的第一待回退应用集群,从当前应用版本回退到目标应用版本,得到回退后的第一应用集群;
第二流量控制模块,用于将所述其他待回退应用集群上的流量切换到所述回退后的第一应用集群上,得到处于空闲状态的其他待回退应用集群;
第二回退模块,用于将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本。
7.根据权利要求6所述的应用程序的回退装置,其特征在于,还包括:
流量分配模块,用于在将处于空闲状态的所述其他待回退应用集群,从当前应用版本回退到所述目标应用版本的步骤之后,根据多个所述待回退应用集群回退前的流量分配比例,将所述回退后的第一应用集群上的流量分配给所述其他待回退应用集群。
8.根据权利要求6所述的应用程序的回退装置,其特征在于,所述第一回退模块包括:
确定单元,用于确定所述第一待回退应用集群所回退的目标应用版本的信息;
获取单元,用于根据所述目标应用版本的信息,获取与所述目标应用版本匹配的配置数据信息及所述业务数据信息;
回退单元,用于根据所述配置数据信息及所述业务数据信息,将所述第一待回退应用集群从当前应用版本回退到目标应用版本,得到回退后的第一应用集群。
9.根据权利要求8所述的应用程序的回退装置,其特征在于,所述获取单元具体用于根据一预先创建的虚拟表,获取所述第一待回退应用集群从当前应用版本回退到目标应用版本所需的配置数据信息及业务数据信息,其中,所述虚拟表中保存有按照对应关系存储的应用版本信息、配置数据信息及业务数据信息。
10.根据权利要求8所述的应用程序的回退装置,其特征在于,所述回退单元包括:
第一回退子单元,用于根据所述配置数据信息,将数据库中的当前配置数据版本回退到与所述目标应用版本匹配的目标配置数据版本;
配置单元,用于重新启动所述第一应用集群,使所述第一应用集群根据所述数据库中的目标配置数据版本对所述目标应用版本进行配置处理;
第二回退子单元,用于将所述其他待回退应用集群的流量全部切断后,根据所述业务数据信息,将数据库中的当前业务数据版本回退到与所述目标应用版本匹配的目标业务数据版本;
第三回退子单元,用于根据所述目标业务数据版本,将已完成配置处理的所述第一应用集群回退到所述目标应用版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611308.4A CN106547584B (zh) | 2015-09-23 | 2015-09-23 | 一种应用程序的回退方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510611308.4A CN106547584B (zh) | 2015-09-23 | 2015-09-23 | 一种应用程序的回退方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547584A true CN106547584A (zh) | 2017-03-29 |
CN106547584B CN106547584B (zh) | 2020-04-24 |
Family
ID=58365028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510611308.4A Active CN106547584B (zh) | 2015-09-23 | 2015-09-23 | 一种应用程序的回退方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547584B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506194A (zh) * | 2017-08-24 | 2017-12-22 | 北京百悟科技有限公司 | 应用版本回退确定方法及装置 |
CN108196977A (zh) * | 2017-11-28 | 2018-06-22 | 口碑(上海)信息技术有限公司 | 批量数据回滚方法以及装置 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
CN111104125A (zh) * | 2019-11-19 | 2020-05-05 | 泰康保险集团股份有限公司 | 智能集成版本管理方法、装置、介质及电子设备 |
CN111158715A (zh) * | 2019-12-19 | 2020-05-15 | 中国平安财产保险股份有限公司 | 灰度发布控制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095743A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种灰度发布的处理方法及系统 |
CN103544033A (zh) * | 2013-09-30 | 2014-01-29 | 小米科技有限责任公司 | 应用程序回退方法、装置及相关设备 |
CN104780057A (zh) * | 2014-01-13 | 2015-07-15 | 中兴通讯股份有限公司 | 版本升级处理方法及装置 |
CN104809025A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种项目上线方法及装置 |
-
2015
- 2015-09-23 CN CN201510611308.4A patent/CN106547584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095743A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种灰度发布的处理方法及系统 |
CN103544033A (zh) * | 2013-09-30 | 2014-01-29 | 小米科技有限责任公司 | 应用程序回退方法、装置及相关设备 |
CN104780057A (zh) * | 2014-01-13 | 2015-07-15 | 中兴通讯股份有限公司 | 版本升级处理方法及装置 |
CN104809025A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种项目上线方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506194A (zh) * | 2017-08-24 | 2017-12-22 | 北京百悟科技有限公司 | 应用版本回退确定方法及装置 |
CN108196977A (zh) * | 2017-11-28 | 2018-06-22 | 口碑(上海)信息技术有限公司 | 批量数据回滚方法以及装置 |
CN108196977B (zh) * | 2017-11-28 | 2021-11-26 | 口碑(上海)信息技术有限公司 | 批量数据回滚方法以及装置 |
CN109614398A (zh) * | 2018-11-02 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 数据库中表结构的变更方法及装置 |
CN111104125A (zh) * | 2019-11-19 | 2020-05-05 | 泰康保险集团股份有限公司 | 智能集成版本管理方法、装置、介质及电子设备 |
CN111104125B (zh) * | 2019-11-19 | 2023-09-08 | 泰康保险集团股份有限公司 | 智能集成版本管理方法、装置、介质及电子设备 |
CN111158715A (zh) * | 2019-12-19 | 2020-05-15 | 中国平安财产保险股份有限公司 | 灰度发布控制方法及系统 |
CN111158715B (zh) * | 2019-12-19 | 2024-02-06 | 中国平安财产保险股份有限公司 | 灰度发布控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106547584B (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547584A (zh) | 一种应用程序的回退方法及装置 | |
CN104239417A (zh) | 一种分布式数据库数据分片后动态调整方法及装置 | |
CN106302596B (zh) | 一种服务发现的方法和装置 | |
CN105488185B (zh) | 一种知识库的优化方法和装置 | |
CN108536752A (zh) | 一种数据同步方法、装置和设备 | |
CN102710763B (zh) | 一种分布式缓存池化、分片及故障转移的方法及系统 | |
CN105989160A (zh) | 一种针对Redis数据库的内存数据持久化方法和装置 | |
CN110196758A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN106155838B (zh) | 一种数据库备份数据恢复方法及装置 | |
CN105956481A (zh) | 一种数据处理方法及其装置 | |
CN105260485A (zh) | 一种数据加载的方法和装置 | |
CN102467525A (zh) | 单据关联方法及系统 | |
CN105812175A (zh) | 一种资源管理方法及资源管理设备 | |
CN104298761A (zh) | 一种异构软件系统间主数据匹配的实现方法 | |
CN107231435A (zh) | 数据同步监控方法及系统 | |
CN104317963A (zh) | 一种数据处理方法及装置 | |
CN106571940A (zh) | 一种融合网管数据与资源数据的方法和装置 | |
CN103488695A (zh) | 数据同步装置和数据同步方法 | |
CN106407233A (zh) | 一种数据处理方法和设备 | |
US20140108367A1 (en) | Client apparatus and database server for resumable transaction and method thereof | |
CN110704442A (zh) | 一种大数据的实时获取方法及装置 | |
CN108536834B (zh) | 更新列表的方法、装置和终端 | |
CN108255467A (zh) | 按照工作流顺序执行服务的方法、装置及系统 | |
CN111338767B (zh) | PostgreSQL主从数据库自动切换系统及方法 | |
CN104616197B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |