一种基于集群均衡负载的流媒体服务器系统的制作方法

文档序号:7968040阅读:242来源:国知局
专利名称:一种基于集群均衡负载的流媒体服务器系统的制作方法
技术领域
本发明涉及计算机流媒体服务技术领域,具体涉及一种基于集群均衡负载的流媒体服务器系统。
背景技术
流媒体是指采用流式传输的方式在互联网上播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使媒体数据正确地输出。流媒体的数据流随时传送随时播放,只是在开始时有些延迟。显然,流媒体实现的关键技术就是流式传输,流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播入的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。
随着流媒体技术的飞速发展,基于流媒体的应用越来越广泛,用户也越来越普及,同时也对流媒体服务提出了更高的要求和挑战。应用范围和用户数量的不断扩展势必会加重流媒体服务器负载,使客户端响应时间延长,播放质量下降等诸多问题。当前的解决方案有如下三种第一,提高网络带宽至千兆以上,使数据传输更快速顺畅,但随之也带来了重新布线的成本提高,且其扩展性不强,因为网络带宽的增长速度总是低于用户数量的增长速度;第二,提高服务器硬件性能,包括CPU频率,内存容量等性能指标,但高性能计算机购买价格和维护费用昂贵,不符合建立节约型社会的中国国情;第三,采用集群服务器,性价比高,但集群管理复杂,缺乏优良的负载均衡调度算法。
针对上述各解决方案的缺陷与不足,本发明的集群均衡负载的流媒体服务器采用集中存储与分布存储相结合,高速带宽的内部网络,将服务器的CPU利用率,内存使用状况的诸多性能指标考虑在内的调度算法,能用有效地解决上述问题。

发明内容
本发明的目的是提供一种基于集群均衡负载的流媒体服务器系统,该系统具有统一调度管理数据流,分布式热点影片管理,集中型存储管理等功能,有效地解决当前服务器负载过重,管理繁琐混乱,网络带宽受限的问题。
本发明提供的一种基于集群均衡负载的流媒体服务器系统,包括前端调度机、n台真实服务器和共享存储器,其中,1≤n≤32;前端调度机用于提供用户访问的交互界面和系统管理员的管理入口;端调度机接收到用户的视频点播请求后,根据当前各个真实服务器的状态,选择其中一台负载最小的真实服务器为用户提供流媒体服务;真实服务器用于接收前端调度机转交的视频点播请求后为用户提供流媒体服务,同时统计本地CPU、内存、网络带宽的利用率并将这些信息存于本地数据库中;系统空闲时,根据前端调度机提供的热点影片信息从共享存储器复制影片副本到真实服务器的本地存储器;共享存储器用于存储流媒体服务系统中全部影片的媒体文件,为真实服务器提供媒体文件的存取访问。
作为本发明的一种改进方案,其中,服务器调度模块按照下述步骤对流媒体服务的任务调度①接受客户端通过http请求传入的影片文件编号;
②查看哪些真实服务器的本地磁盘上有被请求的文件,设这些真实服务器组成集合为M;③根据公式(1)计算M中所有真实服务器的负载能力C,如果M为空,从所有真实服务器中选择C值最大的真实服务器提供服务,同时将文件所在位置设为nd;否则,选择C值最大的真实服务器为当前请求提供服务,然后将文件所在位置设为ld;④根据影片文件编号得到文件名,并记录影片点击情况;⑤将由真实服务器的IP地址、影片文件所在位置和文件名三者一起构成的rtsp地址返回给客户端,客户端使用这个地址和被选出的真实服务器直接交互,获取数据;Ci=Wi*(1-UCPU*WCPU)*(1-UMEM*WMEM)*(1-UI/O*WI/O) (1)其中Wi代表第i个真实服务器的权重系数,UCPU、UMEM、UI/O分别代表CPU、内存、网络带宽的利用率,WCPU、WMEM、WI/O则分别代表上述三项指标的权重系数。
与已有技术相比,本发明具有以下特点a.实时监控和远程管理。传统的流媒体集群服务器几乎都缺少实时监控模块,系统管理员没法直观清晰地了解各个服务器的运行状态和服务状况,使得直接影响到整个流媒体服务器的服务效率和系统利用率。而本发明采用分布式实时监控技术,在前端调度机上安装实时监控程序,该程序可以实时监测到各个真实服务器的服务状况,包括真实服务器的CPU利用率,内存利用率,用户连接数与共享存储器间的通信量等诸多监控数据,以便当用户请求达到时可以准确判断出当前哪台服务器最适合响应此时请求,提供有保障的高质量流媒体服务。本实时监控还支持有一定权限的系统管理员通过远程机器来访问监控各个服务器的运行状态。
b.热点影片分布式存储和普通影片集中式存储。传统的流媒体服务器大多不区分热门影片和普通影片,一律采用集中存储,这样势必会造成共享存储器负载过重,使得共享存储器的访问带宽成为整个流媒体系统的瓶颈,又由于服务器本身的存储空间有限,不可能实现所有影片的分布式存储。因此,本发明的流媒体服务器系统采用热门影片分布式存储,根据某一段时期内影片访问量的记录挑选出这期间比较热门的影片,将之存储到服务器本地存储器上,以提高访问速度和服务质量,而所有的影片都有一份原本在共享存储器上,当用户想要观看这些并不热门的影片时,服务器可以访问共享存储器来提供服务,这样就有效地降低了对共享存储器的访问频率。
当本发明采用改进的方案时,服务器调度模块采用的是动态调度算法。传统的流媒体集群服务器只具备较单一的负载均衡策略,比如按照请求流顺序依次调度到不同服务器上,或者按照不同服务器上当前的服务连接数来调度到不同服务器上,这些只能够实现轻量级的负载均衡。按请求流顺序调度时效性不强,很可能存在多台服务器利用率不高的问题;按服务连接数调度则没考虑到各个服务器之间的性能差异,用户端的网络状况差异和流媒体文件的码率差异。而本发明提出的改进的负载均衡调度算法,可以动态实时监测到各个真实服务器当前的服务情况,包括当前服务器最大连接数,流媒体文件个数,网络质量,CPU负载,内存占用率等全面反映真实服务器每时每刻的负载信息。


图1为本发明提供的流媒体服务器系统的结构示意图;图2为本发明提供的流媒体服务器系统的模块构成示意图;图3为本发明提供的流媒体服务器系统的工作流程图。
具体实施例方式
下面结合附图和实例对本发明做进一步详细的说明。
如图1所示,本发明基于集群均衡负载的流媒体服务器系统包括前端调度机1、n台真实服务器21、22、……、2n(其中,1≤n≤32)和共享存储器3。系统从软件服务上可分为三层用户服务层、流媒体服务层和数据存储层。用户服务层由前端调度机1构成,流媒体服务层由n台真实服务器21、22、……、2n构成,数据存储层包含共享存储器3(也称网络磁盘,Network Disk)和真实服务器中的本地磁盘(LD,Local Disk)。
前端调度机1作为系统入口提供了用户访问的交互界面和系统管理员的管理入口,前端调度机接收到用户的视频点播请求后,根据当前各个真实服务器的状态,选择其中一台负载最小的真实服务器为用户提供流媒体服务;系统空闲时,将用户点击量大的热点影片的编号、影片名、播放长度、点击量等信息发送给真实服务器。真实服务器21、22、……、2n接收前端调度机转交的视频点播请求后为用户提供流媒体服务,同时统计本地CPU、内存、网络带宽的利用率并将这些信息存于本地数据库中;系统空闲时,根据前端调度机提供的热点影片信息从共享存储器复制影片副本到真实服务器的本地存储器。共享存储器3存有流媒体服务系统中全部影片的媒体文件,为真实服务器提供媒体文件的存取访问;本发明使用的共享存储器是RAID存储阵列,可以存放上千部影片文件。
下面结合图2说明上述各部分的模块构成。
前端调度机1包括用户界面模块11、Web服务器模块12、服务器调度模块13、系统安装配置模块14、用户管理模块15、媒体管理模块16、节目热点管理模块17、数据库设计模块18和系统监控显示模块19。
用户界面模块11用于提供服务器与用户交互的界面,它根据系统安装配置模块14提供的不同用户类别(一般用户和管理员用户)的参数显示不同的交互界面,然后将用户编号、请求影片名等输入信息提供给Web服务器模块12。
Web服务器模块12接收上层用户界面模块11传递下来的用户注册或登陆信息后,调用提供用户管理模块15对用户进行管理,对影片管理是调用媒体管理模块16和热点管理模块17完成的,其中用户管理包括用户注册、用户登陆、用户点播、论坛留言等功能,影片管理包括影片上传、影片介绍、热点影片复制、影片更新等功能;系统重启时,Web服务器模块12由系统安装配置模块14启动。
服务器调度模块13接收来自Web服务器模块12的用户视频点播请求信息和影片副本信息,用户视频点播请求信息包括用户编号、请求影片名、请求影片文件编号,影片副本信息指的是在存有某部影片的真实服务器编号、影片编号、影片名,然后服务器调度模块根据系统监控显示模块19提供的系统中各个真实服务器的负载信息,根据负载均衡调度算法得到适当的真实服务器地址,并提供给用户;同时将用户的流媒体服务请求发送给真实服务器21的流媒体服务模块211,当真实服务器和用户建立连接后,则一次调度完成。
负载均衡调度算法可以采用现有的算法,如轮转算法和随机调度等算法。为了更好的平衡各服务节点的负载,最好采用本发明提供的下述改进的负载均衡调度算法首先采用公式(1)量化表示系统的负载能力Ci=Wi*(1-UCPU*WCPU)*(1-UMEM*WMEM)*(1-UI/O*WI/O) (1)其中Wi代表第i个真实服务器的权重系数,其值越大,表示服务器的性能越好。UCPU、UMEM、UI/O分别代表CPU、内存、网络带宽的利用率,而WCPU、WMEM、WI/O则分别代表上述三项指标的权重系数,用来体现各项指标对系统负载能力的影响程度。
根据公式(1)求得一个负载能力值(C),选择C值最大的真实服务器来提供服务。对于实际系统,任何一项资源(CPU、网络带宽等)超过一定的使用率(比如90%),系统都不再有能力接入新的请求。
用于调度真实服务器的负载均衡调度算法描述如下a.接受客户端通过http请求传入的影片文件编号;b.查看哪些真实服务器的本地磁盘(LD,Local Disk)上有被请求的文件,设这些真实服务器组成集合M;c.如果M不为空,根据公式(1)计算M中所有真实服务器的负载能力C,选择C值最大的真实服务器为当前请求提供服务,然后将文件所在位置(本地磁盘或者网络磁盘,分别由逻辑路径ld和nd对应)设为ld;否则从所有真实服务器中选择C值最大的提供服务,同时将文件所在位置设为nd;d.根据影片文件编号得到文件名,并记录影片点击情况;e.将由真实服务器的IP地址、影片文件所在位置和文件名三者一起构成的rtsp地址返回给客户端。客户端使用这个地址和被选出的真实服务器直接交互,获取数据。
系统安装配置模块14根据管理员设置好Web服务器、数据库服务器的安装路径,安装启动用户界面模块11、Web服务器模块12和数据库设计模块18。而且,系统安装配置模块14可以在系统处于亚健康状态时修复运行不稳定的模块。
用户管理模块15提供用户注册,对用户进行认证授权等功能,将注册或登录成功与否的信息返回给Web服务器模块12显示;对于管理员,用户管理模块15还提供用户或用户组的创建、删除,更新系统配置等功能。用户的注册信息,包括用户名、密码、Email、所在用户组、权限及个人说明的数据格式由数据库设计模块18定义。
媒体管理模块16向管理员提供多媒体文件的管理功能,包括文件更新、上传、修改、删除等,操作成功与否的信息通过Web服务器模块12显示给管理员。影片信息如影片编号、影片名、分类名、点击数、影片副本数目、影片描述等信息的数据格式由数据库设计模块18定义。
节目热点管理模块17实时记录用户的请求,统计影片节目的点击量,以点击量计算影片的热度值,热度值等于该影片的点击量与所有影片点击量之和的比值。用户对某部影片有请求,则这部影片点击量加1,计算所有影片的热度值后,按热度值从高到低排序影片,排在前面(如前10位)的影片信息发送给Web服务器模块12显示。热度值越大的影片,表示该影片越受欢迎,如果设置热度值为前10是热点影片,那么某部影片被判为热点影片,则调用节目复制模块213完成影片的副本复制。然后,节目热点管理模块17将影片副本信息包括影片编号、影片名和副本数目,发送给媒体管理模块16更新影片相关信息。
数据库设计模块18定义用户管理模块15、媒体管理模块16和节目热点管理模块17需要的用户信息、影片信息和服务器信息。用户信息包括用户编号、用户名、访问权限、所在组,影片信息包括影片编号、影片名、分类名、点击数、副本数目,服务器信息包括服务节点编号、服务节点名、缓存的影片副本数目、影片副本编号列表。
系统监控显示模块19可使系统管理员通过远程监控查询各个服务器的运行状况,并以Web页面方式显示。系统监控显示模块19除了将系统信息可视化显示给管理员外,还将系统监控伺服模块215提供的各个真实服务器的服务状态发送给服务器调度模块13用于任务调度。
各个真实服务器均包括流媒体服务器模块、流媒体服务监控模块、节目复制模块、数据库服务器模块、系统监控伺服模块和本地存储器。下面以真实服务器21为例,说明各模块的功能。
流媒体服务器模块211搭建在每个真实服务器上,支持的流媒体协议主要为rtsp,每个服务器都配有真实IP,可以直接向用户提供流媒体服务。如果影片文件在本地有热点备份,那么将从本地存储器216读取影片文件数据给用户;如果没有热点备份,那么将从远程的共享存储器3读取影片文件。同时,真实服务器21提供流媒体服务的相关信息,如用户名、请求影片名、服务节点名等由流媒体服务器模块211发送给流媒体服务监控模块212。
流媒体服务监控模块212监控流媒体服务器的软硬件环境,内容包括每台流媒体真实服务器的当前用户连接数、网络状况、CPU利用率和内存使用状况等实时监控数据,这些信息提供给系统监控伺服模块215,一方面以便系统管理员全面了解流媒体服务器集群系统的运行情况,另一方面提供给前端调度机1用于负载均衡调度。
节目复制模块213负责从共享存储器3复制热点影片节目到各个真实服务器本地存储器216上。管理员通过节目热点管理模块17定期搜寻此期间内最热门的影片节目,通过本模块分发到真实服务器21上。
数据库服务模块214采用的为MySQL服务器,并建立用户管理和影片管理两个数据库,其中用户管理数据库包括用户注册信息、用户权限设置、用户登陆信息和用户偏好的历史记录等功能,影片管理数据库包括影片更新、影片分布状况、影片访问记录和管理员权限等功能。数据库存储流媒体服务信息的数据格式由数据库设计模块18定义。
系统监控伺服模块215对伺服对象进行监控,位于系统监控显示模块19的底层,包括远程信息交互,远程控制,远程函数调用等消息处理。所得监控信息输送给上层前端调度机1的系统监控显示模块19。它所需要的真实服务器负载信息来自流媒体服务监控模块212。
每一个真实服务器都有一个本地存储器216,本地存储器216处于系统的数据存储层,并不是真实服务器21上的功能模块,它用于存放热点影片文件副本,由流媒体服务模块211调度。
其中,系统监控显示模块19和系统监控伺服模块215分别位于系统监控模块的上层和下层。考虑到需要监控不同平台的系统信息,这部分功能用Java语言实现,这两个模块负责监控集群内部所有计算机的服务器模块运行状况,并以图形化的方式显示出来。这些监控到的系统信息可以通过其接口提供给服务器调度模块13来做调度时的判断参考。
用户界面模块11和Web服务器模块12合并起来就是一个可以提供完整Web服务的前台和后台,其大部分功能代码用PHP实现。媒体管理模块16和用户管理模块15通过数据库服务模块214来提供详尽的多媒体文件管理,影片介绍,点击数等节目信息和网页注册用户的个人信息。本发明的Web服务系统和传统的Web服务器最大的不同之处,就在于增添了一个服务器调度模块13。当用户点击观看影片触发播放事情时,服务器调度模块13就开始工作,它从系统监控模块19和系统监控伺服模块215得到各个流媒体服务器的系统信息,并从流媒体服务监控模块212处得到流媒体当前的服务信息和从媒体管理模块7的数据库中得到节目存储信息,利用均衡负载的调度算法选取一个当前负载量最小的流媒体服务器来提供服务,此时就开始启动流媒体服务模块211,响应用户的流媒体请求。
流媒体服务监控模块212是位于流媒体服务模块211上的中间件,它可以实时监控到流媒体服务器的当前服务信息,并将这些信息保存到数据库中。如果管理员想查看这些服务信息,也可以通过系统监控显示模块19图形显示出来。本模块有着很强的实时性,这样才能更高效地与服务器调度模块13一起完成负载均衡调度工作。
热点管理模块17和节目复制模块213是用来解决访问共享存储器3的带宽有限问题。它们定期(一周或者一个月)会分析从数据库中采集到的媒体信息,主要是节目的访问数,从中选取较热门的影片节目。若该节目位于共享存储器3中,则将它复制到各个真实服务器2的本地存储器上。这样依赖,就可以有效地提高点击的影片节目命中率,减少了对共享存储器3的访问负荷。这种实现方式类似于计算机系统中的cache高速缓存和内存的关系,只是本发明的热点管理和节目复制一旦被设置好,就会定期自动进行工作,无需管理员操作。
本发明的整个系统服务流程如图3所示。当用户客户端(client)通过http协议登陆访问本系统的Web服务器页面,匿名用户仅能浏览页面,注册用户可以搜索找寻自己感兴趣的影片节目。当用户打开某影片页面上的影片介绍时,此影片的浏览次数加1;当用户播放某影片时,此影片的热点度加1,并查询数据库找到此影片的存储服务器,可能不只一个,此时负载均衡调度算法通过分析各个真实服务器的当前连接数,网络状况,CPU负载等监控数据选择出合适的流媒体服务器,将其URL地址返回给用户激活用户端的媒体播放器。媒体播放器再直接向真实服务器发出rtsp流媒体数据请求,真实服务器响应此请求并开始传输流媒体数据,用户端缓存足够的数据开始播放视频节目。
本发明采用了多IP基于集群的系统架构。前端调度机1和流媒体真实服务器21、22、……、2n都配置了单独的外部IP,每个节点机都能被外网机器直接访问,返回客户端的数据不经过前端调度机可以直接到达客户端,这样有效地利用了网络带宽,减轻了前端调度机的压力,防止了网络阻塞,避免造成性能瓶颈。提供流媒体服务的真实服务器安装在NC节点上(Network Computer),节点机的启动通过前台的启动服务器来完成。根据多方面的考虑,多媒体文件比如影片等的存储分为了两种模式1)节点上的本地磁盘,分布式存储,主要存放热点影片副本,即图1中的LD(LocalDisk);2)共享存储服务器(RAID),集中存储,存储所有影片,即图1中的ND(Network Disk)。这样分布式存储和集中存储相结合的方式有效地利用了各NC节点的存储容量,也减少了共享存储器3上的数据访问压力。
下面举例说明本系统实施过程中的配置情况。
本系统采用威盛集群,包含20个节点机,其基本配置如表1所示。
表1 系统的配置例示


