[發(fā)明專利]一種大文件差異對比方法、裝置、計算機設(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)鍵詞: | 一種 文件 差異 對比 方法 裝置 計算機 設(shè)備 存儲 介質(zhì) | ||
本申請屬于數(shù)據(jù)處理領(lǐng)域,應(yīng)用于網(wǎng)盤同步數(shù)據(jù),多人協(xié)同文檔、云數(shù)據(jù)存儲等領(lǐng)域中,涉及一種大文件差異對比方法、裝置、計算機設(shè)備及存儲介質(zhì),所述方法包括獲取文件,提取所述文件的特征數(shù)據(jù);將所述特征數(shù)據(jù)生成數(shù)據(jù)結(jié)構(gòu),保存到數(shù)據(jù)庫中,所述數(shù)據(jù)結(jié)構(gòu)包括多個字段;根據(jù)所述多個字段的值,進行不同文件差異對比;及判定文件差異對比結(jié)果。此外,本申請還涉及區(qū)塊鏈技術(shù),用戶的大文件差異數(shù)據(jù)可存儲于區(qū)塊鏈中。采用排列的矩陣塊點值進行差異對比,用排列的矩陣塊的哈希值做二次差異對比,從個別到局部地擴大范圍,減少誤判率,提高判定差異一致性;減少內(nèi)存資源,差異對比效率高,可節(jié)省時間和空間。
技術(shù)領(lǐng)域
本申請涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種大文件差異對比方法、裝置、計算機設(shè)備及存儲介質(zhì)。
背景技術(shù)
文件差異對比方式,應(yīng)用到很多場合下。例如網(wǎng)盤同步數(shù)據(jù)、多人協(xié)同文檔等。但是文件越大,彼此之間進行差異對比,所花費的時間越長。
現(xiàn)有技術(shù)中,比較常用的對比方式,是用MD5方式對文件生成消息摘要的校驗碼,與原文件的MD5校驗碼進行對比,來判定其一致性。在小文件上,其操作性相對簡單;但是在大文件上,會存在以下兩點不足:
其一,消耗CPU和占用內(nèi)存就相對很大,首先要把文件加載到內(nèi)存上,然后再MD5生成校驗碼,導致速度變得很慢了,如果內(nèi)存嚴重不足,會導致生成程序操作失敗的可能性;
其二,需要自己記錄或保存原文件的校驗碼,才可以有對現(xiàn)有文件做差異比較的必要條件,不容易管理。
發(fā)明內(nèi)容
本申請的目的在于提出一種大文件差異對比方法、裝置、計算機設(shè)備及存儲介質(zhì),以解決現(xiàn)有技術(shù)中對大文件進行差異比較時,比較速度緩慢,如果內(nèi)存嚴重不足,會導致生成程序操作失敗的可能性;需要自己記錄或保存原文件的校驗碼,不容易進行大文件差異管理的問題。
為了解決上述技術(shù)問題,本申請?zhí)峁┮环N大文件差異對比方法,采用了如下所述的技術(shù)方案:
包括下述步驟:
獲取文件,提取所述文件的特征數(shù)據(jù);
將所述特征數(shù)據(jù)生成數(shù)據(jù)結(jié)構(gòu),保存到數(shù)據(jù)庫中,所述數(shù)據(jù)結(jié)構(gòu)包括多個字段;
根據(jù)所述多個字段的值,進行不同文件差異對比;及判定不同文件差異對比結(jié)果。
進一步的,所述獲取文件,提取所述文件的特征數(shù)據(jù)的步驟還包括:
獲取所述文件;
計算所述文件的大小,根據(jù)所述文件的大小計算出矩陣比,劃分文件二進制矩陣陣塊的比例;
根據(jù)文件二進制矩陣陣塊的比例,計算奇偶值;
提取所述文件的二進制矩陣塊值和哈希值。
進一步的,所述將所述特征數(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)表里。
進一步的,所述提取所述文件的二進制矩陣塊值和哈希值的步驟具體包括:
計算以奇排列的稀疏矩陣陣塊,把稀疏矩陣為1的值作為位置索引,把二進制矩陣塊的對應(yīng)位置值保存為數(shù)組,得出稀疏矩陣列二維數(shù)組和差異矩陣列二維數(shù)組;
計算以偶排列的二進制矩陣塊,把每個陣塊的所有值,用SHA1的哈希算法來計算值,最后保存為一維數(shù)組;或者計算以偶排列的稀疏矩陣陣塊,把稀疏矩陣為1的值作為位置索引,把二進制矩陣塊的對應(yīng)位置值保存為數(shù)組,得出稀疏矩陣列二維數(shù)組和差異矩陣列二維數(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/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





