一种面向分析存储集群的计算感知纠删码修复方法和系统
本技术属于分布式存储,更具体地,涉及一种面向分析存储集群的计算感知纠删码修复方法和系统。
背景技术:
1、在分布式数据分析存储集群中,数据可靠性是保障业务连续性的基石。随着数据规模的爆炸式增长,纠删码技术因其高存储效率而被广泛应用于替代传统的多副本机制。当集群中发生数据块或节点故障时,及时、高效地执行纠删码修复操作,对于防止数据永久丢失、维持系统服务水平协议(sla)以及保障上层数据分析任务的稳定性具有至关重要的意义。
2、现有的纠删码修复技术主要聚焦于网络层面的优化,旨在降低修复带宽占用或减少网络传输时间。这类方案通常假设修复性能的主要瓶颈在于网络i/o(输入/输出),因此通过设计最优的修复拓扑、选择网络距离最近的节点或采用流水线传输等策略来加速数据恢复过程。这些方法在网络资源受限而计算资源相对充裕的传统存储架构中,确实能够显著提升修复效率并取得了良好的应用效果。
3、然而,在现代分析存储集群中,数据分析执行器与存储节点往往部署在同一物理节点上以实现数据本地性。在这种共置架构下,后台运行的分布式数据分析负载会周期性地抢占中央处理器和内存带宽等计算资源。现有修复方案由于缺乏对节点计算资源状态的感知能力,仍单纯依据网络带宽进行调度,极易将解码任务分配给正处于计算密集阶段的节点。这会导致修复流水线被计算瓶颈阻塞,使得实际修复时间远超理论预期,严重影响了故障恢复的时效性和集群的整体可用性。
技术实现思路
1、针对现有技术存在的无法感知分析负载下节点计算资源动态变化而导致修复任务被调度至计算瓶颈节点、修复效率低下的问题,本技术通过一种面向分析存储集群的计算感知纠删码修复方法和系统,实现了对计算与网络资源的联合感知与协同优化,从而在复杂负载环境下显著降低纠删码修复时间。
2、本技术的第一方面涉及一种面向分析存储集群的计算感知纠删码修复方法,所述方法包括:检测到目标编码条带中的数据块故障,确定目标编码条带的编码参数、失效数据块以及存储可用数据块的候选节点集合,并获取候选节点集合中各候选节点的网络资源状态和计算资源状态;基于数据分析执行器运行的分布式数据分析负载的周期性和阶段性计算模式,结合计算资源状态,估计候选节点用于数据解码的解码吞吐率;根据各候选节点的网络资源状态和解码吞吐率,构建用于表征网络传输时间和解码计算时间的修复时间模型;基于修复时间模型确定各候选节点的修复任务分配比例,以最小化所有候选节点的修复操作时间中的最大值;根据修复任务分配比例生成数据传输与解码的修复计划,并调度相应候选节点执行数据传输和解码操作,以恢复失效数据块。
3、上述方案通过将解码吞吐率作为与网络带宽同量纲的关键指标纳入修复决策,打破了传统方案仅关注网络维度的局限性。该方案利用分析负载的周期性规律预测计算能力,使得修复时间模型能够精准量化计算与网络的双重瓶颈,从而避免将任务调度至计算受限节点,从全局层面保障了修复流水线的流畅性。
4、通过建立以最小化最大修复操作时间为目标的优化模型,实现了修复负载在候选节点间的自适应均衡。确保了没有任何单个节点成为修复过程的短板,有效消除了因个别节点计算或网络拥塞导致的尾部延迟,使得整体修复性能逼近理论最优值,提升了系统在故障场景下的响应速度。
5、在一些实施方式中,周期性和阶段性计算模式通过数据分析迭代周期以及迭代周期内的时间相位偏移量进行表征;估计候选节点用于数据解码的解码吞吐率,包括:获取候选节点的历史解码画像记录,历史解码画像记录包括历史解码操作发生时相对于所属数据分析迭代周期起点的时间相位偏移量、历史计算资源状态以及实际解码吞吐率;基于历史解码画像记录训练吞吐率预测模型;在修复任务到达时,将当前相对于数据分析迭代周期起点的时间相位偏移量和当前的计算资源状态输入吞吐率预测模型,得到对应候选节点的预计解码吞吐率。
6、本方案通过引入时间相位偏移量作为预测特征,充分利用了数据分析任务迭代执行的周期性规律。相比于仅依赖瞬时资源利用率,该方法能够将离散的解码样本对齐到统一的迭代周期中,有效捕捉计算资源随任务阶段变化的结构性特征,从而在无需长期离线采样的情况下实现对解码能力的精准短时预测。
7、在一些实施方式中,计算资源状态包括中央处理器利用率和内存带宽使用量;当缺少历史解码画像记录或者检测到分布式数据分析负载的模式发生变化时,在数据分析迭代周期的初始迭代周期内主动执行多个解码微探测任务,基于解码微探测任务采集初始解码画像记录,并据此更新或重新训练吞吐率预测模型。
8、本方案通过主动注入解码微探测任务,解决了冷启动阶段或负载模式突变时预测模型失效的问题。能够在不影响正常业务的前提下快速采集关键样本,确保预测模型始终与当前系统的实际计算特性保持同步,增强了修复策略对环境动态变化的鲁棒性和适应性。
9、在一些实施方式中,网络资源状态包括上传带宽和下载带宽,修复时间模型用于计算候选节点的解码时间、上传时间和下载时间,任一候选节点的修复操作时间为该候选节点的解码时间、上传时间和下载时间中的最大值;基于修复时间模型确定各候选节点的修复任务分配比例,包括:以最小化所有候选节点的修复操作时间中的最大值为优化目标,建立线性规划模型;通过求解线性规划模型确定各候选节点作为收集节点的数据收集比例以及作为发送节点的数据发送比例。
10、本方案通过构建包含解码、上传、下载三维度的精细化时间模型,并将任务分配问题转化为线性规划求解,实现了计算与网络资源的最优匹配。该方法能够根据各节点实时的资源禀赋动态调整收集与发送比例,确保每个节点的修复操作时间趋于一致,从根本上避免了资源浪费和局部过载。
11、在一些实施方式中,对于候选节点,解码时间,上传时间,下载时间;其中,为恢复失效数据块所需的块数量,为块大小,为候选节点的数据收集比例,为候选节点的数据发送比例,为候选节点的解码吞吐率,为候选节点的上传带宽,为候选节点的下载带宽;优化目标的约束条件包括:所有候选节点的数据收集比例之和为1、所有候选节点的数据发送比例之和为、任一候选节点的数据收集比例与数据发送比例之和不超过1。
12、本方案通过具体的数学公式刻画了各节点在不同任务角色下的时间开销,并设置了严格的物理约束保证修复逻辑的正确性。这种量化建模方式使得优化求解器能够在满足数据完整性前提下,找到使系统整体修复耗时最小的精确解,为后续的传输路径生成提供了数值基础。
13、在一些实施方式中,根据修复任务分配比例生成数据传输与解码的修复计划,包括:构建包含源点、汇点、发送节点逻辑实体和收集节点逻辑实体的流网络;根据候选节点的数据收集比例和数据发送比例设置流网络中的边容量;基于设置边容量的流网络,求解从发送节点逻辑实体到收集节点逻辑实体的流量分配,并将流量分配转换为子块传输路径,以基于子块传输路径生成数据传输与解码的修复计划。
14、本方案通过最大流算法将比例分配结果转化为可执行的子块级传输路径,完成了从优化决策到实际调度的闭环。该方法不仅保证了任务分配比例在实际网络拓扑中的可行性,还能够自动生成具体的路由指令,使得修复计划能够直接被底层系统执行,提高了方案的工程落地性和实用性。
15、在一些实施方式中,当同一目标编码条带中存在多个失效数据块时,建立第一个失效数据块的数据传输与解码的修复计划后,将已被选为执行解码操作的候选节点组成复用节点集合;对于后续失效数据块,若复用节点集合中的候选节点在复用多块修复上下文后的估计处理时间小于启用新的候选节点的估计处理时间,则优先将后续失效数据块的解码任务分配给复用节点集合中的候选节点;否则,基于修复时间模型重新确定各候选节点针对后续失效数据块的修复任务分配比例。
16、本方案通过选择性复用多块修复上下文,减少了重复的数据读取和内存加载开销。在多块故障场景下,该策略智能权衡了上下文复用收益与新节点调度成本,既加快了批量修复速度,又避免了因过度复用导致单节点负载过重,实现了多块修复效率与负载均衡的双重优化。
17、在一些实施方式中,当发生全节点故障并由此触发涉及不同编码条带的多个修复任务时,针对已分配有修复任务的第一候选节点,基于该第一候选节点的历史空闲阶段持续时间和当前空闲阶段持续时间,评估其是否将向计算密集阶段转换;若评估第一候选节点将向计算密集阶段转换,则从已分配给该第一候选节点的修复任务中确定待迁移修复任务;确定当前处于计算空闲阶段的第二候选节点,并将待迁移修复任务从第一候选节点迁移至第二候选节点。
18、本方案通过预测节点计算状态的演变趋势,实现了修复任务的主动迁移与避障。在全节点修复的高负载场景下,该机制能够提前识别即将进入繁忙期的潜在慢节点,并将任务转移至空闲节点,有效规避了因节点状态突变引起的修复停滞,降低了全节点修复的长尾延迟。
19、在一些实施方式中,确定当前处于计算空闲阶段的第二候选节点,并将待迁移修复任务从第一候选节点迁移至第二候选节点,包括:基于解码吞吐率和网络资源状态中的下载带宽,评估候选节点集合中当前处于计算空闲阶段的各候选节点的修复能力;按照修复能力从高到低的顺序,对当前处于计算空闲阶段的各候选节点进行排序;将排位靠前的候选节点确定为第二候选节点,以接收并执行待迁移修复任务。
20、本方案通过综合考量解码吞吐率与下载带宽来评估迁移目标节点的修复能力,确保了任务迁移的有效性。保证了待迁移任务总是被分配给当前状态下处理能力最强的空闲节点,避免了盲目迁移导致的二次瓶颈,进一步提升了全节点故障恢复的整体吞吐率和稳定性。
21、本技术的第二方面涉及一种面向分析存储集群的计算感知纠删码修复系统,包括协调器和多个代理节点;代理节点部署在工作节点上,与存储节点和数据分析执行器共置,代理节点用于监测并上报网络资源状态和计算资源状态,并执行数据传输与解码任务;协调器用于维护编码条带的元数据,响应于数据块故障或节点故障,执行如上述方案所述的方法以生成数据传输与解码的修复计划,并将修复任务调度给多个代理节点。
22、上述系统通过协调器与代理节点的协同架构,实现了计算感知修复方法的分布式落地。代理节点与共置环境的紧密集成保证了资源状态采集的实时性与准确性,而协调器的集中式调度则确保了全局优化策略的有效执行,两者结合为分析存储集群提供了一套高效率的故障恢复基础设施。
23、此外,通过模块化的设计支持了从资源监测、模型预测到任务调度的全流程自动化。该系统不仅能够适应单块、多块及全节点等多种故障场景,还能随着分析负载的变化动态调整修复策略,提升了存储集群在复杂生产环境下的自愈能力和数据服务连续性。
24、第三方面,本技术提供一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
25、第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
26、第五方面,本技术提供一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
27、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
28、总体而言,通过本技术所构思的以上技术方案与现有技术相比,具有以下有益效果:
29、(1)本技术通过将解码吞吐率纳入修复调度模型,并利用数据分析负载的周期性特征进行精准预测,实现了计算资源与网络资源的联合感知。克服了传统方案仅关注网络带宽的片面性,使得修复决策能够自适应地避开计算瓶颈节点,在共置架构下显著提升了修复任务的调度合理性和执行效率。
30、(2)通过线性规划与最大流算法的结合,将抽象的资源优化目标转化为可执行的子块级修复计划。该方法不仅保证了任务分配在数学上的全局最优性,还确保了生成的传输路径在实际网络拓扑中的可行性,实现了从理论优化到工程实践的无缝衔接,有效降低了单块及多块修复的总体耗时。
31、(3)针对多块修复和全节点修复场景分别引入了上下文复用和主动迁移机制。上下文复用通过减少冗余数据传输加速批量恢复,主动迁移机制通过预测节点状态变化规避潜在的慢节点风险。这两种策略与基础的计算感知调度形成有机互补,全方位提升了存储集群在不同故障模式下的恢复性能和鲁棒性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com