国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于多核轉(zhuǎn)發(fā)網(wǎng)絡(luò)地址端口轉(zhuǎn)換的端口分配方法和裝置的制造方法_5

      文檔序號(hào):9691132閱讀:來(lái)源:國(guó)知局
      查詢自身對(duì)應(yīng)的核間隊(duì)列中是否存在報(bào)文,如果存在則從核間隊(duì)列中讀取報(bào)文。
      [0165]另外,第一查找模塊和第一分配模塊在處理時(shí),采用無(wú)鎖方式,第二查找模塊和第二分配模塊在處理時(shí)采用加鎖方式。
      [0166]本實(shí)施例中,通過(guò)為每個(gè)CPU分配獨(dú)立資源池,可以使得多核之間在NAPT資源分配時(shí)互不干擾,性能達(dá)到每核線性增長(zhǎng);通過(guò)在獨(dú)立資源池中的資源不足時(shí)再?gòu)墓灿匈Y源池中分配端口號(hào),可以通過(guò)較低的復(fù)雜度實(shí)現(xiàn)端口資源的分配,保證連接可以被及時(shí)分配到可用的資源,從而提升多核轉(zhuǎn)發(fā)NAPT性能。進(jìn)一步的,通過(guò)位圖查找可以提升查找性能,通過(guò)建立核間隊(duì)列保證負(fù)載均衡。
      [0167]需要說(shuō)明的是,在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。此外,在本發(fā)明的描述中,除非另有說(shuō)明,“多個(gè)”的含義是指至少兩個(gè)。
      [0168]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
      [0169]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
      [0170]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
      [0171 ]此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
      [0172]上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
      [0173]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
      [0174]盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。
      【主權(quán)項(xiàng)】
      1.一種用于多核轉(zhuǎn)發(fā)NAPT的端口分配方法,其特征在于,包括: 接收到報(bào)文后,在CHJ獨(dú)立占用的獨(dú)立資源池中查找是否存在未分配的端口號(hào); 如果所述獨(dú)立資源池中存在未分配的端口號(hào),則在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文; 如果所述獨(dú)立資源池中不存在未分配的端口號(hào),則在多核共有的共有資源池中查找是否存在未分配的端口號(hào); 如果所述共有資源池中存在未分配的端口號(hào),則在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文; 如果所述共有資源池中不存在未分配的端口號(hào),選擇可用CPU,并將所述報(bào)文轉(zhuǎn)發(fā)給所述可用CPU進(jìn)行處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述未分配的端口號(hào)中確定匹配的端口號(hào),包括: 獲取上次分配的端口號(hào),確定與所述上次分配的端口號(hào)相鄰的下一個(gè)端口號(hào); 如果所述下一個(gè)端口號(hào)未被分配,則將所述下一個(gè)端口號(hào)確定為匹配的端口號(hào); 如果所述下一個(gè)端口號(hào)已被分配,選擇下一個(gè)局部域,判斷是否在所述局部域中分配端口號(hào),如果判斷出在所述局部域中分配端口號(hào),則在所述局部域中確定匹配的端口號(hào)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述判斷是否在所述局部域中分配端口號(hào),包括: 獲取所述局部域?qū)?yīng)的位圖,所述位圖表示的狀態(tài)包括:所述局部域內(nèi)所有端口號(hào)處于待分配狀態(tài)、所述局部域內(nèi)所有端口號(hào)處于待釋放狀態(tài)、所述局部域內(nèi)部分端口號(hào)處于待分配狀態(tài)且部分端口號(hào)處于待釋放狀態(tài); 如果所述位圖表示的狀態(tài)是所述局部域內(nèi)所有端口號(hào)處于待分配狀態(tài),或者,所述局部域內(nèi)部分端口號(hào)處于待分配狀態(tài)且部分端口號(hào)處于待釋放狀態(tài),則判斷出在所述局部域中分配端口號(hào)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將所述匹配的端口號(hào)分配給所述報(bào)文之后,所述方法還包括: 記錄端口使用情況; 所述選擇可用CHJ,包括: 根據(jù)記錄的端口使用情況計(jì)算每個(gè)CRJ的權(quán)重值; 根據(jù)每個(gè)CHJ的權(quán)重值,選擇可用CRJ。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述報(bào)文轉(zhuǎn)發(fā)給所述可用CPU進(jìn)行處理,包括: 將所述報(bào)文放入所述可用CPU對(duì)應(yīng)的核間隊(duì)列中,以便所述可用CPU從所述核間隊(duì)列中獲取所述報(bào)文。6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的方法,其特征在于,多核中每個(gè)CPU對(duì)應(yīng)的獨(dú)立資源池中包括的端口數(shù)是相同的。7.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的方法,其特征在于,在獨(dú)立資源池中處理時(shí),采用無(wú)鎖方式,在共有資源池中處理時(shí)采用加鎖方式。8.一種用于多核轉(zhuǎn)發(fā)NAPT的端口分配裝置,其特征在于,包括: 第一查找模塊,用于接收到報(bào)文后,在CPU獨(dú)立占用的獨(dú)立資源池中查找是否存在未分配的端口號(hào); 第一分配模塊,用于在所述獨(dú)立資源池中存在未分配的端口號(hào)時(shí),在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文; 第二查找模塊,用于在所述獨(dú)立資源池中不存在未分配的端口號(hào)時(shí),在多核共有的共有資源池中查找是否存在未分配的端口號(hào); 第二分配模塊,用于在所述共有資源池中存在未分配的端口號(hào)時(shí),在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文; 轉(zhuǎn)發(fā)模塊,用于在所述共有資源池中不存在未分配的端口號(hào)時(shí),選擇可用CPU,并將所述報(bào)文轉(zhuǎn)發(fā)給所述可用CHJ進(jìn)行處理。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一分配模塊或所述第二分配模塊用于在所述未分配的端口號(hào)中確定匹配的端口號(hào),包括: 獲取上次分配的端口號(hào),確定與所述上次分配的端口號(hào)相鄰的下一個(gè)端口號(hào); 如果所述下一個(gè)端口號(hào)未被分配,則將所述下一個(gè)端口號(hào)確定為匹配的端口號(hào); 如果所述下一個(gè)端口號(hào)已被分配,選擇下一個(gè)局部域,判斷是否在所述局部域中分配端口號(hào),如果判斷出在所述局部域中分配端口號(hào),則在所述局部域中確定匹配的端口號(hào)。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 記錄模塊,用于記錄端口使用情況; 所述轉(zhuǎn)發(fā)模塊用于選擇可用CHJ,包括: 根據(jù)記錄的端口使用情況計(jì)算每個(gè)CPU的權(quán)重值;以及,根據(jù)每個(gè)CPU的權(quán)重值,選擇可用 CPU。
      【專利摘要】本發(fā)明提出一種用于多核轉(zhuǎn)發(fā)NAPT的端口分配方法和裝置,該用于多核轉(zhuǎn)發(fā)NAPT的端口分配方法包括:接收到報(bào)文后,在CPU獨(dú)立占用的獨(dú)立資源池中查找是否存在未分配的端口號(hào);如果存在,則在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文;如果不存在,則在多核共有的共有資源池中查找是否存在未分配的端口號(hào);如果所述共有資源池中存在未分配的端口號(hào),則在所述未分配的端口號(hào)中確定匹配的端口號(hào),并將所述匹配的端口號(hào)分配給所述報(bào)文;如果所述共有資源池中不存在未分配的端口號(hào),選擇可用CPU,并將所述報(bào)文轉(zhuǎn)發(fā)給所述可用CPU進(jìn)行處理。該方法能夠提升多核轉(zhuǎn)發(fā)NAPT的性能。
      【IPC分類】H04L29/12
      【公開(kāi)號(hào)】CN105450792
      【申請(qǐng)?zhí)枴緾N201510980638
      【發(fā)明人】劉健男
      【申請(qǐng)人】東軟集團(tuán)股份有限公司
      【公開(kāi)日】2016年3月30日
      【申請(qǐng)日】2015年12月23日
      當(dāng)前第5頁(yè)1 2 3 4 5 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1