存儲空間配置方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種存儲空間配置方法和裝置。所述方法包括:獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù);根據(jù)所述配置命令來生成配置參數(shù);以及使用所述配置參數(shù)來配置所述存儲空間。在本發(fā)明中,可以通過可配置的方案來對存儲空間進行更改和配置,以便根據(jù)用戶的需求來定制存儲空間,從而增加了存儲空間使用時的靈活性。
【專利說明】存儲空間配置方法和裝置
【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,更具體地,本發(fā)明涉及一種存儲空間配置方法和裝置。
【背景技術】
[0002]近年來,隨著信息技術和市場的高速發(fā)展,數(shù)據(jù)管理逐漸呈現(xiàn)出數(shù)據(jù)總量不斷增力口、數(shù)據(jù)格式和數(shù)據(jù)類型越發(fā)復雜的趨勢。為了使得用戶能夠在海量的數(shù)據(jù)中快速獲取他們所需要的數(shù)據(jù),數(shù)據(jù)庫技術應運而生。
[0003]數(shù)據(jù)庫是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫。由于數(shù)據(jù)庫通常存儲在物理數(shù)據(jù)源(例如,硬盤)中,所以受到輸入/輸出接口性能的限制,處理單元對于數(shù)據(jù)庫的訪問速度(查詢速度)較為緩慢。此外,由于用戶可能在數(shù)據(jù)庫中多次執(zhí)行相同的查詢語句,這就加倍降低了數(shù)據(jù)庫的查詢效率。
[0004]為了減少處理單元對于數(shù)據(jù)庫直接訪問的頻次、提高數(shù)據(jù)庫的查詢速度,人們提出了一種數(shù)據(jù)庫緩存機制。緩存是介于處理單元與物理數(shù)據(jù)源之間的存儲空間,并且其對于處理單元而言,具有很快的讀寫速度。受到存儲空間的限制,緩存內的數(shù)據(jù)往往是對物理數(shù)據(jù)源中一部分數(shù)據(jù)的復制,并且緩存在特定的時刻或事件會與物理數(shù)據(jù)源進行同步,以保證處理單元可以直接從緩存中查詢所需的數(shù)據(jù),而無需訪問數(shù)據(jù)庫,從而實現(xiàn)快速查詢。
[0005]目前,所采用的數(shù)據(jù)庫緩存機制主要是單層緩存機制,即,在處理單元與物理數(shù)據(jù)源之間僅僅包括一層緩存。實踐證明,當在數(shù)據(jù)庫中僅僅包括不經常改變的數(shù)據(jù)項并且處理單元經常對于這些數(shù)據(jù)項發(fā)出大量的相同查詢時,單層緩存能夠起到不錯的效果。然而,當在數(shù)據(jù)庫中的數(shù)據(jù)項較為復雜且經常改變時,單層緩存機制對于數(shù)據(jù)查詢效率的提升效果并不明顯。
[0006]為此,人們進一步提出了一種多層緩存機制,即,在處理單元與物理數(shù)據(jù)源之間包括多于一層的緩存,并且使得每層緩存具有不同的查詢優(yōu)先級。在進行查詢時,處理單元將按照優(yōu)先級從高到低的順序,對多層緩存進行查詢。通過逐層地提供查詢服務,多層緩存機制在一定意義上提高了數(shù)據(jù)查詢效率。然而,其缺陷在于,與單層緩存相似地,多層緩存機制一旦建立,將無法對其再進行更改和配置,這使得現(xiàn)有的緩存機制無法很好地適應當前數(shù)據(jù)的搜索趨勢。
[0007]因此,需要一種新型的存儲空間配置方法和裝置來解決上述問題。
【發(fā)明內容】
[0008]為了解決上述技術問題,根據(jù)本發(fā)明的一個方面,提供了一種存儲空間配置方法,所述方法包括:獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù);根據(jù)所述配置命令來生成配置參數(shù);以及使用所述配置參數(shù)來配置所述存儲空間。
[0009]此外,根據(jù)本發(fā)明的另一方面,提供了一種存儲空間配置裝置,所述裝置包括:命令獲取單元,用于獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù);參數(shù)生成單元,用于根據(jù)所述配置命令來生成配置參數(shù);以及空間配置單元,用于使用所述配置參數(shù)來配置所述存儲空間。
[0010]與現(xiàn)有技術相比,采用根據(jù)本發(fā)明的存儲空間配置方法和裝置,可以根據(jù)用于配置存儲空間的配置命令來配置存儲空間,以使得存儲空間能夠高效地響應于處理單元的查詢操作。因此,在本發(fā)明中,可以通過可配置的方案來對存儲空間進行更改和配置,以便根據(jù)用戶的需求來定制存儲空間,從而增加了存儲空間使用時的靈活性。
[0011]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0012]附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:
[0013]圖1是圖示了根據(jù)本發(fā)明的存儲空間配置方法的流程圖。
[0014]圖2是圖示了根據(jù)本發(fā)明的存儲空間配置裝置的框圖。
[0015]圖3是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置方法的流程圖。
[0016]圖4是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置裝置的框圖。
[0017]圖5是圖示了根據(jù)本發(fā)明實施例的數(shù)據(jù)查詢方法的流程圖。
[0018]圖6是圖示了根據(jù)本發(fā)明實施例的對存儲空間進行調整的進程的流程圖。
[0019]圖7是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置方法的原理圖。
[0020]圖8是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置方法的流程圖。
[0021]圖9是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置裝置的框圖。
[0022]圖10是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置方法的原理圖。
【具體實施方式】
[0023]將參照附圖詳細描述根據(jù)本發(fā)明的各個實施例。這里,需要注意的是,在附圖中,將相同的附圖標記賦予基本上具有相同或類似結構和功能的組成部分,并且將省略關于它們的重復描述。
[0024]在下文中,將參考圖1和圖2來描述根據(jù)本發(fā)明的存儲空間配置方法和裝置。
[0025]圖1是圖示了根據(jù)本發(fā)明的存儲空間配置方法的流程圖,而圖2是圖示了根據(jù)本發(fā)明的存儲空間配置裝置的框圖。
[0026]圖1所圖示的存儲空間配置方法通過圖2所圖示的存儲空間配置裝置來實現(xiàn)。具體地,所述存儲空間配置裝置100包括:命令獲取單元110、參數(shù)生成單元120、和空間配置單元130。
[0027]如圖1所圖示的,所述存儲空間配置方法包括:
[0028]在步驟SllO中,命令獲取單元110獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù);
[0029]在步驟S120中,參數(shù)生成單元120根據(jù)所述配置命令來生成配置參數(shù);以及
[0030]在步驟S130中,空間配置單元130使用所述配置參數(shù)來配置所述存儲空間。
[0031]由此可見,采用根據(jù)本發(fā)明的存儲空間配置方法和裝置,可以根據(jù)用于配置存儲空間的配置命令來配置存儲空間,以使得存儲空間能夠高效地響應于處理單元的查詢操作。因此,在本發(fā)明中,可以通過可配置的方案來對存儲空間進行更改和配置,以便根據(jù)用戶的需求來定制存儲空間,從而增加了存儲空間使用時的靈活性。
[0032]在下文中,將參考圖3和圖4來描述根據(jù)本發(fā)明第一實施例的存儲空間配置方法和裝置。
[0033]圖3是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置方法的流程圖,而圖4是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置裝置100的框圖。
[0034]圖3所圖示的存儲空間配置方法可以通過圖4所圖示的存儲空間配置裝置100來實現(xiàn)。如圖4所圖示的,與圖2中相似地,該存儲空間配置裝置100可以包括:命令獲取單元110、參數(shù)生成單元120、和空間配置單元130。此外,優(yōu)選地,該信息處理裝置100還可以包括:信息接收單元140和命令生成單元150。
[0035]該存儲空間配置裝置100可以用于對一個或多個存儲空間進行配置,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù)。
[0036]另外,該存儲空間可以具有單層結構或多層結構,即所述存儲空間可以包括至少一層存儲區(qū)域,并且根據(jù)處理單元對于每一層存儲區(qū)域的訪問速度等因素來向每一層存儲空間分配不同的查詢優(yōu)先級,所述查詢優(yōu)先級是所述處理單元在所述存儲空間中查詢數(shù)據(jù)的順序,并且在所述存儲空間中,上層存儲區(qū)域具有比下層存儲區(qū)域更高的查詢優(yōu)先級。
[0037]具體地,所述存儲空間可以是用于減少處理單元對于數(shù)據(jù)庫直接訪問的頻次、提高數(shù)據(jù)庫的查詢速度的緩存。緩存介于處理單元與數(shù)據(jù)庫之間,在緩存中臨時地存儲有數(shù)據(jù)庫中一部分數(shù)據(jù)的副本,并且緩存在特定的時刻或基于特定的事件而與物理數(shù)據(jù)源進行同步,以保證處理單元可以按照很好的查詢效率來從緩存中查詢所需的數(shù)據(jù),而無需訪問數(shù)據(jù)庫。
[0038]需要說明的是,盡管在本發(fā)明的實施例中將以用于數(shù)據(jù)庫的緩存作為存儲空間的示例來具體地說明。但是,本發(fā)明不限于此。該緩存可以是用于其他用途的緩存,例如,用于中央處理單元的緩存等。并且,該存儲空間也可以是除了緩存之外的其他類型的存儲空間,諸如,物理存儲空間(例如,物理內存、硬盤)、虛擬存儲空間(例如,虛擬內存)、各種類型的數(shù)據(jù)庫(例如,關系型數(shù)據(jù)庫、鍵值數(shù)據(jù)庫等)。
[0039]如圖3所圖示的,根據(jù)本發(fā)明第一實施例的存儲空間配置方法包括:
[0040]在步驟S210中,生成存儲空間。
[0041]如【背景技術】所述,為了提高數(shù)據(jù)查詢速度,處理單元(例如,數(shù)據(jù)庫的客戶端應用)可以優(yōu)先地從具有更高查詢速度的存儲空間(例如,緩存)中獲得數(shù)據(jù),并且只有當在存儲空間中無法獲得數(shù)據(jù)時,才直接地訪問底層數(shù)據(jù)庫并從其中提取數(shù)據(jù)。
[0042]為此,在存儲空間配置裝置100中,空間配置單元130可以首先生成存儲空間(例如,緩存體系),并且根據(jù)設計需求,使得該存儲空間包括單層存儲區(qū)域或多層存儲區(qū)域。
[0043]由于在不考慮實現(xiàn)成本的情況下、多層結構比單層結構往往具有更高的查詢效率,所以優(yōu)選地,空間配置單元130所生成的存儲空間可以是多層緩存體系。該多層緩存體系可以包括N層緩存,其中N是大于I的整數(shù)。
[0044]進一步,可以根據(jù)處理單元對于各層緩存的訪問速度,將具有最快訪問速度的一層緩存確定為第一層緩存,將具有第二快訪問速度的一層緩存確定為第二層緩存,以此類推。
[0045]然而,需要說明的是,除了可以根據(jù)處理單元對于緩存的訪問速度來確定各層緩存的先后順序之外,還可以根據(jù)緩存空間的存儲容量、物理介質、和用戶偏好等其他因素來設置緩存的次序。
[0046]此外,空間配置單元130還可以向每一層存儲區(qū)域分配不同的查詢優(yōu)先級,所述查詢優(yōu)先級是所述處理單元在所述存儲空間中查詢數(shù)據(jù)的順序。
[0047]默認地,在所述緩存體系中,上層緩存往往比下層緩存具有更高的查詢優(yōu)先級。即,第一層緩存具有第一查詢優(yōu)先級,第二層緩存具有第二查詢優(yōu)先級,以此類推,而底層數(shù)據(jù)庫則具有最低的查詢優(yōu)先級。
[0048]另外,為了使得具有多層結構的存儲區(qū)域能夠解決各種數(shù)據(jù)查詢情況(例如,頻繁查詢等),當生成存儲空間時,空間配置單元130優(yōu)選地可以讓每層存儲區(qū)域解決不同的問題,使得每層存儲區(qū)域具有不同的側重點。
[0049]具體地,空間配置單元130可以使用不同的配置參數(shù)來設置不同層的緩存的實現(xiàn)方式。所述實現(xiàn)方式包括以下各項中的至少一個:判斷是否允許在當前層緩存中存儲數(shù)據(jù)的過濾函數(shù)、用于將數(shù)據(jù)淘汰到下層緩存的替換算法、存儲容量、和物理介質等。
[0050]例如,在一個具體實現(xiàn)方式中,可以如下地實現(xiàn)N層緩存(其中,假設N=3),以便減少處理單元對于底層數(shù)據(jù)庫(例如,關系數(shù)據(jù)庫)直接訪問的頻次:
[0051]I)在第一層緩存中,將過濾函數(shù)設置為允許在其中存儲任何類型的數(shù)據(jù);將替換算法設置為采用自適應替換緩存(ARC)算法,它是一種高效的緩存替換策略;將存儲容量設置為5-10兆字節(jié)(MB),并且將物理介質設置為內存。
[0052]2)在第二層緩存中,將過濾函數(shù)設置為僅僅允許在其中存儲包括關鍵詞(例如,“ABC”)的數(shù)據(jù);將替換算法設置為采用最近最少使用替換(LRU)算法,它是被使用的最為普遍的基本緩存替換算法;將存儲容量設置為200M,并且將物理介質設置為磁盤。
[0053]3)在第三層緩存中,將過濾函數(shù)設置為僅僅允許在其中存儲以下數(shù)據(jù),當直接從底層數(shù)據(jù)庫中提取該數(shù)據(jù)時,所花費的時間大于或等于閾值(例如,600毫秒(ms));將替換算法設置為采用兼顧時間和頻率替換(LRFU)算法,它是對LRU算法和最少訪問頻率替換(LFU)算法的結合,其基本思想是采用一個權值函數(shù)兼顧最近訪問時間(recency)和頻繁訪問數(shù)據(jù)(frequency)兩個特性;將存儲容量設置為2GB,并且將物理介質設置為一個鍵值(Key-Value)數(shù)據(jù)庫。
[0054]然后,在隨后的查詢操作中,處理單元可以利用空間配置單元130所生成的靈活高效的多層緩存體系來快速地查詢用戶所需的數(shù)據(jù)。
[0055]圖5是圖示了根據(jù)本發(fā)明實施例的數(shù)據(jù)查詢方法的流程圖。
[0056]如圖5所圖示的,根據(jù)本發(fā)明實施例的數(shù)據(jù)查詢方法包括:
[0057]在步驟S310中,接收查詢請求。
[0058]在用戶希望查詢某一數(shù)據(jù)時,為用戶提供服務的相關應用程序可以生成一個查詢請求,并且向處理單元發(fā)送該查詢請求。在接收到該查詢請求之后,處理單元可以解析該查詢請求,并且提取其中的查詢指令,以便在多層緩存體系中執(zhí)行查詢操作,以獲得用戶所需的數(shù)據(jù)。
[0059]在步驟S320中,判斷數(shù)據(jù)是否存儲在第一層存儲空間中。
[0060]接下來,根據(jù)在多層緩存體系中查詢優(yōu)先級的順序,該處理單元首先在第一層緩存中進行查找,以確定用戶所需的數(shù)據(jù)是否存儲在該第一層緩存中。如果判斷出該數(shù)據(jù)存在于第一層緩存中,則該數(shù)據(jù)查詢方法前進到步驟S325,否則,前進到步驟S330,繼續(xù)執(zhí)行。
[0061]在步驟S325中,從第一層存儲空間中獲得數(shù)據(jù)。
[0062]如果判斷出用戶所需的數(shù)據(jù)存在于第一層緩存中,則該處理單元從第一層緩存中獲得數(shù)據(jù),并且根據(jù)所獲得的數(shù)據(jù)來生成查詢響應。如上所述,由于處理單元對于第一層緩存往往具有最高的訪問速度,所以這個過程將是非常快速的。
[0063]在步驟S330中,判斷數(shù)據(jù)是否存儲在第二層存儲空間中。
[0064]如果在第一層緩存中沒有查找到用戶所需的數(shù)據(jù),則該處理單元繼續(xù)在第二層緩存中進行查找,以確定用戶所需的數(shù)據(jù)是否存儲在該第二層緩存中。如果判斷出該數(shù)據(jù)存在于第二層緩存中,則該數(shù)據(jù)查詢方法前進到步驟S335,否則,前進到步驟S340,繼續(xù)執(zhí)行。
[0065]在步驟S335中,從第二層存儲空間中獲得數(shù)據(jù)。
[0066]如果判斷出用戶所需的數(shù)據(jù)存在于第二層緩存中,則該處理單元從第二層緩存中獲得數(shù)據(jù),并且將所獲得的數(shù)據(jù)包括在查詢響應中。
[0067]以此類推,在接收到查詢請求之后,處理單元依次地在各層緩存中查找目的數(shù)據(jù)。如果在某一層緩存中找到該數(shù)據(jù),則從該層緩存中獲得所需的數(shù)據(jù),并且生成查詢響應。如果在該層緩存中未能找到該數(shù)據(jù),則該處理單元前進到下一層緩存中繼續(xù)查找。
[0068]在步驟S340中,判斷數(shù)據(jù)是否存儲在第N層存儲空間中。
[0069]在步驟S345中,從第N層存儲空間中獲得數(shù)據(jù)。
[0070]相似地,如果處理單元在第N層緩存中查找到用戶所需的數(shù)據(jù),則該處理單元從第N層緩存中獲得數(shù)據(jù)。由于盡管第N層緩存的訪問速度可能比第一層到第N-1層緩存要慢、但是仍大大高于底層數(shù)據(jù)庫的訪問速度,所以這個過程仍然在一定程度上提升了數(shù)據(jù)的查詢效率,保證了用戶能夠更快地獲得相關數(shù)據(jù)。
[0071]如果處理單元在第N層緩存中仍然沒有查找到該數(shù)據(jù),則該數(shù)據(jù)查詢方法前進到步驟S350。
[0072]在步驟S350中,判斷數(shù)據(jù)是否存儲在數(shù)據(jù)庫中。
[0073]如果在對各層緩存進行遍歷之后仍未能發(fā)現(xiàn)(命中)目的數(shù)據(jù),則處理單元訪問底層數(shù)據(jù)庫進行數(shù)據(jù)查詢。如果判斷出該數(shù)據(jù)存在于數(shù)據(jù)庫中,則該數(shù)據(jù)查詢方法前進到步驟S355,否則,該處理單元將表示出并未查詢到數(shù)據(jù)的錯誤信息添加到查詢響應中,并且前進到步驟S360,繼續(xù)執(zhí)行。
[0074]在步驟S355中,從數(shù)據(jù)庫中獲得數(shù)據(jù)。
[0075]如果用戶所需的數(shù)據(jù)存儲在數(shù)據(jù)庫中,則處理單元直接訪問數(shù)據(jù)庫以從其中提取該數(shù)據(jù),并且將該數(shù)據(jù)包括在所生成的查詢響應中,以便稍后向相關應用程序發(fā)送。
[0076]在步驟S360中,發(fā)送查詢響應。
[0077]處理單元將包括用戶所需數(shù)據(jù)或包括錯誤信息的查詢響應發(fā)送到應用程序,以便向用戶返回所需的數(shù)據(jù)。
[0078]在步驟S370中,對存儲空間進行調整。
[0079]為了實現(xiàn)最優(yōu)的處理效率,優(yōu)選地,與用于從緩存或數(shù)據(jù)庫中獲得數(shù)據(jù)的步驟S235、步驟S335、步驟S345、或步驟S355并行地,處理單元還將另外開啟一個進程,用于對整個緩存體系進行調整,以便提升緩存命中率,提高數(shù)據(jù)查詢效率。具體地,該進程可以根據(jù)數(shù)據(jù)的熱度來將緩存命中的數(shù)據(jù)插入到第一層緩存中,根據(jù)各層緩存的替換算法來調整該層緩存中數(shù)據(jù)的位置,并且根據(jù)各層緩存的存儲容量和過濾函數(shù)來向下淘汰多余的數(shù)據(jù)。
[0080]圖6是圖示了根據(jù)本發(fā)明實施例的對存儲空間進行調整的進程的流程圖。
[0081]如圖6所圖示的,根據(jù)本發(fā)明實施例的對存儲空間進行調整的進程包括:
[0082]在步驟S410中,判斷被命中的數(shù)據(jù)位于第i層存儲空間還是數(shù)據(jù)庫中。
[0083]如果用戶所需的數(shù)據(jù)被命中,則處理單元與用于從緩存或數(shù)據(jù)庫中獲得數(shù)據(jù)的進程并行地,開啟對存儲空間進行調整的進程。
[0084]在該進程中,處理單元首先判斷用戶所需的數(shù)據(jù)是在某一層(例如,第i層,其中
N)緩存中還是在數(shù)據(jù)庫中被命中。如果判斷出該數(shù)據(jù)是在第i層緩存中查找到的,
則該進程前進到步驟S415 ;如果判斷出該數(shù)據(jù)是在數(shù)據(jù)庫中查找的,則該進程跳轉到步驟S425。
[0085]在步驟S415中,根據(jù)緩存算法來調整第i層存儲空間中的數(shù)據(jù)。
[0086]當被命中的數(shù)據(jù)位于第i層緩存中時,處理單元根據(jù)第i層緩存所采用的替換算法來對第i層緩存中的數(shù)據(jù)進行調整。例如,該替換算法可以包括以下各項中的任何一個:上述的LRU、ARC、LRFUjP LFU算法、以及其他各種替換算法。
[0087]為了方便起見,這里基于上面例示的N層緩存(其中,假設N=3 )的具體實現(xiàn)方式來繼續(xù)說明,并且假設用戶所需的數(shù)據(jù)庫在第三層緩存中被命中。
[0088]由于如上所述地在第三層緩存中采用的替換算法是LRFU算法,所以處理單元根據(jù)兼顧最近訪問時間(recency)和頻繁訪問數(shù)據(jù)(frequency)兩個特性,并且基于最近一次訪問所占權值最大、越往后其權值越小的原則來確定組合時間和頻率(CRF)權值,以表示該數(shù)據(jù)未來被訪問的可能。該CRF權值通過權值函數(shù)和記錄的上次訪問的CRF權值得到。
[0089]在確定出第三層緩存中各個數(shù)據(jù)的CRF權值之外,處理單元按照CRF權值從大到小來對所有的數(shù)據(jù)進行排序,以便調整第三層緩存中數(shù)據(jù)的位置。
[0090]在步驟S420中,判斷第i層存儲空間是否是第一層存儲空間。
[0091]接下來,處理單元判斷被命中的數(shù)據(jù)所位于的第i層緩存是否是第一層緩存,如果是,則該進程結束;否則,該進程前進到步驟S425。
[0092]在步驟S425中,產生插入線程,該插入線程用于將被命中的數(shù)據(jù)插入到第k層存儲空間中,其中k=l。
[0093]在本示例中,由于被命中的數(shù)據(jù)位于的第三層緩存中,所以處理單元將產生插入線程。
[0094]具體地,由于被命中的數(shù)據(jù)具有最高的熱度,并且由于第一層緩存比第三層緩存具有更高的查詢優(yōu)先級,所以為了保證在下次相同的查詢時能更快地查詢到該數(shù)據(jù),所以處理單元根據(jù)熱度來將被命中的數(shù)據(jù)插入到第一層緩存中。
[0095]需要說明的是,在其他情況下,如果在步驟S410中判斷出被命中的數(shù)據(jù)位于數(shù)據(jù)庫中,則處理單元跳過步驟S415和S420,直接產生該插入進程。
[0096]在步驟S430中,判斷當前數(shù)據(jù)是否符合第k層存儲空間的過濾函數(shù)。
[0097]接下來,處理單元判斷被命中的數(shù)據(jù)是否符合第一層緩存的過濾函數(shù),以便決定該數(shù)據(jù)是否被允許插入到第一層緩存中。如果是,則該進程前進到步驟S425,否則該進程跳轉到步驟S450。
[0098]在步驟S435中,將當前數(shù)據(jù)插入到第k層存儲空間中。
[0099]在本示例中,如上所述,由于第一層緩存的過濾函數(shù)允許在其中存儲任何類型的數(shù)據(jù),所以處理單元將當前具有最高熱度的被命中數(shù)據(jù)插入到第一層緩存中。
[0100]在步驟S440中,根據(jù)緩存算法來調整第k層存儲空間中的數(shù)據(jù)。
[0101]與步驟S415相似地,處理單元根據(jù)第一層緩存的替換算法(即,ARC算法)來對第一層緩存中的數(shù)據(jù)進行調整,以便按照命中熱度(即,將被命中的概率)從大到小來對所有的數(shù)據(jù)進行排序,以便調整第一層緩存中數(shù)據(jù)的位置。
[0102]在步驟S445中,判斷是否超出第k層存儲空間的容量。
[0103]接下來,處理單元判斷在將被命中的數(shù)據(jù)插入到第一層緩存之后,該第一層緩存是否超出預定的大小(即,5-10MB),如果是,則處理單元確定要從當前層(第k層,其中k=l)中淘汰的數(shù)據(jù),并且該進程前進到步驟S450以進行后續(xù)的淘汰操作,否則,該進程結束。
[0104]例如,該處理單元可以根據(jù)當前層的替換算法,將處于當前層中最后位置的數(shù)據(jù)(即,熱度最低的數(shù)據(jù))確定為要淘汰的數(shù)據(jù)。
[0105]在步驟S450中,判斷第k層存儲空間是否位于第N層存儲空間之上。
[0106]處理單元判斷當前的緩存是否是第一層緩存到第N-1層緩存中的一個,如果是,則該進程前進到步驟S455 ;如果當前的緩存是第N層緩存(即,最后一層緩存),則該進程前進到步驟S460。
[0107]在步驟S455中,產生插入線程,該插入線程用于將所淘汰的數(shù)據(jù)插入到第k層存儲空間中,其中k=k+l。
[0108]在本示例中,由于當前的緩存是第一層緩存,所以處理單元可以得到肯定的判斷結果。
[0109]因此,與步驟S425相似地,處理單元將產生插入線程。但是,與步驟S425不同地,該插入線程用于將淘汰的數(shù)據(jù)插入到第一層緩存的下一層緩存(即,第二層緩存)中。
[0110]接下來,該進程返回到步驟S430。
[0111]相似地,處理單元在步驟S430中判斷在第一層中淘汰的數(shù)據(jù)是否符合第二層緩存的過濾函數(shù)(即,該數(shù)據(jù)是否包括關鍵詞“ABC”),以便決定該數(shù)據(jù)是否被允許插入到第二層緩存中。
[0112]假設在第一層中淘汰的數(shù)據(jù)不符合第二層緩存的過濾函數(shù),則不再將該數(shù)據(jù)插入到第二層緩存中,并且該進程前進到步驟S450。
[0113]處理單元在步驟S450中判斷出當前的緩存是第二層緩存、而不是第三層緩存,于是,則該進程前進到步驟S455,其中處理單元進一步產生一個插入線程,以便將在第一層中淘汰的數(shù)據(jù)插入到第三層緩存中。
[0114]接下來,該進程再次返回到步驟S430。
[0115]同理,處理單元在步驟S430中判斷在第一層中淘汰的數(shù)據(jù)是否符合第三層緩存的過濾函數(shù)(即,當從數(shù)據(jù)庫中提取在第一層中淘汰的數(shù)據(jù)時,所花費的時間大于或等于600ms),以便決定該數(shù)據(jù)是否被允許插入到第三層緩存中。
[0116]假設在第一層中淘汰的數(shù)據(jù)符合第三層緩存的過濾函數(shù),則處理單元在步驟S435中將該數(shù)據(jù)插入到第三層緩存中。
[0117]處理單元在步驟S440中根據(jù)第三層緩存的替換算法(即,LRFU算法)來按照CRF權值從大到小來對第三層緩存中的所有數(shù)據(jù)進行排序,以便在插入了在第一層中淘汰的數(shù)據(jù)之后,再一次調整第三層緩存中數(shù)據(jù)的位置。
[0118]處理單元在步驟S445中判斷在將在第一層中淘汰的數(shù)據(jù)插入到第三層緩存之后,該第三層緩存是否超出預定的大小(即,2GB)。假設判斷結果是肯定的,則處理單元確定要從當前層(第k層,其中k=3)中淘汰的數(shù)據(jù)(例如,該數(shù)據(jù)是具有最小CRF權值的數(shù)據(jù))。
[0119]由于處理單元在步驟S450中判斷出當前的緩存是最后一層緩存(即,第三層緩存),所以該進程前進到步驟S460。
[0120]在步驟S460中,刪除所淘汰的數(shù)據(jù)。
[0121]這時,由于底層數(shù)據(jù)庫中必然包括在第三層緩存中淘汰的數(shù)據(jù),所以處理單元無需再將該數(shù)據(jù)插入到底層數(shù)據(jù)庫中,因此,該處理單元可以直接從第三層緩存中刪除CRF權值最小(即,熱度最低)的數(shù)據(jù),以便將在第三層緩存中存儲的數(shù)據(jù)容量保持在預定的閾值以內。
[0122]如上所述,在根據(jù)本發(fā)明實施例的多層緩存體系中,可以使得每層緩存解決不同的具體問題。例如,可以在第一層緩存(N=I)中,使用一種高效的緩存替換策略,并且在其他層緩存(N>1)中,使得在第N層緩存中存放的數(shù)據(jù)是由第N-1層緩存所淘汰的,并且符合第N層的過濾函數(shù)。
[0123]這樣,可以根據(jù)用戶需求來生成并定制多層緩存體系,充分提高了數(shù)據(jù)查詢效率,并且可以通過具有不同功能的多層緩存體系來解決各種可能的數(shù)據(jù)查詢情況(例如,頻繁查詢等)。
[0124]下面,返回參考圖3來繼續(xù)描述根據(jù)本發(fā)明第一實施例的存儲空間配置方法。
[0125]在步驟S220中,從用戶接收用于存儲空間的配置信息。
[0126]在緩存體系運行一段時間之后,用戶可能希望對已有的緩存體系進行調整,以便更加符合自己的使用要求。這時,優(yōu)選地,可以通過緩存配置應用程序向用戶提供用于配置緩存體系的多個配置信息選項,并且接收用戶所選擇的配置信息。
[0127]此外,優(yōu)選地,可以對所有的配置信息進行構件化處理,以生成緩存構件庫。一個緩存構件是指一個對象(接口規(guī)范、或二進制代碼),它被用于復用,并且其接口被明確定義。緩存構件是作為一個邏輯緊密的程序代碼包的形式出現(xiàn)的,有著良好的接口,用于在整個緩存體系中配置各層緩存的實現(xiàn)方式和/或多層緩存之間的組織方式。
[0128]這樣,緩存配置應用程序可以向用戶提供預設的緩存構件庫,以便用戶從該緩存構件庫中選取所需的構件,從而靈活簡便地對緩存體系進行配置。
[0129]例如,用戶可以對緩存體系的諸如查詢命中率、查詢速度、可用的物理資源、預算成本之類的各種指標進行統(tǒng)計,并且根據(jù)統(tǒng)計結果來手動地從緩存構件庫中選擇所需的構件,以用于配置多層緩存體系。
[0130]然后,緩存配置應用程序可以根據(jù)用戶的選擇來生成用于存儲空間的配置信息。
[0131]接下來,在存儲空間配置裝置100中,信息接收單元140從緩存配置應用程序接收用于對空間配置單元130所生成的多層緩存體系進行配置的配置信息。
[0132]在步驟S230中,根據(jù)配置信息來生成配置命令。
[0133]然后,命令生成單元150可以根據(jù)信息接收單元140接收到的配置信息來生成用于對緩存體系進行配置的配置命令。
[0134]在步驟S240中,獲取用于配置存儲空間的配置命令。
[0135]接下來,命令獲取單元110獲取命令生成單元150生成的配置命令,并且將該配置命令傳送到參數(shù)生成單元120。
[0136]在步驟S250中,根據(jù)配置命令來生成配置參數(shù)。
[0137]參數(shù)生成單元120根據(jù)命令獲取單元110獲取的配置命令來生成配置參數(shù)。
[0138]具體地,參數(shù)生成單元120解析該配置命令,并且根據(jù)該配置命令來執(zhí)行預定的程序代碼包。
[0139]這里,如上所述,優(yōu)選地,參數(shù)生成單元120可以根據(jù)配置命令從緩存構件庫中選取與之相關的構件,以便通過標準的接口和代碼包來完成緩存配置操作。
[0140]在步驟S260中,使用配置參數(shù)來配置存儲空間。
[0141]空間配置單元130使用參數(shù)生成單元120生成的配置參數(shù)來配置所述存儲空間。
[0142]優(yōu)選地,空間配置單元130可以使用參數(shù)生成單元120在緩存構件庫中所選取的各個緩存構件來在整個緩存體系中配置各層緩存的實現(xiàn)方式和/或多層緩存之間的組織方式(例如,新建、刪除緩存層、改變緩存層的順序等)。
[0143]圖7是圖示了根據(jù)本發(fā)明第一實施例的存儲空間配置方法的原理圖。如圖7所圖示的,更加形象地了說明上述存儲空間配置方法的原理。
[0144]在第一示例中,空間配置單元130可以使用不同的配置參數(shù)來配置不同層的存儲區(qū)域的實現(xiàn)方式,所述實現(xiàn)方式包括以下各項中的至少一個:判斷是否允許存儲數(shù)據(jù)的過濾函數(shù)、用于將數(shù)據(jù)淘汰到下層存儲區(qū)域的替換算法、存儲容量、和物理介質。
[0145]具體地,可以將在整個緩存體系中任一層緩存中使用的過濾函數(shù)配置為以下各項中的任何一個:允許在該層緩存中存儲任何類型的數(shù)據(jù);僅僅允許在該層緩存中存儲包括某一關鍵詞的數(shù)據(jù);僅僅允許在該層緩存中存儲以下數(shù)據(jù),當從數(shù)據(jù)庫中提取該數(shù)據(jù)時,所花費的時間大于或等于閾值;僅僅允許在該層緩存中存儲其大小超出閾值的數(shù)據(jù)等。
[0146]可以將在整個緩存體系中任一層緩存中使用的替換算法配置為采用以下各項中的任何一個:ARC算法、LRU算法、LRFU算法、LFU算法、最近被使用替換(MRU)算法等。
[0147]可以對在整個緩存體系中任一層緩存中使用的存儲容量進行配置,例如將它配置為某一絕對大小(例如,5-10MB、200MB等)或某一相對大小(例如,存儲100或200個數(shù)據(jù))
坐寸ο
[0148]可以將在整個緩存體系中任一層緩存中使用的物理介質配置為采用以下各項中的任何一個:內存、硬盤文件、各種類型的數(shù)據(jù)庫等。
[0149]在第二示例中,空間配置單元130可以根據(jù)所述配置參數(shù)來在所述存儲空間中新建一層存儲區(qū)域,向所新建的一層存儲區(qū)域分配相應的查詢優(yōu)先級,并且調整在所新建的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
[0150]具體地,當用戶發(fā)現(xiàn)現(xiàn)有的緩存體系的查詢效率仍需要提高時,該用戶可以在權衡預期的查詢效率、已有的物理資源和擴容所需的預算成本等多個因素的情況下,在整個緩存體系中的任何位置處添加一層或多層緩存。
[0151]例如,在三層緩存體系的情況下,如果用戶發(fā)現(xiàn)第三層緩存的查詢速度較慢并希望加入一層響應更快的緩存,則該用戶可以在第二層緩存與第三層緩存之間添加一層緩存,使得原有的三層緩存體系改變?yōu)樗膶泳彺骟w系,其中第一層緩存和第二層緩存保持不變,新加入的一層緩存替代原來的第三層緩存而成為新的第三層緩存,并且原來的第三層緩存成為新的第四層緩存。
[0152]相應地,向新的第三層緩存分配第三查詢優(yōu)先級,并且向新的第四層緩存分配第四查詢優(yōu)先級,以保證具有更高查詢速度的第三層緩存在進行查詢遍歷時優(yōu)先于具有更慢查詢速度的第四層緩存。
[0153]替換地,當用戶發(fā)現(xiàn)在一定時期存在某一查詢熱點(例如,其包括某一相同或相似的關鍵詞)時,該用戶也可以在整個緩存體系中添加一層緩存來專門存儲相關的數(shù)據(jù),并且在該查詢熱點時期結束之后,自動地或手動地刪除新添加的該層緩存。
[0154]在第三示例中,空間配置單元130可以根據(jù)所述配置參數(shù)來從所述存儲空間中刪除一層存儲區(qū)域,并且調整在所刪除的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
[0155]具體地,當用戶發(fā)現(xiàn)現(xiàn)有緩存體系中的某一層緩存的查詢命中率低于一個閾值時,該用戶可以刪除該緩存層,以釋放有限的物理資源。
[0156]例如,在三層緩存體系的情況下,如果用戶發(fā)現(xiàn)第二層緩存中數(shù)據(jù)的查詢命中率較低,其對于提高數(shù)據(jù)查詢效率貢獻不高、還浪費了大量系統(tǒng)資源,則該用戶可以刪除第二層緩存,使得原有的三層緩存體系改變?yōu)槎泳彺骟w系,其中第一層緩存保持不變,原來的第三層緩存替代原來的第二層緩存而成為新的第二層緩存。
[0157]相應地,向新的第二層緩存分配第二查詢優(yōu)先級,以保證查詢順序的連貫性。
[0158]在第四示例中,空間配置單元130可以根據(jù)所述配置參數(shù)來在所述存儲空間中對在一層存儲區(qū)域中存儲的內容與在另一層存儲區(qū)域中存儲的內容進行交換。
[0159]具體地,當用戶發(fā)現(xiàn)現(xiàn)有緩存體系中的一層緩存的查詢命中率較高、但卻具有較低的查詢優(yōu)先級,而另一層的查詢命中率較低、但卻具有較高的查詢優(yōu)先級時,這顯然將導致查詢效率降低,于是該用戶可以調整這兩層緩存的優(yōu)先次序,以提高查詢效率。
[0160]例如,在三層緩存體系的情況下,如果用戶發(fā)現(xiàn)第二層緩存中數(shù)據(jù)的查詢命中率較低、第三層緩存中數(shù)據(jù)的查詢命中率較高,并且第二層緩存和第三層緩存具有相同或相近的響應速度,則該用戶可以將在第二層緩存中存儲的數(shù)據(jù)與第三層緩存中存儲的數(shù)據(jù)對換,即,使得第一層緩存保持不變,原來的第二層緩存與第三層緩存對換,以形成新的三層緩存體系。
[0161]相應地,向新的第二層緩存分配第二查詢優(yōu)先級,并且向新的第三層緩存分配第三查詢優(yōu)先級,以保證具有更高命中率的新第二層緩存在進行查詢遍歷時優(yōu)先于具有更低命中率的新第三層緩存。
[0162]由此可見,采用根據(jù)本發(fā)明第一實施例的存儲空間配置方法和裝置,多層緩存體系是可手動配置的,用戶可以根據(jù)設計需求來選擇多層緩存體系中每層緩存的具體實現(xiàn)方式、以及多層緩存之間的組織方式等。也就是說,用戶可以通過實際的查詢需求和查詢的統(tǒng)計結果來定制多層緩存,使得緩存使用更為靈活,以便滿足不同設計需求下的要求。
[0163]因此,在本發(fā)明的第一實施例中,通過可手動配置的多層緩存體系,解決了各種數(shù)據(jù)查詢情況,加快了數(shù)據(jù)查詢效率,減少了數(shù)據(jù)庫響應時間,增加了緩存使用時的靈活性。
[0164]在本發(fā)明的第一實施例中,用戶可以手動地對存儲空間進行配置,然而,這種手動操作需要占用用戶大量時間,并且可能存在不必要的操作失誤,從而人為地導致存儲空間配置效率低下。
[0165]為此,在本發(fā)明的第二實施例中,將對存儲空間的查詢操作進行監(jiān)控和統(tǒng)計,以使得存儲空間自適應地完成對自身的配置。
[0166]在下文中,將參考圖8和圖9來描述根據(jù)本發(fā)明第二實施例的存儲空間配置方法和裝置。
[0167]圖8是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置方法的流程圖,而圖9是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置裝置100的框圖。
[0168]圖8所圖示的存儲空間配置方法可以通過圖9所圖示的存儲空間配置裝置100來實現(xiàn)。如圖9所圖示的,與圖2中相似地,該存儲空間配置裝置100可以包括:命令獲取單元110、參數(shù)生成單元120、和空間配置單元130。此外,優(yōu)選地,該信息處理裝置100還可以包括:查詢檢測單元160和命令生成單元150。
[0169]如圖8所圖示的,根據(jù)本發(fā)明第二實施例的存儲空間配置方法包括:
[0170]在步驟S510中,生成存儲空間。
[0171]第二實施例中的步驟S510與第一實施例中的步驟S210相同,并因而省略其詳細描述。
[0172]在步驟S520中,檢測對于存儲空間的查詢操作和存儲空間返回的查詢結果,并生成檢測結果。
[0173]在空間配置單元130生成多層緩存體系之后,相關的應用程序可以生成一個或多個查詢請求,并且向處理單元發(fā)送該查詢請求。在接收到該查詢請求之后,處理單元可以解析該查詢請求,并且提取其中的查詢指令,以便在多層緩存體系中執(zhí)行查詢操作,以獲得用戶所需的數(shù)據(jù)。
[0174]在執(zhí)行數(shù)據(jù)查詢操作期間,查詢檢測單元160可以自動地監(jiān)控處理單元對于多層緩存體系和數(shù)據(jù)庫的查詢操作,對在多層緩存體系中的諸如查詢命中率、查詢速度、可用的物理資源、預算成本之類的各種指標進行收集和統(tǒng)計,以便生成檢測結果。
[0175]在步驟S530中,根據(jù)檢測結果來生成配置命令。
[0176]然后,命令生成單元150可以根據(jù)查詢檢測單元160所生成的檢測結果來生成用于對緩存體系進行配置的配置命令,以便空間配置單元130完成對于整個緩存體系的配置過程。
[0177]在步驟S540中,獲取用于配置存儲空間的配置命令。
[0178]在步驟S550中,根據(jù)配置命令來生成配置參數(shù)。
[0179]在步驟S560中,使用配置參數(shù)來配置存儲空間。
[0180]第二實施例中的步驟S540到步驟S560與第一實施例中的步驟S240到步驟S260相同,并因而省略其詳細描述。
[0181]圖10是圖示了根據(jù)本發(fā)明第二實施例的存儲空間配置方法的原理圖。如圖10所圖示的,更加形象地說明了上述存儲空間配置方法的原理。
[0182]由此可見,采用根據(jù)本發(fā)明第二實施例的存儲空間配置方法和裝置,多層緩存體系是可自適應配置的。也就是說,多層緩存體系具有自適應的特點,可以通過用戶的訪問規(guī)律等因素,調整整個緩存體系中每個緩存層的具體實現(xiàn)方式以及各個緩存層之間的組織方式(例如,改變各個緩存層之間的優(yōu)先次序,適時添加和刪除緩存層)。
[0183]因此,在本發(fā)明的第二實施例中,通過自適應配置的方案,提高了多層緩存對數(shù)據(jù)的適應性,改善了緩存命中率。并且,該第二實施例可以動態(tài)適應用戶的查詢特點,無需進行人工干預,就能長時間保持較高的緩存命中率。
[0184]需要說明的是,顯然,本發(fā)明的第一實施例和第二實施例除了可以單獨實現(xiàn)之外,還可以組合地實現(xiàn),即通過將用戶手動配置和緩存自適應配置相結合來進一步提高了緩存命中率和查詢效率。
[0185]此外,需要說明的是,盡管此處將上述的各個單元作為各個步驟的執(zhí)行主體來說明本發(fā)明的各個實施例,但是,本領域技術人員能夠理解的是,本發(fā)明不限于此。各個步驟的執(zhí)行主體可以由其他的一個或多個設備、裝置、單元、甚至模塊來擔任。
[0186]例如,上述命令獲取單元110、參數(shù)生成單元120、空間配置單元130、信息接收單元140、命令生成單元150、和查詢檢測單元160中一個或多個所執(zhí)行的各個步驟可以統(tǒng)一地由電子設備中的中央處理單元(CPU)來實現(xiàn)。
[0187]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助于軟件加必需的硬件平臺的方式來實現(xiàn),當然也可以全部通過軟件、或硬件來實施?;谶@樣的理解,本發(fā)明的技術方案對【背景技術】做出貢獻的全部或者部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
[0188]在上面詳細描述了本發(fā)明的各個實施例。然而,本領域技術人員應該理解,在不脫離本發(fā)明的原理和精神的情況下,可對這些實施例進行各種修改,組合或子組合,并且這樣的修改應落入本發(fā)明的范圍內。
【權利要求】
1.一種存儲空間配置方法,其特征在于,所述方法包括: 獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù); 根據(jù)所述配置命令來生成配置參數(shù);以及 使用所述配置參數(shù)來配置所述存儲空間。
2.根據(jù)權利要求1的方法,其特征在于,所述方法還包括: 從用戶接收用于所述存儲空間的配置信息;以及 根據(jù)所述配置信息來生成所述配置命令。
3.根據(jù)權利要求1的方法,其特征在于,所述方法還包括: 檢測對于所述存儲空間的查詢操作和所述存儲空間返回的查詢結果,并生成檢測結果;以及 根據(jù)所述檢測結果來生成所述配置命令。
4.根據(jù)權利要求1的方法,其特征在于,在所述使用所述配置參數(shù)來配置所述存儲空間的步驟之前,所述方法還包括: 生成所述存儲空間,使得所述存儲空間包括多層存儲區(qū)域;以及向每一層存儲區(qū)域分配不同的查詢優(yōu)先級,所述查詢優(yōu)先級是所述處理單元在所述存儲空間中查詢數(shù)據(jù)的順序,并且在所述存儲空間中,上層存儲區(qū)域具有比下層存儲區(qū)域更高的查詢優(yōu)先級。
5.根據(jù)權利要求4的方法,其特征在于,所述使用所述配置參數(shù)來配置所述存儲空間的步驟包括: 使用不同的配置參數(shù)來配置不同層的存儲區(qū)域的實現(xiàn)方式。
6.根據(jù)權利要求5的方法,其特征在于,所述實現(xiàn)方式包括以下各項中的至少一個:判斷是否允許存儲數(shù)據(jù)的過濾函數(shù)、用于將數(shù)據(jù)淘汰到下層存儲區(qū)域的替換算法、存儲容量、和物理介質。
7.根據(jù)權利要求4的方法,其特征在于,所述使用所述配置參數(shù)來配置所述存儲空間的步驟包括: 根據(jù)所述配置參數(shù)來在所述存儲空間中新建一層存儲區(qū)域; 向所新建的一層存儲區(qū)域分配相應的查詢優(yōu)先級;以及 調整在所新建的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
8.根據(jù)權利要求4的方法,其特征在于,所述使用所述配置參數(shù)來配置所述存儲空間的步驟包括: 根據(jù)所述配置參數(shù)來從所述存儲空間中刪除一層存儲區(qū)域;以及 調整在所刪除的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
9.根據(jù)權利要求4的方法,其特征在于,所述使用所述配置參數(shù)來配置所述存儲空間的步驟包括: 根據(jù)所述配置參數(shù)來在所述存儲空間中對在一層存儲區(qū)域中存儲的內容與在另一層存儲區(qū)域中存儲的內容進行交換。
10.一種存儲空間配置裝置,其特征在于,所述裝置包括: 命令獲取單元,用于獲取用于配置存儲空間的配置命令,所述存儲空間用于臨時性地存儲數(shù)據(jù),并且根據(jù)來自處理單元的查詢操作來返回所述處理單元所需的數(shù)據(jù); 參數(shù)生成單元,用于根據(jù)所述配置命令來生成配置參數(shù);以及 空間配置單元,用于使用所述配置參數(shù)來配置所述存儲空間。
11.根據(jù)權利要求10的方法,其特征在于,所述裝置還包括: 信息接收單元,用于從用戶接收用于所述存儲空間的配置信息;以及 命令生成單元,用于根據(jù)所述配置信息來生成所述配置命令。
12.根據(jù)權利要求10的裝置,其特征在于,所述裝置還包括: 查詢檢測單元,用于檢測對于所述存儲空間的查詢操作和所述存儲空間返回的查詢結果,并生成檢測結果;以及 命令生成單元,用于根據(jù)所述檢測結果來生成所述配置命令。
13.根據(jù)權利要求10的裝置,其特征在于,所述空間配置單元在使用所述配置參數(shù)來配置所述存儲空間之前,生成所述存儲空間,使得所述存儲空間包括多層存儲區(qū)域,并且向每一層存儲區(qū)域分配不同的查詢優(yōu)先級,所述查詢優(yōu)先級是所述處理單元在所述存儲空間中查詢數(shù)據(jù)的順序,并且在所述存儲空間中,上層存儲區(qū)域具有比下層存儲區(qū)域更高的查詢優(yōu)先級。
14.根據(jù)權利要求13的裝置,其特征在于,所述空間配置單元使用不同的配置參數(shù)來配置不同層的存儲區(qū)域的實現(xiàn)方式。
15.根據(jù)權利要求14的裝置,其特征在于,所述實現(xiàn)方式包括以下各項中的至少一個:判斷是否允許存儲數(shù)據(jù)的過濾函數(shù)、用于將數(shù)據(jù)淘汰到下層存儲區(qū)域的替換算法、存儲容量、和物理介質。
16.根據(jù)權利要求13的裝置,其特征在于,所述空間配置單元根據(jù)所述配置參數(shù)來在所述存儲空間中新建一層存儲區(qū)域,向所新建的一層存儲區(qū)域分配相應的查詢優(yōu)先級,并且調整在所新建的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
17.根據(jù)權利要求13的裝置,其特征在于,所述空間配置單元根據(jù)所述配置參數(shù)來從所述存儲空間中刪除一層存儲區(qū)域,并且調整在所刪除的一層存儲區(qū)域下面的各層存儲區(qū)域的查詢優(yōu)先級。
18.根據(jù)權利要求13的裝置,其特征在于,所述空間配置單元根據(jù)所述配置參數(shù)來在所述存儲空間中對在一層存儲區(qū)域中存儲的內容與在另一層存儲區(qū)域中存儲的內容進行交換。
【文檔編號】G06F12/08GK104424119SQ201310376531
【公開日】2015年3月18日 申請日期:2013年8月26日 優(yōu)先權日:2013年8月26日
【發(fā)明者】鄭帆, 賈煒, 盧小東 申請人:聯(lián)想(北京)有限公司