CN109361550A - 网络设备配置管理的方法、装置及设备 - Google Patents
网络设备配置管理的方法、装置及设备 Download PDFInfo
- Publication number
- CN109361550A CN109361550A CN201811390557.5A CN201811390557A CN109361550A CN 109361550 A CN109361550 A CN 109361550A CN 201811390557 A CN201811390557 A CN 201811390557A CN 109361550 A CN109361550 A CN 109361550A
- Authority
- CN
- China
- Prior art keywords
- configuration
- template
- data file
- configuration data
- management
- 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.)
- Granted
Links
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/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- 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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络设备配置管理的方法、装置及设备,其中,一种网络设备配置管理的方法,包括:将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;将所述配置数据文件进行预处理,得到固定格式的配置数据文件;将所述固定格式的配置数据文件发送;接收对发送的固定格式的配置数据文件的反馈信息。解决了现有技术中存在因网络设备厂商不同而引起的管理配置命令不同,所造成众多设备之间难以维护的问题。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种网络设备配置管理的方法、装置及设备。
背景技术
由于现阶段网络设备厂商众多,品牌各异,且各厂商之间、品牌之间的管理配置方式不一致,即配置命令不同,如此就需要管理人员掌握各个厂商以及各个品牌之间的管理命令,才能对网络设备进行管理,直接提升管理人员对众多设备的配置维护难度。存在因网络设备厂商不同而引起的管理配置命令不同,所造成众多设备之间难以维护的问题。
发明内容
本发明实施例提供一种网络设备配置管理的方法、装置及设备,用以解决现有技术中存在因网络设备厂商不同而引起的管理配置命令不同,所造成众多设备之间难以维护的问题。
第一方面,本发明实施例提供一种网络设备配置管理的方法,包括:
将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
将所述固定格式的配置数据文件发送;
接收对发送的固定格式的配置数据文件的反馈信息。
作为本发明实施例的一种具体实现方式,所述将所述配置数据文件进行预处理,得到固定格式的配置数据文件的步骤之后,还包括:
建立NetConf会话。
作为本发明实施例的一种具体实现方式,所述将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,包括:
获取网络设备的yang模型文件;
将所述yang模型文件映射为与其直接耦合的模板,得到映射模板;
将所述映射模板作为实例化模板;
对所述实例化模板进行过滤,得到精简的待实例化模板件。
作为本发明实施例的一种具体实现方式,所述将所述映射模板作为实例化模板,具体为:
根据指令关键字选中某个与所述指令关键字匹配的映射模板作为实例化模板。
作为本发明实施例的一种具体实现方式,对所述实例化模板进行过滤,得到精简的待实例化模板件,具体为:
根据指令关键字作为搜索条件对所述实例化模板进行过滤,生成一个精简的待实例化模板件。
作为本发明实施例的一种具体实现方式,所述对所述实例化模板进行过滤,具体为:
过滤多余的节点和标签。
作为本发明实施例的一种具体实现方式,所述映射模板,包括:
xml模板或json串模板。
作为本发明实施例的一种具体实现方式,将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,具体为:
结合yang模型库中的yang文件的描述,将xml模板中的xml标签赋值或将json串模板中的json键值对赋值,从而得到含有完整配置信息的配置数据文件。
第二方面,本发明实施例提供网络设备配置管理的装置,包括:
嵌入模块:用于将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
预处理模块:用于将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
发送请求配置模块:用于将所述固定格式的配置数据文件发送;
接收处理回显模块:用于接收对发送的固定格式的配置数据文件的反馈信息。
第三方面,本发明实施例提供一种电子设备,所述电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
本发明实施例通过对网络设备的yang模型文件进行映射得到映射模板进行精简得到的待实例化模板件,从而将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,并将配置文件转换为固定格式后发送给服务端,并接收服务端反馈的信息,从而完成网络设备的配置管理,通过将不同厂商的网络设备的配置命令转换为统一的配置数据文件,从而解决了现有技术中存在因网络设备厂商不同而引起的管理配置命令不同,所造成众多设备之间难以维护的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例所示的NetConf协议栈的结构框图;
图2为本发明实施例一所述的网络设备配置管理的方法的流程图;
图3为本发明实施例一所述的将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件的流程图;
图4为本发明实施例二所述的网络设备配置管理的装置的原理框图;
图5为本发明实施例二所述的嵌入模块的原理框图;
图6为本发明实施例二所述的网络设备配置管理的装置的具体架构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有的配置管理系统整体设计遵从RFC 6241规则,其中RFC(Request ForComments)是一系列以编号排定的文件,文件收集了有关互联网相关信息,以及unix和互联网社区的软件文件,几乎所有的因特网标准都收录在RFC文件中,NetConf协议的相关介绍亦在RFC收录范围之内。
RFC6241描述了NetConf协议应遵从C/S架构,从而根据NetConf协议对网络设备进行管理,但其中并没有规定客户端和服务端使用的开发语言,如此便可以使用任何支持网络socket编程的开发语言进行客户端的设计,例如java、c语言、python、c#等。且客户端的连接方式可为SSH或HTTP,交互内容为xml格式的字节流或JSON串,xml字节流或JSON串均参考yang模型生成。
yang模型是随着NetConf协议而产生的数据建模语言,有RFC 6020定义,类似于XML Schema和SNMP的SMI,具有良好的可读性和可扩展性。在RFC 6044中详细的描述了NetConf和YANG模型的相互关系以及网络管理框架。
NetConf协议栈如图1所示,本规范采用基于SSH和XML实现NETCONF的数据结构和协议交互,定义了网络设备相关配置参数的数据格式。
传输层描述了客户端与服务端应支持SSH协议,且该传输层应符合RFC6242的要求。具体使用ssh2连接协议进行配置管理,且客户端能够支持多会话,服务端也需要支持多客户端连接。
消息层描述了客户端与服务端交互的详细配置管理信息,客户端应采用<RPC>消息封装发往服务端的请求,服务端解析rpc消息之后,应完成相应配置。若配置成功,则将配置相关信息封装在<rpc-reply>消息中,并返回给客户端;若配置失败,则将错误信息封装在<rpc error>中返回给客户端。若服务端处理<rpc>消息过程中没有发生错误或警告,且客户端没有请求任何数据,则服务端应返回<ok>消息。
操作层描述了服务端和客户端应支持NETCONF协议规定的基本协议操作,主要包括:get、get-config、edit-config、copy-config、delete-config、lock、unlock、close-session、kill-session、execute-action。客户端发起的操作可能成功,服务端应将操作的结果封装在<rpc-reply>中返回客户端。也可能失败,服务端应将操作的结果封装在<rpc-error>中返回客户端。
内容层描述了NetConf服务端和NetConf客户端之间交互的针对网络设备进行的数据内容,该数据内容主要囊括了对服务端的配置管理内容。
针对上述描述,目前已有的客户端管理工具需要用户手动根据yang模型编辑xml,从而完成对网络设备的配置管理,这种方式虽然直接,但依旧存在一定的局限性,例如目前已有的客户端均为独立型配置工具,即不存在二次开发的接口,从而导致该工具的可扩展性降低,所以无法与现有的管理系统进行联调,不便于企业级的管理和应用。为此设计一款便于企业级管理和应用的客户端配置工具,且能够为其它管理系统所调用的工具亟待解决。
本发明实施例提供一种网络设备配置管理的方法和方法,具体基于NetConf协议实现网络设备配置管理,用以解决因网络设备厂商不同而引起的管理配置命令不同,从而所造成众多设备之间难以维护的艰难问题,本发明实施例使用ssh建立连接和收发xml作为NetConf双方交互的数据信息。本发明实施例使用NetConf协议通信的前提是网络设备需要支持NetConf管理协议,且如果保证各设备厂商使用的yang模型一致则可以通配所有网络设备,本发明实施例主要说明的是采用指令关键字技术并结合yang模型文件对网络设备进行配置管理。如果需要通用管理各个网络设备,仅仅需要统一yang模型即可,现通过NetConf协议来完成网络设备的常规管理功能,网络设备的常规管理包括网络设备用户管理、网络设备snmp管理、网络设备ntp服务管理、网络设备路由(route)管理等常用管理功能,现已配置网络设备的用户管理范例,详细描述该套系统和方法所实现的功能。
实施例一:
本发明实施例提供一种网络设备配置管理的方法,如图2所示,包括:
步骤S201:将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
所有的NetConf配置均符合相应yang模型文件的描述,即NetConf协议的内容层用该符合yang模型文件的描述。
根据RFC 6241的描述,NetConf协议客户端和服务端通信的数据流为xml格式的字节流或JSON字节流,而yang模型仅仅作为一种建模语言用于描述最终生成的xml的文件或JSON串应该遵守的格式标准,所以需要对网络设备提供商提供的yang模型做直接映射,将yang模型映射为映射模板,可选的,映射模板,包括:xml模板或json串模板。即映射一套与之有直接耦合关系的xml模板或json串模板,最终所需配置的xml消息或json消息便是基于当前xml模板或json模实例化后的结果,该实例化的xml格式的消息或json消息可以用于客户端直接下发给服务端网络设备。
精简网络设备的yang模型文件的映射模板即对作为实体化模板的映射模板进行过滤,可选的,所述实例化模板进行过滤,具体为:过滤多余的节点和标签。由于网络设备提供商提供的yang模型是最全的,而在实际使用中很有可能只配置其中的一小部分,故需要过滤掉除本次配置外的节点和标签,过滤多余的节点和标签的功能。
可选的,将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,具体为:
结合yang模型库中的yang文件的描述,将xml模板中的xml标签赋值或将json串模板中的json键值对赋值,从而得到含有完整配置信息的配置数据文件。
步骤S202:将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
在实际的生产环境中,难免由于配置逻辑上的错误导致配置失败,即Netconf服务端无法正确响应NetConf客户端下发的配置数据,所以排错首先要验证的便是验证配置数据的正确性,而如果配置数据格式较为杂乱,则很难纠错,所以配置数据格式便显现额尤为重要。因此需要通过对配置数据文件进行预处理,将配置数据文件转换为统一的固定格式。例如转换为xml格式的树形缩进结构,从而加强输出结果的交互性。
步骤S203:将所述固定格式的配置数据文件发送;
在一个具体的应用场景中,将配置数据文件转换为统一的xml文件,客户端通过send()方法将xml文件发向服务端,发送完毕后客户端进入等待模式,即等待下一次配置数据文件的发送。
步骤S204:接收对发送的固定格式的配置数据文件的反馈信息。
在客户端发送配置数据文件的同时,客户端还通过recv()方法开始接收来自服务端发来的xml字节流消息,通过判断回显的xml字节流中描述数据的状态即可判断服务端是否正确回应客户端的请求配置,如果成功则返回<ok>标签。如果配置请求失败则返回<rpc-error>。
作为本发明的一种具体实现方式,步骤S202所述将所述配置数据文件进行预处理,得到固定格式的配置数据文件的步骤之后,还包括:
建立NetConf会话。
NetConf客户端和支持NetConf协议的服务端网络设备之间建立NetConf会话,双方首先发送并接受<hello>消息,用以识别双方各自支持的处理能力级别和相关配置的版本消息,从而在客户端和支持NetConf协议的服务端网络设备之间建立会话,该设计完全符合RFC6241中的描述。具体为使用socket连接工具与NetConf服务端建立会话连接,建立连接后进入等待状态,该等待状态将会等待指定某个具体的配置请求的xml文件消息,在本实施例中,指定上一步生成好的xml文件后,便会读取所指定的xml数据的内容,将读取结果由socket的send方法发向服务端网络设备,以此完成客户端的xml配置请求。
作为本发明的一种具体实现方式,如图3所示,步骤S201所述将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,包括:
步骤S301:获取网络设备的yang模型文件;
因所有的NetConf配置均符合相应yang模型文件的描述,即NetConf协议的内容层用该符合yang模型文件的描述。
因此在进行网络设备配置时,首先要获取网络设备的yang模型文件。
步骤S302:将所述yang模型文件映射为与其直接耦合的模板,得到映射模板;
即将yang模型文件映射为一套与之有直接耦合关系的映射模板,映射模板,包括xml模板或json串模板。
步骤S303:将所述映射模板作为实例化模板;
因最后的作为配置数据文件的xml消息或json消息便是基于当前xml模板或json模实例化后的结果。为了对不同厂商的管理命令进行统一,需要对管理命令提供一个统一的模板,本步骤即将上文对yang模型文件映射的映射模板作为实例化的模板,最后将配置参数填写如相应实例化的模板中的相应位置即可。
步骤S304:对所述实例化模板进行过滤,得到精简的待实例化模板件。
由于网络设备提供商提供的yang模型是最全的,而在实际使用中很有可能只配置其中的一小部分,故需要过滤掉除本次配置外的节点和标签,过滤多余的节点和标签的功能。
作为本发明的一种具体实现方式,步骤S303所述将所述映射模板作为实例化模板,具体为:
根据指令关键字选中某个与所述指令关键字匹配的映射模板作为实例化模板。
作为本发明的一种具体实现方式,步骤S304对所述实例化模板进行过滤,得到精简的待实例化模板件,具体为:
根据指令关键字作为搜索条件对所述实例化模板进行过滤,生成一个精简的待实例化模板件。
实施例二:
如图4所示,本发明实施例提供一种网络设备配置管理的装置,包括:
嵌入模块401:用于将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
预处理模块402:用于将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
发送请求配置模块404:用于将所述固定格式的配置数据文件发送;
接收处理回显模块405:用于接收对发送的固定格式的配置数据文件的反馈信息。
作为本发明的一种具体实现方式,装置还包括:
会话建立模块403:用于建立NetConf会话。
作为本发明的一种具体实现方式,如图5所示,嵌入模块401,包括:
yang模型管理模块501:获取网络设备的yang模型文件;
yang模型映射模块502:用于将所述yang模型文件映射为与其直接耦合的模板,得到映射模板;
实例化模板模块503:用于将所述映射模板作为实例化模板;
配置信息抽取模块504:用于对所述实例化模板进行过滤,得到精简的待实例化模板件。
作为本发明的一种具体实现方式,实例化模板模块503,具体:
用于根据指令关键字选中某个与所述指令关键字匹配的映射模板作为实例化模板。
作为本发明的一种具体实现方式,配置信息抽取模块504,具体:
用于根据指令关键字作为搜索条件对所述实例化模板进行过滤,生成一个精简的待实例化模板件。
作为本发明的一种具体实现方式,配置信息抽取模块504,具体:用于过滤多余的节点和标签。
作为本发明的一种具体实现方式,所述映射模板,包括:xml模板或json串模板。
作为本发明的一种具体实现方式,嵌入模块401,具体:
用于结合yang模型库中的yang文件的描述,将xml模板中的xml标签赋值或将json串模板中的json键值对赋值,从而得到含有完整配置信息的配置数据文件。
yang模型管理模块501,主要用于存放完整的yang模型文件,是所有yang模型文件的集合体,所有的NetConf配置均符合相应yang模型文件的描述,即NetConf协议的内容层用该符合yang模型文件的描述。
yang模型映射模块502,根据RFC 6241的描述,NetConf协议客户端和服务器通信的数据流为xml格式的字节流或JSON字节流,而yang模型仅仅作为一种建模语言用于描述最终生成的xml的文件或JSON串应该遵守的格式标准,所以需要对网络设备提供商提供的yang模型做直接映射,即映射一套与之有直接耦合关系的xml模板或json串模板,最终所需配置的xml消息或json消息便是基于当前xml模板或json模实例化后的结果,该实例化的xml格式的消息或json消息可以用于客户端直接下发给服务端网络设备。
配置信息抽取模块504,是一个动态的抽取模块,该抽取模块的特点是在使用前更新,为防止yang模型文件有变动,以保证符合最新yang模型文件对NetConf的功能描述。由于网络设备提供商提供的yang模型是最全的,而在实际使用中很有可能只配置其中的一小部分,故需要过滤掉除本次配置外的节点和标签,这种基于yang模型映射模块进行过滤从而生成配置所需的xml格式消息流或json格式消息流的过程是本发明实施例NetConf配置一个特点。
嵌入模块401还包括实例化模块505,实例化模块505是最重要和最核心的系统模块,该模块继承于配置信息抽取模块提供的配置信息抽取模块的实例化,该实例化的过程就是结合yang模型库中的yang文件的描述,将xml标签赋值或json键值对赋值,从而形成完整的配置下发消息。
关于预处理模块402,主要起到了优化配置数据结构的作用,便于查看和纠错,在实际的生产环境中,难免由于配置逻辑上的错误导致配置失败,即Netconf服务端无法正确响应NetConf客户端下发的配置数据,所以排错首先要验证的便是验证配置数据的正确性,而如果配置数据格式较为杂乱,则很难纠错,所以配置数据格式便显现额尤为重要。
关于发送请求配置模块404,主要起到了NetConf客户端和服务端交互的作用,该发送请求配置模块404接收预处理模块402的信息,将实例化的配置数据文件读入到内存中形成字节流,便于客户端完成发送。
关于接收处理回显模块405,主要起到了NetConf客户端接收服务端回显的配置结果,用以查看服务端的响应状态,如果成功响应了客户端的配置消息,则反馈ok,如未能成功响应客户端的配置请求,则会反馈错误消息,可根据错误消息进行纠错。主要用于实现NetConf客户端向服务端发送配置的相关功能的设计及展示。网络设备配置管理的装置具体架构如图6所示。
实施例三:
本发明实施例是网络设备配置管理的方法的一个具体实例,具体如下:
本发明提供一种网络设备配置管理的方法,基于NetConf协议实现网络设备配置管理,包括:
步骤一:配置信息抽取,对应于配置信息抽取模块504,其中yang模型映射模块502作为配置信息抽取的输入,yang模型映射结果作为yang模型管理模块501的结果,为实现较为完整的实施例范例,现提供如下yang模型作为实施例参考,如下:
进一步地,根据以上yang模型则会生成如下xml模板文件:
进一步地,结合预先定义好的配置关键字使用规范,用户可使用如下指令:“adduser-name admin-password 123456-user-type admin-access"rs232ssh netconf"-status active”解释器将会根据用户输入的指令对yang文件进行xml格式实例化,实例化输出结果如下,是符合xml格式的字符串流,例如:“<edit-config><target><running></target><default-operation>merge</default-opera tion><config><user-managexmlns="http://example.com/users"><users operation="merge"><name>admin</name><password>123456</password><user-ty pe>admin</user-type><access><ssh>true</ssh><rs232>true</rs232><netconf>true</netconf></access><status>active</status></users></user-manage></config></edit-c onfig>”
步骤二:配置数据预处理,该步处理方式即将步骤一的输出xml作为该步骤的输入信息,经处理后格式如下:
该步很明显的优化了xml的缩进结构。
步骤三:建立NetConf会话,使用socket连接工具与网络设备NetConf服务端建立会话连接,建立连接后进入等待状态,该等待状态将会等待指定某个具体的配置请求的xml文件消息,在本实施例中,指定上一步生成好的xml文件后,便会读取所指定的xml数据的内容,经读取结果由socket的send方法发向服务端网络设备端,以此完成客户端的xml配置请求。
步骤四:发送和接收xml字节流,其中发送xml字节流,将实例化的xml文件中的数据内容打开并读到内存中,使用socket套接字发送即可,从而完成对服务端网络设备的配置,实现管理用户的功能;其中接收xml字节流,例如查看配置结果,为保证对网络设备的配置无误,从而进行配置结果的查看验证,可用netconf提供的查询命令“get-config”获取用户详细信息,以此完成对网络设备的管理验证,接收到的xml字节流消息格式如下:
以上示例仅对展示了NetConf协议的操作层中的“edit-config”操作的xml样式,但同样可以实现NetConf的操作层的其它操作协议。例如实现如下操作:“get-config”、“get”,“copy-config”、“delete-config”、“lock”、“unlock”、“close-session”和“kill-session”,以下范例完全符合RFC6241规范描述。
“get-config”操作(获取运行态数据库消息):
“get”操作(获取固有数据):
“copy-config”操作(拷贝已有设备配置):
“delete-config”操作(删除“开机启动”态数据库配置):
“lock”操作(“运行态”上锁,防止它用户抢占配置):
“unlock”操作(“运行态”解锁,允许它用户配置):
“close-session”操作(结束NetConf会话):
“kill-session”操作(强制终止NetConf会话):
综上所述,本发明所述的方法和装置,针对网络设备使用NetConf协议完成配置管理,使用方法简单,功能强大,使用方便,简单易用,大大简化了平常的运维操作,降低了运维成本。
并且,本发明实施例所述的方法和装置,全程使用预定义的精简配置指令,无需用户掌握复杂的编程知识,只需要根据预定好的配置指令即可完成网络设备的全部管理功能,成功解决了网络设备本身的配置命令行下系统配置命令复杂且难以记忆的缺点。
实施例四:
本发明实施例提供一种电子设备,所述电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现实施例一的方法步骤。
处理器可以是通用处理器,例如中央处理器(Central Processing Unit,CPU),还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器用于存储所述处理器的可执行指令;存储器,用于存储程序代码,并将该程序代码传输给处理器。存储器可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);还可以包括上述种类的存储器的组合。
本发明实施例还提供一种提供计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一的方法步骤。
本发明实施例与现有的配置管理工具相比较,本发明实施例具有如下特点,通过基于NetConf协议实现网络设备配置管理的系统和方法,可以降低针对众多网络设备的运维成本和管理难度;便于操作和使用,使用了xml字节流作为双方信息交互的媒介,这使得用户使用xml但不直接操作xml,避免了直接操作xml的枯燥乏味;有着较高的容错率,会一定程度上过滤掉用户的错误输入,避免xml文件错误这种低级错误的产生。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务端,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种网络设备配置管理的方法,其特征在于,包括:
将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
将所述固定格式的配置数据文件发送;
接收对发送的固定格式的配置数据文件的反馈信息。
2.如权利要求1所述的网络设备配置管理的方法,其特征在于,所述将所述配置数据文件进行预处理,得到固定格式的配置数据文件的步骤之后,还包括:
建立NetConf会话。
3.如权利要求1所述的网络设备配置管理的方法,其特征在于,所述将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,包括:
获取网络设备的yang模型文件;
将所述yang模型文件映射为与其直接耦合的模板,得到映射模板;
将所述映射模板作为实例化模板;
对所述实例化模板进行过滤,得到精简的待实例化模板件。
4.如权利要求3所述的网络设备配置管理的方法,其特征在于,所述将所述映射模板作为实例化模板,具体为:
根据指令关键字选中某个与所述指令关键字匹配的映射模板作为实例化模板。
5.如权利要求3所述的网络设备配置管理的方法,其特征在于,对所述实例化模板进行过滤,得到精简的待实例化模板件,具体为:
根据指令关键字作为搜索条件对所述实例化模板进行过滤,生成一个精简的待实例化模板件。
6.如权利要求3所述的网络设备配置管理的方法,其特征在于,所述对所述实例化模板进行过滤,具体为:
过滤多余的节点和标签。
7.如权利要求1所述的网络设备配置管理的方法,其特征在于,所述映射模板,包括:
xml模板或json串模板。
8.如权利要求7所述的网络设备配置管理的方法,其特征在于,将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,具体为:
结合yang模型库中的yang文件的描述,将xml模板中的xml标签赋值或将json串模板中的json键值对赋值,从而得到含有完整配置信息的配置数据文件。
9.一种网络设备配置管理的装置,其特征在于,包括:
嵌入模块:用于将配置信息嵌入到待实例化模板件中,从而得到含有配置信息的配置数据文件,所述待实例化模板件是通过精简网络设备的yang模型文件的映射模板得到的;
预处理模块:用于将所述配置数据文件进行预处理,得到固定格式的配置数据文件;
发送请求配置模块:用于将所述固定格式的配置数据文件发送;
接收处理回显模块:用于接收对发送的固定格式的配置数据文件的反馈信息。
10.一种电子设备,其特征在于,所述电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390557.5A CN109361550B (zh) | 2018-11-21 | 2018-11-21 | 网络设备配置管理的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811390557.5A CN109361550B (zh) | 2018-11-21 | 2018-11-21 | 网络设备配置管理的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109361550A true CN109361550A (zh) | 2019-02-19 |
CN109361550B CN109361550B (zh) | 2021-06-08 |
Family
ID=65338277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811390557.5A Active CN109361550B (zh) | 2018-11-21 | 2018-11-21 | 网络设备配置管理的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361550B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311826A (zh) * | 2019-08-08 | 2019-10-08 | 迈普通信技术股份有限公司 | 网络设备配置方法及装置 |
CN110474794A (zh) * | 2019-07-10 | 2019-11-19 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN111711532A (zh) * | 2020-04-30 | 2020-09-25 | 国家计算机网络与信息安全管理中心 | 一种异构网络设备的统一管理方法 |
WO2020207051A1 (zh) * | 2019-04-11 | 2020-10-15 | 华为技术有限公司 | 网络验证的方法和装置 |
CN112187525A (zh) * | 2019-10-31 | 2021-01-05 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN112600685A (zh) * | 2020-10-30 | 2021-04-02 | 中盈优创资讯科技有限公司 | 一种ip ran网络设备配置规范自动检测及下发方法 |
CN112597343A (zh) * | 2020-12-21 | 2021-04-02 | 安徽皖通邮电股份有限公司 | 一种netconf自动化生成配置的方法 |
CN113326159A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 用于故障注入的方法、装置、系统及计算机可读存储介质 |
CN114844756A (zh) * | 2022-05-09 | 2022-08-02 | 杭州云合智网技术有限公司 | 基于netconf代理服务器管理网络设备的方法 |
US20220278897A1 (en) * | 2021-02-26 | 2022-09-01 | Hewlett Packard Enterprise Development Lp | Systems and methods for preprocessing automated network device configuration generation templates |
CN115037587A (zh) * | 2022-06-23 | 2022-09-09 | 未鲲(上海)科技服务有限公司 | 网络设备配置自动发放方法、装置、设备及存储介质 |
CN115174398A (zh) * | 2022-06-24 | 2022-10-11 | 浪潮卓数大数据产业发展有限公司 | 一种基于python交互式shell的网络设备配置方法、设备及介质 |
CN117278396A (zh) * | 2023-09-21 | 2023-12-22 | 中科驭数(北京)科技有限公司 | Dpu网卡配置方法及装置 |
WO2024016726A1 (zh) * | 2022-07-20 | 2024-01-25 | 华为技术有限公司 | 设备配置方法、网络设备、芯片及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559251A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
US9715380B2 (en) * | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
US20180013662A1 (en) * | 2016-07-05 | 2018-01-11 | Cisco Technology, Inc. | Method and apparatus for mapping network data models |
CN108055142A (zh) * | 2017-09-30 | 2018-05-18 | 广州西麦科技股份有限公司 | 一种vCPE设备的接口自动化配置方法及系统 |
CN108055143A (zh) * | 2017-09-30 | 2018-05-18 | 广州西麦科技股份有限公司 | 一种SDN-Hub的配置方法和系统 |
-
2018
- 2018-11-21 CN CN201811390557.5A patent/CN109361550B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9715380B2 (en) * | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
CN106559251A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
US20180013662A1 (en) * | 2016-07-05 | 2018-01-11 | Cisco Technology, Inc. | Method and apparatus for mapping network data models |
CN108055142A (zh) * | 2017-09-30 | 2018-05-18 | 广州西麦科技股份有限公司 | 一种vCPE设备的接口自动化配置方法及系统 |
CN108055143A (zh) * | 2017-09-30 | 2018-05-18 | 广州西麦科技股份有限公司 | 一种SDN-Hub的配置方法和系统 |
Non-Patent Citations (3)
Title |
---|
AUTOMATION: "Configuring Cisco IOS XE With YANG-based YAML Files", 《HTTPS://NETWORKOP.CO.UK/BLOG/2017/03/13/YAML-YANG》 * |
AUTOMATION: "Getting Started With NETCONF and YANG on Cisco IOS XE", 《HTTPS://NETWORKOP.CO.UK/BLOG/2017/01/25/NETCONF-INTRO/》 * |
AUTOMATION: "Introduction ot YANG Programming and RESTCONF on Cisco IOS XE", 《HTTPS://NETWORKOP.CO.UK/BLOG/2017/02/15/RESTCONF-YANG/#DISQUS_THREAD》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020207051A1 (zh) * | 2019-04-11 | 2020-10-15 | 华为技术有限公司 | 网络验证的方法和装置 |
US11909744B2 (en) | 2019-04-11 | 2024-02-20 | Huawei Technologies Co., Ltd. | Network verification method and apparatus |
CN110474794B (zh) * | 2019-07-10 | 2021-04-27 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN110474794A (zh) * | 2019-07-10 | 2019-11-19 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN110311826A (zh) * | 2019-08-08 | 2019-10-08 | 迈普通信技术股份有限公司 | 网络设备配置方法及装置 |
CN110311826B (zh) * | 2019-08-08 | 2022-05-17 | 迈普通信技术股份有限公司 | 网络设备配置方法及装置 |
CN112751698A (zh) * | 2019-10-31 | 2021-05-04 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN112187525B (zh) * | 2019-10-31 | 2021-08-20 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
US12095637B2 (en) | 2019-10-31 | 2024-09-17 | Huawei Technologies Co., Ltd. | Device management method, apparatus, system, and device, and storage medium |
CN112187525A (zh) * | 2019-10-31 | 2021-01-05 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN112751698B (zh) * | 2019-10-31 | 2023-10-24 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN113326159B (zh) * | 2020-02-29 | 2023-02-03 | 华为技术有限公司 | 用于故障注入的方法、装置、系统及计算机可读存储介质 |
CN113326159A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 用于故障注入的方法、装置、系统及计算机可读存储介质 |
CN111711532B (zh) * | 2020-04-30 | 2022-10-04 | 国家计算机网络与信息安全管理中心 | 一种异构网络设备的统一管理方法 |
CN111711532A (zh) * | 2020-04-30 | 2020-09-25 | 国家计算机网络与信息安全管理中心 | 一种异构网络设备的统一管理方法 |
CN112600685A (zh) * | 2020-10-30 | 2021-04-02 | 中盈优创资讯科技有限公司 | 一种ip ran网络设备配置规范自动检测及下发方法 |
CN112597343A (zh) * | 2020-12-21 | 2021-04-02 | 安徽皖通邮电股份有限公司 | 一种netconf自动化生成配置的方法 |
US11770299B2 (en) * | 2021-02-26 | 2023-09-26 | Hewlett Packard Enterprise Development Lp | Systems and methods for preprocessing automated network device configuration generation templates |
US20220278897A1 (en) * | 2021-02-26 | 2022-09-01 | Hewlett Packard Enterprise Development Lp | Systems and methods for preprocessing automated network device configuration generation templates |
CN114844756A (zh) * | 2022-05-09 | 2022-08-02 | 杭州云合智网技术有限公司 | 基于netconf代理服务器管理网络设备的方法 |
CN115037587A (zh) * | 2022-06-23 | 2022-09-09 | 未鲲(上海)科技服务有限公司 | 网络设备配置自动发放方法、装置、设备及存储介质 |
CN115037587B (zh) * | 2022-06-23 | 2024-03-22 | 佛山领客易选科技服务有限公司 | 网络设备配置自动发放方法、装置、设备及存储介质 |
CN115174398A (zh) * | 2022-06-24 | 2022-10-11 | 浪潮卓数大数据产业发展有限公司 | 一种基于python交互式shell的网络设备配置方法、设备及介质 |
WO2024016726A1 (zh) * | 2022-07-20 | 2024-01-25 | 华为技术有限公司 | 设备配置方法、网络设备、芯片及计算机可读存储介质 |
CN117278396A (zh) * | 2023-09-21 | 2023-12-22 | 中科驭数(北京)科技有限公司 | Dpu网卡配置方法及装置 |
CN117278396B (zh) * | 2023-09-21 | 2024-10-18 | 中科驭数(北京)科技有限公司 | Dpu网卡配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109361550B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109361550A (zh) | 网络设备配置管理的方法、装置及设备 | |
WO2017054531A1 (zh) | 一种基于yang模型的编译方法、及对应的接口、组件和系统 | |
Medved et al. | Opendaylight: Towards a model-driven sdn controller architecture | |
US7751339B2 (en) | Method and apparatus for simply configuring a subscriber appliance for performing a service controlled by a separate service provider | |
US8099456B2 (en) | Application programming interface for implementing directory service access using directory service markup language | |
EP3432517B1 (en) | Device configuration method and apparatus based on network configuration protocol | |
CN103297475B (zh) | Mock服务系统及Mock服务的处理方法 | |
KR100453824B1 (ko) | 이기종 네트워크 장비의 구성 관리를 위한 엑스엠엘 기반망 관리 시스템 및 방법 | |
US6804816B1 (en) | Method and template for developing device-centric network management applications | |
CN104883266B (zh) | 网络配置访问方法及装置 | |
CN106776313A (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
EP3170284A1 (en) | Enhanced operations between service layer and management layer in an m2m system by allowing the execution of a plurality of commands on a plurality of devices | |
US20130290453A1 (en) | System and method for a connector being able to adapt to newer features introduced to a messaging provider with only configuration changes | |
US20030131075A1 (en) | Language and interface for unified network service creation, provision and deployment | |
CN107133024A (zh) | 基于osgi框架的业务管理系统 | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN114254606A (zh) | 微服务框架模型 | |
CN115883669B (zh) | 一种数据分发方法、系统、设备和介质 | |
WO2017219778A1 (zh) | 路由器业务配置方法及路由器、存储介质 | |
KR20180058458A (ko) | Tosca 기반의 정보 모델을 이용하는 가상화 네트워크 기능 관리 방법, 가상 네트워크 기능 관리자, 및 이를 이용한 네트워크 기능 가상화 시스템 | |
CN106453686B (zh) | Jmx客户端的连接方法和连接装置 | |
CN115866069A (zh) | 远程调用请求的处理方法及系统、电子设备 | |
CN110955537B (zh) | 一种物理机纳管方法及装置 | |
CN116701004A (zh) | 云函数开发方法、装置、电子装置和存储介质 | |
CN115550468A (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 |