本地和远程数据同步

时间:2009-11-18 12:05:43

标签: database synchronization

我们有一个带有访问数据库的本地服务器,该数据库将数据提供给同一域中的客户端。现在我们还有一个外部托管的网站,并在桥梁系统上工作,提供产品,类别和订单等的上传/下载功能。

产品,类别和客户等只能在本地添加,但订单可以在本地和网站上添加。我们正在尝试通过使用Web服务的桥接应用程序来同步这些。我们有这个工作,但遇到了更多的问题。我们目前的方法是:

  • 每个单独的记录都有一个本地ID(luid)和一个web服务器id(suid),用法的一个例子是当一个项目被添加到网站上时,它被赋予一个唯一的suid并且luid是-1,一次该项目由桥接应用程序下载,应用并更新luid。这与本地服务器上添加的项目相反。
  • 每个单独的记录也有一个标志字段(突出显示插入,更新,删除(从网站上删除)和删除)。

上述方法效果很好 - 除了luid和suid方法之外,一旦下载项目,就无法轻松跟踪记录关系。这种方法似乎只适用于单向数据 - 即只是将产品上传到网站进行查看(以及动态更新和删除)。

为了解决这个问题,我考虑过使用GUID或COMBs GUID方法,这意味着可以在双方添加项目并进行适当的同步,因为性能问题让我感到有些担忧。

一些要点是:

  • 本地服务器是数据“大本营”,其中所有内容都需要(最终)存储。
  • 由于Web服务,只有本地网桥应用程序才能向Web服务器发出请求。
  • 需要支持可能并不总是有互联网连接的机会,因此从Web服务器请求唯一ID并不理想。

有没有人对处理这种“同步”的更好的编程方法有意见?

1 个答案:

答案 0 :(得分:0)

唯一的ID肯定会简化事情。我不明白为什么你需要关注性能,GUID可以从机器特定的东西构建,或者可以分批发布id,这样normalid构造就是纯粹的本地活动。