CN113377861B - 分布式存储系统的重构方法、装置、设备和存储介质 - Google Patents
分布式存储系统的重构方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113377861B CN113377861B CN202010117673.0A CN202010117673A CN113377861B CN 113377861 B CN113377861 B CN 113377861B CN 202010117673 A CN202010117673 A CN 202010117673A CN 113377861 B CN113377861 B CN 113377861B
- Authority
- CN
- China
- Prior art keywords
- value
- load
- reconstruction
- load value
- determining
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例公开了一种分布式存储系统的重构方法、装置、设备及存储介质,重构方法包括:基于所述系统的第一负载值,获取所述系统的安全负载值,所述第一负载值至少包括:所述系统在第一周期内的最大承受负载值、所述系统在所述第一周期内的业务负载峰值和所述系统在所述第一周期内的业务负载均值;基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息。解决了如何在系统发生重构时避免影响前端业务的问题,达到自动调整重构信息的目的。同时,分布式存储系统的重构装置无需判定出业务低谷期,便可使得系统以合理地重构信息进行重构,达到加快重构速度,缩短系统危险期的目的。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种分布式存储系统的重构方法、装置、设备及存储介质。
背景技术
随着云计算时代的到来,各种云计算解决方案层出不穷。其中,分布式存储系统是云计算系统中最重要的一部分,因为它承载着整个系统的数据业务,分布式存储系统出现一点小问题对整个云计算系统的影响都是难以估计的。分布式存储系统通常采用多副本策略,当存储磁盘或存储节点发生故障时,丢失的副本可以通过剩余副本在集群其它磁盘或节点上重构回来,从而防止了系统故障时数据丢失的问题。但数据重构将消耗大量的磁盘IO(Input Output,输入输出量),磁盘IO势必和业务IO发生抢占现象,客户业务将受到较大影响,因此,如何在系统发生重构时不影响前端业务已成为当务之急。
发明内容
本申请实施例提供一种分布式存储系统的重构方法、装置、设备及存储介质,能够根据分布式存储系统的负载,及时调节分布式存储系统的重构信息。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种分布式存储系统的重构方法,重构方法包括:
基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值;
基于安全负载值和/或业务负载均值,确定系统的重构信息。
在一些实施例中,基于系统的第一负载值,获取系统的安全负载值,包括:
获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值;
将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
在一些实施例中,基于安全负载值确定重构信息,包括:
当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
在一些实施例中,基于安全负载值和业务负载均值,确定系统的重构信息,包括:
当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
在一些实施例中,基于业务负载均值,确定重构信息,包括:
当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,重构方法还包括:
根据所述系统在距离更新时间最近的第二周期内的业务负载峰值,更新所述第一负载值中的业务负载峰值;
和/或,根据所述系统在距离更新时间最近的第二周期内的业务负载均值,更新所述第一负载值中的业务负载均值。
第二方面,本申请实施例提供一种分布式存储系统的重构装置,重构装置包括:获取模块和确定模块,
获取模块,用于基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值;
确定模块,用于基于安全负载值和/或业务负载均值,确定系统的重构信息。
第三方面,本申请实施例提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时以实现以如本申请任一实施例所述的分布式存储系统的重构方法的步骤。
第四方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例所述的分布式存储系统的重构方法的步骤。
上述实施例所提供的分布式存储系统的重构方法,重构方法包括:基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值;基于安全负载值和/或业务负载均值,确定系统的重构信息。如此,分布式存储系统的重构装置能够根据分布式存储系统的安全负载值和/或业务负载均值,动态地调整分布式存储系统的重构信息,解决了如何在系统发生重构避免影响前端业务的问题,达到自动调整重构信息的目的。同时,分布式存储系统的重构装置无需判定出业务低谷期,便可使得系统以合理地重构信息进行重构,达到加快重构速度,缩短系统危险期的目的。
附图说明
图1为本申请一实施例中分布式存储系统的重构方法的处理流程示意图;
图2A为本申请另一实施例中分布式存储系统的重构方法的处理流程示意图一;
图2B为本申请另一实施例中分布式存储系统的重构方法的处理流程示意图二;
图3为本申请一实施例中分布式存储系统的重构装置的结构示意图;
图4为本申请一实施例中分布式存储系统的重构设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在对本申请实施例提供一种分布式存储系统的重构方法进行详细描述之前,首先对本申请涉及的技术进行简要介绍。
系统进行重构时,运维人员根据现网业务情况,及时对重构速度进行调整。或者,运维人员以优先业务为宗旨,提前限制重构速度,以固定低速进行重构。或者,运维人员根据业务经验,在固定的业务低谷时段设定重构优先,其他时段业务优先设定。
然而,若采取人为调整重构速度的方案,由于故障发生的不可预见性和人工实时调整,将耗费巨大的运维成本。若采取始终以优先业务为宗旨的方案,虽然客户业务能得到保障,但是在后端丢失副本数据量较大的情况下,低速重构将延长恢复时间。尤其是目前大多数业务均采用2副本或者3副本的存储策略。若在重构副本的过程中,一旦再发生另一块磁盘或者存储节点故障,这将很可能造成部分数据的全部副本丢失,从而系统不可能恢复副本。因此,采用保证业务优先的方案,会造成系统重构时间越长,系统危险系数越高。若采用在固定的业务低谷时段设定重构优先的方案,虽然系统将以最大重构速度在业务低谷时段完成重构,达到保障正常业务的同时,缩短系统危险期的目的,但是目前企业数据库业务复杂,固定的低谷时段很难选择,造成该方案的可行性较低。
需要说明的是,本申请实施例中的系统均指代分布式存储系统。
本申请实施例一方面,提供一种分布式存储系统的重构方法,图1为本申请一实施例中分布式存储系统的重构方法的处理流程示意图,请参见图1,分布式存储系统的重构方法包括:
步骤101,基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。
这里,分布式存储系统的重构装置基于系统的第一负载值,获取系统的安全负载值。其中,第一负载值包括分布式存储系统在第一周期内的各种负载值。
由于最大承受负载值、业务负载峰值和业务负载均值能反应分布式存储系统的负载情况。因此,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。其中,最大承受负载值是在系统业务上线前进行压力测试得到的。业务负载峰值和业务负载均值是根据系统的历史负载情况确定的。这里,由第一负载值计算出的安全负载值能够表征系统的历史负载情况。
步骤102,基于安全负载值和/或业务负载均值,确定系统的重构信息。
这里,分布式存储系统的重构装置基于安全负载值和/或业务负载均值,确定系统的重构信息。
在上述实施例中,分布式存储系统的重构装置能够根据分布式存储系统的安全负载值和/或业务负载均值,动态地调整分布式存储系统的重构信息,解决了如何在系统发生重构时避免影响前端业务的问题,达到自动调整重构信息的目的。同时,分布式存储系统的重构装置无需判定出业务低谷期,便可使得系统以合理地重构信息进行重构,达到加快重构速度,缩短系统危险期的目的。
在一些实施例中,基于系统的第一负载值,获取系统的安全负载值,包括:
获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。
这里,分布式存储系统的重构装置获取第一负载值中各项负载值的权重值,即分布式存储系统的重构装置获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。其中,第一负载值中各项负载值的权重值累加得1。
将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
这里,分布式存储系统的重构装置将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。例如,最大承受负载值为X,业务负载峰值为Y,业务负载均值为Z,λ1为第一权重值,λ2为第二权重值,λ3为第三权重值。其中,λ1+λ2+λ3=1。
系统的安全负载值H的公式为:
λ1*X+λ2*Y+λ3*Z=H
在上述实施例中,分布式存储系统的重构装置将第一负载值中各项负载值与各自的权重值相乘的结果进行累加,获取到系统的安全负载值,使得系统的安全负载值能够准确地表征出系统的负载情况。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值确定重构信息。
需要说明的是,分布式存储系统的重构装置也可以先判断系统是否处于重构过程。若系统处于重构过程,则分布式存储系统的重构装置进行负载检测,确定系统的实时负载值与安全负载值的关系。
在上述实施例中,分布式存储系统的重构装置基于系统的实时负载值与安全负载值的关系,来动态调整系统的重构信息,使得系统重构时避免影响前端业务。
在一些实施例中,基于安全负载值确定重构信息,包括:
当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
这里,分布式存储系统的重构装置判断出实时负载值不小于安全负载值,说明此时系统的业务负载比较大,不适合将较多的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第一重构系数。重构系数用于表征系统的重构速度。第一重构系数表征系统的最慢重构速度。例如若重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置1-300中任意一个值表示第一重构系数。
在上述实施例中,当实时负载值不小于安全负载值时,分布式存储系统的重构装置将以最慢的重构速度进行重构,从而使得系统重构时,系统的能力消耗最小,进而避免了系统重构影响前端业务。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值和业务负载均值,确定重构信息。
在上述实施例中,分布式存储系统的重构装置基于安全负载值和业务负载均值来动态调整系统的重构信息,能够更加精确地确定重构信息,使得系统重构时避免影响前端业务。
在一些实施例中,基于安全负载值和业务负载均值,确定系统的重构信息,包括:
当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
这里,分布式存储系统的重构装置判断出实时负载值小于安全负载值,并且实时负载值不小于业务负载均值,说明此时系统的业务负载不会比较大,适合将部分的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第二重构系数。重构系数用于表征系统的重构速度。第二重构系数表征系统的中间重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置301-900中任意一个值表示第二重构系数。
需要说明的是,第二重构系数大于第一重构系数。
在上述实施例中,当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,分布式存储系统的重构装置将以中间的重构速度进行重构,从而使得系统重构时,消耗部分系统的能力,避免了系统重构影响前端业务。并且在系统重构不影响前端业务的基础上,加快重构速度,缩短系统危险期。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于业务负载均值,确定重构信息。
在上述实施例中,分布式存储系统的重构装置基于业务负载均值来动态调整系统的重构信息,能够更加精确地确定重构信息,使得系统重构时避免影响前端业务。
在一些实施例中,基于业务负载均值,确定重构信息,包括:
当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
这里,分布式存储系统的重构装置判断实时负载值小于业务负载均值,说明此时系统的业务负载比较小,适合将大部分的系统能力用于系统重构,因此,将重构信息中的重构系数调整为第三重构系数。重构系数用于表征系统的重构速度。第三重构系数表征系统的最大重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置901-1024中任意一个值表示第三重构系数。
在上述实施例中,当实时负载值小于业务负载均值时,分布式存储系统的重构装置将以最大的重构速度进行重构,从而使得系统重构时,消耗大部分的系统能力,避免了系统重构影响前端业务。并且在系统重构不影响前端业务的基础上,加快重构速度,缩短系统危险期。
在此需要说明的是,第三重构系数大于第二重构系数。
在一些实施例中,基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
这里,分布式存储系统的重构装置对系统进行负载检测,确定系统的实时负载值与安全负载值的关系。在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则分布式存储系统的重构装置基于安全负载值确定重构信息。
在一些实施例中,基于安全负载值确定重构信息,包括:
当实时负载值小于安全负载值时,确定重构信息中的重构系数为第四重构系数,重构系数用于表征系统的重构速度。
这里,分布式存储系统的重构装置判断出实时负载值小于安全负载值,将重构信息中的重构系数调整为第四重构系数,重构系数用于表征系统的重构速度。第四重构系数表征系统的中间重构速度。例如重构系数包括0至1024的值,设置0表示系统不进行重构,可以设置301-1024中任意一个值表示第四重构系数。
在一些实施例中,重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
这里,分布式存储系统的重构装置更新系统的第一负载值中的业务负载峰值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值中的业务负载峰值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载峰值,更新第一负载值中的业务负载峰值。
此外,分布式存储系统的重构装置再根据更新后的业务负载峰值,重新确定出安全负载值。
在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
在一些实施例中,重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
这里,分布式存储系统的重构装置更新系统的第一负载值中的业务负载均值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值中的业务负载均值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载均值,更新第一负载值中的业务负载均值。
此外,分布式存储系统的重构装置再根据更新后的业务负载均值,重新确定出安全负载值。
在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
在一些实施例中,重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值;
和,根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
这里,分布式存储系统的重构装置更新第一负载值中的业务负载峰值和第一负载值中的业务负载均值。其中,更新方式可以采用定时更新,也可以采用接收到更新指令后进行更新。具体地,分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。以及分布式存储系统的重构装置根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。其中,预设的第二周期可以与第一周期相同或者不同。例如,分布式存储系统的重构装置确定每两个月定时更新第一负载值的业务负载峰值和业务负载均值,以及确定第二周期为两周。分布式存储系统的重构装置确定此次更新时间,从而确定出距离此次更新时间最近的第二周期。即分布式存储系统的重构装置确定距离此次更新时间最近的第二周期是指上次更新后的第七周至第八周。分布式存储系统的重构装置根据第七周至第八周内的业务负载峰值,更新第一负载值中的业务负载峰值,以及根据第七周至第八周内的业务负载均值更新第一负载值中的业务负载均值。
这里,分布式存储系统的重构装置再根据更新后的业务负载峰值和更新后的业务负载均值,重新确定出安全负载值。
在上述实施例中,由于系统初始工作时业务量不稳定,导致计算出的安全负载值不适用于业务量逐渐增加的系统。因此,分布式存储系统的重构装置根据最新的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值,以及根据最新的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。从而分布式存储系统的重构装置自学习得到安全负载值,使得计算出的安全负载值更加准确,进而确定出更加合理地重构信息,使得系统可以根据更加合理的重构信息进行重构。
为了进一步说明本申请实施例中分布式存储系统的重构方法,以第一周期是一周为例进行说明。需要说明的是,在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。
图2A为本申请另一实施例中分布式存储系统的重构方法的处理流程示意图一,图2B为本申请另一实施例中分布式存储系统的重构方法的处理流程示意图二,请参阅图2A和图2B,分布式存储系统的重构方法包括:
步骤201,分布式存储系统的重构装置定时检查系统的实时负载值M,判断系统的实时负载值M是否小于系统的安全负载值H。若系统的实时负载值M不小于系统的安全负载值H,执行步骤202。若系统的实时负载值M小于系统的安全负载值H,执行步骤203。
这里,分布式存储系统的重构装置通过分布式存储系统的循环进程定时检查系统的实时负载值。例如系统的循环进程将每10分钟对系统进行一次实时负载值检测。
这里,基于系统在第一周的最大承受负载值、系统在第一周的业务负载峰值和系统在第一周的业务负载均值,获取系统的安全负载值。
具体地,系统在第一周的最大承受负载值是系统上线前,可以通过oracle压力测试工具Swingbench或者HammerDB对系统进行压测,从ASM侧获取到所有存储卷的最大IOPS(Input/Output Operations Per Second,每秒的读写次数)。系统的最大承受负载值为X,系统在第一周期内的业务负载峰值为Y,系统在第一周期内的业务负载均值为Z。λ1为系统的最大承受负载值的权重值,λ2为第一周期内的业务负载峰值的权重值,λ3为第一周期内的业务负载均值的权重值。其中,λ1+λ2+λ3=1。
系统的安全负载值H的公式为:
λ1*X+λ2*Y+λ3*Z=H
这里,默认系统初始业务负载峰值Y和业务负载均值Z为0,最大承受负载值X为10000。系统上线后,设定每周对业务负载峰值Y和业务负载均值Z进行更新。假设第一周后,由于业务刚上线,系统压力比较小。系统在第一周的最大承受负载值X为10000,系统在第一周的业务负载峰值Y为2000,系统在第一周的业务负载均值Z为1000。系统的安全负载值H为:
0.2*10000+0.4*2000+0.4*1000=3200
这里,如图2B所示,系统的安全负载值H为3200,系统在第一周的业务负载均值Z为2000。分布式存储系统的重构装置定时检查系统的实时负载值M,判断系统的实时负载值M是否小于3200。若系统的实时负载值M不小于3200,执行步骤202。若系统的实时负载值M小于3200,执行步骤203。
步骤202,当系统的实时负载值M不小于系统的安全负载值H时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤204。若系统不处于重构过程,则不执行任何操作。
这里,如图2B所示,系统的安全负载值H为3200,当系统的实时负载值M不小于3200时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤204。若系统不处于重构过程,则不执行任何操作。步骤203,当系统的实时负载值M小于系统的安全负载值H时,分布式存储系统的重构装置判断系统的实时负载值M是否小于系统在第一周的业务负载均值Z。若系统的实时负载值M不小于系统在第一周的业务负载均值Z,并且系统的实时负载值M小于系统安全负载值H,执行步骤205。若系统的实时负载值M小于系统在第一周的业务负载均值Z,执行步骤206。
这里,如图2B所示,系统的安全负载值H为3200,系统在第一周的业务负载均值Z为2000。当系统的实时负载值M小于3200时,分布式存储系统的重构装置判断系统的实时负载值M是否小于2000。若系统的实时负载值M不小于2000,并且系统的实时负载值M小于3200,执行步骤205。若系统的实时负载值M小于2000,执行步骤206。
步骤204,分布式存储系统的重构装置将重构系数调整为L1。
这里,如图2B所示,分布式存储系统的重构装置将重构系数调整为L1,即分布式存储系统的重构装置将重构系数调整配置为1。实际操作中,分布式存储系统的重构装置将ASM_POWER_LIMIT参数配置为1。
步骤205,当系统的实时负载值M不小于系统在第一周的业务负载均值Z,并且系统的实时负载值M小于系统的安全负载值H时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤207。若系统不处于重构过程,则不执行任何操作。
这里,如图2B所示,系统的安全负载值H为3200,系统在第一周的业务负载均值Z为2000。当系统的实时负载值M不小于2000,并且系统的实时负载值M小于3200时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤207。若系统不处于重构过程,则不执行任何操作。
步骤206,当系统的实时负载值M小于系统在第一周的业务负载均值Z时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤208。若系统不处于重构过程,则不执行任何操作。
这里,如图2B所示,系统在第一周的业务负载均值Z为2000。当系统的实时负载值M小于2000时,分布式存储系统的重构装置判断当前系统是处于重构过程。若系统是处于重构过程,执行步骤208。若系统不处于重构过程,则不执行任何操作。
步骤207,分布式存储系统的重构装置将重构系数调整为L2。
这里,如图2B所示,分布式存储系统的重构装置将重构系数调整为L2,即分布式存储系统的重构装置将重构系数调整配置为500。实际操作中,分布式存储系统的重构装置将ASM_POWER_LIMIT参数配置为500。
步骤208,分布式存储系统的重构装置将重构系数调整为L3。
这里,如图2B所示,分布式存储系统的重构装置将重构系数调整为L3,即分布式存储系统的重构装置将重构系数调整配置为1024。实际操作中,分布式存储系统的重构装置将ASM_POWER_LIMIT参数配置为1024。如图2B所示,在第二周时,当存储节点发生故障或磁盘发生故障时,系统进行重构。在重构时刻,分布式存储系统的重构装置检测到系统的实时负载值M为3000,判断出实时负载值M小于安全负载值H,且实时负载值M大于业务负载均值Z,则分布式存储系统的重构装置将重构系数调整为L2,即将ASM_POWER_LIMIT配置为500,系统将以中等速度进行重构。
此外,分布式存储系统的重构装置将定期根据最新的第二周期内的业务负载峰值更新系统在第一周期内的业务负载峰值。以及根据最新的第二周期内的业务负载均值更新系统在第一周期内的业务负载均值。其中,第二周期可以与第一周期相同或者不同。分布式存储系统的重构装置根据更新后的业务负载峰值Y和更新后的业务负载均值Z,重新确定出安全负载值H。由于后期系统的业务量逐渐增大并趋于稳定,业务负载峰值Y也将逐渐增大并趋于稳定,如业务负载峰值Y更新为8000,业务负载均值Z更新为5000,则安全负载值H也将趋于稳定为7200。如此,根据更新后的安全负载值H和更新后的业务负载均值Z,分布式存储系统的重构装置能够更加合理地控制系统的重构速度。
本申请实施例另一方面,还提供一种分布式存储系统的重构装置。图3为本申请一实施例中分布式存储系统的重构装置的结构示意图,请参阅图3,重构装置300包括获取模块301和确定模块302。
获取模块301,用于基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值。
确定模块302,用于基于安全负载值和/或业务负载均值,确定系统的重构信息。
在一些实施例中,获取模块301,具体用于获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值。
将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
在一些实施例中,确定模块302,具体用于在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
在一些实施例中,确定模块302,具体用于当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,确定模块302,具体用于在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
在一些实施例中,确定模块302,具体用于当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,确定模块302,具体用于在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
在一些实施例中,确定模块302,具体用于当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,请参见图3,重构装置300还包括更新模块303。
更新模块303,用于根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
在一些实施例中,更新模块303,还用于根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
在一些实施例中,更新模块303,用于根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
更新模块303,还用于根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
本申请实施例再一方面,还提供一种设备,图4为本申请一实施例中分布式存储系统的重构设备的结构示意图,如图4所示,重构设备400至少包括至少一个处理器401和至少一个存储器402。其中,存储器402用于存储能够在处理器401上运行的计算机程序,处理器401用于运行所述计算机程序时,执行:一种分布式存储系统的重构方法,重构方法包括:
基于系统的第一负载值,获取系统的安全负载值,第一负载值至少包括:系统在第一周期内的最大承受负载值、系统在第一周期内的业务负载峰值和系统在第一周期内的业务负载均值;
基于安全负载值和/或业务负载均值,确定系统的重构信息。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于系统的第一负载值,获取系统的安全负载值,包括:
获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值;
将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于安全负载值确定重构信息,包括:
当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值和业务负载均值,确定重构信息。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于安全负载值和业务负载均值,确定系统的重构信息,包括:
当实时负载值小于安全负载值,且实时负载值不小于业务负载均值时,确定重构信息中的重构系数为第二重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于安全负载值和/或业务负载均值,确定系统的重构信息,包括:
在系统的实时负载值小于安全负载值的情况下,若系统处于重构过程,则基于业务负载均值,确定重构信息。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
基于业务负载均值,确定重构信息,包括:
当实时负载值小于业务负载均值时,确定重构信息中重构系数为第三重构系数,重构系数用于表征系统的重构速度。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
在一些实施例中,所述处理器401还用于运行所述计算机程序时,执行:
重构方法还包括:
根据系统在距离更新时间最近的第二周期内的业务负载峰值,更新第一负载值中的业务负载峰值;
和,根据系统在距离更新时间最近的第二周期内的业务负载均值,更新第一负载值中的业务负载均值。
在一些实施例中,重构设备还包括系统总线403和通信接口404。其中,系统总线403配置为实现这些组件之间的连接通信,通信接口404可以包括标准的有线接口和无线接口。
本申请实施例再一方面,还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例所述的分布式存储系统的重构方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围以准。
Claims (9)
1.一种分布式存储系统的重构方法,其特征在于,所述重构方法包括:
基于所述系统的第一负载值,获取所述系统的安全负载值,所述第一负载值至少包括:所述系统在第一周期内的最大承受负载值、所述系统在所述第一周期内的业务负载峰值和所述系统在所述第一周期内的业务负载均值;
基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息;
其中,所述基于所述系统的第一负载值,获取所述系统的安全负载值,包括:
获取与所述最大承受负载值对应的第一权重值、与所述业务负载峰值对应的第二权重值和与所述业务负载均值对应的第三权重值;
将所述最大承受负载值与所述第一权重值相乘的结果、所述业务负载峰值和第二权重值相乘的结果和所述业务负载均值与所述第三权重值相乘的结果进行累加,获取所述安全负载值;
其中,所述基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息,包括:
在所述系统的实时负载值不小于所述安全负载值的情况下,若所述系统处于重构过程,则基于所述安全负载值确定所述重构信息;
其中,所述基于所述安全负载值确定所述重构信息,包括:
当所述实时负载值不小于所述安全负载值时,确定所述重构信息中的重构系数为第一重构系数,所述重构系数用于表征所述系统的重构速度。
2.根据权利要求1所述重构方法,其特征在于,所述基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息,包括:
在所述系统的实时负载值小于所述安全负载值的情况下,若所述系统处于重构过程,则基于所述安全负载值和所述业务负载均值,确定所述重构信息。
3.根据权利要求2所述重构方法,其特征在于,所述基于所述安全负载值和所述业务负载均值,确定所述系统的重构信息,包括:
当所述实时负载值小于所述安全负载值,且所述实时负载值不小于所述业务负载均值时,确定所述重构信息中的重构系数为第二重构系数,所述重构系数用于表征所述系统的重构速度。
4.根据权利要求1所述重构方法,其特征在于,所述基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息,包括:
在所述系统的实时负载值小于所述安全负载值的情况下,若所述系统处于重构过程,则基于所述业务负载均值,确定所述重构信息。
5.根据权利要求4所述重构方法,其特征在于,所述基于所述业务负载均值,确定所述重构信息,包括:
当所述实时负载值小于所述业务负载均值时,确定所述重构信息中重构系数为第三重构系数,所述重构系数用于表征所述系统的重构速度。
6.根据权利要求1所述重构方法,其特征在于,所述重构方法还包括:
根据所述系统在距离更新时间最近的第二周期内的业务负载峰值,更新所述第一负载值中的业务负载峰值;
和/或,根据所述系统在距离更新时间最近的第二周期内的业务负载均值,更新所述第一负载值中的业务负载均值。
7.一种分布式存储系统的重构装置,其特征在于,所述重构装置包括:获取模块和确定模块,
所述获取模块,用于基于所述系统的第一负载值,获取所述系统的安全负载值,所述第一负载值至少包括:所述系统在第一周期内的最大承受负载值、所述系统在所述第一周期内的业务负载峰值和所述系统在所述第一周期内的业务负载均值;
所述确定模块,用于基于所述安全负载值和/或所述业务负载均值,确定所述系统的重构信息;
所述获取模块,具体用于获取与最大承受负载值对应的第一权重值、与业务负载峰值对应的第二权重值和与业务负载均值对应的第三权重值;将最大承受负载值与第一权重值相乘的结果、业务负载峰值和第二权重值相乘的结果和业务负载均值与第三权重值相乘的结果进行累加,获取安全负载值;
所述确定模块,具体用于在系统的实时负载值不小于安全负载值的情况下,若系统处于重构过程,则基于安全负载值确定重构信息;当实时负载值不小于安全负载值时,确定重构信息中的重构系数为第一重构系数,重构系数用于表征系统的重构速度。
8.一种分布式存储系统的重构设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时以实现以如权利要求1至6中任一项所述的分布式存储系统的重构方法的步骤。
9.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有分布式存储系统的重构程序,所述分布式存储系统的重构程序被处理器执行时实现如权利要求1至6中任一所述分布式存储系统的重构方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117673.0A CN113377861B (zh) | 2020-02-25 | 2020-02-25 | 分布式存储系统的重构方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010117673.0A CN113377861B (zh) | 2020-02-25 | 2020-02-25 | 分布式存储系统的重构方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377861A CN113377861A (zh) | 2021-09-10 |
CN113377861B true CN113377861B (zh) | 2023-04-07 |
Family
ID=77569342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010117673.0A Active CN113377861B (zh) | 2020-02-25 | 2020-02-25 | 分布式存储系统的重构方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377861B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10484470B2 (en) * | 2014-05-09 | 2019-11-19 | International Business Machines Corporation | Peak cyclical workload-based storage management in a multi-tier storage environment |
CN110445822B (zh) * | 2018-05-03 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种对象存储方法及装置 |
CN108804039B (zh) * | 2018-06-04 | 2021-01-29 | 平安科技(深圳)有限公司 | 自适应的数据恢复流控方法、装置、电子设备及存储介质 |
-
2020
- 2020-02-25 CN CN202010117673.0A patent/CN113377861B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113377861A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522636A (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
EP3758325B1 (en) | Traffic limiting method, node and system | |
CN110289994B (zh) | 一种集群容量调整方法及装置 | |
CN108241528B (zh) | 一种用户自定义海量网络安全数据动态采集方法 | |
CN111200526B (zh) | 网络设备的监控系统及方法 | |
CN112214288B (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
US20140195861A1 (en) | Implementing rate controls to limit timeout-based faults | |
CN113141410B (zh) | 动态调节的qps控制方法、系统、设备及存储介质 | |
CN112416888B (zh) | 用于分布式文件系统的动态负载均衡方法及系统 | |
CN116955455B (zh) | 适用于辐射监测系统的处理方法及平台 | |
CN113297009B (zh) | 一种信息备份方法、设备、平台及存储介质 | |
CN113377861B (zh) | 分布式存储系统的重构方法、装置、设备和存储介质 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN111400241B (zh) | 数据重构方法和装置 | |
CN112751926A (zh) | 一种集群中工作节点的管理方法、系统及相关装置 | |
CN117097646A (zh) | 尾延迟调整方法及装置 | |
CN117369941A (zh) | Pod调度方法和系统 | |
CN114064226A (zh) | 容器集群的资源调协方法、调协装置及存储介质 | |
CN109885385B (zh) | 一种应用服务器线程池的自调优方法、装置及设备 | |
CN113867942B (zh) | 一种卷的挂载方法、系统及计算机可读存储介质 | |
CN116643858A (zh) | 基于业务优先级pod再调度方法、装置、设备及介质 | |
CN113590287B (zh) | 任务处理方法、装置、设备、存储介质及调度系统 | |
WO2019161172A1 (en) | Systems and methods for improved management of virtual machine clusters | |
CN115469966A (zh) | 容器云服务的弹性伸缩方法及装置 | |
CN111367878B (zh) | Ipfs节点的监控方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |