CN114047883A - 一种基于分布式存储系统的数据均衡方法及装置 - Google Patents
一种基于分布式存储系统的数据均衡方法及装置 Download PDFInfo
- Publication number
- CN114047883A CN114047883A CN202111399779.5A CN202111399779A CN114047883A CN 114047883 A CN114047883 A CN 114047883A CN 202111399779 A CN202111399779 A CN 202111399779A CN 114047883 A CN114047883 A CN 114047883A
- Authority
- CN
- China
- Prior art keywords
- disk
- weight
- data
- capacity
- data blocks
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005012 migration Effects 0.000 claims abstract description 54
- 238000013508 migration Methods 0.000 claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Abstract
本申请提供一种基于分布式存储系统的数据均衡方法及装置,该方法包括:获取磁盘均衡边界值、存储主机的主机参数、存储主机中磁盘的磁盘参数、磁盘中数据块的数量、数据块的置备容量和数据块的使用容量;根据预设的磁盘期望权重计算公式、主机参数和磁盘参数进行计算,得到磁盘期望权重比例;根据预设的磁盘实际权重计算公式、数据块的数量、数据块的置备容量和数据块的使用容量进行计算,得到磁盘实际权重比例;根据磁盘均衡边界值、磁盘期望权重比例和磁盘实际权重比例进行计算,得到迁移方案;根据迁移方案对磁盘中的数据块进行数据迁移。可见,该方法能够针对于不同的设备参数进行适应性存储,从而提高存储节点的利用率。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种基于分布式存储系统的数据均衡方法及装置。
背景技术
现有的分布式存储系统中,存储主机的磁盘负载过高时会影响IO读写速度。为了避免这样的问题发生,往往会采用增加存储节点来均衡原有磁盘负载的数据量的方法,从而降低原有存储节点的压力。其中,现有的增加存储节点的方式是新加一些新的存储节点,以使所有存储节点均分原有磁盘负载的数据量。然而,在实践中发现,分布式存储系统中往往会存在较多种类的存储节点,而这些存储节点的设备参数并不完全一致,采用现有的这种方法只能提高存储容量,并不能提高存储的质量。也就是说,现有的方法中没有办法针对于不同的设备参数进行适应性存储,从而导致现有的方法不得不使用更多的存储节点,进而导致了存储节点的利用率下降。
发明内容
本申请实施例的目的在于提供一种基于分布式存储系统的数据均衡方法及装置,能够针对于不同的设备参数进行适应性存储,从而提高存储节点的利用率。
本申请实施例第一方面提供了一种基于分布式存储系统的数据均衡方法,包括:
获取磁盘均衡边界值、存储主机的主机参数、所述存储主机中磁盘的磁盘参数、所述磁盘中数据块的数量、所述数据块的置备容量和所述数据块的使用容量;
根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例;
根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例;
根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案;
根据所述迁移方案对所述磁盘中的数据块进行数据迁移。
在上述实现过程中,首先要了解分布式存储系统对应一个保护域,一个保护域中包括多个存储主机,每个存储主机又包括多个磁盘,每个磁盘有包括多个数据块。在此基础上,该方法将分布式存储系统中的所有硬件信息和存储信息提出取来,然后根据该些信息进行计算,得到理论存放比例和当前存放比例,然后根据该两个存放比例进行计算规划得到相应的迁移方案,以使该方法能够根据该迁移方案进行迁移。可见,实施这种实施方式,能够在获取分布式存储系统的相关信息的过程中获取所有硬件信息,而该些硬件信息大多互不相同,这就使得该方法能够适用于该种系统中进行数据均衡,尤其是当加入新的存储主机或磁盘时,该方法可以无视存储主机和磁盘的硬件参数进行数据均衡,从而提高数据均衡的适应性,提高存储节点的利用率。
进一步地,所述分布式存储系统包括多个存储主机,每个存储主机的主机参数包括CPU主频和内存容量;每个存储主机包括多个磁盘,每个磁盘的磁盘参数包括磁盘总容量;每个磁盘包括多个数据块。
进一步地,所述磁盘期望权重计算公式为
expected_weightn=0.6*capacityn/Capacity+0.2*clockspeedn/(ClockSpeed*diskcountn)+0.2*memorysizen/(MemorySize*diskcountn);
其中,expected_weightn表示第n个磁盘期望权重;
capacityn表示第n个磁盘的磁盘总容量;
Capacity表示所有磁盘总容量的和;
clockspeedn表示第n个存储主机的CPU主频;
ClockSpeed表示所有CPU主频的和;
diskcountn表示第n个磁盘所在的存储主机中的磁盘总个数;
memorysizen表示第n个存储主机的内存容量;
MemorySize表示所有内存容量的和。
进一步地,所述根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例的步骤包括:
根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到每个磁盘的期望权重;
将所述每个磁盘的期望权重构建为磁盘期望权重比例。
进一步地,所述磁盘实际权重计算公式为
weightn=0.5*usedn/Used+0.5*allocaten/Allocate;
其中,weightn表示第n个磁盘的磁盘实际权重;
usedn表示第n个磁盘中所有数据块的使用容量的和;
Used表示所有磁盘中所有数据块的使用容量的和;
allocaten表示第n个磁盘中所有数据块的置备容量的和;
Allocate表示所有磁盘中所有数据块的置备容量的和。
进一步地,所述根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例的步骤包括:
根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到每个磁盘的实际权重;
将所述每个磁盘的实际权重构建为磁盘实际权重比例。
进一步地,所述根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案的步骤包括:
在所述磁盘实际权重比例中,提取大于或等于所述磁盘均衡边界值的磁盘实际权重;并将所述磁盘实际权重对应的磁盘设定为数据迁出磁盘;
将磁盘实际权重小于磁盘期望权重的磁盘设定为数据迁入磁盘;
当所述数据迁出磁盘和所述数据迁入磁盘的数量均不为零时,模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案;
当所述数据迁出磁盘的磁盘实际权重不小于所述数据迁出磁盘的磁盘期望权重或所述数据迁入磁盘的磁盘实际权重不大于所述数据迁入磁盘的磁盘期望权重时,执行所述模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案的步骤;
当所述数据迁出磁盘的磁盘实际权重小于所述数据迁出磁盘的磁盘期望权重或所述数据迁入磁盘的磁盘实际权重大于所述数据迁入磁盘的磁盘期望权重时,提取最后一次计算并更新得到的迁移方案。
本申请实施例第二方面提供了一种基于分布式存储系统的数据均衡装置,所述基于分布式存储系统的数据均衡装置包括:。
在上述实现过程中,获取单元,用于获取磁盘均衡边界值、存储主机的主机参数、所述存储主机中磁盘的磁盘参数、所述磁盘中数据块的数量、所述数据块的置备容量和所述数据块的使用容量;
第一计算单元,用于根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例;
第二计算单元,用于根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例;
第三计算单元,用于根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案;
数据迁移单元,用于根据所述迁移方案对所述磁盘中的数据块进行数据迁移。
可见,实施这种实施方式,能够在获取分布式存储系统的相关信息的过程中获取所有硬件信息,而该些硬件信息大多互不相同,这就使得该方法能够适用于该种系统中进行数据均衡,尤其是当加入新的存储主机或磁盘时,该方法可以无视存储主机和磁盘的硬件参数进行数据均衡,从而提高数据均衡的适应性,提高存储节点的利用率。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的基于分布式存储系统的数据均衡方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的基于分布式存储系统的数据均衡方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于分布式存储系统的数据均衡方法的流程示意图;
图2为本申请实施例提供的一种基于分布式存储系统的数据均衡装置的结构示意图;
图3为本申请实施例提供的一种数据均衡举例示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种基于分布式存储系统的数据均衡方法的流程示意图。其中,该基于分布式存储系统的数据均衡方法包括:
S101、获取磁盘均衡边界值、存储主机的主机参数、存储主机中磁盘的磁盘参数、磁盘中数据块的数量、数据块的置备容量和数据块的使用容量。
本实施例中,分布式存储系统包括多个存储主机,每个存储主机的主机参数包括CPU主频和内存容量;每个存储主机包括多个磁盘,每个磁盘的磁盘参数包括磁盘总容量;每个磁盘包括多个数据块。
在本实施例中,该方法能够从各个存储节点的监控模块获取存储主机的的CPU主频、内存容量,以及各个磁盘的容量、实际负载容量、置备容量、磁盘总容量、总负载容量、总置备容量。
其中,各个磁盘的容量:capacity1、capacity2、capacity3、...
各个磁盘实际负载容量:used1、used2、used3、...
磁盘置备容量:allocate1、allocate2、allocate3、...
磁盘总容量:Capacity
磁盘总负载容量:Used
磁盘总置备容量:Allocate
各个磁盘所在存储主机的CPU主频:clockspeed1、clockspeed2、clockspeed3、...
各个磁盘所在存储主机的内存容量:memorysize1、memorysize2、memorysize3、...
各个磁盘所在存储主机的磁盘数量:diskcount1、diskcount2、diskcount3、...
各个磁盘实际权重:weight1、weight2、weight3、...
各个磁盘期望权重:expected_weight1、expected_weight2、expected_weight3、...
具体公式如下:
磁盘总容量计算公式为:Capacity=capacity1+capacity2+capacity3+...
磁盘总负载容量计算公式为:Used=used1+used2+used3+...
磁盘总置备容量计算公式为:Allocate=allocate1+allocate2+allocate3+...
计算保护域下存储主机的总CPU主频的计算公式为:
ClockSpeed=clockspeed1+clockspeed2+clockspeed3+...
计算保护域下存储主机的总内存容量的计算公式为:
MemorySize=memorysize1+memorysize2+memorysize3+...
S102、根据预设的磁盘期望权重计算公式、主机参数和磁盘参数进行计算,得到每个磁盘的期望权重。
本实施例中,磁盘期望权重计算公式为
expected_weightn=0.6*capacityn/Capacity+0.2*clockspeedn/(ClockSpeed*diskcountn)+0.2*memorysizen/(MemorySize*diskcountn);
其中,expected_weightn表示第n个磁盘期望权重;
capacityn表示第n个磁盘的磁盘总容量;
Capacity表示所有磁盘总容量的和;
clockspeedn表示第n个存储主机的CPU主频;
ClockSpeed表示所有CPU主频的和;
diskcountn表示第n个磁盘所在的存储主机中的磁盘总个数;
memorysizen表示第n个存储主机的内存容量;
MemorySize表示所有内存容量的和。
在本实施例中,各磁盘期望权重计算公式具体可以为:
expected_weight1=0.6*capacity1/Capacity+0.2*clockspeed1/(ClockSpeed*diskcount1)+0.2*memorysize1/(MemorySize*diskcount1),
expected_weight2=0.6*capacity2/Capacity+0.2*clockspeed2/(ClockSpeed*diskcount2)+0.2*memorysize2/(MemorySize*diskcount2),
expected_weight3=0.6*capacity3/Capacity+0.2*clockspeed3/(ClockSpeed*diskcount3)+0.2*memorysize3/(MemorySize*diskcount3),
...
注:硬件配置在一定程度上影响着磁盘IO写入瓶颈,为了提高资源的利用率,这里计算期望权重时考虑三个因素:磁盘的容量、磁盘所在的存储主机的CPU主频、磁盘所在的存储主机的内存容量,权重分别为0.6,0.2,0.2。
S103、将每个磁盘的期望权重构建为磁盘期望权重比例。
S104、根据预设的磁盘实际权重计算公式、数据块的数量、数据块的置备容量和数据块的使用容量进行计算,得到每个磁盘的实际权重。
本实施例中,磁盘实际权重计算公式为
weightn=0.5*usedn/Used+0.5*allocaten/Allocate;
其中,weightn表示第n个磁盘的磁盘实际权重;
usedn表示第n个磁盘中所有数据块的使用容量的和;
Used表示所有磁盘中所有数据块的使用容量的和;
allocaten表示第n个磁盘中所有数据块的置备容量的和;
Allocate表示所有磁盘中所有数据块的置备容量的和。
在本实施例中,各磁盘实际权重计算公式为:
weight1=0.5*used1/Used+0.5*allocate1/Allocate,
weight2=0.5*used2/Used+0.5*allocate2/Allocate,
weight3=0.5*used3/Used+0.5*allocate3/Allocate,
...
注:置备容量是创建数据块时给数据块分配的容量大小,数据块实际占用容量<=置备容量,考虑到数据块随时会写入数据,使磁盘的已使用容量增加,这里在计算实际权重时把置备容量考虑进去。所以这里计算权值时考虑两个因素:当前磁盘的已使用容量、磁盘置备容量(磁盘上所有数据块的置备容量之和),权值分别为0.5、0.5。
S105、将每个磁盘的实际权重构建为磁盘实际权重比例。
S106、在磁盘实际权重比例中,提取大于或等于磁盘均衡边界值的磁盘实际权重;并将磁盘实际权重对应的磁盘设定为数据迁出磁盘。
S107、将磁盘实际权重小于磁盘期望权重的磁盘设定为数据迁入磁盘。
本实施例中,数据迁出磁盘用于表示待迁移数据目前存储的磁盘;数据迁入磁盘用于表示待迁移数据迁移的目标磁盘。举例来说,待迁移数据的流向是“数据迁出磁盘→数据迁入磁盘”。
S108、当数据迁出磁盘和数据迁入磁盘的数量均不为零时,模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案。
本实施例中,计算各磁盘的实际权重,再分别计算出各个磁盘数据均衡后的期望权重,实际权重小于期望权重的被认为是待迁入磁盘。计算各个磁盘的实际权重,实际权重大于或等于磁盘均衡边界值的磁盘则确认为待迁出磁盘。如果待迁出磁盘数量和待迁入磁盘数量均大于0,继续进行后面的步骤;否则认为当前不满足均衡条件,不进行数据均衡。
本实施例中,遍历每个待迁出磁盘,确认出待迁出数据块是哪些。从存储模块获取每个数据块占用空间大小,模拟数据块依次迁出完成后磁盘的磁盘权重结果M1、M2、M3、...,当模拟权重刚好小于或等于期望权重时,则确认这部分数据块为该磁盘的待迁出数据块,通过这种方式,计算出各个磁盘的待迁出数据块。
数据块依次迁出完成后磁盘的磁盘权重的计算公式如下:
M1=0.5*(used1-used)/Used+0.5*(allocate1-allocate)/Allocate,
M2=0.5*(used2-used)/Used+0.5*(allocate2-allocate)/Allocate,
M3=0.5*(used3-used)/Used+0.5*(allocate3-allocate)/Allocate,
...
注:used为部分数据块的总实际占用容量,allocate为部分数据块的总置备容量。
used和allocate可以这样计算:比如待迁出数据块为:C1、C2、C3、C4,按从前至后的顺序模拟迁出,首先迁出C1,此时used为C1的占用空间大小,allocate为C1的置备容量,计算M1。如果M1仍大于期望权重,在迁出C1的基础上再迁出C2,此时used为C1、C2的总占用空间大小,allocate为C1、C2的总置备容量大小。这里要减去used和allocate的意义是:数据块从磁盘迁出后,就不再占用该磁盘的空间,所以先扣除部分数据块的实际占用容量和置备容量,模拟这部分组件迁出后磁盘的负载情况。
在本实施例中,该方法可以计算各个待迁入磁盘实际权重与期望权重的差值,把差值从大到小排序,对应的磁盘分别为D1、D2、D3...,该排序即待迁入磁盘的优先分配顺序。先选择差值最大的磁盘D1,模拟数据块依次迁入该磁盘后的磁盘权重N,计算模拟权重与实际权重的差值,当该差值刚好小于或等于差值排序第二的磁盘D2时,D2也开始模拟迁入。轮询给D1、D2分配数据块,当D1和D2实际权重与模拟权重的差值刚好小于或等于排序第三的差值时,D3也开始迁入。轮询给D1、D2、D3分配数据块...按照这种方式,当模拟权重结果小于或等于期望权重,但如果在此基础上再迁入数据块会大于期望权重时,则确认这部分数据块迁入该磁盘。如果在达到该条件之前数据块已经全部分配完成,则模拟分配提前结束。将匹配结果记录下来。
部分数据块依次迁入完成后的磁盘权重的计算公式为:
N=0.5*(used1+used)/Used+0.5*(allocate1+allocate)/Allocate
注:used为部分数据块的总实际占用容量,allocate为部分数据块的总置备容量。
S109、当数据迁出磁盘的磁盘实际权重不小于数据迁出磁盘的磁盘期望权重或数据迁入磁盘的磁盘实际权重不大于数据迁入磁盘的磁盘期望权重时,执行步骤S108。
S110、当数据迁出磁盘的磁盘实际权重小于数据迁出磁盘的磁盘期望权重或数据迁入磁盘的磁盘实际权重大于数据迁入磁盘的磁盘期望权重时,提取最后一次计算并更新得到的迁移方案。
S111、根据迁移方案对磁盘中的数据块进行数据迁移。
请参阅图3,图3公开了一种数据均衡举例示意图。
举例来说,图3上半部分是数据均衡前的状态,H1为原有的存储主机,H2为新添加的存储主机,存储主机H1的主频为2.0GHz,内存容量为8G,磁盘D1、D2容量均为150G,共承载32个数据块,其中每个数据块大小为10G,每个数据块实际占用大小均为5G。存储主机H2的主频为4.0GHz,内存容量为16G,磁盘D1、D2容量均为300G,共承载0个数据块。假设磁盘均衡边界值配置为0.6。
基于上述的分布式存储系统的各项参数,该方法可以预先根据本发明详细描述中公式计算得出D1、D2、D3、D4磁盘期望权重分别为0.167,0.167,0.333,0.333,实际磁盘权重分别为0.625,0.375,0,0,则确定待迁出磁盘为D1,待迁入磁盘为D3、D4。
此时,模拟磁盘D1迁出数据,按照C20、C19、C18、...从后往前的迁出顺序,根据公式计算迁出数据块C20后D1磁盘的权重值,该值与磁盘D1的期望权重进行比较,比较结果为权重值仍大于磁盘D1的期望权重,则在迁出C20的基础上,再迁出数据块C19,计算权重值,与磁盘D1的期望权重进行比较,如果仍然大于期望权重则在此基础上再迁出其他组件,直到权重值刚好小于或等于期望权重,最终模拟结果为迁出数据块C5、C6、...、C20,确认这些组件为待迁出组件。
D3和D4实际权重与期望权重的差值分别为0.333、0.333,两块磁盘的差值相等,采用轮询的方式依次给D3和D4模拟分配数据块:C5分配给D3,C6分配给D4,分别计算D3和D4的模拟权重结果,结果均小于期望权重且差值相等,继续轮询分配,将C7分配给D3,C8分配给D4,D3和D4的模拟权重结果仍小于期望权重...模拟将C5、C7、C9、C11、C13、C15、C17、C19分配给D3,将C6、C8、C10、C12、C14、C16、C18、C20分配给D4后,D3和D4的模拟权重结果分别为0.25,0.25,此时模拟权重结果仍小于期望权重,但已经没有需要分配的数据块了,因此确认该方案为最终的迁移方案。
可见,最终均衡结果如图3下半部分所示。由最终结果可以看出,配置磁盘均衡边界值可以达到避免不必要迁移的目的,均衡前磁盘D2容量权重值为虽然比D3和D4大,但总体来看是较小的,所以磁盘D2没有参与均衡。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的基于分布式存储系统的数据均衡方法,能够提高服务器的资源的利用率。依据存储主机的CPU主频、内存容量、磁盘容量三个指标在保护域下的相对值来确定磁盘的期望负载权重,从而调节磁盘的负载情况,充分利用配置相对较高的存储主机,保护配置相对较低的存储主机,提高系统整体的资源利用率。同时,该方法容易执行,因此也能够在一定程度上提高系统的均衡效率。
实施例2
请参看图2,图2为本申请实施例提供的一种基于分布式存储系统的数据均衡装置的结构示意图。如图2所示,该基于分布式存储系统的数据均衡装置包括:
获取单元210,用于获取磁盘均衡边界值、存储主机的主机参数、存储主机中磁盘的磁盘参数、磁盘中数据块的数量、数据块的置备容量和数据块的使用容量;
第一计算单元220,用于根据预设的磁盘期望权重计算公式、主机参数和磁盘参数进行计算,得到磁盘期望权重比例;
第二计算单元230,用于根据预设的磁盘实际权重计算公式、数据块的数量、数据块的置备容量和数据块的使用容量进行计算,得到磁盘实际权重比例;
第三计算单元240,用于根据磁盘均衡边界值、磁盘期望权重比例和磁盘实际权重比例进行计算,得到迁移方案;
数据迁移单元250,用于根据迁移方案对磁盘中的数据块进行数据迁移。
作为一种可选的实施方式,分布式存储系统包括多个存储主机,每个存储主机的主机参数包括CPU主频和内存容量;每个存储主机包括多个磁盘,每个磁盘的磁盘参数包括磁盘总容量;每个磁盘包括多个数据块。
作为一种可选的实施方式,磁盘期望权重计算公式为
expected_weightn=0.6*capacityn/Capacity+0.2*clockspeedn/(ClockSpeed*diskcountn)+0.2*memorysizen/(MemorySize*diskcountn);
其中,expected_weightn表示第n个磁盘期望权重;
capacityn表示第n个磁盘的磁盘总容量;
Capacity表示所有磁盘总容量的和;
clockspeedn表示第n个存储主机的CPU主频;
ClockSpeed表示所有CPU主频的和;
diskcountn表示第n个磁盘所在的存储主机中的磁盘总个数;
memorysizen表示第n个存储主机的内存容量;
MemorySize表示所有内存容量的和。
作为一种可选的实施方式,第一计算单元220包括:
第一计算子单元221,用于根据预设的磁盘期望权重计算公式、主机参数和磁盘参数进行计算,得到每个磁盘的期望权重;
第一构建子单元222,用于将每个磁盘的期望权重构建为磁盘期望权重比例。
作为一种可选的实施方式,磁盘实际权重计算公式为
weightn=0.5*usedn/Used+0.5*allocaten/Allocate;
其中,weightn表示第n个磁盘的磁盘实际权重;
usedn表示第n个磁盘中所有数据块的使用容量的和;
Used表示所有磁盘中所有数据块的使用容量的和;
allocaten表示第n个磁盘中所有数据块的置备容量的和;
Allocate表示所有磁盘中所有数据块的置备容量的和。
作为一种可选的实施方式,第二计算单元230包括:
第二计算子单元231,用于根据预设的磁盘实际权重计算公式、数据块的数量、数据块的置备容量和数据块的使用容量进行计算,得到每个磁盘的实际权重;
第二构建子单元232,用于将每个磁盘的实际权重构建为磁盘实际权重比例。
作为一种可选的实施方式,第三计算单元240包括:
提取子单元241,用于在磁盘实际权重比例中,提取大于或等于磁盘均衡边界值的磁盘实际权重;并将磁盘实际权重对应的磁盘设定为数据迁出磁盘;
设定子单元242,用于将磁盘实际权重小于磁盘期望权重的磁盘设定为数据迁入磁盘;
更新子单元243,用于当数据迁出磁盘和数据迁入磁盘的数量均不为零时,模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案;
更新子单元243,还用于当数据迁出磁盘的磁盘实际权重不小于数据迁出磁盘的磁盘期望权重或数据迁入磁盘的磁盘实际权重不大于数据迁入磁盘的磁盘期望权重时,执行模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案的步骤;
提取子单元241,还用于当数据迁出磁盘的磁盘实际权重小于数据迁出磁盘的磁盘期望权重或数据迁入磁盘的磁盘实际权重大于数据迁入磁盘的磁盘期望权重时,提取最后一次计算并更新得到的迁移方案。
本申请实施例中,对于基于分布式存储系统的数据均衡装置的解释说明可以参照实施例1中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的基于分布式存储系统的数据均衡装置,能够。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1中的基于分布式存储系统的数据均衡方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1中的基于分布式存储系统的数据均衡方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于分布式存储系统的数据均衡方法,其特征在于,包括:
获取磁盘均衡边界值、存储主机的主机参数、所述存储主机中磁盘的磁盘参数、所述磁盘中数据块的数量、所述数据块的置备容量和所述数据块的使用容量;
根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例;
根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例;
根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案;
根据所述迁移方案对所述磁盘中的数据块进行数据迁移。
2.根据权利要求1所述的基于分布式存储系统的数据均衡方法,其特征在于,所述分布式存储系统包括多个存储主机,每个存储主机的主机参数包括CPU主频和内存容量;每个存储主机包括多个磁盘,每个磁盘的磁盘参数包括磁盘总容量;每个磁盘包括多个数据块。
3.根据权利要求2所述的基于分布式存储系统的数据均衡方法,其特征在于,所述磁盘期望权重计算公式为
expected_weightn=0.6*capacityn/Capacity+0.2*clockspeedn/(ClockSpeed*
diskcountn)+0.2*memorysizen/(MemorySize*diskcountn);
其中,expected_weightn表示第n个磁盘期望权重;
capacityn表示第n个磁盘的磁盘总容量;
Capacity表示所有磁盘总容量的和;
clockspeedn表示第n个存储主机的CPU主频;
ClockSpeed表示所有CPU主频的和;
diskcountn表示第n个磁盘所在的存储主机中的磁盘总个数;
memorysizen表示第n个存储主机的内存容量;
MemorySize表示所有内存容量的和。
4.根据权利要求3所述的基于分布式存储系统的数据均衡方法,其特征在于,所述根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例的步骤包括:
根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到每个磁盘的期望权重;
将所述每个磁盘的期望权重构建为磁盘期望权重比例。
5.根据权利要求2所述的基于分布式存储系统的数据均衡方法,其特征在于,所述磁盘实际权重计算公式为
weightn=0.5*usedn/Used+0.5*allocaten/Allocate;
其中,weightn表示第n个磁盘的磁盘实际权重;
usedn表示第n个磁盘中所有数据块的使用容量的和;
Used表示所有磁盘中所有数据块的使用容量的和;
allocaten表示第n个磁盘中所有数据块的置备容量的和;
Allocate表示所有磁盘中所有数据块的置备容量的和。
6.根据权利要求5所述的基于分布式存储系统的数据均衡方法,其特征在于,所述根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例的步骤包括:
根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到每个磁盘的实际权重;
将所述每个磁盘的实际权重构建为磁盘实际权重比例。
7.根据权利要求1所述的基于分布式存储系统的数据均衡方法,其特征在于,所述根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案的步骤包括:
在所述磁盘实际权重比例中,提取大于或等于所述磁盘均衡边界值的磁盘实际权重;并将所述磁盘实际权重对应的磁盘设定为数据迁出磁盘;
将磁盘实际权重小于磁盘期望权重的磁盘设定为数据迁入磁盘;
当所述数据迁出磁盘和所述数据迁入磁盘的数量均不为零时,模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案;
当所述数据迁出磁盘的磁盘实际权重不小于所述数据迁出磁盘的磁盘期望权重或所述数据迁入磁盘的磁盘实际权重不大于所述数据迁入磁盘的磁盘期望权重时,执行所述模拟将最大磁盘实际权重对应的磁盘中的数据块迁移至最小磁盘实际权重对应的磁盘中,并根据此过程计算并更新所有磁盘的磁盘实际权重和迁移方案的步骤;
当所述数据迁出磁盘的磁盘实际权重小于所述数据迁出磁盘的磁盘期望权重或所述数据迁入磁盘的磁盘实际权重大于所述数据迁入磁盘的磁盘期望权重时,提取最后一次计算并更新得到的迁移方案。
8.一种基于分布式存储系统的数据均衡装置,其特征在于,所述基于分布式存储系统的数据均衡装置包括:
获取单元,用于获取磁盘均衡边界值、存储主机的主机参数、所述存储主机中磁盘的磁盘参数、所述磁盘中数据块的数量、所述数据块的置备容量和所述数据块的使用容量;
第一计算单元,用于根据预设的磁盘期望权重计算公式、所述主机参数和所述磁盘参数进行计算,得到磁盘期望权重比例;
第二计算单元,用于根据预设的磁盘实际权重计算公式、所述数据块的数量、所述数据块的置备容量和所述数据块的使用容量进行计算,得到磁盘实际权重比例;
第三计算单元,用于根据所述磁盘均衡边界值、所述磁盘期望权重比例和所述磁盘实际权重比例进行计算,得到迁移方案;
数据迁移单元,用于根据所述迁移方案对所述磁盘中的数据块进行数据迁移。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至7中任一项所述的基于分布式存储系统的数据均衡方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至7任一项所述的基于分布式存储系统的数据均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399779.5A CN114047883B (zh) | 2021-11-19 | 2021-11-19 | 一种基于分布式存储系统的数据均衡方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399779.5A CN114047883B (zh) | 2021-11-19 | 2021-11-19 | 一种基于分布式存储系统的数据均衡方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114047883A true CN114047883A (zh) | 2022-02-15 |
CN114047883B CN114047883B (zh) | 2023-12-01 |
Family
ID=80210926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111399779.5A Active CN114047883B (zh) | 2021-11-19 | 2021-11-19 | 一种基于分布式存储系统的数据均衡方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114047883B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737380A (zh) * | 2023-06-16 | 2023-09-12 | 深圳市青葡萄科技有限公司 | 一种分布式存储器均衡存储方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210731A1 (en) * | 2003-04-16 | 2004-10-21 | Paresh Chatterjee | Systems and methods for striped storage migration |
CN104243531A (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN109375880A (zh) * | 2018-11-05 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种数据均衡方法、装置和计算机可读存储介质 |
CN109783472A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 表数据的迁移方法、装置、计算机设备和存储介质 |
CN110007864A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
-
2021
- 2021-11-19 CN CN202111399779.5A patent/CN114047883B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210731A1 (en) * | 2003-04-16 | 2004-10-21 | Paresh Chatterjee | Systems and methods for striped storage migration |
CN104243531A (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN109375880A (zh) * | 2018-11-05 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种数据均衡方法、装置和计算机可读存储介质 |
CN109783472A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 表数据的迁移方法、装置、计算机设备和存储介质 |
CN110007864A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
周渭博;钟勇;李振东;: "基于存储熵的存储负载均衡算法", 计算机应用, no. 08 * |
张栗粽等: "面向大数据分布式存储的动态负载均衡算法", 计算机科学, vol. 44, no. 5 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737380A (zh) * | 2023-06-16 | 2023-09-12 | 深圳市青葡萄科技有限公司 | 一种分布式存储器均衡存储方法、装置、设备及存储介质 |
CN116737380B (zh) * | 2023-06-16 | 2024-02-09 | 深圳市青葡萄科技有限公司 | 一种分布式存储器均衡存储方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114047883B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN107229518B (zh) | 一种分布式集群训练方法和装置 | |
US8577816B2 (en) | Optimized seeding of evolutionary algorithm based simulations | |
CN110471820B (zh) | 一种基于循环神经网络的云存储系统磁盘故障预测方法 | |
EP3852014A1 (en) | Method and apparatus for training learning model, and computing device | |
CN108509147A (zh) | 数据块迁移 | |
CN108255427B (zh) | 一种数据存储和动态迁移方法及装置 | |
CN111290699A (zh) | 数据迁移方法、装置及系统 | |
CN106201561B (zh) | 分布式缓存集群的升级方法与设备 | |
CN112328395B (zh) | 一种云资源容量规划方法和系统 | |
CN109766190A (zh) | 云资源调度方法、装置、设备及存储介质 | |
WO2014184606A1 (en) | Identifying workload and sizing of buffers for the purpose of volume replication | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN114047883A (zh) | 一种基于分布式存储系统的数据均衡方法及装置 | |
CN113835823A (zh) | 资源调度方法和装置、电子设备、计算机可读存储介质 | |
CN106127244A (zh) | 一种并行化K‑means改进方法及系统 | |
CN114675975A (zh) | 一种基于强化学习的作业调度方法、装置及设备 | |
CN115794570A (zh) | 压力测试方法、装置、设备及计算机可读存储介质 | |
CN108259583B (zh) | 一种数据动态迁移方法及装置 | |
CN112001786A (zh) | 基于知识图谱的客户信用卡额度配置方法及装置 | |
CN116862025A (zh) | 模型训练方法、系统、客户端和服务器节点、电子设备和存储介质 | |
CN113850394B (zh) | 联邦学习方法、装置、电子设备及存储介质 | |
CN116107737A (zh) | 一种数据节点的性能资源配置方法和装置 | |
CN107018163B (zh) | 一种资源配置方法和装置 | |
CN116974700B (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 |