恢复配置信息的方法和装置的制作方法

文档序号:7662718阅读:155来源:国知局

专利名称::恢复配置信息的方法和装置的制作方法
技术领域
:本发明涉及数据通信领域,特别涉及一种恢复配置信息的方法和装置。
背景技术
:数据通信设备在网络上正常运行一般需要预先进行配置,例如,以太网交换机和路由器等设备在初始启动时需要配置路由信息和VPN(VirtualPrivateNetwork,虚拟专用网)连接等。数据通信设备配置时需要的配置文件通常保存在非易失存储设备中(如Flash、硬盘等)。当数据通信设备启动时,从配置文件中读取配置信息,并对设备内部的硬件执行相应的操作。当由于设备中的软件故障或者软件版本升级等原因导致设备重新启动时,需要对设备中的配置信息进行恢复,重新读取配置文件中的配置信息,并再次对设备内部的硬件执行相应的操作,从而使设备中的配置信息得以恢复,设备能够正常运行。配置信息恢复的速度影响故障恢复的时间以及软件升级的时间,尤其对于配置信息比较多的高端设备来说,设备从启动到网络业务恢复正常的时间是一个比较重要的指标。现有技术中,当数据通信设备重新启动进行配置信息恢复时,读取配置文件中的命令,通过命令字查找命令树,如果在命令树中匹配到相应的命令,则命令树会返回匹配到的命令执行函数指针,根据该命令执行函数指针找到其指向的命令,对该命令进行解析,然后对该命令中的参数进行必要的参数合法性检査,检査通过后调用该命令执行函数指针传入命令参数,执行该命令;命令执行完毕后,由设备内部的主控板将该命令的相关配置信息下发到设备内部的接口板上,接口板的CPU根据配置信息对接口板内部的硬件执行相应的操作,并返回响应给主控板,主控板接收到响应后,然后继续执行配置文件中的下一条命令。在实现本发明的过程中,发明人发现上述现有技术至少存在以下缺点在配置信息恢复过程中,如果存在同类命令(即连续的仅参数不同的命令),则对同类命令中的每条命令都进行完整的命令解析和参数合法性检査,由于同类命令的命令解析过程是完全相同的,而且命令参数在设备初始配置时已经验证了合法性,因此会造成同类命令多次重复解析的情况,以及对合法的参数进行不必要的再次检查,从而导致配置信息恢复的时间冗长,效率较低。
发明内容为了提高恢复配置信息的效率,本发明实施例提供了一种恢复配置信息的方法和装置。所述技术方案如下-本发明实施例提供了一种恢复配置信息的方法,所述方法包括当硬件中的配置信息丢失时,读取预先保存的配置文件,所述配置文件中包含同类配置命令;当读取到所述同类配置命令时,解析所述同类配置命令中的第一条配置命令,并缓存所述第一条配置命令的地址;根据所述地址对应的配置命令的内容和所述同类配置命令中的参数信息,逐条执行所述同类配置命令,生成配置信息并保存在所述硬件中。另外,本发明实施例还提供了一种恢复配置信息的装置,当所述装置中的硬件的配置信息丢失时,所述装置包括读取模块,用于读取预先保存的配置文件,所述配置文件中包含同类配置命令;解析及缓存模块,用于当所述读取模块在所述配置文件中读取到所述同类配置命令时,解析所述同类配置命令中的第一条配置命令,并缓存所述第一条配置命令的地址;恢复模块,用于根据所述解析及缓存模块缓存的地址对应的配置命令的内容和所述同类配置命令中的参数信息,逐条执行所述同类配置命令,生成配置信息并保存在所述硬件中。本发明实施例提供的技术方案的有益效果是通过缓存同类配置命令中第一条配置命令的地址,根据缓存的地址直接执行同类配置命令,而且对同类配置命令不进行参数合法性检查,避免了对同类配置命令多次重复执行命令解析,极大地节省了配置信息恢复的时间,縮短了数据通信设备重新启动的时间,极大地提高了系统的处理效率。图1是本发明实施例提供的恢复配置信息的方法流程图;图2是本发明实施例提供的恢复配置信息的装置结构图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例中的数据通信设备有固定的配置文件,其中保存有用来在设备中生成或恢复配置信息的配置命令,且配置文件中包含同类配置命令,即一组连续的相同的配置命令,但是命令中的参数不同。同类配置命令中的每一条配置命令都对应着相同的地址,该地址内保存的是同类配置命令的内容,通常为函数。在执行配置命令时,通过传入配置命令中的参数执行该配置命令的地址对应的函数,可以生成对应的配置信息。另外,设备内还有多个缓冲区,分别用来缓存不同的信息,如缓存地址的缓冲区、缓存配置信息的缓冲区等等。实施例l参见图l,本发明实施例提供了一种恢复配置信息的方法,具体包括以下步骤-步骤101:当数据通信设备中的硬件的配置信息丢失需要进行配置信息恢复时,读取预先保存的配置文件中的配置命令。如数据通信设备中软件故障导致设备重新启动时,需要进行配置信息的恢复。步骤102:当读取到同类配置命令时,解析同类配置命令中的第一条配置命令,并在地址缓冲区中缓存第一条配置命令的地址。为了识别配置文件中的同类配置命令,可以预先对配置文件中的同类配置命令添加标识,如在配置文件中的每组同类配置命令的首条配置命令和末条配置命令之前分别添加标识,用来标识同类配置命令的开始和结束。添加的标识可以为便于识别的符号,如"*",添加的标识在配置文件中单独占用一行,作为一条特殊的配置命令保存在配置文件中。读取配置文件时,如果当前配置命令为添加的标识,则表明后续的配置命令为同类配置命令,如果是首次读到该标识,则为当前同类配置命令中的第一条配置命令,如果是第二次读到该标识,则为当前同类配置命令中的最后一条配置命令。其中,解析当前同类配置命令中的第一条配置命令的过程与现有技术相同,解析成功后,命令树返回第一条配置命令的执行函数指针,即地址,将该地址缓存在设备中用来缓存地址的缓冲区中。其中,缓存第一条配置命令的地址时,还可以先判断地址缓冲区中是否己经存储有地址,如果没有,则将第一条配置命令的地址缓存到缓冲区中。当配置命令不是同类配置命令时,地址缓冲区中也没有缓存的地址,为了区别这种情况,进一步地,还可以设置一个标识set,初始化时置为0,当读取到同类配置命令时,将该标识置为l,即set-l,则在缓存第一条配置命令的地址时,可以判断标识set是否为1且缓冲区是否为空,如果set为1且缓冲区为空,表明当前配置命令为同类配置命令中的第一条配置命令,则在缓冲区中缓存第一条配置命令的地址,缓存后将该标识置为0,即set-0;如果缓冲区为空但是set为O,表明当前配置命令为非同类配置命令,则按照现有的流程执行命令解析和参数合法性检査的过程。步骤103:根据缓存的地址对应的配置命令的内容和同类配置命令中的参数信息,逐条执行同类配置命令,生成配置信息并保存在上述硬件中。由于同类配置命令中的每一条配置命令的地址(即执行函数指针)都相同,仅参数不同,因此在执行同类配置命令时,不需要对其中的每一条配置命令进行解析,可以直接根据缓冲区中的地址,找到对应的配置命令的内容,然后依次执行每一条配置命令,传入不同的参数,生成相应的配置信息。其中,恢复配置信息的过程可以具体包括对同类配置命令中的每一条配置命令,根据缓存的地址对应的配置命令的内容和该条配置命令中的参数信息,执行该条配置命令,生成对应的配置信息并在配置信息缓冲区中缓存该条配置信息;如果该缓冲区已满,或者缓存的当前配置信息为同类配置命令中的最后一条配置命令对应的配置信息,则将缓存的所有配置信息保存在上述硬件中。例如,当前同类配置命令中有1000条配置命令,当配置信息缓冲区中缓存了这1000条配置命令对应的配置信息时,通过主控板的CPU,批量将此1000条配置信息一次下发给相关的接口板的CPU,如接口板l的CPU和接口板2的CPU,每个收到配置信息的接口板将相应的配置信息发送给相应的硬件,硬件根据配置信息执行相应的操作保存配置信息,然后返回响应给主控板,主控板收到响应后,继续读取配置文件中的其他配置命令。进一步地,在执行同类配置命令的过程中还可以增加下面的步骤读取当前配置命令时,判断当前读取的配置命令是否已经达到配置文件的末尾,如果是,则结束读取,完成配置信息的恢复;否则,继续读取下一条配置命令。为了节省配置信息缓冲区的空间,进一步地,上述方法还可以包括下面的步骤将缓存的所有配置信息保存在上述硬件中后,在缓存所有配置信息的缓冲区中删除所有配置信息。为了节省地址缓冲区的空间,进一步地,上述方法还可以包括下面的步骤当当前同类配置命令中的所有配置命令全部执行完成后,在地址缓冲区中删除缓存的第一条配置命令的地址。其中,还可以设置标识clear,初始化时置为0,当读取到同类配置命令中的最后一条配置命令之前的特殊配置命令"*"时,将该标识置为1,即clear=l,执行完最后一条配置命令后,判断该标识是否为l,如果为l,则将地址缓冲区中的地址删除,并置该标识为0,即clear二0,然后继续读取配置文件中的其他配置命令。本实施例通过缓存同类配置命令中第一条配置命令的地址,根据缓存的地址直接执行同类配置命令,而且对同类配置命令不进行参数合法性检査,避免了对同类配置命令多次重复执行命令解析,极大地节省了配置信息恢复的对间,縮短了数据通信设备重新启动的时间,提高了效率。采用缓存后批量下发配置信息的方式,减少了设备内部子系统之间的消息通讯,避免了每次执行配置命令后都等待子系统响应,与现有技术中采用单条命令下发配置信息(即每条命令都等待子系统响应)的方式相比,极大地提高了系统的处理效率,并縮短了配置信息恢复的时间,尤其对于高端分布式系统,缩短了系统重新启动的时间和故障恢复的时间,克服了用户体验差的缺点。实施例2参见图2,本实施例提供了一种恢复配置信息的装置,当装置中的硬件的配置信息丢失时,装置包括读取模块,用于读取预先保存的配置文件,该配置文件中包含同类配置命令;解析及缓存模块,用于当读取模块在配置文件中读取到同类配置命令时,解析同类配置命令中的第一条配置命令,并缓存第一条配置命令的地址;恢复模块,用于根据解析及缓存模块缓存的地址对应的配置命令的内容和同类配置命令中的参数信息,逐条执行同类配置命令,生成配置信息并保存在上述硬件中。为了节省设备内地址缓冲区的空间,进一步地,上述装置还可以包括删除模块,用于当恢复模块执行完同类配置命令后,在缓存地址的缓冲区中删除所缓存的地址。其中,上述恢复模块可以采用批量下发配置信息的方式,具体包括缓存单元,用于对读取模块读到的同类配置命令中的每一条配置命令,根据解析及缓存模块缓存的地址对应的配置命令的内容和该条配置命令中的参数信息,执行该条配置命令,生成对应的配置信息并缓存该条配置信息;下发单元,用于当缓存配置信息的缓冲区已满,或者缓存单元缓存的当前配置信息为同类配置命令中的最后一条配置命令对应的配置信息时,将缓存单元缓存的所有配置信息保存在上述硬件中。为了节省设备内配置信息缓冲区的空间,进一步地,上述恢复模块还可以包括-删除单元,用于当下发单元将缓存单元缓存的所有配置信息保存在硬件中后,在缓存所有配置信息的缓冲区中删除所有配置信息。本实施例通过解析及缓存模块缓存同类配置命令中第一条配置命令的地址,恢复模块根据缓存的地址对应的配置命令的内容和同类配置命令中的参数信息,逐条执行同类配置命令,而且对同类配置命令不进行参数合法性检査,避免了对同类配置命令多次重复执行命令解析,极大地节省了配置信息恢复的时间,縮短了数据通信设备重新启动的时间,提高了效率。采用缓存后批量下发配置信息的方式,减少了设备内部子系统之间的消息通讯,避免了每次执行配置命令后都等待子系统响应,与现有技术中采用单条命令下发配置信息(即每条命令都等待子系统响应)的方式相比,极大地提高了系统的处理效率,并縮短了配置信息恢复的时间,尤其对于高端分布式系统,縮短了系统重新启动的时间和故障恢复的时间,克服了用户体验差的缺点。采用本发明实施例中的技术方案,对4k子接口的数据通信设备和16k子接口的数据通信设备进行配置信息恢复的时间进行比较,可以得到表l中的数据。从表l可以看出,本发明实施例中的技术方案可以极大地縮短系统配置信息恢复的时间,且设备子接口数目呈线性增加时配置信息恢复的时间不呈线性增加。表l<table>tableseeoriginaldocumentpage9</column></row><table>本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如交换机或路由器的硬盘或缓存中。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种恢复配置信息的方法,其特征在于,所述方法包括当硬件中的配置信息丢失时,读取预先保存的配置文件,所述配置文件中包含同类配置命令;当读取到所述同类配置命令时,解析所述同类配置命令中的第一条配置命令,并缓存所述第一条配置命令的地址;根据所述地址对应的配置命令的内容和所述同类配置命令中的参数信息,逐条执行所述同类配置命令,生成配置信息并保存在所述硬件中。2.根据权利要求1所述的恢复配置信息的方法,其特征在于,所述方法还包括当所述同类配置命令执行完成后,在缓存所述地址的缓冲区中删除所述地址。3.根据权利要求1所述的恢复配置信息的方法,其特征在于,所述根据所述地址对应的配置命令的内容和所述同类配置命令中的配置信息,逐条执行所述同类配置命令,生成配置信息保存在所述硬件中,具体包括对所述同类配置命令中的每一条配置命令,根据所述地址对应的配置命令的内容和该条配置命令中的参数信息,执行该条配置命令,生成对应的配置信息并缓存该条配置信息;如果缓存所述配置信息的缓冲区已满,或者缓存的当前配置信息为所述同类配置命令中的最后一条配置命令对应的配置信息,则将缓存的所有配置信息保存在所述硬件中。4.根据权利要求3所述的恢复配置信息的方法,其特征在于,所述方法还包括将缓存的所有配置信息保存在所述硬件中后,在缓存所述所有配置信息的缓冲区中删除所述所有配置信息。5.—种恢复配置信息的装置,其特征在于,当所述装置中的硬件的配置信息丢失时,所述装置包括读取模块,用于读取预先保存的配置文件,所述配置文件中包含同类配置命令;解析及缓存模块,用于当所述读取模块在所述配置文件中读取到所述同类配置命令时,解析所述同类配置命令中的第一条配置命令,并缓存所述第一条配置命令的地址;恢复模块,用于根据所述解析及缓存模块缓存的地址对应的配置命令的内容和所述同类配置命令中的参数信息,逐条执行所述同类配置命令,生成配置信息并保存在所述硬件中。6.根据权利要求5所述的恢复配置信息的装置,其特征在于,所述装置还包括删除模块,用于当所述恢复模块执行完所述同类配置命令后,在缓存所述地址的缓冲区中删除所述地址。7.根据权利要求5所述的恢复配置信息的装置,其特征在于,所述恢复模块具体包括缓存单元,用于对所述读取模块读到的同类配置命令中的每一条配置命令,根据所述解析及缓存模块缓存的地址对应的配置命令的内容和该条配置命令中的参数信息,执行该条配置命令,生成对应的配置信息并缓存该条配置信息;下发单元,用于当缓存所述配置信息的缓冲区已满,或者所述缓存单元缓存的当前配置信息为所述同类配置命令中的最后一条配置命令对应的配置信息时,将所述缓存单元缓存的所有配置信息保存在所述硬件中。8.根据权利要求7所述的恢复配置信息的装置,其特征在于,所述恢复模块还包括删除单元,用于当所述下发单元将所述缓存单元缓存的所有配置信息保存在所述硬件中后,在缓存所述所有配置信息的缓冲区中删除所述所有配置信息。全文摘要本发明公开了一种恢复配置信息的方法和装置,属于数据通信领域。该方法包括当硬件中的配置信息丢失时,读取预先保存的包含同类配置命令的配置文件;当读取到同类配置命令时,解析同类配置命令中的第一条配置命令,并缓存第一条配置命令的地址;根据该地址对应的配置命令的内容和同类配置命令中的参数信息,逐条执行同类配置命令,生成配置信息并保存在硬件中。该装置包括读取模块、解析及缓存模块和恢复模块。本发明避免了对同类配置命令多次重复执行命令解析,极大地节省了配置信息恢复的时间,采用缓存后批量下发配置信息的方式,减少了设备内部子系统之间的消息通讯,缩短了数据通信设备重新启动的时间,极大地提高了系统的处理效率。文档编号H04L12/24GK101174985SQ20071016295公开日2008年5月7日申请日期2007年9月28日优先权日2007年9月28日发明者刘相平,孙向东,培许申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1