第4章 系统设计

本次构建的B站热门视频的数据分析与数据研究系统采用了flask框架,并基于B/S(浏览器/服务器)架构进行设计。系统使用MySQL作为数据库管理系统,通过配置文件和Maven依赖管理实现与数据库的连接。数据交互方面,全部由Python语言编写的Web服务器处理,这意味着用户可以通过浏览器访问该平台,参与心灵上的沟通交流,而所有相关的信息都将被安全地存储在MySQL数据库中。如图4.1所示。

图4.1 B/S架构图

4.1 系统整体设计

在需求分析阶段,首先需要对系统中涉及的角色及其功能进行深入分析。接着,基于这些角色和功能,对系统的功能模块进行全面的整合和优化。这一步骤的目的是明确各个角色的职责和他们需要完成的任务,然后根据这些信息来调整和完善系统的各个功能模块,以确保它们能够高效地满足用户的需求。本系统的总体功能模块如下图4.2所示。

图4.2 系统功能模块图

4.2系统流程设计

4.2.1 系统开发流程

设计和开发B站热门视频的数据分析与数据研究系统的过程首先从深入分析用户的实际需求和使用场景出发,明确系统需要实现的所有功能。接着,根据这些需求设计系统的工作流程和各功能模块,确保每个模块都能有效满足用户的需求。最后,通过全面的测试来识别并修复潜在问题,保障系统的稳定性和正常运行,本系统的开发流程如图4.3所示。

图4.3系统开发流程图

4.2.2 用户登录流程

登录流程的设计旨在为管理员和普通用户提供身份验证功能。用户在登录页面输入个人信息后,前端将这些数据发送至后端接口。后端接收到数据后,通过查询数据库进行身份验证。如果验证成功,用户将顺利登录系统;如果验证失败,系统会提示用户重新输入信息以进行再次验证,如图4.4所示。

图4.4登录流程图

4.2.3 系统操作流程

系统操作流程分析是软件开发中的核心环节,贯穿于系统的整个运行过程。确保每个步骤清晰明确至关重要,因为规范的流程图能够帮助开发者更直观地理解系统逻辑,从而高效开展接口开发工作,提升整体开发效率。此外,流程图还能减少开发者对系统操作流程的误解,并降低沟通成本,系统操作流程如图4.5所示。

图4.5系统操作流程图

4.3 数据库设计

4.3.1 数据库概要设计

数据库概要设计依据需求分析中提炼的系统功能与数据关联,对系统数据进行深入剖析。此过程旨在辨识系统内各数据实体间的关联,并借助E-R图(实体-联系图)来描绘这些错综复杂的关系。E-R图作为一种概念模型,其精髓在于捕捉现实世界的数据类型及其相互交织的联系。该图的核心构件包含实体型、属性及联系,它们共同构成了数据结构的骨架,为数据库的构建提供了清晰的蓝图。下面中各个实体关系的E-R图:

公告信息E-R如图4.6所示:

图4.6 公告信息E-R图

用户E-R如图4.7所示:

图4.7 用户E-R图

热门视频E-R如图4.8所示:

图4.8 热门视频E-R图

4.3.2 数据库表设计

数据结构及其内容在系统设计中扮演着至关重要的角色,是整个系统的基石。它指导着系统功能的总体布局和实现方式。基于逻辑结构的设计分析,我们进一步确定了本次数据库的物理存储结构,物理结构设计如下:

表4.1管理员表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4.2系统简介

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4.3收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4.4公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4.5 hotvideo

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

0

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

info

longtext

4294967295

简介

duration

int

时长(秒)

cover

longtext

4294967295

封面

author

varchar

200

up主

playcount

int

播放量

danmaku

int

弹幕量

likes

int

点赞

favorite

int

收藏

share

int

分享

commentcount

int

评论数

publocation

varchar

200

上传地点

pubtime

varchar

200

上传时间

typename

varchar

200

类型

laiyuan

varchar

200

来源

coin

int

投币

表4.6配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4.7用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

mima

varchar

200

密码

xingming

varchar

200

姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

nianling

int

年龄

youxiang

varchar

200

邮箱

shouji

varchar

200

手机

表4.8公告信息分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

表4.9热门视频

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

typename

varchar

200

类型

cover

longtext

4294967295

封面

duration

int

时长(秒)

author

varchar

200

up主

playcount

int

播放量

danmaku

int

弹幕量

likes

int

点赞

favorite

int

收藏

share

int

分享

commentcount

int

评论数

coin

int

投币

publocation

varchar

200

上传地点

pubtime

varchar

200

上传时间

laiyuan

varchar

200

来源

info

longtext

4294967295

简介

clicktime

datetime

最近点击时间

storeupnum

int

收藏数

0

第五章 系统实现

5.1 前台用户功能的实现

在未登录状态下,系统的首页允许用户查看系统首页、热门视频、公告信息等功能。首页如图5.1所示。

图5.1 系统首页界面图

该模块主要用于用户注册,用户首次使用B站热门视频的数据分析与数据研究系统时需要先进行注册。用户可以通过填写相关信息完成在B站热门视频的数据分析与数据研究系统中的注册。如图5.2所示。

图5.2用户注册界面图

该模块主要用于用户登录,用户首次使用B站热门视频的数据分析与数据研究系统时需要先进行登录。用户可以通过填写相关信息完成在B站热门视频的数据分析与数据研究系统中的登录,如图5.3所示。

图5.3 用户登录界面图

当用户点击热门视频时,可以在热门视频页面的查询栏中输入标题、类型、up主进行查询。可以查看标题、类型、封面、时长(秒)、up主、播放量、弹幕量、点赞等信息;还可以点击收藏等操作;如图5.4所示:

图5.4热门视频界面图

当用户点击公告信息时,可以在公告信息页面的查询栏中输入标题等进行查询,可以查看公告信息等信息;还可以进行点赞或者收藏等操作;如图5.5所示:

图5.5公告信息界面图

用户点击个人中心后,系统将跳转至个人中心页面,用户可在该页面修改并保存个人信息;还可以对修改密码、我的收藏等操作。如图5.6所示:

图5.6个人中心界面图

5.2后台管理员功能的实现

管理员通过登录页面填写账号、密码后,点击登录按钮以完成身份验证并进入系统,如图5.7示。

图5.7管理员登录界面图

管理员登录系统后,可以访问首页、用户管理、热门视频管理、系统管理、个人中心等管理功能模块,并进行详细的操作。如图5.8所示。

图5.8管理员功能界面图

当管理员点击用户时,可以在用户页面中输入用户名、姓名、性别进行查询。查询结果会显示用户的详细信息,管理员还可以执行添加或删除等操作。如图5.9所示:

图5.9用户管理界面图

当管理员点击热门视频时,可以在热门视频页面中输入标题、类型、up主进行查询。查询结果会显示标题、类型、封面、时长(秒)、up主、播放量、弹幕量、点赞、收藏、分享、评论数、投币等详细信息,管理员还可以执行添加、爬取数据、生成数据、数据清洗或删除等操作。如图5.10所示:

图5.10热门视频界面图

当管理员点击公告信息时,可以在公告信息页面中输入标题进行查询。查询结果会显示公告信息的详细信息,管理员还可以执行添加或删除等操作。如图5.11所示:

图5.11公告信息界面图

5.3看板展示

基于大数据对B站热门视频的数据分析与数据研究系统看板展示界面上方显示了基础数据统计,用户总数为8,热门视频总数达3515,让使用者对整体数据规模有宏观了解。可视化分析模块丰富多样:词云展示呈现出如“华农兄弟”等B站相关UP主或热门词汇,直观反映受关注的主体。播放量统计折线图、投币数量统计柱状图,分别展示播放量、弹幕量及投币数量情况,分析用户互动热度;点赞收藏分享统计折线图可呈现三者趋势,鼠标悬停能查看如点赞374,888、收藏51,068、分享23,140等具体数值。视频类型统计以饼图展示,MAD・AMV占47.79%等占比清晰明了;地区统计通过雷达图呈现不同地区相关数据。热门视频(播放量TOP10)榜单列出分区、UP主及各项数据,方便掌握热门内容。评论统计虽仅展示部分内容,但也可用于分析用户评论倾向和关注点。如图5.12示。

图5.12看板展示界面图

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