完整 Weave 堆疊中的元素有許多種,但大部分的功能會分到稱為「設定檔」的邏輯結構。每個設定檔都對應一組特定的 Weave 功能,包括:
- 通訊協定
- 通訊協定角色 (發布者、訂閱者)
- 訊息類型
- 結構定義與發布資料
- 狀態碼
- 錯誤代碼
目前不會進入這些元素,因為這些元素會因設定檔而異。
對訊息而言,設定檔訊息通常是使用 TLV 編碼的一般訊息。不過,如果聊天室處於付費狀態,或不需要酬載中的彈性,則系統不會使用 TLV。Echo 和 Heartbeat 是設定檔範例,這些設定檔不會在 TLV 中編碼訊息。
Weave 內建各種設定檔:
個人資料 | ||
---|---|---|
常見做法 | Service Directory | 安全性 |
資料管理 | 引起共鳴 | 心跳加速 |
大量資料移轉 | 狀態報告 | 裝置說明 |
裝置控制 | 時間服務 | 時區 |
網路佈建 | Fabric 佈建 | 服務佈建 |
軟體更新 | 語言代碼 | 鬧鐘 |
通道 | 權杖配對 |
一起來看看其中幾種最佳做法。
資料管理
資料管理
設定檔會使用發布訂閱模型,管理所有特徵特徵要求。Nest 生態系統中用於日常作業的幾乎所有功能都會對應至 Weave 結構定義中的資源和特性。我們稍後會進一步說明結構定義和資料管理設定檔,但這個設定檔是 Weave 的主軸。
舉例來說,在行動裝置上變更 Nest Secure 的武裝狀態會使用資料管理。設定檔會將訂閱者 (行動裝置) 的要求傳送至織布中的其他資源 (Nest Secure 和服務),以確認要求、變更結構定義中的武裝狀態,以及傳送回應確認變更的回覆。
回音
Echo
設定檔提供測試網路連線和延遲時間的基本機制。這個模型是在 ICMP 回呼要求之後建立,適用於類似用途。與網路連線偵測 (ping) 類似,但如有指定使用 Weave 訊息和加密,則會採用這個方式。回音酬載是由要求節點提供的任意資料組成,且應在回應中以回響的方式回電。Echo 旨在測試 Weave 織布的連線能力、安全性和有效性。
活動訊號
Heartbeat
設定檔可讓您提供一個節點到網路中其他節點的即時性。編織心跳通常定期傳送。如果未在設定的逾時期限前收到,系統會假設節點失敗。心跳功能可讓您檢查 Weave 節點是否仍與織布服務連結。例如,Nest Detect 和 Nest Guard 之間使用心跳,確保 Nest Secure 系統的即時性。
大量資料移轉
大量資料移轉 (BDX)
設定檔可讓你在節點之間傳輸檔案。在這個情況下,檔案可能會是無線更新時的感應器資料、記錄檔或軟體映像檔。BDX 可透過多種可靠的傳輸通訊協定執行,包括 TCP 和 Weave Reliable Messaging。
佈建中
有多種佈建設定檔,可用於與資源配對、驗證和服務註冊相關的工作。
網路佈建
網路佈建
設定檔會處理工作,例如掃描網路,以及為版面配置中的資源新增及啟用工作。服務佈建
服務佈建
設定檔會處理工作,例如將資源與帳戶配對,或透過服務註冊資源。織品佈建
Fabric 佈建
設定檔處理了建立、加入、離開布料或取得布料設定等工作。Recap
涵蓋內容:
- Weave 的大多數功能是由設定檔管理
- 設定檔是對應一組特定功能的應用程式通訊協定
- 每個設定檔都有一組專屬的訊息類型 ,通常由 Weave TLV 編碼