網絡視頻直播的緩存方法及裝置的製作方法
2023-06-01 22:25:26 1
專利名稱:網絡視頻直播的緩存方法及裝置的製作方法
技術領域:
本發明涉及網絡視頻流媒體傳輸技術領域,尤其涉及一種網絡視頻直播的緩存方法及裝置。
背景技術:
P2P (Peer to Peer network,對等網絡)是當前應用在流媒體傳輸領域中的主流網絡技術,相對於傳統的C/S (Client/Server,客戶端/伺服器)技術而言,P2P技術的最大特點是各個節點之間可以直接通信且同時具有伺服器和客戶端的功能,還具有路由和高速緩存的功能,並不單一依賴集中式伺服器節點。由於上述功能特點,P2P網絡技術被廣泛應用在網絡流媒體系統中。現有技術的P2P網絡直播系統中,往往忽視對節點從緩存伺服器獲取數據的策略 考慮。雖然緩存伺服器在P2P網絡模式中的壓力,相比在傳統的C/S模式下已經大大減小,但緩存伺服器仍要面對實時地從外部獲取新的數據和及時地在P2P網絡中發布數據的巨大壓力;尤其是當新的視頻流數據剛剛到達緩存伺服器時,此時P2P網絡中的節點沒有該新的數據流;如果P2P網絡中沒有一個好的策略來處理這種情況,那麼所有的節點都將開始從緩存伺服器上獲取新的數據,伺服器的壓力會陡然增加,從而導致與伺服器連結的鏈路擁塞、數據傳輸速率降低、數據丟包率增大等負面影響。
發明內容
本發明的主要目的是提供一種網絡視頻直播的緩存方法及裝置,旨在解決網絡視頻直播伺服器因緩存壓力而帶來的一系列問題。本發明公開了一種網絡視頻直播的緩存方法,包括以下步驟步驟S01、若當前節點Peer獲取的數據來源包含緩存伺服器節點PA,則根據所述Peer節點的狀態信息,檢測所述Peer節點的緩存數據是否達到預設閾值;步驟S02、在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。優選地,所述步驟S02具體包括根據所述Peer節點的緩存數據,獲取所述緩存數據支持Peer節點播放器繼續播放的播放時間;根據所述播放時間及緩存數據的獲取速率,設定所述Peer節點暫停從所述PA獲取數據的暫停時間。優選地,所述步驟S02之後還包括步驟步驟S03、在所述暫停時間達到後,所述Peer節點繼續獲取數據。優選地,所述步驟S03具體包括在所述暫停時間達到後,所述Peer節點獲取當前每個所述節點的狀態信息;判斷對等節點PO是否能夠滿足所述Peer節點播放器的播放要求;
若是,則Peer節點停止從所述PA節點獲取數據;若否,則根據所述Peer節點獲取的數據來源,進行相應操作。優選地,所述步驟S03中在所述暫停時間達到後,觸發所述Peer節點即刻獲取當前每個所述節點的狀態信息;但在暫停之前,所述Peer節點根據預置時間間隔周期性獲取當前每個所述節點的狀態信息。本發明還公開一種網絡視頻直播的緩存裝置,包括數據檢測模塊,用於在Peer節點獲取的數據來源包含PA節點時,根據所述Peer節點的狀態信息,檢測所述Peer節點的緩存數據是否達到預設閾值;數據緩存模塊,用於在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。·
優選地,所述數據緩存模塊具體用於根據所述Peer節點的緩存數據,獲取所述緩存數據支持Peer節點播放器繼續播放的播放時間;根據所述播放時間及緩存數據的獲取速率,設定所述Peer節點暫停從所述PA獲取數據的暫停時間。優選地,所述網絡視頻直播的緩存裝置,還包括數據獲取模塊,用於在所述暫停時間達到後,所述Peer節點繼續獲取數據。優選地,所述數據獲取模塊具體包括狀態信息獲取單元,用於在所述暫停時間達到後,所述Peer節點獲取當前每個所述節點的狀態信息;數據來源識別單元,用於判斷PO節點是否能夠滿足所述Peer節點播放器的播放要求;若是,則Peer節點停止從所述PA節點獲取數據;若否,則根據所述Peer節點獲取的數據來源,進行相應操作。優選地,所述狀態信息獲取單元在所述暫停時間達到後,觸發所述Peer節點即刻獲取當前每個所述節點的狀態信息;但在暫停之前,所述Peer節點根據預置時間間隔周期性獲取當前每個所述節點的狀態信息。本發明通過在Peer節點獲取的數據來源包含PA節點時,根據Peer節點的狀態信息,檢測Peer節點的緩存數據是否達到預設閾值、若是,則根據緩存數據的獲取速率,設定暫停時間,暫停Peer節點從PA節點獲取數據的方法,具有降低直播伺服器壓力的有益效果,提高了緩存伺服器運行的穩定性和服務功能的可靠性。
圖I是本發明P2P網絡對等節點一應用場景示意圖;圖2是本發明網絡視頻直播的緩存方法第一實施例流程示意圖;圖3是本發明網絡視頻直播的緩存方法第二實施例流程示意圖;圖4是本發明網絡視頻直播的緩存裝置第一實施例結構示意圖;圖5是本發明網絡視頻直播的緩存裝置第二實施例結構示意圖;圖6是本發明網絡視頻直播的緩存裝置中數據獲取模塊一實施例結構示意圖。本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施例方式以下結合說明書附圖及具體實施例進一步說明本發明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。參照圖1,圖I是本發明P2P網絡對等節點一應用場景示意圖;如圖I所示,本發明實施例中,對網絡中的所有對等節點分成三類Peer :圖I所示的當前節點,從P2P網絡中的其他對等節點獲取數據;PA :緩存伺服器節點,如圖I中的Acc節點,PA節點具有為整個P2P網絡獲取外部資源和加速節點間數據獲取速率的功能;PO :除去PA節點,與所述Peer節點相連通的其他節點的總稱。
本發明具體實施例將直接採用上述節點進行具體實施方式
的描述,對上述節點的具體描述,後續將不再贅述。參照圖2,圖2是本發明網絡視頻直播的緩存方法第一實施例流程示意圖;如圖2所示,本發明網絡視頻直播的緩存方法具體包括以下步驟步驟S01、若Peer節點獲取的數據來源包含PA節點,則根據Peer節點的狀態信息,檢測Peer節點的緩存數據是否達到預設閾值;判斷Peer節點獲取數據的來源。如果數據來源只有PO節點,則繼續獲取資源;如果數據來源包含PA節點,則根據所述Peer節點的狀態信息,檢測該Peer節點的數據緩存區,並判斷Peer節點的緩存數據是否達到設定的閾值,如圖I中的數據緩存閾值。在一優選的實施例中,在P2P網絡中,所述Peer節點根據預置時間間隔周期性地獲取與所述Peer節點相連通的每個節點的狀態信息。步驟S02、在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。若Peer節點的緩存數據達到設定的閾值,則該緩存數據能夠支持播放器繼續播放一段時間;根據該緩存數據,計算該緩存數據能夠支持播放器持續播放的播放時間T T=M/bps ;(I)其中,M為Peer節點緩存的數據大小,bps為編碼率。根據上述播放時間T及Peer節點緩存數據的獲取速率,隨機設定Peer節點暫停從PA節點獲取數據的暫停時間Tl,對該暫停時間Tl的計時由Peer節點的計時器完成。該暫停時間Tl的取值範圍為[Tmin,Tmax],其中,最大暫停時間Tmax不能大於已緩存數據可以播放的時間,Tmin根據系統條件人為設定,Tfflax的計算方法為Tmax=min{Tmin+TX (1-λ),Τ} ;(2)其中,T由公式(I)計算得出,λ由下述公式獲取
'MJWidth/ Mt Width/ < 11 = <t Mt Width/ 1
^久;(3)其中,Mt為t時間內視頻正常播放所需要的數據量,Width為Peer節點的帶寬,該帶寬為單位時間內Peer節點獲取的數據量。上述公式(I)至公式(3)為網絡正常情況下的計算公式,若當前網絡狀況良好時,緩存速率快,則節點暫停時間就可以稍長。在Peer節點暫停從PA節點獲取數據之前,Peer節點自身的相關模塊按照預置的時間間隔周期性地對網絡中與Peer節點自身相連通的所有的節點狀態進行檢測,並獲取上述各個節點的狀態信息,且在Peer節點暫停從PA節點獲取數據的時間結束後,觸發Peer節點即刻獲取上述節點的當前狀態信息。本發明通過在Peer節點獲取的數據來源包含PA節點時,根據Peer節點的狀態信息,檢測Peer節點的緩存數據是否達到預設閾值、若是,則根據緩存數據的獲取速率,設定暫停時間,暫停Peer節點從PA節點獲取數據的方法,具有降低直播伺服器壓力的有益效果O參照圖3,圖3是本發明網絡視頻直播的緩存方法第二實施例流程示意圖;本實施例與本發明網絡視頻直播的緩存方法第一實施例的區別是,僅增加了步驟S03 ;本實施例僅對步驟S03作具體描述,本發明網絡視頻直播的緩存方法所涉及的其他步驟請參照相關 實施例的具體描述,在此不再贅述。如圖3所示,本發明網絡視頻直播的緩存方法,步驟S02之後還包括步驟步驟S03、在所述暫停時間達到後,所述Peer節點繼續獲取數據。當Peer節點的計時器達到上述設置的暫停時間後,觸發Peer節點立刻獲取當前P2P網絡中各個對等節點的當前狀態信息,並根據獲取的所述狀態信息識別數據來源,獲取對應的相關數據。具體地,Peer節點獲取當前P2P網絡中各個對等節點的狀態信息後,判斷PO節點是否能夠滿足Peer節點播放器的播放要求;如果能夠滿足,則Peer節點停止從PA節點獲取數據,降低PA節點壓力;如果PO節點不能夠滿足Peer節點播放器的播放要求,則繼續將PA節點作為Peer節點獲取數據的一個來源,重複執行上述實施例中的步驟SOl至S02。本實施例通過在暫停時間達到後,Peer節點繼續獲取數據的方法,具有提高緩存伺服器運行的穩定性和服務功能的可靠性的有益效果。參照圖4,圖4是本發明網絡視頻直播的緩存裝置第一實施例結構示意圖;如圖4所示,本發明網絡視頻直播的緩存裝置包括數據檢測模塊01,用於在Peer節點獲取的數據來源包含PA節點時,根據所述Peer節點的狀態信息,檢測所述Peer節點的緩存數據是否達到預設閾值;數據檢測模塊01判斷Peer節點獲取數據的來源。如果數據來源只有PO節點,則數據檢測模塊01繼續獲取資源;如果數據來源包含PA節點,則數據檢測模塊01根據所述Peer節點的狀態信息,檢測該Peer節點的數據緩存區,並判斷Peer節點的緩存數據是否達到設定的閾值,如圖I中的數據緩存閾值。在一優選的實施例中,在P2P網絡中,所述Peer節點根據預置時間間隔周期性地獲取與所述Peer節點相連通的每個節點的狀態信息。數據緩存模塊02,用於在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。若數據檢測模塊01判斷Peer節點的緩存數據達到設定的閾值,該緩存數據能夠支持播放器繼續播放一段時間;數據緩存模塊02根據該緩存數據,計算該緩存數據能夠支持播放器持續播放的播放時間T T=M/bps ;(I)
其中,M為Peer節點緩存的數據大小,bps為編碼率。數據緩存模塊02根據上述播放時間T及Peer節點緩存數據的獲取速率,隨機設定Peer節點暫停從PA節點獲取數據的暫停時間Tl,對該暫停時間Tl的計時由Peer節點的計時器完成。該暫停時間Tl的取值範圍為[Tmin,Tmax],其中,最大暫停時間Tmax不能大於已緩存數據可以播放的時間,Tmin根據系統條件人為設定,Tfflax的計算方法為Tmax=min{Tmin+TX (1-λ),Τ} ;(2)其中,T由公式(I)計算得出,λ由下述公式獲取
權利要求
1.一種網絡視頻直播的緩存方法,其特徵在於,包括以下步驟 步驟SOI、若當前節點Peer獲取的數據來源包含緩存伺服器節點PA,則根據所述Peer節點的狀態信息,檢測所述Peer節點的緩存數據是否達到預設閾值; 步驟S02、在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。
2.如權利要求I所述的方法,其特徵在於,所述步驟S02具體包括 根據所述Peer節點的緩存數據,獲取所述緩存數據支持Peer節點播放器繼續播放的播放時間; 根據所述播放時間及緩存數據的獲取速率,設定所述Peer節點暫停從所述PA獲取數據的暫停時間。
3.如權利要求I或2所述的方法,其特徵在於,所述步驟S02之後還包括步驟 步驟S03、在所述暫停時間達到後,所述Peer節點繼續獲取數據。
4.如權利要求3所述的方法,其特徵在於,所述步驟S03具體包括 在所述暫停時間達到後,所述Peer節點獲取當前每個所述節點的狀態信息; 判斷對等節點PO是否能夠滿足所述Peer節點播放器的播放要求; 若是,則Peer節點停止從所述PA節點獲取數據; 若否,則根據所述Peer節點獲取的數據來源,進行相應操作。
5.如權利要求4所述的方法,其特徵在於,所述步驟S03中在所述暫停時間達到後,觸發所述Peer節點即刻獲取當前每個所述節點的狀態信息;但在暫停之前,所述Peer節點根據預置時間間隔周期性獲取當前每個所述節點的狀態信息。
6.一種網絡視頻直播的緩存裝置,其特徵在於,包括 數據檢測模塊,用於在Peer節點獲取的數據來源包含PA節點時,根據所述Peer節點的狀態信息,檢測所述Peer節點的緩存數據是否達到預設閾值; 數據緩存模塊,用於在所述Peer節點的緩存數據達到預設閾值時,根據所述緩存數據的獲取速率,設定暫停時間,暫停所述Peer節點從所述PA獲取數據。
7.如權利要求6所述的裝置,其特徵在於,所述數據緩存模塊具體用於 根據所述Peer節點的緩存數據,獲取所述緩存數據支持Peer節點播放器繼續播放的播放時間; 根據所述播放時間及緩存數據的獲取速率,設定所述Peer節點暫停從所述PA獲取數據的暫停時間。
8.如權利要求6或7所述的裝置,其特徵在於,還包括 數據獲取模塊,用於在所述暫停時間達到後,所述Peer節點繼續獲取數據。
9.如權利要求8所述的裝置,其特徵在於,所述數據獲取模塊具體包括 狀態信息獲取單元,用於在所述暫停時間達到後,所述Peer節點獲取當前每個所述節點的狀態信息; 數據來源識別單元,用於判斷PO節點是否能夠滿足所述Peer節點播放器的播放要求;若是,則Peer節點停止從所述PA節點獲取數據;若否,則根據所述Peer節點獲取的數據來源,進行相應操作。
10.如權利要求9所述的裝置,其特徵在於,所述狀態信息獲取單元在所述暫停時間達到後,觸發所述Peer節點即刻獲取當前每個所述節點的狀態信息;但在暫停之前,所述Peer節點根據預置時間 間隔周期性獲取當前每個所述節點的狀態信息。
全文摘要
本發明公開一種網絡視頻直播的緩存方法,包括若Peer獲取的數據來源包含PA,則根據Peer的狀態信息,檢測Peer的緩存數據是否達到預設閾值;若是,則根據緩存數據的獲取速率,設定暫停時間,暫停Peer從PA獲取數據。本發明還公開一種網絡視頻直播的緩存裝置。本發明通過在Peer獲取的數據來源包含PA時,根據Peer的狀態信息,檢測Peer的緩存數據是否達到預設閾值、若是,則暫停Peer從PA獲取數據的方法,具有降低直播伺服器壓力的有益效果,提高了緩存伺服器運行的穩定性和服務功能的可靠性。
文檔編號H04N21/433GK102917028SQ201210363620
公開日2013年2月6日 申請日期2012年9月26日 優先權日2012年9月26日
發明者嚴映軍 申請人:深圳好視網絡科技有限公司