Delta同步逻辑

时间:2017-11-17 10:45:48

标签: architecture synchronization

在执行增量同步时寻找一些高级逻辑。 我们有一个系统A从系统B读取数据 - 两者都是SQL DB。 A和B之间的数据传输可能需要10个小时。系统B中的对象给出一个更改日期值,告诉我们对象何时更改

我们现在需要提出一个delta同步逻辑 - 即只捕获自上次同步完成后已经发生变化的B中的对象。

我们现有的逻辑是这样的:

1)根据上次同步日期(从系统B更改日期>上次同步日期)同步数据

2)将同步完成后的日期存储到上次同步日期

我认为这个逻辑并没有捕获在同步过程中可能发生的任何变化。

假设最后一个同步日期是11月17日08:00,我会根据该时间开始同步。这将于11月17日20:00结束,我存储了该值。现在,在10小时同步期间,系统B中的一些对象在11月17日16:00更改为更改。在下一个周期中,我们将错过这些对象,因为" new"上次同步日期为11月17日20:00

关于如何执行增量同步的高级逻辑的任何建议?

由于

更新:我看到了一篇有用的文章但不确定是什么" Capture"手段 https://community.boomi.com/docs/DOC-2784#jive_content_id_2_GOOD_Extract_by_Last_Modified_Date

方法#2

1 个答案:

答案 0 :(得分:0)

啊,我觉得我明白了。

1)将同步的开始日期存储到变量(比如x)

2)执行同步(使用步骤3中的值进行比较)

3)将x的值存储到永久存储器