当前位置: 首页 > 专利查询>南昌大学专利>正文

一种弹性的分布式强一致性方法及系统技术方案

技术编号:34358180 阅读:19 留言:0更新日期:2022-07-31 06:59
本发明专利技术提供了一种弹性的分布式强一致性方法及系统,该方法应用于一集群中,集群包括若干数据处理节点,数据处理节点包括状态节点和非状态节点,状态节点用于当接收到客服端发送的请求时,分配非状态节点运作,以缓解状态节点的工作负载,完成横向扩展,具体的,获取预设时间内的客服端发送的请求计数,并判断请求计数是否大于预设请求数量,若是,则根据请求计数,租用竞价实例,竞价实例作为非状态节点服务于集群,由于该方法中引入了两种不需要维持状态的节点,这两种状态的节点可以失败、可以不可靠,因为它们的失败不会影响整个系统的正确性,所以可以选择全球地理分布的廉价节点,从而在解决性能瓶颈的同时兼顾了成本。从而在解决性能瓶颈的同时兼顾了成本。从而在解决性能瓶颈的同时兼顾了成本。

【技术实现步骤摘要】
一种弹性的分布式强一致性方法及系统


[0001]本专利技术属于分布式系统的
,具体涉及一种弹性的分布式强一致性方法及系统。

技术介绍

[0002]随着云时代的来临,大数据也吸引了越来越多的关注,大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。
[0003]一般情况下,会采用分布式系统对数据进行处理,其中,分布式系统常使用Raft算法来保证软件/系统组件之间的共识,但随着工作负载上升,必须提高系统的数据处理性能,通常采取的办法为在原Raft算法的基础上垂直扩展,即通过在Leader节点上增加更多的CPU、内存和硬盘等来增强Leader节点的能力,从而容忍更高的工作负载,但该方法的缺点在于无法为一个节点无限制提高性能,或者,采用Multi

Raft算法的方案,该方案将数据拆分给每个Raft服务,Raft相互独立,处理自己的工作。这些Raft的Leader相互通信,从而保持一致性,但是这种使用横向扩展来解决Leader节点瓶颈方法的代价使资源占用翻倍,而且Multi

Raft算法需要稳定的服务器来保证系统的稳定,只能租赁昂贵的按需实例,所以也无法兼顾成本。
[0004]可以看出,以上方法无法做到在保证分布式系统平稳运行的情况下兼顾成本,为此,亟需一种方法解决上述问题。

技术实现思路

[0005]基于此,本专利技术实施例当中提供了一种弹性的分布式强一致性方法及系统,旨在解决现有技术中,使用Raft算法的分布式系统中,无法在解决性能瓶颈的同时兼顾成本的问题。
[0006]本专利技术实施例的第一方面提供了一种弹性的分布式强一致性方法,应用于一集群中,所述集群包括若干数据处理节点,所述数据处理节点包括状态节点和非状态节点,所述方法包括:获取预设时间内的客服端发送的请求计数;判断所述请求计数是否大于预设请求计数;若是,则根据所述请求计数,租用竞价实例,所述竞价实例作为所述非状态节点服务于所述集群,其中,所述状态节点用于当接收到客服端发送的写请求或读请求时,分配所述非状态节点运作,以缓解所述状态节点的工作负载。
[0007]进一步的,所述请求计数至少包括读请求计数和写请求计数,所述状态节点包括领导者节点、候选者节点以及追随者节点,所述非状态节点至少包括秘书节点和观察者节点。
[0008]进一步的,所述领导者节点用于接收和处理客服端发送的所述写请求,所述领导
者节点用于接收和处理客服端发送的所述写请求,所述秘书节点用于分担所述领导者节点的所述写请求,所述追随者节点用于接收和处理客服端发送的所述读请求,以及所述秘书节点发送的所述写请求,所述观察者节点用于分担所述追随者节点发送的所述写请求和所述读请求。
[0009]进一步的,所述根据所述请求计数,租用竞价实例的步骤之后包括:通过所述追随者节点,获取对应的第一领导者节点的心跳,并判断在预设时间内,所述心跳是否终止;若是,将所述追随者节点转变为所述候选者节点,并发起选举;获取选票数量,判断所述选票数量是否大于预设选票数量;若是,则将所述候选者节点转变为第二领导者节点,并租赁对应的所述秘书节点。
[0010]进一步的,所述将所述候选者节点转变为第二领导者节点,并租赁对应的所述秘书节点的步骤之后包括:将所述第一领导者节点转变为所述追随者节点,并解雇所述第一领导者节点对应的所有所述秘书节点。
[0011]进一步的,根据所述请求计数,租用竞价实例的步骤之后还包括:根据所述读请求,所述观察者节点向所述领导者节点请求目标读索引号,所述目标读索引号用于当状态机执行到所述目标读索引号处,所述观察者节点会向所述客服端反馈。
[0012]进一步的,所述非状态节点还包括全球秘书节点,所述全球秘书节点用于当所述第一领导者节点被所述第二领导者节点替换后,告知所述第一领导者节点已被取代。
[0013]进一步的,所述根据所述请求计数,租用竞价实例的步骤包括:获取数据中心总数量、各数据中心的第一追随者节点数量以及单个秘书节点可以管理的第二追随者节点数量,并根据所述数据中心总数量、所述第一追随者节点数量以及所述第二追随者节点数量,计算出需要分担所述领导者节点负载的秘书节点数量;根据所述秘书节点数量和预设秘书节点数量,计算出目标秘书节点数量;根据所述写请求计数,计算出写入率,并判断所述写入率是否小于等于写入率阈值;若是,则根据所述读请求计数,计算出读取率,并判断所述读取率是否大于预设读取率;若是,则将所述数据中心总数量赋值给第一新增观察者节点数量,并获取可用预算和竞价实例单价;根据所述可用预算、所述竞价实例单价以及所述第一新增观察者节点数量,计算出目标新增观察者节点数量;花费所述可用预算租用所述目标新增观察者节点数量的观察者节点,并获取第一剩余可用预算;根据所述第一剩余可用预算、所述竞价实例单价以及所述目标秘书节点数量,确定目标新增秘书节点数量;根据所述目标新增秘书节点数量和所述目标新增观察者节点数量,计算出所述竞价实例的数量。
[0014]进一步的,所述根据所述请求计数,租用竞价实例的步骤还包括:获取竞价实例信息,所述竞价实例信息至少包括CPU容量数据、可用内存数据、平均价格数据以及竞价撤销概率;根据所述竞价实例信息,计算竞价实例得分,所述竞价实例得分用于筛选出划算的竞价实例,其中,计算公式为:;c表示为CPU容量,φ表示为可用内存,表示为平均价格,表示为竞价撤销概率,表示为所述CPU容量的权重系数,表示为所述可用内存的权重系数,表示为所述平均价格的权重系数。
[0015]本专利技术实施例的第二方面提供了一种弹性的分布式强一致性系统,应用于一集群中,所述集群包括若干数据处理节点,所述数据处理节点包括状态节点和非状态节点,所述系统包括:获取模块,用于获取预设时间内的客服端发送的请求计数;第一判断模块,用于判断所述请求计数是否大于预设请求计数;租用模块,用于当判断所述请求计数大于预设请求计数时,则根据所述请求计数,租用竞价实例,所述竞价实例作为所述非状态节点服务于所述集群,其中,所述状态节点用于当接收到客服端发送的写请求或读请求时,分配所述非状态节点运作,以缓解所述状态节点的工作负载。
[0016]本专利技术的有益效果为:该方法应用于一集群中,集群包括若干数据处理节点,数据处理节点包括状态节点和非状态节点,状态节点用于当接收到客服端发送的请求时,分配非状态节点运作,以缓解状态节点的工作负载,完成横向扩展,具体的,获取预设时间内的客服端发送的请求计数,并判断请求计数是否大于预设请求数量,若是,则根据请求计数,租用竞价实例,竞价实例作为非状态节点服务于集群,由于该方法中引入了两种不需要维持状态的节点,这两种状态的节点可以失败、可以不可靠,因为它们的失败不会影响整个系统的正确性,所以可以选择全球地理分布的廉价节点,从而在解决性能瓶颈的同时兼顾了成本。
附图说明
[0017]图1是本专利技术第一实施例提供的一种弹性的分布式强一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种弹性的分布式强一致性方法,其特征在于,应用于一集群中,所述集群包括若干数据处理节点,所述数据处理节点包括状态节点和非状态节点,所述方法包括:获取预设时间内的客服端发送的请求计数;判断所述请求计数是否大于预设请求计数;若是,则根据所述请求计数,租用竞价实例,所述竞价实例作为所述非状态节点服务于所述集群,其中,所述状态节点用于当接收到客服端发送的写请求或读请求时,分配所述非状态节点运作,以缓解所述状态节点的工作负载。2.根据权利要求1所述的弹性的分布式强一致性方法,其特征在于,所述请求计数至少包括读请求计数和写请求计数,所述状态节点包括领导者节点、候选者节点以及追随者节点,所述非状态节点至少包括秘书节点和观察者节点。3.根据权利要求2所述的弹性的分布式强一致性方法,其特征在于,所述领导者节点用于接收和处理客服端发送的所述写请求,所述秘书节点用于分担所述领导者节点的所述写请求,所述追随者节点用于接收和处理客服端发送的所述读请求,以及所述秘书节点发送的所述写请求,所述观察者节点用于分担所述追随者节点发送的所述写请求和所述读请求。4.根据权利要求3所述的弹性的分布式强一致性方法,其特征在于,所述根据所述请求计数,租用竞价实例的步骤之后包括:通过所述追随者节点,获取对应的第一领导者节点的心跳,并判断在预设时间内,所述心跳是否终止;若是,将所述追随者节点转变为所述候选者节点,并发起选举;获取选票数量,判断所述选票数量是否大于预设选票数量;若是,则将所述候选者节点转变为第二领导者节点,并租赁对应的所述秘书节点。5.根据权利要求4所述的弹性的分布式强一致性方法,其特征在于,所述将所述候选者节点转变为第二领导者节点,并租赁对应的所述秘书节点的步骤之后包括:将所述第一领导者节点转变为所述追随者节点,并解雇所述第一领导者节点对应的所有所述秘书节点。6.根据权利要求5所述的弹性的分布式强一致性方法,其特征在于,所述根据所述请求计数,租用竞价实例的步骤之后还包括:根据所述读请求,所述观察者节点向所述领导者节点请求目标读索引号,所述目标读索引号用于当状态机执行到所述目标读索引号处,所述观察者节点会向所述客服端反馈。7.根据权利要求6所述的弹性的分布式强一致性方法,其特征在于,所述非状态节点还包括全球秘书节点,所述全球秘书节点用于当所述第一领导者节点被所述第二领导者节点替换后,告知所述第一领导者节点...

【专利技术属性】
技术研发人员:徐子晨柳杰黄嘉诚杜云萧张看起高景雄许辰人王玉皞
申请(专利权)人:南昌大学
类型:发明
国别省市:

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

1