个性化音乐推荐系统设计与实现

内容发布更新时间 : 2024/5/28 18:59:31星期一 下面是文章的全部内容请认真阅读。

有许多在线购票网站,首当其冲的就是国家铁道部的12306网站,它隶属于国家机关,对技术的要求十分高,就连如此重要的网站也是使用SSH框架开发的,而SSH框架是隶属于Java平台。

虽然有许多重要且成功的网站都是使用Java技术进行开发的,但由于Java技术过于复杂等原因,现有音乐网站多是通过php等其他语言进行编写的。此外,这些音乐网站也几乎没有将最新的HTML5标准适用于网站中最重要的音频解码方面,而仍使用Windows自带的解码控件,这节省了网站开发的难度,但却十分不利于Android和iOS端的手机用户在该网站上获得良好的音乐体验。

1.2 系统开发的意义

此系统使用JAVA WEB技术, 采用SSH框架和MYSQL数据库作为工具进行开发解决方案,实现了B/S模式的个性化音乐推荐系统的设计。利用web服务器和客户自己的浏览器,为用户提供在线音乐系统平台,通过浏览器在网站上直接检索音乐、收听音乐、对音乐评分等,这些功能可以让用户得到更好的音乐体验,让用户在一天24小时的时间内都可以在在线音乐系统中收听自己喜欢的音乐。网站的规则是根据目前商业网站的成熟规则进行设计的,主要功能为网上在线音乐收听,再加上留言等功能,此外能提供给管理者一个简单的界面,可以合理安排音乐分类信息,并根据用户的要求和信息;根据用户的某些特点,为用户提供一些更能产生共鸣的音乐。是一个综合性在线音乐系统网站。

由于Java平台技术在当今时代已经逐渐取代php等其他技术成为Web开发的主流,而且通过SSH框架对Web网站进行编程开发的案例也更多更好,以此为背景,通过学习SSH框架,进行一个音乐网站的设计具有非常重要的意义。

对Java平台技术加深深刻理解的最好方法,便是学会Hibernate ORM框架的映射关系维护和加载策略,在学会这个技术后,对使用Spring的基本整合配置对系统架构优化进行掌握和了解,在有了一定的技术基础后研究MVC思想(Struts 2.x框架)实现及标签库的使用方法,

有很多音乐网站在页面复用方面并没有重点进行研究和开发,而本音乐网站在此方面进行了很多的研究并达到了很高的复用标准,这是对充分理解软件工程

的复用思想的很好体现,在充分理解了复用思想后,对网站的开发提供了许多实践经验;如何设计并实现一个网站特有的音乐播放器是网站开发的重点之一,最终决定使用JavaScript/HTML5/CSS和对细小的图片进行素材处理来进行开发,实现一个原创的音乐播放器,可以很好地帮助流媒体空间的跨平台开发;根据用户需求,要求网站在设计模式中必须具有开闭原则(对扩展开放,对修改关闭),在实现开闭原则的方法上,网站决定通过码表实现数据字典扩展功能从而完成这项技术要求。

(1)在软件工程领域中设计理论和方法来分析个性化音乐推荐系统的发展过程中,使音乐网络领域在面向对象的方法研究中做出了实质性的贡献。

(2)个性化音乐推荐系统使视图模型抽象方法、建模过程、模型表示等多个点的出发构建建了科学和有效的系统。

(3)从个性化音乐推荐系统的结构,过程和可视化功能的统一建模语言UML元素来看,个性化音乐推荐系统设计的可视化功能提供了方法和技术支持。

1.3 国内外音乐系统现状

在设计整个系统之前,我们对国内外的预测系统进行了调研,希望吸取它们的优秀设计功能。

个性化音乐推荐系统市场需求,以不断探索自己的发展模式来看,在解决了现有的版权等一系列音乐市场的问题后,个性化音乐推荐系统市场规模必然会增大,与此同时的传统模式的音乐专辑的销售情况就变得不容乐观了。

1.3.1中国音乐系统发展现状

个性化音乐推荐系统在中国,虽然一直被关注着,但它似乎并没有走出亏损的底部。然而,尽管它一直在底部,但并没有阻止个性化音乐推荐系统服务供应商探讨行业的发展模式。从A8,发展到百度音乐和新浪音乐以及爱国者推出的音乐超市和腾讯QQ独特的平台和服务相结合,中国的音乐系统永不放弃在对个性化音乐推荐产业的热情。有声音认为,随着4G市场的到来,未来的音乐服务将有什么办法打造产业链,但如何以创新模式在4G时代,这些不确定因素决定了中国的个性化音乐推荐系统仍然需要很长的路要走。

2012 年,中国在线音乐系统市场规模仅为 3.8亿元,与传统唱片的市场规模不可相提并论。近年来预计,2014 年以后国内在线音乐系统市场将进入健康发展阶段,2013 年中国在线音乐系统市场规模超过 5 亿元,年增长率超过 60%,预计 2014 年将达 7.5 亿元。

盗版一直是中国音乐市场的一个很大的敌人,它严重影响着在中国音乐的发展,2014年,中国个性化音乐推荐系统的市场规模仅仅是2.8亿元。近年来,政策调控加大,利益的各项业务间的合理有效分配在产业链,有效政策法规的颁布和实施,将对中国的在线音乐系统市场产生积极的影响。预计2017年个性化音乐推荐系统市场之后将进入良性发展阶段,2015年中国音乐推荐系统市场规模超过5亿人民币,超过60%的年均速度增长,预计在2016年将达到8.5亿的市场规模。

1.3.2网络音乐系统市场发展趋势

网络开始成为释放原创音乐的重要途径。 2001年3月6日0时,MP3格式的中国第一个网络歌曲出现在人们的生活空间中,开始了音乐网亮相的序幕。经过10多年的发展,今天的互联网和移动互联网已成为唱片公司的歌曲和视频发布推广的主要路径,网络首发的歌曲也成为在线音乐服务提供商吸引用户,用户聚集的重要手段之一。

网上商店已经成为最新的无线音乐下载的亮点之一。国际知名的apple公司开发了在线应用程序商店模式,google,blackberry,samsung等厂商纷纷跟进,nokia,motorola,lenovo等移动终端运营商已经投入巨资,试图开辟属于自己的一片天地。中国移动,中国电信,中国联通等通信运营商,也开始建立自己的在线软件商店。

社区网站的音乐带来的变化和方式转变。人人网,赛我网等快速发展的社交阶层网站的代表,嵌入式网络音乐播放器插件和用户分享,口碑传播模式,以促进音乐的网络传输改造,让中小型CD公司和非主流创作者可以更容易地传播他们的作品。社区网站的粘贴性和互动性将带来互联网音乐传播的巨大变化。

互联网音乐将从一个简单统一向个性化发展。互联网音乐服务的形式已经从纯粹的音乐内容,发展到现在的提供音乐共享交换阶段。更多的网友不满意被动

地听音乐,而是热衷于分享。在未来的网络音乐将发展到精密推荐音乐的阶段,用户需要实现智能网络音乐内容提供商推荐音乐。该网络音乐内容服务提供商和运营商提出了更高的要求,用户需要准确识别的行为,和智能地为用户提供分类服务。

音乐云将成为热门的服务,未来尚不明确。A8音乐在2011年年初提出的音乐云服务的理念,开始了中国网络音乐云前奏,其他厂商纷纷效仿。所谓“云音乐”,简单来说是通过音乐软件的用户可存储在云音乐内容中的各种设备,如移动电话,个人电脑和电视的播出,共享,而不需要用户再耗时从计算机内存中拷贝到其他终端设备。

2 技术准备

本系统中的设计部分主要使用JAVA WEB(SERVLET、JSP自定义标签、JSTL标签等)开发技术;对于系统的业务控制层我们使用STRUCTS2框架实现软件设计MVC思想中的业务的控制流转;本系统的数据持久层使用HIBERNATE框架进行系统托管;在系统架构方面,本系统使用WEB开发中常用的SPRING框架。如下章节将对上述关键开发技术进行必要的阐述。

2.1 Java Web

Java技术中最为核心的技术就是Java SE[1](Java 2 Platform Standard Edition),Java SE技术多被用于企业开发Java应用程序。随着计算机技术的发展Java开发技术在互联网得到了极大的发展,目前来看来说是应用最为广泛、开发技术占有率最高开发技术,当我们掌握了Java SE的主要内容后,面向Web开发时主要使用的是Java EE,Java EE是Java Web的主要开发技术。

Web开发技术主要有两个最为重要内容:客户端(CLIENT)和服务器(SERVER)端。Java Applet是Java客户端的应用之一,Java Applet实际应用中使用得相对来说较少;对于服务器端的应用来说却显得异常丰富,最为人们熟知的如SERVLET技术、过滤器、JSP自定义标签等,下文中将详细介绍这些技术。

2.1.1 Servlet技术

随着动态页面技术在上个世纪末开始流行,动态页面技术为Web开发技术带来了一次成功的大变革,它不仅极大的节省了人力成本,使得开发人员专注于静态页面维护的工作转移到如何使页面更加高效上来。对于动态展示的Web应用程序可以根据来自使用者的不同页面请求,依据不同请求动态地返回所需要的结果集。我们称之为公共网关接口程序CGI,而这是一种用于系统产生动态页面的程序代码。

实现页面的动态输出功能的公共网关接口程序是运行在系统的服务器端,Java开发语言可以用来编写绝大部分的CGI程序,但是Java 程序编写的CGI执行效率相对来说较低。因为要执行Java程序编写的CGI程序,不仅要在操作系统中运行CGI程序,还必须在操作系统中运行Java Virtual Machine,Java虚拟机,首先要在操作系统中运行Java虚拟机,然后才能在Java虚拟机中执行Java CGI程序,对于操作系统来说资源的浪费是非常大的。而CGI程序是运行在服务器端的程序,其执行效率是系统管理者非常关心的问题。

因为CGI技术存在上述的弊端,也为了有效的解决CGI的执行效率问题,Java所属的公司SUN公司又推出了一套SERVLET技术规范[2]。SERVLET的本质是一种改进之后的CGI程序接口,引入SERVLET的主要目的就是为了减少系统的资源消耗,减少对JVM的依赖和不必要的频繁交互性操作,从而从资源消耗方面来提高程序效率。

SERVLET技术对于CGI程序的主要改进的地方有:SERVLET运行所需资源较少,此时操作系统只为SERVLET程序提供唯一的进程和JVM就可以满足程序运行所需的资源;当客户有多次请求同一个相同动态页面的请求结果集, SERVLET程序将只加载一个Java类来处理相同的请求;原始的CGI程序于WEB服务器交互方面不能直接进行有效的交互,SERVLET程序可以于WEB服务器交互,而且SERVLET程序还可以使不同程序进行共享数据。由此我们可以总结出,SERVLET技术在应用程序的性能方面提升是明显的。

SERVLET技术处理Java Web客户断请求与数据的处理过程如图2-1所示。 图2-1 Java Web请求响应过程

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi