本发明涉及数据处理,尤其涉及一种数据库数据同步方法、装置、设备及存储介质。
背景技术:
1、在同步数据库数据时,从源端数据库抽取到相关数据记录后,需要将这些记录写入到目标数据库中。
2、目前,写入目标库时一般采用直连方式进行写入,当数据量特别大时,就需要考虑进行并发写入,即建立多个数据库的链接将待同步数据按一定的原则分类分别通过不同链接进行写入。因数据一致性要求,记录写入的顺序要与原记录的生成顺序一致,并发写入时数据记录的方式可采用按表进行或按主键进行。一般情况下,若数据表内数据记录较多,则优先选取主键并发方式;若数据表的数量较多,则优先选取表并发方式,按哪种方式进行,需要在数据同步开始前就确定。
3、因目前的并发写入方式需要在同步数据开始前进行设置,因此该数据库数据同步方法存在以下几个缺点:第一,要求操作人员非常熟悉数据库结构及内容;第二,当存在数据表的数量特别多且部分表内的数据记录特别大的情况时,无论选取两种并发方式中的哪一种并发方式,都无法很好的快速同步数据;第三,在新增数据记录的数据情况无法提前预知时,只能随机选取一种并发方式,容易造成并发方式的不区配。
技术实现思路
1、本发明提供了一种数据库数据同步方法、装置、设备及存储介质,以实现在同步数据库数据时实时匹配适合的同步并发方式,提高数据同步效率。
2、根据本发明的一方面,提供了一种数据库数据同步方法,该方法包括:
3、从源端数据库抽取待同步数据;
4、获取所述待同步数据所在数据表在预设第一同步时间段内的同步数据数量;
5、根据所述同步数据数量,更新对应数据表的同步并发方式,所述同步并发方式包括表并发和主键并发;
6、依据所述同步并发方式将所述待同步数据同步至目标数据库。
7、可选的,所述根据所述同步数据数量,更新对应数据表的同步并发方式,包括:
8、若同步数据数量为零,则确定所述待同步数据所在数据表的同步并发方式为表并发;否则,
9、获取所述待同步数据所在数据表的当前同步并发方式,根据所述当前同步并发方式和所述同步数据数量,确定所述数据表的同步并发方式。
10、可选的,所述根据所述当前同步并发方式和所述同步数据数量,确定所述数据表的同步并发方式,包括:
11、若所述当前同步并发方式为表并发,且所述同步数据数量大于等于预设主键并发阈值,则更新所述数据表的同步并发方式为主键并发;
12、若所述当前同步并发方式为主键并发,且所述同步数据数量小于预设表并发阈值,则更新所述数据表的同步并发方式为表并发;
13、其中,所述预设主键并发阈值大于等于所述预设表并发阈值。
14、可选的,在更新所述数据表的同步并发方式为主键并发的同时,还包括:
15、新建预设主键并发数量个主键并发链接,用于同步所述同步并发方式为主键并发的待同步数据。
16、可选的,所述方法还包括:
17、初始化预设第一表并发数量个表并发链接,用于同步所述同步并发方式为表并发的待同步数据。
18、可选的,所述方法还包括:
19、统计预设第二同步时间段内同步数据表的数据表数量;
20、若当前表并发链接数量为所述预设第一表并发数量,且所述数据表数量大于等于预设表链接增加阈值,则新建预设第二表并发数量个表并发链接;
21、若当前表并发链接数量为所述预设第一表并发数量与所述预设第二表并发数量之和,且所述数据表数量小于预设表链接缩减阈值,则关闭预设第二表并发数量个表并发链接;
22、其中,所述预设表链接增加阈值大于等于所述预设表链接缩减阈值。
23、可选的,所述依据所述同步并发方式将所述待同步数据同步至目标数据库,包括:
24、若所述同步并发方式为表并发,则获取所述待同步数据所在数据表对应的表并发链接,基于所述表并发链接同步所述待同步数据至目标数据库;
25、若所述同步并发方式为主键并发,则获取所述待同步数据所在数据表对应的一个主键并发链接,基于所述主键并发链接同步所述待同步数据至目标数据库。
26、根据本发明的另一方面,提供了一种数据库数据同步装置,该装置包括:
27、同步数据抽取模块,用于从源端数据库抽取待同步数据;
28、数据数量统计模块,用于获取所述待同步数据所在数据表在预设第一同步时间段内的同步数据数量;
29、并发方式更新模块,用于根据所述同步数据数量,更新对应数据表的同步并发方式,所述同步并发方式包括表并发和主键并发;
30、数据同步模块,用于依据所述同步并发方式将所述待同步数据同步至目标数据库。
31、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
32、至少一个处理器;以及
33、与所述至少一个处理器通信连接的存储器;其中,
34、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据库数据同步方法。
35、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据库数据同步方法。
36、本发明实施例的技术方案,通过从源端数据库抽取待同步数据,获取待同步数据所在数据表在预设第一同步时间段内的同步数据数量,根据同步数据数量,更新对应数据表的同步并发方式,同步并发方式包括表并发和主键并发,依据同步并发方式将待同步数据同步至目标数据库。该方法在同步数据库数据前不必设置并发方式,在同步数据时可以根据同步数据的数据量实时匹配适合的同步并发方式,克服了提前设置的同步并发方式与实际同步情况不匹配导致数据同步慢、浪费资源的缺点,有效提高了数据同步效率,减少了对操作人员的技术要求。
37、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种数据库数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述同步数据数量,更新对应数据表的同步并发方式,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前同步并发方式和所述同步数据数量,确定所述数据表的同步并发方式,包括:
4.根据权利要求3所述的方法,其特征在于,在更新所述数据表的同步并发方式为主键并发的同时,还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述依据所述同步并发方式将所述待同步数据同步至目标数据库,包括:
8.一种数据库数据同步装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据库数据同步方法。