自适应的数据恢复流控方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19424549 阅读:19 留言:0更新日期:2018-11-14 10:24
一种自适应的数据恢复流控方法,包括:定期同步分布式存储系统中的各个存储节点的信息;当侦测到有存储节点发生了故障时,获取发生故障的存储节点的存列表;识别上一个统计周期内用户应用的IO负载类别;根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;根据所述存储列表及所述当前统计周期对应的流控阈值,对发生故障存储节点的当前统计周期内的数据执行恢复操作;重复执行上述步骤,直至将数据全部恢复。本发明专利技术还提供一种自适应的数据恢复流控装置、电子设备及存储介质。本发明专利技术能够在提高大规模分布式存储系统数据修复效率、降低数据丢失风险的同时,避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。

【技术实现步骤摘要】
自适应的数据恢复流控方法、装置、电子设备及存储介质
本专利技术涉及计算机
,具体涉及一种自适应的数据恢复流控方法、装置、电子设备及存储介质。
技术介绍
随着大数据和云计算时代的到来,各个领域的数据量呈现出快速增长的趋势。这些不断增长的海量数据需要依赖大规模的分布式存储系统,实现可靠的存储和高效的访问。然而,存储系统的规模越大,发生故障的概率也就越高。为了应对随时可能出现的故障,以保证数据存储的可靠性,分布式存储系统需要进行数据冗余。一种常见的数据冗余策略是将数据的多个副本存储到不同的物理节点上,当部分副本损坏时,可以根据完好的副本对损坏副本进行修复。另外,在对分布式存储系统进行扩容时,需要进行一定规模的副本迁移,以此保证数据分布的均衡性,而这种数据迁移也被认为是一种特殊的数据修复。一方面需要提高数据修复效率以降低数据丢失风险,但另一方面,存储系统需要确保用户应用的高效访问,避免数据修复对正常业务的服务质量造成冲击,如何较好的权衡数据修复与正常的数据输入输出业务之间的任务分配,在提高数据修复效率的同时,避免对正常的数据输入输出业务性能造成明显冲击,使业务系统能持续稳定地获得较高的随机每秒输入输出次数(Input/OutputOperationsPerSecond,IOPS)和吞吐率,对于分布式存储系统的性能提高是至关重要的。
技术实现思路
鉴于以上内容,有必要提出一种自适应的数据恢复流控方法、装置、电子设备及存储介质,能够在提高大规模分布式存储系统数据恢复效率、降低数据丢失风险的同时,确保正常输入输出业务性能不被冲击,具有很好的流控效果。本专利技术的第一方面提供一种自适应的数据恢复流控方法,所述方法包括:a)定期同步分布式存储系统中的各个存储节点的信息;b)侦测是否有存储节点发生了故障;c)当侦测到有存储节点发生了故障时,获取发生故障的存储节点的存储列表;d)识别上一个统计周期内用户应用的IO负载类别;e)根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;f)根据所述存储列表及所述当前统计周期对应的流控阈值,对发生故障的存储节点的当前统计周期内的数据执行恢复操作;重复执行上述步骤d)-f),直至对所述发生故障的存储节点的所有统计周期内的数据执行了恢复操作。根据本专利技术的一个优选实施例,所述根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:采用预先设置的流控阈值作为第一个统计周期对应的流控阈值。根据本专利技术的一个优选实施例,所述识别上一个统计周期内用户应用的IO负载类别包括:获取所述上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小;获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延;获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值;根据所述上一个统计周期内的所述IO的平均数据块大小、所述平均数据块时延、所述数据块大小的基准值、所述对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度;根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别。根据本专利技术的一个优选实施例,所述IO负载类别包括:高负载类别、正常负载类别、低负载类别,所述根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值;当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值;当所述上一个统计周期内的IO负载类别为正常负载类别时,将所述上一个统计周期对应的流控阈值作为当前统计周期对应的流控阈值。根据本专利技术的一个优选实施例,所述根据所述上一个统计周期内的所述IO的平均数据块大小、所述平均数据块时延、所述数据块大小的基准值、所述对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度的计算公式为:其中,X为上述上一个统计周期内的所述IO的平均数据块大小,Y为所述平均数据块时延,M为所述数据块大小的基准值,N为所述对应的数据块时延的基准值。根据本专利技术的一个优选实施例,所述侦测是否有存储节点发生故障包括:侦测所述分布式存储系统中的任何一个或者多个存储节点是否发生了无法启动、断电或断网;或者侦测所述分布式存储系统中的任何一个或者多个存储节点中的磁盘是否发生了故障。根据本专利技术的一个优选实施例,所述同步分布式存储系统中的各个存储节点的信息包括:由所述分布式存储系统中的一个存储中心执行各个存储节点的信息同步;或者采用去中心化的方法,由所述分布式存储系统中的任何一个存储节点发起各个存储节点的信息同步。本专利技术的第二方面提供一种自适应的数据恢复流控装置,所述装置包括:同步模块,用于定期同步分布式存储系统中的各个存储节点的信息;侦测模块,用于侦测是否有存储节点发生了故障;获取模块,用于当所述侦测模块侦测到有存储节点发生了故障时,获取发生故障的存储节点的存储列表;识别模块,用于识别上一个统计周期内用户应用的IO负载类别;计算模块,用于根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;恢复模块,用于根据所述存储列表及所述当前统计周期对应的流控阈值,对发生故障的存储节点的当前统计周期内的数据执行恢复操作。本专利技术的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述自适应的数据恢复流控方法。本专利技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述自适应的数据恢复流控方法。本专利技术所述的自适应的数据恢复流控方法、装置、电子设备及存储介质,能够通过将一个恢复周期分割成多个统计周期,在每一个统计周期内,根据上一个统计周期内用户应用的IO负载类别动态调整当前统计周期内对应的流控阈值,根据不同的流控阈值对当前统计周期内的数据进行恢复操作。在上一个统计周期内用户应用的IO负载强度高的时候,降低当前统计周期内故障恢复的流控阈值,从而达到降低故障恢复强度,保证业务IO负载的目的;在上一个统计周期内用户应用的IO负载强度低的时候,提高当前统计周期内故障恢复的流控阈值,从而达到提高故障恢复强度,尽快将分布式存储系统恢复到健康状态的目标。即本专利技术在提高大规模分布式存储系统数据修复效率、降低数据丢失风险的同时,能够避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是本专利技术实施例一提供的自适应的数据恢复流控方法的流程图。图2是本专利技术实施例二提供的自适应的数据恢复流控装置的功能模块图。图3是本专利技术实施例三提供的电子设备的示意图。如下具体实本文档来自技高网...

【技术保护点】
1.一种自适应的数据恢复流控方法,其特征在于,所述方法包括:a)定期同步分布式存储系统中的各个存储节点的信息;b)侦测是否有存储节点发生了故障;c)当侦测到有存储节点发生了故障时,获取发生故障的存储节点的存储列表;d)识别上一个统计周期内用户应用的IO负载类别;e)根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;f)根据所述存储列表及所述当前统计周期对应的流控阈值,对发生故障的存储节点的当前统计周期内的数据执行恢复操作;重复执行上述步骤d)‑f),直至对所述发生故障的存储节点的所有统计周期内的数据执行了恢复操作。

【技术特征摘要】
1.一种自适应的数据恢复流控方法,其特征在于,所述方法包括:a)定期同步分布式存储系统中的各个存储节点的信息;b)侦测是否有存储节点发生了故障;c)当侦测到有存储节点发生了故障时,获取发生故障的存储节点的存储列表;d)识别上一个统计周期内用户应用的IO负载类别;e)根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;f)根据所述存储列表及所述当前统计周期对应的流控阈值,对发生故障的存储节点的当前统计周期内的数据执行恢复操作;重复执行上述步骤d)-f),直至对所述发生故障的存储节点的所有统计周期内的数据执行了恢复操作。2.如权利要求1所述的方法,其特征在于,所述根据所述上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:采用预先设置的流控阈值作为第一个统计周期对应的流控阈值。3.如权利要求1所述的方法,其特征在于,所述识别上一个统计周期内用户应用的IO负载类别包括:获取所述上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小;获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延;获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值;根据所述上一个统计周期内的所述IO的平均数据块大小、所述平均数据块时延、所述数据块大小的基准值、所述对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度;根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别。4.如权利要求1所述的方法,其特征在于,所述IO负载类别包括:高负载类别、正常负载类别、低负载类别,所述根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值;当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值;当所述上一个统计周期内的...

【专利技术属性】
技术研发人员:陈学伟
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1