发明内容
本发明的主要目的在于提供一种数据表中的数据处理方法和装置,以解决现有技术对由多个大数据量的指标表关联后得到的数据表中的数据处理效率低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据表中的数据处理方法。
该数据表中的数据处理方法包括:确定多个预设指标表,其中,多个预设指标表均包括第一维度;确定第一维度表,其中,第一维度表为与第一维度对应的维度表;遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表;将多个聚合后的指标表与第一维度表进行关联,得到关联数据表;对关联数据表进行分组聚合。
进一步地,将多个聚合后的指标表与第一维度表进行关联,得到关联数据表包括:确定第一维度主键,其中,第一维度主键为多个聚合后的指标表共有的维度主键,第一维度主键为第一维度对应的键值;按照第一维度主键将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
进一步地,遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表包括:遍历多个预设指标表;按照预设规则,分别将多个预设指标表中的预设指标表转化成第一维度对应的指标表,得到多个第一维度对应的指标表。
进一步地,对关联数据表进行分组聚合包括:获取关联数据表中维度的属性;按照关联数据表中维度的属性将关联数据表中的维度进行分组,得到分组后的关联数据表;确定分组后的关联数据表中的待聚合指标;遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果。
进一步地,在遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果之后,该数据表中的数据处理方法还包括:根据待聚合指标和与待聚合指标对应的聚合结果生成图表;输出图表。
为了实现上述目的,根据本发明的另一方面,提供了一种数据表中的数据处理装置。
该数据表中的数据处理装置包括:第一确定模块,用于确定多个预设指标表,其中,多个预设指标表均包括第一维度;第二确定模块,用于确定第一维度表,其中,第一维度表为与第一维度对应的维度表;第一分组聚合模块,用于遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表;关联模块,用于将多个聚合后的指标表与第一维度表进行关联,得到关联数据表;第二分组聚合模块,用于对关联数据表进行分组聚合。
进一步地,关联模块包括:第一确定子模块,用于确定第一维度主键,其中,第一维度主键为多个聚合后的指标表共有的维度主键,第一维度主键为第一维度对应的键值;第一关联子模块,用于按照第一维度主键将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
进一步地,第一分组聚合模块包括:遍历模块,用于遍历多个预设指标表;转化模块,用于按照预设规则,分别将多个预设指标表中的预设指标表转化成第一维度对应的指标表,得到多个第一维度对应的指标表。
进一步地,第二分组聚合模块包括:获取模块,用于获取关联数据表中维度的属性;分组模块,用于按照关联数据表中维度的属性将关联数据表中的维度进行分组,得到分组后的关联数据表;第二确定子模块,用于确定分组后的关联数据表中的待聚合指标;聚合模块,用于遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果。
进一步地,该数据表中的数据处理装置还包括:生成模块,用于根据待聚合指标和与待聚合指标对应的聚合结果生成图表;输出模块,用于输出图表。
通过本发明,采用确定多个预设指标表,其中,多个预设指标表均包括第一维度;确定第一维度表,其中,第一维度表为与第一维度对应的维度表;遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表;将多个聚合后的指标表与第一维度表进行关联,得到关联数据表;对关联数据表进行分组聚合,解决了现有技术对由多个大数据量的指标表关联后得到的数据表中的数据处理效率低的问题。该发明通过对大数据量的指标表按照维度主键进行分组和聚合计算后,得到数据量缩小后的指标表,将数据量缩小后的指标表进行联接,得到关联后的数据表。对关联后的数据表进行分组和聚合计算,进而达到了减少数据表中的数据量,提高数据表中的数据处理效率的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明旨在提供一种数据表中的数据处理方法和装置。
图1是根据本发明实施例的数据表中的数据处理方法的流程图。如图1所示,该数据表中的数据处理方法包括如下的步骤S101至步骤S105:
步骤S101,确定多个预设指标表。
指标表是应用系统用以存储检测或者计算出的指标的表,指标表一般会外键关联一个或者多个维度表,用以表示维度上的指标表现。比如,广告投放系统中的广告性能表,该指标表包含点击、曝光、独立点击等指标列,且外键关联维度表广告和时间。该实施例的数据表中的数据处理方法中的预设指标表中的数据量很大,而且该实施例中的多个预设指标表均包括第一维度。比如,多个预设指标表分别为指标表B1,指标表B2,指标表B3,其中,指标表B1外键关联广告和项目两个维度表,指标为点击量和曝光量;指标表B2外键关联媒体和项目两个维度表,指标为订单量和访问量;指标表B3外键关联广告位和项目两个维度表,指标为事件数量和事件总价值。指标表B1如表1所示,指标表B2如表2所示,指标表B3如表3所示。
表1,指标表B1
广告 |
项目 |
点击量 |
曝光量 |
1 |
1 |
2 |
5 |
2 |
1 |
3 |
2 |
3 |
2 |
3 |
3 |
4 |
2 |
4 |
4 |
… |
… |
… |
… |
表2,指标表B2
媒体 |
项目 |
订单量 |
访问量 |
1 |
1 |
12 |
15 |
2 |
1 |
33 |
22 |
3 |
2 |
23 |
23 |
4 |
2 |
41 |
14 |
… |
… |
… |
… |
表3,指标表B3
广告位 |
项目 |
事件数量 |
事件价值 |
1 |
1 |
20 |
55 |
2 |
1 |
30 |
26 |
3 |
2 |
30 |
38 |
4 |
2 |
40 |
40 |
… |
… |
… |
… |
步骤S102,确定第一维度表。
维度表是应用系统中的实体表,比如广告投放系统中的广告、项目、媒体、广告位等都是维度表。该实施例的数据表中的数据处理方法中的第一维度表为与第一维度对应的维度表。如步骤S101中的具体实例中的表1、表2和表3所示,第一维度为项目,则第一维度表为项目对应的维度表。
步骤S103,遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表。
优选地,该实施例的数据表中的数据处理方法中遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表包括:遍历多个预设指标表;按照预设规则,分别将多个预设指标表中的预设指标表转化成第一维度对应的指标表,得到多个第一维度对应的指标表。其中,对指标表进行分组是指按照维度属性分组,然后将分组后的指标表进行指标的聚合计算。
表4指标表B1分组聚合后的数据表
项目 |
点击量 |
曝光量 |
1 |
5 |
7 |
2 |
7 |
7 |
… |
… |
… |
比如,对于指标表B1,将指标表B1中的广告按照第一维度,即项目,进行分组聚合计算之后得到的数据表如表4所示。其中,将项目1中包括广告1和广告2,项目1的点击量和曝光量分别等于广告1和广告2的点击量和广告量的总和;项目2中包括广告3和广告4,项目2的点击量和曝光量分别等于广告3和广告4的点击量和广告量的总和。同理,将指标表B2中的媒体按照项目进行分组聚合,得到的数据表如表5所示,将指标表B3中的广告位按照项目进行分组聚合,得到的数据表如表6所示。
表5,指标表B2分组聚合后的数据表
项目 |
订单量 |
访问量 |
1 |
45 |
37 |
2 |
64 |
37 |
… |
… |
… |
表6,指标表B3分组聚合后的数据表
项目 |
事件数量 |
事件价值 |
1 |
50 |
81 |
2 |
70 |
78 |
… |
… |
… |
该实施例的数据表中的数据处理方法将大数据量的指标表按照维度主键进行分组聚合计算后,降低了指标表中的数据量,简化了指标表,有利于对指标表进行联接操作。
步骤S104,将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
优选地,该实施例的数据表中的数据处理方法中将多个聚合后的指标表与第一维度表进行关联,得到关联数据表包括:确定第一维度主键,其中,第一维度主键为多个聚合后的指标表共有的维度主键,第一维度主键为第一维度对应的键值;按照第一维度主键将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
表7项目维度表
比如,聚合后的指标表如表4、表5和表6所示,其中,第一维度主键为项目1和项目2。第一维度表,即项目对应的维度表如表7所示,其中,名目名称为X对应项目1和项目2。按照项目1和项目2对上述三个指标表进行联接,得到的关联数据表如表8所示。
表8关联数据表
项目名称 |
项目 |
点击量 |
曝光量 |
订单量 |
访问量 |
事件数量 |
事件价值 |
X |
1 |
5 |
7 |
45 |
37 |
50 |
81 |
X |
2 |
7 |
7 |
64 |
37 |
70 |
78 |
… |
… |
… |
… |
… |
… |
… |
… |
该实施例的数据表中的数据处理方法将多个聚合后的指标表与维度表进行联接,有利于数据分析者在同一个数据表中对多个维度的指标进行相关统计分析,提高了数据表中的数据处理效率。
步骤S105,对关联数据表进行分组聚合。
优选地,该实施例的数据表中的数据处理方法中对关联数据表进行分组聚合包括:获取关联数据表中维度的属性;按照关联数据表中维度的属性将关联数据表中的维度进行分组,得到分组后的关联数据表;确定分组后的关联数据表中的待聚合指标;遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果。
比如,如表8所示,对该关联数据表中的维度项目名称属性进行分组,即项目1和项目2同属于项目名称X,项目名称X对应的各个指标的值为项目1和项目2的各个指标的聚合值。对关联数据表进行分组聚合计算后得到的数据表如表9所示。
表9关联数据表分组聚合后的数据表
项目名称 |
点击量 |
曝光量 |
订单量 |
访问量 |
事件数量 |
事件价值 |
X |
12 |
14 |
109 |
74 |
120 |
159 |
… |
… |
… |
… |
… |
… |
… |
该实施例的数据表中的数据处理方法对多个经过分组聚合计算后得到的指标表与维度表进行联接得到的关联数据表进行分组聚合计算,在缩小指标表数据量的基础上,进一步减少了关联数据表中的数据量,提高了对关联数据表中的数据进行处理的效率。
优选地,在遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果之后,该实施例的数据表中的数据处理方法还包括:根据待聚合指标和与待聚合指标对应的聚合结果生成图表;输出图表。
该实施例的数据表中的数据处理方法以可视化的方式将分组聚合后的数据表中的指标和与指标对应的指标聚合结果进行输出,便于直观地对指标聚合结果进行统计分析,提高了对数据表中数据的处理效率。
该实施例的数据表中的数据处理方法采用确定多个预设指标表,其中,多个预设指标表均包括第一维度;确定第一维度表,其中,第一维度表为与第一维度对应的维度表;遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表;将多个聚合后的指标表与第一维度表进行关联,得到关联数据表;对关联数据表进行分组聚合,解决了现有技术对由多个大数据量的指标表关联后得到的数据表中的数据处理效率低的问题,达到了降低数据表中的数据量,提高数据表中的数据处理效率的效果。
从以上的描述中,可以看出,本发明实施例的数据表中的数据处理方法首先分别将多个大数据量的指标表按照维度主键进行一次分组和聚合计算,来减少指标表的数据量,然后基于分组和聚合计算后的小数据量的指标表进行关联,得到关联后的数据表,对关联后的数据表再进行分组和聚合计算。解决了现有技术对由多个大数据量的指标表关联后得到的数据表中的数据处理效率低的问题,达到了降低数据表中的数据量的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种数据表中的数据处理装置。需要说明的是,该数据表中的数据处理装置可以用于执行本发明实施例的数据表中的数据处理方法。
图2是根据本发明实施例的数据表中的数据处理装置的示意图。如图2所示,该数据表中的数据处理装置包括:第一确定模块10,第二确定模块20,第一分组聚合模块30,关联模块40和第二分组聚合模块50。
第一确定模块10,用于确定多个预设指标表,其中,多个预设指标表均包括第一维度。
第二确定模块20,用于确定第一维度表,其中,第一维度表为与第一维度对应的维度表。
第一分组聚合模块30,用于遍历多个预设指标表,分别对多个预设指标表中的每个预设指标表按照维度主键进行分组聚合,得到多个聚合后的指标表。
优选地,第一分组聚合模块30包括:遍历模块,用于遍历多个预设指标表;转化模块,用于按照预设规则,分别将多个预设指标表中的预设指标表转化成第一维度对应的指标表,得到多个第一维度对应的指标表。
关联模块40,用于将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
关联模块40包括:第一确定子模块,用于确定第一维度主键,其中,第一维度主键为多个聚合后的指标表共有的维度主键,第一维度主键为第一维度对应的键值;第一关联子模块,用于按照第一维度主键将多个聚合后的指标表与第一维度表进行关联,得到关联数据表。
第二分组聚合模块50,用于对关联数据表进行分组聚合。
优选地,第二分组聚合模块50包括:获取模块,用于获取关联数据表中维度的属性;分组模块,用于按照关联数据表中维度的属性将关联数据表中的维度进行分组,得到分组后的关联数据表;第二确定子模块,用于确定分组后的关联数据表中的待聚合指标;聚合模块,用于遍历分组后的关联数据表中的待聚合指标,分别对分组后的关联数据表中的每个待聚合指标进行聚合运算,得到与待聚合指标对应的聚合结果。
优选地,该实施例的数据表中的数据处理装置还包括:生成模块,用于根据待聚合指标和与待聚合指标对应的聚合结果生成图表;输出模块,用于输出图表。
该实施例的数据表中的数据处理装置包括第一确定模块10,第二确定模块20,第一分组聚合模块30,关联模块40和第二分组聚合模块50。通过该实施例的数据表中的数据处理装置解决了现有技术对由多个大数据量的指标表关联后得到的数据表中的数据处理效率低的问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。