数据恢复方法、系统、设备及存储介质技术方案

技术编号:36694743 阅读:23 留言:0更新日期:2023-02-27 20:05
本申请实施例提供一种数据恢复方法、系统、设备及存储介质。存储系统中的多个存储节点,用于存储目标数据的多个数据块,该多个数据块包括:目标数据的第一数量的原始数据块以及第一数量的原始数据块生成的校验数据块。客户端触发降级读操作时,优先读取至少第一数量个存储节点中的数据块,并基于流量控制策略控制向冗余存储节点读取数据块的速度,使得降级读操作对存储系统造成的压力是灵活可控的。从而,当存储系统的访问压力较大时,可基于流量控制策略降低对存储系统增加较大的额外访问压力的风险,当存储系统的访问压力较小时,可通过至少第一数量的存储节点以及冗余存储节点快速接收到足够数量的数据块,从而有效降低降级读操作的时延毛刺。降级读操作的时延毛刺。降级读操作的时延毛刺。

【技术实现步骤摘要】
数据恢复方法、系统、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据恢复方法、系统、设备及存储介质。

技术介绍

[0002]纠删码(Erasure Code)是一种编码容错技术,用于在部分数据丢失时,恢复原始数据。纠删码可在保证可靠性的同时占用更少的存储空间,因而被广泛地应用于分布式存储系统中。基于纠删码技术,可根据K个原始数据块计算生成M个校验数据块。当任意数据块丢失时,可采用剩余的至少K个数据块对丢失的数据块进行数据恢复。
[0003]在分布式存系统中,K+M个数据块存储在的数据存储节点中,当任意数据块丢失时,客户端需向至少K个数据存储节点发送降级读请求,并等待该至少K个数据存储节点均返回数据块后再进行数据恢复。在上述过程中,出现部分降级读请求的时延远大于平均时延(即请求毛刺)的概率较高。因此,有待提出一种新的解决方案。

技术实现思路

[0004]本申请的多个方面提供一种数据恢复方法、系统、设备及存储介质,用以优化降级读请求的中的请求毛刺的概率。
[0005]本申请实施例提供一种数据恢复方法,其中,目标数据的多个数据块存储在存储系统的多个存储节点上;所述多个数据块包括:所述目标数据的第一数量的原始数据块以及所述第一数量的原始数据块生成的校验数据块;所述方法包括:检测到存储系统存在任一异常存储节点时,从所述存储系统的未异常存储节点中,确定第一节点集以及第二节点集;所述第一节点集中的存储节点的数量大于或等于所述第一数量;向所述第一节点集中的存储节点发送针对所述异常存储节点中的异常数据块的降级读请求,以及,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送所述降级读请求;接收到所述第一节点集和/或所述目标存储节点中的第二数量的存储节点返回的数据块时,根据所述第二数量的存储节点返回的数据块,对所述异常数据块进行数据恢复;所述第二数量,大于或者等于所述第一数量。
[0006]可选地,从所述存储系统的未异常存储节点中,确定第一节点集以及第二节点集,包括:确定所述存储系统的访问压力;根据所述存储系统的访问压力,从所述存储系统的未异常存储节点中,确定大于或等于所述第一数量的存储节点,得到所第一节点集;以及,将所述未异常存储节点中除所述第一节点集之外的存储节点,作为所述第二节点集。
[0007]可选地,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求,包括:若设定时间范围内接收到的与所述异常数据块关联的数据块的数量小于所述第二数量,则采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求。
[0008]可选地,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降
级读请求,包括:将针对所述第二节点集中的存储节点的降级读请求添加到流量控制队列中;在所述存储系统满足预设的流量控制条件时,从所述流量控制队列中选取所述目标存储节点对应的降级读请求;向所述目标存储节点发送对应的降级读请求。
[0009]可选地,所述流量控制条件,包括:在单位时间内向所述存储系统发出的请求的数量位于设定数量范围;或者,在单位时间内向所述存储系统发出的请求的流量带宽位于设定带宽范围;或者,在单位时间内向所述存储系统发出的请求的发送速度位于设定速度范围。
[0010]可选地,在所述存储系统满足预设的流量控制条件时,从所述流量控制队列中选取所述目标存储节点对应的降级读请求,包括:在所述存储系统满足预设的流量控制条件时,根据所述存储系统满足的流量控制条件的等级,确定待发送的冗余降级读请求的数量;根据所述待发送的冗余降级读请求的数量,从所述流量控制队列中选取降级读请求,得到所述目标存储节点对应的降级读请求。
[0011]可选地,在所述存储系统满足预设的流量控制条件时,从所述流量控制队列中选取所述目标存储节点对应的降级读请求,包括:在所述存储系统满足预设的流量控制条件时,从所述第二节点集中,确定处于轻载状态或者均衡状态的存储节点,作为所述目标存储节点;从所述流量控制队列中,选取所述目标存储节点对应的降级读请求。
[0012]本申请实施例还提供一种存储系统,包括:客户端以及多个存储节点;其中,所述多个存储节点,用于存储目标数据的多个数据块;所述多个数据块包括:所述目标数据的第一数量的原始数据块以及所述第一数量的原始数据块生成的校验数据块;以及,在接收到所述客户端发送的针对异常数据块的降级读请求时,向所述客户端返回所述异常数据块关联的数据块;所述客户端用于:检测到所述多个存储节点中存在任一异常存储节点时,从未异常存储节点中,确定第一节点集以及第二节点集;所述第一节点集中的存储节点的数量大于或等于所述第一数量;向所述第一节点集中的存储节点发送针对所述异常存储节点中的异常数据块的降级读请求,以及,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送所述降级读请求;接收到所述第一节点集和/或所述目标存储节点中的第二数量的存储节点返回的数据块时,根据所述第二数量的存储节点返回的数据块,对所述异常数据块进行数据恢复;所述第二数量,大于或者等于所述第一数量。
[0013]可选地,所述客户端在采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求时,具体用于:将针对所述第二节点集中的存储节点的降级读请求添加到流量控制队列中;在所述存储系统满足预设的流量控制条件时,从所述流量控制队列中选取所述目标存储节点对应的降级读请求;向所述目标存储节点发送对应的降级读请求。
[0014]本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
[0015]本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本申请实施例提供的方法中的步骤。
[0016]本申请实施例提供的数据恢复方法中,存储系统中的多个存储节点,用于存储目标数据的多个数据块,该多个数据块包括:目标数据的第一数量的原始数据块以及第一数
量的原始数据块生成的校验数据块。客户端触发降级读操作时,优先读取至少第一数量个存储节点中的数据块,并基于流量控制策略控制向冗余存储节点读取数据块的速度,使得降级读操作对存储系统造成的压力是灵活可控的。从而,当存储系统的访问压力较大时,可基于流量控制策略降低对存储系统增加较大的额外访问压力的风险,当存储系统的访问压力较小时,可通过至少第一数量的存储节点以及冗余存储节点快速接收到足够数量的数据块,从而有效降低降级读操作的时延毛刺,尤其是长尾时延毛刺。
附图说明
[0017]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1为本申请一示例性实施例提供的存储系统的结构示意图;
[0019]图2为本申请一示例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据恢复方法,其中,目标数据的多个数据块存储在存储系统的多个存储节点上;所述多个数据块包括:所述目标数据的第一数量的原始数据块以及所述第一数量的原始数据块生成的校验数据块;所述方法包括:检测到存储系统存在任一异常存储节点时,从所述存储系统的未异常存储节点中,确定第一节点集以及第二节点集;所述第一节点集中的存储节点的数量大于或等于所述第一数量;向所述第一节点集中的存储节点发送针对所述异常存储节点中的异常数据块的降级读请求,以及,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送所述降级读请求;接收到所述第一节点集和/或所述目标存储节点中的第二数量的存储节点返回的数据块时,根据所述第二数量的存储节点返回的数据块,对所述异常数据块进行数据恢复;所述第二数量,大于或者等于所述第一数量。2.根据权利要求1所述的方法,其中,从所述存储系统的未异常存储节点中,确定第一节点集以及第二节点集,包括:确定所述存储系统的访问压力;根据所述存储系统的访问压力,从所述存储系统的未异常存储节点中,确定大于或等于所述第一数量的存储节点,得到所第一节点集;以及,将所述未异常存储节点中除所述第一节点集之外的存储节点,作为所述第二节点集。3.根据权利要求1所述的方法,其中,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求,包括:若设定时间范围内接收到的与所述异常数据块关联的数据块的数量小于所述第二数量,则采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求。4.根据权利要求1所述的方法,其中,采用预设的流量控制策略,向所述第二节点集中的目标存储节点发送降级读请求,包括:将针对所述第二节点集中的存储节点的降级读请求添加到流量控制队列中;在所述存储系统满足预设的流量控制条件时,从所述流量控制队列中选取所述目标存储节点对应的降级读请求;向所述目标存储节点发送对应的降级读请求。5.根据权利要求4所述的方法,其中,所述流量控制条件,包括:在...

【专利技术属性】
技术研发人员:魏舒展赵亚飞吴益群董元元
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1