我的要求是我有服务器J2EE Web应用程序和客户端J2EE Web应用程序。 有时客户端可以下线。 当客户端联机时,他应该能够同步来回的变化。 此外,我应该能够控制哪些行/表需要基于一些filter/规则进行同步。 有没有现成的Java框架呢? 如果我需要自己实施,你可以build议哪些不同的策略? 我脑海中的一个解决scheme是在同步期间维护sql日志并在另一侧执行相同的语句。 你看到这个策略有什么问题吗?
我目前正在编写一个离线的web应用程序使用所有的html5好东西离线支持。 不过,我现在开始考虑编写同步模块,以确保将任何脱机数据发送到服务器和服务器数据返回给客户端。 现在我确定这已经完成了,我的意思是它是一个非常经典的devise问题,影响到移动设备和其他许多事情。 所以我想知道有没有人可以指点我一些好的devise资源,这种事情? 现在我真的不需要太复杂,我的意思是我没有处理多个用户访问相同的数据,我很高兴不合并冲突(只是采取最新),但我仍然希望有一个devise,将请允许我将来使用这些选项。 另外,有没有开源项目实现这种types的东西? 我不是在撕掉别人的代码(如果许可证允许的话),我很乐意移植。
我正在开发一个本地数据库的移动Web应用程序(用于iPhone和Android)(使用html5 webstorage),所以当用户离线时,我的应用程序仍然可用。 这是完美的工作,但我想保存在服务器上的本地数据。 所以我需要将本地数据库与服务器上的数据库同步。 同步只能是一种方式,但是将来我想同时进行同步(server < – > local DB)。 这个要求看起来很常见(或将在移动networking应用程序的未来普遍),但我找不到一个图书馆这样做。 我知道谷歌正在他们的移动networking应用程序(例如gmail)这样做,我发现WSPL项目是一个谷歌项目,但没有源下载。 如果我找不到解决scheme,我会创build一个库来做到这一点,因为一个方法同步并不困难,但我不知道是否有其他解决scheme。
我一直在研究一种方法来同步多个设备(如iPad或Mac)之间存储在iPhone应用程序中的核心数据。 在iOS上使用Core Data的同步框架并不多(如果有的话)。 不过,我一直在想下面这个概念: 对本地核心数据存储进行更改,并保存更改。 (a)如果设备处于联机状态,它会尝试将更改集发送到服务器,包括发送更改集的设备的设备标识。 (b)如果变更集没有到达服务器,或者设备不在线,应用程序会将变更集添加到队列中,以便在联机时发送。 坐在云中的服务器将接收到的特定变更集合与其主数据库合并。 在云服务器上合并更改集(或更改集队列)之后,服务器会使用某种轮询系统将所有这些更改集推送到在服务器上注册的其他设备。 (我以为使用苹果的Push服务,但显然根据评论,这不是一个可行的系统。) 有什么我想要考虑的幻想? 我看过REST框架,如ObjectiveResource , Core Resource和RestfulCoreData 。 当然,这些都是和Ruby on Rails一起工作的,我并没有把它绑在里面,但是这是一个开始的地方。 我对我的解决scheme的主要要求是: 任何改变都应该在后台发送,而不要暂停主线程。 它应该使用尽可能less的带宽。 我曾考虑过一些挑战: 确保服务器上连接了不同设备上不同数据存储的对象ID。 也就是说,我将拥有一个对象ID和设备ID的表格,这些表格通过对存储在数据库中的对象的引用进行绑定。 我将有一个logging(DatabaseId [此表唯一的],ObjectId [唯一的整个数据库中的项],Datafield1,Datafield2),ObjectId字段将引用另一个表,所有对象:(ObjectId,DeviceId,DeviceObjectId)。 然后,当设备推送一个更改集时,它将从本地数据存储中的核心数据对象传递设备Id和objectId。 然后,我的云服务器将检查AllObjects表中的objectId和设备Id,并在初始表中查找要更改的logging。 所有更改都应该有时间戳,以便可以合并。 该设备将不得不轮询服务器,而不用消耗太多的电池。 如果/从服务器接收到更改,本地设备也将需要更新内存中的任何内容。 还有什么我在这里失踪? 我应该考虑什么样的框架来实现这一点?
我有一种感觉,那里必须有客户端 – 服务器同步模式。 但我完全没有谷歌上一个。 情况很简单 – 服务器是中心节点,多个客户端连接并操纵相同的数据。 数据可以拆分成primefaces,万一发生冲突,服务器上的任何东西都有优先权(避免让用户冲突解决)。 由于潜在的大量数据,部分同步是首选。 有没有这种情况的模式/好的做法,或者如果你不知道 – 你会采取什么做法? 以下是我现在想要解决的问题:与数据并行,修改日志将被执行,所有交易都有时间戳。 当客户端连接时,它会以统一的forms接收自上次检查以来发生的所有更改(服务器会通过列表并删除随后删除的添加,合并每个primefaces的更新等)。 Et瞧,我们是最新的。 替代scheme是保持每个logging的修改date,而不是执行数据删除,只需将它们标记为已删除。 有什么想法吗?
我正在寻找一些常规策略,用于将中央服务器上的数据与不总是在线的客户端应用程序进行同步。 在我的情况下,我有一个Android手机应用程序与SQLite数据库和PHP Web应用程序与MySQL数据库。 用户将能够在手机应用程序和networking应用程序上添加和编辑信息。 即使手机不能立即与服务器通信,我也需要确保在一个位置进行的更改反映到处都是。 我不关心如何将数据从手机传输到服务器,反之亦然。 我只提到我的特定技术,因为我不能使用例如可用于MySQL的复制function。 我知道客户端 – 服务器数据同步问题已经存在了很长很长的时间,并希望获得关于处理问题的模式的信息(文章,书籍,build议等)。 我想知道处理同步的一般策略,比较长处,弱点和取舍。