本發(fā)明涉及通信領(lǐng)域,尤其涉及一種單組播流量調(diào)度管理的方法及裝置。
背景技術(shù):
本申請發(fā)明人在實現(xiàn)本申請實施例技術(shù)方案的過程中,至少發(fā)現(xiàn)相關(guān)技術(shù)中存在如下技術(shù)問題:
持續(xù)增長的因特網(wǎng)業(yè)務(wù),讓數(shù)據(jù)通信領(lǐng)域?qū)?shù)據(jù)產(chǎn)品的服務(wù)質(zhì)量(QoS)性能的要求越來越高。對于流量管理芯片來說,在擁塞情況下不僅要保證流量的正確性,還要保證單組播流量之間比例的準確性。
在流量管理芯片的實際應(yīng)用中,單播一般是下行控制,受下行處理能力的影響,常采用一種“拉”的機制來控制單播流量;而組播一般是上行控制,受交換網(wǎng)和下行的影響,采用一種“推”的機制來控制組播流量,其中,這里下行為報文流量的接收方,上行為報文流量的發(fā)送方。在單組播發(fā)升擁塞流量的情況下,單播下行會將令牌信息給上行,從而來控制上行的單播的出隊,在這過程中,令牌傳遞經(jīng)過交換網(wǎng)需要時間,因此不能及時性傳遞給上行,這樣會造成單播流量不均衡的到達下行;而組播是采用“推”的機制控制下行組播流量的出隊,在不知下行處理能力的情況下讓報文出隊會引起下行的擁塞,下行感知到擁塞后,若經(jīng)過交換網(wǎng)反饋給上行后,是不及時的。在這種情況下,單組播的擁塞會相互影響,在進行按比例調(diào)度時,會造成比例的不準確性。
在單組播擁塞情況下,不僅要保證輸出能力的正確性,還要保證單組播之間比例的準確性。為了滿足此需求,最常用的方法是對于單組播進行優(yōu)先級和權(quán)重分配的輸出,這樣從一定角度來看能保證優(yōu)先級也能保證一定的比例,但這種方法在組播流量超過出口的處理能力,且單播流量不穩(wěn)定的情況下,很難 保證單組播之間的流量和比例。存在此問題的原因是單組播之間的流量缺乏統(tǒng)一的控制。
基于以上分析,如何在擁塞情況下保證Qos的正確性,在現(xiàn)有技術(shù)中缺乏相應(yīng)的解決機制。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例希望提供一種單組播流量調(diào)度管理的方法及裝置,至少解決了現(xiàn)有技術(shù)存在的問題,能夠在擁塞情況下保證Qos的正確性。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供一種單組播流量調(diào)度管理的方法,所述方法包括:
接收到報文后,根據(jù)所述報文的報文頭中攜帶的報文類型對所述報文進行分隊列緩存;其中,所述報文類型包括單播報文和組播報文;將緩存的組播報文經(jīng)過組播調(diào)度處理后生成調(diào)度組播報文;將所述調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度。
進一步地,根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為所述單播報文和所述組播報文分配令牌;采用為所述組播報文分配的令牌對所述緩存的組播報文進行所述組播調(diào)度處理生成調(diào)度組播報文。
進一步地,所述根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為所述單播報文和所述組播報文分配令牌包括:統(tǒng)計緩存的單播報文的數(shù)量和組播報文的數(shù)量;將所述單播報文的數(shù)量和所述組播報文的數(shù)量的總和與預(yù)設(shè)的反壓門限進行比較,根據(jù)所述比較結(jié)果確定反壓指示;根據(jù)所述反壓指示調(diào)整令牌的下發(fā)周期,并根據(jù)調(diào)整后得到的下發(fā)周期下發(fā)令牌;按照預(yù)設(shè)的權(quán)重分配比例將下發(fā)的所述令牌分配給所述單播報文和所述組播報文。
進一步地,根據(jù)所述反壓指示調(diào)整令牌的下發(fā)周期包括:當(dāng)所述根據(jù)所述反壓指示表示所述單播報文的數(shù)量和所述組播報文的數(shù)量的總大于所述預(yù)設(shè)的反壓門限時,統(tǒng)計出列的單播報文和組播報文的令牌的數(shù)目;根據(jù)所述出列的單播報文和組播報文的令牌的數(shù)目調(diào)整令牌的下發(fā)周期。
進一步地,采用為所述組播報文分配的令牌對所述緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文包括:將分配給高優(yōu)先級的組播報文的令牌的盈余數(shù)量與令牌盈余反壓門限進行比較,根據(jù)比較結(jié)果為組播高優(yōu)先級報文和低優(yōu)先級組播報文分配令牌;具有令牌的組播報文為調(diào)度組播報文。
進一步地,采用為所述組播報文分配的令牌對所述緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文還包括:將高/低優(yōu)先級隊列的令牌的盈余數(shù)量和對應(yīng)優(yōu)先級隊列的第一個報文的長度進行比較,當(dāng)高/低優(yōu)先級隊列的令牌的盈余數(shù)量大于等于對應(yīng)優(yōu)先級隊列的第一個報文的長度,則所述第一個報文完成組播調(diào)度成為調(diào)度高/低優(yōu)先級組播報文。
進一步地,所述調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度包括:對于高優(yōu)先級單播報文和低優(yōu)先級單播報文,先調(diào)度高優(yōu)先級單播報文出列,再調(diào)度低優(yōu)先級單播報文出列;對于高優(yōu)先級調(diào)度組播報文和低優(yōu)先級調(diào)度組播報文,先調(diào)度高優(yōu)先級調(diào)度組播報文出列,再調(diào)度低優(yōu)先級調(diào)度組播報文出列;對于同一優(yōu)先級的單播報文和調(diào)度組播報文,根據(jù)預(yù)設(shè)的權(quán)重分配進行調(diào)度,之后按照先調(diào)度高優(yōu)先級再調(diào)度低優(yōu)先級進行出列。
本發(fā)明實施例還提供一種單組播流量調(diào)度管理的裝置,所述裝置包括:緩存模塊、組播調(diào)度模塊、出列模塊,其中,所述緩存模塊,用于接收到報文后,根據(jù)所述報文的報文頭中攜帶的報文類型對所述報文進行分隊列緩存;其中,所述報文類型包括單播報文和組播報文;所述組播調(diào)度模塊,用于將緩存的組播報文經(jīng)過組播調(diào)度處理后生成調(diào)度組播報文;所述出列模塊,將所述調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度。
進一步地,所述裝置還包括:令牌分發(fā)模塊,用于根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為所述單播報文和所述組播報文分配令牌;相應(yīng)的,所述組播調(diào)度模塊,用于采用為所述組播報文分配的令牌對所述緩存的組播報文進行所述組播調(diào)度處理生成調(diào)度組播報文。
進一步地,所述令牌分發(fā)模塊具體用于,統(tǒng)計緩存的單播報文的數(shù)量和組 播報文的數(shù)量;將所述單播報文的數(shù)量和所述組播報文的數(shù)量的總和與預(yù)設(shè)的反壓門限進行比較,根據(jù)所述比較結(jié)果確定反壓指示;根據(jù)所述反壓指示調(diào)整令牌的下發(fā)周期,并根據(jù)調(diào)整后得到的下發(fā)周期下發(fā)令牌;按照預(yù)設(shè)的權(quán)重分配比例將下發(fā)的所述令牌分配給所述單播報文和所述組播報文。
進一步地,所述令牌分發(fā)模塊具體還用于:當(dāng)所述根據(jù)所述反壓指示表示所述單播報文的數(shù)量和所述組播報文的數(shù)量的總大于所述預(yù)設(shè)的反壓門限時,統(tǒng)計出列的單播報文和組播報文的令牌的數(shù)目;根據(jù)所述出列的單播報文和組播報文的令牌的數(shù)目調(diào)整令牌的下發(fā)周期。
進一步地,所述組播調(diào)度模塊具體用于,將分配給高優(yōu)先級的組播報文的令牌的盈余數(shù)量與令牌盈余反壓門限進行比較,根據(jù)比較結(jié)果為組播高優(yōu)先級報文和低優(yōu)先級組播報文分配令牌;具有令牌的組播報文為調(diào)度組播報文。
進一步地,所述組播調(diào)度模塊還用于,將高/低優(yōu)先級隊列的令牌的數(shù)量和對應(yīng)優(yōu)先級隊列的第一個報文的長度進行比較,當(dāng)高/低優(yōu)先級隊列的令牌的數(shù)量大于等于對應(yīng)優(yōu)先級隊列的第一個報文的長度,則所述第一個報文完成組播調(diào)度成為調(diào)度高/低優(yōu)先級組播報文。
進一步地,所述出列模塊具體用于,對于高優(yōu)先級單播報文和低優(yōu)先級單播報文,先調(diào)度高優(yōu)先級單播報文出列,再調(diào)度低優(yōu)先級單播報文出列;對于高優(yōu)先級調(diào)度組播報文和低優(yōu)先級調(diào)度組播報文,先調(diào)度高優(yōu)先級調(diào)度組播報文出列,再調(diào)度低優(yōu)先級調(diào)度組播報文出列;對于同一優(yōu)先級的單播報文和調(diào)度組播報文,根據(jù)預(yù)設(shè)的權(quán)重分配進行調(diào)度,之后按照先調(diào)度高優(yōu)先級再調(diào)度低優(yōu)先級進行出列。
本發(fā)明實施例的一種單組播流量調(diào)度管理的方法,接收到報文后,根據(jù)所述報文的報文頭中攜帶的報文類型對所述報文進行分隊列緩存;其中,所述報文類型包括單播報文和組播報文;將緩存的組播報文經(jīng)過組播調(diào)度處理后生成調(diào)度組播報文;將所述調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度。采用本發(fā)明實施例,至少解決了現(xiàn)有技術(shù)存在的問題,能夠在組播業(yè)務(wù)日益增加的情況下,保證組播和單播相互不影響,保證單組播 流量在不同的擁塞場景下智能的實現(xiàn)流量全局控制,按比例分配,從而在擁塞情況下保證Qos的正確性。
附圖說明
圖1為本發(fā)明實施例一提供的單組播流量調(diào)度管理的方法的流程示意圖;
圖2為本發(fā)明實施例二提供的數(shù)據(jù)處理流程示意圖;
圖3為本發(fā)明實施例三提供的分發(fā)令牌的流程示意圖;
圖4為本發(fā)明實施例四提供的組播調(diào)度的流程示意圖;
圖5為本發(fā)明實施例五提供的單組播流量調(diào)度管理的裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例六提供的單組播流量進行調(diào)度管理的系統(tǒng)示意圖。
具體實施方式
下面結(jié)合附圖對技術(shù)方案的實施作進一步的詳細描述。
實施例一
本發(fā)明實施例一提供一種單組播調(diào)度的方法,如圖1所示,該方法包括:
S101:接收到報文后,根據(jù)所述報文的報文頭中攜帶的報文類型對所述報文進行分隊列緩存;其中,所述報文類型包括單播報文和組播報文;
具體的,下行(數(shù)據(jù)接收方)通過交換網(wǎng)接收到上行(數(shù)據(jù)發(fā)送方)發(fā)送的報文數(shù)據(jù)后,先判斷報文的報文頭中攜帶的表示報文類型的標記,這里,報文頭中攜帶的報文類型包括單播報文和組播報文,并根據(jù)報文的報文類型將報文進行分隊列緩存,將單播報文保存在單播隊列中,將組播報文保存在組播隊列中。
這里,在將單播報文保存在單播隊列中時,可根據(jù)單播報文之間的優(yōu)先級將單播報文進行優(yōu)先級緩存,即將高優(yōu)先級單播報文緩存在單播高優(yōu)先級隊列中,將低優(yōu)先級單播報文緩存在單播低優(yōu)先級隊列中,使單播報文根據(jù)優(yōu)先級進入相應(yīng)的單播優(yōu)先級隊列。
對于組播報文,可根據(jù)組播報文之間的優(yōu)先級將組播報文進行優(yōu)先級緩存, 即將組播高優(yōu)先級報文緩存在組播高優(yōu)先級隊列中,將低優(yōu)先級組播報文緩存在組播低優(yōu)先級隊列中,使組播報文根據(jù)優(yōu)先級進入相應(yīng)的組播優(yōu)先級隊列。
S102:將緩存的組播報文經(jīng)過組播調(diào)度處理后生成調(diào)度組播報文;
在接收到報文后,根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為單播報文和組播報文分配令牌;采用為組播報文分配的令牌對緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文。
根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為單播報文和組播報文分配令牌具體包括:統(tǒng)計緩存的單播報文的數(shù)量和組播報文的數(shù)量;將單播報文的數(shù)量和組播報文的數(shù)量的總和與預(yù)設(shè)的反壓門限進行比較,根據(jù)比較結(jié)果確定反壓指示;根據(jù)反壓指示調(diào)整令牌的下發(fā)周期,并根據(jù)調(diào)整后的下發(fā)周期下發(fā)令牌;按照預(yù)設(shè)的權(quán)重分配比例將下發(fā)的令牌分配給單播報文和所述組播報文。這里,可周期性的將單播報文的數(shù)量和組播報文的數(shù)量的總和與預(yù)設(shè)的反壓門限進行比較,當(dāng)報文入隊和出隊時,單播報文的數(shù)量和組播報文的數(shù)量的總和發(fā)生變化,則更新一次單播報文的數(shù)量和組播報文的數(shù)量的總和,將該總和與預(yù)設(shè)的反壓門限比較一次。
這里,根據(jù)所述反壓指示調(diào)整令牌的下發(fā)周期包括:當(dāng)所述根據(jù)所述反壓指示表示所述單播報文的數(shù)量和所述組播報文的數(shù)量的總大于所述預(yù)設(shè)的反壓門限時,統(tǒng)計出列的單播報文和組播報文的令牌的數(shù)目;根據(jù)所述出列的單播報文和組播報文的令牌的數(shù)目調(diào)整令牌的下發(fā)周期。為單播報文和組播報文分配令牌時,可根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量以及出列調(diào)度處的報文出隊情況分配令牌,具體的,單播報文的數(shù)量和所述組播報文的數(shù)量的總大于所述預(yù)設(shè)的反壓門限(反壓指示可為1),即根據(jù)單播報文的數(shù)量和組播報文的數(shù)量的總和確定反壓指示為1時,根據(jù)出隊反饋的令牌信息調(diào)整周期,即:出列模塊反饋一個令牌信息過來,就下發(fā)一次令牌。令牌分發(fā)模塊反饋令牌信息的流程:出列調(diào)度將出隊的報文長度與令牌大小進行比較,當(dāng)出隊的報文長度的大小不足一個令牌的大小時,就將該報文長度記錄下來等后續(xù)報文來到夠一個令牌后再進行反饋,具體反饋是:當(dāng)大于等于1個令牌數(shù)目的時候,將每 個令牌按照系統(tǒng)周期(系統(tǒng)頻率)的間隔傳遞給令牌分發(fā)模塊。
在實際使用中,單播報文的數(shù)量和所述組播報文的數(shù)量的總小于等于所述預(yù)設(shè)的反壓門限(反壓指示可為0),即根據(jù)單播報文的數(shù)量和組播報文的數(shù)量的總和確定反壓指示為0時,采用下發(fā)周期為傳統(tǒng)的下發(fā)周期。當(dāng)反壓指示為1,調(diào)整的下發(fā)周期也可根據(jù)處理芯片的處理能力預(yù)先設(shè)置,這里預(yù)先設(shè)置的下發(fā)周期同反壓指示為0時下發(fā)周期不同。
根據(jù)所述反壓指示和出隊調(diào)度反饋的令牌大小一起配合調(diào)整令牌的下發(fā)周期,根據(jù)調(diào)整后的下發(fā)周期結(jié)合預(yù)設(shè)的權(quán)重分配比例將下發(fā)的令牌分配給單播報文和組播報文。
在實際應(yīng)用中,每個周期下發(fā)的令牌的數(shù)量和單播報文和組播報文的數(shù)量有關(guān)系,當(dāng)令牌總數(shù)量查過一定的報文數(shù)量后,就不再下發(fā)令牌,對于是否下發(fā)的令牌的狀態(tài)變化過程,為現(xiàn)有技術(shù),本方案對此不在贅述。
這里,將組播調(diào)度之前的組播報文保存在組播前級隊列中,將組播調(diào)度之后的調(diào)度組播報文保存在組播后級隊列中,組播前級隊列中的報文只有經(jīng)過調(diào)度組播后才能進入組播后級隊列中。這里,組播高優(yōu)先級報文緩存在組播高優(yōu)先級前級隊列中,低優(yōu)先級組播報文緩存在組播低優(yōu)先級前級隊列中,高優(yōu)先級調(diào)度組播報文緩存在組播高優(yōu)先級后級隊列中,低優(yōu)先級調(diào)度組播報文緩存在組播低優(yōu)先級后級隊列中。其中,在統(tǒng)計緩存的單播報文的數(shù)量和組播報文的數(shù)量時,對于組播報文,統(tǒng)計組播調(diào)度前的組播報文的數(shù)量,即統(tǒng)計單播高優(yōu)先級隊列、單播低優(yōu)先級隊列、組播高優(yōu)先級前級隊列和組播低優(yōu)先級前級隊列中的報文。
采用為組播報文分配的令牌對緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文包括:將分配給高優(yōu)先級的組播報文的令牌的盈余數(shù)量與令牌盈余反壓門限進行比較,根據(jù)比較結(jié)果為組播高優(yōu)先級報文和低優(yōu)先級組播報文分配令牌;具有令牌的組播報文為調(diào)度組播報文。若組播高優(yōu)先級前級隊列中有報文且有令牌,則將組播高優(yōu)先級報文放入組播高優(yōu)先級后級隊列,否則繼續(xù)暫存于組播高優(yōu)先級前級隊列;若組播低優(yōu)先級前級隊列有報文且有令牌,則將 報文放入組播低優(yōu)先級后級隊列,否則繼續(xù)暫存于組播低優(yōu)先級前級隊列中。其中,前級隊列中有報文則表示存在能夠出隊的報文,但該報文能不能從前級隊列出隊受令牌的控制,因此,通過對組播前級隊列中是否有報文與有令牌(令牌的盈余數(shù)量)的判定達到限速的目的,以限制報文通過后給組播后級隊列造成擁堵,影響Qos效果,即單組播權(quán)重比例的不正確性。
采用為組播報文分配的令牌對緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文還包括:將高/低優(yōu)先級隊列的令牌的盈余數(shù)量和對應(yīng)優(yōu)先級隊列的第一個報文的長度進行比較,當(dāng)高/低優(yōu)先級隊列的令牌的盈余數(shù)量大于等于對應(yīng)優(yōu)先級隊列的第一個報文的長度,則所述第一個報文完成組播調(diào)度成為調(diào)度高/低優(yōu)先級組播報文。這里,當(dāng)高優(yōu)先級隊列的令牌的盈余數(shù)量增加時,針對高優(yōu)先級隊列的令牌的進行比較,當(dāng)?shù)蛢?yōu)先級隊列的令牌的盈余數(shù)量增加時,針對低優(yōu)先級隊列的令牌的進行比較。
這里,令牌的盈余數(shù)量是當(dāng)前的令牌數(shù)量,即下發(fā)令牌的令牌盈余數(shù)量增加,當(dāng)組播根據(jù)令牌調(diào)度出隊的時候,令牌盈余數(shù)量減。
S103:將調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度。
具體的,對于高優(yōu)先級單播報文和低優(yōu)先級單播報文,先調(diào)度高優(yōu)先級單播報文出列,再調(diào)度低優(yōu)先級單播報文出列;對于高優(yōu)先級調(diào)度組播報文和低優(yōu)先級調(diào)度組播報文,先調(diào)度高優(yōu)先級調(diào)度組播報文出列,再調(diào)度低優(yōu)先級調(diào)度組播報文出列;對于同一優(yōu)先級的單播報文和調(diào)度組播報文,根據(jù)預(yù)設(shè)的權(quán)重分配進行調(diào)度,之后按照先調(diào)度高優(yōu)先級再調(diào)度低優(yōu)先級進行出列。若單播高優(yōu)先級隊列和單播低優(yōu)先級隊列都不空的話,先調(diào)度單播高優(yōu)先級隊列的報文,再單播低優(yōu)先級隊列的報文;若組播高優(yōu)先級后級隊列和組播低優(yōu)先級后級隊列都不空的話,先調(diào)度組播高優(yōu)先級后級隊列的報文,再調(diào)度組播低優(yōu)先級后級隊列的報文。若單播和組播調(diào)度出來的結(jié)果都是高優(yōu)先級或都是低優(yōu)先級的報文,則同一個優(yōu)先級按照配置的權(quán)重分配比例再進行調(diào)度;若單組播調(diào)度的結(jié)果是不同優(yōu)先級,一個高優(yōu)先級一個低優(yōu)先級,則繼續(xù)按照高優(yōu)先級優(yōu) 先調(diào)度的原則進行出隊。同時將出隊的報文長度以令牌大小為單位計算出令牌數(shù)目,不足一個等下一個報文出隊再一起計算,將令牌數(shù)目反饋給令牌分發(fā)模塊。
本發(fā)明實施例一提供單組播流量調(diào)度管理的方法是一種對單組播流量統(tǒng)一管理的方法,能有效的在網(wǎng)絡(luò)擁塞的情況下,實現(xiàn)單組播流量比例的正確性。在實施例一的單組播流量調(diào)度管理的方法可描述為數(shù)據(jù)處理流程和令牌發(fā)放流程。通過統(tǒng)計隊列緩存的深度形成反壓信息以及出隊調(diào)度報文長度情況得到令牌反饋信息,將兩者反饋給令牌分配模塊一起控制令牌的下發(fā),來實現(xiàn)單組播流量的統(tǒng)一管理。
實施例二
如圖2所示,實施例二提供了一種單組播流量調(diào)度管理中數(shù)據(jù)處理方法,包括:
S201:配設(shè)預(yù)設(shè)參數(shù);
這里,配置的參數(shù)包括:反壓門限、權(quán)重分配比例、令牌盈余反壓門限,其中反壓門限可根據(jù)調(diào)度報文路徑上的時延情況進行設(shè)置,從而要保證報文不出空;令牌下發(fā)時對于單播和組播報文的分配比例和出隊時的權(quán)重分配比例保持一致;只需要設(shè)置單播報文的數(shù)量和組播報文的數(shù)量的總和小于預(yù)設(shè)的反壓門限(反壓指示可為0,表示反壓無效)時的令牌下發(fā)周期,單播報文的數(shù)量和組播報文的數(shù)量的總和大于等于預(yù)設(shè)的反壓門限(反壓指示可為1,表示反壓有效)時的令牌下發(fā)周期。
這里,可默認初始的令牌下發(fā)周期為反壓指示為0時的下發(fā)周期。
S202:進行報文類型的判斷;若是單播進入步驟S203,若是組播進入步驟S204。
S203:根據(jù)報文優(yōu)先級進入單播相應(yīng)的單播優(yōu)先級隊列;
判斷單播報文的優(yōu)先級;若是低優(yōu)先級,進入單播低優(yōu)先級隊列;若是高優(yōu)先級,進入單播高優(yōu)先級隊列。
S204:根據(jù)報文優(yōu)先級進入組播相應(yīng)的組播優(yōu)先級隊列;
判斷組播報文的優(yōu)先級,若是低優(yōu)先級,進入組播低優(yōu)先級前級隊列;若是高優(yōu)先級進入組播高優(yōu)先級前級隊列,進入步驟205。
S205:組播調(diào)度處理;
對組播高低優(yōu)先級前級隊列中的組播報文進行組播調(diào)度生成調(diào)度組播報文,具體組播調(diào)度處理過程見圖4的流程圖。
S206:進入相應(yīng)的組播優(yōu)先級后級隊列;
將調(diào)度出來的調(diào)度組播報文放入組播后級隊列。這里,組播高優(yōu)先級前級隊列中的組播高優(yōu)先級報文調(diào)度后進入組播高優(yōu)先級后級隊列,組播低優(yōu)先級前級隊列中的組播高優(yōu)先級報文調(diào)度后進入組播低優(yōu)先級后級隊列。
S207:根據(jù)優(yōu)先級和權(quán)重對報文進行調(diào)度出列;
根據(jù)優(yōu)先級和權(quán)重分配比例對單播高低優(yōu)先級隊列和組播高低優(yōu)先級后級隊列進行調(diào)度,將調(diào)度出來的報文出列,權(quán)重分配比例在S201配置。
實施例三
如圖3所示,實施例三提供的單組播流量調(diào)度管理中的令牌發(fā)送方法,包括:
S301:統(tǒng)計緩存的單播報文的數(shù)量和組播報文的數(shù)量;
獲得單播報文的數(shù)量和組播報文的數(shù)量之和,即統(tǒng)計出單播高低優(yōu)先級隊列和組播高低優(yōu)先級前級隊列的總深度。
S302:將S301統(tǒng)計的總深度與S201配置的反壓門限進行比較;
若S301統(tǒng)計的總深度低于反壓門限則進入步驟S303,否則進入步驟S304
S303:將反壓指示標記為0;
0代表無效,反壓指示標記為0表示單播報文的數(shù)量和組播報文的數(shù)量的總和小于等于預(yù)設(shè)的反壓門限。
S304:將反壓指示標記為1;
1代表有效,反壓指示標記為1表示單播報文的數(shù)量和組播報文的數(shù)量的總和大于預(yù)設(shè)的反壓門限。
其中,反壓指示為1時的下發(fā)周期可在S201中預(yù)先設(shè)置,也可根據(jù)S207 的報文的出列情況進行調(diào)整。
S305:按照默認的的下發(fā)周期下發(fā)令牌;
S306:根據(jù)反壓指示調(diào)整令牌的下發(fā)周期;
依據(jù)S303或S304的結(jié)果調(diào)整令牌的下發(fā)周期,這里,當(dāng)反壓指示為0時,根據(jù)原來的下發(fā)周期下發(fā)令牌,當(dāng)反壓指示為1時,下發(fā)周期發(fā)生變化,根據(jù)反壓指示為1時的調(diào)整周期下發(fā)令牌。
當(dāng)然,在調(diào)整下發(fā)周期時,調(diào)整之前的下發(fā)周期為反壓指示為1時的下發(fā)周期,則當(dāng)此時反壓指示為0時,下發(fā)周期發(fā)生變化;當(dāng)反壓指示為1時,下發(fā)周期不發(fā)生變化。
S307:將下發(fā)的令牌根據(jù)S201配置的權(quán)重分配比例為單組播報文分配令牌。
S308:對于單播報文,將分配給單播報文的單播令牌發(fā)送給上行使用。
S309:對于組播報文,將分配給組播報文的組播令牌發(fā)分給組播調(diào)度處使用。
在實際使用中,在S304確定反壓指示為1時,在S306的下發(fā)令牌的過程中,根據(jù)S207的報文的出列情況進行調(diào)整具體為:根據(jù)調(diào)度出列的報文的令牌的數(shù)量進行反饋,根據(jù)反饋的令牌的數(shù)量調(diào)整下發(fā)周期。其中,將調(diào)度出去的報文長度以令牌大小為單位計算令牌的數(shù)目(不足一個令牌大小,等下一個報文出隊后再參與計算),當(dāng)出隊的報文長度的大小不足一個令牌的大小時,就將該報文長度記錄下來等后續(xù)報文來到夠一個令牌后再進行反饋,具體反饋是:當(dāng)大于等于1個令牌數(shù)目的時候,將每個令牌按照系統(tǒng)周期(系統(tǒng)頻率)的間隔傳遞給令牌分發(fā)模塊。
實施例四
圖4為組播調(diào)度處理過程,具體包括:
S401:將組播高優(yōu)先級的令牌的盈余數(shù)量與令牌盈余反壓門限進行比較;
將組播高優(yōu)先級的令牌的盈余數(shù)量與步驟S201配置的令牌盈余反壓門限進行比較,若組播高優(yōu)先級的令牌的盈余數(shù)量大于令牌盈余反壓門限則進入 S402,否則進入S403。
S402:增加組播低優(yōu)先級報文的令牌;
將分發(fā)的令牌分配給組播低優(yōu)先級報文,相應(yīng)的低優(yōu)先級令牌的盈余數(shù)量增加,進入S404;
S403:增加組播高優(yōu)先級報文的令牌;
將令牌分給組播高優(yōu)先級報文,相應(yīng)的高優(yōu)先級的令牌的盈余數(shù)量增加,進入S407;
S404:將低優(yōu)先級報文的令牌的盈余數(shù)目和低優(yōu)先級前級隊列中的第一個報文的長度進行比較;若低優(yōu)先級的令牌的盈余數(shù)量大于等于第一個報文長度,則進入S406,否則進入S405,其中,這里將低優(yōu)先級報文的令牌稱為低優(yōu)先級的令牌。
S405:該報文不能從組播低優(yōu)先級前級隊列出隊,繼續(xù)留在組播低優(yōu)先級前級隊列;
S406:該報文從組播低優(yōu)先級前級隊列出隊,進入組播低優(yōu)先級后級隊列,同時相應(yīng)的低優(yōu)先級令牌的盈余數(shù)量減少。
S407:將高優(yōu)先級報文的令牌的盈余數(shù)目和高優(yōu)先級前級隊列中的第一個報文的長度進行比較,若高優(yōu)先級的令牌數(shù)目大于等于第一個報文長度,則進入S409,否則進入S408;其中,這里將高優(yōu)先級報文的令牌稱為高優(yōu)先級的令牌。
S408:該報文繼續(xù)留在組播高優(yōu)先級前級隊列,不能從組播高優(yōu)先級前級隊列出;
S409:該報文從組播高優(yōu)先級前級隊列出隊,報文進入組播高優(yōu)先級后級隊列,同時相應(yīng)的高優(yōu)先級令牌的盈余數(shù)量減少。
實施例五
為實現(xiàn)上述一種單組播流量調(diào)度管理的方法,本發(fā)明實施例還提供一種一種單組播流量調(diào)度管理的裝置,如圖5所示,包括:緩存模塊501、組播調(diào)度模塊502、出列模塊503,其中,
緩存模塊501,用于接收到報文后,根據(jù)所述報文的報文頭中攜帶的報文類型對報文進行分隊列緩存;其中,報文類型包括單播報文和組播報文;
組播調(diào)度模塊502,用于將緩存的組播報文經(jīng)過組播調(diào)度處理后生成調(diào)度組播報文;
出列模塊503:將調(diào)度組播報文與緩存的單播報文按照優(yōu)先級和預(yù)設(shè)的權(quán)重分配進行出列調(diào)度。
出列模塊503具體用于:對于高優(yōu)先級單播報文和低優(yōu)先級單播報文,先調(diào)度高優(yōu)先級單播報文出列,再調(diào)度低優(yōu)先級單播報文出列;對于高優(yōu)先級調(diào)度組播報文和低優(yōu)先級調(diào)度組播報文,先調(diào)度高優(yōu)先級調(diào)度組播報文出列,再調(diào)度低優(yōu)先級調(diào)度組播報文出列;對于同一優(yōu)先級的單播報文和調(diào)度組播報文,根據(jù)預(yù)設(shè)的權(quán)重分配進行調(diào)度,之后按照先調(diào)度高優(yōu)先級再調(diào)度低優(yōu)先級進行出列。
該裝置還包括令牌分發(fā)模塊504,用于根據(jù)緩存的單播報文的數(shù)量和組播報文的數(shù)量為所述單播報文和所述組播報文分配令牌。
令牌分發(fā)模塊504具體用于:統(tǒng)計緩存的單播報文的數(shù)量和組播報文的數(shù)量;將所述單播報文的數(shù)量和所述組播報文的數(shù)量的總和與預(yù)設(shè)的反壓門限進行比較,根據(jù)所述比較結(jié)果確定反壓指示;根據(jù)所述反壓指示調(diào)整令牌的下發(fā)周期,并根據(jù)調(diào)整后得到的下發(fā)周期下發(fā)令牌;按照預(yù)設(shè)的權(quán)重分配比例將下發(fā)的令牌分配給所述單播報文和所述組播報文。
令牌分發(fā)模塊504具體還用于:當(dāng)所述根據(jù)所述反壓指示表示所述單播報文的數(shù)量和所述組播報文的數(shù)量的總大于所述預(yù)設(shè)的反壓門限時,統(tǒng)計出列的單播報文和組播報文的令牌的數(shù)目;根據(jù)所述出列的單播報文和組播報文的令牌的數(shù)目調(diào)整令牌的下發(fā)周期。
組播調(diào)度模塊502,用于采用為所述組播報文分配的令牌對所述緩存的組播報文進行組播調(diào)度處理生成調(diào)度組播報文。
組播調(diào)度模塊502具體用于:將分配給高優(yōu)先級的組播報文的令牌的盈余數(shù)量與令牌盈余反壓門限進行比較,根據(jù)比較結(jié)果為組播高優(yōu)先級報文和低優(yōu) 先級組播報文分配令牌;具有令牌的組播報文為調(diào)度組播報文。
組播調(diào)度模塊502還用于:將高/低優(yōu)先級隊列的令牌的盈余數(shù)量和對應(yīng)優(yōu)先級隊列的第一個報文的長度進行比較,當(dāng)高/低優(yōu)先級隊列的令牌的盈余數(shù)量大于等于對應(yīng)優(yōu)先級隊列的第一個報文的長度,則所述第一個報文完成組播調(diào)度成為調(diào)度高/低優(yōu)先級組播報文。
實施例六
如圖6所示,為本發(fā)明實施例提供的單組播流量進行調(diào)度管理的系統(tǒng)示意圖,在該系統(tǒng)中,包括上行(數(shù)據(jù)發(fā)送方)和下行(數(shù)據(jù)接收方),下行和上行之間通過通信網(wǎng)絡(luò)進行數(shù)據(jù)交互,
如圖6所示,下行包括緩存模塊501、組播調(diào)度模塊502、出隊模塊503、令牌分發(fā)模塊504,這里,緩存模塊501包括:判斷單元5011、緩存單元5012,其中,緩存單元5012中包括四個隊列,分別為緩存單播高優(yōu)先級報文的單播高優(yōu)先級隊列,緩存單播低優(yōu)先級報文的單播低優(yōu)先級隊列,緩存組播高優(yōu)先級報文的組播高優(yōu)先級前級隊列,緩存組播低優(yōu)先級報文的組播低優(yōu)先級前級隊列;單播高優(yōu)先級隊列和單播低優(yōu)先級隊列組成單播區(qū)域(單播隊列)完成接收的單播報文的緩存,組播高優(yōu)先級前級隊列和組播低優(yōu)先級前級隊列組成組播區(qū)域(組播前級隊列)完成接收的組播報文的緩存。
組播調(diào)度模塊502包括:調(diào)度單元5021、組播緩存單元5022,其中,組播緩存單元5022包括兩個隊列:緩存調(diào)度組播高優(yōu)先級報文的組播高優(yōu)先級后級隊列,緩存調(diào)度組播低優(yōu)先級報文的組播低優(yōu)先級后級隊列;組播高優(yōu)先級后級隊列和組播低優(yōu)先級后級隊列組成組播后級隊列完成調(diào)度組播報文的緩存。
在圖6所示的系統(tǒng)中,當(dāng)接收到從上行經(jīng)過交換網(wǎng)到達下行的報文后,下行先通過判斷模塊5011判斷接收到的報文的類型,并緩存在緩存單元5012,若是單播報文,緩存在單播報文區(qū)域,其中,在進行緩存時,根據(jù)優(yōu)先級進入相應(yīng)的單播優(yōu)先級隊列;若是組播報文,緩存在單播報文區(qū)域,其中,在進行緩存時,根據(jù)優(yōu)先級進入相應(yīng)的組播優(yōu)先級前級隊列。
緩存在組播區(qū)域的組播報文經(jīng)過組播調(diào)度單元5021的一級的組播調(diào)度處 理后才能進入組播緩存區(qū)域5022中的組播后級隊列。即,若組播高優(yōu)先級前級隊列中有報文且有令牌,則將高優(yōu)先級組播報文放入組播高優(yōu)先級后級隊列,否則繼續(xù)暫存于組播高優(yōu)先級前級隊列;若組播低優(yōu)先級前級隊列有報文且有令牌,則將報文放入組播低優(yōu)先級后級隊列,否則繼續(xù)暫存于組播低優(yōu)先級前級隊列中。
在出列模塊503中對單組播隊列之間進行優(yōu)先級和權(quán)重分配比例的調(diào)度,若單播高優(yōu)先級隊列和單播低優(yōu)先級隊列都不空的話,先調(diào)度單播高優(yōu)先級隊列的報文,再單播低優(yōu)先級隊列的報文;若組播高優(yōu)先級后級隊列和組播低優(yōu)先級后級隊列都不空的話,先調(diào)度組播高優(yōu)先級后級隊列的報文,再調(diào)度組播低優(yōu)先級后級隊列的報文。若單播和組播調(diào)度出來的結(jié)果都是高優(yōu)先級或都是低優(yōu)先級的報文,則同一個優(yōu)先級按照步預(yù)先配置的權(quán)重分配比例再進行調(diào)度;若單組播調(diào)度的結(jié)果是不同優(yōu)先級,一個高優(yōu)先級一個低優(yōu)先級,則繼續(xù)按照高優(yōu)先級優(yōu)先調(diào)度的原則進行出隊。
緩存模塊501統(tǒng)計了單播高優(yōu)先級隊列、單播低優(yōu)先級隊列、組播高優(yōu)先級前級隊列和組播低優(yōu)先級前級隊列中緩存堆積的總報文數(shù)目,也就是接收的單播報文的數(shù)量和組播報文的數(shù)量的總和的值,將該值與預(yù)先設(shè)置的反壓門限進行比較,若該值小于反壓門限,則反壓指示標記為0;若該值大于等于反壓門限,則反壓指示標記為1。將反壓指示發(fā)送給令牌分發(fā)模塊504。
令牌分發(fā)模塊504,先按照配置的下發(fā)周期(可默認為反壓指示為0時的下發(fā)周期)下發(fā)令牌,若收到反壓指示為1,則根據(jù)預(yù)先配置的下發(fā)周期來調(diào)整令牌下發(fā)周期,若收到反壓指示為0,則不調(diào)整令牌下發(fā)周期;在根據(jù)調(diào)整后得到的下發(fā)周期下發(fā)令牌之后,將下發(fā)的令牌按照配置的權(quán)重分配比例為單組播分配令牌。令牌分發(fā)模塊504將分發(fā)給單播報文的令牌反饋給上行,用于控制上行的單播出隊;將分發(fā)給組播的報文令牌給緩存模塊501,用于組播調(diào)度模塊502通過緩存模塊501中的令牌數(shù)量控制組播報文的組播調(diào)度。
需要說明的是,當(dāng)反壓指示為1時,可根據(jù)出列的單播報文和組播報文的令牌的數(shù)目調(diào)整令牌的下發(fā)周期,出列的單播報文和組播報文的令牌的數(shù)目由 出列模塊503反饋給令牌分發(fā)模塊504。
當(dāng)出列模塊503中的單組播報文出列時,出列模塊503統(tǒng)計了出列報文的令牌反饋信息,即將調(diào)度出去的報文的報文長度以令牌大小為單位計算令牌的數(shù)目,當(dāng)出隊的報文長度的大小不足一個令牌的大小時,就將該報文長度記錄下來等后續(xù)報文來到夠一個令牌后再進行反饋,具體反饋是:當(dāng)大于等于1個令牌數(shù)目的時候,將每個令牌按照系統(tǒng)周期(系統(tǒng)頻率)的間隔傳遞給令牌分發(fā)模塊504。令牌分發(fā)模塊504在調(diào)整下發(fā)周期時,在反壓指示為1時,若接收到出列模塊503反饋的令牌信息就下發(fā)一個令牌,即以出列模塊503反饋的令牌信息間隔作為分發(fā)模塊504的下發(fā)周期。
在實際使用中,當(dāng)反壓指示為1時,令牌的下發(fā)周期可為根據(jù)芯片的處理能力預(yù)先設(shè)置的下發(fā)周期。
需要說明的是,在本發(fā)明實施例中,報文進入下行后,若是單播報文,則根據(jù)優(yōu)先級直接放入相應(yīng)的隊列中;若是組播報文,則要經(jīng)過一級的令牌過濾后才能參與和單播之間的調(diào)度。
本發(fā)明實施例所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結(jié)合。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。