网上找寻的一篇文章
一、数据同步方式
1、哪些数据需要同步
(1) 新增的数据
(2) 修改过的数据
(3) 删除的数据
(4) 其它数据(原数据没有修改过,也未删除的)
2、保证最小数据量的同步
(1) 新增的数据需要同步添加
(2) 修改过的数据需要同步进行更新
(3) 删除的数据需要同步进行删除
(4) 其它数据(保持不变,不需要进行处理)
3、同步方案(数据获取的方式,JMS发送方)
考虑到在信息系统中的特殊的操作,即删除只是置标志位,可以视为更新进行处理。故我们可隐藏了对于删除的处理。
在数据库中的设计中已经留存有dataversion字段,用来进行版本控制。
设计参照于以下方案:
(1) 默认未同步过的数据的dataversion为0。
(2) 首次同步时,取所有的dataversion为0的数据(其它条件自己制定)。
(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)。