|
||||
| IT两会 | 互联网年会 |
|
管好流媒体服务器集群■ 清华大学 林光国 曾珂 戴琼海 |
|
流媒体技术应用中遇到的一个主要问题是流媒体服务器的资源短缺。作为一台流媒体服务器,它本身的资源是有限的,即使性能再高的服务器在面对过量需求时也会因为资源耗竭而最终崩溃。为了解决这一问题,服务集群的概念被引入,即通过一组服务器来提供高负载的流媒体服务,各服务器之间的协调管理则通过特定的网管协议来实现。采用集群服务的方法,提高了系统的服务能力,又解决了服务系统的瓶颈问题。 网管标准的“三剑客” 目前主要有CMIP、TMN和SNMP三种网络管理标准。
在三种网络管理标准中,SNMP最为简单,但管理能力最弱;TMN最为复杂,但管理能力最为完备;而CMIP则介于两者之间。所以在一个网络管理系统中,如果能够使用SNMP就没必要用CMIP;如果能用CMIP就没必要用TMN。考虑到系统的实用性和易实现性,一般选用SNMP作为管理协议,并针对流媒体服务的特点开发流媒体服务集群管理系统。 在SNMP中,一个网络管理系统从逻辑上可抽象为四个部分:被管代理(agent)、网络管理工作站(manager)、网络管理协议、网络管理信息库(MIB)。它们之间的关系如图1所示: 网管工作站(manager)负责整个网络的管理,监控被管设备状态。 管理代理(agent),代理是驻留在被管理设备上的一个进程,负责收集组织被管设备状态信息,响应管理端访问管理信息库的请求。另外当系统出现问题的时候可以主动向管理端发出通告信息。 MIB是管理信息的组织形式,呈树形结构。标准MIB在RFC中有定义,还可另外根据被管设备的需要定义厂商自己的MIB。 管理协议则定义了网管工作站和被管设备之间信息交换的接口,双方以约定的格式进行消息传递。 信息交换的基本单元是消息,SNMP定义了五种基本消息类型,分别是GetRequest、GetNextRequest、SetRequest、GetResponse和Trap。前四种用于普通的请求和响应,最后一种是被管设备发生异常情况时,代理向管理者发出的通告消息。 流媒体服务管理的“三只拦路虎”
流媒体服务有自身的特点,因而对其服务集群的管理也有特殊的要求。将SNMP用于流媒体服务管理主要面临三方面的困难: ● 管理信息库的扩展 除了要监控服务器和网络运行状况,还要完成播放管理、负载均衡、内容管理等任务。管理平台要根据当前负载情况、访问请求的来源和类型进行分流重定向,在保证已有服务正常运行的情况下满足新用户的服务请求。内容管理记录节目分布和点播频率、索引分类等信息,管理员根据这些信息调整节目存储策略,根据点播分布情况,将内容推送到离用户较近的边缘媒体服务器上,增加热门节目的拷贝或放入到Cache中。 SNMP框架只对标准协议和硬件设备的管理信息做了定义,而对于流媒体服务管理需要另外进行扩充,SNMP在MIB库上预留了扩展接口,这样可以在原来标准管理信息结构的基础上,自定义所需的管理信息结构,即可实现对流媒体服务的管理。 ● 标准消息不支持插入、删除等数据库操作 在对流媒体的连接和内容进行管理时,不可避免要经常性地进行一些插入、删除等数据库操作,而MIB库对动态信息的支持并不是很好,SNMP管理端和代理端进行通信的标准消息中也没有关于数据库操作的定义。管理者要通过SetRequest命令间接触发。 ● MIB库的查询率较低 SNMP中定义的MIB库并不是真正意义上的数据库,准确地说应该是一个标准化的树形信息结构。它的节点是按照协议和硬件设备进行分类的,这种结构决定了它无法完成复杂的条件查询,对内容进行分类索引时灵活性较差。 流媒体服务器集群管理实现的“三个层次” 一套基于Linux的流媒体服务管理系统如图2所示。系统采用了SNMP的manager/agent架构,实现了全功能的基于内容的网络管理。具体功能包括内容管理、网络监控、服务器配置管理、重定向管理等。该系统的开发分为以下几个部分:
1.管理信息库的设计 MIB是被管设备的状态及其环境信息的组织形式,每项数据在库中都有惟一的对象标识(OID)相对应。代理要想正确地收集管理所需的数据,管理者就必须先对MIB数据集进行定义。由于标准的MIB库不能满足流媒体管理的需求,所以要在树形结构的MIB中定义自己的管理分支,自定义的节点通常加载在iso.org.dod.internet.private.enterprises上。针对流媒体服务的特点定义了下面一些管理信息: ● 服务状态信息:记录了当前服务器的配置和运行状态的参数,包括编码器运行状态、最大并发用户数、当前在线用户数等。 ● 流状态信息:包括的参数有瘦化流数量、瘦化流百分比和故障流列表等。 ● 节目内容信息: 记录流媒体服务器的节目储备分布情况、使用频率以及分类索引信息。 ● 网络状态信息: 包括网络带宽、实际传输速率、多播占用带宽、数据丢包率等参数。为网络性能分析提供了重要的数据参考。 ● 底层信息:显示了系统的实际负载情况,包括CPU利用率、内存利用率等参数。 2.管理平台的开发 用户可以以两种方式实现对网络的监控:一种是在本地管理工作站,另一种通过Web实现远程监控。本地网管工作站可以根据通过代理获取的各个服务器的状态数据对网络进行监视,并且为用户提供管理策略定制接口,管理员可以根据网络负载的情况自行定义监测阈值和事件处理方法。Web远程管理平台只提供监视和简单的管理功能。 网络管理控制台基于HP OpenView,并在此基础之上定制了自己的管理策略。管理平台由数据采集模块、分析决策模块、决策执行模块和通信模块组成,各个模块间的关系如图3所示。 ● 数据采集模块负责采集系统配置和性能信息,更新MIB库中的数据,使库中数据和网络实际状况尽可能地保持一致,为网络性能分析提供依据。 ● 分析决策模块具有一定的智能性,它根据采集到的数据分析网络性能,从而做出合理的决策。这里要结合流媒体服务的特点开发私有协议来定制分析策略,协议中要综合考虑内容分布、负载均衡、性能优化等目标,做出服务重定向、服务拒绝、重新配置服务器等一些决策。在决策过程中使用了一些智能算法,此外还可人为地对决策阈值进行修改。 ● 决策执行模块则负责执行上级模块的决策动作,定义操作执行步骤,对服务器运行状态进行调整,最终实现对集群系统的性能和服务的管理。 ● 数据通信模块由数据通道和故障通道两部分组成。代理和控制台之间通过socket建立数据连接,数据包格式遵从SNMP协议中的约定。代理端缺省通过161端口和控制台建立起数据通道,接收请求并响应消息;通过162端口和控制台建立起故障通道,发送陷阱(trap)和事件通知消息。 3.管理策略的设计 分析决策模块是整个管理平台的核心,策略设计的好坏将直接影响到流媒体服务系统的性能和服务质量。该模块对内负责分析调整服务器的状态,对外选择一个最优的方法为用户服务,具体要实现内容分发、统计信息分析、接入控制、负载均衡、阈值报警和异常处理几项功能。 内容分发模块会根据节目的播放频率和点播用户来源对节目源分布进行优化配置,将点播频率较高的节目放入Cache中,或提示管理员增加节目拷贝。另外,还提供节目分类索引。 统计分析是服务方法决策的基础,分析的对象主要是从各个代理收集来的管理信息。 视音频服务不同于传统的文件服务,用户要求收到的是一个连续平滑的数据流,任何显著的延迟都将导致流的不连贯,所以在流媒体服务系统中必须加入接入控制。当系统资源使用超过80%的时候,系统就会报警;而当资源使用率超过95%的时候,服务器就会拒绝新用户的接入,通过防止过载来保证服务质量。 任何一台服务器的服务能力都是有限的,为了防止服务器过载和保证服务的质量,必须制定负载均衡的策略。内容服务器将节目单发布到网上,用户通过Web发出点播请求,管理控制台按照内容分类索引查找用户点播的分布情况,选出存有该节目的服务器,并结合资源使用情况选择一条最佳的连接返回给用户,从而实现各台服务器的负载均衡。 对于异常事件处理方法的定义则比较灵活,控制台可以根据代理返回的陷阱通告采取相应的策略,对于如系统过载崩溃或进入死锁状态,通过控制台可以发出reboot命令;而如果是网络带宽不足,则可采取暂停接入等策略。 (计算机世界报 第42期 B4、B5) |
周报全文频道联系方式:010-68130909 |
||||||
| 【关于我们】 【广告服务】 【周报发行】 【投稿指南】 【投稿声明】 【联系方式】 【法律声明】 【媒体手册】 【编读往来】 |
||||||
| Copyright© ccw.com.cn,All rights reserved | ||||||
| 中国计算机世界出版服务公司版权所有 | ||||||