当前位置:文档之家› 在线音乐播放系统详细设计

在线音乐播放系统详细设计

案卷号 日期

<在线音乐播放系统> 详细设计说明书

作 者: 完成日期: 签 收 人: 签收日期:

修改情况记录: 版本号 修改批准人 修改人 安装日期 签收人 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 系统结构示意图 用户层(UI) 业务逻辑层(service) 数据访问层(DAO) 数据层(DB) 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验证流程

初始URL地址 分析信息 爬取信息

提取信息 建立索引

否 3.3播放模块: 3.3.1播放模式的选择: 1)随机播放 2)顺序播放 3)单曲播放 算法: 用一变量记录当前模式,当捕获来自客户的模式改变的请求后,变量值变成相应的模式的值,调用不同德程序段空置音乐播放次序。 3.3.2资源的改变: 每首歌曲服务器将会发送三个链接至播放器,如果前面的链接在3秒之内没有响应,则将资源转换为另一个资源,同时发送错误信息给服务器。 算法: 在系统中设置定时器,如果定时器超时,则自动提取另一个链接。

获取URL地址 建立连接 测试响应

是否为 MP3

添加资源

否 3.4查询模块:

客户查询资源 服务器返回资源至客户端,客户选择资源进行播放

发送错误信息 第二个链接能否响应

否 发送错误信息 第三个链接能否响应

第一个链接能否响应 否

发送错误信息至服务器

播放音乐 系统本地资源主要来自网络爬虫,同时支持在线查询,用于完善查询功能。 用户可以输入歌手名,或者歌曲名称查询,系统首先会在自己的数据库查询,如果没有找到相应的结果,那么系统转向互联网发送请求,同时解析返回的页面,提取页面中url地址,歌手信息,歌曲信息,将信息按一定格式存入数据库。同时将信息发送给客户端。这样就保证了系统资源不断丰富。

3.4.1具体功能 : 1,、 歌手查询。 查询出系统内所存的所有歌手信息。点击歌手会获得此歌手所唱的所有歌曲。点击歌曲可以加入播放器播放,拖动可以加入我的收藏夹,所有的操作都会由系统给出提示。

客户查询资源 服务器在本地数据库查询

互联网上查询 是

否 资源是否存在

发送错误信息至服务器

发送客户端 播放音乐

解析页面,获取信息,并存入数据库

是 2、歌曲查询。 输入歌曲名称,可以获得所有同名的歌曲,以及其歌手。

3、歌曲-歌手查询。 同时输入歌曲和歌手信息,可以输出与此相匹配的歌曲和歌手信息,同时,如果在本地数据库中不存在,系统将转向互联网查询,并将查询结果存入数据库,然后发送给客户端。

4、下载 当用户单击某一个歌曲的条目时,在系统界面的下框中会出现 三个可选项--------下载、MV。如果用户单击下载,系统会提取歌曲条目中的url地址,自动建立连接。如果连接成功,则会弹出MP3的下载框。可以很方便地为用户提供下载服务。 如果用户点击 MV ,则系统会自动提取歌手信息,歌曲信息,发送请求至 同时将新建窗口,将返回的结果显示在新窗口中。

3.5用户反馈模块: 选取歌曲条目 系统出现下载,MV 选择框 选择 下载 选择 下载 系统解析出URL地址 系统解析出歌手歌曲信息并向发送请求

弹出下载框 在新页面显示查询结果 用户反馈模块主要用来收集用户的反馈信息,在播放的过程中,会因为各种各样的原因,导致歌曲播放的效果不尽如人意,还有很大一部分可能会出现内容与名称不匹配,而资源验证模块的工作只能初步地判断资源的可用性,所以为了提供更好的用户体验,需要广大的用户积极地参与系统的改进。 当歌曲被选中播放时,系统会出现错误报告的选择框,里面所罗列的条目有以下几条 1.、链接速度过慢 2.、是网友翻唱,或者其他类型的音频 3、 是另外一首歌 4.、歌曲质量差 5、是其他以上没有列出的原因 用户可以选择其中的一项,向服务器发送错误报告,服务器会记录每一条错误报告。 3.6系统提示模块: 为了加强与用户的互动,系统提供了丰富的提示功能 ,当用户的行为触发不同的事件的时候,将会弹出不同的提示框,用以给用户适当的提示。系统提示模块贯穿于整个系统。

选取歌曲播放 系统出现错误报告选择框 选择 错误信息 向系统发送错误报告 系统提取正在播放的歌曲的url地址

系统存储错误报告 用户注册模块:

3.7 用户登录模块: 用户的权限分为 游客,会员,管理员。登录后根据不同的权限,所看到的界面不一样,当会员登录后,将不可见到管理员所能操作的模块,管理员登录后,将会呈现出系统管理模块。

用户动作触发事件 系统捕捉事件 辨别事件 呈现不同的提示 3.8 系统管理模块:

用户点击登录 系统弹出登录框 用户输入信息 客户端验证信息

服务器验证信息 是否存在 是否为管理员 呈现用户界面

呈现系统管理页面 主要对系统中的资源进行管理,处理用户以及系统提交的错误报告。 主要采用了以下几个措施来维护系统资源。 1.、利用资源验证模块的测试功能,对错误信息为 链接速度过慢的资源进行测试,如果测试结果为资源不符合要求,则替换资源。 2,、对其他类型的错误信息,提供试听功能,人工地辨别错误。 3.、对已经辨别的错误,提供更换资源的功能。 利用网络爬虫,在互联网上自动地寻找与先前的资源不同的资源。

管理员登录 系统提供系统管理界面 获取错误信息 系统可辨别的错误?

管理员人工辨别 系统自动辨别 更换资源 是否存在 3.9娱乐频道模块: 此模块利用rss技术,为用户提供更为方便快捷的娱乐资讯。 3.9.1 RSS简介 RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。通常在时效性比较强的内容上使用RSS订阅能更快速获取信 息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。 网络用户可以在客户端借助于支持RSS的新闻聚合工具软件(例如 SharpReader,NewzCrawler、FeedDemon),在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。 本系统利用爬虫的页面下载和解析功能,抓取各大网站的rss发布地址, 下载并解析页面。可以聚合多个网站的信息。

相关主题