基于Raft的冷数据存储方法技术

技术编号:34933405 阅读:17 留言:0更新日期:2022-09-15 07:29
本发明专利技术公开了一种基于Raft的冷数据存储方法,涉及存储技术领域,包括:在分布式集群中构建多个ECRaft组,所述ECRaft组的组内成员通过选举得到每个组的领导者;领导者在组内周期性地发送心跳,并根据心跳信息预测组内成员状态;客户端写入请求到达后,基于负载情况选择合适的ECRaft组处理;被选择ECRaft组的领导者将写入请求中包含的数据进行纠删编码,并根据预测的组内成员状态生成并分发日志条目;所述领导者通过状态机清理冗余数据并通过心跳同步更新组内成员的相关数据,最终将数据以纠删码片段的形式存储在所述分布式集群中。本发明专利技术既节省了冷数据存储过程中的存储空间和网络开销流量,同时提高了该过程的效率。同时提高了该过程的效率。同时提高了该过程的效率。

【技术实现步骤摘要】
基于Raft的冷数据存储方法


[0001]本专利技术涉及存储
,更具体的说是涉及一种基于Raft的冷数据存储方法。

技术介绍

[0002]数据量的激增促进了信息存储领域的发展,同时也带来了新的挑战。这些数据按照访问频率大致可分为两类:经常访问的数据和不经常访问的数据,经常访问的数据被称为热数据,不经常访问的数据被称为冷数据。其中热数据只占比20%以下,因而大量数据都是冷数据,如果无差别的存储冷热数据,必然会浪费资源。此外,在大规模数据存储的时候,往往无法仅仅依靠单机设备完成存储,因为单机性能、存储容量、可靠性、可用性不能达到行业标准,所以通常需要成百上千个机器组成存储集群来存储数据,因此很多公司和单位开始研发和运用分布式存储技术。
[0003]纠删码技术是一种数据冗余容错机制,具备数据冗余度低、容错能力又足够高等特点。在分布式存储系统中,为了高可靠、高存储空间利用率地存储冷数据,越来越多的场景开始引入这种技术。采用纠删码存储技术可以将原来需要存储的完整数据分成很多片段并编码成一些奇偶校验片段,然后每个机器只存储其中的一个片段从而缩小占用的存储空间,进而带来存储成本和网络流量上的收益。但是分布式系统中依然存在纠删码技术无法解决的共识问题。
[0004]Paxos和Raft等共识协议可以用于解决该问题,从而提供高可用和高可靠的存储服务,因而被广泛部署在工业应用中。这种共识协议将用户数据转换为日志命令条目,然后将它们复制到不同的服务器中,最后用户数据被冗余地存储在集群中的所有服务器上,从而保证这些用户数据免受服务器故障或数据损坏的影响。但是Paxos和Raft使用副本形式的数据冗余机制来帮助系统容忍故障,该机制花费大量空间来存储冗余数据,并且将副本数据复制到其他服务器也带来了很多网络流量开销。例如,在一个有N=(2F+1)个服务器的集群中,采用副本冗余容忍故障的共识算法可能会导致大约是原始数据量N倍的网络和存储开销。
[0005]为了将冷数据以纠删码冗余形式存储在分布式集群中,并解决其中的共识问题,现有两种方法被广泛使用:异步或同步。例如对于异步存储方法,数据会通过比如Raft、Paxos这样的共识协议或者其他能解决共识问题的方法先以副本形式存储在集群中,稍后再异步进行纠删编码过程,虽然存储完成后副本数据会被清除以提高存储空间利用效率,但是这些中间副本数据不可避免地会导致额外的存储设备IO和网络流量。对于同步存储方法,数据在写入时会立即被编码,因此存储过程中不会出现中间副本数据,但是同步存储方式要求在返回客户端成功前所有数据片段和校验片段都被成功写入存储集群中,因此,任何由服务器或网络故障引起的编码片段丢失都会很快干扰写入过程,这往往需要在系统设计中附加额外机制来解决。
[0006]因此,如何节省冷数据存储过程中的存储空间和网络流量开销,提高该过程的效率是本领域技术人员亟需解决的技术问题。

技术实现思路

[0007]有鉴于此,本专利技术提供了一种基于Raft的冷数据存储方法,提升了冷数据存储过程中的存储效率、空间和网络带宽利用率。
[0008]为了实现上述目的,本专利技术提供如下技术方案:
[0009]一种基于Raft的冷数据存储方法,包括以下步骤:
[0010]在分布式集群中构建多个ECRaft组,所述ECRaft组的组内成员通过选举得到每个ECRaft组的领导者;
[0011]所述领导者在组内周期性地发送心跳,并根据心跳信息预测组内成员状态;
[0012]客户端写入请求到达后,基于负载情况选择合适的ECRaft组处理所述写入请求;
[0013]被选择ECRaft组的领导者将所述写入请求中包含的数据进行纠删编码,并根据预测的组内成员状态生成并分发日志条目;
[0014]所述领导者通过状态机清理冗余数据并通过心跳同步更新组内成员的相关数据,最终将数据以纠删码片段的形式存储在所述分布式集群中。
[0015]上述技术方案达到的技术效果为:在共识协议Raft的基础上提出ECRaft,改变Raft的选举和提交条件,使用更优化的自适应数据冗余方式,增加了状态机数据清理机制,并使用Multi

ECRaft的机制解决单机性能瓶颈问题。
[0016]可选的,所述在分布式集群中构建多个ECRaft组,具体包括以下步骤:
[0017]采用L台服务器组成Multi

ECRaft集群,每台服务器包含若干个工作存储设备和备用存储设备;
[0018]在每台服务器上均匀选取n块型号相同或者容量差值在预设范围内的工作存储设备并组合得到一个ECRaft组;其中,所选取工作存储设备数量总和为N=2F+1=k+m,k表示存储设备存储数据片段的数量、m表示存储设备存储校验片段的数量、k>m;
[0019]重复以上选取及组合过程,直至ECRaft组数量足够或所有服务器上的工作存储设备都被取完,最终得到Q个ECRaft组。
[0020]可选的,所述组合得到一个ECRaft组,具体包括以下步骤:
[0021]根据纠删码的配置以及集群的服务器数量计算组内成员的分布;
[0022]统计集群中的存储设备型号和数量,从型号最多的存储设备开始分组,若同型号的存储设备数量不够,则寻找容量差值在预设范围内的存储设备进行补充;
[0023]统计集群中的每个服务器上某个型号的存储设备数量;
[0024]从所述型号存储设备最多的服务器开始选取,依次从对应的服务器上取得相应数量的工作存储设备且每个服务器保留一定比例的备用存储设备未分配;若每个服务器上存储设备充足,则分配成功,组成ECRaft组并将所述ECRaft组的配置信息加入元数据管理数据库中;
[0025]若服务器上存储设备不充足,在选择工作存储设备时,所选型号的数量超过所述ECRaft组的一半,则选择容量差值在预设范围内的工作存储设备继续组合;若所选型号的数量未超过所述ECRaft组的一半,则中断ECRaft组的选择,重新选择其他型号的存储设备,统计集群中的每个服务器上重新选择型号的存储设备数量并继续进行ECRaft组的组合。
[0026]可选的,所述ECRaft组的组内成员通过选举得到每个ECRaft组的领导者,具体包括以下步骤:
[0027]各个ECRaft组独立发起领导者选举,每个组内的所有成员均有随机超时机制,当固定时间内未收到领导者的心跳会超时成为候选者,所述候选者向组内其他成员广播竞选消息;
[0028]当其他成员收到所述竞选消息后,确认自己的日志和所属任期在所述候选者之前时,会投出赞成票;
[0029]当组内有k个成员投出赞成票时,所述候选者成为领导者。
[0030]可选的,所述预测组内成员状态,具体为:
[0031]所述领导者周期性向组内其他成员发送心跳信息,成员收到心跳信息后完成更新日志操作并返回领导者,所述领导者以最近一次心跳成功响应的成员情况为依据预测组内成员本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Raft的冷数据存储方法,其特征在于,包括以下步骤:在分布式集群中构建多个ECRaft组,所述ECRaft组的组内成员通过选举得到每个ECRaft组的领导者;所述领导者在组内周期性地发送心跳,并根据心跳信息预测组内成员状态;客户端写入请求到达后,基于负载情况选择合适的ECRaft组处理所述写入请求;被选择ECRaft组的领导者将所述写入请求中包含的数据进行纠删编码,并根据预测的组内成员状态生成并分发日志条目;所述领导者通过状态机清理冗余数据并通过心跳同步更新组内成员的相关数据,最终将数据以纠删码片段的形式存储在所述分布式集群中。2.根据权利要求1所述的一种基于Raft的冷数据存储方法,其特征在于,所述在分布式集群中构建多个ECRaft组,具体包括以下步骤:采用L台服务器组成Multi

ECRaft集群,每台服务器包含若干个工作存储设备和备用存储设备;在每台服务器上均匀选取n块型号相同或者容量差值在预设范围内的工作存储设备并组合得到一个ECRaft组;其中,所选取工作存储设备数量总和为N=2F+1=k+m,k表示存储设备存储数据片段的数量、m表示存储设备存储校验片段的数量、k>m;重复以上选取及组合过程,直至ECRaft组数量足够或所有服务器上的工作存储设备都被取完,最终得到Q个ECRaft组。3.根据权利要求2所述的一种基于Raft的冷数据存储方法,其特征在于,所述组合得到一个ECRaft组,具体包括以下步骤:根据纠删码的配置以及集群的服务器数量计算组内成员的分布;统计集群中的存储设备型号和数量,从型号最多的存储设备开始分组,若同型号的存储设备数量不够,则寻找容量差值在预设范围内的存储设备进行补充;统计集群中的每个服务器上某个型号的存储设备数量;从该型号存储设备最多的服务器开始选取,依次从对应的服务器上取得相应数量的工作存储设备且每个服务器保留一定比例的备用存储设备未分配;若每个服务器上存储设备充足,则分配成功,组成ECRaft组并将所述ECRaft组的配置信息加入元数据管理数据库中;若服务器上存储设备不充足,在选择工作存储设备时,所选型号的数量超过所述ECRaft组的一半,则选择容量差值在预设范围内型号的工作存储设备继续组合;若所选型号的数量未超过所述ECRaft组的一半,则中断ECRaft组的选择,重新选择其他型号的存储设备,统计集群中的每个服务器上重新选择型号的存储设备数量并继续进行ECRaft组的组合。4.根据权利要求2所述的一种基于Raft的冷数据存储方法,其特征在于,所述ECRaft组的组内成员通过选举得到每个ECRaft组的领导者,具体包括以下步骤:各个ECRaft组独立发起领导者选举,每个ECRaft组内的所有成员均有随机超时机制,当固定时间内未收到领导者的心跳会超时成为候选者,所述候选者向组内其他成员广播竞选消息;当其他成员收到所述竞选消息后,确认自己的日志和所属任期在所述候选者之前时,会投出赞成票;
当组内有k个成员投出赞成票时,所述候选者成为领导者。5.根据权利要求1所述的一种基于Raft的冷数据存储方法,其特征在于,所述预测...

【专利技术属性】
技术研发人员:乔媛媛徐明威陈劲伊杨洁
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1