Google is committed to advancing racial equity for Black communities. See how.

Плетение профилей

Плетение профилей

Полный стек Weave состоит из множества элементов, но большая часть функциональности сгруппирована в логические конструкции, называемые профилями . Каждый профиль соответствует определенному набору функций Weave, который включает:

  • Протоколы
  • Роли протокола (издатель, подписчик)
  • Типы сообщений
  • Схемы и опубликованные данные
  • Коды состояния
  • Коды ошибок

Мы не будем сейчас вдаваться в каждый из этих элементов, поскольку они различаются от профиля к профилю.

Что касается обмена сообщениями, сообщения профиля обычно представляют собой общие сообщения, закодированные в Weave TLV. Однако, если пространство ограничено или нет необходимости в гибкости полезной нагрузки, TLV не используется. Echo и Heartbeat - это примеры профилей, которые не кодируют сообщения в TLV.

В Weave встроено множество профилей:

Профили
Общий Сервисный каталог Безопасность
Управление данными Эхо сердцебиение
Массовая передача данных Отчет о состоянии Описание устройства
Контроль устройств Службы времени часовой пояс
сети Fabric Provisioning Предоставление услуг
Обновление программного обеспечения Регион будильник
Туннелирование токенов

Давайте кратко рассмотрим некоторые из них.

Управление данными

Профиль управления данными управляет всеми запросами характеристик с использованием модели публикации-подписки. Почти все функциональные возможности экосистемы Nest для повседневной работы отображаются на ресурсы и характеристики как часть схемы Weave.

Мы рассмотрим схему и профиль управления данными позже, но этот профиль - рабочая лошадка Weave.

Например, для изменения состояния защиты Nest Secure с мобильного устройства используется Управление данными. Профиль отправляет запросы от абонента (мобильного устройства) к другим ресурсам в структуре (Nest Secure и сервис), которые подтверждают запрос, изменяют состояние охраны в схеме и отправляют ответы, подтверждающие изменение.

Эхо

Профиль Echo предоставляет базовый механизм для проверки возможности подключения к сети и задержки. Он создан на основе эхо-запроса ICMP и предназначен для аналогичного использования. Это аналог сетевого пинга, но с использованием сообщений Weave и шифрования, если это указано.

Полезная нагрузка Echo состоит из произвольных данных, предоставленных запрашивающим узлом, и ожидается, что они будут дословно отражены в ответе. Echo используется для проверки возможности подключения, безопасности и работоспособности структуры Weave.

Стук сердца

Профиль Heartbeat позволяет указать работоспособность одного узла другим узлам в сети. Сердцебиение Weave обычно отправляется через равные промежутки времени. Если не получено до истечения настроенного тайм-аута, предполагается, что узел отказал.

Heartbeat - это то, как вы можете проверить, подключен ли узел Weave к фабрике. Например, контрольный сигнал используется между Nest Detects и Nest Guard для обеспечения работоспособности системы Nest Secure.

Массовая передача данных

Профиль массовой передачи данных (BDX) предоставляет возможность передавать файлы между узлами. Файлы в этом контексте могут быть данными датчиков, журналами или образами программного обеспечения для беспроводных обновлений.

BDX может работать с различными надежными транспортными протоколами, включая TCP и Weave Reliable Messaging.

Подготовка

Существует ряд профилей обеспечения, используемых для задач, связанных с сопряжением, аутентификацией и регистрацией ресурсов.

Сетевая подготовка

Профиль сети обрабатывает такие задачи, как сканирование сетей, а также добавление и включение их ресурсов в структуре.

Предоставление услуг

Профиль предоставления обрабатывает такие задачи, как сопряжение ресурсов с учетной записью или их регистрация в службе.

Подготовка ткани

Профиль Fabric Provisioning обрабатывает такие задачи, как создание, соединение и выход из ткани или получение конфигурации ткани.

Резюме

Что вы узнали:

  • Большая часть функций Weave управляется профилей.
  • Профили - это протоколы приложений, которые соответствуют определенному набору функций.
  • Каждый профиль имеет свой собственный набор типов сообщений , обычно кодируемых Weave TLV