一种分布式存储系统中数据分布的方法及装置制造方法及图纸

技术编号:16216113 阅读:45 留言:0更新日期:2017-09-15 22:16
本发明专利技术提供一种分布式存储系统中数据分布的方法及装置,其中,所述方法包括:当所述分布式存储系统初始化时,加载初始化信息;当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及文件块尺寸,将所述目标文件划分为多个切片;在所述分布式存储系统中的节点中确定逻辑起始点,并确定逻辑分组长度;将节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;基于所述逻辑起始点、各个偏移节点以及节点总数,确定物理分组;将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。本发明专利技术提供的技术方案,能够同时满足均衡性高、可靠性强、计算量小的评价指标。

Method and device for distributing data in distributed storage system

The invention provides a device and method of data distribution, a distributed storage system in which, the method includes: when the distributed storage system initialization, load initialization information; when writing to the target file in the distributed storage system, according to the target file size and file block size, the the target file is divided into a plurality of sections; determining the logical starting point of nodes in the distributed storage system, and to determine the logical block length; the nodes grouped into logical length divided into logical groups, and in each group were selected in a logical offset node; the logical starting point, each node offset and the total number of nodes based on the determined physical grouping; according to the target file divided by the plurality of sections are stored in the packet in the physical Among nodes. The technical proposal provided by the invention can simultaneously meet the evaluation indexes of high balance, strong reliability and small calculation amount.

【技术实现步骤摘要】
一种分布式存储系统中数据分布的方法及装置
本专利技术涉及数据存储
,特别涉及一种分布式存储系统中数据分布的方法及装置。
技术介绍
在分布式存储系统中,文件的数据内容以块为粒度进行切分并将其分散存储在不同的存储节点中,已成为一种通常的处理手段(以下简称分布式的处理手段)。块的尺寸可根据系统中普遍的文件尺寸进行设置,典型的块大小为4KB至4MB不等。相较于集中式的处理手段,分布式的处理手段通过数据块分散存储在不同节点,可以充分地发挥存储系统的并发处理能力。例如读取同一个尺寸为64MB的文件,集中式的处理手段产生的时延为一次读取64MB的时延,而分布式的处理手段产生的时延仅为64路并发读取1MB的时延,显然分布式的处理手段大幅降低了读取操作的时延。因此,文件的数据内容在以块为粒度切分之后,如何分布在各存储节点中,成为当前分布式存储系统领域的重要技术热点。一般地,评价一种数据分布方法的优劣,主要从均衡性、可靠性以及计算量方法进行考量。现有的数据分布方法包括:1.随机选取方法。该种方式在为数据块分配节点时完全随机,从宏观上来说,对于大规模的存储系统而言,各节点的数据块将会十分均衡;计算量也很小;但这种完全随机的方法无法显性地控制数据的各副本不在同一个故障域中,一种极端的情况甚至是同一文件的各数据块及副本被分配到同一节点中。另外,在小规模的存储系统中,各节点的均衡性难以保证。2.固定分段选取方法。该种方式根据故障域进行分段,在段内进行随机选取节点,这种方式提供了较好的可靠性,计算量也不大,但是由于故障域是固定的,因此分段也是固定的,数据分布结果的可能性十分有限;同时,在节点数量无法被段数整除的情况下,亦无法保证各段的节点数量相等,因此均衡性难以得到满足。3.哈希选取方法。该种方式为每一个切片分配一个全局唯一的号码,并通过某种计算规则求得散列值,然后对节点数进行求余操作,其余数即为切片所存储的节点。该种方法具有较好的均衡性,但计算量较大,可靠性略差。由上可见,现有技术中的数据分布存储方法,均无法同时满足均衡性高、可靠性强、计算量小的评价指标。
技术实现思路
本专利技术的目的在于提供一种分布式存储系统中数据分布的方法及装置,能够同时满足均衡性高、可靠性强、计算量小的评价指标。为实现上述目的,本专利技术提供一种分布式存储系统中数据分布的方法,所述方法包括:当所述分布式存储系统初始化时,加载初始化信息;其中,所述初始化信息包括所述分布式存储系统中的节点总数、单文件分配节点数以及文件块尺寸;当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及所述文件块尺寸,将所述目标文件划分为多个切片;在所述分布式存储系统中的节点中确定逻辑起始点,并根据所述节点总数和所述单文件分配节点数,确定逻辑分组长度;将所述分布式存储系统中的节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;基于所述逻辑起始点、各个偏移节点以及所述节点总数,确定物理分组;其中,所述物理分组中的节点的数量与所述偏移节点的数量相同;将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。进一步地,按照下述公式将所述目标文件划分为多个切片:其中,N表示切片的数量,K表示所述目标文件的尺寸,BlockSize表示所述文件块尺寸。进一步地,所述逻辑分组长度按照下述公式确定:其中,L表示所述逻辑分组长度,NodeNum表示所述节点总数,M表示所述单文件分配节点数,表示向下取整。进一步地,所述物理分组中的各个节点按照下述公式确定:Si=(Lstart+Li)%NodeNum其中,Si表示所述物理分组中第i个节点在所述分布式存储系统中的节点编号,Lstart表示所述逻辑起始点在所述分布式存储系统中的节点编号,Li表示第i个偏移节点在所述分布式存储系统中的节点编号,NodeNum表示所述节点总数,%表示取余运算。进一步地,所述初始化信息中还包括文件副本个数,并且所述文件副本个数为大于或者等于2的整数;相应地,在确定物理分组之后,所述方法还包括:将所述物理分组继续划分为与所述文件副本个数相匹配的物理子分组,并分别将各个文件副本存储至相应的物理子分组中。为实现上述目的,本申请还提供一种分布式存储系统中数据分布的装置,所述装置包括:初始化信息加载单元,用于当所述分布式存储系统初始化时,加载初始化信息;其中,所述初始化信息包括所述分布式存储系统中的节点总数、单文件分配节点数以及文件块尺寸;切片划分单元,用于当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及所述文件块尺寸,将所述目标文件划分为多个切片;逻辑分组长度确定单元,用于在所述分布式存储系统中的节点中确定逻辑起始点,并根据所述节点总数和所述单文件分配节点数,确定逻辑分组长度;偏移节点确定单元,用于将所述分布式存储系统中的节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;物理分组确定单元,用于基于所述逻辑起始点、各个偏移节点以及所述节点总数,确定物理分组;其中,所述物理分组中的节点的数量与所述偏移节点的数量相同;切片存放单元,用于将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。进一步地,所述切片划分单元按照下述公式将所述目标文件划分为多个切片:其中,N表示切片的数量,K表示所述目标文件的尺寸,BlockSize表示所述文件块尺寸。进一步地,所述逻辑分组长度确定单元按照下述公式确定所述逻辑分组长度:其中,L表示所述逻辑分组长度,NodeNum表示所述节点总数,M表示所述单文件分配节点数,表示向下取整。进一步地,所述物理分组确定单元按照下述公式确定所述物理分组中的各个节点:Si=(Lstart+Li)%NodeNum其中,Si表示所述物理分组中第i个节点在所述分布式存储系统中的节点编号,Lstart表示所述逻辑起始点在所述分布式存储系统中的节点编号,Li表示第i个偏移节点在所述分布式存储系统中的节点编号,NodeNum表示所述节点总数,%表示取余运算。进一步地,所述初始化信息中还包括文件副本个数,并且所述文件副本个数为大于或者等于2的整数;相应地,所述装置还包括:物理子分组划分单元,用于将所述物理分组继续划分为与所述文件副本个数相匹配的物理子分组,并分别将各个文件副本存储至相应的物理子分组中。由上可见,本申请在分布式存储系统中写入目标文件时,可以将目标文件划分为多个切片,然后通过设置逻辑组合物理分组的方法,能够保证写入数据时在各个节点中的均衡性。此外,在确定逻辑组和物理分组时,采用的都是极其简单的运算方法,从而有效地减少了系统的运算量。由于系统的运算量减小,从而保证系统能够避免处于高负载的状态,从而也提高了系统的可靠性。附图说明图1是本申请中分布式存储系统中数据分布的方法流程图;图2是本申请中目标文件的写入示意图;图3是本申请中分布式存储系统中数据分布的装置功能模块图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本文档来自技高网
...
一种分布式存储系统中数据分布的方法及装置

