專利名稱:一種amp架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信技術(shù)領(lǐng)域,特別是涉及一種多核并行計(jì)算環(huán)境中, AMP (Asymmetric Multiprocessing, # ^ ^ ^h S ) Ig I^J T CPU (Central Processing Unit,中央處理器,以下簡(jiǎn)稱處理器)負(fù)載均衡的實(shí)現(xiàn)方法及裝置。
背景技術(shù):
最近幾年,IPSantrusion Prevention System,入侵防御系統(tǒng))產(chǎn)品成為安全產(chǎn)品市場(chǎng)新的熱點(diǎn),不僅保持了每年100%以上的市場(chǎng)增長(zhǎng)率,而且應(yīng)用領(lǐng)域不斷擴(kuò)大,應(yīng)用技術(shù)也逐步普及。與傳統(tǒng)的IDSantrusion Detection Systems,入侵檢測(cè)系統(tǒng))旁路接入不同,IPS產(chǎn)品采用在線工作方式,即對(duì)接收的數(shù)據(jù)進(jìn)行檢測(cè),然后按照其目的轉(zhuǎn)發(fā),這與安全網(wǎng)關(guān)類產(chǎn)品如防火墻、VPN(Virtual Private Network,虛擬專用網(wǎng))等非常相似。這種工作方式?jīng)Q定了 IPS產(chǎn)品除了要有準(zhǔn)確的檢測(cè)能力,還要有與應(yīng)用網(wǎng)絡(luò)相適應(yīng)的性能要求。實(shí)際上自IPS產(chǎn)品誕生以來(lái),一直采用協(xié)議識(shí)別和攻擊特征模式匹配等成熟技術(shù),困擾其應(yīng)用范圍的主要是性能要求。目前的防火墻達(dá)到千兆線速、4G、甚至10G轉(zhuǎn)發(fā)能力已屬平常,但I(xiàn)PS要實(shí)現(xiàn)這一性能絕非易事。在IPS中不僅需要檢查數(shù)據(jù)報(bào)文的頭部,還要針對(duì)具體的應(yīng)用協(xié)議檢查數(shù)據(jù)報(bào)文的內(nèi)容,這就使得在IPS中五元組相同的數(shù)據(jù)報(bào)文也不能“加速處理”,也就是說(shuō)在IPS處理數(shù)據(jù)報(bào)文的整個(gè)路途中沒(méi)有“捷徑”,IPS需要對(duì)流經(jīng)自身的每一個(gè)報(bào)文進(jìn)行逐一檢測(cè)。這樣IPS成為CPU資源的主要耗費(fèi)者,其性能很大程度上取決于硬件處理器的處理能力。近年來(lái)多核處理器的發(fā)展為利用并行處理技術(shù)提升IPS產(chǎn)品性能提供了廣闊的空間,由于處理器計(jì)算能力的提升對(duì)IPS檢測(cè)全路徑都是有效的,所以從理論上講內(nèi)核數(shù)量與性能提升成正比。但是理論不等于實(shí)踐,實(shí)際性能的提升主要取決于IPS對(duì)各個(gè)處理器均衡的利用,即發(fā)揮每一個(gè)處理器的最大計(jì)算能力。在多核并行計(jì)算環(huán)境中一般有兩種處理器工作構(gòu)架,一種是SMP(Symmetrical Multiprocessing,對(duì)稱多處理)方式,也稱為同構(gòu)方式,SMP方式顧名思義就是將多個(gè)內(nèi)核平等看待,每個(gè)內(nèi)核擔(dān)負(fù)的工作都相同,且每個(gè)內(nèi)核上都運(yùn)行一套IPS系統(tǒng),這樣從數(shù)據(jù)接收、連接建立、數(shù)據(jù)檢測(cè)到數(shù)據(jù)發(fā)送都是并發(fā)執(zhí)行的,相當(dāng)于多個(gè)IPS系統(tǒng)在同時(shí)運(yùn)行。這種架構(gòu)比較簡(jiǎn)潔,各個(gè)處理器內(nèi)核負(fù)載均衡,但是因?yàn)樗袃?nèi)核都擔(dān)負(fù)相同的工作,勢(shì)必產(chǎn)生對(duì)共享資源(內(nèi)存數(shù)據(jù)、文件描述符、1/0設(shè)備等)的大量爭(zhēng)用,為處理這些并發(fā)與同步使用的大量鎖機(jī)制,又嚴(yán)重制約了性能發(fā)揮,更嚴(yán)重的是隨著內(nèi)核數(shù)量的增多,并發(fā)與同步的消耗達(dá)到一定的量級(jí),性能不但不會(huì)增長(zhǎng)反而會(huì)有所下降。另一種為AMP方式,也稱為異構(gòu)方式。AMP方式就是將多個(gè)內(nèi)核區(qū)別看待,可以運(yùn)行不同的操作系統(tǒng)也可以在相同的操作系統(tǒng)上運(yùn)行不同的任務(wù),各個(gè)處理器內(nèi)核按照任務(wù)劃分,各負(fù)其責(zé),規(guī)避共享資源的競(jìng)爭(zhēng),從而提升IPS產(chǎn)品的綜合性能。完整的操作系統(tǒng)往往比較龐大,耗費(fèi)資源較多,效率也較低。拿出幾個(gè)物理內(nèi)核,在其上建立一種簡(jiǎn)易的系統(tǒng)環(huán)境(有時(shí)候直接叫做“裸核”環(huán)境),在這個(gè)“潔凈的空間”內(nèi)運(yùn)行單一任務(wù)(比如收發(fā)數(shù)據(jù)、模式匹配等)往往可以獲得極高的性能,這是AMP方式的特點(diǎn),也是其優(yōu)勢(shì)。雖然AMP 構(gòu)架比較復(fù)雜,但因其性能提升非常有效,目前已被廣泛應(yīng)用。AMP構(gòu)架的難點(diǎn)在于需要仔細(xì)權(quán)衡各個(gè)內(nèi)核的任務(wù)分擔(dān),否則會(huì)造成內(nèi)核負(fù)載不均衡,影響性能發(fā)揮。目前普遍采用的方法是將處理器內(nèi)核分為兩類,一類叫作網(wǎng)絡(luò)處理器,用于處理網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的接收和發(fā)送,另一類叫做檢測(cè)處理器,用于進(jìn)行IPS檢測(cè)。網(wǎng)絡(luò)處理器接收到網(wǎng)絡(luò)數(shù)據(jù)報(bào)文后,根據(jù)其五元組建立連接(數(shù)據(jù)流),然后用hash算法將連接平均地定位到唯一的檢測(cè)處理器上,這樣實(shí)現(xiàn)負(fù)載均衡,即將數(shù)據(jù)流平均地分配到檢測(cè)處理器上,同時(shí)保障將同一個(gè)數(shù)據(jù)流分配到同一個(gè)檢測(cè)處理器上,保障一個(gè)數(shù)據(jù)流始終由一個(gè)檢測(cè)處理器處理。圖1為該現(xiàn)有技術(shù)中AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法原理圖。上述方法的缺陷是,雖然數(shù)據(jù)流被相對(duì)均衡地分配到檢測(cè)處理器上,但是因?yàn)椴煌臄?shù)據(jù)流中包含的數(shù)據(jù)報(bào)文個(gè)數(shù)、報(bào)文大小、報(bào)文內(nèi)容都差異很大,這直接導(dǎo)致檢測(cè)處理器檢測(cè)數(shù)據(jù)流的速度不相同,如有的報(bào)文比較小甚至不包含應(yīng)用層數(shù)據(jù),無(wú)須進(jìn)行IPS檢測(cè),可以快速地處理完畢,而有的數(shù)據(jù)報(bào)文是http (超文本傳輸協(xié)議)協(xié)議且包含豐富的 uri (統(tǒng)一資源標(biāo)識(shí)符)信息,有大量的IPS規(guī)則需要逐一匹配檢測(cè),勢(shì)必耗時(shí)較長(zhǎng)。這導(dǎo)致了檢測(cè)處理器之間的負(fù)載實(shí)際上處于不均衡狀態(tài),影響了性能發(fā)揮。另一方面,在網(wǎng)絡(luò)處理器和檢測(cè)處理器之間是固定任務(wù)分配,而網(wǎng)絡(luò)處理與檢測(cè)處理兩種工作不可能正好均衡, 這也影響了整體性能的提升。對(duì)于av (反病毒)、dpi (深度報(bào)文檢測(cè))等其他需要做數(shù)據(jù)內(nèi)容檢測(cè)的產(chǎn)品,其處理器同樣分為網(wǎng)絡(luò)處理器和檢測(cè)處理器,并同樣存在著上述網(wǎng)絡(luò)處理與檢測(cè)處理兩種工作不能很好均衡的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提供一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法及裝置,以解決現(xiàn)有技術(shù)中AMP架構(gòu)下網(wǎng)絡(luò)處理器與檢測(cè)處理器的負(fù)載不能有效均衡的問(wèn)題。本發(fā)明提供一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,包括為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列;當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè);如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)所述環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè)。進(jìn)一步地,所述網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,包括以下步驟網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,如果查找到對(duì)應(yīng)的連接,則在該連接的記錄中找到對(duì)應(yīng)的檢測(cè)處理器;如果未查找到對(duì)應(yīng)的連接,則根據(jù)該報(bào)文的五元組建立連接,再根據(jù)連接確定對(duì)應(yīng)的檢測(cè)處理器。更進(jìn)一步地,所述查找到對(duì)應(yīng)的連接,采用的方法為根據(jù)報(bào)文的五元組計(jì)算 hash值,再根據(jù)hash值查找到連接。更進(jìn)一步地,所述報(bào)文的五元組包括源地址、目的地址、源端口、目的端口和協(xié)議。
4
更進(jìn)一步地,所述根據(jù)連接確定對(duì)應(yīng)的檢測(cè)處理器,是采用hash算法來(lái)實(shí)現(xiàn)的。進(jìn)一步地,所述AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法還包括在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。更進(jìn)一步地,所述在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整,包括當(dāng)各檢測(cè)處理器的所述環(huán)形工作隊(duì)列均為空時(shí),將原本由所述網(wǎng)絡(luò)處理器處理的工作交由所述檢測(cè)處理器處理。再進(jìn)一步地,所述原本由所述網(wǎng)絡(luò)處理器處理的工作是指發(fā)送報(bào)文的工作。本發(fā)明還提供了一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置,包括環(huán)形工作隊(duì)列建立模塊,用于為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列;檢測(cè)處理器負(fù)載均衡模塊,用于當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè);如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)所述環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè)。進(jìn)一步地,AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置還包括工作任務(wù)調(diào)整模塊,該模塊用于在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。本發(fā)明有益效果如下本發(fā)明提出了為檢測(cè)處理器建立環(huán)形工作隊(duì)列(即循環(huán)工作隊(duì)列),從而能夠動(dòng)態(tài)感知各檢測(cè)處理器的負(fù)載情況;本發(fā)明提出了檢測(cè)處理器負(fù)載均衡的方法,有利于檢測(cè)處理器的性能發(fā)揮;本發(fā)明提出了網(wǎng)絡(luò)處理器與檢測(cè)處理器之間的負(fù)載均衡方法,從而解決了現(xiàn)有技術(shù)中網(wǎng)絡(luò)處理器和檢測(cè)處理器之間無(wú)法均衡的問(wèn)題,實(shí)現(xiàn)了 AMP架構(gòu)下數(shù)據(jù)檢測(cè)系統(tǒng)整體性能的提升。
圖1為現(xiàn)有技術(shù)中AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法原理圖;圖2為本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法流程圖;圖3為本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法原理圖;圖4為本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置結(jié)構(gòu)圖。
具體實(shí)施例方式以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。方法實(shí)施例根據(jù)本發(fā)明的實(shí)施例,提供了一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,以下實(shí)施例中,以IPS系統(tǒng)為例進(jìn)行具體說(shuō)明,設(shè)該IPS系統(tǒng)中,有一個(gè)網(wǎng)絡(luò)處理器和三個(gè)檢測(cè)處理器,三個(gè)檢測(cè)處理器編號(hào)依次為0、1和2。圖2是本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法的流程圖,圖3為本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法原理圖,結(jié)合圖2和圖3可知,本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,包括如下處理步驟201,建立環(huán)形工作隊(duì)列。本實(shí)施例中,隊(duì)列長(zhǎng)度為512,即最大可以緩存512個(gè)報(bào)文信息,同時(shí)分別建立隊(duì)列頭和隊(duì)列尾指針。環(huán)形工作隊(duì)列的工作方式為當(dāng)網(wǎng)絡(luò)處理器接收到數(shù)據(jù)報(bào)文后,根據(jù)其源地址、目的地址、源端口、目的端口查找連接,如果查找不到需要新建立一個(gè)連接結(jié)構(gòu),然后將報(bào)文協(xié)議類型、報(bào)文大小、報(bào)文數(shù)據(jù)地址、連接句柄(指向連接結(jié)構(gòu)的指針)等信息組成一個(gè)報(bào)文信息結(jié)構(gòu),加入到對(duì)應(yīng)的檢測(cè)處理器的環(huán)形工作隊(duì)列的隊(duì)列尾部。環(huán)形工作隊(duì)列的隊(duì)列頭和隊(duì)列尾都是動(dòng)態(tài)的,頭尾之間保持距離,如果距離為零說(shuō)明隊(duì)列為空,如果距離為隊(duì)列長(zhǎng)度則說(shuō)明隊(duì)列滿。當(dāng)從尾部加入一個(gè)數(shù)據(jù)結(jié)構(gòu)時(shí)距離加1,當(dāng)從頭部取走一個(gè)數(shù)據(jù)結(jié)構(gòu)時(shí)距離減1,頭尾距離為零時(shí)隊(duì)列為空就不能再取數(shù)據(jù)結(jié)構(gòu)了,同樣頭尾距離為隊(duì)列長(zhǎng)度時(shí)隊(duì)列滿,就不能再加入數(shù)據(jù)結(jié)構(gòu)了。檢測(cè)處理器從隊(duì)列頭中依次取出報(bào)文信息,根據(jù)該信息對(duì)數(shù)據(jù)報(bào)文內(nèi)容進(jìn)行IPS檢測(cè)處理,處理后隊(duì)列頭依次后移。步驟202,在檢測(cè)處理器之間進(jìn)行數(shù)據(jù)流重定向。該步驟具體包括1)網(wǎng)絡(luò)處理器接收到數(shù)據(jù)報(bào)文,進(jìn)行初步分析,對(duì)于非TCP (Transmission Control Protocol,傳輸控制協(xié)議)/UDP⑴ser Data Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)報(bào)文不處理直接轉(zhuǎn)發(fā),對(duì)于TCP/UDP報(bào)文根據(jù)其五元組(源地址、目的地址、源端口、目的端口、協(xié)議) 計(jì)算hash值,再根據(jù)hash值查找連接。所有的連接結(jié)構(gòu)都記錄在一個(gè)hash數(shù)組里面,數(shù)組的下標(biāo)為hash值,數(shù)組的成員即連接結(jié)構(gòu)的指針,查找時(shí)用hash值做數(shù)組下標(biāo)取出數(shù)組成員,就得到了需要的連接結(jié)構(gòu),如果是空指針說(shuō)明還沒(méi)有建立連接。通常這個(gè)hash數(shù)組有100萬(wàn)個(gè)成員,代表系統(tǒng)最多能夠支持100萬(wàn)個(gè)連接。如果查找到連接直接執(zhí)行步驟4)。2)對(duì)于沒(méi)有查找到連接,需要根據(jù)報(bào)文的五元組新建立一個(gè)連接結(jié)構(gòu),一個(gè)連接結(jié)構(gòu)實(shí)際上對(duì)應(yīng)一個(gè)數(shù)據(jù)流。3)對(duì)連接的hash值除以cpu個(gè)數(shù)減1,然后取余,得到的值在0 2之間,這個(gè)值就是這個(gè)連接對(duì)應(yīng)的檢測(cè)處理器編號(hào),將編號(hào)記錄到連接結(jié)構(gòu)中,這樣不用每次都計(jì)算。當(dāng)然,該步驟中采用hash算法得到連接對(duì)應(yīng)的檢測(cè)處理器編號(hào),具體的算法不限于這里提供的例子,還可以為其他任何能夠?qū)⑦B接的hash值與檢測(cè)處理器的編號(hào)對(duì)應(yīng)起來(lái)的算法。4)取出連接中記錄的檢測(cè)處理器編號(hào),找到其一一對(duì)應(yīng)的環(huán)形工作隊(duì)列,檢查環(huán)形工作隊(duì)列的頭尾指針,如果頭尾指針差距小于512則說(shuō)明隊(duì)列未滿,直接執(zhí)行步驟6)。5)隊(duì)列已滿則繼續(xù)檢查下一個(gè)檢測(cè)處理器的環(huán)形工作隊(duì)列,如果未滿,則更改連接中的檢測(cè)處理器編號(hào),將連接重定向到該新的檢測(cè)處理器,然后判斷該新的檢測(cè)處理器的頭尾指針距離是否小于512,這樣直到查找到環(huán)形工作隊(duì)列未滿的檢測(cè)處理器。如果所有檢測(cè)處理器的環(huán)形工作隊(duì)列均滿,則放棄檢測(cè),直接轉(zhuǎn)發(fā)該連接。6)生成一個(gè)報(bào)文信息結(jié)構(gòu),包含報(bào)文協(xié)議類型、報(bào)文大小、報(bào)文數(shù)據(jù)地址、連接句柄(指向連接結(jié)構(gòu)的指針)等信息,從隊(duì)列尾部加入環(huán)形工作隊(duì)列,等待檢測(cè)處理器檢測(cè)。步驟203,在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。下面以發(fā)送報(bào)文的工作為例進(jìn)行說(shuō)明,當(dāng)然,網(wǎng)絡(luò)處理器與檢測(cè)處理器之間的工作任務(wù)調(diào)整并不僅限于對(duì)發(fā)送報(bào)文的工作任務(wù)進(jìn)行調(diào)整。該步驟具體包括
1)將發(fā)送報(bào)文工作獨(dú)立出來(lái)。將發(fā)送報(bào)文部分程序獨(dú)立成一個(gè)模塊,使得網(wǎng)絡(luò)處理器可以調(diào)用,同時(shí)檢測(cè)處理器也可以調(diào)用。當(dāng)網(wǎng)絡(luò)處理器調(diào)用發(fā)送報(bào)文模塊時(shí),該模塊代碼是在網(wǎng)絡(luò)處理器上運(yùn)行的, 占用網(wǎng)絡(luò)處理器負(fù)載。當(dāng)檢測(cè)處理器調(diào)用發(fā)送報(bào)文模塊時(shí),該模塊代碼是在檢測(cè)處理器上運(yùn)行的,占用檢測(cè)處理器負(fù)載。設(shè)置一個(gè)開(kāi)關(guān),正常情況下處于關(guān)閉狀態(tài)。該開(kāi)關(guān)關(guān)閉時(shí)由網(wǎng)絡(luò)處理器調(diào)用發(fā)送報(bào)文模塊,檢測(cè)處理器不調(diào)用。開(kāi)關(guān)打開(kāi)時(shí)正好相反。2)根據(jù)檢測(cè)處理器負(fù)載情況在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。設(shè)置一個(gè)定時(shí)器,定時(shí)檢查各個(gè)檢測(cè)處理器的環(huán)形工作隊(duì)列。如果所有環(huán)形工作隊(duì)列均為隊(duì)列頭與隊(duì)列尾相等,即所有環(huán)形工作隊(duì)列均為空, 則打開(kāi)開(kāi)關(guān),使檢測(cè)處理器承擔(dān)發(fā)送報(bào)文工作,增加檢測(cè)處理器負(fù)載,同時(shí)減輕網(wǎng)絡(luò)處理器負(fù)載,網(wǎng)絡(luò)處理器不再處理發(fā)送報(bào)文工作,在兩種處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。當(dāng)然,也可以設(shè)計(jì)為當(dāng)所有環(huán)形工作隊(duì)列的待處理報(bào)文個(gè)數(shù)均小于預(yù)設(shè)閥值時(shí), 打開(kāi)開(kāi)關(guān),在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。以上以IPS系統(tǒng)為例,對(duì)本發(fā)明AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法進(jìn)行了具體說(shuō)明,本發(fā)明并不僅限于IPS系統(tǒng)的應(yīng)用,而同樣能夠應(yīng)用于av、dpi等其他數(shù)據(jù)檢測(cè)系統(tǒng)。裝置實(shí)施例根據(jù)本發(fā)明的實(shí)施例,提供了一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置,圖4是本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖,如圖4所示,本發(fā)明實(shí)施例的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置包括環(huán)形工作隊(duì)列建立模塊401、檢測(cè)處理器負(fù)載均衡模塊402和工作任務(wù)調(diào)整模塊403。以下對(duì)本發(fā)明實(shí)施例的各個(gè)模塊進(jìn)行詳細(xì)的說(shuō)明。具體地,環(huán)形工作隊(duì)列建立模塊401用于為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列。檢測(cè)處理器負(fù)載均衡模塊402用于當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè);如果該檢測(cè)處理器的環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè)。工作任務(wù)調(diào)整模塊403用于在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。本發(fā)明AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置的具體實(shí)施方式
的細(xì)節(jié)可參見(jiàn)方法實(shí)施例部分對(duì)AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法的描述,此處不再贅述。盡管為示例目的,已經(jīng)公開(kāi)了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識(shí)到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。
權(quán)利要求
1.一種非對(duì)稱多處理AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,包括為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列;當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè);如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)所述環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè)。
2.如權(quán)利要求1所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,包括以下步驟網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,如果查找到對(duì)應(yīng)的連接,則在該連接的記錄中找到對(duì)應(yīng)的檢測(cè)處理器;如果未查找到對(duì)應(yīng)的連接,則根據(jù)該報(bào)文的五元組建立連接,再根據(jù)連接確定對(duì)應(yīng)的檢測(cè)處理器。
3.如權(quán)利要求2所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述查找到對(duì)應(yīng)的連接,采用的方法為根據(jù)報(bào)文的五元組計(jì)算hash值,再根據(jù)hash值查找到連接。
4.如權(quán)利要求2所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述報(bào)文的五元組包括源地址、目的地址、源端口、目的端口和協(xié)議。
5.如權(quán)利要求2所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述根據(jù)連接確定對(duì)應(yīng)的檢測(cè)處理器,是采用hash算法來(lái)實(shí)現(xiàn)的。
6.如權(quán)利要求1至5中任一項(xiàng)所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,還包括在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。
7.如權(quán)利要求6所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整,包括當(dāng)各檢測(cè)處理器的所述環(huán)形工作隊(duì)列均為空時(shí),將原本由所述網(wǎng)絡(luò)處理器處理的工作交由所述檢測(cè)處理器處理。
8.如權(quán)利要求7所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法,其特征在于,所述原本由所述網(wǎng)絡(luò)處理器處理的工作是指發(fā)送報(bào)文的工作。
9.一種非對(duì)稱多處理AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置,其特征在于,包括環(huán)形工作隊(duì)列建立模塊,用于為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列;檢測(cè)處理器負(fù)載均衡模塊,用于當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè); 如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)所述環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè)。
10.如權(quán)利要求9所述的AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)裝置,其特征在于,還包括工作任務(wù)調(diào)整模塊,該模塊用于在網(wǎng)絡(luò)處理器與檢測(cè)處理器之間進(jìn)行工作任務(wù)動(dòng)態(tài)調(diào)整。
全文摘要
本發(fā)明公開(kāi)了一種AMP架構(gòu)下處理器負(fù)載均衡的實(shí)現(xiàn)方法。該方法包括為每個(gè)檢測(cè)處理器各建立一個(gè)環(huán)形工作隊(duì)列;當(dāng)網(wǎng)絡(luò)管理器收到數(shù)據(jù)報(bào)文后,查找該報(bào)文對(duì)應(yīng)的檢測(cè)處理器,如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列未滿,則將報(bào)文交由該檢測(cè)處理器檢測(cè);如果該檢測(cè)處理器的所述環(huán)形工作隊(duì)列已滿,則將報(bào)文交由一個(gè)所述環(huán)形工作隊(duì)列未滿的檢測(cè)處理器檢測(cè);當(dāng)各檢測(cè)處理器的所述環(huán)形工作隊(duì)列均為空時(shí),將原本由所述網(wǎng)絡(luò)處理器處理的發(fā)送報(bào)文的工作交由所述檢測(cè)處理器處理。借助于本發(fā)明的技術(shù)方案,實(shí)現(xiàn)了各檢測(cè)處理器之間,以及網(wǎng)絡(luò)處理器與檢測(cè)處理器之間負(fù)載的有效均衡,從而更有利于各處理器的性能發(fā)揮。
文檔編號(hào)H04L12/24GK102404211SQ20111036223
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年11月15日 優(yōu)先權(quán)日2011年11月15日
發(fā)明者劉彤 申請(qǐng)人:北京天融信科技有限公司