CN117112701A - 分布式数据库中的节点切换方法、计算机设备及存储介质 - Google Patents
分布式数据库中的节点切换方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117112701A CN117112701A CN202311361365.2A CN202311361365A CN117112701A CN 117112701 A CN117112701 A CN 117112701A CN 202311361365 A CN202311361365 A CN 202311361365A CN 117112701 A CN117112701 A CN 117112701A
- Authority
- CN
- China
- Prior art keywords
- node
- access
- slave
- master
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 103
- 230000001960 triggered effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式数据库中的节点切换方法、计算机设备及存储介质,方法包括:获取主节点在预设历史时间段内的历史数据访问量;基于历史数据访问量,确定未来的目标时间段内的预测数据访问量,从而确定节点数据处理能力阈值;基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;在主节点与第二节点之间进行主从节点切换处理。本申请实施例通过主节点的历史数据访问量,确定节点数据处理能力阈值,然后在多个从节点筛选出多个第一节点,再进一步确定用于主从节点切换的从节点,使得用于主从节点切换的从节点可满足用户的实际访问需求,提高分布式数据库的稳定性。
Description
技术领域
本申请涉及分布式数据库技术领域,具体涉及一种分布式数据库中的节点切换方法、计算机设备及存储介质。
背景技术
在MongoDB等基于分布式文件存储的数据库中,设置有副本集(Replica Set),副本集中可包括主节点和从节点。主节点负责处理所有写操作,并将数据同步至副本集中的从节点,从节点负责接收主节点发送的写操作,并将数据同步到本地,从而实现多个节点之间的数据同步。
主节点与从节点之间可进行切换,以保证分布式数据库的高可用性。在主从节点切换时,一般是直接将节点权重值最大的从节点切换为主节点。然而,节点权重值最大的从节点并不一定能够满足用户的实际访问需求,会使得节点权重值最大的从节点切换为主节点后的数据访问压力过大而宕机,降低分布式数据库的稳定性。
发明内容
本申请实施例提供一种分布式数据库中的节点切换方法、计算机设备及存储介质,旨在提高分布式数据库的稳定性。
一方面,本申请提供一种分布式数据库中的节点切换方法,分布式数据库中包括主节点以及多个从节点,所述方法包括:
获取所述主节点在预设历史时间段内的历史数据访问量;
基于所述历史数据访问量,确定所述主节点在未来的目标时间段内的预测数据访问量;
确定所述预测数据访问量对应的节点数据处理能力阈值;
基于所述节点数据处理能力阈值,在多个所述从节点中确定出多个第一节点;
基于各所述第一节点的节点权重值,在多个所述第一节点中确定出第二节点;
在所述主节点与所述第二节点之间进行主从节点切换处理。
在一些实施例中,所述基于所述历史数据访问量,确定所述主节点在未来的目标时间段内的预测数据访问量,包括:
在所述历史数据访问量中,确定属于写数据操作的第一历史访问量、属于读数据操作的第二历史访问量;
基于所述第一历史访问量,确定所述主节点在所述目标时间段内属于写数据操作的第一预测访问量;
基于所述第二历史访问量,确定所述主节点在所述目标时间段内属于读数据操作的第二预测访问量;
基于所述第一预测访问量和所述第二预测访问量,确定所述主节点在所述目标时间段内的预测数据访问量。
在一些实施例中,所述基于所述第一历史访问量,确定所述主节点在所述目标时间段内属于写数据操作的第一预测访问量,包括:
确定所述目标时间段所在的时间区间;
在所述时间区间为访问高峰区间时,将所述第一历史访问量输入至写数据操作对应的第一访问量预测模型,接收所述第一访问量预测模型输出的所述第一预测访问量;
在所述时间区间为访问非高峰区间时,将所述第一历史访问量输入至写数据操作对应的第二访问量预测模型,接收所述第二访问量预测模型输出的所述第一预测访问量。
在一些实施例中,所述基于所述节点数据处理能力阈值,在多个所述从节点中确定出多个第一节点,包括:
获取各所述从节点的节点数据处理能力值;
在多个所述从节点中,确定出所述节点数据处理能力值大于所述节点数据处理能力阈值的从节点,并作为多个所述第一节点。
在一些实施例中,所述获取各所述从节点的节点数据处理能力值,包括:
对多个所述从节点的数据写入速率进行归一化处理,得到各所述从节点的第一分数;
对多个所述从节点的数据读取速率进行归一化处理,得到各所述从节点的第二分数;
对多个所述从节点的带宽进行归一化处理,得到各所述从节点的第三分数;
分别对各所述从节点的第一分数、第二分数、第三分数进行加权求和,得到各所述从节点的节点数据处理能力值。
在一些实施例中,所述基于各所述第一节点的节点权重值,在多个所述第一节点中确定出第二节点,包括:
基于各所述第一节点的节点权重值,对各所述第一节点的节点数据处理能力值进行加权,得到各所述第一节点加权后的节点数据处理能力值;
基于各所述第一节点加权后的节点数据处理能力值,在多个所述第一节点中确定出所述第二节点。
在一些实施例中,所述方法还包括:
获取当前时间点与最近一次进行主从节点切换处理之间的时间间隔;
在所述时间间隔大于或等于预设间隔时,减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,得到所述目标节点调整后的节点权重值;
在所述时间间隔小于所述预设间隔时,增大所述目标节点的节点权重值,得到所述目标节点调整后的节点权重值;
采用所述目标节点调整后的节点权重值,执行所述基于各所述第一节点的节点权重值,对各所述第一节点的节点数据处理能力值进行加权的步骤。
在一些实施例中,所述减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,包括:
确定最近一次进行的主从节点切换处理所属的切换类型;
在所述切换类型为人工触发的切换时,按照第一调整幅度,减小所述目标节点的节点权重值;
在所述切换类型为主节点故障触发的切换时,按照第二调整幅度,减小所述目标节点的节点权重值,其中,所述第一调整幅度大于所述第二调整幅度。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现任一项所述的分布式数据库中的节点切换方法中的步骤。
另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行任一项所述的分布式数据库中的节点切换方法中的步骤。
本申请实施例提供的分布式数据库中的节点切换方法、计算机设备及存储介质,方法包括:获取主节点在预设历史时间段内的历史数据访问量;基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量;确定预测数据访问量对应的节点数据处理能力阈值;基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;在主节点与第二节点之间进行主从节点切换处理。本申请实施例通过主节点的历史数据访问量,预测出未来的数据访问量,然后对应至节点数据处理能力阈值,基于节点数据处理能力阈值在多个从节点筛选出多个第一节点,然后在多个第一节点中确定用于主从节点切换的从节点,使得用于主从节点切换的从节点可以满足用户的实际访问需求,从而提高分布式数据库的稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中提供的分布式数据库中的节点切换方法的一个实施例流程示意图;
图2是本申请实施例中提供的分布式数据库中的节点切换方法的另一实施例流程示意图;
图3是本申请实施例中提供的分布式数据库中的节点切换方法的又一实施例流程示意图;
图4是本申请实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请实施例提供一种分布式数据库中的节点切换方法、计算机设备及存储介质,以下分别进行详细说明。
请参阅图1,图1为本申请实施例中提供的分布式数据库中的节点切换方法的一个实施例流程示意图,该分布式数据库中的节点切换方法应用于分布式数据库,分布式数据库例如MongoDB等。分布式数据库中包括主节点以及多个从节点,主节点与从节点之间可进行切换,以保证分布式数据库的高可用性。分布式数据库中还可包括仲裁节点,仲裁节点用于决定对哪一个从节点进行主从节点切换处理,因此该分布式数据库中的节点切换方法可由仲裁节点来执行。该分布式数据库中的节点切换方法可以包括:
101、获取主节点在预设历史时间段内的历史数据访问量;
在本实施例中,预设历史时间段可以是距离当前时间点最近的一段历史时间,例如距离当前时间点最近的1小时内,又例如,距离当前时间点最近的1天内。预设历史时间段可基于实际需求事先设置。
历史数据访问量为主节点在预设历史时间段内被访问的次数,其中,由于各用户端可通过访问主节点,从主节点中读取数据或者向主节点中写入数据,完成相应的业务需求,因此可通过各用户端对主节点的访问记录,得到主节点在预设历史时间段内的历史数据访问量。
在一些实施例中,获取主节点在预设历史时间段内的历史数据访问量的步骤可由人工触发或者主节点故障触发而执行。以人工触发为例,人工可基于实际需求(例如人工需要将主节点切换至从节点,以实现业务在不同节点之间的转移)手动触发主从节点切换指令,仲裁节点在接收到主从节点切换指令时,执行获取主节点在预设历史时间段内的历史数据访问量及其后续步骤。以主节点故障触发为例,仲裁节点在检测到主节点发生故障时,自动触发主从节点切换指令,并基于触发的主从节点切换指令,执行获取主节点在预设历史时间段内的历史数据访问量及其后续步骤。
102、基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量;
在本实施例中,由于历史数据访问量为主节点在预设历史时间段内的访问量,因此可通过预设的访问量预测方式,预测出主节点在未来的目标时间段内的预测访问量。未来的目标时间段可基于实际需求设定,例如未来的目标时间段可以是未来的1小时内或者未来的1天内。在一些实施例中,目标时间段的时间跨度可以与预设历史时间段的时间跨度相等,以便于访问量的预测。预设的访问量预测方式在此不做限定,例如可以是利用用于预测访问量的数据模型等。
103、确定预测数据访问量对应的节点数据处理能力阈值;
在本实施例中,节点数据处理能力阈值指节点面对用户端访问时的数据处理能力的阈值。一般来说,节点数据处理阈值与预测数据访问量正相关。
在一些实施例中,确定预测数据访问量对应的节点数据处理能力阈值,可以包括:获取数据访问量与能力阈值之间的关联关系,该关联关系可基于前期试验得到;在该关联关系中,确定预测数据访问量关联的能力阈值,并作为预测数据访问量对应的节点数据处理能力阈值。在关联关系中,能力阈值与数据访问量正相关。
104、基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;
在本实施例中,每一从节点各自对应有一个节点数据处理能力值,因此可基于节点数据处理能力值与节点数据处理能力阈值的比较,从多个从节点中筛选出多个第一节点。例如,基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点,可以包括:获取各从节点的节点数据处理能力值;在多个从节点中,确定出节点数据处理能力值大于节点数据处理能力阈值的从节点,并作为多个第一节点。
在一些实施例中,获取各从节点的节点数据处理能力值,可以包括:对多个从节点的数据写入速率进行归一化处理,得到各从节点的第一分数;对多个从节点的数据读取速率进行归一化处理,得到各从节点的第二分数;对多个从节点的带宽进行归一化处理,得到各从节点的第三分数(通过归一化处理,可以将多个从节点的有量纲的数据写入速率、数据读取速率、带宽,转化为无量纲的第一分数、第二分数、第三分数,便于对不同从节点之间节点数据处理能力值的衡量);分别对各从节点的第一分数、第二分数、第三分数进行加权求和,得到各从节点的节点数据处理能力值。其中,在对第一分数、第二分数、第三分数加权求和时采用的权重可事先人工设定,例如用户在访问主节点时大多数是需要读取数据,而非写入数据,因此可将第二分数的权重设置为大于第一分数的权重。
105、基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;
在本实施例中,由于各第一节点基本上都可满足用户的实际访问需求,因此可从多个第一节点中筛选出更优的第二节点来进行主从节点切换处理。
在一些实施例中,基于各第一节点的节点权重值,在多个第一节点中确定出第二节点,可以包括:在多个第一节点中,确定出节点权重值最大的第一节点,并作为第二节点,从而使得主从节点切换处理可兼顾节点权重的考虑。
其中,主节点和各从节点均预先设置有相应的节点权重值,节点权重值一般用于体现不同节点的优先级,从而保证主从节点之间的有序性。
106、在主节点与第二节点之间进行主从节点切换处理。
在本实施例中,在主节点与第二节点之间进行主从节点切换处理时,一般是将主节点的ip与第二节点的ip进行互换,从而使得发送至主节点的用户访问请求,被传递至第二节点,实现主从节点的切换。
本申请实施例提供的分布式数据库中的节点切换方法,通过主节点的历史数据访问量,预测出未来的数据访问量,然后对应至节点数据处理能力阈值,基于节点数据处理能力阈值在多个从节点筛选出多个第一节点,然后在多个第一节点中确定用于主从节点切换的从节点,使得用于主从节点切换的从节点可以满足用户的实际访问需求,从而提高分布式数据库的稳定性,且更加符合在未来的目标时间段内用户的实际访问需求。
如图2所示,在图1所示实施例的基础上,基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量,可以包括:
201、在历史数据访问量中,确定属于写数据操作的第一历史访问量、属于读数据操作的第二历史访问量;
在本实施例中,由于用户访问主节点一般是读取数据或者写入数据,因此可基于各用户端对主节点的访问记录,确定出历史数据访问量中,属于写数据操作的第一历史访问量、属于读数据操作的第二历史访问量。通常情况下,第一历史访问量与第二历史访问量之和等于历史数据访问量。各用户端对主节点的访问记录记载有各用户端对主节点的用户访问请求的请求类型,请求类型包括写数据操作、读数据操作等。
202、基于第一历史访问量,确定主节点在目标时间段内属于写数据操作的第一预测访问量;
在本实施例中,由于第一历史访问量为主节点在预设历史时间段内的属于写数据操作的访问量,因此可通过预设的访问量预测方式,预测出主节点在目标时间段内属于写数据操作的第一预测访问量。
在一些实施例中,基于第一历史访问量,确定主节点在目标时间段内属于写数据操作的第一预测访问量,可以包括:确定目标时间段所在的时间区间,时间区间可以是访问高峰区间或者访问非高峰区间,访问高峰区间和访问非高峰区间可基于实际需求事先设置,例如可将指定节日的前后预设天数内均作为访问高峰区间,除访问高峰区间之外的其它时间均作为访问非高峰区间;在时间区间为访问高峰区间时,将第一历史访问量输入至写数据操作对应的第一访问量预测模型,接收第一访问量预测模型输出的第一预测访问量;在时间区间为访问非高峰区间时,将第一历史访问量输入至写数据操作对应的第二访问量预测模型,接收第二访问量预测模型输出的第一预测访问量。
其中,第一访问量预测模型是事先基于历史访问高峰区间内的写数据操作对应的历史访问量来生成的,即第一访问量预测模型吸收了历史访问高峰区间内的写数据操作对应的历史访问量的变化规律,因此可用于对访问高峰区间的第一历史访问量进行预测;而第二访问量预测模型是事先基于历史访问非高峰区间内的写数据操作对应的历史访问量来生成的,即第二访问量预测模型吸收了历史访问非高峰区间内的写数据操作对应的历史访问量的变化规律,因此可用于对访问非高峰区间的第一历史访问量进行预测。通过区分访问高峰区间和访问非高峰区间,并采用不同的访问量预测模型来得到第一预测访问量,使得预测出的第一预测访问量更加准确。第一访问量预测模型、第二访问量预测模型的类型可以是机器学习模型、神经网络模型等,在此不做限定。
203、基于第二历史访问量,确定主节点在目标时间段内属于读数据操作的第二预测访问量;
在本实施例中,与步骤202类似,由于第二历史访问量为主节点在预设历史时间段内的属于读数据操作的访问量,因此可通过预设的访问量预测方式,预测出主节点在目标时间段内属于读数据操作的第二预测访问量。
在一些实施例中,基于第二历史访问量,确定主节点在目标时间段内属于读数据操作的第二预测访问量,可以包括:确定目标时间段所在的时间区间;在时间区间为访问高峰区间时,将第二历史访问量输入至读数据操作对应的第三访问量预测模型,接收第三访问量预测模型输出的第二预测访问量;在时间区间为访问非高峰区间时,将第二历史访问量输入至读数据操作对应的第四访问量预测模型,接收第四访问量预测模型输出的第二预测访问量。
其中,第三访问量预测模型是事先基于历史访问高峰区间内的读数据操作对应的历史访问量来生成的,即第三访问量预测模型吸收了历史访问高峰区间内的读数据操作对应的历史访问量的变化规律,因此可用于对访问高峰区间的第二历史访问量进行预测;而第四访问量预测模型是事先基于历史访问非高峰区间内的读数据操作对应的历史访问量来生成的,即第四访问量预测模型吸收了历史访问非高峰区间内的读数据操作对应的历史访问量的变化规律,因此可用于对访问非高峰区间的第二历史访问量进行预测。通过区分访问高峰区间和访问非高峰区间,并采用不同的访问量预测模型来得到第二预测访问量,使得预测出的第二预测访问量更加准确。第三访问量预测模型、第四访问量预测模型的类型可以是机器学习模型、神经网络模型等,在此不做限定。
204、基于第一预测访问量和第二预测访问量,确定主节点在目标时间段内的预测数据访问量。
在本实施例中,可将第一预测访问量和第二预测访问量之和,作为主节点在目标时间段内的预测数据访问量。
在本实施例公开的技术方案中,通过区分属于写数据操作的第一历史访问量、属于读数据操作的第二历史访问量,来分别进行访问量预测,以更加准确地预测出主节点在目标时间段内的预测数据访问量,使得预测数据访问量对应的节点数据处理能力阈值更加符合在未来的目标时间段内用户的实际访问需求,提高分布式数据库在未来的目标时间段内的稳定性。
如图3所示,在图1或图2所示实施例的基础上,基于各第一节点的节点权重值,在多个第一节点中确定出第二节点,可以包括:
301、基于各第一节点的节点权重值,对各第一节点的节点数据处理能力值进行加权,得到各第一节点加权后的节点数据处理能力值;
在本实施例中,在上述内容中已经描述了从节点的节点数据处理能力值的计算方式,因此可从中筛选出各第一节点的节点数据处理能力值,然后基于各第一节点的节点权重值,对各第一节点的节点数据处理能力值进行加权,得到各第一节点加权后的节点数据处理能力值,使得第一节点的节点数据处理能力值可考虑到不同节点的节点权重值的影响。
在一些实施例中,分布式数据库中的节点切换方法,还可以包括:获取当前时间点与最近一次进行主从节点切换处理之间的时间间隔;在时间间隔大于或等于预设间隔时,判定两次主从节点切换处理的间隔时间足够长,表明最近一次进行主从节点切换处理时切换为主节点的这一节点的效果较好(一般来说,由于效果较好,所以两次主从节点切换处理的间隔时间更长),因此可增大最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值,和/或,减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,得到目标节点调整后的节点权重值;在时间间隔小于预设间隔时,判定两次主从节点切换处理的间隔时间太短,表明最近一次进行主从节点切换处理时切换为主节点的这一节点的效果较差(一般来说,由于效果较差,所以两次主从节点切换处理的间隔时间较短),因此可减小最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值,和/或,增大最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,得到目标节点调整后的节点权重值;采用目标节点调整后的节点权重值,执行步骤301及其后续步骤,即是将所有节点(包括主节点以及各从节点)调整后的节点权重值,分别替换为相应节点原来的节点权重值,然后再执行步骤301及其后续步骤。从而使得主节点和各从节点的节点权重值可基于当前时间点与最近一次进行主从节点切换处理之间的时间间隔而调整,后续确定出的第二节点的实际访问效果更好。
在进一步的实施例中,减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,可以包括:确定最近一次进行的主从节点切换处理所属的切换类型,例如在最近一次进行的主从节点切换处理的主从节点切换指令是由人工触发时,切换类型为人工触发的切换,在最近一次进行的主从节点切换处理的主从节点切换指令是由主节点发生故障而触发时,切换类型为主节点故障触发的切换;在切换类型为人工触发的切换时,按照第一调整幅度,减小目标节点的节点权重值;在切换类型为主节点故障触发的切换时,按照第二调整幅度,减小目标节点的节点权重值。第一调整幅度大于第二调整幅度,从而使得目标节点的节点权重值的调整可区分人工的主观因素和主节点故障的客观因素,目标节点调整后的节点权重值更加准确。
类似地,增大最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,可以包括:确定最近一次进行的主从节点切换处理所属的切换类型;在切换类型为人工触发的切换时,按照第三调整幅度,增大目标节点的节点权重值;在切换类型为主节点故障触发的切换时,按照第四调整幅度,增大目标节点的节点权重值。第三调整幅度大于第四调整幅度。
类似地,增大最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值,可以包括:确定最近一次进行的主从节点切换处理所属的切换类型;在切换类型为人工触发的切换时,按照第五调整幅度,增大最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值;在切换类型为主节点故障触发的切换时,按照第六调整幅度,增大最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值。第五调整幅度大于第六调整幅度。
类似地,减小最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值,可以包括:确定最近一次进行的主从节点切换处理所属的切换类型;在切换类型为人工触发的切换时,按照第七调整幅度,减小最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值;在切换类型为主节点故障触发的切换时,按照第八调整幅度,减小最近一次进行主从节点切换处理时切换为主节点的这一节点的节点权重值。第七调整幅度大于第八调整幅度。
302、基于各第一节点加权后的节点数据处理能力值,在多个第一节点中确定出第二节点。
在本实施例中,在多个第一节点中,确定出加权后的节点数据处理能力值最大的第一节点,并作为第二节点,从而使得主从节点切换处理可兼顾节点权重和节点数据处理能力值的考虑。
在本实施例公开的技术方案中,基于各第一节点的节点权重值,对各第一节点的节点数据处理能力值进行加权,然后基于加权后的节点数据处理能力值来筛选出第二节点,使得筛选出的第二节点综合考虑了节点权重值和节点数据处理能力值,提高了筛选出的第二节点的实际访问效果。
除了上述介绍的分布式数据库中的节点切换方法之外,本申请实施例还提供一种计算机设备,计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述分布式数据库中的节点切换方法实施例中任一实施例中的步骤。
如图4所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储单元402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储单元402内的软件程序和/或模块,以及调用存储在存储单元402的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储单元402可用于存储软件程序以及模块,处理器401通过运行存储在存储单元402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储单元402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储单元402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储单元402还可以包括存储器控制器,以提供处理器401对存储单元402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本申请实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储单元402中,并由处理器401来运行存储在存储单元402中的应用程序,从而实现各种功能,如下:
获取主节点在预设历史时间段内的历史数据访问量;基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量;确定预测数据访问量对应的节点数据处理能力阈值;基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;在主节点与第二节点之间进行主从节点切换处理。
本申请实施例提供的分布式数据库中的节点切换方法,通过主节点的历史数据访问量,预测出未来的数据访问量,然后对应至节点数据处理能力阈值,基于节点数据处理能力阈值在多个从节点筛选出多个第一节点,然后在多个第一节点中确定用于主从节点切换的从节点,使得用于主从节点切换的从节点可以满足用户的实际访问需求,从而提高分布式数据库的稳定性。
为此,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。该计算机可读存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种分布式数据库中的节点切换方法中的步骤。例如,该指令可以执行如下步骤:
获取主节点在预设历史时间段内的历史数据访问量;基于历史数据访问量,确定主节点在未来的目标时间段内的预测数据访问量;确定预测数据访问量对应的节点数据处理能力阈值;基于节点数据处理能力阈值,在多个从节点中确定出多个第一节点;基于各第一节点的节点权重值,在多个第一节点中确定出第二节点;在主节点与第二节点之间进行主从节点切换处理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种分布式数据库中的节点切换方法、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种分布式数据库中的节点切换方法,其特征在于,分布式数据库中包括主节点以及多个从节点,所述方法包括:
获取所述主节点在预设历史时间段内的历史数据访问量;
基于所述历史数据访问量,确定所述主节点在未来的目标时间段内的预测数据访问量;
确定所述预测数据访问量对应的节点数据处理能力阈值;
获取各所述从节点的节点数据处理能力值;
在多个所述从节点中,确定出所述节点数据处理能力值大于所述节点数据处理能力阈值的从节点,并作为多个第一节点;
基于各所述第一节点的节点权重值,在多个所述第一节点中确定出第二节点;
在所述主节点与所述第二节点之间进行主从节点切换处理。
2.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述基于所述历史数据访问量,确定所述主节点在未来的目标时间段内的预测数据访问量,包括:
在所述历史数据访问量中,确定属于写数据操作的第一历史访问量、属于读数据操作的第二历史访问量;
基于所述第一历史访问量,确定所述主节点在所述目标时间段内属于写数据操作的第一预测访问量;
基于所述第二历史访问量,确定所述主节点在所述目标时间段内属于读数据操作的第二预测访问量;
基于所述第一预测访问量和所述第二预测访问量,确定所述主节点在所述目标时间段内的预测数据访问量。
3.如权利要求2所述的分布式数据库中的节点切换方法,其特征在于,所述基于所述第一历史访问量,确定所述主节点在所述目标时间段内属于写数据操作的第一预测访问量,包括:
确定所述目标时间段所在的时间区间;
在所述时间区间为访问高峰区间时,将所述第一历史访问量输入至写数据操作对应的第一访问量预测模型,接收所述第一访问量预测模型输出的所述第一预测访问量;
在所述时间区间为访问非高峰区间时,将所述第一历史访问量输入至写数据操作对应的第二访问量预测模型,接收所述第二访问量预测模型输出的所述第一预测访问量。
4.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述获取各所述从节点的节点数据处理能力值,包括:
对多个所述从节点的数据写入速率进行归一化处理,得到各所述从节点的第一分数;
对多个所述从节点的数据读取速率进行归一化处理,得到各所述从节点的第二分数;
对多个所述从节点的带宽进行归一化处理,得到各所述从节点的第三分数;
分别对各所述从节点的第一分数、第二分数、第三分数进行加权求和,得到各所述从节点的节点数据处理能力值。
5.如权利要求1所述的分布式数据库中的节点切换方法,其特征在于,所述基于各所述第一节点的节点权重值,在多个所述第一节点中确定出第二节点,包括:
基于各所述第一节点的节点权重值,对各所述第一节点的节点数据处理能力值进行加权,得到各所述第一节点加权后的节点数据处理能力值;
基于各所述第一节点加权后的节点数据处理能力值,在多个所述第一节点中确定出所述第二节点。
6.如权利要求5所述的分布式数据库中的节点切换方法,其特征在于,所述方法还包括:
获取当前时间点与最近一次进行主从节点切换处理之间的时间间隔;
在所述时间间隔大于或等于预设间隔时,减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,得到所述目标节点调整后的节点权重值;
在所述时间间隔小于所述预设间隔时,增大所述目标节点的节点权重值,得到所述目标节点调整后的节点权重值;
采用所述目标节点调整后的节点权重值,执行所述基于各所述第一节点的节点权重值,对各所述第一节点的节点数据处理能力值进行加权的步骤。
7.如权利要求6所述的分布式数据库中的节点切换方法,其特征在于,所述减小最近一次进行主从节点切换处理时切换为从节点的目标节点的节点权重值,包括:
确定最近一次进行的主从节点切换处理所属的切换类型;
在所述切换类型为人工触发的切换时,按照第一调整幅度,减小所述目标节点的节点权重值;
在所述切换类型为主节点故障触发的切换时,按照第二调整幅度,减小所述目标节点的节点权重值,其中,所述第一调整幅度大于所述第二调整幅度。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的分布式数据库中的节点切换方法中的步骤。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7中任一项所述的分布式数据库中的节点切换方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311361365.2A CN117112701B (zh) | 2023-10-20 | 2023-10-20 | 分布式数据库中的节点切换方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311361365.2A CN117112701B (zh) | 2023-10-20 | 2023-10-20 | 分布式数据库中的节点切换方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117112701A true CN117112701A (zh) | 2023-11-24 |
CN117112701B CN117112701B (zh) | 2024-01-19 |
Family
ID=88805813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311361365.2A Active CN117112701B (zh) | 2023-10-20 | 2023-10-20 | 分布式数据库中的节点切换方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112701B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539728A (zh) * | 2024-01-10 | 2024-02-09 | 浙江睿数云联科技有限公司 | 一种分布式数据库监控实现方法、系统、装置及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
US20180174072A1 (en) * | 2016-12-21 | 2018-06-21 | Ca, Inc. | Method and system for predicting future states of a datacenter |
CN111581284A (zh) * | 2020-04-29 | 2020-08-25 | 上海中通吉网络技术有限公司 | 一种数据库高可用性方法、装置、系统和存储介质 |
CN113794764A (zh) * | 2021-09-10 | 2021-12-14 | 小红书科技有限公司 | 服务器集群的请求处理方法、介质和电子设备 |
WO2023082800A1 (zh) * | 2021-11-11 | 2023-05-19 | 中兴通讯股份有限公司 | 主节点选择方法、分布式数据库及存储介质 |
CN116344064A (zh) * | 2022-10-18 | 2023-06-27 | 中国信息通信研究院 | 用于获取访问量预测模型、预测行程信息查询服务的访问量的方法及装置、电子设备、存储介质 |
CN116467120A (zh) * | 2023-03-01 | 2023-07-21 | 合众新能源汽车股份有限公司 | 主主架构的数据库部署方法、数据库访问方法及装置 |
CN116561096A (zh) * | 2022-11-03 | 2023-08-08 | 上海浦东发展银行股份有限公司 | 一种基于容器平台的数据库管理方法及系统 |
CN116781488A (zh) * | 2022-03-09 | 2023-09-19 | 中国移动通信集团江苏有限公司 | 数据库高可用实现方法、装置、数据库架构、设备和产品 |
-
2023
- 2023-10-20 CN CN202311361365.2A patent/CN117112701B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
US20180174072A1 (en) * | 2016-12-21 | 2018-06-21 | Ca, Inc. | Method and system for predicting future states of a datacenter |
CN111581284A (zh) * | 2020-04-29 | 2020-08-25 | 上海中通吉网络技术有限公司 | 一种数据库高可用性方法、装置、系统和存储介质 |
CN113794764A (zh) * | 2021-09-10 | 2021-12-14 | 小红书科技有限公司 | 服务器集群的请求处理方法、介质和电子设备 |
WO2023082800A1 (zh) * | 2021-11-11 | 2023-05-19 | 中兴通讯股份有限公司 | 主节点选择方法、分布式数据库及存储介质 |
CN116781488A (zh) * | 2022-03-09 | 2023-09-19 | 中国移动通信集团江苏有限公司 | 数据库高可用实现方法、装置、数据库架构、设备和产品 |
CN116344064A (zh) * | 2022-10-18 | 2023-06-27 | 中国信息通信研究院 | 用于获取访问量预测模型、预测行程信息查询服务的访问量的方法及装置、电子设备、存储介质 |
CN116561096A (zh) * | 2022-11-03 | 2023-08-08 | 上海浦东发展银行股份有限公司 | 一种基于容器平台的数据库管理方法及系统 |
CN116467120A (zh) * | 2023-03-01 | 2023-07-21 | 合众新能源汽车股份有限公司 | 主主架构的数据库部署方法、数据库访问方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539728A (zh) * | 2024-01-10 | 2024-02-09 | 浙江睿数云联科技有限公司 | 一种分布式数据库监控实现方法、系统、装置及介质 |
CN117539728B (zh) * | 2024-01-10 | 2024-04-12 | 浙江睿数云联科技有限公司 | 一种分布式数据库监控实现方法、系统、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117112701B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117112701B (zh) | 分布式数据库中的节点切换方法、计算机设备及存储介质 | |
CN110289994B (zh) | 一种集群容量调整方法及装置 | |
CN109446032A (zh) | Kubernetes副本扩缩容的方法及系统 | |
CN104424106B (zh) | 为存储优化操作分配存储设备的资源的方法和系统 | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN112398700B (zh) | 一种服务降级方法及装置、存储介质、计算机设备 | |
CN110297743A (zh) | 一种负载测试方法、装置和存储介质 | |
CN117033144A (zh) | 服务器远程巡检方法、设备及介质 | |
CN106961490A (zh) | 一种资源监控方法及系统、一种本地服务器 | |
CN115080412A (zh) | 软件更新质量评估方法、装置、设备及计算机存储介质 | |
CN104113590B (zh) | 一种基于副本响应时间预测的副本选择方法 | |
CN114020416A (zh) | 大页内存动态管理方法、装置和计算机设备 | |
CN114267440B (zh) | 医疗订单信息处理方法、装置和计算机可读存储介质 | |
CN110069340B (zh) | 线程数评估方法及装置 | |
CN112104467B (zh) | 割接操作风险评级方法、装置及计算设备 | |
CN110401582A (zh) | 云计算系统存储健康度窘迫的检测方法、装置及存储介质 | |
CN114844901B (zh) | 基于人工智能的大数据清洗任务处理方法及云计算系统 | |
CN113407192B (zh) | 模型部署方法和设备 | |
CN116485262B (zh) | 定价策略的评估方法、电子设备以及存储介质 | |
CN114942830A (zh) | 容器调度方法、容器调度装置、存储介质和电子设备 | |
CN112630666A (zh) | 蓄电池测试排期方法及装置 | |
CN111930714A (zh) | 基于TimesTen内存库的订阅数据库伸缩方法、装置及计算设备 | |
CN118144639A (zh) | 一种蓄电池剩余使用时间的预测方法、装置、介质、设备 | |
CN115733771A (zh) | 存储模块检测方法、装置、设备和存储介质 | |
CN117663380A (zh) | 空调控制方法、装置、介质、空调设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |