專利名稱:基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體涉及一種基于虛擬文件系統(tǒng)技 術(shù)的網(wǎng)絡存儲方法及存儲系統(tǒng)。該系統(tǒng)可以應用到廣電行業(yè)的-見音頻網(wǎng)絡存 儲,以及其它對網(wǎng)絡帶寬、數(shù)據(jù)安全要求比較高的各種數(shù)據(jù)存儲領(lǐng)域。
背景技術(shù):
近年來,在廣電行業(yè)非編網(wǎng)絡項目的設計和實施過程中,考慮最多的問 題是如何保證網(wǎng)絡的穩(wěn)定以及高速的帶寬,穩(wěn)定、高速是非編對文件存儲系 統(tǒng)的基本要求。非編對帶寬的要求很高,帶寬稍有波動就會造成播放畫面的 不連續(xù),其后果要么是制作出來的節(jié)目質(zhì)量不過關(guān),要么造成非編系統(tǒng)的崩 潰,甚至直接造成播出事故。如何使用較低的成本組建一個成規(guī)模的高清網(wǎng)絡是廣電行業(yè)要面臨的另外一個問題,高清網(wǎng)絡的帶寬要求會是目前帶寬的2倍以上,這對目前技術(shù) 來說是一個挑戰(zhàn)。由于電視廣播的特殊性,目前視音頻網(wǎng)絡會經(jīng)常遇到如下一些問題如 盤陣崩潰了如何處理,交換機損壞了如何應對,服務器宕機了如何解決等等, 這就需要一 系列的關(guān)于系統(tǒng)在極限狀況下的應急處理方案。由于盤陣一次壞 兩塊以上硬盤的概率是極小的,所以常規(guī)的解決方法一般是可以上雙控制器, 上雙交換機,讓服務器支持HA。以上這些解決方案除了成本成倍增長以外,并不能保證系統(tǒng)真的萬無一 失。 一般情況下,上述系列解決方案可以保證數(shù)據(jù)不會丟失,但是不能保證 系統(tǒng)能一直連續(xù)運行,而是總會有一段不可用時間,并且這一段時間是不能 確定長短的。對于新聞生產(chǎn)等節(jié)目網(wǎng)絡系統(tǒng)來說,l個小時以上的系統(tǒng)不可 用時間,就有可能對即將播出的節(jié)目造成影響,所以尋找一個可節(jié)約成本并 且更具實用性的應急方案, 一直是廣電行業(yè)相關(guān)技術(shù)人員追求的目標。最后,非編在非編網(wǎng)絡中占用帶寬資源是最高的,非編占用這些帶寬的主
要用途包括素材采集、節(jié)目制作、素材下載、打包合成、節(jié)目審查等。在這 些操作過程中,除了部分極簡單的新聞類節(jié)目在制作環(huán)節(jié)花費的時間比較少以 外,應該說節(jié)目制作花費的時間是最長,而且節(jié)目制作占用的帶寬也最多,尤 其是制作類型的網(wǎng)絡就更明顯。從分析中可以看出盤陣在更多的時候是在承擔 著"讀"的操作,如果能盡量減少盤陣的"讀,,操作,將這部分工作放到別處, 從而使盤陣承擔更多"寫"的操作,也就支持了更多的非編站點。發(fā)明內(nèi)容本發(fā)明的目的在于針對目前視音頻網(wǎng)絡技術(shù)中系統(tǒng)在極限狀況下的應急 處理方案所存在的缺陷,提供一種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡 存儲方法及系統(tǒng),從而更加合理的配置網(wǎng)絡盤陣的操作形式,以支持更多的 非編站點,保證系統(tǒng)能夠可靠、高速的運行。本發(fā)明的技術(shù)方案如下 一種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡 存儲方法,該方法在視音頻工作站操作系統(tǒng)的設備層虛擬一個或多個硬盤設 備,當上層軟件進行寫文件操作時,在工作站本地的Cache和網(wǎng)絡存儲設備 中各寫一份,當上層軟件進行讀文件操作時,優(yōu)先使用本地Cache中存儲的數(shù)據(jù)。如上所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法,其中, 當上層軟件進行讀文件操作時,如果工作站本地的Cache不存在相關(guān)數(shù)據(jù), 則從網(wǎng)絡存儲設備中讀取數(shù)據(jù)返回給上層應用,并在傳給上層的同時在本地 的Cache中保留一份相同的數(shù)據(jù)文件。如上所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法,其中, 當上層軟件進行寫文件操作時,在網(wǎng)絡盤陣速度不夠的情況下,將文件優(yōu)先 寫入本地的Cache中。進一步,在上述基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法中, 當上層軟件進行修改文件操作時,將相關(guān)數(shù)據(jù)同時修改到工作站本地的 Cache和網(wǎng)絡存儲設備中所對應的文件上;如果工作站本地的Cache不存在 相關(guān)數(shù)據(jù)文件,則獲取網(wǎng)絡存儲設備中相應文件的大小,在本地的Cache中 創(chuàng)建一個同樣大小的空文件,將寫入的數(shù)據(jù)同時寫到這兩個文件中,同時記
錄寫入的位置,在系統(tǒng)空閑時將其他的數(shù)據(jù)寫入到本地的Cache。進一步,在上述基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法中, 當上層軟件進行刪除文件操作時,先刪除網(wǎng)絡存儲設備中的相關(guān)文件,然后 再刪除本地Cache中的相關(guān)文件;在刪除過程中,如果刪除網(wǎng)絡文件成功, 則無論本地Cache中的文件是否被成功刪除,都返回給上層應用成功的信息。進一步,在上述基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法中, 當上層軟件進行查詢文件操作時,對于應用模式,優(yōu)先使用網(wǎng)絡存儲設備中 的相關(guān)文件返回查詢結(jié)果,如果網(wǎng)絡盤陣發(fā)生故障,則^f吏用本地Cache進行 文件列表查詢;對于遠程存儲等應用模式,優(yōu)先使用本地Cache中的相關(guān)文 件返回查詢結(jié)果。一種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲系統(tǒng),包括視音頻工 作站和網(wǎng)絡存儲設備,其中,在視音頻工作站的上層軟件模塊與本地磁盤之 間,設置一套虛擬的硬盤設備,上層軟件模塊以訪問普通驅(qū)動器的形式對虛 擬的硬盤設備進行操作,虛擬的硬盤設備與網(wǎng)絡存儲設備之間進行數(shù)據(jù)連接。如上所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲系統(tǒng),其中, 虛擬的硬盤設備為 一個或多個虛擬硬盤。如上所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲系統(tǒng),其中, 在本地磁盤的Cache與網(wǎng)絡存儲設備中,均存儲有相關(guān)的視音頻數(shù)據(jù)文件。本發(fā)明的有益效果如下本發(fā)明通過虛擬文件系統(tǒng)技術(shù)在視音頻工作站 的設備層虛擬一套硬盤設備,并在虛擬的系統(tǒng)與網(wǎng)絡盤陣之間建立數(shù)據(jù)聯(lián)系, 在非編工.作站的本地存放一份和盤陣上一樣的素材,將對網(wǎng)絡系統(tǒng)中數(shù)據(jù)文 件的"讀"操作放到虛擬文件系統(tǒng)中予以實現(xiàn),從而,減小了網(wǎng)絡盤陣的使 用壓力,降低了對網(wǎng)絡帶寬的需求,并且可以在系統(tǒng)出現(xiàn)極限狀況下,不中 斷節(jié)目生產(chǎn),保證系統(tǒng)能夠可靠、高速的運行。
圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。圖2為本發(fā)明進行數(shù)據(jù)讀取操作時的流程圖。
圖3為本發(fā)明進行數(shù)據(jù)寫入操作時的流程圖。圖4為本發(fā)明進行數(shù)據(jù)修改操作時的流程圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步詳細的描述。 如圖1所示,基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲系統(tǒng)包括視音 頻工作站和網(wǎng)絡存儲設備--網(wǎng)絡盤陣,在視音頻工作站的上層軟件模塊與本地磁盤之間,通過VFS虛擬文件系統(tǒng)技術(shù)設置一套虛擬的硬盤設備,上層軟件模 塊以訪問普通驅(qū)動器的形式對虛擬的硬盤設備進行操作,虛擬的硬盤設備與網(wǎng) 絡盤陣之間進行數(shù)據(jù)連接。VFS技術(shù)為一種本領(lǐng)域的公知技術(shù),在本發(fā)明中,VFS需要處理以下幾件 主要的事情或功能*在操作系統(tǒng)的設備層虛擬硬盤設備。參當上層在寫文件時,需要在本地Cache (高速緩沖存儲器)和網(wǎng)絡存儲設備中各寫一份。 參當上層在讀文件時,優(yōu)先使用本地Cache中數(shù)據(jù),如果本地Cache中不存在相關(guān)數(shù)據(jù),則從網(wǎng)絡存儲設備中讀取,再傳給上層的同時在本地Cache中保留一j分。
支持對網(wǎng)絡存儲設備的多鏈路冗余,當 一個MDC或NAS頭發(fā)生故障時,自動啟用其他的備用鏈路。 參根據(jù)本地Cache的空間使用情況,以及緩存文件的使用頻率,自動維護本地緩存中文件的生命周期。 參提供簡單的函數(shù)給上層應用,用來確認是否有本地的Cache,以及對可能會用到的文件進行提前的Cache操作。這里需要特別指出的是,上層應用可以不調(diào)用任何VFS的API就可以乂人VFS的基本功能中受益。本發(fā)明可以在任意操作系統(tǒng)平臺中實現(xiàn),與具體的平臺類型無關(guān)。以 Windows操作系統(tǒng)為例,首先開發(fā)一個虛擬硬盤模塊--文件虛擬層,這是虛擬文 件系統(tǒng)的基礎(chǔ),通過該^f莫塊用戶可以在Windows系統(tǒng)中發(fā)現(xiàn)虛擬出來的盤符, 可以在該盤符中進行普通的文件操作,與使用普通的硬盤沒有什么區(qū)別。 對文件系統(tǒng)的上層操作基本有以下幾種讀取、寫入(新建、修改)、刪除、 查詢,這些操作對于文件虛擬層來說的處理程序如下(1) 讀取操作當上層軟件進行讀文件操作時,優(yōu)先使用本地Cache中存儲的數(shù)據(jù),如果 工作站本地的Cache不存在相關(guān)數(shù)據(jù),則從網(wǎng)絡存儲設備中讀取數(shù)據(jù)返回給上 層應用,并在傳給上層的同時在本地的Cache中保留一份相同的數(shù)據(jù)文件。具 體流程見圖2。(2) 寫入操作(新建、修改)當上層軟件進行寫文件操作時,在工作站本地的Cache和網(wǎng)絡存儲設備中 各寫一份,在網(wǎng)絡盤陣速度不夠的情況下,將文件優(yōu)先寫入本地的Cache中。 具體流程見圖3。當上層軟件進行修改文件操作時,將相關(guān)數(shù)據(jù)同時修改到工作站本地的 Cache和網(wǎng)絡存儲設備中所對應的文件上;如果工作站本地的Cache不存在相關(guān) 數(shù)據(jù)文件,則獲取網(wǎng)絡存儲設備中相應文件的大小,在本地的Cache中創(chuàng)建一 個同樣大小的空文件,將寫入的數(shù)據(jù)同時寫到這兩個文件中,同時記錄寫入的 位置,在系統(tǒng)空閑時將其他的數(shù)據(jù)寫入到本地的Cache。具體流程見圖4。(3) 刪除操作當上層軟件進行刪除文件操作時,將本地和網(wǎng)絡盤陣上的素材同時刪除即 可,但刪除要注意,先刪除盤陣素材,然后再刪除本地素材,以便保持數(shù)據(jù)的 一致性。在刪除過程中,如果刪除網(wǎng)絡文件成功,則不管本地Cache文件是否 刪除成功,都返回給上層應用成功的信息。(4 )查詢操作當上層軟件進行查詢文件操作時,也就是獲取文件列表,對于本地Cache 降低帶寬壓力這種需求(或者是應用模式)來說,查詢優(yōu)先使用網(wǎng)絡盤陣,如 果網(wǎng)絡盤陣發(fā)生故障,將會使用本地Cache進行文件列表查詢;對于遠程存儲 等應用模式來說,為了提高對上層應用的響應速度,優(yōu)先使用本地Cache返回 查詢結(jié)果??紤]到在此公開的對本發(fā)明的描述和特殊的實施例,本發(fā)明的其他實施例 對于本領(lǐng)域的技術(shù)人員來說是顯而易見的。這些說明和實施例僅作為例子來考 慮,它們都屬于由所附權(quán)利要求所指示的本發(fā)明的保護范圍和精神之內(nèi)。
權(quán)利要求
1. 一種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法,其特征在于該方法在視音頻工作站操作系統(tǒng)的設備層虛擬一個或多個硬盤設備,當上層軟件進行寫文件操作時,在工作站本地的Cache和網(wǎng)絡存儲設備中各寫一份,當上層軟件進行讀文件操作時,優(yōu)先使用本地Cache中存儲的數(shù)據(jù)。
2. 如權(quán)利要求1所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于當上層軟件進行讀文件操作時,如果工作站本地的Cache 不存在相關(guān)數(shù)據(jù),則從網(wǎng)絡存儲設備中讀取數(shù)據(jù)返回給上層應用,并在傳給 上層的同時在本地的Cache中保留一份相同的數(shù)據(jù)文件。
3. 如權(quán)利要求1或2所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡 存儲方法,其特征在于當上層軟件進行寫文件操作時,在網(wǎng)絡盤陣速度不 夠的情況下,將文件優(yōu)先寫入本地的Cache中。
4. 如權(quán)利要求1所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于當上層軟件進行修改文件操作時,將相關(guān)數(shù)據(jù)同時修改 到工作站本地的Cache和網(wǎng)絡存儲設備中所對應的文件上。
5. 如權(quán)利要求4所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于如果工作站本地的Cache不存在相關(guān)數(shù)據(jù)文件,則獲耳又 網(wǎng)絡存儲設備中相應文件的大小,在本地的Cache中創(chuàng)建一個同樣大小的空 文件,將寫入的數(shù)據(jù)同時寫到這兩個文件中,同時記錄寫入的位置,在系統(tǒng) 空閑時將其他的數(shù)據(jù)寫入到本地的Cache。
6. 如權(quán)利要求1所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于當上層軟件進行刪除文件操作時,先刪除網(wǎng)絡存儲設備 中的相關(guān)文件,然后再刪除本地Cache中的相關(guān)文件。
7. 如權(quán)利要求6所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于在刪除過程中,如果刪除網(wǎng)絡文件成功,則無"i侖本地Cache 中的文件是否被成功刪除,都返回給上層應用成功的信息。
8. 如權(quán)利要求1所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于當上層軟件進行查詢文件操作時,對于應用模式,優(yōu)先 使用網(wǎng)絡存儲設備中的相關(guān)文件返回查詢結(jié)果,如果網(wǎng)絡盤陣發(fā)生故障,則 使用本地Cache進行文件列表查詢。
9. 如權(quán)利要求1所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲 方法,其特征在于當上層軟件進行查詢文件操作時,對于遠程存儲等模式, 優(yōu)先^f吏用本地Cache中的相關(guān)文件返回查詢結(jié)果。
10. —種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲系統(tǒng),包括視音 頻工作站和網(wǎng)絡存儲設備,其特征在于在視音頻工作站的上層軟件模塊與 本地磁盤之間,設置一套虛擬的硬盤設備,上層軟件模塊以訪問普通驅(qū)動器 的形式對虛擬的硬盤設備進行操作,虛擬的硬盤設備與網(wǎng)絡存儲設備之間進 行數(shù)據(jù)連接。
11. 如權(quán)利要求10所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存 儲系統(tǒng),其特征在于虛擬的硬盤設備包括一個或多個虛擬硬盤。
12. 如權(quán)利要求10或11所述的基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡 存儲系統(tǒng),其特征在于在本地磁盤的Cache與網(wǎng)絡存儲設備中,均存儲相關(guān) 的視音頻數(shù)據(jù)文件。
全文摘要
本發(fā)明屬于網(wǎng)絡數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體涉及一種基于本地緩存和虛擬文件系統(tǒng)技術(shù)的網(wǎng)絡存儲方法及系統(tǒng)。該方法在視音頻工作站操作系統(tǒng)的設備層虛擬一個或多個硬盤設備,虛擬的硬盤設備設在上層軟件模塊與本地磁盤之間,上層軟件模塊以訪問普通驅(qū)動器的形式對虛擬的硬盤設備進行操作,虛擬的硬盤設備與網(wǎng)絡存儲設備之間進行數(shù)據(jù)連接,當上層軟件進行寫文件操作時,在工作站本地的Cache和網(wǎng)絡存儲設備中各寫一份,當上層軟件進行讀文件操作時,優(yōu)先使用本地Cache中存儲的數(shù)據(jù)。本發(fā)明減小了網(wǎng)絡盤陣的使用壓力,降低了對網(wǎng)絡帶寬的需求,并且可以在系統(tǒng)出現(xiàn)極限狀況下,不中斷節(jié)目生產(chǎn),保證系統(tǒng)能夠可靠、高速的運行。
文檔編號G06F17/30GK101398821SQ20071012244
公開日2009年4月1日 申請日期2007年9月26日 優(yōu)先權(quán)日2007年9月26日
發(fā)明者王弋珵 申請人:新奧特硅谷視頻技術(shù)有限責任公司