一种API灰度发布方法、装置、控制设备及可读存储介质制造方法及图纸

技术编号:35291402 阅读:21 留言:0更新日期:2022-10-22 12:37
本申请提供了一种API灰度发布方法、装置、控制设备及可读存储介质,所述方法包括:对API进行灰度发布,采集已进行灰度发布的API的生产环境流量数据;基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析;至少一个分析指标的非灰度流量数据和该分析指标的灰度流量数据之间的流量偏差不符合预设偏差条件的情况下,生成灰度发布警告信息。本申请中,通过自动对分析指标的非灰度流量数据和灰度流量数据进行偏差分析,完成非灰度流量数据和灰度流量数据的比对,从而确定当前灰度发布的效果,并在发布效果欠佳的情况下进行发布告警;无需人工对进行指标判断,避免了效率低下、容易误判的问题。题。题。

【技术实现步骤摘要】
一种API灰度发布方法、装置、控制设备及可读存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种API灰度发布方法、装置、控制设备及可读存储介质。

技术介绍

[0002]API是企业能力开放的核心,越来越多的服务通过API开放,也在一定程度上触发了行业中API经济的快速发展,灰度发布是当前API迭代中使用的一种平滑过渡发布方式。
[0003]但是API灰度发布过程中需要关注很多API灰度流量的指标并判断是否有异常,当前由开发人员来判断指标是否异常,容易造成发布效率低、误判导致故障等问题。

技术实现思路

