CN115202727A - 灰度发布方法、装置、计算机设备及存储介质 - Google Patents
灰度发布方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115202727A CN115202727A CN202210892297.1A CN202210892297A CN115202727A CN 115202727 A CN115202727 A CN 115202727A CN 202210892297 A CN202210892297 A CN 202210892297A CN 115202727 A CN115202727 A CN 115202727A
- Authority
- CN
- China
- Prior art keywords
- production
- gray scale
- flow
- result
- application
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及发布过程优化技术领域,提供一种灰度发布方法、装置、计算机设备及存储介质,该方法包括:将应用对应的生产流量和灰度流量进行入参;基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境;若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版,实现灰度发布不影响生产流量,且降低硬件成本。本申请还涉及区块链技术,生产结果、灰度结果可以存储在区块链节点中。
Description
技术领域
本申请涉及发布过程优化技术领域,尤其涉及一种灰度发布方法、装置、计算机设备及存储介质。
背景技术
目前,常规的灰度方案,是搭建两套基本配置完全一样的应用、数据库、缓存和中间件,然后做流量切分验证,也即,需要配置两套一致的环境,这就需要两套一模一样的硬件支持,硬件成本较高。而且,传统灰度方案用生产流量调用灰度,直接影响生产流量。
因此,如何实现灰度发布不影响生产流量,且降低硬件成本成为亟需解决的问题。
发明内容
本申请提供了一种灰度发布方法、装置、计算机设备及存储介质,旨在实现灰度发布不影响生产流量,且降低硬件成本。
为实现上述目的,本申请提供一种灰度发布方法,应用于服务器,所述灰度发布方法包括:
将应用对应的生产流量和灰度流量进行入参;
基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境;
若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
此外,为实现上述目的,本申请还提供一种灰度发布装置,所述灰度发布装置包括:
配置模块,用于将应用对应的生产流量和灰度流量进行入参;
处理模块,用于基于服务器支持的同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及获取所述应用的灰度版本基于所述灰度流量执行的灰度结果;
控制模块,用于若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
此外,为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的灰度发布方法。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的灰度发布方法的步骤。
本申请公开了一种灰度发布方法、装置、计算机设备及存储介质,通过将应用对应的生产流量和灰度流量进行入参,基于同一套环境或隔离的两套环境,获取应用的生产版本基于生产流量执行的生产结果,以及应用的灰度版本基于灰度流量执行的灰度结果,若生产结果与灰度结果的差异符合预设的发版条件,则对灰度版本进行正常发版,其中,服务器基于一套硬件支持同一套环境或隔离的两套环境,不需要采用两套硬件,因此,降低了硬件成本;并且,通过生产流量和灰度流量并行调用,将调用的结果进行对比验证,验证无误后再做生产切换,不影响生产流量,而且确保了验证的准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种灰度发布方法的步骤示意性流程图;
图2是本申请实施例提供的一种基于表名对同一套数据源进行灰度和生产区分的示意图;
图3是本申请实施例提供的一种应用状态设置界面的示意图;
图4是本申请实施例提供的一种灰度发布装置的示意性框图;
图5是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在业内,核心系统发布之前,一般会做灰度发布和验证,常规的灰度方案,仅仅是搭建两套基本配置完全一样的应用、数据库、缓存和中间件,然后做流量切分验证。但是对于一些场景,例如一些核心应用接口,既要做灰度发布,又不能直接用生产流量直接调用灰度,而是需要在不影响生产的情况下,同样的流量并行调用,并做对比,给业务带来直观的切换前后的保费、费用变化分析等等,验证无误后再做生产切换。对于这种场景,传统的灰度,仅仅做两套完全一致的环境灰度方案就很难满足需求。并且两套完全一致的环境,基本是需要两套一模一样的硬件,大大的增大了硬件成本。
为了解决上述问题,本申请的实施例提供了一种灰度发布方法、装置、计算机设备及存储介质,用于实现灰度发布不影响生产流量,且降低硬件成本。
请参阅图1,图1是本申请一实施例提供的灰度发布方法的流程示意图。该方法可以应用于服务器,本申请中对该方法的应用场景不做限定。下面以该灰度发布方法应用于服务器中为例,对该灰度发布方法进行详细介绍。
如图1所示,该灰度发布方法具体包括步骤S101至步骤S103。
S101、将应用对应的生产流量和灰度流量进行入参。
为了实现在不影响生产的情况下,做灰度发布,本实施例中,不用生产流量直接调用灰度,而是将生产流量和灰度流量并行调用,进行灰度流量和生产流量的暂存和流控操作,将灰度发布的应用对应的生产流量和灰度流量进行入参。
在一些实施例中,所述将应用对应的生产流量和灰度流量进行入参之前,包括:
按照预设的流控规则,确定所述生产流量和所述灰度流量。
示例性的,预设的流控规则包括但不限于随机比例规则、预设参数筛选规则等。其中,预设参数包括但不限于地区、时间、机构等参数。例如,设定地区和/或时间段,基于设定的地区和/或时间段筛选用户流量,确定灰度发布的应用对应的生产流量和灰度流量。
又如,按照随机比例,或者设定比例,将用户流量进行划分,确定对应的生产流量和灰度流量。比如,若用户流量为10万比特,灰度流量与生产流量对应的随机比例或设定比例为2%:98%,则确定对应的生产流量为9.8万比特,灰度流量为0.2万比特。
根据确定的生产流量和灰度流量,将生产流量和灰度流量进行入参操作,暂存生产流量和灰度流量。
在一些实施例中,所述灰度发布方法还包括:
在业务层上缓存不同Key值,基于所述不同Key值区分生产缓存数据和灰度缓存数据。
示例性的,预先进行缓存灰度改造配置,对传统的缓存,例如Redis,灰度方案不需要重新搭建一套环境,是在业务层上缓存不同的Key值,来区分生产缓存数据和灰度缓存数据。其中,生产缓存数据包括但不限于生产流量、生产结果等,灰度缓存数据包括但不限于灰度流量、灰度结果等。
示例性的,配置生产缓存数据对应的key值的前缀是prd,也即生产缓存数据对应为prd****;配置灰度缓存数据对应的key值的前缀是gray,也即灰度缓存数据对应为gray***。
通过不同的key值将生产缓存数据和灰度缓存数据进行区分,从而不需要去重新搭建一套隔离的环境,进行灰度调用。
在一些实施例中,所述灰度发布方法还包括:
在DB层配置灰度和生产对应的两套数据源;或者
在所述DB层配置一套数据源,对所述一套数据源采用不同标记进行灰度和生产区分。
DB层灰度改造:DB层的灰度,做灰度和生产两套数据源配置,既可以配置为同一套,也可以配置不同的数据源,如果同一套数据源,在表名上区分灰度和生产。
示例性的,预先进行DB(data base,数据库)层灰度改造配置,DB层的灰度,做灰度和生产两套数据源配置,既可以配置为同一套,也可以配置不同的数据源。
一种方式是在DB层配置灰度和生产对应的两套数据源,灰度和生产分别对应一套数据源。
另一种方式是在DB层配置一套数据源,对该一套数据源采用不同标记进行灰度和生产区分。比如,采用类似在业务层上缓存不同Key值区分生产缓存数据和灰度缓存数据的方式,用不同的Key值对该一套数据源进行灰度和生产区分。又如,通过配置该一套数据源对应数据表不同的表名,在表名上区分灰度和生产。
例如,如图2所示,为了区分灰度和生产,将同一套数据源分别保存在2个数据表中,其中一个数据表的表名配置为prd,另一个数据表的表名配置为gray,从而实现在表名上对同一套数据源区分灰度和生产。
S102、基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境。
相比于传统的灰度方案中配置两套一模一样的硬件支持两套完全一致的环境,本申请中,服务器配置为只用一套硬件支持同一套环境或隔离的两套环境,也即,在不增加硬件成本的前提下,实现支持同一套环境或者隔离的两套环境。
一种方式中,基于同一套环境,通过状态切换,获取应用的生产版本基于生产流量执行的生产结果,以及应用的灰度版本基于灰度流量执行的灰度结果,并暂存生产结果和灰度结果。
另一种方式中,基于两套隔离的环境,调用其中一套环境获取应用的生产版本基于生产流量执行的生产结果,同时,调用隔离的另一套环境获取灰度版本基于灰度流量执行的灰度结果,并暂存生产结果和灰度结果。
在一些实施例中,所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果,包括:
基于单独的第一环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
基于单独的第二环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果;
其中,所述第一环境与所述第二环境为互相隔离的两套环境。
例如,预先配置两套隔离的第一环境A和第二环境B,通过调用第一环境A,获取应用的生产版本基于生产流量执行的生产结果。同时,调用第二环境B,获取应用的灰度版本基于所述灰度流量执行的灰度结果。
在另一些实施例中,所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果,包括:
切换所述应用的状态为生产状态,基于第三环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
切换所述应用的状态为灰度状态,基于所述第三环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果。
例如,预先配置一套第三环境C,通过切换应用的状态为生产状态,调用第三环境C,获取应用的生产版本基于生产流量执行的生产结果。并切换应用的状态为灰度状态,调用同一套第三环境C,获取应用的灰度版本基于灰度流量执行的灰度结果。
在一些实施例中,服务器在应用层配置预设接口,通过所述预设接口接入配置中心;
所述切换所述应用的状态为生产状态,包括:
调用所述配置中心修改配置文件,切换所述应用的状态为生产状态;
所述切换所述应用的状态为灰度状态,包括:
调用所述配置中心修改配置文件,切换所述应用的状态为灰度状态。
示例性的,预先将应用层进行灰度改造配置,在应用层内部配置多套预设接口以及多版本,可以支持传统的两套应用app,并且,通过预设接口可以接入配置中心。其中,配置中心包括但不限于是Apollo配置中心。
通过接入的配置中心,如Apollo配置中心,可以实现切换应用的状态为灰度状态还是生产状态。
示例性的,通过调用Apollo配置中心,修改对应的配置文件,切换应用的状态为生产状态,基于同一套环境,获取应用的生产版本基于生产流量执行的生产结果。还可以调用Apollo配置中心,修改对应的配置文件,切换应用的状态为灰度状态,基于同一套环境,获取应用的灰度版本基于灰度流量执行的灰度结果。
在一些实施例中,配置应用状态设置界面,可以通过在该应用状态设置界面上执行应用状态设置操作,切换设置应用状态为生产状态或灰度状态。
例如,如图3所示,在该应用状态设置界面中,包括生产状态和灰度状态的切换控件,当基于该切换控件切换选择生产状态时,例如,如图3中所示,切换应用的状态为生产状态。之后,基于同一套环境,获取应用的生产版本基于生产流量执行的生产结果。当基于该应用状态设置界面选中灰度状态选择控件时,切换应用的状态为灰度状态。之后,基于同一套环境,获取应用的灰度版本基于灰度流量执行的灰度结果。
并且,将获得的生产结果和灰度结果都暂存。
通过对应用层、缓存、业务层、DB层等不同分层进行相应配置,实现通过一套硬件支持既可以同一套环境灰度发布,也可以单独隔离的环境灰度发布,因此,降低了硬件成本。
S103、若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
示例性的,预先设置应用的灰度版本满足正常发版的预设的发版条件。需要说明的是,该预设的发版条件可根据实际情况进行灵活设置,在此不作具体限制。
将获得的灰度结果和生产结果进行比较,确定生产结果与灰度结果的差异。针对于各种应用场景,生产结果与灰度结果的差异包括业务保费变化、模型效果差异、因子分布差异、评分分布差异、评分变化等。
若生产结果与灰度结果的差异符合预设的发版条件,此时,对应用的灰度版本进行正常发版。反之,若生产结果与灰度结果的差异不符合预设的发版条件,也即说明灰度版本有问题,此时,对应用的灰度版本不进行发版,对该灰度版本进行相应配置修改后,再次循环上一次的操作,直至生产结果与灰度结果的差异符合预设的发版条件,对应用的最新的灰度版本进行正常发版。
区别于传统的灰度发布流程,采用本申请中的灰度发布方法,不实际影响生产流量,通过采用相同的参数在灰度运行并做结果对比,对比符合条件后再由灰度发布到生产,大大的提升了验证的准确性。
上述实施例中,通过将应用对应的生产流量和灰度流量进行入参,基于同一套环境或隔离的两套环境,获取应用的生产版本基于生产流量执行的生产结果,以及应用的灰度版本基于灰度流量执行的灰度结果,若生产结果与灰度结果的差异符合预设的发版条件,则对灰度版本进行正常发版,其中,服务器基于一套硬件支持同一套环境或隔离的两套环境,不需要采用两套硬件,因此,降低了硬件成本;并且,通过生产流量和灰度流量并行调用,将调用的结果进行对比验证,验证无误后再做生产切换,不影响生产流量,而且确保了验证的准确性。
请参阅图4,图4是本申请的实施例提供的一种灰度发布装置的示意性框图,该灰度发布装置可以配置于服务器中,用于执行前述的灰度发布方法。
如图4所示,该灰度发布装置1000,包括:配置模块1001、处理模块1002、以及控制模块1003。
配置模块1001,用于将应用对应的生产流量和灰度流量进行入参;
处理模块1002,用于基于服务器支持的同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及获取所述应用的灰度版本基于所述灰度流量执行的灰度结果;
控制模块1003,用于若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
在一个实施例中,所述处理模块1002还用于:
将应用对应的生产流量和灰度流量进行入参;
基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境;
若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
在一个实施例中,所述处理模块1002还用于:
基于单独的第一环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
基于单独的第二环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果;
其中,所述第一环境与所述第二环境为互相隔离的两套环境。
在一个实施例中,所述处理模块1002还用于:
切换所述应用的状态为生产状态,基于第三环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
切换所述应用的状态为灰度状态,基于所述第三环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果。
在一个实施例中,所述服务器在应用层配置预设接口,通过所述预设接口接入配置中心;
所述处理模块1002还用于:
调用所述配置中心修改配置文件,切换所述应用的状态为生产状态;
所述处理模块1002还用于:
调用所述配置中心修改配置文件,切换所述应用的状态为灰度状态。
在一个实施例中,所述处理模块1002还用于:
在业务层上缓存不同Key值,基于所述不同Key值区分生产缓存数据和灰度缓存数据。
在一个实施例中,所述处理模块1002还用于:
在DB层配置灰度和生产对应的两套数据源;或者
在所述DB层配置一套数据源,对所述一套数据源采用不同标记进行灰度和生产区分。
在一个实施例中,所述配置模块1001还用于:
按照预设的流控规则,确定所述生产流量和所述灰度流量。
其中,上述灰度发布装置1000中各个模块与上述灰度发布方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本申请的方法、装置可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
示例性的,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意性框图。
请参阅图5,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种灰度发布方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
将应用对应的生产流量和灰度流量进行入参;
基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境;
若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
在一个实施例中,所述处理器在实现所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果时,用于实现:
基于单独的第一环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
基于单独的第二环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果;
其中,所述第一环境与所述第二环境为互相隔离的两套环境。
在一个实施例中,所述处理器在实现所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果时,用于实现:
切换所述应用的状态为生产状态,基于第三环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
切换所述应用的状态为灰度状态,基于所述第三环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果。
在一个实施例中,所述服务器在应用层配置预设接口,通过所述预设接口接入配置中心;
所述处理器在实现所述切换所述应用的状态为生产状态时,用于实现:
调用所述配置中心修改配置文件,切换所述应用的状态为生产状态;
所述处理器在实现所述切换所述应用的状态为灰度状态时,用于实现:
调用所述配置中心修改配置文件,切换所述应用的状态为灰度状态。
在一个实施例中,所述处理器还用于实现:
在业务层上缓存不同Key值,基于所述不同Key值区分生产缓存数据和灰度缓存数据。
在一个实施例中,所述处理器还用于实现:
在DB层配置灰度和生产对应的两套数据源;或者
在所述DB层配置一套数据源,对所述一套数据源采用不同标记进行灰度和生产区分。
在一个实施例中,所述处理器在实现所述将应用对应的生产流量和灰度流量进行入参之前,用于实现:
按照预设的流控规则,确定所述生产流量和所述灰度流量。
本申请实施例还提供一种计算机可读存储介质。
本申请计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的灰度发布方法的步骤。
其中,所述计算机可读存储介质可以是前述实施例所述的灰度发布装置或计算机设备的内部存储单元,例如所述灰度发布装置或计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述灰度发布装置或计算机设备的外部存储设备,例如所述灰度发布装置或计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种灰度发布方法,其特征在于,应用于服务器,所述灰度发布方法包括:
将应用对应的生产流量和灰度流量进行入参;
基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果;其中,所述服务器基于一套硬件支持同一套环境或隔离的两套环境;
若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
2.如权利要求1所述的灰度发布方法,其特征在于,所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果,包括:
基于单独的第一环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
基于单独的第二环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果;
其中,所述第一环境与所述第二环境为互相隔离的两套环境。
3.如权利要求1所述的灰度发布方法,其特征在于,所述基于同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及所述应用的灰度版本基于所述灰度流量执行的灰度结果,包括:
切换所述应用的状态为生产状态,基于第三环境,获取所述生产版本基于所述生产流量执行的所述生产结果;
切换所述应用的状态为灰度状态,基于所述第三环境,获取所述灰度版本基于所述灰度流量执行的所述灰度结果。
4.如权利要求3所述的灰度发布方法,其特征在于,所述服务器在应用层配置预设接口,通过所述预设接口接入配置中心;
所述切换所述应用的状态为生产状态,包括:
调用所述配置中心修改配置文件,切换所述应用的状态为生产状态;
所述切换所述应用的状态为灰度状态,包括:
调用所述配置中心修改配置文件,切换所述应用的状态为灰度状态。
5.如权利要求1所述的灰度发布方法,其特征在于,所述方法还包括:
在业务层上缓存不同Key值,基于所述不同Key值区分生产缓存数据和灰度缓存数据。
6.如权利要求1所述的灰度发布方法,其特征在于,所述方法还包括:
在DB层配置灰度和生产对应的两套数据源;或者
在所述DB层配置一套数据源,对所述一套数据源采用不同标记进行灰度和生产区分。
7.如权利要求1至6任一项所述的灰度发布方法,其特征在于,所述将应用对应的生产流量和灰度流量进行入参之前,包括:
按照预设的流控规则,确定所述生产流量和所述灰度流量。
8.一种灰度发布装置,其特征在于,所述灰度发布装置包括:
配置模块,用于将应用对应的生产流量和灰度流量进行入参;
处理模块,用于基于服务器支持的同一套环境或隔离的两套环境,获取所述应用的生产版本基于所述生产流量执行的生产结果,以及获取所述应用的灰度版本基于所述灰度流量执行的灰度结果;
控制模块,用于若所述生产结果与所述灰度结果的差异符合预设的发版条件,则对所述灰度版本进行正常发版。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的灰度发布方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的灰度发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892297.1A CN115202727A (zh) | 2022-07-27 | 2022-07-27 | 灰度发布方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892297.1A CN115202727A (zh) | 2022-07-27 | 2022-07-27 | 灰度发布方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202727A true CN115202727A (zh) | 2022-10-18 |
Family
ID=83584898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210892297.1A Pending CN115202727A (zh) | 2022-07-27 | 2022-07-27 | 灰度发布方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202727A (zh) |
-
2022
- 2022-07-27 CN CN202210892297.1A patent/CN115202727A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1770620A2 (en) | Method for modelling processing procedures | |
CN111694841A (zh) | 订单标识生成方法、装置、服务器及存储介质 | |
CN110597511A (zh) | 一种页面自动生成方法、系统、终端设备及存储介质 | |
CN107301179A (zh) | 数据库读写分离的方法和装置 | |
CN108875048B (zh) | 报表生成方法、装置、电子设备及可读存储介质 | |
CN111752944A (zh) | 数据分摊方法、装置、计算机设备及存储介质 | |
CN111522574B (zh) | 差分包生成方法及相关设备 | |
CN107679937B (zh) | 定制服务功能的方法、系统、存储介质及设备 | |
CN111445319A (zh) | 一种凭证生成方法、装置、计算机设备及存储介质 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 | |
CN112860954A (zh) | 实时计算的方法以及实时计算系统 | |
CN111899018A (zh) | 订单数据处理方法、装置、服务器及存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN115086047B (zh) | 接口鉴权方法、装置、电子设备及存储介质 | |
CN115202727A (zh) | 灰度发布方法、装置、计算机设备及存储介质 | |
CN110347657A (zh) | 数据生成方法、装置、电子设备及存储介质 | |
CN115905113A (zh) | 一种生成数据快照的方法及装置 | |
CN112308440B (zh) | 工单处理方法、装置、计算机设备及计算机可读存储介质 | |
CN114610803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN110532533B (zh) | 表格精度配置化方法、装置、计算机设备以及存储介质 | |
CN111737745A (zh) | 数据的加密方法、装置、计算机设备及存储介质 | |
CN110990082A (zh) | 一种业务数据处理方法及相关装置 | |
CN109754189A (zh) | 一种制卡任务的分配方法、一种制卡任务的获取方法、计算机装置及计算机可读存储介质 | |
CN114118014B (zh) | 分布式文档的控制方法、装置、可读存储介质及电子设备 | |
US20240201989A1 (en) | Software-hardware interface protection |
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 |