掌桥专利:专业的专利平台
掌桥专利
首页

基于AB测试的自适应灰度功能发布方法和装置

文献发布时间:2023-06-19 09:27:35


基于AB测试的自适应灰度功能发布方法和装置

技术领域

本发明涉及分布式技术领域,尤其涉及一种基于AB测试的自适应灰度功能发布方法和装置。

背景技术

在项目持续集成的开发模式背景下,尤其是当前业界分布式服务越来越多,在不同节点中同一个应用同一功能出现A/B测试多种灰度功能场景已经越来越普遍,尤其是细粒度的功能也存在多场景的灰度功能。由于业务场景越来越复杂,在项目发布迭代一段时间后,需要在大量ABTEST灰度功能上线后,人工介入灰度最优功能发布,借助数据分析后干预灰度功能的发布和回滚,导致人工参与判断操作的工作量大大增加,产品迭代效率变差,流量转换效率低。

发明内容

针对现有技术中的问题,本发明提供一种基于AB测试的自适应灰度功能发布方法和装置、电子设备以及计算机可读存储介质,能够至少部分地解决现有技术中存在的问题。

为了实现上述目的,本发明采用如下技术方案:

第一方面,提供一种基于AB测试的自适应灰度功能发布方法,包括:

获取各业务节点的SDK埋点发送的灰度功能埋点日志以及各前端节点的SDK埋点发送的前端埋点日志;

基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志;

根据日志分析结果进行灰度功能发布。

进一步地,所述预设AB测试策略包括:交易参数计算方式以及参数期望值;

所述基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志,包括:

基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

对所述交易参数值以及所述参数期望值进行比较得到日志分析结果。

进一步地,所述预设AB测试策略包括:交易参数计算方式、参数期望值、期望U值以及灰度发布时间节点要求;

所述基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志,包括:

基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

根据所述灰度功能埋点日志以及所述前端埋点日志判断是否满足灰度发布时间节点要求;

若是,基于U检验法,根据所述交易参数值以及所述参数期望值得到显著性水平U值;

对所述显著性水平U值以及所述期望U值进行比较得到日志分析结果。

进一步地,所述交易参数包括:平均值、方差和/或样本数量。

进一步地,基于AB测试的自适应灰度功能发布方法还包括:

筛选并列备选的几种灰度功能对应的业务节点的显著性水平U值的最高值;

将最高值对应的灰度功能作为最佳灰度策略进行发布。

进一步地,所述预设AB测试策略包括:启动各灰度功能的业务节点标识;

所述方法还包括:

根据所述业务节点标识控制对应的业务节点启动对应的灰度功能。

进一步地,所述基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志之前,还包括:

对所述灰度功能埋点日志以及所述前端埋点日志进行预处理。

进一步地,所述对所述灰度功能埋点日志以及所述前端埋点日志进行预处理,包括:

利用kafka收集所述灰度功能埋点日志以及所述前端埋点日志;

对所述灰度功能埋点日志以及所述前端埋点日志进行效能数据提取得到交易关键度量数据,以作为日志分析的基础数据。

进一步地,所述灰度功能埋点日志包括:后台交易数据;所述前端埋点日志包括:交易实例跟踪标识。

进一步地,所述根据日志分析结果进行灰度功能发布,包括:

判断所述日志分析结果是否为满足预设AB测试策略的要求;

若是,发布该灰度功能;

若否,控制启动该灰度功能的业务节点进行功能回滚。

第二方面,提供一种基于AB测试的自适应灰度功能发布装置,包括:

日志获取模块,获取各业务节点的SDK埋点发送的灰度功能埋点日志以及各前端节点的SDK埋点发送的前端埋点日志;

日志分析模块,基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志;

灰度功能发布控制模块,根据日志分析结果进行灰度功能发布。

进一步地,所述预设AB测试策略包括:交易参数计算方式以及参数期望值;

所述日志分析模块包括:

参数计算单元,基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

参数比较分析单元,对所述交易参数值以及所述参数期望值进行比较得到日志分析结果。

进一步地,所述预设AB测试策略包括:交易参数计算方式、参数期望值、期望U值以及灰度发布时间节点要求;

所述日志分析模块包括:

参数计算单元,基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

时间判断单元,根据所述灰度功能埋点日志以及所述前端埋点日志判断是否满足灰度发布时间节点要求;

U检验单元,若满足灰度发布时间节点要求,基于U检验法,根据所述交易参数值以及所述参数期望值得到显著性水平U值;

U值比较分析单元,对所述显著性水平U值以及所述期望U值进行比较得到日志分析结果。

进一步地,所述交易参数包括:平均值、方差和/或样本数量。

进一步地,基于AB测试的自适应灰度功能发布装置还包括:

最高值筛选模块,筛选并列备选的几种灰度功能对应的业务节点的显著性水平U值的最高值;

最优灰度发布模块,将最高值对应的灰度功能作为最佳灰度策略进行发布。

进一步地,所述预设AB测试策略包括:启动各灰度功能的业务节点标识;

所述基于AB测试的自适应灰度功能发布装置还包括:

启动控制模块,根据所述业务节点标识控制对应的业务节点启动对应的灰度功能。

进一步地,基于AB测试的自适应灰度功能发布装置还包括:

日志数据预处理模块,对所述灰度功能埋点日志以及所述前端埋点日志进行预处理。

进一步地,所述日志数据预处理模块包括:

日志收集单元,利用kafka收集所述灰度功能埋点日志以及所述前端埋点日志;

数据提取单元,对所述灰度功能埋点日志以及所述前端埋点日志进行效能数据提取得到交易关键度量数据,以作为日志分析的基础数据。

进一步地,所述灰度功能埋点日志包括:后台交易数据;所述前端埋点日志包括:交易实例跟踪标识。

进一步地,所述灰度功能发布控制模块包括:

结果判断单元,判断所述日志分析结果是否为满足预设AB测试策略的要求;

灰度功能发布单元,若满足预设AB测试策略的要求,发布该灰度功能;

功能回滚单元,若不满足预设AB测试策略的要求,控制启动该灰度功能的业务节点进行功能回滚。

第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于AB测试的自适应灰度功能发布方法的步骤。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于AB测试的自适应灰度功能发布方法的步骤。

本发明提供的基于AB测试的自适应灰度功能发布方法和装置,该方法包括:获取各业务节点的SDK埋点发送的灰度功能埋点日志以及各前端节点的SDK埋点发送的前端埋点日志;基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志;根据日志分析结果进行灰度功能发布,通过采用上述技术方案,能够针对灰度功能,自适应的选取最优策略的灰度功能并正式发布,可支持按场景功能级别,通过业务埋点,采集链路灰度功能的交易数据,根据同一功能级别的ABTEST数据,结合预设AB测试策略,计算匹配最优权重结果,并通过配置中心推送各节点实时发布最优策略,完成自动正式发布的灰度功能的目的。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为实施本发明实施例中的基于AB测试的自适应灰度功能发布方法的系统架构示意图;

图2是本发明实施例中的基于AB测试的自适应灰度功能发布方法的流程示意图一;

图3示出了本发明实施例中步骤S200的一种具体步骤;

图4示出了本发明实施例中步骤S200的另一种具体步骤;

图5是本发明实施例中的基于AB测试的自适应灰度功能发布方法的流程示意图二;

图6是本发明实施例中的基于AB测试的自适应灰度功能发布方法的流程示意图三;

图7示出了本发明实施例中的步骤S500的具体步骤;

图8示出了本发明实施例中的步骤S300的具体步骤;

图9给出了本发明实施例中的日志数据处理过程的流程;

图10是本发明实施例中的基于AB测试的自适应灰度功能发布装置的结构框图一;

图11示出了本发明实施例中的日志分析模块的一种结构框图;

图12示出了本发明实施例中的日志分析模块的另一种结构框图;

图13是本发明实施例中的基于AB测试的自适应灰度功能发布装置的结构框图二;

图14是本发明实施例中的基于AB测试的自适应灰度功能发布装置的结构框图三;

图15示出了本发明实施例中的日志数据预处理模块的结构框图;

图16示出了本发明实施例中的灰度功能发布控制模块的结构框图;

图17为本发明实施例电子设备的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

由于业务场景越来越复杂,在项目发布迭代一段时间后,需要在大量ABTEST灰度功能上线后,人工介入灰度最优功能发布(人工根据数据反馈进行报表分析,根据分析结果调整发布策略),借助数据分析后干预灰度功能的发布和回滚,导致人工参与判断操作的工作量大大增加,研发周期长。产品迭代效率变差,流量转换效率低,应用侧在AB灰度功能上线的同时,需要大量关注的数据分析,数据效果工作,尤其是细粒度AB测试和数据量达到一定数量级的情况下,分析工作量大大增加。

为至少部分解决上述技术问题,本发明实施例提供了一种基于AB测试的自适应灰度功能发布方法,能够针对灰度功能,自适应的选取最优策略的灰度功能并正式发布,可支持按场景功能级别,通过业务埋点,采集链路灰度功能的交易数据,根据同一功能级别的ABTEST数据,结合预设AB测试策略,计算匹配最优权重结果,并通过配置中心推送各节点实时发布最优策略,完成自动正式发布的灰度功能的目的。

值得说明的是,在项目持续集成的开发模式背景,APP等应用需要持续不断地进行功能更新,比如当前启用的是B方案,针对B方案研发了替换B方案的A方案,但是不知道A方案的市场效果,那么,在A方案上线后,选择APP的部分用户启用A方案,进行试用,而后根据试用用户的数据分析A方案的功能是否满足预设要求,若是,则全面启用A方案,若否,则将试用用户的方案回滚至B方案,全面沿用B方案。

图1为实施本发明实施例中的基于AB测试的自适应灰度功能发布方法的系统架构示意图;如图1所示,基于AB测试的自适应灰度功能发布服务器可以包括策略平台以及数据平台,配置管理员在策略平台上配置AB测试策略,AB测试策略可以包括:需要启动灰度功能的业务节点标识或ID、日志数据处理时的计算公式以及阈值等,其中,可包括多种灰度功能,AB测试策略中针对各灰度功能可以启用不同的业务节点等。策略平台的策略配置管理模块根据AB测试策略中的需要启动灰度功能的业务节点标识或ID,控制各对应的业务系统(即业务节点)启用对应的灰度功能;值得说明的是,每个业务系统中均包括A方案(对应灰度功能)和B方案(对应原功能),只需要根据需要进行启用控制即可。

另外,控制各对应的业务系统(即业务节点,也可以称为试验节点)启用对应的灰度功能可以有两种方式,一种是向对应的业务系统发送启用灰度功能的控制命令,比如A1业务节点需要启动B1和B2灰度功能,A3节点需要启动B3灰度功能,则向A1节点发送启动B1和B2灰度功能的指示,向A3节点发送启动B3灰度功能的指示;另一种是向所有业务系统发送启用控制命令,启用控制命令中包括启用节点及其对应的灰度功能,各业务系统根据启用控制命令控制本节点是否启用灰度功能,启用哪种灰度功能,参加上例,启用控制命令包括A1业务节点需要启动B1和B2灰度功能、A3节点需要启动B3灰度功能的信息,启用控制命令发送至A1至A3节点后,A1根据启用控制命令启动B1和B2灰度功能;A2根据启用控制命令不启用灰度功能,A3根据启用控制命令启动B3灰度功能。

再者,业务系统通过业务系统SDK埋点获取策略平台的指示。

应用侧用户(即人员2)通过点击前端上的页面请求,触发页面效果;前端请求上送到业务系统;业务系统执行灰度功能,将数据返回给前端,业务系统SDK埋点将灰度功能埋点日志发送至数据平台的埋点系统,前端的前端SDK埋点将前端埋点日志发送至数据平台的埋点系统;数据平台的埋点系统对数据进行收集和预处理,比如定时整理数据后,将数据发送至策略平台的策略计算模块,策略平台基于预设AB测试策略将该场景下的灰度功能的日志数据汇总计算后,将分析结果发送给策略配置管理模块,策略配置管理模块下发最新的优化策略到各节点,启用最新策略或回滚,形成策略优化和灰度功能发布闭环。

其中,策略平台为核心模块,主要包含两个部分:策略配置管理模块和策略计算模块。

策略配置管理模块主要通过Apollo负责配置管理、配置推送。管理员用户可以在策略平台上完成待灰度场景的初始化配置,包括应用、场景、策略门禁、场景和策略关系等初始化的配置、策略优化后的配置下发到各个业务节点上实施功能发布。策略平台实验发布后,仅需待业务埋点数据上送,反馈数据平台,无需人工再介入策略平台配置修改或推送发布策略。

数据平台模块主要实现SDK数据的收集、清洗、推送,主要通过kafka收集前端和业务节点上送的数据,通过Flink计算并产出效能数据,存入Druid作为交易关键度量数据并通知提供策略计算模块。

策略计算模块主要负责通过交易数据(或称日志数据)的分类、分析和计算并得出最佳实验数据。

可以理解的是,所述前端可以包括智能手机、平板电子设备、便携式计算机、台式电脑等。

所述服务器与所述前端或业务系统之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。

为了使本领域技术人员更好地理解本发明,下面结合图2至图17对本发明的具体实施过程进行详细说明:

图2是本发明实施例中的基于AB测试的自适应灰度功能发布方法的流程示意图一;如图2所示,该基于AB测试的自适应灰度功能发布方法可以包括以下内容:

步骤S100:获取各业务节点的SDK埋点发送的灰度功能埋点日志以及各前端节点的SDK埋点发送的前端埋点日志;

其中,灰度功能埋点日志包括:后台交易数据;所述前端埋点日志包括:交易实例跟踪标识。

举例来说,用户点击页面后产生一个traceId(跟踪标识),用于标识某一个功能场景下的交易实例的ID。

前端SDK埋点和业务节点的SDK埋点主要实现实验数据上送和实验配置的接收。SDK可以实现根据具体实验场景实现实验用户分流的标注,策略平台将实验配置的进行动态定向分发。另外基于前端埋点标识,SDK生成包括traceId和abRsult(请求结果数据)等追踪标识,用与上送数据平台和业务系统的透传功能,作为策略分析平台的统计指标。

步骤S200:基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志;

其中,通过分析灰度功能埋点日志以及所述前端埋点日志得到灰度功能的效果。

预设AB测试策略为测试管理员预先基于测试需求设置的,具体包括:1.交易参数计算方式以及参数期望值,或者,2.交易参数计算方式、参数期望值、期望U值以及灰度发布时间节点要求,以及,启动各灰度功能的业务节点标识等。

步骤S300:根据日志分析结果进行灰度功能发布。

通过采用上述技术方案,能够针对灰度功能,自适应的选取最优策略的灰度功能并正式发布,可支持按场景功能级别,通过业务埋点,采集链路灰度功能的交易数据,根据同一功能级别的ABTEST数据,结合预设AB测试策略,计算匹配最优权重结果,并通过配置中心推送各节点实时发布最优策略,完成自动正式发布的灰度功能的目的。

值得说明的是,本发明提供的基于AB测试的自适应灰度功能发布方法,适于多节点、多场景AB测试功能发布和回滚,能够自动筛选最优策略并付诸发布,避免误发布转化率低于设置的期望值的策略,自动化完成发布或回滚策略,从而加速业务迭代开发节奏,强化运维和生产的自动化能力。

在一个可选的实施例中,参见图3,该步骤S200可以包括以下内容:

步骤S210:基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

其中,交易参数包括:平均值、方差和/或样本数量等。

步骤S220:对所述交易参数值以及所述参数期望值进行比较得到日志分析结果。

具体地,当交易参数值满足参数期望值要求时,认为灰度功能效果满足要求,可以上线,否则,不能上线。

通过采用上述技术方案,客观合理地自动评价灰度功能的效果,实现自动化的灰度策略筛选。

在另一个可选的实施例中,参见图4,该步骤S200可以包括以下内容:

步骤S210’:基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

其中,交易参数包括:平均值、方差和/或样本数量等。

步骤S220’:根据所述灰度功能埋点日志以及所述前端埋点日志判断是否满足灰度发布时间节点要求;

具体地,日志中会包含日志发生时间,判断日志发生时间是否满足灰度发布时间节点要求,不满足时间要求即保持原策略,继续收集数据。

若是,执行步骤S230’;若否,返回步骤步骤S210’。

步骤S230’:基于U检验法,根据所述交易参数值以及所述参数期望值得到显著性水平U值;

由于AB测试原理上同抽样实验一致,策略最优的情况通常反映在用户表现上,在设计期望值时不仅需要根据阈值和日志数据,还通过采用U校验法,计算目标统计量,使用统计学的假设检验方法科学地判断多实验场景下实验对比数据。

步骤S240’:对所述显著性水平U值以及所述期望U值进行比较得到日志分析结果。

其中,通过判断统计量(即显著性水平U值)与期望U值完成最优场景的筛选和发布。

通过采用上述技术方案,能够使用统计学的假设检验方法科学地判断多实验场景下实验对比数据,提高筛选策略的精确度,能够更准确地得到最优策略。

在一个可选的实施例中,该基于AB测试的自适应灰度功能发布方法还可以包括:

筛选并列备选的几种灰度功能对应的业务节点的显著性水平U值的最高值;

将最高值对应的灰度功能作为最佳灰度策略进行发布。

值得说明的是,每次进行AB测试时,对于同一场景可能涉及多个灰度功能同时进行测试,以便筛选最优的灰度功能,此时,需要选取显著性水平U值的最高值所对应的灰度功能作为最终上线的灰度功能。

举例来说,现有页面上有一个黑色的按钮,根据用户反馈或设计需求,黑色按钮的可视性不理性,不能引起用户的注意,可将黑色的按钮改成红色或黄色或绿色三种颜色,这三种颜色的按钮就是对应的三种灰度功能,但是不知道这三种颜色的市场效果如何,此时,在用户中选择一部分进行试用试验,选择APP的部分用户(根据业务节点进行选择控制)使用红色的按钮,部分用户使用黄色的按钮,部分用户使用绿色的按钮,还有部分用户不启用灰度功能,而是沿用原来的黑色按钮,而后,通过分析三种灰度功能的用户数据,选择最优的灰度功能进行发布,如果三种灰度功能的效果都不理想,则进行回滚设置,将试验用户的按钮回滚至沿用黑色按钮。

在一个可选的实施例中,参见图5,该基于AB测试的自适应灰度功能发布方法还可以包括:

步骤S400:根据所述业务节点标识控制对应的业务节点启动对应的灰度功能。

通过采用上述技术方案,自动控制业务节点进行AB测试,进一步提高自动化水平。

在一个可选的实施例中,参见图6,该基于AB测试的自适应灰度功能发布方法还可以包括:

步骤S500:对所述灰度功能埋点日志以及所述前端埋点日志进行预处理。

具体地,参见图7,该步骤S500可以包括:

步骤S510:利用kafka收集所述灰度功能埋点日志以及所述前端埋点日志;

步骤S520:对所述灰度功能埋点日志以及所述前端埋点日志进行效能数据提取得到交易关键度量数据,以作为日志分析的基础数据。

在一个可选的实施例中,参见图8,该步骤S300可以包括以下内容:

步骤S310:所述日志分析结果是否为满足预设AB测试策略的要求;

若是,执行步骤S320;若否,执行步骤S330。

步骤S320:发布该灰度功能;

具体地,控制没有执行该灰度功能的节点执行该灰度功能,可通过向业务节点发送控制指令的方式实现。

步骤S330:控制启动该灰度功能的业务节点进行功能回滚。

具体地,通过向启动该灰度功能的业务节点发送回滚指令,实现功能恢复。

为了使本领域技术人员更好地理解本发明,图9给出了本发明实施例中的日志数据处理过程的流程,如图9所示,该处理过程包括:

步骤1:获取数据平台交易数据;

具体地,策略平台从Druid获取交易结果数据。

步骤2:度量指标统计获取;

具体地,通过计算平均值,方差,样本数量等统计量汇总交易结果数据。

步骤3:是否满足度量时间条件要求;

具体地,判断该灰度功能发布条件是否已满足灰度发布时间节点要求。

若是,执行步骤5,若否,执行步骤4。

步骤4:策略保持不变;

步骤5:Z检验法计算所有历史数据统计量;

具体地,将度量数据和场景期望值数据做U校验法,产出显著性水平U值。

步骤6:是否满足期望显著;

具体地,判断显著性水平U值是否满足期望显著。

若是,执行步骤8,若否,执行步骤7。

步骤7:回滚该节点策略。

步骤8:筛选MAX(统计量)场景的策略;

步骤9:推送最佳策略。

基于同一发明构思,本申请实施例还提供了一种基于AB测试的自适应灰度功能发布装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于基于AB测试的自适应灰度功能发布装置解决问题的原理与上述方法相似,因此基于AB测试的自适应灰度功能发布装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图10是本发明实施例中的基于AB测试的自适应灰度功能发布装置的结构框图一。如图10所示,该基于AB测试的自适应灰度功能发布装置包括:日志获取模块10、日志分析模块20以及灰度功能发布控制模块30。

日志获取模块10获取各业务节点的SDK埋点发送的灰度功能埋点日志以及各前端节点的SDK埋点发送的前端埋点日志;

日志分析模块20基于预设AB测试策略分析所述灰度功能埋点日志以及所述前端埋点日志;

灰度功能发布控制模块30根据日志分析结果进行灰度功能发布。

通过采用上述技术方案,能够针对灰度功能,自适应的选取最优策略的灰度功能并正式发布,可支持按场景功能级别,通过业务埋点,采集链路灰度功能的交易数据,根据同一功能级别的ABTEST数据,结合预设AB测试策略,计算匹配最优权重结果,并通过配置中心推送各节点实时发布最优策略,完成自动正式发布的灰度功能的目的。

在一个可选的实施例中,预设AB测试策略包括:交易参数计算方式以及参数期望值;参见图11,该日志分析模块可以包括:参数计算单元21以及参数比较分析单元22。

参数计算单元21基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

参数比较分析单元22对所述交易参数值以及所述参数期望值进行比较得到日志分析结果。

在另一个可选的实施例中,该预设AB测试策略包括:交易参数计算方式、参数期望值、期望U值以及灰度发布时间节点要求,参见图12,该日志分析模块包括:参数计算单元21’、时间判断单元22’、U检验单元23’以及U值比较分析单元24’。

参数计算单元21’基于所述交易参数计算方式汇总统计所述灰度功能埋点日志以及所述前端埋点日志得到交易参数值;

时间判断单元22’根据所述灰度功能埋点日志以及所述前端埋点日志判断是否满足灰度发布时间节点要求;

U检验单元23’若满足灰度发布时间节点要求,基于U检验法,根据所述交易参数值以及所述参数期望值得到显著性水平U值;

U值比较分析单元24’对所述显著性水平U值以及所述期望U值进行比较得到日志分析结果。

值得说明的是,交易参数包括:平均值、方差和/或样本数量。

在一个可选的实施例中,该基于AB测试的自适应灰度功能发布装置还可以包括:最高值筛选模块以及最优灰度发布模块。

最高值筛选模块,筛选并列备选的几种灰度功能对应的业务节点的显著性水平U值的最高值;

最优灰度发布模块,将最高值对应的灰度功能作为最佳灰度策略进行发布。

在一个可选的实施例中,预设AB测试策略包括:启动各灰度功能的业务节点标识;参见图13,该基于AB测试的自适应灰度功能发布装置还包括:启动控制模块40。

启动控制模块40根据所述业务节点标识控制对应的业务节点启动对应的灰度功能。

在一个可选的实施例中,参见图14,该基于AB测试的自适应灰度功能发布装置还包括:日志数据预处理模块50。

日志数据预处理模块50对所述灰度功能埋点日志以及所述前端埋点日志进行预处理。

在一个可选的实施例中,参见图15,该日志数据预处理模块包括:日志收集单元51以及数据提取单元52。

日志收集单元51利用kafka收集所述灰度功能埋点日志以及所述前端埋点日志;

数据提取单元52对所述灰度功能埋点日志以及所述前端埋点日志进行效能数据提取得到交易关键度量数据,以作为日志分析的基础数据。

值得说明的是,上述灰度功能埋点日志包括:后台交易数据;所述前端埋点日志包括:交易实例跟踪标识。

在一个可选的实施例中,参见图16,该灰度功能发布控制模块包括:结果判断单元31、灰度功能发布单元32以及功能回滚单元33。

结果判断单元31判断所述日志分析结果是否为满足预设AB测试策略的要求;

灰度功能发布单元32若满足预设AB测试策略的要求,发布该灰度功能;

功能回滚单元33若不满足预设AB测试策略的要求,控制启动该灰度功能的业务节点进行功能回滚。

上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于AB测试的自适应灰度功能发布方法的步骤。

下面参考图17,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。

如图17所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于AB测试的自适应灰度功能发布方法的步骤。

在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 基于AB测试的自适应灰度功能发布方法和装置
  • 基于灰度数据库的产品灰度发布方法、装置、设备和介质
技术分类

06120112174928