CN114595146A - Ab测试方法、装置、系统、电子设备及介质 - Google Patents

Ab测试方法、装置、系统、电子设备及介质 Download PDF

Info

Publication number
CN114595146A
CN114595146A CN202210167506.6A CN202210167506A CN114595146A CN 114595146 A CN114595146 A CN 114595146A CN 202210167506 A CN202210167506 A CN 202210167506A CN 114595146 A CN114595146 A CN 114595146A
Authority
CN
China
Prior art keywords
experiment
configuration data
shunting
local memory
result
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.)
Pending
Application number
CN202210167506.6A
Other languages
English (en)
Inventor
孙博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongcheng Network Technology Co Ltd
Original Assignee
Tongcheng Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tongcheng Network Technology Co Ltd filed Critical Tongcheng Network Technology Co Ltd
Priority to CN202210167506.6A priority Critical patent/CN114595146A/zh
Publication of CN114595146A publication Critical patent/CN114595146A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种AB测试方法、装置、系统、电子设备及介质,包括:在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中;在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果;将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。本发明能够通过本地运算的方式得到分流结果,无需通过网络通信,从而提升了分流性能以及用户体验。

Description

AB测试方法、装置、系统、电子设备及介质
技术领域
本发明涉及AB测试技术领域,尤其是涉及一种AB测试方法、装置、系统、电子设备及介质。
背景技术
AB测试(A/B Testing)是一种在同一时间维度内,让访问用户随机访问功能相同或相似的两组或多组版本,通过收集用户体验数据和业务数据,分析评估出这些功能相同或相似的多组版本中,哪一个版本是最好的,是一种决策工具。传统的A/B测试需要通过网络请求的方式才能获取到实验结果,性能受到网络条件的制约,尤其是APP首页等用户对加载时间敏感的场景,加载慢可能就会导致用户体验差,从而导致用户流失。
发明内容
有鉴于此,本发明的目的在于提供一种AB测试方法、装置、系统、电子设备及介质,能够通过本地运算的方式得到分流结果,无需通过网络通信,从而提升了分流性能以及用户体验。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种AB测试方法,包括:在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中;在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果;将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。
在一种实施方式中,上述方法还包括:每间隔第一预设时间,通过AB组件重复获取指定的实验编号对应的最新的实验配置数据,并将最新的实验配置数据保存在本地内存中。
在一种实施方式中,上述方法还包括:当满足预设条件时,将本地内存中的实验分流结果发送至数据收集服务器;其中,预设条件包括:间隔第二预设时间,或实验分流结果的数量大于或等于数量阈值。
在一种实施方式中,上述方法还包括:通过AB测试后台创建实验,并确定实验的基本信息;其中,基本信息至少包括:实验编号、实验配置数据;将实验的基本信息保存至数据库中。
在一种实施方式中,在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,包括:在应用程序启动时,通过AB组件采用轮询的方式,从数据库中获取指定的实验编号对应的实验配置数据。
在一种实施方式中,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果,包括:通过AB组件,利用本地内存中的实验配置数据的参数进行哈希值计算,得到实验分流结果。
第二方面,本发明实施例提供了一种AB测试系统,包括:AB测试后台、AB配置服务模块、接入AB组件的应用程序、数据收集服务器;AB测试后台用于创建实验,以及编辑实验的基本信息;AB配置服务模块用于以接口的形式为AB组件提供配置查询服务,以使AB组件获取实验配置数据;接入AB组件的应用程序用于在用户访问时,通过AB组件进行分流;数据收集服务器用于接收AB组件发送的实验分流结果。
第三方面,本发明实施例提供了一种AB测试装置,包括:实验获取模块,用于在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中;分流模块,用于在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果;结果返回模块,用于将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。
第四方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供上述AB测试方法、装置、系统、电子设备及介质,首先在应用程序启动时,可以通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中;然后在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果;最后将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。上述方法只需要在引用程序启动时通过网络通信加载少量的实验配置数据,然后在用户访问需要分流时,通过本地内存保存的实验配置数据即可获取实验分流结果,无需通过网络通信,从而提升了分流性能;同时由于无需等待网络响应,接入方系统的响应性能也不会受到任何影响,进一步提升了用户体验,有利于产品的推送和运营。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种AB测试方法的流程图;
图2为本发明实施例提供的一种创建实验的示意图;
图3为本发明实施例提供的一种实验生效状态时任意调整分流比的示意图;
图4为本发明实施例提供的一种AB测试系统的结构示意图;
图5为本发明实施例提供的一种AB测试的具体流程图;
图6为本发明实施例提供的一种AB测试装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于本领域技术人员更好地理解本申请,下面先对本申请涉及的技术用语进行简单介绍。
1、A/B测试(A/B Testing),是一种在同一时间维度内,让访问用户随机访问功能相同或相似的两组或多组版本,通过收集用户体验数据和业务数据,分析评估出这些功能相同或相似的多组版本中,哪一个版本最好,是一种决策工具。
2、实验(Experiment),每一次分析决策的A/B测试可视作一次独立的实验,不同的功能迭代决策往往会通过多个独立的实验完成。
3、实验编号(Experiment Number),为每一个独立的实验生成的唯一的标识,一个实验编号即代表特定的一个实验,该实验相关的配置信息(如实验覆盖的程序版本、覆盖的地理位置信息、覆盖的操作系统等)均可通过实验编号,从A/B测试组件配套部署的程序装置提供的接口中获取。
4、分流(Shunt),利用用户的身份标识(或设备标识),根据用户正在参与的实验的配置信息,利用系统特定的哈希算法,生成这个用户在该实验的结果的过程。在A/B测试组件中,该算法涵盖在组件中同时被部署使用。
5、A/B测试组件(A/B Testing Component),或AB组件,是指直接将源码或将源码经过转译、混淆、压缩、加密等方式发布的,提供给使用A/B测试功能的人员用来为用户分流,以获取实验结果的一种以源代码、编译后的二进制文件、字节码等多种形式存在的文件或文件集合,可以在包括但不限于Java、NET Framework、NET Core、JavaScript、Typescript、Golang、Python、Object-C、Swift等语言编写的服务端程序或App客户端程序中直接使用。
在介绍了本申请涉及的技术用语后,接下来,对本申请实施例的应用场景和设计思想进行简单介绍。
目前,传统的A/B测试需要通过网络请求的方式才能获取到实验结果,性能受到网络条件的制约,尤其是APP首页等用户对加载时间敏感的场景,加载慢可能就会导致用户的流失,不利于产品推送运营。
基于此,本发明实施例提供的一种AB测试方法、装置、系统、电子设备及介质,能够通过本地运算的方式得到分流结果,无需通过网络通信,从而提升了分流性能以及用户体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种AB测试方法进行详细介绍,该方法可以由电子设备执行,诸如智能手机、电脑、iPad等,参见图1所示的一种AB测试方法的流程图,示意出该方法主要包括以下步骤S101至步骤S103:
步骤S101:在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中。
在一种实施方式中,用户可以在AB测试系统后台创建实验配置数据,点击保存后将实验配置数据保存到MySQL中,每组实验配置数据对应一个用于表征实验身份的实验编号。在引用程序启动时,可以指定该应用程序接入的实验对应的实验编号,AB组件可以将指定的实验编号保存在本地内存中,然后采用轮询的方式,从数据库中获取实验编号对应的实验配置数据,并将获取的结果以字典结构保存在本地内存中。
步骤S102:在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果。
在一种实施方式中,在应用程序接收到用户在目标页面的访问请求时,也即当用户访问应用程序时,应用程序如果判断用户需要参与某个实验,则可以调用AB组件中的一个方法,AB组件通过本地内存中的实验配置数据,利用本地内存中的实验配置数据的参数进行哈希值计算,得到实验分流结果。
步骤S103:将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。
在一种实施方式中,通过AB组件得到实验分流结果后,可以将实验分流结果返回给调用方(即用户),同时将实验分流结果保存在本地内存队列中。
本发明实施例提供上述AB测试方法,只需要在引用程序启动时通过网络通信加载少量的实验配置数据,然后在用户访问需要分流时,通过本地内存保存的实验配置数据即可获取实验分流结果,无需通过网络通信,从而提升了分流性能;同时由于无需等待网络响应,接入方系统的响应性能也不会受到任何影响,进一步提升了用户体验,有利于产品的推送和运营。
本发明实施例中,为了确保AB组件及时获取到最新的实验配置数据,上述方法还包括:每间隔第一预设时间,通过AB组件重复获取指定的实验编号对应的最新的实验配置数据,并将最新的实验配置数据保存在本地内存中。在具体应用中,可以每间隔15秒重复一次轮询保存的过程,即每间隔15秒通过AB组件重复获取最新的实验配置数据并进行保存,从而能够尽可能的及时获取到最新的实验配置数据。
本发明实施例中,为了将AB组件与数据库进行隔离和解耦,提升分流性能,上述方法还包括:当满足预设条件时,将本地内存中的实验分流结果发送至数据收集服务器;其中,预设条件包括:间隔第二预设时间,或实验分流结果的数量大于或等于数量阈值。在具体应用中,可以每间隔15秒或当本地内存队列中的实验分流结果的数量达到1000条时,批量将实验分流结果提交到数据收集服务器。
进一步地,上述方法还包括:首先,通过AB测试后台创建实验,并确定实验的基本信息;其中,基本信息至少包括:实验编号、实验配置数据;然后,将实验的基本信息保存至数据库中。
本发明实施例中还提供了一套管理系统,用户通过电脑的浏览器或手机微信,可进入到AB测试后台对实验进行配置,包括不限于创建一个实验草稿、将一个实验生效(在生产环境启用)、调整每个分组的流量比例、将一个实验下线(快速将流量切换至一个特定版本)、关闭一个实验(从生产环境中移除该实验)、查看实验的实时监控数据及实验报表分析数据等全面的功能。
为了便于理解,本发明实施例还提供了创建实验的示意图,参见图2所示,用户可以在AB测试后台创建实验,编辑实验的基本信息,主要包括但不限于:实验编号、实验类型、实验目标、实验分组、实验配置数据等。
参见图3所示,在实验生效时,用户可以任意调整每个实验分组的比例,如图3中所示,当不特定的用户群体进行访问时,分流组件通过算法可以将其中20%的用户分流至A组,其中20%的用户分流至B组,剩下的60%的用户会被分流至Z组。
本发明实施例提供的上述AB测试方法,在获取实验分流结果时,会在AB组件内部将实验编号、实验对象(以用户的身份标识方式存储)、实验结果信息,以本地内存队列的形式进行存储,在该队列被填充满时(如达到AB组件内置默认的上限1000条,或达到通过配置文件的方式指定的任意条数)、或是在队列中保存第一条数据开始的15秒后,AB组件会根据用户指定的配置,利用HTTP接口或Kafka队列服务器的Topic、自动批量的将数据上报至远程服务器(即数据收集服务器)中,以进行后续的分析。远程服务器在接收到数据之后,会将其分别存储在MySQL、HIVE数据库中,并将以无侵入方式收集到的用户轨迹数据,如创单、成单、营收等数据信息进行交叉比对及分析,快速的为接入方提供各个实验分组的实验效果数据,帮助接入方准确的做出决断。
本发明实施例提供了一种AB测试系统,参见图4所示的一种AB测试系统的结构示意图,示意出该系统包括:AB测试后台、AB配置服务模块、接入AB组件的应用程序、数据收集服务器。
AB测试后台用于创建实验,以及编辑实验的基本信息。具体的,产品或运营人员可以通过AB测试后台创建、编辑实验信息,操作实验各个分组的流量调整等,其操作结果可以被保存在数据库中。
AB配置服务模块用于以接口的形式为AB组件提供配置查询服务,以使AB组件获取实验配置数据。具体的,AB配置服务模块以接口形式提供配置查询服务,可以由AB组件根据一定策略发起请求,通过AB配置服务模块获取最新的实验配置数据,其中,AB配置服务模块的数据由查询数据库获得。
接入AB组件的应用程序用于在用户访问时,通过AB组件进行分流。具体的,应用程序可以是手机的应用程序,诸如:微信、微博、浏览器等。接入方式为在应用程序中安装AB组件,当用户访问时,应用程序通过AB组件得到分流的能力。AB组件在进行分流时,可以通过本地内存保存的实验配置数据获取实验分流结果,并将实验分流结果储存在本地内存队列中,然后,根据一定的策略适时批量上报,诸如:在队列中的数据达到容量上限或每过15秒,将分流结果数据一次性批量提交给AB的数据收集服务器中。
数据收集服务器,也即AB测试数据收集服务器,用于接收AB组件发送的实验分流结果。具体的,AB测试数据收集服务器可以提供给AB组件使用,收集AB组件上报的实验分流结果数据,并将其落盘,从而将AB组件与数据库进行隔离和解耦。
对于上述AB测试系统,本发明实施例还提供一种应用该系统进行AB测试的具体流程,参见图5所示,对于接入AB组件的应用程序,在应用程序启动时,指定该应用程序接入的实验对应的实验编号,并通过AB组件轮询获取实验编号对应的实验配置数据,并将实验配置数据以字典结构保存在本地内存中。同时,除了应用程序启动时的调用外,AB组件也会在启动时开启一个额外的线程,该线程会每隔15秒重复一次轮询保存的过程,以尽可能的及时获取到最新的实验配置数据。
当用户访问应用程序的目标页面时,AB组件可以通过本地内存中的实验配置数据,利用实验配置数据中的参数,进行哈希计算得出实验分流结果,并将实验分流结果在返回给调用方,同时,将实验分流结果储存在本地内存队列中,每隔15秒或内存队列达到1000条时,清空内存队列,将实验分流结果批量的提交给数据收集服务器。
本发明实施例提供的上述AB测试系统,用户可以在AB测试后台创建实验的配置信息,并将应用程序接入AB组件,AB组件内部通过网络接口定时与AB配置服务模块通信获取最新的实验配置数据保存至应用程序的本地内存中。用户访问应用程序的功能需要获取分流结果时,AB组件可以根据用户的身份标识及实验编号为用户实时计算分流结果返回,并将分流结果保存至本地内存中的队列中,在队列中的数据达到容量上限或每过15秒,将分流结果数据一次性批量提交给AB的数据收集服务器中。上述AB测试系统,只需要在引用程序启动时通过网络通信加载少量的实验配置数据,然后在用户访问需要分流时,通过本地内存保存的实验配置数据即可获取实验分流结果,无需通过网络通信,从而提升了分流性能;同时由于无需等待网络响应,接入方系统的响应性能也不会受到任何影响,进一步提升了用户体验,有利于产品的推送和运营。
对于前述AB测试方法,本发明实施例还提供了一种AB测试装置,参见图6所示的一种AB测试装置的结构示意图,示意出该装置主要包括:
实验获取模块601,用于在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将实验配置数据保存在本地内存中。
分流模块602,用于在应用程序接收到用户在目标页面的访问请求时,通过AB组件基于本地内存中的实验配置数据得到访问请求对应的实验分流结果。
结果返回模块603,用于将实验分流结果返回至用户,并将实验分流结果保存至本地内存中。
本发明实施例提供上述AB测试装置,只需要在引用程序启动时通过网络通信加载少量的实验配置数据,然后在用户访问需要分流时,通过本地内存保存的实验配置数据即可获取实验分流结果,无需通过网络通信,从而提升了分流性能;同时由于无需等待网络响应,接入方系统的响应性能也不会受到任何影响,进一步提升了用户体验,有利于产品的推送和运营。
在一种实施方式中,上述实验获取模块601还用于:每间隔第一预设时间,通过AB组件重复获取指定的实验编号对应的最新的实验配置数据,并将最新的实验配置数据保存在本地内存中。
在一种实施方式中,上述装置还包括结果收集模块,用于当满足预设条件时,将本地内存中的实验分流结果发送至数据收集服务器;其中,预设条件包括:间隔第二预设时间,或实验分流结果的数量大于或等于数量阈值。
在一种实施方式中,上述装置还包括实验创建模块,用于通过AB测试后台创建实验,并确定实验的基本信息;其中,基本信息至少包括:实验编号、实验配置数据;将实验的基本信息保存至数据库中。
在一种实施方式中,上述实验获取模块601还用于:在应用程序启动时,通过AB组件采用轮询的方式,从数据库中获取指定的实验编号对应的实验配置数据。
在一种实施方式中,上述分流模块602还用于:通过AB组件,利用本地内存中的实验配置数据的参数进行哈希值计算,得到实验分流结果。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项所述的方法。
图7为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器70,存储器71,总线72和通信接口73,所述处理器70、通信接口73和存储器71通过总线72连接;处理器70用于执行存储器71中存储的可执行模块,例如计算机程序。
其中,存储器71可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器71用于存储程序,所述处理器70在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器70中,或者由处理器70实现。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种AB测试方法,其特征在于,包括:
在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将所述实验配置数据保存在本地内存中;
在所述应用程序接收到用户在目标页面的访问请求时,通过所述AB组件基于本地内存中的所述实验配置数据得到所述访问请求对应的实验分流结果;
将所述实验分流结果返回至所述用户,并将所述实验分流结果保存至本地内存中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每间隔第一预设时间,通过AB组件重复获取指定的实验编号对应的最新的实验配置数据,并将最新的实验配置数据保存在本地内存中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当满足预设条件时,将本地内存中的所述实验分流结果发送至数据收集服务器;其中,所述预设条件包括:间隔第二预设时间,或所述实验分流结果的数量大于或等于数量阈值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过AB测试后台创建实验,并确定所述实验的基本信息;其中,所述基本信息至少包括:实验编号、实验配置数据;
将所述实验的基本信息保存至数据库中。
5.根据权利要求1所述的方法,其特征在于,在应用程序启动时,通过所述AB组件获取指定的实验编号对应的实验配置数据,包括:
在应用程序启动时,通过所述AB组件采用轮询的方式,从数据库中获取指定的实验编号对应的实验配置数据。
6.根据权利要求1所述的方法,其特征在于,通过所述AB组件基于本地内存中的所述实验配置数据得到所述访问请求对应的实验分流结果,包括:
通过所述AB组件,利用本地内存中的所述实验配置数据的参数进行哈希值计算,得到实验分流结果。
7.一种AB测试系统,其特征在于,包括:AB测试后台、AB配置服务模块、接入AB组件的应用程序、数据收集服务器;
所述AB测试后台用于创建实验,以及编辑所述实验的基本信息;
所述AB配置服务模块用于以接口的形式为AB组件提供配置查询服务,以使所述AB组件获取实验配置数据;
所述接入AB组件的应用程序用于在用户访问时,通过AB组件进行分流;
所述数据收集服务器用于接收AB组件发送的实验分流结果。
8.一种AB测试装置,其特征在于,包括:
实验获取模块,用于在应用程序启动时,通过AB组件获取指定的实验编号对应的实验配置数据,并将所述实验配置数据保存在本地内存中;
分流模块,用于在所述应用程序接收到用户在目标页面的访问请求时,通过所述AB组件基于本地内存中的所述实验配置数据得到所述访问请求对应的实验分流结果;
结果返回模块,用于将所述实验分流结果返回至所述用户,并将所述实验分流结果保存至本地内存中。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法的步骤。
CN202210167506.6A 2022-02-23 2022-02-23 Ab测试方法、装置、系统、电子设备及介质 Pending CN114595146A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210167506.6A CN114595146A (zh) 2022-02-23 2022-02-23 Ab测试方法、装置、系统、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210167506.6A CN114595146A (zh) 2022-02-23 2022-02-23 Ab测试方法、装置、系统、电子设备及介质

Publications (1)

Publication Number Publication Date
CN114595146A true CN114595146A (zh) 2022-06-07

Family

ID=81805738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210167506.6A Pending CN114595146A (zh) 2022-02-23 2022-02-23 Ab测试方法、装置、系统、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114595146A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361340A (zh) * 2022-08-24 2022-11-18 深圳依时货拉拉科技有限公司 Ab实验分流方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361340A (zh) * 2022-08-24 2022-11-18 深圳依时货拉拉科技有限公司 Ab实验分流方法、装置、计算机设备和存储介质
CN115361340B (zh) * 2022-08-24 2024-02-27 深圳依时货拉拉科技有限公司 Ab实验分流方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN112364054B (zh) 风控决策方法、装置、电子装置及存储介质
CN113254472B (zh) 一种参数配置方法、装置、设备及可读存储介质
US11062350B2 (en) Method, apparatus, and device for monitoring promotion status data, and non-volatile computer storage medium
CN114595146A (zh) Ab测试方法、装置、系统、电子设备及介质
CN113688602A (zh) 一种任务处理方法以及装置
CN110634018A (zh) 一种流失用户的特征刻画方法、识别方法及相关装置
CN107329832B (zh) 一种数据接收方法及装置
WO2018098670A1 (zh) 一种进行数据处理的方法和装置
CN112948262A (zh) 一种系统测试方法、装置、计算机设备和存储介质
CN115576973B (zh) 一种业务部署方法、装置、计算机设备和可读存储介质
CN109587198B (zh) 图文信息推送方法及装置
CN107748711B (zh) 自动优化Storm并行度的方法、终端设备及存储介质
CN113746932B (zh) 网络请求合并方法、装置及电子装置、计算机程序产品
CN113238911B (zh) 告警处理方法及装置
CN115309638A (zh) 协助模型优化的方法及装置
CN110191460B (zh) 一种新入网用户监测方法及平台
CN114328750A (zh) 一种将业务数据同步ods层的方法及装置
CN113065058A (zh) 家庭成员识别的方法及装置、电子设备和可读存储介质
CN113448747A (zh) 数据传输方法、装置、计算机设备和存储介质
CN111782479A (zh) 日志处理方法、装置、电子设备及计算机可读存储介质
CN113064807A (zh) 日志诊断方法及装置
CN112733453A (zh) 一种基于联合学习的设备预测性维护方法及装置
CN111737136A (zh) 基于物联网平台的对象测试方法装置
CN110825493A (zh) 一种虚拟机调优的方法及装置
CN115879586B (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