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

多维数据的数据分析方法、数据分析装置和数据分析系统

文献发布时间:2024-04-18 19:58:21


多维数据的数据分析方法、数据分析装置和数据分析系统

技术领域

本发明涉及数据处理领域,具体而言,涉及一种多维数据的数据分析方法、数据分析装置、计算机可读存储介质和数据分析系统。

背景技术

联机分析处理(Online Analytical Processing,OLAP)系统是数据仓库系统最主要的应用,专门用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,ROLAP)、多维OLAP(MultidimensionalOLAP,MOLAP)和混合型OLAP(HybridOLAP,HOLAP)三种类型。其中,MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。MOLAP操作包括:下钻(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot)。

基于海量数据的MOLAP多维分析,首先要解决的是大数据量的计算问题。第二个是维度的问题,多维分析常常需要多十多个维度上进行分析,并且维度之间需要组合进行分析,这就导致大数据量级的计算任务剧增。第三个是无法保证多维分析查询结果的时效性。

现有技术只是考虑了如何构建数据模型及设置维度和度量,没有考虑的维度的个数对后续的影响。现有技术都会对每一个维度之间进行组合,进行预计算,并将结果保存在数据库或分布式存储中。假设有4个维度,那维度组合只有2^4=16中形式。但实际情况中,多维分析的维度数量一般远远大于4个。假设有20个维度,那维度组合就有2^20=1048576个,这种数量级的维度组合,对数据计算、存储都会是巨大的压力。

发明内容

本申请的主要目的在于提供一种多维数据的数据分析方法、数据分析装置、计算机可读存储介质和数据分析系统,以至少解决现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种多维数据的数据分析方法,包括:获取目标数据表,并对所述目标数据表进行分析得到事实表和多个维度表,所述目标数据表为待数据分析的数据表,所述事实表用于存储事件记录,所述维度表用于存储所述事实表中所述事件记录的特性;根据所述事实表和各所述维度表分析得到多个维度字段和多个度量字段,所述维度字段为用于描述所述事件记录特性的字段,所述度量字段为所述事件记录中的数值的字段,一个所述维度字段对应一个所述度量字段;对各所述维度字段进行分析确定各所述维度字段之间的第一关联类型并根据所述第一关联类型对所述维度字段进行组合得到多个第一维度组,所述第一关联类型包括相似字段、互斥字段和无关联字段,所述第一维度组中任意两个所述维度字段之间的所述第一关联类型不为所述相似字段或所述互斥字段;将与各所述第一维度组中的所述维度字段对应的所述度量字段添加至对应的所述第一维度组得到多个第二维度组,并根据各所述第二维度组构建对应数据模型得到多个立方体;对各立方体进行数据分析得到多个数据分析结果。

可选地,根据所述事实表和各所述维度表分析得到多个维度字段和多个度量字段,包括:对所述事实表和各所述维度表中的字段进行对比,得到多个关联字段和无意义字段,所述关联字段为所述维度表中与所述事实表中相同的字段,所述无意义字段为所述事实表和所述维度表中用于表征系统状态控制和配置控制的字段;根据各所述维度表中所述关联字段的占比确定所述维度表与所述事实表的第二关联类型,所述第二关联类型包括内关联、左外关联、右外关联和全外关联,所述第二关联类型与所述维度表一一对应;删除所述事实表和各所述维度表中的所述无意义字段,并根据所述事实表、各所述维度表和各所述第二关联类型构建星型数据模型;对所述星型数据模型中的各所述字段进行分析,得到多个所述维度字段和所述度量字段。

可选地,对各所述维度字段进行分析确定各所述维度字段之间的第一关联类型,包括:对各所述维度字段进行语义分析,将对应语义相似度超出第一阈值的所述维度字段之间的第一关联类型确定为所述相似字段;查阅预设信息表得到对应所述第一关联类型为所述互斥字段的所述维度字段,所述预设信息表包括数据分析需求中不进行组合的所述维度字段;将所述第一关联类型不是所述相似字段和所述互斥字段的所述维度字段之间的所述第一关联类型确定为无关联字段。

可选地,根据所述第一关联类型对所述维度字段进行组合得到多个第一维度组,包括:对各所述维度字段进行分析并将对应同一所述特性的所述维度字段归类为同一层级得到多个维度层次;根据所述第一关联类型和所述维度层次对所述维度字段进行组合得到多个所述第一维度组,所述第一维度组中任意两个所述维度字段不处于同一所述维度层次。

可选地,将与各所述第一维度组中的所述维度字段对应的所述度量字段添加至对应的所述第一维度组得到多个第二维度组,并根据各所述第二维度组构建对应数据模型得到多个立方体,包括:获取步骤,获取多个目标关联字段,所述目标关联字段为与目标第一维度组中所述维度字段存在相同的字段的所述关联字段,所述目标第一维度组为所述第一维度组中的任意一个;确定步骤,根据各所述目标关联字段确定目标度量字段,所述目标度量字段为存在与所述关联字段相同字段的所述度量字段;整合步骤,将多个所述目标度量字段添加至所述目标第一维度组得到所述第二维度组;依次重复所述获取步骤、所述确定步骤和所述整合步骤至少一次,直至得到所有所述第二维度组;根据各所述第二维度组中的所述维度字段和所述度量字段设置对应运算函数得到多个度量函数,所述度量函数包括求和、求最小值、求最大值、求平均值、计数、求标准差和求方差;根据各所述第二维度组和对应的所述度量函数构建数据模型得到对应的所述立方体。

可选地,对各立方体进行数据分析得到多个数据分析结果,包括:第一构建步骤,根据目标立方体中的所述维度字段构建分组SQL语句,所述目标立方体为所述立方体中的任意一个;第二构建步骤,根据所述目标立方体中的所述度量函数构建取值SQL语句;组合步骤,对所述分组SQL语句和所述取值SQL语句进行组合得到对应的目标SQL语句;依次重复所述第一构建步骤、所述第二构建步骤和所述组合步骤至少一次,直到得到所有所述立方体对应的所述目标SQL语句;依次执行各所述目标SQL语句得到各所述立方体对应的所述数据分析结果。

可选地,在对各立方体进行数据分析得到多个数据分析结果之后,所述方法还包括:对各所述维度字段进行排序得到与各所述维度字段对应的序列号;根据各所述立方体中所述维度字段对各所述序列号设置对应的标识信息,所述标识信息用于表征所述序列号对应的所述维度字段是否存在于所述立方体;根据所述标识信息生成第一行键值,根据所述数据分析结果生成第二行键值;对所述第一行键值与所述第二行键值进行组合得到目标行键值,并将所述目标行键值存储至分布式集群中对应位置。

根据本申请的另一方面,提供了一种多维数据的数据分析装置,所述装置包括:获取单元,用于获取目标数据表,并对所述目标数据表进行分析得到事实表和多个维度表,所述目标数据表为待数据分析的数据表,所述事实表用于存储事件记录,所述维度表用于存储所述事实表中所述事件记录的特性;第一分析单元,用于根据所述事实表和各所述维度表分析得到多个维度字段和多个度量字段,所述维度字段为用于描述所述事件记录特性的字段,所述度量字段为所述事件记录中的数值的字段,一个所述维度字段对应一个所述度量字段;第二分析单元,用于对各所述维度字段进行分析确定各所述维度字段之间的第一关联类型并根据所述第一关联类型对所述维度字段进行组合得到多个第一维度组,所述第一关联类型包括相似字段、互斥字段和无关联字段,所述第一维度组中任意两个所述维度字段之间的所述第一关联类型不为所述相似字段或所述互斥字段;构建单元,用于将与各所述第一维度组中的所述维度字段对应的所述度量字段添加至对应的所述第一维度组得到多个第二维度组,并根据各所述第二维度组构建对应数据模型得到多个立方体;第三分析单元,用于对各立方体进行数据分析得到多个数据分析结果。

根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。

根据本申请的又一方面,提供了一种数据分析系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。

应用本申请的技术方案,在上述多维数据的数据分析办法中,首先,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;然后,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;之后,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;之后,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;最后,对各立方体进行数据分析得到多个数据分析结果。本申请针对数据模型中的维度字段进行含义分析,确定在数据分析中功能相似的字段为相似字段,不应该同时进行分析的字段为互斥字段,在维度组合时设置互为相似字段和互斥字段的维度和对应度量不存在于同一组合中,极大减少了不必要的维度组合,解决了现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

附图说明

图1示出了根据本申请的实施例中提供的一种执行多维数据的数据分析方法的移动终端的硬件结构框图;

图2示出了根据本申请的实施例提供的一种多维数据的数据分析方法的流程示意图;

图3示出了根据本申请的实施例提供的一种维度组的划分结果示意图;

图4示出了根据本申请的一种实施例提供的一种具体的多维数据的数据分析方法的算法流程图;

图5示出了根据本申请的实施例提供的一种多维数据的数据分析装置的结构框图。

其中,上述附图包括以下附图标记:

102、处理器;104、存储器;106、传输设备;108、输入输出设备。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

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

为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:

OLAP:on-Line Analytic Processing,联机分析处理。它是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。

MOLAP:将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。

Dimension:维度。简单来讲,维度就是观察数据的角度,如时间维度、地区维度。

Measure:度量就是被聚合的统计值,也是聚合运算的结果。

Cube:立方体。一张数据表或数据模型上的所有字段可以分为维度和度量。对于这个模型,可以对其上的所有维度进行组合。对于n个维度来说,组合的所有可能性共有2^n种。对于每一种维度的组合,可以将度量做聚合运算形成指标。简单来说,Cube就是许多按维度聚合度量的指标的集合。

Roll-up/Drill-up:上卷/向上钻取。沿着某一个(或多个)维度进行聚合,观察聚合后其他维度上的汇总数据,相当于将一个立方体沿着某个维度压缩(聚合)在一起。

Drill-down:向下钻取。沿着某一个(或多个)维度在更细粒度层面上进行展开,观察展开后其他维度上的对应数据,相当于将一个立方体沿着某个维度拉伸,拉伸的结果就是粒度变细,比如时间维度从季度拉伸到月。

正如背景技术中所介绍的,现有技术中构建数据模型以及数据分析时只考虑如何设置维度和度量,对所有维度均进行组合,假设有20个维度,那维度组合就有2^20=1048576个,对数据计算、存储都会是巨大的压力,为解决现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题,本申请的实施例提供了一种多维数据的数据分析方法、数据分析装置、计算机可读存储介质和数据分析系统。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种多维数据的数据分析方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的多维数据的数据分析方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本申请实施例的多维数据的数据分析方法的流程图。如图2所示,该方法包括以下步骤:

步骤S201,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

具体地,根据数据分析的分析需求,确定数据库中需要接入的所有数据表,即上述目标数据表,进而对数据表中记录的各种数据进行分析、提取和归类,即得到上述事实表和上述维度表。

在一种实施例中,事实表在同一星型模型中仅存在一个,维度表可能存在也可能不存在,在本实施例中,同时存在多个维度表。

步骤S202,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

具体地,根据上述事实表和上述维度表中字段包含的内容将字段划分为上述维度字段和上述度量字段。

在具体实施中,上述维度字段可以来自事实表或维度表,上述度量字段仅来自事实表。

步骤S203,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

具体地,对上述维度字段和上述度量字段进行语义分析确定相似字段,并根据数据分析需求和字段语义确定在数据分析过程中不会放在一起进行分析的字段之间的关联类型作为互斥字段,其余字段两两之间的关联类型确定为无关联字段。在字段进行维度组合的过程中同一维度组合中不存在互为相似字段或互斥字段的两个维度字段。如图3所示,对上述互为无意义字段的上述维度字段进行组合,即得到多个上述第一维度组,组与组之间可能存在重合也可能并无交集。

步骤S204,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

具体地,确定与上述各第一维度组合中的维度字段对应的度量字段,进而将之一一对应的关联起来,即得到上述第二维度组,进而根据第二维度组中的维度字段和度量字段构对应的数据模型即得到上述立方体。

步骤S205,对各立方体进行数据分析得到多个数据分析结果。

具体地,针对各维度字段对应的度量字段进行数据运算,包括求和,统计最大值、最小值等,上述运算结果即为数据分析结果。

通过本实施例,首先,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;然后,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;之后,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;之后,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;最后,对各立方体进行数据分析得到多个数据分析结果。本申请针对数据模型中的维度字段进行含义分析,确定在数据分析中功能相似的字段为相似字段,不应该同时进行分析的字段为互斥字段,在维度组合时设置互为相似字段和互斥字段的维度和对应度量不存在于同一组合中,极大减少了不必要的维度组合,解决了现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

为了梳理上述目标数据表中的数据字段,在一种可选的实施方式中,上述步骤S202包括:

步骤S2021,对上述事实表和各上述维度表中的字段进行对比,得到多个关联字段和无意义字段,上述关联字段为上述维度表中与上述事实表中相同的字段,上述无意义字段为上述事实表和上述维度表中用于表征系统状态控制和配置控制的字段;

具体地,根据事实表和维度表中存储的字段进行比对,遍历其中的相同字段确定为关联字段,事实表与维度表之间通过关联字段进行联系,维度表之间没有关联。

在具体实施中,理论上事实表和维度表中的字段应该只包括存储事实记录的字段和用于描述事实记录的特性的字段,即上述维度字段和度量字段,但实际上,在事实表和维度表中存在很多系统状态控制、配置控制数据变更事件记录等与业务无关的字段,这些字段对业务分析不存在实际意义,因此将上述字段划分为无意义字段。在构建数据模型的过程中剔除上述无意义字段,减少维度组合的可能性,降低计算复杂度。

步骤S2022,根据各上述维度表中上述关联字段的占比确定上述维度表与上述事实表的第二关联类型,上述第二关联类型包括内关联、左外关联、右外关联和全外关联,上述第二关联类型与上述维度表一一对应;

具体地,根据关联字段所属字段在表中包括的所有字段中的比例,根据比例确定事实表和维度表之间的关联类型,例如,以事实表中的比例为基准,当维度表中的比例高于事实表中的比例的时候,选择左外关联的关联类型,即保留事实表中上述关联字段所属字段,剔除其余字段,以保证根据该维度表构建立方体时,所有度量字段都存在与之对应的维度字段。

步骤S2023,删除上述事实表和各上述维度表中的上述无意义字段,并根据上述事实表、各上述维度表和各上述第二关联类型构建星型数据模型;

具体地,将上述无意义字段删除,并且根据各维度表和事实表之间的上述第二关联类型剔除事实表或维度表中的字段,将修改后的事实表和维度表根据关联字段进行关联,即得到上述星型数据模型。

步骤S2024,对上述星型数据模型中的各上述字段进行分析,得到多个上述维度字段和上述度量字段。

具体地,对星型数据模型中的字段进行分析,根据字段描述的内容,将字段划分为维度字段和度量字段。

为了简化数据分析过程中计算量,在一种可选的实施方式中,上述步骤S203包括:

步骤S2031,对各上述维度字段进行语义分析,将对应语义相似度超出第一阈值的上述维度字段之间的第一关联类型确定为上述相似字段;

具体地,从业务含义上对各维度字段进行语义分析,将其中两个语义相近的维度字段确定为相似字段,比如地区和地区规模,这两个字段业务含义相近,放在同一维度组合中进行数据分析效果提升较小且组合数量和计算复杂度提升较大,因此本申请中相似字段在维度组合时不进行组合。

步骤S2032,查阅预设信息表得到对应上述第一关联类型为上述互斥字段的上述维度字段,上述预设信息表包括数据分析需求中不进行组合的上述维度字段;

具体地,对应不同数据分析需求有预设的信息表,其中包括在数据分析过程中组合之后不会提升数据分析效果的字段组合,查阅上述信息表即可确定当前星型数据模型中的维度字段中哪些维度字段之间的关联类型为互斥字段。

步骤S2033,将上述第一关联类型不是上述相似字段和上述互斥字段的上述维度字段之间的上述第一关联类型确定为无关联字段。

具体地,在确定对应上述第一关联类型为相似字段或互斥字段的字段之后,将其与字段之间的上述第一关联类型确定为无关联字段,即进行数据分析时可自由进行维度组合的字段。

在上述实施例中,有两个字段互斥或相似,这两个维度字段都可与剩下n个维度字段相互组合进行多维分析,存在2*2

为了简化数据分析过程中计算量,在一种可选的实施方式中,上述步骤S203还包括:

步骤S2034,对各上述维度字段进行分析并将对应同一上述特性的上述维度字段归类为同一层级得到多个维度层次;

具体地,分析维度字段描述的事件记录的特性,将用于记录统一种特性的维度归类为同一个层级即得到上述维度层次。每个层级至少包括一个以上维度字段。例如,时间层次维度年、季/月、日;地区维度省、市、县;机构维度一级机构、二级机构、三级机构都分别可以归类为同一维度层次。

步骤S2035,根据上述第一关联类型和上述维度层次对上述维度字段进行组合得到多个上述第一维度组,上述第一维度组中任意两个上述维度字段不处于同一上述维度层次。

在本申请的实施例中,设置维度层次的目的是为了减少维度组合的可能性,即将维度组合作为整体去进行组合,即进行组合时仅选择维度层次中的某一个维度进行组合。

为了从维度角度建立数据模型以便于进行数据分析,在一种可选的实施方式中,上述步骤S204包括:

步骤S2041,获取步骤,获取多个目标关联字段,上述目标关联字段为与目标第一维度组中上述维度字段存在相同的字段的上述关联字段,上述目标第一维度组为上述第一维度组中的任意一个;

具体地,选择任意一个第一维度组,确定该第一维度组中的各维度字段对应的关联字段,即得到上述多个目标关联字段。

步骤S2042,确定步骤,根据各上述目标关联字段确定目标度量字段,上述目标度量字段为存在与上述关联字段相同字段的上述度量字段;

具体地,根据上述目标关联字段查阅事实表中与之对应的度量字段,即得到上述目标度量字段,一个上述维度字段至少对应一个上述目标维度字段。

步骤S2043,整合步骤,将多个上述目标度量字段添加至上述目标第一维度组得到上述第二维度组;

具体地,根据上述目标度量字段和上述维度字段得到对应关系将上述目标度量字段添加到上述第一维度组中即得到上述第二维度组。

步骤S2044,依次重复上述获取步骤、上述确定步骤和上述整合步骤至少一次,直至得到所有上述第二维度组;

具体地,上述获取步骤、上述确定步骤和上述整合步骤,完成了一个上述第一维度组的度量字段添加,重复上述过程即可完成所有上述第一维度组的度量字段的添加。

步骤S2045,根据各上述第二维度组中的上述维度字段和上述度量字段设置对应运算函数得到多个度量函数,上述度量函数包括求和、求最小值、求最大值、求平均值、计数、求标准差和求方差;

具体地,根据上述第二维度组中的维度字段确定对应度量字段所描述的内容,例如某一维度字段与其对应的度量字段用于描述货物的交易量,根据分析需求确定对度量字段包括的数值数据进行的运算方式即得到上述度量函数。

步骤S2046,根据各上述第二维度组和对应的上述度量函数构建数据模型得到对应的上述立方体。

具体地,在各上述第二维度组中加入对该维度组进行数据分析需要应用的上述度量函数,并将修改后的第二维度组构建为对应数据模型,即得到多个Cube,即上述立方体。

为了完成对各立方体的数据分析,在一种可选地实施方式中,上述步骤S205包括:

步骤S2051,第一构建步骤,根据目标立方体中的上述维度字段构建分组SQL语句,上述目标立方体为上述立方体中的任意一个;

具体地,将立方体对应数据分析的描述转换为具体地SQL语句在数据环境中执行,包括将维度字段转换为SQL语句的分组字段,每一个维度字段对应一组SQL语句。

步骤S2052,第二构建步骤,根据上述目标立方体中的上述度量函数构建取值SQL语句;

具体地,将立方体对应数据分析的描述转换为具体地SQL语句在数据环境中执行,包括将度量函数转换为SQL语句的取值字段,根据度量函数与维度字段的对应关系设置SQL语句的取值范围和运算方式,即根据维度字段对应的度量字段中的数值的运算方式配置对应SQL语句。

步骤S2053,组合步骤,对上述分组SQL语句和上述取值SQL语句进行组合得到对应的目标SQL语句;

具体地,配置对应的连接语句使上述分组SQL语句和上述取值SQL语句组合为一组可以完成上述目标立方体的数据分析需求的SQL语句,即得到上述目标SQL语句。

步骤S2054,依次重复上述第一构建步骤、上述第二构建步骤和上述组合步骤至少一次,直到得到所有上述立方体对应的上述目标SQL语句;

具体地,上述第一构建步骤、上述第二构建步骤和上述组合步骤完成了一个立方体对应的SQL语句的组装,重复上述步骤,即可完成所有立方体对应的SQL语句的组装。

步骤S2055,依次执行各上述目标SQL语句得到各上述立方体对应的上述数据分析结果。

具体地,在CPU中依次运行上述SQL语句即可完成对上述各立方体的数据分析得到数据分析结果。

为了便于查询上述数据分析结果,在一种可选的实施方式中,在对各立方体进行数据分析得到多个数据分析结果之后,上述方法还包括:

步骤S301,对各上述维度字段进行排序得到与各上述维度字段对应的序列号;

具体地,对各上述维度表中的维度字段进行统一排序并编号,即得到涵盖上述所有维度字段的序列号。

步骤S302,根据各上述立方体中上述维度字段对各上述序列号设置对应的标识信息,上述标识信息用于表征上述序列号对应的上述维度字段是否存在于上述立方体;

具体地,针对各数据分析结果对应的上述立方体中是否含有上述序列号对应的维度字段,将该序列号对应的标识信息设置为1或0,其中1表示存在,0表示不存在,进而以序列号和标识信息的形式对立方体中包含的维度字段进行表示,节省存储资源。

步骤S303,根据上述标识信息生成第一行键值,根据上述数据分析结果生成第二行键值;

具体地,根据序列号和标识信息生成第一部分行键值,然后对应序列号将对应维度字段对应的度量字段的运算结果写入对应位置,即得到第二部分行键值。

步骤S304,对上述第一行键值与上述第二行键值进行组合得到目标行键值,并将上述目标行键值存储至分布式集群中对应位置。

具体地,由上述第一行键值和上述第二行键值组成用于表征数据分析结果的行键值,在上述行键值的基础上添加顺序号即得到上述目标行键值,进而根据顺序号将行键值存储至分布式集群中的对应位置。其中,通过行键值的形式对数据分析结果进行存储,提高了顺序查询的效率,并通过分布式列式存储的可扩展性,提升查询的并发性。

为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的多维数据的数据分析方法的实现过程进行详细说明。

本实施例涉及一种具体的多维数据的数据分析方法,如图4所示,包括如下步骤:

步骤S1:根据业务分析需求,确定分析需要接入的所有数据表;

步骤S2:根据数据表,确定事实表和维度表以及关联字段,构建星型模型;

步骤S3:将事实表和维度表中的字段划分为维度字段、度量字段和无意义字段;

步骤S4:根据业务查询需求,分析维度字段中的互斥字段和相似字段;

步骤S5:根据互斥字段和相似字段,将维度字段划分为多个维度组;

步骤S6:分析各维度组中的维度字段描述的事实记录的特性,将之划分为不同的层次维度;

步骤S7:针对各维度组添加对应度量字段和度量函数;

步骤S8:根据每个维度组中维度字段、度量字段和度量函数的组合方式构建对应的SQL语句;

步骤S9:设置数据分析周期,保证在每次数据查询前完成对应的数据分析,并将分析结果分布式存储;

步骤S10:根据数据查询需求,检索对应的数据分析结果并获取。

此外,当数据查询需求中存在数据分析结果之外的查询请求时,根据原始数据表对该查询请求对应的数据进行数据分析,以保证完成上述数据查询需求。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例还提供了一种多维数据的数据分析装置,需要说明的是,本申请实施例的多维数据的数据分析装置可以用于执行本申请实施例所提供的用于多维数据的数据分析方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

以下对本申请实施例提供的多维数据的数据分析装置进行介绍。

图5是根据本申请实施例的多维数据的数据分析装置的结构框图。如图5所示,该装置包括:

获取单元10,用于获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

具体地,根据数据分析的分析需求,确定数据库中需要接入的所有数据表,即上述目标数据表,进而对数据表中记录的各种数据进行分析、提取和归类,即得到上述事实表和上述维度表。

在一种实施例中,事实表在同一星型模型中仅存在一个,维度表可能存在也可能不存在,在本实施例中,同时存在多个维度表。

第一分析单元20,用于根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

具体地,根据上述事实表和上述维度表中字段包含的内容将字段划分为上述维度字段和上述度量字段。

在具体实施中,上述维度字段可以来自事实表或维度表,上述度量字段仅来自事实表。

第二分析单元30,用于对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

具体地,对上述维度字段和上述度量字段进行语义分析确定相似字段,并根据数据分析需求和字段语义确定在数据分析过程中不会放在一起进行分析的字段之间的关联类型作为互斥字段,其余字段两两之间的关联类型确定为无关联字段。在字段进行维度组合的过程中同一维度组合中不存在互为相似字段或互斥字段的两个维度字段。如图3所示,对上述互为无意义字段的上述维度字段进行组合,即得到多个上述第一维度组,组与组之间可能存在重合也可能并无交集。

构建单元40,用于将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

具体地,确定与上述各第一维度组合中的维度字段对应的度量字段,进而将之一一对应的关联起来,即得到上述第二维度组,进而根据第二维度组中的维度字段和度量字段构对应的数据模型即得到上述立方体。

第三分析单元50,用于对各立方体进行数据分析得到多个数据分析结果。

具体地,针对各维度字段对应的度量字段进行数据运算,包括求和,统计最大值、最小值等,上述运算结果即为数据分析结果。

通过本实施例,获取单元获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;第一分析单元根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;第二分析单元对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;构建单元将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;第三分析单元对各立方体进行数据分析得到多个数据分析结果。本申请针对数据模型中的维度字段进行含义分析,确定在数据分析中功能相似的字段为相似字段,不应该同时进行分析的字段为互斥字段,在维度组合时设置互为相似字段和互斥字段的维度和对应度量不存在于同一组合中,极大减少了不必要的维度组合,解决了现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

为了梳理上述目标数据表中的数据字段,在一种可选的实施方式中,上述第一分析单元包括:

第一对比模块,用于对上述事实表和各上述维度表中的字段进行对比,得到多个关联字段和无意义字段,上述关联字段为上述维度表中与上述事实表中相同的字段,上述无意义字段为上述事实表和上述维度表中用于表征系统状态控制和配置控制的字段;

具体地,根据事实表和维度表中存储的字段进行比对,遍历其中的相同字段确定为关联字段,事实表与维度表之间通过关联字段进行联系,维度表之间没有关联。

在具体实施中,理论上事实表和维度表中的字段应该只包括存储事实记录的字段和用于描述事实记录的特性的字段,即上述维度字段和度量字段,但实际上,在事实表和维度表中存在很多系统状态控制、配置控制数据变更事件记录等与业务无关的字段,这些字段对业务分析不存在实际意义,因此将上述字段划分为无意义字段。在构建数据模型的过程中剔除上述无意义字段,减少维度组合的可能性,降低计算复杂度。

第一确定模块,用于根据各上述维度表中上述关联字段的占比确定上述维度表与上述事实表的第二关联类型,上述第二关联类型包括内关联、左外关联、右外关联和全外关联,上述第二关联类型与上述维度表一一对应;

具体地,根据关联字段所属字段在表中包括的所有字段中的比例,根据比例确定事实表和维度表之间的关联类型,例如,以事实表中的比例为基准,当维度表中的比例高于事实表中的比例的时候,选择左外关联的关联类型,即保留事实表中上述关联字段所属字段,剔除其余字段,以保证根据该维度表构建立方体时,所有度量字段都存在与之对应的维度字段。

删除模块,用于删除上述事实表和各上述维度表中的上述无意义字段,并根据上述事实表、各上述维度表和各上述第二关联类型构建星型数据模型;

具体地,将上述无意义字段删除,并且根据各维度表和事实表之间的上述第二关联类型剔除事实表或维度表中的字段,将修改后的事实表和维度表根据关联字段进行关联,即得到上述星型数据模型。

第一分析模块,用于对上述星型数据模型中的各上述字段进行分析,得到多个上述维度字段和上述度量字段。

具体地,对星型数据模型中的字段进行分析,根据字段描述的内容,将字段划分为维度字段和度量字段。

为了简化数据分析过程中计算量,在一种可选的实施方式中,上述第二分析单元包括:

第二确定模块,用于对各上述维度字段进行语义分析,将对应语义相似度超出第一阈值的上述维度字段之间的第一关联类型确定为上述相似字段;

具体地,从业务含义上对各维度字段进行语义分析,将其中两个语义相近的维度字段确定为相似字段,比如地区和地区规模,这两个字段业务含义相近,放在同一维度组合中进行数据分析效果提升较小且组合数量和计算复杂度提升较大,因此本申请中相似字段在维度组合时不进行组合。

第三确定模块,用于查阅预设信息表得到对应上述第一关联类型为上述互斥字段的上述维度字段,上述预设信息表包括数据分析需求中不进行组合的上述维度字段;

具体地,对应不同数据分析需求有预设的信息表,其中包括在数据分析过程中组合之后不会提升数据分析效果的字段组合,查阅上述信息表即可确定当前星型数据模型中的维度字段中哪些维度字段之间的关联类型为互斥字段。

第四确定模块,用于将上述第一关联类型不是上述相似字段和上述互斥字段的上述维度字段之间的上述第一关联类型确定为无关联字段。

具体地,在确定对应上述第一关联类型为相似字段或互斥字段的字段之后,将其与字段之间的上述第一关联类型确定为无关联字段,即进行数据分析时可自由进行维度组合的字段。

在上述实施例中,有两个字段互斥或相似,这两个维度字段都可与剩下n个维度字段相互组合进行多维分析,存在2*2

为了简化数据分析过程中计算量,在一种可选的实施方式中,上述第二分析单元还包括:

归类模块,用于对各上述维度字段进行分析并将对应同一上述特性的上述维度字段归类为同一层级得到多个维度层次;

具体地,分析维度字段描述的事件记录的特性,将用于记录统一种特性的维度归类为同一个层级即得到上述维度层次。每个层级至少包括一个以上维度字段。例如,时间层次维度年、季/月、日;地区维度省、市、县;机构维度一级机构、二级机构、三级机构都分别可以归类为同一维度层次。

第一组合模块,用于根据上述第一关联类型和上述维度层次对上述维度字段进行组合得到多个上述第一维度组,上述第一维度组中任意两个上述维度字段不处于同一上述维度层次。

在本申请的实施例中,设置维度层次的目的是为了减少维度组合的可能性,即将维度组合作为整体去进行组合,即进行组合时仅选择维度层次中的某一个维度进行组合。

为了从维度角度建立数据模型以便于进行数据分析,在一种可选的实施方式中,上述构建单元包括:

获取模块,用于执行获取步骤,获取多个目标关联字段,上述目标关联字段为与目标第一维度组中上述维度字段存在相同的字段的上述关联字段,上述目标第一维度组为上述第一维度组中的任意一个;

具体地,选择任意一个第一维度组,确定该第一维度组中的各维度字段对应的关联字段,即得到上述多个目标关联字段。

第五确定模块,用于执行确定步骤,根据各上述目标关联字段确定目标度量字段,上述目标度量字段为存在与上述关联字段相同字段的上述度量字段;

具体地,根据上述目标关联字段查阅事实表中与之对应的度量字段,即得到上述目标度量字段,一个上述维度字段至少对应一个上述目标维度字段。

第一整合模块,用于执行整合步骤,将多个上述目标度量字段添加至上述目标第一维度组得到上述第二维度组;

具体地,根据上述目标度量字段和上述维度字段得到对应关系将上述目标度量字段添加到上述第一维度组中即得到上述第二维度组。

第一重复模块,用于依次重复上述获取步骤、上述确定步骤和上述整合步骤至少一次,直至得到所有上述第二维度组;

具体地,上述获取步骤、上述确定步骤和上述整合步骤,完成了一个上述第一维度组的度量字段添加,重复上述过程即可完成所有上述第一维度组的度量字段的添加。

第一整合模块,用于根据各上述第二维度组中的上述维度字段和上述度量字段设置对应运算函数得到多个度量函数,上述度量函数包括求和、求最小值、求最大值、求平均值、计数、求标准差和求方差;

具体地,根据上述第二维度组中的维度字段确定对应度量字段所描述的内容,例如某一维度字段与其对应的度量字段用于描述货物的交易量,根据分析需求确定对度量字段包括的数值数据进行的运算方式即得到上述度量函数。

第一构建模块,用于根据各上述第二维度组和对应的上述度量函数构建数据模型得到对应的上述立方体。

具体地,在各上述第二维度组中加入对该维度组进行数据分析需要应用的上述度量函数,并将修改后的第二维度组构建为对应数据模型,即得到多个Cube,即上述立方体。

为了完成对各立方体的数据分析,在一种可选地实施方式中,上述第三分析单元包括:

第二构建模块,用于执行第一构建步骤,根据目标立方体中的上述维度字段构建分组SQL语句,上述目标立方体为上述立方体中的任意一个;

具体地,将立方体对应数据分析的描述转换为具体地SQL语句在数据环境中执行,包括将维度字段转换为SQL语句的分组字段,每一个维度字段对应一组SQL语句。

第三构建模块,用于执行第二构建步骤,根据上述目标立方体中的上述度量函数构建取值SQL语句;

具体地,将立方体对应数据分析的描述转换为具体地SQL语句在数据环境中执行,包括将度量函数转换为SQL语句的取值字段,根据度量函数与维度字段的对应关系设置SQL语句的取值范围和运算方式,即根据维度字段对应的度量字段中的数值的运算方式配置对应SQL语句。

第二组合模块,用于执行组合步骤,对上述分组SQL语句和上述取值SQL语句进行组合得到对应的目标SQL语句;

具体地,配置对应的连接语句使上述分组SQL语句和上述取值SQL语句组合为一组可以完成上述目标立方体的数据分析需求的SQL语句,即得到上述目标SQL语句。

第二重复模块,用于依次重复上述第一构建步骤、上述第二构建步骤和上述组合步骤至少一次,直到得到所有上述立方体对应的上述目标SQL语句;

具体地,上述第一构建步骤、上述第二构建步骤和上述组合步骤完成了一个立方体对应的SQL语句的组装,重复上述步骤,即可完成所有立方体对应的SQL语句的组装。

执行模块,用于依次执行各上述目标SQL语句得到各上述立方体对应的上述数据分析结果。

具体地,在CPU中依次运行上述SQL语句即可完成对上述各立方体的数据分析得到数据分析结果。

为了便于查询上述数据分析结果,在一种可选的实施方式中,上述装置还包括:

排序单元,用于对各上述维度字段进行排序得到与各上述维度字段对应的序列号;

具体地,对各上述维度表中的维度字段进行统一排序并编号,即得到涵盖上述所有维度字段的序列号。

设置单元,用于根据各上述立方体中上述维度字段对各上述序列号设置对应的标识信息,上述标识信息用于表征上述序列号对应的上述维度字段是否存在于上述立方体;

具体地,针对各数据分析结果对应的上述立方体中是否含有上述序列号对应的维度字段,将该序列号对应的标识信息设置为1或0,其中1表示存在,0表示不存在,进而以序列号和标识信息的形式对立方体中包含的维度字段进行表示,节省存储资源。

生成单元,用于根据上述标识信息生成第一行键值,根据上述数据分析结果生成第二行键值;

具体地,根据序列号和标识信息生成第一部分行键值,然后对应序列号将对应维度字段对应的度量字段的运算结果写入对应位置,即得到第二部分行键值。

组合单元,用于对上述第一行键值与上述第二行键值进行组合得到目标行键值,并将上述目标行键值存储至分布式集群中对应位置。

具体地,由上述第一行键值和上述第二行键值组成用于表征数据分析结果的行键值,在上述行键值的基础上添加顺序号即得到上述目标行键值,进而根据顺序号将行键值存储至分布式集群中的对应位置。其中,通过行键值的形式对数据分析结果进行存储,提高了顺序查询的效率,并通过分布式列式存储的可扩展性,提升查询的并发性。

上述多维数据的数据分析装置包括处理器和存储器,上述获取单元、第一分析单元、第二分析单元、构建单元和第三分析单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来减少数据分析过程中的计算复杂度。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述多维数据的数据分析方法。

具体地,多维数据的数据分析方法包括:

步骤S201,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

步骤S202,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

步骤S203,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

步骤S204,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

步骤S205,对各立方体进行数据分析得到多个数据分析结果。

本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述多维数据的数据分析方法。

具体地,多维数据的数据分析方法包括:

步骤S201,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

步骤S202,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

步骤S203,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

步骤S204,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

步骤S205,对各立方体进行数据分析得到多个数据分析结果。

本发明实施例提供了一种数据分析系统,数据分析系统包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:

步骤S201,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

步骤S202,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

步骤S203,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

步骤S204,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

步骤S205,对各立方体进行数据分析得到多个数据分析结果。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:

步骤S201,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;

步骤S202,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;

步骤S203,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;

步骤S204,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;

步骤S205,对各立方体进行数据分析得到多个数据分析结果。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:

1)、本申请的多维数据的数据分析方法,首先,获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;然后,根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;之后,对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;之后,将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;最后,对各立方体进行数据分析得到多个数据分析结果。本申请针对数据模型中的维度字段进行含义分析,确定在数据分析中功能相似的字段为相似字段,不应该同时进行分析的字段为互斥字段,在维度组合时设置互为相似字段和互斥字段的维度和对应度量不存在于同一组合中,极大减少了不必要的维度组合,解决了现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

2)、本申请的多维数据的数据分析装置,获取单元获取目标数据表,并对上述目标数据表进行分析得到事实表和多个维度表,上述目标数据表为待数据分析的数据表,上述事实表用于存储事件记录,上述维度表用于存储上述事实表中上述事件记录的特性;第一分析单元根据上述事实表和各上述维度表分析得到多个维度字段和多个度量字段,上述维度字段为用于描述上述事件记录特性的字段,上述度量字段为上述事件记录中的数值的字段,一个上述维度字段对应一个上述度量字段;第二分析单元对各上述维度字段进行分析确定各上述维度字段之间的第一关联类型并根据上述第一关联类型对上述维度字段进行组合得到多个第一维度组,上述第一关联类型包括相似字段、互斥字段和无关联字段,上述第一维度组中任意两个上述维度字段之间的上述第一关联类型不为上述相似字段或上述互斥字段;构建单元将与各上述第一维度组中的上述维度字段对应的上述度量字段添加至对应的上述第一维度组得到多个第二维度组,并根据各上述第二维度组构建对应数据模型得到多个立方体;第三分析单元对各立方体进行数据分析得到多个数据分析结果。本申请针对数据模型中的维度字段进行含义分析,确定在数据分析中功能相似的字段为相似字段,不应该同时进行分析的字段为互斥字段,在维度组合时设置互为相似字段和互斥字段的维度和对应度量不存在于同一组合中,极大减少了不必要的维度组合,解决了现有技术中对数据模型进行数据分析时对所有维度进行维度组合导致计算量过大,占用资源过多的问题。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种模型应用方法和数据分析系统
  • 基于图像识别的工业控制系统数据分析处理装置及方法
  • 可穿戴人体生命特征采集装置、本地服务器及其数据分析系统、方法
  • 一种数据分析装置、数据分析处理系统和数据分析方法
  • 数据分析装置、数据分析处理系统和数据分析方法
技术分类

06120116484861