คำถามติดแท็ก data-synchronization

8
วิธีซิงค์ข้อมูล iPhone หลักกับเว็บเซิร์ฟเวอร์แล้วส่งไปยังอุปกรณ์อื่น [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันทำงานกับวิธีการซิงค์ข้อมูลหลักที่จัดเก็บในแอปพลิเคชัน iPhone ระหว่างอุปกรณ์หลายชนิดเช่น iPad หรือ Mac เฟรมเวิร์กการซิงค์มีไม่มาก (ถ้ามี) สำหรับใช้กับ Core Data บน iOS อย่างไรก็ตามฉันได้คิดถึงแนวคิดต่อไปนี้: ทำการเปลี่ยนแปลงกับที่เก็บข้อมูลหลักโลคัลและการเปลี่ยนแปลงถูกบันทึก (a) หากอุปกรณ์ออนไลน์นั้นจะพยายามส่งเซ็ตการแก้ไขไปยังเซิร์ฟเวอร์รวมถึง ID อุปกรณ์ของอุปกรณ์ที่ส่งเซ็ตการแก้ไขนั้น (b) หากเซ็ตการแก้ไขไม่ถึงเซิร์ฟเวอร์หรือหากอุปกรณ์ไม่ได้ออนไลน์แอพจะเพิ่มการเปลี่ยนแปลงที่กำหนดไว้ในคิวเพื่อส่งเมื่อมันมาออนไลน์ เซิร์ฟเวอร์ซึ่งนั่งอยู่ในคลาวด์ผสานการเปลี่ยนแปลงเฉพาะที่ได้รับกับฐานข้อมูลหลัก หลังจากชุดการเปลี่ยนแปลง (หรือชุดของคิวการเปลี่ยนแปลง) ถูกผสานบนเซิร์ฟเวอร์คลาวด์เซิร์ฟเวอร์จะผลักดันชุดการเปลี่ยนแปลงเหล่านั้นทั้งหมดไปยังอุปกรณ์อื่นที่ลงทะเบียนกับเซิร์ฟเวอร์โดยใช้ระบบการสำรวจบางประเภท (ฉันคิดว่าจะใช้บริการ Push ของ Apple แต่เห็นได้ชัดว่าตามความคิดเห็นนี้ไม่ใช่ระบบที่ใช้การได้) มีอะไรแฟนซีที่ฉันต้องคิดเกี่ยวกับ? ผมมองที่กรอบ REST เช่นObjectiveResource , แกนทรัพยากรและRestfulCoreData แน่นอนว่าทั้งหมดนี้ทำงานร่วมกับ Ruby on Rails ซึ่งฉันไม่ได้ผูกติดอยู่ แต่เป็นจุดเริ่มต้น …

6
รูปแบบ / อัลกอริทึมการซิงโครไนซ์ไคลเอนต์ - เซิร์ฟเวอร์
ฉันรู้สึกว่าต้องมีรูปแบบการซิงโครไนซ์ไคลเอ็นต์กับเซิร์ฟเวอร์ที่นั่น แต่ฉันล้มเหลวในการ google ขึ้นหนึ่งทั้งหมด สถานการณ์ค่อนข้างง่าย - เซิร์ฟเวอร์เป็นโหนดกลางที่ลูกค้าหลายรายเชื่อมต่อและจัดการข้อมูลเดียวกัน ข้อมูลสามารถแบ่งเป็นอะตอมในกรณีที่มีข้อขัดแย้งสิ่งที่อยู่บนเซิร์ฟเวอร์มีลำดับความสำคัญ (เพื่อหลีกเลี่ยงการทำให้ผู้ใช้เข้าสู่การแก้ไขข้อขัดแย้ง) ต้องการการซิงโครไนซ์บางส่วนเนื่องจากมีข้อมูลจำนวนมาก มีรูปแบบ / แนวทางปฏิบัติที่ดีสำหรับสถานการณ์ดังกล่าวหรือไม่หรือหากคุณไม่ทราบวิธีการของคุณคืออะไร? ด้านล่างเป็นวิธีที่ฉันคิดว่าจะแก้ปัญหา: ขนานไปกับข้อมูลจะมีการจัดทำเจอร์นัลการแก้ไขโดยมีธุรกรรมทั้งหมดที่ประทับเวลา เมื่อไคลเอนต์เชื่อมต่อจะได้รับการเปลี่ยนแปลงทั้งหมดตั้งแต่การตรวจสอบครั้งล่าสุดในรูปแบบรวม (เซิร์ฟเวอร์ต้องผ่านรายการและลบส่วนที่ตามด้วยการลบรวมการอัพเดตสำหรับแต่ละอะตอม ฯลฯ ) และอื่น ๆ เรามีความทันสมัย ทางเลือกจะคงวันที่แก้ไขสำหรับแต่ละระเบียนและแทนที่จะทำการลบข้อมูลเพียงทำเครื่องหมายว่าถูกลบ ความคิดใด ๆ

2
วิธีที่ดีที่สุดในการซิงโครไนซ์ HTML5 DB โลคัล (WebSQL Storage, SQLite) กับเซิร์ฟเวอร์ (ซิงค์แบบ 2 ทาง) [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังพัฒนาแอปพลิเคชันเว็บมือถือ (สำหรับ iPhone และ Android) ด้วยฐานข้อมูลท้องถิ่น (โดยใช้ html5 webstorage) ดังนั้นแอปของฉันยังคงใช้งานได้เมื่อผู้ใช้ออฟไลน์ มันทำงานได้อย่างสมบูรณ์ แต่ฉันต้องการบันทึกข้อมูลในเครื่องบนเซิร์ฟเวอร์ ดังนั้นฉันต้องซิงโครไนซ์ฐานข้อมูลโลคัลกับฐานข้อมูลบนเซิร์ฟเวอร์ การซิงโครไนซ์สามารถทำได้เพียงวิธีเดียว แต่ในอนาคตฉันต้องการซิงโครไนซ์ทั้งสองทาง (เซิร์ฟเวอร์ <-> ฐานข้อมูลท้องถิ่น) (หรือจะเป็นเรื่องปกติในอนาคตสำหรับแอปพลิเคชันเว็บมือถือ) แต่ฉันไม่พบห้องสมุดที่ทำเช่นนั้น ฉันรู้ว่า google กำลังทำเช่นนั้นในเว็บแอปบนอุปกรณ์เคลื่อนที่ (เช่น gmail) และฉันพบว่าโครงการ WSPLเป็นโครงการ google แต่ไม่มีซอร์สให้ดาวน์โหลด หากฉันไม่สามารถหาวิธีแก้ปัญหาได้ฉันจะสร้างห้องสมุดเพื่อทำสิ่งนั้นเนื่องจากการซิงค์แบบทางเดียวดูไม่ยาก แต่ฉันสงสัยว่ามีวิธีแก้ไขปัญหาอื่นหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.