CN107426041B - 一种解析命令的方法和装置 - Google Patents
一种解析命令的方法和装置 Download PDFInfo
- Publication number
- CN107426041B CN107426041B CN201710858374.0A CN201710858374A CN107426041B CN 107426041 B CN107426041 B CN 107426041B CN 201710858374 A CN201710858374 A CN 201710858374A CN 107426041 B CN107426041 B CN 107426041B
- Authority
- CN
- China
- Prior art keywords
- command
- matching
- configuration
- cache
- matching cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种解析命令的方法和装置,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,所述方法包括:当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。采用本申请提供的技术方法,可以加快终端设备通过命令行对网络设备进行批量配置的速度。
Description
技术领域
本申请涉及配置网络设备的领域,特别涉及一种解析命令的方法和装置。
背景技术
为了保证网络设备的正常运行,通常需要配备管理员对网络设备进行维护。目前,管理员通常采用Web方式和命令行方式对网络设备进行维护。Web方式是指管理员使用浏览器访问网络设备Web服务器,在登录网络设备后在浏览器上为网络设备下发配置等。命令行方式是指终端设备通过console、telnet等连接方式访问网络设备时,终端设备会提供对网络设备进行维护的命令行,管理员在命令行的提示符下输入命令,从而来对网络设备进行维护。
比如,当管理员在命令行中输入Show running-config时,管理员就可以获取网络设备的配置命令。其中,Show running-config为一种可以查看网络设备当前所有运行配置的配置命令。
其中,命令行是一种运行在设备上的提供解析命令、执行命令等功能的服务程序,在设备上以一种交互式终端界面的形式存在。命令行分为若干不同的视图,当管理员在命令行输入执行切换视图的命令时,命令行可以切换命令行视图。由于每个命令行视图中所能使用的命令是有限制的,因此管理员在命令行视图中输入命令时,只能使用该命令行视图允许的命令。另外,命令行通过命令树来存储网络设备上所有可执行的命令,以及各命令所在的命令行视图。其中,所述命令树为一种数据结构。
当网络设备的硬件配置或者容量跟不上网络运行的要求时,通常需要更换规格更高的网络设备替代原设备来工作,或者增加相同类型的网络设备来与原设备共同工作。
由于无论是更换新设备还是增加新设备,通常需要新设备的配置与原设备的配置保持一样,因此,管理员需要获取原设备的所有配置命令。管理员可以登录原设备的命令行,在命令行中输入Show running-config来获取原设备的所有配置命令,然后,管理员可以将原设备的所有配置命令复制粘贴至新设备的命令行,通过新设备的命令行对新设备进行批量配置。
新设备的命令行对新设备进行批量配置时,依次读取粘贴至新设备的命令行中的配置命令,每读取到一条配置命令,都需要从命令树上遍历查找与该配置命令唯一匹配的命令,然后执行该唯一匹配的命令。
随着网络设备的配置越来越多,配置命令的数量也越来越多,比如路由表项、包过滤条目等数目可达10万数量级。配置命令越多,通过命令行对设备进行批量配置所需要消耗的时间也越多,这给管理员维护设备造成了极大的时间消耗,因此需要减少对设备进行批量配置时所消耗的时间。
在现有技术中,命令行每次将匹配到命令树上的命令的匹配结果保存至动态匹配缓存中。命令行后续查找与任一配置命令唯一匹配的命令时,先从动态匹配缓存中查找与该配置命令唯一匹配的命令,一旦查找到与该配置命令唯一匹配的命令,则执行该唯一匹配的命令,如果没有从动态匹配缓存中查找到与该配置命令唯一匹配的命令,则再遍历命令树上的命令,查找与该配置命令唯一匹配的命令。由于配置命令中存在重复性配置命令,从动态匹配缓存中查找与重复性配置命令唯一匹配的命令所消耗的时间,远小于遍历命令树上的命令,查找与重复性配置命令唯一匹配的命令,因此,可以减少命令行进行批量配置时所消耗的时间。
然而,现有技术虽然在一定程度上减少了终端设备通过命令行对网络设备进行批量配置时所消耗的时间,但是,当配置命令的数量庞大的时候,终端设备通过命令行对网络设备进行批量配置时所消耗的时间仍然远远不能满足管理员所设定的时间的要求。
发明内容
有鉴于此,本申请提供一种解析命令的方法和装置,应用于终端设备,用于加快终端设备通过命令行对网络设备进行批量配置的速度。
具体地,本申请是通过如下技术方案实现的:
一种解析命令的方法,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,包括:
当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
一种解析命令的装置,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,包括:
判断单元,用于当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
查找单元,用于如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
执行单元,用于如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
本申请提供的技术方案带来的有益效果:
在本申请中,终端设备上预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,其中,所述解析条件针对具有重复性且具有唯一特征的配置命令,当终端设备当前读取到的配置命令满足解析条件时,直接执行与解析条件对应的命令执行函数。由于将具有重复性且具有唯一特征的配置命令中的唯一特征作为解析命令的条件,并将满足该解析条件时所需要的命令执行函数与该解析条件进行绑定,最后存储至静态匹配缓存中,当终端设备读取到配置命令时,优先将配置命令与静态匹配缓存中存储的解析条件进行匹配,一旦满足解析条件,就执行与该解析条件绑定的命令执行函数,采用这样的方式,相比于从存储了大量匹配结果的动态匹配缓存中查找到与该配置命令匹配的匹配结果,并基于该匹配结果执行配置操作所需要消耗的时间更少,从而加快终端设备通过命令行对网络设备进行批量配置的速度。
附图说明
图1为本申请实施例一示出的一种解析命令的方法流程图;
图2所示,为本申请一种解析命令的装置所在终端设备的一种硬件结构图;
图3为本申请实施例二示出的一种解析命令的装置。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在现有技术中,当在终端设备上登录原网络设备的命令行时,管理员可以在命令行中输入Show running-config命令,其中,该Show running-config命令用于获取网络设备所有的配置命令。在原网络设备的命令行中输入Show running-config命令后,终端设备可以向原网络设备发送获取原网络设备所有配置命令的命令,原网络设备接收到该命令后,将读取本机中所有的配置命令,然后将所有的配置命令返回至终端设备。
当终端设备通过原网络设备的命令行接收到原网络设备的所有配置命令时,管理员可以登录新网络设备的命令行,然后从原网络设备的命令行中将原网络设备的所有配置命令复制至新网络设备的命令行中。
终端设备通过新网络设备的命令行逐条读取配置命令,当读取到第一条配置命令时,将读取到的配置命令与终端设备上配置的命令树中的命令进行顺次匹配,其中,命令树中存储了网络设备可以配置的所有命令以及与命令相关的数据。当读取到的配置命令匹配中唯一匹配的命令时,终端设备可以从命令树中读取该唯一匹配的命令所在的视图,最优匹配等级,然后将该唯一匹配的命令,该唯一匹配的命令所在的视图,以及最优匹配等级作为匹配结果存储至动态匹配缓存中,即每一条匹配结果中包括唯一匹配的命令,该唯一匹配的命令所在的视图,以及最优匹配等级。其中,匹配结果中的内容根据实际需要可以进行调整,比如,匹配结果中可以增加与该唯一匹配的命令相关的其它数据。
其中,动态匹配缓存中所能存储的匹配结果的数量是有限的,该数量通常远少于命令树中存储的命令的数量,因此,通常会预先设定动态匹配缓存中所述存储的匹配结果的阈值N,在现有技术中,在动态匹配缓存中存储的匹配结果的数量已经达到阈值情况下,当终端设备继续将新生成的匹配结果存储至动态匹配缓存中时,终端设备可以将动态匹配缓存中最早存储的匹配结果进行删除,以空出存储空间给新生成的匹配结果进行存储。其中,阈值N可以进行调整,不进行限定。
当终端设备后续读取到配置命令时,终端设备将后续读取到的配置命令先与动态匹配缓存中的匹配结果进行匹配,如果没有从动态匹配缓存中查找到包含唯一匹配的命令的匹配结果,再将配置命令与命令树中的命令进行匹配,以查找到唯一匹配的命令。
由于动态匹配缓存中存储的匹配结果的数量远少于命令树中的命令的数量,对于之前已经匹配过的配置命令,从动态匹配缓存中查找到匹配的匹配结果,比从命令树中查找到与该配置命令匹配的命令所花费的时间要少。
例如,命令树中存储了10000条命令,现在终端设备读取到了一条配置命令,与该配置命令唯一匹配的命令在命令树中的存储位置在9998,也就是说在当前读取到的配置命令匹配到唯一匹配的命令之前,还需要与其它9997条命令进行匹配。如果动态匹配缓存中存在了包含该唯一匹配命令的匹配结果,且该缓存表项在动态匹配缓存中的存储位置为2,那么将当前读取到的配置命令与命令树中的命令进行顺次匹配查找唯一匹配的命令所需要消耗的时间,远多于将当前匹配读取到配置命令与动态匹配缓存中的匹配结果进行顺次匹配查找唯一匹配的命令所需要消耗的时间。
在现有技术中,终端设备通过命令行将配置命令与命令树上的命令或者匹配结果中的命令进行匹配时,需要基于预设的拆分机制将配置命令进行拆分成若干的字符和/或字符串,然后通过判断拆分得到的字符和/或字符串与命令树上的命令或者匹配结果中的命令是否匹配的情况判断该命令是否为与该配置命令唯一匹配的命令。
具体地,终端设备依次读取该配置命令拆分后得到的字符和/或字符串,然后将读取到的字符和/或字符串与逐条读取到的匹配结果中的命令进行匹配,如果该配置命令拆分后得到的字符和/或字符串与该匹配结果中的命令均匹配成功,则确定该匹配结果中的命令为与该配置命令唯一匹配的命令,终端设备可以基于该匹配结果执行相应的配置操作,以对新网络设备完成基于该配置命令的配置操作。
如果该配置命令拆分得到的字符和/或字符串中任一条字符和/或字符串匹配不成功,则不再将该配置命令剩余的未进行匹配的字符和/或字符串进行匹配,终端设备可以确定该缓存表项中的命令与该配置命令不匹配,需要继续从动态匹配缓存中读取匹配结果,将该配置命令拆分得到的字符和/或字符串与缓存表项中的命令进行匹配,直到查找到包含与该配置命令唯一匹配的命令的匹配结果,如果动态匹配缓存中的匹配结果中的不存在包括与该配置命令唯一匹配的命令的匹配结果,则终端设备可以将该配置命令与命令树中的命令进行匹配,查找到与该配置命令唯一匹配的命令,终端设备将配置命令与命令树中的命令的匹配过程与配置命令与匹配结果中的命令的匹配过程相同,在此不再进行赘述。
例如,配置命令拆分得到3条字符串分别为A,B,C,终端设备可以将字符串A与从动态匹配缓存中读取到的匹配结果中的命令进行匹配,如果字符串A匹配成功,终端设备继续将字符串B与该匹配结果中的命令进行匹配,如果字符串B匹配成功,终端设备将最后一个字符串C与该匹配结果中的命令进行匹配,如果字符串C匹配成功,终端设备可以确定该匹配结果中的命令为与该配置命令唯一匹配的命令,然后基于该匹配结果执行相应的配置操作。如果这三条字符串任一条字符串匹配不成功,则确定该匹配结果中的命令与该配置命令不匹配,终端设备需要继续从动态匹配缓存中读取匹配结果,将该配置命令拆分得到的字符串与匹配结果中的命令进行匹配,直到查找到包含与该配置命令唯一匹配的命令的匹配结果,如果动态匹配缓存中的匹配结果中的不存在包括与该配置命令唯一匹配的命令的匹配结果,则终端设备可以将该配置命令与命令树中的命令进行匹配,查找到与该配置命令唯一匹配的命令。
然而,现有技术虽然在一定程度上减少了终端设备通过命令行对网络设备进行批量配置时所消耗的时间,但是,当配置命令的数量庞大的时候,终端设备通过命令行对网络设备进行批量配置时所消耗的时间仍然远远不能满足管理员所设定的时间的要求。
实施例一
为了解决现有技术中的问题,本申请实施例一提出了一种解析命令的方法,应用于终端设备,其中,终端设备上预选配置了静态匹配缓存,静态匹配缓存用于存储解析条件以及与解析条件对应的命令执行函数,请参见图1,图1为本申请实施例一示出的一种解析命令的方法流程图,具体执行以下步骤:
步骤101:当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
步骤102:如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
步骤103:如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
在本实施例中,终端设备上预先配置了静态匹配缓存,其中,静态匹配缓存用于存储解析条件以及与解析条件对应的命令执行函数,解析条件与命令执行函数绑定存储。当管理员将原网络设备的配置命令复制至新网络设备的命令行中后,终端设备通过新网络设备的命令行逐条读取配置命令。当终端设备通过新网络设备的命令行读取到配置命令时,将该配置命令与静态匹配缓存中的解析条件进行匹配。如果静态匹配缓存中存在与该配置命令匹配的解析条件,则终端设备执行与该解析条件对应的命令执行函数,完成配置操作,否则,终端设备将该配置命令与动态匹配缓存中的匹配结果进行匹配。如果动态匹配缓存中存在与该配置命令匹配的匹配结果,则终端设备基于匹配中的匹配结果,执行相应的配置操作,否则将该配置命令与命令树中的命令进行匹配,以查找与该配置命令唯一匹配的命令。
其中,静态匹配缓存能够存储的解析条件的数量有限,通常远小于动态匹配缓存中存储的匹配结果的数量,在本实施例中,管理员对静态匹配缓存能够存储的解析条件的数量设定了阈值N,在静态匹配缓存中解析条件的数量已经达到阈值的情况下,当终端设备继续将新的解析条件存储至静态匹配缓存中时,终端设备可以将最早存储至静态匹配缓存中的解析条件删除,以空出存储空间给新的解析条件进行存储。其中,阈值可以进行调整,不进行限定具体的数值。
由于,在不同的应用场景中,为了使终端设备通过命令对网络设备批量配置达到最佳速度状态,静态匹配缓存的阈值是不同的,因此需要在不同的应用场景中,设定不同的阈值。为了避免中断配置过程重新对静态匹配缓存进行调整,可以通过热补丁的方式更改静态匹配缓存。其中,热补丁为修复软件漏洞的一些代码,可以在不重启设备的情况下,对软件进行修复。
另外,上述解析条件用于判断配置命令是否满足该解析条件,上述命令执行函数用于当配置命令满足该解析条件时执行该命令执行函数。
以下为本实施例具体的实施过程:
具体地,当管理员将原网络设备的配置命令复制至新网络设备的命令行中后,终端设备通过新网络设备的命令行读取配置命令。当终端设备通过新网络设备的命令行读取到命令时,可以基于预设的拆分机制对该配置命令进行拆分,生成若干字符和/或字符串。例如,终端设备可以将配置命令中的空格为拆分标记,将该配置命令拆分成若干字符和/或字符串。
当终端设备得到若干字符和/或字符串后,终端设备可以判断静态匹配缓存中是否存在解析条件。如果静态匹配缓存中不存在解析条件,则终端设备将包含若干字符和/或字符串的配置命令与动态匹配缓存中的匹配结果进行匹配。其中,将包含若干字符和/或字符串的配置命令与动态匹配缓存中的匹配结果进行匹配这一过程为现有技术,请参见本实施例相关内容,在此不再进行赘述。
如果静态匹配缓存中存在解析条件,终端设备可以依次从静态匹配缓存中读取解析条件,然后通过判断该配置命令拆分得到的若干字符和/或字符串中是否存在满足该缓存表项中的解析条件的字符或者字符串,来判断该配置命令与解析条件是否匹配成功。
例如,解析条件为包含字符串“string A”的配置命令,当终端设备读取到该解析条件时,终端设备可以判断读取到的配置命令拆分得到若干字符和/或字符串中是否存在字符串“string A”。如果存在,则满足解析条件,终端设备可以认定读取到的配置命令与该解析条件匹配成功,如果不存在,则不满足解析条件,终端设备可以认定读取到的配置命令与该解析条件匹配不成功。
如果读取到的配置命令与当前从静态匹配缓存中读取到的解析条件匹配成功,终端设备可以读取与该解析条件绑定的命令执行函数,然后执行该命令执行函数。
如果读取到的配置命令与当前从静态匹配缓存中读取到的解析条件匹配不成功,则可以将该配置命令与动态匹配缓存中的匹配结果进行匹配,具体匹配过程参见本实施例中相关内容,在此不再进行赘述。
其中,从将配置命令与静态匹配缓存中的解析条件的匹配过程可以看出,配置命令拆分得到若干字符和/或字符串后,终端设备只需要判断这些字符和/或字符串中是否满足解析条件,当满足条件时,终端设备就可以执行与该解析条件绑定的命令执行函数。而现有技术中,终端设备需要将配置命令拆分得到的所有字符和/或字符串一一与从动态匹配缓存中的匹配结果中的命令进行匹配,只有所有字符和/或字符串与该匹配结果均匹配时,终端设备才可以基于该匹配结果执行相关的配置操作。
由于对配置命令与解析条件匹配成功后,终端设备通过命令执行函数的方式完成配置的方式所需要消耗的时间,相比于现有技术,当查找到与配置命令匹配的匹配结果后,终端设备基于匹配结果执行相关的配置操作完成配置的方式所需要消耗的时间更少。
而且,静态匹配缓存中解析条件的数量远少于动态匹配缓存中的匹配结果的数量,从静态匹配缓存中查找到与具有重复性且具有唯一特征的配置命令匹配的解析条件所需要消耗的时间,相比于从存储了大量匹配结果的动态匹配缓存中查找到与该配置命令匹配的匹配结果,所需要消耗的时间更少。
因此,通过配置静态匹配缓存,将具有重复性且具有唯一特征的配置命令中的唯一特征作为解析命令的条件,并将满足该解析条件时所需要的命令执行函数与该解析条件进行绑定,最后存储至静态匹配缓存中,当终端设备读取到配置命令时,优先将配置命令与静态匹配缓存中存储的解析条件进行匹配,一旦满足解析条件,就执行与该解析条件绑定的命令执行函数,在现有技术的基础上增加静态匹配缓存的方式,可以进一步加快终端设备通过命令行对网络设备进行批量配置的速度,从而实现管理员对终端设备通过命令行对网络设备进行批量配置的时间要求。
实施例二
为了解决现有技术中的问题,与前述一种解析命令的方法的实施例一相对应,本申请还提供了一种解析命令的装置的实施例二。
本申请一种解析命令的装置的实施例二可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请一种解析命令的装置所在终端设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端设备通常根据该解析命令的实际功能,还可以包括其他硬件,对此不再赘述。
请参见图3,图3为本申请实施例二示出的一种解析命令的装置,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,所述装置包括:判断单元310,查找单元320,执行单元330。
其中,判断单元310,用于当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
查找单元320,用于如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
执行单元330,用于如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
在本实施例中,所述终端设备预先配置了动态匹配缓存,所述动态匹配缓存用于存储任一配置命令成功匹配到命令树上的命令后得到的匹配结果,所述装置还包括:
匹配单元,用于如果所述静态匹配缓存中不存在解析条件,所述命令行将当前读取到的配置命令与所述动态匹配缓存中的匹配结果进行匹配;
以及,还用于如果当前读取到的配置命令中与静态匹配缓存中的所有解析条件均不匹配,将该配置命令与所述动态匹配缓存中的匹配结果进行匹配。
另外,在本实施例中,所述终端设备加载了热补丁程序,所述装置还包括:
更改单元,用于通过热补丁对静态匹配缓存进行更改。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种解析命令的方法,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,其特征在于,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,所述解析条件包括具有重复性且具有唯一特征的配置命令中的唯一特征,所述方法包括:
当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
2.根据权利要求1所述的方法,所述终端设备预先配置了动态匹配缓存,所述动态匹配缓存用于存储任一配置命令成功匹配到命令树上的命令后得到的匹配结果,其特征在于,所述方法还包括:
如果所述静态匹配缓存中不存在解析条件,将当前读取到的配置命令与所述动态匹配缓存中的匹配结果进行匹配。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果当前读取到的配置命令中与静态匹配缓存中的所有解析条件均不匹配,将该配置命令与所述动态匹配缓存中的匹配结果进行匹配。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述终端设备加载了热补丁程序,所述方法还包括:通过热补丁对静态匹配缓存进行更改。
5.一种解析命令的装置,应用于终端设备,所述终端设备通过命令行对网络设备进行批量配置,其特征在于,所述终端设备预先配置了静态匹配缓存,所述静态匹配缓存用于存储解析条件以及与所述解析条件对应的命令执行函数,所述解析条件包括具有重复性且具有唯一特征的配置命令中的唯一特征,所述装置包括:
判断单元,用于当读取到任一配置命令时,判断所述静态匹配缓存中是否存在解析条件;
查找单元,用于如果所述静态匹配缓存中存在解析条件,从静态匹配缓存中查找与当前读取到的配置命令匹配的解析条件;
执行单元,用于如果查找到与当前读取到的配置命令匹配的解析条件,执行与所述解析条件对应的命令执行函数。
6.根据权利要求5所述的装置,所述终端设备预先配置了动态匹配缓存,所述动态匹配缓存用于存储任一配置命令成功匹配到命令树上的命令后得到的匹配结果,其特征在于,所述装置还包括:
匹配单元,用于如果所述静态匹配缓存中不存在解析条件,所述命令行将当前读取到的配置命令与所述动态匹配缓存中的匹配结果进行匹配。
7.根据权利要求6所述的装置,其特征在于,所述匹配单元还用于:
如果当前读取到的配置命令中与静态匹配缓存中的所有解析条件均不匹配,将该配置命令与所述动态匹配缓存中的匹配结果进行匹配。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述终端设备加载了热补丁程序,所述装置还包括:
更改单元,用于通过热补丁对静态匹配缓存进行更改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858374.0A CN107426041B (zh) | 2017-09-21 | 2017-09-21 | 一种解析命令的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858374.0A CN107426041B (zh) | 2017-09-21 | 2017-09-21 | 一种解析命令的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107426041A CN107426041A (zh) | 2017-12-01 |
CN107426041B true CN107426041B (zh) | 2020-08-04 |
Family
ID=60433410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710858374.0A Active CN107426041B (zh) | 2017-09-21 | 2017-09-21 | 一种解析命令的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107426041B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109927280B (zh) * | 2017-12-15 | 2021-01-15 | 深圳市七号科技有限公司 | 对外廓命令进行解析的方法及装置、彩色3d打印机 |
CN108647043B (zh) * | 2018-04-03 | 2021-03-16 | 烽火通信科技股份有限公司 | 一种命令行输入的实现方法及*** |
CN109471675B (zh) * | 2018-10-30 | 2021-11-19 | 北京无限自在文化传媒股份有限公司 | 一种对于硬件执行改变的方法及其*** |
CN109639487B (zh) * | 2018-12-17 | 2022-03-01 | 杭州迪普科技股份有限公司 | 策略配置的方法、装置、网络设备及存储介质 |
CN110008003A (zh) * | 2019-04-10 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种命令行有效性检测方法及相关装置 |
CN116185497B (zh) * | 2023-01-06 | 2024-05-07 | 格兰菲智能科技有限公司 | 命令解析方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490977A (zh) * | 2002-10-17 | 2004-04-21 | 华为技术有限公司 | 通用路由平台命令行的解析方法 |
CN106227821A (zh) * | 2016-07-21 | 2016-12-14 | 杭州华三通信技术有限公司 | 一种命令行命令的处理方法和装置 |
CN106951213A (zh) * | 2017-03-27 | 2017-07-14 | 杭州迪普科技股份有限公司 | 一种命令解析方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9632728B2 (en) * | 2008-03-28 | 2017-04-25 | International Business Machines Corporation | Apparatus and method to establish a logical configuration for a data storage library |
-
2017
- 2017-09-21 CN CN201710858374.0A patent/CN107426041B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1490977A (zh) * | 2002-10-17 | 2004-04-21 | 华为技术有限公司 | 通用路由平台命令行的解析方法 |
CN106227821A (zh) * | 2016-07-21 | 2016-12-14 | 杭州华三通信技术有限公司 | 一种命令行命令的处理方法和装置 |
CN106951213A (zh) * | 2017-03-27 | 2017-07-14 | 杭州迪普科技股份有限公司 | 一种命令解析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107426041A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107426041B (zh) | 一种解析命令的方法和装置 | |
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
US20150234927A1 (en) | Application search method, apparatus, and terminal | |
US8626786B2 (en) | Dynamic language checking | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US20120137045A1 (en) | Efficiently determining identical pieces of memory used by virtual machines | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN107239701B (zh) | 识别恶意网站的方法及装置 | |
US20170142203A1 (en) | Method for host scheduling for container deployment, electronic device and non-transitory computer-readable storage medium | |
US20170169069A1 (en) | Data integrity checking in a distributed filesystem using object versioning | |
US20190324947A1 (en) | Method, device and computer program product for deleting snapshots | |
JP2007109116A (ja) | 推定装置、テーブル管理装置、選択装置、テーブル管理方法、そのテーブル管理方法をコンピュータに実現させるプログラム、及び、そのプログラムを記録する記憶媒体 | |
CN106227893A (zh) | 一种文件类型获取方法及装置 | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
CN111984892A (zh) | 页面访问方法、装置、设备及存储介质 | |
CN110135163B (zh) | 一种基于目标应用的安全检测方法、装置及*** | |
US20220318129A1 (en) | Automated code checking | |
CN111966682B (zh) | 一种白名单防护匹配方法、***、终端及存储介质 | |
CN102333123B (zh) | 文件存储方法、设备、查找方法、设备和网络设备 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN112765041B (zh) | 游戏自动化测试方法、装置及电子设备 | |
CN110515905B (zh) | 一种路由的配置的方法、装置以及服务器 | |
CN104951550B (zh) | 数据存储方法及装置 | |
CN106407260A (zh) | 一种获取文件类型的处理方法及装置 | |
CN109635175B (zh) | 页面数据拼接方法、装置、可读存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |