The invention relates to a method for small HDFS file write and read on, which is characterized in that the users to establish a file for each user, each user file is different with the file append operation by flow cytometry in the form of small files into the user file, and offset information using a relational database for small files the establishment of index records of small files, small files effectively solve the file format restrictions, users can also be appended to the small files at any time in the user's file to avoid caching of files to the server reaches a certain size after the upload, file security problems, finally through the establishment of index can effectively improve the efficiency of information retrieval for documents at the same time when accessing small files, less than a block file when the request is forwarded to the data processing server nodes reduce pressure and improve the Piece transfer efficiency.
【技术实现步骤摘要】
一种基于HDFS小文件写入和读取的方法
本专利技术属于文件存储
,具体涉及一种基于HDFS小文件写入和读取的方法。
技术介绍
随着互联网的高速发展,互联网中的数据也急剧的膨胀,为了给用户提供更好的服务,互联网企业就要保存和挖掘这些数据。由此产生了云计算的概念,云计算是当今研究的热门课题,它很好的解决了大数据的运算与存储的难题,其中云存储作为云计算的衍生也成为了国内外研究的热点,在众多云存储的研究中,Hadoop的分布式文件系统HDFS作为GoogleFileSystem的开源实现已成为业界研究云计算与云存储,实现云应用提供云服务参考的标准模型。HDFS可以用于大规模的分布式存储,能够构建一个易扩展、容错性高、高性能的云存储平台,并且它还为用户提供了一组可靠的稳定的接口可以使开发人员根据自己实际的需求进行开发和扩展,Hadoop目前已得到许多大公司的青睐,它在海量数据的存储与处理上表现优异得到了广泛的应用。采用HDFS文件系统能够有效地保持数据的一致性,适合一次写入多次读的场合,该架构可以搭建在任意的计算机上来运行,保障了可扩展性,HDFS的备份恢复机制与对分配任务的监控机制都保障了分布式存储的可靠性,HDFS采用的是流式文件读取非常适用于读取海量级数据。然而HDFS文件系统并非是完美的,它在海量小文件存取上有着一些限制。所以针对HDFS小文件存储问题现在已经有了一些解决方案:(1)将小文件存储到Hbase中通过文件合并与分解提高文件的存储效率,这种方案的缺点就是随着文件的增多会造成Hbase大量的合并与分解操作占用大量系统资源严重影响系统的性能,并且 ...
【技术保护点】
一种基于HDFS小文件写入和读取的方法,其特征在于,包括以下两部分:(1)文件的写入Sw1:发送上传文件请求;Sw2: 获取待上传文件的大小,并将待上传文件的大小值与设置的阈值进行比较,若待上传文件的大小小于设置的阈值,则认为是小文件,判断用户文件是否存在,若不存在,执行步骤Sw3;若存在,跳转至步骤Sw4;Sw3:在HDFS集群中建立新的用户文件并且用户文件的名称与用户ID一一对应,则将小文件以追加写的方式追加到用户文件中,跳转到步骤Sw5;Sw4:判断小文件大小是否大于用户文件剩余空间的大小,若是,跳转到步骤Sw3,若否,则以追加写的方式将小文件追加到用户文件中;Sw5:将小文件的元数据信息存入到关系型数据库中,并建立查询索引;(2)文件的读取Sr1:发送读取文件请求;Sr2:获取文件的大小,并将文件的大小与设置的阈值进行比较,若文件的大小小于设置的阈值时,跳转至Sr4,当文件大于设定的阈值时执行步骤Sr3;Sr3:如果文件大于设定的阈值并且小于一个文件块的大小,将其请求转发到数据节点上,通过函数得到文件块的相关信息,直接由数据节点来向客户端传送数据;Sr4:读取文件的偏移值与大小 ...
【技术特征摘要】
1.一种基于HDFS小文件写入和读取的方法,其特征在于,包括以下两部分:(1)文件的写入Sw1:发送上传文件请求;Sw2:获取待上传文件的大小,并将待上传文件的大小值与设置的阈值进行比较,若待上传文件的大小小于设置的阈值,则认为是小文件,判断用户文件是否存在,若不存在,执行步骤Sw3;若存在,跳转至步骤Sw4;Sw3:在HDFS集群中建立新的用户文件并且用户文件的名称与用户ID一一对应,则将小文件以追加写的方式追加到用户文件中,跳转到步骤Sw5;Sw4:判断小文件大小是否大于用户文件剩余空间的大小,若是,跳转到步骤Sw3,若否,则以追加写的方式将小文件追加到用户文件中;Sw5:将小文件的元数据信息存入到关系型数据库中,并建立查询索引;(2)文件的读取Sr1:发送读取文件请求;Sr2:获取文件的大小,并将文件的大小与设置的阈值进行比较,若文件的大小小于设置的阈值时,跳转至Sr4,当文件大于设定的阈值时执行步骤Sr3;Sr3:如果文件大于设定的阈值并且小于一个文件块的大小,将其请求转发到数据节点上,通过函数得到文件块的相关信息,直接由数据节点来向客户端传送数据;Sr4:读取文件的偏移值与大小,通过函数定位到小文件所在用户文件中的位置,根据元数据信息以流式的...
【专利技术属性】
技术研发人员:辛永欣,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。