掌桥专利:专业的专利平台
掌桥专利
首页

一种用于多环境部署和多版本同时在线的系统及方法

文献发布时间:2023-06-19 12:13:22


一种用于多环境部署和多版本同时在线的系统及方法

技术领域

本发明是关于一种用于多环境部署和多版本同时在线的系统及方法,属于应用系统部署领域。

背景技术

目前,对于应用程序的升级,运维人员一般采用传统的方式,进行环境搭建、项目打包、上传和部署等几个步骤。对于较大规模的应用程序,进行多环境部署,需要较多的运维人员处理升级的问题,从而增加人工成本,也增加了升级管理的难度,同时,人工过多的干预也增加了应用程序稳定运行的风险。另一方面,应用程序新旧版本的变更也带来一些其他的困扰,例如无法确保版本的稳定交付、一些定制化需求如何向特定用户进行交付等问题。因此,迫切需要一种可以通过用户界面快速实现多环境部署和多版本同时在线的方法,以减少工作量、降低升级的难度。

发明内容

针对上述问题,本发明的目的是提供一种能够减少工作量、降低升级难度的用于多环境部署和多版本同时在线的系统及方法。

为实现上述目的,本发明采取以下技术方案:一种用于多环境部署和多版本同时在线的系统,包括:

用户界面,用于选择部署的环境域和应用启动参数以及需升级的应用程序的版本;

控制台,所述控制台内设置有:

环境构建模块,用于构建环境域;

存储模块,用于存储各版本的应用程序;

灰度升级模块,用于在部署的环境域上,对需升级的应用程序的版本进行灰度升级;

负载均衡模块,用于在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量分发至对应版本的应用程序。

进一步地,所述控制台采用Jenkins控制台。

进一步地,每一所述环境域均为一个tomcat集群。

进一步地,所述应用启动参数为jenkins相关配置参数,包括源码管理配置参数和触发器构建参数,其中,源码管理配置参数包括仓库地址、凭证、构建的分支、源码浏览器和版本,构建触发器参数包括触发远程构建、其他工程构建后触发和定时构建。

一种用于多环境部署和多版本同时在线的方法,包括以下内容:

1)通过控制台分别触发,对不同环境域进行构建;

2)通过用户界面选择部署的环境域和应用启动参数以及需升级的应用程序的版本;

3)在不删除旧版本应用程序的情况下,控制台在部署的环境域上,对选择的新版本进行灰度升级,得到新版本应用程序;

4)控制台在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量对应分发至旧版本应用程序和新版本应用程序。

进一步地,所述步骤4)的具体过程为:

4.1)负载均衡模块采用流量权重分流方式,配置负载,分别指定新版本应用程序和旧版本应用程序的访问权重比例,请求流量按照指定的权重比例分发至对应的新版本应用程序或旧版本应用程序;

4.2)负载均衡模块采用区域规则分流方式,配置负载,指定按照请求头内容识别分流,且支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上;

4.3)负载均衡模块采用终端类型分流方式,配置负载,指定按照请求头内容识别分流,支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上。

一种处理器,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现上述用于多环境部署和多版本同时在线的方法对应的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现上述用于多环境部署和多版本同时在线的方法对应的步骤。

本发明由于采取以上技术方案,其具有以下优点:

1、本申请由于设置有控制台,从应用打包构建到部署实现自动化,能够减少人工干预,通过用户界面进行设置即可实现服务的快速部署,能够降低工作量和人工成本。

2、本发明通过采用不同的配置分流方式,先向部分用户开放,当应用程序的新版本稳定运行后,再向全部用户开发,实现应用程序版本的稳定过渡,且对于特定区域用户群体的定制化需求的交付问题,本发明能够多版本同时在线,向特定区域用户开放交付版本,降低版本更新的影响,同时能够减少工作量且降低升级的难度。

3、本发明能够在多环境下自动化部署,通过用户界面快速实现多环境部署与更新,大大降低集群环境的升级难度和升级的成本以及维护的成本问题,相较于传统切换方式,对于代码无侵入,可以广泛应用于应用系统部署领域中。

