2010-01-21 23 views
6

मुझे अपने सर्वर पर एक डेटाबेस मिला है जो लगभग 3 एमबी बड़ा है। मैं इसे अपने आईफोन एप्लिकेशन के साथ भेजना चाहता हूं।सर्वर-साइड डेटाबेस से आईफोन में एक-तरफा सिंकिंग करने का सबसे अच्छा तरीका क्या है?

सबसे महत्वपूर्ण बात यह है कि मैं आईफोन में डेटाबेस (सम्मिलित, अद्यतन, हटावट) में परिवर्तन को बढ़ावा देना चाहता हूं। ऐसा करने का सबसे अच्छा तरीका क्या है? मेरा मतलब है - पर क्या आवश्यक है - सर्वर - क्लाइंट (= iphone) - बीच; इस डेटा को कैसे स्थानांतरित करें?

मैं प्रौद्योगिकियों सर्वरसाइड का उपयोग करने में काफी स्वतंत्र हूं; अभी, मुझे उस डेटा से भरा सर्वर पर एक स्क्लाइट-डेटाबेस मिला है जिसे मैं iphones में सिंक करना चाहता हूं।

उत्तर

1

वेब हुक का उपयोग करने का प्रयास करें।

वेबहूक की अवधारणा सरल है। वेबहूक एक HTTP कॉलबैक है: एक HTTP POST तब होता है जब कुछ होता है; HTTP पोस्ट के माध्यम से एक साधारण घटना-अधिसूचना ।

लागू करने वाला एक वेब एप्लिकेशन WebHooks कुछ चीजें होने पर URL पर एक संदेश पोस्ट करेगा। जब एक वेब आवेदन अपने स्वयं के यूआरएल रजिस्टर करने के लिए उपयोगकर्ताओं को सक्षम बनाता है, उन तो , विस्तार कर सकते हैं अनुकूलित, और अपने स्वयं के कस्टम के साथ कि आवेदन एकीकृत एक्सटेंशन या वेब के आसपास अन्य अनुप्रयोगों के साथ। उपयोगकर्ता के लिए, WebHooks बहुमूल्य जानकारी प्राप्त करने के लिए एक तरह से जब यह, बल्कि लगातार उस डेटा के लिए मतदान और प्राप्त करने में कुछ भी नहीं बहुमूल्य समय की तुलना में सबसे होता हैं। WebHooks में भारी क्षमता है और केवल आपकी कल्पना से ही सीमित है! (कोई, यह बर्तन धो सकते हैं नहीं फिर भी।।)

आप बाहर अधिक पर Webhooks यहाँ पा सकते हैं: http://www.webhooks.org/ और http://webhooks.pbworks.com/

+0

हम्म ...: http://openmobster.googlecode.com

यहाँ iPhone App सिंक करने के लिए एक कड़ी है:

यहाँ ओपन सोर्स प्रोजेक्ट के लिए एक लिंक है दिलचस्प। मैं समझता हूं कि कैसे वेब हुक काम करते हैं (कम से कम, मुझे लगता है कि मैं करता हूं)। लेकिन आईफोन के साथ संयोजन में ... मैं अपने आवेदन के उपयोगकर्ताओं को कैसे अपडेट करूं? यह पुश अधिसूचना के साथ ही संभव होगा, है ना? मेरा मतलब है - अपने फोन को अपने आवेदन के साथ पंजीकृत करना है, और जब भी कुछ बदलता है, मुझे पुश अधिसूचना करना पड़ता है - या क्या मुझे कुछ याद आ रहा है? – swalkner

+0

हां। पुश अधिसूचना काम कर सकती है। किसी भी तरह से, आपको अपने पंजीकृत उपयोगकर्ताओं को कुछ प्रकार का प्रमाणीकरण देना होगा। आप मूल रूप से एक क्रॉन जॉब कि उपयोगकर्ताओं की सूची को सूचनाएं भेजता है बना सकते हैं (उपयोगकर्ताओं को, जो स्पष्ट रूप से पंजीकृत है और प्रमाणीकृत हैं) – feketegy

2

आपको अद्यतन करने के लिए डेटाबेस की कितनी बार आवश्यकता होती है, और परिवर्तन कितने जरूरी हैं?

यदि डेटाबेस अपडेट कमजोर और अनिवार्य हैं, तो मेरे पास स्टार्टअप पर डेटाबेस के नए संस्करण की जांच होगी, और यदि यह बदल गया है, तो पूरी नई फ़ाइल डाउनलोड करें।

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

प्रो टिप: यदि आप डाउनलोड के लिए प्रगति पट्टी दिखाना चाहते हैं, तो मेटाडेटा फ़ाइल में डेटाबेस का आकार शामिल करें। सेल नेटवर्क में अक्सर पारदर्शी प्रॉक्सी होती है जो HTTP प्रतिक्रियाओं से सामग्री-लंबाई शीर्षलेख को बाहर निकाल देती है।

+0

दुर्भाग्य से, अद्यतन लगातार और बहुत जरूरी हैं ... – swalkner

1

आश्चर्य अगर आप प्रबंधन के लिए एक सिंक फ्रेमवर्क का प्रयोग करके विचार किया है तुल्यकालन। यदि वह रुचियां आप ओपन सोर्स प्रोजेक्ट, ओपनमोब्स्टर की सिंक सेवा पर एक नज़र डाल सकते हैं।आप नीचे दिए गए सिंक संचालन

  • दो तरह
  • एक तरह से ग्राहक
  • एकांगी उपकरण
  • बूटअप

कि इसके अलावा क्या कर सकते हैं, सभी संशोधन स्वचालित रूप से ट्रैक और सिंक किए गए हैं बादल के साथ नेटवर्क कनेक्शन डाउन होने पर आप अपना ऐप ऑफलाइन कर सकते हैं। यह पृष्ठभूमि में किसी भी बदलाव को ट्रैक करेगा और पृष्ठभूमि में स्वचालित रूप से क्लाउड के साथ सिंक्रनाइज़ करेगा जब कनेक्शन लौटाएगा। यह भी कई उपकरणों

इसके अलावा, बादल में संशोधनों पुश सूचनाएं का उपयोग कर synched कर रहे हैं भर में iCloud तरह तुल्यकालन प्रदान करता है, तो डेटा हमेशा वर्तमान है, भले ही वह स्थानीय रूप से संग्रहीत किया जाता है। लगता है http://code.google.com/p/openmobster/wiki/iPhoneSyncApp