專利名稱:一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)處理領(lǐng)域,具體涉及一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法。
背景技術(shù):
現(xiàn)有網(wǎng)絡(luò)的前端接口通常只能接收有限固定大小的數(shù)據(jù)流量,當(dāng)后端設(shè)備的數(shù)據(jù) 處理能力遠(yuǎn)超過前端接口的數(shù)據(jù)接收能力時,可考慮將多個接收端口的輸入數(shù)據(jù)匯聚后進(jìn) 行統(tǒng)一處理,以消除前端接口的數(shù)據(jù)接收能力瓶頸。在多端口、高帶寬線速數(shù)據(jù)流輸入的情況下,一般可以對不同端口輸入使用獨立 的模塊進(jìn)行處理,但這要以犧牲邏輯規(guī)模和功耗為前提,而且損失了后端模塊的處理性能, 也不易對接收的數(shù)據(jù)流進(jìn)行統(tǒng)一處理。例如申請?zhí)?00710085197. 3的專利公開一種實現(xiàn)數(shù)據(jù)包線速處理的方法和裝 置,包括根據(jù)一定調(diào)度策略調(diào)度當(dāng)前多端口數(shù)據(jù)流輸入請求中的端口獲得響應(yīng)權(quán),對獲得 響應(yīng)權(quán)的端口的數(shù)據(jù)流輸入數(shù)據(jù)包執(zhí)行先進(jìn)先出的緩存處理;對數(shù)據(jù)包的包首數(shù)據(jù)進(jìn)行幀 頭分析,進(jìn)行MAC地址查找,并對應(yīng)端口 ID進(jìn)行標(biāo)簽提取,根據(jù)該標(biāo)簽獲得該數(shù)據(jù)包的流 ID,對該數(shù)據(jù)包進(jìn)行VLAN標(biāo)簽的修改;對端口數(shù)據(jù)流輸入數(shù)據(jù)包的非包首數(shù)據(jù)占用緩存空 間的情況對數(shù)據(jù)包進(jìn)行隨機(jī)早期丟棄,數(shù)據(jù)包進(jìn)行流量監(jiān)管處理,數(shù)據(jù)流輸入的速率進(jìn)行 限制;根據(jù)上述結(jié)果重新拼裝各端口的數(shù)據(jù)流輸入數(shù)據(jù)包中的數(shù)據(jù)后,傳送到數(shù)據(jù)流數(shù)據(jù) 存儲器中存儲。
發(fā)明內(nèi)容
為解決以上缺點,本發(fā)明提出了一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法。一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法,包含以下步驟A、將數(shù)據(jù)包進(jìn)行處理,完畢后將各端口數(shù)據(jù)包匯聚后傳送到數(shù)據(jù)存儲器中存儲;B、數(shù)據(jù)接收處理模塊接收到一個完整的數(shù)據(jù)包后,該模塊向仲裁模塊發(fā)出控制信 息寫入請求;C、仲裁模塊給出仲裁結(jié)果即請求響應(yīng),數(shù)據(jù)接入處理模塊接收到請求的響應(yīng)結(jié)果 后釋放請求。本發(fā)明的一種優(yōu)選技術(shù)方案在于所述A步驟中數(shù)據(jù)包處理過程如下Al、根據(jù)一定的仲裁策略對多端口的數(shù)據(jù)包輸入請求做出仲裁,仲裁結(jié)果寫入存 放控制信息的先入先出緩存中;A2、對輸入的數(shù)據(jù)包進(jìn)行先入先出的緩存處理;A3、根據(jù)可配置的策略,將緩存中某些特定類型的數(shù)據(jù)包進(jìn)行丟棄;A4、根據(jù)數(shù)據(jù)包對緩存的占用情況,對輸入的數(shù)據(jù)包進(jìn)行隨機(jī)丟棄,控制輸入數(shù)據(jù) 包的流量。本發(fā)明的再一種優(yōu)選技術(shù)方案在于所述仲裁模塊內(nèi)部,數(shù)據(jù)接入處理模塊的控 制信息寫入請求被標(biāo)記為Port_Req,請求響應(yīng)標(biāo)記為Port_Ack,當(dāng)且僅當(dāng)不同數(shù)據(jù)接入處
3理模塊同時請求且都沒有得到響應(yīng)時,需根據(jù)優(yōu)先級進(jìn)行仲裁,仲裁之后優(yōu)先級改變,以平 等對待多個端口的輸入數(shù)據(jù)流。本發(fā)明的另一種優(yōu)選技術(shù)方案在于所述仲裁方式不局限于交替優(yōu)先級的方式, 也可根據(jù)應(yīng)用的實際情況使用固定優(yōu)先級,端口輪詢等仲裁方式。本發(fā)明通過一種易于實現(xiàn)的方式將多個端口輸入的數(shù)據(jù)流進(jìn)行仲裁后匯聚處理, 有利于降低邏輯規(guī)模和功耗,有效解決了數(shù)據(jù)流處理的瓶頸。
圖1是本發(fā)明數(shù)據(jù)包處理匯聚結(jié)構(gòu)2是本發(fā)明處理模塊處理過程圖3是本發(fā)明仲裁過程
具體實施方案首先根據(jù)一定的仲裁策略對多端口的數(shù)據(jù)包輸入請求做出仲裁,仲裁結(jié)果寫入存 放控制信息的先入先出緩存中,同時對輸入的數(shù)據(jù)包進(jìn)行先入先出的緩存處理;根據(jù)可配 置的策略,可將緩存中某些特定類型的數(shù)據(jù)包進(jìn)行丟棄根據(jù)數(shù)據(jù)包對緩存的占用情況,對 輸入的數(shù)據(jù)包進(jìn)行隨機(jī)丟棄,以控制輸入數(shù)據(jù)包的流量;根據(jù)存放控制信息的先入先出緩 存(Ctrl FIFO)中的仲裁結(jié)果,決定從多個存放數(shù)據(jù)包的先入先出緩存(Data FIFO)的讀 取順序;最后根據(jù)以上處理結(jié)果,將各端口數(shù)據(jù)包匯聚后傳送到數(shù)據(jù)存儲器中存儲(結(jié)構(gòu) 如附圖1所示)。當(dāng)數(shù)據(jù)接入處理模塊接收到一個完整的數(shù)據(jù)包后,該模塊向仲裁模塊發(fā)出控制信 息寫入請求,之后仲裁模塊給出仲裁結(jié)果即請求響應(yīng),數(shù)據(jù)接入處理模塊接收到請求的響 應(yīng)結(jié)果后釋放請求,而此仲裁過程不會影響到后一個輸入數(shù)據(jù)包的處理(處理過程如附圖 2所示)。在仲裁模塊內(nèi)部,數(shù)據(jù)接入處理模塊的控制信息寫入請求被標(biāo)記為Port_Req,請 求響應(yīng)標(biāo)記為Port_Ack,當(dāng)且僅當(dāng)不同數(shù)據(jù)接入處理模塊同時請求且都沒有得到響應(yīng)時 (即有兩個以上Port_Req有效,且有效的Port_Req所對應(yīng)的Port_Ack無效),需根據(jù)優(yōu)先 級(Priority)進(jìn)行仲裁,仲裁之后優(yōu)先級改變,以平等對待多個端口的輸入數(shù)據(jù)流。(仲裁 過程如附圖3所示)本發(fā)明中的端口數(shù)據(jù)流仲裁方式不僅限于交替優(yōu)先級的方式,也可根據(jù)應(yīng)用的實 際情況使用固定優(yōu)先級,端口輪詢等仲裁方式。將本發(fā)明的數(shù)據(jù)存儲模塊也可擴(kuò)展為數(shù)據(jù)分發(fā)模塊,可將接收匯聚后的數(shù)據(jù)根據(jù) 應(yīng)用的不同而送往不同的后端處理,而不僅限于將數(shù)據(jù)保存到DDR2中。
權(quán)利要求
1.一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法,其特征在于包含以下步驟A、將數(shù)據(jù)包進(jìn)行處理,完畢后將各端口數(shù)據(jù)包匯聚后傳送到數(shù)據(jù)存儲器中存儲;B、數(shù)據(jù)接收處理模塊接收到一個完整的數(shù)據(jù)包后,該模塊向仲裁模塊發(fā)出控制信息寫 入請求;C、仲裁模塊給出仲裁結(jié)果即請求響應(yīng),數(shù)據(jù)接入處理模塊接收到請求的響應(yīng)結(jié)果后釋 放請求。
2.如權(quán)利要求1所述一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法,其特征在于所述A步驟中數(shù) 據(jù)包處理過程如下Al、根據(jù)一定的仲裁策略對多端口的數(shù)據(jù)包輸入請求做出仲裁,仲裁結(jié)果寫入存放控 制信息的先入先出緩存中;A2、對輸入的數(shù)據(jù)包進(jìn)行先入先出的緩存處理;A3、根據(jù)可配置的策略,將緩存中某些特定類型的數(shù)據(jù)包進(jìn)行丟棄;A4、根據(jù)數(shù)據(jù)包對緩存的占用情況,對輸入的數(shù)據(jù)包進(jìn)行隨機(jī)丟棄,控制輸入數(shù)據(jù)包的 流量。
3.如權(quán)利要求1所述一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法,其特征在于所述仲裁模塊 內(nèi)部,數(shù)據(jù)接入處理模塊的控制信息寫入請求被標(biāo)記為Port_Req,請求響應(yīng)標(biāo)記為Port_ Ack,當(dāng)且僅當(dāng)不同數(shù)據(jù)接入處理模塊同時請求且都沒有得到響應(yīng)時,需根據(jù)優(yōu)先級進(jìn)行仲 裁,仲裁之后優(yōu)先級改變,以平等對待多個端口的輸入數(shù)據(jù)流。
4.如權(quán)利要求2所述一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法,其特征在于所述仲裁方式不 局限于交替優(yōu)先級的方式,也可根據(jù)應(yīng)用的實際情況使用固定優(yōu)先級,端口輪詢等仲裁方 式。
全文摘要
本發(fā)明提供了一種多端口網(wǎng)卡數(shù)據(jù)流匯聚方法。將數(shù)據(jù)包進(jìn)行處理,完畢后將各端口數(shù)據(jù)包匯聚后傳送到數(shù)據(jù)存儲器中存儲;數(shù)據(jù)接收處理模塊接收到一個完整的數(shù)據(jù)包后,該模塊向仲裁模塊發(fā)出控制信息寫入請求;仲裁模塊給出仲裁結(jié)果即請求響應(yīng),數(shù)據(jù)接入處理模塊接收到請求的響應(yīng)結(jié)果后釋放請求。本發(fā)明通過一種易于實現(xiàn)的方式將多個端口輸入的數(shù)據(jù)流進(jìn)行仲裁后匯聚處理,有利于降低邏輯規(guī)模和功耗,有效解決了數(shù)據(jù)流處理的瓶頸。
文檔編號H04L12/56GK102065011SQ20101059812
公開日2011年5月18日 申請日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者張磊, 張英文, 李旭, 李靜, 白宗元, 紀(jì)奎 申請人:天津曙光計算機(jī)產(chǎn)業(yè)有限公司