数据存储系统的容量扩展方法及相关设备与流程
本申请属于计算机,具体涉及一种数据存储系统的容量扩展方法、一种数据存储系统的容量扩展系统、一种电子设备以及计算机可读存储介质。
背景技术:
1、在分布式对象存储中,桶索引分片技术可以解决单索引并发性能不足的问题,还能通过动态重分片适配存储容量的扩容需求,但在实际使用中系统进行重分片操作时,会锁住桶索引,导致用户的写入、删除等业务操作全部被阻塞,存储桶对象量级较大时写服务中断时长会达到几十分钟,直接影响业务正常运行。此外,重分片的执行过程耗时久,若遇到节点宕机、网络中断等异常就会停止,系统会留存大量中间脏数据,这样会阻碍后续扩容流程正常发起,全程只能通过人工手动清理维护,降低了系统运行效率。因此,亟需一种数据存储系统的容量扩展方法来解决上述问题。
技术实现思路
1、本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出了一种数据存储系统的容量扩展方法及相关设备,能够解决重分片扩容过程中业务写操作长时间阻塞、业务连续性差的问题,同时能够解决扩容异常中断后存在残留脏数据、无法自动恢复、运维成本高的技术问题。
2、为达到上述目的,本发明第一方面实施例提出了一种数据存储系统的容量扩展方法,包括:响应于触发事件,为目标数据单元创建目标元数据集合,目标元数据集合的存储布局不同于当前元数据集合的存储布局;使目标数据单元处于双轨更新状态,响应于针对目标数据单元的数据更新操作,将待更新元数据分别记录至当前元数据集合和目标元数据集合;对当前元数据集合与目标元数据集合执行一致性校验;响应于一致性校验通过,将目标数据单元的元数据引用从当前元数据集合切换至目标元数据集合。
3、在一些实施例中,方法还包括:在目标数据单元处于双轨更新状态下,将当前元数据集合中已经存储的历史元数据迁移至目标元数据集合,并记录迁移进度。
4、在一些实施例中,当前元数据集合包括多个分区,每个分区对应有唯一标识;将当前元数据集合中已经存储的历史元数据迁移至目标元数据集合,并记录迁移进度,包括:将当前元数据集合中每个分区内的历史元数据逐分区迁移至目标元数据集合,并在每完成一个分区的迁移后,将分区的标识记录至迁移进度中。
5、在一些实施例中,方法还包括:响应于迁移发生中断,根据迁移进度确定已完成迁移的最后一个截止分区;从与截止分区相邻的下一个分区执行迁移。
6、在一些实施例中,对当前元数据集合与目标元数据集合执行一致性校验,包括:对各分区,对比当前元数据集合与目标元数据集合中对应元数据条目的元数据信息;响应于当前元数据集合与目标元数据集合中对应元数据条目的元数据信息一致,确认一致性校验通过;响应于当前元数据集合与目标元数据集合中对应元数据条目的元数据信息不一致,针对存在不一致的分区重新执行迁移,并在完成迁移后重新进行一致性校验。
7、在一些实施例中,将目标数据单元的元数据引用从当前元数据集合切换至目标元数据集合,包括:暂停响应针对目标数据单元的更新操作;将暂停期间产生的待更新元数据同步至目标元数据集合;以单次原子写入操作将目标数据单元的元数据引用从指向当前元数据集合修改为指向目标元数据集合,单次原子写入操作在写入成功时一次性完成修改、在写入失败时使元数据引用保持原有指向不变;恢复响应针对目标数据单元的更新操作。
8、在一些实施例中,暂停响应针对目标数据单元的更新操作,包括:向各存储节点发送切换预备通知,以使各存储节点暂停响应针对目标数据单元的更新操作。
9、在一些实施例中,恢复响应针对目标数据单元的更新操作,包括:向各存储节点发送切换完成通知,以使各存储节点恢复响应针对目标数据单元的更新操作。
10、在一些实施例中,暂停响应针对目标数据单元的更新操作的时间窗口不超过预设时长阈值。
11、根据本发明实施例的数据存储系统的容量扩展方法,包括:响应于触发事件,为目标数据单元创建目标元数据集合,目标元数据集合的存储布局不同于当前元数据集合的存储布局;使目标数据单元处于双轨更新状态,响应于针对目标数据单元的数据更新操作,将待更新元数据分别记录至当前元数据集合和目标元数据集合;对当前元数据集合与目标元数据集合执行一致性校验;响应于一致性校验通过,将目标数据单元的元数据引用从当前元数据集合切换至目标元数据集合。由此,本申请能够解决重分片扩容过程中业务写操作长时间阻塞、业务连续性差的问题,仅存在极短的切换暂存窗口,保障了存储系统的业务连续性,同时能够解决扩容异常中断后存在残留脏数据、无法自动恢复、运维成本高的技术问题,无需人工介入排查和手动修复,提升了存储系统动态扩容的稳定性与自动化程度。
12、为达到上述目的,本发明第二方面实施例提出了一种数据存储系统的容量扩展系统,包括:布局创建模块,被配置为响应于触发事件,为目标数据单元创建目标元数据集合,目标元数据集合的存储布局不同于当前元数据集合的存储布局;双轨更新模块,被配置为使目标数据单元处于双轨更新状态,响应于针对目标数据单元的数据更新操作,将待更新元数据分别记录至当前元数据集合和目标元数据集合;校验模块,被配置为对当前元数据集合与目标元数据集合执行一致性校验;切换模块,被配置响应于一致性校验通过,将目标数据单元的元数据引用从当前元数据集合切换至目标元数据集合。
13、根据本发明实施例的数据存储系统的容量扩展系统,包括:布局创建模块,被配置为响应于触发事件,为目标数据单元创建目标元数据集合,目标元数据集合的存储布局不同于当前元数据集合的存储布局;双轨更新模块,被配置为使目标数据单元处于双轨更新状态,响应于针对目标数据单元的数据更新操作,将待更新元数据分别记录至当前元数据集合和目标元数据集合;校验模块,被配置为对当前元数据集合与目标元数据集合执行一致性校验;切换模块,被配置响应于一致性校验通过,将目标数据单元的元数据引用从当前元数据集合切换至目标元数据集合。由此,本申请能够解决重分片扩容过程中业务写操作长时间阻塞、业务连续性差的问题,仅存在极短的切换暂存窗口,保障了存储系统的业务连续性,同时能够解决扩容异常中断后存在残留脏数据、无法自动恢复、运维成本高的技术问题,无需人工介入排查和手动修复,提升了存储系统动态扩容的稳定性与自动化程度。
14、为达到上述目的,本发明第三方面实施例提出了一种电子设备,包括:处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如前述任一项的数据存储系统的容量扩展方法的步骤。
15、为达到上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如前述任一项的数据存储系统的容量扩展方法的步骤。
16、本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
1.一种数据存储系统的容量扩展方法,其特征在于,包括:
2.根据权利要求1所述的数据存储系统的容量扩展方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的数据存储系统的容量扩展方法,其特征在于,所述当前元数据集合包括多个分区,每个所述分区对应有唯一标识;
4.根据权利要求3所述的数据存储系统的容量扩展方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的数据存储系统的容量扩展方法,其特征在于,所述对所述当前元数据集合与所述目标元数据集合执行一致性校验,包括:
6.根据权利要求1所述的数据存储系统的容量扩展方法,其特征在于,所述将所述目标数据单元的元数据引用从所述当前元数据集合切换至所述目标元数据集合,包括:
7.根据权利要求6所述的数据存储系统的容量扩展方法,其特征在于,所述暂停响应针对所述目标数据单元的更新操作,包括:
8.根据权利要求6所述的数据存储系统的容量扩展方法,其特征在于,所述恢复响应针对所述目标数据单元的更新操作,包括:
9.根据权利要求6所述的数据存储系统的容量扩展方法,其特征在于,所述暂停响应针对所述目标数据单元的更新操作的时间窗口不超过预设时长阈值。
10.一种数据存储系统的容量扩展系统,其特征在于,包括:
11.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至9任一项所述的数据存储系统的容量扩展方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至9任一项所述的数据存储系统的容量扩展方法的步骤。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com