CN113836024B - 基于配置驱动的流量复用ab测试方法及系统 - Google Patents
基于配置驱动的流量复用ab测试方法及系统 Download PDFInfo
- Publication number
- CN113836024B CN113836024B CN202111136187.4A CN202111136187A CN113836024B CN 113836024 B CN113836024 B CN 113836024B CN 202111136187 A CN202111136187 A CN 202111136187A CN 113836024 B CN113836024 B CN 113836024B
- Authority
- CN
- China
- Prior art keywords
- experiment
- information
- experimental
- flow
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000002474 experimental method Methods 0.000 claims abstract description 165
- 238000012360 testing method Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009933 burial Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于配置驱动的流量复用AB测试方法及系统,该方法包括:业务人员根据业务需求在AB测试系统配置或更新实验相关信息,实验相关信息包括:实验基本信息、实验层信息、实验参数信息、实验分桶信息和实验指标信息;根据实验相关信息生成或更新策略配置信息;将策略配置信息同时传递或者更新至策略缓存模块和消息中间件;业务系统通过实验ID作为唯一标识,监听消息中间件,获取并解析监听得到的策略配置信息;业务系统通过对流量请求中携带的用户ID进行哈希取模处理获得哈希ID,根据哈希ID得到对应流量用户的实验策略。本发明能够更加轻量和灵活地满足业界多业务复杂系统的AB测试需求。
Description
技术领域
本发明涉及计算机测试领域,尤其涉及一种基于配置驱动的流量复用AB测试方法及系统。
背景技术
随着互联网技术的发展,用户对产品的要求也变得越来越高,为了更好的改善用户对产品的体验,产品提供商需要不断地更新迭代产品以满足用户日益增长的用户高质量体验要求来增强用户对产品的粘度和活跃度,这种高质量的用户体验譬如个性化推荐、高效搜索、用户UI等,并且通常由于公司业务的复杂性,多个业务系统的同时运营也为产品迭代优化增加了难度。为此AB测试技术应运而生,所谓AB测试技术,简单来讲就是产品某次迭代有两个方案A和B,选择一部分人使用A方案,另一部分人使用B方案,通过日志埋点和统计学分析来观察哪个方案更优。
由于每个公司业务的复杂性,往往不同业务有着不同的业务系统做支撑,所以诸多业务的AB测试需要有一个统一的系统来做运营。但随着公司业务复杂性地不断增加,AB测试系统的线上压力会呈指数级增长,因此如何构建一个轻量高效的AB测试系统架构也成为了业界讨论的核心问题。此外,由于用户流量是有限的,在众多业务中除了要保持不同业务的流量复用,还要保持相似业务的流量互斥;在产品快速迭代互联网时代,如何短期内复用流量快速完成产品迭代也成了业界亟待解决的问题。
发明内容
本发明提供了一种基于配置驱动的流量复用AB测试方法及系统,用以解决业务复杂性高AB测试系统压力大的技术问题。
为解决上述技术问题,本发明提出的技术方案为:
一种基于配置驱动的流量复用AB测试方法,包括以下步骤:
业务人员根据业务需求在AB测试系统配置或更新实验相关信息,实验相关信息包括:实验基本信息、实验层信息、实验参数信息、实验分桶信息和实验指标信息;
根据实验相关信息生成或更新策略配置信息;
将策略配置信息同时传递或者更新至策略缓存模块和消息中间件;
业务系统通过实验ID作为唯一标识,监听消息中间件,获取并解析监听得到的策略配置信息;
业务系统通过对流量请求中携带的用户ID进行哈希取模处理获得哈希ID,根据哈希ID得到对应流量用户的实验策略。
优选地,实验基本信息,包括:实验ID、实验名称、实验描述和实验所占流量;
实验层信息,包括:实验层名称、实验层场景、实验层区域和实验层剩余流量;
实验参数信息,包括:参数名称、参数类型、参数值和参数描述;
实验分桶信息,包括:分桶名称、分桶描述和分桶流量占比;
实验指标信息,包括:业务相关计算指标,包括留存率、页面浏览量和独立访问数。
优选地,策略配置信息的生成和更新的步骤如下:
将策略配置信息初始化成由第一数量个哈希ID拼接组成,每一个哈希ID均包含了分桶名称和参数列表;分桶名称和参数列表一一对应;
根据实验所占流量,通过对缓存模块中剩余空闲流量的查询和比较,得到属于该实验的空闲流量;然后更新策略配置信息:将第一数量个哈希ID中,该实验中未分配到流量的未分配哈希ID的分桶名称配置为一个统一的无效分桶名称,参数列表置为空;将第一数量个哈希ID中,实验中已分配的已分配哈希ID参与到流量分桶操作中;
通过配置实验分桶信息和实验参数信息,对已分配哈希ID进行流量分桶操作:对于每一个已分配哈希ID,通过预设的哈希算法计算出其哈希值,对第一数量取模,然后按照分桶流量占比进行流量分配;
对分配好的各分桶流量,匹配设置对应的分桶名称和参数列表,更新策略配置信息。
优选地,将策略配置信息同时传递或者更新至策略缓存模块;策略缓存模块用于:
在创建实验时,策略缓存模块用于存储各实验层的已分配策略的实验流量;
在更新实验时,策略缓存模块用于对实验已分配策略进行更新;
业务系统重启服务时,业务系统向策略缓存模块发送策略访问请求,获取实验的最新策略配置信息。
优选地,业务系统通过实验ID作为唯一标识,监听消息中间件;监听的规则如下:
将实验相关信息中的实验层场景和实验ID,分别作为消息中间件的主题和关键词;业务系统通过将场景字段作为监听的主题,以实验ID作为监听的关键词,对消息中间件进行监听,以获取对应实验的策略配置信息。
优选地,业务系统在获取对应实验的策略配置信息后,对于来自业务系统的流量请求,对流量请求所携带的用户ID选用一种哈希算法进行计算,将得到整数结果值对第一数量取模,得到0到第一数量减一之间的哈希ID;
从策略配置信息中的共第一数量个策略值中,选择与哈希ID相等的那个策略值作为该用户ID对应的策略。
本发明还提供一种用于执行上述方法的基于配置驱动的流量复用AB测试系统,包括:AB测试系统,策略缓存模块,消息中间件和业务系统,
AB测试系统用于创建、查询、更新和删除实验相关信息,并供业务人员根据业务需求创建、查询、更新和删除实验;
策略缓存模块,用于根据AB测试系统配置的实验相关信息,将策略配置信息进行缓存或者更新;
消息中间件,用于传递策略配置信息的消息;
业务系统,用于通过携带实验ID监听消息中间件,获取并解析最新的策略配置信息。
优选地,还包括报表分析系统,用于对分桶的统计学指标进行可视化展示,以向业务人员展示分桶间差异。
本发明还提供一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述权利要求任一方法的步骤。
本发明具有以下有益效果:
1、本发明的基于配置驱动的流量复用AB测试方法及系统,克服由于业务复杂性高AB测试系统压力大的问题,通过在AB测试系统配置实验所需相关信息,根据配置信息生成策略配置信息,然后将策略配置信息分别传递至策略缓存和消息中间件。整个AB测试系统在运行过程中都是以传递配置信息来进行运作的,配置信息的传递只在AB实验的创建阶段和更新阶段,这显著地降低了AB测试系统的并发压力。并且,由于策略缓存模块的存在,AB测试系统能够满足业务人员对实验的多种复杂的更新操作,包括实验扩流、删除分桶、流量推全等。因此,基于配置驱动的流量复用AB测试方法及系统能够更加轻量和灵活地满足业界多业务复杂系统的AB测试需求。
2、在优选方案中,本发明的基于配置驱动的流量复用AB测试方法及系统,还通过采用流量分层复用的思想,实现了业务差异大的实验间流量复用,业务相近的实验间流量互斥,使得多业务的AB测试实验能够同时进行,使得产品迭代速度显著提高。例如:实现层与层之间实验流量共享,层内实验互斥,通常业务相似的实验放在同一层,业务差异大的实验放在不同层。
3、本发明的基于配置驱动的流量复用AB测试方法及系统,基于配置驱动的AB测试系统,能够保证新增用户的策略分配,并且新增用户不会影响实验的流量分桶比例。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明优选实施例的基于配置驱动的流量复用AB测试方法的流程图;
图2为本发明优选实施例的实现流量分层复用的示意图;
图3为本发明优选实施例的策略配置信息的生产、消费和转化的流程图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
图2是本实施例中的策略配置信息生产、消费、转化的流程图,本实施例的基于配置驱动的流量复用AB测试系统,主要包括AB测试系统、业务系统、策略缓存模块、消息中间件和报表分析系统。其中AB测试系统主要是进行实验管理功能,通过配置实验基本信息、实验层信息、实验参数信息、实验分桶信息、实验指标信息等,将生成的策略配置信息传递至策略缓存模块和消息中间件;业务方主要包括业务系统、通用的策略解析工具和前端,通过携带实验ID(Exp ID)监听消息中间件。所述业务系统则是需要通过AB测试进行产品迭代的生产系统。业务方通过从前端接收用户请求,将流量请求携带的用户ID(User ID)和监听得到的策略配置信息传给策略解析工具进行解析(对流量请求进行hash取模处理即可达到用户分流的目的),获取该用户对应的分桶名称和参数列表通过业务系统的逻辑处理,将得到该用户的AB策略传回给前端;前端通过将分桶名称、Exp ID和其他埋点数据以日志的形式传递给报表分析系统,报表分析系统包括日志系统、报表可视化等,通过对分桶的各项指标进行统计学分析,以数据可视化的方式呈现出来,分析结论同时又可以指导实验的下一步更新或删除,形成一个AB测试分析回路。上述五个系统通过互相配合能够帮助业务人员更加科学有效地进行策略更改和产品迭代。
参见图1,本发明的基于配置驱动的流量复用AB测试方法。包括以下步骤:
S1:业务人员根据业务需求在AB测试系统配置或更新实验相关信息,所述实验相关信息包括:实验基本信息、实验层信息、实验参数信息、实验分桶信息和实验指标信息。这些信息作为生成策略配置信息的基础信息。本实施例中,实验基本信息,包括:实验ID、实验名称、实验描述和实验所占流量;实验层信息,包括:实验层名称、实验层场景、实验层区域和实验层剩余流量;实验参数信息,包括:参数名称、参数类型、参数值和参数描述;实验分桶信息,包括:分桶名称、分桶描述和分桶流量占比;实验指标信息,包括:业务相关计算指标,包括留存率、pv(Page View页面浏览量)和uv(Unique Visitor,独立访问数)。
S2:根据实验相关信息生成或更新策略配置信息。本实施例中,策略配置信息的生成和更新的步骤如下:
S201:初始化策略配置信息。将策略配置信息初始化成由第一数量个哈希ID拼接组成,每一个哈希ID均包含了分桶名称和参数列表;分桶名称和参数列表一一对应,即一个实验分桶对应一组参数值。本实施例中,策略配置信息为json字符串,为确保精度,策略配置信息由0-9999共10000个取模后的结果值(HashID,哈希ID)拼接组成,每一个取模结果都包含了分桶名称和参数列表,这方便业务人员根据业务需求自动化解析业务相关的策略需求。
S202:根据实验所占流量,通过对缓存模块中剩余空闲流量的查询和比较,得到属于该实验的空闲流量;然后更新策略配置信息:将10000个哈希ID中,该实验中未分配到流量的未分配哈希ID的分桶名称配置为一个统一的无效分桶名称,本实施例中设其分桶名称为“noExp”,参数列表置为空。将第一数量个哈希ID中,实验中已分配的已分配哈希ID参与到流量分桶操作中。
S203:通过配置实验分桶信息和实验参数信息,对已分配哈希ID进行流量分桶操作:对于每一个试验所分配到的已分配哈希ID,通过预设的哈希算法计算出其哈希值,对10000取模,然后按照分桶流量占比进行流量分配。其中实验所有分桶流量占比之和为1。
S204:对分配好的各分桶流量,匹配设置对应的分桶名称和参数列表,更新策略配置信息。
众所周知,当下公司的用户流量无论庞大与否都是有限的,所以如何利用有限流量同时做多组实验也是业界常思考的问题。在策略配置信息生成的过程中,运用了流量分层复用的思想。如图3所示,一共3个实验层共5个实验,每个实验层的初始流量为100%,其中实验层1包含实验1和实验2两个实验,各占50%流量,它们各自都有两个分桶a和b,各自都占总流量的25%,因此实验层1的剩余流量为0;同理实验层2包含实验3和实验4,各占40%的流量,它们各自都有两个分桶a和b,各自都占总流量的20%,实验层2的剩余流量为20%;实验层3只有实验5,占100%的流量,有两个分桶a和b,各占总流量的50%,实验层3的剩余流量为0。所谓流量分层复用是指,层与层之间流量共享,即实验1、2和实验3、4以及实验5共用100%的流量,正如策略配置信息生成规则所介绍的,无论是哪一层的实验,只要它们属于不同层,那么它们将共享这0-9999共10000个策略配置信息,唯一不同的是每个实验的流量分桶规则与参数列表有差异。此外,每一层间的实验流量是互斥的,即实验1和2流量互斥,实验3和4流量互斥,即在实验层1中同一个用户只会参与实验1和2其中一个实验,实验层2中同一个用户只会参与实验3和4其中一个实验。需要说明的是,通常来说实验1和2业务相似,实验3和4业务相似,实验1、2、3、4、5可以同时进行,这显著提高了业务系统产品迭代效率。
S3:将策略配置信息同时传递或者更新至策略缓存模块和消息中间件。
S301:在创建实验时,需要对该实验所在实验层剩余流量的基础上进行流量分配,策略缓存模块用于存储各实验层的已分配策略的实验流量,对缓存模块的查询是为了保证同一实验层实验流量互斥。
S302:在更新实验时,需要对实验已有策略的基础上进行更新。更新实验操作包括实验扩流、删除分桶、更新参数、流量推全等。实验扩流是指保持实验原始流量,在此基础上扩充剩余流量,实验扩流的操作便于业务人员动态扩充实验流量,更加灵活观察实验在更大流量下各分桶之间的差异,增加实验的可信度;删除分桶是指实验过程中,删除其中一个分桶并释放其流量的操作,删除分桶应用在当短时间内分桶差异很明显时,可以删除劣势分桶,减少迭代周期;更新参数是指当业务场景中涉及的参数更新后,通过更新操作更新策略信息中的参数列表,方便业务人员更加灵活修改策略配置;流量推全是指当分桶间有胜负结果后,将实验全部流量全部分配给获胜分桶的操作。
S303:为保证策略配置信息不丢失。业务系统重启服务时,为防止策略信息的丢失,业务系统统一向策略缓存模块发送策略访问请求,获取实验的最新策略配置信息。
S4:业务系统通过实验ID作为唯一标识,监听消息中间件,获取并解析监听得到的策略配置信息。其中监听规则如下:
S401:消息生产者(AB测试系统),根据AB测试系统中配置的实验相关信息中实验层信息中的场景字段和实验基本信息中实验ID字段,分别作为消息中间件的主题(topic)和关键词(keys)。场景字段能够保证业务系统同时做多组实验时,能够按照场景有序划分;实验ID字段能够保证业务系统在进行某个具体实验时,能够保证消息的有序对应。
S402:消息消费者(业务系统),为保证业务系统能够有效有序地接收到策略配置信息,根据业务人员在AB测试系统中配置的实验相关信息,以场景字段作为监听的topic,以实验ID作为监听的keys。
消息中间件的作用在于:
(1)在创建实验时,AB测试系统会将创建实验时生成的策略配置信息传递给消息中间件,业务方会携带实验ID监听消息中间件,从而获取到属于该实验ID的策略配置信息。
(2)在更新实验时,AB测试系统会根据更新操作(实验扩流、删除分桶、更新参数、流量推全),每更新一次策略配置信息,AB测试系统都会向消息中间件更新推送一条策略配置信息。由于业务方携同一实验ID长监听消息中间件,所以每次策略配置信息的更新都会实时更新到业务方,确保业务方获得最新的策略配置信息。
S5:业务系统通过对流量请求中携带的用户ID进行哈希取模处理获得哈希ID,根据哈希ID得到对应流量用户的实验策略。本实施例中,业务系统在获取对应实验的策略配置信息后,对于来自业务系统的流量请求,对请求携带的用户ID选用一种hash算法进行计算,将得到整数结果值对10000取模,会得到0-9999之间的数值hashID。根据策略配置信息0-9999共10000个策略值,直接选择与hashID相等的那个作为该用户的策略,其中策略信息包括分桶名称和参数列表。业务系统根据分桶名称和参数列表可以编写自己的业务逻辑进行请求的分流处理以及日志埋点处理,从而达到AB测试的目的。最终,根据实验绑定的指标分析结果,协助业务人员进行实验的更新与产品的迭代优化。
综上可知,本发明通过在AB测试系统配置实验所需相关信息,根据配置信息生成策略配置信息,然后将策略配置信息分别传递至策略缓存和消息中间件。整个AB测试系统在运行过程中都是以传递配置信息来进行运作的,配置信息的传递只在AB实验的创建阶段和更新阶段,这显著地降低了AB测试系统的并发压力。并且,由于策略缓存模块的存在,AB测试系统能够满足业务人员对实验的多种复杂的更新操作,包括实验扩流、删除分桶、流量推全等。因此,基于配置驱动的流量复用AB测试方法及系统能够更加轻量和灵活地满足业界多业务复杂系统的AB测试需求。并且,通过流量分层复用的方式,实现层与层之间实验流量共享,层内实验互斥,通常业务相似的实验放在同一层,业务差异大的实验放在不同层。可以利用有限流量同时做多组实验。
随着互联网的发展,产品的用户流量也会增长,由于本发明是基于配置驱动的AB测试系统,所以能够保证新增用户的策略分配,并且新增用户不会影响实验的流量分桶比例。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于配置驱动的流量复用AB测试方法,其特征在于,包括以下步骤:
业务人员根据业务需求在AB测试系统配置或更新实验相关信息,所述实验相关信息包括:实验基本信息、实验层信息、实验参数信息、实验分桶信息和实验指标信息;
根据实验相关信息生成或更新策略配置信息;策略配置信息的生成和更新的步骤如下:
将策略配置信息初始化成由第一数量个哈希ID拼接组成,每一个哈希ID均包含了分桶名称和参数列表;所述分桶名称和参数列表一一对应;
根据实验所占流量,通过对缓存模块中剩余空闲流量的查询和比较,得到属于该实验的空闲流量;然后更新策略配置信息:将第一数量个哈希ID中,该实验中未分配到流量的未分配哈希ID的分桶名称配置为一个统一的无效分桶名称,参数列表置为空;将第一数量个哈希ID中,实验中已分配的已分配哈希ID参与到流量分桶操作中;
通过配置实验分桶信息和实验参数信息,对已分配哈希ID进行流量分桶操作:对于每一个已分配哈希ID,通过预设的哈希算法计算出其哈希值,对第一数量取模,然后按照分桶流量占比进行流量分配;
对分配好的各分桶流量,匹配设置对应的分桶名称和参数列表,更新策略配置信息;
将策略配置信息同时传递或者更新至策略缓存模块和消息中间件;
业务系统通过实验ID作为唯一标识,监听消息中间件,获取并解析监听得到的策略配置信息;
业务系统通过对流量请求中携带的用户ID进行哈希取模处理获得哈希ID,根据哈希ID得到对应流量用户的实验策略。
2.根据权利要求1所述的基于配置驱动的流量复用AB测试方法,其特征在于,
所述实验基本信息,包括:实验ID、实验名称、实验描述和实验所占流量;
实验层信息,包括:实验层名称、实验层场景、实验层区域和实验层剩余流量;
实验参数信息,包括:参数名称、参数类型、参数值和参数描述;
实验分桶信息,包括:分桶名称、分桶描述和分桶流量占比;
实验指标信息,包括:业务相关计算指标,包括留存率、页面浏览量和独立访问数。
3.根据权利要求2所述的基于配置驱动的流量复用AB测试方法,其特征在于,将策略配置信息同时传递或者更新至策略缓存模块;所述策略缓存模块用于:
在创建实验时,所述策略缓存模块用于存储各实验层的已分配策略的实验流量;
在更新实验时,所述策略缓存模块用于对实验已分配策略进行更新;
业务系统重启服务时,业务系统向策略缓存模块发送策略访问请求,获取实验的最新策略配置信息。
4.根据权利要求2所述的基于配置驱动的流量复用AB测试方法,其特征在于,所述业务系统通过实验ID作为唯一标识,监听消息中间件;所述监听的规则如下:
将实验相关信息中的实验层场景和实验ID,分别作为消息中间件的主题和关键词;业务系统通过将场景字段作为监听的主题,以实验ID作为监听的关键词,对消息中间件进行监听,以获取对应实验的策略配置信息。
5.根据权利要求4所述的基于配置驱动的流量复用AB测试方法,其特征在于,业务系统在获取对应实验的策略配置信息后,对于来自业务系统的流量请求,对流量请求所携带的用户ID选用一种哈希算法进行计算,将得到整数结果值对第一数量取模,得到0到第一数量减一之间的哈希ID;
从策略配置信息中的共第一数量个策略值中,选择与哈希ID相等的那个策略值作为该用户ID对应的策略。
6.一种用于执行权利要求1至5中任一项所述的方法的基于配置驱动的流量复用AB测试系统,其特征在于,包括:AB测试系统,策略缓存模块,消息中间件和业务系统,
AB测试系统用于创建、查询、更新和删除实验相关信息,并供业务人员根据业务需求创建、查询、更新和删除实验;
策略缓存模块,用于根据AB测试系统配置的实验相关信息,将策略配置信息进行缓存或者更新;
消息中间件,用于传递策略配置信息的消息;
业务系统,用于通过携带实验ID监听消息中间件,获取并解析最新的策略配置信息。
7.根据权利要求6所述的基于配置驱动的流量复用AB测试系统,其特征在于,还包括报表分析系统,用于对分桶的统计学指标进行可视化展示,以向业务人员展示分桶间差异。
8.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136187.4A CN113836024B (zh) | 2021-09-27 | 2021-09-27 | 基于配置驱动的流量复用ab测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136187.4A CN113836024B (zh) | 2021-09-27 | 2021-09-27 | 基于配置驱动的流量复用ab测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836024A CN113836024A (zh) | 2021-12-24 |
CN113836024B true CN113836024B (zh) | 2024-02-06 |
Family
ID=78970883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111136187.4A Active CN113836024B (zh) | 2021-09-27 | 2021-09-27 | 基于配置驱动的流量复用ab测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836024B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584623B (zh) * | 2022-03-10 | 2024-03-29 | 广州方硅信息技术有限公司 | 流量请求清理方法、装置、存储介质以及计算机设备 |
CN114462890B (zh) * | 2022-04-07 | 2022-07-26 | 第四范式(北京)技术有限公司 | 一种评估辅助方法及装置、电子设备、存储介质 |
CN114760251A (zh) * | 2022-04-13 | 2022-07-15 | 北京泰迪熊移动科技有限公司 | 数据分流方法、装置、电子设备及计算机可读存储介质 |
CN116975041B (zh) * | 2023-08-29 | 2024-05-14 | 上海乐响网络科技发展有限公司 | Ab实验分流及分析系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281611A (zh) * | 2013-07-08 | 2015-01-14 | 阿里巴巴集团控股有限公司 | 网站测试系统中的用户流量分配方法及装置 |
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
CN109739757A (zh) * | 2018-12-28 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种ab测试方法及装置 |
CN110888816A (zh) * | 2019-12-11 | 2020-03-17 | 广州品唯软件有限公司 | 程序测试方法、程序测试装置及存储介质 |
CN111737128A (zh) * | 2020-06-19 | 2020-10-02 | 北京百度网讯科技有限公司 | 线上测试方法及灰度分流设备、存储介质 |
CN113157555A (zh) * | 2021-03-05 | 2021-07-23 | 上海中通吉网络技术有限公司 | 用于线上压测数据漏库实时检测的系统、方法及设备 |
CN113254235A (zh) * | 2021-06-08 | 2021-08-13 | 行吟信息科技(武汉)有限公司 | 一种多测试环境下的消息传递方法及装置 |
CN113315672A (zh) * | 2020-02-27 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 流量分配方法及装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-09-27 CN CN202111136187.4A patent/CN113836024B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281611A (zh) * | 2013-07-08 | 2015-01-14 | 阿里巴巴集团控股有限公司 | 网站测试系统中的用户流量分配方法及装置 |
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
CN109739757A (zh) * | 2018-12-28 | 2019-05-10 | 微梦创科网络科技(中国)有限公司 | 一种ab测试方法及装置 |
CN110888816A (zh) * | 2019-12-11 | 2020-03-17 | 广州品唯软件有限公司 | 程序测试方法、程序测试装置及存储介质 |
CN113315672A (zh) * | 2020-02-27 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 流量分配方法及装置、电子设备及计算机可读存储介质 |
CN111737128A (zh) * | 2020-06-19 | 2020-10-02 | 北京百度网讯科技有限公司 | 线上测试方法及灰度分流设备、存储介质 |
CN113157555A (zh) * | 2021-03-05 | 2021-07-23 | 上海中通吉网络技术有限公司 | 用于线上压测数据漏库实时检测的系统、方法及设备 |
CN113254235A (zh) * | 2021-06-08 | 2021-08-13 | 行吟信息科技(武汉)有限公司 | 一种多测试环境下的消息传递方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113836024A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113836024B (zh) | 基于配置驱动的流量复用ab测试方法及系统 | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
US9385947B2 (en) | Message transport system using publication and subscription mechanisms | |
CN107315760A (zh) | 用于连续图更新和计算的平台 | |
CN105450618A (zh) | 一种api服务器处理大数据的运算方法及其系统 | |
CN101583160B (zh) | 一种实现分层服务质量业务的装置及方法 | |
CN113515364B (zh) | 一种数据迁移的方法及装置、计算机设备和存储介质 | |
CN101345628B (zh) | 源节点选择方法 | |
CN104636286A (zh) | 用于数据访问的方法和设备 | |
CN113204598B (zh) | 一种数据同步方法、系统及存储介质 | |
CN105812175B (zh) | 一种资源管理方法及资源管理设备 | |
CN114979074B (zh) | 一种企业IPv6地址分级管理方法、系统及存储介质 | |
CN104753706A (zh) | 一种分布式集群配置管理方法及装置 | |
Wang et al. | On data staging algorithms for shared data accesses in clouds | |
CN111090803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
CN104158899A (zh) | 基于面向服务架构的移动终端信息推送方法、装置及系统 | |
CN109714652A (zh) | Odn管理系统的数据存储方法、系统、存储介质及设备 | |
CN102769495B (zh) | 一种光纤接入网设备通信方法、装置及系统 | |
CN106484792B (zh) | 一种用于持久层框架的数据源管理方法及装置 | |
CN102325043B (zh) | 一种拓扑生成方法、装置和系统 | |
CN101686121A (zh) | 一种数据同步方法、系统及装置 | |
JP2009038416A (ja) | マルチキャスト通信システム、並びにグループ鍵管理サーバ | |
CN101404541A (zh) | 一种网管拓扑链接分层关联多个业务对象的方法 | |
CN103970860B (zh) | 一种数据处理的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |