APP下载

校园网云存储客户端的设计与实现

2015-01-10彭英

岳阳职业技术学院学报 2015年5期
关键词:数据文件存储空间存储系统

彭英

(岳阳职业技术学院 国际信息工程学院,湖南 岳阳 414000)

校园网云存储客户端的设计与实现

彭英

(岳阳职业技术学院 国际信息工程学院,湖南 岳阳 414000)

本文设计一个基于Hadoop的校园网云存储客户端,从系统的体系结构、功能组织和各功能模块方面进行了具体实现,并对其扩展性能进行了测试与分析。用户通过这个客户端管理自己的存储空间和文件,可以将文件上传到云存储服务器中进行存储,并能将云存储服务器中的文件下载并进行处理。

云存储;客户端;Hadoop

云存储服务是在云计算技术的基础上,将网络中大量不同类型的低成本设施用统一的平台整合起来,将所有存储设备虚拟化成统一的存储池,采用文件系统全局命名空间,提供数据存储和业务访问功能[1]。校园网采用云存储系统后,用户使用客户端登录云存储系统,通过标准的公共应用接口进行文件管理,享受云存储服务[2]。

Hadoop起源于Apache Nutch一个开源的网络搜索引擎,是一个能够对大量数据进行分布式处理的软件框架[3]。在已有的hadoop云计算平台技术的基础上[4],针对校园网云存储服务的功能、性能需求,笔者设计和实现了校园网云存储系统的客户端。这个客户端在HDFS(Hadoop Distributed File System,hadoop分布式文件系统)的基础之上[5],建立用户的存储需求和底层的数据处理之间的联系。

1 校园网云存储体系结构

系统底层数据处理的基础采用HDFS分布式文件系统,HDFS采用主/从架构,一个HDFS集群由一个namenode和多个datanode组成[6]。Namenode是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。Datanode负责管理节点上的存储,进行块的创建、删除和复制等。

用户通过客户端访问云存储服务平台,客户端验证接口信息和用户信息,然后解析用户命令,知道上传的文件存到哪里,下载的文件从哪里找。客户端通过远程过程调用协议与namenode通信,将这些信息提交给namenode,namenode查找其中的目录,找到数据实际存在哪些datanode上,以及另外两个备份存在哪里 (Hadoop的标准设定是集群中的每个数据块有三个备份)。Namenode通过任务跟踪器控制相应的datanode,执行相应的任务。客户端与namenode通过简单的套界字通信,返回结果。校园网云存储服务系统的结构如图1所示。

图1 系统结构

2 校园网云存储系统客户端的功能组织

通过对系统的功能和性能需求分析,校园网云存储服务系统客户端主要包括以下两个功能模块:用户信息管理和文件管理。其功能组织结构如图2所示。

图2 系统功能组织结构

3 用户管理

用户管理模块主要完成对用户的基本信息和享有的基本服务进行管理,用户管理模块分为用户登录、密码修改、浏览目录、修改目录四个子模块。

用户登录模块完成对用户合法性的验证和管理,实现已有用户登录和新用户注册功能,维护和查找数据库中的用户信息表。对本人信息,用户拥有修改权限。登录时,系统还要验证其使用期限,如果到期,提示并引导进行相应的操作。非法用户尝试几次后,禁止其继续操作。登录后,用户的身份由系统分配的合法ID作为唯一标示,ID为进行一切操作的前提。用户权限由系统管理员统一管理,授予每个合法用户相应的操作权限,用户享受合法权限内的数据存储服务。用户信息库表如表1所示。

表1 用户信息表

密码修改模块完成对用户密码的维护。新增用户时,设置初始化密码,首次登录时需要对初始化密码进行修改,密码修改后对其进行加密。用户忘记密码时可以选择通过手机发送验证码来重置密码。

浏览目录模块完成用户对其在本地拥有的存储空间的查看和管理,用户可以浏览本地的存储空间,及本地存储空间的文件和各级目录。修改目录模块完成用户对本地存储空间目录的合法操作,如创建新的文件目录,修改已存在的文件目录等。这两个模块完成对本地存储空间的管理和维护。

操作界面的设计上,浏览目录时在页面层次显示本地磁盘的文件列表,用户可在文件列表上点击进入任意一个文件目录,在此基础上,对存储空间中的文件和目录进行管理操作,完成文件的复制、重命名、上传、下载、更改路径等。

4 文件管理

文件管理模块实现文件的上传和下载操作。文件管理模块是校园网云存储客户端的重要模块。云存储系统客户端的文件管理,必须与在底层处理文件的读写分布式文件系统HDFS结合,才能实现。底层文件处理架构以HDFS为核心,负责具体的数据文件的读写操作。建立好客户端和分布式文件集群之间有效的沟通机制,完善文件操作的处理流程,才能实现对用户数据文件的有效管理。

文件管理模块包括文件上传模块和文件下载模块,分别完成将用户数据文件上传至云存储系统进行存储的功能,和将用户数据文件下载至本地的磁盘中的功能。

