2012-08-23 7 views
10

मैं ऑफ़लाइन समस्या को हल करने के लिए इंडेक्सड डीबी का उपयोग करके मूल्यांकन करने का प्रयास कर रहा हूं। वर्तमान में एक मोंगोडीबी डेटाबेस (जैसा है) में संग्रहीत डेटा के साथ पॉप्युलेट किया जाएगा।मोंगोडीबी सर्वर डेटा को इंडेक्सड डीबी स्थानीय स्टोर में सिंक्रनाइज़ करना

एक बार डेटा इंडेक्स डीडी में संग्रहीत किया जाता है, तो इसे मोंगोडीबी सर्वर पर बदला जा सकता है और मुझे उन परिवर्तनों को प्रसारित करने की आवश्यकता है। क्या मोंगो के लिए इस की तरह कुछ करने के लिए कोई मौजूदा ढांचा या लाइब्रेरी है। मुझे पहले से ही कॉच डीबी/पाउचडीबी के बारे में पता है और मैं उन दोनों की खोज नहीं कर रहा हूं।

+0

यदि उल्का से कोड के किसी भी प्रासंगिक है देखना चाहिए। – ranman

+0

बहुत रोचक, धन्यवाद। संभवतः मेरी असली समस्या का समाधान: ऑफ़लाइन ऐप लिखना। आपको यह जवाब देना चाहिए ताकि अगर मैं अपनी समस्या का समाधान करता हूं तो मैं आपको अंक दे सकता हूं –

+0

पूर्ण ऑफ़लाइन परिदृश्य को चालू नहीं करता है (ऑफलाइन लॉगिन + परिवर्तन + ऑनलाइन वापस आने पर सर्वर में सिंक): https: // समूह। google.com/d/topic/meteor-core/ZVj6RFbKDq0/discussion –

उत्तर

0

मैंने इंडेक्सडीबी के साथ काम नहीं किया है, लेकिन डिजाइन समस्या असामान्य नहीं है। आपके ऐप की मेरी समझ यह है कि जब ग्राहक मोंगोडीबी से कनेक्शन बनाता है, तो आप स्थानीय स्टोरेज और डिस्कनेक्ट के लिए दस्तावेज़ों का एक सेट नीचे खींचते हैं। क्लाइंट फिर स्थानीय रूप से चीजें कर सकता है (डेटा सर्वर से कनेक्ट नहीं), और उसके बाद परिवर्तनों को दबाएं।

तरह से मैं इसे देख आप दो सामान्य मामलों को संभालने के लिए मिल गया है:

  1. जब MongoDB सर्वर अद्यतन किया जाता है और ग्राहक के साथ टूट जाता है निरंतरता, ग्राहक के लिए करने के लिए
    1. चुनाव होगा डेटा (टाइमर?) या
    2. एक WebSocket खुला जाने के लिए पाइप
  2. से अधिक सूचनाएं मुक्त-प्रवाह रखने के जब उपयोगकर्ता बदल धक्का करने की जरूरत है डेटा वापस पाइप ऊपर
    1. आप एसिंक्रोनस रूप से पुन: कनेक्ट कर सकते हैं (अपने अनुप्रयोग की जटिलता पर निर्भर करता है, राज्य में परिवर्तन के लिए जाँच (संघर्ष को हल करने के लिए अपने व्यापार नियमों के अनुसार)
    2. संघर्ष से निपटने के लिए एक सर्वर साइड (प्रकाश) इंटरफेस है, , IndexedDB अपडेट करने के लिए MongoDB में राज्य में परिवर्तन की तुलना करने के समय टिकटों पर्याप्त होना चाहिए)
+0

क्या आप किसी भी चीज के बारे में जानते हैं जो इस क्षेत्र में पहले से ही खराब हो चुका है। हमारा उपयोग स्थानीय रूप से किए गए परिवर्तनों में थोड़ा आसान नहीं है उपयोगकर्ता केवल परिवर्तन अनुरोध कर सकता है जो सर्वर पर धकेल दिया जाता है और संभवतः स्वीकृत और/या खारिज कर दिया जाता है। अगर स्वीकार किया जाता है तो उन्हें क्लाइंट को वापस धक्का दिया जाना चाहिए। तो इस परिदृश्य में हम एक ही वस्तु पर स्थानीय और दूरस्थ परिवर्तन कभी नहीं कर सकते हैं। –

+0

backbone.js के दायरे में कुछ हो सकता है लेकिन यह मेरे लीग से बाहर निकलना है। – patrickgamer

संबंधित मुद्दे