CN110912743B - 一种执行配置指令的方法及装置 - Google Patents
一种执行配置指令的方法及装置 Download PDFInfo
- Publication number
- CN110912743B CN110912743B CN201911173679.3A CN201911173679A CN110912743B CN 110912743 B CN110912743 B CN 110912743B CN 201911173679 A CN201911173679 A CN 201911173679A CN 110912743 B CN110912743 B CN 110912743B
- Authority
- CN
- China
- Prior art keywords
- configuration
- instruction
- data
- library
- configuration file
- 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
-
- 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
-
- 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/0866—Checking the configuration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种执行配置指令的方法及装置,将第一配置指令下发至网络设备的验证库,验证库具有与网络设备的运行库中相同的第一配置文件;获取验证库执行第一配置指令后的第二配置文件;确定第一配置文件与第二配置文件中不同的配置数据;根据不同的配置数据生成第二配置指令;在第二配置指令与第一配置指令匹配时,将第一配置指令或第二配置指令下发至运行库。该方案由于网络设备的验证库同步了运行库的配置数据,从而在网络设备的验证库进行配置指令的验证,当网络设备的验证库成功执行下发的配置指令后,将该配置指令下发至运行库,从而提高了网络设备的运行库执行配置指令的准确性。
Description
技术领域
本发明涉及网络运维技术领域,尤其涉及一种执行配置指令的方法及装置。
背景技术
目前,采用命令行的方式对网络设备进行配置,是网络运维的一种常用方式。一般情况下,在网络设备自带的命令行界面,技术人员通过键盘输入指令并发送至设备;设备接收到指令后,予以执行;待配置生效后,技术人员能够从命令行界面直接查看到生效的命令。但该方法的不足之处在于需人工输入指令,效率低下,且无法在配置过程中核验配置是否准确。
网络运维过程中,当对某个交换机或者路由器下发错误的命令后,会对整个业务区的通信造成影响,甚至在一些核心节点(如跨数据中心边缘路由器),可能会造成整体数据中心网络传输的波动或中断。因此,网络运维中对配置的准确性核验异常重要。
因此,现有技术中对网络设备进行自动化配置的方法无法保证配置的准确性。
发明内容
本发明提供一种执行配置指令的方法及装置,用以解决网络设备的运行库执行配置指令的准确性不足的问题。
第一方面,本发明实施例提供一种执行配置指令的方法,该方法包括:将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库中相同的第一配置文件;获取所述验证库执行所述第一配置指令后的第二配置文件;确定所述第一配置文件与所述第二配置文件中不同的配置数据;根据所述不同的配置数据生成第二配置指令;在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库。
基于该方案,在网络设备的验证库中执行第一配置指令,获取到该指令被执行后的第二配置文件,比较该配置文件与第一配置文件来确定两份文件中不同的配置数据,若依据不同的配置数据所生成的第二配置指令与第一配置指令匹配时,则将这两项指令中任一指令下发至运行库。由于网络设备的验证库同步了运行库的配置数据,从而在网络设备的验证库成功执行配置指令后,将该配置指令下发至运行库,从而提高了网络设备的运行库执行配置指令的准确性。
在一种可能的实现方法中,所述将第一配置指令下发至网络设备的验证库之前,还包括:向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,还包括:向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
基于该方案,通过将网络设备的运行库的第一配置文件同步至网络设备的验证库,可以使验证库具有与运行库的相同的大环境,因此可以用验证库执行了第一配置指令后的数据来说明运行库运行该第一配置指令的效果;清除指令用于清除验证库的文件。
在一种可能的实现方法中,所述向所述网络设备下发同步指令之后,还包括:在同步之后,向所述网络设备下发锁定指令,所述锁定指令用于指示锁定所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,还包括:向所述网络设备下发解锁指令,所述解锁指令用于指示解锁所述验证库。
基于该方案,在同步之后,通过锁定验证库,可以保证对网络设备执行配置指令的操作全部从当前建立的会话下发,避免同时段有其他配置指令在验证库中下发;以及解锁指令用于解锁验证库。
在一种可能的实现方法中,所述根据所述不同的配置数据生成第二配置指令,包括:根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
基于该方案,根据第一配置文件和第二配置文件,可以确定两者之间的不同配置数据以及该不同的配置数据对应的操作属性;获取该不同的配置数据的依赖数据,从而可以根据不同的配置数据、依赖数据以及操作属性,生成第二配置指令。
在一种可能的实现方法中,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置文件和所述第二配置文件为XML格式。
基于该方案,在验证库中实现了Netconf命令到命令行的转换,有助于直观地查看验证库所执行的配置指令。
在一种可能的实现方法中,所述根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令,包括:根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
基于该方案,详细说明了Netconf命令到命令行的转换过程,转换过程中还体现了操作属性,极大程度上说明第一配置指令在网络设备上生效的过程,最终将生效后的配置信息用命令行格式的第一配置指令表示出来。
在一种可能的实现方法中,通过如下方式确定所述第二配置指令与所述第一配置指令匹配,包括:将Netconf格式的Netconf命令与命令行格式的所述第二配置指令,通过机器学习的方式确定是否匹配。
基于该方案,通过机器学习的方式确定第一配置指令与第二配置指令是否匹配,极大地减少了人工审核的工作,实现了网络设备对配置指令的自动审核效果。
在一种可能的实现方法中,在所述第二配置指令与所述第一配置指令不匹配时,返回异常指示。
基于该方案,当第二配置指令与第一配置指令的审核结果为不匹配时,会返回一个异常指示,告诫本次配置指令失败,不能下发至验证库。
第二方面,本发明提供一种执行配置指令的装置,该装置包括:第一下发单元,用于将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库相同的第一配置文件;获取单元,用于获取所述验证库执行所述第一配置指令后的第二配置文件;确定单元,用于确定所述第一配置文件与所述第二配置文件中不同的配置数据;生成单元,用于根据所述不同的配置数据生成第二配置指令;第二下发单元,用于在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库。
基于该方案,在网络设备的验证库中执行第一配置指令,获取到该指令被执行后的第二配置文件,比较该配置文件与第一配置文件来确定两份文件中不同的配置数据,若依据不同的配置数据所生成的第二配置指令与第一配置指令匹配时,则将这两项指令中任一指令下发至运行库。由于网络设备的验证库同步了运行库的配置数据,从而在网络设备的验证库成功执行配置指令后,将该配置指令下发至运行库,从而提高了网络设备的运行库执行配置指令的准确性。
在一种可能的实现方法中,所述将第一配置指令下发至网络设备的验证库之前,所述第一下发单元具体用于向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,所述第一下发单元具体用于向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
基于该方案,通过将网络设备的运行库的第一配置文件同步至网络设备的验证库,可以使验证库具有与运行库的相同的大环境,因此可以用验证库执行了第一配置指令后的数据来说明运行库运行该第一配置指令的效果;清除指令用于清除验证库的文件。
在一种可能的实现方法中,所述向所述网络设备下发同步指令之后,所述第一下发单元还用于在同步之后,向所述网络设备下发锁定指令;所述锁定指令用于指示锁定所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,所述第一下发单元还用于向所述网络设备下发解锁指令;所述解锁指令用于指示解锁所述验证库。
基于该方案,在同步之后,通过锁定验证库,可以保证对网络设备执行配置指令的操作全部从当前建立的会话下发,避免同时段有其他配置指令在验证库中下发;以及解锁指令用于解锁验证库。
在一种可能的实现方法中,所述根据所述不同的配置数据生成第二配置指令,所述确定单元具体用于根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;所述获取单元具体用于从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;所述生成单元具体用于根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
基于该方案,根据第一配置文件和第二配置文件,可以确定两者之间的不同配置数据以及该不同的配置数据对应的操作属性;获取该不同的配置数据的依赖数据,从而可以根据不同的配置数据、依赖数据以及操作属性,生成第二配置指令。
在一种可能的实现方法中,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置数据和所述第二配置数据为XML格式。
基于该方案,在验证库中实现了Netconf命令到命令行的转换,有助于直观地查看验证库所执行的配置指令。
在一种可能的实现方法中,所述根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令,所述生成单元具体用于按照同一结构体,根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;所述确定单元具体用于确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;所述生成单元还用于根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
基于该方案,详细说明了Netconf命令到命令行的转换过程,转换过程中还体现了操作属性,极大程度上说明第一配置指令在网络设备上生效的过程,最终将生效后的配置信息用命令行格式的第一配置指令表示出来。
在一种可能的实现方法中,所述确定单元还用于将Netconf格式的Netconf命令与命令行格式的所述第二配置指令,通过机器学习的方式确定是否匹配。
基于该方案,通过机器学习的方式确定第一配置指令与第二配置指令是否匹配,极大地减少了人工审核的工作,实现了网络设备对配置指令的自动审核效果。
在一种可能的实现方法中,在所述第二配置指令与所述第一配置指令不匹配时,返回异常指示。
基于该方案,基于该方案,当第二配置指令与第一配置指令的审核结果为不匹配时,会返回一个异常指示,告诫本次配置指令失败,不能下发至验证库。
第三方面,本发明实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种执行配置指令的方法;
图2为本发明实施例提供的一种修改接口IP的示意图;
图3为本发明实施例提供的一种第二配置文件信息图;
图4为本发明实施例提供的一种同步指令图;
图5为本发明实施例提供的一种清除指令图;
图6为本发明实施例提供的一种锁定指令图;
图7为本发明实施例提供的一种解锁指令图;
图8为本发明实施例提供的一种确定不同配置数据的过程图;
图9为本发明实施例提供的一种配置数据结构体的示意图;
图10为本发明实施例提供的一种由配置数据结构体转命令行的过程示意图;
图11为本发明实施例提供的一种优化后的第二配置指令;
图12为本发明实施例提供的一种执行配置指令的装置。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种执行配置指令的方法,该方法包括以下步骤:
步骤101,将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库中相同的第一配置文件。
步骤102,获取所述验证库执行所述第一配置指令后的第二配置文件。
步骤103,确定所述第一配置文件与所述第二配置文件中不同的配置数据。
步骤104,根据所述不同的配置数据生成第二配置指令。
步骤105,在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库。
基于该方案,在网络设备的验证库中执行第一配置指令,获取到该指令被执行后的第二配置文件,比较该配置文件与第一配置文件来确定两份文件中不同的配置数据,若依据不同的配置数据所生成的第二配置指令与第一配置指令匹配时,则将这两项指令中任一指令下发至运行库。由于网络设备的验证库同步了运行库的配置数据,从而在网络设备的验证库成功执行配置指令后,将该配置指令下发至运行库,从而提高了网络设备的运行库执行配置指令的准确性。
对于网络设备进行运维,可以利用网络设备自带的两个配置库。一个是运行库,在运行库中下发执行配置的指令,该指令会直接生效,也即网络设备的相关配置会发生更改;一个是验证库,在验证库中下发执行配置的指令,该指令不会生效,也即网络设备的相关配置不会发生更改。因此,本发明实施例可以在网络设备的验证库中对配置指令的准确性进行检测。
在上述步骤101中,将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库中相同的第一配置文件。
网络运维不同于系统运维。如果在系统运维中出现误操作,则最大程度上是对该系统造成影响;但是如果在网络运维中,对某个交换机或者路由器下发的命令错误后,会对整个业务区的通信造成影响,甚至在一些核心节点(如跨数据中心边缘路由器),可能会造成整体数据中心网络传输的波动或中断。
参考图2,为本发明实施例提供的一种修改接口IP的示意图。网络设备运维人员在控制器的前端页面填写表单,比如需要将G0/3/0接口的IP地址由192.168.10.1/24(对应于图2中虚线以上部分)修改为192.168.10.2/24(对应于图2中虚线以下部分)。系统会根据此条表单信息生成相应的Netconf命令,即第一配置指令。
对于上述根据表单信息生成第一配置指令的过程,通过会存在以下三方面的问题:
第一,网络设备运维人员在控制器前端页面可能会填错表单的信息。比如本次对网络设备需要执行的操作是将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24,而事实上运维人员将待修改的IP错填成了192.168.10.3/24;
第二,系统在根据此条表单信息生成相应的Netconf命令时,可能会生成错误的Netconf命令,这是Netconf协议的固有属性;
第三,系统根据所生成的Netconf命令,对网络设备进行修改G0/3/0接口的IP地址的操作时,仍然可能会产生错误。比如系统根据生成的Netconf命令,最后生效的配置结果是将G0/3/3接口的IP地址修改为了192.168.10.2/24。
如果将此次Netconf命令直接下发至运行库,考虑到以上三方面的原因,最终可能会导致对网络设备进行了错误配置,会造成无法挽回的后果。因此,在Netconf命令直接下发至运行库之前,需要借助网络设备的验证库,对网络设备进行Netconf命令的预下发。
为了达到将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24的配置结果,所述验证库具有与所述网络设备的运行库中相同的第一配置文件。也即,通过让网络设备的验证库模拟网络设备的运行库的大环境,因而在对网络设备的验证库下发第一配置指令时,验证库执行该第一配置指令后所得到的数据,可以用于说明该第一配置指令被网络设备的运行库执行后的情形。
在上述步骤102中,获取所述验证库执行所述第一配置指令后的第二配置文件。
当网络设备的验证库接收并执行第一配置指令后,可以得到验证库执行第一配置指令后的第二配置文件。
以前述将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24为例,获取的第二配置文件信息如图3所示。参考图3,为本发明实施例提供的一种第二配置文件信息图,所述第二配置文件为Netconf命令行,采用了XML格式进行编写。如图3中的虚线部分的内容所示,表示G0/3/0接口的IP地址为192.168.10.2/24。
可选地,所述将第一配置指令下发至网络设备的验证库之前,还包括:向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,还包括:向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
通常意义上来讲,网络设备的运行库中存储有网络设备的配置文件,也即第一配置文件。当不确定Netconf命令下发并由运行库执行后的结果是否是符合本次操作意图,即不确定Netconf命令是否被运行库准确执行。因此,需要在网络设备的验证库中预执行一次Netconf命令。因此在将第一配置指令下发至网络设备的验证库之前,需要保证验证库的环境与运行库的环境一致,即可以向所述网络设备下发同步指令,该同步指令用于指示网络设备将运行库的第一配置文件同步至验证库。
如图4所示,为本发明实施例提供的一种同步指令图。Netconf命令行中的copy-config命令,用于指示将运行库(running)的数据同步至验证库(candidate)。
通常意义上来讲,网络设备的验证库是不存储网络设备的配置文件的,当通过验证库得到了需要的配置文件后,需要及时清除验证库中的数据。也即当获取到第一配置指令被验证库执行后的第二配置文件,可以向网络设备下发清除指令,该清除指令用于指示网络设备清空验证库。
如图5所示,为本发明实施例提供的一种清除指令图。Netconf命令行中的clear命令,用于指示将验证库(candidate)中的数据进行清空。
可选地,所述向所述网络设备下发同步指令之后,还包括:在同步之后,向所述网络设备下发锁定指令,所述锁定指令用于指示锁定所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,还包括:向所述网络设备下发解锁指令,所述解锁指令用于指示解锁所述验证库。
通常意义上来讲,为了保证验证库在执行当前的Netconf命令过程中不被同时段其他的Netconf命令干扰,因此,可以在向网络设备下发同步指令之后,紧接着向网络设备下发锁定指令,该锁定指令用于指示锁定验证库。
如图6所示,为本发明实施例提供的一种锁定指令图。Netconf命令行中的lock命令,用于指示将验证库(candidate)进行锁定。
通常意义上来讲,当验证库处于锁定状态时,网络设备是不能够执行清空验证库数据的操作的,因此,在获取到验证库中第二配置文件后,且向网络设备下发清除指令之前,可以向网络设备下发解锁指令,该解锁指令用于指示解锁验证库。
如图7所示,为本发明实施例提供的一种解锁指令图。Netconf命令行中的unlock命令,用于指示将处于锁定状态的验证库(candidate)进行解除锁定。
在上述步骤103中,确定所述第一配置文件与所述第二配置文件中不同配置数据。
以前述将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24为例,确定第一配置文件与第二配置文件这两者间不同的配置数据的过程如图8所示。参考图8,为本发明实施例提供的一种确定不同配置数据的过程图,通过逐行比较Netconf命令行:左图第二配置文件的第1行信息与右图第一配置文件的第1行信息进行比较,左图第二配置文件的第2行信息与右图第一配置文件的第2行信息进行比较,对于其他各行的Netconf命令行的比较过程在此不赘述。可以发现:仅左侧的第二配置文件的箭头所指的第5行信息“192.168.10.2”与右侧的第一配置文件的箭头所指的第5行信息“192.168.10.1”这一行信息不同,其余各行信息相同。因此,确定第一配置文件与第二配置文件这两者间不同的配置数据为“192.168.10.2”。
在上述步骤104中,根据所述不同的配置数据生成第二配置指令。
可选地,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置文件和所述第二配置文件为XML格式。
以前述将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24为例,根据不同的配置数据“192.168.10.2”,可以生成第二配置指令,该第二配置指令为命令行。
可选地,所述根据所述不同的配置数据生成第二配置指令,包括:根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
以前述将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24为例,参考图8,通过左侧第二配置文件和右侧第一配置文件确定出不同的配置数据为“192.168.10.2/24”,可以确定这个不同的配置数据所对应的操作为对IP地址进行修改;由于IP地址有具体对应着的接口(interface),并且,IP地址通常携带有自己的掩码(prefix),接口以及掩码这两项信息可以视为IP地址的依赖数据,这两项依赖数据与IP地址位于同一目录。也即,接口、接口的IP地址以及IP地址的掩码这三者联合起来表示一组完整的接口IP地址的信息。这些依赖数据可以从图8右侧的第一配置文件或者图8左侧的第二配置文件中获取。最后,根据不同的配置数据:(“192.168.10.2/24”)、依赖数据(接口和掩码)、以及操作属性(对IP地址进行修改),可以生成第二配置指令。
可选地,所述根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令,包括:按照同一结构体,根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
以前述将G0/3/0接口的IP地址由192.168.10.1/24修改为192.168.10.2/24为例,参考图9,为本发明实施例提供的一种配置数据结构体的示意图。其中,以不同的配置数据“192.168.10.2/24”(其操作属性为接口IP的修改)所在的目录为基准,通过查找可以发现与“192.168.10.2/24”所在同一目录的依赖数据有两项,分别为interface和prefix-length,因此生成了如图9所示的配置数据结构体。另外,不同的配置数据和依赖数据以键值对的方式记载在配置数据结构体中,具体地,interface为GigabitEthernet0/3/0的键,GigabitEthernet0/3/0为interface的值;ip:address为192.168.10.2以及prefix-length的键,192.168.10.2以及prefix-length为ip:address的值。
如图10所示,为本发明实施例提供的一种由配置数据结构体转命令行的过程示意图,其中,左侧表示配置数据结构体,右侧表示命令行。根据配置数据结构中的interface键,可以确定出其在命令行中的字段为interface,根据配置数据结构中的ip:address键,可以确定出其在命令行中的字段为ip:address;根据配置数据结构中的GigabitEthernet0/3/0值,可以确定出其在以interface为字段对应的值为GigabitEthernet0/3/0;根据配置数据结构中的192.168.10.2值,可以确定出其在以ip:address为字段对应的值为192.168.10.2;根据配置数据结构中的prefix-length值,可以确定出其在以ip:address为字段对应的值为255.255.255.0,即得到了图10右侧的命令行,也即第二配置指令。
考虑到本次配置指令是修改接口IP,也即本次操作属性为修改,为了体现出修改的特色,可以将第二配置指令进行优化处理,按照先删除、再增加的顺序,得到优化后的第二配置指令。参考图11,为本发明实施例提供的一种优化后的第二配置指令,其中,对比于图10右侧的命令行(也即第二配置指令),图11中增加了undo ip address 192.168.10.1255.255.255.0,即增加了删除原先IP地址的命令,而后为G0/3/0重新设置IP地址,此命令行为:ip address 192.168.10.2 255.255.255.0。
在上述步骤105中,在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库。
可选地,通过如下方式确定所述第二配置指令与所述第一配置指令匹配,包括:将Netconf格式的Netconf命令与命令行格式的所述第二配置指令,通过机器学习的方式确定是否匹配。
在得到第二配置指令,也即命令行格式的第二配置指令后,将该第二配置指令输入机器学习的模型中进行学习。学习过程中,系统会结合第一配置指令的数据,对第二配置指令进行相关语法和参数的审核。待学习结束后,当确认第二配置指令与第一配置指令匹配后,则可以由技术人员自主选择将第一配置指令或是第二配置指令下发至运行库,让运行库去执行审核通过的第一配置指令或者第二配置指令,均可以达到理想的配置效果,而不会出现配置出错的结果。
可选地,在所述第二配置指令与所述第一配置指令不匹配时,返回异常指示。也即如果通过机器学习的方式确定命令行格式的第二配置指令与Netconf格式的Netconf命令不匹配时,则会在网络设备的显示界面返回异常的指示,其目的在于告诉技术人员不能将第一配置指令或者第二配置指令下发至网络设备的运行库,也即一旦将本次不匹配的第一配置指令或者第二配置指令下发至运行库,则会带来预料之外的结果。
基于同样的构思,本发明实施例提供一种执行配置指令的装置,如图12所示,该装置包括:
第一下发单元1201,用于将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库相同的第一配置文件;
获取单元1202,用于获取所述验证库执行所述第一配置指令后的第二配置文件;
确定单元1203,用于确定所述第一配置文件与所述第二配置文件中不同的配置数据;
生成单元1204,用于根据所述不同的配置数据生成第二配置指令;
第二下发单元1205,用于在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库。
进一步地,所述将第一配置指令下发至网络设备的验证库之前,所述第一下发单元1201具体用于向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,所述第一下发单元1201具体用于向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
进一步地,所述向所述网络设备下发同步指令之后,所述第一下发单元1201还用于在同步之后,向所述网络设备下发锁定指令;所述锁定指令用于指示锁定所述验证库;所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,所述第一下发单元1201还用于向所述网络设备下发解锁指令;所述解锁指令用于指示解锁所述验证库。
进一步地,所述根据所述不同的配置数据生成第二配置指令,所述确定单元1203具体用于根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;所述获取单元1202具体用于从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;所述生成单元1204具体用于根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
进一步地,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置文件和所述第二配置文件为XML格式。
进一步地,所述根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令,所述生成单元1204具体用于按照同一结构体,根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;所述确定单元1203具体用于确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;所述生成单元1204还用于根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
进一步地,所述确定单元1203还用于将Netconf格式的Netconf命令与命令行格式的所述第二配置指令,通过机器学习的方式确定是否匹配。
进一步地,在所述第二配置指令与所述第一配置指令不匹配时,返回异常指示。
本发明实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于执行配置指令方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行配置指令方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行配置指令方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种执行配置指令的方法,其特征在于,包括:
将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库中相同的第一配置文件;
获取所述验证库执行所述第一配置指令后的第二配置文件;
确定所述第一配置文件与所述第二配置文件中不同的配置数据;
根据所述不同的配置数据生成第二配置指令;
在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库;
所述根据所述不同的配置数据生成第二配置指令,包括:
根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;
从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;
根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
2.如权利要求1所述的方法,其特征在于,所述将第一配置指令下发至网络设备的验证库之前,还包括:
向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;
所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,还包括:
向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
3.如权利要求2所述的方法,其特征在于,所述向所述网络设备下发同步指令之后,还包括:
在同步之后,向所述网络设备下发锁定指令,所述锁定指令用于指示锁定所述验证库;
所述获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,还包括:
向所述网络设备下发解锁指令,所述解锁指令用于指示解锁所述验证库。
4.如权利要求1至3任一项所述的方法,其特征在于,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置文件和所述第二配置文件为XML格式。
5.如权利要求1所述的方法,其特征在于,所述根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令,包括:
根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;
确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;
根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
6.如权利要求5所述的方法,其特征在于,通过如下方式确定所述第二配置指令与所述第一配置指令匹配,包括:
将Netconf格式的所述第一配置指令与命令行格式的所述第二配置指令,通过机器学习的方式确定是否匹配。
7.一种执行配置指令的装置,其特征在于,包括:
第一下发单元,用于将第一配置指令下发至网络设备的验证库,所述验证库具有与所述网络设备的运行库相同的第一配置文件;
获取单元,用于获取所述验证库执行所述第一配置指令后的第二配置文件;
确定单元,用于确定所述第一配置文件与所述第二配置文件中不同的配置数据;
生成单元,用于根据所述不同的配置数据生成第二配置指令;
第二下发单元,用于在所述第二配置指令与所述第一配置指令匹配时,将所述第一配置指令或所述第二配置指令下发至所述运行库;
所述确定单元,具体用于根据所述第一配置文件和所述第二配置文件,确定所述不同的配置数据对应的操作属性;从所述第一配置文件或所述第二配置文件中获取所述不同的配置数据的依赖数据;所述依赖数据为与所述不同的配置数据位于同一目录下的数据;所述生成单元,具体用于根据所述不同的配置数据、所述依赖数据和所述操作属性,生成所述第二配置指令。
8.如权利要求7所述的装置,其特征在于,所述第一下发单元,还用于所述将第一配置指令下发至网络设备的验证库之前,向所述网络设备下发同步指令,所述同步指令用于指示所述网络设备将所述运行库的所述第一配置文件同步至所述验证库;
所述第一下发单元,还用于所述获取单元获取所述验证库执行所述第一配置指令后的第二配置文件之后,向所述网络设备下发清除指令,所述清除指令用于指示所述网络设备清空所述验证库。
9.如权利要求8所述的装置,其特征在于,所述第一下发单元,还用于在同步之后,向所述网络设备下发锁定指令;所述锁定指令用于指示锁定所述验证库;
所述第一下发单元,还用于在所述获取单元获取所述验证库执行所述第一配置指令后的第二配置文件之后,且向所述网络设备下发清除指令之前,向所述网络设备下发解锁指令;所述解锁指令用于指示解锁所述验证库。
10.如权利要求7-9任一项所述的装置,其特征在于,所述第一配置指令为Netconf命令;所述第二配置指令为命令行;所述第一配置文件和所述第二配置文件为XML格式。
11.如权利要求7所述的装置,其特征在于,
所述生成单元,具体用于根据所述不同的配置数据、所述依赖数据和所述操作属性,生成配置数据结构体,其中,所述不同的配置数据和所述依赖数据以键值对的方式记载在所述配置数据结构体中;确定所述配置数据结构体中各键对应的命令行格式的字段,并将各键对应的键值确定为各字段的值;根据所述操作属性、所述各字段和各字段的值,生成命令行格式的所述第二配置指令。
12.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1-6任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911173679.3A CN110912743B (zh) | 2019-11-26 | 2019-11-26 | 一种执行配置指令的方法及装置 |
PCT/CN2020/125914 WO2021103948A1 (zh) | 2019-11-26 | 2020-11-02 | 一种执行配置指令的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911173679.3A CN110912743B (zh) | 2019-11-26 | 2019-11-26 | 一种执行配置指令的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912743A CN110912743A (zh) | 2020-03-24 |
CN110912743B true CN110912743B (zh) | 2021-11-16 |
Family
ID=69819595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911173679.3A Active CN110912743B (zh) | 2019-11-26 | 2019-11-26 | 一种执行配置指令的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110912743B (zh) |
WO (1) | WO2021103948A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912743B (zh) * | 2019-11-26 | 2021-11-16 | 中国银联股份有限公司 | 一种执行配置指令的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827078A (zh) * | 2009-12-30 | 2010-09-08 | 华为技术有限公司 | 一种配置数据差异的查询方法、服务器和通信系统 |
CN102148817A (zh) * | 2010-12-08 | 2011-08-10 | 华为技术有限公司 | 配置网络设备的方法、客户端、服务器端及网络系统 |
CN102752138A (zh) * | 2012-06-30 | 2012-10-24 | 华为技术有限公司 | 异步配置管理方法和网络设备 |
EP3111619A1 (en) * | 2014-02-28 | 2017-01-04 | Hangzhou H3C Technologies Co., Ltd. | Network configuration access |
CN109977097A (zh) * | 2019-03-07 | 2019-07-05 | 烽火通信科技股份有限公司 | 一种基于数据库的网络配置管理方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782604B2 (en) * | 2008-04-11 | 2014-07-15 | Oracle International Corporation | Sandbox support for metadata in running applications |
CN102006183A (zh) * | 2010-11-12 | 2011-04-06 | 百度在线网络技术(北京)有限公司 | 一种用于基于配置参数配置网络设备的方法与配置设备 |
CN107357717B (zh) * | 2017-06-07 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 检测配置错误的方法、装置及设备 |
CN110377356B (zh) * | 2019-06-14 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
CN110391949B (zh) * | 2019-09-19 | 2019-12-13 | 华为技术有限公司 | 一种配置变更的方法及相关装置 |
CN110912743B (zh) * | 2019-11-26 | 2021-11-16 | 中国银联股份有限公司 | 一种执行配置指令的方法及装置 |
-
2019
- 2019-11-26 CN CN201911173679.3A patent/CN110912743B/zh active Active
-
2020
- 2020-11-02 WO PCT/CN2020/125914 patent/WO2021103948A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827078A (zh) * | 2009-12-30 | 2010-09-08 | 华为技术有限公司 | 一种配置数据差异的查询方法、服务器和通信系统 |
CN102148817A (zh) * | 2010-12-08 | 2011-08-10 | 华为技术有限公司 | 配置网络设备的方法、客户端、服务器端及网络系统 |
CN102752138A (zh) * | 2012-06-30 | 2012-10-24 | 华为技术有限公司 | 异步配置管理方法和网络设备 |
EP3111619A1 (en) * | 2014-02-28 | 2017-01-04 | Hangzhou H3C Technologies Co., Ltd. | Network configuration access |
CN109977097A (zh) * | 2019-03-07 | 2019-07-05 | 烽火通信科技股份有限公司 | 一种基于数据库的网络配置管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
NETCONF协议详解;七夜AzzZ;《CSDN,https://blog.csdn.netanzheangelarticledetails78885880》;20171224;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021103948A1 (zh) | 2021-06-03 |
CN110912743A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427632B (zh) | 自动测试方法及装置 | |
CN106033436B (zh) | 一种数据库的合并方法 | |
CN107145437B (zh) | 一种java注解测试方法及装置 | |
US10466998B2 (en) | Model based upgrade campaign generation | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
CN112364049B (zh) | 数据同步脚本生成方法、系统、终端及存储介质 | |
CN111858584A (zh) | 元数据管理方法、系统及存储介质 | |
US20240152674A1 (en) | Quick simulation method and apparatus for integrated circuit, and storage medium | |
CN108664628A (zh) | 一种数据的导出方法及设备 | |
CN110912743B (zh) | 一种执行配置指令的方法及装置 | |
CN111444199A (zh) | 数据处理方法及装置、存储介质和处理器 | |
CN111026724B (zh) | 一种基于分布式系统的文件同步方法、装置、设备及介质 | |
CN106990974A (zh) | 一种app应用更新方法、装置及电子设备 | |
CN105468530B (zh) | 一种基于有限状态机的程序错误检测方法及系统 | |
US20140310248A1 (en) | Verification support program, verification support apparatus, and verification support method | |
US9367821B2 (en) | System and method for profiling requests in service systems | |
KR101563494B1 (ko) | 파일 변경에 따른 실시간 소스코드 보안 약점 탐지 장치 및 방법 | |
CN109508203B (zh) | 版本一致性确定方法、装置及系统 | |
CN107678917B (zh) | 测试机自动化管理方法、装置、设备及存储介质 | |
CN112286786A (zh) | 数据库的测试方法、装置和服务器 | |
CN112099879B (zh) | 配置信息管理方法、装置、计算机设备及存储介质 | |
CN113704123A (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN111241047B (zh) | 一种文件同步方法及装置 | |
CN111581019B (zh) | 一种存储故障恢复的测试方法和装置 | |
JPWO2013031129A1 (ja) | 情報処理装置、情報処理方法、及びプログラム |
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 |