集群文件系統(tǒng)文件存儲的方法及集群文件系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件系統(tǒng)領(lǐng)域,尤其涉及集群文件系統(tǒng)文件存儲的方法及集群文件系統(tǒng)。
【背景技術(shù)】
[0002]近年來,集群文件系統(tǒng)已經(jīng)成為計(jì)算機(jī)技術(shù)發(fā)展的新趨勢。集群文件系統(tǒng)通過將多個(gè)單一獨(dú)立的主機(jī)有機(jī)的結(jié)合串聯(lián)成一個(gè)系統(tǒng)性的整體,并依托存儲區(qū)域網(wǎng)絡(luò),對外提供一個(gè)大容量文件系統(tǒng)的共享存儲應(yīng)用。實(shí)現(xiàn)了存儲區(qū)域網(wǎng)絡(luò)內(nèi)的多并發(fā)用戶操作和大數(shù)據(jù)傳輸。
[0003]隨著集群存儲技術(shù)的發(fā)展,集群文件系統(tǒng)的分布對集群的擴(kuò)展能力特別重要。由于大多集群文件系統(tǒng)都采用中心節(jié)點(diǎn),元數(shù)據(jù)服務(wù)器的方式來實(shí)現(xiàn)。其缺陷在于集群文件系統(tǒng)的擴(kuò)展受到中心節(jié)點(diǎn),元數(shù)據(jù)服務(wù)器的限制。
[0004]上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種集群文件系統(tǒng)文件存儲的方法,旨在解決集群文件系統(tǒng)擴(kuò)展受到中心節(jié)以及元數(shù)據(jù)服務(wù)器限制的技術(shù)問題。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供一種集群文件系統(tǒng)文件存儲的方法,所述集群文件系統(tǒng)文件存儲的方法包括:
[0007]根據(jù)所述集群文件系統(tǒng)中節(jié)點(diǎn)的數(shù)量N,將預(yù)設(shè)消息摘要算法的結(jié)果值劃分為N個(gè)結(jié)果值范圍,其中:所述節(jié)點(diǎn)的存儲范圍與所述N個(gè)結(jié)果值范圍一一對應(yīng);
[0008]獲取文件的目錄信息,根據(jù)所述目錄信息通過預(yù)設(shè)消息摘要算法計(jì)算生成摘要結(jié)果值;
[0009]根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中。
[0010]優(yōu)選地,所述根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中的步驟之后還包括:
[0011]當(dāng)接收到查找或讀取指令時(shí),根據(jù)所述生成的摘要結(jié)果值定位存儲所述文件的節(jié)點(diǎn)。
[0012]優(yōu)選地,所述根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中的步驟之后還包括:
[0013]當(dāng)所述節(jié)點(diǎn)數(shù)量從N變化為M時(shí),將預(yù)設(shè)消息摘要算法的結(jié)果值劃分為M個(gè)結(jié)果值范圍,其中:所述節(jié)點(diǎn)的存儲范圍與所述結(jié)果值范圍一一對應(yīng);
[0014]根據(jù)預(yù)設(shè)平衡算法將存儲在變化之前的N個(gè)節(jié)點(diǎn)中的原文件迀移到變化之后的M個(gè)節(jié)點(diǎn)中。
[0015]優(yōu)選地,所述根據(jù)預(yù)設(shè)平衡算法將存儲在變化之前的N個(gè)節(jié)點(diǎn)中的原文件迀移到變化之后的M個(gè)節(jié)點(diǎn)中的步驟包括:
[0016]將存儲在所述變化之前的節(jié)點(diǎn)中的原文件關(guān)聯(lián)到所述變化之后的節(jié)點(diǎn)中;
[0017]當(dāng)所述集群文件系統(tǒng)空閑時(shí),將存儲在所述變化之前的節(jié)點(diǎn)中的文件迀移到所述變化后的節(jié)點(diǎn)中,同時(shí)取消與原文件的關(guān)聯(lián),并刪除原文件。
[0018]優(yōu)選地,所述根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中的步驟之后還包括:
[0019]根據(jù)所述節(jié)點(diǎn)中存儲的文件,生成對應(yīng)的文件目錄結(jié)構(gòu),并將所述生成的文件目錄結(jié)構(gòu)存儲在所述節(jié)點(diǎn)中。
[0020]此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種集群文件系統(tǒng),所述集群文件系統(tǒng)包括:
[0021]范圍劃分模塊,用于根據(jù)所述集群文件系統(tǒng)中節(jié)點(diǎn)的數(shù)量N,將預(yù)設(shè)消息摘要算法的結(jié)果值劃分為N個(gè)結(jié)果值范圍,其中:所述節(jié)點(diǎn)的存儲范圍與所述N個(gè)結(jié)果值范圍一一對應(yīng);
[0022]摘要結(jié)果獲取模塊,用于獲取文件的目錄信息,根據(jù)所述目錄信息通過預(yù)設(shè)消息摘要算法計(jì)算生成摘要結(jié)果值;
[0023]文件存儲模塊,用于根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中。
[0024]優(yōu)選地,所述集群文件系統(tǒng)還包括:
[0025]文件定位模塊,用于當(dāng)接收到查找或讀取指令時(shí),根據(jù)所述生成的摘要結(jié)果值定位存儲所述文件的節(jié)點(diǎn)。
[0026]優(yōu)選地,所述集群文件系統(tǒng)還包括:
[0027]重劃分模塊,用于當(dāng)所述節(jié)點(diǎn)數(shù)量從N變化為M時(shí),將預(yù)設(shè)消息摘要算法的結(jié)果值劃分為M個(gè)結(jié)果值范圍,其中:所述節(jié)點(diǎn)的存儲范圍與所述結(jié)果值范圍一一對應(yīng);
[0028]文件迀移模塊,用于根據(jù)預(yù)設(shè)平衡算法將存儲在變化之前的N個(gè)節(jié)點(diǎn)中的原文件迀移到變化之后的M個(gè)節(jié)點(diǎn)中。
[0029]優(yōu)選地,所述文件迀移模塊包括:
[0030]關(guān)聯(lián)單元,用于將存儲在所述變化之前的節(jié)點(diǎn)中的原文件關(guān)聯(lián)到所述變化之后的節(jié)點(diǎn)中;
[0031]迀移單元,用于當(dāng)所述集群文件系統(tǒng)空閑時(shí),將存儲在所述變化之前的節(jié)點(diǎn)中的文件迀移到所述變化后的節(jié)點(diǎn)中,同時(shí)取消與原文件的關(guān)聯(lián),并刪除原文件。
[0032]優(yōu)選地,所述集群文件系統(tǒng)還包括:
[0033]目錄生成模塊,用于根據(jù)所述節(jié)點(diǎn)中存儲的文件,生成對應(yīng)的文件目錄結(jié)構(gòu),并將所述生成的文件目錄結(jié)構(gòu)存儲在所述節(jié)點(diǎn)中。
[0034]本發(fā)明實(shí)施例提出的一種集群文件系統(tǒng)文件存儲的方法及集群文件系統(tǒng),通過按照節(jié)點(diǎn)數(shù)量劃分節(jié)點(diǎn)的存儲范圍,各節(jié)點(diǎn)僅存儲文件目錄摘要結(jié)果值在其存儲范圍中的文件,使得集群文件系統(tǒng)中不需要中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器,解決了集群文件系統(tǒng)擴(kuò)展時(shí)受到中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器限制的問題。
【附圖說明】
[0035]圖1為本發(fā)明集群文件系統(tǒng)文件存儲的方法第一實(shí)施例的流程示意圖;
[0036]圖2為本發(fā)明集群文件系統(tǒng)文件存儲的方法第二實(shí)施例的流程示意圖;
[0037]圖3為本發(fā)明集群文件系統(tǒng)文件存儲的方法第三實(shí)施例的流程示意圖;
[0038]圖4為本發(fā)明集群文件系統(tǒng)文件存儲的方法第四實(shí)施例的流程示意圖;
[0039]圖5為本發(fā)明集群文件系統(tǒng)第一實(shí)施例的功能模塊示意圖;
[0040]圖6為本發(fā)明集群文件系統(tǒng)第二實(shí)施例的功能模塊示意圖;
[0041 ]圖7為本發(fā)明集群文件系統(tǒng)第三實(shí)施例的功能模塊示意圖;
[0042]圖8為本發(fā)明集群文件系統(tǒng)第四實(shí)施例的功能模塊示意圖;
[0043]圖9為集群文件系統(tǒng)中一種可能的節(jié)點(diǎn)范圍示意圖;
[0044]圖10為集群文件系統(tǒng)中一種可能的節(jié)點(diǎn)范圍與MD5值范圍一一對應(yīng)的示意圖;
[0045]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0046]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0047]本發(fā)明實(shí)施例的主要解決方案是:根據(jù)所述集群文件系統(tǒng)中節(jié)點(diǎn)的數(shù)量N,將預(yù)設(shè)消息摘要算法的結(jié)果值劃分為N個(gè)結(jié)果值范圍,其中:所述節(jié)點(diǎn)的存儲范圍與所述N個(gè)結(jié)果值范圍一一對應(yīng);獲取文件的目錄信息,根據(jù)所述目錄信息通過預(yù)設(shè)消息摘要算法計(jì)算生成摘要結(jié)果值;根據(jù)所述生成的摘要結(jié)果值將所述文件存儲到對應(yīng)存儲范圍的節(jié)點(diǎn)中。
[0048]由于現(xiàn)有技術(shù)集群文件系統(tǒng)中設(shè)置有中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器,同時(shí)由于受到中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器的限制,使得集群文件系統(tǒng)在進(jìn)行擴(kuò)展時(shí)成本過高且難以進(jìn)行。
[0049]本發(fā)明提供一種解決方案,使集群文件系統(tǒng)中不需要設(shè)置中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器,進(jìn)一步使得集群文件擴(kuò)張時(shí)不再受中心節(jié)點(diǎn)和元數(shù)據(jù)服務(wù)器的限制。
[0050]現(xiàn)對本發(fā)明涉及的消息摘要算法作簡單介紹:
[0051]消息摘要算法是把任意長度的輸入柔和而產(chǎn)生長度固定的偽隨機(jī)輸入的算法。
[0052]消息摘要算法的主要特點(diǎn)有:
[0053]1、無論輸入的消息有多長,計(jì)算出來的消息摘要的長度總是固定的。例如應(yīng)用MD5算法摘要的消息有128個(gè)比特位,用SHA-1算法摘要的消息最終有160比特位的輸出,SHA-1的變體可以產(chǎn)生192比特位和256比特位的消息摘要。一般認(rèn)為,摘要的最終輸出越長,該摘要算法就越安全。
[0054]2、消息摘要看起來是“隨機(jī)的”。這些比特看上去是胡亂的雜湊在一起的??梢杂么罅康妮斎雭頇z驗(yàn)其輸出是否相同,一般,不同的輸入會有不同的輸出,而且輸出的摘要消息可以通過隨機(jī)性檢驗(yàn)。但是,一個(gè)摘要并不是真正隨機(jī)的,因?yàn)橛孟嗤乃惴▽ο嗤南⑶髢纱握?,其結(jié)果必然相同;而若是真正隨機(jī)的,則無論如何都是無法重現(xiàn)的。因此消息摘要是“偽隨機(jī)的”。
[0055]3、一般地,只要輸入的消息不同,對其進(jìn)行摘要以后產(chǎn)生的摘要消息也必不相同;但相同的輸入必會產(chǎn)生相同的輸出。這正是好的消息摘要算法