一种实现多维立方体关联的方法和装置制造方法及图纸

技术编号:11505447 阅读:72 留言:0更新日期:2015-05-27 06:20
本发明专利技术公开了一种实现多维立方体(Cube)关联的方法,确定需要关联的Cube没有共同维度;对Cube的源表进行追踪,获取明细表;根据获得的明细表,生成动态Cube。本发明专利技术同时还公开了一种实现Cube关联的装置。通过本发明专利技术的方案,能够实现无公共维度的Cube关联,为用户提供更加便捷的数据分析。

【技术实现步骤摘要】
一种实现多维立方体关联的方法和装置
本专利技术涉及分布式统计技术,尤其是涉及一种实现多维立方体(Cube)关联的方法和装置。
技术介绍
联机分析处理(OLAP)是由关系数据库之父E.F.Codd于1993年提出的,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的要求,结构化查询语言(SQL)对大数据库的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,Codd提出了多维数据库和多维分析的概念,即OLAP。OLAP委员会对联机分析处理的定义为:从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业多维特性的数据称为信息数据,使分析人员、管理人员或执行人员能够从多种角度对信息数据进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。现有的多维分析方案主要有以下两种:ROLAP:基于关系数据库的OLAP实现(RelationalOLAP);以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。MOLAP:基于多维数据组织的OLAP实现(MultidimensionalOLAP);以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成“Cube”的结构,在MOLAP中对“Cube”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。随着数据量的增大,上述方案中生成的Cube已不能满足用户的需求,这就需要两个或者多个Cube进行关联,以得到用户所需要的信息。图1示出了Cube的生成过程:先由接口表通过任务(Task)生成汇总表,汇总表通过Task生成明细表,明细表再通过Task生成事实表,最后事实表通过Task生成Cube;当需要对两个或多个具有共同维度的Cube进行关联时,会形成大数据运算,例如将两个Cube的数据汇总到一个Cube中,会通过两个Cube的共同维度进行关联,然后通过关联后的数据,计算各个Cube的明细表。因此,现有的两个方案中,在对两个Cube实现关联分析时都存在有共同的缺点:实现两个Cube的关联分析,必须要求这两个Cube具有公共维度,无公共维度的Cube无法实现关联分析。
技术实现思路
本专利技术实施例主要提供一种实现Cube关联的方法和装置,能够实现无公共维度的Cube关联,提高多Cube关联分析的效率。本专利技术的技术方案是这样实现的:本专利技术提供的一种实现Cube关联的方法,所述方法包括:服务器确定需要关联的Cube没有共同维度,对所述Cube的源表进行追踪,获取明细表,根据所述明细表生成动态Cube。上述方案中,所述服务器对所述Cube的源表进行追踪,获取明细表,包括:所述服务器根据需要关联的Cube的元数据,查询需要关联的Cube的生成过程,获取生成需要关联的Cube的源表,根据所述源表得到明细表。上述方案中,所述根据所述明细表,生成动态Cube,包括:服务器对所述明细表进行解析,记录组成所述明细表的参数信息,通过所述参数信息,对生成需要关联的Cube的明细表进行关联,得到虚拟明细表,根据所述虚拟明细表生成动态Cube;其中,所述参数信息包括主键、维度和度量信息。上述方案中,所述对生成需要关联的Cube的明细表进行关联包括:服务器通过相同的主键信息,对生成需要关联的Cube的明细表进行关联。上述方案中,所述根据所述虚拟明细表生成动态Cube包括:通过任务Task将虚拟明细表生成事实表,再使用结构化查询语言SQL语句将所述事实表的维度信息和度量信息结合生成动态Cube。本专利技术提供的一种实现Cube关联的装置,所述装置包括:判断模块、源表分析模块和生成模块;其中,判断模块,用于确定需要关联的Cube没有共同维度;源表分析模块,用于对所述Cube的源表进行追踪,获取明细表;生成模块,用于根据所述明细表,生成动态Cube。上述方案中,所述判断模块,具体用于比较需要关联的Cube的维度信息,在没有相同的维度信息时,确定所述需要关联的Cube没有共同维度,并通知所述源表分析模块。上述方案中,所述源表分析模块,具体用于根据需要关联的Cube的元数据,查询所述Cube的生成过程,获取生成所述Cube的源表,根据所述源表得到明细表。上述方案中,所述生成模块,具体用于对所述明细表进行解析,记录组成所述明细表的参数信息,通过所述参数信息,对生成需要关联的Cube的明细表进行关联,得到虚拟明细表,根据所述虚拟明细表生成动态Cube;其中,所述参数信息包括主键、维度和度量信息。上述方案中,所述生成模块包括:虚拟明细表生成模块以及Cube生成模块;其中,虚拟明细表生成模块,用于将明细表进行关联,生成虚拟明细表;Cube生成模块,用于根据所述虚拟明细表,生成动态Cube。本专利技术实施例提供的一种实现Cube关联的方法和装置,当需要关联的Cube没有共同维度时,服务器通过对生成所述Cube的源表进行追踪,获取明细表;然后根据获取的明细表生成动态Cube;如此,能够实现无公共维度的Cube关联,提高多Cube关联分析的效率,为用户分析数据提供便利;并且通过追踪源表数据的方法,从而减小Cube关联时的系统性能消耗和执行时间。附图说明图1为现有技术中生成Cube的方法的流程示意图;图2为本专利技术实施例一提供的实现Cube关联的方法流程示意图;图3为本专利技术实施例二提供的实现Cube关联的装置的结构示意图。具体实施方式本专利技术实施例中,当需要关联的Cube没有共同维度时,服务器对所述需要关联的Cube的源表进行追踪,获取明细表,然后对明细表进行解析,获得相同的参数信息,并通过相同的参数信息,生成动态Cube,从而实现无公共维度的Cube关联,解决了没有共同维度的Cube不能关联的问题。其中,所述需要关联的Cube,在生成过程中,具有共同的参数信息;所述参数信息包括主键信息。下面通过附图及具体实施例对本专利技术做进一步的详细说明。实施例一本专利技术实施例一实现Cube关联的方法,如图2所示,该方法包括以下几个步骤:步骤101:服务器确定需要关联的Cube没有共同维度。具体的,服务器比较需要关联的Cube的维度信息,在没有相同的维度信息时,确定所述需要关联的Cube没有共同维度;所述服务器可以是用于数据管理的服务器,如移动公司后台的数据管理服务器。在具有相同的维度信息时,所述服务器直接通过所述维度信息对所述需要关联的Cube进行关联。例如,对于表1中的Cube1和表2中的Cube2,当用户需要对各个地区的各个品牌的用户数量和收入进行统计查看时,就需要对Cube1和Cube2进行关联,生成一个具有品牌信息、收入信息、在网客户数信息和收入信息的新的Cube;通过查询表3所示的Cube1的事实表1和表4所示的Cube2的事实表2,比较Cube1和Cube2是否具有共同的维度信息,由于Cube1的事实表1的维度信息为品牌信息,Cube2的维度信息本文档来自技高网
...

【技术保护点】
一种实现多维立方体Cube关联的方法,其特征在于,所述方法包括:服务器确定需要关联的Cube没有共同维度,对所述Cube的源表进行追踪,获取明细表,根据所述明细表生成动态Cube。

【技术特征摘要】
1.一种实现多维立方体Cube关联的方法,其特征在于,所述方法包括:服务器确定需要关联的Cube没有共同维度,对所述Cube的源表进行追踪,获取并解析明细表,获得相同的参数信息,通过所述参数信息,对所述Cube的明细表进行关联,得到虚拟明细表,根据所述虚拟明细表生成动态Cube。2.根据权利要求1所述的方法,其特征在于,所述对所述Cube的源表进行追踪,获取并解析明细表,包括:所述服务器根据需要关联的Cube的元数据,查询需要关联的Cube的生成过程,获取生成需要关联的Cube的源表,根据所述源表得到明细表。3.根据权利要求2所述的方法,其特征在于,所述获取并解析明细表之后,还包括:记录组成所述明细表的参数信息;其中,所述参数信息包括主键、维度和度量信息。4.根据权利要求3所述的方法,其特征在于,所述对所述Cube的明细表进行关联包括:服务器通过相同的主键信息,对生成需要关联的Cube的明细表进行关联。5.根据权利要求3或4所述的方法,其特征在于,所述根据所述虚拟明细表生成动态Cube包括:通过任务Task将虚拟明细表生成事实表,再使用结构化查询语言SQL语句将所述事实表的维度信息和度量信息结合生成动态Cube。6.一种实现多维立方体Cube关联的装置,其特征在于,所述装置包括:判断模块、源表分析模块和生成模块;...

【专利技术属性】
技术研发人员:刘玉娜
申请(专利权)人:中国移动通信集团天津有限公司
类型:发明
国别省市:天津;12

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

1