專利名稱:利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法。該方法可以應(yīng)用到IT相關(guān)行業(yè)的各種 網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)領(lǐng)域,可以在不降低存儲(chǔ)性能、不修改應(yīng)用軟件配置的前提下 對(duì)網(wǎng)絡(luò)存儲(chǔ)進(jìn)行擴(kuò)容。
背景技術(shù):
隨著信息化的快速發(fā)展,各個(gè)行業(yè)在數(shù)據(jù)存儲(chǔ)方面的需求越來越大,并且 這些需求的增長(zhǎng)集中體現(xiàn)在數(shù)據(jù)量的增長(zhǎng)上。 一般來說,網(wǎng)絡(luò)存儲(chǔ)的擴(kuò)容都會(huì) 對(duì)上層的應(yīng)用系統(tǒng)產(chǎn)生一定的影響,尤其是在應(yīng)用系統(tǒng)沒有考慮擴(kuò)容這種需求 的情況下,影響會(huì)更大,甚至導(dǎo)致整個(gè)系統(tǒng)的徹底升級(jí),造成原有投資的浪費(fèi)。 如果能夠有一種通用的辦法,在不修改原有軟件甚至原有軟件配置的情況下, 僅僅增加盤陣等硬件設(shè)備就可以實(shí)現(xiàn)系統(tǒng)網(wǎng)絡(luò)存儲(chǔ)容量的擴(kuò)展,肯定會(huì)獲得良 好的效果,這樣即不需要更多的軟件投入,也可以繼續(xù)使用原來的存儲(chǔ)設(shè)備, 更重要的是升級(jí)的過程幾乎對(duì)應(yīng)用系統(tǒng)的使用沒有任何影響,可以實(shí)現(xiàn)后臺(tái)的 平滑升級(jí)。發(fā)明內(nèi)容本發(fā)明的目的在于針對(duì)目前網(wǎng)絡(luò)存儲(chǔ)擴(kuò)容中存在的問題,提供一種利用 虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法,以實(shí)現(xiàn)網(wǎng)絡(luò)存儲(chǔ)容量 的平滑升級(jí),并可以節(jié)省更多的升級(jí)投入。本發(fā)明的技術(shù)方案如下 一種利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò) 存儲(chǔ)空間的方法,該方法在應(yīng)用系統(tǒng)的工作站上設(shè)置虛擬文件系統(tǒng)軟件,通 過該軟件在工作站上虛擬出硬盤驅(qū)動(dòng)器并實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),虛擬硬盤驅(qū)動(dòng)器與 存儲(chǔ)控制服務(wù)器之間建立數(shù)據(jù)連接,通過虛擬驅(qū)動(dòng)器將多個(gè)網(wǎng)絡(luò)盤陣綁定到 一起。
如上所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法, 其中,該方法通過存儲(chǔ)控制服務(wù)器記錄可以綁定在一起的盤陣信息,并同時(shí) 記錄完整的目錄結(jié)構(gòu)信息,以供虛擬文件系統(tǒng)獲取使用。如上所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法,其中,對(duì)于windows操作系統(tǒng),使用DDK開發(fā)包創(chuàng)建驅(qū)動(dòng)級(jí)程序,實(shí)現(xiàn)虛擬 文件系統(tǒng)的設(shè)置;對(duì)于Linux操作系統(tǒng),使用其自身的虛擬文件系統(tǒng)架構(gòu)。如上所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法, 其中,上層應(yīng)用系統(tǒng)以訪問普通的存儲(chǔ)設(shè)備方式,在虛擬驅(qū)動(dòng)器上創(chuàng)建、修 改、刪除文件,虛擬文件系統(tǒng)將上層的操作轉(zhuǎn)移到實(shí)際的存儲(chǔ)設(shè)備上。如上所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法, 其中,在上層應(yīng)用新建文件時(shí),按照容量均衡的邏輯進(jìn)行盤陣的選擇,優(yōu)先 使用可甩空間大的盤陣寫入文件。如上所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法, 其中,當(dāng)新加入盤陣時(shí),首先修改存儲(chǔ)控制服務(wù)器的配置,確定新加入盤陣 所對(duì)應(yīng)的虛擬硬盤驅(qū)動(dòng)器,并將信息提供給當(dāng)前運(yùn)行的虛擬文件系統(tǒng),以啟 用新的網(wǎng)絡(luò)存儲(chǔ)服務(wù)。本發(fā)明的有益效果如下本發(fā)明將多個(gè)盤陣通過虛擬驅(qū)動(dòng)器綁定到 一起, 讓用戶或上層應(yīng)用感覺是在使用一個(gè)驅(qū)動(dòng)器,而不是多個(gè)。應(yīng)用系統(tǒng)可以像 訪問普通的存儲(chǔ)設(shè)備一樣,在虛擬出來的設(shè)備上創(chuàng)建、修改、刪除文件,虛 擬文件系統(tǒng)負(fù)責(zé)將上層的這些操作轉(zhuǎn)移到實(shí)際的存儲(chǔ)設(shè)備上。如果要?jiǎng)討B(tài)擴(kuò) 容,只需要讓虛擬文件系統(tǒng)確認(rèn)新加入的設(shè)備也負(fù)責(zé)以前某個(gè)虛擬驅(qū)動(dòng)器的 數(shù)據(jù)存儲(chǔ)即可。該方法實(shí)現(xiàn)了網(wǎng)絡(luò)存儲(chǔ)容量的平滑升級(jí),并保留原來的存儲(chǔ) 設(shè)備以及里面存儲(chǔ)的數(shù)據(jù),可以在不間斷當(dāng)前工作的情況下實(shí)現(xiàn)動(dòng)態(tài)容量的 擴(kuò)展。
圖1為簡(jiǎn)單磁盤捆綁JB0D的實(shí)現(xiàn)原理圖。 圖2為本發(fā)明方法的實(shí)現(xiàn)原理圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。實(shí)現(xiàn)網(wǎng)絡(luò)存儲(chǔ)容量的平滑升級(jí),并保留原來的存儲(chǔ)設(shè)備以及里面存儲(chǔ)的數(shù)據(jù),這是本發(fā)明要解決的主要問題,其大致思路是引入虛擬文件系統(tǒng)技 術(shù),在應(yīng)用系統(tǒng)的工作站上部署虛擬文件系統(tǒng)軟件(以后簡(jiǎn)稱VFS),該軟 件負(fù)責(zé)在工作站上虛擬出硬盤驅(qū)動(dòng)器,應(yīng)用系統(tǒng)可以像訪問普通的存儲(chǔ)設(shè)備 一樣,在虛擬出來的設(shè)備上創(chuàng)建、修改、刪除文件,VFS負(fù)責(zé)將上層的這些 操作轉(zhuǎn)移到實(shí)際的存儲(chǔ)設(shè)備上,如果要?jiǎng)討B(tài)擴(kuò)容,只要讓VFS認(rèn)為新加入的 設(shè)備也負(fù)責(zé)以前某個(gè)虛擬驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)就可以了 。這種處理盤陣的模式和磁盤的"簡(jiǎn)單磁盤捆綁,,(JB0D)非常類似,JB0D的 原理如圖1所示。JBOD是在邏輯上把幾個(gè)物理石茲盤一個(gè)接一個(gè)串聯(lián)到一起,從 而提供一個(gè)大的邏輯磁盤。JB0D上的數(shù)據(jù)簡(jiǎn)單的從第一個(gè)磁盤開始存儲(chǔ),當(dāng)?shù)?一個(gè)磁盤的存儲(chǔ)空間用完后,再依次從后面的磁盤開始存儲(chǔ)數(shù)據(jù)。JB0D存取性 能完全等同于對(duì)單一磁盤的存取操作。JB0D不提供數(shù)據(jù)安全保障,它只是簡(jiǎn)單 的提供一種利用磁盤空間的方法,JB0D的存儲(chǔ)容量等于組成JB0D的所有磁盤的 容量的總和。本發(fā)明在邏輯上和JB0D非常類似,只不過是把普通硬盤換成了網(wǎng)絡(luò)存儲(chǔ)盤 陣。另外一個(gè)特點(diǎn)就是可以在不間斷當(dāng)前工作的情況下實(shí)現(xiàn)動(dòng)態(tài)容量的擴(kuò)展。 其實(shí)現(xiàn)原理如圖2所示。該方法在應(yīng)用系統(tǒng)的工作站上設(shè)置虛擬文件系統(tǒng)軟件, 通過該軟件在工作站上虛擬出硬盤驅(qū)動(dòng)器并實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),虛擬硬盤驅(qū)動(dòng)器與 存儲(chǔ)控制服務(wù)器之間建立數(shù)據(jù)連接,通過虛擬驅(qū)動(dòng)器將多個(gè)網(wǎng)絡(luò)盤陣綁定到一 起,通過存儲(chǔ)控制服務(wù)器記錄可以綁定在一起的盤陣信息,并同時(shí)記錄完整的 目錄結(jié)構(gòu)信息,以供虛擬文件系統(tǒng)獲取使用。圖中VFS的作用比較清楚,就是 將盤陣A、 B、 X通過虛擬驅(qū)動(dòng)器綁定到一起,讓用戶或上層應(yīng)用感覺是在使用 一個(gè)驅(qū)動(dòng)器,而不是多個(gè)。存儲(chǔ)控制服務(wù)器是實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展的核心,在該服務(wù) 器上記錄了哪些盤陣可以綁定到一起,各個(gè)工作站上的VFS需要隨時(shí)獲取這些 信息,以便將數(shù)據(jù)寫入正確的盤陣中,另外該服務(wù)還要記錄目錄結(jié)構(gòu)信息,因 為如果想將多個(gè)盤陣綁定到一起,那么這些盤陣上肯定有自己的目錄結(jié)構(gòu),這 些目錄結(jié)構(gòu)是不完整的,當(dāng)客戶端檢索文件的時(shí)候就需要有一個(gè)完整的目錄, 那么這些數(shù)據(jù)就需要由存儲(chǔ)控制服務(wù)器提供。
本發(fā)明的實(shí)現(xiàn)沒有對(duì)操作系統(tǒng)的限制,可以應(yīng)用到任何的操作系統(tǒng)當(dāng)中。創(chuàng)建虛擬硬盤驅(qū)動(dòng)器是VFS實(shí)現(xiàn)的關(guān)鍵,但這與具體的操作系統(tǒng)有關(guān),對(duì) 于Windows系列來說,需要使用DDK開發(fā)包創(chuàng)建驅(qū)動(dòng)級(jí)程序,對(duì)于Linux系列 來說,本身就有VFS架構(gòu),開發(fā)相對(duì)來說要簡(jiǎn)單一些,只要對(duì)其架構(gòu)熟悉一下 就可以了。在前面的基礎(chǔ)上,數(shù)據(jù)的轉(zhuǎn)發(fā)從原理上來說相對(duì)要容易一些,只要 注意不要漏掉一些文件操作即可。這些具體的操作對(duì)于不同的操作系統(tǒng)可能也 略有差異,但還是建議盡可能的支持操作系統(tǒng)常用的文件系統(tǒng),而不要引入新 的文件系統(tǒng)。比如對(duì)于Windows系統(tǒng)來說,虛擬出來的文件系統(tǒng)最好支持NTFS。當(dāng)上層應(yīng)用新建文件時(shí),VFS按照容量均衡的邏輯進(jìn)行盤陣的選擇。假設(shè)將 盤陣A和盤陣B通過VFS綁定成Z盤,盤陣A和盤陣B的容量都是2TB,那么對(duì) 于Z盤來說可用的容量就是4TB,在使用的時(shí)候A和B的使用容量要盡可能的保 持一致,也就是說優(yōu)先使用可用空間大的盤陣寫入文件,這樣處理可以獲得較 高的性能。數(shù)據(jù)均勻分布后,實(shí)際上也將讀寫操作均勻分布開,網(wǎng)絡(luò)存儲(chǔ)的整 體帶寬在實(shí)際使用時(shí)會(huì)大于單個(gè)盤陣的帶寬,同時(shí)實(shí)現(xiàn)邏輯也比較簡(jiǎn)單。文件跨盤陣存儲(chǔ)出現(xiàn)的概率是比較低的,原因就是單個(gè)盤陣的容量遠(yuǎn)遠(yuǎn)大 于常見的單個(gè)文件的大小,但是這種情況也需要仔細(xì)考慮。本發(fā)明中設(shè)計(jì)了 "存 儲(chǔ)控制服務(wù)器",它的工作之一就是要記錄所有文件的分布信息,也就是目錄存 儲(chǔ)結(jié)構(gòu),在實(shí)現(xiàn)存儲(chǔ)控制服務(wù)器的時(shí)候,要能夠?qū)绫P陣的文件分布信息進(jìn)行 記錄。當(dāng)新加入一個(gè)盤陣之后,如何解決動(dòng)態(tài)擴(kuò)容的問題是本發(fā)明的一個(gè)關(guān)鍵之 處。首先需要在存儲(chǔ)控制服務(wù)器上進(jìn)行配置,要配置的內(nèi)容主要就是告訴系統(tǒng), 新加入的這個(gè)盤陣用來對(duì)目前的哪一個(gè)虛擬存儲(chǔ)驅(qū)動(dòng)器擴(kuò)容。當(dāng)配置修改以后, 存儲(chǔ)控制服務(wù)器要立即通知當(dāng)前活動(dòng)的VFS, VFS在獲得這些信息之后,要立即 啟用新的網(wǎng)絡(luò)存儲(chǔ)服務(wù),不要用戶做更多的干涉。考慮到在此公開的對(duì)本發(fā)明的描述和特殊的實(shí)施例,本發(fā)明的其他實(shí)施例 對(duì)于本領(lǐng)域的技術(shù)人員來說是顯而易見的。這些說明和實(shí)施例僅作為例子來考 慮,它們都屬于由所附權(quán)利要求所指示的本發(fā)明的保護(hù)范圍和精神之內(nèi)。
權(quán)利要求
1. 一種利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法,其特征在于該方法在應(yīng)用系統(tǒng)的工作站上設(shè)置虛擬文件系統(tǒng)軟件,通過該軟件在工作站上虛擬出硬盤驅(qū)動(dòng)器并實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),虛擬硬盤驅(qū)動(dòng)器與存儲(chǔ)控制服務(wù)器之間建立數(shù)據(jù)連接,通過虛擬驅(qū)動(dòng)器將多個(gè)網(wǎng)絡(luò)盤陣綁定到一起。
2. 如權(quán)利要求1所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ) 空間的方法,其特征在于該方法通過存儲(chǔ)控制服務(wù)器記錄可以綁定在一起 的盤陣信息,并同時(shí)記錄完整的目錄結(jié)構(gòu)信息,以供虛擬文件系統(tǒng)獲取使用。
3. 如權(quán)利要求1或2所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò) 存儲(chǔ)空間的方法,其特征在于對(duì)于windows」操作系統(tǒng),使用DDK開發(fā)包創(chuàng) 建驅(qū)動(dòng)級(jí)程序,實(shí)現(xiàn)虛擬文件系統(tǒng)的設(shè)置。
4. 如權(quán)利要求1或2所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò) 存儲(chǔ)空間的方法,其特征在于對(duì)于Linux操作系統(tǒng),使用其自身的虛擬文 件系統(tǒng)架構(gòu)。
5. 如權(quán)利要求1或2所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò) 存儲(chǔ)空間的方法,其特征在于上層應(yīng)用系統(tǒng)以訪問普通的存儲(chǔ)設(shè)備方式, 在虛擬驅(qū)動(dòng)器上創(chuàng)建、修改、刪除文件,虛擬文件系統(tǒng)將上層的操作轉(zhuǎn)移到 實(shí)際的存儲(chǔ)設(shè)備上。
6. 如權(quán)利要求5所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ) 空間的方法,其特征在于在上層應(yīng)用新建文件時(shí),按照容量均衡的邏輯進(jìn) 行盤陣的選擇,優(yōu)先使用可用空間大的盤陣寫入文件。
7. 如權(quán)利要求2所述的利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ) 空間的方法,其特征在于當(dāng)新加入盤陣時(shí),首先修改存儲(chǔ)控制服務(wù)器的配 置,確定新加入盤陣所對(duì)應(yīng)的虛擬硬盤驅(qū)動(dòng)器,并將信息提供給當(dāng)前運(yùn)行的 虛擬文件系統(tǒng),以啟用新的網(wǎng)絡(luò)存儲(chǔ)服務(wù)。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種利用虛擬文件系統(tǒng)技術(shù)實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)存儲(chǔ)空間的方法。該方法在應(yīng)用系統(tǒng)的工作站上設(shè)置虛擬文件系統(tǒng)軟件,通過該軟件在工作站上虛擬出硬盤驅(qū)動(dòng)器并實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),虛擬硬盤驅(qū)動(dòng)器與存儲(chǔ)控制服務(wù)器之間建立數(shù)據(jù)連接,通過虛擬驅(qū)動(dòng)器將多個(gè)網(wǎng)絡(luò)盤陣綁定到一起。本發(fā)明實(shí)現(xiàn)了網(wǎng)絡(luò)存儲(chǔ)容量的平滑升級(jí),并保留原來的存儲(chǔ)設(shè)備以及里面存儲(chǔ)的數(shù)據(jù),可以在不間斷當(dāng)前工作的情況下實(shí)現(xiàn)動(dòng)態(tài)容量的擴(kuò)展。
文檔編號(hào)G06F17/30GK101398822SQ20071012244
公開日2009年4月1日 申請(qǐng)日期2007年9月26日 優(yōu)先權(quán)日2007年9月26日
發(fā)明者王弋珵 申請(qǐng)人:新奧特硅谷視頻技術(shù)有限責(zé)任公司