我想这样作,不知道行不行,
A的数据和B的数据都作一个映射
当有数据更新的时候,都不进行实际的更新,而是放入A的更新表里或B的更新表里,
然后在用户访问的时候,A可以看A的映射和A的更新表,b可以看b的映射和b的更新表
当同步的时候,将A更新表和B更新表进行比较,根据时间或根据上传的人(比如经理的数据比员工重要)
来更新A和B并对映射进行更新

解决方案 »

  1.   

    交给数据库去做数据同步,你用程序控制的话就不太现实了。比如oracle、lotus notes
      

  2.   

    这是个数据分布一致性的超级难题,数据库厂家都作不好,你就别想了。目前所有的系统,基本都是数据库服务器一个(有多个也是类似对CPU和内存的负载均衡,为了提高处理能力,但信息还是只有一份),应用服务器多个
      

  3.   

    我先介绍一下该项目:用JSP开发,Web服务器为Win2K,后台数据库为Sybase,数据库服务器为linux。该系统的用户有两种,暂时称他们为用户A和用户B。出于安全性考虑,采用两套服务器,服务器A属于局域网内,用户A直接访问服务器A使用系统,用户B采用拨号的方式访问服务器B,通常情况下服务器A与服务器B是物理断开的,这样做的目的是防止用户B通过某种方式得到局域网内的数据信息。但同时还要保证数据的一致性,所以每天都要进行数据同步。数据同步时,服务器A与服务器B连接,问题是,用户A和用户B都有可能更新数据,我并不知道到底哪边的数据才是最新的,请问,这种情况下应该怎么办?一种方法是A或B在更新数据的时候,谁先更新同时锁定另一个服务器,A更新完后更新B在释放锁,做到同步更新
    二种方法是定时更新,在A和B的数据中加入版本号,每天定时更新的时候检查版本,如果那个数据新就更新为那个,但是牵扯到数据判断删减增加等,所以每个数据都要打入标记,要对删除,增加,更新等多种不同操作指定不通策略
      

  4.   

    不可能做到同步更新,因为服务器A与服务器B通常情况下是不连接的,如果能让它们连接的话,就不必要用两套服务器了,只有在数据同步的时候才连接,此时服务器B与拨号网络是断开的,用户B无法访问到服务器B.
      

  5.   

    Web服务器为Win2K,后台数据库为Sybase,数据库服务器为linux?
      

  6.   

    唉!这么简单的还问什么啊,
    a表更新的时候发个请求,给b
    b表更新的时候发个请求,给a ,有什么问题吗
      

  7.   

    wwwtom(兰色风暴),我已经说过了,两台服务器通常情况下是不连通的,每天只有在数据同步时才会连接.
      

  8.   

    以前我做项目时也深入的考虑过这个问题,但是我刚毕业,一个所谓的高手说做程序可以,
    让我们对每个表都写了insert /delete触发器,后来狗屁,根本不能达到要求,
    再后来,我看sqdlserver2000,有publisher这个功能,好像有点意思,也没深入看下去,
    你去看看,自己写程序理论上也有可能,但是估计没有可行性,
    具体实现可能和你的各个表的数据提交是否有交叉关系很大