标签:空间 使用 data namespace 存储 sep 元素 适应 计算机
1. Schema 定义
绑定无关数据模式(BI Data Schema)描述了模块提供的数据结构、过程和通知。
该Schema基于YANG,但是为更好地适应Java类系统并支持Controller用例,一些术语和定义被改编。
Schema用于定义:
2. 为支持控制器YANG进行的修改和扩展
(1). 处理多个模块修订
本文档介绍了一个隔离层(separation),基于模块的修订本来隔离数据,RPC和通知,以同时支持客户端使用的多个不同版本,而不会有因意外更改数据而产生的风险,这些数据的语义在不同的修订本之间改变。
由于同一模块的多个修订本可以共存在系统中,架构必须提供组件,该组件在不同模块修订之间翻译数据。
(2).QName
原生XML QName由本地元素名称和XML命名空间组成。为了支持版本控制,增加了模块修订。
在YANG的上下文中,QName是定义的节点、类型、过程或通知的全名。 QName由XML命名空间、YANG模型版本和定义类型的本地名称组成。它用于防止具有相同本地名称但不同Schema的节点之间的名称冲突。
QName =(XMLNamespace,Revision,LocalName),其中:
(3).RPCs
在原生Netconf / YANG用例中,RPC用于建模Netconf服务端提供给Netconf客户端的功能和API,在MD-SAL上下文中,RPC用于建模由生产者提供并由消费者消费的功能;
3. YANG Schema的Java Model
下图展示了YANG Schema的绑定无关表示:
Binding Generator组件中的YANG解析器生成Java Model对象。
4. 未知Schema节点和扩展处理
YANG规范允许存在未在原生YANG规范中定义的模式节点。通常,这些节点在具有一个或多个扩展语句的模块中定义,但是没有以计算机可以理解的形式(例如可以使用节点的有效使用)进一步定义该节点的语义。
为了建模上述场景,我们添加了“未知Schema节点”的概念。未知Schema节点可以是任何Schema节点的子节点。它用于存储扩展信息,并将其提供给了解其语义的组件。
5. 扩展节点类层次结构
name - YANG模块中的模式节点的名称。它是基于扩展的参数和YANG模块的前缀。
nodeTypeQName - 定义此扩展模式节点的扩展定义的Qname。
6. 处理由扩展定义的节点
扩展定义模式节点的实现和处理超出了YANG Schema和model的范围。
原文链接:https://wiki.opendaylight.org/view/OpenDaylight_Controller:YANG_Schema_and_Model
【译】OpenDaylight控制器:YANG Schema和Model
标签:空间 使用 data namespace 存储 sep 元素 适应 计算机
原文地址:http://www.cnblogs.com/FrankZhou2017/p/7289374.html