一种软件应用程序的阶梯灰度发布控制方法技术

技术编号:24352440 阅读:42 留言:0更新日期:2020-06-03 01:52
本发明专利技术公开了一种软件应用程序的阶梯灰度发布控制方法,提供一种通过配置参数访问应用,在用户进行测试版本稳定性的情况下,提高应用可靠性,减少故障发生率的方法,包括1、获取请求信息后匹配灰度path配置信息;2、灰度path配置信息匹配包含改请求路径的配置信息,如包含该请求则取到key执行第三步,如不包含,就取cookie,cookie中存在当前版本约定的key且匹配灰度商户成功,返回灰度环境标识给nginx,如cookie也没有就取请求头中的key;3、获取到请求参数的key值后匹配灰度商户信息配置文件,确认是否存在该商户配置信息,若无就直接返回nginx一个生产环境的标识,若存在就获取该商户配置信息中当前版本约定的key set到cookie中返回nginx一个灰度标识将该请求分发到灰度环境。

A control method of ladder gray level release for software application

【技术实现步骤摘要】
一种软件应用程序的阶梯灰度发布控制方法
本专利技术属于阶梯灰度领域,尤其涉及一种软件应用程序的阶梯灰度发布控制方法。
技术介绍
随着物联网的快速发展,物联网服务软件的更新与发布也处于快速迭代的状态,因此为确保发布出的新版本的软件能够为用户所接受,发布出的新版本的软件能够根据用户反馈意见及时调整修改,通常会采用灰度发布软件的方式来对软件进行测试调整,其中灰度发布能够使部分客户端路由到运行有新版本软件的灰度发布服务器,而其他客户端依旧与运行有原版本软件的常规服务器数据交互,以通过路由到灰度发布服务器的各客户端的新版本软件使用体验来对新版本软件进行查漏补缺,提高新版本软件质量。目前,公开号为CN108632374A的中国专利公开了一种软件灰度发布方法及装置,它包括接收来自客户端的软件访问请求,并对软件访问请求进行解析,得到客户端的身份标识信息、软件版本信息及网络地址信息;根据身份标识信息、软件版本信息及网络地址信息查找与软件访问请求匹配的灰度发布策略;若成功查找到匹配的灰度发布策略,根据灰度发布策略从匹配的灰度发布服务器的网络地址信息中为客户端分配一个目标网络地址信息;将目标网络地址信息对应发送给客户端,以使客户端固定访问该目标网络地址信息对应服务器上运行的软件内容。所述方法可快速灵活地为客户端固定分配合适的灰度发布服务器,使客户端固定接入到对应的灰度发布服务器进行软件访问。随着软件分布式环境的发展,各行各业越来越倾向于使用敏捷开发的理念快速迭代产品,将产品快速迭代开发上线,同时需要保证线上代码的质量。由于生产和经营系统实时性高的需求,代码的可靠性变得十分重要。在传统的软件架构中,测试部门通常通过测试环境全流程测试后将应用上传至生产环境,当生产环境出现故障时,只能通过回滚来实现恢复,然而鉴于手动恢复的现状,切换生效往往十分缓慢,修改的方法可实施性较差且不能做到完全回滚。灰度发布是指在软件版本发布过程中,能够平滑过渡的一种发布方式。假设目前软件版本v1,新的软件版本分为v2,当用户通过客户端向服务器发送针对该软件的请求消息时,服务器通过代码逻辑控制一部分用户继续使用版本v1,一部分用户开始使用版本v2;假设用户在使用版本v2的过程正常使用,则逐步用户都迁移到版本v2。阶梯灰度发布可以保证整体系统的稳定。本专利技术使用了通过配置参数访问应用,在忠诚度较高的用户进行测试版本稳定性的情况下,提高应用可靠性,减少故障发生的概率,使生产环境的软件更稳定的运行。
技术实现思路
本专利技术的目的是提供一种软件应用程序的阶梯灰度发布控制方法。其具有通过配置参数访问应用,在忠诚度较高的用户进行测试版本稳定性的情况下,提高应用可靠性,减少故障发生的概率,使生产环境的软件更稳定运行的优点。本专利技术的的目的可以通过以下技术方案来实现:一种软件应用程序的阶梯灰度发布控制方法,包括获取请求信息后匹配灰度path配置信息;灰度path配置信息匹配包含改请求路径的配置信息,如包含该请求则取到key执行第三步,如不包含,就取cookie,cookie中存在当前版本约定的key且匹配灰度商户配置成功就返回灰度环境标识给nginx,如cookie也没有就取请求头中的key;获取到请求参数的key值后匹配灰度商户信息配置文件,确认是否存在该商户配置信息,若无就直接返回nginx一个生产环境的标识;若存在就获取该商户配置信息中的当前版本约定的keyset到cookie中返回nginx一个灰度标识将该请求分发到灰度环境。优选的,前端请求包括以下步骤:S01,脚本获取前端请求;S02,解析请求中的path参数,根据path匹配脚本配置文件的灰度path;S03,S02中匹配成功则获取灰度path配置文件中约定的当前请求灰度分流key对应的值,商户配置信息中映射的key;S04,脚本解析并获取当前域名下配置的所有灰度商户信息;S05,匹配S04中获取到的信息,匹配成功后,获取当前商户配置信息中的当前版本约定的key设置为cookie,返回nginx灰度环境标识,脚本运行结束,nginx获取标识将该请求分发到灰度环境;S06,S04中匹配失败的,返回nginx生产环境标识,脚本运行结束,nginx获取标识将该请求分发到生产环境;S07,S02中匹配商户path失败,脚本会从当前请求的cookie中取值;S08,取到当前cookie值再去匹配当前域名灰度商户;S09,匹配成功,返回nginx灰度环境标识,脚本运行结束,nginx获取标识将该请求分发到灰度环境;S10,S08中匹配失败,返回nginx生产环境标识,脚本运行结束,nginx获取标识将该请求分发到生产环境;S11,S07中取当前请求cookie失败,脚本会解析当前请求的header;S12,遍历灰度商户配置文件中优先级配置表,匹配当前请求信息的参数列表,若匹配失败,直接返回nginx生产环境标识,脚本运行结束,若匹配成功则向下执行;S13,根据参数列表里面的参数,匹配该域名下的灰度商户信息,若匹配失败,则返回nginx生产环境标识,脚本运行结束,若匹配成功则向下执行;S14,匹配成功后获取当前商户配置信息中当前版本约定好的key并设置为cookie,返回nginx灰度标识,脚本运行结束。优选的,MQ消息队列分流包括以下步骤:步骤1,在正式生产环境运行的消息队列生产者需要区分消息的来源是生产环境还是灰度环境,从而发到对应环境的消费者;步骤2,每个环境(开发环境、测试环境、灰度环境、生产环境)部署的生产者在发送消息的时候会在所发送的消息的标签(tag)中添加当前环境标识(生产环境除外,灰度:h、测试:t、开发:d),再将消息发出;步骤3,对应环境部署的消费者程序只消费指定了标签的消息(tag)和消费者id(当有多个消费者程序的时候,这个id用来指定它们同属一个组),这样确保一个环境的生产者所发送的消息只会被同一个环境消费者消费(ex.灰度环境的生产者所发的消息只会被灰度环境的消费者接受到);步骤4,当对应环境的消费者接收到消息之后,会将消息的tag后缀去除(如果有),因为消费程序需要最初的那个tag信息;步骤5,完成一个消息从生产者到消费者的完整流程。本专利技术的有益效果:通过配置参数访问应用,在忠诚度较高的用户进行测试版本稳定性的情况下,提高应用可靠性,减少故障发生的概率,使生产环境的软件更稳定运行的优点。附图说明图1是前端请求逻辑结构示意图;图2是MQ消息队列分流逻辑结构示意图。具体实施方式实施例1:一种软件应用程序的阶梯灰度发布控制方法,包括获取请求信息后匹配的灰度pat配置信息;灰度path配置信息匹配包含改请求路径的配置信息,如包含该请求则取到key执行第三步,如不包含,就取cookie,cookie中包含版本约定好的key且匹配商本文档来自技高网
...

【技术保护点】
1.一种软件应用程序的阶梯灰度发布控制方法,其特征在于:包括获取请求信息后匹配path配置文件中的配置信息;/n灰度配置信息匹配包含改请求路径的配置信息,如包含该请求则取到key执行第三步,如不包含,就取cookie,cookie中包含约定好设置进去的key,并匹配灰度商户配置信息,匹配成功就返回灰度环境标识给nginx,如cookie也没有就取请求头中的key;获取到请求参数的key值后匹配灰度商户信息配置文件,确认是否存在该商户配置信息,若无就直接返回nginx一个生产环境的标识;/n若存在就获取该商户配置信息中的当前版本约定的keyset到cookie中并返回nginx一个灰度标识将该请求分发到灰度环境。/n

【技术特征摘要】
1.一种软件应用程序的阶梯灰度发布控制方法,其特征在于:包括获取请求信息后匹配path配置文件中的配置信息;
灰度配置信息匹配包含改请求路径的配置信息,如包含该请求则取到key执行第三步,如不包含,就取cookie,cookie中包含约定好设置进去的key,并匹配灰度商户配置信息,匹配成功就返回灰度环境标识给nginx,如cookie也没有就取请求头中的key;获取到请求参数的key值后匹配灰度商户信息配置文件,确认是否存在该商户配置信息,若无就直接返回nginx一个生产环境的标识;
若存在就获取该商户配置信息中的当前版本约定的keyset到cookie中并返回nginx一个灰度标识将该请求分发到灰度环境。


2.根据权利要求1所述的一种软件应用程序的阶梯灰度发布控制方法,其特征在于:前端请求包括以下步骤:
S01,脚本获取前端请求;
S02,解析请求中的path参数,根据path匹配脚本配置文件的灰度path;
S03,S02中匹配成功则获取灰度path配置文件中约定的当前请求灰度分流key对应的值,商户配置信息中映射的key;
S04,脚本解析并获取当前域名下配置的所有灰度商户信息;
S05,匹配S04中获取到的信息,匹配成功后,获取当前商户配置信息中的当前版本约定好的key并设置为cookie,返回nginx灰度环境标识,脚本运行结束,nginx获取标识将该请求分发到灰度环境;
S06,S04中匹配失败的,返回nginx生产环境标识,脚本运行结束,nginx获取标识将该请求分发到生产环境;
S07,S02中匹配商户path失败,脚本会从当前请求的cookie中取值;
S08,取到当前cookie值再去匹配当前域名灰度商户;
S09,匹配成功,返回nginx灰度环境标识,脚本运...

【专利技术属性】
技术研发人员:樊宇雯
申请(专利权)人:无锡雅座在线科技股份有限公司
类型:发明
国别省市:江苏;32

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

1