CN117453149B - 分布式存储***的数据平衡方法、装置、终端及存储介质 - Google Patents
分布式存储***的数据平衡方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN117453149B CN117453149B CN202311777759.6A CN202311777759A CN117453149B CN 117453149 B CN117453149 B CN 117453149B CN 202311777759 A CN202311777759 A CN 202311777759A CN 117453149 B CN117453149 B CN 117453149B
- Authority
- CN
- China
- Prior art keywords
- data
- group
- amount
- candidate
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013500 data storage Methods 0.000 claims abstract description 132
- 238000013508 migration Methods 0.000 claims description 59
- 230000005012 migration Effects 0.000 claims description 59
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了分布式存储***的数据平衡方法、装置、终端及存储介质,所述方法包括:获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段;获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组;基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。本发明可对各个归置组的数据使用情况进行分析,将数据存储量多的归置组的数据迁移至数据存储量少的归置组,使得各个归置组中的数据存储量相差不大,使得各个归置组之间实现数据平衡。
Description
技术领域
本发明涉及数据平衡技术领域,尤其涉及一种分布式存储***的数据平衡方法、装置、终端及存储介质。
背景技术
Ceph是一个开源的分布式存储***,其功能包括对象存储、块设备以及文件***。在分布式存储***中具有多个PG(placement group,归置组)。PG分布在磁盘逻辑单元OSD(Object Storage Daemon)上,但是,因数据分布式存储的原因导致各PG中的数据存储量是不一样的,而OSD是按照数据存储量最少的PG来确定是否可用的,那么当数据存储量最少的PG不使用时,就会导致该PG上的OSD不可用,从而造成资源浪费。
因此,现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种分布式存储***的数据平衡方法、装置、终端及存储介质,旨在解决现有技术中因各个归置组中的数据存储量不一样,容易导致一些磁盘不可用,从而造成资源浪费的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
第一方面,本发明提供一种分布式存储***的数据平衡方法,所述方法包括:
获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段;
获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组;
基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
在一种实现方式中,所述获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,包括:
以一天的时长为周期,记录所述周期内所有归置组的数据使用信息,并基于所述数据使用信息,确定所有归置组的每个时刻的数据使用量;
将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段。
在一种实现方式中,所述将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段,包括:
将每个时刻的数据使用量分别与所述使用阈值量进行比较,筛选出所述数据使用量小于所述使用阈值量的若干目标时刻;
将若干所述目标时刻中相邻的时刻按照时间顺序进行拼接,得到若干候选时间段;
分别获取每个候选时间段对应的数据使用量,并将数据使用量最少的候选时间段作为所述数据使用低谷时间段。
在一种实现方式中,所述获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组,包括:
获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值;
分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较;
确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;
确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组;
基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组。
在一种实现方式中,所述基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组,包括:
将所述第一候选归置组中的若干归置组由数据存储量高至低进行排序,得到数据存储量最高的归置组,并将数据存储量最高的归置组作为所述数据释放归置组;
将所述第二候选归置组中的若干归置组由数据存储量低至高进行排序,得到数据存储量最低的归置组,并将数据存储量最低的归置组作为所述数据接收归置组。
在一种实现方式中,所述基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组,包括:
将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段;
在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
在一种实现方式中,所述在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组,包括:
根据所述数据释放归置组与所述数据接收归置组,确定数据量差值;
将所述数据量差值中的一半作为所述预设数据量;
在所述数据迁移时间段,将所述预设数据量从所述数据释放归置组迁移至所述数据接收归置组。
第二方面,本发明实施例还提供一种分布式存储***的数据平衡装置,其中,所述装置包括:
数据使用分析模块,用于获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段;
归置组确定模块,用于获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组;
数据迁移模块,用于基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
第三方面,本发明实施例还提供一种终端,其中,所述终端包括存储器、处理器及存储在存储器中并可在处理器上运行的分布式存储***的数据平衡程序,处理器执行分布式存储***的数据平衡程序时,实现上述方案中任一项的分布式存储***的数据平衡方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质上存储有分布式存储***的数据平衡程序,所述分布式存储***的数据平衡程序被处理器执行时,实现上述方案中任一项所述的分布式存储***的数据平衡方法的步骤。
有益效果:与现有技术相比,本发明提供了一种分布式存储***的数据平衡方法,本发明首先获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段。然后,获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组。然后,基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。本发明可对各个归置组的数据使用情况进行分析,将数据存储量多的归置组的数据迁移至数据存储量少的归置组,使得各个归置组中的数据存储量相差不大,使得各个归置组之间实现数据平衡。
附图说明
图1为本发明实施例提供的分布式存储***的数据平衡方法的具体实施方式的流程图。
图2为本发明实施例提供的分布式存储***的数据平衡装置的功能原理图。
图3为本发明实施例提供的终端的原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本实施例提供一种分布式存储***的数据平衡方法,基于本实施例的方法可调整各个归置组中的数据存储量,并且,确保各个归置组中的数据存储量相差不大,从而实现数据平衡。具体应用时,本实施例首先获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段。然后,获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组。然后,基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。本实施例可对各个归置组的数据使用情况进行分析,将数据存储量多的归置组的数据迁移至数据存储量少的归置组,使得各个归置组中的数据存储量相差不大,使得各个归置组之间实现数据平衡。
本实施例的分布式存储***的数据平衡可应用于终端中,所述终端包括电脑、手机、智能电视等智能化产品终端。具体地,如图1中所示,在本实施例中,所述分布式存储***的数据平衡方法包括如下步骤:
步骤S100、获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段。
终端首先获取分布式存储***中各个归置组的数据使用信息,该数据使用信息可用于反映出各个归置组对于数据的使用情况。比如,各个归置组在各个时间点的数据使用量。进而,本实施例可确定出分布式存储***数据使用量最少的时间段,即得到数据使用低谷时间段。本实施例分析出数据使用低谷时间段即可确定出各个归置组的空闲时间段,该空间时间段可用于对数据进行迁移,这样可以保证在进行数据迁移时不会对客户端造成影响,也不会影响客户端的读写速度。
在一种实现方式中,本实施例在确定数据使用低谷时间段时包括如下步骤:
步骤S101、以一天的时长为周期,记录所述周期内所有归置组的数据使用信息,并基于所述数据使用信息,确定所有归置组的每个时刻的数据使用量;
步骤S102、将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段。
具体应用时,本实施例记录一天内的每个时刻各个归置组的数据使用信息,由于数据使用信息反映了对应时刻下的数据使用量以及数据存储量,因此,将每个时刻的数据使用量与预设的使用阈值量进行比较,就可以确定所述数据使用低谷时间段。本实施例的使用阈值量用于衡量各个归置组的数据使用量是否达到要求,如果在某个时刻的数据使用量大于使用阈值量,则就说明该时刻下的数据使用量是会较多,该时刻就不处于低谷时间段。相反,如果在某个时刻的数据使用量小于使用阈值量,则就说明该时刻下的数据使用量是比较少的,该时刻就是低谷时间段。
具体地,本实施例可分别记录每个时刻下的数据使用量,然后将每个时刻的数据使用量分别与所述使用阈值量进行比较,筛选出所述数据使用量小于所述使用阈值量的若干目标时刻。这些目标时刻是时间点,并且,本实施例的时刻可每隔5分钟设置,得到目标时刻是时间点,比如,14:20、14:25;14:30等。接着,本实施例将若干所述目标时刻中相邻的时刻按照时间顺序进行拼接,得到若干候选时间段。由于本实施例是针对单个时刻的数据使用量进行分析的,因此会出现某些时刻下的数据使用量是大于使用阈值量,某些时刻下的数据使用量是小于使用阈值量。本实施例可将相邻时刻按照时间顺序进行拼接,得到若干候选时间段,每个候选时间段的时长可能相同也可能不同。在实际应用时,当目标时刻中某个时刻是孤立的,不存在与之相邻的时刻在,则该时刻可单独成为一个候选时间段,并且该候选时间段的时长可以是间隔设置每个时刻的时长,比如5分钟。接着,本实施例分别获取每个候选时间段对应的数据使用量,也就是将每个时间段下的各个时刻的数据使用量汇总,就得到了每个候选时间段对应的数据使用量。然后,本实施例将数据使用量最少的候选时间段作为所述数据使用低谷时间段。该数据使用低谷时间段使用的数据量最少,也就是各个归置组的空闲时间段。
步骤S200、获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组。
接着,本实施例获取每个归置组的数据存储量,此时的数据存储量可以是数据经过一段时间的使用后的剩余数据量,也可以数据还未被使用时数据总量。终端可基于该数据存储量来确定哪个归置组的数据存储量多,哪个归置组的数据存储量少。本实施例的目的是实现各个归置组之间的数据平衡,使得各个归置组中的数据存储量相差不大,因此,可将确定的数据存储量多的归置组作为数据释放归置组,用于释放数据。而将确定的数据存储量少的归置组作为数据接收归置组,用于接收数据,从而实现数据平衡。
在一种实现方式中,本实施例在确定数据接收归置组合数据释放归置组时包括如下步骤:
步骤S201、获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值;
步骤S202、分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较;
步骤S203、确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;
步骤S204、确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组;
步骤S205、基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组。
具体应用时,本实施例获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值。该第一存储量阈值用于筛选出数据存储量较多的归置组,该第二存储量阈值用于筛选出数据存储量较少的归置组。本实施例分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较。从而确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;以及确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组。此时,第一候选归置组中是数据存储量较多的归置组,第二候选归置组中是数据存储量较少的归置组。接着,本实施例可将所述第一候选归置组中的若干归置组由数据存储量高至低进行排序,得到数据存储量最高的归置组,并将数据存储量最高的归置组作为所述数据释放归置组。然后,将所述第二候选归置组中的若干归置组由数据存储量低至高进行排序,得到数据存储量最低的归置组,并将数据存储量最低的归置组作为所述数据接收归置组。由此,本实施例得到了数据存储量最高的归置组和数据存储量最低的归置组,而这两个归置组中的数据存储量是相差比较大的,因此,本实施例可将数据存储量最高的归置组作为所述数据释放归置组,将数据存储量最低的归置组作为所述数据接收归置组,这样就方便将数据存储量高的归置组中的数据释放值数据存储量低的归置组。为数据存储量位于第一存储量阈值和第二存储量阈值之间的归置组都是比较平衡的,数据存储量相差不大,这样就实现了数据平衡。
在另一种实现方式中,本实施例在确定出第一候选归置组与所述第二候选归置组后,可针对第一候选归置组中的每个归置组都作为数据释放归置组,然后将所述第二候选归置组中的每个归置组都作为数据接收组。在后续步骤中进行数据迁移时,可将第一候选归置组中数据存储量最高的归置组与第二候选归置组中数据存储量最低的归置组形成数据迁移组,在彼此之间进行数据迁移;将第一候选归置组中数据存储量排第二的归置组与第二候选归置组中数据存储量排倒数第二的归置组形成数据迁移组,在彼此之间进行数据迁移,以此类推,形成多个数据迁移组并进行数据迁移,以便实现数据平衡。
步骤S300、基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
本实施例在确定数据释放归置组和数据接收归置组后,可在所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组,以便实现数据平衡。
在一种实现方式中,本实施例在进行数据迁移时,包括如下步骤:
步骤S301、将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段;
步骤S302、在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
具体地,本实施例可首先获取配置时间段,该配置时间段是基于磁盘(OSD)的历史使用时间来预先设置的,配置时间段是磁盘的空闲时间段。本实施例将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段,该数据迁移时间段不但是数据使用比较少的时间段还是磁盘的空闲时间段,这样在该数据迁移时间段进行数据迁移可以保证在进行数据迁移时不会对客户端造成影响,也不会影响客户端的读写速度。在进行数据迁移时,本实施例根据所述数据释放归置组与所述数据接收归置组,确定数据量差值。然后,将所述数据量差值中的一半作为所述预设数据量。最后,在所述数据迁移时间段,将所述预设数据量从所述数据释放归置组迁移至所述数据接收归置组。
综上,本实施例首先获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段。然后,获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组。然后,基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。本实施例可对各个归置组的数据使用情况进行分析,将数据存储量多的归置组的数据迁移至数据存储量少的归置组,使得各个归置组中的数据存储量相差不大,使得各个归置组之间实现数据平衡。
基于上述实施例,本发明还提供一种分布式存储***的数据平衡装置,如图2中所示,所述装置包括:数据使用分析模块10、归置组确定模块20以及数据迁移模块30。具体地,所述数据使用分析模块10,用于获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段。所述归置组确定模块20,用于获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组。所述数据迁移模块30,用于基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
在一种实现方式中,所述数据使用分析模块10包括:
使用量获取单元,用于以一天的时长为周期,记录所述周期内所有归置组的数据使用信息,并基于所述数据使用信息,确定所有归置组的每个时刻的数据使用量;
使用量分析单元,用于将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段。
在一种实现方式中,所述使用量分析单元,包括:
目标时刻确定子单元,用于将每个时刻的数据使用量分别与所述使用阈值量进行比较,筛选出所述数据使用量小于所述使用阈值量的若干目标时刻;
候选时间段确定子单元,用于将若干所述目标时刻中相邻的时刻按照时间顺序进行拼接,得到若干候选时间段;
低谷时间段确定子单元,用于分别获取每个候选时间段对应的数据使用量,并将数据使用量最少的候选时间段作为所述数据使用低谷时间段。
在一种实现方式中,所述归置组确定模块20包括:
存储量阈值获取单元,用于获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值;
存储量比较单元,用于分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较;
第一候选归置组确定单元,用于确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;
第二候选归置组确定单元,用于确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组;
归置组筛选单元,用于基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组。
在一种实现方式中,所述归置组筛选单元,包括:
数据释放归置组确定子单元,用于将所述第一候选归置组中的若干归置组由数据存储量高至低进行排序,得到数据存储量最高的归置组,并将数据存储量最高的归置组作为所述数据释放归置组;
数据接收归置组确定子单元,用于将所述第二候选归置组中的若干归置组由数据存储量低至高进行排序,得到数据存储量最低的归置组,并将数据存储量最低的归置组作为所述数据接收归置组。
在一种实现方式中,所述数据迁移模块30,包括:
时间段分析单元,用于将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段;
数据迁移执行单元,用于在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组。
在一种实现方式中,所述数据迁移执行单元,包括:
差值确定子单元,用于根据所述数据释放归置组与所述数据接收归置组,确定数据量差值;
预设数据量确定子单元,用于将所述数据量差值中的一半作为所述预设数据量;
数据迁移子单元,用于在所述数据迁移时间段,将所述预设数据量从所述数据释放归置组迁移至所述数据接收归置组。
本实施例的分布式存储***的数据平衡装置中各个模块的工作原理与上述方法实施例中各个步骤的原理相同,此处不再赘述。
基于上述实施例,本发明还提供了一种终端,所述终端的原理框图可以如图3所示。终端可以包括一个或多个处理器100(图3中仅示出一个),存储器101以及存储在存储器101中并可在一个或多个处理器100上运行的计算机程序102,例如,分布式存储***的数据平衡程序。一个或多个处理器100执行计算机程序102时可以实现分布式存储***的数据平衡方法实施例中的各个步骤。或者,一个或多个处理器100执行计算机程序102时可以实现分布式存储***的数据平衡装置实施例中各模块/单元的功能,此处不作限制。
在一个实施例中,所称处理器100可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在一个实施例中,存储器101可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器101也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及终端所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、运营数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双运营数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种分布式存储***的数据平衡方法,其特征在于,所述方法包括:
获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段;
获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组;
基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组;
所述获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,包括:
以一天的时长为周期,记录所述周期内所有归置组的数据使用信息,并基于所述数据使用信息,确定所有归置组的每个时刻的数据使用量;
将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段;
所述将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段,包括:
将每个时刻的数据使用量分别与所述使用阈值量进行比较,筛选出所述数据使用量小于所述使用阈值量的若干目标时刻;
将若干所述目标时刻中相邻的时刻按照时间顺序进行拼接,得到若干候选时间段,当所述目标时刻中某个时刻是孤立的,不存在与之相邻的时刻,则该时刻单独成为一个候选时间段;
分别获取每个候选时间段对应的数据使用量,并将数据使用量最少的候选时间段作为所述数据使用低谷时间段;
所述获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组,包括:
获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值;
分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较;
确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;
确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组;
基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组;
所述基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组,包括:
将所述第一候选归置组中的若干归置组由数据存储量高至低进行排序,得到数据存储量最高的归置组,并将数据存储量最高的归置组作为所述数据释放归置组;
将所述第二候选归置组中的若干归置组由数据存储量低至高进行排序,得到数据存储量最低的归置组,并将数据存储量最低的归置组作为所述数据接收归置组;
或者,
所述基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组,包括:
将所述第一候选归置组中的每个归置组都作为数据释放归置组;
将所述第二候选归置组中的每个归置组都作为数据接收归置组;
在进行数据迁移时,将所述第一候选归置组中数据存储量最高的归置组与所述第二候选归置组中数据存储量最低的归置组形成数据迁移组,在彼此之间进行数据迁移;
将所述第一候选归置组中数据存储量排第二的归置组与第二候选归置组中数据存储量排倒数第二的归置组形成数据迁移组,在彼此之间进行数据迁移,以此类推,形成多个数据迁移组并进行数据迁移;
所述基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组,包括:
将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段;
在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组;
所述在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组,包括:
根据所述数据释放归置组与所述数据接收归置组,确定数据量差值;
将所述数据量差值中的一半作为所述预设数据量;
在所述数据迁移时间段,将所述预设数据量从所述数据释放归置组迁移至所述数据接收归置组。
2.一种分布式存储***的数据平衡装置,其特征在于,所述装置包括:
数据使用分析模块,用于获取分布式存储***中各个归置组的数据使用信息,并基于所述数据使用信息,确定数据使用低谷时间段,所述数据使用低谷时间段反映的是所述分布式存储***数据使用量最少的时间段;
归置组确定模块,用于获取各个归置组所对应的数据存储量,并基于所述数据存储量确定数据接收归置组与数据释放归置组;
数据迁移模块,用于基于所述数据使用低谷时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组;
所述数据使用分析模块包括:
使用量获取单元,用于以一天的时长为周期,记录所述周期内所有归置组的数据使用信息,并基于所述数据使用信息,确定所有归置组的每个时刻的数据使用量;
使用量分析单元,用于将每个时刻的数据使用量与预设的使用阈值量进行比较,确定所述数据使用低谷时间段;
所述使用量分析单元,包括:
目标时刻确定子单元,用于将每个时刻的数据使用量分别与所述使用阈值量进行比较,筛选出所述数据使用量小于所述使用阈值量的若干目标时刻;
候选时间段确定子单元,用于将若干所述目标时刻中相邻的时刻按照时间顺序进行拼接,得到若干候选时间段,当所述目标时刻中某个时刻是孤立的,不存在与之相邻的时刻,则该时刻单独成为一个候选时间段;
低谷时间段确定子单元,用于分别获取每个候选时间段对应的数据使用量,并将数据使用量最少的候选时间段作为所述数据使用低谷时间段;
所述归置组确定模块包括:
存储量阈值获取单元,用于获取预设的第一存储量阈值和第二存储量阈值,所述第一存储量阈值大于所述第二存储量阈值;
存储量比较单元,用于分别将各个归置组所对应的数据存储量与所述第一存储量阈值以及第二存储量阈值进行比较;
第一候选归置组确定单元,用于确定所述数据存储量大于所述第一存储量阈值的若干归置组,得到第一候选归置组;
第二候选归置组确定单元,用于确定所述数据存储量小于所述第二存储量阈值的若干归置组,得到第二候选归置组;
归置组筛选单元,用于基于所述第一候选归置组与所述第二候选归置组,确定所述数据接收归置组与所述数据释放归置组;
所述归置组筛选单元,包括:
数据释放归置组确定子单元,用于将所述第一候选归置组中的若干归置组由数据存储量高至低进行排序,得到数据存储量最高的归置组,并将数据存储量最高的归置组作为所述数据释放归置组;
数据接收归置组确定子单元,用于将所述第二候选归置组中的若干归置组由数据存储量低至高进行排序,得到数据存储量最低的归置组,并将数据存储量最低的归置组作为所述数据接收归置组;
或者,
所述归置组筛选单元,包括:
将所述第一候选归置组中的每个归置组都作为数据释放归置组;
将所述第二候选归置组中的每个归置组都作为数据接收归置组;
在进行数据迁移时,将所述第一候选归置组中数据存储量最高的归置组与所述第二候选归置组中数据存储量最低的归置组形成数据迁移组,在彼此之间进行数据迁移;
将所述第一候选归置组中数据存储量排第二的归置组与第二候选归置组中数据存储量排倒数第二的归置组形成数据迁移组,在彼此之间进行数据迁移,以此类推,形成多个数据迁移组并进行数据迁移;
所述数据迁移模块,包括:
时间段分析单元,用于将所述数据使用低谷时间段与预设的配置时间段取交集,得到数据迁移时间段;
数据迁移执行单元,用于在所述数据迁移时间段,将所述数据释放归置组中的预设数据量迁移至所述数据接收归置组;
所述数据迁移执行单元,包括:
差值确定子单元,用于根据所述数据释放归置组与所述数据接收归置组,确定数据量差值;
预设数据量确定子单元,用于将所述数据量差值中的一半作为所述预设数据量;
数据迁移子单元,用于在所述数据迁移时间段,将所述预设数据量从所述数据释放归置组迁移至所述数据接收归置组。
3.一种终端,其特征在于,所述终端包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的分布式存储***的数据平衡程序,所述处理器执行分布式存储***的数据平衡程序时,实现如权利要求1所述的分布式存储***的数据平衡方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分布式存储***的数据平衡程序,所述分布式存储***的数据平衡程序被处理器执行时,实现如权利要求1所述的分布式存储***的数据平衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311777759.6A CN117453149B (zh) | 2023-12-22 | 2023-12-22 | 分布式存储***的数据平衡方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311777759.6A CN117453149B (zh) | 2023-12-22 | 2023-12-22 | 分布式存储***的数据平衡方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453149A CN117453149A (zh) | 2024-01-26 |
CN117453149B true CN117453149B (zh) | 2024-04-09 |
Family
ID=89580224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311777759.6A Active CN117453149B (zh) | 2023-12-22 | 2023-12-22 | 分布式存储***的数据平衡方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453149B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023967A (zh) * | 2017-12-20 | 2018-05-11 | 联想(北京)有限公司 | 一种数据平衡方法、装置及分布式存储***中的管理设备 |
CN108197229A (zh) * | 2017-12-29 | 2018-06-22 | 北京搜狐新媒体信息技术有限公司 | 一种磁盘数据的平衡方法及*** |
CN111290699A (zh) * | 2018-12-07 | 2020-06-16 | 杭州海康威视***技术有限公司 | 数据迁移方法、装置及*** |
CN111611055A (zh) * | 2020-05-27 | 2020-09-01 | 上海有孚智数云创数字科技有限公司 | 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质 |
CN115203177A (zh) * | 2022-09-16 | 2022-10-18 | 北京智阅网络科技有限公司 | 一种分布式数据存储***及存储方法 |
-
2023
- 2023-12-22 CN CN202311777759.6A patent/CN117453149B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023967A (zh) * | 2017-12-20 | 2018-05-11 | 联想(北京)有限公司 | 一种数据平衡方法、装置及分布式存储***中的管理设备 |
CN108197229A (zh) * | 2017-12-29 | 2018-06-22 | 北京搜狐新媒体信息技术有限公司 | 一种磁盘数据的平衡方法及*** |
CN111290699A (zh) * | 2018-12-07 | 2020-06-16 | 杭州海康威视***技术有限公司 | 数据迁移方法、装置及*** |
CN111611055A (zh) * | 2020-05-27 | 2020-09-01 | 上海有孚智数云创数字科技有限公司 | 一种虚拟设备最优空闲时间迁移法、装置及可读存储介质 |
CN115203177A (zh) * | 2022-09-16 | 2022-10-18 | 北京智阅网络科技有限公司 | 一种分布式数据存储***及存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117453149A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846749B (zh) | 一种基于区块链技术的分片化的交易执行***及方法 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
US20200210815A1 (en) | Output method and apparatus for multiple neural network, server and computer readable storage medium | |
US11422827B2 (en) | Method, device, apparatus for identifying graphics card of GPU server and medium | |
US10613992B2 (en) | Systems and methods for remote procedure call | |
CN108512715B (zh) | 一种业务链路的负载压力测试方法和相关装置 | |
CN110543279B (zh) | 一种数据存储、处理方法、装置及*** | |
US11586566B2 (en) | Memory protocol with command priority | |
CN109002348B (zh) | 一种虚拟化***中的负载均衡方法及装置 | |
CN110764930A (zh) | 基于消息模式的请求或应答处理方法及装置 | |
CN117453149B (zh) | 分布式存储***的数据平衡方法、装置、终端及存储介质 | |
CN111459937B (zh) | 数据表关联方法、装置、服务器及存储介质 | |
CN109298974B (zh) | ***控制方法、装置、计算机及计算机可读存储介质 | |
CN117762892A (zh) | 分布式存储***的数据分配控制方法、装置、终端及介质 | |
CN117453148B (zh) | 基于神经网络的数据平衡方法、装置、终端及存储介质 | |
CN112216333B (zh) | 芯片测试方法及装置 | |
CN112286704B (zh) | 延时任务的处理方法、装置、计算机设备及存储介质 | |
CN115358331A (zh) | 设备类型识别方法及装置、计算机可读存储介质、终端 | |
US11561934B2 (en) | Data storage method and method for executing an application with reduced access time to the stored data | |
CN114153712A (zh) | 异常处理方法、装置、设备及存储介质 | |
CN109284260B (zh) | 大数据文件读取方法、装置、计算机设备及存储介质 | |
EP3296878A1 (en) | Electronic device and page merging method therefor | |
CN109246216B (zh) | 一种访问请求处理方法和装置 | |
CN115103020B (zh) | 数据迁移处理方法和装置 | |
US20200004421A1 (en) | Method and defragmentation module for defragmenting resources |
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 |