本發(fā)明涉及數(shù)據(jù)通信設(shè)備領(lǐng)域,具體來講涉及一種數(shù)據(jù)通信設(shè)備中基于硬件的快速倒換動(dòng)作實(shí)現(xiàn)方法。
背景技術(shù):
::在數(shù)據(jù)通信中,有些應(yīng)用對流量的中斷非常敏感,比如語音業(yè)務(wù)、voip(voiceoverinternetprotocol,網(wǎng)絡(luò)電話)、視頻會議、網(wǎng)絡(luò)游戲等實(shí)時(shí)業(yè)務(wù)。在電信級網(wǎng)絡(luò)中,語音業(yè)務(wù)中斷時(shí)間不能超過50ms。為了保護(hù)這種敏感業(yè)務(wù),國內(nèi)和國際組織定義了有多種保護(hù)機(jī)制可供不同場景使用,比如vpnfrr、ipfrr、lsp1:1/1+1、pw1:1/1+1、msp、msrp環(huán)網(wǎng)保護(hù)等。為了簡化描述,本文中將上述所有保護(hù)統(tǒng)稱為aps(automaticprotectionswitching自動(dòng)保護(hù)倒換)。aps動(dòng)作大致可分為如下步驟:(1)快速檢測路徑狀態(tài);(2)aps狀態(tài)機(jī)綜合路徑告警和控制命令運(yùn)算出保護(hù)動(dòng)作;(3)轉(zhuǎn)發(fā)面執(zhí)行倒換動(dòng)作;(4)修復(fù)破損路徑(自動(dòng)或通過人工修復(fù));如圖1所示,是一種典型數(shù)據(jù)通信設(shè)備倒換結(jié)構(gòu)示意圖,包括cpu(centralprocessingunit,中央處理器)、fpga(field-programmablegatearray,現(xiàn)場可編程門陣列)、np(networkprocessor,網(wǎng)絡(luò)處理器)芯片、第一光口p1、第二光口p2和第三光口p3,主用路徑為p1-p2,備用路徑為p1-p3,np芯片中集成存儲器。完整的倒換流程為:fpga發(fā)送oam(operationadministrationandmaintenance,操作維護(hù)管理)報(bào)文分別檢測主用路徑和備用路徑的狀態(tài)。cpu從fpga中通過本地狀態(tài)標(biāo)志獲取主、備用路徑告警狀態(tài),然后計(jì)算出倒換動(dòng)作,cpu將倒換動(dòng)作寫入到np芯片的存儲器中。np芯片根據(jù)存儲器中的倒換動(dòng)作,將業(yè)務(wù)發(fā)送到主用路徑或者備用路徑。但是在實(shí)際設(shè)備開發(fā)中,cpu與np芯片是本地總線或者其他總線相聯(lián)。cpu寫存儲器受限于總線帶寬、總線交互邏輯以及cpu所運(yùn)行操作系統(tǒng)等多方面的限制,上述限制導(dǎo)致“cpu將倒換動(dòng)作寫入到存儲器”這一步的執(zhí)行時(shí)間過程,成為整體aps倒換的重要瓶頸,尤其對于多條目同時(shí)動(dòng)作時(shí),往往不能保證及時(shí)將動(dòng)作推送到np芯片上。而對于分布式設(shè)備,執(zhí)行動(dòng)作的單盤更多,因此執(zhí)行效率更低下,執(zhí)行時(shí)間更長。技術(shù)實(shí)現(xiàn)要素:針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種數(shù)據(jù)通信設(shè)備中基于硬件的快速倒換動(dòng)作實(shí)現(xiàn)方法,極大提高主控制器下發(fā)倒換動(dòng)作到存儲器的執(zhí)行效率,降低執(zhí)行時(shí)間。為達(dá)到以上目的,本發(fā)明采取一種數(shù)據(jù)通信設(shè)備中基于硬件的快速倒換動(dòng)作實(shí)現(xiàn)方法,所述硬件包括主控制器、交換矩陣模塊和多個(gè)單盤,每個(gè)單盤包括cpu、存儲器、業(yè)務(wù)處理芯片和交換矩陣接口芯片fic;實(shí)現(xiàn)方法包括步驟:主控制器向交換矩陣模塊發(fā)送一組攜帶動(dòng)作信息的報(bào)文,交換矩陣模塊將所述報(bào)文向單盤多播;業(yè)務(wù)處理芯片解析單盤收到的報(bào)文,并將動(dòng)作信息提取到存儲器的表項(xiàng)中;業(yè)務(wù)處理芯片根據(jù)所述表項(xiàng)中的動(dòng)作信息指導(dǎo)業(yè)務(wù)轉(zhuǎn)發(fā);其中,所述報(bào)文最后2字節(jié)為校驗(yàn)碼,1~6字節(jié)為目的單盤描述符,7~12字節(jié)為本地單盤描述符,13~14字節(jié)為數(shù)據(jù)包類型,15~16字節(jié)為表項(xiàng)類型,17~20字節(jié)為基地址,21~22字節(jié)為備用字節(jié),23~24字節(jié)為凈荷長度,其余字節(jié)用來填充凈荷內(nèi)容。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片核對報(bào)文中的目的報(bào)文描述符是否與當(dāng)前單盤匹配,若是,核對數(shù)據(jù)包類型;若否,丟棄該報(bào)文并記錄錯(cuò)誤。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片根據(jù)數(shù)據(jù)包類型的取值,確定是否為寫硬件表項(xiàng)報(bào)文,若是,核對表項(xiàng)類型;若否,將報(bào)文交由其他功能模塊處理。在上述技術(shù)方案的基礎(chǔ)上,所述數(shù)據(jù)包類型預(yù)先設(shè)置一個(gè)值,表示寫硬件表項(xiàng)。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片根據(jù)表項(xiàng)類型確認(rèn)報(bào)文期望更新的表項(xiàng)。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片根據(jù)凈荷長度,從凈荷內(nèi)容中獲取該凈荷長度對應(yīng)的表項(xiàng)。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片將識別出的凈荷寫到以基地址作為起始地址的存儲器中,存儲器中對應(yīng)的表項(xiàng)為報(bào)文期望更新的表項(xiàng)。在上述技術(shù)方案的基礎(chǔ)上,所述業(yè)務(wù)處理芯片核對目的報(bào)文描述符之前,先通過報(bào)文中的校驗(yàn)碼確認(rèn)報(bào)文是否合法,若是,解析該報(bào)文;若否,丟棄報(bào)文并記錄錯(cuò)誤。在上述技術(shù)方案的基礎(chǔ)上,以數(shù)據(jù)包類型+表項(xiàng)類型作為鍵值記錄報(bào)文個(gè)數(shù),用作調(diào)試信息。在上述技術(shù)方案的基礎(chǔ)上,所述主控制器為cpu或fpga;所述存儲器為sram或dram;所述業(yè)務(wù)處理芯片為np或asic。本發(fā)明的有益效果在于:主控制器通過定義報(bào)文格式,使報(bào)文攜帶動(dòng)作信息,業(yè)務(wù)處理芯片通過交換矩陣獲取主控制器發(fā)送的報(bào)文并解析,然后將動(dòng)作信息提取到本單盤的存儲器中,業(yè)務(wù)處理芯片再根據(jù)存儲器表項(xiàng)中的動(dòng)作信息指導(dǎo)業(yè)務(wù)轉(zhuǎn)發(fā)。倒換動(dòng)作沒有通過cpu寫入,避免了各種情況對于執(zhí)行時(shí)間的限制,提高主控制器下發(fā)倒換動(dòng)作到存儲器的執(zhí)行效率,及時(shí)將業(yè)務(wù)推送到業(yè)務(wù)處理芯片,降低執(zhí)行時(shí)間。通過本發(fā)明的實(shí)現(xiàn)方法,可使得上述動(dòng)作能夠降低到微秒級別生效。附圖說明圖1為
背景技術(shù):
:中典型數(shù)據(jù)通信設(shè)備倒換結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例基于的系統(tǒng)框圖;圖3為本發(fā)明實(shí)施例數(shù)據(jù)通信設(shè)備中基于硬件的快速倒換動(dòng)作實(shí)現(xiàn)方法流程圖;圖4為本發(fā)明的報(bào)文結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例單盤具體動(dòng)作示意圖。具體實(shí)施方式以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。如圖2和圖5所示,為本發(fā)明實(shí)現(xiàn)方法基于的系統(tǒng)框圖,系統(tǒng)設(shè)置在數(shù)據(jù)通信設(shè)備中,數(shù)據(jù)通信設(shè)備可以是路由器、三層交換機(jī)、ipran設(shè)備或ptn設(shè)備等,以及其他具有類似功能的設(shè)備。具體硬件包括主控制器、fabric(交換矩陣)模塊和多個(gè)單盤,主控制器可以是cpu或fpga;每個(gè)單盤包括cpu、存儲器、業(yè)務(wù)處理芯片和fic(fabricinterfacechip,交換矩陣接口芯片),存儲器可以為sram(staticrandomaccessmemory,靜態(tài)隨機(jī)存取存儲器)或dram(dynamicrandomaccessmemory,動(dòng)態(tài)隨機(jī)存取存儲器),還可以是其他類似的存儲設(shè)備;業(yè)務(wù)處理芯片可以是np或asic(applicationspecificintegratedcircuit,應(yīng)用集成電路)。本實(shí)施例中,存儲器采用sram,用于以表項(xiàng)的形式存儲動(dòng)作信息;業(yè)務(wù)處理芯片采用np,fabric模塊和fic接口組成交換矩陣。如圖3所示,本發(fā)明數(shù)據(jù)通信設(shè)備中基于硬件的快速倒換動(dòng)作實(shí)現(xiàn)方法,具體包括如下步驟:s1.主控制器向fabric模塊發(fā)送一組報(bào)文,報(bào)文中攜帶動(dòng)作信息。如圖4和圖5所示,為攜帶動(dòng)作信息的報(bào)文格式。報(bào)文最后的兩個(gè)字節(jié)為cc(校驗(yàn)碼),第1~6字節(jié)為dst(目的單盤描述符),7~12字節(jié)為src(本地單盤描述符),13~14字節(jié)為pkttype(數(shù)據(jù)包類型),15~16字節(jié)為tbltype(表項(xiàng)類型),17~20字節(jié)為base(基地址),21~22字節(jié)為bkup(備用字節(jié)),23~24字節(jié)為itemnum(凈荷長度),其余字節(jié)用來填充payload(凈荷內(nèi)容)。其中,tbltype表達(dá)了payload字段攜帶的數(shù)據(jù)類型和格式,base表達(dá)了報(bào)文攜帶內(nèi)容在指定表項(xiàng)的位置信息,itemnum表達(dá)攜帶內(nèi)容的長度;payload字段為具體數(shù)據(jù)凈荷;cc字段用于保證數(shù)據(jù)正確性。s2.fabric模塊接收該組報(bào)文,并向單盤進(jìn)行多播。s3.各單盤通過fic接口收到報(bào)文之后,業(yè)務(wù)處理芯片識別并解析報(bào)文,將報(bào)文中攜帶的動(dòng)作信息提取到存儲器的表項(xiàng)中,本實(shí)施例中,np識別并解析報(bào)文,然后提取動(dòng)作信息到sram的表項(xiàng)中。s4.單盤的業(yè)務(wù)處理芯片根據(jù)所述表項(xiàng)中的動(dòng)作信息,指導(dǎo)業(yè)務(wù)進(jìn)行轉(zhuǎn)發(fā)。所述s3的具體步驟包括:s301.業(yè)務(wù)處理芯片校驗(yàn)報(bào)文的cc字段,確認(rèn)報(bào)文是否合法,若是,進(jìn)入s302;若否,丟棄該報(bào)文并記錄錯(cuò)誤。s302.業(yè)務(wù)處理芯片核對報(bào)文中的dst字段,判斷報(bào)文的目的單盤是否為當(dāng)前單盤,即是否與當(dāng)前單盤匹配,若是,進(jìn)入s303;若否,丟棄該報(bào)文并記錄錯(cuò)誤。s303.業(yè)務(wù)處理芯片識別pkttype字段,根據(jù)該字段的取值,確定是否為寫硬件表項(xiàng)報(bào)文;若是,進(jìn)入s304;若否,將報(bào)文交由其他功能模塊處理。pkttype可設(shè)置,例如預(yù)先設(shè)定pkttype=0x079f表示“寫硬件表項(xiàng)”,在業(yè)務(wù)處理芯片識別的時(shí)候,如果不是這個(gè)數(shù)值,則認(rèn)定不是寫硬件表項(xiàng)報(bào)文。s304.業(yè)務(wù)處理芯片識別tbltype字段,確認(rèn)報(bào)文所期望更新的表項(xiàng)。例如,tbltype取值為“frrtable”,表明單盤收到的報(bào)文想要更新該盤的frr(fastreroute,快速重路由)表項(xiàng)。s305.業(yè)務(wù)處理芯片識別itemnum字段,根據(jù)凈荷長度,從payload中獲取itemnum個(gè)表項(xiàng),即該凈荷長度對應(yīng)的表項(xiàng)。s306.業(yè)務(wù)處理芯片識別base字段,將s305中識別出的凈荷以base作為起始地址的對應(yīng)表項(xiàng)中,該對應(yīng)表項(xiàng)是s304中確認(rèn)的報(bào)文期望更新的表項(xiàng),結(jié)束。在上述步驟中,以pkttype+tbltype作為鍵值記錄報(bào)文個(gè)數(shù),用作調(diào)試信息。另外,步驟s301是一個(gè)可選步驟,也可以從步驟s302直接開始。本發(fā)明不局限于上述實(shí)施方式,對于本
技術(shù)領(lǐng)域:
:的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。當(dāng)前第1頁12當(dāng)前第1頁12