大数据环境下电影类网站推荐系统算法研究

204 篇文章 0 订阅
164 篇文章 0 订阅

大数据环境下气象类网站推荐系统算法研究

摘要: 气象类网站推荐系统算法研究的背景主要是随着互联网的发展和普及,越来越多的用 户通过在线平台观看气象和电视剧。为了满足用户的个性化需求,推荐系统成为了电 影类网站的核心功能之一。通过使用大数据技术和机器学习算法,推荐系统可以分析 用户的行为数据、兴趣爱好和观看习惯,从而为用户推荐符合他们口味的气象和电视 剧。随着大数据技术的不断发展,气象类网站可以获取到更多的用户数据,如评分、评论、观看历史、收藏等。这些数据为推荐系统提供了更丰富的信息,使得系统能够更准确地预测用户的喜好和需求。同时,机器学习算法的不断进步也为推荐系统提供了更多的可能性,如协同过滤、矩阵分解、深度学习等。气象类网站推荐系统算法研究的背景还包括竞争激烈的在线视频市场。为了吸引用户并留住用户,气象类网站需要不断提高推荐系统的准确性和用户体验。因此,研究更加高效、精确的推荐算法成为了气象类网站的重要任务。

本文设计了基于大数据的气象类网站推荐系统,本系统的核心功能是通过爬取实海量气象评分的原始数据,并通过大数据技术将原始数据存储、计算,并将分析的结果以可视化列表形式展示。

本论文的主要研究工作及取得的成果如下:

1、使用Spring,SpringMVC,MyBatis,Echarts等软件开发技术,设计并成功开发出了一套基于大数据的气象网站后台软件系统,本后台系统的气象评分数据源于气象网站上爬取的气象评分。

2、使用基于Python语言的网络爬虫,爬取了气象网站上的气象评分。对爬取到的原始数据进行数据清洗后存储到Hadoop上,然后使用MapReduce分布式运算编程模型对数据计算,最后将结果保存至MySQL中存储分析。

关键词:大数据;Hadoop; Python;气象评分

Research on Algorithm of Movie Website Recommendation System in Big Data Environment

Abstract: The background of the research on recommendation system algorithms for movie websites is mainly that with the development and popularization of the Internet, more and more users are watching movies and TV dramas through online platforms. In order to meet the personalized needs of users, recommendation systems have become one of the core functions of movie websites. By using big data technology and machine learning algorithms, recommendation systems can analyze user behavior data, interests, and viewing habits, in order to recommend movies and TV shows that meet their tastes. With the continuous development of big data technology, movie websites can obtain more user data, such as ratings, comments, viewing history, favorites, etc. These data provide richer information for recommendation systems, enabling them to more accurately predict user preferences and needs. Meanwhile, the continuous progress of machine learning algorithms has also provided more possibilities for recommendation systems, such as collaborative filtering, matrix factorization, deep learning, etc. The background of research on recommendation system algorithms for movie websites also includes the fiercely competitive online video market. In order to attract and retain users, movie websites need to continuously improve the accuracy of recommendation systems and user experience. Therefore, researching more efficient and accurate recommendation algorithms has become an important task for movie websites.

This article designs a movie website recommendation system based on big data. The core function of this system is to crawl the raw data of massive movie ratings, store and calculate the raw data through big data technology, and display the analysis results in a visual list form.

The main research work and achievements of this paper are as follows:

1. A big data based movie website backend software system was designed and successfully developed using software development techniques such as Spring, SpringMVC, MyBatis, Echarts, etc. The movie rating data of this backend system comes from movie ratings crawled on movie websites.

2. We used a web crawler based on Python language to crawl movie ratings from movie websites. Clean the raw data crawled and store it on Hadoop, then use the MapReduce distributed computing programming model to calculate the data, and finally save the results to MySQL for storage and analysis.

Keywords: big data; Hadoop; Python; Movie ratings

1 绪论

1.1研究背景

气象类网站推荐系统算法研究的背景主要是随着互联网的发展和普及,越来越多的用 户通过在线平台观看气象和电视剧。为了满足用户的个性化需求,推荐系统成为了电 影类网站的核心功能之一。通过使用大数据技术和机器学习算法,推荐系统可以分析 用户的行为数据、兴趣爱好和观看习惯,从而为用户推荐符合他们口味的气象和电视 剧。随着大数据技术的不断发展,气象类网站可以获取到更多的用户数据,如评分、 评论、观看历史、收藏等。这些数据为推荐系统提供了更丰富的信息,使得系统能够 更准确地预测用户的喜好和需求。同时,机器学习算法的不断进步也为推荐系统提供 了更多的可能性,如协同过滤、矩阵分解、深度学习等。气象类网站推荐系统算法研 究的背景还包括竞争激烈的在线视频市场。为了吸引用户并留住用户,气象类网站需 要不断提高推荐系统的准确性和用户体验。因此,研究更加高效、精确的推荐算法成 为了气象类网站的重要任务。

总而言之,从上述问题可以看出目前互联网气象评分平台信息缺乏整合,用户在冗杂的气象评分中难以筛选出有效的信息。本论文拟初步研究开发出一套完整的基于大数据平台的气象推荐分析系统,本系统主要用于对气象评分进行采集,通过大数据平台对数据进行存储和计算,将大数据分析结果以可视化形式给用户查询。这样,用户在使用本平台时只需一次注册操作,即可浏览各平台发布的气象评分,并且可以根据用户的条件进行筛选,可极大的提高便利。

1.2 国外研究现状 

随着互联网和大数据技术的快速发展,气象类网站推荐系统已成为人们获取气象 信息的重要途径。国外在气象类网站推荐系统算法研究方面取得了许多成果,主要涉 及以下几个方面:1. 基于协同过滤的推荐算法:该算法通过分析用户历史行为数据, 找出用户与其他用户之间的相似度,从而为用户推荐与其喜好相似的其他用户喜欢的 气象。2. 基于内容的推荐算法:该算法分析气象的基本信息(如导演、演员、类型  等)以及用户的历史行为数据,找出与用户喜好相似的气象进行推荐。3. 矩阵分解  方法:该方法通过矩阵分解,将用户和气象之间的复杂关系转化为用户和潜在特征之 间的线性关系,从而实现气象的推荐。4. 深度学习方法:近年来,深度学习在推荐  系统领域取得了显著的成果。例如,利用神经网络、循环神经网络(RNN)和卷积神  经网络(CNN)等模型, 自动提取气象和用户特征,提高推荐准确性。5. 混合推荐算 法:结合多种推荐策略,如协同过滤、基于内容的推荐和深度学习方法等,实现优势 互补,提高推荐系统的综合性能。

1.3 国内研究现状 

国内许多高校和研究机构都在进行相关研究,主要涉及以下几个方面:1. 基于  内容的推荐算法:通过分析气象的元数据(如导演、演员、类型等)以及用户的历史 行为(如评分、观看记录等),构建气象特征向量和用户兴趣模型,从而为用户推荐 与其兴趣相似的气象。2. 协同过滤算法:包括基于用户的协同过滤和基于物品的协  同过滤。基于用户的协同过滤通过分析用户之间的相似度,为用户推荐与其喜好相似 的其他用户喜欢的气象;基于物品的协同过滤则是通过分析气象之间的相似度,为用 户推荐与其观看过的气象相似的其他气象。3. 基于深度学习的推荐算法:利用深度  神经网络、循环神经网络等深度学习技术,学习气象和用户之间的复杂非线性关系, 以提高推荐的准确性和多样性。4. 基于图计算的推荐算法:将气象、用户、兴趣等  元素构建为一个图结构,利用图计算技术(如 PageRank、GNN 等)分析图结构中的  节点和边,以发现用户的潜在兴趣和推荐优质气象。5. 混合推荐算法:将多种推荐  算法进行组合,如协同过滤与基于内容的推荐相结合,以充分发挥各自优势,提高推 荐效果。 目前,国内的研究现状已经取得了一定的成果,但仍然存在许多挑战,如数 据稀疏性问题、用户兴趣变化性问题、推荐结果的多样性和新颖性问题等。为了应对 这些挑战,研究人员还在不断探索新的推荐算法和改进现有算法。

1.4 论文主要研究工作

本论文所设计的基于大数据平台的气象评分系统的最核心功能是对海量气象评分的列表展示,并将大数据计算分析的结果以科技大屏可视化形式展出,使得用户能够非常直观的获取到当下的影评分。

本系统首先需要提供给客户管理和使用的数据。本文使用基于Python语言的Scrapy框架的网络爬虫技术爬取用户使用率较高的气象网站上实时的气象评分以及公司信息作为数据来源,以此作为大数据分析的关键数据支撑。然后使用Hadoop,生态圈中分布式运算模型MapReduce框架对海量的气象评分数据进行数据清洗,数据融合,计算,分析等流程,数据通过处理后持久化到MySQL数据库中存储。本次课题研究内容的主要方面有:用户行为数据收集与分析;气象信息数据挖掘与处 理;推荐算法模型设计;模型评估与优化;推荐系统的实现;实时更新和个性化调整。

本文开发一套Web系统将市面上的气象评分通过大数据技术进行存储、计算与智能化分析,将会给应聘人员提供巨大的好处。在提供气象评分列表展示以及筛选功能的同时,还为用户提供个人信息管理,注册修改等功能,这样做便使得该系统成为功能相对完整,业务逻辑清晰,可大幅度提高效率。

2 技术总述

2.1 基于Scrapy的网络爬虫技术

第一部分是从互联网中获取数据,采用网络爬虫,根据各类灾情分析的具体需求,对特定的网页进行爬取,筛选出精准有用的数据。本部分的详细流程为:首先根据url将对应网页的源码截取下来;其次编写算法,利用 PyQuery 解库对源码进行拆分解析,将符合要求的数据全部取出:最后利用 Python 提供的接口将获取得到的数据存放入MongoDB这个非关系型数据库中。

Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

在本设计中,由于需要使用到气象网站的原始数据,因此需要开发相应的网

络爬虫程序完成对评分原始数据的采集,图2-1为爬取气象网站的气象评价

数据的原理流程图。

图2-1 气象数据爬虫原理流程图

2.2 大数据生态圈技术

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题,广义上来说,HADOOP通常是指一个更广泛的概念,即HADOOP生态圈。

MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop

的数据分析应用”的核心框架; MapReduce核心功能是将用户编写的业务逻辑代

码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。|

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。

图 2-2 大数据集群机器

用户编写的程序分成三个部分: Mapper, Reducer, Driver(提交运行m程序的客户端)。

1.Mapper阶段

(1)用户自定义的Mapper要继承自己的父类

(2) Mapper 的输入数据是KV对的形式(KV 的类型可自定义)

(3) Mapper 中的业务逻辑写在map()方法中

(4) Mapper的输出数据是KV对的形式(KV 的类型可自定义)

(5) map()方法(maptask,进程) 对每一个<K, V>调用一次

2. Reducer 阶段

(1)用户自定义的Reducer要继承自己的父类

(2)Reducer的输入数据类型对应Mapper的输出数据类型,也是KV

(3) Reducer 的业务逻辑写在reduce()方法中

(4)Reducetask.进程对每一-组 相同k的<k, v>组调用一次reduce()方法

3.Driver 阶段

整个程序需要一个Drvier来进行提交,提交的是一个描述了各种必要信息的job对象。

2.3 Python技术

基于Flask气象票房数据分析系统的研究与实现在前台管理网页效果中主要采用的是Python语言开发,现在越来越多的软件公司都使用Python语言来开发web端的应用。因为就目前的市场上网页制作模块来说,Python语言包含的内容是相对而言比较丰富全面的,而且Python语言已经成为现在市场上最为常见的开发技术。我们都知道Python语言是一种开发技术,它的开发是跨平台的,Python语言可以在Windows操作系统上运行也可以在Linux系统上运行。

Python是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Python语言具有功能强大和简单易用两个特征。Python语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Python具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点。Python可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等

2.4 Echarts前端可视化技术

Apache ECharts 是一款基 于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts 开源来自百度商业前端数据可视化团队,基于htm15 Canvas, 它是一个纯Javascrint,图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

2.5 本章小结

本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括气象评分采集的爬虫技术,数据持久化存储技术,以及基于Python框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于大数据分析平台的评分数据分析系统。

3 气象评分大数据分析系统实现

3.1系统功能

通过前面的功能分析可以将基于大数据气象评分平台的研究与实现的功能主要包括用户登录气象评分管理数据分析等内容。后台管理是针对已登录的用户看到满意的评分数据分析而设计的。

3.2可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.2.1 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.2.2 技术可行性

技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是Hadoop开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。

3.2.3 运行可行性

当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。

3.2.4 时间可行性

从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。

3.3 系统实现流程

(1)明确目的

在设计气象评分大数据分析平台初期需要了解如何获取气象评分原始数据

是非常基础也是关键的一步。要了解大数据分析平台期望达到什么样的运营效

果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层

设计科学合理。

(2)数据采集

只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集

数据时,需要考虑多种维度,比如不同分类评分数据、各分类薪资水平数据、行

业就业情况数据、分类评分岗位等等,还可以通过分类调研、用户访谈、用户信

息填写及问卷、平台前台后台数据收集等方式获得。

(3)数据清洗

就对于各大气象网站或者APP平台采集到的数据而言,可能存在非目标数据、

无效数据及虛假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,

便于后续的处理。

(4)特征工程

特征工程能够将原始数据转化为特征,是--些转化与结构化的工作。在这个

步骤中,需要剔除数据中的异常值并将数据标准化。

(5)数据计算

在这一步我们将得到的数据存储到大数据分析平台,通过开发MapReduce,

程序对原始数据进行计算,将不同维度的结果存储到Mysql中。

(6)数据展示

分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需.

要登录到该后台系统,就可以获取到评分数据分析后的计算结果,从而了解分类

的评分情况,对于求职者而言可以极大地提高效率。

3.4系统平台架构

图3-1 气象评分数据原始页面

在任何信息系统当中有价值的数据都是必不可少的重要部分,如何通过手上

的资源获取得到有价值的数据便是开发系统。首先需要考虑的问题根据系统的功

能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流

程。

3.5 评分数据爬虫设计

这个项目我们的主要目的是爬取气象网站网的评分数据信息,包括气象名称和气象描述和评分等具体详情信息,下面描述本文爬虫工程主要设计步骤。

(1)创建项目

打开一个终端输入:scrapy startproiect python_movie_data,Scrapy框架将会在指定目录下生成整个工程框架。系统生成的目录如下图3-2所示:

图3-2爬虫框架目录结构

(2)修改setting文件

如图3-1所示为修改后的setting文件主要内容,本设计主要修改三项内容,

第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页

面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求

头,添加一个User-Agent。

表3-1 爬虫setting文件主要配置

BOT_NAME = 'python_city_data'

SPIDER_MODULES = ['python_city_data.spiders']
NEWSPIDER_MODULE = 'python_city_data.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'python_city_data (+http://www.yourdomain.com)'
#换伪造请求头
USER_AGENT = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
# Obey robots.txt rules
ROBOTSTXT_OBEY = False

(3)确认要提取的数据,item 项

item定义你要提取的内容(定义数据结构),比如我提取的内容为气象评分的所在城市和气象评分详情,于是需要在items类中新建对应的实体类,并需要设置相应的字段取出对应的数据。Field 方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。

(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容

3.6 MapReducec程序设计

原始的气象评分数据一般信息较为冗杂,且很难看出规律,因此我们需要将

数据存储在HDFS上,数据在多台机器上保存了n份,保证了原始数据的高可用。

然后通过MapReduce框架开发程序,将海量的原始数据计算过程分成一个个的

job提交到yarn上管理执行。

MapReduce确保每个reducer的输入都是按键排序的。系统执行排序的过程

(即将map输出作为输入传给reducer)称为shuffle。下面是Mapreduce计算

最重要的shuffle原理,可以看出具有同key的Mapper端输出将会汇向同一

Reducer端,从而达到分布式计算的效果。如图3-3所示

图3-3 Mapreduce的shuffle原理

本文中如需分析目前气象网站上的各行各业的评分岗位总量情况,首先需要定义一个mapper类,这也就是mapper任务中的核心逻辑,需要在代码中对每条评分数据的所属分类字段过滤,下面为mapper任务的主要逻辑代码。

表3-2 mapper任务的主要逻辑

public class IndustryMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
    protected void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {
        // 1 将maptask传给我们的文本内容先转换成String
        String line = value.toString();
        // 2 根据,将这一行切分成多个字段
        String[] fields = line.split(",");
        // 3 取其中的所属分类字段
        String industry = fields[8];
        // 4 将所属分类输出为<所属分类,1>,以便于后续的数据分发
        context.write(new Text(industry), new IntWritable(1));
    }
}

再编写完Mapper任务代码后,需要再定义一个reducer类用于处理Reducer 过程的业务逻辑,用于统计数量,下面为mapper任务的主要逻辑代码。

表3-3 reducer任务的主要逻辑

public class IndustrytReducer extends Reducer<Text, IntWritable, Text, IntWritable> {

protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {

int count = 0;

// 1 汇总各个分类的个数

for(IntWritable value:values){

count +=value.get();

}

// 2输出该分类的总次数

context.write(key, new IntWritable(count));}}

再编写完Mapper任务和reducer任务的业务代码后,还需要定义一个主类用于管理上述的作业,MapReduce框架会将上述的Mapper和Reducer任务拆分为一个个的job,并提交到yarn上管理执行。下表3-4为气象评分所属分类MapReduce作业管理类的主要逻辑。

3-4 所属分类MapReduce作业管理类

public class IndustryDriver {

public static void main(String[] args) throws Exception {

// 1 获取配置信息,或者job对象实例

Configuration configuration = new Configuration();

Job job = Job.getInstance(configuration);

// 2 指定本业务job要使用的mapper/Reducer业务类

job.setMapperClass(IndustryMapper.class);

job.setReducerClass(IndustryReducer.class);

// 3 指定mapper输出数据的kv类型

job.setMapOutputKeyClass(Text.class);

job.setMapOutputValueClass(IntWritable.class);

// 4 指定最终输出的数据的kv类型

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

// 5 指定job的输入原始文件所在目录

FileInputFormat.setInputPaths(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

// 7 将job中配置的相关参数,以及job所用的java类所在的jar包, 提交给yarn去运行

boolean result = job.waitForCompletion(true);

System.exit(result?0:1);

}

}

任务主类编写成功后,将其打成jar包,并提交到hadoop环境上,通过hadoop fs命令执行该mapreduce作业。并可通过Hadoop的管理web页面查看作业的执行的具体情况和时长等信息,下图3-4是统计气象评分所属分类的任务运行在Hadoop管理页面的执行情况。

图3-4 Mapreduce的作业运行详情

4 后台系统实现

基于大数据的气象评分平台的基本业务功能是采用Python 架实现的, 前端 JS采用jQuery框架,页面展示使用Echarts技术,数据 存储采用关系型数据库Mysql。在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。

4.1 开发环境与配置

4.1.1 开发环境

本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于大数据的气象评分平台使用Pycharm集成开发工具。而系统运行配置时,选择本地来部署Web服务器来保障平台的正常运行,其技术先进、性能稳定并且开源免费,因而被普遍应用。本系统的主要开发环境以及开发工具如表4-1所示。

表4-1 系统开发环境和工具

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

JDK

Python

数据库

MySql

开发工具

Pycharm

项目架构

Spring+SpringMVC+MyBatis

4.1.2 框架配置介绍 

本系统使用集成开发工具Pycharm 进行开发,由于 Pycharm 中Tomcat配置详细资料有很多,不做详细赘述, 本文主要介绍 Python框架及Shiro 框架的配置。首先需要在项目中中引入各框架以及数据库连接等所需要的jar 包。

其次分别在xml文件中对各框架进行配置,具体如下。

(1) Spring 和Mybatis 的整合。主要需要配置数据库属性文件jdbc. properties和配置文件spring-mybatis. xml,在配置文件中,主要配置内容包括配置实体类的自动扫描、注册Mapper 接口、引入 数据库文件并配置数据源、配置 事务管理等。spring-mybatis 配置文件如图4-1 所示。

(2) Spring MVC配置。 主要配置包括配置启用spring myc注解、置使用注解的包名让Spring 自动扫描、配 置视图解析器等。

(3) Shiro 配置。主要包括配置Shiro 的web 过滤器、shiro 安全管理器、自定义 realm 认证类等。

最后,上述框 架的配置文件的路径还需要在web. xml中进行配置说明。

图4-1 后台的配置文件

4.2 数据库的设计

数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。

根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、气象评分等数据库表。

用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:

图4-2 用户实体属性图

根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对气象评分的管理,使气象评分与用户实体存在对应关系。

4.3 系统功能模块实现

4.3.1登录认证

用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。其配置文件中配置了相应的Realm 类,当用户登录系统进行身份认证和权限控制时,Shiro会在该类中从数据库获取到用户信息及其具有的权限信息,并 且比较用户输入的账号是否存在或者输入的密码与数据源中的密码是否匹配。在实际实现中, 程序中自定义了MyRealm 类继承Realm 类,并重写了doGetAuthenticationInfo( )认证方法和doGetAuthorizationInfo( )授权方法。具体流程如时序图如4-2所示。

图4-2登录认证流程图

气象评分大数据分析系统的用户登录界面如下图所4-3所示:

图4-3用户登录界面

登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户己成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。气象评分大数据分析系统的首页界面如下图所4-4所示:

图4-4气象评分大数据系统首页界面

4.3.2气象数据管理功能

气象评分管理功能是对气象评分进行查询,删除等操作的功能集合,评分信

息管理功能使用到了气象评分表t_ movie,气象评分表t_movie 的主要数据字段,结构,类型及描述如下表4-2所示。

表4-2 气象评分表字段

字段名称

数据类型

是否允许为空

描述

id

int

不允许

自增主键,唯一ID

cityname

String

允许

上映时间

company

String

允许

气象名称

company_size

String

允许

气象规模

education

String

允许

导演

experience

String

允许

制片地区

industry

String

允许

所属分类

recruiter

String

允许

评分者人数

salary

String

允许

打分范围

气象评分大数据分析系统的气象评分管理功能界面如下图所4-5所示:

图4-5气象评分管理菜单界面

气象评分管理

功能流程功能图如图3-6所示:

图4-6 气象评分管理功能流程图

 通过“气象评分管理”按钮,进入气象评分管理界面,用户可以看到气象评分列表,例如:气象名称、所在城市、数量、评分要求、薪资待遇、评分时间的详细信息。通过此界面,用户可以对气象评分进行删除管理操作。

4.3.3气象评分推荐功能

数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的

数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结

构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式

进行展示,从而形象直观地表达数据蕴含的信息和规律,设计一个推荐系统算法,根据用户的历史行为和偏好,向用户推荐他们喜爱的气象。气象评分大数据推荐界面如图4-7所示。

图4-7气象评分大数据推荐界面

4.4 本章小结

本章主要分析了基于大数据的气象评分系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Python框架的气象评分大数据分析系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是Echarts实现。

5 总结与展望

5.1 系统开发遇到的问题 

由于基于大数据气象评分平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。

5.2 总结与展望 

大数据气象评分系统是在对相关管理范畴进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计等,是一个具有实际应用意义的管理系统。根据本毕业设计要求,经过四个多月的设计与开发,大数据气象评分系统基本开发完毕。其功能基本符合用户的需求。
    为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工

具和技术进行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术

以及Echarts, CSS, HTML等前端开发技术,同时还研究了大数据开发技术Hadoop, HDFS, MapReduce等。

从评分数据大数据分析平台需求分析开始,到整体框架的设计以及各个详细功能的设计具体实现,最后基于大数据平台的气象评分系统的基础架构和详细功能已经大致开发完毕,用户可以登录使用该系统进行气象评分的筛选,同时查询大数据的分析结果。


参考文献:

[1]季杰,陈强仁,朱东.基于互联网大数据的评分智能分析平台的设计和实现[J].内江科技,2020,41(05):47-48.

[2]朱慧雯,田骏,张涛,蒋卫祥.基于互联网大数据的评分数据智能分析平台的设计与实现[J].软件,2020,41(03):99-101.

[3]于涛.大尹格庄金矿井下通风环境感知与大数据分析平台研究开发[J].有色金属(矿山部分),2021,73(05):142-146.

[4]汪杰,王春华,李晓华,余克莉莎.煤炭分类大数据分析云平台设计研究[J].煤炭工程,2021,53(09):187-192.

[5]周怡燕.基于大数据的数据分析平台构建研究[J].自动化与仪器仪表,2021(05):123-127.

[6]邱灵峰,黄荣.大数据审计平台体系建设构想[J].中国管理信息化,2021,24(17):97-98.

邓宇杰,郑和震,陈英健.长江大保护时空大数据云平台建设需求分析[J].水利规划与设计,2021(09):12-15.

[7]孙也.生产制造气象大数据分析平台技术[J].电子技术与软件工程,2021(16):178-179.

张晓伟.基于云平台的大数据信息安全保护策略分析[J].信息记录材料,2021,22(08):185-187.

[8]李军,王涛.基于大数据分析技术的网络运维平台应用与开发[J].电脑编程技巧与维护,2021(07):112-114.

[9]Chi Dianwei,Tang Chunhua,Yin Chen. Design and Implementation of Hotel Big Data Analysis Platform Based on Hadoop and Spark[J]. Journal of Physics: Conference Series,2021,2010(1):

[10]Costa Rogério Luís de C.,Moreira José,Pintor Paulo,dos Santos Veronica,Lifschitz Sérgio. A Survey on Data-driven Performance Tuning for Big Data Analytics Platforms[J]. Big Data Research,2021,25(prepublish):

谢  辞

时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。

首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。

最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值