[發明專利]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模塊間存在的父任務關系。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910207138.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種臨床藥理試驗信息處理系統
- 下一篇:一種配電線路供電范圍的顯示方法





