在网络上面,视频的传输是很庞大的。面对大连数据的传输和交换,必须要用到负载均衡技术。针对流媒体服务器的负载均衡我们前面也介绍过了一些内容了。现在,我们就针对它的设计结构再来详细说一说,帮助大家理解这部分内容。
流媒体服务器中的负载均衡系统结构设计
对于大型视频点播系统来说,一个好的负载均衡算法不能只单纯考虑负载分配问题,更应“未雨绸缪",在接受用户请求和节目存储时就考虑到负载均衡问题,因此我们认为本系统中的负载均衡系统应该如图1所示,分为接入许可控制模块(Admission Control Module, A CM )、负载调度模块(Load Schedule Module,LSM )和存储管理模块(Storage Manage Module, SMM )三个部分。
接入许可控制模块作为视频服务器的单一入口点,判断是否接受客户的命令请求;负载调度模块负责根据一定的服务器选择算法分配负载,并管理各MS-VOD节点;存储管理模块负责根据点播率变化情况及时调整影片存储。
图1.流媒体服务器中的负载均衡系统结构示意图
客户请求处理流程
ACM作为流媒体服务器的入口点,记录有所有正在接受服务客户与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的系统设计,并提出将许可准入控制、负载分配和存储调度管理三者有机结合的负载均衡算法,在实际测试中取得了很好的均衡效果。