一种实时课堂流媒体直播负载分配方法与流程

文档序号:11960137阅读:759来源:国知局
一种实时课堂流媒体直播负载分配方法与流程

本发明涉及流媒体直播领域,且特别涉及一种实时课堂流媒体直播负载分配方法。



背景技术:

随着互联网的发展,利用网络进行流媒体直播或点播逐渐成为一种趋势,慢慢融入到人们的日常生活中,在工作、学习以及娱乐等各个方面形成热点,无论是视频会议、在线教育还是网络电视、视频网站都应用的越来越广泛。流媒体(Stream Media)是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前不需要下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使流媒体数据正确地输出,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片段,然后依次把这些片段发给用户,连续播放这些片段就形成了连续的声音和图像。

流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或者几十秒的启动延时即可再用户的计算机上利用解压设备对压缩的多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动时间大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。目前,流媒体技术已经广泛应用在互联网领域中。

传统的网络流媒体播放系统一般基于C/S模式,但是由于流媒体播放需要消耗大量的网络带宽和服务器资源,因此这种模式严重限制了网络流媒体业务的发展。以一个占用带宽为300kbps的网络视频流为例,当有1000个用户同时观看时,需要的带宽是300Mbps。这样的性能要求对于大多数服务器来说是满足不了的。如果要支持几万甚至几十万的用户,采用这种C/S模式几乎是不可能的。增加服务器数量和提高带宽是一种解决方法,将不同的用户分配连接到不同的服务器,从而降低单台服务器的负载,通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求,也就是常说的负载均衡技术。

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元(例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等),既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中的一个。

nginx第一个公开版本发布于2004年,2011年发布了1.0版本。它的特点是稳定性高、功能强大、资源消耗低,从其目前的市场占有而言,nginx大有与apache抢市场的势头。其中不得不提到的一个特性就是其负载均衡功能,这也成了很多公司选择它的主要原因。

对于在线教育的流媒体直播领域而言,与一般的流媒体直播技术相比有一定的区别,有其特殊性,对于特定的某一课堂来说,需要将相关用户尽量分配到同一台服务器上,以保证该课堂直播的同步性和稳定性,使得同一课堂的用户都具有相同的观看环境,本发明正是为了解决这一问题所提出的技术方案。



技术实现要素:

本发明提出一种实时课堂流媒体直播负载分配方法,能够将特定课堂的用户终端分配到同一台服务器上,保证该课堂直播的同步性和稳定性。

为了达到上述目的,本发明提出一种实时课堂流媒体直播负载分配方法,包括下列步骤:

当第一台用户终端上线时,负载分配服务器控制Nginx服务器将所述第一台用户终端分配连接到某一台课堂服务器上;

所述负载控制服务器记录用户终端连接课堂服务器的信息,并生成分配策略信息;

所述负载分配服务器向负载控制服务器请求并缓存所述分配策略信息;

当有新的用户终端上线时,所述负载分配服务器根据其缓存的分配策略信息通过所述Nginx服务器将新上线的用户终端分配连接到相应的课堂服务器上。

进一步的,所述用户终端的信息包括课堂ID和用户ID。

进一步的,所述分配策略信息还包括将同一课堂ID的用户终端分配到同一台课堂服务器上。

进一步的,当新上线用户终端的课堂ID与已分配课堂服务器的课堂ID都不相同时,将其分配连接到另外一台课堂服务器上。

进一步的,所述负载控制服务器根据学校ID判断是否将该学校学生的用户终端都连接到同一台课堂服务器上。

进一步的,所述负载控制服务器通过WEB服务器下载学校ID与课堂服务器的绑定数据。

本发明提出的实时课堂流媒体直播负载分配方法,使用负载分配服务器通过Nginx服务器将课堂ID相同的用户终端分配连接到相同的课堂服务器,从而将特定课堂的用户终端分配到同一台服务器上,保证该课堂直播的同步性和稳定性,使得同一课堂的用户都具有相同的观看环境。

附图说明

图1所示为本发明较佳实施例的实时课堂流媒体直播负载分配方法流程图。

图2所示为本发明较佳实施例的实时课堂流媒体直播负载分配系统结构图。

具体实施方式

以下结合附图给出本发明的具体实施方式,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。

请参考图1和图2,图1所示为本发明较佳实施例的实时课堂流媒体直播负载分配方法流程图,图2所示为本发明较佳实施例的实时课堂流媒体直播负载分配系统结构图。本发明提出一种实时课堂流媒体直播负载分配方法,包括下列步骤:

步骤S100:当第一台用户终端上线时,负载分配服务器控制Nginx服务器将所述第一台用户终端分配连接到某一台课堂服务器上;

步骤S200:所述负载控制服务器记录用户终端连接课堂服务器的信息,并生成分配策略信息;

步骤S300:所述负载分配服务器向负载控制服务器请求并缓存所述分配策略信息;

步骤S400:当有新的用户终端上线时,所述负载分配服务器根据其缓存的分配策略信息通过所述Nginx服务器将新上线的用户终端分配连接到相应的课堂服务器上。

根据本发明较佳实施例,所述用户终端500的信息包括课堂ID和用户ID,其中用户ID用于标明用户终端500的身份信息,课堂ID用于标明用户终端当前加入的课堂信息。

所述分配策略信息还包括将同一课堂ID的用户终端500分配到同一台课堂服务器100上,课堂ID相同的用户终端500表明其所加入的课堂是相同的,将他们分配到同一台课堂服务器100上,以保证同一课堂用户终端500的服务器环境相同。当第一台用户终端500上线时,负载控制服务器200尚未生成分配策略信息,判断当前用户终端500的课堂ID为首次出现,通过负载分配服务器300控制Nginx服务器400将当前用户终端500分配连接到某一台课堂服务器100上;所述负载控制服务器200记录用户终端500连接课堂服务器100的信息,并生成分配策略信息,即当前课堂ID的用户终端500连接的课堂服务器100信息;负载分配服务器300向负载控制服务器200请求并缓存所述分配策略信息,当有新的用户终端500上线时,若其课堂ID与之前分配的用户终端500的课堂ID相同时,通过Nginx服务器400将当前用户终端分配到相同的课堂服务器100。

进一步的,当新上线用户终端500的课堂ID与已分配课堂服务器100的课堂ID都不相同时,将其分配连接到另外一台课堂服务器100上,不同的课堂ID表明当前用户终端500所加入的课堂与已分配的用户终端500的课堂并不相同,需要为其分配连接到另外一台课堂服务器100上,此时需要获取分配策略信息,若当前课堂ID是第一次出现时,Nginx服务器400为当前用户终端500分配一个新的课堂服务器100,Nginx服务器400反馈分配情况给负载分配服务器300,更新并记录分配策略信息到负载控制服务器200;若当前课堂ID并不是第一次出现时,负载分配服务器300根据从负载控制服务器200缓存的分配策略信息,通过Nginx服务器400将用户终端500分配连接到相应的课堂服务器100。

根据本发明较佳实施例,所述负载控制服务器200根据学校ID判断是否将该学校学生的用户终端500都连接到同一台课堂服务器100上。所述用户终端500的信息还包括学校ID,属于同一所学校的用户终端500具有相同的学校ID,所述负载控制服务器200首先判断当前用户终端500的学校ID是否属于预先设置的特殊学校,若当前用户终端500的学校ID属于特殊学校时,将其分配到特定的课堂服务器100,之后具有相同学校ID的用户终端500也全部分配连接到这台特定的课堂服务器100上。

进一步的,所述负载控制服务器200通过WEB服务器600下载学校ID与课堂服务器100的绑定数据。负载控制服务器200通过WEB服务器600获取特殊学校的学校ID并将其与特定的课堂服务器100绑定,后续根据上线的用户终端500的学校ID来判断是否将其分配到特定的课堂服务器100。

所有课堂服务器100向负载控制服务器200上报服务器在线情况,当有课堂服务器100离线时,负载控制服务器200会将新上线的用户终端500分配连接到其他的课堂服务器100,已经分配到离线服务器的用户终端500同样会重新分配课堂服务器100。

综上所述,本发明提出的实时课堂流媒体直播负载分配方法,使用负载分配服务器通过Nginx服务器将课堂ID相同的用户终端分配连接到相同的课堂服务器,从而将特定课堂的用户终端分配到同一台服务器上,保证该课堂直播的同步性和稳定性,使得同一课堂的用户都具有相同的观看环境。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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