Administración de datos de Weave

Ahora que comprendes los componentes principales de Weave, veamos cómo se maneja parte de su funcionalidad en un nivel superior.

Casi todas las funciones del ecosistema Nest para el funcionamiento diario se asignan a recursos y características como parte del esquema de Weave. El perfil de Administración de datos administra todas las solicitudes de características mediante un modelo de publicación y suscripción. Estas solicitudes son mensajes específicos del perfil de administración de datos.

En este tipo de modelo, un publicador anuncia características (datos para mirar) y un suscriptor reacciona a los cambios en esas características publicadas (datos que se observan). Esta función se llama administración de características en tiempo real.

El perfil de administración de datos es la herramienta de Weave y, por lo general, se conoce como Administración de datos de Weave (WDM).

Solicitudes

Las solicitudes son un elemento clave de la administración de rasgos en tiempo real de WDM. Las solicitudes son solicitudes estándar de acción de una característica, con una respuesta esperada. Son diferentes de los comandos de una característica porque no son y no se pueden definir en el esquema y no son específicos de ningún rasgo.

Existen tres tipos de solicitudes estándar:

  • Notificar : solicitud estándar que informa a un suscriptor sobre el estado de una propiedad de característica o de un evento específico relacionado con esa característica
  • Actualiza la solicitud estándar para cambiar el estado de una propiedad de característica.
  • Ver : solicitud estándar para ver las propiedades de una característica.

Funciones de protocolo

Hay dos tipos de roles de protocolo WDM: publicador y suscriptor. Estas funciones se asignan a nivel de la característica.

Publicador

La función de publicador de WDM produce y entrega instancias con versión de uno o más esquemas a uno o más suscriptores, y envía notificaciones sobre un cambio al esquema a los suscriptores interesados. Estas notificaciones son las solicitudes estándar notificar.

Por ejemplo, supongamos que el recurso 1 se publica en el recurso 1 y se suscribe mediante el recurso 2. Como se muestra en la Figura 1, si la función A cambia:

  1. WDM envía una solicitud de notificación del recurso 1 a todos los suscriptores del Trato A para informarles del cambio.
  2. Cada suscriptor actualiza su instancia del Trato A según corresponda.
Solicitud de notificación del publicador de WDM
Figura 1: Solicitudes del publicador de WDM

Lo mismo sucede con otros atributos del esquema. Por ejemplo, si el Recurso 2 publica el Trato B, el Recurso 1 se suscribe al Trato B y el Trato B cambia de la siguiente manera:

  1. WDM envía una solicitud de notificación del recurso 2 a todos los suscriptores del Trato B para informarles sobre el cambio.
  2. Cada suscriptor actualiza su instancia del Trato B según corresponda.

Suscriptor

La función suscriptor de WDM ve y consume instancias con versión de uno o más esquemas publicados de forma externa. Puede cambiar la instancia con versión de un esquema publicado con una solicitud update o emitir un comando específico de la aplicación.

Por ejemplo, supongamos que el Recurso 2 quiere cambiar el Trato A, que publica el Recurso 1. Como se muestra en la Figura 2, para cambiar la característica A, haz lo siguiente:

  1. WDM envía una solicitud update del recurso 2 al recurso 1 para solicitar un cambio al seguimiento A.
  2. Se modificó la ruta A del recurso 1.
  3. WDM envía una solicitud de notificación del recurso 1 a todos los suscriptores del Trato A para informarles del cambio.
  4. Cada suscriptor actualiza su instancia del Trato A según corresponda.
Vista y actualización del suscriptor de WDM
Figura 2: Solicitudes del suscriptor de WDM

Los suscriptores también pueden enviar una solicitud de vista a un publicador de características para ver las propiedades de esa característica y mantener sus propias instancias de las características en sincronización con el editor.

Tipos de suscripción

Existen dos tipos de suscripciones de WDM. Las suscripciones se establecen con una solicitud de suscripción. En la figura 3, se ilustra el flujo de mensajes básico para establecer una suscripción unidireccional.

Suscripción unidireccional a WDM
Figura 3: Suscripción unidireccional de WDM

Ida solo

Las suscripciones unidireccionales implican una solicitud de un suscriptor a un publicador para una o más instancias de características. Por ejemplo, un dispositivo móvil que recupera el estado de la casa (estructura) de un servicio.

Mutua

Las suscripciones mutuas se producen cuando los recursos se suscriben entre sí y actúan como editor y suscriptor. Un ejemplo de esto son los Nest Guard y Nest Detect, que forman parte del sistema Nest Secure. Una suscripción mutua permite que ambos recursos administren el esquema publicado y mantengan el estado y la actividad de su suscripción de una manera más eficiente que dos suscripciones unidireccionales.

Ejemplo

Veamos un ejemplo sencillo de cómo WDM maneja un cambio en la configuración regional de un dispositivo mediante una app para dispositivos móviles.

Hay tres recursos y dos características en este ejemplo, como se muestra en la Figura 4:

  • Dispositivo (suscriptor)
  • Servicio de (editor)
  • App para dispositivos móviles (suscriptor)
  • característica de configuración regional Propiedad de configuraciones regionales disponible
  • Rastreo de configuración regional Propiedad de configuración regional activa

Ambos recursos se publican mediante el recurso Service y se suscriben a ellos mediante los recursos de dispositivos y apps para dispositivos móviles. Cada suscriptor funciona como una suscripción unidireccional a los publicadores de características en el recurso Service.

Todos los recursos de este ejemplo forman parte de la misma tela de Weave .

Ejemplo de WDM
Figura 4: Ejemplo de WDM

Actualizar flujo

Supongamos que el usuario usa su app para dispositivos móviles a fin de cambiar la configuración regional del dispositivo de en_US a fr_FR mediante una app para dispositivos móviles conectada. Como se muestra en la figura 5, el flujo de actualización en WDM es el siguiente:

  1. El recurso de app para dispositivos móviles (suscriptor) envía una solicitud de actualización al recurso de servicio (editor) para cambiar la propiedad de configuración regional activa de la característica de configuración regional a fr_FR, uno de los valores válidos de la propiedad de configuración regional disponible de la característica de configuración regional.
  2. El recurso Service cambia la propiedad Configuración regional activa de la característica de configuración regional en su copia del esquema.
  3. El recurso Service envía una solicitud notify a sobre el cambio a cualquier suscriptor de la característica de configuración regional.
  4. Los recursos de dispositivos y aplicaciones para dispositivos móviles (suscriptores) reciben el recurso de servicio notif y actualizan la propiedad Active Locale de la característica de configuración regional en sus copias del esquema.
Secuencia de flujo de actualización de WDM
Figura 5: Flujo de actualización de WDM

Los beneficios de WDM

Esto puede parecer muy complicado cuando solo quieres cambiar la configuración regional de tu dispositivo desde una app para dispositivos móviles. Sin embargo, si unes el esquema con versión, el patrón de publicación y suscripción, y las solicitudes en el perfil de WDM, Weave garantiza la integridad de los datos en todos los recursos.

También garantiza el funcionamiento, de modo que, cuando se reinicia un dispositivo, notifica inmediatamente a todos los suscriptores sobre el estado de sus características publicadas, observa el estado de los atributos de suscripción y refleja todos esos estados en su copia del esquema sin perder funcionalidad.

Más allá de las suscripciones

Si un recurso anula la suscripción a un atributo, retiene una copia de la última versión conocida del destino. Ya no recibe notificaciones de del publicador para esa característica, pero puede enviarle solicitudes de actualización a ese publicador.

Incluso los recursos que nunca se suscribieron a un publicador de características pueden enviarles solicitudes. Por ejemplo, es posible que un recurso no necesite conocer el estado de una característica, pero desee enviar solicitudes update a para cambiar el estado de esa característica en respuesta a un evento externo.

Resumen

Qué aprendió:

  • Administración de datos de Weave (WDM) es el perfil de Weave para la administración de características en tiempo real y garantiza la integridad y la integridad de los datos en todos los recursos.
  • Las solicitudes son solicitudes estándar para la acción de una característica, con una respuesta esperada.
  • WDM cuenta con dos funciones de protocolo:
    • Publicador: La fuente de información de una característica en particular, envía solicitudes notificación
    • Suscriptor: Observa el esquema publicado y envía solicitudes view , update o command .
  • WDM cuenta con dos modelos de suscripción:
    • Ida solo: el flujo de solicitudes del suscriptor al editor
    • Mutual: Los dispositivos se suscriben entre sí.
  • Las suscripciones se establecen mediante solicitudes de suscripción.
  • Los recursos pueden enviar mensajes WDM a los atributos, incluso si no están suscritos a ellos.

Para obtener información más detallada, consulta lo siguiente: