国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)報(bào)文傳輸控制方法和裝置與流程

      文檔序號(hào):11732052閱讀:524來(lái)源:國(guó)知局
      一種數(shù)據(jù)報(bào)文傳輸控制方法和裝置與流程

      本發(fā)明涉及通信領(lǐng)域,具體涉及一種數(shù)據(jù)報(bào)文傳輸控制方法和裝置。



      背景技術(shù):

      隨著通信網(wǎng)絡(luò)和傳輸技術(shù)的發(fā)展,為了保證數(shù)據(jù)在傳輸過(guò)程的均衡性和減少流量的突發(fā),會(huì)對(duì)進(jìn)入傳輸設(shè)備端口的數(shù)據(jù)報(bào)文進(jìn)行流量控制處理,以便更好、更有效的利用帶寬。

      流量控制一般是通過(guò)令牌桶算法來(lái)完成,是一種常用到的技術(shù),相關(guān)技術(shù)標(biāo)準(zhǔn)有rfc2697等;數(shù)據(jù)報(bào)文在傳輸設(shè)備中調(diào)度處理時(shí),也是通過(guò)該技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)調(diào)度處理,方法處理過(guò)程大概如下:

      基于一定的速率往令牌桶添加令牌,直到令牌桶溢出;

      當(dāng)有數(shù)據(jù)報(bào)文傳輸時(shí),調(diào)度隊(duì)列處于非空狀態(tài)時(shí),需要從令牌桶中消耗相對(duì)應(yīng)數(shù)目的令牌個(gè)數(shù)來(lái)實(shí)現(xiàn)調(diào)度;

      通過(guò)比較當(dāng)前令牌桶中的令牌數(shù)和隊(duì)列調(diào)度數(shù)據(jù)報(bào)文時(shí)所需要消耗的令牌個(gè)數(shù),來(lái)重新對(duì)數(shù)據(jù)報(bào)文著色,最終在決定丟棄還是通過(guò)。

      通過(guò)上面的方法,我們可以對(duì)數(shù)據(jù)報(bào)文進(jìn)行有效的流量控制,但是在實(shí)際應(yīng)用中可能存在以下問(wèn)題:

      在vpn的實(shí)際應(yīng)用場(chǎng)景中,對(duì)設(shè)備中某一個(gè)端口進(jìn)來(lái)的同一優(yōu)先級(jí)數(shù)據(jù)報(bào)文進(jìn)行限速配置時(shí),如果從端口進(jìn)來(lái)的數(shù)據(jù)報(bào)文有的很長(zhǎng),有的很短,調(diào)度時(shí)短數(shù)據(jù)報(bào)文比長(zhǎng)數(shù)據(jù)報(bào)文搶占令牌的機(jī)會(huì)大;則會(huì)存在一種情況,當(dāng)長(zhǎng)數(shù)據(jù)報(bào)文和短數(shù)據(jù)報(bào)文進(jìn)來(lái)速率一樣的時(shí)候,或者長(zhǎng)數(shù)據(jù)報(bào)文速率更小的時(shí)候,長(zhǎng)數(shù)據(jù)報(bào)文一個(gè)令牌也獲取不到,即長(zhǎng)數(shù)據(jù)報(bào)文會(huì)全部丟棄,出現(xiàn)“餓死”的現(xiàn)象。 同樣在vpn的另外一種場(chǎng)景,當(dāng)對(duì)某個(gè)vpn進(jìn)行限速時(shí),屬于同一個(gè)vpn實(shí)例下的不同端口,當(dāng)進(jìn)來(lái)的長(zhǎng)短數(shù)據(jù)報(bào)文速率不同時(shí),也會(huì)存在以上提到的情況。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明要解決的主要技術(shù)問(wèn)題是提供一種數(shù)據(jù)報(bào)文傳輸控制方法和裝置,解決現(xiàn)有數(shù)據(jù)報(bào)文傳輸過(guò)程中短數(shù)據(jù)報(bào)文比長(zhǎng)數(shù)據(jù)報(bào)文容易得到令牌導(dǎo)致長(zhǎng)數(shù)據(jù)報(bào)文無(wú)法得到令牌進(jìn)而丟棄長(zhǎng)數(shù)據(jù)報(bào)文的問(wèn)題。

      為解決上述問(wèn)題,本發(fā)明提供一種數(shù)據(jù)報(bào)文傳輸控制方法,包括:

      獲取當(dāng)前數(shù)據(jù)報(bào)文;

      判斷當(dāng)前令牌桶中的令牌數(shù)是否大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);

      如果大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù),從當(dāng)前令牌桶中的令牌數(shù)中獲取令牌補(bǔ)償所述令牌透支數(shù);

      判斷補(bǔ)償后令牌桶中的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值;

      如果大于等于所述預(yù)設(shè)傳輸閾值,則允許所述當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,當(dāng)所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)大于所述預(yù)設(shè)傳輸閾值時(shí),所述令牌透支數(shù)為所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)與所述預(yù)設(shè)傳輸閾值的差值;

      當(dāng)所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)小于等于所述預(yù)設(shè)傳輸閾值時(shí),所述令牌透支數(shù)為0。

      在本發(fā)明的一種實(shí)施例中,判斷當(dāng)前令牌桶中的令牌數(shù)小于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)時(shí),則丟棄所述當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,判斷補(bǔ)償后令牌桶中的令牌數(shù)小于所述預(yù)設(shè)傳輸閾值時(shí),則丟棄所述當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,所述預(yù)設(shè)傳輸閾值為數(shù)據(jù)報(bào)文的基準(zhǔn)定值與比例控制系數(shù)的乘積。

      在本發(fā)明的一種實(shí)施例中,所述數(shù)據(jù)報(bào)文的基準(zhǔn)定值為最小數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù),所述比例控制系數(shù)為1。

      為解決上述問(wèn)題,本發(fā)明還提供一種數(shù)據(jù)報(bào)文傳輸控制裝置,包括數(shù)據(jù)報(bào)文獲取模塊、透支判斷模塊、令牌補(bǔ)償模塊、傳輸判斷模塊和傳輸控制模塊:

      所述數(shù)據(jù)報(bào)文獲取模塊用于獲取當(dāng)前數(shù)據(jù)報(bào)文;

      所述透支判斷模塊用于判斷當(dāng)前令牌桶中的令牌數(shù)是否大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);

      所述令牌補(bǔ)償模塊用于如果大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù),從當(dāng)前令牌桶中的令牌數(shù)中獲取令牌補(bǔ)償所述令牌透支數(shù);

      所述傳輸判斷模塊用于判斷補(bǔ)償后令牌桶中的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值;

      所述傳輸控制模塊用于如果大于等于所述預(yù)設(shè)傳輸閾值,則允許所述當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,當(dāng)所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)大于所述預(yù)設(shè)傳輸閾值時(shí),所述令牌透支數(shù)為所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)與所述預(yù)設(shè)傳輸閾值的差值;

      當(dāng)所述上次數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù)小于等于所述預(yù)設(shè)傳輸閾值時(shí),所述令牌透支數(shù)為0。

      在本發(fā)明的一種實(shí)施例中,所述傳輸控制模塊還用于判斷當(dāng)前令牌桶中的 令牌數(shù)小于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)時(shí),則丟棄所述當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,所述傳輸控制模塊還用于判斷補(bǔ)償后令牌桶中的令牌數(shù)小于所述預(yù)設(shè)傳輸閾值時(shí),則丟棄所述當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      在本發(fā)明的一種實(shí)施例中,所述預(yù)設(shè)傳輸閾值為數(shù)據(jù)報(bào)文的基準(zhǔn)定值與比例控制系數(shù)的乘積。

      在本發(fā)明的一種實(shí)施例中,所述數(shù)據(jù)報(bào)文的基準(zhǔn)定值為最小數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù),所述比例控制系數(shù)為1。

      本發(fā)明的有益效果是:

      本發(fā)明提供的數(shù)據(jù)報(bào)文傳輸控制方法和裝置,獲取當(dāng)前數(shù)據(jù)報(bào)文;判斷當(dāng)前令牌桶中的令牌數(shù)是否大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);如果大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù),從當(dāng)前令牌桶中的令牌數(shù)中獲取令牌補(bǔ)償令牌透支數(shù);判斷補(bǔ)償后令牌桶中的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值;如果大于等于預(yù)設(shè)傳輸閾值,則允許當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸。與現(xiàn)有技術(shù)相比,不是根據(jù)數(shù)據(jù)報(bào)文的長(zhǎng)短來(lái)進(jìn)行是否進(jìn)行傳輸,而是判斷在對(duì)令牌透支數(shù)進(jìn)行補(bǔ)償后,是否滿足預(yù)設(shè)傳輸閾值,如果滿足就進(jìn)行傳輸,提高了長(zhǎng)短數(shù)據(jù)報(bào)文在傳輸過(guò)程中獲取令牌的公正性,能夠避免長(zhǎng)數(shù)據(jù)報(bào)文無(wú)法獲取令牌導(dǎo)致報(bào)文被丟棄的問(wèn)題。

      附圖說(shuō)明

      圖1為本發(fā)明實(shí)施例一提供的數(shù)據(jù)報(bào)文傳輸控制方法流程示意圖;

      圖2為本發(fā)明實(shí)施例二提供的數(shù)據(jù)報(bào)文傳輸控制方法流程示意圖;

      圖3為本發(fā)明實(shí)施例三提供的數(shù)據(jù)報(bào)文傳輸控制裝置結(jié)構(gòu)示意。

      具體實(shí)施方式

      為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      實(shí)施例一:

      本實(shí)施例的數(shù)據(jù)報(bào)文傳輸控制方法,如圖1所示,該方法包括:

      步驟s101:獲取當(dāng)前數(shù)據(jù)報(bào)文;

      在該步驟中,這里的獲取當(dāng)前數(shù)據(jù)報(bào)文是指當(dāng)前數(shù)據(jù)報(bào)文進(jìn)入服務(wù)器后,進(jìn)入隊(duì)列調(diào)度進(jìn)行時(shí)獲取該當(dāng)前數(shù)據(jù)報(bào)文,這里的當(dāng)前數(shù)據(jù)報(bào)文即可以是長(zhǎng)數(shù)據(jù)報(bào)文也可以短數(shù)據(jù)報(bào)文。

      步驟s102:判斷當(dāng)前令牌桶中的令牌數(shù)是否大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);

      在該步驟中,進(jìn)行當(dāng)前令牌桶中的令牌數(shù)與令牌透支數(shù)的判斷主要是要對(duì)傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)看是否能夠償還。這里的傳輸上次數(shù)據(jù)報(bào)文是指在當(dāng)前數(shù)據(jù)報(bào)文進(jìn)行傳輸時(shí)的前一個(gè)數(shù)據(jù)報(bào)文的傳輸,當(dāng)然如果當(dāng)前數(shù)據(jù)報(bào)文是第一個(gè)數(shù)據(jù)報(bào)文傳輸,那么前一個(gè)數(shù)據(jù)報(bào)文的傳輸就為0.也即令牌透支數(shù)默認(rèn)為0。

      步驟s103:如果大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù),從當(dāng)前令牌桶中的令牌數(shù)中獲取令牌補(bǔ)償令牌透支數(shù);

      在該步驟中,主要是要對(duì)傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)進(jìn)行償還, 也就是從當(dāng)前令牌桶中的令牌數(shù)減去需償還的令牌透支數(shù)得到當(dāng)前令牌桶中能夠使用的令牌數(shù)。當(dāng)然,如果判斷當(dāng)前令牌桶中的令牌數(shù)小于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)時(shí),也就表示當(dāng)前令牌桶中沒(méi)有可用的令牌了,那么則丟棄當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸;具體的可以進(jìn)行數(shù)據(jù)報(bào)文的標(biāo)記,便于識(shí)別哪些數(shù)據(jù)報(bào)文不通過(guò),不傳輸進(jìn)行丟棄,優(yōu)選的,對(duì)丟棄的數(shù)據(jù)報(bào)文進(jìn)行紅色標(biāo)記。

      步驟s104:判斷補(bǔ)償后令牌桶中的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值;

      在該步驟中,具體為在進(jìn)行補(bǔ)償后的可用的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值,也即判斷是否還能進(jìn)行數(shù)據(jù)報(bào)文傳輸。這里的預(yù)設(shè)傳輸閾值可以根據(jù)用戶(hù)的需要進(jìn)行具體設(shè)置,優(yōu)選的,可以設(shè)置為數(shù)據(jù)報(bào)文的基準(zhǔn)定值與比例控制系數(shù)的乘積,這里的數(shù)據(jù)報(bào)文的基準(zhǔn)定值是指數(shù)據(jù)報(bào)文的一些基準(zhǔn)固定字節(jié)數(shù),比例控制系數(shù)是根據(jù)用戶(hù)需要進(jìn)行自定義的值。進(jìn)一步,為了便于對(duì)數(shù)據(jù)報(bào)文的控制以及避免令牌的浪費(fèi),優(yōu)選的,數(shù)據(jù)報(bào)文的基準(zhǔn)定值為最小數(shù)據(jù)報(bào)文的數(shù)據(jù)報(bào)文字節(jié)數(shù),比例控制系數(shù)為1;也即設(shè)置預(yù)設(shè)傳輸閾值為需要進(jìn)行傳輸數(shù)據(jù)報(bào)文的最小數(shù)據(jù)報(bào)文的字節(jié)數(shù)。

      步驟s105:如果大于等于預(yù)設(shè)傳輸閾值,則允許當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸。

      在該步驟中,如果大于等于預(yù)設(shè)傳輸閾值,即當(dāng)前令牌桶中可用的令牌數(shù)比預(yù)設(shè)傳輸閾值大于或等于,也即還當(dāng)前還可以進(jìn)行數(shù)據(jù)報(bào)文的傳輸,則允許當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸;具體的,可以進(jìn)行數(shù)據(jù)報(bào)文的標(biāo)記,便于識(shí)別哪些數(shù)據(jù)報(bào)文通過(guò),進(jìn)行傳輸,優(yōu)選的,對(duì)通過(guò)進(jìn)行傳輸?shù)臄?shù)據(jù)報(bào)文進(jìn)行綠色標(biāo)記。

      實(shí)施例二:

      本實(shí)施例的數(shù)據(jù)報(bào)文傳輸控制方法能夠在不影響帶寬限速控制的前提下,通過(guò)特定的算法來(lái)有效的消耗令牌數(shù),避免長(zhǎng)字節(jié)數(shù)據(jù)報(bào)文在傳輸過(guò)程中“餓死”的情況,提高長(zhǎng)字節(jié)數(shù)據(jù)報(bào)文的通過(guò)幾率,達(dá)到公平分享帶寬的目的。主要過(guò)程是當(dāng)前數(shù)據(jù)報(bào)文進(jìn)入設(shè)備后,進(jìn)入隊(duì)列調(diào)度時(shí),在一定條件下數(shù)據(jù)報(bào)文是否還能進(jìn)行傳輸取決于當(dāng)前數(shù)據(jù)報(bào)文是否能夠取到令牌,并通過(guò)合適的閾值來(lái)決定數(shù)據(jù)報(bào)文通過(guò)所需要的令牌數(shù),不是按數(shù)據(jù)報(bào)文的實(shí)際長(zhǎng)度來(lái)消耗令牌數(shù)。如圖1所示,該方法包括:

      步驟s201:當(dāng)前數(shù)據(jù)報(bào)文進(jìn)入隊(duì)列調(diào)度進(jìn)行;

      步驟s202:判斷令牌透支數(shù)是否為0,如果為0,則進(jìn)入步驟s206;如果不為0,則進(jìn)入步驟s203;

      在該步驟中,具體的通過(guò)變量tkod(tokenoverdrafted,令牌透支數(shù)),判斷當(dāng)前tkod是否等于0,來(lái)決定是否需要補(bǔ)償透支的令牌透支數(shù)。

      步驟s203:比較tkod與當(dāng)前令牌桶中的令牌個(gè)數(shù),如果當(dāng)前令牌數(shù)小于tkod,進(jìn)入步驟s204;如果當(dāng)前令牌數(shù)大于等于tkod,進(jìn)入步驟s205;

      步驟s204:將當(dāng)前數(shù)據(jù)報(bào)文著紅色并丟棄;

      步驟s205:令牌桶中的令牌數(shù)減少tkod對(duì)應(yīng)的令牌數(shù);

      步驟s206:判斷當(dāng)前令牌數(shù)與預(yù)設(shè)傳輸閾值thr的大小,如果當(dāng)前令牌數(shù)小于thr,則進(jìn)入步驟s207;如果當(dāng)前令牌數(shù)大于等于thr,則進(jìn)入步驟s208;

      步驟s207:將當(dāng)前數(shù)據(jù)報(bào)文著紅色并丟棄;

      步驟s208:當(dāng)前令牌數(shù)減少thr對(duì)應(yīng)的令牌數(shù),并重新賦值tkod等于當(dāng)前報(bào)文字節(jié)長(zhǎng)度減去預(yù)設(shè)傳輸閾值thr,將報(bào)文著綠色并讓其通過(guò)進(jìn)行傳輸。

      值得注意的是,如果tkod等于0,表示不需要彌補(bǔ)透支的令牌透支數(shù),然后通過(guò)比較thr與當(dāng)前令牌桶的個(gè)數(shù),如果thr小于等于令牌桶的令牌個(gè)數(shù), 通過(guò)對(duì)報(bào)文重新著綠色讓報(bào)文通過(guò)進(jìn)行傳輸,并將變量tkod重新賦值并保存,tkod等于當(dāng)前報(bào)文長(zhǎng)度減去預(yù)設(shè)傳輸閾值thr(其中thr=u*con,u為比例控制系數(shù),con為一個(gè)基準(zhǔn)定值,可取最小數(shù)據(jù)報(bào)文長(zhǎng)64(即u=1,con=64),兩個(gè)參數(shù)值的大小在一定程度都會(huì)影響長(zhǎng)數(shù)據(jù)報(bào)文通過(guò)的幾率),將令牌個(gè)數(shù)同樣減少thr個(gè);否則將當(dāng)前數(shù)據(jù)報(bào)文著紅色,將當(dāng)前數(shù)據(jù)報(bào)文丟棄。

      舉例進(jìn)行說(shuō)明,例如配置本地交換業(yè)務(wù)(vlss),對(duì)其中進(jìn)入ptn設(shè)備的某個(gè)端口進(jìn)行10m的端口限速處理。設(shè)置初始值端口cir=10m,比例控制系數(shù)u=1,預(yù)設(shè)傳輸閾值thr=64,tkod=0,令牌桶中的令牌個(gè)數(shù)要求大于或者等于數(shù)據(jù)傳輸時(shí)最長(zhǎng)報(bào)文數(shù)據(jù)的字節(jié)數(shù);測(cè)試時(shí),對(duì)該端口進(jìn)行發(fā)流10m320字節(jié)和10m80字節(jié)的數(shù)據(jù)報(bào)文;為了更好的說(shuō)明該實(shí)例,假設(shè)令牌桶的大?。?00,令牌桶中的令牌個(gè)數(shù)為初始值大小。數(shù)據(jù)報(bào)文從該某個(gè)端口分別以10m的速率往端口發(fā)數(shù)據(jù)報(bào)文時(shí),在數(shù)據(jù)報(bào)文在進(jìn)行傳輸控制時(shí),320字節(jié)和80字節(jié)進(jìn)入隊(duì)列存緩存區(qū)域中出現(xiàn)的概率是1:4。

      分析過(guò)程入下:

      第一個(gè)80字節(jié)數(shù)據(jù)報(bào)文進(jìn)隊(duì)列調(diào)度時(shí),初始值tkod=0,則說(shuō)明該數(shù)據(jù)報(bào)文有機(jī)會(huì)從令牌中獲取令牌,不需要彌補(bǔ)上一次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);判斷當(dāng)前令牌桶中令牌數(shù)是否大于64,如果大于64,則說(shuō)明滿足條件可以消耗64個(gè)令牌,并將tkod賦值為16,即當(dāng)前數(shù)據(jù)報(bào)文長(zhǎng)度減去閾值thr令牌數(shù)相應(yīng)減少64,則令牌數(shù)剩余336個(gè),數(shù)據(jù)報(bào)文著綠色并讓其通過(guò);如果小于等于64,則將數(shù)據(jù)報(bào)文著紅色丟棄。

      第二個(gè)80字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于16,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌即補(bǔ)償透支的令牌透支數(shù),才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tkod等于16,小于令牌數(shù)336,滿足條件;先減去16,令牌數(shù)變?yōu)?20。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于64;現(xiàn)在令牌數(shù)等于320,大于64個(gè),則可以取走相應(yīng)的令牌數(shù)64個(gè),剩余令牌數(shù)位256個(gè);并對(duì)tkod重新賦值為80-64=16,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第三個(gè)80字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于16,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tkod等于16,小于令牌數(shù)256,滿足條件;先減去16,令牌數(shù)變?yōu)?40。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于64;現(xiàn)在令牌數(shù)等于240,大于64個(gè),則可以取走相應(yīng)的令牌數(shù)64個(gè),剩余令牌數(shù)176個(gè);并對(duì)tkod重新賦值為80-64=16,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第四個(gè)80字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于16,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于16,小于令牌數(shù)176,滿足條件;先減去16,令牌數(shù)變?yōu)?60。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于64;現(xiàn)在令牌數(shù)等于160,大于64個(gè),則可以取走相應(yīng)的令牌數(shù)64個(gè),剩余令牌數(shù)位96個(gè);并對(duì)tkod重新賦值為80-64=16,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第五個(gè)為320字節(jié)的數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于16,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲 取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tkod等于16,小于令牌數(shù)96,滿足條件;先減去16,令牌數(shù)變?yōu)?0。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于64;現(xiàn)在令牌數(shù)等于80,大于64個(gè),則可以取走相應(yīng)的令牌數(shù)64個(gè),剩余令牌數(shù)位16個(gè);并對(duì)tkod重新賦值為320-64=256,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第六個(gè)為80字節(jié)的數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于256,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于256,當(dāng)前令牌數(shù)為16,不滿足提前透支令牌,則將第六個(gè)數(shù)據(jù)報(bào)文著紅色,數(shù)據(jù)報(bào)文丟棄。

      依次類(lèi)推,依次重復(fù)分析以上過(guò)程,最后長(zhǎng)短字節(jié)的數(shù)據(jù)報(bào)文通過(guò)的比例為1:4。值得注意的是,如果在第五個(gè)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),此時(shí)令牌數(shù)只有80個(gè),而數(shù)據(jù)報(bào)文長(zhǎng)度為320字節(jié),按正常處理需要是需要消耗的令牌數(shù)為320,在這里通過(guò)特殊的令牌透支方法,保證了長(zhǎng)字節(jié)數(shù)據(jù)報(bào)文通過(guò)的公平行。另外,在整個(gè)處理過(guò)程中,令牌桶的令牌數(shù)是實(shí)時(shí)以cir的速率往里面加,在分析過(guò)程中為了更好的描述,而沒(méi)有考慮這個(gè)具體數(shù)值。

      為了更好的便于理解,再舉一例進(jìn)行說(shuō)明,例如應(yīng)用在vpls應(yīng)用中,不同成員從不同設(shè)備的不同的端口進(jìn)入同一vpn實(shí)例時(shí),配置對(duì)該vpn進(jìn)行限速處理時(shí),當(dāng)進(jìn)入某個(gè)端口的數(shù)據(jù)報(bào)文長(zhǎng)度過(guò)長(zhǎng),在進(jìn)入該vpn的數(shù)據(jù)總速率大于某一限定速率時(shí),在極端的情況下,可能會(huì)出現(xiàn)某一個(gè)成員的長(zhǎng)字節(jié)數(shù)據(jù)報(bào)文由于搶不到令牌會(huì)被全部丟掉。具體的,對(duì)其中進(jìn)入ptn設(shè)備的同一vpn進(jìn)行20m的限速處理;設(shè)置初始值cir=20m,比例控制系數(shù)u=1,預(yù)設(shè)傳輸閾值thr=80, tkod=0;令牌桶中的令牌個(gè)數(shù)要求大于或者等于數(shù)據(jù)傳輸時(shí)最長(zhǎng)數(shù)據(jù)報(bào)文的字節(jié)數(shù),假設(shè)令牌桶的大小=450,令牌桶中的令牌個(gè)數(shù)為初始值大小。測(cè)試時(shí),用儀表對(duì)該端口1發(fā)流20m360字節(jié)和對(duì)端口3發(fā)20m90字節(jié)的數(shù)據(jù)報(bào)文,雖然從不同端口進(jìn)入,但長(zhǎng)短數(shù)據(jù)報(bào)文進(jìn)入同一vpn中的調(diào)度的概率為1:4。

      分析過(guò)程入下:

      數(shù)據(jù)報(bào)文長(zhǎng)大小為第一個(gè)90字節(jié)的數(shù)據(jù)報(bào)文進(jìn)來(lái),初始值tkod=0,則說(shuō)明該數(shù)據(jù)報(bào)文有機(jī)會(huì)從令牌中獲取令牌,不需要彌補(bǔ)上一次數(shù)據(jù)報(bào)文透支的令牌數(shù);判斷當(dāng)前令牌桶令牌數(shù)是否大于80,如果大于80,則說(shuō)明滿足條件可以消耗80個(gè)令牌,并將tkod賦值為90-80=10;當(dāng)前令牌數(shù)滿足條件,即當(dāng)前數(shù)據(jù)報(bào)文長(zhǎng)度減去閾值thr令牌數(shù)相應(yīng)減少80,則令牌數(shù)剩余370個(gè),數(shù)據(jù)報(bào)文著綠色并讓其通過(guò);

      第二個(gè)90字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于10,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于10,小于370,滿足條件;先減去10,令牌數(shù)變?yōu)?60。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于80;現(xiàn)在令牌數(shù)等于360,大于80,則可以取走相應(yīng)的令牌數(shù)80個(gè),剩余令牌數(shù)位280個(gè);并對(duì)tkod重新賦值為90-80=10,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第三個(gè)90字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于10,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tkod等于10,小于280,滿足條件; 先減去10,令牌數(shù)變?yōu)?70。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于80;現(xiàn)在令牌數(shù)等于280,大于80,則可以取走相應(yīng)的令牌數(shù)80個(gè),剩余令牌數(shù)位200個(gè);并對(duì)tkod重新賦值為90-80=10,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第四個(gè)90字節(jié)數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于10,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于10,小于200,滿足條件;先減去10,令牌數(shù)變?yōu)?90。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于80;現(xiàn)在令牌數(shù)等于190,大于80,則可以取走相應(yīng)的令牌數(shù)80個(gè),剩余令牌數(shù)位110個(gè);并對(duì)tkod重新賦值為90-80=10,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第五個(gè)為360字節(jié)的數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于10,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于10,小于110,滿足條件;先減去10,令牌數(shù)變?yōu)?00。

      繼續(xù)判斷當(dāng)前令牌數(shù)是否大于等于80;現(xiàn)在令牌數(shù)等于110,大于80,則可以取走相應(yīng)的令牌數(shù)80個(gè),剩余令牌數(shù)位30個(gè);并對(duì)tkod重新賦值為360-80=280,將數(shù)據(jù)報(bào)文著色綠色,數(shù)據(jù)報(bào)文通過(guò)。

      第六個(gè)為90字節(jié)的數(shù)據(jù)報(bào)文進(jìn)來(lái)時(shí),判斷tkod是否等于0;tkod等于280,不等于0,說(shuō)明該數(shù)據(jù)報(bào)文需要先“彌補(bǔ)”透支令牌,才能有機(jī)會(huì)從令牌桶中獲取令牌;

      判斷tkod是否小于等于當(dāng)前令牌數(shù);tokd等于256,當(dāng)前令牌數(shù)為30,不滿足提前透支令牌,則將第六個(gè)數(shù)據(jù)報(bào)文著紅色,數(shù)據(jù)報(bào)文丟棄。

      依次類(lèi)推,依次重復(fù)分析以上過(guò)程,最后長(zhǎng)短字節(jié)的數(shù)據(jù)報(bào)文進(jìn)入vpn的比例為1:4。另外,在整個(gè)處理過(guò)程中,令牌桶的令牌數(shù)是實(shí)時(shí)以cir的速率往里面加,在分析過(guò)程中為了更好的描述,而沒(méi)有考慮這個(gè)具體數(shù)值。值得注意的是本實(shí)施例中的令牌桶的大小即為令牌桶中的令牌個(gè)數(shù)。

      實(shí)施例三:

      本實(shí)施例提供一種數(shù)據(jù)報(bào)文傳輸控制裝置300,如圖3所示,包括報(bào)文獲取模塊301、透支判斷模塊302、令牌補(bǔ)償模塊303、傳輸判斷模塊304和傳輸控制模塊305:其中,報(bào)文獲取模塊301用于獲取當(dāng)前數(shù)據(jù)報(bào)文;透支判斷模塊302用于判斷當(dāng)前令牌桶中的令牌數(shù)是否大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù);令牌補(bǔ)償模塊303用于如果大于等于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù),從當(dāng)前令牌桶中的令牌數(shù)中獲取令牌補(bǔ)償令牌透支數(shù),傳輸判斷模塊304用于判斷補(bǔ)償后令牌桶中的令牌數(shù)是否大于等于預(yù)設(shè)傳輸閾值;傳輸控制模塊305用于如果大于等于預(yù)設(shè)傳輸閾值,則允許當(dāng)前數(shù)據(jù)報(bào)文獲取令牌進(jìn)行傳輸。

      進(jìn)一步,當(dāng)上次數(shù)據(jù)報(bào)文的報(bào)文字節(jié)數(shù)大于預(yù)設(shè)傳輸閾值時(shí),令牌透支數(shù)為上次數(shù)據(jù)報(bào)文的報(bào)文字節(jié)數(shù)與預(yù)設(shè)傳輸閾值的差值;當(dāng)上次數(shù)據(jù)報(bào)文的報(bào)文字節(jié)數(shù)小于等于預(yù)設(shè)傳輸閾值時(shí),令牌透支數(shù)為0。

      進(jìn)一步,傳輸控制模塊305還用于判斷當(dāng)前令牌桶中的令牌數(shù)小于傳輸上次數(shù)據(jù)報(bào)文透支的令牌透支數(shù)時(shí),則丟棄當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      進(jìn)一步,傳輸控制模塊305還用于判斷補(bǔ)償后令牌桶中的令牌數(shù)小于預(yù)設(shè)傳輸閾值時(shí),則丟棄當(dāng)前數(shù)據(jù)報(bào)文不進(jìn)行傳輸。

      進(jìn)一步,預(yù)設(shè)傳輸閾值為數(shù)據(jù)報(bào)文的基準(zhǔn)定值與比例控制系數(shù)的乘積。

      進(jìn)一步,數(shù)據(jù)報(bào)文的基準(zhǔn)定值為最小數(shù)據(jù)報(bào)文的報(bào)文字節(jié)數(shù),比例控制系數(shù)為1。

      本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,上述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán)等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。

      以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1