本申請涉及互聯網信息處理技術,尤其涉及一種數據處理方法和設備。
背景技術:
:數據倉庫是一個面向主題的(英文:SubjectOriented)、集成的(英文:Integrated)、相對穩定的(英文:Non-Volatile)、反映歷史變化(英文:TimeVariant)的數據集合。在數據倉庫中將結構化的數據文件映射為一張數據表。數據倉庫中的數據是在對原有分散數據庫中的數據執行數據抽取、數據清理等基礎操作之上經過系統加工、匯總和整理得到的,這樣能夠保證數據倉庫中的數據消除了源數據的不一致性。在實際應用中,一個業務對應的多個業務數據可能會在多個不同系統中出現,而系統之間交互的時間差又可能導致該業務數據在不同系統的數據表中存儲的時間出現跨天的情況,這種現象稱為數據漂移。例如:一個業務為一個訂單業務,那么在表1中產生一組與該訂單業務有關的數據:產生時間、該訂單業務的訂單信息以及支付事件信息,對應的產生時間為1號23:59:00;在表2中產生一組與該訂單業務有關的數據:產生時間、該訂單業務的訂單信息以及支付金額信息,對應的產生時間為2號00:00:00,由此可見,該訂單業務的業務數據發生數據漂移。然而系統之間的業務數據發生數據漂移不可避免,那么在將不同系統內的業務數據同步至數據倉庫中,如何有效地避免因為數據漂移導致業務數據累加過程中出現遺漏累加成為亟需解決的問題。正是由于數據漂移使得數據倉庫中通過累加得到的業務數據的準確性較低。技術實現要素:有鑒于此,本申請實施例提供了一種數據處理方法和設備,用于解決現有技術中存在的如何有效地避免因為數據漂移導致業務數據累加過程中出現遺漏累加的問題。一種數據處理方法,包括:獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,其中,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容;在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,其中,所述第一數據表與所述第二數據表不同;將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作。一種數據處理設備,包括:獲取單元,用于獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,其中,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容;所述獲取單元,還用于在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,其中,所述第一數據表與所述第二數據表不同;處理單元,用于將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作。本申請有益效果如下:本申請實施例獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述 業務數據的第一數據內容;在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,所述第一數據表與所述第二數據表不同;將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作,這樣,數據倉庫在進行數據清洗之前,判斷獲取的業務數據是否發生數據漂移,并在確定業務數據發生數據漂移時,獲取發生數據漂移的業務數據的數據內容,進而對業務數據的數據內容進行合并,有效地避免了因為數據漂移導致業務數據合并過程中出現遺漏累加的問題,有效提升了數據倉庫中存儲的業務數據的準確性,同時簡化了數據倉庫中數據同步方式,有效地提升了數據倉庫中數據處理效率。附圖說明為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請實施例提供的一種數據處理方法的流程示意圖;圖2為本申請實施例提供的一種數據處理設備的結構示意圖。具體實施方式為了實現本申請實施例的目的,本申請實施例提供了一種數據處理方法和設備,獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容;在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據 相關聯的第二數據內容,所述第一數據表與所述第二數據表不同;將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作,這樣,數據倉庫在進行數據清洗之前,判斷獲取的業務數據是否發生數據漂移,并在確定業務數據發生數據漂移時,獲取發生數據漂移的業務數據的數據內容,進而對業務數據的數據內容進行合并,有效地避免了因為數據漂移導致業務數據合并過程中出現遺漏累加的問題,有效提升了數據倉庫中存儲的業務數據的準確性,同時簡化了數據倉庫中數據同步方式,有效地提升了數據倉庫中數據處理效率。需要說明的是,本申請實施例中所述的數據清洗是指數據倉庫對抽取到的數據進行清洗,發現并糾正數據中存在的錯誤。一般包括檢查數據的一致性、對出現無效值或者缺失值的數據進行處理。這里的處理可以包含刪除。本申請實施例可以被應用于針對多階段的業務,例如:分期付款業務,或者需要執行多次操作的業務等等。下面結合說明書附圖對本申請各個實施例作進一步地詳細描述。顯然,所描述的實施例僅僅是本申請的一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本申請保護的范圍。圖1為本申請實施例提供的一種數據處理方法的流程示意圖。所述方法可以如下所述。本申請實施例的執行主體可以是數據倉庫。步驟101:獲取第一數據表中存儲的與目標業務相關聯的多組數據信息。其中,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容。在步驟101中,由于數據倉庫具備對大量數據進行管理的能力,各個分散系統采集到的業務數據需要在指定的數據同步時間同步至數據倉庫,以實現數據倉庫對大量數據的管理。數據倉庫的功能可以通過一些工具實現,例如:開放數據處理服務(英文: OpenDataProcessingService;縮寫:ODPS);Hive工具等等。需要說明的是,Hive是一種基于Hadoop的開源數據倉庫工具,可將結構化的數據文件映射為一張數據表,并能夠提供簡單的SQL查詢功能,還可以將SQL語句轉換為MapReduce任務進行運行。數據倉庫在完成數據同步時,一般需要經過數據抽取和數據清洗這兩個階段。其中,數據抽取是指數據倉庫從分散系統中采集每一個系統在指定時間內采集的業務數據。需要說明的是,指定時間可以根據實際需要確定,也可以根據系統要求設定,例如:每天的00:00:00~23:59:59。數據倉庫執行數據同步的時間可以是定時的,也可以是周期性的,例如:設置為每天00:00:00~00:30:00;或者設置為每周一00:00:00~00:30:00等等。假設數據倉庫執行數據同步的時間設置為每天的00:00:00~00:30:00,那么在這個時間段內,數據倉庫從分散系統中抽取在前一天內采集的業務數據。例如:在2號的00:00:00~00:30:00,數據倉庫從分散系統中抽取在1號采集的業務數據。通常分散系統采用表的方式存儲一天采集的業務數據。這樣,數據倉庫在執行數據同步時,從第一數據表中獲取與目標業務相關聯的多組數據信息。在第一數據表中,針對不同業務,為每一個業務產生的每一個業務數據生成數據信息,即包含業務的業務標識、業務數據的產生時間以及該產生時間內產生的業務數據的數據內容等。由于在實際應用中,由于業務數據的數據內容會出現跨天產生的情況,導致業務數據內容發生數據漂移的現象,即針對目標業務的業務數據,業務數據的變更時間發生在1號23:59:59;但是針對該變更對應的數據內容發生在2號00:00:00。在系統中,對于2號00:00:00產生的數據內容存在被視為無效數據的可能性,在執行數據清洗時,該數據將被清洗,這樣導致目標業務的業務數據不完整。步驟102:針對其中一組數據信息,判斷所述目標業務的業務數據是否在所述第一數據表中發生數據漂移;若發生數據漂移,則執行步驟103;若尚未發生數據漂移,則按照現有技術方案進行數據抽取。在步驟102中,針對其中一組數據信息,根據所述數據信息中包含的所述目標業務的業務數據的產生時間,判斷所述目標業務的業務數據的產生時間是否包含在預設第一時間范圍之內。其中,所述預設第一時間范圍根據數據倉庫從不同的系統數據庫中抽取業務數據的時間確定。若判斷結果是所述目標業務的業務數據的產生時間包含在預設第一時間范圍之內,則確定所述目標業務的業務數據在所述第一數據表中發生數據漂移。具體地,針對第一數據表中的一組數據信息,假設一組數據信息中業務數據內容為空,此時根據該數據信息中的業務數據的產生時間,進一步確定該數據信息中的業務數據的產生時間是否包含在預設第一時間范圍之內,若該數據信息中的業務數據的產生時間包含在預設第一時間范圍之內,則可以確定該數據信息中的業務數據在第一數據表中發生數據漂移。例如:數據倉庫從不同的系統數據庫中抽取業務數據的時間確定為00:00:00~00:30:00,那么預設第一時間范圍可以確定為:23:59:50~23:59:59,一旦所述目標業務的業務數據的產生時間包含在23:59:50~23:59:59之內,則確定所述目標業務的業務數據在所述第一數據表中發生數據漂移。步驟103:在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容。其中,所述第一數據表與所述第二數據表不同。在步驟103中,由于數據漂移之后,業務數據的數據內容可能被存儲在另一張數據表中,那么從第二數據表中獲取發生數據漂移的與所述目標業務的所 述業務數據相關聯的第二數據內容。具體地,從第二數據表中查找在預設第二時間范圍內產生的,且與所述目標業務相關聯的數據內容,其中,所述預設第二時間范圍用于表征數據倉庫從不同的系統數據庫中抽取業務數據;在確定查找的數據內容與所述目標業務的所述業務數據相關聯時,將查找到的數據內容作為發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容。需要說明的是,所述預設第一時間范圍與所述預設第二時間范圍不同,但預設第一時間范圍與預設第二時間范圍之間的時間差滿足設定閾值。所述設定閾值可以根據實際需要確定,也可以根據數據漂移的特性確定。即首先從其他數據表中查找包含目標業務的業務標識的數據表(這里假設是第二數據表);其次,從第二數據表中查找在預設第二時間范圍內產生的,且與所述目標業務相關聯的數據內容,即根據第二數據表中包含的業務數據的產生時間,確定產生時間包含在預設第二時間范圍內的業務數據,并從確定的業務數據中確定出與第一數據表中發生數據漂移的數據內容。如表1所示,為第一數據表和第二數據表的示意表:表1步驟104:將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作。在步驟104中,針對抽取到的業務數據,將所述業務數據的第一數據內容 與所述業務數據的第二數據內容進行合并,得到該業務數據的完整數據內容。在本申請的另一個實施例中,數據倉庫在完成數據抽取之后,需要更新歷史數據,因此,數據倉庫再次獲取所述目標業務的所述業務數據的歷史數據內容;并將所述歷史數據內容、獲取的所述業務數據的第一數據內容以及所述業務數據的第二數據內容進行合并。在本申請的另一個實施例中,數據倉庫在抽取到第一數據表中的數據信息時,對于尚未發生數據漂移的業務數據,可以首先將所述目標業務的所述業務數據的歷史數據內容與獲取的所述業務數據的第一數據內容進行合并;其次在將合并結果與獲取到的所述業務數據的第二數據內容進行合并。通過本申請實施例提供的數據處理方法,獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容;在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,所述第一數據表與所述第二數據表不同;將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作,這樣,數據倉庫在進行數據清洗之前,判斷獲取的業務數據是否發生數據漂移,并在確定業務數據發生數據漂移時,獲取發生數據漂移的業務數據的數據內容,進而對業務數據的數據內容進行合并,有效地避免了因為數據漂移導致業務數據合并過程中出現遺漏累加的問題,有效提升了數據倉庫中存儲的業務數據的準確性。例如:針對目標業務存在以下幾組數據信息,如表2所示:表2目標業務的業務標識產生時間業務數據數據內容11111號11:59:59支付1011112號23:59:59支付空11113號00:00:00空20若數據倉庫抽取業務數據的時間為2號00:00:00~00:30:00,由于業務數據的產生時間為1號11:59:59,不包含在預設第一時間范圍(23:59:50~23:59:59)之內,那么抽取到目標業務的業務數據的數據內容為10;若數據倉庫抽取業務數據的時間為3號00:00:00~00:30:00,由于業務數據的產生時間為2號23:59:59,包含在預設第一時間范圍(23:59:50~23:59:59)之內,那么確定該業務數據發生數據漂移,此時需要進一步地從預設第二時間范圍(00:00:00~00:15:00)之內確定發生數據漂移的業務數據的數據內容,即獲取到20,這樣,數據倉庫可以相對準確到該目標業務的業務數據,也不會因為數據信息中因為缺失內容而導致該數據信息無效,有效地避免了因為數據漂移導致業務數據合并過程中出現遺漏累加的問題,有效提升了數據倉庫中存儲的業務數據的準確性。圖2為本申請實施例提供的一種數據處理設備的結構示意圖。所述數據處理設備包括:獲取單元21和處理單元22,其中:獲取單元21,用于獲取第一數據表中存儲的與目標業務相關聯的多組數據信息,其中,每一組所述數據信息中包含所述目標業務的業務數據的產生時間以及所述業務數據的第一數據內容;所述獲取單元21,還用于在確定所述目標業務的業務數據在所述第一數據表中發生數據漂移時,從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,其中,所述第一數據表與所述第二數據表不同;處理單元22,用于將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,對合并后的數據內容執行數據清洗操作。具體地,所述獲取單元21確定所述目標業務的業務數據在所述第一數據表中發生數據漂移,包括:針對其中一組數據信息,根據所述數據信息中包含的所述目標業務的業務 數據的產生時間,判斷所述目標業務的業務數據的產生時間是否包含在預設第一時間范圍之內,其中,所述預設第一時間范圍根據數據倉庫從不同的系統數據庫中抽取業務數據的時間確定;若判斷結果是所述目標業務的業務數據的產生時間包含在預設第一時間范圍之內,則確定所述目標業務的業務數據在所述第一數據表中發生數據漂移。具體地,所述獲取單元21從第二數據表中獲取發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容,包括:從第二數據表中查找在預設第二時間范圍內產生的,且與所述目標業務相關聯的數據內容,其中,所述預設第二時間范圍用于表征數據倉庫從不同的系統數據庫中抽取業務數據;在確定查找的數據內容與所述目標業務的所述業務數據相關聯時,將查找到的數據內容作為發生數據漂移的與所述目標業務的所述業務數據相關聯的第二數據內容。具體地,所述處理單元22將獲取的所述業務數據的第一數據內容與所述業務數據的第二數據內容進行合并,包括:獲取所述目標業務的所述業務數據的歷史數據內容;將所述歷史數據內容、獲取的所述業務數據的第一數據內容以及所述業務數據的第二數據內容進行合并。需要說明的是,本申請實施例提供的設備可以通過硬件方式實現,也可以通過軟件方式實現,這里不做限定,所述設備在進行數據清洗之前,判斷獲取的業務數據是否發生數據漂移,并在確定業務數據發生數據漂移時,獲取發生數據漂移的業務數據的數據內容,進而對業務數據的數據內容進行合并,有效地避免了因為數據漂移導致業務數據合并過程中出現遺漏累加的問題,有效提升了數據倉庫中存儲的業務數據的準確性。本領域的技術人員應明白,本申請的實施例可提供為方法、裝置(設備)、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。本申請是參照根據本申請實施例的方法、裝置(設備)和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請范圍的所有變更和修改。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本申請的范圍。這樣,倘若本申請的這些修改和變型屬于本申請權利要求及其等同技術的范圍之內,則本申請也意圖包含這些改動和變型在內。當前第1頁1 2 3