إدارة بيانات Weave

الآن وبعد أن فهمت مكوّنات Weave الرئيسية، لنلقِ نظرة على كيفية التعامل مع بعض وظائفها على مستوى عالٍ.

يتم ربط جميع الوظائف تقريبًا في منظومة Nest المتكاملة للعمليات اليومية بالمراجع والسمات كجزء من مخطط Weave. يتيح الملف الشخصي على إدارة البيانات إدارة جميع طلبات السمات باستخدام نموذج الاشتراك في النشر. وهذه الطلبات هي رسائل خاصة بالملف الشخصي لإدارة البيانات.

في هذا النوع من النماذج، يعلن الناشر عن سمات (البيانات المطلوب مشاهدتها) ويتفاعل المشترك مع التغييرات في هذه السمات المنشورة (البيانات التي تتم مشاهدتها). وتُسمّى هذه الدالة إدارة السمات في الوقت الفعلي.

الملف الشخصي في "إدارة البيانات" هو أداة عمل Weave، ويُشار إليه عمومًا باسم "إدارة بيانات Weave (WDM)".

الكائن Requests

الطلبات هي عنصر أساسي في إدارة السمات في WDM' في الوقت الفعلي. الطلبات هي طلبات عادية لاتخاذ إجراءات بخصوص سمة، مع الاستجابة المتوقّعة. تختلف هذه عن الأوامر الخاصة بالسمة [trait's] في ما يخصّها ولا يمكن تحديدها في المخطط وليست مُحدَّدة لأي سمة.

هناك ثلاثة أنواع من الطلبات العادية:

  • إشعار طلب عادي يُعلِم مشتركًا بحالة عقار سمة أو حدث معيّن مرتبط بهذه السمة.
  • تحديث طلب عادي لتغيير حالة أحد سمات الخصائص.
  • عرض طلب عادي لعرض خصائص إحدى السمات.

أدوار البروتوكول

هناك نوعان من أدوار بروتوكول WDM: الناشر والمشتركين. يتم تخصيص هذه الأدوار على مستوى السمة.

ناشر

يُنشئ دور الناشر WDM نسخًا محدّدة من مخطط واحد أو أكثر وعرضها لمشترك واحد أو أكثر، ويرسل إشعارات بشأن أي تغيير على المخطط إلى المشتركين المهتمين. وهذه الإشعارات هي الطلبات العادية التي تبلغ إشعار.

على سبيل المثال، لنفترض أن السمة A تم نشرها بواسطة المورد 1 واشتركت فيها بواسطة المورد 2. كما هو موضّح في الشكل 1، إذا تغيرت السمة (أ):

  1. ترسل شركة WDM إشعارًا بطلب من المورد 1 إلى جميع المشتركين في السمة A، لإبلاغهم بالتغيير.
  2. ويعدّل كل مشترك النسخة الافتراضية من السمة "أ" وفقًا لذلك.
طلب إشعار ناشر WDM
الشكل 1 - طلبات الناشرين في WDM

ويحدث الشيء نفسه مع السمات الأخرى في المخطط. على سبيل المثال، إذا نشر المورد 2 السمة "ب"، ستشترك المورد "1" في السمة "ب" والتغييرات "السمة ب":

  1. ترسل شركة WDM إشعارًا بطلب من المورد 2 إلى جميع المشتركين في السمة B، لإبلاغهم بالتغيير.
  2. ويعدّل كل مشترك النسخة الافتراضية من السمة "ب" وفقًا لذلك.

المشترك

يعرض دور المشارِك في WDM ويستهلك أمثلة نسخة لمخطط واحد أو أكثر من المخططات المنشورة خارجيًا. ويمكن لها تغيير النسخة المحدّدة من المخطط المنشور من خلال طلب تحديث أو إصدار أمر خاص بالتطبيق.

على سبيل المثال، لنفترض أن المورد 2 يريد تغيير السمة أ، التي نشرها المورد 1. كما هو موضّح في الشكل 2، لتغيير السمة "أ":

  1. ترسل شركة WDM طلب تحديث من المورد 2 إلى المورد 1، لطلب تغيير إلى السمة "أ".
  2. تم تغيير السمة A على المورد 1.
  3. ترسل شركة WDM إشعارًا بطلب من المورد 1 إلى جميع المشتركين في السمة A، لإبلاغهم بالتغيير.
  4. ويعدّل كل مشترك النسخة الافتراضية من السمة "أ" وفقًا لذلك.
عرض المشتركين والتعديل في WDM
الشكل 2 - طلبات المشتركين في WDM

يمكن للمشتركين أيضًا إرسال طلب عرض إلى ناشر trait' لعرض الخصائص لتلك السمة والحفاظ على مزامنة السمات الخاصة بهم مع الناشر.

أنواع الاشتراكات

هناك نوعان من اشتراكات WDM. يتم إنشاء الاشتراكات من خلال طلب اشتراك . يوضح الشكل 3 مسار الرسالة الأساسية لإنشاء اشتراك باتجاه واحد.

اشتراك في اتجاه واحد في WDM
الشكل 3 - الاشتراك في اتجاه واحد في WDM

اتجاه واحد

تشمل الاشتراكات الأحادية الشكل طلبًا من أحد المشتركين إلى ناشر لنشر نمط واحد أو أكثر من سماته. على سبيل المثال، استرداد جهاز جوّال لحالة المنزل (البنية) من إحدى الخدمات.

مشترك

تحدث الاشتراكات المتبادلة عندما تشترك الموارد في بعضها البعض، وتعمل كل منها كناشر ومشترك على حد سواء. مثال على ذلك Nest Guard وNest Protect، وهما جزءان من نظام Nest Secure. يتيح الاشتراك المشترك إدارة كل من الموارد لإدارة المخطط المنشور والحفاظ على سلامة اشتراكه وعمره بطريقة أكثر فعالية من اشتراكين باتجاه واحد.

مثال

لنلقِ نظرة على مثال بسيط على كيفية معالجة WDM لأحد التغييرات في لغة الجهاز باستخدام تطبيق متوافق مع الأجهزة الجوّالة.

يتضمن هذا المثال ثلاثة موارد وسمتين، كما هو موضّح في الشكل 4:

  • جهاز واحد () (مشترك)
  • خدمة (الناشر)
  • تطبيق جوّال واحد () (مشترك)
  • سمة لغات اللغات موقع اللغات المتاحة
  • سمة سمة اللغة المحلية موقع اللغة المحلية

يتم نشر كلتا السمتين بواسطة مورد الخدمة ويتم الاشتراك فيها من خلال موارد الأجهزة والتطبيقات المتوافقة مع الأجهزة الجوّالة. يعمل كل مشترك كاشتراك باتجاه واحد إلى ناشري السمات على مورد الخدمة.

جميع الموارد في هذا المثال جزء من قماش Weave نفسه. .

مثال على WDM
الشكل 4 - مثال على WDM

تحديث العملية

لنفترض أن المستخدم يستخدم التطبيق المتوافق مع الأجهزة الجوّالة لتغيير اللغة للجهاز من en_US إلى fr_FR، باستخدام تطبيق متوافق مع الأجهزة الجوّالة كما هو موضّح في الشكل 5، ويكون مسار التحديث داخل WDM هو:

  1. يرسل مورد التطبيق المتوافق مع الأجهزة الجوّالة (المشارِك) تحديث طلبًا إلى مورد الخدمة (الناشر) لتغيير خاصية اللغة المحلية الخاصة بخاصية إعدادات اللغة إلى سمة fr_FR، وهي إحدى القيم الصالحة لخاصية اللغات المحلية المتوفرة في إعدادات اللغة المحلية.
  2. يعمل مورد الخدمة على تغيير سمة اللغة النشطة لسمة إعدادات اللغة في إصدار المخطط.
  3. يرسل مورّد الخدمة طلب إشعار بشأن التغيير إلى أي مشترك في سمة إعدادات اللغة.
  4. يتلقّى كل من موارد الجهاز والتطبيقات المتوافقة مع الأجهزة الجوّالة (المشتركون) طلب إرسال إشعار إلى مقدّم الخدمة وتعديل موقع اللغة النشطة لسمة إعدادات اللغة في نسخات المخطط.
تسلسل تدفق التحديث في WDM
الشكل 5 - عملية تعديل WDM

مزايا WDM

قد يبدو هذا الأمر معقدًا جدًا عندما يكون كل ما تحتاج إليه هو تغيير اللغة على جهازك من تطبيق متوافق مع الأجهزة الجوّالة. ولكن من خلال التفاف المخطط المنسوخ ونمط نشر الاشتراك والطلبات في الملف الشخصي لـ WDM، يضمن تطبيق Weave سلامة البيانات عبر جميع الموارد.

وتضمن أيضًا مدى حيوية الجهاز، لذلك عندما تتم إعادة تشغيل الجهاز، يتم على الفور إرسال إشعار إلى جميع المشتركين في حالة السمات المنشورة، ويلاحظ حالة السمات المشتركة، ويعكس كل هذه الحالات في نسختها من المخطط بدون فقدان وظائفها.

ما بعد الاشتراكات

إذا ألغى مورد الاشتراك من سمة، يحتفظ بنسخة من آخر نسخة معروفة من السمة. لم يعد يتلقّى طلبات إرسال الإشعارات من الناشر لتلك السمة، ولكن لا يزال بإمكانه إرسال طلبات التحديث إلى ذلك الناشر.

ويمكن أيضًا للموارد التي لم تكن مشترِكة مطلقًا في ناشر السمات إرسال طلبات إليها. على سبيل المثال، قد لا يحتاج المورد إلى معرفة حالة إحدى السمات، ولكن قد يحتاج إلى إرسال طلبات التحديث لتغيير حالة هذه السمة استجابةً لحدث خارجي.

ملخّص

ما تعلمته:

  • Weave Data Management (WDM) هو ملف Weave الشخصي لإدارة السمات في الوقت الفعلي ويضمن سلامة وسلامة البيانات في جميع الموارد
  • الطلبات هي طلبات قياسية لتنفيذ سمة، مع الاستجابة المتوقّعة.
  • تتضمن WDM دورَي بروتوكول:
    • الناشر — مصدر الحقيقة لصفة محددة، يُرسل طلبات إشعار
    • المشترك - يلاحظ المخطط المنشور أو يرسل الطلبات view أو update أو command
  • تتميّز WDM بنموذجَي اشتراك:
    • اتجاه واحد - تدفق الطلبات من مشترك إلى ناشر
    • مشترك - اشتراك الأجهزة في بعضها البعض
  • يتم إنشاء الاشتراكات من خلال طلبات الاشتراك.
  • يمكن للموارد إرسال رسائل WDM إلى السمات حتى إذا لم تكن مشتركَة فيها

لمزيد من المعلومات التفصيلية، راجع: