分布式键值存储负载均衡方法及系统技术方案

技术编号:30517689 阅读:31 留言:0更新日期:2021-10-27 23:00
本发明专利技术提供一种分布式键值存储负载均衡方法及系统,方法包括:接收分布式键值存储集群系统中当前承载Carrier节点通过心跳发送的当前Carrier节点的负载状态;根据当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给当前Carrier节点,以供当前Carrier节点进行调整;根据当前Carrier节点发送的调整后的执行结果,更新当前Carrier节点。所述系统用于执行上述方法。本发明专利技术能够在分布式键值存储系统中实现数据存储和数据访问的均衡性的同时,能有效防止数据分片的调度过程出现业务数据访问的抖动,保证系统的稳定性和高可用性。保证系统的稳定性和高可用性。保证系统的稳定性和高可用性。

【技术实现步骤摘要】
分布式键值存储负载均衡方法及系统


[0001]本专利技术涉及计算机分布式数据库
,尤其涉及一种分布式键值存储负载均衡方法及系统。

技术介绍

[0002]在分布式键值存储系统中,为支持数据的高效访问和不断增长的数据存储量,必然需要采用分片存储技术将数据分配到多个节点。
[0003]目前,大部分分布式数据库都只靠简单地迁移数据分片来实现负载均衡,而在迁移过程中往往会造成业务数据的访问的抖动,并产生较大的开销。对使用一致性协议进行备份的系统而言,随意迁移某些分片还可能导致一致性协议较长时间无法正常工作。
[0004]因此,如何在分布式一致性存储系统中进行负载均衡的同时保证系统的稳定性和高可用性,成为目前亟需解决的问题。

技术实现思路

[0005]本专利技术提供的分布式键值存储负载均衡方法及系统,用于解决现有技术中存在的上述问题,能够在分布式一致性存储系统(如在分布式键值存储系统)中实现数据存储和数据访问的均衡性的同时,能有效防止数据分片的调度过程出现业务数据访问的抖动,保证分布式键值存储系统的稳定性和高可用性。
[0006]本专利技术提供的一种分布式键值存储负载均衡方法,包括:
[0007]接收分布式键值存储系统中当前承载Carrier节点通过心跳发送的当前Carrier节点的负载状态;
[0008]根据所述当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整;
[0009]根据所述当前Carrier节点发送的调整后的执行结果,更新所述当前Carrier节点。
[0010]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述当前Carrier节点的负载状态,包括:
[0011]配置信息、资源占用情况和逻辑分片Tablet的副本Replica状态;
[0012]其中,所述配置信息至少包括CPU核心数目和内存大小;
[0013]所述资源占用情况至少包括CPU利用率和内存使用率;
[0014]所述Replica状态至少包括逻辑分片标识符Tablet Id、副本标识符Replica Id、实例标识符Instance Id、写操作中每秒查询量Write QPS、逻辑分片版本Tablet Version、读操作中每秒查询量Read QPS和共识组Consensus Group;
[0015]所述Tablet Version、Read QPS和Consensus Group为所述Replica是主节点的Replica状态。
[0016]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述根据所述当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整,包括:
[0017]根据所述当前Carrier节点的负载状态对分布式键值存储系统的负载状态进行更新;
[0018]根据更新后的分布式键值存储系统的负载状态,判断所述当前Carrier节点的负载状态是否满足第一预设条件;
[0019]若不满足所述第一预设条件,则确定进行负载均衡,并从所述当前Carrier节点的Replica中选择第一目标Replica进行主节点切换操作,并对所述当前Carrier节点的负载状态进行更新;
[0020]若进行主节点切换操作后的所述当前Carrier节点的负载状态仍不满足所述第一预设条件,则进行第二目标Replica的迁移操作;
[0021]根据所述主节点切换操作和所述迁移操作确定所述负载均衡操作,并将所述负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整。
[0022]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述第一预设条件,包括:
[0023]所述当前Carrier节点的CPU利用率和内存使用率低于第一预设阈值;或
[0024]所述当前Carrier节点的每个CPU核心的QPS负载低于预设平均QPS;或
[0025]所述当前Carrier节点存在未完成的所述负载均衡操作。
[0026]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述从所述当前Carrier节点的Replica中选择第一目标Replica进行主节点切换操作,包括:
[0027]从所述当前Carrier节点的主节点的Replica中选择满足第二预设条件的Replica作为所述第一目标Replica进行主节点切换操作;
[0028]其中,所述第二预设条件包括所属Tablet的Consensus Group存在一个Replica。
[0029]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述进行第二目标Replica的迁移操作,包括:
[0030]在负载最低的Carrier节点上添加所述第二目标Replica和删除所述当前Carrier节点上的所述第二目标Replica;
[0031]其中,所述第二目标Replica是根据从所述当前Carrier节点的从节点的Replica中选择满足第三预设条件的Replica确定的;
[0032]所述第三预设条件包括所属Tablet预设时间内未进行所述迁移操作或分裂操作,且所属Tablet的Consensus Group中所有Replica的Instance Id的差值不超过第二预设阈值。
[0033]根据本专利技术提供的一种分布式键值存储负载均衡方法,所述根据所述当前Carrier节点发送的调整后的执行结果,更新所述当前Carrier节点,包括:
[0034]根据所述当前Carrier节点发送的执行所述负载均衡操作后的执行结果,更新所述当前Carrier节点和目标Tablet的负载均衡操作队列中;
[0035]其中,所述负载均衡操作是通过远程过程调用RPC请求发送的;
[0036]所述负载均衡操作队列是通过对所述负载均衡操作进行记录后确定的;
[0037]所述目标Tablet是根据所述第一目标Replica和/或所述第二目标Replica所属
Tablet确定的。
[0038]本专利技术还提供一种分布式键值存储负载均衡系统,包括:接收模块、调整模块和更新模块;
[0039]所述接收模块,用于接收分布式键值存储系统中当前承载Carrier节点通过心跳发送的当前Carrier节点的负载状态;
[0040]所述调整模块,用于根据所述当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整;
[0041]所述更新模块,用于根据所述当前Carrier节点发送的调整后的执行结果,更新所述当前Carrier节点。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式键值存储负载均衡方法,其特征在于,包括:接收分布式键值存储系统中当前承载Carrier节点通过心跳发送的当前Carrier节点的负载状态;根据所述当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整;根据所述当前Carrier节点发送的调整后的执行结果,更新所述当前Carrier节点。2.根据权利要求1所述的分布式键值存储负载均衡方法,其特征在于,所述当前Carrier节点的负载状态,包括:配置信息、资源占用情况和逻辑分片Tablet的副本Replica状态;其中,所述配置信息至少包括CPU核心数目和内存大小;所述资源占用情况至少包括CPU利用率和内存使用率;所述Replica状态至少包括逻辑分片标识符Tablet Id、副本标识符ReplicaId、实例标识符Instance Id、写操作中每秒查询量Write QPS、逻辑分片版本Tablet Version、读操作中每秒查询量Read QPS和共识组Consensus Group;所述Tablet Version、Read QPS和Consensus Group为所述Replica是主节点的Replica状态。3.根据权利要求1所述的分布式键值存储负载均衡方法,其特征在于,所述根据所述当前Carrier节点的负载状态判断是否进行负载均衡,并在确定进行负载均衡时,将负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整,包括:根据所述当前Carrier节点的负载状态对分布式键值存储系统的负载状态进行更新;根据更新后的分布式键值存储系统的负载状态,判断所述当前Carrier节点的负载状态是否满足第一预设条件;若不满足所述第一预设条件,则确定进行负载均衡,并从所述当前Carrier节点的Replica中选择第一目标Replica进行主节点切换操作,并对所述当前Carrier节点的负载状态进行更新;若进行主节点切换操作后的所述当前Carrier节点的负载状态仍不满足所述第一预设条件,则进行第二目标Replica的迁移操作;根据所述主节点切换操作和所述迁移操作确定所述负载均衡操作,并将所述负载均衡操作发送给所述当前Carrier节点,以供所述当前Carrier节点进行调整。4.根据权利要求3所述的分布式键值存储负载均衡方法,其特征在于,所述第一预设条件,包括:所述当前Carrier节点的CPU利用率和内存使用率低于第一预设阈值;或所述当前Carrier节点的每个CPU核心的QPS负载低于预设平均QPS;或所述当前Carrier节点存在未完成的所述负载均衡操作。5.根据权利要求3所述的分布式...

【专利技术属性】
技术研发人员:宋万全董隆超刘菲董威扬
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:

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

1