專利名稱:一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于廣域分布式系統(tǒng)技術(shù)領(lǐng)域,具體地說,本發(fā)明涉及一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法及系統(tǒng)。
背景技術(shù):
在主存儲(chǔ)讀取速度低的條件下,緩存的使用對(duì)于提供數(shù)據(jù)訪問速度起到了極其重要的作用。由于應(yīng)用對(duì)數(shù)據(jù)的訪問存在不同的規(guī)律,數(shù)據(jù)進(jìn)入緩存和退出緩存就需要采取某種機(jī)制,最常用的方法是LRU(最近最少使用)替換機(jī)制。但LRU存在如下問題:不能處理弱訪問局部性,比如:(1)文件掃描:一次訪問的數(shù)據(jù)塊不能被及時(shí)地替換;(2)類循環(huán)訪問:最早被訪問的數(shù)據(jù)塊不幸地被替換;(3)以不同頻率進(jìn)行的訪問:頻繁被訪問的數(shù)據(jù)塊可被不幸地替換出。針對(duì)上述問題,美國俄亥俄大學(xué)的李曉東團(tuán)隊(duì)提出LIRS(LowInter-reference Recency Set algorithm、低互引用最近性集合算法)機(jī)制。該機(jī)制首先定義IRR(Inter-reference Recency,互引用最近性)為在對(duì)該數(shù)據(jù)塊的兩次連續(xù)引用之間,所訪問其他不同數(shù)據(jù)塊數(shù),即重用距離;其觀察依據(jù)是一個(gè)高IRR數(shù)據(jù)塊將不會(huì)被頻繁使用,從而選擇高IRR數(shù)據(jù)塊加以替換;以最近性用作第二引用。LIRS的操作有四種情況:(I)初始化:直到LIR數(shù)據(jù)塊集合滿之前,所有被引用的數(shù)據(jù)塊都被賦予一個(gè)LIR狀態(tài),同時(shí)將駐留HIR數(shù)據(jù)塊放置于一個(gè)小型的LRU棧中;(2)在訪問一個(gè)LIR數(shù)據(jù)塊(一次命中)時(shí)的處理;(3)在訪問一個(gè)駐留HIR數(shù)據(jù)塊(一次命中)時(shí)的處理;(4)在訪問一個(gè)非駐留HIR數(shù)據(jù)塊(一次非命中)時(shí)的情況。其具體操作這里不再詳述,可參見相關(guān)文獻(xiàn)。LIRS適用于數(shù)據(jù)粒度較小的情況。對(duì)于較大粒度的數(shù)據(jù)管理,比如數(shù)十兆、數(shù)百兆,甚至更大的數(shù)據(jù)文件,由于訪問分布于文件的不同位置,造成與小粒度數(shù)據(jù)的規(guī)律不同,同時(shí)替換代價(jià)也不同?;诖耍趶V域分布式系統(tǒng)的數(shù)據(jù)管理中,就需要考慮不同的數(shù)據(jù)替換方法,本發(fā)明正是針對(duì)這一問題而提出的方法。
發(fā)明內(nèi)容
本發(fā)明的目的是考慮大型文件尺寸條件下,在廣域分布式系統(tǒng)中,針對(duì)訪問分布于文件的不同位置、替換代價(jià)不同等特征,從而提供一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法及系統(tǒng)。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng),該系統(tǒng)用于為廣域的基于內(nèi)容分布式的系統(tǒng)提供一種數(shù)據(jù)副本替換策略,所述系統(tǒng)包含:文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng)。所述文件管理子系統(tǒng),用于處理替換系統(tǒng)內(nèi)部的文件請(qǐng)求并生成與其相連接的文件緩存單元的文件副本替換策略。所述數(shù)據(jù)塊管理子系統(tǒng),用于處理數(shù)據(jù)塊請(qǐng)求、進(jìn)行訪問統(tǒng)計(jì)并生成與其相連的數(shù)據(jù)塊緩存單元的數(shù)據(jù)塊副本替換策略。其中,所述數(shù)據(jù)塊管理子系統(tǒng)向所述文件管理子系統(tǒng)報(bào)告數(shù)據(jù)塊的使用狀態(tài)信息;所述文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng)之間是一對(duì)多的關(guān)系。上述技術(shù)方案中,所述文件管理子系統(tǒng)進(jìn)一步包含:文件進(jìn)入緩存單元:該單元在有對(duì)文件的讀寫請(qǐng)求時(shí),從外部文件源處得到該文件。文件副本替換退出策略生成單元,該單元首先將文件進(jìn)入緩存單元得到的最新文件替換位于文件緩存單元上的被引用為否的文件;其次在LIRS機(jī)制的基礎(chǔ)上,將引用距離和最近性之外的文件熱度指標(biāo)作為文件是否退出文件緩存單元的依據(jù),即當(dāng)有若干個(gè)文件滿足引用距離和最近性指標(biāo)退出文件緩存單元的條件時(shí),要進(jìn)一步選擇文件熱度低的文件作為最終退出文件緩存單元的文件。和基于數(shù)據(jù)塊信息更新文件狀態(tài)信息的單元,該單元從數(shù)據(jù)塊管理子系統(tǒng)接收數(shù)據(jù)塊統(tǒng)計(jì)信息,將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),并當(dāng)數(shù)據(jù)塊退出一數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用計(jì)數(shù)減1,當(dāng)被引用計(jì)數(shù)為值O時(shí),表示沒有數(shù)據(jù)塊管理子系統(tǒng)緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用計(jì)數(shù),更新文件被引用狀態(tài)。其中,所述數(shù)據(jù)塊統(tǒng)計(jì)信息包括數(shù)據(jù)塊的使用次數(shù)、數(shù)據(jù)塊退出所述數(shù)據(jù)塊管理子系統(tǒng)所連接的緩存單元的時(shí)間。上述技術(shù)方案中,所述數(shù)據(jù)塊管理子系統(tǒng)進(jìn)一步包含:基于LIRS機(jī)制生成數(shù)據(jù)塊替換策略的單元,該單元采取LIRS機(jī)制處理所有數(shù)據(jù)塊進(jìn)入數(shù)據(jù)塊緩存單元、數(shù)據(jù)塊被訪問和退出數(shù)據(jù)塊緩存單元的操作。數(shù)據(jù)塊統(tǒng)計(jì)單元,該單元在數(shù)據(jù)塊進(jìn)入數(shù)據(jù)塊緩存單元時(shí)和被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù)。和數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)單元,該單元在某數(shù)據(jù)塊退出數(shù)據(jù)塊緩存單元時(shí),將該數(shù)據(jù)塊的退出信息及數(shù)據(jù)塊統(tǒng)計(jì)單元進(jìn)行的累加計(jì)數(shù)信息同時(shí)上報(bào)所述基于數(shù)據(jù)塊信息更新文件狀態(tài)信息的單元。基于上述技術(shù)方案公開的系統(tǒng)本發(fā)明還提供一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,該方法用于為廣域的基于內(nèi)容分布式的系統(tǒng)提供一種數(shù)據(jù)副本替換策略,所述方法包含:用于數(shù)據(jù)塊級(jí)的副本替換步驟。用于文件級(jí)的副本替換步驟。其中,所述數(shù)據(jù)塊級(jí)的副本替換步驟為文件級(jí)的副本替換步驟提供低層信息來源,即所述數(shù)據(jù)塊級(jí)的副本替換步驟向所述文件級(jí)的副本替換步驟報(bào)告數(shù)據(jù)塊的使用狀態(tài)信息供其生成文件副本的替換策略。上述技術(shù)方案中,所述用于數(shù)據(jù)塊級(jí)的副本替換步驟進(jìn)一步包含:步驟1,基于LIRS的數(shù)據(jù)塊副本替換步驟,該步驟采取LIRS機(jī)制將數(shù)據(jù)塊副本存入數(shù)據(jù)塊緩存單元、數(shù)據(jù)塊副本被訪問以及數(shù)據(jù)塊副本退出數(shù)據(jù)塊緩存單元。步驟2,統(tǒng)計(jì)數(shù)據(jù)塊信息的步驟,該步驟在數(shù)據(jù)塊副本進(jìn)入數(shù)據(jù)塊緩存單元和被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù)。步驟3,數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)步驟,當(dāng)有數(shù)據(jù)塊副本退出數(shù)據(jù)塊緩存單元時(shí),觸發(fā)上報(bào)上步驟統(tǒng)計(jì)的數(shù)據(jù)塊信息及該數(shù)據(jù)塊副本退出數(shù)據(jù)塊管理子系統(tǒng)所連接的數(shù)據(jù)塊緩存單元的時(shí)間信息。上述技術(shù)方案中,所述用于文件級(jí)的副本替換步驟進(jìn)一步包含:步驟1,文件進(jìn)入緩存步驟,該步驟在有對(duì)文件的讀寫請(qǐng)求時(shí),觸發(fā)文件管理子系統(tǒng)從外部文件源處得到其所需的文件。步驟2,文件副本替換步驟,該步驟首先將上步驟得到的文件副本替換位于文件緩存單元中被引用為否的文件;其次在LIRS機(jī)制的基礎(chǔ)上,將引用距離和最近性之外的文件熱度指標(biāo)作為文件是否退出緩存單元的依據(jù),即當(dāng)有若干個(gè)文件滿足引用距離和最近性指標(biāo)退出緩存單元的條件時(shí),要進(jìn)一步選擇文件熱度低的文件作為最終退出文件緩存單元的文件。步驟3,更新文件的步驟,該步驟依據(jù)從數(shù)據(jù)塊管理子系統(tǒng)接收的數(shù)據(jù)塊統(tǒng)計(jì)信息,將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),并當(dāng)數(shù)據(jù)塊退出一數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用進(jìn)行減I操作,當(dāng)被引用計(jì)數(shù)為O時(shí)表示沒有數(shù)據(jù)管理子系統(tǒng)緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用情況,更新文件被引用狀態(tài)。其中,所述數(shù)據(jù)塊統(tǒng)計(jì)信息包括使用次數(shù)、數(shù)據(jù)塊副本退出該數(shù)據(jù)塊管理子系統(tǒng)所連接的緩存單元的時(shí)刻。與目前的副本替換方法(典型采用LRU方法)相比,本發(fā)明具有如下技術(shù)效果:以LIRS方法為基礎(chǔ),比LRU方法具有明顯優(yōu)勢(shì);在數(shù)據(jù)塊級(jí)副本替換方法中,對(duì)LIRS方法加以改進(jìn),引入引用計(jì)數(shù)上報(bào)步驟,同時(shí)在上報(bào)時(shí)隱含數(shù)據(jù)塊退出數(shù)據(jù)塊管理子系統(tǒng)緩存信息;在文件級(jí)副本替換方法中,對(duì)LIRS方法的改進(jìn)是:優(yōu)先替換被引用為否的文件,另外除引用距離、最近性之外,引入文件熱度指標(biāo)。以上改進(jìn)措施,考慮了廣域分布式系統(tǒng)中大型文件尺寸以及訪問分布規(guī)律,明顯地適用于⑶N等基于內(nèi)容的服務(wù)系統(tǒng)等。
圖1是本發(fā)明的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng)的組成框圖;圖2是本發(fā)明實(shí)施例的CDN應(yīng)用場(chǎng)景示意圖;圖3是本發(fā)明的數(shù)據(jù)塊級(jí)副本替換方法流程圖;圖4是本發(fā)明的文件級(jí)副本替換方法流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的內(nèi)容進(jìn)行詳細(xì)介紹。本發(fā)明考慮大型文件尺寸條件下,在廣域分布式系統(tǒng)中,針對(duì)訪問分布于文件的不同位置、替換代價(jià)不同等特征,提供一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法。本發(fā)明用于內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)等內(nèi)容服務(wù)系統(tǒng)(注:指提供內(nèi)容服務(wù)的廣域系統(tǒng),典型運(yùn)行于互聯(lián)網(wǎng)等分布式環(huán)境之中,用于數(shù)字媒體傳輸、服務(wù)等),可有效地提高文件讀取的命中率,本發(fā)明基于比LRU方法表現(xiàn)好的LIRS方法,對(duì)LIRS方法進(jìn)行了 3處改進(jìn),提高了大型媒體文件更新的效率。如圖1所示,本發(fā)明提供的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng)包含:文件管理子系統(tǒng)、數(shù)據(jù)塊管理子系統(tǒng),以及外部文件源(該實(shí)體不構(gòu)成本專利組成部分)。所述文件管理子系統(tǒng)指負(fù)責(zé)文件請(qǐng)求處理、文件副本替換的軟件或設(shè)備;所述數(shù)據(jù)塊管理子系統(tǒng)指負(fù)責(zé)數(shù)據(jù)塊請(qǐng)求處理、訪問統(tǒng)計(jì)和數(shù)據(jù)塊副本替換的軟件或設(shè)備;所述文件管理子系統(tǒng)與數(shù)據(jù)塊管理子系統(tǒng)之間相互通信,即數(shù)據(jù)塊管理子系統(tǒng)負(fù)責(zé)向文件管理子系統(tǒng)及時(shí)報(bào)告數(shù)據(jù)塊的使用狀態(tài)(進(jìn)入/退出數(shù)據(jù)塊緩存)。文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng)之間是一對(duì)多的關(guān)系,而且所述文件管理子系統(tǒng)和每個(gè)數(shù)據(jù)塊管理子系統(tǒng)分別與文件緩存單元和數(shù)據(jù)塊緩存單元相關(guān)聯(lián)。上述技術(shù)方案中,所述文件管理子系統(tǒng)可以是硬件設(shè)備(如一臺(tái)服務(wù)器、一臺(tái)計(jì)算設(shè)備、一個(gè)服務(wù)器機(jī)群)或軟件程序。上述技術(shù)方案中,所述數(shù)據(jù)塊管理子系統(tǒng)可以是(如一臺(tái)服務(wù)器、一臺(tái)計(jì)算設(shè)備、一個(gè)服務(wù)器機(jī)群)或軟件程序。基于上述系統(tǒng),本發(fā)明還提供的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,包括數(shù)據(jù)塊級(jí)副本替換方法和文件級(jí)副本替換方法。其中數(shù)據(jù)塊級(jí)副本替換方法是文件級(jí)副本替換方法的低層信息來源。所述數(shù)據(jù)塊級(jí)副本替換方法包括如下操作:(I)基于LIRS的數(shù)據(jù)塊副本替換操作:數(shù)據(jù)塊進(jìn)入、被訪問和退出緩存的機(jī)制采取LIRS機(jī)制。(2)數(shù)據(jù)塊統(tǒng)計(jì)操作:在數(shù)據(jù)塊進(jìn)入、被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù)。(3)數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)操作:在數(shù)據(jù)塊退出緩存時(shí),觸發(fā)該操作。所述文件級(jí)副本替換方法包括如下操作:(I)文件進(jìn)入緩存操作:在有對(duì)文件的讀寫請(qǐng)求時(shí),觸發(fā)文件管理子系統(tǒng)從外部文件源處得到文件。(2)文件副本替換操作:首先選擇文件被引用為否的文件加以替換;其次在LIRS機(jī)制的基礎(chǔ)上,除引用距離、最近性之外,引入文件熱度指標(biāo),作為第三項(xiàng)文件是否退出緩存的依據(jù),即在有多個(gè)文件滿足前兩項(xiàng)指標(biāo)退出緩存的條件時(shí),要選擇文件熱度低的文件退出緩存。(3)文件管理子系統(tǒng)從數(shù)據(jù)塊管理子系統(tǒng)接收數(shù)據(jù)塊統(tǒng)計(jì)信息(包括使用次數(shù)、退出該數(shù)據(jù)塊管理子系統(tǒng)所管理緩存的時(shí)間),將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),并當(dāng)數(shù)據(jù)塊退出一數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用進(jìn)行減I操作,當(dāng)被引用計(jì)數(shù)為O時(shí),表示沒有數(shù)據(jù)管理子系統(tǒng)緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用情況,更新文件被引用狀態(tài)(是/否)。
實(shí)施例下面結(jié)合更加具體的應(yīng)用場(chǎng)景說明基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法。如圖2所示,本實(shí)施例提供的一個(gè)應(yīng)用場(chǎng)景:一家CDN服務(wù)提供商(A),通過內(nèi)容導(dǎo)入系統(tǒng)將內(nèi)容提供商(B)的內(nèi)容數(shù)據(jù)(表現(xiàn)為媒體文件)導(dǎo)入到CDN的存儲(chǔ)系統(tǒng),之后由分布系統(tǒng)將媒體文件切片,分布到各地的存儲(chǔ)節(jié)點(diǎn),由存儲(chǔ)節(jié)點(diǎn)完成對(duì)用戶請(qǐng)求的服務(wù)。在這一場(chǎng)景中,分布系統(tǒng)可作為文件管理子系統(tǒng),除具備文件管理子系統(tǒng)的功能外,它還具有數(shù)據(jù)塊初始分布、分布調(diào)整的功能。各存儲(chǔ)節(jié)點(diǎn)上的存儲(chǔ)管理系統(tǒng)可作為數(shù)據(jù)塊管理子系統(tǒng),該子系統(tǒng)除具備數(shù)據(jù)塊管理實(shí)體功能外,它還可具有本地文件系統(tǒng)等的功能?;谏鲜龅膶?duì)應(yīng)關(guān)系,本實(shí)施例提供的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,包括數(shù)據(jù)塊級(jí)副本替換方法和文件級(jí)副本替換方法。其中數(shù)據(jù)塊級(jí)副本替換方法是文件級(jí)副本替換方法的低層信息來源。所述數(shù)據(jù)塊級(jí)副本替換方法包括如下操作:(I)基于LIRS的數(shù)據(jù)塊副本替換操作:數(shù)據(jù)塊進(jìn)入、被訪問和退出緩存的機(jī)制采取LIRS機(jī)制。(2)數(shù)據(jù)塊統(tǒng)計(jì)操作:在數(shù)據(jù)塊進(jìn)入、被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù)。(3)數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)操作:在數(shù)據(jù)塊退出緩存時(shí),觸發(fā)該操作。所述文件級(jí)副本替換方法包括如下操作:(I)文件進(jìn)入緩存操作:在有對(duì)文件的讀寫請(qǐng)求時(shí),觸發(fā)文件管理實(shí)體從外部文件源處得到文件。(2)文件副本替換操作:首先選擇文件被引用為否的文件加以替換;其次在LIRS機(jī)制的基礎(chǔ)上,除引用距離、最近性之外,引入文件熱度指標(biāo),作為第三項(xiàng)文件是否退出緩存的依據(jù),即在有多個(gè)文件滿足前兩項(xiàng)指標(biāo)退出緩存的條件時(shí),要選擇文件熱度低的文件退出緩存。(3)文件管理子系統(tǒng)從數(shù)據(jù)塊管理子系統(tǒng)接收數(shù)據(jù)塊統(tǒng)計(jì)信息(包括使用次數(shù)、退出該數(shù)據(jù)塊管理實(shí)體所管理緩存的時(shí)間),將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),并當(dāng)數(shù)據(jù)塊退出一數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用進(jìn)行減I操作,當(dāng)被引用計(jì)數(shù)為O時(shí),表示沒有數(shù)據(jù)管理實(shí)體緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用情況,更新文件被引用狀態(tài)(是/否)。最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng),該系統(tǒng)用于為廣域的基于內(nèi)容分布式的系統(tǒng)提供一種數(shù)據(jù)副本替換策略,所述系統(tǒng)包含:文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng); 所述文件管理子系統(tǒng),用于處理替換系統(tǒng)內(nèi)部的文件請(qǐng)求并生成與其相連接的文件緩存單元的文件副本替換策略; 所述數(shù)據(jù)塊管理子系統(tǒng),用于處理數(shù)據(jù)塊請(qǐng)求、進(jìn)行訪問統(tǒng)計(jì)并生成與其相連的數(shù)據(jù)塊緩存單元的數(shù)據(jù)塊副本替換策略; 其中,所述數(shù)據(jù)塊管理子系統(tǒng)向所述文件管理子系統(tǒng)報(bào)告數(shù)據(jù)塊的使用狀態(tài)信息;所述文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng)之間是一對(duì)多的關(guān)系。
2.根據(jù)權(quán)利要求1所述的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng),其特征在于,所述文件管理子系統(tǒng)進(jìn)一步包含: 文件進(jìn)入緩存單元:該單元在有對(duì)文件的讀寫請(qǐng)求時(shí),從外部文件源處得到該文件;文件副本替換退出策略生成單元,該單元首先將文件進(jìn)入緩存單元得到的最新文件替換位于文件緩存單元上的被引用為否的文件;其次在LIRS機(jī)制的基礎(chǔ)上,將引用距離和最近性之外的文件熱度指標(biāo)作為文件是否退出文件緩存單元的依據(jù),即當(dāng)有若干個(gè)文件滿足引用距離和最近性指標(biāo)退出文件緩存單元的條件時(shí),要進(jìn)一步選擇文件熱度低的文件作為最終退出文件緩存單元的文件;和 基于數(shù)據(jù)塊信息更新文件狀態(tài)信息的單元,該單元從數(shù)據(jù)塊管理子系統(tǒng)接收數(shù)據(jù)塊統(tǒng)計(jì)信息,將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),且當(dāng)數(shù)據(jù)塊退出數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用計(jì)數(shù)減1,當(dāng)被引用計(jì)數(shù)值為O時(shí),表示沒有數(shù)據(jù)塊管理子系統(tǒng)緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用計(jì)數(shù),更新文件被引用狀態(tài); 其中,所述數(shù)據(jù)塊統(tǒng)計(jì)信息包`括數(shù)據(jù)塊的使用次數(shù)、數(shù)據(jù)塊退出所述數(shù)據(jù)塊管理子系統(tǒng)所連接的緩存單元的時(shí)刻。
3.根據(jù)權(quán)利要求2所述的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換系統(tǒng),其特征在于,所述數(shù)據(jù)塊管理子系統(tǒng)進(jìn)一步包含: 基于LIRS機(jī)制生成數(shù)據(jù)塊替換策略的單元,該單元采取LIRS機(jī)制處理所有數(shù)據(jù)塊進(jìn)入數(shù)據(jù)塊緩存單元、數(shù)據(jù)塊被訪問和退出數(shù)據(jù)塊緩存單元的操作; 數(shù)據(jù)塊統(tǒng)計(jì)單元,該單元在數(shù)據(jù)塊進(jìn)入數(shù)據(jù)塊緩存單元時(shí)和被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù); 數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)單元,該單元在某數(shù)據(jù)塊退出數(shù)據(jù)塊緩存單元時(shí),將該數(shù)據(jù)塊的退出信息及數(shù)據(jù)塊統(tǒng)計(jì)單元進(jìn)行的累加計(jì)數(shù)信息同時(shí)上報(bào)所述基于數(shù)據(jù)塊信息更新文件狀態(tài)信息的單元。
4.一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,該方法用于為廣域的基于內(nèi)容分布式的系統(tǒng)提供一種數(shù)據(jù)副本替換策略,所述方法包含: 用于數(shù)據(jù)塊級(jí)的副本替換步驟; 用于文件級(jí)的副本替換步驟; 其中,所述數(shù)據(jù)塊級(jí)的副本替換步驟為文件級(jí)的副本替換步驟提供低層信息來源,即所述數(shù)據(jù)塊級(jí)的副本替換步驟向所述文件級(jí)的副本替換步驟報(bào)告數(shù)據(jù)塊的使用狀態(tài)信息供其生成文件副本的替換策略。
5.根據(jù)權(quán)利要求4所述的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,其特征在于,所述用于數(shù)據(jù)塊級(jí)的副本替換步驟進(jìn)一步包含: 步驟1,基于LIRS的數(shù)據(jù)塊副本替換步驟,該步驟采取LIRS機(jī)制將數(shù)據(jù)塊副本存入數(shù)據(jù)塊緩存單元、數(shù)據(jù)塊副本被訪問以及數(shù)據(jù)塊副本退出數(shù)據(jù)塊緩存單元; 步驟2,統(tǒng)計(jì)數(shù)據(jù)塊信息的步驟,該步驟在數(shù)據(jù)塊副本進(jìn)入數(shù)據(jù)塊緩存單元和被訪問時(shí),對(duì)數(shù)據(jù)塊引用進(jìn)行累加計(jì)數(shù); 步驟3,數(shù)據(jù)塊統(tǒng)計(jì)信息上報(bào)步驟,當(dāng)有數(shù)據(jù)塊副本退出數(shù)據(jù)塊緩存單元時(shí),觸發(fā)上報(bào)上步驟統(tǒng)計(jì)的數(shù)據(jù)塊信息及該數(shù)據(jù)塊副本退出數(shù)據(jù)塊管理子系統(tǒng)所連接的數(shù)據(jù)塊緩存單元的時(shí)間信息。
6.根據(jù)權(quán)利要求5所述的基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法,其特征在于,所述用于文件級(jí)的副本替換步驟進(jìn)一步包含: 步驟1,文件進(jìn)入緩存步 驟,該步驟在有對(duì)文件的讀寫請(qǐng)求時(shí),觸發(fā)文件管理子系統(tǒng)從外部文件源處得到其所需的文件; 步驟2,文件副本替換步驟,該步驟首先將上步驟得到的文件副本替換位于文件緩存單元中被引用為否的文件;其次在LIRS機(jī)制的基礎(chǔ)上,將引用距離和最近性之外的文件熱度指標(biāo)作為文件是否退出緩存單元的依據(jù),即當(dāng)有若干個(gè)文件滿足引用距離和最近性指標(biāo)退出緩存單元的條件時(shí),要進(jìn)一步選擇文件熱度低的文件作為最終退出文件緩存單元的文件; 步驟3,更新文件的步驟,該步驟依據(jù)從數(shù)據(jù)塊管理子系統(tǒng)接收的數(shù)據(jù)塊統(tǒng)計(jì)信息,將數(shù)據(jù)塊的使用次數(shù)累加到對(duì)應(yīng)數(shù)據(jù)塊的訪問次數(shù),并當(dāng)數(shù)據(jù)塊退出一數(shù)據(jù)塊管理子系統(tǒng)時(shí),對(duì)該數(shù)據(jù)塊的被引用進(jìn)行減I操作,當(dāng)被引用計(jì)數(shù)為O時(shí)表示沒有數(shù)據(jù)管理子系統(tǒng)緩存或訪問該數(shù)據(jù)塊;依據(jù)各數(shù)據(jù)塊的訪問次數(shù),更新文件熱度;依據(jù)各數(shù)據(jù)塊的被引用情況,更新文件被引用狀態(tài); 其中,所述數(shù)據(jù)塊統(tǒng)計(jì)信息包括使用次數(shù)、數(shù)據(jù)塊副本退出該數(shù)據(jù)塊管理子系統(tǒng)所連接的緩存單元的時(shí)間。
全文摘要
本發(fā)明提供一種基于文件和數(shù)據(jù)塊兩級(jí)粒度的副本替換方法及系統(tǒng),所述系統(tǒng)包含文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng);所述文件管理子系統(tǒng),用于處理替換系統(tǒng)內(nèi)部的文件請(qǐng)求并生成與其相連接的文件緩存單元的文件副本替換策略;所述數(shù)據(jù)塊管理子系統(tǒng),用于處理數(shù)據(jù)塊請(qǐng)求、進(jìn)行訪問統(tǒng)計(jì)并生成與其相連的數(shù)據(jù)塊緩存單元的數(shù)據(jù)塊副本替換策略;其中,所述數(shù)據(jù)塊管理子系統(tǒng)向所述文件管理子系統(tǒng)報(bào)告數(shù)據(jù)塊的使用狀態(tài)信息;所述文件管理子系統(tǒng)和數(shù)據(jù)塊管理子系統(tǒng)之間是一對(duì)多的關(guān)系。本發(fā)明考慮大型文件尺寸條件下廣域分布式系統(tǒng)中,對(duì)訪問分布于文件的不同位置、替換代價(jià)不同等特征,提供一種策略,用于提高基于內(nèi)容的服務(wù)系統(tǒng)的文件讀取的命中率。
文檔編號(hào)G06F17/30GK103106213SQ20111036013
公開日2013年5月15日 申請(qǐng)日期2011年11月14日 優(yōu)先權(quán)日2011年11月14日
發(fā)明者王玲芳, 程剛, 謝鐵兵 申請(qǐng)人:中國科學(xué)院聲學(xué)研究所, 北京中科華影傳媒技術(shù)有限公司