[发明专利]一种基于主从分布式文件系统的海量小文件存储方法有效
申请号: | 201310009182.4 | 申请日: | 2013-01-10 |
公开(公告)号: | CN103020315A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 王蕾;何连跃;徐叶;李姗姗;戴华东;吴庆波;丁滟;黄辰林;付松龄 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 主从 分布式 文件系统 海量 文件 存储 方法 | ||
技术领域
本发明涉及海量小文件在面向海量大文件存储的主从分布式文件系统上的存储方法。
背景技术
随着新型计算技术的发展,无论是企业还是个人的数据都开始迅速增长。海量数据增长带来的不仅仅是存储容量问题,还给数据管理、存储性能带来了挑战,成为云计算时代需要解决的核心问题。为了保证数据的高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证数据的可靠性。为了满足大量用户的需求,云计算的存储技术必须具有高吞吐率和高传输率。针对云计算的数据存储问题,工业界和学术界提出了多种解决方案,这其中包括Google文件系统GFS,Hadoop开源文件系统HDFS、面向半结构化和结构化数据存储的NoSQL存储系统Dynamo、Cassandra、MongoDB等。
在云计算早期,存储系统的设计主要面向海量大文件的高效存储和访问,对小文件的支持较弱,但是随着个人终端和移动互联网的发展,小文件在云存储系统内所占的比例越来越高,海量小文件的高效存储和访问成为需要迫切解决的问题。小文件指的是大小从几KB到几十KB的文件。例如,淘宝网,需要存储海量的商品图片,这些图片都是小文件;谷歌、百度等搜索引擎需要从网络上抓取成万上亿的网页,这些网页都是小文件。万亿数量规模的小文件构成了海量小文件,如果海量小文件不能高效存储,将会导致面对海量小文件应用实现不了或者满足不了客户的要求。本发明主要解决海量小文件的高效存储问题。
主从分布式文件系统的体系结构如附图1所示。此类分布式文件系统由一个集中式的元数据服务器(也称为元数据结点)和多个分布式的数据服务器(也称为数据结点)组成。元数据服务器管理文件系统的元数据,包括文件系统的目录结构,每个文件的存储位置、大小、各种属性等内容。数据服务器存储文件系统的数据,即文件本身。客户端访问主从分布式文件系统时,首先访问元数据服务器,获取文件的元数据信息,然后根据这些信息,访问存储对应文件的数据服务器,获得文件。此类文件系统的优点在于设计实现简单、容易管理,可通过简单的技术实现高容错、高可靠、高吞吐率的设计。缺点是,如果采用单个元数据服务器,则其会成为系统访问的性能瓶颈,并且容易出现单点失效。如果采用元数据服务器集群,则会导致元数据管理复杂,并且降低元数据访问的效率。
此类分布式文件系统的典型代表是Google文件系统GFS,Hadoop文件系统HDFS,Luster、PVFS等。其中HDFS是开源的,它能够运行在通用硬件平台上。运行HDFS的集群由一个元数据结点和多个数据结点组成。HDFS是一个高度容错性的系统,适合部署在廉价的计算机上,提供高吞吐量的数据访问,非常适合大规模的数据集上的应用,并支持流式读取文件系统的数据。
目前,主从分布式文件系统的存储海量小文件主要有以下几种方法:
方法一是Hadoop归档文件,简称HAR(Hadoop Archive)。为了解决HDFS中存储海量小文件会耗尽元数据结点的内存的问题,Hadoop提出了HAR归档文件的方法。通过HAR可以高效地将文件放入HDFS块中,在减少元数据结点内存使用的同时,仍然允许对文件进行透明的访问。该方法将多个小文件打包成一个HAR文件。但是HAR文件存在一些不足:首先,HAR文件一旦创建便不可修改,要增加或删除小文件,必须创建新HAR文件,其次,创建了HAR文件后,原来的小文件不会自动删除,需要手动去做删除。因此HAR文件在处理海量小文件时非常低效。
方法二是中科院Xuhui Liu,Jizhong Han等提出的Implementing WebGIS on Hadoop:A Case Study of Improving Small File I/O Performance on HDFS方法:将小文件打包,形成一个大文件,大文件的头部保存该文件内所有小文件的索引信息。该大文件作为主从分布式文件系统的文件存储。每次小文件检索,客户端首先查询元数据服务器,获得大文件的元数据信息,客户端再与数据服务器交互,读取大文件,从头部获取索引信息,再读取后面的文件内容。由于面向海量大文件存储的分布式文件系统,多采用流式读取的方式,随机读取的效率低,延迟大,当多个客户端同时读取多个小文件的时候,效率很低,灵活性差。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310009182.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:显示动漫形象的手机
- 下一篇:一种基于具有拍照功能电子设备的保护罩