全部版块 我的主页
论坛 数据科学与人工智能 人工智能
62 0
2025-11-17

摘 要

近年来,我国网络用户数量持续增长,随之而来的是庞大的数字音乐市场。与此同时,音乐伴奏资源也在不断增加。在当代音乐产业中,编曲这一环节极为关键。专业人员通过运用配器、和声等技术,创造性地安排乐器和乐队配置,能够显著提升原曲的艺术表现力。因此,编曲在现代音乐创作中占据着极其重要的地位。然而,在二次创作过程中,编曲者始终面临侵权的风险。因此,一个高效且安全的伴奏交易平台,能够为编曲者和需求方提供优质的服务,保护编曲者的合法权利,推动音乐创作和产业发展。

本系统采用了基于Vue和Spring Boot的前后端分离开发模式,数据库选用MySQL,并利用Redis缓存频繁访问的数据,使用MinIO存储聊天室生成的大规模非结构化数据。系统包含用户、经纪人和管理员三类角色。用户可以浏览、播放伴奏,并将其加入购物车等。此外,用户还可以体验模拟钢琴功能,以及进入聊天室与经纪人、朋友交流。经纪人可以上传旗下歌手制作的伴奏并填写相关信息。管理员则负责管理伴奏信息、用户信息、账户信息、评论信息和订单信息等。

本伴奏交易平台旨在提供更丰富、优质的伴奏资源,满足广大编曲者和需求方的需求,同时保障编曲者的合法权益,促进音乐产业的健康发展。

关键词:版权保护;音乐伴奏;Spring Boot;Vue;

Abstract

In recent years, the number of internet users in China has been growing, bringing about a vast digital music market. Concurrently, the quantity of musical accompaniment resources is also on the rise. In the contemporary music industry, arranging holds a critical position. Experts utilize orchestration, harmony, and other techniques to innovatively configure instruments and orchestra setups. This can significantly enhance the artistic expression of the original piece. Thus, arranging plays a vital role in modern music creation. However, during the secondary creation process, arrangers consistently face the risk of infringement. Hence, an efficient and secure accompaniment trading platform can offer superior services to arrangers and demanders, safeguard the legal rights and interests of arrangers, and foster the development of music creation and industry.

The system employs a development approach that separates the front-end using Vue from the back-end with Spring Boot. The database is MySQL, and Redis handles the caching of frequently accessed data. For storing the large-volume unstructured data produced by the chat room, MinIO is utilized. This system encompasses three categories of users: regular users, brokers, and administrators. Regular users have the ability to browse, play, and add accompaniments to their shopping carts, among other actions. Furthermore, they can try out the simulated piano feature and engage in conversations with agents and friends within the chat room. Brokers are responsible for uploading accompaniments created by their artists and entering the necessary details. Administrators oversee the management of accompaniment information, user profiles, account details, review content, and order records.

The primary goal of this musical accompaniment trading platform is to offer a wider variety of high-standard accompaniment resources to cater to the demands of numerous arrangers and consumers, while safeguarding the lawful rights and interests of arrangers and fostering the healthy growth of the music sector.

Key words: Copyright Protection; Musical Accompaniment; Spring Boot; Vue;

目 录

  1. 绪论 1
    • 选题背景和意义 1
    • 国内外研究现状 2
  2. 核心技术介绍 5
    • 系统开发相关技术 5
    • 系统开发相关软件 7
  3. 系统可行性分析与需求分析 9
    • 可行性分析 9
    • 系统需求分析 10
  4. 系统设计 15
    • 系统整体技术架构 15
    • 系统功能设计 16
    • 数据库设计 21
  5. 系统实现 27
    • 系统前端实现 27
    • 系统后台实现 37
  6. 系统测试 47
    • 测试环境 47
    • 系统功能测试 47
  7. 总结与展望 52
    • 论文总结 52
    • 系统期望 52

致 谢 57

一、绪论

(一)选题背景和意义

1.选题背景

根据2023年9月12日发布的第52次《中国互联网络发展情况统计报告》,截止到2023年6月,我国网民数量达到10.79亿,比2022年12月增加了1109万,互联网普及率达到了76.4%[1]。随之而来的巨大数字音乐市场,在全球经济因疫情而低迷的情况下,依然实现了超过8%的增长率[2]。

然而,随着音乐产业规模的持续扩大,音乐伴奏资源也日益丰富,专业人士开始重视并探讨现代音乐产业中长期存在的编曲版权保护问题。编曲者在二次创作过程中,经常面临侵权的风险。歌曲的改编与翻唱极易引起版权争议。随着娱乐文化的蓬勃发展,歌曲改编的形式和种类越来越多样化。特别是那些具有创新性的全面改编,更是编曲者二次创作的重要成果[3]。但在实际操作中,编曲者的劳动成果常被未经授权地使用,导致编曲侵权纠纷频发。尤其是在翻唱类节目中,涉及编曲侵权的案例更是屡见不鲜。

2.选题的意义

为了提供一个便利、高效、安全的伴奏交易平台,保障音乐制作人的正当权益,促进音乐创作与产业发展。同时,本平台也全面考虑了音乐伴奏平台应有的各项功能。包括用户注册登录、上传伴奏、伴奏推荐、浏览搜索、聊天室、购买伴奏、评价反馈等功能的实施。用户还可以收藏喜爱的伴奏、查看伴奏的相关信息等,以获得更为全面的网站体验。通过本文的设计,伴奏交易网站将能够提供更为便捷、多样化、高质量的伴奏资源,满足广大音乐制作人和需求方的需求,同时保障编曲者的正当权益,促进音乐产业的健康发展[4]。

(二)国内外研究现状

1. 国内研究现状

我国大众化数字音乐经济规模逐年增长,然而,伴随而来的版权保护效果发展却未能与整体发展同步。这一现状不仅打击了音乐创作人的积极性,使他们不得不转向综艺、演出等其他领域寻找发展机会,同时也引发了频发的版权纠纷[5]。这也导致了国内伴奏交易网站发展缓慢。

自2020年5月起,爱奇艺的副总裁兼知名综艺节目《中国新说唱》的总制片人车澈,开始萌发创建Beat交易平台的想法。在与多位业内专家,如音乐制作人和说唱歌手的交流中,他发现Beat交易中存在多种问题。例如,伴奏交易缺乏法律保障、制作人缺少展示平台等。

2021年1月26日,车澈正式宣布成立Beat交易平台BeatsHome,此消息在音乐界引起了广泛关注。遗憾的是,该平台于2021年11月12日宣布停止运营,仅仅一年时间,这个备受瞩目的交易平台便结束了其运营。

2022年1月18日,仅仅过去一个多月的时间,网易云音乐发布了其一站式Beat交易平台,名为BeatSoul。网易进入中国的伴奏交易市场后,这一市场开始展现出更为活跃及多元的发展趋势。随着音乐行业的持续进步,更多音乐创作者开始投入伴奏交易,不仅通过销售自己的伴奏作品获得收益,也为其他音乐人提供了丰富的创作资源。

如今,在国内出现了多个伴奏交易的网络平台,例如网易云音乐旗下的Beat平台、音乐云和伴奏天空等。这些平台不仅使交易过程变得便捷迅速,还为音乐创作者提供了一个展示及推广自己音乐作品的空间。音乐创作者可以在这些平台上发布他们的伴奏作品,定价,并利用平台提供的交易系统与其他创作者进行作品交换。

然而,国内伴奏交易市场也面临一些挑战和问题。例如,版权保护问题一直是阻碍伴奏交易市场发展的重要因素。此外,伴奏作品的质量和标准也良莠不齐,需要平台方加强审核和管理,确保交易的公正性和规范性。例如2020年吴太轩与谭羽就《数字音乐平台拒绝转授独家音乐版权的反垄断法分析》中对数字音乐平台在独家版权协议可能引发的拒绝转授版权、限制下游市场竞争进行了分析[6]。

总的来说,国内伴奏交易现状表现出蓬勃发展的态势,但也需要各方共同努力,强化版权保护、提升作品质量、完善交易机制等,以推动市场的健康发展。

2. 国外研究现状

国外伴奏交易平台充满活力与机会。这些平台不仅为音乐人提供了一个展示和销售自己音乐作品的宽广舞台,还为他们与全球的音乐爱好者搭建了一座桥梁。

在众多知名的伴奏交易平台中,BeatStars表现突出。该平台凭借其深厚的行业基础和广泛的影响力,成功吸引了众多音乐人的关注。在BeatStars上,音乐人可以自由上传自己的原创作品,与其他音乐人合作,并通过平台上的交易系统实现作品的价值转换。同时,BeatStars还积极与各大音乐厂牌、唱片公司等合作,为音乐人提供了更多的宣传和推广机会,助力他们实现音乐梦想。

BeatStars致力于构建一个全球化的音乐创作与合作舞台,为音乐人提供了丰富的音乐素材和广泛的合作机会。至今,该平台已汇集了超过800万种各类音乐元素,涵盖Hip-hop、R&B等多种风格,满足了音乐人的多样化需求。

除了BeatStars之外,国外还有许多其他优秀的伴奏交易平台,它们各有特色,为音乐人提供了多样化的选择。这些平台通常具备完善的交易系统,能够确保交易的公平、透明和安全;同时,它们还采用先进的支付技术,为音乐人提供快速、便捷的支付方式。此外,这些平台还重视用户体验,通过优质的服务,为音乐人提供全方位的支持和帮助。

总的来说,国外伴奏交易平台为音乐人提供了更多的机会和平台,推动了音乐产业的快速发展。然而,随着市场竞争的加剧和技术的不断更新换代,这些平台也需要不断创新和完善,以适应不断变化的市场需求,为音乐人创造更加美好的未来。

这些海外平台也为国内新兴的交易平台提供了宝贵的参考经验,为行业的进一步发展指明了方向,比如陈炫伯在《美国版权侵权案件中的内外在测试法研究》中通过司法视角解读在数字时代大量流行的音乐抄袭案件中如何正确运用内外在测试法,并对我国类似的判断提出了建设性建议[7]。

二、核心技术介绍

(一)开发相关技术

1. Spring Boot框架

Spring框架是一个开放源码的Java应用程序框架。其核心特点为控制反转IoC(Inversion of Control)与面向切面编程AOP(Aspect Oriented Programming)[8]。IoC指的是将手动创建对象的过程转变为由容器自动化生成。AOP是一种通过将系统分解成不同的关注点来促进松散耦合设计的编程方法。

Spring Boot是一个基于Spring框架的快速开发应用程序的框架。使用较少的结构和较少的注解即可开发一个简单的项目。它在很大程度上简化了开发流程,提升了工作效率[9]。

2.Spring MVC框架

Spring MVC是一种基于MVC的Web框架应用框架,是Spring框架的一个组成部分[10],在Java Web开发领域中非常流行。Spring MVC因其实现轻巧、高度灵活、优秀的可扩展性和简洁的配置方式而备受好评。它支持多种视图技术,因此能满足各种类型项目的需求[11]。

3.MySQL

MySQL是一个深受喜爱的开源关系型数据库管理系统(RDBMS)。由于其卓越的性能、稳定性和易操作性,MySQL可以满足从小型到大型各种规模应用的需求[12]。此外,MySQL还提供了诸如分区、复制和集群等高级特性,这些特性为大型企业级应用提供了高可用性和可扩展性[13]。

4.Redis

Redis是一个开源的高性能键值存储系统,广泛应用于缓存、消息队列及数据存储等多个领域。它可以灵活地存储列表、哈希表、集合和有序集合等多种数据结构[14],这些数据结构为复杂的数据处理逻辑提供了强有力的支持。此外,通过多节点复制,Redis实现了数据的高可用性和负载平衡[15],保证了系统的高性能和稳定性。

5.Vue.js

Vue.js是一个流行的JavaScript框架,专为构建现代和互动的用户界面而设计。Vue.js基于Model-View-View Model(MVVM)架构[16],为开发者提供了一系列强大的工具,如响应式数据绑定、组件化开发、灵活的路由管理和全面的状态管理,从而大大简化了复杂单页应用程序的构建过程。Vue.js的优势在于它的灵活性和易用性。它可以轻松地与其他框架和库集成[17],使开发者在构建用户界面时有更多的选择和自由,显著提高了开发效率和便利性。

6.MinIO

MinIO是一款开源的对象存储服务器,采用Go语言开发,适用于多种操作系统,包括Linux、Windows和macOS。MinIO的设计灵感来自亚马逊的S3存储服务,提供了一个轻便、高度可扩展的对象存储解决方案,特别适合现代应用对存储和数据处理的需求。它具备高性能、高可靠性、良好兼容性和灵活性等优点,适用于云计算、大数据、物联网等场景。

7.BCrypt算法

传统的MD5加密算法确实既可以通过软件也可以通过硬件实现。但是,若采用软件实现,则会严重依赖计算机硬件平台,导致算法运行缓慢且效率低下。随着物联网的快速发展,这种低效的加密算法已无法满足日益增长的安全需求。因此,在寻求更高效和安全的加密算法方面,系统需要更先进的替代方案[18]。Bcrypt算法是基于Blowfish加密设计的一种慢速哈希算法,是OpenBSD及其他Linux发行版的默认加密算法[19],旨在抵御针对哈希值或盐的暴力攻击,有效解决了MD5加密算法的问题[20]。

8.协同过滤算法

协同过滤算法的优点在于它可以处理复杂、非结构化的数据,并且不需要对物品或用户进行明确的特征提取。本系统采用的是基于物品的协同过滤算法,主要是分析歌单之间的关联,即哪些歌单经常被用户评论或评分较高,推荐页面就会推荐这些歌单。

(二)系统开发相关软件

1.IDEA

IntelliJ IDEA是一款功能全面的集成开发环境(IDE)。它集成了强大的代码编辑、调试和测试工具,为开发者提供了全面的编程支持。同时,它支持多线程调试,允许开发者在复杂的程序中设置断点,以便更容易地定位和解决问题。此外,它还集成了Git、SVN等多种版本控制系统,使得代码的协作开发和代码审查更加简便高效。这有助于保持代码库的整洁和一致性,促进团队间的有效沟通和合作。

2.WebStorm

WebStorm是JetBrains推出的一款Web开发IDE,支持多种JS框架,包括Vue等,提供错误检测、智能代码完成和重构工具。同时,它内置调试器帮助错误排查,还有版本控制、代码质量分析、格式化、自动部署等功能,助力高效开发。

三、系统可行性分析与需求分析

(一)可行性分析

1.技术可行性分析

本系统采用了前后端分离的架构以确保系统的稳定性和可靠性。此架构基于成熟且广泛使用的技术,不仅资料丰富,还有助于问题的发现与解决。

本系统采纳了基于Vue和Spring Boot的前后端分离开发方式,MySQL作为数据存储[21],JPA用于数据访问,Spring MVC框架则为前端提供访问接口。为了提升效率,本系统引入了Redis作为缓存机制,当数据可用时,系统会直接从缓存中读取,减少不必要的数据库查询。

在安全性方面,本系统运用了Spring Security。Spring Security是一个提供认证、授权及防止攻击的功能框架[22]。所有前端请求都会经过一个过滤器,仅有携带有效认证信息的请求能通过,同时采用Bcrypt算法加密用户密码。

2. 经济可行性分析

鉴于采用SpringBoot+Vue技术架构的系统,其主要成本包括服务器租赁费和技术支持与维护费用。这种架构让系统的部分升级或修改更加简便,因为一端的更改通常不会干扰另一端。此外,前后端分离有助于增强代码的清晰度和可维护性。对于大型Web应用程序来说,通过合理利用免费开源技术,并结合前后端分离的设计理念,在确保系统质量的同时,有效控制了成本。此外,本系统的开发不仅能为音乐创作者与需求方提供更便捷的操作界面,提升用户体验,还能为双方创造更多收益[23]。

(二)系统需求分析

1. 性能需求分析

为了改善用户体验,针对高并发情况下的性能问题进行了优化,确保应用在高负载下仍能稳定运行,这是非常关键且必需的[24]。此外,系统还需确保用户发布的信息能够即时且完整地显示在界面上。这些特性共同构建了一个高效、稳定的交易平台,为用户提供更佳的使用感受。

2. 安全性需求分析

为了保护用户信息的安全,系统将采取数据加密等安全措施,为用户提供一个安全可靠的交易环境。同时,本系统对不同接口实施了严格的权限管理,确保每位用户仅能访问其权限范围内的页面和资源。

3. 可扩展性需求分析

随着业务的发展,系统可能需要集成更多的功能模块。为了保持系统的灵活性和可扩展性,本系统将聊天室互动、伴奏交易、模拟钢琴功能拆分为三个独立的模块。这种设计不仅提升了系统的扩展能力,也减少了修改对现有系统的影响。同时,这种模块化设计为本系统未来添加新功能提供了便利,使系统能够轻松应对不断变化的业务需求。

4. 功能需求分析

(1)用户模块

系统的用户管理模块包括登录、登出、注册、修改个人信息等功能。未注册的访客可通过该模块注册成为用户,而已注册的用户可以更新自己的密码和其他个人资料。管理员有权限查看普通用户的信息,并能删除用户账户,阻止其登录系统。如图3-1所示:

图3-1:用户模块用例图

(2)伴奏信息模块

伴奏信息模块分为管理员管理和普通用户浏览两部分。

普通用户可以输入关键字搜索伴奏,查看所有已上架的伴奏、歌手、歌单信息及其分类。管理员除了能浏览所有信息外,还能删除不符合规定的信息,以及增加符合规定的资料。如图3-2所示:

图3-2:伴奏信息用例图

(3)评论模块

评论模块向用户和管理员提供了不同的管理权限。用户可以在歌单和伴奏上发表评论。用户不仅可以点赞其他用户的评论,还可以撤回或删除自己的评论。管理员则有权限查看所有评论内容,以及删除违规评论。如图3-3所示:

图3-3:评论模块用例图

(4)交易管理模块

交易管理模块分为普通用户、卖家和管理员功能。用户可以搜索伴奏、播放伴奏、设置播放方式和播放列表。之后,用户可以将喜欢的伴奏加入购物车,随后与卖家在聊天室讨论后续交易细节。卖家登录经纪人账户后,可以上传和管理自己创作的伴奏及填写伴奏信息。之后,卖家与相关用户在聊天室讨论后续交易细节。管理员可以管理交易,查看交易详情,以及删除交易失败的订单。如图3-4所示:

图3-4:交易管理模块用例图

(5)聊天室模块

聊天室模块分为用户、卖家和管理员功能。三方都可以登录聊天室、添加好友、聊天和修改个人信息。此外,管理员管理所有聊天室账号,可以查看账号信息及删除账号。如图3-5所示:

图3-5:聊天室模块用例图

(6)卖家模块

卖家模块即经纪人模块类似于用户模块,经纪人登录后可以进入经纪人页面,查看相关订单信息以及创建歌手、上传伴奏等功能。管理员可以查看经纪人账号信息。此外,管理员可以删除经纪人,使其无法登录。如图3-6所示:

图3-6:卖家模块用例图

四、系统设计

(一)系统整体技术架构

本平台采用的前后端分离开发模式带来了诸多好处,包括提高开发并行度、降低开发复杂度、增强系统可维护性和可扩展性,以及优化用户体验等。

1. 前端架构

前端界面管理采用了Vue.js技术,这项技术基于MVVM(Model-View-ViewModel)模式。在MVVM框架内,视图通常通过模板(template)定义,模板描绘了用户界面的结构与布局。模型则由JavaScript对象表示,这些对象包含了应用程序的数据和业务逻辑。视图模型是MVVM框架的关键部分,它提供了一个反应式的数据绑定机制。当模型中的数据发生变动时,视图能自动更新以体现这些变动。同时,当用户在视图上执行交互操作时,视图模型也能自动更新模型的状态。

MVVM设计模式让代码更为清晰、易于维护,并且提升了开发效率。

后端架构

后端利用RESTful API与前端完成信息交换,并通过Spring Boot框架和Spring MVC来处理请求。请求到达控制器后,会在服务层处理业务逻辑,随后查询数据库。最后,后端将检索到的数据返回给前端,前端依据此数据刷新界面。这种架构增强了系统的可维护性、可扩展性和性能。系统总体架构图见图4-1:

图4-1:系统总体架构图

(二)系统功能设计

项目主要包含卖家模块、用户模块、管理员模块、其他功能模块、推荐模块,详见图4-2:

图4-2:系统功能模块图

1. 用户登录

