一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于并行部署单元的预发版环境管理方法及系统与流程

2022-11-28 12:37:33 来源:中国专利 TAG:


1.本发明涉及计算机软件前端测试及软件运维技术领域,尤其涉及一种基于并行部署单元的预发版环境管理方法及系统。


背景技术:

2.由于测试环境无法模拟实际生产环境的数据和认证流程,导致测试人员无法确保前端页面(代码)从测试环境发布到生产环境上仍能正确运行,因此就产生了生产预发版环境用于衔接测试环境与实际的生产环境。由于前端页面从测试环境发布到生产环境后就会直接提供给一般用户使用,一旦前端页面在生产环境上出现问题,将会对用户生产非常严重的负面影响,从而导致客户流失,因此,前端预生产环境是十分有必要的。应用于前端的生产预发版环境是测试环境到生产环境的过度,即在实际生产环境上部署新版本的前端页面(代码),但同时提供限定只向具有资格的测试人员提供访问新版页面的权限,其他通常用户仍然访问旧版页面。通过使用生产预发版环境既能够满足新版本页面在实际生产环境下的测试需要,又能够保证新版本页面的测试不会影响正常用户访问。
3.现有技术下实现预发版环境主要包括两类方案,一种是采用测试域名配合验证集群的配置方式,在前端发版时,先将前端相关的代码(html、js、css等文件)发到验证节点(服务器集群)上,此时测试人员通过测试域名来访问新发版的前端页面,而同时,普通用户仍然使用正式域名访问生产节点上的页面;当测试人员对新发版的页面验证无误后,再将验证节点上的页面发布到生产节点上,此时普通用户访问的就是生产节点上的新发版页面了。另一种是利用前端灰度发布的机制,首先由运营人员在后台管理系统决定哪些人可以访问验证节点,并把白名单存储到缓存数据库中,测试人员和普通用户都使用相同的域名访问服务器,反向代理服务器(例如nginx)对请求进行检查是否包含特定cookie标记,如果有cookie标记,根据用户的类型反向代理(将请求转发)到对应的节点上;如果没有cookie标记,反向代理服务器可以通过调用lua脚本访问缓存服务器,判断用户是否在白名单上,之后,根据判定的结果对用户进行cookie标记,并通过标记将请求反向代理到不同的节点上,这样,当用户再次请求时,可以直接通过cookie标记判断,并执行请求对应的转发操作。
4.对于使用测试域名配合验证集群的方式,防火墙、ips防火墙、waf防火墙及f5都需要重新针对于特定的域名配置策略重新进行调整,一旦生产环境的安全策略升级,往往容易忘记升级测试域名的策略,这样就会导致前端页面在预生产环境和生产环境网络策略不一致,进而会导致一些无法排查的环境问题。例如在升级waf防火墙策略后,忘记给预生产环境上的url开白名单,这样在预生产环境上就会导致无法正常访问页面,对测试工作造成极大影响。其次,由于使用了不同的域名,h5、app和小程序都需要根据测试域名发布一个测试版本,无形中增加了大量人工成本。另一方面,在调整域名的过程中存在人为导致问题的风险,以及由于验证节点需要配置至少两台服务器以模拟正式环境集群场景,造成了硬件资源的浪费。
5.对于使用灰度发布策略的预生产发版技术方案,会导致整个链路流程过于复杂,
导致前后端开发人员的工作量大量增加。同时,由于需要使用lua脚本,必然增加了开发人员的学习成本。最后,对于验证节点需要配置至少两台服务器以模拟正式环境集群,同样存在浪费硬件资源的问题。
6.由此可知,现有技术的预发版环境解决方案都无法保证预生产和生产下的环境完全一致,有可能导致很多无法预知的事故,存在巨大的使用隐患;同时,现有技术的实现需要对环境、配置进行大量的调整,无形增加了人力和物力成本,还会造成资源浪费。


技术实现要素:

7.为解决现有技术的不足,本发明提出一种基于并行部署单元的预发版环境管理方法及系统,通过在生产环境中额外配置独立的部署单元并专门用于预发版环境实现,能够完全保证预生产和正式生产环境的一致性,从根本上避免因预发版环境与生产环境存在区别产生的测试事故;同时,方案整体架构简单易于实现,需要对现有环境改造的工作量极低,能够广泛适用于各类型生产环境下新版本的测试工作。
8.为实现以上目的,本发明所采用的技术方案包括:
9.一种基于并行部署单元的预发版环境管理方法,其特征在于,包括:
10.s1、建立区别于生产环境部署单元的独立的预发版部署单元,并对应所述预发版部署单元配置预发版资源组;
11.s2、获取待部署页面,将待部署页面保存入预发版资源组;
12.s3、获取页面调用请求,判断页面调用请求是否满足预发版反馈条件,当判断页面调用请求不满足预发版反馈条件时,调用生产环境部署单元使用生产资源组中的常规页面反馈页面调用请求;
13.s4、当判断页面调用请求满足预发版反馈条件时,调用预发版部署单元,使用预发版资源组中的待部署页面反馈页面调用请求;
14.s5、获取待部署页面确认请求,将预发版资源组中的待部署页面转移至对应生产环境部署单元的生产资源组中作为新的常规页面。
15.进一步地,所述判断页面调用请求是否满足预发版反馈条件包括:
16.识别页面调用请求是否带有开发权限标识。
17.进一步地,所述判断页面调用请求是否满足预发版反馈条件包括:
18.识别页面调用请求的ip地址;
19.判断ip地址是否属于预设的开发权限地址范围内。
20.进一步地,所述判断ip地址是否属于预设的开发权限地址范围内包括:
21.判断ip地址是否为外部网络访问,当判断ip地址为外部网络访问时,确定ip地址不属于预设的开发权限地址范围内;
22.当判断ip地址不为外部网络访问时,进一步判断ip地址是否属于预设的开发权限地址范围内。
23.进一步地,所述开发权限地址范围包括预设的固定ip池。
24.进一步地,所述步骤s5还包括:
25.转移待部署页面后,清空预发版资源组。
26.本发明还涉及一种基于并行部署单元的预发版环境管理系统,其特征在于,包括:
27.预发版部署单元,用于调用预发版资源组反馈页面调用请求;
28.生产环境部署单元,用于调用生产资源组反馈页面调用请求;
29.预发版资源组,用于保存待部署页面;
30.生产资源组,用于保存常规页面;
31.页面调用判断模块,用于判断页面调用请求是否满足预发版反馈条件;
32.反馈模块,用于使用常规页面或待部署页面反馈页面调用请求。
33.本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
34.本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
35.所述存储器,用于存储常规页面和待部署页面;
36.所述处理器,用于通过调用常规页面和待部署页面,执行上述的方法。
37.本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
38.本发明的有益效果为:
39.采用本发明所述基于并行部署单元的预发版环境管理方法及系统,通过在生产环境中额外配置独立的部署单元并专门用于预发版环境实现,能够完全保证预生产和正式生产环境的一致性,从根本上避免因预发版环境与生产环境存在区别产生的测试事故;同时,方案整体架构简单易于实现,需要对现有环境改造的工作量极低,能够广泛适用于各类型生产环境下新版本的测试工作。
附图说明
40.图1为本发明基于并行部署单元的预发版环境管理方法流程示意图。
41.图2为本发明基于并行部署单元的预发版环境管理系统结构示意图。
具体实施方式
42.为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
43.本发明第一方面涉及一种步骤流程如图1所示的基于并行部署单元的预发版环境管理方法,包括:
44.s1、建立区别于生产环境部署单元的独立的预发版部署单元,并对应所述预发版部署单元配置预发版资源组。
45.例如,可以在生产环境上的nginx增加一个新的部署单元作为预生产环境的部署单元,同时也在生产环境上的nginx增加了一个新的文件夹作为预发版资源组专门放预生产环境的前端页面。
46.s2、获取待部署页面,将待部署页面保存入预发版资源组。当测试人员在测试环境对前端页面测试无误后,将前端页面推送到生产环境nginx的预发版资源组中。其中,待部署页面内容可以包括html文件、js文件、css文件等常规内容。
47.s3、获取页面调用请求,判断页面调用请求是否满足预发版反馈条件,当判断页面调用请求不满足预发版反馈条件时,调用生产环境部署单元使用生产资源组中的常规页面反馈页面调用请求。此时反馈的为旧页面,一般用户不会接触到验证过程中的待部署页面,
从而不会对验证过程产生任何感知,不影响一般用户在待部署页面验证同时正常使用旧页面。
48.优选的,判断页面调用请求是否满足预发版反馈条件可以采用识别页面调用请求是否带有开发权限标识的方式,也可以选择采用识别页面调用请求的ip地址是否属于预设的开发权限地址范围内。
49.例如,获取页面调用请求后,首先识别页面调用请求的ip地址,然后判断ip地址是否为外部网络访问,当判断ip地址为外部网络访问时,确定ip地址不属于预设的开发权限地址范围内;当判断ip地址不为外部网络访问时,进一步判断ip地址是否属于预设的固定ip池地址范围内。
50.s4、当判断页面调用请求满足预发版反馈条件时,调用预发版部署单元,使用预发版资源组中的待部署页面反馈页面调用请求。此时反馈内容仅作为对待部署页面的验证和测试使用,但同时实际调用及反馈过程与正常生产资源环境完全一致,能够完全模拟常规环境下的调用情况以便发现待部署页面的问题。
51.s5、获取待部署页面确认请求,将预发版资源组中的待部署页面转移至对应生产环境部署单元的生产资源组中作为新的常规页面,并清空预发版资源组。
52.通过上述方法,所有需要进行预发版验证过程的待部署页面均首先保存在预发版资源组并只通过有权限的页面请求进行调用,完成验证后只需直接转移至正常生产资源组中即可作为常规页面向全部用户开放。
53.本发明另一方面还涉及一种基于并行部署单元的预发版环境管理系统,其结构如图2所示,包括:
54.预发版部署单元,用于调用预发版资源组反馈页面调用请求;
55.生产环境部署单元,用于调用生产资源组反馈页面调用请求;
56.预发版资源组,用于保存待部署页面;
57.生产资源组,用于保存常规页面;
58.页面调用判断模块,用于判断页面调用请求是否满足预发版反馈条件;
59.反馈模块,用于使用常规页面或待部署页面反馈页面调用请求。
60.通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
61.本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
62.本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如常规页面和待部署页面等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
63.优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他
系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
64.额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为lcd显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
65.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
66.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
67.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
68.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
69.以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献