这是场景.2个Web服务器位于两个独立的位置,两个mysql数据库具有相同的表.表中的数据预计也是实时相同的.
这是问题所在.如果任一位置的用户同时将新记录输入到相同的表中,如下面的两个第一个表所示,其中每个表中的第三个记录已由不同的人同时输入.表中的数据不再相同.哪种方法可以保持数据实时保持相同,如下表第三表所示,无论更新发生在何处?这样在下面的插图中,而不是在每个表中以3行结束,新记录被双向复制,并且它们被插入到两个表中以再次创建2个相同的表,这次有4列?
Server A in Location A
==============
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | Scott |
|-----------|
| 3 | John |
|-----------|
Server B in Location B
==============
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | Scott |
|-----------|
| 3 | Peter |
|-----------|
Expected Scenario
===========
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | …Run Code Online (Sandbox Code Playgroud) 我正在用jqueryMobile + knockout + breeze + WebAPI编写一个简单的"todo - helloworld"来了解移动环境中的SPA(单页应用程序)(不可靠的互联网连接)
要启用脱机使用,WebApp将利用
应用程序应尽可能使用远程数据库来加载和保存数据,但应该能够在脱机时无缝切换到localstorage并在重新联机时同步本地/远程更改.
现在回到问题:App将使用Breeze的EntityManager来管理数据(本地缓存和远程同步)
为了缓解不一致/并发问题,我将使用2个localstorage密钥:
所以流程或多或少会(伪代码):
LoadData
if(online)
load remoteDb
save localDb // save a local copy of the fresh loaded remotDb
if(localPendingChanges)
load localPendingChanges // we are merging in the Breeze entityManager remote data with localPendingChanges
Savedata // we are online and we have pending changes, so we should sync everything back to the remoteDb as soon as possible
if(offline)
load localDb
if(localPendingChanges)
load localPendingChanges // …Run Code Online (Sandbox Code Playgroud) local-storage singlepage data-synchronization single-page-application breeze
我现在扭头了一段时间,没有找到最终解决方案。因此,我希望我可以在架构层次上找到一些交流或帮助解决此问题。
我目前面临以下情况:我想编写一个Web应用程序(我使用Java编写,但是这与解决方案并没有真正的关系,因为目前这是一个更高层次的问题),在哪里关系类型:
Event --1:n--> Team --1:n--> Participant
Run Code Online (Sandbox Code Playgroud)
含义:我有一个活动,其中有许多团队,有很多参与者。到目前为止非常好-在SQL数据库中这将是一个简单的关系。
但是,还有一个目录树,在文件结构中表示相同的关系:
+--event1
| +--team1
| | +--participant1
| | +--participant2
| | +--participant3
| +--team2
| | +--participant4
| +--team3
+--event2
| +--team4
...
Run Code Online (Sandbox Code Playgroud)
(我想,您有主意)因此,每个参与者的目录中都有许多文件,这些文件通过文件系统复制到此目录中。只要文件系统上有目录,就应将其连接到数据库中的相应条目,该目录中有一些其他数据,应与Web GUI中的文件一起显示。它没有定义,首先是什么(数据库条目或目录),因为它是由不同的用户操作的。
现在有几件事要牢记,这对我来说很有意义:
我希望我的描述足以理解情况。我已经有了一些想法,但是所有这些并没有真正说服自己成为一个可靠的解决方案。因此,希望你们中的一个已经对此有所了解。我对任何技术或框架都很开放,这可能有助于解决此问题。
我期待您的想法和愉快的讨论!
谢谢你的帮助!
我有一个问题,在笔记本电脑上使用多个(相同架构)访问2003数据库.
我需要找到一种自动方式将数据同步到中央访问数据库.
笔记本电脑上的数据仅附加到更新/删除操作不会成为问题.
哪些工具可以让我轻松完成这项工作?哪些因素会影响最佳工具或解决方案的决策?
我的应用程序具有向日历添加事件的功能,但为了实现此Android,日历应用程序需要有日历.要添加日历,您必须添加Google帐户.所以我在模拟器中添加了一个Google帐户.它显示为同步关闭:

,所以当我点击它时,数据同步下没有项目.

当我进入日历应用程序 - 设置并单击显示的电子邮件地址时,表示该帐户未被同步.

当我点击帐户和同步按钮时,我回到正方形,无限循环.
请注意,使用模拟器中的电子邮件应用程序,同步很好.

是否有一些我没有记错的无证步骤,或谷歌最近为谷歌日历关闭了此功能.或者,您是否需要Google Plus帐户才能使用此功能,因为他们会在帐户创建屏幕中误导您使用Google +.
我正在使用带有Google API的Android 4.03.我也在4.2上尝试了这个,我遇到了同样的问题.
这是一个logcat,从打开设置菜单一直到点击帐户名 http://pastebin.com/9Fk8NA0i
android google-calendar-api google-account android-virtual-device data-synchronization
我们正在一个数据库之上构建一个API和移动应用程序,该数据库在主表中有几十万个记录.
我们的移动开发人员正在努力推动使用本地数据库中的完整表预加载应用程序,然后提供一项服务,手机可以将更改与updated_at列同步.
虽然这可以通过搜索本地商店来提高应用程序的性能,但我担心随着我们获得更多客户,这将在服务器上产生大量负载.
还有其他人处理过这件事吗?这是一个好主意,坏主意吗?你能分享一些见解和链接吗?
我有一个离线应用程序cordova,由简单的html和图片组成,全部插入子文件夹(android_asset/www/app).我想添加第二个在线应用程序(android_asset/www/update /),检查更新,下载并替换第一个.这是应用程序同步的合理解决方案吗?
谢谢你的时间
对于我们的移动应用程序,我们希望使用Realm.io数据库,但我们需要能够同步多个设备,以便它们始终具有相同的信息.数据库可能只有几兆字节的数据,因此我们希望确保每次更改内容时都不必上传整个数据库,然后在其他所有设备上重新下载.理想情况下,我们还希望确保在更新数据库之前,设备上不会发生与服务器的其他事务.
我正在使用tablediff实用程序将数据从serval数据库源传输到目标数据库,我得到的结果是源数据库和目标数据库之间的所有差异都是这样的
Dest. Only N'1027' N'799' N'91443' N'1'
Mismatch N'103A' N'799' N'13010' N'1' DATE_CURRENT DATE_OPERATION MATRICULE_UTILISATEUR QTE QTE_FINAL QTE_INIT QTE_OPERATION REFERENCE_DOCUMENT TYPE_DOCUMENT
Src. Only N'103A' N'310' N'30129' N'1'
Run Code Online (Sandbox Code Playgroud)
所以生成的SQL文件包含delete的Dest. Only行,update所述Mismatch行和insert所述Src. Only列
我的问题是:有没有办法使用tablediff只获得结果Mismatch和Src. Only行?
我在查找数据同步和复制之间的差异时遇到了麻烦.
据我所知,复制使两个数据库之间的所有数据都相同.同步不一定使两个数据库之间的所有数据相同.复制是一次性传输,同步可以是小型更新以保持数据一致吗?我不太确定,请在这里纠正我?
如果我要拥有一个存储多个移动数据的中央mySQL数据库,我的目标是保持手机中的数据与来自mySQL的数据(仅限某些用户数据)相同,那么是同步还是复制,还是两者兼而有之?它最初会获取所有用户数据(复制),然后在此之后发送任何更新的数据(同步)?
希望有人可以清理混乱,非常感谢!
android ×3
database ×2
sync ×2
api ×1
architecture ×1
breeze ×1
comparison ×1
cordova ×1
ios ×1
modeling ×1
ms-access ×1
mysql ×1
php ×1
realm ×1
replication ×1
singlepage ×1
sql-server ×1