一种基于多版本流量染色的发布系统及方法与流程

文档序号:31337043发布日期:2022-08-31 09:04阅读:116来源:国知局
一种基于多版本流量染色的发布系统及方法与流程

1.本发明公开一种基于多版本流量染色的发布系统及方法,涉及数据处理技术领域。


背景技术:

2.在现有互联网技术的快速更新迭代下,应用的升级速度越来越快,如何保证升级时尽量避免发生问题,影响用户使用,及如何对用户习惯进行数据分析,提供业务决策和判断成为很重要的技术问题。因此,涉及到多版本发布及用户流量染色早已不是一个新颖的名词
3.早先的互联网应用开发者也早已预料到多版本发布问题,一种普通的解决办法是通过标识版本号的形式,每次对于后台的请求,都需要携带这个版本号以用于后台判断版本是否为某一特定版本,此方式的弊端非常明显。在后台业务强耦合的基础上无法对用户留存,行为等进行业务数据的分析判断,也无法进行某一特定批次用户的小范围升级。
4.故现发明一种基于多版本流量染色的发布方法及系统,以解决上述问题。


技术实现要素:

5.本发明针对现有技术的问题,提供一种基于多版本流量染色的发布系统及方法,所采用的技术方案为:一种基于多版本流量染色的发布系统,所述的系统具体包括流量染色配置器、服务网关、流量染色控制器和数据采集装置:
6.所述流量染色配置器用于对用户流量染色规则的配置、管理、分析查看等操作,对用户实验进行分组策略的配置;
7.所述服务网关用于对用户请求进行实验分组的判断、请求转发;
8.所述流量染色控制器用于拉取流量染色配置器的配置项并使用相应配置进行对用户流量染色;
9.所述流量染色控制器给用户打出相应实验号;
10.所述服务网关用于通过流量染色控制器的用户携带上相应实验号并判断用户所属相应服务版本;
11.所述数据采集装置用于采集用户数据。
12.所述所述服务网关通过header头或者任何网络传输中能用于传输判断实验号的方式添加实验号。
13.所述流量染色控制器的主要核心算法通过ketamahash函数进行业务的分流处理。
14.所述ketamahash函数为所述流量染色配置器中所配置的数据上下文。
15.一种基于多版本流量染色的发布方法,所述的方法具体步骤如下:
16.s1流量染色控制器从配置中心拉取实验策略,对用户流量进行实验号标注及染色分流;
17.s2网关通过流量染色控制器,将打好实验号标签的用户通过现有实验规则转发至
相应灰度集群的服务内。
18.所述s2中,流量染色控制器在用户首次进入时便进行流量染色,并根据实验策略给不同组用户推送相应版本升级。
19.所述s2中服务网关进行判断时会根据用户请求携带的header头或网络请求信息可用作判断的version信息进行解析,对用户请求进行相应规则的路由转发。
20.所述s2中服务网关进行判断路由规则的依据是流量染色控制器所分发的实验号标签,以及服务路由的断言及路由头信息是否是灰度策略下的服务。
21.所述s2中,用户首次进入应携带用户信息,通过流量染色控制器进行实验号的标注,同时后台判断该用户是否为流量染色控制器所分发的实验人员,从而进行版本的小范围升级;后台判断的依据为用户实验号是否与流量染色控制器所分发的实验号是否相等,然后通过实验号判断是否为某一版本特定的实验号。
22.本发明的有益效果为:本发明方法能够提供便利的技术手段方便的多版本发布,解决业务间的强耦合问题以及大量服务发版带来的困难性及人力问题;对用户流量进行随心所欲的染色,保证快速迭代的基础上保证大部分用户的正常使用,出现问题时只是小范围用户并及时发现修复,其次在于对业务营销及决策分析提供数据依据;通过本发明,能够根据不同的实验策略对用户进行流量染色,数据分析并转发到相应服务应用。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明系统实施例的设计示意图;图2是本发明系统实施例的整体架构示意图。
具体实施方式
25.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
26.本发明目的是设计一种易于现在微服务普遍的情况下,能够对某一特定批次用户进行流量染色并进行小范围升级测试,对用户留存等数据进行分析;同时能够解决后台业务因版本升级而强耦合带来的一系列技术性问题;例如范围升级后快速验证相应新功能的正确率及使用率情况,快速发现并修复新功能带来的问题;最终实现多版本平滑发布及用户流量染色;
27.实施例一:
28.一种基于多版本流量染色的发布系统,所述的系统具体包括流量染色配置器、服务网关、流量染色控制器和数据采集装置:
29.所述流量染色配置器用于对用户流量染色规则的配置、管理、分析查看等操作,对用户实验进行分组策略的配置;
30.所述服务网关用于对用户请求进行实验分组的判断、请求转发;
31.所述流量染色控制器用于拉取流量染色配置器的配置项并使用相应配置进行对用户流量染色;
32.所述流量染色控制器给用户打出相应实验号;例如header中增加version头,值为a,b或c等;
33.上述系统中所包括的,所述流量染色控制器的主要核心算法为:
[0034][0035]
进一步的,上述核心算法中的groupdto为所述流量染色配置器中所配置的数据上下文,例如实验策略为版本1、2、3的流量控制为5:3:2,所述groupdto的参数应为0.5,0.3,0.2
[0036]
上述核心算法中的info可以为用户信息,便于hash计算的数据;最终算法实验结果为:
[0037]
[0038][0039]
实施例二:
[0040]
在实施例一的基础上,上述的多版本发布流量染色系统中,当一个应用要发布新版本时:
[0041]
用户通过访问应用,流量染色控制器通过实验分组策略及用户信息,对用户进行实验号的标注;
[0042]
服务网关将解析用户实验号标签;并判断相应粒度下的用户是否需要染色至相应灰度服务;
[0043]
服务网关通过解析服务的路由头信息,只解析需要进行灰度策略测试的服务,将放行未进行灰度设置的服务至正常服务;
[0044]
服务网关将解析流量染色后的用户,若匹配不到相应服务,将返回非法及不可用的标识,不会将用户流量打入到正常服务中,非重试的目的在于保证用户流量的粘性;只有在调整实验策略的时候用户流量才会发生变化;不会导致一个用户首次进入版本1、下次进入版本2、在进入又进入版本1;
[0045]
上述为后台操作逻辑;前台进行升级时,用户通过访问应用,流量染色控制器通过实验分组策略及用户信息,对用户进行实验号的标注;
[0046]
前端感应到用户为相应实验组对象时,应推送升级包给用户,便于用户升级新版本。
[0047]
实施例三:
[0048]
一种基于多版本流量染色的发布方法,所述的方法具体步骤如下:
[0049]
s1流量染色控制器从配置中心拉取实验策略,对用户流量进行实验号标注及染色分流;
[0050]
s2网关通过流量染色控制器,将打好实验号标签的用户通过现有实验规则转发至相应灰度集群的服务内;
[0051]
流量染色控制器从配置中心拉取实验策略,对用户流量进行实验号标注及染色分
流;网关通过流量染色控制器将打好实验号标签的用户通过现有实验规则转发至相应灰度集群内的某一服务;所述流量染色控制器应在用户首次进入时便进行流量染色,并根据实验策略给不同组用户推送相应版本升级;流量染色根本在于首先保证快速迭代的基础上保证大部分用户的正常使用,出现问题时只是小范围用户并及时发现修复,其次在于对业务营销及决策分析提供数据依据;
[0052]
在所述s1之前,需要在相应的流量染色配置器中进行统一配置管理,主要配置实验组规则,实验组比例,及相关服务信息等;
[0053]
进一步的,所述s2中,流量染色控制器在用户首次进入时便进行流量染色,并根据实验策略给不同组用户推送相应版本升级;
[0054]
进一步的,所述s2中服务网关进行判断时会根据用户请求携带的header头或网络请求信息可用作判断的version信息进行解析,对用户请求进行相应规则的路由转发;
[0055]
进一步的,所述s2中服务网关进行判断路由规则的依据是流量染色控制器所分发的实验号标签,以及服务路由的断言及路由头信息是否是灰度策略下的服务;
[0056]
再进一步的,所述s2中,用户首次进入应携带用户信息,通过流量染色控制器进行实验号的标注,同时后台判断该用户是否为流量染色控制器所分发的实验人员,从而进行版本的小范围升级;后台判断的依据为用户实验号是否与流量染色控制器所分发的实验号是否相等,然后通过实验号判断是否为某一版本特定的实验号。
[0057]
实施例四:
[0058]
在实施例一的基础上:
[0059]
如图1所示,统一的配置中心对相应实验规则下的实验进行相应服务的路由配置,在本发明下的实施例中,需要有一个流量染色配置管理服务,此服务与流量染色控制息息相关;
[0060]
首先确定实验的开始时间和结束时间,并配置实验组的成员,例如实验组分为a、b、c组,a为老版本用户,b为版本1用户,c为版本2用户;其次,确定实验组分流比例,例如a:百分之50,b:百分之30,c:百分之20;还应配置实验的服务;
[0061]
相应的,客户端通过网关访问后台之前,会先通过流量染色控制服务,流量染色控制服务获取相应实验规则上下文,将用户信息通过算法分流至不同规则组下;并保证高可用和高效率;同时保证用户粘性,在实验规则不变的前提下;此用户必定属于某一个组而不会改变至其他组;
[0062]
相应的,打好实验标签的用户背转送至网关;服务网关通过判断用户身份信息和用户实验组策略号,从路由表中查找相应请求的服务是否是实验服务,如果是实验服务,将请求转发至相应的灰度集群内的服务;
[0063]
相应的,上述的验证是否为实验服务,路由表的配置由统一的配置中心管理;
[0064]
上述的用户通过网关转发至相应服务后,链路染色至此,返回前端,如图2所示;
[0065]
同时,若有前端版本发布,流量染色控制器将实验号下的用户送至后台,后台通过判断用户实验号与通过流量染色控制器得到的实验号是否相等来判断安全性;同时告知前端用户是否需要升级版本,应升级为哪一版本;
[0066]
相应的,所有升级动作完成后,验证用户留存率,使用率,以及功能完整性和正确性;此时若用户使用良好,从流量染色配置管理服务中修改实验组比例,例如由5:3:2升级
为3:4:3即老版本:版本1:版本2的比例,平滑减少老版本的用户并推送新版本给更多的用户;
[0067]
相应的,若新版本用户出现不同比例的使用bug;影响只是小范围用户,此时应尽快定位问题,修复问题,并重新测试;
[0068]
上述实施例中为app中的实施例,上述实施例还可用于小程序、web端网页的多版本发布平滑过渡。
[0069]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1