资源分配方法、装置、存储介质及程序产品与流程

文档序号:37812727发布日期:2024-04-30 17:22阅读:11来源:国知局
资源分配方法、装置、存储介质及程序产品与流程

本技术涉及数据存储领域,尤其涉及一种资源分配方法、装置、存储介质及程序产品。


背景技术:

1、双层日志(log-on-log)结构是目前主流的一种存储系统架构,该种架构的存储系统包括两个基于日志结构的对象,且每个对象均支持垃圾回收(garbage collection,gc)算法,以保证存储系统能够实现顺序写机制。较为常见的对象是软件的系统层和硬件的设备层(包括固态硬盘(solid state disk,ssd))。为了减少写放大(write amplification,wa)对存储系统性能的不良影响,一般会在两个对象中分别设置一定的预留空间(over-provisioning,op)以服务垃圾回收,保证存储系统的性能。越大的预留空间,对写放大越友好,存储系统的性能也越高。

2、一些存储系统的设备层和系统层的预留空间大小在用户购买后就确定了,在存储系统后续运行中不会变化,也对用户不可见。可能存在系统层预留空间有限,导致写压力很大,进而导致存储系统的系统层到设备层的网络连接性能较差的情况。另一些存储系统改进了设备层的硬件设备,通过设备层主动将改进后的接口暴露给系统层,可实现设备层空间几乎没有预留空间,而是全由系统层控制系统层以及设备层的预留空间分配,变相扩大了系统层的预留空间大小。但是也因其将硬件的管理交由软件决策,需要针对硬件设备重新设计软件栈,造成整个软件栈生态以及后期运维的成本都很高。


技术实现思路

1、有鉴于此,提出了一种资源分配方法、装置、存储介质及程序产品,根据本技术实施例的资源分配方法,在系统包括第一对象和第二对象时,在系统运行时也能动态调整第两个对象的预留空间的配置方式,使得存资源分配方式更灵活,降低写放大对系统性能的影响。且不需对接口进行特别设计,因此无需针对接口重新进行软件栈的对应设计,可以降低数据处理成本和运维成本,优化用户体验。

2、第一方面,本技术的实施例提供了一种资源分配方法,所述方法包括:获取第一对象的可用预留空间的大小和第二对象的可用预留空间的大小;根据用户负载的特性参数以及垃圾回收算法的类型参数调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小。

3、根据本技术实施例的资源分配方法,通过获取第一对象的可用预留空间的大小和第二对象的可用预留空间的大小,能够确定由第一对象和第二对象的硬件参数和实际使用情况决定的可用预留空间大小;根据用户负载的特性参数以及垃圾回收算法的类型参数调整第一对象的实际预留空间的大小和第二对象的实际预留空间的大小,使得第一对象的实际预留空间大小不受限于第一对象的硬件参数,第二对象的实际预留空间大小也不受限于第一对象的硬件参数,在软件层次上实现了实际预留空间大小的灵活调整;在系统包括第一对象和第二对象时,在系统运行时也能动态调整第两个对象的实际预留空间的配置方式,使得资源分配方式更灵活;通过综合用户负载的特性参数以及垃圾回收算法的类型参数等对系统有影响的多方面因素,实现了资源的合理分配,因此能够降低写放大对系统性能的影响。且分配并不需对接口进行特别设计,因此也无需重新进行软件栈的对应设计,可以降低数据处理成本和运维成本,优化用户体验。

4、根据第一方面,在所述资源分配方法的第一种可能的实现方式中,所述第一对象和所述第二对象设置在存储系统中,所述存储系统运行所述垃圾回收算法,所述第一对象包括所述存储系统的系统层,所述第二对象包括所述存储系统的设备层,所述第一对象的可用预留空间包括所述系统层的热备份空间、初始预留空间以及用户可见空间中未被使用的空间;所述第二对象的可用预留空间包括所述设备层的初始预留空间;其中,所述系统层的热备份空间、初始预留空间以及所述设备层的初始预留空间不变。

5、通过这种方式,使得本技术实施例的资源分配方法可以应用于基于通用的硬件设备的存储系统,由于无需定制硬件设备,因此也无需设计和维护对应的软件栈,可以降低资源分配方法对于硬件设备的依赖,提升资源分配方法普适性;在系统层软件配置与设备层硬件配置特定的前提下,能够使存储系统中不同对象间的网络连接保持较好的性能,提高设备层空间的利用率,降低写放大,延长设备层硬件寿命,降低成本。

6、根据第一方面,在所述资源分配方法的第二种可能的实现方式中,所述第一对象和所述第二对象设置在存储系统中,所述存储系统运行所述垃圾回收算法,所述第一对象包括所述存储系统的系统层,所述第二对象包括所述存储系统的应用层,所述第一对象的可用预留空间包括所述系统层的热备份空间、初始预留空间以及用户可见空间中未被使用的空间;所述第二对象的可用预留空间包括所述应用层的初始预留空间;其中,所述系统层的热备份空间、初始预留空间不变。

7、通过这种方式,使得本技术实施例的资源分配方法可以应用于双层日志结构的任意存储系统,可以进一步提升资源分配方法的普适性,扩展资源分配方法的应用场景。

8、根据第一方面,或以上第一方面的任意一种可能的实现方式,在所述资源分配方法的第三种可能的实现方式中,所述根据用户负载的特性参数以及垃圾回收算法的类型参数调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小之前,所述方法还包括:确定预设时间窗口内的用户输入/输出访问对象及频次;根据所述频次的高低对所述访问对象进行排序,构建统计直方图;基于所述统计直方图,确定所述频次与所述访问对象的排序序号的线性关系;根据所述线性关系的斜率确定所述用户负载的特性参数。

9、通过这种方式,可以完成用户负载的特性参数的实时确定。用户负载的特性参数的确定可以在系统运行前或者运行过程中随时进行,不会影响存储系统的正常运作,便于用户确定用户负载情况的同时,也为使用用户负载的特性参数调整第一对象的实际预留空间的大小和第二对象的实际预留空间的大小提供可能。

10、根据第一方面,或以上第一方面的任意一种可能的实现方式,在所述资源分配方法的第四种可能的实现方式中,所述根据用户负载的特性参数以及垃圾回收算法的类型参数调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小,包括:从预先设置的所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种配置方式中,选择与所述第一对象的可用预留空间的大小和所述第二对象的可用预留空间的大小的空间总和、所述特性参数以及所述类型参数相匹配的配置方式,作为所述最佳配置方式;根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小。

11、通过这种方式,可以在系统运行过程中快速确定最佳配置方式,进而提升从获取第一对象的可用预留空间大小和第二对象的可用预留空间大小到调整第一对象的实际预留空间的大小和第二对象的实际预留空间的大小的效率。

12、根据第一方面的第四种可能的实现方式,在所述资源分配方法的第五种可能的实现方式中,所述方法还包括:根据所述热备份空间、所述初始预留空间、所述用户可见空间、所述第二对象的可用预留空间,确定所述空间总和的取值范围;针对所述空间总和的取值范围中的每一数值,确定该数值下所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种划分方式;根据所述用户负载的多种特性参数、所述垃圾回收算法的多种类型参数、所述空间总和以及所述多种划分方式,确定所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种配置方式。

13、通过这种方式,使得可以确定第一对象的实际预留空间的大小和第二对象的实际预留空间的大小的多种配置方式。由于使用了与存储系统性能有关的用户负载的特性参数、垃圾回收算法的类型参数、空间总和以及多种划分方式作为确定多种配置方式的依据,使得确定的配置方式下存储系统性能得到保障。

14、根据第一方面的第五种可能的实现方式,在所述资源分配方法的第六种可能的实现方式中,所述根据所述用户负载的多种特性参数、所述垃圾回收算法的多种类型参数、所述空间总和以及所述多种划分方式,确定所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种配置方式,包括:根据所述用户负载的多种特性参数、所述垃圾回收算法的多种类型参数、所述空间总和,确定所述特性参数、所述类型参数、所述空间总和的多种组合方式,其中,不同组合方式下的特性参数、类型参数、空间总和中的至少其中之一不同;针对所述特性参数、所述类型参数、所述空间总和的每种组合方式,分别确定所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的每种划分方式的写放大因子;将每种组合方式下最小的写放大因子对应的第一对象的实际预留空间的大小和第二对象的实际预留空间的大小的划分方式,确定为所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的一种配置方式。

15、通过这种方式,可以完成第一对象的实际预留空间的大小和第二对象的实际预留空间的大小的多种配置方式的确定。最终确定的多种配置方式都是性能最优的,因此能够节省存储多种配置方式的成本。

16、根据第一方面的第四种至第六种可能的实现方式中的任意一种可能的实现方式,在所述资源分配方法的第七种可能的实现方式中,在所述最佳配置方式下,所述第一对象的实际预留空间的大小减小,所述第二对象的实际预留空间的大小增大时,所述根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小,包括以下至少其中之一:降低所述垃圾回收算法的水位线参数,所述水位线参数的数值大于所述第一对象的实际预留空间的大小时所述垃圾回收算法启动;提高所述垃圾回收算法的速度参数,所述速度参数指示所述存储系统执行所述垃圾回收算法时的垃圾回收速度;减小所述垃圾回收算法的启动时延。

17、通过这种方式,能够在最佳配置方式指示第一对象的实际预留空间的大小减小,第二对象的实际预留空间的大小增大时,能够尽快使得存储系统完成第一对象和第二对象的实际预留空间的调整,降低存储系统适应新的配置方式所需的时间,提升存储系统的性能。通过采用多种途径完成调整,使得调整的方式更灵活。

18、根据第一方面的第四种至第七种可能的实现方式中的任意一种可能的实现方式,在所述资源分配方法的第八种可能的实现方式中,在所述最佳配置方式下,所述第一对象的实际预留空间的大小增大,所述第二对象的实际预留空间的大小减小时,所述根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小,包括以下至少其中之一:提高所述垃圾回收算法的水位线参数,所述水位线参数的数值大于所述第一对象的实际预留空间的大小时所述垃圾回收算法启动;降低所述垃圾回收算法的速度参数,所述速度参数指示所述存储系统执行所述垃圾回收算法时的垃圾回收速度;增大所述垃圾回收算法的启动时延。

19、通过这种方式,能够在最佳配置方式指示第一对象的实际预留空间的大小增大,第二对象的实际预留空间的大小减小时,能够尽快使得存储系统完成第一对象和第二对象的实际预留空间的调整,降低存储系统适应新的配置方式所需的时间,提升存储系统的性能。通过采用多种途径完成调整,使得调整的方式更灵活。

20、第二方面,本技术的实施例提供了一种资源分配装置,所述装置包括:获取模块,用于获取第一对象的可用预留空间的大小和第二对象的可用预留空间的大小;调整模块,用于根据用户负载的特性参数以及垃圾回收算法的类型参数调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小。

21、根据第二方面,在所述资源分配装置的第一种可能的实现方式中,所述第一对象和所述第二对象设置在存储系统中,所述存储系统运行所述垃圾回收算法,所述第一对象包括所述存储系统的系统层,所述第二对象包括所述存储系统的设备层,所述第一对象的可用预留空间包括所述系统层的热备份空间、初始预留空间以及用户可见空间中未被使用的空间;所述第二对象的可用预留空间包括所述设备层的初始预留空间;其中,所述系统层的热备份空间、初始预留空间以及所述设备层的初始预留空间不变。

22、根据第二方面,在所述资源分配装置的第二种可能的实现方式中,所述第一对象和所述第二对象设置在存储系统中,所述存储系统运行所述垃圾回收算法,所述第一对象包括所述存储系统的系统层,所述第二对象包括所述存储系统的应用层,所述第一对象的可用预留空间包括所述系统层的热备份空间、初始预留空间以及用户可见空间中未被使用的空间;所述第二对象的可用预留空间包括所述应用层的初始预留空间;其中,所述系统层的热备份空间、初始预留空间不变。

23、根据第二方面,或以上第二方面的任意一种可能的实现方式,在所述资源分配装置的第三种可能的实现方式中,所述装置还包括:第一确定模块,用于确定预设时间窗口内的用户输入/输出访问对象及频次;构建模块,用于根据所述频次的高低对所述访问对象进行排序,构建统计直方图;第二确定模块,用于基于所述统计直方图,确定所述频次与所述访问对象的排序序号的线性关系;第三确定模块,用于根据所述线性关系的斜率确定所述用户负载的特性参数。

24、根据第二方面,或以上第二方面的任意一种可能的实现方式,在所述资源分配装置的第四种可能的实现方式中,所述调整模块包括:选择单元,用于从预先设置的所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种配置方式中,选择与所述第一对象的可用预留空间的大小和所述第二对象的可用预留空间的大小的空间总和、所述特性参数以及所述类型参数相匹配的配置方式,作为所述最佳配置方式;调整单元,用于根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小。

25、根据第二方面的第四种可能的实现方式,在所述资源分配装置的第五种可能的实现方式中,所述装置还包括:第四确定模块,用于根据所述热备份空间、所述初始预留空间、所述用户可见空间、所述第二对象的可用预留空间,确定所述空间总和的取值范围;第五确定模块,用于针对所述空间总和的取值范围中的每一数值,确定该数值下所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种划分方式;第六确定模块,用于根据所述用户负载的多种特性参数、所述垃圾回收算法的多种类型参数、所述空间总和以及所述多种划分方式,确定所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的多种配置方式。

26、根据第二方面的第五种可能的实现方式,在所述资源分配装置的第六种可能的实现方式中,所述第六确定模块包括:第一确定单元,用于根据所述用户负载的多种特性参数、所述垃圾回收算法的多种类型参数、所述空间总和,确定所述特性参数、所述类型参数、所述空间总和的多种组合方式,其中,不同组合方式下的特性参数、类型参数、空间总和中的至少其中之一不同;第二确定单元,用于针对所述特性参数、所述类型参数、所述空间总和的每种组合方式,分别确定所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的每种划分方式的写放大因子;第三确定单元,用于将每种组合方式下最小的写放大因子对应的第一对象的实际预留空间的大小和第二对象的实际预留空间的大小的划分方式,确定为所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小的一种配置方式。

27、根据第二方面的第四种至第六种可能的实现方式中的任意一种可能的实现方式,在所述资源分配装置的第七种可能的实现方式中,在所述最佳配置方式下,所述第一对象的实际预留空间的大小减小,所述第二对象的实际预留空间的大小增大时,所述根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小,包括以下至少其中之一:降低所述垃圾回收算法的水位线参数,所述水位线参数的数值大于所述第一对象的实际预留空间的大小时所述垃圾回收算法启动;提高所述垃圾回收算法的速度参数,所述速度参数指示所述存储系统执行所述垃圾回收算法时的垃圾回收速度;减小所述垃圾回收算法的启动时延。

28、根据第二方面的第四种至第七种可能的实现方式中的任意一种可能的实现方式,在所述资源分配装置的第八种可能的实现方式中,在所述最佳配置方式下,所述第一对象的实际预留空间的大小增大,所述第二对象的实际预留空间的大小减小时,所述根据所述最佳配置方式,调整所述第一对象的实际预留空间的大小和所述第二对象的实际预留空间的大小,包括以下至少其中之一:提高所述垃圾回收算法的水位线参数,所述水位线参数的数值大于所述第一对象的实际预留空间的大小时所述垃圾回收算法启动;降低所述垃圾回收算法的速度参数,所述速度参数指示所述存储系统执行所述垃圾回收算法时的垃圾回收速度;增大所述垃圾回收算法的启动时延。

29、第三方面,本技术的实施例提供了一种资源分配装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的资源分配方法。

30、第四方面,本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的资源分配方法。

31、第五方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的资源分配方法。

32、本技术的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1