数据库维度的处理方法及装置制造方法
【专利摘要】本发明公开了一种数据库维度的处理方法及装置。其中,该方法包括:获取数据仓库中预先创建的第一维度表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新以存储与第一维度表中存储的数据相同的数据;获取第二维度表中的最大数值;获取数据仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表中的最大数值;如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表中数据进行更新,解决了对大维度进行加载数据处理时,处理效率低的问题,达到了提升维度表数据处理速度的效果。
【专利说明】数据库维度的处理方法及装置
【技术领域】
[0001] 本发明涉及数据处理领域,具体而言,涉及一种数据库维度的处理方法及装置。
【背景技术】
[0002] 数据仓库是一种通用数据处理系统,可以存储一个应用领域的所有有关数据。数 据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。 不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数 据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用 户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
[0003] 数据分析服务器(SQL Services Analysis Services,简称为SSAS)为合并数据挖 掘的解决方案提供一个集成的平台。在数据分析服务器中具有分析数据库,在分析数据库 从数据仓库里加载完所有数据后,都会将维度的层次结构进行重建,这种重建就相当于对 SQLServer数据库的一个大索引进行重建一样,性能会非常慢,对于上亿级别的维度做添加 一条数据,也不可避免的会所有的维度成员值做维度层次结构的重建,都会耗时十多分钟 以上,随着事实维度数据量的增加,维度的处理性能呈直线下降趋势。
[0004] 针对相关技术中在对大维度进行加载数据处理时,处理效率低的问题,目前尚未 提出有效的解决方案。
【发明内容】
[0005] 本发明的主要目的在于提供一种数据库维度的处理方法及装置,以解决对大维度 进行加载数据处理时,处理效率低的问题。
[0006] 为了实现上述目的,根据本发明的一个方面,提供了一种数据库维度的处理方法。
[0007] 根据本发明的数据库维度的处理方法包括:获取数据仓库中预先创建的第一维度 表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新 以存储与第一维度表中存储的数据相同的数据;获取第二维度表中的最大数值;获取数据 仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表中的最大数值;如果 数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表中数据进行更新。
[0008] 进一步地,获取数据仓库中预先创建的第一维度表包括:查找数据仓库中的事实 表;获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所有的指标数据;将事 实表中数据的数量级扩大至预设数量级;通过预先创建的数据表存储预设数量级的数据; 将预先创建的数据表作为第一维度表。
[0009] 进一步地,获取第二维度表中的最大数值包括:查找数据仓库中的事实表;获取 事实表中的指标数据,其中,事实表用于存储数据仓库中所有的指标数据;将第二维度表中 的成员值与事实表中的指标数据建立映射关系;通过映射关系在事实表中查找第二维度表 中最大成员值数据。
[0010] 进一步地,如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维 度表中数据进行更新包括:查找数据仓库中的事实表;获取事实表中数据的数量级,其中, 事实表用于存储数据仓库中所有的指标数据;将事实表中数据的数量级扩大至预设数量 级;通过预先创建的数据表存储预设数量级的数据;将预先创建的数据表作为第一维度 表;更新第一维度表数据。
[0011] 进一步地,获取数据仓库中预先创建的第一维度表之前,方法还包括:检测数据仓 库中不可预估的维度表;获取不可预估的维度表;在不可预估的维度表创建相应的代理键 列;通过代理键列,创建第一维度表。
[0012] 为了实现上述目的,根据本发明的另一方面,提供了一种数据库维度的处理装置。 该装置包括:第一获取单元,用于获取数据仓库中预先创建的第一维度表;第二获取单元, 用于获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更 新以存储与第一维度表中存储的数据相同的数据;第三获取单元,用于获取第二维度表中 的最大数值;第四获取单元,用于获取数据仓库中的最大数值;判断单元,用于判断数据仓 库中的最大数值是否大于第二维度表中的最大数值;更新单元,用于在数据仓库中的最大 数值大于第二维度表中的最大数值的情况下,对第一维度表中数据进行更新。
[0013] 进一步地,第一获取单元包括:第一查找模块,用于查找数据仓库中的事实表;第 一获取模块,用于获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所有的指 标数据;第一扩大模块,用于将事实表中数据的数量级扩大至预设数量级;第一存储模块, 用于通过预先创建的数据表存储预设数量级的数据;第一处理模块,用于将预先创建的数 据表作为第一维度表。
[0014] 进一步地,第三获取单元包括:第二查找模块,用于查找数据仓库中的事实表;第 二获取模块,用于获取事实表中的指标数据,其中,事实表用于存储数据仓库中所有的指标 数据;建立模块,用于将第二维度表中的成员值与事实表中的指标数据建立映射关系;第 三查找模块,用于通过映射关系在事实表中查找第二维度表中最大成员值数据。
[0015] 进一步地,更新单元包括:第三查找模块,用于查找数据仓库中的事实表;第三获 取模块,用于获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所有的指标数 据;第二扩大模块,用于将事实表中数据的数量级扩大至预设数量级;第一存储模块,用于 通过预先创建的数据表存储预设数量级的数据;第一处理模块,用于将预先创建的数据表 作为第一维度表;第一更新模块,用于更新第一维度表数据。
[0016] 进一步地,第一获取单元之前,装置还包括:检测模块,用于检测数据仓库中不可 预估的维度表;第四获取模块,用于获取不可预估的维度表;第一创建模块,用于在不可预 估的维度表创建相应的代理键列;第二创建模块,用于通过代理键列,创建第一维度表。
[0017] 本发明提供的数据库维度的处理方法,通过获取数据仓库中预先创建的第一维度 表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新 以存储与第一维度表中存储的数据相同的数据;获取第二维度表中的最大数值;获取数据 仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表中的最大数值;如果 数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表中数据进行更新,解 决了对大维度进行加载数据处理时,处理效率低的问题,进而达到了提升维度表数据处理 速度的效果。
【专利附图】
【附图说明】
[0018] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明的数据库维度的处理方法的第一实施例的流程图;
[0020] 图2是根据本发明的数据库维度的处理方法的第二实施例的流程图;
[0021] 图3是根据本发明的数据库维度的处理方法的第三实施例的流程图;
[0022] 图4是根据本发明的数据库维度的处理装置的第一实施例的示意图;
[0023] 图5是根据本发明的数据库维度的处理装置的第二实施例的示意图;以及
[0024] 图6是根据本发明的数据库维度的处理装置的第三实施例的示意图。
【具体实施方式】
[0025] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0026] 图1是根据本发明的数据库维度的处理方法的第一实施例的流程图。如图1所示, 该方法包括如下的步骤S101至步骤S106 :
[0027] 步骤S101,获取数据仓库中预先创建的第一维度表。
[0028] 数据仓库,英文名称Data Warehouse,简称DW或DWH,数据仓库是为企业所有级别 的决策制度过程提高支持的所有类型数据的战略。它是单个数据存储,成语分析性报告和 决策支持的目的而创建,为企业提供需要业务智能来知道业务流程改进和监督时间、成本、 质量和控制。
[0029] 维度是指决策分析者分析数据的角度。数据仓库中的维度是主要对事实指标进行 过滤和重新组织提供指导,可以对用户对事实的查询结果按照维度指标进行筛选,只允许 与维度指标相关的数据返给用户。维度一般具有如下特性,可以形成一个维度体系,包括一 个完整的维度体系编码,关键词以及相关的表示,可以映射到用户所需要的信息的列,在物 理数据仓库中是较小的表,可以对前台用户的应用程序进行数据填充,或引用数据仓库分 析。例如 Product_name、Product_brand、Product_category、Product_department 等,这 些是常见的数据仓库中的维度。
[0030] 维度表处理方式指的在SSAS在处理维度时的处理方式,对数据仓库中的维度以 维度表处理方式进行处理,将数据转移至SSAS中。下次进行数据查询时,直接进入SSAS中 查询,加快了查询速度。
[0031] 在数据仓库中预先创建的第一维度表,获取第一维度表。
[0032] 步骤S102,获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一 维度表进行更新以存储与第一维度表中存储的数据相同的数据。
[0033] SSAS中包含分析数据库,分析数据库可以对数据进行在线统计、数据在线分析、随 即查询等发掘信息数据价值的工作,是数据库产品一个重要的分支。
[0034] 维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录 的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者 提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。例如,包含产品信息的维度 表通常包含将产品分为食品、饮料、非消费品等若干类的层次结构,这些产品中的每一类进 一步多次细分,直到各产品达到最低级别。在维度表中,每个表都包含独立于其他维度表的 事实特性,例如,客户维度表包含有关客户的数据。维度表中的列字段可以将信息分为不同 层次的结构级。维度表包含了事实表中指定属性的相关详细信息,比如,详细的产品,客户 属性,存储信息等。
[0035] 在分析数据库中的第二维度表是根据第一维度表进行更新以存储与第一维度表 中存储的数据相同的数据,获取分析数据库中的第二维度表。
[0036] 步骤S103,获取第二维度表中的最大数值。
[0037] 事实表编辑每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含 业务销售数据,如现金登记事务。所产生的数据,事实数据表通常包含大量的行。事实数据 表的主要特点是包含数字数据,并且这些数字信息可以汇总,以提供有关单位作为历史的 数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维 度表的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应 该包含除数字度量字段及使事实与维度表中对应项的相关索引字段之外的任何数据。包含 在事实数据表中的"度量值"有两种:一种是可以累计的度量值,另一种是非累计的度量值。 最有用的度量值是可累计的度量值,其累计起来的数字是非常有意义的。用户可以通过累 计度量值获得汇总信息,例如,可以汇总具体时间段内一组商店的特定商品的销售情况。非 累计的度量值也可以用于事实数据表,单汇总结果一般是没有意义的,例如,在一座大厦的 不同位置测量温度时,如果将大厦中所有不同位置的温度累加是没有意义的,但是求平均 值是有意义的。
[0038] -般来说,一个事实数据表都要和一个或多个维度表相关联,用户在利用事实数 据表创建多维数据集时,可以使用一个或多个维度表。
[0039] 映射指两个元素的集之间元素相互"对应"的关系,亦指"形成对应关系"。将获取 事实表中指标与第二维度表建立映射关系,通过维度表与指标建立对应关系,在第二维度 中获取第二维度的最大数值,通过维度表能够相应的映射到其对应的指标数据,从而成功 返回最大数值。
[0040] 步骤S104,获取数据仓库中的最大数值。
[0041] 通过数据仓库中维度表与指标建立对应关系,在数据仓库中获取数据仓库的最大 数值,通过维度表能够相应的映射到其对应的指标数据,从而成功返回最大数值。
[0042] 步骤S105,判断数据仓库中的最大数值是否大于第二维度表中的最大数值。
[0043] 步骤S106,如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维 度表中数据进行更新。
[0044] 在数据仓库中的最大数值大于第二维度表中的最大数值的情况,对第一维度表中 数据进行更新处理。具体的,通过查找数据仓库中的事实表;获取事实表中数据的数量级, 其中,事实表用于存储数据仓库中所有的指标数据;将事实表中数据的数量级扩大至预设 数量级;通过预先创建的数据表存储预设数量级的数据;将预先创建的数据表作为第一维 度表。
[0045] 本发明提供的数据库维度的处理方法,通过获取数据仓库中预先创建的第一维度 表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新 以存储与第一维度表中存储的数据相同的数据;获取第二维度表中的最大数值;获取数据 仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表中的最大数值;如果 数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表中数据进行更新,解 决了对大维度进行加载数据处理时,处理效率低的问题,进而达到了提升维度表数据处理 速度的效果。
[0046] 本实施例一中的步骤S101,获取数据仓库中预先创建的第一维度表。之前还包 括:
[0047] 查找数据仓库中的事实表。
[0048] 获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所有的指标数据。
[0049] 具体地,一种实现获取事实表数据的数量级的代码如下所示:
[0050] WITH LOAS (SELECT1AS c UNION ALL SELECT1),
[0051] LIAS (SELECT 1 AS c FROM LOAS A,LOAS B),
[0052] L2AS (SELECTIAS c FROM LIAS A, LIAS B),
[0053] L3AS (SELECTIAS c FROM L2AS A, L2AS B),
[0054] L4AS (SELECT 1 AS c FROM L3AS A,L3AS B),
[0055] L5AS (SELECTIAS c FROM L4AS A, L4AS B),
[0056] Nums AS (SELECT R0ff_NUMBER()OVER(ORDER BY c)AS num FROM L5)
[0057] SELECT MAX(num)FROM Nums
[0058] 通过此操作,获取事实表中数据的数量级。
[0059] 将事实表中数据的数量级扩大至预设数量级。
[0060] 比如Session为1-9亿范围,则此视图提供10亿个数字,若Session为10-99亿, 则提供1〇〇亿个数字。这样可以保证此视图在每个Session的数量级内保持不变,即只需 要每个数量级,对此维度做一次ProcessAdd处理即可。
[0061] 应该是扩展到FactSession的数量级或是更高一个数量级,具体根据各产品在生 产时怎样部署决定的,即究竟是想预处理多少数据量。
[0062] 通过预先创建的数据表存储预设数量级的数据。
[0063] 将预先创建的数据表作为第一维度表。
[0064] 图2是根据本发明的数据库维度的处理方法的第二实施例的流程图。如图2所示, 该方法包括如下的步骤S201至步骤S209 :
[0065] 步骤S201,获取数据仓库中预先创建的第一维度表。
[0066] 该步骤同上述步骤S101。
[0067] 步骤S202,获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一 维度表进行更新以存储与第一维度表中存储的数据相同的数据。
[0068] 该步骤同上述步骤S102。
[0069] 步骤S203,查找数据仓库中的事实表。
[0070] 查找数据仓库中的事实表,其中,事实表编辑每个数据仓库都包含一个或者多个 事实数据表。事实数据表可能包含业务销售数据,如现金登记事务。所产生的数据,事实数 据表通常包含大量的行。事实数据表的主要特点是包含数字数据,并且这些数字信息可以 汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引, 该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。事实数据表 不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与维度表中对应项的相 关索引字段之外的任何数据。包含在事实数据表中的"度量值"有两种:一种是可以累计的 度量值,另一种是非累计的度量值。最有用的度量值是可累计的度量值,其累计起来的数字 是非常有意义的。用户可以通过累计度量值获得汇总信息,例如,可以汇总具体时间段内一 组商店的特定商品的销售情况。非累计的度量值也可以用于事实数据表,单汇总结果一般 是没有意义的,例如,在一座大厦的不同位置测量温度时,如果将大厦中所有不同位置的温 度累加是没有意义的,但是求平均值是有意义的。
[0071] 一般来说,一个事实数据表都要和一个或多个维度表相关联,用户在利用事实数 据表创建多维数据集时,可以使用一个或多个维度表。
[0072] 步骤S204,获取事实表中的指标数据,其中,事实表用于存储数据仓库中所有的指 标数据。
[0073] 步骤S205,将第二维度表中的成员值与事实表中的指标数据建立映射关系。
[0074] 映射指两个元素的集之间元素相互"对应"的关系,亦指"形成对应关系"。将获取 事实表中指标与第二维度表建立映射关系。
[0075] 通过维度表与指标建立对应关系,在第二维度中获取第二维度的最大数值,通过 维度表能够相应的映射到其对应的指标数据,从而成功返回最大数值。
[0076] 步骤S206,通过映射关系在事实表中查找第二维度表中最大成员值数据。
[0077] 步骤S207,获取数据仓库中的最大数值。
[0078] 该步骤同上述步骤S104。
[0079] 步骤S208,判断数据仓库中的最大数值是否大于第二维度表中的最大数值。
[0080] 该步骤同上述步骤S105。
[0081] 步骤S209,如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维 度表中数据进行更新。
[0082] 该步骤同上述步骤S106。
[0083] 本发明提供的数据库维度的处理方法,通过获取数据仓库中预先创建的第一维度 表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新 以存储与第一维度表中存储的数据相同的数据;查找数据仓库中的事实表;获取事实表中 的指标数据,其中,事实表用于存储数据仓库中所有的指标数据;将第二维度表中的成员值 与事实表中的指标数据建立映射关系;通过映射关系在事实表中查找第二维度表中最大成 员值数据;获取数据仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表 中的最大数值;如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表 中数据进行更新,解决了对大维度进行加载数据处理时,处理效率低的问题,进而达到了提 升维度表数据处理速度的效果。
[0084] 图3是根据本发明的数据库维度的处理方法的第三实施例的流程图。如图3所示, 该方法包括如下的步骤S301至步骤S312 :
[0085] 步骤S301,获取数据仓库中预先创建的第一维度表。
[0086] 该步骤同上述步骤S101。
[0087] 步骤S302,获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一 维度表进行更新以存储与第一维度表中存储的数据相同的数据。
[0088] 该步骤同上述步骤S102。
[0089] 步骤S303,获取第二维度表中的最大数值。
[0090] 该步骤同上述步骤S103。
[0091] 步骤S304,获取数据仓库中的最大数值。
[0092] 该步骤同上述步骤S104。
[0093] 步骤S305,判断数据仓库中的最大数值是否大于第二维度表中的最大数值。
[0094] 该步骤同上述步骤S105。
[0095] 步骤S306,如果数据仓库中的最大数值大于第二维度表中的最大数值,对第一维 度表中数据进行更新。
[0096] 该步骤同上述步骤S106。
[0097] 步骤S307,查找数据仓库中的事实表。
[0098] 步骤S308,获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所有的 指标数据。
[0099] 步骤S309,将事实表中数据的数量级扩大至预设数量级。
[0100] 步骤S310,通过预先创建的数据表存储预设数量级的数据。
[0101] 步骤S311,将预先创建的数据表作为第一维度表。
[0102] 步骤S312,更新第一维度表数据。
[0103] 本发明提供的数据库维度的处理方法,通过获取数据仓库中预先创建的第一维度 表;获取分析数据库中创建的第二维度表,其中,第二维度表用于根据第一维度表进行更新 以存储与第一维度表中存储的数据相同的数据;获取第二维度表中的最大数值;获取数据 仓库中的最大数值;判断数据仓库中的最大数值是否大于第二维度表中的最大数值;如果 数据仓库中的最大数值大于第二维度表中的最大数值,对第一维度表中数据进行更新,查 找数据仓库中的事实表;获取事实表中数据的数量级,其中,事实表用于存储数据仓库中所 有的指标数据;将事实表中数据的数量级扩大至预设数量级;通过预先创建的数据表存储 预设数量级的数据;将预先创建的数据表作为第一维度表;更新第一维度表数据,解决了 对大维度进行加载数据处理时,处理效率低的问题,进而达到了提升维度表数据处理速度 的效果。
[0104] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。
[0105] 图4是根据本发明的数据库维度的处理装置的第一实施例的示意图。该装置包 括:第一获取单元10、第二获取单元20、第三获取单元30、第四获取单元40、判断单元50和 更新单元60。
[0106] 第一获取单元10,用于获取数据仓库中预先创建的第一维度表。
[0107] 第二获取单元20,用于获取分析数据库中创建的第二维度表,其中,第二维度表用 于根据第一维度表进行更新以存储与第一维度表中存储的数据相同的数据。
[0108] 第三获取单元30,用于获取第二维度表中的最大数值。
[0109] 第四获取单元40,用于获取数据仓库中的最大数值。
[0110] 判断单元50,用于判断数据仓库中的最大数值是否大于第二维度表中的最大数 值。
[0111] 更新单元60,用于在数据仓库中的最大数值大于第二维度表中的最大数值的情况 下,对第一维度表中数据进行更新。
[0112] 本发明提供的数据库维度的处理装置,通过第一获取单元10获取数据仓库中预 先创建的第一维度表;第二获取单元20获取分析数据库中创建的第二维度表,其中,第二 维度表用于根据第一维度表进行更新以存储与第一维度表中存储的数据相同的数据;第三 获取单元30获取第二维度表中的最大数值;第四获取单元40获取数据仓库中的最大数值; 判断单元50判断数据仓库中的最大数值是否大于第二维度表中的最大数值;更新单元60 在数据仓库中的最大数值大于第二维度表中的最大数值情况下,对第一维度表中数据进行 更新,解决了对大维度进行加载数据处理时,处理效率低的问题,进而达到了提升维度表数 据处理速度的效果。
[0113] 图5是根据本发明的数据库维度的处理装置的第二实施例的示意图。该装置包 括:第一获取单元10、第二获取单元20、第三获取单元30、第四获取单元40、判断单元50和 更新单元60。其中第三获取单元30包括:第二查找模块301、第二获取模块302、建立模块 303和第三查找模块304。
[0114] 第一获取单元10、第二获取单元20、第三获取单元30、第四获取单元40、判断单元 50和更新单元60的作用与上述实施例中作用相同,在此不再赘述。
[0115] 第二查找模块301,用于查找数据仓库中的事实表。
[0116] 第二获取模块302,用于获取事实表中的指标数据,其中,事实表用于存储数据仓 库中所有的指标数据。
[0117] 建立模块303,用于将第二维度表中的成员值与事实表中的指标数据建立映射关 系。
[0118] 第三查找模块304,用于通过映射关系在事实表中查找第二维度表中最大成员值 数据。
[0119] 图6是根据本发明的数据库维度的处理装置的第三实施例的示意图。该装置包 括:第一获取单元10、第二获取单元20、第三获取单元30、第四获取单元40、判断单元50和 更新单元60。其中,更新单元60包括:第三查找模块601、第三获取模块602、第二扩大模 块603、第一存储模块604、第一处理模块605和第一更新模块606。
[0120] 第一获取单元10、第二获取单元20、第三获取单元30、第四获取单元40、判断单元 50和更新单元60的作用与上述实施例中作用相同,在此不再赘述。
[0121] 第三查找模块601,用于查找数据仓库中的事实表。
[0122] 第三获取模块602,用于获取事实表中数据的数量级,其中,事实表用于存储数据 仓库中所有的指标数据。
[0123] 第二扩大模块603,用于将事实表中数据的数量级扩大至预设数量级。
[0124] 第一存储模块604,用于通过预先创建的数据表存储预设数量级的数据。
[0125] 第一处理模块605,用于将预先创建的数据表作为第一维度表。
[0126] 第一更新模块606,用于更新第一维度表数据。
[0127] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。
[0128] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种数据库维度的处理方法,其特征在于,包括: 获取数据仓库中预先创建的第一维度表; 获取分析数据库中创建的第二维度表,其中,所述第二维度表用于根据所述第一维度 表进行更新以存储与所述第一维度表中存储的数据相同的数据; 获取所述第二维度表中的最大数值; 获取所述数据仓库中的最大数值; 判断所述数据仓库中的最大数值是否大于所述第二维度表中的最大数值;以及 如果所述数据仓库中的最大数值大于所述第二维度表中的最大数值,对所述第一维度 表中数据进行更新。
2. 根据权利要求1所述的方法,其特征在于,获取数据仓库中预先创建的第一维度表 包括: 查找所述数据仓库中的事实表; 获取所述事实表中数据的数量级,其中,所述事实表用于存储所述数据仓库中所有的 指标数据; 将所述事实表中数据的数量级扩大至预设数量级; 通过预先创建的数据表存储所述预设数量级的数据;以及 将所述预先创建的数据表作为所述第一维度表。
3. 根据权利要求1所述的方法,其特征在于,获取所述第二维度表中的最大数值包括: 查找所述数据仓库中的事实表; 获取所述事实表中的指标数据,其中,所述事实表用于存储所述数据仓库中所有的指 标数据; 将所述第二维度表中的成员值与所述事实表中的指标数据建立映射关系;以及 通过所述映射关系在所述事实表中查找所述第二维度表中最大成员值数据。
4. 根据权利要求1所述的方法,其特征在于,如果所述数据仓库中的最大数值大于所 述第二维度表中的最大数值,对所述第一维度表中数据进行更新包括: 查找所述数据仓库中的事实表; 获取所述事实表中数据的数量级,其中,所述事实表用于存储所述数据仓库中所有的 指标数据; 将所述事实表中数据的数量级扩大至预设数量级; 通过预先创建的数据表存储所述预设数量级的数据; 将所述预先创建的数据表作为所述第一维度表;以及 更新所述第一维度表数据。
5. 根据权利要求1所述的方法,其特征在于,获取数据仓库中预先创建的第一维度表 之前,所述方法还包括: 检测所述数据仓库中不可预估的维度表; 获取所述不可预估的维度表; 在所述不可预估的维度表创建相应的代理键列;以及 通过所述代理键列,创建所述第一维度表。
6. -种数据库维度的处理装置,其特征在于,包括: 第一获取单元,用于获取数据仓库中预先创建的第一维度表; 第二获取单元,用于获取分析数据库中创建的第二维度表,其中,所述第二维度表用于 根据所述第一维度表进行更新以存储与所述第一维度表中存储的数据相同的数据; 第三获取单元,用于获取所述第二维度表中的最大数值; 第四获取单元,用于获取所述数据仓库中的最大数值; 判断单元,用于判断所述数据仓库中的最大数值是否大于所述第二维度表中的最大数 值;以及 更新单元,用于在所述数据仓库中的最大数值大于所述第二维度表中的最大数值的情 况下,对所述第一维度表中数据进行更新。
7. 根据权利要求6所述的装置,其特征在于,所述第一获取单元包括: 第一查找模块,用于查找所述数据仓库中的事实表; 第一获取模块,用于获取所述事实表中数据的数量级,其中,所述事实表用于存储所述 数据仓库中所有的指标数据; 第一扩大模块,用于将所述事实表中数据的数量级扩大至预设数量级; 第一存储模块,用于通过预先创建的数据表存储所述预设数量级的数据;以及 第一处理模块,用于将所述预先创建的数据表作为所述第一维度表。
8. 根据权利要求6所述的装置,其特征在于,所述第三获取单元包括: 第二查找模块,用于查找所述数据仓库中的事实表; 第二获取模块,用于获取所述事实表中的指标数据,其中,所述事实表用于存储所述数 据仓库中所有的指标数据; 建立模块,用于将所述第二维度表中的成员值与所述事实表中的指标数据建立映射关 系;以及 第三查找模块,用于通过所述映射关系在所述事实表中查找所述第二维度表中最大成 员值数据。
9. 根据权利要求6所述的装置,其特征在于,所述更新单元包括: 第三查找模块,用于查找所述数据仓库中的事实表; 第三获取模块,用于获取所述事实表中数据的数量级,其中,所述事实表用于存储所述 数据仓库中所有的指标数据; 第二扩大模块,用于将所述事实表中数据的数量级扩大至预设数量级; 第一存储模块,用于通过预先创建的数据表存储所述预设数量级的数据; 第一处理模块,用于将所述预先创建的数据表作为所述第一维度表;以及 第一更新模块,用于更新所述第一维度表数据。
10. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 检测模块,用于检测所述数据仓库中不可预估的维度表; 第四获取模块,用于获取所述不可预估的维度表; 第一创建模块,用于在所述不可预估的维度表创建相应的代理键列;以及 第二创建模块,用于通过所述代理键列,创建所述第一维度表。
【文档编号】G06F17/30GK104217032SQ201410510719
【公开日】2014年12月17日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】洪超 申请人:北京国双科技有限公司