減少冗余數(shù)據(jù)的方法,包括:
[0097]對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷;
[0098]判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同;
[0099]通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件。
[0100]A2、如A1所述的方法,在所述判斷所述硬盤中是否包括兩個(gè)及以上相同的文件之前,還包括:從遍歷的文件中排除用戶級(jí)文件;
[0101]所述判斷所述硬盤中是否包括兩個(gè)及以上相同的文件,包括:從非用戶級(jí)文件中進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。
[0102]A3、如A2所述的方法,所述從遍歷的文件中排除用戶級(jí)文件,判斷所述硬盤中是否包括兩個(gè)及以上相同的文件,包括:
[0103]預(yù)先選定特定類型的文件,僅針對(duì)所述特定類型的文件進(jìn)行判斷是否包括兩個(gè)及以上相同的文件;和/或,
[0104]根據(jù)文件的修改和/或創(chuàng)建日期排除預(yù)置時(shí)間段內(nèi)最新產(chǎn)生的文件,在排除最新產(chǎn)生的文件之外進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。
[0105]A4、如A3所述的方法,所述特定類型的文件包括exe文件和/或dll文件。
[0106]A5、如A1所述的方法,所述兩個(gè)及以上文件的校驗(yàn)值是指兩個(gè)及以上文件的哈西值,在根據(jù)兩個(gè)及以上文件哈西值確定兩個(gè)及以上文件是否相同之后,還包括:
[0107]對(duì)于哈西值相同的兩個(gè)及以上文件,進(jìn)一步將兩個(gè)及以上文件的完整數(shù)據(jù)進(jìn)行二進(jìn)制比較;
[0108]根據(jù)完整數(shù)據(jù)比較結(jié)果,最終確定兩個(gè)及以上文件是否相同。
[0109]A6、如A1所述的方法,所述通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件,包括:
[Ο??Ο] 在NTFS文件系統(tǒng)中,通過CreateHardLink指令,將兩個(gè)及以上相同文件以硬鏈接方式合并為一個(gè)文件。
[0111]B7、一種減少冗余數(shù)據(jù)的裝置,包括:
[0112]遍歷單元,用于對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷;
[0113]判斷單元,用于判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同;
[0114]硬鏈接合并單元,用于通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件。
[0115]B8、如B7所述的裝置,還包括:用戶級(jí)文件排除單元,用于從遍歷的文件中排除用戶級(jí)文件;
[0116]所述判斷單元具體用于,從非用戶級(jí)文件中進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。
[0117]B9、如B8所述的裝置,所述用戶級(jí)文件排除單元具體用于,預(yù)先選定特定類型的文件,排除非特定類型的文件,和/或,根據(jù)文件的修改和/或創(chuàng)建日期排除預(yù)置時(shí)間段內(nèi)最新產(chǎn)生的文件。
[0118]B10、如B9所述的裝置,所述特定類型的文件包括exe文件和/或dll文件。
[0119]B11、如B7所述的裝置,所述判斷單元具體用于,根據(jù)兩個(gè)及以上文件的哈西值確定兩個(gè)及以上文件是否相同;所述判斷單元還用于,對(duì)于哈西值相同的兩個(gè)及以上文件,進(jìn)一步將兩個(gè)及以上文件的完整數(shù)據(jù)進(jìn)行二進(jìn)制比較;根據(jù)完整數(shù)據(jù)比較結(jié)果,最終確定兩個(gè)及以上文件是否相同。
[0120]B12、如B7所述的裝置,所述硬鏈接合并單元具體用于,在NTFS文件系統(tǒng)中,通過CreateHardLink指令,將兩個(gè)及以上相同文件以硬鏈接方式合并為一個(gè)文件。
[0121]C13、一種基于減少冗余數(shù)據(jù)的文件管理方法,包括:
[0122]對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷;
[0123]判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同;
[0124]通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件;
[0125]維護(hù)所述硬鏈接文件與一個(gè)或多個(gè)文件名的硬鏈接對(duì)應(yīng)關(guān)系,在針對(duì)所述一個(gè)或多個(gè)文件名對(duì)所述硬鏈接文件進(jìn)行更新、刪除和/或修改時(shí),通過維護(hù)所述硬鏈接對(duì)應(yīng)關(guān)系,統(tǒng)一對(duì)所述硬鏈接文件進(jìn)行所述更新、刪除和/或修改的操作。
[0126]C14、如C13所述的方法,所述硬鏈接對(duì)應(yīng)關(guān)系中包括文件鏈接數(shù),所述文件鏈接數(shù)對(duì)應(yīng)于所述一個(gè)或多個(gè)文件名的數(shù)量;在針對(duì)一個(gè)或多個(gè)文件名之一進(jìn)行刪除時(shí),將所述文件鏈接數(shù)減一,直到所述文件鏈接數(shù)為零時(shí),才對(duì)所述硬鏈接文件進(jìn)行刪除。
[0127]C15、如C13所述的方法,在對(duì)硬鏈接文件進(jìn)行更新時(shí),將待更新文件的硬鏈接關(guān)系修改為更新后文件的硬鏈接關(guān)系。
[0128]C16、如C13所述的方法,在針對(duì)一個(gè)或多個(gè)文件名之一進(jìn)行文件修改時(shí),統(tǒng)一對(duì)所述硬鏈接文件進(jìn)行修改。
【主權(quán)項(xiàng)】
1.一種減少冗余數(shù)據(jù)的方法,其特征在于,包括: 對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷; 判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同; 通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件。2.如權(quán)利要求1所述的方法,其特征在于,在所述判斷所述硬盤中是否包括兩個(gè)及以上相同的文件之前,還包括:從遍歷的文件中排除用戶級(jí)文件; 所述判斷所述硬盤中是否包括兩個(gè)及以上相同的文件,包括:從非用戶級(jí)文件中進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。3.如權(quán)利要求2所述的方法,其特征在于,所述從遍歷的文件中排除用戶級(jí)文件,判斷所述硬盤中是否包括兩個(gè)及以上相同的文件,包括: 預(yù)先選定特定類型的文件,僅針對(duì)所述特定類型的文件進(jìn)行判斷是否包括兩個(gè)及以上相同的文件;和/或, 根據(jù)文件的修改和/或創(chuàng)建日期排除預(yù)置時(shí)間段內(nèi)最新產(chǎn)生的文件,在排除最新產(chǎn)生的文件之外進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。4.如權(quán)利要求3所述的方法,其特征在于,所述特定類型的文件包括exe文件和/或dll文件。5.如權(quán)利要求1所述的方法,其特征在于,所述兩個(gè)及以上文件的校驗(yàn)值是指兩個(gè)及以上文件的哈西值,在根據(jù)兩個(gè)及以上文件哈西值確定兩個(gè)及以上文件是否相同之后,還包括: 對(duì)于哈西值相同的兩個(gè)及以上文件,進(jìn)一步將兩個(gè)及以上文件的完整數(shù)據(jù)進(jìn)行二進(jìn)制比較; 根據(jù)完整數(shù)據(jù)比較結(jié)果,最終確定兩個(gè)及以上文件是否相同。6.如權(quán)利要求1所述的方法,其特征在于,所述通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件,包括: 在NTFS文件系統(tǒng)中,通過CreateHardLink指令,將兩個(gè)及以上相同文件以硬鏈接方式合并為一個(gè)文件。7.一種減少冗余數(shù)據(jù)的裝置,其特征在于,包括: 遍歷單元,用于對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷; 判斷單元,用于判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同; 硬鏈接合并單元,用于通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件。8.如權(quán)利要求7所述的裝置,其特征在于,還包括:用戶級(jí)文件排除單元,用于從遍歷的文件中排除用戶級(jí)文件; 所述判斷單元具體用于,從非用戶級(jí)文件中進(jìn)行判斷是否包括兩個(gè)及以上相同的文件。9.如權(quán)利要求8所述的裝置,其特征在于,所述用戶級(jí)文件排除單元具體用于,預(yù)先選定特定類型的文件,排除非特定類型的文件,和/或,根據(jù)文件的修改和/或創(chuàng)建日期排除預(yù)置時(shí)間段內(nèi)最新產(chǎn)生的文件。10.—種基于減少冗余數(shù)據(jù)的文件管理方法,其特征在于,包括: 對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷; 判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同; 通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件; 維護(hù)所述硬鏈接文件與一個(gè)或多個(gè)文件名的硬鏈接對(duì)應(yīng)關(guān)系,在針對(duì)所述一個(gè)或多個(gè)文件名對(duì)所述硬鏈接文件進(jìn)行更新、刪除和/或修改時(shí),通過維護(hù)所述硬鏈接對(duì)應(yīng)關(guān)系,統(tǒng)一對(duì)所述硬鏈接文件進(jìn)行所述更新、刪除和/或修改的操作。
【專利摘要】本發(fā)明公開了一種減少冗余數(shù)據(jù)的方法及裝置,其中的方法包括:對(duì)硬盤中各個(gè)分區(qū)的所有文件進(jìn)行遍歷;判斷所述硬盤中是否包含兩個(gè)及以上相同的文件:在確定兩個(gè)及以上文件大小相同、文件標(biāo)識(shí)不同的前提下,根據(jù)兩個(gè)及以上文件的校驗(yàn)值確定兩個(gè)及以上文件是否相同;通過創(chuàng)建硬鏈接,將兩個(gè)及以上相同的文件合并為一個(gè)文件。通過本發(fā)明,利用創(chuàng)建硬鏈接將重復(fù)的文件合并為一個(gè)文件,可減少硬盤中的冗余數(shù)據(jù),節(jié)省硬盤空間并提高硬盤運(yùn)行效率。
【IPC分類】G06F17/30, G06F3/06
【公開號(hào)】CN105468686
【申請(qǐng)?zhí)枴緾N201510789116
【發(fā)明人】徐鵬捷, 陳雄
【申請(qǐng)人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2016年4月6日
【申請(qǐng)日】2015年11月17日