本发明涉及计算机技术领域,特别是涉及一种配置命令行标签的方法及装置。
背景技术:
网络设备的配置数据以命令行的形式存储在启动配置文件中,启动配置文件中的命令行分为配置命令行和配置视图,其中,配置命令行分为独立的配置命令行或存在相互依赖关系的配置命令行,存在相互依赖关系的配置命令行可以为分散的配置命令行,也可以为连续相邻的配置命令行;配置视图下可以包括多个配置命令行和多个配置视图,形成多个层级,一个配置视图下一层级的配置视图为这个配置视图的子配置视图,一个配置视图上一层级的配置视图为这个配置视图的父配置视图,一个配置视图本身及这个配置视图下所有的命令行都依赖于这个配置视图的所有父配置视图。
在网络设备启动后,从启动配置文件中读取命令行,如包括配置命令行和配置视图等,并将读取到的命令行加载到这个网络设备的内存中。这样这个网络设备就可以根据内存中的命令行对各业务模块进行配置,保证各个业务模块的运行。
当需要对实现某一功能的命令行进行显示、修改、删除等操作时,网络设备以整个启动配置文件为对象,如需要对实现某一功能的命令行进行显示操作,则将内存中的所有命令行进行读取并显示。
以整个启动配置文件为对象进行操作的方法简单而直接,然而问题在于,在大型的网络设备中,命令行的数据量都很大,启动配置文件可以达到几十兆字节,此时,若以整个启动配置文件为对象进行显示、修改、删除等操作,将会耗费相当长的时间,导致对命令行的操作速度慢,操作效率低。
技术实现要素:
本发明实施例的目的在于提供一种配置命令行标签的方法及装置,以提高对命令行的操作速度,提高操作效率。具体技术方案如下:
一方面,本发明实施例公开了一种配置命令行标签的方法,该方法包括:
接收标签添加指令;
在已存储的全部命令行中选择所述标签添加指令指向的目标命令行;
为所述目标命令行添加所述标签添加指令指示的目标标签;
保存所述目标标签与所述目标命令行的对应关系。
另一方面,本发明实施例公开了一种配置命令行标签的装置,该装置包括:
存储单元,用于存储命令行;
接收单元,用于接收标签添加指令;
控制单元,在已存储的命令行中选择所述标签添加指令指向的目标命令行,为所述目标命令行添加所述标签添加指令指示的目标标签;将所述目标标签与所述目标命令行的对应关系存储于所述存储单元。
本发明实施例中,接收标签添加指令,在已存储的全部命令行中选择标签添加指令指向的目标命令行,为目标命令行添加由标签添加指令指示的目标标签,并保存目标标签与目标命令行的对应关系。此时,可以以标签为对象进行操作,对目标标签对应的命令行进行操作,而不必以整个启动配置文件为对象进行操作,提高了对命令行的操作速度,提高了操作效率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种配置命令行标签的方法的流程示意图;
图2为本发明实施例提供的一种显示命令行的方法的流程示意图;
图3为本发明实施例提供的一种修改命令行方法的流程示意图;
图4为本发明实施例提供的一种导出命令行方法的流程示意图;
图5为本发明实施例提供的一种导入命令行方法的流程示意图;
图6为本发明实施例提供的一种删除命令行方法的流程示意图;
图7为本发明实施例提供的一种配置命令行标签的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于说明,下面对本发明出现的名词进行解释。
启动配置文件:用于存储由命令行实现的配置参数,启动配置文件存储在网络设备的存储介质上,该存储介质为非易失性存储器,保证了启动配置文件不会因为网络设备的重启、断电等原因丢失;
内存:也被称为内存储器,其作用是用于暂时存放cpu中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,cpu就会把需要运算的数据调到内存中进行运算。
下面通过具体实施例,对本发明进行详细说明。
图1的流程图示出了本发明实施例提供的一种配置命令行标签的方法流程,该方法包括:
s101:接收标签添加指令;
s102:在已存储的全部命令行中选择标签添加指令指向的目标命令行;
s103:为目标命令行添加由标签添加指令指示的目标标签;
s104:保存目标标签与目标命令行的对应关系。
在网络设备启动时,将本地的启动配置文件中所有的命令行和标签都加载到内存中。
这种情况下,管理人员可以接收标签添加指令,标签添加指令中包括目标命令行的标识和目标标签;网络设备接收到标签添加指令后,在内存已存储的全部命令行中选择标签添加指令指向的目标命令行,为该目标命令行添加上述添加指令指示的目标标签,保存目标标签与目标命令行的对应关系。
为了便于区分出命令行和标签,标签可以以类似注释的形式添加在命令行之后。例如,网络设备的启动配置文件中部分命令行实现的配置参数如下所示:
在网络设备启动后,将这些命令行都加载到网络设备的内存中,网络设备若接收到指向“signaling-protocolbgp”标签添加指令,另外,该标签添加指令指示的目标标签为“tag1”,则以类似注释的形式在“signaling-protocolbgp”之后添加“tag1”,如下所示:
signaling-protocolbgp#tag1//配置视图;
存储添加了“tag1”的“signaling-protocolbgp”,也就是,存储“tag1”以及“tag1”与“signaling-protocolbgp”的对应关系。
在本发明的一个实施例中,为了节约网络设备的存储空间,可以仅给目标命令行添加目标标签。
在本发明的另一个实施例中,为了能够快速的对目标命令行及与目标命令行存在依赖关系的命令行进行操作,在给目标命令行添加目标标签后,选择与目标命令行存在依赖关系的命令行,给与目标命令行存在依赖关系的命令行都添加上目标标签。
例如:如果目标命令行为单条独立配置命令行,直接给该目标命令行添加目标标签;如果目标命令行有存在依赖关系的多条配置命令行,那么无论是连续的还是分散的,给存在依赖关系的配置命令行添加与目标命令行相同的目标标签;如果目标命令行为任意层级的配置视图,那么给目标命令行的所有父配置视图和目标命令行以下所有配置命令行(包括子配置视图)都添加与目标命令行相同的目标标签;如果目标命令行为任意层级配置视图下的配置命令行,那么给目标命令行的所有父配置视图都添加与目标命令行相同的目标标签。
为了能够快速的对目标命令行及与目标命令行存在依赖关系的命令行进行操作,仍以上面所示的启动配置文件的命令行为例,在以类似注释的形式在“signaling-protocolbgp”之后添加“tag1”后,选择与“signaling-protocolbgp”存在依赖关系的命令行“vsivpls_bgp”、“auto-discoverybgp”和“site3range33default-offset0”这三条命令行,以类似注释的形式在这三条命令行之后添加“tag1”后添加“tag1”,如下所示:
需要说明的是,一个命令行可以拥有网络设备支持的最大数目个标签,不同标签间为“或”的关系。仍以上面所示的启动配置文件的命令行为例,可以在命令行“signaling-protocolbgp”之后同时添加标签“tag1”和“tag2”,如下所示:
signaling-protocolbgp#tag1|#tag2//配置视图;
这里,“signaling-protocolbgp”之后的“tag1”和“tag2”间为“或”的关系,“tag1”和“tag2”间互不影响。
图2的流程图示出了本发明实施例提供的一种显示命令行的方法流程,该方法包括:
s201:接收显示指令;
s202:根据显示指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;
s203:显示目标命令行以及与目标命令存在依赖关系的命令行。
仍以上面所示的启动配置文件的命令行为例,在“signaling-protocolbgp”之后添加标签“tag1”和“tag2”、在“pw-classvsi_vpls_bgp”之后添加标签“tag2”后,当网络设备接收到指示“tag1”的显示指令时,根据存储的“tag1”与“signaling-protocolbgp”的对应关系,选择出“signaling-protocolbgp”以及与“signaling-protocolbgp”存在依赖关系的“vsivpls_bgp”、“auto-discoverybgp”和“site3range33default-offset0”这三条命令行,显示所选择的命令行,如下所示:
当网络设备接收到指示“tag2”的显示指令时,根据存储的“tag2”与“signaling-protocolbgp”的对应关系,选择出“signaling-protocolbgp”以及与“signaling-protocolbgp”存在依赖关系的“vsivpls_bgp”、“auto-discoverybgp”和“site3range33default-offset0”这三条命令行;
根据存储“tag2”与“pw-classvsi_vpls_bgp”的对应关系,选择出“pw-classvsi_vpls_bgp”以及与“pw-classvsi_vpls_bgp”存在依赖关系的“vsivpls_bgp”、“auto-discoverybgp”这两条命令行;
显示所选择的命令行,如下所示:
实际应用中,网络设备在启动后,可以将启动配置文件中的命令行加载至内存中的命令行库中统一保存,同时根据目标标签建立针对目标命令行的索引表。当需要显示目标命令行时,可以根据索引表中的目标标签,快速地获取到目标命令行。
需要说明的是,显示指令指示的目标标签可以包括的多个标签,例如显示指令指示的目标标签包括“tag1”和“tag2”。
图3的图流程示出了为本发明实施例提供的一种修改命令行方法流程,该方法包括:
s301:接收修改指令;
s302:根据修改指令指示的待修改命令行的标识,确定已显示的目标命令行以及与目标命令存在依赖关系的命令行中待修改的命令行;
s303:根据修改指令指示的修改数据修改待修改的命令行;
s304:保存修改后的命令行。
仍以上面所示的启动配置文件的命令行为例,已显示的目标命令行为“signaling-protocolbgp”,所有显示的命令行有:
若网络设备接收到指示待修改命令行的标识为“site3range33default-offset0”的标识、修改数据为“site3range21default-offset1”的修改指令,根据“site3range21default-offset1”修改“site3range33default-offset0”,修改后显示的命令行为:
保存修改后的“site3range21default-offset1”。
图4的流程图示出了本发明实施例提供的一种导出命令行的方法流程,该方法包括:
s401:接收导出指令;
s402:根据导出指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;
s403:将目标命令行以及与目标命令存在依赖关系的命令行写入导出指令指向的第一预设文件。
仍以上面所示的启动配置文件的命令行为例,在命令行“signaling-protocolbgp”之后添加标签“tag1”和“tag2”、在“pw-classvsi_vpls_bgp”之后添加标签“tag2”后,当网络设备接收到指示“tag1”的导出指令时,根据存储的“tag1”与“signaling-protocolbgp”的对应关系,选择出“signaling-protocolbgp”以及与“signaling-protocolbgp”存在依赖关系的“vsivpls_bgp”、“auto-discoverybgp”和“site3range33default-offset0”这三条命令行;将
导出指令指向的第一预设文件。
这样,当其他网络设备需要实现第一预设文件中命令行对应的功能时,直接导入第一预设文件就可以了,而不需要对命令行进行修改,加快了对命令行的操作速度。
图5的流程图示出了本发明实施例提供的一种导入命令行的方法流程,该方法包括:
s501:接收导入指令;
s502:根据导入指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;
s503:根据导入指令指向的第二预设文件记录的命令行,替换目标标签对应的目标命令行以及与目标命令行存在依赖关系的命令行。
仍以上面所示的启动配置文件的命令行为例,在“signaling-protocolbgp”之后添加标签“tag1”和“tag2”、在“pw-classvsi_vpls_bgp”之后添加标签“tag2”后,当网络设备接收到指示“tag1”的导入指令时,根据存储的“tag1”与“signaling-protocolbgp”的对应关系,选择出“signaling-protocolbgp”以及与“signaling-protocolbgp”存在依赖关系的“vsivpls_bgp”、“auto-discoverybgp”和“site3range33default-offset0”这三条命令行;
由导入指令指向的第二预设文件记录的命令行替换目标标签对应的目标命令行以及与目标命令行存在依赖关系的命令行;若第二预设文件记录的命令行为:
vsivpls_bgp//配置视图
auto-discoverybgp//配置视图
signaling-protocolbgp#tag1//配置视图;
则替换后的启动配置文件的命令行为:
此时,网络设备可以先选择目标命令行以及与目标命令行存在依赖关系的命令行,进而直接由第二预设文件中的命令行替换所选择的命令行,简化了对命令行的修改操作,加快了对命令行的编辑的操作速度。
图6的流程图示出了本发明实施例提供的一种删除命令行的方法流程,该方法包括:
s601:接收删除指令;
s602:根据删除指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行;
s603:删除目标命令行对应的目标标签。
当一个标签为无用的标签时,例如:一个标签对应的命令行不会发生变化时,可以将这个标签确定为无用的标签,为了节约网络设备的存储空间,可以删除这个无用的标签。
仍以上面上面所示的启动配置文件的命令行为例,在“signaling-protocolbgp”之后添加标签“tag1”和“tag2”、在“pw-classvsi_vpls_bgp”之后添加标签“tag2”后,保存的标签与命令行的对应关系如下:
signaling-protocolbgp#tag1|#tag2//配置视图
pw-classvsi_vpls_bgp#tag2//配置命令行;
当网络设备接收到指示“tag1”的删除指令时,在根据存储的“tag1”与“signaling-protocolbgp”的对应关系,选择目标命令行为“signaling-protocolbgp”,则删除“signaling-protocolbgp”对应的“tag1”,删除后“tag1”的保存的标签与命令行的对应关系如下:
signaling-protocolbgp#tag2//配置视图
pw-classvsi_vpls_bgp#tag2//配置命令行。
需要说明的是,上述删除指令指示的目标标签可以为一个命令行对应的标签,也可以为所有命令行对应的标签。
值得一提的是,上述对命令行的显示、修改、添加标签、删除标签等操作,都是直接对网络设备的内存中的命令行的操作,可以立即实现修改、添加标签、删除标签后的命令行的功能,但当网络设备重启后,对命令行的操作都会消失。
这种情况下,为了保证在网络设备重启后,对命令行的操作不会消失,同时为了提高对命令行的操作速度,管理人员可以向网络设备中接收保存指令;网络设备接收到保存指令后,网络设备可以根据保存指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,将目标命令行存储至启动配置文件中。这样,当网络设备重启后,就可以将本地的启动配置文件中所有的命令行和标签都加载到内存中,不影响网络设备的运行。
这里,按照目标标签存储命令行,避免了整个存储内存中所有命令行时导致临时失效的命令行的丢失的问题;同时,按照目标标签存储命令行,避免了启动配置文件中会存储冗余的命令行的问题;另外,仅存储目标标签对应的目标命令行以及与目标命令行存在依赖关系的命令行,而不是存储内存中所有的命令行,提高了对命令行的操作速度。
应用上述实施例,接收标签添加指令,在已存储的全部命令行中选择标签添加指令指向的目标命令行,为目标命令行添加由标签添加指令指示的目标标签,并保存目标标签与目标命令行的对应关系。此时,可以以标签为对象进行操作,对目标标签对应的命令行进行操作,而不必以整个启动配置文件为对象进行操作,提高了对命令行的操作速度,提高了操作效率。
图7的结构图为本发明实施例提供的一种配置命令行标签的装置结构,该装置包括:
存储单元701,用于存储命令行;
接收单元702,用于接收标签添加指令;
控制单元703,在已存储的命令行中选择标签添加指令指向的目标命令行,为目标命令行添加由标签添加指令指示的目标标签;将目标标签与目标命令行的对应关系存储于存储单元701。
在本发明的其他实施例中,接收单元702,还用于接收显示指令;
控制单元703,还用于根据显示指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;
这种情况下,上述配置装置还可以包括:
显示单元(图7中未示出),用于显示目标命令行以及与目标命令存在依赖关系的命令行。
在本发明的其他实施例中,接收单元702,还用于接收修改指令;
控制单元703,还用于根据修改指令指示的待修改命令行的标识,确定已显示的目标命令行以及与目标命令存在依赖关系的命令行中待修改的命令行;根据修改指令指示的修改数据修改待修改的命令行;将修改后的命令行存储于存储单元701。
在本发明的其他实施例中,接收单元702,还用于接收导出指令;
控制单元703,还用于根据导出指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;将目标命令行以及与目标命令存在依赖关系的命令行写入导出指令指向的存储单元701存储的第一预设文件。
在本发明的其他实施例中,接收单元702,还用于接收导入指令;
控制单元703,还用于根据导入指令指示的目标标签以及目标标签与目标命令行的对应关系,选择目标命令行,以及选择与目标命令行存在依赖关系的命令行;根据导入指令指向的存储单元701存储的第二预设文件记录的命令行,替换目标标签对应的目标命令行以及与目标命令行存在依赖关系的命令行。
在本发明的其他实施例中,接收单元702,还用于接收删除指令;
控制单元703,还用于根据删除指令指示的目标标签以及存储单元中存储的目标标签与目标命令行的对应关系,从存储选择目标命令行;从存储单元701中删除目标命令行对应的目标标签。
应用上述实施例,接收标签添加指令,在已存储的全部命令行中选择标签添加指令指向的目标命令行,为目标命令行添加由标签添加指令指示的目标标签,并保存目标标签与目标命令行的对应关系。此时,可以以标签为对象进行操作,对目标标签对应的命令行进行操作,而不必以整个启动配置文件为对象进行操作,提高了对命令行的操作速度,提高了操作效率。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。