用户需判断是否已有账户,若无则进入注册流程。若有账户,则输入账号密码,检查数据是否符合规范。若不符合需重新输入登录信息,若符合则向后端发送请求,验证账号密码是否准确。若不准确需重新输入账号密码。若准确,登录成功。详情参见图4-3、图4-4:

图4-3:登录流程图

图4-4:登录时序图

2. 用户注册

用户注册时,需填写用户名、密码、性别、电话、邮箱、生日、签名、地区等信息,检查填写的信息是否合法。若不合法则需重新填写,若合法则用户确认注册。后台将相关信息存储至数据库,之后用户可前往登录。详情参见图4-5:

图4-5:注册流程图

3. 浏览伴奏信息

用户希望浏览伴奏信息时,可以选择首页的歌单分类或歌手分类,进一步查看歌单、歌手的详细信息及相关伴奏。或者,用户可通过输入关键词搜索心仪的伴奏,如果目标不明确,可以访问歌单推荐页面寻找喜欢的伴奏。选中喜欢的伴奏后,用户可以控制播放、暂停,选择播放模式,还可以调整播放列表。此外,用户还能对歌单进行评分,评分结果将影响歌单的推荐。详情参见图4-6、图4-7:

图4-6:浏览伴奏信息流程图

图4-7:浏览伴奏信息时序图

4. 伴奏交易

卖家登录经纪人页面后上传个人创作的伴奏及相关信息,伴奏将在首页展示。普通用户浏览伴奏信息并试听后,可将心仪伴奏加入购物车。经纪人可以在经纪人页面查看用户信息,之后双方可以通过聊天室登录账号,经纪人依据用户信息添加好友,双方协商后续交易细节。经纪人还可以在后台修改订单状态,若交易成功,管理员将保存订单信息;若失败,管理员将删除该订单。交易至此结束。详情参见图4-8、图4-9:

图4-8:伴奏交易流程图

图4-9:伴奏交易时序图

5. 订单生成

用户将伴奏加入购物车后,经纪人的后台和管理员页面将生成预订单。卖家与用户协商完交易后,向管理员反馈交易结果,若成功,管理员将保存订单信息作为交易记录;若失败,管理员将删除该订单。详情参见图4-10:

图4-10:订单生成流程图

6. 上传伴奏

卖家登录经纪人页面后,可以创建旗下歌手并填写相关信息,用于上传伴奏及角色简介。接着,经纪人填写伴奏信息并上传伴奏,管理员审核伴奏是否符合规定,若符合则上传成功;若不符合则退回。之后,经纪人可以管理自己创建的歌手及伴奏信息。详情参见图4-11:

图4-11:上传伴奏流程图

7. 用户评论

用户登录账号后,可以进入歌单、伴奏详情页发表评论,评论支持点赞,用户也可以删除自己发布的评论。所有发表的评论都将被存储在数据库中。详情参见图4-12:

图4-12:用户评论流程图

(三)数据库设计

1. 系统E-R图设计

E-R图是一种描述数据实体及其相互关系的工具,广泛应用于数据库设计。本系统的E-R图描述了各实体间的关系,如图4-13所示:

图4-13:系统E-R图

2. 系统表设计

根据上述E-R图设计,本系统的关系数据库表设计如下:

(1)admin表:对应管理员实体,记录管理员id、账号及密码。id为主键,如表4-1所示:

字段名 类型 描述
id INT(10) UNSIGNED 管理员id
name VARCHAR(45) 管理员的名称
password VARCHAR(45) 管理员的密码

表4-1:admin表

(2)collect表:对应购物车实体,记录id、用户id、类型、伴奏id、歌单id及创建时间,id为主键。用户将伴奏加入购物车时,使用该表记录信息。user_id、song_id、song_list_id为外键,如表4-2所示:

字段名 类型 描述
id INT(10) UNSIGNED 购物车id
user_id INT(10) UNSIGNED 用户id
type VARCHAR(45) 类型
song_id INT(10) UNSIGNED 伴奏id
song_list_id INT(10) UNSIGNED 歌单id
create_time DATETIME 创建时间

表4-2:collect表

字段名 类型 描述
id INT(10) UNSIGNED id
user_id INT(10) 用户标识
type VARCHAR(45) 类别
song_id INT(10) 伴奏标识
song_list_id INT(10) 歌单标识
create_time VARCHAR(45) 创建日期

(3)consumer表:关联用户实体,记录了用户标识、用户名、密码、性别、电话号码、邮箱、生日、简介、地区、头像、创建日期及更新日期,id作为主键,其中用户名、电话号码、邮箱需唯一,用于用户注册时的验证。如表4-3所示:

字段名 类型 描述
id INT(10) UNSIGNED id
username VARCHAR(255) 用户名(唯一)
password VARCHAR(100) 密码
sex TINYINT(4) 性别
phone_num CHAR(15) 电话号码(唯一)
create_time DATETIME 创建日期
introduction VARCHAR(255) 简介
location VARCHAR(45) 地区
avator VARCHAR(255) 头像
update_time DATETIME 更新日期
email CHAR(30) 邮箱(唯一)
birth DATETIME 生日

(4)im_user表:关联聊天室用户实体,记录了标识、用户名、用户昵称、用户头像、用户头像缩略图、密码、性别、用户类别、个性签名、最后登录日期、创建日期,id作为主键,其中密码采用Bcrypt算法加密。如表4-4所示:

字段名 类型 描述
id INT(10) UNSIGNED id
user_name VARCHAR(255) 用户名
head_image_thumb VARCHAR(255) 好友头像缩略图
nick_name VARCHAR(255) 昵称
head_image VARCHAR(255) 头像
password VARCHAR(255) 密码
sex TINYINT(1) 性别(0:男 1:女)
created_time DATETIME 创建日期
last_login_time DATETIME 最近登录日期
type SMALLINT 用户类别

(5)im_private_message表:关联私聊消息实体,记录了标识、发送用户标识、接收用户标识、发送内容、消息类别、状态、发送日期,id作为主键,用于记录双方的聊天详情,确保一方离线不影响交流。status标记消息状态。如表4-5所示:

字段名 类型 描述
id INT(10) UNSIGNED id
send_id BIGINT 发送用户标识
recv_id BIGINT 接收用户标识
content TEXT 发送内容
send_time DATETIME 发送日期
status TINYINT 状态
type TINYINT 消息类别

(6)im_group表:关联聊天室群聊实体,记录了标识、群聊名称、群主标识、群头像、群头像缩略图、群公告、群备注、是否已删除、创建日期,id作为主键,deleted标记该群是否已删除,若已删除则不显示,但在数据库中仍可查看。head_image_thumb存储群图片。如表4-6所示:

字段名 类型 描述
id INT(10) UNSIGNED id
name VARCHAR(255) 群名称
head_image_thumb VARCHAR(255) 好友头像缩略图
owner_id BIGINT 群主标识
head_image VARCHAR(255) 头像
notice VARCHAR(1024) 群公告
remark VARCHAR(255) 群备注
created_time DATETIME 创建日期
deleted TINYINT 是否已删除

(7)purchase_order表:对应订单实体,记录了id、用户id、歌手id、伴奏id、用户名、电话号码、邮箱、头像、歌手名、伴奏名、伴奏价格、订单状态。id作为主键,sid、song_id、consumer_id分别作为歌手表、伴奏表、用户表的外键。其中订单状态status包括“订单未完成”,“订单已完成”,“订单失败”三个字段,默认为“订单未完成”,状态由经纪人调整,如表4-7所示:

表4-7:purchase_order表

字段名类型描述
idINT(10) UNSIGNEDid
sidBIGINT歌手id
song_idBIGINT伴奏id
consumer_idBIGINT用户id
usernameVARCHAR(255)用户名
phone_numVARCHAR(20)电话号码
emailVARCHAR(255)邮箱
avatorVARCHAR(1024)用户头像
sinameVARCHAR(255)歌手名
songnameVARCHAR(255)伴奏名
songpriceVARCHAR(255)伴奏价格
statusVARCHAR(255)订单状态

(8)singer表:对应歌手实体,记录了id、歌手名、图片、性别、经纪人id、生日、介绍、地区、头像、创建时间以及更新时间,id作为主键,sid作为外键,location、sex等信息用于前端显示歌手详情与管理员页面的可视化图表,pic存储歌手图片。如表4-8所示:

表4-8:singer表

字段名类型描述
idINT(10) UNSIGNEDid
sinameVARCHAR(255)歌手名
picVARCHAR(1024)图片
sexTINYINT(4)性别
sidBIGINT经纪人id
introductionVARCHAR(255)介绍
locationVARCHAR(45)地区
birthDATETIME生日

(9)song表:对应伴奏实体,记录了伴奏id、歌手id、伴奏名、介绍、创建时间、更新时间、伴奏图片、价格、链接,id作为主键,singer_id作为外键,url存储伴奏链接,便于前端取用与下载。如表4-9所示:

表4-9:song表

字段名类型描述
idINT(10) UNSIGNEDid
nameVARCHAR(255)伴奏名
singer_idBIGINT歌手id
priceVARCHAR(255)伴奏价格
urlVARCHAR(255)链接
create_timeDATETIME创建时间
introductionVARCHAR(255)介绍
picVARCHAR(255)图片
update_timeDATETIME修改时间

五、系统实现

(一)系统前端实现

当用户进入伴奏交易网站首页后,用户可以点击相关按钮浏览伴奏、歌单、歌手信息、搜索喜欢的伴奏、播放伴奏、评论伴奏与歌单、给歌单评分、模拟钢琴以及聊天室聊天。系统首页如图5-1所示:

1. 歌单、歌手伴奏展示

用户进入伴奏交易网站首页后,单击“歌单”或“歌手”,进入歌单、歌手详情页面。首先,系统接收到的歌单、歌手id信息会通过GET请求发送到后端相应的Controller层,Controller层将处理GET请求,并映射到相应路径。从请求中获取参数歌单、歌手id,然后分别调用“listSongOfSongId”、“SongOfSingerId”等方法通过Service等层从数据库中获取相应的歌曲列表及歌单、歌手详情,并将结果封装在一个成功消息对象中返回。前端显示歌单、歌手详情并刷新页面。歌单、歌手详情页如图5-2、图5-3所示:

此外,在歌单界面中,用户登录后可以对其进行评分及评论。用户发表评论时,系统会将获取到的用户id、歌单id等信息通过POST请求发送到后端相应的Controller层,Controller层将处理POST请求,调用“addComment”方法通过Service等层对Comment表进行相应操作。结果封装在一个成功消息对象中返回。用户登录如图5-4,用户评论评分如图5-5所示:

用户能够依据歌单类别、歌手类别来查阅相关信息。歌单分类页如图5-6所示。此外还具备推荐歌单的功能。例如当用户点击“推荐歌单”时,系统将采用GET请求发送至特定路径“/likesongList”,后端SongListController层负责处理此GET请求,调用“allLikeSongList”方法经由Service等层级查询song_list表。查询结果会被封装进一个成功消息对象中返回。前端刷新页面以展示推荐歌单。推荐歌单页如图5-7所示:

图5-6:歌单分类图

图5-7:推荐歌单图

用户亦能搜索所需的伴奏或歌单,如图5-8所示。系统会将用户输入的信息通过GET请求发送至后端,后端Controller层处理此GET请求,调用“songListOfLikeTitle”方法经由Service等层级最终查询song_list表。查询结果同样被封装进一个成功消息对象中返回。前端刷新页面以展示搜索到的歌单。

图5-8:用户搜索伴奏图

2. 伴奏播放

用户可以播放伴奏、设定播放列表与播放模式以及发表评论。系统持续监听用户行为,包括播放、暂停、跳转至指定时间播放等,伴奏播放界面如图5-9所示:

图5-9:伴奏播放图

用户还能将喜欢的伴奏加入购物车,在个人主页查看。系统将用户ID、伴奏ID等信息通过POST请求发送至后端,后端Controller层处理此POST请求,对collect表执行操作。操作结果被封装进一个成功消息对象中返回。前端刷新页面并通过GET请求获取指定用户的购物车信息。如图5-10所示:

图5-10:购物车图

3. 用户注册及信息更新

首次访问平台的用户,可以注册账户,填写相关信息,如果符合规定,前端将发送POST请求,后端接收并处理POST请求,进而操作consumer表,如果注册成功则返回成功消息。注册页面如图5-11所示。

图5-11:用户注册图

用户登录后还可以修改个人信息及密码,如果修改的信息符合标准,前端会将修改的信息发送到后端,后端通过updateUserMsg方法对信息进行初步处理,随后通过Service层、Dao层等继续处理信息,最终更新consumer表中的数据。更新成功后返回成功消息。前端刷新页面同时请求用户信息,后端再次查询并返回指定ID的用户信息,最终成功显示。用户修改信息、密码页面如图5-12所示:

图5-12:用户修改信息、密码图

4. 模拟钢琴

用户可以体验平台的独特功能:模拟钢琴,用户可以演奏一些曲目,如图5-13所示。系统会监测用户的动作,并根据用户输入的键位,通过绑定的音符发出声音。还有配套的伴奏按键谱,用户可以根据按键谱演奏相应的伴奏。此外,用户还可以学习一些伴奏的示范实例,如图5-14所示。

图5-13:模拟钢琴首页图

图5-14:曲谱演示图

5. 聊天室

用户首先访问伴奏交易平台首页,点击“聊天室”进入聊天室页面。要使用聊天室功能,用户需要使用手机号码先注册一个账户,然后再登录。注册时如果符合规定,前端将发送POST请求,后端接收并处理POST请求,随后对im_user表进行插入操作,如果注册成功则返回成功消息。如图5-15、图5-16所示:

图5-15:聊天室注册图

图5-16:聊天室登录图

用户进入聊天室后,可以添加朋友、创建群聊以及加入群聊,如图5-17、图5-18所示:

图5-17:聊天室首页图

图5-18:添加朋友、创建群聊图

用户还可以讨论后续交易细节,与朋友聊天以及在群聊中发言,如图5-19所示,用户还可以开启视频聊天。首先,系统会检查朋友是否处于忙碌状态,如果不忙,则将用户ID等信息发送给后端,后端WebrtcController控制器根据接收到的信息,调用WebRTC,WebRTC是一种允许浏览器之间进行实时通信(RTC)的API,常用于音频、视频和数据传输。该控制器为一对一视频通话提供了一组API接口,覆盖了拨打、接听、拒绝、取消、失败和挂断等操作。每个操作都是通过调用IWebrtcService中的相应方法来实现业务逻辑。

图5-19:朋友私聊、群聊图

(二)系统后台实现

系统后台分为经纪人后台和管理员后台,具体内容如下:

1. 经纪人后台

经纪人访问伴奏交易平台首页,点击“卖家”进入经纪人登录页面,经纪人需要先注册一个经纪人账户,以便进入经纪人后台,如图5-20所示:

图5-20:经纪人注册图

经纪人进入经纪人后台,查看订单信息,并在聊天室商讨完交易细节后更改订单状态,如图5-21所示,用户点击相应按钮触发相应功能。前端发送对应消息给后端,后端CustomerController控制器调用changeStatus方法,最终更新purchase_order表中的status字段数据。返回成功信息。前端刷新并显示修改后的页面。之后可以创建歌手,用于上传伴奏和后续交易开展,如图5-22所示:

图5-21:经纪人后台订单图

图5-22:添加歌手图

经纪人可以在伴奏管理处上传伴奏、填写伴奏详情,用户点击“确定”触发前端addSong函数,函数将相关信息传递至/song/add接口,后端SongController控制器接收处理信息,调用后端addSong方法,然后通过Service、Dao等层级将相关信息录入song表,返回成功信息,前端刷新页面。如图5-23所示:

图5-23:伴奏管理图

经纪人还可以点击“加入歌单”,点击“内容”,再单击“添加伴奏”就能将伴奏添加进歌单,如果没有合适的歌单,经纪人可以单击“新建歌单”,自行建立一个歌单,并填写相关信息,如图5-24所示:

图5-24:添加歌单图

2. 管理员后台

管理员可以进入管理员登录页面,登录进入管理员后台,如图5-25所示,浏览基于各类数据生成的图表。前端调用各种函数向后端发送请求,获取绘图所需的数据,并使用ECharts图表库对数据进行可视化分析。例如,用户性别比例图由前端调用getAllUser()函数从后端获取用户信息,再调用setSex函数对获取到的用户性别进行统计,进而利用ECharts绘图。

图5-25:管理员后台图

管理员可以对用户进行管理,也可以通过模糊查询来查找用户,如图5-26、图5-27所示:

图5-26:用户管理图

图5-27:筛选用户图

管理员还能查看用户购物车、删除用户以及批量删除用户,如图5-28所示。删除用户时,前端定义变量idx,调用deleteRow函数让变量idx记录当前要删除行的id,再调用deleteUser函数传变量idx给后端。由于行id和用户id值相同,因此可以用行id代替用户id传值。后端根据接收到的idx删除consumer表中的对应id用户,返回删除成功消息,前端刷新页面。

图5-28:用户购物车信息图

管理员点击“经纪人管理”、“聊天室账号”,对经纪人账号及聊天室账号进行管理,如图5-29所示:

图5-29:经纪人、聊天室账号管理图

管理员点击“歌手管理”,查看、编辑所有歌手的信息,如图5-30,图5-31所示,如果歌手数量较多,则会分页显示。分页显示利用Element UI的<el-pagination>组件来创建一个分页控件,定义每页显示总条数、监听页码变化以及根据页码跳转等。

图5-30:歌手管理图

图5-31:编辑歌手信息图

管理员可以删除、批量删除歌手以及添加歌手并填写歌手名、性别、故乡、出生日期以及歌手介绍信息,填写信息不规范系统会弹出错误提示,如图5-32所示。或是对歌手进行筛选,如图5-33所示。

图5-32:添加歌手图

图5-33:歌手筛选图

管理员点击“伴奏管理”进入某歌手页面对其伴奏进行管理,如图5-34所示,同样可以删除、批量删除、筛选伴奏以及编辑伴奏信息、添加伴奏并填写伴奏名、伴奏简介、伴奏价格信息。如图5-35、图5-36所示:

图5-34:伴奏管理图

图5-35:伴奏筛选图

图5-36:编辑、添加伴奏图

管理员更新伴奏的图片以及伴奏音源,直接从本地选择对应文件即可,如图5-37所示。但如果用户上传文件过大则会报错,因为后端定义了一个返回MultipartConfigElement类型的方法,MultipartConfigElement是Java Servlet API的一部分,用于定义文件上传的配置,会限制上传文件的大小。管理员查看对应伴奏用户发布的所有评论,以及删除、批量删除不合规的评论,如图5-38所示:

图5-37:更新伴奏图片图

图5-38:伴奏评论图

管理员进入歌单管理,进行删除、批量删除歌单、筛选歌单、编辑歌单信息以及添加歌单并填写歌单名、歌单介绍以及风格信息,如图5-39所示。管理员点击“内容”查看歌单里的具体伴奏信息,如图5-40所示,点击“评论”查看普通用户对歌单的所有评论并可点击“删除”键删除不合规的评论,如图5-41所示:

图5-39:歌单管理图

图5-40:歌单内容图

图5-41:歌单评论图

管理员点击“订单管理”查看订单信息,包括订单ID、用户头像、买家姓名、手机号码、邮箱、歌手名称、伴奏ID伴奏名称、伴奏价格以及订单状态,点击“删除”将会删除不合规的订单,如图5-42所示:

图5-42:订单管理图

六、系统测试

系统测试不仅需要关注软件本身的功能和性能,还需关注软件与整个系统的兼容性、稳定性和安全性等方面。以便为后续的软件开发和维护提供重要的依据。

(一)测试环境

1. 硬件测试环境

硬件测试环境,如表6-1所示:

类型 CPU/内存 网络带宽 操作系统
数据库服务器 六核/16GB 10Mbps Windows10 64位
缓存服务器 六核/16GB 10Mbps Windows10 64位
后台服务器 六核/16GB 10Mbps Windows10 64位

客户端?? ?六核/16GB?? ?10Mbps?? ?Windows10 64位

2.?? ?软件测试环境

软件测试环境,如表6-2所示:

类型?? ? 指标值
JDK版本?? ? 1.8
Vue版本?? ? 3.2.31
MySQL版本?? ? 8.0.30.0
Redis版本 5.0.14.1
MinIO?? ? 8.4.3

(二)系统功能测试

功能测试用于检验系统的各项功能是否达到预期效果。本次测试选取了伴奏交易模块、聊天室前端模块。

1.?? ?伴奏交易模块测试

表6-3为伴奏交易模块测试用例,该用例描述了系统伴奏交易模块下各功能的测试步骤与结果。部分测试关键代码如图6-1、图6-2、图6-3所示。

用例ID?? ? 1
用例描述?? ? 测试伴奏交易模块用例
Windows10 64位
用例目标?? ? 测试伴奏交易模块各功能是否正常运行
用例路径?? ? 用户打开平台首页、经纪人登录经纪人页面,管理员登录管理员页面
10Mbps
Windows10 64位
测试内容?? ?操作步骤?? ?预期结果?? ?测试结果
在Dao层返回所有歌单详情、歌手详情?? ?1、编写测试方法allSongListTest(),创建对象调用allSongListTest()
2、编写测试方法allSingerTest(),创建对象调用allSingerTest()
在IDEA的控制台输出歌单与歌手详情?? ?测试通过
在Service层插入、更新、删除伴奏?? ?1、创建Song对象,编写测试方法allSongTest()、updateSongTest()、deleteSongTest(),再分别创建对象调用 在数据库中查看添加的测试伴奏及更新后的信息,删除后数据库中测试伴奏被移除?? ?测试通过
在经纪人页面以及管理员页面插入、更新伴奏信息、删除伴奏?? ?1、经纪人点击“卖家”,在对应旗下歌手“伴奏管理”中进行相应操作。
2、管理员进入管理员页面,在歌手选项中,点击对应歌手的“伴奏管理”中进行相应操作。
在数据库中查看添加的测试伴奏及更新后的信息,删除后数据库中测试伴奏被移除?? ?测试通过
在Service层关键词搜索歌手伴奏、歌单?? ?1、创建Title变量,编写测试方法songListLikeTitleTest()、singerLikeTitleTest(),再分别创建对象调用,输入“张杰” 在IDEA的控制台输出关键词搜索的歌单与歌手伴奏?? ?测试通过
在首页、经纪人页面或管理员页面搜索框搜索歌手、伴奏或歌单?? ?1、用户、经纪人和管理员分别在各自页面搜索框输入关键词搜索。 在各页面成功显示搜索歌手、伴奏或歌单?? ?测试通过
在首页点击歌单、歌手分类?? ?1、在首页点击歌单、歌手的具体分类 成功刷新并显示各分类页面?? ?测试通过
用户登录后在歌单、歌手或伴奏详情页管理自己的评论?? ?1、在首页点击某歌单、歌手或伴奏,下方有评论框,点击发表评论或自己发表的评论后方的垃圾桶图标删除评论 成功显示评论区,用户成功发表或删除评论?? ?测试通过
用户登录后在歌单详情页进行歌单评价?? ?1、在首页点击进入某歌单详情页进行评价 成功评价并显示歌单平均评分?? ?测试通过
在Service层插入、更新、删除歌手?? ?1、创建Singer对象,编写测试方法addSingerTest()、updateSingerTest()、deleteSingerTest(),再分别创建对象调用 在数据库中查看添加的测试歌手及更新后的信息,删除后数据库中测试歌手被移除?? ?测试通过
在经纪人页面以及管理员页面插入、更新歌手信息、删除歌手?? ?1、经纪人点击“卖家”,登录后在对应旗下歌手页面进行相应操作。
2、管理员进入管理员页面,在歌手选项中,点击对应歌手进行操作。
在数据库中查看添加的测试歌手及更新后的信息,删除后数据库中测试歌手被移除?? ?测试通过

图6-1:关键词查询歌手测试结果图

图6-2:添加消费者测试结果图

图6-3:修改消费者测试结果图

2.?? ?聊天室前端模块测试

表6-4为聊天室前端模块测试用例,该用例描述了系统聊天室模块下各功能的测试步骤与结果。

用例ID?? ? 3
用例描述?? ? 测试系统聊天室模块用例
Windows10 64位
用例目标?? ? 测试聊天室登录注册,发送图片、创建群聊、发送语音、视频聊天、上传头像、发送消息等功能是否正常以及异常输入的处理结果
用例路径?? ? 打开浏览器进入聊天室登录界面
10Mbps
Windows10 64位
测试ID?? ?功能?? ?测试方法?? ?测试结果
TC1?? ?用户注册

在登录页面点击“注册”按钮进入注册界面,填写相关信息并点击“注册”按钮。

  1. 输入已存在的电话号码,系统提示用户名已存在,如图6-4所示。
  2. 必填信息中有空白,系统提示某项数据为空。
  3. 输入长度为3的密码,系统提示密码需为5-20个字符,如图6-5所示。
  4. 两次输入的密码不同,系统提示两次输入的密码不匹配,如图6-6所示。
  5. 填写所有合规的数据,系统提示注册成功。

TC2 发送图片、音频、视频聊天以及上传头像

进入聊天室,选择好友点击进行视频聊天、发送图片、音频即可,点击个人头像即可编辑资料与上传头像。

  1. 发送图片及音频,检查是否发送成功及好友是否能接收到相应消息,结果显示正常,如图6-7,图6-8所示。
  2. 一方点击视频聊天,另一方接受,结果显示视频聊天正常。
  3. 点击头像上传本地图片,验证好友是否能看到头像的变化,结果显示可以。

TC3 创建群聊并邀请好友加入

点击群聊图标,点击加号即可创建群聊。

  1. 输入群聊名称为空,系统提示请输入群聊名称。
  2. 上传群聊头像,邀请好友,设置群公告等信息,结果显示正常。

图6-4:该电话号码已注册图

图6-5:伴奏默认图片图

图6-6:关键词搜索图

图6-7:图片、音频发送图

图6-8:图片、音频接收图

3. 压力测试

系统性能的压力测试是评估系统性能的关键方法,本次测试使用多线程模拟多用户同时访问网页的方式。使用的工具为Apache JMeter,具体测试数据如表6-6所示。

并发数 请求数 吞吐量(QPS/sec)
10 100 110
10 500 544.7
20 1000 1027.7
20 2000 2087.7
50 5000 4638.2
50 10000 5991.6
100 200000 6236.7
100 500000 6298.8
200 1000000 6187.3
200 2000000 6005.1

根据表格显示,初始阶段,吞吐量随并发数和请求数的增加而增长,直至并发数和请求数达到特定阈值时,网站的吞吐量开始减少。部分结果如图6-9所示:

图6-9:压力测试结果图

七、总结与展望

(一)论文总结

本项目基于Spring Boot后端框架,专注于业务逻辑与数据处理的核心建设。前端则利用Vue.js构建,二者共同确保系统的运行及流畅的用户体验,旨在打造一个高效、流畅的伴奏交易平台。该项目的核心目标在于提供更多样化、高品质的伴奏资源,满足广大编曲者和用户的需求,同时保障编曲者的合法利益,推动音乐行业的健康发展。

经过详尽的可行性研究、深入的需求讨论与细致的功能设计后,我们进行了大量的编码工作,最终成功搭建了这一系统。随后,我们对系统进行了功能与接口测试,确保了系统的稳定性和可靠性,顺利完成了此次研究。在系统功能上,本项目实现了多项服务,包括伴奏上传、管理、浏览、播放及播放设置、歌单和歌手管理、账户管理、聊天室、模拟钢琴、评论发布、基于关键词的伴奏、歌手、歌单搜索等。在经纪人后台系统中,经纪人可以管理自己创建的歌手和上传的伴奏。而在管理员后台系统中,管理员可以查看和管理所有上传的信息。

此外,本项目遵循微服务的开发理念,模拟钢琴、聊天室、伴奏浏览平台均被设计为可独立运行的模块。这种设计不仅提高了系统的灵活性,还极大地方便了后续的模块维护。当需要时,我们只需暂停部分业务,而不会影响整个项目的运行,这无疑大幅降低了维护成本,提升了整体运营效率。

(二)系统期望

相比国内市场上运行较为成功的网易云音乐伴奏交易平台,本系统虽在创新性和实用性方面取得了一定成就,但仍有一些不足之处。

首先,交易过程中的版权问题:建立一个规范、完整、便捷的伴奏交易平台并非易事。伴奏交易看似简单实则复杂,涉及持续优质的伴奏来源、便捷的伴奏库浏览、公开透明的定价、交易安全保障、便捷的交易流程等。即使在成熟的交易平台上,合同漏洞也难以避免,难以保证每次交易双方都完全合规。因此,本平台仅记录交易,后续交易由双方在聊天室协商版权等细节。然而,这也意味着本平台在版权处理和交易流程方面仍有很大的改进空间。

其次,尽管本系统已采用缓存机制以提高程序响应速度,但在面临大量用户并发访问时,仍存在缓存失效或缓存雪崩的风险。为了应对这一挑战,在未来的系统维护和升级过程中,本平台计划引入更先进的缓存隔离、数据库分割等技术,以显著增强系统的并发处理能力。

最终,为了使本系统的架构更好地满足项目需求,需要对基础逻辑有更深入的理解。以Spring Boot为例,其中的许多组件都有默认的实现方法。如果本平台希望对这些组件进行业务定制化的调整,就需要对其底层机制有更透彻的了解和掌握。只有这样,才能更有效地利用框架的功能,实现更高效能的业务处理。

综上所述,尽管本系统在多方面已取得一定的进展,我们仍需持续努力,针对存在的问题进行改进和优化,以提高系统的整体性能和用户满意度。

参考文献

  1. 国家互联网信息办公室.2021年中国互联网络发展状况统计报告[R].北京:中国互联网络信息中心.2021:1-7.
  2. 宋雪峰.基于深度学习的个性化音乐推荐系统设计与实现[D].硕士学位论文.黑龙江大学,2021,10(27):16-26.
  3. 陈盈妃.现代音乐产业中的编曲版权保护初探[J].乐器,2023(05):80-83.
  4. 刘也愚.试论流行音乐改编中版权保护的界限及启示—从《野狼Disco》伴奏版权争议谈起[J].艺术评论,2020(07):98-106.
  5. 方博.大众化数字音乐独立版权探讨[J].法制博览,2023(33):34-36.
  6. 吴太轩,谭羽.数字音乐平台拒绝转授独家音乐版权的反垄断法分析[J].重庆理工大学学报(社会科学),2020,34(04):90-99.
  7. 陈炫伯.美国版权侵权案件中的内外测试法研究[J].出版科学,2019,27(03):110-116.
  8. 殷慧.基于SpringBoot的粮食加工订单综合管理系统设计研究[J].中国食品工业,2023,(06):46-47+51.
  9. 马绍阳,王伟东,韩斌倩等.基于Spring Boot+Vue的智能远程医疗平台的设计与实现[J].网络安全技术与应用,2024(01):55-57.
  10. 罗辉琼,贺超波,李姣姣等.基于SpringMVC及MyBatis的高校学术成果库设计与实现[J].现代信息科技,2024,8(04):25-29+35.
  11. 陈李飞.基于Spring MVC框架的数据绑定与异常处理[J].信息与电脑(理论版),2022,34(19):247-250.
  12. Pei Yin,Jing Cheng.A MySQL-Based Software System of Urban Land Planning Database of Shanghai in China[J].Computer Modeling in Engineering & Sciences,2022,135(3).
  13. Möller Pöl.The Prospective Lynch Syndrome Database:background, design,main results and complete MySQL code[J].Hereditary Cancer in Clinical Practice,2022,20(1).
  14. 王龙军,肖寒,徐跃,李炫,陶虹利.基于Redis与WebSocket的图书馆海量数据推送系统设计与实现[J].内蒙古科技与经济,2023(04):119-122.
  15. Seo Juyeon,Kim Kyeonghun,Seo Sangmin,Park Sanghyun.DARK:Deep automatic Redis knobs tuning system depending on the persistence method[J].Expert Systems With Applications,2023,221.
  16. 江家龙.基于Vue.js框架的餐饮Web APP设计与实现[J].科技创新与应用,2023,13(36):128-132+136.
  17. Junhui Song,Min Zhang,Hua Xue.Design and Implementation of a Vue.js-Based College Teaching System[J].International Journal of Emerging Technologies in Learning (iJET),2019,14(13):59-69.
  18. 王镇道,李妮.一种优化的MD5算法与硬件实现[J].湖南大学学报(自然科学版),2022,49(02):106-110.
  19. 石言浩. 基于物联网的智慧井盖管理系统的设计与实现[D].硕士学位论文.南京理工大学,2021.002252.
  20. 扈玮,王立华.基于加盐BCrypt算法的电商安全模块设计及实现[J].计算机系统应用,2019,28(10):80-85.
[21]何静. 基于Springboot的商业中台管理系统[J]. 国际高级网络监控与控制杂志, 2022, 7(2): 32-45. [22]苏兵. 利用Spring Security设计与实现权限管理系统[J]. 计算机与通信, 2023(09): 24-31. [23]孟蝶, 瑞士, 刘琳等. 基于Vue的版权预约注册微平台系统研究[J]. MATEC网络会议, 2022, 355 [24]张平, 李惠春. 高并发性能问题优化策略探讨[J]. 信息技术与信息化, 2023(11): 166-169.

致 谢

光阴似箭,四年的大学生涯即将圆满结束。回望这段丰富且难以忘怀的岁月,我感到收获颇丰,这一切成就的取得,离不开周围人的精心指导和热情援助。在此,我真诚地向大家表达我最深切的感谢和敬意。

首先,我要向我的导师赵厚宝教授表达崇高的敬意和深深的感谢。在学术探索的路上,赵教授不仅赋予了我珍贵的知识和高效的学习技巧,而且在我困惑时给予了我方向,激励我勇于探索新技术、新领域。

同时,我也要感谢我的父母和家人。无论我面临什么情况,他们总是默默地支持我,提供宝贵的建议和最大的支持。

此外,我还要感谢我的同学们和朋友们。在这四年的大学生活中,我们一起学习、共同进步,共度了许多快乐和难忘的时光。

最后,我再次向大家表示由衷的感谢。衷心希望各位身体健康、生活美满!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群