優(yōu)化交換機報文上送方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種優(yōu)化交換機報文上送方法及其系統(tǒng),該方法判斷上層隊列被填充的程度是否達到第一臨界值,如果是,則限制交換芯片上送報文到內(nèi)存塊;判斷上層隊列被填充的程度是否恢復(fù)到第二臨界值,如果是,則恢復(fù)交換芯片上送報文到內(nèi)存塊;所述第一臨界值大于第二臨界值。本發(fā)明在上層隊列被充填到一定程度后,即限制交換芯片上送報文,避免報文過多上送而觸發(fā)CPU中斷從而浪費CPU處理能力,并且當(dāng)報文溢出時,由交換芯片作出報文丟棄行為,由于這種丟棄行為發(fā)生在交換芯片本身,不會對CPU產(chǎn)生沖擊,這樣可以節(jié)省CPU處理資源,讓CPU資源放在更有效的功能處理上。
【專利說明】優(yōu)化交換機報文上送方法及其系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種交換機行業(yè),尤其是涉及一種關(guān)于交換機芯片上送報文的方法和系統(tǒng)。
【背景技術(shù)】
[0002]交換機內(nèi)的交換芯片將報文上報給CPU處理的流程如圖1所示,交換芯片通過DMA (Direct Memory Access,直接內(nèi)存存取)將報文上送到內(nèi)存塊并產(chǎn)生中斷,CPU進入中斷服務(wù)例程,生成對應(yīng)的報文結(jié)構(gòu)體,報文結(jié)構(gòu)體中包括波報文存儲在內(nèi)存塊的地址以及端口信息,報文結(jié)構(gòu)體插入到底層隊列里,底層驅(qū)動任務(wù)將底層隊列掛著的報文結(jié)構(gòu)體插入到上層隊列里,CPU根據(jù)上層隊列的報文結(jié)構(gòu)體中的內(nèi)存塊地址讀取內(nèi)存塊里對應(yīng)的報文,再處理該報文,當(dāng)該報文得到處理后,對應(yīng)的報文結(jié)構(gòu)體清除出上層隊列,內(nèi)存塊也釋放出空間。
[0003]當(dāng)交換芯片過多地上送報文時,就會過多地引發(fā)中斷處理,浪費CPU資源?,F(xiàn)有的一種方法是,限制內(nèi)存塊的大小,例如,內(nèi)存塊的大小只足以存放256個報文,當(dāng)沒有內(nèi)存空間存放報文時,交換芯片無法上送報文。雖然這種方法限制了交換芯片上送報文,但是基于限制內(nèi)存塊大小的一種偶然性情況。而現(xiàn)在,廠商一般都會規(guī)劃內(nèi)存塊具備更大的空間,比如存放1024個報文的內(nèi)存空間,而上層隊列的長度為1000個,這樣情況就會出現(xiàn)溢出,目前的溢出處理,就是軟件上把報文丟棄。由于是使用軟件作丟棄處理,如果發(fā)生更多的報文上送,那么會頻繁地觸發(fā)報文上送和CPU中斷,整個交換機系統(tǒng)就會經(jīng)常處于報文上送、CPU中斷處理以及軟件處理溢出的階段,這樣無疑浪費CPU的處理能力。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需解決的技術(shù)問題是克服上述的不足,提供一種節(jié)省CPU處理資源的優(yōu)化交換機報文上送方法。
[0005]為解決上述的技術(shù)問題,本發(fā)明設(shè)計了一種優(yōu)化交換機報文上送方法,包括以下步驟:統(tǒng)計上層隊列被報文結(jié)構(gòu)體填充的程度;判斷上層隊列被報文結(jié)構(gòu)體填充的程度是否達到第一臨界值,如果是,則限制交換芯片上送報文到內(nèi)存塊;判斷上層隊列被被報文結(jié)構(gòu)體填充的程度是否恢復(fù)到第二臨界值,如果是,則恢復(fù)交換芯片上送報文到內(nèi)存塊;所述第一臨界值大于第二臨界值。
[0006]本發(fā)明還提供了一種優(yōu)化報文上送方法的系統(tǒng),包括:統(tǒng)計模塊,統(tǒng)計出上層隊列被報文結(jié)構(gòu)體填充的程度;判斷模塊,判斷上層隊列被報文結(jié)構(gòu)體填充的程度是否達到第一臨界值或第二大臨界值,所述第一臨界值大于第二臨界值;統(tǒng)計模塊將上層隊列被報文結(jié)構(gòu)體填充的程度信息反饋給判斷模塊;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第一臨界值,判斷模塊反饋給開關(guān)模塊限制恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出限制交換芯片上送報文到內(nèi)存塊的處理;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第二臨界值,判斷模塊反饋給開關(guān)模塊恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出恢復(fù)交換芯片上送報文到內(nèi)存塊的處理。
[0007]作為本發(fā)明進一步改進,所述第一臨界值為90%。
[0008]作為本發(fā)明進一步改進,所述第二臨界值為80%。
[0009]本發(fā)明在上層隊列被充填到一定程度后,即限制交換芯片上送報文,避免報文過多上送而觸發(fā)CPU中斷從而浪費CPU處理能力,并且當(dāng)報文溢出時,由交換芯片作出報文丟棄行為,由于這種丟棄行為發(fā)生在交換芯片本身,不會對CPU產(chǎn)生沖擊,這樣可以節(jié)省CPU處理資源,讓CPU資源放在更有效的功能處理上。
【專利附圖】
【附圖說明】
[0010]圖1是現(xiàn)有技術(shù)報文上報給CPU處理的流程示意圖;
[0011]圖2是本發(fā)明實施例交換機報文上送的演示圖。
【具體實施方式】
[0012]為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合本發(fā)明實施方式,對本發(fā)明實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本發(fā)明一部分實施 方式,而不是全部的實施方式。
[0013]本發(fā)明提供了一種優(yōu)化交換機報文上送方法,限制交換芯片過多地上送報文,節(jié)省CPU資源。當(dāng)上層隊列被填充到一定的程度,則限制交換芯片將報文上送到內(nèi)存塊,從而避免報文過多上送而觸發(fā)CPU中斷;當(dāng)內(nèi)存塊的報文得到處理時,上層隊列對應(yīng)的報文結(jié)構(gòu)體被清除出,則恢復(fù)交換芯片上送報文到內(nèi)存塊。本發(fā)明通過判斷上層隊列被填充的程度來作出限制報文上送行為或恢復(fù)報文上送行為。
[0014]本實施例優(yōu)化交換機報文上送方法包括以下步驟:
[0015]先統(tǒng)計出上層隊列被報文結(jié)構(gòu)體填充的程度。在交換機系統(tǒng)中,上層隊列都有固定的長度,在本實施例中,上層隊列的長度為1000個,當(dāng)一個報文結(jié)構(gòu)體由底層隊列上報到上層隊列時,計數(shù)器計數(shù)加1,當(dāng)上層隊列的報文結(jié)構(gòu)體被釋放時,計數(shù)器計數(shù)減I。根據(jù)計數(shù)器得到的計數(shù)信息和上層隊列固定的長度,統(tǒng)計出上層隊列被報文結(jié)構(gòu)體填充的程度。例如:上層隊列的長度占據(jù)到900個時,則統(tǒng)計到上層隊列被報文結(jié)構(gòu)體填充的程度達到 90%。
[0016]判斷上層隊列被填充的程度是否達到第一臨界值,如果是,則限制交換芯片上送報文到內(nèi)存塊,所述第一臨界值為90%。本發(fā)明考慮到當(dāng)上送的報文結(jié)構(gòu)體占滿上層隊列的程度為其固定長度的90%時,即上層隊列被報文結(jié)構(gòu)體填充的程度達到90%,則開始做出限制交換芯片上送報文到內(nèi)存塊的行為。由于交換芯片采用DMA上送給內(nèi)存塊,這個上送行為需要對DMA進行使能動作,限制了這個使能動作,交換芯片不再將存放在內(nèi)部緩存的報文上送到內(nèi)存塊中去。在限制了交換芯片上送報文行為后,交換芯片還是可以不停地接收報文,當(dāng)報文過多而內(nèi)存空間被占滿時會出現(xiàn)溢出行為,對于這種情況,交換芯片會作出丟棄報文行為,而這種丟棄報文行為發(fā)生在交換芯片本身,不會對CPU產(chǎn)生沖擊。
[0017]判斷上層隊列被填充的程度是否恢復(fù)到第二臨界值,如果是,則恢復(fù)交換芯片上送報文到內(nèi)存塊,所述第二臨界值為80%。本發(fā)明不可能一直禁止交換芯片上送報文行為,當(dāng)內(nèi)存塊中的報文得到CPU處理后,上層隊列中對應(yīng)的報文結(jié)構(gòu)體也清除出,上層隊列被占的長度得到釋放,當(dāng)報文占滿上層隊列的程度為80%時,即多釋放出了 10%的空間,則恢復(fù)交換芯片上送報文行為,從而恢復(fù)交換機正常收報文的狀態(tài)。當(dāng)再遇到報文過多上送,而上層隊列被填充的程度再次達到90%,則又開始限制交換芯片上送報文到內(nèi)存塊。
[0018]在本發(fā)明限制了交換芯片上送報文的行為,但是,底層隊列中掛著的報文還會插入到上層隊列,在本實施例中,第一臨界值為90%,即上層隊列還預(yù)留了 10%的緩沖空間,上層隊列還可緩沖收報文結(jié)構(gòu)體,即當(dāng)上層隊列被填充的程度達到90%之后,在已經(jīng)開始禁止交換芯片上送報文行為后,仍然會存在底層隊列上送報文結(jié)構(gòu)體到上層隊列。如果底層隊列存放的報文結(jié)構(gòu)體總數(shù)超過上層隊列剩余的10%,仍然需要上層隊列作出溢出處理,即軟件丟棄報文。雖然在此處,需要做出丟棄報文行為,但是由于本發(fā)明已經(jīng)禁止了交換芯片上送報文行為,因而只是少量報文需要被丟棄,不會影響CPU的處理能力。
[0019]如圖2所示,本實施例交換機在上層隊列被報文結(jié)構(gòu)體填充的程度達到90%時,交換芯片將不上送報文,避免報文過多上送而觸發(fā)CPU中斷從而浪費CPU處理能力;在上層隊列預(yù)留的10%的緩沖空間被占滿時,軟件丟棄上層隊列溢出的報文;在內(nèi)存塊中的報文得到處理,上層隊列中對應(yīng)的報文結(jié)構(gòu)體被清除出,上層隊列被填充的程度釋放達到80%,則交換芯片恢復(fù)上送報文。
[0020]在本實施例中,第一臨界值為90%,第二臨界值為80%,但本發(fā)明不限于此種情況,可根據(jù)實際情況而設(shè)定第一臨界值和第二臨界值,如果CPU性能高,處理能力強,第一臨界值可接近100%或為100%,即上層隊列接近被全部填充滿時,再限制交換芯片上送報文行為,如果CPU處理能力不強,第一臨界值可偏小點,如50%、60%等,即上層隊列接近只被全部填充一半時,就限制交換芯片上送報文行為。當(dāng)然第二臨界值是在限制了交換芯片上送報文的行為之后,內(nèi)存塊中的報文得到CPU處理、上層隊列中的對應(yīng)的報文結(jié)構(gòu)體也清除出、上層隊列被占的空間得到釋放而設(shè)定的,故,第二臨界值小于第一臨界值,根據(jù)實際情況可設(shè)定,如果需要為CPU提供比較長的緩沖期,可將第二臨界值與第一臨界值拉大距離,例如第一臨界值為90%,第二臨界值為70或60%。
[0021]本發(fā)明還提供了一種優(yōu)化報文上送方法的系統(tǒng),所述優(yōu)化報文上送方法的系統(tǒng)包括統(tǒng)計模塊,判斷模塊和開關(guān)模塊。統(tǒng)計模塊用于上層隊列被報文結(jié)構(gòu)體填充的程度。判斷模塊用于判斷上層隊列被報文結(jié)構(gòu)體填充的程度是否達到第一臨界值或第二大臨界值。開關(guān)模塊用于限制或恢復(fù)交換芯片上送報文到內(nèi)存塊。所述優(yōu)化報文上送方法的系統(tǒng)在實施時,統(tǒng)計模塊將上層隊列被報文結(jié)構(gòu)體填充的程度信息反饋給判斷模塊;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第一臨界值,判斷模塊反饋給開關(guān)模塊限制恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出限制交換芯片上送報文到內(nèi)存塊的處理;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第二臨界值,判斷模塊反饋給開關(guān)模塊恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出恢復(fù)交換芯片上送報文到內(nèi)存塊的處理。
[0022]本發(fā)明在上層隊列被充填到一定程度后,即限制交換芯片上送報文,避免報文過多上送而觸發(fā)CPU中斷從而浪費CPU處理能力,并且當(dāng)報文溢出時,由交換芯片作出報文丟棄行為,由于這種丟棄行為發(fā)生在交換芯片本身,不會對CPU產(chǎn)生沖擊,這樣可以節(jié)省CPU處理資源,讓CPU資源放在更有效的功能處理上。
[0023] 以上僅表達了本發(fā)明的一種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種優(yōu)化交換機報文上送方法,其特征在于,包括以下步驟: 統(tǒng)計上層隊列被報文結(jié)構(gòu)體填充的程度; 判斷上層隊列被報文結(jié)構(gòu)體填充的程度是否達到第一臨界值,如果是,則限制交換芯片上送報文到內(nèi)存塊;判斷上層隊列被被報文結(jié)構(gòu)體填充的程度是否恢復(fù)到第二臨界值,如果是,則恢復(fù)交換芯片上送報文到內(nèi)存塊;所述第一臨界值大于第二臨界值。
2.根據(jù)權(quán)利要求1所述的優(yōu)化交換機報文上送方法,其特征在于,所述第一臨界值為90%。
3.根據(jù)權(quán)利要求1所述的優(yōu)化交換機報文上送方法,其特征在于,所述第二臨界值為80%。
4.一種優(yōu)化報文上送方法的系統(tǒng),其特征在于,包括: 統(tǒng)計模塊,統(tǒng)計出上層隊列被報文結(jié)構(gòu)體填充的程度; 判斷模塊,判斷上層隊列被報文結(jié)構(gòu)體填充的程度是否達到第一臨界值或第二大臨界值,所述第一臨界值大于第二臨界值; 開關(guān)模塊,限制或恢復(fù)交換芯片上送報文到內(nèi)存塊; 統(tǒng)計模塊將上層隊列被報文結(jié)構(gòu)體填充的程度信息反饋給判斷模塊;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第一臨界值,判斷模塊反饋給開關(guān)模塊限制恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出限制交換芯片上送報文到內(nèi)存塊的處理;在上層隊列被報文結(jié)構(gòu)體填充的程度達到第二臨界值,判斷模塊反饋給開關(guān)模塊恢復(fù)交換芯片上送報文到內(nèi)存塊的信號,開關(guān)模塊做出恢復(fù)交換芯片上送報文到內(nèi)存塊的處理。
5.根據(jù)權(quán)利要求4所述的優(yōu)化報文上送方法的系統(tǒng),其特征在于,所述第一臨界值為90%。
6.根據(jù)權(quán)利要求4所述的優(yōu)化報文上送方法的系統(tǒng),其特征在于,所述第二臨界值為80%。
【文檔編號】H04L12/741GK104022971SQ201410225101
【公開日】2014年9月3日 申請日期:2014年5月26日 優(yōu)先權(quán)日:2014年5月26日
【發(fā)明者】阮世昌, 朱家星 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司