本發(fā)明涉及數(shù)據處理,特別是一種etl過程中的數(shù)據檢測方法及系統(tǒng)。
背景技術:
1、在當前的大數(shù)據處理環(huán)境中,etl過程是將數(shù)據從源系統(tǒng)遷移到目標系統(tǒng)的關鍵環(huán)節(jié);etl過程的作用是將來自多個異構數(shù)據源的數(shù)據統(tǒng)一清洗、轉換和加載到數(shù)據倉庫或數(shù)據湖的集中式數(shù)據平臺中,為后續(xù)的數(shù)據分析和商業(yè)智能應用提供高質量的數(shù)據支撐;然而,傳統(tǒng)的etl過程往往存在一些固有的問題和挑戰(zhàn),例如由于數(shù)據源的異構性,不同來源的數(shù)據在格式、編碼、標準方面存在差異,在etl轉換過程中很容易導致數(shù)據不一致的情況出現(xiàn),此外并發(fā)處理和任務調度也可能引發(fā)數(shù)據不一致;其次,傳統(tǒng)etl過程依賴人工規(guī)則和腳本編排,對錯誤和異常的檢測和處理能力較弱,一旦錯誤數(shù)據加載到下游系統(tǒng)將難以快速發(fā)現(xiàn)和糾正;同時,etl過程往往是批量周期性執(zhí)行,無法滿足實時數(shù)據處理和分析的需求,并且etl系統(tǒng)通常是專門構建的,與企業(yè)現(xiàn)有it基礎架構耦合較深,擴展能力有限;綜上,數(shù)據不一致和錯誤的存在會嚴重影響后續(xù)數(shù)據分析的準確性,進而影響商業(yè)決策的質量,甚至可能導致重大經濟損失和法律風險,因此確保etl過程高效、可靠和實時是當前大數(shù)據環(huán)境下的重要課題。
2、但目前常見的解決方案存在諸多缺點,包括:傳統(tǒng)的etl工具通常采用硬編碼的方式處理數(shù)據轉換規(guī)則,缺乏靈活性和可擴展性,一旦源系統(tǒng)數(shù)據結構發(fā)生變化就需要重新編碼和部署etl作業(yè),耗費大量的人力和時間成本;在數(shù)據一致性方面?zhèn)鹘y(tǒng)的etl工具通常缺乏有效的一致性檢測和保障機制,數(shù)據在提取、轉換和加載過程中可能會出現(xiàn)多種不一致情況,難以被及時發(fā)現(xiàn)和糾正,導致數(shù)據質量下降;etl過程涉及大量復雜的數(shù)據操作,錯誤和異常情況時有發(fā)生,但大多數(shù)etl工具缺乏有效的錯誤檢測和報警機制,無法及時發(fā)現(xiàn)和響應異常,導致數(shù)據處理延遲或失敗。
技術實現(xiàn)思路
1、鑒于對etl過程中的數(shù)據進行處理時,現(xiàn)有技術中通常采用硬編碼的方式處理數(shù)據轉換規(guī)則,缺乏靈活性和可擴展性,缺乏有效的一致性檢測和保障機制,無法及時發(fā)現(xiàn)和響應異常,導致數(shù)據處理延遲或失敗等問題,提出了本發(fā)明。
2、因此,本發(fā)明所要解決的問題在于如何提供一種可配置的數(shù)據轉換規(guī)則,使系統(tǒng)能夠適應不同的業(yè)務需求,設計數(shù)據一致性保障機制,確保在數(shù)據轉換和加載過程中數(shù)據的一致性,對etl過程中的數(shù)據錯誤進行實時監(jiān)測,并通過報警系統(tǒng)通知相關人員的方法。
3、為解決上述技術問題,本發(fā)明提供如下技術方案:
4、第一方面,本發(fā)明實施例提供了一種etl過程中的數(shù)據檢測方法,其包括利用可配置的數(shù)據轉換規(guī)則對采集的源系統(tǒng)數(shù)據進行數(shù)據轉換,并對轉換后的數(shù)據進行數(shù)據加載;對所述數(shù)據轉換和所述數(shù)據加載進行數(shù)據一致性檢測,制定數(shù)據一致性保障機制;對etl過程中的數(shù)據進行錯誤檢測和異常報警。
5、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述制定數(shù)據一致性保障機制包括數(shù)據校驗算法和數(shù)據對比算法;所述進行數(shù)據一致性檢測包括以下步驟:利用數(shù)據校驗算法對所述采集的源系統(tǒng)數(shù)據進行一致性校驗;利用數(shù)據對比算法對所述采集的源系統(tǒng)數(shù)據和所述轉換后的數(shù)據進行一致性對比;基于所述數(shù)據校驗算法和所述數(shù)據對比算法輸出數(shù)據一致性保障的結果并制定數(shù)據一致性保障策略。
6、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述數(shù)據校驗算法的計算公式如下:
7、
8、其中,h(di)為第i條源系統(tǒng)數(shù)據di的哈希值;dik為第i條源系統(tǒng)數(shù)據di中的第k個元素;k為第i條源系統(tǒng)數(shù)據di的維度;所述數(shù)據對比算法的計算公式如下:
9、
10、其中,d(dj,tj)為第j條源系統(tǒng)數(shù)據dj與第j條轉換后的數(shù)據tj的差分對比值;l為第j條轉換后的數(shù)據tj的維度;djl為第j條源系統(tǒng)數(shù)據dj中的第l個元素;tjl為第j條轉換后的數(shù)據tj中的第l個元素;ε為正數(shù)。
11、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述數(shù)據一致性保障策略包括:若哈希值h(di)小于第一閾值,則判定采集的源系統(tǒng)數(shù)據具有一致性,進行數(shù)據轉換步驟;若哈希值h(di)大于等于第一閾值,則判定采集的源系統(tǒng)數(shù)據不具有一致性,重新采集源系統(tǒng)數(shù)據并進行一致性校驗,若哈希值h(di)連續(xù)n次大于第一閾值,則對數(shù)據源進行檢查后再采集源系統(tǒng)數(shù)據;反之則進行后續(xù)的數(shù)據轉換步驟;若差分對比值d(dj,tj)小于第二閾值,則判定轉換后的數(shù)據與源系統(tǒng)數(shù)據之間具有一致性,進行數(shù)據加載步驟;若差分對比值d(dj,tj)大于等于第二閾值,則判定轉換后的數(shù)據與源系統(tǒng)數(shù)據之間不具有一致性,重新進行數(shù)據轉換步驟并進行差分對比值d(dj,tj)判斷,若差分對比值d(dj,tj)連續(xù)m次大于第二閾值,則判定源系統(tǒng)數(shù)據錯誤,重新采集源系統(tǒng)數(shù)據;反之則進行數(shù)據加載步驟。
12、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述錯誤檢測和異常報警包括以下步驟:利用實時數(shù)據流分析技術對etl過程中的數(shù)據進行實時監(jiān)測;對監(jiān)測的數(shù)據進行異常類型判斷,構建異常檢測模型;基于異常類型判斷結果制定報警機制;所述異常類型包括數(shù)據缺失、數(shù)據異常和數(shù)據重復;所述數(shù)據缺失的計算公式如下:
13、
14、其中,mg為第g個數(shù)據監(jiān)測點的數(shù)據缺失率;xgw為第g個數(shù)據監(jiān)測點的第w次數(shù)據監(jiān)測結果;n為監(jiān)測次數(shù);所述數(shù)據異常的計算公式如下:
15、
16、其中,eg為第g個數(shù)據監(jiān)測點的數(shù)據異常程度;為第g個數(shù)據監(jiān)測點的均值;σg為第g個數(shù)據監(jiān)測點的標準差;所述數(shù)據重復的計算公式如下:
17、
18、其中,rg為第g個數(shù)據監(jiān)測點的數(shù)據重復率;xgw為第g個數(shù)據監(jiān)測點的第w次數(shù)據監(jiān)測結果;xgq為第g個數(shù)據監(jiān)測點的第q次數(shù)據監(jiān)測結果。
19、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述報警機制包括:若數(shù)據缺失率mg不等于q,則判定出現(xiàn)數(shù)據缺失情況,系統(tǒng)立即進行報警,向運維人員發(fā)送數(shù)據缺失信息的郵件和短信并記錄錯誤日志;若數(shù)據異常程度eg大于第三閾值,則判定出現(xiàn)數(shù)據異常情況,系統(tǒng)持續(xù)監(jiān)測數(shù)據異常的位置并向運維人員發(fā)送數(shù)據異常信息的郵件和短信,記錄錯誤信息;若數(shù)據異常程度eg小于等于第三閾值,則判定未出現(xiàn)數(shù)據異常情況,系統(tǒng)繼續(xù)監(jiān)測數(shù)據并進行異常判斷;若數(shù)據重復率rg大于第四閾值,則判定出現(xiàn)數(shù)據重復情況,系統(tǒng)重新進行對應位置的數(shù)據處理操作,并向運維人員發(fā)送數(shù)據重復信息的郵件和短信。
20、作為本發(fā)明所述etl過程中的數(shù)據檢測方法的一種優(yōu)選方案,其中:所述采集的源系統(tǒng)數(shù)據為利用分布式數(shù)據提取技術對關系數(shù)據庫、非關系數(shù)據庫和文件系統(tǒng)進行數(shù)據提取;所述數(shù)據轉換為利用可配置的數(shù)據轉換規(guī)則對源系統(tǒng)數(shù)據進行數(shù)據轉換;所述可配置的數(shù)據轉換規(guī)則包括數(shù)據解析規(guī)則、數(shù)據過濾規(guī)則、數(shù)據清洗規(guī)則、數(shù)據轉換規(guī)則、數(shù)據計算規(guī)則、數(shù)據關聯(lián)規(guī)則以及數(shù)據加載規(guī)則;所述數(shù)據加載為利用并行加載技術和數(shù)據分片技術將轉換后的數(shù)據加載到目標系統(tǒng)中。
21、第二方面,本發(fā)明為進一步解決數(shù)據處理中存在的安全問題,實施例提供了一種etl過程中的數(shù)據檢測系統(tǒng),其包括:數(shù)據提取模塊,用于利用分布式數(shù)據提取技術從源系統(tǒng)中提取數(shù)據,并處理多種數(shù)據源和數(shù)據格式;數(shù)據轉換模塊,用于利用可配置的數(shù)據轉換規(guī)則對采集的源系統(tǒng)數(shù)據進行數(shù)據轉換;數(shù)據加載模塊,用于利用并行加載技術和數(shù)據分片技術將轉換后的數(shù)據加載到目標系統(tǒng)中,并進行數(shù)據分片和分區(qū);一致性保障模塊,用于利用數(shù)據一致性保障機制對數(shù)據提取、數(shù)據轉換和數(shù)據加載中的數(shù)據進行一致性保障;檢測報警模塊,用于利用實時數(shù)據流分析技術對etl過程中的數(shù)據錯誤進行實時監(jiān)測,并通過報警系統(tǒng)通知相關人員。
22、第三方面,本發(fā)明實施例提供了一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其中:所述計算機程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明第一方面所述的一種etl過程中的數(shù)據檢測方法的任一步驟。
23、第四方面,本發(fā)明實施例提供了一種計算機可讀存儲介質,其上存儲有計算機程序,其中:所述計算機程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明第一方面所述的一種etl過程中的數(shù)據檢測方法的任一步驟。
24、本發(fā)明有益效果為:本發(fā)明提供一種可配置的數(shù)據轉換規(guī)則,使系統(tǒng)能夠適應不同的業(yè)務需求,提高了轉換規(guī)則的靈活性和可擴展性,降低了維護成本;通過設計一種基于規(guī)則和算法的數(shù)據一致性保障機制,確保在數(shù)據轉換和加載過程中數(shù)據的一致性,有效防止數(shù)據一致性錯誤問題,從而確保數(shù)據質量;引入實時數(shù)據流分析技術,對etl過程中的數(shù)據錯誤進行實時監(jiān)測,并通過報警系統(tǒng)及時通知相關人員,提高etl過程的穩(wěn)定性和可靠性。