分布式存储系统的重构方法、装置、设备和存储介质与流程

文档序号:26584595发布日期:2021-09-10 18:40阅读:154来源:国知局
分布式存储系统的重构方法、装置、设备和存储介质与流程

1.本技术涉及云计算技术领域,尤其涉及一种分布式存储系统的重构方法、装置、设备及存储介质。


背景技术:

2.随着云计算时代的到来,各种云计算解决方案层出不穷。其中,分布式存储系统是云计算系统中最重要的一部分,因为它承载着整个系统的数据业务,分布式存储系统出现一点小问题对整个云计算系统的影响都是难以估计的。分布式存储系统通常采用多副本策略,当存储磁盘或存储节点发生故障时,丢失的副本可以通过剩余副本在集群其它磁盘或节点上重构回来,从而防止了系统故障时数据丢失的问题。但数据重构将消耗大量的磁盘io(input output,输入输出量),磁盘io势必和业务io发生抢占现象,客户业务将受到较大影响,因此,如何在系统发生重构时不影响前端业务已成为当务之急。


技术实现要素:

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为本技术一实施例中分布式存储系统的重构方法的处理流程示意图;
33.图2a为本技术另一实施例中分布式存储系统的重构方法的处理流程示意图一;
34.图2b为本技术另一实施例中分布式存储系统的重构方法的处理流程示意图二;
35.图3为本技术一实施例中分布式存储系统的重构装置的结构示意图;
36.图4为本技术一实施例中分布式存储系统的重构设备的结构示意图。
具体实施方式
37.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
38.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
39.在对本技术实施例提供一种分布式存储系统的重构方法进行详细描述之前,首先对本技术涉及的技术进行简要介绍。
40.系统进行重构时,运维人员根据现网业务情况,及时对重构速度进行调整。或者,运维人员以优先业务为宗旨,提前限制重构速度,以固定低速进行重构。或者,运维人员根据业务经验,在固定的业务低谷时段设定重构优先,其他时段业务优先设定。
41.然而,若采取人为调整重构速度的方案,由于故障发生的不可预见性和人工实时调整,将耗费巨大的运维成本。若采取始终以优先业务为宗旨的方案,虽然客户业务能得到保障,但是在后端丢失副本数据量较大的情况下,低速重构将延长恢复时间。尤其是目前大多数业务均采用2副本或者3副本的存储策略。若在重构副本的过程中,一旦再发生另一块磁盘或者存储节点故障,这将很可能造成部分数据的全部副本丢失,从而系统不可能恢复副本。因此,采用保证业务优先的方案,会造成系统重构时间越长,系统危险系数越高。若采用在固定的业务低谷时段设定重构优先的方案,虽然系统将以最大重构速度在业务低谷时段完成重构,达到保障正常业务的同时,缩短系统危险期的目的,但是目前企业数据库业务复杂,固定的低谷时段很难选择,造成该方案的可行性较低。
42.需要说明的是,本技术实施例中的系统均指代分布式存储系统。
43.本技术实施例一方面,提供一种分布式存储系统的重构方法,图1为本技术一实施例中分布式存储系统的重构方法的处理流程示意图,请参见图1,分布式存储系统的重构方法包括:
44.步骤101,基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。
45.这里,分布式存储系统的重构装置基于系统的第一负载值,获取系统的安全负载值。其中,第一负载值包括分布式存储系统在第一周期内的各种负载值。
46.由于最大承受负载值、业务负载峰值和业务负载均值能反应分布式存储系统的负
载情况。因此,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。其中,最大承受负载值是在系统业务上线前进行压力测试得到的。业务负载峰值和业务负载均值是根据系统的历史负载情况确定的。这里,由第一负载值计算出的安全负载值能够表征系统的历史负载情况。
47.步骤102,基于安全负载值和/或业务负载均值,确定系统的重构信息。
48.这里,分布式存储系统的重构装置基于安全负载值和/或业务负载均值,确定系统的重构信息。
49.在上述实施例中,分布式存储系统的重构装置能够根据分布式存储系统的安全负载值和/或业务负载均值,动态地调整分布式存储系统的重构信息,解决了如何在系统发生重构时避免影响前端业务的问题,达到自动调整重构信息的目的。同时,分布式存储系统的重构装置无需判定出业务低谷期,便可使得系统以合理地重构信息进行重构,达到加快重构速度,缩短系统危险期的目的。
50.在一些实施例中,基于系统的第一负载值,获取系统的安全负载值,包括:
51.获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。
52.这里,分布式存储系统的重构装置获取第一负载值中各项负载值的权重值,即分布式存储系统的重构装置获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。其中,第一负载值中各项负载值的权重值累加得1。
53.将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
54.这里,分布式存储系统的重构装置将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。例如,最大承受负载值为x,业务负载峰值为y,业务负载均值为z,λ1为第一权重值,λ2为第二权重值,λ3为第三权重值。其中,λ1+λ2+λ3=1。
55.系统的安全负载值h的公式为:
56.λ1*x+λ2*y+λ3*z=h
57.在上述实施例中,分布式存储系统的重构装置将第一负载值中各项负载值与各自的权重值相乘的结果进行累加,获取到系统的安全负载值,使得系统的安全负载值能够准确地表征出系统的负载情况。
58.在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
59.在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
60.这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值确定重构信息。
61.需要说明的是,分布式存储系统的重构装置也可以先判断系统是否处于重构过程。若系统处于重构过程,则分布式存储系统的重构装置进行负载检测,确定系统的实时负
载值与安全负载值的关系。
62.在上述实施例中,分布式存储系统的重构装置基于系统的实时负载值与安全负载值的关系,来动态调整系统的重构信息,使得系统重构时避免影响前端业务。
63.在一些实施例中,基于安全负载值确定重构信息,包括:
64.当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
65.这里,分布式存储系统的重构装置判断出实时负载值不小于安全负载值,说明此时系统的业务负载比较大,不适合将较多的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第一重构系数。重构系数用于表征系统的重构速度。第一重构系数表征系统的最慢重构速度。例如若重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置1-300中任意一个值表示第一重构系数。
66.在上述实施例中,当实时负载值不小于安全负载值时,分布式存储系统的重构装置将以最慢的重构速度进行重构,从而使得系统重构时,系统的能力消耗最小,进而避免了系统重构影响前端业务。
67.在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
68.在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
69.这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值和业务负载均值,确定重构信息。
70.在上述实施例中,分布式存储系统的重构装置基于安全负载值和业务负载均值来动态调整系统的重构信息,能够更加精确地确定重构信息,使得系统重构时避免影响前端业务。
71.在一些实施例中,基于安全负载值和业务负载均值,确定系统的重构信息,包括:
72.当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
73.这里,分布式存储系统的重构装置判断出实时负载值小于安全负载值,并且实时负载值不小于业务负载均值,说明此时系统的业务负载不会比较大,适合将部分的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第二重构系数。重构系数用于表征系统的重构速度。第二重构系数表征系统的中间重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置301-900中任意一个值表示第二重构系数。
74.需要说明的是,第二重构系数大于第一重构系数。
75.在上述实施例中,当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,分布式存储系统的重构装置将以中间的重构速度进行重构,从而使得系统重构时,消耗部分系统的能力,避免了系统重构影响前端业务。并且在系统重构不影响前端业务的基础上,加快重构速度,缩短系统危险期。
76.在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
77.在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
78.分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于业务负载均值,确定重构信息。
79.在上述实施例中,分布式存储系统的重构装置基于业务负载均值来动态调整系统的重构信息,能够更加精确地确定重构信息,使得系统重构时避免影响前端业务。
80.在一些实施例中,基于业务负载均值,确定重构信息,包括:
81.当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
82.这里,分布式存储系统的重构装置判断实时负载值小于业务负载均值,说明此时系统的业务负载比较小,适合将大部分的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第三重构系数。重构系数用于表征系统的重构速度。第三重构系数表征系统的最大重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置901-1024中任意一个值表示第三重构系数。
83.在上述实施例中,当实时负载值小于业务负载均值时,分布式存储系统的重构装置将以最大的重构速度进行重构,从而使得系统重构时,消耗大部分的系统能力,避免了系统重构影响前端业务。并且在系统重构不影响前端业务的基础上,加快重构速度,缩短系统危险期。
84.在此需要说明的是,第三重构系数大于第二重构系数。
85.在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
86.在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
87.这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值确定重构信息。
88.在一些实施例中,基于安全负载值确定重构信息,包括:
89.当实时负载值小于安全负载值时,确定重构信息中的重构系数为第四重构系数,重构系数用于表征系统的重构速度。
90.这里,分布式存储系统的重构装置判断出实时负载值小于安全负载值,将重构信息中的重构系数调整为第四重构系数,重构系数用于表征系统的重构速度。第四重构系数表征系统的中间重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置301-1024中任意一个值表示第四重构系数。
91.在一些实施例中,重构方法还包括:
92.根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
93.这里,分布式存储系统的重构装置更新系统的第一负载值中的业务负载峰值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。分布式存储系统
的重构装置根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值中的业务负载峰值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载峰值,更新第一负载值中的业务负载峰值。
94.此外,分布式存储系统的重构装置再根据更新后的业务负载峰值,重新确定出安全负载值。
95.在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
96.在一些实施例中,重构方法还包括:
97.根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
98.这里,分布式存储系统的重构装置更新系统的第一负载值中的业务负载均值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值中的业务负载均值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载均值,更新第一负载值中的业务负载均值。
99.此外,分布式存储系统的重构装置再根据更新后的业务负载均值,重新确定出安全负载值。
100.在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
101.在一些实施例中,重构方法还包括:
102.根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值;
103.和,根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
104.这里,分布式存储系统的重构装置更新第一负载值中的业务负载峰值和第一负载
值中的业务负载均值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。具体地,分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。以及分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值的业务负载峰值和业务负载均值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载峰值,更新第一负载值中的业务负载峰值,以及根据第七周至第八周内的业务负载均值更新第一负载值中的业务负载均值。
105.这里,分布式存储系统的重构装置再根据更新后的业务负载峰值和更新后的业务负载均值,重新确定出安全负载值。
106.在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值,以及根据最新的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
107.为了进一步说明本技术实施例中分布式存储系统的重构方法,以第一周期是一周为例进行说明。需要说明的是,在oracle数据库一体机环境中,计算节点为系统对外提供服务的节点,多个存储节点通过特定协议为计算节点提供分布式存储资源,计算节点通过oracle自带asm(automatic storage management,自动存储管理)对存储和存储副本进行管理,当分布式存储系统中出现节点故障或者磁盘出现故障,asm将对丢失的副本数据进行重构。分布式存储系统的重构装置通过查看是否存在进程abr来判断系统处于重构过程。若存在进程abr,则系统处于重构过程。若不存在进程abr,则系统处于重构过程。重构过程中,asm_power_limit参数代表重构系数,asm_power_limit参数可以控制重构速度,asm_power_limit取值从0到1024,设置为0是为系统不进行重构,默认是1,重构系数越大重构速度越快,后台io消耗越大。假设第一重构系数l1为系统的最小的重构系数,可以设置l1为1。第二重构系数l2为系统的中间的重构系数,可以设置l2为500。第三重构系数l3为系统的最大的重构系数,可以设置l3为1024。系统的实时负载值为m。
108.图2a为本技术另一实施例中分布式存储系统的重构方法的处理流程示意图一,图2b为本技术另一实施例中分布式存储系统的重构方法的处理流程示意图二,请参阅图2a和图2b,分布式存储系统的重构方法包括:
109.步骤201,分布式存储系统的重构装置定时检查系统的实时负载值m,判断系统的实时负载值m是否小于系统的安全负载值h。若系统的实时负载值m不小于系统的安全负载值h,执行步骤202。若系统的实时负载值m小于系统的安全负载值h,执行步骤203。
110.这里,分布式存储系统的重构装置通过分布式存储系统的循环进程定时检查系统的实时负载值。例如系统的循环进程将每10分钟对系统进行一次实时负载值检测。
111.这里,基于系统在第一周的最大承受负载值、系统在第一周的业务负载峰值和系统在第一周的业务负载均值,获取系统的安全负载值。
112.具体地,系统在第一周的最大承受负载值是系统上线前,可以通过oracle压力测试工具swingbench或者hammerdb对系统进行压测,从asm侧获取到所有存储卷的最大iops(input/output operations per second,每秒的读写次数)。系统的最大承受负载值为x,系统在第一周期内的业务负载峰值为y,系统在第一周期内的业务负载均值为z。λ1为系统的最大承受负载值的权重值,λ2为第一周期内的业务负载峰值的权重值,λ3为第一周期内的业务负载均值的权重值。其中,λ1+λ2+λ3=1。
113.系统的安全负载值h的公式为:
114.λ1*x+λ2*y+λ3*z=h
115.这里,默认系统初始业务负载峰值y和业务负载均值z为0,最大承受负载值x为10000。系统上线后,设定每周对业务负载峰值y和业务负载均值z进行更新。假设第一周后,由于业务刚上线,系统压力比较小。系统在第一周的最大承受负载值x为10000,系统在第一周的业务负载峰值y为2000,系统在第一周的业务负载均值z为1000。系统的安全负载值h为:
116.0.2*10000+0.4*2000+0.4*1000=3200
117.这里,如图2b所示,系统的安全负载值h为3200,系统在第一周的业务负载均值z为2000。分布式存储系统的重构装置定时检查系统的实时负载值m,判断系统的实时负载值m是否小于3200。若系统的实时负载值m不小于3200,执行步骤202。若系统的实时负载值m小于3200,执行步骤203。
118.步骤202,当系统的实时负载值m不小于系统的安全负载值h时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤204。若系统不处于重构过程,则不执行任何操作。
119.这里,如图2b所示,系统的安全负载值h为3200,当系统的实时负载值m不小于3200时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤204。若系统不处于重构过程,则不执行任何操作。步骤203,当系统的实时负载值m小于系统的安全负载值h时,分布式存储系统的重构装置判断系统的实时负载值m是否小于系统在第一周的业务负载均值z。若系统的实时负载值m不小于系统在第一周的业务负载均值z,并且系统的实时负载值m小于系统安全负载值h,执行步骤205。若系统的实时负载值m小于系统在第一周的业务负载均值z,执行步骤206。
120.这里,如图2b所示,系统的安全负载值h为3200,系统在第一周的业务负载均值z为2000。当系统的实时负载值m小于3200时,分布式存储系统的重构装置判断系统的实时负载值m是否小于2000。若系统的实时负载值m不小于2000,并且系统的实时负载值m小于3200,执行步骤205。若系统的实时负载值m小于2000,执行步骤206。
121.步骤204,分布式存储系统的重构装置将重构系数调整为l1。
122.这里,如图2b所示,分布式存储系统的重构装置将重构系数调整为l1,即分布式存储系统的重构装置将重构系数调整配置为1。实际操作中,分布式存储系统的重构装置将asm_power_limit参数配置为1。
123.步骤205,当系统的实时负载值m不小于系统在第一周的业务负载均值z,并且系统
的实时负载值m小于系统的安全负载值h时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤207。若系统不处于重构过程,则不执行任何操作。
124.这里,如图2b所示,系统的安全负载值h为3200,系统在第一周的业务负载均值z为2000。当系统的实时负载值m不小于2000,并且系统的实时负载值m小于3200时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤207。若系统不处于重构过程,则不执行任何操作。
125.步骤206,当系统的实时负载值m小于系统在第一周的业务负载均值z时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤208。若系统不处于重构过程,则不执行任何操作。
126.这里,如图2b所示,系统在第一周的业务负载均值z为2000。当系统的实时负载值m小于2000时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤208。若系统不处于重构过程,则不执行任何操作。
127.步骤207,分布式存储系统的重构装置将重构系数调整为l2。
128.这里,如图2b所示,分布式存储系统的重构装置将重构系数调整为l2,即分布式存储系统的重构装置将重构系数调整配置为500。实际操作中,分布式存储系统的重构装置将asm_power_limit参数配置为500。
129.步骤208,分布式存储系统的重构装置将重构系数调整为l3。
130.这里,如图2b所示,分布式存储系统的重构装置将重构系数调整为l3,即分布式存储系统的重构装置将重构系数调整配置为1024。实际操作中,分布式存储系统的重构装置将asm_power_limit参数配置为1024。如图2b所示,在第二周时,当存储节点发生故障或磁盘发生故障时,系统进行重构。在重构时刻,分布式存储系统的重构装置检测到系统的实时负载值m为3000,判断出实时负载值m小于安全负载值h,且实时负载值m大于业务负载均值z,则分布式存储系统的重构装置将重构系数调整为l2,即将asm_power_limit配置为500,系统将以中等速度进行重构。
131.此外,分布式存储系统的重构装置将定期根据最新的第二周期内的业务负载峰值更新系统在第一周期内的业务负载峰值。以及根据最新的第二周期内的业务负载均值更新系统在第一周期内的业务负载均值。其中,第二周期可以与第一周期相同或者不同。分布式存储系统的重构装置根据更新后的业务负载峰值y和更新后的业务负载均值z,重新确定出安全负载值h。由于后期系统的业务量逐渐增大并趋于稳定,业务负载峰值y也将逐渐增大并趋于稳定,如业务负载峰值y更新为8000,业务负载均值z更新为5000,则安全负载值h也将趋于稳定为7200。如此,根据更新后的安全负载值h和更新后的业务负载均值z,分布式存储系统的重构装置能够更加合理地控制系统的重构速度。
132.本技术实施例另一方面,还提供一种分布式存储系统的重构装置。图3为本技术一实施例中分布式存储系统的重构装置的结构示意图,请参阅图3,重构装置300包括获取模块301和确定模块302。
133.获取模块301,用于基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。
134.确定模块302,用于基于安全负载值和/或业务负载均值,确定系统的重构信息。
135.在一些实施例中,获取模块301,具体用于获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。
136.将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
137.在一些实施例中,确定模块302,具体用于在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
138.在一些实施例中,确定模块302,具体用于当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
139.在一些实施例中,确定模块302,具体用于在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
140.在一些实施例中,确定模块302,具体用于当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
141.在一些实施例中,确定模块302,具体用于在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
142.在一些实施例中,确定模块302,具体用于当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
143.在一些实施例中,请参见图3,重构装置300还包括更新模块303。
144.更新模块303,用于根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
145.在一些实施例中,更新模块303,还用于根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
146.在一些实施例中,更新模块303,用于根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
147.更新模块303,还用于根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
148.本技术实施例再一方面,还提供一种设备,图4为本技术一实施例中分布式存储系统的重构设备的结构示意图,如图4所示,重构设备400至少包括至少一个处理器401和至少一个存储器402。其中,存储器402用于存储能够在处理器401上运行的计算机程序,处理器401用于运行所述计算机程序时,执行:一种分布式存储系统的重构方法,重构方法包括:
149.基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值;
150.基于安全负载值和/或业务负载均值,确定系统的重构信息。
151.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
152.基于系统的第一负载值,获取系统的安全负载值,包括:
153.获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值;
154.将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
155.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
156.基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
157.在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
158.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
159.基于安全负载值确定重构信息,包括:
160.当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
161.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
162.基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
163.在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
164.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
165.基于安全负载值和业务负载均值,确定系统的重构信息,包括:
166.当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
167.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
168.基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
169.在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
170.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
171.基于业务负载均值,确定重构信息,包括:
172.当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
173.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
174.重构方法还包括:
175.根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
176.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
177.重构方法还包括:
178.根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
179.在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
180.重构方法还包括:
181.根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值;
182.和,根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载
值中的业务负载均值。
183.在一些实施例中,重构设备还包括系统总线403和通信接口404。其中,系统总线403配置为实现这些组件之间的连接通信,通信接口404可以包括标准的有线接口和无线接口。
184.本技术实施例再一方面,还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本技术任一实施例所述的分布式存储系统的重构方法的步骤。
185.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
186.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以所述权利要求的保护范围以准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1