CN103577660B - 灰度实验系统和方法 - Google Patents

灰度实验系统和方法 Download PDF

Info

Publication number
CN103577660B
CN103577660B CN201210251037.2A CN201210251037A CN103577660B CN 103577660 B CN103577660 B CN 103577660B CN 201210251037 A CN201210251037 A CN 201210251037A CN 103577660 B CN103577660 B CN 103577660B
Authority
CN
China
Prior art keywords
experiment
gray scale
sampling
index
create
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
Application number
CN201210251037.2A
Other languages
English (en)
Other versions
CN103577660A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210251037.2A priority Critical patent/CN103577660B/zh
Publication of CN103577660A publication Critical patent/CN103577660A/zh
Application granted granted Critical
Publication of CN103577660B publication Critical patent/CN103577660B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种灰度实验系统,所述系统包括:信息输入模块,用于通过预设的用户界面获取输入的实验创建请求;数据处理模块,包括用于根据所述实验创建请求生成配置文件的配置文件生成模块和用于将所述配置文件同步至Web应用系统的数据同步模块;数据统计模块,用于根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标;指标评估模块,用于计算所述第一关键指标与第二关键指标的变化率的均值,根据所述均值生成指标评估区间。采用上述灰度实验系统,对实验数据的评估更准确。此外,还提供了一种灰度实验方法。

Description

