雷德剛,林 舸,唐新宇,黃曉鋒,黃承海
廣西廣播電視信息網絡股份有限公司,廣西南寧 530028
廣電互動電視CDN系統快速轉存推流技術
雷德剛,林 舸,唐新宇,黃曉鋒,黃承海
廣西廣播電視信息網絡股份有限公司,廣西南寧 530028
利用無差錯TCP傳輸協議縮短視頻推流服務器到與IPQAM間UDP協議的傳輸距離,并結合內存快速轉存服務器,設計一種新型的廣電互動電視CDN架構以及視頻推流方式。本文闡述了設計的思路、架構和轉存推流技術內容。
IPQAMUDP協議;TCP協議;快速轉存;分片算法;回源
廣電網絡的互動點播系統由包括服務器、傳輸網絡、IPQAM、用戶接入網等多個環節組成,哪個環節出現故障都會給用戶播放造成不同程度的影響,其中在服務器與IPQAM之間的視頻數據傳輸是最長的一個環節,這段距離的傳輸協議使用UDP協議,在傳輸過程中如有超過IPQAM所能承受范圍的網絡延時或者丟包現象,將會在用戶終端上出現點播馬賽克、卡頓等現象,極大影響用戶的體驗。
為了解決現在實際推流環境下UDP協議長距離傳輸易出現的網絡抖動問題,隔絕系統和網絡上的干擾,通過在CDN的邊緣節點布置大內存且無存儲硬盤的快速轉存推流服務器,采用內存作為中轉緩存,將快速轉存推流服務器前置到與分前端IPQAM同一交換機網絡內,使得快速轉存推流服務器與上級服務器的內容傳輸采用TCP可靠傳輸協議,轉存后向IPQAM以UDP協議繼續推流,這樣就大大縮短不可靠協議傳輸的距離,解決網絡抖動引起的各種問題。形成一套視頻內容高速可靠傳輸、推流質量明顯改善的快速轉存推流系統。
1)根據現狀進行改造,設計在邊緣節點推流服務器與IPQAM之間,增加快速轉存推流設備,同時將設備前置到分前端離IPQAM最近的點,通過交換機進行連接。
2)設計快速轉存推流服務器采用高IO讀寫內存作為中轉緩存,不配置存儲內容的硬盤,性能高,方便維護。
3)開發內存轉存推流技術,核心是使用內存作為數據緩存設備,來進行快速的數據讀取和發送。通過優化內存緩存算法,提高緩存的利用率,改善推流質量和提高推流輸出能力。
2.1 架構改造
2.1.1 邊緣城市節點推流網絡現狀
架構改造前,邊緣帶存儲的推流服務器放置在各地級市內中心機房,直接承載用戶的IPQAM分布式布放在各分前端(地級市下屬城區、縣、鎮)機房內,響應到用戶點播請求后,推流服務器推送視頻TS流給IPQAM設備,由IPQAM轉成RF信號供給用戶機頂盒進行接收和觀看。此種傳輸模式下,市中心機房與分前端的IPQAM間傳輸采用UDP協議,容易受到市中心機房到分前端的網絡環境距離長、節點多的影響,傳輸穩定性無法完全保證,在出現網絡抖動及延時的情況下,用戶的收視體驗較差。
2.1.2 改造后架構
設計在邊緣推流服務器與分前端IPQAM間增加一層快速轉存推流設備,盡可能多地從上一級推流服務器回源拉取熱門視頻內容,該設備與IPQAM一起放置在同一分前端機房內與交換機直連,長距離的向上回源視頻內容行為使用TCP協議(可靠協議),同局域網內的向下推流采用UDP協議,以此減少網絡抖動和延遲的影響。
根據轉存算法對CPU及內存容量的需求,通過對不同硬件配置的服務器進行測算,得出最佳的硬件配置組合。
3.1 內存轉存推流原理
快速轉存服務器首先向上級推流服務器請求視頻數據緩存在服務器內存中,若有用戶請求則高速讀取內存中數據提供給外部請求,實現快遞轉存推流功能。
3.2 轉存介質
與傳統存儲介質硬盤對比,內存讀寫速度快,數據傳輸時延低,可有效改善推流輸出質量,另外其故障率低的特點。
3.3 物理內存分配設計
推流服務器基礎容量:推流程序未連接用戶時消耗內存550MB,為使正常工作,預留1GB內存。
并發內存占用:是指每個連接上媒體服務器所消耗的單個連接內存開銷的總和。推流程序占用11.3%的內存,該服務器內存為64GB,則程序占用7405MB內存。此時推流并發為217個,則每平均每個連接消耗34MB內存,根據實際測試數據,純內存或固態盤服務器可以支撐2000并發,所有我們設計每臺轉存服務器的并發數為2000,則需要消耗34MB×2000=68GB的內存。
操作系統預留容量:為使正常工作,預留2GB內存。
熱點分片緩存:在推流的同時,會將視頻內容分片存儲在內存磁盤上。若有多個用戶同時訪問相同視頻內容,則媒體服務器將一直將直接使用內存磁盤上的視頻分片數據,并且這些數據分片保持為興奮狀態,不進行刪除。
整個服務器內存分配如下設計:操作系統預留:2GB
推流服務器基礎:1GB
并發占用內存:34M×2000=68GB熱點分片緩存:64-128GB
3.4 快速轉存服務器選型
3.4.1 快速轉存服務器硬件配置
單臺快速轉存服務器使用雙至強1.70GHz的CPU和192G內存情況下,CPU使用率為75%左右;推流輸出帶寬達到7.5Gbps時,機頂盒視頻播穩定、畫面穩定,超過這個數值將出現收視馬賽克現象,測試結果表面快速轉存的算法在192G以上內存空間支撐時表現出最優的推流輸出能力,為了費效比的最優,建議采用以下基本配置。
CPU配置:2×Intel(R) Xeon(R) CPU E5-2609 v4 @ 1.70GHz
內存配置:6×32GB
網卡配置:4×1GB 網絡子卡、2×10GB 網絡子卡
3.4.2 成本分析
四級CDN架構與三級CDN架構對比,雖然需多投入快速轉存推流設備,但實際換算推流流量每Gbps輸出硬件成本為1.85萬元,低于原架構的2.51萬元,加上只配置內存無硬盤的服務器對維護要求不高,兩者綜合,經濟效益十分突出。
4.1 轉存方式
分片算法采用定長分片的方法,將媒體文件分割成大小一樣的片段,先系統中采用8M一個分片。采用該方法,能簡單高效的定位用戶的請求、響應用戶拖動等操作,而且在進行分片熱點計算的時候,能快速定位到每個分片。

分片0(8M) 分片1(8M) 分片2(8M) 分片3(8M) 分片4(8M)
4.2 緩存算法
熱點緩存算法能夠計算出熱點分片,通過緩存共享機制,提高用戶請求緩存命中率,可減少實時回源量,提升推流能力。具體算法如下。
4.2.1 熱點算法
使用分片訪問頻率來作為分片熱點的計算方法,訪問頻率越高則認為該分片熱度越大,即后續被訪問的機率就越大。故在做熱點計算的時候,不能完全將每個分片完全分離開,各自獨立計算熱度,而應該考慮其所處的位置,當前被訪問的分片及其所在視頻觀看的熱度。
4.2.2 預讀算法
當用戶在訪問分片n的時候,分片n+1將會有很大機率被訪問,增加一個預讀機制,將分片n+1進行預讀緩存,并且將分片n+1的熱度直接配置為1,即進行熱點分片預寫入。
4.2.3 更新算法
在進行熱點文件替換的時候,按照熱度值從小到大進行清理,即緩存熱度值高的分片數據,另外為了防止熱點分片被頻繁換出,需要記錄每個分片的緩存時間,并且為每個分片配置一個保護時長,即在該時長內,熱點分片不會被換出。
通過互動點播CDN架構的改造和快速轉存技術的開發和測試,實現了使用TCP協議替代UDP協議進行長距離傳輸視頻流,解決了網絡抖動、延時等因素引起的各種用戶收視體驗不佳問題,同時使用分片式內存存儲轉發機制提升了內存空間使用率,并提高了回源推流和轉存推流的帶寬輸出能力,通過成本核算,每Gbps推流流量成本得到較大的降低,最終可使快速轉存推流技術得以良好的應用。
[1]W.Richard Stevens.TCP/IP詳解卷1:協議[M].北京:機械工業出版社,2016:107-269.
[2]梁潔,陳戈,等.內容分發網絡(CDN)關鍵技術、架構與應用[M].北京:人民郵電出版社,2013:356-391.
TP3
A
1674-6708(2017)192-0054-02
雷德剛,廣西廣播電視信息網絡股份有限公司。林舸,廣西廣播電視信息網絡股份有限公司。唐新宇,廣西廣播電視信息網絡股份有限公司。黃曉鋒,廣西廣播電視信息網絡股份有限公司。黃承海,廣西廣播電視信息網絡股份有限公司。