配置概览命令执行方法、装置、计算机设备及其存储介质与流程

文档序号:17639590发布日期:2019-05-11 00:35阅读:183来源:国知局
配置概览命令执行方法、装置、计算机设备及其存储介质与流程

本说明书涉及计算机技术领域,尤其涉及一种配置概览命令执行方法、装置、计算机设备及其存储介质。



背景技术:

管理员通常可以通过web、命令行方式对网络设备进行维护,web方式是指管理员可以使用浏览器访问网络设备web服务器,登录设备之后可以在浏览器上操作给设备下发配置;命令行是一种交互式终端界面,管理员可以通过console、telnet等连接方式访问设备,在提示符下输入命令,对设备进行维护。例如在命令行界面执行配置概览命令(showrunning-config)查看设备运行配置。

随着网络规模越来越大,应用越来越复杂,网络设备配置也越来越多,划分的功能模块也越来越多。比如路由、包过滤、管理员等。当用户需要查看当前设备部署了哪些配置,执行showrunning-config查看配置时,由于执行命令时才打开对应的库并查找执行对应的配置概览函数,耗时较长,执行效率较低。另外,当两个功能模块的配置中有部分配置存在依赖与被依赖的关系时,由于一个模块只能有一个配置概览函数,不能灵活的调整命令配置的输出顺序。



技术实现要素:

为克服相关技术中存在的问题,本说明书提供了一种配置概览命令执行方法、装置、计算机设备及其存储介质。

根据本说明书实施例的第一方面,提供一种配置概览命令执行方法,所述方法包括:

当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

在一个实施例中,所述加载库文件并注册各个功能模块的配置概览回调函数的步骤,包括:

遍历查询命令行进程的配置文件,读取一条库文件路径;

根据所述库文件路径打开对应的库,查找各个功能模块的配置概览回调函数并进行注册。

在一个实施例中,在根据所述库文件路径打开对应的库之前,还包括:

判断所述库文件路径是否为配置文件结尾,如果是,等待设备继续启动,否则执行根据所述库文件路径打开对应的库的步骤。

在一个实施例中,在加载库文件并注册各个功能模块的配置概览回调函数的步骤之后,还包括:

将配置概览函数及对应的优先级注册到全局优先级数组中;

所述调用所述配置概览回调函数输出相应功能模块的配置信息的步骤之前,还包括:

遍历查询所述全局优先级数组,取出当前优先级;

判断所述当前优先级对应的配置概览回调函数是否为设置。

在一个实施例中,当所述当前优先级对应的配置概览回调函数为设置时,调用该当前优先级对应的配置概览回调函数输出相应功能模块的配置信息。

在一个实施例中,在遍历查询所述全局优先级数组,取出当前优先级之后,还包括:

判断当前优先级是否小于所述全局优先级数组中的最大优先级,如果是,执行判断所述当前优先级对应的配置概览回调函数是否为设置的步骤,否则结束命令执行。

在一个实施例中,当所述当前优先级对应的配置概览回调函数不为设置时,或者在调用所述配置概览回调函数输出相应功能模块的配置信息之后,取出下一条优先级,然后执行转去执行所述遍历查询所述全局优先级数组的步骤。

根据本说明书实施例的第二方面,提供一种配置概览命令执行装置,包括:

注册模块,用于当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

执行模块,用于等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

输出模块,用于当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

根据本说明书实施例的第三方面,提供一种计算机设备,包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:

当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

根据本说明书实施例的第四方面,提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的配置概览命令执行方法,包括:

当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

本说明书的实施例提供的技术方案可以包括以下有益效果:

本说明书实施例中,在设备启动到命令行进程时加载库文件注册配置概览回调函数,当用户执行配置概览命令时不用再临时加载库文件并查找对应配置概览函数,从而提高配置概览命令执行效率。

另外,通过设置优先级,每个优先级对应一个配置概览函数,优先级和配置概览函数是可以根据需求进行调整,当设备新增配置命令或配置命令依赖关系发生变化时,能够容易增加或修改对应的配置概览信息,并且能够根据优先级灵活调整命令的输出顺序。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本说明书根据一示例性实施例示出的一种配置概览命令执行方法的流程图。

图2是本说明书根据另一示例性实施例示出的一种配置概览命令执行方法的流程图。

图3是本说明书根据一示例性实施例示出的一种配置概览命令执行装置的框图。

图4是本说明书实施例的计算机设备的一种硬件结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

接下来对本说明书实施例进行详细说明。

如图1所示,图1是本说明书根据一示例性实施例示出的一种配置概览命令执行方法的流程图,包括以下步骤:

在步骤s110中,当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数。

对于配置概览,是显示当前设备运行的非默认配置的功能,用户可以通过命令行执行配置概览命令showrunning-config命令显示设备上所有视图的非默认配置。配置概览命令showrunning-config是一种可以查看设备当前所有运行配置的命令,所有显示内容均由可执行的配置命令或注释行(以“!”开头的为注释行)组成。

对于配置概览回调函数注册,是将配置概览回调函数相关信息(包括配置概览回调函数所在视图、所属模块等信息)添加到配置概览优先级数组中。

此步骤中,当设备启动到命令行进程时,即加载库文件并注册配置概览回调函数,由此用户执行配置概览命令时,不用再临时加载库文件并查找对应配置概览函数。

配置概览回调函数是输出配置概览的函数。命令是“关键字”与“参数”按照一定顺序组合后形成的一行字符串表达式。关键字是指固定不变的单词,用于表示后续参数的具体含义。参数指可变的配置参数。

例如:noipaddress192.168.0.1/16,其中no、ip、address均为关键字,192.168.0.1/16为参数。

对于加载库文件并注册各个功能模块的配置概览回调函数的过程,具体包括如下:

a1.遍历查询命令行进程的配置文件,读取一条库文件路径;

a2.根据所述库文件路径打开对应的库,查找各个功能模块的配置概览回调函数并进行注册。

作为实施例,在步骤a2的根据所述库文件路径打开对应的库之前,还要先判断所述库文件路径是否为配置文件结尾,如果是,等待设备继续启动,否则执行步骤a2的根据所述库文件路径打开对应的库的步骤。

通过上述步骤过程,将完成了各个功能模块的配置概览回调函数的注册流程。

在一个实施例中,为了灵活地调整命令配置的输出顺序,设置优先级,每个优先级对应一个配置概览函数,改变了传统的一个功能模块对应一个配置概览回调函数的模式。据此,在加载库文件并注册各个功能模块的配置概览回调函数的步骤之后,还包括步骤:

b.将配置概览函数及对应的优先级注册到全局优先级数组中。

通过上述实施例的方案,可以根据需求进行调整优先级和配置概览函数之间的对应关系,从而调整命令的输出顺序,当设备新增配置命令或配置命令依赖关系发生变化时,也便于增加和修改对应的配置概览信息。

在步骤s130中,等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令。

此步骤中,等待设备继续启动,直至设备启动完成,然后命令行框架解析执行showrunning-config命令。命令行框架是指命令行公共流程,主要负责读入、解析管理员输入的命令,并执行命令对应的命令执行函数修改或查看设备配置。命令行是一种运行在设备上的提供解析命令、执行命令等功能的服务程序。

在步骤s150中,当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

此步骤中,是调用配置概览回调函数输出相应功能模块的配置信息的执行过程。

在一个实施例中,当设置了优先级后,在步骤b.将配置概览函数及对应的优先级注册到全局优先级数组中。

据此,在调用所述配置概览回调函数输出相应功能模块的配置信息的步骤之前,还包括步骤:

c1.遍历查询所述全局优先级数组,取出当前优先级;

c2.判断所述当前优先级对应的配置概览回调函数是否为设置。

作为实施例,当所述当前优先级对应的配置概览回调函数为设置时,可以调用该当前优先级对应的配置概览回调函数输出相应功能模块的配置信息。

进一步的,在步骤c1的遍历查询所述全局优先级数组,取出当前优先级之后,还可以包括:

d.判断当前优先级是否小于所述全局优先级数组中的最大优先级,如果是,执行c2的判断所述当前优先级对应的配置概览回调函数是否为设置的步骤,否则结束命令执行。

另外,在步骤c2的判断所述当前优先级对应的配置概览回调函数是否为设置中,当所述当前优先级对应的配置概览回调函数不为设置时,或者在步骤s150的调用所述配置概览回调函数输出相应功能模块的配置信息之后,取出下一条优先级,然后执行转去执行所述步骤c1的遍历查询所述全局优先级数组的步骤。

综合上述实施例的方案,在设备启动到命令行进程时加载库文件注册配置概览回调函数,当用户执行配置概览命令时不用再临时加载库文件并查找对应配置概览函数,耗时短,从而提高配置概览命令执行效率,提升了用户体验。通过设置优先级,每个优先级对应一个配置概览函数,优先级和配置概览函数是可以根据需求进行调整,当设备新增配置命令或配置命令依赖关系发生变化时,能够容易增加或修改对应的配置概览信息,并且能够根据优先级灵活调整命令的输出顺序,也便于后续增加和修改对应的配置概览信息,改动量小,且不容易出错。

为了更加清晰本说明书的技术方案,下面结合附图阐述配置概览命令执行方法的详细实施例。

参考图2所示,图2是本说明书根据另一示例性实施例示出的一种配置概览命令执行方法的流程图,包括如下:

s201,设备启动到命令行进程;

s202,遍历查询命令行进程的配置文件,读取一条库文件路径;

s203,判断库文件路径是否为配置文件的结尾;若是,执行s204,否则执行s206;

s204,根据读取的库文件路径,打开对应的库并查找配置概览回调函数;

s205,将配置概览函数及其对应的优先级注册到全局优先级数组中;

s206,设备继续启动;

s207,设备启动完成;

s208,命令行框架解析执行showrunning-config命令;

s209,遍历查询优先级数组,取出当前优先级priority;

s210,判断优先级priority小于最大优先级priority_max,若是,执行s211,否则执行s214;

s211,判断当前优先级priority对应的配置概览函数是否为设置;若是,执行s212,否则执行s213;

s212,调用对应优先级的配置概览函数输出该功能模块的配置信息,然后转s213;

s213,取下一个优先级priority_nex,转去执行s209;

s214,命令执行结束。

上述实施例的放啊你,当用户执行配置概览命令时不用再临时加载库文件并查找对应配置概览函数,当设备新增配置命令或配置命令依赖关系发生变化时,能够容易增加或修改对应的配置概览信息,并且能够根据优先级灵活调整命令的输出顺序。

参考如下示例:

命令showrunning-config用来显示当前设备的所有运行配置信息,该命令显示内容按照不同功能或者模块以注释行分隔,例如:

由此可见,当用户执行showrunning-config命令时不用再临时加载库文件并查找对应配置概览函数,因此提高了showrunning-config命令执行效率,提高用户体验。

以上为配置概览命令执行的实施例,与前述方法的实施例相对应,本说明书还提供了网络设备吞吐量限制装置及其所应用的终端的实施例。

参考图3,图3是本说明书根据一示例性实施例示出的一种配置概览命令执行装置的框图;所述装置包括:

注册模块110,用于当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

执行模块130,用于等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

输出模块150,用于当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书配置概览命令执行装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。

本说明书实施例还提供一种计算机设备,包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:

当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

如图4所示,为本说明书实施例的计算机设备的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口420、以及非易失性存储器440之外,实施例中装置431所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。

本说明书实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的配置概览命令执行方法,包括:

当设备启动到命令行进程时,加载库文件并注册各个功能模块的配置概览回调函数;

等待设备继续启动,直至在设备启动完成时解析并执行配置概览命令;

当所述配置概览回调函数为设置时,调用所述配置概览回调函数输出相应功能模块的配置信息。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1