一种数据同步的方法及装置制造方法及图纸

技术编号:31235236 阅读:30 留言:0更新日期:2021-12-08 10:16
本发明专利技术公开了一种数据同步的方法及装置,包括:数据同步端从数据库中获取第一数据表中作为各行数据唯一标识的第一自增主键序列;自增主键序列中的各自增主键是根据各行数据写入数据表的顺序按照自增方式依次生成的;将第二数据表的第二自增主键序列中未记录在第一自增主键序列的自增主键确定为差异主键;第二数据表是数据同步端本地存储的与第一数据表存在同步关系的数据表;将差异主键对应的行数据从第二数据表中删除,得到同步后的第二数据表。从而保证了数据库与数据同步端之间的数据一致性,提高了数据同步的效率,提升了数据库的安全性。的安全性。的安全性。

【技术实现步骤摘要】
一种数据同步的方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域,尤其涉及一种数据同步的方法及装置。

技术介绍

[0002]现有技术中,随着业务场景的不断丰富、广告数量的持续增加,数据同步端需要通过获取数据库中的数据,然后将数据缓存至数据同步端的本地中,以此提升在线推荐广告的速度。
[0003]目前,数据库与数据同步端之间数据的同步,一般通过以下几种方式实现:
[0004]1、数据同步端周期性地获取数据库的全量数据,并将全量数据缓存至数据同步端的本地中。
[0005]2、数据同步端周期性地获取数据库的增量数据,并将增量数据缓存至数据同步端的本地中。
[0006]3、使用预设框架,数据同步端通过预设框架获取并解析数据库中的数据日志,从而根据数据日志对数据同步端的本地数据进行同步更新操作。
[0007]但上述方式1更新耗时,性能低下,影响缓存的正常访问;方式2中,无法针对数据库中数据删除情况进行同步操作,进而无法保证数据库与数据同步端之间的数据一致性;方式3中,因为预设框架可以直接获取数据库的数据日志,导致数据库的安全性存在隐患。
[0008]因此,现需要一种数据库与数据同步端之间的数据同步方法,用于提升数据库的安全性,提高数据库与数据同步端之间的数据同步效率。

技术实现思路

[0009]本专利技术实施例提供一种数据同步的方法及装置,用于提升数据库的安全性,提高数据库与数据同步端之间的数据同步效率。
[0010]第一方面,本专利技术实施例提供一种数据同步的方法,包括:
[0011]数据同步端从数据库中获取第一数据表中作为各行数据唯一标识的第一自增主键序列;自增主键序列中的各自增主键是根据各行数据写入数据表的顺序按照自增方式依次生成的;
[0012]所述数据同步端将第二数据表的第二自增主键序列中未记录在所述第一自增主键序列的自增主键确定为差异主键;所述第二数据表是所述数据同步端本地存储的与所述第一数据表存在同步关系的数据表;
[0013]所述数据同步端将所述差异主键对应的行数据从所述第二数据表中删除,得到同步后的第二数据表。
[0014]上述技术方案中,通过确定出数据库中删除的数据,从而保证数据库与数据同步端本地之间的数据一致性,具体的,通过自增主键序列,确定出数据库与数据同步端本地之间的差异主键,通过差异主键来确定数据库与数据同步端本地之间不一致的数据,然后将不一致的数据删除,从而更新数据同步端本地的第二数据表,进而保证了数据库与数据同
步端之间的数据一致性;因为本专利技术数据同步时,不需要同步全量数据,因此提高了数据同步的效率;因为本专利技术确定了数据库中删除的数据,从而保证了数据库与数据同步端之间,针对数据库中删除的数据同步;因为本专利技术使用差异主键来确定数据库中删除的数据,不需要使用数据库日志来确定数据库中删除的数据,因此提升了数据库的安全性。
[0015]可选的,所述方法还包括:
[0016]所述数据同步端获取所述第一数据表中各行数据的时间戳;所述各行数据的时间戳用于表征所述各行数据的修改和/或增加时刻;
[0017]所述数据同步端根据所述各行数据的时间戳确定增量数据;
[0018]所述数据同步端将所述增量数据更新至所述第二数据表。
[0019]上述技术方案中,针对数据库中增加和/或修改的数据同步时,通过对第一数据表中每行数据的时间戳来确定待同步数据,即增量数据,由此保证了数据库与数据同步端之间的数据一致性;且因为不需要通过数据库日志来确定增量数据,因此提升了数据库的安全性。
[0020]可选的,所述数据同步端将第二数据表的第二自增主键序列中未记录在所述第一自增主键序列的自增主键确定为差异主键,包括:
[0021]所述数据同步端将所述第一自增主键序列中各行数据对应的第一自增主键以数组形式进行存储;将所述第二自增主键序列中各行数据的第二自增主键以键值对形式进行存储;
[0022]针对任一第二自增主键,所述数据同步端遍历以数组形式存储的所述第一自增主键序列,判断所述第一自增主键序列中是否记录有与所述第二自增主键一致的第一自增主键;
[0023]若否,则将所述第二自增主键确定为差异主键。
[0024]上述技术方案中,在确定差异主键时,因为待遍历的第一自增主键序列是以数组形式存储的,因此可以增加遍历效率,因为第二自增主键以键值对形式进行存储的,因此可以提升选择待判断的第二自增主键的效率,从而提升数据同步的效率。
[0025]可选的,得到同步后的第二数据表之后,还包括:
[0026]所述数据同步端将所述第二自增主键序列中所述各差异主键删除,得到更新后的第二自增主键序列。
[0027]上述技术方案中,差异主键相当于记录在第二自增主键序列,但已经在第一自增主键序列中删除,即未记录在第一自增主键序列中,因此,将第二自增主键序列中所述各差异主键删除,以用于下一周期时确定差异主键,增加了数据同步的实时性。
[0028]可选的,所述数据同步端根据所述各行数据的时间戳确定增量数据,包括:
[0029]所述数据同步端按照配置文件中的待同步字段,将数据库中时间戳满足预设条件的所述待同步字段对应的数据确定为所述增量数据;所述配置文件用于指示第一数据表和第二数据表之间的待同步字段;所述预设条件为时间戳位于同步周期内。
[0030]上述技术方案中,通过待同步字段来确定增量数据,可以实现选择性的获取数据库的数据,增加了数据同步的灵活性。
[0031]可选的,配置文件中配置有表名结构;
[0032]数据同步端从数据库中获取第一数据表中作为各行数据唯一标识的第一自增主
键序列,包括:
[0033]数据同步端按照所述配置文件中的表名结构,生成查询语句,通过所述查询语句从数据库中获取所述第一数据表中作为各行数据唯一标识的第一自增主键序列。
[0034]上述技术方案中,以表名为单位生成第一自增主键序列,防止出现数据同步错误,增加了数据同步的准确性。
[0035]可选的,所述方法还包括:
[0036]所述数据同步端按照配置文件的预设规则对所述第二数据表进行表结构形变,得到第三数据表;
[0037]所述数据同步端根据所述预设规则,确定出与各差异主键对应的关联键;
[0038]所述数据同步端通过所述预设规则将增量数据更新至所述第三数据表,且将所述关联键对应的数据从所述第三数据表中删除,得到更新后的第三数据表。
[0039]上述技术方案中,在进行数据同步时,可以实现对与第二数据表存在关联关系的第三数据表进行数据同步,增加了数据同步的灵活性。
[0040]第二方面,本专利技术实施例提供一种数据同步的装置,包括:
[0041]获取模块,用于从数据库中获取第一数据表中作为各行数据唯一标识的第一自增主键序列;自增主键序列中的各自增主键是根据各行数据写入数据表的顺序按照自增方式依次生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步的方法,其特征在于,包括:数据同步端从数据库中获取第一数据表中作为各行数据唯一标识的第一自增主键序列;自增主键序列中的各自增主键是根据各行数据写入数据表的顺序按照自增方式依次生成的;所述数据同步端将第二数据表的第二自增主键序列中未记录在所述第一自增主键序列的自增主键确定为差异主键;所述第二数据表是所述数据同步端本地存储的与所述第一数据表存在同步关系的数据表;所述数据同步端将所述差异主键对应的行数据从所述第二数据表中删除,得到同步后的第二数据表。2.如权利要求1所述的方法,其特征在于,所述方法还包括:所述数据同步端获取所述第一数据表中各行数据的时间戳;所述各行数据的时间戳用于表征所述各行数据的修改和/或增加时刻;所述数据同步端根据所述各行数据的时间戳确定增量数据;所述数据同步端将所述增量数据更新至所述第二数据表。3.如权利要求1所述的方法,其特征在于,所述数据同步端将第二数据表的第二自增主键序列中未记录在所述第一自增主键序列的自增主键确定为差异主键,包括:所述数据同步端将所述第一自增主键序列中各行数据对应的第一自增主键以数组形式进行存储;将所述第二自增主键序列中各行数据的第二自增主键以键值对形式进行存储;针对任一第二自增主键,所述数据同步端遍历以数组形式存储的所述第一自增主键序列,判断所述第一自增主键序列中是否记录有与所述第二自增主键一致的第一自增主键;若否,则将所述第二自增主键确定为差异主键。4.如权利要求1所述的方法,其特征在于,得到同步后的第二数据表之后,还包括:所述数据同步端将所述第二自增主键序列中所述各差异主键删除,得到更新后的第二自增主键序列。5.如权利要求2所述的方法,其特征在于,所述数据同步端根据所述各行数据的时间戳确定增量数据,包括:所述数据同步端按照配置文件中的待同步字段,将数据库中时间戳满足预设条件的所述...

【专利技术属性】
技术研发人员:陈旭张帅黄金根訾兴琰
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1