本申请涉及分布式数据库,具体涉及一种分布式数据库中的节点切换方法、计算机设备及存储介质。
背景技术:
1、在mongodb等基于分布式文件存储的数据库中,设置有副本集(replica set),副本集中可包括主节点和从节点。主节点负责处理所有写操作,并将数据同步至副本集中的从节点,从节点负责接收主节点发送的写操作,并将数据同步到本地,从而实现多个节点之间的数据同步。
2、主节点与从节点之间可进行切换,以保证分布式数据库的高可用性。在主从节点切换时,一般是直接将节点权重值最大的从节点切换为主节点。然而,节点权重值最大的从节点并不一定能够满足用户的实际访问需求,会使得节点权重值最大的从节点切换为主节点后的数据访问压力过大而宕机,降低分布式数据库的稳定性。
技术实现思路
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、在所述切换类型为主节点故障触发的切换时,按照第二调整幅度,减小所述目标节点的节点权重值,其中,所述第一调整幅度大于所述第二调整幅度。
38、另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
39、一个或多个处理器;
40、存储器;以及
41、一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现任一项所述的分布式数据库中的节点切换方法中的步骤。
42、另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行任一项所述的分布式数据库中的节点切换方法中的步骤。
43、本申请实施例提供的分布式数据库中的节点切换方法、计算机设备及存储介质,方法包括:获取主节点在预设历史时间段内的历史数据访问量;基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量;确定预测数据访问量对应的节点数据处理能力阈值;基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;在主节点与第二节点之间进行主从节点切换处理。本申请实施例通过主节点的历史数据访问量,预测出未来的数据访问量,然后对应至节点数据处理能力阈值,基于节点数据处理能力阈值在多个从节点筛选出多个第一节点,然后在多个第一节点中确定用于主从节点切换的从节点,使得用于主从节点切换的从节点可以满足用户的实际访问需求,从而提高分布式数据库的稳定性。
1.一种分布式数据库中的节点切换方法,其特征在于,分布式数据库中包括主节点以及多个从节点,所述方法包括:
2.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述基于所述历史数据访问量,确定所述主节点在未来的目标时间段内的预测数据访问量,包括:
3.如权利要求2所述的分布式数据库中的节点切换方法,其特征在于,所述基于所述第一历史访问量,确定所述主节点在所述目标时间段内属于写数据操作的第一预测访问量,包括:
4.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述获取各所述从节点的节点数据处理能力值,包括:
5.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述基于各所述第一节点的节点权重值,在多个所述第一节点中确定出第二节点,包括:
6.如权利要求5所述的分布式数据库中的节点切换方法,其特征在于,所述方法还包括:
7.如权利要求6所述的分布式数据库中的节点切换方法,其特征在于,所述减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,包括:
8.一种计算机设备,其特征在于,所述计算机设备包括:
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7中任一项所述的分布式数据库中的节点切换方法中的步骤。