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