Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Weave Data Management

Ora che hai capito i componenti principali di Weave, diamo un'occhiata a come alcune delle sue funzionalità sono gestite ad alto livello.

Quasi tutte le funzionalità dell'ecosistema Nest per le operazioni quotidiane sono mappate su risorse e tratti come parte dello schema Weave. Il profilo gestione dei dati gestisce tutte le richieste di tratti utilizzando un modello di abbonamento / pubblicazione. Queste richieste sono messaggi specifici del profilo di gestione dei dati.

In questo tipo di modello, un editore pubblicizza i tratti (dati da guardare) e un abbonato reagisce ai cambiamenti di tali tratti pubblicati (i dati vengono guardati). Questa funzione è chiamata gestione dei tratti in tempo reale .

Il profilo di gestione dei dati è il cavallo di battaglia di Weave ed è generalmente indicato come Weave Data Management (WDM).

richieste

Richieste sono un elemento chiave della gestione dei tratti in tempo reale di WDM. Le richieste sono richieste standard di azione di un tratto, con una risposta prevista. Questi sono diversi dai comandi di un tratto in quanto non sono e non possono essere definiti nello schema e non sono specifici di alcun tratto.

Esistono tre tipi di richieste standard:

  • Notifica Richiesta standard che informa un abbonato dello stato di una proprietà del tratto o di un evento specifico correlato a quel tratto.
  • Aggiorna Richiesta standard per modificare lo stato di una proprietà del tratto.
  • Visualizza Richiesta standard per visualizzare le proprietà di un tratto.

Ruoli del protocollo

Esistono due tipi di ruoli del protocollo WDM: editore e abbonato. Questi ruoli sono assegnati a livello di tratto.

Editore

Il ruolo di editore WDM produce e fornisce istanze con versione di uno o più schemi a uno o più abbonati e invia notifiche agli abbonati interessati su una modifica allo schema. Queste notifiche sono le richieste standard di notifica .

Ad esempio, supponiamo che il tratto A sia pubblicato dalla risorsa 1 e sottoscritto dalla risorsa 2. Come mostrato nella figura 1 , se il tratto A cambia:

  1. WDM invia un richiesta di notifica dalla risorsa 1 a tutti gli abbonati del tratto A, informandoli della modifica.
  2. Ogni abbonato aggiorna la propria istanza del tratto A di conseguenza.
Richiesta di notifica dell'editore WDM
Figura 1 - Richieste dell'editore WDM

La stessa cosa accade per altri tratti nello schema. Ad esempio, se la risorsa 2 pubblica il tratto B, la risorsa 1 si abbona al tratto B e le modifiche al tratto B:

  1. WDM invia un richiesta notifica dalla Risorsa 2 a tutti gli abbonati del Trait B, informandoli della modifica.
  2. Ogni abbonato aggiorna di conseguenza la propria istanza del tratto B.

abbonato

Il ruolo dell'abbonato WDM visualizza e utilizza istanze con versione di uno o più schemi pubblicati esternamente. Può modificare l'istanza con versione di uno schema pubblicato con una richiesta di aggiornamento o emettere un comando specifico dell'applicazione.

Ad esempio, supponiamo che la risorsa 2 voglia cambiare il tratto A, che è pubblicato dalla risorsa 1. Come mostrato nella Figura 2 , per cambiare il tratto A:

  1. WDM invia una richiesta di aggiornamento dalla risorsa 2 alla risorsa 1, per richiedere una modifica al tratto A.
  2. Il tratto A sulla risorsa 1 è stato modificato.
  3. WDM invia un richiesta di notifica dalla risorsa 1 a tutti gli abbonati del tratto A, informandoli della modifica.
  4. Ogni abbonato aggiorna di conseguenza la propria istanza del tratto A.
Visualizzazione e aggiornamento dell'abbonato WDM
Figura 2 - Richieste di abbonati WDM

Gli abbonati possono anche inviare una richiesta di visualizzazione di un tratto, per visualizzare le proprietà di tale tratto e mantenere sincronizzate le proprie istanze dei tratti con l'editore.

Tipi di abbonamento

Esistono due tipi di abbonamenti WDM. Le sottoscrizioni vengono stabilite con una richiesta di iscrizione . La Figura 3 illustra il flusso di messaggi di base per stabilire un abbonamento unidirezionale.

Abbonamento unidirezionale WDM
Figura 3 - Abbonamento unidirezionale WDM

Senso unico

Gli abbonamenti unidirezionali comportano una richiesta da un abbonato a un editore per una o più istanze di tratto. Ad esempio, un dispositivo mobile che recupera lo stato della casa (struttura) da un servizio.

Reciproco

Le sottoscrizioni reciproche si verificano quando le risorse si iscrivono reciprocamente e ciascuna agisce sia come editore che come abbonato. Un esempio di ciò è Nest Guard e Nest Detect, che fanno parte del sistema Nest Secure. Una sottoscrizione reciproca consente a entrambe le risorse di gestire lo schema pubblicato e mantenere la salute e la vivacità della loro sottoscrizione in modo più efficiente rispetto a due sottoscrizioni unidirezionali.

Esempio

Diamo un'occhiata a un semplice esempio di come WDM gestisce una modifica alle impostazioni locali di un dispositivo usando un'app mobile.

Ci sono tre risorse e due tratti coinvolti in questo esempio, come mostrato nella Figura 4 :

  • Dispositivo (abbonato)
  • Servizio (editore)
  • App mobile (abbonato)
  • Funzionalità impostazioni locali proprietà Locales disponibili
  • impostazioni internazionali proprietà Locale attiva

Entrambi i tratti sono pubblicati dalla risorsa Servizio e sottoscritti dalle risorse Dispositivo e App mobile. Ogni abbonato funziona come abbonamento unidirezionale per gli editori di tratti sulla risorsa Servizio.

Tutte le risorse in questo esempio fanno parte della stessa tessuto Weave.

Esempio di WDM
Figura 4 - Esempio di WDM

Flusso di aggiornamento

Supponiamo che l'utente utilizzi la sua app mobile per modificare le impostazioni internazionali del dispositivo da en_US a fr_FR , utilizzando un'app mobile connessa. Come mostrato nella Figura 5 , il flusso di aggiornamento all'interno di WDM è:

  1. La risorsa app mobile (abbonato) invia una richiesta di aggiornamento alla risorsa servizio (editore) per modificare la proprietà Locale attiva del tratto Impostazioni locali in fr_FR , uno dei valori validi della proprietà Locales disponibili del tratto Funzionalità locale.
  2. La risorsa servizio modifica la proprietà Locale attiva del tratto Impostazioni locali nella sua copia dello schema.
  3. La risorsa Service invia una richiesta di notificare circa il cambiamento a tutti i sottoscrittori delle impostazioni internazionali tratto.
  4. Le risorse del dispositivo e dell'app mobile (abbonati) ricevono entrambe il richiesta di notifica della risorsa del servizio e aggiornano la proprietà Locale attiva del tratto Impostazioni locali nelle loro copie dello schema.
Sequenza del flusso di aggiornamento WDM
Figura 5 - Flusso di aggiornamento di WDM

I vantaggi di WDM

Questo può sembrare molto complicato quando tutto ciò che vuoi fare è cambiare le impostazioni locali sul tuo dispositivo da un'app mobile. Ma avvolgendo lo schema con versione, il modello di pubblicazione-sottoscrizione e le richieste nel profilo WDM, Weave garantisce l'integrità dei dati in tutte le risorse.

Assicura inoltre la vivacità, quindi quando un dispositivo viene riavviato, avvisa immediatamente tutti gli abbonati dello stato dei tratti pubblicati, osserva lo stato dei tratti sottoscritti e riflette tutti quegli stati nella sua copia dello schema senza perdita di funzionalità.

Oltre gli abbonamenti

Se una risorsa annulla l'iscrizione a un tratto, conserva una copia dell'ultima versione nota del tratto. Essa non riceve più richieste di notifica da parte dell'editore per quel tratto, ma può comunque inviare le richieste di aggiornamento a tale editore.

Anche le risorse che non sono mai state sottoscritte a un publisher di tratti possono inviare loro richieste. Ad esempio, potrebbe non essere necessario che una risorsa sia a conoscenza dello stato di un tratto, ma potrebbe voler inviare richieste di aggiornamento per modificare lo stato di quel tratto in risposta a un evento esterno.

Ricapitolare

Cosa hai imparato:

  • Weave Data Management (WDM) è il profilo Weave per la gestione dei tratti in tempo reale e garantisce vivacità e integrità dei dati in tutte le risorse
  • Richieste sono richieste standard per l'azione di un tratto, con una risposta prevista
  • WDM presenta due ruoli di protocollo:
    • Editore - La fonte della verità per un tratto particolare, invia il richieste di notifica
    • Sottoscrittore: osserva lo schema pubblicato, invia la vista , aggiorna o le richieste di command
  • WDM presenta due modelli di abbonamento:
    • Solo andata: le richieste passano dall'abbonato all'editore
    • Mutuo: i dispositivi si abbonano l'un l'altro
  • Le iscrizioni sono stabilite da richieste di iscrizione
  • Le risorse possono inviare messaggi WDM ai tratti anche se non sono abbonati

Per informazioni più approfondite, vedere: