استراتيجية غير متصل مزامنة البيانات / عبر الإنترنت

StackOverflow https://stackoverflow.com/questions/271610

سؤال

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

وحل واحد في رأيي هو الحفاظ على السجلات مزود وتنفيذ عبارات نفسها في الجانب الآخر أثناء المزامنة. هل ترى أي مشاكل مع هذه الاستراتيجية؟

هل كانت مفيدة؟

المحلول

وهناك عدد من مكتبات جافا للبيانات مزامنة / النسخ المتماثل. اللذين أنا على علم هي النرجس البري و <لأ href = "HTTP: // شبكة الاتصالات العالمية. symmetricds.org/ "يختلط =" نوفولو noreferrer "> SymmetricDS . في حياة سابقة I نفذت بحماقة (في جاوة) عملية نسخ البيانات الخاصة بي. يبدو مثل هذا النوع من الاشياء التي يجب أن تكون واضحة إلى حد ما، ولكن إذا يمكن تحديث البيانات في أماكن متعددة في وقت واحد، انها معقدة جهنمي. أوصي بشدة استخدام أحد المشاريع المشار إليها في محاولة لتجاوز التعامل مع هذا التعقيد نفسك.

نصائح أخرى

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

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

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

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

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

ما هو الانسب كما مخزن البيانات من جانب العميل في التطبيق الخاص بك؟ يمكنك الاختيار من بين قاعدة بيانات جزءا لا يتجزأ من مثل سكليتي أو طابور رسالة أو بعض مخزن كائن أو (إذا كان أي من هذه يمكن استخدامها نظرا لأنه هو تطبيق ويب) الملفات / الوثائق المحفوظة على العميل باستخدام DB ويب أو <وأ href = "HTTP : //www.w3.org/TR/IndexedDB/ "يختلط =" نوفولو "> المفهرسة من خلال HTML 5 في <لأ href =" http://diveintohtml5.org/storage.html "يختلط =" نوفولو " > التخزين المحلي API.

والتحقق من ورقة حمى البحث عن الذهب: موبايل عملية الوسيطة مع جافا -Object النسخ المتماثل . تصف وثائق مايكروسوفت لأنظمة مرتبطة أحيانا نهجين: خدمة المنحى أو موجهة رسالة والموجهة للبيانات. حمى البحث عن الذهب يأخذ النهج السابق. يستخدم نهج لاحق قاعدة بيانات دمج النسخ المتماثل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top