一种多维度聚合方法、系统、电子设备及存储介质技术方案

技术编号:36205394 阅读:49 留言:0更新日期:2023-01-04 12:00
本发明专利技术公开了一种多维度聚合方法、系统、电子设备及存储介质。包括:通过调度组件从下游算子获取多个数据块;通过聚合工作任务组件中的多个执行器算子,对所述多个数据块执行单维度聚合计算得到多个单维度的列数据后,将所述多个数据块中的数据持久化落盘;通过聚合索引组件生成所述多个单维度的列数据对应的二级索引,一个单维度的列数据生成多个二级索引;通过所述多个执行器算子基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,所述聚合表为一连串二级索引的组合,一个单维度的列数据生成的多个二级索引构成一个聚合表。该方法通过数据分块和二级索引的联动,提供一种实时的、内存和中央处理器使用最优平衡的多维度聚合方法。优平衡的多维度聚合方法。优平衡的多维度聚合方法。

【技术实现步骤摘要】
一种多维度聚合方法、系统、电子设备及存储介质


[0001]本专利技术实施例涉及多维度聚合
,尤其涉及一种多维度聚合方法、系统、电子设备及存储介质。

技术介绍

[0002]多维度聚合分析是企业常见的商务智能(Business Intelligence,BI)需求。针对多个业务指标,进行维度组合,分析出业务数据在不同业务维度下的表现。多维度聚合算法主要有以下几种实现方式:
[0003]方式一,Kylin,在数据库空闲时提前计算好结果,并以临时表存储,当用户发起多维度聚合查询请求时直接从临时表中读取。
[0004]方式二、Druid,数据库底层数据结构和基础接口针对多维度聚合做专门设计,在原始数据注入时就进行数据预聚合并持久化,当用户发起多维度聚合查询请求时对之前预聚合的数据进行汇总。
[0005]方式三、Mysql,首先对表中数据做全排序,然后针对多维度做流式聚合。
[0006]上述三种方式存在以下缺点:方式一的缺点是数据非实时;方式二的缺点为存在比较大的限制性,一方面体现在预聚合导致数据插入延时较高,另一方面体现在需要提前确定对哪些业务做预聚合;方式三的缺点为在分布式联机事务处理(On

Line Transaction Processor,OLTP)场景下,对一个业务分析表做全排序的代价较大。

技术实现思路

[0007]本专利技术提供了一种多维度聚合方法、系统、电子设备及存储介质,以解决现有多维度聚合算法存在数据非实时、限制性较大以及代价较大的问题。
[0008]根据本专利技术的一方面,提供了一种多维度聚合方法,包括:
[0009]通过调度组件从下游算子获取多个数据块;
[0010]通过聚合工作任务组件中的多个执行器算子,对所述多个数据块执行单维度聚合计算得到多个单维度的列数据后,将所述多个数据块中的数据持久化落盘;
[0011]通过聚合索引组件生成所述多个单维度的列数据对应的二级索引,一个单维度的列数据生成多个二级索引;
[0012]通过所述多个执行器算子基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,所述聚合表为一连串二级索引的组合,一个单维度的列数据生成的多个二级索引构成一个聚合表。
[0013]根据本专利技术的另一方面,提供了一种多维度聚合系统,包括调度组件、聚合工作任务组件以及聚合索引组件,所述聚合工作任务组件分别与所述调度组件以及所述聚合索引组件相连;
[0014]所述调度组件,用于从下游算子获取多个数据块;
[0015]所述聚合工作任务组件,用于通过多个执行器算子对所述多个数据块执行单维度
聚合计算得到多个单维度的列数据后,将所述多个数据块中的数据持久化落盘;
[0016]所述聚合索引组件,用于生成所述多个单维度的列数据对应的二级索引,一个单维度的列数据生成多个二级索引;
[0017]所述聚合工作任务组件,还用于通过所述多个执行器算子基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,所述聚合表为一连串二级索引的组合,一个单维度的列数据生成的多个二级索引构成一个聚合表。
[0018]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;以及
[0019]与所述至少一个处理器通信连接的存储器;其中,
[0020]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的多维度聚合方法。
[0021]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的多维度聚合方法。
[0022]本专利技术实施例的技术方案,通过调度组件从下游算子获取多个数据块;通过聚合工作任务组件中的多个执行器算子,对所述多个数据块执行单维度聚合计算得到多个单维度的列数据后,将所述多个数据块中的数据持久化落盘;通过聚合索引组件生成所述多个单维度的列数据对应的二级索引,一个单维度的列数据生成多个二级索引;通过所述多个执行器算子基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,所述聚合表为一连串二级索引的组合,一个单维度的列数据生成的多个二级索引构成一个聚合表,解决了现有技术中存在的多种问题,取到了能够提供一种实时的、内存中央处理器使用的最优平衡的多维度聚合方法。
[0023]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0024]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本专利技术实施例一提供的一种多维度聚合方法的流程示意图;
[0026]图2为本专利技术实施例一提供的一种多维度聚合方法的部分流程示意图;
[0027]图3为本专利技术实施例一提供的一种多维度聚合方法中的二级索引示例图;
[0028]图4为本专利技术实施例一提供的一种多维度聚合方法中的聚合表合并的第一流程示例图;
[0029]图5为本专利技术实施例一提供的一种多维度聚合方法中的聚合表合并的第二流程示例图;
[0030]图6为本专利技术实施例二提供的一种多维度聚合系统的结构示意图;
[0031]图7为本专利技术实施例三提供的一种多维度聚合系统的结构示意图;
[0032]图8为本专利技术实施例的多维度聚合方法的电子设备的结构示意图。
具体实施方式
[0033]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。应当理解,本专利技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本专利技术的范围在此方面不受限制。
[0034]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0035]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多维度聚合方法,其特征在于,所述方法包括:通过调度组件从下游算子获取多个数据块;通过聚合工作任务组件中的多个执行器算子,对所述多个数据块执行单维度聚合计算得到多个单维度的列数据后,将所述多个数据块中的数据持久化落盘;通过聚合索引组件生成所述多个单维度的列数据对应的二级索引,一个单维度的列数据生成多个二级索引;通过所述多个执行器算子基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,所述聚合表为一连串二级索引的组合,一个单维度的列数据生成的多个二级索引构成一个聚合表。2.根据权利要求1所述的方法,其特征在于,对所述多个数据块执行单维度聚合计算得到多个单维度的列数据,包括:将所述多个数据块放入聚合工作队列中,通过所述聚合工作任务组件确定出多个多维度组合,一个多维度组合由至少一个列对应的数据构成;针对一个目标数据块,通过所述聚合工作任务组件,基于所述目标数据块确定出的多个多维度组合,生成相应的有向无环图;通过所述聚合工作任务组件对所述多个数据块进行遍历时,将所述有向无环图中的多个完整链路的首个节点对应的数据执行单维度聚合计算,得到多个单维度的列数据。3.根据权利要求1所述的方法,其特征在于,一个单维度的列数据生成多个二级索引,每个二级索引具有对应的键值对,键值对中的键表示一个单维度数据,键值对中的值表示一个单维度的列数据中的一个数据;一个二级索引包括数据块索引和行索引,所述数据索引标识所述一个单维度的列数据所在的数据块,所述行索引标识所述一个单维度的列数据所在的列。4.根据权利要求1所述的方法,其特征在于,基于二级索引和二分法查找执行聚合表合并,得到多个目标聚合表,包括:基于二级索引和二分法查找对有向无环图中的每个完整链路中的各节点执行聚合表合并,得到多个目标聚合表,所述各节点由单维度的列数据构成。5.根据权利要求4所述的方法,其特征在于,针对一个完整链路,根据所述一个完整链路中各节点的数据流向确定合并顺序;按照所述合并顺序,基于二级索引和二分法查找,将所述完整链路中的首个节点对应的第一聚合表和第二节点对应的第二聚合表进行合并,得到初始目标聚合表;基于二级索引和二分法查找,将所述初始目标聚合表再与第三节点对应的第三聚合表合并,直到所有节点对应的聚合表全部合并完成得到目标聚合表。6.根据权利要求5所述的方法,其特征在于,基于二级索引和二分法查找,将首个节...

【专利技术属性】
技术研发人员:王帅
申请(专利权)人:星环信息科技上海股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1