灰度实验系统和方法
技术领域
本发明涉及产品测试技术,特别是涉及一种灰度实验系统和方法。
背景技术
灰度实验,也称为灰度发布,是指在黑与白之间,能够平滑过度的一种发布方式,例如,A/B Test(A/B测试)就是一种灰度发布方式。A/B Test是指的通过基准实验和一个变量改变的实验进行对比,来评估变量产生的效果的实验。所谓基准实验,就是让一部分用户继续用A,所谓变量改变的实验,就是让一部分用户开始用B,然后评估使用B所产生的效果,并逐步扩大范围,把所有用户都迁移到B上面。因此,灰度发布是对某一产品的发布逐步扩大使用群体范围的过程。
传统的灰度实验方法通常都是对样本指标的绝对差异进行评估,例如,当需要评估关键指标(Overall Evaluation Criterion,简称“OEC)M(如点击率)时,传统的灰度实验方法通常仅计算a实验(即基准实验)的样本均值或b实验(即一个变量改变的实验)的样本均值,根据这两个样本均值来评估实验是否达到预期目的。然而,传统的这种灰度实验方法,由于仅对样本指标的绝对差异进行评估,因此评估实验结果的准确性并不高。
发明内容
基于此,有必要针对上述评估实验结果的准确性不高的问题,提供一种评估更准确的灰度实验系统。
一种灰度实验系统,所述系统包括:信息输入模块,用于通过预设的用户界面获取输入的实验创建请求;数据处理模块,包括用于根据所述实验创建请求生成配置文件的配置文件生成模块和用于将所述配置文件同步至Web应用系统的数据同步模块;数据统计模块,用于根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标;指标评估模块,用于计算所述第一关键指标与第二关键指标的变化率的均值,根据所述均值生成指标评估区间。
此外,还有必要提供一种评估更准确的灰度实验方法。
一种灰度实验方法,包括以下步骤:通过预设的用户界面获取输入的实验创建请求;根据所述实验创建请求生成配置文件,并将所述配置文件同步至Web应用系统;根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标;计算所述第一关键指标与第二关键指标的变化率的均值,根据所述均值生成指标评估区间。
上述灰度实验系统和方法,通过计算第一关键指标与第二关键指标的变化率的均值,根据均值生成指标评估区间。由于变化率跟两个实验的差异有关,是相对稳定的指标,更适用于衡量变量变化的实验相对于基准实验的变化,因此所生成的指标评估区间能够用于更准确的评估实验结果。
附图说明
图1为一个实施例中的灰度实验系统的模块图;
图2为另一个实施例中的灰度实验系统的模块图;
图3为一个实施例中的灰度实验系统的应用场景示意图;
图4为用于创建实验的用户界面的示意图;
图5为包含小流量实验和灰度发布实验的多层实验框架图;
图6为一个实施例中的灰度实验方法的流程示意图;
图7为一个实施例中进行版本发布的流程示意图。
具体实施方式
如图1所示,在一个实施例中,一种灰度实验系统,包括信息输入模块10、数据处理模块20、数据统计模块30和指标评估模块40,其中:
信息输入模块10用于通过预设的用户界面获取输入的实验创建请求。
用户界面(即UI)可预先设置,通过用户界面可进行一些有关实验的设置,生成实验创建请求。进一步的,实验创建请求中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。其中,实验类型包括后台实验和前台UI实验等;抽样方式包括用户抽样和随机抽样;抽样比例可由用户输入,实验起止时间也可由用户设置;流量来源可通过选项的方式供用户选择。
数据处理模块20包括用于根据实验创建请求生成配置文件的配置文件生成模块210和用于将配置文件同步到Web应用系统的数据同步模块220。
在一个实施例中,配置文件中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。所述的配置文件是根据实验创建请求所生成的可为Web应用系统读取的数据格式的文件,Web应用系统可读取配置文件中的内容,获取用户设置的实验类型、抽样方式、抽样比例、实验的起止时间和流量来源等。
Web应用系统是用来进行灰度实验的系统,可以是任何搜索引擎、广告推送系统、社交网络、即时通信系统、网页论坛等,本申请并不局限于某种特定的Web应用系统。
数据统计模块30用于根据预设的维度统计对应的样本指标,该样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标。
所谓维度,是指预先设定的需统计样本指标的时间、某个特定的网络业务或实验号等。而样本指标指的是可用来衡量实验效果的数据。例如,对于搜索引擎来说,样本指标可以是广告点击率;对于社交网络,样本指标可以是某个应用的使用率等。
指标评估模块40用于计算第一关键指标与第二关键指标的变化率的均值,根据该均值生成指标评估区间。
在一个实施例中,如图2所示,灰度实验系统还可包括流量染色模块50和参数配置模块60,其中:
流量染色模块50用于根据配置文件中的抽样方式进行抽样,对抽取的Web应用请求分配实验号。
所谓实验号即实验标记(tag),流量染色模块50用于为每次的Web应用请求作标记,标明该Web应用请求是以那种类型的实验进行。例如,某一实验号标明该实验是小流量实验或灰度发布实验中的网页UI实验或网页后台实验等,其中网页UI实验也可以包括多种类型,例如,修改字体颜色的UI实验,修改字体大小的UI实验;网页后台实验包括后台处理的算法修改实验,例如,搜索引擎中修改排序算法等。不同类型的实验对应不同的实验号。
参数配置模块60用于获取Web应用请求,根据Web应用请求所对应的实验号动态配置预设的参数。
具体的,对应不同的实验号预先设置不同的参数。例如,将字体颜色显示为红色的UI实验所对应的实验号,则对应的参数为字体颜色的RGB值,该RGB值为红色的RGB值。参数配置模块60若获取到的Web应用请求所对应的实验号标明是将字体颜色显示为红色的UI实验,则配置字体颜色为红色的RGB值。
数据库70用于存储数据。具体的,用于存储配置文件生成模块210所生成的配置文件,以及存储数据统计模块30统计的样本指标和指标评估模块40生成的指标评估区间等。
在一个实施例中,如图2所示,数据处理模块20还包括流量控制模块230,用于接收实验创建请求,根据实验创建请求中的抽样比例判断请求创建的实验是否有足够流量,若没有,则生成实验创建失败的结果,否则,生成实验创建成功的结果。
如图3所示,在一个具体的应用场景中,灰度实验系统包括后台配置终端100、后台服务器200、数据库300、后台统计服务器800和设置在GUI服务器500中的流量染色模块50和设置在Web应用服务器600中的参数配置模块60。
进一步的,信息输入模块10可设置在后台配置终端100中,通过预设的用户界面获取实验创建请求。如图4所示,在用户界面中可供实验创建人员选择实验类型、抽样方式和流量来源,以及输入抽样比例和实验时间等。这里的流量来源是指选择进行实验的Web应用请求的来源。例如对于搜索引擎,选择了社区平台的流量来源,则对于社区平台中的Web应用请求需要进行实验。
通过上述用户界面提交了实验创建请求后,后台配置终端100将实验创建请求提交至后台服务器200。后台服务器200即上述数据处理模块20,其中包含配置文件生成模块210、数据同步模块220和流量控制模块230。流量控制模块230用于获取实验创建请求中的抽样比例,根据该抽样比例确定实验是否创建成功。不同的实验可分配的流量有所不同,且当后台服务器200收到多个实验创建请求时,会根据这些实验请求的抽样比例判定是否有足够的流量进行实验,若没有,则实验创建失败,生成实验创建失败的结果返回至后台配置终端100,否则,实验创建成功,生成实验创建成功的结果返回至后台配置终端100。
进一步的,后台服务器200中的配置文件生成模块210根据实验创建请求生成配置文件,该配置文件可供Web应用系统读取其中的内容。然后通过数据同步模块220将配置文件发送至公共服务器(Pub)400,由公共服务器400将配置文件同步至CGI服务器500和Web应用服务器600。
CGI(通用网关接口)服务器500和Web应用服务器600为Web应用系统的组成部分,CGI服务器500中设置流量染色模块50,在CGI服务器500接收到网络用户(该应用场景下为搜索用户)发起的Web应用请求,交由流量染色模块50根据配置文件中的抽样方式进行抽样,并对抽取的Web应用请求分配实验号。
在一个实施例中,实验创建请求包括小流量实验创建请求和灰度发布实验创建请求。可通过预设的用户界面创建小流量实验和灰度发布实验。如图5所示,本申请中的灰度实验系统采用的是包括小流量实验和灰度发布实验在内的多层实验框架。具体的,首先进行小流量实验,小流量实验相对灰度发布实验所使用的流量小,对于小流量实验,会生成指标评估区间用于评估小流量实验是否能达到预期效果,当小流量实验达到预期效果后,再进行可控的灰度发布实验。
对于小流量实验,每层的实验都会分配100%的线上流量,对于灰度发布实验,则通过控制发布比例(即流量),逐步将灰度发布到100%流量,从而将线上所有流量都改为新的参数,此时,则可以进行版本发布了。
在一个实施例中,抽样方式包括用户抽样和随机抽样,对于涉及后台服务器实验的实验层,通常采用随机抽样,对于涉及前台交互功能的实验层,则通常采用用户抽样。不同的抽样方式分别对应了不同的优先级。本实施例中,用户抽样的优先级高于随机抽样的优先级。因此,抽样时,用户抽样会优先进行。
进一步的,流量染色模块50用于先进行用户抽样,再在未命中的实验的区间进行随机抽样。本实施例中,对同一层的实验,会使用两种独立抽样的算法,相对于传统的每层仅采用一种抽样方式,会更灵活,能够支持更复杂的实验需求,也能够得到更准确的抽样结果。
具体的,由于随机抽样是次优先级进行的,这样则使得所有随机抽样的概率都称为了条件概率。假设X标识用户抽样命中实验,A表示随机实验a命中,则随机抽样实验a的命中概率是另外,由于用户通常采用cookie来定位,因此用户抽样也称为cookie抽样。而cookie的覆盖率不能达到100%(也就是说,并不是每一次的Web应用请求都有cookie数据),而没有coolie的请求不能进行用户实验(即同一用户始终命中1个实验),却可以进行随机实验(随机实验对每次请求都当作不同的请求,进行随机划分)。通常,用户界面或交互的实验使用用户实验,而后台算法实验则使用随机实验。
在一个实施例中,流量染色模块50用于进行用户抽样的抽样比例的计算公式为:Pa'=Pa,其中,Pa为设定的用户抽样比例;所述流量染色模块用于进行随机抽样的抽样比例的计算公式为:其中,Pb为设定的随机抽样比例,为所有的用户抽样的抽样比例之和,α为预设的cookie覆盖率。Cookie覆盖率是指请求有cookie数据的概率,可根据经验预先设定。
进一步的,CGI服务器500将标记后的Web应用请求提交至Web应用服务器600,Web应用服务器600对Web应用请求进行相应的处理。Web应用服务器600中设置有参数配置模块60,用于获取Web应用请求对应的实验号,根据实验号动态配置预设的参数。对于小流量使用和灰度发布实验,预先设置灰度发布实验的优先级小于小流量实验,因此,若参数配置模块60获取到的Web应用请求对应的实验号既有小流量实验又有灰度发布实验,则以小流量实验的参数配置为准。
对于Web应用系统,通常都会设有日志生成服务器700,用于生成Web应用相应的日志文件。进一步的,后台统计服务器800中设有数据统计模块30,用于统计日志文件中的样本指标。可以进行每日的数据统计,也可以进行实时数据统计。后台统计服务器800统计的样本指标可存储在数据库300。
在后台配置终端100中还可设置有指标评估模块40,用于获取数据库300中存储的样本指标,进行样本指标评估,生成指标评估区间。具体的,假设指标评估模块40获取的样本指标为M,对于Web应用系统为搜索引擎的应用场景下,M可以是广告点击率等。表示基准实验(a实验)的样本均值,表示变量变化的实验(b实验)对应的样本均值。本实施例中,指标评估模块40用于评估即b实验的样本均值相对于a实验的样本均值的相对变化率的均值。
具体的,假设X、Y是两个正态分布的随机变量(X、Y分别表示a实验和b实验的平均点击率),Y~N(μ2,σ2),令:
X=μ1+ξ,Y=μ2
其中,ξ,η是均值为0、方差分别为的随机误差,ξ和η的相关系数是ρ。则有:
其中,E(R)是我们要评估的对象。
用Taylor级数展开R,得到:
如果随机变量X的变异系数比较小(这一点在web应用中基本满足),则也比较小,从而展开式中的高阶项可以忽略,得到的近似结果如下:
于是,
依照大数定律,则有:
用样本方差Var(R)近似σR,可以得到区间估计结果为:
其中,R是随机变量,表示b实验相对于a实验的平均点击率变化率。E(R)是点击率变化率的均值,Var(R)是点击率变化率的方差,Z是正态分布的分位数,n为样本量。
在一个实施例中,信息输入模块10还用于判断指标评估区间是否在预设范围内,如是,则通过预设的用户界面获取输入的灰度发布实验创建请求。本实施例中,数据统计模块30还用于根据灰度发布实验创建请求统计对应的线上指标。
具体的,对于一个新的实验策略,例如将字体颜色显示为红色的实验策略。该实验策略从验证到上线到整个Web应用系统中称为一个策略的生命周期。如图5所示,对于一个新的实验策略,首先创建小流量实验,得到实验数据,该实验数据即为上述生成的指标评估区间。进一步的,根据该指标评估区间判断是否可以进行灰度发布。通常,得到的指标评估区间是正向的,则实验策略倾向于发布。比如,对于一个涉及搜索引擎的一个新实验策略,生成的广告点击率相对于现有版本的相对变化率区间估计是[5.64%,7.23%],则这个实验策略倾向于发布。如果区间估计包含0,比如为[-3.23%,4.35%],则该实验策略倾向于不发布。
当判定可以进行灰度发布时,则创建灰度发布实验,并控制灰度发布实验的流量,逐步将灰度发布到100%流量。对于灰度发布实验,可统计的对应的线上指标。线上指标可以为涉及整个系统稳定性的指标,例如灰度发布后Web应用服务器的剩余计算能力、业务指标是否稳定等。
当灰度发布到100%流量后,线上指标都显示为正常,则可进行版本发布,即可将新实验策略覆盖到整个Web应用系统,实现版本的更新。
如图6所示,在一个实施例中,一种灰度实验方法,包括以下步骤:
步骤S602,通过预设的用户界面获取输入的实验创建请求。
用户界面(即UI)可预先设置,通过用户界面可进行一些有关实验的设置,生成实验创建请求。进一步的,实验创建请求中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。其中,实验类型包括后台实验和前台UI实验等;抽样方式包括用户抽样和随机抽样;抽样比例可由用户输入,实验起止时间也可由用户设置;流量来源可通过选项的方式供用户选择。
步骤S604,根据实验创建请求生成配置文件,并将配置文件同步至Web应用系统。
在一个实施例中,配置文件中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。所述的配置文件是根据实验创建请求所生成的可为Web应用系统读取的数据格式的文件,Web应用系统可读取配置文件中的内容,获取用户设置的实验类型、抽样方式、抽样比例、实验的起止时间和流量来源等。
Web应用系统是用来进行灰度实验的系统,可以是任何搜索引擎、广告推送系统、社交网络、即时通信系统、网页论坛等。
步骤S606,根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标。
所谓维度,是指预先设定的需统计样本指标的时间、某个特定的网络业务或实验号等。而样本指标指的是可用来衡量实验效果的数据。例如,对于搜索引擎来说,样本指标可以是搜索结果的点击率;对于社交网络,样本指标可以是某个应用的使用率等。
步骤S608,计算第一关键指标与第二关键指标的变化率的均值,根据该均值生成指标评估区间。
在一个实施例中,灰度实验方法还包括:根据配置文件中的抽样方式进行抽样,对抽取的Web应用请求分配实验号;获取Web应用请求,根据Web应用请求所对应的实验号动态配置预设的参数。
所谓实验号即实验标记(tag),本实施例中,为每次的Web应用请求作标记,标明该Web应用请求是以那种类型的实验进行。例如,某一实验号标明该实验是小流量实验或灰度发布实验中的网页UI实验或网页后台实验等,其中网页UI实验也可以包括多种类型,例如,修改字体颜色的UI实验,修改字体大小的UI实验;网页后台实验包括后台处理的算法修改实验,例如,搜索引擎中修改排序算法等。不同类型的实验对应不同的实验号。
具体的,对应不同的实验号预先设置不同的参数。例如,将字体颜色显示为红色的UI实验所对应的实验号,则对应的参数为字体颜色的RGB值,该RGB值为红色的RGB值。若获取到的Web应用请求所对应的实验号标明是将字体颜色显示为红色的UI实验,则配置字体颜色为红色的RGB值。
在一个实施例中,灰度实验方法还包括:接收实验创建请求,根据实验创建请求中的抽样比例判断请求创建的实验是否有足够流量,若没有,则生成实验创建失败的结果,否则,生成实验创建成功的结果。
如图3所示,在一个具体的应用场景中,后台配置终端100通过预设的用户界面获取实验创建请求。如图4所示,在用户界面中可供实验创建人员选择实验类型、抽样方式和流量来源,以及输入抽样比例和实验时间等。这里的流量来源是指选择进行实验的Web应用请求的来源。例如对于搜索引擎,选择了社区平台的流量来源,则对于社区平台中的Web应用请求需要进行实验。
通过上述用户界面提交了实验创建请求后,后台配置终端100将实验创建请求提交至后台服务器200。后台服务器200用于获取实验创建请求中的抽样比例,根据该抽样比例确定实验是否创建成功。不同的实验可分配的流量有所不同,且当后台服务器200收到多个实验创建请求时,会根据这些实验请求的抽样比例判定是否有足够的流量进行实验,若没有,则实验创建失败,生成实验创建失败的结果返回至后台配置终端100,否则,实验创建成功,生成实验创建成功的结果返回至后台配置终端100。
进一步的,后台服务器200根据实验创建请求生成配置文件,然后将配置文件发送至公共服务器(Pub)400,由公共服务器400将配置文件同步至CGI服务器500和Web应用服务器600。
CGI(通用网关接口)服务器500和Web应用服务器600为Web应用系统的组成部分。CGI服务器500接收到网络用户(该应用场景下为搜索用户)发起的Web应用请求,根据配置文件中的抽样方式进行抽样,并对抽取的Web应用请求分配实验号。
在一个实施例中,实验创建请求包括小流量实验创建请求和灰度发布实验创建请求。可通过预设的用户界面创建小流量实验和灰度发布实验。如图5所示,本申请中的灰度实验系统采用的是包括小流量实验和灰度发布实验在内的多层实验框架。具体的,首先进行小流量实验,小流量实验相对灰度发布实验所使用的流量小,对于小流量实验,会生成指标评估区间用于评估小流量实验是否能达到预期效果,当小流量实验达到预期效果后,再进行可控的灰度发布实验。
对于小流量实验,每层的实验都会分配100%的线上流量,对于灰度发布实验,则通过控制发布比例(即流量),逐步将灰度发布到100%流量,从而将线上所有流量都改为新的参数,此时,则可以进行版本发布了。
在一个实施例中,抽样方式包括用户抽样和随机抽样,对于涉及后台服务实验的实验层,通常采用随机抽样,对于涉及前台交互功能的实验层,则通常采用用户抽样。不同的抽样方式分别对应了不同的优先级。本实施例中,用户抽样的优先级高于随机抽样的优先级。因此,抽样时,用户抽样会优先进行。
进一步的,先进行用户抽样,再在未命中的实验的区间进行随机抽样。本实施例中,对同一层的实验,会使用两种独立抽样的算法,相对于传统的每层仅采用一种抽样方式,会更灵活,能够支持更复杂的实验需求,也能够得到更准确的抽样结果。
具体的,由于随机抽样是次优先级进行的,这样则使得所有随机抽样的概率都称为了条件概率。假设X标识用户抽样命中实验,A表示随机实验a命中,则随机抽样实验a的命中概率是另外,由于用户通常采用cookie来定位,因此用户抽样也称为cookie抽样。而cookie的覆盖率不能达到100%(也就是说,并不是每一次的Web应用请求都有cookie数据),而没有coolie的请求不能进行用户实验,却可以进行随机实验。
在一个实施例中,进行用户抽样的抽样比例的计算公式为:Pa'=Pa,其中,Pa为设定的用户抽样比例;所述流量染色模块用于进行随机抽样的抽样比例的计算公式为:其中,Pb为设定的随机抽样比例,为所有的用户抽样的抽样比例之和,α为预设的cookie覆盖率。Cookie覆盖率是指请求有cookie数据的概率,可根据经验预先设定。
进一步的,结合图3,CGI服务器500将标记后的Web应用请求提交至Web应用服务器600,Web应用服务器600对Web应用请求进行相应的处理。Web应用服务器600获取Web应用请求对应的实验号,根据实验号动态配置预设的参数。对于小流量使用和灰度发布实验,预先设置灰度发布实验的优先级小于小流量实验,因此,若Web应用服务器600获取到的Web应用请求对应的实验号既有小流量实验又有灰度发布实验,则以小流量实验的参数配置为准。
对于Web应用系统,通常都会设有日志生成服务器700,用于生成Web应用相应的日志文件。进一步的,后台统计服务器800统计日志文件中的样本指标。可以进行每日的数据统计,也可以进行实时数据统计。后台统计服务器800统计的样本指标可存储在数据库300中。
进一步的,后台配置终端100获取数据库300中存储的样本指标,进行样本指标评估,生成指标评估区间。具体的,假设获取的样本指标为M,对于Web应用系统为搜索引擎的应用场景下,M可以是广告点击率等。表示基准实验(a实验)的样本均值,表示变量变化的实验(b实验)对应的样本均值。本实施例中,指标评估模块40用于评估即b实验的样本均值相对于a实验的样本均值的相对变化率的均值。
具体的,假设X、Y是两个正态分布的随机变量(X、Y分别表示a实验和b实验的平均点击率),Y~N(μ2,σ2),令:
X=μ1+ξ,Y=μ2
其中,ξ,η是均值为0、方差分别为的随机误差,ξ和η的相关系数是ρ。则有:
其中,E(R)是我们要评估的对象。
用Taylor级数展开R,得到:
如果随机变量X的变异系数比较小(这一点在web应用中基本满足),则也比较小,从而展开式中的高阶项可以忽略,得到的近似结果如下:
于是,
依照大数定律,则有:
用样本方差Var(R)近似σR,可以得到区间估计结果为:
其中,R是随机变量,表示b实验相对于a实验的平均点击率变化率。E(R)是点击率变化率的均值,Var(R)是点击率变化率的方差,Z是正态分布的分位数,n为样本量。
在一个实施例中,对于一个新的实验策略,例如将字体颜色显示为红色的实验策略。该实验策略从验证到上线到整个Web应用系统中称为一个策略的生命周期。如图7所示,对实验策略进行验证到版本发布的方法流程包括:
步骤S702,创建小流量实验,得到指标评估区间。所得到的指标评估区间记为得到的实验数据。
步骤S704,判断是否可以灰度发布,若是,则进入步骤S706,否则结束。
具体的,根据该指标评估区间判断是否可以进行灰度发布。通常,得到的指标评估区间是正向的,则实验策略倾向于发布。比如,对于一个涉及搜索引擎的一个新实验策略,生成的广告点击率相对于现有版本的相对变化率区间估计是[5.64%,7.23%],则这个实验策略倾向于发布。如果区间估计包含0,比如为[-3.23%,4.35%],则该实验策略倾向于不发布。
步骤S706,创建灰度发布实验,进行流量的灰度发布。
步骤S708,灰度发布到100%流量。
当判定可以进行灰度发布时,则创建灰度发布实验,并控制灰度发布实验的流量,逐步将灰度发布到100%流量。
步骤S710,判断是否可以版本发布,若是,则进入步骤S712,否则结束。
步骤S712,进行版本发布,Web应用系统版本更新。
对于灰度发布实验,可统计的对应的线上指标。线上指标可以为涉及整个系统稳定性的指标,例如灰度发布后Web应用服务器的剩余计算能力、业务指标是否稳定等。当灰度发布到100%流量后,线上指标都显示为正常,则可进行版本发布,即可将新实验策略覆盖到整个Web应用系统,实现版本的更新。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种灰度实验系统,其特征在于,所述系统包括:
信息输入模块,用于通过预设的用户界面获取输入的实验创建请求;
数据处理模块,包括用于根据所述实验创建请求生成配置文件的配置文件生成模块和用于将所述配置文件同步至Web应用系统的数据同步模块;
数据统计模块,用于根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标;
指标评估模块,用于计算所述第一关键指标与第二关键指标的变化率的均值,根据所述均值生成指标评估区间。
2.根据权利要求1所述的灰度实验系统,其特征在于,所述指标评估模块所生成的指标评估区间为:
[ E ( R ) - z α / 2 V a r ( R ) n , E ( R ) + z α / 2 V a r ( R ) n ]
其中,E(R)为第一关键指标与第二关键指标的变化率的均值,Var(R)是所述变化率的方差,z是正态分布的分位数,n为样本量。
3.根据权利要求1或2所述的灰度实验系统,其特征在于,所述配置文件中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。
4.根据权利要求3所述的灰度实验系统,其特征在于,所述系统还包括:
流量染色模块,用于根据所述配置文件中的抽样方式进行抽样,对抽取的Web应用请求分配实验号;
参数配置模块,用于获取Web应用请求,根据所述Web应用请求所对应的实验号动态配置预设的参数。
5.根据权利要求4所述的灰度实验系统,其特征在于,所述抽样方式包括用户抽样和随机抽样,所述用户抽样和随机抽样分别对应不同的优先级,且,所述用户抽样的优先级高于所述随机抽样的优先级;
所述流量染色模块用于先进行用户抽样,再在未命中实验的区间进行随机抽样。
6.根据权利要求5所述的灰度实验系统,其特征在于,所述流量染色模块用于进行用户抽样的抽样比例的计算公式为:Pa'=Pa,其中,Pa为设定的用户抽样比例;所述流量染色模块用于进行随机抽样的抽样比例的计算公式为:其中,Pb为设定的随机抽样比例,为所有的用户抽样的抽样比例之和,α为预设的cookie覆盖率。
7.根据权利要求3所述的灰度实验系统,其特征在于,所述数据处理模块还包括:流量控制模块,用于接收所述实验创建请求,根据所述实验创建请求中的抽样比例判断请求创建的实验是否有足够流量,若没有,则生成实验创建失败的结果,否则,生成实验创建成功的结果。
8.根据权利要求1所述的灰度实验系统,其特征在于,所述实验创建请求包括小流量实验创建请求和灰度发布实验创建请求;所述信息输入模块还用于判断所述指标评估区间是否在预设范围内,若是,则通过预设的用户界面获取输入的灰度发布实验创建请求;所述数据统计模块还用于根据所述灰度发布实验创建请求统计对应的线上指标。
9.一种灰度实验方法,包括以下步骤:
通过预设的用户界面获取输入的实验创建请求;
根据所述实验创建请求生成配置文件,并将所述配置文件同步至Web应用系统;
根据预设的维度统计对应的样本指标,所述样本指标包括基准实验对应的第一关键指标和变量变化的实验对应的第二关键指标;
计算所述第一关键指标与第二关键指标的变化率的均值,根据所述均值生成指标评估区间。
10.根据权利要求9所述的灰度实验方法,其特征在于,生成的所述指标评估区间为:
[ E ( R ) - z α / 2 V a r ( R ) n , E ( R ) + z α / 2 V a r ( R ) n ]
其中,E(R)为第一关键指标与第二关键指标的变化率的均值,Var(R)是所述变化率的方差,z是正态分布的分位数,n为样本量。
11.根据权利要求9或10所述的灰度实验方法,其特征在于,所述配置文件中包括实验类型、抽样方式、抽样比例、实验的起止时间和流量来源中的至少一种。
12.根据权利要求11所述的灰度实验方法,其特征在于,所述方法还包括:
根据所述配置文件中的抽样方式进行抽样,对抽取的Web应用请求分配实验号;
获取Web应用请求,根据所述Web应用请求所对应的实验号动态配置预设的参数。
13.根据权利要求12所述的灰度实验方法,其特征在于,所述抽样方式包括用户抽样和随机抽样,所述用户抽样和随机抽样分别对应不同的优先级,且,所述用户抽样的优先级高于所述随机抽样的优先级;
所述根据所述配置文件中的抽样方式进行抽样的步骤为:先进行用户抽样,再在未命中实验的区间进行随机抽样。
14.根据权利要求13所述的灰度实验方法,其特征在于,进行用户抽样的抽样比例的计算公式为:Pa'=Pa,其中,Pa为设定的用户抽样比例;进行随机抽样的抽样比例的计算公式为:其中,Pb为设定的随机抽样比例,为所有的用户抽样的抽样比例之和,α为预设的cookie覆盖率。
15.根据权利要求11所述的灰度实验方法,其特征在于,所述方法还包括:
接收所述实验创建请求,根据所述实验创建请求中的抽样比例判断请求创建的实验是否有足够流量,若没有,则生成实验创建失败的结果,否则,生成实验创建成功的结果。
16.根据权利要求9所述的灰度实验方法,其特征在于,所述实验创建请求包括小流量实验创建请求和灰度发布实验创建请求;所述方法还包括:
判断所述指标评估区间是否在预设范围内,若是,则通过预设的用户界面获取输入的灰度发布实验创建请求,并控制灰度发布实验的流量,逐步将灰度发布到100%流量,以及根据所述灰度发布实验创建请求统计对应的线上指标,根据所述线上指标判断是否可以版本发布,若是,则进行版本发布。
CN201210251037.2A 2012-07-19 2012-07-19 灰度实验系统和方法 Active CN103577660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210251037.2A CN103577660B (zh) 2012-07-19 2012-07-19 灰度实验系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210251037.2A CN103577660B (zh) 2012-07-19 2012-07-19 灰度实验系统和方法

Publications (2)

Publication Number Publication Date
CN103577660A CN103577660A (zh) 2014-02-12
CN103577660B true CN103577660B (zh) 2017-05-31

Family

ID=50049428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210251037.2A Active CN103577660B (zh) 2012-07-19 2012-07-19 灰度实验系统和方法

Country Status (1)

Country Link
CN (1) CN103577660B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335204A (zh) * 2014-07-29 2016-02-17 株式会社日立制作所 软件程序的灰度发布控制方法和灰度发布控制装置
CN104881734A (zh) * 2015-05-11 2015-09-02 广东小天才科技有限公司 一种基于灰度发布引导产品改进的方法、装置及系统
CN109391655B (zh) * 2017-08-09 2021-09-24 腾讯科技(深圳)有限公司 服务灰度发布方法、装置、系统及存储介质
CN110727590B (zh) * 2019-10-10 2023-04-18 北京字节跳动网络技术有限公司 异常试验方案的确定方法、设备及计算机可读存储介质
CN112286549A (zh) * 2020-10-20 2021-01-29 北京三快在线科技有限公司 一种灰度发布方法
CN112269591A (zh) * 2020-11-11 2021-01-26 北京凌云雀科技有限公司 版本发布方法、装置、设备及存储介质
CN113312257B (zh) * 2021-05-24 2023-09-22 深圳市中科明望通信软件有限公司 版本识别方法、装置、存储介质及计算机设备
CN115499317B (zh) * 2022-11-15 2023-04-07 阿里云计算有限公司 灰度验证方法、电子设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821764A (zh) * 2007-10-12 2010-09-01 微软公司 自动操纵web文档集合
US7856434B2 (en) * 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
US8160909B2 (en) * 2007-02-06 2012-04-17 Digital River, Inc. Site optimizer
CN102497454A (zh) * 2011-12-31 2012-06-13 北京新媒传信科技有限公司 一种在应用服务平台系统中对应用进行灰度发布的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8768770B2 (en) * 2010-08-30 2014-07-01 Lucid Commerce, Inc. System and method for attributing multi-channel conversion events and subsequent activity to multi-channel media sources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160909B2 (en) * 2007-02-06 2012-04-17 Digital River, Inc. Site optimizer
CN101821764A (zh) * 2007-10-12 2010-09-01 微软公司 自动操纵web文档集合
US7856434B2 (en) * 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
CN102497454A (zh) * 2011-12-31 2012-06-13 北京新媒传信科技有限公司 一种在应用服务平台系统中对应用进行灰度发布的方法

Also Published As

Publication number Publication date
CN103577660A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
CN103577660B (zh) 灰度实验系统和方法
US10248528B2 (en) System monitoring method and apparatus
CN111614690B (zh) 一种异常行为检测方法及装置
CN105095588B (zh) 移动互联网用户投诉的预测方法和装置
CN110727662A (zh) 基于相关性分析的低压台区用户相位识别方法和系统
CN105657003B (zh) 一种信息处理方法和服务器
CN106570778A (zh) 一种基于大数据的数据集成与线损分析计算的方法
CN103796183B (zh) 一种垃圾短信识别方法及装置
CN107122669A (zh) 一种评估数据泄露风险的方法和装置
CN113762525B (zh) 一种具有差分隐私保护的联邦学习模型训练方法
CN106600007A (zh) 活动质量评估方法及装置
CN116014709A (zh) 一种台区线损分析方法、系统、电子设备及存储介质
CN104883705B (zh) 一种数据业务投诉的问题定位方法及装置
CN106656603A (zh) 一种基于多参数区间数多属性决策的云服务信任评估方法
CN116385045A (zh) 一种用于收寄附加服务的数据处理方法、装置和设备
CN114285896B (zh) 信息推送方法、装置、设备、存储介质及程序产品
CN106815772A (zh) 电力数据上报方法及装置
CN112882758B (zh) 一种iOS设备标识符的生成方法及系统
CN113901092A (zh) 一种用于赛场运行监测的文件管理方法及系统
CN106779400A (zh) 用户电量指数对比与分析的方法
CN112614005A (zh) 企业复工状态的处理方法和装置
CN111507397A (zh) 一种异常数据的分析方法及装置
CN106559225A (zh) 数据校准的方法与装置
CN110232517A (zh) 一种移动群智感知用户收益选取方法
CN116308536B (zh) 一种广告流量数据采集分析系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant