云存储系统中可变分块大小的块数据分块方法

文档序号:6437713阅读:752来源:国知局
专利名称:云存储系统中可变分块大小的块数据分块方法
技术领域
本发明属于通信技术领域,涉及一种可用于云存储中块数据存储的分块方法,用于云存储系统中进行文件分割,将文件以最优分块大小进行存储,使得云存储系统拥有更好的文件均勻度。
背景技术
现有的云存储系统均采用了固定文件分块大小的存储策略,Google文件系统与 Hadoop分布式文件系统是这一策略应用的代表。Google文件系统采用了 64MB的固定文件分块大小策略,这个尺寸远远大于传统文件系统的分块甚至是文件的大小,每个块及其副本都以普通Linux文件的形式保存在块服务器上。Google文件系统采用这种固定文件分块大小策略的一个好处是能一定程度上减少磁盘的碎片文件数。同时,选用较大的分块参数如64M,会使得分块数目降低,带来了另外一个好处是减少了客户端和元数据服务器通讯的次数和元数据服务器需要保存的元数据数量。然而,这种固定文件分块大小策略只能一定程度上提高系统性能,并不是一个完善的方案,主要缺点如下1.容易引起磁盘碎片。固定分块大小策略的弱点在于对64.0001M的文件, 其0. 0001M的文件存储于另外一个节点上,这样会加剧产生磁盘碎片,同时,需要为这 0. 0001M的文件做一个元数据的索引,在并行传输时再做一次网络连接,因而,与在一个节点上将这个文件整体存储相比,这是一种极大的浪费,并且不利于并行传输与热点文件负载均衡问题。2.容易因热点文件访问过大造成系统过载,尤其是对于小文件将包含较少的块, 甚至只有一个块造成系统过载。当有许多的客户端对同一个小文件进行多次的访问时,存储这些文件块的服务器就会变成热点,存放这个文件的几个块服务器被数百个客户端的并发请求访问导致系统局部过载。3.并行计算时会造成负载不均。分块常被用于云计算的map/reduce过程,固定分块大小策略会造成分块的不均,例如,始终存在许多较大的和一个较小的分块。存储过小分块的节点往往需要存储较大的分块节点计算完毕后,系统才能最后整合结果,这样的并行处理过程会因为分块不均而造成计算资源利用不充分,势必会造成性能的损失。存储较小分块的节点任务往往提前完成,负载相对较小,存储较大分块的节点处理的过程较长,这种负载的不均会造成开启新的任务节点相应的快慢,所以会产生较大的延迟,降低了计算效率。

发明内容
本发明的目的在于针对上述已有技术的问题,提出一种云存储中可变分块大小的块数据分块方法,以避免磁盘碎片的出现,提高空间使用率,实现负载均衡,提高云存储系统的使用效率。为实现上述目的,本发明包括如下步骤(1)由云存储系统确定η个分块大小的标准dpi = 1,2...,n,并将这些标准按照从小到大的顺序排列,得到分块因子向量D = (Cl1, d2,. . .,dj ;(2)对于要存储到云存储系统中的文件,由云存储系统先得到该文件的大小 size,及热度标志位flag,再将该文件大小size与分块因子向量D中的最小因子Cl1进行比较,若文件大小size小于Cl1,则不需要进行分块,执行步骤(3),反之执行步骤(4);(3)判断文件热度标志flag是否为1,若为1,则对该文件进行复制,并将复制的文件存储在多个存储节点,结束分块;若flag不为1,则直接将该文件存储在单个存储节点上,结束分块;(4)设分组因子向量D中的Cli = dn,i = 1,2,. . .,n,即从最大的分组因子dn开始作为分块的判定标准,执行步骤(5);(5)将分组因子Cli与文件的大小size进行比较,若size% (Ii <屯/2,则分块的大小为屯,即Cli为最终确定的最合适的分块大小,结束分块;若size% Cli > (1乂2,则执行步骤 (6);(6)令 i = i-1 ;执行步骤(5)。本发明与现有技术相比具有如下优点本发明由于对文件大小小于最小分块大小因子Cl1的文件不进行分块,直接以整体文件进行存储,避免了占用大的文件块,因而提高了空间利用率;1)本发明由于最终确定的文件分块大小屯就是最小文件分块,所以不会出现小于 Cli的文件分块碎片,故避免了磁盘碎片问题的出现。2)本发明由于对热点文件使用了复制备份方法,使得当读取热点文件时,可以通过读取多个热点文件备份进行,解决了因热点文件存储在单个节点而引起该节点的负载过载,因而实现了负载均衡。3)本发明由于提高了空间利用率,并避免了磁盘碎片问题,而且实现了存储节点的负载均衡,因而提高了云存储系统使用效率。


图1为本发明提出的分块方法执行流程图。
具体实施例方式参照图1,本发明给出如下三种实施例实例1 对大小小于4M,热度标志为1的文件进行分块步骤1,云存储系统按经验以及云应用的需求,确定最佳的分块因子向量为D = Id1, d2,. . .,dn},屯,i = 1,2. . .,n为η个从小到大排列的分块因子,在实际系统中,最好的 φ, i = 1,2···,η取值为当η = 6 时,取Cl1 = ^d2 = SiCl3= 16,d4 = 32,d5 = 64,d6 = 128,即 D= {4,8,16,32,64,128} 步骤2,云存储系统得到文件大小为size,size < 4M byte,由于该文件的大小小于分块因子向量D中的最小分块因子,则不需要进行分块,所得到的文件块的大小即为文件最终的大小。步骤3,云存储系统再获取文件热度标志flag = 1,表示该文件为热文件,因而需要进行复制存储,即将文件复制三个备份,并分别存储到三个存储节点上,存储结束后,即分块结束。实例2 对大小小于4M,热度标志为0的文件进行分块步骤一,云存储系统按经验以及云应用的需求,确定最佳的分块因子向量为D = Id1, d2,. . .,dn},屯,i = 1,2. . .,n为η个从小到大排列的分块因子,在实际系统中,最好的 φ, i = 1,2···,η取值为当η = 6 时,取Cl1 = ^d2 = SiCl3= 16,d4 = 32,d5 = 64,d6 = 128,即 D= {4,8,16,32,64,128} 步骤二,云存储系统得到文件大小为size,size < 4M byte,由于该文件的大小小于分块因子向量D中的最小分块因子,则不需要进行分块,所得到的文件块的大小即为文件最终的大小。步骤三,云存储系统再获取文件热度标志flag = 0,表示该文件不是热文件,故直接将该文件存储到1个存储节点上,存储结束,即分块方法结束。 实例3 对大小大于4Mbyte的文件进行分块步骤A,云存储系统按经验以及云应用的需求,确定最佳的分块因子向量为D = Id1, d2,. . .,dn},屯,i = 1,2. . .,n为η个从小到大排列的分块因子,在实际系统中,最好的 φ, i = 1,2···,η取值为当η = 6 时,取Cl1 = ^d2 = SiCl3= 16,d4 = 32,d5 = 64,d6 = 128,即 D= {4,8,16,32,64,128} 步骤B,云存储系统得到文件大小为size,size > 4Mbyte,由于该文件大小大于D 中的最小分块因子,则需要进行分块,执行步骤C。步骤C,根据分块因子向量D = {4,8,16,32,64,128}中包含的6个分块因子,故以d6 = 128作为初始分块因子开始进行分块判断,即将分组因子d6与文件的大小size进行比较,若d6 < d6/2,则分块的大小为d6,该d6为最终确定的最合适的分块大小,结束分块;若size% d6 > d6//2,则令Cli = Cl5 = 64作为分块因子,执行步骤D ;步骤D,将分组因子Cli与文件的大小size进行比较,若size% (Ii <屯/2,则分块的大小为屯,即Cli为最终确定的最合适的分块大小,结束分块;若size% Cli >屯/2,则执行步骤E ;步骤E,令i = i_l,执行步骤D。以上仅为本发明的几个实例并不构成对本发明的任何限制,显然在本发明的构思下,可进行参数或条件的改变,但这些均在本发明的保护之列。
权利要求
1. 一种云存储系统中可变分块大小的块数据分块方法,包括如下步骤(1)由云存储系统确定η个分块大小的标准C^i= 1,2...,η,并将这些标准按照从小到大的顺序排列,得到分块因子向量D = ((I1, d2,. . .,dj ;(2)对于要存储到云存储系统中的文件,由云存储系统先得到该文件的大小size,及热度标志位flag,再将该文件大小size与分块因子向量D中的最小因子Cl1进行比较,若文件大小size小于Cl1,则不需要进行分块,执行步骤(3),反之执行步骤(4);(3)判断文件热度标志flag是否为1,若为1,则对该文件进行复制,并将复制的文件存储在多个存储节点,结束分块;若flag不为1,则直接将该文件存储在单个存储节点上,结束分块;(4)设分组因子向量D中的Cli= dn,i = 1,2,. . .,n,即从最大的分组因子《开始作为分块的判定标准,执行步骤(5);(5)将分组因子Cli与文件的大小size进行比较,若size%(Ii < d,/2,则分块的大小为屯,即屯为最终确定的最合适的分块大小,结束分块;若Size^di >屯/2,则执行步骤(6);(6)令i= i-1 ;执行步骤(5)。
全文摘要
本发明公开了一种在云存储系统中采用动态自适应的方法对存储文件进行分块存储的方法,主要解决现有技术中因使用固定分块大小而引起的空间利用率低和磁盘碎片问题。其实现方案是云存储系统先制定一个分组因子向量,当需要存储文件时,先得到该文件的大小和热度标志,当该文件大小小于最小分组因子时,用该文件最终的大小;若热度标志是1,则对该文件进行复制存储,反之,则直接将该文件存储到单个节点上;当文件大小大于最小分组因子时,通过将文件大小与分组因子进行比较,得到最优分块大小。本发明比固定分块方法具有更好的文件均匀度,同时相对于固定分块能更好的解决由于热点文件引起的负载均衡问题,特别适合于云存储系统。
文档编号G06F17/30GK102508902SQ20111035057
公开日2012年6月20日 申请日期2011年11月8日 优先权日2011年11月8日
发明者李晖, 樊凯, 王康, 赵黎斌, 陈曦 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1