标签: data-synchronization

保持分布式数据库在不稳定的网络中同步

我面临以下挑战:

我在不同的地理位置有一堆数据库,网络可能会失败很多(我使用的是蜂窝网络).我需要保持所有数据库同步,但不需要实时.我正在使用Java,但我可以自由选择任何免费数据库.

关于如何实现这一点的任何建议.

谢谢.

database replication distributed data-synchronization

18
推荐指数
2
解决办法
5889
查看次数

用于客户端存储的javascript库,具有服务器端同步

我正在寻找一个javascript库,它允许我将数据存储在客户端数据库中,并在后台自动将数据库同步回服务器的数据库

支持变量引擎的东西,就像jQuery的jQuery一样

环顾四周我能找到任何东西

javascript database client-server data-storage data-synchronization

18
推荐指数
2
解决办法
4762
查看次数

android sqlite双向同步sqlite

我需要将我的Android SQLite数据库与我的云服务器数据库同步,并在多用户环境中以双向方式进行.

我在这里找到并介绍了解决方案,但我想了解更好的解决方案/算法.

database sqlite android data-synchronization

18
推荐指数
2
解决办法
1万
查看次数

在iOS应用程序之间同步数据的好方法是什么?

我正在开发一个应用程序,其数据管理是通过Core Data实现的,我正在研究如何实现一个功能来同步两个不同设备之间的数据(甚至最终在iDevices和Mac之间).

到目前为止,我还没有发现任何有趣或有用的东西,所以我要求你提供一个好的起点,指南或模型.你有没有意识到这样的事情?

更新

我已经开始对这个问题给予赏金.同步在iOS上可能是一项艰巨的任务,但是,有很多应用程序可以提供设备到设备的同步功能.我的问题是:他们是怎么做到的?什么是最好的方法?有哪些不同的解决方案?

更新2

由于iCloud已于近一年前发布,因此这个问题肯定已经过时了.我想让它保持活力,因为它可以提供有关设备之间移动数据同步的有趣见解.

core-data objective-c ios data-synchronization

17
推荐指数
1
解决办法
1万
查看次数

SQL MIN_ACTIVE_ROWVERSION()值不会长时间更改

我们正在通过链接的服务器连接在两个SQL Server数据库之间,在单独的服务器(SQL Server 2008 Enterprise 64位SP2 - 10.0.4000.0)中对一种Sync Framework进行故障排除,并且我们达到了排序的程度卡住了.

识别哪些是"待同步"的记录的逻辑当然基于ROWVERSION值,包括使用MIN_ACTIVE_ROWVERSION()以避免脏读.

所有SELECT操作都封装在每个"源"端的SP中.这是一个SP的示意图:

    PROCEDURE LoaderRetrieve(@LastStamp bigint, @Rows int)
    BEGIN
    ...
    (vars handling)
    ...

    SET TRANSACTION ISOLATION LEVEL SNAPSHOT

    Select TOP (@Rows) Field1, Field2, Field3
    FROM Table
    WHERE [RowVersion] > @LastStampAsRowVersionDataType    
    AND [RowVersion] < @MinActiveVersion  
    Order by [RowVersion] 

    END
Run Code Online (Sandbox Code Playgroud)

该方法工作正常,我们通常以预期的600k /小时速率同步记录(每30秒一次作业,批量大小= 5k),但在某些时候,同步过程找不到任何单个记录要传输,即使有数千条记录的ROWVERSION值大于@LastStamp参数.

在检查原因时,我们发现搜索MIN_ACTIVE_ROWVERSION()的值小于(或稍微大一些,只有5或10个增量)@LastStamp.这当然应该不是问题,因为MIN_ACTIVE_ROWVERSION()引入该方法是为了避免脏读和后验问题,但是:

在上述情况发生期间,我们在某些情况下看到的问题是,MIN_ACTIVE_ROWVERSION()在很长(很长)的时间段内,例如30/40分钟,有时超过一小时,价值不会发生变化.而这个值远远低于该@@DBTS值.

我们首先认为这与尚未提交的待处理数据库事务有关.根据MSDN关于MIN_ACTIVE_ROWVERSION()(链接)的定义:

返回当前数据库中最低的活动rowversion值.如果在尚未提交的事务中使用rowversion值,则该rowversion值处于活动状态. …

sql sql-server transactions rowversion data-synchronization

16
推荐指数
1
解决办法
1416
查看次数

使用AngularJS和Symfony 2进行开/关线数据同步的最佳实践

我正在AngularJS中构建一个相对复杂且数据量很大的Web应用程序.我打算使用php作为RESTful后端(使用symfony2和FOSRESTbundle).我花了几周时间寻找不同的线路/线路同步解决方案解决方案,似乎有很多半解决方案(参见下面的列表中的一些示例).但他们中的任何一个似乎都完全符合我的情况.我如何决定采用哪种策略?

哪些可能决定在AngularJS和symfony 2中构建开/关线同步系统的"最佳实践"的问题需要一些研究,但在我的头脑中我想考虑诸如速度,易于实现,未来证明(持久性)等问题解决方案),可扩展性,客户端的资源使用/需求,让多个离线用户编辑相同的数据,存储多少和什么类型的数据.

我目前了解的一些要求是:

  • 用户经常离线,然后需要与数据库同步(本地创建)数据
  • 多个用户共享一些可编辑数据(需要考虑潜在的合并问题).
  • 用户可能同时从多个设备登录.
  • 允许大量数据离线存储(最高可达千兆字节)
  • 我可能希望用户能够决定他想在本地存储什么.
  • 即使用户在线,我也可能希望用户能够选择是使用所有(后端)数据还是仅使用本地可用的数据.

一些潜在的示例解决方

  • PouchDB - 用于同步来自多个源的更改的有趣策略
  • Racer - 用于实时同步的节点库,基于ShareJS构建
  • Meteor - DDP和同步策略
  • ShareJS - Node.js运营转型,受Google Wave的启发
  • Restangular - 替代$ resource
  • EmberData - EmberJS的类似ORM的数据持久性库
  • ServiceWorker
  • IndexedDB Polyfill - Polyfill IndexedDB,带有支持WebSQL的浏览器(Safari)
  • BreezeJS
  • JayData
  • 环回的ORM
  • ActiveRecord的
  • BackBone模型
  • lawnchair - Brian Leroux的轻量级客户端数据库库
  • TogetherJS - Mozilla Labs的多客户端状态同步/协作库.
  • localForage - Mozilla的DOMStorage改进库.
  • Orbit.js - 内容同步库

(https://docs.google.com/document/d/1DMacL7iwjSMPP0ytZfugpU4v0PWUK0BT6lhyaVEmlBQ/edit#heading=h.864mpiz510wz)

任何帮助将非常感激 :)

javascript offlineapps symfony data-synchronization angularjs

15
推荐指数
1
解决办法
8119
查看次数

设计:如何通知控制器跨应用程序的数据修改

在基于mvc的大型系统中,有一些视图负责编辑显示该数据的数据和视图.

示例:UserManagementViewUserSelectionView.

在另一个子系统对相同数据进行更改之后,每个子系统都应该知道它是否需要数据更新,以便其控制器知道是否需要更新数据.

我对此的想法类似于观察者模式(有点集成在c#中),所有控制器都是听众,最终会得到通知,数据操作发生了.

BindingList<>例如提供一个ListChanged事件.类似地,可以为每个数据结构创建一个接口,并通知控制器有关更改的信息.这会增加开销(IMO),我发现这个解决方案很难在大型系统中维护,而且无论如何更新数据都不是解决方案.

哪种架构设计可以在这种场景中提供帮助?

c# .net-3.5 winforms data-synchronization

14
推荐指数
1
解决办法
373
查看次数

你可以将CoreData与iCloud同步吗?

有谁知道你是否以及如何与iCloud同步CoreData应用程序?如果我理解Apple iCould说明你无法同步CoreData,可以吗?

cocoa core-data microsoft-sync-framework data-synchronization icloud

13
推荐指数
2
解决办法
8925
查看次数

使用localStorage和REST远程服务器的数据层架构

任何人对如何实现同时使用localStorage和REST远程存储的数据持久层有任何想法或参考:

某个客户端的数据与localStorage一起存储(使用ember-data indexedDB适配器).本地存储的数据与远程服务器同步(使用ember-data RESTadapter).

服务器从客户端收集所有数据.使用数学集符号:

Server = Client1 ? Client2 ? ... ? ClientN 
Run Code Online (Sandbox Code Playgroud)

通常,任何记录对某个客户来说可能不是唯一的:

ClientX ? ClientY ? 0,  ? X,Y ? [1,N]
Run Code Online (Sandbox Code Playgroud)

以下是一些场景:

  • 客户创建记录.无法在客户端上设置记录的ID,因为它可能与存储在服务器上的记录冲突.因此,需要将新创建的记录提交到服务器 - >接收id - >在localStorage中创建记录.

  • 记录在服务器上更新,因此localStorage和服务器中的数据不同步.只有服务器知道,所以架构需要实现推送架构(?)

您是否会使用2个存储(一个用于localStorage,一个用于REST)并在它们之间同步,或者使用混合索引的DB2/REST适配器并在适配器中写入同步代码?

你能看到任何避免实现推送的方法(Web Sockets,...)?

rest data-synchronization ember.js ember-data

12
推荐指数
1
解决办法
2184
查看次数

检查来自Alamofire和Swift的多个异步响应

我正在编写一个依赖于来自各种站点/服务的数据的应用程序,并且涉及基于来自这些不同来源的数据执行计算以生成最终产品.

我编写了一个带有两个函数的示例类,它们收集来自两个源的数据.我选择使函数不同,因为有时我们根据源应用不同的身份验证方法,但在这个例子中我只是将它们剥离到最简单的形式.这两个函数都使用Alamofire来触发和处理请求.

然后我有一个初始化函数,它说如果我们成功地从两个源收集数据,然后加载另一个nib文件,否则等待几秒钟,如果没有返回响应,则加载服务器错误nib文件.

我试图让这个例子尽可能简单.实质上.这是我想要遵循的那种逻辑.不幸的是,这似乎目前在其当前实施中不起作用.

import Foundation

class GrabData{
    var data_source_1:String?
    var data_source_2:String?

    init(){    
        // get data from source 1
        get_data_1{ data_source_1 in
            println("\(data_source_1)")
        }

        // get data from source 2
        get_data_2{ data_source_1 in
            println("\(data_source_1)")
        }

        var timer = 0;
        while(timer<5){
            if((data_source_1 == nil) && (data_source_2 == nil)){
                // do nothing unless 4 seconds has elapsed
                if (timer == 4){
                    // load server error nib
                }
            }else{
                // load another nib, and start manipulating data
            }
            // sleep for 1 second …
Run Code Online (Sandbox Code Playgroud)

asynchronous ios data-synchronization swift alamofire

12
推荐指数
1
解决办法
9181
查看次数