摘 要
各种主流的音乐平台都为用户提供了的大量的音乐,让他们时刻都能沉浸在音乐的海洋之中。然而,过多的音乐往往使用户眼花缭乱,很难发现他们真正所需要的。一套优秀的推荐系统,可以很好地解决这个问题,既能帮助用户找到自己喜欢的歌曲,又能提高用户对App的粘性,从而为平台方带来更多的流量和收益。
本系统的设计包括了后台管理系统、音乐推荐系统以及可视化系统。利用Python进行数据采集与离线分析,利用Hadoop的Map Reduce计算框架实现基于项目协同过滤算法,利用Django框架设计网页界面和后台管理界面。该音乐推荐系统使用了HDFS以及MySQL数据库,HDFS主要用于存储利用爬虫获取的海量的音乐数据,经过数据处理后,再通过Map Reduce计算框架进行计算,实现推荐算法后,将推荐结果保存在MySQL数据库中,以便于在前端页面展示中进行调用。
关键词:音乐推荐系统;大数据;协同过滤
管理员登录相关功能
(1)可以对音乐的信息进行查看、修改,并可以对于音乐进行增加删除操作。
(2)可以对用户的信息进行查看,但是不能查看涉及用户隐私的信息,也可以对于用户进行增加、删除操作。
图1系统功能模块图
数据库设计
2.1数据库设计原则
该系统采用的是MySQL数据库.在数据库的数据结构设计中,要确保数据库的实体和实体的关系紧密,在数据结构层次上不存在任何差错,避免了后期的纠错,而且要严格遵守数据库的第一范式、第二范式以及第三范式。
在数据库的设计中,使用了Navicat作为一个数据库管理工具,它可以建立多个连接,便于对各种数据库进行管理,同时也可以对特定的云数据库进行管理。
本系统所依靠的数据库是MySQL,它的前端网页显示的是依赖数据库内部的数据。所以,要对采集到的数据进行处理和提取,按照数据库的设计原理,尽量减