ตอนนี้เมื่อคุณเข้าใจองค์ประกอบหลักของ Weave แล้ว เรามาดูว่าการจัดการฟังก์ชันการทํางานบางอย่างในระดับสูงมีอะไรบ้าง
ฟังก์ชันเกือบทั้งหมดในระบบนิเวศ Nest สําหรับการทํางานประจําวันจะแมปกับทรัพยากรและลักษณะเฉพาะโดยเป็นส่วนหนึ่งของสคีมา Weave โปรไฟล์การจัดการข้อมูลข้อความสําหรับโปรไฟล์การจัดการข้อมูลโดยเฉพาะ
จะจัดการคําขอทั้งหมดสําหรับลักษณะเฉพาะโดยใช้รูปแบบการเผยแพร่ที่เผยแพร่ คําขอเหล่านี้คือในโมเดลประเภทนี้ ผู้เผยแพร่โฆษณาจะโฆษณาลักษณะเฉพาะ (ข้อมูลที่จะดู) และผู้ติดตามจะตอบสนองต่อการเปลี่ยนแปลงของลักษณะเฉพาะที่เผยแพร่เหล่านั้น (ข้อมูลที่กําลังดู) โดยฟังก์ชันนี้จะเรียกว่าการจัดการฟีเจอร์แบบเรียลไทม์
โปรไฟล์การจัดการข้อมูลเป็นแพลตฟอร์มของ Weave และโดยทั่วไปจะเรียกว่า Weave Data Management (WDM)
คำขอ
คําขอ คําสั่งของคุณลักษณะตรงที่จะกําหนดไม่ได้และระบุไว้ในสคีมาไม่ได้เจาะจงเฉพาะในลักษณะเฉพาะใดๆ
เป็นองค์ประกอบหลักของการจัดการลักษณะเฉพาะแบบเรียลไทม์ของ WDM' คําขอคือคําขอมาตรฐานสําหรับการดําเนินการของคุณลักษณะ พร้อมการตอบสนองที่คาดไว้ ฟีเจอร์เหล่านี้ต่างจากคําขอมาตรฐานมี 3 ประเภท ได้แก่
- แจ้งเตือน คําขอมาตรฐานที่แจ้งให้ผู้ติดตามทราบถึงสถานะของพร็อพเพอร์ตี้ หรือเหตุการณ์ที่เฉพาะเจาะจงที่เกี่ยวข้องกับลักษณะดังกล่าว
- อัปเดต คําขอมาตรฐานเพื่อเปลี่ยนสถานะของพร็อพเพอร์ตี้
- ดู คําขอมาตรฐาน เพื่อดูพร็อพเพอร์ตี้ของลักษณะ
บทบาทโปรโตคอล
บทบาทโปรโตคอล WDM มีอยู่ 2 ประเภท ได้แก่ ผู้เผยแพร่โฆษณาและสมาชิก ระบบจะมอบหมายบทบาทเหล่านี้ในระดับ
ผู้เผยแพร่
บทบาทผู้เผยแพร่โฆษณาของ WDM จะสร้างและแสดงอินสแตนซ์ของสคีมาอย่างน้อย 1 รายการให้แก่สมาชิก 1 รายขึ้นไป และส่งการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงสคีมาไปยังผู้ติดตามที่สนใจ การแจ้งเตือนเหล่านี้คือคําขอแจ้งเตือนมาตรฐาน
ตัวอย่างเช่น สมมติว่าฟีเจอร์ A เผยแพร่โดยทรัพยากร 1 และสมัครใช้บริการโดยทรัพยากร 2 ดังที่ระบุไว้ในรูปที่ 1 หากลักษณะของ A มีการเปลี่ยนแปลง
- WDM จะส่งคําขอ notify จากแหล่งข้อมูล 1 ไปยังสมาชิกทั้งหมดของ Trait A เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลง
- ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait A ให้สอดคล้องกัน
ซึ่งมีลักษณะเดียวกันกับสคีมาอื่นๆ ในสคีมา ตัวอย่างเช่น หากทรัพยากร 2 เผยแพร่แอตทริบิวต์ B ทรัพยากร 1 จะสมัครใช้บริการ Trait B และ Trait B จะมีการเปลี่ยนแปลงดังนี้
- WDM จะส่งคําขอ notify จากแหล่งข้อมูล 2 ไปยังสมาชิกทั้งหมดของ Trait B เพื่อแจ้งให้ทราบการเปลี่ยนแปลง
- ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait B ให้สอดคล้องกัน
ผู้สมัครใช้บริการ
บทบาทผู้ติดตามของ WDM จะใช้อินสแตนซ์ที่มีสคีมาของเวอร์ชันที่เผยแพร่ภายนอกอย่างน้อย 1 รายการ การดําเนินการนี้จะเปลี่ยนอินสแตนซ์ที่มีเวอร์ชันของสคีมาที่เผยแพร่แล้วได้โดยใช้คําขออัปเดต หรือออกคําสั่งเฉพาะแอปพลิเคชัน
ตัวอย่างเช่น สมมติว่าทรัพยากร 2 ต้องการเปลี่ยนแอตทริบิวต์ A ซึ่งเผยแพร่โดยทรัพยากร 1 ดังที่แสดงในรูปที่ 2 หากต้องการเปลี่ยนลักษณะเฉพาะ A ให้ทําดังนี้
- WDM จะส่งคําขออัปเดต จากทรัพยากร 2 ไปยังทรัพยากร 1 เพื่อขอเปลี่ยนแปลงแอตทริบิวต์ A
- มีการเปลี่ยนแปลงแอตทริบิวต์ A ในทรัพยากร 1
- WDM จะส่งคําขอ notify จากแหล่งข้อมูล 1 ไปยังสมาชิกทั้งหมดของ Trait A เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลง
- ผู้ติดตามแต่ละคนจะอัปเดตอินสแตนซ์ของ Trait A ให้สอดคล้องกัน
สมาชิกยังส่งคําขอดู
ไปยังผู้เผยแพร่โฆษณาของลักษณะเฉพาะได้เพื่อดูพร็อพเพอร์ตี้ ของลักษณะดังกล่าวและทําให้อินสแตนซ์ของลักษณะนั้นซิงค์กับผู้เผยแพร่โฆษณาประเภทการสมัครใช้บริการ
การสมัครใช้บริการ WDM มีอยู่ 2 ประเภท การสมัครใช้บริการจะสร้างขึ้นด้วยคําขอสมัครใช้บริการ
รูปที่ 3 แสดงโฟลว์การรับส่งข้อความพื้นฐานเพื่อสร้างการสมัครใช้บริการแบบทางเดียวเที่ยวเดียว
การสมัครใช้บริการแบบทางเดียวเกี่ยวข้องกับคําขอจากผู้ติดตามไปยังผู้เผยแพร่สําหรับอินสแตนซ์ลักษณะเฉพาะอย่างน้อย 1 รายการ เช่น อุปกรณ์เคลื่อนที่ที่ดึงข้อมูลสถานะบ้าน (โครงสร้าง) จากบริการ
ร่วมกัน
การสมัครใช้บริการร่วมกันเกิดขึ้นเมื่อทรัพยากรต่างๆ ช่วยกันสมัครใช้บริการ และแต่ละบริการจะทําหน้าที่เป็นทั้งผู้เผยแพร่และผู้สมัครใช้บริการ ตัวอย่างคือ Nest Guard และ Nest Detect ซึ่งเป็นส่วนหนึ่งของระบบ Nest Secure การสมัครใช้บริการร่วมกันจะช่วยให้ทั้ง 2 ทรัพยากรจัดการสคีมาที่เผยแพร่แล้ว รวมถึงรักษาประสิทธิภาพและความพร้อมในการสมัครใช้บริการได้อย่างมีประสิทธิภาพมากกว่าการสมัครใช้บริการแบบเที่ยวเดียว 2 ครั้ง
ตัวอย่าง
มาดูตัวอย่างง่ายๆ เกี่ยวกับวิธีที่ WDM จัดการกับการเปลี่ยนแปลงภาษาของอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่กัน
ในตัวอย่างนี้มีทรัพยากร 3 อย่างและลักษณะเฉพาะ 2 อย่างดังที่แสดงในรูปที่ 4
- อุปกรณ์ เครื่อง (ผู้สมัครใช้บริการ)
- บริการ (ผู้เผยแพร่โฆษณา)
- แอปบนอุปกรณ์เคลื่อนที่ (ผู้สมัครใช้บริการ)
- ลักษณะของสถานที่ ภาษาของสถานที่
- ลักษณะเฉพาะของการตั้งค่าภาษา พร็อพเพอร์ตี้ Localee ที่ใช้งานอยู่
ทั้ง 2 ลักษณะเฉพาะนั้นเผยแพร่โดยทรัพยากรของบริการและสมัครใช้บริการโดยทรัพยากรของอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่ ผู้สมัครใช้บริการแต่ละรายทําหน้าที่เป็นการสมัครใช้บริการแบบทางเดียวให้แก่ผู้เผยแพร่โฆษณาตามลักษณะของทรัพยากรบริการ
ทรัพยากรทั้งหมดในตัวอย่างนี้เป็นส่วนหนึ่งของผ้า Weave เดียวกัน
อัปเดตขั้นตอน
สมมติว่าคุณใช้แอปบนอุปกรณ์เคลื่อนที่เพื่อเปลี่ยนภาษาของอุปกรณ์จาก en_US
เป็น fr_FR
โดยใช้แอปบนอุปกรณ์เคลื่อนที่ที่เชื่อมต่อ ดังที่แสดงในรูปที่ 5 ขั้นตอนการอัปเดตภายใน WDM มีดังนี้
- ทรัพยากรแอปบนอุปกรณ์เคลื่อนที่ (ผู้สมัครใช้บริการ) ส่งคําขอ update
fr_FR
ซึ่งเป็นค่าที่ถูกต้องของพร็อพเพอร์ตี้ Local Guides ของลักษณะสถานที่
ไปยังทรัพยากร Service (Publisher) เพื่อเปลี่ยนพร็อพเพอร์ตี้ Active Locale ของลักษณะของ Local Guides เป็น - ทรัพยากรของบริการจะเปลี่ยนพร็อพเพอร์ตี้ Active Locale ของลักษณะการตั้งค่าภาษา ในสําเนาของสคีมาได้
- ทรัพยากรบริการจะส่งคําขอแจ้งเตือน เกี่ยวกับการเปลี่ยนแปลงไปยังสมาชิกของช่องการตั้งค่าภาษา
- ทั้งทรัพยากรอุปกรณ์และแอปบนอุปกรณ์เคลื่อนที่ (สมาชิก) ได้รับทรัพยากร notify คําขอบริการ และอัปเดตพร็อพเพอร์ตี้ Active Locale ของลักษณะการตั้งค่าภาษาในสําเนาของสคีมา
ประโยชน์ของ WDM
นี่อาจฟังดูซับซ้อนมากหากสิ่งที่คุณต้องทําเพียงแค่เปลี่ยน ภาษาในอุปกรณ์จากแอปบนอุปกรณ์เคลื่อนที่ แต่การรวมสคีมาที่มีเวอร์ชัน รูปแบบการเผยแพร่ คําขอ และคําขอเข้าด้วยกันเป็นโปรไฟล์ WDM จะทําให้ Weave ช่วยรับประกันความถูกต้องของข้อมูลในทุกทรัพยากร
และยังรับประกันความมีชีวิตชีวา ดังนั้นเมื่อรีสตาร์ทอุปกรณ์แล้ว ระบบจะแจ้งเตือนผู้ติดตามทั้งหมดเกี่ยวกับคุณลักษณะที่เผยแพร่ทันที ซึ่งสังเกตสถานะของลักษณะสมาชิกและแสดงถึงสถานะทั้งหมดเหล่านั้นในสําเนาสคีมาโดยที่ยังขาดฟังก์ชันการทํางาน
นอกเหนือไปจากการสมัครใช้บริการ
หากแหล่งข้อมูลยกเลิกการสมัครรับข้อมูลจากคุณลักษณะ ก็จะเก็บรักษาสําเนาลักษณะของเวอร์ชันล่าสุดที่ทราบ คุณจะไม่ได้รับคําขอ notify
จากผู้เผยแพร่สําหรับลักษณะเฉพาะดังกล่าวอีกต่อไป แต่จะยังสามารถส่งคําขออัปเดต ไปยังผู้เผยแพร่ดังกล่าวแม้แต่แหล่งข้อมูลที่ไม่เคยสมัครใช้บริการของผู้เผยแพร่เนื้อหามาก่อนจะสามารถส่งคําขอไปยังพวกเขาได้ ตัวอย่างเช่น ทรัพยากรอาจไม่จําเป็นต้องทราบถึงสถานะของลักษณะหนึ่งๆ แต่อาจต้องการส่งคําขออัปเดต
เพื่อเปลี่ยนสถานะของลักษณะเฉพาะนั้นเพื่อตอบสนองต่อเหตุการณ์ภายนอกสรุป
สิ่งที่ได้เรียนรู้
- Weave Data Management (WDM) เป็นโปรไฟล์ Weave สําหรับการจัดการลักษณะแบบเรียลไทม์ และช่วยให้มั่นใจว่าข้อมูลความสมบูรณ์และความสมบูรณ์ของข้อมูลจากทุกทรัพยากร
- คําขอ คือคําขอมาตรฐานสําหรับลักษณะนิสัย พร้อมการตอบสนองที่คาดไว้
- WDM ประกอบด้วย 2 บทบาทในโปรโตคอล ดังนี้
- ผู้เผยแพร่เนื้อหา - แหล่งที่มาของความจริงสําหรับลักษณะเฉพาะหนึ่งๆ จะส่งคําขอแจ้งเตือน
- สมาชิก - สังเกตสคีมาที่เผยแพร่ ส่งการดู อัปเดต หรือ คําสั่ง
- WDM นําเสนอการสมัครใช้บริการ 2 รูปแบบ ดังนี้
- เที่ยวเดียว — คําขอจากผู้ติดตามไปยังผู้เผยแพร่โฆษณา
- ร่วมกัน — อุปกรณ์จะติดตามกันและกัน
- การสมัครใช้บริการนั้นมาจากคําขอติดตาม
- ทรัพยากรสามารถส่งข้อความ WDM ไปยังลักษณะเฉพาะได้ แม้ว่าจะไม่ได้สมัครรับข้อมูลก็ตาม
สําหรับข้อมูลเชิงลึก โปรดดูที่