Znasz już główne składniki Weave, więc teraz przyjrzyjmy się, jak niektóre ich funkcje są obsługiwane.
Niemal wszystkie funkcje ekosystemu Nest są wykorzystywane na potrzeby zasobów, co jest częścią schematu Weave. Profil zarządzania danymi wiadomości właściwe dla profilu zarządzania danymi.
zarządza wszystkimi żądaniami cech za pomocą modelu publikowania subskrypcji. Żądania te toW przypadku tego typu modelu wydawca reklamuje cechy (dane do oglądania), a subskrybent reaguje na zmiany w opublikowanych cechach (danych, które oglądają). Funkcja ta nosi nazwę zarządzania cechami w czasie rzeczywistym.
Profil zarządzania danymi to środowisko pracy firmy Weave. Usługa ogólnie nosi nazwę Wave Data Management (WDM).
Żądania
Żądania poleceń dotyczących cech, ponieważ nie są i nie można ich zdefiniować w schemacie ani nie dotyczą konkretnych cech.
są kluczowym elementem zarządzania cechami w czasie rzeczywistym. Żądania to standardowe żądania działania wymagające cechy, której oczekiwana odpowiedź dotyczy. Różnią się one odIstnieją trzy typy żądań standardowych:
- Powiadom żądanie standardowe, które informuje subskrybenta o stanie właściwości właściwości lub konkretnym zdarzeniu związanym z tą cechą.
- Aktualizacja – żądanie standardowe dotyczące zmiany stanu właściwości atrybutu.
- Wyświetl żądanie standardowe dotyczące wyświetlenia właściwości.
Role protokołów
Istnieją dwa typy ról protokołu WDM: wydawca i subskrybent. Te role są przypisane na poziomie cech.
Wydawca
Rola wydawcy WDM generuje i udostępnia wersje co najmniej jednego schematu jednemu lub większej liczbie subskrybentów, a także wysyła powiadomienia dotyczące zmiany do schematów do zainteresowanych subskrybentów. Powiadomienia te stanowią powiadomienia standardowe.
Załóżmy na przykład, że Trait A jest opublikowany przez Zasób 1 i subskrybowany przez Zasób 2. Jak to wygląda na rysunku 1, jeśli zmieni się zadanie A:
- WDM wysyła żądanie powiadomienia z zasobu 1 do wszystkich subskrybentów Trait A, informując ich o zmianie.
- Każdy subskrybent aktualizuje swoją instancję Trait A.

To samo dotyczy innych cech schematu. Na przykład jeśli Zasób 2 publikuje Trait B, to Zasób 1 subskrybuje Trait B i trait B:
- WDM wysyła żądanie powiadomienia z zasobu 2 do wszystkich subskrybentów Trait B, informując ich o zmianie.
- Każdy subskrybent aktualizuje swoją instancję Trait B.
Subskrybent
Rola subskrybenta WDM generuje i wykorzystuje wersje co najmniej jednego schematu opublikowanego na zewnątrz. Może zmienić wersję wersji opublikowanego schematu w żądaniu update lub wysłać polecenie aplikacji.
Załóżmy na przykład, że Zasób 2 chce zmienić zadanie A, które jest publikowane przez Zasób 1. Jak przedstawiono na rysunku 2, aby zmienić zadanie A:
- WDM wysyła żądanie aktualizacji z zasobu 2 do zasobu 1, aby poprosić o zmianę na podstawie Trait A.
- Zmieniono atrybut A w zasobie 1.
- WDM wysyła żądanie powiadomienia z zasobu 1 do wszystkich subskrybentów Trait A, informując ich o zmianie.
- Każdy subskrybent aktualizuje swoją instancję Trait A.

Subskrybenci mogą też wysłać prośbę o wyświetlenie
do wydawcy powiązanego z cechą danego produktu, aby wyświetlić jego właściwości i zsynchronizować ich wystąpienia z wydawcą.Typy subskrypcji
Są dwa rodzaje subskrypcji WDM. Subskrypcje są ustanawiane za pomocą żądania subskrypcji
. Rysunek 3 przedstawia podstawowy przepływ wiadomości, aby zapewnić subskrypcję jednokierunkową.
W jedną stronę
Subskrypcje jednokierunkowe obejmują prośby wysyłane przez subskrybenta do co najmniej jednego wystąpienia właściwości. Na przykład urządzenie mobilne pobierające z usługi stan domu (struktury).
Wspólne
Subskrypcje wzajemne pozwalają na subskrybowanie zasobów, które działają zarówno jako wydawca, jak i subskrybent. Przykładem mogą być urządzenia Nest Guard i Nest Discovery, które są częścią systemu Nest Secure. Subskrypcja pośrednia pozwala obu zasobom zarządzać opublikowanym schematem, a także dbać o zdrowie i żywotność subskrypcji w bardziej wydajny sposób niż w przypadku 2 jednokierunkowych subskrypcji.
Przykład
Spójrzmy na prosty przykład tego, jak usługa WDM obsługuje zmianę lokalizacji urządzenia przy użyciu aplikacji mobilnej.
Jak widać na ilustracji 4, w tym przykładzie występują 3 zasoby i 2 cechy:
- Urządzenie (subskrybent)
- Usługa (wydawca)
- Aplikacja mobilna (subskrybent)
- Umiejętności regionalne Dostępna usługa
- Atrybut Ustawienia języka Właściwość aktywna
Oba te atrybuty są publikowane przez zasób usługi i subskrybowane przez zasoby urządzeń i aplikacji mobilnych. Każdy subskrybent pełni funkcję jednokierunkowej subskrypcji wydawców podrzędnych w zasobie usługi.
Wszystkie zasoby w tym przykładzie są częścią tej samej tkaniny Weave.

Aktualizuj przepływ
Załóżmy, że użytkownik korzysta z aplikacji mobilnej, by zmienić język na urządzeniu z en_US
na fr_FR
przy użyciu połączonej aplikacji mobilnej. Jak pokazano na Rysunek 5, proces aktualizacji w WDM wygląda tak:
- Zasób aplikacji mobilnej (subskrybent) wysyła żądanie aktualizacji
fr_FR
, jedną z prawidłowych wartości właściwości „Dostępne języki regionalne”.
do zasobu usługi (wydawcy), aby zmienić właściwość Activee regionu Locale
Ustawienia na - Zasób usługi zmienia właściwość Active Locale właściwości Ustawienia regionalnego w jej kopii schematu.
- Zasób usługi wysyła prośbę o powiadomienie o zmianach w ustawieniach usługi Ustawienia regionalne.
- Zasoby urządzenia i aplikacji mobilnej (subskrybenci) otrzymują żądanie zasobu usługi oraz aktualizują właściwość Active Locale w ustawieniach języka w ich kopiach schematu.

Zalety WDM
Gdy zmieniasz język na urządzeniu z poziomu aplikacji mobilnej, może to wydawać się bardzo skomplikowane. Jednak pakowanie wersji wersji, wzoru publikowania i żądań do profilu WDM zapewnia integralność danych we wszystkich zasobach.
Zapewnia też żywotność, więc po ponownym uruchomieniu urządzenia natychmiast powiadamia wszystkich subskrybentów o opublikowanych cechach, sprawdza stan cech subskrybowanych i odzwierciedla wszystkie te stany w kopii schematu bez utraty funkcjonalności.
Oprócz subskrypcji
Jeśli zasób anuluje atrybut, zachowa kopię jego ostatniej znanej wersji. Nie otrzymuje on już od wydawcy powiadomień
na podstawie tych cech, ale nadal może wysyłać mu żądania aktualizacji .Nawet zasoby, które nigdy nie były subskrybowane przez wydawcę, mogą wysyłać do niego żądania. Zasób może na przykład nie mieć informacji o stanie cech, ale może wysyłać żądania update
, aby zmienić stan cechy w odpowiedzi na zdarzenie zewnętrzne.Podsumowanie
Czego się nauczysz:
- Weave Data Management (WDM) to profil Weave, który służy do zarządzania cechami w czasie rzeczywistym oraz zapewnia żywotność i integralność danych we wszystkich zasobach.
- Żądania to standardowe żądania działań, które wymagają podania oczekiwanej odpowiedzi.
- WDM obejmuje 2 role protokołu:
- Wydawca – źródło danych dotyczące konkretnej cechy, wysyła powiadomienia o żądaniach
- Subskrybent – obserwował opublikowany schemat, wysyła żądania widoku , aktualizacji lub polecenia
- WDM obejmuje 2 modele subskrypcji:
- Jednokierunkowa – przepływ żądań od subskrybentów do wydawcy
- Wzajemne – urządzenia wzajemnie się subskrybują
- Subskrypcje są ustanowione przez żądania subskrypcji
- Zasoby mogą wysyłać wiadomości WDM do cech, nawet jeśli nie subskrybują ich.
Więcej szczegółowych informacji znajdziesz w tych artykułach: