基于网络直播间统计信息的数据延迟方法及系统与流程

文档序号:12829638阅读:270来源:国知局

本发明涉及网络数据控制领域,具体涉及一种基于网络直播间统计信息的数据延迟方法及系统。



背景技术:

随着通信技术的发展,网络直播间已经广泛应用于人们的日常生活之中。用户进入网络直播间观看直播内容时,用户的客户端会与服务端(例如弹幕服务器)进行通信,当用户的级别较高时,服务端一般会将用户进入信息(例如提示欢迎用户进入的特权信息)加载至网络直播间。为了观看直播内容,用户会向网络直播间的服务端请求大量的直播数据(例如直播视频内容和弹幕等)。

但是,网络直播间进行直播时,会存在以下缺陷:

(1)网络直播间的用户数量会不断变动,当网络直播间的用户数量较多时、或者因“刷人气”而使得用户数量急剧增加时,会给服务端带来突发性的压力,进而可能导致服务端的cdn节点(contentdeliverynetwork,内容分发网络节点)突发崩溃;一旦cdn节点崩溃,网络直播间则会无法正常使用(例如网络直播间“爆点”)。

(2)当网络直播间的用户数量较多时,会有大量用户向服务端请求直播数据,进而急剧的增加了服务端的压力,大幅度降低了服务端的工作质量和工作效率;当服务端的压力超过服务端所能承载的负荷时,服务端可能会崩溃,进而导致网络直播间无法正常使用。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:如何根据网络直播间的用户数据,来调整服务端的资源分配。本发明能够显著降低服务端的负荷,大幅度提高服务端的工作质量和工作效率。

为达到以上目的,本发明提供的基于网络直播间统计信息的数据延迟方法,包括以下步骤:

步骤a:服务端获取网络直播间的用户数量,当网络直播间的用户数量大于人气阈值时,转到步骤b;

步骤b:获取网络直播间的房间id,服务端监测到客户端进行登录时,停止向房间id对应的网络直播间加载用户进入信息,转到步骤c;

步骤c:服务端对客户端的用户id进行延迟标识,转到步骤d;

步骤d:当附有延迟标识的客户端请求获取网络直播间的直播数据时,服务端将二级缓存后的直播数据传输至客户端;

在执行步骤b至步骤d的过程中,还包括步骤e:当网络直播间的用户数量小于等于人气阈值时,取消对客户端用户id的延迟标识,当客户端请求获取网络直播间的直播数据时,服务端将一级缓存后的直播数据传输至客户端。

本发明提供的基于网络直播间统计信息的数据延迟系统,包括位于服务端上的用户数量判定模块、用户进入信息停止加载模块、用户id标识模块、二级缓存直播数据发送模块和一级缓存直播数据发送模块;

用户数量判定模块用于:获取网络直播间的用户数量,当网络直播间的用户数量大于人气阈值时,向用户进入信息停止加载模块发送用户进入信息停止加载信号;

用户进入信息停止加载模块用于:收到用户进入信息停止加载信号后,获取网络直播间的房间id,监测到客户端进行登录时,停止向房间id对应的网络直播间加载用户进入信息,向用户id标识模块发送用户id标识信息;

用户id标识模块用于:收到用户id标识信号后,对客户端的用户id进行延迟标识,向二级缓存直播数据发送模块发送二级缓存直播数据发送信号;

二级缓存直播数据发送模块用于:收到二级缓存直播数据发送信号后,当附有延迟标识的客户端请求获取网络直播间的直播数据时,服务端将二级缓存后的直播数据传输至客户端;

一级缓存直播数据发送模块用于:在所述数据延迟系统工作的过程中,当网络直播间的用户数量小于等于人气阈值时,取消对客户端用户id的延迟标识,当客户端请求获取网络直播间的直播数据时,将一级缓存后的直播数据传输至客户端。

与现有技术相比,本发明的优点在于:

(1)参见本发明的步骤a、c和d可知,本发明在网络直播间的用户数量超过人气阈值后,对登录至网络直播间的客户端进行了延迟标识。当附有延迟标识的客户端请求获取网络直播间的直播数据(视频数据和/或弹幕数据)时,会向客户端传输二级缓存处理后的直播数据,进而显著降低服务端的压力,大幅度提高服务端的工作质量和工作效率。

与此同时,参见本发明的步骤b可知,本发明在网络直播间的用户数量超过人气阈值后,当新的客户端登录时,停止向网络直播间加载用户进入信息,进而进一步降低服务端的压力,也进一步保证了服务端的工作质量和工作效率。

进一步,参见本发明的步骤e可知,本发明当网络直播间的用户数量是否小于等于人气阈值,会取消所有对客户端用户id的延迟标识,进而让所有用户能够立即获取一级缓存的直播数据,显著提升了用户体验;

(2)本发明在停止向网络直播间加载用户进入信息后,会在客户端登录后,向客户端广播当前网络直播间的用户信息(例如由于网络直播间的用户数量已达上限的信息,因此暂停加载欢迎提示特权),进而让用户知晓用户进入信息停止加载的原因,进一步提升了用户体验。

附图说明

图1为本发明实施例中基于网络直播间统计信息的数据延迟方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的基于网络直播间统计信息的数据延迟方法,包括以下步骤:

s1:服务端实时判断网络直播间的用户数量(即人气数据)是否大于预先设定的人气阈值,若是,转到s2,否则转到s6。

s1的目的为:判断网络直播间的用户数量是否超过服务端承载的负荷,s1的实现方式为:

