本發(fā)明涉及存儲(chǔ)軟件的磁盤故障模擬測(cè)試技術(shù)領(lǐng)域,特別涉及一種基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法。
背景技術(shù):
分布式存儲(chǔ)系統(tǒng)是當(dāng)前云計(jì)算、云存儲(chǔ)等云技術(shù)環(huán)境下一個(gè)不可或缺的組件。隨著數(shù)據(jù)信息的爆炸式增長(zhǎng),對(duì)存儲(chǔ)系統(tǒng)的功能要求越來越高?;谖募牡目煺?、熱點(diǎn)數(shù)據(jù)的訪問速度、存儲(chǔ)的讀寫帶寬、時(shí)延等都有一定要求。
針對(duì)上述要求,本發(fā)明設(shè)計(jì)了一種基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡(jiǎn)單高效的基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法。
本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法,其特征在于:客戶端把文件條帶化為數(shù)據(jù)塊時(shí),在每個(gè)文件數(shù)據(jù)塊增加4k的元數(shù)據(jù)信息,元數(shù)據(jù)信息包括時(shí)間戳、讀次數(shù)和所屬文件;存儲(chǔ)系統(tǒng)通過這些元數(shù)據(jù)信息完成快照、數(shù)據(jù)緩存和文件智能落盤功能,并可以根據(jù)需要進(jìn)一步增加元數(shù)據(jù)信息用于其他功能,通過犧牲一定的存儲(chǔ)空間,滿足存儲(chǔ)的其他功能。
所述時(shí)間戳用于基于文件的快照信息,當(dāng)需要基于文件做快照時(shí),只需要記錄當(dāng)前時(shí)間即可;對(duì)于文件新增內(nèi)容正常存儲(chǔ),對(duì)于覆蓋寫需要進(jìn)行新增寫,并通過時(shí)間戳來區(qū)分。
所述讀次數(shù)用于存儲(chǔ)系統(tǒng)判斷數(shù)據(jù)冷熱程度,系統(tǒng)通過讀次數(shù)判斷是否需要緩存以及系統(tǒng)是否緩存老化。
所述所屬文件用于系統(tǒng)判斷文件塊應(yīng)該落到哪個(gè)盤,在不影響系統(tǒng)的存儲(chǔ)容量平衡的情況下,盡可能保證文件能夠順序?qū)懭氪疟P,減少磁盤隨機(jī)讀寫。
所述基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法,包括以下步驟:
(1)客戶端在對(duì)文件條帶時(shí),文件塊預(yù)留4k空間,并填寫文件塊的生成時(shí)間以及所屬文件;
(2)客戶端根據(jù)存儲(chǔ)系統(tǒng)綜合存儲(chǔ)容量平衡和文件存儲(chǔ)連續(xù)性發(fā)送數(shù)據(jù)塊信息到存儲(chǔ)系統(tǒng);
(3)存儲(chǔ)系統(tǒng)根據(jù)所屬文件,順序存放文件塊內(nèi)容;
(4)當(dāng)系統(tǒng)對(duì)該文件做快照后,文件的所有新增內(nèi)容以及覆蓋寫內(nèi)容都存著新的物理存儲(chǔ)上;對(duì)文件快照回滾時(shí),根據(jù)數(shù)據(jù)塊時(shí)間戳直接刪除新增內(nèi)容即可;
(5)當(dāng)系統(tǒng)一定時(shí)間內(nèi)對(duì)某個(gè)文件塊的訪問次數(shù)到達(dá)一個(gè)設(shè)定值時(shí),系統(tǒng)自動(dòng)把對(duì)應(yīng)文件塊內(nèi)容放入到讀寫性能高的緩存中。
本發(fā)明的有益效果是:該基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法,通過增加在文件條帶時(shí)在文件塊信息中增加元數(shù)據(jù)信息時(shí)間戳、讀次數(shù)和所屬文件,實(shí)現(xiàn)了文件智能存儲(chǔ)。
附圖說明
附圖1為本發(fā)明基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法示意圖。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
該基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法,客戶端把文件條帶化為數(shù)據(jù)塊時(shí),在每個(gè)文件數(shù)據(jù)塊增加4k的元數(shù)據(jù)信息,元數(shù)據(jù)信息包括時(shí)間戳、讀次數(shù)和所屬文件;存儲(chǔ)系統(tǒng)通過這些元數(shù)據(jù)信息完成快照、數(shù)據(jù)緩存和文件智能落盤功能,并可以根據(jù)需要進(jìn)一步增加元數(shù)據(jù)信息用于其他功能,通過犧牲一定的存儲(chǔ)空間,滿足存儲(chǔ)的其他功能。
所述時(shí)間戳用于基于文件的快照信息,當(dāng)需要基于文件做快照時(shí),只需要記錄當(dāng)前時(shí)間即可;對(duì)于文件新增內(nèi)容正常存儲(chǔ),對(duì)于覆蓋寫需要進(jìn)行新增寫,并通過時(shí)間戳來區(qū)分。
所述讀次數(shù)用于存儲(chǔ)系統(tǒng)判斷數(shù)據(jù)冷熱程度,系統(tǒng)通過讀次數(shù)判斷是否需要緩存以及系統(tǒng)是否緩存老化。
所述所屬文件用于系統(tǒng)判斷文件塊應(yīng)該落到哪個(gè)盤,在不影響系統(tǒng)的存儲(chǔ)容量平衡的情況下,盡可能保證文件能夠順序?qū)懭氪疟P,減少磁盤隨機(jī)讀寫。
該基于元數(shù)據(jù)信息的文件智能存儲(chǔ)方法,包括以下步驟:
(1)客戶端在對(duì)文件條帶時(shí),文件塊預(yù)留4k空間,并填寫文件塊的生成時(shí)間以及所屬文件;
(2)客戶端根據(jù)存儲(chǔ)系統(tǒng)綜合存儲(chǔ)容量平衡和文件存儲(chǔ)連續(xù)性發(fā)送數(shù)據(jù)塊信息到存儲(chǔ)系統(tǒng);
(3)存儲(chǔ)系統(tǒng)根據(jù)所屬文件,順序存放文件塊內(nèi)容;
(4)當(dāng)系統(tǒng)對(duì)該文件做快照后,文件的所有新增內(nèi)容以及覆蓋寫內(nèi)容都存著新的物理存儲(chǔ)上;對(duì)文件快照回滾時(shí),根據(jù)數(shù)據(jù)塊時(shí)間戳直接刪除新增內(nèi)容即可;
(5)當(dāng)系統(tǒng)一定時(shí)間內(nèi)對(duì)某個(gè)文件塊的訪問次數(shù)到達(dá)一個(gè)設(shè)定值時(shí),系統(tǒng)自動(dòng)把對(duì)應(yīng)文件塊內(nèi)容放入到讀寫性能高的緩存中。
下面以文件a和文件b為例說明。對(duì)于一次具體文件a和文件b每個(gè)文件條帶化出2個(gè)文件塊,在每個(gè)文件塊的前端預(yù)留4k的信息用于保存元數(shù)據(jù)時(shí)間戳、讀次數(shù)、所屬文件信息。對(duì)于文件a的數(shù)據(jù)在不影響存儲(chǔ)容量平衡的情況下存儲(chǔ)到了一塊磁盤,對(duì)于文件b的數(shù)據(jù)存儲(chǔ)到了一塊磁盤上。
當(dāng)對(duì)文件b的數(shù)據(jù)塊1讀的比較頻繁時(shí),文件b的數(shù)據(jù)塊1會(huì)緩存到高速緩存的存儲(chǔ)中,當(dāng)對(duì)文件a做了快照后,文件a的新增數(shù)據(jù)寫入到另外一個(gè)存儲(chǔ)中,對(duì)于覆蓋寫的文件塊1’也寫入到新的存儲(chǔ)中,時(shí)間戳保留為新的時(shí)間戳。