[發(fā)明專利]一種大文件差異對比方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202111496201.1 | 申請日: | 2021-12-09 |
| 公開(公告)號: | CN113886332B | 公開(公告)日: | 2022-02-08 |
| 發(fā)明(設(shè)計)人: | 李偉豪;韓帆 | 申請(專利權(quán))人: | 廣東睿江云計算股份有限公司 |
| 主分類號: | G06F16/13 | 分類號: | G06F16/13;G06F16/14;G06F16/22;G06F16/2455 |
| 代理公司: | 佛山市恒瑞知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44688 | 代理人: | 史亮亮 |
| 地址: | 528000 廣東省佛山市禪*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 文件 差異 對比 方法 裝置 計算機(jī) 設(shè)備 存儲 介質(zhì) | ||
1.一種大文件差異對比方法,其特征在于,包括下述步驟:
獲取文件,提取所述文件的特征數(shù)據(jù);
將所述特征數(shù)據(jù)生成數(shù)據(jù)結(jié)構(gòu),保存到數(shù)據(jù)庫中,所述數(shù)據(jù)結(jié)構(gòu)包括多個字段;
根據(jù)所述多個字段的值,進(jìn)行不同文件差異對比;所述根據(jù)所述多個字段的值,進(jìn)行不同文件差異對比的步驟包括:
將所述多個字段分為奇偶值、矩陣分布比、稀疏矩陣列、差異矩陣列、差異哈希數(shù)組、文件名、文件路徑和修改時間戳;
根據(jù)矩陣分布比,把所述文件的二進(jìn)制數(shù)據(jù)劃分成多個矩陣塊,存儲所述多個矩陣塊的索引值;
存儲稀疏矩陣列的二維數(shù)組索引值,和差異矩陣列的二維數(shù)組的數(shù)值;
將每塊稀疏矩陣列的二維數(shù)組索引值,與所述多個矩陣塊的位置進(jìn)行一一對應(yīng),選取差異矩陣列的數(shù)組值;
假設(shè)稀疏矩陣列的二維數(shù)組里第N個行下標(biāo),是一維數(shù)組索引值A(chǔ),差異矩陣列的二維數(shù)組里第N個行下標(biāo),是一維數(shù)組差異值B,與第N個二進(jìn)制矩陣塊C匹配,A是索引值數(shù)組,B是差異值數(shù)組,C是二進(jìn)制矩陣,A的每個值映射到C的矩陣值位置,即選取差異矩陣列的數(shù)組值D,判定差異值數(shù)組B與選取差異矩陣列的數(shù)組值D的一致性,如果數(shù)值不一致,則說明兩個文件有差異,判定不一致的結(jié)果;如果數(shù)值一致,則依次判斷所有塊稀疏陣列是否相同;
如果所有塊稀疏陣列值相同,則啟用二次差異對比;
所述二次差異對比的步驟包括:
將字段差異哈希數(shù)組,存放到內(nèi)存;
對文件二進(jìn)制矩陣的對應(yīng)陣塊,用SHA1的哈希算法來計算哈希值,然后與記錄的哈希值也就是字段差異哈希數(shù)組中的哈希值一一對應(yīng),比較兩值一致性;
如果其中有哈希值不一致的情況,則表明文件有差異,判定不一致的結(jié)果,如果所有的哈希值數(shù)據(jù)一致,則表明文件相同;及判定文件差異對比結(jié)果;所述獲取文件,提取所述文件的特征數(shù)據(jù)的步驟包括:
獲取所述文件;
計算所述文件的大小,根據(jù)所述文件的大小,計算出矩陣比,劃分文件二進(jìn)制矩陣陣塊的比例;
根據(jù)所述文件二進(jìn)制矩陣陣塊的比例,計算奇偶值;
根據(jù)所述奇偶值,提取所述文件二進(jìn)制矩陣塊值和哈希值。
2.根據(jù)權(quán)利要求1所述的大文件差異對比方法,其特征在于,所述將所述特征數(shù)據(jù)生成數(shù)據(jù)結(jié)構(gòu),保存到數(shù)據(jù)庫中,所述數(shù)據(jù)結(jié)構(gòu)包括多個字段的步驟具體包括:
將所述特征數(shù)據(jù)生成數(shù)據(jù)結(jié)構(gòu);
判斷數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)表是否存在,如果不存在,則創(chuàng)建數(shù)據(jù)結(jié)構(gòu)表;
將所述數(shù)據(jù)結(jié)構(gòu)保存到所述數(shù)據(jù)結(jié)構(gòu)表里。
3.根據(jù)權(quán)利要求1所述的大文件差異對比方法,其特征在于,所述提取所述文件二進(jìn)制矩陣塊值和哈希值的步驟具體包括:
計算以奇排列的稀疏矩陣陣塊,把稀疏矩陣為1的值作為位置索引,把二進(jìn)制矩陣塊的對應(yīng)位置值保存為數(shù)組,得出稀疏矩陣列二維數(shù)組和差異矩陣列二維數(shù)組;
計算以偶排列的二進(jìn)制矩陣陣塊,把每個二進(jìn)制矩陣陣塊的所有值,用SHA1的哈希算法來計算值,最后保存為一維數(shù)組;或者計算以偶排列的稀疏矩陣陣塊,把稀疏矩陣為1的值作為位置索引,把二進(jìn)制矩陣塊的對應(yīng)位置值保存為數(shù)組,得出稀疏矩陣列二維數(shù)組和差異矩陣列二維數(shù)組;
計算以奇排列的二進(jìn)制矩陣陣塊,把每個二進(jìn)制矩陣陣塊的所有值,用SHA1的哈希算法來計算值,最后保存為一維數(shù)組。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東睿江云計算股份有限公司,未經(jīng)廣東睿江云計算股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111496201.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





