帶寬估計的方法、裝置和系統與流程
2023-05-09 06:29:21 3

本發明涉及通信技術應用領域,具體而言,涉及一種帶寬估計的方法、裝置和系統。
背景技術:
在視頻傳輸中的源端和目的端的傳輸圖像的流暢性受許多因素的影響,比如編解碼速率,以及圖像傳輸速率,本發明就是在研究網絡中圖像傳輸速率的影響因素-現有網絡帶寬-的前提下,提出一種對現有帶寬測量算法pathchirp的改進,進而使其能夠在視頻傳輸中為發送端發送視頻的發送速率提供一個可以使用的數值,使其能在視頻傳輸中儘可能傳輸最大的數據來量,從而使其接收端處理視頻更加流暢,不會出現接收端處於飢餓狀態,使接收端視頻顯示不流暢。目前可用帶寬的估計有很多種方式,總結現存的可用於網絡中可用帶寬估計的方法,可以分為三類:
基於探測的方法、基於感知的方法和基於模型的方法。
基於探測的方法是指節點通過發送端到端的探測包來估計路徑可用帶寬的方法。這些方法原理上都是基於探測包間距模型或者探測包速率模型。重點介紹一下探測方法(本發明的所採用的):首先建立發送探測包間距和接收探測包間距跟可用帶寬間的數學關係,然後測量和記錄發送探測包間距和接收探測包間距來獲取路徑的可用帶寬。
而模型則採用了更直觀的方法,其原理如下:如果探測包的發送速率小於路徑的帶寬,那麼探測包將經歷很小的端到端延時;相反,如果探測包的發送速率大於路徑的可用帶寬,探測包就會在節點的發送隊列中累積,從而造成端到端延時增加。
因而通過觀察探測包的延時變化,確定開始發生延時增加時探測包的發送速率也就得到了路徑的可用帶寬。另外,模型也可以跟模型聯合使用。在過去的十年內,研究人員提出了許多基於探測的可用帶寬獲取方法,這其中比較有代表性的工作有Spruce,topp,pathchirp,IGI,pathload等,這些方法的發展過程主要是為了建立探測包間距和可用帶寬間更準確的數學關係,從而提高可用帶寬估計的準確度。
其中,pathchirp重複做若干次以下的過程以後再得出平均帶寬,每次利用一系列發送速率加權平均來近似代表現有的帶寬,其具體做法是自我誘導阻塞的方式快速佔用鏈路帶寬,使得鏈路出現延時。它首先根據預先假設的帶寬(理論上的)上下限來,發送速率指數遞增因子,計算出要發送的測試包裹數量,然後以指數遞增方式發送測試數據包裹並且打下時間戳記錄在包裹中,同樣另一端每接收一個數據包就打一個時間戳,記錄在包裹裡面。之後計算出從發送到接收到數據包的時間,進而得到傳輸相鄰測試數據包的時間延時。最終從n個測試數據包裡得n-1個時間延時,然後依次遍歷這n-1個延時找到一系列的excursion。
Excursion的定義:
一個延時增加的點,設為一個excursion的開始,excursion的結束點定義為第一個滿足如下:
其中q(j)代表發送第j數據包與發送第j-1個數據包的延時。
其中j可能大於n-1,此時稱為非終止excursion;
然後對於根據延時所處的區間將n個發送包裹進行分類:
情況1,屬於終止excursion的包裹;
情況2,屬於非終止excuision的發送包裹;
情況3,其他包裹。
對於情況1帶寬做如下估計如果q(K)0且N<5,N加1,轉向(3);
iii如果N=5那麼輸出最後一次的加權帶寬,轉向(6);
(6)結束。
綜上,圖3中把延時數組分成區域的依據是:
Excursion的定義:
在延時數組中,某一個延時增加的點,設為一個excursion的開始,excursion的結束點定義為第一個滿足如下:
其中q(j)代表發送第j數據包與發送第j-1個數據包的延時。
其中j可能大於n-1,此時稱為非終止excursion
然後對於根據延時所處的區間將n個發送包裹進行分類:
屬於終止excursion的包裹
屬於非終止excuision的發送包裹
其他包裹。
其中,圖3中Ek:發送第k次的包裹時鏈路的估計帶寬
Rl:RI表示第I個包裹的發送速率
qk:延時數組的第K個延時。
excursion:偏移區間。
計算要發送的包裹數量流程見流程圖4,圖4是根據本發明實施例的一種帶寬估計的方法中計算要發送的包裹數量的流程示意圖。提供發送一個組數據包裹的個數,這個個數的由來。發送速率不斷地乘以遞增因子,直到達到最大的發送因子,在這期間不斷地遞增圖3中Sum的值,最後發送速率達到最大值,這時的Sum就是要發送的包裹個數。具體如下:
(1)程序事先輸入鏈路的最高傳輸帶寬以及最低傳輸帶寬,包裹發送速率的遞增因子,發送速率r初始化為當前的最低速率。
(2)以r速率開始發送,發送後下一次的發送速率為當前發送速率的乘以速率遞增因子,發送次數加1。
判斷發送速率是否小於最高發送速率,如果小於繼續繼續(2),否則推出,輸出發送次數。
實施例二
根據本發明實施例的另一方面,還提供了一種帶寬估計的裝置,圖5是根據本發明實施例的帶寬估計的裝置的結構示意圖,如圖5所示,包括:
接收模塊52,用於接收輔助單元發送的帶寬探測數據包;遍歷模塊54,用於在接收帶寬探測數據包之後,遍歷帶寬探測數據包,並判斷接收帶寬探測數據包的次數是否滿足預設條件;匹配模塊56,用於依據判斷結果得到對應的帶寬。
本申請實施例提供的帶寬估計的裝置中,通過接收輔助單元發送的帶寬探測數據包;在接收帶寬探測數據包之後,遍歷帶寬探測數據包,並判斷接收帶寬探測數據包的次數是否滿足預設條件;依據判斷結果得到對應的帶寬,達到了有效測算帶寬的目的,從而實現了提升帶寬的測量精度的技術效果,進而解決了由於相關技術提供的探測方法在實現過程中存在測量精度低的技術問題。
可選的,遍歷模塊54包括:第一判斷單元,用於判斷次數是否為預設閾值;或,第二判斷單元,用於判斷次數是否等於0。
進一步地,可選的,匹配模塊56包括:第一匹配單元,用於在判斷結果為次數等於預設閾值的情況下,輸出次數對應的加權帶寬。
可選的,第一匹配單元包括:第一計算子單元,用於計算每對相鄰帶寬探測數據包之間的延時,並依據延時進行分組,得到延時數組;第一遍歷子單元,用於遍歷延時數組,並判斷是否遍歷完延時數組;第二計算子單元,用於在判斷結果為是的情況下,計算加權平均帶寬;分析子單元,用於分析帶寬探測數據包得到內存的平均使用率;第三計算子單元,用於依據加權平均帶寬和平均使用率,得到加權帶寬。
可選的,匹配模塊56包括:第二匹配單元,用於在判斷結果為次數等於0,或,次數大於0,且次數小於預設閾值的情況下,執行遍歷帶寬探測數據包,並計算相鄰加權帶寬的均方差。
進一步地,可選的,第二匹配單元包括:第四計算子單元,用於計算每對相鄰帶寬探測數據包之間的延時,並依據延時進行分組,得到延時數組;第二遍歷子單元,用於遍歷延時數組,並判斷是否遍歷完延時數組;第一判斷子單元,用於在判斷結果為否的情況下,判斷延時數組是否屬於預設偏移區間;匹配子單元,用於在判斷延時數組不屬於預設偏移區間的情況下,加權帶寬為第i個帶寬探測數據包發送速率對應的帶寬;第二判斷子單元,用於在判斷延時數組屬於預設偏移區間的情況下,判斷延時數組是否屬於預設終止偏移區間。
可選的,第二判斷子單元,用於在判斷延時數組不屬於預設終止偏移區間的情況下,加權帶寬為第i個帶寬探測數據包發送速率對應的帶寬;在判斷延時數組屬於預設終止偏移區間的情況下,判斷第k個延時數組是否小於第k+1個延時數組;在判斷結果為是的情況下,得到加權帶寬為第k個延時數組對應的帶寬;在判斷結果為否的情況下,得到加權帶寬為第i個帶寬探測數據包發送速率對應的帶寬。
可選的,本申請實施例提供的帶寬估計的裝置還包括:第一發送模塊,用於在接收輔助單元發送的帶寬探測數據包之前,向輔助單元發送測試帶寬請求消息;文件接收模塊,用於接收輔助單元依據測試帶寬請求消息返回的配置文件;第二發送模塊,用於依據配置文件生成配置數據,並將配置數據發送至輔助單元。
實施例三
根據本發明實施例的又一方面,還提供了一種帶寬估計的系統,如圖2所示,包括:輔助單元和計算單元,輔助單元與計算單元連接,其中,
輔助單元,用於依據當前時間確定發送帶寬探測數據包的數量,並將帶寬探測數據包發送至計算單元;計算單元,用於接收輔助單元發送的帶寬探測數據包,得到當前帶寬;其中,計算單元包括:圖5所示的一種帶寬估計的裝置。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、伺服器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬碟、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。