云存储文件系统技术方案

技术编号:9489991 阅读:60 留言:0更新日期:2013-12-25 23:47
本发明专利技术公开了一种云存储文件系统,在Hadoop分布式文件系统基础之上实现日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统包括快照单元,克隆单元,块压缩单元,缓存单元等等。本发明专利技术的优点在于通过封装HDFS(Hadoop?Distributed?File-System)接口实现HLBS(Hadoop?Log-Structured?Block-Storage?System)的接口,在此基础上实现LBS(Log-Structured?Block-Storage?System),最终实现创新型Hadoop分布式日志结构块存储系统,从而实现对数据的随机读写以及I/O效率的提高,同时包含快照,克隆等功能。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种云存储文件系统,在Hadoop分布式文件系统基础之上实现日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统包括快照单元,克隆单元,块压缩单元,缓存单元等等。本专利技术的优点在于通过封装HDFS(Hadoop?Distributed?File-System)接口实现HLBS(Hadoop?Log-Structured?Block-Storage?System)的接口,在此基础上实现LBS(Log-Structured?Block-Storage?System),最终实现创新型Hadoop分布式日志结构块存储系统,从而实现对数据的随机读写以及I/O效率的提高,同时包含快照,克隆等功能。【专利说明】云存储文件系统
本专利技术涉及一种数据存储技术,特别涉及一种云存储文件系统。
技术介绍
HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS —般部署在集群环境中,而且这个集群环境是一个主从(master/slave)系统。在这个系统中有一个命名节点(Namenode)和若干个数据节点(Datanode),命名节点上存储着所有元数据(Meta-data),而数据节点上存储着所有用户数据,这些数据被组织成数据块的形式放在数据节点上,每个数据块默认存放在三个数据节点(可配置)上,用户的请求(读写等)都是通过命名节点,进而操作数据节点。HDFS—次写入不能更改,只可多次读取。一旦创建了一个HDFS文件,并且写入了数据,关闭之后就不能再修改这些数据了。这种方式简化了数据一致性,同时也使高数据吞吐量变为可能。但是,这种方式也限制了用户对数据的操作,这是HDFS的一个鲜明的缺点。日志结构文件系统(Log-StructuredFile System)最早由 John K.0usterhout 和Fred Douglis在1988年提出。这种设计是为了提高写数据吞吐量,所有对数据和元数据的更新都是以日志的形式追加,形成一个线性的数据结构。日志结构文件系统(LFS)会不断的追加日志结构,日志中元数据的数据量有可能大于可用数据,每次更新都会产生元数据,那么存储空间就成为我们关注的核心问题,这么多的冗余数据应该如何处理。这就是日志结构文件系统的缺点。虽然,中国专利CN201010624684.4公开了一种分布式文件系统的数据存储处理方法,其特征在于,包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。上述技术方案能够提高分布式文件系统的系统稳定性,但并没能进一步解决冗余数据问题。类似的专利技术还有很多,但都程度不同地存在着稳定性和实用性不佳的问题,尚有待于进一步改进完善。
技术实现思路
本专利技术的目的在于提供一种云存储文件系统,可以实现对数据的随机读写以及I/O效率的提闻,从而解决上述问题。为实现上述专利技术目的,本专利技术的技术方案是:一种云存储文件系统,包括=Hadoop分布式文件系统和日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统是基于日志结构文件系统理念而实现随机读写,它还包括快照单元,克隆单元,块压缩单元,缓存单元。作为本专利技术的优选实施例,所述Hadoop分布式文件系统包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。在本专利技术中,HLBS的磁盘数据格式与一般文件系统无多大差异,都是借助于datablock、indirect block、inode等结构。所不同之处在于LBS会将磁盘(这里是HDFS的存储池)分割成有序的segment进行管理,当前活跃的segment只有一个(也就是日志的逻辑尾的segment)。这些segment逻辑上头尾相连组成线性logs,任何对文件的更新(datablock、indirect block、inode等等)都会以追加方式写入一个新的log-显然这么做的好处是保证了磁头的顺序移动,提高了吞吐量;而带来的麻烦是需要回收前期写入的旧数据(修改过的),否则磁盘迟早会写满。综上所述我们设计的基本思路是——利用HDFS为我们提供可靠的、分布式的存储介质;然后在其上实现LBS。其中log是我们数据持久化的一个基本写入单位,对于写透需求来说,实际上每次写入动作都会产生一个新的log,而每次的log大小不尽相同。log的内容显然必须包含被写入的数据块,还需要包含对应的元数据(索引块等)信息,以及元数据的元信息(inode),这样才能完成对数据的索引。任何文件或者目录的修改,LBS都需要向log中写入如上几部分信息,而且要求严格“按照顺序写入(in-order semantics)”——其目的是为了崩溃时能尽可能恢复数据一致性。读取文件最新数据时需要通过找到最新的inode map位置,再进而找到所需文件对应inode,再进而找到文件逻辑地址对应的数据块的物理地址(段号+offset),再进而读取数据。最新的Inode map位置理应记录在checkpoint文件中,HDFS初始化加载时读入;如果运行中则该inode map驻留于内存数据结构中。文件块大小是可变的(可配置),比如8k。对于不足一个块的修改,一定会伴随先读出完整块再修改,再追加这一过程。具体来说,LBS是基于LFS的理念,但是又不同于LFS。LBS简化了 LFS,通过LFS的设计理念设计并实现了块级别的日志存储系统,同时在LBS之上实现了快照(线性快照和树形快照),克隆,块压缩,缓存等技术。同时,对HDFS也进行了改进,实现了副本迁移,在无网络环境下,可以实现本地启动虚拟机等功能。采用了上述技术方案,本专利技术的有益效果为:通过封装HDFS接口,实现HLBS的接口,在此基础上实现LBS,最终实现创新型Hadoop分布式日志结构块存储系统,HLBS吸取了HDFS和LBS的各自优点,同时弥补了各自的缺点,从而实现对数据的随机读写以及1/0效率的提闻,同时包含快照,克隆等功能。【专利附图】【附图说明】图1为本专利技术HLBS实现原理图。【具体实施方式】下面结合实施例对本专利技术进一步说明。实施例:一种云存储文件系统,包本文档来自技高网
...

【技术保护点】
一种云存储文件系统,其特征在于,包括:Hadoop分布式文件系统和日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统包括随机读写单元、快照单元、克隆单元、块压缩单元和缓存单元。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈莉君康华贾威威王博
申请(专利权)人:西安邮电大学
类型:发明
国别省市:

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

1