CN112583630A - 设备管理方法、装置、系统、设备及存储介质 - Google Patents
设备管理方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112583630A CN112583630A CN201911062081.7A CN201911062081A CN112583630A CN 112583630 A CN112583630 A CN 112583630A CN 201911062081 A CN201911062081 A CN 201911062081A CN 112583630 A CN112583630 A CN 112583630A
- Authority
- CN
- China
- Prior art keywords
- yang model
- yang
- network device
- model
- request message
- 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
- 238000007726 management method Methods 0.000 title abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000015654 memory Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 3
- 230000002829 reductive effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 18
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 239000002775 capsule Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- 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/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
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/0226—Mapping or translating multiple network management protocols
-
- 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/04—Network management architectures or arrangements
- H04L41/045—Network management architectures or arrangements comprising client-server management architectures
-
- 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
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种设备管理方法、装置、系统、设备及存储介质。方法包括:第一网络设备向第二网络设备发送第一RPC请求消息,该第一RPC请求消息包括第一网络设备可识别的第三YANG模型的信息;当第二网络设备切换到第三YANG模型后,第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。在网络设备支持切换不同标准的YANG模型的情况下,通过RPC通知第二网络设备切换到第一网络设备支持的YANG模型,可减少第二网络设备在被第一网络设备纳管时对第一网络设备的依赖,从而扩大网络设备的应用范围,提高设备管理效率。
Description
本申请要求于2019年9月29日提交的申请号为201910934891.0、发明名称为“一种设备管理方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种设备管理方法、装置、系统、设备及存储介质。
背景技术
随着网络规模逐渐变得庞大而且复杂,网络设备越来越多,网络服务提供商面临迅速、无错和自动化部署新业务的诉求。而传统的命令行接口(command-line interface,CLI)和简单网络管理协议(simple network management protocol,SNMP)无法满足未来网络管理要求。网络配置协议(network configuration protocol,NETCONF)协议和潜在下一代建模语言(yet another next generation,YANG)技术就是旨在解决现有的配置管理实践中遇到的这些问题和传统网络管理协议的不足而设计出来的。YANG是互联网工程任务组(internet engineering task force,IETF)标准组织定义的一种将网络配置管理数据模型化描述的语言,以支持NETCONF客户端和服务端之间数据的完整描述,通过YANG模型来描述NETCONF客户端和服务端之间交互的配置数据、状态数据、远程过程调用(remoteprocedure call,RPC)和通知(Notification)。
然而,针对网络设备YANG模型存在多套标准,而控制器与网络设备往往独立发展,当网络设备更新YANG模型的版本后,控制器使用的部分YANG模型版本可能与网络设备的YANG模型版本不配套。而一旦网络设备的新版本YANG模型非后向兼容,则控制器在纳管时也会出现困难。因此,如何基于YANG模型对网络设备进行管理,是亟待解决的问题。
发明内容
本申请实施例提供了一种设备管理方法、装置、系统、设备及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种设备管理方法,该方法包括:第一网络设备获取第二网络设备中的第二潜在下一代建模语言YANG模型的信息,所述第一网络设备是网络管理设备;所述第一网络设备根据所述第二YANG模型的信息确定与所述第二YANG模型相关联的所述第一网络设备中的第一YANG模型;所述第一网络设备确定所述第二YANG模型与所述第一YANG模型不兼容,所述第一网络设备向所述第二网络设备发送第一远程过程调用RPC请求消息,所述第一RPC请求消息包括所述第一网络设备可识别的第三YANG模型的信息,所述第一YANG模型包括所述第三YANG模型,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
本申请实施例提供的方法,在网络设备支持切换不同标准的YANG模型的情况下,通过RPC通知第二网络设备切换到第一网络设备支持的YANG模型,可减少第二网络设备在被第一网络设备纳管时对第一网络设备的依赖,从而扩大网络设备的应用范围,提高设备管理效率。
在示例性实施例中,所述第一网络设备可识别的第三YANG模型的信息包括所述第三YANG模型所在集合的版本信息。
在示例性实施例中,所述第一RPC请求消息还包括第一指示信息,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,所述第一RPC请求消息还包括第一选项信息,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,所述第一RPC请求消息还包括第二选项信息,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
在示例性实施例中,所述第二网络设备中的第二YANG模型是所述第二网络设备当前运行的YANG模型。
在示例性实施例中,在所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话之前,所述第一网络设备接收RPC回应消息,回应消息指示已经切换。
第二方面,提供了一种设备管理方法,所述方法包括:第二网络设备接收第一网络设备发送的第一远程过程调用RPC请求消息,所述第一RPC请求消息包括第一网络设备可识别的第三潜在下一代建模语言YANG模型的信息,所述第三YANG模型为第一YANG模型中的模型,所述第一YANG模型由所述第一网络设备根据所述第二网络设备中的第二YANG模型的信息确定,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;根据所述第一RPC请求消息切换到所述第三YANG模型,根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
在示例性实施例中,所述根据所述第一RPC请求消息切换到所述第三YANG模型,包括:根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型。
在示例性实施例中,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:终止原业务组件,运行与所述第三YANG模型对应的新业务组件。
在示例性实施例中,所述终止原业务组件,运行与所述第三YANG模型对应的新业务组件,包括:所述第二网络设备根据卸载的YANG模型的数据生成第一差异信息,根据所述第三YANG模型的数据生成第二差异信息;根据所述第一差异信息控制原业务组件清理释放资源,根据所述第二差异信息运行与所述第三YANG模型对应的新业务组件执行业务。
在示例性实施例中,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:当所述第一RPC请求消息还包括第一指示信息时,对所述第三YANG模型所依赖的第四YANG模型进行切换,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:当所述第一RPC请求消息还包括第一选项信息时,对所述第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:当所述第一RPC请求消息还包括第二选项信息时,对目标集合进行切换,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
在示例性实施例中,所述根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型之前,还包括:根据当前已加载的YANG模型及所述第三YANG模型获取YANG模型列表,所述YANG模型列表中不包括与所述第三YANG模型存在冲突的YANG模型;检测所述YANG模型列表的依赖链是否完备;在所述YANG模型列表的依赖链完备的情况下,执行根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型的步骤。
第三方面,提供了一种设备管理装置,所述装置应用于第一网络设备,包括:
获取模块,用于获取第二网络设备中的第二潜在下一代建模语言YANG模型的信息,所述第一网络设备是网络管理设备;
确定模块,用于根据所述第二YANG模型的信息确定与所述第二YANG模型相关联的所述第一网络设备中的第一YANG模型;确定所述第二YANG模型与所述第一YANG模型不兼容;
发送模块,用于向所述第二网络设备发送第一远程过程调用RPC请求消息,所述第一RPC请求消息包括所述第一网络设备可识别的第三YANG模型的信息,所述第一YANG模型包括所述第三YANG模型,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
建立模块,用于根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
在示例性实施例中,所述第一网络设备可识别的第三YANG模型的信息包括所述第三YANG模型所在集合的版本信息。
在示例性实施例中,所述第一RPC请求消息还包括第一指示信息,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,所述第一RPC请求消息还包括第一选项信息,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,所述第一RPC请求消息还包括第二选项信息,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
在示例性实施例中,所述第二网络设备中的第二YANG模型是所述第二网络设备当前运行的YANG模型。
在示例性实施例中,在所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话之前,所述第一网络设备接收RPC回应消息,回应消息指示已经切换。
第四方面,提供了一种设备管理装置,所述装置应用于第二网络设备,包括:
接收模块,用于接收第一网络设备发送的第一远程过程调用RPC请求消息,所述第一RPC请求消息包括第一网络设备可识别的第三潜在下一代建模语言YANG模型的信息,所述第三YANG模型为第一YANG模型中的模型,所述第一YANG模型由所述第一网络设备根据所述第二网络设备中的第二YANG模型的信息确定,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
切换模块,用于根据所述第一RPC请求消息切换到所述第三YANG模型;
建立模块,用于根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
在示例性实施例中,所述切换模块,用于根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型。
在示例性实施例中,所述切换模块,还用于终止原业务组件,运行与所述第三YANG模型对应的新业务组件。
在示例性实施例中,所述切换模块,用于根据卸载的YANG模型的数据生成第一差异信息,根据所述第三YANG模型的数据生成第二差异信息;根据所述第一差异信息控制原业务组件清理释放资源,根据所述第二差异信息运行与所述第三YANG模型对应的新业务组件执行业务。
在示例性实施例中,所述切换模块,还用于当所述第一RPC请求消息还包括第一指示信息时,对所述第三YANG模型所依赖的第四YANG模型进行切换,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,所述切换模块,还用于当所述第一RPC请求消息还包括第一选项信息时,对所述第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,所述切换模块,还用于当所述第一RPC请求消息还包括第二选项信息时,对目标集合进行切换,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
在示例性实施例中,所述装置,还包括:
获取模块,用于根据当前已加载的YANG模型及所述第三YANG模型获取YANG模型列表,所述YANG模型列表中不包括与所述第三YANG模型存在冲突的YANG模型;
检测模块,用于检测所述YANG模型列表的依赖链是否完备;
所述切换模块,用于在所述YANG模型列表的依赖链完备的情况下,执行根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型的步骤。
第五方面,还提供了一种第一网络设备,所述第一网络设备用于执行上述第一方面任一所述的方法。
第六方面,还提供了一种第二网络设备,所述第二网络设备用于执行上述第二方面任一所述的方法。
第七方面,还提供一种网络设备,所述设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述第一方面或第二方面任一所述的方法。
第八方面,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上第一方面或第二方面任一所述的方法。
第九方面,还提供了一种设备管理系统,该系统包括第一网络设备和第二网络设备;第一网络设备执行上述第一方面提供的任一所述的方法,所述第二网络设备执行上述第二方面提供的任一所述的方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的控制器纳管网络设备的示意图;
图2为本申请实施例提供的控制器纳管网络设备的示意图;
图3为本申请实施例提供的YANG模型的结构示意图;
图4为本申请实施例提供的YANG模型的结构示意图;
图5为本申请实施例提供的冲突的YANG模型示意图;
图6为本申请实施例提供的目录形式的YANG模型示意图;
图7为本申请实施例提供的设备管理方法交互示意图;
图8为本申请实施例提供的RPC请求的结构示意图;
图9为本申请实施例提供的YANG模型切换前后示意图;
图10为本申请实施例提供的RPC请求的结构示意图;
图11为本申请实施例提供的错误提示信息的结构示意图;
图12为本申请实施例提供的错误提示信息的结构示意图;
图13为本申请实施例提供的YANG模型目录的结构示意图;
图14为本申请实施例提供的业务组件的结构示意图;
图15为本申请实施例提供的业务组件的结构示意图;
图16为本申请实施例提供的业务组件的结构示意图;
图17为本申请实施例提供的业务组件与YANG模型的映射关系的配置文件的结构示意图;
图18为本申请实施例提供的控制器纳管网络设备的示意图;
图19为本申请实施例提供的设备管理过程的示意图;
图20为本申请实施例提供的设备管理过程的示意图;
图21为本申请实施例提供的设备管理过程的示意图;
图22为本申请实施例提供的YANG模型的结构示意图;
图23为本申请实施例提供的目录形式的YANG模型示意图;
图24为本申请实施例提供的设备管理装置的结构示意图;
图25为本申请实施例提供的设备管理装置的结构示意图;
图26为本申请实施例提供的网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
随着网络规模逐渐变得庞大而且复杂,网络设备越来越多,网络服务提供商面临迅速、无错和自动化部署新业务的诉求。为了满足未来网络管理要求,NETCONF应运而生。然而,随着NETCONF在业界的发展和普及,迫切需要一种数据建模语言来与NETCONF配合,YANG模型便是其中的一种。
YANG模型作为IETF标准组织定义的一种将网络配置管理数据模型化描述的语言,能够支持NETCONF客户端和服务端之间数据的完整描述。通过YANG模型能够描述NETCONF客户端和服务端之间交互的配置数据、状态数据、远程过程调用(RPCs)和通知(Notification)。
在网络设备中,会有存在多套标准的YANG模型的情况,例如网络设备中存在IETFYANG、OpenConfig YANG、设备厂商私有YANG等,这些不同标准的YANG模型由不同的组织提出,因此它们之间的兼容性较差。而出厂设备目前在业务实现上往往只支持其中某套标准的YANG模型,这导致运营商在用A厂家的控制器(controller)纳管B厂家的设备的困难程度较高。如图1所示,对于某个使用其厂商私有yang文件(xxx-acl-2017-03-23.yang)的设备3,控制器由于缺少支持该yang文件的能力,所以无法纳管该设备3。
另外,控制器与设备往往独立发展。当设备更新YANG模型的版本后,控制器使用的部分YANG模型的版本可能与设备的YANG模型的版本不配套,而一旦设备的新版本YANG模型非后向兼容,则控制器在纳管时也会出现困难。当某个设备更新了它的yang文件、且某些新版本的yang文件不与旧版本yang文件后向兼容时,控制器也纳管不了该设备。例如,针对图1中更新后的YANG模型的版本abc-ACL-2018-04-17所在的设备4,控制器虽然支持abc-ACL-2017-03-23版本的YANG模型,但由于新版本的yang文件不与旧版本yang文件后向兼容,控制器仍然无法对该更新了YANG模型的设备4进行纳管。
为了使控制器能够纳管某个厂商的设备,相关技术中需要在控制器侧存放相关yang模型文件、并支持相应能力。另外,当设备升级后,控制器如需要纳管该设备,也需要进行相应升级。例如,针对图1所示的设备与控制器,为了实现控制器能够纳管具有版本为xxx-ACL-2017-03-23的YANG模型的设备3,如图2所示,控制器存放版本为xxx-ACL-2017-03-23的YANG模型。为了实现控制器能够纳管具有升级后版本为abc-ACL-2018-04-17的YANG模型的设备4,控制器上版本为abc-ACL-2017-03-23的YANG模型也进行相应升级,升级之后的版本为abc-ACL-2018-04-17。但是,通过靠修改控制器的能力来纳管设备,使得设备被纳管时需要依赖控制器,导致对控制器的开发和维护带来很大的压力,且会降低设备管理效率。
对此,本申请实施例提供了一种设备管理方法,以进行纳管的设备为第一网络设备,被纳管的设备为第二网络设备为例,该方法通过设计一套RPC机制和业务进程切换机制,使得第二网络设备拥有在多套不同标准/版本的YANG模型集之间进行切换的能力,而作为纳管设备的第一网络设备能够通过下发RPC请求的方式让第二网络设备切换至第一网络设备能够识别和支持的YANG模型集,从而在不修改第一网络设备的情况下被第一网络设备成功纳管。其中,第一网络设备可以是控制器,或者其他北向(如命令行CLI)设备。
针对本申请实施例提供的方法,在使用YANG模型时,为了更方便地管理YANG模型,可以对YANG模型进行分组,例如,将ietf组织提出的yang文件放到一个组下,或者将openconfig组织提出的yang文件放到一个组下,又或者根据业务功能,将与acl业务相关的yang文件放到一个组下、将与bgp业务相关的yang文件放到一个组下。也可以根据时间信息将不同的yang文件放到不同的组下。例如,通过使用yang-library中的schema或module-set实现分组为例。分组后的YANG模型的信息如图3所示,单个YANG模型具有版本信息(version)。
在此基础上,本申请实施例还引入了YANG包(YANG Package)的概念。一个YANG包相当于一套带版本信息的模型集。分组之后的YANG模型可以认为是一个YANG包。关于YANG包的划分标准本申请实施例不加以限定,保证YANG包内的YANG模型之间的引用是完备的即可。例如,YANG包内部某个yang模型所依赖的yang模型需要能在该YANG包或该YANG包的依赖包内索引到。示例性地,本申请实施例提供的具有版本信息的YANG包的结构如图4所示,该YANG包内不仅单个YANG模型具有版本信息,该YANG包也可以通过version进行版本管理。
针对YANG包的version,本申请实施例不进行限定,能够区分不同的YANG包即可。示例性地,YANG包的version可由三个数字构成,如X.Y.Z。如果该YANG包以非后向兼容的方式进行更新,则新版本的YANG包的version被赋值为(X+1).Y.Z;而如果该YANG包以后向兼容的方式进行更新,则新版本的YANG包的version被赋值为X.(Y+1).Z或X.Y.(Z+1)。
除版本信息外,YANG包结构中还包括其他一些信息,如图4所示。图4中的loaded结点表示该YANG包是否已经被设备加载,默认值为false,即未加载。另外,由于设备在业务实现上一般都只实现某套标准的YANG模型集,而同时运行多套标准的YANG模型集的业务实现的话,有可能会造成业务上的冲突,因此,图4中的Incompatible-packages选项指定与该包有冲突的包,通过Incompatible-packages能够避免在后面进行模型集切换时可能导致同时运行多套不兼容的模型集的情况发生。之所以会存在冲突,一般主要包括由其他组织的YANG模型集合而成的YANG包,而对于非后向兼容的YANG包,由于可通过版本号来识别,所以在图4所示的结构中未列举出来。例如,如图5所示的YANG包,例如Huawei-evpn这个包通过incompatible-packages选项,指明了该Huawei-evpn与ietf-epvn是有冲突的。其中,<package>…</package>用于代表有些省略的包。
除上述几个信息外,图4中还包括working-package节点,该working-package节点表示设备当前加载的yang包列表。
对于网络设备内部存在的多个YANG模型,可在网络设备内部将yang文件按业务功能或其他功能,以目录的形式划分为一个或若干个yang包,该目录以“包名-包版本”的形式命名。例如,如图6所示,针对itef-network-device@1.1.2的目录,其中,itef-network-device为包名,1.1.2为版本,该目录下的YANG文件如图6右侧上部分所示。针对itef-network-device@2.1.2的目录,其中,itef-network-device为包名,2.1.2为版本,该目录下的YANG文件如图6右侧下半部分所示。
接下来,以纳管的设备为第一网络设备,被纳管的设备为第二网络设备为例,结合图7所示的交互过程示意图,对本申请实施例提供的方法进行说明,该方法包括如下几个过程:
701,第一网络设备获取第二网络设备中的第二YANG模型的信息,根据所述第二YANG模型的信息确定与所述第二YANG模型相关联的所述第一网络设备中的第一YANG模型。
示例性地,第一网络设备获取第二网络设备中的第二YANG模型的信息时,第一网络设备可通过第二RPC请求消息例如<get-dat>读取第二网络设备中的yang-library中的YANG包信息,如版本信息。第二网络设备向第一网络设备返回YANG包数据,第一网络设备由此得到第二网络设备中的第二YANG模型的信息。之后,第一网络设备可根据第二YANG模型的信息确定与第二YANG模型相关联的第一网络设备中的第一YNAG模型。
702,第一网络设备确定所述第二YANG模型与所述第一YANG模型不兼容,向第二网络设备发送第一RPC请求消息,第一RPC请求消息包括第一网络设备可识别的第三YANG模型的信息。
第一网络设备确定与第二YANG模型相关联的第一网络设备中的第一YANG模型之后,可比对第二YANG模型与第一YANG模型的差异。例如发现第二网络设备存在的第二YANG模型与第一网络设备中的第一YANG模型无法兼容,生成第一RPC请求消息,该第一RPC请求消息用于触发第二网络设备将运行的YANG模型切换为第三YANG模型。例如,第一网络设备生成一个切换YANG包的<select-yang-packages>的RPC请求报文。其中,第一YANG模型包括所述第三YANG模型。
例如,以图5所示的配置文件为例,通过incompatible-packages标识列出与huawei-epvn包不兼容的yang包,如ietf-evpn、openconfig-evpn。这些信息都记录在yang-library中。网络管理设备可以查询这些信息,网络设备在建立连接后,也可以主动上报这些信息。
又例如,如图6所示的目录,YANG包的version由三个数字构成,如X.Y.Z。如果该包以非后向兼容的方式进行更新,则新版本的包的version被赋值为(X+1).Y.Z;而如果该包以后向兼容的方式进行更新,则新版本的包的version被赋值为X.(Y+1).Z或X.Y.(Z+1)。例如图6中的ietf-network-device@2.1.2与ietf-network-device@1.1.2就是不兼容的。
在示例性实施例中,由于网络设备某一时刻只支持某一标准/版本的yang模型集,为此,本申请实施例提供的方法定义了一种用于切换模型的RPC请求。例如,当第二网络设备为新型设备上线或第二网络设备断线后重连或非后向兼容升级且第一网络设备未来得及进行同步升级时,第一网络设备向第二网络设备下发该第一RPC请求消息,使第二网络设备切换至特定版本的yang包,即第一网络设备支持的第三YANG模型。
其中,新型设备,是指默认使用的YANG模型集不在第一网络设备支持范围内的设备。在使用本申请实施例提供的方法后,该新型设备会支持至少两套标准的YANG模型集,例如,其中一套是如IETF或openconfig等由标准组织提出的。当该新型设备新上线时,该新型设备可通过本申请实施例提供的方法将该新型设备的模型集切换为第一网络设备支持的YANG模型。
当第二网络设备非后向兼容升级、且第一网络设备未来得及进行同步的升级时,第一网络设备可在未进行同步升级之前,向第二网络设备下发一个第一RPC请求消息,使第二网络设备切换回旧版本的模型集,从而能够被第一网络设备进行纳管。
需要说明的是,对于第二网络设备后向兼容升级的情况,第一网络设备是选择切换成与其版本号一致的模型集,还是直接纳管,由第一网络设备自身策略决定,本申请实施例对此不进行限定。
也就是说,无论是上述哪种情况下触发第一网络设备向第二网络设备发送第一RPC请求消息,在示例性实施例中,第一网络设备向第二网络设备发送第一RPC请求消息之前,还包括:第一网络设备通过第二RPC请求消息读取第二网络设备中的第二YANG模型的信息;基于第二网络设备中的第二YANG模型的信息确定第一网络设备中与第二YANG模型相关联的第一YANG模型不兼容时,生成第一RPC请求消息。YANG模型的信息包括但不限于YANG模型的版本信息,第一网络设备读取第二网络设备中的第二YANG模型的版本信息,通过将第二网络设备中的第二YANG模型的版本信息与第一网络设备上已有的与第二YANG模型相关联的第一YANG模型的版本信息进行比对,从而确定第一网络设备中的第一YANG模型与第二网络设备中的第二YANG模型是否存在不兼容的情况,如果有不兼容的情况,则触发第一网络设备生成第一RPC请求消息。
示例性地,第一网络设备可以为控制器,当控制器支持比对yang包差异和下发切换模型集的功能时,则由控制器按照本申请实施例提供的方法进行设备管理。如果控制器在设备管理过程中出现了错误,或者控制器不支持yang包差异或不支持下发切换模型集的功能,则可以使用CLI等其他北向工具进行介入。
例如,使用CLI等其他北向工具读取第二网络设备中的第二YANG模型的版本信息,并从第一网络设备中读取第一网络设备上已有的与第二YANG模型相关联的第一YANG模型的版本信息,通过将第二网络设备中的第二YANG模型的版本信息与第一网络设备上已有的与第二YANG模型相关联的第一YANG模型的版本信息进行比对,从而确定第一网络设备中的第一YANG模型与第二网络设备中的第二YANG模型是否存在不兼容的情况。如果有不兼容的情况,将不兼容的情况信息如不兼容的YANG模型的版本信息发送至控制器,由控制器据此生成第一RPC请求消息。或者,如果有不兼容的情况,通过CLI等其他北向工具基于不兼容的情况信息生成第一RPC请求消息,将该第一RPC请求消息发送至控制器,由控制器将该第一RPC请求消息发送至第二网络设备。
示例性地,第一RPC请求消息中包括第一网络设备可识别的第三YANG模型的信息。例如,第一网络设备可识别的第三YANG模型的信息包括第三YANG模型所在集合的版本信息。
第一RPC请求消息中除了包括第一网络设备可识别的第三YANG模型的信息之外,该第一RPC请求消息还包括如下信息中的一种或多种:
(1)第一指示信息,该第一指示信息用于指示切换第三YANG模型所依赖的第四YANG模型。
(2)第一选项信息,该第一选项信息用于指示第四YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
(3)第二选项信息,该第二选项信息用于指示对目标集合进行切换,目标集合为第三YANG模型所在集合之外的其他集合。
示例性地,该第一RPC请求消息的结构可如图8所示。如图8所示的第一RPC请求消息,datastore是一个list节点,通过name子结点指明是哪个数据集(datastore),第一网络设备可通过该第一RPC请求消息对若干个数据集(datastore)切换一系列YANG包。Package节点表示将要对数据集datastore切换哪些YANG包,YANG包由name子结点和version子结点确定。With-imported节点是一个presence container节点,即第一指示信息,其表示切换该YANG包时,其依赖的YANG包也会被选中进行切换。当不使用with-imported节点时,默认情况下,并不会对整个依赖链进行切换。
该With-imported主要用于解决YANG包的部分冲突问题,如图9所示,第二网络设备中原来使用的是a@1.0.0、b@1.0.0和c@1.0.0三个YANG包,其中c包是被a、b两个包依赖的包。当第一网络设备向第二网络设备下发一个用于切换模型集的第一RPC请求消息后,a@1.0.0包被切换为a@1.5.0包。如果第一RPC请求消息中未带有with-imported选项,则第二网络设备中使用的依然是旧版本即1.0.0版本的c包。第一RPC请求消息中若使用了with-imported选项,则第二网络设备可以在切换a包时,同时将c包切换至a包所依赖的版本,即c@1.5.0。
另外,如图8所示,该第一RPC请求消息中还包括exclude选项,该exclude选项即为第一选项信息,用于指定哪些依赖包将保持不变。例如,针对第三YANG模型所依赖的第四YANG模型,如果exclude选项指定了哪些YANG模型,则哪些YANG模型即作为目标YANG模型,该目标YANG模型保持不变。可选地,第二网络设备对第三YANG模型所依赖的第四YANG模型中除目标YANG模型之外的其它第四YANG模型进行切换。
在示例性实施例中,如图8所示,该第一RPC请求消息中还包括With-datastore选项,该With-datastore选项用于指定还需对哪些datastore即目标集合进行一样的切换,该With-datastore选项即为第二选项信息。由于在未使用NMDA(Network ManagementDatastore Architecture)架构之前,running、candidate、startup、operational等datastore数据集实际上使用的是同一套模型集;而在使用NMDA架构之后,这些数据集理论上可以使用不同的模型集。而本申请实施例并不对此加以限定,因此,通过提供with-datastore选项。当需要同时对多个datastore做同样的切换操作时,可以使用该with-datastore选项。
703,第二网络设备接收第一网络设备发送的第一RPC请求消息。
第一网络设备与第二网络设备进行通信连接,第二网络设备可基于通信连接接收第一网络设备发送的第一RPC请求消息。该第一RPC请求消息的内容可参见上述702中的描述,此处不再赘述。
704,第二网络设备根据第一RPC请求消息切换到第三YANG模型。
在示例性实施例中,根据第一RPC请求消息切换到第三YANG模型,包括:根据第一RPC请求消息卸载当前已加载的YANG模型,加载第三YANG模型。
此外,第一RPC请求消息中除了包括第一网络设备支持的第三YANG模型的信息,还有可能包括其他可选信息。在示例性实施例中,当第一RPC请求消息还包括第一指示信息时,由于第一指示信息用于指示切换第三YANG模型所依赖的第四YANG模型,则第一网络设备根据第一RPC请求消息切换到第三YANG模型之后,还包括对第三YANG模型所依赖的第四YANG模型进行切换。
在示例性实施例中,当第一RPC请求消息还包括第一选项信息时,由于第一选项信息用于指示第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变,则第二网络设备根据第一RPC请求消息切换到第三YANG模型之后,还包括对第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换。
在示例性实施例中,当第一RPC请求消息还包括第二选项信息时,由于第二选项信息用于指示对目标集合进行切换,目标集合为第三YANG模型所在集合之外的其他集合,则第二网络设备根据第一RPC请求消息切换到第三YANG模型之后,还包括对目标集合进行切换。
进一步地,无论切换哪个YANG模型,在示例性实施例中,根据第一RPC请求消息卸载当前已加载的YANG模型,加载第三YANG模型之前,第二网络设备还根据当前已加载的YANG模型及第三YANG模型获取YANG模型列表,YANG模型列表中不包括与第三YANG模型存在冲突的YANG模型;检测YANG模型列表的依赖链是否完备;在YANG模型列表的依赖链完备的情况下,执行根据第一RPC请求消息卸载当前已加载的YANG模型,加载第三YANG模型的步骤。
需要说明的是,如果进行了对第三YANG模型所依赖的第四YANG模型的切换,或者对非目标YANG模型进行了切换,或者对目标集合进行了切换,则YANG模型列表中还可以包括切换后的第三YANG模型所依赖的第四YANG模型,或者切换后的非YANG模型,或者切换后的目标集合所包括的YANG模型。而切换后的第三YANG模型所依赖的第四YANG模型,或者切换后的非YANG模型,或者切换后的目标集合所包括的YANG模型均可以作为待切换的YANG包。对此,本申请实施例提供的方法同样会检测依赖链的完备性。
例如,对于某个第二网络设备,其默认使用的是厂家自身的私有yang。当第二网络设备收到一个如图10所示的针对切换模型集的RPC报文即第一RPC请求消息后,会先根据当前已加载的YANG包列表,加上待切换的YANG包,以及删去与这些YANG包相冲突的包(例如,通过yang-library的incompatible-packages结点可查询是否冲突),从而形成一个新的临时YANG包列表。之后,第二网络设备检查这个YANG包列表在依赖链是否是完备的,即每个YANG包所依赖的包(例如imported-packages结点中列出的YANG包)能否都在该列表中查询得到,如不完备,则返回相应的错误。
例如,如果第二网络设备检测到YANG模型列表的依赖链不完备,则向第一网络设备返回相应的错误,如图11所示。会在error-path结点中以xpath路径的形式显示哪个包在进行加载时发生失败,以如下信息为例:
/select-yang-packages/datastore[name='running']/package[name='ietf-network-device']。
具体的错误信息会在error-message中显示,如果是由于依赖链不完备导致的错误,本申请实施例提供的方法中,还可以提示具体缺失了哪个包。以ietf-network-device包依赖了一个名为ietf-data的包为例,如果第二网络设备在接收到切换模型集的第一RPC请求消息后,在检测新包列表时发现缺失了该包,则会提示如图11所示的错误信息。第一网络设备在接收到图11所示的错误信息并进行响应后,会在select-yang-packages报文中,通过package结点或with-imported结点将缺失的包囊括进来。
另外,如果第二网络设备本身缺失了需要的yang包,则error-message中则提示“不存在***包的错误信息”,如图12所示。
以上仅是第二网络设备检测到YANG模型列表的依赖链不完备,则向第一网络设备返回相应的错误的举例说明,针对第二网络设备检测到YANG模型列表的依赖链完备的情况,则第二网络设备卸载已经加载的、且与待切换YANG包有冲突的YANG包(例如,卸载这些YANG包中的YANG模型)。然后根据第一RCP请求中的待切换的YANG包的名字和版本号,到第二网络设备内对应目录下加载和解析该YANG包下的YANG模型。例如,如图13所示的YANG包中的部分内容,到第二网络设备内对应目录下加载和解析ietf-network-device@1.1.2包下的YANG模型。如图13中的箭头所示,第二网络设备当前使用的是abc-network-device@1.1.0这个yang包,当接收到用于切换yang包的rpc请求后,如果该rpc请求指定切换至ietf-network-device@1.1.2,则第二网络设备会进行yang包的切换,从原来使用d的abc-network-device@1.1.0这个yang包,切换至使用ietf-network-device@1.1.2这个yang包。
无论是切换到第三YANG模型,还是切换其他YANG模型,又或是切换目标集合中的所有YANG模型,当第二网络设备接收到第一RPC请求消息,第二网络设备在获取到YANG模型的配置数据,且顺利地加载完新的YANG模型后,均可以交由第二网络设备上的业务组件去执行业务逻辑。其中,业务组件是最终完成业务处理逻辑的程序,该业务组件一般会通过如订阅-发布机制从第二网络设备的分发模块订阅与其业务相关的数据。当第二网络设备内的配置数据发生变化后,分发模块会推送变更的配置数据至订阅了该配置数据的业务组件,业务组件接收到配置变更数据后,进一步完成业务处理逻辑。
在第二网络设备原来只支持一套yang模型集的情况下,单个业务功能对应于一个业务组件,如图14所示。针对acl、bgp及evpn分别对应各自的业务组件/APP。而在本申请实施例提供的方法中,在第二网络设备可支持多套yang模型集的情况下,可以增加相应的业务组件。因此,为了使得切换后的YANG模型能够正常使用,在示例性实施例中,根据第一RPC请求消息切换到第三YANG模型之后,还包括:终止原业务组件,运行与第三YANG模型对应的新业务组件。例如,针对图14所示acl对应的组件,增加了新的acl组件,得到3个acl组件,如图15所示。增加业务组件的方式,包括但不限于将原来的组件复制,然后修改,得到新的业务组件。也可以直接生成新的业务组件。除此之外,还可以扩展原来业务组件的功能,由业务组件内部进行数据的二次分发,如图16所示。扩展原来业务组件/APP的功能,由分发模块将对应的功能分发到业务组件后,在业务组件内部再分发。
在本申请实施例提供的方法中,非新上线的设备进行模型升级时,无论升级是后向兼容还是非后向兼容,都存在数据升级的问题。由于卸载的YANG模型与切换的YANG模型之间映射关系并无一种通用的标准或规则,可以人工将映射规则硬编码至脚本文件或某种格式的文件上,在触发数据升级时,将会由特定模块以原有数据作为输入、以映射脚本中的映射规则作为处理逻辑,计算出对应的新模型数据。对于模型的变动,主要体现在如下三种情况上:
情况一:卸载的YANG模型在切换的第三YANG模型中的路径发生变化。对于该情况一,业务功能依然存在,只是业务的相关节点更换了一种外在表述方式,如更换了其所在路径或者其结点的名字,其在业务APP内部的呈现方式往往是不变的。对于这种数据升级,事实上并不会带来业务的变动。
情况二:卸载的YANG模型在切换的第三YANG模型中被删除。对于这种升级,设备需要将这种删除变化通知给相应的APP,以让APP执行相应的清空或释放资源的操作。对于后向兼容来说,不应该存在结点被删除的情况。
情况三:切换的第三YANG模型中出现卸载的YANG模型中无法对应的结点。对于这种升级,由于卸载的模型中并不存在相应的数据,所以无法构造出相应的模型数据,从而无需考虑这种情况。
针对上述情况一和情况二,当进行数据升级,即切换到第三YANG模型时,如果卸载的YANG模型与第三YANG模型是后向兼容,由于无需切换APP,且不会出现情况二中被删除的情形,所以设备不必生成数据升级过程中带来的差异信息。而如果卸载的YANG模型与第三YANG模型是非后向兼容,则设备会实际上生成两份差异信息。一份是卸载的模型数据,另一份是切换的第三YANG模型的数据。如图16所示,设备会将这两个数据统一下发至订阅分发模块,订阅分发模块则会再将这两个数据通知给APP组件。例如,会先使用原业务组件的子APP完成资源的清理释放,该原业务组件的子APP被终止之后,运行新yang包即第三YANG模型对应的子APP,也即新业务组件,由新业务组件处理YANG模型的数据。
因此,在示例性实施例中,终止原业务组件,运行与第三YANG模型对应的新业务组件,包括:第二网络设备根据卸载的YANG模型的数据生成第一差异信息,根据第三YANG模型的数据生成第二差异信息;根据第一差异信息控制原业务组件清理释放资源,根据第二差异信息运行与第三YANG模型对应的新业务组件执行业务。也就是说,在切换到第三YANG模型之前,通过先控制原业务组件清理释放资源,再运行新业务组件,由此实现业务平滑过渡。
需要说明的是,图15和图16所示的方式都是采用新增的手段实现,只是新增是独立的组件,还是通过一个组件来实现多个功能。具体采用哪种方式,本申请实施例对此不加以限定。在示例性实施例中,为了能够运行与第一YANG模型对应的新业务组件,可通过业务组件和yang包之间的映射关系确定对应的新业务组件。示例性地,业务组件和yang包之间的映射关系可记录在设备内的配置文件上,切换哪个yang包,即可通过该配置文件查询与其存在映射关系的业务组件,将该业务组件作为新的业务组件进行运行操作。
以该配置文件如图17所示为例,第二网络设备会向分发模块发送一个或若干个更换yang包的消息。所有业务组件都会订阅这类消息,但订阅的具体消息会有所不同。以图16所示的结构为例,如图18所示,当业务组件监听到有更换yang包的消息后,会先终止当前yang包对应的业务组件。然后到配置文件中查询RPC请求报文中的yang包关联了哪些业务组件,之后以子进程的方式启动这些业务组件。在示例性实施例中,也可以先启动新的业务组件,再终止原业务组件,本申请实施例不对启动新业务组件,终止原业务组件的先后顺序进行限定。
综上所述,第二网络设备接收到第一RPC请求消息后,针对YANG模型的切换过程可如图19所示。第二网络设备接收到<select yang packages>的RPC请求报文后,生成临时的新YANG包列表,检测该新YANG包列表在依赖上是否完备,如果不完备,则向第一网络设备返回错误。如果完备,卸载旧包、冲突包,加载新包。之后,终止原业务组件,运行(拉起)新业务组件。在运行新业务组件后,说明已经切换模型集成功。第二网络设备会将当前的YANG包信息刷新至yang-library的working-package列表节点下。
针对第一网络设备为控制器的情况,如果控制器支持YANG包差异比对,控制器和第二网络设备在设备管理方法中的交互过程可如图20所示。由控制器通过<get-dat>RPC读取第二网络设备中的yang-library中的YANG包信息,如版本信息。第二网络设备向第一网络设备返回YANG包数据,控制器比对自身与设备的YANG包差异。例如发现设备存在控制器无法兼容的YANG模型,则生成一个切换YANG包的<select-yang-packages>的PRC请求报文。将生成的<select-yang-packages>的PRC请求报文发送至第二网络设备进行模型集切换。第二网络设备基于RPC请求形成新YANG列表,校验新YANG报列表的完备性。在校验得出具有完备性的情况下,卸载旧包,加载新包。终止原业务组件,启动新业务组件。如果都执行成功,则第二网络设备向控制器返回RPC响应,以通知控制器对YANG模型切换成功,则控制器可继续对第二网络设备进行纳管。如果任一过程发生错误,则第二网络设备向控制器返回错误信息。
针对第一网络设备为控制器的情况,如果控制器不支持YANG包差异比对,则本申请实施例提供的方法还应用于CLI设备。CLI设备、控制器和第二网络设备在设备管理方法中的交互过程可如图21所示。由CLI设备通过<get-dat>RPC读取第二网络设备中的yang-library中的YANG包信息,如版本信息。第二网络设备向CLI设备返回YANG包数据,CLI设备还获取控制器的YANG包信息,如版本信息。之后,CLI设备比对控制器与第二网络设备的YANG包差异。例如发现第二网络设备存在控制器无法兼容的YANG模型,则生成一个切换YANG包的<select-yang-packages>的PRC请求报文。将生成的<select-yang-packages>的PRC请求报文发送至第二网络设备进行模型集切换。第二网络设备基于RPC请求形成新YANG列表,校验新YANG报列表的完备性。在校验得出具有完备性的情况下,卸载旧包,加载新包。终止原业务组件,启动新业务组件。如果都执行成功,则第二网络设备向控制器返回RPC响应,以通知控制器对YANG模型切换成功,则控制器可继续对第二网络设备进行纳管。如果任一过程发生错误,则第二网络设备向控制器返回错误信息。
705,第一网络设备通过第三YANG模型建立第一网络设备与第二网络设备之间的控制会话。
当第二网络设备切换到第一YANG模型后,由于该第一YANG模型是第一网络设备所支持的YANG模型,因而第一网络设备可通过第一YANG模型对第二网络设备进行管理。例如,第一网络设备根据第三YANG模型建立第一网络设备与第二网络设备之间的控制会话。
在示例性实施例中,在第一网络设备根据第三YANG模型建立第一网络设备与第二网络设备之间的控制会话之前,第一网络设备接收RPC回应消息,回应消息指示已经切换。
在本申请实施例中,设备管理过程主要在于替换YANG包。如果将YANG包的划分粒度增大,则能够避免小粒度YANG包带来的YANG包冲突的问题。然而在粒度大的方式下,由于约束了YANG包的粒度,所以使用起来相对比YANG包粒度小时的灵活性稍低。关于YANG包的划分粒度,本申请实施例不加以限定,可基于应用场景进行灵活调整。
另外,上述仅以module-set结点为例进行的说明,在示例性实施例中,本申请实施例提供的方法还支持将package扩展到yang-library的schema结点下,而非module-set结点下。由于在yang-library中,datastore只能唯一地跟一个schema绑定,然后该package中并无imported-packages列表结点,所以这里的package实际上成了一个自身就已经是完备的模型集,如图22所示。Yang包的version,以及Yang包在设备中的组织形式与图4所示的YANG包的结构一致,但不会再按业务功能或其他功能对包进行细分,如图23所示。所有与ietf相关的yang文件都会被集合到一个yang包下面,openconfig、huawei的yang文件同理。当然可以根据版本整理出若干个ietf包,但这些各自的ietf包本身都是完备的,不会再额外需要依赖其他的yang包。
另外,由于YANG包本身是一个完整的大粒度包,所以对一个datastore来说,能且只能对他切换一个YANG包。所以select-yang-packages可以简化。例如,当设备接收到切换模型集的RPC后,无须再额外对YANG包的依赖链进行完备性进行检查,因为YANG包不再依赖于其他任何一个包。简化后的流程中,卸载旧包、加载新包和YANG模型的流程与上述703中的描述类似,不再一一赘述。由于无须再冲突小粒度包的冲突问题,所以该实施例下的设备侧流程整体也相对较简单。
本申请实施例提供的方法,在网络设备支持切换不同标准的YANG模型的情况下,通过RPC通知第二网络设备切换到第一网络设备支持的YANG模型,可减少第二网络设备在被第一网络设备纳管时对第一网络设备的依赖,从而扩大网络设备的应用范围,提高设备管理效率。
提供了一种设备管理装置,该装置应用于第一网络设备,该设备管理装置通过如下图24所示的多个模块执行上述图7中第一网络设备所执行的功能。参见图24,该装置包括:
获取模块2401,用于获取第二网络设备中的第二潜在下一代建模语言YANG模型的信息,第一网络设备是网络管理设备;
确定模块2402,用于根据第二YANG模型的信息确定与第二YANG模型相关联的第一网络设备中的第一YANG模型;确定第二YANG模型与第一YANG模型不兼容;
发送模块2403,用于向第二网络设备发送第一远程过程调用RPC请求消息,第一RPC请求消息包括第一网络设备可识别的第三YANG模型的信息,第一YANG模型包括第三YANG模型,第一RPC请求消息用于触发第二网络设备将运行的YANG模型切换为第三YANG模型;
建立模块2404,用于根据第三YANG模型建立第一网络设备与第二网络设备之间的控制会话。
在示例性实施例中,第一网络设备可识别的第三YANG模型的信息包括第三YANG模型所在集合的版本信息。
在示例性实施例中,第一RPC请求消息还包括第一指示信息,第一指示信息用于指示切换第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,第一RPC请求消息还包括第一选项信息,第一选项信息用于指示第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,第一RPC请求消息还包括第二选项信息,第二选项信息用于指示对目标集合进行切换,目标集合为第三YANG模型所在集合之外的其他集合。
在示例性实施例中,第二网络设备中的第二YANG模型是第二网络设备当前运行的YANG模型。
在示例性实施例中,在第一网络设备根据第三YANG模型建立第一网络设备与第二网络设备之间的控制会话之前,第一网络设备接收RPC回应消息,回应消息指示已经切换。
本申请实施例提供了一种设备管理装置,该装置应用于第二网络设备,该设备管理装置通过如下图25所示的多个模块执行上述图7中第二网络设备所执行的功能。参见图25,该装置包括:
接收模块2501,用于接收第一网络设备发送的第一远程过程调用RPC请求消息,第一RPC请求消息包括第一网络设备可识别的第三潜在下一代建模语言YANG模型的信息,第三YANG模型为第一YANG模型中的模型,第一YANG模型由第一网络设备根据第二网络设备中的第二YANG模型的信息确定,第一RPC请求消息用于触发第二网络设备将运行的YANG模型切换为第三YANG模型;
切换模块2502,用于根据第一RPC请求消息切换到第三YANG模型;
建立模块2503,用于根据第三YANG模型建立第一网络设备与第二网络设备之间的控制会话。
在示例性实施例中,切换模块2502,用于根据第一RPC请求消息卸载当前已加载的YANG模型,加载第三YANG模型。
在示例性实施例中,切换模块2502,还用于终止原业务组件,运行与第三YANG模型对应的新业务组件。
在示例性实施例中,切换模块2502,用于根据卸载的YANG模型的数据生成第一差异信息,根据第三YANG模型的数据生成第二差异信息;根据第一差异信息控制原业务组件清理释放资源,根据第二差异信息运行与第三YANG模型对应的新业务组件执行业务。
在示例性实施例中,切换模块2502,还用于当第一RPC请求消息还包括第一指示信息时,对第三YANG模型所依赖的第四YANG模型进行切换,第一指示信息用于指示切换第三YANG模型所依赖的第四YANG模型。
在示例性实施例中,切换模块2502,还用于当第一RPC请求消息还包括第一选项信息时,对第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换,第一选项信息用于指示第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
在示例性实施例中,切换模块2502,还用于当第一RPC请求消息还包括第二选项信息时,对目标集合进行切换,第二选项信息用于指示对目标集合进行切换,目标集合为第三YANG模型所在集合之外的其他集合。
在示例性实施例中,该装置,还包括:
获取模块,用于根据当前已加载的YANG模型及第三YANG模型获取YANG模型列表,YANG模型列表中不包括与第三YANG模型存在冲突的YANG模型;
检测模块,用于检测YANG模型列表的依赖链是否完备;
切换模块,用于在YANG模型列表的依赖链完备的情况下,执行根据第一RPC请求消息卸载当前已加载的YANG模型,加载第三YANG模型的步骤。
应理解的是,上述图24至图2 5提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图26,本申请实施例还提供一种网络设备1000,图26所示的网络设备1000用于执行上述网络设备管理方法所涉及的操作。该网络设备1000包括:存储器1001、处理器1002及接口1003,存储器1001、处理器1002及接口1003之间通过总线1004连接。
其中,存储器1001中存储有至少一条指令,至少一条指令由处理器1002加载并执行,以实现上述任一所述的网络设备管理方法。
接口1003用于与网络中的其他设备进行通信,该接口1003可以通过无线或有线的方式实现,示例性地,该接口1003可以是网卡。例如,网络设备1000可通过该接口1003与服务器进行通信。
应理解的是,图26仅仅示出了网络设备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)。
还提供了一种网络管理系统,该系统包括第一网络设备和第二网络设备,其中,第一网络设备用于执行上述网络管理方法中的第一网络设备所执行的功能,第二网络设备用于执行上述网络管理方法中的第二网络设备所执行的功能。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的网络管理方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个操作和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (35)
1.一种设备管理方法,其特征在于,所述方法包括:
第一网络设备获取第二网络设备中的第二潜在下一代建模语言YANG模型的信息,所述第一网络设备是网络管理设备;
所述第一网络设备根据所述第二YANG模型的信息确定与所述第二YANG模型相关联的所述第一网络设备中的第一YANG模型;
所述第一网络设备确定所述第二YANG模型与所述第一YANG模型不兼容,所述第一网络设备向所述第二网络设备发送第一远程过程调用RPC请求消息,所述第一RPC请求消息包括所述第一网络设备可识别的第三YANG模型的信息,所述第一YANG模型包括所述第三YANG模型,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
2.如权利要求1所述的方法,其特征在于,所述第一网络设备可识别的第三YANG模型的信息包括所述第三YANG模型所在集合的版本信息。
3.如权利要求1或2所述的方法,其特征在于,所述第一RPC请求消息还包括第一指示信息,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第一RPC请求消息还包括第一选项信息,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第一RPC请求消息还包括第二选项信息,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第二网络设备中的第二YANG模型是所述第二网络设备当前运行的YANG模型。
7.根据权利要求1-6任一所述的方法,其特征在于,在所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话之前,所述第一网络设备接收RPC回应消息,回应消息指示已经切换。
8.一种设备管理方法,其特征在于,所述方法包括:
第二网络设备接收第一网络设备发送的第一远程过程调用RPC请求消息,所述第一RPC请求消息包括第一网络设备可识别的第三潜在下一代建模语言YANG模型的信息,所述第三YANG模型为第一YANG模型中的模型,所述第一YANG模型由所述第一网络设备根据所述第二网络设备中的第二YANG模型的信息确定,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
根据所述第一RPC请求消息切换到所述第三YANG模型,根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一RPC请求消息切换到所述第三YANG模型,包括:
根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型。
10.根据权利要求8或9所述的方法,其特征在于,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:
终止原业务组件,运行与所述第三YANG模型对应的新业务组件。
11.根据权利要求10所述的方法,其特征在于,所述终止原业务组件,运行与所述第三YANG模型对应的新业务组件,包括:
所述第二网络设备根据卸载的YANG模型的数据生成第一差异信息,根据所述第三YANG模型的数据生成第二差异信息;
根据所述第一差异信息控制原业务组件清理释放资源,根据所述第二差异信息运行与所述第三YANG模型对应的新业务组件执行业务。
12.根据权利要求8-11任一所述的方法,其特征在于,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:
当所述第一RPC请求消息还包括第一指示信息时,对所述第三YANG模型所依赖的第四YANG模型进行切换,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
13.根据权利要求8-12任一所述的方法,其特征在于,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:
当所述第一RPC请求消息还包括第一选项信息时,对所述第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
14.根据权利要求8-13任一所述的方法,其特征在于,所述根据所述第一RPC请求消息切换到所述第三YANG模型之后,还包括:
当所述第一RPC请求消息还包括第二选项信息时,对目标集合进行切换,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
15.根据权利要求9-14任一所述的方法,其特征在于,所述根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型之前,还包括:
根据当前已加载的YANG模型及所述第三YANG模型获取YANG模型列表,所述YANG模型列表中不包括与所述第三YANG模型存在冲突的YANG模型;
检测所述YANG模型列表的依赖链是否完备;
在所述YANG模型列表的依赖链完备的情况下,执行根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型的步骤。
16.一种设备管理装置,其特征在于,所述装置应用于第一网络设备,包括:
获取模块,用于获取第二网络设备中的第二潜在下一代建模语言YANG模型的信息,所述第一网络设备是网络管理设备;
确定模块,用于根据所述第二YANG模型的信息确定与所述第二YANG模型相关联的所述第一网络设备中的第一YANG模型;确定所述第二YANG模型与所述第一YANG模型不兼容;
发送模块,用于向所述第二网络设备发送第一远程过程调用RPC请求消息,所述第一RPC请求消息包括所述第一网络设备可识别的第三YANG模型的信息,所述第一YANG模型包括所述第三YANG模型,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
建立模块,用于根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
17.如权利要求16所述的装置,其特征在于,所述第一网络设备可识别的第三YANG模型的信息包括所述第三YANG模型所在集合的版本信息。
18.如权利要求16或17所述的装置,其特征在于,所述第一RPC请求消息还包括第一指示信息,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
19.根据权利要求16-18任一所述的装置,其特征在于,所述第一RPC请求消息还包括第一选项信息,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
20.根据权利要求16-19任一所述的装置,其特征在于,所述第一RPC请求消息还包括第二选项信息,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
21.根据权利要求16-20任一所述的装置,其特征在于,所述第二网络设备中的第二YANG模型是所述第二网络设备当前运行的YANG模型。
22.根据权利要求16-21任一所述的装置,其特征在于,在所述第一网络设备根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话之前,所述第一网络设备接收RPC回应消息,回应消息指示已经切换。
23.一种设备管理装置,其特征在于,所述装置应用于第二网络设备,包括:
接收模块,用于接收第一网络设备发送的第一远程过程调用RPC请求消息,所述第一RPC请求消息包括第一网络设备可识别的第三潜在下一代建模语言YANG模型的信息,所述第三YANG模型为第一YANG模型中的模型,所述第一YANG模型由所述第一网络设备根据所述第二网络设备中的第二YANG模型的信息确定,所述第一RPC请求消息用于触发所述第二网络设备将运行的YANG模型切换为所述第三YANG模型;
切换模块,用于根据所述第一RPC请求消息切换到所述第三YANG模型;
建立模块,用于根据所述第三YANG模型建立所述第一网络设备与所述第二网络设备之间的控制会话。
24.根据权利要求23所述的装置,其特征在于,所述切换模块,用于根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型。
25.根据权利要求23或24所述的装置,其特征在于,所述切换模块,还用于终止原业务组件,运行与所述第三YANG模型对应的新业务组件。
26.根据权利要求25所述的装置,其特征在于,所述切换模块,用于根据卸载的YANG模型的数据生成第一差异信息,根据所述第三YANG模型的数据生成第二差异信息;根据所述第一差异信息控制原业务组件清理释放资源,根据所述第二差异信息运行与所述第三YANG模型对应的新业务组件执行业务。
27.根据权利要求23-26任一所述的装置,其特征在于,所述切换模块,还用于当所述第一RPC请求消息还包括第一指示信息时,对所述第三YANG模型所依赖的第四YANG模型进行切换,所述第一指示信息用于指示切换所述第三YANG模型所依赖的第四YANG模型。
28.根据权利要求23-27任一所述的装置,其特征在于,所述切换模块,还用于当所述第一RPC请求消息还包括第一选项信息时,对所述第三YANG模型所依赖的第四YANG模型中的非目标YANG模型进行切换,所述第一选项信息用于指示所述第三YANG模型所依赖的第四YANG模型中的目标YANG模型保持不变。
29.根据权利要求23-28任一所述的装置,其特征在于,所述切换模块,还用于当所述第一RPC请求消息还包括第二选项信息时,对目标集合进行切换,所述第二选项信息用于指示对目标集合进行切换,所述目标集合为所述第三YANG模型所在集合之外的其他集合。
30.根据权利要求24-29任一所述的装置,其特征在于,所述装置,还包括:
获取模块,用于根据当前已加载的YANG模型及所述第三YANG模型获取YANG模型列表,所述YANG模型列表中不包括与所述第三YANG模型存在冲突的YANG模型;
检测模块,用于检测所述YANG模型列表的依赖链是否完备;
所述切换模块,用于在所述YANG模型列表的依赖链完备的情况下,执行根据所述第一RPC请求消息卸载当前已加载的YANG模型,加载所述第三YANG模型的步骤。
31.一种第一网络设备,其特征在于,所述第一网络设备用于执行所述权利要求1-7任一所述的方法。
32.一种第二网络设备,其特征在于,所述第二网络设备用于执行权利要求8-15任一所述的方法。
33.一种设备管理系统,其特征在于,所述系统包括第一网络设备和第二网络设备;
所述第一网络设备执行权利要求1-7任一所述的方法,所述第二网络设备执行权利要求8-15任一所述的方法。
34.一种网络设备,其特征在于,所述网络设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-15中任一所述的方法。
35.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-15中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/116011 WO2021057605A1 (zh) | 2019-09-29 | 2020-09-17 | 设备管理方法、装置、系统、设备及存储介质 |
EP20869742.5A EP4024768A4 (en) | 2019-09-29 | 2020-09-17 | DEVICE MANAGEMENT METHOD, DEVICE, SYSTEM AND DEVICE AND STORAGE MEDIA |
US17/704,788 US11956114B2 (en) | 2019-09-29 | 2022-03-25 | Device management method, apparatus, and system, device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934891 | 2019-09-29 | ||
CN2019109348910 | 2019-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583630A true CN112583630A (zh) | 2021-03-30 |
CN112583630B CN112583630B (zh) | 2022-07-12 |
Family
ID=75116997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911062081.7A Active CN112583630B (zh) | 2019-09-29 | 2019-11-01 | 设备管理方法、装置、系统、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11956114B2 (zh) |
EP (1) | EP4024768A4 (zh) |
CN (1) | CN112583630B (zh) |
WO (1) | WO2021057605A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024001569A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 网络配置方法、装置以及存储介质、电子装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112688794A (zh) * | 2019-10-18 | 2021-04-20 | 华为技术有限公司 | Yang模型的管理方法、装置、系统、设备及存储介质 |
WO2024021045A1 (en) * | 2022-07-29 | 2024-02-01 | Huawei Technologies Co., Ltd. | System and method for improving efficiency of yang based configuration of devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945003A (zh) * | 2009-07-03 | 2011-01-12 | 中兴通讯股份有限公司 | 兼容性处理方法以及管理站 |
US20120110028A1 (en) * | 2010-11-01 | 2012-05-03 | Athreya Arjun P | Translating an object-oriented data model to a yang data model |
US20170187577A1 (en) * | 2017-03-14 | 2017-06-29 | Nuviso Networks Inc | System for configuring network devices |
US20180013662A1 (en) * | 2016-07-05 | 2018-01-11 | Cisco Technology, Inc. | Method and apparatus for mapping network data models |
US10230585B1 (en) * | 2016-09-30 | 2019-03-12 | Juniper Networks, Inc. | Multi vendor device support in network management systems |
US10326657B1 (en) * | 2016-09-30 | 2019-06-18 | Juniper Networks, Inc. | Multi vendor device support in network management systems |
CN109951315A (zh) * | 2019-02-14 | 2019-06-28 | 烽火通信科技股份有限公司 | 一种实现yang模型到内部模型映射的方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1023585A (en) * | 1912-02-09 | 1912-04-16 | Allis Chalmers | Hydraulic turbine. |
US9715380B2 (en) * | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
CN106257868B (zh) * | 2015-06-19 | 2020-11-03 | 中兴通讯股份有限公司 | 配置数据推送方法及装置 |
US9900209B2 (en) * | 2015-09-14 | 2018-02-20 | Cisco Technology, Inc. | Techniques for YANG model version control validation |
US11075793B2 (en) * | 2016-09-19 | 2021-07-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for network management based on NETCONF protocol, and associated network device |
CN106656792B (zh) * | 2016-11-30 | 2019-06-28 | 中国人民解放军国防科学技术大学 | 一种基于sdn架构的bgp路由可信验证方法 |
CN109474487B (zh) * | 2018-10-17 | 2020-08-18 | Ut斯达康通讯有限公司 | 网络性能监测方法、网络设备及网络性能监测系统 |
CN109947995B (zh) * | 2019-02-14 | 2020-12-15 | 烽火通信科技股份有限公司 | 一种高级模型与低级模型的自动映射方法及系统 |
-
2019
- 2019-11-01 CN CN201911062081.7A patent/CN112583630B/zh active Active
-
2020
- 2020-09-17 WO PCT/CN2020/116011 patent/WO2021057605A1/zh unknown
- 2020-09-17 EP EP20869742.5A patent/EP4024768A4/en active Pending
-
2022
- 2022-03-25 US US17/704,788 patent/US11956114B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945003A (zh) * | 2009-07-03 | 2011-01-12 | 中兴通讯股份有限公司 | 兼容性处理方法以及管理站 |
US20120110028A1 (en) * | 2010-11-01 | 2012-05-03 | Athreya Arjun P | Translating an object-oriented data model to a yang data model |
US20180013662A1 (en) * | 2016-07-05 | 2018-01-11 | Cisco Technology, Inc. | Method and apparatus for mapping network data models |
US10230585B1 (en) * | 2016-09-30 | 2019-03-12 | Juniper Networks, Inc. | Multi vendor device support in network management systems |
US10326657B1 (en) * | 2016-09-30 | 2019-06-18 | Juniper Networks, Inc. | Multi vendor device support in network management systems |
US20170187577A1 (en) * | 2017-03-14 | 2017-06-29 | Nuviso Networks Inc | System for configuring network devices |
CN109951315A (zh) * | 2019-02-14 | 2019-06-28 | 烽火通信科技股份有限公司 | 一种实现yang模型到内部模型映射的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024001569A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 网络配置方法、装置以及存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021057605A1 (zh) | 2021-04-01 |
CN112583630B (zh) | 2022-07-12 |
EP4024768A4 (en) | 2022-10-26 |
US20220217036A1 (en) | 2022-07-07 |
US11956114B2 (en) | 2024-04-09 |
EP4024768A1 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8051186B2 (en) | Method for device capability negotiation, method, system and device for synchronization | |
US7991878B2 (en) | Method, system and terminal for maintaining capability management object and for managing capability | |
CN111416736B (zh) | 网络设备的配置管理方法、装置、计算设备及存储介质 | |
CN112583630B (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
CN107005426B (zh) | 一种虚拟网络功能的生命周期管理方法及装置 | |
US11432137B2 (en) | Service notification method for mobile edge host and apparatus | |
EP2156317B1 (en) | Method and system for allocating id of software component | |
US20190260636A1 (en) | Method and apparatus for managing network slice instance | |
US20220239547A1 (en) | Yang Module Management Method, Apparatus, and System, Device, and Storage Medium | |
CN115114044B (zh) | 消息推送方法、装置、设备和介质 | |
CN111435947A (zh) | 电子消息控制 | |
US20230342183A1 (en) | Management method and apparatus for container cluster | |
WO2021226784A1 (zh) | 节点配置方法、装置、分布式系统及计算机可读介质 | |
CN114900449B (zh) | 一种资源信息管理方法、系统及装置 | |
US20200228389A1 (en) | Electronic message adaptation | |
CN114726789A (zh) | 流量管理、配置流量管理策略的方法、装置、设备及介质 | |
US20230214207A1 (en) | Device upgrade control method and apparatus, and computer device and storage medium | |
KR20150088462A (ko) | 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 | |
CN104348646A (zh) | 配置数据处理方法、装置及系统 | |
CN115225482A (zh) | 一种基于Kubernetes进行Pod容器网络配置的方法及装置 | |
CN105827567B (zh) | 服务管控方法及能力开放平台 | |
JP5502051B2 (ja) | ソフトウェア・アプリケーション制御管理オブジェクトにおけるステップの実行結果を処理する方法 | |
US6678742B1 (en) | Object-oriented computer system and computer-readable storage medium which stores program | |
CN114510282B (zh) | 一种自动化应用的运行方法、装置、设备以及存储介质 | |
WO2024066965A1 (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 |