[0004]本申请解决的问题是人工判断指标效率低、容易误判。
[0005]为解决上述问题,本申请第一方面提供了一种API灰度发布方法,包括:
[0006]对API进行灰度发布,采集已进行灰度发布的API的生产环境流量数据;
[0007]基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析;
[0008]至少一个分析指标的非灰度流量数据和该分析指标的灰度流量数据之间的流量偏差不符合预设偏差条件的情况下,生成灰度发布警告信息。
[0009]本申请第二方面提供了一种API灰度发布装置,其包括:
[0010]流量采集单元,其用于对API进行灰度发布,采集已进行灰度发布的API的生产环境流量数据;
[0011]偏差分析单元,其用于基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析;
[0012]灰度调整单元,其用于至少一个分析指标的非灰度流量数据和该分析指标的灰度流量数据之间的流量偏差不符合预设偏差条件的情况下,生成灰度发布警告信息。
[0013]本申请第三方面提供了一种控制设备,其包括:存储器和处理器;
[0014]所述存储器,其用于存储程序;
[0015]所述处理器,耦合至所述存储器,用于执行所述程序,以用于:
[0016]对API进行灰度发布,采集已进行灰度发布的API的生产环境流量数据;
[0017]基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析;
[0018]至少一个分析指标的非灰度流量数据和该分析指标的灰度流量数据之间的流量偏差不符合预设偏差条件的情况下,生成灰度发布警告信息。
[0019]本申请第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述所述的API灰度发布方法。
[0020]本申请中,通过自动对分析指标的非灰度流量数据和灰度流量数据进行偏差分
析,完成非灰度流量数据和灰度流量数据的比对,从而确定当前灰度发布的效果,并在发布效果欠佳的情况下进行发布告警;无需人工对进行指标判断,避免了效率低下、容易误判的问题。
[0021]本申请中,充分利用灰度流量数据:基于相同指标下,灰度与线上实时数据上的差异来进行异常检测判断,规避了机器学习时序数据预测带来的不准确性;同时由于不依赖历史数据,极大简化了方案的计算、存储成本。
附图说明
[0022]图1为根据本申请一个实施例的API灰度发布方法的流程图;
[0023]图2为根据本申请一个实施例的API灰度发布方法S200的流程图;
[0024]图3为根据本申请另一个实施例的API灰度发布方法S200的流程图;
[0025]图4为根据本申请另一实施例的API灰度发布方法的流程图;
[0026]图5为示例灰度发布的架构图;
[0027]图6为示例灰度发布的流量分类模块的架构图;
[0028]图7为示例灰度发布的决策方法的流程图;
[0029]图8为根据本申请一个实施例的API灰度发布装置的结构框图;
[0030]图9为根据本申请实施例的控制设备的结构框图。
具体实施方式
[0031]为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0032]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
[0033]API是企业能力开放的核心,也是企业整体数字化转型中重要的能力介质,越来越多的服务通过API开放,也在一定程度上触发了行业中API经济的快速发展,API的开放离不开完整的API全生命周期解决方案,包含了规划、设计、实施、测试、发布、运维、消费、版本控制和API下线整个完整的流程。在这些流程中,API的迭代发布在API的开放过程中是风险最高的,因为API配置变更可能会造成参数不兼容、服务不可用等问题。
[0034]API管理平台对此提供了灰度发布的机制,灰度发布是一种平滑过渡发布方式,即:将新版本先只预部署在少部分服务器上,然后引导一部分用户预先体验,而另一部分用户继续使用旧版本,收集新版本用户的体验数据并分析这部分用户验证结果,若使用新版本的用户验证结果符合预期,则可以逐步扩大用户范围,即逐渐发布及放量至全量用户。通过灰度发布可以保证系统版本更新运行稳定,在初始灰度的时候就可以及时发现、调整系统问题,以保证其影响度。
[0035]但是API灰度发布过程中需要关注很多API灰度流量的指标并判断是否有异常,比如API的响应时间、4XX错误量、5XX错误量等。如果都由开发人员来判断指标是否异常,当指
标较多时会造成发布效率低、误判导致故障等问题。
[0036]针对上述问题,本申请提供一种新的灰度发布方案,能够通过自动比对分析指标的非灰度流量数据和灰度流量数据的偏差的方式,解决当前的人工判断效率低下、容易误判的问题。
[0037]为了便于理解,在此对下述可能使用的术语进行解释:
[0038]API:Application Programming Interface,它定义多个软件中介之间的交互。在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这个数据接口就是API。
[0039]API全生命周期管理:FullLifeCycleAPIManagement,API全生命周期管理包含了规划、设计、实施、测试、发布、运维、消费、版本控制和API日落整个完整的流程。
[0040]API网关:API Gateway,API网关是存在于客户端与服务端之间的面向API集成、隔离内部系统与外部访问的一种管控服务。
[0041]灰度发布:Grayscale Release,是指通过将功能逐渐对外暴露,实现平滑过渡发布的一种发布方式。
[0042]HTTP状态码:HTT本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种API灰度发布方法,其特征在于,包括:对API进行灰度发布,采集已进行灰度发布的API的生产环境流量数据;基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析;至少一个分析指标的非灰度流量数据和该分析指标的灰度流量数据之间的流量偏差不符合预设偏差条件的情况下,生成灰度发布警告信息。2.根据权利要求1所述的方法,其特征在于,所述基于多个分析指标对所述生产环境流量数据中的非灰度流量数据和灰度流量数据分别进行偏差分析,包括:获取预设的多个分析指标的筛选规则;从所述生产环境流量数据中筛选每个分析指标的非灰度流量数据和灰度流量数据;计算每个所述分析指标的所述非灰度流量数据和该分析指标的所述灰度流量数据之间的流量偏差。3.根据权利要求2所述的方法,其特征在于,所述生产环境流量数据中包含特征标识,根据所述特征标识将所述生产环境流量数据划分为所述非灰度流量数据和所述灰度流量数据。4.根据权利要求2所述的方法,其特征在于,所述多个分析指标至少包括请求错误指标和服务器错误指标,所述生产环境流量数据中包含状态码,根据所述状态码从所述生产环境流量数据中筛选出所述请求错误指标的生产环境流量数据和所述服务器错误指标的生产环境流量数据。5.根据权利要求2所述的方法,其特征在于,所述计算每个所述分析指标的所述非灰度流量数据和该分析指标的所述灰度流量数据之间的流量偏差之前,还包括:基于当前的API灰度比例,对所述分析指标的所述非灰度流量数据或者所述灰度流量数据进行缩放。6.根据权利要求1所述的方法,其特征在于,所述生成灰度发布警告信息之后,还包括:停止所述API灰度发布,或者,按照预设策略对API进行版本回滚或版本修正。7.根据权利要求1所述...

【专利技术属性】
技术研发人员:冀啸宇
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1