日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

要想提升P2P帶寬節(jié)省率,最直接的方式當(dāng)然是壓縮CDN帶寬,但簡單粗暴的減少CDN下載勢必會帶來播放體驗問題。騰訊視頻數(shù)據(jù)傳輸研發(fā)高級工程師嚴(yán)華梁在LiveVideoStackCon 2019深圳的演講中詳細(xì)介紹了騰訊視頻針對P2P帶寬節(jié)省的最新探索與實踐。

 

PART1/P2P技術(shù)項目背景

P2P實際上是利用用戶之間互相分享視頻的數(shù)據(jù),來減少從CDN下載數(shù)據(jù)的量,從而達(dá)到帶寬節(jié)省的效果。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

一般情況下,在使用P2P進(jìn)行帶寬節(jié)省的基礎(chǔ)上,服務(wù)所需帶寬的計算公式如上圖所示:帶寬 = 播放量平均碼率 *平均播放時長(1-P2P帶寬節(jié)省率)。觀看視頻的用戶除了從平臺服務(wù)器上調(diào)用數(shù)據(jù),還會從其他用戶那里來調(diào)用數(shù)據(jù)。

騰訊視頻業(yè)務(wù)在過去幾年迎來了高速的發(fā)展,用戶規(guī)模不斷提高,無論是播放量還是視頻平均碼率都有明顯的提升。此時擺在我們面前的一大挑戰(zhàn)就是:如何持續(xù)提升P2P帶寬節(jié)省率,并做到CDN帶寬成本保持較少增長?

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

上圖展現(xiàn)了我們提升P2P帶寬節(jié)省率的思路。結(jié)合之前的帶寬計算公式我們可知,如果需要降低CDN的帶寬成本,最簡單粗暴的方式就是減少CDN的下載,但這樣會帶來諸如卡頓的音視頻體驗問題。我們的思路是首先系統(tǒng)性地優(yōu)化P2P網(wǎng)絡(luò)的傳輸效率。由于P2P網(wǎng)絡(luò)是一個對端網(wǎng)絡(luò),因此需要從下載端與上傳端兩個方面綜合看待該項命題。那么在完成對P2P的系統(tǒng)優(yōu)化之后,在此基礎(chǔ)上我們還需要考慮更少的CDN下載,接下來我們就分階段思考如何實現(xiàn)這一目標(biāo)。

PART2/如何提升P2P帶寬節(jié)省率?

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

若想實現(xiàn)更快的P2P下載,需要做的第一件事情便是傳輸協(xié)議的優(yōu)化。眾所周知,在TCP中存在一個慢啟動閾值,為了優(yōu)化擁塞控制算法我們需要對慢啟動閾值進(jìn)行動態(tài)設(shè)定,算法策略其實就是經(jīng)典的ssthresh=max(BDP, cwndα/10)。在此基礎(chǔ)之上我們又引入兩個策略:丟包避免與丟包過濾。丟包避免從降低丟包率入手,也就是最近RTT大于rttMin+(rttMax-rttMin) β/100,cwnd不增加;丟包過濾從提高吞吐率入手,也就是最近RTT小于rttMin+(rttMax-rttMin)* γ/100, cwnd不退避。上圖展示了我們自研的P2P擁塞控制算法與TCP Cubic的對比結(jié)果,紅線代表TCP Cubic而藍(lán)色則代表我們自研的P2P CC。從數(shù)據(jù)中可以看到當(dāng)出現(xiàn)網(wǎng)絡(luò)抖動時,TCP Cubic對丟包和時延比較敏感,滑動窗口抖動非常劇烈,而P2P CC則相對平穩(wěn)許多。

TCP的擁塞控制盡管已經(jīng)演化多年,但仍舊存在較多問題。這告訴我們一個道理:沒有一種擁塞控制算法能夠適應(yīng)所有的業(yè)務(wù)場景或者說網(wǎng)絡(luò)場景。因此我們希望通過結(jié)合應(yīng)用場景來實現(xiàn)個性化的擁塞控制。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

所謂的個性化擁塞控制其實就是依據(jù)播放時間線進(jìn)行差異化傳輸。如上圖所示,播放時間線從播放點(diǎn)開始梳理,播放點(diǎn)往后開始讀取數(shù)據(jù)。那么離播放點(diǎn)越近的數(shù)據(jù)則會被優(yōu)先讀取到,即優(yōu)先級較高。于是在這一區(qū)間段內(nèi)我們采用比較激進(jìn)的擁塞控制參數(shù),盡可能保證傳輸?shù)男识鴵p失一部分丟包重傳的優(yōu)化;在距離播放點(diǎn)較遠(yuǎn)的區(qū)段內(nèi),采用另外一種策略—— 優(yōu)先考慮丟包率和重傳率并降低吞吐率。上圖展示的是新舊算法P2P下載速度的對比,我們可以看到相對于固定閾值的舊算法,新算法尤其是在FAST與MEDIUM檔有明顯提升。在網(wǎng)絡(luò)下載效率方面,優(yōu)化后的整體重復(fù)下載率較之前有非常明顯的提升。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

解決完擁塞控制的相關(guān)命題,接下來面對的是如何進(jìn)行有效選種并高效利用。最關(guān)鍵的一點(diǎn)便是如何評估種子的質(zhì)量。

這里我們引入一套完整的基于QoS的選種淘汰機(jī)制:第一項考察的指標(biāo)是數(shù)據(jù)完整度,例如在PC客戶端的磁盤內(nèi)存在一些緩存,PC客戶端上的數(shù)據(jù)相對更加完整,這樣便可在整個視頻播放的過程中提供更高質(zhì)量的上傳數(shù)據(jù);第二項考察的指標(biāo)為是否斷連;第三項是數(shù)據(jù)接收成功率,其中包括丟包率;最后一項指標(biāo)是被凍結(jié)次數(shù),也就是當(dāng)連接上一個比較好的種子之后,對上傳效率的影響是積極的。但如果進(jìn)行一次數(shù)據(jù)交互之后對端提供的反饋信令結(jié)果是忙碌,那么可能是因為種子質(zhì)量出色而連接的對象有些多。在這種情況下,該時間段內(nèi)負(fù)載已經(jīng)達(dá)到較為滿負(fù)荷的狀態(tài),有可能超過了硬件可承載的水平。當(dāng)有新的請求過來時,會反饋忙碌的狀態(tài),從而控制下載請求。但由于該種子質(zhì)量出色,因此服務(wù)器會選擇對該鏈路進(jìn)行凍結(jié)處理,暫時不向該端請求數(shù)據(jù)傳輸,并保留對接的端口,待該端不再忙碌之后繼續(xù)請求下載數(shù)據(jù)。

隨著智能路由器的普及,NAT類型被限制得越來越嚴(yán)格,P2P想找到一個質(zhì)量出色的種子并成功連接的概率越來越低、難度越來越大,因此設(shè)計這樣的保護(hù)機(jī)制可以確保種子物盡其用。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

選種之后面臨的問題是選片。在P2P傳輸中,一個流媒體文件會被做切片處理,從而更充分地利用UDP進(jìn)行傳輸。UDP本身發(fā)送一個數(shù)據(jù)包會受MTU的影響,例如以64K為一片,切片一段文件,并以不同顏色表示若干個文件片段的下載狀態(tài)。每一片應(yīng)當(dāng)分配給哪一個種子來實現(xiàn)P2P下載?這是我們在選片算法當(dāng)中需要考慮的問題。

結(jié)合時間線,我們提出了一個被稱為集中式協(xié)同選片算法的策略。按照時間軸進(jìn)行梳理,離播放點(diǎn)近的數(shù)據(jù)是即將被播放的,下載優(yōu)先級最高。這里的“集中式”就是指集中下載優(yōu)先級高的數(shù)據(jù),從而保證整體播放的流暢。“協(xié)同”則是指多個種子對優(yōu)先級高的某一區(qū)域數(shù)據(jù)進(jìn)行協(xié)同下載,例如前面幾片分配給一個種子,后面幾片分配給另外一個種子。如果簡單粗暴地讓64K數(shù)據(jù)直接向某一個種子提出下載請求,那么一旦該種子下線或?qū)?yīng)的網(wǎng)絡(luò)中斷,那么64K的數(shù)據(jù)相當(dāng)于被整體丟包,假如丟包的數(shù)據(jù)處于距離播放點(diǎn)較近的位置,短時間內(nèi)又無法高效地下載,就會出現(xiàn)播放的中斷。

為了做到集中式協(xié)同下載,我們引入了兩個隊列:可下載塊隊列與正在下載塊隊列。在P2P中,通過種子之間的位圖交換,我們可以獲知應(yīng)當(dāng)下載哪些塊,這便是可下載塊隊列。正在下載塊隊列的大小是相對固定的,也就是說對于任何一個種子,如果在選片時發(fā)現(xiàn)正在下載的塊沒有完整下載完畢,那么就會優(yōu)先下載這一部分。例如一個種子開始下載,此時系統(tǒng)發(fā)現(xiàn)其他種子超時,那么系統(tǒng)不會重新下載別的分片而是繼續(xù)下載該種子后面的分片,從而利用這種集中式協(xié)同的思路,盡可能完整地下載某一塊數(shù)據(jù)。我們知道UDP的數(shù)據(jù)傳輸沒有TCP那樣嚴(yán)格依賴順序,而集中式協(xié)同的設(shè)計主要是為了按順序盡可能快地將距離播放點(diǎn)比較近的數(shù)據(jù)下載下來,從而實現(xiàn)P2P下載效率與播放體驗的精準(zhǔn)平衡。

全平臺的視頻介質(zhì)統(tǒng)一至關(guān)重要,大家知道廣播電視行業(yè)需要牌照,這樣影視作品才能在TV端合法上線。但騰訊沒有這方面的牌照資質(zhì),因此我們需要尋求外部牌照方合作。而第三方合作就存在一個問題:對方會要求在TV端播放時必須顯示牌照方的水印,而不能顯示騰訊視頻自己的水印。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

一般情況下,水印會被直接編碼在原視頻數(shù)據(jù)當(dāng)中,稱為“硬水印”。為了做到全平臺統(tǒng)一,我們則使用了軟水印技術(shù),也就是將視頻內(nèi)容與水印分開。同一個視頻內(nèi)容在不同的平臺上,介質(zhì)完全一樣而水印顯示則根據(jù)場景改變,從而滿足不同場景的水印需求。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

我們構(gòu)建了一套系統(tǒng)性的種子質(zhì)量提升方案:在第一層,系統(tǒng)會對一些無效的種子做過濾處理,這里的“無效種子”更多的是指在一些限制條件下對種子的篩選擇優(yōu),如ISP過濾(以避免對運(yùn)營商網(wǎng)絡(luò)不友好的跨運(yùn)營商傳輸)、NAT類型過濾(常規(guī)手段實現(xiàn)NAT穿透較為困難,我們會盡可能選用對稱型以減少在穿透方面的損耗)、平臺過濾(更多考慮移動端,因為移動端存在運(yùn)營商網(wǎng)絡(luò)的限制)、連接數(shù)過濾。

結(jié)束第一層過濾之后,我們會根據(jù)一些屬性,使用多屬性權(quán)重打分決策算法對其進(jìn)行處理。這里的屬性主要有在線時長(能否提供穩(wěn)定的在線上傳)、上傳能力(如100M、200M帶寬等)、NAT類型與地域就近。完成加權(quán)打分之后,我們會對種子進(jìn)行一個質(zhì)量等級的劃分。隨后優(yōu)先返回評分較高的種子,這樣可充分改善客戶端的種子建連與下載效率。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

為實現(xiàn)更多的P2P上傳,我們還需優(yōu)化上傳控制。在P2P網(wǎng)絡(luò)傳輸?shù)脑缙冢绱蠹以诖髮W(xué)時可能用過BT下載,如果宿舍里面有一個人正在進(jìn)行BT下載,那么其他人可能連常規(guī)的互聯(lián)網(wǎng)訪問都無法正常進(jìn)行。也就是說如果控制不好P2P的上傳過程,實際上會對TCP的ACK等普通網(wǎng)絡(luò)傳輸過程帶來不利影響,因此我們希望實現(xiàn)更加出色的上傳控制。這里的優(yōu)化借鑒了類BBR的思路,也就是通過周期性地動態(tài)測速,對每個P2P信道實時計算上行帶寬累加,并作為限速值進(jìn)行上傳動態(tài)限速控制,限速機(jī)制采用TCP中勻速發(fā)送的機(jī)制,從而降低瞬時大數(shù)據(jù)包對網(wǎng)絡(luò)傳輸鏈路的沖擊。

對于客戶端來說,通過信道連接不同種子,我們這里測量的是不同信道的帶寬情況,并累加作為整體上傳的限速值。上圖右側(cè)可視化圖表展示了動態(tài)測速方案的效果,我們可以看出其整體波動均勻集中。用戶在使用客戶端訪問服務(wù)時可能會同時進(jìn)行一些其他的上網(wǎng)行為,例如看視頻時點(diǎn)擊某個網(wǎng)頁。測速圖表中的“PC空閑時間”就是指用戶未使用鼠標(biāo)、鍵盤的時間,如果偵測到鼠標(biāo)、鍵盤使用,那么我們則認(rèn)為用戶在訪問互聯(lián)網(wǎng)其他服務(wù)。根據(jù)測速結(jié)果我們可以看到,隨著空閑時間不斷增加,動態(tài)測速呈現(xiàn)一個緩慢上升的趨勢,也就是說動態(tài)測速可以感知并自適應(yīng)用戶其他訪問互聯(lián)網(wǎng)的行為,并確保視頻服務(wù)的可用。

在完成對P2P下載與上傳的優(yōu)化之后,我們還需實現(xiàn)更少的CDN下載。我們所做的第一件事就是優(yōu)化http下載,對此我們并未采用過于高深莫測的算法,而更多采用的是策略優(yōu)化+擁塞控制優(yōu)化(QUIC、BBR)。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

策略上的優(yōu)化,總體思想其實是多元——第一項是MSS也就是IP直出和域名兜底。IP直出是為了減少DNS解析所帶來的耗時,域名兜底則主要是為了適應(yīng)運(yùn)營商的切換,如用戶從中國電信的Wi-Fi網(wǎng)絡(luò)切換到中國聯(lián)通的4G移動網(wǎng)絡(luò),此時原電信服務(wù)器的IP需要切換至聯(lián)通服務(wù)器下的IP之上,我們會對域名進(jìn)行解析并實現(xiàn)兜底。

第二項是多IP競速連接,之前IP直出決定了有多個IP待選,這里我們使用了多IP競速連接以提高速度。

第三項是多鏈接加速,現(xiàn)在大家提到比較多的一個是MP TCP,也就是實現(xiàn)WiFi網(wǎng)卡與運(yùn)營商網(wǎng)卡的組合加速。

在策略優(yōu)化的基礎(chǔ)上,我們進(jìn)行了擁塞控制優(yōu)化,如使用QUIC、BBR等。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

若想實現(xiàn)更少的CDN下載,除了優(yōu)化http,必不可少的一項舉措是合理利用CDN資源。

結(jié)合業(yè)務(wù)特性,我們進(jìn)行了系統(tǒng)調(diào)度的優(yōu)化:首先嘗試深度整合業(yè)務(wù),例如用戶訪問騰訊視頻,如果是非會員那么會在正片開始之前看到一段時間較長的廣告。在廣告播放期間系統(tǒng)就可利用P2P網(wǎng)絡(luò)預(yù)先下載正片數(shù)據(jù),在此期間CDN并未被使用。除此之外在播放專輯畫面時,如果專輯中上一集即將播放結(jié)束,那么下一集即可開始預(yù)加載。當(dāng)然還有一種情況是用戶退出當(dāng)前正片之后,可能需要重新點(diǎn)擊打開重復(fù)觀看,此時系統(tǒng)會對播放點(diǎn)數(shù)據(jù)做緩存處理,從而實現(xiàn)當(dāng)用戶想要再次打開觀看時,系統(tǒng)可快速從本地加載數(shù)據(jù)并快速開始播放。

當(dāng)然,如果是會員無廣告的情況,為了保證播放體驗我們還是會優(yōu)先選擇CDN下載數(shù)據(jù),從而保證快速啟動播放。在這里我們構(gòu)建了一套網(wǎng)絡(luò)預(yù)測模型,結(jié)合歷史下載速度、實時下載速度與當(dāng)前視頻碼率綜合做出決策,判斷啟動播放究竟需要多長時間,并盡可能降低CDN的下載時長。例如當(dāng)用戶使用光纖網(wǎng)絡(luò)時,由于網(wǎng)絡(luò)帶寬資源充裕,下載速度較高,即便沒有P2P,CDN也可快速下載所需數(shù)據(jù)并實現(xiàn)快速啟動播放。

除以上兩點(diǎn)之外,我們還會從用戶行為入手。上圖右側(cè)圖線是我們與香港中文大學(xué)進(jìn)行的聯(lián)合研究的結(jié)果:不同的媒體類型如電影、電視劇、綜藝等,其視頻用戶中斷播放的位置也不盡相同。對于不同類型的視頻用戶在某一個時間段離開的概率不同,且存在一定規(guī)律。通過數(shù)據(jù)分析我們可以基于此在下載的時長控制方面進(jìn)行一些針對性處理。

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

實現(xiàn)更少CDN下載的最后一點(diǎn)是多源體系建設(shè)。由于CDN價格高昂,因此我們應(yīng)當(dāng)科學(xué)調(diào)配內(nèi)容與承載網(wǎng)絡(luò)類型之間的關(guān)系,從而實現(xiàn)產(chǎn)品服務(wù)與成本控制的精準(zhǔn)平衡。

上圖左側(cè)展示了CDN的大概拓?fù)浣Y(jié)構(gòu),從上到下依次是距離用戶比較遠(yuǎn)的服務(wù)器、城市或社區(qū)的機(jī)房、家用路由器與用戶終端,與用戶之間的距離由遠(yuǎn)及近。隨著5G時代的到來,大家經(jīng)常提到的一個詞是移動邊緣計算也就是MEC,未來5G基站即可承擔(dān)一部分機(jī)房的角色。大家總是強(qiáng)調(diào)5G技術(shù)的高帶寬低延時,如果未來我們的視頻內(nèi)容直接下沉到基站,借助5G網(wǎng)絡(luò)訪問就可達(dá)到類似于局域網(wǎng)的效果,其所能達(dá)到的速度是驚人的。如果CDN距離用戶較遠(yuǎn),那么本身就存在一個傳輸鏈路上的損耗;我們嘗試盡可能縮短用戶與內(nèi)容之間的距離,進(jìn)一步突破互聯(lián)網(wǎng)傳輸技術(shù)對用戶體驗的桎梏。

PART3/總結(jié)

騰訊視頻P2P帶寬節(jié)省率持續(xù)提升之路

 

P2P節(jié)省率=P2P帶寬/ (P2P帶寬 + CDN帶寬), 要想提升P2P帶寬節(jié)省率,最直接的方式當(dāng)然是直接壓縮CDN帶寬,如減少CDN下載;但是簡單粗暴的減少CDN下載勢必會帶來播放體驗問題,所以我們的思路是先優(yōu)化P2P網(wǎng)絡(luò), 在P2P網(wǎng)絡(luò)優(yōu)化下載的效率和穩(wěn)定性提升之后,再來合理的減少CDN下載。

分享到:
標(biāo)簽:騰訊 視頻
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定