文件上传模块中,客户端准备上传文件到云存储系统时,先把文件划分为块,然后向namenode发出写文件的请求。请求被接受后,namenode根据需上传数据文件的大小和文件块配置情况,返回它所管理的datanode的信息。客户端接收一个datanode表(一般为三个表项),每个datanode写入一个数据备份。写数据前,向相应的datanode发送请求,得到“准备就绪”响应后,开始写数据。随着块复制的完成,文件被成功上传。

文件上传的操作流程为:1)用户登录系统,选择需上传的文件,客户端向云存储系统发出文件上传请求;2)云存储系统收到文件上传请求,在集群的名字空间中查找,看是否有同名文件,有,则向客户端反馈信息,要求修改文件名,无,则根据数据文件的大小及datanode的存储状况,为其分配存储空间;3)客户端将文件块上传到各个datanode,将文件保存在集群系统中,将文件名字记录在系统名字空间中。

文件下载模块中,用户想要下载文件时,首先向namenode请求,查询文件的位置,namenode返回一个包含所有数据块位置的链表,链表包含全部备份所在的datanode。客户端选取datanode,依次读取,获得所需数据。

文件下载的操作过程与文件上传的操作过程类似。

实际操作中,文件上传到云存储系统中时,客户端的操作界面上会保留包含文件详细信息的记录,下载该文件时,可直接根据文件记录进行操作。HDFS收到下载文件的请求及数据文件的相应信息,读取HDFS中相应的文件,返回操作结果,客户端接收后,将其写入到指定的文件中。

在客户端界面的文件管理模块的设置中,设置盘符列表,以方便查看云存储系统中的文件和文件处理状态。

5 测试与分析

本文主要设计一个校园网云存储系统的客户端,该云存储系统建立在hadoop的基础之上。用户通过这个客户端,享受校园网云存储服务,解决教学、办公中产生的海量文件及数据存储、共享问题。系统的主要任务是对来自用户的海量数据进行存储处理。对于用户来说,系统的存储容量及可扩展性、系统的处理时间及数据的安全是系统性能最重要的评判标准。存储容量通过虚拟化存储池实现,数据的安全通过数据的多个备份和用户身份验证等网络安全设置实现。测试主要关注系统处理作业的响应时间和系统的可扩展性。系统的可扩展性方面,系统运行中应该能容易地添加节点;加入节点后,系统性能应保持相对稳定。结合现有设备和条件,分组进行实验,分别设定需存储的文本数据的大小和工作节点的个数,测试系统响应时间。

测试工具采用LoadRunner,分别采用文件模拟大小不同的文件,工作节点依次采用为2个、4个和8个递增测试。测试结果如图3所示(纵坐标单位:10-2秒)。

测试结果显示,对于600MB、1.2G、2.4G大小的文件,系统响应时间在可接受范围内。随着存储节点的添加,系统处理能力稳定,性能基本上处于一个水平,具有较好的扩展性。可得出结论:系统可以满足校园网用户不断增大的数据存储任务。

图3 测试结果图

6 结论

本文根据功能和性能需求,在hadoop云计算平台技术的基础之上,设计并实现了一个校园网云存储服务系统的客户端。从系统的体系结构、功能组织和各功能模块方面进行了具体实现,并对其扩展性能进行了测试与分析。用户可以通过客户端管理自己的存储空间和文件,将数据文件上传到云存储服务器中存储,以及将数据文件下载并进行相关的处理。

[1]Ying Peng,Dong Xie.A Network Storage Framework for Internet of Things[C].IUPT,2013.

[2]宋振华.虚拟化技术中的存储管理问题研究[D].合肥:中国科技大学,2010.

[3]李煜民,章才能.云计算环境下的数据存储[J].电脑知识与技术,2010,6(5):1032-1034.

[4]张俊兰,郭金平,刘翼.高校校园网设计方案[J].延安大学学报:自然科学版,2010,(1).

[5]王刚.云平台下HDFS HA的研究与实现[D].西安:西北大学,2013.

[6]刘琨,李爱菊,董龙江.基于Hadoop的云存储的研究及实现[J].微计算机信息:2011,27(7):220-221.

(责任编校:马余平)

Design and Implementation of Campus Cloud Storage Client

PENG Ying
(Department of Information Engineering,Yueyang Vocational and Technical College,Yueyang,Hunan 414000)

This paper designs a campus cloud storage client based on Hadoop,implements it on system structure,function organization and function module and test and analysis its expand performance.With it,user can manage his own storage space and files,upload local file to cloud storage server and store,download file from cloud storage server and do the relevant process.

cloud storage;client;Hadoop

TP 393

A

1672-738X(2015)05-0085-03

2015-08-31

湖南省教育厅一般科研项目“校园网中存储方案的设计与应用”(14C1150)。

彭英(1973—),女,湖南岳阳人,计算机副教授,高级工程师。主要研究方向:计算机网络。

猜你喜欢

数据文件存储空间存储系统
基于多种群协同进化算法的数据并行聚类算法
苹果订阅捆绑服务Apple One正式上线
分布式存储系统在企业档案管理中的应用
用好Windows 10保留的存储空间
天河超算存储系统在美创佳绩
基于表空间和数据文件探讨MIS中数据库架构设计
基于网络环境的社区协同办公问题探讨(二)
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
基于电池管理系统的数据存储系统设计
气象数据文件异机备份程序浅析