You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gNMI中路径Origin与Get/Subscribe请求use_model的区别及概念疑问

gNMI中Origin、Schema与Use_Model的区别及YANG模型定位

核心概念厘清

  • Schema:gNMI语境里指数据结构的命名空间/体系集合,用来区分不同来源的配置/状态数据体系(比如OpenConfig标准化体系、设备原生CLI对应的体系)。
  • 数据模型:是具体的结构化数据定义,你设备上实现的YANG模型就属于数据模型——YANG是定义数据模型的语言,每个YANG模块都是一个具体的数据模型单元。

Origin的作用

Origin是gNMI路径(Path)中的字段,核心功能是指定要访问的数据所属的schema命名空间。因为不同schema下可能存在同名的路径(比如/interfaces/interface在OpenConfig和设备原生体系里结构可能完全不同),用Origin就能精准定位目标数据的来源体系。
你看到Cisco示例里用Origin指定YANG模型,本质是把该YANG模型所属的schema命名空间通过Origin声明,告诉gNMI目标端要访问这套YANG定义的数据。

Use_Model的作用

use_model是GetRequest和SubscribeRequest中的参数,核心是强制gNMI目标端按照指定的数据模型结构返回数据,实现设备原生数据到目标模型规范的适配。举个实际场景:

  • 若设备同时支持原生YANG模型和OpenConfig YANG模型,你通过Origin指定了原生schema,但用use_model指定OpenConfig的某个模型版本,目标端会自动把原生数据转换成OpenConfig模型定义的结构返回给你。
  • 它解决的是“数据格式一致性”问题,确保你拿到的数据严格符合预期的模型规范,避免因设备原生实现差异导致的数据结构混乱。

两者核心差异

  • Origin:决定数据从哪个schema体系里取
  • use_model:决定返回的数据要符合哪个模型的结构

内容的提问来源于stack exchange,提问作者ibsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 03:02:12