En Google, luchamos por la equidad racial de la comunidad negra. Más información

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. La Gestión de Datos perfil gestiona todas las peticiones de los rasgos utilizando un modelo de publicación-suscripción. Estas solicitudes son mensajes específicos al perfil de administració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 rasgo 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 del rasgo en tiempo real de WDM. Las solicitudes son las solicitudes estándar para la acción de un rasgo, con una respuesta esperada. Estos son diferentes de un rasgo de comandos en que no son y no pueden ser definidos en el esquema y no son específicas de ningún rasgo.

Hay tres tipos de solicitudes estándar:

  • Notificar a solicitud estándar que informa a un abonado del estado de una propiedad característica, o de un evento específico relacionado con ese rasgo.
  • Actualización solicitud estándar para cambiar el estado de una propiedad característica.
  • 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 papel WDM editor produce y sirve versionado instancias de uno o más esquemas a uno o más usuarios, y envía las notificaciones en un cambio en el esquema a los suscriptores interesados. Estas notificaciones son las solicitudes de notificación estándar.

Por ejemplo, supongamos Trait A es una publicación de recursos 1 y suscrito por recursos 2. Como se muestra en la Figura 1, si Trait A cambia:

  1. WDM envía una solicitud de notificar a del Recurso 1 a todos los suscriptores de 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 una solicitud de notificar a del Recurso 2 a todos los suscriptores de Rasgo B, informándoles del cambio.
  2. Cada suscriptor actualiza su instancia de Rasgo B en consecuencia.

Abonado

Las vistas y consume papel WDM de abonado versionadas instancias de uno o esquemas más publicados externamente. Se puede cambiar la instancia versionado de un esquema publicado con una solicitud de actualización, o emitir una orden específica de la aplicación.

Por ejemplo, supongamos Recurso 2 quiere cambiar Trait A, que se publica por recursos 1. Como se muestra en la Figura 2, para cambiar Trait A:

  1. WDM envía una solicitud de actualización de Recurso 2 a recursos 1, para solicitar un cambio a Trait A.
  2. Se cambia el rasgo A del recurso 1.
  3. WDM envía una solicitud de notificar a del Recurso 1 a todos los suscriptores de 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 vista al editor de un rasgo, para ver las propiedades de ese rasgo y mantener sus propios ejemplos de los rasgos en sincronía con el editor.

Tipos de suscripción

Hay dos tipos de suscripciones a WDM. Las suscripciones se establecieron con una suscripción petición. La Figura 3 ilustra el flujo de mensajes de base para establecer una suscripción de un solo sentido.

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 que participan en este ejemplo, como se muestra en la Figura 4:

  • Dispositivo (abonado)
  • Servicio (editor)
  • aplicación móvil (abonado)
  • Capacidades Área local rasgo Disponible propiedad Locales
  • configuración local rasgo la propiedad local 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 en este ejemplo son parte de la misma tela de la armadura de .

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 (abonado) envía una solicitud de actualización al recurso de servicio (editor) para cambiar la propiedad local activa de la configuración local del rasgo a fr_FR , uno de los valores válidos de la propiedad Disponible Locales de la configuración regional de Capacidades rasgo.
  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. El dispositivo y los recursos de la aplicación móvil (abonados) ambos reciben los recursos del Servicio de notificar a petición y actualizar la propiedad local activa del rasgo configuración local 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, un recurso no puede necesitar saber sobre el estado de un rasgo, pero puede que desee enviar solicitudes de actualización para cambiar el estado de ese rasgo en respuesta a un evento externo.

Resumen

Que has aprendido:

  • Gestión de datos de la armadura (WDM) es el perfil de la armadura para la gestión y asegura rasgo en tiempo real de vitalidad e integridad de datos a través de todos los recursos
  • Las solicitudes son las solicitudes estándar para la acción de un rasgo, con una respuesta esperada
  • WDM presenta dos roles de protocolo:
    • Editorial - La fuente de la verdad para un rasgo particular, envía solicitudes de notificar a
    • Suscriptor - Observa el esquema publicado, envía vista , actualizar o comando solicitudes
  • WDM presenta dos modelos de suscripción:
    • Unidireccional: las solicitudes fluyen del suscriptor al editor
    • Mutuo: los dispositivos se suscriben entre sí
  • Las suscripciones son establecidos por suscribirse solicitudes
  • Los recursos pueden enviar mensajes WDM a rasgos incluso si no están suscritos a ellos

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