專利名稱:一種轉發(fā)流量的方法和裝置的制作方法
技術領域:
本發(fā)明涉及計算機應用技術領域,尤其涉及一種轉發(fā)流量的方法和裝置。
背景技術:
為一個隊列確定預設帶寬,并通過隊列管理是實現(xiàn)QoS (Quality ofkrvice,服務質量)的一種常用手段。例如,根據(jù)預設帶寬,每個時鐘周期為該隊列添加一定數(shù)量的令牌。發(fā)明人發(fā)現(xiàn),一個隊列在一個時間段內(nèi)轉發(fā)的流量可能會超過預定帶寬與該時間段的長度的乘積。例如,隊列轉發(fā)一個較長的報文時就可能會出現(xiàn)這種情形。隊列在一個時間段內(nèi)轉發(fā)的流量超過預定帶寬與該時間段的長度的乘積將導致隊列轉發(fā)流量的平均速率超過預設帶寬。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種轉發(fā)流量的方法及裝置,可以實現(xiàn)隊列轉發(fā)流量的平均速率等于預設帶寬。一方面,本發(fā)明實施例提供了一種轉發(fā)流量的方法,包括在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),所述第一隊列對應預設帶寬;根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長;在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā),所述第二時間段的時長等于所述暫停時長。另一方面,本發(fā)明實施例提供了一種轉發(fā)流量的裝置,包括轉發(fā)單元,用于在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),所述第一隊列對應預設帶寬;計算單元,用于根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長;禁用單元,用于在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā),所述第二時間段的時長等于所述暫停時長??梢姡谝魂犃性诘谝粫r間段內(nèi)實際轉發(fā)的流量的大小大于第一隊列在第一時間段內(nèi)應該轉發(fā)的流量的大小。根據(jù)暫停時長,在第二時間段禁用第一隊列的流量轉發(fā)。因此,第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)的流量的大小等于第一隊列在第一時間段內(nèi)轉發(fā)的流量的大小。因此,通過本實施例提供的方法,可以達到第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)流量的平均速率等于預設帶寬的技術效果。
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用CN 102546411 A
的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例一提供的轉發(fā)流量的方法的流程圖;圖2為本發(fā)明實施例二提供的轉發(fā)流量的裝置的結構示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為便于對本發(fā)明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步的解釋說明,且各個實施例并不構成對本發(fā)明實施例的限定。實施例一本實施例提供了一種轉發(fā)流量的方法,可以應用于轉發(fā)流量的網(wǎng)絡設備。該網(wǎng)絡設備可以是路由器或者交換機。參見圖1,圖1為本實施例提供的方法的流程圖。該方法包括101、在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),該第一隊列對應預設帶寬。101可以通過流量管理(Traffic Management,TM)芯片實現(xiàn)。具體來說,101可以通過TM芯片中的隊列管理單元實現(xiàn)。第一時間段為某個時間段,意味著時間的流逝。第一時間段區(qū)別于時間點。第一時間段的長度可以是8秒(second,s),也可以是其他值。第一隊列可以是網(wǎng)絡設備中用于轉發(fā)流量的端口的一個隊列。該端口可以對應多個隊列。預設帶寬是為第一隊列預先設定的帶寬。該預設帶寬可以是1兆比特每秒((ibit/ S)。預設帶寬也可以其他值。102、根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長。102可以通過TM芯片實現(xiàn)。具體來說,102可以通過TM芯片中的調度單元實現(xiàn)。 另外,102也可以通過軟件代碼實現(xiàn)。計算暫停時長具體實現(xiàn)時,可以是計算該預設帶寬與該第一時間段的時長的乘積,該乘積是該第一隊列在該第一時間段內(nèi)應該轉發(fā)的流量的大小;當該實際轉發(fā)的流量的大小大于該應該轉發(fā)的流量的大小時,計算該實際轉發(fā)的流量的大小與該應該轉發(fā)的流量的大小的差,計算該差與該預設帶寬的商,該暫停時長為該商的數(shù)值。關于暫停時長,下文提供了一個具體的例子預設帶寬為Kibit/s。第一時間段的長度為8秒。第一隊列在第一時間段內(nèi)實際轉發(fā)的流量為2兆字節(jié)((ibyte)。
第一隊列在第一時間段內(nèi)應該轉發(fā)的流量的大小為Kibit/sXSs,即mbyte。2Gbyte 與 IGbyte 的差為 1Gbyte。IGbyte 與 lGbit/s 的商為 8 秒。因此,在上文提到的例子中,暫停時長為8秒。103、在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā),該第二時間段的時長等于該暫停時長。103可以通過TM芯片實現(xiàn)。具體來說,可以通過TM芯片中的調度單元實現(xiàn)。第二時間段具體實現(xiàn)時,請參見101中對第一時間段的描述。需要說明的是,第二時間段發(fā)生在第一時間段之后。另外,第二時間段與第一時間段可以是不連續(xù)的時間段。也就是說,第二時間段與第一時間段之間還可以有一個時間間隔。從上述描述可以看出,第一隊列在第一時間段內(nèi)實際轉發(fā)的流量的大小大于第一隊列在第一時間段內(nèi)應該轉發(fā)的流量的大小。根據(jù)暫停時長,在第二時間段禁用第一隊列的流量轉發(fā)。因此,第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)的流量的大小等于第一隊列在第一時間段內(nèi)轉發(fā)的流量的大小。因此,通過本實施例提供的方法,可以達到第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)流量的平均速率等于預設帶寬的技術效果。可選的,本實施例提供的方法在102之后,并且在103之前,還可以包括生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。103具體包括在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。在第三時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第三時間段的起點為該進入暫停階段的時間點,該第三時間段的終點為第一當前時間點。具體實現(xiàn)時,第一當前時間點為當前時間點。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第一當前時間點與該第一時間點的早晚;如果該第一當前時間點早于該第一時間點,繼續(xù)禁用該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點??梢?,通過上述方法,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷??蛇x的,本實施例提供的方法在102之后,并且在103之前,還可以包括生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。103具體包括在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。在第四時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第四時間段的起點為該進入暫停階段的時間點,該第四時間段的終點為第二當前時間點。具體實現(xiàn)時,第二當前時間點為當前時間點。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第二當前時間點與該第一時間點的早晚;如果該第二當前時間點等于該第一時間點,則在該第二當前時間點使能該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點??梢?,通過上述方法,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷。
可選的,本實施例提供的方法在102之后,并且在103之前,還可以包括生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。103具體包括在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。在第五時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第五時間段的起點為該進入暫停階段的時間點,該第五時間段的終點為第三當前時間點。具體實現(xiàn)時,第三當前時間點為當前時間點。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第三當前時間點與該第一時間點的早晚;如果該第三當前時間點晚于該第一時間點,則在該第三當前時間點使能該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點。103之后,該方法還包括在第六時間段內(nèi),根據(jù)第一令牌對該第一隊列的流量進行轉發(fā),該第一令牌為該預設帶寬與第一時間長度的乘積所對應的令牌,該第一時間長度為該第三當前時間點與該第一時間點的差再加上該第六時間段的長度。具體實現(xiàn)時,第六時間段的起點可以是第二時間段的終點之后的時間點。第六時間段與第二時間段之間可以有一個時間間隔??梢?,通過上述方法,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷。另外,根據(jù)上述方法可知如果在第一時間點使能第一隊列的流量轉發(fā),則第一隊列在第一時間段與第二時間段內(nèi)平均轉發(fā)的流量等于預設帶寬。當前時間點晚于第一時間點則意味著禁用第一隊列的流量轉發(fā)的時長超過了暫停時長。因此,本實施例提供的方法中,為第一隊列在第六時間段進行流量轉發(fā)增加了額外的令牌,即第三當前時間點與第一時間點的差所對應的令牌。因此,本實施例提供的方法可以達到第一隊列在第一時間段、第二時間段以及第六時間段內(nèi)可用的令牌所對應的流量等于第一時間段、第二時間段以及第六時間段的和與預設帶寬的乘積所對應的流量的技術效果。實施例二本實施例提供了一種轉發(fā)流量的裝置,該裝置為轉發(fā)流量的網(wǎng)絡設備。該網(wǎng)絡設備可以是路由器或者交換機。本實施例提供的轉發(fā)流量的裝置可以通過實施例一提供的方法實現(xiàn)。參見圖2,圖2為本實施例提供的裝置的結構示意圖。該裝置包括轉發(fā)單元201,用于在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),該第一隊列對應預設帶寬。轉發(fā)單元201具體實現(xiàn)時,請參見實施例一中的101。計算單元202,用于根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長。計算單元202具體實現(xiàn)時,請參見實施例一中的102。禁用單元203,用于在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā),該第二時間段的時長等于該暫停時長。禁用單元203具體實現(xiàn)時,請參見實施例一中的103。從上述描述可以看出,第一隊列在第一時間段內(nèi)實際轉發(fā)的流量的大小大于第一隊列在第一時間段內(nèi)應該轉發(fā)的流量的大小。根據(jù)暫停時長,在第二時間段禁用第一隊列的流量轉發(fā)。因此,第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)的流量的大小等于第一隊列在第一時間段內(nèi)轉發(fā)的流量的大小。因此,通過本實施例提供的裝置,可以達到第一隊列在第一時間段與第二時間段內(nèi)轉發(fā)流量的平均速率等于預設帶寬的技術效果??蛇x的,計算單元202具體包括第一子單元,用于計算該預設帶寬與該第一時間段的時長的乘積,該乘積是該第一隊列在該第一時間段內(nèi)應該轉發(fā)的流量的大小。第一子單元具體實現(xiàn)時,請參見實施例一中的102。第二子單元,用于當該實際轉發(fā)的流量的大小大于該應該轉發(fā)的流量的大小時, 計算該實際轉發(fā)的流量的大小與該應該轉發(fā)的流量的大小的差,計算該差與該預設帶寬的商,該暫停時長為該商的數(shù)值。第二子單元具體實現(xiàn)時,請參見實施例一中的102??蛇x的,本實施例提供的轉發(fā)流量裝置還可以包括生成單元,用于在該根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在該在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā)之前,生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。
進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。該禁用單元具體包括第一禁用子單元,用于在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。第二禁用子單元,用于在第三時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第三時間段的起點為該進入暫停階段的時間點,該第三時間段的終點為第一當前時間點。具體實現(xiàn)時,第一當前時間點為當前時間點。第三禁用子單元,用于根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第一當前時間點與該第一時間點的早晚;如果該第一當前時間點早于該第一時間點,則繼續(xù)禁用該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點??梢?,通過上述裝置,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷??蛇x的,本實施例提供的轉發(fā)流量裝置還可以包括生成單元,用于在該根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在該在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā)之前,生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。該禁用單元具體包括第一禁用子單元,用于在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。
第二禁用子單元,用于在第四時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第四時間段的起點為該進入暫停階段的時間點,該第四時間段的終點為第二當前時間點。具體實現(xiàn)時,第二當前時間點為當前時間點。第三禁用子單元,用于根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第二當前時間點與該第一時間點的早晚;如果該第二當前時間點等于該第一時間點,則在該第二當前時間點使能該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點。可見,通過上述裝置,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷??蛇x的,本實施例提供的轉發(fā)流量裝置還可以包括生成單元,用于在該根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在該在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā)之前,生成該第一隊列、該暫停時長以及進入暫停階段的時間點的對應關系,該進入暫停階段的時間點為該第二時間段的開始時間點。進入暫停階段的時間點對應一個時間點,區(qū)別于時間段。具體實現(xiàn)時,進入暫停階段的時間點可以是晚于上述第一時間段的終點的時間點。也就是說,進入暫停階段的時間點與第一時間段之間可以有一個時間間隔。該禁用單元具體包括第一禁用子單元,用于在該進入暫停階段的時間點,禁用該第一隊列的流量轉發(fā)。第二禁用子單元,用于在第五時間段內(nèi)繼續(xù)禁用該第一隊列的流量轉發(fā),該第五時間段的起點為該進入暫停階段的時間點,該第五時間段的終點為第三當前時間點。具體實現(xiàn)時,第三當前時間點為當前時間點。使能子單元,用于根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點;將該暫停時長與該進入暫停階段的時間點相加,獲得第一時間點;判斷該第三當前時間點與該第一時間點的早晚;如果該第三當前時間點晚于該第一時間點,則在該第三當前時間點使能該第一隊列的流量轉發(fā)。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。根據(jù)該第一隊列的標識,在上述對應表中查找上述第一表項。根據(jù)該對應關系獲得該暫停時長以及該進入暫停階段的時間點具體實現(xiàn)時,也可以是網(wǎng)絡設備中保存了一個對應表,該對應表包括多個表項。每個都包含隊列的標識、 該隊列對應的暫停時長以及該隊列對應的進入暫停階段的時間點。其中,第一表項為包含了上述對應關系,即該第一隊列的標識、該暫停時長以及該進入暫停階段的時間點。遍歷上述對應表,讀取第一表項中的該暫停時長以及該進入暫停階段的時間點。該轉發(fā)單元還包括第一轉發(fā)子單元,用于在該在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā)之后,在第六時間段內(nèi),根據(jù)第一令牌對該第一隊列的流量進行轉發(fā),該第一令牌為該預設帶寬與第一時間長度的乘積對應的令牌,該第六時間段的起點對應該第二時間段的終點,該第一時間長度為該第三當前時間點與該第一時間點的差再加上該第六時間段的長度。具體實現(xiàn)時,第六時間段的起點可以是第二時間段的終點之后的時間點。第六時間段與第二時間段之間可以有一個時間間隔??梢?,通過上述裝置,可以通過訪問對應關系確定進入暫停階段的時間點與暫停時長的和所對應的時間點與當前時間點的早晚。相對于為第一隊列專門設置一個定時器以確定當前時間點是否是進入暫停階段的時間點與暫停時長的和所對應的時間點的技術方案,本技術方案降低了系統(tǒng)開銷。另外,根據(jù)上述裝置可知如果在第一時間點使能第一隊列的流量轉發(fā),則第一隊列在第一時間段與第二時間段內(nèi)平均轉發(fā)的流量等于預設帶寬。當前時間點晚于第一時間點則意味著禁用第一隊列的流量轉發(fā)的時長超過了暫停時長。因此,本實施例提供的裝置中,為第一隊列在第六時間段進行流量轉發(fā)增加了額外的令牌,即第三當前時間點與第一時間點的差所對應的令牌。因此,本實施例提供的裝置可以達到第一隊列在第一時間段、第二時間段以及第六時間段內(nèi)可用的令牌所對應的流量等于第一時間段、第二時間段以及第六時間段的和與預設帶寬的乘積所對應的流量的技術效果。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種轉發(fā)流量的方法,其特征在于,包括在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),所述第一隊列對應預設帶寬; 根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長;在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā),所述第二時間段的時長等于所述暫停時長。
2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長具體包括計算所述預設帶寬與所述第一時間段的時長的乘積,所述乘積是所述第一隊列在所述第一時間段內(nèi)應該轉發(fā)的流量的大??;當所述實際轉發(fā)的流量的大小大于所述應該轉發(fā)的流量的大小時,計算所述實際轉發(fā)的流量的大小與所述應該轉發(fā)的流量的大小的差,計算所述差與所述預設帶寬的商,所述暫停時長為所述商的數(shù)值。
3.根據(jù)權利要求1至2中任一所述的方法,其特征在于,所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,所述方法還包括生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點;所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)具體包括 在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā); 在第三時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第三時間段的起點為所述進入暫停階段的時間點,所述第三時間段的終點為第一當前時間點;根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第一當前時間點與所述第一時間點的早晚;如果所述第一當前時間點早于所述第一時間點,則繼續(xù)禁用所述第一隊列的流量轉發(fā)。
4.根據(jù)權利要求1至2中任一所述的方法,其特征在于,所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,所述方法還包括生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點;所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)具體包括 在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā); 在第四時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第四時間段的起點為所述進入暫停階段的時間點,所述第四時間段的終點為第二當前時間點;根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第二當前時間點與所述第一時間點的早晚;如果所述第二當前時間點等于所述第一時間點,則在所述第二當前時間點使能所述第一隊列的流量轉發(fā)。
5.根據(jù)權利要求1至2中任一所述的方法,其特征在于,所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,所述方法還包括生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點;所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)具體包括 在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā); 在第五時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第五時間段的起點為所述進入暫停階段的時間點,所述第五時間段的終點為第三當前時間點;根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第三當前時間點與所述第一時間點的早晚;如果所述第三當前時間點晚于所述第一時間點,則在所述第三當前時間點使能所述第一隊列的流量轉發(fā);所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之后,所述方法還包括 在第六時間段內(nèi),根據(jù)第一令牌對所述第一隊列的流量進行轉發(fā),所述第一令牌為所述預設帶寬與第一時間長度的乘積所對應的令牌,所述第一時間長度為所述第三當前時間點與所述第一時間點的差再加上所述第六時間段的長度。
6.一種轉發(fā)流量的裝置,其特征在于,包括轉發(fā)單元,用于在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),所述第一隊列對應預設帶寬;計算單元,用于根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長;禁用單元,用于在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā),所述第二時間段的時長等于所述暫停時長。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述計算單元具體包括第一子單元,用于計算所述預設帶寬與所述第一時間段的時長的乘積,所述乘積是所述第一隊列在所述第一時間段內(nèi)應該轉發(fā)的流量的大小;第二子單元,用于當所述實際轉發(fā)的流量的大小大于所述應該轉發(fā)的流量的大小時, 計算所述實際轉發(fā)的流量的大小與所述應該轉發(fā)的流量的大小的差,計算所述差與所述預設帶寬的商,所述暫停時長為所述商的數(shù)值。
8.根據(jù)權利要求6至7中任一所述的裝置,其特征在于,所述裝置還包括生成單元,用于在所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點; 所述禁用單元具體包括第一禁用子單元,用于在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā);第二禁用子單元,用于在第三時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第三時間段的起點為所述進入暫停階段的時間點,所述第三時間段的終點為第一當前時間點;第三禁用子單元,用于根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第一當前時間點與所述第一時間點的早晚;如果所述第一當前時間點早于所述第一時間點,則繼續(xù)禁用所述第一隊列的流量轉發(fā)。
9.根據(jù)權利要求6至7中任一所述的裝置,其特征在于,所述裝置還包括生成單元,用于在所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點; 所述禁用單元具體包括第一禁用子單元,用于在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā);第二禁用子單元,用于在第四時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第四時間段的起點為所述進入暫停階段的時間點,所述第四時間段的終點為第二當前時間點;第三禁用子單元,用于根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第二當前時間點與所述第一時間點的早晚;如果所述第二當前時間點等于所述第一時間點,則在所述第二當前時間點使能所述第一隊列的流量轉發(fā)。
10.根據(jù)權利要求6至7中任一所述的裝置,其特征在于,所述裝置還包括生成單元,用于在所述根據(jù)所述預設帶寬和所述第一隊列在所述第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長之后,并且在所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之前,生成所述第一隊列、所述暫停時長以及進入暫停階段的時間點的對應關系,所述進入暫停階段的時間點為所述第二時間段的開始時間點; 所述禁用單元具體包括第一禁用子單元,用于在所述進入暫停階段的時間點,禁用所述第一隊列的流量轉發(fā);第二禁用子單元,用于在第五時間段內(nèi)繼續(xù)禁用所述第一隊列的流量轉發(fā),所述第五時間段的起點為所述進入暫停階段的時間點,所述第五時間段的終點為第三當前時間點;使能子單元,用于根據(jù)所述對應關系獲得所述暫停時長以及所述進入暫停階段的時間點;將所述暫停時長與所述進入暫停階段的時間點相加,獲得第一時間點;判斷所述第三當前時間點與所述第一時間點的早晚;如果所述第三當前時間點晚于所述第一時間點,則在所述第三當前時間點使能所述第一隊列的流量轉發(fā); 所述轉發(fā)單元還包括 第一轉發(fā)子單元,用于在所述在第二時間段內(nèi)禁用所述第一隊列的流量轉發(fā)之后,在第六時間段內(nèi),根據(jù)第一令牌對所述第一隊列的流量進行轉發(fā),所述第一令牌為所述預設帶寬與第一時間長度的乘積對應的令牌,所述第一時間長度為所述第三當前時間點與所述第一時間點的差再加上所述第六時間段的長度。
全文摘要
本發(fā)明實施例提供了一種轉發(fā)流量的方法,包括在第一時間段內(nèi)對第一隊列的流量進行轉發(fā),該第一隊列對應預設帶寬;根據(jù)該預設帶寬和該第一隊列在該第一時間段內(nèi)實際轉發(fā)的流量計算暫停時長;在第二時間段內(nèi)禁用該第一隊列的流量轉發(fā),該第二時間段的時長等于該暫停時長。此外,本發(fā)明實施例還提供了一種轉發(fā)流量的裝置。根據(jù)本發(fā)明實施例提供的轉發(fā)流量的方法和設備,可以實現(xiàn)隊列轉發(fā)流量的平均速率等于預設帶寬。
文檔編號H04L12/56GK102546411SQ20111045986
公開日2012年7月4日 申請日期2011年12月31日 優(yōu)先權日2011年12月31日
發(fā)明者焦石 申請人:華為數(shù)字技術有限公司