專利名稱:交換網板拔出時不間斷轉發(fā)數據的方法和裝置的制作方法
技術領域:
本發(fā)明涉及通訊技術領域,特別涉及一種交換網板拔出時不間斷轉發(fā)數據的方法和裝置。
背景技術:
隨著網絡承載業(yè)務的發(fā)展,運營商和用戶對網絡的可靠性提出了越來越高的要求。作為重要的網絡設備,路由器的高可用性對網絡的可靠性有決定性的影響。NSF(Non-Stop Forwarding,不間斷轉發(fā))是衡量路由器可用性的重要指標。具備NSF特性的路由器,能保證在網絡設備發(fā)生異常時轉發(fā)的數據流量不會中斷。
NSF特性主要通過冗余機制來保證。對于路由器內的負責轉發(fā)數據的交換網板而言,有兩種冗余方式N+1負載分擔方式和1∶1主備方式。第一種方式是有N+1塊網板都正常工作同時轉發(fā)數據,其中一塊網板出故障后,剩余的N塊網板繼續(xù)分擔原來的數據流量;第二種方式是只有主用網板正常工作,相同數量的備用網板則工作在溫備份狀態(tài),一旦主用網板出現異常,數據流量就切換到備用網板上。
如圖1所示為路由器內數據流量負載分擔交換體系示意圖。路由器的背板上插有N+1塊交換網板和多個線路板,該N+1塊交換網板負責多個線路板的數據交換,它們同時進行數據交換,平均分擔從線路板傳來的數據流量。線路板內具有CPU,包處理器和FIC(Fabric InterfaceChip,交換網接口芯片),FIC內又包括共享存儲器,調度器和多個轉換器。從上行方向即包處理器到交換網的方向看,FIC接收從包處理器來的數據流量,將其存儲在共享存儲器內,同時調度器根據交換網的仲裁信息(該信息一般是由連接到交換網的線路板的下行方向返回的),從共享存儲器中讀出相應的信元,并發(fā)送到相應的轉換器,完成并行格式到串行格式的轉換后,通過高速總線發(fā)送到交換網。
當路由器內的交換網板發(fā)生故障時,需要將其拔出。為保障網板內的數據流量不隨網板的拔出而丟失,要及時地進行處理。目前現有的技術是在拔故障網板之前,通過遠端的控制臺向每個線路板上的CPU發(fā)送命令,CPU收到命令后控制FIC內部的調度器,把待拔網板從調度器里面屏蔽掉,即不再向待拔網板調度信元。當待拔網板對應的轉換器中的未發(fā)送內容,以及網板緩存中的信元被全部發(fā)出后,就可以拔出網板。這樣就能實現不丟失流量的拔網板操作。
現有技術的缺點是要借助控制臺發(fā)布命令才能完成。由于設備維護現場和放置控制臺的機房一般有一定的距離,現場操作并不方便,而且增加了操作的復雜度。對于一些不允許命令干預的嚴格測試,拔網板時正在線路上傳送的和交換網板的緩存內的信元就會丟失,不能滿足無流量丟失的維護。
發(fā)明內容
為了克服交換網板拔出時可能丟失數據流量的缺點,本發(fā)明的目的是提供一種交換網板拔出時不間斷轉發(fā)數據的方法和裝置,徹底解決交換網板維護中的NSF問題,不需要控制臺提前干預,且保證數據流量不會丟失。
本發(fā)明采用如下的技術方案,一種交換網板拔出時不間斷轉發(fā)數據的方法,具體包括以下步驟步驟A建立網板輸出隊列;步驟B當有交換網板被拔出時,根據所述網板輸出隊列將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
所述步驟A具體包括步驟A1為每個交換網板建立一個與之對應的網板輸出隊列;步驟A2從存儲器中讀取數據信元,將所述數據信元發(fā)送給所述交換網板,并將所述數據信元在所述存儲器內的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列中。
所述步驟A進一步還包括步驟A3按照預先設定的規(guī)則從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內;步驟A4從所述網板輸出隊列的頭部刪除所述地址索引信息。
所述步驟A3具體包括當所述網板輸出隊列內的地址索引信息停留的時間超過設定的時間時,從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內。
所述步驟A3具體包括當所述網板輸出隊列內的地址索引信息積累的數量超過設定的閾值時,從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內。
所述步驟B具體包括步驟B1當有交換網板被拔出時,停止向所有交換網板發(fā)送數據信元;步驟B2從所述被拔交換網板對應的網板輸出隊列中讀取地址索引信息;步驟B3根據所述地址索引信息從所述存儲器中讀取已發(fā)往所述被拔交換網板的數據信元;步驟B4將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
所述步驟B4之后還包括恢復向所述其余交換網板發(fā)送數據信元。
所述步驟B4之后還包括將所述被拔交換網板對應的網板輸出隊列內的所有地址索引信息都保存在空閑緩存區(qū)索引池內,并刪除所述被拔交換網板對應的網板輸出隊列。
所述步驟B4之后還包括將所述被拔交換網板對應的網板輸出隊列內的所有地址索引信息都保存在空閑緩存區(qū)索引池內,并保留所述被拔交換網板對應的網板輸出隊列。
本發(fā)明提供的一種交換網板拔出時不間斷轉發(fā)數據的裝置包括
存儲器,緩存區(qū)控制器,緩存區(qū)管理器,空閑緩存區(qū)索引池,虛擬輸出隊列,原始調度器,網板輸出隊列模塊和調度模塊。
網板輸出隊列模塊,用于建立網板輸出隊列;調度模塊,用于當有交換網板被拔出時,根據所述網板輸出隊列將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
所述網板輸出隊列模塊具體包括創(chuàng)建單元,用于為每個交換網板建立一個與之對應的網板輸出隊列;保存單元,用于從存儲器讀取數據信元,向所述交換網板發(fā)送所述數據信元,并將所述數據信元在所述存儲器內的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列里。
所述調度模塊具體包括并列調度器,與所述網板輸出隊列模塊和所述空閑緩存區(qū)索引池連接,用于當有交換網板被拔出時,從所述網板輸出隊列中找到所述被拔交換網板對應的網板輸出隊列,并輸出所述被拔交換網板對應的網板輸出隊列內保存的地址索引信息,以及按照預先設定的規(guī)則從所述各網板輸出隊列頭部讀取地址索引信息,并保存到空閑緩存區(qū)索引池,然后將所讀取的地址索引信息從所述各網板輸出隊列的頭部刪除;上級調度器,與所述原始調度器,所述并列調度器以及所述網板輸出隊列模塊連接,用于將發(fā)往各交換網板的數據信元的地址索引信息,保存在接收該數據信元的交換網板對應的網板輸出隊列中;當有交換網板被拔出時,停止調度所述原始調度器,開始接收所述并列調度器輸出的地址索引信息,并將所述地址索引在所述存儲器內對應的數據信元發(fā)送給所述其余交換網板;當所述數據信元全部發(fā)送給所述其余交換網板后,停止調度所述并列調度器,恢復調度所述原始調度器。
本發(fā)明的有益效果是通過建立網板輸出隊列保存發(fā)往交換網板數據信元的地址索引的方式,可以實現在拔出交換網板的情況下,已經發(fā)往該交換網板的數據流量會重新發(fā)送給其余交換網板,確保不會造成數據流量的丟失,從而實現真正的NSF。
圖1為現有技術數據流量負載分擔交換體系示意圖;圖2為本發(fā)明交換網板拔出時不間斷轉發(fā)數據的裝置的示意圖;圖3為本發(fā)明交換網板拔出時不間斷轉發(fā)數據的裝置的結構圖;圖4為本發(fā)明交換網板拔出時不間斷轉發(fā)數據的方法一實施例的流程圖。
具體實施例方式
下面結合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。
本發(fā)明實際上提出了一種新的存儲器管理機制。其原理是當感知到某交換網板被拔出后,線路板上存放發(fā)往該交換網板數據的存儲器的讀指針回退,把剛發(fā)出的數據再重新發(fā)送一遍,從而保證了數據不會丟失。
參見圖2,線路板上的存儲器可以是FIC內部的共享存儲器,也可以是FIC外部的存儲器,用來存放發(fā)往交換網板的數據。通常根據交換網的設置將存儲器劃分為N個定長的信元緩存區(qū),如以64字節(jié)為定長或者以72字節(jié)為定長;進入線路板的數據在緩存區(qū)控制器的控制下,根據緩存區(qū)管理器提供的空閑緩存區(qū)地址寫入信元緩存區(qū);每個信元緩存區(qū)對應一個地址索引,地址索引的長度根據存儲器空間一般定義為2~4個字節(jié),該地址索引信息按照交換網的仲裁信息存放在相應的VOQ(Virtual Output Queue,虛擬輸出隊列)里。空閑緩存區(qū)索引池內存放有空閑的信元緩存區(qū)的地址索引,提供給緩存區(qū)管理器進行管理,用于存放新收到的數據流量。
參見圖3,本發(fā)明交換網板拔出時不間斷轉發(fā)數據的裝置具體包括存儲器,緩存區(qū)控制器,緩存區(qū)管理器,空閑緩存區(qū)索引池,虛擬輸出隊列,原始調度器A,網板輸出隊列模塊和調度模塊。
網板輸出隊列模塊,用于建立網板輸出隊列;調度模塊,用于當有交換網板被拔出時,根據所述網板輸出隊列將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
所述網板輸出隊列模塊具體包括創(chuàng)建單元,用于為每個交換網板建立一個與之對應的網板輸出隊列;保存單元,用于從存儲器讀取數據信元,向所述交換網板發(fā)送所述數據信元,并將所述數據信元在所述存儲器內的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列里。
所述調度模塊具體包括并列調度器B,與所述網板輸出隊列模塊和所述空閑緩存區(qū)索引池連接,用于當有交換網板被拔出時,從所述網板輸出隊列中找到所述被拔交換網板對應的網板輸出隊列,并輸出所述被拔交換網板對應的網板輸出隊列內保存的地址索引信息,以及按照預先設定的規(guī)則從所述各網板輸出隊列頭部讀取地址索引信息,并保存到空閑緩存區(qū)索引池,然后將所讀取的地址索引信息從所述各網板輸出隊列的頭部刪除(此處所說的從隊列的頭部讀取以及刪除的操作是指按照先進先出的原則對先存進隊列的地址索引進行處理);上級調度器C,與所述原始調度器A,所述并列調度器B以及所述網板輸出隊列模塊連接,用于將發(fā)往各交換網板的數據信元的地址索引信息,保存在接收該數據信元的交換網板對應的網板輸出隊列中;當有交換網板被拔出時,停止調度所述原始調度器A,開始接收所述并列調度器B輸出的地址索引信息,并將所述地址索引在所述存儲器內對應的數據信元發(fā)送給所述其余交換網板;當所述數據信元全部發(fā)送給所述其余交換網板后,停止調度所述并列調度器B,恢復調度所述原始調度器A。
參見圖4,采用上述裝置在交換網板拔出時不間斷轉發(fā)數據的方法具體包括以下步驟步驟101增加一并列調度器和一上級調度器,并建立K個網板輸出隊列,分別與K個交換網板一一對應;步驟102上級調度器C調度原始調度器A,根據VOQ里的地址索引信息把信元緩存區(qū)內的數據信元發(fā)送給K個交換網板;并且上級調度器C把所發(fā)送數據信元的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列里;當所述K個網板輸出隊列內的地址索引信息停留的時間超過設定的時間時,或者當所述K個網板輸出隊列內的地址索引信息積累的數量超過設定的閾值時(一般根據信元過網的最大延時等因素來配置設定時間和數據量閾值),從所述K個網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內,然后從所述K個網板輸出隊列的頭部刪除所述地址索引信息,此處所說的從隊列的頭部讀取以及刪除的操作是指按照先進先出的原則對先存進隊列的地址索引進行處理;步驟103當檢測到有交換網板被拔出時,上級調度器C停止調度原始調度器A,即停止向所有交換網板發(fā)送數據,開始調度并列調度器B;步驟104并列調度器B讀取所述被拔交換網板對應的網板輸出隊列內的地址索引信息;步驟105根據所述地址索引信息從存儲器的信元緩存區(qū)讀取已發(fā)往所述被拔交換網板的數據信元;步驟106將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板;步驟107上級調度器C停止調度并列調度器B,恢復對原始調度器A的調度,即恢復向所述其余交換網板發(fā)送數據信元;步驟108并列調度器B將所述被拔交換網板輸出隊列內的全部地址索引信息發(fā)送給所述空閑緩存區(qū)索引池,并刪除所述被拔交換網板輸出隊列,也可以將該被拔交換網板輸出隊列保留備用,當有新的交換網板插入的時候可以把該隊列與新插的交換網板對應上,繼續(xù)使用。
其中交換網板拔出的檢測,可以是基于交換網板在位短針的感知,也可以是鏈路層的同步檢測;重復發(fā)送的數據量因交換網板被檢測到拔出的時刻與鏈路因拔出而失步的時刻不一致而不同。如果交換網板被檢測到拔出的時刻早于鏈路失步時刻,則重復發(fā)送的數據信元僅僅是交換網板上的緩存數據信元和正在鏈路上傳送的數據信元;如果交換網板被檢測到拔出的時刻晚于鏈路失步時刻,則重復發(fā)送的數據信元為交換網板上的緩存數據信元和正在鏈路上傳送的數據信元,再加上兩個時刻之間發(fā)往被拔交換網板的數據信元。因此,及早檢測到網板的拔出對減小存儲器占用空間非常關鍵。重復發(fā)送的數據信元經現有交換網交換后,在線路板下行方向有可能和前面收到的部分重復,現有的重組機制可以保證重復出現的數據信元會被丟棄。
以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領域的技術人員在本發(fā)明技術方案范圍內進行的通常變化和替換,都應包含在本發(fā)明的保護范圍內。
權利要求
1.一種交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述方法包括步驟A建立網板輸出隊列;步驟B當有交換網板被拔出時,根據所述網板輸出隊列將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
2.根據權利要求1所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟A具體包括步驟A1為每個交換網板建立一個與之對應的網板輸出隊列;步驟A2從存儲器中讀取數據信元,將所述數據信元發(fā)送給所述交換網板,并將所述數據信元在所述存儲器內的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列中。
3.根據權利要求2所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟A進一步還包括步驟A3按照預先設定的規(guī)則從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內;步驟A4從所述網板輸出隊列的頭部刪除所述地址索引信息。
4.根據權利要求3所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟A3具體包括當所述網板輸出隊列內的地址索引信息停留的時間超過設定的時間時,從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內。
5.根據權利要求3所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟A3具體包括當所述網板輸出隊列內的地址索引信息積累的數量超過設定的閾值時,從所述網板輸出隊列的頭部讀取地址索引信息,并將其保存在空閑緩存區(qū)索引池內。
6.根據權利要求1至5中任意一項權利要求所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟B具體包括步驟B1當有交換網板被拔出時,停止向所有交換網板發(fā)送數據信元;步驟B2從所述被拔交換網板對應的網板輸出隊列中讀取地址索引信息;步驟B3根據所述地址索引信息從所述存儲器中讀取已發(fā)往所述被拔交換網板的數據信元;步驟B4將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
7.根據權利要求6所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟B4之后還包括恢復向所述其余交換網板發(fā)送數據信元。
8.根據權利要求6所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟B4之后還包括將所述被拔交換網板對應的網板輸出隊列內的所有地址索引信息都保存在空閑緩存區(qū)索引池內,并刪除所述被拔交換網板對應的網板輸出隊列。
9.根據權利要求6所述的交換網板拔出時不間斷轉發(fā)數據的方法,其特征在于,所述步驟B4之后還包括將所述被拔交換網板對應的網板輸出隊列內的所有地址索引信息都保存在空閑緩存區(qū)索引池內,并保留所述被拔交換網板對應的網板輸出隊列。
10.一種交換網板拔出時不間斷轉發(fā)數據的裝置,包括存儲器,緩存區(qū)控制器,緩存區(qū)管理器,空閑緩存區(qū)索引池,虛擬輸出隊列以及原始調度器,其特征在于,還包括網板輸出隊列模塊,用于建立網板輸出隊列;調度模塊,用于當有交換網板被拔出時,根據所述網板輸出隊列將已發(fā)往所述被拔交換網板的數據信元重新發(fā)送給其余交換網板。
11.根據權利要求10所述的交換網板拔出時不間斷轉發(fā)數據的裝置,其特征在于,所述網板輸出隊列模塊具體包括創(chuàng)建單元,用于為每個交換網板建立一個與之對應的網板輸出隊列;保存單元,用于從存儲器讀取數據信元,向所述交換網板發(fā)送所述數據信元,并將所述數據信元在所述存儲器內的地址索引保存在接收該數據信元的交換網板對應的網板輸出隊列里。
12.根據權利要求10所述的交換網板拔出時不間斷轉發(fā)數據的裝置,其特征在于,所述調度模塊具體包括并列調度器,與所述網板輸出隊列模塊和所述空閑緩存區(qū)索引池連接,用于當有交換網板被拔出時,從所述網板輸出隊列中找到所述被拔交換網板對應的網板輸出隊列,并輸出所述被拔交換網板對應的網板輸出隊列內保存的地址索引信息,以及按照預先設定的規(guī)則從所述各網板輸出隊列頭部讀取地址索引信息,并保存到空閑緩存區(qū)索引池,然后將所讀取的地址索引信息從所述各網板輸出隊列的頭部刪除;上級調度器,與所述原始調度器,所述并列調度器以及所述網板輸出隊列模塊連接,用于將發(fā)往各交換網板的數據信元的地址索引信息,保存在接收該數據信元的交換網板對應的網板輸出隊列中;當有交換網板被拔出時,停止調度所述原始調度器,開始接收所述并列調度器輸出的地址索引信息,并將所述地址索引在所述存儲器內對應的數據信元發(fā)送給所述其余交換網板;當所述數據信元全部發(fā)送給所述其余交換網板后,停止調度所述并列調度器,恢復調度所述原始調度器。
全文摘要
本發(fā)明提供一種交換網板拔出時不間斷轉發(fā)數據的方法和裝置,屬于通訊技術領域,為了克服現有技術中交換網板拔出時可能丟失數據流量的缺點,通過在線路板上建立用于保存已發(fā)往各個交換網板的數據信元地址的隊列的方式,可以實現在拔出交換網板的情況下,已經發(fā)往該交換網板的數據流量會重新發(fā)送給其余交換網板;本發(fā)明還提供了一種包括網板輸出隊列模塊和調度模塊的裝置;采用本發(fā)明所述技術方案能確保不會造成數據流量的丟失,而且不需要控制臺提前干預,徹底解決交換網板維護中的不間斷轉發(fā)的問題。
文檔編號H04L12/54GK1984026SQ20061007864
公開日2007年6月20日 申請日期2006年4月29日 優(yōu)先權日2006年4月29日
發(fā)明者王重陽 申請人:華為技術有限公司