一种流媒体服务器负载动态分配方法与流程

文档序号:14010537阅读:530来源:国知局

本发明涉及视频联网系统领域,具体地,涉及一种流媒体服务器负载动态分配方法。



背景技术:

作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。在视频联网系统应用中,流媒体服务器承载的业务主要是直播、录像、点播功能,随着用户数的增加,对流媒体服务器提供服务的能力有了很高的要求,一台高性能的服务器一般只支持几千个并发连接,不能满足大量用户的访问,为了解决这个问题一般采取服务器集群和负载均衡来满足用户并发性需求。

在服务器集群中,如果不对各台服务器的负载状况进行监控,不依据负载状况对新的客户请求进行合理调度,就会产生各台服务器负载不均衡的情况,以至于部分服务器过载,而另一部分服务器空闲。过载的服务器会拒绝新的分配给它的客户端请求,而空闲的服务器却无法对客户端进行服务。使得服务器集群的效率大大降低。所以,在当前服务器集群中,都采用了负载均衡技术。通过对各个服务器的负载状况进行监控,对新到来的客户请求依据服务器负载总进行合理的调度。然而,由于这种技术不对客户端的请求内容进行分析,单纯依靠服务器的负载状况进行调度,不能很好的依据流媒体服务器当前承载的各种业务情况进行动态均衡分配。

综上所述,本申请发明人在实现本申请发明技术方案的过程中,发现上述技术至少存在如下技术问题:

(1)只是单纯的按照服务器本身的cpu或者总负载进行分配,不能实时了解服务器的负载状态,导致各台服务器实际负载不均;(2)只是按照服务器最大连接数进行分配,没有按照实际承载的业务权重进行动态分配;(3)只针对一种业务,对多种业务融合的应用来说需要多台负载均衡器,大大增加了成本。



技术实现要素:

本发明提供了一种流媒体服务器负载动态分配方法,解决了现有的不足,该方法能够基于用户终端请求的内容进行分析,对流媒体承担的直播、点播、录像、报警预录等多种业务进行动态负载均衡分配,同时可以动态的监控流媒体服务器的负载状态,以便达到以最小的资源开销,稳定高效的完成各项业务的目的。

为实现上述发明目的,本申请提供了一种流媒体服务器负载动态分配方法,所述方法包括:

步骤1:用户终端向管理服务器请求流媒体服务器地址;

步骤2:判断请求的子设备是否已打开,若已打开,则分配打开该子设备的流媒体服务器;若该子设备没有打开,则进行步骤3;

步骤3:判断该子设备所对应的预设设备是否已打开,若预设设备已打开,并没有超过最大负载,则分配打开该设备的流媒体服务器,若预设设备没有打开或超过最大负载,则进行步骤4;分配服务器指的是从多台流媒体服务器中按照负载均衡的原则选择一台流媒体服务器给用户终端。

步骤4:从当前在线流媒体服务器中寻找一个总负载最小的流媒体服务器进行分配;流媒体服务器的总负载=录像数目*第一负载加权+点播数目*第二负载加权+直播数目*第三负载加权。

其中,本方法的特点为:采用了负载均衡动态分配策略,管理服务器实时的获取流媒体的负载信息;能够对流媒体承担的直播、点播、录像多种业务进行动态负载均衡分配;流媒体服务器的总负载=录像数目*负载加权+点播数目*负载加权+直播数目*负载加权;以前端设备为单位,管理服务器将设备状态和设备优先级作为流媒体服务器负载分配的因素进行动态均衡。

进一步的,所述方法应用于视频联网系统中,视频联网系统包括前端设备、用户终端、管理服务器、多台流媒体服务器。

进一步的,流媒体服务器具有直播、点播和录像业务,管理服务器用于监控各台流媒体服务器的负载状态,响应用户终端的业务请求,调度当前负载最低的流媒体服务器供业务终端使用。

进一步的,管理服务器定时向流媒体服务器获取负载信息,负载信息包括:

(1)流媒体能支持的子设备数目maxdevnum;

(2)已经打开的子设备数目openeddevnum;

(3)流媒体服务器所属集群id号mscsid;

(4)录像数目recordnum;

(5)录像加权recordweight;

(6)点播数目vodnum;

(7)点播加权vodweight;

(8)直播数目livenum;

(9)直播加权liveweight;

(10)设备列表集合。

进一步的,设备列表包括设备编号、设备状态、设备优先级。

进一步的,设备状态0表示关闭,1表示打开。

进一步的,设备优先级从level1至level9递减。

进一步的,对于请求点播业务,直接分配负载最小且尚满负载的流媒体服务器给用户终端。

进一步的,对于用户终端请求直播和录像业务时,管理服务器根据定时获取到的设备和负载信息进行负载判断。

进一步的,如果该设备被一个流媒体服务器打开,则分配该流媒体给用户终端;如果该设备未打开,管理服务器将设备分配到总负载最小的流媒体服务器,并将流媒体服务器地址返回给用户终端。

本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明提供一种针对流媒体实现多种业务应用负载动态分配方法,该方法能够对流媒体承担的直播、点播、录像多种业务进行动态负载均衡分配,同时可以动态的监控流媒体服务器的负载状态,以便达到以最小的资源开销,稳定高效的完成各项业务的技术效果。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定;

图1是本申请中流媒体服务器负载动态分配方法的流程示意图。

具体实施方式

本发明提供了一种流媒体服务器负载动态分配方法,解决了现有的不足,该方法能够基于用户终端请求的内容进行分析,对流媒体承担的直播、点播、录像、报警预录等多种业务进行动态负载均衡分配,同时可以动态的监控流媒体服务器的负载状态,以便达到以最小的资源开销,稳定高效的完成各项业务的目的。

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

请参考图1,本申请提供了一种流媒体服务器负载动态分配方法,应用于包括前端设备、用户终端、管理服务器、多台流媒体服务器的视频联网系统,其中流媒体服务器具有直播、点播和录像业务,其中管理服务器负责监控各台流媒体服务器的负载状态,响应用户终端的业务请求,调度当前负载最低的流媒体服务器供业务终端使用。

用户终端向管理服务器请求流媒体服务器地址。

判断请求的子设备是否已打开,如果已经打开则直接分配打开了该子设备的流媒体服务器。如果该没有打开则进行下一步。

判断该子设备所对应的设备是否打开,如果设备已经打开,并且没有超过最大负载,则分配打开了该设备的流媒体服务器,否则进行下一步。如果对应设备没有打开则进行下一步。

从当前在线流媒体服务器中找一个总负载最小的分配。

流媒体服务器的总负载=录像数目*负载加权+点播数目*负载加权+直播数目*负载加权

特别地,管理服务器定时向流媒体服务器获取负载信息,负载信息包括:流媒体能支持的子设备数目maxdevnum;已经打开的子设备数目openeddevnum;流媒体服务器所属集群id号mscsid;录像数目recordnum;录像加权recordweight;点播数目vodnum;点播加权vodweight;直播数目livenum;直播加权liveweight;

设备列表集合;

特别地设备列表包括设备编号、设备状态、设备优先级;

特别地,上述设备状态0表示关闭,1表示打开;

特别地上述设备优先级level1-9递减。

特别地,对于请求点播业务,不需要考虑打开设备的问题。直接分配负载最小且尚满负载的流媒体服务器给用户终端就行了。

特别地对于用户终端请求直播和录像业务时,需要考虑打开设备。管理服务器根据定时获取到的设备和负载信息进行负载判断。

如果该设备被一个流媒体服务器打开,则分配该流媒体给用户终端。

例如某个设备被两个流媒体服务器打开,一个优先级为5,一个优先级为3,则返回优先级为3的流媒体服务器。

如果设备未打开,管理服务器将设备分配到总负载最小的流媒体服务器,并将流媒体服务器地址返回给用户终端。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1