[發明專利]壓縮方法及相關裝置有效
| 申請號: | 201611006972.7 | 申請日: | 2016-11-15 |
| 公開(公告)號: | CN106648955B | 公開(公告)日: | 2020-01-31 |
| 發明(設計)人: | 王濤 | 申請(專利權)人: | 杭州華為數字技術有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 44285 深圳市深佳知識產權代理事務所(普通合伙) | 代理人: | 王仲凱 |
| 地址: | 310052 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 壓縮 方法 相關 裝置 | ||
本發明涉及計算機技術領域,特別是涉及壓縮技術。在一種壓縮方法中,包括:獲取原始數據;對原始數據進行壓縮,得到壓縮結果;對壓縮結果進行解壓縮,得到解壓縮結果;校驗解壓縮結果與原始數據是否一致;若一致,輸出壓縮結果;若不一致,輸出原始數據。相較于現有技術,本發明提供的方案,在壓縮原始數據之后,存儲之前,會對壓縮結果進行解壓縮,得到解壓縮結果,并校驗解壓縮結果與原始數據是否一致。若一致,輸出壓縮結果,也即對壓縮結果進行存儲。若不一致,說明解壓縮后得到的數據和原始數據不一致,則拋棄壓縮結果,輸出原始數據,對原始數據進行存儲。這樣可避免解壓縮后得到的數據有可能和原始數據不一致的現象的出現。
技術領域
本發明涉及計算機技術領域,特別是涉及壓縮技術。
背景技術
在數據洪水爆發的今天,面對數據的急劇膨脹,存儲設備(例如磁盤陣列)需要進行數據壓縮來有效實現數據容量縮減:假設存儲空間是1TB,但用戶需要存儲的數據是1.3TB。則存儲設備可對上述1.3TB的原始數據進行壓縮,將壓縮結果(數據)存儲,這樣可以節約存儲空間,并且這種壓縮對用戶而言是透明的;在需要讀取數據時,則需要先對壓縮數據進行解壓縮。
然而在實際應用過程中,發明人發現:解壓縮后得到的數據有可能和原始數據不一致,對外表現為數據損壞,這進一步可能引起上層應用異常,如導致虛擬機、數據庫等應用宕機。
發明內容
本發明的目的在于提供壓縮方法及相關裝置,以解決上述問題。
為實現上述目的,本發明提供了如下方案:
一方面,本申請的實施例提供一種壓縮方法,該壓縮方法由存儲設備中的控制器中的處理器或硬件加速卡,與其他部件交互完成。該壓縮方法包括:獲取原始數據;對原始數據進行壓縮,得到壓縮結果;對壓縮結果進行解壓縮,得到解壓縮結果;校驗解壓縮結果與原始數據是否一致;若一致,輸出壓縮結果;若不一致,輸出原始數據。相較于現有技術,本發明提供的方案,在壓縮原始數據之后、存儲之前,會對壓縮結果進行解壓縮,得到解壓縮結果,并校驗解壓縮結果與原始數據是否一致。若一致,輸出壓縮結果,也即對壓縮結果進行存儲。若不一致,說明解壓縮后得到的數據和原始數據不一致,則拋棄壓縮結果,輸出原始數據,對原始數據進行存儲。這樣可避免解壓縮后得到的數據有可能和原始數據不一致的現象的出現。
在一個可能的設計中,在對原始數據進行壓縮之前或在校驗解壓縮結果與原始數據是否一致之前,還可先計算原始數據的校驗數據。此外,在校驗解壓縮結果與原始數據是否一致之前,還可先計算解壓縮數據的校驗數據。而校驗所述解壓縮結果與所述原始數據是否一致的步驟,可具體細化為:比較原始數據的檢驗數據與解壓縮結果的校驗數據是否一致。若一致,輸出壓縮結果;若不一致,輸出原始數據。從而可以更好得避免解壓縮后得到的數據和原始數據不一致的問題。
在一個可能的設計中,上述原始數據的校驗數據可包括原始數據的校驗碼(例如CRC碼)和原始數據的長度的至少一種。而解壓縮結果的校驗數據可包括:解壓縮結果的校驗碼(例如CRC校驗碼)和解壓縮結果的長度的至少一種。為便于區分,可將原始數據的校驗碼稱為第一校驗碼,將原始數據的長度稱為第一長度,將解壓縮結果的校驗碼稱為第二校驗碼,將解壓縮結果的長度稱為第二長度。若原始數據的校驗數據包括第一校驗碼和第一長度,則解壓縮結果的校驗數據相應的包括第二校驗碼和第二長度;若原始數據的校驗數據僅包括第一校驗碼,則解壓縮結果的校驗數據相應的僅包括第二校驗碼;而若原始數據的校驗數據僅包括第一長度,則解壓縮結果的校驗數據相應的僅包括第二長度。在本發明其他實施例中,也可用哈希算法分別得到原始數據和解壓縮結果的哈希值,將二者的哈希值作為校驗碼。本實施例提供了校驗數據的具體內容,從而可以更好得避免解壓縮后得到的數據和原始數據不一致的問題。
在一個可能的設計中,也可直接對解壓縮結果和原始數據進行逐個字節對比,這種方式相對比較簡單。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華為數字技術有限公司,未經杭州華為數字技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611006972.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:沙發(G?6627)
- 下一篇:一種數據備份和系統恢復的方法





