CN114143174A - 一种节点修复方法、装置、设备及可读存储介质 - Google Patents

一种节点修复方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN114143174A
CN114143174A CN202111447401.8A CN202111447401A CN114143174A CN 114143174 A CN114143174 A CN 114143174A CN 202111447401 A CN202111447401 A CN 202111447401A CN 114143174 A CN114143174 A CN 114143174A
Authority
CN
China
Prior art keywords
node
repair
stripe
time
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111447401.8A
Other languages
English (en)
Inventor
周玉坤
倪向敏
胡燏翀
李润辉
古亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Sangfor Technologies Co Ltd
Original Assignee
Huazhong University of Science and Technology
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology, Sangfor Technologies Co Ltd filed Critical Huazhong University of Science and Technology
Priority to CN202111447401.8A priority Critical patent/CN114143174A/zh
Publication of CN114143174A publication Critical patent/CN114143174A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种节点修复方法、装置、设备及可读存储介质,该方法应用于修复请求节点,包括:获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点;将待分配条带修复任务分配到修复节点;本发明将条带修复作为基本单位,基于贪心算法比较条带在每一个条带节点上修复时的网络传输时间,从而能够选择网络传输时间最小的那个条带节点作为该条带的修复节点,使得多个条带能够均衡的分配在不同条带节点上修复,保证各个条带节点带宽使用是相对均衡的,降低了节点修复过程中的网络传输时间,提高了节点修复性能,提升了用户体验。

Description

