本发明专利技术公开了一种数据同步方法、装置、存储介质及电子设备。其中方法包括:获取源数据库中的待同步数据,以及待同步数据所属文件的文件标识信息和所述待同步数据在所属文件中的偏移量数据;基于所述文件标识信息中的顺序标记数据和所述待同步数据的偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据;将所述待同步数据和所述写入顺序表征数据传输至目标数据库,以使所述目标数据库基于所述写入顺序表征数据和已存储数据的写入顺序表征数据判定是否执行对待同步数据的写入操作。通过将待同步数据和写入顺序表征数据传输至目标数据库,避免旧数据覆盖新数据的情况,保证目标数据库与源数据库的数据一致性。
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种数据同步方法、装置、存储介质及电子设备。
技术介绍
1、在互联网企业中,数据库一般是关系型数据库,例如mysql数据库。针对于关系型数据库分库分表查询的缺陷,将关系型数据库中的数据同步至目标数据库中。
2、在数据同步的过程中,为了避免数据的乱序写入,一般依赖于消息队列,例如将通过发送数据同步消息到消息队列中,基于消息队列先进先出的原则消费数据同步消息。
3、在实现本专利技术的过程中,发现现有技术中至少存在以下技术问题:上述同步过程依赖于消息中间件,同时,将数据同步消息按写入顺序成功发送到消息队列中,是数据同步的前提,如果消息发生乱序的情况下,则会影响数据同步过程中的数据一致性。
技术实现思路
1、本专利技术提供了一种数据同步方法、装置、存储介质及电子设备,以解决在数据同步过程中,保证在目标数据库中数据写入顺序的准确性。
2、根据本专利技术的一方面,提供了一种数据同步方法,包括:
3、获取源数据库中的待同步数据,以及待同步数据所属文件的文件标识信息和所述待同步数据在所属文件中的偏移量数据;
4、基于所述文件标识信息中的顺序标记数据和所述待同步数据的偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据;
5、将所述待同步数据和所述写入顺序表征数据传输至目标数据库,以使所述目标数据库基于所述写入顺序表征数据和已存储数据的写入顺序表征数据判定是否执行对待同步数据的写入操作。</p>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、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...
【技术保护点】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述待同步数据的所属文件为二进制日志文件,所述二进制日志文件的文件标识信息的预设字段包括顺序标记数据,所述顺序标记数据的大小与所述二进制日志文件的更新时间正相关;
3.根据权利要求1或2所述方法,其特征在于,所述基于所述文件标识信息中的顺序标记数据和所述偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述顺序标记数据中的有效数据、填充数据和所述偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种数据同步方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述数据同步请求中还包括待同步数据在目标数据库中的索引信息;
8.一种数据同步装置,其特征在于,包括:
9.一种数据同步装置,其特征在于,包括:
10.一种电子设备,其特征在于,所述电子设备包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-5中任一项所述的数据同步方法,或者,权利要求6-7中任一项所述的数据同步方法。
...
【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述待同步数据的所属文件为二进制日志文件,所述二进制日志文件的文件标识信息的预设字段包括顺序标记数据,所述顺序标记数据的大小与所述二进制日志文件的更新时间正相关;
3.根据权利要求1或2所述方法,其特征在于,所述基于所述文件标识信息中的顺序标记数据和所述偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述顺序标记数据中的有效数据、填充数据和所述偏移量数据进行拼接,得到所述待同步数据对应的写入顺序表征数据,包括:
5...
【专利技术属性】
技术研发人员:聂学贤,
申请(专利权)人:京东科技信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。