• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>易樂天專利>正文

    一種自適應數據壓縮和解壓縮的方法和系統及存儲裝置制造方法及圖紙

    技術編號:9571192 閱讀:196 留言:0更新日期:2014-01-16 04:04
    一種自適應數據壓縮和解壓縮的方法和系統及存儲裝置,該方法的步驟為:(1)壓縮:根據存儲系統設定的壓縮率目標、存儲控制器的負載情況為需要壓縮的數據段自適應選擇對應的數據壓縮算法、參數進行數據壓縮;(2)解壓縮:獲取需要解壓縮數據段的壓縮算法、參數,并使用與所獲得的壓縮算法、參數對應的解壓縮算法為相應的數據段解壓縮。該系統為用來實施上述方法的系統。該存儲裝置包括存儲控制器和存儲介質,所述存儲控制器包括上述自適應數據壓縮和解壓縮系統。本發明專利技術能夠根據存儲系統預設壓縮率、存儲控制器負載情況,自適應選擇對應壓縮算法和壓縮參數,既能滿足存儲系統的壓縮率要求又能減少存儲控制器負載,從而大大提高存儲系統性能。

    【技術實現步驟摘要】
    一種自適應數據壓縮和解壓縮的方法和系統及存儲裝置
    本專利技術主要涉及到數據存儲領域,特指一種存儲系統的自適應數據壓縮和解壓縮方法和系統及存儲裝置。
    技術介紹
    隨著數據量的爆發式增長,存儲系統中存儲的數據量越來越多,根據IDC的統計,2012年全球數據總量達到上萬億GB,超過95%的數據為非結構化數據;在許多以數據為核心的計算中心里,每天新產生的數據量已經達到100GB甚至1TB。與此同時,新型存儲介質及其技術,如閃存(flashmemory)、相變存儲(phasechangememory)等,也在不斷發展。現有的很多計算機系統均利用數據壓縮技術對存儲數據進行壓縮,有效地降低系統的存儲成本,并能潛在減少對存儲介質的寫操作,提高存儲介質的壽命和系統的訪問性能。從壓縮技術的層次區分,數據壓縮技術的應用主要分為兩種:基于傳輸的數據壓縮和基于存儲的數據壓縮。基于傳輸的數據壓縮技術主要是發送端在進行數據傳輸之前,將數據分段并進行壓縮,接收端收到數據之后,進行解壓縮,并傳遞給用戶。由于解壓縮后的數據不要求被存儲在永久介質中,在傳輸結束之后,數據的壓縮元數據即可丟棄。由于基于傳輸的壓縮技術不考慮數據在永久存儲介質中的索引,因此,難以應用于存儲系統中。基于存儲的數據壓縮技術通常實現在存儲系統內。傳統的基于存儲的數據壓縮技術方法為存儲系統在接收到寫入的數據流時,將該數據流分割為多個數據段,然后對每個數據段進行壓縮,最終數據以數據壓縮段的形式存儲在存儲設備或者存儲介質中。基于存儲的數據壓縮技術改變了存儲數據段的大小,用戶讀取數據的地址也因此被改變,為了建立原始數據到壓縮后數據的地址映射,基于存儲的數據壓縮技術為數據壓縮段建立元數據索引結構。當一段數據被讀取時,存儲系統通常先訪問該元數據索引結構,將數據的地址映射到壓縮數據的地址。盡管已有的一些存儲系統具有一定程度的壓縮能力,但是這些已有技術通常存在以下問題:傳統的基于存儲的數據壓縮技術通常只能在存儲系統運行過程中固定地使用一種壓縮算法、參數,無法做到在線變更其壓縮算法、參數;然而壓縮算法的壓縮率(本文中所提到的壓縮率均為數據壓縮后的物理大小與壓縮前的物理大小的比值)和存儲控制器負載需求成反比關系,即在降低壓縮率的同時會很大程度提高存儲控制器的負載,這樣講造成傳統的基于存儲的數據壓縮技術無法兼顧提高壓縮率和減輕存儲控制器負載兩個指標。當采用壓縮率高的壓縮算法時,不斷的數據壓縮工作會讓存儲系統負載超荷,當采用低壓縮率的壓縮算法時,閑置的系統負載能力又無法提高數據的壓縮率。
    技術實現思路
    本專利技術要解決的技術問題就在于:針對現有技術存在的技術問題,本專利技術提供一種能夠根據存儲系統預設壓縮率、存儲控制器負載情況,自適應選擇對應壓縮算法和壓縮參數,既能滿足存儲系統的壓縮率要求又能減少存儲控制器負載,從而提高存儲系統性能的自適應數據壓縮和解壓縮方法和系統及存儲裝置。為了解決上述技術問題,本專利技術采用以下技術方案:一種自適應數據壓縮和解壓縮的方法,其步驟為:(1)壓縮:根據存儲系統設定的壓縮率目標、存儲控制器的負載情況為需要壓縮的數據段自適應選擇對應的數據壓縮算法、參數進行數據壓縮;將壓縮后的數據段和壓縮算法、參數一并寫入存儲設備或者存儲介質中;(2)解壓縮:獲取需要解壓縮數據段的壓縮算法、參數,并使用與所獲得的壓縮算法、參數對應的解壓縮算法為相應的數據段解壓縮。作為本專利技術的進一步改進:所述步驟(1)中進行壓縮的具體流程為:(1.1)存儲控制器為每個已存儲數據段或已存儲數據壓縮段與每個卷或文件的邏輯數據段之間建立映射關系,為所有映射關系建立索引結構,并將該索引結構寫入存儲設備或存儲介質中;(1.2)存儲控制器接收主機端的寫入數據流,將該寫入數據流分成一個或者多個寫入數據段;所述存儲控制器根據存儲系統設定的壓縮率目標、存儲控制器當前的負載情況為每一個寫入數據段自適應選擇對應的壓縮算法、參數進行數據壓縮,產生壓縮數據段;(1.3)將所述壓縮數據段寫入存儲設備或存儲介質,并更新所述索引結構,將該索引結構的更新部分寫入存儲設備或存儲介質中。所述步驟(1.1)的索引結構中每一個所述數據段或者所述數據壓縮段與一個索引段一一映射;每一個所述索引段表示為:版本、邏輯起始地址、邏輯長度、物理起始地址、物理長度和壓縮類型;其中,所述邏輯起始地址表示所述數據段或者所述數據壓縮段在邏輯卷或文件中的邏輯起始地址,所述邏輯長度則表示該數據段或者數據壓縮段非壓縮狀態下的原始數據的長度;所述物理地址表示所述數據段或者數據壓縮段存儲在存儲設備或者存儲介質上的物理起始地址,所述物理長度表示該數據段或者數據壓縮段在存儲設備或者存儲介質上所占據的長度大小;所述壓縮類型表示將一個數據段壓縮成為一個所述數據壓縮段時,使用的壓縮算法以及參數;所述版本是記錄所述索引段寫入的版本號,該版本號在每次所述索引段被更新時依次遞增。所述索引結構采用平衡樹索引結構或者哈希表索引結構。所述步驟(1.2)中,將寫入數據流分成一個或者多個寫入數據段的分段方法采用固定劃分方法,即從所述寫入的數據流的開始位置,以固定大小將所述寫入的數據流分割為具有固定大小的所述寫入數據段,如果所述寫入數據流小于該固定大小,則整個所述寫入的數據流作為一個所述數據段。所述步驟(1.2)中為每一個寫入數據段自適應選擇對應的具體壓縮算法、參數進行數據壓縮的方法具體包括以下方法(1.2.1)~(1.2.3)中的一個或多個:(1.2.1)根據壓縮率目標自適應選擇對應的具體壓縮算法、參數進行數據壓縮:存儲控制器從默認壓縮算法、參數開始,逐個使用每個存儲控制器中可選的壓縮算法、參數對所述寫入數據段進行數據壓縮,直到使用其中一種壓縮算法、參數獲得的壓縮數據段的壓縮率小于壓縮率目標,則將該壓縮算法、參數設置為默認壓縮算法、參數,該壓縮數據段為步驟(1.2)結果;如果在存儲控制器中的全部壓縮算法、參數中,都不存在一種壓縮算法、參數滿足壓縮率目標要求,則選取其中壓縮率最低的壓縮算法、參數為默認壓縮算法、參數,使用該壓縮算法、參數產生的壓縮數據段為步驟(1.2)結果;(1.2.2)根據存儲控制器負載狀況自適應選擇對應的具體壓縮算法、參數進行數據壓縮:將所有存儲控制器中可選的壓縮算法、參數按照存儲控制器負載需求分組,根據當前存儲控制器負載情況從對應組別中隨機選取一個壓縮算法、參數對所述寫入數據段進行壓縮,產生的數據壓縮段為步驟(1.2)結果;(1.2.3)根據壓縮率目標和存儲控制器負載狀況自適應選擇對應的具體壓縮算法、參數進行數據壓縮:所有存儲控制器中可選的壓縮算法、參數按照存儲控制器負載需求分組,根據當前存儲控制器負載情況從對應組別中逐個選取每個組內可選的壓縮算法、參數對所述寫入數據段進行數據壓縮,直到使用其中一種壓縮算法、參數獲得的壓縮數據段的壓縮率小于壓縮率目標,該壓縮數據段為步驟(1.2)結果;如果在該組別內的全部壓縮算法、參數中,都不存在一種壓縮算法、參數滿足壓縮率目標要求,則選取其中壓縮率最低的壓縮算法、參數,使用該壓縮算法、參數產生的壓縮數據段為步驟(1.2)結果。所述步驟(2)中進行解壓縮的具體流程為:(2.1)接收所述主機端的讀請求;(2.2)查詢存儲控制器中的索引結構,獲得所述讀本文檔來自技高網
    ...
    一種自適應數據壓縮和解壓縮的方法和系統及存儲裝置

    【技術保護點】
    一種自適應數據壓縮和解壓縮的方法,其特征在于,其步驟為:(1)壓縮:根據存儲系統設定的壓縮率目標、存儲控制器的負載情況為需要壓縮的數據段自適應選擇對應的數據壓縮算法、參數進行數據壓縮;將壓縮后的數據段和壓縮算法、參數一并寫入存儲設備或者存儲介質中;(2)解壓縮:獲取需要解壓縮數據段的壓縮算法、參數,并使用與所獲得的壓縮算法、參數對應的解壓縮算法為相應的數據段解壓縮。

    【技術特征摘要】
    1.一種自適應數據壓縮和解壓縮的方法,其特征在于,其步驟為:(1)壓縮:根據存儲系統設定的壓縮率目標、存儲控制器的負載情況為需要壓縮的數據段自適應選擇對應的數據壓縮算法、參數進行數據壓縮;將壓縮后的數據段和壓縮算法、參數一并寫入存儲設備或者存儲介質中;(2)解壓縮:獲取需要解壓縮數據段的壓縮算法、參數,并使用與所獲得的壓縮算法、參數對應的解壓縮算法為相應的數據段解壓縮;所述步驟(1)中進行壓縮的具體流程為:(1.1)存儲控制器為每個已存儲數據段或已存儲數據壓縮段與每個卷或文件的邏輯數據段之間建立映射關系,為所有映射關系建立索引結構,并將該索引結構寫入存儲設備或存儲介質中;(1.2)存儲控制器接收主機端的寫入數據流,將該寫入數據流分成一個或者多個寫入數據段;所述存儲控制器根據存儲系統設定的壓縮率目標、存儲控制器當前的負載情況為每一個寫入數據段自適應選擇對應的壓縮算法、參數進行數據壓縮,產生壓縮數據段;(1.3)將所述壓縮數據段寫入存儲設備或存儲介質,并更新所述索引結構,將該索引結構的更新部分寫入存儲設備或存儲介質中;所述步驟(1.2)中為每一個寫入數據段自適應選擇對應的具體壓縮算法、參數進行數據壓縮的方法具體包括以下方法(1.2.1)~(1.2.3)中的一個或多個:(1.2.1)根據壓縮率目標自適應選擇對應的具體壓縮算法、參數進行數據壓縮:存儲控制器從默認壓縮算法、參數開始,逐個使用每個存儲控制器中可選的壓縮算法、參數對所述寫入數據段進行數據壓縮,直到使用其中一種壓縮算法、參數獲得的壓縮數據段的壓縮率小于壓縮率目標,則將該壓縮算法、參數設置為默認壓縮算法、參數,該壓縮數據段為步驟(1.2)結果;如果在存儲控制器中的全部壓縮算法、參數中,都不存在一種壓縮算法、參數滿足壓縮率目標要求,則選取其中壓縮率最低的壓縮算法、參數為默認壓縮算法、參數,使用該壓縮算法、參數產生的壓縮數據段為步驟(1.2)結果;(1.2.2)根據存儲控制器負載狀況自適應選擇對應的具體壓縮算法、參數進行數據壓縮:將所有存儲控制器中可選的壓縮算法、參數按照存儲控制器負載需求分組,根據當前存儲控制器負載情況從對應組別中隨機選取一個壓縮算法、參數對所述寫入數據段進行壓縮,產生的數...

    【專利技術屬性】
    技術研發人員:易樂天錢凱趙朕毅
    申請(專利權)人:易樂天錢凱趙朕毅
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码人妻精品一区二区蜜桃AV| 亚洲美日韩Av中文字幕无码久久久妻妇| 日韩AV无码一区二区三区不卡毛片| 日韩精品无码免费视频| 亚洲AV综合色区无码一区爱AV| 亚洲中文字幕久久精品无码VA| 日韩av无码中文无码电影| 少妇无码AV无码专区线| 久久久无码精品国产一区| 国产怡春院无码一区二区| 亚洲2022国产成人精品无码区 | 无码精品黑人一区二区三区| 西西人体444www大胆无码视频| 亚洲va中文字幕无码久久| 人妻老妇乱子伦精品无码专区| 精品欧洲av无码一区二区三区| 亚洲欧洲日产国码无码网站| 国产精品亚洲а∨无码播放不卡| 无码人妻精品一区二区三区蜜桃| 亚洲AV无码日韩AV无码导航| a级毛片无码免费真人久久| 无码日韩精品一区二区人妻| 18禁超污无遮挡无码免费网站国产 | 免费A级毛片无码A∨中文字幕下载| 97在线视频人妻无码| 色综合无码AV网站| 亚洲AV色无码乱码在线观看| 精品人妻系列无码天堂| 欧洲成人午夜精品无码区久久 | 亚洲一区无码中文字幕| 国产真人无码作爱免费视频| 亚洲?V无码乱码国产精品| 五十路熟妇高熟无码视频| 永久无码精品三区在线4| 五月天无码在线观看| 自拍偷在线精品自拍偷无码专区 | AV无码精品一区二区三区| 日韩精品少妇无码受不了| 无码精品久久久天天影视| 亚洲AV色吊丝无码| (无码视频)在线观看|