本發(fā)明涉及大數據領域,具體涉及一種基于布隆過濾器的大數據比對方法、裝置、計算設備和計算機存儲介質。
背景技術:
1、隨著移動互聯(lián)網技術的發(fā)展,移動通信系統(tǒng)每天都會生成海量的測量數據,如pm(performance?management,性能管理數據)、mr(measurement?report,測量報告數據)等。這些數據由基站采集后,經過omc系統(tǒng)處理生成可以被其他大數據系統(tǒng)使用的數據文件。在此過程中,omc系統(tǒng)的輸入數據為南向數據,omc系統(tǒng)的輸出數據為北向數據。南向數據和北向數據均為結構化數據,由行、列組成,每一列均有唯一的列名,用于表示該列數據的含義,每一行均有唯一鍵,作為該行的唯一標志。南向數據和北向數據之間存在映射關系,北向數據中某列的值是基于南向數據中的一列或多列計算得到的,因此,南向數據和由南向數據計算生成的北向數據具有唯一鍵。
2、由于omc系統(tǒng)通常由設備廠家控制,而南向數據中包含大量網絡質量指標,因此就會存在廠家通過控制omc系統(tǒng)篡改輸出的北向數據,造成北向數據失真的風險。而為了校驗北向數據的準確性,就需要對南、北向數據進行比對,判斷南向數據與北向數據之間是否符合給定的映射關系。
3、而現(xiàn)有技術中,比對技術主要基于關系型數據庫的哈希連接(hash?join)。通過將南向數據的csv(comma-separated?values,逗號分隔值)文件和北向數據的csv文件加載進數據庫,使用南向數據中的唯一鍵與北向數據中的唯一鍵進行哈希連接,并根據映射關系通過南向數據中特定字段計算北向數據中對應字段的理論值,再將該理論值與北向數據中對應字段的實際值進行對比,來判斷北向數據是否經過篡改。
4、但由于現(xiàn)今移動通信巨大的用戶量、小區(qū)數量、數據中的數據指標點數量以及頻繁的上報次數,導致每天都有巨量數據產生。而基于現(xiàn)有技術,需要將這些數據進行存儲進而再完成比對,因此,需要大量存儲資源。此外,由于關系型數據庫的哈希連接是基于內存計算,為滿足海量數據的計算需求,需要消耗大量的硬件資源搭建mpp(massivelyparallel?processing,大規(guī)模并行處理)或大數據計算平臺,而利用mpp或大數據計算平臺就會產生平臺內部的網絡傳輸,增加時間復雜度和空間復雜度。而關系型數據庫中的數據為臨時性數據,在完成比對后就可以被刪除,因此,整個對比流程中對存儲資源和計算資源(如高成本構造的mpp或大數據計算平臺)造成了巨大的資源浪費。
技術實現(xiàn)思路
1、鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于布隆過濾器的大數據比對方法和相應的基于布隆過濾器的大數據比對裝置,計算設備以及計算機存儲介質。
2、根據本發(fā)明的一個方面,提供了一種基于布隆過濾器的大數據比對方法,所述方法包括:
3、獲取待比對的南向數據和北向數據;
4、遍歷北向數據,根據所述北向數據生成第一字符串集,并將所述第一字符串集中的各個第一字符串存入布隆過濾器中;
5、遍歷南向數據,獲取所述南向數據中每一行對應的南向唯一鍵;根據所述南向數據與所述北向數據之間的預設映射關系,生成每個所述南向唯一鍵對應的第二字符串,得到第二字符串集;
6、判斷所述第二字符串集中的任一第二字符串是否存在于所述布隆過濾器中,若所述任一第二字符串不存在于所述布隆過濾器中,則確定所述任一第二字符串對應的北向數據為風險數據。
7、上述方案中,所述遍歷北向數據,根據所述北向數據生成第一字符串集進一步包括:
8、遍歷所述北向數據,獲取所述北向數據中每一行對應的北向唯一鍵;
9、根據所述北向數據中每一行的北向數據內容生成所述北向唯一鍵對應的第一字符串;
10、將各個第一字符串添加至第一字符串集中。
11、上述方案中,所述北向唯一鍵包含時間戳、站點id和小區(qū)id;所述每一行的北向數據內容包含時間戳、站點id、小區(qū)id、指標名稱和指標值。
12、上述方案中,所述遍歷南向數據,獲取所述南向數據中每一行對應的南向唯一鍵;根據所述南向數據與所述北向數據之間的預設映射關系,生成每個所述南向唯一鍵對應的第二字符串,得到第二字符串集進一步包括:
13、遍歷南向數據,獲取所述南向數據中每一行對應的南向唯一鍵;
14、根據所述南向數據與所述北向數據之間的預設映射關系,計算每個所述南向唯一鍵對應的至少一個理論指標名稱和至少一個理論指標名稱的理論指標值;
15、針對每個理論指標名稱,根據所述理論指標名稱對應的南向唯一鍵、所述理論指標名稱和所述理論指標名稱的理論指標值,生成所述南向唯一鍵對應的第二字符串;
16、將各個第二字符串添加至第二字符串集中。
17、上述方案中,所述南向唯一鍵包含時間戳、站點id和小區(qū)id。
18、上述方案中,所述預設映射關系記錄有北向數據中的每一列的指標名稱的指標值計算過程所依據的南向數據中的至少一列。
19、上述方案中,所述南向數據和所述北向數據為多行多列的數據。
20、根據本發(fā)明的另一方面,提供了一種基于布隆過濾器的大數據比對裝置,包括:獲取模塊、第一遍歷模塊、第二遍歷模塊以及比對模塊;其中,
21、所述獲取模塊,用于獲取待比對的南向數據和北向數據;
22、所述第一遍歷模塊,用于遍歷北向數據,根據所述北向數據生成第一字符串集,并將所述第一字符串集中的各個第一字符串存入布隆過濾器中;
23、所述第二遍歷模塊,用于遍歷南向數據,獲取所述南向數據中每一行對應的南向唯一鍵;根據所述南向數據與所述北向數據之間的預設映射關系,生成每個所述南向唯一鍵對應的第二字符串,得到第二字符串集;
24、所述比對模塊,用于判斷所述第二字符串集中的任一第二字符串是否存在于所述布隆過濾器中,若所述任一第二字符串不存在于所述布隆過濾器中,則確定所述任一第二字符串對應的北向數據為風險數據。
25、根據本發(fā)明的又一方面,提供了一種計算設備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;
26、所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如上述的基于布隆過濾器的大數據比對方法對應的操作。
27、根據本發(fā)明的再一方面,提供了一種計算機存儲介質,存儲介質中存儲有至少一可執(zhí)行指令,可執(zhí)行指令使處理器執(zhí)行如上述的基于布隆過濾器的大數據比對方法對應的操作。
28、根據本發(fā)明提供的技術方案,獲取待比對的南向數據和北向數據;遍歷北向數據,根據所述北向數據生成第一字符串集,并將所述第一字符串集中的各個第一字符串存入布隆過濾器中;遍歷南向數據,獲取所述南向數據中每一行對應的南向唯一鍵;根據所述南向數據與所述北向數據之間的預設映射關系,生成每個所述南向唯一鍵對應的第二字符串,得到第二字符串集;判斷所述第二字符串集中的任一第二字符串是否存在于所述布隆過濾器中,若所述任一第二字符串不存在于所述布隆過濾器中,則確定所述任一第二字符串對應的北向數據為風險數據。由此解決了現(xiàn)有技術中,數據對比系統(tǒng)過于復雜,成本過高的問題。由于本發(fā)明通過遍歷南向數據和北向數據,將二者特征字符串通過布隆過濾器進行比對,基于布隆過濾器的特性來進行安全驗證,判斷數據是否經過篡改,在保證了數據的安全性的同時,大大降低了數據比對的時間和空間復雜度,并有效降低了計算資源的消耗,降低了數據比對的成本。
29、上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。