本發(fā)明涉及通信技術領域,特別是涉及一種控制流量帶寬的方法和裝置。
背景技術:
目前,服務質量(英文:Quality of Service,簡稱:QoS)技術被廣泛應用于解決網(wǎng)絡延遲和阻塞等問題。當網(wǎng)絡過載或者擁塞時,QoS技術通過對不同數(shù)據(jù)流的流量帶寬設置不同的優(yōu)先級,可以確保關鍵業(yè)務的數(shù)據(jù)流具有足夠的流量帶寬,從而使得關鍵業(yè)務和關鍵應用不受延遲或丟包的影響。
對于采用QoS技術的網(wǎng)絡設備來說,該網(wǎng)絡設備可以為指定數(shù)據(jù)流分配用于標識優(yōu)先級的標簽,在接收到所述指定數(shù)據(jù)流的報文時該網(wǎng)絡設備可以將所述指定數(shù)據(jù)流分配得到的標簽添加到所述指定數(shù)據(jù)流的報文中,網(wǎng)絡設備按照報文中攜帶的標簽所標識的優(yōu)先級對報文進行轉發(fā)控制。因此,通過為關鍵業(yè)務的數(shù)據(jù)流分配較高優(yōu)先級的標簽而為非關鍵業(yè)務的數(shù)據(jù)流分配較低優(yōu)先級的標簽,不同數(shù)據(jù)流在網(wǎng)路設備出口處占用的帶寬得以被控制,從而保證了關鍵業(yè)務在網(wǎng)絡設備出口處占用足夠的帶寬。
發(fā)明人經(jīng)過研究發(fā)現(xiàn),在傳統(tǒng)的QoS技術中,網(wǎng)絡設備按照用戶預先定義的策略為指定數(shù)據(jù)流分類用于標識優(yōu)先級的標簽,其中,用戶預先定義的策略通常是按照正常情況下數(shù)據(jù)流的流量占用網(wǎng)絡鏈路帶寬的情況定義的。但在實際網(wǎng)絡環(huán)境中,不同數(shù)據(jù)流的流量在網(wǎng)絡設備入口處占用帶寬的情況經(jīng)常變化。有時,在非關鍵業(yè)務的數(shù)據(jù)流流量過度擠占網(wǎng)絡鏈路帶寬的情況下,關鍵業(yè)務的數(shù)據(jù)流流量在網(wǎng)絡設備入口處就已經(jīng)沒能占用到足夠的帶寬,因此,網(wǎng)絡設備僅僅按照用戶預先定義的策略為數(shù)據(jù)流分類用于標識優(yōu)先級的標簽,關鍵業(yè)務的數(shù)據(jù)流流量在出口處也難以保證占用足夠的帶寬,關鍵業(yè)務也就難以保證不受延遲、丟包的影響。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是,提供一種控制流量帶寬的方法和裝置,以避免在非關鍵業(yè)務的數(shù)據(jù)流流量過度擠占鏈路帶寬的情況下關鍵業(yè)務的數(shù)據(jù)流流量在網(wǎng)絡設備入口處和出口處占用帶寬不足的情況,從而保證關鍵業(yè)務不受延遲、丟包的影響。
為解決上述技術問題,本發(fā)明提供了一種控制流量帶寬的方法,,應用于網(wǎng)絡設備,包括:
獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果,其中,所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量;
通過機器學習模型,對所述當前流量統(tǒng)計結果進行計算,得到當前調整策略,其中,所述機器學習模型是通過對所述第一數(shù)據(jù)流集合的歷史流量狀況滿意度進行學習而訓練得到的,所述歷史流量狀況滿意度表示在歷史時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度,在所述歷史時間段內所述網(wǎng)絡設備采用歷史調整策略和第一預先定義策略對所述第一數(shù)據(jù)流集合進行流量帶寬控制;
根據(jù)所述當前調整策略和所述第一預先定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;
其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
可選的,所述通過機器學習模型,對所述第一數(shù)據(jù)流集合的流量統(tǒng)計結果進行計算,得到當前調整策略,包括:
將所述當前流量統(tǒng)計結果分別與各可選調整策略輸入到所述機器學習模型,得到所述機器學習模型對應于各可選調整策略分別輸出的當前流量狀況滿意度;
選取最大的當前流量狀況滿意度對應的可選調整策略,作為所述當前調整策略。
可選的,所述機器學習模型具體為深度神經(jīng)網(wǎng)絡。
可選的,還包括:
在可選歷史時間段中進行采樣,得到目標歷史時間段;
根據(jù)所述目標歷史時間段對應的滿意度誤差,對所述深度神經(jīng)網(wǎng)絡的權重進行更新;
其中,所述目標歷史時間段對應的滿意度誤差具體為在先流量狀況滿意度與在后流量狀況滿意度之間的誤差,所述在先流量狀況滿意度表示在目標歷史時間段內所述第一數(shù)據(jù)流量集合的歷史流量統(tǒng)計結果滿足期望的程度,所述在后流量狀況滿意度表示在所述目標歷史時間段的下一時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度。
可選的,
所述在可選歷史時間段中進行采樣,得到目標歷史時間段,具體為:在所述可選歷史時間段中進行多次采樣,得到多個目標歷史時間段;
所述根據(jù)所述目標歷史時間段對應的滿意度誤差,對所述深度神經(jīng)網(wǎng)絡的權重進行更新,具體為:根據(jù)多個所述目標歷史時間段對應的滿意度誤差,采用梯度下降法對所述深度神經(jīng)網(wǎng)絡的權重進行多次更新。
可選的,各所述可選歷史時間段被采樣為所述目標歷史時間段的概率隨時間線性衰減,其中,越接近于所述當前時間段的所述可選歷史時間段,被采樣為所述目標歷史時間段的概率越大。
可選的,所述可選歷史時間段與當前時刻之間時間差不超過時間差閾值。
可選的,在所述獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果之后,還包括:
以預設常數(shù)為概率,在第一結果和第二結果中進行隨機選擇;
若隨機選擇結果為所述第一結果,進入執(zhí)行所述對所述當前流量統(tǒng)計結果進行計算;
若隨機選擇結果為所述第二結果,隨機選取一個可選調整策略作為當前調整策略,進入執(zhí)行所述為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽。
可選的,還包括:
根據(jù)第二預先定義策略,為所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流;
其中,所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
此外,本發(fā)明還提供了一種控制流量帶寬的裝置,包括:
獲取單元,用于獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果,其中,所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量;
計算單元,用于通過機器學習模型,對所述當前流量統(tǒng)計結果進行計算,得到當前調整策略,其中,所述機器學習模型是通過對所述第一數(shù)據(jù)流集合的歷史流量狀況滿意度進行學習而訓練得到的,所述歷史流量狀況滿意度表示在歷史時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度,在所述歷史時間段內所述網(wǎng)絡設備采用歷史調整策略和第一預先定義策略對所述第一數(shù)據(jù)流集合進行流量帶寬控制;
第一分配單元,用于根據(jù)所述當前調整策略和所述第一預先定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;
其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
可選的,所述計算模型,具體用于:
將所述當前流量統(tǒng)計結果分別與各可選調整策略輸入到所述機器學習模型,得到所述機器學習模型對應于各可選調整策略分別輸出的當前流量狀況滿意度;
選取最大的當前流量狀況滿意度對應的可選調整策略,作為所述當前調整策略。
可選的,所述機器學習模型具體為深度神經(jīng)網(wǎng)絡。
可選的,還包括:
采樣單元,用于在可選歷史時間段中進行采樣,得到目標歷史時間段;
更新單元,用于根據(jù)所述目標歷史時間段對應的滿意度誤差,對所述深度神經(jīng)網(wǎng)絡的權重進行更新;
其中,所述目標歷史時間段對應的滿意度誤差具體為在先流量狀況滿意度與在后流量狀況滿意度之間的誤差,所述在先流量狀況滿意度表示在目標歷史時間段內所述第一數(shù)據(jù)流量集合的歷史流量統(tǒng)計結果滿足期望的程度,所述在后流量狀況滿意度表示在所述目標歷史時間段的下一時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度。
可選的,
所述采樣單元,具體用于:在所述可選歷史時間段中進行多次采樣,得到多個目標歷史時間段;
所述更新單元,具體用于:根據(jù)多個所述目標歷史時間段對應的滿意度誤差,采用梯度下降法對所述深度神經(jīng)網(wǎng)絡的權重進行多次更新。
可選的,各所述可選歷史時間段被采樣為所述目標歷史時間段的概率隨時間線性衰減,其中,越接近于所述當前時間段的所述可選歷史時間段,被采樣為所述目標歷史時間段的概率越大。
可選的,所述可選歷史時間段與當前時刻之間時間差不超過時間差閾值。
可選的,還包括:
第一選擇單元,用于在獲取單元獲取當前流量統(tǒng)計結果之后,以預設常數(shù)為概率,在第一結果和第二結果中進行隨機選擇;
第一觸發(fā)單元,用于在所述第一選擇單元的隨機選擇結果為所述第一結果的情況下,觸發(fā)所述計算單元;
第二選擇單元,用于在所述第一選擇單元的隨機選擇結果為所述第二結果的情況下,隨機選取一個可選調整策略作為當前調整策略;
第二觸發(fā)單元,用于在所述第二選擇單元選取所述當前調整策略之后,觸發(fā)所述第一分配單元。
可選的,還包括:
第二分配單元,用于根據(jù)第二預先定義策略,為所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流;
其中,所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
在本發(fā)明實施例中,對于一個數(shù)據(jù)流集合來說,以該數(shù)據(jù)流集合在歷史時間段內采用歷史調整策略和預先定義策略分配標簽的情況下流量狀況滿足期望的程度對機器學習模型進行訓練,訓練得到的機器學習模型可以根據(jù)當前時間段內該數(shù)據(jù)流集合的流量統(tǒng)計結果確定出使該數(shù)據(jù)流后續(xù)的流量狀況最大程度滿足期望的當前調整策略,因此,網(wǎng)絡設備根據(jù)該當前調整策略和對應于該數(shù)據(jù)流集合的預先定義策略而為該數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽之后,該數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽當前被用于對該數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制,該數(shù)據(jù)流集合中各數(shù)據(jù)流的流量狀況就可以最大程度上滿足用戶的期望。由此可見,網(wǎng)絡設備能夠根據(jù)變化的流量狀況可以對用戶預先定義策略進行調整而得到不同的標簽分配策略,以適應不同數(shù)據(jù)流的流量在網(wǎng)絡設備入口處占用帶寬變化的情況。因此,在非關鍵業(yè)務的數(shù)據(jù)流流量過度擠占網(wǎng)絡鏈路帶寬而導致關鍵業(yè)務的數(shù)據(jù)流流量無法占用足夠帶寬的情況下,網(wǎng)絡設備根據(jù)此時的流量狀況可以對用戶預先定義策略進行調整,以使得關鍵業(yè)務分配到的標簽增加和/或非關鍵業(yè)務分配到的標簽。這樣,非關鍵業(yè)務流量的發(fā)送速度得以減小,鏈路帶寬也就不再被非關鍵業(yè)務的流量過度擠占,關鍵業(yè)務的數(shù)據(jù)流流量能夠在網(wǎng)絡設備的入口處及出口處都占用到足夠的帶寬。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例一種示例性應用場景的示意圖;
圖2為本發(fā)明實施例一種控制流量帶寬的方法的流程示意圖;
圖3為本發(fā)明實施例一種控制流量帶寬的方法的流程示意圖;
圖4為本發(fā)明實施例一種控制流量帶寬的方法的流程示意圖;
圖5為本發(fā)明實施例一種控制流量帶寬的裝置的結構示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
發(fā)明人經(jīng)過研究發(fā)現(xiàn),在傳統(tǒng)的QoS技術中,網(wǎng)絡設備按照用戶預先定義的策略為指定數(shù)據(jù)流分類用于標識優(yōu)先級的標簽,其中,用戶預先定義的策略通常是按照正常情況下數(shù)據(jù)流的流量占用網(wǎng)絡鏈路帶寬的情況定義的。但在實際網(wǎng)絡環(huán)境中,不同數(shù)據(jù)流的流量在網(wǎng)絡設備入口處占用帶寬的情況經(jīng)常變化。有時,在非關鍵業(yè)務的數(shù)據(jù)流流量過度擠占網(wǎng)絡鏈路帶寬的情況下,關鍵業(yè)務的數(shù)據(jù)流流量在入口處已經(jīng)不能保證占用足夠的帶寬,因此,關鍵業(yè)務的數(shù)據(jù)流流量在出口處也難以保證占用足夠的帶寬,關鍵業(yè)務也就難以保證不受延遲、丟包的影響。例如,對于企業(yè)用戶來說,P2P和視頻等非關鍵業(yè)務應用在協(xié)議設計層面上采用來了激進的流量控制策略,而企業(yè)用戶的一些重要業(yè)務通常會采用具有退避機制的TCP協(xié)議發(fā)送流量,因此,當出現(xiàn)網(wǎng)絡擁堵時關鍵業(yè)務會主動降低自己的流量發(fā)送速度,但是采用激進的流量控制策略的P2P或者視頻等非關鍵業(yè)務可能會無條件的進行重傳,這樣就會導致網(wǎng)絡更加的擁堵,關鍵業(yè)務就會產生延遲或者丟包的現(xiàn)象發(fā)生。
基于此,本發(fā)明實施例中,對于一個數(shù)據(jù)流集合來說,以該數(shù)據(jù)流集合在歷史時間段內采用的歷史調整策略和預先定義的策略分配標簽的情況下流量狀況滿足期望的程度對機器學習模型進行訓練,訓練得到的機器學習模型可以用于根據(jù)當前時間段內該數(shù)據(jù)流集合的流量統(tǒng)計結果確定出使該數(shù)據(jù)流集合后續(xù)的流量狀況最大程度滿足期望的當前調整策略,因此,在網(wǎng)絡設備根據(jù)該當前調整策略和對應于該數(shù)據(jù)流集合的預先定義策略而為該數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽之后,通過利用該數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽對該數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制,該數(shù)據(jù)流集合中各數(shù)據(jù)流的流量狀況就可以實現(xiàn)最大程度上滿足用戶的期望。由此可見,網(wǎng)絡設備可以根據(jù)變化的流量狀況對用戶預先定義策略進行調整而得到不同的標簽分配策略,以適應不同的數(shù)據(jù)流的流量在網(wǎng)絡設備入口處占用帶寬變化的情況。因此,在非關鍵業(yè)務數(shù)據(jù)流量過度擠占網(wǎng)絡鏈路帶寬而導致關鍵業(yè)務的數(shù)據(jù)流流量無法占用足夠帶寬的情況下,網(wǎng)絡設備根據(jù)此時的流量狀況可以對用戶預先定義策略進行調整,以調整關鍵業(yè)務分配到的標簽和/或非關鍵業(yè)務分配到的標簽,使得在調整后的標簽作用下擠壓非關鍵業(yè)務占用帶寬,從而迫使非關鍵業(yè)務流量的發(fā)送速度減小。因此,鏈路帶寬也就不再被非關鍵業(yè)務的流量過度擠占,關鍵業(yè)務的數(shù)據(jù)流流量也就能夠在網(wǎng)絡設備的入口處及出口處都占用到足夠的帶寬。
舉例說明,本發(fā)明實施例的場景之一,可以是應用到如圖1所示的場景。在該場景中,互聯(lián)網(wǎng)與企業(yè)的內部網(wǎng)之間通過企業(yè)邊界網(wǎng)關101進行報文轉發(fā)。由于通過企業(yè)邊界網(wǎng)關101的數(shù)據(jù)流分別屬于關鍵業(yè)務和非關鍵業(yè)務,企業(yè)邊界網(wǎng)關101可以對關鍵業(yè)務的數(shù)據(jù)流和非關鍵業(yè)務的數(shù)據(jù)流通過分配不同優(yōu)先級的標簽進行流量帶寬的控制。具體地,企業(yè)邊界網(wǎng)關101獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果,其中,所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量,然后,企業(yè)邊界網(wǎng)關101通過機器學習模型,對所述當前流量統(tǒng)計結果進行計算,得到當前調整策略,再后,企業(yè)邊界網(wǎng)關101根據(jù)所述當前調整策略和第一預先定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于表示優(yōu)先級的標簽;其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于企業(yè)邊界網(wǎng)關101對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
可以理解的是,上述場景僅是本發(fā)明實施例提供的一個場景示例,本發(fā)明實施例并不限于此場景。
下面結合附圖,通過實施例來詳細說明本發(fā)明實施例中一種控制流量帶寬的方法和裝置的具體實現(xiàn)方式。
示例性方法
參考圖2,示出了本發(fā)明實施例一種控制流量帶寬的方法的流程示意圖,在本實施例中,本發(fā)明例如可以包括:
S201:獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果。
其中,所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量。
S202:通過機器學習模型,對所述當前流量統(tǒng)計結果進行計算,得到當前調整策略。
其中,所述機器學習模型是通過對所述第一數(shù)據(jù)流集合的歷史流量統(tǒng)計狀況滿意度進行學習而訓練得到的,所述歷史流量狀況滿意度表示在歷史時間段內所述網(wǎng)絡設備采用歷史調整策略和第一預先定義策略對所述第一數(shù)據(jù)流集合進行流量帶寬控制。
S203:根據(jù)所述當前調整策略和所述第一預先定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽。
其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
本實施例中,多個數(shù)據(jù)流通過網(wǎng)絡設備進行傳輸。在多個數(shù)據(jù)流通過當前網(wǎng)絡設備時,網(wǎng)絡設備可以將數(shù)據(jù)流劃分到一個或多個集合并針對數(shù)據(jù)流集合進行流量帶寬控制,其中,不同的數(shù)據(jù)流集合可以采用不同的流量帶寬控制方式。以任意一個數(shù)據(jù)流集合作為第一數(shù)據(jù)流集合,網(wǎng)絡設備可以統(tǒng)計第一數(shù)據(jù)流集合中各數(shù)據(jù)流在當前時間段內的流量并將統(tǒng)計結果作為當前流量統(tǒng)計結果。通過預先訓練得到的機器學習模型對當前流量統(tǒng)計結果進行相應的計算,網(wǎng)絡設備可以得到第一數(shù)據(jù)流集合當前可采用的調整策略,即當前調整策略。其中,機器學習模型是通過對第一數(shù)據(jù)流集合的歷史流量狀況滿意度進行學習而訓練得到的,該歷史流量狀況滿意度表示在歷史時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度。
可以理解的是,利用機器學習模型得到的當前調整策略用于網(wǎng)絡設備對用戶為第一數(shù)據(jù)流集合預先定義的第一預定義策略進行調整。在得到當前調整策略之后,網(wǎng)絡設備根據(jù)該當前調整策略和第一預定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于表示優(yōu)先級的標簽。在標簽分配之后,網(wǎng)絡設備根據(jù)第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽的優(yōu)先級,對當前數(shù)據(jù)流集合中的各數(shù)據(jù)流進行流量帶寬控制。
需要說明的是,在同一網(wǎng)絡設備中會通過很多不同的數(shù)據(jù)流,所述第一數(shù)據(jù)流集合可以是只包括其中的部分數(shù)據(jù)流,或者也可以是包括所有數(shù)據(jù)流。進一步而言,同一網(wǎng)絡設備中的多個數(shù)據(jù)流可以被劃分到多個不同的數(shù)據(jù)流集合中,這樣網(wǎng)絡設備可以對不同的數(shù)據(jù)流集合采用不同的流量帶寬控制方式。例如,在網(wǎng)絡設備中除了存在第一數(shù)據(jù)流集合之外,還存在第二數(shù)據(jù)流集合。其中,第一數(shù)據(jù)流集合可以采用按照S201-S203進行流量帶寬控制。第二數(shù)據(jù)流集合的流量帶寬控制可以采用其他的流量帶寬控制方式。例如,本實施例還可以包括:根據(jù)第二預先定義策略,為所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;所述第二數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流。其中,所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。其中,第二數(shù)據(jù)流集合可以是與第一數(shù)據(jù)流集合中不同種類的數(shù)據(jù)流。
在本實施例中,多種形式的機器學習模型可以被用于對當前流量統(tǒng)計結果進行計算而得到當前調整策略。例如,機器學習模型可以是流量統(tǒng)計結果、調整策略與流量狀況滿意度之間的對應關系。即,當前流量統(tǒng)計結果與各可選調整策略輸入到機器學習模型中,機器學習模型可以輸出在當前流量統(tǒng)計結果的情況下采用各可選調整策略之后流量狀況滿足期望的程度。具體地,S202可以包括:將所述當前流量統(tǒng)計結果分別與各可選調整策略輸入到所述機器學習模型,得到所述機器學習模型對應于各可選調整策略分別輸出的當前流量狀況滿意度;選取最大的當前流量狀況滿意度對應的可選調整策略,作為所述當前調整策略。其中,可選調整策略表示網(wǎng)絡設備中設置的、可用于調整第一數(shù)據(jù)流集合的第一預先定義策略的調整策略。
舉例說明:機器學習模型可以表示為以下公式:
Q(S,a;w)=E(Gt|St=s,At=a);
其中,Gt表示的當前時間段第一數(shù)據(jù)流集合的流量統(tǒng)計結果滿足期望的程度,St表示的是第一數(shù)據(jù)流集合的當前流量統(tǒng)計結果,At表示第一數(shù)據(jù)流集合的可選調整策略。首先,獲取當前時間段內第一數(shù)據(jù)流集合的當前流量統(tǒng)計結果St,將St分別與預先為第一數(shù)據(jù)流集合設定的各可選調整策略At輸入到上述機器學習模型當中,得到各可選調整策略At分別對應的流量狀況滿意度Q值;然后在得到的各流量狀況滿意度Q值中選取一個最大的,將最大的Q值對應的可選調整策略At,作為當前調整策略,對數(shù)據(jù)流量進行調整。
在本實施例的一些實施方式中,Gt可以表示為以下公式:
其中,Rt是回報函數(shù),它與當前流量統(tǒng)計結果St和預先為第一數(shù)據(jù)流集合定義的第一預先定義策略P相關,具體可以表示為以下形式:
Rt=fn(St,P);
其中St可以表示為:St={a1,a2…an},an代表了第n種流量在當前時間段內的總流量??梢岳斫獾氖?,在具體的實現(xiàn)中,不同的調整策略P可以采用不同的具體表達形式。例如,P的表達形式中可以包含權重w、保障帶寬r、控制帶寬L,因此P還可以表示為以下集合:
P={(w1,r1,L1),(w2,r2,L2)...(wn,rn,Ln)};
更具體地,定義C為系統(tǒng)對保障帶寬使用的加權比率,M為當前帶寬的加權總量,則為了在保障重要業(yè)務帶寬的前提下,保證帶寬利用率最大化,也就是在保障C最大化的前提下,盡可能提升M的值,故回報函數(shù)Rt可以具體表示為以下的公式:
其中為常數(shù),其數(shù)值較大的常數(shù),sigmoid(M)是通過sigmoid函數(shù)將M轉換到[0,+1]的區(qū)間中。C和M具體可以通過以下的公式進行表示:
在本實施例中,多種形式的機器學習模型可以被用于實現(xiàn)S202。例如,所述機器學習模型具體可以為深度神經(jīng)網(wǎng)絡。
在本實施例中,為了提高機器學習的智能性,提高獲得的當前時間段調整策略的準確度,深度神經(jīng)網(wǎng)絡可以是在流量帶寬控制的過程中不斷進行訓練的,其中,對于當前時間段來說,深度神經(jīng)網(wǎng)絡是根據(jù)歷史時間段的歷史流量狀況、歷史調整策略及其對應的滿意度誤差進行訓練。具體地說,本實施例例如還可以包括:在可選歷史時間段中進行采樣,得到目標歷史時間段;根據(jù)所述目標歷史時間段對應的滿意度誤差,對所述深度神經(jīng)網(wǎng)絡的權重進行更新。其中,所述目標歷史時間段對應的滿意度誤差具體為在先流量狀況滿意度與在后流量狀況滿意度之間的誤差,所述在先流量狀況滿意度表示在目標歷史時間段內所述第一數(shù)據(jù)流量集合的歷史流量統(tǒng)計結果滿足期望的程度,所述在后流量狀況滿意度表示在所述目標歷史時間段的下一時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度。
進一步而言,為了使得深度神經(jīng)網(wǎng)絡的每一次訓練更加準確,可以在每次訓練深度神經(jīng)網(wǎng)絡時采用多個不同的歷史時間段的滿意度誤差。具體地,在前述實施方式的基礎上,在可選歷史時間段中進行采樣的方式可以為:在所述可選歷史時間段中進行多次采樣,得到多個目標歷史時間段;對深度神經(jīng)網(wǎng)絡進行權重更新的方式可以為:根據(jù)多個所述目標歷史時間段對應的滿意度誤差,采用梯度下降法對所述深度神經(jīng)網(wǎng)絡的權重進行多次更新。
舉例說明:對于一個歷史時間段j來說,第一數(shù)據(jù)流集合在j內的歷史流量統(tǒng)計結果可以用于確定所述歷史時間段j之后的下一時間段j+1的歷史調整策略Aj,所述在j+1內根據(jù)歷史調整策略Aj對第一數(shù)據(jù)流集合進行流量帶寬控制,當j+1結束時,網(wǎng)絡設備統(tǒng)計出第一數(shù)據(jù)流集合在j+1內的流量統(tǒng)計結果Sj+1,Sj+1可以用于與第一數(shù)據(jù)流集合的第一預先定義策略計算出j+1內的回報函數(shù)值Rj+1,因此,網(wǎng)絡設備可以在存儲結構中對應每個歷史時間段j保存如下的一組參數(shù)(Sj,Aj,Rj+1,Sj+1),該組參數(shù)可以用于計算歷史時間段j對應的滿意度誤差,以便于對深度神經(jīng)網(wǎng)絡的權重進行更新。具體地,歷史時間段j對應的滿意度誤差可以表示為以下公式:
Ej=(Q(Sj,Aj;w)-(Rj+1+γMaxaQ(Sj+1,a;w)))2;
其中,Q(Sj,Aj;w)表示在先流量狀況滿意度,Rj+1+γMaxaQ(Sj+1,a;w)表示在后流量狀況滿意度,γ是預設的常數(shù)。
進一步而言,對于當前時間段來說,若此時要更新深度神經(jīng)網(wǎng)絡的權重,可以在其之前的各可選歷史時間段內進行K次采樣,得到K個目標歷史時間段。這K個目標歷史時間段對應了K個(St,At,St+1,At+1),可用于計算出K個目標歷史時間段對應的K個滿意度誤差。通過梯度下降法,這K個滿意度誤差可以用于所述深度神經(jīng)網(wǎng)絡的權重進行更新。其中,更新的方式具體可以表示為下述公式:
w=w-λ▽Ej(w)。
需要說明的是,由于在實際場景的測試過程中,采樣得到的歷史目標時間段中的數(shù)據(jù)對機器學習模型的訓練結果有很大的影響,進而對獲得的當前調整策略會產生很大的影響。因此,在本實施例的一些實施方式中,在從可選歷史時間段中采樣目標歷史時間段時,各所述可選歷史時間段被采樣為所述目標歷史時間段的概率可以被設置為隨時間線性衰減,其中,越接近于所述當前時間段的所述可選歷史時間段,被采樣為所述目標歷史時間段的概率越大。
除此之外,考慮到距離當前時刻越遠的歷史時間段對當前時刻的流量帶寬控制越不具有參考價值,在本實施例的一些實施方式中,網(wǎng)絡設備可以設置一個時間差閾值,以便網(wǎng)絡設備僅在距離當前時刻不超過該時間差閾值的時間范圍內選擇用于對深度神經(jīng)網(wǎng)絡進行權重更新的目標歷史時間段,也即,所述可選歷史時間段與當前時刻之間時間差不超過時間差閾值。在這種情況下,在網(wǎng)絡設備的存儲結構中,只需要存儲最近一段時間內的歷史時間段對應的數(shù)據(jù)(Sj,Aj,Sj+1,Aj+1),而更早時間段的數(shù)據(jù)可以刪除,這樣就節(jié)省了存儲空間,其中最近一段時間的時長為時間差閾值。
在本實施例的一些實施方式中,參考圖3,在S201之后還包括:
S301:以預設常數(shù)為概率,在第一結果和第二結果中進行隨機選擇。
S302:若隨機選擇結果為所述第一結果,執(zhí)行S202。
S303:若隨機選擇結果為所述第二結果,隨機選取一個可選調整策略作為當前調整策略,執(zhí)行S203。
其中,第一結果表示的是當前調整策略通過機器學習模型的方式確定;第二結果得到當前調整策略通過隨機選擇的方式確定。其中,所述預設常數(shù)例如可以是e。
可以理解的是,通過圖3所示的實施方式,在訓練開始階段網(wǎng)絡設備能夠避免機器學習模型朝著固定方向訓練而長時間無法訓練完成出現(xiàn)偏差,從而使得機器學習模型能夠更快速地訓練完成并給出較為準確的調整策略
本實施例中,對于一個數(shù)據(jù)流集合來說,以該數(shù)據(jù)流集合在歷史時間段內采用歷史調整策略和預先定義策略分配標簽的情況下流量狀況滿足期望的程度對機器學習模型進行訓練,訓練得到的機器學習模型可以根據(jù)當前時間段內該數(shù)據(jù)流集合的流量統(tǒng)計結果確定出使該數(shù)據(jù)流后續(xù)的流量狀況最大程度滿足期望的當前調整策略。因此,網(wǎng)絡設備可以根據(jù)變化的流量狀況,對用戶預先定義策略進行調整,以使得關鍵業(yè)務分配到的標簽增加和/或非關鍵業(yè)務分配到的標簽。這樣,非關鍵業(yè)務流量的發(fā)送速度得以減小,鏈路帶寬也就不再被非關鍵業(yè)務的流量過度擠占,關鍵業(yè)務的數(shù)據(jù)流流量能夠在網(wǎng)絡設備的入口處及出口處都占用到足夠的帶寬。
參考圖4,示出了本發(fā)明實施例中一種控制流量帶寬的方法的流程示意圖。在本實施例中,所述方法例如可以包括:
S401:隨機初始化深度神經(jīng)網(wǎng)絡函數(shù)Q的權重w,并初始化存儲結構,
其中,Q(S,a;w)=E(Gt|St=s,At=a);
Gt表示當前時間段第一數(shù)據(jù)流集合的流量統(tǒng)計結果滿足期望的程度,St表示當前流量統(tǒng)計結果,At表示可選調整策略。
S402:獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果,其中,所述第一數(shù)據(jù)集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量;
S403:以預設常數(shù)為概率,在第一結果和第二結果中進行隨機選擇。
S404:若隨機選擇結果為所述第一結果,執(zhí)行406。
S405:若隨機選擇結果為所述第二結果,隨機選取一個可選調整策略作為當前調整策略,執(zhí)行S407。
S406:根據(jù)以下公式,獲取當前調整策略;
At=maxA(Q(St,A;w))。
S407:根據(jù)所述當前調整策略和所述第一預定義策略,為當前時間段所述第一數(shù)據(jù)集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽,若當前時間段到期,進入下一時間段。
其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
S408:在所述下一時間段對應的數(shù)據(jù)中讀取St+1,計算Rt+1;并將獲取的(St,At,St+1,At+1)存入到所述存儲結構中。
S409:在可選歷史時間段中進行K次采樣,得到K個目標歷史時間段對應的(Sj,Aj,Sj+1,Aj+1)。
S410:根據(jù)以下的公式,計算出K個誤差函數(shù):
Ej=(Q(Sj,Aj;w)-(Rj+1+γMaxaQ(Sj+1,a;w)))2。
其中,Q(Sj,Aj;w)表示在先狀況滿意度,MaxaQ(Sj+1,a;w)表示在后狀況滿意度,即表示的是在目標歷史時間段內的下一時間段中,根據(jù)目標歷史時間段所采用的調整策略,獲得的第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度,Rj+1表示的是根據(jù)目標歷史時間段所采用的調整策略,得到的第一數(shù)據(jù)流量實際滿足用戶期望的程度,γ是預設的常數(shù),K是預設的整數(shù)。
S411:根據(jù)梯度下降法對所述權重w進行K次更新,每次更新依據(jù)以下的公式進行,
w=w-λ▽Ej(w)。
并返回S402。
本實施例中,對于一個數(shù)據(jù)流集合來說,以該數(shù)據(jù)流集合在歷史時間段內采用歷史調整策略和預先定義策略分配標簽的情況下流量狀況滿足期望的程度對機器學習模型進行訓練,訓練得到的機器學習模型可以根據(jù)當前時間段內該數(shù)據(jù)流集合的流量統(tǒng)計結果確定出使該數(shù)據(jù)流后續(xù)的流量狀況最大程度滿足期望的當前調整策略。因此,網(wǎng)絡設備可以根據(jù)變化的流量狀況,對用戶預先定義策略進行調整,以使得關鍵業(yè)務分配到的標簽增加和/或非關鍵業(yè)務分配到的標簽。這樣,非關鍵業(yè)務流量的發(fā)送速度得以減小,鏈路帶寬也就不再被非關鍵業(yè)務的流量過度擠占,關鍵業(yè)務的數(shù)據(jù)流流量能夠在網(wǎng)絡設備的入口處及出口處都占用到足夠的帶寬。
示例性設備
參考圖5,示出了本發(fā)明實施例一種控制流量帶寬的裝置的結構示意圖。在本實施例中,所述裝置例如可以包括:
獲取單元501,用于獲取當前時間段內第一數(shù)據(jù)流集合的流量統(tǒng)計結果作為當前流量統(tǒng)計結果,其中,所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流,所述當前流量統(tǒng)計結果包括所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流在所述當前時間段內的流量。
計算單元502,用于通過機器學習模型,對所述當前流量統(tǒng)計結果進行計算,得到當前調整策略,其中,所述機器學習模型是通過對所述第一數(shù)據(jù)流集合的歷史流量狀況滿意度進行學習而訓練得到的,所述歷史流量狀況滿意度表示在歷史時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度,在所述歷史時間段內所述網(wǎng)絡設備采用歷史調整策略和第一預先定義策略對所述第一數(shù)據(jù)流集合進行流量帶寬控制。
第一分配單元503,用于根據(jù)所述當前調整策略和所述第一預先定義策略,為所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽。
其中,所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第一數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
可選的,所述計算單元包括:
將所述當前流量統(tǒng)計結果分別與各可選調整策略輸入到所述機器學習模型,得到所述機器學習模型對應于各可選調整策略分別輸出的當前流量狀況滿意度。
選取最大的當前流量狀況滿足度對應的可選調整策略,作為所述當前調整策略。
可選的,所述機器學習模型具體為深度神經(jīng)網(wǎng)絡。
可選的,還包括:
采樣單元,用于在可選歷史時間段中進行采樣,得到目標歷史時間段。
更新單元,用于根據(jù)所述目標歷史時間段對應的滿意度誤差,對所述深度神經(jīng)網(wǎng)絡的權重進行更新。
其中,所述目標歷史時間段對應的滿意度誤差具體為在先流量狀況滿意度與在后流量狀況滿意度之間的誤差,所述在先流量狀況滿意度表示在目標歷史時間段內所述第一數(shù)據(jù)流量集合的歷史流量統(tǒng)計結果滿足期望的程度,所述在后流量狀況滿意度表示在所述目標歷史時間段的下一時間段內所述第一數(shù)據(jù)流量集合的流量統(tǒng)計結果滿足期望的程度。
可選的,
所述采樣單元,具體用于在所述可選歷史時間段中進行多次采樣,得到多個目標歷史時間段。
所述更新單元,具體用于根據(jù)多個所述目標歷史時間段對應的滿意度誤差,采用梯度下降法對所述深度神經(jīng)網(wǎng)絡的權重進行多次更新。
可選的,各所述可選歷史時間段被采樣為所述目標歷史時間段的概率隨時間線性衰減,其中,越接近于所述當前時間段的所述可選歷史時間段,被采樣為所述目標歷史時間段的概率越大。
可選的,所述可選歷史時間段與當前時刻之間時間差不超過時間差閾值。
可選的,還包括:
第一隨機單元,用于在所述獲取單元獲取所述當前流量統(tǒng)計結果之后,以預設常數(shù)為概率,在第一結果和第二結果中進行隨機選擇。
觸發(fā)單元,用于若隨機選擇結果為所述第一結果,進入所述計算單元;
第二隨機單元,用于若隨機選擇結果為所述第二結果,隨機選取一個可選調整策略作為當前調整策略,觸發(fā)所述第一分配單元。
可選的,還包括:
第二分配單元,用于根據(jù)第二預先定義策略,為所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配用于標識優(yōu)先級的標簽;所述第一數(shù)據(jù)流集合包括一個或多個數(shù)據(jù)流。
其中,所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流分配到的標簽,分別用于所述網(wǎng)絡設備對所述第二數(shù)據(jù)流集合中各數(shù)據(jù)流的報文進行轉發(fā)控制。
通過本實施例提供的裝置,對于一個數(shù)據(jù)流集合來說,以該數(shù)據(jù)流集合在歷史時間段內采用歷史調整策略和預先定義策略分配標簽的情況下流量狀況滿足期望的程度對機器學習模型進行訓練,訓練得到的機器學習模型可以根據(jù)當前時間段內該數(shù)據(jù)流集合的流量統(tǒng)計結果確定出使該數(shù)據(jù)流后續(xù)的流量狀況最大程度滿足期望的當前調整策略。因此,網(wǎng)絡設備可以根據(jù)變化的流量狀況,對用戶預先定義策略進行調整,以使得關鍵業(yè)務分配到的標簽增加和/或非關鍵業(yè)務分配到的標簽。這樣,非關鍵業(yè)務流量的發(fā)送速度得以減小,鏈路帶寬也就不再被非關鍵業(yè)務的流量過度擠占,關鍵業(yè)務的數(shù)據(jù)流流量能夠在網(wǎng)絡設備的入口處及出口處都占用到足夠的帶寬。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅是本申請的具體實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。