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

一种数据处理的方法以及相关装置

文献发布时间:2023-06-19 09:29:07


一种数据处理的方法以及相关装置

技术领域

本申请涉及计算机技术领域,尤其涉及一种数据处理的方法以及相关装置。

背景技术

对于终端应用程序(application,APP)产品设计和运营的时候,实验人员会有很多直觉想法,猜想某些设计和策略可能会更好,更符合用户需求。但是如何验证猜想,需要用数据来加以证明。一般可利用AB测试来发现不同策略在实验组人群中指标的差异以及衡量这些差异是否有统计上的显著性。例如,在微信的AB测试系统里有上千个指标,如何方便地配置和计算这些指标,对这些指标运用适合的统计检验方法成为一个难题。

通常在AB测试中,指标分析系统往往需要实验人员在实验中配置相关的结构化查询语言(structured query language,SQL)以进行分析数据,一般对于某一指标会进行多个维度的计算,此时每个维度都会对应一条数据处理指令,然后根据写入的数据处理指令计算得到各指标的情况。

由于在AB测试中,为保证测试的准确性,一般采用多指标多维度的分析,即需要为相关指标配置海量的数据处理指令以满足测试需求,采用每个维度对应一条数据处理指令会产生大量的配置工作,大大影响测试的效率。

发明内容

有鉴于此,本申请第一方面提供一种数据处理的方法,可应用于AB测试的系统或程序过程中,具体包括:获取预设时间段内用于确定目标对象的指标的数据和待确定的指标类型;根据预设规则配置所述待确定的指标类型所对应的数据处理指令,所述数据处理指令包括业务相关部分和处理方式部分,所述处理方式部分用于包含多种计算方式或多种聚合方式;根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算,以确定所述指标类型所指示的所述目标对象的指标。

优选的,在本申请一些可能的实现方式中,所述获取预设时间段内用于确定目标对象的指标的数据,包括:获取预设时间段内来自A个数据源的业务数据;根据业务类型对所述业务数据进行分类,以得到B组分类数据,A≤B,A和B为大于或等于1的整数;根据所述B组分类数据选择所述用于确定目标对象的指标的数据。

优选的,在本申请一些可能的实现方式中,所述根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算,包括:解析所述配置后的数据处理指令,得到所述业务相关部分和所述处理方式部分;根据所述业务相关部分确定用于B组分类数据聚合的预设字段;根据所述计算方式部分确定所述多种计算方式或所述多种聚合方式;根据所述预设字段分别采用所述多种聚合方式处理所述B组分类数据,得到C个数据表,C为大于或等于1的整数;根据所述C个数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述业务相关部分还包括预设特征标识,所述根据所述预设字段分别采用所述多种聚合方式处理所述B组分类数据,得到C个数据表之后,所述方法还包括:根据预设特征标识对所述C个数据表进行选择,得到D个特征数据表,C≥D,D为大于或等于1的整数;所述根据所述C个数据表基于所述多种计算方式进行指标计算,包括:根据所述D个特征数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述数据处理指令还包括检验方式部分,所述检验方式部分用于指示多种预设检验模型,所述预设检验模型包括基于固定样本的正态检验模型、卡方检验模型;或;基于非独立同分布的Jackknife方差修正模型、序列化检验模型、Interleaving策略融合对比模型、多臂老虎机模型。

优选的,在本申请一些可能的实现方式中,若所述多种计算方式包括基于实际命中实验的用户数量进行计算,则所述根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算,包括:根据所述用于确定目标对象的指标的数据确定实际命中实验的用户;根据所述实际命中实验的用户确定待确定的指标类型对应的数据,以得到实际命中数据;根据所述配置后的数据处理指令对所述实际命中数据进行计算。

优选的,在本申请一些可能的实现方式中,所述多种计算方式还包括基于页面访问的地址IP数进行计算、基于页面点击量进行计算或基于期望命中实验的用户数量进行计算。

本申请第二方面提供另一种数据处理的装置,包括:获取单元,用于获取预设时间段内用于确定目标对象的指标的数据和待确定的指标类型;配置单元,用于根据预设规则配置所述待确定的指标类型所对应的数据处理指令,所述数据处理指令包括业务相关部分和处理方式部分,所述处理方式部分用于包含多种计算方式或多种聚合方式;计算单元,用于根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算,以确定所述指标类型所指示的所述目标对象的指标。

优选的,在本申请一些可能的实现方式中,所述获取单元,具体用于获取预设时间段内来自A个数据源的业务数据;所述获取单元,具体用于根据业务类型对所述业务数据进行分类,以得到B组分类数据,A≤B,A和B为大于或等于1的整数,;所述获取单元,具体用于根据所述B组分类数据选择所述用于确定目标对象的指标的数据。

优选的,在本申请一些可能的实现方式中,所述计算单元,具体用于解析所述配置后的数据处理指令,得到所述业务相关部分和所述处理方式部分;所述计算单元,具体用于根据所述业务相关部分确定用于B组分类数据聚合的预设字段;所述计算单元,具体用于根据所述计算方式部分确定所述多种计算方式或所述多种聚合方式;所述计算单元,具体用于根据所述预设字段分别采用所述多种聚合方式处理所述B组分类数据,得到C个数据表,C为大于或等于1的整数;所述计算单元,具体用于根据所述C个数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述业务相关部分还包括预设特征标识,所述配置单元,还用于根据预设特征标识对所述C个数据表进行选择,得到D个特征数据表,C≥D,D为大于或等于1的整数;所述计算单元,具体用于根据所述D个特征数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述数据处理指令还包括检验方式部分,所述检验方式部分用于指示多种预设检验模型,所述预设检验模型包括基于固定样本的正态检验模型、卡方检验模型;或;基于非独立同分布的Jackknife方差修正模型、序列化检验模型、Interleaving策略融合对比模型、多臂老虎机模型。

优选的,在本申请一些可能的实现方式中,若所述多种计算方式包括基于实际命中实验的用户数量进行计算,则所述计算单元,具体用于根据所述用于确定目标对象的指标的数据确定实际命中实验的用户;根据所述实际命中实验的用户确定待确定的指标类型对应的测试数据,以得到实际命中数据;根据配置后的数据处理指令对所述实际命中数据进行计算。

优选的,在本申请一些可能的实现方式中,所述多种计算方式还包括基于页面访问的地址IP数进行计算、基于页面点击量进行计算或基于期望命中实验的用户数量进行计算。

本申请第三方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的数据处理的方法。

本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的数据处理的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

通过根据预设规则配置相关待确定的指标类型的数据处理指令,其中,所述预设规则包括将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式,便于在多维度测试场景中对于相关指标的数据处理指令的配置,由于多种形式的配置,保证了统计结果的全面性,使得数据处理结果更加准确;而且简化了配置的过程,提高了数据处理的效率。

附图说明

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

图1为AB测试系统运行的网络架构图;

图2为一种AB测试的系统架构图;

图3为本申请实施例提供的一种数据处理的方法的流程图;

图4为本申请实施例提供的另一种数据处理的方法的流程图;

图5为本申请实施例提供的另一种数据处理的方法的流程图;

图6为本申请实施例提供的另一种数据处理的方法的流程图;

图7为本申请实施例提供的一种数据处理方法的流程示意图;

图8为本申请实施例提供的一种数据处理的界面显示示意图;

图9为本申请实施例提供的数据处理装置的结构示意图;

图10为本申请实施例提供的另一种数据处理装置的结构示意图。

具体实施方式

本申请实施例提供了一种数据处理的方法以及相关装置,可以应用于AB测试的过程中,具体通过根据预设规则配置相关待确定的指标类型的数据处理指令,其中,所述预设规则包括将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式,便于在多维度测试场景中对于相关指标的数据处理指令的配置,简化了配置的过程,提高了数据处理的效率;而且由于多种形式的配置,保证了统计结果的全面性,使得数据处理结果更加准确。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本申请提供的数据处理方法可以应用于可应用于AB测试系统的运行过程中,具体的,AB测试系统可以运行于如图1所示的网络架构中,如图1所示,是AB测试系统运行的网络架构图,如图可知,AB测试系统可以通过多个终端获取实验数据,通过服务器获取用户数据,根据预设的规则对上述数据进行分析计算,对方案的相关指标进行计算,可以理解的是,图1中示出了三个终端,在实际场景中可以有更多或更少的终端设备参与到实验测试中,具体数量因实际场景而定,此处不做限定;另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多应用数据交互的场景中,具体服务器数量因实际场景而定。

可以理解的是,上述AB测试系统可以运行于个人移动终端,也可以运行于服务器,还可以作为运行于第三方设备以提供客户端实验数据与后台策略的快速迭代试错,以得出实验报告;具体的AB测试系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。

对于终端应用程序(application,APP)产品设计和运营的时候,实验人员有会很多直觉想法,猜想某些设计和策略可能会更好,更符合用户需求。但是如何验证猜想,需要用数据来加以证明。一般可利用AB测试来发现不同策略在实验组人群中指标的差异以及衡量这些差异是否有统计上的显著性。例如,在微信的AB测试系统里有上千个指标,如何方便地配置和计算这些指标,对这些指标运用适合的统计检验方法成为一个难题。

通常在AB测试中,指标分析系统往往需要实验人员在实验中配置相关的结构化查询语言(structured query language,SQL)以进行分析数据,根据写入的分析数据得到各指标的情况。

由于在AB测试中,一般为大量数据的分析,即需要为相关指标配置海量数据处理指令,例如:SQL,以满足测试需求,提高了实验人员配置过程中的失误率,容易影响AB测试结果的准确性,以及测试的效率。

为了解决上述问题,本申请提出了一种数据处理的方法,该方法可应用于图2所示的AB测试的系统框架,如图2所示,是一种AB测试的系统架构图,图中包括显示模块、实验流量管理模块、实验接入模块和实验指标分析模块,其中,显示模块主要用于与外界的交互过程,例如:相关人员对于实验的配置、对于指标的选择或者对于实验报告的可视化查询。

实验流量管理模块主要用于实时检测及控制实验数据流的动态,例如:检测参与实验的数据流大小,控制参与实验的数据流的大小。

实验接入模块主要用于接入相关客户端的实验数据,例如:微信、看一看、搜一搜等,还用于接入实验相关的用户画像信息,或者模拟的相关用户参数信息。

本申请提供的数据处理的方法可应用于实验指标分析模块中,实验指标分析模块主要用于对于实验接入系统接入的数据进行指标的分析,具体的得先配置指标的计算方式,例如:指标是基于页面访问的独立用户数(unique visitor,uv)还是页面点击量(pageview,pv);在另一种计算方式中,指标可以基于染色用户,即理论上可能命中实验的用户,或,命中用户,即实际上命中实验的用户。

可以理解的是,对于指标的配置至少包括多种计算方式,具体的,在本申请所提供的数据处理的方法中还可以包括多种聚合方式,例如left join/inner join;还可以包括多种检验方式,例如:基于固定样本的正态检验模型、卡方检验模型;或;基于非独立同分布的Jackknife方差修正模型、序列化检验模型、Interleaving策略融合对比模型、多臂老虎机模型。

可以理解的是,上述AB测试系统可以运行于个人移动终端,也可以运行于服务器,还可以作为运行于第三方设备以提供客户端实验数据与后台策略的快速迭代试错,以得出实验报告。

可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种数据处理装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该数据处理装置通过根据预设规则配置相关待确定的指标类型的数据处理指令,其中,所述预设规则包括将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式,便于在多维度测试场景中对于相关指标的数据处理指令的配置,简化了配置的过程,提高了测试的效率;而且由于多种形式的配置,保证了统计结果的全面性,使得测试结果更加准确。

结合上述系统架构,下面将对本申请中数据处理的方法进行介绍,请参阅图3,图3为本申请实施例提供的一种数据处理的方法的流程图,本申请实施例至少包括以下步骤:

301、获取预设时间段内的用于确定目标对象的指标的数据和待确定的指标类型。

本实施例提供的数据处理的方法可应用于AB测试的场景中,可以理解的是,AB测试的场景仅为说明数据处理方法的过程,本实施例所提供的方案也可应用于其他涉及数据处理的场景中。

本实施例中,用于确定目标对象的指标的数据可以为测试数据,对应的获取测试数据和待确定的指标类型的预设时间段可以是隔天获取,即每隔24小时获取一次测试数据和待确定的指标类型,例如:每天凌晨0点获取前一天一整天的测试数据;预设时间段也可以根据相关人员需求设定,具体的,设定的时间段可以是周期性的,也可是不规则性的,具体预设时间段因实际场景而定。

可以理解的是,测试数据可以采用数据表的形式,数据表可以来源于多个数据源,这些数据源可以是终端或终端相关服务模块,例如:后台、客户端等;数据源也可以是服务器,例如:云端服务器;对应的,测试数据可以是来自终端的后台log表、客户端log表,或来自服务器的待待测试程序的相关数据,例如:微信用户属性表、微信用户属性月表或看一看用户标签表。

