[發明專利]一種ETL中數據流的傳遞方法在審
| 申請號: | 201410671540.2 | 申請日: | 2014-11-21 |
| 公開(公告)號: | CN104391929A | 公開(公告)日: | 2015-03-04 |
| 發明(設計)人: | 潘博存 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 etl 數據流 傳遞 方法 | ||
技術領域
本發明涉及數據集成技術領域,具體涉及一種ETL(Extract–Transform–Load,即數據抽取、轉換、裝載的/過程)中數據流的傳遞方法。
背景技術
伴隨著科學技術的發展,各行各業信息化的程度越來越高,各行各業的數據量都向著海量數據的方向發展,在數據集成領域,面對海量數據以及性能要求的不斷提升。對數據集成工具要求也越來越高,常見的數據集成工具主要利用數據庫或者內存存儲或者共享各個步驟的數據,由于沒有將數據進行拆分,各個步驟都是單線程順序執行的,這樣在面對海量數據時,內存很明顯已經成為瓶頸,也沒有充分利用現有服務器的cpu資源。造成系統資源的浪費,數據集成的性能降低。
故,針對目前現有技術存在的問題,實有必要進行開發研究,以提供一種方案,對大量數據充分利用系統資源在ETL流程中的各個步驟之間進行高效的數據流的傳遞,以便高效完成對大量數據的抽取、轉換、加載的過程,節約系統資源,提高數據集成的性能。
發明內容
為解決上述問題,本發明的目的在于提供一種ETL中數據流的傳遞方法,對大量數據充分利用系統資源在ETL流程中的各個步驟之間進行高效的數據流的傳遞,以便高效完成對大量數據的抽取、轉換、加載的過程,節約系統資源,提高數據集成的性能。
為實現上述目的,本發明的技術方案為:
一種ETL中數據流的傳遞方法,包括如下步驟:
步驟一:根據定義的ETL流程,確定每個環節的數據的流出方式;
步驟二:根據定義的ETL流程,確定每個環節執行線程的個數;
步驟三:根據定義的ETL流程,確定每個環節的輸入和輸出隊列的最大數量;
步驟四:確定ETL流程中各個環節一次從隊列獲取或者放入的數據的條數;
步驟五:完成ETL流程的初始化以及ETL環節的創建及初始化;
步驟六:ETL流程中各個環節開始并行執行,數據開始正常流轉;
步驟七:ETL各個執行環節數據處理完畢后,陸續停止整個流程結束執行。
進一步地,步驟一中,根據相鄰的環節的個數,以及每個環節需要處理的數據總數設置每個環節的數據流出方式是復制還是分發;復制時,根據該環節的直接后續環節的個數,將本環節的數據復制多份,分別放入后續環節的輸入隊列中;分發時,將該環節的所有輸出數據,按照后續環節的輸入隊列進行循環,采用每個隊列分發一條的方式,進行循環放入。
進一步地,步驟三中,根據本環節的處理的性能以及下一個環節處理數據的快慢,合理設置最大隊列。
進一步地,步驟五中,具體包括以下步驟:
根據整體流程定義,完成流程的初始化,形成該流程總的隊列;
根據ETL流程設計時定義,形成各個環節的實體,主要承載每個環節的配置;
根據流程定義,形成各個環節對應的執行器,用于各環節的真正執行;
將生成的隊列,根據規則分配到對應的環節生成的執行器上。
進一步地,步驟六中,各個環節之間采用各自的內存隊列作為數據的中間存放載體,相互不干擾,采用隊列機制,使大量數據通過拆分的形式在各環節之間流轉。
本發明ETL中數據流的傳遞方法能夠充分利用系統資源,采用將大數據進行拆分,環節之間基于內存隊列作為數據緩沖區,各個環節并行處理的方式實現了大量數據在ETL各個環節之間進行高效的流轉。
附圖說明
圖1為本發明的方法流程圖示。
圖2為本發明方法的數據流傳遞流程示意圖。
具體實施方式
本發明實施例提供了一種ETL中數據流的傳遞方法。
為使得本發明的發明目的、特征、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部實施例。基于本發明中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的術語在適當情況下可以互換,這僅僅是描述本發明的實施例中對相同屬性的對象在描述時所采用的區分方式。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統、產品或設備不必限于那些單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它單元。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410671540.2/2.html,轉載請聲明來源鉆瓜專利網。





