2.2.2服务模型

系统服务模型的基本单位包括服务器端(PC)、客户端(PIC32开发板)以及wifi通信媒介。通信媒介既可由基站(Base Station,BS)、访问点(Access Point,AP)进行协调,也可采用自由直连(ad hoc)方式。

云播放系统中,客户播放器(PIC32开发板)的主要数据,包括用户信息,收藏列表,播放、搜索和其他操作记录以及用于播放的音频文件,都放置在云端存储中。客户端启动时,首先搜索范围内可用wifi网络,选择合适的AP完成网络加入(必要时提供密钥)。通过wifi网络建立与云端服务器的连接,完成身份验证,继而进行收藏列表下载、选择曲目播放和音乐搜索等功能。

云播放系统服务模型中,需要综合考虑客户端与wifi网络AP、客户端与云端服务器的交互。典型的需求约束包括如下所述:

客户端通过扫描识别可用wifi网络。在预知各网络状态的情况下,自动进行连接。或由用户自主选择加入的网络,必要时需提供网络密钥。

首次联机时,服务器将客户端固化的唯一序列号进行注册,在云端存储上分配用户信息、初始收藏列表及操作列表等相应的空间。

非首次联机时,服务器端根据客户端发送的序列号进行用户收藏列表的推送。

用户选择收藏列表中确定位置曲目开始播放,由服务器端将曲目信息(名称、艺术家、时长、音质、同步歌词等)和音频流通过wifi网络传输至客户端。客户端只进行当前播放范围数据的缓存,并实时解码播放音频流。

收藏列表管理,包括相应曲目的添加、修改和删除操作。客户端操作与服务器端存储进行同步更新。

服务器端提供音乐搜索功能,客户可根据搜索结果完成新曲目的添加。

服务器端维护连接状态管理。通过周期性查询客户端响应获取当前连接状态,客户端失去连接时,关闭相关的数据传输流和内存中分配空间。

预期可选的高级服务如下所述:

QoS。客户端音频流媒体的良好播放体验需QoS(Quality of Service,服务质量)的支持,提供实时低延迟、低丢包率抖动的音频传输。可采取的措施包括引入资源预留协议(RSVP)、采用动态组播等方式,wifi协议本身也对QoS提供了一定的原声支持。

负载均衡。对于范围规模较大情况下的云播放系统,采用分布式的CDN(Content Delivery Network,内容分发网络)是减小服务器压力、提高客户端下载速度的有效手段。此时通过DNS技术,将客户请求连接到最近的缓存服务器得到满足,动态的调节网络负载均衡,达到最快的响应和传输速度。

可适应性编码。采用具有可适应性编码的前提是可进行服务器端与客户端实时传输速率的测量。当出现网络拥塞或带宽限制时,将流媒体编码率适当降低。反之,当网络带宽足量或剩余时,调整音频流至高码率,提供更高品质的音乐体验。

根据上述服务模型的分析,确定了已下的通信原语: