Artık Weave'in ana bileşenlerini anladığınıza göre, bazı işlevlerinin nasıl üst düzeyde ele alındığına bakalım.
Nest ekosistemindeki günlük işlemler için neredeyse tüm işlevler, Örgü şemasının bir parçası olarak kaynaklar ve özelliklerle eşleştirilir. Veri Yönetimi iletilerdir .profili, yayınlama-abone olma modelini kullanarak tüm özellik isteklerini yönetir. Bu istekler Veri Yönetimi profiline özgü
Bu tür modelde, bir yayıncı özellikleri (izlenecek veriler) bildirir ve bir abone yayınlanan özelliklerde (izlenen veriler) değişikliklere tepki verir. Bu işleve gerçek zamanlı özellik yönetimi denir.
Veri Yönetimi profili, Dokuma'nın işgücüdür ve genellikle Örgü Veri Yönetimi (WDM) olarak adlandırılır.
İstekler
İstekler komutlarından farklıdır, çünkü şemada tanımlanamazlar ve tanımlanamazlar ve herhangi bir özelliğe özgü değildirler., WDM'nin gerçek zamanlı özellik yönetiminin önemli bir öğesidir. İstekler, beklenen bir yanıtla birlikte bir özelliğin işlemine ilişkin standart isteklerdir . Bunlar, bir özelliğin
Üç tür standart istek vardır:
- Bildir Standart isteği hem bilgilendirici veya bu özelliği ile ilgili spesifik bir olayın bir özellik özelliğinin devletin bir abone.
- güncelleyin Bir özellik özelliğinin durumunu değiştirmek için standart istek.
- Görünüm Bir özelliğin özelliklerini görüntülemek için standart istek.
Protokol rolleri
İki tür WDM protokolü rolü vardır: yayıncı ve abone. Bu roller özellik düzeyinde atanır.
Yayımcı
WDM yayıncı rolü, bir veya daha fazla aboneye bir veya daha fazla şemanın sürümlenmiş örneklerini üretir ve sunar ve şemada yapılan bir değişiklikle ilgili olarak ilgili abonelere bildirim gönderir. Bu bildirimler standart isteklerini bildirmek bulunmaktadır.
Örneğin, Özellik A'nın Kaynak 1 tarafından yayınlandığını ve Kaynak 2 tarafından abone olduğunu varsayalım. Şekil 1'de gösterildiği gibi, Özellik A değişirse:
- WDM bir istek bildirmek gönderir değişiklik konusunda bilgilendirmek, Sürekli A'nın tüm abonelere Kaynak 1'den.
- Her abone, Özellik A örneğini buna göre günceller.
Aynı şey şemadaki diğer özellikler için de geçerlidir. Örneğin, Kaynak 2 Özellik B yayınlarsa, Kaynak 1 Özellik B'ye abone olur ve Özellik B değişir:
- WDM bir istek bildirmek gönderir değişiklik konusunda bilgilendirmek, Sürekli B'nin tüm abonelere Kaynak 2'den.
- Her abone, Özellik B örneğini buna göre günceller.
Abone
WDM abone rolü, harici olarak yayınlanan bir veya daha fazla şemanın sürümlenmiş örneklerini görüntüler ve tüketir. Yayınlanan bir şemanın sürüm örneğini güncelleme isteğiyle değiştirebilir veya uygulamaya özel komut verebilir.
Örneğin, Kaynak 2'nin Kaynak 1 tarafından yayınlanan Özellik A'yı değiştirmek istediğini varsayalım. Şekil 2'de gösterildiği gibi, Özellik A'yı değiştirmek için:
- WDM, A Özellikleri'nde değişiklik istemek için Kaynak 2'den Kaynak 1'e bir güncelleme isteği gönderir.
- Kaynak 1'deki A özelliği değiştirildi.
- WDM bir istek bildirmek gönderir değişiklik konusunda bilgilendirmek, Sürekli A'nın tüm abonelere Kaynak 1'den.
- Her abone, A Özelliği örneğini buna göre günceller.
Aboneler ayrıca bir özelliğin yayıncısına bir görünüm isteğigönderebilir, bu özelliğin özellikler görüntüleyebilir ve özelliklerin kendi örneklerini yayıncıyla senkronize halde tutabilir.
Abonelik türleri
İki tür WDM aboneliği vardır. Abonelikler, abone olmaisteği ile oluşturulur. Şekil 3 , tek yönlü bir abonelik oluşturmak için temel mesaj akışını göstermektedir.
Tek yön
Tek yönlü abonelikler, bir veya daha fazla özellik örneği için bir aboneden bir yayıncıya bir istek içerir. Örneğin, bir hizmetten ev (yapı) durumunu alan bir mobil cihaz.
Karşılıklı
Karşılıklı abonelikler, kaynakların birbirlerine abone olduğu ve her birinin hem yayıncı hem de abone olarak görev yaptığı zamandır. Buna bir örnek, Nest Secure sisteminin bir parçası olan Nest Guard ve Nest Detect'dir. Karşılıklı abonelik, her iki kaynağın yayınlanan şemayı yönetmesine ve aboneliklerinin sağlığını ve canlılığını iki tek yönlü aboneliğe göre daha verimli bir şekilde sürdürmesine olanak tanır.
Misal
WDM'nin bir mobil uygulama kullanarak bir cihazın yerel ayarındaki değişikliği nasıl ele aldığına dair basit bir örneğe bakalım.
Şekil 4'te gösterildiği gibi, bu örnekte yer alan üç kaynak ve iki özellik vardır:
- Cihazı (abone)
- Hizmeti (yayıncı)
- Mobil Uygulaması (abone)
- Yerel Ayar Özellikleri özellik Available Locales özelliği
- Yerel Ayar Ayarları özelliği Aktif Yerel Ayar özelliğini
Her iki özellik de Servis kaynağı tarafından yayınlanır ve Cihaz ve Mobil Uygulama kaynakları tarafından abone olunur. Her abone, Hizmet kaynağındaki özellik yayıncılarına tek yönlü bir abonelik olarak işlev görür.
Bu örnekteki tüm kaynaklar aynı Dokuma kumaşparçasıdır.
Akışı güncelleyin
Kullanıcının, bağlı bir Mobil Uygulama kullanarak Cihazın yerel
fr_FR
en_US yerine
fr_FR olarak değiştirmek için Mobil Uygulamasını kullandığını
fr_FR . Şekil 5'te gösterildiği gibi, WDM içindeki güncelleme akışı:
- Mobil Uygulama kaynağı (abone), Yerel Ayar Ayarları özelliğinin Etkin Yerel Ayar özelliğini Yerel Ayar Özellikleri özelliğinin Kullanılabilir Yerel Özellikleri özelliğinin geçerli değerlerinden biri olan
fr_FRolarak değiştirmek için Hizmet kaynağına (yayıncı) bir güncelleme isteği gönderir.
- Hizmet kaynağı, şema kopyasında Yerel Ayarlar ayarları özelliğinin Etkin Yerel Ayar özelliğini değiştirir.
- Servis kaynak bir istek bildirmek gönderir Yerel Ayarlar özellik herhangi abonelere değişiklik hakkında.
- Cihaz ve Mobil Uygulama kaynaklarının (abonelerin) her ikisi de Hizmet kaynağının bildirim isteği ve şema kopyalarındaki Yerel Ayarlar ayarları özelliğinin Aktif Yerel Ayar özelliğini günceller.
WDM'nin avantajları
Tek yapmanız gereken, cihazınızdaki yerel ayarı bir mobil uygulamadan değiştirmek olduğunda çok karmaşık görünebilir. Ancak, sürüm oluşturulmuş şemayı, yayınlama-abone olma düzenini ve istekleri birlikte WDM profiline sararak Weave tüm kaynaklarda veri bütünlüğü sağlar.
Aynı zamanda canlılığı da sağlar, bu nedenle bir cihaz yeniden başlatıldığında, tüm aboneleri yayınlanan özelliklerinin durumu hakkında derhal 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 özellikten çıkarsa, özelliğin en son bilinen sürümünün bir kopyasını saklar. Bu istekler bildirmek alır artıko özellik için yayıncıdan, ama yine de güncelleme istekleri gönderebilir o yayıncıya.
Sürekli bir yayıncıya hiç abone olmamış kaynaklar bile bunlara istek gönderebilir. Örneğin, bir kaynağın bir özelliğin durumu hakkında bilgi sahibi olması gerekmeyebilir, ancak harici bir olaya yanıt olarak bu özelliğin durumunu değiştirmek içingüncelleme istekleri göndermek isteyebilir.
tekrarlamak
Öğrendikleriniz:
- Örgü Veri Yönetimi (WDM) , gerçek zamanlı özellik yönetimi için Örgü profilidir ve tüm kaynaklarda canlılık ve veri bütünlüğü sağlar
- İstekler , beklenen bir yanıtla birlikte bir özelliğin işlemine ilişkin standart isteklerdir
- WDM'de iki protokol rolü bulunur:
- Yayıncı - Belirli bir özellik için gerçeğin kaynağı, bildirim istekleri gönderir
- Abone - Yayınlanan şemayı gözlemler, görünüm , güncelleme veya komutlarını
- WDM'de iki abonelik modeli bulunur:
- Tek yönlü - Aboneden yayıncıya akış ister
- Karşılıklı - Cihazlar birbirlerine abone olur
- Abonelikler, abone istekleri ile oluşturulur.
- Kaynaklar, abone olmasalar bile özelliklere WDM mesajları gönderebilir
Daha ayrıntılı bilgi için bkz: