CN101364240B - 元数据管理方法及装置 - Google Patents

元数据管理方法及装置 Download PDF

Info

Publication number
CN101364240B
CN101364240B CN2008102244289A CN200810224428A CN101364240B CN 101364240 B CN101364240 B CN 101364240B CN 2008102244289 A CN2008102244289 A CN 2008102244289A CN 200810224428 A CN200810224428 A CN 200810224428A CN 101364240 B CN101364240 B CN 101364240B
Authority
CN
China
Prior art keywords
metadata
etl
output
adjusted
data
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.)
Active
Application number
CN2008102244289A
Other languages
English (en)
Other versions
CN101364240A (zh
Inventor
杨静涛
朱海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008102244289A priority Critical patent/CN101364240B/zh
Publication of CN101364240A publication Critical patent/CN101364240A/zh
Application granted granted Critical
Publication of CN101364240B publication Critical patent/CN101364240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种元数据管理方法及装置。所述方法包括以下步骤:A、对于每一步ETL操作,首先获取输入元数据,并将输入元数据转换为ETL系统统一的ETL元数据;B、针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整;C、根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。本发明能够实现元数据管理的自动化,减少用户干预。

Description

元数据管理方法及装置
技术领域
本发明涉及数据仓库技术,尤其涉及元数据管理方法及装置。
背景技术
数据抽取、转换和加载(ETL,Extraction Transformation Loading)是构建数据仓库的重要一环,用于负责完成数据从数据源向目标数据库转化的过程,是实施数据仓库的重要步骤。图1示出了ETL处理过程示意图,ETL系统按照预先设计好的规则,将不同数据源中的数据抽取到临时中间层后进行清洗、转换和集成,最后加载到目标数据源中,使不同的异构数据源流向统一的目标数据。
其中,元数据是描述数据的数据(data about data),主要是指ETL系统处理的数据对象的物理字段类型、格式、字段之间的映射关系等基本属性。目前,对于ETL元数据的管理,大都采用用户干预的方式,即用户在配置ETL数据处理逻辑规则的同时,还必须人工指定每一步ETL操作(抽取、转换或加载)的输入数据格式和输出数据格式。这种基于用户显式干预的元数据管理方法的智能性较差,操作起来较为繁琐,不利于推广应用。
发明内容
有鉴于此,本发明的目的在于提供一种元数据管理方法及装置,实现元数据管理的自动化,减少用户干预。
为达到上述目的,本发明提供的技术方案如下:
一种元数据管理方法,该方法包括以下步骤:
A、对于每一步ETL操作,首先获取输入元数据,并将输入元数据转换为ETL系统统一的ETL元数据;
B、针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整;
C、根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。
所述步骤B具体包括:
当针对输出字段的ETL数据处理逻辑规则是字段映射时,无需对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是算术运算时,根据算术运算的最外层运算结果对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是函数运算时,根据函数输出的类型和格式对ETL元数据进行调整。
步骤A所述获取输入元数据的过程包括:
确定输入数据源类型,根据输入数据源类型获取输入元数据。
一种元数据管理装置,包括:输入元数据获取模块、元数据调整模块和输出元数据管理模块,其中,
输入元数据获取模块针对每一步ETL操作,获取输入元数据,将获取的输入元数据转换为ETL系统统一的ETL元数据,并将转换后的ETL元数据发送给元数据调整模块;
元数据调整模块针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整,并将调整后的ETL元数据发送给输出元数据管理模块;所述调整具体为:
当针对输出字段的ETL数据处理逻辑规则是字段映射时,所述元数据调整模块无需对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是算术运算时,所述元数据调整模块根据算术运算的最外层运算结果对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是函数运算时,所述元数据调整模块根据函数输出的类型和格式对ETL元数据进行调整;
输出元数据管理模块根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。
由此可见,在本发明所提供的技术方案中,ETL系统可以自动根据ETL数据处理逻辑规则实现中间数据的存储,ETL中间处理过程对用户来说是透明的,用户无需关心每一步中间过程数据的存储类型和格式,从而减少了用户干预,实现了ETL元数据管理的自动化,提高了ETL系统的智能性和易用性。
附图说明
图1为现有技术中的ETL处理过程示意图;
图2为本发明中的ETL元数据管理方法流程图;
图3为本发明实施例中的ETL处理过程示意图;
图4为本发明中的元数据管理装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
针对现有技术中所存在的问题,本发明旨在提供一种新的ETL元数据管理方法,使得在ETL处理过程中,用户只需要配置ETL数据处理逻辑规则,而无需关心每一步中间过程数据的存储类型和格式,实现ETL元数据管理的自动化,增加ETL系统的智能性和易用性。
图2示出了本发明中的ETL元数据管理方法流程图,包括以下步骤:
步骤201:对于每一步ETL操作(抽取、转换或加载),首先确定输入数据源类型,然后根据输入数据源类型调用相应方法,获取输入数据的描述信息即输入元数据。
步骤202:将获取的输入数据描述信息转换为ETL系统统一的数据描述信息即ETL元数据。
步骤203:分析ETL数据处理逻辑规则,对于每一个输出字段,根据该字段的处理过程对ETL元数据进行调整。
ETL元数据的调整根据字段处理过程的不同分为以下三种情况:
如果字段处理过程是字段映射(即直接将该字段的原始值输出),则输出字段的类型与格式与输入保持一致,此时无需对ETL元数据进行调整;
如果字段处理过程是算术运算(即将一个或多个字段进行加减乘除等),则输出字段的类型和格式视算术运算的最外层运算结果而定,此时需要根据最外层运算结果调整ETL元数据;
如果字段处理过程是函数运算,则输出字段的类型和格式与函数输出的类型和格式一致,此时需要根据函数输出的类型和格式调整ETL元数据。
步骤204:确定输出数据源类型,将调整后的ETL元数据转换为输出数据源对应的元数据即输出元数据。
步骤205:根据输出元数据,在输出数据源中创建输出数据结构。
下面通过一个具体的例子对本发明中的元数据管理方法进行说明。
假设ETL任务功能需求为:将SQL Server数据库A中表tbl_flux存放的流量信息flux按照app_id进行聚合(即将app_id相同的flux求和),然后存放到Oracle数据库B中,并将表tbl_flux中的app_id参照表tbl_application_map转换为app_name。
 
列名 含义 数据类型 强制
id 主键,自增型 Bigint
flux 流量信息 Bigint
app_id 应用类型ID Bigint
表1a
 
id flux app_id
1 12539 393296
2 45789 393296
3 47865 393296
4 234322 393237
5 12343 393237
6 12112 393237
7 12332 393237
8 12312 393241
9 34232 393241
10 32342 393241
表1b
表1a示出了tbl_flux表结构,包括id、flux和app_id三个字段;表1b示出了表tbl_flux中的具体数据。
 
列名 含义 数据类型 强制
app_id 主键 Bigint
app_name 应用名称 Varchar
app_desc 应用描述 Varchar
表2a
 
app_id app_name app_desc
393237 ftp 文件传输协议数据控制服务
393241 smtp 简单邮件传输协议
393296 http 用于万维网服务的超文本传输协议
表2b
表2a示出了tbl_application_map表结构,包括app_id、app_name和app_desc三个字段;表2b示出了表tbl_application_map中的具体数据。
为了完成上述ETL任务功能需求,用户需要配置的处理规则(即SQL语句)如下:
抽取规则:select*form tbl_flux;select*form tbl_application_map;
聚合规则:select TO_CHAR(sum(flux))as flux,app_id,fromtmp_tbl_flux group by app_id;
转换规则:select a.flux,b.app_name from tmp_agg_flux a,tmp_tbl_application_map b where a.app_id=b.app_id。
图3示出了上述需求下的ETL处理过程示意图,包括以下步骤:
步骤301:根据配置的抽取规则,将A.tbl_flux数据抽取到工作空间,在输出数据源Oracle数据库中创建临时表tmp_tbl_flux。
所述工作空间是ETL系统用于存放临时数据的存储空间,这里假设是目的数据库B。在此步骤中,数据的存储位置发生了变化,由用户表空间变化到临时表空间,同时数据源类型也发生了变化,由SQL Server变化到Oracle。
步骤301具体包括以下步骤:
步骤3011:判断输入数据源(数据库A)的类型。
步骤3012:调用SQL Server数据库相应方法,获取tbl_flux表各个字段的类型和格式,即获取输入元数据。
步骤3013:将获取的输入元数据转换为ETL系统统一的ETL元数据。
由于在抽取过程中只需将A.tbl_flux中的字段抽取出来放到临时空间,属于字段映射,因此无需对ETL元数据进行调整,直接执行步骤3014。
步骤3014:判断输出数据源(数据库B)的类型。
步骤3015:将ETL元数据转换为Oracle数据库对应的输出元数据。
步骤3016:根据输出元数据,在输出数据源Oracle数据库中创建临时表tmp_tbl_flux。
其中,临时表是用来存放ETL处理过程中中间数据的临时空间,这些中间数据可能是抽取操作的输出、加载操作的输入或者转换操作的输入/输出。临时表的命名遵循统一的命名规则,用户可以根据命名规则引用临时表。
表3示出了临时表tmp_tbl_flux的结构。其中,SQL Server中的bigint(长整)类型在Oracle中被转换为number(19,0)。
 
列名 含义 数据类型 强制
Id 主键,自增型 number(19,0)
Flux 流量信息 number(19,0)
app_id 应用类型ID number(19,0)
表3
步骤302:将A.tbl_application_map数据抽取到工作空间,在输出数据源中创建临时表tmp_tbl_application_map。
步骤302的具体操作过程与步骤301一致,这里不再赘述。
表4示出了临时表tmp_tbl_application_map的结构。其中,SQL Server中的bigint类型在Oracle中被转换为number(19,0),SQL Server中的varchar在Oracle中被转换为varchar2。
 
列名 含义 数据类型 强制
app_id 主键 number(19,0)
app_name 应用名称 varchar2
app_desc 应用描述 varchar2
表4
步骤303:根据配置的聚合规则,对临时表tmp_tbl_flux中的流量flux按照app_id进行聚合,创建输出临时表tmp_agg_flux。
表5a示出了输出临时表tmp_agg_flux的结构;表5b示出了输出临时表tmp_agg_flux中的具体数据。
 
列名 含义 数据类型 强制
Flux 流量信息 varchar2
app_id 应用类型ID number(19,0)
表5a
 
flux app_id
271109 393237
78886 393241
106193 393296
表5b
在此步骤中,app_id属于字段映射,类型不变;输出字段flux使用了sum()、TO_CHAR()函数,最终转换后的类型为varchar2;id字段被丢弃,没有输出。
需要说明的是,在步骤303所述的聚合操作中,由于输入(表tmp_tbl_flux)和输出(表tmp_agg_flux)的数据源类型相同,都是Oracle,因此步骤303中就省去了图2中所示的不同数据源之间的元数据转换过程,而只是说明了根据配置的处理规则对输出字段的元数据进行调整的过程。
步骤304:参照表tmp_tbl_application_map将表tmp_agg_flux中的app_id转换为app_name。
在此步骤中,输出字段flux和app_name都属于字段映射,输出字段flux的类型和格式同tmp_agg_flux中flux;输出字段app_name的类型和格式同tmp_tbl_application_map中app_name。
根据输出字段app_name和flux的描述信息,在数据库B中创建表etl_tbl_flux,并将处理结果存入表etl_tbl_flux中,完成数据在数据库B中的加载。
表6a示出了表etl_tbl_flux的结构,表6b示出了表etl_tbl_flux中的具体数据。
 
列名 含义 数据类型 强制
flux 流量信息 varchar2
app_name 应用名称 varchar2
表6a
 
flux app_name
271109 ftp
78886 smtp
106193 http
表6b
与步骤303类似,在步骤304所述的转换操作中,由于输入和输出的数据源类型相同,都是Oracle,因此步骤304中就省去了不同数据源之间的元数据转换过程,而只是说明了根据配置的处理规则对输出字段的元数据进行调整的过程。
通过以上描述可见,在本发明所提供的技术方案中,ETL系统可以自动根据ETL数据处理逻辑规则实现中间数据的存储,ETL中间处理过程对用户来说是透明的,用户无需关心每一步中间过程数据的存储类型和格式,从而减少了用户干预,实现了ETL元数据管理的自动化,提高了ETL系统的智能性和易用性。
相应地,本发明还提供了一种元数据管理装置,其结构参见图4所示,包括:输入元数据获取模块、元数据调整模块和输出元数据管理模块,其中,
输入元数据获取模块针对每一步ETL操作,获取输入元数据,将获取的输入元数据转换为ETL系统统一的ETL元数据,并将转换后的ETL元数据发送给元数据调整模块;
元数据调整模块针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整,并将调整后的ETL元数据发送给输出元数据管理模块;
输出元数据管理模块根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。
当针对输出字段的ETL数据处理逻辑规则是字段映射时,所述元数据调整模块无需对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是算术运算时,所述元数据调整模块根据算术运算的最外层运算结果对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是函数运算时,所述元数据调整模块根据函数输出的类型和格式对ETL元数据进行调整。
需要说明的是,本发明所提供的元数据管理方案不仅适用于ETL系统,也适用于其它系统。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种元数据管理方法,其特征在于,该方法包括以下步骤:
A、对于每一步ETL操作,首先获取输入元数据,并将输入元数据转换为ETL系统统一的ETL元数据;
B、针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整;具体包括:
当针对输出字段的ETL数据处理逻辑规则是字段映射时,无需对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是算术运算时,根据算术运算的最外层运算结果对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是函数运算时,根据函数输出的类型和格式对ETL元数据进行调整;
C、根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。
2.根据权利要求1所述的方法,其特征在于,步骤A所述获取输入元数据的过程包括:
确定输入数据源类型,根据输入数据源类型获取输入元数据。
3.一种元数据管理装置,其特征在于,包括:输入元数据获取模块、元数据调整模块和输出元数据管理模块,其中,
输入元数据获取模块针对每一步ETL操作,获取输入元数据,将获取的输入元数据转换为ETL系统统一的ETL元数据,并将转换后的ETL元数据发送给元数据调整模块;
元数据调整模块针对每一个输出字段,根据ETL数据处理逻辑规则对ETL元数据进行调整,并将调整后的ETL元数据发送给输出元数据管理模块;所述调整具体为:
当针对输出字段的ETL数据处理逻辑规则是字段映射时,所述元数据调整模块无需对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是算术运算时,所述元数据调整模块根据算术运算的最外层运算结果对ETL元数据进行调整;
当针对输出字段的ETL数据处理逻辑规则是函数运算时,所述元数据调整模块根据函数输出的类型和格式对ETL元数据进行调整;
输出元数据管理模块根据输出数据源类型将调整后的ETL元数据转换为输出元数据,并根据输出元数据在输出数据源中创建输出数据结构。
CN2008102244289A 2008-10-14 2008-10-14 元数据管理方法及装置 Active CN101364240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102244289A CN101364240B (zh) 2008-10-14 2008-10-14 元数据管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102244289A CN101364240B (zh) 2008-10-14 2008-10-14 元数据管理方法及装置

Publications (2)

Publication Number Publication Date
CN101364240A CN101364240A (zh) 2009-02-11
CN101364240B true CN101364240B (zh) 2010-07-21

Family

ID=40390606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102244289A Active CN101364240B (zh) 2008-10-14 2008-10-14 元数据管理方法及装置

Country Status (1)

Country Link
CN (1) CN101364240B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958987B (zh) * 2009-07-14 2013-06-26 中国电信股份有限公司 电信业务数据动态转换的方法及其系统
CN102508912A (zh) * 2011-11-09 2012-06-20 深圳市同洲电子股份有限公司 数据提取、转化和加载的方法及系统
CN102902750A (zh) * 2012-09-20 2013-01-30 浪潮齐鲁软件产业有限公司 一种通用的数据抽取转换方法
CN104253847B (zh) * 2013-06-28 2017-11-24 华为技术有限公司 一种数据交互方法及装置
CN103942245A (zh) * 2014-02-19 2014-07-23 浪潮软件股份有限公司 基于元数据的数据抽取方法
CN103927323A (zh) * 2014-02-26 2014-07-16 浪潮软件股份有限公司 一种信息系统值域数据管理方法
CN104778236A (zh) * 2015-04-02 2015-07-15 上海烟草集团有限责任公司 一种基于元数据的etl实现方法及系统
CN106156227A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 一种数据传输方法及装置
CN106250382A (zh) * 2016-01-28 2016-12-21 新博卓畅技术(北京)有限公司 一种元数据管理引擎系统及实现方法
CN105760520A (zh) * 2016-02-26 2016-07-13 广州品唯软件有限公司 一种数据管控平台及架构
US11003655B2 (en) * 2016-09-22 2021-05-11 Hartford Fire Insurance Company System for uploading information into a metadata repository
CN107092474B (zh) * 2016-12-13 2021-04-30 北京星选科技有限公司 程序开发方法、etl处理方法及装置
CN106910146B (zh) * 2017-02-28 2021-10-08 东北师范大学 一种基于流式处理技术的异构教育数据交换平台及方法
JP7127439B2 (ja) * 2018-09-06 2022-08-30 オムロン株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
CN109344173B (zh) * 2018-09-10 2022-03-15 创新先进技术有限公司 数据管理方法和装置、数据结构
CN109783482B (zh) * 2018-12-28 2021-08-17 远光软件股份有限公司 一种数据违规监控方法及装置
CN110413669A (zh) * 2019-06-21 2019-11-05 深圳中琛源科技股份有限公司 一种基于etl的数据处理方法、装置、终端设备及存储介质
CN110471968A (zh) * 2019-07-11 2019-11-19 新华三大数据技术有限公司 Etl任务的发布方法、装置、设备及存储介质
CN111078695B (zh) * 2019-11-29 2023-11-21 东软集团股份有限公司 计算企业内元数据关联关系的方法及装置
CN112270495B (zh) * 2020-11-13 2023-05-02 中盈优创资讯科技有限公司 一种计费电路流量采集保障与审核方法及装置

Also Published As

Publication number Publication date
CN101364240A (zh) 2009-02-11

Similar Documents

Publication Publication Date Title
CN101364240B (zh) 元数据管理方法及装置
CN106649378B (zh) 一种数据同步方法及装置
CN101692239B (zh) 一种分布式文件系统元数据分配方法
CN109413127B (zh) 一种数据同步方法和装置
CN103345521B (zh) 一种在哈希表数据库中处理键值的方法和装置
CN102323947B (zh) 环形架构数据库上预连接表的生成方法
CN100547583C (zh) 数据库的自动和动态提供的方法
CN104063487B (zh) 基于关系型数据库及k‑d树索引的文件数据管理方法
CN101916288B (zh) 一种移动通信用户搜索请求响应系统及其处理方法
CN101256650A (zh) 一种基于业务实体的企业数据提取方法与系统
CN103886104A (zh) 一种适用于电力系统的分布式实时数据库管理系统及实现方法
CN101957865A (zh) 一种异构系统间数据交换与共享技术
CN103379138A (zh) 实现负载均衡的方法及系统和灰度发布的方法及装置
CN102375827B (zh) 一种对版本化的电网模型数据库进行快速加载的方法
CN101937474A (zh) 海量数据查询方法及设备
CN109902114A (zh) Es集群数据复用方法、系统、计算机装置及存储介质
CN104504030B (zh) 一种面向电力调度自动化海量报文的索引方法
CN103729448A (zh) 一种数据查询方法及装置
CN104834860A (zh) 一种安全事件动态入库方法
CN105589881A (zh) 一种数据处理方法和装置
CN101295306A (zh) 目录服务器中的修改条目名称操作方法和相应设备
CN101110858A (zh) 电信报表生成系统及方法
CN105824892A (zh) 一种数据池对数据同步和处理的方法
CN105138638A (zh) 一种基于应用层的数据库分布方法
CN102402515A (zh) 通用自定义查询系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180724

Address after: 450000 Grand View B18 building, 166 Du Ying Street, hi tech Industrial Development Zone, Zhengzhou, Henan

Patentee after: Xinhua three major data Technology Co., Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: Xinhua three Technology Co., Ltd.