System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及分布式数据库领域,尤其涉及一种副本的复制方法和装置、电子设备和存储介质。
技术介绍
1、在金融级分布式数据库系统中,数据以分片形式,每个分片除了存储数据节点外,还会部署多个数据节点副本,以确保数据库系统的高可靠和高可用。但是现有技术中,通常情况下随着集群的规模的增长,而绝大部分的数据的副本数并不会随之增长;久而久之,就会出现当集群规模成百上千时,挂掉的机器节点数等于或者大于数据的副本数的概率也会随之上升,即一个数据的所有副本都在挂掉的机器节点上的概率也会越高越高。
2、本专利技术提出了一种动态copyset复制技术,该技术是在copyset复制技术的基础上根据集群规模,磁盘带宽动态计算得到数据恢复的最大值对应的最小copyset的数量,从而降低数据丢失的概率。
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.根据权利要求4所述的方法,其特征在于,所述按照所述每个节点的分布位置、所述目标散射宽度以及所述目标复制集数量对所述所有节点进行排序,得到节点序列,包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述基于所述分布式数据库的所有节点中每个节点的分布信息以及所述目标复制集数量,在所述所有节点中确定出所述副本数据所需存储至的目标节点之后,所述方法还包括:
7.根据权利要求1至5中任一项所述的方法,其特
8.一种副本的复制装置,其特征在于,包括:
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法。
...【技术特征摘要】
1.一种副本的复制方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在根据所述集群变化信息确定所述分布式数据库发生变更的情况下,基于所述集群变化信息确定出目标复制集数量,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于从所述元数据中获取的所述最新集群信息,确定出所述目标复制集数量,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述分布式数据库的所有节点中每个节点的分布信息以及所述目标复制集数量,在所述所有节点中确定出所述副本数据所需存储至的目标节点,包括:
5.根据权利要求4所述的方法,其特征在于,所述按照所述每个节点的分布位置、所述目标散射宽度以及所述目标复制集数量对所述所有节点进行排序,得到节点序列,包括:
6.根据权利要求1至5中任一项所述的方法,其...
【专利技术属性】
技术研发人员:乐奥雷,付裕,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。