一種vsu環(huán)境下的報文處理方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理方法和裝置,涉及數(shù)據(jù)通信領(lǐng)域,用以減小重要報文丟失的概率,提高VSU系統(tǒng)運行的穩(wěn)定性。該VSU環(huán)境下的報文的處理方法包括:確定CPU使用率是否超過第二預(yù)設(shè)值;若CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二DMA收幀通道,保留第一DMA收幀通道;其中,第一DMA收幀通道與第一報文傳輸隊列映射,第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,第二DMA收幀通道與至少一個第二報文傳輸隊列映射,第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
【專利說明】—種VSU環(huán)境下的報文處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種VSU環(huán)境下的報文處理方法和裝置。
【背景技術(shù)】
[0002]虛擬交換單元(Virtual Switching Unit,簡稱VSU)系統(tǒng)是一種將多臺網(wǎng)絡(luò)設(shè)備通過虛擬交換鏈路(Virtual Switching Link,簡稱VSL)連接,虛擬形成一臺虛擬邏輯設(shè)備的技術(shù),如圖1所示,用實線橢圓圈起來的3臺網(wǎng)絡(luò)設(shè)備組成了一個VSU系統(tǒng)。用戶通過對這臺虛擬設(shè)備進行管理,以實現(xiàn)對虛擬設(shè)備中所有的網(wǎng)絡(luò)設(shè)備的管理。其中,這多臺設(shè)備通過一定的競選協(xié)議選舉出一臺全局主設(shè)備(主機),一臺全局從設(shè)備(從機),其余設(shè)備為全局候選設(shè)備。
[0003]如圖1中所示,VSU系統(tǒng)中的網(wǎng)絡(luò)設(shè)備之間通過VSL鏈路(圖1中虛線橢圓所示)連接,VSL鏈路連接到網(wǎng)絡(luò)設(shè)備上的物理端口為VSL端口。其中,VSL鏈路是VSU系統(tǒng)的網(wǎng)絡(luò)設(shè)備間傳輸控制信息和數(shù)據(jù)流的特殊聚合鏈路,用以在網(wǎng)絡(luò)設(shè)備間傳輸協(xié)議報文、數(shù)據(jù)報文和管理報文等,而管理報文用于對VSU系統(tǒng)進行內(nèi)部管理,因此在VSU系統(tǒng)中最為重要。
[0004]如圖2所示為在現(xiàn)有VSU系統(tǒng)中主機發(fā)送管理報文到從機的收發(fā)示意圖。其中,主機和從機的網(wǎng)絡(luò)設(shè)備均包括中央處理器(Central Processing Unit,簡稱CPU)、隨機存取存儲器(Random Access Memory,簡稱RAM)、和交換芯片,交換芯片中包括直接內(nèi)存訪問(Direct Memory Access,簡稱 DMA)通道、DMA 控制器(DMA Control),VSL 端口。對于主機側(cè)而言,主機的CPU從主機的RAM中給管理報文申請報文空間,在申請到報文空間后,指定管理報文的服務(wù)類別(Class of Service,簡稱COS)為7,以及將該管理報文的目的口填充為從機的CPU 口。然后,主機的CPU構(gòu)造好DMA控制塊(DMA Control Block,簡稱DCB)后,通知交換芯片的DMA控制器發(fā)送管理報文,DMA控制器依據(jù)DCB通過DMA發(fā)幀通道CH0 (圖2中僅示出主機的DMA發(fā)幀通道)訪問主機的RAM,以將管理報文發(fā)送出去;管理報文進入主機的VSL端口的傳輸隊列Q7并發(fā)送出去,管理報文通過VSL鏈路轉(zhuǎn)發(fā)到從機的VSL端口 ;對于從機側(cè)而言,從機的報文服務(wù)類別和報文傳輸隊列(即C0S和Queue)配置為映射,且CPU 口的傳輸隊列Q0、Q1、Q2映射到DMA收幀通道CH1,傳輸隊列Q3、Q4、Q5映射到DMA收幀通道CH2,傳輸隊列Q6、Q7映射到DMA收幀通道CH3 (圖2中僅示出從機的DMA收幀通道),這樣,管理報文到達從機CPU 口的Q7,通過DMA收幀通道CH3傳輸?shù)綇臋C的RAM中。然后,從機交換芯片的DMA控制器發(fā)送一個中斷通知從機的CPU,從機的CPU接收到該中斷后響應(yīng)該中斷,根據(jù)DCB在從機的RAM中為該管理報文申請報文空間,以從RAM中取走該管理報文傳遞給各個業(yè)務(wù)模塊進行處理。
[0005]但是,當主機和/或從機中的RAM內(nèi)存較低時,會造成一些重要報文,例如管理報文,申請報文空間的失敗,導(dǎo)致這些重要報文的丟失。另一方面,當主機和/或從機的CPU在處于高負載的情況時,無法及時響應(yīng)中斷,同樣會造成這些重要報文的丟失,而重要報文的丟失則會導(dǎo)致VSU系統(tǒng)運行的不穩(wěn)定。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實施例提供了一種環(huán)境下的報文處理方法和裝置,用以減小重要報文丟失的概率,提高系統(tǒng)運行的穩(wěn)定性。
[0007]為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0008]第一方面,本發(fā)明實施例提供了一種^11環(huán)境下的報文處理方法,包括:確定使用率是否超過第二預(yù)設(shè)值;
[0009]若所述0^使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 0嫩收幀通道,保留第一0嫩收幀通道;
[0010]其中,所述第一 0嫩收巾貞通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 0嫩收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
[0011]可選的,所述確定0^使用率是否超過第二預(yù)設(shè)值之前,所述方法還包括:
[0012]接收0嫩控制器發(fā)送的中斷消息;
[0013]所述確定0^使用率是否超過第二預(yù)設(shè)值包括:在接收到所述0嫩控制器發(fā)送的中斷消息后,確定在第一時間內(nèi)的中斷處理時間是否超過第二預(yù)設(shè)值。
[0014]可選的,所述關(guān)閉至少一個第二 0嫩收幀通道之后,所述方法還包括:
[0015]在所述關(guān)閉至少一個第二 0嫩收幀通道第二時間后,打開所述關(guān)閉的至少一個第二 0嫩收幀通道。
[0016]可選的,所述方法還包括:從第一緩沖區(qū)中為所述報文申請報文空間;
[0017]若未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同;
[0018]若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0019]第二方面,本發(fā)明實施例提供了一種乂別環(huán)境下的報文處理方法,包括:從第一緩沖區(qū)中為報文申請報文空間;
[0020]若未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同;
[0021]若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0022]可選的,所述從第一緩沖區(qū)的可用空間中為報文申請報文空間之前,所述方法還包括:
[0023]根據(jù)所述報文的報文類型,為所述報文分配所述報文的優(yōu)先級。
[0024]第三方面,本發(fā)明實施例提供了一種環(huán)境下的報文處理裝置,包括:第一確定單元,用于確定0^使用率是否超過第二預(yù)設(shè)值;
[0025]處理單元,用于若所述第一確定單元確定所述0^使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 0嫩收巾貞通道,保留第一 0嫩收巾貞通道;
[0026]其中,所述第一 0嫩收巾貞通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 0嫩收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
[0027]可選的,所述所裝置還包括:接收單元;
[0028]所述接收單元,用于所述確定單元確定所述CPU使用率是否超過第二預(yù)設(shè)值之前,接收DMA控制器發(fā)送的中斷消息;
[0029]所述第一確定單元,具體用于在所述接收單元接收到所述DMA控制器發(fā)送的中斷消息后,確定在第一時間內(nèi)CPU的中斷處理時間是否超過第二預(yù)設(shè)值。
[0030]可選的,其特征在于,所述處理單元,還用于在所述關(guān)閉至少一個第二 DMA收幀通道第二時間后,打開所述關(guān)閉的至少一個第二 DMA收幀通道。
[0031]可選的,所述裝置還包括:報文申請單元和第二確定單元;
[0032]所述報文申請單元,用于從第一緩沖區(qū)中為所述報文申請報文空間;
[0033]所述第二確定單元,用于若所述報文申請單元未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同;
[0034]所述報文申請單元,還用于若所述第二確定單元確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0035]第四方面,本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理裝置,包括:報文申請單元,用于從第一緩沖區(qū)中為報文申請報文空間;
[0036]確定單元,用于若所述報文申請單元未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同;
[0037]所述報文申請單元,還用于若所述確定單元確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0038]可選的,所述裝置還包括:優(yōu)先級分配單元;
[0039]所述優(yōu)先級分配單元,用于在所述報文申請單元從第一緩沖區(qū)的可用空間中為報文申請報文空間之前,根據(jù)所述報文的報文類型,為所述報文分配所述報文的優(yōu)先級。
[0040]本發(fā)明實施例提供的一種VSU環(huán)境下的報文處理方法和裝置,通過確定CPU使用率是否超過第二預(yù)設(shè)值;若CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 DMA收幀通道,保留第一DMA收幀通道;其中,第一DMA收幀通道用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,第二 DMA收幀通道用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。這樣,當CPU使用率超過第二預(yù)設(shè)值時,通過關(guān)閉優(yōu)先級為非第一預(yù)設(shè)值的報文傳輸通道,保留優(yōu)先級為第一預(yù)設(shè)值的報文傳輸通道,以便對優(yōu)先級為第一預(yù)設(shè)值的報文進行優(yōu)先處理,減小了對優(yōu)先級為第一預(yù)設(shè)值的丟失概率,提高VSU系統(tǒng)運行的穩(wěn)定性。
【專利附圖】
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1為現(xiàn)有技術(shù)提供的一種VSU系統(tǒng)的組網(wǎng)不意圖;
[0043]圖2為現(xiàn)有技術(shù)提供的一種環(huán)境下的報文處理示意圖;
[0044]圖3為本發(fā)明實施例提供的一種乂5。環(huán)境下的報文處理的流程示意圖;
[0045]圖4為本發(fā)明實施例提供的另一種環(huán)境下的報文處理的流程示意圖;
[0046]圖5為本發(fā)明實施例提供的一種乂5。環(huán)境下的報文處理的流程示意圖;
[0047]圖6為本發(fā)明實施例提供的另一種環(huán)境下的報文處理的流程示意圖;
[0048]圖7為本發(fā)明實施例提供的0嫩收幀通道的映射和報文傳輸?shù)氖疽鈭D;
[0049]圖8為本發(fā)明實施例提供的一種環(huán)境下的報文處理裝置的示意圖;
[0050]圖9為本發(fā)明實施例提供的另一種環(huán)境下的報文處理裝置的示意圖;
[0051]圖10為本發(fā)明實施例提供的一種環(huán)境下的報文處理裝置的示意圖;
[0052]圖11為本發(fā)明實施例提供的另一種環(huán)境下的報文處理裝置的示意圖。
【具體實施方式】
[0053]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0054]實施例一
[0055]本發(fā)明實施例提供了一種乂5。環(huán)境下的報文處理方法,應(yīng)用于圖1所示的乂5。系統(tǒng)。當圖1所示的網(wǎng)絡(luò)設(shè)備處于低內(nèi)存的情況時,一些重要報文,例如:管理報文,由于在狀1中未申請到報文空間而導(dǎo)致丟失,進而影響協(xié)議的運行,為了解決上述問題,如圖3所示,該方法包括:
[0056]3301、從第一緩沖區(qū)中為報文申請報文空間。
[0057]3302、若未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同。
[0058]其中,若未從第一緩沖區(qū)中為報文申請到報文空間,則意味著在第一緩沖區(qū)的報文空間申請失敗。
[0059]3303、若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間。
[0060]其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。需要說明的是,所述的第一緩沖區(qū)和所述第二緩沖區(qū)可以在設(shè)置在同一個狀1中,也可以為多個狀1中;對于第一緩沖區(qū)和第二緩沖區(qū)的設(shè)置可以在系統(tǒng)初始化時設(shè)置的,也可以在對報文進行報文空間申請之前設(shè)置。
[0061]這樣,在系統(tǒng)初始化時,將狀1設(shè)置為第一緩沖區(qū)和第二緩沖區(qū)。在為報文申請報文空間時,先從第一緩沖區(qū)中申請;當在第一緩沖區(qū)未申請到報文空間時(即申請失敗時),從第二緩沖區(qū)中申請。當然,在第二緩沖區(qū)申請報文空間前,需要確定該報文的優(yōu)先級是否與第一預(yù)設(shè)值相同,若該報文的優(yōu)先級與第一預(yù)設(shè)值相同,才可以在第二緩沖區(qū)中進行報文空間的申請,也就是說,若該報文的優(yōu)先級與第一預(yù)設(shè)值不相同,則只能在第一緩沖區(qū)中進行報文空間的申請,不能在第二緩沖區(qū)中進行報文空間的申請。一般情況下,第二緩沖區(qū)用于為管理報文或者其他重要報文所預(yù)留的,第一預(yù)設(shè)值可以為管理報文或者其他重要報文的優(yōu)先級,這樣,通過上述處理,可以提高對管理報文或者其他重要報文的報文空間申請成功的概率,也不會影響其他報文的申請邏輯。
[0062]進一步的,如圖4所示,在步驟S301之前,該方法還包括:
[0063]S300、根據(jù)所述報文的報文類型,為所述報文分配所述報文優(yōu)先級。
[0064]示例的,所述報文的優(yōu)先級可以用COS值表示,本發(fā)明實施例將報文優(yōu)先級和報文傳輸隊列配置為一一映射,且COS值越大,優(yōu)先級越高,對應(yīng)的報文傳輸隊列(Queue)值也越大。不例的,若報文的優(yōu)先級為0,則對應(yīng)的報文傳輸隊列為Queue0(簡寫為Q0),若報文的優(yōu)先級為7,則對應(yīng)的報文傳輸隊列為Queue7(簡寫為Q7)。
[0065]需要說明的是,上述方法可以是在主機發(fā)送報文給從機時,也可以是從機接收主機發(fā)送的報文,對該報文進行處理時,均可以通過上述方法進行報文的空間申請。當然,對于主機側(cè)而言為主機側(cè)的CPU從主機側(cè)的RAM中申請報文空間,對于從機側(cè)而言為從機側(cè)的CPU從從機側(cè)的RAM中申請報文空間。
[0066]本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理方法,從第一緩沖區(qū)中為報文申請報文空間,若未申請到報文空間,則確定報文的優(yōu)先級是否與第一預(yù)設(shè)值相同,若報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為報文申請所述報文空間,這樣,可以在網(wǎng)絡(luò)設(shè)備低內(nèi)存的情況下,通過預(yù)留空間,也就是通過設(shè)置第二緩沖區(qū),以對優(yōu)先級為第一預(yù)設(shè)值的報文進行報文空間申請,提高對該報文的報文空間申請的概率,提高VSU系統(tǒng)運行的穩(wěn)定性。
[0067]實施例二
[0068]本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理方法,應(yīng)用于圖1所不的VSU系統(tǒng)。如圖5所示,該方法具體包括:
[0069]S501、確定CPU使用率是否超過第二預(yù)設(shè)值。
[0070]其中,所述第二預(yù)設(shè)值可以根據(jù)VSU系統(tǒng)的運行情況或者從機CPU的型號等進行設(shè)置。
[0071]S502、若所述CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 DMA收幀通道,保留第一 DMA收巾貞通道。
[0072]其中,所述第一 DMA收巾貞通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 DMA收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
[0073]需要說明的是,對于第一 DMA收幀通道與第一報文傳輸隊列之間的映射關(guān)系,以及第二 DMA收幀通道與至少一個第二報文傳輸隊列之間的映射關(guān)系,可以在系統(tǒng)初始化時進行設(shè)置。
[0074]進一步的,如圖6所示,在步驟S501之前,該方法還包括:
[0075]S500、接收DMA控制器發(fā)送的中斷消息。
[0076]其中,該中斷消息用于通知CPU對報文進行處理。那么,CPU的使用率可以用CPU的中斷處理時間進行標識,因此,當CPU接收到DMA控制器發(fā)送的中斷消息后,步驟S501中確定CPU使用率是否超過第二預(yù)設(shè)值可以為:確定在第一時間內(nèi)CPU的中斷處理時間是否超過第二預(yù)設(shè)值,以繼續(xù)執(zhí)行步驟S502。
[0077]進一步的,如圖6所示,在步驟S502之后,該方法還包括:
[0078]S503、在所述關(guān)閉至少一個第二 DMA收幀通道第二時間后,打開關(guān)閉的至少一個第二 0嫩收幀通道。
[0079]其中,第二時間的設(shè)置可以根據(jù)使用率進行設(shè)置,當使用率較高時,可以設(shè)置相對較長的第二時間,當使用率較低時,可以設(shè)置相對較短的第二時間。那么,當?shù)诙r間到期時,打開被關(guān)閉的至少一個第二 0嫩通道。這樣,通過設(shè)置合理的關(guān)閉第二0嫩通道的時間,可以在其他業(yè)務(wù)不受影響的基礎(chǔ)上,在最大程度上保證第一 0嫩通道傳輸?shù)膱笪牡牟粊G失,提高^311系統(tǒng)運行的穩(wěn)定性。一般情況下,第一 0嫩通道傳輸?shù)墓芾韴笪幕蛘咂渌匾獔笪摹?br>
[0080]需要說明的是,上述第一時間和第二時間可以通過定時器進行設(shè)定。對于第一時間,可以通過第一定時器的定時周期進行設(shè)定,第一時間可以包括第一定時器的至少一個定時周期;對于第二時間,可以通過第二定時器的定時周期進行設(shè)定,第二時間可以包括第二定時器的至少一個定時周期。一般情況下,第一定時器采用普通的定時器,該第一定時器的定時周期的單位可以為毫秒(1118),第二定時器采用高精度的定時器,該第二定時器的定時周期的單位可以為微秒(118);采用高精度的定時器額可以保證在關(guān)閉至少一個第一 0嫩通道的時間不會太長,最大程度上降低關(guān)閉第二 0嫩收幀通道對其他業(yè)務(wù)產(chǎn)生的影響。
[0081〕 進一步的,無論第二 0嫩通道是否被關(guān)閉,當0^在接收到0嫩控制器發(fā)送的中斷消息時,會對該中斷消息進行響應(yīng),以對報文進行處理,在對報文進行處理時,0^從第一緩沖區(qū)中為所述報文申請報文空間;若未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同;若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間。其中,所述第一緩沖區(qū)和所述第二緩沖區(qū)可以為在系統(tǒng)初始化時設(shè)置的。對于報文的空間申請,具體可參考實施例一中所述的,在此不再贅述。
[0082]示例的,如圖1所示,從機側(cè)包含三個0嫩收幀通道(⑶1、⑶2、⑶3),8個報文傳輸隊列(00-07),在系統(tǒng)初始化時,將報文傳輸隊列00、01、02映射到0嫩收幀通道】1,報文傳輸隊列03、04、嚦、06映射到0嫩收幀通道】2,報文傳輸隊列07映射到0嫩收幀通道⑶3,其中,報文傳輸隊列07傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,那么,0嫩收幀通道舊3為第二0嫩收幀通道,0嫩收幀通道(:?和0嫩收幀通道(^2為第一 0嫩收幀通道。因此,當從機接收到主機發(fā)送的管理報文時,通過0嫩收幀通道將管理報文傳輸?shù)綇臋C的狀1中,然后由從機的0嫩控制器觸發(fā)中斷給從機的⑶匕
[0083]進一步的,當在第一時間內(nèi)的中斷處理時間超過第二預(yù)設(shè)值,則關(guān)閉0嫩收幀通道⑶丨和0嫩收幀通道】2。在關(guān)閉0嫩收幀通道⑶丨和0嫩收幀通道后,0嫩收幀通道(:?和0嫩收幀通道將不再向中傳輸報文,0嫩控制器也不再觸發(fā)中斷給從機0^,這樣,從機0^可以優(yōu)先響應(yīng)0嫩收幀通道⑶3的中斷,并處理管理報文,保證管理報文的不丟失,提高系統(tǒng)運行的穩(wěn)定性。在關(guān)閉0嫩收幀通道(:?和0嫩收幀通道第二時間后,打開0嫩收幀通道⑶丨和0嫩收幀通道】2,以保證在管理報文不丟失的同時,避免對其他業(yè)務(wù)的影響。
[0084]本發(fā)明實施例提供了環(huán)境下的報文處理方法,通過確定0^使用率是否超過第二預(yù)設(shè)值;若0^使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 0嫩收幀通道,保留第一0嫩收幀通道;其中,第一 0嫩收幀通道用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,第二 0嫩收幀通道用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。這樣,當0^使用率超過第二預(yù)設(shè)值時,通過關(guān)閉優(yōu)先級為非第一預(yù)設(shè)值的報文傳輸通道,保留優(yōu)先級為第一預(yù)設(shè)值的報文傳輸通道,以便對優(yōu)先級為第一預(yù)設(shè)值的報文進行優(yōu)先處理,減小了對優(yōu)先級為第一預(yù)設(shè)值的丟失概率,提聞VSU系統(tǒng)運彳丁的穩(wěn)定性。
[0085]實施例三
[0086]本發(fā)明實施例提供了一種VSU環(huán)境下報文的處理方法,以主機和從機均采用Broadcom交換芯片的網(wǎng)絡(luò)設(shè)備為例進行說明,其中,主機和從機的網(wǎng)絡(luò)設(shè)備所包含的器件可以參考圖2所示。
[0087]其中,主機的網(wǎng)絡(luò)設(shè)備包括:CPU、RAM、交換芯片,交換芯片包括:DMA發(fā)幀通道CH0 (對于DMA收巾貞通道可以參考從機側(cè)),DMA控制器以及8個報文傳輸隊列,8個報文傳輸隊列(Q0-Q7)與8個報文的服務(wù)類別隊列(C0S0-C0S7) —一映射。本發(fā)明實施例以報文的COS值越大,報文的優(yōu)先級越高為例。在系統(tǒng)初始化時,將主機RAM的報文空間設(shè)置為第一緩沖區(qū)和第二緩沖區(qū)。
[0088]從機的網(wǎng)絡(luò)設(shè)備包括:CPU、RAM、交換芯片,交換芯片包括:三個DMA收幀通道(CH1、CH2、CH3,對于DMA發(fā)幀通道可以參考主機側(cè))、DMA控制器以及8個報文傳輸隊列,8個報文傳輸隊列(Q0-Q7)與8個報文的服務(wù)類別隊列(C0S0-C0S7) 映射。本發(fā)明實施例以報文的COS值越大,報文的優(yōu)先級越高為例。在系統(tǒng)初始化時,報文傳輸隊列Q0、Q1、Q2映射到DMA收幀通道CH1,報文傳輸隊列Q3、Q4、Q5、Q6映射到DMA收幀通道CH2,報文傳輸隊列Q7映射到DMA收幀通道CH3。
[0089]當主機發(fā)送管理報文給從機時,為該管理報文分配報文優(yōu)先級,假設(shè)報文的COS值為7。首先,主機的CPU從主機的RAM中的第一緩沖區(qū)的可用空間中為該管理報文申請報文空間,若在第一緩沖區(qū)中未申請到報文空間,則確定該報文的優(yōu)先級是否為C0S7。由于該報文的C0S值為7,則主機的CPU從RAM中的第二緩沖區(qū)的可用空間中為該管理報文申請報文空間;若在第二緩沖區(qū)中為該管理報文申請到報文空間,則主機的CPU構(gòu)造好DMA控制塊后,通知主機側(cè)交換芯片中的DMA控制器發(fā)送該管理報文。DMA控制器通過DMA發(fā)幀通道CH0訪問主機的RAM,將該管理報文發(fā)送出去。該管理報文進入主機的VSL端口的傳輸隊列Q7,通過VSL鏈路轉(zhuǎn)發(fā)到從機的VSL端口。
[0090]由于從機的報文服務(wù)類別隊列與報文傳輸隊列映射,且傳輸?shù)墓芾韴笪牡腃0S值為7,因此,當管理報文到達從機時,管理報文被轉(zhuǎn)發(fā)到從機的報文傳輸隊列Q7,之后通過DMA收幀通道CH3把管理報文傳輸給從機的RAM中,然后從機的DMA控制器發(fā)送1個中斷通知從機的CPU進行收幀處理,如圖7所示。這樣,管理報文單獨使用DMA收幀通道CH3,可以保證對其他收幀通道的設(shè)置不會影響到對管理報文的收幀通道,也就是說,對管理報文的收發(fā)不會產(chǎn)生影響。
[0091]進一步的,可以在從機的CPU使用率過高的情況下,通過設(shè)置兩個定時器來實現(xiàn)對DMA收幀通道的管理。其中,這兩個定時器中的一個是普通定時器TimerA,定時周期是Per1dA(單位為ms),該定時器用于監(jiān)控CPU的使用情況;另一個是高精度定時器TimerB,定時周期是Per1dB (單位為us),該定時器用于控制DMA收幀通道CH1和DMA收幀通道CH2的打開或關(guān)閉,使用高精度定時器可以保證關(guān)閉DMA收幀通道CH1和/或DMA收幀通道CH2的時間不會太長,最大程度上降低關(guān)閉DMA收幀通道CH1和/或DMA收幀通道CH2對其他業(yè)務(wù)的影響。
[0092]具體的,當從機的CPU接收到從機的DMA控制器發(fā)送的中斷后,統(tǒng)計從機的CPU在?^10^內(nèi)的使用率是否超過90%。本發(fā)明實施例以統(tǒng)計的中斷處理時間作為⑶口的使用率統(tǒng)計參數(shù)。如果在?61~10必內(nèi)0^的中斷處理時間超過了 90%,則可以確定從機的0?^處于繁忙。此時,關(guān)閉0嫩收幀通道(:?和0嫩收幀通道012,同時設(shè)置關(guān)閉0嫩收幀通道(:?和0嫩收幀通道的時長為X個?61*10(18時間,其中,0^越繁忙,X值越大,^值的設(shè)置與0^的繁忙程度相關(guān)。當高精度定時器1111161*8的定時周期961^0(18到期后,^減一,當~減為0時,打開被關(guān)閉的0嫩收幀通道(:?和0嫩收幀通道(^2。
[0093]一般情況下,一些重要報文,例如管理報文的優(yōu)先級都設(shè)置為最高優(yōu)先級,這樣,按照上述的傳輸方式,通過在預(yù)留的緩沖區(qū)(即第二緩沖區(qū))中進行報文空間申請,提供了為管理報文申請空間成功的概率,同時,%1系統(tǒng)中的管理報文的數(shù)量并不是很多,通過第二緩沖區(qū)基本上可以為管理報文申請到報文空間,這樣,避免了現(xiàn)有技術(shù)系統(tǒng)內(nèi)存低而導(dǎo)致無法申請到報文空間,進而對管理報文進行丟棄的現(xiàn)象。進一步的,當系統(tǒng)0^處于高負載的情況時,通過對報文的傳輸隊列與0嫩收幀通道進行映射,特別是將優(yōu)先級最高的報文傳輸隊列單獨與一個0嫩收幀通道(即第二 0嫩收幀通道)進行映射,即將管理報文的報文傳輸隊列與第二 0嫩收巾貞通道進行映射,這樣,可以保證管理報文的正常傳輸,同時,通過關(guān)閉其他的0嫩收幀通道,以釋放0^資源,以優(yōu)先響應(yīng)第二 0嫩收幀通道的中斷,處理這些管理報文,避免了現(xiàn)有技術(shù)中無法響應(yīng)管理報文的中斷,而導(dǎo)致報文丟失的現(xiàn)象。進一步的,非管理報文所在的0嫩收幀通道的關(guān)閉還可以解決當系統(tǒng)0^使用率處于極限情況時,網(wǎng)絡(luò)設(shè)備協(xié)議異常,無法管理等問題。
[0094]實施例四
[0095]本發(fā)明實施例提供了一種7%環(huán)境下的報文處理裝置,應(yīng)用于實施例二所述的方法中,如圖8所示,該裝置80包括:
[0096]第一確定單元801,用于確定?:???!使用率是否超過第二預(yù)設(shè)值;
[0097]處理單元802,用于若所述第一確定單元801確定所述0^使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 0嫩收幀通道,保留第一 0嫩收幀通道;
[0098]其中,所述第一 0嫩收幀通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 0嫩收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
[0099]可選的,如圖9所示,所述裝置80還包括:接收單元803 ;
[0100]所述接收單元803,用于所述第一確定單元801確定所述0^使用率是否超過第二預(yù)設(shè)值之前,接收0嫩控制器發(fā)送的中斷消息;
[0101〕 所述第一確定單元801,具體用于在所述接收單元803接收到所述0嫩控制器發(fā)送的中斷消息后,確定在第一時間內(nèi)的中斷處理時間是否超過第二預(yù)設(shè)值。
[0102]可選的,所述處理單元802,還用于在所述關(guān)閉至少一個第二 0嫩收幀通道第二時間后,打開所述關(guān)閉的至少一個第二 0嫩收幀通道。
[0103]可選的,如圖9所示,所述裝置80還包括:報文申請單元804和第二確定單元805 ;
[0104]所述報文申請單元804,用于從第一緩沖區(qū)中為所述報文申請報文空間;
[0105]所述第二確定單元805,用于若所述報文申請單元804未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同;
[0106]所述報文申請單元804,還用于若所述第二確定單元805確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0107]可選的,所述第一時間的單位為毫秒,所述第二時間的單位為微秒。
[0108]本發(fā)明實施例提供的一種VSU環(huán)境下的報文處理裝置,通過確定單元確定CPU使用率是否超過第二預(yù)設(shè)值;若確定單元確定的CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 DMA收幀通道,保留第一 DMA收幀通道;其中,第一 DMA收幀通道用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,第二 DMA收幀通道用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。這樣,當(PU使用率超過第二預(yù)設(shè)值時,通過關(guān)閉優(yōu)先級為非第一預(yù)設(shè)值的報文傳輸通道,保留優(yōu)先級為第一預(yù)設(shè)值的報文傳輸通道,以便對優(yōu)先級為第一預(yù)設(shè)值的報文進行優(yōu)先處理,減小了對優(yōu)先級為第一預(yù)設(shè)值的丟失概率,提高VSU系統(tǒng)運行的穩(wěn)定性。
[0109]實施例五
[0110]本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理裝置,應(yīng)用于實施例一所述的方法中,如圖10所示,該裝置100包括:
[0111]報文申請單元1001,用于從第一緩沖區(qū)中為報文申請報文空間;
[0112]確定單元1002,用于若所述報文申請單元1001未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同;
[0113]所述報文申請單元1001,還用于若所述確定單元1002確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
[0114]可選的,如圖11所示,所述裝置100還包括:優(yōu)先級分配單元1003 ;
[0115]所述優(yōu)先級分配單元1003,用于在所述報文申請單元1001從第一緩沖區(qū)的可用空間中為報文申請報文空間之前,根據(jù)所述報文的報文類型,為所述報文分配所述報文的優(yōu)先級。
[0116]可選的,所述第一緩沖區(qū)和所述第二緩沖區(qū)位于同一個隨機存取存儲器RAM中。
[0117]本發(fā)明實施例提供了一種VSU環(huán)境下的報文處理裝置,通過報文申請單元從第一緩沖區(qū)中為報文申請報文空間,若報文申請單元未申請到報文空間,則確定單元確定報文的優(yōu)先級是否與第一預(yù)設(shè)值相同,若確定單元確定報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則報文申請單元從第二緩沖區(qū)中為報文申請所述報文空間,這樣,可以在網(wǎng)絡(luò)設(shè)備低內(nèi)存的情況下,通過預(yù)留空間,也就是通過設(shè)置第二緩沖區(qū),以對優(yōu)先級為第一預(yù)設(shè)值的報文進行報文空間申請,提聞對該報文的報文空間申請的概率,提聞VSU系統(tǒng)運行的穩(wěn)定性。
[0118]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0119]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0120]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理包括,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
[0121]上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:11盤、移動硬盤、只讀存儲器(0621(1-01117 1611101*7,簡稱尺01;!、隨機存取存儲器¢£111(10111 ^00688 1611101*7,簡稱狀的、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0122]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種VSU環(huán)境下的報文處理方法,其特征在于,包括: 確定CPU使用率是否超過第二預(yù)設(shè)值; 若所述CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 DMA收幀通道,保留第一 DMA收幀通道; 其中,所述第一 DMA收巾貞通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 DMA收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定CPU使用率是否超過第二預(yù)設(shè)值之前,所述方法還包括: 接收DMA控制器發(fā)送的中斷消息; 所述確定CPU使用率是否超過第二預(yù)設(shè)值包括:在接收到所述DMA控制器發(fā)送的中斷消息后,確定在第一時間內(nèi)CPU的中斷處理時間是否超過第二預(yù)設(shè)值。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述關(guān)閉至少一個第二DMA收幀通道之后,所述方法還包括: 在所述關(guān)閉至少一個第二 DMA收幀通道第二時間后,打開所述關(guān)閉的至少一個第二DMA收幀通道。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 從第一緩沖區(qū)中為所述報文申請報文空間; 若未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同; 若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
5.一種VSU環(huán)境下的報文處理方法,其特征在于,包括: 從第一緩沖區(qū)中為報文申請報文空間; 若未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同; 若所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從第一緩沖區(qū)的可用空間中為報文申請報文空間之前,所述方法還包括: 根據(jù)所述報文的報文類型,為所述報文分配所述報文的優(yōu)先級。
7.一種VSU環(huán)境下的報文處理裝置,其特征在于,包括: 第一確定單元,用于確定CPU使用率是否超過第二預(yù)設(shè)值; 處理單元,用于若所述第一確定單元確定所述CPU使用率超過第二預(yù)設(shè)值,則關(guān)閉至少一個第二 DMA收巾貞通道,保留第一 DMA收巾貞通道; 其中,所述第一 DMA收巾貞通道與第一報文傳輸隊列映射,所述第一報文傳輸隊列用于傳輸優(yōu)先級為第一預(yù)設(shè)值的報文,所述第二 DMA收幀通道與至少一個第二報文傳輸隊列映射,所述第二報文傳輸隊列用于傳輸優(yōu)先級為非第一預(yù)設(shè)值的報文。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:接收單元; 所述接收單元,用于所述第一確定單元確定所述CPU使用率是否超過第二預(yù)設(shè)值之前,接收DMA控制器發(fā)送的中斷消息; 所述第一確定單元,具體用于在所述接收單元接收到所述DMA控制器發(fā)送的中斷消息后,確定在第一時間內(nèi)CPU的中斷處理時間是否超過第二預(yù)設(shè)值。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述處理單元,還用于在所述關(guān)閉至少一個第二 DMA收幀通道第二時間后,打開所述關(guān)閉的至少一個第二 DMA收幀通道。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:報文申請單元和第二確定單元; 所述報文申請單元,用于從第一緩沖區(qū)中為所述報文申請報文空間; 所述第二確定單元,用于若所述報文申請單元未申請到報文空間,則確定所述報文的優(yōu)先級是否與所述第一預(yù)設(shè)值相同; 所述報文申請單元,還用于若所述第二確定單元確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
11.一種VSU環(huán)境下的報文處理裝置,其特征在于,包括: 報文申請單元,用于從第一緩沖區(qū)中為報文申請報文空間; 確定單元,用于若所述報文申請單元未申請到報文空間,則確定所述報文的優(yōu)先級是否與第一預(yù)設(shè)值相同; 所述報文申請單元,還用于若所述確定單元確定所述報文的優(yōu)先級與所述第一預(yù)設(shè)值相同,則從第二緩沖區(qū)中為所述報文申請所述報文空間,其中,所述第二緩沖區(qū)僅用于對優(yōu)先級為所述第一預(yù)設(shè)值的報文進行報文空間申請。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括:優(yōu)先級分配單元; 所述優(yōu)先級分配單元,用于在所述報文申請單元從第一緩沖區(qū)的可用空間中為報文申請報文空間之前,根據(jù)所述報文的報文類型,為所述報文分配所述報文的優(yōu)先級。
【文檔編號】H04L12/865GK104410586SQ201410764029
【公開日】2015年3月11日 申請日期:2014年12月11日 優(yōu)先權(quán)日:2014年12月11日
【發(fā)明者】方福順 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司