CN109726145A - 一种数据存储空间的分配方法、装置及电子设备 - Google Patents
一种数据存储空间的分配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109726145A CN109726145A CN201811634131.XA CN201811634131A CN109726145A CN 109726145 A CN109726145 A CN 109726145A CN 201811634131 A CN201811634131 A CN 201811634131A CN 109726145 A CN109726145 A CN 109726145A
- Authority
- CN
- China
- Prior art keywords
- data
- stick
- storage region
- storage
- capacity
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本说明书提供一种数据存储空间的分配方法、装置及电子设备,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述方法包括:获取每个条块中已存储数据的数据量;分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。提出的该数据存储空间的分配方法,能够减少存储空间的浪费,实现合理的分区配置,提高存储空间的利用率。
Description
技术领域
本说明书涉及数据存储技术领域,尤其涉及一种数据存储空间的分配方法、装置及电子设备。
背景技术
基于存储系统的存储成本高,且存储数据的大小比较离散,如何分配存储空间来保存大小不一的数据,是数据存储中一直存在的问题。常见的数据保存方法包括:数据拼接方法和数据分区方法。其中,数据拼接方法将多个数据拼接在一起,凑成一个大的物理条块,然后保存;数据分区方法将存储设备的实际物理存储空间划分为多个分区,每个分区的条块大小不一样。现有的数据拼接方法充分利用物理存储空间,空间利用率高,但是其实现复杂,且由于数据的回收会形成分散的大小不一的碎片,需要进行碎片空间整理,才能提高利用效率,如此,给存储系统带来了额外的开销。相对来说,数据分区方法分配回收简单,系统开销低,但每个数据单独占用一个分区的条块,即使该数据的大小比条块的大小小了很多,其条块剩下的空间也无法重新利用,同时分区的数量不能过多,不可能做到每个数据大小都建立一个分区,若这样的话,分区很多,空间分配到每个分区就很少,而落在每个分区上的数据量是不一定的,会造成分区之间频繁的重新划分空间。
发明内容
故为克服相关技术中存在的问题,提供一种流程简单,应用灵活,存储空间利用率高,能避免频繁的重新划分存储空间,且分区划分合理的数据存储空间的分配方法及装置实属必要。本说明书提供了一种数据存储空间的分配方法、装置以及电子设备。
根据本说明书实施例的第一方面,提供一种数据存储空间的分配方法,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述方法包括:
获取每个条块中已存储数据的数据量;
分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
根据本说明书实施例的第二方面,提供一种数据存储空间的分配装置,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述分配装置包括:
获取模块,用于获取每个条块中已存储数据的数据量。
统计模块,用于分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
决策模块,用于根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
根据本说明书实施例的第三方面,提供一种电子设备,包括:处理器和存储器,所述存储器包括第一存储空间和第二存储空间,所述第一存储空间用于存储可执行的计算机指令;所述第二存储空间包括至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同;
其中,所述处理器被配置为执行计算机指令实现以下方法:
获取每个条块中已存储数据的数据量;
分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,提供了一种数据存储空间的分配方法,实现了划分出合理的存储区域(分区)来保存数据;提出的对存储设备动态划分存储区域的方法,其技术实现简单的同时,且保证了存储空间较高的利用率,使得存储能力得到明显的提升。具体而言,通过对所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值等统计结果进行分析,统计得到的数据量的分布规律,而基于该规律创建的新的存储区域的条块的容量与待保存的数据的大小更加匹配,进而减少存储空间的浪费,实现合理的分区配置,提高存储空间的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种数据存储空间的分配方法的流程图。
图2是本说明书根据一示例性实施例示出的数据存储空间经过初始化配置后的示意图。
图3是本说明书根据一示例性实施例示出的存储设备运行一段时间后其存储空间的示意图。
图4是本说明书根据一示例性实施例示出的存储空间内数据分布以及统计数据分布的示意图。
图5是本说明书根据一示例性实施例示出的基于数据统计预测结果创建存储区域后的示意图。
图6是本说明书根据一示例性实施例示出的存储空间内存储区域间数据迁移的示意图。
图7是本说明书根据一示例性实施例示出的删除存储空间内存储区域的示意图。
图8是本说明书根据一示例性实施例示出的一种数据存储空间的分配装置的框图。
图9是本说明书根据一示例性实施例示出的一种电子设备示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本说明书实施例提供的一种数据存储空间的分配方法,该方法应用于存储数据大小有规律可循的企业级存储场景为一较佳的实施例。针对企业级存储场景,存储设备主要用来保存与企业经营相关的业务数据,在企业业务方向不发生改变的情况下,企业的业务数据的本质是不会变化,有一定的规律可循,这为存储数据的大小统计以及预测分析提供了前提。当然,不同应用场景,其存储的数据大小的统计分布以及可预测性是不同的,本说明书实施例中所述方法并不限于应用在企业级存储场景,该方法也可以应用在其他应用场景。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种数据存储空间的分配方法的流程图,在本实施例中,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,同一存储区域中的条块的容量相同,不同存储区域对应的条块的容量大小不同,该方法包括以下步骤:
步骤102、获取每个条块中已存储数据的数据量;
步骤104、分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
步骤106、根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
本实施例中,客户在购买存储服务商的存储设备以及存储解决方案之后,存储服务商由于预先不知道客户存储的业务数据的数据大小规律,只能预先对存储设备对应的存储空间进行初始化配置。具体而言,图2为经过初始化配置后的存储空间示意图,图中部分存储空间被划分为多个存储区域201,这里存储区域也叫做分区,如1K分区,4K分区,8K分区,16K分区,32K分区……。在本说明书实施例中,所有涉及到的分区都是指存储区域。每个分区中存在多个用于存储指定大小的数据的条块202,如4k分区中对应的条块202存储数据量在1KB到4KB之间的数据,即4K分区中存在多个容量在1KB到4KB之间的条块,8K分区中存在多个容量在4KB到8KB之间的条块,16K分区中存在多个容量在8KB到16KB之间的条块,由此可见,不同的分区对应的条块的容量是不同的。
在一个实施例中,对存储空间进行初始化配置,将存储空间进行粗粒度划分为多个存储区域,所谓粗粒度划分是指划分出的相邻存储区域间对应条块的容量相差较大。基于客户刚开始启用所述存储空间时,不存在存储空间不足的问题,且这种对存储空间预先采取粗分的方式,简单高效。
当然,本说明书实施例中所述的预先对存储设备的存储空间进行初始化配置,将存储空间划分为多个存储区域201(分区),并不仅限于图中所示的1K分区,4K分区,8K分区,16K分区,32K分区的划分方式,其他对存储空间的划分方式也包含在本说明书实施例中。
在一个实施例中,所述数据存储空间用于存储压缩后的数据。压缩作为一种数据处理技术,在不丢失信息的前提下,通过对数据进行重新组织,缩减数据量以减少存储空间,提高存储系统的传输、处理和存储效率。压缩比是指未压缩的数据量与压缩后用来保存数据的实际存储空间之间的比值,压缩比越高,说明相同量的数据经过压缩后,需要消耗的存储空间就越少,压缩的效率就越高。将写入存储系统的数据进行压缩,然后在保存到持久介质(HDD、SSD等)上,可以减少需要保存的数据量,节省持久存储介质的空间使用,从而降低硬件投入,节省能源消耗,对于闪存介质,由于减少写入数据带来的磨损,还可以延迟使用寿命。
但数据被压缩后的大小与数据内容有关,比如一个16KB的写IO数据,可能其写入数据内容重复率很高,压缩后的数据大小可能只有100个字节,而另外一个16KB的写IO数据,其写入数据内容完全不同,完全不能压缩,所以压缩处理后,数据大小还是16KB。故压缩后的数据大小为比较离散的,对压缩后的数据存储亟需一种压缩比高的数据保存方法。本实施例提出的数据存储空间的分配方法能够对存储设备的存储空间进行合理的分区,以适应压缩后的数据存储,从而提升压缩比。当然,本说明书实施例提供的数据分区保存方法,用于压缩后的数据保存为一较佳的实施方式,但不限于压缩后的数据,而对于需要存储到存储设备中的数据,该分区保存方法都适用。
在对存储设备对应的存储空间进行初始化配置之后,压缩后的数据不断存入各存储区域对应的条块中。运行一段时间,如图3所示,写IO数据被压缩后,经过对数据压缩后的数据量的比较判断,将压缩后的数据存储到对应的存储区域中的条块内,此处数据量指的是数据的大小。仍以图3为例,当压缩后的写IO数据A的数据量为5KB时,经过判断,该数据量在4KB到8KB之间,则将压缩后的写IO数据A存储进入8K分区中的一个条块内;当压缩后的写IO数据B的数据量为9KB时,经过判断,该数据量在8KB到16KB之间,则将压缩后的写IO数据B存储进入16K分区中的一个条块内;通过不断的存储,各存储区域中的部分条块被数据占用。
由于存储空间经过初始化配置,即对存储空间粗粒度划分之后,各存储区域中条块容量的大小与客户待保存数据的数据量的大小出现严重的不匹配。具体而言,若根据客户的业务需求,客户待保存的数据的数据量大多为5KB、12KB或20KB,而将这些数据分别保存在图3所示的各个存储区域的条块中,就会出现如下情况:数据量为5KB的数据只能保存在8K分区中的条块内,而8K分区中的条块的容量已设置为8KB,这样,每个保存有5KB大小的数据的条块就会造成3KB的存储空间的浪费;数据量为12KB的数据只能保存在16K分区中的条块内,而16K分区中的条块的容量已设置为16KB,这样,每个保存有12KB大小的数据的条块就会造成4KB的存储空间的浪费;数据量为20KB的数据只能保存在32K分区中的条块内,而32K分区中的条块的容量已设置为32KB,这样,每个保存有20KB大小的数据的条块就会造成12KB的存储空间的浪费。故持续采用这种存储区域的配置,明显是不合理的,且会造成存储空间的浪费,降低存储空间的利用率。
故在一个实施例中,提出了一种动态的划分存储区域的存储空间分配方法,该方法可为客户提供与客户经营的业务数据匹配的存储解决方案,进而提高存储设备的存储空间利用率。本实施例中,首先要获取每个条块中已存储数据的数据量,并分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到。
其中,所述预设档位是为了对待保存数据的大小进行度量并统计的参考区间。所述预设档位的大小,与初始配置时相邻存储区域中条块容量之间的差值相比,要小得多。故此处为了统计已存储数据的大小,划分预设档位时,采取细粒度划分,然后对已存储的数据的大小依据预设档位进行精确的细分。
举例来说,若存储空间初始配置时,被粗分为三个分区,如1K分区,4K分区,8K分区;可见,这样分区后,2KB、3KB、5KB、6KB等等就没有对应大小的分区。而实际存储过程中,不可避免的会出现数据大小为3KB、5KB之类的数据。如果按照已存储数据的实际大小进行统计,不同大小作为不同的统计项,显然统计项太多,如此统计,给系统带来的开销太大。所以,本实施例采用划分不同大小的档位来对数据大小进行统计。由于1K分区中条块存储的数据都是小于1KB,也可能很小接近0,所以最小的容量值一般取0;在该例中,最大的容量值为8K分区中条块的容量值即8KB。所以,划分预设档位时,在0KB在8KB之间以1KB为档位差值,而形成0KB-1KB(数据量大于0KB小于等于1KB的档位)、1KB-2KB(数据量大于1KB小于等于2KB的档位)、2KB-3KB(数据量大于2KB小于等于3KB的档位)﹒﹒﹒7KB-8KB(数据量大于7KB小于等于8KB的档位),一共8个预设档位。
当然,本实施例中,划分预设档位时,是基于最小容量值与最大容量值确定的。而最小容量值与最大容量值,是根据客户的统计对象来确定的,也就是说,若要统计4K分区内的已存储数据的大小的分布,则最小容量值为1KB,最大容量值为4KB;若要统计4K分区和8K分区内已存储数据的大小的分布,则最小容量值为1KB,最大容量值为8KB,故本说明书实施例中,对最小容量值与最大容量值的大小不做限定。另外,档位差值可以选为1KB,也可以选择更小的如512B,如此划分出的预设档位更多更细,故本说明书实施例中对该档位差值的选取也不做限定。
划分出预设档位后,获取待统计存储区域的条块中存储数据的数据量,并分别比较所述数据量与各个预设档位,统计落入各预设档位的数据个数。举个例子,各存储区域中有100个条块已存储数据,将这100个数据按照数据量(数据大小)进行归类到各自对应的预设档位上,比如100个数据中有65个数据的数据量在4KB-5KB之间,即落入到了4KB-5KB这个档位;30个数据落入到了3KB-4KB这个档位……等等,就可统计得到各预设档位对应的数据个数。
在一个实施例中,将所述存储区域中数据的数据量和所述落入各预设档位的数据的个数记录在历史记录文件中。考虑到客户储存数据到存储空间,是一个长期的过程,对存储数据依据预设档位进行归类并统计也是动态进行的,这样将存储区域中数据的数据量和所述落入各预设档位的数据的个数记录在历史记录文件中,随着不断的存储,并同步更新该历史记录文件中的数据,为后续的数据统计提供更大更准确,更符合客户存储数据分布规律的数据文件库。
本实施例中,统计得到前述的统计参数后,再根据各存储区域中已占用的条块的个数,确定是否创建新的存储区域以及对应的条块,所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。此处,以图4所示的统计图为例,对所述步骤进行说明:左边为数据在存储空间中的统计分布,从左边图中可以看出,存储空间中68%的数据存储在8K分区的各个条块中,还有30%的数据存储在4K分区的各个条块中,其余2%的数据存储在其他分区的各个条块中。右边为数据在各个预设档位上的统计分布,通过设定档位差值为1KB,划分出多个预设档位,将存储空间中的数据依据各预设档位进行归类,从图中可看出,统计得到:存储空间中存储的数据有65%落入4KB-5KB(数据量大于4KB小于等于5KB)的档位里,还有30%的数据落入3KB-4KB的档位里,3%的数据落入了6KB-7KB的档位里,2%的数据落入到了其他的档位里。
通过上述统计分析,可以很明显的得到该客户存储数据的大小的分布规律,进而判断得到现有对存储空间的区域划分是否合理。仍以图4为例,可见很多数据的数据量实际只有4KB-5KB,但由于初始的存储区域的划分,现有的存储空间中,在4K分区之后,直接划分了8K分区;如此这些数据量只有4KB-5KB的数据就被分配存储到了8K分区的条块内,造成了较大的存储空间浪费,降低了空间利用率。
在客户刚开始将数据存入存储空间时,由于此时的可用存储空间大,即使对存储空间的区域划分不合理也可以满足客户前期需求。但当存储运行一段时间后,存储空间已占用了60%或更多,此时,就需要对存储空间的存储区域的配置进行相应的调整,以提升存储空间的利用率。当然,客户也可依据自身的需求自主的对存储空间的存储区域的配置进行相应的调整,本说明书实施例对何时开始对存储空间的存储区域配置进行调整不做限定。
本实施例中,对存储空间的存储区域的配置进行相应调整,是依据前面统计得到的客户存储数据的大小的分布规律以及现有存储空间的存储区域划分。其中,所述相应的调整包括确定是否创建新的存储区域以及对应的条块。以图5所示来举例说明,通过对预设档位对应的数据的个数的统计,得到客户存储数据的大小的分布规律:发现存储空间里8K分区中80%的数据的大小在4KB-5KB的预设档位上,16K分区中70%的数据的大小在8KB-9KB的预设档位上;由于客户的业务数据短时间基本不会发生变化,故可以预测未来待保存至存储空间的数据的大小,在该例子中,预测可知待保存至存储空间的部分数据的大小在4KB-5KB之间和8KB-9KB之间。基于上述分析结果,创建新的存储区域以及对应的条块,该例子中,创建了5K的存储区域(5K分区)和9K的存储区域(9K分区)。其中,5K分区中的条块用于存储数据量在4KB-5KB之间的数据,9K分区用于存储数据量在8KB-9KB之间的数据。
通过上述调整,创建新的存储区域以及对应的条块之后,对后续新来的待存储的数据的大小进行判断,若数据的数据量在4KB-5KB之间,则将其保存在新建5K分区中的条块内;若数据的数据量在8KB-9KB之间,则将其保存在新建9K分区中的条块内。
本实施例中,采用上述创建新的存储区域,且该分区对应的条块的容量与客户待存储的数据的大小匹配,避免了前述5K的数据需要保存至8K分区的条块中的类似情形,减少了因为系统区域划分不合理造成的存储空间浪费,很大程度上提高了存储空间的利用率。
如此持续运行一段时间后,通过不断创建新的存储区域,增加的存储区域(分区)会越来越多。若系统空间中的存储区域的个数达到一定的上限或者检测到某个存储区域中存储的有效数据很少时,可以执行数据迁移的步骤。所述数据迁移的步骤包括:将一个存储区域中对应条块的数据迁移至另一个存储区域中对应条块;所述另一个存储区域中的条块的容量大于所述一个存储区域中的条块的容量。如图6所示,通过检测发现8K分区中的有效数据较少,其中,有效数据是指该数据还不能擦除,后续可能还会被读取。若想要将8K分区删除,以控制存储空间中总的分区的数目,则需要将该分区中的有效数据迁移至另一个分区中的条块内。当然,另一个分区中条块的容量要比原先存储所述有效数据的条块的容量要大。
在一个实施例中,所述另一个存储区域中的条块的容量与所述一个存储区域中条块的容量相比,最接近于所述一个存储区域中条块的容量。具体而言,依然以图6为例,8K分区里还存在有3个有效数据,而所述有效数据可以迁移至条块容量较大的9K分区、16K分区、……等等,但与8K分区的条块容量相比,9K分区中的条块的容量为9K,其最接近于所述8K分区的条块容量值8K。故将所述3个有效数据从8K分区迁移至9K分区,保存在9K分区内的条块中。
当存储区域中的数据全部迁移完后,即可执行存储区域删除的步骤,将所述存储区域以及与其对应的条块删除。如图7所示,其中8K分区中的数据被迁移完后,8K分区内没有数据,则将该分区以及对应的条块删除,同时删除该分区对应的数据存入判断条件,且更新数据存储进入其他各分区的判断条件。在如图7中,删除了原先“5KB<数据量≤8KB”的判断条件,且更新9K分区的数据存入的判断条件为“5KB<数据量≤9KB”。
通过上述对数据在分区之间的迁移,并对不存在数据的分区进行删除,可以使分区保持在一个合理的数量。且久而久之,随着客户存储设备的存储空间中存储数据增加,存储系统运行时间的增加,统计得到的数据量的分布规律更加明显,而基于该规律创建的新的存储区域的条块的容量与待保存的数据的大小更加匹配,而针对不匹配的存储区域则通过数据迁移之后,将不匹配的数据区域删除。如此,使得存储空间内存储区域中条块的大小以及存储区域的数量趋于一个合理的状态,进而得到与客户业务数据相适应的稳定的存储空间。同时,采用这种数据存储空间的动态分配方法,保证了较高的存储空间利用率,降低了客户的存储成本。
与前述方法的实施例相对应,本说明书还提供了一种数据存储空间的分配装置及其所应用的存储设备的实施例。
如图8所示,图8是本说明书根据一示例性实施例示出的一种数据存储空间的分配装置的框图,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述分配装置800包括:
获取模块801,用于获取每个条块中已存储数据的数据量。
统计模块802,用于分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
决策模块803,用于根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
在一个实施例中,所述分配装置还包括记录单元,所述记录单元用于将所述已存储数据的数据量和所述数据量落入各预设档位的个数记录在历史记录文件中。
在一个实施例中,所述分配装置800还包括:
分区管理模块804,用于根据所述决策模块803的决策,管理并控制所述存储空间内存储区域的数量。
在一个实施例中,所述分配装置800还包括:
新建模块805,用于接收分区管理模块804的指令,创建新的存储区域以及对应的条块;
迁移模块806,用于接收分区管理模块804的指令,将一个存储区域中对应条块的数据迁移至另一个存储区域中对应条块;所述另一个存储区域中的条块的容量大于所述一个存储区域中的条块的容量;
删除模块807,用于接收分区管理模块804的指令,当存储区域中的数据全部迁移完后,将所述存储区域以及与其对应的条块删除。
在一个实施例中,写IO数据经过压缩模块808压缩后,判断模块809对压缩后的数据进行判断,确定将压缩后的数据保存至存储空间中对应的存储区域内。存储系统运行一段时间后,依据存储空间内的存储区域配置以及存储空间内存储数据的实际大小,通过获取模块801获取该存储数据的数据量,接着统计模块802基于预设档位对所述数据量进行归类,统计各档位对应的数据的个数以及总体上数据在各档位上的分布情况。接着,所述决策模块803接收所述统计得到的统计参数,并将存储空间中各存储区域内已占用条块的个数(已占用条块的个数也就是对应存储区域中存储的数据的个数)与所述统计参数进行比较分析,最后发出指令给分区管理模块804,确定是否需要创建新的存储区域以及对应的条块。
而所述分区管理模块804通过指令控制新建模块805、迁移模块806、删除模块807。其中新建模块805接收分区管理模块804的指令后,对存储设备810进行操作,在其存储空间中创建新的存储区域以及对应的条块。迁移模块806接收分区管理模块的指令,将存储设备810中一存储区域的数据迁移到另一个条块容量较大的存储区域中。删除模块807接收分区管理模块的指令,将存储设备中不存在数据的存储区域删除。
本说明书的数据存储空间的分配装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过用于存储空间分配的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本装置实施例,提供的一种数据存储空间的分配装置,实现的功能和方法实施例对应,即也能够使得存储空间内存储区域中条块的大小以及存储区域的数量趋于一个合理的状态,进而得到与客户业务数据相适应的稳定的存储空间。同时,采用这种数据存储空间的动态分配方法,保证了较高的存储空间利用率,降低了客户的存储成本。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本说明书还提供一种电子设备,如图9所示,所述电子设备900包括:处理器902和存储器901,所述存储器901包括第一存储空间和第二存储空间,所述第一存储空间用于存储可执行的计算机指令;所述第二存储空间包括至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同;
其中,所述处理器902被配置为执行计算机指令实现以下方法:
获取每个条块中已存储数据的数据量;
分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
其中,处理器902执行所述计算机指令,实现所述方法,从而对第二存储空间中的存储区域进行分配以及调整。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种数据存储空间的分配方法,其特征在于,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述方法包括:
获取每个条块中已存储数据的数据量;
分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
2.根据权利要求1所述的一种数据存储空间的分配方法,其特征在于,所述数据存储空间用于存储压缩后的数据。
3.根据权利要求1所述的一种数据存储空间的分配方法,其特征在于,所述方法还包括:将所述已存储数据的数据量和所述落入各预设档位的数据的个数记录在历史记录文件中。
4.根据权利要求1所述的一种数据存储空间的分配方法,其特征在于,所述方法包括:
将一个存储区域中对应条块的数据迁移至另一个存储区域中对应条块;所述另一个存储区域中的条块的容量大于所述一个存储区域中的条块的容量;
当存储区域中的数据全部迁移完后,将所述存储区域以及与其对应的条块删除。
5.根据权利要求4所述的一种数据存储空间的分配方法,其特征在于,所述另一个存储区域中的条块的容量与所述一个存储区域中条块的容量相比,最接近于所述一个存储区域中条块的容量。
6.一种数据存储空间的分配装置,其特征在于,所述数据存储空间被划分为至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同,所述分配装置包括:
获取模块,用于获取每个条块中已存储数据的数据量;
统计模块,用于分别比较所述数据量与各个预设档位,统计落入各预设档位的数据的个数;所述预设档位根据在最小的容量值与最大的容量值之间设置多个度量值得到;
决策模块,用于根据各存储区域中已占用的条块的个数与统计参数,确定是否创建新的存储区域以及对应的条块;所述统计参数包括所统计的落入预设档位的数据的个数和/或描述所述个数的统计分布规律的统计值。
7.根据权利要求6所述的一种数据存储空间的分配装置,其特征在于,所述装置包括:记录单元,用于将所述已存储数据的数据量和所述数据量落入各预设档位的个数记录在历史记录文件中。
8.根据权利要求7所述的一种数据存储空间的分配装置,其特征在于,所述装置包括:分区管理模块,用于根据所述决策模块的决策,管理并控制所述存储空间内存储区域的数量。
9.根据权利要求8所述的一种数据存储空间的分配装置,其特征在于,所述装置还包括:由所述分区管理模块控制的新建模块、迁移模块以及删除模块;
所述新建模块,用于创建新的存储区域以及对应的条块;
所述迁移模块,用于将一个存储区域中对应条块的数据迁移至另一个存储区域中对应条块;所述另一个存储区域中的条块的容量大于所述一个存储区域中的条块的容量;
所述删除模块,用于当存储区域中的数据全部迁移完后,将所述存储区域以及与其对应的条块删除。
10.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器,所述存储器包括第一存储空间和第二存储空间,所述第一存储空间用于存储可执行的计算机指令;所述第二存储空间包括至少两个存储区域,每个存储区域中存在多个用于存储指定大小的数据的条块,不同存储区域对应的条块的容量大小不同;所述处理器用于执行所述计算机指令时实现权利要求1至4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634131.XA CN109726145B (zh) | 2018-12-29 | 2018-12-29 | 一种数据存储空间的分配方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811634131.XA CN109726145B (zh) | 2018-12-29 | 2018-12-29 | 一种数据存储空间的分配方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726145A true CN109726145A (zh) | 2019-05-07 |
CN109726145B CN109726145B (zh) | 2021-02-26 |
Family
ID=66297621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811634131.XA Active CN109726145B (zh) | 2018-12-29 | 2018-12-29 | 一种数据存储空间的分配方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726145B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021208239A1 (zh) * | 2020-04-14 | 2021-10-21 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
CN113628087A (zh) * | 2021-08-20 | 2021-11-09 | 轩昂环保科技股份有限公司 | 城市智慧管家管理系统 |
CN113625938A (zh) * | 2020-05-06 | 2021-11-09 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101569A (zh) * | 2007-06-28 | 2008-01-09 | 忆正存储技术(深圳)有限公司 | 基于多通道闪存设备逻辑条带的自适应控制方法 |
US7721044B1 (en) * | 2005-10-20 | 2010-05-18 | American Megatrends, Inc. | Expanding the storage capacity of a virtualized data storage system |
CN102201005A (zh) * | 2011-05-20 | 2011-09-28 | 苏州安源汇信软件有限公司 | 一种文件系统的流媒体增强文件布局方法 |
CN103778222A (zh) * | 2014-01-22 | 2014-05-07 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统存储文件的方法及系统 |
CN104317742A (zh) * | 2014-11-17 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种优化空间管理的自动精简配置方法 |
CN104461914A (zh) * | 2014-11-10 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种自动精简配置的自适应优化方法 |
CN106383664A (zh) * | 2016-08-31 | 2017-02-08 | 北京小米移动软件有限公司 | 数据存储方法及装置 |
-
2018
- 2018-12-29 CN CN201811634131.XA patent/CN109726145B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721044B1 (en) * | 2005-10-20 | 2010-05-18 | American Megatrends, Inc. | Expanding the storage capacity of a virtualized data storage system |
CN101101569A (zh) * | 2007-06-28 | 2008-01-09 | 忆正存储技术(深圳)有限公司 | 基于多通道闪存设备逻辑条带的自适应控制方法 |
CN102201005A (zh) * | 2011-05-20 | 2011-09-28 | 苏州安源汇信软件有限公司 | 一种文件系统的流媒体增强文件布局方法 |
CN103778222A (zh) * | 2014-01-22 | 2014-05-07 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统存储文件的方法及系统 |
CN104461914A (zh) * | 2014-11-10 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种自动精简配置的自适应优化方法 |
CN104317742A (zh) * | 2014-11-17 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种优化空间管理的自动精简配置方法 |
CN106383664A (zh) * | 2016-08-31 | 2017-02-08 | 北京小米移动软件有限公司 | 数据存储方法及装置 |
Non-Patent Citations (1)
Title |
---|
黄平: "基于固态盘特征的存储优化研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021208239A1 (zh) * | 2020-04-14 | 2021-10-21 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
CN113625938A (zh) * | 2020-05-06 | 2021-11-09 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
WO2021223669A1 (zh) * | 2020-05-06 | 2021-11-11 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
JP2023520564A (ja) * | 2020-05-06 | 2023-05-17 | 華為技術有限公司 | メタデータ記憶方法およびデバイス |
JP7462790B2 (ja) | 2020-05-06 | 2024-04-05 | 華為技術有限公司 | メタデータ記憶方法およびデバイス |
CN113625938B (zh) * | 2020-05-06 | 2024-07-30 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
US12067279B2 (en) | 2020-05-06 | 2024-08-20 | Huawei Technologies Co., Ltd. | Metadata storage method and device |
CN113628087A (zh) * | 2021-08-20 | 2021-11-09 | 轩昂环保科技股份有限公司 | 城市智慧管家管理系统 |
CN113628087B (zh) * | 2021-08-20 | 2022-06-03 | 轩昂环保科技股份有限公司 | 城市智慧管家管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109726145B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11954024B2 (en) | Packing objects by predicted lifespans in cloud storage | |
CN109726145A (zh) | 一种数据存储空间的分配方法、装置及电子设备 | |
CN104298681B (zh) | 一种数据存储方法及装置 | |
CN101795211B (zh) | 一种数据存储方法及系统 | |
CN102640120B (zh) | 计算增设/减设的存储容量的管理系统 | |
CN102880556B (zh) | 一种实现Nand Flash磨损均衡的方法及其系统 | |
CN100399301C (zh) | 大容量存储设备和用于动态管理大容量存储设备的方法 | |
WO2019178845A1 (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
CN109753443A (zh) | 一种数据处理方法、装置及电子设备 | |
US9823875B2 (en) | Transparent hybrid data storage | |
CN103440207A (zh) | 缓存方法及装置 | |
CN105630413B (zh) | 一种磁盘数据的同步回写方法 | |
CN107291405A (zh) | 一种NorFlash的数据管理方法与装置 | |
CN110109886A (zh) | 分布式文件系统的文件存储方法及分布式文件系统 | |
CN108139904A (zh) | 写入命令过滤 | |
CN109918234A (zh) | 一种基于ssd的元数据恢复方法、装置、设备及介质 | |
CN103150245A (zh) | 确定数据实体的访问特性的方法和存储控制器 | |
CN106383666A (zh) | 一种数据存储方法及装置 | |
CN110069557A (zh) | 数据传输方法、装置、设备及存储介质 | |
WO2023155849A1 (zh) | 基于时间衰减的样本删除方法及其装置、存储介质 | |
CN110471748A (zh) | 服务器集群的任务处理方法、装置及设备 | |
CN106775464A (zh) | 一种数据分层存储系统及方法 | |
CN109189726A (zh) | 一种读写日志的处理方法及装置 | |
CN113868245A (zh) | 使用节点缓冲区搜索键值索引 | |
CN110187836A (zh) | 一种数据删除方法、装置、计算机及存储介质 |
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 |