一种RTMP集群系统可动态配置方法及装置与流程

文档序号:12477578阅读:518来源:国知局
一种RTMP集群系统可动态配置方法及装置与流程

本发明涉及实时消息传输技术领域,特别是涉及一种RTMP集群系统可动态配置方法及装置。



背景技术:

随着4G网络和智能手机的不断推广使用,直播类系统如雨后春笋般涌现出来,直播平台的流媒体的终端大多都是使用RTMP协议来推送直播的媒体流。而运营此类节目的公司一般又是通过租用或自建CDN来达到媒体流的全网传输。

随着企业应用的不断发展,直播类系统在大型集团内部的应用需求也越来越高,但是一般公司都不具备CDN的网络环境,大多采取分布式部署的方式将资源进行适当分散,而现有成熟的RTMP系统都不能很好的支持集群。目前的集群模式几乎无一例外的采用源服务器(Origin server)-边服务器(Edge Server)模式,边服务器可以增加多台,但是源服务器只能有1台,而且源服务器出现故障,这会导致整个直播中断。



技术实现要素:

本发明的目的是提供一种RTMP集群系统可动态配置方法及装置,目的在于解决现有技术中源服务器出现故障导致整个传输中断的问题。

为解决上述技术问题,本发明提供一种RTMP集群系统可动态配置方法,包括:

实时检测各RTMP服务器的运行状态信息;

当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;

将剩余边服务器的RTMP连接指向到所述当前源服务器;

将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。

可选地,所述实时检测各RTMP服务器的运行状态信息包括:

各所述RTMP服务器每隔预设时间间隔将采集到的运行状态信息进行上传。

可选地,还包括:

当检测到边服务器出现故障时,将发生故障的边服务器上连接的用户重新分发到其他服务器上,并与现有源服务器重新建立RTMP连接。

可选地,所述在剩余边服务器中选择其一作为当前源服务器包括:

在剩余边服务器中选择负载最少的边服务器作为所述当前源服务器。

可选地,在所述实时检测各RTMP服务器的运行状态信息之前还包括:

预先对各所述RTMP服务器进行注册,并存储所述RTMP服务器的状态信息。

本发明还提供了一种RTMP集群系统可动态配置装置,包括:

运行状态检测模块,用于实时检测各RTMP服务器的运行状态信息;

切换模块,用于当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;

指向模块,用于将剩余边服务器的RTMP连接指向到所述当前源服务器;

连接建立模块,用于将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。

可选地,所述运行状态检测模块具体用于:

各所述RTMP服务器每隔预设时间间隔将采集到的运行状态信息进行上传。

可选地,还包括:

边服务器故障处理模块,用于当检测到边服务器出现故障时,将发生故障的边服务器上连接的用户重新分发到其他服务器上,并与现有源服务器重新建立RTMP连接。

可选地,所述切换模块具体用于:

在剩余边服务器中选择负载最少的边服务器作为所述当前源服务器。

可选地,还包括:

注册模块,用于在实时检测各RTMP服务器的运行状态信息之前,预先对各所述RTMP服务器进行注册,并存储所述RTMP服务器的状态信息。

本发明所提供的RTMP集群系统可动态配置方法及装置,通过实时检测各RTMP服务器的运行状态信息;当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;将剩余边服务器的RTMP连接指向到当前源服务器;将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。通过本发明所提供的动态可配置的RTMP集群,解决了RTMP集群硬配置无法动态调整、单一源服务器情况下出现故障无法动态切换的问题。在企业大规模使用中,无需构建CDN网络,通过简单几个节点的分布式部署就可达到类似CDN的分发效果,大大地节省了建设成本,缩短了建设周期。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的RTMP集群系统可动态配置方法的一种具体实施方式的流程图;

图2为本发明所提供的RTMP集群系统可动态配置方法的配置过程示意图;

图3为本发明所提供的RTMP集群系统可动态配置方法的处理过程示意图;

图4为本发明所提供的RTMP集群系统可动态配置方法RTMP连接建立过程示意图;

图5为本发明所提供的RTMP集群系统可动态配置方法的另一种具体实施方式示意图;

图6为本发明所提供的RTMP集群系统可动态配置方法的又一种具体实施方式示意图;

图7为本发明实施例提供的RTMP集群系统可动态配置装置的结构框图。

具体实施方式

本发明的核心是提供一种RTMP集群系统可动态配置方法及装置。本发明中RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Flash Media Server/Red5等。

另外,CDN是ContentDeliveryNetwork(内容分发网络)的首字母缩写。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的RTMP集群系统可动态配置方法的一种具体实施方式的流程图如图1所示,该方法包括:

步骤S101:实时检测各RTMP服务器的运行状态信息;

步骤S102:当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;

步骤S103:将剩余边服务器的RTMP连接指向到所述当前源服务器;

步骤S104:将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。

本发明所提供的RTMP集群系统可动态配置方法及装置,通过实时检测各RTMP服务器的运行状态信息;当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;将剩余边服务器的RTMP连接指向到当前源服务器;将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。通过本发明所提供的动态可配置的RTMP集群,解决了RTMP集群硬配置无法动态调整、单一源服务器情况下出现故障无法动态切换的问题。在企业大规模使用中,无需构建CDN网络,通过简单几个节点的分布式部署就可达到类似CDN的分发效果,大大地节省了建设成本,缩短了建设周期。

在上述实施例的基础上,本发明所提供的RTMP集群系统可动态配置方法中步骤S101实时检测各RTMP服务器的运行状态信息可以具体为:

各所述RTMP服务器每隔预设时间间隔将采集到的运行状态信息进行上传。

本实施例在所述实时检测各RTMP服务器的运行状态信息之前还可以进一步包括:

预先对各所述RTMP服务器进行注册,并存储所述RTMP服务器的状态信息。

以系统中存在3个RTMP服务器为例,这3个服务启动时都会向流媒体服务调度系统发送注册请求,请求成功后,流媒体服务器调度系统会记录下这3台服务器的状态,同时这三台服务器还会根据设置每隔一段时间(默认5s)向调度服务器发出信息,以告知流媒体调度服务器自己的状态。

请参照图2本发明所提供的RTMP集群系统可动态配置方法的配置过程示意图,各RTMP服务器收集配置参数信息,向调度系统发送配置信息。调度系统对流媒体进行调度服务,并启动节点配置信息。

以视频直播为例,当用户使用视频直播时需要由管理员先创建一个Room(房间),并设置该房间的主人,只有主人可以指定视频发起人,管理员创建房间时可以手动设置源服务器,也可以根据视频发起人的IP系统自行设置源服务器。

当用户登录房间时会根据用户IP和身份通过流媒体调度服务分配到不同的节点上。如图3本发明所提供的RTMP集群系统可动态配置方法的处理过程示意图所示。该过程包括:从调度系统获取相关节点配置信息;流媒体调度系统返回房间配置信息;并判断是否指定源服务器;如果是,则获取指定的服务器配置信息;如果否,则根据发起用户IP选择距离最近的服务器配置服务。然后,通知源服务器以及边服务器的节点信息,并建立RTMP连接。

请参照图4本发明所提供的RTMP集群系统可动态配置方法RTMP连接建立过程示意图。当用户进入房间时,首先判断是否为视频发起人。如果是,则分配到源服务器上;如果否,则根据各服务器负载进行分发到源或边服务器上。然后建立RTMP连接,进行流媒体传输。

所述在剩余边服务器中选择其一作为当前源服务器包括:

在剩余边服务器中选择负载最少的边服务器作为所述当前源服务器。

当系统运行过程中源服务器问题,调度系统会自动切换到其他负载较少的边服务器为源服务器。同时将原有出现故障的源服务器的用户重新进行分配。如图5本发明所提供的RTMP集群系统可动态配置方法的另一种具体实施方式示意图所示,当检测到源服务器出现问题时,在剩余服务器中选择一负载较轻的边服务器;将剩余边服务器RTMP连接指向到新的源服务器;与视频发起人重新建立RTMP连接;将故障源所在用户与现有服务器重新建立RTMP连接。

在上述实施例的基础上,本发明还可以进一步包括:

当检测到边服务器出现故障时,将发生故障的边服务器上连接的用户重新分发到其他服务器上,并与现有源服务器重新建立RTMP连接。

如图6本发明所提供的RTMP集群系统可动态配置方法的又一种具体实施方式示意图所示,当检测到边服务器出现问题时,将故障边服务器所在用户重新分配,并与现有服务器重新建立RTMP连接。

下面对本发明实施例提供的RTMP集群系统可动态配置装置进行介绍,下文描述的RTMP集群系统可动态配置装置与上文描述的RTMP集群系统可动态配置方法可相互对应参照。

图7为本发明实施例提供的RTMP集群系统可动态配置装置的结构框图,参照图7 RTMP集群系统可动态配置装置可以包括:

运行状态检测模块100,用于实时检测各RTMP服务器的运行状态信息;

切换模块200,用于当检测到源服务器出现故障时,在剩余边服务器中选择其一作为当前源服务器;

指向模块300,用于将剩余边服务器的RTMP连接指向到所述当前源服务器;

连接建立模块400,用于将原有出现故障的源服务器的用户与现有服务器重新建立RTMP连接。

在上述实施例的基础上,本发明所提供的RTMP集群系统可动态配置装置中运行状态检测模块100可以具体用于:

各所述RTMP服务器每隔预设时间间隔将采集到的运行状态信息进行上传。

进一步地,本发明所提供的RTMP集群系统可动态配置装置还可以包括:

边服务器故障处理模块,用于当检测到边服务器出现故障时,将发生故障的边服务器上连接的用户重新分发到其他服务器上,并与现有源服务器重新建立RTMP连接。

作为一种具体实施方式,上述切换模块200可以具体用于:

在剩余边服务器中选择负载最少的边服务器作为所述当前源服务器。

本发明所提供的RTMP集群系统可动态配置装置还可以进一步包括:

注册模块,用于在实时检测各RTMP服务器的运行状态信息之前,预先对各所述RTMP服务器进行注册,并存储所述RTMP服务器的状态信息。

通过本发明所提供的RTMP集群系统可动态配置装置,解决了RTMP集群硬配置无法动态调整、单一源服务器情况下出现故障无法动态切换的问题。在企业大规模使用中,无需构建CDN网络,通过简单几个节点的分布式部署就可达到类似CDN的分发效果,大大地节省了建设成本,缩短了建设周期。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的RTMP集群系统可动态配置方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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