其中,一台配置为前端调度机1,它上面有运行动态网页的Web服务器Apache,存储用户信息和影片信息的数据库MySQL,并具备负载均衡功能,可以统一调度管理真实服务器;其余19台配置为真实服务器21、22、......、2n,都分配真实IP地址,作为流媒体服务器,响应用户的RTSP请求,向用户提供高质量的流媒体服务,且本身存储器上分布式存储热点影片,有效加快响应时间和降低对共享存储器的访问消耗。共享存储器3为RAID磁盘阵列,集中存储管理流媒体文件,它挂载到各流媒体服务器上。
软件上全部使用运行稳定可靠的开源软件,其中Web服务器采用Apache HTTP Server 2.0.55,运行脚本php-5.1.2,数据库服务器为MySQLServer 5.0,流媒体服务器为Helix Server。
本发明的均衡负载调度算法涉及到的数据库数据项包括真实服务器当前连接数记录各个流媒体服务器当前的用户连接数;CPU利用率记录当前流媒体服务器的硬件性能状况;影片存储位置记录各影片存储的位置,包括各真实服务器的本地存储和共享储存;影片总观看数记录在某一时间段内各影片被访问观看的总次数。
本发明采用的技术方案如下a.Web服务器提供共享存储器上存储的详细影片清单,用户通过网页浏览器访问Web服务器,挑选点击想观看的影片。
b.Web服务器接受用户的请求,并查询影片数据库,根据CPU利用率和该影片的储存状况来调度选择一台真实服务器。
c.真实服务器依据自身的负载情况,包括服务连接数,性能状况来决定是访问自身的存储器还是访问共享存储器来提供给用户高质量的流媒体服务。
权利要求
1.一种基于集群均衡负载的流媒体服务器系统,包括前端调度机(1)、n台真实服务器(21、22、……、2n)和共享存储器(3),其中,1≤n≤32;前端调度机(1)用于提供用户访问的交互界面和系统管理员的管理入口;端调度机接收到用户的视频点播请求后,根据当前各个真实服务器的状态,选择其中一台负载最小的真实服务器为用户提供流媒体服务;真实服务器(1、22、……、2n)用于接收前端调度机转交的视频点播请求后为用户提供流媒体服务,同时统计本地CPU、内存、网络带宽的利用率并将这些信息存于本地数据库中;系统空闲时,根据前端调度机提供的热点影片信息从共享存储器复制影片副本到真实服务器的本地存储器;共享存储器(3)用于存储流媒体服务系统中全部影片的媒体文件,为真实服务器提供媒体文件的存取访问。
2.根据权利要求1所述的流媒体服务器系统,其特征在于前端调度机(1)包括用户界面模块(11)、Web服务器模块(12)、服务器调度模块(13)、系统安装配置模块(14)、用户管理模块(15)、媒体管理模块(16)、节目热点管理模块(17)、数据库设计模块(18)和系统监控显示模块(19);用户界面模块(11)用于提供服务器与用户交互的界面;Web服务器模块(12)接收上层用户界面模块11传递下来的用户注册或登陆信息后,调用提供用户管理模块(15)对用户进行管理,调用媒体管理模块(16)和热点管理模块(17)对影片进行管理;服务器调度模块(13)用于接收来自Web服务器模块(12)的用户视频点播请求信息和影片副本信息,并根据系统监控显示模块(19)提供的系统中各个真实服务器的负载信息,根据负载均衡调度算法得到适当的真实服务器地址,并提供给用户;再将用户的流媒体服务请求发送给真实服务器(21);系统安装配置模块(14)用于根据管理员设置好的安装配置文件,启动安装用户界面模块(11)、Web服务器模块(12)和数据库设计模块(18);数据库设计模块(18)定义用户管理模块(15)、媒体管理模块(16)和节目热点管理模块(17)所需的用户信息、影片信息和服务器信息;用户管理模块(15)用于提供用户注册,对用户进行认证授权,将注册或登录成功与否的信息返回给Web服务器模块(12)显示;对于管理员,用户管理模块(15)还提供用户或用户组的创建、删除和更新系统配置;媒体管理模块(16)用于向管理员提供多媒体文件的管理功能,并将操作成功与否的信息通过Web服务器模块(12)显示给管理员;节目热点管理模块(17)用于实时记录用户的请求,计算影片节目的热度值,并将热点影片的影片信息发送给Web服务器模块(12)显示,热点影片的副本复制由节目热点管理模块(17)调用节目复制模块完成,然后新的影片副本信息发送给媒体管理模块(16);系统监控显示模块(19)用于将系统信息可视化显示给管理员,并将各个真实服务器的服务状态发送给服务器调度模块(13)用于任务调度。
3.根据权利要求2所述的流媒体服务器系统,其特征在于服务器调度模块(13)按照下述步骤对流媒体服务的任务调度①接受客户端通过http请求传入的影片文件编号;②查看哪些真实服务器的本地磁盘上有被请求的文件,设这些真实服务器组成集合为M;③根据公式(1)计算M中所有真实服务器的负载能力C,如果M为空,从所有真实服务器中选择C值最大的真实服务器提供服务,同时将文件所在位置设为nd;否则,选择C值最大的真实服务器为当前请求提供服务,然后将文件所在位置设为1d;④根据影片文件编号得到文件名,并记录影片点击情况;⑤将由真实服务器的IP地址、影片文件所在位置和文件名三者一起构成的rtsp地址返回给客户端,客户端使用这个地址和被选出的真实服务器直接交互,获取数据;Ci=Wi*(1-UCPU*WCPU)*(1-UMEM*WMEM)*(1-UI/O*WI/O) (1)其中Wi代表第i个真实服务器的权重系数,UCPU、UMEM、UI/O分别代表CPU、内存、网络带宽的利用率,WCPU、WMEM、WI/O则分别代表上述三项指标的权重系数。
4.根据权利要求2或3所述的流媒体服务器系统,其特征在于各真实服务器(1、22、……、2n)均包括流媒体服务器模块、流媒体服务监控模块、节目复制模块、数据库服务器模块、系统监控伺服模块和用于存放热点影片副本的本地存储器;流媒体服务器模块用于接收服务器调度模块(13)提供的用户的流媒体服务请求,从本地存储器或共享存储器(3)读取影片文件,提供给用户,并将用户名、请求影片名和服务节点名提供给流媒体服务监控模块;流媒体服务监控模块用于监控流媒体服务器的软硬件环境,将信息提供给系统监控伺服模块;节目复制模块用于从共享存储器复制热点影片节目到各个真实服务器本地存储器上;数据库服务模块用于建立用户管理数据库和影片管理数据库,数据格式由数据库设计模块(18)定义;系统监控伺服模块根据流媒体服务监控模块提供的服务器负载信息对伺服对象进行监控,所得监控信息输送给上层前端调度机(1)的系统监控显示模块(19)。
全文摘要
本发明公开了一种基于集群均衡负载的流媒体服务器系统,包括前端调度机、n台真实服务器和共享存储器;前端调度机用于提供用户访问的交互界面和系统管理员的管理入口;根据当前各真实服务器的状态,选择负载最小的为用户提供服务;真实服务器用于接收前端调度机转交的视频点播请求后为用户提供流媒体服务,同时统计利用率并存于本地数据库中;系统空闲时,根据热点影片信息从共享存储器复制影片副本到真实服务器的本地存储器。本发明可以实时监控和远程管理,提供有保障的高质量流媒体服务;对热点影片分布式存储和普通影片集中式存储,有效地降低了对共享存储器的访问频率;采用动态调度算法,动态实时监测到各个真实服务器当前的服务情况。
文档编号H04L29/08GK1972311SQ200610125390
公开日2007年5月30日 申请日期2006年12月8日 优先权日2006年12月8日
发明者金海 , 邵志远, 李胜利, 陈冠华, 赵俊, 李建军, 韦民, 于集冬 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1