Pengelolaan Data Weave

Setelah memahami komponen utama Weave, mari kita lihat bagaimana beberapa fungsinya ditangani secara umum.

Hampir semua fungsi dalam ekosistem Nest untuk operasi sehari-hari dipetakan ke resource dan karakteristik sebagai bagian dari skema Weave. Profil Pengelolaan Data mengelola semua permintaan untuk fitur menggunakan model publikasi-berlangganan. Permintaan ini adalah pesan khusus untuk profil Pengelolaan Data.

Dalam model semacam ini, penayang mengiklankan karakteristik (data untuk ditonton) dan pelanggan bereaksi terhadap perubahan dalam karakteristik yang dipublikasikan tersebut (data yang sedang ditonton). Fungsi ini disebut pengelolaan fitur real-time.

Profil Pengelolaan Data adalah sumber pekerja Weave, dan biasanya disebut sebagai Pengelolaan Data Weave (WDM).

Permintaan

Permintaan adalah elemen utama dari pengelolaan karakteristik real-time WDM. Permintaan adalah permintaan standar untuk tindakan karakteristik, dengan respons yang diharapkan. Perintah ini berbeda dengan perintah karakteristik yang tidak dan tidak dapat ditentukan dalam skema dan tidak spesifik untuk karakteristik apa pun.

Ada tiga jenis permintaan standar:

  • Beri tahu Permintaan standar yang memberi tahu pelanggan status properti karakteristik, atau peristiwa tertentu yang terkait dengan fitur tersebut.
  • Update Permintaan standar untuk mengubah status properti fitur.
  • View Permintaan standar untuk melihat properti karakteristik.

Peran protokol

Ada dua jenis peran protokol WDM: penayang dan pelanggan. Peran ini ditetapkan pada tingkat karakteristik.

Penerbit

Peran publisher WDM menghasilkan dan menayangkan instance berversi dari satu atau beberapa skema kepada satu atau beberapa pelanggan, dan mengirimkan notifikasi tentang perubahan pada skema kepada pelanggan yang berminat. Notifikasi ini adalah permintaan standar notifikasi.

Misalnya, Trait A dipublikasikan oleh Resource 1 dan berlangganan oleh Resource 2. Seperti yang ditunjukkan pada Gambar 1, jika Sifat A berubah:

  1. WDM mengirimkan permintaan notify dari Resource 1 ke semua subscriber Trait A, yang memberi tahu mereka tentang perubahan tersebut.
  2. Setiap pelanggan memperbarui instance Trait A-nya sebagaimana mestinya.
Permintaan beri tahu Penerbit WDM
Gambar 1 - Permintaan penayang WDM

Hal yang sama juga terjadi untuk karakteristik lainnya dalam skema. Misalnya, jika Resource 2 memublikasikan Trait B, Resource 1 berlangganan Trait B, dan Trait B berubah:

  1. WDM mengirimkan permintaan notify dari Resource 2 ke semua subscriber Trait B, yang memberi tahu mereka tentang perubahan tersebut.
  2. Setiap pelanggan memperbarui instance Trait B yang sesuai.

Subscriber

Peran subscriber WDM melihat dan menggunakan instance berversi dari satu atau beberapa skema yang dipublikasikan secara eksternal. Ini dapat mengubah instance berversi skema yang dipublikasikan dengan permintaan update, atau mengeluarkan perintah khusus aplikasi.

Misalnya, Resource 2 ingin mengubah Trait A, yang dipublikasikan oleh Resource 1. Seperti yang ditunjukkan pada Gambar 2, untuk mengubah Sifat A:

  1. WDM mengirimkan permintaan update dari Resource 2 ke Resource 1, untuk meminta perubahan pada Trait A.
  2. Sifat A pada Resource 1 diubah.
  3. WDM mengirimkan permintaan notify dari Resource 1 ke semua subscriber Trait A, yang memberi tahu mereka tentang perubahan tersebut.
  4. Setiap pelanggan memperbarui instance Trait A-nya sebagaimana mestinya.
Tampilan dan pembaruan Pelanggan WDM
Gambar 2 - Permintaan pelanggan WDM

Pelanggan juga dapat mengirimkan permintaan tampilan ke penayang karakteristik, untuk melihat properti dari karakteristik tersebut dan menyinkronkan instance fitur mereka sendiri dengan penayang.

Jenis langganan

Ada dua jenis langganan WDM. Langganan dibuat dengan permintaan berlangganan . Gambar 3 mengilustrasikan alur pesan dasar untuk membuat langganan satu arah.

Langganan WDM satu arah
Gambar 3 - Langganan sekali jalan WDM

Sekali jalan

Langganan satu arah melibatkan permintaan dari pelanggan ke penayang untuk satu atau beberapa instance fitur. Misalnya, perangkat seluler yang mengambil status rumah (struktur) dari layanan.

Reksadana

Langganan bersama terjadi saat resource saling berlangganan, dan masing-masing bertindak sebagai penayang dan pelanggan. Contohnya adalah Nest Guard dan Nest Detect, yang merupakan bagian dari sistem Nest Secure. Langganan bersama memungkinkan kedua resource mengelola skema yang dipublikasikan dan menjaga kesehatan dan masa aktif langganan mereka secara lebih efisien daripada dua cara berlangganan sekali jalan.

Contoh

Mari kita lihat contoh sederhana tentang bagaimana WDM menangani perubahan pada lokal perangkat menggunakan aplikasi seluler.

Ada tiga resource dan dua karakteristik yang terlibat dalam contoh ini, seperti yang ditunjukkan pada Gambar 4:

  • Perangkat (pelanggan)
  • Layanan (penayang)
  • Aplikasi Seluler (pelanggan)
  • Sifat Kemampuan Lokal Properti lokal yang tersedia
  • Ciri setelan Lokal Properti lokal aktif

Kedua fitur tersebut dipublikasikan oleh resource Layanan dan berlangganan oleh resource Perangkat dan Aplikasi Seluler. Setiap pelanggan berfungsi sebagai langganan satu arah ke penayang karakteristik pada resource Layanan.

Semua resource dalam contoh ini adalah bagian dari kain Weave yang sama .

Contoh WDM
Gambar 4 - Contoh WDM

Alur update

Misalnya, pengguna menggunakan Aplikasi Selulernya untuk mengubah lokal Perangkat dari en_US menjadi fr_FR, menggunakan Aplikasi Seluler yang terhubung. Seperti yang ditunjukkan pada Gambar 5, alur update dalam WDM adalah:

  1. Resource Aplikasi Seluler (pelanggan) mengirimkan permintaan update ke resource Layanan (penayang) untuk mengubah properti Locale Aktif dari fitur Setelan Lokal ke fr_FR, salah satu nilai yang valid dari properti yang Tersedia Lokal dari karakteristik Kemampuan Lokal.
  2. Resource Layanan mengubah properti Locale Aktif dari karakteristik Setelan Lokal dalam salinan skemanya.
  3. Resource Layanan mengirim permintaan notify tentang perubahan pada semua pelanggan fitur Locale Settings.
  4. Resource Perangkat dan Aplikasi Seluler (pelanggan) menerima permintaan resource resource Resource layanan dan memperbarui properti Activee Lokal dari fitur Setelan Lokal dalam salinan skemanya.
Urutan alur update WDM
Gambar 5 - Alur update WDM

Manfaat WDM

Hal ini mungkin tampak sangat rumit jika Anda hanya ingin mengubah lokal di perangkat dari aplikasi seluler. Namun, dengan menggabungkan skema berversi, pola memublikasikan langganan, dan permintaan bersama ke dalam profil WDM, Weave memastikan integritas data di semua resource.

Ini juga memastikan keaktifan, sehingga saat dimulai ulang, perangkat segera memberi tahu semua pelanggan karakteristik yang dipublikasikan, mengamati status fitur langganan, dan mencerminkan semua status tersebut dalam salinan skema tanpa kehilangan fungsi.

Selain langganan

Jika resource berhenti berlangganan fitur, resource tersebut akan mempertahankan salinan versi fitur yang terakhir diketahui. Layanan tidak lagi menerima permintaan notify dari penayang untuk fitur tersebut, tetapi masih bisa mengirim permintaan update ke penayang itu.

Bahkan resource yang tidak pernah berlangganan ke penayang karakteristik dapat mengirim permintaan ke penayang tersebut. Misalnya, resource mungkin tidak perlu mengetahui status fitur, tetapi mungkin ingin mengirimkan permintaan update untuk mengubah status fitur tersebut sebagai respons terhadap peristiwa eksternal.

Rangkuman

Hal yang telah Anda pelajari:

  • Pengelolaan Data Weave (WDM) adalah profil Weave untuk pengelolaan karakteristik real-time dan memastikan keaktifan dan integritas data di semua resource
  • Permintaan adalah permintaan standar untuk suatu karakteristik, dengan respons yang diharapkan
  • WDM memiliki dua peran protokol:
    • Penayang — Sumber kebenaran untuk karakteristik tertentu, mengirimkan permintaan notify
    • Subscriber — Mengamati skema yang dipublikasikan, mengirimkan permintaan lihat , update , atau perintah
  • WDM memiliki dua model langganan:
    • Satu arah — Permintaan mengalir dari pelanggan ke penayang
    • Saling sama — Perangkat saling berlangganan
  • Langganan dibuat oleh permintaan subscribe
  • Resource dapat mengirim pesan WDM ke fitur meskipun mereka tidak berlangganan fitur tersebut

Untuk informasi yang lebih mendalam, lihat: