APP下载

基于HDFS的校园云存储平台的优化

2017-10-12王慧

电子设计工程 2017年19期
关键词:云端内存储存

王慧

(广东科学技术职业学院 广东 珠海519090)

基于HDFS的校园云存储平台的优化

王慧

(广东科学技术职业学院 广东 珠海519090)

为了提高当前校园信息管理系统效率的目的,本研究在构建校园云存储服务系统用户层的基础上,开发设计了基于HDFS体系的校园云存储平台及各个功能模块。利用了Mybatis的开源持久层框架对HDFS体系进行改进,并且DAO层实现校园云端网络的可变动态操作。实践应用结果表明:优化后的HDFS方案能够有效地减少名称节点内存的损耗,扩展了HDFS集群的命名空间,并且能够有效地提升读取文件元数据信息的速度。有效地提升了校园云存储平台的管理效率和数据访问效率,缓解了对数据库的压力。

云存储;校园网;HDFS;名称节点

Abstract:In order to improve the efficiency of the current Campus Information Management System The purpose of this study on the basis of constructing campus cloud storage system user layer on the development and design of the campus-based cloud storage platform HDFS system and each module.The use of open source persistence framework Mybatis of HDFS system could be improved,and the DAO layer to achieve dynamic operating variable clouds campus network.Practical application results show:optimized HDFS program can effectively reduce the loss of memory node name,expands the namespace HDFS clusters,and can effectively improve the reading speed of file metadata information.Effectively improve the efficiency of data access and management efficiency campus cloud storage platform to ease the pressure on the database.

Key words:cloud storage; campus network; HDFS;nodename

随着互联网信息化建设的发展,校园网内的数字信息累计为数据存储带来了巨大的挑战[1]。云储存平台作为数字信息化资源的整合,是由多种技术和服务将所需储存的文件上传到网络空间存取[2]。云储存通过利用I/O数据流的方式对分布式储存系统进行数据操作[3],可将校园教务管理系统与办公系统相互整合,从而有效地提高数据访问速度,具有较高易扩展和传输率的特点,能够满足校园数据的高效存储的要求[4]。现有校园云存储平台主要利用调用Hadoop分布式文件系统(HDFS)对集群的状态实现管理,校园云存储平台的搭建,可为学生、教师和管理者提供更为个性化的服务,实现信息平台管理的统筹与共享[5]。本研究在HDFS系统的基础上,通过将数据库与客户端置于同一服务器设计了校园云储存结构框架和功能模块,在逻辑层搭建数据访问封装层开源框架,实现了云储存平台数据库的内存和元数据空间的高效扩展性。

1 校园云储存系统

1.1 系统设计

校园云存储服务的系统架构总共可划分为3层,当用户通过用户终端打开网页浏览器对,实现了对云端存储设备的服务器访问[6]。HDFS的用户层的主要任务是对用户端发送的请求加以处理和接受,同时根据应用的要求的不同实现提供不同接口的服务[7]。HDFS用户层主要负责四项步骤的功能:实现对用户的有效管理、对用户端发送的访问请求进行管控、对校园云端存储的业务进行逻辑控制、实现数据的筛选和处理,其中数据的筛选和处理和对校园云端存储的业务进行逻辑控制是UI层同HDFS存储层进行联系和传输的通信纽带,同时也是本研究的研究重点。校园云端数据库的主要功能是建立一个数据保护的备份屏障实现对系统内用户的私密信息、文件的属性内容以及权限进行保存,而本文基于HDFS的校园云储存平台中的数据库将与HDFS用户信息一同置于同一个服务器中,在同一区域的校园网将会将其网络内的所有用户的应用数据 (如访问者备份的文档、音视频文件等)加以保存并设定在HDFS集群中,系统架构如图1所示。

图1 系统构架

1.2 整体策略

基于HDFS的校园云存储系统同传统电商网络有所不同,其根据存储的性质不同可划分为两大类:第一类是包括含用户的个人信息,用户访问角色,权限,用户访问日志等在内的用户数据;第二类是用户上传的文档和音视频数据信息。而基于HDFS的校园云存储系统中所存储的的数据主要是同用户访问账号无关联性的数据上,一般包括访问网点数量信息表、广告投放数据表、学生成绩数据表等,所有的数据表之间业务不存在交叉项,并且彼此之间关系相互独立,正是这样的天然属性使得能够对这些数据表的业务进行垂直的划分。一般来说,大多数的网络类型的存储数据设备彼此之间存储的海量数据其关系表众多且错中复杂[8],因此在设计本文的校园云端存储平台的过程中最先需要解决的问题就是分库。面对不同的水平分布表,可以根据实际情况设计不同的划分方案,例如针对独自存在的数据表,则可以存在不同的散列方式,例如单库多表、单表多分区、多库多表等。

1.3 模块设计

在校园云存储系统中HDFS用户层主要包含对校园云端存储的业务进行逻辑控制、实现数据的筛选和处理两部分内容[9],根据其处理的内容可分为校园用户访问、校园用户访问管理、校园访问部门权限管控和HDFS用户集群资料信息管理4个模块。校园用户访问的模块主要负责校园访问用户的ID登录,对个人信息的修改和变更,校园用户日常文件的备份、下载、共享以及文档归档和管理等功能。校园用户访问管理模块的功能主要负责校园用户的个人信息管理、登录用户在线状态管理、校园用户归属管理的分配等业务。校园访问部门权限管控模块的功能主要负责校园各个部门之间基础信息设定和管理、校园网络系统的用户和部门权限管理以及各个部门之间协调权限分配管理。HDFS用户集群资料信息管理模块主要用于校园网络维护人员信息设定和对集群内的从节点、主从节点IP以及数量进行管理,并能够随时对集群内用户和人员的状态和任务进行编辑,此外该模块还有报警管理的功能[10]。校园云端存储系统的后台管理细致层次划分和模块功能如图2所示。

图2 校园云存储服务平台

2 HDFS原理

2.1 体系结构

与常见的分布式文件系统相类似,现有的文件系统建立于普通的硬件之上,它也是一个分布式文件的系统[11],但是它拥有较高的容错性,同时可以以低成本的硬件为平台进行部署,这样的文件系统降低了对数据运算错误率的需求[12],因此文件系统能够以数据流的形式实现对文件数据的访问,从而能够实现高吞吐量的数据访问,比较适合类似校园环境的大数据集处理应用程序。HDSF文件系统的体系结构图具体内容如图3所示。

图3 HDFS文件系统

根据图3不难发现客户端能够实现对数据源的操纵和管理,同时也可以直接的对名称节点进行读取和编辑的操作。文中将在下面对HDSF云端存储的工作机制和体系架构进行全方面的阐述和介绍。

2.2 逻辑实现

根据文件系统的程序架构,HDFS逻辑在介于JDBC与DAO之间的数据访问封装层、JDBC、API层、DAO层HDFS以及介于应用服务器与数据库之间的HDFS代理服务器等层面上实现。通过在DAO层级实现HDFS体系存在以下优势,即在本文的HDFS体系中DAO不存在ORM的制约、操作较为灵活[13],可根据校园云端网络的特点进行可变操作,最重要的是在没有SQL的解析和其他的路由规则的分配的情况下,该层级的表现性能将会更加突出。除了上述的一些优势,DAO层级在HDFS系统中也存在一定的劣势,即DAO只能够在具有特定属性的系统里操作运行[14],同时进行开发的人员还需要对逻辑进行较为明确的切分。

2.3 访问设计

基于HDFS的校园云储存平台利用了Mybatis的框架,它主要是开源持久层框架。为了建立Mybatis框架与数据库之间的联系,我们需要参照JDBC的规范和原则[15],同时还需要以Annotaion/XML+JAVA的反射技术为工具,最终实现数据库同Java对象之间的转化。在模拟路由功能的环节,我们通过修改少数的代码,同时在DAO层动态的传入表名即可,并根据数据表的功能的不同进行频道表的划分,通过使用配置表对频道进行管理。

DAO层中主要包括两个文件,同时它向Service层提供了持续化的方法,其中*.xml通过中SQL来实现持久化,而*_Mapper.java是定义持久化方法的接口。为了满足路由的需要需要进行以下步骤:第一,对所有的持续化接口进行重新的定义,并对定义参数列表中字段值以传入频道命名[16]。第二,通过XML文件截获各种参数,并对表名进行动态替换。

3 性能测试

3.1 实验准备

为了对本文提出的校园云储存方案进行优化设计,测试实验安排如下:试验将在一台物理机上运作HDFS系统,并将物理机选取为校园操作用户的数据空间服务器,这主要是因为本文的优化实验只针对NameNode,并不涉及DataNode。实验过程中选取的物理机配置如下:名称节点(NameNode)服务器采用六核AMD羿龙Ⅱ CPU 3.2GHz,金士顿Beast 16GB DDR3 2400内存,同时,空间元数据(Metadate)服务器采用16核Intel酷睿i7 4770 CPU3.4 GHz,影驰HOF 16GB DDR4 4000内存。实验以用户规模步长为50个,分别模拟100至500个九组实验,其中,每个用户均创建100个文件且创建后并不进行文件读写,即每组实验的文件规模区间在10 000至50 000。

3.2 内存测试

为了方便对优化前后的系统进行对比我们做了几组实验,并分别对名称节点(NameNode)中的节点和进程中的的内存变化的大小进行记录,具体的实验结果如图4所示。

图4 优化前后校园云存储文件系统内存对比

由图4可见,本文将文件的规模区间定义为 0~5 W,元数据规模数同时也是数量级数,随着HDFS的文件规模的扩大,元数据的信息占有一定的内存空间,因此NameNode在实验中的内存将会以线性增长的方式不断被占有。在系统优化之后,NameNode在实验中的数据规模数与校园用户的规模数对应,因此本实验中的文件数量级下降了100倍。本实验将扩大NameNode进程本身拥有的数据占有的内存用户数,然而结果表明,这样的扩容之后其内存损耗并不显著。本实验的结果显示,文中提出的HDFS的方案能够有效地减少NameNode内存的损耗同时还能够扩展HDFS集群的命名空间。

3.3 读写测试

我们对文件的读取时间进行了测试,以实际文件流和元数据的信息为对象进行了试验,并对HDFS体系和加入Mybatis优化方案的HDFS创建文件进行试验,其结果如图5所示。

从图5不难发现,当经过优化的方案运用在读写NameNode中的元数据时,读写元数据信息的速度得到了很大的提升。从实际数据块写入的角度进行考察我们发现,经过优化的方案在在读写NameNode中的元数据时,读写速度下降明显,这可能是由于HDFS体系无法对文件操作提供足够的支持。从读取元数据信息的速度角度来看我们可以发现,通过对Mybatis的框架引入实现了方案的优化,并且能够有效地提升HDFS读取文件元数据信息的速度。

图5 读写测试对比

4 结 论

本文主要针对目前校园信息系统中的面临的海量数据的存储问题。设计了一套基于HDFS文件系统的云存储优化问题。本研究根据校园网数据信息类型,划分校园云端存储系统的后台管理细致层次划分和模块功能,充分应用关系型数据库建立HDFS存储层,有效的解决了校园海量数据信息的存储瓶颈。同时,利用Mybatis的框架构建HDFS的校园云储存平台,并且DAO层实现数据的动态读写。该方案在使用过程中,内存损耗低,文件元数据信息读写速度快。因此,本研究可为校园网络的云存储平台的构建具有参考意义。

[1]熊聪聪,冯龙,陈丽仙.云存储在校园信息化中的应用与优化[J].天津科技大学学报,2012(5):69-73.

[2]陈俊.面向云储存的高性能数据隐私保护方法[J].电子技术与软件工程,2015(9):228-228.

[3]范贵生,虞慧群,陈丽琼,等.分布式嵌入式系统的自适应能耗管理和分析[J].软件学报,2014,25(2):419-438.

[4]丘瑾.云存储在校园信息管理系统中的应用[J].网络安全技术与应用,2014(6):9-10.

[5]侯青,徐家喜,吉力.基于Hadoop的校园教育资源管理系统[J].电脑知识与技术,2014(1):67-71.

[6]余琦,凌捷.基于HDFS的云存储安全技术研究[J].计算机工程与设计, 2013,34(8):2700-2705.

[7]陈吉荣,乐嘉锦.基于Hadoop生态系统的大数据解决方案综述 [J].计算机工程与科学,2013,35(10):25-35.

[8]蓝昊慧.云计算在Web结构挖掘算法中的运用研究[J].计算机时代, 2012(10):30-33.

[9]李明明,李伟.基于HDFS的高可靠性存储系统的研究[J].西安科技大学学报, 2016,36(3):428-433.

[10]王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报, 2012,23(4):962-986.

[11]马志强,杨双涛,闫瑞,等.SQL-DFS:一种基于HDFS的海量小文件存储系统 [J].北京工业大学学报, 2016,42(1):134-141.

[12]汤羽,王英杰,范爱华,等.基于HDFS开源架构与多级索引表的海量数据检索mDHT算法 [J].计算机科学, 2013,40(2):195-199.

[13]周相兵,马洪江,苗放.云计算环境下的一种基于Hbase的ORM设计实现[J].西南师范大学学报:自然科学版, 2013,38(8):130-135.

[14]陈吉荣,乐嘉锦.基于MapReduce的Hadoop大表导入编程模型[J].计算机应用, 2013,33(9):2486-2489.

[15]李洪敏,卢敏,黄林,等.基于云计算技术的网络告警融合分析系统的设计与实现[J].信息安全与技术, 2014(9):58-63.

[16]张钊,张新峰,郑楠,等.基于Hadoop平台的LDA算法的并行化实现 [J].计算机工程与科学,2016,38(2):231-239.

Optimization on cloud storage platform of campus based on HDFS

WANG Hui
(Guangdong Polytechnic of Science and Technology, Zhuhai519090,China)

TN919.23

A

1674-6236(2017)19-0006-04

2016-08-15稿件编号201608104

国家自然科学基金资助项目(91120308)

王 慧(1986—),女,山东菏泽人,实验师。研究方向:数字化校园建设,互联网+,云数据平台。

猜你喜欢

云端内存储存
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
冬季养羊这样储存草料
云端之城
“春夏秋冬”的内存
安防云储存时代已来
美人如画隔云端
行走在云端
云端创意
精液长时间冷冻储存与冷冻复苏率的相关性研究
基于内存的地理信息访问技术