[發(fā)明專利]基于重刪技術的寫方法、讀方法、寫裝置和讀裝置有效
| 申請?zhí)枺?/td> | 201410083572.0 | 申請日: | 2014-03-07 |
| 公開(公告)號: | CN103810297B | 公開(公告)日: | 2017-02-01 |
| 發(fā)明(設計)人: | 曹立勛;黃焰;葉林睿 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F3/06;G06F12/06 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 技術 方法 裝置 | ||
技術領域
本發(fā)明實施例涉及數據處理技術,尤其涉及一種基于重刪技術的寫方法、讀方法、寫裝置和讀裝置。
背景技術
重復數據刪除技術也稱為重刪是一種數據縮減技術,通常用于基于磁盤的備份系統,旨在減少存儲系統所占用的存儲容量。該重刪技術對待存儲數據進行分塊處理后獲得各數據塊,進而僅保留相互重復的數據塊中的一個數據塊,其余則用指針替代。在此過程中,為了進一步提高數據縮減率,在將重復的數據塊用指針替代之后,還采用壓縮算法對保留的數據塊進行壓縮存儲,獲得單一實例塊。
但由于現有技術中采用了壓縮算法對單一實例塊進行壓縮存儲,因此,在對待寫數據塊執(zhí)行重刪寫流程中,需要在根據待寫數據塊的哈希值進行查重,獲得該待寫數據塊對應的單一實例塊之后,進一步將查詢到的單一實例塊進行解壓后,才能將上述待寫數據塊與解壓后的單一實例塊進行逐字節(jié)比對,以確定該待寫數據塊是否與上述單一實例塊重復。相應的,在對已寫數據塊執(zhí)行重刪讀流程中,也需要對已寫數據塊中的指示符所指示的單一實例塊進行解壓后,才能對已寫數據塊進行讀取。導致在重刪寫流程和重刪讀流程中,頻繁對單一實例塊執(zhí)行解壓操作,處理效率較低。
發(fā)明內容
本發(fā)明實施例提供一種基于重刪技術的寫方法、讀方法、寫裝置和讀裝置,用于避免頻繁執(zhí)行解壓操作,提高處理效率。
第一個方面是提供一種基于重刪技術的寫方法,包括:
對待寫數據塊進行查重,獲得與所述待寫數據塊具有相同哈希值的單一實例塊;
若所述單一實例塊的引用次數大于預設閾值,則確定目標存儲空間中預先存儲了解壓后的所述單一實例塊;所述引用次數為在已寫數據塊中,與所述單一實例塊重復的數據塊的個數;所述目標存儲空間用于存儲解壓后的所述引用次數大于所述預設閾值的所述單一實例塊;
根據預先存儲的解壓后的所述單一實例塊與所述待寫數據塊的逐字節(jié)比對結果,對所述待寫數據塊執(zhí)行寫操作。
在第一方面的第一種可能的實現方式中,所述單一實例塊存儲于磁盤中,所述若所述單一實例塊的引用次數大于預設閾值,則確定目標存儲空間中預先存儲了解壓后的所述單一實例塊之前,還包括:當所述單一實例塊的引用次數大于所述預設閾值時,對存儲于磁盤中的所述單一實例塊進行解壓,獲得解壓后的所述單一實例塊;將解壓后的所述單一實例塊存儲在設置于高速緩存中的所述目標存儲空間中。
在第一方面的第二種可能的實現方式中,所述單一實例塊存儲于內存中,所述若所述單一實例塊的引用次數大于預設閾值,則確定目標存儲空間中預先存儲了解壓后的所述單一實例塊之前,還包括:當所述單一實例塊的引用次數大于所述預設閾值時,對存儲于內存中的所述單一實例塊進行解壓,獲得解壓后的所述單一實例塊;利用解壓后的所述單一實例塊替換所述內存中所存儲的單一實例塊,以存儲在設置于所述內存中的目標存儲空間中。
在第一方面的第三種可能的實現方式中,所述根據預先存儲的解壓后的所述單一實例塊與所述待寫數據塊的逐字節(jié)比對結果,對所述待寫數據塊執(zhí)行寫操作,包括:若所述逐字節(jié)比對結果為解壓后的所述單一實例塊與所述待寫數據塊重復,則將指向所述單一實例塊的指針作為所述待寫數據塊,對所述待寫數據塊執(zhí)行寫操作;若所述逐字節(jié)比對結果為解壓后的所述單一實例塊與所述待寫數據塊不重復,則對所述待寫數據塊壓縮后執(zhí)行寫操作。
結合第一方面、第一方面的第一種可能的實現方式、第一方面的第二種可能的實現方式和第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述預設閾值是以對所述引用次數大于預設閾值的各單一實例塊解壓后所占用的存儲空間進行累加,所獲得的總存儲空間不大于所述目標存儲空間為依據,計算獲得的。
第二個方面是提供一種基于重刪技術的讀方法,包括:對已寫數據塊進行讀取,獲得指向單一實例塊的指針;若所述單一實例塊的引用次數大于預設閾值,則確定目標存儲空間中預先存儲了解壓后的所述單一實例塊;所述引用次數為在所述已寫數據塊中,與所述單一實例塊重復的數據塊的個數;所述目標存儲空間用于存儲解壓后的所述引用次數大于所述預設閾值的所述單一實例塊;對預先存儲的解壓后的所述單一實例塊執(zhí)行讀操作。
在第二方面的第一種可能的實現方式中,所述單一實例塊存儲于磁盤中,所述若所述單一實例塊的引用次數大于預設閾值,則確定目標存儲空間中預先存儲了解壓后的所述單一實例塊之前,還包括:當所述單一實例塊的所述引用次數大于所述預設閾值時,對存儲于磁盤中的所述單一實例塊進行解壓,獲得解壓后的所述單一實例塊;將解壓后的所述單一實例塊存儲在設置于高速緩存中的所述目標存儲空間中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410083572.0/2.html,轉載請聲明來源鉆瓜專利網。





