專利名稱:一種數(shù)據(jù)存儲方法裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種應(yīng)用于云計(jì)算平臺的數(shù)據(jù)存儲方法及裝置。
背景技術(shù):
分布式文件系統(tǒng)由元數(shù)據(jù)服務(wù)器、存儲數(shù)據(jù)服務(wù)器、客戶端、管理工具組成。元數(shù)據(jù)服務(wù)器用于管理文件系統(tǒng)的元數(shù)據(jù)(包括文件目錄樹組織、屬性維護(hù)、文件操作日志記錄、授權(quán)訪問等),管理整個存儲系統(tǒng)的命名空間,對外提供單一的系統(tǒng)映像,并負(fù)責(zé)整個存儲集群的管理監(jiān)控。存儲服務(wù)器用于存儲用戶的實(shí)際數(shù)據(jù),是整個分布式文件系統(tǒng)存儲資源提供者。當(dāng)應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)訪問時,存儲服務(wù)器集群提供實(shí)際的數(shù)據(jù)IO (Input/Outpu,輸入/輸出)服務(wù),客戶端同應(yīng)用對接,應(yīng)用通過客戶端訪問分布式文件系統(tǒng)。存儲服務(wù)器是文件系統(tǒng)的物理存儲設(shè)備,是整個分布式文件系統(tǒng)的存儲資源提供者。當(dāng)應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)訪問時,存儲服務(wù)器集群提供實(shí)際的數(shù)據(jù)IO服務(wù),數(shù)據(jù)壓力分布在存儲服務(wù)器集群中的各存儲服務(wù)器之間。當(dāng)前,分布式文件系統(tǒng)存儲服務(wù)器設(shè)定有一個限額值。分布式文件系統(tǒng)按照操作順序,輪流的把該次操作的數(shù)據(jù)存儲到已占用存儲空間未超過限額值的存儲服務(wù)器的存儲空間中。如果所有的存儲服務(wù)器的已占用存儲空間都超過限額值,則限額值翻倍。圖1為傳統(tǒng)分布式存儲流程示意圖。如圖1所示,傳統(tǒng)分布式存儲流程包括如下步驟步驟S101,準(zhǔn)備存儲數(shù)據(jù);步驟S102,判斷當(dāng)前存儲服務(wù)器已占用的存儲空間是否小于限額值,若是執(zhí)行步驟S106,否則執(zhí)行步驟S103 ;步驟S103,判斷所有存儲服務(wù)器的已占用存儲空間是否都超過限額值,若是執(zhí)行步驟S105,否則執(zhí)行步驟S104 ;步驟S104,修改限額值變大;步驟S105,查看下一個存儲服務(wù)器的已占用存儲空間;步驟S106,將數(shù)據(jù)存儲到當(dāng)前存儲服務(wù)器的存儲空間,存儲完成。傳統(tǒng)分布式存儲方式存在如下問題(I)存儲服務(wù)器負(fù)載不均衡現(xiàn)有方案輪流依次存儲數(shù)據(jù)到存儲服務(wù)器,因?yàn)槊看尾僮鞯臄?shù)據(jù)大小不一,雖然輪流操作均衡了每個存儲服務(wù)器的操作次數(shù)。但長久時間后,每個存儲服務(wù)器負(fù)載差異較大。存儲服務(wù)器負(fù)載差異大后,IO不均衡,讀寫文件性能降低。(2)存儲服務(wù)器沒有分組存儲服務(wù)器不分組,處于同一環(huán)境中,比如同一機(jī)房,如果機(jī)房掉電,那么該機(jī)房中存儲服務(wù)器都不能訪問。盡管其他機(jī)房的存儲服務(wù)器可以正常訪問。此場景下,分布式文件系統(tǒng)中會出現(xiàn)部分文件不能訪問的情況。(3)跨網(wǎng)絡(luò)段存儲,按照整個存儲集群進(jìn)行存儲,多個副本存儲在各個存儲節(jié)點(diǎn),當(dāng)跨網(wǎng)段部署時,存儲效率低。一個應(yīng)用請求的計(jì)算,離它操作的數(shù)據(jù)越近就越高效,在數(shù)據(jù)達(dá)到海量級別的時候更是如此。因?yàn)檫@樣就能降低網(wǎng)絡(luò)阻塞的影響,提高系統(tǒng)數(shù)據(jù)的吞吐量。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)據(jù)存儲方法裝置,提高文件系統(tǒng)的讀寫性能。為解決上述技術(shù)問題,本發(fā)明提出了一種數(shù)據(jù)存儲方法,應(yīng)用于分布式文件系統(tǒng),包括接收待存儲的數(shù)據(jù);根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,所述負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎怠_M(jìn)一步地,上述數(shù)據(jù)存儲方法還可具有以下特點(diǎn),所述根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,包括計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值;將各存儲服務(wù)器按照所述負(fù)載值進(jìn)行排序;選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)。進(jìn)一步地,上述數(shù)據(jù)存儲方法還可具有以下特點(diǎn),在所述選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)之后,還包括將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。進(jìn)一步地,上述數(shù)據(jù)存儲方法還可具有以下特點(diǎn),所述將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中,包括對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中;選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲所述數(shù)據(jù)的副本。進(jìn)一步地,上述數(shù)據(jù)存儲方法還可具有以下特點(diǎn),所述同一環(huán)境指場地相同、場景相同。為解決上述技術(shù)問題,本發(fā)明提出了一種數(shù)據(jù)存儲系統(tǒng),應(yīng)用于分布式文件系統(tǒng),包括接收模塊,用于接收待存儲的數(shù)據(jù);存儲模塊,用于根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述接收模塊接收的待存儲數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,所述負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎?。進(jìn)一步地,上述數(shù)據(jù)存儲裝置還可具有以下特點(diǎn),所述存儲模塊包括計(jì)算單元,用于計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值;排序單元,用于將各存儲服務(wù)器按照所述負(fù)載值進(jìn)行排序;選擇單元,用于選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)。進(jìn)一步地,上述數(shù)據(jù)存儲裝置還可具有以下特點(diǎn),所述存儲模塊還包括副本存儲單元,用于將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。
進(jìn)一步地,上述數(shù)據(jù)存儲裝置還可具有以下特點(diǎn),所述副本存儲單元還包括分組子單元,用于對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中;組外選擇子單元,用于選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲所述數(shù)據(jù)的副本。進(jìn)一步地,上述數(shù)據(jù)存儲裝置還可具有以下特點(diǎn),所述同一環(huán)境指場地相同、場景相同。本發(fā)明的數(shù)據(jù)存儲方法及裝置,使得各個存儲服務(wù)器可以達(dá)到負(fù)載均衡。存儲服務(wù)器負(fù)載均衡,則在進(jìn)行讀寫操作時,分布在存儲服務(wù)器上的IO就比較均衡,不會出現(xiàn)IO集中到某一存儲服務(wù)器上,出現(xiàn)等待IO的情況,從而提升了訪問文件系統(tǒng)的性能,也即提高了文件系統(tǒng)的讀寫性能。另外,本發(fā)明的數(shù)據(jù)存儲方法及裝置還對存儲服務(wù)器進(jìn)行了分組,將處同一場地、場景(例如同一機(jī)架、同一機(jī)房)的存儲服務(wù)器設(shè)置在同一小組內(nèi),通過再組外拷貝副本,當(dāng)某一場地發(fā)生重大故障(比如同一機(jī)房掉電),此時文件系統(tǒng)可以正常訪問其他組外副本,提高了文件系統(tǒng)的安全性。
圖1為傳統(tǒng)分布式存儲流程示意圖;圖2為本發(fā)明實(shí)施例中數(shù)據(jù)存儲方法的流程圖;圖3為本發(fā)明實(shí)施例中數(shù)據(jù)存儲的一個具體流程圖;圖4為本發(fā)明實(shí)施例中數(shù)據(jù)存儲裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式詳單云存儲是一款為云存儲服務(wù)而設(shè)計(jì)的集群存儲系統(tǒng),用戶可以拋開文件的實(shí)際物理位置,僅通過一定的邏輯關(guān)系就可以查找和訪問網(wǎng)絡(luò)的文件資源。用戶能夠像訪問本地文件一樣,訪問分布在網(wǎng)絡(luò)中多個服務(wù)器上的文件提供PB級的存儲容量,實(shí)現(xiàn)文件系統(tǒng)存儲虛擬化。本發(fā)明的主要構(gòu)思是在分布式文件系統(tǒng)中存儲數(shù)據(jù)的時候,根據(jù)存儲服務(wù)器主機(jī)的負(fù)載值(負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎?將數(shù)據(jù)均勻的分散到每一個存儲服務(wù)器,也就是存儲負(fù)載均衡。本發(fā)明的數(shù)據(jù)存儲方法可以應(yīng)用于分布式文件系統(tǒng)。以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。圖2為本發(fā)明實(shí)施例中數(shù)據(jù)存儲方法的流程圖。如圖2所示,本實(shí)施例中,數(shù)據(jù)存儲方法可以包括以下步驟步驟S101,接收待存儲的數(shù)據(jù);步驟S102,根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將待存儲數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,其中,負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎?。其中,步驟S102可以由以下子步驟來實(shí)現(xiàn)(a),計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值;
(b),將各存儲服務(wù)器按照負(fù)載值進(jìn)行排序;排序的方式可以是從小到大,也可以是從大到小。(C),選擇負(fù)載值最小的存儲服務(wù)器來存儲待存儲數(shù)據(jù)。在步驟(C)之后,還可以進(jìn)一步包括步驟(d):將待存儲數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。具體地,步驟(d)可以包括如下步驟對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中,其中,同一環(huán)境指場地相同、場景相同;選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲數(shù)據(jù)的副本。圖3為本發(fā)明實(shí)施例中數(shù)據(jù)存儲的一個具體流程圖。由圖3所示,該數(shù)據(jù)存儲過程包括如下步驟步驟S301,獲得每個存儲服務(wù)器的負(fù)載值;步驟S302,根據(jù)負(fù)載值對存儲服務(wù)器進(jìn)行排序;步驟S303,判斷存儲的副本數(shù)是否大于可用的存儲服務(wù)器的數(shù)量,若是執(zhí)行步驟S304,否則執(zhí)行步驟S307 ;這里,可用的存儲服務(wù)器是指負(fù)載值小于預(yù)設(shè)的滿負(fù)荷閾值的存儲服務(wù)器。步驟S304,判斷存儲的副本數(shù)是否大于組中的最大存儲服務(wù)器數(shù)量,若是執(zhí)行步驟S305,否則執(zhí)行步驟S306 ;步驟S305,將組外的可用存儲服務(wù)器加入到排序隊(duì)列中;步驟S306,將組內(nèi)的可用存儲服務(wù)器加入到排序隊(duì)列中;步驟S307,將可用存儲服務(wù)器加入到排序隊(duì)列中;步驟S308,選擇排序隊(duì)列中負(fù)載值大于預(yù)設(shè)閾值的存儲服務(wù)器;步驟S309,發(fā)送復(fù)制命令,將待存儲數(shù)據(jù)的副本存儲在選擇的存儲服務(wù)器中,存儲完成。由上可見,本發(fā)明的數(shù)據(jù)存儲方法采用了負(fù)載均衡算法。每臺存儲服務(wù)器的總?cè)萘靠梢韵嗤?,也可以不同。本發(fā)明的數(shù)據(jù)存儲方法,使得各個存儲服務(wù)器可以達(dá)到負(fù)載均衡。存儲服務(wù)器負(fù)載均衡,則在進(jìn)行讀寫操作時,分布在存儲服務(wù)器上的IO就比較均衡,不會出現(xiàn)IO集中到某一存儲服務(wù)器上,出現(xiàn)等待IO的情況,從而提升了訪問文件系統(tǒng)的性能,也即提高了文件系統(tǒng)的讀寫性能。另外,本發(fā)明的數(shù)據(jù)存儲方法還對存儲服務(wù)器進(jìn)行了分組,將處同一場地、場景(例如同一機(jī)架、同一機(jī)房)的存儲服務(wù)器設(shè)置在同一小組內(nèi),通過再組外拷貝副本,當(dāng)某一場地發(fā)生重大故障(比如同一機(jī)房掉電),此時文件系統(tǒng)可以正常訪問其他組外副本,提高了文件系統(tǒng)的安全性。本發(fā)明還提出了一種數(shù)據(jù)存儲裝置,用以實(shí)施上述的數(shù)據(jù)存儲方法。圖4為本發(fā)明實(shí)施例中數(shù)據(jù)存儲裝置的結(jié)構(gòu)框圖。如圖4所示,本實(shí)施例中,數(shù)據(jù)存儲裝置包括接收模塊410和存儲模塊420。其中,接收模塊410用于接收待存儲的數(shù)據(jù)。存儲模塊420用于根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將接收模塊410接收的待存儲數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,其中,負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎?。其中,存儲模塊420可以進(jìn)一步包括計(jì)算單元、排序單元和選擇單元。計(jì)算單元、排序單元和選擇單元順次相連。其中,計(jì)算單元用于計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值。排序單元用于將各存儲服務(wù)器按照負(fù)載值進(jìn)行排序。選擇單元用于選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)。存儲模塊420可以進(jìn)一步包括副本存儲單元。副本存儲單元用于將待存儲數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。其中,副本存儲單元可以進(jìn)一步包括分組子單元和組外選擇子單元。分組子單元用于對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中。組外選擇子單元用于選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲待存儲數(shù)據(jù)的副本。同一環(huán)境指場地相同、場景相同。本發(fā)明的數(shù)據(jù)存儲裝置,使得各個存儲服務(wù)器可以達(dá)到負(fù)載均衡。存儲服務(wù)器負(fù)載均衡,則在進(jìn)行讀寫操作時,分布在存儲服務(wù)器上的IO就比較均衡,不會出現(xiàn)IO集中到某一存儲服務(wù)器上,出現(xiàn)等待IO的情況,從而提升了訪問文件系統(tǒng)的性能,也即提高了文件系統(tǒng)的讀寫性能。另外,本發(fā)明的數(shù)據(jù)存儲裝置還對存儲服務(wù)器進(jìn)行了分組,將處同一場地、場景(例如同一機(jī)架、同一機(jī)房)的存儲服務(wù)器設(shè)置在同一小組內(nèi),通過再組外拷貝副本,當(dāng)某一場地發(fā)生重大故障(比如同一機(jī)房掉電),此時文件系統(tǒng)可以正常訪問其他組外副本,提高了文件系統(tǒng)的安全性。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)存儲方法,應(yīng)用于分布式文件系統(tǒng),其特征在于,包括:接收待存儲的數(shù)據(jù); 根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,所述負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎怠?br>
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,包括: 計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值; 將各存儲服務(wù)器按照所述負(fù)載值進(jìn)行排序; 選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)存儲方法,其特征在于,在所述選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)之后,還包括: 將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲方法,其特征在于,所述將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中,包括: 對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中; 選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲所述數(shù)據(jù)的副本。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲方法,其特征在于,所述同一環(huán)境指場地相同、場景相同。
6.一種數(shù)據(jù)存儲裝置,應(yīng)用于分布式文件系統(tǒng),其特征在于,包括: 接收模塊,用于接收待存儲的數(shù)據(jù); 存儲模塊,用于根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述接收模塊接收的待存儲數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,所述負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎怠?br>
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)存儲裝置,其特征在于,所述存儲模塊包括: 計(jì)算單元,用于計(jì)算分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值; 排序單元,用于將各存儲服務(wù)器按照所述負(fù)載值進(jìn)行排序; 選擇單元,用于選擇負(fù)載值最小的存儲服務(wù)器來存儲所述數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲裝置,其特征在于,所述存儲模塊還包括: 副本存儲單元,用于將所述數(shù)據(jù)的副本存儲到與所選擇存儲服務(wù)器不在同一組的存儲服務(wù)器中。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲裝置,其特征在于,所述副本存儲單元包括: 分組子單元,用于對所有存儲服務(wù)器進(jìn)行分組,將處于同一環(huán)境中的存儲服務(wù)器分在同一組中; 組外選擇子單元,用于選擇與所選擇存儲服務(wù)器不在同一組、且負(fù)載值最小的一個或多個存儲服務(wù)器來存儲所述數(shù)據(jù)的副本。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)存儲裝置,其特征在于,所述同一環(huán)境指場地相同、場景相同。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)存儲方法及裝置。其中,數(shù)據(jù)存儲方法包括接收待存儲的數(shù)據(jù);根據(jù)分布式文件系統(tǒng)中各存儲服務(wù)器的負(fù)載值將所述數(shù)據(jù)存儲到對應(yīng)的存儲服務(wù)器中,所述負(fù)載值等于存儲服務(wù)器的已占用容量與總?cè)萘康谋戎?。本發(fā)明的數(shù)據(jù)存儲方法及裝置,使得各個存儲服務(wù)器可以達(dá)到負(fù)載均衡。存儲服務(wù)器負(fù)載均衡,則在進(jìn)行讀寫操作時,分布在存儲服務(wù)器上的IO就比較均衡,不會出現(xiàn)IO集中到某一存儲服務(wù)器上,出現(xiàn)等待IO的情況,從而提升了訪問文件系統(tǒng)的性能,也即提高了文件系統(tǒng)的讀寫性能。另外,本發(fā)明的數(shù)據(jù)存儲方法及裝置還對存儲服務(wù)器進(jìn)行了分組,通過再組外拷貝副本,提高了文件系統(tǒng)的安全性。
文檔編號H04L29/08GK103077197SQ20121057544
公開日2013年5月1日 申請日期2012年12月26日 優(yōu)先權(quán)日2012年12月26日
發(fā)明者馬軍, 王少華 申請人:北京思特奇信息技術(shù)股份有限公司