交換機動態配置恢復方法
2023-09-18 14:37:30 1
專利名稱:交換機動態配置恢復方法
技術領域:
本發明屬於計算機網絡通信領域,具體涉及分布式結構通信設備中,整機啟動和單板(模塊)插拔時的配置保存和恢復。
背景技術:
在通信設備中,特別是處在複雜網絡環境中的通信設備,當設備掉電重啟之後,管理人員需要重新進行配置,這是一項十分繁重的工作,在設備較多的情況下,使人難以忍受。如果在用戶進行配置完成之後,能夠把配置保存下來,在下一次設備重新啟動的時候把這些配置自動恢復,就可以減輕用戶的配置工作。
另外,如果設備是基於分布式構架而設計的,那麼當其中一塊單板(模塊)拔出的時候,需保存這塊板相關的配置信息,當板再次插入的時候,恢復其相關配置,恢復到拔出時的狀態,即「熱插拔」的配置保存和恢復。
目前比較普遍的實現這兩個功能的流程如下1、用戶保存配置的時候,每個模塊分別以命令的形式輸出自己的配置信息,這些信息被保存到flash或者磁碟等存儲設備上;2、設備重啟的時候,把每塊單板相關的命令提取到各自的buffer中。這個提取的過程一般是比較命令中的板號是不是對應的板號,然後提取到各個buffer中,這個板號的比較一般是字符串比較;3、當單板插入的時候,運行板對應的buffer中的命令。
由於在提取配置信息過程中,通過字符串比較只進行板號的匹配,這樣的實現方式有如下的問題1、使用字符串比較,只能實現簡單的匹配功能,導致與單板相關的某些命令沒有提取到板對應的buffer中;2、提取的過程不夠靈活,無法在提取的過程中決定後續的提取操作。
發明內容
本發明克服上述配置恢復功能的不足,提供一種靈活的動態配置恢復方法。
本發明的技術內容一種L3交換機動態配置恢復方法,首先是配置信息的生成和保存。然後在設備重啟的時候,把每塊單板相關的命令提取到各自的buffer中。提取的方法如下先為每塊板設置一命令模板集,命令模板集包含多個命令模板,一個命令模板對應於一條命令的形式。在提取的時候,取出配置信息中的每一條命令,依次跟每塊板中的每個命令模板進行比較匹配,在該匹配過程中,對命令模板中指明的普通字符串,使用普通的字符串比較函數進行比較,對關鍵字字符串使用回調函數進行比較。
命令模板還包括一關鍵字的值,即命令中關鍵字字符串在該命令模板中的取值。在匹配過程中,可將該關鍵字的值和配置信息中的關鍵字的值共同傳到回調函數中,由回調函數的返回值決定是否匹配上。
命令模板還包括一匹配成功回調函數,在匹配成功後,可調用匹配成功回調函數把配置信息中被匹配上的命令作為參數傳入,並根據該參數修改其他的命令模板的模式。
本發明的技術效果使用回調函數進行關鍵字的比較,使得這個比較可以十分靈活,比如,可以比較兩個IP位址是否在同一個網段,或者查找在一個字符串中是不是包含某一個特定字符等等,從而能夠提取更多的命令到各個板對應的buffer中。在匹配成功的時候,調用匹配成功回調函數,修改命令模式或者關鍵字的值,使得在匹配的過程中影響後續的匹配操作成為可能。
圖1是本發明的提取配置信息的處理流程圖;圖2是本發明的命令模板集的示意圖。
具體實施例方式
參考圖1,本發明包括以下步驟1、首先是配置信息的生成和保存,用戶保存配置的時候,每個模塊分別以命令的形式輸出自己的配置信息,這些信息被保存到flash或者磁碟等存儲設備上;2、設備重啟的時候,為每塊板準備命令模板集,命令模板集中包含多個命令模板。一個命令模板指明了這塊板關心的一條命令的形式,由四部分組成,一是命令字符串,指明了命令中的普通字符串和關鍵字字符串,普通字符串是不變的部分,關鍵字字符串隨不同的命令模板而不同;二是關鍵字的值,也就是在命令字符串中指明的關鍵字字符串在這個命令模板中的取值;三是關鍵字字符串的比較回調函數,這個函數用來進行關鍵字的比較;四是匹配成功回調函數,如果配置信息中有某條命令跟某個命令模板匹配上了,這個命令模板的匹配成功回調函數將被調用;3、把配置信息讀取到一塊buffer中(如果存儲設備支持行讀取的方式也可以直接讀出每一行),取出配置信息中的每一條命令,依次跟每塊板中的每個命令模板進行比較,如果有一條命令模板匹配上這條命令,這條命令就被提取到這個命令模板所屬的板的buffer中,表明這條命令是和這塊板相關的,這條命令就被提取到這塊板對應的buffer中。在這個匹配過程中,先比較模板中的普通字符串是否跟命令中對應的字符串一樣,如果一樣,就對關鍵字字符串進行比較,把命令模板中的「關鍵字的值」和配置信息中的關鍵字的值傳到「比較回調函數」中,由回調函數的返回值決定是否匹配上,即對命令模板中指明的普通字符串,使用普通的字符串比較函數進行比較,對關鍵字字符串使用回調函數進行比較;4、在匹配成功時,調用命令模塊中的匹配成功回調函數,這個函數中針對這條命令改變(更改或者增加或者刪除)某個(被修改的命令模板不一定是匹配成功的這個模板)命令模板或者修改命令模板的關鍵字值,即把配置信息中被匹配上的這條命令作為參數傳入,匹配成功回調函數中根據該參數修改其他的命令模式;5、如過還有配置信息沒有處理完,轉到步驟3;6、等待板插入時運行對應的buffer中的命令參考圖2,板對應的命令模板集的示意圖,其中interface ethkey1是card 1的一個命令模板,key1是關鍵字,key_cmp_func是key1對應的比較函數,1是kery1對於card 1的關鍵字值,ext_func是這個命令模板的匹配成功回調函數。同時還給出了card 2的命令模板集合,這時interface ethkey1中kery1的關鍵字值就是2而不是1了為了更清楚說明本發明,特舉一具體實施例假設配置了兩條命令,命令A」ip address ethernet 1/1 10.5.3.32」在板1的一個接口上配置了一個IP,命令B」ip route 192.168.0.1/24 10.5.3.32」配置了一條靜態路由,下一跳就是在A中使用的IP10.5.3.32。這樣其實命令B就跟板1相關了,也應該在板1插入的時候執行。但是普通方法無法完成這一功能,因為A和B的關係是要在分析命令的過程中才能知道的,而普通的方法無法在分析的過程中影響後面的分析,動態更改分析提取的策略。使用本發明所述的方法可以完成這個功能,實現步驟如下1、設計兩個命令模板,命令模板1匹配配置靜態路由的命令B,關鍵字是目的路由,關鍵字比較方式是IP位址的比較,關鍵字的值初始的時候為空,匹配成功回調函數也為空。命令模板2匹配在接口上配置IP的命令A,關鍵字是板號,比較方式是普通字符串比較,匹配成功回調函數執行的操作是把這次比較成功的命令中的IP位址設置為命令模板1的關鍵字的值;2、把這兩個命令模板加到板1對應的命令模板集中;3、在配置恢復的時候,先匹配到命令A」ip address ethernet 1/1 10.5.3.32」,跟命令模板2匹配上,把命令A提取到板1相關的buffer中,同時調用命令模板2的匹配成功回調函數,把命令模式1的關鍵字值設置為IP位址10.5.3.32;4、匹配到命令B」ip route 192.168.0.1/24 10.5.3.32」的時候,前面的普通字符串都跟命令模式1匹配上,B中的下一跳也和命令模式1的關鍵字值″10.5.3.32」匹配上,這樣,命令B也被提取到板1相關的buffer中。
權利要求
1.一種交換機動態配置恢復方法,首先是配置信息的生成和保存,然後在設備重啟的時候,把每塊單板相關的命令提取到各自的buffer中,其特徵在於,提取過程包括(1)為每塊板設置一命令模板集,命令模板集包含若干個命令模板,一個命令模板對應於一條命令的形式;(2)在提取的時候,取出配置信息中的每一條命令,依次跟每塊板中的每個命令模板進行比較匹配,在該匹配過程中,對命令模板中指明的普通字符串,使用普通的字符串比較函數進行比較,對關鍵字字符串使用回調函數進行比較。
2.如權利要求1所述的交換機動態配置恢復方法,其特徵在於命令模板中還包括關鍵字字符串在該命令模板中的取值,在匹配過程中,將該關鍵字的值和配置信息中的關鍵字的值共同傳到回調函數中,由回調函數的返回值決定是否匹配上。
3.如權利要求1或2所述的交換機動態配置恢復方法,其特徵在於命令模板還包括一匹配成功回調函數,在匹配成功後,調用匹配成功回調函數把配置信息中被匹配上的命令作為參數傳入,並根據該參數修改其他的命令模板的模式。
全文摘要
本發明提供了一種L3交換機動態配置恢復方法,屬於計算機網絡通信領域。該方法首先是配置信息的生成和保存,然後在設備重啟的時候,把配置信息中每塊單板相關的命令提取到各自的buffer中。在匹配過程中,對命令模板中指明的普通字符串,使用普通的字符串比較函數進行比較,對關鍵字字符串使用回調函數進行比較。使用回調函數進行比較可以十分靈活地操作,能提取更多的命令到各個板對應的buffer中。在匹配成功後,可調用匹配成功回調函數,把配置信息中被匹配上的命令作為參數傳入,根據該參數修改其他的命令模板的模式,使得在匹配的過程中影響後續的匹配操作成為可能。
文檔編號H04L12/24GK1558602SQ20041000084
公開日2004年12月29日 申請日期2004年1月17日 優先權日2004年1月17日
發明者袁峰峰 申請人:港灣網絡有限公司