数仓体系下的维度建模计算方法、计算机设备和存储介质与流程

文档序号:23851725发布日期:2021-02-05 14:27阅读:70来源:国知局
数仓体系下的维度建模计算方法、计算机设备和存储介质与流程

[0001]
本发明涉及数据仓库领域,尤其涉及数仓体系下的维度建模计算方法、计算机设备和存储介质。


背景技术:

[0002]
数仓平台是数据治理的一个核心模块,承担数据治理过程中的数据加工并业务化的功能,致力于:(1)构建统一的数据分类体系,用于目录化管理所有业务数据,便于数据的归类、查找、评价、使用。(2)构建统一的数据标准体系,基于国家或行业标准,用于标准化每一行数据,每一个字段的具体取值,提升数据质量和易用性。(3)构建统一的数据模型体系,通过规范定义和数据建模,自顶向下构建企业数据分层体系,沉淀企业数据公共层和主题库,便于数据的流通、共享、创造、创新,提升数据使用效率,极大的减少数据冗余、混乱、隔离、不一致以及谬误等。因此对于数仓平台,如何能够进行维度建模计算,是本领域亟待解决的问题。


技术实现要素:

[0003]
本发明的目的在于克服现有技术的不足,提供一种数仓体系下的维度建模计算方法、计算机设备和存储介质。
[0004]
本发明的目的是通过以下技术方案来实现的:
[0005]
本发明的第一方面,提供数仓体系下的维度建模计算方法,包括以下步骤:
[0006]
配置事实表,所述事实表包括归属于某个业务过程的业务数据;
[0007]
配置维度表,所述维度表描述所述事实表并生成分析所述业务数据的维度;
[0008]
基于所述事实表配置原子指标,所述原子指标为以一定的规则分析得到的数据,用以衡量指定的目标;
[0009]
配置限定条件,所述限定条件用于对复合指标进行限定;
[0010]
基于所述原子指标、维度表和限定条件,配置复合指标,所述复合指标为统计指标;
[0011]
将所述事实表、维度表、原子指标、限定条件和复合指标形成汇总表输出。
[0012]
进一步地,所述配置事实表包括:
[0013]
配置包括业务分层、事实表名、数据源类型、数据库在内的基本信息;
[0014]
配置事实属性。
[0015]
进一步地,所述的配置维度表包括:
[0016]
配置包括业务分层、维度名称、数据源类型、数据库在内的基本信息;
[0017]
配置维度属性以及对应的关联事实表。
[0018]
进一步地,所述的配置原子指标包括:
[0019]
配置包括业务分层、指标名称、数据类型、单位在内的基本信息;
[0020]
配置事实表选择、字段选择和公式选择。
[0021]
进一步地,所述限定条件包括时间限定条件和地区限定条件。
[0022]
进一步地,所述方法还包括:
[0023]
获取待建立数仓的外部数据库的级别;
[0024]
根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0025]
进一步地,所述数仓中预存的对应级别的计算方式的预存方式包括:
[0026]
抓取高于对应级别的其余外部数据库发布的低级别数仓建立方式,并进行预存;和/或:
[0027]
预存同级别的外部数据库的数仓建立方式。
[0028]
进一步地,所述方法还包括:
[0029]
获取待建立数仓的外部数据库的需求;
[0030]
根据所述需求配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0031]
本发明的第二方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
[0032]
本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
[0033]
本发明的有益效果是:
[0034]
(1)在本发明一实例性实施例中公开的数仓体系下的维度建模计算方法,由数据开发人员配置维度表、事实表、原子指标、复合指标、限定条件等一系列大数据计算模型,从而清洗生成想要的结果数据。
[0035]
(2)在本发明多个实例性实施例中公开的内容中,分别公开了维度表、事实表、原子指标的具体实现方式。
[0036]
(3)在本发明一实例性实施例中,获取待建立数仓的外部数据库的级别,根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标,从而实现快速建立数仓。
附图说明
[0037]
图1为本发明一示例性实施例公开的流程图。
具体实施方式
[0038]
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0040]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这
些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0041]
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0042]
维度建模是从分析决策的需求出发构建模型,它主要是为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。多维模型是由数字型度量值组成的一张事实表连接到一组包含描述属性的多张维度表,事实表与维度表通过主/外键实现关联。典型的维度模型有星形模型,以及在一些特殊场景下使用的雪花模型。在数仓规范设计中,维度建模是以维度建模理论为基础,构建总线矩阵、抽象出事实和维度,构建维度模型和事实模型,同时对报表需求进行抽象整理出相关指标体系,构建出汇总模型。下述示例性实施例部分以旅游文化数据仓库为例。
[0043]
参见图1,图1示出了本发明一实例性实施例公开的数仓体系下的维度建模计算方法的流程图,由数据开发人员配置维度表、事实表、原子指标、复合指标、限定条件等一系列大数据计算模型,从而清洗生成想要的结果数据。其中,所述方法包括以下步骤:
[0044]
配置事实表,所述事实表包括归属于某个业务过程的业务数据;
[0045]
配置维度表,所述维度表描述所述事实表并生成分析所述业务数据的维度;
[0046]
基于所述事实表配置原子指标,所述原子指标为以一定的规则分析得到的数据,用以衡量指定的目标;
[0047]
配置限定条件,所述限定条件用于对复合指标进行限定;
[0048]
基于所述原子指标、维度表和限定条件,配置复合指标,所述复合指标为统计指标;
[0049]
将所述事实表、维度表、原子指标、限定条件和复合指标形成汇总表输出。
[0050]
其中,事实表主要是归属于某个业务过程的事实逻辑表,可以丰富具体业务过程所对应事务的详细信息。创建事实逻辑表即完成公共的事务明细数据沉淀,从而便于提取业务中事务相关的明细数据。下线条件:需要原子指标和通用限定不在使用。
[0051]
具体地,在一优选示例性实施例中,当需要配置事实表(或者创建一个新的事实表)时,首先需要配置包括业务分层、事实表名、数据源类型、数据库在内的基本信息;然后再配置事实属性。在一具体实施例中,所述业务分层可以包括旅游产业和文化产业,旅游产业例如又可以选择运营商和网评ota,对于运营商可以继续细分至游客趋势和游客画像;文化产业类似,在此不进行赘述,下述示例性实施例的业务分层以“旅游产业-运营商-游客趋势”为主。事实表名为自行设置,例如“旅客性别统计”和“旅客客源地统计”;数据源类型(hive)和数据库名(spider-test)均为对应选择。“旅客性别统计”的事实属性,可以配置为“性别”和“时间戳”,并且针对每个属性均可以选择字段编码、数据类型、是否主键和是否分区;“旅客客源地统计”的事实属性包括“景点id”、“游客来源地”、“结果时间”、“游客人数”。
[0052]
对于维度表,维度是用于观察和分析业务数据的视角,来源于属性,并且多数具有层级结构,如:地理维度(其中包括国家、地区、省以及城市等级别的内容)、时间维度(其中包括年度、季度、月度等级别的内容)。创建维度,即从顶层规范业务中实体(或称主数据)的
存在性及唯一性。下线条件:需要限定条件中的通用限定不在使用、事实表不在使用和复合指标不在使用。
[0053]
具体地,在一优选示例性实施例中,当需要配置维度表(或者创建一个新的维度表)时,首先配置包括业务分层、维度名称、数据源类型、数据库在内的基本信息;然后配置维度属性以及对应的关联事实表。在一具体实施例中,业务分层的方式与事实表的相同(“旅游产业-运营商-游客趋势”)。维度表也可以自行设定,例如“目的地地区维度”、“游客类型维度”、“客源地地区维度”和“时间维度”。对于“游客类型维度”,其数据源类型和数据库名也与事实表相同。而对于维度属性,其可以具体包括编码、类型、是否为关键维度和关键维度字段。
[0054]
另外,对于对应的关联事实表,该内容可以在事实表或维度表中进行设置,当在“旅游性别统计”事实表中设置时:可以包括字段名称、字段编码、数据类型、是否主键、关联维度表、关联维度表字段;例如字段名称可以是“日期”、“目的地地区编码”、“客源地地区编码”、“游客类型编码”,对应的字段编码为“date”、“targetregion”、“sourceregion”、“regiontype”,关联的维度表可以是“时间维度”、“目的地地区维度”、“客源地地区维度”、“游客类型维度”。而当在维度表中设置时:可以包括字段名称、字段编码、数据类型、是否主键、关联事实表、关联事实表字段。
[0055]
对于原子指标,原子指标是对指标统计逻辑、具体算法的一个抽象。为了从根源上解决定义、研发不一致的问题,指标定义明确设计统计逻辑(即计算逻辑),不需要etl二次或者重复研发,从而提升了研发效率,也保证了统计结果的一致性。
[0056]
原子指标是为了构建应用统计分析所需的派生指标,而定义的数据组件,因此只可以基于事实逻辑表明细数据表来创建。
[0057]
复合指标无来源表,它归属于每个组合成它的原始的原子指标的来源表。原子指标与复合指标的关系:(1)原子指标的计算逻辑修改生效后,会直接更新应用于相关的复合指标。(2)原子指标被删除或者变更英文名,需要校验下游是否有复合指标使用,如果有,则无法删除或变更。(3)原子指标的数据类型更改会影响下游复合指标。下线条件:需要复合指标不在使用。
[0058]
具体地,在一优选示例性实施例中,当需要配置原子指标(或者创建一个新的原子指标)时,首先配置包括业务分层、指标名称、数据类型、单位在内的基本信息;然后配置事实表选择、字段选择和公式选择。在一示例性实施例中,基本信息包括:业务分层为“旅游产业-运营商-游客趋势”,原子指标名称为“游客人数”,数据类型为“长整型”,单位为“人”(人数);而对于计算逻辑,选择的事实表为“旅客客源地统计”,选择字段为“游客人数”,选择公式为“求和(sum)”。
[0059]
对于限定条件,用于对复合指标进行限定,在一优选示例性实施例中,所述限定条件包括时间限定条件和地区限定条件。
[0060]
对于地区限定条件,原子指标是计算逻辑的标准化定义,地区限定条件则是条件限制的标准化定义。为保障所有统计指标统一、标准、规范地构建,地区限定条件在业务板块内唯一,并唯一归属于一个来源逻辑表,计算逻辑也以该来源逻辑表模型的字段为基础进行定义。由于一个地区限定条件的定义可能来自于归属不同数据域的多个逻辑表,因此一个地区限定条件可能归属于多个数据域。在一示例性实施例中,地区限定条件包括:选择
表(旅客客源地统计)、选择字段(游客来源地)、筛选范围。而对于筛选范围,可以通过“码表”的形式进行选择,包括“码表选择”(地区编码)、“选择码表字段”(行政编码)、“选择码表取值”(6位编码)、“是否排除”。
[0061]
对于时间限定条件,原子指标是计算逻辑的标准化定义,时间限定则是条件限制的标准化定义。为保障所有统计指标统一、标准、规范地构建,时间限定在业务板块内唯一,并唯一归属于一个来源逻辑表,计算逻辑也以该来源逻辑表模型的字段为基础进行定义。由于一个时间限定的定义可能来自于归属不同数据域的多个逻辑表,因此一个时间限定可能归属于多个数据域。在一示例性实施例中,时间限定条件包括:“年度限定”、“月度限定”等等,
[0062]
对于复合指标,复合指标即统计指标,为保证统计指标标准、规范、无二义性地生成,复合指标=原子指标+维度+业务限定。在新建复合指标之前,请先确认原子指标已经新建并通过审核。并且如果复合指标将用到时间限定或通用限定,先确认时间限定和通用限定已经新建并通过审核。
[0063]
例如对于“月度游客人数”这一复合指标,业务分层与上述内容相同(“旅游产业-运营商-游客趋势”),数据库也相同(spider-test),数据源类选择“hive”,原子指标选择“游客人数”,时间限定选择“月度限定”,统计维度选择“时间维度”,地区限定选择某一地点。
[0064]
更优地,在一示例性实施例中,所述方法还包括:
[0065]
获取待建立数仓的外部数据库的级别;
[0066]
根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0067]
具体地,对于上述示例性实施例,文旅产业外部数据库的级别可以与对应数据库的单位相关,例如可以分为国家级、省级、市级、区级等。也就是说,首先获取待建立数仓的外部数据库的级别(例如为市级数据库),此时根据数仓中预存的市级数据库的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标。而在另一示例性实施例中,级别可以根据公司内部部门的级别进行设定。
[0068]
更优地,在一示例性实施例中,所述数仓中预存的对应级别的计算方式的预存方式包括:
[0069]
抓取高于对应级别的其余外部数据库发布的低级别数仓建立方式,并进行预存;和/或:
[0070]
预存同级别的外部数据库的数仓建立方式。
[0071]
其中,第一种方式可以为在建立市级数据库的过程中,抓取省级网站或者相关规定中对市级数据库的规定;而对于第二种方式,第一市级数据库建立时,可以利用在本数仓中其余市级数据库建立时候的数仓建立方式,从而进行同方式建立。
[0072]
更优地,在一示例性实施例中,所述方法还包括:
[0073]
获取待建立数仓的外部数据库的需求;
[0074]
根据所述需求配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0075]
也就是说,根据外部数据库发送的实际需求进行建立。
[0076]
本发明的第二方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上
并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
[0077]
本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
[0078]
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得装置执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0079]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1