完整的 Weave 堆栈包含许多元素,但大多数功能都被划分为称为配置文件的逻辑结构。每个配置文件都对应一组特定的 Weave 功能,其中包括:
- 协议
- 协议角色(发布商、订阅者)
- 消息类型
- 架构和已发布的数据
- 状态代码
- 错误代码
我们现在不会逐一介绍这些元素,因为它们因配置文件而异。
对于消息传递,配置文件消息通常是使用 Weave TLV 编码的一般消息。但是,如果空间费用较高,或者载荷不需要灵活性,则不使用 TLV。回声和检测信号是不对 TLV 中的消息进行编码的配置文件的示例。
Weave 中内置了各种配置文件:
个人资料 | ||
---|---|---|
常见 | Service Directory | 安全性 |
数据管理 | 相呼应 | 心跳 |
批量数据传输 | 状态报告 | 设备说明 |
设备控制 | 时间服务 | 时区 |
网络配置 | Fabric 配置 | 服务配置 |
软件更新 | 语言区域 | 闹钟 |
隧道 | 令牌配对 |
我们来快速看一下其中的几个。
数据管理
数据管理
配置文件使用发布-订阅模型管理所有特征请求。作为日常运营的一部分,Nest 生态系统中几乎所有的功能都会映射到资源和特征。我们稍后将深入了解架构和数据管理配置文件,但该配置文件是 Weave 的工作机制。
例如,从移动设备更改 Nest Secure 的报警状态即可使用数据管理。配置文件会将来自订阅者(移动设备)的请求发送到结构(Nest Secure 和服务)中的其他资源,这些资源会确认请求,更改架构中的武装状态,然后发送确认变更的响应。
回音
Echo
配置文件提供了一种测试网络连接和延迟时间的基本机制。它基于 ICMP 回声请求进行建模,旨在用于类似用途。这类似于网络 ping,但使用 Weave 消息和加密(如果指定)。回声载荷由请求节点提供的任意数据组成,应在响应中逐字回显。回声用于测试 Weave 结构的结构、安全性和活跃性。
检测信号
检测信号
配置文件提供了一种指明一个节点到网络中其他节点存留时间的方法。Weave 检测信号通常会定期发送。如果在配置的超时到期之前未收到,则假定节点已失败。检测信号就是您检查 Weave 节点是否仍连接到结构的方法。例如,Nest Detect 和 Nest Guard 之间会使用检测信号,以确保 Nest Secure 系统保持活跃状态。
批量数据传输
批量数据传输 (BDX)
提供了在节点之间传输文件的功能。此上下文中的文件可以是无线下载更新的传感器数据、日志或软件映像。BDX 可以通过各种可靠的传输协议运行,包括 TCP 和 Weave Reliable Messaging。
正在预配
有许多预配配置文件可用于与资源的配对、身份验证和服务注册相关的任务。
网络配置
网络预配
配置文件会处理诸如扫描网络以及为结构中的资源添加并启用网络等任务。服务配置
服务配置
配置文件可处理诸如将资源与帐号配对或向服务注册资源等任务。Fabric 配置
Fabric 配置
配置文件会处理创建、加入和退出结构或获取结构配置等任务。Recap
学习内容:
- Weave 中的大部分功能都由配置文件管理
- 配置文件是与一组特定功能对应的应用协议
- 每个配置文件都有自己的一组消息类型 ,通常由 Weave TLV 编码