高精细智能灰度发布系统技术方案

技术编号:18894156 阅读:22 留言:0更新日期:2018-09-08 10:48
本发明专利技术涉及高精细智能灰度发布系统,属于灰度发布系统;系统启动后先进入用户是否有识别信息模块,若有识别信息则进入根据识别信息分配版本模块;若没有识别信息则进入系统稳定版本模块,而后再次进入根据识别信息分配版本模块,最后进入系统最新版本模块;其中用户是否有识别信息模块中系统判断用户是否存在有相应的用户标识;用户在使用web端或移动端登录系统。通过回馈信息和数据分析信息,本技术能够智能化分析发布预案;在无感知的情况下通过定向群体逐步保障用户使用到的版本一致。

High precision intelligent gray release system

The invention relates to a high-precision intelligent gray-scale publishing system, which belongs to a gray-scale publishing system; the system first enters whether the user has a recognition information module, if there is recognition information, it enters a version allocation module according to the identification information; if there is no recognition information, it enters a stable version module of the system, and then enters again according to the identification information. Allocation version module, and finally enter the latest version of the system module; whether the user has identifying information module in the system to determine whether there is a corresponding user identity; users in the use of the web or mobile terminal login system. Through feedback information and data analysis information, this technology can intelligently analyze the release plan; without perception, through targeted groups to gradually ensure that users use the same version.

【技术实现步骤摘要】
高精细智能灰度发布系统
本专利技术涉及高精细智能灰度发布系统。
技术介绍
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。ABtest就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。互联网产品有一个特点,就是不停的升级,升级,再升级。很多项目组,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险.....为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。现有系统发布技术缺陷:会针对系统所有使用用户进行版本更新及升级,更新后的系统中存在的问题全面呈现到所有用户的面前,影响范围太广,用户体验差,不能满足系统稳定性需求。目前行业内的灰度发布系统针对用户区域性发布,不能再细粒度的控制所需要发布的客户群体。且在系统回馈方便不能够积极,系统回馈信息不够精细化。
技术实现思路
本专利技术的目的在于针对现有技术的缺陷和不足,提供一种设计合理、操作方便的高精细智能灰度发布系统。为实现上述目的,本专利技术采用的技术方案是:系统启动后先进入用户是否有识别信息模块,若有识别信息则进入根据识别信息分配版本模块;若没有识别信息则进入系统稳定版本模块,而后再次进入根据识别信息分配版本模块,最后进入系统最新版本模块;其中用户是否有识别信息模块中系统判断用户是否存在有相应的用户标识;用户在使用web端或移动端登录系统,需要判断用户是否存在用户标识信息,使用uid,根据是否存在进行后端版本的转发;所述根据识别信息分配版本模块中存在uid还需要进行判断uid发布状态;已存在uid的请求进入后,判断该uid在灰度发布中的状态,根据后台分配的uid进行匹配,转发后续请求到相应的系统;所述系统稳定版本模块中用户不存在用户标识;用户不存在标识,灰度发布系统则直接将用户请求分配给稳定版本,稳定版本会给该用户一个uid,后续请求根据存在uid的情况进行转发;如果用户uid不在发布状态中,灰度系统将所有请求转发给stable版本进行处理,用户不会感知到有新版本的发布;所述系统最新版本模块中如果用户uid存在发布状态中,灰度系统将所有请求转发给latest版本进行处理,用户将体验到新最版本的系统服务。本专利技术的系统中HTTP请求的入口都在请求调试器上,请求调试器会根据location的配置进行uri的选择。此时请求数据会判断当前应用是否已经开启灰度,再次判断是应用级别的灰度还是服务级别的灰度,然后根据灰度管控平台配置的灰度策略进行灰度,当前支持指定用户uid、正则表达式等。灰度管控平台会调用引擎管理执行相应的指令,进行关闭、开启、更新策略和uid设置等,每次nginx重新reload和重启时会从灰度管理系统调用接口读取配置应用的信息,加入缓存。本专利技术为了提升性能,应用的基本信息、灰度策略、uid是否灰度等数据缓存在nginx的共享内存块中,nginx的每个worker进程都共享此数据,在引擎管理的操纵下进行缓存数据的更新。本专利技术系统中的调试器与调试核心相互配合;其中调试核心中包含引擎核心、引擎管理、缓存灰度列表和花村灰度策略;所述引擎核心中包含接受前端请求、灰度状态判断、灰度策略判断和灰度策略转发;所述引擎管理包含加载灰度策略、更新灰度策略、维护灰度列表和灰度策略转发;所述调试器将灰度策略转发至稳定应用系统或灰度应用系统。本专利技术的高精细智能灰度发布系统一个全新的改版系统或者网站在还没有正式发布之前先进行小范畴的,筛选指定用户进行发布,通过已发布的用户数据总结出问题以及需要改进的地方,完善以后再全面进行的一种可定向的智能灰度发布技术。根据latest版本的用户的反馈可以对系统作出相应的调整及完善,提升稳定性的同时,可以思考一个大部分处于stable版本的用户稳定的使用系统处理相应工作。采用上述结构后,本专利技术所述的高精细智能灰度发布系统,具有以下有益效果:改善传统灰度发布过程中降低上线风险的同时又能给高密度的收集回馈信息;降低影响范围,并且范围可控在单粒度群体;降低对测试的依赖,减少线下自测的数据构造成本;特定的请求能够指向特定的服务器,方便集中监控日志,方便跟踪完整的调用链路;方便系统流量切入;方便回滚;指定特定人群,方便系统回访,方便产品需求收集,完善产品功能,提升产品质量;通过回馈信息和数据分析信息,本技术能够智能化分析发布预案;在无感知的情况下通过定向群体逐步保障用户使用到的版本一致。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的流程图;图2是本专利技术的系统图;图3是本专利技术中调试核心的内部模块框图。具体实施方式下面结合附图对本专利技术作进一步的说明。参看如图1--图3所示,本具体实施方式的系统启动后先进入用户是否有识别信息模块,所述用户是否有识别信息模块中设有S10,若有识别信息则进入根据识别信息分配版本模块,所述根据识别信息分配版本模块中设有S20;若没有识别信息则进入系统稳定版本模块,所述系统稳定版本模块中设有S11和S21,而后再次进入根据识别信息分配版本模块,最后进入系统最新版本模块,所述系统最新版本模块中设有S30;其中,S10:判断用户是否存在有相应的用户标识;用户在使用web端或移动端登录系统,需要判断用户是否存在用户标识信息,使用uid,根据是否存在进行后端版本的转发;S20:存在uid还需要进行判断uid发布状态;已存在uid的请求进入后,判断该uid在灰度发布中的状态,根据后台分配的uid进行匹配,转发后续请求到相应的系统;S11:用户不存在用户标识;用户不存在标识,灰度发布系统则直接将用户请求分配给稳定版本,稳定版本会给该用户一个uid,后续请求根据存在uid的情况进行转发;S21:如果用户uid不在发布状态中,灰度系统将所有请求转发给stable版本进行处理,用户不会感知到有新版本的发布;S30:如果用户uid存在发布状态中,灰度系统将所有请求转发给latest版本进行处理,用户将体验到新最版本的系统服务。本具体实施方式的系统中HTTP请求的入口都在请求调试器上,请求调试器会根据location的配置进行uri的选择。此时请求数据会判断当前应用是否已经开启灰度,再次判断是应用级别的灰度还是服务级别的灰度,然后根据灰度管控平台配置的灰度策略进行灰度,当前支持指定用户uid、正则表达式等。灰度管控平台会调用引擎管理执行相应的指令,进行关闭、开启、更新策略和uid设置等,每次nginx重新reload和重启时会从灰度管理系统调用接口读取配置应用的信息,加入缓存。本具体实施方式为了提升性能,应用的基本信息、灰度策略、uid是否灰度等数据缓存在nginx的共享内存块中,n本文档来自技高网...

【技术保护点】
1.高精细智能灰度发布系统,其特征在于:系统启动后先进入用户是否有识别信息模块,若有识别信息则进入根据识别信息分配版本模块;若没有识别信息则进入系统稳定版本模块,而后再次进入根据识别信息分配版本模块,最后进入系统最新版本模块;其中用户是否有识别信息模块中系统判断用户是否存在有相应的用户标识;用户在使用web端或移动端登录系统,需要判断用户是否存在用户标识信息,使用uid,根据是否存在进行后端版本的转发;所述根据识别信息分配版本模块中存在uid还需要进行判断uid发布状态;已存在uid的请求进入后,判断该uid在灰度发布中的状态,根据后台分配的uid进行匹配,转发后续请求到相应的系统;所述系统稳定版本模块中用户不存在用户标识;用户不存在标识,灰度发布系统则直接将用户请求分配给稳定版本,稳定版本会给该用户一个uid,后续请求根据存在uid的情况进行转发;如果用户uid不在发布状态中,灰度系统将所有请求转发给stable版本进行处理,用户不会感知到有新版本的发布;所述系统最新版本模块中如果用户uid存在发布状态中,灰度系统将所有请求转发给latest版本进行处理,用户将体验到新最版本的系统服务。...

【技术特征摘要】
1.高精细智能灰度发布系统,其特征在于:系统启动后先进入用户是否有识别信息模块,若有识别信息则进入根据识别信息分配版本模块;若没有识别信息则进入系统稳定版本模块,而后再次进入根据识别信息分配版本模块,最后进入系统最新版本模块;其中用户是否有识别信息模块中系统判断用户是否存在有相应的用户标识;用户在使用web端或移动端登录系统,需要判断用户是否存在用户标识信息,使用uid,根据是否存在进行后端版本的转发;所述根据识别信息分配版本模块中存在uid还需要进行判断uid发布状态;已存在uid的请求进入后,判断该uid在灰度发布中的状态,根据后台分配的uid进行匹配,转发后续请求到相应的系统;所述系统稳定版本模块中用户不存在用户标识;用户不存在标识,灰度发布系统则直接将用户请求分配给稳定版本,稳定版本会给该用户一个uid,后续请求根据存在uid的情况进行转发;如果用户uid不在发布状态中,灰度系统将所有请求转发给stable版本进行处理,用户不会感知到有新版本的发布;所述系统最新版本模块中如果用户uid存在发布状态中,灰度系统将所有请求转发给latest版本进行处理,用户将体验到新最版本的系统服务。2.根据权利要求1所述的高精细智能灰度发...

【专利技术属性】
技术研发人员:苗江波王海洋张旭荣戎娟
申请(专利权)人:舟谱数据技术南京有限公司
类型:发明
国别省市:江苏,32

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

1