專利名稱:交換網(wǎng)流控實現(xiàn)方法、交換設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,尤其是一種交換網(wǎng)流控實現(xiàn)方法、交換設(shè)備及系統(tǒng)。
背景技術(shù):
在組合輸入輸出隊列(Combined Input-Output Queued,簡稱CI0Q)架構(gòu)的交換網(wǎng)(Switch Fabric)中,線卡(Line Card)接收到的可變長度的報文(Packet)被切割成固定長度的信元(Cell)緩沖在輸入端形成隊列,在輸入端設(shè)置N(N為正整數(shù))個單播虛擬輸出隊列(Virtual Output Queue,簡稱V0Q),以及k(k為正整數(shù),且1彡k彡2N))個多播虛擬輸出隊列。隊列調(diào)度時間被分割為固定長度的時間槽,在一個時間槽內(nèi),一個輸入端口最多能夠發(fā)送一個信元,一個輸出端口最多能夠接收一個信元。若在一個時間槽內(nèi)有多個輸入端口需同時向同一個輸出端口發(fā)送數(shù)據(jù),則會產(chǎn)生端口沖突。當(dāng)多播報文按照數(shù)據(jù)流入隊多播虛擬輸出隊列時,由于多播數(shù)據(jù)流的數(shù)量2N遠(yuǎn)遠(yuǎn)大于多播虛擬輸出隊列的數(shù)量k,因此必然存在多個多播數(shù)據(jù)流入隊同一個多播虛擬輸出隊列的現(xiàn)象,多播虛擬輸出隊列中屬于不同報文的信元交錯存在,即對于一個多播虛擬輸出隊列,屬于一個多播報文的若干信元連續(xù)入隊之后,屬于另一個多播報文的若干信元就會緊隨其后入隊;上述現(xiàn)象不可避免地導(dǎo)致多播調(diào)度發(fā)生嚴(yán)重的頭阻現(xiàn)象。為了盡量避免隊列中由于隊首數(shù)據(jù)無法調(diào)度導(dǎo)致隊列后部的所有數(shù)據(jù)無法調(diào)度的頭阻現(xiàn)象,多播調(diào)度一般采用扇出分割(fanout split)方式。現(xiàn)有技術(shù)中的交換網(wǎng)流控機制采用多次迭代方式匹配輸入端口和輸出端口,若交換網(wǎng)的輸出隊列發(fā)生擁塞,則輸出端口由于不能接收更多的數(shù)據(jù)向輸入端口發(fā)送流控信息,交換網(wǎng)調(diào)度算法匹配輸入端口和輸出端口,輸入端口在向輸出端口發(fā)送數(shù)據(jù)之前首先過濾發(fā)生擁塞的輸出端口。現(xiàn)有技術(shù)中交換網(wǎng)輸出端口向輸入端口發(fā)送流控信息需要占用交換網(wǎng)帶寬,因此增加了交換網(wǎng)的負(fù)擔(dān)。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種交換網(wǎng)流控實現(xiàn)方法、交換設(shè)備及系統(tǒng),提高交換網(wǎng)的數(shù)據(jù)處理效率。本發(fā)明實施例提供一種交換網(wǎng)流控實現(xiàn)方法,包括各輸入端口向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息;接收到所述請求信息的目的輸出端口根據(jù)各自的反壓信息確定是否向所述各輸入端口返回準(zhǔn)予信息以建立所述各輸入端口與返回所述準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;根據(jù)所述匹配關(guān)系,所述各輸入端口調(diào)度信元到與所述各輸入端口相匹配的目的輸出端口。
4
本發(fā)明實施例還提供一種交換設(shè)備,包括輸入端口處理模塊、輸出端口處理模塊、仲裁模塊、交叉開關(guān)模塊,所述輸入端口處理模塊,用于向所述仲裁模塊發(fā)送來自各輸入端口的請求信息;所述輸出端口處理模塊,用于向所述仲裁模塊發(fā)送來自各輸出端口的反壓信息;所述仲裁模塊,用于根據(jù)所述請求信息和所述反壓信息建立所述各輸入端口與向所述各輸入端口返回準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;所述交叉開關(guān)模塊,用于根據(jù)所述匹配關(guān)系將所述各輸入端口的數(shù)據(jù)信元調(diào)度給與所述各輸入端口相匹配的目的輸出端口。本發(fā)明實施例還提供一種交換系統(tǒng),包括用于調(diào)度數(shù)據(jù)信元的上行管理隊列設(shè)備和下行管理隊列設(shè)備,其中,還包括至少一個如上所述的交換設(shè)備;所述上行管理隊列設(shè)備與所述輸入端口處理模塊連接;所述下行管理隊列設(shè)備與所述輸出端口處理模塊連接。本發(fā)明實施例提供的交換網(wǎng)流控實現(xiàn)方法、交換設(shè)備及系統(tǒng),由于輸出端口參考反壓信息向發(fā)出請求信息的輸入端口返回準(zhǔn)予信息,發(fā)生報文擁塞的輸出端口不用向發(fā)送請求信息的輸入端口返回流控信息,減少了輸入端口與輸出端口之間傳輸?shù)男畔⒘?,提高了交換網(wǎng)的數(shù)據(jù)處理效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明交換網(wǎng)流控實現(xiàn)方法一個實施例的流程示意圖;圖2為本發(fā)明交換網(wǎng)流控實現(xiàn)方法又一個實施例的流程示意圖;圖3為本發(fā)明實施例所適用的建立匹配關(guān)系的流程示意圖;圖4為圖3所示實施例的輸入端口與輸出端口發(fā)送信息的一個示意圖;圖5為本發(fā)明交換設(shè)備一個實施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明交換系統(tǒng)一個實施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明交換系統(tǒng)又一個實施例的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例所適用系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。具有交換網(wǎng)功能的網(wǎng)絡(luò)設(shè)備在轉(zhuǎn)發(fā)報文時,需將報文分成固定長度的多個信元。 同一報文的不同信元在同一輸入端口調(diào)度,一個時間槽內(nèi)調(diào)度一個信元。同一輸入端口可維護有去往多個輸出端口的報文的信元。屬于同一報文的各信元需要交換到的目的輸出端口相同,屬于不同報文的各信元需要交換的目的輸出端口可能相同,也可能不同。在交換信元前,需獲取各輸入端口的隊列狀態(tài)信息和與各輸入端口相對應(yīng)的目的輸出端口的反壓信肩、ο圖1為本發(fā)明交換網(wǎng)流控實現(xiàn)方法一個實施例的流程示意圖,如圖1所示,本發(fā)明實施例包括如下步驟步驟101、各輸入端口向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息;步驟102、接收到請求信息的目的輸出端口根據(jù)各自的反壓信息確定是否向各輸入端口返回準(zhǔn)予信息以建立各輸入端口與返回準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;步驟103、根據(jù)該匹配關(guān)系,各輸入端口調(diào)度信元到與各輸入端口相匹配的目的輸出端口。本發(fā)明實施例提供的交換網(wǎng)流控實現(xiàn)方法,由于各輸入端口僅向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息,輸出端口參考反壓信息確定是否向發(fā)出請求信息的輸入端口返回準(zhǔn)予信息,因此發(fā)生報文擁塞的輸出端口不用向發(fā)送請求信息的輸入端口返回流控信息,減少了輸入端口與輸出端口之間傳輸?shù)男畔⒘?,簡化了交換網(wǎng)設(shè)計,提高了交換網(wǎng)的數(shù)據(jù)處理效率。圖2為本發(fā)明交換網(wǎng)流控實現(xiàn)方法又一個實施例的流程示意圖,如圖2所示,本實施例包括如下步驟步驟201、各輸入端口向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息;其中,各輸入端口在發(fā)送請求信息時,根據(jù)本端口各隊列的目的端口過濾表過濾發(fā)生擁塞的目的輸出端口,目的端口過濾表用于記錄目的輸出端口是否發(fā)生報文擁塞;具體地,若隊列為單播隊列,則目的端口過濾表中最多只有一個目的輸出端口,在發(fā)送單播信元請求信息時,經(jīng)過目的端口過濾表的過濾后,輸入端口可能無需再發(fā)送此單播隊列的請求信息;若隊列為多播隊列,則目的端口過濾表中包含有多個目的端口,在多播信元發(fā)送請求信息時,經(jīng)過目的端口過濾表過濾后輸入端口仍可能向多個目的輸出端口發(fā)送此多播隊列的請求信息。步驟202、接收到請求信息的目的輸出端口根據(jù)各自的反壓信息確定是否向各輸入端口返回準(zhǔn)予信息以建立各輸入端口與返回準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;其中,各輸出端口獲取各個本端口的擁塞狀態(tài),當(dāng)目的輸出端口接收到輸入端口的請求信息之后,發(fā)生擁塞的目的輸出端口不再向任何輸入端口發(fā)送準(zhǔn)予信息;具體地,各輸出端口參考反壓信息確定輸出端口是否發(fā)生擁塞,若反壓信息置位則表示輸出端口處于擁塞狀態(tài),不會向發(fā)送請求信息的輸入端口返回準(zhǔn)予信息,若反壓信息未置位則表示輸出端口可以接收輸入端口發(fā)送的信元,因此該輸出端口即可向發(fā)送請求信息的輸入端口返回準(zhǔn)予信息。步驟203、根據(jù)匹配關(guān)系,各輸入端口調(diào)度信元到與所述各輸入端口相匹配的目的輸出端口 ;其中,若信元屬于多播信元,則各輸入端口采用扇出分割的方式向建立匹配關(guān)系的目的輸出端口發(fā)送多播信元,并更新多播隊列的首信元的目的端口表,刪除已經(jīng)發(fā)送信元拷貝的目的輸出端口 ;若多播隊列首信元的目的端口表為空,則各輸入端口刪除多播隊列的首信元。若信元為單播信元,各輸入端口向建立匹配關(guān)系的目的輸出端口發(fā)送單播信元拷貝,刪除單播隊列首信元。步驟204、在信元調(diào)度之后,若各輸入端口檢測到輸入隊列緩沖區(qū)長度超過預(yù)設(shè)閾值或者目的端口過濾表非空,則各輸入端口刪除隊列的首信元,并將殘留的目的輸出端口累加到所述目的端口過濾表中;具體地,各輸入端口根據(jù)多播隊列的目的端口過濾表更新多播隊列中的首信元 (Head Of Line,簡稱H0L)的目的端口表,根據(jù)目的端口過濾表將發(fā)生擁塞的輸出端口從首信元的目的端口表中刪除,使得各輸入端口不會再向發(fā)生擁塞的目的輸出端口發(fā)送請求信息,也就不會再向擁塞輸出端口調(diào)度信元,避免了發(fā)生擁塞的輸出端口的擁塞狀況進一步惡化。步驟205、若各輸入端口檢測到刪除的隊列的首信元為報文末信元,則清空該隊列的目的端口過濾表。由于輸出端口重組報文時,若同一個報文中有一個信元丟失,則整個報文會因重組失敗而丟棄,因此需要基于報文丟棄信元,即輸入端口只有在檢測到正在被刪除的信元是報文末信元時,則清空屬于同一個報文的隊列的目的端口過濾表。上述步驟204和步驟205并無時間上的先后順序,交換設(shè)備可根據(jù)調(diào)度報文的實際情況執(zhí)行,并且當(dāng)不滿足執(zhí)行步驟204或者步驟205的條件時,也可不執(zhí)行步驟204或者步驟205。進一步地,若各輸入端口維護多個隊列,則各輸入端口將接收到的屬于同一報文的信元按照信元在報文中的順序連續(xù)入隊同一個隊列。本發(fā)明實施例提供的交換網(wǎng)流控實現(xiàn)方法,由于各輸入端口僅向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息,輸出端口參考反壓信息確定是否向發(fā)出請求信息的輸出端口返回準(zhǔn)予信息,因此發(fā)生報文擁塞的輸出端口不用向發(fā)送請求信息的輸入端口返回流控信息,減少了輸入端口與輸出端口之間傳輸?shù)男畔⒘?,簡化了交換網(wǎng)的設(shè)計,提高了交換網(wǎng)的數(shù)據(jù)處理效率,并且避免了由于多播頭阻造成的多播調(diào)度效率低下問題。為了更容易理解本發(fā)明實施例所述的技術(shù)方案,圖3為本發(fā)明實施例所適用的建立匹配關(guān)系的流程示意圖,如圖3所示,輸入端口在接收到數(shù)據(jù)信元后,各輸入端口與各輸出端口建立匹配關(guān)系的過程具體包括如下步驟步驟301、各輸入端口檢測本地虛擬輸出隊列的隊列狀態(tài),將各輸入端口的隊列狀
態(tài)信息作為請求信息;步驟302、各沒有建立匹配關(guān)系的輸入端口向本端口各輸入數(shù)據(jù)隊列首信元的目的輸出端口發(fā)送請求信息;各輸入端口在發(fā)送請求信息時,根據(jù)各隊列的目的端口過濾表過濾發(fā)生擁塞的目的輸出端口,目的端口過濾表用于記錄目的輸出端口是否發(fā)生報文擁塞;具體地,若隊列為單播隊列,則目的端口過濾表中有一個目的輸出端口 ;若隊列為多播隊列,則目的端口過濾表中包含有多個目的端口,在多播信元發(fā)送請求信息時,經(jīng)過目的端口過濾表過濾后各輸入端口仍可能向多個目的輸出端口發(fā)送請求信息。步驟303、沒有建立匹配關(guān)系的目的輸出端口接收到所述輸入端口的請求信息之后,根據(jù)各自的反壓信息確定是否向選擇的輸入端口返回準(zhǔn)予信息;其中,各輸出端口獲取本端口的擁塞狀態(tài),當(dāng)目的輸出端口接收到輸入端口的請求信息之后,發(fā)生擁塞的目的輸出端口不再向任何輸入端口發(fā)送準(zhǔn)予信息;具體地,各輸出端口參考反壓信息確定輸出端口是否發(fā)生擁塞,若反壓信息置位則表示輸出端口處于擁塞狀態(tài),不會向發(fā)送請求信息的輸入端口返回準(zhǔn)予信息,若反壓信息未置位則表示輸出端口可以接收輸入端口發(fā)送的信元,因此該輸出端口即可以輪詢匹配的方式選擇一個向本輸出端口發(fā)送請求信息的輸入端口返回準(zhǔn)予信息。步驟304、接收到準(zhǔn)予信息的輸入端口以輪詢匹配的方式選擇一個向本輸入端口返回準(zhǔn)予信息的目的輸出端口發(fā)送接受信息以建立各輸入端口與目的輸出端口之間的匹配關(guān)系;步驟305、判斷本次迭代是否成功匹配端口,若判斷結(jié)果為否,說明已經(jīng)建立最大匹配,執(zhí)行步驟307 ;若判斷結(jié)果為是,執(zhí)行步驟306 ;步驟306、判斷迭代次數(shù)是否達到最大迭代次數(shù)閾值,若判斷結(jié)果為是,執(zhí)行步驟 307 ;若判斷結(jié)果為否,繼續(xù)執(zhí)行步驟302。步驟307、迭代結(jié)束,輸出匹配關(guān)系對應(yīng)的匹配結(jié)果。其中,最大迭代次數(shù)閾值為交換網(wǎng)預(yù)先設(shè)置的一個數(shù)值,通過該閾值可以控制交換網(wǎng)循環(huán)迭代獲取匹配信息的次數(shù);若迭代次數(shù)與該閾值相等,則結(jié)束迭代;若不相等,則仍需要重新執(zhí)行步驟302直至建立最大匹配關(guān)系為止。通過上述過程,即可建立各輸入端口與各輸出端口之間的匹配關(guān)系,根據(jù)該匹配關(guān)各輸入端口即可將信元調(diào)度到與各輸入端口相匹配的目的輸出端口。為了更清楚的理解圖3所述的方法流程,圖4為圖3所示實施例的輸入端口與輸出端口發(fā)送信息的一個示意圖;在交換網(wǎng)的輸入端存在多個輸入端口,在輸出端存在多個輸出端口,本發(fā)明實施例為描述方便僅以圖4所示的輸入端口和輸出端口分別為4個為例進行說明,但具體數(shù)目并不能構(gòu)成對本發(fā)明實施例的限制。具體地,如圖4所示,每個輸入端口(II、12、13、14)維護兩個準(zhǔn)予向量(Grant Vector),所述兩個準(zhǔn)予向量分別為單播準(zhǔn)予向量和多播準(zhǔn)予向量,其中單播準(zhǔn)予向量用于指示接收到的準(zhǔn)予信息是單播隊列的準(zhǔn)予信息,多播準(zhǔn)予向量用于指示接收到的準(zhǔn)予信息是多播隊列的準(zhǔn)予信息;每個輸出端口(01、02、03、04)維護兩個請求向量(RequestVector),所述兩個請求向量分別為單播請求向量和多播請求向量,單播請求向量用于指示接收到的請求信息是單播隊列的請求 (Request)信息,多播請求用于指示接收到的請求信息是多播隊列的請求(Request)信息。 時間槽指示器標(biāo)識當(dāng)前時間槽的類型,為0時表示單播時間槽,單播時間槽優(yōu)先調(diào)度單播隊列,為1時表示多播時間槽,多播時間槽優(yōu)先調(diào)度多播隊列。當(dāng)然,也可以為1時表示單播時間槽,為0時表示多播時間槽。在開始建立匹配關(guān)系之前,首先獲取各輸入端口的隊列狀態(tài)信息作為請求 (Request)信息;各輸出端口參考反壓信息發(fā)送準(zhǔn)予(Grant)信息,具體地,若輸出端口發(fā)生報文阻塞,則該輸出端口有反壓信號,輸出端口可以參考該反壓信號確定是否需要向發(fā)送請求信息的輸入端口返回準(zhǔn)予信息,如圖4所示,本實施例中的反壓信息可以通過反壓向量實現(xiàn),若該反壓向量在該時間槽內(nèi)為1,表示反壓信息置位,該輸出端口有反壓信號,輸出端口發(fā)生報文阻塞;若該反壓向量在該時間槽內(nèi)為0,表示反壓信息未置位,該輸出端口
8無反壓信號,輸出端口可以向輸入端口返回準(zhǔn)予信息。圖5為本發(fā)明交換設(shè)備一個實施例的結(jié)構(gòu)示意圖,如圖5所示,本發(fā)明實施例包括輸入端口處理模塊51、輸出端口處理模塊52、仲裁模塊53、交叉開關(guān)模塊M。其中,輸入端口處理模塊51向仲裁模塊53發(fā)送來自各輸入端口的請求信息;輸出端口處理模塊52向仲裁模塊53發(fā)送來自各輸出端口的反壓信息;仲裁模塊53根據(jù)所述請求信息和所述反壓信息建立所述各輸入端口與向所述各輸入端口返回準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;交叉開關(guān)模塊M根據(jù)仲裁模塊53建立的匹配關(guān)系將所述各輸入端口的數(shù)據(jù)信元調(diào)度給與所述各輸入端口相匹配的目的輸出端口。本發(fā)明實施例提供的信元交換設(shè)備,由于仲裁模塊53參考了輸入端口處理模塊 51的請求信息和輸出端口處理模塊52的反壓信息建立各輸入端口與向各輸入端口返回準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系,因此發(fā)生報文擁塞的輸出端口不用向發(fā)送請求信息的輸入端口返回流控信息,減少了輸入端口與輸出端口之間傳輸?shù)男畔⒘?,簡化了交換網(wǎng)設(shè)計,提高了交換網(wǎng)的數(shù)據(jù)處理效率。進一步地,在上述圖5所示實施例的基礎(chǔ)上,輸入端口處理模塊51獲取本端口各數(shù)據(jù)輸入隊列首信元的目的輸出端口,并在向目的輸出端口發(fā)送請求信息時,輸入端口處理模塊51還用于根據(jù)各隊列的目的端口過濾表過濾發(fā)生擁塞的目的輸出端口,所述目的端口過濾表用于記錄目的輸出端口是否發(fā)生報文擁塞。進一步地,輸入端口處理模塊51還用于采用扇出分割的方式向建立所述匹配關(guān)系的目的輸出端口發(fā)送多播信元拷貝,并更新多播隊列的首信元的目的端口表,刪除已經(jīng)發(fā)送信元拷貝的目的輸出端口 ;若多播隊列首信元的目的端口表為空,則刪除所述多播隊列的首信元;輸入端口處理模塊51還用于向建立所述匹配關(guān)系的目的輸出端口發(fā)送單播信元拷貝之后,刪除所述單播隊列的首信元。進一步地,輸入端口處理模塊51還用于在信元調(diào)度之后,若檢測到輸入隊列緩沖區(qū)長度超過預(yù)設(shè)閾值,則刪除隊列的首信元,并將殘留的目的輸出端口累加到所述目的端口過濾表中。若檢測到刪除的隊列首信元為報文末信元,輸入端口處理模塊51還用于清空所述隊列的目的端口過濾表;輸入端口處理模塊51還用于維護多個隊列,將接收到的屬于同一報文的信元按照信元在報文中的順序連續(xù)入隊同一個隊列。此外,仲裁模塊53還設(shè)置有時間槽指示器,所述時間槽指示器用于標(biāo)識當(dāng)前時間槽的類型,若所述當(dāng)前時間槽為單播時間槽則優(yōu)先調(diào)度單播數(shù)據(jù),若所述當(dāng)前時間槽為多播時間槽則優(yōu)先調(diào)度多播數(shù)據(jù)。圖6為本發(fā)明交換系統(tǒng)一個實施例的結(jié)構(gòu)示意圖,如圖6所示,本發(fā)明實施例包括上行管理隊列設(shè)備61、交換設(shè)備62、下行管理隊列設(shè)備63。圖6僅示意出了交換系統(tǒng)存在一個交換設(shè)備的情形,圖7為本發(fā)明交換系統(tǒng)又一個實施例的結(jié)構(gòu)示意圖,本實施例還可以包括有多個交換設(shè)備的情形,如圖7所示,包括多個交換設(shè)備,相應(yīng)地存在多個上行管理隊列設(shè)備和多個下行管理隊列設(shè)備,其中,上行管理隊列設(shè)備分別與每個交換設(shè)備中的輸入端口處理模塊連接;下行管理隊列設(shè)備分別與輸出端口處理模塊連接。對于交換系統(tǒng)中包括有一個交換設(shè)備的情形的交換系統(tǒng)架構(gòu),可參見圖5所示實施例的記載。本實施例中,上行管理隊列設(shè)備和下行管理隊列設(shè)備可作為兩個獨立的設(shè)備設(shè)置,也可以集中設(shè)置在一個管理隊列設(shè)備中。如果交換系統(tǒng)中包括有多個交換設(shè)備,為了降低下行管理隊列設(shè)備重組報文的復(fù)雜度,屬于同一報文的不同信元需要在同一交換設(shè)備中進行交換,具體交換流程可參見圖 1 圖3所示實施例的記載,在此不再贅述。圖8為本發(fā)明實施例所適用系統(tǒng)的結(jié)構(gòu)示意圖,如圖8所示,本系統(tǒng)中包含N個線卡(Line Card)81、交換網(wǎng)板卡82。線卡81還可以包括報文處理模塊811、交換網(wǎng)接入管理模塊812 ;交換網(wǎng)接入管理模塊812負(fù)責(zé)維護本地緩存的信元隊列,同時把信元隊列的狀態(tài)報告給交換網(wǎng)板卡82,并根據(jù)交換網(wǎng)板卡82的仲裁結(jié)果,從信元隊列讀取信元提交給交換網(wǎng)板卡82。進一步地,交換網(wǎng)接入管理模塊812檢測本地的信元隊列狀態(tài),并在每個時間槽向交換網(wǎng)報告一次信元隊列狀態(tài)作為請求信息。進一步地,交換網(wǎng)板卡82還可以包括交叉開關(guān)(Crossbar) 821、仲裁器 (Arbiter) 822 ;其中,仲裁器822接收信元隊列狀態(tài)信息并根據(jù)上述圖1 圖3所示實施例的方法流程建立匹配關(guān)系,然后根據(jù)匹配關(guān)系配置交叉開關(guān)821的狀態(tài);交叉開關(guān)821根據(jù)所配置的狀態(tài),將輸入端口的數(shù)據(jù)信元傳送到與之匹配的輸出端口。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
10
權(quán)利要求
1.一種交換網(wǎng)流控實現(xiàn)方法,其特征在于,包括各輸入端口向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息;接收到所述請求信息的目的輸出端口根據(jù)各自的反壓信息確定是否向所述各輸入端口返回準(zhǔn)予信息以建立所述各輸入端口與返回所述準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;根據(jù)所述匹配關(guān)系,所述各輸入端口調(diào)度信元到與所述各輸入端口相匹配的目的輸出端□。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述各輸入端口獲取本端口各數(shù)據(jù)輸入隊列首信元的目的輸出端口,并在向所述目的輸出端口發(fā)送請求信息時,根據(jù)各隊列的目的端口過濾表過濾發(fā)生擁塞的目的輸出端口, 所述目的端口過濾表用于記錄目的輸出端口是否發(fā)生報文擁塞。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述各輸出端口獲取本端口的擁塞狀態(tài),當(dāng)目的輸出端口接收到輸入端口的請求信息之后,發(fā)生擁塞的目的輸出端口不再向任何輸入端口發(fā)送準(zhǔn)予信息。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述各輸入端口采用扇出分割的方式向建立所述匹配關(guān)系的目的輸出端口發(fā)送多播信元拷貝,并更新多播隊列的首信元的目的端口表,刪除已經(jīng)發(fā)送信元拷貝的目的輸出端 Π ;若多播隊列首信元的目的端口表為空,所述各輸入端口刪除所述多播隊列的首信元;所述各輸入端口向建立所述匹配關(guān)系的目的輸出端口發(fā)送單播信元拷貝,刪除所述單播隊列的首信元。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括在信元調(diào)度之后,若所述各輸入端口檢測到輸入隊列緩沖區(qū)長度超過預(yù)設(shè)閾值或者目的端口過濾表非空,則所述各輸入端口刪除隊列的首信元,并將殘留的目的輸出端口累加到所述目的端口過濾表中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括若所述各輸入端口檢測到刪除的隊列的首信元為報文末信元,則清空所述隊列的目的端口過濾表。
7.根據(jù)權(quán)利要求1 6任一所述的方法,其特征在于,還包括若所述各輸入端口維護多個隊列,則將接收到的屬于同一報文的信元按照信元在報文中的順序連續(xù)入隊同一個隊列。
8.一種交換設(shè)備,其特征在于,包括輸入端口處理模塊、輸出端口處理模塊、仲裁模塊、交叉開關(guān)模塊,所述輸入端口處理模塊,用于向所述仲裁模塊發(fā)送來自各輸入端口的請求信息;所述輸出端口處理模塊,用于向所述仲裁模塊發(fā)送來自各輸出端口的反壓信息;所述仲裁模塊,用于根據(jù)所述請求信息和所述反壓信息建立所述各輸入端口與所述目的輸出端口之間的匹配關(guān)系;所述交叉開關(guān)模塊,用于根據(jù)所述匹配關(guān)系將所述各輸入端口的數(shù)據(jù)信元調(diào)度給與所述各輸入端口相匹配的目的輸出端口。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述輸入端口處理模塊還用于獲取本端口各數(shù)據(jù)輸入隊列首信元的目的輸出端口,并在向所述目的輸出端口發(fā)送請求信息時,根據(jù)各隊列的目的端口過濾表過濾發(fā)生擁塞的目的輸出端口,所述目的端口過濾表用于記錄目的輸出端口是否發(fā)生報文擁塞。
10.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述輸入端口處理模塊還用于采用扇出分割的方式向建立所述匹配關(guān)系的目的輸出端口發(fā)送多播信元拷貝,并更新多播隊列的首信元的目的端口表,刪除已經(jīng)發(fā)送信元拷貝的目的輸出端口 ;若多播隊列首信元的目的端口表為空,則刪除所述多播隊列的首信元;所述輸入端口處理模塊還用于向建立所述匹配關(guān)系的目的輸出端口發(fā)送單播信元拷貝之后,刪除所述單播隊列的首信元。
11.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述輸入端口處理模塊還用于在信元調(diào)度之后,若檢測到輸入隊列緩沖區(qū)長度超過預(yù)設(shè)閾值,則刪除隊列的首信元,并將殘留的目的輸出端口累加到所述目的端口過濾表中。
12.根據(jù)權(quán)利要求8 11任一所述的設(shè)備,其特征在于,所述輸入端口處理模塊還用于若檢測到刪除的隊列首信元為報文末信元,則清空所述隊列的目的端口過濾表;若所述輸入端口處理模塊還用于維護多個隊列,將接收到的屬于同一報文的信元按照信元在報文中的順序連續(xù)入隊同一個隊列。
13.一種交換系統(tǒng),包括用于調(diào)度數(shù)據(jù)信元的上行管理隊列設(shè)備和下行管理隊列設(shè)備,其特征在于,還包括至少一個如權(quán)利要求8所述的交換設(shè)備;所述上行管理隊列設(shè)備與所述輸入端口處理模塊連接;所述下行管理隊列設(shè)備與所述輸出端口處理模塊連接。
全文摘要
本發(fā)明實施例涉及一種交換網(wǎng)流控實現(xiàn)方法、交換設(shè)備及系統(tǒng),其中方法包括各輸入端口向沒有發(fā)生報文擁塞的目的輸出端口發(fā)送請求信息;接收到所述請求信息的目的輸出端口根據(jù)各自的反壓信息確定是否向所述各輸入端口返回準(zhǔn)予信息以建立所述各輸入端口與返回所述準(zhǔn)予信息的目的輸出端口之間的匹配關(guān)系;根據(jù)所述匹配關(guān)系,所述各輸入端口調(diào)度信元到與所述各輸入端口相匹配的目的輸出端口。本發(fā)明實施例,減少了輸入端口與輸出端口之間傳輸?shù)男畔⒘?,簡化了交換網(wǎng)設(shè)計,提高了交換網(wǎng)的數(shù)據(jù)處理效率;同時通過過濾擁塞目的端口解決隊列頭阻問題,提高了交換網(wǎng)性能。
文檔編號H04L12/56GK102164067SQ20101011368
公開日2011年8月24日 申請日期2010年2月20日 優(yōu)先權(quán)日2010年2月20日
發(fā)明者孫團會, 宋健, 曹愛娟, 李德豐, 蘇皓 申請人:華為技術(shù)有限公司