一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据仓库配置文档的生成方法、装置、设备和存储介质与流程

2022-11-28 13:59:54 来源:中国专利 TAG:


1.本发明涉及数据仓库技术领域,特别涉及一种数据仓库配置文档的生成方法、装置、设备和存储介质。


背景技术:

2.数据仓库系统是大数据使用和管理中常用的一种系统,利用数据仓库系统可以将海量的大数据整理成多种形式的数据表,以供外部的应用程序调取使用。
3.在构建和使用数据仓库时,数据仓库的配置文档(具体包括物理数据模型文档和数据源映射文档)起到了关键作用。然而目前配置文档普遍依赖开发人员编辑得到。


技术实现要素:

4.针对上述现有技术的缺点,本发明提供一种数据仓库配置文档的生成方法、装置、设备和存储介质,以提供一种自动生成配置文档的方法。
5.本技术第一方面提供一种数据仓库配置文档的生成方法,包括:
6.导入基于结构化查询语言(structured query language,sql)编写的生产脚本;
7.根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理所述生产脚本,获得所述数据仓库的配置文档;其中,所述数据仓库的配置文档包括物理数据模型文档和数据源映射文档;
8.展示所述数据仓库的配置文档。
9.可选的,所述根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理所述生产脚本,获得所述数据仓库的配置文档,包括:
10.识别所述生产脚本的脚本名称,以确定所述生产脚本属于所述应用接口层、应用计算层和共性加工层中的任意一层,或者属于所述整合模型层;
11.若所述生产脚本属于所述应用接口层、应用计算层和共性加工层中的任意一层,根据第一处理逻辑处理所述生产脚本,获得所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档;
12.若所述生产脚本属于所述整合模型层,根据第二处理逻辑处理所述生产脚本,获得所述整合模型层的配置文档。
13.可选的,所述根据第一处理逻辑处理所述生产脚本,获得所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档,包括:
14.识别所述生产脚本中的临时表的表信息和实体表的表信息;其中,所述表信息包括分布键,过滤条件和分组条件;
15.根据所述临时表的表信息和所述实体表的表信息识别表关联关系和字段处理逻辑;
16.根据所述表关联关系和所述字段处理逻辑生成所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档。
17.可选的,所述根据第二处理逻辑处理所述生产脚本,获得所述整合模型层的配置文档,包括:
18.根据所述生产脚本的脚本名称的后四位识别得到etl任务名和映射组号;其中,etl为抽取-转换-加载(extract transform load)的缩写;
19.根据所述etl任务名和所述映射组号,确定目标表字段的字段信息和源表字段的字段信息;其中,所述字段信息包括字段名称,字段长度和字段处理规则;
20.根据所述目标表字段的字段信息和所述源表字段的字段信息生成所述整合模型层的配置文档。
21.本技术第二方面提供一种数据仓库配置文档的生成装置,包括:
22.导入单元,用于导入基于结构化查询语言(structured query language,sql)编写的生产脚本;
23.处理单元,用于根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理所述生产脚本,获得所述数据仓库的配置文档;其中,所述数据仓库的配置文档包括物理数据模型文档和数据源映射文档;
24.展示单元,用于展示所述数据仓库的配置文档。
25.可选的,所述处理单元根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理所述生产脚本,获得所述数据仓库的配置文档时,具体用于:
26.识别所述生产脚本的脚本名称,以确定所述生产脚本属于所述应用接口层、应用计算层和共性加工层中的任意一层,或者属于所述整合模型层;
27.若所述生产脚本属于所述应用接口层、应用计算层和共性加工层中的任意一层,根据第一处理逻辑处理所述生产脚本,获得所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档;
28.若所述生产脚本属于所述整合模型层,根据第二处理逻辑处理所述生产脚本,获得所述整合模型层的配置文档。
29.可选的,所述处理单元根据第一处理逻辑处理所述生产脚本,获得所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档时,具体用于:
30.识别所述生产脚本中的临时表的表信息和实体表的表信息;其中,所述表信息包括分布键,过滤条件和分组条件;
31.根据所述临时表的表信息和所述实体表的表信息识别表关联关系和字段处理逻辑;
32.根据所述表关联关系和所述字段处理逻辑生成所述应用接口层、应用计算层和共性加工层中的任意一层的配置文档。
33.可选的,所述处理单元根据第二处理逻辑处理所述生产脚本,获得所述整合模型层的配置文档时,具体用于:
34.根据所述生产脚本的脚本名称的后四位识别得到etl任务名和映射组号;其中,etl为抽取-转换-加载(extract transform load)的缩写;
35.根据所述etl任务名和所述映射组号,确定目标表字段的字段信息和源表字段的字段信息;其中,所述字段信息包括字段名称,字段长度和字段处理规则;
36.根据所述目标表字段的字段信息和所述源表字段的字段信息生成所述整合模型
层的配置文档。
37.本技术第三方面提供一种电子设备,包括存储器和处理器;
38.其中,所述存储器用于存储计算机程序;
39.所述处理器用于执行所述计算机程序,所述计算机程序被执行时,具体用于实现本技术第一方面任意一项所提供的数据仓库配置文档的生成方法。
40.本技术第四方面提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本技术第一方面任意一项所提供的数据仓库配置文档的生成方法。
41.本技术提供一种数据仓库配置文档的生成方法、装置、设备和存储介质,可应用于大数据领域或金融领域,方法包括,导入基于结构化查询语言(structured query language,sql)编写的生产脚本;根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档;其中,数据仓库的配置文档包括物理数据模型文档和数据源映射文档;展示数据仓库的配置文档。本方案通过处理生产脚本,自动生成数据仓库的配置文档,提高了构建和使用数据仓库的效率。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的一种数据仓库系统的分层架构示意图;
44.图2为本技术实施例提供的一种数据仓库配置文档的生成方法的流程图;
45.图3为本技术实施例提供的一种数据仓库配置文档的生成装置的结构示意图;
46.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.数据仓库系统,也可以称为数据仓库,或者简称系统,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。
49.pdm,物理数据模型文档(physical datamodel,pdm),是指提供系统初始设计所需要的基础元素,以及相关元素之间的关系。
50.sdm,数据源映射文档(source datamapping,sdm),提供pdm文档数据项具体加工的来源及方式。
51.tmcea层,一种数据仓库系统分层架构,数据仓库按此顺序分层建设,可以理解为依赖(血缘)关系从a(e)到c到m到t(源表),除t层外可以跨层依赖和同层依赖。
52.请参见图1,为tmcea层的数据仓库系统的示意图。如图1所示,该系统包括应用接口层(a层),应用计算层(e层),共性加工层(c层),整合模型层(m层)和技术缓冲层(t层)。
53.a层用于为各个应用场景提供个性数据服务,如图1所示,a层可以提供包括固定报表,管理驾驶仓,大小屏和条线看板在内的多种应用服务。
54.e层用于各个业务数据通用派生计算,如图1所示,e层用于提供经营分析,财务管理,风险管理,运营管理和监管审计等方面的共性计算。
55.c层用于数据预处理和常用信息加工,如图1所示,c层用于提供客户、渠道、财务、风险、公共、存款业务、贷款业务、信用卡、投资理财、现金管理、票据业务、贸易融资、支付结算、担保承诺、代理业务、投行业务、资金投资和托管业务等多种业务的共性明细。
56.m层用于数据主体化和标准规范化,如图1所示,m层用于提供参与方、合约、产品、事件、资源项、业务方向、地域、分类和条件等多种主题数据。
57.t层用于源系统和外部数据采集入库,如图1所示,t层用于从业务系统、管理系统和外部数据等系统采集缓冲数据进入到数据仓库系统。
58.工作流配置,在调度平台中,数据仓库跑批时会根据工作流配置的先后顺序进行,一个任意层次模型工作流只有当它的前置工作流都完成跑批时,才会开始运行。
59.随着数据仓库技术的出现和不断发展,如今已经可以高效通过sdm及pdm文档设计模型及生成相应的sql,但是由于开发人员的失误,实际使用中存在两者不一致的情况,当sql脚本为正确时,如何快速根据sql脚本解析生成pdm及sdm文档成为了一个技术问题。sql,全称为structured query language,中文为结构化查询语言。
60.针对上述问题,本发明使用java、python等语言开发一个工具用来解决这个问题。其中根据实际情况将pdm及sdm按照m层及cea层分为两类,作不同处理。m层需要根据脚本名称后四位识别etl任务名及映射组号,确定目标表字段及源表字段中英文名及字段长度以及相应字段的处理规则等。cea层需要识别相应临时表及实体表,包括其分布键、过滤条件及分组条件;在此基础上识别表关联关系及相应的字段处理逻辑。
61.cea层为前述a层,c层和m层的统称。
62.本发明具体包括如下模块。
63.输入模块:导入生产sql脚本,根据脚本名称前三位确定由m层处理模块还是cea处理模块进行相应的解析,将信息传至处理模块。
64.处理模块:根据导入模块传来的信息,m层需要根据脚本名称后四位识别etl任务名及映射组号,确定目标表字段及源表字段中英文名及字段长度以及相应字段的处理规则等。cea层需要识别相应临时表及实体表,包括其分布键、过滤条件及分组条件;在此基础上识别表关联关系及相应的字段处理逻辑。
65.展示模块:将处理模块生成的pdm及sdm进行展示,并可导入错误的版本进行比对,将不同处标红作为参考。
66.输出模块:确认展示模块显示的文档无问题后,可将其导出。
67.下面结合附图对本发明的技术方案进行具体说明。
68.请参见图2,为本技术实施例提供的一种数据仓库配置文档的生成方法,该方法可以包括如下步骤。
69.s201,导入基于结构化查询语言(structured query language,sql)编写的生产
脚本。
70.上述生产脚本具体可以由开发人员编写得到。
71.需要说明的是,如图1所示,数据仓库系统包含多层,每一层的功能和结构有所不同,因此上述生产脚本也有多个,不同的生产脚本适用于数据仓库中的不同层,比如,应用接口脚本适用于应用接口层,应用计算脚本适用于应用计算层。
72.生产脚本主要用于对适用的层内的数据进行处理,包括但不限于新增、删除和修改层内的数据表,字段等。
73.s202,根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档。
74.其中,数据仓库的配置文档包括物理数据模型文档和数据源映射文档。
75.可选的,根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档,包括:
76.a1,识别生产脚本的脚本名称,以确定生产脚本属于应用接口层、应用计算层和共性加工层中的任意一层,或者属于整合模型层。
77.步骤a1中的属于某一层,表示生产脚本适用于某一层。
78.如步骤s201所述,不同的生产脚本适用于不同层。其中,由于应用接口层,应用计算层和共性加工层具有相似的架构和功能,因此这三层的生产脚本可以按相同的处理逻辑处理,而整合模型层则需要由单独的处理逻辑处理,为此,需要在步骤a1中将生产脚本区分为适用于应用接口层、应用计算层和共性加工层的脚本,和适用于整合模型层。
79.一般的,开发人员在编写生产脚本时会在脚本名称中加入适用的层的标识或名称,因此在步骤a1中,只需要识别生产脚本的脚本名称中有哪一层的名称或标识就可以确定该脚本适用的层。
80.a2,若生产脚本属于应用接口层、应用计算层和共性加工层中的任意一层,根据第一处理逻辑处理生产脚本,获得应用接口层、应用计算层和共性加工层中的任意一层的配置文档。
81.a3,若生产脚本属于整合模型层,根据第二处理逻辑处理生产脚本,获得整合模型层的配置文档。
82.其中,第一处理逻辑相当于前述cea层处理模块,第二处理逻辑相当于前述m层处理模块。
83.s203,展示数据仓库的配置文档。
84.可选的,步骤a2中,根据第一处理逻辑处理生产脚本,获得应用接口层、应用计算层和共性加工层中的任意一层的配置文档,具体可以包括:
85.b1,识别生产脚本中的临时表的表信息和实体表的表信息;其中,表信息包括分布键,过滤条件和分组条件。
86.在执行生产脚本以处理层内的数据时,往往需要创建临时表和实体表,临时表可以理解为处理过程中用于缓存中间数据的表,实体表则是处理结束后保存处理结果的表。
87.为了创建上述临时表和实体表,生产脚本中会携带这些表的表信息,由此,只需要根据编写生产脚本所用的计算机语言(一般是sql语言)的语法规范对生产脚本进行解析,就可以获得其中的临时表的表信息和实体表的表信息。
88.b2,根据临时表的表信息和实体表的表信息识别表关联关系和字段处理逻辑。
89.上述表关联关系,用于说明用于保存处理结果的实体表和数据仓库中原有的数据表之间的关联关系,示例性的,表关联关系可以是,应用接口层的实体表1的数据来源于应用计算层原有的数据表2。
90.字段处理逻辑,用于表示处理数据仓库中原有数据得到实体表中的字段的算法,以及该字段的数据来源(即根据哪些字段的数据处理得到本字段的数据)。比如,生产脚本根据预设的算法1处理数据表2的数据,得到实体表2的一个字段的字段值,那么该字段的字段处理逻辑就是上述算法1。
91.步骤b2的具体执行方式可以是:
92.根据临时表的表信息确定该临时表中的数据来源于数据仓库中原有的哪些表,例如确定临时表的数据来源于数据表2,然后根据实体表的表信息确定实体表的数据来源于哪些临时表,然后结合两方面信息确定实体表的数据来源于数据仓库原有的哪些数据表,也就是获得表关联关系。
93.在确定表关联关系后,对于实体表内的字段,将包含该字段的所有过滤条件和分组条件组合为一个处理逻辑,该处理逻辑就是该字段的字段处理逻辑。
94.b3,根据表关联关系和字段处理逻辑生成应用接口层、应用计算层和共性加工层中的任意一层的配置文档。
95.在步骤b3中,可以先读取开发人员预先设定的配置文档模板,也就是读取物理数据模型文档和数据源映射文档的模板,然后将上述表关联关系和字段处理逻辑中的信息填写到上述模板中对应的栏位内,从而获得对应层内的配置文档。
96.可选的,步骤a3,根据第二处理逻辑处理生产脚本,获得整合模型层的配置文档,包括:
97.c1,根据生产脚本的脚本名称的后四位识别得到etl任务名和映射组号;其中,etl为抽取-转换-加载(extract transform load)的缩写。
98.开发人员在编辑整合模型层的生产脚本时,一般会将其脚本名称后四位设定为该脚本对应的etl任务名和映射组号,因此在c1中可以通过识别生产脚本的脚本名称的后四位,获得该生产脚本对应的etl任务名和映射组号。
99.c2,根据etl任务名和映射组号,确定目标表字段的字段信息和源表字段的字段信息;其中,字段信息包括字段名称,字段长度和字段处理规则。
100.etl任务可以认为是用于生成整合模型层内的数据表必须的任务,数据仓库系统每执行一个etl任务,就会从技术缓冲层提取一定的数据并将其进行处理得到整合模型层的数据表,因此,每一项etl任务的任务信息(一般由开发人员预先配置),都会包括目标表字段的字段信息和源表字段的字段信息,其中目标表是指该etl任务执行后产生的数据表,源表是指该etl任务执行时用于提取数据的数据表。
101.由此,步骤c2中可以根据etl任务名和映射组号找到数据仓库系统要执行的etl任务的任务信息,然后从中提取得到c2所述的目标表字段的字段信息和源表字段的字段信息。
102.c3,根据目标表字段的字段信息和源表字段的字段信息生成整合模型层的配置文档。
103.和步骤b3类似的,在步骤c3中,可以读取预先配置的整合模型层的配置文档模板,然后将上述目标表字段的字段信息和源表字段的字段信息填写到模板中的对应栏位,获得整合模型层的配置文档。
104.可选的,在步骤s203之后,还可以将当前的配置文档和以往生成的配置文档进行比对,并在当前的配置文档上标注出两者不相同的内容。
105.具体的,可以导入以往生成的错误版本的配置文档,也就是导入以往生成的存在错误的配置文档,将当前生成的配置文档和错误版本的配置文档进行比对,然后在展示当前生成的配置文档的同时,将比对后发现的两者的不同之处用彩色矩形框(例如红色矩形框)标注出来,以供开发人员参考。
106.本技术提供一种数据仓库配置文档的生成方法,可应用于大数据领域或金融领域,方法包括,导入基于结构化查询语言(structured query language,sql)编写的生产脚本;根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档;其中,数据仓库的配置文档包括物理数据模型文档和数据源映射文档;展示数据仓库的配置文档。本方案通过处理生产脚本,自动生成数据仓库的配置文档,提高了构建和使用数据仓库的效率。
107.根据本技术实施例提供的数据仓库配置文档的生成方法,本技术实施例还提供一种数据仓库配置文档的生成装置,请参见图3,该装置可以包括如下单元。
108.导入单元301,用于导入基于结构化查询语言(structured query language,sql)编写的生产脚本。
109.处理单元302,用于根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档。
110.其中,数据仓库的配置文档包括物理数据模型文档和数据源映射文档。
111.展示单元303,用于展示数据仓库的配置文档。
112.可选的,处理单元302根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档时,具体用于:
113.识别生产脚本的脚本名称,以确定生产脚本属于应用接口层、应用计算层和共性加工层中的任意一层,或者属于整合模型层;
114.若生产脚本属于应用接口层、应用计算层和共性加工层中的任意一层,根据第一处理逻辑处理生产脚本,获得应用接口层、应用计算层和共性加工层中的任意一层的配置文档;
115.若生产脚本属于整合模型层,根据第二处理逻辑处理生产脚本,获得整合模型层的配置文档。
116.可选的,处理单元302根据第一处理逻辑处理生产脚本,获得应用接口层、应用计算层和共性加工层中的任意一层的配置文档时,具体用于:
117.识别生产脚本中的临时表的表信息和实体表的表信息;其中,表信息包括分布键,过滤条件和分组条件;
118.根据临时表的表信息和实体表的表信息识别表关联关系和字段处理逻辑;
119.根据表关联关系和字段处理逻辑生成应用接口层、应用计算层和共性加工层中的任意一层的配置文档。
120.可选的,处理单元302根据第二处理逻辑处理生产脚本,获得整合模型层的配置文档时,具体用于:
121.根据生产脚本的脚本名称的后四位识别得到etl任务名和映射组号;其中,etl为抽取-转换-加载(extracttransform load)的缩写;
122.根据etl任务名和映射组号,确定目标表字段的字段信息和源表字段的字段信息;其中,字段信息包括字段名称,字段长度和字段处理规则;
123.根据目标表字段的字段信息和源表字段的字段信息生成整合模型层的配置文档。
124.本技术实施例提供的数据仓库配置文档的生成装置,其具体工作原理可以参见本技术任一实施例提供的数据仓库配置文档的生成方法中的相关步骤,此处不再赘述。
125.本技术提供一种数据仓库配置文档的生成装置,可应用于大数据领域或金融领域,装置包括,导入单元301导入基于结构化查询语言(structured query language,sql)编写的生产脚本;处理单元302根据数据仓库中应用接口层、应用计算层、共性加工层、整合模型层对应的处理逻辑处理生产脚本,获得数据仓库的配置文档;其中,数据仓库的配置文档包括物理数据模型文档和数据源映射文档;展示单元303展示数据仓库的配置文档。本方案通过处理生产脚本,自动生成数据仓库的配置文档,提高了构建和使用数据仓库的效率。
126.本技术实施例还提供一种电子设备,请参见图4,包括存储器401和处理器402。
127.其中,存储器401用于存储计算机程序。
128.处理器402用于执行计算机程序,计算机程序被执行时,具体用于实现本技术任一实施例所提供的数据仓库配置文档的生成方法。
129.本技术实施例还提供一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,具体用于实现本技术任一实施例所提供的数据仓库配置文档的生成方法。
130.需要说明的是,本发明提供的数据仓库配置文档的生成方法、装置、设备和存储介质可用于大数据领域或金融领域。上述仅为示例,并不对本发明提供的数据仓库配置文档的生成方法、装置、设备和存储介质的应用领域进行限定。
131.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
132.需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
133.专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献