数据库同步方法及分布式数据库系统技术方案

技术编号:36083395 阅读:14 留言:0更新日期:2022-12-24 10:58
本发明专利技术提供了一种数据库同步方法及分布式数据库系统。所述数据库同步方法包括数据获取、数据校验、结果判断以及筛选同步等步骤。所述数据库同步方法采用了数据库对数据库的1对1对比校验的数据同步方式,提高分布式数据库系统中每个数据库的利用率,同时减低了多数据库系统中数据库之间的同步难度,进而减小分布式数据库系统的开发难度。式数据库系统的开发难度。式数据库系统的开发难度。

【技术实现步骤摘要】
数据库同步方法及分布式数据库系统


[0001]本专利技术涉及数据处理
,特别是一种数据库同步方法及分布式数据库系统。

技术介绍

[0002]对于分布式系统来说,数据在各种数据库之间的同步是提高系统运行效率、稳定性的重要基础。工业、船舶领域系统复杂,需要使用实时数据库、时序数据库完成系统数据的持久化存储。原始的数据同步由数据库本身支持或提供,使用了内部私有协议,不利于数据库软件的更新与迭代,不利于分布式系统与微服务的搭建。且不同数据库可以提供支持的同步方式也并不相同,需要特定的接口适配工作的开发,这对于软件程序的应用与部署又带来了挑战。且同步等操作分散在系统的各个环节,不利于数据库的高效利用和运行维护,增加了项目开发难度与复杂性。

技术实现思路

[0003]本专利技术的目的是提供一种数据库同步方法及分布式数据库系统,以解决现有数据库的同步方法不利于分布式系统开发,且无法提高数据库利用率,并会影响数据库的运行维护等技术问题。
[0004]为实现上述目的,本专利技术提供一种数据库同步方法,所述数据库同步方法包括以下步骤:
[0005]数据获取:第一数据库接收并存储由外部数据源所传输过来的数据;
[0006]数据校验:同步发送模块获和同步接收模块分别获取同一时间段内所述第一数据库和第二数据库的历史数据信息,并进行校验;
[0007]结果判断:所述同步发送模块依据校验结果判断是否需要同步;其中,当所述校验结果一致时,所述第一数据库和所述第二数据库无需同步;当所述校验结果不一致时,进入筛选同步步骤。
[0008]筛选同步:筛选出同一时间段中所述第一数据库和所述第二数据库中需要同步的数据,并将所筛选出的数据发送至所述第二数据库中。
[0009]进一步地,所述数据校验步骤中包括:所述同步发送模块获取所述时间段内所述第一数据库中的第一历史数据信息,并发送至同步接收模块;所述同步接收模块获取所述时间段内所述第二数据库中的第二历史数据信息,并将所述第二历史数据信息与所述第一历史数据信息进行校验;所述同步接收模块将所述校验结果发送至所述同步发送模块。
[0010]进一步地,所述筛选同步步骤中包括:所述同步发送模块和所述同步接收模块分别将所述时间段均分为大小相同的多个第一时间片,并将每一个所述第一时间片作为一第一存储点;所述同步发送模块和所述同步接收模块分别获取所述第一数据库和所述第二数据库在每一所述第一存储点中的数据量;所述同步发送模块将所述第一数据库中每一所述第一存储点的数据量发送至所述同步接收模块,所述同步接收模块将所述第二数据库中每
一所述第一存储点中的数据量大小与所述第一数据库中对应的所述第一存储点的数据量进行对比,并将每一个第一存储点的对比结果发送至所述同步发送模块;所述同步发送模块接收所述第一存储点的对比结果,并根据所述对比结果找出数据量不一致的第一时间片,所述第一时间片所对应的第一存储点中含有需要进行同步的数据。
[0011]进一步地,所述筛选同步步骤中还包括:所述同步发送模块和所述同步接收模块分别将所述第一时间片均分为大小相同的多个第二时间片,并将每一个所述第二时间片作为一第二存储点;所述同步发送模块和所述同步接收模块分别获取所述第一数据库和所述第二数据库在每一所述第二存储点中的数据量;所述同步发送模块将所述第一数据库中每一所述第二存储点的数据量发送至所述同步接收模块,所述同步接收模块将所述第二数据库中每一所述第二存储点中的数据量与所述第一数据库中对应的所述第二存储点的数据量进行对比,并将每一个第二存储点的对比结果发送至所述同步发送模块;所述同步发送模块接收所述第二存储点的对比结果,并根据所述对比结果找出数据量不一致的第二时间片,所述第二时间片中所对应的数据即为需要进行同步的数据;所述同步发送模块将所述时间片中所对应的数据发送至所述同步接收模块。
[0012]进一步地,在所述数据校验步骤钱还包括获取时间段步骤,所述获取时间段步骤包括:所述同步发送模块获取所述第一数据库中最靠近运行时间的数据插入时间,记为第一时间点;将所述第一时间点向前偏移1分钟至5分钟,记为第二时间点;将所述第二时间点向前偏移5至60分钟,记为第三时间点;将所述第二时间点与所述第三时间点之前的时间区间作为所述时间段。
[0013]进一步地,所述数据库同步方法还包括以下步骤:改变所述时间段所处的时间区间,并再次执行所述数据校验步骤。其中,第N次数据校验步骤中所述时间段区间中的最大值等于第N+1次数据校验步骤中所述时间段区间中的最小值,N为大于或等于1的正整数。
[0014]进一步地,所述数据库同步方法还包括以下步骤:当所述时间段中的最小值与所述第一时间点间隔24小时及24小时以上时,扩大单次时间段的区间范围,所述区间范围修改为24小时或24小时以上。
[0015]进一步地,所述同步发送模块和所述同步接收模块之间通过网络长连接建立通讯,且所述同步发送模块和所述同步接收模块之间所传输的信息在发出前预先通过lz4压缩算法进行数据压缩。
[0016]本专利技术中提供一种分布式数据库系统,所述分布式数据库系统使用如上所述的数据库同步方法进行数据的同步。
[0017]所述分布式数据库系统包括至少一第一数据库、至少一第二数据库、至少一同步发送模块和至少一同步接收模块。所述同步发送模块分别与所述第一数据库和所述同步接收模块通信连接。所述同步接收模块分别与所述第二数据库和所述同步发送模块通信连接。所述第一数据库和所述第二数据库通过所述同步发送模块和所述同步接收模块试实现数据筛选以及同步。
[0018]进一步地,所述第一数据库和所述第二数据库均设有一数据输入模块和一数据输出模块,所述数据输入模块用于将数据输入所述第一数据库或所述第二数据库中,所述数据输出模块用于将调出所述第一数据库或所述第二数据库中的数据。所述分布式数据库系统还包括至少一数据查询模块,所述数据查询模块与所述第一数据库的数据输出模块或所
述第二数据库的数据输出模块通信连接;
[0019]进一步地分布式数据库系统还包括日志模块,所述日志模块通过添加标志位的方式记录所述分布式数据库系统的运行信息。
[0020]本专利技术的优点是:本专利技术中的一种数据库同步方法采用了数据库对数据库的1对1对比校验的数据同步方式,并基于此开发了所述分布式数据库系统,其通过封装数据操作接口,获取需要实时插入的数据,并将数据通过网络由边缘端转发到中心端,同时,按照时间分片,定时校验历史数据的数据量,针对数据量不一致的时间片,进一步切分,达到最小时间片后,同步时间片数据,以提高所述分布式数据库系统中每个数据库的利用率,并减小了多数据库系统中数据库之间的同步难度,进而降低分布式数据库系统的开发难度。
附图说明
[0021]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库同步方法,其特征在于,包括以下步骤:数据获取:第一数据库接收并存储由外部数据源所传输过来的数据;数据校验:同步发送模块和同步接收模块分别获取同一时间段内所述第一数据库和第二数据库的历史数据信息,并进行校验;结果判断:所述同步发送模块依据校验结果判断是否需要同步;其中,当所述校验结果一致时,所述第一数据库和所述第二数据库无需同步;当所述校验结果不一致时,进入筛选同步步骤;筛选同步:筛选出同一时间段中所述第一数据库和所述第二数据库中需要同步的数据,并将所筛选出的数据发送至所述第二数据库中。2.如权利要求1所述的数据库同步方法,其特征在于,所述数据校验步骤中包括:所述同步发送模块获取所述时间段内所述第一数据库中的第一历史数据信息,并发送至同步接收模块;所述同步接收模块获取所述时间段内所述第二数据库中的第二历史数据信息,并将所述第二历史数据信息与所述第一历史数据信息进行校验;所述同步接收模块将所述校验结果发送至所述同步发送模块。3.如权利要求1所述的数据库同步方法,其特征在于,所述筛选同步步骤中包括:所述同步发送模块和所述同步接收模块分别将所述时间段均分为大小相同的多个第一时间片,并将每一个所述第一时间片作为一第一存储点;所述同步发送模块和所述同步接收模块分别获取所述第一数据库和所述第二数据库在每一所述第一存储点中的数据量;所述同步发送模块将所述第一数据库中每一所述第一存储点的数据量发送至所述同步接收模块,所述同步接收模块将所述第二数据库中每一所述第一存储点中的数据量大小与所述第一数据库中对应的所述第一存储点的数据量进行对比,并将每一个第一存储点的对比结果发送至所述同步发送模块;所述同步发送模块接收所述第一存储点的对比结果,并根据所述对比结果找出数据量不一致的第一时间片,所述第一时间片所对应的第一存储点中含有需要进行同步的数据。4.如权利要求3所述的数据库同步方法,其特征在于,所述筛选同步步骤中还包括:所述同步发送模块和所述同步接收模块分别将所述第一时间片均分为大小相同的多个第二时间片,并将每一个所述第二时间片作为一第二存储点;所述同步发送模块和所述同步接收模块分别获取所述第一数据库和所述第二数据库在每一所述第二存储点中的数据量;所述同步发送模块将所述第一数据库中每一所述第二存储点的数据量发送至所述同步接收模块,所述同步接收模块将所述第二数据库中每一所述第二存储点中的数据量与所述第一数据库中对应的所述第二存储点的数据量进行对比,并将每一个第二存储点的对比结果发送至所述同步发送模块;所述同步发送模块接收所述第二...

【专利技术属性】
技术研发人员:郭巍任深圳周英
申请(专利权)人:中国船舶集团有限公司第七一一研究所
类型:发明
国别省市:

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

1