客户请求处理流程
ACM作为MS的入口点,记录有所有正在接受服务客户与MS-VOD的对应关系,即根据客户标识能够立即查询到为其服务的MS-VOD。当ACM 收到流量控制和VCR(Video Cassette Record)等己连接客户的命令请求时,将其赋予很高的优先级,直接转发到为该客户服务的MS-VOD,由同一个MS-VOD作进一步处理。而对于客户提交的新的点播请求命令,则按下而的流程完成处理:
1. MS-Manager中的ACM模块收到用户请求后进行处理:首先与BOSS交互进行用户身份鉴权和点播合法性的认证,然后再经许可准入控制算法处理,决定是否接受该用户请求;
2. 对于非法的点播请求或者是暂时无法满足其QoS要求的点播请求,ACM直接返 回给客户拒绝服务信息;如果用户请求通过了ACM的认证并被许可准入,则该请求会被转发至LSM模块;
3. LSM 记录其收到的客户请求,根据当前各MS-VOD的负载记录和一定的负载调度策略,按着先来先服务的原则,逐一为查询命令选择MS-VOD,如果查询到了合适的MS-VOD,立即通知此MS-VOD为相应的用户提供视频服务;
4. 如果当前没有可用的服务器,则将该请求保留,保留其间多次为其选择MS-VOD,直至选择成功或失败,并将结果通知ACM。对于超时失败的选择查询, ACM会将结果通知该客户;
5. 对于选择成功的查询,将该客户的加载请求发送到相应的MS-VOD,如果此MS-VOD中存储有相应影片,则直接将影片数据从硬盘中调出至缓存中,再由视频处理模块将其转化为流式数据,以提供给用户流媒体视频服务;
6. 如果此MS-VOD中没有存储相应的影片,则立即向上级内容分发平台CDP发出数 据请求,如果请求数据成功,将从ASON上接收数据放在缓存中,经过数据转换后,立刻向客户发送数据,并将加载成功结果通知ACM,否则将失败结果返回给ACM;
7. ACM将收到的加载结果返回给客户,一个用户请求处理完成。
小结
流媒体服务器研究的一个重点就是负载均衡问题。本文从MS的架构特点和工作流程出发,给出了MS的系统设计,并提出将许可准入控制、负载分配和存储调度管理三者有机结合的负载均衡算法,在实际测试中取得了很好的均衡效果。