CN108804018A - 一种数据分区的方法及装置 - Google Patents
一种数据分区的方法及装置 Download PDFInfo
- Publication number
- CN108804018A CN108804018A CN201710281461.4A CN201710281461A CN108804018A CN 108804018 A CN108804018 A CN 108804018A CN 201710281461 A CN201710281461 A CN 201710281461A CN 108804018 A CN108804018 A CN 108804018A
- Authority
- CN
- China
- Prior art keywords
- memory node
- subregion
- partition
- total quantity
- partitions
- 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.)
- Pending
Links
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据分区的方法及装置。
背景技术
分布式存储系统是将数据分散存储在多台独立的存储设备上的存储系统,每个存储设备相当于一个存储节点。目前比较常见的数据分布方法为哈希分布,通过哈希分布算法可以把数据对应的哈希空间划分为固定数量的分区,然后再建立分区与存储节点之间的映射关系,一般会将分区尽可能均匀地分配至各存储节点,分区与存储节点之间的映射关系被称为分区视图。其中,可以将一个分区映射到一个存储节点上,或者当需要对分区中的数据进行备份时,也可以将一个分区映射到多个存储节点上。例如,如图1所示,假设有3个分区,且当前存在6个存储节点,如果需要两份备份数据,则需要将每个分区分别映射到三个存储节点上,比如分区1对应存储节点1、3、5,分区2对应存储节点2、4、6,分区3对应存储节点3、5、6。
然而,分布式存储系统中的分区数量是固定的,而存储节点的数量会随着数据量的增多而增加,当存储节点较多时,会使得映射到每个节点上的分区个数太少,例如,当分区数量为100,存储节点的数量为1000时,如果每个分区只需要映射到3个存储节点,则此时最多只需要300个存储节点,就会出现一部分存储节点中只存储一个分区的数据,而还会有一部分存储节点中完全不需要存储数据的情况,导致存储节点之间的负载不均衡。
发明内容
本申请实施例提供一种数据分区的方法及装置,能够解决现有技术中,当存储节点的数量增多时出现的存储节点之间负载不均衡的问题。
第一方面,本申请的实施例提供一种数据分区的方法,该方法包括:当主节点检测到新增存储节点时,确定分布式存储系统中每个存储节点承载的平均分区数量,平均分区数量为当前分区总数量与存储节点总数量的比值,若所述平均分区数量小于预设值,则根据预设值以及存储节点总数量,将分区总数量增加至目标分区总数量,以使得所述平均分区数量达到预设值,然后按照所述目标分区总数量进行数据分区。可见,如果分布式存储系统中出现了新增的存储节点,且每个存储节点的平均分区数量小于预设值,说明当前的分布式存储系统中存在部分存储节点对应的分区数量过少,本申请通过增加分区数量,可以保证分区均匀分布在各存储节点上,进而保证了在存储节点增多的情况下,各存储节点之间也能实现负载均衡。
在一种可能的设计中,在主节点确定分布式存储系统中每个存储节点承载的平均分区数量之后,若所述平均分区数量大于所述预设值,则重新确定分区视图,然后按照重新确定的分区视图将分区分配至各存储节点。可见,当存在新增节点时,如果当前的平均分区数量大于预设值,也需要重新确定分区视图,以将部分分区分配至新增节点上,使得各存储节点之间的负载均衡。
在一种可能的设计中,所述目标分区总数量为所述当前分区总数量的2^X倍,其中,2^X为大于或等于所述存储节点总数量*所述预设值/所述当前分区总数量的最小值,X为正整数。
在一种可能的设计中,主节点还可以确定每个存储节点能够承载的最佳分区数量区间,然后根据最佳分区数量区间的上限值以及存储节点数量确定初始分区数量,然后根据所述初始分区数量进行分区,并确定初始分区视图,进而按照所述初始分区视图将分区分配至各存储节点,主节点还需将所述初始分区数量和所述初始分区视图发送给所述分布式存储系统中的对象存储设备OSD。可见,在对分布式存储系统初始化的过程中,会按照每个存储节点能够承载的最佳分区数量区间来确定分区数量,并进行分区,可以使得每个存储节点承载的初始平均分区数量处于最佳分区数量区间中,可以提高分布式存储系统的性能,避免了出现资源浪费以及负载不均衡的情况出现,提高了数据的可靠性。
在一种可能的设计中,所述初始分区数量为对2^[log2(N*M)]进行取整操作得到的值,其中,N为所述分布式存储系统中的初始存储节点数量,M为所述最佳分区数量区间的上限值。
第二方面,本申请提供了一种数据分区的装置,该装置可以实现上述第一方面中主节点所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。
在一种可能的设计中,该装置的结构中包括处理器和收发器,该处理器被配置为支持该装置执行上述方法中相应的功能。该收发器用于支持该装置与其他网元之间的通信。该装置可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。
第三方面,本申请提供一种数据分区的系统,包括上述方面所述的主节点,以及业务进程模块和OSD。
第四方面,本申请提供一种计算机存储介质,用于存储为上述主节点所用的计算机软件指令,其包含用于执行上述方面所涉及的程序。
与现有技术中由于分区数量固定,导致存储节点增多时,会出现存储节点之间的负载不均衡相比,本申请的实施例中,如果分布式存储系统中出现了新增的存储节点,且每个存储节点的平均分区数量小于预设值,说明当前的分布式存储系统中存在部分存储节点对应的分区数量过少,本申请通过增加分区数量,可以保证分区均匀分布在各存储节点上,进而保证了在存储节点增多的情况下,各存储节点之间也能实现负载均衡。
附图说明
图1为背景技术提供的一种分区与存储节点之间的映射关系的示例性示意图;
图2为本申请提供的一种分布式存储系统的结构示意图;
图3为本申请提供的一种数据分区的方法的流程图;
图4为本申请提供的一种数据分区的方法的示例性示意图;
图5为本申请提供的另一种数据分区的方法的流程图;
图6为本申请提供的另一种数据分区的方法的流程图;
图7为本申请提供的一种数据分区的装置的结构示意图;
图8为本申请提供的另一种数据分区的装置的结构示意图。
具体实施方式
本申请描述的系统架构以及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请中“的(英文:of)”,相应的“(英文corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
下面将结合本申请中的附图,对本申请的技术方案进行详细地描述。
本申请提供的技术方案可以应用于如图2所示的分布式存储系统中,该分布式存储系统中包括:业务进程模块21、主节点(master)22以及至少两个对象存储设备(ObjectStorage Device,OSD)23。
其中,业务进程模块21用于存储协议,例如块服务协议、对象服务协议等,每个业务进程模块21中嵌入了一个客户端模块(client),客户端模块用于访问存储在服务端模块23中的数据。主节点22,用于管理存储节点和分区视图。OSD23,用于实现数据的本地存储,一个OSD相当于一个存储节点。
结合图2所示的分布式存储系统,为了解决现有技术中当存储节点的数量增多时,出现的存储节点之间的负载不均衡的问题,本申请的实施例提供一种数据分区的方法,该方法由图2中的主节点执行,如图3所示,该方法包括:
301、当检测到新增存储节点时,确定分布式存储系统中每个存储节点承载的平均分区数量。
其中,平均分区数量为当前分区数总量与存储节点总数量的比值,存储节点总数量为该分布式存储系统中的原有存储节点数量与新增节点数量的和。
302、若平均分区数量小于预设值,则根据预设值以及存储节点总数量将分区总数量增加至目标分区总数量,以使得平均分区数量达到预设值。
其中,可以根据经验值来设置每个存储节点能够承载的最佳分区数量区间,例如,每个节点能够承载的最佳分区数量区间为100至200,则可以将预设值设置为最佳分区数量区间的下限值100。可以理解的是,如果当前的平均分区数量小于100,则说明分布式存储系统中的每个存储节点承载的平均分区数量过少,即需要增加分区总数量,以使得每个存储节点的平均分区数量处于最佳分区数量区间中。
其中,目标分区总数量为当前分区总数量的2^X倍,需要说明的是,为了使平均分区数量达到最佳分区数量区间的下限值,则目标分区总数量必须大于或等于最佳分区数量的下限值与存储节点总数量的乘积,另外,在本申请的实施例中,在确定初始分区数量时,为了保证每个存储节点承载的初始平均分区数量处于最佳分区数量区间内,要求分区总数量为2的幂,所以在调整分布式存储系统中的分区总数量时,也要求目标分区总数量仍为2的幂,所以,当前分区总数量的2^X倍需大于或等于最佳分区数量区间的下限值与存储节点总数量的乘积,即2^X为大于或等于(所述存储节点总数量*所述预设值/所述当前分区总数量)的最小值,X为正整数。
作为一个例子,如果每个节点能够承载的最佳分区数量区间为100至200,当前分区总数量为12000,当前的存储节点总数量为200,则平均分区数量为60,可见平均总数量小于预设值100,所以需要增加分区总数量,此时的目标分区总数量至少为100*200=20000,即12000*2^X为大于或等于20000的最小值,进而可确定X为1,即目标分区总数量为当前分区总数量的2倍。
在本申请的实施例提供的另一种实现方式中,还可以直接将目标分区总数量确定为存储节点总数量*最佳分区数量区间的下限值与存储节点总数量*最佳分区数量区间的上限值之间的任意值。
仍以最佳分区数量区间为100至200,存储节点总数量为200为例,则目标分区数量可以为100*200至200*200之间的任意值。
303、按照目标分区总数量进行数据分区。
其中,结合上一步骤中的例子,需要将分区总数量增大至当前分区总数量的两倍,倍增分区总数量的方法如图4所示,图4中示例性地示出了当前的4个分区,分别为分区0、分区1、分区2、分区3。为了将分区总数量增加至当前分区总数量的两倍,可以分别将原有的一个分区分裂为两个分区,分裂出的其中一个分区的编号不变,另一个分区的编号为分裂前的分区编号加当前分区总数量。例如,将分区0分裂为两个分区,分裂出的一个分区为分区0,另一个分区为分区4;将分区1分裂为两个分区,分裂出的一个分区为分区1,另一个分区为分区5,按照这种方法,就可以将原有的4个分区分裂为8个分区。同样地,如果需要将分区总数量增大至当前分区总数量的4倍,则可以将原有的每个分区分别分裂为4个分区。
本申请的实施例提供的数据分区的方法,与现有技术中由于分区数量固定,导致存储节点增多时,会出现存储节点之间的负载不均衡相比,本申请的实施例中,如果分布式存储系统中出现了新增的存储节点,且每个存储节点的平均分区数量小于预设值,说明当前的分布式存储系统中存在部分存储节点对应的分区数量过少,本申请通过增加分区数量,可以保证分区均匀分布在各存储节点上,进而保证了在存储节点增多的情况下,各存储节点之间也能实现负载均衡。
还需说明的是,如果步骤301中确定的平均分区数量大于预设值,则说明平均分区数量处于最佳分区数量区间中,无需调整当前的分区总数量,但是需要为新增节点分配分区,基于此,在本申请的实施例提供的另一种实现方式中,如图5所示,在上述步骤301、当检测到新增存储节点时,确定分布式存储系统中每个存储节点承载的平均分区数量之后,还可以执行步骤304。
304、若平均分区数量大于预设值,则重新确定分区视图。
其中,重新确定分区视图的目的是为新增节点分配分区,并使得分区尽可能均匀地分布在所有存储节点上。主节点可以按照初始确定分区视图的方法,重新将各分区均匀分配至各存储节点,或者主节点也可以对分区视图进行修改,在尽可能保证存储节点负载均衡的基础上,将分配至其他存储节点的部分分区分配至新增节点上。
另外,在上述步骤303、按照目标分区总数量进行数据分区之后,由于分区数量发生了变化,原有的一个分区可能至少分裂为了两个分区,所以需要调整分区与存储节点之间的映射关系,以使得新的分区能够均匀分布在各存储节点上,所以需要执行步骤305
305、重新确定分区视图。
需要说明的是,在步骤304或者步骤305重新确定分区视图之后,还需要执行步骤306。
306、按照重新确定的分区视图将分区分配至各存储节点。
还需说明的是,在重新确定分区视图之后,还需将重新确定的分区视图以及目标分区总数量发送给分布式存储系统中的各个客户端模块和OSD,以使得OSD根据最新的分区视图进行数据搬运,以及客户端根据最新的分区视图来访问OSD中存储的数据。
其中,当客户端模块需要访问数据块时,首先需要根据数据块的key值计算出分区编号,计算公式为hash(key)%分区数量,然后查询分区视图,从而确定分区编号对应的存储节点,进而将数据访问请求发送至该存储节点对应的OSD进行数据操作。
对于本申请的实施例,当存在新增节点时,如果当前的平均分区数量大于预设值,也需要重新确定分区视图,以将部分分区分配至新增节点上,使得各存储节点之间的负载均衡。另外,如果分区数量固定,当存储节点过多时,容易导致存储节点的故障修复的时间过长,本申请的实施例通过实时调整分区数量,可以减小故障修复时间。
在执行图3和图5所示的方法流程之前,还需要对分布式存储系统进行初始化,以确定初始的分区数量以及初始的分区视图,如图6所示,该方法包括:
601、确定每个存储节点能够承载的最佳分区数量区间。
其中,最佳分区数量区间为根据经验值确定的,一般为100至200。
602、根据最佳分区数量区间的上限值以及存储节点数量确定初始分区数量。
其中,所述初始分区数量为对2^[log2(N*M)]进行取整操作得到的值,其中,N为所述分布式存储系统中的初始存储节点数量,M为所述最佳分区数量区间的上限值。
以最佳分区数量区间为100至200为例,由于最佳分区数量区间的上限值是下限值的两倍,且对对数进行了取整操作,就保证了初始分区数量在N*100~N*200范围内,若初始存储节点的数量为100,则根据公式2^[log2(N*M)]可以计算出初始分区数为16384,在100*100~100*200范围内,将这些分区均匀分布在各存储节点之后,每个存储节点承载的平均分区数量大概为163或164,处于最佳分区数量区间中。
603、根据所述初始分区数量进行分区。
604、确定初始分区视图。
其中,确定的初始分区视图需尽量保证将各分区均匀分布至各存储节点上。
605、按照初始分区视图将分区分配至各存储节点
606、将初始分区数量和初始分区视图发送给分布式存储系统中的对象存储设备OSD。
本申请的实施例提供的数据分区的方法,在对分布式存储系统初始化的过程中,会按照每个存储节点能够承载的最佳分区数量区间来确定分区数量,并进行分区,可以使得每个存储节点承载的初始平均分区数量处于最佳分区数量区间中,可以提高分布式存储系统的性能,避免了出现资源浪费以及负载不均衡的情况出现,提高了数据的可靠性。
上述主要从主节点的角度对本申请实施例提供的方案进行了介绍。可以理解的是,主节点中包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请的实施例可以根据上述方法示例对主节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
再次用对应各个功能划分各个功能模块的情况下,本申请的实施例提供一种数据分区的装置,该装置可以为上述实施例中的主节点。如图7所示,图7示出了上述实施例中所涉及的主节点的一种可能的结构示意图。该装置包括:确定模块701,增加模块702,分区模块703,分配模块704,发送模块705。其中,确定模块701用于支持主节点执行图3中的步骤301,图5中的步骤304和305,以及图6中的步骤601、602、604。增加模块702,用于支持主节点执行图3中的步骤302。分区模块703,用于支持主节点执行图3中的步骤303和图6中的步骤603。分配模块704,用于支持主节点执行图5中的步骤306和图6中的步骤605。发送模块705,用于支持主节点执行图6中的步骤606。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图8示出了上述实施例所涉及的数据分区的装置的另一种可能的结构示意图,如图8所示,该装置包括:处理器802、收发器803、存储器801以及总线804。其中,收发器803、处理器802以及存储器801通过总线804相互连接;总线804可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器801,用于存储该装置的程序代码和数据。收发器803,用于支持该装置与其他网络实体间的通信。处理器802,用于对该装置的动作进行控制管理,例如,处理器802用于执行图3中的步骤301至步骤303,和/或用于本文所描述的技术的其它过程。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据分区的方法,其特征在于,包括:
当检测到新增存储节点时,确定分布式存储系统中每个存储节点承载的平均分区数量,所述平均分区数量为当前分区总数量与存储节点总数量的比值;
若所述平均分区数量小于预设值,则根据所述预设值以及所述存储节点总数量,将分区总数量增加至目标分区总数量,以使得所述平均分区数量达到所述预设值;
按照所述目标分区总数量进行数据分区。
2.根据权利要求1所述的数据分区的方法,其特征在于,在所述确定分布式存储系统中每个存储节点承载的平均分区数量之后,所述方法还包括:
若所述平均分区数量大于所述预设值,则重新确定分区视图;
按照重新确定的分区视图将分区分配至各存储节点。
3.根据权利要求2所述的数据分区的方法,其特征在于,
所述目标分区总数量为所述当前分区总数量的2^X倍,其中,2^X为大于或等于所述存储节点总数量*所述预设值/所述当前分区总数量的最小值,X为正整数。
4.根据权利要求1至3中任一项所述的数据分区的方法,其特征在于,所述方法还包括:
确定每个存储节点能够承载的最佳分区数量区间;
根据所述最佳分区数量区间的上限值以及存储节点数量确定初始分区数量;
根据所述初始分区数量进行分区;
确定初始分区视图;
按照所述初始分区视图将分区分配至各存储节点;
将所述初始分区数量和所述初始分区视图发送给所述分布式存储系统中的对象存储设备OSD。
5.根据权利要求4所述的数据分区的方法,其特征在于,
所述初始分区数量为对2^[log2(N*M)]进行取整操作得到的值,其中,N为所述分布式存储系统中的初始存储节点数量,M为所述最佳分区数量区间的上限值。
6.一种数据分区的装置,其特征在于,包括:
确定模块,用于当检测到新增存储节点时,确定分布式存储系统中每个存储节点承载的平均分区数量,所述平均分区数量为当前分区总数量与存储节点总数量的比值;
增加模块,用于若所述确定模块确定的所述平均分区数量小于预设值,则根据所述预设值以及所述存储节点总数量,将分区总数量增加至目标分区总数量,以使得所述平均分区数量达到所述预设值;
分区模块,用于按照所述目标分区总数量进行数据分区。
7.根据权利要求6所述的数据分区的装置,其特征在于,所述装置还包括:分配模块;
所述确定模块,用于若所述平均分区数量大于所述预设值,则重新确定分区视图;
所述分配模块,用于按照所述确定模块重新确定的分区视图将分区分配至各存储节点。
8.根据权利要求7所述的数据分区的装置,其特征在于,
所述目标分区总数量为所述当前分区总数量的2^X倍,其中,2^X为大于或等于所述存储节点总数量*所述预设值/所述当前分区总数量的最小值,X为正整数。
9.根据权利要求6至8中任一项所述的数据分区的装置,其特征在于,所述装置还包括发送模块;
所述确定模块,还用于确定每个存储节点能够承载的最佳分区数量区间;根据所述最佳分区数量区间的上限值以及存储节点数量确定初始分区数量;
所述分区模块,还用于根据所述确定模块确定的所述初始分区数量进行分区;
所述确定模块,还用于确定初始分区视图;
所述分配模块,还用于按照所述确定模块确定的所述初始分区视图将分区分配至各存储节点
所述发送模块,用于将所述确定模块确定的所述初始分区数量和所述初始分区视图发送给所述分布式存储系统中的对象存储设备OSD。
10.根据权利要求9所述的数据分区的装置,其特征在于,
所述初始分区数量为对2^[log2(N*M)]进行取整操作得到的值,其中,N为所述分布式存储系统中的初始存储节点数量,M为所述最佳分区数量区间的上限值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710281461.4A CN108804018A (zh) | 2017-04-26 | 2017-04-26 | 一种数据分区的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710281461.4A CN108804018A (zh) | 2017-04-26 | 2017-04-26 | 一种数据分区的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804018A true CN108804018A (zh) | 2018-11-13 |
Family
ID=64069190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710281461.4A Pending CN108804018A (zh) | 2017-04-26 | 2017-04-26 | 一种数据分区的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804018A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209348A (zh) * | 2019-04-17 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112615910A (zh) * | 2020-12-10 | 2021-04-06 | 中国科学院深圳先进技术研究院 | 一种数据流连接优化方法、系统、终端以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235606A1 (en) * | 2009-03-11 | 2010-09-16 | Oracle America, Inc. | Composite hash and list partitioning of database tables |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN103229151A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种分区扩展方法及装置 |
CN104702691A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | 分布式负载均衡方法和装置 |
-
2017
- 2017-04-26 CN CN201710281461.4A patent/CN108804018A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235606A1 (en) * | 2009-03-11 | 2010-09-16 | Oracle America, Inc. | Composite hash and list partitioning of database tables |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN103229151A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种分区扩展方法及装置 |
CN104702691A (zh) * | 2015-03-13 | 2015-06-10 | 华为技术有限公司 | 分布式负载均衡方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209348A (zh) * | 2019-04-17 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN110209348B (zh) * | 2019-04-17 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112615910A (zh) * | 2020-12-10 | 2021-04-06 | 中国科学院深圳先进技术研究院 | 一种数据流连接优化方法、系统、终端以及存储介质 |
CN112615910B (zh) * | 2020-12-10 | 2021-10-29 | 中国科学院深圳先进技术研究院 | 一种数据流连接优化方法、系统、终端以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475207B (zh) | 云应用的联合自动缩放 | |
EP3281359B1 (en) | Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu) | |
US10241841B2 (en) | Controlling virtual machine density and placement distribution in a converged infrastructure resource pool | |
US9817691B2 (en) | Migrating virtual machines based on relative priority of virtual machine in the context of a target hypervisor environment | |
US20170147399A1 (en) | Policy-based virtual machine selection during an optimization cycle | |
EP2921964B1 (en) | Partition expansion method and device | |
US8949848B2 (en) | Reducing usage of resource utilized by a virtual machine whose resource utilization is adversely affecting neighboring virtual machines | |
CN106133693B (zh) | 虚拟机的迁移方法、装置及设备 | |
US10365943B2 (en) | Virtual machine placement | |
GB2582223A (en) | Determining an optimal computing environment for running an image | |
EP3048529B1 (en) | Cloud system data management method | |
US11792275B2 (en) | Dynamic connection capacity management | |
US20150169339A1 (en) | Determining Horizontal Scaling Pattern for a Workload | |
TW201447763A (zh) | 虛擬主機控制系統及方法 | |
US10310738B2 (en) | Avoid out of space outage in a thinly provisioned box | |
CN108804018A (zh) | 一种数据分区的方法及装置 | |
Tziritas et al. | Online live VM migration algorithms to minimize total migration time and downtime | |
CN109960579A (zh) | 一种调整业务容器的方法及装置 | |
CN109788006B (zh) | 数据均衡方法、装置及计算机设备 | |
US20160117107A1 (en) | High Performance Hadoop with New Generation Instances | |
JP2014167713A (ja) | 情報処理装置、情報処理システム、情報処理装置管理プログラム及び情報処理装置管理方法 | |
CN105718297A (zh) | 虚拟机建立系统以及方法 | |
CN106922187B (zh) | 用于低影响备份的系统、方法、及计算机程序产品 | |
US11704145B1 (en) | Infrastructure-based risk diverse placement of virtualized computing resources | |
US9104481B2 (en) | Resource allocation based on revalidation and invalidation rates |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |
|
RJ01 | Rejection of invention patent application after publication |