裝置主要包括:
[0064]狀態(tài)獲取部件501,用于獲取客戶端當前狀態(tài);
[0065]統(tǒng)計部件502,用于基于所獲取的客戶端當前狀態(tài),統(tǒng)計處于卡頓狀態(tài)的客戶端數占客戶端總數的比率;
[0066]碼率獲取部件503,用于在所述比率超過第一閾值的情況下,獲取直播流當前碼率;以及
[0067]通知和調度部件504,用于在當前碼率高于預定的碼率閾值情況下,通知客戶端調整傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例的部件。
[0068]在一個示例中,該裝置還包括:用于在所述比率超過第二閾值且低于第一閾值的情況下,重新選擇傳輸能力相對于其他客戶端更強的客戶端作為點對點數據傳輸中的數據提供方的部件。
[0069]在一個示例中,該裝置還包括:用于在所述比率超過第二閾值且低于第一閾值的情況下,為狀態(tài)為卡頓的客戶端分配更多的作為點對點數據傳輸P2P中的數據提供方的客戶端的部件。
[0070]在一個示例中,客戶端當前狀態(tài)包括:P2P上傳、P2P下載和卡頓其中之一。
[0071]在一個示例中,所述客戶端當前狀態(tài)是客戶端根據其當前傳輸方式、下載數據源、網絡狀況、與其他節(jié)點的連接狀況及播放狀況中的一個或多個來確定的。
[0072]實施例4
[0073]圖6示出根據本發(fā)明一實施例的直播流傳輸裝置600的結構框圖。與圖3所示實施例相同的特征和術語的含義相似,此處為簡明不再贅述。如圖6所示,該裝置主要包括:
[0074]發(fā)送部件601,用于發(fā)送客戶端當前狀態(tài);
[0075]接收部件602,用于接收基于所獲取的客戶端當前狀態(tài)和直播流當前碼率所生成的通知的部件;以及
[0076]調整部件603,用于在所述通知指示處于卡頓狀態(tài)的客戶端數占客戶端總數的比率超過第一閾值,且當前碼率高于預定的碼率閾值情況下,調整客戶端傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例的部件。
[0077]實施例5
[0078]圖7示出了本發(fā)明的另一個實施例的一種直播流傳輸設備的結構框圖。所述設備1100可以是具備計算能力的主機服務器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
[0079]所述設備1100包括處理器(processor)lllO、通信接口(Communicat1nsInterface)1120、存儲器(memory) 1130和總線1140。其中,處理器1110、通信接口 1120、以及存儲器1130通過總線1140完成相互間的通信。
[0080]通信接口 1120用于與網絡設備通信,其中網絡設備包括例如虛擬機管理中心、共享存儲等。
[0081]處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(Applicat1n Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
[0082]存儲器1130用于存放文件。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
[0083]在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于執(zhí)行實施例1或2中的各步驟。
[0084]本領域普通技術人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以針對特定的應用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0085]如果以計算機軟件的形式來實現(xiàn)所述功能并作為獨立的產品銷售或使用時,則在一定程度上可認為本發(fā)明的技術方案的全部或部分(例如對現(xiàn)有技術做出貢獻的部分)是以計算機軟件產品的形式體現(xiàn)的。該計算機軟件產品通常存儲在計算機可讀取的非易失性存儲介質中,包括若干指令用以使得計算機設備(可以是個人計算機、服務器、或者網絡設備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質包括U盤、移動硬盤、只讀存儲器(R0M,Read_0nly Memory)、隨機存取存儲器(RAM ,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0086]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。
【主權項】
1.一種直播流傳輸方法,該方法包括: 獲取客戶端當前狀態(tài); 基于所獲取的客戶端當前狀態(tài),統(tǒng)計處于卡頓狀態(tài)的客戶端數占客戶端總數的比率;在所述比率超過第一閾值的情況下,獲取直播流當前碼率;以及在當前碼率高于預定的碼率閾值情況下,通知客戶端調整傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例。2.根據權利要求1所述的直播流傳輸方法,還包括:在所述比率超過第二閾值且低于第一閾值的情況下,重新選擇傳輸能力相對于其他客戶端更強的客戶端作為點對點數據傳輸中的數據提供方。3.根據權利要求1所述的直播流傳輸方法,還包括:在所述比率超過第二閾值且低于第一閾值的情況下,為狀態(tài)為卡頓的客戶端分配更多的作為點對點數據傳輸中的數據提供方的客戶端。4.根據權利要求1所述的直播流傳輸方法,其中客戶端當前狀態(tài)包括:P2P上傳、P2P下載和卡頓其中之一。5.根據權利要求1所述的直播流傳輸方法,其中,所述客戶端當前狀態(tài)是客戶端根據其當前傳輸方式、下載數據源、網絡狀況、與其他節(jié)點的連接狀況及播放狀況中的一個或多個來確定的。6.一種直播流傳輸方法,該方法包括: 發(fā)送客戶端當前狀態(tài); 接收基于所獲取的客戶端當前狀態(tài)和直播流當前碼率所生成的通知;以及在所述通知指示處于卡頓狀態(tài)的客戶端數占客戶端總數的比率超過第一閾值,且當前碼率高于預定的碼率閾值情況下,調整客戶端傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例。7.根據權利要求6所述的直播流傳輸方法,其中客戶端當前狀態(tài)包括:P2P上傳、P2P下載和卡頓其中之一。8.根據權利要求6所述的直播流傳輸方法,其中,所述客戶端當前狀態(tài)是客戶端根據其當前傳輸方式、下載數據源、網絡狀況、與其他節(jié)點的連接狀況及播放狀況中的一個或多個來確定的。9.一種直播流傳輸裝置,該裝置包括: 用于獲取客戶端當前狀態(tài)的部件; 用于基于所獲取的客戶端當前狀態(tài),統(tǒng)計處于卡頓狀態(tài)的客戶端數占客戶端總數的比率的部件; 用于在所述比率超過第一閾值的情況下,獲取直播流當前碼率的部件;以及用于在當前碼率高于預定的碼率閾值情況下,通知客戶端調整傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例的部件。10.一種直播流傳輸裝置,該裝置包括: 用于發(fā)送客戶端當前狀態(tài)的部件;用于接收基于所獲取的客戶端當前狀態(tài)和直播流當前碼率所生成的通知的部件;以及用于在所述通知指示處于卡頓狀態(tài)的客戶端數占客戶端總數的比率超過第一閾值,且當前碼率高于預定的碼率閾值情況下,調整客戶端傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例的部件。
【專利摘要】本發(fā)明涉及一種直播流傳輸方法和裝置,該方法包括:獲取客戶端當前狀態(tài);基于所獲取的客戶端當前狀態(tài),統(tǒng)計處于卡頓狀態(tài)的客戶端數占客戶端總數的比率;在所述比率超過第一閾值的情況下,獲取直播流當前碼率;以及在當前碼率高于預定的碼率閾值情況下,通知客戶端調整傳輸策略以提高傳輸能力,并提高客戶端從內容分發(fā)網絡CDN服務器獲取的直播流數據相對于以點對點數據傳輸P2P模式獲取的直播流數據的比例。本發(fā)明各實施例根據直播流碼率和客戶端狀態(tài)調整客戶端傳輸策略,在節(jié)省服務器和帶寬資源的同時保證了直播流暢度。
【IPC分類】H04L29/06, H04N21/238
【公開號】CN105635755
【申請?zhí)枴緾N201511020633
【發(fā)明人】潘金亞, 房福志, 楊敬宇, 姚鍵, 潘柏宇, 王冀
【申請人】合一網絡技術(北京)有限公司
【公開日】2016年6月1日
【申請日】2015年12月30日