Örgü Veri Yönetimi

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 profili, yayınlama abonelik modeli kullanarak tüm özellik isteklerini yönetir. Bu istekler, Veri Yönetimi profiline özel mesajlardır.

Bu 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

İ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 komutundan farklıdır.

Üç 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:

  1. WDM, 1. Kaynak'tan Trait A'nın tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
  2. Her abone, Örnek A Özelliğinin örneğini uygun şekilde günceller.
WDM Yayıncı bildirim isteği
Şekil 1 - WDM yayıncı istekleri

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:

  1. WDM, 2. Kaynak'tan Trat B'nin tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
  2. 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:

  1. WDM, İşlem A'da değişiklik talebinde bulunmak için Kaynak 2'den 1'e bir güncelleme isteği gönderir.
  2. Kaynak 1'deki A Özelliği değişti.
  3. WDM, 1. Kaynak'tan Trait A'nın tüm abonelerine bir bildirim isteği göndererek onları değişiklik hakkında bilgilendirir.
  4. Her abone, Örnek A Özelliğinin örneğini uygun şekilde günceller.
WDM Abone görüntüleme ve güncelleme
Şekil 2 - WDM abone istekleri

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.

WDM tek yönlü abonelik
Şekil 3 - WDM tek yönlü abonelik

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.

WDM örneği
Şekil 4 - WDM örneği

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:

  1. 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.
  2. Hizmet kaynağı, şemanın kopyasındaki Locale Ayarları özelliğinin Etkin Yerel Ayar özelliğini değiştirir.
  3. Hizmet kaynağı, Yerel Ayar Ayarları özelliğinin tüm abonelerine değişiklik hakkında bir bildirim isteği gönderir.
  4. 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 güncelleme akışı dizisi
Şekil 5 - WDM güncelleme akışı

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: