CN113821211B - 命令解析方法、装置、存储介质和计算机设备 - Google Patents

命令解析方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN113821211B
CN113821211B CN202111094758.2A CN202111094758A CN113821211B CN 113821211 B CN113821211 B CN 113821211B CN 202111094758 A CN202111094758 A CN 202111094758A CN 113821211 B CN113821211 B CN 113821211B
Authority
CN
China
Prior art keywords
command
keywords
tree
target
analyzed
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
Application number
CN202111094758.2A
Other languages
English (en)
Other versions
CN113821211A (zh
Inventor
汤永翔
赵旭东
王振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202111094758.2A priority Critical patent/CN113821211B/zh
Publication of CN113821211A publication Critical patent/CN113821211A/zh
Application granted granted Critical
Publication of CN113821211B publication Critical patent/CN113821211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种命令解析方法、装置、存储介质和计算机设备,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围。其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围。其特征在于,所述方法包括:计算待解析命令包含的关键字的数量;将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;当所述数量处于与任一目标命令树对应的关键字数量范围之内,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。

Description

命令解析方法、装置、存储介质和计算机设备
技术领域
本说明书的实施方式涉及计算机技术领域,更具体地,本说明书的实施方式涉及一种命令解析方法、装置、存储介质和计算机设备。
背景技术
本部分旨在为权利要求书中陈述的本说明书的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
计算机中的命令,通常是由若干关键字按照一定顺序组合后形成的一行字符串表达式,关键字之间由分隔符分隔。
命令输入之后,对输入的命令进行解析之后,才能执行输入的该命令。
发明内容
为克服相关技术中存在的问题,本说明书提供了以下方法及装置。
在本说明书实施方式的第一方面中,提供了一种命令解析方法,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;其特征在于,包括:
计算待解析命令包含的关键字的数量;
将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
当所述数量处于与任一目标命令树对应的关键字数量范围之内,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书的一个实施例中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的最小数量和最大数量对应的数值区间。
在本说明书的一个实施例中,所述关键字数量范围,存储在对应的命令树中的根节点中。
在本说明书的一个实施例中,所述计算待解析命令包含的关键字的数量,其特征在于,包括:
将待解析的命令,按分隔符拆分为若干关键字;
统计拆分出的关键字的数量。
在本说明书的一个实施例中,所述命令行程序还维护了与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;
所述当所述数量处于与任一目标命令树对应的关键字数量范围之内,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配包括:
当所述数量处于与任一目标命令树对应的关键字数量范围之内,提取所述待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
将所述目标字符串与所述目标命令树中的各个命令对应首字符串分别进行匹配;
当所述目标字符串与所维护的与所述目标命令树中的各个命令中的任一命令对应的首字符串匹配时,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配。
在本说明书的一个实施例中,所述关键字包括所述命令中包含的命令关键字,以及,对命令中包含的参数变量进行编码后得到的参数关键字。
在本说明书的一个实施例中,所述命令关键字包括由可见字符构成的关键字;所述参数关键字包括由不可见字符构成的关键字。
在本说明书实施方式的第一方面中,还提供了提供了一种命令解析方法,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;其特征在于,所述方法包括:
提取待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
将所述目标字符串与所维护的与所述多个命令树中的各个命令对应首字符串分别进行匹配;
当所述目标字符串与所维护的所述多个命令树中的目标命令树中的任一命令对应的首字符串匹配时,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配。
在本说明书的一个实施例中,所述关键字包括所述命令中包含的命令关键字,以及,对命令中包含的参数变量进行编码后得到的参数关键字。
在本说明书的一个实施例中,所述命令关键字包括由可见字符构成的关键字;所述参数关键字包括由不可见字符构成的关键字。
在本说明书实施方式的第二方面中,提供了一种装置,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;其特征在于,包括:
计算模块,计算待解析命令包含的关键字的数量;
匹配模块,将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
解析模块,当所述数量处于与任一目标命令树对应的关键字数量范围之内,将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书实施方式的第二方面中,还提供了一种装置,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;其特征在于,包括:
提取模块,用于提取待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
匹配模块,用于将所述目标字符串与所维护的与所述多个命令树中的各个命令对应首字符串分别进行匹配;
解析模块,当所述目标字符串与所维护的所述多个命令树中的目标命令树中的任一命令对应的首字符串匹配时,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书实施方式的第三方面中,提供了一种储存介质;所述存储介质上存储有命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;该命令行程序执行时实现如下所述方法的步骤:
计算待解析命令包含的关键字的数量;
将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
当所述数量处于与任一目标命令树对应的关键字数量范围之内,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书实施方式的第四方面中,提供了一种电子设备,包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;所述计算机程序包括命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;其中,所述处理器通过运行命令行程序以实现如下所述的方法:
计算待解析命令包含的关键字的数量;
将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
当所述数量处于与任一目标命令树对应的关键字数量范围之内,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书以上的实施方式,至少具有如下的有益效果:
通过将待解析命令包含的关键字的数量和多个命令树对应的关键字的数量范围进行比较,从该多个命令树中筛选出部分能够对待解析命令进行解析的有效的命令树与待解析命令进行匹配,可以降低与待解析命令进行匹配的命令树的数量,避免将待解析命令与所有命令树逐一进行匹配,从而可以在不牺牲命令解析准确度的基础上,减少命令解析的开销,加快命令解析的速度。
附图说明
通过参考附图阅读下文的详细描述,本说明书示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本说明书的若干实施方式,其中:
图1示意性地示出了根据本说明书实施方式的的一种将若干组命令组织成命令树进行存储的示意图;
图2示意性地示出了根据本说明书实施方式的一种命令解析方法的流程图;
图3示意性地示出了根据本说明书实施方式的一种命令树关键字数量范围存储方式的示意图;
图4示意性地示出了根据本说明书实施方式的一种命令解析方法的流程图;
图5示意性地示出了根据本说明书实施方式的一种命令解析方法的流程图;
图6示意性地示出了根据本说明书实施方式的一种命令解析装置的框图;
图7示意性地示出了根据本说明书实施方式的一种命令解析装置的框图;
图8示意性地示出了根据本说明书实施方式的一种命令解析装置所在计算机设备的一种硬件结构图;
图9示意性地示出了根据本说明书实施方式的一种应用于命令解析方法的软件产品的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书更加透彻和完整,并且能够将本说明书的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本说明书的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本说明书可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本说明书的实施方式,提出了一种负载均衡方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语表示如下:
命令:通常是由若干关键字按照一定顺序组合后形成的一行字符串表达式,关键字之间由分隔符分隔。
例如,某网络设备中用以查看当前设备版本及引导信息的命令“show-version”,由关键字“show”和“version”按顺序组合形成,关键字之间由分隔符“-”分隔。
命令行程序:又称命令行,用以解析命令、执行命令的服务程序;
例如,Windows中的Windows PowerShell和命令提示符cmd是Windows中常用的命令行程序。
命令树:存储可执行命令的树状数据结构,命令树中的每个节点都代表一个关键字。
例如,常规的命令树,通常包括根节点、中间节点和叶子节点三种节点,命令树中的命令,通常是指该命令在命令树中对应的根节点、中间节点和叶子节点包含的关键字,由分隔符拼接成的字符串。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本说明书的若干代表性实施方式,详细阐释本说明书的原理和精神。
应用场景总览
请参见图1,图1是本说明书一种实施方式中示出的将若干组命令组织成命令树进行存储的示意图。
在网络设备的操作系统中,通常会支持大量的用于对网络设备进行配置管理的命令。当网络设备重启时,通常会将在操作系统的代码中已注册的命令,组织成命令树的形式进行存储。
其中,命令树是一种由若干节点构成的树状的图形结构,命令树上的每一个节点都表示命令中的一个关键字。在将已注册的命令组织成命令树时,通常会将该命令树按照分隔符拆分成若干关键字,再将这些关键字写入命令树。
命令树中节点,按照类型可以划分为根节点、中间节点和叶子节点。每个命令树代表一组命令,每条从根节点经由中间节点到叶子节点的路径代表了一条命令。也即,命令树中的一条命令,是指该命令在该命令树上对应的从根节点经由中间节点到叶子节点的路径上的各个节点所代表的关键字由分隔符进行拼接形成的字符串。
例如,图1中示出的第一命令树1a,该命令树包括根节点“alpha”,中间节点“beta”、“gamma”和“beta”,以及叶子节点“delta”和“epsilon”。其中,节点“beta”和节点“gamma”也称之为根节点“alpha”的孩子节点,节点“beta”和节点“gamma”称之为兄弟节点。
第一命令树1a可以代表第一命令组,该组命令包括两个命令“alpha-beta-delta”和“alpha-gamma-delta-epsilon”。其中,为了方便描述,上述“-”字符表示分隔符。在实际应用中该分隔符可以用空格符等来代替。
相似的,第二命令树1b,仅由一个根节点“zeta”构成,代表第二命令组,该组命令仅包括一个命令“zeta”。
第三命令树1c,包括根节点“eta”,中间节点“lota”、“kappa”和“mu”,以及叶子节点“lambda”和“nu”。该命令组可以代表第三命令组,该组命令包括三个命令“eta-lota-lambda”,“eta-lota-mu-nu”和“eta-kappa”。
在实际应用中,在网络设备上,可能存在大量的命令需要进行解析和执行的情况。
例如,当组网环境中要更换或者增加网络设备时,为了使组网环境中新增或者更换后的网络设备的配置,与组网环境中原来的网络设备的配置保持一致,管理员可以获取到网络设备A的操作系统中已经注册的所有的命令,再将获取到的命令复制粘贴到另一台新增或者更换的网络设备B的命令行程序上进行解析和执行,以实现对网络设备B的批量配置。此过程可以称为配置命令的“批量回刷”。
然而,随着网络规模越来越大,应用越来越复杂,网络设备的操作系统中注册的配置命令,也就越来越多。配置命令越多,则批量回刷过程中网络设备B的命令行程序解析命令的总耗时越长。例如,假设网络设备B解析一条命令耗时0.1s,如果需要批量回刷的命令的数量为10万条,则解析命令的耗时为10000s,这显然给管理员维护设备造成极大的时间消耗。
可见,对网络设备的命令行程序而言,解析命令的耗时越短,越能提升管理员使用命令行程序对网络设备进行维护的效率。
在相关技术中,网络设备通常会将在操作系统的代码中已注册的命令,按照类型的不同,组织成多个命令树。例如,可以将具有相同的关键字前缀的一组命令,组织成一个命令树。而关键字前缀不同的多组命令,可以分别组织成不同的命令树。
命令行程序在解析命令时,通常是通过将待解析的命令与网络设备中维护的多个命令树上的命令逐一进行匹配,直到找到完全匹配的命令。这种命令解析方法的解析速度显然比较慢,在需要解析执行大量命令的时候,存在效率不高的问题。
发明概述
如前所述,采用将待解析的命令,与所维护的多个命令树进行全量匹配的方式来解析命令,存在命令解析的开销大,解析效率低的问题。
有鉴于此,本说明书提供一种通过预匹配的方式,从多个命令树中预先筛选出用于对待解析命令进行命令解析的有效命令树,以提高命令解析效率的技术方案。
本说明书的核心技术构思在于:
在命令行程序中维护命令树对应的的各个命令的特征信息,当获取到一条待执行命令时,先提取待执行命令的特征信息,与各命令树对应的的特征信息,进行简单的预匹配,预先筛选出可能解析该待解析命令的部分命令树。从而,大大减少了命令解析时待解析命令需要进行匹配的命令树的数量,避免与所有命令树逐一进行匹配。因此,可以在不牺牲解析准确的前提下,减小了命令行程序解析命令的开销,加快了命令解析的速度。
示例性方法
下面将通过具体的实施例对本说明书的技术构思进行详细描述。
请参见图2,图2是一示例性实施例提供的一种命令解析方法的流程图。
该命令解析方法应用于命令行程序;所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围。所述方法执行以下步骤:
步骤202,计算待解析命令包含的关键字的数量。
上述待解析命令具体可以由若干关键字组成,其中不同的关键字之间可以以分隔符连接。
例如,当待解析命令为“eta-lota-mu-nu”时,该待解析命令由关键字“eta”,“lota”,“mu”,“nu”组成,由分隔符“-”连接。
在针对待解析命令进行命令解析时,首先可以计算待解析命令包含的关键字的数量。
其中,在示出的一种实施方式中,在计算待解析命令包含的关键字数量时,首先可以将待解析的命令,按分隔符拆分为若干个关键字;然后再统计拆分出的关键字的数量。
例如,对于待解析的命令“eta-lota-mu-nu”,按分隔符“-”拆分为关键字“eta”,“lota”,“mu”,“nu”,统计得拆分出的关键字的数量即为4。
当然,除了拆分之后统计各个关键字的数量的统计方式以外,也可以采用统计分隔符的数量的方式,来间接的得到关键字的数量。
例如,可以先统计待解析命令包含的分隔符的数量,再将统计得到的分隔符的数量加一,即为该待解析命令包含的关键字的数量。
其中,需要说明的是,命令中使用的分隔符的具体类型,在本说明书中不进行特别限定。
例如,命令可以使用诸如一个或多个空格,分号“;”,逗号“,”,点号“.”等作为分隔符。在实际应用中,本领域技术人员可以根据实际的使用场景和需要,自行选择分隔符类型。
步骤204,将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
上述关键字数量范围,是指命令树中的所有命令所包含的关键字的数量范围。
在示出的一种实施方式中,命令树对应的关键字数量范围,具体可以是命令树中的各个命令所包含的关键字的最小数量和最大数量对应的数值区间。
例如,图1中示出的第一命令树1a中的命令“alpha-beta-delta”和“alpha-gamma-delta-epsilon”包含的关键字数量分别为3和4,那么第一命令树1a中的各个命令所包含的关键字的最小数量就是3,最大数量就是4,对应的数值区间就是[3,4]。
相似的,第二命令树1b仅包含一个命令“zeta”,则该命令树中的各个命令所包含的关键字的最小数量和最大数量都是1,对应的关键字数量范围可以用区间[1,1]表示。
第三命令树1c中的各个命令所包含的关键字的最小数量为2,最大数量为4,对应的数值区间为[2,4]。
当然,在实际应用中,除了使用命令树中的各个命令所包含的关键字的最小数量和最大数量对应的数值区间来表示命令树对应的关键字数量范围。本领域技术人员也可以使用由上述最大值或最小值构成的区间[0,max]或者[min,+∞)来表示上述关键字数量范围。或者,也可以使用一个由命令树中各个命令包含的关键字的数量构成的数组或者集合来表示上述关键字数量范围。例如,对于包含4个关键字数量分别为2,3,3,5的命令的命令树,也可以使用数值集合{2,3,5}来表示命令树的关键字数量范围。本说明书不对此做出具体的限定。
其中,需要说明的是,上述关键字数量范围具体可以由上述命令行程序来进行存储和维护。在实际应用中,命令行程序在存储和维护上述关键字数量范围时,具体可以将上述关键字数量范围与上述命令树关联存储,也可以存储到命令树中。
在示出的一种实施方式中,上述关键字数量范围,具体可以作为上述命令树中的根节点中包含的存储内容,存储至上述根节点中。
例如,请参见图3,对于图1中示出的命令树1a,1b和1c,可以指示上述关键字数量范围的数值区间,一并写入根节点中。
比如,对于第一命令树1a,关键字数量范围为[3,4],可以将该数值区间[3,4]写入到在第一命令树1a的根节点“alpha”中。
当然,在实际应用中,也可以将上述关键字数量范围存储至根节点以外的其它类型的节点中。
当计算出待解析命令包含的关键字的数量之后,可以将该数量与上述多个命令树对应的关键字数量范围分别进行匹配。
其中,一方面,如果某一命令树对应的关键字数量范围,与待解析命令包含的关键字数量不匹配,则说明该命令树不能用于解析该待解析命令,该命令树为无效命令树。
另一方面,如果某一命令树对应的关键字数量范围,与待解析命令包含的关键字数量匹配,则说明该命令树可能是能够用于解析对该待解析命令的有效命令树。
例如,请继续参见图1,假设待解析的命令为“eta lota mu nu”,此时该命令包含的关键字数量为4,此时该命令包含的关键字数量处于第一命令树1a对应的关键字数量范围[3,4]之内,并且处于第三命令树1c对应的关键字数量范围[2,4]之内,此时第一命令树1a和第三命令树1c为上述有效命令树。而该命令包含的关键字数量不处于第二命令树1b对应的数量范围[1,1]之内,此时1b为上述无效命令树。
步骤206,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
当目标命令树为有效命令树时,继续将待解析命令包含的各个关键字,与该目标命令树中各节点包含的关键字进行匹配。
在本说明书的一个示意性实施例中,使用如下方式进行匹配:
将待解析的命令按照分隔符拆分为关键字,拆分成的关键字组成关键字数组,循环获取命令树上的每个节点进行匹配,匹配流程如下:
使用关键字数组中的第一个关键字,与命令树上的根节点的中的关键字进行匹配。
如果关键字数组中的关键字与节点中的关键字相同,即节点匹配成功,将该匹配成功的节点压栈,并取该节点的孩子节点中的关键字,与关键字数组中的下一个关键字进行匹配,直到关键字数组中所有的关键字匹配完成,且最后匹配的节点为叶子节点,则命令解析成功;
如果节点匹配失败,若此时栈为空,说明该命令树解析无法待解析命令;若此时栈不为空,从栈中弹出上一个匹配成功的节点,判断该节点是否存在未参与匹配的兄弟节点,如果存在未参与匹配的兄弟节点,则继续使用该兄弟节点进行匹配,如果不存在未参与匹配的兄弟节点,说明该命令树无法解析待解析命令。
除了可以使用上述利用命令树的结构按关键字逐层匹配的方法进行命令匹配,也可以使用将待解析命令与命令树代表的每一条命令逐一进行全量匹配的方法进行命令匹配。本说明书不对待解析命令与目标命令树的具体匹配过程做出限定,本领域技术人员可以根据实际需要自行选择匹配方法。
可见,待解析命令只需要与有效命令树进行进一步的匹配,而不需要继续与无效命令树进行进一步的命令匹配。也就是说,通过对命令树对应的关键字数量范围的统计和比较,筛选出了可能解析待解析命令的有效命令树,减少了待解析命令需要匹配的命令树的数量,避免了待解析命令与所有命令树进行逐一匹配。
因此,本说明书的方法可以降低命令解析的开销,加快命令解析的速度,在待解析命令数量很大时,该效果尤为明显。
那么基于同样的技术构思,在利用关键字数量范围进行筛选的基础上,还可以进行进一步的筛选或者预匹配,从而进一步降低待解析命令需要匹配的命令树的数量。从而在不牺牲解析准确度的条件下,开销更小,命令解析效率更高。
请参见图4,图4是一示例性实施例提供的另一种命令解析方法的流程图。
上述方法包括以下步骤:
步骤402,计算待解析命令包含的关键字的数量。
在针对待解析命令进行命令解析时,首先可以计算待解析命令包含的关键字的数量。
具体的计算方式参见本说明书其他实施例,不再详述。
步骤404,将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配。
上述关键字数量范围,是指命令树中的所有命令所包含的关键字的数量范围。
当计算出待解析命令包含的关键字的数量之后,可以将该数量与上述多个命令树对应的关键字数量范围分别进行匹配。
其中,一方面,如果某一命令树对应的关键字数量范围,与待解析命令包含的关键字数量不匹配,则说明该命令树不能用于解析该待解析命令,该命令树为无效命令树。
另一方面,如果某一命令树对应的关键字数量范围,与待解析命令包含的关键字数量匹配,则说明该命令树可能是能够用于解析对该待解析命令的有效命令树。
具体的关键字的数量范围与匹配方式参见本说明书其他实施例,不再详述。
在本实施例中,命令行程序还维护了与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串。
命令树包含的每条命令都对应了一个首字符串,因此命令树包含几条命令,就对应几个首字符串。
例如,请继续参见图1,第一命令树1a,表示了第一命令组,该组命令包括两个命令“alpha-beta-delta”和“alpha-gamma-delta-epsilon”。提取命令“alpha-beta-delta”每个关键字的首字符“a”,“b”,“d”并拼接为字符串“abd”;提取命令“alpha-gamma-delta-epsilon”每个关键字的首字符“a”,“g”,“d”,“e”并拼接为字符串“agde”。上述这两个字符串“abd”和“agde”就是第一命令树1a对应的首字符串。
相似的,第二命令树对应的首字符串为“z”,第三命令树对应的首字符串为“ell”,“elmn”和“ek”。
当所述数量处于与任一目标命令树对应的关键字数量范围之内时,本实施例所述的方法执行以下步骤:
步骤403,提取所述待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
提取待解析命令包含的各个关键字的首字符。
可以通过先将待解析命令的各个关键字提取出来,再逐一提取各关键字的首字符的方法
例如,待解析命令为“eta-lota-mu-nu”,提取出的各个关键字为“eta”,“lota”,“mu”和“nu”,各关键字首字符分别为“e”,“l”,“m”和“n”。
当然,提取待解析命令包含的各个关键字的首字符,除了通过上述先将待解析命令的各个关键字提取出来,再逐一提取各关键字的首字符的方法,也可以通过提取待解析命令的首字符,以及每个分隔符后的首字符等其他方法进行,本说明书不对此做出具体限定。
然后将提取出的各关键字的首字符拼接成目标字符串。
例如,上述待解析命令“eta-lota-mu-nu”,提取出的各关键字首字符分别为“e”,“l”,“m”和“n”,拼接成的目标字符串即为“elmn”。
步骤405,将所述目标字符串与所述目标命令树中的各个命令对应首字符串分别进行匹配。
将目标字符串与目标命令树对应的各个首字符串进行匹配。
一方面,如果目标字符串与目标命令树对应的任一首字符串相同,说明目标命令树可能解析待解析命令,目标命令树为有效命令树;
另一方面,如果目标字符串与目标命令树对应的任一首字符串均不同,说明目标命令树不能解析待解析命令,目标命令树为无效命令树。
例如,待解析命令“eta-lota-mu-nu”对应的目标字符串为“elmn”,与第一命令树1a对应的首字符串“ad”和“agde”均不匹配。说明第一命令树1a不能解析待解析命令,第一命令树为无效命令树。而第三命令树1c对应的首字符串“ell”,“elmn”和“ek”中,存在和目标字符串匹配的首字符串“elmn”,说明第三命令树1c可能解析待解析命令,第三命令树为有效命令。
步骤406,将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配。
当所述目标命令树为有效命令树时,继续将待解析命令包含的各个关键字与该目标命令树中和节点包含的关键字进行匹配。
匹配的具体过程参见本说明明书其他实施例,不再详述。
本实施例的方法利用了命令树中各节点的首字符信息,进一步识别出了一部分不能解析待解析命令的命令树,减少了待解析命令需要匹配的命令树的数量,从而进一步在不牺牲命令解析准确度的前提下,减少了命令匹配的开销,减少了命令匹配所需的时间。
在本说明书的一个示例性实施例中,命令包含的关键字包括命令中包含的命令关键字,以及,对命令中包含的参数变量进行编码后得到的参数关键字。
在命令的关键字中,有时还包括了一些特殊参数,参数是可变的,例如字符串参数,地址参数,时间参数等。
例如,某配置服务器ip的命令为“ip-address-[address]”,其中“ip”和“address”为固定的命令关键字,[address]为参数变量,可以是“10.0.0.1/8”,“192.168.0.1”,“223.255.255.254”等代表IP地址的字符串。
对应这些特殊参数变量关键字,可以进行编码,将其转化成固定的编码,方便在提取首字符时可以提取到相同的首字符。
在一个示例性的实施例中,可以使用命令关键字首字符中不会出现的字符进行编码,提取出的首字符不会与命令关键词提取出的首字符相同,可以降低重码率,进一步提高命令匹配的效率。
例如,可以使用不可见字符对参数变量进行编码,如使用ASCII码表中ASCII值为0,1,2,3的不可见字符分别表示字符串参数、地址参数、时间参数、整数范围参数等。
利用命令关键字首字符信息进行预匹配的技术构思与利用关键字数量范围进行预匹配的技术构思相同,但两个预匹配过程并不存在依赖关系。
请参见图5,图5是在本说明书的一个示例性实施例中,提供的一种命令解析方法的流程图。所述方法包括:
命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;
步骤503,提取所述待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
提取待解析命令包含的各个关键字的首字符。可以通过先将待解析命令的各个关键字提取出来,再逐一提取各关键字的首字符的方法;也可以通过提取待解析命令的首字符,以及每个分隔符后的首字符等其他方法进行,不说明书不对此做出具体限定。
然后将提取出的各关键字的首字符拼接成目标字符串。
提取和拼接待解析命令各关键字首字符的具体过程参见本说明书中其他实施例,此处不再详述。
步骤505,将所述目标字符串与所维护的与所述多个命令树中的各个命令对应首字符串分别进行匹配。
将目标字符串与所维护的与所述多个命令树中的各个命令对应首字符串分别进行匹配。
如果目标命令树对应的任一首字符串与目标字符串相同,说明该命令树可能解析待解析命令,该目标命令树为有效命令树;
如果目标命令树对应的任一首字符串均与目标字符串不同,说明该命令树不能解析待解析命令,该目标命令树为无效命令树;
具体的匹配过程参见本说明书中其他实施例,此处不再详述。
步骤506,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
当目标命令树为有效命令树时,继续将待解析命令包含的各个关键字与该目标命令树中和节点包含的关键字进行匹配。
匹配的具体过程参见本说明书其他实施例,不再详述。
在本说明书的一个示例性实施例中,关键字包括所述命令中包含的命令关键字,以及,对命令中包含的参数变量进行编码后得到的参数关键字。
在命令的关键字中,有时还包括了一些特殊参数,参数是可变的,例如字符串参数,地址参数,时间参数等。这些参数是变量,命令行程序在解析时,使用同一命令对其进行解析。
对应这些特殊参数变量关键字,可以进行编码,将其转化成固定的编码,方便在提取首字符时可以提取到相同的首字符。
可选的,可以使用命令关键字首字符中不会出现的字符进行编码,提取出的首字符不会与命令关键词提取出的首字符相同,可以降低重码率,进一步提高命令匹配的效率。
例如,可以使用不可见字符对参数变量进行编码,如使用ASCII码表中ASCII值为0,1,2,3的不可见字符分别表示字符串参数、地址参数、时间参数、整数范围参数等。
在本说明书的示例性实施例中,还提供了一种命令解析装置。请参见图6,图6是在本说明书实施方式的一种命令解析装置的框图。该装置应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;其特征在于,包括:
计算模块610,用于计算待解析命令包含的关键字的数量;
匹配模块620,用于将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
解析模块630,用于当所述数量处于与任一目标命令树对应的关键字数量范围之内,将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
在本说明书的示例性实施例中,还提供了一种命令解析装置。请参见图7,图7是在本说明书实施方式的一种命令解析装置的框图。该装置应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;其特征在于,包括:
提取模块710,用于计算待解析命令包含的关键字的数量;
匹配模块720,用于将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
解析模块730,用于当所述数量处于与任一目标命令树对应的关键字数量范围之内,将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本说明书的示例性实施例中,还提供了一种装置及其所应用的终端的实施例。
本说明书命令解析装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在命令解析的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书实施例命令解析装置所在计算机设备的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中装置831所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
在本说明书的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本说明书各种示例性实施例的步骤。
参考图9所示,描述了根据本说明书的实施例的用于实现上述方法的程序产品90,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本说明书的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本说明书的其他实施例。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由权利要求指出。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本说明书的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本说明书方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本说明书的精神和原理,但是应该理解,本说明书并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本说明书旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (9)

1.一种命令解析方法,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;所述命令行程序还维护了与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;其特征在于,所述方法包括:
计算待解析命令包含的关键字的数量;
将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
当所述数量处于与任一目标命令树对应的关键字数量范围之内,提取所述待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
将所述目标字符串与所述目标命令树中的各个命令对应的首字符串分别进行匹配;
当所述目标字符串与所维护的与所述目标命令树中的各个命令中的任一命令对应的首字符串匹配时,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
2.根据权利要求1所述的方法,其特征在于,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的最小数量和最大数量对应的数值区间。
3.根据权利要求1所述的方法,其特征在于,所述关键字数量范围,存储在对应的命令树中的根节点中。
4.根据权利要求1所述的方法,所述计算待解析命令包含的关键字的数量,其特征在于,包括:
将待解析的命令,按分隔符拆分为若干关键字;
统计拆分出的关键字的数量。
5.根据权利要求1所述的方法,其特征在于,所述关键字包括所述命令中包含的命令关键字,以及,对命令中包含的参数变量进行编码后得到的参数关键字。
6.根据权利要求5所述的方法,其特征在于,所述命令关键字包括由可见字符构成的关键字;所述参数关键字包括由不可见字符构成的关键字。
7.一种命令解析装置,应用于命令行程序,所述命令行程序维护了用于解析命令的多个命令树;以及与所述多个命令树分别对应的关键字数量范围;其中,所述关键字数量范围表示所述命令树中的各个命令所包含的关键字的数量对应的数值范围;所述命令行程序还维护了与所述多个命令树中的各个命令对应的首字符串;与命令树中的命令对应的首字符串包括,该命令在该命令树上对应的若干节点中包含的关键字的首字符拼接成的字符串;其特征在于,包括:
计算模块,计算待解析命令包含的关键字的数量;
匹配模块,将所述数量与所述多个命令树对应的关键字数量范围分别进行匹配;
解析模块,当所述数量处于与任一目标命令树对应的关键字数量范围之内,提取所述待解析命令包含的各个关键字的首字符,并将所述首字符拼接成目标字符串;
将所述目标字符串与所述目标命令树中的各个命令对应的首字符串分别进行匹配;
当所述目标字符串与所维护的与所述目标命令树中的各个命令中的任一命令对应的首字符串匹配时,进一步将该待解析命令包含的关键字,与所述目标命令树中的各节点包含的关键字进行匹配,以完成针对该待解析命令的解析。
8.一种计算机可读存储介质,其特征在于,其上存储有命令行程序,该命令行程序执行时实现如权利要求1-6中任一项所述方法的步骤。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的方法。
CN202111094758.2A 2021-09-17 2021-09-17 命令解析方法、装置、存储介质和计算机设备 Active CN113821211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111094758.2A CN113821211B (zh) 2021-09-17 2021-09-17 命令解析方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111094758.2A CN113821211B (zh) 2021-09-17 2021-09-17 命令解析方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN113821211A CN113821211A (zh) 2021-12-21
CN113821211B true CN113821211B (zh) 2023-06-27

Family

ID=78914807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111094758.2A Active CN113821211B (zh) 2021-09-17 2021-09-17 命令解析方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN113821211B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048913A (zh) * 2022-07-01 2022-09-13 联想(北京)有限公司 一种命令处理方法、装置和电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336770A (zh) * 2000-09-15 2002-02-20 深圳市中兴通讯股份有限公司 路由器操作维护与配置命令的命令存储和命令解释方法
CN1490977A (zh) * 2002-10-17 2004-04-21 华为技术有限公司 通用路由平台命令行的解析方法
US7219339B1 (en) * 2002-10-29 2007-05-15 Cisco Technology, Inc. Method and apparatus for parsing and generating configuration commands for network devices using a grammar-based framework
CN1967528A (zh) * 2006-04-21 2007-05-23 华为技术有限公司 基于关键字进行数据匹配查询的方法
CN101079737A (zh) * 2007-06-08 2007-11-28 中兴通讯股份有限公司 一种命令行接口命令的自动构造与解析方法及其系统
CN101179799A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 命令识别方法及装置
CN102411617A (zh) * 2011-10-31 2012-04-11 北京锐安科技有限公司 一种对海量url进行存储和查询方法
CN102902547A (zh) * 2012-10-18 2013-01-30 上海师范大学 一种命令行接口的命令构造与解析方法
CN107590258A (zh) * 2017-09-20 2018-01-16 杭州安恒信息技术有限公司 关键字匹配方法及装置
CN110166277A (zh) * 2019-04-09 2019-08-23 广州市高科通信技术股份有限公司 一种命令行命令树构建方法和命令行动态加载的方法
CN113001538A (zh) * 2019-12-20 2021-06-22 合肥欣奕华智能机器有限公司 一种命令解析方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336770A (zh) * 2000-09-15 2002-02-20 深圳市中兴通讯股份有限公司 路由器操作维护与配置命令的命令存储和命令解释方法
CN1490977A (zh) * 2002-10-17 2004-04-21 华为技术有限公司 通用路由平台命令行的解析方法
US7219339B1 (en) * 2002-10-29 2007-05-15 Cisco Technology, Inc. Method and apparatus for parsing and generating configuration commands for network devices using a grammar-based framework
CN1967528A (zh) * 2006-04-21 2007-05-23 华为技术有限公司 基于关键字进行数据匹配查询的方法
CN101079737A (zh) * 2007-06-08 2007-11-28 中兴通讯股份有限公司 一种命令行接口命令的自动构造与解析方法及其系统
CN101179799A (zh) * 2007-12-13 2008-05-14 华为技术有限公司 命令识别方法及装置
CN102411617A (zh) * 2011-10-31 2012-04-11 北京锐安科技有限公司 一种对海量url进行存储和查询方法
CN102902547A (zh) * 2012-10-18 2013-01-30 上海师范大学 一种命令行接口的命令构造与解析方法
CN107590258A (zh) * 2017-09-20 2018-01-16 杭州安恒信息技术有限公司 关键字匹配方法及装置
CN110166277A (zh) * 2019-04-09 2019-08-23 广州市高科通信技术股份有限公司 一种命令行命令树构建方法和命令行动态加载的方法
CN113001538A (zh) * 2019-12-20 2021-06-22 合肥欣奕华智能机器有限公司 一种命令解析方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Extensible Command Parsing Method for Network Device;Ning Li等;《2016 10th International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS)》;1-6 *
交换机网络管理系统研究与实现;曾干;《中国优秀硕士学位论文全文数据库》(第S1期);I136-225 *

Also Published As

Publication number Publication date
CN113821211A (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
US11146286B2 (en) Compression of JavaScript object notation data using structure information
US11334692B2 (en) Extracting a knowledge graph from program source code
US10755048B2 (en) Artificial intelligence based method and apparatus for segmenting sentence
CN111190594B (zh) Vue组件的文档生成方法及装置
CN110750993A (zh) 分词方法及分词器、命名实体识别方法及系统
CN111249736B (zh) 代码处理方法及装置
US20230078918A1 (en) Devices and methods for efficient execution of rules using pre-compiled directed acyclic graphs
CN113821211B (zh) 命令解析方法、装置、存储介质和计算机设备
CN113961768A (zh) 敏感词检测方法、装置、计算机设备和存储介质
US20030046055A1 (en) Method and apparatus for factoring unambiguous finite state transducers
CN110795069A (zh) 代码分析方法、智能终端及计算机可读存储介质
US9166619B2 (en) Method and system for pattern-based compression
CN113656763A (zh) 确定小程序特征向量的方法、装置和电子设备
CN117940894A (zh) 用于检测代码克隆的系统和方法
CN115221061B (zh) 测试代码生成方法、装置、存储介质及电子设备
CN111159370A (zh) 一种短会话新问题生成方法、存储介质和人机交互装置
CN115576603A (zh) 一种获取代码片段中的变量值的方法及装置
CN115132186A (zh) 端到端语音识别模型训练方法、语音解码方法及相关装置
CN115146070A (zh) 键值生成方法、知识图谱生成方法、装置、设备及介质
US20180203748A1 (en) Validation and parsing performance using subtree caching
CN110929085B (zh) 基于元语义分解的电力客服留言生成模型样本处理系统及方法
KR20230065017A (ko) 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법
CN112988778A (zh) 一种处理数据库查询脚本的方法和装置
WO2020049622A1 (ja) 情報処理装置、分析システム、分析方法及び分析プログラムが格納された非一時的なコンピュータ可読媒体
US20020198702A1 (en) Method and apparatus for factoring finite state transducers with unknown symbols

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant