2009-03-21 15 views
6

क्या कोई ओपन सोर्स एप्लिकेशन है जो online-offline synchronizationडेटाबेस की अच्छी तकनीक का प्रदर्शन करता है, Remember The Milk जैसे कुछ उनके आईफोन ऐप, Google गियर्स ऑफ़लाइन मोड आदि के साथ करते हैं?ऑफलाइन-ऑनलाइन सिंक्रनाइज़ेशन के किसी भी खुले स्रोत उदाहरण?

+0

कोई भी IMAP क्लाइंट? – derobert

+0

मैंने आईएमएपी ग्राहकों के बारे में सोचा था, लेकिन ऑफ़लाइन होने पर आईएमएपी की पूर्ण कार्यक्षमता नहीं है, उदाहरण के लिए, संदेशों को आउटबॉक्स में रखा जाता है और बाद में भेजे गए मेल में स्थानांतरित किया जाता है, इसलिए इसमें अस्थायी व्यवस्था होती है ... यह सबसे अच्छा है जिसे मैं समझा सकता हूं आईएमएपी एक अच्छा उदाहरण क्यों नहीं है इस पर एक छोटी सी वाक्य। –

+0

@Marc पसंदीदा रूप से पायथन। –

उत्तर

7

Unison file synchronizer एक शानदार उपकरण है, लेकिन इसका स्रोत कोड दिल की बेहोशी के लिए नहीं है। आपने अकादमिक कागजात नहीं मांगा लेकिन मैंने one I'm proud of लिखा है। उस पर जाने के लिए कुछ पर्ल कोड था लेकिन मुझे यकीन नहीं है कि यह किसी भी उपयोग का है या नहीं। अगर आप चाहते हैं कि यह मुझे एक ईमेल भेजें।

+0

धन्यवाद नॉर्मन, कागज सहायक होना चाहिए, एक नज़र डालेंगे। हालांकि, क्या पेपर में अवधारणाओं को डाटाबेस सिंक्रनाइज़ेशन (बेवकूफ सवाल?) के लिए काम करने के लिए इस्तेमाल किया जा सकता है, क्षमा करें अगर मैं इससे पहले स्पष्ट नहीं था तो मैं विशेष रूप से संरचित डेटा के सिंक्रनाइज़ेशन को देख रहा हूं। –

+0

निश्चित रूप से लॉगिंग ऑपरेशंस के विचार और लॉग को सामान्य रूप में डालने के लिए डेटाबेस के लिए उपयोगी होगा। मैं बीजगणित के विवरण अलग होने की उम्मीद करता हूं। "लेंस प्रोग्रामिंग" पर पियर्स का नया काम भी देखें, जो डेटाबेस दृश्य अद्यतन समस्या से प्रेरित है। –

3

Google गियर स्वयं खुला स्रोत है। आप लोकलसेवर मॉड्यूल को देखना चाहेंगे।

मुख्य डेवलपर साइट के लिए code.google.com/p/gears और the LocalServer source देखें। यद्यपि गियर सॉफ़्टवेयर का एक जटिल टुकड़ा है क्योंकि इसमें बहुत से घटक हैं (ब्राउज़र प्लगइन इंटरफ़ेस, जावास्क्रिप्ट के साथ एकीकरण, SQLite एकीकरण, आदि ...), यह काफी अच्छी तरह से फैक्टर है, इसलिए स्थानीय सर्वर स्रोत का पालन करना बहुत आसान है।

+0

मेरी समझ के अनुसार, गियर्स ऑफ़लाइन डेटाबेस और ऑनलाइन/ऑफ़लाइन कनेक्टिविटी का पता लगाने के लिए एक एपीआई प्रदान करता है, यह किसी भी तरह का सिंक्रनाइज़ेशन स्वयं नहीं करता है। आवेदन प्रोग्रामर खुद को ऐसा करना है। –

+0

Thx Swaroop। मैं गलत था! – Aaron

2

मुझे SymmetricDS के साथ अनुभव है और यह वास्तव में अच्छा है। यह कई परिदृश्यों को संभाल सकता है। यह खुला स्रोत है, इसलिए इसे कुछ विशेष मामलों के लिए संशोधित या बढ़ाया जा सकता है। जैसा कि लेखकों का कहना है कि यह वास्तविक जीवन परियोजना के लिए विकसित किया गया था ताकि आप सुनिश्चित हो सकें कि यह वास्तव में ठीक काम करता है (और यह मेरे लिए भी काम करता है)।

बस एक चीज। सममित डेटा डेटाबेस ट्रिगर्स पर निर्भर करता है, इसलिए आपके डेटाबेस को ट्रिगर्स का समर्थन करना चाहिए।

2

Operational Transform पर विकिपीडिया लेख चार खुले स्रोत अनुप्रयोगों - ऐस, गोबी, सबेटेरेडिट और सो 6 संदर्भ। शायद उनमें से एक आपके लिए शुरुआती बिंदु के रूप में उपयोग करने में सक्षम है।

हालांकि वे आपकी पसंद के डीबीएमएस के साथ सीधे काम नहीं कर सकते हैं, तो आपके सिंक्रनाइज़ेशन के आधार पर ऑपरेशन ट्रांसफॉर्म पर विचार करना उचित होगा।

+0

इस जानकारी के लिए धन्यवाद।मुझे नहीं पता था कि इस के लिए समर्पित एक पूरा क्षेत्र था! मुझे यह [Google वेव्स "अंडर द हूड" टॉक] (http://www.youtube.com/watch?v=uOFzWZrsPV0) के संदर्भ में भी दिलचस्प लगता है, जहां वे पहले 20 मिनट के लिए परिचालन ट्रांसफॉर्म के बारे में बात करते हैं । –

+0

मैं यहां वापस आने और Google वेव का जिक्र करने का अर्थ रहा था - लेकिन आप एक कदम आगे हैं! –

0

लेख Create offline web applications on mobile and stationary devices with CouchDB एक सरल सूची प्रबंधन ऐप का वर्णन करता है। स्रोत कोड के साथ। यह कॉच डीबी के replication support का उपयोग करता है। कॉच डीबी एक नोएसक्यूएल डेटाबेस है हालांकि (दस्तावेज़ उन्मुख, अधिक विशिष्ट होने के लिए)। यदि आप आरडीबीएमएस के लिए समाधान की तलाश में हैं, तो माइक्रोसॉफ्ट के सिंक फ्रेमवर्क में database synchronization provider एसक्यूएल सर्वर 2008 में बनाए गए परिवर्तन ट्रैकिंग तंत्र का लाभ उठाता है। माइक्रोसॉफ्ट स्मार्ट क्लाइंट ऑफलाइन एप्लिकेशन ब्लॉक के दस्तावेज में a service-oriented approach का भी वर्णन करता है। डेटा-ओरिएंटेड दृष्टिकोण में मर्ज-प्रतिकृति का उपयोग करने से कुछ मामलों में यह दृष्टिकोण अधिक लचीला है।

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