灰度发布验证方法、系统、介质、设备及程序技术方案

技术编号:33037915 阅读:19 留言:0更新日期:2022-04-15 09:16
本申请提供一种灰度发布验证方法、系统、介质、设备及程序。在该方法中,对子系统进行版本更新时,执行第一灰度发布步骤,并确定执行第一灰度发布步骤后的第一执行结果,然后,对第一执行结果进行验证处理,只有当第一执行结果通过验证处理时,执行灰度发布步骤序列中下一个灰度发布步骤,在当灰度发布步骤序列中的所有灰度发布步骤执行完毕,并且执行结果通过验证处理时,确定子系统的版本更新所对应的灰度发布验证成功,从而在版本灰度发布的过程中,实现在每个灰度步骤完成后,能够及时进行自动验证,以及时发现问题。以及时发现问题。以及时发现问题。

【技术实现步骤摘要】
灰度发布验证方法、系统、介质、设备及程序


[0001]本申请涉及金融科技(Fintech)
,尤其涉及一种灰度发布验证方法、系统、介质、设备及程序。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,接口测试技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]目前,随着互联网技术的发展,微服务技术的应用,版本更新频率的提高,企业内部进行版本发布的人力投入越来越大,给企业运维人员提出了更大的挑战。当前,企业运维人员进行版本发布后,绝大部分依赖人工进行版本验证,验证效率较低且耗时较长,并且,验证方案主要也是由发布人员凭经验整理得到,存在方案不完善的问题。
[0004]尤其是在版本灰度发布的过程中,很难在每个灰度步骤完成后及时进行验证,若版本存在问题时,则难以及时发现问题。

技术实现思路

[0005]本申请实施例提供一种灰度发布验证方法、系统、介质、设备及程序,以解决现有技术在版本灰度发布的过程中,很难在每个灰度步骤完成后及时进行验证,及若版本存在问题时,则难以及时发现的技术问题。
[0006]第一方面,本申请实施例提供一种灰度发布验证方法,应用于灰度发布验证系统,所述灰度发布验证系统包括多个子系统,每个子系统的版本更新包括灰度发布步骤序列,所述灰度发布步骤序列包括按照预设顺序排列的多个灰度发布步骤,所述方法,包括:
[0007]在对子系统进行版本更新时,执行第一灰度发布步骤,并确定执行所述第一灰度发布步骤后的第一执行结果;
[0008]对所述第一执行结果进行验证处理,其中,所述验证处理包括应用验证、数据库验证、业务功能验证以及监控性能指标检查中的至少一项,所述应用验证用于对所述第一执行结果中的应用配置结果进行验证,所述数据库验证用于对所述第一执行结果中的数据库操作语句进行验证,所述业务功能验证用于对所述第一执行结果中的结构化查询语言SQL语句执行结果进行验证,所述监控性能指标检查用于对所述第一执行结果中的实例级别指标数据进行检查;
[0009]若所述第一执行结果通过所述验证处理,则执行第二灰度发布步骤,所述第二灰度发布步骤为所述第一灰度发布步骤的下一个灰度发布步骤;
[0010]当所述灰度发布步骤序列中的所有灰度发布步骤执行完毕,并且执行结果通过所述验证处理,则确定所述子系统的版本更新所对应的灰度发布验证成功。
[0011]在一种可能的设计中,当所述验证处理包括所述数据库验证,则所述对所述第一执行结果进行验证处理,包括:
[0012]读取数据库DB物料包中的待验证SQL语句集合,并利用预设词法分析器对所述待验证SQL语句集合中的每一项SQL语句进行解析,以生成对应的语法树;
[0013]根据每一项SQL语句所对应的语法树以及预设对象分类条件确定每一项SQL语句所对应的语句类型;
[0014]根据第一SQL语句所对应的语句类型获取所涉及的第一表名称,并根据所述第一表名称连接对应的第一数据库,其中,所述第一SQL语句为所述待验证SQL语句集合中的任意一项语句;
[0015]获取所述第一数据库对应的第一操作语句,并根据所述预设词法分析器对所述第一操作语句进行解析,以生成第一语法树;
[0016]按照预设语法树语句类型匹配规则对待验证语法树以及所述第一语法树确定校验,以确定对应数据库中的表与字段属性生效状态,所述待验证语法树为利用所述预设词法分析器对所述第一SQL语句解析所生成的语法树。
[0017]在一种可能的设计中,在所述根据每一项SQL语句所对应的语法树以及预设对象分类条件确定每一项SQL语句所对应的语句类型之后,还包括:
[0018]确定所述语句类型为数据定义语言DDL的语句为所述第一SQL语句;
[0019]根据预设分类规则确定所述第一SQL语句对应的第一操作类型,所述第一操作类型用于确定所述第一数据库中所述第一SQL语句对应的所述第一操作语句。
[0020]在一种可能的设计中,在所述根据第一SQL语句所对应的语句类型获取所涉及的第一表名称之前,还包括:
[0021]根据所述待验证SQL语句集合中的每一项SQL语句的读取顺序以及对应的表名称分类对所述SQL语句集合中的SQL语句进行排序,以生成第一表结构对象;
[0022]从所述第一表结构对象的最后一项SQL语句开始,逆序进行所述数据库验证;其中,若验证结果为成功,则将当前验证的SQL语句从所述第一表结构对象中进行删除,并回滚至前一项SQL语句继续进行所述数据库验证,并在所述第一表结构对象全部完成所述数据库验证后,输出检查报告;若验证结果为失败,则输出检查报告。
[0023]在一种可能的设计中,当所述验证处理包括所述监控性能指标检查,则所述对所述第一执行结果进行验证处理,包括:
[0024]获取第一执行结果中的所述实例级多运维指标数据,并根据数据特征确定所述实例级多运维指标数据的指标数据类型;
[0025]根据所述指标数据类型确定对应的异常检测算法,并根据所述异常检测算法对所述实例级多运维指标数据进行验证处理。
[0026]在一种可能的设计中,若所确定的所述指标数据类型为所述稳定型数据,则所述根据所述指标数据类型确定对应的异常检测算法,并根据所述异常检测算法对所述实例级多运维指标数据进行验证处理,包括:
[0027]同步使用多个滑动窗口遍历所述实例级多运维指标数据,并确定所述多个滑动窗口的特征统计量,所述特征统计量用于表征所述实例级多运维指标数据的集中趋势特征;
[0028]将所述实例级多运维指标数据分别与所述多个滑动窗口的特征统计量进行作差,并生成特征序列;
[0029]利用箱型图离群点检测算法对所述特征序列进行检验,当确定所述实例级多运维
指标数据中与所述多个滑动窗口的统计数据偏差大于预设阈值时,则确定所述实例级多运维指标数据为异常。
[0030]在一种可能的设计中,所述实例级多运维指标数据的异常,包括:毛刺异常、整体抬升异常以及整体下降异常;
[0031]其中,若异常点的前窗口与后窗口的均值符合预设正常条件且前窗口与后窗口的均值差值在预设范围内,异常点指标数据增幅大于预设增幅且大于所述前后窗口均值,则确定所述异常点对应的所述实例级多运维指标数据属于所述毛刺异常,所述多个滑动窗口包括所述前窗口与所述后窗口;
[0032]若异常点前窗口均值的均值符合预设正常条件且小于后窗口均值,异常点指标数据增幅大于预设增幅且大于前窗口均值,则确定所述异常点对应的所述实例级多运维指标数据属于所述整体抬升异常;
[0033]若异常点前窗口均值的均值符合预设正常条件且大于后窗口均值,异常点指标数据增幅小于预设增幅且大于前窗口均值,则确定所述异常点对应的所述实例级多运维指标数据属于所述整体下降异常。
[0034]在一种可能的设计中,所述利本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种灰度发布验证方法,其特征在于,应用于灰度发布验证系统,所述灰度发布验证系统包括多个子系统,每个子系统的版本更新包括灰度发布步骤序列,所述灰度发布步骤序列包括按照预设顺序排列的多个灰度发布步骤,所述方法,包括:在对子系统进行版本更新时,执行第一灰度发布步骤,并确定执行所述第一灰度发布步骤后的第一执行结果;对所述第一执行结果进行验证处理,其中,所述验证处理包括应用验证、数据库验证、业务功能验证以及监控性能指标检查中的至少一项,所述应用验证用于对所述第一执行结果中的应用配置结果进行验证,所述数据库验证用于对所述第一执行结果中的数据库操作语句进行验证,所述业务功能验证用于对所述第一执行结果中的结构化查询语言SQL语句执行结果进行验证,所述监控性能指标检查用于对所述第一执行结果中的实例级别指标数据进行检查;若所述第一执行结果通过所述验证处理,则执行第二灰度发布步骤,所述第二灰度发布步骤为所述第一灰度发布步骤的下一个灰度发布步骤;当所述灰度发布步骤序列中的所有灰度发布步骤执行完毕,并且执行结果通过所述验证处理,则确定所述子系统的版本更新所对应的灰度发布验证成功。2.根据权利要求1所述的灰度发布验证方法,其特征在于,当所述验证处理包括所述数据库验证,则所述对所述第一执行结果进行验证处理,包括:读取数据库DB物料包中的待验证SQL语句集合,并利用预设词法分析器对所述待验证SQL语句集合中的每一项SQL语句进行解析,以生成对应的语法树;根据每一项SQL语句所对应的语法树以及预设对象分类条件确定每一项SQL语句所对应的语句类型;根据第一SQL语句所对应的语句类型获取所涉及的第一表名称,并根据所述第一表名称连接对应的第一数据库,其中,所述第一SQL语句为所述待验证SQL语句集合中的任意一项语句;获取所述第一数据库对应的第一操作语句,并根据所述预设词法分析器对所述第一操作语句进行解析,以生成第一语法树;按照预设语法树语句类型匹配规则对待验证语法树以及所述第一语法树确定校验,以确定对应数据库中的表与字段属性生效状态,所述待验证语法树为利用所述预设词法分析器对所述第一SQL语句解析所生成的语法树。3.根据权利要求2所述的灰度发布验证方法,其特征在于,在所述根据每一项SQL语句所对应的语法树以及预设对象分类条件确定每一项SQL语句所对应的语句类型之后,还包括:确定所述语句类型为数据定义语言DDL的语句为所述第一SQL语句;根据预设分类规则确定所述第一SQL语句对应的第一操作类型,所述第一操作类型用于确定所述第一数据库中所述第一SQL语句对应的所述第一操作语句。4.根据权利要求3所述的灰度发布验证方法,其特征在于,在所述根据第一SQL语句所对应的语句类型获取所涉及的第一表名称之前,还包括:根据所述待验证SQL语句集合中的每一项SQL语句的读取顺序以及对应的表名称分类对所述SQL语句集合中的SQL语句进行排序,以生成第一表结构对象;
从所述第一表结构对象的最后一项SQL语句开始,逆序进行所述数据库验证;其中,若验证结果为成功,则将当前验证的SQL语句从所述第一表结构对象中进行删除,并回滚至前一项SQL语句继续进行所述数据库验证,并在所述第一表结构对象全部完成所述数据库验证后,输出检查报告;若验证结果为失败,则输出检查报告。5.根据权利要求2

4中任意一项所述的灰度发布验证方法,其特征在于,当所述验证处理包括所述监控性能指标检查,则所述对所述第一执行结果进行验证处理,包括:获取第一执行结果中的所述实例级多运维指标数据,并根据数据特征确定所述实例级多运维指标数据的指标数据类型;根据所述指标数据类型确定对应的异常检测算法,并根据所述异常检测算法对所述实例级多运维指标数据进行验证处理。6.根据权利要求5所述的灰度发布验证方法,其特征在于,若所确定的所述指标数据类型为稳定型数据,则所述根据所述指标数据类型确定对应的异常检测算法,并根据所述异常检测算法对所述实例级多运维指标数据进行验证处理,包括:同步使用多个滑动窗口遍历所述实例级多运维指标数据,并确定所述多个滑动窗口的特征统计量,所述特征统计量用于表征所述实例级多运维指标数据的集中趋势特征;将所述实例级多运维指标数据分别与所述多个滑动窗口的特征统计量进行作差,并生成特征序列;利用箱型图离群点检测算法对所述特征序列进行检验,当确定所述实例级多运维指标数据中与所述多个滑动窗口的统计数据偏差大于预设阈值时,则确定所述实例级多运维指标数据为异常。7.根据权利要求6所述的灰度发布验证方法,其特征在于,所述实例级多运维指标数据的异常,包括:毛刺异常、整体抬升异常以及整体下降异常;其中,若异常点的前窗口与后窗口的均值符合预设正常条件且前窗口与后窗口的均值差值在预设...

【专利技术属性】
技术研发人员:翁振斌梁永富熊刚江旻
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1