【技术保护点】
一种分布式存储系统中数据分布的方法,其特征在于,所述方法包括:当所述分布式存储系统初始化时,加载初始化信息;其中,所述初始化信息包括所述分布式存储系统中的节点总数、单文件分配节点数以及文件块尺寸;当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及所述文件块尺寸,将所述目标文件划分为多个切片;在所述分布式存储系统中的节点中确定逻辑起始点,并根据所述节点总数和所述单文件分配节点数,确定逻辑分组长度;将所述分布式存储系统中的节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;基于所述逻辑起始点、各个偏移节点以及所述节点总数,确定物理分组;其中,所述物理分组中的节点的数量与所述偏移节点的数量相同;将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。

【技术特征摘要】
1.一种分布式存储系统中数据分布的方法,其特征在于,所述方法包括:当所述分布式存储系统初始化时,加载初始化信息;其中,所述初始化信息包括所述分布式存储系统中的节点总数、单文件分配节点数以及文件块尺寸;当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及所述文件块尺寸,将所述目标文件划分为多个切片;在所述分布式存储系统中的节点中确定逻辑起始点,并根据所述节点总数和所述单文件分配节点数,确定逻辑分组长度;将所述分布式存储系统中的节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;基于所述逻辑起始点、各个偏移节点以及所述节点总数,确定物理分组;其中,所述物理分组中的节点的数量与所述偏移节点的数量相同;将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。2.根据权利要求1所述的方法,其特征在于,按照下述公式将所述目标文件划分为多个切片:其中,N表示切片的数量,K表示所述目标文件的尺寸,BlockSize表示所述文件块尺寸。3.根据权利要求1所述的方法,其特征在于,所述逻辑分组长度按照下述公式确定:其中,L表示所述逻辑分组长度,NodeNum表示所述节点总数,M表示所述单文件分配节点数,表示向下取整。4.根据权利要求1所述的方法,其特征在于,所述物理分组中的各个节点按照下述公式确定:Si=(Lstart+Li)%NodeNum其中,Si表示所述物理分组中第i个节点在所述分布式存储系统中的节点编号,Lstart表示所述逻辑起始点在所述分布式存储系统中的节点编号,Li表示第i个偏移节点在所述分布式存储系统中的节点编号,NodeNum表示所述节点总数,%表示取余运算。5.根据权利要求1所述的方法,其特征在于,所述初始化信息中还包括文件副本个数,并且所述文件副本个数为大于或者等于2的整数;相应地,在确定物理分组之后,所述方法还包括:将所述物理分组继续划分为与所述文件副本个数相匹配的物理子分组,并分别将各个文件副本存储至相应的物理子分组中。6.一种分布式存储系统中数据分布的装置,其特征在于,所述装置包括:初始化信息加载单元,用于当所述分...

【专利技术属性】
技术研发人员:强慧媛杨洪章
申请(专利权)人:南京城市职业学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1