django基于Spark的国漫推荐系统

指南

💞当前专栏:python程序设计

精彩专栏推荐👇🏻👇🏻👇🏻

💎:Asp.net程序设计
📘:java控制台课程设计
🎈:php课程设计
🎀:微信小程序设计
🕹:python程序设计
🚀:JavaWeb程序设计
🧩:SpringBoot程序设计
🎗:javaSwing程序设计
⛳️:javaSwing游戏设计
🌍:Vue+Node程序设计
🌟:安卓程序设计
🎃:C#程序设计
📕:C++程序设计
💞:C语言程序设计

咨询

见下方二维码

摘要

近年来,随着互联网的蓬勃发展,企事业单位对信息的管理提出了更高的要求。以传统的管理方式已无法满足现代人们的需求。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,随着各行业的不断发展,基于Spark的国漫推荐系统的建设也逐渐进入了信息化的进程。
这个系统的设计主要包括系统页面的设计和方便用户互动的后端数据库,在开发后需要良好的数据处理能力、友好的界面和易用的功能。
数据要被工作人员通过界面操作传输至数据库中。通过研究,以Mysql数据库和Python技术,以Idea为开发平台,采用Django架构,建立一个提供个人中心、漫画数据管理、系统管理等必要功能的、稳定的国漫推荐系统。

2 系统开发技术

2.1 Python可视化技术

Python不仅可以取代NCL,还可以实现NCL不具备的许多功能,极大地改善了用户体验,这已成为未来的趋势。与Highcharts和eCharts等Web前端可视化工具相比,Python在数据可视化领域更为专业。
Python目前支持使用第三方库,如netCDF4、Numpy、Matplotlib、Canopy和Xarry,以解析和可视化NetCDF格式的数据,从而使Pythone易于处理数据。对这些主要的第三方库进行了介绍如下表:
库名 功能介绍
netcdf4 可能方便快捷地读取和修改netcdf格式数据
numpy 可以处理和存储大型矩阵,主要用于科学计算
matplotlib 用于绘制常见2D图表
cartopy 主要用于图表绘制,为matp lotlib提供了接口,可一起协作将数据绘制到图上
xarry 可读取netcdf数据,并封装了matplotlib的部分绘图函数,可直接进行绘图

表2.1 主要python库

2.2 Django框架

Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。

2.3 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.4 Scrapy介绍

Scrapy是一个抓取系统数据和提取结构化数据的框架,它可以应用在广泛的应用中:Scrapy通常用于一系列应用,包括数据挖掘、信息处理或存储历史数据。使用Scrapy框架实现一个爬虫程序通常非常简单,抓取给定系统的内容或图像。
虽然Scrapy是为屏幕抓取(或者更准确地说是网页抓取)而设计的,但它也可以用于访问api以提取数据。

2.5 IDEA介绍

IDEA全称IntelliJ IDEA,是Python计算机语言开发的集成环境。IntelliJ是业内认可的较好的Python开发专用工具,尤其是它在智能化代码小助手、代码全自动提醒、构建、J2EE适用及其各种各样版本号专用工具(git、svn等)层面的作用、JUnit、CVS集成、代码剖析、自主创新的GUI设计。IDEA是总公司坐落于捷克布拉格的JetBrains企业的商品。它的开发者主要是以认真细致而出名的东欧其他国家程序员。其旗舰型还适用HTML、CSS、PHP、MySQL、Python等。

2.6 B/S架构

本系统采用的是B/S架构,在这种架构下,系统的操作页面在网络上去显示,操作页面提交操作信息给到代码逻辑三层结构架构如图2.2所示:

2.7 MySQL数据库介绍

数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。

3系统分析

系统流程分析

3.4.1操作流程
首先为系统登录页面。进入页面后,用户可进行登录和注册的操作。点击登录后,页面就会出现一个登录提示框,向用户传达信息:要进行用户名和密码的输入,完成后才可以进行下一步的操作。用户输入完成后,系统会将输入的信息提交给后台,与数据库中的信息记录进行比较判断。判断比较内容主要分为三个方面:从用户名是否为空、输入的密码是否为空、用户名和密码是否匹配三方面进行判断。只有上述三个条件同时满足,数据库中的信息匹配正确,才视为登陆成功,方可完成后续的操作。若以上三种情况有一条不满足,则会提示该次登录错误,就需要进行重新登录。系统登录流程图如图3-1所示: 在这里插入图片描述
3.4.2添加信息流程在这里插入图片描述
图3-2添加信息流程图
3.4.3删除信息流程
在这里插入图片描述

4 系统设计

4.1 系统体系结构

在这里插入图片描述
图4-1系统结构
登录系统结构图,如图4-2所示:

在这里插入图片描述

4.2 系统总功能结构设计

系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统总功能结构设计展示如图4-3所示。
在这里插入图片描述

4.3 数据库设计在这里插入图片描述

在这里插入图片描述

5 系统详细设计

5.1系统登录实现

系统用户登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。
在这里插入图片描述

5.2管理员模块实现

管理员进入主页面,主要功能包括对个人中心、漫画数据管理、系统管理等功能进行操作。管理员主页面如图5-2所示:
在这里插入图片描述
管理员点击漫画数据管理。进入漫画数据页面输入标题、作者、状态、类别和类型可以对漫画数据列表进行查询、删除或爬取数据,并根据需要对漫画数据详细信息进行详情、修改或删除操作,如图5-3所示:在这里插入图片描述
管理员点击爬取数据,点击右上角的看板,进入看板页面可以查看到系统简介、漫画类别、漫画状态、 漫画数据总数、作者分析、漫画订阅、漫画点击、漫画人气、漫画吐槽、漫画数据等实时的数据信息进行分析与可视化,如图5-4所示:在这里插入图片描述
管理员点击系统管理。进入系统简介页面输入标题可以查询系统简介列表,并根据需要对系统简介详细信息进行详情或修改操作;如图5-5所示:在这里插入图片描述

6 系统测试

系统测试的好坏直接影响到软件的生存期,一个健全的测试流程可以确保系统的生命期。此章关键详细介绍实际操作条件和检测。

6.1 运行环境

6.1.1软件平台
(1)所用开发工具:IDEA+MySQL数据库;
(2)服务器系统:Windows 10操作系统;
(3)客户端系统:Windows 10 操作系统。
6.1.2 硬件平台
国漫推荐系统硬件环境需求并不是非常苛刻,服务器端和用户端都不需要太高的配置。目前主流的硬件配置足够满足运行条件。项目的体积不大,所需资源不多,推荐配置为,CPU达到1Ghz,内存达到2GB,磁盘空间达到500G,便可以流畅运行。

6.2 测试过程

6.2.1 界面测试
在开发期间对前端界面主要进行以下几方面的测试:
(1)网页页面的合理布局,及其背景色表明是不是恰当,感观是不是简约美观,是不是符合规定,实际操作是不是便捷;
(2)在不一样电脑浏览器上的展现是不是正常的、美观;
(3)放缩、挪动、更新对话框时表明是不是正常的;
(4)网页页面中的连接部位方式是不是有利于客户搜索和了解。
系统前端经过以上几方面的测试,显示正确,界面简洁美观,未出现问题;用户可以简单上手,测试结果达到了预期效果。

开发文档

开发语言:Python
框架:django
Python版本:python3.7.7
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:PyCharm 
浏览器:谷歌浏览器

后台路径地址:localhost:8080/项目名称/admin/dist/index.html
前台路径地址:localhost:8080/项目名称/front/dist/index.html (无前台不需要输入)

管理员账号:admin
管理员密码:admin

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒羊羊h

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值