欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種流表遍歷業(yè)務(wù)的實現(xiàn)方法及裝置與流程

文檔序號:12623330閱讀:346來源:國知局
一種流表遍歷業(yè)務(wù)的實現(xiàn)方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種流表遍歷業(yè)務(wù)的實現(xiàn)方法及裝置。



背景技術(shù):

隨著互聯(lián)網(wǎng)爆炸式發(fā)展,網(wǎng)絡(luò)流量急劇增加,各種新興業(yè)務(wù)層出不窮,通過建立流表描述每個數(shù)據(jù)報文的上下文環(huán)境的數(shù)據(jù)通信設(shè)備會建立大量會話表項,通常在十兆數(shù)量級以上,而對這大量流表如何高效管理成為通信設(shè)備一個必須要解決的問題。

在傳統(tǒng)的解決方案中,通過cup直接訪問存儲流表的存儲設(shè)備,由于cpu處理能力和PCI總線速度的制約,在表項較多時效率比較低。

因此,如何提供一種可提高效率的流表遍歷業(yè)務(wù)的實現(xiàn)方法,是本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。



技術(shù)實現(xiàn)要素:

本發(fā)明提供了一種流表遍歷業(yè)務(wù)的實現(xiàn)方法及裝置,以解決現(xiàn)有技術(shù)效率較低的問題。

本發(fā)明提供了一種流表遍歷業(yè)務(wù)的實現(xiàn)方法,其包括:控制模塊獲取流表遍歷業(yè)務(wù)的業(yè)務(wù)參數(shù),并下發(fā)給協(xié)處理模塊;協(xié)處理模塊控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)。

進一步的,還包括:控制模塊獲取協(xié)處理模塊的處理結(jié)果。

進一步的,控制模塊獲取協(xié)處理模塊的處理結(jié)果包括:協(xié)處理模塊將處理結(jié)果發(fā)送至存儲模塊,控制模塊從存儲模塊獲取處理結(jié)果。

進一步的,還包括:控制模塊根據(jù)處理結(jié)果進行統(tǒng)計,并向用戶展示統(tǒng)計結(jié)果。

進一步的,協(xié)處理模塊控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)包括:網(wǎng)絡(luò)處理器中的調(diào)度核根據(jù)業(yè)務(wù)參數(shù)將流表調(diào)度給各業(yè)務(wù)核,業(yè)務(wù)核處理為其調(diào)度的流表。

本發(fā)明提供了一種流表遍歷業(yè)務(wù)的實現(xiàn)裝置,其包括:控制模塊,用于獲取流表遍歷業(yè)務(wù)的業(yè)務(wù)參數(shù),并下發(fā)給協(xié)處理模塊;協(xié)處理模塊,用于控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)。

進一步的,控制模塊還用于獲取協(xié)處理模塊的處理結(jié)果。

進一步的,還包括存儲模塊,協(xié)處理模塊用于將處理結(jié)果發(fā)送至存儲模塊,控制模塊用于從存儲模塊獲取處理結(jié)果。

進一步的,控制模塊還用于根據(jù)處理結(jié)果進行統(tǒng)計,并向用戶展示統(tǒng)計結(jié)果。

進一步的,協(xié)處理模塊具體用于控制網(wǎng)絡(luò)處理器中的調(diào)度核根據(jù)業(yè)務(wù)參數(shù)將流表調(diào)度給各業(yè)務(wù)核,業(yè)務(wù)核處理為其調(diào)度的流表。

本發(fā)明的有益效果:

本發(fā)明提供了一種流表遍歷業(yè)務(wù)的實現(xiàn)方法,采用網(wǎng)絡(luò)處理器執(zhí)行流表遍歷業(yè)務(wù),各種算法可以通過硬件實現(xiàn),在實現(xiàn)復(fù)雜的擁塞管理、隊列調(diào)度、流分類和QoS功能的前提下,還可以達到極高的查找、轉(zhuǎn)發(fā)性能,實現(xiàn)“硬轉(zhuǎn)發(fā)”; 相對于純硬件的芯片,網(wǎng)絡(luò)處理器完全支持編程,編程模式簡單,一旦有新的技術(shù)或者需求出現(xiàn),可以很方便地通過微碼編程進行實現(xiàn);此外,網(wǎng)絡(luò)處理器還具有可擴展性,多個網(wǎng)絡(luò)處理器之間可以互連,構(gòu)成網(wǎng)絡(luò)處理器簇,以支持更為大型高速的網(wǎng)絡(luò)處理,可以有效的解決現(xiàn)有解決方案所存在的效率較低問題。

附圖說明

圖1為本發(fā)明第一實施例提供的實現(xiàn)裝置的結(jié)構(gòu)示意圖;

圖2為本發(fā)明第二實施例提供的實現(xiàn)方法的流程圖;

圖3為本發(fā)明第三實施例提供的實現(xiàn)方法的流程圖。

具體實施方式

現(xiàn)通過具體實施方式結(jié)合附圖的方式對本發(fā)明做出進一步的詮釋說明。

第一實施例:

圖1為本發(fā)明第一實施例提供的實現(xiàn)裝置的結(jié)構(gòu)示意圖,由圖1可知,在本實施例中,本發(fā)明提供的流表遍歷業(yè)務(wù)的實現(xiàn)裝置1包括:

控制模塊11,用于獲取流表遍歷業(yè)務(wù)的業(yè)務(wù)參數(shù),并下發(fā)給協(xié)處理模塊12;

協(xié)處理模塊12,用于控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)。

在一些實施例中,上述實施例中的控制模塊11還用于獲取協(xié)處理模塊12的處理結(jié)果。

在一些實施例中,如圖1所示,上述實施例中的實現(xiàn)裝置1還包括存儲模塊13,協(xié)處理模塊12用于將處理結(jié)果發(fā)送至存儲模塊13,控制模塊11用于從存儲模塊獲取13處理結(jié)果。

在一些實施例中,上述實施例中的控制模塊11還用于根據(jù)處理結(jié)果進行統(tǒng)計,并向用戶展示統(tǒng)計結(jié)果。

在一些實施例中,上述實施例中的協(xié)處理模塊12具體用于控制網(wǎng)絡(luò)處理器中的調(diào)度核根據(jù)業(yè)務(wù)參數(shù)將流表調(diào)度給各業(yè)務(wù)核,業(yè)務(wù)核處理為其調(diào)度的流表。

第二實施例:

圖2為本發(fā)明第二實施例提供的實現(xiàn)方法的流程圖,由圖2可知,在本實施例中,本發(fā)明提供的實現(xiàn)方法包括以下步驟:

S201:控制模塊獲取流表遍歷業(yè)務(wù)的業(yè)務(wù)參數(shù),并下發(fā)給協(xié)處理模塊;

S202:協(xié)處理模塊控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)。

在一些實施例中,上述實施例還包括:控制模塊獲取協(xié)處理模塊的處理結(jié)果。

在一些實施例中,上述實施例中的控制模塊獲取協(xié)處理模塊的處理結(jié)果包括:協(xié)處理模塊將處理結(jié)果發(fā)送至存儲模塊,控制模塊從存儲模塊獲取處理結(jié)果。

在一些實施例中,上述實施例還包括:控制模塊根據(jù)處理結(jié)果進行統(tǒng)計,并向用戶展示統(tǒng)計結(jié)果。

在一些實施例中,上述實施例中的協(xié)處理模塊控制其內(nèi)各網(wǎng)絡(luò)處理器根據(jù)業(yè)務(wù)參數(shù)處理流表遍歷業(yè)務(wù)包括:網(wǎng)絡(luò)處理器中的調(diào)度核根據(jù)業(yè)務(wù)參數(shù)將流表 調(diào)度給各業(yè)務(wù)核,業(yè)務(wù)核處理為其調(diào)度的流表。

現(xiàn)結(jié)合具體應(yīng)用實例對本發(fā)明做進一步的詮釋說明。

第三實施例:

圖3為本發(fā)明第三實施例提供的實現(xiàn)方法的流程圖,由圖3可知,在本實施例中,本發(fā)明提供的實現(xiàn)方法包括以下步驟:

S301:控制模塊獲取業(yè)務(wù)參數(shù)并下發(fā)給協(xié)處理模塊。

用戶下發(fā)業(yè)務(wù)請求,控制模塊收到用戶下發(fā)的業(yè)務(wù)請求,將獲得的參數(shù)以消息的形式下發(fā)給底層協(xié)處理模塊,同時監(jiān)聽協(xié)處理模塊的處理進程。

S302:協(xié)處理模塊處理流表遍歷業(yè)務(wù)。

