توثيق ERPOSالمرجع التنفيذي للمطورين
الرئيسية›فهرس الخوارزميات›المزامنة دون اتصال

المزامنة دون اتصالOffline synchronization

خوارزميةمتطلب وارد في الملفات اقتراح هندسي

طابور عمليات على الجهاز بمعرّف طلب فريد، يُرسل بالترتيب؛ الخادم يتجاهل المكرر ويقبل التعديل فقط إذا طابق رقم نسخة السجل.

الميزات التي تستخدمها: B34 العمل دون اتصال، B33 تطبيق المحامي على الجوال، B10 تقارير الجلسات ومخرجاتها، B19 تسجيل الوقت الفعلي والمتتبع المعلن

1الغرض والمصطلحات القانونية المرتبطة

لا فقدان ولا تكرار ولا كتابة فوق الأحدث.

2المدخلات وأنواعها ومصادرها

عناصر الطابور: client_request_id، العملية، row_version المعروف، البيانات.

3المخرجات والحالات

لكل عنصر: مقبول / مكرر / تعارض / مرفوض.

4خطوات المعالجة بالتسلسل

  1. الخادم يبحث عن Sync Receipt بالمعرّف ← إن وُجد يعيد النتيجة السابقة.
  2. إنشاء: ينفذ.
  3. تعديل: يقارن row_version؛ مختلف ← تعارض بالقيمتين.
  4. يحفظ الإيصال في المعاملة نفسها.

5الشروط والفروع والاستثناءات

صلاحية سُحبت أثناء الانقطاع ← مرفوض.

6Pseudocode كامل

Pseudocode
function sync(items, user):
    for it in items:
        if r := SyncReceipt.get(it.client_request_id): yield r.result; continue
        with transaction():
            if it.op.is_update:
                doc = get_for_update(it.ref)
                if doc.row_version != it.row_version: res = CONFLICT(server=doc, client=it.data)
                else: apply(doc, it.data); doc.row_version += 1; res = ACCEPTED
            else: res = create(it, user)
            SyncReceipt.insert(it.client_request_id, user, res)
        yield res

7مثال اصطناعي خطوة بخطوة

الجهاز يرسل ساعة بالمعرّف X مرتين بسبب انقطاع ← سجل واحد.

8حالات الفشل والتعامل معها

انقطاع منتصف الإرسال ← الإيصال يجعل الإعادة آمنة.

9منع التكرار والتزامن

قفل السجل في التعديل؛ الإيصال فريد.

10الصلاحيات والتدقيق والأمن

صلاحيات المستخدم في كل عنصر.

11اختبارات الوحدات والتكامل والقبول

المعرّفالنوعالسيناريوالنتيجة المتوقعة
ALG-OS-01تكاملإرسال مكررمرة واحدة
ALG-OS-02تكاملتعديل متعارضتعارض

12ما هو قاعدة تقنية وما هو قرار قانوني

قاعدة تقنية (ينفذها المطور)قرار قانوني (يعتمده مختص)
البروتوكوللا يوجد