论坛首页 Java版 SOA

数据同步方式探讨

浏览 1056 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-10-15

一、数据同步方式

1、哪些数据需要同步

(1)  新增的数据

(2)  修改过的数据

(3)  删除的数据

(4)  其它数据(原数据没有修改过,也未删除的)

2、保证最小数据量的同步

(1)  新增的数据需要同步添加

(2)  修改过的数据需要同步进行更新

(3)  删除的数据需要同步进行删除

(4)  其它数据(保持不变,不需要进行处理)

3、同步方案(数据获取的方式,JMS发送方)

    考虑到在信息系统中的特殊的操作,即删除只是置标志位,可以视为更新进行处理。故我们可隐藏了对于删除的处理。

在数据库中的设计中已经留存有dataversion字段,用来进行版本控制。

设计参照于以下方案:

(1)           默认未同步过的数据的dataversion0

(2)           首次同步时,取所有的dataversion0的数据(其它条件自己制定)。

(3)           JMS提交同步后,将被同步的表的数据的字段dataversion统一置为一个dataversion,记录至同步情况表中。(理论上,同步也应当记录日志)。

(4)           进行数据的更新操作时,同时增加一个拦截器,将dataversion置为上次同步的dataversion+1。(现有数据的删除为更新标志位,也遵守此规定)

(5)           新添加的数据,dataversion字段置为0

(6)           非首次同步时,查询同步日志中记录的上次的同步时dataversion的值,同步 数据的dataversion!=上次同步的dataversion的数据字段。

4、同步方案(数据的保存方式,JMS接收方)

(1)           对于dataversion == 0 的数据,执行添加操作(insert)

(2)           对于dataversion != 0 的数据,执行更新操作(update)。

   
论坛首页 Java版 SOA

跳转论坛:
JavaEye推荐