在AB测试中,待确定的指标类型一般包括点击率、使用时长等,在本实施例中,待确定的指标类型也可以根据相关人员的需求设定,或根据待测程序的类型设定,例如:若程序为新闻类APP,则待确定的指标类型可以为点击率或浏览时长;若程序为游戏类APP,则待确定的指标类型可以为使用时长或流量峰值,具体的待确定的指标类型类型因实际场景而定,此处不做限定。

可选的,在获取预设时间段内的测试数据和待确定的指标类型之前,还可以判断AB测试系统流程的测试指令中是否包含待测试的程序,即待测试的程序是否被命中,若存在相关的指令,则获取待测程序预设时间段内的测试数据和待确定的指标类型,可以理解的是,待测程序可以是一个也可以是多个,具体数量因实际实验情况而定。

302、根据预设规则配置所述待确定的指标类型所对应的数据处理指令。

本实施例中,预设规则可以是将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式。

可以理解的是,数据处理指令可以是SQL语句,也可以是其他用于存取数据以及查询、更新和管理关系数据库系统的语句类型,具体方式因实际场景而定,此处不做限定。

具体的,多种计算方式可以是基于页面访问的地址IP数进行计算或基于页面点击量进行计算,这是由于在实际访问场景中,不同指标侧重的维度不一样,例如:对于游戏类APP,更看重用户数量,即IP的数量,若使用页面点击量则不准确;对于新闻类APP,则更看重点击的数量,即页面点击量,但是在一些实际场景中,无法准确的知晓哪种计算方式更加准确,故可以对于两种方式均进行相关计算。

可选的,多种计算方式是基于期望命中实验的用户数量进行计算或基于实际命中实验的用户数量计算,这是由于在实验设计中,用户画像的不稳定性,即为减少特定用户群体对于测试结果的影响,分别测试实际的命中用户和期望的命中用户,全面的模拟该场景。

可以理解的是,在实际计算过程中,可以基于上述计算方式的一种或多种,可以将待选择的计算方式均写入处理方式部分,待实际测试时根据具体需求进行计算方式的选择;也可以设定固定的多种计算方式,例如:对于某一程序,固定通过染色用户和命中用户进行计算。

在一种可能的场景中,由于涉及多指标的计算,对于一些相关的数据可以进行聚合,以减少计算量,具体的,多种计算方式可以包括left join或inner join,由于不同数据源的格式可能有所区别,故可采用多种的聚合方式处理数据,将处理好的数据分别进行缓存,待计算所用。

具体的,测试数据包括实验命中表和用户画像信息,实验命中表主要是实验基本信息和用户画像信息,聚合起来后可以表述为,业务表主要是业务方自己的业务数据,比如微信公众号文章的点击行为、停留时长等。实验命中画像表和业务表join起来就变成了

在一种可能的场景中,一个uin(用户标识)为1000的用户,在ds(时间)20190601那天命中了实验exptid为100的第一个策略groupid为1001,则该用户在实验基本信息表里是<1000,20190601,100,1001>。如果该用户是广州的年龄为30岁的男性用户,手机操作系统是ios,则他在用户画像信息表里是。所以它在命中表里的信息是<1000,20190601,100,1001,ios,guangzhou,30,male>。

具体的,本实施例中所提供的按照预设规则处理数据处理指令的方法可以采用如下表述方式,具体程序代码如下:

SELECT groupid,first(exptid),sum({col_name})/sum({weight})

FROM(

(SELECT*FROM expt)

{join_type}JOIN

(

SELECT fuin,{group_sql}FROM data{group_where}GROUP BY

)

on uin=fuin

)

GROUP BY groupid

可选的,按照上述表述方法,业务相关部分可以包括:指标所在库表、分子表达式、分母表达式、聚合表达式、聚合维度或聚合过滤条件;处理方式部分可以包括:聚合方式、计算方式或检验方式,具体的形式因实际场景而定。

303、根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算。

本实施例中,根据配置进行对应的计算,即根据数据处理指令处理方式部分的计算方式或聚合方式对测试数据进行处理,可以理解的是,该处理过程可以说采用离线任务的形式,例如:AB系统中的Spark离线任务模式,该处理过程也可以采用在线任务的形式,即随取随测,具体的运行形式因实际场景而定。

在一种可能的场景中,一个指标如果配置了命中uv,染色uv两种计算方式,并且采用的是left join。则在离线任务调度的时候会产生两个调度任务,计算出两种计算方式下的两个指标数。

其中,测试数据包含命中表、染色表和业务表。命中表里有如下的一批数据,groupid为1001的是A组,groupid为1002是B组。

则可能的表述方式为,

A组为<1000,20190601,100,1001,ios,guangzhou,30,male>;

B组为<1001,20190601,100,1001,android,guangzhou,20,female>;

染色表里有如下的一批数据:

<1000,20190601,100,1001,ios,guangzhou,30,male>

<1001,20190601,100,1001,android,guangzhou,20,female>

<1002,20190601,100,1002,ios,guangzhou,33,female>

业务表有如下数据,且业务表里的数据表述的是微信公众号文章的阅读时长:

<1000,10000,120>;<1000,10001,10>;<1001,10000,30>;<1001,10001,50>;<1002,10000,30>;<1002,10001,50>。

按照配置,需要计算平均每个用户公众号文章阅读时长这个指标的两个计算方式,基于命中表的计算方式,将命中表和业务表聚合起来得到该指标的命中用户平均公众号文章点击率。得到如下所示,计算得到基于命中表的计算方式平均每个用户的公众号阅读时长为(130+80)/2=105

<1000,20190601,100,1001,ios,guangzhou,30,male,130>

<1001,20190601,100,1001,android,guangzhou,20,female,80>

基于染色表的计算方式,将染色表和业务表聚合起来得到该指标的染色用户平均公众号文章点击率。得到如下所示,计算得到基于染色表命中表的计算方式平均每个用户的公众号阅读时长为(130+80+70)/3=93.3

<1000,20190601,100,1001,ios,guangzhou,30,male,130>

<1001,20190601,100,1001,android,guangzhou,20,female,80>

<1002,20190601,100,1002,ios,guangzhou,33,female,70>

本实施例中,通过上述统计信息的获取,可以进一步的判断方案的可行性。

可以理解的是,若需要修改相关的计算方式或者不用left join而改用innerjoin,则还可以使用这份配置,只是在配置里再加上不同的计算方式声明即可。

304、确定数据处理结果。

本实施例中,数据处理结果可以是一种测试结果,对应的可以将上述步骤304中的统计结果输入预设的检验模型中进行检验,计算置信区间等相关统计学参数,并进一步的判断方案的效果。其中,预设检验模型包括基于固定样本的正态检验模型、卡方检验模型;或;基于非独立同分布的Jackknife方差修正模型、序列化检验模型、Interleaving策略融合对比模型、多臂老虎机模型。

在一种可能的场景中,使用固定样本的正态检验模型进行检验,首先将一批小流量用户分配在A、B两个实验组,分别统计这两个实验组里用户的对微信公众号里的文章的点击率。在A组里,保持和线上一样的策略,在B组里,对每一篇公众号文章的条目右下角都加了个提示。提示有多少个好友读过这篇文章。希望通过这个实验来看下给文章加上社交属性能不能提高点击率。统计了A组的点击率为5%,B组的点击率为6%。由于采用的是小样本用户进行实验,不能就这样下结论说B组使用的策略的点击率比A组的策略在效果上提高了1%。因为可能换一批新用户,B组的点击率可能变成了4%了。设B组的点击率为click_rate_b,A组的点击率为click_rate_a,因为click_rate_b–click_rate_a有不确定性,所以它是一个随机变量,它服从一个统计分布,可以用不同的假设检验模型来检验这两组数据。在固定样本正态分布检验模型中,根据中心极限的假设,得到click_rate_b–click_rate_a的分布服从正态分布,计算出click_rate_b–click_rate_a的95%置信区间,假设计算出来的置信区间是[-0.9%,0.9%],因为实验观察得到的click_rate_b–click_rate_a=6%-5%=1%。1%不在[-0.9%,0.9%]范围内,所以认为这个观察出现的概率应该小于5%,在统计上,认为5%是小概率事件,所以可以得到结论,B组使用的策略的点击率显著高于A组使用策略的点击率,即B组的策略有效果。

结合上述实施例可知,通过根据预设规则配置相关待确定的指标类型的数据处理指令,其中,所述预设规则包括将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式,便于在多维度测试场景中对于相关指标的数据处理指令的配置,由于多种形式的配置,保证了统计结果的全面性,使得测试结果更加准确;而且简化了配置的过程,提高了测试的效率。

一般测试的数据来源可以有多个,特别是对于AB测试的场景下,为保证数据的准确性,可以采用多数据源的方式进行测试;下面,对该场景结合附图进行说明,如图4所示,图4为本申请实施例提供的另一种数据处理的方法的流程图,本申请实施例至少包括以下步骤:

401、获取待确定的指标类型。

本实施例中,待确定的指标类型一般包括点击率、使用时长等,在本实施例中,待确定的指标类型也可以根据相关人员的需求设定,或根据待测程序的类型设定,例如:若程序为新闻类APP,则待确定的指标类型可以为点击率或浏览时长;若程序为游戏类APP,则待确定的指标类型可以为使用时长或流量峰值,具体的待确定的指标类型类型因实际场景而定,此处不做限定。

402、根据待确定的指标类型确定A个数据源。

本实施例中,根据待确定的指标类型确定相关联的多个数据源,这些数据源可以是终端或终端相关服务模块,例如:后台、客户端等;数据源也可以是服务器,例如:云端服务器;对应的,测试数据可以是来自终端的后台log表、客户端log表,或来自服务器的待待测试程序的相关数据,例如:微信用户属性表、微信用户属性月表或看一看用户标签表。

403、获取预设时间段内来自所述A个数据源的B组实验数据。

本实施例中,由于不同数据源的数据格式可能有所不同,可以采用数据表的形式对相关数据进行处理,例如:B组实验数据可以是来自终端的后台log表、客户端log表,或来自服务器的待待测试程序的相关数据,例如:微信用户属性表、微信用户属性月表或看一看用户标签表。

404、根据预设规则配置所述指标信息的结构化查询语言数据处理指令。

本实施例中,预设规则可以是将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式。

具体的,多种计算方式可以是基于页面访问的地址IP数进行计算或基于页面点击量进行计算,这是由于在实际访问场景中,不同指标侧重的维度不一样,例如:对于游戏类APP,更看重用户数量,即IP的数量,若使用页面点击量则不准确;对于新闻类APP,则更看重点击的数量,即页面点击量,但是在一些实际场景中,无法准确的知晓哪种计算方式更加准确,故可以对于两种方式均进行相关计算。

可选的,多种计算方式是基于期望命中实验的用户数量进行计算或基于实际命中实验的用户数量计算,这是由于在实验设计中,用户画像的不稳定性,即为减少特定用户群体对于测试结果的影响,分别测试实际的命中用户和期望的命中用户,全面的模拟该场景。

可以理解的是,在实际计算过程中,可以基于上述计算方式的一种或多种,可以将待选择的计算方式均写入处理方式部分,待实际测试时根据具体需求进行计算方式的选择;也可以设定固定的多种计算方式,例如:对于某一程序,固定通过染色用户和命中用户进行计算。

405、根据所述预设字段分别采用所述多种聚合方式处理所述B组实验数据,得到C个数据表。

本实施例中,由于有些数据可能存在相同的字段,例如:uin(用户标识)、ds(时间)、device(设备)、docid(文章标识)等,根据这些字段可以将相关数据进行聚合,例如:存在A组数据,B组数据,由于两组数据都是反映用户标识uin为1000阅读文章docid 10000的时长,则可以聚合为

406、根据预设特征标识对所述C个数据表进行选择,得到D个特征数据表。

本实施例中,预设特征标识可以是业务类型,即数据所来源的不同业务,对于来自相同业务的数据进行选择,得到根据业务类型划分的数据表。

在一种可能的场景中,C个数据表包括带画像的命中表,然后按业务类型进行分表,由于业务包括看一看、搜一搜、微信,则D个特征数据表可以包括看一看、搜一搜、微信基础和其他数据四个表。

可以理解的是,根据业务分表可以使得每一个业务子命中表只包含该业务信息,命中表的数据会减少,在进行指标计算的时候会减少很多不必要的数据计算。另一方面,根据业务分表便于权限管理,有时候业务方可能要从命中表导出命中的用户信息,如果没进行业务分表,业务方能看到全量的实验信息,但有些业务属于敏感业务,会有泄密风险。划分业务后,每个业务方就只能看到自己的业务信息

407、根据所述D个特征数据表于所述多种计算方式进行指标计算。

本实施例中,根据配置进行对应的计算,即根据数据处理指令处理方式部分的计算方式或聚合方式对测试数据进行处理,可以理解的是,该处理过程可以说采用离线任务的形式,例如:AB系统中的Spark离线任务模式,该处理过程也可以采用在线任务的形式,即随取随测,具体的运行形式因实际场景而定。

通过上述实施例可知,接收来自多个数据源的测试数据可以保证数据的准确性;对于测试数据的进一步归类划分,可以使得测试过程更加简洁,提高检测的效率。

上述实施例中,多个数据源的数据可能不便于处理,一般可以采用相关的聚合步骤使得数据便于读取,下面结合一种场景,对多个数据源的数据获取及相关处理进行说明,如图5所示,图5为本申请实施例提供的另一种数据处理的方法的流程图,本申请实施例至少包括以下步骤:

501-502为终端数据的获取过程,可以包括后台数据和客户端数据,得到后台log表和客户端log表,由于其可能存在相同的字段,例如:uin、timestamp、exptid或groupid,可以将后台log表和客户端log表聚合506生成实验命中表508。可以理解的是,此处仅示出了一个终端的数据源,在一些可能的场景中,也可以为多个终端。

503-505为服务器数据的获取过程,该过程可以包括业务1用户属性日表、业务2用户属性月表和业务3用户标签表,将上述表格聚合507后可以得到用户画像表509。

由于一般需要结合用户画像与实验命中情况进行结合分析,故可以将实验命中表508和用户画像表509聚合,得到带画像的命中表511。

由于上述步骤503-505中提到包含三个业务,故可以根据业务类型对带画像的命中表511进行分类,得到、业务2带画像的命中表514和业务3带画像的命中表515。

待准备好上述数据后,可以进行相关SQL的配置,具体可参照步骤302-304中的描述,此处不做赘述。

本实施例通过对于数据源数据的整理,使得在配置相关指标的过程中更加方便,提高了测试的指向性,进一步的提高了测试的效率。

上述实施例介绍了数据的准备、配置和计算的过程,但在计算得到统计数据后,依然需要检验计算的可信性,下面结合附图对检验的过程进行说明,如图6所示,图6为本申请实施例提供的另一种数据处理的方法的流程图,本申请实施例至少包括以下步骤:

601、根据预设规则配置检验方式。

本实施例中,检验方式的设定可以是人为的设定,也可以是根据检验过程的历史记录统计而成,例如:在历史记录中,对于程序1一般采用跨天检验模型,则当确定当前程序为程序1时,采用跨天检验模型。

602、确定检验方式为固定样本的正态分布检验模型和跨天检验模型。

本实施例中,检验方式可以包括固态样本的正态分布检验模型,还可以包括基于时间设定的跨天检验模型。

应当注意的是,此处仅为举例采用固态样本的正态分布检验模型和跨天检验模型,在实际场景中,也可以采用具有和固态样本的正态分布检验模型或跨天检验模型具有相似检验功能的其他检验模型。

603、运行固定样本的正态分布检验模型。

本实施例中,根据固定样本的正态分布检验模型可以得出样品的置信区间,并进一步的判断计算结果的可行度。

604、运行跨天检验模型。

本实施例中,为反映不同时间统计结果的差异,可以采用跨天检验的方式,可以理解的是,此处也可以采用跨日检验模型。

605、分析各个模型的统计参数。

本实施例中,结合上述多个检验方式的结果,对本次实验进行判断,例如:若根据固定样本的正态分布检验模型算出统计数据不在执行区间,则本次实验为偶然事件,不具有可信性。

在一种可能的逻辑划分中,可以结合图2所述的AB测试系统框架对上述实施例提供的数据处理方法进行说明,如图7所示,是本申请实施例提供的一种数据处理方法的流程示意图。如图所示,获取的测试数据包括实验日志、业务日志、用户画像和维度信息,将上述测试数据聚合处理后配置相关指标的数据处理指令,并进行离线任务运行,在数据库中输入计算得到的统计结果,然后经检验模块进行多种检验方式的检验后,在显示模块中显示,并进一步的生成相关报告。

在一种可能的显示方式中,可以采用如图8所述的显示方式,图8为本申请实施例提供的一种数据处理的界面显示示意图。该界面可以包括程序名称、A/B方案对于程序的效果以及具体的计算过程,图中为对于看一看的AB测试结果,指标为点击率和阅读时长,其中,方案A的点击率为50%,阅读时长为30分钟,经检验模型检验后结果为可信;方案B的点击率为30%,阅读时长为10分钟,经检验模型检验后结果为可信;具体的,可以点击详情查看具体的计算过程,图中方案A和方案B都采用了基于染色用户和命中用户的计算,并采用了正态检验和卡方检验的检验方式。

为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图9,图9为本申请实施例提供的数据处理装置的结构示意图,数据处理装置900包括:

获取单元901,用于获取预设时间段内用于确定目标对象的指标的数据和待确定的指标类型;

配置单元902,用于根据预设规则配置所述待确定的指标类型所对应的数据处理指令,所述数据处理指令包括业务相关部分和处理方式部分,所述处理方式部分用于包含多种计算方式或多种聚合方式;

计算单元903,用于根据配置后的数据处理指令对所述用于确定目标对象的指标的数据进行计算,以确定所述指标类型所指示的所述目标对象的指标。

优选的,在本申请一些可能的实现方式中,所述获取单元901,具体用于获取预设时间段内来自A个数据源的业务数据;

所述获取单元901,具体用于根据业务类型对所述业务数据进行分类,以得到B组分类数据,A≤B,A和B为大于或等于1的整数,;

所述获取单元901,具体用于根据所述B组分类数据选择所述用于确定目标对象的指标的数据。

优选的,在本申请一些可能的实现方式中,所述计算单元903,具体用于解析所述配置后的数据处理指令,得到所述业务相关部分和所述处理方式部分;

所述计算单元903,具体用于根据所述业务相关部分确定用于B组分类数据聚合的预设字段;

所述计算单元903,具体用于根据所述计算方式部分确定所述多种计算方式或所述多种聚合方式;

所述计算单元903,具体用于根据所述预设字段分别采用所述多种聚合方式处理所述B组分类数据,得到C个数据表,C为大于或等于1的整数;

所述计算单元903,具体用于根据所述C个数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述业务相关部分还包括预设特征标识,所述配置单元902,还用于根据预设特征标识对所述C个数据表进行选择,得到D个特征数据表,C≥D,D为大于或等于1的整数;

所述计算单元903,具体用于根据所述D个特征数据表基于所述多种计算方式进行指标计算。

优选的,在本申请一些可能的实现方式中,所述数据处理指令还包括检验方式部分,所述检验方式部分用于指示多种预设检验模型,所述预设检验模型包括基于固定样本的正态检验模型、卡方检验模型;或;基于非独立同分布的Jackknife方差修正模型、序列化检验模型、Interleaving策略融合对比模型、多臂老虎机模型。

优选的,在本申请一些可能的实现方式中,若所述多种计算方式包括基于实际命中实验的用户数量进行计算,则所述计算单元903,具体用于根据所述测试数据确定实际命中实验的用户;根据所述实际命中实验的用户确定待确定的指标类型对应的测试数据,以得到实际命中数据;根据配置后的数据处理指令对所述实际命中数据进行计算。

优选的,在本申请一些可能的实现方式中,所述多种计算方式还包括基于页面访问的地址IP数进行计算、基于页面点击量进行计算或基于期望命中实验的用户数量进行计算。

通过根据预设规则配置相关待确定的指标类型的数据处理指令,其中,所述预设规则包括将所述待确定的指标类型的数据处理指令划分为至少两个部分,所述至少两个部分包括业务相关部分和处理方式部分,所述处理方式部分用于指示多种计算方式或多种聚合方式,便于在多维度测试场景中对于相关指标的数据处理指令的配置,由于多种形式的配置,保证了统计结果的全面性,使得测试结果更加准确;而且简化了配置的过程,提高了测试的效率。

本申请实施例还提供了一种数据处理装置,请参阅图10,图10是本申请实施例提供的另一种数据处理装置的结构示意图,该数据处理装置1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理装置中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在数据处理装置1000上执行存储介质1030中的一系列指令操作。

数据处理装置1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由数据处理装置所执行的步骤可以基于该图10所示的数据处理装置结构。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有数据数据处理指令,当其在计算机上运行时,使得计算机执行如前述图2至图6所示实施例描述的方法中数据处理装置所执行的步骤。

本申请实施例中还提供一种包括数据数据处理指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图2至图6所示实施例描述的方法中数据处理装置所执行的步骤。

本申请实施例还提供了一种数据处理系统,所述数据处理系统可以包含图9所描述实施例中的数据处理装置,或者图10所描述的数据处理装置。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,数据处理装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 通过显示接口传送/接收压缩相关指示信息的数据处理装置与相关数据处理方法
  • 一种扫描数据处理方法、数据处理装置及相关系统
技术分类

06120112181877