CN109951315A - 一种实现yang模型到内部模型映射的方法及系统 - Google Patents
一种实现yang模型到内部模型映射的方法及系统 Download PDFInfo
- Publication number
- CN109951315A CN109951315A CN201910115056.4A CN201910115056A CN109951315A CN 109951315 A CN109951315 A CN 109951315A CN 201910115056 A CN201910115056 A CN 201910115056A CN 109951315 A CN109951315 A CN 109951315A
- Authority
- CN
- China
- Prior art keywords
- model
- yang
- internal model
- internal
- class
- 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
Abstract
本发明公开了一种实现YANG模型到内部模型映射的方法及系统,涉及通信技术领域,本发明在开发阶段在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射;加载内部模型,并在内存中建立内部模型类和内部模型元素;加载YANG模型,并在内存中建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系。采用本发明,在Netconf收到YANG配置时,解析YANG配置得到YANG实例树,将YANG实例树节点映射成内部模型类的实例,构建映射后的临时的内部模型映射对象;再将临时内部模型映射对象发送给内部模型引擎,可实现将YANG模型到内部模型的自动映射。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种实现YANG模型到内部模型映射的方法及系统。
背景技术
网络配置协议(Netconf,Network Configuration Protocol)是安装、操作和删除网络设备配置的标准协议。YANG和NETCONF相伴而生,YANG是一种数据建模语言(DataModeling Language),用来描述NETCONF相关的网络配置和网络状态的数据模型。YANG本身不是数据模型,而是定义数据模型的语言,使用YANG语言建立的模型简称YANG模型。NETCONF和YANG的目标是以可编程的方式实现网络配置的自动化,从而简化和加快网络设备和服务的部署,为网络运营商和企业用户节约成本。
参见图1所示,在一个RFC标准中NETCONF/YANG的参考架构中,Netconf作为管理框架的核心存在。但各个软件组件先于Netconf管理框架存在,南向接口和管理对象(MO)也先于Netconf管理框架存在并已经固化,所以新增Netconf管理框架开发工作需要适配南向接口并实现YANG模型与管理对象相互映射。
但是现有网络设备已经实现与Netconf类似功能特性的管理框架的内部模型引擎,在YANG模型出现之前已经实现了内部模型,设备厂商在南向接口、管理对象(MO)、内部模型与管理对象相互映射上已经投入大量资源开发调测并已经稳定固化。使用Netconf管理框架+YANG模型完全颠覆现有内部模型引擎管理框架和内部模型,不可行。因此如图2所示,选择在现有内部模型引擎管理框架+内部模型之上实现Netconf+YANG更合理。
参见图3所示,内部模型的构成元素为内部模型类,内部模型类并不是像YANG模型一样以树的形式组织,内部模型类是扁平的,内部模型类之间隐藏着父子关系,必须先配置父内部模型类,再配置内部模型子类。一个内部模型类包含多个内部模型元素;一个内部模型类可以实例化为一个或多个,并且以一个KEY或多个KEY作为内部模型类实例化对象的索引,内部模型子类继承父类的KEY。
参见图3所示,以ISIS的YANG模型为例描述YANG模型与内部模型类和元素的关系。在YANG模型中,YANG模型节点以树的形式进行组织。其中ISIS实例容器、interfaces容器只是作为列表的容器,除了列表没有其它子节点,无对应的内部模型类,没有必要进行映射。如果一个容器有子节点,可以映射为一个内部模型类,但该类只有一个实例。
图3中,YANG模型中ISIS实例列表可以映射到内部模型中ISIS类,ISIS实例列表的两个YANG叶子模型节点instance-name和running可以映射到内部模型中ISIS类的instance-name和running两个元素,其中instance-name既作为YANG模型ISIS实例列表的KEY,又作为内部模型中ISIS类的KEY。YANG模型中interface列表映射到内部模型中ISIS_INTERFACE类,interface列表的两个YANG叶子模型节点interface-name和running可以映射到内部模型中ISIS_INTERFACE类的interface-name和running两个元素。内部模型的ISIS_INTERFACE类有两个KEY:instance-name和interface-name,其中interface-name既作为interface列表的KEY,又作为ISIS_INTERFACE类的KEY。但ISIS_INTERFACE类的另外一个KEY:instance-name需要继承父列表ISIS实例列表的KEY:instance-name。
现行映射采用每个模型硬编码实现,需要对每个模型及模型每个节点进行硬编码完成映射。但网络设备上运行的网络操作系统,功能复杂,更多是作为一种平台软件存在,支持的各种网络设备,包含数通路由器/交换机、PTN设备、PON设备、OTN设备。其协议和业务的模型复杂并众多,达到成百上千个模型,每个模型又有很多模型节点,导致映射开发工作代价巨大。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种实现YANG模型到内部模型映射的方法及系统,实现YANG模型到内部管理模型映射的通用自动方法,大大降低映射开发和维护工作量。
为达到以上目的,本发明采取的技术方案是:一种实现YANG模型到内部模型映射的方法,包括以下步骤:
在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射;
加载内部模型,并在内存中建立内部模型类和内部模型元素;
加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系。
在上述方案的基础上,在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射,具体包括以下步骤:
在开发阶段,在YANG模型中使用扩展语句定义扩展私有映射语句;
在YANG的列表或者容器使用扩展私有映射语句将一个列表或者容器映射到一个内部模型类;
在YANG的列表或者容器下的叶子节点使用扩展私有映射语句将一个列表或者容器下的叶子节点映射到一个内部模型元素。
在上述方案的基础上,加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系,具体包括以下步骤:
在Netconf启动时加载YANG模型,构造YANG模型树;
解析列表或者容器下映射到内部模型类的扩展私有映射语句,并根据内部模型类名字查找对应的内部模型类,将找到的内部模型类存储在YANG模型树中的列表或者容器下;
解析叶子节点下映射到内部模型元素的扩展私有映射语句,先根据内部模型类名字查找对应的内部模型类,再根据内部模型元素名字找到对应内部模型元素,将找到的内部模型元素存储在YANG模型树中叶子节点下;
迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY。
在上述方案的基础上,所述迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY,具体包括以下步骤:
迭代YANG模型树,在迭代到每个顶层模型节点时,将模型树的KEY清空;
迭代YANG模型树,在进入每个列表节点时,将此列表节点的KEY对应的内部模型元素名字添加到模型树的KEY;
迭代YANG模型树,在进入每个列表节点时,根据内部模型类名字找到对应的内部模型类时,迭代模型树的每个KEY,根据KEY在内部模型类中找到对应内部模型元素。
在上述方案的基础上,所述方法还包括以下步骤:
收到YANG配置时,解析YANG配置得到YANG实例树,将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎。
在上述方案的基础上,所述收到YANG配置时,解析YANG配置得到YANG实例树,将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎,具体包括以下步骤:
Netconf收到YANG配置时,解析得到YANG实例树;并建立实例树各个实例节点与模型树节点的绑定关系;
遍历YANG实例树,对每个节点进行YANG模型到内部模型的映射,生成临时的内部模型映射对象;
遍历临时的内部模型映射对象,将临时的内部模型映射对象通过内部IPC发送给内部模型引擎,并将内部模型引擎的返回结果发送至Netconf。
本发明提供一种实现YANG模型到内部模型映射的系统,包括:
私有映射扩展模块,其用于在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射;
内部模型引擎管理模块,其用于加载内部模型,并在内存中建立内部模型类和内部模型元素;
YANG模型管理模块,其用于加载YANG模型,建立YANG模型树;
映射建立模块,其用于解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系;收到YANG配置时,将YANG实例树节点映射成内部模型类、内部模型元素的实例。
在上述方案的基础上,所述系统还包括Netconf服务模块,其用于收到YANG配置时,解析YANG配置得到YANG实例树,调用映射建立模块将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎。
在上述方案的基础上,所述映射建立模块加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系,具体包括以下步骤:
在Netconf启动时加载YANG模型,构造YANG模型树;
解析列表或者容器下映射到内部模型类的扩展私有映射语句,并根据内部模型类名字查找对应的内部模型类,将找到的内部模型类存储在YANG模型树中的列表或者容器下;
解析叶子节点下映射到内部模型元素的扩展私有映射语句,先根据内部模型类名字查找对应的内部模型类,再根据内部模型元素名字找到对应内部模型元素,将找到的内部模型元素存储在YANG模型树中叶子节点下;
迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY。
在上述方案的基础上,所述映射建立模块迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY,具体包括以下步骤:
迭代YANG模型树,在迭代到每个顶层模型节点时,将模型树的KEY清空;
迭代YANG模型树,在进入每个列表节点时,将此列表节点的KEY对应的内部模型元素名字添加到模型树的KEY;
迭代YANG模型树,在进入每个列表节点时,根据内部模型类名字找到对应的内部模型类时,迭代模型树的每个KEY,根据KEY在内部模型类中找到对应内部模型元素。
与现有技术相比,本发明的优点在于:
本发明在开发阶段在YANG模型文本文件中使用扩展私有映射语句支持YANG模型到内部模型(内部模型)的映射;加载内部模型,并在内存中建立内部模型类和内部模型元素;加载YANG模型,并在内存中建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系。采用本发明,在Netconf收到网管或控制器的YANG配置时,解析得到YANG实例树,将YANG实例树节点映射成内部模型类的实例,构建映射后的临时的内部模型映射对象;再将临时内部模型映射对象发送给内部模型引擎,内部模型引擎进行配置后续处理,并将结果返回给Netconf。通过本方案,可实现将YANG模型到内部模型的通用自动映射,在修改或添加新模型时,只需要在开发阶段在YANG模型文本文件中修改或添加YANG到内部模型的私有映射信息,而无需硬编码实现YANG到内部模型映射程序代码的修改或添加,大大降低映射开发和维护工作量。
附图说明
图1为背景技术中RFC标准中的NETCONF/YANG的参考架构示意图;
图2为背景技术中在已有设备管理框架+内部模型之上实现Netconf+YANG接口的示意图;
图3为背景技术中ISIS的YANG模型与内部模型类映射关系示意图;
图4为本发明实施例中实现YANG模型到内部模型映射的流程示意图;
图5为本发明实施例中YANG实例树示意图;
图6为本发明实施例中内部模型映射对象的示意图;
图7为本发明实施例中实现YANG模型到内部模型映射的系统的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
参见图4所示,本发明实施例提供一种实现YANG模型到内部模型映射的方法,包括以下步骤:
S10,在开发阶段在YANG模型文本文件中使用扩展私有映射语句支持YANG模型到内部模型(内部模型)的映射;
S20,在内部模型引擎启动时,加载内部模型,并在内存中建立内部模型类和内部模型元素;
S30,在Netconf启动时,加载YANG模型,并在内存中建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系;
本发明实施例提供的方法还包括以下步骤:
S40,Netconf收到网管或控制器的YANG配置后,调用YANG模型库的接口解析YANG配置得到YANG实例树,并将YANG实例树节点映射成内部模型类的实例,构建映射后的临时的内部模型映射对象;
遍历临时的内部模型映射对象,将临时的内部模型映射对象通过内部IPC发送给内部模型引擎,内部模型引擎进行处理后(固有内部模型引擎功能,不在此赘述),将内部模型引擎的返回结果发送至Netconf。
实施例2:
在实施例1的基础上,S10具体包括以下步骤:
步骤S101,在YANG模型中使用extension扩展语句,定义扩展私有映射语句fosv4-ext-map;示例如下:
步骤S102,在YANG的列表或者容器使用扩展私有映射语句将一个列表或者容器映射到一个内部模型类;示例如下:
list instance{
fosv4-ext-map"ISIS";
}
步骤S103,在YANG的列表或者容器下的叶子节点使用扩展私有映射语句将一个列表或者容器下的叶子节点映射到一个内部模型元素。示例如下:
leaf instance-name{
fosv4-ext-map"ISIS:instance_id";
}
下面是ISIS模型使用extension扩展之后内容。备注:为简化描述,有大量裁剪:
实施例3:
在实施例1的基础上,S30具体包括以下步骤:
步骤S301,在Netconf启动时加载YANG模型,构造YANG模型树;
步骤S302,解析列表或者容器下映射到内部模型类的扩展私有映射语句,并根据内部模型类名字查找对应的内部模型类,将找到的内部模型类存储在YANG模型树中的列表或者容器下;
步骤S303,解析叶子节点下映射到内部模型元素的扩展私有映射语句,先根据内部模型类名字查找对应的内部模型类,再根据内部模型元素名字找到对应内部模型元素,将找到的内部模型元素存储在YANG模型树中叶子节点下;
步骤S304,迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY。
步骤S304具体包括以下步骤:
步骤S3041,迭代YANG模型树,在迭代到每个顶层模型节点(在该节点和模块/子模块声明之间,没有其他的模型节点存在)时,将模型树的KEY清空;
步骤S3042,迭代YANG模型树,在进入每个列表节点时,将此列表节点的KEY对应的内部模型元素名字添加到模型树的KEY;
步骤S3043,迭代YANG模型树,在进入每个列表节点时,根据内部模型类名字找到对应的内部模型类时,迭代模型树的每个KEY,根据KEY在内部模型类中找到对应内部模型元素。
实施例4:
在实施例1的基础上,S40具体包括以下步骤:
S401,收到Netconf下发的YANG配置时,解析得到YANG实例树;并建立实例树各个实例节点与模型树节点的绑定关系;
S402,遍历YANG实例树,对每个节点进行YANG模型到内部模型的映射,生成临时的内部模型映射对象;
S403,遍历临时的内部模型映射对象,将临时的内部模型映射对象通过内部IPC发送给内部模型引擎,并将内部模型引擎的返回结果发送至Netconf。
实施例5:
参见图5和图6所示,在实施例1的基础上,YANG实例树遍历原则是从上到下,从左到右;对于本示例中的顶层容器ISIS容器,无对应内部模型类,对映射无意义,所以虚线,迭代时直接略过。S402具体包括以下步骤:
S4021,遍历到ISIS列表实例1,得到该ISIS列表实例绑定的模型节点,根据该模型节点的扩展语句得到该模型节点映射到内部模型类是ISIS类;并从模型节点得到ISIS列表的KEY是实例名Instance-name,在其子节点中找到Instance-name;将Instance-name的内部模型元素名字和值设置到图6临时内部模型映射对象中;
S4022,在临时内部模型映射对象中通过内部模型类名字查找ISIS类;并通过ISIS类的KEY:Instance-name=100查找其对应ISIS类实例,如未找到则在临时内部模型映射对象中创建此实例,填写Instance-name的名字和值100,并将ISIS类当前的实例指针指向已经找到或新建实例;
S4023,遍历到接口interface列表实例1,从该实例节点得到其绑定模型节点,根据该模型节点的私有扩展语句得到该模型节点映射到内部模型类是ISIS_interface类;并从模型节点得到interface列表的KEY是Instance-name和interface-name,在其子节点中找到Instance-name和interface-name;将interface-name的内部模型元素名字和值设置到临时内部模型映射对象中;
S4024,在临时内部模型映射对象中通过内部模型类名字找到ISIS_interface类;并通过ISIS_interface类的KEY:Instance-name=100和interface-name=Ethernet0/3/1/1查找其对应ISIS_interface类,若未找到则在临时内部模型映射对象中创建此实例,填写Instance-name的名字和值100,interface-name的名字和Ethernet0/3/1/1;并将ISIS_interface类当前的实例指针指向已经找到或新建实例;
S4025,遍历到interface列表实例1下的子节点circuit-type1,从该实例节点得到其绑定的模型节点,根据该模型节点的私有语句得到其映射到内部模型元素是ISIS_interface类:元素circuit-type;在临时内部模型映射对象中通过内部模型类名字找到ISIS_interface类,并在当前实例中创建内部模型元素circuit-type,并填写其值为level2;
S4026,遍历到interface列表实例1下的子节点running1,在ISIS_interface类的当前实例中创建内部模型元素running,并填写其值为TRUE;
S4027,在遍历interface列表实例1下所有子节点之后,从临时内部模型映射对象的KEY值上下文中删除interface列表的KEY:interface-name;
S4028,遍历到ISIS列表实例1下的子节点running1,从该实例节点可以得到其绑定模型节点,在模型节点的私有扩展语法知其映射到内部模型元素是ISIS类:元素running;在临时内部模型映射对象中通过内部模型类名字找到ISIS类,并在当前实例中创建内部模型元素running,并填写其值为TRUE;
S4029,在遍历ISIS列表实例1下所有子节点之后,从临时内部模型映射对象的KEY值上下文中删除ISIS列表的KEY:
Instance-name。
重复S4021-S4029,映射得到内部模型的ISIS实例2和ISIS_INTERFACE实例2;最终得到如图6的临时内部模型映射对象数据。
实施例6:
参见图7所示,本发明实施例提供一种实现YANG模型到内部模型映射的系统,包括:
私有映射扩展模块:其用于在开发阶段,在YANG模型文本文件中使用扩展私有映射语句支持YANG模型到内部模型(内部模型)的映射;
内部模型引擎管理模块:其用于在内部模型引擎启动时,加载内部模型,并在内存中建立内部模型类和内部模型元素。内部模型引擎管理模块包含内部模型和内部模型库。其中内部模型基于XML建立,描述协议和业务内部之间关系以及如何展示及访问。内部模型库,以库的形式提供其它模块解析、加载、创建和删除、读取、更新内部模型的函数接口;
YANG模型管理模块,包括YANG模型和YANG模型库。其中,YANG模型是使用数据建模语言YANG建立的模型,YANG模型描述协议和业务配置如何展现和访问。在程序运行时将YANG模型加载到内存构建YANG模型树。YANG模型库,以库的形式为其它模块提供YANG模型树和YANG数据树解析、加载、创建和删除、读取、更新的函数接口。
映射建立模块,其用于在Netconf启动时,解析YANG模型中扩展私有映射语句,将扩展语句存储在YANG模型树中,建立YANG模型与内部模型类、内部模型元素的映射关系。
Netconf服务模块,其用于在Netconf启动时负责加载YANG模型树、YANG模型到内部模型映射信息;在运行阶段,在收到网管、控制器下发的YANG配置时,调用YANG模型库提供接口解析YANG配置得到YANG实例树;并调用映射建立模块将YANG实例树节点映射成临时的内部模型映射对象,并将其下发给内部模型引擎。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种实现YANG模型到内部模型映射的方法,其特征在于,包括以下步骤:
在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射;
加载内部模型,并在内存中建立内部模型类和内部模型元素;
加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系。
2.如权利要求1所述的一种实现YANG模型到内部模型映射的方法,其特征在于:在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射,具体包括以下步骤:
在开发阶段,在YANG模型中使用扩展语句定义扩展私有映射语句;
在YANG的列表或者容器使用扩展私有映射语句将一个列表或者容器映射到一个内部模型类;
在YANG的列表或者容器下的叶子节点使用扩展私有映射语句将一个列表或者容器下的叶子节点映射到一个内部模型元素。
3.如权利要求1所述的一种实现YANG模型到内部模型映射的方法,其特征在于:加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系,具体包括以下步骤:
在Netconf启动时加载YANG模型,构造YANG模型树;
解析列表或者容器下映射到内部模型类的扩展私有映射语句,并根据内部模型类名字查找对应的内部模型类,将找到的内部模型类存储在YANG模型树中的列表或者容器下;
解析叶子节点下映射到内部模型元素的扩展私有映射语句,先根据内部模型类名字查找对应的内部模型类,再根据内部模型元素名字找到对应内部模型元素,将找到的内部模型元素存储在YANG模型树中叶子节点下;
迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY。
4.如权利要求3所述的一种实现YANG模型到内部模型映射的方法,其特征在于:所述迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY,具体包括以下步骤:
迭代YANG模型树,在迭代到每个顶层模型节点时,将模型树的KEY清空;
迭代YANG模型树,在进入每个列表节点时,将此列表节点的KEY对应的内部模型元素名字添加到模型树的KEY;
迭代YANG模型树,在进入每个列表节点时,根据内部模型类名字找到对应的内部模型类时,迭代模型树的每个KEY,根据KEY在内部模型类中找到对应内部模型元素。
5.如权利要求1所述的一种实现YANG模型到内部模型映射的方法,其特征在于:所述方法还包括以下步骤:
收到YANG配置时,解析YANG配置得到YANG实例树,将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎。
6.如权利要求5所述的一种实现YANG模型到内部模型映射的方法,其特征在于:所述收到YANG配置时,解析YANG配置得到YANG实例树,将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎,具体包括以下步骤:
Netconf收到YANG配置时,解析得到YANG实例树;并建立实例树各个实例节点与模型树节点的绑定关系;
遍历YANG实例树,对每个节点进行YANG模型到内部模型的映射,生成临时的内部模型映射对象;
遍历临时的内部模型映射对象,将临时的内部模型映射对象通过内部IPC发送给内部模型引擎,并将内部模型引擎的返回结果发送至Netconf。
7.一种实现YANG模型到内部模型映射的系统,其特征在于,包括:
私有映射扩展模块,其用于在YANG模型中使用扩展私有映射语句支持YANG模型到内部模型的映射;
内部模型引擎管理模块,其用于加载内部模型,并在内存中建立内部模型类和内部模型元素;
YANG模型管理模块,其用于加载YANG模型,建立YANG模型树;
映射建立模块,其用于解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系;收到YANG配置时,将YANG实例树节点映射成内部模型类、内部模型元素的实例。
8.如权利要求7所述的一种实现YANG模型到内部模型映射的系统,其特征在于:所述系统还包括Netconf服务模块,其用于收到YANG配置时,解析YANG配置得到YANG实例树,调用映射建立模块将YANG实例树节点映射成内部模型类、内部模型元素的实例,并下发至内部模型引擎。
9.如权利要求7所述的一种实现YANG模型到内部模型映射的系统,其特征在于:所述映射建立模块加载YANG模型,建立YANG模型树;解析私有映射信息建立YANG模型与内部模型类、内部模型元素的映射关系,具体包括以下步骤:
在Netconf启动时加载YANG模型,构造YANG模型树;
解析列表或者容器下映射到内部模型类的扩展私有映射语句,并根据内部模型类名字查找对应的内部模型类,将找到的内部模型类存储在YANG模型树中的列表或者容器下;
解析叶子节点下映射到内部模型元素的扩展私有映射语句,先根据内部模型类名字查找对应的内部模型类,再根据内部模型元素名字找到对应内部模型元素,将找到的内部模型元素存储在YANG模型树中叶子节点下;
迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY。
10.如权利要求9所述的一种实现YANG模型到内部模型映射的系统,其特征在于:所述映射建立模块迭代YANG模型树,使每个子内部模型类的继承父辈内部模型类的KEY,具体包括以下步骤:
迭代YANG模型树,在迭代到每个顶层模型节点时,将模型树的KEY清空;
迭代YANG模型树,在进入每个列表节点时,将此列表节点的KEY对应的内部模型元素名字添加到模型树的KEY;
迭代YANG模型树,在进入每个列表节点时,根据内部模型类名字找到对应的内部模型类时,迭代模型树的每个KEY,根据KEY在内部模型类中找到对应内部模型元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115056.4A CN109951315B (zh) | 2019-02-14 | 2019-02-14 | 一种实现yang模型到内部模型映射的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115056.4A CN109951315B (zh) | 2019-02-14 | 2019-02-14 | 一种实现yang模型到内部模型映射的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109951315A true CN109951315A (zh) | 2019-06-28 |
CN109951315B CN109951315B (zh) | 2022-02-22 |
Family
ID=67007607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910115056.4A Active CN109951315B (zh) | 2019-02-14 | 2019-02-14 | 一种实现yang模型到内部模型映射的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109951315B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474794A (zh) * | 2019-07-10 | 2019-11-19 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN111988179A (zh) * | 2020-08-21 | 2020-11-24 | 华信塞姆(成都)科技有限公司 | 一种yang模型管理系统、方法和存储介质 |
CN112187525A (zh) * | 2019-10-31 | 2021-01-05 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN112241276A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种设备的升级方法及装置 |
CN112583630A (zh) * | 2019-09-29 | 2021-03-30 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
WO2021073395A1 (zh) * | 2019-10-18 | 2021-04-22 | 华为技术有限公司 | Yang模型的管理方法、装置、系统、设备及存储介质 |
CN113055206A (zh) * | 2019-12-27 | 2021-06-29 | 中国电信股份有限公司 | 基于意图的网络的业务配置方法、装置以及存储介质 |
CN113300888A (zh) * | 2021-05-21 | 2021-08-24 | 刘超 | 一种yang模型浏览器及客户端设备 |
WO2021179977A1 (zh) * | 2020-03-09 | 2021-09-16 | 华为技术有限公司 | 报文处理方法和设备 |
CN113452536A (zh) * | 2020-03-24 | 2021-09-28 | 华为技术有限公司 | 一种原子对象的管理方法及装置 |
CN114296809A (zh) * | 2021-12-24 | 2022-04-08 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
WO2023279848A1 (zh) * | 2021-07-06 | 2023-01-12 | 华为技术有限公司 | 一种查询方法、装置及设备 |
WO2024016726A1 (zh) * | 2022-07-20 | 2024-01-25 | 华为技术有限公司 | 设备配置方法、网络设备、芯片及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110028A1 (en) * | 2010-11-01 | 2012-05-03 | Athreya Arjun P | Translating an object-oriented data model to a yang data model |
CN107302443A (zh) * | 2016-04-15 | 2017-10-27 | 华为技术有限公司 | 基于网络配置协议的设备配置方法及装置 |
-
2019
- 2019-02-14 CN CN201910115056.4A patent/CN109951315B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110028A1 (en) * | 2010-11-01 | 2012-05-03 | Athreya Arjun P | Translating an object-oriented data model to a yang data model |
CN107302443A (zh) * | 2016-04-15 | 2017-10-27 | 华为技术有限公司 | 基于网络配置协议的设备配置方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474794B (zh) * | 2019-07-10 | 2021-04-27 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN110474794A (zh) * | 2019-07-10 | 2019-11-19 | 烽火通信科技股份有限公司 | 一种sdn架构的信息转换方法和系统 |
CN112241276A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种设备的升级方法及装置 |
US11956114B2 (en) | 2019-09-29 | 2024-04-09 | Huawei Technologies Co., Ltd. | Device management method, apparatus, and system, device, and storage medium |
CN112583630A (zh) * | 2019-09-29 | 2021-03-30 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
WO2021073395A1 (zh) * | 2019-10-18 | 2021-04-22 | 华为技术有限公司 | Yang模型的管理方法、装置、系统、设备及存储介质 |
CN112187525B (zh) * | 2019-10-31 | 2021-08-20 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN112187525A (zh) * | 2019-10-31 | 2021-01-05 | 华为技术有限公司 | 设备管理方法、装置、系统、设备及存储介质 |
CN113055206A (zh) * | 2019-12-27 | 2021-06-29 | 中国电信股份有限公司 | 基于意图的网络的业务配置方法、装置以及存储介质 |
CN113055206B (zh) * | 2019-12-27 | 2022-06-17 | 中国电信股份有限公司 | 基于意图的网络的业务配置方法、装置以及存储介质 |
WO2021179977A1 (zh) * | 2020-03-09 | 2021-09-16 | 华为技术有限公司 | 报文处理方法和设备 |
CN113452536A (zh) * | 2020-03-24 | 2021-09-28 | 华为技术有限公司 | 一种原子对象的管理方法及装置 |
CN111988179A (zh) * | 2020-08-21 | 2020-11-24 | 华信塞姆(成都)科技有限公司 | 一种yang模型管理系统、方法和存储介质 |
CN113300888A (zh) * | 2021-05-21 | 2021-08-24 | 刘超 | 一种yang模型浏览器及客户端设备 |
WO2023279848A1 (zh) * | 2021-07-06 | 2023-01-12 | 华为技术有限公司 | 一种查询方法、装置及设备 |
CN114296809A (zh) * | 2021-12-24 | 2022-04-08 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
CN114296809B (zh) * | 2021-12-24 | 2023-05-05 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
WO2024016726A1 (zh) * | 2022-07-20 | 2024-01-25 | 华为技术有限公司 | 设备配置方法、网络设备、芯片及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109951315B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951315A (zh) | 一种实现yang模型到内部模型映射的方法及系统 | |
US20230244454A1 (en) | Software defined network controller | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
US20070130192A1 (en) | Method and system for configuring network devices through an operations support system interface | |
US7493377B2 (en) | Method and apparatus to manage a configuration of clustered computers according to deployment date structures | |
US20070300217A1 (en) | Data Container for User Interface Content Data | |
CN107678736A (zh) | 一种业务页面模板的展现方法、系统及计算机装置 | |
CN100484039C (zh) | 网络管理装置与网络管理方法 | |
CN105164660A (zh) | 基于云的服务设计承继 | |
CN104090810B (zh) | 一种基于软件通信体系架构的核心框架集成方法 | |
CN112217656A (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
US10148486B2 (en) | Object version management | |
CN101677284B (zh) | 一种可下载到可重构硬件体的硬件构件生成方法和装置 | |
US20130297755A1 (en) | Network element configuration management | |
US20060190928A1 (en) | Device and method for managing communication equipment | |
EP0670060A1 (en) | A management agent system for the support of multiple network managers, and a method for operating such a system | |
CN102799582B (zh) | 提高网管自动发现业务效率的方法及装置 | |
CN111984257B (zh) | 一种实体建模定制化扩展方法及装置 | |
CN111626444B (zh) | 基于调控云的模型维护动态自适应方法、装置、系统和存储介质 | |
WO2012083631A1 (zh) | Rfid系统的设备参数管理方法及rfid系统 | |
CN111274750A (zh) | 一种基于可视化建模的fpga仿真验证系统和方法 | |
CN104298795A (zh) | 一种通用的数据模型建模工具系统 | |
CN117094284B (zh) | 一种变电站智能设备能力描述文件生成方法 | |
CN116185385A (zh) | 一种可视化接口管理方法、系统、终端及存储介质 | |
CN117478634A (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 |