[发明专利]一种面向海量小文件的分布式存储方法在审
申请号: | 201510940679.7 | 申请日: | 2015-12-15 |
公开(公告)号: | CN105573674A | 公开(公告)日: | 2016-05-11 |
发明(设计)人: | 陈霸东;肖建锋;郑南宁 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 海量 文件 分布式 存储 方法 | ||
技术领域
本发明涉及数据存储领域,尤其涉及分布式存储系统数据路由方法。
背景技术
更加普及的互联网、疯狂生长的移动互联网、正在萌芽的物联网,使得个人、企业在 各类应用上的状态信息发生井喷。这些数据具有容量大、形式多、速率高的显著特点,传 统的数据管理系统对其进行处理已显吃力。这对信息科学提出了新的需求,也期盼拥有更 高性能的计算系统能应用于生产实践当中。对此,国内外学者设计了形式各样的分布式文 件系统来满足井喷式数据的需求。近年来兴起的各类云存储系统、NoSQL都是从不同的 角度关注数据剧增问题。
数据规模变大时,需要增加机器数目,即实现系统的横向扩展,将数据分散到各个存 储节点,实现分布式存储。如何将数据均衡分布在各个机器,又能在查询阶段迅速找到对 应的数据,就是数据分片与数据路由问题。每份数据都拥有多个副本以保证容灾,这就是 数据复制过程。数据复制还有利于提高读操作的效率,客户端可以从副本中选择访问速度 较快的一个进行访问,达到数据流分流的目的。在设计分布式文件系统时,数据路由策略 是关键。如果数据分片与路由策略设计不合理,有可能导致不必要的大规模数据迁移。如 果对数据复制与一致性考虑不周全,有可能导致系统出错。
数据量骤增的现象催生出了各类大型分布式文件系统。早前的这些系统在特定应用场 景的存储性能较为优异。但当程师们使用这些系统的设计思想去处理数量庞大的小文件 时,发现其效果并不理想,主要是使用磁盘存储小文件会带来空间利用率问题与磁盘I/O 挑战。对海量小文件带来的问题,存储系统需要做出一定的调整,提高磁盘的空间利用率, 优化读写流程。主要思路为:将元数据与文件实际内容分开处理,元数据保存在主控节点 的内存中,文件实际内容合并成大文件再保存在存储集群的磁盘中,存储节点通过内存索 引检索文件实际内容。
现有的分布式存储方法中尚无针对海量小文件存储效率和存储空间利用率等问题提 出较好的解决办法。同时对于数据容灾等问题也缺少考虑。
发明内容
本发明的目的在于提供一种面向海量小文件的分布式存储方法。
为达到上述目的,本发明采用了以下技术方案:
步骤1、在存储集群初始化阶段,将数据副本数设置为K,将存储节点分配在N个网 段,每个网段包含M个存储节点,其中,N大于K;
步骤2、在存储集群初始化阶段,创建P个数据分区,将所述P个数据分区称为写入 窗口,数据分区的数量P由用户设定,一个数据分区由K个大文件组成,K个大文件分 别存储在不同网段的存储节点上;在写入窗口的各个数据分区上设置用于标记的序号,将 写入窗口的各个数据分区的可写标志位设置为可写;
步骤3、存储小文件时,从写入窗口中选择一个数据分区,以追加写的方式将该小文 件写入该数据分区;
步骤4、当某个数据分区存储的数据量到达阈值时,将该数据分区从写入窗口中剔除, 当数据分区数量少于P时,参考存储集群中存储节点的实时负载状态和计算性能创建一 个新的数据分区,并纳入写入窗口。
所述步骤1中,数据副本数K是指存储系统为了实现数据容灾而将同一份数据复制 为多个备份的数量。
所述步骤2中,数据分区的数量P一般等于存储节点总数量。
所述步骤3具体包括以下步骤:
A1、以随机的方式从写入窗口中选出一个数据分区作为待写入分区;
A2、若待写入分区的可写标志位为不可写,则执行步骤A3;若待写入分区的可写标 志位为可写,则执行步骤A4;
A3、按序号递减的方式遍历写入窗口找到一个可写标志位为可写的数据分区并作为 待写入分区,然后执行步骤A4;若写入窗口中不存在可写标志位为可写的数据分区,则 参考存储集群中存储节点的实时负载状态和计算性能创建一个新的数据分区作为待写入 分区,并纳入写入窗口,然后执行步骤A4;
A4、将待写入分区的可写标志位设置为不可写,然后执行步骤A5;
A5、从待写入分区对应的存储节点中随机选出1个作为第一个写入小文件的存储节 点,该存储节点再将小文件复制到待写入分区的其它存储节点,然后执行步骤A6;
A6、将待写入分区的可写标志位设置为可写。
所述阈值由用户设定。
创建一个新的数据分区包括以下步骤:
B1、从N个网段中随机选出K个网段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510940679.7/2.html,转载请声明来源钻瓜专利网。