協(xié)處理模塊的兩個網(wǎng)絡(luò)處理器分別收到控制模塊下發(fā)的統(tǒng)計消息,將參數(shù)解析出來后根據(jù)用戶需求進行相應(yīng)的業(yè)務(wù)處理,這里流表業(yè)務(wù)處理,相對與傳統(tǒng)的CPU直接遍歷,本申請采用多內(nèi)核并行處理,一個內(nèi)核負責(zé)做命令調(diào)度,其他內(nèi)核負責(zé)遍歷流表處理相應(yīng)業(yè)務(wù),而非一個內(nèi)核遍歷所有流表,而是將整塊內(nèi)核均分給其他業(yè)務(wù)處理內(nèi)核處理以提高效率,最后將結(jié)果或?qū)懭胪庠O(shè)存儲設(shè)備中或直接以消息的形式發(fā)給控制模塊。

在本申請中,將流表遍歷流程放在協(xié)處理模塊處理,設(shè)流表總量為M,設(shè)計用多個核來并行處理整個流表遍歷流程,其中一個核用來做命令調(diào)度,剩下的L個核用來做具體業(yè)務(wù)處理,當做命令調(diào)度的核收到上層控制模塊下發(fā)的業(yè)務(wù)消息時,先初始化,包括設(shè)置一個全局的控制變量index_cnt,通過index_cnt的值可以知道此次業(yè)務(wù)處理進度。當index_cnt等于L時,通知其他核開始遍歷流表,同時為提高效率,做業(yè)務(wù)處理的核并不是一個核遍歷所有流表,而是將整塊流表均分為L塊,這里的平均并不是絕對平均,而是一個大概均分,原則 是各個核負責(zé)的流表塊之間沒有重疊,同時覆蓋所有流表,另外,盡量讓每個業(yè)務(wù)核處理的業(yè)務(wù)量相當,以達到統(tǒng)籌效率最優(yōu)的目的。如圖3所示,假設(shè)有M條流表,a=M/L,這樣第i個業(yè)務(wù)核只要負責(zé)第(i-1)*a+1到i*a范圍內(nèi)的流表業(yè)務(wù)就可以了,L個業(yè)務(wù)核并行處理各自負責(zé)的流表塊,當每個業(yè)務(wù)核處理完了各自負責(zé)的流表塊,則將全局的控制變量index_cnt減1,當index_cnt減為0時就代表此整個業(yè)務(wù)處理完成,這時調(diào)度核就將所有業(yè)務(wù)核的處理結(jié)果整合,將最后結(jié)果或直接上報給控制模塊或?qū)懭胪庠O(shè)存儲設(shè)備,如果是寫入外設(shè)存儲設(shè)備,則同時需通知上層控制模塊業(yè)務(wù)已處理完成。

S303:控制模塊統(tǒng)計處理結(jié)果。

當控制模塊監(jiān)聽到協(xié)處理模塊已經(jīng)統(tǒng)計完成時,分別獲取兩個網(wǎng)絡(luò)處理器的結(jié)果進行再加工,將最終結(jié)果反饋給上層用戶。具體的以TOP-N統(tǒng)計為例進行說明,TOP-N統(tǒng)計是基于上述流表遍歷的基礎(chǔ)上的一個更復(fù)雜的實施例,本發(fā)明可以快速統(tǒng)計基于ip地址、協(xié)議等的流量排名信息,分別顯示排行前10位,前20位,前50位。

TOP-N統(tǒng)計包括以下步驟:

用戶通過命令行參數(shù)配置將流表業(yè)務(wù)下發(fā)給控制模塊。

當控制模塊收到用戶統(tǒng)計請求時解析出相關(guān)參數(shù),然后將參數(shù)構(gòu)造成消息,以消息的形式分別下發(fā)給協(xié)處理模塊的兩個網(wǎng)絡(luò)處理器NP。

