CN113254039B - 一种用于多环境部署和多版本同时在线的***及方法 - Google Patents
一种用于多环境部署和多版本同时在线的***及方法 Download PDFInfo
- Publication number
- CN113254039B CN113254039B CN202110607740.1A CN202110607740A CN113254039B CN 113254039 B CN113254039 B CN 113254039B CN 202110607740 A CN202110607740 A CN 202110607740A CN 113254039 B CN113254039 B CN 113254039B
- Authority
- CN
- China
- Prior art keywords
- version
- environment
- application program
- application programs
- request
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000009826 distribution Methods 0.000 claims abstract description 40
- 238000010276 construction Methods 0.000 claims abstract description 17
- 238000003860 storage Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于多环境部署和多版本同时在线的***及方法,其特征在于,包括:用户界面,用于选择部署的环境域和应用启动参数以及需升级的应用程序的版本;控制台,所述控制台内设置有:环境构建模块,用于构建环境域;存储模块,用于存储各版本的应用程序;灰度升级模块,用于在部署的环境域上,对需升级的应用程序的版本进行灰度升级;负载均衡模块,用于在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量分发至对应版本的应用程序,本发明可以广泛应用于应用***部署领域中。
Description
技术领域
本发明是关于一种用于多环境部署和多版本同时在线的***及方法,属于应用***部署领域。
背景技术
目前,对于应用程序的升级,运维人员一般采用传统的方式,进行环境搭建、项目打包、上传和部署等几个步骤。对于较大规模的应用程序,进行多环境部署,需要较多的运维人员处理升级的问题,从而增加人工成本,也增加了升级管理的难度,同时,人工过多的干预也增加了应用程序稳定运行的风险。另一方面,应用程序新旧版本的变更也带来一些其他的困扰,例如无法确保版本的稳定交付、一些定制化需求如何向特定用户进行交付等问题。因此,迫切需要一种可以通过用户界面快速实现多环境部署和多版本同时在线的方法,以减少工作量、降低升级的难度。
发明内容
针对上述问题,本发明的目的是提供一种能够减少工作量、降低升级难度的用于多环境部署和多版本同时在线的***及方法。
为实现上述目的,本发明采取以下技术方案:一种用于多环境部署和多版本同时在线的***,包括:
用户界面,用于选择部署的环境域和应用启动参数以及需升级的应用程序的版本;
控制台,所述控制台内设置有:
环境构建模块,用于构建环境域;
存储模块,用于存储各版本的应用程序;
灰度升级模块,用于在部署的环境域上,对需升级的应用程序的版本进行灰度升级;
负载均衡模块,用于在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量分发至对应版本的应用程序。
进一步地,所述控制台采用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所述的用于多环境部署和多版本同时在线的方法的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (7)
1.一种用于多环境部署和多版本同时在线的***,其特征在于,包括:
用户界面,用于选择部署的环境域和应用启动参数以及需升级的应用程序的版本;
控制台,所述控制台内设置有:
环境构建模块,用于构建环境域;
存储模块,用于存储各版本的应用程序;
灰度升级模块,用于在部署的环境域上,对需升级的应用程序的版本进行灰度升级;
负载均衡模块,用于在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量分发至对应版本的应用程序,具体过程为:
负载均衡模块采用流量权重分流方式,配置负载,分别指定新版本应用程序和旧版本应用程序的访问权重比例,请求流量按照指定的权重比例分发至对应的新版本应用程序或旧版本应用程序;
负载均衡模块采用区域规则分流方式,配置负载,指定按照请求头内容识别分流,且支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上;
负载均衡模块采用终端类型分流方式,配置负载,指定按照请求头内容识别分流,支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上。
2.如权利要求1所述的一种用于多环境部署和多版本同时在线的***,其特征在于,所述控制台采用Jenkins控制台。
3.如权利要求2所述的一种用于多环境部署和多版本同时在线的***,其特征在于,每一所述环境域均为一个tomcat集群。
4.如权利要求2所述的一种用于多环境部署和多版本同时在线的***,其特征在于,所述应用启动参数为jenkins相关配置参数,包括源码管理配置参数和触发器构建参数,其中,源码管理配置参数包括仓库地址、凭证、构建的分支、源码浏览器和版本,构建触发器参数包括触发远程构建、其他工程构建后触发和定时构建。
5.一种用于多环境部署和多版本同时在线的方法,其特征在于,包括以下内容:
1)通过控制台分别触发,对不同环境域进行构建;
2)通过用户界面选择部署的环境域和应用启动参数以及需升级的应用程序的版本;
3)在不删除旧版本应用程序的情况下,控制台在部署的环境域上,对选择的新版本进行灰度升级,得到新版本应用程序;
4)控制台在部署的环境域上,接收各版本应用程序的请求流量,并采用流量权重分流、区域规则分流或终端类型分流方式,将请求流量对应分发至旧版本应用程序和新版本应用程序,具体过程为:
4.1)负载均衡模块采用流量权重分流方式,配置负载,分别指定新版本应用程序和旧版本应用程序的访问权重比例,请求流量按照指定的权重比例分发至对应的新版本应用程序或旧版本应用程序;
4.2)负载均衡模块采用区域规则分流方式,配置负载,指定按照请求头内容识别分流,且支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上;
4.3)负载均衡模块采用终端类型分流方式,配置负载,指定按照请求头内容识别分流,支持全量匹配和前缀匹配,配置键值对,在该规则下匹配键值对的请求流量分发至对应版本的应用程序上。
6.一种处理器,其特征在于,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现权利要求5中所述的用于多环境部署和多版本同时在线的方法对应的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现权利要求5中所述的用于多环境部署和多版本同时在线的方法对应的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110607740.1A CN113254039B (zh) | 2021-06-01 | 2021-06-01 | 一种用于多环境部署和多版本同时在线的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110607740.1A CN113254039B (zh) | 2021-06-01 | 2021-06-01 | 一种用于多环境部署和多版本同时在线的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254039A CN113254039A (zh) | 2021-08-13 |
CN113254039B true CN113254039B (zh) | 2024-04-05 |
Family
ID=77185782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110607740.1A Active CN113254039B (zh) | 2021-06-01 | 2021-06-01 | 一种用于多环境部署和多版本同时在线的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254039B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114398A2 (en) * | 2004-05-18 | 2005-12-01 | Bea Systems, Inc. | Production redeployment through application versioning |
CN110244965A (zh) * | 2019-06-06 | 2019-09-17 | 深圳前海微众银行股份有限公司 | 灰度发布管理方法、装置、设备及计算机可读存储介质 |
CN110888666A (zh) * | 2019-12-12 | 2020-03-17 | 北京中电普华信息技术有限公司 | 基于应用负载均衡的灰度发布方法在云服务***中的应用 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040233930A1 (en) * | 2003-05-19 | 2004-11-25 | Modular Computing & Communications Corporation | Apparatus and method for mobile personal computing and communications |
-
2021
- 2021-06-01 CN CN202110607740.1A patent/CN113254039B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114398A2 (en) * | 2004-05-18 | 2005-12-01 | Bea Systems, Inc. | Production redeployment through application versioning |
CN110244965A (zh) * | 2019-06-06 | 2019-09-17 | 深圳前海微众银行股份有限公司 | 灰度发布管理方法、装置、设备及计算机可读存储介质 |
CN110888666A (zh) * | 2019-12-12 | 2020-03-17 | 北京中电普华信息技术有限公司 | 基于应用负载均衡的灰度发布方法在云服务***中的应用 |
Non-Patent Citations (2)
Title |
---|
Nginx反向代理技术在移动应用服务架构中的应用;邓庚盛;付爱英;熊永春;;科技广场(09);全文 * |
企业ERP***灰度发布;陈燕妮;;电脑知识与技术(17);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113254039A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9485134B2 (en) | Managing configurations of system management agents in a distributed environment | |
US9047163B2 (en) | Managing the distribution of client packages | |
CN101924798B (zh) | 一种基于文件类型的Android构件透明加载方法及*** | |
CN101160563A (zh) | 用于托管并执行组件应用程序的方法和*** | |
CN103019757A (zh) | 一种在多台客户端间同步软件的方法、装置及*** | |
CN101924775A (zh) | 一种Android应用构件的透明加载方法及*** | |
US20130295909A1 (en) | System And Method For Providing Customer Support Using A Location-Aware Portable Device | |
CN108540509B (zh) | 一种终端浏览器的处理方法、装置及服务器、智能终端 | |
CN110830374A (zh) | 一种基于sdk的灰度发布的方法和装置 | |
CN111158752A (zh) | 一种saas多版本控制***及其使用方法 | |
EP2823411A1 (en) | A method and system of application development for multiple device client platforms | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN105912641A (zh) | 一种本地应用程序的图标更新方法及装置 | |
CN112947919A (zh) | 构建业务模型和处理业务请求的方法和装置 | |
CN104410511A (zh) | 一种服务器管理方法及*** | |
CN113254039B (zh) | 一种用于多环境部署和多版本同时在线的***及方法 | |
CN106528199A (zh) | 一种汽车仪表盘***的更新方法及终端 | |
CN111291012A (zh) | 一种规则文件部署***、方法、设备及介质 | |
CN113923240B (zh) | 利用局部ota方法在物联网网关中动态升级设备接口协议的***及方法 | |
CN103914339A (zh) | 服务器管理***及服务器管理方法 | |
JP4882291B2 (ja) | モジュール更新プログラム | |
US20200007641A1 (en) | Smart factory application integration | |
CN113495747B (zh) | 一种灰度发布方法和装置 | |
CN115037617B (zh) | 一种dubbo服务治理的优化方法及装置 | |
US11522943B1 (en) | System and method for deferring data retrieval |
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 |