利索能及
我要发布
收藏
专利号: 2018106019118
申请人: 东软集团股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-04-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种无主键数据表的同步方法,其特征在于,所述方法包括:

获取源数据库中的目标数据表从第一内容到当前的第二内容的数据变更轨迹信息,所述第一内容为上一次在所述源数据库中与目标数据库之间进行所述目标数据表的同步时的表格内容;

根据所述数据变更轨迹信息生成结构化查询语言SQL形式的同步语句;

根据所述同步语句对所述目标数据库中的所述目标数据表进行数据变更操作,以便将所述目标数据库中的所述目标数据表从所述第一内容变更为所述第二内容。

2.根据权利要求1所述的方法,其特征在于,所述数据变更轨迹信息包括:一条或多条数据变更记录,每条所述数据变更记录中包含:变更类型、数据信息以及变更次数。

3.根据权利要求2所述的方法,其特征在于,在上一次在所述源数据库中与目标数据库之间进行所述目标数据表的同步时,在所述源数据库和所述目标数据库中记录有基于所述第一内容的数据标识信息,所述数据标识信息包括:所述目标数据表为所述第一内容时,所述目标数据表中每条数据记录的标识,以及相同标识的数据记录在所述目标数据表中的重复出现次数。

4.根据权利要求3所述的方法,其特征在于,所述根据所述数据变更轨迹信息生成SQL形式的同步语句,包括:获取所述数据变更轨迹信息中的第i条数据变更记录中的变更类型、数据信息以及变更次数,i为正整数,i的起始值为1;

根据所述变更类型、所述数据信息、所述变更次数,以及被变更的目标数据记录的所述重复出现次数,确定所述第i条数据变更记录对应的同步语句;

令i=i+1,并重复执行所述获取所述数据变更轨迹信息中的第i条数据变更记录中的变更类型、变更的数据以及变更次数至确定所述第i条数据变更记录对应的同步语句的步骤,直至获取所述数据变更轨迹信息中的所有数据变更记录对应的同步语句。

5.根据权利要求4所述的方法,其特征在于,所述根据所述变更类型、所述数据信息、所述变更次数,以及被变更的目标数据的所述重复出现次数,确定所述第i条数据变更记录对应的同步语句,包括:当所述变更类型为删除时,根据所述数据信息确定所述第i条数据变更记录对应的目标数据记录;

根据所述变更次数,以及所述目标数据记录的所述重复出现次数生成所述第i条数据变更记录对应的同步语句,所述同步语句包含:删除所述目标数据记录的语句和将所述目标数据记录补偿n次的语句,其中n为所述重复出现次数减去所述变更次数得到的差值;

或者,

当所述变更类型为变更时,根据所述数据信息确定所述第i条数据变更记录对应的目标数据记录,以及所述目标数据记录变更后的数据记录;

根据所述目标数据记录以及所述变更后的数据记录确定所述目标数据记录中被变更的目标字段,以及所述目标字段的变更后的目标值;

根据所述变更次数,所述目标数据记录的所述重复出现次数,所述目标字段以及所述目标字段的变更后的目标值生成所述第i条数据变更记录对应的同步语句,所述同步语句包含:将所述目标数据记录的所述目标字段设置为所述目标值的语句、将所述目标数据记录的所述目标字段设置为所述目标值所得到的数据记录删除的语句,以及将所述目标数据记录补偿q次的语句,和/或将所述目标数据记录的所述目标字段设置为所述目标值所得到的数据记录补偿p次的语句,其中p等于所述变更次数,q为所述重复出现次数减去所述变更次数得到的差值;或者,当所述变更类型为插入时,根据所述数据信息确定所述第i条数据变更记录对应的目标数据记录;

根据所述变更次数生成所述第i条数据变更记录对应的同步语句,所述同步语句包含:将所述目标数据记录补偿j次的语句,其中j为所述变更次数。

6.根据权利要求4所述的方法,其特征在于,所述方法还包括:

当所述变更类型为删除时,在所述根据所述同步语句对所述目标数据库中的所述目标数据表进行数据变更操作之后,在所述源数据库和所述目标数据库中将所述目标数据记录的所述重复出现次数减去所述变更次数;或者,当所述变更类型为变更时,在所述根据所述同步语句对所述目标数据库中的所述目标数据表进行数据变更操作之后,在所述源数据库和所述目标数据库中将所述目标数据记录的所述重复出现次数减去所述变更次数,并将所述更后的数据记录的所述重复出现次数增加所述变更次数;或者,当所述变更类型为插入时,在所述根据所述同步语句对所述目标数据库中的所述目标数据表进行数据变更操作之后,在所述源数据库和所述目标数据库中将所述目标数据记录的所述重复出现次数增加j。

7.根据权利要求4或5所述的方法,其特征在于,所述根据所述数据变更轨迹信息生成SQL形式的同步语句,还包括:在获取所述数据变更轨迹信息中的所有数据变更记录对应的同步语句后,将所有数据变更记录对应的同步语句进行合并处理。

8.一种无主键数据表的同步装置,其特征在于,所述装置包括:

获取模块,用于获取源数据库中的目标数据表从第一内容到当前的第二内容的数据变更轨迹信息,所述第一内容为上一次在所述源数据库中与目标数据库之间进行所述目标数据表的同步时的表格内容;

生成模块,用于根据所述数据变更轨迹信息生成结构化查询语言SQL形式的同步语句;

同步模块,用于根据所述同步语句对所述目标数据库中的所述目标数据表进行数据变更操作,以便将所述目标数据库中的所述目标数据表从所述第一内容变更为所述第二内容。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:权利要求9所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。