專利名稱:一種流量控制的方法、系統(tǒng)和裝置的制作方法
技術領域:
本發(fā)明涉及網絡通信技術,特別涉及一種流量控制的方法、系統(tǒng)和裝置。
技術背景交換網裝置是模塊化路由器和交換機等設備的核心部分,負責各端口或 槽位線卡之間的數據交換?,F有交換網裝置的組成如圖l所示,交換網裝置主要包括核心交換單元(FU, Fabric Unit)和交換接入單元(FAU, Fabric Access Unit),各FAU負責FU和各線卡之間的連接,FU通過各FAU連接 各線卡中的包處理器(PP, Packet Processor),用于完成各線卡之間的凄t據 交換。其中,FAU可以設置在線卡上,FU可以設置在交換網板上。為了降低交換網裝置的成本以及保證裝置具有較高兼容性,通常采用非 定長交換的方式進行數據交換,即線卡將數據幀添加一個交換網幀頭后直接 發(fā)送至交換網裝置,不需要對數據幀進行切片和重組,交換網裝置將接收到 的數據幀轉發(fā)至相應的線卡。為了描述更加清楚,將發(fā)送數據幀到交換網裝 置的線卡稱為入線卡,將接收交換網裝置轉發(fā)的數據幀的線卡稱為出線卡, 將入線卡到交換網裝置的方向稱為上行方向,將交換網裝置到出線卡的方向 稱為下4于方向。具體實現通常為針對每個線卡設置多個虛擬輸出隊列(VOQ, Virtual Output Queue)和輸出隊列(OQ, Output Queue),針對一個線卡設置的多 個VOQ分別對應不同的目的出線卡。其中,在上行方向上,FAU將入線卡 發(fā)送的數據幀送入目的出線卡對應的VOQ中,VOQ將自身的數據幀發(fā)送給 FU, FU將接收到的數據幀轉發(fā)給目的出線卡對應的FAU,下行方向上,由 目的出線卡對應的FAU將接收到的數據幀送至針對目的出線卡設置的OQ中,OQ將自身的數據幀發(fā)送給目的出線卡。以圖2為例,FAU 1接收到線 卡1發(fā)送給線卡2的數據幀后,將該數據幀發(fā)送至針對線卡1設置的、且線 卡2對應的VOQ中進行緩存,達到預設的第一觸發(fā)條件時,VOQ將自身緩 存的數據幀發(fā)送給FU,在FU進行緩存后,由FU轉發(fā)至FAU 2, FAU 2將 接收到的數據幀發(fā)送至針對線卡2設置的OQ中,達到預設的第二觸發(fā)條件 時,將針對線卡2設置的OQ將自身緩存的數據幀發(fā)送給線卡2。其中,第 一觸發(fā)條件可以是按照預設的時間間隔,或者,VOQ中的數據幀達到一定 數量等,第二觸發(fā)條件可以是按照預設的時間間隔,或者,OQ中的數據幀 達到一定數量等,具體可以根據實際需求進行預先設置。然而,采用這種非定長交換方式的交換網裝置不具備調度功能,不能夠 控制各VOQ發(fā)送至FU的數據幀流量,可能會引起FU緩存溢出從而造成數 據幀的丟失。也就是說,現有技術無法保證數據交換業(yè)務的服務質量(QoS, Quality of Service )。發(fā)明內容有鑒于此,本發(fā)明提供了一種流量控制的方法、系統(tǒng)和裝置,以便于保證數據交換業(yè)務的QoS。一種流量控制的方法,針對各出線卡周期性執(zhí)行以下步驟 在當前周期內,確定針對該出線卡設置的輸出隊列OQ輸出數據幀的流量所對應令牌數;為以該出線卡為目的線卡的虛擬輸出隊列VOQ分配令牌,使得分配的令牌 總數小于或等于所述確定的令牌數,并將分配的令牌數信息提供給相應的 VOQ;各VOQ按照與為自身分配的令牌數對應的流量發(fā)送數據幀,并經由核心交 換單元FU將所述數據幀轉發(fā)給各VOQ對應的出線卡。一種流量控制的系統(tǒng),該系統(tǒng)包括出線卡調度器、入線卡調度器、VOQ 和FU;所述出線卡調度器,對應一個出線卡,用于在當前周期內,確定針對該出線卡設置的OQ輸出數據幀的流量所對應的令牌數;為以該出線卡為目的線卡 的VOQ分配令牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將 令牌分配信息發(fā)送給所述VOQ對應的入線卡調度器;所述入線卡調度器,每一個入線卡調度器對應針對一個入線卡設置的 VOQ,用于根據接收到的令牌分配信息,將自身對應的、以所述出線卡為目的 線卡的VOQ所分配的令牌數提供給對應的VOQ;所述VOQ,以所述出線卡為目的線卡,用于按照與為自身分配的令牌凄t對 應的流量,發(fā)送自身緩存的數據幀;所述FU,用于接收所述VOQ發(fā)送的數據幀并轉發(fā)給所述VOQ對應的出 線卡。一種流量控制的裝置,該裝置包括出線卡調度器、入線卡調度器和VOQ;所述出線卡調度器,用于在當前周期內,確定針對自身所連接線卡設置的 OQ輸出數據幀的流量所對應的令牌數;為以該線卡為目的線卡的VOQ分配令 牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將令牌分配信息發(fā) 送給以該線卡為目的線卡的VOQ對應的入線卡調度器;所述入線卡調度器,用于根據接收到的令牌分配信息,將本裝置中各VOQ 分配到的令牌數提供給本裝置中的VOQ;所述VOQ,用于按照與為自身分配的令牌數對應的流量發(fā)送自身緩存的數 據幀。由以上技術方案可以看出,本發(fā)明提供的方法、系統(tǒng)和裝置,確定一個 周期內針對出線卡設置的OQ輸出數據幀的流量所對應的令牌數,為以該出 線卡為目的線卡的VOQ分配令牌,使得分配的令牌總數小于或等于所述確 定的令牌數,各VOQ按照與自身分配的令牌數對應的流量發(fā)送數據幀。也 就是說,本發(fā)明通過分配令牌的方式,將交換網輸出給出線卡的帶寬分配給 入線卡輸入交換網的帶寬,防止輸入交換網的帶寬超出交換網輸出的帶寬, 避免交換網的FU緩存溢出所造成的據幀丟失現象,從而保證數據交換業(yè)務的QoS。
圖1為現有技術中的交換網裝置結構圖;圖2為現有技術中的數據交換示意圖;圖3為本發(fā)明實施例提供的主要方法流程圖;圖4為本發(fā)明實施例提供的系統(tǒng)結構圖;圖5為本發(fā)明實施例提供的另一種系統(tǒng)結構圖;圖6為本發(fā)明實施例提供的流量控制裝置結構圖;圖7為本發(fā)明實施例提供的一個具體系統(tǒng)實例結構圖;圖8為本發(fā)明實施例提供的以圖7為基礎的方法流程圖。
具體實施方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體 實施例對本發(fā)明進行詳細描述。首先對本發(fā)明提供的方法進行描述,圖3為本發(fā)明實施例提供的主要方 法流程圖,在該實施例中可以初始為各VOQ分配令牌,使得在初始的一個 周期內所有VOQ輸出數據幀的流量與所有OQ輸出數據幀的流量之間的差 值小于或等于FU緩存,其中,各VOQ在初始的一個周期內按照為其分配 的令牌數所對應的流量輸出數據幀。如圖3所示,針對各出線卡周期性執(zhí)行 以下步驟步驟301:在當前周期內,確定針對該出線卡設置的OQ輸出數據幀的 流量所對應令牌數。本步驟中,可以對針對該出線卡設置的OQ進行輸出測速,從而得到在 當前周期內該OQ輸出數據幀的流量,根據數據幀流量與令牌數之間的對應 關系確定該OQ輸出數據幀的流量所對應的令牌數。也可以在對OQ進行輸 出測速從而得到當前周期內OQ輸出數據幀的流量后,根據預先在數據幀中攜帶的令牌消耗信息,確定該OQ輸出數據幀的流量所對應的令牌數,其中,各入線卡的FAU在根據各數據幀的目的線卡將各數據幀送入其對應的VOQ 中之前,根據各數據幀的長度將各數據幀的令牌消耗信息攜帶在各數據幀 中,因此,可以根據數據幀中攜帶的令牌消耗信息、以及確定的OQ輸出數 據幀的流量,確定OQ輸出數據幀所對應的令牌數。在具體實施時,可以預先設定數據幀的長度與令牌數之間的對應關系, 當確定數據幀的流量后,可以根據該流量對應的數據幀長度、以及數據幀長 度與令牌數之間的對應關系,得到數據幀流量與令牌之間的對應關系;當然, 也可以直接設定數據幀流量與令牌之間的對應關系。步驟302:為以該出線卡為目的線卡的VOQ分配令牌,使得分配的令 牌總數小于或等于確定的令牌數,并將分配的令牌數信息提供給相應的 VOQ。本步驟中為各VOQ分配令牌的策略可以有多種,只要使得分配的令牌 總數小于或等于所述確定的令牌數即可。對于令牌分配策略在此僅舉以下幾 個例子,Y旦本發(fā)明并^義限于以下幾個例子其一、將所述確定的令牌數平均分配給以該出線卡為目的線卡的V0Q。 在此,可以不分優(yōu)先級,對所有以該出線卡為目的線卡的VOQ進行平均分 配。其二、按照各VOQ的優(yōu)先級,將確定的令牌數分配給以該出線卡為目 的線卡的VOQ。例如,可以按照各VOQ的優(yōu)先級為各VOQ設置分配權重 系數,高優(yōu)先級的分配權重系數相應較大,低優(yōu)先級的分配權重系數相應較 小,然后按照各VOQ的分配權重系數為各VOQ分配令牌數。其三、按照各VOQ的需求狀況,將確定的令牌數分配給以該出線卡為 目的線卡的V0Q。例如,可以按照各VOQ的需求狀況為各VOQ設置分配 一又重系數,需求大的分配一又重系凄1相應較大,需求小的分配權重系數相應4交 小,然后按照各VOQ的分配權重系數為各VOQ分配令牌數。其四、按照VOQ的優(yōu)先級和需求狀況,將確定的令牌數分配給以該出線卡為目的線卡的VOQ。例如,可以按照VOQ優(yōu)先級從高到低的順序,為以該出線卡為目的線卡的VOQ分配所需求的流量對應的令牌數,直至將確以按照該出線卡對應的入線卡將確定的令牌數進行平均分配后,在針對每一個入線卡設置的VOQ中,按照VOQ的優(yōu)先級從高到低的順序為以該出線 卡為目的線卡的VOQ分配所需求的流量對應的令牌數,直至將平均分配的 令牌數分配完畢或者已經完成針對該入線卡設置的所有VOQ的分配。下面舉一個具體的流程對上述第四種方式進行描述,,I設OQl消庫毛的令牌數為X, OQ 1所對應的VOQ分為高優(yōu)先級和低優(yōu)先級兩種,假設OQ 1對應的入線卡為入線卡1、入線卡2和入線卡3,入線卡1中針對OQ 1的 VOQ為高優(yōu)先級的VOQ 11和低優(yōu)先級的VOQ 12,入線卡2中針對OQ 1 的VOQ為高優(yōu)先級的VOQ 21和低優(yōu)先級的VOQ 22,入線卡3中針對OQ 1的VOQ為高優(yōu)先級的VOQ 31和低優(yōu)先級的VOQ 32。在進行分配時,可以首先確定高優(yōu)先級的VOQ 11、 VOQ21和VOQ31 所需求的令牌數和Y,如果X小于或等于Y,則將X個令牌平均分配給VOQ11、 VOQ21和VOQ31,或按照需求分配給VOQ 11、 VOQ 21和VOQ 31; 如果X大于Y,則將Y個令牌平均分配或按需求分配給VOQ 11、 VOQ 21 和VOQ 31,再將剩余的X-Y個令牌平均分配或按需分配給低優(yōu)先級的VOQ12、 VOQ 22和VOQ 32。也可以首先將X個令牌針對入線卡1、入線卡2和入線卡3進行平均分 配,即每個線卡獲取到X/3個令牌,然后在每個線卡中按照優(yōu)先級需求進行 分配。以入線卡1為例,如果X/3小于或等于VOQ 11的需求,則將該X/3 個令牌都分給VOQ 11;如果X/3大于VOQ 11的需求,則按需分配令牌給 VOQ 11,將剩余的令牌分配給VOQ 12;如果剩余的令牌大于VOQ 12的需 求,則可以將按需分配給VOQ 12后剩余的令牌分配給其它入線卡。直至將 所有令牌分配完,或者沒有剩余的令牌。上述步驟301和302可以由出線卡端的出線卡調度器來執(zhí)行,可以針對每一個出線卡均設置一個出線卡調度器,來完成步驟301和302,即出線卡調度功能。本實施例在具體實現時,可以為各VOQ設置令牌桶,將為各VOQ分 配的令牌放置在各VOQ的令牌桶中,各VOQ從自身的令牌桶中獲取分配 給自身的令牌數信息。另外,步驟302中,將分配的令牌數信息提供給相應的VOQ可以為 通過復用已有的數據通道將分配的令牌數信息提供給相應的VOQ,例如, 出線卡調度器可以將分配的令牌數信息通過復用數據通道發(fā)送給FU,由FU 轉發(fā)給各入線卡調度器,各入線卡調度器根據分配的令牌數信息,在相應 VOQ的令牌桶中放置該VOQ被分配的令牌。也可以經由預先設置的控制信 息交換器將分配的令牌數信息提供給相應的VOQ 。步驟303:各VOQ按照與為自身分配的令牌數對應的流量發(fā)送數據幀。在一個周期內,各VOQ發(fā)送與自身的令牌桶中令牌數所對應流量范圍 內的數據幀,并在發(fā)送數據幀時消耗自身令牌桶中的令牌,消耗的令牌數與 發(fā)送的數據幀流量對應。消耗的令牌數可以根據數據幀中攜帶的令牌消耗信 息確定,控制令牌桶中令牌數的裝置根據發(fā)送的數據幀中攜帶的令牌消耗信 息,將令牌桶中的令牌減少發(fā)送數據幀所消耗的令牌數?;蛘?,消耗的令牌數可以根據發(fā)送數據巾貞的流量、以及流量和令牌數之間的對應關系確定,控 制令牌桶中令牌數的裝置獲取發(fā)送的數據幀的流量信息,根據數據幀流量與 令牌之間的對應關系,將令牌桶中的令牌較少發(fā)送數據幀流量所對應的令牌 數。其中,控制令牌桶中令牌數的裝置可以為入線卡調度器。在利用流量與令牌數之間的對應關系,具體確定消耗的令牌數的過程可 以為預先設定數據幀長度與令牌數之間的對應關系,在發(fā)送數據幀時,根 據發(fā)送的數據幀長度、以及數據幀長度與令牌數之間的對應關系,確定發(fā)送 的數據幀所消耗的令牌;當然,也可以直接預設數據幀流量與令牌數之間的 對應關系,根據發(fā)送數據幀的流量確定消耗的令牌數。VOQ在發(fā)送數據幀時,如果令牌桶中有令牌且令牌數足夠發(fā)送該數據幀,則可以發(fā)送該數據幀;如果令牌桶中有令牌且令牌數不足夠發(fā)送該數據幀,則為了保證能夠線速發(fā)送,也可以允許VOQ發(fā)送該數據幀,并記錄虧 欠的令牌數,待下次分配令牌時補齊;如果令牌桶中沒有令牌,則VOQ不 能夠發(fā)送該數據幀。以上是對本發(fā)明提供的方法的描述,下面對本發(fā)明實施例提供的系統(tǒng)進 行詳細描述。圖4為本發(fā)明實施例提供的系統(tǒng)結構圖,圖中,單線箭頭表示 控制信息流向,雙線箭頭表示數據幀流向。如圖4所示,該系統(tǒng)可以包括 出線卡調度器401、入線卡調度器402、 VOQ 403和FU 400。其中,每一個出線卡調度器對應一個出線卡,該實施例中,以一個出線 卡為例進行說明,其它出線卡對應系統(tǒng)的結構與此系統(tǒng)相同。每一個入線卡 調度器對應一個入線卡,該入線卡調度器負責針對該入線卡設置的VOQ的 調度工作,由于一個出線卡可能對應一個或多個入線卡,因此,入線卡調度 器402可以為一個或多個,相應地,對應同一個出線卡的VOQ 403可以為 一個或多個,并且,針對同一個入線卡設置的VOQ中,對應同一個出線卡 的VOQ也可以為一個或多個。出線卡調度器401,用于在當前周期內,確定針對自身對應的出線卡設 置的OQ輸出數據幀的流量所對應的令牌數;為以該出線卡為目的線卡的 VOQ403分配令牌,使得分配的令牌總數小于或等于確定的令牌數,并將令 牌分配信息發(fā)送給上述VOQ 403對應的入線卡調度器402。入線卡調度器402,用于根據接收到的令牌分配信息,將自身對應的、以VOQ 403,用于按照與為自身分配的令牌數對應的流量發(fā)送自身緩存的 數據幀。其中,出線卡調度器401在分配令牌時,可以將確定的令牌數平均分配403,也可以按照各VOQ 403的需求狀況將確定的令牌數分配給VOQ 403, 也可以按照各VOQ 403的優(yōu)先級和需求狀況將確定的令牌數分配給VOQ403,也可以其它的分配策略。FU 400,用于接收所述VOQ發(fā)送的數據幀并轉發(fā)給所述VOQ對應的 出線卡。入線卡調度器402還用于獲取其對應VOQ 403的需求狀況,并將該需求狀 況提供給出線卡調度器401。出線卡調度器401根據以該出線卡為目的線卡的各VOQ 403的需求狀況為 各VOQ 403分配令牌。另外,該系統(tǒng)還可以包括令牌桶404,每一個VOQ 403對應一個令 牌桶。令牌桶404,用于存儲分配給自身對應VOQ 403的令牌。令牌桶404可以初始存儲一定的令牌,使得在初始一個周期內,所有 VOQ輸出數據幀的流量與所有OQ輸出數據幀的流量之間的差值小于或等 于FU緩存。入線卡調度器402,還用于將為VOQ 403所分配的令牌注入對應的令牌桶 404;在VOQ 403發(fā)送數據幀時,將令牌桶中403的令牌減少發(fā)送數據幀所消 耗的令牌數。VOQ 403從自身對應的令牌桶中獲取為自身分配的令牌數。該VOQ 403中可以^又包含一個對應上述出線卡的VOQ,也可以包含多個 不同優(yōu)先級的、且對應上述出線卡的VOQ。該系統(tǒng)還可以包括FAU405,用于根據數據幀的長度,在數據幀中攜 帶該數據幀的令牌消耗信息,并按照數據幀的目的線卡,將攜帶令牌消耗信 息的數據幀送入其目的線卡對應的VOQ。當然,FAU 405仍具有現有技術 中的各項功能,即將來自入線卡的數據幀放入目的線卡對應的VOQ,并接 收FU轉發(fā)來的數據幀,并將該數據幀放入OQ中,在此不再贅述。該系統(tǒng)還可以包括控制信息交換器406,用于將出線卡調度器401發(fā) 送的令牌分配信息轉發(fā)給對應的入線卡調度器402。這是通過另外設置控制 信息交換器的方式進行令牌分配信息的轉發(fā)的,可以稱為帶外調度。本發(fā)明 還可以采用另外一種令牌分配信息轉發(fā)方式,此時該系統(tǒng)可以采用另外一種結構,如圖5所示,FU 400,還可以用于通過復用數據通道,將出線卡調 度器401發(fā)送的令牌分配信息轉發(fā)給對應的入線卡調度器402;當然,FU 也同樣具有現有技術中已有的功能,例如,接收VOQ 403發(fā)送的數據幀并 轉發(fā)給該數據幀的目的線卡對應的FAU等,在此不再贅述。由于每一個線卡在是入線卡的同時,還可能是出線卡,因此,每一個線卡 端都可以同時具備出線卡調度器、入線卡調度器、VOQ和令牌桶。也就是說, 每一個線卡端都可以具有一個流量控制裝置,其結構如圖6所示,圖中單線箭 頭表征控制信息流向,雙線箭頭表征數據幀流向。該裝置可以包括出線卡調 度器601、入線卡調度器602和VOQ603。出線卡調度器601,用于在當前周期內,確定針對自身所連接線卡設置的 OQ輸出數據幀的流量所對應的令牌數;為以該線卡為目的線卡的VOQ分配令 牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將令牌分配信息發(fā) 送給以該線卡為目的線卡的VOQ對應的入線卡調度器。入線卡調度器602,用于根據接收到的令牌分配信息,將本裝置中各VOQ 603分配到的令牌數提供給本裝置中的VOQ 603;VOQ 603,用于按照與為自身分配的令牌數對應的流量發(fā)送自身緩存的數 據幀。另外,該裝置還可以包括令牌桶604,每一個VOQ 603對應一個令牌桶, 所述令牌桶604,用于存儲分配給該令牌桶對應VOQ 603的令牌;入線卡調度器602,還用于將為本裝置的VOQ 603所分配的令牌注入對應 的令牌桶604;在本裝置的VOQ 603發(fā)送lt據幀時,將令牌桶604中的令牌減 少發(fā)送數據幀所消耗的令牌數。VOQ 603,從自身對應的令牌桶604中獲取為自身分配的令牌數。該裝置還可以包括FAU 605,用于根據數據幀的長度,在數據幀中攜 帶該數據幀的令牌消耗信息,并將攜帶令牌消耗信息的數據幀送入該數據幀 目的線卡對應的VOQ 603。其中,出線卡調度器、入線卡調度器、VOQ和令牌桶中的一個或任意組合可以設置在FAU中,或者設置在其它額外的設備中。為了使上述方法和系統(tǒng)更加的清楚,下面結合一個具體的系統(tǒng)結構圖對 本發(fā)明的方法進行具體描述。以圖7所示的系統(tǒng)結構為例,在該實施例中,線卡4作為出線卡時對應的入線卡為線卡1、線卡2和線卡3,其中,線卡 1的VOQ 1 、線卡2的VOQ 2、線卡3的VOQ 3對應的目的線卡都為線卡4, 該系統(tǒng)采用帶外調度的方式。以下為在該結構基礎上的流量控制過程。初始在令牌桶1、令牌桶2、令牌桶3中分別注入令牌,使得在初始的 一個周期內所有VOQ輸出數據幀的流量與所有OQ輸出數據幀的流量之間 的差值小于或等于FU緩存。然后,如圖8所示,周期性執(zhí)行以下步驟步驟801:出線卡調度器4確定當前周期內OQ 4輸出數據幀的流量所 對應的令牌數。步驟802:將該確定的令牌數分配給VOQ 1 、 VOQ 2和VOQ 3 。例如, 可以將確定的令牌數平均分配給VOQ 1 、 VOQ 2和VOQ 3,也可以根據入 線卡調度器1、入線卡調度器2和入線卡調度器3分別發(fā)送來的VOQ 1、V0Q 2和VOQ 3的需求信息,按需將確定的令牌數分配給VOQ 1、VOQ 2和VOQ 3,也可以根據各VOQl、 VOQ2和VOQ 3的優(yōu)先級,按照優(yōu)先級權重將確 定的令牌數分配給VOQ 1、 VOQ2和VOQ3,也可以采用其它分配策略。步驟803:將分配的令牌數信息通過控制信息交換器提供給入線卡調度 器l、入線卡調度器2和入線卡調度器3。將為VOQ 1分配的令牌數信息通過控制信息交換器提供給入線卡調度 器1、將為VOQ2分配的令牌數信息通過控制信息交換器提供給入線卡調度 器2、將為VOQ 3分配的令牌數信息通過控制信息交換器提供給入線卡調度 器3。步驟804:入線卡調度器1、入線卡調度器2和入線卡調度器3按照接 收到的令牌數信息分別向令牌桶1、令牌桶2、令牌桶3中注入相應數量的 令牌。步驟805: VOQ 1 、 VOQ 2和VOQ 3分別在令牌桶1 、令牌桶2和令牌 桶3中令牌數所限定的流量范圍內發(fā)送數據幀給FU,且在發(fā)送數據幀時, 消耗令牌桶中與發(fā)送數據幀流量對應的令牌。FAU 1 、 FAU 2和FAU 3分別接收線卡1 、線卡2和線卡3發(fā)送來的數 據幀,可以根據該數據幀的長度,在數據幀中攜帶令牌消耗信息,并將數據 幀送入VOQ 1 、 VOQ 2和VOQ 3中進行緩存。以VOQ 1為例,VOQ 1在發(fā)送數據幀時,如果令牌桶1中有令牌且令 牌數足夠發(fā)送該數據幀,則可以發(fā)送該數據幀;如果令牌桶1中有令牌且令 牌數不足夠發(fā)送該數據幀,則為了保證能夠線速發(fā)送,也可以允許VOQ 1 發(fā)送該數據幀,并記錄虧欠的令牌數,待下次分配令牌時補齊;如果令牌桶 1中沒有令牌,則VOQ 1不能夠發(fā)送該數據幀。在發(fā)送數據幀時,入線卡調 度器根據發(fā)送數據幀中攜帶的令牌消耗信息,相應減少令牌桶1中的令牌。 VOQ 2和VOQ 3也執(zhí)行同樣的操作。步驟806: FU將V0Q1 、 VOQ 2和VOQ 3發(fā)送的數據幀轉發(fā)給FAU 4, FAU 4將接收到的數據幀送入OQ 4進行緩存,OQ 4再發(fā)送輸入幀給線 卡4。轉入步驟801開始下一周期的操作。由以上描述可以看出,本發(fā)明提供的方法、系統(tǒng)和裝置,確定一個周期 內針對出線卡設置的OQ輸出數據幀的流量所對應的令牌數,為以該出線卡 為目的線卡的VOQ分配令牌,使得分配的令牌總數小于或等于所述確定的 令牌數,各VOQ按照與自身分配的令牌數對應的流量發(fā)送數據幀。也就是 說,本發(fā)明通過分配令牌的方式,將交換網輸出給出線卡的帶寬分配給入線 卡輸入交換網的帶寬,防止輸入交換網的帶寬超出交換網輸出的帶寬,從而 避免交換網的FU緩存溢出所造成的數據幀丟失現象,從而保證數據交換業(yè) 務的QoS。從而保證高優(yōu)先級業(yè)務的數據幀能夠及時的發(fā)送;也可以根據各VOQ的需求狀況為各VOQ分配令牌數,使得各VOQ能夠充分的利用輸入交換網的帶寬,避免帶寬浪費。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在 本發(fā)明保護的范圍之內。
權利要求
1. 一種流量控制的方法,其特征在于,針對各出線卡周期性執(zhí)行以下步驟在當前周期內,確定針對該出線卡設置的輸出隊列OQ輸出數據幀的流量所對應令牌數;為以該出線卡為目的線卡的虛擬輸出隊列VOQ分配令牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將分配的令牌數信息提供給相應的VOQ;各VOQ按照與為自身分配的令牌數對應的流量發(fā)送數據幀,并經由核心交換單元FU將所述數據幀轉發(fā)給各VOQ對應的出線卡。
2、 根據權利要求1所述的方法,其特征在于,所述確定針對該出線卡設置 的OQ輸出數據幀的流量所對應的令牌數包括根據所述流量確定一個周期內OQ輸出的數據幀流量; 根據數據幀流量與令牌數之間的對應關系、或者預先在數據幀中攜帶的令 牌消耗信息,確定所述OQ輸出數據幀的流量所對應的令牌數。
3、 根據權利要求1所述的方法,其特征在于,為以該出線卡為目的線卡的 VOQ分配令牌包括將所述確定的令牌數平均分配給以該出線卡為目的線卡的 VOQ;或者,按照各VOQ的優(yōu)先級,將所述確定的令牌數分配給以該出線卡為目的線卡 的VOQ;或者,按照各VOQ的需求狀況,將所述確定的令牌數分配給以該出線卡為目的線 卡的VOQ;或者,按照VOQ的優(yōu)先級和需求狀況,將所述確定的令牌數分配給以該出線卡為 目的線卡的VOQ。
4、 根據權利要求3所述的方法,其特征在于,按照VOQ的優(yōu)先級和需求 狀況,將所述確定的令牌數分配給以該出線卡為目的線卡的VOQ包括按照VOQ優(yōu)先級從高到低的順序,為以所述出線卡為目的線卡的VOQ分配所需求的流量對應的令牌數,直至將確定的令牌數分配完畢或者分配完所有以所述出線卡為目的線卡的VOQ;或者,按照所述出線卡對應的入線卡,將所述確定的令牌數進行平均分配;在針 對每一個入線卡設置的VOQ中,按照VOQ的優(yōu)先級從高到低的順序,為以所 述出線卡為目的線卡的VOQ分配所需求的流量對應的令牌數,直至將平均分 配的令牌數分配完畢或者已經完成針對該入線卡設置的所有VOQ的分配。
5、 根據權利要求1所述的方法,其特征在于,將分配的令牌數信息提供給 相應的VOQ包括通過復用數據通道將分配的令牌數信息提供給相應的VOQ; 或者,經由預先設置的控制信息交換器將分配的令牌數信息提供給相應的 VOQ。
6、 根據權利要求1所述的方法,其特征在于,該方法還包括為各VOQ 設置令牌桶;所述將分配的令牌數提供給相應的VOQ包括將為各VOQ分配的令牌放 置在各VOQ的令牌桶中,各VOQ從自身的令牌桶中獲取分配給自身的令牌數 信息;各VOQ按照與為自身分配的令牌數對應的流量發(fā)送數據幀給FU包括各 VOQ發(fā)送與自身的令牌桶中令牌數所對應流量范圍內的數據幀,并在發(fā)送數據 幀時消耗自身令牌桶中所述發(fā)送的數據幀流量所對應的令牌。
7、 根據權利要求6所述的方法,其特征在于,各VOQ發(fā)送與自身的令牌 桶中令牌數所對應流量范圍內的數據幀包括各VOQ在發(fā)送數據幀之前,如 果自身對應的令牌桶中有令牌且令牌數足夠發(fā)送該數據幀,則發(fā)送該數據幀; 如果自身對應的令牌桶中有令牌且令牌數不足夠發(fā)送該數據幀,則發(fā)送該數據 幀,并記錄虧欠的令牌數,待下次在該令牌桶中注入令牌時補齊該虧欠的令牌 數;如果自身對應的令牌桶中沒有令牌,則不發(fā)送該數據幀。
8、 根據權利要求6所述的方法,其特征在于,在發(fā)送數據幀時消耗自身令 牌桶中所述發(fā)送的數據幀流量所對應的令牌包括所述數據幀中攜帶該數據幀 的令牌消耗信息,控制令牌桶中令牌數的裝置根據發(fā)送的數據幀中攜帶的令牌消耗信息,將令牌桶中的令牌減少發(fā)送數據幀所消耗的令牌數;或者,控制令牌桶中令牌數的裝置獲取發(fā)送的數據幀的流量信息,根據數據幀流 量與令牌之間的對應關系,將令牌桶中的令牌減少發(fā)送數據幀流量所對應的令 牌數。
9、 根據權利要求2或8所述的方法,其特征在于,所述令牌消耗信息是交 換接入單元FAU在將數據幀送入其目的線卡對應的VOQ之前,根據該數據幀 的長度,將該數據幀的令牌消耗信息攜帶在該數據幀中的。
10、 根據權利要求1所述的方法,其特征在于,該方法還包括初始為各 VOQ分配令牌,使得在初始一個周期內所有VOQ輸出數據幀的流量與所有OQ 輸出數據幀的流量之間的差值小于或等于FU緩存。
11、 一種流量控制的系統(tǒng),其特征在于,該系統(tǒng)包括出線卡調度器、入 線卡調度器、VOQ和FU;所述出線卡調度器,對應一個出線卡,用于在當前周期內,確定針對該出 線卡設置的OQ輸出數據幀的流量所對應的令牌數;為以該出線卡為目的線卡 的VOQ分配令牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將 令牌分配信息發(fā)送給所述VOQ對應的入線卡調度器;所述入線卡調度器,每一個入線卡調度器對應針對一個入線卡設置的 VOQ,用于根據接收到的令牌分配信息,將自身對應的、以所述出線卡為目的 線卡的VOQ所分配的令牌數提供給對應的VOQ;所述VOQ,以所述出線卡為目的線卡,用于按照與為自身分配的令牌數對 應的流量,發(fā)送自身緩存的lt據幀;所述FU,用于接收所述VOQ發(fā)送的數據幀并轉發(fā)給所述VOQ對應的出 線卡。
12、 根據權利要求11所述的系統(tǒng),其特征在于,該系統(tǒng)還包括令牌桶, 每一個VOQ對應一個令牌桶,所述令牌桶,用于存儲分配給該令牌桶對應VOQ 的令牌;所述入線卡調度器,還用于將為所述VOQ所分配的令牌注入對應的令牌桶;在所述VOQ發(fā)送數據幀時,將令牌桶中的令牌減少發(fā)送數據幀所消耗的 令牌數;所述VOQ,還用于從自身對應的令牌桶中獲取為自身分配的令牌數。
13、 根據權利要求12所述的系統(tǒng),其特征在于,該系統(tǒng)還包括FAU,用 于根據數據幀的長度,在數據幀中攜帶該數據幀的令牌消耗信息,并按照數據 幀的目的線卡,將攜帶令牌消耗信息的數據幀送入其目的線卡對應的VOQ。
14、 根據權利要求11所述的系統(tǒng),其特征在于,所述FU,還用于通過復 用數據通道,將所述出線卡調度器發(fā)送的令牌分配信息轉發(fā)給對應的入線卡調 度器;或者,該系統(tǒng)還包括控制信息交換器,用于將所述出線卡調度器發(fā)送 的令牌分配信息轉發(fā)給對應的入線卡調度器。
15、 根據權利要求IO所述的系統(tǒng),其特征在于,所述入線卡調度器還用于 獲取其對應VOQ的需求狀況,并將所述需求狀況提供給所述出線卡調度器;所述出線卡調度器根據以該出線卡為目的線卡的各VOQ的需求狀況為所 述各VOQ分配令牌。
16、 一種流量控制的裝置,其特征在于,該裝置包括出線卡調度器、入 線卡調度器和VOQ;所述出線卡調度器,用于在當前周期內,確定針對自身所連接線卡設置的 OQ輸出數據幀的流量所對應的令牌數;為以該線卡為目的線卡的VOQ分配令 牌,使得分配的令牌總數小于或等于所述確定的令牌數,并將令牌分配信息發(fā) 送給以該線卡為目的線卡的VOQ對應的入線卡調度器;所述入線卡調度器,用于根據接收到的令牌分配信息,將本裝置中各VOQ 分配到的令牌數提供給本裝置中的VOQ;所述VOQ,用于按照與為自身分配的令牌數對應的流量發(fā)送自身緩存的數 據幀。
17、 根據權利要求16所述的裝置,其特征在于,該裝置還包括令牌桶, 每一個VOQ對應一個令牌桶,所述令牌桶,用于存儲分配給該令牌桶對應VOQ 的令牌;所述入線卡調度器,還用于將為本裝置的VOQ所分配的令牌注入對應的令牌桶;在本裝置的VOQ發(fā)送數據幀時,將令牌桶中的令牌減少發(fā)送數據幀所消耗的令牌數;所述VOQ,從自身對應的令牌桶中獲取為自身分配的令牌數。
18、根據權利要求16所述的裝置,其特征在于,該裝置還包括FAU,用于根據數據幀的長度,在數據幀中攜帶該數據幀的令牌消耗信息,并將攜帶令牌消耗信息的數據幀送入該數據幀目的線卡對應的VOQ。
全文摘要
本發(fā)明提供了一種流量控制的方法、系統(tǒng)和裝置,針對各出線卡周期性執(zhí)行以下步驟在當前周期內,確定針對出線卡設置的輸出隊列(OQ)輸出數據幀的流量所對應的令牌數,為以該出線卡為目的線卡的虛擬輸出隊列(VOQ)分配令牌,使得分配的令牌總數小于或等于所述確定的令牌數,各VOQ按照與自身分配的令牌數對應的流量發(fā)送數據幀。也就是說,本發(fā)明通過分配令牌的方式,將交換網輸出給出線卡的帶寬分配給入線卡輸入交換網的帶寬,防止輸入交換網的帶寬超出交換網輸出的帶寬,避免交換網的核心交換單元(FU)緩存溢出所造成的數據幀丟失現象,從而保證數據交換業(yè)務的服務質量(QoS)。
文檔編號H04L12/56GK101272345SQ20081010543
公開日2008年9月24日 申請日期2008年4月29日 優(yōu)先權日2008年4月29日
發(fā)明者余昌剛 申請人:杭州華三通信技術有限公司