交换机动态配置恢复方法

文档序号:7588082阅读:473来源:国知局
专利名称:交换机动态配置恢复方法
技术领域
本发明属于计算机网络通信领域,具体涉及分布式结构通信设备中,整机启动和单板(模块)插拔时的配置保存和恢复。
背景技术
在通信设备中,特别是处在复杂网络环境中的通信设备,当设备掉电重启之后,管理人员需要重新进行配置,这是一项十分繁重的工作,在设备较多的情况下,使人难以忍受。如果在用户进行配置完成之后,能够把配置保存下来,在下一次设备重新启动的时候把这些配置自动恢复,就可以减轻用户的配置工作。
另外,如果设备是基于分布式构架而设计的,那么当其中一块单板(模块)拔出的时候,需保存这块板相关的配置信息,当板再次插入的时候,恢复其相关配置,恢复到拔出时的状态,即“热插拔”的配置保存和恢复。
目前比较普遍的实现这两个功能的流程如下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 eth<key1>是card 1的一个命令模板,<key1>是关键字,key_cmp_func是key1对应的比较函数,1是<kery1>对于card 1的关键字值,ext_func是这个命令模板的匹配成功回调函数。同时还给出了card 2的命令模板集合,这时interface eth<key1>中<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日
发明者袁峰峰 申请人:港湾网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1