一種動態(tài)變更的傳輸報文處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種動態(tài)變更的傳輸報文處理方法和裝置。
【背景技術(shù)】
[0002] 隨著計算機網(wǎng)絡(luò)的普及,用戶對網(wǎng)絡(luò)帶寬的需求不斷提高,網(wǎng)絡(luò)設(shè)備的處理能力 也越來越高。作為網(wǎng)絡(luò)設(shè)備的核心處理單元,CPU (Central Processing Unit,核心處理器) 的性能成為決定一個網(wǎng)絡(luò)設(shè)備處理能力的重要標準。自從多核處理器的出現(xiàn),使得網(wǎng)絡(luò)設(shè) 備的處理能力上了一個新的臺階。多核架構(gòu)的處理器,能對報文進行并行處理,提高了處理 能力,但產(chǎn)生了并行處理中報文亂序的現(xiàn)象,導(dǎo)致報文轉(zhuǎn)發(fā)時產(chǎn)生諸如TCP (Transmission Control Protocol,傳輸控制協(xié)議)報文或UDP (User Datagram Protocol,用戶數(shù)據(jù)報協(xié) 議)報文亂序等問題,報文的保序需求隨之產(chǎn)生。例如,雙核CPU按照報文1、2的順序依次 接收到2個報文并分別分發(fā)給核C1、核C2進行處理,由于報文內(nèi)容,CPU處理策略以及每個 核的負載情況均存在差異,有可能出現(xiàn)報文2先處理完畢,報文1后處理完畢的情況,此時, 若CPU把處理完畢的報文直接發(fā)送出去,就出現(xiàn)了發(fā)送報文順序為2、1的亂序現(xiàn)象。
[0003] 現(xiàn)有技術(shù)中進行報文保序設(shè)計時采用兩種方法,第一種保序方法是在報文進入網(wǎng) 絡(luò)傳輸設(shè)備處理前對報文進行預(yù)處理編號,在處理完成后按照編號發(fā)送出去,但采用這種 方法進行保序的缺點是處理模塊復(fù)雜,對設(shè)備要求高,算法的好壞直接影響設(shè)備的整體處 理能力。第二種保序方法是根據(jù)報文流特性進行分類,分到不同的線程中分類處理,通過保 證單獨特征流的順序處理來對整個報文進行保續(xù),但采用這種方法進行保序的缺點是特征 流的提取方式直接影響到設(shè)備的接入處理能力,而在網(wǎng)絡(luò)上的數(shù)據(jù)流類型并非是一成不變 的,其特征是根據(jù)運營商組網(wǎng)和用戶業(yè)務(wù)類型是不停變化的,目前的特征流分類算法不可 動態(tài)變更,適用范圍單一,不適合靈活組網(wǎng)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提供一種動態(tài)變更的傳輸報文處理方法和裝置,以解決現(xiàn)有報文 保序采用的特征流分類方式不可動態(tài)變更的問題。
[0005] 本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0006] 一種動態(tài)變更的傳輸報文處理方法,包括:
[0007] 接收待處理的報文;
[0008] 判斷所述報文的類型是否為需保序的報文;
[0009] 確定所述報文為需要保序的報文時,獲取所述報文的業(yè)務(wù)流標識,基于系統(tǒng)預(yù)置 的三種特征流算法,隨機選擇一種特征流算法生成所述報文的業(yè)務(wù)流分發(fā)方式,基于所述 業(yè)務(wù)流分發(fā)方式進行所述報文的處理。
[0010] 這樣,通過預(yù)制多種特征流分類算法,能夠根據(jù)不同的組網(wǎng)和設(shè)備形態(tài)可動態(tài)更 改特征流分類算法,最大限度減小現(xiàn)有報文業(yè)務(wù)流保序方式的缺點,而且成本小,可操作性 強,進一步提升報文處理性能,此外,在某種特定場合下,通過動態(tài)算法選擇而不是重新組 網(wǎng),能夠簡化組網(wǎng)拓撲,減少網(wǎng)絡(luò)復(fù)雜性,同時減少設(shè)備維護成本。
[0011] 可選的,判斷所述報文的類型是否為需保序的報文,包括:
[0012] 獲取所述報文的屬性信息,若確定所述報文為TCP或UDP類型的報文,則判定所述 報文為需保序的報文;若確定所述報文為其他類型的報文,則判定所述報文為無需保序的 報文。
[0013] 可選的,確定所述報文為無需保序的報文之后,進一步包括:
[0014] 將所述無需保序的報文按照輪叫調(diào)度的方式選擇對應(yīng)的處理器,將所述無需保序 的報文發(fā)送到對應(yīng)的處理器上進行所述無需保序的報文的處理。
[0015] 可選的,將所述無需保序的報文發(fā)送到對應(yīng)的處理器上進行所述無需保序的報文 的處理,具體包括:
[0016] 若對應(yīng)的處理器的性能指標達到預(yù)設(shè)的閾值時,丟棄發(fā)往所述處理器上的所述無 需保序的報文;
[0017] 若對應(yīng)的處理器的性能指標沒有達到預(yù)設(shè)的閾值時,將所述無需保序的報文發(fā)送 到所述對應(yīng)的處理器上進行所述無需保序的報文的處理。
[0018] 可選的,所述報文的業(yè)務(wù)流標識為報文的源IP地址、源目的IP地址、三層協(xié)議號、 源端口號、源目的端口號。
[0019] 可選的,確定所述報文為需要保序的報文時,獲取所述報文的業(yè)務(wù)流標識,基于系 統(tǒng)預(yù)置的三種特征流算法,隨機選擇一種特征流算法生成所述報文的業(yè)務(wù)流分發(fā)方式,基 于所述業(yè)務(wù)流分發(fā)方式進行所述報文的處理,具體包括:
[0020] 確定所述報文為需要保序的報文時,獲取所述報文的源IP地址和三層協(xié)議號,利 用哈希算法,進行哈希運算生成一個4比特的主鍵標識,將所述報文發(fā)送到所述主鍵標識 對應(yīng)的處理器上進行所述報文的處理;或者,
[0021] 確定所述報文為需要保序的報文時,獲取所述報文的源IP地址、三層協(xié)議號和源 端口號,利用哈希算法,進行哈希運算生成一個4比特的主鍵標識,將所述報文發(fā)送到所述 主鍵標識對應(yīng)的處理器上進行所述報文的處理;或者,
[0022] 確定所述報文為需要保序的報文時,獲取所述報文的源目的IP地址、三層協(xié)議號 和源目的端口號,利用哈希算法,進行哈希運算生成一個4比特的主鍵標識,將所述報文發(fā) 送到所述主鍵標識對應(yīng)的處理器上進行所述報文的處理。
[0023] 可選的,將所述報文發(fā)送到所述主鍵標識對應(yīng)的處理器上進行所述報文的處理, 具體包括:
[0024] 若所述主鍵標識對應(yīng)的處理器的性能指標達到預(yù)設(shè)的閾值時,丟棄發(fā)往所述主鍵 標識對應(yīng)的處理器上的所述報文;
[0025] 若所述主鍵標識對應(yīng)的處理器的性能指標沒有達到預(yù)設(shè)的閾值時,將所述報文發(fā) 送到所述主鍵標識對應(yīng)的處理器上進行所述報文的處理。
[0026] -種動態(tài)變更的傳輸報文處理裝置,包括:
[0027] 接收單元,用于接收待處理的報文;
[0028] 判斷單元,用于判斷所述報文的類型是否為需保序的報文;
[0029] 分發(fā)單元,用于確定所述報文為需要保序的報文時,獲取所述報文的業(yè)務(wù)流標識, 基于系統(tǒng)預(yù)置的三種特征流算法,隨機選擇一種特征流算法生成所述報文的業(yè)務(wù)流分發(fā)方 式,基于所述業(yè)務(wù)流分發(fā)方式進行所述報文的處理。
[0030] 這樣,通過預(yù)制多種特征流分類算法,能夠根據(jù)不同的組網(wǎng)和設(shè)備形態(tài)可動態(tài)更 改特征流分類算法,最大限度減小現(xiàn)有報文業(yè)務(wù)流保序方式的缺點,而且成本小,可操作性 強,進一步提升報文處理性能,此外,在某種特定場合下,通過動態(tài)算法選擇而不是重新組 網(wǎng),能夠簡化組網(wǎng)拓撲,減少網(wǎng)絡(luò)復(fù)雜性,同時減少設(shè)備維護成本。
[0031] 可選的,判斷所述報文的類型是否為需保序的報文時,所述判斷單元用于:
[0032] 獲取所述報文的屬性信息,若確定所述報文為TCP或UDP類型的報文,則判定所述 報文為需保序的報文;若確定所述報文為其他類型的報文,則判定所述報文為無需保序的 報文。
[0033] 可選的,確定所述報文為無需保序的報文之后,所述分發(fā)單元進一步用于:
[0034] 將所述無需保序的報文按照輪叫調(diào)度的方式選擇對應(yīng)的處理器,將所述無需保序 的報文發(fā)送到對應(yīng)的處理器上進行所述無需保序的報文的處理。
[0035] 可選的,將所述無需保序的報文發(fā)送到對應(yīng)的處理器上進行所述無需保序的報文 的處理時,所述分發(fā)單元具體用于:
[0036] 若對應(yīng)的處理器的性能指標達到預(yù)設(shè)的閾值時,丟棄發(fā)往所述處理器上的所述無 需保序的報文;
[0037] 若對應(yīng)的處理器的性能指標沒有達到預(yù)設(shè)的閾值時,將所述無需保序的報文發(fā)送 到所述對應(yīng)的處理器上進行所述無需保序的報文的處理。
[0038] 可選的,所述分發(fā)單元獲取的所述報文的業(yè)務(wù)流標識為報文的源IP地址、源目的 IP地址、三層協(xié)議號、源端口號、源目的端口號。
[0039] 可選的,確定所述報文為需要保序的報文時,獲取所述報