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