国产精品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>

      一種實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)、裝置及方法

      文檔序號:6429049閱讀:168來源:國知局
      專利名稱:一種實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)、裝置及方法
      技術領域
      本發(fā)明涉及磁盤陣列的緩存分區(qū)技術,尤其涉及針對特定的應用的磁盤陣列緩存分區(qū)管理的系統(tǒng)、裝置及方法
      背景技術
      在實際應用中對大容量存儲的需求,促使了獨立冗余磁盤陣列(RAID,Redundant Array of Independent Disks)技術的誕生,并形成了相應的磁盤陣列產(chǎn)品。RAID技術是將多部硬盤通過RAID控制器(由硬件或軟件實現(xiàn))組成虛擬單臺大容量的硬盤使用,其特點是加快對多部硬盤同時讀取的速度,以及提高磁盤的容錯性。隨著互聯(lián)網(wǎng)的普及及信息容量需求爆炸性的發(fā)展,磁盤陣列的需求日益擴大,存儲系統(tǒng)作為一種共享資源需要同時向多種不同應用提供服務,譬如針對數(shù)據(jù)庫服務器、文件服務器以及視頻服務器這些不同類型的應用,要求存儲系統(tǒng)具有不同的負載特征和性能需求。如何將緩存資源分配給最需要的應用,使得其性能最優(yōu)化,以及使得應用之間的資源競爭有效地減少,便成為緩存器亟待解決的問題。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術問題是提供一種實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)、裝置及方法,能夠使得應用之間的資源競爭有效地減少。為了解決上述技術問題,本發(fā)明提供了一種實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng), 包括依次連接的一個或多個應用業(yè)務模塊、緩存池管理裝置以及后端存儲設備,其中應用業(yè)務模塊,用于向緩存池管理裝置發(fā)出讀寫數(shù)據(jù)請求,并接收緩存池管理裝置返回的數(shù)據(jù);緩存池管理裝置,用于分區(qū)管理緩存池中的緩存空間,針對應用業(yè)務設置緩存分區(qū);根據(jù)應用業(yè)務模塊的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀?。缓蠖舜鎯υO備,用于存儲應用業(yè)務相應的數(shù)據(jù)。進一步地,應用業(yè)務模塊包括應用業(yè)務IO線程,緩存池管理裝置包括依次連接的緩存分區(qū)模塊、緩存分配模塊以及緩存數(shù)據(jù)訪問模塊,后端存儲設備包括后端磁盤陣列,其中應用業(yè)務IO線程,用于向緩存數(shù)據(jù)訪問模塊發(fā)出讀寫數(shù)據(jù)請求;將緩存數(shù)據(jù)訪問模塊返回的數(shù)據(jù)提供給相應的應用業(yè)務;緩存分區(qū)模塊,用于針對應用業(yè)務將緩存池中的緩存空間設置為相應的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量;緩存分配模塊,用于根據(jù)輸入的查找結果,分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令;
      緩存數(shù)據(jù)訪問模塊,用于根據(jù)接收的讀寫數(shù)據(jù)請求查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,并將查找結果輸出給緩存分配模塊;根據(jù)輸入的數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令, 將從后端磁盤陣列讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程。進一步地,緩存分配模塊根據(jù)所述查找結果為數(shù)據(jù)命中,則將緩存分區(qū)數(shù)據(jù)狀態(tài)更新為有用,且讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)查找結果為數(shù)據(jù)未命中,則分配緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令;或者根據(jù)查找結果為數(shù)據(jù)命中,且讀寫數(shù)據(jù)請求是從緩存分區(qū)讀取數(shù)據(jù),則向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊根據(jù)數(shù)據(jù)讀寫指令將從后端磁盤陣列讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程;或者根據(jù)數(shù)據(jù)讀指令,將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程。進一步地,緩存池管理裝置還包括與緩存分區(qū)模塊連接的緩存回收模塊,其中緩存分區(qū)模塊每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則向緩存回收模塊輸出緩存回收指令;緩存回收模塊,用于根據(jù)緩存回收指令將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空。進一步地,緩存回收模塊通過系統(tǒng)回收線程根據(jù)緩存回收策略啟動相應的緩存分區(qū)回收線程,緩存分區(qū)回收線程在系統(tǒng)回收線程的啟動下調(diào)用回收算法回收本緩存分區(qū)內(nèi)狀態(tài)處于無用的數(shù)據(jù)塊;緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略中的任意一種或兩種。為了解決上述技術問題,本發(fā)明提供了一種實現(xiàn)磁盤陣列緩存分區(qū)的緩存池管理裝置,包括依次連接的緩存分區(qū)模塊、緩存分配模塊以及緩存數(shù)據(jù)訪問模塊,其中緩存分區(qū)模塊,用于針對應用業(yè)務將緩存池中的緩存空間設置為相應的緩存分區(qū);緩存分配模塊,用于根據(jù)輸入的查找結果分配緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊,用于根據(jù)應用業(yè)務模塊發(fā)出的讀寫數(shù)據(jù)請求,查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,并將查找結果輸出給緩存分配模塊;根據(jù)輸入的數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令,將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊。進一步地,緩存分區(qū)模塊設置的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù) 塊的容量;緩存分配模塊根據(jù)所述查找結果為數(shù)據(jù)命中,則將緩存分區(qū)的數(shù)據(jù)狀態(tài)更新為有用,且若讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)查找結果為數(shù)據(jù)未命中,則分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令;或者根據(jù)查找結果為數(shù)據(jù)命中,且讀寫數(shù)據(jù)請求是從緩存分區(qū)讀取數(shù)據(jù),則向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊根據(jù)數(shù)據(jù)讀寫指令將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊;或者根據(jù)數(shù)據(jù)讀指令,將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊。進一步地,緩存池管理裝置還包括與緩存分區(qū)模塊連接的緩存回收模塊,其中緩存分區(qū)模塊每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則向緩存回收模塊輸出緩存回收指令;緩存回收模塊,用于根據(jù)緩存回收指令和緩存回收策略將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空;緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略中任意的一種或兩種。為了解決上述技術問題,本發(fā)明提供了一種實現(xiàn)磁盤陣列緩存分區(qū)管理的方法, 包括緩存池管理裝置對緩存池中的緩存空間進行分區(qū)管理,針對應用業(yè)務設置緩存分區(qū)。進一步地,該方法還包括應用業(yè)務模塊向緩存池管理裝置發(fā)送讀寫數(shù)據(jù)請求;緩存池管理裝置根據(jù)接收的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀取。進一步地,緩存池管理裝置針對應用業(yè)務設置的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量。進一步地,應用業(yè)務模塊向所述緩存池管理裝置發(fā)送的讀寫數(shù)據(jù)請求包括從后端存儲設備讀取數(shù)據(jù)和從緩存分區(qū)讀取數(shù)據(jù);緩存池管理裝置根據(jù)接收的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀取,具體包括根據(jù)接收的讀寫數(shù)據(jù)請求查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,根據(jù)查找結果分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊。進一步地,緩存池管理裝置根據(jù)查找結果分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊,具體包括根據(jù)查找結果為數(shù)據(jù)命中,則將緩存分區(qū)的數(shù)據(jù)狀態(tài)更新為有用,且若讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)查找結果為數(shù)據(jù)未命中,則分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊;或者根據(jù)查找結果為數(shù)據(jù)命中,且讀寫數(shù)據(jù)請求是從緩存分區(qū)讀取數(shù)據(jù),則將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊。
      進一步地,該方法還包括緩存池管理裝置每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則根據(jù)緩存回收策略將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空;緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略。本發(fā)明由于能夠針對特定的應用業(yè)務動態(tài)地將緩存分成多個區(qū)域,緩存分區(qū)中的數(shù)據(jù)塊可自動地在多個緩存分區(qū)間調(diào)配,因此可將緩存資源分配給最需要的應用業(yè)務,使得緩存資源的應用性能最優(yōu)化,同時使得應用業(yè)務之間的資源競爭有效地減少。


      圖1是本發(fā)明針對后端磁盤陣列的緩存進行分區(qū)的示意圖 圖2是本發(fā)明的實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)實施例及裝置實施例的結構示意圖;圖3是本發(fā)明的實現(xiàn)磁盤陣列緩存分區(qū)管理的方法實施例流程圖。
      具體實施例方式以下結合附圖和優(yōu)先實施例對本發(fā)明的技術方案進行詳細地闡述。以下例舉的實施例僅用于說明和解釋本發(fā)明,而不構成對本發(fā)明技術方案的限制。本發(fā)明針對磁盤陣列提供了一種緩存動態(tài)分區(qū)方法,它基于各類應用業(yè)務中的各種服務器(包括數(shù)據(jù)庫服務器、文件服務器以及多媒體服務器中的一種或多種)對緩存資源進行分區(qū)管理,如圖1所示。由于每個應用都建立在后端磁盤的磁盤陣列的邏輯單元號(LUN,Logical Unit Number)之上,因此本發(fā)明針對每個LUN設置應用業(yè)務的優(yōu)先級、相應的緩存分區(qū)的總?cè)萘恳约熬彺娣謪^(qū)中數(shù)據(jù)塊大小。每個獨立的緩存分區(qū)可以根據(jù)應用業(yè)務及其服務器的負載特征選擇設置適合的數(shù)據(jù)塊大小,以此來提高緩存資源的利用率和數(shù)據(jù)的命中率;譬如,針對數(shù)據(jù)庫服務器設置相應的緩存分區(qū)中每一數(shù)據(jù)塊大小為4K,針對文件服務器設置相應的緩存分區(qū)中每一數(shù)據(jù)塊大小為16k,針對視頻服務器設置相應的緩存分區(qū)中每一數(shù)據(jù)塊大小為64K,這對于緩存數(shù)據(jù)的查找以及對緩存內(nèi)元數(shù)據(jù)的管理的效率是相當高的;同時針對每個緩存分區(qū)所對應的磁盤陣列選擇相應的條帶大小,優(yōu)化寫入磁盤的操作。本發(fā)明還針對緩存分區(qū)通過可配置的緩存回收策略來回收緩存資源,包括按優(yōu)先級回收策略、按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略以及按....回收策略,從而實現(xiàn)針對不同應用級別業(yè)務的緩存區(qū)分服務,對關鍵的應用業(yè)務可分配較多的緩存資源,以保證關鍵的業(yè)務有充分的緩存資源使用。同時,本發(fā)明將按照應用業(yè)務的需求分配緩存分區(qū)和按緩存回收策略回收緩存空間相結合的緩存分配機制,使得針對不同的應用業(yè)務使用不同的緩存(即緩存分區(qū)容量和緩存分區(qū)中數(shù)據(jù)塊大小)成為可能。這里按優(yōu)先級回收策略是指從在不同的緩存分區(qū)中按應用業(yè)務的優(yōu)先級回收不同的緩存資源,譬如對于應用業(yè)務優(yōu)先級低的緩存資源回收要優(yōu)先回收。按優(yōu)先級回收緩存策略,可以對各緩存分區(qū)進行動態(tài)調(diào)節(jié)。本發(fā)明提供的實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)實施例,其結構如圖2所示,包括依次連接的一個或多個應用業(yè)務模塊、緩存池管理裝置以及后端存儲設備,其中
      應用業(yè)務模塊,用于向緩存池管理裝置發(fā)出讀寫數(shù)據(jù)請求,并接收緩存池管理裝置返回的數(shù)據(jù);緩存池管理裝置,用于分區(qū)管理緩存池中的緩存空間,針對應用業(yè)務設置緩存分區(qū);根據(jù)應用業(yè)務模塊的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀??;
      后端存儲設備,用于存儲應用業(yè)務模塊相應的數(shù)據(jù)。圖2所示的緩存池管理裝置進一步包括依次連接的緩存分區(qū)模塊、緩存分配模塊以及緩存數(shù)據(jù)訪問模塊,應用業(yè)務模塊包括應用業(yè)務IO線程(圖2中未示出),后端存儲設備包括后端磁盤陣列,其中應用業(yè)務IO線程,用于向緩存數(shù)據(jù)訪問模塊發(fā)出讀寫數(shù)據(jù)請求;將緩存數(shù)據(jù)訪問模塊返回的數(shù)據(jù)提供給相應的應用業(yè)務;緩存分區(qū)模塊,用于針對應用業(yè)務將緩存池中的緩存空間設置為相應的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量;緩存分配模塊,用于根據(jù)輸入的查找結果,分配數(shù)據(jù)塊數(shù)目為N的緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令,N為大于或等于1的整數(shù);緩存數(shù)據(jù)訪問模塊,用于接收的讀寫數(shù)據(jù)請求查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,并將查找結果輸出給緩存分配模塊;根據(jù)輸入的數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令,將從后端磁盤陣列讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程。上述系統(tǒng)實施例中,緩存分配模塊根據(jù)查找結果為數(shù)據(jù)命中,則將緩存分區(qū)數(shù)據(jù)狀態(tài)更新為有用,且是請求從后端磁盤讀取數(shù)據(jù),或者根據(jù)查找結果為數(shù)據(jù)未命中,則分配數(shù)據(jù)塊數(shù)目為N的緩存分區(qū),向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令;或者根據(jù)查找結果為數(shù)據(jù)命中,且是請求從緩存分區(qū)讀取數(shù)據(jù),則向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊根據(jù)數(shù)據(jù)讀寫指令將從后端磁盤讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程;或者根據(jù)數(shù)據(jù)讀指令,將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程。在上述系統(tǒng)實施例中,緩存池管理裝置還包括與緩存分區(qū)模塊連接的緩存回收模塊,其中緩存分區(qū)模塊每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則向緩存回收模塊輸出緩存回收指令;緩存回收模塊,用于根據(jù)緩存回收指令將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空。緩存回收模塊通過系統(tǒng)回收線程根據(jù)緩存回收策略啟動相應的緩存分區(qū)回收線程,緩存分區(qū)回收線程在系統(tǒng)回收線程的啟動下回收本區(qū)內(nèi)狀態(tài)處于無用的數(shù)據(jù)塊。緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略。本發(fā)明針對上述系統(tǒng)實施例,相應地還提供了實現(xiàn)磁盤陣列緩存分區(qū)管理的方法實施例,其流程如圖3所示,包括如下步驟101 應用業(yè)務通過IO線程發(fā)出讀寫數(shù)據(jù)請求;
      102、103:10線程在緩存分區(qū)中查找狀態(tài)有效的數(shù)據(jù)塊,若查找命中則執(zhí)行下列步驟,若查找未命中,則執(zhí)行步驟112 ;104 調(diào)用緩存替換算法將緩存的狀態(tài)更新為數(shù)據(jù)有用狀態(tài);105:判斷讀寫數(shù)據(jù)請求是否是從后端磁盤讀數(shù)據(jù),是則執(zhí)行下列步驟,否則執(zhí)行步驟109 ;106 判斷緩存池中空數(shù)據(jù)塊數(shù)目是否低于低限值,是則執(zhí)行步驟110,否則執(zhí)行下列步驟;107 分配數(shù)據(jù)塊數(shù)目為N的緩存分區(qū);108 調(diào)用底層讀寫接口將后端磁盤上存儲的數(shù)據(jù)塊讀出至分配的緩存分區(qū)中;109 將從緩存分區(qū)讀取的數(shù)據(jù)通過IO線程返回給應用業(yè)務,結束流程;110 通過系統(tǒng)回收線程根據(jù)回收策略啟動緩存分區(qū)回收緩存空間;111 緩存分區(qū)通過回收線程調(diào)用回收算法回收不常用的緩存頁,返回步驟106執(zhí)行;112 分配數(shù)據(jù)塊數(shù)目為N的緩存分區(qū);113:判斷緩存池中空數(shù)據(jù)塊數(shù)目是否低于低限值,是則執(zhí)行下列步驟,否則執(zhí)行步驟108 ;114 回收緩存空間,執(zhí)行步驟108。即通過系統(tǒng)回收線程根據(jù)回收策略啟動緩存分區(qū),緩存分區(qū)通過回收線程回收不常 用的緩存頁。對于本領域的專業(yè)人員來說,在了解了本發(fā)明內(nèi)容和原理后,能夠在不背離本發(fā)明的原理和范圍的情況下,根據(jù)本發(fā)明的方法進行形式和細節(jié)上的各種修正和改變,但是這些基于本發(fā)明的修正和改變?nèi)栽诒景l(fā)明的權利要求保護范圍之內(nèi)。
      權利要求
      1.一種實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng),包括依次連接的一個或多個應用業(yè)務模塊、緩存池管理裝置以及后端存儲設備,其中應用業(yè)務模塊,用于向緩存池管理裝置發(fā)出讀寫數(shù)據(jù)請求,并接收緩存池管理裝置返回的數(shù)據(jù);緩存池管理裝置,用于分區(qū)管理緩存池中的緩存空間,針對應用業(yè)務設置緩存分區(qū);根據(jù)應用業(yè)務模塊的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀?。缓蠖舜鎯υO備,用于存儲應用業(yè)務相應的數(shù)據(jù)。
      2.按照權利要求1所述的系統(tǒng),其特征在于,所述應用業(yè)務模塊包括應用業(yè)務IO線程,所述緩存池管理裝置包括依次連接的緩存分區(qū)模塊、緩存分配模塊以及緩存數(shù)據(jù)訪問模塊,所述后端存儲設備包括后端磁盤陣列,其中應用業(yè)務IO線程,用于向緩存數(shù)據(jù)訪問模塊發(fā)出所述讀寫數(shù)據(jù)請求;將緩存數(shù)據(jù)訪問模塊返回的數(shù)據(jù)提供給相應的應用業(yè)務;緩存分區(qū)模塊,用于針對應用業(yè)務將所述緩存池中的緩存空間設置為相應的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量;緩存分配模塊,用于根據(jù)輸入的查找結果,分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊,用于根據(jù)接收的所述讀寫數(shù)據(jù)請求查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,并將所述查找結果輸出給緩存分配模塊;根據(jù)輸入的數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令,將從后端磁盤陣列讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務IO線程。
      3.按照權利要求2所述的系統(tǒng),其特征在于,所述緩存分配模塊根據(jù)所述查找結果為數(shù)據(jù)命中,則將緩存分區(qū)數(shù)據(jù)狀態(tài)更新為有用,且所述讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)所述查找結果為數(shù)據(jù)未命中,則分配所述緩存分區(qū),并向所述緩存數(shù)據(jù)訪問模塊輸出所述數(shù)據(jù)讀寫指令;或者根據(jù)所述查找結果為數(shù)據(jù)命中,且所述讀寫數(shù)據(jù)請求是從所述緩存分區(qū)讀取數(shù)據(jù),則向所述緩存數(shù)據(jù)訪問模塊輸出所述數(shù)據(jù)讀指令;所述緩存數(shù)據(jù)訪問模塊根據(jù)數(shù)據(jù)讀寫指令將從所述后端磁盤陣列讀取的數(shù)據(jù)寫入分配的所述緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務IO線程;或者根據(jù)所述數(shù)據(jù)讀指令,將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務IO線程。
      4.按照權利要求2或3所述的系統(tǒng),其特征在于,所述緩存池管理裝置還包括與所述緩存分區(qū)模塊連接的緩存回收模塊,其中所述緩存分區(qū)模塊每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則向緩存回收模塊輸出緩存回收指令;緩存回收模塊,用于根據(jù)所述緩存回收指令將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到所述緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空。
      5.按照權利要求4所述的系統(tǒng),其特征在于,所述緩存回收模塊通過系統(tǒng)回收線程根據(jù)緩存回收策略啟動相應的緩存分區(qū)回收線程,所述緩存分區(qū)回收線程在系統(tǒng)回收線程的啟動下調(diào)用回收算法回收本緩存分區(qū)內(nèi)所述狀態(tài)處于無用的數(shù)據(jù)塊;所述緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略中的任意一種或兩種。
      6.一種實現(xiàn)磁盤陣列緩存分區(qū)的緩存池管理裝置,其特征在于,包括依次連接的緩存分區(qū)模塊、緩存分配模塊以及緩存數(shù)據(jù)訪問模塊,其中緩存分區(qū)模塊,用于針對應用業(yè)務將緩存池中的緩存空間設置為相應的緩存分區(qū);緩存分配模塊,用于根據(jù)輸入的查找結果分配緩存分區(qū),并向緩存數(shù)據(jù)訪問模塊輸出數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令;緩存數(shù)據(jù)訪問模塊,用于根據(jù)應用業(yè)務模塊發(fā)出的讀寫數(shù)據(jù)請求,查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,并將所述查找結果輸出給緩存分配模塊;根據(jù)輸入的數(shù)據(jù)讀寫指令或數(shù)據(jù)讀指令,將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給應用業(yè)務模塊。
      7.按照權利要求6所述的緩存池管理裝置,其特征在于,緩存分區(qū)模塊設置的緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量;緩存分配模塊根據(jù)所述查找結果為數(shù)據(jù)命中,則將所述緩存分區(qū)的數(shù)據(jù)狀態(tài)更新為有用,且若所述讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)所述查找結果為數(shù)據(jù)未命中, 則分配具有一個或多個數(shù)據(jù)塊的所述緩存分區(qū),并向所述緩存數(shù)據(jù)訪問模塊輸出所述數(shù)據(jù)讀寫指令;或者根據(jù)所述查找結果為數(shù)據(jù)命中,且所述讀寫數(shù)據(jù)請求是從所述緩存分區(qū)讀取數(shù)據(jù),則向所述緩存數(shù)據(jù)訪問模塊輸出所述數(shù)據(jù)讀指令;所述緩存數(shù)據(jù)訪問模塊根據(jù)所述數(shù)據(jù)讀寫指令將從所述后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊;或者根據(jù)所述數(shù)據(jù)讀指令,將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊。
      8.按照權利要求6或7所述的緩存池管理裝置,其特征在于,所述緩存池管理裝置還包括與所述緩存分區(qū)模塊連接的緩存回收模塊,其中所述緩存分區(qū)模塊每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則向緩存回收模塊輸出緩存回收指令;緩存回收模塊,用于根據(jù)所述緩存回收指令和緩存回收策略將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到所述緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空;所述緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略中任意的一種或兩種。
      9.一種實現(xiàn)磁盤陣列緩存分區(qū)管理的方法,包括 緩存池管理裝置對緩存池中的緩存空間進行分區(qū)管理,針對應用業(yè)務設置緩存分區(qū)。
      10.按照權利要求9所述的方法,其特征在于,還包括應用業(yè)務模塊向所述緩存池管理裝置發(fā)送讀寫數(shù)據(jù)請求;所述緩存池管理裝置根據(jù)接收的所述讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀取。
      11.按照權利要求9或10所述的方法,其特征在于,所述緩存池管理裝置針對應用業(yè)務設置的所述緩存分區(qū),包括緩存分區(qū)總?cè)萘恳约熬彺娣謪^(qū)中單位數(shù)據(jù)塊的容量。
      12.按照權利要求11所述的方法,其特征在于,所述應用業(yè)務模塊向所述緩存池管理裝置發(fā)送的讀寫數(shù)據(jù)請求包括從后端存儲設備讀取數(shù)據(jù)和從所述緩存分區(qū)讀取數(shù)據(jù);所述緩存池管理裝置根據(jù)接收的所述讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀取,具體包括根據(jù)接收的所述讀寫數(shù)據(jù)請求查找相應的緩存分區(qū)中狀態(tài)有效的數(shù)據(jù)塊,根據(jù)查找結果分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊。
      13.按照權利要求12所述的方法,其特征在于,所述緩存池管理裝置根據(jù)查找結果分配具有一個或多個數(shù)據(jù)塊的緩存分區(qū),并將從后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),和/或?qū)南鄳彺娣謪^(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊,具體包括根據(jù)所述查找結果為數(shù)據(jù)命中,則將所述緩存分區(qū)的數(shù)據(jù)狀態(tài)更新為有用,且若所述讀寫數(shù)據(jù)請求是從后端磁盤讀取數(shù)據(jù),或者根據(jù)所述查找結果為數(shù)據(jù)未命中,則分配具有一個或多個數(shù)據(jù)塊的所述緩存分區(qū),將從所述后端存儲設備讀取的數(shù)據(jù)寫入分配的緩存分區(qū),并將從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊;或者根據(jù)所述查找結果為數(shù)據(jù)命中,且所述讀寫數(shù)據(jù)請求是從所述緩存分區(qū)讀取數(shù)據(jù),則將直接從該緩存分區(qū)中讀取的數(shù)據(jù)返回給所述應用業(yè)務模塊。
      14.按照權利要求10、12或13任一項所述的方法,其特征在于,還包括所述緩存池管理裝置每隔一段時間若查詢緩存池中的空數(shù)據(jù)塊數(shù)目低于低限值,則根據(jù)緩存回收策略將緩存分區(qū)中狀態(tài)處于無用的數(shù)據(jù)塊回收到所述緩存池中,并將回收的數(shù)據(jù)塊狀態(tài)更新為空;所述緩存回收策略包括按優(yōu)先級回收策略及按緩存分區(qū)滿足低限數(shù)據(jù)塊回收策略。
      全文摘要
      本發(fā)明提供了實現(xiàn)磁盤陣列緩存分區(qū)管理的系統(tǒng)、裝置及方法,其中系統(tǒng)包括一個或多個應用業(yè)務模塊向緩存池管理裝置發(fā)出讀寫數(shù)據(jù)請求,并接收緩存池管理裝置返回的數(shù)據(jù);緩存池管理裝置分區(qū)管理緩存池中的緩存空間,針對應用業(yè)務設置緩存分區(qū);根據(jù)應用業(yè)務模塊的讀寫數(shù)據(jù)請求,將寫入后端存儲設備中應用業(yè)務相應的數(shù)據(jù)通過分配的緩存分區(qū)讀?。缓蠖舜鎯υO備存儲應用業(yè)務相應的數(shù)據(jù)。本發(fā)明可將緩存資源分配給最需要的應用業(yè)務,使得緩存資源的應用性能最優(yōu)化,同時使得應用業(yè)務之間的資源競爭有效地減少。
      文檔編號G06F12/08GK102262512SQ201110205628
      公開日2011年11月30日 申請日期2011年7月21日 優(yōu)先權日2011年7月21日
      發(fā)明者呂爍, 文中領 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1