本發明屬于虛擬電信邊緣云報文轉發技術領域,具體涉及一種報文轉發方法和系統。
背景技術:
虛擬電信邊緣云已成為電信行業發展的重要趨勢,其是為解決電信專用通信設備的不足而產生的。虛擬電信邊緣云技術將電信邊緣網虛擬化并聚集或分解其網絡功能,承載于采用通用X86架構硬件的軟件虛擬化平臺上,從而對傳統電信機房的設備進行軟件與硬件的解耦。
電信邊緣云中,用戶(家庭用戶及固網企事業用戶)的終端(用戶的電腦)通過Vxlan隧道連接虛擬電信邊緣云的網元并訪問相應資源(企業私有資源和公眾服務資源),其中的報文(數據)轉發系統采用松耦合架構。具體的,用戶的終端發起訪問請求報文,并通過PG(或Simple CPE)、網關、vCPE、vBRAS建立Vxlan隧道,實現Vxlan二層網絡的接入,其中,vCPE能作為DHCP服務器給下掛的終端分配IP地址,并能作為PPPoE Client經過防火墻等進行撥號接入認證、計費等;之后,由NAT進行公網和私網IP地址的轉換,通過網關接入并訪問資源。
但是,現有虛擬電信邊緣云的報文轉發方法具有丟包率高、網絡擁塞程度高、服務容錯性低等問題。
技術實現要素:
本發明至少部分解決現有的虛擬電信邊緣云的報文轉發方法丟包率高、網絡擁塞程度高、服務容錯性低的問題,提供一種丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高的報文轉發方法和系統。
解決本發明技術問題所采用的技術方案是一種報文轉發方法,用于虛擬電信邊緣云的報文轉發,所述虛擬電信邊緣云包括多個用于轉發報文的數據平面;所述報文轉發方法包括:
新迭代循環開始,將迭代次數清零并用隨機數據平面轉發至少一條報文;
當有報文來時判斷迭代次數是否達到閾值,若是則返回所述新迭代循環開始的步驟;
統計當前各數據平面的負載參數,所述負載參數的統計期間為本迭代循環期間;
根據負載參數計算當前評價函數;根據負載參數計算用各數據平面轉發所述報文后的預測評價函數,從中選出最優的預測評價函數;
比較所述最優的預測評價函數與當前評價函數,若當前評價函數較優則返回所述新迭代循環開始的步驟,若預測評價函數較優則用該最優的預測評價函數對應的數據平面轉發所述報文,并將迭代次數加1。
優選的,所述用隨機數據平面轉發至少一條報文為用隨機數據平面轉發一條報文。
優選的,所述閾值在45至55之間。
優選的,第k次迭代時,數據平面i的負載參數包括其并行報文處理能力值Rik和報文丟棄率tik。
進一步優選的,第k次迭代時的當前評價函數optZk根據以下公式計算:
其中,a、b、c為大于0且小于1的系數;n為虛擬電信邊緣云中數據平面的總數;xik為數據平面i的狀態,其在數據平面i處理報文時為1,未處理報文時為0;Hik為Rik和(tik)-1的二維向量{Rik,(tik)-1}。
進一步優選的,第k次迭代時,用數據平面i轉發所述報文后的預測評價函數optZ’ik+1根據以下公式計算:
其中,u、v、w為大于0且小于1的系數;R’ik+1和t’ik+1分別表示若用數據平面i轉發所述報文后,預測得到的第(k+1)次迭代中數據平面i的報文處理能力值和報文丟棄率;x’ik+1表示若用數據平面i轉發所述報文后,預測得到的第(k+1)次迭代中數據平面i的狀態,其在數據平面i處理報文時為1,未處理報文時為0;H’ik+1通過如下公式計算:
其中,rik為Hik的變差期望,其等于d為大于0且小于1的調節因子,vik為Hik的方差向量,其等于
進一步優選的,所述預測評價函數和當前評價函數越大越優。
優選的,所述報文轉發方法還包括:緩存被數據平面丟棄的報文,并給予緩存中的報文最高的轉發優先級。
解決本發明技術問題所采用的技術方案是一種報文轉發系統,用于虛擬電信邊緣云的報文轉發,所述虛擬電信邊緣云包括多個用于轉發報文的數據平面;所述報文轉發系統包括:
初始單元,用于開始新迭代循環,將迭代次數清零并用隨機數據平面轉發至少一條報文;
閾值比較單元,用于當有報文來時判斷迭代次數是否達到閾值,若是則使初始單元開始工作;
統計單元,用于統計當前各數據平面的負載參數,所述負載參數的統計期間為本迭代循環期間;
當前評價函數計算單元,用于根據負載參數計算當前評價函數;
預測評價函數計算單元,用于根據負載參數計算用各數據平面轉發所述報文后的預測評價函數,從中選出最優的預測評價函數;
評價函數比較單元,用于比較所述最優的預測評價函數與當前評價函數,若當前評價函數較優則使初始單元開始工作;
報文轉發單元,用于用最優的預測評價函數對應的數據平面轉發所述報文,并將迭代次數加1。
優選的,所述報文轉發系統還包括:緩存單元,用于緩存被數據平面丟棄的報文,并給予其中的報文最高的轉發優先級。
本發明的報文轉發系統和方法具有丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高等優點。
附圖說明
圖1為本發明的實施例的一種報文轉發方法的流程示意圖;
圖2為本發明的實施例的另一種報文轉發方法的流程示意圖;
圖3為本發明的實施例的一種報文轉發系統的結構框圖;
圖4為本發明的實施例的另一種報文轉發系統的結構框圖。
具體實施方式
為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和具體實施方式對本發明作進一步詳細描述。
實施例1:
如圖1所示,本實施例提供一種報文轉發方法,用于虛擬電信邊緣云的報文轉發,虛擬電信邊緣云包括多個用于轉發報文的數據平面,該報文轉發方法包括:
S101、新迭代循環開始,將迭代次數清零并用隨機數據平面轉發至少一條報文。
S102、當有報文來時判斷迭代次數是否達到閾值,若是則返回新迭代循環開始的步驟。
S103、統計當前各數據平面的負載參數,負載參數的統計期間為本迭代循環期間。
S104、根據負載參數計算當前評價函數;根據負載參數計算用各數據平面轉發報文后的預測評價函數,從中選出最優的預測評價函數。
S105、比較最優的預測評價函數與當前評價函數,若當前評價函數較優則返回新迭代循環開始的步驟,若預測評價函數較優則用該最優的預測評價函數對應的數據平面轉發報文,并將迭代次數加1。
本實施例的報文轉發方法具有丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高等優點。
實施例2:
如圖2所示,本實施例提供一種報文轉發方法。
具體的,該報文轉發方法用于虛擬電信邊緣云的報文轉發。虛擬電信邊緣云用X86架構的硬件虛擬實現電信邊緣網的各種設備和功能,其中包括多個用于轉發報文的數據平面(相當于報文轉發器),每條來自用戶終端的報文均需要被分配到一個數據平面中進行轉發。
具體的,以上報文轉發方法包括:
S201、新迭代循環開始,將迭代次數清零并用隨機數據平面轉發至少一條報文。
本實施例的報文轉發方法包括不斷進行的迭代循環,一個迭代循環結束后新的迭代循環開始,此時將迭代次數置為零,并且在有報文來時,用隨機的方式選擇數據平面并轉發報文。
優選的,以上用隨機數據平面轉發至少一條報文為用隨機數據平面轉發一條報文。
也就是說,本步驟中優選轉發一條且僅轉發一條報文。
S202、當有報文來時判斷迭代次數是否達到閾值,若是則返回新迭代循環開始的步驟,若否則進入下一步。
在新迭代循環開始并隨機轉發完報文后,若再有報文來,則判斷當前(即本次迭代循環中)的迭代次數是否達到預定次數,如果達到則結束本次迭代循環,返回開始新迭代循環的步驟(即步驟S201),若未達到則繼續。這是因為若一個迭代循環無限制進行下去,即使其運算的結果是優化,但其實際也會劣化,故需要設置迭代次數的上限。
優選的,以上閾值在45至55之間,更優選為50。
也就是說,最優選將迭代次數設為50。
S203、統計當前各數據平面的負載參數,負載參數的統計期間為本迭代循環期間。
也就是說,統計從本次迭代循環開始(即從步驟S201)到當前為止,各數據平面的負載參數。
優選的,第k次迭代時,數據平面i的負載參數包括其并行報文處理能力值Rik和報文丟棄率tik。
顯然,如果是第一次迭代,步驟S201結束后直接進入本步驟,則統計的負載參數就是隨機轉發的報文所產生的負載參數,其稱為初始負載參數,即為Ri0和ti0。
具體的,以上并行報文處理能力值Rik表示一個數據平面在本次迭代循環中處理報文的平均速度,其等于本次迭代循環中該數據平面成功轉發的報文數除以本次迭代循環進行的時間;而報文丟棄率ti0則表示本次迭代循環中,該數據平面丟棄(并非完全丟棄,而是處理不了進入緩存中)的報文數量占其處理的總報文數量的比例。
S204、根據負載參數計算當前評價函數;根據負載參數計算用各數據平面轉發報文后的預測評價函數,從中選出最優的預測評價函數。
也就是說,線根據以上的負載參數計算表示系統當前狀態的當前評價函數,即表示當前系統整體情況的函數。
同時,分別假設以上新來的報文通過各數據平面轉發,并預測在通過不同數據平面轉發后系統整體的評價函數,也就是計算各數據平面的預測評價函數。
優選的,第k次迭代時的當前評價函數optZk根據以下公式計算:
其中,a、b、c為大于0且小于1的系數;n為虛擬電信邊緣云中數據平面的總數;xik為數據平面i的狀態,其在數據平面i處理報文時為1,未處理報文時為0;Hik為Rik和(tik)-1的二維向量{Rik,(tik)-1}。
具體的,當前評價函數是通過以上公式計算的,可見,以上公式中的Rik和tik均為可直接統計得到的參數;Hik為Rik和(tik)-1的二維向量,故也是已知的;而xik為表示各數據平面當前實際狀態的參數,其定義為若數據平面i當前正在處理報文,則其對應的xi為1,若數據平面i當前未處理報文則相應的xi為0。
由此可見,當前評價函數optZk是根據實測的各數據平面當前的情況(負載參數和狀態)得到的,故其可表示當前系統的實際狀態(優化程度)。
優選的,第k次迭代時,用數據平面i轉發報文后的預測評價函數optZ’ik+1根據以下公式計算:
其中,u、v、w為大于0且小于1的系數;R’ik+1和t’ik+1分別表示若用數據平面i轉發報文后,預測得到的第(k+1)次迭代中數據平面i的報文處理能力值和報文丟棄率;x’ik+1表示若用數據平面i轉發報文后,預測得到的第(k+1)次迭代中數據平面i的狀態,,其在數據平面i處理報文時為1,未處理報文時為0;H’ik+1通過如下公式計算:
其中,rik為Hik的變差期望,其等于d為大于0且小于1的調節因子,vik為Hik的方差向量,其等于
也就是說,假設用數據平面i轉發該報文,并預測這樣轉發后下一次迭代(只是預測,并未進入下一次迭代,這里的“k+1”僅僅表示預測的是轉發后的參數)中各數據平面的負載參數。其中,x’ik+1、R’ik+1、t’ik+1分別表示預測得到的下一次迭代中的xik、Rik、tik。而H’ik+1是對應Hik的,但其不是由預測得到的R’ik+1、t’ik+1直接構成,而是由之前實測得到的Hik和Hik-1計算得出的預測值,其具體計算方式如前(由于此時要用到此前兩次的Hi,故第一次得到Hi0后可再隨機轉發一個報文產生Hi1)。
這樣,若虛擬電信邊緣云中有n個數據平面,則可得到n個預測評價函數optZ’ik+1,分別表示用n個數據平面轉發本報文后系統可能的優化程度。由此,可從中選出最優的預測評價函數(若有多個預測評價函數的優化程度相同則從中隨機選擇),用其對應的數據平面作為發送本條報文的候選數據平面。
優選的,預測評價函數和當前評價函數越大越優。
也就是說,預測評價函數和當前評價函數計算后均為一個值,且該值越大越優。因此,以上選出最優的預測評價函數也就是選出最大的預測評價函數。
S205、比較最優的預測評價函數與當前評價函數,若當前評價函數較優則返回新迭代循環開始的步驟,若預測評價函數較優則進入下一步。
在得到最優的預測評價函數后,將其與當前評價函數比較,若發現當前評價函數較優(即較大),則表示不論用哪個數據平面轉發報文均會導致系統劣化,故重新開始迭代循環,即返回以上S201步驟。
S206、用該最優的預測評價函數對應的數據平面轉發報文,并將迭代次數加1。
若發現最優的預測評價函數比當前評價函數更優(即更大),則表明用與該最優的預測評價函數對應的數據平面轉發報文可使系統進一步優化,故用相應的數據平面轉發報文。
同時,由于本次迭代結束,故將迭代次數加1。待有新的報文來到時,再次進入S202步驟,在本次迭代循環中開始一次新的迭代。
優選的,本實施例還包括:緩存被數據平面丟棄的報文,并給予緩存中的報文最高的轉發優先級。
也就是說,本實施例的報文轉發方法中還要設立緩存,當任意時刻(不限于某步驟),任意數據平面中有報文因為某些原因(如網絡擁塞)未發送成功而被丟棄時,則將該報文存入緩存區中,并給予其最高的轉發優先級,即認為緩存區中的報文是最新來到的報文,應優先按以上的方式處理。由此,本實施例的方法可大大的降低丟包率,甚至實現零丟包。
當然,應當理解,在不影響方法實施的情況下,以上各步驟的順序可進行調整,例如,統計負載參數的步驟也可在判斷閾值的步驟之前進行;再如,將迭代次數加1的步驟也可提前(只要在與閾值比較的步驟后即可,當前,這樣可能導致第一次的k從0變為1,但其只是數字編號的變化,故無實際影響)。
本實施例的報文轉發方法具有丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高等優點。
實施例3:
如圖3所示,本實施例提供一種報文轉發系統,用于虛擬電信邊緣云的報文轉發,其包括:
初始單元,用于開始新迭代循環,將迭代次數清零并用隨機數據平面轉發至少一條報文;
閾值比較單元,用于當有報文來時判斷迭代次數是否達到閾值,若是則使初始單元開始工作;
統計單元,用于統計當前各數據平面的負載參數,負載參數的統計期間為本迭代循環期間;
當前評價函數計算單元,用于根據負載參數計算當前評價函數;
預測評價函數計算單元,用于根據負載參數計算用各數據平面轉發報文后的預測評價函數,從中選出最優的預測評價函數;
評價函數比較單元,用于比較最優的預測評價函數與當前評價函數,若當前評價函數較優則使初始單元開始工作;
報文轉發單元,用于用最優的預測評價函數對應的數據平面轉發報文,并將迭代次數加1。
本實施例的報文轉發系統可實行上述的報文轉發方法,故具有丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高等優點。
實施例4:
如圖4所示,本實施例提供一種報文轉發系統,用于虛擬電信邊緣云的報文轉發,其包括:
初始單元,用于開始新迭代循環,將迭代次數清零并用隨機數據平面轉發至少一條報文;
閾值比較單元,用于當有報文來時判斷迭代次數是否達到閾值,若是則使初始單元開始工作;
統計單元,用于統計當前各數據平面的負載參數,所述負載參數的統計期間為本迭代循環期間;
當前評價函數計算單元,用于根據負載參數計算當前評價函數;
預測評價函數計算單元,用于根據負載參數計算用各數據平面轉發所述報文后的預測評價函數,從中選出最優的預測評價函數;
評價函數比較單元,用于比較所述最優的預測評價函數與當前評價函數,若當前評價函數較優則使初始單元開始工作;
報文轉發單元,用于用最優的預測評價函數對應的數據平面轉發所述報文,并將迭代次數加1;
緩存單元,用于緩存被數據平面丟棄的報文,并給予其中的報文最高的轉發優先級。
本實施例的報文轉發系統可實行上述的報文轉發方法,故具有丟包率低(甚至是零丟包)、網絡擁塞程度低、服務容錯性高等優點。
可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。