CN103902653B - 一种构建数据仓库表血缘关系图的方法和装置 - Google Patents

一种构建数据仓库表血缘关系图的方法和装置 Download PDF

Info

Publication number
CN103902653B
CN103902653B CN201410072773.0A CN201410072773A CN103902653B CN 103902653 B CN103902653 B CN 103902653B CN 201410072773 A CN201410072773 A CN 201410072773A CN 103902653 B CN103902653 B CN 103902653B
Authority
CN
China
Prior art keywords
data warehouse
sentence
name
operations
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
CN201410072773.0A
Other languages
English (en)
Other versions
CN103902653A (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.)
ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd
Original Assignee
ZHUHAI DUOWAN INFORMATION TECHNOLOGY 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 ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd filed Critical ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd
Priority to CN201410072773.0A priority Critical patent/CN103902653B/zh
Publication of CN103902653A publication Critical patent/CN103902653A/zh
Application granted granted Critical
Publication of CN103902653B publication Critical patent/CN103902653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种构建数据仓库表血缘关系图的方法和装置,属于计算机领域。该方法包括:解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名;将每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;根据对应关系表,获取对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。该装置包括:解析模块、第一存储模块、第一获取模块和构建模块。本发明中服务器能够自动构建数据仓库血缘关系图。

Description

一种构建数据仓库表血缘关系图的方法和装置
技术领域
本发明涉及计算机领域,特别涉及一种构建数据仓库表血缘关系图的方法和装置。
背景技术
数据仓库中存储有各种各样的业务数据,不同的业务数据存储在不同的业务表中。因此,数据仓库中存储有多个业务表,如何将数据仓库中存储的多个业务表构建成数据仓库表血缘关系图是迫切需要解决的问题。
目前,都是数据仓库管理人员解析数据仓库操作语句并构建数据仓库表血缘关系图。而数据仓库管理人员构建数据仓库表血缘关系图时,容易出错;并且,数据仓库中的业务数据量很大,造成数据仓库管理人员的工作量大。
发明内容
为了解决现有技术的问题,本发明提供了一种构建数据仓库表血缘关系图的方法和装置。所述技术方案如下:
一方面,提供了一种构建数据仓库表血缘关系图的方法,所述方法包括:
解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名;
将所述每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
根据所述对应关系表,获取所述对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。
进一步地,所述解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名,包括:
解析所述访问数据仓库的每个数据仓库操作语句,得到所述访问数据仓库的每个数据仓库操作语句对应的访问方式;
获取访问方式为写方式的数据仓库操作语句;
解析所述访问方式为写方式的数据仓库操作语句,得到所述访问方式为写方式的访问的所有数据仓库目的表的表名。
进一步地,所述解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名之后,所述方法还包括:
获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
根据所述导入路径获取任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
绑定所述任务类型为导入类型的数据仓库操作语句和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句。
进一步地,所述根据所述对应关系表,获取所述对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名,包括:
对于所述对应关系表中的每条记录,获取所述记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
根据所述获取的语句标识获取数据仓库操作语句;
解析所述获取的数据仓库操作语句,得到所述每个数据仓库目的表对应的数据仓库来源表的表名。
进一步地,所述根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图,包括:
在数据仓库表血缘关系图中,构建所述数据仓库目的表的表名对应的节点,并构建所述数据仓库目的表对应的数据仓库来源表的表名对应的节点;
将所述数据仓库目的表的表名对应的节点作为所述数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
进一步地,所述构建所述数据仓库目的表的表名对应的节点之后,所述方法还包括:
将访问所述数据仓库目的表的数据仓库操作语句存储在所述数据仓库目的表的表名对应的节点中;
将所述数据仓库表血缘关系图发送给终端,由所述终端显示给用户。
另一方面,本发明提供了一种构建数据仓库表血缘关系图的装置,所述装置包括:
解析模块,用于解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名;
第一存储模块,用于将所述每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
第一获取模块,用于根据所述对应关系表,获取所述对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
构建模块,用于根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。
进一步地,所述解析模块,包括:
第一解析单元,用于解析所述访问数据仓库的每个数据仓库操作语句,得到所述访问数据仓库的每个数据仓库操作语句对应的访问方式;
获取单元,用于获取访问方式为写方式的数据仓库操作语句;
第二解析单元,用于解析所述访问方式为写方式的数据仓库操作语句,得到所述访问方式为写方式的访问的所有数据仓库目的表的表名。
进一步地,所述装置还包括:
第二获取模块,用于获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
第三获取模块,用于根据所述导入路径获取任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
绑定模块,用于绑定所述任务类型为导入类型的数据仓库操作语句和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句。
进一步地,所述第一获取模块,包括:
第一获取单元,用于对于所述对应关系表中的每条记录,获取所述记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
第二获取单元,用于根据所述获取的语句标识获取数据仓库操作语句;
第三解析单元,用于解析所述获取的数据仓库操作语句,得到所述每个数据仓库目的表对应的数据仓库来源表的表名。
进一步地,所述构建模块,包括:
构建单元,用于在数据仓库表血缘关系图中,构建所述数据仓库目的表的表名对应的节点,并构建所述数据仓库目的表对应的数据仓库来源表的表名对应的节点;
作为单元,用于将所述数据仓库目的表的表名对应的节点作为所述数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
进一步地,所述装置还包括:
第二存储模块,用于将访问所述数据仓库目的表的数据仓库操作语句存储在所述数据仓库目的表的表名对应的节点中;
发送模块,用于将所述数据仓库表血缘关系图发送给终端,由所述终端显示给用户。
在本发明实施例中,服务器解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名和每个数据仓库目的表对应的源数据仓库库表的表名,并根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,自动构建数据仓库表血缘关系图,减少了人工工作量,并且,提高了构建数据仓库表血缘关系的速度以及准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种构建数据仓库表血缘关系图的方法流程图;
图2是本发明实施例2提供的一种构建数据仓库表血缘关系图的方法流程图;
图3是本发明实施例3提供的一种构建数据仓库表血缘关系图的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种构建数据仓库表血缘关系图的方法。参见图1,其中,该方法包括:
步骤101:解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名;
步骤102:将每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
步骤103:根据对应关系表,获取对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
步骤104:根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。
在本发明实施例中,服务器解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名和每个数据仓库目的表对应的源数据仓库库表的表名,并根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,自动构建数据仓库表血缘关系图,减少了人工工作量,并且,提高了构建数据仓库表血缘关系的速度以及准确度。
实施例2
本发明实施例提供了一种构建数据仓库表血缘关系图的方法。参见图2其中,该方法包括:
步骤201:服务器从数据仓库中获取每一个业务点的访问数据仓库的数据仓库操作语句;
具体地,服务器根据业务类型,从数据仓库中获取属于同一业务类型的每一个业务点的访问数据仓库的数据仓库操作语句,并为每一个数据仓库操作语句分配语句标识。
其中,服务器中存储有业务类型与访问数据仓库的数据仓库操作语句的对应关系,根据业务类型可以从业务类型与访问数据仓库的数据仓库操作语句的对应关系中,获取与业务类型对应的每一个业务点的访问数据仓库的数据仓库操作语句。
其中,需要说明的是,在数据仓库中都是通过访问数据仓库的数据仓库操作语句对数据仓库中的数据进行操作的。访问数据仓库的数据仓库操作语句可以为:
insert overwrite table hive_table_b
Select*
From hive_table_a
……
步骤202:服务器解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名;
具体地,服务器解析访问数据仓库的每个数据仓库操作语句,得到访问数据仓库的每个数据仓库操作语句对应的访问方式,该访问方式包括读方式和写方式,写方式包括写数据至数据仓库以及写数据到本地文件。服务器获取访问方式为写方式的每个数据仓库操作语句,并通过第一正则表达式匹配规则解析访问方式为写方式的每个数据仓库操作语句,搜索出每个数据仓库操作语句访问的数据仓库目的表的表名。
其中,第一正则表达式匹配规则如下:
(1)、在字符“insert into”后面,且在“(”前面的一个不包含空白字符和“(”的字符串;
(2)、在字符“replace into”后面,且在字符“(”前面的一个不包含空白字符和“(”的字符串;
(3)、在字符“insert overwrite table”后面的一个不包含空白字符的字符串;
(4)、在字符“overwrite into table”后面的一个不包含空白字符的字符串。
其中,需要说明的是,以上规则是并行关系,只要任一规则成立即可,并且,在本发明实施例中,所有字符都不区分字母大小写。
其中,第一正则表达式代码为:
(?i)insert\\s+into\\s+([^\\s\\(]+)\\s*\\(|(?i)replace\\s+into\\s+([^\\s\\(]+)\\s*\\(|(?i)i nsert\\s+overwrite\\s+table\\s+(\\S+)\\s+|(?i)overwrite\\s+into\\s+table\\s+(\\S+)\\s+。
其中,需要说明的是,数据仓库中存储有各种各样的业务数据,服务器通过把这些海量级的业务数据加载至数据仓库hive层源头表,再根据不同的业务,对hive层源头表进行不同的抽取、清洗和转换,得到各种各样的hive层业务表。服务器再基于这些hive层业务表,根据更细层的业务需要,进行无数次的更细层地子拆分,得到更多的hive层业务表,方便不同的业务分析统计。并且,服务器还可以根据不同的业务,将hive层业务表中的业务数据进行分析统计后,导入mysql层业务表中,做网页展示。某些特殊情况,还可以对mysql层业务表的业务数据做进一步地抽取计算,以更方便做网页展示。
其中,通过上述正则表达式匹配规则步骤(1)和(2)可以搜索出mysql层的表名,步骤(3)和(4)可以搜索出hive层的表名。
步骤203:服务器解析访问数据仓库的每个数据仓库操作语句,得到访问数据仓库的每个数据仓库操作语句的任务类型;
其中,任务类型包括:分析、导入和抽取。Hive层业务拆分和hive层业务分析属于分析类型;hive层业务表中的业务数据导入mysql层业务表属于导入类型;mysql层业务表的业务数据抽取计算属于抽取类型。
步骤204:服务器获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
其中,如果任务类型为导入类型时,服务器中会存储数据仓库操作语句和导入路径的对应关系,根据任务类型可以获取导入类型的数据仓库操作语句和与之对应的导入路径。
例如,任务类型为导入类型的数据仓库操作语句为:
Insert into mysql_table_a(key1,col1,col2)
values(:key1,:col1,:col2)
ON DUPLICATE KEY UPDATE
col1=values(col1),
col2=values(col2);
与上述数据库操作语句对应的导入路径为“/path1/path2/”。
进一步地,服务器读取导入路径为“/path1/path2/”目录下所有的文本内容,执行以下操作语句:
Insert into mysql_table_a(key1,col1,col2)
values(:key1,:col1,:col2)
ON DUPLICATE KEY UPDATE
col1=values(col1),
col2=values(col2)。
步骤205:服务器根据该导入路径获取任务类型为分析类型且具有该导入路径的数据仓库操作语句;
具体地,服务器获取任务类型为分析类型的数据仓库操作语句,并从获取的任务类型为分析类型的数据仓库操作语句中获取和步骤204中导入类型的数据仓库操作语句具有相同导入路径的数据仓库操作语句。
其中,任务类型为导入类型的数据仓库操作语句的数据仓库目的表,会对应至少两个数据仓库操作语句。其中一个数据仓库操作语句为当前任务类型为导入类型的数据仓库操作语句,另外的数据仓库操作语句是和任务类型为导入类型的数据仓库操作语句具有相同导入路径的分析类型的数据仓库操作语句。
例如,任务类型为分析类型且和导入类型的数据仓库操作语句具有相同导入路径的数据仓库操作语句为:
insert overwrite local directory‘/path1/path2/path3/’
select count(1)
from hive_table_a
步骤206:服务器绑定任务类型为导入类型的数据仓库操作语句和任务类型为分析类型且具有该导入路径的数据仓库操作语句;
其中,服务器绑定任务类型为导入类型的数据仓库操作语句和任务类型为分析类型且具有步骤204中的导入路径的数据仓库操作语句,从而可以建立起mysql层表名和hive层表名的关联关系。
步骤207:服务器将每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
具体地,服务器将访问的数据仓库目的表以及与数据仓库目的表对应的任务类型为导入类型的数据仓库操作语句的语句标识和任务类型为分析类型且和导入类型的数据仓库操作语句具有相同导入路径的数据仓库操作语句的语句标识存储在对应关系表中。
其中,服务器将每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中,服务器根据数据仓库操作语句的语句标识可以获取访问的数据仓库目的表的表名所在的访问数据仓库操作语句。
步骤208:服务器根据对应关系表,获取对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
其中,步骤208具体可以包括如下步骤(1)至(3):
(1)、对于对应关系表中的每条记录,服务器获取记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
具体地,对于对应关系表中的每条记录,服务器依次获取对应关系表中的每条记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名。
(2)、服务器根据获取的语句标识获取数据仓库操作语句;
其中,服务器中存储有语句标识和数据仓库操作语句的对应关系,根据语句标识可以从语句标识和数据仓库操作语句的对应关系中获取与语句标识对应的数据仓库操作语句。
(3)、服务器解析获取的数据仓库操作语句,得到每个数据仓库目的表对应的数据仓库来源表的表名。
具体地,服务器通过第二正则表达式匹配规则解析获取的数据仓库操作语句,搜索出获取的数据仓库操作语句中包括的数据仓库目的表对应的源数据库仓库表的表名。
其中,第二正则表达式代码如下:
"(?i)\\s+"+table+"(\\s+|$|;)"。
其中,在本发明实施例中,服务器判断获取的数据仓库操作语句中是否包含数据仓库目的表的表名,如果包含,则获取的数据仓库操作语句中解析得到的表名即为数据仓库目的表对应的数据仓库来源表的表名。
当数据仓库的操作语句的任务类型为分析类型时,服务器只需要匹配hive层表名;当数据仓库的操作语句的任务类型为导入类型或者抽取类型时,服务器只需要匹配mysql层表名。
进一步地,服务器可以将每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名保存在第二对应关系表中,根据第二对应关系表中的内容,可以构建完整的数据库血缘关系图。
步骤209:服务器根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图;
其中,步骤209具体可以包括以下步骤(1)至(2):
(1)、服务器在数据仓库表血缘关系图中,构建数据仓库目的表的表名对应的节点,并构建数据仓库目的表对应的数据仓库来源表的表名对应的节点;
(2)、服务器将数据仓库目的表的表名对应的节点作为数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
步骤210:服务器将访问数据仓库目的表的数据仓库操作语句存储在数据仓库目的表的表名对应的节点中;
其中,在数据仓库表血缘关系图中,服务器将访问数据仓库目的表的数据仓库操作语句存储在数据仓库目的表的表名对应的节点中,服务器在数据仓库目的表的表名对应的节点中就可以获取访问数据仓库目的表的数据仓库操作语句。
步骤211:服务器将数据仓库血缘关系图发送给终端;
步骤212:终端接收服务器发送的数据仓库血缘关系图,并将数据仓库血缘关系图显示给用户。
在本发明实施例中,服务器解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名和每个数据仓库目的表对应的源数据仓库库表的表名,并根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,自动构建数据仓库表血缘关系图,减少了人工工作量,并且,提高了构建数据仓库表血缘关系的速度以及准确度。
实施例3
本发明实施例提供了一种构建数据仓库表血缘关系图的装置。参见图3,其中,该装置包括:
解析模块301,用于解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名;
第一存储模块302,用于将每个数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
第一获取模块303,用于根据对应关系表,获取对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
构建模块304,用于根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。
进一步地,解析模块301,包括:
第一解析单元,用于解析访问数据仓库的每个数据仓库操作语句,得到访问数据仓库的每个数据仓库操作语句对应的访问方式;
获取单元,用于获取访问方式为写方式的数据仓库操作语句;
第二解析单元,用于解析访问方式为写方式的数据仓库操作语句,得到访问方式为写方式的访问的所有数据仓库目的表的表名。
进一步地,该装置还包括:
第二获取模块,用于获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
第三获取模块,用于根据该导入路径获取任务类型为分析类型且具有该导入路径的数据仓库操作语句;
绑定模块,用于绑定任务类型为导入类型的数据仓库操作语句和任务类型为分析类型且具有导入路径的数据仓库操作语句。
进一步地,第一获取模块303,包括:
第一获取单元,用于对于对应关系表中的每条记录,获取记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
第二获取单元,用于根据获取的语句标识获取数据仓库操作语句;
第三解析单元,用于解析获取的数据仓库操作语句,得到每个数据仓库目的表。
进一步地,构建模块304,包括:
构建单元,用于在数据仓库表血缘关系图中,构建数据仓库目的表的表名对应的节点,并构建数据仓库目的表对应的数据仓库来源表的表名对应的节点;
作为单元,用于将数据仓库目的表的表名对应的节点作为数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
进一步地,该装置还包括:
第二存储模块,用于将访问数据仓库目的表的数据仓库操作语句存储在数据仓库目的表的表名对应的节点中;
发送模块,用于将数据仓库表血缘关系图发送给终端,由终端显示给用户。
在本发明实施例中,服务器解析访问数据仓库的每个数据仓库操作语句,得到每个数据仓库操作语句访问的数据仓库目的表的表名和每个数据仓库目的表对应的源数据仓库库表的表名,并根据每个数据仓库目的表的表名和每个数据仓库目的表对应的数据仓库来源表的表名,自动构建数据仓库表血缘关系图,减少了人工工作量,并且,提高了构建数据仓库表血缘关系的速度以及准确度。
需要说明的是:上述实施例提供的构建数据仓库表血缘关系图的装置在构建数据仓库表血缘关系图时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的构建数据仓库表血缘关系图的装置与构建数据仓库表血缘关系图的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种构建数据仓库表血缘关系图的方法,其特征在于,所述方法包括:
解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名;
获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
根据所述导入路径获取任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
绑定所述任务类型为导入类型的数据仓库操作语句和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
将所述任务类型为导入类型的数据仓库操作语句的语句标识和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
对于所述对应关系表中的每条记录,获取所述记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
根据所述获取的语句标识获取数据仓库操作语句;
解析所述获取的数据仓库操作语句,得到所述每个数据仓库目的表对应的数据仓库来源表的表名;
根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图。
2.如权利要求1所述的方法,其特征在于,所述解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名,包括:
解析所述访问数据仓库的每个数据仓库操作语句,得到所述访问数据仓库的每个数据仓库操作语句对应的访问方式;
获取访问方式为写方式的数据仓库操作语句;
解析所述访问方式为写方式的数据仓库操作语句,得到所述访问方式为写方式的数据仓库操作语句访问的所有数据仓库目的表的表名。
3.如权利要求1所述的方法,其特征在于,所述根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图,包括:
在数据仓库表血缘关系图中,构建所述数据仓库目的表的表名对应的节点,并构建所述数据仓库目的表对应的数据仓库来源表的表名对应的节点;
将所述数据仓库目的表的表名对应的节点作为所述数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
4.如权利要求3所述的方法,其特征在于,所述构建所述数据仓库目的表的表名对应的节点之后,所述方法还包括:
将访问所述数据仓库目的表的数据仓库操作语句存储在所述数据仓库目的表的表名对应的节点中;
将所述数据仓库表血缘关系图发送给终端,由所述终端显示给用户。
5.一种构建数据仓库表血缘关系图的装置,其特征在于,所述装置包括:
解析模块,用于解析访问数据仓库的每个数据仓库操作语句,得到所述每个数据仓库操作语句访问的数据仓库目的表的表名;
第二获取模块,用于获取任务类型为导入类型的数据仓库操作语句和与之对应的导入路径;
第三获取模块,用于根据所述导入路径获取任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
绑定模块,用于绑定所述任务类型为导入类型的数据仓库操作语句和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句;
第一存储模块,用于将所述任务类型为导入类型的数据仓库操作语句的语句标识和所述任务类型为分析类型且具有所述导入路径的数据仓库操作语句的语句标识与访问的数据仓库目的表的表名的对应关系存储在对应关系表中;
第一获取模块,用于根据所述对应关系表,获取所述对应关系表中的每个数据仓库目的表对应的数据仓库来源表的表名;
构建模块,用于根据每个数据仓库目的表的表名和所述每个数据仓库目的表对应的数据仓库来源表的表名,构建数据仓库表血缘关系图;
所述第一获取模块,包括:
第一获取单元,用于对于所述对应关系表中的每条记录,获取所述记录中存储的数据仓库操作语句的语句标识和数据仓库目的表的表名;
第二获取单元,用于根据所述获取的语句标识获取数据仓库操作语句;
第三解析单元,用于解析所述获取的数据仓库操作语句,得到所述每个数据仓库目的表对应的数据仓库来源表的表名。
6.如权利要求5所述的装置,其特征在于,所述解析模块,包括:
第一解析单元,用于解析所述访问数据仓库的每个数据仓库操作语句,得到所述访问数据仓库的每个数据仓库操作语句对应的访问方式;
获取单元,用于获取访问方式为写方式的数据仓库操作语句;
第二解析单元,用于解析所述访问方式为写方式的数据仓库操作语句,得到所述访问方式为写方式的数据仓库操作语句访问的所有数据仓库目的表的表名。
7.如权利要求5所述的装置,其特征在于,所述构建模块,包括:
构建单元,用于在数据仓库表血缘关系图中,构建所述数据仓库目的表的表名对应的节点,并构建所述数据仓库目的表对应的数据仓库来源表的表名对应的节点;
作为单元,用于将所述数据仓库目的表的表名对应的节点作为所述数据仓库目的表对应的数据仓库来源表的表名对应的节点的子节点。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第二存储模块,用于将访问所述数据仓库目的表的数据仓库操作语句存储在所述数据仓库目的表的表名对应的节点中;
发送模块,用于将所述数据仓库表血缘关系图发送给终端,由所述终端显示给用户。
CN201410072773.0A 2014-02-28 2014-02-28 一种构建数据仓库表血缘关系图的方法和装置 Active CN103902653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410072773.0A CN103902653B (zh) 2014-02-28 2014-02-28 一种构建数据仓库表血缘关系图的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410072773.0A CN103902653B (zh) 2014-02-28 2014-02-28 一种构建数据仓库表血缘关系图的方法和装置

Publications (2)

Publication Number Publication Date
CN103902653A CN103902653A (zh) 2014-07-02
CN103902653B true CN103902653B (zh) 2017-08-01

Family

ID=50993976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410072773.0A Active CN103902653B (zh) 2014-02-28 2014-02-28 一种构建数据仓库表血缘关系图的方法和装置

Country Status (1)

Country Link
CN (1) CN103902653B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915390A (zh) * 2015-05-25 2015-09-16 广州精点计算机科技有限公司 一种etl数据血统查询系统及查询方法
CN105868521A (zh) * 2015-12-14 2016-08-17 乐视网信息技术(北京)股份有限公司 数据信息处理方法及装置
CN106997369B (zh) * 2016-01-26 2020-11-24 阿里巴巴集团控股有限公司 数据清理方法及装置
CN107239458B (zh) * 2016-03-28 2021-01-29 阿里巴巴集团控股有限公司 基于大数据推算开发对象关系的方法及装置
CN108132957B (zh) * 2016-12-01 2021-09-10 中国移动通信有限公司研究院 一种数据库处理方法及装置
CN110019384B (zh) * 2017-08-15 2023-06-27 阿里巴巴集团控股有限公司 一种血缘数据的获取方法、提供血缘数据的方法及装置
US10769165B2 (en) * 2017-12-20 2020-09-08 Sap Se Computing data lineage across a network of heterogeneous systems
CN108038248B (zh) * 2017-12-28 2021-11-26 携程计算机技术(上海)有限公司 Etl依赖自动识别方法与系统
CN110019315A (zh) * 2018-06-19 2019-07-16 杭州数澜科技有限公司 一种用于数据血缘解析的方法和装置
CN109614432B (zh) * 2018-12-05 2021-01-05 北京百分点信息科技有限公司 一种基于语法分析的获取数据血缘关系的系统及方法
CN109669981A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 数据关系管理方法、装置、数据关系获取方法及存储介质
CN109857818B (zh) * 2019-02-03 2021-09-14 北京字节跳动网络技术有限公司 确定生产关系的方法、装置、存储介质及电子设备
CN110008291B (zh) * 2019-04-10 2022-03-11 北京字节跳动网络技术有限公司 数据预警方法、装置、存储介质及电子设备
CN110232056B (zh) * 2019-05-21 2022-02-25 苏宁云计算有限公司 一种结构化查询语言的血缘解析方法及其工具
CN110795509B (zh) * 2019-09-29 2024-02-09 北京淇瑀信息科技有限公司 一种数据仓库的指标血缘关系图的构建方法、装置和电子设备
CN111125229B (zh) * 2019-12-24 2024-06-28 杭州数梦工场科技有限公司 数据血缘生成方法、装置、电子设备
CN111694858A (zh) * 2020-04-28 2020-09-22 平安科技(深圳)有限公司 数据血缘分析方法、装置、设备及计算机可读存储介质
CN111639143B (zh) * 2020-06-05 2020-12-22 广州市玄武无线科技股份有限公司 数据仓库的数据血缘关系展示方法及装置、电子设备
CN111782738B (zh) * 2020-08-14 2021-08-17 北京斗米优聘科技发展有限公司 构建数据仓库表级别血缘关系的方法及装置
CN112231203A (zh) * 2020-09-28 2021-01-15 四川新网银行股份有限公司 一种基于血缘关系的数据仓库测试分析方法
CN112434042A (zh) * 2020-12-03 2021-03-02 深圳市欢太科技有限公司 数据关系的构建方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609473A (zh) * 2009-07-30 2009-12-23 金蝶软件(中国)有限公司 一种重构报表查询的结构化查询语言的方法及装置
CN101859303A (zh) * 2009-04-07 2010-10-13 中国移动通信集团湖北有限公司 元数据管理方法及管理系统
CN102239458A (zh) * 2008-12-02 2011-11-09 起元技术有限责任公司 可视化数据元素之间的关系
US8468120B2 (en) * 2010-08-24 2013-06-18 International Business Machines Corporation Systems and methods for tracking and reporting provenance of data used in a massively distributed analytics cloud
CN103186541A (zh) * 2011-12-27 2013-07-03 阿里巴巴集团控股有限公司 一种映射关系生成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239458A (zh) * 2008-12-02 2011-11-09 起元技术有限责任公司 可视化数据元素之间的关系
CN101859303A (zh) * 2009-04-07 2010-10-13 中国移动通信集团湖北有限公司 元数据管理方法及管理系统
CN101609473A (zh) * 2009-07-30 2009-12-23 金蝶软件(中国)有限公司 一种重构报表查询的结构化查询语言的方法及装置
US8468120B2 (en) * 2010-08-24 2013-06-18 International Business Machines Corporation Systems and methods for tracking and reporting provenance of data used in a massively distributed analytics cloud
CN103186541A (zh) * 2011-12-27 2013-07-03 阿里巴巴集团控股有限公司 一种映射关系生成方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"数据仓库元数据的管理与运用";杨玢玢;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215;全文 *
"面向疑点核实的数据路径追踪技术研究";衡铁刚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120515;全文 *

Also Published As

Publication number Publication date
CN103902653A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103902653B (zh) 一种构建数据仓库表血缘关系图的方法和装置
Malyshev et al. Getting the most out of Wikidata: Semantic technology usage in Wikipedia’s knowledge graph
CN110291517B (zh) 图数据库中的查询语言互操作性
CN106980669B (zh) 一种数据的存储、获取方法及装置
CN103810224B (zh) 信息持久化和查询方法及装置
CN107038207A (zh) 一种数据查询方法、数据处理方法及装置
US9146994B2 (en) Pivot facets for text mining and search
US20180144061A1 (en) Edge store designs for graph databases
CN110472068A (zh) 基于异构分布式知识图谱的大数据处理方法、设备及介质
CN106547766A (zh) 一种数据访问方法和装置
US11216474B2 (en) Statistical processing of natural language queries of data sets
CN101493820A (zh) 一种药监行业知识库的平台及其构建方法
CN106407303A (zh) 数据存储、查询方法及装置
CN104699718A (zh) 用于快速引入业务数据的方法和装置
CN103778133A (zh) 一种数据库对象的变更方法及装置
CN104021123A (zh) 用于数据迁移的方法和系统
US10445370B2 (en) Compound indexes for graph databases
CN102346747A (zh) 在数据模型中查找参数的方法
CN102591855A (zh) 一种数据标识方法及系统
CN106933845A (zh) 使用sql实现mdx查询效果的方法和装置
CN108008936A (zh) 一种数据处理方法、装置及电子设备
CN103714086A (zh) 用于生成非关系数据库的模式的方法和设备
CN108037967A (zh) 一种基于多父子结构的菜单加载方法以及电子设备
CN110781183A (zh) Hive数据库中增量数据的处理方法、装置以及计算机设备
CN103455335A (zh) 一种多级分类的Web实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 519000 High-tech Zone, Zhuhai City, Guangdong Province, Unit 1, Fourth Floor C, Building A, Headquarters Base No. 1, Qianwan Third Road, Tangjiawan Town

Patentee after: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd.

Address before: 519080 Zone B, 1st Floor, Convention Center, No. 1, Software Park Road, Tangjiawan Town, Zhuhai, Guangdong

Patentee before: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd.