En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Gestión de datos de tejido

Ahora que comprende los componentes principales de Weave, echemos un vistazo a cómo se manejan algunas de sus funciones a un alto nivel.

Casi toda la funcionalidad del ecosistema Nest para el funcionamiento diario se asigna a los recursos y características como parte del esquema Weave. El perfil Gestión de datos gestiona todas las solicitudes de características mediante un modelo de publicación-suscripción. Estas solicitudes son mensajes específicos del perfil de gestión de datos.

En este tipo de modelo, un editor anuncia rasgos (datos para ver) y un suscriptor reacciona a los cambios en esos rasgos publicados (datos que se miran). Esta función se denomina gestión de rasgos en tiempo real .

El perfil de gestión de datos es el caballo de batalla de Weave, y generalmente se lo conoce como gestión de datos de tejido (WDM).

Peticiones

Las solicitudes son un elemento clave de la gestión de rasgos en tiempo real de WDM. Las solicitudes son solicitudes estándar de acción de un rasgo, con una respuesta esperada. Estos son diferentes a los comandos de un rasgo en que no están ni pueden definirse en un esquema y no son específicos de ningún rasgo.

Hay tres tipos de solicitudes estándar:

  • Notificar Solicitud estándar que informa a un suscriptor del estado de una propiedad de rasgo, o de un evento específico relacionado con ese rasgo.
  • Actualizar la estándar para cambiar el estado de una propiedad de rasgo.
  • Ver Solicitud estándar para ver las propiedades de un rasgo.

Roles de protocolo

Hay dos tipos de roles de protocolo WDM: editor y suscriptor. Estos roles se asignan a nivel de rasgo.

Editor

El rol de editor de WDM produce y sirve instancias versionadas de uno o más esquemas a uno o más suscriptores y envía notificaciones sobre un cambio en el esquema a los suscriptores interesados. Estas notificaciones son las solicitudes estándar de notificación .

Por ejemplo, supongamos que el Recurso 1 publica el Rasgo A y el Recurso 2 suscribe. Como se muestra en la Figura 1 , si el Rasgo A cambia:

  1. WDM envía un solicitud de notificación desde el Recurso 1 a todos los suscriptores del Rasgo A, informándoles del cambio.
  2. Cada suscriptor actualiza su instancia de Rasgo A en consecuencia.
Solicitud de notificación del editor de WDM
Figura 1: solicitudes de publicadores de WDM

Lo mismo ocurre con otros rasgos del esquema. Por ejemplo, si el Recurso 2 publica el Rasgo B, el Recurso 1 se suscribe al Rasgo B y el Rasgo B cambia:

  1. WDM envía un solicitud de notificación desde el Recurso 2 a todos los suscriptores del Rasgo B, informándoles del cambio.
  2. Cada suscriptor actualiza su instancia de Rasgo B en consecuencia.

Abonado

El rol de suscriptor de WDM ve y consume instancias versionadas de uno o más esquemas publicados externamente. Puede cambiar la instancia versionada de un esquema publicado con una solicitud de actualización o emitir un comando específico de la aplicación.

Por ejemplo, suponga que el Recurso 2 quiere cambiar el Rasgo A, que es publicado por el Recurso 1. Como se muestra en la Figura 2 , para cambiar el Rasgo A:

  1. WDM envía una solicitud de actualización desde el Recurso 2 al Recurso 1, para solicitar un cambio al Trait A.
  2. Se cambia el rasgo A del recurso 1.
  3. WDM envía un solicitud de notificación desde el Recurso 1 a todos los suscriptores del Rasgo A, informándoles del cambio.
  4. Cada suscriptor actualiza su instancia de Rasgo A en consecuencia.
Vista y actualización de suscriptores de WDM
Figura 2 - Solicitudes de suscriptores de WDM

Los suscriptores también pueden enviar una solicitud de visualización al de un rasgo, para ver el de las propiedades de ese rasgo y mantener sus propias instancias de los rasgos sincronizados con el editor.

Tipos de suscripción

Hay dos tipos de suscripciones a WDM. Las suscripciones se establecen con una solicitud de suscripción a . La figura 3 ilustra el flujo de mensajes básico para establecer una suscripción unidireccional.

Suscripción unidireccional WDM
Figura 3 - Suscripción unidireccional WDM

De una sola mano

Las suscripciones unidireccionales implican una solicitud de un suscriptor a un editor para una o más instancias de rasgos. Por ejemplo, un dispositivo móvil que recupera el estado del hogar (estructura) de un servicio.

Mutuo

Las suscripciones mutuas son cuando los recursos se suscriben entre sí y cada uno actúa como editor y suscriptor. Un ejemplo de esto son 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 simple de cómo WDM maneja un cambio en la configuración regional de un dispositivo mediante una aplicación móvil.

Hay tres recursos y dos rasgos involucrados en este ejemplo, como se muestra en la Figura 4 :

  • dispositivo (suscriptor)
  • Service (editor)
  • móvil (suscriptor)
  • Locale Capabilities rasgo Propiedad de Locales disponibles
  • Ajustes de configuración regional de rasgo Propiedad de configuración regional activa

Ambos rasgos son publicados por el recurso del Servicio y suscritos por los recursos del Dispositivo y la Aplicación Móvil. Cada suscriptor funciona como una suscripción unidireccional para los editores de rasgos en el recurso del Servicio.

Todos los recursos de este ejemplo son parte de la misma tejido Weave.

Ejemplo de WDM
Figura 4 - Ejemplo de WDM

Flujo de actualización

Digamos que el usuario utiliza su aplicación móvil para cambiar la configuración regional para el dispositivo de en_US a fr_FR , utilizando una aplicación móvil conectado. Como se muestra en la Figura 5 , el flujo de actualización dentro de WDM es:

  1. El recurso de aplicación móvil (suscriptor) envía una solicitud de actualización al recurso de servicio (editor) para cambiar la propiedad de Configuración regional activa del rasgo Configuración regional a fr_FR , uno de los valores válidos de la propiedad Locales disponibles del rasgo Capacidades regionales.
  2. El recurso de servicio cambia la propiedad de configuración regional activa del rasgo de configuración de configuración regional en su copia del esquema.
  3. El recurso de servicio envía una solicitud de notificar sobre el cambio a cualquier abonado de la configuración local del rasgo.
  4. Los recursos del dispositivo y la aplicación móvil (suscriptores) reciben el solicitud de notificación del recurso del servicio y actualizan la propiedad de configuración regional activa del rasgo 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 todo lo que desea hacer es cambiar la configuración regional de su dispositivo desde una aplicación móvil. Pero al incluir el esquema versionado, el patrón de publicación-suscripción y las solicitudes en el perfil WDM, Weave garantiza la integridad de los datos en todos los recursos.

También garantiza la vitalidad, por lo que cuando se reinicia un dispositivo, notifica inmediatamente a todos los suscriptores del estado de sus rasgos publicados, observa el estado de los rasgos suscritos y refleja todos esos estados en su copia del esquema sin pérdida de funcionalidad.

Más allá de las suscripciones

Si un recurso se da de baja de un rasgo, conserva una copia de la última versión conocida del rasgo. Ya no recibe solicitudes de notificación de de la editorial para ese rasgo, pero todavía puede enviar solicitudes de actualización a ese editor.

Incluso los recursos que nunca se suscribieron a un editor de rasgos pueden enviarles solicitudes. Por ejemplo, es posible que un recurso no necesite conocer el estado de un rasgo, pero puede querer enviar solicitudes de actualización para cambiar el estado de ese rasgo en respuesta a un evento externo.

Resumen

Que has aprendido:

  • Weave Data Management (WDM) es el perfil de Weave para la gestión de rasgos en tiempo real y garantiza la vitalidad y la integridad de los datos en todos los recursos.
  • Las solicitudes son solicitudes estándar de acción de un rasgo, con una respuesta esperada
  • WDM presenta dos roles de protocolo:
    • Editor: la fuente de la verdad para un rasgo en particular, envía notificaciones
    • Suscriptor: observa el esquema publicado, envía las view , update o command
  • WDM presenta dos modelos de suscripción:
    • Unidireccional: las solicitudes fluyen del suscriptor al editor
    • Mutuo: los dispositivos se suscriben entre sí
  • Las suscripciones se establecen mediante solicitudes de suscripción
  • Los recursos pueden enviar mensajes WDM a rasgos incluso si no están suscritos a ellos

Para obtener información más detallada, consulte: