APP下载

基于Hadoop的烟台市科技服务云灾备系统研究

2017-07-26胡新炜史丽男李湘南邵文照

科技视界 2017年7期
关键词:私有云

胡新炜 史丽男 李湘南 邵文照

【摘 要】烟台市科技服务云灾备系统是为了解决烟台市科技服务数据的安全问题,在Hadoop技术的基础上开发的一种基于私有云的灾备系统。云灾备系统利用科技机房现有的老式闲置服务器,降低了科技业务数据备份成本,实现了科技服务数据定时安全备份和灾难恢复功能,同时提高了科技服务数据的安全性和可靠性。

【关键词】Hadoop;HDFS;私有云;灾难备份

随着我市科技工作的不断深入发展,各类科技服務系统相继出现,大大提高了我市科技服务工作效率和管理水平。近年来,我市科技服务业务数据规模已从GB级迅速扩充到TB级,业务系统对数据依赖程度显著增加,为了保证我市科技服务业务数据安全、可靠,建立一套面向科技服务系统数据的云灾备系统,是非常必要的。

1 平台采用的技术

烟台市科技服务云灾备系统开发基于Hadoop技术,技术采用PHP +Hadoop/HDFS+Mysql,数据使用HDFS分布式文件系统存储,通过虚拟化硬件资源和网络资源,实现强大的存储和计算能力,不仅可以快速响应并处理大量数据存取,而且可以在不损失数据处理的可靠性和系统可扩展性的前提下,利用现有的旧式服务器降低云灾备系统搭建成本。

1.1 Hadoop

Hadoop是一个分布式系统基础架构,它可以采用分布式的方式来操纵大量数据。用户可以在忽略底层细节的情况下,开发分布式程序,充分利用分布式集群的高速运算和存储能力。Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。Hadoop使用分布式文件系统(Hadoop Distributed File System),简称 HDFS。 HDFS有高容错性,可以部署在低廉的硬件设备上,放宽了可移植操作系统接口(POSIX)的部分要求,允许以流的形式访问文件系统中的数据,它提供了高传输率来访问应用程序的数据,适用于那些有着超大数据集的应用程序。

1.2 HDFS

HDFS (Hadoop Distributed Filesystem)是Hadoop专用的Master/Slave模式的分布式文件系统,HDFS集群系统一般是由一个Master和多个Slave构成。集群有两类以管理者-工作者的方式运行的节点,一类节点为NameNode(管理者),另一类为 DataNode(工作者)。 NameNode 是文件系统的目录管理者(命名空间),用来维护文件系统树及整棵树内所有的文件和目录,以两个文件形式永久保存在本地硬盘上:即命名空间镜像文件和编辑日志文件。 DataNode则是文件系统的工作节点,它用来存储并根据需要检索数据块,定期的向NameNode 发送它所存储的块的列表。

2 云灾备系统设计

云灾备系统由1个主服务器节点(Master)和3个从服务器节点(Slave)构成。系统整体架构分为三层:系统访问层、应用接口层、存储层。第一层为系统访问层,用户通过浏览器和灾备客户端访问系统。中间层是应用接口层,它集成了用户认证、权限管理、资源共享与输出、应用软件、Web Service等多种功能。第三层是存储层,利用Hadoop提供的HDFS分布式文件系统提供数据存储功能。

2.1 用户访问

系统为用户提供浏览器访问和灾备客户端访问两种访问模式,用户输入用户名和密码登录系统后,可以方便、快捷地访问如同本地磁盘的灾备系统为用户提供同步盘、文件管理、加解密等丰富的操作功能。用户可以在系统中完成多种操作,如修改个人信息及密码、文件/文件夹在线管理、对关键文件加解密、文件共享、对文件进行备份和恢复等操作。

2.2 备份和恢复

系统实现了业务数据的网络备份和恢复,主要提供两种备份功能:一是,根据用户设置的备份策略通过系统客户端将事先选择的数据和目录定期备份到灾备系统;二是,根据用户选择性的操作将所选数据和目录手动备份到灾备系统。灾备系统还支持数据上传下载过程中的断点续传、秒传等功能。备份后的文件既可以可以下载到本地,也可以通过设定推送给局域网内的其他联网设备。系统为了防止用户误删数据,设计了回收站功能;为保证数据的实时备份,提供了数据同步功能,还可以对存储的数据进行限时分享。

云灾备系统还可以接收用户提供的网络地址,根据地址将对应的网络资源自动备份到云端,而不需要先将网络资源先下载的本地存储器再上传到云端,提高了系统对网络资源备份的效率,减少了用户在客户端的重复操作,提升了用户体验。

2.3 数据存取和文件存取

灾备系统利用Hadoop的数据仓库工具Hive实现其数据存取功能,将结构化的数据文件映射为一张数据库表,提供类似于SQL语言的HQL语言查询功能,将用户编写的SQL转换为相应的 MapReduce程序在Hadoop中执行。灾备系统的采用队列响应方式进行文件存取,读取文件时向文件输入模块提交文件I/O 模块读文件流请求,文件输入模块进行读取请求队列处理;写入文件时I/O模块向文件输出模块提交写文件流请求,文件输出模块进行写入请求队列处理。文件流模块分为文件输入流模块和文件输出流模块两类。文件输入流模块按照文件队列模块中的读取请求取出HDFS中对应的文件;文件输出流模块按照文件输出模块中的写入请求向HDFS中对应的文件中写入数据。

3 结束语

烟台市科技服务云灾备系统通过充分利用闲置的旧式服务器,解决了市科技服务系统数据的备份问题,云灾备系统的通过数据节点的冗余设计减少了采用老旧服务器带来的系统不稳定性,提高了备份数据的安全性,最大限度的克服了备份数据的丢失问题,同时避免了重新购置存储设备,节约了存储设备购置资金,经有关科室试用后效果显著。

【参考文献】

[1]杨亚军.面向云计算环境的I/O虚拟化关键技术研究[D].北京:中国科学院研究生院,2011:5-6.

[2]李逦.浅析云计算背景下云存储的优势与劣势[J].计算机光盘软件与应用,2013(23):1.

[3]邓祥.基于Hadoop的海量日志数据处理研究与应用[D].厦门:厦门大学,2013:33.

[4]黄振奎.一种基于Hadoop平台Dump模块的设计与实现[D].北京:北京邮电大学,2012:3.

[5]The Apache Software Foundation. Text:Apache Hive[EB/OL].[2015-06-03]. https://cwiki.apache.org/confluence/display/Hive/GettingStarted.

[6]方雷.基于云计算的土地资源服务高效处理平台关键技术探索与研究[D].杭州:浙江大学,2011:82.

[7]陈文.基于云计算的医疗器械检测信息化平台研究[D].西安:西安工业大学,2014:11.

[8]杨岳湘,邓文平,邓劲生,等.基于云存储的网盘系统架构及关键技术研究[J]. 电信科学,2012,28(10):68-72.

[9]李新宇.网络云盘介绍——以360云盘和百度云为例[J].无线互联科技,2014(1):38-38.

[10]胡凯,郑兴福,陈如松,等.江苏高校实验教学示范中心共享平台建设与实践[J].实验室研究与探索,2014, 33(8):144-147.

[11]傅颖勋,罗圣美,舒继武.一种云存储环境下的安全网盘系统[J].软件学报, 2014(8):1831-1843.

[责任编辑:朱丽娜]

猜你喜欢

私有云
虚拟网络建设思考与实现