tft每日頭條

 > 科技

 > 優酷算法分發

優酷算法分發

科技 更新时间:2025-01-24 11:31:00

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)1

為通過Internet向海量用戶傳輸高清晰度、高碼率的視頻節目,愛奇藝融合CDN和P2P技術,開發出一套适合多終端的混合分發傳輸網絡——HCDN。本文來自愛奇藝高級技術總監庹虎在LiveVideoStackCon 2018大會中的演講,由LiveVideoStack整理而成。

文 / 庹虎

整理 / LiveVideoStack

大家好,我是庹虎,目前在愛奇藝負責着跨平台的P2P業務、播放器内核及直播雲業務等團隊,本次分享将主要圍繞HCDN技術介紹開放緩存的架構與生态。

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)2

主要内容包括以下幾個方面:

一、iQIYI視頻業務挑戰;

二、HCDN網絡分發技術;

三、IOCP開放緩存及共享經濟生态;

一、iQIYI視頻業務挑戰

1、愛奇藝視頻業務

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)3

愛奇藝成立于2010年,一直以來禀承着“悅享品質”的理念,緻力于讓人們平等、便捷的享受更多、更好的視頻服務。在2010年時,視頻業務是以網頁視頻為主,大部分公司仍然在用Adobe Flash技術做視頻,包括土豆、優酷等。從2012年開始,愛奇藝順應移動互聯網快速發展了移動視頻業務,将越來越多的用戶聚集在手機端觀看視頻,一直到最近三年裡,更進一步融合發展了移動、OTT和PC、Pad等多終端視頻業務。回首來看,實際上現在網頁類的用戶占比就已經非常小了。

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)4

目前,愛奇藝在移動市場的用戶量與用戶時長,以及在PC端的裝機量都是第一位的,并且在OTT市場也是第一位的,采用的是銀河牌照的奇藝果APP的合作形式。愛奇藝的主要營收來自于會員與廣告兩大類,加起來占比達8成以上。視頻業務涵蓋長視頻、短視頻信息流以及各類直播等。

2、并發用戶量波動及挑戰

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)5

上圖是典型的用戶并發的狀态圖,橫向代表時間,縱向代表并發量。從上圖中可以觀察到前面一組代表着工作日,後面的兩組代表着周末。在白天的同一時段,周末的用戶量會比工作日要高一點;在晚高峰時段,工作日與周末的用戶量同樣都是非常高的。而典型的互聯網視頻分發與傳統的HFC廣播電視網絡有很大的差别。廣播網絡無論是在高峰還是低峰時段,都占用了固定的頻段傳送固定數量的節目頻道,它的壓力是完全恒定的,跟用戶數量無關。但是,基于TCP/IP網絡傳輸視頻在不同時段要傳輸給用戶的字節量是不一樣的,在網絡的擁塞程度上是有很大差别的,尤其是在晚高峰。

二、HCDN網絡分發技術

1、New Network and New Strategy

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)6

為了應對用戶量的壓力,從2014年我們就開始着手準備一個新的P2P CDN混合架構,與大家看到的目前各大公有雲宣講的PereCDN技術是一樣的。從存儲的角度看待,相當于構建了一個混合的分布式存儲網絡,用于分發大量的長、短視頻。

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)7

同時,在這個網絡裡面,混合有大量不同類型的節點和設備,包括大的緩存設備、小的緩存設備,可以采用多種不同的策略對視頻進行均衡性的分發。

2、APP Stack

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)8

在愛奇藝APP中,HCDN出現在整個播放流程的關鍵環節上,中間有一些播放的SDK,它們都是基于HCDN的網絡SDK來進行一些數據的下載,底層也會包含一些增強網絡的庫,包括QTP(HTTP over UDP)、MSS(即MultiCDN策略)等模塊。

3、From C/S to Mesh

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)9

對于絕大多數移動互聯網APP來說,不管是視頻還是非視頻都如上圖(左)展示的一樣,雲和端是泾渭分明的。一端是客戶端,即手機APP,另一端是雲,客戶端會連接不同的雲服務,客戶端和雲的角色是完全分開的,像一個二分圖一樣。但是對于視頻分發來講,我們将其構建成一個網狀結構,APP可以是客戶端,同時也可以作為一個微小的Server端服務。大量APP以及一些HCDN程序運行在大大小小不同的設備上構成一個Mesh網絡。

4、Galaxy View

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)10

如果将網絡中所有IP的連接渲染成可視化的圖,則如上圖所示,其中僅包含四萬個連接關系,就看起來就像是一個星系一樣豐富繁雜。而以愛奇藝當前的業務規模,每時每刻都會有幾千萬的HCDN節點這樣連接着,并且節點的熱度狀态都是變化的,如果将它們渲染出來,就會形成一張非常龐大的星系動圖。

5、Marketplace View

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)11

在構建HCDN的過程中,實際上我們将其視為一個數據市場。在左邊,我們把那些具有上傳能力的節點,稱為seed(種子);在右邊,把大量隻需要下載數據的節點,稱為peer,它們主要是用來不停地及時下載數據以滿足播放器解碼渲染的數據需求,進而為用戶帶來流暢的觀看體驗。而我們所做的事情就包括不停地重新再平衡具有上傳能力的節點數量,平衡它們的位置、存儲數據的分布,使其可以時刻滿足另外一些需要下載數據的節點的需求。為此,我們添加了一些強幹預的策略和措施來更好地平衡資源的供應和需求。在這裡,我們主要從供應端進行再平衡,因為需求主要是由于内容對用戶在不同周期的吸引力變化導緻的,是因用戶興趣行為導緻的,所以是不可預知的。

6、Nodes act as Seed & Peer

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)12

seed種子節點與下載方的peer節點有一個交集,但是在移動互聯網的持續爆發的過程中,這個交集并不大。因此,我們在不停的從一些終端向另一些終端跨端轉移供應數據和帶寬。

7、Supply-Demand Rebalancing in HDS

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)13

當我們把HCDN看作一個存儲市場時,節點包括那些不同的PC、BOX等等,它們構成了一個Hybird Distributed Storage集群,Hybird是指這些節點本身的類型不一樣,存儲容量、上傳能力等等也都是多樣性的;節點是分布式的,在線與否也是不固定的。整體看這個網絡,當我們調動它為Client APP服務時,相當于執行了存儲系統中的“讀操作”;而當我們不停的在網絡中推送平衡數據時,相當于存儲系統的“寫操作”。整體上來講,就是一個分布式存儲,隻不過存儲量非常大,規模可能有幾百個TB。我們通過雲端的Tracker實時的追蹤這些資源的上傳、存儲和分布狀态,進行存儲的再平衡。

8、What/How to Push

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)14

那麼,有哪些内容會不停地推送到存儲網絡裡面呢?這裡包括一些我們所能夠追蹤到的新連續劇的劇集、綜藝的劇集。每天會有大量的新節目産生,我們會按照預測的熱度進行推送,同時,會把一些過去分析的長尾資源通過不同的設備分發,以及在當前有熱度較高的節目(我們稱之為熱門的頭部内容)時,也會将其按照策略推送到不同的存儲節點上。因為存儲節點容量大小不一,在存儲不同類型的文件時,存儲策略和淘汰策略也不同。

9、HCDN客戶端架構

HCDN客戶端整體上圍繞着downloading task的管理過程,同時會加載一個P2P engineering和一個CDN engineering,無論有多少CDN供應商連接到愛奇藝的系統中,都可以按照一個性價比相對較高的機制進行篩選。在這個系統中,有一個QTT的增強網絡庫,它包含HTTP over UDP的能力,因為大部分商業CDN是标準HTTP協議的服務。P2P 除了策略模塊還包含對連接時的管理,包括對穿透的協助過程、任務的調度。因此,策略裡面包括擁塞控制、上傳的松馳探測、節點的交換PEX以及節點的淘汰;比如說,高丢包的節點需要丢掉,因為它的網絡Over Head會比較高一點。系統整體還有一個存儲模塊,對于直播不需要太多的存儲,但是點播是需要存儲的,并且這個存儲是根據用戶的設備情況來動态調整的,它會去考慮分塊、分片的存儲以及存儲之間的校驗過程。除了滿足圍繞TaskManager去做的下載過程以外,它還會去做推送。我們的主動幹預機制全部通過HDS推送模塊來實現,它也會用到Strategy、P2P和CDN。在上層的接口中,我們會同時暴露一個文件的服務接口和一個Local Server的服務接口,可以使得不同類型的播放模塊都能夠正常的使用。

10、Cross Platform

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)15

HCDN是跨平台、跨終端的,市面上能夠支持的不管是服務器還是客戶端類型的一些X86、ARM、MIPS設備,我們都能夠支持,操作系統包括Windows、Android、iOS、Mark、Linux以及OpenWrt。

11、HCDN Peer Strategy

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)16

從客戶端來看,我們追求的是局部的最優。局部最優就是P2P的客戶端隻需要追求下載能力的最大化,這個最大化是完全圍繞播放器的Buffer需要能力的最大化,它會去選擇最快的下載服務器,這樣也就帶來了一個局部質量最優效應。因為同樣選擇了最快的服務器節點,在網絡上也有一定的臨近性,包括快速淘汰丢包高的連接,因為丢包高的連接會帶來比較大的浪費,還有淘汰太慢的連接,太慢的連接影響了加載Buffer的速度,此外還有相當集中地使用一些連接。總的來說,下載的局部最優也是不影響播放體驗盡力而為的策略。松馳探測的提速是隻針對上傳節點的局部最優而言,它并不會一開始就将帶寬跑到一個最大化,而是一邊跑一邊去試探,如果過高就會降速,如果過低就會提速。

12、HCDN Tracker Strategy

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)17

同樣在雲端我們也有一套追求全局最優的策略。在給用戶選擇種子時,會給用戶選擇網絡地域最臨近的節點。如果是一個相對大的局域網的節點,則會去挑選最空閑的節點,盡可能地讓多的節點來分擔流量。此外,還會挑選非常充足的小節點和超級節點進行搭配組合,這樣能保證整個下載的多條鍊路能更好一點。由于有一些NAT網絡很難穿透,如果把對稱性和對稱性的節點分布在一起,基本上就跑不起來,因此,會去平衡不同的NAT類型的節點之間連接的互補性。在淘汰删除的策略上,也會盡可能盡早的去清除那些已經冗餘掉的資源,因為每一個節點的存儲是有限的,為了平衡,需要淘汰裡面的富裕資源。我們為運營商提供的是一個友好的策略,幾乎沒有什麼跨運營商的帶寬選擇,甚至都不跨地域的去調度節點,這對客戶端下載方來講,也是一個連接速度上的最優化。

13、HCDN Offload

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)18

上圖是兩個圖疊加在一起,上面的是P2P帶寬,下面的是CDN帶寬。可以看出,到了晚高峰,CDN帶寬不再往上漲,但是P2P帶寬還在上漲,如果把它疊加起來,意味着晚高峰用戶量還是在上漲的,如果沒有HCDN的P2P機制來Offload這些帶寬的話,這些帶寬疊加到CDN上是非常高的,是非常重的一個壓力和成本負擔。

三、IOCP開放緩存及共享經濟生态

1、IOCP對象

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)19

愛奇藝在HCDN網絡成熟穩定後,進一步地延伸發展了HCDN Inside業務,将它推廣部署到我們的一些緩存類合作夥伴的設備中,其中包括一些小運營商的合作夥伴、小區寬帶的服務商、閑置的專線帶寬商家以及一些存儲盒子和路由器包括小米、華為等,一起構建了愛奇藝開放緩存計劃,使各類合作夥伴能夠帶着自己的優勢、富裕資源加入到愛奇藝的視頻分發生态,獲取相應的收益。

2、IOCP中小運營商

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)20

對于中小運營商而言,我們會提供免費的硬件和軟件,使其能夠免幹預的直接将機器挂上線,挂上網絡後就可以分發愛奇藝的一些内容。這樣對他們來說,減少了一些跨網的流量,因為我們提供的這些内容的整個分發過程都是不需要運維的,所以對他們來說,操作起來也非常的簡單。我們将節點稱為DCache超級節點,我們把它直接挂在P2P網絡裡面,通過HCDN技術為中小運營商網内的愛奇藝用戶客戶端提供流量。

3、IOCP單位/小區帶寬

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)21

同樣地,對小區寬帶的服務商來講,它的規模相對更小,可能隻是服務于某個小區的幾千戶家庭。我們也會給他們提供軟件,讓他們部署到設備上去,減少小區寬帶的一些網絡擁塞情況,給他們帶來一個更好的上行流量改善,給用戶帶來一個更好的觀看體驗。

4、IOCP家庭存儲設備商

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)22

IOCP家庭存儲設備商是指那些做存儲盒子、OTT盒子的商家,他們有一些做出來的盒子可以群組成一個盒子的礦場或者集群。在這類設備上也有大量部署我們的軟件,可以把與其一起組編成一個大的存儲來服務在那個區域的用戶。

5、IOCP網絡集成服務商

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)23

IOCP網絡集成服務商是指做單位或園區寬帶接入的服務商,他們會集成愛奇藝的HCDN Inside軟件,在它的X86的服務器下面,就可以存主動的、動态的存很多愛奇藝的内容。同時,也可以服務它内網的用戶,以此來節省一些上行鍊路帶寬,如果還有冗餘,它也能服務一些外網的用戶,這樣就會帶來一些營收。我們的開放緩存計劃IOCP(iQIYI Open Cache Program),實際上是一個資源流量分賬的業務。

6、IOCP HDS資源錯峰更新

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)24

在管理這些緩存時,我們會預測它的内容熱度變化,去幫它去主動更新淘汰。在上圖中的藍色部分是指在低峰時段去幫它更新内容的帶寬,綠色部分是指在高峰時段去幫它為用戶提供帶寬,賺取收益的一些行為。錯峰運營的綠色模式對網絡内的其他網絡行為影響也就非常小。

7、HDS資源可視化分析

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)25

我們對于内容的分析,實際上就是對資源熱度變化分布的分析,在内部會有非常多的工作。其中包括熱度的變遷過程,上圖(右)為熱度遷移圖。

8、不同終端從HDS上獲取數據的能力

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)26

在HCDN分布式網絡中,不同的客戶端能夠獲取視頻數據的比例是不一樣的。如上圖所示,最高的可以做到90%以上,中間的幾類平台也能做到80%以上,并且部分在網絡方面有局限性的設備也能夠做到70%以上,這裡特指下載方的設備如移動端的手機。對于開放緩存的供應商合作夥伴來講,可以通過接入HCDN網絡獲得非常大的總帶寬份額。

9、視頻行業發展對更大規模分發的需要

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)27

就當前行業來說,随着基礎設施越來越好,光纖寬帶、寬帶中國政策的推進,很多家庭接入的帶寬可以達到50M~100M。另外,IPV6的快速推進以及5G網絡的發展,也都使得帶寬變得越來越高。對于用戶來講,他們對内容的需要會變得更加多樣化,包括VR視頻、4K/8K的超高分辨率的視頻、HDR視頻。VR視頻帶來的帶寬的急速翻倍, 4K/8K的超高分辨率的視頻和HDR視頻都會使得用戶對體驗越來越苛刻,也會使得視頻服務平台的帶寬進一步上漲。從内容的角度來講,我們提供長視頻、短視頻、互動直播并引入優秀的體育賽事節目,整體上會帶動對大規模分發、大規模帶寬的需要。所以對IOCP更大規模的分發業務來說,現在并不是發展結束,而是代表着新一輪發展的開始。

10、HCDN IOCP的産學結合

優酷算法分發(基于愛奇藝HCDN分發網絡的開放緩存)28

在做技術的過程中,我們也會與國内的一些高校合作。比如2018年與北京大學的一系列合作也已經産生了一些産學研的結果。在過去,高校大多會重點研究國外公司的技術,不過由于目前國内的用戶量和業務量都非常大,并且在複雜程度上也并不輸于國外,因此對國内技術與業務生态的研究也可以得到很好的發展。歡迎大家關注和參與IOCP計劃和HCDN Inside業務。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved