專利名稱:一種流媒體存儲系統(tǒng)及存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種流媒體存儲系統(tǒng)及存儲方法。
背景技術(shù):
流媒體是指以流的方式在網(wǎng)絡中傳輸音頻、視頻和多媒體文件的形式;流媒體文件格式是支持采用流式傳輸及播放的媒體格式。流式傳輸方式是將視頻和音頻等多媒體文件經(jīng)過特殊的壓縮方式分成一個個壓縮包,由服務器向用戶計算機連續(xù)、實時傳送。在采用流式傳輸方式的系統(tǒng)中,用戶不必像非流式播放那樣等到整個文件全部下載完畢后才能看到當中的內(nèi)容,而是只需要經(jīng)過幾秒鐘或幾十秒的啟動延時即可在用戶計算機上利用相應的播放器對壓縮的視頻或音頻等流式媒體文件進行播放,剩余的部分將繼續(xù)進行下載,直至播放完畢。這個過程的一系列相關(guān)的包稱為“流”,流媒體實際指的是一種新的媒體傳送方式,而非一種新的媒體。流媒體技術(shù)全面應用后,人們在網(wǎng)上聊天可直接語音輸入;如果想彼此看見對方的容貌、表情,只要雙方各有一個攝像頭就可以了 ;在網(wǎng)上看到感興趣的商品,點擊以后,講解員和商品的影像就會跳出來;更有真實感的影像新聞也會出現(xiàn)。與流媒體文件被分成多個文件進行存儲的形式相對應,現(xiàn)有技術(shù)對流媒體的應用中,技術(shù)人員會將分成的多個文件分別存儲到多個服務器上,這是因為單一的存儲節(jié)點,不僅制約了用戶并發(fā)數(shù),影響著系統(tǒng)的安全性和可靠性,同時造價昂貴,在維護和數(shù)據(jù)恢復速率方面也存在著較大缺陷,所以將流媒體文件分成多個文件分別存儲到多個服務器上,可以有效解決以上問題。但是隨著流媒體的廣泛應用、以及網(wǎng)絡時代不斷進步,接入網(wǎng)絡中的終端設(shè)備變得越來越多,網(wǎng)絡的傳輸速度成為了人們使用網(wǎng)絡的重要考慮因素,流媒體的出現(xiàn)以及應用,有效解決了多終端設(shè)備的并發(fā)問題,但是對于其網(wǎng)絡傳輸而言,依然取決于其所在網(wǎng)絡的傳輸速度,而沒有有效的方法對其進行改善。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種不僅能夠解決多終端訪問時出現(xiàn)的并發(fā)問題,而且能夠有效提高流媒體文件網(wǎng)絡訪問速度的流媒體存儲系統(tǒng)。與此相應,本發(fā)明所要解決的技術(shù)問題是提供一種基于本發(fā)明設(shè)計的流媒體存儲系統(tǒng),不僅解決多終端訪問時出現(xiàn)的并發(fā)問題,而且能夠有效提高對流媒體文件的訪問速度的存儲方法。本發(fā)明為了解決上述技術(shù)問題采用以下技術(shù)方案:本發(fā)明設(shè)計了一種流媒體存儲系統(tǒng),包括終端設(shè)備、中心服務器、和至少兩個存儲服務器;各個所需存儲的流媒體文件分別經(jīng)中心服務器分割成至少兩個子流媒體文件,分別存儲在各存儲服務器中;終端設(shè)備向中心服務器發(fā)送流媒體請求指令,中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備;還包括與各存儲服務器一并用于分別存儲各個子流媒體文件的緩存服務器,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述緩存服務器和各個存儲服務器分別包括與之對應的各個計數(shù)模塊,分別對其內(nèi)部子流媒體文件的被調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器。本發(fā)明所述一種流媒體存儲系統(tǒng)采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
(1)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)在采用多個存儲服務器針對流媒體文件劃分為多個文件進行分別存儲的基礎(chǔ)之上,增設(shè)緩存服務器能夠有效提高終端設(shè)備對流媒體文件的讀取速度;
(2)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)中,針對緩存服務器和各個存儲服務器,分別設(shè)置與之對應的計數(shù)模塊,可以方便統(tǒng)計出各流媒體文件的被訪問次數(shù),可以在日后有針對性的對存儲的流媒體文件進行更新。與此相應,本發(fā)明為了解決上述技術(shù)問題采用以下技術(shù)方案:本發(fā)明還設(shè)計了一種流媒體存儲系統(tǒng)的存儲方法,包括如下步驟:
步驟1.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文件,分別隨機存儲在各個存儲服務器中,并建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;
步驟2.中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備;
所述步驟I中,中心服務器將各個流媒體文件分別分割后的各個子流媒體文件,分別隨機存儲在緩存服務器和各個存儲服務器中;
所述步驟2中,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I包括如下步驟:
步驟a.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文
件;
步驟b.中心服務器將分別對應于各個所需存儲的流媒體文件的各個第一段子流媒體文件存儲在緩存服務器中,其余各個子流媒體文件分別隨機存儲在各個存儲服務器中;步驟c.中心服務器根據(jù)針對各個子流媒體文件的存儲,建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I之后還包括如下步驟I,步驟I與步驟2同時進行,步驟I如下: 所述緩存服務器和各個存儲服務器中的計數(shù)模塊,分別對其內(nèi)部子流媒體文件的調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器,中心服務器根據(jù)各個子流媒體文件被調(diào)用次數(shù)的統(tǒng)計結(jié)果、以及事先設(shè)定的熱門流媒體調(diào)用次數(shù)閥值、冷門流媒體調(diào)用次數(shù)閥值,確定熱門流媒體文件和冷門流媒體文件。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I中,針對所述熱門流媒體文件還包括如下步驟:
所述中心服務器針對熱門流媒體文件存儲在各個存儲服務器上的各個子流媒體文件,隨機選取至少一段子流媒體文件,將其復制至緩存服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;同時,將熱門流媒體文件整體備份至緩存服務器。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I中,針對所述冷門流媒體文件還包括如下步驟:
所述中心服務器針對冷門流媒體文件存儲在緩存服務器上的子流媒體文件進行分析判斷:若判斷存在除第一段子流媒體文件之外的其它子流媒體文件,則隨機選取至少一段其它子流媒體文件,將其從緩存服務器中刪除,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;
若判斷不存在除第一段子流媒體文件之外的其它子流媒體文件,則將該第一段子流媒體文件剪切至隨機選擇的一個存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。作為本發(fā)明的一種優(yōu)選技術(shù)方案:還包括步驟i,步驟i在步驟I之前進行或與步驟1、步驟2同時進行,步驟i如下:
所述各個存儲服務器分別在指定時間間隔內(nèi)對其并發(fā)訪問情況和存儲容量情況進行檢測,并將檢測結(jié)果上傳至所述中心服務器,中心服務器根據(jù)接收到的檢測結(jié)果,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,再根據(jù)劃分結(jié)果對待存儲的流媒體文件進行存儲。作為本發(fā)明的一種優(yōu)選技術(shù)方案:如果所述各個存儲服務器中的某個服務器在指點時間間隔內(nèi)未向中心服務器上傳其并發(fā)訪問情況和存儲容量情況的檢測結(jié)果,則中心服務器將其劃分為故障存儲服務器,并針對故障存儲服務器觸發(fā)容錯調(diào)度策略,同時,更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述容錯調(diào)度策略包括如下步驟:
所述中心服務器查找所述緩存服務器中是否存在與所述故障服務器中子流媒體文件對應的備份流媒體文件,若存在,則將備份流媒體文件復制至隨機選取的一個有效存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。本發(fā)明所述一種流媒體存儲系統(tǒng)的存儲方法采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
(I)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,將各個流媒體文件分別分割后的各個子流媒體文件,分別隨機存儲在緩存服務器和各個存儲服務器中,通過增設(shè)緩存服務器能夠有效提高流媒體文件的訪問速度,改善流媒體文件的網(wǎng)絡傳輸效率; (2)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,在各個流媒體文件分割后的各個子流媒體文件中,將與各個流媒體文件對應的第一段子流媒體文件存儲在緩存服務器中,能夠有針對性的提高第一段子流媒體文件的訪問速度,進而提高終端設(shè)備針對流媒體文件整個訪問過程的訪問速度;
(3)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法中,針對存儲的流媒體文件,通過對其被訪問次數(shù)的計數(shù),將其劃分為熱門流媒體文件和冷門流媒體文件,再分別對熱門流媒體文件和冷門流媒體文件進行相應的存儲更新,不僅能夠為終端訪問提供內(nèi)容方面的索引,而且能夠?qū)α髅襟w文件的存儲做出合理的規(guī)劃,提高存儲流媒體文件的整體訪問效率;
(4)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,針對流媒體文件的存儲過程中,在指定時間間隔內(nèi),檢測各存儲服務器的并發(fā)訪問情況和存儲容量情況,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,可以有效提高流媒體文件的存儲效率、以及終端設(shè)備對流媒體文件的訪問速度;
(5)本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法中,針對故障存儲服務器,中心服務器采用了容錯調(diào)度策略,能夠最大程度保證終端設(shè)備對流媒體文件的訪問。
圖1是本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合說明書附圖對本發(fā)明的具體實施方式
作進一步詳細的說明。如圖1所示,本發(fā)明設(shè)計了一種流媒體存儲系統(tǒng),包括終端設(shè)備、中心服務器、和至少兩個存儲服務器;各個所需存儲的流媒體文件分別經(jīng)中心服務器分割成至少兩個子流媒體文件,分別存儲在各存儲服務器中;終端設(shè)備向中心服務器發(fā)送流媒體請求指令,中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備;還包括與各存儲服務器一并用于分別存儲各個子流媒體文件的緩存服務器,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)在采用多個存儲服務器針對流媒體文件劃分為多個文件進行分別存儲的基礎(chǔ)之上,增設(shè)緩存服務器能夠有效提高終端設(shè)備對流媒體文件的讀取速度。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述緩存服務器和各個存儲服務器分別包括與之對應的各個計數(shù)模塊,分別對其內(nèi)部子流媒體文件的被調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)中,針對緩存服務器和各個存儲服務器,分別設(shè)置與之對應的計數(shù)模塊,可以方便統(tǒng)計出各流媒體文件的被訪問次數(shù),可以在日后有針對性的對存儲的流媒體文件進行更新。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)在實際的應用過程當中,將待存儲的流媒體文件經(jīng)中心服務器分割成至少兩個子流媒體文件,分別存儲到緩存服務器和各個存儲服務器中,終端設(shè)備向中心服務器發(fā)出讀寫流媒體的請求指令,中心服務器接收終端設(shè)備發(fā)出的流媒體請求指令,并根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備,進而實現(xiàn)終端設(shè)備對流媒體文件的讀取,在解決多終端并發(fā)問題的同時,有效提高了終端設(shè)備對流媒體的訪問速度。其中,針對流媒體文件的分割存儲過程中,屬于同一個流媒體文件的多個子流媒體文件采用隨機函數(shù)思想,確定其的存儲信息,并盡可能的將子流媒體文件均勻的分別保存在緩存服務器和各個存儲服務器里;在針對流媒體文件進行分割存儲的過程中,建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,并存儲在中心服務器中。這樣通過中心服務器對存儲的流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系進行維護,并使終端設(shè)備根據(jù)獲得的存儲信息直接與緩存服務器和各存儲服務器進行通訊,讀取指定流媒體文件。與此相應,本發(fā)明為了解決上述技術(shù)問題采用以下技術(shù)方案:本發(fā)明還設(shè)計了一種流媒體存儲系統(tǒng)的存儲方法,包括如下步驟:
步驟1.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文件,分別隨機存儲在各個存儲服務器中,并建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;
步驟2.中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備;
所述步驟I中,中心服務器將各個流媒體文件分別分割后的各個子流媒體文件,分別隨機存儲在緩存服務器和各個存儲服務器中;
所述步驟2中,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,將各個流媒體文件分別分割后的各個子流媒體文件,分別隨機存儲在緩存服務器和各個存儲服務器中,通過增設(shè)緩存服務器能夠有效提高流媒體文件的訪問速度,改善流媒體文件的網(wǎng)絡傳輸效率。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I包括如下步驟:
步驟a.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文
件;
步驟b.中心服務器將分別對應于各個所需存儲的流媒體文件的各個第一段子流媒體文件存儲在緩存服務器中,其余各個子流媒體文件分別隨機存儲在各個存儲服務器中;步驟C.中心服務器根據(jù)針對各個子流媒體文件的存儲,建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,在各個流媒體文件分割后的各個子流媒體文件中,將與各個流媒體文件對應的第一段子流媒體文件存儲在緩存服務器中,能夠有針對性的提高第一段子流媒體文件的訪問速度,進而提高終端設(shè)備針對流媒體文件整個訪問過程的訪問速度。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I之后還包括如下步驟I,步驟I與步驟2同時進行,步驟I如下:
所述緩存服務器和各個存儲服務器中的計數(shù)模塊,分別對其內(nèi)部子流媒體文件的調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器,中心服務器根據(jù)各個子流媒體文件被調(diào)用次數(shù)的統(tǒng)計結(jié)果、以及事先設(shè)定的熱門流媒體調(diào)用次數(shù)閥值、冷門流媒體調(diào)用次數(shù)閥值,確定熱門流媒體文件和冷門流媒體文件。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I中,針對所述熱門流媒體文件還包括如下步驟:
所述中心服務器針對熱門流媒體文件存儲在各個存儲服務器上的各個子流媒體文件,隨機選取至少一段子流媒體文件,將其復制至緩存服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;同時,將熱門流媒體文件整體備份至緩存服務器。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟I中,針對所述冷門流媒體文件還包括如下步驟:
所述中心服務器針對冷門流媒體文件存儲在緩存服務器上的子流媒體文件進行分析判斷:若判斷存在除第一段子流媒體文件之外的其它子流媒體文件,則隨機選取至少一段其它子流媒體文件,將從緩存服務器中刪除,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;
若判斷不存在除第一段子流媒體文件之外的其它子流媒體文件,則將該第一段子流媒體文件剪切至隨機選擇的一個存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法中,針對存儲的流媒體文件,通過對其被訪問次數(shù)的計數(shù),將其劃分為熱門流媒體文件和冷門流媒體文件,再分別對熱門流媒體文件和冷門流媒體文件進行相應的存儲更新,不僅能夠為終端訪問提供內(nèi)容方面的索引,而且能夠?qū)α髅襟w文件的存儲做出合理的規(guī)劃,提高存儲流媒體文件的整體訪問效率。作為本發(fā)明的一種優(yōu)選技術(shù)方案:還包括步驟i,步驟i在步驟I之前進行或與步驟1、步驟2同時進行,步驟i如下:
所述各個存儲服務器分別在指定時間間隔內(nèi)對其并發(fā)訪問情況和存儲容量情況進行檢測,并將檢測結(jié)果上傳至所述中心服務器,中心服務器根據(jù)接收到的檢測結(jié)果,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,再根據(jù)劃分結(jié)果對待存儲的流媒體文件進行存儲,其中,對非有效存儲服務器進行清理操作。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法,針對流媒體文件的存儲過程中,在指定時間間隔內(nèi),檢測各存儲服務器的并發(fā)訪問情況和存儲容量情況,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,可以有效提高流媒體文件的存儲效率、以及終端設(shè)備對流媒體文件的訪問速度。作為本發(fā)明的一種優(yōu)選技術(shù)方案:如果所述各個存儲服務器中的某個服務器在指點時間間隔內(nèi)未向中心服務器上傳其并發(fā)訪問情況和存儲容量情況的檢測結(jié)果,則中心服務器將其劃分為故障存儲服務器,并針對故障存儲服務器觸發(fā)容錯調(diào)度策略,同時,更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法中,針對故障存儲服務器,中心服務器采用了容錯調(diào)度策略,能夠最大程度保證終端設(shè)備對流媒體文件的訪問。作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述容錯調(diào)度策略包括如下步驟:
所述中心服務器查找所述緩存服務器中是否存在與所述故障服務器中子流媒體文件對應的備份流媒體文件,若存在,則將備份流媒體文件復制至隨機選取的一個有效存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法在實際的應用過程當中,在針對流媒體文件分割成至少兩個子流媒體文件進行存儲過程中,將其分別存儲在緩存服務器和各個存儲服務器當中,其中,中心服務器將分別對應于各個流媒體文件的各個第一段子流媒體文件存儲在緩存服務器中,其余各個子流媒體文件分別隨機存儲在各個存儲服務器中,之后,在終端設(shè)備對流媒體文件訪問的過程中,中心服務器根據(jù)各流媒體文件的被訪問次數(shù),將各流媒體文件劃分為熱門流媒體文件和冷門流媒體文件,并針對熱門流媒體文件和冷門流媒體文件的存儲位置進行優(yōu)化調(diào)整,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中,具體的優(yōu)化調(diào)整過程如下:
針對所述熱門流媒體文件還包括如下步驟:
所述中心服務器針對熱門流媒體文件存儲在各個存儲服務器上的各個子流媒體文件,隨機選取至少一段子流媒體文件,將其復制至緩存服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;同時,將熱門流媒體文件整體備份至緩存服務器。針對所述冷門流媒體文件還包括如下步驟:
所述中心服務器針對冷門流媒體文件存儲在緩存服務器上的子流媒體文件進行分析判斷:若判斷存在除第一段子流媒體文件之外的其它子流媒體文件,則隨機選取至少一段其它子流媒體文件,將其從緩存服務器中刪除,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;具體實施為,利用隨機策略選取若干個屬于該冷門流媒體文件的子流媒體文件,具體個數(shù)應根據(jù)當前緩存服務器中該冷門流媒體文件的子流媒體文件個數(shù)來動態(tài)制定,如緩存服務器中屬于該冷門流媒體文件的子流媒體文件總數(shù)的一半(向上取整),但是其中讀取次數(shù)最多的子流媒體文件保留,即如果選取到剪切的子流媒體文件為緩存服務器中該冷門流媒體文件中,讀取次數(shù)最多的子流媒體文件,則重新進行選取,完成整個剪切步驟后,由中心服務器對各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系進行更新,并存儲在中心服務器中。若判斷不存在除第一段子流媒體文件之外的其它子流媒體文件,則將該第一段子流媒體文件剪切至隨機選擇的一個存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。基于以上針對熱門流媒體文件和冷門流媒體文件的存儲位置的優(yōu)化調(diào)整,可以有效提高終端設(shè)備對流媒體文件的訪問效率,有效優(yōu)化了熱門流媒體文件的訪問速度。實際應用過程當中,所述各個存儲服務器分別在指定時間間隔內(nèi)對其并發(fā)訪問情況和存儲容量情況進行檢測,并將檢測結(jié)果上傳至所述中心服務器,中心服務器根據(jù)接收到的檢測結(jié)果,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,再根據(jù)劃分結(jié)果對待存儲的流媒體文件進行存儲,這樣在針對待存儲流媒體文件進行存儲時,能夠合理的安排存儲位置,有效提高對流媒體文件的存儲和訪問效率。其中,當某個存儲服務器被劃分為非有效存儲服務器,則該存儲服務器將被取消對待存儲流媒體文件的存儲操作,并同時停止響應終端設(shè)備還未對該非有效存儲服務器進行的數(shù)據(jù)讀取操作,直至該存儲服務器并發(fā)訪問情況大幅度降低,同時再度擁有合理的剩余存儲容量,則重新將該存儲服務器劃分為有效存儲服務器,參與對待存儲流媒體文件的存儲操作,其中,采取與針對緩存服務器中冷門流媒體文件不同的操作方法,對非有效存儲服務器中對應的子流媒體文件進行清理。中心服務器命令該存儲服務器觸發(fā)內(nèi)部清理調(diào)度,基于各個子流媒體文件的調(diào)用次數(shù)來確定清理名單,然后執(zhí)行清理操作,同時停止響應終端設(shè)備對該存儲服務器還未進行的流媒體請求指令,直至該非有效存儲服務器重新?lián)碛泻侠淼氖S啻鎯臻g,同時該非有效存儲節(jié)點接受的并發(fā)用戶數(shù)大幅度降低,中心服務器重新定義其為有效存儲服務器,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;其中清理操作包括根據(jù)清理名單,將調(diào)用次數(shù)低的子流媒體文件刪除;或是將調(diào)用次數(shù)低的子流媒體文件剪切至隨機選取的其它有效存儲服務器中。在針對故障存儲服務器的容錯調(diào)度策略,能夠最大限度的保證終端設(shè)備對流媒體文件的成功訪問。更進一步,當故障存儲服務器在指定時間間隔內(nèi)再次恢復發(fā)送其并發(fā)訪問情況和存儲容量情況的檢測結(jié)果,中心服務器撤銷對其故障存儲服務器的劃分,其中具體容錯調(diào)度策略為所述中心服務器查找所述緩存服務器中是否存在與所述故障服務器中子流媒體文件對應的備份流媒體文件,若存在,則將備份流媒體文件復制至隨機選取的一個有效存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。其中,各存儲服務器的存儲容量情況包括存儲最大容量、當前存儲容量、剩余存儲容量,根據(jù)各存儲服務器的并發(fā)訪問情況和存儲容量情況,中心服務器將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,再根據(jù)劃分結(jié)果對待存儲的流媒體文件進行存儲。實際應用過程中,各存儲服務器下轄若干IDE RAID硬盤,組成RAIDI存儲架構(gòu),保證單一存儲服務器有效的響應多個用戶的并發(fā)服務。以上針對流媒體存儲系統(tǒng)的存儲方法中,中心服務器對每次更新的各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系進行動態(tài)保存維護。基于以上針對流媒體存儲系統(tǒng)的存儲方法,終端設(shè)備對于各流媒體文件的訪問依然遵循如下:
終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備,進而實現(xiàn)終端設(shè)備對流媒體文件的讀取。本發(fā)明設(shè)計的流媒體存儲系統(tǒng)的存儲方法中,通過定期對緩存服務器中和各個存儲服務器中的各個子流媒體文件進行整體清理、調(diào)整,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中,可以有效提高本流媒體存儲系統(tǒng)的存儲以及應用效率。綜上所述,本發(fā)明提供了一種流媒體存儲系統(tǒng)及存儲方法,引入緩存服務器,同時均衡的把流媒體文件分布式的保存在緩存服務器和各個存儲服務器中,并根據(jù)各個存儲服務器的并發(fā)訪問情況和存儲容量情況確定每一次參與存儲過程的存儲服務器。同時基于熱門流媒體文件和冷門流媒體文件的劃分,以及針對熱門流媒體文件和冷門流媒體文件存儲位置的優(yōu)化調(diào)整,提高了熱門流媒體文件的訪問速率;不僅如此,同時利用熱門流媒體文件在緩存服務器中的備份文件,通過容錯調(diào)度策略最大程度的保護熱門流媒體文件的訪問。上面結(jié)合附圖對本發(fā)明的實施方式作了詳細說明,但是本發(fā)明并不限于上述實施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。
權(quán)利要求
1.一種流媒體存儲系統(tǒng),包括終端設(shè)備、中心服務器、和至少兩個存儲服務器;各個所需存儲的流媒體文件分別經(jīng)中心服務器分割成至少兩個子流媒體文件,分別存儲在各存儲服務器中;終端設(shè)備向中心服務器發(fā)送流媒體請求指令,中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備;其特征在于:還包括與各存儲服務器一并用于分別存儲各個子流媒體文件的緩存服務器,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。
2.根據(jù)權(quán)利要求1所述一種流媒體存儲系統(tǒng),其特征在于:所述緩存服務器和各個存儲服務器分別包括與之對應的各個計數(shù)模塊,分別對其內(nèi)部子流媒體文件的被調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器。
3.一種基于根據(jù)權(quán)利要求1至2中任意一項所述一種流媒體存儲系統(tǒng)的存儲方法,包括如下步驟: 步驟1.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文件,分別隨機存儲在各個存儲服務器中,并建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中 心服務器中; 步驟2.中心服務器根據(jù)各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系、以及終端設(shè)備的流媒體請求指令,調(diào)用指定流媒體文件對應其子流媒體文件的存儲信息,反饋給終端設(shè)備,終端設(shè)備再根據(jù)獲得的存儲信息,向存儲信息中指定的各存儲服務器發(fā)送流媒體請求指令,再由指定的各存儲服務器將指定流媒體文件的各個子流媒體文件發(fā)送至終端設(shè)備; 其特征在于: 所述步驟I中,中心服務器將各個流媒體文件分別分割后的各個子流媒體文件,分別隨機存儲在緩存服務器和各個存儲服務器中; 所述步驟2中,終端設(shè)備根據(jù)由中心服務器獲得的存儲信息,向存儲信息中指定的緩存服務器和各存儲服務器發(fā)送流媒體請求指令,再由指定的緩存服務器和各存儲服務器將指定流媒體文件的子流媒體文件發(fā)送至終端設(shè)備。
4.根據(jù)權(quán)利要求3所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:所述步驟I包括如下步驟: 步驟a.中心服務器將各個所需存儲的流媒體文件分別分割成至少兩個子流媒體文件; 步驟b.中心服務器將分別對應于各個所需存儲的流媒體文件的各個第一段子流媒體文件存儲在緩存服務器中,其余各個子流媒體文件分別隨機存儲在各個存儲服務器中; 步驟c.中心服務器根據(jù)針對各個子流媒體文件的存儲,建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。
5.根據(jù)權(quán)利要求4所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:所述步驟I之后還包括如下步驟I,步驟I與步驟2同時進行,步驟I如下:所述緩存服務器和各個存儲服務器中的計數(shù)模塊,分別對其內(nèi)部子流媒體文件的調(diào)用次數(shù)進行計數(shù),并在指定時間間隔將計數(shù)結(jié)果發(fā)送至所述中心服務器,中心服務器根據(jù)各個子流媒體文件被調(diào)用次數(shù)的統(tǒng)計結(jié)果、以及事先設(shè)定的熱門流媒體調(diào)用次數(shù)閥值、冷門流媒體調(diào)用次數(shù)閥值,確定熱門流媒體文件和冷門流媒體文件。
6.根據(jù)權(quán)利要求5所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:所述步驟I中,針對所述熱門流媒體文件還包括如下步驟: 所述中心服務器針對熱門流媒體文件存儲在各個存儲服務器上的各個子流媒體文件,隨機選取至少一段子流媒體文件,將其復制至緩存服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中;同時,將熱門流媒體文件整體備份至緩存服務器。
7.根據(jù)權(quán)利要求5或6所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:所述步驟I中,針對所述冷門流媒體文件還包括如下步驟: 所述中心服務器針對冷門流媒體文件存儲在緩存服務器上的子流媒體文件進行分析判斷:若判斷存在除第一段子流媒體文件之外的其它子流媒體文件,則隨機選取至少一段其它子流媒體文件,將其從緩存服務器中刪除,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中; 若判斷不存在除第一段子流媒體文件之外的其它子流媒體文件,則將該第一段子流媒體文件剪切至隨機選擇的一個存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。
8.根據(jù)權(quán)利要求3或4所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:還包括步驟i,步驟i在步驟I之前進行或與步驟1、步驟2同時進行,步驟i如下: 所述各個存儲服務器分別在指定時間間隔內(nèi)對其并發(fā)訪問情況和存儲容量情況進行檢測,并將檢測結(jié)果上傳至所述中心服務器,中心服務器根據(jù)接收到的檢測結(jié)果,將各個存儲服務器分別劃分為有效存儲服務器或非有效存儲服務器,再根據(jù)劃分結(jié)果對待存儲的流媒體文件進行存儲。
9.根據(jù)權(quán)利要求8所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:如果所述各個存儲服務器中的某個服務器在指點時間間隔內(nèi)未向中心服務器上傳其并發(fā)訪問情況和存儲容量情況的檢測結(jié)果,則中心服務器將其劃分為故障存儲服務器,并針對故障存儲服務器觸發(fā)容錯調(diào)度策略,同時,更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。
10.根據(jù)權(quán)利要求9所述一種流媒體存儲系統(tǒng)的存儲方法,其特征在于:所述容錯調(diào)度策略包括如下步驟: 所述中心服務器查找所述緩存服務器中是否存在與所述故障服務器中子流媒體文件對應的備份流媒體文件 ,若存在,則將備份流媒體文件復制至隨機選取的一個有效存儲服務器中,并更新各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系,存儲在中心服務器中。
全文摘要
本發(fā)明涉及一種流媒體存儲系統(tǒng),包括終端設(shè)備、中心服務器、緩存服務器和至少兩個存儲服務器,針對流媒體文件分割后的至少兩個子流媒體文件,采用緩存服務器和各個存儲服務器分別進行存儲,并在中心服務器中建立各流媒體文件對應其子流媒體文件存儲信息的映射關(guān)系;其中,終端設(shè)備根據(jù)由中心服務器獲得的指定流媒體文件對應其子流媒體文件的存儲信息,向緩存服務器和各個存儲服務器發(fā)送流媒體請求,并得到指定流媒體文件的反饋;同時,本發(fā)明還涉及基于該流媒體存儲系統(tǒng)的存儲方法,通過該系統(tǒng)和方法,不僅能夠解決多終端訪問時出現(xiàn)的并發(fā)問題,而且能夠有效提高流媒體文件網(wǎng)絡訪問速度。
文檔編號H04N21/231GK103200272SQ20131013447
公開日2013年7月10日 申請日期2013年4月18日 優(yōu)先權(quán)日2013年4月18日
發(fā)明者白光偉, 俞浚, 沈航, 曹磊, 張芃 申請人:南京工業(yè)大學