CN116737713A - Ab实验数据处理方法、装置、计算机设备及存储介质 - Google Patents
Ab实验数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116737713A CN116737713A CN202310414624.7A CN202310414624A CN116737713A CN 116737713 A CN116737713 A CN 116737713A CN 202310414624 A CN202310414624 A CN 202310414624A CN 116737713 A CN116737713 A CN 116737713A
- Authority
- CN
- China
- Prior art keywords
- event
- data processing
- clickhouse
- attribute
- experimental data
- 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
Links
- 238000002474 experimental method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims description 23
- 238000011144 upstream manufacturing Methods 0.000 claims description 18
- 230000006399 behavior Effects 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000007619 statistical method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001376 precipitating effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于大数据领域,涉及一种AB实验数据处理方法,包括:通过spring服务获取AB实验数据;根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;将所述待处理事件存储到clickhouse数据库的clickhouse表;执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。本申请还提供一种AB实验数据处理装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,AB实验数据可存储于区块链中。本申请提高了AB实验数据的处理效率。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种AB实验数据处理方法、装置、计算机设备及存储介质。
背景技术
在数据分析越来越注重精细的背景下,AB实验得到越来越多的应用。AB实验是将对象分成实验组和对照组,分别使用不同的方案,并将对象在实验中的响应沉淀到数据,然后对数据进行统计分析得到实验结论。AB实验在产品迭代和策略优化场景中有广泛应用,例如在产品界面优化、功能增加时,进行AB实验,一组用户使用界面未优化、功能未增加的产品,另一组用户使用界面优化、功能增加的产品,采集用户使用两种产品的行为数据并进行统计分析,以便确定如何改进产品。
AB实验中由于要准备多个版本,会产生大量需要处理的数据。当前的AB实验数据处理通常是将数据同步到hive,然后执行hive SQL进行数据处理。然而这种数据处理方式的统计周期长,往往在次日才能看到hive的处理结果;也无法对AB实验中的事件进行细致的划分,实验结论的精细程度较差,只能人工从实验结论中选取需要的信息;而且hive需要借助Hadoop大数据生态,扩展能力较差;这些都导致AB实验数据处理效率较低。
发明内容
本申请实施例的目的在于提出一种AB实验数据处理方法、装置、计算机设备及存储介质,以解决AB实验数据处理效率较低的问题。
为了解决上述技术问题,本申请实施例提供一种AB实验数据处理方法,采用了如下所述的技术方案:
通过spring服务获取AB实验数据;
根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
将所述待处理事件存储到clickhouse数据库的clickhouse表;
执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
为了解决上述技术问题,本申请实施例还提供一种AB实验数据处理装置,采用了如下所述的技术方案:
数据获取模块,用于通过spring服务获取AB实验数据;
属性添加模块,用于根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
事件存储模块,用于将所述待处理事件存储到clickhouse数据库的clickhouse表;
数据处理模块,用于执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
通过spring服务获取AB实验数据;
根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
将所述待处理事件存储到clickhouse数据库的clickhouse表;
执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
通过spring服务获取AB实验数据;
根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
将所述待处理事件存储到clickhouse数据库的clickhouse表;
执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
与现有技术相比,本申请实施例主要有以下有益效果:通过spring服务获取AB实验数据;TiDB数据库中配置有属性列表,基于属性列表给AB实验数据中符合属性条件的候选事件添加属性标签得到待处理事件,从而实现事件更细粒度的划分;将待处理事件存储到clickhouse数据库的clickhouse表,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,在数据处理时,SQL语句可以根据属性标签直接从相关的待处理事件中提取数据并输出属性标签相关的处理结果;本申请借助高吞吐的clickhouse进行AB实验数据处理,计算速度更快,属性标签实现事件更细粒度的划分,无需人工介入进行更细粒度的统计分析,仅需要搭建spring服务与clickhouse集群便可实现大数据处理,提高了AB实验数据的处理效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的AB实验数据处理方法的一个实施例的流程图;
图3是根据本申请的AB实验数据处理装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的AB实验数据处理方法一般由服务器执行,相应地,AB实验数据处理装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的AB实验数据处理方法的一个实施例的流程图。所述的AB实验数据处理方法,包括以下步骤:
步骤S201,通过spring服务获取AB实验数据。
在本实施例中,AB实验数据处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
其中,AB实验数据可以是与AB实验相关数据的集合。
具体地,本申请构建了spring服务,spring服务可以运行在多个节点上,并且由spring服务获取AB实验数据。
需要强调的是,为进一步保证上述AB实验数据的私密和安全性,上述AB实验数据还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
进一步的,上述步骤S201可以包括:通过spring服务从AB实验分流服务获取AB实验分流日志;通过spring服务,从预设的各平台获取实验对象的AB实验行为事件数据;将AB实验分流日志和AB实验行为事件数据确定为AB实验数据。
具体地,AB实验数据包含两部分,一部分是AB实验分流日志,另一部分是AB实验行为事件数据。AB实验分流可以由AB分流spring服务进行,分流后打印得到AB实验分流日志,例如,它可以记录某用户分到某实验的某组中,AB实验分流日志可以通过kafka传送至spring服务。
在AB实验中,实验对象(例如用户)可以在各平台产生用户行为,这些行为可以是一个一个的事件,产生AB实验行为事件数据。例如,用户在iOS、h5、Android等平台进行用户操作,产生AB实验行为事件数据,AB实验行为事件数据也可以通过kafka传送至spring服务。
在一个实施例中,本申请还设置了TiDB数据库,TiDB数据库中可以存储有实验配置数据,实验配置数据可以是开启AB实验时的各种实验配置,例如实验类别、实验分流类型和分流比例等。Spring服务也可以获取TiDB数据库中的实验配置数据,并将实验配置数据作为AB实验数据。
AB实验数据可以是任意类型的AB实验相关数据的集合。AB实验通常在产品迭代和策略优化场景中有广泛应用,其中,产品迭代包括产品界面优化、功能增加、流程增加等,这些都可以使用AB实验测试产品改版是否成功;策略优化包括运营策略优化和算法策略优化,这些都可以通过AB实验方式验证策略是否达到预期目标。在进行AB实验时由AB分流spring服务进行AB实验分流至实验组和对照组,产生AB实验分流日志。当待测试产品涉及网络服务时,分流组和对照组中的用户可以在iOS、h5、Android等平台使用产品,并进行用户操作,产生AB实验行为事件数据。本实施例中,AB实验数据包含从AB实验分流服务获取到的AB实验分流日志,以及从各平台获取到的实验对象的AB实验行为事件数据,确保了可以对AB实验进行全面的数据分析与处理。
步骤S202,根据TiDB数据库中配置的属性列表给AB实验数据中的候选事件添加属性标签,得到待处理事件。
具体地,本申请中设置有TiDB数据库,TiDB数据库中配置有属性列表。AB实验数据中的每条信息都是一个候选事件,事件具有多维度的属性,例如,事件名称、事件标识、事件中的某个指标都可以被视作事件的属性。属性列表列出了多种属性条件,如果候选事件匹配某个属性条件,则给候选事件添加该属性条件相对应的属性标签,从而得到待处理事件。
步骤S203,将待处理事件存储到clickhouse数据库的clickhouse表。
具体地,spring服务对AB实验数据中的候选事件进行加工得到待处理事件,然后将待处理事件存储到clickhouse数据库中,在clickhouse数据库中,数据以clickhouse表的形式进行存储。
Clickhouse是一种用于联机分析OLAP(Online Analytical Processing)列示数据库管理***,它的向量化查询引擎使得大数据场景下查询速度更快。clickhouse具备列式存储、有序存储、主键索引、分区分片、数据TTL(Time To Live)、高吞吐、主备同步、多核并行、向量化引擎、动态代码生成、完备sql支持、复杂数据类型支持等功能。
步骤S204,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,其中,属性标签用于提取待处理事件中的数据。
具体地,本申请预先设置了多个SQL任务,spring服务可以运行SQL任务,从而对clickhouse表进行数据处理,实现AB实验数据的统计分析,得到AB实验数据处理结果。
在统计分析时,由于clickhouse表中的待处理事件带有属性标签,SQL任务中的SQL语句可以根据属性标签直接提取待处理事件中的相关数据进行分析计算,并可以输出该属性标签相关的数据处理结果,无需人工进行更细粒度的统计分析。例如,想要计算某实验某分组中某指标的统计值,就可以在TiDB数据库的属性列表中配置该实验该分组该指标的属性条件,候选事件如果符合该属性条件,则给候选事件添加符合该属性条件的属性标签。在执行SQL任务时,SQL语句可以根据该属性标签从各待处理事件中提取该实验该分组下的该指标值,并进行统计分析,输出相应的数据处理结果。
通常,hive被用于大数据场景的数据分析,它侧重离线和构建数仓,在软件部署、运维、平台开发等方面需要很多投入,比如搭建hadoop、hive、zookeeper集群等,使用成本很高。对比之下,clickhouse是一个数据库,具备存储和相当的计算能力,是一个高吞吐、向量化引擎,并且可以近实时看到计算结果,仅部署一个小的clickhouse集群就可处理大流量数据。本申请通过简单部署spring服务,以及单独搭建clickhouse集群,即可在低投入的基础上实现AB实验数据的快速处理。
本实施例中,通过spring服务获取AB实验数据;TiDB数据库中配置有属性列表,基于属性列表给AB实验数据中符合属性条件的候选事件添加属性标签得到待处理事件,从而实现事件更细粒度的划分;将待处理事件存储到clickhouse数据库的clickhouse表,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,在数据处理时,SQL语句可以根据属性标签直接从相关的待处理事件中提取数据并输出属性标签相关的处理结果;本申请借助高吞吐的clickhouse进行AB实验数据处理,计算速度更快,属性标签实现事件更细粒度的划分,无需人工介入进行更细粒度的统计分析,仅需要搭建spring服务与clickhouse集群便可实现大数据处理,提高了AB实验数据的处理效率。
进一步的,上述步骤S202可以包括:将TiDB数据库中配置的属性列表缓存至spring服务;基于属性列表,通过spring服务确定AB实验数据中候选事件的匹配属性,其中,匹配属性为属性列表中的事件属性或指标属性;给候选事件添加与匹配属性相对应的属性标签,得到待处理事件。
具体地,属性列表通常存储在TiDB数据库中,以减小spring服务的运行压力;在进行事件匹配时,spring服务将TiDB数据库中配置的属性列表进行缓存,然后将属性列表中的属性条件与AB实验数据中的各候选事件进行匹配,以便确定候选事件中的匹配属性。
可以通过属性列表配置需要关注的事件,此时,可以将事件名称或者事件标识作为属性条件。如果某个候选事件符合该属性条件,则该候选事件的事件名称或者事件标识为匹配属性,且该匹配属性属于事件属性。
还可以继续配置需要关注的指标,例如,属性列表中某个属性条件为指标a=10,如果某个候选事件中存在指标a,且a的值为10,则候选事件满足该属性条件,指标a为候选事件中的匹配属性,且该匹配属性属于指标属性。
给候选事件添加与匹配属性相对应的属性标签,以标记该候选事件满足相关的属性条件,得到待处理事件。
进一步的,上述基于属性列表,通过spring服务确定AB实验数据中候选事件的匹配属性的步骤之后,还可以包括:当候选事件不存在匹配的事件属性时,丢弃候选事件。
具体地,当候选事件不存在匹配的事件属性时,表明该候选事件不需要关注,为无效事件,可以直接将该候选事件丢弃,以减少需要处理的数据量,提高AB实验数据处理效率。
本实施例中,当候选事件不存在匹配的事件属性时,将该候选事件丢弃以减少计算量,提高AB实验数据处理效率。
本实施例中,基于属性列表确定AB实验数据中候选事件的匹配属性,匹配属性包括事件属性或指标属性,给候选事件添加与匹配属性相对应的属性标签,得到待处理事件,实现事件更细粒度的划分。
进一步的,上述步骤S203可以包括:将待处理事件导入预设的事件队列,其中,事件队列为有限长度;基于事件队列,将待处理事件存储到clickhouse数据库中的clickhouse表。
具体地,本申请设置了一个有限长度的事件队列queue,spring服务将待处理事件导入事件队列,然后基于该事件队列将待处理事件存储到clickhouse数据库中的clickhouse表。
当事件队列达到饱和状态时,spring服务暂停消费kafka中的AB实验分流日志和AB实验行为事件数据,通过设置事件队列的长度,可以实现限流,控制clickhouse的数据导入速度,有序地将数据导入clickhouse。
本实施例中,将待处理事件导入有限长度的事件队列,通过该事件队列可以控制clickhouse的数据导入速度,从而有序地将数据导入clickhouse。
进一步的,上述步骤S204可以包括:当达到预设的SQL任务的触发条件时,获取SQL任务的上游任务;在预设的任务状态表中查询上游任务的任务状态;当任务状态为完成状态时,通过spring服务中的节点执行SQL任务,以对clickhouse表进行数据处理,得到AB实验数据处理结果。
具体地,SQL任务具有预设的触发条件,例如,SQL任务可以是定时任务,定时触发执行。当到达SQL任务的触发条件时,先获取SQL任务的上游任务,上游任务是SQL任务所依赖的任务,SQL任务中包含需要处理的clickhouse表,clickhouse表之间的依赖关系构成SQL任务之间的依赖关系。上游任务可以通过预设的任务依赖表获取,或者,在SQL任务的代码中写入需要进行状态判断的上游任务。
本申请还设置了任务状态表,任务状态表表示各SQL任务的任务状态,包括完成状态以及未完成状态,其中,正在执行的SQL任务处于未完成状态。任务状态表可以设置在Redis中,Redis是key-value型数据库,其中,key可以是SQL任务的任务名,value以0和1表示SQL任务的任务状态(例如以0表示未完成状态,以1表示完成状态)。
当上游任务为完成状态时,表明SQL任务所依赖的数据已经准备完成,通过spring服务中的节点执行SQL任务,以对clickhouse表进行数据处理,得到AB实验数据处理结果。
本申请中,spring服务架设在多个节点上,每个节点都可以执行SQL任务。节点执行SQL任务前,先通过分布式锁对SQL任务中的clickhouse表进行加锁处理,如果所依赖的上游任务执行完成,则执行当前的SQL任务。当对该SQL任务执行完成后,节点将Redis中该SQL任务改写为完成状态,并对clickhouse表进行解锁处理。当对全部SQL任务执行完成后,表明完成对该批AB实验数据的处理,将Redis中记录的任务状态进行初始化。
本实施例中,当达到预设的SQL任务的触发条件时,获取SQL任务的上游任务,当上游任务的任务状态为完成状态时,再通过spring服务中的节点执行SQL任务,确保了AB实验数据处理结果的准确性。
进一步的,上述步骤S204之后,还可以包括:将AB实验数据处理结果发送至TiDB数据库进行存储以及展示。
具体地,在得到AB实验数据处理结果后,可以将其发送至TiDB数据库进行存储,并进行结果展示,以便将AB实验的结果反馈给开发人员,对AB实验进行进一步的改进。
本实施例中,将AB实验数据处理结果发送至TiDB数据库进行存储及展示,从而及时将AB实验的结果反馈给开发人员。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种AB实验数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的AB实验数据处理装置300包括:数据获取模块301、属性添加模块302、事件存储模块303以及数据处理模块304,其中:
数据获取模块301,用于通过spring服务获取AB实验数据。
属性添加模块302,用于根据TiDB数据库中配置的属性列表给AB实验数据中的候选事件添加属性标签,得到待处理事件。
事件存储模块303,用于将待处理事件存储到clickhouse数据库的clickhouse表。
数据处理模块304,用于执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,其中,属性标签用于提取待处理事件中的数据。
本实施例中,通过spring服务获取AB实验数据;TiDB数据库中配置有属性列表,基于属性列表给AB实验数据中符合属性条件的候选事件添加属性标签得到待处理事件,从而实现事件更细粒度的划分;将待处理事件存储到clickhouse数据库的clickhouse表,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,在数据处理时,SQL语句可以根据属性标签直接从相关的待处理事件中提取数据并输出属性标签相关的处理结果;本申请借助高吞吐的clickhouse进行AB实验数据处理,计算速度更快,属性标签实现事件更细粒度的划分,无需人工介入进行更细粒度的统计分析,仅需要搭建spring服务与clickhouse集群便可实现大数据处理,提高了AB实验数据的处理效率。
在本实施例的一些可选的实现方式中,数据获取模块301可以包括:日志获取子模块、事件获取子模块以及确定子模块,其中:
日志获取子模块,用于通过spring服务从AB实验分流服务获取AB实验分流日志。
事件获取子模块,用于通过spring服务,从预设的各平台获取实验对象的AB实验行为事件数据。
确定子模块,用于将AB实验分流日志和AB实验行为事件数据确定为AB实验数据。
本实施例中,AB实验数据包含从AB实验分流服务获取到的AB实验分流日志,以及从各平台获取到的实验对象的AB实验行为事件数据,确保了可以对AB实验进行全面的数据分析与处理。
在本实施例的一些可选的实现方式中,属性添加模块302可以包括:列表缓存子模块、属性确定子模块以及标签添加子模块,其中:
列表缓存子模块,用于将TiDB数据库中配置的属性列表缓存至spring服务。
属性确定子模块,用于基于属性列表,通过spring服务确定AB实验数据中候选事件的匹配属性,其中,匹配属性为属性列表中的事件属性或指标属性。
标签添加子模块,用于给候选事件添加与匹配属性相对应的属性标签,得到待处理事件。
本实施例中,基于属性列表确定AB实验数据中候选事件的匹配属性,匹配属性包括事件属性或指标属性,给候选事件添加与匹配属性相对应的属性标签,得到待处理事件,实现事件更细粒度的划分。
在本实施例的一些可选的实现方式中,属性添加模块302还可以包括:事件丢弃子模块,用于当候选事件不存在匹配的事件属性时,丢弃候选事件。
本实施例中,当候选事件不存在匹配的事件属性时,将该候选事件丢弃以减少计算量,提高AB实验数据处理效率。
在本实施例的一些可选的实现方式中,事件存储模块303可以包括:事件导入子模块以及事件存储子模块,其中:
事件导入子模块,用于将待处理事件导入预设的事件队列,其中,事件队列为有限长度。
事件存储子模块,用于基于事件队列,将待处理事件存储到clickhouse数据库中的clickhouse表。
本实施例中,将待处理事件导入有限长度的事件队列,通过该事件队列可以控制clickhouse的数据导入速度,从而有序地将数据导入clickhouse。
在本实施例的一些可选的实现方式中,数据处理模块304可以包括:上游获取子模块、状态查询子模块以及任务执行子模块,其中:
上游获取子模块,用于当达到预设的SQL任务的触发条件时,获取SQL任务的上游任务。
状态查询子模块,用于在预设的任务状态表中查询上游任务的任务状态。
任务执行子模块,用于当任务状态为完成状态时,通过spring服务中的节点执行SQL任务,以对clickhouse表进行数据处理,得到AB实验数据处理结果。
本实施例中,当达到预设的SQL任务的触发条件时,获取SQL任务的上游任务,当上游任务的任务状态为完成状态时,再通过spring服务中的节点执行SQL任务,确保了AB实验数据处理结果的准确性。
在本实施例的一些可选的实现方式中,AB实验数据处理装置300还可以包括:结果发送模块,用于将AB实验数据处理结果发送至TiDB数据库进行存储以及展示。
本实施例中,将AB实验数据处理结果发送至TiDB数据库进行存储及展示,从而及时将AB实验的结果反馈给开发人员。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作***和各类应用软件,例如AB实验数据处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述AB实验数据处理方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述AB实验数据处理方法。此处AB实验数据处理方法可以是上述各个实施例的AB实验数据处理方法。
本实施例中,通过spring服务获取AB实验数据;TiDB数据库中配置有属性列表,基于属性列表给AB实验数据中符合属性条件的候选事件添加属性标签得到待处理事件,从而实现事件更细粒度的划分;将待处理事件存储到clickhouse数据库的clickhouse表,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,在数据处理时,SQL语句可以根据属性标签直接从相关的待处理事件中提取数据并输出属性标签相关的处理结果;本申请借助高吞吐的clickhouse进行AB实验数据处理,计算速度更快,属性标签实现事件更细粒度的划分,无需人工介入进行更细粒度的统计分析,仅需要搭建spring服务与clickhouse集群便可实现大数据处理,提高了AB实验数据的处理效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的AB实验数据处理方法的步骤。
本实施例中,通过spring服务获取AB实验数据;TiDB数据库中配置有属性列表,基于属性列表给AB实验数据中符合属性条件的候选事件添加属性标签得到待处理事件,从而实现事件更细粒度的划分;将待处理事件存储到clickhouse数据库的clickhouse表,执行预设的SQL任务以对clickhouse表进行数据处理,得到AB实验数据处理结果,在数据处理时,SQL语句可以根据属性标签直接从相关的待处理事件中提取数据并输出属性标签相关的处理结果;本申请借助高吞吐的clickhouse进行AB实验数据处理,计算速度更快,属性标签实现事件更细粒度的划分,无需人工介入进行更细粒度的统计分析,仅需要搭建spring服务与clickhouse集群便可实现大数据处理,提高了AB实验数据的处理效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种AB实验数据处理方法,其特征在于,包括下述步骤:
通过spring服务获取AB实验数据;
根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
将所述待处理事件存储到clickhouse数据库的clickhouse表;
执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
2.根据权利要求1所述的AB实验数据处理方法,其特征在于,所述通过spring服务获取AB实验数据的步骤包括:
通过spring服务从AB实验分流服务获取AB实验分流日志;
通过所述spring服务,从预设的各平台获取实验对象的AB实验行为事件数据;
将所述AB实验分流日志和所述AB实验行为事件数据确定为AB实验数据。
3.根据权利要求1所述的AB实验数据处理方法,其特征在于,所述根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件的步骤包括:
将所述TiDB数据库中配置的属性列表缓存至所述spring服务;
基于所述属性列表,通过所述spring服务确定所述AB实验数据中候选事件的匹配属性,其中,所述匹配属性为所述属性列表中的事件属性或指标属性;
给所述候选事件添加与所述匹配属性相对应的属性标签,得到待处理事件。
4.根据权利要求3所述的AB实验数据处理方法,其特征在于,在所述基于所述属性列表,通过所述spring服务确定所述AB实验数据中候选事件的匹配属性的步骤之后,还包括:
当所述候选事件不存在匹配的事件属性时,丢弃所述候选事件。
5.根据权利要求1所述的AB实验数据处理方法,其特征在于,所述将所述待处理事件存储到clickhouse数据库的clickhouse表的步骤包括:
将所述待处理事件导入预设的事件队列,其中,所述事件队列为有限长度;
基于所述事件队列,将所述待处理事件存储到clickhouse数据库中的clickhouse表。
6.根据权利要求1所述的AB实验数据处理方法,其特征在于,所述执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果的步骤包括:
当达到预设的SQL任务的触发条件时,获取所述SQL任务的上游任务;
在预设的任务状态表中查询所述上游任务的任务状态;
当所述任务状态为完成状态时,通过所述spring服务中的节点执行所述SQL任务,以对所述clickhouse表进行数据处理,得到AB实验数据处理结果。
7.根据权利要求1所述的AB实验数据处理方法,其特征在于,在所述执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果的步骤之后,还包括:
将所述AB实验数据处理结果发送至所述TiDB数据库进行存储以及展示。
8.一种AB实验数据处理装置,其特征在于,包括:
数据获取模块,用于通过spring服务获取AB实验数据;
属性添加模块,用于根据TiDB数据库中配置的属性列表给所述AB实验数据中的候选事件添加属性标签,得到待处理事件;
事件存储模块,用于将所述待处理事件存储到clickhouse数据库的clickhouse表;
数据处理模块,用于执行预设的SQL任务以对所述clickhouse表进行数据处理,得到AB实验数据处理结果,其中,所述属性标签用于提取待处理事件中的数据。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的AB实验数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的AB实验数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310414624.7A CN116737713A (zh) | 2023-04-11 | 2023-04-11 | Ab实验数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310414624.7A CN116737713A (zh) | 2023-04-11 | 2023-04-11 | Ab实验数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737713A true CN116737713A (zh) | 2023-09-12 |
Family
ID=87915856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310414624.7A Pending CN116737713A (zh) | 2023-04-11 | 2023-04-11 | Ab实验数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737713A (zh) |
-
2023
- 2023-04-11 CN CN202310414624.7A patent/CN116737713A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507027B (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
CN111666490A (zh) | 基于kafka的信息推送方法、装置、设备及存储介质 | |
CN113836131B (zh) | 一种大数据清洗方法、装置、计算机设备及存储介质 | |
CN113282611B (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
CN116860856A (zh) | 一种财务数据处理方法、装置、计算机设备及存储介质 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN112860662B (zh) | 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN116956326A (zh) | 权限数据的处理方法、装置、计算机设备及存储介质 | |
CN117251228A (zh) | 功能管理方法、装置、计算机设备及存储介质 | |
CN117094729A (zh) | 请求处理方法、装置、计算机设备及存储介质 | |
CN113836235B (zh) | 基于数据中台的数据处理方法及其相关设备 | |
CN116383787A (zh) | 页面创建方法、装置、计算机设备及存储介质 | |
CN116737713A (zh) | Ab实验数据处理方法、装置、计算机设备及存储介质 | |
CN112182107B (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN113806372B (zh) | 新数据信息构建方法、装置、计算机设备及存储介质 | |
CN112527880B (zh) | 大数据集群元数据信息的采集方法、装置、设备及介质 | |
CN116842011A (zh) | 血缘关系分析方法、装置、计算机设备及存储介质 | |
CN117251468A (zh) | 查询处理方法、装置、计算机设备及存储介质 | |
CN117520141A (zh) | 基于人工智能的脚本推荐方法、装置、设备及存储介质 | |
CN117407469A (zh) | 集群部署方法、装置、计算机设备及存储介质 | |
CN116611936A (zh) | 数据分析方法、装置、计算机设备及存储介质 | |
CN116450667A (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN116821493A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN117390119A (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN116796133A (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 |