1.本发明涉及大数据处理领域,尤其涉及基于大数据宽表的指标自动定义方法、系统及存储介质。
背景技术:2.现有商业智能(business intelligence,简称-bi),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。目前传统的bi技术主要面向基础指标进行抽取、转换和装载,而面向指标的定义、计算和存储才能对业务起到分析作用,但指标的定义对计算机大数据专业知识要求高,不容易被企业管理人员所接受,进而急需提出一种适用于普通大众均可使用的数据分析处理方式。
3.现有公开号为cn112633761a的发明提出了指标数据的查询方法、装置、设备及存储介质,通过引入了实时分析数据库和缓存数据库,并调用指标计算引擎根据指标查询请求在实时分析数据库和缓存数据库中查询指标数据,并对指标数据进行标准化处理,生成目标聚合指标数据,解决了无法查询实时指标数据的问题,且无需第三方提供计算好的指标数据,提高了查询指标数据的效率,其中整个定义指标的过程以结果为导向,需要对指标进行分析,逆向推导出需要创建的指标,并且需要专人进行指标的定义和维护,进而无法实现分析数据的灵活分析。
技术实现要素:4.本发明的主要目的在于提供基于大数据宽表的指标自动定义方法、系统及存储介质,旨在解决现有的指标定义专业性较强的技术问题。
5.为实现上述目的,本发明提供一种基于大数据宽表的指标自动定义方法,所述方法包括以下步骤:
6.接收录入的基础数据集,所述基础数据集包括基础指标和所述基础指标对应的相关因素,所述基础指标包括发送量、周转量和收入,所述相关因素包括数据类型、数据名称、数据源、数据维度、数据口径、数据版本和数据值;
7.识别录入的基础数据集中的基础指标及其所对应的相关因素;
8.根据各基础指标和各相关因素得到自定义衍生指标。
9.可选地,所述根据各基础指标和各相关因素得到的自定义衍生指标的步骤,包括:
10.根据各相关因素的顺向扩展,自动定义得到多个衍生指标,所述顺向扩展包括数据维度的扩展、数据源的扩展、指标编码的扩展。
11.可选地,所述根据各相关因素的顺向扩展,自动定义得到多个衍生指标的步骤,包括:
12.根据相关因素中的数据维度自由组合成各种维度组合,得到各种维度组合的衍生指标。
13.可选地,所述根据相关因素中的数据维度自由组合成各种维度组合,得到各种维度组合的衍生指标的步骤,包括:
14.识别各基础指标所对应的数据源;
15.根据各数据源与数据维度自由组合得到初始衍生指标;
16.判断初始衍生指标中的目标对象的在各维度组合中是否重复;
17.若是,则确定目标对象的维度优先级;
18.若否,则直接生成目标对象的衍生指标。
19.可选地,所述确定目标对象的维度优先级的步骤,包括:
20.确定含有目标对象的各初始衍生指标中的最细粒度,并保留最细粒度最小的维度组合为目标对象的衍生指标。
21.可选地,所述根据所述基础指标和各相关因素得到的自定义衍生指标的步骤,包括:
22.根据各自定义衍生指标所包括的基础指标、相关因素进行指标计算得到对应的自定义衍生指标的指标值。
23.可选地,所述根据所述基础指标和各相关因素得到的自定义衍生指标的步骤之后,包括:
24.根据自定义衍生指标中的基础指标自动分配对应的时间戳;
25.根据各时间戳以列式存储方式保存对应的自定义衍生指标。
26.此外,为实现上述目的,本发明还提供一种基于大数据宽表的指标自动定义方法系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于大数据宽表的指标自动定义程序,所述基于大数据宽表的指标自动定义程序被所述处理器执行时实现如权利要求上述任一项所述的基于大数据宽表的指标自动定义方法的步骤。
27.此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于大数据宽表的指标自动定义程序,所述基于大数据宽表的指标自动定义程序被处理器执行时实现如上述任一项所述的基于大数据宽表的指标自动定义方法的步骤。
28.本发明提供一种基于大数据宽表的指标自动定义方法,通过接收录入的基础数据集,所述基础数据集包括基础指标和所述基础指标对应的相关因素,所述基础指标包括发送量、周转量和收入,所述相关因素包括数据类型、数据名称、数据源、数据维度、数据口径、数据版本和数据值;识别录入的基础数据集中的基础指标及其所对应的相关因素;根据各基础指标和各相关因素得到自定义衍生指标。进而实现了不需要人为的定义指标,在记录基础指标时,通过基础指标中的维度,让系统自动生成各种维度组合的指标,进而免除繁琐的人工操作,也避免人工定义过程的存在遗漏的风险,同时,提前将会把单维度的指标和多维度组合的最小粒度指标都自动定义且计算出来,满足用户的灵活使用,为后续的灵活分析奠定基础。
附图说明
29.图1是本发明实施例方案涉及的基于大数据宽表的指标自动定义系统的结构示意图;
30.图2为本发明基于大数据宽表的指标自动定义方法一实施例的流程示意图。
31.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
32.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
33.如图1所示,图1是本发明实施例方案涉及的基于大数据宽表的指标自动定义系统的结构示意图。
34.如图1所示,该系统可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以红外接收模块,用于接收用户通过遥控器触发的控制指令,可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
35.本领域技术人员可以理解,图1中示出的基于大数据宽表的指标自动定义系统的结构并不构成对基于大数据宽表的指标自动定义系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
36.本发明基于大数据宽表的指标自动定义系统的具体实施例与下述基于大数据宽表的指标自动定义基于大数据宽表的指标自动定义方法各实施例基本相同,在此不作赘述。
37.参照图2,本发明基于大数据宽表的指标自动定义方法提供第一实施例的流程示意图,所述方法包括:
38.步骤s10,接收录入的基础数据集;步骤s20,识别录入的基础数据集中的基础指标及其所对应的相关因素;
39.步骤s30,根据各基础指标和各相关因素得到自定义衍生指标。
40.具体地,本实施例中的基础数据集均为大数据宽表,其中记载的数据是一类表达业务实体原子量化属性的且不可再分的概念的集合,其中包括了如发送量、周转量、收入等基础指标,以及与各基础指标对应的一类相关因素,其中包括数据类型、数据名称、数据源、数据维度、数据口径、数据版本和数据值,例如,在针对运输大数据领域中,其中,数据类型是从业务角度对数据进行分类,例如客运、货运等;数据维度是对事物或现象的特征进行聚类,例如时间维度(日、月、年)、空间维度(省份、城市);数据口径是统计数据所采用的统计逻辑标准,例如全含口径(计算所有企业)、含控股口径(不计算非控股企业);数据版本是不同的数据口径结合数据维度,对数据进行统计,例如发布版本(当期数据口径,例如去年使用含控股口径,今年使用全含口径)、分析版本(任意组合数据口径和数据维度,例如去年和今年都使用全含口径)等。进而在实际应用,统计业务时无法只分析基础指标,例如无法对发送量进行分析,而是需要对“某部门某时间范围的旅客发送量”这样的指标进行分析,而“某部门某时间范围的旅客发送量”属于通过基础指标“发送量”,与指标相关因素“某部门”、“某时间”、“客运”相结合产生的指标,即衍生指标,才是统计业务时所需要分析的指标。例如,在宽表a中有基础指标“发送量”,同时标识出相关因素:数据维度“省份”、“城市”,数据类型“客运”,通过维度扩展为3种维度,“省份”、“城市”、“省份城市”,则自动定义为3个
衍生指标,省旅客发送量、市旅客发送量、省市旅客发送量。
41.本实施例中,通过通过接收录入的基础数据集,所述基础数据集包括基础指标和所述基础指标对应的相关因素,所述基础指标包括发送量、周转量和收入,所述相关因素包括数据类型、数据名称、数据源、数据维度、数据口径、数据版本和数据值;识别录入的基础数据集中的基础指标及其所对应的相关因素;根据各基础指标和各相关因素得到自定义衍生指标。进而实现了不需要人为的定义指标,在记录基础指标时,通过基础指标中的维度,让系统自动生成各种维度组合的指标,进而免除繁琐的人工操作,也避免人工定义过程的存在遗漏的风险。
42.进一步地,所述步骤s30的步骤,包括:
43.根据各相关因素的顺向扩展,自动定义得到多个衍生指标,所述顺向扩展包括数据维度的扩展、数据源的扩展、指标编码的扩展。
44.第一种情况,针对数据维度的扩展流程如下:
45.根据相关因素中的数据维度自由组合成各种维度组合,得到各种维度组合的衍生指标。
46.具体地,首先数据维度可以自由组合成维度组合,再自动生成各种维度组合的指标,例如,基础指标中的数据维度包括维度1、维度2、维度3,可以自由组合为3个单维度(维度1、维度2、维度3)和1个维度组合(维度1_维度2_维度3),从而自动定义4个衍生指标,包括:“维度1”指标、“维度2”指标、“维度3”指标、“维度1_维度2_维度3”指标。
47.第二种情况,针对数据源的扩展流程如下:
48.识别各基础指标所对应的数据源;
49.根据各数据源与数据维度自由组合得到初始衍生指标。
50.具体地,首先基础指标来源于指标宽表a、指标宽表b和指标宽表c,其中维度1、维度2、维度3来源于指标宽表a,维度1、维度4来源于指标宽表b,维度5来源于指标宽表c,通过各数据源中数据维度自由组合,自动定义7个衍生指标,包括“维度1”指标、“维度2”指标、“维度3”指标、“维度1_维度2_维度3”指标、“维度4”指标、“维度1_维度4”指标、“维度5”指标。
51.进一步地,在维度组合通过数据源进行扩展时,需要判断初始衍生指标中的目标对象在各维度组合中是否重复;
52.若初始衍生指标中的目标对象的在各维度组合存有重复情况,则确定目标对象的维度优先级,并且,所述确定目标对象的维度优先级的步骤,包括:确定含有目标对象的各初始衍生指标中的最细粒度,并保留最细粒度最小的维度组合为目标对象的衍生指标。例如上述例子中,宽表a和宽表b都包含“维度1”的单维度,这时系统会自动检测到维度组合中包含“维度1”的情况(维度1_维度2_维度3、维度1_维度4),系统会自动对比两个包含“维度1”的多维度组合,以最细粒度和生成时间来确定优先级,并保留优先级更高的单维度组合,维度1_维度2_维度3最细粒度为3,维度1_维度4最细粒度为2,因此保留来数据源宽表a的单维度组合“维度1”。
53.若初始衍生指标中的目标对象的在各维度组合没有重复情况,则直接生成目标对象的衍生指标。
54.第三种情况,针对指标编码的扩展情况如下:
55.指标编码也是根据基础指标相关因素自动构成,例如基础指标“发送量”编码为fsl,则指标“日发送量”的编码为fsl_d,指标“月发送量”的编码为:fsl_m。
56.进一步地,所述步骤s30,还包括对生成的衍生指标进行指标计算,包括:
57.根据各自定义衍生指标所包括的基础指标、相关因素进行指标计算得到对应的自定义衍生指标的指标值。
58.具体地,指标计算分为:基础计算、复合计算、自定义计算。
59.其中,针对基础计算,表示当前指标可通过基础信息根据相关影响因素通过聚合的方式计算得出,不需要参考其他指标即可进行自动计算的指标;计算公式中的所有信息都能从当前基础信息中获得,则直接自动计算这些指标。例如,指标“省旅客发送量”,由基础信息“发送量”通过数据维度“省份”、数据类型“客运”聚合计算得出,并记录指标名称“省旅客发送量”、数据维度“省份”、数据类型“客运”、指标值“fsl”。
60.针对复合计算,表示当前指标需要通过一个或多个指标,通过四则运算计算得出,例如指标“日均省装车数”,由指标“省装车数”通过除以天数计算得出,指标“省旅客平均运程”,由指标“省旅客周转量”通过除以指标“省旅客运送人”计算得出;其中指标“日均省装车数”,可以记录指标名称“日均省装车数”、数据维度“省份”、指标值“zcs”,而指标“省旅客平均运程”,可以记录指标名称“省旅客平均运程”、数据维度“省份”、数据类型“客运”、指标值“pjyc”。
61.针对自定义计算,表示当前的指标可以通过连接关系型数据库,通过自定义sql方式计算得出,例如自定义指标“市月发送人”,可以通过自定义sql“selectny,city,sum(rs)from宽表agroup byny,city”计算得出,根据自定义sql,可以记录指标名称“市月发送人”、数据维度“城市”、“月”、指标值“fsl”。
62.进一步地,所述步骤s30之后,还包括:指标的存储;
63.具体地,根据自定义衍生指标中的基础指标自动分配对应的时间戳;根据各时间戳以列式存储方式保存对应的自定义衍生指标。其中存储数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。进而,在实际使用中,查询时只访问查询涉及的列,大大降低了系统磁盘i/o,而且由于数据类型一致,数据特征相似,满足用户的灵活使用,为后续的灵活分析奠定基础;此外,还可以根据数据特征采用不同的压缩算法,进而在一定程度上降低了存储控制,一般地采用本发明的上述指标定义之后的存储数据只需要原宽表20%的存储空间。
64.进一步地,更方便的清楚本方案中的数据存储方式,以指标“旅客发送量_国家铁路_月_企业_车站”的创建、计算和存储为样例,详细描述本发明的实现过程。基础数据集为宽表a,其中基础指标包括发送量,相关因素包括年月、票类、席别、运类、省名、城市、线路、企业、站段、车站和车次,
65.第一,对基础指标“发送量”的录入,并标识出基础指标的相关因素:
66.1)数据类型:通过运类可以获取“客运”;
67.2)数据名称:以发送量确定编码“fsl”;
68.3)数据源:宽表a;
69.4)数据维度:其中时间维度“年月”,空间维度“票类”、“席别”、“运类”、“省名”、“城市”、“线路”、“企业”、“站段”、“车站”、“车次”;
70.5)数据口径:通过企业属性进行区分,属于国家的企业记录为“国家铁路”口径,对于全部企业记录为“全含”口径;
71.6)数据版本:默认记录为“发布版本”;
72.7)数据值:对应发送量的数据。
73.第二、自动定义指标:
74.2.1数据维度的扩展:通过空间维度可自动生成维度组合“票类_席别_运类_省名_城市_线路_企业_站段_车站_车次”,和单维度“票类”、“席别”、“运类”、“省名”、“城市”、“线路”、“企业”、“站段”、“车站”、“车次”75.2.2衍生指标的自定义:根据数据维度可自动定义以下指标:
[0076]“旅客发送量_国家铁路/全含_月/年_票类_席别_运类_省名_城市_线路_企业_站段_车站_车次”[0077]“旅客发送量_国家铁路/全含_月/年_票类”[0078]“旅客发送量_国家铁路/全含_月/年_席别”[0079]“旅客发送量_国家铁路/全含_月/年_运类”[0080]“旅客发送量_国家铁路/全含_月/年_省名”[0081]“旅客发送量_国家铁路/全含_月/年_城市”[0082]“旅客发送量_国家铁路/全含_月/年_线路”[0083]“旅客发送量_国家铁路/全含_月/年_企业”[0084]“旅客发送量_国家铁路/全含_月/年_站段”[0085]“旅客发送量_国家铁路/全含_月/年_车站”[0086]“旅客发送量_国家铁路/全含_月/年_车次”[0087]
第三、通过自动计算指标,对衍生指标进行计算,其中数据维度以group by形式进行聚类,数据口径、数据类型以where形式进行条件判断,并自动生成sql进行计算;例如衍生指标“旅客发送量_国家铁路_月_票类_席别_运类_省名_城市_线路_企业_站段_车站_车次”的sql如下:
[0088]
select月,票类,席别,运类,省名,城市,线路,企业,站段,车站,车次,
[0089]
sum(发送量)
[0090]
from宽表a
[0091]
where运类=
‘
客运’[0092]
and企业属于国家
[0093]
groupby月,票类,席别,运类,省名,城市,线路,企业,站段,车站,车次
[0094]
第四、通过对衍生指标进行存储,其中对基础信息“发送量”自动分配一个时间戳,并在大数据宽表中存储相关衍生指标,例如“旅客发送量_国家铁路_月_票类_席别_运类_省名_城市_线路_企业_站段_车站_车次”,数据会记录在以下字段中:“时间戳”、“指标名称”、“数据口径”、“数据类型”、“月”、“票类”、“席别”、“运类”、“省名”、“城市”、“线路”、“企业”、“站段”、“车站”、“车次”、“发送量”(其中字段“发送量”为数值类型);例如“旅客发送量_全含_年_车次”则会记录在下字段中“时间戳”、“指标名称”、“数据口径”、“数据类型”、“年”、“车次”、“发送量”(其中字段“发送量”为数值类型)。
[0095]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于大数据宽
表的指标自动定义程序,所述基于大数据宽表的指标自动定义程序被处理器执行时实现如上述基于大数据宽表的指标自动定义方法的步骤。
[0096]
本发明可读存储介质的具体实施例与上述基于大数据宽表的指标自动定义方法各实施例基本相同,在此不作赘述。
[0097]
此外,本发明还提供一种基于大数据宽表的指标自动定义系统,包括:
[0098]
基础指标录入模块,用于接收录入的基础数据集并识别,所述基础数据集包括基础指标和所述基础指标对应的相关因素,所述基础指标包括数据值的定义,所述相关因素包括数据类型、数据名称、数据宽表、数据维度、数据口径、数据版本和数据值;
[0099]
指标构建模块,用于根据基础指标及其所对应的相关因素自动生成各种维度组合(单维度、多维度),并根据优先级判断生成各种维度组合的指标;
[0100]
指标计算模块,用于根据指标的计算方式,进行各种维度组合指标的自动计算;
[0101]
指标存储模块,用于根据基础指标,自动生成索引,并以列式存储方式对各种维度组合的指标进行存储。
[0102]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0103]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0104]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0105]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。