Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zarządzanie danymi splotu

Teraz, gdy rozumiesz główne składniki Weave, przyjrzyjmy się, jak niektóre z jego funkcji są obsługiwane na wysokim poziomie.

Prawie wszystkie funkcje ekosystemu Nest do codziennej pracy są mapowane na zasoby i cechy w ramach schematu Weave. Profil centrum zarządzania danymi zarządza wszystkimi żądaniami cech przy użyciu modelu publikowania i subskrypcji. Te żądania to komunikaty specyficzne dla profilu zarządzania danymi.

W tego typu modelu wydawca reklamuje cechy (dane do obejrzenia), a subskrybent reaguje na zmiany tych opublikowanych cech (obserwowane dane). Ta funkcja nazywa się zarządzaniem cechami w czasie rzeczywistym .

Profil zarządzania danymi jest koniem roboczym Weave i jest ogólnie określany jako Weave Data Management (WDM).

Upraszanie

Żądania są kluczowym elementem zarządzania cechami w czasie rzeczywistym WDM. Żądania to standardowe prośby o działanie cechy, z oczekiwaną odpowiedzią. Różnią się one od poleceń cech tym, że nie są i nie mogą być zdefiniowane w schemacie i nie są specyficzne dla żadnej cechy.

Istnieją trzy rodzaje standardowych żądań:

  • Powiadomienie Standardowe żądanie, które informuje subskrybenta o stanie właściwości cechy lub o konkretnym zdarzeniu związanym z tą cechą.
  • Zaktualizuj żądanie Standard, aby zmienić stan właściwości cechy.
  • Wyświetl standardowe żądanie aby zobaczyć właściwości cechy.

Role protokołów

Istnieją dwa typy ról protokołu WDM: wydawca i subskrybent. Te role są przypisywane na poziomie cechy.

Wydawca

Rola wydawcy WDM tworzy i udostępnia wersjonowane wystąpienia co najmniej jednego schematu jednemu lub większej liczbie subskrybentów oraz wysyła powiadomienia o zmianie schematu do zainteresowanych subskrybentów. Te powiadomienia są standardowymi żądaniami powiadomień .

Na przykład załóżmy, że Cecha A jest publikowana przez Zasób 1 i subskrybowana przez Zasób 2. Jak pokazano na Rysunku 1 , jeśli Cecha A się zmienia:

  1. WDM wysyła żądania powiadomienia z Zasobu 1 do wszystkich subskrybentów Cech A, informując ich o zmianie.
  2. Każdy subskrybent odpowiednio aktualizuje swoją instancję cechy A.
Żądanie powiadomienia wydawcy WDM
Rysunek 1 - Żądania wydawcy WDM

To samo dzieje się z innymi cechami w schemacie. Na przykład, jeśli Zasób 2 publikuje Cechę B, Zasób 1 subskrybuje Cechę B, a Cecha B się zmienia:

  1. WDM wysyła żądania powiadomienia z Zasobu 2 do wszystkich subskrybentów cechy B, informując ich o zmianie.
  2. Każdy subskrybent odpowiednio aktualizuje swoją instancję cechy B.

Abonent

Rola subskrybenta WDM wyświetla i używa wersjonowanych wystąpień co najmniej jednego schematu opublikowanego zewnętrznie. Może zmienić wersjonowane wystąpienie opublikowanego schematu za pomocą żądania aktualizacji lub wydać polecenie specyficzne dla aplikacji.

Na przykład załóżmy, że zasób 2 chce zmienić Cechę A, która jest opublikowana przez Zasób 1. Jak pokazano na rysunku 2 , aby zmienić Cechę A:

  1. WDM wysyła żądanie aktualizacji z zasobu 2 do zasobu 1, aby zażądać zmiany cechy A.
  2. Cecha A w Zasobie 1 została zmieniona.
  3. WDM wysyła zawiadomić żądania z Zasobu 1 do wszystkich abonentów Trait A, informując ich o zmianie.
  4. Każdy subskrybent odpowiednio aktualizuje swoją instancję cechy A.
Widok i aktualizacja subskrybenta WDM
Rysunek 2 - Żądania abonenta WDM

Subskrybenci mogą również wysłać żądanie wyświetlenia do wydawcy cechy, aby zobaczyć, jak właściwości tej cechy i zachować synchronizację własnych instancji cech z wydawcą.

Typy subskrypcji

Istnieją dwa typy subskrypcji WDM. Subskrypcje są ustanawiane za pomocą żądania subscribe . Rysunek 3 przedstawia podstawowy przepływ komunikatów w celu ustanowienia subskrypcji w jedną stronę.

Jednokierunkowa subskrypcja WDM
Rysunek 3 - jednokierunkowa subskrypcja WDM

Jednokierunkowa

Subskrypcje jednokierunkowe obejmują żądanie od subskrybenta do wydawcy dotyczące co najmniej jednego wystąpienia cechy. Na przykład urządzenie mobilne pobierające stan domu (struktury) z usługi.

Wzajemny

Subskrypcje wzajemne mają miejsce, gdy zasoby subskrybują się nawzajem i każda z nich działa zarówno jako wydawca, jak i subskrybent. Przykładem tego są Nest Guard i Nest Detect, które są częścią systemu Nest Secure. Subskrypcja wzajemna umożliwia obu zasobom zarządzanie opublikowanym schematem oraz utrzymywanie stanu i żywotności ich subskrypcji w bardziej efektywny sposób niż dwie subskrypcje jednokierunkowe.

Przykład

Spójrzmy na prosty przykład, jak WDM obsługuje zmianę ustawień regionalnych urządzenia za pomocą aplikacji mobilnej.

W tym przykładzie występują trzy zasoby i dwie cechy, jak pokazano na rysunku 4 :

  • Device (abonent)
  • Service (wydawca)
  • Mobile App (subskrybent)
  • Cechy lokalne Możliwości właściwości Dostępne lokalizacje
  • Ustawienia ustawień regionalnych właściwość Aktywne regionalne

Obie cechy są publikowane przez zasób Usługi i subskrybowane przez zasoby Urządzenia i aplikacji mobilnej. Każdy subskrybent działa jako jednokierunkowa subskrypcja wydawców cech w zasobie Usługi.

Wszystkie zasoby w tym przykładzie są częścią tej samej tkaniny Weave.

Przykład WDM
Rysunek 4 - przykład WDM

Zaktualizuj przepływ

Załóżmy, że użytkownik używa swojej aplikacji mobilnej do zmiany ustawień regionalnych urządzenia z en_US na fr_FR za pomocą podłączonej aplikacji mobilnej. Jak pokazano na rysunku 5 , przepływ aktualizacji w WDM to:

  1. Zasób aplikacji mobilnej (subskrybent) wysyła żądanie aktualizacji do zasobu usługi (wydawcy), aby zmienić właściwość Aktywne ustawienia regionalne cechy Ustawienia regionalne na fr_FR , jedną z prawidłowych wartości właściwości Dostępne ustawienia lokalne cechy Możliwości ustawień regionalnych.
  2. Zasób usługi zmienia właściwość Aktywne ustawienia regionalne cechy Ustawienia regionalne w swojej kopii schematu.
  3. Zasób Serwis wysyła zawiadomić żądania o zmianie wszelkich abonentów ustawienia regionalne cechy.
  4. Zasoby urządzenia i aplikacji mobilnej (subskrybenci) odbierają żądania powiadomienia zasobu usługi i aktualizują właściwość Aktywne ustawienia regionalne cechy Ustawienia regionalne w swoich kopiach schematu.
Sekwencja przepływu aktualizacji WDM
Rysunek 5 - Przepływ aktualizacji WDM

Zalety WDM

Może się to wydawać bardzo skomplikowane, gdy wszystko, co chcesz zrobić, to zmienić ustawienia regionalne na urządzeniu z aplikacji mobilnej. Jednak poprzez umieszczenie razem schematu wersjonowanego, wzorca publikowania i subskrypcji oraz żądań w profilu WDM, Weave zapewnia integralność danych we wszystkich zasobach.

Zapewnia również żywotność, więc po ponownym uruchomieniu urządzenia natychmiast powiadamia wszystkich subskrybentów o stanie opublikowanych cech, obserwuje stan subskrybowanych cech i odzwierciedla wszystkie te stany w swojej kopii schematu bez utraty funkcjonalności.

Poza subskrypcjami

Jeśli zasób wypisuje się z cechy, zachowuje kopię ostatniej znanej wersji cechy. Nie otrzymuje już powiadomień o od wydawcy dla tej cechy, ale nadal może wysyłać żądania aktualizacji do tego wydawcy.

Nawet zasoby, które nigdy nie były subskrybowane przez wydawcę cech, mogą wysyłać do nich żądania. Na przykład zasób może nie potrzebować informacji o stanie cechy, ale może chcieć wysłać żądania aktualizacji aby zmienić stan tej cechy w odpowiedzi na zdarzenie zewnętrzne.

Podsumować

Czego się nauczyłeś:

  • Weave Data Management (WDM) to profil Weave do zarządzania cechami w czasie rzeczywistym i zapewniający żywotność i integralność danych we wszystkich zasobach
  • Żądania są standardowymi żądaniami działania cechy, z oczekiwaną odpowiedzią
  • WDM ma dwie role protokołu:
    • Wydawca - źródło prawdy dla określonej cechy, wysyła zawiadomić wnioski
    • Abonent - zauważa opublikowanego schematu, wysyła widok , aktualizacji , lub Command żądań
  • WDM obejmuje dwa modele subskrypcji:
    • Jednokierunkowe - żądania przepływają od subskrybenta do wydawcy
    • Wzajemne - urządzenia subskrybują się wzajemnie
  • Subskrypcje są ustanawiane przez żądania subskrypcji
  • Zasoby mogą wysyłać komunikaty WDM do cech, nawet jeśli ich nie subskrybują

Aby uzyskać bardziej szczegółowe informacje, zobacz: