การจัดการข้อมูล Weave

ตอนนี้เมื่อคุณเข้าใจองค์ประกอบหลักของ Weave แล้ว เรามาดูว่าการจัดการฟังก์ชันการทํางานบางอย่างในระดับสูงมีอะไรบ้าง

ฟังก์ชันเกือบทั้งหมดในระบบนิเวศ Nest สําหรับการทํางานประจําวันจะแมปกับทรัพยากรและลักษณะเฉพาะโดยเป็นส่วนหนึ่งของสคีมา Weave โปรไฟล์การจัดการข้อมูลจะจัดการคําขอทั้งหมดสําหรับลักษณะเฉพาะโดยใช้รูปแบบการเผยแพร่ที่เผยแพร่ คําขอเหล่านี้คือข้อความสําหรับโปรไฟล์การจัดการข้อมูลโดยเฉพาะ

ในโมเดลประเภทนี้ ผู้เผยแพร่โฆษณาจะโฆษณาลักษณะเฉพาะ (ข้อมูลที่จะดู) และผู้ติดตามจะตอบสนองต่อการเปลี่ยนแปลงของลักษณะเฉพาะที่เผยแพร่เหล่านั้น (ข้อมูลที่กําลังดู) โดยฟังก์ชันนี้จะเรียกว่าการจัดการฟีเจอร์แบบเรียลไทม์

โปรไฟล์การจัดการข้อมูลเป็นแพลตฟอร์มของ Weave และโดยทั่วไปจะเรียกว่า Weave Data Management (WDM)

คำขอ

คําขอ เป็นองค์ประกอบหลักของการจัดการลักษณะเฉพาะแบบเรียลไทม์ของ WDM&#39 คําขอคือคําขอมาตรฐานสําหรับการดําเนินการของคุณลักษณะ พร้อมการตอบสนองที่คาดไว้ ฟีเจอร์เหล่านี้ต่างจากคําสั่งของคุณลักษณะตรงที่จะกําหนดไม่ได้และระบุไว้ในสคีมาไม่ได้เจาะจงเฉพาะในลักษณะเฉพาะใดๆ

คําขอมาตรฐานมี 3 ประเภท ได้แก่

  • แจ้งเตือน คําขอมาตรฐานที่แจ้งให้ผู้ติดตามทราบถึงสถานะของพร็อพเพอร์ตี้ หรือเหตุการณ์ที่เฉพาะเจาะจงที่เกี่ยวข้องกับลักษณะดังกล่าว
  • อัปเดต คําขอมาตรฐานเพื่อเปลี่ยนสถานะของพร็อพเพอร์ตี้
  • ดู คําขอมาตรฐาน เพื่อดูพร็อพเพอร์ตี้ของลักษณะ

บทบาทโปรโตคอล

บทบาทโปรโตคอล WDM มีอยู่ 2 ประเภท ได้แก่ ผู้เผยแพร่โฆษณาและสมาชิก ระบบจะมอบหมายบทบาทเหล่านี้ในระดับ

ผู้เผยแพร่

บทบาทผู้เผยแพร่โฆษณาของ WDM จะสร้างและแสดงอินสแตนซ์ของสคีมาอย่างน้อย 1 รายการให้แก่สมาชิก 1 รายขึ้นไป และส่งการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงสคีมาไปยังผู้ติดตามที่สนใจ การแจ้งเตือนเหล่านี้คือคําขอแจ้งเตือนมาตรฐาน

ตัวอย่างเช่น สมมติว่าฟีเจอร์ A เผยแพร่โดยทรัพยากร 1 และสมัครใช้บริการโดยทรัพยากร 2 ดังที่ระบุไว้ในรูปที่ 1 หากลักษณะของ A มีการเปลี่ยนแปลง

  1. WDM จะส่งคําขอ notify จากแหล่งข้อมูล 1 ไปยังสมาชิกทั้งหมดของ Trait A เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลง
  2. ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait A ให้สอดคล้องกัน
คําขอการแจ้งเตือนของผู้เผยแพร่ WDM
รูปที่ 1 - คําขอของผู้เผยแพร่โฆษณา WDM

ซึ่งมีลักษณะเดียวกันกับสคีมาอื่นๆ ในสคีมา ตัวอย่างเช่น หากทรัพยากร 2 เผยแพร่แอตทริบิวต์ B ทรัพยากร 1 จะสมัครใช้บริการ Trait B และ Trait B จะมีการเปลี่ยนแปลงดังนี้

  1. WDM จะส่งคําขอ notify จากแหล่งข้อมูล 2 ไปยังสมาชิกทั้งหมดของ Trait B เพื่อแจ้งให้ทราบการเปลี่ยนแปลง
  2. ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait B ให้สอดคล้องกัน

ผู้สมัครใช้บริการ

บทบาทผู้ติดตามของ WDM จะใช้อินสแตนซ์ที่มีสคีมาของเวอร์ชันที่เผยแพร่ภายนอกอย่างน้อย 1 รายการ การดําเนินการนี้จะเปลี่ยนอินสแตนซ์ที่มีเวอร์ชันของสคีมาที่เผยแพร่แล้วได้โดยใช้คําขออัปเดต หรือออกคําสั่งเฉพาะแอปพลิเคชัน

ตัวอย่างเช่น สมมติว่าทรัพยากร 2 ต้องการเปลี่ยนแอตทริบิวต์ A ซึ่งเผยแพร่โดยทรัพยากร 1 ดังที่แสดงในรูปที่ 2 หากต้องการเปลี่ยนลักษณะเฉพาะ A ให้ทําดังนี้

  1. WDM จะส่งคําขออัปเดตจากทรัพยากร 2 ไปยังทรัพยากร 1 เพื่อขอเปลี่ยนแปลงแอตทริบิวต์ A
  2. มีการเปลี่ยนแปลงแอตทริบิวต์ A ในทรัพยากร 1
  3. WDM จะส่งคําขอ notify จากแหล่งข้อมูล 1 ไปยังสมาชิกทั้งหมดของ Trait A เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลง
  4. ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait A ให้สอดคล้องกัน
การดูและอัปเดตสําหรับสมาชิก WDM
รูปที่ 2 - คําขอผู้ติดตาม WDM

สมาชิกยังส่งคําขอดู ไปยังผู้เผยแพร่โฆษณาของลักษณะเฉพาะได้เพื่อดูพร็อพเพอร์ตี้ ของลักษณะดังกล่าวและทําให้อินสแตนซ์ของลักษณะนั้นซิงค์กับผู้เผยแพร่โฆษณา

ประเภทการสมัครใช้บริการ

การสมัครใช้บริการ WDM มีอยู่ 2 ประเภท การสมัครใช้บริการจะสร้างขึ้นด้วยคําขอสมัครใช้บริการ รูปที่ 3 แสดงโฟลว์การรับส่งข้อความพื้นฐานเพื่อสร้างการสมัครใช้บริการแบบทางเดียว

การสมัครใช้บริการทางเดียวของ WDM
รูปที่ 3 - การสมัครใช้บริการทางเดียวของ WDM

เที่ยวเดียว

การสมัครใช้บริการแบบทางเดียวเกี่ยวข้องกับคําขอจากผู้ติดตามไปยังผู้เผยแพร่สําหรับอินสแตนซ์ลักษณะเฉพาะอย่างน้อย 1 รายการ เช่น อุปกรณ์เคลื่อนที่ที่ดึงข้อมูลสถานะบ้าน (โครงสร้าง) จากบริการ

ร่วมกัน

การสมัครใช้บริการร่วมกันเกิดขึ้นเมื่อทรัพยากรต่างๆ ช่วยกันสมัครใช้บริการ และแต่ละบริการจะทําหน้าที่เป็นทั้งผู้เผยแพร่และผู้สมัครใช้บริการ ตัวอย่างคือ Nest Guard และ Nest Detect ซึ่งเป็นส่วนหนึ่งของระบบ Nest Secure การสมัครใช้บริการร่วมกันจะช่วยให้ทั้ง 2 ทรัพยากรจัดการสคีมาที่เผยแพร่แล้ว รวมถึงรักษาประสิทธิภาพและความพร้อมในการสมัครใช้บริการได้อย่างมีประสิทธิภาพมากกว่าการสมัครใช้บริการแบบเที่ยวเดียว 2 ครั้ง

ตัวอย่าง

มาดูตัวอย่างง่ายๆ เกี่ยวกับวิธีที่ WDM จัดการกับการเปลี่ยนแปลงภาษาของอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่กัน

ในตัวอย่างนี้มีทรัพยากร 3 อย่างและลักษณะเฉพาะ 2 อย่างดังที่แสดงในรูปที่ 4

  • อุปกรณ์ เครื่อง (ผู้สมัครใช้บริการ)
  • บริการ (ผู้เผยแพร่โฆษณา)
  • แอปบนอุปกรณ์เคลื่อนที่ (ผู้สมัครใช้บริการ)
  • ลักษณะของสถานที่ ภาษาของสถานที่
  • ลักษณะเฉพาะของการตั้งค่าภาษา พร็อพเพอร์ตี้ Localee ที่ใช้งานอยู่

ทั้ง 2 ลักษณะเฉพาะนั้นเผยแพร่โดยทรัพยากรของบริการและสมัครใช้บริการโดยทรัพยากรของอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่ ผู้สมัครใช้บริการแต่ละรายทําหน้าที่เป็นการสมัครใช้บริการแบบทางเดียวให้แก่ผู้เผยแพร่โฆษณาตามลักษณะของทรัพยากรบริการ

ทรัพยากรทั้งหมดในตัวอย่างนี้เป็นส่วนหนึ่งของผ้า Weave เดียวกัน

ตัวอย่าง WDM
รูปที่ 4 - ตัวอย่าง WDM

อัปเดตขั้นตอน

สมมติว่าคุณใช้แอปบนอุปกรณ์เคลื่อนที่เพื่อเปลี่ยนภาษาของอุปกรณ์จาก en_US เป็น fr_FR โดยใช้แอปบนอุปกรณ์เคลื่อนที่ที่เชื่อมต่อ ดังที่แสดงในรูปที่ 5 ขั้นตอนการอัปเดตภายใน WDM มีดังนี้

  1. ทรัพยากรแอปบนอุปกรณ์เคลื่อนที่ (ผู้สมัครใช้บริการ) ส่งคําขอ update ไปยังทรัพยากร Service (Publisher) เพื่อเปลี่ยนพร็อพเพอร์ตี้ Active Locale ของลักษณะของ Local Guides เป็น fr_FR ซึ่งเป็นค่าที่ถูกต้องของพร็อพเพอร์ตี้ Local Guides ของลักษณะสถานที่
  2. ทรัพยากรของบริการจะเปลี่ยนพร็อพเพอร์ตี้ Active Locale ของลักษณะการตั้งค่าภาษา ในสําเนาของสคีมาได้
  3. ทรัพยากรบริการจะส่งคําขอแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงไปยังสมาชิกของช่องการตั้งค่าภาษา
  4. ทั้งทรัพยากรอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่ (สมาชิก) ได้รับทรัพยากร notify คําขอบริการ และอัปเดตพร็อพเพอร์ตี้ Active Locale ของลักษณะการตั้งค่าภาษาในสําเนาของสคีมา
ลําดับขั้นตอนการอัปเดต WDM
รูปที่ 5 - กระบวนการอัปเดต WDM

ประโยชน์ของ WDM

นี่อาจฟังดูซับซ้อนมากหากสิ่งที่คุณต้องทําเพียงแค่เปลี่ยน ภาษาในอุปกรณ์จากแอปบนอุปกรณ์เคลื่อนที่ แต่การรวมสคีมาที่มีเวอร์ชัน รูปแบบการเผยแพร่ คําขอ และคําขอเข้าด้วยกันเป็นโปรไฟล์ WDM จะทําให้ Weave ช่วยรับประกันความถูกต้องของข้อมูลในทุกทรัพยากร

และยังรับประกันความมีชีวิตชีวา ดังนั้นเมื่อรีสตาร์ทอุปกรณ์แล้ว ระบบจะแจ้งเตือนผู้ติดตามทั้งหมดเกี่ยวกับคุณลักษณะที่เผยแพร่ทันที ซึ่งสังเกตสถานะของลักษณะสมาชิกและแสดงถึงสถานะทั้งหมดเหล่านั้นในสําเนาสคีมาโดยที่ยังขาดฟังก์ชันการทํางาน

นอกเหนือไปจากการสมัครใช้บริการ

หากแหล่งข้อมูลยกเลิกการสมัครรับข้อมูลจากคุณลักษณะ ก็จะเก็บรักษาสําเนาลักษณะของเวอร์ชันล่าสุดที่ทราบ คุณจะไม่ได้รับคําขอ notify จากผู้เผยแพร่สําหรับลักษณะเฉพาะดังกล่าวอีกต่อไป แต่จะยังสามารถส่งคําขออัปเดตไปยังผู้เผยแพร่ดังกล่าว

แม้แต่แหล่งข้อมูลที่ไม่เคยสมัครใช้บริการของผู้เผยแพร่เนื้อหามาก่อนจะสามารถส่งคําขอไปยังพวกเขาได้ ตัวอย่างเช่น ทรัพยากรอาจไม่จําเป็นต้องทราบถึงสถานะของลักษณะหนึ่งๆ แต่อาจต้องการส่งคําขออัปเดต เพื่อเปลี่ยนสถานะของลักษณะเฉพาะนั้นเพื่อตอบสนองต่อเหตุการณ์ภายนอก

สรุป

สิ่งที่ได้เรียนรู้

  • Weave Data Management (WDM) เป็นโปรไฟล์ Weave สําหรับการจัดการลักษณะแบบเรียลไทม์ และช่วยให้มั่นใจว่าข้อมูลความสมบูรณ์และความสมบูรณ์ของข้อมูลจากทุกทรัพยากร
  • คําขอ คือคําขอมาตรฐานสําหรับลักษณะนิสัย พร้อมการตอบสนองที่คาดไว้
  • WDM ประกอบด้วย 2 บทบาทในโปรโตคอล ดังนี้
    • ผู้เผยแพร่เนื้อหา - แหล่งที่มาของความจริงสําหรับลักษณะเฉพาะหนึ่งๆ จะส่งคําขอแจ้งเตือน
    • สมาชิก - สังเกตสคีมาที่เผยแพร่ ส่งการดู อัปเดต หรือ คําสั่ง
  • WDM นําเสนอการสมัครใช้บริการ 2 รูปแบบ ดังนี้
    • เที่ยวเดียว — คําขอจากผู้ติดตามไปยังผู้เผยแพร่โฆษณา
    • ร่วมกัน — อุปกรณ์จะติดตามกันและกัน
  • การสมัครใช้บริการนั้นมาจากคําขอติดตาม
  • ทรัพยากรสามารถส่งข้อความ WDM ไปยังลักษณะเฉพาะได้ แม้ว่าจะไม่ได้สมัครรับข้อมูลก็ตาม

สําหรับข้อมูลเชิงลึก โปรดดูที่