• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      流媒體擁塞控制中的整形算法研究

      2018-04-03 07:11:05南京郵電大學(xué)錢國明
      電子世界 2018年5期
      關(guān)鍵詞:令牌包率碼率

      南京郵電大學(xué) 溫 璋 錢國明

      1.引言

      隨著近年來新興直播平臺,小視頻軟件的興起,對于圍繞著用戶的視頻業(yè)務(wù),也提出了新的要求:降低卡頓率、抗網(wǎng)絡(luò)不穩(wěn)定性等方面急需提高。所以對于視頻的數(shù)據(jù)發(fā)送源——流媒體服務(wù)器(Media Server,以下簡稱MS),需要在軟件設(shè)計上,針對網(wǎng)絡(luò)性能部分做重點的優(yōu)化,以跟上當(dāng)前視頻業(yè)務(wù)市場的網(wǎng)絡(luò)能力和用戶需求。

      實時視頻的傳輸要求丟包率低、時延小、碼率抖動小。這幾個特征結(jié)合起來決定了實時視頻的質(zhì)量。出現(xiàn)突發(fā)的流量導(dǎo)致網(wǎng)絡(luò)擁塞,影響服務(wù)質(zhì)量。流量整形技術(shù)就是針對在網(wǎng)絡(luò)產(chǎn)生擁塞的情況下限制和調(diào)整流媒體服務(wù)器的發(fā)送速率,適當(dāng)提高視頻數(shù)據(jù)的發(fā)送優(yōu)先級,在減輕網(wǎng)絡(luò)突發(fā)壓力的同時,優(yōu)先保障視頻數(shù)據(jù)的傳輸,保證用戶體驗。流量整形是對網(wǎng)絡(luò)流量的速率進行主動調(diào)控。最早出現(xiàn)在處于網(wǎng)絡(luò)交換與網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點位置的網(wǎng)絡(luò)設(shè)備中,其主要目的是為了解決突發(fā)數(shù)據(jù)流對網(wǎng)絡(luò)所帶來的擁塞問題,是對網(wǎng)絡(luò)流量的速率進行主動調(diào)控[1-2]。

      在本文中,我們將重點放在流量整形技術(shù)應(yīng)用在流媒體的速率控制服務(wù)(RCS)上。令牌桶算法在應(yīng)用于流量整形和速率限制時,一方面可控制網(wǎng)絡(luò)傳輸速率(將平均情況下的速率控制在S),并且在一定情況下允許突發(fā)數(shù)據(jù)的發(fā)送(突發(fā)數(shù)據(jù)的大小最多為桶的大小T)。傳統(tǒng)令牌桶算法工作原理是以恒定的速率s往桶中添加令牌,當(dāng)桶中令牌個數(shù)達到桶容量時,不再生產(chǎn)新令牌,阻止數(shù)據(jù)入桶。數(shù)據(jù)的是否發(fā)送,取決于在桶內(nèi)是否能獲得令牌。

      本文的媒體服務(wù)器軟件基于nginx優(yōu)化,雖然Nginx有基于令牌桶算法的請求限制模塊,通過配置它們可方便的控制令牌速率,自定義調(diào)節(jié)限流,實現(xiàn)基本的限流控制[3],但這只是通過限制用戶上線頻率限流,并沒有對每一個用戶的數(shù)據(jù)發(fā)送管道進行優(yōu)化。本文應(yīng)用數(shù)傳領(lǐng)域的流量整形技術(shù),基于令牌桶算法,結(jié)合視頻業(yè)務(wù)的特點,將流量整形算法設(shè)計到流媒體服務(wù)器中,在應(yīng)用層對每一個用戶都控制數(shù)據(jù)的讀取和發(fā)送速率,提高自適應(yīng)網(wǎng)絡(luò)能力,優(yōu)化視頻體驗,并用實際部署的MS流量做報文分析測試改進后的效果。

      2.MS數(shù)據(jù)處理邏輯設(shè)計

      數(shù)據(jù)處理邏輯包含兩個大模塊:

      (1)數(shù)據(jù)緩存模塊:用來從磁盤上讀取實體文件,解析出文件碼率,分包打時戳并將打好時戳的數(shù)據(jù)包壓入數(shù)據(jù)發(fā)送令牌隊列;

      (2)數(shù)據(jù)發(fā)送模塊:接收cache模塊入隊列的數(shù)據(jù),做流量整形后發(fā)出。

      2.1 數(shù)據(jù)緩存模塊(cache module)設(shè)計

      Cache的主要功能就是從媒體文件中讀取數(shù)據(jù),并將數(shù)據(jù)打上時間戳入隊,時間戳的計算方法模擬令牌桶原理,即每一個數(shù)據(jù)包的時間戳計算公式(1)如下:

      其中T為當(dāng)數(shù)據(jù)包的rtc時間戳,size為當(dāng)前數(shù)據(jù)包的大?。ü潭?316字節(jié)),speed為當(dāng)前流媒體文件碼率,t為上一個數(shù)據(jù)包的rtc時間戳。從公式可以看出,單位時間1秒內(nèi),將size=1316帶入,可計算發(fā)送報文數(shù)n如公式(2)所示:

      即給n個數(shù)據(jù)包打上時間戳。即time秒內(nèi)理論發(fā)送數(shù)據(jù)可以達到公式(3):

      從上面的步驟可以看出,通過RTC時戳,在單位時間內(nèi)精確控制發(fā)包個數(shù),從而達到控制均勻控制碼率的目的。相對于傳統(tǒng)令牌桶軟件實現(xiàn)相比,這種時間戳控制方式,在保證速率控制的同時,減少了發(fā)送模塊對于令牌結(jié)構(gòu)出隊入隊,申請內(nèi)存等操作,提高系統(tǒng)性能。

      2.2 數(shù)據(jù)發(fā)送模塊(shape_sender module)設(shè)計

      Shaper_sender模塊框架如圖1所示:

      圖1 Shaper_sender模塊框架

      Shaper模塊主要負責(zé)將cache模塊入隊的數(shù)據(jù)進行發(fā)送,并打點計算發(fā)送結(jié)果,根據(jù)單位時間內(nèi)發(fā)送的字節(jié)數(shù)B計算出當(dāng)前的鏈路帶寬b,實時更新每一個發(fā)送對端的鏈路速度,針對每一路用戶的數(shù)據(jù)流進行數(shù)據(jù)降速或者增速。

      本文MS系統(tǒng)結(jié)合具體的業(yè)務(wù)場景增加了桶水位線的優(yōu)化:如果當(dāng)前媒體文件的碼率為s,MS數(shù)據(jù)緩存模塊以每1/s的精度,從當(dāng)前RTC時鐘自加,給每個數(shù)據(jù)包打上時間戳。數(shù)據(jù)發(fā)送模塊預(yù)先開辟一定大小m的隊列,將打好時間戳,并且需要發(fā)送出去的數(shù)據(jù)入隊,當(dāng)數(shù)據(jù)包到達發(fā)送時間后,獲得令牌,出隊發(fā)送。每個隊列有一條上水位線H和下水位線L,當(dāng)網(wǎng)絡(luò)阻塞時,隊列內(nèi)的數(shù)據(jù)大于等于H,則新到的數(shù)據(jù)不入隊,隊列中的每個數(shù)據(jù)時間戳往后移動d個精度單位(unit),降低發(fā)送速率,減少擁塞;降低后的速率為,如式(4)所示:

      當(dāng)網(wǎng)絡(luò)狀況良好,無發(fā)送失敗記錄,并且隊列中的數(shù)據(jù)量在[L,H]之間,則將令牌生成間隔相對提高%d,按緩慢升速發(fā)送,如式(5)所示:

      直到隊列水位線下降到L處,為了保留緩存,數(shù)據(jù)發(fā)送速率回復(fù)到媒體文件碼率s。當(dāng)數(shù)據(jù)發(fā)送成功后,該數(shù)據(jù)的令牌被銷毀。所以令牌桶的原理就是通過控制令牌產(chǎn)生的速度,將數(shù)據(jù)發(fā)送碼率平穩(wěn)在s左右,對于每一個長穩(wěn)連接,令牌桶的數(shù)據(jù)流量為B,如式(6)所示:

      3.應(yīng)用場景下流量整形前后測試

      本文流媒體服務(wù)器在某大型運營商的CDN網(wǎng)絡(luò)中進行的測試結(jié)果:

      (1)單用戶發(fā)包波形比較

      帶寬充足的情況下,對于單點用戶,用wireshark抓包,比較出流IO圖。

      圖2 流量整形前后的數(shù)據(jù)發(fā)送碼率對比

      從圖2左可以看出,在抓包的10秒內(nèi),有2次明顯的碼率欠載。圖2右,優(yōu)化過后的流媒體服務(wù)器數(shù)據(jù)發(fā)送碼率明顯平齊,這表明流量整形已經(jīng)生效:在網(wǎng)絡(luò)中提高了抗抖動能力。

      (2)增加丟包率場景下的網(wǎng)絡(luò)性能指標(biāo)比較

      在城域網(wǎng)里,IPTV的容忍丟包率是五萬分之一[5],所以重點測試和對比五萬分之一附近的卡頓狀況,如圖3:

      圖3 丟包率和擁塞指數(shù)關(guān)系圖

      圖3橫軸表示丟包率(單位是1/500000),縱軸表示擁塞指數(shù)(單位1/100),表示在當(dāng)前丟包率下,網(wǎng)絡(luò)設(shè)備監(jiān)控到的整體鏈路擁塞程度從圖中可以對比出,10/500000丟包率以內(nèi),兩者相差不多,流量整形算法系統(tǒng)略優(yōu),但到了10/500000這個閥值,出現(xiàn)了明顯的差別,到25/500000的時候,兩者又趨于相同。所以可以得出結(jié)論:流量整形后的交換機擁塞指數(shù)要大大低于非整形的軟件,在丟包可控的小概率丟包情況下,流量整形技術(shù)可以明顯降低交換機側(cè)的擁塞,優(yōu)化網(wǎng)絡(luò)性能,在IP網(wǎng)絡(luò)傳輸中,流量整形并不會引起額外的端到端延遲,經(jīng)正確整形后的流量將在中間網(wǎng)絡(luò)節(jié)點經(jīng)歷更小的網(wǎng)絡(luò)擁塞。

      (3)水位線參數(shù)對服務(wù)性能的影響

      圖4 水位線和終端欠載率關(guān)系圖

      測試環(huán)境模擬恒定的丟包率,模擬一般網(wǎng)絡(luò)擁塞可控情況下的城域網(wǎng)丟包范圍[1/50000,1/10000],流媒體服務(wù)器對每一個發(fā)送用戶都維護一個數(shù)據(jù)緩存水位,分別在0.5s,1s,1.5s,2s,2.5s,3s各個值進行測試分析。從圖4中可以看出,在可控網(wǎng)絡(luò)質(zhì)量情況下,調(diào)整流媒體shaper模塊的緩存水位線參數(shù),可以有效的提高在網(wǎng)絡(luò)閃斷獲擁塞時候的QOS指標(biāo),減少終端因流媒體數(shù)據(jù)欠載導(dǎo)致的卡頓花屏問題。水位線的靈活設(shè)置,雖然犧牲了很小一部分的視頻實時性,但能夠有效保證流媒體服務(wù)器的數(shù)據(jù)流質(zhì)量。

      4.結(jié)語

      本文基于令牌桶算法,設(shè)計并實現(xiàn)優(yōu)化了流媒體服務(wù)器的數(shù)據(jù)發(fā)送軟件。在軟件設(shè)計中,采用了數(shù)據(jù)緩存和發(fā)送模塊分離的思路,將令牌桶算法變種為用時間戳控制,并設(shè)置了發(fā)送隊列數(shù)據(jù)包緩存水位線,用于更加靈活的控制抗抖動能力。從測試結(jié)果來看,基本達到了流量整形目的,提高網(wǎng)絡(luò)側(cè)QOS指標(biāo),降低擁塞和卡頓率。

      [1]J.Y.L.Boudec.Some Properties of Variable Length Packet Shapers.IEEE/ACM Transactions On Networking,2002,10(3):329-338.

      [2]JohanssonI.RFC5506:Supportforreducedsizerealtirnetrailsportconl rolprotocol(RTCP):Opportunities and consequenccs[J/OL].http://www.ietf.org/rfc/rfc5506.txt,2009.

      [3]Paez S,Kathern G,Guevara Amaya J C.Traffic management algorithms: Leaky Bucket,Token Bucket and Virl:ual Scheduling[J].Tecnura,2011,15(29):76-89.

      [4]Zhang Ertong,Xu Li song.Capacity and token rate estimation for networks with token bucket shapers[J].Computer Networks The International Journal of Computer and Telecommunications Networking,2015,9:1-11.

      [5]中國電信上海公司IPTV質(zhì)量技術(shù)指標(biāo)體系V1.1,2008:7.

      猜你喜歡
      令牌包率碼率
      支持向量機的船舶網(wǎng)絡(luò)丟包率預(yù)測數(shù)學(xué)模型
      稱金塊
      一種基于噴泉碼的異構(gòu)網(wǎng)絡(luò)發(fā)包算法*
      基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
      一種新的VANET網(wǎng)絡(luò)鏈路丟包率估計算法
      基于狀態(tài)機的視頻碼率自適應(yīng)算法
      動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
      計算機工程(2018年8期)2018-08-17 00:26:54
      TCN 協(xié)議分析裝置丟包率研究
      基于場景突變的碼率控制算法
      X264多線程下碼率控制算法的優(yōu)化
      計算機工程(2015年8期)2015-07-03 12:19:56
      衡阳市| 错那县| 舒城县| 孟州市| 施秉县| 满洲里市| 河东区| 灵川县| 饶阳县| 芜湖市| 雅安市| 右玉县| 德化县| 通州区| 九寨沟县| 乡城县| 陵川县| 苍梧县| 兴和县| 孝感市| 大荔县| 根河市| 黄冈市| 宁波市| 扶余县| 富锦市| 金阳县| 滕州市| 高邮市| 周口市| 霞浦县| 田林县| 博爱县| 松潘县| 蒲城县| 南投市| 藁城市| 台北县| 西畴县| 鲜城| 六枝特区|