System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 分布式存储系统中数据修复的自适应流控方法及设备技术方案_技高网

分布式存储系统中数据修复的自适应流控方法及设备技术方案

技术编号:40786505 阅读:8 留言:0更新日期:2024-03-28 19:18
本发明专利技术提供了一种分布式存储系统中数据修复的自适应流控方法及设备,包括:在交互指令字段定义业务写读写命令和修复读写命令,各存储节点的流量统计模块据此区分统计业务读写和修复读写字节数、请求数和延迟;修复任务决策模块定义统计信息取值时间槽和自适应调整状态机,根据当前时间槽与之前多个时间槽统计信息的变化趋势,决策下一个时间槽的自适应调整状态和实时修复任务数;数据修复控制模块则根据决策的并发修复任务数发起执行相应数量的修复任务,以达到修复速率自适应调整的效果;可以消除中心化方式统计的延迟开销,提高自适应的响应速度,降低分布式存储系统运维成本,同时合理调度硬件资源,避免修复流量使业务读写速率下降。

【技术实现步骤摘要】

本专利技术涉及一种分布式存储系统中数据修复的自适应流控方法及设备


技术介绍

1、分布式存储系统的集群由多台标准硬件服务器组成,每台服务器称为存储节点,其中包含多个存储硬盘。分布式存储系统具有高可用、灵活扩展、高并发处理能力强的特点。在分布式存储系统集群中,存储节点和硬盘故障是一种常见现象,在系统设计时,应充分考虑节点和硬盘的容错处理,以保证数据的可靠性和系统的平稳运行。

2、数据可靠性是存储系统的基本要求,一般由多副本或纠删码的冗余策略来保证,如果采用多副本冗余策略,需要设定副本数n,执行数据写入时,一份数据会被复制n份副本;如果采用纠删码冗余策略,需要设定原始数据分片数k和校验数据分片数m,数据写入时,一份数据被切分为k份原始数据分片,然后编码生成m份检验数据分片,所述数据的n份副本或k+m份数据分片被存储在集群中不同存储节点的不同硬盘上。当发生节点或硬盘故障后,对于多副本数据而言,如果故障导致数据丢失n-1份副本,则相应数据可以被修复和正常访问,对于纠删码数据而言,如果故障导致丢失了任意m份数据分片,则该数据可以被修复和正常访问。

3、综上所述,分布式存储系统中节点或硬盘故障应被作为常见事件处理。当发生故障后,部分数据会丢失一些副本或分片,失去冗余保护,数据可靠性大大降低,此时,存储系统应及时做出响应,对数据进行修复操作,恢复数据的冗余保护以保证数据可靠性。而数据修复会带来大量的读写流量,占用集群的硬盘和网络带宽资源,对正常业务读写冲击较大,为了减少修复流量对业务读写的影响,大多数基于开源的分布式存储系统需要运维人员参与,根据业务流量的大小,手动将修复速率调低或调高,该方式不仅无法做到对业务流量的及时感知和自适应调整,而且增加了运维难度。


技术实现思路

1、本专利技术的目的在于提供一种分布式存储系统中数据修复的自适应流控方法及设备。

2、为解决上述问题,本专利技术提供一种分布式存储系统中数据修复的自适应流控方法,包括:

3、定义业务读写请求和修复读写请求;在流量统计模块内部定义统计变量,包括:业务读写请求的字节数、修复读写请求的字节数、总请求数和总处理延迟,其中,业务读写的字节数、修复读写的字节数、总请求数和总处理延迟的初始值分别为0;总处理延迟为业务读写请求和修复读写请求的合计处理延迟;总请求数为业务读写请求和修复读写请求的合计请求数;

4、统计当前的业务读写请求的累计字节数、修复读写请求的累计字节数、总请求数和总处理延迟,以得到当前的统计信息;

5、定义时间槽的取值;定义自适应调整状态的种类;定义最小并发修复数和最大并发修复数,其中,最小并发修复数小于最大并发修复数;设置并发修复任务数的初始值为最小并发修复数;定义时间槽统计信息队列的元素个数上限为n,n取值大于等于2,时间槽统计信息队列用于保存当前时刻之前n个时间槽对应的统计信息,其中,每个时间槽对应的统计信息,包括:该时间槽对应的业务读写请求的累计字节数、修复读写请求的累计字节数、总请求数和总处理延迟;

6、基于当前的统计信息和时间槽对应的统计信息,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数。

7、进一步的,在上述方法中,统计当前的业务读写请求的累计字节数、修复读写请求的累计字节数、总请求数和总处理延迟,以得到当前的统计信息,包括:

8、存储节点的数据服务进程在每处理一个业务读写请求或修复读写请求时,解析业务读写请求或修复读写请求中的累计读写字节数,根据业务读写请求或修复读写请求的请求处理的起止时间计算总处理延迟,将业务读写请求的字节数或修复读写请求的字节数传递给流量统计模块进行累加,并将请求处理延迟传递给流量统计模块进行累加,同时流量统计模块将总请求数加1。

9、进一步的,在上述方法中,基于当前的统计信息和时间槽对应的统计信息,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数,包括:

10、设置时间槽统计信息队列初始状态为空,每隔一个时间槽时长向时间槽统计信息队列中增加一个当前的时间槽的统计信息作为一个元素;其中,当时间槽统计信息队列中的元素个数到达n时,将最旧的时间槽对应的统计信息从时间槽统计信息队列中移除,再加入当前的时间槽对应的统计信息,使时间槽统计信息队列的元素个数始终保持n;

11、根据当前的统计信息和时间槽统计信息队列中最新的上一个时间槽的统计信息,计算当前时间槽内的业务读写速率、当前时间槽内的修复读写速率和当前时间槽内的平均处理延迟;

12、基于时间槽统计信息队列中每相邻的两个时间槽的统计信息,计算最近的n-1个时间槽的业务读写的速率和修复读写的速率及平均处理延迟;基于最近的n-1个时间槽的业务读写的速率和修复读写的速率及平均处理延迟,分别计算所述n-1个时间槽的的业务读写速率的加权平均值、修复读写速率的加权平均值和平均处理延迟的加权平均值,其中,距离当前时刻越近的时间槽,其权重越大,n-1个权重之和为1;

13、基于当前时间槽内的业务读写速率和n-1个时间槽的业务读写速率的加权平均值,计算业务读写速率变化率记为rn;基于当前时间槽内的修复读写速率和n-1个时间槽的修复读写速率的加权平均值,计算修复读写速率变化率记为rf;基于当前时间槽内的平均处理延迟和n-1个时间槽的平均处理延迟的加权平均值,计算平均处理延迟的变化率记为rd;

14、定义变化率下降线rl和变化率上升线ru,其中,rl小于ru;

15、根据当前自适应调整状态的种类、业务读写速率变化率rn、修复读写速率变化率rf、平均处理延迟的变化率rd、最小并发修复数、最大并发修复数、变化率下降线rl和变化率上升线ru,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数。

16、进一步的,在上述方法中,根据当前的统计信息和时间槽统计信息队列中最新的上一个时间槽的统计信息,计算当前时间槽内的业务读写速率、当前时间槽内的修复读写速率和当前时间槽内的平均处理延迟,包括:

17、当前时间槽内的业务读写速率根据当前的统计信息的业务读写请求的累计字节数与时间槽统计信息队列中最新的上一个时间槽的业务读写请求的累计字节数的差值除以时间槽的时长计算得到;当前时间槽内的修复读写速率根据当前的修复读写请求的累计字节数与时间槽统计信息队列中最新的上一个时间槽的修复请求的累计字节数的差值除以时间槽的时长计算得到;当前时间槽内的平均处理延迟,根据当前的统计信息的总处理延迟与时间槽统计信息队列中最新的上一个时间槽的总处理延迟的差值除以当前时间槽内的请求数的差值得到,其中,所述当前时间槽内的请求数的差值,为当前的统计信息的总请求数与时间槽统计信息队列中最新的上一个时间槽的总请求数的差值。

18、进一步的,在上述方法中,所述自适应调整状态的种类,包括:上升期、下降期和稳定期。

19、进一步的,在上述方法中,根据当前自适应调整状态的种本文档来自技高网...

【技术保护点】

1.一种分布式存储系统中数据修复的自适应流控方法,其特征在于,包括:

2.如权利要求1所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,统计当前的业务读写请求的累计字节数、修复读写请求的累计字节数、总请求数和总处理延迟,以得到当前的统计信息,包括:

3.如权利要求1所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,基于当前的统计信息和时间槽对应的统计信息,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数,包括:

4.如权利要求3所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,根据当前的统计信息和时间槽统计信息队列中最新的上一个时间槽的统计信息,计算当前时间槽内的业务读写速率、当前时间槽内的修复读写速率和当前时间槽内的平均处理延迟,包括:

5.如权利要求3所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,所述自适应调整状态的种类,包括:上升期、下降期和稳定期。

6.如权利要求5所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,根据当前自适应调整状态的种类、业务读写速率变化率Rn、修复读写速率变化率Rf、平均处理延迟的变化率Rd、最小并发修复数、最大并发修复数、变化率下降线Rl和变化率上升线Ru,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数,包括:

7.如权利要求6所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,判断平均处理延迟变化率Rd是否大于Ru之后,还包括:

8.如权利要求7所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,判断修复读写速率变化率Rf是否大于Ru之后,包括:

9.如权利要求1所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,判断当前自适应调整状态是否为稳定期之后,还包括:

10.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器执行如权利要求1至9任一项所述的方法。

...

【技术特征摘要】

1.一种分布式存储系统中数据修复的自适应流控方法,其特征在于,包括:

2.如权利要求1所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,统计当前的业务读写请求的累计字节数、修复读写请求的累计字节数、总请求数和总处理延迟,以得到当前的统计信息,包括:

3.如权利要求1所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,基于当前的统计信息和时间槽对应的统计信息,调整当前的自适应调整状态的种类和当前的修复读写请求的并发修复任务数,包括:

4.如权利要求3所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,根据当前的统计信息和时间槽统计信息队列中最新的上一个时间槽的统计信息,计算当前时间槽内的业务读写速率、当前时间槽内的修复读写速率和当前时间槽内的平均处理延迟,包括:

5.如权利要求3所述的分布式存储系统中数据修复的自适应流控方法,其特征在于,所述自适应调整状态的种类,包括:上升期、下降期和稳定期。

6.如...

【专利技术属性】
技术研发人员:石连星陈薇薇程妹赵磊李智
申请(专利权)人:上海霄云信息科技有限公司
类型:发明
国别省市:

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

1