数据同步方式探讨

本文介绍了一种基于dataversion字段实现高效数据同步的方法,详细解释了如何通过版本控制来跟踪数据变化,包括新增、修改及删除操作,并给出了具体的数据同步方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据同步方式<o:p></o:p>

1、哪些数据需要同步<o:p></o:p>

(1)  新增的数据<o:p></o:p>

(2)  修改过的数据<o:p></o:p>

(3)  删除的数据<o:p></o:p>

(4)  其它数据(原数据没有修改过,也未删除的)<o:p></o:p>

2、保证最小数据量的同步<o:p></o:p>

(1)  新增的数据需要同步添加<o:p></o:p>

(2)  修改过的数据需要同步进行更新<o:p></o:p>

(3)  删除的数据需要同步进行删除<o:p></o:p>

(4)  其它数据(保持不变,不需要进行处理)<o:p></o:p>

3、同步方案(数据获取的方式,JMS发送方)<o:p></o:p>

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

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

设计参照于以下方案:<o:p></o:p>

(1)           默认未同步过的数据的dataversion0<o:p></o:p>

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

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

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

(5)           新添加的数据,dataversion字段置为0<o:p></o:p>

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

4、同步方案(数据的保存方式,JMS接收方)<o:p></o:p>

(1)           对于dataversion == 0 的数据,执行添加操作(insert)<o:p></o:p>

(2)           对于dataversion != 0 的数据,执行更新操作(update)。<o:p></o:p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值