推送直播流媒体数据的方法及装置制造方法及图纸

技术编号:14765152 阅读:229 留言:0更新日期:2017-03-08 08:34
本公开提供了推送直播流媒体数据的方法及装置,其中,所述方法包括:在作为直播中继节点的服务器集群中确定目标服务器;通过所述目标服务器从预设服务器获取直播源数据;通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。本公开可以利用作为直播中继节点的服务器集群分担预设服务器的业务压力,从而有效减轻观众客户端的卡顿情况,提升直播质量,可用性高,且提升了用户体验。

【技术实现步骤摘要】

本公开涉及通信领域,尤其涉及推送直播流媒体数据的方法及装置
技术介绍
相关技术中,预设服务器在接收到主播客户端上传的直播源数据之后,对所述直播源数据进行转码处理,获得相应的直播流媒体数据。进一步地,所述预设服务器将所述直播流媒体数据推送到观众客户端。但是,在实际应用中,如果海量观众客户端同步发起获取直播流媒体数据的数据获取请求时,会造成所述预设服务器资源压力较大,无法保证直播质量,也会使得观众客户端出现卡顿等情况,用户体验差。
技术实现思路
有鉴于此,本公开提供了推送直播流媒体数据的方法及装置,以解决相关技术中的不足。根据本公开实施例的第一方面,提供一种推送直播流媒体数据的方法,所述方法包括:在作为直播中继节点的服务器集群中确定目标服务器;通过所述目标服务器从预设服务器获取直播源数据;通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。可选地,所述在作为直播中继节点的服务器集群中确定目标服务器,包括:获取作为直播中继节点的服务器集群中每个服务器上报的自身的负载信息;根据所述负载信息,确定所述每个服务器各自的权重值;将所述服务器集群中所述权重值最大的服务器作为所述目标服务器。可选地,所述负载信息包括负载值和资源利用率中的至少一项;所述根据所述负载信息,确定所述每个服务器各自的权重值,包括:根据负载信息和权重值之间的预设对应关系,确定所述每个服务器各自的权重值;所述预设对应关系包括:负载值与权重值成反比,以及资源利益率与权重值成反比。可选地,所述方法还包括:确定作为直播中继节点的所述服务器集群的总负载值;当所述总负载值超过预设值时,在所述服务器集群中添加预先指定的备选服务器。可选地,所述方法还包括:接收观众客户端发送的请求获取所述直播流媒体数据的数据获取请求;在确定接收到所述数据获取请求之后,执行所述通过所述目标服务器从预设服务器获取直播源数据的步骤。可选地,所述通过所述目标服务器将直播流媒体数据推送给观众客户端之后,所述方法还包括:对所述直播流媒体数据进行缓存。根据本公开实施例的第二方面,提供一种推送直播流媒体数据的装置,所述装置包括:第一确定模块,被配置为在作为直播中继节点的服务器集群中确定目标服务器;第一获取模块,被配置为通过所述目标服务器从预设服务器获取直播源数据;推送模块,被配置为通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。可选地,所述第一确定模块包括:获取子模块,被配置为获取作为直播中继节点的服务器集群中每个服务器上报的自身的负载信息;第一确定子模块,被配置为根据所述负载信息,确定所述每个服务器各自的权重值;第二确定子模块,被配置为将所述服务器集群中所述权重值最大的服务器作为所述目标服务器。可选地,所述负载信息包括负载值和资源利用率中的至少一项;所述第一确定子模块包括:确定单元,被配置为根据负载信息和权重值之间的预设对应关系,确定所述每个服务器各自的权重值;所述预设对应关系包括:负载值与权重值成反比,以及资源利益率与权重值成反比。可选地,所述装置还包括:第二确定模块,被配置为确定作为直播中继节点的所述服务器集群的总负载值;添加模块,被配置为当所述总负载值超过预设值时,在所述服务器集群中添加预先指定的备选服务器。可选地,所述装置还包括:第二获取模块,被配置为接收观众客户端发送的请求获取所述直播流媒体数据的数据获取请求;控制模块,被配置为在确定接收到所述数据获取请求之后,控制所述第一获取模块通过所述目标服务器从预设服务器获取直播源数据。可选地,所述装置还包括:缓存模块,被配置为对所述直播流媒体数据进行缓存。根据本公开实施例的第三方面,提供一种推送直播流媒体数据的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:在作为直播中继节点的服务器集群中确定目标服务器;通过所述目标服务器从预设服务器获取直播源数据;通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例中,可以在作为直播中继节点的服务器集群中确定目标服务器,从而通过所述目标服务器从预设服务器获取直播源数据。其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。进一步地,再通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据。上述过程中,由于直播源数据被分发到不同的目标服务器,即利用作为直播中继节点的服务器集群分担了预设服务器的业务压力,从而有效减轻观众客户端的卡顿情况,提升直播质量,可用性高,且提升了用户体验。本公开实施例中,可选地,可以让作为直播中继节点的服务器集群中的每个服务器均上报自身的负载信息。从而根据所述负载信息,来确定所述每个服务器各自的权重值。将所述服务器集群中所述权重值最大的服务器作为目标服务器。通过上述过程,使得根据负载信息确定的目标服务器可以分担预设服务器的业务压力,提升直播质量。本公开实施例中,作为直播中继节点的服务器集群中的每个服务器上报的负载信息可以包括负载值和资源利用率中的至少一项。在确定每个服务器的权重值时,负载值越小权重值越高,同样资源利用率越小权重值也越高。这样,可以让负载值和/或资源利用率小的服务器作为目标服务器,来分担预设服务器的业务压力,同样提升了直播质量。本公开实施例中,对所述直播源数据进行转码处理,得到与所述观众客户端匹配的直播流媒体数据,从而通过所述目标服务器将所述直播流媒体数据推送给观众客户端。通过上述过程,将原来由所述预设服务器执行的转码处理过程,转换为由所述目标服务器执行。即使有海量观众客户端同步发起获取直播流媒体数据的数据获取请求,也可以由不同的目标服务器来对应执行转码处理,从而获得相应的直播流媒体数据,有效减轻观众客户端的卡顿情况,提升了用户体验。本公开实施例中,当作为直播中继节点的所述服务器集群的总负载值超过预设值时,可以将预设的备选服务器加入所述服务器集群中。从而实现作为直播中继节点的所述服务器集群的动态扩容,减轻原服务器集群的业务压力,确保服务器集群的性能。本公开实施例中,可选地,可以在服务器集群接收到观众客户端发送的请求获取直播流媒体数据的数据获取请求之后,才通过确定的目标服务器从预设服务器获取直播源数据。从而避免在观众客户端不需要获取直播流媒体数据时,仍从预设服务器获取所述直播源数据的问题,避免给预设服务器造成业务压力和资源浪费。本公开实施例中,可以对所述直播流媒体数据进行缓存,从而快速响应后续观众客户端发起的数据获取请求,降低观众客户端直播延迟情况。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。本文档来自技高网...
推送直播流媒体数据的方法及装置

【技术保护点】
一种推送直播流媒体数据的方法,其特征在于,所述方法包括:在作为直播中继节点的服务器集群中确定目标服务器;通过所述目标服务器从预设服务器获取直播源数据;通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。

【技术特征摘要】
1.一种推送直播流媒体数据的方法,其特征在于,所述方法包括:在作为直播中继节点的服务器集群中确定目标服务器;通过所述目标服务器从预设服务器获取直播源数据;通过所述目标服务器将直播流媒体数据推送给观众客户端,所述直播流媒体数据是所述直播源数据进行转码处理后得到的流媒体数据;其中,所述直播源数据是主播客户端在直播过程中采集并上传到所述预设服务器的多媒体数据。2.根据权利要求1所述的方法,其特征在于,所述在作为直播中继节点的服务器集群中确定目标服务器,包括:获取作为直播中继节点的服务器集群中每个服务器上报的自身的负载信息;根据所述负载信息,确定所述每个服务器各自的权重值;将所述服务器集群中所述权重值最大的服务器作为所述目标服务器。3.根据权利要求2所述的方法,其特征在于,所述负载信息包括负载值和资源利用率中的至少一项;所述根据所述负载信息,确定所述每个服务器各自的权重值,包括:根据负载信息和权重值之间的预设对应关系,确定所述每个服务器各自的权重值;所述预设对应关系包括:负载值与权重值成反比,以及资源利益率与权重值成反比。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定作为直播中继节点的所述服务器集群的总负载值;当所述总负载值超过预设值时,在所述服务器集群中添加预先指定的备选服务器。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收观众客户端发送的请求获取所述直播流媒体数据的数据获取请求;在确定接收到所述数据获取请求之后,执行所述通过所述目标服务器从预设服务器获取直播源数据的步骤。6.根据权利要求1所述的方法,其特征在于,所述通过所述目标服务器将直播流媒体数据推送给观众客户端之后,所述方法还包括:对所述直播流媒体数据进行缓存。7.一种推送直播流媒体数据的装置,其特征在于,所述装置包括:第一确定模块,被配置为在作为直播中继节点的服务器集群中确定目标服务器;第一获取模块,被配置为通过所述目标服务器从预设服务器获取直播源数据;推送模块,被配置为通过所述目标服务器将直播流媒体数据推送给观众客户端,所述...

【专利技术属性】
技术研发人员:张黎明尹智宇郑志光
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1