基于云平台的民族民间文化资源的存储研究
2019-03-25刘云玉刘彦
刘云玉 刘彦
【摘 要】随着我国科学技术的不断进步,各种先进的计算机技术广泛应用于各个领域,给人民的工作生活带来极大的方便,推动了社会的不断进步。如今对民族民间文化资源越来越重视,将先进的技术应用于其存储之中,对其存储具有十分重要的意义。本文基于Hadoop平台以及民族民间文化资源的特点,对于HDFS的数据复制以及其健壮性进行了分析,总结了其存储过程中存在的一些问题,并针对这些问题提出了一些合理的解决措施。
【关键词】Hadoop平台;民族民间文化资源;HDFS存储
中图分类号: TP391.41文献标识码: A文章编号: 2095-2457(2019)01-0086-003
民族民间文化资源是我国文化资源的重要组成部分,其资源的保护存储与开发受到越来越多人的重视。少数民族文化资源涉及大量的图片、影像等,随着数据规模的不断扩大,传统的数据存储方式明显感到不足。而基于Hadoop平台的民族民间文化资源的存储研究对于文化资源的传承与保护具有极其重要的作用,因此本文针对Hadoop平台以及民族民间文化资源的特点,对文化资源的存储进行了探究,以希望对其今后的进一步发展提供一定的帮助。
1 Hadoop框架的云平台
Hadoop是分布式技术、并行处理技术以及网络计算机发展的产物,其为适应大量的数据以及数据的计算而发展出来的模型构架,其可以高效的存储大量的数据。谷歌的GFS是一个具有高度容错性的文件系统,是一个可靠的分布式文件系统,而HDFS具有GFS的特征,以下针对GFS的特征进行具体的分析。
GFS分布式文件系统由上千台机器组成,而机器则都是有普通的硬件组成,当这些机器被进行大量的访问时,很容易就会出现硬件错误的问题,因此经常将其作为常见的问题进行处理。为了避免数据的丢失,GFS必备的功能包括自动检测、自动修复以及数据备份等[1]。
GFS还具有能够存储大量大文件的特点。根据传统的文件系统标准,一般的文件都会比较大。GFS能够存储大量的大文件,同时对存储的文件进行有效的管理。同时,系统也支持小文件,但没有专门的优化策略。GFS是一次寫入多次读取,文件一旦写完,就只能读取,而不能改变原来以经存储的数据。因此,文件的写入人员应该格外的小心仔细,避免各种问题的产生。其写入负载来自海量的写操作,而在实际的应用中是在文件某个随机的位置读取几个KB的数据[2]。
GFS分布式文件系统读取负载主要由两种操作组成,一种是一次读取比较大的数据,另一种是大量的读取比较小的数据。如果对性能要求比较严格,一般可以把小规模的随机读取操作合并排序,然后按照顺序进行批量读取,这样就有效的避免了来回的移动读取位置。
GFS分布式文件系统里的文件分块存储,因此一般的文件被用于多并发的文件进行合并操作,因此GFS具有高效的、多并发的特点。其支持大量的客户端机器同时对一个文件的追加写入操作,系统则能够有效的保证写入操作的一致性,避免出现数据写入与存储不一致的问题[3]。GFS分布式文件系统对于网络的稳定要求比较严格,高性能的稳定网络环境明显比不稳定的网络环境重要。因此,对于绝大多数客户运行的程序,都要求能够高速率的处理海量的数据,而很少有程序对单一操作有严格的时间响应的要求。GFS分布式文件系统中的每个数据默认存储3个以上的备份,属于采用冗余存储的策略。这样的存储策略能够有效的保证数据在同一个机架上的安全性与可靠性,同时在一个机架出现问题时,不会导致所有的数据备份全部都丢失[4]。
2 HDFS的数据复制
HDFS是Hadoop的分布式文件结构,具有高度的稳定性以及存储效率。它能够保证大文件在多个机器之间进行快速的传递和安全可靠的存储。数据的复制全部由控制节点管理。
HDFS集群一般由跨越多个机架的计算机组成,不同机架的两台机器要经过交换机进行通讯。其优化的副本保存和备份策略,有效的提高了数据存储的安全性以及集群的利用率。副本系数为3的默认系统,在改进了写入的性能的同时,也有效的保障了数据的安全性与可靠性[5]。HDSF具有降低用户读取数据延迟的策略。在用户读取集群中数据的时候,HDSF能够提供距离用户最近的数据节点的数据,从而有效的提高了用户读取数据的速度,减少了系统宽带的消耗,极大的方面了用户的使用。在整个系统启动的时候,控制节点会进入安全模式,此时则不允许对数据进行复制。控制节点则在此时接收数据节点的心跳信息以及块状态报告,每个数据块都有一个设置的最小副本备份个数。当数据块被控制节点确认为安全后,再等待30秒就会退出安全模式的状态[6]。
3 民族民间文化资源的特点
我国是一个古老的大国,拥有着悠久的历史,民族民间文化资源也十分丰富,各民族之间的民族节日、民族习俗、民族饮食等,共同的促进了民族民间文化资源的繁荣,是我国文化资源的重要组成部分。民族民间文化资源具有群体权属特征、不确定性、脆弱性、时间上的模糊性以及可重复利用的特点,以下分别进行分析。
3.1 群体权属特征
民族民间文化资源由民族或社会群体创造出来,经过长时期的共同生活以及世世代代的演变而形成的,体现了劳动人民的智慧与生活方式,因此具有群体权属的特征。民族民间文化资源属于一个群体而不是个人,它是广大劳动人民共同的结晶,因此也需要我们共同的发扬与传承下去[9]。
3.2 不确定性
民族民间文化资源包括物质文化遗产和非物质文化遗产,物质文化遗产属于实在的东西,可以通过申请商标以及其他手段进行有效的保护。而非物质文化遗产同样作为文化资源的一部分,其有效保护的难度较大。非物质文化遗产多为口头相传,而并无文字的记载,在不断的发展过程中,很容易就会受到各方面因素的影响而发生改变,因此具有不确定性的因素。
3.3 脆弱性
民族民间文化资源在不断的发展过程中,一旦受到破坏,就很难得到恢复,因此还具有十分脆弱性的特点。如果物质文化资源遭到破坏,即使能够仿造出来,也失去了文化本身的真实性。而非物质文化资源遭到破坏,则很难修复会来,从而给文化资源造成重大的损失[10]。
3.4 时间上的模糊性
同样,民族民间文化资源经过漫长的时间,其在时间上难免会具有一定的模糊性。并且每一个历史时期都是文化的传播时期,也是再创作时期,而且年代也较为久远,因此对于时间很难有一个清楚的界限,在时间上,具有模糊性的特点。
3.5 可重复利用
现如今,随着社会的不断进步,各行各业都得到了显著的发展 。而在文化产业不断发展的背景下,并不是所有的文化资源都可以进行转化。同时作为文化资源,其并不是用多少就会少多少,而是可以重复利用的。民族民间文化资源所具有的这些特征,对其保护与发扬既有优点又有缺点,因此还需不断地创新,不断结合新的技术,从而真正做到对文化资源的保护[11]。
4 Hadoop处理海量小文件过程中存在的问题
虽然Hadoop在处理大文件的过程中具有十分明显的优势,不仅实在数据处理的效率以及准确度上,同时在存储方面也更加让人放心。但是,当其在处理海量小文件的过程中,依然存在着一些不足之处,主要表现在NameNode节点内存压力过大、文件读写效率不高以及小文件I/O问题等三个方面,以下分别对这三个方面进行分析。
4.1 NameNode节点内存压力过大
在文件系统中,NameNode节点的内存决定HDFS所能存储的文件数量,而在HDFS中,各种文件不论大小,其所对相应的元数据信息数量是相同的,都需要占用一定的内存。当集群中存在海量的小文件时,系统为每一个小文件保存元数据,从而极大地消耗了NameNode节点的空间内存,而影响到整个集群的存储能力。在当前的硬件条件下,存储百万级别的文件是可行的,当存储过亿各文件时就超出了其存储的极限。
4.2 文件读写效率不高
文件读写效率不高也是Hadoop在处理海量小文件过程中所存在的问题。在存储海量小文件时,客户端会频繁的与NameNode交互,从而造成NameNode节点过高的负载,存储的效率也大大的降低。在读写同样大小数据量的情况下,小文件远远超过大文件的数量,且处理小文件的速度低于处理大文件的速度,在文件总大小相同的情况下,Hadoop处理小文件的性能则远远低于处理大文件的性能。
4.3 小文件I/O问题
HDFS不提供预取功能,根据自己的优化策略将文件分布在各个节点上,而没有考虑文件相关性。小文件存储比较分散,致使小文件的检索在各DataNode之间进行大量的搜索与跳转。HDFS将MapReduce所需要的数据文件加载到任务所在的计算节点上,从而提升MapReduce的處理速度,但是却不能够提高HDFS对文件的读写效率[12]。
5 基于Hadoop平台存储方案优化设计
通过以上分析了解到基于Hadoop平台在处理文件(主要是小文件)的过程中存在的问题,针对这些问题的存在,对于Hadoop平台的存储,要进行存储方案优化设计,主要表现在小文件存储优化设计、文件合并模块设计以及文件检索优化设计等,并与传统的Hadoop集群在性能上进行量化对比分析。
5.1 小文件存储优化设计
对于小文件的存储,可以在保存文件时将属于一个部门的文件放在一个文件夹中,然后统一加上部门名称,再存储到数据库中。将有相关性的小文件合并成为一个大文件,从而增强小文件数据访问的局部性,缓解节点的内存压力。并且提升了HDFS的I/O性能,将预取和缓存机制的小文件处理功能引入到系统中,并且增加了置换策略。
5.2 文件合并模块设计
在Client端和Hadoop集群之间增加一个文件合并模块,将向关联的文件合并在一起,从而尽可能的提高预取的命中率,减少读取文件时I/O操作。文件合并后,NameNode不需要再像以前那样为每一个小文件分配存储路径、保存元数据信息,而是只需要将合并后的大文件分配DataNode保存保存合并文件的元数据,进而减少了NameNode的内存消耗和访问压力。
5.3 文件检索优化设计
原始的文件检索读取流程中,当有节点访问某个文件时,客户端会首先访问NameNode从而获取目标文件与Block块的映射关系,然后与相应的DataNode建立连接来读取数据。而通过文件检索优化设计,在读取大文件时仍然采用以前的模式,而在读取小文件时,首先根据小文件的名称获取大文件的数据块以及所在DataNode位置信息,然后通过内存加载得到小文件在大文件中的偏移量,进而找到小文件的存储位置[13]。
5.4 性能对比分析
与原有的HDFS访问掉文件的流程不同,通过以上存储方案优化设计,使得节点所存储的文件元数据数量大大减少,在文件访问控制流的处理方面会有更好的性能,提高了读取文件的速度。因此当要读取的小文件数量越多,其访问性能优势也就越明显。
6 结语
综上所述,民族民间文化资源是我国文化资源的重要组成部分,其资源的保护存储与开发受到越来越多人的重视。而基于Hadoop平台的民族民间文化资源的存储研究对于文化资源的传承与保护具有极其重要的作用,要加强民族民间文化资源的保护。而在Hadoop处理小文件时,依然存在NameNode节点内存压力过大、文件读写效率不高以及小文件I/O问题等问题。要进行存储方案优化设计,主要表现在小文件存储优化设计、文件合并模块设计以及文件检索优化设计等。
【参考文献】
[1]李晓佳,董延华.基于Hadoop平台的搭建及应用研究[J].福建电脑,2017,(3):132-133.
[2]于金良,朱志祥,李聪颖.Hadoop平台的自动化部署与监控研究[J].计算机与数字工程,2016,(12):2457-2461.
[3]王英博,马菁,柴佳佳,等.基于Hadoop平台的改进关联规则挖掘算法[J].计算机工程,2016,(10):69-74,79.
[4]狄晓娇.Hadoop平台的设计[J].通信世界,2016,(4):216-216,217.
[5]刘先福,张刚.民间文化的数字化类型与空间演示--基于《中国民族民间文化空间信息系统》的思考[J].民俗研究,2014,(5):26-33.
[6]尹国有.民族民间文化资源引入高等美术教育实践[J].贵州民族学院学报,2007,(4):124-126.
[7]栾亚建,黄翀民,龚高晟,等.Hadoop平台的性能优化研究[J].计算机工程,2010,(14):262-263,266.
[8]原晋鹏,刘彦.基于Hadoop平台的民族民间文化资源的存储研究[J].福建电脑,2016,(2):113,125.
[9]闫娟,耿凯峰,刘丽.基于Hadoop平台的教育资源库建设[J].河南师范大学学报(自然科学版),2013,(2):161-164.
[10]于兆良,张文涛,葛慧,等.基于Hadoop平台的日志分析模型[J].计算机工程与设计,2016,(2):338-344,428.
[11]斯琴孟和.关于编纂《蒙古民间故事类型索引与数据库建设》的一些思考[C].//中国文学地理学会第四届年会论文集西北民族大学,2014:588-591.
[12]孙琳.我国文化产业国际化发展分析——以出版业为例[D].吉林大学,2010.
[13]宋韩茵.民族文化资源共享与服务系统的设计与实现[D].华中科技大学,2012.