CN115982177A - 一种基于树形维度的数据归集的方法、装置、设备及介质 - Google Patents
一种基于树形维度的数据归集的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115982177A CN115982177A CN202310277790.7A CN202310277790A CN115982177A CN 115982177 A CN115982177 A CN 115982177A CN 202310277790 A CN202310277790 A CN 202310277790A CN 115982177 A CN115982177 A CN 115982177A
- Authority
- CN
- China
- Prior art keywords
- dimension
- data
- tree
- node
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013480 data collection Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000002776 aggregation Effects 0.000 claims description 87
- 238000004220 aggregation Methods 0.000 claims description 87
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims 1
- 238000007405 data analysis Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 208000025174 PANDAS Diseases 0.000 description 2
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 2
- 240000004718 Panda Species 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于树形维度的数据归集的方法、装置、设备及介质,涉及数据分析处理技术领域,该方法包括:基于数据的统计属性,得到预设数据表;基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。本发明减少了对数据库的访问次数,提升了数据归集效率,高效实现数据的归集。
Description
技术领域
本发明涉及数据分析处理技术领域,具体涉及一种基于树形维度的数据归集的方法、装置、设备及介质。
背景技术
企业在生产过程中产生的数据是越来越多也越来越复杂的,相应的,计算企业在生产过程中产生的数据所需的工作量也随之提高
。现有的大规模数据的处理方式通常需要对数据进行归集,但是现有的数据归集手段效率低下,结果可视性较差,已经无法满足不同应用场景的实际需求以及企业的个性化需求。
因此,能够更好地进行数据归集的方案是目前业界亟待解决的重要课题。
发明内容
有鉴于此,本发明实施例提供了一种基于树形维度的数据归集的方法、装置、设备及介质,以解决现有数据归集方式效率低下且结果可视性差的问题。
根据第一方面,本发明实施例提供了一种基于树形维度的数据归集的方法,所述方法包括:
基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
结合第一方面,在第一方面第一实施方式中,所述基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集,具体包括:
确定所述维度定义表中的维度节点以及维度节点对应的父节点;
基于每一维度节点以及对应的父节点,对维度定义表进行递归处理,得到每一维度节点对应的所属层级;
基于维度节点对应的所属层级,构建维度层次数据表。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集,还包括:
判断所述维度节点是否存在下级的节点;
确定不存在下级的节点,判断所述维度节点的所属层级是否为最大层级;
确定不为最大层级,将所述维度节点之后层级的节点在维度层次数据表的值确定为所述维度节点在维度层次数据表的值。
结合第一方面第一实施方式,在第一方面第三实施方式中,所述基于每一维度节点以及对应的父节点,对维度定义表进行递归处理,得到每一维度节点对应的所属层级,具体包括:
从数据库中查询所有的维度节点,并递归计算所述维度节点的所属层级;
确定所述维度节点对应的父节点,并递归计算所述父节点的所属层级;
将维度节点的所属层级加入到其父节点的所属层级的末尾,并将其父节点的所属层级设置为维度节点的所属层次。
结合第一方面,在第一方面第四实施方式中,所述由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果,具体包括:
按照所述维度层次数据表的层级对所述中间结果集进行分组,并由所述维度层次数据表的最大层级至最小层级,逐层对分组的中间结果集进行数据归集处理,得到每一分组对应的分组归集结果;
合并所述分组归集结果,得到归集结果。
结合第一方面第四实施方式,在第一方面第五实施方式中,所述由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果,还包括:
判断合并时是否存在重复的维度节点;
确定存在重复的维度节点,将维度节点对应的归集值覆盖相邻的下一级节点的归集值。
结合第一方面,在第一方面第六实施方式中,该方法还包括以下步骤:
基于所述归集结果以及第一树形维度,得到第二树形维度。
根据第二方面,本发明实施例还提供了一种基于树形维度的数据归集的装置,其特征在于,所述装置包括:
实体获取模块,用于基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
第一构建模块,用于基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
第二构建模块,用于按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
数据归集模块,用于基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
逐层归集模块,用于由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
根据第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于树形维度的数据归集的方法的步骤。
根据第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于树形维度的数据归集的方法的步骤。
本发明的基于树形维度的数据归集的方法、装置、设备及介质,通过将维度关系表转换为维度层次数据集即通过将树形结构数据转为二维表格结构,减少数据归集过程中对于事实表的查询次数,减少了对数据库的访问次数,提升了数据归集效率,高效实现数据的归集,并且能够较为方便、高效地实现数据聚合等归集运算过程,通过对实体表和事实表进行数据关联并得到事实及维度数据集,实现归集过程中可以对中间结果有良好的展示,为之后的工检查、调试等提供很大的便利性,由于数据运算均转换成二维数据表,降低了复杂归集运算的难度,可进行更为类似于聚合等复杂的数据归集。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明提供的基于树形维度的数据归集的方法中维度定义表的示意图;
图2示出了本发明提供的基于树形维度的数据归集的方法中实体表的示意图;
图3示出了本发明提供的基于树形维度的数据归集的方法中事实表的示意图;
图4示出了本发明提供的基于树形维度的数据归集的方法中维度归集结果表的示意图;
图5示出了本发明提供的基于树形维度的数据归集的方法中基于图1的树形维度的示意图;
图6示出了本发明提供的基于树形维度的数据归集的方法中基于图1以及图4的树形维度的示意图;
图7示出了本发明提供的基于树形维度的数据归集的方法的流程示意图;
图8示出了本发明提供的基于树形维度的数据归集的方法中基于图1构建的维度层次数据集的示意图;
图9示出了本发明提供的基于树形维度的数据归集的方法中基于图2以及图3构建的事实及维度数据集的示意图;
图10示出了本发明提供的基于树形维度的数据归集的方法中基于图8以及图9构建的中间结果集的示意图;
图11示出了本发明提供的基于树形维度的数据归集的方法中步骤S20的流程示意图之一;
图12示出了本发明提供的基于树形维度的数据归集的方法中步骤S20的流程示意图之二;
图13示出了本发明提供的基于树形维度的数据归集的方法中初始的维度层次数据集的示意图;
图14示出了本发明提供的基于树形维度的数据归集的方法中步骤S50的流程示意图;
图15示出了本发明提供的基于树形维度的数据归集的装置的结构示意图;
图16示出了本发明提供的基于树形维度的数据归集的方法的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
企业在生产过程中产生的数据是越来越多也越来越复杂的,相应的,计算这些数据所需的工作量也随之提高。在实际应用场景特别是涉及到财务类型的数据分析场景中,业务复杂且灵活多变,因此常常采用树形维度的形式展示数据。树形维度是一种数据结构中的维度属性,用于描述数据间的层次结构关系,类似于一棵树的形态,在树形数据结构中,每个节点都有一个唯一标识符(ID),以及一个指向其父节点的引用,从而形成了一个层次结构。每个节点可以有任意数量的子节点,但只能有一个父节点(根节点除外)。维度则用来反映业务的一类属性,这类属性的集合构成一个维度,维度可以称为实体对象,并且属于一个数据域,例如对于企业用户维度可以是机构维度(集团、公司、部门、分组等)。
事实表是维度模型的基本表,每个数据库都包含一个或者多个事实表,由于事实表一般只存储实体ID以及该实体所包含的业务数据,但是不会存储该实体所属的维度ID以及所属维度ID的上下级,采用的是在实体表中定义实体其所属维度ID,这样当实体表的实体所属维度或者维度上下级修改时不需要修改事实表的记录,避免了数据的不一致性、冗余等。因此,当事实表中的每一条记录若关联一个树形维度的维度ID且关联维度会低频变动,则不能在事实表中存储所属维度ID的全部信息。
在上述的需要为事实表的记录关联树形维度的维度ID且关联维度会低频变动的情况下,数据库中实际会存储四个实体(二维表),分别为:
D-维度定义表:如图1所示,其主要包含的元素包括维度ID、上级维度ID以及维度名称;
I-实体表:如图2所示,其主要包含的元素包括实体ID、实体名称以及所属维度ID;
R-事实表:如图3所示,其主要包含的元素包括实体ID、分组ID、数据Key以及数据值;
X-维度归集结果表:如图4所示,其主要包含的元素包含维度ID、归集时间、归集类型以及归集结果值,图4即为图1至图3的数据根据“所属年月为2023年1月”为归集条件进行归集后得到的。
需要说明的是,数据向上归集需要对事实表中的实体业务数据归集到树形维度的每个维度节点上,得到相应的归集结果数据,即,事实表中的记录与维度ID关联之后, 需要生成树形维度的向上归集数据,例如进行求和、统计数量、计算平均值等聚合运算。
在得到如图1所示的D-维度定义表后,基于D-维度定义表,能够以树形结构展示数据,即得到树形维度,如图5所示,而在进行归集之后,每个维度节点会得到对应的归集结果值,如图6所示。
可见,目前基于树形维度的数据归集需要对树形数据以及二维表格数据进行组合计算,当前的归集方式需要将树形维度的树形结构拆分为单个节点逐个进行计算再进行数据汇总,这样的方式会导致计算效率较低,且归集的中间结果的展示以及调试均不方便,结果可视性较差。
例如,在得到四个实体(二维表)后,常用的数据归集方案为:
A10、基于如图1所示的D-维度定义表构建树形数据结构的树形维度。
A20、对步骤A10得到的树形维度进行递归遍历,得到维度ID以及每个维度ID对应的所有的下级维度ID(SUB_IDS)。
A30、基于R-事实表以及维度ID,获取维度ID对应的数据值V1。
A40、基于R-事实表以及下级维度ID,获取下级维度ID对应的数据值V2,可以理解的是,每一个下级维度ID均会有其对应的一个数据值V2,将{SUB_ID:V2}写入结果集。
A50、累计维度ID的数据值V1以及下级维度ID的数据值V2,得到维度ID对应的归集结果值V3,即,V3 = V1 + V2,将 {ID:V3} 写入结果集。
在步骤A10至步骤A50中,每个维度节点均需要在事实表中查找数据, 当事实表中数据规模较大时明显计算效率会很低,对于有些聚合条件,例如求中位数等计算较难实现,切换一种聚合计算可能需要较多的计算逻辑修改以实现,并且运算过程中,对于中间结果无法较好地展现及调试。
为了解决上述问题,在本实施例中提供了一种基于树形维度的数据归集方法,旨在提高归集的效率并且提升结果的可视性,本发明实施例的图像的预处理方法可用于电子设备中,电子设备包括但不局限于电脑、移动终端等,图7是根据本发明实施例的图像的预处理方法的流程示意图,如图7所示,该方法包括如下步骤:
S10、基于数据的统计属性,得到预设数据表,在本发明实施例中,预设数据表包括维度定义表、实体表以及事实表。
在此对基于数据的统计属性得到预设数据表的具体获取形式并不做任何限制,只需保证电子设备能够获取到如图1至图3所示的维度定义表、实体表以及事实表即可。
S20、基于维度定义表构建第一树形维度,并基于第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集。
在得到D-维度定义表之后,能够基于类似于图1的D-维度定义表构建树形维度,得到本发明实施例中的第一树形维度,如图5所示。可以理解的是,第一树形维度中每个维度节点都有其对应的所属层级,例如,002.001 该维度节点的所属层级为 [root, 002,002.001],第一树形维度也具有其对应的最大层级(深度),例如2。
步骤S20中,根据第一树形维度T1的最大层级以及维度节点的所属层级,构建维度层次数据表T1,如图8所示。维度层次数据表由Level0- LevelN列数据组成,其中N为第一树形维度的最大层级,可以理解的是,维度层次数据表T1也具有其最大层级即N。
由于维度定义表为低频修改数据,所以可对结果数据进行缓存,判断有数据修改时进行重新构建,提高处理效率,因此,也方便了对中间结果进行展示。
在本发明实施例中,维度层次数据表T1以二维表格的形式进行展示,因此,通过将树形结构数据转为二维表格结构,能够减少后续归集过程中对事实表的查询次数,高效实现数据的归集,并且能够借助数据库SQL或类似Pandas的数据处理包功能,方便、高效地实现数据的聚合等归集运算过程。
S30、按照预设归集条件合并实体表以及事实表,得到事实及维度数据集。
在得到I-实体表和R-事实表后,按照预设归集条件例如“所属年月为2023年1月”对I-实体表和R-事实表(的数据)进行合并,得到用于展示中间节点的事实及维度数据集T2(事实+维度ID数据集),如图9所示。
步骤S30中,会根据预设归集条件对事实表中数据进行相应的过滤处理,并将事实表的数据与实体表中登记的维度ID进行关联,得到事实及维度数据集T2。
同样的,在本发明实施例中,事实及维度数据集也是以二维表格的形式进行展示,事实及维度数据集能够对中间结果有更好的展示。
作为本发明实施例的一些优选实施方式,事实及维度数据集的中间结果可方便地存入临时表或导出为Excel格式数据,为人工检查、调试等提供便利性。
S40、基于维度层次数据表的最大层级,将维度层次数据表与事实及维度数据集进行关联,得到中间结果集M。
步骤S40中,关联表达式为:T1.LevelN = T2.维度ID,按照上述的关联表达式,将维度层次数据表T1与事实及维度数据集T2按照维度层次数据表T1的最大层级也即是最后一层进行相应的数据关联。
S50、由最大层级开始对中间结果集进行逐层的数据归集处理,得到归集结果。
在得到最大层级N以及中间结果集M后,由N层至0层进行逐层的数据归集处理,得到当前层也就是最终的归集结果J={K1:V1, K2:V2}。
本发明的提供的基于树形维度的数据归集方法,通过将维度关系表转换为维度层次数据集即通过将树形结构数据转为二维表格结构,减少数据归集过程中对于事实表的查询次数,减少了对数据库的访问次数,提升了数据归集效率,高效实现数据的归集,并且能够较为方便、高效地实现数据聚合等归集运算过程,通过对实体表和事实表进行数据关联并得到事实及维度数据集,实现归集过程中可以对中间结果有良好的展示,为之后的工检查、调试等提供很大的便利性,由于数据运算均转换成二维数据表,降低了复杂归集运算的难度,可进行更为类似于聚合等复杂的数据归集。
需要说明的是,在得到最终的归集结果J后,本发明实施例中还可以基于归集结果J以及第一树形维度得到包含了归集结果值的第二树形维度,将最终的归集结果展示至树形结构上。
下面结合图11对本发明实施例提供的基于树形维度的数据归集方法进行描述,步骤S20具体包括:
S21、确定维度定义表中的维度节点以及维度节点对应的父节点(parent),维度定义表的每一维度节点均由其ID,ID用于表示维度节点的唯一标识符,parentID则用于表示该维度节点的父节点ID。
S22、基于每一维度节点以及对应的父节点,对维度定义表进行递归处理,得到每一维度节点对应的所属层级。
作为本发明实施例的一个优选实施方式,可以通过从数据库中查询所有的维度节点,在对于每个维度节点递归计算其层级列表,更具体的,先确定维度节点的父节点,然后再递归计算该节点的父节点的层级列表,将该维度节点的层级加入到其父节点的层级列表的末尾,最后将该层级列表设置为当前的维度节点的层级列表,重复上述步骤,直至数据库中所有维度节点的层级列表均确定。
S23、基于维度节点对应的所属层级,构建维度层次数据表。
下面结合图12对本发明实施例提供的基于树形维度的数据归集方法进行描述,步骤S20还具体包括:
S24、判断维度节点是否存在下级的节点,即,判断维度层次数据表中是否存在空数据。
如图13所示,经过步骤S21至步骤S23的处理后,得到的初始的维度层次数据表,维度层次数据表中有些单元为空数据,这是由于某些维度节点并没有下级的维度节点,例如第一行的root节点,由于其每一下级的维度节点,因此root行有两个空单元。
S25、确定维度节点不存在下级的节点,判断维度节点的所属层级是否为最大层级。
S26、确定维度节点的所属层次并不为最大层级,将维度节点之后层级的节点在维度层次数据表的值确定(填充)为维度节点在维度层次数据表的值。也就是,对所有的空单元进行数据填充,填充的具体值为最后一个单元的数据,例如:
已知列数为3,当前行的数据为 [root], 则将当前行的数据填充为 [root,root, root];已知列数为3,当前行的数据为 [root, 001], 则将当前行的数据填充为[root, 001, 001],最终得到了如图8所示的维度层次数据表T1。
下面结合图14对本发明实施例提供的基于树形维度的数据归集方法进行描述,步骤S50具体包括:
S51、按照维度层次数据表的层级对中间结果集进行分组,并由维度层次数据表的最大层级至最小层级即LevelN至Level0,逐层对分组的中间结果集进行数据归集处理,得到每一分组对应的分组归集结果;
S52、合并分组归集结果,得到归集结果。
步骤S50还包括:
S53、判断合并时是否存在重复的维度节点,即是否存在重复的数据key。
S54、确定存在重复的维度节点,将维度节点对应的归集值覆盖相邻的下一级节点的归集值,即若存在重复的数据key,则上层数据覆盖下层数据。
例如,最大层级(深度)为2,则分别计算 Level2/Level1/Level0 3层的分组归集结果,其中,Level2的分组归集结果为是Level2:{"001": 100, "001.001":212, "001.002":101, "003":3},Level1的分组归集结果为是Level1:{"001": 413, "003":3},按照key覆盖的方式合并后,得到的归集结果为:J={"001": 413, "001.001":212, "001.002":101, "003":3}。相应的,Level3的分组归集结果为是Level3:{"root": 416},继续按照key覆盖的方式合并后,得到的归集结果为J={"001": 413, "001.001":212, "001.002":101, "003":3, "root":416}。
下面对本发明实施例提供的基于树形维度的数据归集装置进行描述,下文描述的基于树形维度的数据归集装置与上文描述的基于树形维度的数据归集方法可相互对应参照。
为了解决上述问题,在本实施例中提供了一种基于树形维度的数据归集装置,旨在提高归集的效率并且提升结果的可视性,本发明实施例的图像的预处理装置可用于电子设备中,电子设备包括但不局限于电脑、移动终端等,图15是根据本发明实施例的图像的预处理装置的流程示意图,如图5所示,该装置:
实体获取模块10,用于基于数据的统计属性,得到预设数据表,在本发明实施例中,预设数据表包括维度定义表、实体表以及事实表。
在此对基于数据的统计属性得到预设数据表的具体获取形式并不做任何限制,只需保证电子设备能够获取到如图1至图3所示的维度定义表、实体表以及事实表即可。
第一构建模块20,用于基于维度定义表构建第一树形维度,并基于第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集。
在得到D-维度定义表之后,能够基于类似于图1的D-维度定义表构建树形维度,得到本发明实施例中的第一树形维度,如图5所示。可以理解的是,第一树形维度中每个维度节点都有其对应的所属层级,例如,002.001 该维度节点的所属层级为 [root, 002,002.001],第一树形维度也具有其对应的最大层级(深度),例如2。
第一构建模块20中,根据第一树形维度T1的最大层级以及维度节点的所属层级,构建维度层次数据表T1,如图8所示。维度层次数据表T1由Level0- LevelN列数据组成,其中N为第一树形维度的最大层级,可以理解的是,维度层次数据表T1也具有其最大层级即N。
由于维度定义表为低频修改数据,所以可对结果数据进行缓存,判断有数据修改时进行重新构建,提高处理效率,因此,也方便了对中间结果进行展示。
在本发明实施例中,维度层次数据表T1以二维表格的形式进行展示,因此,通过将树形结构数据转为二维表格结构,能够减少后续归集过程中对事实表的查询次数,高效实现数据的归集,并且能够借助数据库SQL或类似Pandas的数据处理包功能,方便、高效地实现数据的聚合等归集运算过程。
第二构建模块30,用于按照预设归集条件合并实体表以及事实表,得到事实及维度数据集。
在得到I-实体表和R-事实表后,按照预设归集条件例如“所属年月为2023年1月”对I-实体表和R-事实表(的数据)进行合并,得到用于展示中间节点的事实及维度数据集T2(事实+维度ID数据集),如图9所示。
第二构建模块30中,会根据预设归集条件对事实表中数据进行相应的过滤处理,并将事实表的数据与实体表中登记的维度ID进行关联,得到事实及维度数据集T2。
同样的,在本发明实施例中,事实及维度数据集以二维表格的形式进行展示,事实及维度数据集能够对中间结果有更好的展示。
作为本发明实施例的一些优选实施方式,事实及维度数据集的中间结果可方便地存入临时表或导出为Excel格式数据,为人工检查、调试等提供便利性。
数据关联模块40,用于基于维度层次数据表的最大层级,将维度层次数据表与事实及维度数据集进行关联,得到中间结果集M,如图10所示。
数据关联模块40中,关联表达式为:T1.LevelN = T2.维度ID,按照上述的关联表达式,将维度层次数据表T1与事实及维度数据集T2按照维度层次数据表T1的最大层级也即是最后一层进行相应的数据关联。
逐层归集模块50,用于由最大层级开始对中间结果集进行逐层的数据归集处理,得到归集结果。
在得到最大层级N以及中间结果集M后,由N层至0层进行逐层的数据归集处理,得到当前层也就是最终的归集结果J={K1:V1, K2:V2}。
本发明的提供的基于树形维度的数据归集装置,通过将维度关系表转换为维度层次数据集即通过将树形结构数据转为二维表格结构,减少数据归集过程中对于事实表的查询次数,减少了对数据库的访问次数,提升了数据归集效率,高效实现数据的归集,并且能够较为方便、高效地实现数据聚合等归集运算过程,通过对实体表和事实表进行数据关联并得到事实及维度数据集,实现归集过程中可以对中间结果有良好的展示,为之后的工检查、调试等提供很大的便利性,由于数据运算均转换成二维数据表,降低了复杂归集运算的难度,可进行更为类似于聚合等复杂的数据归集。
图16示例了一种电子设备的实体结构示意图,如图16所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行基于树形维度的数据归集方法,该方法包括:
基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于树形维度的数据归集方法,该方法包括:
基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于树形维度的数据归集方法,该方法包括:
基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于树形维度的数据归集的方法,其特征在于,所述方法包括:
基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
2.根据权利要求1所述的基于树形维度的数据归集的方法,其特征在于,所述基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集,具体包括:
确定所述维度定义表中的维度节点以及维度节点对应的父节点;
基于每一维度节点以及对应的父节点,对维度定义表进行递归处理,得到每一维度节点对应的所属层级;
基于维度节点对应的所属层级,构建维度层次数据表。
3.根据权利要求2所述的基于树形维度的数据归集的方法,其特征在于,所述基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集,还包括:
判断所述维度节点是否存在下级的节点;
确定不存在下级的节点,判断所述维度节点的所属层级是否为最大层级;
确定不为最大层级,将所述维度节点之后层级的节点在维度层次数据表的值确定为所述维度节点在维度层次数据表的值。
4.根据权利要求2所述的基于树形维度的数据归集的方法,其特征在于,所述基于每一维度节点以及对应的父节点,对维度定义表进行递归处理,得到每一维度节点对应的所属层级,具体包括:
从数据库中查询所有的维度节点,并递归计算所述维度节点的所属层级;
确定所述维度节点对应的父节点,并递归计算所述父节点的所属层级;
将维度节点的所属层级加入到其父节点的所属层级的末尾,并将其父节点的所属层级设置为维度节点的所属层次。
5.根据权利要求1所述的基于树形维度的数据归集的方法,其特征在于,所述由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果,具体包括:
按照所述维度层次数据表的层级对所述中间结果集进行分组,并由所述维度层次数据表的最大层级至最小层级,逐层对分组的中间结果集进行数据归集处理,得到每一分组对应的分组归集结果;
合并所述分组归集结果,得到归集结果。
6.根据权利要求5所述的基于树形维度的数据归集的方法,其特征在于,所述由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果,还包括:
判断合并时是否存在重复的维度节点;
确定存在重复的维度节点,将维度节点对应的归集值覆盖相邻的下一级节点的归集值。
7.根据权利要求1所述的基于树形维度的数据归集的方法,其特征在于,该方法还包括以下步骤:
基于所述归集结果以及第一树形维度,得到第二树形维度。
8.一种基于树形维度的数据归集的装置,其特征在于,所述装置包括:
实体获取模块,用于基于数据的统计属性,得到预设数据表;所述预设数据表包括维度定义表、实体表以及事实表;
第一构建模块,用于基于所述维度定义表构建第一树形维度,并基于所述第一树形维度的最大层级以及每一维度节点的所属层级构建维度层次数据集;所以维度层次数据集的最大层级为所述第一树形维度的最大层级;
第二构建模块,用于按照预设归集条件合并所述实体表以及所述事实表,得到事实及维度数据集;
数据关联模块,用于基于所述维度层次数据表的最大层级,将所述维度层次数据表与所述事实及维度数据集进行关联,得到中间结果集;
逐层归集模块,用于由所述维度层次数据表的最大层级开始对所述中间结果集进行逐层的数据归集处理,得到归集结果。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于树形维度的数据归集的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于树形维度的数据归集的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277790.7A CN115982177B (zh) | 2023-03-21 | 2023-03-21 | 一种基于树形维度的数据归集的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277790.7A CN115982177B (zh) | 2023-03-21 | 2023-03-21 | 一种基于树形维度的数据归集的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115982177A true CN115982177A (zh) | 2023-04-18 |
CN115982177B CN115982177B (zh) | 2023-06-27 |
Family
ID=85970560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310277790.7A Active CN115982177B (zh) | 2023-03-21 | 2023-03-21 | 一种基于树形维度的数据归集的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982177B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777379A (zh) * | 2023-06-26 | 2023-09-19 | 广州众鼎信息科技有限公司 | 一种基于动态数据的智能化运营管理平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010566A1 (en) * | 2003-05-27 | 2005-01-13 | David Cushing | System and method of multidimensional query results processing |
CN110020764A (zh) * | 2018-10-25 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 资源管理方法、装置、设备及计算机可读存储介质 |
CN112069155A (zh) * | 2020-09-30 | 2020-12-11 | 北京百度网讯科技有限公司 | 数据多维分析模型生成方法和装置 |
CN113868250A (zh) * | 2021-09-24 | 2021-12-31 | 南京苏宁电子信息技术有限公司 | 基于树状结构维度的数据分析方法、系统及存储介质 |
-
2023
- 2023-03-21 CN CN202310277790.7A patent/CN115982177B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010566A1 (en) * | 2003-05-27 | 2005-01-13 | David Cushing | System and method of multidimensional query results processing |
CN110020764A (zh) * | 2018-10-25 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 资源管理方法、装置、设备及计算机可读存储介质 |
CN112069155A (zh) * | 2020-09-30 | 2020-12-11 | 北京百度网讯科技有限公司 | 数据多维分析模型生成方法和装置 |
CN113868250A (zh) * | 2021-09-24 | 2021-12-31 | 南京苏宁电子信息技术有限公司 | 基于树状结构维度的数据分析方法、系统及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777379A (zh) * | 2023-06-26 | 2023-09-19 | 广州众鼎信息科技有限公司 | 一种基于动态数据的智能化运营管理平台 |
CN116777379B (zh) * | 2023-06-26 | 2024-02-02 | 广州众鼎信息科技有限公司 | 一种基于动态数据的智能化运营管理平台 |
Also Published As
Publication number | Publication date |
---|---|
CN115982177B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019396B (zh) | 一种基于分布式多维分析的数据分析系统及方法 | |
CN110618983A (zh) | 基于json文档结构的工业大数据多维分析与可视化方法 | |
CN108038222B (zh) | 用于信息系统建模和数据访问的实体-属性框架的系统 | |
CN111159184B (zh) | 元数据追溯方法、装置及服务器 | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN107545046A (zh) | 一种多源异构数据的融合方法及装置 | |
US10192330B2 (en) | Rendering data visualizations in different analytical applications | |
US10360245B2 (en) | Attribute value derivation | |
CN109753573B (zh) | 一种基于图数据库构建预设模型的处理方法及装置 | |
CN115982177B (zh) | 一种基于树形维度的数据归集的方法、装置、设备及介质 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN106294805A (zh) | 数据处理方法及装置 | |
CN107870949A (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN115203435A (zh) | 基于知识图谱的实体关系生成方法及数据查询方法 | |
CN109933589B (zh) | 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法 | |
CN111414361A (zh) | 标签数据存储方法、装置、设备及可读存储介质 | |
CN118043798A (zh) | 用于查询执行的分层结构中的数据聚合 | |
CN113704248B (zh) | 一种基于外置索引的区块链查询优化方法 | |
US20180060374A1 (en) | Optimizing column based database table compression | |
CN114443656A (zh) | 一种可定制的自动化数据模型分析工具及其使用方法 | |
CN110175047B (zh) | 处理器指令编码的自动生成方法及装置 | |
CN112148830A (zh) | 一种基于最大区域网格的语义数据存储与检索的方法及装置 | |
CN116257636A (zh) | 枚举数据字典统一管理方法、装置、电子设备及存储介质 | |
US20190266526A1 (en) | Multi-dimensional organization of data for efficient analysis | |
CN112685557B (zh) | 可视化信息资源管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |