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.固定分段选取方法。该种方式根据故障域进行分段,在段内进行随机选取节点,这种方式提供了较好的可靠性,计算量也不大,但是由于故障域是固定的,因此分段也是固定的,数据分布结果的可能性十分有限; ...
【技术保护点】
一种分布式存储系统中数据分布的方法,其特征在于,所述方法包括:当所述分布式存储系统初始化时,加载初始化信息;其中,所述初始化信息包括所述分布式存储系统中的节点总数、单文件分配节点数以及文件块尺寸;当在所述分布式存储系统中写入目标文件时,根据所述目标文件的尺寸以及所述文件块尺寸,将所述目标文件划分为多个切片;在所述分布式存储系统中的节点中确定逻辑起始点,并根据所述节点总数和所述单文件分配节点数,确定逻辑分组长度;将所述分布式存储系统中的节点按照逻辑分组长度划分为多个逻辑组,并在各个逻辑组中分别选取一个偏移节点;基于所述逻辑起始点、各个偏移节点以及所述节点总数,确定物理分组;其中,所述物理分组中的节点的数量与所述偏移节点的数量相同;将根据所述目标文件划分得到的所述多个切片依次存放于所述物理分组内的各个节点中。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。