專利名稱:一種流量控制方法和控制設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種流量控制方法和控制設(shè)備。
技術(shù)背景在釆用交換網(wǎng)技術(shù)的高性能分布式設(shè)備中,需要控制入接口發(fā)送報(bào)文的速率,實(shí)現(xiàn)交換網(wǎng)在處理能力內(nèi)不丟包。在圖1所示的簡(jiǎn)單系統(tǒng)模型中,LPU—a 和LPU—b為兩個(gè)入接口板,LPU—c為出接口板。粗線表示數(shù)據(jù)流向。備接口 板上FPGA用于板間流控,其與CPU之間采用SPI4 ( System Packet Interface Level4 Phase2,用于PHY層器件與LINK層器件互連的接口標(biāo)準(zhǔn))接口 。可 以將各板上FPGA以及板間的Switch芯片看作交換網(wǎng)系統(tǒng)。對(duì)于LPU_c,數(shù)據(jù)由FPGA (Field Programmable Gate Array,現(xiàn)場(chǎng)可編程 門陣列)發(fā)往CPU ( Central Processing Unit,中央處理單元),如圖2示。假 設(shè)CPU的處理能力只有IGbps,而FPGA當(dāng)前發(fā)送流量大于2Gbps,則CPU 的SPI4接口中FIFO (First In First Out,先入先出)—3將很快達(dá)到Satisfied(飽 和)狀態(tài),從而產(chǎn)生反壓信號(hào),使FPGA暫停發(fā)送;這樣FPGA的SPI4接口 側(cè)FIFO—2將在一定時(shí)間內(nèi)達(dá)到Full,從而使FIFO一l有可能溢出,溢出的結(jié) 果就是丟包。因此,在這種交換網(wǎng)系統(tǒng)中,必須采取某種帶寬控制手段,保 證所有入接口流量之和不會(huì)超出或不會(huì)長(zhǎng)時(shí)間超過(guò)出接口的處理能力,以避 免交換網(wǎng)內(nèi)部丟包。發(fā)明內(nèi)容本發(fā)明的提供一種流量控制方法,用于實(shí)現(xiàn)分布式交換設(shè)備系統(tǒng)間入接 口流與出《1妾口流之間的流量控制。為達(dá)到上述目的,本發(fā)明提供一種流量控制方法,包括以下步驟根據(jù)出接口當(dāng)前的處理狀態(tài)、以及出接口與入接口中業(yè)務(wù)流的流量狀態(tài), 判斷需要對(duì)入接口的流量進(jìn)行控制; 向需要控制的入接口發(fā)送控制信息。其中,所述出接口當(dāng)前的處理狀態(tài)具體包括出接口的處理能力足夠, 可以繼續(xù)接收數(shù)據(jù)流;或出接口的處理能力不足,不能繼續(xù)接收數(shù)據(jù)流。其中,所述出接口當(dāng)前的處理狀態(tài)使用出接口緩存的占用情況進(jìn)行衡量。其中,所述根據(jù)出接口當(dāng)前的處理狀態(tài)以及出接口與入接口中業(yè)務(wù)流的 流量狀態(tài),判斷需要對(duì)流量進(jìn)行控制前,還包括設(shè)置與流量控制相關(guān)的出接口緩存占用情況的閾值,所述閾值包括停止 數(shù)據(jù)流傳輸?shù)腃LOSE閾值、以及開(kāi)始數(shù)據(jù)流傳輸?shù)腛PEN閾值。其中,所述流量狀態(tài)包括數(shù)據(jù)流正在傳輸、或數(shù)據(jù)流的傳輸已經(jīng)停止。其中,所述流量控制為對(duì)所有的入接口進(jìn)行統(tǒng)一流量控制時(shí),所述判斷 需要對(duì)入接口的流量進(jìn)行控制具體為各入接口處于數(shù)據(jù)流傳輸狀態(tài)、且出接口緩存占用率高于所述預(yù)先設(shè)置 的CLOSE閾值,則判斷停止來(lái)自所有入接口的數(shù)據(jù)流的傳輸;或各入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、且出接口緩存占用率低于所述預(yù)先 設(shè)置的OPEN閾值,則判斷重新開(kāi)始來(lái)自各入接口的數(shù)據(jù)流的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為向所有的入接口發(fā)送相同的控制信息,停止或開(kāi)始各入接口的數(shù)據(jù)流的 傳輸。其中,所述流量控制為以入接口為單位進(jìn)行的流量控制時(shí),所述判斷需 要對(duì)入接口的流量進(jìn)行4坌制具體為入接口處于數(shù)據(jù)流傳輸狀態(tài)、且所述入接口對(duì)應(yīng)的出接口緩存占用率高 于所述預(yù)先設(shè)置的CLOSE閾值,則判斷需要停止來(lái)自所述入接口的數(shù)據(jù)流的 傳輸;或入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、且所述入接口對(duì)應(yīng)的出接口緩存占用 率低于預(yù)先所述設(shè)置的OPEN闊值,則判斷重新開(kāi)始來(lái)自所述入接口的數(shù)據(jù)流 的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為
向所述需要進(jìn)行控制的入接口發(fā)送控制信息,停止或開(kāi)始所述入接口的 數(shù)據(jù)流的傳輸。其中,所述流量控制為以入接口的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),所述判斷需要對(duì)入接口的流量進(jìn)行控制具體為一入接口的一業(yè)務(wù)流處于數(shù)據(jù)流傳輸狀態(tài)、且所述業(yè)務(wù)流對(duì)應(yīng)的出接口 緩存占用率高于預(yù)先設(shè)置的所述業(yè)務(wù)流的CLOSE閾值,則判斷停止來(lái)自所述 業(yè)務(wù)流的數(shù)據(jù)流的傳輸;-或一入接口的一業(yè)務(wù)流處于數(shù)據(jù)流停止傳輸狀態(tài)、且所述業(yè)務(wù)流對(duì)應(yīng)的出 接口緩存占用率低于預(yù)先設(shè)置的所述業(yè)務(wù)流的OPEN閾值,則判斷開(kāi)始來(lái)自所 述業(yè)務(wù)流的凄t據(jù)流的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為向所述需要進(jìn)行控制的業(yè)務(wù)流所在的入接口發(fā)送控制信息并攜帶所述業(yè) 務(wù)流的標(biāo)識(shí),停止或開(kāi)始所述業(yè)務(wù)流的數(shù)據(jù)流的傳輸。本發(fā)明還提供一種流量控制設(shè)備,用于在出接口對(duì)各入接口的業(yè)務(wù)流進(jìn) 行流量控制,包括處理狀態(tài)獲取單元,用于獲取出接口當(dāng)前的處理狀態(tài);流量狀態(tài)獲取單元,用于獲取當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài);判斷單元,用于根據(jù)所述處理狀態(tài)獲取單元獲取的出接口當(dāng)前的處理狀 態(tài)、以及所述流量狀態(tài)獲取單元獲取的當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài), 判斷是否需要對(duì)流量進(jìn)行控制??刂菩畔?,用于所述判斷單元判斷需要對(duì)流量進(jìn)行控制時(shí),向需要控制 的入接口發(fā)送控制信息。其中,還包括閾值設(shè)置單元,用于設(shè)置對(duì)流量進(jìn)行控制相關(guān)的出接口緩存占用情況的 闊值,所并提供給所述判斷單元,所述述閾值包括停止數(shù)據(jù)流傳輸?shù)腃LOSE 閾值、以及開(kāi)始數(shù)據(jù)流傳輸?shù)腛PEN閾值。其中,所述流量控制設(shè)備對(duì)所有的入接口進(jìn)行統(tǒng)一流量控制,或以入接 口為單位進(jìn)行流量控制,或以入接口的業(yè)務(wù)流為單位進(jìn)行流量控制。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過(guò)本發(fā)明提供的上述方法,充分利用CPU的處理能力,有效的實(shí)現(xiàn)設(shè) 備的入接口與出接口間的流量控制。
圖l是現(xiàn)有技術(shù)中一種分布式設(shè)備系統(tǒng)模型圖;圖2是現(xiàn)有技術(shù)中一種接口板器件示意圖;圖3是本發(fā)明中一種流量控制方法的流程圖;圖4是本發(fā)明的應(yīng)用場(chǎng)景中一種流量控制方法的流程圖;圖5是本發(fā)明中一種流量控制設(shè)備的結(jié)構(gòu)圖。
具體實(shí)施方式
本發(fā)明中一種流量控制方法的核心思想在于,出接口根據(jù)自身處理狀態(tài), 向各入接口發(fā)送控制信息,以控制入接口的數(shù)據(jù)流量。該處理狀態(tài)可以通過(guò)出接口可用緩存的占用率反映,該可用緩存的占用率間接反映了當(dāng)前出接口 CPU的處理狀態(tài)。本發(fā)明中提出一種流量控制方法,如圖3所示,包括以下步驟步驟s301、出接口獲取當(dāng)前的處理狀態(tài)。出接口的處理狀態(tài)有以下兩種情況1、有足夠處理能力,可以開(kāi)始繼續(xù) 接收數(shù)據(jù);2、處理能力不夠,停止接收數(shù)據(jù)。第l種情況對(duì)應(yīng)OPEN機(jī)制,出 接口與入接口間的通道打開(kāi),出接口開(kāi)始接收入接口發(fā)送的數(shù)據(jù);第2種情況 對(duì)應(yīng)CLOSE機(jī)制,出接口與入接口間的通道關(guān)閉,出接口停止接收入接口發(fā) 送的數(shù)據(jù)。當(dāng)前出接口所處的處理狀態(tài)可以通過(guò)出接口的緩存的占用率進(jìn)行衡量, 在系統(tǒng)初始化過(guò)程中,預(yù)先需要設(shè)定OPEN/CLOSE分別對(duì)應(yīng)的閾值,即滿足 流量控制條件的緩存長(zhǎng)度。例如可以將OPEN機(jī)制對(duì)應(yīng)的閾值設(shè)置為緩存占用 率的1/4、 CLOSE機(jī)制對(duì)應(yīng)的闊值設(shè)置為緩存占用率的3/4。在該閾值的設(shè)置上, 可以采取以下方式 (1 )對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制,根據(jù)出接口中緩存的總體占用率"&置閾值;其中入接口的數(shù)量可以為一個(gè)或多個(gè);(2 )以入接口為流量控制單位,為每個(gè)入接口分配出接口中對(duì)應(yīng)的緩存, 并設(shè)置相同或不同的閾值;其中入接口的數(shù)量可以為一個(gè)或多個(gè);(3)以入接口中的業(yè)務(wù)流為流量控制單位,為每個(gè)入接口中的每個(gè)業(yè)務(wù) 流分配出接口中對(duì)應(yīng)的緩存,并設(shè)置相同或不同的閾值;其中每個(gè)入接口中 業(yè)務(wù)流的數(shù)量可以為一個(gè)或多個(gè)。步驟s302、出接口獲取當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài)。該流量狀態(tài)包括數(shù)據(jù)流正在傳輸、或數(shù)據(jù)流傳輸已經(jīng)停止。在對(duì)所有 的入接口進(jìn)行統(tǒng)一的流量控制時(shí),出接口需要獲取當(dāng)前各入接口的流量狀態(tài); 在以入接口為單位進(jìn)行流量控制時(shí),出接口需要獲取每個(gè)入接口的流量狀態(tài); 在以入接口中的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),出接口需要獲取每個(gè)入接口 中每個(gè)業(yè)務(wù)流的流量狀態(tài)。步驟s303、出接口根據(jù)上述獲取的當(dāng)前處理狀態(tài)、以及與入接口中業(yè)務(wù)流 的流量狀態(tài),判斷需要對(duì)流量進(jìn)行控制。該判斷標(biāo)準(zhǔn)如下對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),若各入接口處于數(shù)據(jù)流傳輸狀 態(tài)、且出接口緩存占用率高于預(yù)先設(shè)置的CLOSE機(jī)制對(duì)應(yīng)的閾值,則判斷需 要對(duì)流量進(jìn)行控制,停止來(lái)自所有入接口的數(shù)據(jù)流的傳輸;對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),若各入接口處于數(shù)據(jù)流停止傳 輸狀態(tài)、且出接口緩存占用率低于預(yù)先設(shè)置的OPEN機(jī)制對(duì)應(yīng)的閾值,則判斷 需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自各入接口的數(shù)據(jù)流的傳輸;在以入接口為單位進(jìn)行流量控制時(shí),若入接口處于數(shù)據(jù)流傳輸狀態(tài)、且 該入接口對(duì)應(yīng)的出接口緩存占用率高于預(yù)先設(shè)置的CLOSE機(jī)制對(duì)應(yīng)的閾值, 則判斷需要對(duì)流量進(jìn)行控制,停止來(lái)自該入接口的數(shù)據(jù)流的傳輸;在以入接口為單位進(jìn)行流量控制時(shí),若入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、 且該入接口對(duì)應(yīng)的出接口緩存占用率低于預(yù)先設(shè)置的OPEN機(jī)制對(duì)應(yīng)的閾值, 則判斷需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自該入接口的數(shù)據(jù)流的傳輸;
在以入接口的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),若入接口的某業(yè)務(wù)流處于 數(shù)據(jù)流傳輸狀態(tài)、且該業(yè)務(wù)流對(duì)應(yīng)的出接口緩存占用率高于預(yù)先設(shè)置的該業(yè)務(wù)流CLOSE機(jī)制對(duì)應(yīng)的閾值,則判斷需要對(duì)流量進(jìn)行控制,停止來(lái)自該業(yè)務(wù) 流的數(shù)據(jù)流的傳輸;在以入接口為單位進(jìn)行流量控制時(shí),若入接口的某業(yè)務(wù)流處于數(shù)據(jù)流停 止傳輸狀態(tài)、且該業(yè)務(wù)流對(duì)應(yīng)的出接口緩存占用率低于預(yù)先設(shè)置的該業(yè)務(wù)流 OPEN機(jī)制對(duì)應(yīng)的閾值,則判斷需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自該業(yè)務(wù)流 的數(shù)據(jù)流的傳輸。步驟s304、向需要控制的入接口發(fā)送控制信息。對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),向各入接口發(fā)送相同的OPEN或 CLOSE控制信息,從而控制所有入接口數(shù)據(jù)流量的傳輸開(kāi)始或停止;在以入接口為單位進(jìn)行流量控制時(shí),向需要控制的入接口發(fā)送OPEN或 CLOSE控制信息,從而控制該入接口數(shù)據(jù)流量的傳輸開(kāi)始或停止;在以入接口的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),向需要控制業(yè)務(wù)流所在的 入接口發(fā)送OPEN或CLOSE控制信息,控制信息中攜帶該業(yè)務(wù)流的標(biāo)識(shí),從而 控制該業(yè)務(wù)流數(shù)據(jù)流量的傳輸開(kāi)始或停止。以下通過(guò)具體的應(yīng)用場(chǎng)景描述本發(fā)明一種流量控制方法的具體實(shí)施方式
。本發(fā)明的應(yīng)用場(chǎng)景一中,以對(duì)各入接口進(jìn)行統(tǒng)一的流量控制為例,即對(duì)所有的入接口以及每一入接口中的業(yè)務(wù)流不加以區(qū)分。此時(shí),本發(fā)明一種流量控制方法如圖4所示,包括以下步驟步驟s401、系統(tǒng)初始化過(guò)程中,設(shè)定OPEN/CLOSE分別對(duì)應(yīng)的閾值。 該閾值即滿足控制條件的緩存占用率,比如當(dāng)緩存占用率超過(guò)3/4時(shí),發(fā)送CLOSE控制信息,從3/4下降至l/4時(shí)發(fā)送OPEN控制信息;則緩存總長(zhǎng)度的3/4便是CLOSE閾值,而緩存總長(zhǎng)度的1/4便是OPEN閾值。步驟s402、系統(tǒng)啟動(dòng)后,出接口接收各入接口發(fā)送的數(shù)據(jù)流。 這里默認(rèn)系統(tǒng)啟動(dòng)后所有入接口都可向出接口發(fā)送數(shù)據(jù)流,各入接口可用帶寬大小由出接口根據(jù)需要分配,如平均分配或加權(quán)分配。 步驟s403、檢測(cè)當(dāng)前出接口的緩存占用率。步驟s404、判斷當(dāng)前出接口的緩存占用率是否超過(guò)CLOSE對(duì)應(yīng)的閾值。 是則繼續(xù),否則進(jìn)行步驟s403。出接口接收"^艮文的緣存只有一個(gè),當(dāng)由于CPU轉(zhuǎn)發(fā)能力不足造成出接口 的緩存占用率超過(guò)CLOSE閾值時(shí),即認(rèn)為出接口發(fā)生擁塞。步驟s405、向各入接口發(fā)送攜帶CLOSE控制信息,各入接口停止向該出 接口傳輸數(shù)據(jù)。步驟s406、檢測(cè)當(dāng)煎出接口的緩存占用率。步驟s407、判斷當(dāng)前出接口的緩存占用率是否低于OPEN對(duì)應(yīng)的閾值。是 則繼續(xù),否則進(jìn)行步驟s406。隨著出接口CPU的處理,出接口緩存占用率將逐漸減少,當(dāng)緩存占用率 低于OPEN閾值時(shí),即認(rèn)為出接口不再擁塞。步驟s408、向各入接口發(fā)送攜帶OPEN控制信息,使各入接口重新開(kāi)始向 該出接口傳輸數(shù)據(jù),返回步驟s403,直至所有入接口的數(shù)據(jù)處理完成。對(duì)應(yīng)的入接口處理如下當(dāng)各入接口收到CLOSE報(bào)文時(shí),停止向?qū)?yīng)出 接口發(fā)送數(shù)據(jù)流;收到OPEN報(bào)文時(shí),重新開(kāi)始向出接口發(fā)送數(shù)據(jù)流。本發(fā)明的另一應(yīng)用場(chǎng)景中,以對(duì)各入接口分別進(jìn)行流量控制為例,即以 入接口為單位,分別對(duì)每個(gè)入接口進(jìn)行控制,而對(duì)每一入接口中的業(yè)務(wù)流不 加以區(qū)分。此時(shí),本發(fā)明一種流量控制方法與圖4所示的步驟相似,區(qū)別在于, 出接口對(duì)于每一入接口 ,根據(jù)該入接口的流量狀態(tài)、以及該入接口對(duì)應(yīng)的出 接口緩存,對(duì)該入接口的流量進(jìn)行控制,從而對(duì)每一入接口的輪詢實(shí)現(xiàn)對(duì)每 一入接口的單獨(dú)控制。該過(guò)程在此不做重復(fù)描述。本發(fā)明的另 一應(yīng)用場(chǎng)景中,以對(duì)各入接口的每一業(yè)務(wù)流分別進(jìn)行流量控 制為例,即以業(yè)務(wù)流為羊位,分別對(duì)每個(gè)業(yè)務(wù)流進(jìn)行控制,對(duì)每一入接口中 的業(yè)務(wù)流加以區(qū)分。此時(shí),本發(fā)明一種流量控制方法與圖4所示的步驟相似, 區(qū)別在于,出接口對(duì)于每一業(yè)務(wù)流,根據(jù)該業(yè)務(wù)流的流量狀態(tài)、以及該業(yè)務(wù) 流對(duì)應(yīng)的出接口緩存,對(duì)該業(yè)務(wù)流的流量進(jìn)行控制,控制時(shí)在入接口發(fā)送的 控制信息中攜帶該業(yè)務(wù)流的標(biāo)識(shí),從而通過(guò)對(duì)每一業(yè)務(wù)流的輪詢實(shí)現(xiàn)對(duì)每一 業(yè)務(wù)流的單獨(dú)控制。該過(guò)程在此不做重復(fù)描述。對(duì)于上述實(shí)施例中所使用的OPEN/CLOSE閾值,以下描述該閾值在設(shè)置 時(shí)可以使用的標(biāo)準(zhǔn)。本發(fā)明實(shí)施例的目的在于在充分利用出接口處理能力的 前提下,防止入接口流量之和超出了出接口的處理能力而導(dǎo)致的丟包。首先 描述設(shè)置CLOSE閾值時(shí)應(yīng)該考慮的問(wèn)題在出接口判斷需要向入接口發(fā)送 CLOSE控制信息、到入接口接收到CLOSE控制信息的控制信息并執(zhí)行,該過(guò) 程中存在CLOSE控制信息從出接口到達(dá)入接口的延遲時(shí)間,因此在入接口發(fā) 送CLOSE控制信息時(shí)除了.考慮本地緩存占用率外,還應(yīng)該考慮到該延遲時(shí)間, 確保該延遲時(shí)間內(nèi)接收到的數(shù)據(jù)包也不會(huì)超過(guò)出接口的接收能力而溢出丟 失。在設(shè)置OPEN閾值時(shí)也應(yīng)該考慮類似的問(wèn)題,出接口判斷需要向入接口發(fā) 送OPEN控制信息、到入接口接收到OPEN控制信息的控制信息并執(zhí)行,該過(guò) 程中存在OPEN控制信息從出接口到達(dá)入接口的延遲時(shí)間,因此在入接口發(fā)送 OPEN控制信息時(shí)除了考慮本地緩存占用率外,還應(yīng)該考慮到該延遲時(shí)間,確 保該延遲時(shí)間內(nèi)出接口有數(shù)據(jù)流可以處理。OPEN/CLOSE閾值的設(shè)置方法可以有很多,以下給出一例,但并不用于 限制本發(fā)明的保護(hù)范圍。.具體的,OPEN/CLOSE控制信息的延時(shí)估計(jì)為板 間傳送攜帶OPEN/CLOSE控制信息的報(bào)文時(shí),報(bào)文長(zhǎng)度采用以太網(wǎng)最小幀64 字節(jié)(已經(jīng)可以攜帶足夠的控制信息),PHY接口采用XGMII,則數(shù)據(jù)發(fā)送 速率為10Gbps,則64字節(jié)才艮文傳輸延時(shí)為64 x 8/10 = 51.2ns,交換網(wǎng)本身的 固定延時(shí)約2000ns,則傳送一次控制報(bào)文總延時(shí)約2050ns。該請(qǐng)況下, OPEN/CLOSE閾值的設(shè)置可以采取如下方法出接口某緩存已用空間達(dá)到預(yù)設(shè)的CLOSE閾值后,出接口將向?qū)?yīng)入接 口發(fā)送CLOSE報(bào)文,此報(bào)文在板間傳送需要大約2050ns的時(shí)間;最糟糕的情 況是,在此2050ns時(shí)間內(nèi)該緩存一直以最大速率(10Gbps)收包并且CPU不 處理該緩存的報(bào)文,則該緩存最多將接收2050x 10/8 = 2562字節(jié)的流量,也就 是說(shuō)在達(dá)到CLOSE閾值后,此緩存必須還要有2562字節(jié)的空間剩余。所以, CLOSE閾值與緩存總長(zhǎng)度應(yīng)滿足以下關(guān)系緩存總長(zhǎng)度-CLOSE閾值長(zhǎng)度> =2562字節(jié)。假設(shè)CLOSE閾值設(shè)為緩存總長(zhǎng)度的3/4,則緩存總長(zhǎng)度至少需要 2562x4 = 12048字節(jié)。同樣,當(dāng)出接口某緩存已用空間從CLOSE閾值回落至OPEN闊值以下,出 接口將向?qū)?yīng)入接口發(fā)送OPEN報(bào)文,此^艮文在板間傳送需要大約2050ns的時(shí) 間;最樂(lè)觀的情況是,在此2050ns時(shí)間內(nèi)CPU—直以最大速率(10Gbps)處 理該緩存的報(bào)文,則該緩存至少需要提供2050x 10/8 = 2562字節(jié)的數(shù)據(jù),也就 是說(shuō)在回落至OPEN閾值后,此緩存還需要有2562字節(jié)的數(shù)據(jù)等待CPU處理; 否則將有可能造成CPU能力的浪費(fèi)。所以,OPEN閾值應(yīng)滿足以下關(guān)系OPEN 閾值長(zhǎng)度> =2562字節(jié)。通過(guò)本發(fā)明提供的上述方法,充分利用各設(shè)備上CPU的處理能力,有效 的實(shí)現(xiàn)不同設(shè)備間的流量控制。本發(fā)明還提供一種流量控制設(shè)備,用于實(shí)現(xiàn)對(duì)入接口業(yè)務(wù)流的控制,如 圖5所示,包括處理狀態(tài)獲取單元IO,用于獲取出接口當(dāng)前的處理狀態(tài),該處理狀態(tài)通 過(guò)出接口的緩存占用情況反映。對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),獲取出接口緩存總的占用情況;對(duì)每一入接口分別進(jìn)行流量控制時(shí),獲取每一 入接口對(duì)應(yīng)的出接口緩存的占用情況;對(duì)每一入接口的業(yè)務(wù)流分別進(jìn)行流量 控制時(shí),獲取每一業(yè)務(wù)流對(duì)應(yīng)的出接口緩存的占用情況。流量狀態(tài)獲取單元20,用于獲取當(dāng)前與入#~口中業(yè)務(wù)流的流量狀態(tài),該 流量狀態(tài)包括數(shù)據(jù)流正在傳輸、或數(shù)據(jù)流的傳輸已經(jīng)停止。對(duì)所有的入接口 進(jìn)行統(tǒng)一的流量控制時(shí),獲取各入接口的流量狀態(tài);對(duì)每一入接口分別進(jìn)行 流量控制時(shí),獲取每一入接口的流量狀態(tài);對(duì)每一入接口的業(yè)務(wù)流分別進(jìn)行 流量控制時(shí),獲取每一業(yè)務(wù)流的流量狀態(tài)。判斷單元30,用于根據(jù)上述處理狀態(tài)獲取單元10獲取的出接口當(dāng)前的處 理狀態(tài)、以及流量狀態(tài)獲、取單元20獲取的當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài), 判斷是否需要對(duì)流量進(jìn)行控制??刂频呐袛鄻?biāo)準(zhǔn)如下對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),若各入接口處于數(shù)據(jù)流傳輸狀 態(tài)、且出接口緩存占用率高于預(yù)先設(shè)置的CLOSE機(jī)制對(duì)應(yīng)的閾值,則判斷需 要對(duì)流量進(jìn)行控制,停止來(lái)自所有入接口的數(shù)據(jù)流的傳輸;
對(duì)所有的入接口進(jìn)行統(tǒng)一的流量控制時(shí),若各入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、且出接口緩存占用率低于預(yù)先設(shè)置的OPEN機(jī)制對(duì)應(yīng)的閾值,則判斷 需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自各入接口的數(shù)據(jù)流的傳輸;在以入接口為單位逸行流量控制時(shí),若入接口處于數(shù)據(jù)流傳輸狀態(tài)、且 該入接口對(duì)應(yīng)的出接口緩存占用率高于預(yù)先設(shè)置的CLOSE機(jī)制對(duì)應(yīng)的閾值, 則判斷需要對(duì)流量進(jìn)行控制,停止來(lái)自該入接口的數(shù)據(jù)流的傳輸;在以入接口為單位進(jìn)行流量控制時(shí),若入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、 且該入接口對(duì)應(yīng)的出接口緩存占用率低于預(yù)先設(shè)置的OPEN機(jī)制對(duì)應(yīng)的閾值, 則判斷需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自該入接口的數(shù)據(jù)流的傳輸;在以入接口的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),若入接口的某業(yè)務(wù)流處于 數(shù)據(jù)流傳輸狀態(tài)、且該業(yè)務(wù)流對(duì)應(yīng)的出接口緩存占用率高于預(yù)先設(shè)置的該業(yè) 務(wù)流CLOSE機(jī)制對(duì)應(yīng)的閾值,則判斷需要對(duì)流量進(jìn)行控制,停止來(lái)自該業(yè)務(wù) 流的數(shù)據(jù)流的傳輸;在以入接口為單位進(jìn)行流量控制時(shí),若入接口的某業(yè)務(wù)流處于數(shù)據(jù)流停 止傳輸狀態(tài)、且該業(yè)務(wù)流對(duì)應(yīng)的出接口緩存占用率低于預(yù)先設(shè)置的該業(yè)務(wù)流 OPEN機(jī)制對(duì)應(yīng)的閾值,則判斷需要對(duì)流量進(jìn)行控制,重新開(kāi)始來(lái)自該業(yè)務(wù)流 的數(shù)據(jù)流的傳輸。控制信息發(fā)送單元40,用于在判斷單元30判斷需要對(duì)流量進(jìn)行控制時(shí), 向需要控制的入接口發(fā)送控制信息,該控制信息包括OPEN/CLOSE。需要控 制入接口的流量時(shí),向彎要控制的入接口發(fā)送控制信息;需要對(duì)入接口的具 體業(yè)務(wù)流進(jìn)行控制時(shí),向需要控制的入接口發(fā)送控制信息并攜帶業(yè)務(wù)流標(biāo)識(shí)。閾值設(shè)置單元50,用于設(shè)置OPEN/CLOSE機(jī)制對(duì)應(yīng)的閾值,可以對(duì)所有 的入接口設(shè)置統(tǒng)一的閾值;或?yàn)槊恳蝗虢涌谠O(shè)置相同或不同的閾值;或?yàn)槊?一入接口中的業(yè)務(wù)流設(shè)覃相同或不同的閾值,并提供給判斷單元30。通過(guò)本發(fā)明提供的上述設(shè)備,充分利用CPU的處理能力,有效的實(shí)現(xiàn)不 同設(shè)備間的流量控制。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可借助軟件加必需的竭用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件, 但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案 本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái), 該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)網(wǎng)絡(luò) 設(shè)備執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種流量控制方法,其特征在于,包括以下步驟根據(jù)出接口當(dāng)前的處理狀態(tài)、以及出接口與入接口中業(yè)務(wù)流的流量狀態(tài),判斷需要對(duì)入接口的流量進(jìn)行控制;向需要控制的入接口發(fā)送控制信息。
2、 如權(quán)利要求1所述流量控制方法,其特征在于,所述出接口當(dāng)前的處 理狀態(tài)具體包括出接口的處理能力足夠,可以繼續(xù)接收數(shù)據(jù)流;或出接口 的處理能力不足,不能繼續(xù)接收數(shù)據(jù)流。
3、 如權(quán)利要求1或2所述流量控制方法,其特征在于,所述出接口當(dāng)前 的處理狀態(tài)使用出接口緩存的占用情況進(jìn)行衡量。
4、 如權(quán)利要求3所述流量控制方法,其特征在于,所述根據(jù)出接口當(dāng)前 的處理狀態(tài)以及出接口與入接口中業(yè)務(wù)流的流量狀態(tài),判斷需要對(duì)流量進(jìn)行 控制前,還包括設(shè)置與流量控制相關(guān)的出接口緩存占用情況的閾值,所述閾值包括停止 數(shù)據(jù)流傳輸?shù)腃LOSE閾值、以及開(kāi)始凄t據(jù)流傳輸?shù)腛PEN閾值。
5、 如權(quán)利要求1所述流量控制方法,其特征在于,所述流量狀態(tài)包括數(shù) 據(jù)流正在傳輸、或數(shù)據(jù)流的傳輸已經(jīng)停止。
6、 如權(quán)利要求4或5所述流量控制方法,其特征在于,所述流量控制為 對(duì)所有的入接口進(jìn)行統(tǒng)一流量控制時(shí),所述判斷需要對(duì)入接口的流量進(jìn)行控 制具體為各入接口處于數(shù)據(jù)流傳輸狀態(tài)、且出接口緩存占用率高于所述預(yù)先設(shè)置 的CLOSE閾值,則判斷停止來(lái)自所有入接口的數(shù)據(jù)流的傳輸;或各入接口處于數(shù)據(jù)流停止傳輸狀態(tài)、且出接口緩存占用率低于所述預(yù)先 設(shè)置的OPEN閾值,則判斷重新開(kāi)始來(lái)自各入接口的數(shù)據(jù)流的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為向所有的入接口發(fā)送相同的控制信息,停止或開(kāi)始各入接口的數(shù)據(jù)流的 傳輸。
7、 如權(quán)利要求4或5所述流量控制方法,其特征在于,所述流量控制為 以入接口為單位進(jìn)行的流量控制時(shí),所述判斷需要對(duì)入接口的流量進(jìn)行控制具體為入接口處于數(shù)據(jù)流傳輸狀態(tài)、且所述入接口對(duì)應(yīng)的出接口緩存占用率高 于所述預(yù)先設(shè)置的CLOSE閾值,則判斷需要停止來(lái)自所述入接口的數(shù)據(jù)流的 傳輸;或入4妄口處于數(shù)據(jù)流停止傳輸狀態(tài)、且所述入接口對(duì)應(yīng)的出4矣口 IC存占用 率低于預(yù)先所述設(shè)置的OPEN閾值,則判斷重新開(kāi)始來(lái)自所述入接口的數(shù)據(jù)流 的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為向所述需要進(jìn)行控制的入接口發(fā)送控制信息,停止或開(kāi)始所述入接口的 數(shù)據(jù)流的傳輸。
8、 如權(quán)利要求4或5所述流量控制方法,其特征在于,所述流量控制為以 入接口的業(yè)務(wù)流為單位進(jìn)行流量控制時(shí),所述判斷需要對(duì)入接口的流量進(jìn)行 控制具體為一入接口的一業(yè)務(wù)流處于數(shù)據(jù)流傳輸狀態(tài)、且所述業(yè)務(wù)流對(duì)應(yīng)的出4妄口 緩存占用率高于預(yù)先設(shè)置的所述業(yè)務(wù)流的CLOSE閾值,則判斷停止來(lái)自所述 業(yè)務(wù)流的凄t據(jù)流的傳輸;或一入"l妄口的一業(yè)務(wù)流處于數(shù)據(jù)流停止傳輸狀態(tài)、且所述業(yè)務(wù)流對(duì)應(yīng)的出 接口緩存占用率低于預(yù)先設(shè)置的所述業(yè)務(wù)流的OPEN閾值,則判斷開(kāi)始來(lái)自所 述業(yè)務(wù)流的數(shù)據(jù)流的傳輸;所述向需要控制的入接口發(fā)送控制信息具體為向所述需要進(jìn)行控制的業(yè)務(wù)流所在的入接口發(fā)送控制信息并攜帶所述業(yè) 務(wù)流的標(biāo)識(shí),停止或開(kāi)始所述業(yè)務(wù)流的數(shù)據(jù)流的傳輸。
9、 一種流量控制設(shè)備,用于在出接口對(duì)各入接口的業(yè)務(wù)流進(jìn)行流量控制, 其特征在于,包括處理狀態(tài)獲取單元,用于獲取出接口當(dāng)前的處理狀態(tài); 流量狀態(tài)獲取單元,用于獲取當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài); 判斷單元,用于根據(jù)所述處理狀態(tài)獲取單元獲取的出接口當(dāng)前的處理狀 態(tài)、以及所述流量狀態(tài)獲取單元獲取的當(dāng)前與入接口中業(yè)務(wù)流的流量狀態(tài),判斷是否需要對(duì)流量進(jìn)行控制??刂菩畔ⅲ糜谒雠袛鄦卧袛嘈枰獙?duì)流量進(jìn)行控制時(shí),向需要控制 的入接口發(fā)送控制信息。
10、 如權(quán)利要求9所述流量控制設(shè)備,其特征在于,還包括 閾值設(shè)置單元,用于設(shè)置對(duì)流量進(jìn)行控制相關(guān)的出接口緩存占用情況的閾值,所并提供給所述判斷單元,所述述閾值包括停止數(shù)據(jù)流傳輸?shù)腃LOSE 閾值、以及開(kāi)始數(shù)據(jù)流傳輸?shù)腛PEN閾值。
11、 如權(quán)利要求9所述流量控制設(shè)備,其特征在于,所述流量控制設(shè)備 對(duì)所有的入接口進(jìn)行統(tǒng)一流量控制,或以入接口為單位進(jìn)行流量控制,或以 入接口的業(yè)務(wù)流為單位進(jìn)行流量控制。
全文摘要
本發(fā)明公開(kāi)了一種流量控制方法,包括以下步驟根據(jù)出接口當(dāng)前的處理狀態(tài)、以及出接口與入接口中業(yè)務(wù)流的流量狀態(tài),判斷需要對(duì)入接口的流量進(jìn)行控制;向需要控制的入接口發(fā)送控制信息。本發(fā)明還公開(kāi)了一種流量控制設(shè)備。通過(guò)本發(fā)明提供的上述方法,充分利用各設(shè)備的處理能力,有效的實(shí)現(xiàn)設(shè)備的入接口與出接口間的流量控制。
文檔編號(hào)H04L12/56GK101159700SQ200710193780
公開(kāi)日2008年4月9日 申請(qǐng)日期2007年11月27日 優(yōu)先權(quán)日2007年11月27日
發(fā)明者張德寧 申請(qǐng)人:杭州華三通信技術(shù)有限公司