一种基于命令行动态替换用于多设备共镜像的方法

文档序号:8447332阅读:140来源:国知局
一种基于命令行动态替换用于多设备共镜像的方法
【技术领域】
[0001]本发明属于通信领域,尤其涉及一种基于命令行动态替换用于多设备共镜像的方法。
【背景技术】
[0002]命令行界面(Command Line Interface,简写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。
[0003]命令行界面比图形用户界面更节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要比使用图形用户界面的操作速度要快。所以,在现在的操作系统中通常都保留着命令行界面。同时,在各种交换机设备中也有广泛应用。
[0004]目前,在实际工程应用中存在这样的问题:
[0005]对于交换机、路由器、防火墙、网关设备、光网络单元(Optical Network Unit,简写:0NU)或光线路终端(Optical Line Terminal,简写:0LT)等可支持CLI功能的设备,可能存在底层实现处理相同,但CLI参数范围存在差异的情况。而且,这些差异性并不局限于某种设备的同系列产品。由于上述设备的CLI参数范围存在差异,使得开发人员需要开发和维护多套代码以及多个CLI镜像文件,这不仅浪费许多人力,还增加了开发人员的工作强度。

【发明内容】

[0006]本发明实施例的目的在于提供一种基于命令行动态替换用于多设备共镜像的方法,以解决现有技术开发人员需要开发和维护多套代码以及多个镜像文件的问题。
[0007]本发明实施例是这样实现的,一种基于命令行动态替换用于多设备共镜像的方法,所述方法包括以下步骤:
[0008]根据待替换的命令行的关键字到命令集树中搜索命令节点,所述命令集树提供多个命令节点,以便所述命令行界面CLI功能通过所述命令节点的组合,组合成拥有各种功能选项的命令行;对于搜索到的命令节点,则通过软件接口读取当前设备实际支持的配置参数;根据所述实际支持的配置参数,调整命令集树上的命令节点。
[0009]本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的有益效果包括:通过对上述需要共镜像的设备的命令行参数范围的差异进行处理,可以将与当前设备实际匹配的命令行呈现给用户,使得需要提供不同CLI镜像的设备可以共用一个CLI镜像文件,可有效的提高开发人员的工作效率,减少人力和物力的浪费。
【附图说明】
[0010]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图;
[0012]图2是本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图;
[0013]图3是本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图;
[0014]图4是本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图;
[0015]图5是本发明实施例提供的一种命令集树示意图。
【具体实施方式】
[0016]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0018]实施例一
[0019]如图1所示为本发明提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图,其中,支持命令行界面CLI功能的设备进入启动初始化状态。所述支持命令行界面CLI功能的设备,可以是交换机、路由器、防火墙、网关设备、光网络单元ONU或光线路终端 OLT0
[0020]在本实施例中,所述启动初始化具体包括:软件平台初始化、协议模块初始化和网管初始化。在完成所述协议模块初始化和网管初始化后,进行所述根据待替换的命令行的关键字到命令集树中搜索命令节点的操作。所述方法包括以下步骤:
[0021]在步骤201中,根据待替换的命令行的关键字到命令集树中搜索命令节点,所述命令集树用于在启动CLI功能后,为CLI功能提供所支持的各种功能选项的命令行和该命令行的参数。
[0022]其中,命令行的参数设置为默认值的命令行即为待替换的命令行。或者,在对应所述命令集树存储有一个待替换命令行的列表,以便从中获取待替换命令行。
[0023]在步骤202中,对于搜索到的命令节点,则通过软件接口读取当前设备实际支持的配置参数。
[0024]在步骤203中,根据所述实际支持的配置参数,调整命令集树上的命令节点。
[0025]本发明实施例,通过对上述需要共镜像的设备的命令行参数范围的差异进行处理,可以将与当前设备实际匹配的命令行呈现给用户,使得需要共镜像的设备可以共用一个镜像文件,可有效的提高开发人员的工作效率,减少人力和物力的浪费。
[0026]结合本实施例存在一种可行的方案,其中,所述根据待替换的命令行的关键字到命令集树中搜索命令节点,具体包括:
[0027]所述命令行由命令集树中多个命令节点组成;解析待替换的命令行,并依据解析出来的关键字依次匹配命令集树中的命令节点,从而搜索到最终保存参数值的命令节点。
[0028]结合本实施例存在一种可行的方案,其中,所述根据所述实际支持的配置参数,调整命令集树上的命令节点,具体包括:
[0029]比较所述命令节点中的参数值和所述实际支持的配置参数;当比较结果为不相同时,根据所述实际支持的配置参数,生成新的命令行;用所述新生成的命令行替换所述命令节点中注册的命令行。当比较结果为相同时,则继续搜索下一个待替换的命令行的关键字。
[0030]结合本实施例存在一种可行的方案,其中,所述根据所述实际支持的配置参数,调整命令集树上的命令节点,具体包括:
[0031]根据所述实际支持的配置参数,生成新的命令节点;用所述新生成的命令行替换所述命令集树中中注册的存储默认配置参数的命令节点。
[0032]结合本实施例存在一种可行的方案,其中,所述对于搜索到的命令节点,则通过软件接口读取当前设备实际支持的配置参数,具体包括:
[0033]对于搜索到的命令节点,获取该命令节点中包含的命对应该命令行的参数。根据所述命令行的参数,调用相应模块的驱动接口,利用所述驱动接口获取相应模块实际支持的配置参数。
[0034]结合本实施例存在一种可行的方案,其中,在完成所述启动初始化后,保存更新完毕的命令集树,以便在下一次启动时,在同一个终端上无需再完成一次命令行的替换。
[0035]实施例二
[0036]如图2所示为本发明实施例提供的一种基于命令行动态替换用于多设备共镜像的方法的流程图,由图2可知,本发明提供的一种基于命令行动态替换用于多设备共镜像的方法的实施例包括:
[0037]在步骤201中,根据待替换的命令行的关键字到命令集树中搜索命令节点,所述命令集树用于在启动CLI功能后,为CLI功能提供所支持的各种功能选项的命令行和该命令行的参数。
[0038]在步骤202中,对于搜索到的命令节点,则通过软件接口读取当前设备实际支持的配置参数。
[0039]其中,步骤203具体执行为:
[0040]在步骤301中,比较所述命令节点中的参数值和所述实际支持的配置参数。
[0041]如图5中,命令节点参数值〈0,1000〉,而实际支持的配置参数假设为〈0,500〉。
[0042]在步骤302中,当比较结果为不相同时,根据所述实际支持的配置参数,生成新的命令节点。
[0043]具体的,以图5为例生成一个参数值为〈0,500>的命令节点。
[0044]在步骤303中,用所述新生成的命令节点替换所述命令集树中注册的存储默认配置参数的命令节点,并回到步骤201,进行其他命令行的关键字的搜索。
[0045]具体的,以图5为例,用新生成的参数值为〈0,500>的命令节点替换图中参数值为〈O, 1000〉的命令节点,从而将命令行“add page〈0, 1000〉,,调整为了命令行“addpage〈0,500>”。
[0046]在本发明实施例中,通过对上述需要共镜像的设备的命令行参数范围的差异进行处理,可以将与当前设备实际匹配的命令行呈现给用户,使得需要共镜像的设备可以共用一个镜像文件,可有效的提高开发人员的工作效率,减少人力和物力的浪费。
[0047]优选的,在步骤302的判
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1