[发明专利]ETL模块间父任务关系的获取方法和装置无效

专利信息
申请号: 200910207138.8 申请日: 2009-10-27
公开(公告)号: CN102053972A 公开(公告)日: 2011-05-11
发明(设计)人: 林正华 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京鑫媛睿博知识产权代理有限公司 11297 代理人: 龚家骅
地址: 英属开曼群岛大开*** 国省代码: 开曼群岛;KY
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: etl 模块 任务 关系 获取 方法 装置
【说明书】:

技术领域

本申请涉及通讯技术领域,尤其涉及一种ETL模块间父任务关系的获取方法和装置。

背景技术

ETL(Extract/Transform/Load,抽取/转换/装载)是指对数据库的数据进行抽取、转换、装载操作,从而将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成后,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

具有对数据库的数据进行抽取、转换、装载的操作功能的程序可以封装为一个功能模块,用于完成固定的数据操作,这个功能模块可以称为ETL模块。

ETL模块的操作对象基本为数据库中的表,比如ETL模块1的操作是抽取表A的数据,对抽取的数据进行筛选过滤后生成表B,则ETL模块1中可能包括以下SQL(Structured Query Language,结构化查询语言)语句:

SQL(insert into B select*from A where type=1)

其语义为从表A中选择类型(type)为1的值插入到表B中。

假设表A是在ETL模块2中生成的。那么在ETL模块1和ELT模块2的执行序列上,必须是ETL模块2运行生成表A成功后,才能执行ETL模块1的功能。否则,ETL模块1在执行时,将因为无法获取表A中的数据而报错。该情况下一般,将ETL模块2称为ETL模块1的父任务,而ETL模块1称为ETL模块2的子任务。

现有技术中,在系统中每添加上一个新的ETL模块时,需要手工把该ETL模块中涉及到的输入表整理出来,再手工整理出这些输入表是由哪些ETL模块生成的。根据整理出的输入表和输出表,记录新的ETL模块与其他已存在的ETL模块之间的父子关系,进而设置个ETL模块的调度顺序。

现有技术中存在的问题在于:

对ETL模块之间父子关系的分析通过手工操作完成,一方面浪费时间、效率低下,另一方面由于一个ETL模块常常会有近10个数据源,因此很容易会有遗漏。一旦发生遗漏,在ETL模块做相应计算时就会发生数据错误。

发明内容

本申请的实施例提供一种ETL模块间父任务关系的获取方法和装置,用于根据ETL模块中SQL语句对各ETL模块之间的父任务关系进行自动分析,提高分析准确性和分析效率。

为了达到上述目的,本申请的实施例提供了一种ETL模块间父任务关系的获取方法,包括:

对各ETL模块中的关键字进行匹配;

根据所述匹配结果,获取各ETL模块的输入表和输出表;

根据所述各ETL模块的输入表和输出表,获取所述各ETL模块间存在的父任务关系。

其中,所述对各ETL模块中的关键字进行匹配包括:

所述各ETL模块中包括的为结构化查询语言SQL语句时,使用lex、yacc和/或antlr工具对各ETL模块中SQL语句的关键字进行匹配。

其中,所述关键字至少包括:insert into、merge into、update、from和using中的一种或多种。

其中,所述根据所述匹配结果,获取各ETL模块的输入表和输出表,包括:

对于一ETL模块,

匹配到insert into时,判断insert into后的字符串是所述ETL模块的输出表;

匹配到merge into时,判断merge into后的字符串是所述ETL模块的输出表;

匹配到update时,判断update后的字符串是所述ETL模块的输出表;

匹配到from时,判断from后的字符串是所述ETL模块的输入表;

匹配到using时,判断using后的字符串是所述ETL模块的输入表。

其中,所述根据所述各ETL模块的输入表和输出表,获取所述各ETL模块间存在的父任务关系,包括:

对各ETL模块的输入表和输出表进行匹配,当第一ETL模块的输入表为第二ETL模块的输出表时,判断第二ETL模块为第一ETL模块的父任务,并对第一ETL模块的父任务进行记录。

本申请的实施例还提供了一种ETL模块间父任务关系的获取装置,包括:

关键字匹配单元,用于对各ETL模块中的关键字进行匹配;

输入输出表获取单元,用于根据所述关键字匹配单元的关键字匹配结果,获取各ETL模块的输入表和输出表;

父任务关系获取单元,用于根据所述输入输出表获取单元获取的各ETL模块的输入表和输出表,获取所述各ETL模块间存在的父任务关系。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910207138.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top