CN112688794A - Yang模型的管理方法、装置、系统、设备及存储介质 - Google Patents
Yang模型的管理方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112688794A CN112688794A CN201911061600.8A CN201911061600A CN112688794A CN 112688794 A CN112688794 A CN 112688794A CN 201911061600 A CN201911061600 A CN 201911061600A CN 112688794 A CN112688794 A CN 112688794A
- Authority
- CN
- China
- Prior art keywords
- yang
- packet
- target
- target yang
- instructions
- 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.)
- Pending
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/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- 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/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- 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
-
- 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/20—Network management software packages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了YANG模型的管理方法、装置、系统、设备及存储介质。该方法包括:第一网络设备确定第二网络设备中目标YANG包,所述目标YANG包包括至少两个业务相关的YANG模型。所述第一网络设备生成针对所述目标YANG包的处理指令,并向第二网络设备发送所述处理指令。所述处理指令包括所述目标YANG包的标识,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息。本申请基于扩展的新的操作指令,能够针对YANG包进行区分处理,以进行精细化读写管理,能够减少错误,提高管理效率。
Description
本申请要求于2019年10月18日提交的申请号为201910994980.4、发明名称为“管理网络设备的方法、设备和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种YANG模型的管理方法、装置、系统、设备及存储介质。
背景技术
随着网络规模逐渐变得庞大而且复杂,网络设备越来越多。为了能够对网络设备进行管理,网络配置协议(network configuration protocol,NETCONF)作为一种可编程的、对网络设备进行配置和管理的协议应运而生。此外,为了解决配置和管理实践中遇到的问题和不足,YANG建模语言被广泛应用起来。
YANG是互联网工程任务组(internet engineering task force,IETF)标准组织定义的一种将网络配置管理数据模型化描述的语言,以支持NETCONF客户端和服务端之间数据的完整描述,通过YANG模型来描述NETCONF客户端和服务端之间交互的配置数据、状态数据、远程过程调用(remote procedure call,RPC)和通知(Notification)。因此,如何对YANG模型进行管理,是网络设备管理过程中亟待解决的问题。
发明内容
本申请实施例提供了一种YANG模型的管理方法、装置、系统、设备及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种YANG模型的管理方法,所述方法包括:第一网络设备确定第二网络设备中的目标YANG包,该目标YANG包包括至少两个业务相关的YANG modules(模型);第一网络设备生成针对该目标YANG包的处理指令,该处理指令包括目标YANG包的标识,之后,第一网络设备将该处理指令发送给第二网络设备,其中,目标YANG包的标识用于标识该目标YANG包,且该目标YANG包的标识包括目标YANG包的名称,或者,该目标YANG包的标识包括该YANG包的名称及版本信息。
基于扩展的新的操作指令,能够针对YANG包进行区分,以进行精细化读写管理,能够减少错误,提高管理效率。
在示例性实施例中,所述处理指令包括第一指令,该第一指令包括所述目标YANG包的标识,该第一指令用于指示读取与目标YANG包的标识对应的目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型;
第一网络设备向第二网络设备发送处理指令之后,还接收目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构。
在示例性实施例中,所述处理指令还包括第二指令,该第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与该目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载该目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还携带命令行接口CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,所述处理指令还包括第三指令,所述第三指令包括目标YANG包的标识,该第三指令用于指示查询与目标YANG包具有依赖关系的YANG包;
第一网络设备向第二网络设备发送所述处理指令之后,还包括:接收所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
例如,第一网络设备接收目标YANG包所依赖的第一YANG包列表,或者,第一网络设备接收依赖该目标YANG包的第二YANG包列表,或者,该第一网络设备接收目标YANG包所依赖的第一YANG包列表和依赖该目标YANG包的第二YANG包列表。
在示例性实施例中,所述处理指令还包括第四指令,该第四指令包括所述目标YANG包的标识,该第四指令用于指示删除与目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第二YANG包。
第二方面,提供一种YANG模型的管理方法,所述方法包括:第二网络设备接收第一网络设备发送的针对目标YANG包的处理指令,该目标YANG包包括至少两个业务相关的YANG模型,该处理指令包括用于标识目标YANG包的目标YANG包的标识,该目标YANG包的标识包括所述目标YANG包的名称,或者,该目标YANG包的标识包括目标YANG包的名称及版本信息;之后,第二网络设备根据该处理指令对与目标YANG包的标识对应的目标YANG包进行处理。
在示例性实施例中,所述处理指令包括第一指令,该第一指令包括所述目标YANG包的标识,该第一指令用于指示读取与目标YANG包的标识对应的目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
第二网络设备在根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理时,根据该第一指令读取与目标YANG包的标识对应的一个或多个YANG模型以及对应的结构;之后,向所述第一网络设备发送该一个或多个YANG模型以及对应的结构。
在示例性实施例中,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,包括:根据所述第二指令加载与所述目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与该目标YANG包的标识对应的目标YANG包;
所述根据所述第二指令加载与目标YANG包的标识对应的目标YANG包,包括:根据所述第二指令在所述加载位置加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还携带CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本;所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,还包括:根据所述CLI的脚本文件将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与所述目标YANG包具有依赖关系的YANG包;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,还包括:根据所述第三指令查询所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表;向所述第一网络设备发送所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
其中,第二网络设备根据第三指令查询所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表包括查询所述目标YANG包所依赖的第一YANG包列表和依赖所述目标YANG包的第二YANG包列表中的一个或组合。
在示例性实施例中,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包;
所述根据所述处理指令对所述目标YANG包的标识对应的目标YANG包进行处理,还包括:根据所述第四指令删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
第三方面,提供了一种YANG模型的管理装置,所述装置应用于第一网络设备,所述装置包括:
确定模块用于确定第二网络设备中目标YANG包,所述目标YANG包包括至少两个业务相关的YANG模型;
生成模块用于生成针对所述目标YANG包的处理指令,所述处理指令包括所述目标YANG包的标识,所述目标YANG包的标识用于标识所述目标YANG包,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息;
发送模块用于向所述第二网络设备发送所述处理指令。
在示例性实施例中,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
该装置,还包括:接收模块用于接收所述一个或多个YANG模型以及与一个或多个YANG模型对应的结构。
在示例性实施例中,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还携带CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与目标YANG包具有依赖关系的YANG包;
所述装置,还包括:接收模块用于接收所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
在示例性实施例中,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
第四方面,提供了一种YANG模型的管理装置,所述装置用于第二网络设备,所述装置包括:
接收模块用于接收第一网络设备发送的针对目标YANG包的处理指令,所述目标YANG包包括至少两个业务相关的YANG模型,所述处理指令包括所述目标YANG包的标识,该YANG包的标识用于标识所述目标YANG包,目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息;
处理模块用于根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理。
在示例性实施例中,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
所述处理模块还用于根据所述第一指令读取与所述目标YANG包的标识对应的所述至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构;
所述装置还包括:
发送模块用于向所述第一网络设备发送所述一个或多个YANG模型以及对应的结构。
在示例性实施例中,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包;
所述处理模块还用于根据所述第二指令加载与所述目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包;
所述处理模块用于根据所述第二指令在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包。
在示例性实施例中,所述第二指令还携带CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本;
所述处理模块还用于根据所述CLI的脚本文件将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与目标YANG包具有依赖关系的YANG包;
所述处理模块还用于根据所述第三指令查询所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表;
所述装置,还包括:发送模块,用于向所述第一网络设备发送所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
在示例性实施例中,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包;
所述处理模块还用于根据所述第四指令删除所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
第五方面,还提供了一种第一网络设备,所述第一网络设备用于执行上述第一方面任一所述的方法。
第六方面,还提供了一种第二网络设备,所述第二网络设备用于执行上述第二方面任一所述的方法。
第七方面,还提供一种网络设备,所述设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述第一方面或第二方面任一所述的方法。
第八方面,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上第一方面或第二方面任一所述的方法。
第九方面,还提供了一种YANG模型的管理系统,该系统包括第一网络设备和第二网络设备;第一网络设备执行上述第一方面提供的任一所述的方法,所述第二网络设备执行上述第二方面提供的任一所述的方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的YANG模型的管理系统结构示意图;
图2为本申请实施例提供的网络设备内的YANG包示意图;
图3为本申请实施例提供的YANG模型的管理方法流程图;
图4为本申请实施例提供的处理指令的结构示意图;
图5为本申请实施例提供的处理指令的结构示意图;
图6为本申请实施例提供的处理指令的结构示意图;
图7为本申请实施例提供的处理指令的结构示意图;
图8为本申请实施例提供的处理指令的结构示意图;
图9为本申请实施例提供的YANG模型的管理过程的交互示意图;
图10为本申请实施例提供的YANG包的结构示意图;
图11为本申请实施例提供的YANG模型的管理系统结构示意图;
图12为本申请实施例提供的YANG模型的管理系统结构示意图;
图13为本申请实施例提供的处理指令的结构示意图;
图14为本申请实施例提供的处理指令的结构示意图;
图15为本申请实施例提供的处理指令的结构示意图;
图16为本申请实施例提供的YANG包的结构示意图;
图17为本申请实施例提供的YANG模型的管理交互过程示意图;
图18为本申请实施例提供的YANG模型的管理交互过程示意图;
图19为本申请实施例提供的YANG模型的管理装置的结构示意图;
图20为本申请实施例提供的YANG模型的管理装置的结构示意图;
图21为本申请实施例提供的YANG模型的管理装置的结构示意图;
图22为本申请实施例提供的YANG模型的管理装置的结构示意图;
图23为本申请实施例提供的网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
随着网络规模逐渐变得庞大而且复杂,网络设备越来越多。为了能够对网络设备进行管理,NETCONF应运而生。NETCONF是一种基于可扩展标记语言(extensible markuplanguage,XML)的网络管理协议,它提供了一种可编程的、对网络设备进行配置和管理的方法,通过该NETCONF协议能够设置参数、获取参数值、获取统计信息等。
由于NETCONF报文使用XML格式,具有过滤能力,而且每一个数据项都有一个固定的元素名称和位置,使得同一厂商的不同设备具有相同的访问方式和结果呈现方式,不同厂商之间的设备也可以经过映射XML得到相同的效果。在这样的网管软件的协助下,使用NETCONF功能会使网络设备的配置管理工作,变得更简单更高效。
除NETCONF之外,表现层状态转换协议(representational state transferconfiguration,RESTCONF)作为一种RESTful协议,基于HTTP承载可用于访问YANG中定义的数据,以及使用NETCONF中定义的数据存储。其中关于YANG的定义和描述可以参考征求意见稿(Requirement For Comments,RFC)6020和RFC7950的相关描述。RESTCONF实现了restful风格的简化版NETCONF协议,例如,基于超文本传输协议(hypertext transfer protocol,HTTP)的PUT/POST/DELETE/GET用来编辑、查询YANG模型定义的数据,POST操作还用来执行YANG模型定义的RPC方法。
也就是说,通过NETCONF和RESTCONF均可以对YANG模型进行管理。例如,RFC 6022中规定NETCONF使用<get-schema>operation来读取单个模型(module)的schema或者通过<get>operation读取/netconf-state/schemas获得全部schema list。又例如,在RFC 8040中,RESTCONF通过YANG library读取module的schema URL,之后根据统一资源定位符(uniform resource location,URL),通过GET method读取单个module schema resource。
无论是通过NETCONF对YANG模型进行管理,还是通过RESTCONF对YANG模型进行管理,由于网络设备可能会被多个网络管理设备进行管理,如何对网络设备上的YANG模型进行管理,是提高网络设备管理效率的关键。
例如,以如图1所示的网络系统为例,网络设备被多个网络管理设备进行管理,如负责部署安装的网络管理设备,负责业务配置的网络管理设备,负责故障处理的网络管理设备等,该网络管理设备可以为NETCONF/RESTCONF控制器或NETCONF/RESTCONF客户端。被管理的网络设备可以是网络中的相关的设备,例如路由器,交换机,网关,防火墙等设备,还可以是服务器或服务端设备。例如,图1中,设备1、设备2和设备3分别被控制器1和控制器2管理。控制器1是负责部署安装的网络管理设备,控制器2是负责业务配置和故障处理的网络管理设备,设备1、设备2和设备3分别被控制器1和控制器2管理。设备1上有多个软件包对应的YANG package,如IETF-device-pkg-2019-01-10@1.1.0、IETF-L3VPN-pkg-2019-08-01@1.0.0和Xxx-L3VPN-pkg-2017-01-10@5.1.0。图1中的软件包仅为举例说明,设备上还可以包括其他软件包。例如,设备上的软件包还可如图2所示。
其中,NETCONF/RESTCONF控制器或NETCONF/RESTCONF客户端:用于对网络设备进行远程管理,包括设备的软件安装,升级,以及软件包支持的功能所对应的模型包,模型的动态加载和去加载。NETCONF/RESTCONF设备(device)或NETCONF/RESTCONF服务器(server):执行客户端调用的协议操作,服务器可以向客户端返回操作的结果。
然而,网络设备在对YANG包(package)进行生命周期管理时,NETCONF或RESTCONF定义的操作是对指定数据集(datastore)的全部模型或单个模型的处理,缺少对Package数据集的处理。此外,网管控制器只能调用get-schema操作读取设备内支持的YANG模型schema(结构),之后通过人工或机器依次判断业务依赖关系,进行分类、组装等工作,容易出错效率低下且容易出错。
对此,本申请实施例提供了一种YANG模型的管理方法,该方法以网络管理设备为第一网络设备,被管理的设备为第二网络设备为例,基于package粒度,对设备所支持模型集进行管理,允许网络设备对相关package模型集进行细粒度的操作,并支持不同网管系统对设备模型集进行更新或删除操作。参见图3,该方法包括如下几个过程:
301,第一网络设备确定第二网络设备中的目标YANG包,目标YANG包包括至少两个业务相关的YANG模型。
在本申请实施例中,第二网络设备中已安装有多种YANG模型,为了便于管理,可基于业务维度对YANG模型进行包划分,以将相同业务维度的YANG模型划分到一个YANG包中。也就是说,一个YANG包中包括至少两个业务相关的YANG模型。关于对YANG包的划分方式,本申请实施例不进行限定。示例性地,可以将第二网络设备中业务相关的YANG模型细分为多个功能小包。例如,将第二网络设备中的YANG包划分之后,基础包中包括某业务需依赖的基本功能的模型集合。其中,基础包是被其他包所依赖的YANG包,特性包是依赖该基础包的YANG包。
无论以哪种方式对第二网络设备中的YANG包进行划分,第一网络设备可以读取第二网络设备上的YANG模型信息及YANG包信息。
302,第一网络设备获取针对目标YANG包的处理指令,向第二网络设备发送处理指令。
由于第二网络设备上包括多种YANG包,第一网络设备可以对任意YANG包进行管理,为了能够明确是对哪个YANG包进行处理,该处理指令包括目标YANG包的标识。示例性地,该目标YANG包的标识包括目标YANG包的名称,或者该目标YANG包的名称及版本信息。此外,在本申请实施例中,处理方式也可以有多种,因而第一网络设备确定目标YANG包后,获取针对目标YANG包的处理指令,包括但不限于如下一种或多种类型的指令:
类型一:第一指令,该第一指令包括目标YANG包的标识,该第一指令用于指示读取与目标YANG包的标识对应的目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型。
针对类型一的第一指令,第一网络设备可对第二网络设备中的目标YANG包进行读取,以进行查询。例如,第一指令可通过get-package-schema实现,从而实现第一网络设备按照包的维度读取第二网络设备内部署的yang package和某一package内的schema信息。
示例性地,第一网络设备向第二网络设备发送包括get-package-schema的第一RPC,该get-package-schema中携带目标YANG包的标识。
其中,目标YANG包的标识可以是目标YANG包的名称(name),还可以包括版本信息,版本信息可以由起到标识作用的数字组成,不同版本的YANG包的版本信息不同。例如,该第一RPC可如图4中的(1)或者(2)所示。
类型二:第二指令,第二指令包括目标YANG包的标识,该第二指令用于指示加载与目标YANG包的标识对应的目标YANG包。
针对类型二的第二指令,第一网络设备可对第二网络设备加载目标YANG包。例如,第二指令可通过bind-package-schema-to-datastore,实现第一网络设备按照包的维度向第二网络设备的datastore中加载目标YANG包。
在示例性实施例中,该第二指令还包括加载位置,则第二指令用于指示在加载位置加载与该目标YANG包的标识对应的目标YANG包。
示例性地,第一网络设备向第二网络设备发送包括bind-package-schema-to-datastore的第二RPC,该bind-package-schema-to-datastore中携带加载的位置(如datastore信息);需要加载的package标识(如package name);需要加载的package版本等信息。例如,该第二RPC可如图5所示。
在示例性实施例中,该第二指令还携带命令行接口(command-line interface,CLI)的脚本文件。该CLI的脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本,对于支持netconf yang接口的设备,可以据此将所述目标YANG包中的YANG模型转换为CLI脚本。
类型三:第三指令,第三指令包括目标YANG包的标识,第三指令用于指示查询与目标YANG包的标识对应的目标YANG包具有依赖关系的YANG包。
针对类型三的第三指令,第一网络设备可对第二网络设备中与目标YANG包具有依赖关系的YANG包进行查询。其中,与目标YANG包具有依赖关系的YANG包包括目标YANG模型数据包依赖的第一YANG包,以及依赖目标YANG包的第二YANG包。例如,第三指令可通过get-package-dependency实现,从而实现第一网络设备查询第二网络设备的Datastore某一包及所有依赖于该包的第二YANG包以及该目标YANG模型数据包所依赖的第一YANG包。
需要说明的是,第一YANG包和第二YANG包的数量可以为一个或多个,本申请实施例对此不进行限定。
示例性地,第一网络设备向第二网络设备发送包括get-package-dependency的第三RPC,该get-package-dependency中携带读取的位置(如datastore信息);package标识(如package name);package版本等信息。例如,该第三RPC可如图6所示。
类型四:第四指令,第四指令包括目标YANG包的标识,第四指令用于指示删除与目标YANG包的标识对应的目标YANG包及依赖目标YANG包的第三YANG包。
针对类型四的第四指令,第一网络设备可控制对第二网络设备上的目标YANG包进行删除。例如,第四指令可通过delete-package-schema实现,从而实现第一网络设备控制第二网络设备删除第二网络设备上的目标YANG包以及依赖该目标YANG包的第三YANG包。
示例性地,第一网络设备向第二网络设备发送包括delete-package-schema的第四RPC,该delete-package-schema中携带读取的位置(如datastore信息);package标识(如package name);package版本等信息。例如,该第四RPC可如图7所示。
303,第二网络设备接收第一网络设备发送的针对目标YANG包的处理指令。
第二网络设备可通过网络接收第一网络设备发送的针对目标YNAG包的处理指令,例如,第一网络设备可发送上述类型一至类型四中的一种或多种处理指令,则第二网络设备接收对应的处理指令。
304,第二网络设备根据处理指令对目标YANG包进行处理。
由于处理指令包括但不限于上述类型一至类型四中的一种或多种指令,因此,第二网络设备根据处理指令对目标YANG包进行处理,包括但不限于如下一种或多种处理方式:
处理方式一:针对处理指令包括上述类型一的第一指令的方式,根据处理指令对目标YANG包进行处理,包括:根据第一指令读取目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构;向第一网络设备发送目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构。
该处理方式一中,例如,如图4中的(1)所示的指令,第二网络设备向第一网络设备发送目标该package内包含的整体schema信息。或者,例如,如图4中的(2)所示,第二网络设备向第一网络设备发送目标该package内包含的moduleschema列表信息。
相应的,第一网络设备向第二网络设备发送处理指令之后,还包括:目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构。
处理方式二:针对处理指令包括上述类型二的第二指令的方式,根据处理指令对目标YANG包进行处理,包括:根据第二指令加载与目标YANG包的标识对应的目标YANG包。
由于在示例性实施例中,第二指令还包括加载位置,由于第二指令中携带目标YANG包的加载位置、目标YANG包的标识,因此,第二网络设备根据第二指令在加载位置加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,第二指令还携带CLI的脚本文件;相应的,第二网络设备根据处理指令对目标YANG包进行处理,还包括:根据脚本文件将所述目标YANG包中的YANG模型转换为CLI脚本。
处理方式三:针对处理指令包括上述类型三的第三指令的方式,根据处理指令对目标YANG包进行处理,包括:根据第三指令查询目标YANG包所依赖的第一YANG包列表和/或依赖目标YANG包的第二YANG包列表;向第一网络设备发送目标YANG包所依赖的第一YANG包列表和/或依赖目标YANG包的第二YANG包列表。
示例性地,第二网络设备向第一网络设备发送的目标YANG包所依赖的所有包列表,即第一YANG包列表包括如下信息:
第一YANG包的package标识(如package name);package版本;该package内包含的schema信息等。
依赖目标YANG包的第二YANG包列表,包括如下信息:
第二YANG包的package标识(如package name);package版本;该package内包含的schema信息等。
相应的,第一网络设备向第二网络设备发送处理指令之后,还包括:接收目标YANG包所依赖的第一YANG包列表和/或依赖所述目标YANG包的第二YANG包列表。
处理方式四:针对处理指令包括上述类型四的第四指令的方式,根据处理指令对目标YANG包进行处理,包括:根据第四指令删除目标YANG包的标识对应的目标YANG包及依赖目标YANG包的第二YANG包。
此外,第四指令中还可以携带目标YANG包的读取位置信息,也即第四指令中携带目标YANG包的读取位置信息、目标YANG包的标识,因此,第二网络设备可以据此删除目标YANG包。且由于第二网络设备能够获取到目标YANG模型的依赖关系,因而删除目标YANG包之后,还可删除依赖目标YNAG模型数据包的第二YANG包。
需要说明的是,除上述几种处理指令以及对应的处理方式外,针对YANG包的处理方式还可以有其他方式,本申请实施例不对具体的处理方式进行限定。例如,针对加载目标YANG包的情况,除了图5所示的情况外,还可以针对NETCONF monitoring模型进行扩展,如图8所示,可针对NETCONF monitoring模型加载目标YANG包,以实现对NETCONF monitoring模型进行扩展。
此外,上述加载目标YANG包的情况,可以是加载第二网络设备上未安装的YANG包,也可以是第二网络设备上已有的YANG包。
综上所述,本申请实施例提供的方法,基于扩展的新的操作指令,允许读取package的schema、读取package的依赖关系、加载datastore的package schema、删除datastore的package schema,还可更新NETCONF状态模型schema扩展,因此,本申请提供的方法能够针对YANG包进行区分,以进行精细化读写管理,能够减少错误,提高管理效率。
接下来,以上述几种处理指令的应用过程为例,对YANG模型的管理方法进行说明。
首先,以第一网络设备为控制器,包括控制器1和控制器2,第二网络设备为设备3,设备3上包括的软件包包括基础功能包及L3VPN功能包,控制器查询设备3内已有的YANG包的信息,将需要新写入的目标YANG包加载进设备3为例,对YANG模型的管理方法进行说明。参见图9,该方法包括如下几个过程:
901,控制器1向设备3下发第一个基础功能包及相关一个或多个YANG packageschema。
例如,该基础功能包可以是IETF-device-pkg,xxx-device-pkg,openconfig-device-pkg,可以在控制器1在安装软件时,指定选择ietf YANG。也可以是设备3在安装软件时,如果没有指定,则默认选某个YANG包,该默认选的某个YANG包可以是厂商私有YANG包。
902,设备3验证该基础功能包及YANG package schema。如果有多个packageschema,则选择缺省或者指定的YANG package schema。设备3将对应的YANG packageschema写入设备datastore,并更新YANG package的状态。
903,控制器2读取设备3上的package信息及模型信息。
例如,控制器2通过get-package-schema读取该YANG package对应的schema。示例性地,以图10所示的YANG package为例,该YANG package的名称为xxx-device-pkg,version 3.1.2,revision-date 2017-3-2。
如图11所示,控制器2管理设备1至设备3这三个设备,控制器2可以读取设备3上的YANG package对应的schema。
904,设备3向控制器2返回YANG包信息及包相关的schema信息。
905,控制器2对比业务特性schema与设备3上的YANG包差异,确定需要加载的特性包。
例如,控制器2比对业务特性schema与设备3上的YANG包差异之后,确定需要加载的特性包为L3VPN,即控制器2确认设备3需更新该特性包。
906,控制器2向控制器1请求加载特性包,如请求加载L3VPN特性包安装。
907,控制器1验证请求是否符合业务策略,如果通过,下发第二特性包及该特性包相关的一个或多个YANG包schema。如果是多个,标注默认包。
例如,控制器1向设备3下发的第二特性包为L3VPN yang package,例如下发L3VPN功能包及YANG package schema,该YANG package可能有一个或多个,例如IETF-L3VPN-pkg,或者xxx-L3VPN-pkg两种。
908,设备3加载解析指定版本YANG包下的模型,如错误,回退。
例如,设备3加载并验证L3VPN功能包及L3VPN yang package,并选择缺省IETF-L3VPN-pkg。如果通过,并更新YANG package状态。如果错误,回退,例如重新加载解析。
由于通常一个设备可以安装一个软件包,而该软件包里面有不同功能的软件,该功能对应YANG package,因此,经过该步骤908之后,设备3新增2个YANG包,如图12所示。
909,设备3向控制器1返回RPC响应。
910,控制器1更新该设备3的纳管。
911,控制器1通知控制器2,响应特性包已安装。
912,控制器2读取设备3中有关的YANG包的信息。
例如,控制器2通过处理指令get-package-schema读取该YANG package对应的schema,并保存。处理指令如图13所示。
913,控制器2分析业务特性,判断当前IETF-L3VPN-pkg需要切换当前设备datastore的模型采用xxx-L3VPN-pkg。向设备3下发RPC更新datastore的模型。
例如,控制器2通过<create-package-schema>更改设备3的YANG包schema。
914,设备3返回RPC reply OK。
由此,控制器2可以查询到datastore和package的更新的状态。例如,datastore的更新的状态可如图14所示,package的更新的状态可如图15所示。
此外,控制器2还可以通过xxx-L3VPN-pkg下发L3VPN特性配置,如图16所示。
本申请实施例提供的方法,基于扩展的新的操作指令,允许读取package的schema和加载datastore的package schema,由于能够针对YANG包进行区分,因而可以进行精细化管理,能够减少错误,提高管理效率。
仍以第一网络设备为控制器,包括控制器1和控制器2,第二网络设备为设备3,设备3上包括的软件包包括基础功能包及特性包L3VPN包,控制器查询设备3内已有的YNAG模型数据包的信息,查询目标YANG包,更新目标YNAG模型数据包为例,对YANG模型的管理方法进行说明。参见图17,该方法包括如下几个过程:
1701,控制器1通过get-package-dependency操作读取设备3当前Datastore的L3VPN包的依赖关系信息。1702,设备3返回yang package的依赖关系。
例如,设备3为图2中的路由器为例,该设备包括L3VPN组播包、L3VPN包、MPLS包及Device包,Device包可以是L2协议和L3协议等协议的YANG包。其中,L3VPN组播依赖L3VPN包和device包,L3VPN包依赖于device包。那么L3VPN依赖device包,而被L3VPN组播依赖。此外,还包括版本的依赖关系。
1703,控制器1通过当前L3VPN包的版本信息以及依赖关系,确定升级的策略,向设备3返回L3VPN包依赖信息。
例如,升级的策略包括:如果新L3VPN包可以兼容当前device包版本,以及L3VPN组播包是否可以兼容新的L3VPN包版本。如果兼容,则下发L3VPN包及其YANG package schema升级。如果新L3VPN包与前device包版本不兼容,或者L3VPN组播包版本与新的L3VPN包不兼容,需下发L3VPN包及device包,或者L3VPN组播包及其YANG package schema升级。
此外,控制器1还需要保存当前L3VPN及device或者其他业务的配置数据。从而用于YANG package升级或者软件对应的进程升级后恢复数据。
1704,设备3加载,解析L3VPN yang包。终止原L3VPN的组件进程,启动新的L3VPN的组件进程。另外,如果其他依赖包或被依赖包也下载,则设备3需要重启相关包对应的进程。其中,其他依赖包是指依赖该L3VPN yang包的其他YANG包,被依赖包是指该L3VPN yang包所依赖的YANG包。
针对查询目标YANG包之后,本申请实施例提供的方法还支持YANG包的更新升级管理,例如参见如下步骤。
1705,设备3向控制器1备份配置数据。
1706,控制器1通过copy-config向设备3发送配置数据,使得设备3恢复配置数据。
示例性地,如果新的L3VPN进程加载成功,则设备3恢复L3VPN配置数据。如果有关联其他包,还需要回复其他包相关的配置数据。
1707,控制器2读取新的L3VPN包的yang package schema,下发L3VPN新的业务配置。
仍以第一网络设备为控制器,包括控制器1和控制器2,第二网络设备为设备3,设备3上包括的软件包包括基础功能包及特性包L3VPN包,控制器向设备3加载YNAG模型数据包,删除目标YANG包为例,对YANG模型的管理方法进行说明。参见图18,该方法包括如下几个过程:
1801,控制器1通过bind-package-schema或者软件安装的方式向设备3一次或多次下发包安装信息。
例如,控制器1多次在设备3上安装多个YANG package schema,例如L3VPN多个版本,device多个版本,或者L3VPN多个版本。
1802,设备3验证并安装YANG包,生成YANG包状态。
1803,控制器2请求控制器1删除L3VPN及关联业务功能。
由于管理更新,例如该设备3不再支持L3VPN业务,控制器2请求控制器1删除L3VPN及其相关业务组件,则触发本实施例提供的删除操作。
1804,控制器1通过get-package-dependency操作读取设备3中有关YANG包间的依赖信息。例如,控制器1通过get-package-dependency操作读取设备3中当前Datastore的L3VPN包的依赖关系。
1805,设备3返回yang package的依赖关系,该依赖关系包括所有依赖该包的包及该包所依赖的包。
例如,L3VPN组播依赖L3VPN包和device包,L3VPN包依赖于device包。也就是说,L3VPN依赖device包,而被L3VPN组播依赖。则设备3返回L3VPN包和device包的信息。
1806,控制器1查询依赖于该包的包是否可以删除,如果可以,则执行下一步1807的操作。
例如,控制器1通过当前L3VPN包的版本信息以及依赖关系,确定删除的策略。该删除的策略包括:如果L3VPN包所有版本及被依赖的L3VPN组播包需要删除。
1807,如果设备3中依赖于要删除的包的包可以被删除,则通过<delete-package-schema>向设备下发指令,删除该包及所有依赖于该包的包。
1808,设备3删除L3VPN包及当前L3VPN组播包。如果错误,则回退,例如重新执行删除操作。
例如,设备3删除所有L3VPN包对应的配置数据。停止L3VPN及L3VPN组播对应的进程。
1809,设备3向控制器1返回RPC响应,即操作结果。
例如,如果没有发现该包,则报错。如果成功删除,则返回成功响应。
1810,控制器1向控制器2返回业务组件已删除的成功响应。
本申请实施例提供的方法,基于扩展的新的操作指令,读取package的依赖关系、加载datastore的package schema、删除datastore的package schema,因此,能够针对YANG包进行区分,以进行精细化管理,能够减少错误,提高管理效率。
本申请实施例提供了一种YANG模型的管理装置,该装置应用于第一网络设备,用于执行上述图3中第一网络设备所执行的功能。参见图19,该装置包括:
确定模块1901用于执行图3中的301步骤。即用于确定第二网络设备中的目标YANG包,目标YANG包包括至少两个业务相关的YANG模型。
生成模块1902用于生成针对目标YANG包的处理指令,处理指令包括目标YANG包的标识,目标YANG包的标识用于标识目标YANG包,目标YANG包的标识包括目标YANG包的名称,或者目标YANG包的名称及版本信息。
发送模块1903用于向第二网络设备发送处理指令。
上述生成模块1902和发送模块1903用于执行图3中的302步骤。
在示例性实施例中,处理指令包括第一指令,第一指令包括目标YANG包的标识,第一指令用于指示读取与目标YANG包的标识对应的目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型。
装置,参见图20,该装置还包括:
接收模块1904用于接收一个或多个YANG模型以及与一个或多个YANG模型对应的结构。
在示例性实施例中,处理指令还包括第二指令,第二指令包括目标YANG包的标识,第二指令用于指示加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,第二指令还包括加载位置,第二指令用于指示在加载位置加载与目标YANG包的标识对应的目标YANG包。
在示例性实施例中,第二指令还携带命令行接口CLI的脚本文件,脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,处理指令还包括第三指令,第三指令包括目标YANG包的标识,第三指令用于指示查询与目标YANG包的标识对应的目标YANG包具有依赖关系的YANG包;
参见图20,该装置,还包括:
接收模块1904用于接收目标YANG包所依赖的第一YANG包列表或依赖目标YANG包的第二YANG包列表。
上述接收模块1904用于执行图3中步骤304下面第一网络设备所涉及的接收步骤。
在示例性实施例中,处理指令还包括第四指令,第四指令包括目标YANG包的标识,第四指令用于指示删除与目标YANG包的标识对应的目标YANG包及依赖目标YANG包的第三YANG包。
本申请实施例提供了一种YANG模型的管理装置,该装置用于第二网络设备,该第二网络设备用于执行上述图3中第二网络设备所执行的功能。参见图21,该装置包括:
接收模块2101用于执行上述图3中的步骤303,即用于接收第一网络设备发送的针对目标YANG包的处理指令,目标YANG包包括至少两个业务相关的YANG模型,处理指令包括目标YANG包的标识,目标YANG包的标识用于标识目标YANG包,目标YANG包的标识包括目标YANG包的名称,或者目标YANG包的名称及版本信息。
处理模块2102用于执行上述图3中的步骤304,即用于根据处理指令对与目标YANG包的标识对应的目标YANG包进行处理。
在示例性实施例中,处理指令包括第一指令,第一指令包括目标YANG包的标识,第一指令用于指示读取与目标YANG包的标识对应的目标YANG包中的至少两个业务相关的YANG模型中的一个或多个YANG模型。
处理模块2102还用于根据第一指令读取与目标YANG包的标识对应的至少两个业务相关的YANG模型中的一个或多个YANG模型以及对应的结构;
参见图22,该装置还包括:
发送模块2103用于向第一网络设备发送一个或多个YANG模型以及对应的结构。
在示例性实施例中,处理指令还包括第二指令,第二指令包括目标YANG包的标识,第二指令用于指示加载与目标YANG包的标识对应的目标YANG包。
处理模块2102还用于根据第二指令加载与目标YANG包的标识对应的目标YANG包。
第二指令还包括加载位置,第二指令用于指示在加载位置加载与目标YANG包的标识对应的目标YANG包。
处理模块2102用于根据第二指令在加载位置加载目标YANG包的标识对应的目标YANG包。
在示例性实施例中,第二指令还携带CLI的脚本文件,脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本;
处理模块2102还用于根据CLI的脚本文件将所述目标YANG包中的YANG模型转换为CLI脚本。
在示例性实施例中,处理指令还包括第三指令,第三指令包括目标YANG包的标识,第三指令用于指示查询与目标YANG包的标识对应的目标YANG包具有依赖关系的YANG包。
处理模块2102还用于根据第三指令查询目标YANG包所依赖的第一YANG包列表和/或依赖目标YANG包的第二YANG包列表。
参见图22,该装置,还包括:
发送模块2103用于向第一网络设备发送目标YANG包所依赖的第一YANG包列表和/或依赖目标YANG包的第二YANG包列表。
在示例性实施例中,处理指令还包括第四指令,第四指令包括目标YANG包的标识,第四指令用于指示删除与目标YANG包的标识对应的目标YANG包及依赖目标YANG包的第二YANG包。
处理模块2102还用于根据第四指令删除与目标YANG包的标识对应的目标YANG包及依赖目标YANG包的第三YANG包。
上述发送模块2103用于执行图3中步骤304中第二网络设备所涉及的发送步骤。
应理解的是,上述图19至图22提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图23,本申请实施例还提供一种网络设备1000,图23所示的网络设备1000用于执行上述网络设备管理方法所涉及的操作。该网络设备1000包括:存储器1001、处理器1002及接口1003,存储器1001、处理器1002及接口1003之间通过总线1004连接。
其中,存储器1001中存储有至少一条指令,至少一条指令由处理器1002加载并执行,以实现上述任一所述的YANG模型管理方法。
接口1003用于与网络中的其他设备进行通信,该接口1003可以通过无线或有线的方式实现,示例性地,该接口1003可以是网卡。例如,网络设备1000可通过该接口1003与服务器进行通信。
示例性地,当网络设备1000为第一网络设备时,该处理器1002可用于执行上述图19和图20所示的确定模块1901、生成模块1902的功能,该接口1003用于实现上述图19和图20所示的发送模块1903和接收模块1904的功能。当网络设备1000为第二网络设备时,该处理器1002可用于执行上述图21和图22所示的处理模块2102的功能,该接口1003用于实现上述图21和图22所示的接收模块2101和发送模块2103的功能。
应理解的是,图23仅仅示出了网络设备1000的简化设计。在实际应用中,网络设备可以包含任意数量的接口,处理器或者存储器。此外,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advancedRISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者,其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
还提供了一种YANG模型管理系统,该系统包括第一网络设备和第二网络设备,其中,第一网络设备用于执行上述YANG模型管理方法中的第一网络设备所执行的功能,第二网络设备用于执行上述YANG模型管理方法中的第二网络设备所执行的功能。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的YANG模型管理方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个操作和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (33)
1.一种YANG模型的管理方法,其特征在于,所述方法包括:
第一网络设备确定第二网络设备中的目标YANG包,所述目标YANG包包括至少两个业务相关的YANG模型;
所述第一网络设备生成针对所述目标YANG包的处理指令,并向所述第二网络设备发送所述处理指令,所述处理指令包括所述目标YANG包的标识,所述目标YANG包的标识用于标识所述目标YANG包,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息。
2.根据权利要求1所述的方法,其特征在于,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
在向所述第二网络设备发送所述处理指令之后,该方法还包括:
接收所述一个或多个YANG模型以及与所述一个或多个YANG模型对应的结构。
3.根据权利要求1或2所述的方法,其特征在于,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包。
4.根据权利要求3所述的方法,其特征在于,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包。
5.根据权利要求3或4所述的方法,其特征在于,所述第二指令还携带命令行接口CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本。
6.根据权利要求1-5任一所述的方法,其特征在于,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与所述目标YANG包具有依赖关系的YANG包;
在向所述第二网络设备发送所述处理指令之后,该方法还包括:
接收所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
7.根据权利要求1-6任一所述的方法,其特征在于,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
8.一种YANG模型的管理方法,其特征在于,所述方法包括:
第二网络设备接收第一网络设备发送的针对目标YANG包的处理指令,所述目标YANG包包括至少两个业务相关的YANG模型,所述处理指令包括所述目标YANG包的标识,所述YANG包的标识用于标识所述目标YANG包,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息;
所述第二网络设备根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理。
9.根据权利要求8所述的方法,其特征在于,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,包括:
根据所述第一指令读取与所述目标YANG包的标识对应的所述至少两个业务相关的YANG模型中的一个或多个YANG模型以及与所述一个或多个YANG模型对应的结构;
向所述第一网络设备发送所述一个或多个YANG模型以及对应的结构。
10.根据权利要求8或9所述的方法,其特征在于,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,包括:
根据所述第二指令加载与所述目标YANG包的标识对应的目标YANG包。
11.根据权利要求10所述的方法,其特征在于,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包;
所述根据所述第二指令加载与所述目标YANG包的标识对应的目标YANG包,包括:
根据所述第二指令在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包。
12.根据权利要求10或11所述的方法,其特征在于,所述第二指令还携带命令行接口CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,还包括:
根据所述CLI的脚本文件将目标YANG包中的YANG模型转换为CLI脚本。
13.根据权利要求8-12任一所述的方法,其特征在于,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与所述目标YANG包的标识对应的目标YANG包具有依赖关系的YANG包;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,还包括:
根据所述第三指令查询所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表;
向所述第一网络设备发送所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
14.根据权利要求8-12任一所述的方法,其特征在于,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包;
所述根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理,还包括:
根据所述第四指令删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
15.一种YANG模型的管理装置,其特征在于,所述装置应用于第一网络设备,所述装置包括:
确定模块,用于确定第二网络设备中的目标YANG包,所述目标YANG包包括至少两个业务相关的YANG模型;
生成模块,用于生成针对所述目标YANG包的处理指令,所述处理指令包括所述目标YANG包的标识,所述目标YANG包的标识用于标识所述目标YANG包,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息;
发送模块,用于向所述第二网络设备发送所述处理指令。
16.根据权利要求13所述的装置,其特征在于,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
所述装置,还包括:
接收模块,用于接收所述一个或多个YANG模型以及与所述一个或多个YANG模型对应的结构。
17.根据权利要求15或16所述的装置,其特征在于,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包。
18.根据权利要求17所述的装置,其特征在于,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包。
19.根据权利要求17或18所述的装置,其特征在于,所述第二指令还携带命令行接口CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本。
20.根据权利要求15-19任一所述的装置,其特征在于,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与所述目标YANG包具有依赖关系的YANG包;
所述装置,还包括:
接收模块,用于接收所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
21.根据权利要求15-20任一所述的装置,其特征在于,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
22.一种YANG模型的管理装置,其特征在于,所述装置用于第二网络设备,所述装置包括:
接收模块,用于接收第一网络设备发送的针对目标YANG包的处理指令,所述目标YANG包包括至少两个业务相关的YANG模型,所述处理指令包括所述目标YANG包的标识,所述目标YANG包的标识用于标识所述目标YANG包,所述目标YANG包的标识包括所述目标YANG包的名称,或者所述目标YANG包的名称及版本信息;
处理模块,用于根据所述处理指令对与所述目标YANG包的标识对应的目标YANG包进行处理。
23.根据权利要求19所述的装置,其特征在于,所述处理指令包括第一指令,所述第一指令包括所述目标YANG包的标识,所述第一指令用于指示读取与所述目标YANG包的标识对应的目标YANG包中的所述至少两个业务相关的YANG模型中的一个或多个YANG模型;
所述处理模块,还用于根据所述第一指令读取与所述目标YANG包的标识对应的所述至少两个业务相关的YANG模型中的一个或多个YANG模型以及与所述一个或多个YANG模型对应的结构;
所述装置还包括:
发送模块,用于向所述第一网络设备发送所述一个或多个YANG模型以及对应的结构。
24.根据权利要求22或23所述的装置,其特征在于,所述处理指令还包括第二指令,所述第二指令包括所述目标YANG包的标识,所述第二指令用于指示加载与所述目标YANG包的标识对应的目标YANG包;
所述处理模块,还用于根据所述第二指令加载与所述目标YANG包的标识对应的目标YANG包。
25.根据权利要求24所述的装置,其特征在于,所述第二指令还包括加载位置,所述第二指令用于指示在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包;
所述处理模块,用于根据所述第二指令在所述加载位置加载与所述目标YANG包的标识对应的目标YANG包。
26.根据权利要求24或25所述的装置,其特征在于,所述第二指令还携带命令行接口CLI的脚本文件,所述脚本文件用于将所述目标YANG包中的YANG模型转换为CLI脚本;
所述处理模块,还用于根据所述CLI的脚本文件将所述目标YANG包中的YANG模型转换为CLI脚本。
27.根据权利要求22-26任一所述的装置,其特征在于,所述处理指令还包括第三指令,所述第三指令包括所述目标YANG包的标识,所述第三指令用于指示查询与所述目标YANG包的标识对应的目标YANG包具有依赖关系的YANG包;
所述处理模块,还用于根据所述第三指令查询所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表;
所述装置,还包括:
发送模块,用于向所述第一网络设备发送所述目标YANG包所依赖的第一YANG包列表或依赖所述目标YANG包的第二YANG包列表。
28.根据权利要求22-27任一所述的装置,其特征在于,所述处理指令还包括第四指令,所述第四指令包括所述目标YANG包的标识,所述第四指令用于指示删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包;
所述处理模块,还用于根据所述第四指令删除与所述目标YANG包的标识对应的目标YANG包及依赖所述目标YANG包的第三YANG包。
29.一种第一网络设备,其特征在于,所述第一网络设备用于执行所述权利要求1-7任一所述的方法。
30.一种第二网络设备,其特征在于,所述第二网络设备用于执行权利要求8-14任一所述的方法。
31.一种YANG模型的管理系统,其特征在于,所述系统包括第一网络设备和第二网络设备;
所述第一网络设备执行权利要求1-7任一所述的方法,所述第二网络设备执行权利要求8-14任一所述的方法。
32.一种网络设备,其特征在于,所述网络设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-14中任一所述的方法。
33.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-14中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/117539 WO2021073395A1 (zh) | 2019-10-18 | 2020-09-24 | Yang模型的管理方法、装置、系统、设备及存储介质 |
EP20877237.6A EP4027588A4 (en) | 2019-10-18 | 2020-09-24 | METHOD, APPARATUS AND SYSTEM FOR MANAGING YANG PATTERNS, DEVICE AND STORAGE MEDIA |
US17/722,822 US20220239547A1 (en) | 2019-10-18 | 2022-04-18 | Yang Module Management Method, Apparatus, and System, Device, and Storage Medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019109949804 | 2019-10-18 | ||
CN201910994980 | 2019-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112688794A true CN112688794A (zh) | 2021-04-20 |
Family
ID=75445331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911061600.8A Pending CN112688794A (zh) | 2019-10-18 | 2019-11-01 | Yang模型的管理方法、装置、系统、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220239547A1 (zh) |
EP (1) | EP4027588A4 (zh) |
CN (1) | CN112688794A (zh) |
WO (1) | WO2021073395A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300888A (zh) * | 2021-05-21 | 2021-08-24 | 刘超 | 一种yang模型浏览器及客户端设备 |
CN115065594A (zh) * | 2022-06-08 | 2022-09-16 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
WO2024001569A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 网络配置方法、装置以及存储介质、电子装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115589351B (zh) * | 2021-07-06 | 2024-07-30 | 华为技术有限公司 | 一种查询方法、装置及设备 |
Family Cites Families (9)
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 |
CN106612196B (zh) * | 2015-10-23 | 2019-02-01 | 华为技术有限公司 | 获取资源的方法及装置 |
CN107302443B (zh) * | 2016-04-15 | 2020-10-16 | 华为技术有限公司 | 基于网络配置协议的设备配置方法及装置 |
CN107786350B (zh) * | 2016-08-24 | 2021-10-15 | 华为技术有限公司 | 一种恢复网络设备的出厂配置的方法、装置及网络设备 |
CN108234174B (zh) * | 2016-12-21 | 2020-04-21 | 华为技术有限公司 | 虚拟网络功能的管理方法和装置 |
CN110855459B (zh) * | 2018-08-20 | 2021-07-09 | 华为技术有限公司 | 网络配置方法、装置及系统 |
CN110971438A (zh) * | 2018-09-30 | 2020-04-07 | 华为技术有限公司 | 配置数据的方法及装置 |
CN109951315B (zh) * | 2019-02-14 | 2022-02-22 | 烽火通信科技股份有限公司 | 一种实现yang模型到内部模型映射的方法及系统 |
CN112583630B (zh) * | 2019-09-29 | 2022-07-12 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
-
2019
- 2019-11-01 CN CN201911061600.8A patent/CN112688794A/zh active Pending
-
2020
- 2020-09-24 EP EP20877237.6A patent/EP4027588A4/en active Pending
- 2020-09-24 WO PCT/CN2020/117539 patent/WO2021073395A1/zh unknown
-
2022
- 2022-04-18 US US17/722,822 patent/US20220239547A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300888A (zh) * | 2021-05-21 | 2021-08-24 | 刘超 | 一种yang模型浏览器及客户端设备 |
CN115065594A (zh) * | 2022-06-08 | 2022-09-16 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
CN115065594B (zh) * | 2022-06-08 | 2024-03-26 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
WO2024001569A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 网络配置方法、装置以及存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021073395A1 (zh) | 2021-04-22 |
EP4027588A1 (en) | 2022-07-13 |
US20220239547A1 (en) | 2022-07-28 |
EP4027588A4 (en) | 2022-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112688794A (zh) | Yang模型的管理方法、装置、系统、设备及存储介质 | |
US9195480B2 (en) | Associated plug-in management method, device and system | |
CN102006333B (zh) | 安装软件组件的方法、系统及装置 | |
JP5144659B2 (ja) | 能力マネジメントオブジェクトを保守し、能力を管理するための方法、システム、および端末 | |
US8051186B2 (en) | Method for device capability negotiation, method, system and device for synchronization | |
US9331953B2 (en) | Device management method, middleware, and machine-to-machine communications platform, device, and system | |
JP5074424B2 (ja) | 依存関係の通知 | |
CN112583630B (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
CN101321080A (zh) | 配置网络设备的方法、网络设备、网络系统 | |
EP2104274B1 (en) | Method, system, dm client and dm server for installing software component | |
US11522759B2 (en) | Method and device manager for controlling program components in a network device | |
CN115567388A (zh) | 网络切片配置自动更新方法、系统、装置及存储介质 | |
CN109274715A (zh) | 车载多通道通信系统的平台资源管理系统 | |
CN114979269A (zh) | 接受管理端管理Web中间件的方法、存储介质和系统 | |
CN118132094A (zh) | 应用部署方法、系统、计算机设备、存储介质及程序产品 | |
CN116095160A (zh) | 一种服务发现方法、装置及电子设备和存储介质 | |
CN113079029A (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 |