一種基於大數據的數據信息一致性處理方法、系統及裝置與流程
2023-09-15 04:01:30 2

本發明涉及大數據技術領域,尤其涉及一種基於大數據的數據信息一致性處理方法、系統及裝置。
背景技術:
隨著網際網路、移動網際網路的發展,數據的不斷劇增形成大數據時代的顯著特徵。企業對於大數據的重視度也在不斷加強,無論是從數據的存儲、計算和運用角度,都投入較多的人力和物力進行嘗試探索。
大數據的生產和使用的重要前提之一是數據的清洗。數據清洗是指發現並糾正數據文件中可識別的錯誤的最後一道程序,包括檢查數據一致性,處理無效值和缺失值等。因為數據倉庫中的數據是面向某一主題的數據的集合,這些數據從多個業務系統中抽取而來而且包含歷史數據,這樣就避免不了有的數據是錯誤數據、有的數據相互之間有衝突,這些錯誤的或有衝突的數據顯然是我們不想要的,稱為"髒數據"。我們要按照一定的規則把"髒數據"″洗掉",這就是數據清洗。而數據清洗的任務是過濾那些不符合要求的數據,將過濾的結果交給業務主管部門,確認是否過濾掉還是由業務單位修正之後再進行抽取。不符合要求的數據主要是有不完整的數據和重複的數據。目前,我國已經形成了基本的數據清洗技術格局,但因各自利益的追求,導致仍存在不少問題。到目前為止,數據清洗的規範和標準還沒有一個比較權威的版本。
目前常用的數據清洗的方法是,通過對瀏覽器網頁以及客戶端app使用埋點技術進行數據採集,採集平臺的訪問、觸發、提交等數據,進行結構化的存儲,形成用戶標識與行為和屬性之間的關聯關係,構建成用戶行為基礎信息庫。來自各個系統之間的數據,通過數據同步方式加載到基礎信息庫中。在數據清洗過程中,對來自各個數據源的數據進行數據一致性檢驗,需要針對各個表中的多個欄位組合來判斷數據的唯一性,過程處理複雜,執行時間過長。
因此,急需一種新的數據一致性處理方式,以減少執行時間,提供處理效率,來保障數據的及時性、準確性,從而為後續服務質量提供及時有力的保障。
技術實現要素:
本發明的主要目的在於提供一種基於大數據的數據信息一致性處理方法、系統及裝置,提供了一套通用的網際網路大數據數據一致性處理方法的應用模式,實現各類數據的一致性問題,提升數據處理效率,從而更快速的實現數據的準確性。
本發明一方面提供了一種基於大數據的數據信息一致性處理方法,包括:
獲取至少一個待處理的數據表的業務主鍵;
將所述業務主鍵轉換為統一的標準格式,生成驗證碼;
採用海明距離算法,確定所述驗證碼數據相似性;
採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;
將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;
刪除所述標識碼中的區分碼為第二區分碼的數據。
進一步的,所述業務主鍵,包括但不限於:
代表數據唯一性的欄位,或者代表數據唯一性的多個欄位的組合。
進一步的,所述將所述業務主鍵轉換為統一的標準格式,生成驗證碼,包括:
根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,通過最優驗證碼格式得到指紋數據,生成最優驗證碼格式,比較數據的一致性。
進一步的,所述根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,生成最優驗證碼格式,包括:
將所述業務主鍵進行分詞,得到n維的分詞向量,並給定每組分詞向量的權重;其中,n≥1;
計算每組分詞向量的哈希值;
計算每組哈希值的向量加權值;
將每組向量加權值合併,向量累加,精簡優化為統一的標準格式,並降維得指紋數據,生成最優驗證碼格式。
進一步的,所述採用海明距離算法,確定驗證碼的數據相似性,包括:
計算待驗證的驗證碼數據中的碼字與資料庫中的基準碼字的海明距離,根據計算的海明距離確定驗證碼的數據相似性。
進一步的,所述採用抽屜原理算法,順序生成所述驗證碼數據的標識碼,包括:
將驗證碼數據均勻分布,得到隨機組合量;
基於抽屜原理算法,計算隨機組合量與原數據的比值,計算倒排返回的驗證碼數據中的最大數量的候選結果,通過截斷索引計算候選結果的比對結果,標記為標識碼。
本發明另一方面還提供了一種基於大數據的數據信息一致性處理系統,包括:
獲取模塊,用於獲取至少一個待處理的數據表的業務主鍵;
轉換模塊,用於將所述業務主鍵轉換為統一的標準格式,生成驗證碼;
確定模塊,用於採用海明距離算法,確定所述驗證碼數據相似性;
生成模塊,用於採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;
對比模塊,用於將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;
刪除模塊,用於刪除所述標識碼中的區分碼為第二區分碼的數據。
進一步的,所述業務主鍵,包括但不限於:
代表數據唯一性的欄位,或者代表數據唯一性的多個欄位的組合。
進一步的,所述轉換模塊,包括:
轉換單元,用於根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,通過最優驗證碼格式得到指紋數據,生成最優驗證碼格式,比較數據的一致性。
進一步的,所述轉換單元,包括:
分詞單元,用於將所述業務主鍵進行分詞,得到n維的分詞向量,並給定每組分詞向量的權重;其中,n≥1;
第一計算單元,用於計算每組分詞向量的哈希值;
第二計算單元,用於計算每組哈希值的向量加權值;
優化單元,用於將每組向量加權值合併,向量累加,精簡優化為統一的標準格式,並降維得指紋數據,生成最優驗證碼格式。
進一步的,所述確定模塊,包括:
確定單元,用於計算待驗證的驗證碼數據中的碼字與資料庫中的基準碼字的海明距離,根據計算的海明距離確定驗證碼的數據相似性。
進一步的,所述生成模塊,包括:
生成單元,用於將驗證碼數據均勻分布,得到隨機組合量;基於抽屜原理算法,計算隨機組合量與原數據的比值,計算倒排返回的驗證碼數據中的最大數量的候選結果,通過截斷索引計算候選結果的比對結果,標記為標識碼。
本發明另一方面還提供了一種基於大數據的數據信息一致性處理裝置,包括前述任一項所述的系統。
本發明提供一種基於大數據的數據信息一致性處理方法、系統及裝置,該發明通過獲取至少一個待處理的數據表的業務主鍵;將所述業務主鍵轉換為統一的標準格式,生成驗證碼;採用海明距離算法,確定所述驗證碼數據相似性;採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;刪除所述標識碼中的區分碼為第二區分碼的數據。通過本發明提供的一種基於大數據的數據信息一致性處理方法、系統及裝置,提供了一套通用的網際網路大數據數據一致性處理方法的應用模式,在對多行或者多列且數據規模在億級以上的數據進行處理時,該檢查方法配置簡單、使用方便、可操作性強,並且能夠實現多行或多列的同時數據唯一性處理,節省了大量的處理時間,提高了數據處理的效率。
附圖說明
圖1為根據本發明的一種基於大數據的數據信息一致性處理方法的實施例一的流程圖;
圖2為根據本發明的一種基於大數據的數據信息一致性處理系統的實施例二的結構框圖;
圖3為根據本發明的一種基於大數據的數據信息一致性處理裝置的實施例三的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
實施例一
參照圖1,圖1示出了本發明提供的一種基於大數據的數據信息一致性處理方法的一實施例的流程圖。包括:步驟s110至步驟s160。
在步驟s110中,獲取至少一個待處理的數據表的業務主鍵。
在步驟s120中,將所述業務主鍵轉換為統一的標準格式,生成驗證碼。
在步驟s130中,採用海明距離算法,確定所述驗證碼數據相似性。
在步驟s140中,採用抽屜原理算法,順序生成所述驗證碼數據的標識碼。
在步驟s150中,將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼。
優選的,按數據記錄的創建時間進行倒序排序生成有序標識碼,將所述標識碼與排列在前的第一標識碼進行比對,當所述標識碼與所述第一標識碼相同時,將所述標識碼的區分碼記為第二區分碼。
在步驟s160中,刪除所述標識碼中的區分碼為第二區分碼的數據。
其中,刪除數據是根據主鍵合併後的值進行比對校驗的,含重複數據和不完整數據兩類。
進一步的,所述業務主鍵,包括但不限於:
代表數據唯一性的欄位,或者代表數據唯一性的多個欄位的組合。
優選的,所述業務主鍵為根據業務需求代表數據唯一性的欄位,或者為根據業務需求代表數據唯一性的多個欄位組合。
進一步的,所述將所述業務主鍵轉換為統一的標準格式,生成驗證碼,包括:
根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,通過最優驗證碼格式得到指紋數據,生成最優驗證碼格式,比較數據的一致性。驗證碼是simhash算法中最終計算得到的指紋數據,是一串數字值。
進一步的,所述根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,生成最優驗證碼格式,包括:
將所述業務主鍵進行分詞,得到n維的分詞向量,並給定每組分詞向量的權重;其中,n≥1;
計算每組分詞向量的哈希值;
計算每組哈希值的向量加權值;
將每組向量加權值合併,向量累加,精簡優化為統一的標準格式,並降維得指紋數據,生成最優驗證碼格式。
進一步的,所述採用海明距離算法,確定驗證碼的數據相似性,包括:
計算待驗證的驗證碼數據中的碼字與資料庫中的基準碼字的海明距離,根據計算的海明距離確定驗證碼的數據相似性。
其中,海明距離算法原理為:兩個碼字的對應比特取值不同的比特數稱為這兩個碼字的海明距離。在一個有效編碼集中,任意兩個碼字的海明距離的最小值稱為該編碼集的海明距離。舉例如下:10101和00110從第一位開始依次有第一位、第四、第五位不同,則海明距離為3。
海明距離應用意義為:n位的碼字可以用n維空間的超立方體的一個頂點來表示。兩個碼字之間的海明距離就是超立方體兩個頂點之間的一條邊,而且是這兩個頂點之間的最短距離。
到這裡,數據相似度問題基本解決,但是按這個思路,在海量數據幾百億的數量下,效率問題還是沒有解決的,因為數據是不斷添加進來的,不可能每來一條數據,都要和全庫的數據做一次比較,按照這種思路,處理速度會越來越慢,線性增長。
進一步的,所述採用抽屜原理算法,順序生成所述驗證碼數據的標識碼,包括:
將驗證碼數據均勻分布,得到隨機組合量;
基於抽屜原理算法,計算隨機組合量與原數據的比值,計算倒排返回的驗證碼數據中的最大數量的候選結果,通過截斷索引計算候選結果的比對結果,標記為標識碼。
海明算法是把不統一的數據進行格式化為標準數據,即為驗證碼,抽屜算法把驗證碼進行比對,比對結果即為標識碼。
抽屜原理是屬於組合數學的原理,描述為:桌上有十個蘋果,要把這十個蘋果放到九個抽屜裡,無論怎樣放,我們會發現至少會有一個抽屜裡面至少放兩個蘋果。這一現象就是我們所說的「抽屜原理」。抽屜原理的一般含義為:「如果每個抽屜代表一個集合,每一個蘋果就可以代表一個元素,假如有n+1個元素放到n個集合中去,其中必定有一個集合裡至少有兩個元素。」。
選取線上交易的應用伺服器日誌數據為樣本庫,有2^34條數據(171億數據),假設數據均勻分布,則每個16位(16個01數字隨機組成的組合為2^16個)倒排返回的最大數量為(補充說明實施例的數據來源:數據為應用伺服器日誌數據)。
2^34/2^16=2^(34-16)=262144個候選結果,4個16位截斷索引,總的結果為:4*262144=1048576,約為100多萬,通過上面優化算法後處理,原來需要比較171億次,現在只需要比較100萬次即可得到結果,這樣以來大大提升了計算效率。
本發明實施例一提供一種基於大數據的數據信息一致性處理方法,該發明通過獲取至少一個待處理的數據表的業務主鍵;將所述業務主鍵轉換為統一的標準格式,生成驗證碼;採用海明距離算法,確定所述驗證碼數據相似性;採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;刪除所述標識碼中的區分碼為第二區分碼的數據。通過本發明提供的一種基於大數據的數據信息一致性處理方法,提供了一套通用的網際網路大數據數據一致性處理方法的應用模式,在對多行或者多列且數據規模在億級以上的數據進行處理時,該檢查方法配置簡單、使用方便、可操作性強,並且能夠實現多行或多列的同時數據唯一性處理,節省了大量的處理時間,提高了數據處理的效率。
實施例二
參照圖2,圖2示出了本發明提供的一種基於大數據的數據信息一致性處理系統200實施例的結構框圖。包括:
獲取模塊21,用於獲取至少一個待處理的數據表的業務主鍵;
轉換模塊22,用於將所述業務主鍵轉換為統一的標準格式,生成驗證碼;
確定模塊23,用於採用海明距離算法,確定所述驗證碼數據相似性;
生成模塊24,用於採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;
對比模塊25,用於將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;
刪除模塊26,用於刪除所述標識碼中的區分碼為第二區分碼的數據。
進一步的,所述業務主鍵,包括但不限於:
代表數據唯一性的欄位,或者代表數據唯一性的多個欄位的組合。
進一步的,所述轉換模塊,包括:
轉換單元,用於根據simhash算法原理,結合md5算法原理中分組數據處理方式,將所述業務主鍵精簡優化為統一的標準格式,通過最優驗證碼格式得到指紋數據,生成最優驗證碼格式,比較數據的一致性。
進一步的,所述轉換單元,包括:
分詞單元,用於將所述業務主鍵進行分詞,得到n維的分詞向量,並給定每組分詞向量的權重;其中,n≥1;
第一計算單元,用於計算每組分詞向量的哈希值;
第二計算單元,用於計算每組哈希值的向量加權值;
優化單元,用於將每組向量加權值合併,向量累加,精簡優化為統一的標準格式,並降維得指紋數據,生成最優驗證碼格式。
進一步的,所述確定模塊,包括:
確定單元,用於計算待驗證的驗證碼數據中的碼字與資料庫中的基準碼字的海明距離,根據計算的海明距離確定驗證碼的數據相似性。
進一步的,所述生成模塊,包括:
生成單元,用於將驗證碼數據均勻分布,得到隨機組合量;基於抽屜原理算法,計算隨機組合量與原數據的比值,計算倒排返回的驗證碼數據中的最大數量的候選結果,通過截斷索引計算候選結果的比對結果,標記為標識碼。
具體實現的功能和處理方式參見方法實施例一描述的具體步驟。
由於本實施例二的系統所實現的處理及功能基本相應於前述圖1所示的方法的實施例、原理和實例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關說明,在此不做贅述。
本發明實施例二提供一種基於大數據的數據信息一致性處理系統,通過獲取模塊獲取至少一個待處理的數據表的業務主鍵;轉換模塊將所述業務主鍵轉換為統一的標準格式,生成驗證碼;採用海明距離算法,確定模塊確定所述驗證碼數據相似性;生成模塊採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;對比模塊將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;刪除模塊刪除所述標識碼中的區分碼為第二區分碼的數據。通過本發明提供的一種基於大數據的數據信息一致性處理系統,提供了一套通用的網際網路大數據數據一致性處理方法的應用模式,在對多行或者多列且數據規模在億級以上的數據進行處理時,該檢查方法配置簡單、使用方便、可操作性強,並且能夠實現多行或多列的同時數據唯一性處理,節省了大量的處理時間,提高了數據處理的效率。
實施例三
參照圖3,圖3示出了本發明提供的一種基於大數據的數據信息一致性處理裝置300實例的結構框圖。包括實施例二任一項所述的系統200。
本發明實施例三提供一種基於大數據的數據信息一致性處理裝置,該發明通過獲取至少一個待處理的數據表的業務主鍵;將所述業務主鍵轉換為統一的標準格式,生成驗證碼;採用海明距離算法,確定所述驗證碼數據相似性;採用抽屜原理算法,順序生成所述驗證碼數據的標識碼;將排在首位的標識碼與每個後續的標識碼進行比對,後續的標識碼與排在首位的標識碼相同時,將後續的標識碼的區分碼記為第二區分碼;刪除所述標識碼中的區分碼為第二區分碼的數據。通過本發明提供的一種基於大數據的數據信息一致性處理裝置,提供了一套通用的網際網路大數據數據一致性處理方法的應用模式,在對多行或者多列且數據規模在億級以上的數據進行處理時,該檢查方法配置簡單、使用方便、可操作性強,並且能夠實現多行或多列的同時數據唯一性處理,節省了大量的處理時間,提高了數據處理的效率。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本發明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
需要指出,根據實施的需要,可將本申請中描述的各個步驟/部件拆分為更多步驟/部件,也可將兩個或多個步驟/部件或者步驟/部件的部分操作組合成新的步驟/部件,以實現本發明的目的。
上述根據本發明的方法可在硬體、固件中實現,或者被實現為可存儲在記錄介質(諸如cdrom、ram、軟盤、硬碟或磁光碟)中的軟體或計算機代碼,或者被實現通過網絡下載的原始存儲在遠程記錄介質或非暫時機器可讀介質中並將被存儲在本地記錄介質中的計算機代碼,從而在此描述的方法可被存儲在使用通用計算機、專用處理器或者可編程或專用硬體(諸如asic或fpga)的記錄介質上的這樣的軟體處理。可以理解,計算機、處理器、微處理器控制器或可編程硬體包括可存儲或接收軟體或計算機代碼的存儲組件(例如,ram、rom、快閃記憶體等),當所述軟體或計算機代碼被計算機、處理器或硬體訪問且執行時,實現在此描述的處理方法。此外,當通用計算機訪問用於實現在此示出的處理的代碼時,代碼的執行將通用計算機轉換為用於執行在此示出的處理的專用計算機。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述權利要求的保護範圍為準。