附图说明

图1是本发明一实施例提供的系统结构示意图;

图2是本发明一实施例提供的流量权重分流方式示意图;

图3是本发明一实施例提供的区域规则分流方式示意图;

图4是本发明一实施例提供的终端类型分流方式示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施方式。虽然附图中显示了本发明的示例性实施方式,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。

本发明提供的用于多环境部署和多版本同时在线的系统及方法能够提升系统升级的自动化进程,同时支持服务多版本同时在线,提高系统的稳定性,实现版本迭代的平滑过渡。

实施例1

如图1至图4所示,本实施例提供一种用于多环境部署和多版本同时在线的系统,包括用户界面1和控制台2,其中,控制台2内设置有环境构建模块、存储模块、灰度升级模块和负载均衡模块21。

用户界面1用于选择部署的环境域和应用启动参数,以及当需要升级时选择需升级的应用程序的版本。

环境构建模块用于构建环境域,例如环境域可以包括开发、测试、预生产和生产等。

存储模块用于存储各版本的应用程序。

灰度升级模块用于在部署的环境域上,对需升级的应用程序的版本进行灰度升级。

负载均衡模块21用于在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量分发至对应版本的应用程序。

在一个优选的实施例中,控制台2可以采用Jenkins控制台,每一环境域均为一个tomcat集群。

在一个优选的实施例中,应用启动参数为jenkins相关配置参数,包括源码管理配置参数和构建触发器参数,其中,源码管理配置参数包括仓库地址(Repository URL)、凭证(Credentials)、构建的分支(Branches to build)、源码浏览器(所使用的代码仓库管理工具,例如github、gitlab)、版本(Version),构建触发器参数包括触发远程构建、其他工程构建后触发和定时构建等。

实施例2

本实施例提供一种用于多环境部署和多版本同时在线的方法,包括以下步骤:

1)依托控制台2分别触发,对不同环境域进行构建,如图1所示,本实施例以研发、测试、预生产和生产四和环境域为例进行说明。

2)通过用户界面1选择部署的环境域和应用启动参数以及需升级的应用程序的版本。

3)在不删除旧版本应用程序的情况即多版本同时在线时,控制台2的灰度升级模块在部署的环境域上,对选择的应用程序进行灰度升级,得到新版本应用程序。

4)控制台2的负载均衡模块在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量对应分发至旧版本应用程序和新版本应用程序,具体为:

4.1)负载均衡模块21采用流量权重分流方式,配置负载,分别指定新版本应用程序和旧版本应用程序的访问权重比例,请求流量按照指定的权重比例分发至对应的新版本应用程序或旧版本应用程序。

4.2)负载均衡模块21采用区域规则分流方式,配置负载,指定按照请求头内容识别分流,且支持全量匹配和前缀匹配,配置键值对key和value,在该规则下匹配key和value的请求流量分发至对应版本的应用程序上,通过此种方式,通过过滤请求来源的ip实现区域分发,以交付定制化需求。

4.3)负载均衡模块21采用终端类型分流方式,配置负载,指定按照请求头内容识别分流,支持全量匹配和前缀匹配,配置键值对key和value,在该规则下匹配key和value的请求流量分发至对应版本的应用程序上,通过此种方式,通过过滤请求终端设备类型,实现版本的分流。

实施例3

本实施例提供一种与本实施例1所提供的用于多环境部署和多版本同时在线的方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行实施例1的方法。

所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在处理器上运行的计算机程序,处理器运行计算机程序时执行本实施例1所提供的用于多环境部署和多版本同时在线的方法。

在一些实现中,存储器可以是高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。

在另一些实现中,处理器可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。

实施例4

本实施例1的用于多环境部署和多版本同时在线的方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的用于多环境部署和多版本同时在线的方法的计算机可读程序指令。

计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。

上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

相关技术
  • 一种用于多环境部署和多版本同时在线的系统及方法
  • 一种适配多环境配置的快速部署系统的方法
技术分类

06120113213090