一種資料庫轉換與清洗信息處理方法
2023-05-29 18:58:31 1
專利名稱::一種資料庫轉換與清洗信息處理方法
技術領域:
:本發明涉及一種資料庫相關技術,尤其是涉及一種資料庫轉換與清洗信息處理方法。
背景技術:
:數據的清洗和轉換,也稱ETL(Extract、Transform,Load),是在資料庫領域、尤其是數據倉庫領域經常需要解決的問題。ETL負責將分布的、異構數據源中的數據如關係數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後加載到目標庫(數據倉庫、數據集市等)中,成為聯機分析處理、數據挖掘的基礎。雖然目前市場上關於數據清洗的專業工具有很多,如Ascential公司的DatastageλInformatica公司的PowercenterΛNCRTeradata公司的ETLAutomation等,這些工具大都功能強大,但同時其使用也較為複雜。但是作為一般的中小型應用而言,使用這些專業工具成本過高,一般會轉而尋求一些較為輕量級的工具,如SSIS或者直接使用存儲過程編程實現。
發明內容本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種資料庫轉換與清洗信息處理方法。本發明的目的可以通過以下技術方案來實現一種資料庫轉換與清洗信息處理方法,其特徵在於,包括以下步驟1)目標資料庫連接至數據源;2)選擇目標資料庫中需要清洗的目標數據表;3)選擇更新方式,若為增量更新,則執行步驟4);若為全量更新,則執行步驟10);4)獲得目標數據表中最大的更新時間laSt_Update,若目標數據表為空,則last_update默認為設定時間;5)篩選數據源中更新時間大於laSt_update的所有記錄至一個臨時表temp_table中;6)採用目標數據表中的約束欄位來剔除臨時表tempjable中的重複記錄;7)通過目標數據表與臨時表tempjable比較,得到臨時表tempjable中已存在於目標數據表中的記錄;8)剔除臨時表tempjable中已存在於目標數據表中的記錄;9)將臨時表tempjable中剩餘的全部記錄,插入目標數據表中,並執行步驟14);10)將數據源一端的數據,組織為目標數據表結構形式,並將全部記錄保存至臨時表temp—table中;11)採用目標數據表中的約束欄位來剔除臨時表tempjable中的重複記錄;12)清空目標數據表;13)將臨時表tempjable中的全部記錄插入目標數據表中。14)記錄更新日誌。所述的步驟4)中的設定時間可以為1900年1月1日。所述的步驟6)約束欄位為一個或多個。所述的步驟11)約束欄位為一個或多個。與現有技術相比,本發明具有以下優點1、具體化了數據轉換和清洗的流程,能夠有效的完成全量和增量兩種更新方式的數據更新;2、使用清晰的業務邏輯,能夠有效避免在數據清洗過程中的數據重複和遺漏問題,保證數據的一致性和完整性。圖1為本發明的流程圖;圖2為本發明的硬體結構示意圖。具體實施例方式下面結合附圖和具體實施例對本發明進行詳細說明。實施例如圖1、圖2所示,一種資料庫轉換與清洗信息處理方法,包括以下步驟1)目標資料庫1連接至數據源2;2)選擇目標資料庫1中需要清洗的目標數據表;3)選擇更新方式,若為增量更新,則執行步驟4);若為全量更新,則執行步驟10);4)獲得目標數據表中最大的更新時間laSt_Update,若目標數據表為空,則last_update默認為設定時間;5)篩選數據源2中更新時間大於Iastjpdate的所有記錄至一個臨時表temp_table中;6)採用目標數據表中的約束欄位來剔除臨時表tempjable中的重複記錄;7)通過目標數據表與臨時表tempjable比較,得到臨時表tempjable中已存在於目標數據表中的記錄;8)剔除臨時表tempjable中已存在於目標數據表中的記錄;9)將臨時表tempjable中剩餘的全部記錄,插入目標數據表中,並執行步驟14);10)將數據源一端的數據,組織為目標數據表結構形式,並將全部記錄保存至臨時表temp_table中;11)採用目標數據表中的約束欄位來剔除臨時表tempjable中的重複記錄;12)清空目標數據表;13)將臨時表temp_table中的全部記錄插入目標數據表中。14)記錄更新日誌。所述的步驟4)中的設定時間可以為1900年1月1日。所述的步驟6)約束欄位為一個或多個。所述的步驟11)約束欄位為一個或多個。權利要求1.一種資料庫轉換與清洗信息處理方法,其特徵在於,包括以下步驟1)目標資料庫連接至數據源;2)選擇目標資料庫中需要清洗的目標數據表;3)選擇更新方式,若為增量更新,則執行步驟4);若為全量更新,則執行步驟10);4)獲得目標數據表中最大的更新時間laSt_Update,若目標數據表為空,則last_update默認為設定時間;5)篩選數據源中更新時間大於last_update的所有記錄至一個臨時表temp_table中;6)採用目標數據表中的約束欄位來剔除臨時表temp_table中的重複記錄;7)通過目標數據表與臨時表temp_table比較,得到臨時表temp_table中已存在於目標數據表中的記錄;8)剔除臨時表temp_table中已存在於目標數據表中的記錄;9)將臨時表temp_table中剩餘的全部記錄,插入目標數據表中,並執行步驟14);10)將數據源一端的數據,組織為目標數據表結構形式,並將全部記錄保存至臨時表temp—table中;11)採用目標數據表中的約束欄位來剔除臨時表temp_table中的重複記錄;12)清空目標數據表;13)將臨時表temp_table中的全部記錄插入目標數據表中。14)記錄更新日誌。2.根據權利要求1所述的一種資料庫轉換與清洗信息處理方法,其特徵在於,所述的步驟4)中的設定時間可以為1900年1月1日。3.根據權利要求1所述的一種資料庫轉換與清洗信息處理方法,其特徵在於,所述的步驟6)約束欄位為一個或多個。4.根據權利要求1所述的一種資料庫轉換與清洗信息處理方法,其特徵在於,所述的步驟11)約束欄位為一個或多個。全文摘要本發明涉及一種資料庫轉換與清洗信息處理方法,包括1)目標資料庫連接至數據源;2)選擇目標資料庫中需要清洗的目標數據表;3)選擇更新方式,若為增量更新,則執行步驟4);若為全量更新,則執行步驟10);4)獲得目標數據表中最大的更新時間last_update,若目標數據表為空,則last_update默認為設定時間;5)篩選數據源中更新時間大於last_update的所有記錄至一個臨時表temp_table中;6)採用目標數據表中的約束欄位來剔除臨時表temp_table中的重複記錄;7)通過目標數據表與臨時表temp_table比較,得到臨時表temp_table中已存在於目標數據表中的記錄;等步驟。與現有技術相比,本發明具有有效避免在數據清洗過程中的數據重複和遺漏問題,保證數據的一致性和完整性等優點。文檔編號G06F17/30GK102411569SQ20101028797公開日2012年4月11日申請日期2010年9月20日優先權日2010年9月20日發明者雷發晶申請人:上海眾融信息技術有限公司