鬼佬大哥大
  • / 15
  • 下載費用:30 金幣  

一種實時ETL系統及方法.pdf

摘要
申請專利號:

CN201510425219.0

申請日:

2015.07.17

公開號:

CN105069029A

公開日:

2015.11.18

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/30申請日:20150717|||公開
IPC分類號: G06F17/30 主分類號: G06F17/30
申請人: 電子科技大學
發明人: 林劼; 李虹峰; 郝玉潔; 廖虹光
地址: 610041四川省成都市高新區(西區)西源大道2006號
優先權:
專利代理機構: 成都金英專利代理事務所(普通合伙)51218 代理人: 袁英
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510425219.0

授權公告號:

||||||

法律狀態公告日:

2019.01.29|||2015.12.16|||2015.11.18

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開了一種實時ETL系統及方法,包括ETL客戶端、分布式數據緩存隊列、分布式狀態管理機和ETL群集;所述ETL客戶端,用于設計ETL流程、測試ETL流程和發布ETL流程;所述分布式數據緩存隊列,用于緩存輸入數據;所述分布式狀態管理機,用于存儲系統狀態信息;所述ETL群集,用于按行從數據源獲取輸入數據,并將輸入數據緩存到分布式數據緩存隊列中,然后對輸入數據進行處理。本發明具有很高的效率,能夠解決目前ETL技術應用在實時大數據環境下的局限性問題。

權利要求書

1.一種實時ETL系統,其特征在于:包括ETL客戶端、分布式數據緩存隊列、分布式狀
態管理機和ETL群集;
所述ETL客戶端,用于設計ETL流程、測試ETL流程和發布ETL流程;
所述分布式數據緩存隊列,用于緩存輸入數據;
所述分布式狀態管理機,用于存儲系統狀態信息;
所述ETL群集,用于按行從數據源獲取輸入數據,并將輸入數據緩存到分布式數據緩存
隊列中,然后對輸入數據進行處理。
2.根據權利要求1所述的一種實時ETL系統,其特征在于:所述系統狀態信息包括輸入
數據的元數據信息和當前的分布式數據緩存隊列的隊列信息。
3.根據權利要求1所述的一種實時ETL系統,其特征在于:所述ETL群集包括多個ETL
節點,多個ETL節點組成分布式數據處理ETL網絡,分布式數據處理ETL網絡包括抽取任務
分布式子網絡和處理任務分布式子網絡;
所述抽取任務分布式子網絡,用于按行從數據源中獲取輸入數據,并將輸入數據緩存到
分布式數據緩存隊列;
所述處理任務分布式子網絡,用于對輸入數據進行處理和轉換,并輸出結果數據。
4.一種實時ETL方法,其特征在于:包括以下步驟:
S1.設計和測試ETL流程,將測試合格的ETL流程以元數據的方式存儲為xml文件;
S2.將測試合格的ETL流程構造成能夠在ETL群集中運行的分布式數據處理ETL流程,并
將該分布式數據處理ETL流程發送到ETL群集;
S3.ETL群集中的多個ETL節點組成分布式數據處理ETL網絡,構建每個數據源的分布
式數據緩存隊列,按行從數據源中獲取輸入數據,將輸入數據發送到該數據源對應的分布式
數據緩存隊列,將該分布式數據緩存隊列的隊列信息和該分布式數據緩存隊列對應數據源中
輸入數據的元數據信息發送到分布式狀態管理機;
S4.從分布式數據緩存隊列中抽取輸入數據,并使輸入數據流經分布式數據處理ETL網絡
中的處理任務分布式子網絡中的所有ETL節點;
S5.每條進入分布式數據處理ETL網絡中的輸入數據形成一個消息樹;
S6.判斷每條輸入數據是否在分布式數據處理ETL網絡中被完全處理:
若存在輸入數據未被完全處理,則從分布式數據緩存隊列中重新抽取該輸入數據,將該
輸入數據發送到分布式數據處理ETL網絡中,重新處理;
若所有輸入數據均被完全處理,輸出處理完成后的結果數據。
5.根據權利要求4所述的一種實時ETL方法,其特征在于:所述步驟S2包括以下子步
驟:
S21.檢測ETL流程的DAG圖中入度為0的ETL轉換單元,并將該入度為0的ETL轉換單
元歸類到輸入步驟節點集合;檢測ETL的DAG圖中出度為0的ETL轉換單元,并將該出度為
0的ETL轉換單元歸類到輸出步驟節點集合;將ETL流程的DAG圖中除入度為0、出度為0以
外的ETL轉換單元歸類到中間處理步驟節點集合;
S22.從步驟S1中的xml文件中讀取每個ETL轉換單元的元數據,并構建每個ETL轉換單
元的元數據對象;
S23.根據輸入步驟節點集合中各ETL轉換單元的元數據對象和ETL流程的DAG圖中各ETL
轉換單元間的連接關系構成抽取任務分布式子網絡;
S24.根據中間處理步驟節點集合中各ETL轉換單元的元數據對象和ETL流程的DAG圖中
各ETL轉換單元間的連接關系構成處理任務分布式子網絡。
6.根據權利要求5所述的一種實時ETL方法,其特征在于:所述步驟S3還包括:將步
驟S22中的元數據存儲在分布式數據緩存隊列中。
7.根據權利要求4所述的一種實時ETL方法,其特征在于:所述步驟S6中判斷輸入數
據是否被處理完成的方式為:為輸入數據的消息樹分配一個變量,并將該變量均初始化為0,
待所述輸入數據經過處理任務分布式子網絡處理后,判斷所述變量是否為0:
若該變量為0,則該輸入數據被完全處理;
若該變量不為0,則該輸入數據未被完全處理。
8.根據權利要求7所述的一種實時ETL方法,其特征在于:所述判斷輸入數據是否被處
理完成的方式包括以下子步驟:
S61.定義處理任務分布式子網絡中任意一個ETL節點為k,接收到的輸入數據為A,則
ETL節點k為輸入數據A生成一個隨機的64位標識符SA,并將標識符SA保存到該處理任務
分布式子網絡的標識序列中,為ETL節點k的消息樹分配一個64位的變量result,并將該
變量result均初始化為0,然后將變量result通過公式(1)與標識符SA進行異或運算:
result=SAXORresult公式(1)
S62.若處理任務分布式子網絡中ETL節點k之后無用于對輸入數據A進行處理的ETL節
點,則ETL節點k處理完成后,變量result再次通過公式(1)與標識符SA進行異或運算,
跳轉步驟S63;
若處理任務分布式子網絡中ETL節點k之后有用于對輸入數據A進行處理的ETL節點,
則ETL節點k生成輸入數據A的一個或多個中間輸出值{A1,A2,A3,…,AN},并將中間輸出
值{A1,A2,A3,…,AN}發送給后續ETL節點,每個AN表示ETL節點k的一個中間輸出值,
為每個中間輸出值AN生成一個隨機的64位標識符并將標識符記錄到該處理任務分
布式子網絡的標識序列中,變量result的值通過公式(2)進行更新:
r e s u l t = resultXORS A 1 XORS A 2 ... XORS A N ]]>公式(2)
ETL節點k處理完成后,變量result再次與標識符SA通過公式(1)進行異或運算;
S63.每過間隔時間t檢測一次變量result的值:
若變量result的值為0,則輸入數據A被完全處理;
若變量result的值不為0,則經過超時時長p后再次檢測該result的值,若該變量result
的值仍不為0,則輸入數據A未被完全處理。
9.根據權利要求4所述的一種實時ETL方法,其特征在于:步驟S4中每個ETL節點對
輸入數據進行處理,ETL節點對輸入數據進行處理包括以下步驟:
S41.處理任務分布式子網絡中的任意一個ETL節點在自己的輸入緩存區中獲取該ETL節
點的輸入數據和輸入數據的元數據信息;
S42.所述ETL節點根據自己的節點元數據信息中描述的操作步驟對輸入數據進行處理,
并修改輸入數據的元數據信息,生成該ETL節點的輸出數據的元數據信息;
S43.所述ETL節點將自己的輸出數據和輸出數據的元數據信息打包后發給處理任務分布
式子網絡中后續ETL節點。
10.根據權利要求4所述的一種實時ETL方法,其特征在于:所述ETL節點一直保持運
行狀態,除非主動停止該ETL節點。

關 鍵 詞:
一種 實時 ETL 系統 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種實時ETL系統及方法.pdf
鏈接地址:http://www.wwszu.club/p-6385901.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大