一種節點連接調整方法和裝置的制造方法
【技術領域】
[0001]本發明涉及互聯網視頻技術領域,尤其涉及一種節點連接調整方法和裝置。
【背景技術】
[0002]當前各大視頻網站都在大力發展直播,業務范圍非常廣泛,用戶需求也更加多樣化。直播系統中用戶觀看體驗是最為關鍵的因素,而“流暢率”則是衡量用戶觀看體驗的重要指標。流暢率表征播放的流暢度,其根據應用場景不同可有不同的定義。例如,流暢率一般可以指所關注的播放總時長T減去期間發生卡頓(即播放停滯)的總時長Td所得的差與總時長T的比值。
[0003]不同于點播業務,由于具備極高的實時性和短時效,直播業務通常“會且只會”出現短時間請求驟增的情況,造成內容分發網絡(CDN)服務器超負載而無法及時響應,使得客戶端(即節點)播放出現“卡頓”現象,導致流暢率下降。
[0004]目前解決該問題有幾種方案。一種是為CDN服務器擴容,加大帶寬以保證質量。然而這種方案將閑置大量的服務器和帶寬資源。例如直播系統中最高在線人數峰值可為平時最高在線人數的數百倍。然而出現峰值的概率較低,使用該方案卻需為直播系統持續提供滿足峰值的服務器和帶寬。對于帶寬成本占比較高的視頻網站而言,這種方案所帶來的冗余量過大的服務器和帶寬同樣難以承擔。
[0005]另一種方案是使用點對點數據傳輸(S卩P2P)算法來減輕CDN服務器負載,節省帶寬。P2P算法,就是在觀看該直播節目的節點中,選擇具有一定上傳能力的節點LI(數據提供方,或稱為上傳方),為其他節點L2(數據接收方,或稱為下載方)傳送數據,從而使大量節點L2減少向CDN服務器請求數據,降低CDN服務器負載及帶寬壓力。換言之,傳統CDN模式中,所有節點都直接從⑶N服務器獲取直播數據,而這種方案采用“⑶N+P2P”模式,根據傳輸算法的不同,節點L2有一定比例的數據來自節點LI,如圖1所示。
[0006]這種“CDN+P2P”模式具體來說,就是先對直播流碼率進行判斷,在碼率較低的情況下(例如標清直播流,碼率約400?600bps),采用P2P模式(即節點L2有一定比例的數據來自節點LI),對于碼率較高的情況下(例如高清或超清直播流,碼率約1000bps以上),采用全CDN模式,如圖2所示。
[0007]上述方案在碼率相對較低的標清直播下利用P2P算法可節省約80%的服務器和帶寬成本(即有總量約80%的直播流在終端之間互相傳輸),并有效提高了流暢率。然而,由于P2P算法針對高碼率直播流不僅節省帶寬成本較少,反而導致流暢率急劇下降,因此在高碼率直播場景中只能放棄使用P2P模式,而采用CDN模式。因此,在高清直播頻次增加或在線人數急劇增長時,這種方案仍然會選擇幾乎全部從CDN服務器下載數據,原有直播系統出現較為嚴重的帶寬負荷過高、CDN服務器無法響應等問題,同樣影響用戶正常觀看。
【發明內容】
[0008]技術問題
[0009]有鑒于此,本發明要解決的技術問題是,在直播流碼率變化的情況下,節點如何在保證直播流暢率的同時,節省CND服務器和帶寬資源。
[0010]解決方案
[0011]為了解決上述技術問題,根據本發明一實施例,提供一種節點連接調整方法,該方法包括:在直播流的碼率變化的情況下,獲取節點的當前狀態;向點對點數據傳輸P2P服務器發送用于獲取優選鄰居節點的請求,所述請求包括所述節點的當前狀態;接收P2P服務器響應于所述請求而返回的通知,所述通知包括P2P服務器基于所述節點的當前狀態而推薦的針對該節點的優選鄰居節點;調整所述節點從內容分發網絡CDN服務器獲取的直播流數據量,以及根據所推薦的優選鄰居節點,調整所述節點與鄰居節點的連接。
[0012]為了解決上述技術問題,根據本發明另一實施例,提供一種節點連接調整裝置,該裝置包括:獲取部件、發送部件、接收部件和調整部件。其中,獲取部件用于在直播流的碼率變化的情況下,獲取節點的當前狀態;發送部件用于向點對點數據傳輸P2P服務器發送用于獲取優選鄰居節點的請求,所述請求包括所述節點的當前狀態;接收部件用于接收P2P服務器響應于所述請求而返回的通知,所述通知包括P2P服務器基于所述節點的當前狀態而推薦的針對該節點的優選鄰居節點;調整部件用于調整所述節點從內容分發網絡CDN服務器獲取的直播流數據量,以及根據所推薦的優選鄰居節點,調整所述節點與鄰居節點的連接。
[0013]有益效果
[0014]本發明實施例是基于“⑶N+P2P”的混合模式,但與現有技術不同的是,本實施例并非簡單地根據碼率在CDN模式和P2P模式之間切換,也不是僅利用P2P模式進行單一的低碼率直播流的傳輸。本發明實施例節點通過在直播流的碼率變化的情況下,向P2P服務器發送用于獲取優選鄰居節點的請求,并根據P2P服務器返回的包括優選鄰居節點的通知,調整該節點與鄰居節點的連接;并且調整節點從CDN服務器獲取的直播流數據量。通過上述技術手段,節點能夠利用CDN和P2P這兩種模式傳輸直播流數據,并在碼率變化的情況下根據節點的實際狀態動態地在CDN模式和P2P模式之間進行調整,在保證了直播流暢率的同時,有效地節省了⑶N服務器和帶寬資源。
[0015]根據下面參考附圖對示例性實施例的詳細說明,本發明的其它特征及方面將變得清楚。
【附圖說明】
[0016]包含在說明書中并且構成說明書的一部分的附圖與說明書一起示出了本發明的示例性實施例、特征和方面,并且用于解釋本發明的原理。
[0017]圖1示出⑶N+P2P模式的示意圖;
[0018]圖2示出現有技術中直播流傳輸方法的流程圖;
[0019]圖3示出根據本發明一實施例的節點連接調整方法的流程圖;
[0020]圖4示出根據本發明一實施例的節點連接調整裝置的結構框圖;
[0021]圖5示出根據本發明一實施例的另一節點連接調整裝置的結構框圖;
[0022]圖6示出根據本發明另一實施例的節點連接調整設備的結構框圖。
【具體實施方式】
[0023]以下將參考附圖詳細說明本發明的各種示例性實施例、特征和方面。附圖中相同的附圖標記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
[0024]在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優于或好于其它實施例。
[0025]另外,為了更好的說明本發明,在下文的【具體實施方式】中給出了眾多的具體細節。本領域技術人員應當理解,沒有某些具體細節,本發明同樣可以實施。在一些實例中,對于本領域技術人員熟知的方法、手段、元件和電路未作詳細描述,以便于凸顯本發明的主旨。
[0026]實施例1
[0027]圖3示出根據本發明一實施例的節點連接調整方法的流程圖。該實施例可在節點(客戶端,例如個人計算機PC瀏覽器)執行。如圖3所示,該方法主要包括:
[0028]步驟301,在直播流的碼率變化的情況下,獲取節點的當前狀態;
[0029]步驟302,向點對點數據傳輸P2P服務器發送用于獲取優選鄰居節點的請求,所述請求包括所述節點的當前狀態;
[0030]步驟303,接收P2P服務器響應于所述請求而返回的通知,所述通知包括P2P服務器基于所述節點的當前狀態而推薦的針對該節點的優選鄰居節點;
[0031]步驟304,調整所述節點從內容分發網絡⑶N服務器獲取的直播流數據量,以及根據所推薦的優選鄰居節點,調整所述節點與鄰居節點的連接。
[0032]本發明實施例是基于“⑶N+P2P”的混合模式,但與現有技術不同的是,本實施例并非簡單地根據碼率在CDN模式和P2P模式之間切換,也不是僅利用P2P模式進行單一的低碼率直播流的傳輸。本實施例節點在直播流的碼率變化的情況下,向P2P服務器發送用于獲取優選鄰居節點的請求,并根據P2P服務器返回的包括優選鄰居節點的通知,調整該節點與鄰居節點的連接;并且調整節點從CDN服務器獲取的直播流數據量。通過上述技術手段,節點能夠利用CDN和P2P這兩種模式傳輸直播流數據,并在碼率變化的情況下根據節點的實際狀態動態地在CDN模式和P2P模式之間進行調整,在保證了直播流暢率的同時,有效地節省了⑶N服務器和帶寬資源。
[0033]獲取節點的當前狀態
[0034]在一個示例