Questions tagged «data-synchronization»

8
如何将iPhone Core Data与Web服务器同步,然后推送到其他设备?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我一直在研究一种在多个设备(例如iPad或Mac)之间同步iPhone应用程序中存储的核心数据的方法。没有太多(如果有的话)同步框架可用于iOS上的Core Data。但是,我一直在思考以下概念: 对本地核心数据存储进行更改,并保存更改。(a)如果设备在线,它将尝试将更改集发送到服务器,包括发送更改集的设备的设备ID。(b)如果变更集未到达服务器,或者设备不在线,则应用会将变更集添加到队列中,以便在其联机时发送。 位于云中的服务器将接收到的特定更改集与其主数据库合并。 在云服务器上合并变更集(或变更集队列)后,服务器会使用某种轮询系统将所有这些变更集推送到在服务器上注册的其他设备。(我曾考虑使用Apple的Push服务,但显然根据评论,这不是一个可行的系统。) 我有什么想想的吗?我研究了REST框架,例如ObjectiveResource,Core Resource和RestfulCoreData。当然,这些都可以与Ruby on Rails一起使用,尽管我并不依赖于Ruby on Rails,但这是一个起点。我对解决方案的主要要求是: 任何更改都应在不暂停主线程的情况下在后台发送。 它应该使用尽可能少的带宽。 我考虑了许多挑战: 确保在服务器上附加了不同设备上不同数据存储的对象ID。也就是说,我将有一个对象ID和设备ID的表,它们通过对存储在数据库中的对象的引用进行绑定。我将有一条记录(DatabaseId [此表唯一],ObjectId [该项目在整个数据库中唯一],Datafield1,Datafield2),ObjectId字段将引用另一个表AllObjects:(ObjectId,DeviceId,DeviceObjectId)。然后,当设备上载更改集时,它将沿着本地数据存储区中的核心数据对象传递设备ID和objectId。然后,我的云服务器将检查AllObjects表中的objectId和设备ID,并在初始表中找到要更改的记录。 所有更改都应加上时间戳,以便可以合并。 设备将必须轮询服务器,而又不会消耗过多的电池。 如果/从服务器收到更改,则本地设备还需要更新内存中保存的所有内容。 我还有其他想念的地方吗?我应该考虑采用哪种框架来实现这一目标?

6
客户端-服务器同步模式/算法?
我感觉那里一定有客户端-服务器同步模式。但是我完全无法用谷歌搜索一个。 情况非常简单-服务器是中心节点,多个客户端连接到该节点并处理相同的数据。可以将数据拆分为原子,如果发生冲突,则服务器上的任何内容都具有优先级(以避免使用户陷入冲突的解决)。由于可能存在大量数据,因此首选部分同步。 对于这种情况,是否有任何模式/良好做法,或者如果您不了解,则将采取什么方法? 下面是我现在想解决的想法:与数据并行,将保存修改日记帐,并为所有交易加上时间戳。客户端连接后,它将以合并的形式接收自上次检查以来的所有更改(服务器遍历列表并删除添加的内容,然后进行删除,合并每个原子的更新等)。瞧,我们是最新的。 另一种方法是保留每个记录的修改日期,而不是执行数据删除,而只需将它们标记为已删除。 有什么想法吗?

2
与服务器同步本地HTML5 DB(WebSQL存储,SQLite)的最佳方法(2路同步)
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在使用本地数据库(使用html5 webstorage)开发一个移动Web应用程序(适用于iPhone和Android),因此当用户离线时我的应用程序仍然可以使用。 这工作正常,但是我想将本地数据保存在服务器上。因此,我需要将本地数据库与服务器上的数据库同步。同步只能是一种方式,但是在将来,我想以两种方式(服务器<->本地数据库)进行同步。 这种要求看起来很普通(或者将来在移动Web应用程序中很常见),但是我找不到这样做的库。 我知道google在他们的移动网络应用程序(例如gmail)中正在执行此操作,并且我发现WSPL项目是google项目,但没有源可供下载。 如果找不到解决方案,我将创建一个库来执行此操作,因为同步的一种方式看起来并不困难,但我想知道是否还有其他解决方案。

6
同步客户端-服务器数据库
我正在寻找一些通用策略,用于将中央服务器上的数据与并不总是在线的客户端应用程序进行同步。 在我的特定情况下,我有一个带sqlite数据库的android手机应用程序和一个带MySQL数据库的PHP Web应用程序。 用户将能够在电话应用程序和Web应用程序上添加和编辑信息。我需要确保即使手机无法立即与服务器通信,在一个地方所做的更改也会在所有地方反映出来。 我不关心如何将数据从手机传输到服务器,反之亦然。我之所以仅提及我的特定技术,是因为我无法使用例如MySQL可用的复制功能。 我知道客户端-服务器数据同步问题已经存在很长时间了,并且希望获得有关处理问题的模式的信息(文章,书籍,建议等)。我想了解处理同步以比较优点,缺点和折衷方案的一般策略。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.