我用jsp写了一个进销存系统,数据库是mysql,服务器(tomcat 6.0)就是用的公司办公用的电脑,(系统使用人数比较少,也就仓库管理员比较频繁一些),平均每个地方每天数据库条数在3000条左右。因为公司在其他地方也有工厂,所以其他地方也需要安装这个系统。系统:web版进销存
语言:jsp。(系统中的操作基本上都是用的ajax)
服务器:windows xp   双核或四核     2g或4g内存
服务器软件: tomcat 6.0.   +      MySQL   都是装在同一电脑上的
使用人数:20左右。未来可能会发展到100左右下面是我现在的做法,
比如现在有:A(上海总部),B(北京),C(韩国),D(美国)
我在每个地方都放了一台服务器,就没有连接外网,这样做的目的是为了每个地方的仓库管理员在进行操作时不会有延迟,
但是问题来了,A需要知道B,C,D的库存数据情况。
于是我就做了一个feedback程序,程序原理是:我在网站数据库操作类中加入一个过滤代码,只要是数据库操作语句(不包括数据库查询语句)都会将语句写入到一个txt文件中。我用.net写了一个程序,负责上传和下载txt文件,如果下载后就会把txt转换为sql批处理文件并执行。然后我就在B,C,D每个地方都安装了这样的软件,有feedback负责将txt上传到ftp(架设在上海)上,上海这边就会检测如果有新的txt就会下载并运行(上海也分别建立了B,C,D数据库)。现在功能实现了,但是这样数据的一致性不稳定。目前做法是利用feedback程序每天备份数据库并上传到ftp中(自动备份上传并压缩),然后上海在恢复其它地方数据库,但是这个不是长久之计啊,我现在打算把其它地方的日记打开,每次把把最新更新操作上传至ftp。 上海在进行下载运行,不知道大家有没有什么好的方案分享一下,数据库异地同步

解决方案 »

  1.   

    你这方式把问题复杂化了吧  交互又不是很多  还是各个地方都操作同一个库合情合理
      

  2.   

    你的意思是说都用一个数据库,但是如果都用一个数据库的话,我就要在上海的这个服务器上架设成外网了,这样国外来连接会不会有延迟,
      

  3.   

    需要找相关的机房运维人员找个尽可能快的链路
      

  4.   

    我觉得可以把你的数据库服务器放在一个好的(多线)机房里,不管从哪儿连,速度都会比较快!
      

  5.   

    谢谢上面两位兄弟,大家有想法的继续发表,顶一下
      

  6.   

    a764392008 :  有什么好的同步方法吗?求指教!!