一种节点修复方法、装置、设备及可读存储介质
技术领域
本发明涉及存储技术领域,特别涉及一种节点修复方法、装置、设备及可读存储介质。
背景技术
目前,纠删码方案因在能提供与副本相同容错的情况下,只需要比副本更小的存储开销而被广泛应用于存储***中。但是在故障场景中,纠删码方案重建数据需要从其他节点下载更多的数据块而导致其重建效率低下。如图1所示的传统数据修复方式中,假设修复数据需要通过交换机(switch)从k个工作节点(helper)中获取k个块,在修复请求节点(requestor)中处理修复并存储被修复的块,则修复需要k个时间片,同时requestor的下行带宽存在瓶颈(Bottleneck)。如图2所示现有的部分并行修复(Partial-Parallel-Repair,PPR)中,假设在k个helper中存储{b1,b2,...,bk}个数据块,相应的编码参数为{a1,a2,...,ak},PPR修复过程可以如下:N1发送a1*b1给N2,N2计算a1*b1+a2*b2,N3发送a3*b3给N4,N4计算a3*b3+a4*b4(计算的时间忽略);N2发送a1*b1+a2*b2给N4,N4计算a1*b1+a2*b2+a3*b3+a4*b4;N4将计算的结果发送给requestor,完成数据块的修复;PPR的修复所需时间片为ceil(log2(k+1)),仍然存在的瓶颈,如N4节点的下行带宽。
因此,如何能够降低节点修复过程中的网络传输时间,提高节点修复性能,提升用户体验,是现今急需解决的问题。
发明内容
本发明的目的是提供一种节点修复方法、装置、设备及可读存储介质,以降低节点修复过程中的网络传输时间,提升节点修复性能,提升用户体验。
为解决上述技术问题,本发明提供一种节点修复方法,应用于修复请求节点,包括:
获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,所述预期下载时间为条带节点下载修复用数据块所需消耗的时间,所述预期上传时间为条带节点上传已修复数据块和/或修复用数据块所需消耗的时间,所述多个条带节点包括所述修复请求节点和除所述修复请求节点之外的其他节点;
根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点;
将待分配条带修复任务分配到所述修复节点。
可选的,所述预期下载时间为条带节点下载所述待分配条带修复任务对应的修复用数据块所需消耗的时间,所述预期上传时间为上传所述待分配条带修复任务对应的已修复数据块所需消耗的时间;
所述根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点,包括:
将每个条带节点的预期下载时间和预期上传时间中的最小值作为各自对应的瓶颈时间;
将所述多个条带节点中瓶颈时间最小的条带节点作为所述修复节点。
可选的,所述获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间,包括:
获取每个条带节点处理所述待分配条带修复任务所需消耗的第一上传时间和第一下载时间,以及已分配条带修复任务对应的各条带节点所需消耗的第二上传时间和第二下载时间;其中,所述已分配条带修复任务为已分配给条带节点且尚未被条带节点执行的条带修复任务;
将所述第一上传时间和第二上传时间的累加值作为所述预期上传时间,将所述第一下载时间和第二下载时间的累加值作为所述预期下载时间。
可选的,所述根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点之后,还包括:
利用所述修复节点对应的第一上传时间和第一下载时间以及所述修复节点对应的预测上传节点上传所述待分配条带修复任务的修复用数据块的时间,更新相应的条带节点对应的第二下载时间和第二上传时间。
可选的,所述将待分配条带修复任务分配到所述修复节点,包括:
判断所述待分配条带修复任务是否为最后一个条带修复任务;
若是,则将全部条带修复任务分别分配到各自对应的修复节点;
若否,则将下一个条带修复任务作为所述待分配条带修复任务,并执行所述获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间的步骤。
可选的,所述将待分配条带修复任务分配到所述修复节点之后,还包括:
获取各所述条带节点的修复时间;其中,所述修复时间为条带节点下载各自收到的全部条带修复任务的修复用数据块所需消耗的时间;
根据所述修复时间,获取所述修复请求节点的节点修复时间。
可选的,所述修复节点为所述修复请求节点时,所述将待分配条带修复任务分配到所述修复节点之后,还包括:
确定所述待分配条带修复任务对应的实际上传节点;其中,所述实际上传节点为向所述修复节点上传各自的所述待分配条带修复任务对应的修复用数据块的其他条带节点;
接收所述实际上传节点发送的所述待分配条带修复任务对应的修复用数据块;
利用所述修复用数据块,修复得到所述待分配条带修复任务对应的已修复数据块。
可选的,所述确定所述待分配条带修复任务对应的实际上传节点,包括:
计算所述修复节点之外的其他条带节点各自的数据块上传时间;其中,所述数据块上传时间为向所述修复节点上传各自的所述待分配条带修复任务对应的修复用数据块所需消耗的时间;
按照数据块上传时间由小到大的选取顺序,从所述修复节点之外的其他条带节点中选取预设数量的其他条带节点作为所述实际上传节点;其中,所述条带节点处于采用N+M纠删码的集群架构时,所述预设数量为N,N为数据块数量,M为校验块数量。
本发明还提供了一种节点修复装置,应用于修复请求节点,包括:
预测模块,用于获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,所述预期下载时间为条带节点下载修复用数据块所需消耗的时间,所述预期上传时间为条带节点上传已修复数据块所需消耗的时间,所述多个条带节点包括所述修复请求节点和除所述修复请求节点之外的其他节点;
确定模块,用于根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点;
分配模块,用于将待分配条带修复任务分配到所述修复节点。
本发明还提供了一种节点修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的节点修复方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的节点修复方法的步骤。
本发明所提供的一种节点修复方法,应用于修复请求节点,包括:获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,预期下载时间为条带节点下载修复用数据块所需消耗的时间,预期上传时间为条带节点上传已修复数据块和/或修复用数据块所需消耗的时间,多个条带节点包括修复请求节点和除修复请求节点之外的其他节点;根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点;将待分配条带修复任务分配到修复节点;
可见,本发明通过根据预期下载时间和预期上传时间,从多个条带节点中确定待分配条带修复任务对应的修复节点,将条带修复作为基本单位,基于贪心算法比较条带在每一个条带节点上修复时的网络传输时间,从而能够选择网络传输时间最小的那个条带节点作为该条带的修复节点,使得多个条带能够均衡的分配在不同条带节点上修复,保证各个条带节点带宽使用是相对均衡的,降低了节点修复过程中的网络传输时间,提高了节点修复性能,提升了用户体验。此外,本发明还提供了一种节点修复装置、设备及可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统的基于纠删码的数据修复的示意图;
图2为现有的基于纠删码的部分并行修复的示意图;
图3为本发明实施例所提供的一种节点修复方法的流程图;
图4为本发明实施例所提供的一种节点修复装置的结构框图;
图5为本发明实施例所提供的一种节点修复设备的结构示意图;
图6为本发明实施例所提供的一种节点修复设备的具体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图3,图3为本发明实施例所提供的一种节点修复方法的流程图。该方法应用于修复请求节点,可以包括:
步骤101:获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,预期下载时间为条带节点下载修复用数据块所需消耗的时间,预期上传时间为条带节点上传已修复数据块和/或修复用数据块所需消耗的时间,多个条带节点包括修复请求节点和除修复请求节点之外的其他节点。
可以理解的是,本实施例中的修复请求节点可以为需要修复条带(即待修复条带)的数据块的节点(如图1中的requestor),如替换故障节点的新增节点。本实施例中的条带节点可以为N+M纠删码的集群架构下的节点,N为数据块(Date disks)数量,M为校验块(Parity disks)数量,条带节点可以包括集群中修复请求节点和除修复请求节点之外的正常的其他节点;例如图2中6+3纠删码的集群架构下D2节点故障时,替换D2节点的新增节点可以作为修复请求节点,与剩余8个的正常的节点共同完成修复请求节点中全部待修复条带(Stripe)的数据块的修复,一个待修复条带的数据块的修复可以利用剩余8个的正常的节点中6个节点中该待修复条带对应的数据块(即修复用数据块)进行修复。
其中,本步骤中的预期下载时间和预期上传时间可以为分配待分配条带修复任务时,预测获取的全部条带节点中每个条带节点各自对应的下载时间和上传时间,即下载修复用数据块所需消耗的时间以及上传已修复数据块和/或修复用数据块所需消耗的时间;待分配条带修复任务可以为当前需要分配的一个条带修复任务,即修复请求节点需要修复的全部待修复条带中当前的一个待修复条带的条带修复任务。
具体的,本步骤中处理器可以预测获取多个条带节点中每个条带节点承担处理待分配条带修复任务后,每个条带节点对应的预期下载时间和预期上传时间。对于本步骤中每个条带节点对应的预期下载时间和预期上传时间的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如预期下载时间和预期上传时间可以为条带节点处理待分配条带修复任务对应的修复用数据块的下载时间(即第一下载时间)和修复完成的数据块(即已修复数据块)的上传时间(即第一上传时间),即预期下载时间可以为条带节点下载待分配条带修复任务对应的修复用数据块所需消耗的时间,预期上传时间可以为上传待分配条带修复任务对应的已修复数据块所需消耗的时间;也就是说,每个条带节点对应的预期下载时间可以为条带节点获取N个修复用数据块的总下载时间,每个条带节点对应的预期上传时间可以为向修复请求节点上传修复完成的数据块(即已修复数据块)的上传时间;例如,条带节点为修复请求节点时,该条带节点对应的预期下载时间可以为下载待分配条带修复任务对应的N个修复用数据块的总下载时间,该条带节点对应的预期上传时间可以为0;条带节点为修复请求节点之外的其他条带节点时,该条带节点对应的预期下载时间可以为下载待分配条带修复任务对应的N-1个修复用数据块的总下载时间,该条带节点对应的预期上传时间可以为向修复请求节点上传修复完成的待分配条带修复任务对应的已修复数据块的上传时间。
对应的,每个条带节点对应的预期下载时间也可以为条带节点下载待分配条带修复任务对应的修复用数据块的下载时间(即第一下载时间)与下载已分配条带修复任务对应的修复用数据块的下载时间(即第二下载时间)的累加值,即每个条带节点对应的预期下载时间可以为该条带节点下载待分配条带修复任务的修复用数据块所需消耗的第一下载时间和该条带节点下载之前已确定分配给该条带节点且尚未被条带节点执行的条带修复任务(即已分配条带修复任务)的修复用数据块所需消耗的第二下载时间。
相应的,每个条带节点对应的预期上传时间也可以为条带节点上传待分配条带修复任务对应的已修复数据块的上传时间(即第一上传时间)与上传已分配条带修复任务对应的修复用数据块和/或修复用数据块的上传时间(即第二上传时间)的累加值,如每个条带节点对应的第二上传时间可以为该条带节点在待分配条带修复任务之前的已分配条带修复任务中该条带节点确定为修复节点时已修复数据块之和,或该条带节点确定为修复节点时已修复数据块与确定为上传节点(如预测上传节点)时向相应修复节点上传修复用数据块的上传时间之和。例如修复请求节点对应的第二上传时间可以为0,修复请求节点之外的其他条带节点对应的第二上传时间可以为其在各已分配条带修复任务中确定为上传节点时向相应修复节点上传相应修复用数据块的总的上传时间与确定为修复节点时向修复请求节点发送相应已修复数据块的总的上传时间之和。
需要说明的是,对于本步骤中处理器获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如预期下载时间和预期上传时间分别为条带节点处理待分配条带修复任务对应的第一下载时间和第一上传时间时,修复请求节点可以根据每个条带节点各自的上传带宽和下载带宽,计算每个条带节点处理待分配条带修复任务对应的第一上传时间和第一下载时间;例如,处理待分配条带修复任务的条带节点为修复请求节点之外的其他条带节点时,该条带节点对应的第一下载时间可以为N-1个修复用数据块除以该条带节点的下载带宽的商,该条带节点对应的第一上传时间可以为待分配条带修复任务对应的已修复数据块除以该条带节点的上传带宽的商。
相应的,预期下载时间和预期上传时间分别为条带节点处理待分配条带修复任务对应的第一下载时间与第二下载时间之和以及第一上传时间与第二上传时间之和时,修复请求节点可以获取每个条带节点处理待分配条带修复任务所需消耗的第一上传时间和第一下载时间,以及已分配条带修复任务对应的各条带节点所需消耗的第二上传时间和第二下载时间;将第一上传时间和第二上传时间的累加值作为预期上传时间,将第一下载时间和第二下载时间的累加值作为预期下载时间。例如处理器在确定修复请求节点中全部条带修复任务之后,将各条带修复任务分配到各自对应的修复节点的情况下,每个条带节点对应的第二下载时间和第二上传时间可以为已分配给条带节点的条带修复任务对应的各条带节点所需消耗的下载时间和上传时间。处理器在确定修复请求节点中待分配条带修复任务之后,直接将待分配条带修复任务分配到对应的修复节点的情况下,每个条带节点对应的第二下载时间和第二上传时间可以为已分配给条带节点的条带修复任务对应的各条带节点所需消耗的下载时间减去已分配时间(如从分配第一条带修复任务开始计时的时间)的差以及上传时间减去已分配时间的差。
相应的,本实施例所提供的方法还可以包括在确定待分配条带修复任务对应的修复节点之后,更新各条带节点对应的第二下载时间和第二上传时间的过程,即处理器可以在确定待分配条带修复任务对应的修复节点之后,利用待分配条带修复任务的修复节点对应的第一下载时间和第一上传时间以及该修复节点对应的预测上传节点的修复用数据块的上传时间,更新相应条带节点对应的第二下载时间和第二上传时间,即更新该修复节点对应的第二下载时间和第二上传时间和该修复节点对应的预测上传节点的第二上传时间,如将各预测上传节点对应的第二上传时间更新为之前的第二上传时间与向修复节点上传的待分配条带修复任务对应的自身的修复用数据块的上传时间之和。
需要说明的是,上述预测上传节点可以为预测的可以向待分配条带修复任务对应的修复节点传输各自的待分配条带修复任务对应的修复用数据块的条带节点。本实施例并不限定修复节点对应的预测上传节点的具体选择,如可以将全部能够向待分配条带修复任务对应的修复节点传输各自的待分配条带修复任务对应的修复用数据块的条带节点均作为预测上传节点;如修复节点为修复请求节点时,可以将修复节点之外的条带节点均作为预测上传节点;如修复节点不为修复请求节点时,可以将修复节点和修复请求节点之外的条带节点均作为预测上传节点。处理器也可以从全部能够向待分配条带修复任务对应的修复节点传输各自的待分配条带修复任务对应的修复用数据块的条带节点中确定N或N-1个条带节点均作为预测上传节点,如修复节点为修复请求节点时,可以从修复节点之外的条带节点中选择N个条带节点作为预测上传节点,例如选择N各上传待分配条带修复任务对应的修复用数据块的上传时间最小的条带节点;修复节点不为修复请求节点时,可以从修复节点和修复请求节点之外的条带节点之外的条带节点中选择N个条带节点作为预测上传节点,例如选择N各上传待分配条带修复任务对应的修复用数据块的上传时间最小的条带节点。
对应的,本实施例所提供的方法还可以包括处理器将确定的待分配条带修复任务对应的N或N-1个预测上传节点的标识信息分配到待分配条带修复任务对应的修复节点的步骤,以方便修复节点对待分配条带修复任务对应的待修复数据块的修复,得到已修复数据块。
需要说明的是,本实施例是以修复请求节点的每个条带修复任务可以划分到修复请求节点或修复请求节点之外的任一条带节点为例进行的展示,即对于修复请求节点中一个待修复条带的待修复数据块的修复,可以在修复请求节点进行修复或在修复请求节点之外的其他条带节点进行修复。对于修复请求节点的每个条带修复任务仅划分到修复请求节点之外的任一条带节点的情况,即本实施例中的条带节点可以仅包括修复请求节点之外的正常的节点,可以采用与本实施例所提供的方法相似的方式对应进行设置,本实施例对此不做任何限制。
步骤102:根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点。
可以理解的是,本步骤中处理器可以利用预测的每个条带节点对应的预期下载时间和预期上传时间,确定实际处理待分配条带修复任务的条带节点,即待分配带修复任务对应的修复节点;其中,待分配带修复任务对应的修复节点可以为多个条带节点中的任一条带节点。
具体的,对于本步骤中处理器根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以将每个条带节点的预期下载时间和预期上传时间中的最小值作为各自对应的瓶颈时间;将多个条带节点中瓶颈时间最小的条带节点作为待分配带修复任务对应的修复节点。处理器也可以将条带节点的预期下载时间与预期上传时间之和作为各自对应的任务瓶颈时间;将多个条带节点中任务瓶颈时间最小的条带节点作为待分配带修复任务对应的修复节点。
步骤103:将待分配条带修复任务分配到修复节点。
可以理解的是,本步骤中处理器通过将待分配条带修复任务分配到其对应的修复节点,使该修复节点可以利用相应的修复用数据块修复得到待分配条带修复任务对应的已修复数据块,以使请求修复节点可以获取该修复节点修复得到待分配条带修复任务对应的已修复数据块,完成请求修复节点中待分配条带修复任务对应的待修复条带的修复。
具体的,对于本步骤中请求修复节点的处理器将待分配条带修复任务分配到修复节点的具体方式,可以由设计人员自行设置,如处理器可以直接在确定待分配条带修复任务对应的修复节点后,直接将待分配条带修复任务分配到该修复节点。处理器也可以在确定待分配条带修复任务对应的修复节点后,判断是否确定完全部条带修复任务各自对应的修复节点;若是,则将全部条带修复任务分别分配到各自对应的修复节点;若否,则继续确定下一条带修复任务对应的修复节点;也就是说,本步骤中处理器可以判断待分配条带修复任务是否为最后一个条带修复任务;若是,则可以确定全部条带修复任务各自对应的修复节点均已确定完成,将全部条带修复任务分别分配到各自对应的修复节点;若否,则将下一个待修复条带对应的条带修复任务作为待分配条带修复任务,并执行步骤101,以继续确定下一条带修复任务对应的修复节点。
对应的,步骤103之后,处理器可以获取各条带节点的修复时间;根据各条带节点各自对应的修复时间,获取修复请求节点的节点修复时间,如将各条带节点各自对应的修复时间中最大的修复时间作为节点修复时间;以使修复请求节点可以展示获取的节点修复时间,方便用户提前了解修复请求节点修复所需要的时间,提升用户体验。
其中,本实施例并不限定各条带节点各自的修复时间的具体内容,如各条带节点各自的修复时间可以包括每个条带节点下载各自收到的全部条带修复任务的修复用数据块所需消耗的时间,即每个条带节点修复需要处理的全部条带修复任务对应的修复用数据块的总的下载时间;各条带节点各自的修复时间也可以包括每个条带节点下载各自收到的全部条带修复任务的修复用数据块的所需下载时间与传收到的最后一个或全部条带修复任务的已修复数据块的所需上传时间之和。
具体的,步骤103之后还可以包括获取待分配条带修复任务对应的已修复数据块的步骤,如修复请求节点不为待分配条带修复任务对应的修复节点时,修复请求节点的处理器可以接收该修复节点返回的待分配条带修复任务对应的已修复数据块。
本实施例中,本发明实施例通过通过根据预期下载时间和预期上传时间,从多个条带节点中确定待分配条带修复任务对应的修复节点,将条带修复作为基本单位,基于贪心算法比较条带在每一个条带节点上修复时的网络传输时间,从而能够选择网络传输时间最小的那个条带节点作为该条带的修复节点,使得多个条带能够均衡的分配在不同条带节点上修复,保证各个条带节点带宽使用是相对均衡的,降低了节点修复过程中的网络传输时间,提高了节点修复性能,提升了用户体验。
基于上述实施例,本实施例所提供的节点修复方法还可以包括修复请求节点处理分配到修复请求节点的条带修复任务的过程,如待分配条带修复任务对应的修复节点为修复请求节点时,待分配条带修复任务分配到修复请求节点之后,修复请求节点可以确定待分配条带修复任务对应的实际上传节点;接收实际上传节点发送的待分配条带修复任务对应的修复用数据块;利用修复用数据块,修复得到待分配条带修复任务对应的已修复数据块。
具体的,上述待分配条带修复任务对应的实际上传节点可以为向待分配条带修复任务对应的修复节点上传各自的待分配条带修复任务对应的修复用数据块的其他条带节点。对于待分配条带修复任务对应的实际上传节点的具体选择,可以由设计人员自行设置,如计算修复节点之外的其他条带节点各自的数据块上传时间;按照数据块上传时间由小到大的选取顺序,从修复节点之外的其他条带节点中选取预设数量的其他条带节点作为实际上传节点;其中,条带节点处于采用N+M纠删码的集群架构时,预设数量为N,N为数据块数量,M为校验块数量。
对应的,数据块上传时间可以为向待分配条带修复任务的修复节点上传各自的待分配条带修复任务对应的修复用数据块所需消耗的时间,数据块上传时间也可以为向待分配条带修复任务的修复节点上传该修复节点所分配到的全部条带修复任务对应的修复用数据块的总的上传时间,本实施例对此不做任何限制。
需要说明的是,本实施例是以修复请求节点作为修复节点对所分配的条带修复任务的修复处理为例进行的展示,对于修复请求节点之外的其他条带节点对所分配的条带修复任务的修复处理,可以采用与本实施例所提供的方法相似的方式实现,如其他条带节点可以按照数据块上传时间由小到大的选取顺序,从修复节点之外的其他条带节点中选取N-1个其他条带节点作为实际上传节点,利用各自的待分配条带修复任务对应的实际上传节点上传的修复用数据块,修复得到待分配条带修复任务对应的已修复数据块并发送给修复请求节点。
相应于上面的方法实施例,本发明实施例还提供了一种节点修复装置,下文描述的节点修复装置与上文描述的节点修复方法可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种节点修复装置的结构框图。该装置应用于修复请求节点,可以包括:
预测模块10,用于获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,预期下载时间为条带节点下载修复用数据块所需消耗的时间,预期上传时间为条带节点上传已修复数据块和/或修复用数据块所需消耗的时间,多个条带节点包括修复请求节点和除修复请求节点之外的其他节点;
确定模块20,用于根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点;
分配模块30,用于将待分配条带修复任务分配到修复节点。
可选的,预期上传时间为条带节点上传待分配条带修复任务对应的修复用数据块所需消耗的时间,预期上传时间为上传待分配条带修复任务对应的已修复数据块所需消耗的时间;
确定模块20可以包括:瓶颈子模块,用于将每个条带节点的预期下载时间和预期上传时间中的最小值作为各自对应的瓶颈时间;
确定子模块,用于将多个条带节点中瓶颈时间最小的条带节点作为修复节点。
可选的,预测模块10可以包括:
获取子模块,用于获取每个条带节点处理待分配条带修复任务所需消耗的第一上传时间和第一下载时间,以及已分配条带修复任务对应的各条带节点所需消耗的第二上传时间和第二下载时间;其中,已分配条带修复任务为已分配给条带节点且尚未被条带节点执行的条带修复任务;
累加子模块,用于将第一上传时间和第二上传时间的累加值作为预期上传时间,将第一下载时间和第二下载时间的累加值作为预期下载时间。
可选的,该装置还可以包括:
更新模块,用于利用修复节点对应的第一上传时间和第一下载时间以及修复节点对应的预测上传节点上传待分配条带修复任务的修复用数据块的时间,更新相应的条带节点对应的第二下载时间和第二上传时间。
可选的,分配模块30可以包括:
判断子模块,用于判断待分配条带修复任务是否为最后一个条带修复任务;若不为最后一个条带修复任务,则将下一个条带修复任务作为待分配条带修复任务,并向预测模块10发送启动信号;
分配子模块,用于若为最后一个条带修复任务,则将全部条带修复任务分别分配到各自对应的修复节点。
可选的,修复节点为修复请求节点时,该装置还可以包括:
上传确定模块,用于确定待分配条带修复任务对应的实际上传节点;其中,实际上传节点为向修复节点上传各自的待分配条带修复任务对应的修复用数据块的其他条带节点;
数据接收模块,用于接收实际上传节点发送的待分配条带修复任务对应的修复用数据块;
修复模块,用于利用修复用数据块,修复得到待分配条带修复任务对应的已修复数据块。
可选的,上传确定模块可以包括:
上传计算子模块,用于计算修复节点之外的其他条带节点各自的数据块上传时间;其中,数据块上传时间为向修复节点上传各自的待分配条带修复任务对应的修复用数据块所需消耗的时间;
上传确定子模块,用于按照数据块上传时间由小到大的选取顺序,从修复节点之外的其他条带节点中选取预设数量的其他条带节点作为实际上传节点;其中,条带节点处于采用N+M纠删码的集群架构时,预设数量为N,N为数据块数量,M为校验块数量。
本实施例中,本发明实施例通过确定模块20根据预期下载时间和预期上传时间,从多个条带节点中确定修复节点,将条带修复作为基本单位,基于贪心算法比较条带在每一个条带节点上修复时的网络传输时间,从而能够选择网络传输时间最小的那个条带节点作为该条带的修复节点,使得多个条带能够均衡的分配在不同条带节点上修复,保证各个条带节点带宽使用是相对均衡的,降低了节点修复过程中的网络传输时间,提高了节点修复性能,提升了用户体验。
相应于上面的方法实施例,本发明实施例还提供了一种节点修复设备,下文描述的一种节点修复设备与上文描述的一种节点修复方法可相互对应参照。
请参考图5,图5为本发明实施例所提供的一种节点修复设备的结构示意图。该节点修复设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的节点修复方法的步骤。
具体的,请参考图6,图6为本发明实施例所提供的一种节点修复设备的具体结构示意图,该节点修复设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在节点修复设备310上执行存储介质330中的一系列指令操作。
节点修复设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
其中,节点修复设备310可以具体为存储***中的节点设备。
上文所描述的节点修复方法中的步骤可以由节点修复设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种节点修复方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所提供的节点修复方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种节点修复方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (11)

1.一种节点修复方法,其特征在于,应用于修复请求节点,包括:
获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,所述预期下载时间为条带节点下载修复用数据块所需消耗的时间,所述预期上传时间为条带节点上传已修复数据块和/或修复用数据块所需消耗的时间,所述多个条带节点包括所述修复请求节点和除所述修复请求节点之外的其他节点;
根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点;
将待分配条带修复任务分配到所述修复节点。
2.根据权利要求1所述的节点修复方法,其特征在于,所述预期上传时间为条带节点上传所述待分配条带修复任务对应的修复用数据块所需消耗的时间,所述预期上传时间为上传所述待分配条带修复任务对应的已修复数据块所需消耗的时间;
所述根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点,包括:
将每个条带节点的预期下载时间和预期上传时间中的最小值作为各自对应的瓶颈时间;
将所述多个条带节点中瓶颈时间最小的条带节点作为所述修复节点。
3.根据权利要求1所述的节点修复方法,其特征在于,所述获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间,包括:
获取每个条带节点处理所述待分配条带修复任务所需消耗的第一上传时间和第一下载时间,以及已分配条带修复任务对应的各条带节点所需消耗的第二上传时间和第二下载时间;其中,所述已分配条带修复任务为已分配给条带节点且尚未被条带节点执行的条带修复任务;
将所述第一上传时间和第二上传时间的累加值作为所述预期上传时间,将所述第一下载时间和第二下载时间的累加值作为所述预期下载时间。
4.根据权利要求3所述的节点修复方法,其特征在于,所述根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点之后,还包括:
利用所述修复节点对应的第一上传时间和第一下载时间以及所述修复节点对应的预测上传节点上传所述待分配条带修复任务的修复用数据块的时间,更新相应的条带节点对应的第二下载时间和第二上传时间。
5.根据权利要求1所述的节点修复方法,其特征在于,所述将待分配条带修复任务分配到所述修复节点,包括:
判断所述待分配条带修复任务是否为最后一个条带修复任务;
若是,则将全部条带修复任务分别分配到各自对应的修复节点;
若否,则将下一个条带修复任务作为所述待分配条带修复任务,并执行所述获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间的步骤。
6.根据权利要求1所述的节点修复方法,其特征在于,所述将待分配条带修复任务分配到所述修复节点之后,还包括:
获取各所述条带节点的修复时间;其中,所述修复时间为条带节点下载各自收到的全部条带修复任务的修复用数据块所需消耗的时间;
根据所述修复时间,获取所述修复请求节点的节点修复时间。
7.根据权利要求1至6任一项所述的节点修复方法,其特征在于,所述修复节点为所述修复请求节点时,所述将待分配条带修复任务分配到所述修复节点之后,还包括:
确定所述待分配条带修复任务对应的实际上传节点;其中,所述实际上传节点为向所述修复节点上传各自的所述待分配条带修复任务对应的修复用数据块的其他条带节点;
接收所述实际上传节点发送的所述待分配条带修复任务对应的修复用数据块;
利用所述修复用数据块,修复得到所述待分配条带修复任务对应的已修复数据块。
8.根据权利要求7所述的节点修复方法,其特征在于,所述确定所述待分配条带修复任务对应的实际上传节点,包括:
计算所述修复节点之外的其他条带节点各自的数据块上传时间;其中,所述数据块上传时间为向所述修复节点上传各自的所述待分配条带修复任务对应的修复用数据块所需消耗的时间;
按照数据块上传时间由小到大的选取顺序,从所述修复节点之外的其他条带节点中选取预设数量的其他条带节点作为所述实际上传节点;其中,所述条带节点处于采用N+M纠删码的集群架构时,所述预设数量为N,N为数据块数量,M为校验块数量。
9.一种节点修复装置,其特征在于,应用于修复请求节点,包括:
预测模块,用于获取多个条带节点中每个条带节点对应的预期下载时间和预期上传时间;其中,所述预期下载时间为条带节点下载修复用数据块所需消耗的时间,所述预期上传时间为条带节点上传已修复数据块所需消耗的时间,所述多个条带节点包括所述修复请求节点和除所述修复请求节点之外的其他节点;
确定模块,用于根据所述预期下载时间和所述预期上传时间,从所述多个条带节点中确定修复节点;
分配模块,用于将待分配条带修复任务分配到所述修复节点。
10.一种节点修复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的节点修复方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的节点修复方法的步骤。
CN202111447401.8A 2021-11-30 2021-11-30 一种节点修复方法、装置、设备及可读存储介质 Pending CN114143174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111447401.8A CN114143174A (zh) 2021-11-30 2021-11-30 一种节点修复方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111447401.8A CN114143174A (zh) 2021-11-30 2021-11-30 一种节点修复方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114143174A true CN114143174A (zh) 2022-03-04

Family

ID=80386158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111447401.8A Pending CN114143174A (zh) 2021-11-30 2021-11-30 一种节点修复方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114143174A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110072143A1 (en) * 2009-09-18 2011-03-24 Industrial Technology Research Institute Scheduling method for peer-to-peer data transmission and node and system using the same
US20140010090A1 (en) * 2012-07-09 2014-01-09 Telefonaktiebolaget L M Ericsson (Pub) Broadcasting of data files and file repair procedure with regards to the broadcasted data files
US20160140515A1 (en) * 2013-09-13 2016-05-19 Hitachi, Ltd. Task-directing system and task-directing method
US20180181471A1 (en) * 2016-12-22 2018-06-28 At&T Intellectual Property I, L.P. Parallel partial repair of storage
CN110190926A (zh) * 2019-04-26 2019-08-30 华中科技大学 基于网络计算的纠删码修复方法、纠删码更新方法及***
CN111614720A (zh) * 2020-04-13 2020-09-01 厦门大学 针对集群存储***单点失效修复的跨集群流量优化方法
CN112272203A (zh) * 2020-09-18 2021-01-26 苏州浪潮智能科技有限公司 一种集群业务节点选择方法、***、终端及存储介质
WO2021066950A1 (en) * 2019-10-02 2021-04-08 Microsoft Technology Licensing, Llc Coded stream processing
CN113541870A (zh) * 2021-07-08 2021-10-22 厦门大学 一种纠删码存储单节点失效的修复优化方法
CN113626250A (zh) * 2021-07-08 2021-11-09 华中科技大学 一种基于纠删码的条带合并方法及***
CN113721848A (zh) * 2021-08-19 2021-11-30 华中科技大学 一种基于纠删码的多节点调度修复方法及***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110072143A1 (en) * 2009-09-18 2011-03-24 Industrial Technology Research Institute Scheduling method for peer-to-peer data transmission and node and system using the same
US20140010090A1 (en) * 2012-07-09 2014-01-09 Telefonaktiebolaget L M Ericsson (Pub) Broadcasting of data files and file repair procedure with regards to the broadcasted data files
US20160140515A1 (en) * 2013-09-13 2016-05-19 Hitachi, Ltd. Task-directing system and task-directing method
US20180181471A1 (en) * 2016-12-22 2018-06-28 At&T Intellectual Property I, L.P. Parallel partial repair of storage
CN110190926A (zh) * 2019-04-26 2019-08-30 华中科技大学 基于网络计算的纠删码修复方法、纠删码更新方法及***
WO2021066950A1 (en) * 2019-10-02 2021-04-08 Microsoft Technology Licensing, Llc Coded stream processing
CN111614720A (zh) * 2020-04-13 2020-09-01 厦门大学 针对集群存储***单点失效修复的跨集群流量优化方法
CN112272203A (zh) * 2020-09-18 2021-01-26 苏州浪潮智能科技有限公司 一种集群业务节点选择方法、***、终端及存储介质
CN113541870A (zh) * 2021-07-08 2021-10-22 厦门大学 一种纠删码存储单节点失效的修复优化方法
CN113626250A (zh) * 2021-07-08 2021-11-09 华中科技大学 一种基于纠删码的条带合并方法及***
CN113721848A (zh) * 2021-08-19 2021-11-30 华中科技大学 一种基于纠删码的多节点调度修复方法及***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
丁尚;童鑫;陈艳;叶保留;: "基于简单再生码的带宽感知的分布式存储节点修复优化", 软件学报, no. 08 *
张晓阳: "云存储***中的预测式局部修复码", 《云存储***中的预测式局部修复码》, vol. 56, no. 9, pages 1989 - 1991 *
齐凤林;宫庆媛;周扬帆;王新;: "分布式存储再生码数据修复的节点选择方案", 计算机研究与发展, no. 2 *
齐凤林等: "分布式存储再生码数据修复的节点选择方案", 《计算机研究与发展》, vol. 52, pages 68 - 72 *

Similar Documents

Publication Publication Date Title
CN107943421B (zh) 一种基于分布式存储***的分区划分方法及装置
CN108780386B (zh) 一种数据存储的方法、装置和***
US20190065316A1 (en) Utilizing request deadlines in a dispersed storage network
JP7167174B2 (ja) 分散ストレージ・ネットワークにおける動的認可バッチ処理
CN107656807B (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN109240820B (zh) 图像处理任务的处理方法及装置、电子设备及存储介质
CN112269661B (zh) 基于Kafka集群的分区迁移方法和装置
CN113497955B (zh) 一种视频处理***
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN108459926B (zh) 数据异地备份方法、装置及计算机可读介质
CN111211993A (zh) 流式计算的增量持久化方法及其装置
US20200228597A1 (en) Hash data structure biasing
CN114143174A (zh) 一种节点修复方法、装置、设备及可读存储介质
CN113342526A (zh) 云计算移动网络资源动态管控方法、***、终端及介质
WO2023098048A1 (zh) 一种扩展纠删码存储***的方法及装置
CN108900865B (zh) 服务器、转码任务的调度方法及执行方法
CN110891087A (zh) 一种日志传输方法、装置及电子设备和存储介质
CN110442455A (zh) 一种数据处理方法及装置
CN114385366A (zh) 容器云平台的容器组弹性扩容方法、***、介质和设备
US20150106820A1 (en) Method and apparatus for providing allocating resources
CN115168017A (zh) 一种任务调度云平台及其任务调度方法
CN114329058A (zh) 图像聚档方法、装置和电子设备
CN116107797A (zh) 数据存储方法及装置、电子设备和存储介质
CN111510715B (zh) 视频处理方法、***、计算机设备及存储介质
CN103309742B (zh) 云存储***数据高效编码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination