在线音乐播放系统详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<在线音乐播放系统>
详细设计说明书
作者:
完成日期:
签收人:
签收日期:
修改情况记录:
1 引言
1.1 编写目的
为软件开发人员在编码的过程中有所依据和参考。
面向人员:程序开发人员
1.2 背景
说明:
a.待开发的软件系统的名称:在线音乐播放系统
b.列出本项目的任务提出者:北软老师
c.开发者:邓凯
d.用户:广大互联网用户
e.将运行该项软件的单位:web服务器
1.3 定义
OMS :Online music system,在线音乐播放系统。
1.4 参考资料
列出要用到的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.在线音乐播放系统概要设计.doc;
c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 程序系统的结构
本程序主要采用四层结构,如下所示:
图1 系统结构示意图
3 程序(标识符)设计说明
3.1 在线音乐网络爬虫设计说明:
资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资源,为系统设计了一款针对互联网上音乐资源的网络爬虫。
3.1.1爬虫的原理:
网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。
传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:
(1)对抓取目标的描述或定义;
(2)对网页或数据的分析与过滤;
(3)对URL的搜索策略。
3.1.2在线音乐播放系统爬虫的设计:
与通用爬虫不同,在线音乐播放系统爬虫只针对格式的资源。
3.1.3爬虫的流程图:
为保证资源的数量和可用性,每首歌至少抓取3个不同url地址。
输入:初始URL集。
算法:广度优先遍历。
输出:歌曲-URL地址的索引集。
3.2资源验证模块
资源响应模块对资源进行验证。验证的标准有
1. 文件的MIME类型
2.资源的响应时间
输入:URL地址
输出:是否符合要求的布尔值。
3.2.1验证流程
3.3播放模块:
3.3.1播放模式的选择:
1)随机播放
2)顺序播放
3)单曲播放
算法:
用一变量记录当前模式,当捕获来自客户的模式改变的请求后,变量值变成相应的模式的值,调用不同德程序段空置音乐播放次序。
3.3.2资源的改变:
每首歌曲服务器将会发送三个链接至播放器,如果前面的链接在3秒之内没有响应,则将资源转换为另一个资源,同时发送错误信息给服务器。
算法:在系统中设置定时器,如果定时器超时,则自动提取另一个链接。
3.4查询模块:
系统本地资源主要来自网络爬虫,同时支持在线查询,用于完善查询功能。用户可以输入歌手名,或者歌曲名称查询,系统首先会在自己的数据库查询,如果没有找到相应的结果,那么系统转向互联网发送请求,同时解析返回的页面,提取页面中url地址,歌手信息,歌曲信息,将信息按一定格式存入数据库。同时将信息发送给客户端。这样就保证了系统资源不断丰富。
3.4.1具体功能:
1,、歌手查询。
查询出系统内所存的所有歌手信息。点击歌手会获得此歌手所唱的所有歌曲。点击歌曲可以加入播放器播放,拖动可以加入我的收藏夹,所有的操作都会由系统给出提示。
2、歌曲查询。
输入歌曲名称,可以获得所有同名的歌曲,以及其歌手。
3、歌曲-歌手查询。
同时输入歌曲和歌手信息,可以输出与此相匹配的歌曲和歌手信息,同时,如果在本地数据库中不存在,系统将转向互联网查询,并将
查询结果存入数据库,然后发送给客户端。
4、下载
当用户单击某一个歌曲的条目时,在系统界面的下框中会出现三个可选项--------下载、MV。如果用户单击下载,系统会提取歌曲条目中的
url地址,自动建立连接。如果连接成功,则会弹出MP3的下载框。可
以很方便地为用户提供下载服务。如果用户点击MV ,则系统会自动
提取歌手信息,歌曲信息,发送请求至同时将新建窗口,将返回的结
果显示在新窗口中。
3.5用户反馈模块:
用户反馈模块主要用来收集用户的反馈信息,在播放的过程中,会因为各种各样的原因,导致歌曲播放的效果不尽如人意,还有很大一部分可能会出现内容与名称不匹配,而资源验证模块的工作只能初步地判断资源的可用性,所以为了提供更好的用户体验,需要广大的用户积极地参与系统的改进。
当歌曲被选中播放时,系统会出现错误报告的选择框,里面所罗列的条目有以下几条
1.、链接速度过慢
2.、是网友翻唱,或者其他类型的音频
3、是另外一首歌
4.、歌曲质量差
5、是其他以上没有列出的原因
用户可以选择其中的一项,向服务器发送错误报告,服务器会记录每一条错误报告。