CN103345430B - 分布式存储池的模糊平衡方法及系统 - Google Patents
分布式存储池的模糊平衡方法及系统 Download PDFInfo
- Publication number
- CN103345430B CN103345430B CN201310276585.5A CN201310276585A CN103345430B CN 103345430 B CN103345430 B CN 103345430B CN 201310276585 A CN201310276585 A CN 201310276585A CN 103345430 B CN103345430 B CN 103345430B
- Authority
- CN
- China
- Prior art keywords
- file
- pond
- moving
- proportion
- free space
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种分布式存储池的模糊平衡方法及系统,该方法包括:对各存储池中所有的文件按大小进行分类;计算各存储池的可用空间以及平均可用空间,将可用空间大于平均可用空间的存储池作为迁入池,将可用空间小于平均可用空间的存储池作为迁出池;计算各存储池中的每类文件的文件比重;设定一迁入比重以及一迁出比重;从各迁出池向各迁入池进行文件迁移,并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值;如一迁出池的一类文件的文件比重小于迁出比重,则迁出池停止迁出该类文件,如一迁入池的一类文件的文件比重大于该迁入比重,则迁入池停止迁入该类文件。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种分布式存储池的平衡方法及系统。
背景技术
在大规模的分布式存储系统中,所需数据存储单元(存储池)往往是根据具体需求的增长而逐步添加的,这种使用模式导致了新、旧存储池的可用空间不平衡。同时在大部分的使用场景中,写入存储系统的数据尺寸相差很大(从几个KB到几个GB不等)。
数据迁移(Data Migration)是大型数据环境中常用的一种提高数据服务效率的机制。数据迁移的主要目的是使数据的分布随着用户访问模式的变化而动态调节,使得各个数据存储单元的负载均衡,同时使每项数据获得更好的输入/输出性能。
现有的分布式存储存储系统中的平衡概念都是针对存储池的可用空间来实现的。现有的在各个存储池存储空间相等的情况下,文件迁移主要是进行各存储池之间可用存储空间的平衡,一般没有考虑文件数目不平衡这个因素,因此并没有实现真正意义上的存储资源平衡。而不同尺寸的文件的分布不均衡将导致不同存储池的文件数目相差很大,导致各个分布式系统的负载不平衡,引起单点失效,影响了数据的服务质量和系统的稳定性。
发明内容
本发明的目的在于提供一种分布式存储池的模糊平衡方法,用于解决现有的分布式存储系统,没有实现真正意义上的存储资源平衡,不同存储池的文件数目相差很大,导致各个分布式系统的负载不平衡,引起单点失效,影响了数据的服务质量和系统的稳定性的问题。
本发明一种分布式存储池的模糊平衡方法包括:对各存储池中所有的文件按大小进行分类;计算该各存储池的可用空间以及平均可用空间,将该可用空间大于该平均可用空间的该存储池作为迁入池,将该可用空间小于平均可用空间的该存储池作为迁出池,该迁出池仅供将文件迁出,该迁入池仅供将文件迁入;计算各该存储池中的每类文件的文件比重,该文件比重为一该存储池中的一类文件的数目与各该存储池的该类文件的总数目的比值;设定一迁入比重以及一迁出比重,其中迁入比重以及迁出比重均大于0且小于1;从各该迁出池向各该迁入池进行文件迁移,并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值;其中,在文件迁移过程,如一该迁出池的一类文件的文件比重小于该迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于该迁入比重,则该迁入池停止迁入该类文件。
本发明一种分布式存储池的模糊平衡系统,用于实现上述的分布式存储池的模糊平衡方法,该分布式存储池的模糊平衡系统包括:分类器,用于对各存储池中所有的文件按大小进行分类;平衡器,用于计算该各存储池的可用空间以及平均可用空间,将该可用空间大于该平均可用空间的该存储池作为迁入池,将该可用空间小于平均可用空间的该存储池作为迁出池,该迁出池仅供将文件迁出,该迁入池仅供将文件迁入;执行器:用于制定一从各该迁出池向各该迁入池进行文件迁移的迁移计划,并执行该迁移计划,该迁移计划包括:在文件迁移过程,如一该迁出池的一类文件的文件比重小于一迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于一迁入比重,则该迁入池停止迁入该类文件;并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值。
综上所述,本发明的分布式存储池的模糊平衡方法,已知迁移前的数据分布,根据每个存储池的可用空间大小和文件数目,注重存储池的存储空间和文件数目的平衡,在移动最少文件和不来回移动文件的前提下,在存储空间和文件数目两者上都获得较好的平衡,实现了数据在存储池之间的二维分布平衡。
附图说明
图1为本发明分布式存储池的模糊平衡方法的迁出池与迁入池的文件迁移过程示意图。
具体实施方式
本发明分布式存储池的模糊平衡方法的一实施例主要包括:
A.对各存储池中所有的文件按大小进行分类;
其分类方法的一实施例为,设定多个尺寸区间,多个尺寸区间的覆盖范围均互不重叠,将各存储池中所有的文件根据大小与文件尺寸空间一一对应,即位于同一文件尺寸空间范围内文件为同一种文件类型,而位于不同的文件尺寸空间范围内的文件为不同文件类型。
B.将存储池分为迁入池以及迁出池,包括:
根据平均可用空间和本存储池的当前可用空间,决定某个存储池是属于迁入池,还是迁出池,具体为:
计算各存储池的可用空间以及存储池的平均可用空间,并获取各存储池的可用空间,将可用空间大于或等于平均可用空间的存储池作为迁入池,将可用空间小于平均可用空间的存储池作为迁出池,迁出池仅供将文件迁出,该迁入池仅供将文件迁入;
平均可用空间Stfa为:
如公式1所示,Stfi表示每个存储池的可用空间,N为存储池总数。如果一个存储池的可用空间大于平均可用空间Stfa,则此存储池被定义为迁入池,即迁入池只接受迁入的文件,并不迁出文件。如果一个存储池的可用空间小于Stfa,则此存储池被定义为迁出池,即此迁出池只迁出的文件,不接受任何迁入文件。
定义迁出池以及迁入池的一个效果在于,由于文件迁移的代价很大,因此要避免文件在存储池之间的来回移动,如果一个存储池的可用空间偏低,则此存储池不再接受任何迁入的文件,以避免可能出现的文件在存储池之间的来回移动的问题。
C.计算文件比重、迁入比重以及迁出比重,包括:
计算各存储池中,每一存储池中的每类文件的文件比重,某一存储池中某类文件的文件比重为,该存储池中的该类文件的数目与所有存储池的所有此类文件数目之和的比值;设定一迁入比重以及一迁出比重,其中迁入比重以及迁出比重均大于0且小于1,迁入比重主要为了确定迁入池每类文件达到多大比重将被允许迁入,迁出比重主要为了确定迁出池每类文件达到多大比重将被允许迁出,以通过此方式达到各存储池的文件比例基本平衡;
D.进行存储池之间的文件迁移,包括:
从各迁出池向各迁入池进行文件迁移,并在完成文件迁移后,应使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值,可用空间偏差阈值应是一个预设值,即希望各存储池之间在进行文件迁移后,所允许的偏差范围,可用空间偏差阈值设置的越小,则各存储池之间的可用存储空间之间的差别越小,但如果可用空间偏差阈值设置的过小,则可能导致文件迁移完成后,各存储池的文件类型平衡的效果较差,即使得各存储池的文件比例不够平衡;
其中,在上述的文件迁移过程,如一该迁出池的一类文件的文件比重均小于该迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于该迁入比重,则该迁入池停止迁入该类文件。
下面介绍对各存储池中所有的文件按大小进行分类的一种具体实现方法以及原理。
各存储池总是与一个逻辑存储空间相对应,同一逻辑存储空间的数据的大小分布符合一定的规律。比如,有几十到几百KB大小的日志文件,有几十MB大小的事件仿真文件,也有几个GB大小的分析文件。文件的大小分布在几十KB到几个GB之间,而且比较有规律地聚集在某个大小左右,比如20MB,300MB,2GB等典型尺寸。这些典型的尺寸大体上代表了不同的文件类型。为了方便将文件分类,本实施例中可以设置一个划分文件类别的文件分类数组,每个文件按照其属性,被归入到不同的类别中。这里的文件分类数组就是不同的文件尺寸。例如,将文件分类数组定义为STAT[1MB 20MB 40MB 500MB 1GB 3GB],则实际上形成了尺寸区间0至1MB、1MB至20MB、20MB至40MB、40MB至500MB、1GB至3GB以及3GB以上,即实际上分成了6个尺寸区间,其中,上述6个尺寸区间端点的开闭可以灵活进行选择,为方便叙述各实施例仅以闭区间为例。并对应6种文件类型,那么文件分类后将被归入其中一个尺寸区间,假如文件F1的大小为12MB,则F1位于尺寸区间[1MB 20MB],文件F2为4GB,则F2位于尺寸区间[3GB以上]。
文件分类数组应该很好地反映文件的分布区间,如果某些尺寸区间太大,则位于各尺寸区间的文件数目会不均衡,影响对该尺寸区间内的文件总容量的估计。如果尺寸区间太小,则文件分类数组的数量太大,产生不必要的数组空间浪费。因此,文件分类数组没有必要是一个等差数组,其目的是为了将文件均衡地分布到不同的尺寸区间段中,而且使得某一尺寸区间段内的文件总容量估计值的偏差不会超过一个预设的阈值β。可以定义尺寸区间i为[Sti-1,Sti],并且设置尺寸区间内一文件大小的估计值Sest为:
因为尺寸区间[Sti-1,Sti]内的每个文件的实际大小Sfj是一个位于Sti-1和Sti之间的值,所以文件的实际大小与估计值的差值Sfj-Sest可表示为:
同时,该尺寸区间内的文件总容量的估计值Set为:
Set=Sest×Nf (4)
其中,Nf为尺寸区间[Sti-1,Sti]内的文件总数。
尺寸区间的实际文件总容量值Srt为:
则尺寸区间[Sti-1,Sti]内的文件总容量估计值Set与实际值Srt的偏差Svar与尺寸区间的元素Sti-1,Sti以及该区间内的文件总数Nf的关系如下:
因此,如果Sti-1与Sti之间的区间长度太长,则文件的实际大小Sfi与估计值Sest的相差较远,而Nf很大的话,这个估计值Set与实际值Srt的偏差Svar就会很大。比如,如果该尺寸区间的划分区域为[100MB 500MB],那么对该尺寸区间文件的平均尺寸则应为300MB,每个文件的大小跟尺寸区间的文件估计值有一定的偏差。而如果位于该区间的文件数目庞大的话,就可能会扩大估计值与实际值之间的偏差。
同时,阈值β是与预先定义的存储池的可用空间偏差阈值Tmax是相关的。两者之间的关系如下:
其中,M为当前的文件分类数组STAT的区间个数;
结合公式(6)和公式(7),得公式(8)如下:
根据公式(8),为满足上述公式(8)文件分类数组在文件分布较少的尺寸区间段的间隔应该比较大,而在文件分布比较密集的区间段的间隔应该比较小。因而实际中,本领域技术人员可以根据存储的各文件的尺寸分布情况,确定文件分类数组STAT的各文件尺寸空间,故在此不做赘述。
这里,再提供一种对上述文件按大小进行分类的实施例,本实施例通过对文件按大小进行分类的同时,能够使得在对文件数组进行完成文件迁移后,每一存储池的可用空间与平均可用空间之差的绝对值小于等于可用空间偏差阈值。本实施例结合上述实施例的内容进一步叙述。
为使得每个区间的文件的最大容量偏差不超过阈值β,可以根据存储池数组中的文件大小分布,扩充或者缩小预定义的文件分类数组STAT。
因此,可以假设尺寸区间[Sti-1,Sti]之间新增n个尺寸区间,即文件分类数组STAT需要在Sti-1与Sti两个元素之间插入n-1个元素。同时,假设新增尺寸区间1所拥有的文件数目为n1,新增尺寸区间2所拥有的文件数目为n2,新增尺寸区间n所拥有的文件数目为nn,那么每个尺寸区间的单个文件大小与估计值的最大偏差为(Sti-Sti-1)/2n。所以尺寸区间1的所有文件的最大容量偏差Svar1=(Sti-Sti-1)×n1/2n,尺寸区间2的Svar2=(Sti-Sti-1)×n2/2n,尺寸区间n的Svarn=(Sti-Sti-1)×nn/2n,故各个Svar应满足以下条件:
………
将以上各式进行求和,得
假设扩充前,文件分类数组STAT的尺寸区间数为M,则扩充后,文件分类数组STAT的尺寸区间数为
即n应满足
故应对向上取整,以获得尺寸区间[Sti-1,Sti]之间新增区间的个数。
通过上述的分析可知,通过控制在预设的文件分类数组STAT中的两相邻元素之间插入的元素个数n-1的数值,即可在使得在完成文件迁移后,应使得每一存储池的可用空间与平均可用空间之差的绝对值小于等于可用空间偏差阈值Tmax。相邻元素的尺寸可例如按(Sti-Sti-1)/(n+1)递增,但本公开不限于此,当然,上述实施例为一种较佳的实施方式,还可以例如可以使得相邻元素按照某一倍数递增,或按照某一固定尺寸递增等,以及所属领域技术人员也可通过其他的方式(包括在文件迁移过程中进行限制)使得在完成文件迁移后,每个存储池的可用空间小于等于可用空间偏差阈值Tmax,在此不做赘述。
下面进一步叙述计算文件比重、迁入比重以及迁出比重的一种实施方式。
分类数组确定后,每个存储池的文件按照其大小被归类于不同的区间段。为了确定一个迁出池中哪些文件是迁出的对象,定义了文件的比重fp(file percentage)。
如公式11所示,fpij表示某个存储池i的j类文件的比重,Nfij表示存储池i中j类文件的数目,Nfkj表示某存储池k中j类文件的数目,N为存储池的个数。假设存储池A中位于尺寸区间[20MB,30MB]之间的文件数目是10000,而该组存储池中位于区间[20MB,30MB]的文件总数为100000,则磁盘A的位于区间[20MB,30MB]中的文件比重为0.1。
同时,文件平均比重Fpa(file percentage of average)为:
(12)
迁入比重Fpin(file percentage of in files)为:
Fpin=Fpa+Rin
(13)
迁出比重Fpout(file percentage of out files)。
Fpout=Fpa+Rout
(14)
N为存储池总数,Rin为迁入的调整比重值,Rout为迁出的调整比重值。可见本实施例给定了迁入比重Fpin以及迁出比重Fpout的一种计算方式。Fpout的定义是为了确定迁出池中哪些文件需要被迁出。对于已经定义好的迁出池i,如果其j类文件的文件比重fpij大于Fpout,则存储池i中的j类文件需要被迁出,而且迁出的j类文件的比重应为两者的差值,如果其j类文件的文件比重fpij小于等于Fpout,则迁出池i的j类文件不需要被迁出。Fpin的定义是为了确定迁入池中可接受的迁入文件的比重,避免迁入池中某类文件由于接受过多的迁入导致新的不平衡。对于已经定义好的迁入池i,如果其j类文件的文件比重fpij小于Fpin,则接受j类文件的迁入,如果其j类文件的文件比重fpij大于等于Fpin,则不再接受该文件类型的迁入。
同时,为了迁入比重Fpin以及迁出比重Fpout根据实际需要进行变化,更好地调整平衡后的效果,定义了迁入的调整比重值Rin,以及迁出的调整比重值Rout,Rin与Rout可以为正值或者负值,通过选择不同Rin与Rout的值,调整迁入比重Fpin与迁出比重Fpout,。
在本发明中,根据模糊存储池平衡的设计原则,模糊平衡的结果受3个因素的影响:可用空间容量最大偏差值Tmax,Fpout,Fpin。Tmax值越小,文件分类数组STAT就定义的粒度就越小,存储池的可用空间分布就越均匀,但文件数目分布的平衡就会受到影响。Fpin与Fpout越靠近文件平均比重Fpa的话,文件数目分布会越均匀,但是存储池的可用空间分布的平衡就会受到影响。在使用过程中,可以根据实际需要调整这三个值的大小。因此,一种较佳的实施方式应为Rin与Rout的绝对值等于0.2。
下面简述本发明的一种文件迁移过程。图1为本发明分布式存储池的模糊平衡方法的迁出池与迁入池的文件迁移过程示意图,参考图1,在图1中,左侧为迁出池a1以及迁出池a2,不再接受任何迁入的文件。右侧为迁入池b1、b2以及b3,不迁出任何文件。
其中,迁出池a1以及a2和迁入池b1、b2以及b3的各文件类型按文件比重从大到小,在存储池中从上至下排列。假设,迁出池a1中,C类文件以及B类文件的文件比重大于迁出比重,迁出池a2中A类文件、D类文件以及C类文件的文件比重大于迁出比重。而在迁入池b1中B类文件、C类文件以及D类文件均小于迁入比重,在迁入池b2中,A类文件、B类文件、C类文件以及D类文件均小于迁入比重,在迁入池b3中,C类文件以及D类文件小于迁入比重。
参考图1,在文件迁移过程中,对于迁出池a1以及a2,应先从文件比重最高的一类文件开始迁移,对于迁出池a1,C类文件的文件比重最高,故先将C类文件迁出,而对于迁入池b1,由于其C类文件的文件比重小于迁入比重,则允许迁出池a1中的C类文件迁入迁入池b1中,在迁入池b1的C类文件的文件比重逐渐上升至超过迁入比重后,迁入池b1停止迁入C类文件,故迁出池a2再选择迁入池b2迁入c类文件,在迁入池b2的C类文件的文件比重逐渐上升至超过迁入比重后,迁入池b2停止迁入C类文件,迁出池a2再次选择迁入池b3迁入c类文件,最终在迁出池a1的C类文件的文件比重小于迁出比重后,迁出池停止迁出C类文件。迁出池a1的C类文件迁移完成后,再进行B类文件的迁移,迁出池a1的B类文件的文件比重小于迁出比重后,停止迁出B类文件。在迁出池a1的文件均小于迁出比重,则进行迁出池a2的文件迁移,对于迁出池a2,A类文件的比重最高,故先将A类文件迁出,由于迁入池b1的A类文件的文件比重大于迁入比重,故迁出池a2的A类文件迁入迁入池b2,同样,由于迁入池b1以及b2中由于迁入池a1的C类文件的迁入,使得迁入池b1以及b2的C类文件的文件比重超过迁入比重,因此,迁出池a2的C类文件需迁入迁入池b3,直至迁出池a1的C类文件的文件比重小于迁出比重或迁入池b3的C类文件的文件比重大于迁入比重。
以上即完成了一种简单的示例性文件迁移。当然,实际上上述迁移过程中,还需判断迁入池b1至b3的可迁入容量,应使得迁入池b1至b3的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值,由于此实现该为所属领域技术人员易于实现的,同时也可以参考上述的文件分类方法中在分类数组的各尺寸区间中插入n-1个元素来实现,故在此不多做赘述。
另外,在一次文件迁移中,往往需要复制的文件数目很庞大,如果将所有的复制任务一起提交,在存储系统崩溃时,将丢失文件的复制进度,而且会产生残留的不完整的文件。因此,可以采取一个批处理的方法,每一批从迁出池向迁入池复制一定数量的文件,不断测试文件的复制是否完成,完成后校验复制的文件是否是完整的,如果目的文件是完整的,再从迁出池中删除文件的原本。这样即使在文件的迁移过程中系统出现崩溃,可以定位到迁移的进度,也不会导致过多的残留文件的产生。
下面通过一组具体实验数据说明本发明的文件迁移过程前后的效果:
本次实验应用了上述的文件按大小进行分类的方法。因为文件分类数组STAT生成时考虑到了每类文件的容量最大偏差值,所以迁移完成后,各个存储池的可用空间的偏差值不会超过预设的可用空间偏差阈值Tmax。本实验采用11个存储池,在文件迁移前,其中10个存储池的可用空间都小于10GB,只有一个新加入的存储池的可用空间为11TB。在本实验中,因为更注重可用空间的平衡,所以设置了一个较小的存储池可用空间容量最大偏差阈值(Tmax=1000GB),和较低的迁出比重(Fpout=Fpa-0.15),较高迁入比重(Fpin=Fpa+0.15)。
表1中显示了文件迁移完成后,各个存储池的可用空间,以及每个存储池的可用空间在所有存储池的总可用空间中的百分比。由表1可见,经过平衡后,每个存储池的可用空间占全部可用空间的百分比差值不超过1(最高9%,最低8%),换算为容量则不超过200GB;同时,每个存储池的可用空间占本存储池的可用空间的百分比的差值不超过2(最高12%,最低10%)。因为在文件迁移过程中,设置了可用空间偏差阈值(Tmax=1000GB),在估计文件容量的过程中,严格控制了将迁移的文件的估计容量与实际容量的偏差值,因此最后的平衡结果中,各个存储池的可用空间与平均可用空间之间的差值应该低于Tmax(在本例中为1000GB)。经过文件迁移平衡后,各个存储池的可用空间获得了很好的平衡。
表1:
经过文件迁移平衡后,不仅存储池的可用空间得到很好的平衡,各个类型的文件的比重也得到了调整,使得文件数目的分布在各个存储池之间更平衡。
在迁移前,各个存储池内的文件数目分布具有随机性,围绕平均文件数波动较大,即文件数目偏离存储池的平均文件数较远,其原因与文件比重分布不平衡的原因一致。本发明通过调节不同类型的文件在各个存储池中的比重,使得文件数目在各个存储池的分布趋于均衡,因此经过平衡与迁移后,各个存储池文件的数目距离存储池的平均文件数更近了。
通过表1可见,实验结果完全符合预设的阈值。但是因为预设的文件的迁入与迁出的比重偏离文件平均比重较远,所以影响了各类文件在各个存储池中的分布比重的平衡化。同时,为了避免在存储池之间来回移动数据,模糊平衡策略明确定义了迁入池与迁出池的职责,对于某些迁入池中的比重较高的文件类型和某些迁出池中的比重较低的文件类型,其比重也不会受到平衡过程的影响。在本发明中,可用空间的平衡与文件类型的比重平衡总是此消彼长的,Tmax,Fpout与Fpin三个参数的调整能获得两者之间的平衡。
为实现上述的分布式存储池的模糊平衡方法,本发明进一步提供一种分布式存储池的模糊平衡系统,包括:一分类器,用于自动分析所有存储池中文件的大小,对各存储池中所有的文件按大小进行分类,即执行上述方法中的步骤A;一平衡器,用于将存储池分为迁入池以及迁出池,即用于步骤B以及步骤C,即计算该各存储池的可用空间以及平均可用空间,将该可用空间大于该平均可用空间的该存储池作为迁入池,将该可用空间小于平均可用空间的该存储池作为迁出池,该迁出池仅供将文件迁出,该迁入池仅供将文件迁入;一执行器:用于制定一从各该迁出池向各该迁入池进行文件迁移的迁移计划,并执行该迁移计划,即用于执行步骤D;迁移计划至少包括:在文件迁移过程,如一该迁出池的一类文件的文件比重小于一迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于一迁入比重,则该迁入池停止迁入该类文件;并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值。
其中,在一较佳的实施例,执行器还进一步执行一个批处理的方法,该方法包括:在文件迁移过程中,从该迁出池向该迁入池复制一定数量的文件,不断测试该一定数量的文件的复制是否完成,并在完成后校验复制的文件是否是完整的,如果目的文件是完整的,再从该迁出池中删除对应的该一定数量的文件的原本。
在本发明分布式存储池的模糊平衡系统的一较佳实施方式中,还进一步包括监控器,用于实时监控文件迁移的进度和速度,统计各个存储池的迁入、迁出文件数目,各个存储池的总容量的变化;迁移完成后,生成对比的图示,展示平衡前后,各存储池的可用空间、文件数目的对比。为了保证监控信息的稳定与持续,在执行器进行文件迁移过程中,该监控器还向用户提供一监控界面,以显示上述各个存储池的迁入、迁出文件数目以及各文件存储总量的变化,且还能够将文件迁移的日志输出到一个文件,监控器根据日志信息动态更新监控界面。
综上所述,本发明的模糊平衡策略遵主要循以下原则:
1、优先满足存储池之间的可用空间的平衡。
2、在剩余空间平衡的前提下,保证不同大小的文件在存储池之间均衡分布;
3、移动最少原则,在存储池之间移动文件(复制并删除)是个复杂,耗时的过程,要避免在存储池中来回移动文件。
本发明所谓模糊,是指不要求达到存储空间或者文件数目的一个精确的平衡关系,但是在牺牲精确度的基础上,在移动最少文件和不来回移动文件的前提下,在存储空间和文件数目两者上都获得较好的平衡。
虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离本发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在所附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为所附权利要求所涵盖。
Claims (10)
1.一种分布式存储池的模糊平衡方法,其特征在于,包括:
对各存储池中所有的文件按大小进行分类;
计算该各存储池的可用空间以及平均可用空间,将该可用空间大于该平均可用空间的该存储池作为迁入池,将该可用空间小于平均可用空间的该存储池作为迁出池,该迁出池仅供将文件迁出,该迁入池仅供将文件迁入;
计算各该存储池中的每类文件的文件比重,该文件比重为一该存储池中的一类文件的数目与各该存储池的该类文件的总数目的比值;
设定一迁入比重以及一迁出比重,其中迁入比重以及迁出比重均大于0且小于1;
从各该迁出池向各该迁入池进行文件迁移,并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值;
其中,在文件迁移过程,如一该迁出池的一类文件的文件比重小于该迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于该迁入比重,则该迁入池停止迁入该类文件。
2.如权利要求1所述的分布式存储池的模糊平衡方法,其特征在于,对各存储池中所有的文件按大小进行分类包括:
设定多个尺寸区间,该多个尺寸区间范围互不重叠,将各存储池中所有的文件根据大小与该文件尺寸空间一一对应,对应于同一该文件尺寸空间范围内的该文件为同一种文件类型,对应于不同的该文件尺寸空间范围内的该文件为不同文件类型。
3.如权利要求2所述的分布式存储池的模糊平衡方法,其特征在于,对各存储池中所有的文件按大小进行分类进一步包括:设定一文件分类数组,在该文件分类数组从小到大插入多个尺寸数字,相邻的两尺寸数字之间作为一该尺寸区间,且小于最小的尺寸数字以及大于最大的尺寸数字的部分各作为一该尺寸区间。
4.如权利要求2所述的分布式存储池的模糊平衡方法,其特征在于,对各存储池中所有的文件按大小进行分类还包括:
设定该可用空间偏差阈值Tmax;
该多个尺寸区间于区间节点连续,设定任一尺寸区间为Sti-1至Sti,尺寸区间内一文件大小的估计值为Sest,定义该尺寸区间内文件的总大小的估计值Set,则Set=Sest×Nf,该尺寸区间的文件的总大小的实际值为Srt,则其中,Nf为该尺寸区间内的文件总数,Sfj为该尺寸区间内其中一该文件的大小;
查看每一该尺寸区间的文件的总大小的估计值Set与文件的总大小的实际值Srt之差Svar,如一该尺寸区间的Svar大于则将该尺寸区间再增加n个区间,对向上取整得到n的值,其中,M为插入n个区间前该存储池的该尺寸区间的个数。
5.如权利要求1所述的分布式存储池的模糊平衡方法,其特征在于,
设定一文件平均比重为其中N为存储池的个数;
设定一迁出调整比重Rout以及一迁入调整比重Rin,则
Fpin=Fpa+Rin;
Fpout=Fpa+Rout;
其中,Fpin为迁入比重,Fpout为迁出比重。
6.如权利要求5所述的分布式存储池的模糊平衡方法,其特征在于,迁出调整比重值的绝对值小于等于0.2,以及迁出调整比重值的绝对值小于等于0.2。
7.如权利要求1所述的分布式存储池的模糊平衡方法,其特征在于,该从各该迁出池向各该迁入池进行文件迁移进一步包括:
从该迁出池向该迁入池复制一定数量的文件,不断测试该一定数量的文件的复制是否完成,并在完成后校验复制的文件是否是完整的,如果目的文件是完整的,再从该迁出池中删除对应的该一定数量的文件的原本。
8.如权利要求1所述的分布式存储池的模糊平衡方法,其特征在于,该从各该迁出池向各该迁入池进行文件迁移进一步包括:
对于任一该迁出池,按照文件比重的从大到小的顺序,先进行文件比重较大的文件类型的迁移,后进行文件比重较小的文件类型的迁移。
9.一种分布式存储池的模糊平衡系统,其特征在于,该分布式存储池的模糊平衡系统包括:
分类器,用于对各存储池中所有的文件按大小进行分类;
平衡器,用于计算该各存储池的可用空间以及平均可用空间,将该可用空间大于该平均可用空间的该存储池作为迁入池,将该可用空间小于平均可用空间的该存储池作为迁出池,该迁出池仅供将文件迁出,该迁入池仅供将文件迁入;
执行器:用于制定一从各该迁出池向各该迁入池进行文件迁移的迁移计划,并执行该迁移计划,该迁移计划包括:
在文件迁移过程,如一该迁出池的一类文件的文件比重小于一迁出比重,则该迁出池停止迁出该类文件,如一该迁入池的一类文件的文件比重大于一迁入比重,则该迁入池停止迁入该类文件;并在完成文件迁移后,使得每一存储池的可用空间与该平均可用空间之差的绝对值小于等于一可用空间偏差阈值。
10.如权利要求9所述的模糊平衡系统,其特征在于,还包括一监控器,用于在文件迁移过程中,用于实时监控文件迁移的进度和速度,统计各个存储池的迁入、迁出文件数目以及各文件存储总量的变化,并提供一监控界面,以显示上述各个存储池的迁入、迁出文件数目以及各文件存储总量的变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310276585.5A CN103345430B (zh) | 2013-07-03 | 2013-07-03 | 分布式存储池的模糊平衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310276585.5A CN103345430B (zh) | 2013-07-03 | 2013-07-03 | 分布式存储池的模糊平衡方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103345430A CN103345430A (zh) | 2013-10-09 |
CN103345430B true CN103345430B (zh) | 2016-09-28 |
Family
ID=49280228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310276585.5A Expired - Fee Related CN103345430B (zh) | 2013-07-03 | 2013-07-03 | 分布式存储池的模糊平衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345430B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739911B (zh) | 2014-12-12 | 2018-11-06 | 华为技术有限公司 | 存储数据的分配方法、装置以及存储系统 |
CN108073448B (zh) * | 2016-11-15 | 2020-11-20 | 北京金山云网络技术有限公司 | 宿主机资源分配方法、装置、宿主机调度方法及装置 |
CN106506665B (zh) * | 2016-11-18 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种分布式视频监控系统的负载均衡方法及平台 |
CN106973021A (zh) * | 2017-02-27 | 2017-07-21 | 华为技术有限公司 | 网络系统中负载均衡的方法和节点 |
CN107317864B (zh) * | 2017-06-29 | 2020-08-21 | 苏州浪潮智能科技有限公司 | 一种存储设备的数据均衡方法及装置 |
CN109960687A (zh) * | 2019-03-28 | 2019-07-02 | 北京百分点信息科技有限公司 | 一种文件处理系统及方法 |
CN110401582B (zh) * | 2019-08-23 | 2020-11-10 | 苏州浪潮智能科技有限公司 | 云计算系统存储健康度窘迫的检测方法、装置及存储介质 |
US11163476B2 (en) | 2019-10-04 | 2021-11-02 | International Business Machines Corporation | Dynamic rebalancing of free space between storage pools |
CN111680004B (zh) * | 2020-06-08 | 2023-09-22 | 中国银行股份有限公司 | 核对非结构化影像文件迁移准确性的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625620B1 (en) * | 2000-04-21 | 2003-09-23 | International Business Machines Corporation | Method and apparatus for the management of file attachments in a groupware oriented system |
CN102055650A (zh) * | 2009-10-29 | 2011-05-11 | 华为技术有限公司 | 负载均衡方法及系统和管理服务器 |
-
2013
- 2013-07-03 CN CN201310276585.5A patent/CN103345430B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625620B1 (en) * | 2000-04-21 | 2003-09-23 | International Business Machines Corporation | Method and apparatus for the management of file attachments in a groupware oriented system |
CN102055650A (zh) * | 2009-10-29 | 2011-05-11 | 华为技术有限公司 | 负载均衡方法及系统和管理服务器 |
Non-Patent Citations (1)
Title |
---|
分级存储系统中一种数据自动迁移方法;张广艳等;《计算机研究与发展》;20121231;第1804-1810页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103345430A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103345430B (zh) | 分布式存储池的模糊平衡方法及系统 | |
Hauglid et al. | DYFRAM: dynamic fragmentation and replica management in distributed database systems | |
CN105447075B (zh) | 用于动态划分的计算机实现方法 | |
CN107710193B (zh) | 分布式计算环境的数据放置控制 | |
Mahgoub et al. | {OPTIMUSCLOUD}: Heterogeneous configuration optimization for distributed databases in the cloud | |
US9424274B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
CN101464922B (zh) | 基于集群系统的计算机体系结构方案并行模拟优选方法 | |
CN111880747B (zh) | 一种基于分级映射的Ceph存储系统自动均衡存储方法 | |
CN104462389B (zh) | 基于分级存储的分布式文件系统实现方法 | |
CN106055277A (zh) | 一种去中心化的分布式异构存储系统数据分布方法 | |
CN104869140B (zh) | 多集群系统和控制多集群系统的数据存储的方法 | |
CN107229693A (zh) | 基于深度学习的大数据系统配置参数调优的方法和系统 | |
US20140059559A1 (en) | Intellegent tiering | |
CN104424256B (zh) | 布隆过滤器生成方法和装置 | |
CN101539950A (zh) | 数据存取方法和装置 | |
CN104765794B (zh) | 一种数据库分区方法及装置 | |
CN104361018A (zh) | 电子档案信息整编方法及装置 | |
CN103455531A (zh) | 一种支持高维数据实时有偏查询的并行索引方法 | |
CN108363643A (zh) | 一种基于文件访问热度的hdfs副本管理方法 | |
CN101419600A (zh) | 基于面向对象文件系统的数据副本映射方法及装置 | |
CN104702691A (zh) | 分布式负载均衡方法和装置 | |
CN109510852A (zh) | 灰度发布的方法及装置 | |
Lwin et al. | Non-redundant dynamic fragment allocation with horizontal partition in Distributed Database System | |
US10313457B2 (en) | Collaborative filtering in directed graph | |
CN107193940A (zh) | 大数据优化分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 Termination date: 20190703 |