[發明專利]一種數據壓縮方法、存儲引擎及存儲系統有效
| 申請號: | 201210590257.8 | 申請日: | 2012-12-31 |
| 公開(公告)號: | CN103049561A | 公開(公告)日: | 2013-04-17 |
| 發明(設計)人: | 靳文軍;伍華濤 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據壓縮 方法 存儲 引擎 存儲系統 | ||
技術領域
本發明涉及計算機領域,尤其涉及一種數據壓縮方法、存儲引擎及存儲系統。
背景技術
隨著計算機技術及網絡技術的高速發展,出現了數據庫系統。數據庫系統可以實現數據庫中的數據的共享和集中管理,所述集中管理包括對數據進行修改等操作。而數據庫系統管理的數據存儲在存儲系統中,因此存儲系統的空間和存取速度對數據庫系統的數據管理操作存在影響。當存儲系統中存儲的數據不斷增多時,可用空間會變小,此時就需要對存儲系統中的數據進行壓縮來釋放部分空間。
現有技術采用的數據庫的數據壓縮方法通常由數據倉儲軟件或數據統計分析軟件等大數據軟件將數據庫的待壓縮數據使用普通壓縮軟件如zlib、lzma等進行文件級的壓縮,即對待壓縮數據中的各個文件數據進行整體壓縮。當需要對于壓縮后的文件數據進行修改、查詢、刪除和插入等頁面操作時,首先對壓縮后的文件數據進行解壓,再對解壓后的文件數據中的個別頁面進行相應頁面操作,在完成頁面操作后,再進行文件數據的整體壓縮。該壓縮方法缺乏靈活性,且存儲服務器的性能損耗較大。
發明內容
本發明的實施例提供一種數據壓縮方法、存儲引擎及存儲系統,能夠實現文件數據中的獨立頁面的壓縮。
為達到上述目的,本發明的實施例采用如下技術方案:
本發明第一方面提供一種存儲引擎,包括:
數據引擎虛擬機層、多路搜索樹層、頁面層和壓縮層;
所述壓縮層包括:頁面壓縮數據模塊;
所述數據引擎虛擬機層,用于接收應用程序下發的對文件數據進行壓縮的操作指令;
所述多路搜索樹層,用于對所述文件數據進行多路搜索樹操作,并將經過多路搜索樹操作處理后的頁面號發送給頁面層,所述頁面號對應的頁面用于存儲所述文件數據;
所述頁面層,用于對所述經過多路搜索樹操作處理后的頁面號對應的頁面進行頁面操作,得到獨立頁面數據;
頁面壓縮數據模塊,用于對所述獨立頁面數據進行壓縮得到頁面壓縮數據。
結合第一方面的第一種可能實現方式,所述壓縮層還包括元數據模塊;
所述元數據模塊,用于保存所述頁面壓縮數據的頁面號和偏移量;
所述壓縮層,還用于根據所述元數據模塊中保存的所述頁面號和所述偏移量將所述頁面壓縮數據存儲到文件系統中。
結合第一種可能實現方式的第二種可能實現方式,所述元數據模塊還用于保存所述頁面壓縮數據的空間占用值;所述壓縮層還包括:擴展數據模塊;
所述壓縮層還用于,當所述頁面壓縮數據不是首次存儲時,根據所述元數據模塊中保存的所述頁面壓縮數據的空間占用值,比較所述頁面壓縮數據的空間占用值是否大于前一次頁面壓縮數據的空間占用值;當所述頁面壓縮數據的空間占用值大于所述前一次頁面壓縮數據的空間占用值時,將所述頁面壓縮數據分為第一子頁面壓縮數據與第二子頁面壓縮數據,所述第一子頁面壓縮數據的空間占用值為所述前一次頁面壓縮數據的空間占用值,所述第二子頁面壓縮數據的空間占用值為所述頁面壓縮數據的空間占用值與所述前一次頁面壓縮數據的空間占用值的差值;將所述第一子頁面壓縮數據保存至所述頁面壓縮數據模塊;將所述第二子頁面壓縮數據保存至所述擴展數據模塊;
所述元數據模塊,還用于保存第一子頁面壓縮數據的頁面號和偏移量及第二子頁面壓縮數據的頁面號和偏移量。
結合第二種可能實現方式的第三種可能實現方式,所述壓縮層還用于將所述頁面壓縮數據模塊保存的所述第一子頁面壓縮數據存儲到所述文件系統,以及將所述擴展數據模塊保存的所述第二子頁面壓縮數據存儲到所述文件系統。
結合第一方面至第三種可能實現方式的第四種可能實現方式,所述數據引擎虛擬機層,還用于接收應用程序下發的對所述頁面壓縮數據進行解壓的操作指令;
所述頁面壓縮數據模塊,還用于根據所述元數據模塊中保存的所述頁面壓縮數據的頁面號和偏移量,獲得所述頁面壓縮數據,并對所述頁面壓縮數據進行解壓。
結合第四種可能實現方式的第五種可能實現方式,所述頁面壓縮數據模塊,具體用于分別從所述元數據模塊中獲取第一子頁面壓縮數據的頁面號和偏移量,以及第二子頁面壓縮數據的頁面號和偏移量;根據所述第一子頁面壓縮數據的頁面號和偏移量獲得所述第一子頁面壓縮數據;根據所述第二子頁面壓縮數據的頁面號和偏移量獲得所述第二子頁面壓縮數據;分別對所述第一子頁面壓縮數據和所述第二子頁面壓縮數據進行解壓。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210590257.8/2.html,轉載請聲明來源鉆瓜專利網。





