国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于精簡配置系統(tǒng)的塊設備緩存裝置及其方法

      文檔序號:6547362閱讀:303來源:國知局
      一種基于精簡配置系統(tǒng)的塊設備緩存裝置及其方法
      【專利摘要】一種基于精簡配置系統(tǒng)的塊設備緩存裝置,該緩存裝置包含上層模塊和底層設備,底層設備包含一緩存設備和一數(shù)據(jù)源設備,上層模塊包含緩存管理模塊和精簡配置模塊,分別實現(xiàn)邏輯緩存資源管理功能與物理資源管理功能,精簡配置模塊對外導出邏輯容量與數(shù)據(jù)源設備容量相同的一標準塊設備邏輯卷,并且精簡配置模塊支持資源回收功能。
      【專利說明】一種基于精簡配置系統(tǒng)的塊設備緩存裝置及其方法
      【技術領域】
      [0001]該發(fā)明涉及信息【技術領域】,特別涉及存儲領域的緩存技術。
      【背景技術】
      [0002]緩存技術是決定存儲系統(tǒng)性能的重要因素之一,該技術通過在緩存層部署讀寫性能高的設備,同時利用I/o負載中普遍存在的時空局部性來降低慢速磁盤I/O對系統(tǒng)性能的影響。
      [0003]從應用形式角度出發(fā),緩存技術有兩種常見應用形式:(一)緩存子功能模塊,緩存功能僅作為宿主系統(tǒng)中性能優(yōu)化的子模塊存在,這種情況下緩存功能通常是為滿足宿主系統(tǒng)的特定需求定制的,一方面不能獨立于宿主系統(tǒng)應用,另一方面不同系統(tǒng)間的緩存功能模塊難以兼容,比如linux-kernel中的page cache, NFS客戶端緩存,Coda客戶端緩存等均屬于這種應用方式;(二)獨立緩存模塊,將緩存功能實現(xiàn)為一個可獨立運行的功能模塊,這種方式較前一種方式有更好的通用性,比如Iinux通用塊層緩存(linux-bcache, linux block layer cache)。
      [0004]從資源使用角度出發(fā),上述兩種形式通常都是將小容量的高性能存儲設備作為緩存區(qū),因此存在緩存區(qū)容量與數(shù)據(jù)源設備容量不對稱的問題。目前解決容量不對稱問題較為普遍的做法是,采用虛擬存儲技術與緩存管理技術結合的方式實現(xiàn)緩存資源按需分配,在緩存功能模塊中集成虛擬存儲技術及緩存管理技術,通常情況下,虛擬存儲技術實現(xiàn)物理資源管理及資源映射功能,即將緩存區(qū)劃分為固定大小的存儲單元,建立緩存資源映射表,按照實際需要將緩存單元映射給需要緩存的邏輯塊,并根據(jù)緩存資源的使用情況維護緩存資源映射關系,緩存管理技術則提供緩存策略支持,維護緩存管理邏輯,監(jiān)測緩存資源使用情況,根據(jù)緩存策略觸發(fā)緩存回寫,緩存替換等操作。比如linux-bcache將固態(tài)盤(solid state disk)作為緩存設備,將緩存設備以資源桶(bucket)為單位形成資源池,使用時將數(shù)據(jù)源設備與緩存設備關聯(lián),動態(tài)更新已用資源以及空閑資源狀態(tài)。Linux-kernel中頁高速緩存(page cache)將內(nèi)存作為緩存區(qū),緩存的基本單位是頁(page),其資源分配、回收由內(nèi)核的內(nèi)存管理模塊實現(xiàn),映射關系由頁高速緩存維護。基于上述分析,直接將特定存儲設備作為緩存設備,實現(xiàn)緩存功能同時需要有相應的物理資源管理功能做支持,造成緩存管理與資源管理緊耦合。
      [0005]精簡配置技術作為虛擬存儲技術的一種實現(xiàn),因為其在提高資源利用率和共享存儲兩方面的優(yōu)勢在工業(yè)界廣泛應用。精簡配置技術依賴于寫時分配,即數(shù)據(jù)寫操作發(fā)生的時候才被分配。該技術通過將所有的存儲空間按照固定的粒度劃分為大小相同的物理存儲段,并將所有物理存儲段匯集到一個共享存儲池中,按需分配物理存儲段。精簡配置存儲系統(tǒng)對外提供虛擬邏輯卷。精簡配置技術通過存儲虛擬化提供了比實際物理存儲容量更大的虛擬存儲容量,因此可以很好的解決緩存技術中緩存設備容量與數(shù)據(jù)源設備容量不對稱的問題。并且當緩存容量不足時,可能增加物理緩存設備進行擴容。然而傳統(tǒng)的精簡配置技術并不支持資源回收機制,因而無法支持緩存技術的資源回收功能。[0006]基于上述分析緩存技術在實際應用中存在以下三方面的局限:
      [0007]I)解決緩存設備容量與數(shù)據(jù)源設備容量不對稱問題,需要在緩存功能模塊中集成虛擬存儲技術實現(xiàn)物理資源管理功能。
      [0008]2)傳統(tǒng)精簡配置技術作為虛擬存儲技術的常用形式,可以通過其資源映射機制解決容量不對稱的問題,但是其自身并不支持資源回收,因此不支持緩存回收功能。
      [0009]3)對物理資源管理功能的需求導致緩存功能模塊中耦合資源映射機制,造成緩存管理與資源映射功能混合。
      [0010]本發(fā)明的目的在于,提出一種基于精簡配置系統(tǒng)的塊設備緩存方法,解決傳統(tǒng)緩存技術以下三方面的局限性:(一)緩存設備容量與源設備容量不對稱;(二)傳統(tǒng)精簡配置技術不支持資源回收功能;(三)緩存管理與資源管理功能混合。

      【發(fā)明內(nèi)容】

      [0011]本發(fā)明的目的在于,提出一種基于精簡配置系統(tǒng)的塊設備緩存裝置及其方法,解決現(xiàn)有技術中存在的問題:緩存設備容量與源設備容量不對稱;傳統(tǒng)精簡配置技術不支持資源回收功能;緩存管理與資源管理功能混合。
      [0012]為達上述目的,本發(fā)明提供了一種基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存系統(tǒng)包含上層模塊和底層設備,所述底層設備包含一緩存設備和一數(shù)據(jù)源設備,所述上層模塊包含緩存管理模塊和精簡配置模塊,分別實現(xiàn)邏輯緩存資源管理功能與物理資源管理功能,所述精簡配置模塊對外導出邏輯容量與所述數(shù)據(jù)源設備容量相同的一標準塊設備邏輯卷,并且所述精簡配置模塊支持資源回收功能。
      [0013]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于:
      [0014]所述緩存管理模塊:用于根據(jù)緩存資源管理策略維護緩存管理邏輯;所述緩存管理模塊接收應用請求,發(fā)起緩存預取,緩存回寫,緩存資源回收操作,實現(xiàn)邏輯緩存資源管理以及邏輯塊緩存狀態(tài)維護和管理;
      [0015]所述精簡配置模塊:該模塊通過通用塊層接口與所述緩存管理模塊連接,外導出指定容量的虛擬邏輯卷;所述精簡配置模塊采用自動精簡配置技術,接收所述緩存管理模塊下發(fā)讀寫緩存請求,并為首次寫實現(xiàn)資源寫時分配、資源映射,接收所述緩存管理模塊的緩存管理命令,持久化存儲緩存元數(shù)據(jù),其中,接收到緩存失效命令,實施資源回收操作并持久化存儲相應的緩存元數(shù)據(jù)。
      [0016]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存管理模塊包括:
      [0017]緩存資源管理策略模塊:用于提供統(tǒng)一的緩存策略接口,負責向緩存系統(tǒng)注冊緩存管理策略并支持動態(tài)的緩存管理策略注冊及注銷,所述緩存管理策略包括:緩存預取策略,緩存回寫策略和緩存替換策略;
      [0018]邏輯緩存資源管理模塊:用于進行緩存資源監(jiān)測,并更新和維護當前緩存資源使用記錄;
      [0019]緩存管理決策模塊:根據(jù)所述緩存管理策略進行緩存無效邏輯塊的預取、緩存邏輯塊的回寫或替換決策,并返回決策結果;
      [0020]緩存資源管理驅動模塊:根據(jù)所述緩存管理決策模塊返回的決策結果,執(zhí)行所述緩存預取、緩存回收或緩存回寫操作,并為所述緩存預取和緩存回寫構造數(shù)據(jù)遷移請求;
      [0021]應用請求映射模塊:根據(jù)請求映射方法將應用請求重定向到目標設備,所述目標設備包含:緩存設備或者數(shù)據(jù)源設備,所述請求映射方法包括:寫無效,寫回和寫直達;
      [0022]緩存元數(shù)據(jù)管理模塊:負責在內(nèi)存中維護邏輯塊的緩存狀態(tài),并根據(jù)所述緩存資源管理驅動模塊的執(zhí)行結果更新相應的所述邏輯塊的緩存狀態(tài),根據(jù)所述邏輯塊的狀態(tài)變化向所述精簡配置模塊發(fā)送元數(shù)據(jù)更新命令,所述緩存邏輯塊的緩存狀態(tài)包括:緩存干凈、緩存臟和緩存無效;
      [0023]請求提交模塊:用于提交應用請求和數(shù)據(jù)遷移請求。
      [0024]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述邏輯緩存資源管理模塊還包括:
      [0025]緩存資源監(jiān)測模塊:用于監(jiān)測空閑緩存資源數(shù)量和緩存臟邏輯塊數(shù)量,緩存資源不足或者緩存臟邏輯塊數(shù)量超過高臨界值時,通知所述緩存管理決策模塊進行緩存資源回收或者緩存回寫決策;
      [0026]邏輯緩存記錄模塊;更新并維護當前邏輯緩存資源使用記錄,其中所述邏輯緩存記錄包括空閑邏輯緩存資源數(shù)量,緩存臟邏輯塊數(shù)量和緩存干凈邏輯塊數(shù)量。
      [0027]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存資源管理驅動模塊還包括:
      [0028]數(shù)據(jù)遷移模塊:用于為緩存預取和緩存回寫構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括:數(shù)據(jù)讀請求和數(shù)據(jù)寫請求。
      [0029]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述請求提交模塊還包括:
      [0030]數(shù)據(jù)遷移請求提交模塊:用于將數(shù)據(jù)遷移請求提交到所述目標設備,并向所述元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令;
      [0031]應用請求提交模塊:用于提交應用請求提交到所述目標設備,并向所述元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令。
      [0032]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述精簡配置模塊包括:
      [0033]資源映射模塊:用于維護緩存數(shù)據(jù)塊與物理緩存存儲資源塊的映射關系;
      [0034]元數(shù)據(jù)處理模塊:用于更新所述緩存邏輯塊的緩存狀態(tài)并持久化存儲所述緩存狀態(tài),向所述緩存設備提供所述緩存狀態(tài)查詢服務;
      [0035]資源虛擬化管理模塊:用于負責將所述緩存設備進行虛擬池化管理,按照需求提供存儲資源;
      [0036]資源分配模塊:用于接收資源分配命令從可用資源池中分配存儲資源;
      [0037]資源回收模塊:用于接收資源回收命令并執(zhí)行所述資源回收操作。
      [0038]上述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述通用塊層接口包括:
      [0039]數(shù)據(jù)接口:用于所述緩存管理模塊與所述精簡配置模塊之間的1請求的傳遞;
      [0040]控制命令接口:用于所述緩存管理模塊與所述資精簡配置模塊之間的控制命令傳遞,所述控制命令包括:緩存狀態(tài)更新命令和緩存狀態(tài)查詢命令。[0041]本發(fā)明還提供一種基于精簡配置系統(tǒng)的塊設備緩存方法,應用于如所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存方法包括:
      [0042]緩存管理步驟:用于進行緩存資源策略管理、緩存預取、緩存回收、緩存回寫和應用請求處理;
      [0043]精簡配置步驟,用于進行1請求處理,緩存資源寫時分配、資源回收和元數(shù)據(jù)狀
      態(tài)管理。
      [0044]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存管理步驟包括:
      [0045]緩存管理策略注冊與注銷步驟:用于生成并注冊緩存管理策略,并可根據(jù)用戶管理需求結合所述緩存管理策略的引用情況,進行所述緩存管理策略的保留或移除;
      [0046]緩存預取步驟:根據(jù)所述緩存管理決策模塊確定的緩存預取決策,更新待預取緩存邏輯塊集合,并執(zhí)行緩存預取操作;
      [0047]緩存回收步驟:根據(jù)所述緩存管理決策模塊確定的緩存邏輯塊的回收決策,更新待回收緩存邏輯塊集合,并執(zhí)行緩存資源回收操作;
      [0048]緩存回寫步驟:根據(jù)所述緩存管理決策模塊確定的緩存邏輯塊的回寫決策,更新待回寫緩存邏輯塊集合,并執(zhí)行緩存回寫操作;
      [0049]應用讀請求處理步驟:所述應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用讀請求,獲取所述讀請求的目標設備以及所述讀請求產(chǎn)生的元數(shù)據(jù)變化操作,并重定向所述讀請求到目標設備;
      [0050]應用寫請求處理步驟:所述應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用寫請求,獲取所述寫請求目標設備以及所述寫請求產(chǎn)生的元數(shù)據(jù)變化操作,進行所述寫請求與元數(shù)據(jù)更新命令綁定,重定向所述寫請求到目標設備,并完成數(shù)據(jù)和元數(shù)據(jù)更新。
      [0051]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述精簡配置步驟包括:
      [0052]資源分配步驟:所述精簡配置模塊接收資源分配請求,并從資源池中為緩存邏輯塊分配物理存儲塊,建立所述緩存邏輯塊與所述物理存儲塊的映射關系,并更新資源映射表和空閑物理資源記錄;
      [0053]資源回收步驟:所述精簡配置模塊接收所述緩存設備針對緩存邏輯塊的緩存失效命令,所述元數(shù)據(jù)管理模塊更新所述緩存邏輯塊的元數(shù)據(jù),并取消所述緩存邏輯塊和所述物理存儲塊的映射關系,更新空閑物理資源記錄;
      [0054]元數(shù)據(jù)處理步驟:所述精簡配置模塊接收元數(shù)據(jù)更新命令,進行元數(shù)據(jù)更新,或接收元數(shù)據(jù)查詢命令,進行元數(shù)據(jù)查詢;
      [0055]寫請求處理步驟:所述邏輯卷接收所述寫請求和所述元數(shù)據(jù)更新命令,通知所述元數(shù)據(jù)管理模塊進行元數(shù)據(jù)更新,為所訪問邏輯地址的首次寫向資源分配模塊發(fā)送資源分配命令,資源分配模塊為該請求分配物理存儲塊;將寫請求轉發(fā)到下層物理設備;
      [0056]讀請求處理步驟:所述邏輯卷接收所述讀請求,查找所述讀請求訪問緩存邏輯塊的數(shù)據(jù)存儲的物理存儲塊,并將所述讀請求重定向到目標物理存儲地址。
      [0057]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存管理策略注冊與注銷步驟還包括:[0058]緩存資源管理策略注冊步驟包括:緩存系統(tǒng)策略框架生成緩存管理策略實例,所述緩存管理策略包括:緩存預取,緩存回寫和緩存替換,將所述緩存管理策略添加到所述緩存系統(tǒng)的策略庫中;
      [0059]緩存資源管理策略注銷步驟包括:檢查待注銷的所述緩存管理策略是否被引用,若所述緩存管理策略未被引用,則將所述緩存管理策略從所述策略庫中移除,若所述緩存管理策略正在被引用,則不做任何操作。
      [0060]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存預取步驟還包括:
      [0061]緩存預取決策步驟:所述緩存管理決策模塊根據(jù)接收到的緩存預取決策詢問消息,進行緩存預取決策,并更新待預取邏輯塊集合,將所述待預取邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可預取的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊;
      [0062]緩存預取執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可預取的邏輯塊數(shù)量執(zhí)行預取操作。
      [0063]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存預取執(zhí)行步驟還包括:
      [0064]預取請求構造步驟:所述數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括讀數(shù)據(jù)源設備請求和寫緩存設備請求,并且所述邏輯緩存資源管理模塊向所述緩存資源監(jiān)測模塊發(fā)送邏輯資源分配請求;
      [0065]檢查資源數(shù)量步驟:所述緩存資源監(jiān)測模塊檢查空閑邏輯資源數(shù)量是否滿足資源分配要求,如果不滿足,則等待資源滿足分配條件,如果滿足,則進行邏輯緩存資源分配;
      [0066]緩存資源分配步驟:所述數(shù)據(jù)遷移請求提交模塊通知所述元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令,將所述元數(shù)據(jù)更新命令與所述數(shù)據(jù)遷移請求綁定,并提交給所述精簡配置模塊執(zhí)行緩存資源分配以及數(shù)據(jù)遷移,更新相關緩存狀態(tài)以及緩存干凈邏輯塊記錄。
      [0067]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回收步驟還包括:
      [0068]緩存回收決策步驟:所述緩存資源監(jiān)測模塊監(jiān)測到空閑資源低于臨界值,所述緩存管理決策模塊根據(jù)接收到的緩存回收決策消息,進行緩存回收決策,并更新待回收邏輯塊集合,將所述待回收邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回收的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊;
      [0069]緩存回收執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可回收的邏輯塊數(shù)量執(zhí)行回收操作。
      [0070]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回收執(zhí)行步驟還包括:
      [0071]回收請求構造步驟:所述元數(shù)據(jù)管理模塊構造緩存邏輯塊的緩存失效元數(shù)據(jù)更新命令,并提交給所述請求提交模塊;
      [0072]緩存資源回收步驟:所述請求提交模塊將所述緩存失效元數(shù)據(jù)更新請求提交給所述精簡配置模塊執(zhí)行緩存資源回收,并更新緩存邏輯塊狀態(tài),更新空閑邏輯資源記錄和緩存干凈邏輯塊記錄。
      [0073]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回寫步驟還包括:
      [0074]緩存回寫決策步驟:所述緩存資源監(jiān)測模塊監(jiān)測到臟緩存塊數(shù)量高于臨界值,所述緩存管理決策模塊根據(jù)接收到的緩存回寫決策消息,進行緩存回寫決策,并更新待回寫邏輯塊集合,將所述待回寫邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回寫的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊;
      [0075]緩存回寫執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可回寫的邏輯塊數(shù)量執(zhí)行回寫操作。
      [0076]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回寫執(zhí)行步驟還包括:
      [0077]回寫請求構造步驟:所述數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括讀緩存設備請求和寫數(shù)據(jù)源設備請求,并且所述元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令;
      [0078]緩存資源回寫步驟:將所述元數(shù)據(jù)更新命令與所述數(shù)據(jù)遷移請求綁定,提交給所述精簡配置模塊執(zhí)行緩存邏輯塊回寫,并更新緩存塊狀態(tài),更新緩存臟邏輯塊記錄和緩存干凈邏輯塊記錄。
      [0079]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述應用讀請求處理步驟還包括:
      [0080]讀請求查詢并更新緩存記錄步驟:所述緩存管理模塊接收到應用的讀請求,在緩存數(shù)據(jù)中查詢所述讀請求訪問的緩存邏輯塊的緩存記錄,并通知所述緩存管理策略模塊進行緩存管理記錄更新;
      [0081]讀請求映射項查詢步驟:讀取注冊的所述請求映射方法,根據(jù)所述請求映射方法進行邏輯塊的緩存狀態(tài)的映射項查詢;
      [0082]讀請求映射步驟:根據(jù)所述映射項將所述讀請求映射到目標設備,并將所述讀請求重定向到所述目標設備進行處理,所述目標設備為數(shù)據(jù)源設備或者緩存設備。
      [0083]上述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述應用寫請求處理步驟還包括:
      [0084]寫請求查詢并更新緩存記錄步驟:緩存接收到應用的寫請求,在緩存數(shù)據(jù)中查詢所述寫請求訪問的邏輯塊的緩存記錄,并通知所述緩存管理策略模塊進行緩存管理記錄更新;
      [0085]寫請求映射項查詢步驟:讀取注冊的所述請求映射方法,根據(jù)所述請求映射方法進行邏輯塊緩存狀態(tài)的映射項查詢;
      [0086]寫請求映射步驟:根據(jù)所述映射項將所述寫請求映射到目標設備,并將所述寫請求與元數(shù)據(jù)命令綁定,將所述寫請求重定向到所述目標設備,所述元數(shù)據(jù)命令提交給所述精簡配置模塊和所述元數(shù)據(jù)管理模塊進行處理。
      [0087]與現(xiàn)有技術相比,本發(fā)明的積極效果在于:
      [0088]I)對外提供標準塊設備接口 ;
      [0089]2)緩存功能維護與物理資源管理實施分離,更好的支持策略與機制分離;
      [0090]3)可以在存儲系統(tǒng)的1路徑上靈活部署。
      【專利附圖】

      【附圖說明】[0091]圖1為本發(fā)明塊設備緩存裝置結構示意圖;
      [0092]圖2為本發(fā)明緩存系統(tǒng)邏輯結構示意圖;
      [0093]圖3為緩存管理模塊結構示意圖;
      [0094]圖4為本發(fā)明精簡配置模塊結構示意圖;
      [0095]圖5為本發(fā)明接口示意圖;
      [0096]圖6為本發(fā)明緩存方法流程示意圖;
      [0097]圖7A~圖7F為本發(fā)明步驟詳細流程示意圖;
      [0098]圖8為本發(fā)明精簡配置步驟流程示意圖;
      [0099]圖9為本發(fā)明實施例緩存預取步驟示意圖;
      [0100]圖10為本發(fā)明實施例緩存回收步驟示意圖;
      [0101]圖11為本發(fā)明實施例緩存回與步驟不意圖;
      [0102]圖12為本發(fā)明實施例讀請求處理步驟示意圖;
      [0103]圖13為本發(fā)明實施例寫請求處理步驟示意圖。
      [0104]其中,附圖標記:
      [0105]I緩存管理模塊2精簡配置模塊
      [0106]11緩存資源管理策略模塊12邏輯緩存資源管理模塊
      [0107]13緩存管理決策模塊14緩存資源管理驅動模塊
      [0108]15應用請求映射模塊16緩存元數(shù)據(jù)管理模塊
      [0109]17請求提交模塊
      [0110]21資源映射模塊22元數(shù)據(jù)處理模塊
      [0111]23資源虛擬化管理模塊 24資源分配模塊
      [0112]25資源回收模塊
      [0113]121緩存資源監(jiān)測模塊 122邏輯緩存記錄模塊
      [0114]141數(shù)據(jù)遷移模塊
      [0115]171數(shù)據(jù)遷移請求提交模塊 172應用請求提交模塊
      [0116]SI~S2、S11~S 16、S21~S25、S111~S163:本發(fā)明具體實施例步驟
      【具體實施方式】
      [0117]下面給出本發(fā)明的【具體實施方式】,結合圖示對本發(fā)明做出了詳細描述。
      [0118]圖1為本發(fā)明塊設備緩存裝置結構示意圖,如圖1所示,一種基于精簡配置系統(tǒng)的塊設備緩存裝置,該緩存裝置包含上層模塊和底層設備,底層設備包含一緩存設備和一數(shù)據(jù)源設備,上層模塊包含緩存管理模塊I和精簡配置模塊2,實現(xiàn)緩存管理與資源管理功能分離,精簡配置模塊I對外導出邏輯容量與數(shù)據(jù)源設備相等容量的一標準塊設備邏輯卷,并且精簡配置模塊I支持資源回收操作。
      [0119]其中,緩存管理模塊I用于根據(jù)緩存資源管理策略,維護緩存管理邏輯,實現(xiàn)緩存邏輯塊狀態(tài)維護和管理;
      [0120]其中,精簡配置模塊2通過一通用塊層接口與緩存管理模塊I連接,該模塊采用自動精簡配置技術,根據(jù)接收緩存管理模塊I下發(fā)讀寫緩存請求,并為首次寫實現(xiàn)資源寫時分配,接收所述緩存管理模塊的緩存管理命令,持久化存儲緩存元數(shù)據(jù),其中,接收到資源回收命令,實施資源回收操作并持久化存儲相應的緩存元數(shù)據(jù),并對外導出指定容量的虛擬邏輯卷。
      [0121]本發(fā)明具有特點:
      [0122]I)標準塊設備層疊的緩存系統(tǒng)結構,數(shù)據(jù)源設備與緩存設備均為標準塊設備;
      [0123]2)緩存系統(tǒng)對外導出與數(shù)據(jù)源設備等容量的邏輯卷,該邏輯卷亦為標準塊設備。
      [0124]3)緩存設備為與數(shù)據(jù)源設備等容量的精簡配置邏輯卷,圖2為本發(fā)明緩存系統(tǒng)邏輯結構示意圖,如圖2所示。
      [0125]4)支持緩存管理功能與資源映射功能分離,將傳統(tǒng)緩存系統(tǒng)實現(xiàn)按照功能功能自頂向下分為緩存管理模塊I和精簡配置模塊2,由精簡配置模塊2實現(xiàn)資源映射機制。
      [0126]5)緩存管理模塊1,用于維護緩存管理邏輯,實現(xiàn)緩存狀態(tài)維護和管理。圖3為緩存管理模塊結構示意圖,邏輯結構如圖3所示。
      [0127]6)緩存元數(shù)據(jù)由資源映射層固化存儲到非易失設備,支持緩存設備重構。
      [0128]其中,如圖3所示,緩存管理模塊I包括:
      [0129]緩存資源管理策略模塊11:用于提供統(tǒng)一的緩存策略接口,負責向緩存系統(tǒng)注冊緩存管理策略并支持動態(tài)的緩存管理策略注冊和注銷,緩存管理策略包括:緩存預取,緩存回寫和緩存替換;
      [0130]緩存資源管理策略模塊11,提供統(tǒng)一的緩存策略接口,負責向緩存層注冊緩存管理策略并支持動態(tài)的緩存管理策略注冊和注銷,該緩存管理策略包括,緩存預取策略,緩存回寫策略,緩存替換策略三部分;
      [0131]邏輯緩存資源管理模塊12:用于進行緩存資源監(jiān)測,并更新和維護當前邏輯緩存資源記錄,其中邏輯緩存資源記錄包括,空閑邏輯緩存資源記錄,緩存臟邏輯塊記錄,緩存干凈邏輯塊記錄;
      [0132]其中,邏輯緩存資源管理模塊12還包括:
      [0133]緩存資源監(jiān)測模塊121:用于監(jiān)測空閑緩存資源數(shù)量和緩存臟邏輯塊數(shù)量,緩存資源不足或者緩存臟邏輯塊數(shù)量超過臨界值時,通知緩存管理決策模塊進行緩存資源回收或者緩存回寫決策;
      [0134]緩存資源監(jiān)測模塊121,監(jiān)測空閑緩存資源數(shù)量和緩存臟邏輯塊數(shù)量,緩存資源不足時通知緩存管理決策模塊,進行資源回收決策,緩存臟邏輯塊數(shù)量超過預設比例時通知緩存管理決策模塊進行回寫決策;
      [0135]邏輯緩存記錄模塊122 ;更新并記錄當前空閑邏輯緩存資源數(shù)量,緩存臟邏輯塊數(shù)量和緩存干凈邏輯塊數(shù)量;
      [0136]邏輯緩存記錄模塊122,更新并記錄當前空閑邏輯緩存資源數(shù)量,緩存臟邏輯塊數(shù)量以及緩存干凈邏輯塊數(shù)量;
      [0137]緩存管理決策模塊13:根據(jù)緩存管理策略進行邏輯塊的預取、緩存邏輯塊回寫或替換決策,并返回決策結果;
      [0138]緩存資源管理驅動模塊14:根據(jù)緩存管理決策模塊返回的決策結果,執(zhí)行緩存預取、緩存回收或緩存回寫操作,并為緩存預取和緩存回寫構造數(shù)據(jù)遷移請求;其中,執(zhí)行緩存預取時為待預取邏輯塊分配邏輯緩存資源。
      [0139]緩存管理驅動模塊14,根據(jù)緩存決策模塊的決策執(zhí)行緩存預取,并執(zhí)行邏輯緩存資源分配,執(zhí)行緩存資源回收,以及緩存回寫;
      [0140]其中,緩存資源管理驅動模塊14還包括:
      [0141]數(shù)據(jù)遷移模塊141:用于緩存預取和緩存回寫構造數(shù)據(jù)遷移請求,數(shù)據(jù)遷移請求包括:數(shù)據(jù)讀請求和數(shù)據(jù)寫請求;
      [0142]數(shù)據(jù)遷移模塊141,為緩存預取和緩存回寫構造數(shù)據(jù)遷移請求,其中數(shù)據(jù)遷移請求包括從遷移源設備中讀數(shù)據(jù)的讀請求和向數(shù)據(jù)遷移目標設備寫數(shù)據(jù)的寫請求。
      [0143]應用請求映射模塊15:根據(jù)請求映射方法將應用請求重定向到目標設備,目標設備包含:緩存設備或者數(shù)據(jù)源設備,請求映射方法包括:支持寫無效,寫回和寫直達。
      [0144]應用請求映射模塊15,根據(jù)指定的請求映射方法將應用請求重定向到緩存設備或者數(shù)據(jù)源設備,支持寫無效(write-1nvalid),寫回(write-back),寫直達(write-through)三種映射方法。
      [0145]緩存元數(shù)據(jù)管理模塊16:負責在內(nèi)存中維護緩存邏輯塊的緩存狀態(tài),并根據(jù)緩存資源管理驅動模塊的執(zhí)行結果更新相應的邏輯塊的緩存狀態(tài),根據(jù)邏輯塊的狀態(tài)變化向精簡配置模塊2發(fā)送元數(shù)據(jù)更新命令,或者緩存狀態(tài)查詢命令,緩存邏輯塊的緩存狀態(tài)包括:緩存干凈、緩存臟和緩存無效;
      [0146]緩存元數(shù)據(jù)管理模塊16,在內(nèi)存中維護緩存邏輯塊緩存狀態(tài),并根據(jù)緩存管理驅動模塊14的執(zhí)行結果更新邏輯塊緩存狀態(tài);構造元數(shù)據(jù)更新命令,并向精簡配置模塊2發(fā)送元數(shù)據(jù)更新命令;其中,邏輯塊緩存狀態(tài)有三種,緩存無效(cache invalid),該邏輯塊對應的數(shù)據(jù)未被緩存;緩存干凈(cache clean),該邏輯塊對應的數(shù)據(jù)被緩存且緩存中的數(shù)據(jù)與源設備中的數(shù)據(jù)一致;緩存臟(cache dirty),該邏輯塊對應的數(shù)據(jù)被緩存且緩存中的數(shù)據(jù)被更新過,與源設備中的數(shù)據(jù)不一致。
      [0147]請求提交模塊17:用于提交數(shù)據(jù)遷移請求應用請求和緩存數(shù)據(jù)遷移請求。請求提交模塊17,負責將數(shù)據(jù)遷移請求或者應用請求提交到數(shù)據(jù)源設備或緩存設備;調(diào)用元數(shù)據(jù)管理模塊接口向緩存設備發(fā)送元數(shù)據(jù)更新命令。
      [0148]其中,請求提交模塊17還包括:
      [0149]數(shù)據(jù)遷移請求提交模塊171:用于將數(shù)據(jù)遷移請求的讀寫請求提交到目標設備,并向元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令;
      [0150]應用請求提交模塊172:用于提交應用請求提交到目標設備,并向元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令。
      [0151]其中,圖4為本發(fā)明精簡配置模塊結構示意圖,如圖4所示,精簡配置模塊2包括:
      [0152]資源映射模塊21:用于維護緩存數(shù)據(jù)塊與物理緩存存儲資源塊的映射關系;
      [0153]元數(shù)據(jù)處理模塊22:用于更新并持久化存儲緩存邏輯塊的緩存狀態(tài),向緩存設備提供緩存狀態(tài)查詢服務;
      [0154]資源虛擬化管理模塊23:用于負責將緩存物理設備進行虛擬池化管理,按照需求提供存儲資源;
      [0155]資源分配模塊24:用于接收資源分配命令從可用資源池中分配存儲資源;
      [0156]資源回收模塊25:用于接收資源回收命令并執(zhí)行資源回收操作。
      [0157]其中,圖5為本發(fā)明接口示意圖,如圖5所示,通用塊層接口包括:
      [0158]數(shù)據(jù)接口:用于緩存管理模塊I與精簡配置模塊2之間的1請求的傳輸;[0159]控制命令接口:用于緩存管理模塊I與精簡配置模塊2之間的控制命令傳輸,控制命令包括:緩存狀態(tài)更新命令和緩存狀態(tài)查詢命令。
      [0160]緩存管理模塊I與精簡配置模塊2通過通用塊層標準數(shù)據(jù)接口和控制命令接口通信,緩存系統(tǒng)的應用請求流程、數(shù)據(jù)遷移請求流程、元數(shù)據(jù)命令流程均為通用塊層處理流程。
      [0161]數(shù)據(jù)接口,負責緩存管理模塊I與精簡配置模塊2間的1請求處理,緩存管理模塊I與精簡配置模塊2間的請求包括應用讀寫請求,緩存系統(tǒng)數(shù)據(jù)遷移請求的讀請求或者寫請求;其中,緩存系統(tǒng)的數(shù)據(jù)遷移請求,包括緩存預取數(shù)據(jù)遷移請求和緩存回寫數(shù)據(jù)遷移請求;
      [0162]控制命令接口,實現(xiàn)緩存管理模塊I與精簡配置模塊2間的控制命令傳遞,其中,該控制命令包括:
      [0163]緩存狀態(tài)更新命令,通知精簡配置模塊更新邏輯塊的緩存狀態(tài),并將該狀態(tài)存儲到元數(shù)據(jù)存儲區(qū);
      [0164]緩存狀態(tài)查詢命令,精簡配置模塊從元數(shù)據(jù)區(qū)讀取指定邏輯塊的緩存狀態(tài)并返回給緩存管理模塊。
      [0165]本發(fā)明還提供一種基于精簡配置系統(tǒng)的塊設備緩存方法,應用于如所述基于精簡配置的塊設備緩存裝置,圖6為本發(fā)明緩存方法流程示意圖,如圖6所示,該緩存方法包括:
      [0166]緩存管理步驟S1:用于進行緩存資源策略管理、緩存預取、緩存回收、緩存回寫和應用請求處理;
      [0167]精簡配置步驟S2:用于進行緩存資源寫時分配、資源回收和元數(shù)據(jù)狀態(tài)管理。
      [0168]其中,緩存管理步驟SI包括:
      [0169]緩存管理策略注冊與注銷步驟Sll:用于生成并注冊緩存管理策略,并根據(jù)緩存管理策略的引用情況,進行緩存管理策略的保留或移除;
      [0170]緩存預取步驟S12:根據(jù)緩存管理決策模塊確定的緩存預取決策,更新待預取緩存邏輯塊集合,并執(zhí)行預取操作;
      [0171]緩存回收步驟S13:根據(jù)緩存管理決策模塊確定的緩存邏輯塊的回收決策,更新待回收緩存邏輯塊集合,并執(zhí)行回收操作;
      [0172]緩存回寫步驟S14:根據(jù)緩存管理決策模塊確定的緩存邏輯塊的回寫決策,更新待回寫緩存邏輯塊集合,并執(zhí)行回寫操作;
      [0173]應用讀請求處理步驟S15:應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用讀請求,獲取讀請求的目標設備以及讀請求產(chǎn)生的元數(shù)據(jù)變化操作,并重定向讀請求到目標設備;
      [0174]應用寫請求處理步驟S16:應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用寫請求,獲取寫請求目標設備以及寫請求產(chǎn)生的元數(shù)據(jù)變化操作,重定向寫請求到目標設備,進行寫請求與元數(shù)據(jù)更新命令綁定,并完成數(shù)據(jù)更新和數(shù)據(jù)遷移。
      [0175]其中,圖7A?圖7F為本發(fā)明步驟詳細流程示意圖,如圖7A?圖7F所示,緩存管理策略注冊與注銷步驟Sll還包括:
      [0176]緩存資源管理策略注冊步驟Slll:緩存系統(tǒng)策略框架生成緩存管理策略實例,緩存管理策略包括:緩存預取,緩存回寫和緩存替換,將所述緩存管理策略添加到所述緩存系統(tǒng)的策略庫中;
      [0177]緩存資源管理策略注銷步驟S112:檢查待注銷的緩存管理策略是否被引用,若緩存管理策略未被引用,則將緩存管理策略從策略庫中移除,若緩存管理策略正在被引用,則不做任何操作。
      [0178]其中,緩存預取步驟S12還包括:
      [0179]緩存預取決策步驟S121:緩存管理決策模塊根據(jù)接收到的緩存預取決策詢問消息,進行緩存預取決策,并更新待預取邏輯塊集合,將邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可預取的邏輯塊數(shù)量發(fā)送給緩存管理驅動模塊;
      [0180]緩存預取執(zhí)行步驟S122:緩存管理驅動模塊根據(jù)接收到的當前可預取的邏輯塊數(shù)量執(zhí)行預取操作。
      [0181]其中,緩存預取執(zhí)行步驟S122還包括:
      [0182]預取請求構造步驟S1221:數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,數(shù)據(jù)遷移請求包括讀數(shù)據(jù)源設備請求和寫緩存設備請求,并且邏輯緩存資源管理模塊向緩存資源監(jiān)測模塊發(fā)送邏輯資源分配請求;
      [0183]檢查資源數(shù)量步驟S1222:緩存資源監(jiān)測模塊檢查空閑邏輯資源數(shù)量是否滿足資源分配要求,如果不滿足,則執(zhí)行請求構造步驟,如果滿足,則進行緩存資源分配;
      [0184]緩存資源分配步驟S1223:數(shù)據(jù)遷移請求提交模塊通知元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令,將元數(shù)據(jù)更新命令與數(shù)據(jù)遷移請求綁定,并提交給精簡配置模塊執(zhí)行緩存資源分配以及數(shù)據(jù)遷移,更新相關緩存狀態(tài),通知邏輯緩存記錄模塊更新緩存干凈邏輯塊記錄。
      [0185]其中,緩存回收步驟S13還包括:
      [0186]緩存回收決策步驟S131:緩存資源監(jiān)測模塊監(jiān)測到空閑資源低于臨界值,緩存管理決策模塊根據(jù)接收到的緩存回收決策消息,進行緩存回收決策,并更新待回收邏輯塊集合,將邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回收的邏輯塊數(shù)量發(fā)送給緩存管理驅動模塊;
      [0187]緩存回收執(zhí)行步驟S132:緩存管理驅動模塊根據(jù)接收到的當前可回收的邏輯塊數(shù)量執(zhí)行回收操作。
      [0188]其中,緩存回收執(zhí)行步驟S132還包括:
      [0189]回收請求構造步驟S1321:元數(shù)據(jù)管理模塊構造緩存邏輯塊的緩存失效元數(shù)據(jù)更新命令,并提交給請求提交模塊;
      [0190]緩存資源回收步驟S1322:請求提交模塊將緩存失效元數(shù)據(jù)更新請求提交給精簡配置模塊執(zhí)行緩存資源回收,并更新緩存邏輯塊狀態(tài),更新空閑邏輯資源記錄和緩存干凈邏輯塊記錄。
      [0191]其中,緩存回寫步驟S14還包括:
      [0192]緩存回寫決策步驟S141:緩存資源監(jiān)測模塊監(jiān)測到臟緩沖塊數(shù)量高于臨界值,緩存管理決策模塊根據(jù)接收到的緩存回寫決策消息,進行緩存回寫決策,并更新待回寫邏輯塊集合,將邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回寫的邏輯塊數(shù)量發(fā)送給緩存管理驅動模塊;[0193]緩存回寫執(zhí)行步驟S142:緩存管理驅動模塊根據(jù)接收到的當前可回寫的邏輯塊數(shù)量執(zhí)行回寫操作。
      [0194]其中,緩存回寫執(zhí)行步驟S142還包括:
      [0195]回寫請求構造步驟S1421:數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,數(shù)據(jù)遷移請求包括讀緩存設備請求和寫數(shù)據(jù)源設備請求,并且通知元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令;
      [0196]緩存資源回寫步驟S1422:將元數(shù)據(jù)更新命令與數(shù)據(jù)遷移請求綁定,提交給精簡配置模塊執(zhí)行緩存邏輯塊回寫,并更新緩存塊狀態(tài),更新緩存臟邏輯塊記錄和緩存干凈邏輯塊記錄。
      [0197]其中,應用讀請求處理步驟S15還包括:
      [0198]讀請求查詢并更新緩存記錄步驟S151:緩存管理模塊接收到應用的讀請求,在緩存數(shù)據(jù)中查詢讀請求訪問的緩存邏輯塊的緩存記錄,并通知緩存管理策略模塊進行緩存管理記錄更新;
      [0199]讀請求映射項查詢步驟S152:讀取注冊的請求映射方法,根據(jù)請求映射方法進行邏輯塊的緩存狀態(tài)的映射項查詢;
      [0200]讀請求映射步驟S153:根據(jù)映射項將讀請求映射到目標設備,并將讀請求重定向到目標設備進行處理,目標設備為數(shù)據(jù)源設備或者緩存設備。
      [0201]其中,應用寫請求處理步驟S16還包括:
      [0202]寫請求查詢并更新緩存記錄步驟S161:緩存接收到應用的寫請求,在緩存數(shù)據(jù)中查詢寫請求訪問的邏輯塊的緩存記錄,并通知緩存管理策略模塊進行緩存管理記錄更新;
      [0203]寫請求映射項查詢步驟S162:讀取注冊的請求映射方法,根據(jù)請求映射方法進行邏輯塊緩存狀態(tài)的映射項查詢;
      [0204]寫請求映射步驟S163:根據(jù)映射項將寫請求映射到目標設備,并將所述寫請求與元數(shù)據(jù)命令綁定,將所述寫請求重定向到目標設備,所述元數(shù)據(jù)命令提交給所述精簡配置模塊和所述元數(shù)據(jù)管理模塊進行處理。
      [0205]其中,圖8為本發(fā)明精簡配置步驟流程示意圖,如圖8所示,精簡配置步驟S2包括:
      [0206]資源分配步驟S21:精簡配置模塊接收資源分配請求,并從資源池中為緩存邏輯塊分配物理存儲塊,建立緩存邏輯塊與物理存儲塊的映射關系,并更新資源映射表;
      [0207]資源回收步驟S22:精簡配置模塊接收緩存設備針對緩存邏輯塊的緩存失效命令,元數(shù)據(jù)管理模塊更新緩存邏輯塊的元數(shù)據(jù),并取消緩存邏輯塊和物理存儲塊的映射關系,更新空閑物理資源記錄;
      [0208]元數(shù)據(jù)處理步驟S23:精簡配置模塊接收元數(shù)據(jù)更新命令,進行元數(shù)據(jù)更新并將元數(shù)據(jù)存儲到元數(shù)據(jù)存儲區(qū),或接收元數(shù)據(jù)查詢命令,進行元數(shù)據(jù)查詢;
      [0209]寫請求處理步驟S24:邏輯卷接收寫請求和元數(shù)據(jù)更新命令,通知元數(shù)據(jù)管理模塊進行元數(shù)據(jù)更新,為所訪問邏輯地址的首次寫向資源分配模塊發(fā)送資源分配命令,資源分配模塊為該請求分配物理存儲塊;將寫請求轉發(fā)到下層物理設備;
      [0210]讀請求處理步驟S25:邏輯卷接收讀請求,查找讀請求訪問緩存邏輯塊的數(shù)據(jù)存儲的物理存儲塊,并將讀請求重定向到目標設備。
      [0211]以下結合具體實施例詳細說明本發(fā)明緩存方法的流程。[0212]本發(fā)明涉及緩存管理步驟和精簡配置步驟兩部分。
      [0213](一)緩存管理步驟
      [0214]緩存管理步驟包括緩存管理策略注冊與注銷步驟,緩存預取步驟,緩存回收步驟,緩存回寫步驟,應用讀請求處理步驟,應用寫請求處理步驟。
      [0215]1.緩存管理策略注冊與注銷步驟:
      [0216]a)緩存管理策略注冊步驟:
      [0217]1.按照緩存系統(tǒng)策略框架生成緩存管理策略模塊實例;
      [0218]i1.加載緩存管理策略模塊;
      [0219]ii1.將緩存策略模塊添加到緩存系統(tǒng)的策略庫中,策略注冊完成。
      [0220]b)緩存管理策略注銷步驟:
      [0221]b1.檢查被注銷的緩存管理策略是否被引用;若該策略正在被引用執(zhí)行步驟(bii);否則執(zhí)行步驟(biii);
      [0222]bi1.保留策略模塊,并返回;
      [0223]bii1.將該策略模塊從緩存系統(tǒng)策略庫中移除,策略注銷完成返回。
      [0224]2.緩存預取步驟,圖9為本發(fā)明實施例緩存預取步驟示意圖,如圖9所示:
      [0225]步驟S301:緩存預取線程向當前緩存管理決策模塊發(fā)送緩存預取決策詢問消息;
      [0226]步驟S302:緩存管理決策模塊通知緩存預取策略進行預取決策;
      [0227]步驟S303:緩存預取策略根據(jù)當前預取算法,更新待預取邏輯塊集合,將集合中的邏輯塊按照優(yōu)先級排列,并返回當前可預取的邏輯塊數(shù)量N ;
      [0228]步驟S304:緩存管理驅動模塊選取待預取邏輯塊集合中的前N個邏輯塊執(zhí)行預取操作:
      [0229]步驟S3041:數(shù)據(jù)遷移子模塊為邏輯塊構造數(shù)據(jù)遷移請求,其中數(shù)據(jù)遷移請求包括讀數(shù)據(jù)源設備請求和寫緩存設備請求;
      [0230]步驟S3042:向邏輯緩存資源管理模塊發(fā)送邏輯資源分配請求,該模塊通知緩存資源監(jiān)測子模塊,檢查緩存層空閑邏輯緩存資源數(shù)量是否滿足資源分配要求;
      [0231]步驟S3043:若不滿足,則等待重復執(zhí)行步驟S3042,否則執(zhí)行邏輯緩存資源分配,并更新空閑邏輯資源記錄;
      [0232]步驟S3044:數(shù)據(jù)遷移子模塊將數(shù)據(jù)遷移請求提交到數(shù)據(jù)遷移請求提交子模塊;
      [0233]步驟S3045:數(shù)據(jù)遷移請求提交子模塊通知元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令;
      [0234]步驟S3046:將數(shù)據(jù)遷移請求與元數(shù)據(jù)命令綁定;
      [0235]步驟S3047:請求提交模塊向精簡配置模塊緩存設備邏輯卷提交數(shù)據(jù)遷移請求;并調(diào)用元數(shù)據(jù)管理模塊向緩存設備提交數(shù)據(jù)更新命令;
      [0236]步驟S3048:元數(shù)據(jù)更新命令及數(shù)據(jù)遷移請求均完成后,更新內(nèi)存的緩存元數(shù)據(jù),將完成預取的邏輯塊緩存狀態(tài)更新為緩存干凈狀態(tài),并更新緩存干凈邏輯塊記錄;
      [0237]步驟S305:所有N個邏輯塊的數(shù)據(jù)均遷移到緩存設備后,預取結束。
      [0238]3.緩存資源回收步驟,圖10為本發(fā)明實施例緩存回收步驟示意圖,如圖10所示:
      [0239]步驟S401:緩存資源監(jiān)測子模塊檢查到空閑資源小于低臨界值,喚醒緩存回收線程;[0240]步驟S402:緩存回收線程向緩存管理決策模塊發(fā)送緩存回收決策消息,緩存管理決策模塊通知緩存策略模塊進行回收決策;
      [0241]步驟S403:緩存回收策略確定本次可回收的緩存邏輯塊,據(jù)此更新待回收緩存邏輯塊集合,將待回收邏輯塊按照優(yōu)先級順序排列;并返回本次可回收緩存塊數(shù)量N ;
      [0242]步驟S404:緩存管理驅動模塊選取待預取邏輯塊集合中的前N個邏輯塊執(zhí)行預取操作:
      [0243]步驟S4041:緩存回收驅動通知元數(shù)據(jù)管理模塊構造邏輯塊的緩存失效元數(shù)據(jù)更新命令;
      [0244]步驟S4042:緩存回收驅動向請求提交模塊提交緩存失效元數(shù)據(jù)命令;
      [0245]步驟S4043:請求提交模塊調(diào)用元數(shù)據(jù)管理模塊向精簡配置模塊緩存設備邏輯卷提交緩存失效元數(shù)據(jù)更新命令;
      [0246]步驟S4044:緩存失效元數(shù)據(jù)更新命令返回后,更新內(nèi)存緩存元數(shù)據(jù),將相應的邏輯塊標識為緩存無效;
      [0247]步驟S4045:更新空閑邏輯緩存資源數(shù)量;
      [0248]步驟S405:緩存的空閑邏輯緩存資源數(shù)量達到上限制臨界值,本次回收結束,否則執(zhí)行步驟S402繼續(xù)回收。
      [0249]4.緩存回與步驟,圖11為本發(fā)明實施例緩存回與步驟不意圖,如圖11所不:
      [0250]步驟S501:緩存資源監(jiān)測子模塊監(jiān)測到臟緩存塊超過上限臨界值時,喚醒緩存回寫線程;
      [0251]步驟S502:緩存回寫線程向緩存決策模塊發(fā)送緩存回寫決策消息,緩存決策模塊通知緩存回寫策略進行回寫決策;
      [0252]步驟S503:緩存回寫策略確定可回寫的緩存塊,并據(jù)此更新待回寫緩存塊集合,將待回寫邏輯塊按優(yōu)先級排列,并返回需要回寫緩存臟塊數(shù)量N ;
      [0253]步驟S504:緩存回寫線程通知緩存管理驅動模塊實施緩存回寫;
      [0254]步驟S5041:緩存管理驅動模塊接收到緩存回寫消息,由數(shù)據(jù)遷移子模塊為待回寫邏輯塊構造數(shù)據(jù)遷移請求,其中數(shù)據(jù)遷移請求包括讀緩存設備請求和寫數(shù)據(jù)源設備請求;將數(shù)據(jù)遷移請求提交到數(shù)據(jù)遷移請求提交子模塊;
      [0255]步驟S5042:數(shù)據(jù)遷移請求提交子模塊通知元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令;
      [0256]步驟S5043:將數(shù)據(jù)請求與元數(shù)據(jù)命令綁定;
      [0257]步驟S5044:請求提交模塊向精簡配置模塊緩存設備邏輯卷提交數(shù)據(jù)遷移請求;并調(diào)用元數(shù)據(jù)管理模塊接口向緩存設備提交數(shù)據(jù)更新命令;
      [0258]步驟S5045:元數(shù)據(jù)更新請求及數(shù)據(jù)遷移請求均完成后,更新內(nèi)存的緩存元數(shù)據(jù),將完成回寫的邏輯塊緩存狀態(tài)標識為緩存干凈狀態(tài)。
      [0259]步驟S5046:邏輯緩存資源管理模塊更新緩存臟數(shù)據(jù)塊記錄和緩存干凈數(shù)據(jù)塊記錄。
      [0260]步驟S505:當前緩存中的緩存臟數(shù)據(jù)塊達到下限時,回寫結束,否則重復執(zhí)行步驟S502繼續(xù)回收。
      [0261]5.應用讀請求處理步驟,圖12為本發(fā)明實施例讀請求處理步驟示意圖,如圖12所示:
      [0262]步驟S601:應用1線程接收到發(fā)送到緩存邏輯卷的應用讀請求,緩存元數(shù)據(jù)管理模塊在內(nèi)存緩存元數(shù)據(jù)中查詢當前訪問邏輯塊的緩存記錄;
      [0263]步驟S602:向緩存決策模塊發(fā)送notify消息,緩存決策模塊通知緩存管理策略更新相應的邏輯塊記錄;
      [0264]步驟S603:10線程將讀請求以及邏輯塊緩存記錄提交給請求提交模塊的應用請求提交子模塊;
      [0265]步驟S604:應用請求提交子模塊向應用請求映射模塊發(fā)送請求映射查詢消息;應用請求映射模塊根據(jù)當前緩存邏輯卷注冊的請求映射策略,和該邏輯塊的緩存狀態(tài),
      [0266]獲取該讀請求的目標設備以及該讀請求產(chǎn)生的元數(shù)據(jù)變化操作,其中若該邏輯塊為緩存無效將被映射到數(shù)據(jù)源設備,否則被映射到緩存設備;
      [0267]步驟S605:將該讀請求重定向到該目標設備,并轉發(fā)該讀請求;
      [0268]步驟S606:讀請求返回后逐層向上返回。
      [0269]6.應用寫請求處理步驟,圖13為本發(fā)明實施例寫請求處理步驟示意圖,如圖13所示:
      [0270]步驟S701:10線程接收到發(fā)送到緩存邏輯卷的應用寫請求,緩存元數(shù)據(jù)管理模塊在內(nèi)存元數(shù)據(jù)中查詢當前訪問邏輯塊的緩存狀態(tài)記錄;
      [0271]步驟S702:向緩存決策模塊發(fā)送notify消息,緩存決策模塊通知緩存管理策略更新相應的緩存管理記錄;
      [0272]步驟S703:10線程將該寫請求以及對應的邏輯塊緩存記錄提交給請求提交模塊的應用請求提交子模塊;
      [0273]步驟S704:應用請求提交子模塊向應用請求映射模塊發(fā)送映射查詢消息;應用請求映射模塊根據(jù)當前緩存邏輯卷注冊的請求映射策略,和該邏輯塊的緩存狀態(tài),獲取該寫請求的目標設備以及該寫請求產(chǎn)生的元數(shù)據(jù)變化操作;
      [0274]步驟S705:將該寫請求定向到映射策略返回的目標設備;
      [0275]步驟S706:通知元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令;
      [0276]步驟S707:請求提交模塊將該寫請求與元數(shù)據(jù)命令綁定;
      [0277]步驟S708:請求提交模塊向精簡配置模塊緩存設備邏輯卷提交寫請求;并調(diào)用元數(shù)據(jù)管理模塊接口向緩存設備提交數(shù)據(jù)更新命令;
      [0278]步驟S709:元數(shù)據(jù)更新請求及數(shù)據(jù)遷移請求均完成后,更新內(nèi)存緩存元數(shù)據(jù);邏輯緩存資源管理模塊更新緩存臟數(shù)據(jù)塊記錄;
      [0279]步驟S710:向上層返回;
      [0280]( 二 )精簡配置模塊步驟
      [0281]精簡配置模塊步驟包括元數(shù)據(jù)處理步驟,資源分配步驟,資源回收步驟,寫請求處理步驟,讀請求處理步驟。
      [0282]1.資源分配步驟:
      [0283]a)接收到資源分配請求,從資源池中為邏輯塊分配物理存儲塊,更新資源池空閑資源池記錄;
      [0284]b)建立緩存邏輯塊與物理存儲塊映射關系,更新資源映射表;[0285]c)資源分配完成并返回。
      [0286]2.資源回收步驟:
      [0287]a)精簡配置模塊的緩存設備邏輯卷接收到緩存模塊的針對邏輯塊的緩存失效命令;
      [0288]b)元數(shù)據(jù)管理模塊更新該邏輯塊元數(shù)據(jù);
      [0289]c)取消緩存邏輯塊和物理存儲塊的映射關系,并更新空閑物理資源記錄;
      [0290]d)資源回收命令處理完成后返回;
      [0291]3.元數(shù)據(jù)處理步驟:
      [0292]a)元數(shù)據(jù)更新步驟:
      [0293]1.接收到元數(shù)據(jù)更新命令,解析命令參數(shù),獲取邏輯塊號,及緩存狀態(tài);
      [0294]i1.查找邏輯塊屬性項,按照緩存狀態(tài)更新元數(shù)據(jù);
      [0295]ii1.將元數(shù)據(jù)寫入磁盤元數(shù)據(jù)區(qū)。
      [0296]b)元數(shù)據(jù)查詢步驟:
      [0297]1.接收到針對邏輯塊的元數(shù)據(jù)查詢命令,解析命令參數(shù),獲取邏輯塊號;
      [0298]i1.從磁盤元數(shù)據(jù)區(qū)讀取邏輯塊的狀態(tài),并返回。
      [0299]4.寫請求處理步驟:
      [0300]a)緩存設備邏輯卷接收到寫請求和元數(shù)據(jù)更新命令;
      [0301]b)將元數(shù)據(jù)更新命令轉發(fā)給元數(shù)據(jù)管理模塊更新元數(shù)據(jù);
      [0302]c)判斷該寫請求是否為所訪問邏輯地址的首次寫請求,若是則向資源分配模塊發(fā)送資源分配消息;
      [0303]d)將寫請求重定向到底層物理設備,并轉發(fā);
      [0304]e)寫請求與元數(shù)據(jù)更新均完成后向上層返回。
      [0305]5.讀請求處理步驟:
      [0306]a)緩存設備邏輯卷接收到請求,查找該讀請求訪問邏輯塊數(shù)據(jù)存儲的物理存儲塊;
      [0307]b)將讀請求重定向到數(shù)據(jù)存儲物理設備,并轉發(fā);
      [0308]c)讀請求返回后向上層返回。
      [0309]綜上所述,本發(fā)明提供的基于精簡配置系統(tǒng)的塊設備緩存裝置及其方法,對外提供標準塊設備接口,并且有效進行緩存功能維護與物理資源管理實施分離。
      [0310]當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員當可根據(jù)本發(fā)明做出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
      【權利要求】
      1.一種基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存系統(tǒng)包含上層模塊和底層設備,所述底層設備包含一緩存設備和一數(shù)據(jù)源設備,所述上層模塊包含緩存管理模塊和精簡配置模塊,分別實現(xiàn)邏輯緩存資源管理功能與物理資源管理功能,所述精簡配置模塊對外導出邏輯容量與所述數(shù)據(jù)源設備容量相同的一標準塊設備邏輯卷,并且所述精簡配置模塊支持資源回收功能。
      2.根據(jù)權利要求1所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于: 所述緩存管理模塊:用于根據(jù)緩存資源管理策略維護緩存管理邏輯;所述緩存管理模塊接收應用請求,發(fā)起緩存預取,緩存回寫,緩存資源回收操作,實現(xiàn)邏輯緩存資源管理以及邏輯塊緩存狀態(tài)維護和管理; 所述精簡配置模塊:該模塊通過通用塊層接口與所述緩存管理模塊連接,對外導出指定容量的虛擬邏輯卷;所述精簡配置模塊采用自動精簡配置技術,接收所述緩存管理模塊下發(fā)讀寫緩存請求,并為首次寫實現(xiàn)資源寫時分配、資源映射,接收所述緩存管理模塊的緩存管理命令,持久化存儲緩存元數(shù)據(jù),其中,接收到緩存失效命令,實施資源回收操作并持久化存儲相應的緩存元數(shù)據(jù)。
      3.根據(jù)權利要求2所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存管理模塊包括: 緩存資源管理策略模塊:用于提供統(tǒng)一的緩存策略接口,負責向緩存系統(tǒng)注冊緩存管理策略并支持動態(tài)的緩存管理策略注冊及注銷,所述緩存管理策略包括:緩存預取策略,緩存回寫策略和緩存替換策略; 邏輯緩存資源管理模塊: 于進行緩存資源監(jiān)測,并更新和維護當前緩存資源使用記錄; 緩存管理決策模塊:根據(jù)所述緩存管理策略進行緩存無效邏輯塊的預取、緩存邏輯塊的回寫或替換決策,并返回決策結果; 緩存資源管理驅動模塊:根據(jù)所述緩存管理決策模塊返回的決策結果,執(zhí)行所述緩存預取、緩存回收或緩存回寫操作,并為所述緩存預取和緩存回寫構造數(shù)據(jù)遷移請求; 應用請求映射模塊:根據(jù)請求映射方法將應用請求重定向到目標設備,所述目標設備包含:緩存設備或者數(shù)據(jù)源設備,所述請求映射方法包括:寫無效,寫回和寫直達; 緩存元數(shù)據(jù)管理模塊:負責在內(nèi)存中維護邏輯塊的緩存狀態(tài),并根據(jù)所述緩存資源管理驅動模塊的執(zhí)行結果更新相應的所述邏輯塊的緩存狀態(tài),根據(jù)所述邏輯塊的狀態(tài)變化向所述精簡配置模塊發(fā)送元數(shù)據(jù)更新命令,所述緩存邏輯塊的緩存狀態(tài)包括:緩存干凈、緩存臟和緩存無效; 請求提交模塊:用于提交應用請求和數(shù)據(jù)遷移請求。
      4.根據(jù)權利要求3所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述邏輯緩存資源管理模塊還包括: 緩存資源監(jiān)測模塊:用于監(jiān)測空閑緩存資源數(shù)量和緩存臟邏輯塊數(shù)量,緩存資源不足或者緩存臟邏輯塊數(shù)量超過高臨界值時,通知所述緩存管理決策模塊進行緩存資源回收或者緩存回寫決策; 邏輯緩存記錄模塊;更新并維護當前邏輯緩存資源使用記錄,其中所述邏輯緩存記錄包括空閑邏輯緩存資源數(shù)量,緩存臟邏輯塊數(shù)量和緩存干凈邏輯塊數(shù)量。
      5.根據(jù)權利要求3所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述緩存資源管理驅動模塊還包括: 數(shù)據(jù)遷移模塊:用于為緩存預取和緩存回寫構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括:數(shù)據(jù)讀請求和數(shù)據(jù)寫請求。
      6.根據(jù)權利要求3所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述請求提交模塊還包括: 數(shù)據(jù)遷移請求提交模塊:用于將數(shù)據(jù)遷移請求提交到所述目標設備,并向所述元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令; 應用請求提交模塊:用于提交應用請求提交到所述目標設備,并向所述元數(shù)據(jù)管理模塊發(fā)送元數(shù)據(jù)更新命令。
      7.根據(jù)權利要求2所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述精簡配置模塊包括: 資源映射模塊:用于維護緩存數(shù)據(jù)塊與物理緩存存儲資源塊的映射關系; 元數(shù)據(jù)處理模塊:用于更新所述緩存邏輯塊的緩存狀態(tài)并持久化存儲所述緩存狀態(tài),向所述緩存設備提供所述緩存狀態(tài)查詢服務; 資源虛擬化管理模塊:用于負責將所述緩存設備進行虛擬池化管理,按照需求提供存儲資源; 資源分配模塊:用于接收資源分配命令從可用資源池中分配存儲資源; 資源回收模塊:用于接收資源回收命令并執(zhí)行所述資源回收操作。
      8.根據(jù)權利要求2所述基于精簡配置系統(tǒng)的塊設備緩存裝置,其特征在于,所述通用塊層接口包括: 數(shù)據(jù)接口:用于所述緩存管理模塊與所述精簡配置模塊之間的1請求的傳遞; 控制命令接口:用于所述緩存管理模塊與所述資精簡配置模塊之間的控制命令傳遞,所述控制命令包括:緩存狀態(tài)更新命令和緩存狀態(tài)查詢命令。
      9.一種基于精簡配置系統(tǒng)的塊設備緩存方法,應用于如權利要求1-8中任一項所述基于精簡配置的塊設備緩存裝置,其特征在于,所述緩存方法包括: 緩存管理步驟:用于進行緩存資源策略管理、緩存預取、緩存回收、緩存回寫和應用請求處理; 精簡配置步驟,用于進行1請求處理,緩存資源寫時分配、資源回收和元數(shù)據(jù)狀態(tài)管理。
      10.根據(jù)權利要求9所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存管理步驟包括: 緩存管理策略注冊與注銷步驟:用于生成并注冊緩存管理策略,并可根據(jù)用戶管理需求結合所述緩存管理策略的引用情況,進行所述緩存管理策略的保留或移除; 緩存預取步驟:根據(jù)所述緩存管理決策模塊確定的緩存預取決策,更新待預取緩存邏輯塊集合,并執(zhí)行緩存預取操作; 緩存回收步驟:根據(jù)所述緩存管理決策模塊確定的緩存邏輯塊的回收決策,更新待回收緩存邏輯塊集合,并執(zhí)行緩存資源回收操作; 緩存回寫步驟:根據(jù)所述緩存管理決策模塊確定的緩存邏輯塊的回寫決策,更新待回寫緩存邏輯塊集合,并執(zhí)行緩存回寫操作; 應用讀請求處理步驟:所述應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用讀請求,獲取所述讀請求的目標設備以及所述讀請求產(chǎn)生的元數(shù)據(jù)變化操作,并重定向所述讀請求到目標設備; 應用寫請求處理步驟:所述應用請求映射模塊根據(jù)邏輯塊緩存記錄及應用寫請求,獲取所述寫請求目標設備以及所述寫請求產(chǎn)生的元數(shù)據(jù)變化操作,進行所述寫請求與元數(shù)據(jù)更新命令綁定,重定向所述寫請求到目標設備,并完成數(shù)據(jù)和元數(shù)據(jù)更新。
      11.根據(jù)權利要求9所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述精簡配置步驟包括: 資源分配步驟:所述精簡配置模塊接收資源分配請求,并從資源池中為緩存邏輯塊分配物理存儲塊,建立所述緩存邏輯塊與所述物理存儲塊的映射關系,并更新資源映射表和空閑物理資源記錄; 資源回收步驟:所述精簡配置模塊接收所述緩存設備針對緩存邏輯塊的緩存失效命令,所述元數(shù)據(jù)管理模塊更新所述緩存邏輯塊的元數(shù)據(jù),并取消所述緩存邏輯塊和所述物理存儲塊的映射關系,更新空閑物理資源記錄; 元數(shù)據(jù)處理步驟:所述精簡配置模塊接收元數(shù)據(jù)更新命令,進行元數(shù)據(jù)更新,或接收元數(shù)據(jù)查詢命令,進行元數(shù)據(jù)查詢; 寫請求處理步驟:所述邏輯卷接收所述寫請求和所述元數(shù)據(jù)更新命令,通知所述元數(shù)據(jù)管理模塊進行元數(shù)據(jù)更新,為所訪問邏輯地址的首次寫向資源分配模塊發(fā)送資源分配命令,資源分配模塊為該請求分配物理存儲塊;將寫請求轉發(fā)到下層物理設備; 讀請求處理步驟:所述邏輯卷接收所述讀請求,查找所述讀請求訪問緩存邏輯塊的數(shù)據(jù)存儲的物理存儲塊,并將所述讀請求重定向到目標物理存儲地址。
      12.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存管理策略注冊與注銷步驟還包括: 緩存資源管理策略注冊步驟包括:緩存系統(tǒng)策略框架生成緩存管理策略實例,所述緩存管理策略包括:緩存預取,緩存回寫和緩存替換,將所述緩存管理策略添加到所述緩存系統(tǒng)的策略庫中; 緩存資源管理策略注銷步驟包括:檢查待注銷的所述緩存管理策略是否被引用,若所述緩存管理策略未被引用,則將所述緩存管理策略從所述策略庫中移除,若所述緩存管理策略正在被引用,則不做任何操作。
      13.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存預取步驟還包括: 緩存預取決策步驟:所述緩存管理決策模塊根據(jù)接收到的緩存預取決策詢問消息,進行緩存預取決策,并更新待預取邏輯塊集合,將所述待預取邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可預取的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊; 緩存預取執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可預取的邏輯塊數(shù)量執(zhí)行預取操作。
      14.根據(jù)權利要求13所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存預取執(zhí)行步驟還包括:預取請求構造步驟:所述數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括讀數(shù)據(jù)源設備請求和寫緩存設備請求,并且所述邏輯緩存資源管理模塊向所述緩存資源監(jiān)測模塊發(fā)送邏輯資源分配請求; 檢查資源數(shù)量步驟:所述緩存資源監(jiān)測模塊檢查空閑邏輯資源數(shù)量是否滿足資源分配要求,如果不滿足,則等待資源滿足分配條件,如果滿足,則進行邏輯緩存資源分配; 緩存資源分配步驟:所述數(shù)據(jù)遷移請求提交模塊通知所述元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令,將所述元數(shù)據(jù)更新命令與所述數(shù)據(jù)遷移請求綁定,并提交給所述精簡配置模塊執(zhí)行緩存資源分配以及數(shù)據(jù)遷移,更新相關緩存狀態(tài)以及緩存干凈邏輯塊記錄。
      15.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回收步驟還包括: 緩存回收決策步驟:所述緩存資源監(jiān)測模塊監(jiān)測到空閑資源低于臨界值,所述緩存管理決策模塊根據(jù)接收到的緩存回收決策消息,進行緩存回收決策,并更新待回收邏輯塊集合,將所述待回收邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回收的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊; 緩存回收執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可回收的邏輯塊數(shù)量執(zhí)行回收操作。
      16.根據(jù)權利要求15所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回收執(zhí)行步驟還包括: 回收請求構造步驟:所述 元數(shù)據(jù)管理模塊構造緩存邏輯塊的緩存失效元數(shù)據(jù)更新命令,并提交給所述請求提交模塊; 緩存資源回收步驟:所述請求提交模塊將所述緩存失效元數(shù)據(jù)更新請求提交給所述精簡配置模塊執(zhí)行緩存資源回收,并更新緩存邏輯塊狀態(tài),更新空閑邏輯資源記錄和緩存干凈邏輯塊記錄。
      17.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回寫步驟還包括: 緩存回寫決策步驟:所述緩存資源監(jiān)測模塊監(jiān)測到臟緩存塊數(shù)量高于臨界值,所述緩存管理決策模塊根據(jù)接收到的緩存回寫決策消息,進行緩存回寫決策,并更新待回寫邏輯塊集合,將所述待回寫邏輯塊集合中的邏輯塊按照優(yōu)先級排列,并將當前可回寫的邏輯塊數(shù)量發(fā)送給所述緩存管理驅動模塊; 緩存回寫執(zhí)行步驟:所述緩存管理驅動模塊根據(jù)接收到的所述當前可回寫的邏輯塊數(shù)量執(zhí)行回寫操作。
      18.根據(jù)權利要求17所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述緩存回寫執(zhí)行步驟還包括: 回寫請求構造步驟:所述數(shù)據(jù)遷移模塊構造數(shù)據(jù)遷移請求,所述數(shù)據(jù)遷移請求包括讀緩存設備請求和寫數(shù)據(jù)源設備請求,并且所述元數(shù)據(jù)管理模塊構造元數(shù)據(jù)更新命令; 緩存資源回寫步驟:將所述元數(shù)據(jù)更新命令與所述數(shù)據(jù)遷移請求綁定,提交給所述精簡配置模塊執(zhí)行緩存邏輯塊回寫,并更新緩存塊狀態(tài),更新緩存臟邏輯塊記錄和緩存干凈邏輯塊記錄。
      19.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述應用讀請求處理步驟還包括: 讀請求查詢并更新緩存記錄步驟:所述緩存管理模塊接收到應用的讀請求,在緩存數(shù)據(jù)中查詢所述讀請求訪問的緩存邏輯塊的緩存記錄,并通知所述緩存管理策略模塊進行緩存管理記錄更新; 讀請求映射項查詢步驟:讀取注冊的所述請求映射方法,根據(jù)所述請求映射方法進行邏輯塊的緩存狀態(tài)的映射項查詢; 讀請求映射步驟:根據(jù)所述映射項將所述讀請求映射到目標設備,并將所述讀請求重定向到所述目標設備進行處理,所述目標設備為數(shù)據(jù)源設備或者緩存設備。
      20.根據(jù)權利要求10所述基于精簡配置系統(tǒng)的塊設備緩存方法,其特征在于,所述應用寫請求處理步驟還包括: 寫請求查詢并更新緩存記錄步驟:緩存接收到應用的寫請求,在緩存數(shù)據(jù)中查詢所述寫請求訪問的邏輯塊的緩存記錄,并通知所述緩存管理策略模塊進行緩存管理記錄更新;寫請求映射項查詢步驟:讀取注冊的所述請求映射方法,根據(jù)所述請求映射方法進行邏輯塊緩存狀態(tài)的映射項查詢; 寫請求映射步驟:根據(jù)所述映射項將所述寫請求映射到目標設備,并將所述寫請求與元數(shù)據(jù)命令綁定,將所述寫請求重定向到所述目標設備,所述元數(shù)據(jù)命令提交給所述精簡配置模塊和所述元數(shù)據(jù)管理模塊進行處理。
      【文檔編號】G06F12/08GK104035887SQ201410219002
      【公開日】2014年9月10日 申請日期:2014年5月22日 優(yōu)先權日:2014年5月22日
      【發(fā)明者】許魯, 王慧, 郭明陽, 董歡慶 申請人:中國科學院計算技術研究所, 天津中科藍鯨信息技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1