Du kennst jetzt die Hauptbestandteile von Weave. Sehen wir uns nun an, wie ein Teil der Funktionen allgemein gehandhabt wird.
Fast alle Funktionen der Nest-Umgebung für den täglichen Betrieb werden im Rahmen des Weave-Schemas Ressourcen und Merkmalen zugeordnet. Im Profil Datenverwaltung Nachrichten, die für das Datenverwaltungsprofil spezifisch sind.
werden alle Anfragen für Merkmale mit einem Veröffentlichungs-/Abo-Modell verwaltet. Diese Anfragen sindBei diesem Modell bewirbt ein Publisher Merkmale (Daten zum Anschauen) und ein Abonnent reagiert auf Änderungen an diesen veröffentlichten Merkmalen (Daten, die beobachtet werden). Diese Funktion wird als Merkmalsverwaltung in Echtzeit bezeichnet.
Das Profil zur Datenverwaltung ist das Werk von Weave und wird im Allgemeinen als Weave Data Management (WDM) bezeichnet.
Anfragen
Anfragen Befehle darin nicht definiert und können nicht im Schema definiert werden.
sind ein wichtiges Element der WDM-Verwaltung in Echtzeit. Anfragen sind Standardanfragen für eine Aktion mit einer erwarteten Antwort. Im Unterschied zu Merkmalsparametern sind dieEs gibt drei Arten von Standardanfragen:
- Benachrichtigen : Die Standardanfrage informiert einen Abonnent über den Status einer Eigenschaft oder eines bestimmten Ereignisses, das sich auf diese Eigenschaft bezieht.
- Update -Standardanfrage, um den Status einer Eigenschaft zu ändern.
- Ansicht Standardanfrage, um die Eigenschaften eines Merkmals anzusehen.
Protokollrollen
Es gibt zwei Arten von WDM-Protokollrollen: Verlag und Webpublisher. Diese Rollen werden auf Straßenebene zugewiesen.
Publisher
Die WDM-Rolle publisher produziert oder bereitstellt Versionsinstanzen von einem oder mehreren Schemas an einen oder mehrere Abonnenten und sendet Benachrichtigungen zu einer Änderung des Schemas an interessierte Abonnenten. Dies sind die Benachrichtigungs-Standardanfragen.
Beispiel: Trait A wird von Ressource 1 veröffentlicht und von Ressource 2 abonniert. Wenn Zeile A wie in Abbildung 1 gezeigt wird, gilt Folgendes:
- WDM sendet von der Ressource 1 aus eine Benachrichtigungsanforderung an alle Abonnenten von Trait A. Darin werden sie über die Änderung informiert.
- Jeder Abonnent aktualisiert die Instanz von Trait A entsprechend.
Das Gleiche passiert bei anderen Merkmalen im Schema. Wenn beispielsweise Ressource 2 Trait B veröffentlicht, wird Ressource 1 zu Trait B abonniert und Trait B wird so geändert:
- WDM sendet von der Ressource 2 aus eine Benachrichtigungsanforderung an alle Abonnenten von Trait B, in der sie über die Änderung informiert werden.
- Jeder Abonnent aktualisiert seine Instanz von Trait B entsprechend.
Subscriber
Die WDM-Rolle Abonnent sieht sich Versionsinstanzen eines oder mehrerer extern veröffentlichter Schemas an und verbraucht sie. Sie kann die versionierte Instanz eines veröffentlichten Schemas mit einer update-Anfrage ändern oder einen anwendungsspezifischen Befehl ausgeben.
Beispiel: Angenommen, Ressource 2 möchte Trait A ändern, die von Ressource 1 veröffentlicht wurde. So ändern Sie Position A in Abbildung 2:
- WDM sendet eine Updateanfrage von Ressource 2 an Ressource 1, um eine Änderung an Trait A anzufordern.
- Zeile A in Ressource 1 wurde geändert.
- WDM sendet von der Ressource 1 aus eine Benachrichtigungsanforderung an alle Abonnenten von Trait A. Darin werden sie über die Änderung informiert.
- Jeder Abonnent aktualisiert die Instanz von Trait A entsprechend.
Abonnenten können außerdem eine AnsichtAnsicht
an einen Merkmalsverlag senden, um die Eigenschaften dieses Eigenschaften zu sehen und ihre eigenen Stellen der Eigenschaften mit dem Verlag oder Webpublisher zu synchronisieren.Abotypen
Es gibt zwei Arten von WDM-Abos. Abos werden mit einer Abonnieren-
-Anfrage abgeschlossen. Abbildung 3 zeigt den grundlegenden Nachrichtenfluss für ein einmaliges Abo.Einbahnstraße
Bei wegweisenden Abos wird eine Anfrage von einem Abonnenten an einen Verlag oder Webpublisher für eine oder mehrere Instanzen des Dienstes gesendet. Beispiel: ein Mobilgerät, das den Status des Zuhauses (Struktur) eines Dienstes abruft
Gegenseitiges
Gemeinsame Abos sind gegenseitige Abos und werden jeweils als Verlag oder Webpublisher und Abonnent agieren. Ein Beispiel sind Nest Guard und Nest Detect, die zum Nest Secure-System gehören. Ein gegenseitiges Abo ermöglicht beiden Ressourcen die Verwaltung des veröffentlichten Schemas und die Integrität und Lebensdauer ihres Abos effizienter als zwei einseitige Abos.
Beispiel
Sehen wir uns anhand eines einfachen Beispiels an, wie WDM mit einer Änderung an einem Gebietsschema über eine mobile App umgeht.
In diesem Beispiel gibt es drei Ressourcen und zwei Merkmale, wie in Abbildung 4 gezeigt:
- Gerät (Abonnent)
- -Dienst (Publisher)
- App (Abonnent)
- Sprache-Merkmale-Merkmal Verfügbare Gebietsschema-Property
- Typ der Sprache für die Sprache Property für aktive Sprache
Beide Merkmale werden von der Dienstressource veröffentlicht und von den Geräte- und App-Ressourcen abonniert. Jeder Abonnent fungiert bei den Dienstanbietern für die Dienstressource als ein einseitiges Abo.
Alle Ressourcen in diesem Beispiel sind Teil desselben Weave-Stoffs
.Ablauf aktualisieren
Angenommen, der Nutzer verwendet seine mobile App, um die Sprache für das Gerät mithilfe einer verbundenen mobilen App von en_US
in fr_FR
zu ändern. Wie in Abbildung 5 gezeigt, wird der Aktualisierungsvorgang in WDM so ausgeführt:
- Die Ressource „App“ (Abonnent) sendet eine Update-Anfrage an die Dienstressource (Publisher), um die Eigenschaft „Active Locale“ der Sprache „Locale“ zu ändern. Dies ist einer der gültigen Werte der Eigenschaft „Locale Capabilitys“ (Verfügbare Sprachen).
- Die Dienstressource ändert die Property „Active Locale“ der Sprache „Locale Settings“ in ihrer Kopie des Schemas.
- Die Service-Ressource sendet eine BenachrichtigungBenachrichtigung über die Änderung an alle Abonnenten des Gebietsschemas.
- Die Geräte- und mobilen App-Ressourcen (Abonnenten) erhalten beide die Dienstressource benachrichtigen und aktualisieren die Eigenschaft "Active Locale" der Sprache "Locale Settings" in ihren Kopien des Schemas.
Die Vorteile von WDM
Das mag kompliziert erscheinen, wenn man nur die Sprache auf seinem Gerät in einer mobilen App ändern möchte. Aber wenn das Versionsschema verpackt, das Muster für Veröffentlichungen veröffentlicht und Anfragen an das WDM-Profil gesendet werden, wird die Datenintegrität für alle Ressourcen sichergestellt.
Außerdem wird die Aktualität sichergestellt. Wenn ein Gerät neu gestartet wird, werden sofort alle Abonnenten über den Status ihrer veröffentlichten Eigenschaften benachrichtigt, der Status der abonnierten Merkmale wird beobachtet und alle diese Status werden in der Kopie des Schemas berücksichtigt, ohne dass Funktionen verloren gehen.
Mehr als Abos
Wenn eine Ressource ein Merkmal abmeldet, wird eine Kopie der letzten bekannten Version beibehalten. Der Verlag oder Webpublisher erhält von diesem Publisher keine Benachrichtigungsbenachrichtigungen mehr über das Merkmal "
", kann aber trotzdem Aktualisierungsanfragen an diesen Publisher senden.Auch Ressourcen, die nie einen Trat-Publisher abonniert hatten, können Anfragen an sie senden. Eine Ressource muss möglicherweise nicht den Status einer Eigenschaft kennen, muss aber Updateanfragen senden, um den Status der Eigenschaft bei einem externen Ereignis zu ändern.
Zusammenfassung
Das haben Sie gelernt:
- Weave Data Management (WDM) ist das Weave-Profil für die Echtzeit-Verwaltung von Eigenschaften von Fahrzeugen. Es gewährleistet die Lebewesenheit und die Datenintegrität in allen Ressourcen.
- Anfragen sind Standardanfragen für eine Aktion mit einer erwarteten Antwort
- WDM bietet zwei Protokollrollen:
- Publisher: Die Quelle der Wahrheit für eine bestimmte Eigenschaft sendet Benachrichtigungen für .
- Abonnent: Beobachtt das veröffentlichte Schema, sendet view- , update- oder Befehle
- WDM bietet zwei Abomodelle:
- Nur eine Richtung: Anfragen werden vom Abonnenten zum Verlag gesendet.
- Gegenseitig – Geräte abonnieren sich gegenseitig
- Abos werden durch Aboanfragen abgeschlossen
- Ressourcen können WDM-Nachrichten an Merkmale senden, auch wenn sie sie nicht abonniert haben
Ausführlichere Informationen finden Sie unter: