المزامنة السحابية لبيانات المستخدم ليست مجرد رفع وتنزيل. عليها حماية المحتوى الخاص أثناء النقل، وإبقاء تكلفة التخزين منخفضة، وترتيب عمليات الكتابة من أجهزة متعددة بالتتابع، وفهم أشكال البيانات المختلفة، وطلب التأكيد قبل عمليات الحذف الخطرة، والحفاظ على سبيل للرجوع عندما يتبين خطأ القرار.
يتعامل Orkas مع المزامنة السحابية بوصفها حدًا من حدود المنتج، لا أداة تعمل في الخلفية. فالمحادثات والوكلاء والمهارات وحالة المهام وملفات المعرفة والإعدادات كلها تحتاج إلى الانتقال بين الأجهزة مع الحفاظ على سلسلة مسؤولية واضحة: يُعدّ الجهاز المحتوى، ويحتفظ تخزين الكائنات بالبايتات، ويتولى الخادم الفهرس المرجعي المعتمد.
الإطار التالي هو ما نستخدمه للتفكير في النظام: تدفق محتوى مشفّر، وتخزين معنون بالمحتوى، وقفل مزامنة على مستوى الحساب، وتثبيت يتولاه الخادم، وقواعد مزامنة حتمية، ومعالجة تعارضات بمساعدة النموذج، وتأكيد الحذف، وسلة المحذوفات، وعلامات الاستعادة.
عقد المزامنة
تجيب كل دورة مزامنة عن أربعة أسئلة تتعلق بالمنتج: ما المحتوى المؤهل للنقل، وكيف يُحمى، ومن يحق له نشر فهرس سحابي جديد، وكيف يمكن للمستخدم الاستعادة إذا اتخذت المزامنة قرارًا خاطئًا؟
مسار المحتوى المشفّر
تُعدّ بيانات المستخدم على الجهاز قبل وصولها إلى التخزين. يوحّد محرك المزامنة صيغة مجموعة العناصر المرشحة، ويحسب هوية المحتوى، ويشفّر الحمولات، ويرفعها باستخدام بيانات اعتماد قصيرة الأجل، ويتحقق من البايتات المنزّلة قبل كتابتها على الجهاز.
التخزين والفهرس
يفصل Orkas البايتات المخزّنة عن الفهرس السحابي. تحتفظ كائنات المحتوى بالبيانات المشفّرة. ويسجل الفهرس عناصر البيانات المنطقية التي ينبغي وجودها، وهوية محتواها، وعدّادات إصداراتها، وحجمها المخزّن، ورقم المراجعة السحابية، وحالة علامة الحذف. ويحتفظ الجهاز أيضًا بحالة مرجعية من آخر دورة ناجحة ليتمكن من تمييز الحالة القديمة عن التعديلات الجديدة.
دورة مزامنة واحدة
تبدأ الدورة بتكلفة بسيطة ولا تصبح صارمة إلا عند وجود عمل فعلي. يتحقق Orkas أولًا مما إذا طرأ أي تغيير، ثم يحصل على قفل مزامنة الحساب، ويعيد حساب التغييرات أثناء الاحتفاظ بالقفل، وينقل المحتوى، ويطلب من الخادم تثبيت عمليات الفهرس، ثم يحدّث الحالة المرجعية للجهاز.
قفل المزامنة والتثبيت
يحل قفل المزامنة وفحص التثبيت مشكلتين مختلفتين. يقلل قفل المزامنة العمل المتزامن المهدور بين الأجهزة. ويرتب القفل على جانب الخادم عمليات كتابة الفهرس بالتتابع. ويمنع فحص رقم المراجعة السحابية المتوقع قراءةً قديمة من أن تصبح الحالة المعتمدة التالية. وتُجرى فحوص الحصة والمخطط في مسار التثبيت نفسه الذي يتولاه الخادم.
القواعد قبل التعارضات
معظم قرارات المزامنة ليست تعارضات. يقارن الجهاز بين الحالة المرجعية وبياناته الحالية والفهرس السحابي. إذا تغيرت السحابة وحدها، فاسحب. وإذا تغير الجهاز وحده، فارفع. وإذا تغير الاثنان، فاختر المسار بحسب نوع المحتوى. وإذا اختفى شيء، فادخل مسار أمان الحذف بدلًا من إزالة البيانات فورًا.
معالجة التعارضات
عندما يتغير الطرفان فعلًا، لا يختزل Orkas كل شيء في قاعدة «آخر من يكتب يفوز». يمكن دمج سجلات الإلحاق بإضافة السجلات الناقصة. ويمكن دمج القوائم باستخدام هوية ثابتة للسجلات. ويمكن لبيانات JSON المنظّمة استخدام عدّادات الإصدارات والطوابع الزمنية. أما ملفات Markdown والملفات الثنائية، فيُتعامَل معها بتحفظ: إذا عجز النظام عن إثبات أن الدمج بلا فقد، يحتفظ بنسخة كاملة من الإصدار غير المعتمد.
في تعارضات النصوص أو المحتوى المنظّم الملتبسة، يستطيع المنتج جمع الإصدارات ذات الصلة لمعالجتها بمساعدة النموذج. ويمكن للنموذج شرح التعارض، أو صياغة مسودة مدمجة، أو مساعدة المستخدم على الاختيار. لكنه ليس وسيلة الحماية الوحيدة: يظل التحقق الحتمي، وأرشفة الأصول، وإتاحة الاستعادة للمستخدم جزءًا من المسار.
تأكيد الحذف
تُعامَل عمليات الحذف بوصفها انتقالات بين الحالات. يتحول الحذف البعيد إلى علامة حذف. ويصبح الحذف على الجهاز عملية مرشحة. يفحص Orkas عمليات الكتابة الحديثة، ويراقب موجات الحذف الكبيرة، ويوقف الدورة مؤقتًا لطلب التأكيد عندما يبدو حجم بيانات المستخدم المختفية محفوفًا بالمخاطر.
سلة المحذوفات والاستعادة
قبل أن تزيل عملية حذف صحيحة نسخةً من الجهاز، ينقلها Orkas إلى سلة محذوفات المزامنة. وتُؤرشف الإصدارات غير المعتمدة في التعارضات للمراجعة. وتبقى عمليات الرفع المعلّقة بعد فشل التثبيت، لتتمكن الدورة التالية من إعادة استخدام البايتات. وإذا مسح المستخدم بيانات السحابة عمدًا، ترى الأجهزة الأخرى علامة تنظيف وتتوقف عن إعادة رفع المحتوى القديم.
ما الذي يتيحه لنا ذلك
النتيجة نظام مزامنة بحدود واضحة. تُعدّ الأجهزة المحتوى وتتحقق منه. ويحتفظ تخزين الكائنات بالبايتات المشفّرة. وينشر الخادم الفهرس. ويحافظ قفل مزامنة الحساب وقفل الخادم على انتظام الدورات. وتتولى القواعد الحالات الشائعة. وتساعد النماذج في التعارضات الملتبسة. ويحمي تأكيد الحذف وسلة المحذوفات المستخدمين من أكثر الأخطاء كلفة.
هذا هو المعيار الذي يحتاجه Orkas للمزامنة السحابية: لا سحرًا ولا مرآة عمياء، بل آلية متأنية تتيح انتقال بيانات المستخدم بين الأجهزة مع الحفاظ على اتساقها في نظره.