CN113645070B - 网络设备操作执行方法、装置、计算机设备及存储介质 - Google Patents
网络设备操作执行方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113645070B CN113645070B CN202110912102.0A CN202110912102A CN113645070B CN 113645070 B CN113645070 B CN 113645070B CN 202110912102 A CN202110912102 A CN 202110912102A CN 113645070 B CN113645070 B CN 113645070B
- Authority
- CN
- China
- Prior art keywords
- command
- character
- echoed
- equipment
- logic
- 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/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- 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/0876—Aspects of the degree of configuration automation
-
- 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/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文涉及信息安全技术领域,可用于金融领域,提供网络设备操作执行方法、装置、计算机设备及存储介质,方法包括:获取用户输入的命令并将所述命令分类;根据命令对应的至少一个设备确定设备的至少一个结束字符,结束字符用于判断命令是否执行完毕;逐行执行命令并获取每条命令的回显字符;根据命令获取判断逻辑,判断逻辑对应不同的命令具有不同的预期字符;根据命令的预期字符及所述判断逻辑,判断命令是否成功执行;若成功执行命令,存储该命令及回显字符;若执行命令异常,重试上述步骤。本文技术方案可以自动兼容多种异构网络的新厂商型号,且能通过自动学习自动生成判断逻辑,针对设备指令的交互回显实现自动化的网络配置变更。
Description
技术领域
本文涉及信息安全技术领域,可用于金融领域,尤其是一种网络设备操作执行方法、装置、计算机设备及存储介质。
背景技术
随着通信技术和互联网业务的快速发展,网络规模越发庞大、异构型网络层出不穷,各种异构型网络对应的厂商型号也日趋复杂。与此同时,业务的快速发展对网络基础设施的支撑提出了较高的要求,同时引起网络基础设施频繁的配置变更。
现有技术中通常使用模拟人机交互的软件脚本实现网络设备自动配置变更,但随着异构网络复杂性的增加,需要开发人员不断根据网络现状调整代码适配,需要投入大量的人员精力,缺少自动学习兼容新增厂商型号的机制,无法进一步保证安全稳定的配置下发。
针对异构型网络配置变更的问题,迫切需要一种自学习网络设备操作执行方法,可以自动兼容多种异构网络的新厂商型号,且能通过自动学习机制生成判断逻辑,针对设备指令的交互回显实现及时停止、重试,提高操作执行的效率,实现自动化、智能化的网络配置变更,具有较好的普适性和推广性。
发明内容
为解决上述现有技术的问题,本文实施例提供了一种网络设备操作执行方法、装置、计算机设备及存储介质,解决了现有技术中缺少自动学习兼容异构型网络中新增厂商型号不同结束字符的机制以及当执行命令发生异常时,无法直接中断命令的问题。本文实施例提供了一种网络设备操作执行方法,包括:
获取用户输入的命令并将所述命令分类;
根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符,所述结束字符用于判断所述命令是否执行完毕;
逐行执行所述命令并获取每条命令的回显;
根据所述命令获取判断逻辑,所述判断逻辑对应不同的命令并具有不同的预期字符;
根据所述每条命令的回显及所述判断逻辑,判断所述命令是否成功执行;
若成功执行所述命令,存储所述命令及所述回显;
若执行所述命令异常,重试上述步骤。
根据本文实施例的一个方面,所述将所述命令分类进一步包括,将所述命令分为判断逻辑命令、注释命令、登陆设备命令、执行命令。
根据本文实施例的一个方面,所述根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符进一步包括:
根据所述设备的厂商型号信息判断所述设备是否为新增设备;
若所述设备为非新增设备,获取所述结束字符;
若所述设备为新增设备,通过自动学习获取所述命令结束字符。
根据本文实施例的一个方面,所述若所述设备为非新增设备,获取所述结束字符进一步包括:
从登陆设备命令中获取所述非新增设备的互联网协议地址IP信息;
从设备资产存储装置中获取所述设备对应的厂家型号信息;
根据所述厂家型号信息,从厂商信息存储装置中获取所述命令结束符。
根据本文实施例的一个方面,若所述设备为新增设备,通过自动学习获取所述命令结束字符进一步包括:
获取所述新增设备的厂家型号信息;
根据所述厂家型号信息从厂家信息存储装置中确定所述新增设备是否对应新增厂家;
若所述新增设备对应非新增厂家,比较所述新增设备对应的命令与所述新增设备相同的厂家的命令执行记录的相似度,当所述相似度超过第一阈值,将所述执行记录中的结束字符作为所述新增设备的初始结束字符,所述执行记录包括命令和对应的回显字符;
若所述新增设备对应新增厂家,执行所述登陆设备命令,通过登陆设备命令的回显字符获取所述结束字符;
验证所述结束字符。
根据本文实施例的一个方面,所述逐行执行所示命令并获取每一条命令的回显字符进一步包括:
执行第一命令,获取第一回显字符,所述第一命令为登陆设备命令;
执行第二命令,获取第二回显字符,所述第二命令为逻辑判断命令;
执行第三命令,获取第三回显字符,所述第三命令为执行命令。
根据本文实施例的一个方面,所述根据所述命令的回显字符及所述判断逻辑,判断所述命令是否成功执行进一步包括:
当所述命令为所述第一命令,根据所述判断逻辑,正则判断所述第一回显字符是否匹配所述判断逻辑的所述第一预期字符;
若所述第一回显字符匹配所述第一预期字符,获取建议操作,所述建议操作包括终止或重试;
若所述第一回显字符无法匹配所述第一预期字符,表示所述命令成功执行。
根据本文实施例的一个方面,所述根据所述命令的回显字符及所述判断逻辑,判断所述命令是否成功执行:
当所述命令为所述第二命令,获取所述第二命令的上一条命令的回显字符,所述回显字符为第二回显字符;
根据所述判断逻辑,正则判断所述回显字符是否匹配所述判断逻辑,所述判断逻辑具有预期字符和非预期字符;
若所述第二回显字符匹配所述非预期字符,表示执行命令异常;
若所述第二回显字符不匹配所述非预期字符,正则判断所述第二回显字符是否匹配所述预期字符;
若所述第二回显字符匹配所述预期字符,表示成功执行所述命令;
若所述第二回显字符不匹配所述预期字符,表示执行命令异常。
根据本实施例的一个方面,所述根据所述回显字符及所述判断逻辑,判断所述命令是否成功执行进一步包括:
当所述命令为所述第三命令,根据所述判断逻辑,正则判断所述第三回显字符是否匹配所述判断逻辑的所述第三预期字符;
若所述第三回显字符匹配所述第三预期字符,获取建议操作,所述建议操作包括终止或重试;
若所述第三回显字符无法匹配所述第三预期字符,表示所述命令成功执行。
根据本实施例的一个方面,所述判断逻辑的所述第一预期字符包括以下中的任意一种:‘Authentication fail’,‘Login failed’,‘connect timed-out’,‘problemconnecting to’。
根据本实施例的一个方面,所述获取判断逻辑进一步包括逻辑语句推荐:
根据厂商型号信息对所述设备分类,将具有相同厂商型号信息的所述设备归为一类;
获取所述具有相同厂商型号信息的所述设备的执行记录,所述执行记录包括命令和所述命令对应的回显字符;
确定所述执行记录中相似度超过第二阈值的多个命令为一类相似命令,所述每类相似命令包括所述多个设备的多个命令及所述多个命令的多条回显;
正则判断所述每类相似命令是否匹配至少一个判断逻辑,并获取所述与每类相似命令匹配的多个判断逻辑;
根据推荐算法确定所述每类相似命令中的多条回显中的所有回显字符分别属于多个判断逻辑的概率值;
当所述所有回显字符分别属于所述多个判断逻辑的概率值超过第三阈值时,确定所述最大概率值对应的所述判断逻辑作为该类别相似命令的判断逻辑,所述判断逻辑为第一判断逻辑;
将所述回显字符恢复为多个行回显字符,正则匹配所述第一判断逻辑,获取匹配得到的对应多个行回显字符的多条匹配语句;
对所述多条匹配语句进行聚合;
对所述判断逻辑语句进行格式验证,确定判断逻辑推荐语句;
存储所述命令及所述判断逻辑推荐语句。
根据本文实施例的一个方面,所述重试步骤包括:
获取重试参数,所述重试参数包括重试次数上限、重试间隔;
重新执行当前命令,并获取回显,记录重试次数;
根据所述回显和判断逻辑判断所述命令是否成功执行。
本文实施例还提供了一种网络设备操作装置,包括:
第一获取单元,用于获取用户输入的命令;
结束字符确定单元,用于根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符,所述结束字符用于判断所述命令是否执行完毕;
第二获取单元,用于逐行执行所述命令并获取每条命令的回显;
判断逻辑获取单元,用于根据所述命令获取判断逻辑,所述判断逻辑对应不同的命令并具有不同的预期字符;
判断单元,用于根据所述命令的预期字符及所述判断逻辑,判断所述命令是否成功执行;
存储单元,用于当成功执行命令,存储所述命令及所述回显;
重试单元,用于当执行命令异常,重试上述步骤。
本文实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述网络设备操作执行方法。
本文实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述网络设备操作执行方法。
利用本文实施例,可以自动兼容多种异构网络的新厂商型号,且能通过自动学习自动生成判断逻辑,针对设备指令的交互回显实现及时停止、重试,实现自动化、智能化的网络配置变更。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本文实施例一种网络设备操作执行方法的网络结构示意图;
图2所示为本文实施例一种网络设备操作执行方法的流程图;
图3所示为本文实施例一种获取设备的结束字符的方法流程图;
图4所示为本文实施例另一种获取设备的结束字符的方法流程图;
图5所示为本文实施例一种判断命令是否成功执行的方法流程图;
图6所示为本文实施例另一种判断命令是否成功执行的方法流程图;
图7所示为本文实施例另一种判断命令是否成功执行的方法流程图;
图8所示为本文实施例一种推荐逻辑语句的方法流程图;
图9所示为本文实施例一种网络设备操作执行装置的结构示意图;
图10所示为本文实施例一种网络设备操作执行装置的具体结构示意图;
图11所示为本文实施例一种计算机设备的结构示意图。
附图符号说明:
101、服务器;
102、网络;
103、存储器;
1031、设备资产存储装置;
1032、厂商参数存储装置;
1033、判断逻辑存储装置;
1034、历史执行记录存储装置;
901、第一获取单元;
9011、分类模块;
902、结束字符确定单元;
9021、确定模块;
9022、自学习模块;
903、第二获取单元;
904、判断逻辑获取单元;
9041、判断逻辑推荐模块;
9042、判断逻辑验证模块;
9043、判断逻辑存储模块;
905、判断单元;
906、存储单元;
907、重试单元;
1102、计算机设备;
1104、处理器;
1106、存储器;
1108、驱动机构;
1110、输入/输出模块;
1112、输入设备;
1114、输出设备;
1116、呈现设备;
1118、图形用户接口;
1120、网络接口;
1122、通信链路;
1124、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
需要说明的是,本文的可视化值班应急处置交互方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本文的可视化值班应急处置交互方法和装置的应用领域不做限定。
如图1所示为本文实施例一种网络设备操作执行方法的网络结构示意图,在本图中描述了通过服务器101、网络102、存储器103相结合的一种网络设备操作执行方法。其中,服务器101、网络102、存储器103之间可以进行数据交互。
在本说明书一些实施例中,服务器101可以为具有网络交互功能的电子设备,也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软件。其中,服务器101在业务运行过程中接收来自用户输入的指令,所述指令包括但不限于软件脚本、代码等中的至少一种。服务器101还用于逐行执行接收到的指令,并根据设备的结束字符判断命令是否执行完毕,再通过每条命令的回显,判断命令是否执行成功。服务器101与存储器103可以通过网络102连接,即,服务器101与存储器103中的多个存储装置通过网络102连接。服务器101包括但不限于个人计算机、笔记本电脑、台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设等电子设备,也包括浏览器、应用程序等软件。
在本说明书一些实施例中,网络102可以促进信息和/或数据的交换。在一些实施例中,存储器103中的至少一个组件(例如,设备资产存储装置1031等)可以经由网络102将信息和/或数据发送到其他组件。例如,存储器103可以通过网络102从服务器101获取命令对应的设备IP等信息。
在一些实施例中,网络102可以为任意形式的有线或无线网络,或其任意组合。仅作为实例,网络102可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或其任意组合。在一些实施例中,网络102可以包括至少一个网络接入点。例如,网络102可以包括有线或无线网络接入点,如基站和/或互联网交换点,通过这些网络接入点,存储器103中的至少一个部件可以连接到网络102以交换数据和/或信息。
在本说明书一些实施例中,存储器103可与网络102连接以与网络设备操作执行系统的一个或多个组件(例如,服务器101)通讯。网络设备操作执行系统的一个或多个组件可通过网络102访问存储于存储器103中的资料或指令。在一些实施例中,存储器103包括至少一种存储装置,所述存储装置可以用于存储设备的结束字符、命令的回显字。所述存储器包括设备资产存储装置1031、厂商参数存储装置1032、判断逻辑存储装置1033、历史执行记录存储装置1034等。其中,设备资产存储装置1031用于存储设备对应的登陆设备的用户信息、登陆密码、设备的厂商型号等信息;厂商参数存储装置1032用于存储厂商型号对应的结束字符;判断逻辑存储装置1033用于存储对应不同命令的判断逻辑;历史执行记录存储装置1034用于存储在过去一段时间内执行的命令及返回的回显。在一些实施例中,存储器103可以直接与网络设备操作执行系统中的一个或多个组件(如,服务器101)连接或通讯。在一些实施例中,存储器103可以是服务器101的一部分。在本说明书一些实施例中,存储器103可以存储所有用户输入的命令;存储器103可以存储执行命令后的回显;存储器103可以存储自动学习的结束字符。存储器103还可以存储系统推荐的判断逻辑语句。
如图2所示为本文实施例一种网络设备操作执行方法的流程图,在本图中描述了利用设备对应的结束字符判断命令是否执行完毕;利用判断逻辑判断命令是否执行成功的流程方法,其中具体包括如下步骤:
步骤201,获取用户输入的命令并将所述命令分类;
步骤202,根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符,所述结束字符用于判断所述命令是否执行完毕;
步骤203,逐行执行所述命令并获取每条命令的回显;
步骤204,根据所述命令获取判断逻辑,所述判断逻辑对应不同的命令并具有不同的预期字符;
步骤205,根据所述命令的回显及所述判断逻辑,判断所述命令是否成功执行;
步骤206,若成功执行所述命令,存储所述命令及回显;
步骤207,若执行所述命令异常,重试上述步骤。
在本说明书一些实施例中,服务器获取用户输入的命令包括用户一次性输入的软件脚本、字符串集合、命令集合等。命令集合一般可以对应多个设备。其中,所述至少一条命令对应至少一个设备,由至少一个设备执行。所述命令包括具有一条及以上具有不同功能的命令。其中,具有不同功能的命令的形式有所不同。在本说明书一些实施例中,根据命令的不同功能或形式差别,对命令进行分类。
在本说明书一些实施例中,判断逻辑是系统预先存储的用于判断每一条命令是否执行异常的逻辑语句,每个判断逻辑可以与一条/一类命令匹配,每个判断逻辑自身对应有至少一个匹配语句,该匹配语句包括字符、字符串等中的一种或其任意组合。在实际操作过程中,执行每一条命令后可以获取每条命令返回的回显,所述回显中包括回显字符、回显字符串等中的一种或其任意组合。根据执行每一条指令后返回的回显,以及判断逻辑自身对应的匹配语句,可以确定回显是否与匹配语句相匹配,进一步确定执行命令是否异常。本方法可以自动兼容多种异构网络的新厂商型号,且能通过自动学习自动生成判断逻辑,针对设备指令的交互回显实现及时停止、重试,实现自动化、智能化的网络配置变更。
作为本文的一个实施例,将所述命令分类进一步包括,将所述命令分为判断逻辑命令、注释命令、登陆设备命令、执行命令。
在本步骤中,服务器可以根据系统预设的规则(包括但不限于:命令的功能、命令的字符形式等)对用户输入的命令分为至少两类。所述命令中包括多个判断逻辑命令、注释命令、登陆设备命令和执行命令。所述判断逻辑命令、注释命令、登陆设备命令和执行命令可以分别对应多个设备,也即:服务器对所述命令分类包括:将一个命令集中的所有命令分为判断逻辑命令、注释命令、登陆设备命令、执行命令;也包括将命令集中的所有命令按照多个设备,分别分为每个设备对应的判断逻辑命令、注释命令、登陆设备命令及执行命令。
在本说明书一些实施例中,注释命令为以单个字符“//”开头的命令,注释命令用于解释命令的含义,无需执行。例如,“//如自动化执行失败则需要改人工方式操作”为一条无需执行的注释命令。
在本说明书一些实施例中,登陆设备命令为服务器登陆某一台设备的命令,通常为以“shh”字符开头的指令,例如,“ssh 8.9.35.5”为登陆某IP地址为8.9.35.5的设备的登录命令。
在本说明书一些实施例中,判断逻辑命令为用于判断当前命令是否执行正确的命令。其中,判断逻辑命令通常为以“//”字符开头,且当前行存在两个“//”字符。判断逻辑可以解读为“//预期字符//非预期字符”。其中,预期字符为系统预期/期望出现的字符,非预期字符为系统并不期望出现的字符。根据判断逻辑对应的回显中出现预期字符的结果,可以确定该回显中出现了系统期望出现的字符,进一步说明该回显对应的命令执行正确;根据判断逻辑对应的回显中出现非预期字符的结果,可以确定该回显中出现了系统不期望出现的字符,进一步说明该回显对应的命令执行异常/执行错误。在本说明书一些实施例中,可以将设备编号作为一条判断逻辑的预期字符,用于判断一条登录命令是否登陆了正确的设备。例如,“//devnameSW01//”为判断是否成功登陆SW01设备的判断逻辑,该判断逻辑将正确的设备名称SW01作为预期字符,作为判断逻辑。当系统执行到“//devnameSW01//”判断逻辑后,获取上一条命令的回显,若回显内容中的最后几个有效字符为“SW01”,可以确定该登陆设备命令登陆到了SW01设备,该命令执行成功。若回显内容的最后几个有效字符中没有“SW01”,可以确定该登陆设备命令没有登陆到SW01设备,该命令执行失败。
在说明书一些实施例中,判断逻辑命令中的字符“//”也可以由其他字符替代表示,例如“#”、“*”、“$”等,本发明在此对判断逻辑中开头的字符作限定。
在本说明书一些实施例中,执行命令包括多种类别的执行命令,以下面的伪代码对执行命令举例:执行命令“conf t”表示执行“进入配置”命令;“p access-listaclName”,表示执行进入某厂家ACL配置命令;“1permit ip 1.1.1.0/24 2.2.2/32”表示对某厂家执行ACL明细配置命令;“Exit”表示执行退出当前命令;“resequence ip access-list aclName 10 10”表示对某厂家的ACL条目执行重排序。
作为本文的一个实施例,所述根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符进一步包括:根据所述设备的厂商型号信息判断所述设备是否为新增设备;若所述设备为非新增设备,获取所述结束字符;若所述设备为新增设备,通过自动学习获取所述命令结束字符。
在本步骤中,通过判断命令对应的设备是否为新增设备,获取所述设备的结束字符。在本说明书一些实施例中,结束字符为:每条执行命令执行结束后,设备自动返回的回显中显示在最后一行的一个或多个有效字符。例如,某一个设备的执行记录如下:
NetSt@devnameSW01>show system users
node0:
---------------------------------------------------------------------
{primary:node0}
NetSt@devnameSW01>edit
Warning:Clustering enabled;using private edit
Warning:uncommitted changes will be discussed on exit
Entering configuration mode
{primary:node0}[edit]
NetSt@devnameSW01#
其中,命令“sh system users”执行结束的等待字符为“>”,命令“edit”执行结束的等待字符为“#”。
在本说明书一些实施例中,一个设备可能只有一种结束字符。在本说明书另外一些实施例中,对应不同类型的命令,一个设备可能具有不同的结束字符。
在本步骤中,当判断所述设备为已有设备,可以直接根据所述设备的登录命令中的设备的IP信息,从设备资产存储装置中获取所述设备对应的厂家型号信息。当判断所述设备为新增设备,通过自动学习获取命令结束符。其中,服务器可以进一步根据所述新增设备的厂商型号信息,确定所述新增设备的厂商是否为非新增厂商或新增厂商。当确定所述新增设备的厂商为非新增厂商,可以根据所述非新增厂商的已有的执行记录确定该新增设备的初始结束字符;当确定所述新增设备的厂商为新增厂商,则执行自动学习,最终获取该新增设备的初始结束字符。
作为本文的一个实施例,所述若所述设备为非新增设备,获取所述结束字符进一步包括:从登陆设备命令中获取所述非新增设备的互联网协议地址(IP)信息,从设备资产存储装置中获取所述设备对应的厂家型号信息;根据所述厂家型号信息,从厂商信息存储装置中获取所述命令结束符。
本步骤中所述的非新增设备属于已由系统纳管的设备,该设备的设备信息已由系统预先存储在存储器103(例如,设备资产存储装置1031)中;该设备对应的结束字符及历史的命令执行记录存储在存储器103(例如,厂商参数存储装置1032)中。具体的,服务器101根据获取的用户输入的命令中的登陆设备命令中获取设备的IP信息,例如从设备登录命令“ssh 8.9.35.5”中待登陆的设备的IP信息为“8.9.35.5”。从存储器103中确定该IP为系统已有设备(即,非新增设备),则服务器101可以直接从设备资产库中获取该设备对应的厂家型号(例如,思科S2800型号),并根据该设备的厂家型号进一步从存储器103(例如,厂商参数存储装置1032)中获取该厂商对应的命令结束符。其中,厂商信息存储装置1032中存储的厂商信号及对应的命令结束符可以是表格等形式。
在本说明书的一些实施例中,一个设备对应一个厂家型号,一个厂家型号可以对应一种命令结束符,也可以针对不同命令分别对应多个不同的命令结束符。相对应地,存储器中可以存储一种设备对应的一种厂家型号、一个厂家型号对应的一种命令结束符、一个厂家型号对应的多个命令结束符。本说明书在此对不同厂家、同一厂家的命令结束符不作限制。
作为本文的一个实施例,若所述命令对应新增设备,通过自动学习获取所述命令结束字符进一步包括:获取所述新增设备的厂家型号信息;根据所述厂家型号信息从厂家信息存储装置中确定所述新增设备是否对应新增厂家;若所述新增设备对应非新增厂家,比较所述新增设备对应的命令与所述新增设备相同的厂家的命令执行记录的相似度,当所述相似度超过第一阈值,将所述执行记录中的结束字符作为所述新增设备的初始结束字符,所述执行记录包括命令和对应的回显字符;若所述新增设备对应新增厂家,执行所述登陆设备命令,通过登陆设备命令的回显字符获取所述结束字符;验证所述结束字符。
本步骤中所述的新增设备属于未经系统纳管的设备,系统中没有存储该新增设备的相关信息。因此,无法直接通过从存储器中获取设备的结束字符确定命令结束字符。在本说明书的一些实施例中,相同厂家型号具有相同的命令结束符的概率较大,因此本步骤可以进一步确定所述新增设备的厂家型号,根据存储器中已有的厂家型号与所述新增设备的厂家型号相同的结果,将已有厂家型号的命令结束符作为新增设备的初始命令接输入。如果存储器中没有存储与所述新增设备的厂家型号相同的厂家信号,通过自学习确定新增设备的命令结束符。
作为本文的一个实施例,执行第一命令,获取第一回显字符,所述第一命令为登陆设备命令;执行第二命令,获取第二回显字符,所述第二命令为逻辑判断命令;执行第三命令,获取第三回显字符,所述第三命令为执行命令。
在本说明书前述步骤中,用户输入的命令可以分为判断逻辑命令、注释命令、登陆设备命令和执行命令。系统在获取得到用户输入的命令时,按照命令顺序逐行执行命令。其中第一命令为登陆设备命令、第二命令为逻辑判断命令、第三命令为执行命令。其中,第一命令、第二命令、第三命令的执行顺序并不完全按照第一、第二、第三的顺序执行,而是按照用户输入的软件脚本中的命令写入顺序执行。本说明书为了方便阐述的目的,将登陆设备命令、逻辑判断命令和执行命令以第一命令、第二命令、第三命令的形式描述。
作为本文的一个实施例,所述根据所述命令的回显字符及所述判断逻辑,判断所述命令是否成功执行进一步包括:当所述命令为所述第一命令,根据所述判断逻辑,正则判断所述第一回显字符是否匹配所述判断逻辑的所述第一预期字符;若所述第一回显字符匹配所述第一预期字符,获取建议操作,所述建议操作包括终止或重试;若所述第一回显字符无法匹配所述第一预期字符,表示所述命令成功执行。
在本说明书一些实施例中,第一命令为登陆设备命令。在本步骤中,判断逻辑用于判断服务器当前执行的命令是否执行正确,所述判断逻辑可以与当前命令一一对应。每个判断逻辑有与之对应的至少一个匹配语句,所述匹配语句包括异常匹配语句或非异常匹配语句,所述判断逻辑语句及其匹配语句都可以预先存储在存储器中。具体的,服务器在获取命令后通过正则判断,判断当前执行的命令行是否与判断逻辑存储装置中的多个判断逻辑中的至少一个匹配。如果当前命令行能与其中一个判断逻辑匹配,则获取所述判断逻辑的匹配语句,进一步将所述命令行的回显字符与所述匹配语句匹配。在本步骤中,如果所述命令行的回显字符串与所述判断逻辑的异常匹配语句匹配,则确定该命令执行正异常;如果所述命令行的回显字符与所述判断逻辑的非异常匹配语句匹配,则确定该命令执行正确。
作为本文的一个实施例,所述根据所述命令的回显字符及所述判断逻辑,判断所述命令是否成功执行:当所述命令为所述第二命令,获取所述第二命令的上一条命令的回显字符,所述回显字符为第二回显字符;根据所述判断逻辑,正则判断所述回显字符是否匹配所述判断逻辑,所述判断逻辑具有预期字符和非预期字符;若所述第二回显字符匹配所述非预期字符,表示执行命令异常;若所述第二回显字符不匹配所述非预期字符,正则判断所述回显字符是否匹配所述预期字符;若所述第二回显字符匹配所述预期字符,表示成功执行所述命令;若所述第二回显字符不匹配所述预期字符,表示执行命令异常。
在本说明书一些实施例中,第二命令为判断逻辑命令,通过将上一条命令回显与判断逻辑命令的预期和非预期字符比较,判断命令是否异常。
作为本文的一个实施例,所述根据所述回显字符及所述判断逻辑,判断所述命令是否成功执行进一步包括:当所述命令为所述第三命令,根据所述判断逻辑,正则判断所述第三回显字符是否匹配所述判断逻辑的所述第三预期字符;若所述第三回显字符匹配所述第三预期字符,获取建议操作,所述建议操作包括终止或重试;若所述第三回显字符无法匹配所述第三预期字符,表示所述命令成功执行。
在本说明书一些实施例中,第三命令为执行命令,通过将第三命令的回显与判断逻辑命令的预期字符和非预期字符比较,判断所述执行命令是否异常。
作为本文的一个实施例,所述判断逻辑的所述第一预期字符包括以下中的任意一种:‘Authentication fail’,‘Login failed’,‘connect timed-out’,‘problemconnecting to’。
在本步骤中,所述判断逻辑的第一预期字符用于判断登陆设备命令的回显字符是否异常。其中,判断逻辑的所述第一预期字符均为异常预期字符,用于在匹配登陆设备命令的回显字符时,判断所述回显字符是否与异常预期字符匹配。若判断所述登陆设备命令的回显字符与所述第一预期字符匹配,则确定所述登陆设备命令执行异常;若判断所述登陆设备命令的回显字符与所述第一预期字符中的任意一种字符不匹配,则确定所述登陆设备命令执行无异常,所述登陆设备命令执行成功。
例如,某登陆设备命令为“ssh 8.9.35.5”,该登陆设备命令的回显为“Loginsuccesed”,与判断逻辑的所述第一预期字符的异常预期字符无法匹配,则可以确定所述登陆设备命令执行正常。又例如,某登陆设备命令为“ssh 8.9.35.5”,该登陆设备命令的回显为“Login failed”,与判断逻辑的所述第一预期字符匹配得上,则可以确定所述登陆设备命令执行异常。
作为本文的一个实施例,所述获取判断逻辑进一步包括逻辑语句推荐:
根据厂商型号信息对所述设备分类,将具有相同厂商型号信息的所述设备归为一类;
获取所述具有相同厂商型号信息的所述设备的执行记录,所述执行记录包括命令和所述命令对应的回显字符;
确定所述执行记录中相似度超过第二阈值的多个命令为一类相似命令,所述每类相似命令包括所述多个设备的多个命令及所述多个命令的多条回显;
正则判断所述每类相似命令是否匹配至少一个判断逻辑,并获取所述与每类相似命令匹配的多个判断逻辑;
根据推荐算法确定所述每类相似命令中的多条回显中的所有回显字符分别属于多个判断逻辑的概率值;
当所述所有回显字符属于分别所述多个判断逻辑的概率值超过第三阈值时,确定所述最大概率值对应的所述判断逻辑作为该类别相似命令的判断逻辑,所述判断逻辑为第一判断逻辑;
将所述回显字符恢复为多个行回显字符,正则匹配所述第一判断逻辑,获取匹配得到的对应多个行回显字符的多条匹配语句;
对所述多条匹配语句进行聚合;对所述判断逻辑语句进行格式验证,确定判断逻辑推荐语句;
存储所述命令及所述判断逻辑推荐语句。
在本步骤中,判断逻辑推荐用于对用户输入的命令进行判断逻辑的推荐和补充,以便更好地检查每一条命令的执行正常/异常情况。具体为:首先根据专家经验提供的基础数据得到初始判断逻辑,进一步通过学习将通过验证的判断逻辑写入系统存储的判断逻辑存储装置,作为新的判断逻辑。本步骤的具体描述参见图8及其相关描述。
作为本文的一个实施例,所述重试步骤包括:
获取重试参数,所述重试参数包括重试次数上限、重试间隔;
重新执行当前命令,并获取回显,记录重试次数;
根据所述回显和判断逻辑判断所述命令是否成功执行。
在本步骤中,当重试次数超过上限,则不再进行重试步骤。重试次数可以由系统预先设定,也可以根据业务实际情况调整。例如,重试次数为3次、5次、10次等。
在本步骤中,根据所述回显和判断逻辑判断所述命令是否成功执行的步骤可以参考图5-图7的具体内容。
如图3所示为本文实施例一种获取设备的结束字符的方法流程图。
在本说明书一些实施例中,命令的回显可以包括至少一个回显字符,所述回显字符包括但不限于字符串、字母、符号、数字、特殊字符等中的一种或其任意组合。所述回显字符中可能包含有效回显字符及无效回显字符等。命令的回显中的最后一行的最后一个或几个字符为该命令的结束字符。当执行命令后,设备返回的回显中出现所述结束字符,可以确定该命令执行结束。
系统通过获取每一个设备的结束字符,并与设备执行每一条命令后返回的回显进行比对,通过观察回显中有无出现所述结束字符的结果,确定设备的每一条指令是否执行完毕。如果执行命令返回的回显中没有出现结束字符,则继续等待,而不能直接执行下一条命令。在一般情况下,同一个厂家的同一个厂家型号具有一类命令结束符;同一个厂家型号的不同设备具有不同的命令结束符;同一种设备的不同的命令具有不同的命令结束符。
在本说明书一些实施例中,可以根据设备是否为新增设备确定获取其结束字符的方式。本图描述获取非新增设备的结束字符的具体方法。
步骤301,根据所述设备的厂商型号信息判断所述设备是否为新增设备。
在本说明书一些实施例中,因为不同厂商各自的设定,不同厂商的结束字符可能不同、相同厂商中不同厂商型号的结束字符不同。在本说明书另外一些实施例中,相同的厂商型号的不同的命令模式对应的结束字符也可能不同。例如,思科厂商通用的结束字符是“#”,西门子厂商通用的结束字符是“*”,又例如,思科S2600型号设备的结束字符是“#”,思科S3600型号设备的结束字符是“*”,再例如,思科S2600型号设备执行登陆设备命令的结束字符是“#”,思科S2600型号设备执行退出命令的结束字符是“]”。本说明书在此对不同厂商、不同厂商信号、相同厂商及相同厂商型号、相同厂商及相同厂商型号对应不同命令、相同命令的结束字符不作限定。
在本步骤中,可以根据设备是否为新增设备或非新增设备确定获取设备的至少一个结束字符的方式。
步骤302,若所述设备为非新增设备,根据从所述登陆设备命令中获取的所述非新增设备的IP信息,从设备资产存储装置中获取所述设备对应的厂家型号信息。
在本步骤中,如果所述命令对应的设备为非新增设备,即,所述设备已由系统纳管。所述设备的设备信息、对应的结束字符及历史命令执行记录都存储在存储器中。可以通过直接登陆设备获取该设备的结束字符。具体的,获取登陆设备命令中的设备IP,根据所述设备IP,从设备资产存储装置中获取登陆设备的用户、密码及厂商型号等信息。根据所述获取的厂商型号信息,从厂商参数存储装置中获取该设备对应的命令结束符。例如,从用户输入的软件脚本中获取一条登陆设备命令“ssh 8.9.35.5”,可以从该登陆设备命令中获取所述待登陆设备的IP地址为8.9.35.5,根据该设备的IP地址“8.9.35.5”,可以从系统的设备资产存储装置获取登陆该设备的用户编号、登陆密码及该设备的厂商型号为“思科S2800”。其中,上述用户编号、登陆密码和设备的厂商型号均为预先存储在设备资产存储装置中的内容,与设备IP一一对应。
步骤303,根据所述厂家型号信息,从厂商信息存储装置中获取所述命令结束符。
所述厂商参数存储装置中存储有多个厂商型号对应的至少一个结束字符、各厂商型号下对应不同命令的至少一个结束字符。在获取设备的厂家型号信息后,根据所述设备的厂商型号,从厂商参数存储装置中获取命令结束符。具体的,可以根据一个设备的厂商型号获取该厂商型号通用的一个命令结束符,或根据一个设备的厂商信号获取该厂商型号下至少一种命令对应的至少一个命令结束符。例如,步骤302中确定设备的厂商信号为“思科S2800”,步骤303中根据该型号从厂商参数存储装置中确定“思科S2800”型号对应的通用结束字符“#”,或确定“思科S2800”型号下每一类命令对应的所有命令结束符。
如图4所示为本文实施例另一种获取设备的结束字符的方法流程图。
本图描述当所述设备为新增设备时,获取新增设备的结束字符的情形。
步骤401,根据所述设备的厂商型号信息判断所述设备是否为新增设备。关于判断设备是否为新增设备的具体描述可以参见图3中的步骤310,通过获取设备登录命令中设备的IP,从设备资产存储装置中获取登陆设备的厂商型号信息判断所述设备是否为新增设备。例如从设备登录命令“ssh 8.9.37.7”中待登陆的设备的IP信息为“8.9.37.7”。从存储器103中无法查询到该设备IP,则可以确定系统中没有存储当前设备的信息,即,当前设备为新增设备,则服务器101无法直接从设备资产库中获取该设备对应的厂家型号,并进一步从存储器103中获取该厂商对应的命令结束符。
步骤402,若所述设备为新增设备,获取所述新增设备的厂家型号信息。
当确定所述设备为新增设备,在所述设备资产存储装置1031中获取写入的厂商型号,例如,所述新增设备的厂商信号为思科S9600、西门子X8600。
步骤403,根据所述厂家型号信息从厂家信息存储装置中判断所述新增设备是否对应新增厂家。
在本步骤及上述步骤中,厂商信息存储装置中预先存储与厂商对应的厂商型号信息。具体的,厂商信息存储装置中存储有各类厂商对应的多个厂商信号,所述存储的信息可以以表格形式保存。例如,厂商信息存储装置中存储有思科厂商对应已有的所有厂商型号。如表1所述:厂家“思科”有S10-S40系列的厂商型号;如表2所述:厂家“西门子”有X10-X40系列的厂商型号。
厂家名称 | 厂家型号 |
思科 | 思科S10系列(思科S1000-思科S1900) |
思科 | 思科S20系列(思科S2000-思科S2900) |
思科 | 思科S30系列(思科S3000-思科S3900) |
思科 | 思科S40系列(思科S4000-思科S4900) |
表1:思科厂家对应部分厂家型号
厂家名称 | 厂家型号 |
西门子 | 西门子X10系列(西门子X1000-西门子X1900) |
西门子 | 西门子X20系列(西门子X2000-西门子X2900) |
西门子 | 西门子X30系列(西门子X3000-西门子X3900) |
西门子 | 西门子X40系列(西门子X4000-西门子X4900) |
表2:西门子厂家对应部分厂家型号
步骤404,若所述新增设备对应非新增厂家,比较所述新增设备对应的命令与所述新增设备相同的厂家的命令执行记录的相似度,当所述相似度超过第一阈值,将所述执行记录中的结束字符作为所述新增设备的初始结束字符,所述执行记录包括命令和对应的回显字符。
在本步骤中,如所述新增设备的厂家为非新增厂家(即,系统已纳管厂家),则可以根据相似度算法,在该已纳管厂家的命令执行记录中获取与当前设备对应的命令相似度较高的执行记录。
例如,当前新增设备编号为SW09,其厂家型号为思科S5100,且该新增设备的厂家型号S5100是系统内没有存储的新增厂家型号。则可以获取与该新增设备SW09相同的思科厂家的所有命令的执行记录,从思科厂家所有命令执行记录中,根据相似度算法获取与当前新增设备SW09的命令相似度较高的命令,进一步获取相似度较高命令中成功执行的命令的回显中的结束字符。将所述结束字符作为当前新增设备SW09的初始结束字符,即,获取当前新增设备SW09的初始结束字符。其中,所述初始结束字符还需要进一步验证,以确定当前新增设备SW09的结束字符的准确性。
在本步骤中,计算相似度的算法包括但不限于皮尔逊相关系数(PersonCorrelation Coefficient)、欧几里得距离(Euclidean Distance)、Cosine相似度、Spearman秩相关系数、曼哈顿距离、对数似然相似度等中的一种或其任意组合,本申请在此不作限定。在本步骤中,命令相似度的第一阈值可以是由系统确定的数值,也可以是根据新增设备与非新增厂家的历史执行记录的比较情况实际调整的数值。例如,第一阈值为60%、70%、80%、90%、95%等。
步骤405,若所述新增设备对应新增厂家,执行所述登陆设备命令,通过登陆设备命令的回显字符获取所述结束字符。
当确定新增设备的厂家为新增厂家,即,系统中没有存储该设备的厂家信息。则通过执行设备登录命令“ssh x.x.x.x”,通过获取执行登录命令后的回显确定该设备的结束字符。例如,当新增设备为中兴设备,系统中没有存储关于中兴相关的厂家信息,因此通过直接执行登陆设备命令获取设备的结束字符。此步骤为结束字符的自学习步骤。
在本步骤中,系统除了执行登陆设备命令,还可以执行其他执行命令,通过获取执行命令的回显确定该设备的结束字符。
步骤406,验证所述结束字符。其中,对于已纳管设备根据系统中已存储的相似命令的结束字符作为初始字符,获取该设备执行登录命令的回显字符,根据回显字符中最后至少一个有效字符,确定所述初始字符与所述有效字符是否一致。如果一致,则结束字符验证成功,如果不一致,则结束字符验证失败,退出当前流程。在本步骤中,验证结束字符进一步包括人工复核,并将复核确认后的结束字符保存至存储器103(例如,厂商参数存储装置1032)中。
图5所示为本文实施例一种判断命令是否成功执行的方法流程图。
步骤501,当所述命令为所述第一命令,根据判断逻辑,正则判断所述第一回显字符是否匹配所述判断逻辑的第一预期字符。
在本步骤中,第一命令为登陆设备命令,第一命令的回显字符为登陆设备命令的回显字符。判断逻辑是存储在系统判断逻辑存储装置中的已有的判断逻辑。其中,每一条执行的命令对应一个判断逻辑。每个判断逻辑具有与之对应的至少一个匹配语句,所述匹配语句中包括第一预期字符,所述预期字符可以是至少一个字符串。在本步骤中,第一命令的判断逻辑使用异常回显作为第一预期字符。具体的,第一预期字符包括Authenticationfail、Login failed、connect timed-out、problem connecting to等回显字符中的一个或其任意组合。
在本说明书一些实施例中,服务器执行设备登录命令,首先使用正则判断,判断当前的设备登录命令是否与判断逻辑存储装置中的多个判断逻辑中的一个判断逻辑匹配,进一步通过执行设备登录命令后返回的回显,与判断逻辑的第一预期字符匹配。
例如,登陆设备命令为:“ssh 8.10.23.22”,同时从判断逻辑装置中获取对应的“ssh......”相关的判断逻辑,并获取该判断逻辑的第一预期字符。所述登陆设备命令的回显为“Login failed”,与该判断逻辑的第一预期字符匹配,则确定该登陆设备命令执行异常。在本说明书一些实施例中,正则表达式用于检测一个字符串是否含有某一种子字符串、将匹配的子串替换或从某个字符串中提取符合某个条件的子字符串中。使用正则表达式可以根据当前执行的命令,匹配至少一个相对应的判断逻辑。
步骤502,若所述第一回显字符匹配所述第一预期字符,获取建议操作,所述建议操作包括终止或重试。
所述命令的第一回显字符匹配所述第一预期字符,则确定所述命令行的回显异常,进一步确定所述登陆设备命令执行异常。根据所述登陆设备命令执行异常的情况,获取系统的建议操作,终止执行当前命令或重新执行上述命令。
步骤503,若所述第一回显字符无法匹配所述第一预期字符,表示所述命令成功执行。其中,所述命令的第一回显无法匹配判断逻辑的第一预期字符,表明所述登陆设备命令未匹配上判断逻辑的异常字符串,说明所述登陆设备命令执行正常,也即:所述命令执行成功。例如,登陆设备命令为:“ssh 8.10.23.22”,同时从判断逻辑装置中获取对应的“ssh......”相关的判断逻辑,并获取该判断逻辑的第一预期字符。所述登陆设备命令的回显为“Login Succeed”,与该判断逻辑中的任意一个第一预期字符不匹配,则确定该登陆设备命令并未落入判断逻辑的异常预期,进一步确定该设备登录命令执行成功。
图6所示为本文实施例另一种判断命令是否成功执行的方法流程图。
步骤601,当所述命令为所述第二命令,获取所述第二命令的上一条命令的回显字符,所述回显字符为第二回显字符。
在系统逐条执行用户输入的命令的过程中,若当前执行的命令为第二命令(即,判断逻辑命令),表示需要使用判断逻辑命令判断上一条命令是否执行成功。具体的,系统获取上一条命令及上一条命令的回显,通过判断逻辑对上一条命令及上一条命令的回显进行匹配。
步骤602,根据所述判断逻辑,正则判断所述第二回显字符是否匹配所述判断逻辑,所述判断逻辑具有预期字符和非预期字符。
如前文所述,第二命令(即,所述判断逻辑命令)通常为“//预期字符//非预期字符”的形式。在本步骤中,首先获取判断逻辑命令的预期字符和非预期字符,根据所述判断逻辑命令的结构,使用“//”拆分所述判断逻辑,例如:“//except//unexcept”,可以获取第一个有效字符串except为预期字符串,第二个有效字符串“uncxcept”为非预期字符串。其中,所述判断逻辑命令中可以包括空字符串,例如所述判断逻辑命令可以是“////unexcept”,说明该判断逻辑命令中的预期字符串为空。
步骤603,若所述第二回显字符匹配非预期字符,表示执行命令异常。
本步骤还包括判断所述判断逻辑命令中的非预期字符是否为空字符,如果所述预期字符不为空字符,则通过正则匹配,判断执行命令的回显是否匹配所述非预期字符串。如果所述回显匹配所述非预期字符串,说明命令的回显字符异常。
步骤604,若所述第二回显字符不匹配所述非预期字符,正则判断所述第二回显字符是否匹配所述预期字符。如果所述第二回显字符与所述非预期字符不匹配,说明该命令的回显字符正常,继续判断是否与预期字符匹配。
进一步的,判断所述判断逻辑的预期字符是否为空,如果所述预期字符不为空,正则匹配执行所述命令的回显是否匹配预期字符串。
步骤605,若所述第二回显字符匹配所述预期字符,表示成功执行所述命令;说明该命令的回显符合预期字符,该命令执行正常。
步骤606,若所述第二回显字符不匹配所述预期字符,说明该命令的回显不符合预期字符,表示执行命令异常。在本步骤中,判断逻辑的预期字符和非预期字符可以是系统预先设定的,也可以根据机器学习自动设定。
图7所示为本文实施例另一种判断命令是否成功执行的方法流程图。
步骤701,当所述命令为所述第三命令,根据所述判断逻辑,正则判断所述第三回显字符是否匹配所述判断逻辑的所述第三预期字符。
在本步骤中,所述第三命令为登陆设备命令之外的常规执行命令。使用正则判断,判断当前执行命令行是否匹配系统存储的某一类判断逻辑,如果当前执行命令可以匹配某一判断逻辑,定位到所述匹配的判断逻辑的规则行,并获取该规则行的匹配字符串。所述匹配字符串即为判断逻辑的第三预期字符。其中,第三预期字符中包括至少一个字符。在本步骤中,系统设置所述判断逻辑的第三预期字符为异常字符。
本步骤中,以伪代码执行命令“ip access-list aclName”为例,对本步骤进一步说明。当设备执行命令“ip access-list aclName”后,返回的回显可能如下所示:
“Error:You are not allowed to config acl
{primary:node0}
NetSt@devnameSW01>”
设备获取所述回显后,判断执行命令“ip access-list aclName”是否与系统存储的判断逻辑“当前规则适用的判断命令”自动逐行匹配。例如,存储装置中“当前规则适用的判断命令”为“ip access-list.*”与当前的执行命令匹配,则可以通过正则判断可以确定当前执行命令可以与所述判断命令匹配。在本步骤中,执行命令也可以与存储装置其他规则的判断命令匹配,本说明书在此不作限定。
获取该存储装置“当前规则使用的判断命令”的“匹配的字符串”,如“ip access-list.*”对应的匹配字符串为“Error.*”。在本步骤中,所述判断命令的匹配字符串还可以由其他形式,本说明书在此仅为简化示例,对其他可能存在的匹配字符串不作限定。
步骤702,若所述第三回显字符匹配所述第三预期字符,获取建议操作,所述建议操作包括终止或重试。
将设备执行命令后计算机返回的回显与所述当前规则的判断命令的匹配字符串正则匹配,确认可以匹配,说明当前执行命令落入异常的第三预期字符,当前执行命令异常。获取系统预先设置的建议操作。
在本步骤中,建议操作包括终止当前命令或重试上述命令执行步骤。
步骤703,若所述第三回显字符无法匹配所述第三预期字符,表示所述命令成功执行。在本步骤中,将设备执行命令后计算机返回的回显与所述当前规则的判断命令的匹配字符串正则匹配,确认无法匹配所述第三预期字符,说明当前执行命令并未落入异常的第三预期字符,当前命令执行正常。
图8所示为本文实施例一种推荐逻辑语句的方法流程图。
本图通过根据历史数据对判断逻辑进行学习、验证,将通过验证的判断逻辑作为推荐的判断逻辑,以作为判断每一条命令执行异常与否的逻辑指导。
步骤801,根据厂商型号信息对所述设备分类,将具有相同厂商型号信息的所述设备分为一类。
在本步骤中,将设备按照厂商型号信息进行分类,此步骤可以参照图4中的步骤,将属于相同厂商型号的设备归为一类。例如,编号为SW01-SW05的六个设备对应的厂商型号为思科S1000系列、编号为SH00-SH09的十个设备对应的厂商型号为思科S2800系列,可以根据同样的厂商型号信息将编号为SW01-SW05的设备归为一类、编号为SH00-SH09的十个设备归为另一类。
步骤802,获取所述具有相同厂商型号信息的所述设备的执行记录,所述执行记录包括设备执行的命令和所述命令对应的回显。
如前文所述,存储器103中存储有设备的设备信息、对应的技术字符及历史命令执行记录。其中,所述历史命令执行记录包括过去一段时间内设备执行的命令及返回的回显。在本步骤中,可以通过获取相同厂商型号下的所有设备IP清单,根据所述设备的IP清单获取设备的执行记录。如步骤801描述,具有相同厂商型号的设备归为一类,从系统的存储装置中获取相同厂商型号下的多个设备的IP地址清单,进一步获取所述多个设备的在过去一段时间内的命令执行记录。例如,步骤801中将思科S1000系列下编号为SW01-SW05的五个设备归为一类;将思科S2800系列下编号为SH00-SH09的十个设备对应的厂商信号归为一类。则本步骤中可以获取相同一类厂商型号的设备IP,根据所述设备的IP清单获取设备的执行记录。例如,获取思科S1000型号的所有设备的执行记录、获取思科S2800型号的所有设备的执行记录。
在本步骤中,设备的执行记录包括每个设备在过去一段时间内执行的命令及所述命令的回显。其中,命令包括但不限于登陆设备命令、执行命令、判断逻辑命令、注释命令或其他形式的命令。命令的回显包括执行所述登陆设备命令、执行命令、判断逻辑命令、注释命令或其他形式的命令的回显内容。其中,一个厂商型号对应多个设备的设备IP,多个设备在过去一段时间内可能执行多种类型的命令,所述多种类型的命令对应多个回显。因此,相同厂商型号的设备执行记录中可以包括相同厂商型号下多个设备的多个命令及设备执行多个命令返回的多个回显。
在本步骤中,一个厂商型号对应至少一个设备,因此根据一个厂商型号可以获取至少一个设备的至少一个执行记录。例如,思科厂商有10种厂商型号,每一种厂商向型号下对应有10个设备,则可以分别获取这10个厂商型号下各自10个设备的执行记录。又例如,西门子厂商有8种型号,每一种厂商型号下对应有5个设备,则可以分别获取这8个厂商型号下各自5个设备的执行记录。以思科S2900型号为例,该型号下有3个设备SG01、SG02、SG03。则所述思科S2900型号的命令执行记录中包括3个设备的执行记录。
步骤803,确定所述执行记录中相似度超过第二阈值的多个命令为一类相似命令,所述每类相似命令包括所述多个设备的多个命令及所述多个命令的多条回显。
根据相似度算法,将一个厂家型号的命令执行记录中所有命令相似度超过第二阈值的命令确定为同一类相似命令。因为一个厂家型号下有至少一个设备,因此所述执行记录中会有至少一类相似命令。具体的,对每一种相同的厂商型号,根据相似度算法将该厂商型号下多个设备的同一种命令归为一类。例如,根据相似度算法将思科S2900型号下的设备SG01、设备SG02、设备SG03的登陆设备命令归为一类;将设备SG01、设备SG02、设备SG03的执行命令中的“进入ACL配置”命令归为一类;将上述设备的执行命令中的“进入配置模式”命令归为一类等。综上,可以在一个相同厂商型号的一个执行记录中,根据相似度确定多类相似命令。
例如,思科S2900型号下有三个设备的执行记录,对以下三个设备的判断逻辑命令为例进行说明:
//devnameSW01//表示上一条命令希望登陆的设备为SG01;
//devnameSW02//表示上一条命令希望登陆的设备为SG02;
//devnameSW03//表示上一条命令希望登陆的设备为SG03,根据相似度算法可以将这三条判断逻辑命令归为一类命令,可以将这类相似命令称为登陆设备判断逻辑命令。
对所述三个设备的执行命令为例进行说明:
1permit ip 1.1.1.0/24 2.2.2/32;
1permit ip 1.1.1.0/24 3.2.2/33;
1permit ip 1.1.1.0/24 4.2.2/34,上述三条执行命令表示对三个设备的ACL明细配置,根据相似度算法可以将这三条命令归为一类,可以将这类相似命令称为ACL明细配置命令。
对所述三个设备的执行命令为例进行说明:
resequence ip access-list aclName 10 10;
resequence ip access-list aclName 12 12;
resequence ip access-list aclName 14 14,上述三条执行命令表示对三个设备的ACL条目做重排序,根据相似度算法可以将这三条命令归为一类,可以将这类相似命令称为ACL重排序命令。
因此,对相同厂商型号的不同设备的执行命令,可以根据相似度算法将所述设备的不同命令归为至少一类,例如:登陆设备判断逻辑命令、ACL明细配置命令、ACL重排序命令等。其中,将所述命令归为一类后,对每一类相似命令,获取所述类似命令及命令对应的回显。如登陆设备判断逻辑命令的回显、ACL明细配置命令的回显、ACL重排序命令的回显等。所述命令可以对应每一个设备的回显,例如,同一厂商型号有三个设备,因此每一类相似命令都分别对应三个设备的回显。
在本步骤中,第二阈值为与第一阈值不同的阈值。其中,第二阈值可以是60%、70%、80%等,第二阈值可以格局在本步骤中,所述相似度算法包括但不限于皮尔逊相关系数(Person Correlation Coefficient)、欧几里得距离(Euclidean Distance)、Cosine相似度、Spearman秩相关系数、曼哈顿距离、对数似然相似度等中的一种或其任意组合,具体可以参见图4的描述。
步骤804,正则判断所述每类相似命令是否匹配至少一个判断逻辑,并获取所述与每类相似命令匹配的多个判断逻辑。
本步骤中正则判断的具体描述可以参见图5描述,本说明书在此不作赘述。
对每一类相似命令中的每一个设备的每一条命令正则匹配判断逻辑,获取每一类相似命令中每一条命令的判断逻辑,所述判断逻辑为系统存储的多个判断逻辑。将每类相似命令中每一条命令的判断逻辑作为每一类相似命令中每一条命令的初始判断逻辑。
步骤805,根据推荐算法确定所述每类相似命令中的多条回显中的所有回显字符分别属于多个判断逻辑的概率值。
获取每一类相似命令中所有命令对应的所有回显,将所有回显拆分为单个单词,计算每个单词属于各个判断逻辑的归属系数,即每个单词在某个判断逻辑中出现的次数除以其在其他判断逻辑中出现的次数总和。例如,所述命令的所有回显可以拆分为m个单词,计算回显中每个单词属于系统当前存储的n个判断逻辑的归属系数。具体的,首先计算每个单词在每个判断逻辑中出现的次数。Am1表示第m个单词在第一种判断逻辑中出现的次数、Am2表示第m个单词在第2种判断逻辑中出现的次数……Amn表示第m个单词在第n中判断逻辑中出现的次数。
其中,第一个单词分别属于n个判断逻辑的归属系数计算公式如下:
其中p11表示所有回显中的第一个单词属于第1个判断逻辑的归属系数,p12表示第一个单词属于第二个主题的归属系数,p1n表示第一个单词属于第n个判断逻辑的归属系数,综上分别计算得到每一类相似命令中所有命令对应的所有回显中的第一个单词分别属于所有判断逻辑的归属系数。
接着,根据每个单词在全部回显中出现的概率计算各单词的信息量。其中,α1为第一个单词的信息量,α2为第二个单词的信息量,αm为第m个单词的信息量。将各单词的信息量作为权值,与上述步骤中计算得到的该单词属于各个判断逻辑的归属系数加权求和,得到整体所有的m个回显单词分别属于n个判断逻辑的概率值。
其中,p1表示所有回显单词属于第1个判断逻辑的概率值,p2表示所有回显单词属于第2个判断逻辑的概率值,pn表示所有回显单词属于第n个判断逻辑的概率值。上述公式可以反映所有回显中的所有单词分别属于各个判断逻辑的概率值,当所有单词属于某个判断逻辑的概率值越高,说明该判断逻辑与该类相似命令越匹配;当一类相似命令中所有单词属于某个判断逻辑较低,说明该判断逻辑与该类相似命令匹配度较低。
步骤806,当所述所有回显单词分别属于多个判断逻辑的概率值超过第三阈值时,确定所述最大概率值对应的所述判断逻辑作为该类别相似命令的判断逻辑,所述判断逻辑为第一判断逻辑。
当每一类命令中所有命令的回显单词属于各个判断逻辑的概率值超过第三阈值时,选择概率值最大的一个判断逻辑,作为该类相似命令所有命令的判断逻辑。该判断逻辑与该一类相似命令匹配度最高,因此将该判断逻辑作为该类相似命令的判断逻辑。
步骤807,将所述所有回显单词拆分为多个行回显字符,正则匹配所述第一判断逻辑,获取匹配得到的对应多个行回显字符的多条匹配语句。
在本步骤中,所述第一判断逻辑为一条判断逻辑,所述第一判断逻辑语句可以对应匹配多个回显字符。将所述所有回显单词分别拆分为每条命令对应的每条回显,所述每条回显中包括多个回显字符。根据该类相似命令中的多个命令与所述第一判断逻辑的匹配结果,定位判断逻辑的规则行,并获取规则行的匹配语句。将所述每条命令的每条回显与所述匹配语句进行匹配,获取每条回显与匹配语句匹配成功的语句。将所述第一判断逻辑语句及匹配成功的匹配语句存储在存储器中,作为新的判断逻辑及匹配语句。所述新的判断逻辑及匹配语句可以在下文步骤中用于更新存储器中的判断逻辑。
步骤808,对所述多条匹配语句进行聚合。在步骤807中,对同一类相似命令中的多个命令,可以确定一个判断逻辑。而该同一类相似命令中的多个命令的回显分别与该判断逻辑进行匹配,可以获取多个命令的回显与该判断逻辑匹配得到的多个语句。
在本步骤中,使用聚合算法对步骤807中获取得到多个命令的回显的与该判断逻辑匹配得到的多个语句进行聚合。在本说明书一些实施例中,对文本的聚类方法包括:划分方法、层次方法、基于密度的方法、基于网格的方法、基于模型的方法、传递闭包法、布尔矩阵法、直接聚类法等中的一种或其任意组合。
例如,对一个判断逻辑,其中一个命令的回显与该判断逻辑匹配得到的匹配语句为:“Error:The system master is busy in collecting the currentconfiguration.Please wait...,”另一个命令的回显与该判断逻辑匹配得到的匹配语句为“The system slave is busy in saving or comparing the currentconfiguration.Please wait...”,对这两个命令的回显匹配得到的两种匹配语句聚合后,可以得到聚合语句“The system.*is busy in”。
具体的,对一类相似命令中的多个命令对应的回显与判断逻辑语句匹配得到的判断逻辑推荐语句随机抽样,随机选择其中一条语句作为基准句。将基准句拆分为多个单个单词,记录每个单词在该基准句中的位置。随机选择判断逻辑推荐语句总数量20%的语句作为匹配句。例如,有5条判断逻辑语句,则随机选择其中1条判断逻辑语句作为匹配句。对该匹配句进行以下步骤:将基准句拆分出的单词(记为W1)在所述匹配句中进行匹配。若无法匹配到该单词,则匹配下一个单词;如果该单词能匹配到该单词,记录该单词在匹配句中出现的位置(记为L1)。接着对W1后一个单词进行匹配,匹配范围为L1+0.3L,其中L为匹配句中总单词的数量。若可以匹配到,则继续对基准句中的下一个单词进行匹配,直至不匹配。并记录已匹配的单词串,将其作为一个判断逻辑字符串。重复执行上述步骤,执行次数为所有判断逻辑语句总数的30%次。综上,可以计算每个判断逻辑语句与其他判断逻辑语句的相似性,将相似性相加作为此判断逻辑字符串的候选指数,选择候选指数最大的一条判断逻辑语句作为此回显的判断逻辑语句。
步骤809,对所述判断逻辑语句进行格式验证,确定判断逻辑推荐语句。从步骤808中获取的判断逻辑语句提取不少于7个字符。将此类命令行的全部回显拆分为逐行命令及回显的形式,分别与步骤806中确定的判断逻辑进行验证。如果执行结果与历史执行结果一致,则验证推荐的判断逻辑可用。如果执行结果与历史执行结果不一致,则确定所述推荐判断逻辑异常,以历史执行结果不一致,验证确定推荐的判断逻辑不可用。
步骤810,存储所述命令及所述判断逻辑推荐语句。将验证成功的判断逻辑及相关命令行存储到系统的存储器中,以便后续为设备执行命令时匹配相对应的判断逻辑。
如图9所示为本文实施例一种网络设备操作装置的结构示意图,在本图中描述了网络设备操作装置的基本结构,其中的功能单元、模块可以采用软件方式实现,也可以采用通用芯片或者特定芯片实现,所述的功能单元、模块一部分或者全部可以在服务器上,或者其中的一部分也可以在存储器上,通过与服务器的配合实现网络设备操作,该装置具体包括:
第一获取单元901,用于获取用户输入的命令;
结束字符确定单元902,用于根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符,所述结束字符用于判断所述命令是否执行完毕;
第二获取单元903,用于逐行执行所述命令并获取每条命令的回显;
判断逻辑获取单元904,用于根据所述命令获取判断逻辑,所述判断逻辑对应不同的命令有不同的预期字符;
判断单元905,用于根据所述命令的预期字符及所述判断逻辑,判断所述命令是否成功执行;
存储单元906,用于当所述命令成功执行时,存储所述命令与所述回显;
重试单元907,用于当所述命令执行异常时,重试上述步骤。
作为本文的一个实施例,还可以参考如图10所示为本实施例一种网络设备操作执行装置的具体结构示意图。
所述第一获取单元901还包括,将所述获取得到的命令分类。作为本文的一个实施例,所述第一获取单元901进一步包括:分类模块9011,用于对用户输入的所述命令分类为判断逻辑命令、注释命令、登陆设备命令、执行命令。
所述结束字符确定单元902还包括,根据设备的厂商型号确定所述设备是否为新增设备,并根据所述设备为新增设备的结果,自学习设备的结束字符。作为本文的一个实施例,所述第二获取单元进一步包括:
确定模块9021,用于根据设备的厂商信号确定所述设备是否为新增设备;
自学习模块9022,用于根据设备的命令自学习获取结束字符。
所述判断逻辑获取单元904还用于,根据用户输入的命令进行判断逻辑的推荐和补充。
作为本文的一个实施例,所述判断逻辑获取单元904进一步包括:判断逻辑推荐模块9041,用于进一步对用户输入的命令进行判断逻辑的推荐和补充。
所述判断逻辑获取单元904进一步包括:判断逻辑验证模块9042,用于根据历史数据,对自学习确定的判断逻辑进行验证;
所述判断逻辑获取单元904进一步包括:判断逻辑存储模块9043,用于将所述自学习得到的判断逻辑存储至存储器中。
如图11所示,为本文实施例提供的一种计算机设备,所述计算机设备1102可以包括一个或多个处理器1104,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1102还可以包括任何存储器1106,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1106可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1102的固定或可移除部件。在一种情况下,当处理器1104执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1102可以执行相关联指令的任一操作。计算机设备1102还包括用于与任何存储器交互的一个或多个驱动机构1108,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备1102还可以包括输入/输出模块1110(I/O),其用于接收各种输入(经由输入设备1112)和用于提供各种输出(经由输出设备1114))。一个具体输出机构可以包括呈现设备1116和相关联的图形用户接口(GUI)1118。在其他实施例中,还可以不包括输入/输出模块1110(I/O)、输入设备1112以及输出设备1114,仅作为网络中的一台计算机设备。计算机设备1102还可以包括一个或多个网络接口1120,其用于经由一个或多个通信链路1122与其他设备交换数据。一个或多个通信总线1124将上文所描述的部件耦合在一起。
通信链路1122可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1122可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图1-图8中的内容,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图8所示的内容。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (12)
1.一种网络设备操作执行方法,其特征在于,包括:
获取用户输入的命令并将所述命令分类;
根据所述命令对应的至少一个设备确定所述设备的至少一个结束字符,包括:根据所述设备的厂商型号信息判断所述设备是否为新增设备;
若所述设备为非新增设备,获取所述结束字符;
若所述设备为新增设备,通过自动学习获取命令结束字符,包括:
获取所述新增设备的厂家型号信息;
根据所述厂家型号信息从厂家信息存储装置中判断所述新增设备是否对应新增厂家;
若所述新增设备对应非新增厂家,比较所述新增设备对应的命令与所述新增设备相同的厂家的命令执行记录的相似度,当所述相似度超过第一阈值,将所述执行记录中的结束字符作为所述新增设备的初始结束字符,所述执行记录包括命令和对应的回显字符;
若所述新增设备对应新增厂家,执行登陆设备命令,通过所述登陆设备命令的回显字符获取所述结束字符;
验证所述结束字符,所述结束字符用于判断所述命令是否执行完毕;
逐行执行所述命令并获取每条命令的回显;
根据所述命令获取判断逻辑,所述判断逻辑对应不同的命令并具有不同的预期字符;
根据所述每条命令的回显及所述判断逻辑,判断所述命令是否成功执行;
若成功执行所述命令,存储所述命令及所述回显;
若执行所述命令异常,重试上述步骤。
2.如权利要求1所述的网络设备操作执行方法,其特征在于,将所述命令分类进一步包括,将所述命令分为判断逻辑命令、注释命令、登陆设备命令、执行命令。
3.如权利要求2所述的网络设备操作执行方法,其特征在于,所述若所述设备为非新增设备,获取所述结束字符进一步包括:
从登陆设备命令中获取所述非新增设备的互联网协议地址IP信息;
从设备资产存储装置中获取所述设备对应的厂家型号信息;
根据所述厂家型号信息,从厂商信息存储装置中获取所述设备的结束字符。
4.如权利要求1所述的网络设备操作执行方法,其特征在于,所述逐行执行所述命令并获取每条命令的回显进一步包括:
执行第一命令,获取第一回显字符,所述第一命令为登陆设备命令;
执行第二命令,获取第二回显字符,所述第二命令为逻辑判断命令;
执行第三命令,获取第三回显字符,所述第三命令为执行命令。
5.如权利要求4所述的网络设备操作执行方法,其特征在于,所述根据所述命令的回显及所述判断逻辑,判断所述命令是否成功执行进一步包括:
当所述命令为所述第一命令,根据所述判断逻辑,正则判断所述第一回显字符是否匹配所述判断逻辑的第一预期字符;
若所述第一回显字符匹配所述第一预期字符,获取建议操作,所述建议操作包括终止或重试;
若所述第一回显字符无法匹配所述第一预期字符,表示所述命令成功执行。
6.如权利要求4所述的网络设备操作执行方法,其特征在于,所述根据所述命令的回显及所述判断逻辑,判断所述命令是否成功执行:
当所述命令为所述第二命令,获取所述第二命令的上一条命令的回显字符,所述回显字符为第二回显字符;
根据所述判断逻辑,正则判断所述第二回显字符是否匹配所述判断逻辑,所述判断逻辑具有预期字符和非预期字符;
若所述第二回显字符匹配所述非预期字符,表示执行命令异常;
若所述第二回显字符不匹配所述非预期字符,正则判断所述回显字符是否匹配所述预期字符;
若所述第二回显字符匹配所述预期字符,表示成功执行所述命令;
若所述第二回显字符不匹配所述预期字符,表示执行命令异常。
7.如权利要求4所述的网络设备操作执行方法,其特征在于,所述根据所述回显及所述判断逻辑,判断所述命令是否成功执行进一步包括:
当所述命令为所述第三命令,根据所述判断逻辑,正则判断所述第三回显字符是否匹配所述判断逻辑的第三预期字符;
若所述第三回显字符匹配所述第三预期字符,获取建议操作,所述建议操作包括终止或重试;
若所述第三回显字符无法匹配所述第三预期字符,表示所述命令成功执行。
8.如权利要求5所述的网络设备操作执行方法,其特征在于,所述判断逻辑的所述第一预期字符包括以下中的任意一种:‘Authentication fail’,‘Login failed’,‘connecttimed-out’,‘problem connecting to’。
9.如权利要求1所述的网络设备操作执行方法,其特征在于,所述获取判断逻辑进一步包括推荐逻辑语句:
根据厂商型号信息对所述设备分类,将具有相同厂商型号信息的所述设备归为一类;
获取所述具有相同厂商型号信息的所述设备的执行记录,所述执行记录包括命令和所述命令对应的回显字符;
确定所述执行记录中相似度超过第二阈值的多个命令为一类相似命令,所述每类相似命令包括多个设备的多个命令及所述多个命令的多条回显;
正则判断所述每类相似命令是否匹配至少一个判断逻辑,并获取所述与每类相似命令匹配的多个判断逻辑;
根据推荐算法确定所述每类相似命令中的多条回显中的所有回显字符分别属于多个判断逻辑的概率值;
当所述所有回显字符分别属于所述多个判断逻辑的概率值超过第三阈值时,确定最大概率值对应的所述判断逻辑作为该类别相似命令的判断逻辑,所述判断逻辑为第一判断逻辑;
将所述回显字符恢复为多个行回显字符,正则匹配所述第一判断逻辑,获取匹配得到的对应多个行回显字符的多条匹配语句;
对所述多条匹配语句进行聚合;
对所述判断逻辑语句进行格式验证,确定判断逻辑推荐语句;
存储所述命令及所述判断逻辑推荐语句。
10.如权利要求1所述的网络设备操作执行方法,其特征在于,所述重试上述步骤包括:
获取重试参数,所述重试参数包括重试次数上限、重试间隔;
重新执行当前命令,并获取回显,记录重试次数;
根据所述回显和判断逻辑判断所述命令是否成功执行。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-10的任意一项所述的网络设备操作执行方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10的任意一项所述的网络设备操作执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110912102.0A CN113645070B (zh) | 2021-08-10 | 2021-08-10 | 网络设备操作执行方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110912102.0A CN113645070B (zh) | 2021-08-10 | 2021-08-10 | 网络设备操作执行方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645070A CN113645070A (zh) | 2021-11-12 |
CN113645070B true CN113645070B (zh) | 2022-12-20 |
Family
ID=78420399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110912102.0A Active CN113645070B (zh) | 2021-08-10 | 2021-08-10 | 网络设备操作执行方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645070B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257402A (zh) * | 2008-01-17 | 2008-09-03 | 华为技术有限公司 | 设备实现自定义命令的方法及系统 |
CN105141444A (zh) * | 2015-07-24 | 2015-12-09 | 中国船舶重工集团公司第七0九研究所 | 基于正则匹配的网络管理命令生成方法及系统 |
CN111526048A (zh) * | 2020-04-16 | 2020-08-11 | 深圳市风云实业有限公司 | 一种用于多型号交换机的统一管理语言适配方法 |
CN111966551A (zh) * | 2020-08-21 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 远程命令执行结果的校验方法、系统、终端及存储介质 |
EP3757825A1 (en) * | 2019-06-26 | 2020-12-30 | Siemens Healthcare GmbH | Methods and systems for automatic text segmentation |
CN112799722A (zh) * | 2021-02-08 | 2021-05-14 | 联想(北京)有限公司 | 命令识别方法、装置、设备和存储介质 |
-
2021
- 2021-08-10 CN CN202110912102.0A patent/CN113645070B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257402A (zh) * | 2008-01-17 | 2008-09-03 | 华为技术有限公司 | 设备实现自定义命令的方法及系统 |
CN105141444A (zh) * | 2015-07-24 | 2015-12-09 | 中国船舶重工集团公司第七0九研究所 | 基于正则匹配的网络管理命令生成方法及系统 |
EP3757825A1 (en) * | 2019-06-26 | 2020-12-30 | Siemens Healthcare GmbH | Methods and systems for automatic text segmentation |
CN111526048A (zh) * | 2020-04-16 | 2020-08-11 | 深圳市风云实业有限公司 | 一种用于多型号交换机的统一管理语言适配方法 |
CN111966551A (zh) * | 2020-08-21 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 远程命令执行结果的校验方法、系统、终端及存储介质 |
CN112799722A (zh) * | 2021-02-08 | 2021-05-14 | 联想(北京)有限公司 | 命令识别方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113645070A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200034689A1 (en) | A method for retrieving a recommendation from a knowledge database of a ticketing system | |
CN103885969B (zh) | 提供软件问题解决方案的方法和装置 | |
WO2022237253A1 (zh) | 一种测试用例生成方法、装置及设备 | |
WO2014169288A1 (en) | Evaluation control | |
US20120150825A1 (en) | Cleansing a Database System to Improve Data Quality | |
US11620558B1 (en) | Iterative machine learning based techniques for value-based defect analysis in large data sets | |
EP4091110A1 (en) | Systems and methods for distributed incident classification and routing | |
US20120239596A1 (en) | Classification of stream-based data using machine learning | |
CN106485261A (zh) | 一种图像识别的方法和装置 | |
US11567824B2 (en) | Restricting use of selected input in recovery from system failures | |
CN109783459A (zh) | 从日志中提取数据的方法、装置及计算机可读存储介质 | |
CN109753490A (zh) | 基于漏洞修复的数据库优化方法、系统、设备及介质 | |
CN109582670A (zh) | 一种车辆维修方案的推荐方法及相关设备 | |
CN112311574A (zh) | 网络拓扑连线的检查方法、装置及设备 | |
CN113645070B (zh) | 网络设备操作执行方法、装置、计算机设备及存储介质 | |
CN116661954B (zh) | 虚拟机异常预测方法、装置、通信设备及存储介质 | |
CN113312258A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN110019762A (zh) | 一种问题定位方法、存储介质和服务器 | |
JP5206268B2 (ja) | ルール作成プログラム、ルール作成方法及びルール作成装置 | |
CN116360763A (zh) | 一种快速生成rpa应用的方法及装置 | |
US20230113860A1 (en) | Proactive network application problem log analyzer | |
US11816112B1 (en) | Systems and methods for automated process discovery | |
US20230026656A1 (en) | Machine learning for categorizing text | |
US11893354B2 (en) | System and method for improving chatbot training dataset | |
CN114579730A (zh) | 信息处理方法、电子设备和计算机程序产品 |
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 |