本公開涉及區(qū)塊鏈,尤其是涉及一種基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法、裝置及電子設(shè)備。
背景技術(shù):
1、在信息化時代的迅速發(fā)展下,大量的數(shù)據(jù)以電子存證的形式被記錄和保存。與此同時,區(qū)塊鏈技術(shù)以其特有的不可篡改、不可抵賴以及多方參與等特性,成為電子數(shù)據(jù)存證領(lǐng)域的理想選擇,使得電子數(shù)據(jù)存證成為區(qū)塊鏈技術(shù)的一項重要應(yīng)用。
2、區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)庫,其運(yùn)作模式需要在每個網(wǎng)絡(luò)節(jié)點上同步和存儲所有的數(shù)據(jù)。如果大量數(shù)據(jù)直接上鏈,將會消耗大量的存儲空間和網(wǎng)絡(luò)資源,從而影響區(qū)塊鏈的性能和運(yùn)行效率。此外,考慮到區(qū)塊鏈賬本的公開性,直接將電子證據(jù)的原文存儲在鏈上可能會帶來隱私泄露的風(fēng)險。因此,為了減小區(qū)塊鏈的存儲開銷和確保原始數(shù)據(jù)的隱私性,實踐中的常見做法是僅將電子證據(jù)的哈希值(散列值)上鏈存儲。當(dāng)需要驗證電子證據(jù)的真實性時,只需將待驗證的電子證據(jù)的哈希值與上鏈存儲的哈希值進(jìn)行對比,即可確認(rèn)該電子證據(jù)是否被篡改。
3、但是,傳統(tǒng)的哈希函數(shù)是一種一對一的映射關(guān)系,這意味著即使數(shù)據(jù)的微小改動也會導(dǎo)致哈希值產(chǎn)生巨大的變化,對于某些需要檢測內(nèi)容變更程度的應(yīng)用場景(比如檢測文檔的版本差異、重復(fù)程度),這種特性使哈希函數(shù)無法準(zhǔn)確反映出數(shù)據(jù)改動的程度。
技術(shù)實現(xiàn)思路
1、鑒于上述問題而提出了本公開。本公開提供了一種基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法、裝置及電子設(shè)備,并相應(yīng)提供了一種計算機(jī)可讀存儲介質(zhì)以及計算機(jī)程序產(chǎn)品。
2、根據(jù)本公開的一個方面,提供了一種基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,包括:
3、預(yù)先利用雙向滑窗得到待存證文件的結(jié)構(gòu)化數(shù)據(jù)信息;
4、將所述結(jié)構(gòu)化數(shù)據(jù)信息存入預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)中并完成上鏈;
5、當(dāng)進(jìn)行重復(fù)度檢測時,利用雙向滑窗得到待檢測文件的結(jié)構(gòu)化數(shù)據(jù)信息,并與從區(qū)塊鏈中提取且經(jīng)解析得到的所述數(shù)據(jù)結(jié)構(gòu)中的信息進(jìn)行匹配;且在匹配過程中,通過動態(tài)調(diào)整滑窗的移動步長針對出現(xiàn)未匹配情況時的剩余文件內(nèi)容進(jìn)行匹配;
6、在匹配結(jié)束后,通過所有匹配結(jié)果求得待檢測文件的重復(fù)度。
7、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,所述通過動態(tài)調(diào)整滑窗的移動步長針對出現(xiàn)未匹配情況時的剩余文件內(nèi)容進(jìn)行匹配包括:
8、當(dāng)待檢測文件的結(jié)構(gòu)化數(shù)據(jù)信息與所述數(shù)據(jù)結(jié)構(gòu)中的信息不匹配時,停止滑窗移動;
9、在兩個滑窗均停止之后,對兩個滑窗之間的剩余內(nèi)容,采用動態(tài)遞減步長的方式繼續(xù)執(zhí)行窗口滑動并繼續(xù)進(jìn)行匹配。
10、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,確認(rèn)匹配結(jié)束的條件包括:
11、經(jīng)動態(tài)調(diào)整的所有可用步長均已被采用,或者,已將所述數(shù)據(jù)結(jié)構(gòu)中存證的信息內(nèi)容比對完成。
12、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,所述將所述結(jié)構(gòu)化數(shù)據(jù)信息存入預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)中包括:
13、利用所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建與所述結(jié)構(gòu)化數(shù)據(jù)信息對應(yīng)的數(shù)組,以所述數(shù)組作為所述待存證文件在所述數(shù)據(jù)結(jié)構(gòu)中的存儲指紋。
14、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,所述通過所有匹配結(jié)果求得待檢測文件的重復(fù)度包括:
15、根據(jù)成功匹配的結(jié)構(gòu)化數(shù)據(jù)與對應(yīng)的存證文件的結(jié)構(gòu)化數(shù)據(jù)總數(shù)的比值,獲取待檢測文件與對應(yīng)的存證文件的相似度;或者,對存證文件的不同的結(jié)構(gòu)化數(shù)據(jù)設(shè)置權(quán)重,根據(jù)成功匹配結(jié)果并結(jié)合所述權(quán)重,計算待檢測文件與對應(yīng)的存證文件的相似度。
16、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法,利用雙向滑窗得到結(jié)構(gòu)化數(shù)據(jù)信息的方式包括:
17、在文件的首尾分別設(shè)置一個滑動窗口,兩個滑動窗口基于預(yù)設(shè)步長從文件的開始位置以及結(jié)束位置相向移動,且在各滑動窗口的移動期間,針對滑動窗口內(nèi)的文件區(qū)域計算對應(yīng)的哈希值。
18、根據(jù)本公開另一個方面,提供了一種基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,所述檢測裝置包括:
19、存證分片模塊,用于預(yù)先利用雙向滑窗得到待存證文件的結(jié)構(gòu)化數(shù)據(jù)信息;
20、分片信息處理模塊,用于將所述結(jié)構(gòu)化數(shù)據(jù)信息存入預(yù)設(shè)的數(shù)據(jù)結(jié)構(gòu)中并完成上鏈;
21、文件驗證模塊,用于當(dāng)進(jìn)行重復(fù)度檢測時,利用雙向滑窗得到待檢測文件的結(jié)構(gòu)化數(shù)據(jù)信息,并與從區(qū)塊鏈中提取且經(jīng)解析得到的所述數(shù)據(jù)結(jié)構(gòu)中的信息進(jìn)行匹配;且在匹配過程中,通過動態(tài)調(diào)整滑窗的移動步長針對出現(xiàn)未匹配情況時的剩余文件內(nèi)容進(jìn)行匹配;
22、重復(fù)度計算模塊,用于在匹配結(jié)束后,通過所有匹配結(jié)果求得待檢測文件的重復(fù)度。
23、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,所述文件驗證模塊包括:
24、匹配暫停單元,用于當(dāng)待檢測文件的結(jié)構(gòu)化數(shù)據(jù)信息與所述數(shù)據(jù)結(jié)構(gòu)中的信息不匹配時,停止滑窗移動;
25、動態(tài)步長調(diào)整單元,用于在兩個滑窗均停止之后,對兩個滑窗之間的剩余內(nèi)容,采用動態(tài)遞減步長的方式繼續(xù)執(zhí)行窗口滑動并繼續(xù)進(jìn)行匹配。
26、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,確認(rèn)匹配結(jié)束的條件包括:經(jīng)動態(tài)調(diào)整的所有可用步長均已被采用,或者,已將所述數(shù)據(jù)結(jié)構(gòu)中存證的信息內(nèi)容比對完成。
27、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,所述分片信息處理模塊被配置為:利用所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建與所述結(jié)構(gòu)化數(shù)據(jù)信息對應(yīng)的數(shù)組,以所述數(shù)組作為所述待存證文件在所述數(shù)據(jù)結(jié)構(gòu)中的存儲指紋。
28、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,所述重復(fù)度計算模塊包括:
29、第一相似度計算單元,用于根據(jù)成功匹配的結(jié)構(gòu)化數(shù)據(jù)與對應(yīng)的存證文件的結(jié)構(gòu)化數(shù)據(jù)總數(shù)的比值,獲取待檢測文件與對應(yīng)的存證文件的相似度;或者,第二相似度計算單元,用于對存證文件的不同的結(jié)構(gòu)化數(shù)據(jù)設(shè)置權(quán)重,根據(jù)成功匹配結(jié)果并結(jié)合所述權(quán)重,計算待檢測文件與對應(yīng)的存證文件的相似度。
30、此外,根據(jù)本公開一個方面的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測裝置,利用雙向滑窗得到結(jié)構(gòu)化數(shù)據(jù)信息的方式包括:在文件的首尾分別設(shè)置一個滑動窗口,兩個滑動窗口基于預(yù)設(shè)步長從文件的開始位置以及結(jié)束位置相向移動,且在各滑動窗口的移動期間,針對滑動窗口內(nèi)的文件區(qū)域計算對應(yīng)的哈希值。
31、根據(jù)本公開再一個方面,提供了一種電子設(shè)備,包括:存儲器,用于存儲計算機(jī)可讀指令;以及處理器,用于運(yùn)行計算機(jī)可讀指令,使得電子設(shè)備執(zhí)行如上所述的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法。
32、根據(jù)本公開又一個方面,提供了一種非瞬時性計算機(jī)可讀存儲介質(zhì),用于存儲計算機(jī)可讀指令,當(dāng)計算機(jī)可讀指令由處理器執(zhí)行時,使得處理器執(zhí)行如上所述的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法。
33、根據(jù)本公開又一個方面,提供了一種計算機(jī)程序產(chǎn)品,當(dāng)所述計算機(jī)程序產(chǎn)品被計算機(jī)執(zhí)行時,用于執(zhí)行第一方面或者第一方面的任一可能實現(xiàn)方式中的所述方法。在第五方面的一種可能的設(shè)計中,該產(chǎn)品涉及到的相關(guān)程序可以全部或者部分存儲在與處理器封裝在一起的存儲器上,也可以部分或者全部存儲在不與處理器封裝在一起的存儲介質(zhì)上。
34、如以下將詳細(xì)描述的,根據(jù)本公開實施例的基于結(jié)構(gòu)化存證的數(shù)據(jù)重復(fù)度檢測方法、裝置、電子設(shè)備、計算機(jī)可讀存儲介質(zhì)以及計算機(jī)程序產(chǎn)品,區(qū)別于傳統(tǒng)的區(qū)塊鏈存證時僅關(guān)注數(shù)據(jù)真實性,本公開的核心構(gòu)思在于引入結(jié)構(gòu)化數(shù)據(jù)信息、預(yù)設(shè)數(shù)據(jù)結(jié)構(gòu)、雙向滑窗及動態(tài)步長等機(jī)制進(jìn)行數(shù)據(jù)處理實現(xiàn)存證與驗證,使得存證過程不僅能保證數(shù)據(jù)的一致性和完整性,而且還能準(zhǔn)確反映出驗證數(shù)據(jù)與存證文件的重復(fù)度。本公開在基于區(qū)塊鏈的電子證據(jù)模式下,可以在大規(guī)模數(shù)據(jù)集的重復(fù)度檢測中,在保證數(shù)據(jù)存證的有效性和準(zhǔn)確性的同時,還兼顧較低的誤報率與較高的存儲空間效率,從而降低存儲開銷,并顯著拓寬存證的功能性和應(yīng)用范圍。
35、本公開方案拓寬了區(qū)塊鏈技術(shù)在數(shù)據(jù)存證方面的功能,使得區(qū)塊鏈存證機(jī)制同時擁有數(shù)據(jù)一致性和完整性、相似度檢測功能,幾乎可以涵蓋所有需要數(shù)據(jù)存證的領(lǐng)域,例如在版權(quán)保護(hù)、惡意代碼檢測、防sql注入、司法、醫(yī)療、教育、供應(yīng)鏈管理等多個領(lǐng)域均具有應(yīng)用的潛在價值,具有廣闊的市場前景。
36、要理解的是,前面的一般描述和下面的詳細(xì)描述兩者都是示例性的,并且意圖在于提供要求保護(hù)的技術(shù)的進(jìn)一步說明。