新四季網

一種基於etl的數據優化方法及設備的製作方法

2023-06-19 15:23:56 1

專利名稱:一種基於etl的數據優化方法及設備的製作方法
技術領域:
本發明關於數據處理技術,特別是關於數據遷移轉換過程中的處理技術,具體的講是一種基於ETL的數據優化方法及設備。
背景技術:
在企業信息化建設過程中,經常涉及到對大量、分散、異構的數據進行處理,數據抽取、轉換、裝載的過程(Extract-Transform-Load, ETL)是該過程中必不可少的一部分。現有技術中主要有如下幾種方式來實現ETL過程 I、硬編碼硬編碼是通過高級語言(如C、C++)或腳本等編譯出的一個獨立運行的程序或嵌入ETL框架運行的動態連結庫。這種方式的優點是靈活,只要是採用的程式語言能支持的數據類型和處理邏輯,在ETL過程中,都能得以實現。相對其「靈活」的優點來說,「硬編碼」方式的缺點也十分顯著由於該方式將所有ETL過程的實現邏輯,都封裝到了一個硬編碼程序中,ETL過程中的處理邏輯是不可見的,一旦要維護該ETL過程中的某個邏輯,則需要開發人員來進行。其可重用性、可移植性、可維護性差,難以文檔化,而且工作量較大,開發周期一般較長。不適用與環境複雜多樣、變化頻繁的數據處理場景。2、存儲過程資料庫存儲過程,是一組為了完成特定功能的SQL語句集,與程序中的函數類似,存儲過程是在資料庫中創建的。當要對資料庫做一個較為複雜的操作時,可以通過存儲過程將操作封裝起來,並可以與事務處理等結合使用。存儲過程實現ETL過程,將所有數據處理單元都存儲在資料庫中,隨著需求的變動與添加,存儲過程的數量會越來越大,導致該ETL過程的維護越來越困難。存儲過程是腳本形式,不利於理解與工作交接,維護與調試難度大。同時,存儲過程依賴與資料庫系統,基本不具可移植性,比如=Oracle中的存儲過程無法遷移到SQL Server中存儲運行。3、批量序列處理根據ETL過程的需求,將數據以「數據包」的形式,按順序在各數據處理單元之間傳遞,數據包內的所有數據,在一個數據處理單元內處理完成,形成新的數據包後,才傳遞給下一個數據單元處理。這種做法層次分明、結構簡單、易理解,是ETL過程中最常用的實現方式。需要將所有數據以數據包形式,全部加載到內存,內存資源消耗情況依賴於所處理的數據包的大小,當數據包較大的時候,其處理效率呈加速下降的趨勢。綜上所述,上述三種處理方式主要存在如下缺陷I、無可復用性、可移植性 這些實現方式,通常是針對特定的外部數據和加載目標,有特定的數據處理邏輯,這些邏輯固化在了一個ETL程序中;所以這樣的實現方式只能用於特定的ETL場景,在其他場景中,無法將之前的成果一直到新的場景、或重複利用起來,只能再針對新的特定場景完成一個新的實現;
2、維護性、易用性差有些技術方案是通過「腳本」或「代碼」的方式,描述從外部數據到加載目標的ETL過程。維護這樣的ETL過程,涉及到對大量的「腳本」或「代碼」的管理,非常混亂,而且這對實施人員的技術水平提出了相當高的要求,否則難以實現。3、無元數據管理有些技術方案比如「硬編碼」和「存儲過程」,缺乏了對元數據進行存儲和管理的過程,導致對ETL過程的運行、跟蹤 和分析,以及後期的維護調整,都非常難以進行。4、效率低下這類技術方案通常採用分布串行處理方式,這種方式能夠滿足小量數據簡單的ETL過程需求。隨著發展,各行業系統中的數據量越來越大,ETL過程通常要面對海量數據進行處理,對實時性要求越來越高,因此對ETL過程的效率就提出了越來越高的要求,傳統的處理方式已經不能滿足要求。5、資源佔用大這類技術方案通過將要處理的各種異構數據,抽取到內存塊中;甚至在轉換過程中,需要實時連接外部數據如關係資料庫。這就導致了大量的內存、CPU、帶寬資源被佔用。

發明內容
本發明實施例提供了一種基於ETL的數據優化方法及設備,通過預先設置數據處理單元以及通信機制,實現了對數據的簡化優化、分支並行優化以及記錄間並行優化,提高了數據優化的處理效率,節約硬體資源。本發明的目的之一是,提供一種基於ETL的數據優化方法,所述的方法包括根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元;對所述的數據處理單元預先設置通信機制;採集用戶輸入的包括來源數據的指令信息;根據所述的來源數據構建與所述的指令信息對應的數據處理流程;根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化。本發明的目的之一是,提供一種基於ETL的數據優化設備,所述的設備包括數據單元設置裝置,用於根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元;通信機制設置裝置,用於對所述的數據處理單元預先設置通信機制;指令信息採集裝置,用於採集用戶輸入的包括來源數據的指令信息;數據流程構建裝置,用於根據所述的來源數據構建與所述的指令信息對應的數據處理流程;數據優化裝置,用於根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化。本發明的有益效果在於,通過預先設置數據處理單元以及通信機制,實現了對數據的簡化優化、分支並行優化以及記錄間並行優化,提高了數據優化的處理效率,節約硬體資源、網絡資源,提高了系統的穩定性,以及優化設備的易用性、可復用性和可移植性。


為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本發明實施例提供的一種基於ETL的數據優化方法的流程圖;圖2為本發明實施例提供的一種基於ETL的數據優化方法的實施方式二的流程圖;圖3為本發明實施例提供的一種基於ETL的數據優化方法的實施方式三的流程圖;圖4為本發明實施例提供的一種基於ETL的數據優化方法的實施方式四的流程圖;圖5為圖I中的步驟S105的具體流程圖; 圖6為本發明實施例提供的一種基於ETL的數據優化設備的結構框圖;圖7為本發明實施例提供的一種基於ETL的數據優化設備的實施方式二的結構框圖;圖8為本發明實施例提供的一種基於ETL的數據優化設備的實施方式三的結構框圖;圖9為本發明實施例提供的一種基於ETL的數據優化設備的實施方式四的結構框圖;圖10為本發明實施例提供的一種基於ETL的數據優化設備的實施方式五的結構框圖;圖11為本發明實施例提供的一種數據處理單元的組合示意圖;圖12為步驟S3065中將多個數據處理單元轉化為單步數據進行處理的示意圖;圖13是本發明實施例中根據某學校的指令信息生成的數據處理流程圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。在企業信息化建設過程中,特別是面向分析與挖掘的商業智能業務過程,經常涉及到對大量、分散、異構的數據進行處理,ETL是這個過程中必不可少的一部分。下面首先介紹與本發明相關的縮略語與關鍵術語。ETL Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程。其負責將分布的、異構數據源中的數據如關係數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後加載到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。SQL :結構化查詢語言(Structured Query Language),是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係資料庫系統。同時也是資料庫腳本文件的擴展名。外部數據ETL處理數據的來源,一般包括各個廠商的資料庫及版本、平面數據文件、Excel、及其他數據文件;數據處理單元ETL中定義的一條對數據進行處理的,可劃分的最小邏輯單元;如查詢、過濾、排序等。數據處理單元序列ETL對數據的處理過程,可以被認為是由若干個數據處理單元組成的,一條帶有分支的,有序的流程;數據處理單元序列,就是從此流程中任意截取的一段有序流程;例如A->B->C->D是ETL過程,那麼A->B、B_>C、B->D都是數據處理單元序列。可優化的數據處理單元有些數據處理單元在某些情況下可以被優化,或者其參與的數據處理單元序列,在某些情況下可以被優化。則這種數據處理單元被稱為可優化的數據處理單元;如本方案中,可優化的數據處 理單元有查詢、過濾、分組統計、排序、表關聯、表合併、欄位計算。可優化序列可優化的數據處理單元序列,以數據處理單元序列的方式參與優化,可以將該序列的多個數據處理步驟統一優化為單步數據處理,這種序列被稱為可優化序列。例如可優化為一條SQL語句的數據處理單元序列。元數據管理元數據是關於數據的數據,其對於ETL來說尤其重要。ETL中大量的數據源定義、映射規則、轉換規則、裝載策略等都屬於元數據範疇,這些信息不僅關係到ETL過程能否順利完成,而且影響到後期的使用和維護。硬編碼硬編碼是指使用高級語言或腳本將整個數據處理流程固化與特定的ETL場景中。這樣的好處是考慮的場景和邏輯少,便於開發,但是犧牲了代碼的可重用性和可移植性。標準化為在一定的範圍內獲得最佳秩序,對實際的或潛在的問題制定共同的和重複使用的規則的活動,稱為標準化。ETL中的很多數據處理邏輯,是常用並可重複使用的,可以抽象出來作為一個標準數據處理單元。關係資料庫關係資料庫是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的數據。現實世界中的各種實體以及實體之間的各種聯繫均用關係模型來表示。關係模型就是指二維表格模型,因而一個關係型資料庫就是由二維表及其之間的聯繫組成的一個數據組織。當前主流的關係型資料庫有Oracle、DB2、Microsoft SQL Server、Microsoft Access、My SQL 等。異構資料庫不同體系結構的資料庫系統,如Oracle與SQL Server。數據集數據的集合,通常以表格形式出現,每行表示數據集的一個成員,每列表示了成員的一個屬性,一個數據集通常有多個成員構成。數據記錄數據集的一個成員或一行數據,被稱為一條數據記錄。圖I為本發明實施例提供的一種基於ETL的數據優化方法的流程圖,由圖I可知,所述的方法包括SlOl :根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元,數據處理單元包括抽取類、加載類以及轉換類三種類型。表I即為本發明預先設置的多個標準化的數據處理單元。
抽取加載轉換
文本輸入文本輸出欄位計算
權利要求
1.一種基於數據抽取、轉換、裝載的過程ETL的數據優化方法,其特徵是,所述的方法包括 根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元; 對所述的數據處理單元預先設置通信機制; 採集用戶輸入的包括來源數據的指令信息; 根據所述的來源數據構建與所述的指令信息對應的數據處理流程; 根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化。
2.根據權利要求I所述的方法,其特徵是,所述的數據處理單元包括抽取類、加載類以及轉換類三種類型。
3.根據權利要求2所述的方法,其特徵是,對所述的數據處理單元預先設置通信機制具體包括 當所述的數據處理單元為抽取類時,在所述的數據處理單元上加載輸出接口 ; 當所述的數據處理單元為加載類時,在所述的數據處理單元上加載輸入接口 ; 當所述的數據處理單元為轉換類時,在所述的數據處理單元上加載輸入接口、輸出接□。
4.根據權利要求I所述的方法,其特徵是,根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化具體包括 當所述的數據處理流程中第一個數據處理單元處理的數據不是資料庫數據源時,對所述的數據處理流程進行並行處理。
5.根據權利要求4所述的方法,其特徵是,對所述的數據處理流程進行並行處理具體包括 篩選所述的數據處理流程中的多條分支; 採用多線程方式對所述的多條分支進行並行處理。
6.根據權利要求4所述的方法,其特徵是,對所述的數據處理流程進行並行處理具體包括 篩選所述的數據處理流程中的串行數據處理單元; 將輸入至所述的串行數據處理單元的數據分解為多條數據記錄; 對每條數據記錄分配單線程以處理所述的數據記錄。
7.根據權利要求I所述的方法,其特徵是,根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化具體包括 當所述的數據處理流程中第一個數據處理單元處理的數據為資料庫數據源時,將所述的第一個數據處理單元添加至可優化序列; 依次判斷所述的數據處理流程中的下一個數據處理單元是否屬於「查詢、過濾、分組、統計、排序、計算」集合中的一個; 當判斷為是時,將所述的數據處理單元添加至可優化序列; 當判斷為否時,繼續判斷所述的數據處理單元是否帶分支; 當判斷為是時,繼續判斷所述的數據處理單元相關聯的分支上的數據處理單元處理的數據是否為資料庫數據源; 當判斷為是時,將所述的數據處理單元以及相關聯的分支上的數據處理單元添加至可優化序列; 將所述的可優化序列中的數據處理單元轉化為單步進行處理。
8.一種基於ETL的數據優化設備,其特徵是,所述的設備包括 數據單元設置裝置,用於根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元; 通信機制設置裝置,用於對所述的數據處理單元預先設置通信機制; 指令信息採集裝置,用於採集用戶輸入的包括來源數據的指令信息; 數據流程構建裝置,用於根據所述的來源數據構建與所述的指令信息對應的數據處理流程; 數據優化裝置,用於根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化。
9.根據權利要求8所述的設備,其特徵是,所述的數據處理單元包括抽取類、加載類以及轉換類三種類型。
10.根據權利要求9所述的設備,其特徵是,所述的通信機制設置裝置具體包括 第一設置單元,用於當所述的數據處理單元為抽取類時,在所述的數據處理單元上加載輸出接口; 第二設置單元,用於當所述的數據處理單元為加載類時,在所述的數據處理單元上加載輸入接口; 第三設置單元,用於當所述的數據處理單元為轉換類時,在所述的數據處理單元上加載輸入接口、輸出接口。
11.根據權利要求8所述的設備,其特徵是,所述的數據優化裝置具體包括 並行處理裝置,用於當所述的數據處理流程中第一個數據處理單元處理的數據不是資料庫數據源時,對所述的數據處理流程進行並行處理。
12.根據權利要求11所述的設備,其特徵是,所述的並行處理裝置具體包括 第一篩選單元,用於篩選所述的數據處理流程中的多條分支; 並行處理單元,用於採用多線程方式對所述的多條分支進行並行處理。
13.根據權利要求11所述的設備,其特徵是,所述的並行處理裝置具體包括 第二篩選單元,用於篩選所述的數據處理流程中的串行數據處理單元; 分解單元,用於將輸入至所述的串行數據處理單元的數據分解為多條數據記錄; 單線程分配單元,用於對每條數據記錄分配單線程以處理所述的數據記錄。
14.根據權利要求8所述的設備,其特徵是,所述的數據優化裝置具體包括 第一判斷單元,用於判斷所述的數據處理流程裡第一個數據處理單元處理的數據是否為資料庫數據源,當判斷為是時,執行添加單元,否則執行第二判斷單元; 所述的添加單元,用於將所述的數據處理單元添加至可優化序列; 所述的第二判斷單元,用於依次判斷所述的數據處理流程中的下一個數據處理單元是否屬於「查詢、過濾、分組、統計、排序、計算」集合中的一個,當判斷為是時,執行所述的添加單元,否則執行第三判斷單元; 所述的第三判斷單元,用於繼續判斷所述的數據處理單元是否帶分支,當判斷為是時,執行第四判斷單元;所述的第四判斷單元,用於繼續判斷所述的數據處理單元相關聯的分支上的數據處理單元處理的數據是否為資料庫數據源,當判斷為是時,執行所述的添加單元; 處理單元,用於將所述的可優化序列中的數據處理單元轉化為單步進行處理。
全文摘要
本發明實施例提供了提供一種基於ETL的數據優化方法及設備,所述的方法包括根據數據抽取、轉換、裝載的過程ETL預先設置多個數據處理單元;對所述的數據處理單元預先設置通信機制;採集用戶輸入的包括來源數據的指令信息;根據所述的來源數據構建與所述的指令信息對應的數據處理流程;根據所述的數據處理單元以及預設的通信機制對所述的數據處理流程進行優化。通過預先設置數據處理單元以及通信機制,實現了對數據的簡化優化、分支並行優化以及記錄間並行優化,提高了數據優化的處理效率,節約硬體資源。
文檔編號G06F17/30GK102819589SQ20121027709
公開日2012年12月12日 申請日期2012年8月6日 優先權日2012年8月6日
發明者李紀洲, 周徐波, 王星宇 申請人:北京久其軟體股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