数据表中的数据聚合方法和装置制造方法

文档序号:6638690阅读:219来源:国知局
数据表中的数据聚合方法和装置制造方法
【专利摘要】本发明公开了一种数据表中的数据聚合方法和装置。该数据表中的数据聚合方法包括确定第一预设指标表和第二预设指标表;确定第一维度主键,其中,第一维度主键为第一预设指标表和第二预设指标表共有的维度主键;通过第一维度主键将第一预设指标表和第二预设指标表进行关联,得到关联数据表;在关联数据表中确定第二预设指标表中的待聚合指标;统计第一维度主键对应的待聚合指标的聚合结果,其中,第一维度主键对应的待聚合指标的聚合结果为关联数据表中第一维度主键对应的待聚合指标的总和与第一维度主键在第一预设指标表中的个数的比值。通过本发明,解决了现有技术对维度相差为1的两个指标表关联后的聚合计算结果不准确的问题。
【专利说明】数据表中的数据聚合方法和装置

【技术领域】
[0001] 本发明涉及数据处理领域,具体而言,涉及一种数据表中的数据聚合方法和装置。

【背景技术】
[0002] 当数据库中待查询的数据来源于两个指标表,即指标表a和指标表b,且这两个指 标表的外键关联的维度数量相差为1时,即指标表a中关联X个维度,指标表b中关联X-I 个维度,如果对这两个指标表以相同的维度主键关联后,将会造成维度数量小的指标表b 中的数据被扩大。如果对该数据库中的数据进行聚合运算将会造成聚合值被放大,严重影 响数据库中数据聚合结果的准确性。
[0003] 针对现有技术对维度相差为1的两个指标表关联后的聚合计算结果不准确的问 题,目前尚未提出有效的解决方案。


【发明内容】

[0004] 本发明的主要目的在于提供一种数据表中的数据聚合方法和装置,以解决现有技 术对维度相差为1的两个指标表关联后的聚合计算结果不准确的问题。
[0005] 为了实现上述目的,根据本发明的一个方面,提供了一种数据表中的数据聚合方 法。
[0006] 该数据表中的数据聚合方法包括:确定第一预设指标表和第二预设指标表,其中, 第一预设指标表的维度与第二预设指标表的维度相差为1,且第一预设指标表的维度大于 第二预设指标表的维度;确定第一维度主键,其中,第一维度主键为第一预设指标表和第二 预设指标表共有的维度主键;通过第一维度主键将第一预设指标表和第二预设指标表进行 关联,得到关联数据表;在关联数据表中确定第二预设指标表中的待聚合指标;统计第一 维度主键对应的待聚合指标的聚合结果,其中,第一维度主键对应的待聚合指标的聚合结 果为关联数据表中第一维度主键对应的待聚合指标的总和与第一维度主键在第一预设指 标表行数中的个数的比值。
[0007] 进一步地,通过第一维度主键将第一预设指标表和第二预设指标表进行关联,得 到关联数据表包括:根据第一预设指标表确定关联数据表的行数,其中,关联数据表的行数 与第一预设指标表的行数相同;根据第一预设指标表和待聚合指标的个数确定关联数据表 的列数,其中,关联数据表的列数为第一预设指标表的列数与待聚合指标的个数的和;根据 确定的关联数据表的行数和确定的关联数据表的列数得到关联数据表。
[0008] 进一步地,统计第一维度主键对应的待聚合指标的聚合结果包括:获取第二预设 指标表中第一维度主键对应的行在关联数据表中的重复次数,其中,第二预设指标表中第 一维度主键对应的行在关联数据表中的重复次数等于第一维度主键在第一预设指标表中 的个数;遍历关联数据表,对第一维度主键对应的待聚合指标进行求和,得到第一维度主键 对应的待聚合指标的总和;计算第一维度主键对应的待聚合指标的总和与第二预设指标表 中第一维度主键对应的行在关联数据表中的重复次数的比值;将比值作为第一维度主键对 应的待聚合指标的聚合结果。
[0009] 进一步地,在将比值作为第一维度主键对应的待聚合指标的聚合结果之后,该数 据表中的数据聚合方法还包括:获取第一预设指标表和第二预设指标表中多个相同的维度 主键;将第一预设指标表和第二预设指标表中多个相同的维度主键存入预设数据表中;在 预设数据表中遍历多个相同的维度主键中除第一维度主键之外的维度主键,分别按照每个 维度主键将第一预设指标表和第二预设指标表进行关联,得到多个中间数据表;将多个中 间数据表添加到关联数据表中。
[0010] 进一步地,在将多个中间数据表添加到关联数据表中之后,该数据表中的数据聚 合方法还包括:遍历关联数据表;分别统计关联数据表中不同维度主键对应的待聚合指标 的聚合结果;输出关联数据表中不同维度主键对应的待聚合指标的聚合结果。
[0011] 为了实现上述目的,根据本发明的另一方面,提供了一种数据表中的数据聚合装 置。
[0012] 该数据表中的数据聚合装置包括:第一确定模块,用于确定第一预设指标表和第 二预设指标表,其中,第一预设指标表的维度与第二预设指标表的维度相差为1,且第一预 设指标表的维度大于第二预设指标表的维度;第二确定模块,用于确定第一维度主键,其 中,第一维度主键为第一预设指标表和第二预设指标表共有的维度主键;第一关联模块,用 于通过第一维度主键将第一预设指标表和第二预设指标表进行关联,得到关联数据表;第 三确定模块,用于在关联数据表中确定第二预设指标表中的待聚合指标;第一统计模块,用 于统计第一维度主键对应的待聚合指标的聚合结果,其中,第一维度主键对应的待聚合指 标的聚合结果为关联数据表中第一维度主键对应的待聚合指标的总和与第一维度主键在 第一预设指标表行数中的个数的比值。
[0013] 进一步地,第一关联模块包括:第一确定子模块,用于根据第一预设指标表确定关 联数据表的行数,其中,关联数据表的行数与第一预设指标表的行数相同;第二确定子模 块,用于根据第一预设指标表和待聚合指标的个数确定关联数据表的列数,其中,关联数据 表的列数为第一预设指标表的列数与待聚合指标的个数的和;得到模块,用于根据确定的 关联数据表的行数和确定的关联数据表的列数得到关联数据表。
[0014] 进一步地,第一统计模块包括:第一获取模块,用于获取第二预设指标表中第一维 度主键对应的行在关联数据表中的重复次数,其中,第二预设指标表中第一维度主键对应 的行在关联数据表中的重复次数等于第一维度主键在第一预设指标表中的个数;第一计算 模块,用于遍历关联数据表,对第一维度主键对应的待聚合指标进行求和,得到第一维度主 键对应的待聚合指标的总和;第二计算模块,用于计算第一维度主键对应的待聚合指标的 总和与第二预设指标表中第一维度主键对应的行在关联数据表中的重复次数的比值;作为 模块,用于将比值作为第一维度主键对应的待聚合指标的聚合结果。
[0015] 进一步地,该数据表中的数据聚合装置还包括:第二获取模块,用于获取第一预设 指标表和第二预设指标表中多个相同的维度主键;存储模块,用于将第一预设指标表和第 二预设指标表中多个相同的维度主键存入预设数据表中;第二关联模块,用于在预设数据 表中遍历多个相同的维度主键中除第一维度主键之外的维度主键,分别按照每个维度主键 将第一预设指标表和第二预设指标表进行关联,得到多个中间数据表;添加模块,用于将多 个中间数据表添加到关联数据表中。
[0016] 进一步地,该数据表中的数据聚合装置还包括:遍历模块,用于遍历关联数据表; 第二统计模块,用于分别统计关联数据表中不同维度主键对应的的待聚合指标的聚合结 果;输出模块,用于输出关联数据表中不同维度主键对应的的待聚合指标的聚合结果。
[0017] 通过本发明,采用确定第一预设指标表和第二预设指标表,其中,第一预设指标表 的维度与第二预设指标表的维度相差为1,且第一预设指标表的维度大于第二预设指标表 的维度;确定第一维度主键,其中,第一维度主键为第一预设指标表和第二预设指标表共 有的维度主键;通过第一维度主键将第一预设指标表和第二预设指标表进行关联,得到关 联数据表;在关联数据表中确定第二预设指标表中的待聚合指标;统计第一维度主键对应 的待聚合指标的聚合结果,其中,第一维度主键对应的待聚合指标的聚合结果为关联数据 表中第一维度主键对应的待聚合指标的总和与第一维度主键在第一预设指标表中的个数 的比值,解决了现有技术对维度相差为1的两个指标表关联后的聚合计算结果不准确的问 题。该发明获取计算第一预设指标表和第二预设指标表以相同维度主键关联后得到的关联 数据表,然后计算粗粒度指标表即第二预设指标表在关联数据表中重复出现的次数,在对 关联数据表中的待聚合指标进行聚合计算时,将粗粒度指标表即第二预设指标表的待聚合 指标除以粗粒度指标表即第二预设指标表在关联数据表中重复出现的次数,得到了准确的 聚合结果,进而达到了保证聚合结果准确性的效果。

【专利附图】

【附图说明】
[0018] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明实施例的数据表中的数据聚合方法的流程图;以及
[0020] 图2是根据本发明实施例的数据表中的数据聚合装置的示意图。

【具体实施方式】
[0021] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0022] 为了使本【技术领域】的人员更好地理解本申请方案,下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范 围。
[0023] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使 用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语"包括"和 "具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元 的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有 清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0024] 本发明旨在提供一种数据表中的数据聚合方法和装置。
[0025] 图1是根据本发明实施例的数据表中的数据聚合方法的流程图。如图1所示,该 方法包括如下的步骤SlOl至步骤S105 :
[0026] 步骤SlOl,确定第一预设指标表和第二预设指标表。
[0027] 优选地,该实施例的数据表中的数据聚合方法中的第一预设指标表的维度与第二 预设指标表的维度相差为1,且第一预设指标表的维度大于第二预设指标表的维度。比如, 第一预设指标表为指标表a,第二预设指标表为指标表b,其中,指标表a关联2个维度,分 别为广告、项目,指标表a中的指标为点击量;指标表b关联1个维度,为广告,指标表b中 的指标为订单量。指标表中的维度主键即为维度对应的值,指标表中每个维度的主键值可 以有一个也可以由多个。比如,指标表a中的维度广告的主键包括广告1,广告2 ;指标表b 中的维度广告的主键包括广告1和广告2。指标表a如表1所不,指标表b如表2所不。
[0028] 表1指标表a
[0029]

【权利要求】
1. 一种数据表中的数据聚合方法,其特征在于,包括: 确定第一预设指标表和第二预设指标表,其中,所述第一预设指标表的维度与所述第 二预设指标表的维度相差为1,且所述第一预设指标表的维度大于所述第二预设指标表的 维度; 确定第一维度主键,其中,所述第一维度主键为所述第一预设指标表和所述第二预设 指标表共有的维度主键; 通过所述第一维度主键将所述第一预设指标表和所述第二预设指标表进行关联,得到 关联数据表; 在所述关联数据表中确定所述第二预设指标表中的待聚合指标;以及 统计所述第一维度主键对应的所述待聚合指标的聚合结果,其中,所述第一维度主键 对应的待聚合指标的聚合结果为所述关联数据表中所述第一维度主键对应的所述待聚合 指标的总和与所述第一维度主键在所述第一预设指标表中的个数的比值。
2. 根据权利要求1所述的数据表中的数据聚合方法,其特征在于,通过所述第一维度 主键将所述第一预设指标表和所述第二预设指标表进行关联,得到关联数据表包括: 根据所述第一预设指标表确定所述关联数据表的行数,其中,所述关联数据表的行数 与所述第一预设指标表的行数相同; 根据所述第一预设指标表和所述待聚合指标的个数确定所述关联数据表的列数,其 中,所述关联数据表的列数为所述第一预设指标表的列数与所述待聚合指标的个数的和; 以及 根据确定的所述关联数据表的行数和确定的所述关联数据表的列数得到所述关联数 据表。
3. 根据权利要求1所述的数据表中的数据聚合方法,其特征在于,统计所述第一维度 主键对应的待聚合指标的聚合结果包括: 获取所述第二预设指标表中所述第一维度主键对应的行在所述关联数据表中的重复 次数,其中,所述第二预设指标表中所述第一维度主键对应的行在所述关联数据表中的重 复次数等于所述第一维度主键在所述第一预设指标表中的个数; 遍历所述关联数据表,对所述第一维度主键对应的所述待聚合指标进行求和,得到所 述第一维度主键对应的所述待聚合指标的总和; 计算所述第一维度主键对应的所述待聚合指标的总和与所述第二预设指标表中所述 第一维度主键对应的行在所述关联数据表中的重复次数的比值;以及 将所述比值作为所述第一维度主键对应的所述待聚合指标的聚合结果。
4. 根据权利要求3所述的数据表中的数据聚合方法,其特征在于,在将所述比值作为 所述第一维度主键对应的所述待聚合指标的聚合结果之后,所述方法还包括: 获取所述第一预设指标表和所述第二预设指标表中多个相同的维度主键; 将所述第一预设指标表和所述第二预设指标表中多个相同的维度主键存入预设数据 表中; 在所述预设数据表中遍历所述多个相同的维度主键中除所述第一维度主键之外的维 度主键,分别按照每个维度主键将所述第一预设指标表和所述第二预设指标表进行关联, 得到多个中间数据表;以及 将所述多个中间数据表添加到所述关联数据表中。
5. 根据权利要求4所述的数据表中的数据聚合方法,其特征在于,在将所述多个中间 数据表添加到所述关联数据表中之后,所述方法还包括: 遍历所述关联数据表; 分别统计所述关联数据表中不同维度主键对应的所述待聚合指标的聚合结果;以及 输出所述关联数据表中不同维度主键对应的所述待聚合指标的聚合结果。
6. -种数据表中的数据聚合装置,其特征在于,包括: 第一确定模块,用于确定第一预设指标表和第二预设指标表,其中,所述第一预设指标 表的维度与所述第二预设指标表的维度相差为1,且所述第一预设指标表的维度大于所述 第二预设指标表的维度; 第二确定模块,用于确定第一维度主键,其中,所述第一维度主键为所述第一预设指标 表和所述第二预设指标表共有的维度主键; 第一关联模块,用于通过所述第一维度主键将所述第一预设指标表和所述第二预设指 标表进行关联,得到关联数据表; 第三确定模块,用于在所述关联数据表中确定所述第二预设指标表中的待聚合指标; 以及 第一统计模块,用于统计所述第一维度主键对应的所述待聚合指标的聚合结果,其中, 所述第一维度主键对应的待聚合指标的聚合结果为所述关联数据表中所述第一维度主键 对应的所述待聚合指标的总和与所述第一维度主键在所述第一预设指标表中的个数的比 值。
7. 根据权利要求6所述的数据表中的数据聚合装置,其特征在于,所述第一关联模块 包括: 第一确定子模块,用于根据所述第一预设指标表确定所述关联数据表的行数,其中,所 述关联数据表的行数与所述第一预设指标表的行数相同; 第二确定子模块,用于根据所述第一预设指标表和所述待聚合指标的个数确定所述关 联数据表的列数,其中,所述关联数据表的列数为所述第一预设指标表的列数与所述待聚 合指标的个数的和;以及 得到模块,用于根据确定的所述关联数据表的行数和确定的所述关联数据表的列数得 到所述关联数据表。
8. 根据权利要求6所述的数据表中的数据聚合装置,其特征在于,所述第一统计模块 包括: 第一获取模块,用于获取所述第二预设指标表中所述第一维度主键对应的行在所述关 联数据表中的重复次数,其中,所述第二预设指标表中所述第一维度主键对应的行在所述 关联数据表中的重复次数等于所述第一维度主键在所述第一预设指标表中的个数; 第一计算模块,用于遍历所述关联数据表,对所述第一维度主键对应的所述待聚合指 标进行求和,得到所述第一维度主键对应的所述待聚合指标的总和; 第二计算模块,用于计算所述所述第一维度主键对应的待聚合指标的总和与所述第二 预设指标表中所述第一维度主键对应的行在所述关联数据表中的重复次数的比值;以及 作为模块,用于将所述比值作为所述第一维度主键对应的所述待聚合指标的聚合结 果。
9. 根据权利要求8所述的数据表中的数据聚合装置,其特征在于,所述装置还包括: 第二获取模块,用于获取所述第一预设指标表和所述第二预设指标表中多个相同的维 度主键; 存储模块,用于将所述第一预设指标表和所述第二预设指标表中多个相同的维度主键 存入预设数据表中; 第二关联模块,用于在所述预设数据表中遍历所述多个相同的维度主键中除所述第一 维度主键之外的维度主键,分别按照每个维度主键将所述第一预设指标表和所述第二预设 指标表进行关联,得到多个中间数据表;以及 添加模块,用于将所述多个中间数据表添加到所述关联数据表中。
10. 根据权利要求9所述的数据表中的数据聚合装置,其特征在于,所述装置还包括: 遍历模块,用于遍历所述关联数据表; 第二统计模块,用于分别统计所述关联数据表中不同维度主键对应的所述待聚合指标 的聚合结果;以及 输出模块,用于输出所述关联数据表中不同维度主键对应的所述待聚合指标的聚合结 果。
【文档编号】G06F17/30GK104484398SQ201410773623
【公开日】2015年4月1日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】廖小利 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1