Weave'in ana bileşenlerini anladığınıza göre, şimdi işlevlerinin bir kısmının nasıl ele alındığına göz atalım.
Nest ekosisteminde günlük işler için neredeyse tüm işlevler Weave şemasının bir parçası olarak kaynaklar ve özelliklerle eşleştirilir. Veri Yönetimi mesajlardır.
profili, yayınlama abonelik modeli kullanarak tüm özellik isteklerini yönetir. Bu istekler, Veri Yönetimi profiline özelBu model türünde yayıncı, özelliklerin (izlenecek veriler) reklamını yapar ve abone, bu yayınlanan özelliklerdeki (izlenen veriler) yapılan değişikliklere tepki verir. Bu işleve gerçek zamanlı özellik yönetimi adı verilir.
Veri Yönetimi profili, Weave'in çalışmasıdır ve genellikle Weave Veri Yönetimi (WDM) olarak adlandırılır.
İstekler
komutundan farklıdır.
İstekleri, WDM'nin gerçek zamanlı özellik yönetiminin önemli bir parçasıdır. İstekler, bir mülkün işleme yönelik standart istekleridir ve beklenen yanıttır. Bunlar, şemada tanımlanmamaları ve herhangi bir özelliğe özel olmamaları nedeniyle bir özellikÜç tür standart istek vardır:
- Bilgilendir Aboneyi bir özellik mülkü durumu veya bu özellikle ilgili belirli bir etkinlik hakkında bilgilendiren standart istek.
- Güncelle Özellik özelliğinin durumunu değiştirme standart isteği.
- Görüntüleme Bir özelliğin özelliklerini görüntülemeyle ilgili standart istek.
Protokol rolleri
Yayıncı ve abone olmak üzere iki tür WDM protokolü rolü vardır. Bu roller özellik düzeyinde atanır.
Yayıncı
WDM yayıncısı rolü, bir veya daha fazla aboneye bir veya daha fazla şemanın farklı sürümlerini oluşturur ve sunar. Ayrıca, yapılan değişiklikle ilgili bildirimleri ilgili abonelere gönderir. Bu bildirimler bildirme standart istekleridir.
Örneğin, A Özelliğinin 1. Kaynak tarafından yayınlandığını ve 2. Kaynak tarafından abone olunduğunu varsayalım. Şekil 1'de gösterildiği gibi, A Özelliği değişirse:
- WDM, 1. Kaynak'tan Trait A'nın tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
- Her abone, Örnek A Özelliğinin örneğini uygun şekilde günceller.
Aynı durum, şemadaki diğer özellikler için de geçerlidir. Örneğin, Kaynak 2, B Hattı'nı yayınlarsa Kaynak 1, B Hatına abone olur ve Borç B değişir:
- WDM, 2. Kaynak'tan Trat B'nin tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
- Her abone, Örnek B Örneği örneğini uygun şekilde günceller.
Abone
WDM abone rolü, harici olarak yayınlanan bir veya daha fazla şemanın farklı sürümlerini görüntüler ve tüketir. Yayınlanan şemanın sürümlenmiş örneğini update isteğiyle değiştirebilir veya uygulamaya özel komut yayınlayabilir.
Örneğin, Kaynak 2'nin, Kaynak 1 tarafından yayınlanan A Özelliğini değiştirmek istediğini varsayalım. Şekil 2'de gösterildiği gibi, A özelliğini değiştirmek için:
- WDM, İşlem A'da değişiklik talebinde bulunmak için Kaynak 2'den 1'e bir güncelleme isteği gönderir.
- Kaynak 1'deki A Özelliği değişti.
- WDM, 1. Kaynak'tan Trait A'nın tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
- Her abone, Örnek A Özelliğinin örneğini uygun şekilde günceller.
Aboneler, aynı zamanda bir nitenin yayıncısına görüntüleme isteği
göndererek o özelliğin özelliklerini görüntüleyebilir ve kendi özellik örneklerini yayıncıyla senkronize edebilir.Abonelik türleri
İki tür WDM aboneliği vardır. Abonelikler, abone olma
isteğiyle oluşturulur. 3. Şekil, tek yönlü abonelik oluşturmak için temel mesaj akışını göstermektedir.Tek yön
Tek yön abonelikler bir aboneden yayıncıya bir veya daha fazla özellik örneği için yapılan bir isteği içerir. Örneğin, bir hizmetten evin (yapı) durumunu alan mobil cihaz.
Ortak
Ortak abonelikler, kaynakların birbirine abone olması ve her birinin hem yayıncı hem de abone olarak hareket etmesidir. Buna örnek olarak Nest Secure sisteminin parçası olan Nest Guard ve Nest Detect verilebilir. Karşılıklı abonelik, her iki kaynağın da yayınlanan şemayı yönetmesine ve tek yönlü iki abonelikten daha verimli bir şekilde aboneliklerinin durumunu ve ömrünü korumasına olanak tanır.
Örnek
WDM'nin, bir mobil uygulama kullanarak cihaz yerel ayarındaki değişikliği nasıl işlediğine dair basit bir örneğe bakalım.
4. Şekilde gösterildiği gibi, bu örnekte kullanılan üç kaynak ve iki özellik vardır:
- Cihaz (abone)
- Hizmet (yayıncı)
- Mobil Uygulama (abone)
- Yerel özellikler özelliği Kullanılabilir Yerel Ayarlar mülkü
- Yerel Ayar Ayarları özelliği Etkin Yerel Ayar mülkü
İki özellik de Hizmet kaynağı tarafından yayınlanıp Cihaz ve Mobil Uygulama kaynakları tarafından abone olundu. Her abone, Hizmet kaynağındaki özellik yayıncılarına tek yönlü abonelik işlevi görür.
Bu örnekteki tüm kaynaklar aynı dokuma kumaşının bir parçasıdır.
Güncelleme akışı
Kullanıcının, Yerel Uygulamasını en_US
bağlı bir Mobil Uygulama kullanarak fr_FR
olarak değiştirmek için Mobil Uygulamasını kullandığını varsayalım. Şekil 5'te gösterildiği gibi WDM içindeki güncelleme akışı şöyledir:
- Mobil Uygulama kaynağı (abone), Yerel Ayar Ayarları özelliğinin Etkin Yerel Ayar özelliğini Yerel Ayar Özellikleri özelliğinin Kullanılabilir Yerel Ayarları özelliğinin geçerli değerlerinden biri olan
fr_FR
olarak değiştirmek için Hizmet kaynağına (yayıncı) bir güncelleme isteği gönderir. - Hizmet kaynağı, şemanın kopyasındaki Locale Ayarları özelliğinin Etkin Yerel Ayar özelliğini değiştirir.
- Hizmet kaynağı, Yerel Ayar Ayarları özelliğinin tüm abonelerine değişiklik hakkında bir bildirim isteği gönderir.
- Hem Cihaz hem de Mobil Uygulama kaynakları (aboneler), Hizmet kaynağını alır ve bildiriristek ve Yerel Ayarlar Ayarları özelliğinin Etkin Yerel Özellik özelliğini şema kopyaları halinde günceller.
WDM'nin avantajları
Tek yapmanız gereken, cihazınızdaki yerel ayarı bir mobil uygulamadan değiştirmek. Son derece karmaşık görünebilir. Ancak sürüm oluşturulmuş şemayı, yayınla abone olma kalıbını ve istekleri WDM profiline sarmalayarak Weave tüm kaynaklarda veri bütünlüğü sağlar.
Buna ek olarak, canlılık sağlar. Dolayısıyla bir cihaz yeniden başlatıldığında, tüm aboneleri yayınlanan özelliklerin durumuyla ilgili olarak anında bilgilendirir, abone olunan özelliklerin durumunu gözlemler ve tüm bu durumları işlevsellik kaybı olmadan şema kopyasına yansıtır.
Aboneliklerin ötesinde
Bir kaynak, bir özelliğin aboneliğinden çıkarsa mülkün en son bilinen sürümünün bir kopyasını tutar. Artık bu özellik için yayıncıdan bildirim istemi
almıyor, ancak yine de bu yayıncıya güncelleme isteği gönderebilir.Bir özellik yayıncısına abone olmayan kaynaklar bile bunlara istek gönderebilir. Örneğin, bir kaynağın bir özelliğin durumunu bilmesi gerekmeyebilir ancak harici bir etkinliğe yanıt olarak bu özelliğin durumunu değiştirmek için güncellemeistekleri
göndermek isteyebilir.Özet
Öğrendikleriniz:
- Weave Veri Yönetimi (WDM) , gerçek zamanlı özellik yönetimi için Weave profilidir ve tüm kaynaklarda canlılık ve veri bütünlüğü sağlar
- istekleri, bir mülkün standart işlem isteği olup beklenen bir yanıttır
- WDM, iki protokol rolü içerir:
- Yayıncı - Belirli bir özelliğin doğru kaynağı, isteklerini bildirir
- Abone: Yayınlanan şemayı gözlemler, view , update veya komut isteklerini gönderir
- WDM, iki abonelik modeli içerir:
- Tek yön - İstekler, yayıncıdan yayıncıya iletilir
- Ortak — Cihazlar birbirlerine abone olur
- Abonelikler, abone olma istekleriyle oluşturulur
- Kaynaklar, abone olmasalar bile özelliklere WDM mesajları gönderebilir
Daha ayrıntılı bilgi için aşağıdaki konulara bakın: