基于MOLAP的数据处理方法及装置制造方法及图纸

技术编号:15447613 阅读:106 留言:0更新日期:2017-05-29 21:41
本发明专利技术公开了一种基于MOLAP的数据处理方法及装置。该数据处理方法包括:根据事实表和维度表创建数据立方体;基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算;将预计算结果保存至开源数据库中,以便在查询时根据预计算结果确定查询结果。采用上述方法可以优化现有数据查询方案,使得非技术人员也可以实现基于海量数据的查询。

Data processing method and device based on MOLAP

The invention discloses a data processing method and device based on MOLAP. Including the data processing method: according to the fact and dimension tables to create data cube; record the data in a data cube based on dimension of all possible combinations of the data are pre calculated; the pre calculated results to the preservation of open source database, in order to query according to a pre calculated based on the results of the query results. Using the method mentioned above, the existing data query scheme can be optimized so that non technical personnel can also implement queries based on mass data.

【技术实现步骤摘要】
基于MOLAP的数据处理方法及装置
本专利技术实施例涉及数据处理
,尤其涉及基于MOLAP的数据处理方法及装置。
技术介绍
联机分析处理(OnlineAnalyticalProcessing,OLAP)系统是数据仓库系统最主要的应用,专门用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。OLAP可以根据分析人员的要求进行大数据量的复杂查询处理,并且以一种直观的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,ROLAP)、多维OLAP(MultidimensionalOLAP,MOLAP)和混合型OLAP(HybridOLAP,HOLAP)三种类型。其中,MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。传统的MOLAP引擎受到软硬件资源的限制,仅能处理千兆或<10太字节级别的数据,并且,在计算多维立方体的数据时,对服务器配置要求较高。同时,基于MOLAP针对海量数据实时查询时,常采用基于分布式系统基础架构的结构化查询语言(SQLonHadoop)方案,一方面,其时延高达数秒、数十秒乃至数十分钟,另一方面,针对一些列式数据库,通常只能根据行健进行快速查询,而列级别的查询则仅能在特定查询场景中使用。此外,在查询时,需要涉及SQL语句的编写,使得非技术人员无法进行查询。
技术实现思路
有鉴于此,本专利技术实施例提供一种基于MOLAP的数据处理方法及装置,以优化现有数据查询方案,使得非技术人员也可以实现基于海量数据的查询。第一方面,本专利技术实施例提供了一种基于MOLAP的数据处理方法,包括:根据事实表和维度表创建数据立方体;基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算;将预计算结果保存至开源数据库中,以便在查询时根据预计算结果确定查询结果。第二方面,本专利技术实施例还提供了一种基于MOLAP的数据处理装置,包括:立方体创建模块,用于根据事实表和维度表创建数据立方体;预计算模块,用于基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算;保存模块,用于将预计算结果保存至开源数据库中,以便在查询时根据预计算结果确定查询结果。本专利技术实施例提供的基于MOLAP的数据处理方法及装置,根据事实表和维度表创建数据立方体,并根据数据立方体中记录的数据对全部可能的维度组合进行数据预计算,并将预计算结果保存在开源数据库中,实现了在用户进行数据查询时,仅需要在客户端的页面中拖拽维度和度量,服务器便可以根据相应的预计算结果确定查询结果,并不需要用户编写SQL语句。同时,充分利用大数据组件特性和MOLAP特性,简化了数据查询过程,提高了查询响应速度。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术实施例一提供的一种基于MOLAP的数据处理方法的流程图;图2为本专利技术实施例二提供的一种基于MOLAP的数据处理方法的流程图;图3为一个数据立方体的维度的全部可能组合在数据预计算时层级关系示意图;图4为本专利技术实施例二提供的一种开源数据库表的创建方法的流程图;图5为本专利技术实施例二提供的一种数据查询方法的流程图;图6为客户端查询时用户界面示意图;图7为本专利技术实施例三提供的一种基于MOLAP的数据处理装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。实施例一图1为本专利技术实施例一提供的一种基于MOLAP的数据处理方法的流程图。本实施例提供的方法可以由基于MOLAP的数据处理装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在服务器中。参考图1,本实施例提供的方法可以包括:S110、根据事实表和维度表创建数据立方体。其中,事实表和维度表存储在大数据平台的数据仓库中。维度表存储该维度下所有属性的值以及每一条记录的ID。比如销售地域维度包括:地域ID、该地域所属省份、所属市、所属县等信息,以广州天河区为该销售地域维度下的一个值为例,则维度表中关于天河区的记录为:01(即值的ID)、广东省、广州市、天河区。事实表中存储着事实数据,包括各维度的值的ID、销售数量、销售金额等。比如销售事实表的字段包括每一条销售记录的:销售地域ID(对应销售地域维度表的ID)、产品ID(对应产品维度表的ID)、销售时间ID(对应时间维度表的ID)、销售数量、销售金额等,根据某一销售数量对应的各ID,便可以知道该销售数量是哪个地域何种产品在哪段时间内的销售数量。可选的,预先创建事实表和维度表,其中,具体的创建规则,例如,挑选哪些维度创建维度表,以及创建几个维度表,可以根据实际情况进行设定。通常情况下,维度表的个数不作限定,事实表的个数为一。典型的,在创建事实表和维度表后,从当前服务器可以访问的外部数据库中获取数据,并全部导入至对应的事实表和维度表中。具体的,数据立方体也可以称为多维立方体,其可以包含设定的至少一个维度。比如,一个数据立方体可以包括:地域维度(值包括:北京、天津、上海和广东)、时间维度(值包括:一季度、二季度、三季度和四季度)、商品维度(值包括:运动服、水壶、运动鞋、遮阳伞以及遮阳帽)和用户年龄维度(值包括:0-18岁、19-40岁、41-60岁以及60岁以上),其中各维度对应的事实数据(包括销售金额和销售数量)存储在关联的事实表中,即该数据立方体包括四张维度表和一张事实表,且通过维度表和事实表中记录的维度表中值的ID进行关联。根据确定的数据立方体便可以确定事实数据。如,根据上述数据立方体便可以确定北京地区一季度运动服的销售金额,再如,还可以确定天津地区水壶的销售金额,又如,还可以确定上海地区四季度19-40岁消费者运动鞋的销售数量。可选的,根据事实表和关联的维度表可以创建至少一个数据立方体,其中,具体的创建规则可以根据实际情况进行设定。S120、基于数据立方体中记录的数据,对维度的全部可能组合进行数据预计算。其中,数据立方体中可以包括不同的维度,对不同的维度之间可以任意的组合。以步骤S110中举例的数据立方体来说,共包含四个维度,则维度的全部可能组合共有16个,具体的计算方式可以是以为例,对应的维度组合包括(地域维度、时间维度和商品维度)、(地域维度、商品维度和用户年龄维度)、(地域维度、时间维度和用户年龄维度)以及(时间维度、商品维度和用户年龄维度)。当然,当数据立方体仅包含一个维度时,全部可能组合仅有包含该维度的组合和空集。进一步的,确定数据立方体的全部可能组合后,对各组合对应的事实数据进行数据预计算,以得到各组合的预计算结果。可选的,根据确定的度量进行数据预计算。在本实施例中,度量是对数据预计算如何计算或计算结果设定的要求,优选包括聚合类型(聚合类型包括聚合最大值和/或聚合最小值)。假设维度组合包括地域维度和时间维度,聚合类型为聚合最大值,则对维度组合数据预计算时便本文档来自技高网...
基于MOLAP的数据处理方法及装置

【技术保护点】
一种基于MOLAP的数据处理方法,其特征在于,包括:根据事实表和维度表创建数据立方体;基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算;将预计算结果保存至开源数据库中,以便在查询时根据预计算结果确定查询结果。

【技术特征摘要】
1.一种基于MOLAP的数据处理方法,其特征在于,包括:根据事实表和维度表创建数据立方体;基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算;将预计算结果保存至开源数据库中,以便在查询时根据预计算结果确定查询结果。2.根据权利要求1所述的数据处理方法,其特征在于,根据事实表和维度表创建数据立方体包括:根据预设的数据分析模型中对事实表和维度表的表项需求,创建对应的事实表和维度表;按照所述事实表和维度表的表项需求,将外部数据库中的数据导入至事实表和维度表中;根据所述数据分析模型中的元数据,利用所述事实表和所述维度表创建数据立方体,其中,所述元数据用于指示所述数据立方体的属性参数和创建规则。3.根据权利要求1所述的数据处理方法,其特征在于,基于所述数据立方体中记录的数据,对维度的全部可能组合进行数据预计算,包括:根据数据分析模型中的元数据,启动预计算编程模型任务,并读取与所述数据立方体对应的全部维度表和事实表的数据;将所述全部维度表的维度进行排列组合,得到包括空集在内的全部可能组合;按照设定的聚合规则,对包含全部维度的组合进行聚合运算,得到聚合值;将包含全部维度的组合作为预计算编程模型的关键值输入,将所述聚合值作为预计算编程模型的关键字输入;利用所述预计算编程模型得到新的维度组合以及与新的维度组合对应的聚合值;依次将新的维度组合作为预计算编程模型的关键值输入,新的维度组合对应的聚合值作为预计算编程模型的关键字输入,并利用所述预计算编程模型得到新的维度组合以及与新的维度组合对应的聚合值,直到得到全部可能组合以及全部可能组合的聚合值为止。4.根据权利要求1所述的数据处理方法,其特征在于,将预计算结果保存至开源数据库中包括:创建用于存储预计算结果的开源数据库表;启动存储编程模型任务,将预计算结果作为所述存储编程模型任务的输入;利用所述存储编程模型生成对应的二进制格式文件;利用开源数据库的BulkLoad,将二进制格式文件导入至所述开源数据库表中,以实现在开源数据库中存储所述预计算结果;保存所述预计算结果与所述开源数据库表的对应关系至所述数据分析模型的元数据中。5.根...

【专利技术属性】
技术研发人员:李寅威
申请(专利权)人:广州视源电子科技股份有限公司
类型:发明
国别省市:广东,44

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

1