亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種會話表項的管理方法和裝置與流程

文檔序號:12135239閱讀:252來源:國知局
一種會話表項的管理方法和裝置與流程

本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種會話表項的管理方法和裝置。



背景技術(shù):

為了提高轉(zhuǎn)發(fā)設(shè)備的轉(zhuǎn)發(fā)性能,簡化報文上送至協(xié)議棧的處理流程,當(dāng)報文上送至對應(yīng)的CPU在協(xié)議棧中處理完成后,通常可以根據(jù)協(xié)議棧的業(yè)務(wù)處理結(jié)果,創(chuàng)建對應(yīng)的會話表項,然后由所述會話表項生成會話表。設(shè)備接收到報文后,首先將該報文與會話表中的會話表項均進(jìn)行匹配,如果匹配不成功,則將報文上送至對應(yīng)的CPU在協(xié)議棧進(jìn)行業(yè)務(wù)處理,并在業(yè)務(wù)處理完成后,基于該報文的五元組、以及對應(yīng)的業(yè)務(wù)類型信息生成對應(yīng)的會話表項,下發(fā)至所述會話表。如果匹配成功,則可以根據(jù)會話表項中記錄的信息進(jìn)行相應(yīng)的轉(zhuǎn)發(fā),通過這種方式,可以減少將報文上送至對應(yīng)的CPU在協(xié)議棧中執(zhí)行重復(fù)的業(yè)務(wù)處理,從而可以提升設(shè)備的轉(zhuǎn)發(fā)性能。



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

有鑒于此,本申請?zhí)峁┮环N會話表項的管理方法和裝置,應(yīng)用于多核轉(zhuǎn)發(fā)設(shè)備,提升設(shè)備的轉(zhuǎn)發(fā)性能。

具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:

一種會話表項的管理方法,應(yīng)用于多核轉(zhuǎn)發(fā)設(shè)備,包括:

將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā);

所述CPU生成與該報文對應(yīng)的會話表項,并基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,并將該會話表項下發(fā)至所述目標(biāo)會話表;

針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

一種會話表項的管理裝置,應(yīng)用于多核轉(zhuǎn)發(fā)設(shè)備,包括:

匹配單元,用于將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述報文與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā);

生成單元,用于所述CPU生成與該報文對應(yīng)的會話表項,并基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,并將該會話表項下發(fā)至所述目標(biāo)會話表;

老化單元,用于針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

由以上本申請?zhí)峁┑募夹g(shù)方案可見,在本申請中,多核轉(zhuǎn)發(fā)設(shè)備通過預(yù)先配置多個會話表,在接收到報文時,將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述報文與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā),并由該CPU生成與該報文對應(yīng)的會話表項,以及基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,將該會話表項下發(fā)至所述目標(biāo)會話表;同時還可以針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

由于在本申請中多核轉(zhuǎn)發(fā)設(shè)備可以使用多個會話表,并且每個會話表分別由獨立的老化線程進(jìn)行并行的老化處理,因此可以提高轉(zhuǎn)發(fā)設(shè)備的性能。

附圖說明

圖1a是本申請示出的一種在相關(guān)技術(shù)中一對會話表項進(jìn)行管理的示意圖;

圖1b是本申請示出的一種在相關(guān)技術(shù)中另一對會話表項進(jìn)行管理的示意圖;

圖1c是本申請示出的一種在相關(guān)技術(shù)中另一對會話表項進(jìn)行管理的示意圖;

圖2是本申請一示例性實施例示出的一種會話表項的管理方法的流程圖;

圖3是本申請一示例性實施例示出的一種會話表項的管理方法的示意圖;

圖4是本申請另一示例性實施例示出的一種會話表項的管理方法的示意圖;

圖5是本申請一示例性實施例示出的控制CPU對各會話表執(zhí)行老化處理的流程圖;

圖6是本申請一示例性實施例示出的一種會話表項的管理裝置所在多核轉(zhuǎn)發(fā)設(shè)備的一種硬件結(jié)構(gòu)圖;

圖7是本申請一示例性實施例示出的一種會話表項的管理裝置。

具體實施方式

這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。

在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。

請參見圖1a,圖1a為本申請示出的一種在相關(guān)技術(shù)中一對會話表項進(jìn)行管理的示意圖。

相關(guān)技術(shù)中,轉(zhuǎn)發(fā)設(shè)備首次收到報文后,會將該報文上送至對應(yīng)CPU在協(xié)議棧中處理,當(dāng)報文上送至對應(yīng)的CPU在協(xié)議棧中處理完成后,通??梢愿鶕?jù)協(xié)議棧的業(yè)務(wù)處理結(jié)果,創(chuàng)建對應(yīng)的會話表項,然后由所述會話表項生成相應(yīng)的會話表。

上述會話表,可以是轉(zhuǎn)發(fā)設(shè)備在完成設(shè)備初始化后,預(yù)先申請分配的一定數(shù)量規(guī)格的會話表項所組成的鏈表。其中,為了便于對會話表項進(jìn)行更好地管理,將所述會話表分為使用鏈表和空閑鏈表,所述空閑鏈表中的會話表項為空閑表項,沒有儲存會話資源;所述使用鏈表中的會話表項可以用于存儲會話資源。

請參見圖1b,圖1b是本申請示出的一種在相關(guān)技術(shù)中另一對會話表項進(jìn)行管理的示意圖。當(dāng)報文第一次發(fā)送至設(shè)備時,設(shè)備可以將該報文上送至CPU,由CPU在協(xié)議棧中對報文進(jìn)行業(yè)務(wù)處理。

當(dāng)在協(xié)議棧中完成對應(yīng)的業(yè)務(wù)處理,并將報文成功轉(zhuǎn)發(fā)后,CPU可以獲得該報文的五元組、與該報文對應(yīng)的業(yè)務(wù)類型信息,接著可以從空閑鏈表中分配一個空閑表項,將該報文的五元組、與該報文對應(yīng)的業(yè)務(wù)類型信息存儲至該空閑表項中,生成對應(yīng)的會話表項,然后將該會話表項下發(fā)至使用鏈表中。

請參見圖1c,圖1c是本申請示出的一種在相關(guān)技術(shù)中另一對會話表項進(jìn)行管理的示意圖。為了充分利用會話表中的存儲資源,可以對該會話表啟用老化機(jī)制,啟用老化線程。該老化線程可以實時遍歷使用鏈表中的會話表項,當(dāng)會話表項的老化時間到達(dá)預(yù)設(shè)的閾值時,可以釋放該會話表項的存儲資源,并將該空閑的會話表項添加至空閑鏈表。

然而,當(dāng)使用鏈表中的會話表項數(shù)量比較多的時候,由于老化線程是采用遍歷的模式,對使用鏈表中的會話表項進(jìn)行檢測,因此針對使用鏈表中老化時間到達(dá)預(yù)設(shè)的時間的會話表項,無法及時釋放該會話表項的存儲資源,并將該空閑的會話表項添加至空閑鏈表。

為了解決現(xiàn)有技術(shù)中的問題,本申請?zhí)峁┝艘环N技術(shù)方案,多核轉(zhuǎn)發(fā)設(shè)備通過預(yù)先配置多個會話表,在接收到報文時,將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述報文與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā),并由該CPU生成與該報文對應(yīng)的會話表項,以及基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,將該會話表項下發(fā)至所述目標(biāo)會話表;同時還可以針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

由于在本申請中多核轉(zhuǎn)發(fā)設(shè)備可以使用多個會話表,并且每個會話表分別由獨立的老化線程進(jìn)行并行的老化處理,因此可以提高轉(zhuǎn)發(fā)設(shè)備的性能。

請參見圖2,圖2是本申請一示例性實施例示出的一種會話表項的管理方法的流程圖,應(yīng)用于多核轉(zhuǎn)發(fā)設(shè)備,具體執(zhí)行以下步驟:

步驟201:將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā);

步驟202:所述CPU生成與該報文對應(yīng)的會話表項,并基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,并將該會話表項下發(fā)至所述目標(biāo)會話表;

步驟203:針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

在本實施例中,為了解決現(xiàn)有技術(shù)中,老化線程對單一的會話表進(jìn)行老化檢測時,針對單一的會話表中老化時間到達(dá)預(yù)設(shè)的時間的會話表項,老化線程無法及時釋放該會話表項的存儲資源,并將該空閑的會話表項添加至空閑鏈表。因此,可以對現(xiàn)有技術(shù)中,可以對單一的會話表進(jìn)行改進(jìn),可以通過使用多個會話表,由多個會話表來分擔(dān)會話表項。其中,會話表的數(shù)量可以根據(jù)整機(jī)的性能來決定,各會話表中會話表項的數(shù)量相等。

在示出的一種實施方式中,為了便于對各會話表對應(yīng)的鏈表中的會話表項進(jìn)行管理,可以將各會話表對應(yīng)的鏈表劃分成使用鏈表和空閑鏈表,其中,使用鏈表用于存放包含會話資源的會話表項,空閑鏈表用于存放空閑的會話表項。

其中,各會話表可以使用同一個空閑鏈表。采用各會話表使用同一個空閑鏈表的方式,可以便于設(shè)備對空閑表項的統(tǒng)一管理,提高設(shè)備的可靠性。

通過將會話表劃分為使用鏈表和空閑鏈表,在將報文與會話表項進(jìn)行匹配時,可以將報文直接與使用鏈表中的會話表項進(jìn)行匹配,避免與空閑鏈表中的會話表項的匹配,從而可以加快報文匹配中目標(biāo)會話表項的速度。

另外,多核設(shè)備包括多個CPU,其中,根據(jù)CPU的用途,可以將這些CPU劃分為數(shù)據(jù)CPU和控制CPU,其中,所述數(shù)據(jù)CPU用于針對上送至本地的報文執(zhí)行轉(zhuǎn)發(fā),為該報文生成對應(yīng)的會話表項以及將生成的會話表項下發(fā)至對應(yīng)的目標(biāo)會話表,所述控制CPU用于針對會話表中的會話表項執(zhí)行老化處理。

請參見圖3,圖3是本申請一示例性實施例示出的一種會話表項的管理方法的示意圖。

在示出的一種實施方式中,如果各會話表分別對應(yīng)一個空閑鏈表,當(dāng)轉(zhuǎn)發(fā)設(shè)備接收到報文時,可以將該報文依次與每一個會話表的使用鏈表中的會話表項進(jìn)行匹配,如果該報文匹配中各會話表中使用鏈表中的任一會話表項,則可以基于該會話表項中的轉(zhuǎn)發(fā)信息,將該報文進(jìn)行轉(zhuǎn)發(fā)。

如果該報文與所有使用鏈表中的所有會話表項均未匹配成功,則可以將該報文上送至對應(yīng)的數(shù)據(jù)CPU在協(xié)議棧中執(zhí)行業(yè)務(wù)處理;其中,為了實現(xiàn)各數(shù)據(jù)CPU的負(fù)載均衡,可以基于負(fù)載均衡算法確定此時負(fù)載最小的數(shù)據(jù)CPU來處理該報文。

當(dāng)負(fù)載最小的數(shù)據(jù)CPU將該報文處理完成后,可以從空閑鏈表中申請一個空閑的會話表項,然后將該報文的五元組,以及與該報文對應(yīng)的業(yè)務(wù)類型信息,生成對應(yīng)的會話表項,然后可以將該會話表項下發(fā)至對應(yīng)的目標(biāo)會話表中。

其中,為了保證各會話表中的會話表項的數(shù)量相等,各數(shù)據(jù)CPU可以實時查詢各會話表中的會話表項的數(shù)量,然后可以基于平均算法,計算出儲存該會話表項的目標(biāo)會話表。

在示出的一種實施方式中,處理該報文的數(shù)據(jù)CPU可以實時查詢各會話表中的會話表項的數(shù)量,然后查找出會話表項數(shù)量最少的會話表,該會話表即為存儲該會話表項的目標(biāo)會話表,確定目標(biāo)會話表項后,可以從該目標(biāo)會話表中申請一個空閑的會話表項,將該報文的五元組,以及與該報文對應(yīng)的業(yè)務(wù)類型信息存儲于該空閑的會話表項中,然后將該會話表項下發(fā)至該會話表項最少的會話表。

請參見圖4,圖4是本申請另一示例性實施例示出的一種會話表項的管理方法的示意圖。

在該實施方式中,當(dāng)各會話表使用同一個空閑鏈表時,數(shù)據(jù)CPU查找到目標(biāo)會話表后,可以從該目標(biāo)會話表的空閑鏈表中申請一個空閑表項,然后可以將該報文的五元組,以及與該報文對應(yīng)的業(yè)務(wù)類型信息添加至該空閑表項中,生成對應(yīng)的會話表項,然后將該會話表項下發(fā)至目標(biāo)會話表。

在本例中,為了充分利用各會話表中的存儲資源,還可以針對各會話表啟用老化機(jī)制,針對各會話表分別啟用對應(yīng)的老化線程,由各老化線程針對各會話表并行的執(zhí)行老化操作。

在示出的一種實施方式中,在多核系統(tǒng)下,可以選用該多核系統(tǒng)中的控制CPU來完成針對各會話表中會話表項中的老化操作。控制CPU可以針對各會話表分別啟動一個對應(yīng)的老化線程。其中,控制CPU為各會話表啟動的老化線程互相獨立,當(dāng)任一老化線程被喚醒進(jìn)行老化操作時,該老化線程只對對應(yīng)的使用鏈表進(jìn)行老化操作。

當(dāng)然,如果沒有控制CPU啟用老化線程,可以由相應(yīng)的數(shù)據(jù)CPU來啟用老化線程;如果多核轉(zhuǎn)發(fā)設(shè)備中存在多個控制CPU時,也可以由不同的控制CPU分別啟用對應(yīng)的老化線程。

請參見圖5,圖5是本申請一示例性實施例示出的控制CPU對各會話表執(zhí)行老化處理的流程圖。

如圖5所示,控制CPU可以控制各會話表的老化線程,對各會話表執(zhí)行并行老化處理。當(dāng)任一老化線程被喚醒后,該老化線程可以實時遍歷會話表中的會話表項,判斷是否存在會話表項的老化時間達(dá)到預(yù)設(shè)的時間,如果會話表中任一會話表項的老化時間達(dá)到預(yù)設(shè)的時間,則可以釋放該會話表項的存儲資源,并將該空閑的會話表項添加至空閑鏈表。如果會話表中所有的會話表項的老化時間均未達(dá)到預(yù)設(shè)的時間,則老化線程繼續(xù)對會話表進(jìn)行遍歷。

通過這種方式,可以充分地使用會話表中的存儲資源,進(jìn)而提高轉(zhuǎn)發(fā)設(shè)備的性能。

通過以上實施例可知,多核轉(zhuǎn)發(fā)設(shè)備通過預(yù)先配置多個會話表,在接收到報文時,將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述報文與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā),并由該CPU生成與該報文對應(yīng)的會話表項,以及基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,將該會話表項下發(fā)至所述目標(biāo)會話表;同時還可以針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

由于在本申請中多核轉(zhuǎn)發(fā)設(shè)備可以使用多個會話表,并且每個會話表分別由獨立的老化線程進(jìn)行并行的老化處理,因此可以提高轉(zhuǎn)發(fā)設(shè)備的性能。

與前述一種會話表項的管理的方法的實施例相對應(yīng),本申請還提供了一種會話表項的管理的裝置的實施例。

本申請一種會話表項的管理的裝置的實施例可以應(yīng)用在多核轉(zhuǎn)發(fā)設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在多核轉(zhuǎn)發(fā)設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機(jī)程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖6所示,為本申請一種會話表項的管理裝置所在多核轉(zhuǎn)發(fā)設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖6所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的多核轉(zhuǎn)發(fā)設(shè)備通常根據(jù)該會話表項的管理的實際功能,還可以包括其他硬件,對此不再贅述。

請參考圖7,圖7是本申請示出的一種會話表項的管理裝置,應(yīng)用于多核轉(zhuǎn)發(fā)設(shè)備,所述轉(zhuǎn)發(fā)設(shè)備中預(yù)先配置了多個會話表,所述裝置包括:匹配單元710,生成單元720,老化單元730。

其中,所述匹配單元710,用于將接收到的報文與所述多個會話表中的會話表項依次執(zhí)行匹配,如果所述報文與所述多個會話表中的會話表項均未匹配成功,則將該報文上送至對應(yīng)的CPU執(zhí)行轉(zhuǎn)發(fā)。

所述生成單元720,用于所述CPU生成與該報文對應(yīng)的會話表項,并基于預(yù)設(shè)平均算法計算與該會話表項對應(yīng)的目標(biāo)會話表,并將該會話表項下發(fā)至所述目標(biāo)會話表。

所述老化單元730,用于針對各會話表分別啟用對應(yīng)的老化線程,并基于各老化線程針對各會話表執(zhí)行并行老化處理。

在本實施例中,所述生成單元720,具體用于實時查詢各會話表中的會話表項的數(shù)量;查找會話表項數(shù)量最少的會話表;將該會話表項數(shù)量最少的會話表確定為與該會話表項對應(yīng)的目標(biāo)會話表。

當(dāng)所述多核轉(zhuǎn)發(fā)設(shè)備至少包括一個數(shù)據(jù)CPU以及至少一個控制CPU;其中,所述數(shù)據(jù)CPU用于針對上送至本地的報文執(zhí)行轉(zhuǎn)發(fā),為該報文生成對應(yīng)的會話表項以及將生成的會話表項下發(fā)至對應(yīng)的目標(biāo)會話表;所述控制CPU用于針對會話表中的會話表項執(zhí)行老化處理時,所述老化單元730,具體用于所述控制CPU針對各會話表分別啟用對應(yīng)的老化線程,并由所述控制CPU基于各老化線程針對各會話表執(zhí)行并行老化處理。

當(dāng)各會話表包含使用鏈表和空閑鏈表時,所述老化單元730,具體用于各老化線程遍歷對應(yīng)的使用鏈表中的會話表項;判斷使用鏈表中的會話表項的老化時間是否超時;如果使用鏈表中任一會話表項的老化時間超時,則釋放該會話表項的存儲資源,并將該會話表項添加至空閑鏈表。

在另一實施方式中,當(dāng)各會話表包含使用鏈表和空閑鏈表,其中,各會話表對應(yīng)的空閑鏈表相同時,所述生成單元720,進(jìn)一步用于從空閑鏈表中為該報文分配空閑會話表項;向該會話表項中記錄該報文的五元組以及對應(yīng)的業(yè)務(wù)類型信息,生成會話表項。

上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。

對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1