Hadoop分布式视频存储与管理系统的设计和实现

2019-11-11 13:14姚晓玲陈帅帅
电脑知识与技术 2019年27期
关键词:在线视频

姚晓玲 陈帅帅

摘要:针对视频存储快速增长的需求,为中小型视频网站设计了基于Hadoop的视频存储与管理系统。系统采用B/S模式,使用多层应用架构,以IntelliJ IDEA为开发工具,以SSM作为体系结构解决方案,页面层使用Bootstrap前端框架,以JSP技术进行开发,使用MySQL进行结构化信息数据存储,使用Hadoop对视频进行分布式存储。系统对日益增多的视频数据进行有效的存储和快速的检索,具备大容量、高并发、高可靠、易扩展、易整合、易管理等特性。

关键词:Hadoop;hdfs;分布式存储;在线视频;SSM

中图分类号:TP315       文献标识码:A

文章编号:1009-3044(2019)27-0071-03

Abstract: In view of the rapid growth of video storage, a video storage and management system based on Hadoop is designed for small and medium-sized video websites. The system adopts B/S mode multi-layer application architecture, uses IntelliJ IDEA as development tool, uses SSM as the architecture solution, and the page layer uses Bootstrap front-end framework to develop with JSP technology, using MySQL as the database. The management system uses the Hadoop distributed file storage system to store video. The system can store and retrieve more and more video data effectively. It has the characteristics of large capacity, high concurrency, high reliability, easy expansion, easy integration and easy management.

Key words: Hadoop; hdfs; distributed storage; Online Video; SSM

1 背景

随着4G网络迅速发展以及移动手机普及,近几年来在线视频行业发展迅猛,截至2018年12月,在线视频行业渗透率达71.3%,12月行业DAU(daily active user)达2.06亿[1]。面对急速增长的市场需求,单机的后台视频存储服务器已经不能满足互联网企业的要求。

针对以上问题,结合在线视频行业现状和视频网站的实际情况,开发了基于Hadoop视频存储与管理的分布式系统。该系统运用模块化的思想,将业务功能分成了多个独立的模块,如:视频存储模块,视频管理模块,用户模块,广告模块等。每个模块分别部署在集群中,当某个模块需求较大时,只需要增加相应的子节点。分布式结构极大降低了各模块之间的耦合度,使其可以独立开发、部署、测试,也可以更有针对性地对整个系统进行扩展[2]。

2 系统设计

2.1 系统功能结构设计

部署该系统的目的是让网站能够为用户提供良好的播放体验,带来极大的访问量,实现收益的最大化,因此面向用户的前台有以下功能:用户注册、登录、个人信息维护、视查询、视频播放、评论以及系统推荐,后台管理员的权限和功能主要包括:服务器和系统管理、用户管理、视频管理、前台模板管理、广告的管理、数据采集管理。

系统功能结构图[3]能够梳理视频管理系统各个功能模块在开发过程中业务逻辑,减少开发的工作量。系统前台功能结构图如图1,系统后台功能结构图如图2所示。

2.2 系统技术架构设计

系统使用的是廉价的服务器主机,安装开源的Linux系统CentOS,搭建Hadoop集群环境,使用hdfs存储视频文件,安装MySQL数据库存储结构化数据。使用Mybatis作为持久化框架,实现对数据库的增、删、改、查功能;使用Spring管理所有Bean的生命周期,维护应用中所有对象的创建、初始化、销毁及关联关系;使用SpringMVC作为View层的实现者,完成用户的请求接收功能,SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应[4]。使用Bootstrap框架开发前端用户界面的响应式布局,使用LayUI框架完成后台管理员界面模块化布局。

系统分层是一种很常见的架构模式,是大多数Java EE应用的实际标准, 分层架构模式里的组件被分成几个平行的层次,每一层都代表了应用的一个功能(展示逻辑或者业务逻辑)。本系统分为Action、Service、DAO、Model層,其中DAO层主要是做数据持久层的工作,负责与数据库进行访问类都封装在此;Service层主要负责业务模块的逻辑应用设计;Model层存放应用逻辑层的对象,页面访问时:首先Action层引用对应的Service层,Service层进行业务处理和调用Dao层,Dao层对数据库进行操作并将数据封装到Model层的实体类返回给Service层,Service层再返还给Action层,Action返回给前端。其他包如Util里面存放的是静态工具类,Interceptor里面放的全局的拦截器,Exception里面存放的异常信息,Task里面存放的是一些定时任务。

3 视频存储在Hdfs中的技术实现

Hadoop作为一个大数据框架,可以实现对存储到hdfs数据进行分布式管理,因此如何将视频数据存储到hdfs以及从hdfs下传数据实现网页播放成为系统的技术关键点。

3.1 视频存储到hdfs视频上传首先使用Spring上传文件的形式先将前端文件接收到后台,然后调用Upload类,关键部分代码如下所示:

设计操作Hadoop接口的类Upload,将从Controller传过来的数据通过调用Hadoop的FileSystem接口中的copyFromLocalFile方法实现将视频文件上传到hdfs中。

其中的fs.defaultFS属性需要与集群Master NameNode节点中配置的一致。该属性配置一般在etc/hadoop/core-site.xml文件中进行定义。

copyFromLocalFile方法參数说明:

第一个参数:表示是否删除本地的源文件,也就是上传文件后是否保留原文件,这里为了避免后续文件越来越多,就直接采用上传成功就删除的方式。

第二个参数:表示是否覆盖已存在的文件,这里false表示不覆盖,如果HDFS集群中已存在该文件,就提示上传失败。

第三个参数:表示源文件路径。

第四个参数:上传到HDFS指定的路径。

3.2 网页播放HDFS视频的技术实现后台接收前台传来的播放请求,将HDFS路径和前台文件路径参数拼接形成完整的视频源文件路径。然后新建数据流,判断是否是断点续播,设置不同的头文件参数及开始和结束的位置,最后调用Hadoop的IOUtils接口中的copyBytes方法实现文件流的传输。

4 结束语

本文结合当下视频网站的运营模式对视频系统功能需求进行分析,确定系统使用需求,以IntelliJ IDEA为开发工具、Hadoop集群为测试环境下使用Java WEB结合MySQL数据库,基于Spring、Spring MVC、MyBatis的Java EE企业级框架,设计与实现了视频存储与管理系统。

系统使用集群结构,实现了负载均衡,同时又具有高性价比、高可用性,可以通过廉价的符合工业标准的硬件构造出高性能的系统,解决中小网站前期硬件投资费用高昂的痛点。

参考文献:

[1] 中国互联网络信息中心. 第41次中国互联网络发展状况统计报告[EB/OL]. http://www.cac.gov.cn/2018-01/31/c_1122347026.html.

[2] 李庆君. Hadoop架构下海量空间数据存储与管理[D]. 武汉: 武汉大学, 2017.

[3] 朱三元. 软件工程技术概论[M]. 北京: 科学出版社, 2002: 145-150.

[4] 张宇, 王映辉, 张翔南. 基于Spring的MVC框架设计与实现[J]. 计算机工程, 2010, 36(4): 59-62.

[5] 吴张顺, 张珣. 基于FFmpeg的视频编码存储研究与实现[J]. 杭州电子科技大学学报, 2006, 26(3).

[6] 高煜红, 陈清华, 方路平. ZFS在基于Hadoop的视频存储系统中的应用[J]. 杭州电子科技大学学报, 2013(5): 102-105.

[7] 王志力, 李莹. 基于WEB的开放式架构下视频管理系统设计[J]. 现代电子技术, 2017, 40(17): 15-18.

[8] 冯亚洲. 基于Hadoop的电力视频大数据分布式检索系统设计与实现[D]. 南京: 南京邮电大学, 2017.

[9] 范进超. 基于SSH框架的网络视频管理系统的设计与实现[D]. 长沙: 湖南大学, 2015.

【通联编辑:谢媛媛】

猜你喜欢
在线视频
网络网际之在线视频
风云变幻,汰弱留强 谈在线视频的发展现状
2017年Q1在线视频用户规模5.8亿人
2015年Q3中国在线视频市场规模115.3亿
兰渡文化:引爆女性在线视频
中国在线视频行业发展分析