1 .一种数据同步方法,其特征在于,包括:
获取对行表的增量操作;
通过辅助表记录所述增量操作的信息;其中,所述增量操作的信息包括所述增量操作
的类型以及所述增量操作对应的行表的行号,或者包括所述增量操作的类型以及所述增量
操作对应的行表的行号和列号,所述辅助表中记录预设时间内有效的增量操作;
根据所述增量操作信息确定所述行表中的增量数据,并将所述增量数据同步到列表
中,以使在一次的同步过程中每行数据只有一次操作;其中,如果所述行表有主键,则所述
列表设置相同的主键,如果所述行表没有主键,则在所述列表上添加一个主键列;所述主键
列用于辅助同步。
2.根据权利要求1所述的方法,其特征在于,若所述增量操作为非批量插入操作;
所述通过辅助表记录所述增量操作的信息,包括:
在辅助表中添加一条非批量插入记录;所述非批量插入记录,用于记录本次增量操作
类型为非批量插入操作,以及所述非批量插入操作对应的行表的行号。
3 .根据权利要求1所述的方法,其特征在于,若所述增量操作为批量插入操作;
所述通过辅助表记录所述增量操作的信息,包括:
在辅助表中添加批量插入记录;其中,
所述批量插入记录,用于记录本次增量操作的类型为批量插入操作,以及批量插入操
作对应的行表的起始行号和结束行号。
4 .根据权利要求1所述的方法,其特征在于,若所述增量操作为更新操作;
所述通过辅助表记录所述增量操作的信息,包括:
若所述辅助表中包含目标数据行的插入记录,且所述插入记录对当前事务可见,在所
述辅助表中不再添加所述更新操作的记录,并将所述插入记录的事务号更新为当前事务
号;其中,所述插入记录包括所述目标数据行的非批量插入记录或所述目标数据行处于批
量插入区间的批量插入记录,所述目标数据行是:所述行表中进行更新操作的数据行;
若在所述辅助表中,所述目标数据行的操作记录中包含的增量操作类型不是更新操
作,且所述目标数据行的操作记录对当前事务不可见,或者,所述辅助表中不包含目标数据
行的操作记录,向所述辅助表中添加一条更新记录;其中,所述更新记录,用于记录本次增
量操作类型为更新操作,以及所述更新操作对应的行表的行号以及列号;
若在所述辅助表中,所述目标数据行的操作记录中包含的增量操作类型是更新操作,
且所述目标数据行的操作记录对当前事务可见,将所述更新操作对应的列号更新到所述目
标数据行的操作记录中;
若所述目标数据行的操作记录对当前事务不可见,当确定其他事务提交时,判断所述
目标数据行的操作记录是否存在;
若否,在所述辅助表中插入一条更新记录;
若是,重复在辅助表中不再添加更新操作的记录的操作,或者重复向辅助表中添加一
条更新记录的操作,或者重复将更新操作对应的列号更新的操作。
5 .根据权利要求1所述的方法,其特征在于,所述增量操作为删除操作;
所述通过辅助表记录所述增量操作的信息,包括:
若所述辅助表中包含所述行表中目标数据行的操作记录,且所述目标数据行的操作记
权 利 要 求 书
1/2 页
2
评论