本發(fā)明涉及計算機,尤其涉及一種報文轉(zhuǎn)發(fā)方法、報文排序方法、裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
1、基于報文分發(fā)是業(yè)界公認(rèn)的解決傳統(tǒng)基于流分發(fā)不均的方案,但是基于報文分發(fā)必然導(dǎo)致一條流的大量的包亂序問題,解亂序的網(wǎng)絡(luò)設(shè)備需要將報文緩存下來進行排序,對解亂序設(shè)備帶來較大壓力。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法、報文排序方法、裝置及網(wǎng)絡(luò)設(shè)備,能夠降低網(wǎng)絡(luò)設(shè)備解亂序的壓力。
2、本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
3、一方面,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法,應(yīng)用于第一網(wǎng)絡(luò)設(shè)備,報文轉(zhuǎn)發(fā)方法包括:
4、在接收到待轉(zhuǎn)發(fā)報文的情況下,基于所述待轉(zhuǎn)發(fā)報文的路由信息,確定所述待轉(zhuǎn)發(fā)報文的調(diào)度隊列的隊列信息;
5、在所述調(diào)度隊列中為所述待轉(zhuǎn)發(fā)報文分配報文容器;同一報文容器內(nèi)的待轉(zhuǎn)發(fā)報文具備相同轉(zhuǎn)發(fā)路徑;
6、為所述待轉(zhuǎn)發(fā)報文添加信息頭,所述信息頭包括所述報文容器的標(biāo)識、所述隊列信息和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識;
7、將所述待轉(zhuǎn)發(fā)報文轉(zhuǎn)發(fā)至目的網(wǎng)絡(luò)設(shè)備。
8、在上述方案中,同一報文容器內(nèi)的所有待轉(zhuǎn)發(fā)報文的字節(jié)長度之和小于或等于對應(yīng)的報文容器的設(shè)定長度。
9、在上述方案中,所述隊列信息對應(yīng)所述待轉(zhuǎn)發(fā)報文的目的端口的一個優(yōu)先級,所述目的端口的每個優(yōu)先級對應(yīng)一個調(diào)度隊列。
10、在上述方案中,若所述待轉(zhuǎn)發(fā)報文為對應(yīng)的報文容器中的第一個報文,所述待轉(zhuǎn)發(fā)報文的報文頭還包括開始標(biāo)識。
11、在上述方案中,若所述待轉(zhuǎn)發(fā)報文為對應(yīng)的報文容器中的最后一個報文,所述待轉(zhuǎn)發(fā)報文的報文頭還包括結(jié)束標(biāo)識。
12、另一方面,本發(fā)明實施例提供了一種報文排序方法,應(yīng)用于第二網(wǎng)絡(luò)設(shè)備,報文排序方法包括:
13、接收第一網(wǎng)絡(luò)設(shè)備發(fā)送的報文;所述報文包括所述第一網(wǎng)絡(luò)設(shè)備添加的信息頭;
14、解析所述報文的信息頭,得到所述第一網(wǎng)絡(luò)設(shè)備為所述報文分配的報文容器的標(biāo)識、隊列信息和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識;同一報文容器內(nèi)的報文具備相同轉(zhuǎn)發(fā)路徑;
15、在所述隊列信息對應(yīng)的調(diào)度隊列中,基于所報文容器的標(biāo)識和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,對所述報文進行排序。
16、在一實施例中,所述隊列信息對應(yīng)所述報文的目的端口的一個優(yōu)先級,所述目的端口的每個優(yōu)先級對應(yīng)一個調(diào)度隊列。
17、在一實施例中,同一報文容器內(nèi)的所有報文的字節(jié)長度之和小于或等于對應(yīng)的報文容器的設(shè)定長度。
18、在一實施例中,所述基于所報文容器的標(biāo)識和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,對所述報文進行排序,包括:
19、基于所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,確定所述報文容器的標(biāo)識是否是所述第二網(wǎng)絡(luò)設(shè)備當(dāng)前期望的容器標(biāo)識;
20、若所述報文的報文容器標(biāo)識為所述第二網(wǎng)絡(luò)設(shè)備當(dāng)前期望的容器標(biāo)識,則轉(zhuǎn)發(fā)所述報文;否則緩存所述報文。
21、在一實施例中,若所述報文為對應(yīng)的報文容器中的最后一個報文,所述報文的報文頭還包括結(jié)束標(biāo)識;所述方法還包括:
22、若所述報文容器的標(biāo)識為所述第二網(wǎng)絡(luò)設(shè)備當(dāng)前期望的容器標(biāo)識,且所述報文的報文頭還包括所述結(jié)束標(biāo)識,則基于預(yù)設(shè)的期望容器標(biāo)識的優(yōu)先級信息,調(diào)整所述第二網(wǎng)絡(luò)設(shè)備當(dāng)前期望的容器標(biāo)識。
23、在一實施例中,所述方法還包括:
24、若超過設(shè)定時長還未接收到包括結(jié)束標(biāo)識的報文,調(diào)整所述第二網(wǎng)絡(luò)設(shè)備當(dāng)前期望的容器標(biāo)識。
25、另一方面,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)裝置,該裝置包括:
26、確定模塊,用于在接收到待轉(zhuǎn)發(fā)報文的情況下,基于所述待轉(zhuǎn)發(fā)報文的路由信息,確定所述待轉(zhuǎn)發(fā)報文的調(diào)度隊列的隊列信息;
27、分配模塊,用于在所述調(diào)度隊列中為所述待轉(zhuǎn)發(fā)報文分配報文容器;同一報文容器內(nèi)的待轉(zhuǎn)發(fā)報文具備相同轉(zhuǎn)發(fā)路徑;
28、添加模塊,用于為所述待轉(zhuǎn)發(fā)報文添加信息頭,所述信息頭包括所述報文容器的標(biāo)識、所述隊列信息和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識;
29、轉(zhuǎn)發(fā)模塊,用于將所述待轉(zhuǎn)發(fā)報文轉(zhuǎn)發(fā)至目的網(wǎng)絡(luò)設(shè)備。
30、另一方面,本發(fā)明實施例提供了一種報文排序裝置,該裝置包括:
31、接收模塊,用于接收第一網(wǎng)絡(luò)設(shè)備發(fā)送的報文;所述報文包括所述第一網(wǎng)絡(luò)設(shè)備添加的信息頭;
32、解析模塊,用于解析所述報文的信息頭,得到所述第一網(wǎng)絡(luò)設(shè)備為所述報文分配的報文容器的標(biāo)識、隊列信息和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識;同一報文容器內(nèi)的報文具備相同轉(zhuǎn)發(fā)路徑;
33、排序模塊,用于在所述隊列信息對應(yīng)的調(diào)度隊列中,基于所報文容器的標(biāo)識和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,對所述報文進行排序。
34、另一方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)設(shè)備,包括處理器和存儲器,所述處理器和存儲器相互連接,其中,所述存儲器用于存儲計算機程序,所述計算機程序包括程序指令,所述處理器被配置用于調(diào)用所述程序指令,執(zhí)行本發(fā)明實施例提供的報文排序方法的步驟。
35、另一方面,本發(fā)明實施例提供了一種計算機可讀存儲介質(zhì),包括:所述計算機可讀存儲介質(zhì)存儲有計算機程序。所述計算機程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明實施例提供的報文排序方法的步驟。
36、本申請實施例中的第一網(wǎng)絡(luò)設(shè)備在接收到待轉(zhuǎn)發(fā)報文的情況下,基于待轉(zhuǎn)發(fā)報文的路由信息,確定待轉(zhuǎn)發(fā)報文的調(diào)度隊列的隊列信息。在調(diào)度隊列中為待轉(zhuǎn)發(fā)報文分配報文容器,同一報文容器內(nèi)的待轉(zhuǎn)發(fā)報文具備相同轉(zhuǎn)發(fā)路徑。為待轉(zhuǎn)發(fā)報文添加信息頭,信息頭包括報文容器的標(biāo)識、隊列信息和第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,將待轉(zhuǎn)發(fā)報文轉(zhuǎn)發(fā)至目的網(wǎng)絡(luò)設(shè)備。本申請實施例以報文容器為基本轉(zhuǎn)發(fā)單元,相同報文容器內(nèi)的報文選擇相同轉(zhuǎn)發(fā)路徑,這樣到達目的網(wǎng)絡(luò)設(shè)備時報文容器內(nèi)的報文是保序的,目的網(wǎng)絡(luò)設(shè)備僅需要進行報文容器間的排序,無需逐報文排序,排序的粒度變大,可以降低報文亂序概率,降低目的網(wǎng)絡(luò)設(shè)備的解亂序壓力。
1.一種報文轉(zhuǎn)發(fā)方法,應(yīng)用于第一網(wǎng)絡(luò)設(shè)備,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,同一報文容器內(nèi)的所有待轉(zhuǎn)發(fā)報文的字節(jié)長度之和小于或等于對應(yīng)的報文容器的設(shè)定長度。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述隊列信息對應(yīng)所述待轉(zhuǎn)發(fā)報文的目的端口的一個優(yōu)先級,所述目的端口的每個優(yōu)先級對應(yīng)一個調(diào)度隊列。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述待轉(zhuǎn)發(fā)報文為對應(yīng)的報文容器中的第一個報文,所述待轉(zhuǎn)發(fā)報文的報文頭還包括開始標(biāo)識。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述待轉(zhuǎn)發(fā)報文為對應(yīng)的報文容器中的最后一個報文,所述待轉(zhuǎn)發(fā)報文的報文頭還包括結(jié)束標(biāo)識。
6.一種報文排序方法,應(yīng)用于第二網(wǎng)絡(luò)設(shè)備,其特征在于,所述方法包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述隊列信息對應(yīng)所述報文的目的端口的一個優(yōu)先級,所述目的端口的每個優(yōu)先級對應(yīng)一個調(diào)度隊列。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,同一報文容器內(nèi)的所有報文的字節(jié)長度之和小于或等于對應(yīng)的報文容器的設(shè)定長度。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所報文容器的標(biāo)識和所述第一網(wǎng)絡(luò)設(shè)備的標(biāo)識,對所述報文進行排序,包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,若所述報文為對應(yīng)的報文容器中的最后一個報文,所述報文的報文頭還包括結(jié)束標(biāo)識;所述方法還包括:
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括:
12.一種報文轉(zhuǎn)發(fā)裝置,其特征在于,包括:
13.一種報文排序裝置,其特征在于,包括:
14.一種網(wǎng)絡(luò)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如權(quán)利要求1至5所述的報文轉(zhuǎn)發(fā)方法或?qū)崿F(xiàn)如權(quán)利要求6-11所述的報文排序方法。
15.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序包括程序指令,所述程序指令當(dāng)被處理器執(zhí)行時使所述處理器執(zhí)行如權(quán)利要求1至5所述的報文轉(zhuǎn)發(fā)方法或執(zhí)行如權(quán)利要求6-11所述的報文排序方法。