每個NP中由做命令調(diào)度的核獲取上層下發(fā)的TOP-N統(tǒng)計消息,做初始化流程,將全局變量index_cnt設(shè)為L(業(yè)務(wù)核的數(shù)目),將整塊流表均分為L份,業(yè)務(wù)核開始遍歷各自負責(zé)的流表塊,基于每個流表及下發(fā)參數(shù)做一個hash鏈表,將所有流表基于下發(fā)參數(shù)做一個統(tǒng)計。在創(chuàng)建HASH表前都會指定HASH表的規(guī) 格,如2的M次方條,根據(jù)從消息中獲取的參數(shù)取出流表中相應(yīng)的流表信息作為關(guān)鍵字做HASH運算得到HASH值H,然后,取值H的0-(M-1)比特位作為HASH表項對應(yīng)的INDEX表索引IDX,如果沒有匹配的INDEX表項,則需要新建一個INDEX表及相應(yīng)的ENTRY表。如果存在匹配的INDEX表則通過INDEX表內(nèi)的值映射其對應(yīng)的ENTRY表,這里,因為可能存在HASH沖突,所以取出ENTRY表后,要也查找關(guān)鍵字進行精確匹配來確認是否為實際要索引的表項,如果是則將表里的統(tǒng)計值進行累計,如果不是則需要新建一個ENTRY表,并將其index值保存在前一個與其hash沖突的ENTRY表中,以建立聯(lián)系。每個業(yè)務(wù)核處理完各自負責(zé)的業(yè)務(wù)后就將index_cnt減1,當負責(zé)命令調(diào)度的核監(jiān)測到index_cnt為0時,代表業(yè)務(wù)核統(tǒng)計業(yè)務(wù)完成,因為完成統(tǒng)計后HASH表比較大,所以不能將統(tǒng)計結(jié)果即時反饋給上層控制模塊,而是將所有的HASH表保存在外設(shè)存儲設(shè)備中,同時通知上層控制模塊底層統(tǒng)計業(yè)務(wù)完成。

當控制模塊監(jiān)聽到兩個NP統(tǒng)計完成時,直接從NP下掛下的外設(shè)存儲設(shè)備讀取各自的HASH統(tǒng)計鏈表。因為要將兩個網(wǎng)絡(luò)處理器的統(tǒng)計結(jié)果整合為一個,所以在實現(xiàn)的時候可以整塊一次讀取其中一個網(wǎng)絡(luò)處理器在外設(shè)存儲設(shè)備里建立的HASH鏈,在此基礎(chǔ)上遍歷另一個網(wǎng)絡(luò)處理器的HASH統(tǒng)計鏈,通過與底層同樣的HASH建立方式或累計或新建,最終將兩個網(wǎng)絡(luò)處理器的統(tǒng)計結(jié)果整合為一個HASH鏈保存到一塊動態(tài)申請的內(nèi)存中。最后遍歷這條HASH鏈,用二分排序法排出前TOP-N的統(tǒng)計結(jié)果反饋給上層用戶。

綜上可知,通過本發(fā)明的實施,至少存在以下有益效果:

采用網(wǎng)絡(luò)處理器執(zhí)行流表遍歷業(yè)務(wù),各種算法可以通過硬件實現(xiàn),在實現(xiàn)復(fù)雜的擁塞管理、隊列調(diào)度、流分類和QoS功能的前提下,還可以達到極高的查 找、轉(zhuǎn)發(fā)性能,實現(xiàn)“硬轉(zhuǎn)發(fā)”;相對于純硬件的芯片,網(wǎng)絡(luò)處理器完全支持編程,編程模式簡單,一旦有新的技術(shù)或者需求出現(xiàn),可以很方便地通過微碼編程進行實現(xiàn);此外,網(wǎng)絡(luò)處理器還具有可擴展性,多個網(wǎng)絡(luò)處理器之間可以互連,構(gòu)成網(wǎng)絡(luò)處理器簇,以支持更為大型高速的網(wǎng)絡(luò)處理,可以有效的解決現(xiàn)有解決方案所存在的效率較低問題。

以上僅是本發(fā)明的具體實施方式而已,并非對本發(fā)明做任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施方式所做的任意簡單修改、等同變化、結(jié)合或修飾,均仍屬于本發(fā)明技術(shù)方案的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广宗县| 龙井市| 叙永县| 通化市| 仪征市| 荥经县| 旺苍县| 杨浦区| 武冈市| 丹寨县| 五大连池市| 曲水县| 古田县| 包头市| 巴东县| 化隆| 乾安县| 桦甸市| 嘉荫县| 梨树县| 游戏| 景谷| 孟村| 泊头市| 庄河市| 柏乡县| 平南县| 扶风县| 周宁县| 延川县| 北京市| 岳阳县| 沙雅县| 丰顺县| 科技| 灵寿县| 锡林郭勒盟| 南乐县| 井研县| 内黄县| 大余县|