摘要
随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,短视频流量数据分析与可视化管理展现了其蓬勃生命力和广阔的前景。与此同时,为解决短视频流量数据分析与可视化管理需求,短视频流量数据分析与可视化管理发展愈发多元化与网络化,与电子信息技术相结合。短视频流量数据分析与可视化系统应运而生。
该系统基于Hadoop平台,利用Java语言、MySQL数据库,结合目前流行的 B/S架构,将短视频流量数据分析与可视化管理的各个方面都集中到数据库中,以便于用户的需要。在确保系统稳定的前提下,能够实现多功能模块的设计和应用。该系统由管理员功能模块和用户模块组成。不同角色的准入制度是有严格区别的。各功能模块的设计也便于以后的系统升级和维护。该系统采用了软件组件化、精化体系结构、分离逻辑和数据等方法。
第二章 相关技术简介
2.1 Java介绍
Java语言正式诞生于1995年,是由SUN公司开发研制的OAK语言发展而来的。Java语言继承了OAK语言可跨平台运行的特点,融合了面向对象编程的风格,JAVA以其独有的开放性、跨平台性和面向网络的交互性席卷全球,以其安全性、易用性和开发周期短的特点,迅速从最初的编程语言发展成为全球第一大软件开发平台.广受时下程序开发人员的好评[3]。后来又为了丰富Java语言的用途,提高生产力,将它进行设计和改造,以满足更多地开发和应用场景。经过改造后,它可以满足移动端开发,桌面应用开发和企业级应用开发。Java语言还为用户提供了丰富的类库,在掌握它的特性后,学习特定的工具包,就可以满足很多场景的开发。现在来看,Java语言在这三种平台的应用开发中,都占据了举足轻重的地位。
与其他语言相比,Java语言具有很多的优点,Java语言简单比较容易理解,有c语言的基础很容易就可以学会,中文和英文的学习资源也比较多,而且Java语言经过许多年的沉淀发展,逐渐演变出很多成熟的框架技术。企业还还可以封装自己的框架,让开发变得简单。它还具有跨平台性较其他语言这一个最大的优势,这意味着它只需要一次编译就可以运行在其他平台上。
2.2 Hadoop介绍
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。主要有以下优点:
(1)高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
(2)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
(3)高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
(4)低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
2.3 Scrapy介绍
Scrapy是一个抓取系统数据和提取结构化数据的框架,它可以应用在广泛的应用中:Scrapy通常用于一系列应用,包括数据挖掘、信息处理或存储历史数据。使用Scrapy框架实现一个爬虫程序通常非常简单,抓取给定系统的内容或图像。
虽然Scrapy是为屏幕抓取(或者更准确地说是网页抓取)而设计的,但它也可以用于访问api以提取数据。
2.4 MySql简介
它以其优秀的性能、强大的功能以及良好的扩展性受到越来越多的关注。目前,国内已经有很多企业采用了该系统进行管理,取得了很好的效果。随着网络技术的发展。MySQL是最流行的关系型数据库管理系统之一,我的SQL是WEB应用应用程序中最好的RDBMS(Relational Database Management System)应用程序之一。MySQL是一个关系型数据库管理系统,在这个系统中,关系数据库将数据存储在不同的表中,而不是全部存储在一个大仓库中,从而提高了速度和灵活性。
在信息管理中,对于数据库的应用也日益广泛,不仅有效对信息管理的质量进行了提升,也进一步提升了信息管理的安全性,让信息管理更加高效[6]。SQL Server是一种关系数据库管理系统,它能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到 SQL Server实例。
我的SQL使用的SQL语言是访问数据库最常用的标准化语言。它可以通过简单操作实现复杂查询功能,并且具有良好的可扩展性和可维护性等优点。随着网络技术的不断发展,ASP.NET成为目前互联网上最为流行的Web应用之一。MySQL软件采用双授权政策,分为社区版版本和商业版。由于其体积小,速度快,总体拥有成本低,特别是开放源码,MySQL用作中小型网站发展的网站数据库。
2.5 SPRINGBOOT框架
Spring Boot是由Pivotal的开发团队在2013年开发的一个免费、轻量级、开源的系统框架。SpringBoot的主要设计思想是约定大于配置,因此SpringBoot在设计时几乎达到零配置。SpringBoot集成了业界的开源框架。
SpringBoot是一个非常强大的后台框架,因为SpringBoot的开发基本上不需要写配置文件,所以利用SpringBoot来构建网站的后台环境,在SpringBoot的YML配置文件中写项目启动端口,项目就可以启动了。项目的Java和静态文件由SpringBoot管理。
2.6 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。B/S架构工作流程图如2-1所示:
图2-1 B/S架构工作流程图
2.7 Tomcat简介
Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。
Tomcat 目录结构作用如表2-1所示
表2-1 tomcat目录结构表
序号 目录名称 作用
1 bin 存放启动和关闭tomcat脚本
2 conf 存放不同的配置文件(server.xml和web.xml)
3 doc 存放Tomcat文档
4 lib 存放Tomcat运行需要的库文件(JARS)
5 logs 存放Tomcat执行时的LOG文件
6 src 存放Tomcat的源代码
7 webapps Tomcat的主要Web发布目录(包括应用程序示例)
8 work 存放jsp编译后产生的class文件
3 系统分析
所谓系统分析就是,需求人员通过与用户的沟通,所获取的信息,然后把这些信息通过需求说明书的方式展示给用户和开发人员。在软件功能发展的历史长河中,很长时间,特别是最开始的时候,需求分析的重要性并不被人们所认同,例如当时美国IBM公司为英国电信公司开发一套信息管理系统,在需求不明确的情况下开始开发,最初的工期为一年,由于需求获取不清晰导致工期推迟了半年多,造成巨大损失。我们很多软件公司也存在这种情况,边需求,边开发,甚至与用户没有沟通清楚的情况下,直接照搬同类型的项目进行更改,导致到系统验收的时候,重新更改,造成了人力、物力的极大浪费。而导致这一切后果的原因就是需求获取不及时、不清楚、不全面。
3.1 可行性分析
3.1.1技术可行性
技术可行性分析是对开发家具网站的技术可行性评估,提前进行规范,现在适合的技术,可以事半功倍。
系统使用JAVA和MYSQL数据库。JAVA是比较成熟的语言,开发系统具有很多优势,完全开源免费。JAVA是嵌入在HTML中的,在服务器运行后,进行解释。JAVA具有独特的语法,执行效率高,因为JAVA代码是在服务器端执行的。JAVA的引擎机制会把执行后的结果保存到客户端内存中,当用户再次访问这个页面时,直接从内存读取,运行速度快。
JAVA是网络编程语言,对于本系统的开发作为合适,在技术上具有可行性。
3.1.2操作可行性
操作可行性主要考虑开发系统后,是否操作方便,是否可以解决现有的问题,是否可以提高相应的效率。本系统使用web模式,通过浏览器即可访问,操作简单。进入系统后,通过主页的菜单快速的进入各个子功能,通过鼠标和键盘就可以完成各种事项。在操作上具有可行性。
3.1.3经济可行性
经济比较包括两个方面,投入和收益。投入上包括开发系统需要的人力成本和服务器硬件成本。人力成本上,一个月的人力成本就5000元左右。服务器硬件成本1万元。而收益上,开发家具网站后可以使用多年,并可以分析给其它高校使用,投入使用一年的收益都将大于投入,所以,在经济上可行。
3.1.4时间可行性
计划使用两个月完成系统的分析、设计、实现和实施。通过前期的调研,完成系统时间需要一个月时间即可,考虑到后期的修改和实施,预留了足够的时间,所以,开发家具网站时间上可行。
3.2 业务流程分析
3.2.1 登录流程
3.2.2 注册流程
3.2.3添加信息流程
3.2.4删除信息流程
4 功能需求
5 数据库
4.2.1数据库设计原则
要学习程序设计,如果你想了解数据库管理系统或根据要求开发的系统接口,你必须创建一个数据库管理系统模型来存储数据。这样,当您在应用程序编程过程中,就不需要将信息加载到操作系统页面,从而提高整个系统的工作效率。信息库管理系统中存储着许多数据,应该说是管理信息系统建设的中心和基础。信息库管理系统还为管理信息系统的建设提供了添加、删除、更改和搜索的操作功能,使管理信息系统建设能够快速查询所需的数据,而不是直接从程序代码中查找。信息库管理系统通过按照特定的方法将信息表的各个组成部分组合起来,准确地组合、分类并构成信息库管理体系。
4.2.2系统E-R图
本毕业设计的E-R图描述了在系统中各个实体之间的联系,以下是对部分主要的关键实体如下:
用户实体属性图如下图4-2所示。
6 系统实现
在短视频流量数据分析与可视化系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员和用户功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
5.1 系统功能模块
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到短视频流量数据分析与可视化系统的导航条,通过导航条进入各功能信息展示页面进行操作。系统首页界面如图5-1所示:
用户注册:在用户注册页面输入用户注册信息进行注册操作,用户注册页面如图5-2所示:
番剧信息:在番剧信息页面的输入栏中输入来源进行查询,可以查看到番剧详细信息;番剧信息页面如图5-3所示:
个人中心:在个人中心页面输入个人信息可以进行更新信息操作;如图5-4所示:
5.2 管理员功能模块实现
管理员登录,在登录页面正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-5所示。
管理员进入主页面,主要功能包括对个人中心、用户管理、番剧信息管理、系统管理等进行操作。管理员主页面如图5-6所示:
管理员点击用户管理。进入用户页面输入用户账号可以查询,新增或删除用户列表,并根据需要对用户详细信息进行查看详情,修改或删除操作。如图5-7所示:
管理员点击番剧信息管理。进入番剧信息页面输入来源可以查询、新增、爬取数据或删除番剧信息列表,并根据需要对番剧详细信息进行查看详情、修改或删除操作。如图5-8所示:
管理员进行爬取数据后,点击主页面右上角的看板,可以查看到系统简介、番剧信息总数、评分统计、选集统计、epid统计、播放量统计、弹幕量统计、评分人数统计等实时的分析图进行可视化管理;如图5-9所示:
管理员点击系统管理,进入系统管理页面可以对关于我们、系统简介、轮播图管理和公告信息进行详情或修改操作;如图5-10所示:
第六章 系统测试
6.1测试目的
系统测试包括黑盒测试和白盒测试,在黑盒测试中,验证每一个功能是否都可以使用,是否符合需求。之所以叫黑盒测试,是因为把程序当作一个盒子,不去考虑程序内部因素,只是对外部功能进行测试。而白盒测试是对程序进行测试,验证程序功能结构、逻辑等进行测试。
系统测试是软件工程最后一个流程,核心目的是找出问题修复问题。系统测试保证了软件交付的依据,通过了系统测试,才能完成最终审查。系统测试可以使用软件进行测试,也可以人工进行测试,在规范化开发中,通过一定的软件进行性能测试非常有必要,工具可以模拟访问量,连接数等进行系统压力测试。
测试的任务是发现错误,提高系统的强壮型,检验系统开发的情况。又分为了模块测试、组装测试和确认测试。在本系统中,通过测试用例,进行对应的功能测试。
说明
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
后台路径地址:localhost:8080/项目名称/admin/dist/index.html
前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)
管理员账号:abo
管理员密码:abo