APP下载

教学资源共享平台云存储性能优化设计

2018-12-22苏叶健

电脑知识与技术 2018年33期
关键词:共享平台优化设计教学资源

摘要:教学资源共享平台云存储功能是基于Hadoop框架而设计,教学资源具有文件数量庞大,小容量文件占比较高的特点,Hadoop HDFS文件系统对小文件访问效率较低,通过构建小文件合并存储的索引结构及合并算法,解决小文件存储效率问题,实现对云存储性能的优化。

关键词:教学资源;共享平台;优化设计

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)33-0018-02

1 引言

本文阐述的教学资源共享平台是基于云存储技术应用层的业务系统,众所周知教学资源包含课件、教案、教学案例、教学视频、历届学生课程考试作品、参考资料等内容,文档数目多,数据容量庞大,若不注重平台性能优化设计,随着系统运行不断数据积累,系统性能问题逐步呈现,需要从低层到顶层综合考虑性能优化的设计问题。

2 教学资源共享平台的性能问题分析

教学资源共享平台性能问题主要集中在数据检索速度随着数据量的日益增长而下滑,系统并发量的增长而导致性能下滑,数据库及WEB服务死鎖导致服务器资源耗尽,在叠加网络基础设施外围不利因素影响下,平台访问性能表现在数据拥堵,甚至系统崩溃。

教学资源共享平台为了解决存储扩展及服务伸缩能力,系统设计划分为存储层、基础管理层、应用接口层、访问层,并采用Hadoop作为分布式数据存储和计算框架。由于系统基于Hadoop框架技术进行设计,通过分布式文件系统HDFS实现的数据存储集群。HDFS将文件数据拆分为若干Block(数据块)分布存储在不同的DataNode(数据节点)上面,并在NameNode记录元数据。在Hadoop1框架Block大小的默认为64M,Hadoop2的Block默认为128M,如果系统大批量存入容量小于Block数据块的小文件,会造成系统读取数据时在不同的数据节点高频次跳转,严重影响系统性能。

其次,云存储的特点是用户数据有重复率较高,解决数据冗余主要手段是重复数据删除技术,重复数据删除技术是一种可自动搜索重复数据,将相同文档或数据块仅保留一份数据作为数据正本,与其相同的文档或数据块采用映射指针的形式作为数据副本,以达到消除冗余数据、减少客户端与服务端之间数据传输、降低存储容量需求的技术目的。

3 性能优化设计

大多数教学资源文件是属于小于Block块的小文件,为了能够解决小文件影响存储性能问题,通常考虑将小文件合并成大于Bock快的文件,Hadoop框架也提供文件合并技术手段,包括HAR、Sequence File、CombineFileInputFormat等都可以实现小文件的合并。为了便于对合并数据的访问,需要对小文件的合并建立相应的索引结构,同时还要考虑小文件合并策略的设计问题。

3.1 索引结构的建立

常规的做法是将容量大于Block块的文件直接递交给HDFS文件系统,容量小于Block块的文件由小文件合并处理模块实现合并访问,再对接HDFS文件系统存储合并文件。小文件合并建立相应的索引结构,同时教学资源共享平台需要实现重复数据删除技术,也需要设计索引结构来实现对重复文件访问的映射。为了提高系统性能,本文考虑对小文件合并、重复文件访问映射这两个需求统一建立一套索引结构,使小文件合并访问索引、重复文件访问映射索引统一处理,减少索引操作次数,进一步提高系统性能。索引结构如图1所示。

在索引结构图中,以文件名作为小文件的File Key,其Value值包含数据块地址File Block、文件在数据块中的地址偏移量File Offset,文件长度File Length,小文件数据指纹Hash,数据指纹作为判断数据重复文件的特征值。其中,Index File Structure作为小文件的索引表,根据索引信息指向对应的合并文件数据块Data Block,数据块里面包含了小文件的描述信息及文件内容,当用户上传教学资源文件是,通过客户端插件获取待上传文件的Hash,跟索引表当中的Hash比对,若发现相同的Hash值可认为云存储空间已存在相同文件,对重复文件访问做生成相应访问链接,避免在服务器存储相同的文件数据副本,节省了客户端向服务器传输文件的时间及网络带宽。

3.2 小文件合并策略

小文件合并逻辑的设计应尽量有利于数据块的集中访问,减少跨DataNode访问次数,文件数据访问集中度跟文件类型、内容相关性都有很大关系。例如,如果用户正在访问图片,大概率会同时访问多张图片,如果用户正在访问PPT文件,大概率同时访问相关内容的其它PPT文件。为此,在用户向云端上传教学资源时,尽量采集更多内容属性(如学科分类、课程分类、课程名称、章节名称、知识点、内容关键词、相似课程资源的历史访问热度等)作为云存储的元数据,元数据可以转化为文件存储分类算法所需的特征向量数据,采用KNN算法,根据公式(1)计算训练集文件和测试集文件的向量:

公式(2)的夹角余弦值越小表示向量相似度越高,测试集文件相似度越靠近训练集,将文件根据不同的分类合并到相应分类的数据块,使数据块的小文件相关性更强,连续访问小文件可获得更高的访问集中度。

4 结束语

HDFS最初的设计主要面向流式访问大文件的应用场景,教学资源共享平台的文件资源既有教学视频等大容量文件,也有文档、图片、教学软件数据等小文件,同时因用户数众多,用户可能产生重复文件。通过找出HDFS对小文件存储效率低下的状况设计小文件合并算法提高数据访问效率,达到对云存储性能优化的目的。

参考文献:

[1] 李汶晓. 基于Hadoop的航空货运海量小文件存储研究[D].中国民航大学,2018.

[2] 许俊杰. 海量小文件存储系统的研究与实现[D].青岛科技大学,2018.

[3] 王明. 面向小文件的分布式文件存储管理系统的设计与实现[D].北京邮电大学,2018.

[4]张晓丽,滑亚慧.一种基于HDFS小文件存储优化方案[J].计算技术与自动化,2017,36(3):134-138.

[5]苏叶健.基于云存储的教学资源共享系统的设计[J].电子技术与软件工程,2016(16):60-61.

【通联编辑:光文玲】

猜你喜欢

共享平台优化设计教学资源
中企搭乘“共享平台”好出海
简述建筑结构设计中的优化策略
高校大型仪器设备共享平台构建与运行管理探讨
初中语文数字化教学资源应用探索
初探教学资源开发的系统思维
临床实验教学中教学资源的整合优化与应用
土木工程科研资源转化为实践教学资源的探索