云计算中 HDFS 数据存储策略研究

2022-04-29 17:40徐可飞
计算机应用文摘 2022年19期
关键词:云计算

摘要:针对在云计算中HDFS存储小文件数据读取率低、时间长和内存消耗大等缺点,文章提出了一种分布式缓存方案策略,通过每个DataNode节点缓存处理客户端频繁访问的小文件,从而显著降低了DataNode磁盘访问的频率,提高了数据的存储效率,以期为云计算中的存储技术提供科学参考。

关键词:云计算;HDFS;小文件;方案策略

中图法分类号:TP333文献标识码:A

Research on HDFS data storage strategy in cloud computing

XU Kefei

(Jinan Software Research Institute of China United Network Communication Co.,Ltd.,Jinan 250100,China)

Abstract:In view of the shortcomings of low data reading rate, long time and large memory consumption of small files are stored in HDFS in cloud computing, a distributed caching scheme strategy is proposed. Each DataNode caches and processes small files frequently accessed by clients, which significantly reduces the frequency of DataNode disk access and improves the storage efficiency of data, in order to provide scientific reference for storage technology in cloud computing.

Key words: cloud computing, HDFS,small file, scheme strategy

近年来,随着计算机和互联网应用技术的快速发展,云计算作为一种新的计算模式应用而生。云计算是基于互联网整合各种计算资源,通过软件实现自动化管理,用户可以按照需求获取各种资源的模式。云计算具有服务针对性、灵活便捷、虚拟化、可度量性和动态可扩展的特点。云计算技术已经普遍应用在各种互联网服务中,通过云端共享数据资源,在图像处理、数据挖掘、数字传输、电子商务和医疗教育等领域广泛应用[1]。在云计算技术应用的过程中会产生海量的数据,并且数据的规模呈指数级增长,对数据的有效存储和综合管理提出了更高的要求[2]。国内外诸多学者针对云计算数据存储问题开展了研究,如Anzi[3]提出了一种可靠性、可扩展性和安全性更强的数据存储架构,它可以将用户的数据加密并分割成不同的密文块,并在不同的服务站点之间分发;徐敏等[4]采用虚拟化技术搭建云计算平台,利用 MC 算法和 AES 算法对数据进行处理,结果表明该方法具有较高的存储实时性和安全性;袁爱平等采用改变云环境中虚拟机方法对存储方案进行了改进,平衡数据块在物理节点中的存储,提高了系统的可靠性。

随着互联网、云计算和大数据的快速发展,人们的日常生活和工作中会产生大量的小文件,如图片、微视频等数据文件。这些小文件数据规模越来越大,因此高效地存储海量小文件数据是非常重要的应用需求。 HDFS(Hoop Distributed File System)是一个开源框架,可以存储大文件和海量的数据,具有较高的容错性,方便部署在常规硬件上,通过流的形式访问文件数据,基本性能优于现有的分布式文件系统。HDFS 存储系统是针对大文件数据设计的,对于存储小文件数据时,NameNode处理大量的元数据时读取率低、时间过长且内存消耗巨大,极大的降低了存储效率。因此,本文针对云计算中HDFS 存储海量小文件问题进行分析和研究,设计合理的海量小文件存储方案,优化存储效率,以期为云计算中的存储技术提供科学参考。

1 HDFS 存储系统

HDFS 采用主从架构,由单个名字节点( NameNode )和多个数据节点( DataNode )组成。NameNode作为主服务器用来管理文件系统的名字空间和规范用户端对文件的访问,存储着文件名到数据块、数据块到DataNode的两个映射关系;DataNode是文件存储的基本单元,它可以将文件块存储在本地文件系统中,保存文件块的元数据,还可以定期向NameNode发送现有所有文件塊的报告。两者之间有紧密的联系,通常一个文件被划分为一个或几个块,

这些块存储在DataNode中,并且名字空间的打开、关闭和重命名等操作是通过NameNode执行的,DataNode需要处理客户端 Client 发送的读写请求,根据NameNode的指令执行删除、创建和复制数据块等命令。

2 数据存储系统策略

2.1 数据存储策略

针对 HDFS 存储海量小文件数据时读取率低、存储时间长且消耗内存大等问题,本文设计了一种新的存储方案,以提高海量小文件的存储效率。该方案是通过客户端和DataNode存储管理海量的小文件数据,通过对存储在DataNode中的小文件的元数据进行管理,减少与NameNode的通信周期而提高小文件的访问成本,基于 HDFS 数据存储策略总流程如图1所示,主要由 Hadoop 集群和通过访问集群使用实际数据的客户端组成,包括块元数据和缓存元数据。

2.2 小文件管理方法

一般情况下,小文件大小为几十到几百 KB,但 HDFS 的基本存储单位是64MB 的数据块。因此,通过 HDFS 存储海量小文件的时候,一个单位块用来存储一个几十 KB 的小文件,将会导致块数量急剧增加,消耗大量的内存和增加存储时间。该方案不是将海量小文件单独存储在DataNode中,而是将它们合并为大小不超过64 MB 一个大文件的形式进行存储管理,在合并文件的上层,以索引的形式处理小文件的位置和大小,允许识别用户请求文件的位置。

2.3 分布式存储方案

分布式存储管理方案旨在提高对小文件的访问效率,通过使用客户端缓存和DataNode缓存来存储和管理海量小文件。小文件数据通常非常小,并且可执行顺序的读取和写入等操作。在该方案中,客户端分别从NameNode和DataNode接收包含被请求文件的块元数据,并将它们保存在客户端缓存中。如果在客户端缓存中只处理块元数据,则请求的文件信息不会在缓存中,反而会被发送到datanode的磁盘中搜索。

2.4 缓存数据替换

分布式缓存数据替换策略需要考虑以下两个问题:小文的件访问频率和时间。因为缓存的容量也有限,所以只能处理一定数量的文件和元数据。因此,当缓存已满,但又请求一个新的小文件时,缓存将删除存储文件中确定为容纳新文件最少需要的文件。针对小文件,由于存储的小文件本质上是相互关联的信息,不同的用户通常会请求类似的文件,所以频繁请求的文件很可能在下次使用。本文采用的缓存替换方案中结合了使用最少使用次数( LFU)和最近最少使用次数( LRU)。为了在请求频率和请求时间之间保持适当的平衡,选择要替换的文件,需要维护一个数据访问模式表,其中包含小文件的名称、请求频率(RF)和时间信息(RT)。根据访问模式表中维护的每个文件的请求频率和时间信息,使用公式(1)计算缓存中要替换的文件,其中需要从试验中选择合适的α值:

3系统性能测试

3.1测试环境

为了验证方案的有效性,本文选用4台设备构成集群进行系统性能测试,具体硬件参数如表1所列。

3.2 试验验证与分析

为了验证本文提出的存储系统的性能,通过与扩展的分布式文件系统存储结构(EHDFS)存储方案性能进行对比验证。其中,EHDFS 存储方案是利用客户端缓存高效的访问海量小文件的最新方案,本文使用的是基于DataNode缓存高效的访问海量小文件。

3.2.1 请求文件时间比较

为了比较验证访问用户请求文件需要的时间,将小文件访问时间作为自变量,根据小文件请求的数量对小文件访问时间进行比较评估,验证结果如图2所示。

从图2可知,在 EHDFS 存储方案中,小文件访问时间随着请求频数的增加而增加,访问DataNode的频率也随之增加。测试性能评估结果表明,本文使用的分布式缓存方案的小文件访问时间比 EHDFS 方案减少了67.7%。

3.2.2 小文件访问频率比较

为了评估访问DataNode中的小文件的频率,该试验根据请求数量和缓存大小评估了DataNode访问的频率,结果如图3所示。

从图3可知,访问频率在1000~8000的范围内,在 EHDFS 存储方案中,只有请求的小文件和块元数据在客户端缓存中,因此当请求缓存中不存在所需的小文件时,通过频繁访问DataNode块来检索文件。性能评估结果表明,本文使用的分布式缓存方案的小文件访问频率比 EHDFS 方案降低了51.4%。

4 结束语

在互联网、云计算和大数据技术的应用过程中会产生图片、微视频等海量的小文件数据,这对数据的有效存储和综合管理提出了更高的要求。本文探讨了基于 HDFS 存储海量小文件的方案策略,提高了数据读取率、降低了内存的消耗。通过试验测试存储方案的性能,结果表明,本文使用的分布式缓存方案的小文件访问时间比 EHDFS 方案减少了68%;小文件访问频率比 EHDFS 方案降低了57%。该分布式缓存管理方案利用 HDFS 中的NameNode节点可以快捷地調节通信周期,提高小文件访问速度,降低了网络负载。

参考文献:

[1]常栋.云计算环境下基于 HDFS 的对象存储系统的研究[D].沈阳:东北大学,2015.

[2]郭圣昌.基于 HDFS 的云计算安全技术研究与实现[D].广州:广东工业大学,2013.

[3] Al?Anzi F S ,Salman A A,Jacob N  K .New ProposedRobust,Scalable  and  Secure  Network  Cloud  ComputingStorage Architecture [ J].Journal of Software Engineering and Applications ,2014,7(5):347?353.

[4]徐敏,胡聪,王萍,等.基于云计算技术的大规模数据存储策略研究[J].微型电脑应用,2022,38(4):80?83+92.

作者简介:

徐可飞(1994—),本科,研究方向:大数据、分布式计算。

猜你喜欢
云计算
云计算虚拟化技术在电信领域的应用研究
基于云计算的医院信息系统数据安全技术的应用探讨
谈云计算与信息资源共享管理
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于云计算环境下的ERP教学改革分析
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用