Ora che conosci i componenti principali di Weave, diamo un'occhiata alla gestione generale di alcune delle sue funzionalità.
Quasi tutte le funzionalità dell'ecosistema Nest per le attività quotidiane sono mappate sulle risorse e sulle caratteristiche nell'ambito dello schema di Weave. Il profilo Gestione dati messaggi specifici del profilo Gestione dei dati.
gestisce tutte le richieste di caratteristiche utilizzando un modello di pubblicazione-abbonamento. Queste richieste sonoIn questo tipo di modello, un editore pubblicizza le caratteristiche (dati da guardare) e un abbonato reagisce alle modifiche nelle caratteristiche pubblicate (dati guardati). Questa funzione è denominata Gestione dei tratti in tempo reale.
Il profilo di gestione dei dati è il cavallo di lavoro di Weave ed è generalmente definito "Wave Data Management (WDM").
Richieste
Le richieste comandi di un tratto, in quanto non sono definiti nello schema e non sono specifici per ogni tratto.
sono un elemento chiave della gestione dei tratti in tempo reale di WDM. Le richieste sono richieste standard di azione per un tratto, con una risposta prevista. Questi comandi sono diversi daiEsistono tre tipi di richieste standard:
- Invia notifica a una richiesta standard che informa un abbonato dello stato di una proprietà del tratto o di un evento specifico correlato a tale tratto.
- Aggiorna Richiesta standard per modificare lo stato di una proprietà tratto.
- Visualizza Richiesta standard per visualizzare le proprietà di un tratto.
Ruoli di protocollo
Esistono due tipi di ruoli per il protocollo WDM: publisher e sottoscrittore. Questi ruoli sono assegnati a livello di caratteristica.
Editore
Il ruolo publisher WDM produce e gestisce le versioni con versione di uno o più schemi per uno o più sottoscrittori e invia notifiche sulle modifiche a tale schema agli abbonati interessati. 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:
- WDM invia una notifica della richiesta della risorsa 1 a tutti gli abbonati del tratto A, per informarlo del cambiamento.
- Ogni abbonato aggiorna la propria istanza del tratto A di conseguenza.
La stessa cosa si verifica per altre caratteristiche dello schema. Ad esempio, se la risorsa 2 pubblica il tratto B, la risorsa 1 si abbona al tratto B e il tratto B cambia:
- WDM invia una notifica della richiesta della risorsa 2 a tutti gli abbonati del tratto B, per informarlo del cambiamento.
- Ogni abbonato aggiorna la propria istanza del tratto B di conseguenza.
Abbonato
Il ruolo abbonato WDM visualizza e consuma istanze con versione di uno o più schemi pubblicati esternamente. Può cambiare l'istanza con più versioni di uno schema pubblicato con una richiesta update o emettere un comando specifico per l'applicazione.
Ad esempio, supponiamo che la risorsa 2 voglia modificare il tratto A, che è pubblicato dalla risorsa 1. Come mostrato nella Figura 2, per modificare il tratto A:
- WDM invia una aggiornamento della richiesta dalla risorsa 2 alla risorsa 1 per richiedere la modifica del tratto A.
- Il tratto A nella risorsa 1 è stato modificato.
- WDM invia una notifica della richiesta della risorsa 1 a tutti gli abbonati del tratto A, per informarlo del cambiamento.
- Ogni abbonato aggiorna la propria istanza del tratto A di conseguenza.
Gli abbonati possono anche inviare una richiesta visualizza
al publisher di un tratto, per visualizzare le proprietà di tale tratto e mantenere sincronizzate le proprie istanze con il publisher.Tipi di abbonamento
Esistono due tipi di abbonamenti WDM. Gli abbonamenti vengono stabiliti con una richiesta di iscrizione
. La Figura 3 illustra il flusso del messaggio di base per stabilire un abbonamento unidirezionale.Solo andata
Gli abbonamenti unidirezionali prevedono una richiesta da parte di un abbonato a un editore per una o più istanze del tratto. Ad esempio, un dispositivo mobile che recupera lo stato della casa (struttura) da un servizio.
Mutuo
Gli abbonamenti reciproci si verificano quando le risorse si iscrivono a vicenda e ognuna agisce sia come editore sia come abbonato. Un esempio è Nest Guard e Nest Detect, che fanno parte del sistema Nest Secure. Un abbonamento reciproco consente a entrambe le risorse di gestire lo schema pubblicato e di mantenere l'integrità e l'attività dell'abbonamento in modo più efficiente rispetto a due abbonamenti unidirezionali.
Esempio
Diamo un'occhiata a un semplice esempio di come WDM gestisce una modifica delle impostazioni internazionali di un dispositivo utilizzando un'app per dispositivi mobili.
In questo esempio, sono presenti tre risorse e due caratteristiche, come mostrato nella Figura 4:
- Dispositivo (abbonato)
- Servizio di (publisher)
- App per dispositivi mobili (abbonato)
- attributo Caratteristiche internazionali Proprietà impostazioni internazionali disponibili
- Caratteristiche delle impostazioni internazionali Proprietà delle impostazioni internazionali attive
Entrambe le caratteristiche sono pubblicate dalla risorsa di servizio e sottoscritte dalla risorsa dispositivo e app per dispositivi mobili. Ogni abbonato funziona come abbonamento unidirezionale ai publisher di caratteristiche nella risorsa Servizio.
Tutte le risorse in questo esempio fanno parte dello stesso tessuto Weave
.Flusso di aggiornamento
Supponiamo che l'utente utilizzi l'app per dispositivi mobili per cambiare le impostazioni internazionali del dispositivo
da en_US
a fr_FR
, utilizzando un'app per dispositivi mobili connessa. Come mostrato nella Figura 5,
il flusso di aggiornamento in WDM è:
- La risorsa app per dispositivi mobili (abbonato) invia una richiesta di aggiornamento
fr_FR
, uno dei valori validi della proprietà Impostazioni internazionali disponibili della caratteristica Impostazioni internazionali.
alla risorsa di servizio (publisher) per modificare la proprietà Impostazioni internazionali attive della sezione Impostazioni internazionali in - La risorsa Servizio modifica la proprietà Impostazioni internazionali della sezione Impostazioni internazionali nella relativa copia dello schema.
- La risorsa Servizio invia una richiesta informa sulla modifica agli eventuali iscritti del tratto Impostazioni internazionali.
- Le risorse Dispositivo e Dispositivo mobile (abbonati) ricevono entrambe la notifica di richiesta di servizio e aggiornano la proprietà Impostazioni internazionali attive del tratto Impostazioni internazionali nelle copie dello schema.
I vantaggi di WDM
Questo può sembrarti molto complicato se vuoi solo modificare le impostazioni internazionali sul tuo dispositivo da un'app per dispositivi mobili. Tuttavia, integrando lo schema con versione, il pattern di pubblicazione-abbonamento e le richieste nel profilo WDM, Weave garantisce l'integrità dei dati in tutte le risorse.
Inoltre, garantisce l'attività, quindi quando un dispositivo viene riavviato, notifica immediatamente a tutti gli abbonati lo stato delle loro caratteristiche pubblicate, osserva lo stato delle caratteristiche sottoscritte e riflette tutti gli stati nella copia dello schema senza perdere funzionalità.
Oltre abbonamenti
Se una risorsa annulla l'iscrizione a un tratto, ne viene conservata una copia. Non riceve più notifiche richieste
dal publisher per quella caratteristica, ma può comunque inviare aggiornamenti richieste per quel publisher.Anche le risorse che non sono mai state iscritte a un editore trait possono inviargli richieste. Ad esempio, una risorsa potrebbe non dover conoscere lo stato di un tratto, ma può inviare richieste di aggiornamento
per modificare lo stato di quel tratto in risposta a un evento esterno.Riepilogo
Che cosa hai imparato:
- Weave Data Management (WDM) è il profilo Weave per la gestione dei tratti in tempo reale e garantisce attività e integrità dei dati in tutte le risorse
- Le richieste sono richieste standard per l'azione di una caratteristica, con una risposta prevista
- WDM ha due ruoli di protocollo:
- Publisher: la fonte dei dati per una determinata caratteristica, invia richieste di notifica
- Sottoscrittore: osserva lo schema pubblicato, invia richieste view , update o command
- WDM ha due modelli di abbonamento:
- Senso unico: il flusso di richieste dall'iscritto al publisher
- Mutualità: i dispositivi si abbonano a vicenda
- Gli abbonamenti vengono stabiliti dalle richieste di iscrizione
- Le risorse possono inviare messaggi WDM alle caratteristiche anche se non sono iscritti
Per informazioni più dettagliate, consulta: