專利名稱:基于文件訪問頻次的混合云存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別地涉及一種基于文件訪問頻次的混合云存儲(chǔ)方法。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展,云存儲(chǔ)系統(tǒng)占有舉足輕重的地位。特別是在數(shù)據(jù)爆炸性增長的今天,本地的存儲(chǔ)已經(jīng)很難滿足海量數(shù)據(jù)存儲(chǔ)的需要,人們?cè)絹碓蕉嗟厥褂迷拼鎯?chǔ)系統(tǒng),它可以帶來更高的存儲(chǔ)能力、可靠性、安全性和移動(dòng)性。云存儲(chǔ)系統(tǒng)設(shè)計(jì)中文件的存儲(chǔ)分布機(jī)制會(huì)對(duì)許多系統(tǒng)的具體實(shí)現(xiàn)方面產(chǎn)生影響。比如,為了保證系統(tǒng)的容錯(cuò)性和數(shù)據(jù)存儲(chǔ)的高可靠性,需要增加存儲(chǔ)的冗余;為了提高系統(tǒng)的讀取本地化,需要將相同數(shù)據(jù)的副本分布在更多的節(jié)點(diǎn)上;為實(shí)現(xiàn)負(fù)載均衡需要使數(shù)據(jù)分布得更加合理。傳統(tǒng)的分布式系統(tǒng)大多采用獨(dú)立磁盤冗余陣列(Redundant Arrayof Independent Disks, RAID)和復(fù)制技術(shù)進(jìn)行數(shù)據(jù)的冗余,它通過增加存儲(chǔ)空間和副本存儲(chǔ)數(shù)量來實(shí)現(xiàn)系統(tǒng)的可靠性和容錯(cuò)性,要達(dá)到一定的可靠性對(duì)存儲(chǔ)空間的要求較高;為了在保證存儲(chǔ)的可靠性和容錯(cuò)性的基礎(chǔ)上進(jìn)一步減少額外的存儲(chǔ)空間消耗,糾錯(cuò)編碼如Reed-Solomon編碼等也逐漸在云存儲(chǔ)環(huán)境中得到應(yīng)用,但這在提高了可靠性的同時(shí)又帶來了數(shù)據(jù)讀取和寫入時(shí)性能的較大損失。在使用多副本存儲(chǔ)方式的分布式文件系統(tǒng)中,一般采用文件分塊的方法,并把每個(gè)數(shù)據(jù)塊的多個(gè)副本分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上,現(xiàn)在工業(yè)界普遍采用三副本的方式,這可以保證丟失任意2個(gè)數(shù)據(jù)塊副本后恢復(fù)原數(shù)據(jù)塊,提供了一定的數(shù)據(jù)可靠性,而且在讀數(shù)據(jù)時(shí)可以并發(fā)讀數(shù)據(jù)提高速度,但是這種策略需要的存儲(chǔ)空間是原文件的3倍,大量的存儲(chǔ)資源被用于存儲(chǔ)數(shù)據(jù)的冗余副本上。隨著文件系統(tǒng)的不斷擴(kuò)展,越來越多的存儲(chǔ)資源被用來存儲(chǔ)文件塊的副本。在使用糾刪碼存儲(chǔ)方式的分布式文件系統(tǒng)中可以在提供相同可靠性的前提下大大節(jié)省存儲(chǔ)資源,但是對(duì)數(shù)據(jù)進(jìn)行糾刪碼編解碼時(shí)會(huì)使用大量的計(jì)算和網(wǎng)絡(luò)資源,而且因?yàn)槲募]有多個(gè)副本,所以在讀數(shù)據(jù)時(shí)不能并發(fā)讀取以及本地讀取的優(yōu)勢,不適合存儲(chǔ)讀取頻繁的熱數(shù)據(jù)。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明的目的在于提供一種基于文件訪問頻次的混合云存儲(chǔ)方法,通過周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件訪問頻次將文件分類,對(duì)不同類型的文件采用不同的存儲(chǔ)策略,而且根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,使整個(gè)文件系統(tǒng)整體上在保證數(shù)據(jù)可靠性和訪問速度的前提下提高了系統(tǒng)存儲(chǔ)資源利用率。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:
基于文件訪問頻次的混合云存儲(chǔ)方法,包括以下步驟,
I)新文件上傳文件系統(tǒng)時(shí),對(duì)文件采用多副本方式存儲(chǔ)策略,在文件上傳時(shí)把文件劃分為若干數(shù)據(jù)塊,為每個(gè)數(shù)據(jù)塊根據(jù)系統(tǒng)配置產(chǎn)生N個(gè)副本,將所述N個(gè)副本存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上;
2)文件上傳文件系統(tǒng)完畢后,對(duì)文件采用糾刪碼編碼方式存儲(chǔ)策略,將文件的所有數(shù)據(jù)塊加入一個(gè)轉(zhuǎn)換隊(duì)列,系統(tǒng)對(duì)轉(zhuǎn)換隊(duì)列中的所有數(shù)據(jù)塊進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,然后將文件的所有數(shù)據(jù)塊和校驗(yàn)塊分布存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上并刪除多余的副本;
3)周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件每小時(shí)內(nèi)訪問頻次,將所有文件按照1:2:7的訪問頻次比例劃分為三類,分別為高頻文件、中頻文件和低頻文件;
4)系統(tǒng)對(duì)不同類型的文件采用不同的存儲(chǔ)策略進(jìn)行存儲(chǔ),對(duì)高頻文件使用多副本方式存儲(chǔ)策略,對(duì)中頻文件使用糾刪碼編碼和多副本混合方式存儲(chǔ)策略,對(duì)低頻文件使用糾刪碼編碼方式存儲(chǔ)策略;
5)系統(tǒng)周期性統(tǒng)計(jì)文件的最近訪問頻率并進(jìn)行分類,如果每個(gè)文件的讀取頻次發(fā)生變化,系統(tǒng)根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,根據(jù)現(xiàn)在的讀取頻次將文件采用對(duì)應(yīng)的存儲(chǔ)策略。優(yōu)選地,所述步驟I)中多個(gè)副本在分布在跨機(jī)房跨機(jī)架的存儲(chǔ)節(jié)點(diǎn)上。優(yōu)選地,所述步驟3)中的周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件每小時(shí)內(nèi)訪問頻次具體為系統(tǒng)記錄每個(gè)文件最近24小時(shí)的讀取次數(shù),如果文件剛上傳不到24小時(shí)則記錄文件的存儲(chǔ)時(shí)間,每次讀取文件時(shí)對(duì)這個(gè)文件的計(jì)數(shù)器加1,用文件訪問次數(shù)除以24,對(duì)于剛上傳不到24小時(shí)的文件按存儲(chǔ)時(shí)間來計(jì)算。優(yōu)選地,所述步驟5)中根據(jù)現(xiàn)在的讀取頻次將文件采用對(duì)應(yīng)的存儲(chǔ)策略具體為系統(tǒng)中維護(hù)三個(gè)隊(duì)列,三個(gè)隊(duì)列對(duì)應(yīng)三種訪問頻次,當(dāng)文件的存儲(chǔ)策略需要調(diào)整時(shí)加入對(duì)應(yīng)的隊(duì)列,系統(tǒng)對(duì)每個(gè)隊(duì)列中的文件采用對(duì)應(yīng)的存儲(chǔ)策略,
對(duì)于在高頻隊(duì)列中的每個(gè)文件將其副本數(shù)增加到N份,然后將數(shù)據(jù)塊的多個(gè)副本分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上,多個(gè)副本分布在跨機(jī)房跨機(jī)架的存儲(chǔ)節(jié)點(diǎn)上,
對(duì)于在中頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,然后查看文件是否存在多副本,如果文件副本數(shù)多于兩份則刪除多于兩份的副本,副本不足兩份則拷貝一份額外的副本,
對(duì)于在低頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,并將文件額外的副本刪除只保留一份副本和校驗(yàn)塊。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
本發(fā)明適用于云存儲(chǔ)的分布式文件系統(tǒng)中,通過周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件訪問頻次,將文件劃分為三類,分別為高頻文件、中頻文件、低頻文件,對(duì)不同類型的文件采用不同的存儲(chǔ)策略,而且根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略。對(duì)高頻文件使用多副本方式存儲(chǔ)策略可以保證讀取高頻文件時(shí)的速度,對(duì)中頻文件使用糾刪碼編碼和多副本方式混合方式存儲(chǔ)策略可以綜合對(duì)速度和存儲(chǔ)資源利用率的要求,對(duì)低頻文件使用糾刪碼編碼方式存儲(chǔ)策略。系統(tǒng)對(duì)整個(gè)文件系統(tǒng)中的文件周期性掃描,動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,使整個(gè)文件系統(tǒng)整體上在保證數(shù)據(jù)可靠性和訪問速度的前提下提高了系統(tǒng)存儲(chǔ)資源利用率。
圖1為本發(fā)明實(shí)施例的基于文件訪問頻次的混合云存儲(chǔ)方法的流程 圖2為本發(fā)明實(shí)施例的基于文件訪問頻次的混合云存儲(chǔ)方法的高頻文件存儲(chǔ)策略的示意 圖3為本發(fā)明實(shí)施例的基于文件訪問頻次的混合云存儲(chǔ)方法的中頻文件存儲(chǔ)策略的示意 圖4為本發(fā)明實(shí)施例的基于文件訪問頻次的混合云存儲(chǔ)方法的低頻文件存儲(chǔ)策略的示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。相反,本發(fā)明涵蓋任何由權(quán)利要求定義的在本發(fā)明的精髓和范圍上做的替代、修改、等效方法以及方案。進(jìn)一步,為了使公眾對(duì)本發(fā)明有更好的了解,在下文對(duì)本發(fā)明的細(xì)節(jié)描述中,詳盡描述了一些特定的細(xì)節(jié)部分。對(duì)本領(lǐng)域技術(shù)人員來說沒有這些細(xì)節(jié)部分的描述也可以完全理解本發(fā)明。參考圖1,所示為本發(fā)明實(shí)施例的基于基于文件訪問頻次的混合云存儲(chǔ)方法的流程圖,其包括以下步驟:
SOl,新文件上傳文件系統(tǒng)時(shí),對(duì)文件采用多副本方式存儲(chǔ)策略。新文件上傳文件系統(tǒng)時(shí),為保證上傳期間文件的高可靠性對(duì)文件采用多副本方式存儲(chǔ)策略。在文件上傳時(shí)把文件劃分為數(shù)據(jù)塊,為每個(gè)數(shù)據(jù)塊根據(jù)系統(tǒng)配置產(chǎn)生N個(gè)副本(一般工業(yè)界標(biāo)準(zhǔn)是3副本),然后將數(shù)據(jù)塊的多個(gè)副本分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上,多個(gè)副本在分布上盡量跨機(jī)房跨機(jī)架,保證某一節(jié)點(diǎn)失效后可以從其他節(jié)點(diǎn)上讀取副本,而且讀文件時(shí)可以盡量從最近的存儲(chǔ)節(jié)點(diǎn)讀文件。當(dāng)這個(gè)副本的N個(gè)數(shù)據(jù)塊保存完成時(shí)即這個(gè)數(shù)據(jù)塊上傳完成,當(dāng)這個(gè)文件的所有數(shù)據(jù)塊保存完成時(shí)即這個(gè)文件上傳完成。如圖2所示,采用多副本策略時(shí)系統(tǒng)丟失任意N-1個(gè)數(shù)據(jù)塊都可以恢復(fù)原文件,恢復(fù)時(shí)只需要從其他節(jié)點(diǎn)上重新讀這個(gè)數(shù)據(jù)塊即可。此時(shí)所需要存儲(chǔ)空間為原文件大小的N倍,例如當(dāng)N=3時(shí),所需空間為3倍文件大小。S02,文件上傳文件系統(tǒng)完畢后,對(duì)文件采用糾刪碼編碼方式存儲(chǔ)策略。文件上傳文件系統(tǒng)完畢后,對(duì)文件進(jìn)行糾刪碼編碼以降低文件占用的存儲(chǔ)空間資源。將文件的所有數(shù)據(jù)塊加入一個(gè)轉(zhuǎn)換隊(duì)列,系統(tǒng)對(duì)轉(zhuǎn)換隊(duì)列中的所有數(shù)據(jù)塊進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,然后將文件的所有數(shù)據(jù)塊和校驗(yàn)塊分布存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上并刪除多余的副本。糾刪碼編碼方式存儲(chǔ)策略適合存儲(chǔ)低頻文件,這樣不保存額外的副本,只保留校驗(yàn)塊。如圖3所示,糾刪編碼時(shí)首先將文件的數(shù)據(jù)塊進(jìn)行分組,在系統(tǒng)配置項(xiàng)中需要指定每個(gè)分組包含數(shù)據(jù)塊的個(gè)數(shù)X,不足X個(gè)數(shù)據(jù)塊時(shí)以空數(shù)據(jù)塊補(bǔ)全,在編碼時(shí)以分組為單位進(jìn)行編碼。對(duì)每個(gè)分組進(jìn)行糾刪碼編碼產(chǎn)生K個(gè)額外的校驗(yàn)塊(K在系統(tǒng)配置項(xiàng)中指定),此時(shí)每個(gè)分組包含X+K個(gè)塊,X個(gè)數(shù)據(jù)塊和K個(gè)校驗(yàn)塊。對(duì)每個(gè)分組在系統(tǒng)中只保存I份副本并刪除其他的副本。此時(shí)每個(gè)文件丟失任意K個(gè)塊都可以通過解碼恢復(fù)丟失的數(shù)據(jù)塊。所需要存儲(chǔ)空間為原文件大小的1+K/X倍,例如當(dāng)X=10,K=3時(shí),所需空間為1.3倍文件大小。S03,周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件訪問頻次,將文件劃分為三類,分別為高頻文件、中頻文件、低頻文件。系統(tǒng)需要記錄每個(gè)文件最近24小時(shí)的讀取次數(shù),如果文件剛上傳不到24小時(shí)則需要記錄文件的存儲(chǔ)時(shí)間。每次讀取文件時(shí)對(duì)這個(gè)文件的計(jì)數(shù)器加I。用文件訪問次數(shù)除以24,對(duì)于剛上傳不到24小時(shí)的文件按存儲(chǔ)時(shí)間來計(jì)算,系統(tǒng)周期性計(jì)算每個(gè)文件每小時(shí)內(nèi)的訪問頻次,此即最近訪問頻率。系統(tǒng)根據(jù)文件最近訪問頻率對(duì)所有文件排名,然后按照1:2:7的比例的將所有文件劃分為三類,分別為高頻文件、中頻文件、低頻文件。S04,系統(tǒng)對(duì)不同類型的文件采用不同的存儲(chǔ)策略。系統(tǒng)對(duì)不同類型的文件采用不同的存儲(chǔ)策略,對(duì)高頻文件使用多副本方式存儲(chǔ)策略。此方式保存的數(shù)據(jù)在讀數(shù)據(jù)時(shí)能并發(fā)從多個(gè)副本讀,讀取速度快,而且發(fā)生數(shù)據(jù)塊丟失時(shí)數(shù)據(jù)恢復(fù)方法簡單,適合保存高頻文件。對(duì)低頻文件使用糾刪碼編碼方式存儲(chǔ)策略。系統(tǒng)只保留原文件數(shù)據(jù)塊和校驗(yàn)塊,不保存多余的副本。此方法節(jié)省了空間,但是數(shù)據(jù)發(fā)生丟失時(shí)數(shù)據(jù)恢復(fù)策略復(fù)雜,在讀數(shù)據(jù)時(shí)也不能并發(fā)讀取數(shù)據(jù)塊,適合保存低頻文件。對(duì)中頻文件使用糾刪碼編碼和多副本混合方式存儲(chǔ)策略,此方法結(jié)合多副本以及糾刪碼編碼兩種策略,對(duì)系統(tǒng)中存儲(chǔ)的中頻文件首先進(jìn)行糾刪碼編碼產(chǎn)生校驗(yàn)塊,另外對(duì)數(shù)據(jù)塊保留一份多余的副本。適合中頻文件的存儲(chǔ)。S05,系統(tǒng)根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略。系統(tǒng)周期性統(tǒng)計(jì)文件的最近訪問頻率并進(jìn)行分類,如果每個(gè)文件的讀取頻次發(fā)生變化,系統(tǒng)根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,根據(jù)現(xiàn)在的讀取頻次將文件采用對(duì)應(yīng)的存儲(chǔ)策略。系統(tǒng)中維護(hù)三個(gè)隊(duì)列,三個(gè)隊(duì)列對(duì)應(yīng)三種訪問頻次,當(dāng)文件的存儲(chǔ)策略需要調(diào)整時(shí)加入對(duì)應(yīng)的隊(duì)列,系統(tǒng)對(duì)每個(gè)隊(duì)列中的文件采用對(duì)應(yīng)的存儲(chǔ)策略。對(duì)于在高頻隊(duì)列中的每個(gè)文件將其副本數(shù)增加到N份,然后將數(shù)據(jù)塊的多個(gè)副本分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上,多個(gè)副本在分布上盡量跨機(jī)房跨機(jī)架。對(duì)于在低頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,并將文件額外的副本刪除只保留一份副本和校驗(yàn)塊。對(duì)于在中頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊。然后查看文件是否存在多副本,如果文件副本數(shù)多于兩份則刪除多于兩份的副本,副本不足兩份則拷貝一份額外的副本。此時(shí)文件保留兩份副本和校驗(yàn)塊。如圖4所示,文件所需要存儲(chǔ)空間為原文件大小的2+Κ/Χ倍,例如當(dāng)Χ=10,Κ=3時(shí),所需空間為2.3倍文件大小。這種策略的系統(tǒng)的可靠性最高,當(dāng)發(fā)生數(shù)據(jù)塊丟失時(shí)首先通過拷貝副本恢復(fù),如果兩份副本同時(shí)丟失則通過解碼恢復(fù)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.基于文件訪問頻次的混合云存儲(chǔ)方法,其特征在于,包括以下步驟, 1)新文件上傳文件系統(tǒng)時(shí),對(duì)文件采用多副本方式存儲(chǔ)策略,在文件上傳時(shí)把文件劃分為若干數(shù)據(jù)塊,為每個(gè)數(shù)據(jù)塊根據(jù)系統(tǒng)配置產(chǎn)生N個(gè)副本,將所述N個(gè)副本存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上; 2)文件上傳文件系統(tǒng)完畢后,對(duì)文件采用糾刪碼編碼方式存儲(chǔ)策略,將文件的所有數(shù)據(jù)塊加入一個(gè)轉(zhuǎn)換隊(duì)列,系統(tǒng)對(duì)轉(zhuǎn)換隊(duì)列中的所有數(shù)據(jù)塊進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,然后將文件的所有數(shù)據(jù)塊和校驗(yàn)塊分布存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上并刪除多余的副本; 3)周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件每小時(shí)內(nèi)訪問頻次,將所有文件按照1:2:7的訪問頻次比例劃分為三類,分別為高頻文件、中頻文件和低頻文件; 4)系統(tǒng)對(duì)不同類型的文件采用不同的存儲(chǔ)策略進(jìn)行存儲(chǔ),對(duì)高頻文件使用多副本方式存儲(chǔ)策略,對(duì)中頻文件使用糾刪碼編碼和多副本混合方式存儲(chǔ)策略,對(duì)低頻文件使用糾刪碼編碼方式存儲(chǔ)策略; 5)系統(tǒng)周期性統(tǒng)計(jì)文件的最近訪問頻率并進(jìn)行分類,如果每個(gè)文件的讀取頻次發(fā)生變化,系統(tǒng)根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,根據(jù)現(xiàn)在的讀取頻次將文件采用對(duì)應(yīng)的存儲(chǔ)策略。
2.根據(jù)權(quán)利要求1所述的基于文件訪問頻次的混合云存儲(chǔ)方法,其特征在于,所述步驟I)中多個(gè)副本在分布在跨機(jī)房跨機(jī)架的存儲(chǔ)節(jié)點(diǎn)上。
3.根據(jù)權(quán)利要求1所述的基于文件訪問頻次的混合云存儲(chǔ)方法,其特征在于,所述步驟3)中的周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件每小時(shí)內(nèi)訪問頻次具體為系統(tǒng)記錄每個(gè)文件最近24小時(shí)的讀取次數(shù),如果文件剛上傳不到24小時(shí)則記錄文件的存儲(chǔ)時(shí)間,每次讀取文件時(shí)對(duì)這個(gè)文件的計(jì)數(shù)器加1,用文件訪問次數(shù)除以24,對(duì)于剛上傳不到24小時(shí)的文件按存儲(chǔ)時(shí)間來計(jì)算。
4.根據(jù)權(quán)利要求1所述的基于文件訪問頻次的混合云存儲(chǔ)方法,其特征在于,所述步驟5)中根據(jù)現(xiàn)在的讀取頻次將文件采用對(duì)應(yīng)的存儲(chǔ)策略具體為系統(tǒng)中維護(hù)三個(gè)隊(duì)列,三個(gè)隊(duì)列對(duì)應(yīng)三種訪問頻次,當(dāng)文件的存儲(chǔ)策略需要調(diào)整時(shí)加入對(duì)應(yīng)的隊(duì)列,系統(tǒng)對(duì)每個(gè)隊(duì)列中的文件采用對(duì)應(yīng)的存儲(chǔ)策略, 對(duì)于在高頻隊(duì)列中的每個(gè)文件將其副本數(shù)增加到N份,然后將數(shù)據(jù)塊的多個(gè)副本分別存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)上,多個(gè)副本分布在跨機(jī)房跨機(jī)架的存儲(chǔ)節(jié)點(diǎn)上, 對(duì)于在中頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,然后查看文件是否存在多副本,如果文件副本數(shù)多于兩份則刪除多于兩份的副本,副本不足兩份則拷貝一份額外的副本, 對(duì)于在低頻隊(duì)列中的每個(gè)文件查看是否存在校驗(yàn)塊,如果不存在校驗(yàn)塊則進(jìn)行糾刪編碼產(chǎn)生校驗(yàn)塊,并將文件額外的副本刪除只保留一份副本和校驗(yàn)塊。
全文摘要
本發(fā)明實(shí)施例公開了一種基于文件訪問頻次的混合云存儲(chǔ)方法,包括以下步驟新文件上傳文件系統(tǒng)時(shí),對(duì)文件采用多副本方式存儲(chǔ)策略;文件上傳文件系統(tǒng)完畢后,對(duì)文件采用糾刪碼編碼方式存儲(chǔ)策略;周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件訪問頻次,將文件劃分為三類,分別為高頻文件、中頻文件、低頻文件;系統(tǒng)對(duì)不同類型的數(shù)據(jù)不同類型的文件采用不同的存儲(chǔ)策略;系統(tǒng)根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略。本發(fā)明通過周期性統(tǒng)計(jì)文件系統(tǒng)中每個(gè)文件訪問頻次將文件分類,對(duì)不同類型的文件采用不同的存儲(chǔ)策略,而且根據(jù)文件訪問頻次的變化動(dòng)態(tài)調(diào)整文件的存儲(chǔ)策略,使整個(gè)文件系統(tǒng)整體上在保證數(shù)據(jù)可靠性和訪問速度的前提下提高了系統(tǒng)存儲(chǔ)資源利用率。
文檔編號(hào)H04L29/08GK103118133SQ20131006277
公開日2013年5月22日 申請(qǐng)日期2013年2月28日 優(yōu)先權(quán)日2013年2月28日
發(fā)明者鄭國軸, 田帥, 陶金火, 楊建華, 吳朝暉 申請(qǐng)人:浙江大學(xué)