專利名稱:報文轉(zhuǎn)發(fā)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及交換網(wǎng)轉(zhuǎn)發(fā)的服務(wù)質(zhì)量領(lǐng)域,尤其涉及一種報文轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù):
在通信領(lǐng)域中,當(dāng)報文發(fā)送的負(fù)載比較輕時,不會產(chǎn)生擁塞,數(shù)據(jù)報文一到達(dá)接口就直接被轉(zhuǎn)發(fā)出去;當(dāng)數(shù)據(jù)報文的發(fā)送速度高于接口的轉(zhuǎn)發(fā)速度時,就會發(fā)生擁塞。為了解決擁塞問題,擁塞管理方法應(yīng)運而生,當(dāng)擁塞發(fā)生時數(shù)據(jù)報文就在接口處排隊,然后等待接口轉(zhuǎn)發(fā)。接口會根據(jù)數(shù)據(jù)的優(yōu)先級別和隊列機制確定哪些數(shù)據(jù)報文放置在哪些隊列里,以及如何調(diào)度并轉(zhuǎn)發(fā)隊列中的報文。VOQ(Virtual Output Queue,虛擬輸出隊列)機制將隊列從接口處移動至交換網(wǎng)的上行,通過板間交換信息的傳遞和調(diào)度器的管理,實現(xiàn)了正常轉(zhuǎn)發(fā)和擁塞調(diào)度。PQ(Priority Queueing,優(yōu)先隊列)算法,是針對關(guān)鍵業(yè)務(wù)型應(yīng)用設(shè)計的。共有四個隊列,按照優(yōu)先級從高到低的順序排列(即高優(yōu)先級隊列,中優(yōu)先級隊列,普通優(yōu)先級隊列和低優(yōu)先級隊列)。在使用時,把分類后的數(shù)據(jù)報文根據(jù)其重要程度分別放置在相應(yīng)的隊列中,在隊列調(diào)度時,嚴(yán)格按照優(yōu)先級從高到低的次序優(yōu)先發(fā)送優(yōu)先級高的隊列中的報文, 這樣,將關(guān)鍵業(yè)務(wù)的報文放入較高優(yōu)先級隊列中,將非關(guān)鍵業(yè)務(wù)(如Internet)的報文放入較低優(yōu)先級的隊列,可以保證關(guān)鍵業(yè)務(wù)的報文被優(yōu)先傳送,非關(guān)鍵業(yè)務(wù)的報文在處理關(guān)鍵業(yè)務(wù)報文的空閑時被傳送。WFQ(Weighted Fair Queueing,加權(quán)公平隊列)是一種基于數(shù)據(jù)流的調(diào)度方式, 它會自動生成數(shù)據(jù)流,并為每個數(shù)據(jù)流分配一個隊列,而隊列的權(quán)重值是根據(jù)IPdnternet ftOtocol,互聯(lián)網(wǎng)協(xié)議)優(yōu)先級值計算的。CBffFQ(Class-Based Weighted Fair Queueing,基于分類的加權(quán)公平隊列)是標(biāo)準(zhǔn)的WFQ功能的擴展,它可以讓用戶自己定義數(shù)據(jù)類,并為每個數(shù)據(jù)類分配一個隊列。一旦數(shù)據(jù)被分類后,就等于生成了隊列,不同類的報文進入不同的隊列中。在CBWFQ中,每個數(shù)據(jù)報文的權(quán)重來自分配給它所在的數(shù)據(jù)類(class)的帶寬值, 因此,分配給每個數(shù)據(jù)類的帶寬決定發(fā)送該類數(shù)據(jù)報文所在隊列的順序。所有的數(shù)據(jù)報文都根據(jù)它的權(quán)重公平的接受服務(wù)(被轉(zhuǎn)發(fā)),沒有哪個數(shù)據(jù)類(隊列)能獲得嚴(yán)格優(yōu)先權(quán)。 對語音數(shù)據(jù)流來說,由于在隊列中需要等待,它使語音數(shù)據(jù)時延和抖動過大,嚴(yán)重影響了語音的清晰度。為了保證這類報文的低時延,目前實現(xiàn)方式都是通過嚴(yán)格優(yōu)先級隊列來保證該類報文被優(yōu)先處理,從而對時延加以保證。LLQ (Low Latency Queuing,低時延的隊列),是CBWFQ的一種變形。通過在CBWFQ 隊列中加入了一個或者幾個優(yōu)先級隊列來實現(xiàn),以保證這些隊列優(yōu)先處理,保證進入這些隊列的報文的較低時延。LLQ調(diào)度時首先檢查低時延隊列,當(dāng)?shù)蜁r延隊列沒有報文時才轉(zhuǎn)向其他非低時延隊列。LLQ可以設(shè)置多個低時延隊列,多個低時延隊列關(guān)系是平等的,用戶可以根據(jù)需要,將不同的業(yè)務(wù)放入到不同的低時延隊列,例如將語音流放入到一個低時延隊列,視頻流放入到另外一個低時延隊列,雖然可以保證兩種業(yè)務(wù)能夠同時得到服務(wù),但是同時使用了兩個隊列,若需要保證低時延的業(yè)務(wù)較多時,則相應(yīng)的低時延隊列會增多,進而導(dǎo)致這些隊列也要進行排隊等待。綜上,傳統(tǒng)的方式下,為了減小時延,在流量分類后,數(shù)據(jù)報文進入相應(yīng)的隊列,再進行優(yōu)先發(fā)送,因此實現(xiàn)時需要在CBWFQ中配置PQ,調(diào)度器需要支持PQ+WFQ同時存在的混合算法,這對調(diào)度的實現(xiàn)提出了較高的要求;此外,為了支持LLQ,還需要將多個WFQ隊列設(shè)置成PQ,業(yè)務(wù)類型較多時可能隊列數(shù)不夠用。
發(fā)明內(nèi)容
本發(fā)明的目的是,提供一種報文轉(zhuǎn)發(fā)方法及裝置,以改進現(xiàn)有報文轉(zhuǎn)發(fā)機制中對于低時延報文的轉(zhuǎn)發(fā)過于復(fù)雜的問題。本發(fā)明提供了一種報文轉(zhuǎn)發(fā)方法,上述方法包括上行報文轉(zhuǎn)發(fā)部分和下行報文轉(zhuǎn)發(fā)部分,上述上行報文轉(zhuǎn)發(fā)部分包括當(dāng)收到上行報文時,判斷上述上行報文是否需要快速轉(zhuǎn)發(fā),若是,則為上述上行報文設(shè)置快速轉(zhuǎn)發(fā)標(biāo)記并轉(zhuǎn)發(fā);上述下行報文轉(zhuǎn)發(fā)部分包括當(dāng)收到下行報文時,判斷上述下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,若是,則將上述下行報文放入低時延緩存中進行轉(zhuǎn)發(fā)。優(yōu)選地,在上述上行報文轉(zhuǎn)發(fā)部分中,當(dāng)判斷出上述上行報文不需要快速轉(zhuǎn)發(fā)時,執(zhí)行如下步驟將上述上行報文放入普通隊列中;按照調(diào)度規(guī)則調(diào)度上述普通隊列;轉(zhuǎn)發(fā)當(dāng)前調(diào)度的普通隊列中的報文。優(yōu)選地,在上述下行報文轉(zhuǎn)發(fā)部分中,當(dāng)判斷出上述下行報文無快速轉(zhuǎn)發(fā)標(biāo)記時,將上述下行報文放入普通緩存中進行轉(zhuǎn)發(fā)。優(yōu)選地,上述下行報文轉(zhuǎn)發(fā)部分還同時循環(huán)執(zhí)行以下操作判斷上述低時延緩存中是否有報文,若是,則轉(zhuǎn)發(fā)上述低時延緩存中的報文;否則,轉(zhuǎn)發(fā)上述普通緩存中的報文。優(yōu)選地,上述低時延緩存和上述普通緩存為FIFO (First Input First Output,先入先出)緩存。本發(fā)明進一步提供了一種報文轉(zhuǎn)發(fā)裝置,包括判斷模塊、標(biāo)記模塊、轉(zhuǎn)發(fā)模塊以及低時延緩存模塊,上述判斷模塊,用于判斷收到的上行報文是否需要快速轉(zhuǎn)發(fā),并將需要快速轉(zhuǎn)發(fā)的上行報文發(fā)送給上述標(biāo)記模塊;或者用于判斷收到的下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,并將有快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入上述低時延緩存模塊中;上述標(biāo)記模塊,用于為收到的上行報文添加快速轉(zhuǎn)發(fā)標(biāo)記,并發(fā)送給上述轉(zhuǎn)發(fā)模塊;上述轉(zhuǎn)發(fā)模塊,用于轉(zhuǎn)發(fā)收到的上行報文;上述低時延緩存模塊,用于緩存收到的下行報文。優(yōu)選地,上述裝置還包括普通緩存模塊以及隊列模塊上述判斷模塊,還用于將不需要快速轉(zhuǎn)發(fā)的上行報文放入普通隊列中,以及將無快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入上述普通緩存模塊中;上述普通緩存模塊,用于緩存收到的下行報文;上述隊列模塊,用于存儲上述普通隊列。優(yōu)選地,上述裝置還包括調(diào)度模塊,用于調(diào)度上述隊列模塊中的普通隊列。優(yōu)選地,上述判斷模塊,還用于循環(huán)判斷上述低時延緩存模塊中是否有報文,并在上述低時延緩存模塊中有報文時,通過上述轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)上述報文,在上述低時延緩存模塊中無報文時,通過上述轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)上述普通緩存模塊中的報文;上述轉(zhuǎn)發(fā)模塊,還用于轉(zhuǎn)發(fā)上述低時延緩存模塊和上述普通緩存模塊中的報文。本發(fā)明通過對需要快速轉(zhuǎn)發(fā)的業(yè)務(wù)類型的報文添加快速轉(zhuǎn)發(fā)標(biāo)記的方法,使該報文在上行方向上不需要調(diào)度而直接進行轉(zhuǎn)發(fā),在下行方向上則進入低時延緩存進行轉(zhuǎn)發(fā)。 本發(fā)明在上行方向上減少了隊列的個數(shù);減少了低時延報文的時延。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是本發(fā)明報文轉(zhuǎn)發(fā)方法中的上行報文轉(zhuǎn)發(fā)部分優(yōu)選實施例的流程圖;圖2是本發(fā)明報文轉(zhuǎn)發(fā)方法中的下行報文轉(zhuǎn)發(fā)部分優(yōu)選實施例的流程圖;圖3是本發(fā)明下行調(diào)度流程的優(yōu)選實施例的流程圖;圖4是本發(fā)明報文轉(zhuǎn)發(fā)裝置優(yōu)選實施例的原理框圖。
具體實施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示,是本發(fā)明報文轉(zhuǎn)發(fā)方法中的上行報文轉(zhuǎn)發(fā)部分的流程圖;本實施例包括以下步驟步驟SOOl 收到上行報文;步驟S002 判斷上述上行報文是否需要快速轉(zhuǎn)發(fā),若是,則執(zhí)行步驟S003 ;否則, 執(zhí)行步驟S005 ;
步驟S003 為上述上行報文設(shè)置快速轉(zhuǎn)發(fā)標(biāo)記;步驟S004 直接轉(zhuǎn)發(fā)上述上行報文,結(jié)束;步驟S005 將上述上行報文放入普通隊列中;本發(fā)明中,普通隊列不止一個,可以根據(jù)業(yè)務(wù)需要,設(shè)置多個。步驟S006 按照調(diào)度規(guī)則調(diào)度上述普通隊列;步驟S007 轉(zhuǎn)發(fā)當(dāng)前調(diào)度的普通隊列中的報文。如圖2所示,是本發(fā)明報文轉(zhuǎn)發(fā)方法中的下行報文轉(zhuǎn)發(fā)部分的流程圖;本實施例包括以下步驟步驟SlOl 收到下行報文;步驟S102 判斷上述下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,若是,則執(zhí)行步驟S103 ;否則,執(zhí)行步驟S104;步驟S103 將上述下行報文放入低時延緩存中進行轉(zhuǎn)發(fā);步驟S104 將上述下行報文放入普通緩存中進行轉(zhuǎn)發(fā);下行報文轉(zhuǎn)發(fā)部分還同時執(zhí)行以下流程,如圖3所示,是本發(fā)明下行調(diào)度流程圖, 本實施例包括以下步驟步驟S301 判斷低時延緩存中是否有報文,若是,則執(zhí)行步驟S302 ;否則,執(zhí)行步驟 S303 ;步驟S302 轉(zhuǎn)發(fā)上述低時延緩存中的報文;步驟S303 轉(zhuǎn)發(fā)上述普通緩存中的報文。本發(fā)明中,低時延緩存和普通緩存為FIFO緩存。如圖4所示,是本發(fā)明報文轉(zhuǎn)發(fā)裝置的原理框圖,本實施例包括判斷模塊01、標(biāo)記模塊02、隊列模塊03、低時延緩存模塊04、普通緩存模塊05、轉(zhuǎn)發(fā)模塊06以及調(diào)度模塊07, 其中,判斷模塊01,用于判斷收到的上行報文是否需要快速轉(zhuǎn)發(fā),并將需要快速轉(zhuǎn)發(fā)的上行報文發(fā)送給標(biāo)記模塊02,將不需要快速轉(zhuǎn)發(fā)的上行報文放入隊列模塊03的普通隊列中;或者用于判斷收到的下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,并將有快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入低時延緩存模塊04中,將無快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入普通緩存模塊05中;還用于循環(huán)判斷低時延緩存模塊04中是否有報文,并在低時延緩存模塊04中有報文時,通過轉(zhuǎn)發(fā)模塊06轉(zhuǎn)發(fā)上述報文,在低時延緩存模塊04中無報文時,通過轉(zhuǎn)發(fā)模塊06轉(zhuǎn)發(fā)普通緩存模塊05中的報文;標(biāo)記模塊02,用于為收到的上行報文添加快速轉(zhuǎn)發(fā)標(biāo)記,并發(fā)送給轉(zhuǎn)發(fā)模塊04 ;隊列模塊03,用于存儲普通隊列;低時延緩存模塊04,用于緩存有快速轉(zhuǎn)發(fā)標(biāo)記的下行報文;普通緩存模塊05,用于緩存無快速轉(zhuǎn)發(fā)標(biāo)記的下行報文;轉(zhuǎn)發(fā)模塊06,用于轉(zhuǎn)發(fā)收到的具有快速轉(zhuǎn)發(fā)標(biāo)記的上行報文,以及轉(zhuǎn)發(fā)當(dāng)前調(diào)度的普通隊列中的上行報文;以及轉(zhuǎn)發(fā)低時延緩存模塊04和普通緩存模塊05中的下行報文。調(diào)度模塊07,用于調(diào)度隊列模塊03中的普通隊列。上述說明示出并描述了本發(fā)明的優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。
權(quán)利要求
1.一種報文轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括上行報文轉(zhuǎn)發(fā)部分和下行報文轉(zhuǎn)發(fā)部分,所述上行報文轉(zhuǎn)發(fā)部分包括當(dāng)收到上行報文時,判斷所述上行報文是否需要快速轉(zhuǎn)發(fā),若是,則為所述上行報文設(shè)置快速轉(zhuǎn)發(fā)標(biāo)記并轉(zhuǎn)發(fā);所述下行報文轉(zhuǎn)發(fā)部分包括當(dāng)收到下行報文時,判斷所述下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,若是,則將所述下行報文放入低時延緩存中進行轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述上行報文轉(zhuǎn)發(fā)部分中,當(dāng)判斷出所述上行報文不需要快速轉(zhuǎn)發(fā)時,執(zhí)行如下步驟將所述上行報文放入普通隊列中; 按照調(diào)度規(guī)則調(diào)度所述普通隊列; 轉(zhuǎn)發(fā)當(dāng)前調(diào)度的普通隊列中的報文。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述下行報文轉(zhuǎn)發(fā)部分中,當(dāng)判斷出所述下行報文無快速轉(zhuǎn)發(fā)標(biāo)記時,將所述下行報文放入普通緩存中進行轉(zhuǎn)發(fā)。
4.根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述下行報文轉(zhuǎn)發(fā)部分還同時循環(huán)執(zhí)行以下操作判斷所述低時延緩存中是否有報文,若是,則轉(zhuǎn)發(fā)所述低時延緩存中的報文;否則,轉(zhuǎn)發(fā)所述普通緩存中的報文。
5.根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述低時延緩存和所述普通緩存為先入先出FIFO緩存。
6.一種報文轉(zhuǎn)發(fā)裝置,其特征在于,包括判斷模塊、標(biāo)記模塊、轉(zhuǎn)發(fā)模塊以及低時延緩存模塊,所述判斷模塊,用于判斷收到的上行報文是否需要快速轉(zhuǎn)發(fā),并將需要快速轉(zhuǎn)發(fā)的上行報文發(fā)送給所述標(biāo)記模塊;或者用于判斷收到的下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,并將有快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入所述低時延緩存模塊中;所述標(biāo)記模塊,用于為收到的上行報文添加快速轉(zhuǎn)發(fā)標(biāo)記,并發(fā)送給所述轉(zhuǎn)發(fā)模塊; 所述轉(zhuǎn)發(fā)模塊,用于轉(zhuǎn)發(fā)收到的上行報文; 所述低時延緩存模塊,用于緩存收到的下行報文。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括普通緩存模塊以及隊列模塊所述判斷模塊,還用于將不需要快速轉(zhuǎn)發(fā)的上行報文放入普通隊列中,以及將無快速轉(zhuǎn)發(fā)標(biāo)記的下行報文放入所述普通緩存模塊中; 所述普通緩存模塊,用于緩存收到的下行報文; 所述隊列模塊,用于存儲所述普通隊列。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括調(diào)度模塊,用于調(diào)度所述隊列模塊中的普通隊列。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述判斷模塊,還用于循環(huán)判斷所述低時延緩存模塊中是否有報文,并在所述低時延緩存模塊中有報文時,通過所述轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)所述報文,在所述低時延緩存模塊中無報文時,通過所述轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)所述普通緩存模塊中的報文;所述轉(zhuǎn)發(fā)模塊,還用于轉(zhuǎn)發(fā)所述低時延緩存模塊和所述普通緩存模塊中的報文。
全文摘要
本發(fā)明涉及一種報文轉(zhuǎn)發(fā)方法及裝置,上述方法在收到上行報文時,判斷上述上行報文是否需要快速轉(zhuǎn)發(fā),若是,則為上述上行報文設(shè)置快速轉(zhuǎn)發(fā)標(biāo)記并轉(zhuǎn)發(fā),在收到下行報文時,判斷上述下行報文是否有快速轉(zhuǎn)發(fā)標(biāo)記,若是,則將上述下行報文放入低時延緩存中進行轉(zhuǎn)發(fā);上述裝置包括判斷模塊、標(biāo)記模塊、轉(zhuǎn)發(fā)模塊以及低時延緩存模塊。本發(fā)明實現(xiàn)簡單,減小了需要快速轉(zhuǎn)發(fā)的報文的時延。
文檔編號H04L12/56GK102333026SQ20111015769
公開日2012年1月25日 申請日期2011年6月13日 優(yōu)先權(quán)日2011年6月13日
發(fā)明者陳曉 申請人:中興通訊股份有限公司