首页> 中国专利> 一种存储单元性能优化方法、装置、存储设备及存储介质

一种存储单元性能优化方法、装置、存储设备及存储介质

摘要

本申请公开了一种存储单元性能优化方法,本方法通过统计得到的每个存储单元的读写操作平均耗时、每个存储单元中的主副本的被执行的读写操作次数这两个参数来衡量每个存储单元的主亲和性,并根据主亲和性的大小在每个周期调整每个存储单元中存储的作为主副本的副本数量,以通过动态调整的方式优化压力分布,使得每个存储单元的压力更加平均,尽可能的防止某个存储单元因压力过大导致使用寿命快速缩短和对分布式文件系统整体性能的拖累。本申请还同时公开了一种存储单元性能优化装置、存储设备及计算机可读存储介质,具有上述有益效果。

著录项

  • 公开/公告号CN110007866A

    专利类型发明专利

  • 公开/公告日2019-07-12

    原文格式PDF

  • 申请/专利权人 苏州浪潮智能科技有限公司;

    申请/专利号CN201910290101.X

  • 发明设计人 赵赞;刘杰;

    申请日2019-04-11

  • 分类号

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人罗满

  • 地址 215100 江苏省苏州市吴中区吴中经济开发区郭巷街道官浦路1号9幢

  • 入库时间 2024-02-19 11:55:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-31

    授权

    授权

  • 2019-08-06

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20190411

    实质审查的生效

  • 2019-07-12

    公开

    公开

说明书

技术领域

本申请涉及分布式存储技术领域,特别涉及一种存储单元性能优化方法、装置、存储设备及计算机可读存储介质。

背景技术

分布式文件系统通过多个存储单元可存储海量数据,为了使得每个存储单元中存储的数据占用的存储空间大致相同,现有技术会通过各种规则来实现数据的均衡分布。

在分布式文件系统下,通常会采用多副本的冗余方式来保障数据安全,即将一份数据的多个副本分散存储在多个存储单元中,多个副本又通常被分为一个主副本和剩下的多个从副本。在PG组(Placement Group)的规则下,每个PG组都会有自己的多个数据副本,但由于每个PG组相对独立,使得某些存储单元中存储的副本可能同时作为多个PG组的主副本。且由于在现有的主副本机制下,写请求会先发给主副本,主副本自己在根据写请求中的最新数据进行更新的同时也将该最新数据分发给其它从副本,也就是说写操作在执行次数上不分存储的副本是主副本还是从副本;读请求只被发送给存储有主副本的存储单元,即只需要从主副本中读取想要的数据即可。可以看到,如果一个存储单元中存储的主副本数量相对于其它存储单元存储的主副本数量较多的话,将因读写操作的执行次数的不均衡加大某个存储单元的压力,使得其在过大的压力下使用寿命快速缩减,在分布式文件系统下,某个存储单元性能的降低也会拖累整个分布式文件系统的整体性能。

现有技术在调整主副本和从副本方面,仅在某个存储主副本的存储单元掉线,才会将某一个从副本升格为主副本,以保证正常运行,除此之外不会调整主副本和从副本。

因此,如何尽可能的克服现有技术中某些存储单元会存储有过多的主副本所产生的技术缺陷,是本领域技术人员亟待解决的问题。

发明内容

本申请的目的在于提供一种存储单元性能优化方法、装置、存储设备及计算机存储介质,旨在尽可能的克服现有技术中某些存储单元会存储有过多的主副本时存在的压力分布不均、该存储单元使用寿命缩短过快、分布式文件系统整体性能受到影响的问题。

为实现上述目的,本申请提供一种存储单元性能优化方法,该方法包括:

记录每个存储单元执行每次操作的耗时信息,并根据发生在每个周期内的操作次数计算得到平均耗时;

记录每个所述存储单元中存储的主副本每次被执行操作的种类信息,并根据发生在每个所述周期内的种类信息确定每种操作的执行次数;

根据与每个所述周期对应的平均耗时和执行次数确定每个所述存储单元在对应周期内的主亲和性;

根据每个所述存储单元的主亲和性的大小调整每个所述存储单元中存储的作为主副本的副本数量;其中,存储单元中存储的作为主副本的副本数量与该存储单元的主亲和性成正比关系。

可选的,根据与每个所述周期对应的平均耗时和执行次数确定每个所述存储单元在对应周期内的主亲和性,包括:

根据与每个所述周期对应的平均耗时确定每个所述存储单元在对应周期内的工作状态;其中,所述平均耗时越高,对应的工作状态越差;

根据与每个所述周期对应的执行次数确定每个所述存储单元中存储的主副本相对数量;其中,所述执行次数越多,对应的主副本相对数量越大;

根据与每个所述周期对应的工作状态和主副本相对数量确定每个所述存储单元在对应周期内的主亲和性;其中,越差的工作状态和/或越大的主副本相对数量,对应的主亲和性越低。

可选的,该存储单元性能优化方法还包括:

量化所述工作状态和归一化所述相对数量,得到量化工作状态评估值和归一化数量;

对应的,根据与每个所述周期对应的工作状态和主副本相对数量确定每个所述存储单元在对应周期内的主亲和性,包括:

根据与每个所述周期对应的量化工作状态评估值和归一化数量确定每个所述存储单元在对应周期内的主亲和性。

可选的,根据与每个所述周期对应的执行次数确定每个所述存储单元中存储的主副本相对数量,包括:

将所述执行次数根据操作种类分为读次数和写次数;

分别为所述读次数和所述写次数赋予不同的权值;其中,所述赋予所述读次数的权值大于赋予所述写次数的权值;

根据与每个所述周期对应的读次数和写次数按照加权计算法计算得到每个所述存储单元中存储的主副本相对数量。

为实现上述目的,本申请还提供了一种存储单元性能优化装置,包括:

平均耗时计算单元,用于记录每个存储单元执行每次操作的耗时信息,并根据发生在每个周期内的操作次数计算得到平均耗时;

执行次数确定单元,用于记录每个所述存储单元中存储的主副本每次被执行操作的种类信息,并根据发生在每个所述周期内的种类信息确定每种操作的执行次数;

主亲和性确定单元,用于根据与每个所述周期对应的平均耗时和执行次数确定每个所述存储单元在对应周期内的主亲和性;

主副本数量调整单元,用于根据每个所述存储单元的主亲和性的大小调整每个所述存储单元中存储的作为主副本的副本数量;其中,存储单元中存储的作为主副本的副本数量与该存储单元的主亲和性成正比关系。

可选的,所述主亲和性确定单元包括:

工作状态确定子单元,用于根据与每个所述周期对应的平均耗时确定每个所述存储单元在对应周期内的工作状态;其中,所述平均耗时越高,对应的工作状态越差;

主副本相对数量确定子单元,用于根据与每个所述周期对应的执行次数确定每个所述存储单元中存储的主副本相对数量;其中,所述执行次数越多,对应的主副本相对数量越大;

主亲和性确定子单元,用于根据与每个所述周期对应的工作状态和主副本相对数量确定每个所述存储单元在对应周期内的主亲和性;其中,越差的工作状态和/或越大的主副本相对数量,对应的主亲和性越低。

可选的,该存储单元性能优化装置还包括:

量化处理单元,用于量化所述工作状态和归一化所述相对数量,得到量化工作状态评估值和归一化数量;

对应的,所述主亲和性确定子单元包括:

量化主亲和性确定模块,用于根据与每个所述周期对应的量化工作状态评估值和归一化数量确定每个所述存储单元在对应周期内的主亲和性。

可选的,所述主副本相对数量确定子单元包括:

读写次数获取模块,用于将所述执行次数根据操作种类分为读次数和写次数;

加权模块,用于分别为所述读次数和所述写次数赋予不同的权值;其中,所述赋予所述读次数的权值大于赋予所述写次数的权值;

加权计算模块,用于根据与每个所述周期对应的读次数和写次数按照加权计算法计算得到每个所述存储单元中存储的主副本相对数量。

为实现上述目的,本申请还提供了一种存储设备,该存储设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述内容所描述的存储单元性能优化方法。

为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的存储单元性能优化方法。

显然,本申请通过统计得到的每个存储单元的读写操作平均耗时、每个存储单元中的主副本的被执行的读写操作次数这两个参数来衡量每个存储单元的主亲和性,并根据主亲和性的大小在每个周期调整每个存储单元中存储的作为主副本的副本数量,以通过动态调整的方式优化压力分布,使得每个存储单元的压力更加平均,尽可能的防止某个存储单元因压力过大导致使用寿命快速缩短和对分布式文件系统整体性能的拖累。本申请同时还提供了一种存储单元性能优化装置、存储设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种存储单元性能优化方法的流程图;

图2为本申请实施例提供的存储单元性能优化方法中一种确定主亲和度的方法的流程图;

图3为本申请实施例提供的存储单元性能优化方法中一种确定主副本相对数量的方法流程图;

图4为本申请实施例提供的一种存储单元性能优化装置的结构框图。

具体实施方式

本申请的目的在于提供一种存储单元性能优化方法、装置、存储设备及计算机存储介质,旨在尽可能的克服现有技术中某些存储单元会存储有过多的主副本时存在的压力分布不均、该存储单元使用寿命缩短过快、分布式文件系统整体性能受到影响的问题。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

实施例一

请参见图1,图1为本申请实施例提供的一种存储单元性能优化方法的流程图,其包括以下步骤:

S101:记录每个存储单元执行每次操作的耗时信息,并根据发生在每个周期内的操作次数计算得到平均耗时;

存储单元执行的操作按种类的不同被分为读操作和写操作,每次读操作或写操作的执行耗时往往与对应存储单元的工作状态有关,即一个工作状态良好的存储单元相比于拎一个工作状态较差的存储单元,其两者在操作执行耗时上会存在明显的差别。工作状态的优劣通常也会有多种影响因素,例如是否长期处于较大的操作执行压力下、是否有些元器件异常、存储单元坏道过多等等。

换句话说,本步骤旨在通过每个存储单元在每个周期内执行操作的平均耗时来评估该存储单元是否适合存储更多的主副本,并很好的处理由于多主副本带来的更到的操作处理压力。

S102:记录每个存储单元中存储的主副本每次被执行操作的种类信息,并根据发生在每个周期内的种类信息确定每种操作的执行次数;

执行的操作按种类可划分为读操作和写操作,本步骤旨在记录每个存储单元中因存储的副本作为多个副本中的主副本而被执行的读操作和写操作,并计算得到每种操作的执行次数。

从执行次数的多少的横向对比则可以看出不同存储单元中存储的主副本的相对数量,因为存储的主副本越多,按照标准的多副本读写操作,一定会为对应的存储单元带来相对于其它存储单元更多的读写操作,压力也随之增加。

S103:根据与每个周期对应的平均耗时和执行次数确定每个存储单元在对应周期内的主亲和性;

在S101和S102的基础上,本步骤旨在根据与每个周期对应的平均耗时和执行次数确定每个存储单元在对应周期内的主亲和性。其中的平均耗时可以用来评估存储单元的工作状态,执行次数则可以看出每个存储单元中存储的主副本的相对数量,工作状态好的话,通常可认为其能够相对较多的存储更多的主副本,来很好的完成较多主副本带来的读写操作压力,尤其是该存储单元相对于其它存储单元拥有更好的工作状态的情况。而一个存储的主副本的相对数量较多的存储单元的工作状态不理想,尤其是还不如其它存储单元的工作状态,则认为该存储单元不适合存储过多的主副本,应该对其进行调整来通过压力分担的方式来缓解压力。

本步骤中的主亲和性,表示的每个存储单元是否适合存储主副本以及衡量适合存储多少个主副本的辨识参数,确定过程则是通过从平均耗时显示出的工作状态和执行次数显示出的主副本相对数量。

一种包括但不限于的实现方式可以为:

S201:根据与每个周期对应的平均耗时确定每个存储单元在对应周期内的工作状态;

其中,平均耗时越高,对应的工作状态越差;平均耗时越低,对应的工作状态越好。因为存储单元中的存储介质也会因为各种因素的影响出现老化、损伤、故障等,都会影响读写操作的执行耗时。

S202:根据与每个周期对应的执行次数确定每个存储单元中存储的主副本相对数量;

执行次数越多,对应的主副本相对数量越多;执行次数越少,对应的主副本相对数量越少。

S203:根据与每个周期对应的工作状态和主副本相对数量确定每个存储单元在对应周期内的主亲和性。

进一步的,为了后续计算主亲和性的方便,还可以在确定主亲和性之前,对上述确定出的参数:工作状态和主副本相对数量进行量化,使得经过量化处理后的参数可以以数值的方式参与计算。更进一步的,为使得单位统一和数值更加集中,还可以进行归一化处理。

S104:根据每个存储单元的主亲和性的大小调整每个存储单元中存储的作为主副本的副本数量。

在S103的基础上,本步骤旨在根据每个存储单元的主亲和性的大小调整每个存储单元中存储的作为主副本的副本数量,其中,存储单元中存储的作为主副本的副本数量与该存储单元的主亲和性成正比关系,也就是说主亲和性越大的存储单元越适合存储更多的主副本,主亲和性越小的存储单元越不适合存储更多的主副本。

具体的,根据实际情况的不同,存储主副本的副本数量的方式可以有多种,例如在主副本数量一定的情况下,可以根据不同存储单元各自的主亲和性占总亲和性的比例来分配对应数量的主副本;也可以按照每个存储单元执行的操作数占总操作数的比例来进行调整。同时还可以设定调整范围,根据台调整范围的上限和下限来确定需要调整哪些存储单元中存储的主副本数量,而不调整介于上限和下限间的存储单元中存储的主副本数量,以尽可能的减少调整量。

进一步的,当根据平均耗时确定出某些存储单元当前的工作状态极差时,通常说明该存储单元中的存储介质的使用寿命将近,此时通常需要更换新的存储介质。由于更换新的存储介质,存储于原存储介质中的主副本将因存储单元掉线而自动将其他存储单元中的从副本升格为主副本,因此新的存储介质可以通过副本间的同步实现恢复。

本实施例通过统计得到的每个存储单元的读写操作平均耗时、每个存储单元中的主副本的被执行的读写操作次数这两个参数来衡量每个存储单元的主亲和性,并根据主亲和性的大小在每个周期调整每个存储单元中存储的作为主副本的副本数量,以通过动态调整的方式优化压力分布,使得每个存储单元的压力更加平均,尽可能的防止某个存储单元因压力过大导致使用寿命快速缩短和对分布式文件系统整体性能的拖累。

实施例二

请参见图3,图3为本申请实施例提供的存储单元性能优化方法中一种确定主副本相对数量的方法流程图,在实施例一的基础上,本步骤旨在进一步的在确定主副本相对数量的过程根据读次数和此次书对其贡献的不同来进一步优化确定出的主副本相对数量,包括如下步骤:

S301:将执行次数根据操作种类分为读次数和写次数;

S302:分别为读次数和写次数赋予不同的权值;

假定赋予读次数的权值为第一权值、赋予写次数的权值为第二权值,则第一权值应大于第二权值,这是因为在现有主从副本的读写机制下,写请求会先发给主副本,主副本自己在根据写请求中的最新数据进行更新的同时也将该最新数据分发给其它从副本;读请求只被发送给存储有主副本的存储单元,即只需要从主副本中读取想要的数据即可。也就是说,写操作不管存储的副本是主副本还是从副本的存储单元都会执行,而读操作却只有存储有主副本的存储单元执行,因此读操作对应的读次数理应拥有更大的权重,甚至可以只参考读次数来确定主副本相对数量。因此,通常第一权值可以远大于第二权值。

S303:根据与每个周期对应的读次数和写次数按照加权计算法计算得到每个存储单元中存储的主副本相对数量。

例如:第一权值×读次数+第二权值×写次数=主副本相对数量。当然,实际情况下的计算过程可能会远比这个复杂,可能会包括一些其它的修正系统、基础值等等,此处并不做具体限定。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

实施例三

下面请参见图4,图4为本申请实施例提供的一种存储单元性能优化装置的结构框图,该装置可以包括:

平均耗时计算单元100,用于记录每个存储单元执行每次操作的耗时信息,并根据发生在每个周期内的操作次数计算得到平均耗时;

执行次数确定单元200,用于记录每个存储单元中存储的主副本每次被执行操作的种类信息,并根据发生在每个周期内的种类信息确定每种操作的执行次数;

主亲和性确定单元300,用于根据与每个周期对应的平均耗时和执行次数确定每个存储单元在对应周期内的主亲和性;

主副本数量调整单元400,用于根据每个存储单元的主亲和性的大小调整每个存储单元中存储的作为主副本的副本数量;其中,存储单元中存储的作为主副本的副本数量与该存储单元的主亲和性成正比关系。

其中,该主亲和性确定单元300可以包括:

工作状态确定子单元,用于根据与每个周期对应的平均耗时确定每个存储单元在对应周期内的工作状态;其中,平均耗时越高,对应的工作状态越差;

主副本相对数量确定子单元,用于根据与每个周期对应的执行次数确定每个存储单元中存储的主副本相对数量;其中,执行次数越多,对应的主副本相对数量越大;

主亲和性确定子单元,用于根据与每个周期对应的工作状态和主副本相对数量确定每个存储单元在对应周期内的主亲和性;其中,越差的工作状态和/或越大的主副本相对数量,对应的主亲和性越低。

进一步的,该存储单元性能优化装置还可以包括:

量化处理单元,用于量化工作状态和归一化相对数量,得到量化工作状态评估值和归一化数量;

对应的,该主亲和性确定子单元300可以包括:

量化主亲和性确定模块,用于根据与每个周期对应的量化工作状态评估值和归一化数量确定每个存储单元在对应周期内的主亲和性。

其中,该主副本相对数量确定子单元可以包括:

读写次数获取模块,用于将执行次数根据操作种类分为读次数和写次数;

加权模块,用于分别为读次数和写次数赋予不同的权值;其中,赋予读次数的权值大于赋予写次数的权值;

加权计算模块,用于根据与每个周期对应的读次数和写次数按照加权计算法计算得到每个存储单元中存储的主副本相对数量。

本实施例作为对应于方法实施例的装置实施例存在,具有方法实施例的全部有益效果,此处不再一一赘述。

基于上述实施例,本申请还提供了一种存储设备,存储设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的存储单元性能优化方法中的各步骤。当然,该部署装置还可以包括各种必要的网络接口、电源以及其它零部件等。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的存储单元性能优化方法中的各步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号