另外一种机制称为TCP传递(TCP handoff),如图4所示,客户端的请求经过分配器分配到达服务器,服务器将处理后的结果不经过分配器而直接发送给客户端。中继或TCP衔接机制要求所有的通信均要经过分配器(特别是处理结果信息量很大的情况下),因此容易在分配器形成通信瓶颈,TCP传递机制避免了这一问题,因此性能更好,但是需要对前端和后端节点进行修改,以支持TCP handoff 。
MS中的负载均衡系统结构设计
对于大型视频点播系统来说,一个好的负载均衡算法不能只单纯考虑负载分配问题,更应“未雨绸缪”,在接受用户请求和节目存储时就考虑到负载均衡问题,因此我们认为本系统中的负载均衡系统应该如图5所示,分为接入许可控制模块(Admission Control Module, A CM )、负载调度模块(Load Schedule Module,LSM )和存储管理模块(Storage Manage Module, SMM )三个部分。
接入许可控制模块作为视频服务器的单一入口点,判断是否接受客户的命令请求;负载调度模块负责根据一定的服务器选择算法分配负载,并管理各MS-VOD节点;存储管理模块负责根据点播率变化情况及时调整影片存储。 客户请求处理流程 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的系统设计,并提出将许可准入控制、负载分配和存储调度管理三者有机结合的负载均衡算法,在实际测试中取得了很好的均衡效果。
|