一种媒体分发级联方法及系统与流程

文档序号:11234703阅读:444来源:国知局
一种媒体分发级联方法及系统与流程

【技术领域】

本发明涉及一种媒体分发级联方法及系统。



背景技术:

一个媒体分发服务器受限于硬件条件,其所能分发的会话数量总是有限的,但是,在某些场景下,一个会议可能需要分发上千,甚至上万的会话量,但是,受限于但单个服务器性能的影响,使得分发会话量达到瓶颈,无法满足会议需求。这就导致音频流、视频流在传输过程中出现丢包问题,因此,视频画面出现马赛克、花屏等,声音模糊、卡顿等,造成较差用户体检。

现有对于媒体分发会话量的需求是越来越大,有鉴于此,本发明申请人提出一种媒体服务器级联的方法,有效提高分发的数量级。



技术实现要素:

本发明要解决的技术问题之一,在于提供一种媒体分发级联方法,其有效提高单个会议的媒体分发能力,可以通过不断地级联媒体分发服务器,达到有效增加媒体分发能力。

本发明是这样解决上述技术问题之一的:

技术方案一:

一种媒体分发级联方法,包括如下步骤:

步骤1、将所有的媒体服务器都注册到同一个媒体管理器上,媒体管理器获得各个媒体服务器上的可用资源量;

步骤2、所述媒体管理器接收第三方应用程序请求调用媒体服务器的指令,得到所述第三方应用程序请求资源的大小,判断可用资源最大的媒体服务器是否能满足所述请求资源,若能,则直接由可用资源最大的媒体服务器分发所述请求的会话数量,源终端与可用资源最大的媒体服务器进行桥接,源终端上需要传输的媒体流通过该桥被送到可用资源最大的媒体服务器上,再分发到各个终端上,同时,媒体管理器更新各媒体服务器的可用资源量;若不能,则触发级联,进入步骤3;

步骤3、所述级联具体为:将可用资源最大的媒体服务器作为主服务器,其他媒体服务器作为级联子服务器,各级联子服务器分别与所述主服务器进行桥接;

步骤4、所述媒体管理器将所述请求资源分配给所述主服务器和至少一个所述级联子服务器,被分配的级联子服务器的数量由所述请求资源的大小决定;分配完成后,所述媒体管理器更新各媒体服务器的可用资源数量;

步骤5、所述主服务器和级联子服务器根据媒体管理器的分配规则通过该桥接收来自源终端数据流,然后再分发至各个终端上。

更优地,所述媒体管理器根据各个媒体服务器上的可用资源量的大小将各个媒体服务器按照从大到小的顺序进行排序。

更优地,所述桥接为建立一个rtp通路,所述rtp为实时传输协议。

更优地,所述步骤4中,所述媒体管理器的分配规则为:分配给所述主服务器上的请求资源等于所述主服务器的最大可用资源的数量,然后,未分配的剩余请求资源分配给可用资源数量最大的级联子服务器,若能满足需求,直接分配剩余请求资源,若还是不能满足需求,按照优先选择可用资源数量大的级联子服务器的原则,进行再次分配,直至请求资源完全被分配。

本发明要解决的技术问题之二,在于提供一种媒体分发级联系统。

本发明是这样解决上述技术问题之二的:

技术方案二:

一种媒体分发级联系统,包括一注册模块、一资源分配模块、一级联模块、一级联分配模块以及一数据流传输模块;

所述注册模块将所有的媒体服务器都注册到同一个媒体管理器上,媒体管理器获得各个媒体服务器上的可用资源量;

所述资源分配模块用于执行以下内容:所述媒体管理器接收第三方应用程序请求调用媒体服务器的指令,得到所述第三方应用程序请求资源的大小,判断可用资源最大的媒体服务器是否能满足所述请求资源,若能,则直接由可用资源最大的媒体服务器分发所述请求的会话数量,源终端与可用资源最大的媒体服务器进行桥接,源终端上需要传输的媒体流通过该桥被送到可用资源最大的媒体服务器上,再分发到各个终端上,同时,媒体管理器更新各媒体服务器的可用资源量;若不能,则触发级联,通过所述级联模块完成级联;

所述级联模块用于执行如下步骤:所述媒体管理器将可用资源最大的媒体服务器作为主服务器,其他媒体服务器作为级联子服务器,各级联子服务器分别与所述主服务器进行桥接;

所述级联分配模块用于执行如下步骤:所述媒体管理器将所述请求资源分配给所述主服务器和至少一个所述级联子服务器,被分配的级联子服务器的数量由所述请求资源的大小决定;分配完成后,所述媒体管理器更新各媒体服务器的可用资源数量;

所述数据流传输模块用于执行如下步骤:所述主服务器和级联子服务器根据媒体管理器的分配规则通过该桥接收来自源终端数据流,然后再分发至各个终端上。

更优地,所述媒体管理器根据各个媒体服务器上的可用资源量的大小将各个媒体服务器按照从大到小的顺序进行排序。

更优地,所述桥接为建立一个rtp通路,所述rtp为实时传输协议。

更优地,所述级联分配模块中,所述媒体管理器执行的分配规则为:分配给所述主服务器上的请求资源等于所述主服务器的最大可用资源的数量,然后,未分配的剩余请求资源分配给可用资源数量最大的级联子服务器,若能满足需求,直接分配剩余请求资源,若还是不能满足需求,按照优先选择可用资源数量大的级联子服务器的原则,进行再次分配,直至请求资源完全被分配。

本发明具有如下优点:

在发明通过将所有媒体服务器注册到媒体管理器上,再由媒体管理器进行资源分配,当一个媒体服务器不能满足分发需求时,则触发级联,使得多个媒体服务器能够协同操作,达到媒体分发的会话数能有效的提高。而媒体管理器对外抽象,使得上层对媒体的调用都统一到媒体管理器,有效的提高对媒体分发服务器的管理。而当第三方应用对媒体的调用,都走的媒体管理器,不需要去知悉有多少个媒体服务器。

本发明能够有效增加单个会议的媒体分发能力,可以通过不断地级联媒体服务器来达到有效的媒体分发能力的提高。同时,本发明所有媒体请求都走媒体管理器,媒体管理器可以达到一定的资源分配,并可以实现相关的负责均衡支持,对媒体服务器的管理更加方便。

【附图说明】

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明级联框架示意图。

图2为本发明级联触发后的示意图。

图3为本发明级联资源计算示意图。

【具体实施方式】

请参阅图1至图3所示,对本发明的实施例进行详细的说明。图1和图2中粗连接线表示管理交互,细连接线表示级联流向。

请参阅图1,一种媒体分发级联方法,包括如下步骤:

步骤1、将所有的媒体服务器都注册到同一个媒体管理器上,媒体管理器获得各个媒体服务器上的可用资源量;

步骤2、所述媒体管理器接收第三方应用程序请求调用媒体服务器的指令,得到所述第三方应用程序请求资源的大小,判断可用资源量最大的媒体服务器是否能满足所述请求资源,若能,则直接由可用资源最大的媒体服务器分发所述请求资源,源终端与可用资源量最大的媒体服务器进行桥接,源终端上需要传输的媒体流通过该桥被送到可用资源最大的媒体服务器上,再分发到各个终端上,同时,媒体管理器更新各媒体服务器的可用资源量;若不能,则触发级联,进入步骤3;

步骤3、重点请参阅图2,所述级联具体为:将可用资源最大的媒体服务器作为主服务器,其他媒体服务器作为级联子服务器,各级联子服务器分别与所述主服务器进行桥接;

步骤4、所述媒体管理器将所述请求资源分配给所述主服务器和至少一个所述级联子服务器,被分配的级联子服务器的数量由所述请求资源的大小决定;分配完成后,所述媒体管理器更新各媒体服务器的可用资源数量;

步骤5、所述主服务器和级联子服务器根据媒体管理器的分配规则通过该桥接收来自源终端数据流,然后再分发至各个终端上。

较佳地,所述媒体管理器根据各个媒体服务器上的可用资源量的大小将各个媒体服务器按照从大到小的顺序进行排序。使用rtp建立桥接,优势是可以最大程度降低延迟。

所述步骤4中,所述媒体管理器的分配规则为:分配给所述主服务器上的请求资源等于所述主服务器的最大可用资源的数量,然后,未分配的剩余请求资源分配给可用资源数量最大的级联子服务器,若能满足需求,直接分配剩余请求资源,若还是不能满足需求,按照优先选择可用资源数量大的级联子服务器的原则,进行再次分配,直至请求资源完全被分配。由于媒体管理器根据各个媒体服务器上的可用资源量的大小将各个媒体服务器按照从大到小的顺序进行排序,因此,选择的即连服务器也会根据可用会话数量一次降低。

将上述方法应用于会议场景时,所述可用资源量可具体为可用会话数量,所述请求资源可具体为请求的会话数量。请参阅图3,当一个会议发出会话请求,媒体管理器计算出需要分发的会话数,当可用会话数最大的媒体服务器不能满足需求时,则触发级联,以需要分发800个会话为例,当可用会话数最大的媒体服务器a的可用会话量为400时,则触发级联,将媒体服务器a作为主服务器,将其余媒体服务器作为级联子服务器,以三个级联子服务器为例,级联子服务器b(300)、级联子服务器c(200)以及级联子服务器d(100)为例,括号中表示可用会话数量,媒体管理器将剩余的400各未分配的会话中300个会话分配给级联子服务器b,100个会话分配给级联子服务器c,然后媒体管理会更新当前个媒体服务器的可用会话数量:媒体服务器a为0,媒体服务器b为0,级联子服务器c为100,级联子服务器为d为100。800个会话(即数据流)通过rtp通道送到主服务器a,其中400个会话由主服务器a分发,300个会话通过主服务器a与级联服务器b之间的rtp通道送到级联服务器b,由级联服务器b分发,100个会话通过主服务器a与级联服务器c之间的rtp通道送到级联服务器c,由级联服务器b分发。

如果总的媒体服务器的可用资源量不足,则会返回给第三方应用。

在本实施例中,通过将所有媒体服务器注册到媒体管理器上,再由媒体管理器进行资源分配,当一个媒体服务器不能满足分发需求时,则触发级联,使得多个媒体服务器能够协同操作,达到媒体分发的会话数能有效的提高。而媒体管理器对外抽象,使得上层对媒体的调用都统一到媒体管理器,有效的提高对媒体分发服务器的管理。而当第三方应用对媒体的调用,都走的媒体管理器,不需要去知悉有多少个媒体服务器。

实施例二、

一种媒体分发级联系统,包括一注册模块、一资源分配模块、一级联模块、一级联分配模块以及一数据流传输模块;

所述注册模块将所有的媒体服务器都注册到同一个媒体管理器上,媒体管理器获得各个媒体服务器上的可用资源量;所述媒体管理器根据各个媒体服务器上的可用资源量的大小将各个媒体服务器按照从大到小的顺序进行排序;

所述资源分配模块用于执行以下内容:所述媒体管理器接收第三方应用程序请求调用媒体服务器的指令,得到所述第三方应用程序请求资源的大小,判断可用资源最大的媒体服务器是否能满足所述请求资源,若能,则直接由可用资源最大的媒体服务器分发所述请求的会话数量,源终端与可用资源最大的媒体服务器进行桥接,源终端上需要传输的媒体流通过该桥被送到可用资源最大的媒体服务器上,再分发到各个终端上,同时,媒体管理器更新各媒体服务器的可用资源量;若不能,则触发级联,通过所述级联模块完成级联;所述桥接为建立一个rtp通路,所述rtp为实时传输协议;

所述级联模块用于执行如下步骤:所述媒体管理器将可用资源最大的媒体服务器作为主服务器,其他媒体服务器作为级联子服务器,各级联子服务器分别与所述主服务器进行桥接;

所述级联分配模块用于执行如下步骤:所述媒体管理器将所述请求资源分配给所述主服务器和至少一个所述级联子服务器,被分配的级联子服务器的数量由所述请求资源的大小决定;分配完成后,所述媒体管理器更新各媒体服务器的可用资源数量;所述媒体管理器执行的分配规则为:分配给所述主服务器上的请求资源等于所述主服务器的最大可用资源的数量,然后,未分配的剩余请求资源分配给可用资源数量最大的级联子服务器,若能满足需求,直接分配剩余请求资源,若还是不能满足需求,按照优先选择可用资源数量大的级联子服务器的原则,进行再次分配,直至请求资源完全被分配。

所述数据流传输模块用于执行如下步骤:所述主服务器和级联子服务器根据媒体管理器的分配规则通过该桥接收来自源终端数据流,然后再分发至各个终端上。

本发明能够有效增加单个会议的媒体分发能力,可以通过不断地级联媒体服务器来达到有效的媒体分发能力的提高。同时,本发明所有媒体请求都走媒体管理器,媒体管理器可以达到一定的资源分配,并可以实现相关的负责均衡支持,对媒体服务器的管理更加方便。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

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