counvalue=newwebbarrageserver.threshold.counter.value(),其中counvalue为用户数量计数器的值;判断counvalue是否>poplog(人气阈值),若是,转到s2,否则重新执行s1。

s2:启动人气自动隐身功能:前台的web服器端(webfrontendservers)调用后台的接口(backstage),获取网络直播间的房间id(roomid),转到s3。

s2的实现方式为:backroomidbroomid=

newebfrontendservers.backstage.code();

启动网络直播间的隐身功能:

open.webfrontendservers.invisible(broomid)。

s3:加载人气自动隐身功能:当用户的客户端登录至网络直播间时(客户端与网络直播间的弹幕服务器连接),为了减轻服务端的压力,服务端停止向房间id对应的网络直播间加载用户进入信息。为了让客户端的用户知晓用户进入信息停止加载的原因,服务端向客户端广播当前网络直播间的用户信息,用户信息包括案由信息和决定信息,例如由于网络直播间的用户数量已达上限(案由信息),因此暂停加载欢迎提示特权(决定信息),转到s4。

s3的实现方式为:

客户端在连接网络直播间的弹幕服务器时(webbarrageserver),对该弹幕服务器进行标示,webbarrageserver.invisible.value(是);由于该弹幕服务器已经被标示,因此用户成功连接后,会通过标示过滤,将用户的欢迎提示/特权不进行加载;同时通过弹幕服务器时的广告通知接口(notice),向客户端发送广告通知:

show.webbarrageserver.notice.value(“人气阈值房间,暂停欢迎提示/特权!”)。

s4:对客户端的用户id进行延迟标识(人气隐身标识),实现方式为:调用弹幕服务器(webbarrageserver)中的延迟加载/连接参数(delay),根据用户id(userid),对该用户的进行人气隐身标示:barragelogobarlog=newwebbarrageserver.delay.invisible(userid),转到s5。

s5:当附有延迟标识的用户的客户端请求获取网络直播间的直播数据(视频数据和/或弹幕数据)时,服务端将二级缓存后的直播数据传输至客户端。

通过s5可知,本发明实施例当大于预先人气阈值时,会对直播数据进行二级缓存,具体通过flash服务器(webflashserver)的二级缓存机制open.webflashserver.buffermemory.open来完成。之后的客户端获取直播数据时,会根据客户端的用户id标示(barlog)来给予相应缓存级别的直播数据:if(barlog=null),若barlog为空,则代表该用户未开启人气自动隐身功能,此时给予一级缓存的直播数据;若barlog不为空,则该用户开启了人气自动隐身功能,此时给予二级缓存的直播数据。客户端访问二级缓存的直播数据的实现方式为:

output.webflashserver.buffermemory.content()。

通过s4和s5可知:本发明实施例对超过人气阈值后登录的客户端进行延迟标识(人气隐身标识);标识的客户端请求获取网络直播间的直播数据时,会向客户端传输二级缓存处理后的直播数据,进而显著降低服务端的负荷,大幅度提高服务端的工作质量和工作效率。

s6:当网络直播间的用户数量小于等于人气阈值时,中止执行中的步骤(例如执行s2时),取消对客户端用户id的延迟标识(即关闭人气自动隐身功能);当客户端请求获取网络直播间的直播数据时,服务端将一级缓存后的直播数据传输至客户端,结束。

s6的目的为:当用户数量未超过服务端的负荷时,让所有用户能够立即获取一级缓存的直播数据,显著提高了用户体验;在实际应用中,s6可以在执行s2至s5的过程中并发进行。

本发明实施例中的基于网络直播间统计信息的数据延迟系统,包括位于服务端上的用户数量判定模块、直播数据二级缓存模块、用户进入信息停止加载模块、用户id标识模块、二级缓存直播数据发送模块和一级缓存直播数据发送模块。

用户数量判定模块用于:获取网络直播间的用户数量,当网络直播间的用户数量大于人气阈值时,向用户进入信息停止加载模块发送用户进入信息停止加载信号,此时直播数据二级缓存模块通过二级缓存机制,对直播数据(视频数据和/或弹幕数据)进行二级缓存。当网络直播间的用户数量小于等于人气阈值时,向一级缓存直播数据发送模块发送工作信号。

用户进入信息停止加载模块用于:收到用户进入信息停止加载信号后,获取网络直播间的房间id,监测到客户端进行登录时,停止向房间id对应的网络直播间加载用户进入信息,向用户id标识模块发送用户id标识信息;向重新登录至网络直播间的客户端,广播网络直播间的用户信息,用户信息包括案由信息和决定信息。

用户id标识模块用于:收到用户id标识信号后,对客户端的用户id进行延迟标识,向二级缓存直播数据发送模块发送二级缓存直播数据发送信号;

二级缓存直播数据发送模块用于:收到二级缓存直播数据发送信号后,当附有延迟标识的客户端请求获取网络直播间的直播数据时,服务端将二级缓存后的直播数据传输至客户端;

一级缓存直播数据发送模块用于:在所述数据延迟系统工作的过程中,当网络直播间的用户数量小于等于人气阈值时,取消对客户端用户id的延迟标识,当客户端请求获取网络直播间的直播数据时,将一级缓存后的直播数据传输至客户端。

通过本发明实施可知,本发明在网络直播间的用户数量超过人气阈值后,对登录至网络直播间的客户端进行了延迟标识。当附有延迟标识的客户端请求获取网络直播间的直播数据时,会向客户端传输二级缓存处理后的直播数据,进而显著降低服务端的压力,大幅度提高服务端的工作质量和工作效率。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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