灰度发布方法及装置制造方法及图纸

技术编号:29930432 阅读:15 留言:0更新日期:2021-09-04 18:57
本发明专利技术提供一种灰度发布方法及装置,涉及计算机技术领域。方法包括:获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。本发明专利技术能够提升了灰度的灵活性,降低灰度成本。降低灰度成本。降低灰度成本。

【技术实现步骤摘要】
灰度发布方法及装置


[0001]本专利技术涉及计算机测试
,具体涉及一种灰度发布方法及装置。

技术介绍

[0002]目前灰度发布成为趋势,一般用两种方案实现灰度发布,一种是纯码级别的,需要用if/else的逻辑来实现灰度,这种方案会导致代码冗余和耦合,代码维护成本增加。一种是系统级别的,将技术与业务代码进行区分成不同节点进行部署,虽然降低了代码侵入性,但因灰度要素和灰度策略的多样性,仍然需要在技术代码中侵入灰度决策的判断,一旦有灰度要素和灰度策略的变化,就需要修改代码停机发版本,不能杜绝代码侵入。
[0003]但现有的灰度决策是代码侵入性的,需要在代码中对灰度要素(有些根据机构,有些根据客户号等)进行判断,代码侵入且不够灵活,降低了程序稳定性。同时,生产中灰度引流节点需要独立部署,新节点容易因不符合标准模型,如:云原生能力对标模型、安全可信模型而产生生产隐患。主要暴露的问题如下:
[0004]1、代码侵入。当灰度策略变化时,需侵入性修改代码,主要是灰度决策的逻辑,无法适应动态灰度的场景。
[0005]2、代码不标准隐藏生产隐患。随着系统功能的逐步完善与系统架构的转型,为提升业务代码的稳定性,会尽可能聚合业务代码将有纯业务逻辑的代码逐渐下沉,而把技术代码抽离成独立部署的节点,以应对因技术快速变革而产生的变化。但新增的独立部署的节点往往借鉴以前的程序代码,旧代码没经过标准新模型的对标,从而有生产隐患。
[0006]3、新增编码成本。因灰度引流节点需要独立部署,而该节点实现的功能近乎相似,都需要包含灰度、监控、日志等功能,各个应用需从0到1搭建一套程序,新增了编码成本。

技术实现思路

[0007]针对现有技术中的问题,本专利技术提供一种灰度发布方法及装置,具体包括以下技术方案:
[0008]第一方面,本专利技术提供一种灰度发布方法,包括:
[0009]获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;
[0010]确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;
[0011]根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。
[0012]其中,所述配置文件采用json格式进行编写,采用yml后缀的文件格式进行保存。
[0013]其中,每个所述灰度策略对应至少两个所述灰度标识。
[0014]其中,所述灰度策略包含:匹配条件以及匹配条件对应的灰度标签值。
[0015]第二方面,本专利技术提供一种灰度发布装置,包括:
[0016]参数模块,用于获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;
[0017]标签模块,用于确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;
[0018]路由模块,用于根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。
[0019]其中,所述配置文件采用json格式进行编写,采用yml后缀的文件格式进行保存。
[0020]其中,每个所述灰度策略对应至少两个所述灰度标识。
[0021]其中,所述灰度策略包含:匹配条件以及匹配条件对应的灰度标签值。
[0022]第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的灰度发布方法的步骤。
[0023]第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的灰度发布方法的步骤。
[0024]由上述技术方案可知,本专利技术提供一种灰度发布方法及装置,通过获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。能够提升了灰度的灵活性,降低灰度成本。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本专利技术实施例中的灰度发布方法的流程示意图。
[0027]图2为本专利技术实施例中的灰度发布装置的结构示意图。
[0028]图3为本专利技术实施例中的电子设备的结构示意图。
具体实施方式
[0029]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]本专利技术提供一种灰度发布方法的实施例,参见图1,所述灰度发布方法具体包含有如下内容:
[0031]S101:获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;
[0032]在本步骤中,将灰度要素按照约定的配置规则保存在配置文件中,如路由识别信息、路由策略信息、匹配条件信息等,灰度要素如:地区号、客户号信息。配置文件采用json格式进行编写,采用yml后缀的文件格式进行保存,具有容易读懂、容易解析的特点。
[0033]进一步地,对保存的配置文件进行读取,具体为基于SpringBoot原生的加载与读
取配置文件的方式。通过读取配置文件,需要变化的参数信息(包含:灰度要素和配置规则)抽取成变量的,当在灰度发布过程的转正前、转正后、回退阶段时,通过修改变量值实现策略与流量的变化。变量使用applo管理,可以实现动态热加载,只要有任何参数修改都可以实现秒级更新。避免了停机操作,助力7*24h不间断服务。
[0034]S102:确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;
[0035]在本步骤中,基于配置文件确定对应的灰度标识以及输出一个与灰度标识对应的一个标签值,每一个标签值和一个灰度策略绑定,目的是将灰度策略传递到下游,以便路由日志的记录。
[0036]其中,灰度策略对应至少一个灰度标识,也就是说,存在多个灰度标识对应一个灰度策略。灰度策略包含:匹配条件以及匹配条件对应的灰度标签值。
[0037]S103:根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。
[0038]在本步骤中,负责根据灰度策略进行决策,根据匹配条件以及匹配条件对应的灰度标签值动态匹配得到路由的结果,各个目标节点会分别打上不同的标签,当灰度节点的标签是A时,就会匹配到打上A标签的节点,最终实现节点级的灰度。进一步地,记录灰度路由日志,以便问题诊断。...

【技术保护点】

【技术特征摘要】
1.一种灰度发布方法,其特征在于,包括:获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;确定所述配置文件对应的灰度标识,基于所述灰度标识确定对应的灰度策略;根据所述灰度策略中的路由结果对目标节点进行标签,实现目标节点的灰度。2.根据权利要求1所述的灰度发布方法,其特征在于,所述配置文件采用json格式进行编写,采用yml后缀的文件格式进行保存。3.根据权利要求1所述的灰度发布方法,其特征在于,每个所述灰度策略对应至少两个所述灰度标识。4.根据权利要求1所述的灰度发布方法,其特征在于,所述灰度策略包含:匹配条件以及匹配条件对应的灰度标签值。5.一种灰度发布装置,其特征在于,包括:参数模块,用于获取灰度要素和配置规则,将所述灰度要素按照所述配置规则保存在配置文件中;标签模块,用于确定所述配置文件对应的灰度标识,基于所述灰...

【专利技术属性】
技术研发人员:李芳张建荣吴振东林慕云
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1