1.一种面向关系数据库的数据同步方法,其特征在于,包括以下步骤:
S1、对于表结构相同的源表S与目的表T,判断这两个表的数据是否有序,如果无序则根据主码对数据条目进行排序;
S2、给目的表T中每条数据添加一个附加字段,用于存储每条数据的信息摘要值,信息摘要值采用MD5算法计算;
S3、在采用相同排序方式的源表S与目的表T上,定义两个指针分别指向源表S与目的表T的首行数据条目;
S4、基于附加字段的信息摘要值逐行比对源表S与目的表T,对目的表T进行更新,以实现源表S与目的表T间的数据同步。
2.根据权利要求1所述的一种面向关系数据库的数据同步方法,其特征在于,在步骤S1中,对源表S和目的表T中数据条目按相同的主码进行排序,以排序数据作为执行的前提条件,降低比对工作的计算复杂度。
3.根据权利要求1所述的一种面向关系数据库的数据同步方法,其特征在于,在步骤S3中,根据排序后的源表S和目的表T,定义两个指针I和J,并让指针初始位置指向源表S和目的表T的首行数据条目,即I=0和J=0,用SI表示源表S的第I条数据,TJ表示目的表T的第J条数据,为接下来逐条对比源表S和目的表T的数据做准备。
4.根据权利要求1所述的一种面向关系数据库的数据同步方法,其特征在于,在步骤S4中,逐行对源表S和目的表T进行数据对比,包括:a、如果源表S的第I条数据SI的主码和目的表T的第J条数据TJ的主码相等,则对其余字段进行比对:将源表S的各个字段取出,使用MD5算法计算SI的信息摘要值,再与TJ中的附加字段的信息摘要值相比较,如果二者相同,则说明源表与目的表完全相同,否则根据源表更新目的表的属性值;
b、如果SI和TJ所有属性都相同,则指针I和J同时后移一位,即I++,J++;
c、如果SI和TJ的信息摘要值不同,则根据SI逐个字段更新TJ中的字段值,更新后SI与TJ的属性完全相同,然后指针I和J同时后移一位,即I++,J++;
d、如果SI的主码>TJ的主码,即按当前排序方式SI的主码排在TJ的主码之后,则在目的表T中删除TJ,并且指针J后移一位,即J++;
e、如果SI的主码
f、如果源表S还有数据未比对,则将剩余数据追加到目的表T;
g、如果目的表T还有数据未比对,则将剩余的数据删除。