本發(fā)明涉及數(shù)據(jù)處理,尤其是指一種海量數(shù)據(jù)對比方法、裝置、設(shè)備及計(jì)算機(jī)存儲介質(zhì)。
背景技術(shù):
1、在現(xiàn)有技術(shù)的海量數(shù)據(jù)對比方法包括以下幾種方案:
2、通過查找主庫、備份數(shù)據(jù)庫間各表的各個字段數(shù)據(jù)的差異,只需要遍歷一次文件就能得到比對結(jié)果,并且就能夠高效地完成海量數(shù)據(jù)的主、備數(shù)據(jù)庫之間的數(shù)據(jù)檢查,解決了數(shù)據(jù)庫間直接比對的低效率和高成本問題以及一般merge比對工具無法對海量數(shù)據(jù)比對的問題。
3、基于hadoop云平臺,將海量數(shù)據(jù)分為若干份,并利用分布式文件系統(tǒng)進(jìn)行調(diào)度分段數(shù)據(jù)的對比操作,一次性對比海量的數(shù)據(jù),基于大數(shù)據(jù)平臺的性能高效實(shí)施,解決了常規(guī)數(shù)據(jù)庫之間對比的內(nèi)存和性能問題,以及一般數(shù)據(jù)對比工具的無法操作海量數(shù)據(jù)對比問題。
4、讀取多數(shù)據(jù)源,通過預(yù)設(shè)的數(shù)據(jù)卸數(shù)規(guī)則進(jìn)行預(yù)處理,根據(jù)數(shù)據(jù)類型和內(nèi)容分塊存儲并進(jìn)行標(biāo)識,后續(xù)對比項(xiàng)目標(biāo)識相同的分塊數(shù)據(jù),該方法用于解決系統(tǒng)重構(gòu)過程中的新老系統(tǒng)海量數(shù)據(jù)比對所帶來的種種問題,高效解決對特定行業(yè)領(lǐng)域的數(shù)據(jù)新舊數(shù)據(jù)源,數(shù)據(jù)格式不統(tǒng)一、映射規(guī)則復(fù)雜的數(shù)據(jù)對比。
5、目前隨著電信產(chǎn)業(yè)、業(yè)務(wù)的高速發(fā)展,服務(wù)開通方式和受理渠道的多樣化,業(yè)務(wù)訂購、服務(wù)開通,涉及的網(wǎng)元數(shù)據(jù)交付操作業(yè)務(wù)規(guī)則也變得相對復(fù)雜。支付、平臺和業(yè)務(wù)系統(tǒng)之間各網(wǎng)元的用戶、業(yè)務(wù)局?jǐn)?shù)據(jù)產(chǎn)生差異,業(yè)務(wù)、計(jì)費(fèi)以及服務(wù)的問題日漸突出,成為服務(wù)質(zhì)量問題,逐漸轉(zhuǎn)變?yōu)橹晤惖呢?zé)任問題等。對此,數(shù)據(jù)一致性問題也被越來越重視,各大運(yùn)營商對數(shù)據(jù)質(zhì)量要求也越來越高。而支付、平臺和業(yè)務(wù)系統(tǒng)之間的網(wǎng)元數(shù)據(jù)量又尤為巨大,如無法在短時進(jìn)行數(shù)據(jù)稽核,如多次或者拉長稽核周期,比對的數(shù)據(jù)又存在時差,造成比對結(jié)果不正確等。
6、然而,現(xiàn)有技術(shù)中海量對比方法存在以下缺點(diǎn):
7、現(xiàn)有技術(shù)處理數(shù)據(jù)一次性操作海量數(shù)據(jù),當(dāng)數(shù)據(jù)量達(dá)到數(shù)億、數(shù)十億級,對處理計(jì)算環(huán)境性能造成影響,會導(dǎo)致無法完成數(shù)據(jù)稽核操作或低效、卡頓異常等情況;
8、現(xiàn)有計(jì)算處理數(shù)據(jù)基本基于單機(jī)主機(jī)、受限于單主機(jī)資源、內(nèi)存等限制,稽核效率較低,尤其當(dāng)數(shù)據(jù)對比算法效率不高時,傳統(tǒng)的數(shù)據(jù)稽核引擎無法達(dá)到用戶的稽核要求;
9、現(xiàn)有計(jì)算處理數(shù)據(jù)方法基于行業(yè)數(shù)據(jù)提出特定數(shù)據(jù)算法,算法低效單一、操作實(shí)施環(huán)境單一,無法高效準(zhǔn)確匹配處理多樣化數(shù)據(jù),不滿足實(shí)際復(fù)雜多樣的數(shù)據(jù)需求。
10、綜上所述,我們需要一種快速、高效、準(zhǔn)確的數(shù)據(jù)對比方法來進(jìn)行數(shù)據(jù)稽核。
技術(shù)實(shí)現(xiàn)思路
1、為此,本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)中效率和準(zhǔn)確度低的問題。
2、為解決上述技術(shù)問題,本發(fā)明提供了一種海量數(shù)據(jù)對比方法,包括:
3、步驟1:獲取目標(biāo)數(shù)據(jù),采用分治法對所述目標(biāo)數(shù)據(jù)進(jìn)行分解特征提取,得到多個不同特征的獨(dú)立稽核數(shù)據(jù);
4、步驟2:利用分片排序算法及窮盡平移遞增比較方法或key-value形式的一致性比較方法對多個獨(dú)立稽核數(shù)據(jù)進(jìn)行一致性比較分析,并合并多個數(shù)據(jù)一致性比較結(jié)果,得到數(shù)據(jù)相同列表、主稽查數(shù)據(jù)不同列表和被稽查數(shù)據(jù)不同列表;
5、步驟3:對所述主稽查數(shù)據(jù)不同列表和所述被稽查數(shù)據(jù)不同列表重復(fù)步驟1-2的內(nèi)容進(jìn)行校驗(yàn),并將校驗(yàn)結(jié)果和所述數(shù)據(jù)相同列表進(jìn)行合并,得到最終的數(shù)據(jù)對比結(jié)果。
6、優(yōu)選地,所述采用分治法對所述目標(biāo)數(shù)據(jù)進(jìn)行分解特征提取包括:
7、設(shè)置多個分解特征;
8、根據(jù)所述多個分解特征對所述目標(biāo)數(shù)據(jù)進(jìn)行遞歸提取。
9、優(yōu)選地,所述利用分片排序算法及窮盡平移遞增比較方法或key-value形式的一致性比較方法對多個獨(dú)立稽核數(shù)據(jù)進(jìn)行一致性比較分析包括:
10、當(dāng)所述多個獨(dú)立稽核數(shù)據(jù)具備可排序特征或數(shù)據(jù)數(shù)量大于第一預(yù)設(shè)閾值時,采用所述分片排序算法及窮盡平移遞增比較方法;
11、當(dāng)所述多個獨(dú)立稽核數(shù)據(jù)的可排序特征顯著性低于第二預(yù)設(shè)閾值且數(shù)據(jù)數(shù)量小于所述第一預(yù)設(shè)閾值時,采用所述key-value形式的一致性比較方法。
12、優(yōu)選地,所述利用分片排序算法及窮盡平移遞增比較方法對多個獨(dú)立稽核數(shù)據(jù)進(jìn)行一致性比較分析包括:
13、對所述多個獨(dú)立稽核數(shù)據(jù)定義排序關(guān)鍵字;
14、將每個獨(dú)立稽核數(shù)據(jù)分化為一個或多個片段,并從中讀取主稽查數(shù)據(jù)片段和被稽查數(shù)據(jù)片段;
15、根據(jù)所述排序關(guān)鍵詞分別對獲得的多個主稽查數(shù)據(jù)片段和多個被稽查數(shù)據(jù)片段進(jìn)行排序,得到主稽查有序數(shù)據(jù)片段列表和被稽查有序數(shù)據(jù)片段列表;
16、從頭到尾依次對主稽查有序數(shù)據(jù)片段列表和被稽查有序數(shù)據(jù)片段列表中的主稽查數(shù)據(jù)片段和被稽查數(shù)據(jù)片段進(jìn)行讀取和比較;
17、若二者比較相同,則記錄到數(shù)據(jù)相同列表中,若主稽查數(shù)據(jù)片段大于被稽查數(shù)據(jù)片段,則記錄到被稽查數(shù)據(jù)不同列表中,若主稽查數(shù)據(jù)片段小于被稽查數(shù)據(jù)片段,則記錄到主稽查數(shù)據(jù)不同列表中。
18、優(yōu)選地,所述將每個獨(dú)立稽核數(shù)據(jù)分化為一個或多個片段包括:
19、將每個獨(dú)立稽核數(shù)據(jù)作為整個分片或根據(jù)分治法將每個獨(dú)立稽核數(shù)據(jù)分化為多個片段。
20、優(yōu)選地,所述利用key-value形式的一致性比較方法對多個獨(dú)立稽核數(shù)據(jù)進(jìn)行一致性比較分析包括:
21、對每個獨(dú)立稽核數(shù)據(jù)定義關(guān)鍵字段key,并通過所述關(guān)鍵字段映射行全量數(shù)據(jù)value;
22、從多個獨(dú)立稽核數(shù)據(jù)中讀取主稽查數(shù)據(jù)片段和被稽查數(shù)據(jù)片段;
23、將每個主稽查數(shù)據(jù)片段以key-value的方式進(jìn)行存儲;
24、從頭到尾依次對排序后的多個被稽查數(shù)據(jù)片段進(jìn)行讀取,并計(jì)算對應(yīng)關(guān)鍵字段的哈希值,根據(jù)所述哈希值判斷是否存在同樣關(guān)鍵字段的主稽查數(shù)據(jù)片段;
25、若存在,則記錄在數(shù)據(jù)相同列表中,若不存在,則記錄在被稽查數(shù)據(jù)不同列表中,所述被稽查數(shù)據(jù)片段讀取完畢后,剩余的主稽查數(shù)據(jù)片段記錄在主稽查數(shù)據(jù)不同列表中。
26、優(yōu)選地,所述海量數(shù)據(jù)對比方法應(yīng)用于hadoop大數(shù)據(jù)平臺,包括:
27、設(shè)置獨(dú)立稽核數(shù)據(jù)任務(wù);
28、通過mapreduce提交所述獨(dú)立稽核數(shù)據(jù)任務(wù);
29、在jobtracker收到tasktracker資源管理匯報的資源情況為空閑后,利用jobtracker分配任務(wù)請求并進(jìn)行任務(wù)調(diào)度,執(zhí)行一致性比較分析和校驗(yàn)作業(yè);
30、當(dāng)隊(duì)列中的任務(wù)全部完成作業(yè)后,合并一致性結(jié)果列表。
31、本發(fā)明還提供了一種海量數(shù)據(jù)對比裝置,包括:
32、數(shù)據(jù)分治提取模塊,用于獲取目標(biāo)數(shù)據(jù),采用分治法對所述目標(biāo)數(shù)據(jù)進(jìn)行分解特征提取,得到多個不同特征的獨(dú)立稽核數(shù)據(jù);
33、一致性比較分析模塊,用于利用分片排序算法及窮盡平移遞增比較方法或key-value形式的一致性比較方法對多個獨(dú)立稽核數(shù)據(jù)進(jìn)行一致性比較分析,并合并多個數(shù)據(jù)一致性比較結(jié)果,得到數(shù)據(jù)相同列表、主稽查數(shù)據(jù)不同列表和被稽查數(shù)據(jù)不同列表;
34、結(jié)果驗(yàn)證和輸出模塊,用于對所述主稽查數(shù)據(jù)不同列表和所述被稽查數(shù)據(jù)不同列表重復(fù)所述數(shù)據(jù)分治提取模塊和所述一致性比較分析模塊中的內(nèi)容進(jìn)行校驗(yàn),并將校驗(yàn)結(jié)果和所述數(shù)據(jù)相同列表進(jìn)行合并,得到最終的數(shù)據(jù)對比結(jié)果。
35、本發(fā)明還提供了一種海量數(shù)據(jù)對比設(shè)備,包括:
36、存儲器,用于存儲計(jì)算機(jī)程序;
37、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)上述一種海量數(shù)據(jù)對比方法步驟。
38、本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述一種海量數(shù)據(jù)對比方法的步驟。
39、本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
40、本發(fā)明所述的海量數(shù)據(jù)對比方法,采用分治思想的數(shù)據(jù)比對方案,將數(shù)據(jù)分化為更合理且可高效處理的片段,并根據(jù)數(shù)據(jù)特征,提供了可選擇的兩種稽查方法,最后,還進(jìn)行了準(zhǔn)確性校驗(yàn),將獨(dú)立的分析結(jié)果進(jìn)行合并,得到最終的對比結(jié)果;本發(fā)明所提供方法,達(dá)到了高效和高精確度的要求。