System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请的实施例涉及数据存储,尤其涉及一种数据同步方法、装置、电子设备和计算机可读存储介质。
技术介绍
1、在数据同步过程中,保证同步效率和查询效率是其中的关键,由于业务的多样性导致数据源的多样性,即包含关系型数据库又可能包含其他类型数据库,导致数据源中的数据量大小不可预估。
2、现有数据同步软件会预先指定系统中的数据源,这种做法会导致数据源种类单一,针对不同的业务场景可能会产生资源浪费或者资源不足的情况,无法保证同步效率和查询效率。
技术实现思路
1、为解决上述技术问题,本申请的实施例提供了一种数据同步方法、装置、电子设备和计算机可读存储介质。
2、在本申请的第一方面,提供了一种数据同步方法,包括:
3、在将源数据库中待同步数据同步至目标服务器时,且所述源数据库的类型为关系型数据库;
4、若所述源数据库中包含索引,则确定所述源数据库中待同步数据所占的物理空间最大为2gb;
5、若所述源数据库中不包含索引,则确定所述源数据库中待同步数据所占的物理空间最大为500mb;
6、获取所述目标服务器的空闲内存和所述目标服务器的内存条件支持的同步数据量;
7、若所述空闲空间大于确定得到的待同步数据所占的物理空间2gb以上,则以所述目标服务器的内存条件支持的同步数据量和所述源数据库中待同步数据确定得到的所占的物理空间的交集作为待同步数据的数据量以进行数据同步;
8、若所述空闲空间大于确定得到的待同步数
9、在一种可能的实现方式中,还包括:
10、基于所述源数据库中数据源表查询得到待同步数据的数据量和数据结构;
11、根据待同步数据的数据量、字段类型以及长度,计算得到待同步数据所占的物理空间。
12、在一种可能的实现方式中,还包括:
13、在将源数据库中数据同步至目标服务器时,且所述源数据库的类型为列式数据库;
14、若配置信息中所述目标服务器的类型包含列式数据库,则直接选择类型为列式数据库的所述目标服务器进行数据同步,所述配置信息包括一种或多种所述目标服务器的类型。
15、在一种可能的实现方式中,还包括:在同步完成后,维护数据表和数据库存储关系表。
16、在本申请的第二方面,提供了一种数据同步装置,包括:
17、在将源数据库中待同步数据同步至目标服务器时,且所述源数据库的类型为关系型数据库;
18、第一确定模块,用于在所述源数据库中包含索引时,确定所述源数据库中待同步数据所占的物理空间最大为2gb;
19、第二确定模块,用于在所述源数据库中不包含索引时,确定所述源数据库中待同步数据所占的物理空间最大为500mb;
20、内存获取模块,用于获取所述目标服务器的空闲内存和所述目标服务器的内存条件支持的同步数据量;
21、第一同步模块,用于在所述空闲空间大于确定得到的待同步数据所占的物理空间2gb以上时,以所述目标服务器的内存条件支持的同步数据量和所述源数据库中待同步数据确定得到的所占的物理空间的交集作为待同步数据的数据量以进行数据同步;
22、第二同步模块,用于在所述空闲空间大于确定得到的待同步数据所占的物理空间2gb以下,则按照所述源数据库中待同步数据计算得到的所占的物理空间在所述目标服务器中进行数据同步。
23、在一种可能的实现方式中,还包括数据计算模块,所述数据计算模块用于:
24、基于所述源数据库中数据源表查询得到待同步数据的数据量和数据结构;
25、根据待同步数据的数据量、字段类型以及长度,计算得到待同步数据所占的物理空间。
26、在一种可能的实现方式中,还包括第三同步模块,
27、在将源数据库中数据同步至目标服务器时,且所述源数据库的类型为列式数据库;
28、所述第三同步模块,用于在置信息中所述目标服务器的类型包含列式数据库时,直接选择类型为列式数据库的所述目标服务器进行数据同步,所述配置信息包括一种或多种所述目标服务器的类型。
29、在一种可能的实现方式中,还包括数据维护模块,所述数据维护模块用于:在同步完成后,维护数据表和数据库存储关系表。
30、在本申请的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任一项所述的数据同步方法。
31、在本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的数据同步方法。
32、在本申请实施例提供的数据同步方法、装置、电子设备和计算机可读存储介质中,在源数据库的类型为关系型数据库时,若源数据库中包含索引,则确定源数据库中待同步数据所占的物理空间最大为2gb;若源数据库中不包含索引,则确定源数据库中待同步数据所占的物理空间最大为500mb;获取目标服务器的空闲内存和目标服务器的内存条件支持的同步数据量;若空闲空间大于确定得到的待同步数据所占的物理空间2gb以上,则以目标服务器的内存条件支持的同步数据量和源数据库中待同步数据确定得到的所占的物理空间的交集作为待同步数据的数据量以进行数据同步;若空闲空间大于确定得到的待同步数据所占的物理空间2gb以下,则按照源数据库中待同步数据计算得到的所占的物理空间在所述目标服务器中进行数据同步。采用这种方式,可以基于源数据库中数据量的大小、是否包含索引,目标服务器的内存等多个因素来选择合适的同步策略,能够在不牺牲性能的前提下,最大程度的减少资源浪费,提高了数据同步的效率。
33、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,还包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.一种数据同步装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,还包括数据计算模块,所述数据计算模块用于:
7.根据权利要求5所述的装置,其特征在于,还包括第三同步模块,
8.根据权利要求5所述的装置,其特征在于,还包括数据维护模块,所述数据维护模块用于:在同步完成后,维护数据表和数据库存储关系表。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的数据同步方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的数据同步方法。
【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,还包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.一种数据同步装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,还包括数据计算模块,所述数据计算模块用于:
7.根据权利要求5所述的装置,其特征在于,还包括第三同步模块,
【专利技术属性】
技术研发人员:矫楠,王长有,
申请(专利权)人:北京名道恒通信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。