專利名稱:數(shù)據(jù)調(diào)度方法、交換機和網(wǎng)絡(luò)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種數(shù)據(jù)調(diào)度方法、交換機和網(wǎng)絡(luò)系統(tǒng)。
背景技術(shù):
在以太網(wǎng)中,由于資源有限,必須解決多個連接同時競爭使用資源發(fā)送報文的問 題,通常采用數(shù)據(jù)調(diào)度加以解決,即某一時刻在接入到交換機中的多個連接中選擇一個進 行調(diào)度,發(fā)送該連接上的數(shù)據(jù)。輪循類算法是目前在交換機中應(yīng)用較為廣泛的一類數(shù)據(jù)調(diào)度算法,如 WRR(Weighted Round Robin,加權(quán)輪循)算法,RR(Round Robin,輪循算法)等。WRR 是一 種廣泛應(yīng)用在數(shù)據(jù)調(diào)度中的輪循類算法,采用循環(huán)的方式來發(fā)送各個連接上的數(shù)據(jù)。WRR算 法為各連接設(shè)置了對應(yīng)的權(quán)重,在每次數(shù)據(jù)調(diào)度啟動時,從上一次調(diào)度的位置開始按順序 逐個查找連接,直到找到第一個權(quán)重非0且有數(shù)據(jù)等待發(fā)送的連接,將該連接作為本次數(shù) 據(jù)調(diào)度的結(jié)果,發(fā)送該連接上的數(shù)據(jù),并將該連接對應(yīng)的權(quán)重減1 ;當所有連接的權(quán)重均為 0或所有連接上的數(shù)據(jù)都發(fā)送完畢時,將各連接的權(quán)重恢復(fù)為初始值。交換機使用WRR算法完成數(shù)據(jù)調(diào)度的過程如下在交換機啟動時,采用WRR算法為 各連接設(shè)置對應(yīng)的權(quán)重,這時的權(quán)重為初始值;一般情況下在每次數(shù)據(jù)調(diào)度啟動時,從上一 次調(diào)度的位置開始按順序逐個查找連接,直到找到第一個權(quán)重非0且有數(shù)據(jù)等待發(fā)送的連 接,將該連接作為本次數(shù)據(jù)調(diào)度的結(jié)果,發(fā)送該連接上的數(shù)據(jù),并將該連接對應(yīng)的權(quán)重減1 ; 當所有連接的權(quán)重均為0或所有連接上的數(shù)據(jù)都發(fā)送完畢時,將各連接的權(quán)重恢復(fù)為初始 值。由于每次查找時,都有可能遇到權(quán)重為0或沒有等待發(fā)送的數(shù)據(jù)的連接,雖然對 這些連接不作進一步處理,但仍消耗了一部分時間,當有多個連續(xù)的這種連接時,對時間的 浪費是很明顯的,直接導(dǎo)致了數(shù)據(jù)調(diào)度效率的降低。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中至少存在如下問題使用輪循的方式進行數(shù)據(jù)調(diào)度,如使用WRR進行數(shù)據(jù)調(diào)度,需要查找多條連接才 能獲得一條權(quán)重非0且有數(shù)據(jù)等待發(fā)送的連接,查找所需時間較長,尤其當連接數(shù)量較多 時,這種現(xiàn)象尤為嚴重,導(dǎo)致數(shù)據(jù)調(diào)度效率低。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種數(shù)據(jù)調(diào)度方法、交換機和網(wǎng)絡(luò)系統(tǒng),提高了數(shù)據(jù)調(diào)度效率。本發(fā)明的實施例提供了一種數(shù)據(jù)調(diào)度方法,包括并行獲取每條待調(diào)度的連接的連接權(quán)重;并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重;據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為有效連接;從所述有效連接中選取一個目標連接;
對所述目標連接進行數(shù)據(jù)調(diào)度。本發(fā)明的實施例還提供了一種交換機,包括權(quán)重并行獲取模塊,用于并行獲取每條待調(diào)度的連接的連接權(quán)重;權(quán)重并行比較模塊,用于并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公 共權(quán)重;有效連接選取模塊,用于選取所述連接權(quán)重大于和/或等于所述公共權(quán)重待進行 數(shù)據(jù)調(diào)度的連接作為有效連接;目標連接選取模塊,用于根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為 有效連接;調(diào)度模塊,用于對所述目標連接進行數(shù)據(jù)調(diào)度。本發(fā)明的實施例還提供了一種網(wǎng)絡(luò)系統(tǒng),包括上述交換機,所述交換機接收多條 連接的數(shù)據(jù),對連接進行數(shù)據(jù)調(diào)度后,按照數(shù)據(jù)調(diào)度的結(jié)果轉(zhuǎn)發(fā)多條連接的數(shù)據(jù)。本發(fā)明的實施例提供的數(shù)據(jù)調(diào)度方法、交換機和網(wǎng)絡(luò)系統(tǒng),通過并行處理的方式 獲取每條待調(diào)度的連接的連接權(quán)重并比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公 共權(quán)重,進而確定有效連接,再從有效連接中選取目標連接,對目標連接進行數(shù)據(jù)調(diào)度,無 論待進行數(shù)據(jù)調(diào)度的連接數(shù)量有多少,都可以快速確定目標連接,完成數(shù)據(jù)調(diào)度,調(diào)度所需 時間與連接數(shù)量無關(guān),減少了查找有效連接所需的時間,提高了數(shù)據(jù)調(diào)度的效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1為本發(fā)明實施例一提供的一種數(shù)據(jù)調(diào)度方法的流程圖;圖2為本發(fā)明實施例二提供的一種數(shù)據(jù)調(diào)度方法的流程圖;圖3為本發(fā)明的實施例使用的硬件邏輯電路圖;圖4為本發(fā)明實施例三提供的一種數(shù)據(jù)調(diào)度方法的流程圖;圖5為本發(fā)明實施例三中二級結(jié)構(gòu)的示意圖;圖6為本發(fā)明的實施例提供的一種交換機的結(jié)構(gòu)示意圖;圖7為本發(fā)明的又一實施例提供的一種交換機的結(jié)構(gòu)示意圖;圖8為本發(fā)明的又一實施例提供的一種交換機的結(jié)構(gòu)示意圖;圖9為圖6中目標連接選取模塊604的內(nèi)部結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。為了解決上述問題,本發(fā)明實施例一提供了一種數(shù)據(jù)調(diào)度方法,使用該方法完成數(shù)據(jù)調(diào)度的過程如圖1所示,包括步驟101、并行獲取每條待調(diào)度的連接的連接權(quán)重;步驟102、并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重;步驟103、根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為有效連接;步驟104、從所述有效連接中選取一個目標連接;步驟105、對所述目標連接進行數(shù)據(jù)調(diào)度。本發(fā)明的實施例提供的數(shù)據(jù)調(diào)度方法,通過并行處理的方式獲取每條待調(diào)度的連 接的連接權(quán)重并比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重,進而確定有效 連接,再從有效連接中選取目標連接,對目標連接進行數(shù)據(jù)調(diào)度,無論待進行數(shù)據(jù)調(diào)度的連 接數(shù)量有多少,都可以快速確定目標連接,完成數(shù)據(jù)調(diào)度,調(diào)度所需時間與連接數(shù)量無關(guān), 減少了查找有效連接所需的時間,提高了數(shù)據(jù)調(diào)度的效率。除了上述影響數(shù)據(jù)調(diào)度效率的原因之外,使用WRR算法進行數(shù)據(jù)調(diào)度時,為每個 連接分配權(quán)重,在調(diào)度連接時對連接的權(quán)重進行修改,需要配置硬件存儲裝置存儲各個連 接的權(quán)重,并對該裝置進行頻繁讀寫,也會影響數(shù)據(jù)調(diào)度效率。為了解決數(shù)據(jù)調(diào)度效率低的問題,本發(fā)明實施例二提供了一種數(shù)據(jù)調(diào)度方法,下 面結(jié)合附圖,對本發(fā)明實施例二進行詳細介紹。本發(fā)明實施例中,使用所述數(shù)據(jù)調(diào)度方法進行數(shù)據(jù)調(diào)度的過程如圖2所示,包括步驟201、設(shè)置公共權(quán)重的初始值;為了簡化連接權(quán)重的更新,本發(fā)明實施例設(shè)立了一個公共權(quán)重,所述公共權(quán)重用 于判斷連接是否有效。一般情況下,所述公共權(quán)重的初始值可以設(shè)置為一個足夠小的數(shù),例 如設(shè)置公共權(quán)重的初始值為0或者設(shè)置公共權(quán)重的初始值為比所有的連接權(quán)重都小的一 個整數(shù),這時,認為所有連接都有資格發(fā)送數(shù)據(jù);每一輪數(shù)據(jù)調(diào)度結(jié)束后公共權(quán)重加1,小 于和/或等于公共權(quán)重的連接權(quán)重認為已經(jīng)用盡,當所有的連接權(quán)重都用盡時將公共權(quán)重 恢復(fù)為初始值。當然,公共權(quán)重的初始值也可以設(shè)置為一個足夠大的整數(shù),例如比所有的連 接權(quán)重都大的一個整數(shù),每一輪數(shù)據(jù)調(diào)度結(jié)束后公共權(quán)重減1,此時,認為連接權(quán)重小于和 /或等于公共權(quán)重的連接是有效連接,可以設(shè)置需要調(diào)度次數(shù)較多的連接具有較小的連接 權(quán)重,例如1或0。本實施例中,為了論述方便,示例性的假設(shè)需要調(diào)度次數(shù)較多的連接具有 較大的連接權(quán)重,需要調(diào)度次數(shù)較少的連接具有較小的連接權(quán)重,公共權(quán)重的初始值為0 ; 可以理解的是,采用其他的方式設(shè)置連接權(quán)重、公共權(quán)重的初始值來實現(xiàn)本發(fā)明的技術(shù)方 案也在本發(fā)明公開和保護的范圍之內(nèi)。步驟202、獲取當前的公共權(quán)重;步驟203、并行獲取全部連接以及每條連接的連接權(quán)重;本發(fā)明實施例為各個連接設(shè)置連接權(quán)重,連接權(quán)重的值可以具體由網(wǎng)絡(luò)維護者根 據(jù)實際網(wǎng)絡(luò)情況決定。本步驟中,為了方便描述,用標號標識每條連接,本實施例以共有n條連接為例, 這n條連接的標號分別為0至n-1。步驟204、通過并行處理的方式比較當前的公共權(quán)重與每條連接的連接權(quán)重,根據(jù) 比較結(jié)果確定有效連接;通過硬件邏輯電路,在同一時鐘周期對多條連接進行并行處理,具體為判斷連接是否為空以及比較連接的權(quán)重與公共權(quán)重的大小,這樣,就可以一次性的獲取全部有效連 接。該硬件邏輯電路如圖3所示,包括比較器301,與門302,公共權(quán)重更新控制電路303,權(quán) 重比較結(jié)果輸出電路304,固定優(yōu)先級調(diào)度輸入電路305,固定優(yōu)先級調(diào)度輸出電路306,調(diào) 度結(jié)果輸出電路307。比較器301通過公共權(quán)重更新控制電路303獲取公共權(quán)重值,由于每 條連接都對應(yīng)著一個比較器301和一個與門302,故能夠在一個時鐘周期對多條連接并行 處理。本步驟中,使用上述硬件邏輯電路,通過并行處理的方式,獲取有效連接,該有效 連接指有資格發(fā)送數(shù)據(jù)的連接。所述有效連接需要滿足兩個條件首先,連接不能為空,即 在連接上有等待發(fā)送的數(shù) 據(jù);其次,連接的連接權(quán)重要大于和/或等于公共權(quán)重。如圖3所示,當連接不為空時,就向該連接對應(yīng)的與門302發(fā)出一個請求信號,該 請求信號具體為“1”,否則,發(fā)出一個內(nèi)容為“0”的請求信號。當連接的連接權(quán)重大于所述 公共權(quán)重時,則該連接對應(yīng)的比較器301會向該連接對應(yīng)的與門302發(fā)出一個比較結(jié)果,該 比較結(jié)果的值為“1”;如果所述連接的連接權(quán)重小于所述公共權(quán)重,則比較結(jié)果的值為“0”。 之后,與門302將比較器301輸出的比較結(jié)果和請求信號相與,從而確定出最終的有效連 接。例如,如圖3所示,連接n-1的連接權(quán)重與公共權(quán)重通過比較器301進行比較,輸出比 較結(jié)果至與門302,連接n-1的請求信號為0,該請求信號0也輸入比較器301,因此無論比 較器301的比較結(jié)果如何,由于請求信號為0 (即連接n-1未空),與門302輸出的結(jié)果都是 0,所以連接n-1不是有效連接;同理,當一連接對應(yīng)的與門302輸出的結(jié)果是1時,則該連 接是有效連接;其中,每個連接將自己的連接權(quán)重與公共權(quán)重的比較結(jié)果與自己的請求信 號相與,若輸出結(jié)果是1則該連接是有效連接,若輸出為0否則不是有效連接。當然,這里 的0、1只是一種表達,也可以用其他的數(shù)來表示,這里不做贅述。本實施例中,為各個連接添加Ibit的調(diào)度位,用于記錄判斷結(jié)果,調(diào)度位的設(shè)置 原則為如果連接有效,將該連接的調(diào)度位置為1 ;如果連接無效,將該連接的調(diào)度位置為 0。經(jīng)過對各連接調(diào)度位值的設(shè)置,可以將判斷結(jié)果進一步簡化成二進制數(shù)的形式,每一條 連接都對應(yīng)該二進制數(shù)的一位,提高了后續(xù)處理效率。本實施例中,假設(shè)系統(tǒng)啟動后的第一 次數(shù)據(jù)調(diào)度時,初始化二進制數(shù)的最低位對應(yīng)連接的標號為0,二進制數(shù)的最高位對應(yīng)連接 的標號為n-1。步驟205、從所述有效連接中選擇一個連接進行調(diào)度;由于每次數(shù)據(jù)調(diào)度只能調(diào)度一條連接,故在獲取完全部有效連接后,還需要制定 一個選擇策略,用來選擇一條有效連接進行調(diào)度。從所述有效連接中選擇一個連接進行調(diào)度可以是為各個連接設(shè)置優(yōu)先級,選擇 優(yōu)先級最高的一條有效連接作為目標連接,對所述目標連接進行數(shù)據(jù)調(diào)度。本步驟中,從輪循指針指向的數(shù)位開始,沿輪循方向得到的第一個“1”所對應(yīng)的連 接即為目標連接,對該目標連接進行數(shù)據(jù)調(diào)度,將該目標連接上的等待發(fā)送的數(shù)據(jù)發(fā)送出 去。本步驟中,為各個連接設(shè)置優(yōu)先級,具體為,設(shè)置輪循指針和輪循方向,將輪循指 針指向的連接的優(yōu)先級設(shè)置為最高,按照輪循方向,各連接的優(yōu)先級依次降低。例如,如果 本次數(shù)據(jù)調(diào)度為系統(tǒng)啟動后的第一次數(shù)據(jù)調(diào)度,則將步驟204獲得的二進制數(shù)的最低位對 應(yīng)的連接的優(yōu)先級設(shè)置為最高,將所述輪循指針指向該連接,以二進制數(shù)由低位向高位的方向作為輪循方向,越高位對應(yīng)的連接的優(yōu)先級越低;如果本次數(shù)據(jù)調(diào)度之前已經(jīng)進行過 數(shù)據(jù)調(diào)度,則以上一次數(shù)據(jù)調(diào)度的連接沿輪循方向上相鄰的連接作為最高優(yōu)先級連接,將 輪循指針指向該連接,將二進制數(shù)向右(輪詢方向的反方向)循環(huán)移位,直到輪循指針指向 的連接對應(yīng)最低位為止,以二進制數(shù)由低位向高位的方向作為輪循方向。例如,如果上一次 調(diào)度的連接標號為2,則本次以連接標號為3的連接作為最高優(yōu)先級的連接,并向右移位, 至標號為3的連接對應(yīng)的bit位到最低位為止。步驟206、輸出調(diào)度結(jié)果;本步驟中,需要輸出調(diào)度結(jié)果,具體為輸出被調(diào)度連接的標號。在步驟204中,連 接對應(yīng)的二進制數(shù)的數(shù)位與連接的初始標號是對應(yīng)的,由于在步驟205中有移位操作,致 使被調(diào)度的連接在被調(diào)度時的位置并不是初始的位置,故 在完成數(shù)據(jù)調(diào)度后,需要根據(jù)步 驟205移位的結(jié)果進行同樣位數(shù)的反向移位,即將各連接的順序恢復(fù)到調(diào)度前的狀態(tài),這 樣,被調(diào)度的連接就能回到初始的位置上,輸出該連接的初始位置作為調(diào)度結(jié)果。這里的調(diào) 度結(jié)果可以作為下一次調(diào)度時步驟205中確定輪循指針位置的依據(jù)。本發(fā)明實施例中,每啟動一次數(shù)據(jù)調(diào)度,就要循環(huán)執(zhí)行步驟204至步驟206。在調(diào) 度啟動時,是按照從連接0到連接n-1的順序完成調(diào)度的,故認為當輪循指針再次指向連接 0時(如果連接0為無效連接,則為經(jīng)過連接0時)就完成了一輪調(diào)度。步驟207、在完成一輪對全部有效連接的調(diào)度之后,修改公共權(quán)重;本步驟中,如果,修改公共權(quán)重的值,將所述公共權(quán)重的值增加或減少一個步長 值。由于本實施例以需要調(diào)度次數(shù)較多的連接具有較大的連接權(quán)重,需要調(diào)度次數(shù)較 少的連接具有較小的連接權(quán)重,公共權(quán)重的初始值為0的情況為例進行說明,故在完成一 輪調(diào)度后,將所述公共權(quán)重增加一個步長值。所述步長值可是一任意整數(shù),只要符合公共權(quán) 重與各連接的連接權(quán)重的設(shè)置即可,如果公共權(quán)重與連接權(quán)重的值較大,則可以設(shè)置較大 的步長值;如果公共權(quán)重與連接權(quán)重的值較小,則可以設(shè)置較小的步長值。本發(fā)明實施例將步長值設(shè)為1,在完成一輪對全部有效連接的調(diào)度之后將公共權(quán) 重的值加1。顯而易見的,所述步長值也可以為2或3等其他整數(shù),本發(fā)明不再一一舉例說 明。步驟208、判斷是否存在有效連接;本步驟中,根據(jù)步驟207修改得到的新的公共權(quán)重,判斷是否存在有效連接,具體 為判斷是否存在連接權(quán)重大于所述新的公共權(quán)重的連接。如果存在有效連接,認為可繼續(xù)執(zhí)行數(shù)據(jù)調(diào)度,此時,進入步驟202。如果不能,則 需要恢復(fù)初始狀態(tài),具體步驟如下。步驟209、如果不存在有效連接,將公共權(quán)重恢復(fù)為初始值;之后可以返回步驟 202進行下一輪的數(shù)據(jù)調(diào)度。本發(fā)明的實施例提供的數(shù)據(jù)調(diào)度方法,通過并行處理的方式獲取每條待調(diào)度的連 接的連接權(quán)重并比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重,進而確定有效 連接,再從有效連接中選取目標連接,對目標連接進行數(shù)據(jù)調(diào)度,無論待進行數(shù)據(jù)調(diào)度的連 接數(shù)量有多少,都可以快速確定目標連接,完成數(shù)據(jù)調(diào)度,調(diào)度所需時間與連接數(shù)量無關(guān), 減少了查找有效連接所需的時間,提高了數(shù)據(jù)調(diào)度的效率。用二進制數(shù)表示各條連接當前的調(diào)度情況,使后續(xù)的處理更簡單,進一步提高了數(shù)據(jù)調(diào)度的效率。使用公共權(quán)重,只需要 對公共權(quán)重進行讀寫操作,簡化了現(xiàn)有技術(shù)中分別對各個連接權(quán)重進行分別操作的繁瑣操 作,不需要大量硬件支持,降低了硬件成本。下面結(jié)合附圖,對本發(fā)明實施例三進行說明。在連接個數(shù) 較多時,為了提高整個調(diào)度系統(tǒng)的性能,常常采用分級式結(jié)構(gòu),本發(fā)明 實施例提供了一種數(shù)據(jù)調(diào)度方法,能夠在分級式結(jié)構(gòu)下完成數(shù)據(jù)調(diào)度,具體步驟如圖4所 示,包括步驟401、確定分級結(jié)構(gòu);本發(fā)明實施例以二級結(jié)構(gòu)為例進行說明,參照圖5,在這個結(jié)構(gòu)中有多個數(shù)據(jù)端口 501,每個數(shù)據(jù)端口下包含至少一個連接502。本發(fā)明實施例提供的數(shù)據(jù)調(diào)度方法也適用于 多級結(jié)構(gòu),其實現(xiàn)原理與二級結(jié)構(gòu)相同。步驟402、選擇一個端口,對該端口進行數(shù)據(jù)調(diào)度;本步驟中,為各個端口設(shè)置端口權(quán)重,并設(shè)置端口公共權(quán)重,獲取包含待進行數(shù)據(jù) 調(diào)度的連接且權(quán)重大于端口公共權(quán)重的端口作為有效端口,從所述有效端口中選取一個端 口作為目標端口,對目標端口下的連接進行數(shù)據(jù)調(diào)度。選取目標端口的原理與本發(fā)明實施 例二中步驟205至步驟207的描述無異,只是操作對象為端口,故在此不再進行詳細介紹。步驟403、選擇該端口下的一條連接,對該連接進行數(shù)據(jù)調(diào)度。在步驟402確認目標端口后,本步驟需要對該端口下的一條連接進行調(diào)度。本步 驟中選擇一條連接完成數(shù)據(jù)調(diào)度過程與本發(fā)明實施例二中的步驟202至步驟207的描述無 異,不再贅述。可選的,也可以對目標端口的全部連接進行一輪調(diào)度,之后再重新選擇目標端口 進行數(shù)據(jù)調(diào)度。步驟404、輸出對該端口進行數(shù)據(jù)調(diào)度的調(diào)度結(jié)果;本步驟具體為輸出調(diào)度的連接對應(yīng)的端口的端口標號和該連接的標號;其中,步驟404后,輸出了對該端口的一條連接進行數(shù)據(jù)調(diào)度的調(diào)度結(jié)果后,可以 返回步驟402重新選擇端口,也可以返回步驟403繼續(xù)選擇該端口的下一條連接直到對該 端口的連接完成一輪數(shù)據(jù)調(diào)度。步驟405、在完成一輪對全部有效端口的調(diào)度之后,修改端口公共權(quán)重;本步驟中,如果在完成一輪對全部有效端口的調(diào)度之后,修改端口公共權(quán)重的值, 具體為將公共權(quán)重值加1。步驟406、判斷是否存在有效端口 ;本步驟中,根據(jù)步驟405修改得到的新的端口公共權(quán)重,判斷是否存在有效端口, 具體為判斷是否存在端口權(quán)重大于所述新的端口公共權(quán)重的端口。如果存在有效端口,認為可繼續(xù)執(zhí)行數(shù)據(jù)調(diào)度,此時,進入步驟402。如果不存在有 效端口,則需要恢復(fù)初始狀態(tài),執(zhí)行步驟407。步驟407、如果不存在有效端口,將端口公共權(quán)重恢復(fù)為初始值。本發(fā)明的實施例提供的數(shù)據(jù)調(diào)度方法,在連接數(shù)量較多時,將連接進行分級,逐級 完成數(shù)據(jù)調(diào)度。具體為通過并行處理的方式獲取有效端口,從所述有效端口中選擇目標端 口,對該目標端口下的有效連接進行調(diào)度。無論待進行數(shù)據(jù)調(diào)度的連接數(shù)量有多少,都可以快速確定目標連接,完成數(shù)據(jù)調(diào)度,調(diào)度所需時間與連接數(shù)量無關(guān),減少了查找有效連接所 需的時間,提高了數(shù)據(jù)調(diào)度的效率。本發(fā)明的實施例還提供了一種交換機,該交換機的結(jié)構(gòu)如圖6所示,包括權(quán)重并行獲取模塊601,用于并行獲取每條待調(diào)度的連接的連接權(quán)重;權(quán)重并行比較模塊602,用于并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置 的公共權(quán)重;有效連接選取模塊603,用于根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作 為有效連接;目標連接選取模塊604,用于從所述有效連接選取模塊603選取的有效連接中選 取一個目標連接;
調(diào)度模塊605,用于對所述目標連接進行數(shù)據(jù)調(diào)度。進一步地,上述交換機如圖7所示,還包括公共權(quán)重設(shè)置模塊606,用于設(shè)置公共權(quán)重的初始值;或,在所述有效連接選取模塊603選取完有效連接后,修改所述公共權(quán)重,將所述公 共權(quán)重的值增加或減少一個步長值;或,如果所有待調(diào)度的連接的都不符合預(yù)設(shè)條件或所有符合預(yù)設(shè)條件的待調(diào)度的連 接都為空,將公共權(quán)重修改為預(yù)先設(shè)置的初始值。進一步地,上述交換機如圖8所示,還包括再比較模塊607,用于在所述公共權(quán)重設(shè)置模塊606修改完公共權(quán)重后,重新并行 獲取每條待調(diào)度的連接的連接權(quán)重,并與修改后的公共權(quán)重進行比較。進一步地,所述目標連接選取模塊604的內(nèi)部結(jié)構(gòu)如圖9所示,包括優(yōu)先級確定單元6041,用于根據(jù)上一次數(shù)據(jù)調(diào)度的結(jié)果確定各有效連接的優(yōu)先 級;目標連接確定單元6042,用于根據(jù)所述優(yōu)先級確定單元6041的確定結(jié)果,選擇優(yōu) 先級最高的一條有效連接作為目標連接。使用上述交換機完成數(shù)據(jù)調(diào)度時,首先,權(quán)重并行獲取模塊601獲取各個待調(diào)度 連接的連接權(quán)重,通過權(quán)重并行比較模塊602比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè) 置的公共權(quán)重,由有效連接選取模塊603根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連 接作為有效連接,具體為選取所述連接權(quán)重大于和/或等于所述公共權(quán)重待進行數(shù)據(jù)調(diào)度 的連接作為有效連接,參見圖2中的步驟204 ;目標連接選取模塊604選取一個目標連接, 參見圖2中的步驟205 ;調(diào)試模塊605對該目標連接進行數(shù)據(jù)調(diào)度。在完成數(shù)據(jù)調(diào)度后,根據(jù)是否還存在有效連接,調(diào)用公共權(quán)重設(shè)置模塊606,在完 成數(shù)據(jù)調(diào)度之后修改公共權(quán)重,將所述公共權(quán)重的值增加或減少一個步長值;或如果所有 待調(diào)度的連接的都不符合預(yù)設(shè)條件或所有符合預(yù)設(shè)條件的待調(diào)度的連接都為空,將公共權(quán) 重修改為預(yù)先設(shè)置的初始值。本發(fā)明的實施例還提供了一種網(wǎng)絡(luò)系統(tǒng),該網(wǎng)絡(luò)系統(tǒng)包括上述交換機,所述交換 機接收多條連接的數(shù)據(jù),對連接進行數(shù)據(jù)調(diào)度后,按照數(shù)據(jù)調(diào)度的結(jié)果轉(zhuǎn)發(fā)多條連接的數(shù) 據(jù)。所述交換機從連接到該交換機的多個待調(diào)度的連接中選取有效連接,通過并行處理方 式從所述有效連接中選取一個目標連接,調(diào)度該目標連接上的待發(fā)送數(shù)據(jù)。具體流程參見圖2。本發(fā)明的實施例提供的交換機和網(wǎng)絡(luò)系統(tǒng),可以與本發(fā)明的實施例提供的一種數(shù) 據(jù)調(diào)度方法相結(jié)合,設(shè)置公共權(quán)重,通過并行處理的方式獲取每條待調(diào)度的連接的連接權(quán) 重并比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重,進而確定有效連接,再從 有效連接中選取目標連接,對目標連接進行數(shù)據(jù)調(diào)度,無論待進行數(shù)據(jù)調(diào)度的連接數(shù)量有 多少,都可以快速確定目標連接,完成數(shù)據(jù)調(diào)度,調(diào)度所需時間與連接數(shù)量無關(guān),減少了查 找有效連接所需的時間,提高了數(shù)據(jù)調(diào)度的效率。本領(lǐng)域 普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中, 該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模 塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機 可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
權(quán)利要求
一種數(shù)據(jù)調(diào)度方法,其特征在于,包括并行獲取每條待調(diào)度的連接的連接權(quán)重;并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重;根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為有效連接;從所述有效連接中選取一個目標連接;對所述目標連接進行數(shù)據(jù)調(diào)度。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)調(diào)度方法,其特征在于,所述根據(jù)比較結(jié)果,選取符合預(yù) 設(shè)條件的待調(diào)度的連接作為有效連接的步驟之后還包括修改所述公共權(quán)重,將所述公共權(quán)重的值增加或減少一個步長值; 重新并行獲取每條待調(diào)度的連接的連接權(quán)重,并與修改后的公共權(quán)重進行比較。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)調(diào)度方法,其特征在于,還包括如果所有待調(diào)度的連接的都不符合預(yù)設(shè)條件或所有符合預(yù)設(shè)條件的待調(diào)度的連接都 為空,將公共權(quán)重修改為預(yù)先設(shè)置的初始值。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)調(diào)度方法,其特征在于,所述從所述有效連接中選取一 個目標連接的步驟包括根據(jù)上一次數(shù)據(jù)調(diào)度的結(jié)果確定各有效連接的優(yōu)先級; 選擇優(yōu)先級最高的一條有效連接作為目標連接。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)調(diào)度方法,其特征在于,所述根據(jù)上一次數(shù)據(jù)調(diào)度的結(jié) 果確定各有效連接的優(yōu)先級的步驟包括在上一次數(shù)據(jù)調(diào)度輸出調(diào)度結(jié)果后,重新選取符合預(yù)設(shè)條件的待進行數(shù)據(jù)調(diào)度的連 接作為有效連接,確定從上一次數(shù)據(jù)調(diào)度的連接開始沿輪循方向有效連接的優(yōu)先級依次降 低。
6.根據(jù)權(quán)利要求1至5任一項所述的數(shù)據(jù)調(diào)度方法,其特征在于,所述符合預(yù)設(shè)條件的 待調(diào)度的連接為當公共權(quán)重隨著迭代增加時,選取連接權(quán)重大于和/或等于公共權(quán)重的待調(diào)度的連接 為符合預(yù)設(shè)條件的連接;或者當公共權(quán)重隨著迭代減少時,選取連接權(quán)重小于和/或等于公共權(quán)重的待調(diào)度的連接 為符合預(yù)設(shè)條件的連接。
7.一種交換機,其特征在于,包括權(quán)重并行獲取模塊,用于并行獲取每條待調(diào)度的連接的連接權(quán)重; 權(quán)重并行比較模塊,用于并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重;有效連接選取模塊,用于根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為有效 連接;目標連接選取模塊,用于從所述有效連接選取模塊選取的有效連接中選取一個目標連接;調(diào)度模塊,用于對所述目標連接進行數(shù)據(jù)調(diào)度。
8.根據(jù)權(quán)利要求7所述的交換機,其特征在于,還包括 公共權(quán)重設(shè)置模塊,用于設(shè)置公共權(quán)重的初始值;或,在所述有效連接選取模塊選取完有效連接后,修改所述公共權(quán)重,將所述公共權(quán)重的 值增加或減少一個步長值;或,如果所有待調(diào)度的連接的都不符合預(yù)設(shè)條件或所有符合預(yù)設(shè)條件的待調(diào)度的連接都 為空,將公共權(quán)重修改為預(yù)先設(shè)置的初始值。
9.根據(jù)權(quán)利要求8所述的交換機,其特征在于,還包括再比較模塊,用于在所述公共權(quán)重設(shè)置模塊修改完公共權(quán)重后,重新并行獲取每條待 調(diào)度的連接的連接權(quán)重,并與修改后的公共權(quán)重進行比較。
10.根據(jù)權(quán)利要求7所述的交換機,其特征在于,所述目標連接選取模塊包括優(yōu)先級確定單元,用于根據(jù)上一次數(shù)據(jù)調(diào)度的結(jié)果確定各有效連接的優(yōu)先級;目標連接確定單元,用于根據(jù)所述優(yōu)先級確定單元的確定結(jié)果,選擇優(yōu)先級最高的一 條有效連接作為目標連接。
11.一種網(wǎng)絡(luò)系統(tǒng),其特征在于,包括權(quán)利要求7至權(quán)利要求10任一項所述的交換機, 所述交換機接收多條連接的數(shù)據(jù),對連接進行數(shù)據(jù)調(diào)度后,按照數(shù)據(jù)調(diào)度的結(jié)果轉(zhuǎn)發(fā)多條 連接的數(shù)據(jù)。
全文摘要
本發(fā)明的實施例公開了一種數(shù)據(jù)調(diào)度方法、交換機和網(wǎng)絡(luò)系統(tǒng)。涉及數(shù)據(jù)調(diào)度領(lǐng)域;解決了數(shù)據(jù)調(diào)度效率低的問題。所述數(shù)據(jù)調(diào)度方法包括并行獲取每條待調(diào)度的連接的連接權(quán)重;并行比較每條待調(diào)度的連接的連接權(quán)重與預(yù)先設(shè)置的公共權(quán)重;根據(jù)比較結(jié)果,選取符合預(yù)設(shè)條件的待調(diào)度的連接作為有效連接;從所述有效連接中選取一個目標連接;對所述目標連接進行數(shù)據(jù)調(diào)度。本發(fā)明提供的技術(shù)方案適用于多連接數(shù)據(jù)調(diào)度。
文檔編號H04L12/56GK101860472SQ20091013121
公開日2010年10月13日 申請日期2009年4月9日 優(yōu)先權(quán)日2009年4月9日
發(fā)明者馬少飛 申請人:華為技術(shù)有限公司