直播流的流媒体数据获取方法、边缘节点区域组网系统与流程

专利2022-06-29  99


本公开涉及计算机技术领域,尤其涉及一种直播流的流媒体数据获取方法、装置、服务器及存储介质,以及边缘节点区域组网系统。



背景技术:

随着网络技术的发展,网络直播越来越普遍,现有的网络直播通常是通过内容分发网络实现的,不同的直播观众通过用户终端到内容分发网络中与其最近的边缘节点服务器拉取直播流,如果该边缘节点服务器上缓存有直播流,则直接将直播流发送给观众,否则边缘节点服务器需要向上一级的中层节点服务器回源或向直播流源站回源。

但是,对于大型直播平台,由于自身用户基数、推拉流流数和内容分发流量均较大,边缘冷流(即只被一个人拉取的直播流)数量较多,回源数量大,导致过高的中层节点服务器的带宽占用率,容易造成访问延迟、网络拥塞等问题。



技术实现要素:

本公开提供一种边缘节点区域组网系统、直播流的流媒体数据获取方法、装置、服务器及存储介质,以至少解决相关技术中内容分发网络的中层节点服务器的带宽占用率高,而造成的访问延迟、网络拥塞等问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种直播流的流媒体数据获取方法,包括:

获取目标直播流的拉流请求;

根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有所述目标直播流的流媒体数据的目标边缘节点服务器;

当在所述区域缓存服务器中查找到与所述目标直播流对应的服务器地址,与所述服务器地址对应的目标边缘节点服务器建立连接,从所述目标边缘节点服务器中拉取所述目标直播流的流媒体数据。

在一个实施例中,在所述根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址的步骤之后,还包括:

当在所述区域缓存服务器中无法查找到所述目标直播流对应的服务器地址,根据所述拉流请求回源至中层节点服务器或直播流源站,从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据。

在其中一个实施例中,在所述从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据的步骤之后,还包括:

将所述目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为所述关键字对应的数据值;

将所述关键字以及所述关键字对应的数据值存储至所述区域缓存服务器中。

在其中一个实施例中,所述根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址的步骤,包括:

确定所述拉流请求中目标直播流的直播流标识信息;

以所述目标直播流的直播流标识信息作为关键字,在所述区域缓存服务器中查找与所述目标直播流的直播流标识信息对应的服务器地址。

根据本公开实施例的第二方面,提供一种边缘节点区域组网系统,包括多个边缘节点服务器以及区域缓存服务器;其中,所述边缘节点服务器包括第一边缘节点服务器以及第二边缘节点服务器;

所述第一边缘节点服务器,用于在拉取到目标直播流后,将所述目标直播流的直播流标识信息以及所述第一边缘节点服务器的服务器地址存储至所述区域缓存服务器中;

所述第二边缘节点服务器,用于当获取到所述目标直播流的拉流请求,根据所述拉流请求,在所述区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有所述目标直播流的流媒体数据的第一边缘节点服务器;当在所述区域缓存服务器中查找到所述目标直播流对应的服务器地址,与所述服务器地址对应的第一边缘节点服务器建立连接,从所述第一边缘节点服务器中获取所述目标直播流的流媒体数据。

在其中一个实施例中,所述第二边缘节点服务器,还用于:当在所述区域缓存服务器中无法查找到所述目标直播流对应的服务器地址,根据所述拉流请求回源至中层节点服务器或直播流源站,从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据。

在其中一个实施例中,所述第一边缘节点服务器,用于将所述目标直播流的直播流标识信息确定为关键字、所述第一边缘节点服务器的服务器地址确定为所述关键字对应的数据值;将所述关键字以及所述关键字对应的数据值存储至所述区域缓存服务器中。

在其中一个实施例中,所述第二边缘节点服务器,用于确定所述拉流请求中目标直播流的直播流标识信息;以所述目标直播流的直播流标识信息作为关键字,在所述区域缓存服务器中查找与所述目标直播流的直播流标识信息对应的服务器地址。

根据本公开实施例的第三方面,提供一种直播流的流媒体数据获取装置,包括:

请求获取单元,被配置为执行获取目标直播流的拉流请求;

地址查询单元,被配置为执行根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有目标直播流的流媒体数据的目标边缘节点服务器;

直播流拉取单元,被配置为执行在所述区域缓存服务器中查找到与所述目标直播流对应的服务器地址时,与所述服务器地址对应的目标边缘节点服务器建立连接,从所述目标边缘节点服务器中获取所述目标直播流的流媒体数据。

在其中一个实施例中,所述直播流的流媒体数据获取装置还包括:

直播流回源单元,被配置为执行在所述区域缓存服务器中无法查找到所述目标直播流对应的服务器地址时,根据所述拉流请求回源至中层节点服务器或直播流源站,从所述中层节点服务器或所述直播流源站中拉取所述目标直播流的流媒体数据。

在其中一个实施例中,所述直播流的流媒体数据获取装置还包括:

信息缓存单元,被配置为执行将所述目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为所述关键字对应的数据值;将所述关键字以及所述关键字对应的数据值存储至所述区域缓存服务器中。

在其中一个实施例中,地址查询单元,被配置为执行确定所述拉流请求中目标直播流的直播流标识信息;以所述目标直播流的直播流标识信息作为关键字,在所述区域缓存服务器中查找与所述目标直播流的直播流标识信息对应的服务器地址。

根据本公开实施例的第四方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的直播流的流媒体数据获取方法。

本公开的实施例提供的技术方案至少带来以下有益效果:边缘节点服务器获取目标直播流的拉流请求,然后根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址,当在区域缓存服务器中查找到目标直播流对应的服务器地址,与服务器地址对应的目标边缘节点服务器建立连接,从而从目标边缘节点服务器中拉取目标直播流的流媒体数据,避免回源至上一级的中层节点服务器拉取直播流的流媒体数据,有效减少边缘冷流回源的数量,减少内容分发网络中的回源,降低中层节点服务器的带宽占用率,避免访问延迟、网络拥塞等问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种边缘节点区域组网系统的示意图。

图2是根据另一示例性实施例示出的一种边缘节点区域组网系统的示意图。

图3是根据一示例性实施例示出的一种直播流的流媒体数据获取方法的流程图。

图4是根据一示例性实施例示出的一种直播流的流媒体数据获取装置的框图。

图5是根据一示例性实施例示出的一种服务器的内部结构图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开所提供的一种边缘节点区域组网系统,如图1所示,边缘节点区域组网系统100包括多个边缘节点服务器101以及区域缓存服务器102;其中,边缘节点服务器101包括第一边缘节点服务器101a以及第二边缘节点服务器101b;第一边缘节点服务器101a,用于在拉取到目标直播流后,将目标直播流的直播流标识信息以及第一边缘节点服务器101a的服务器地址存储至区域缓存服务器102中;第二边缘节点服务器101b,用于当获取到目标直播流的拉流请求,根据拉流请求,在区域缓存服务器102中查找与目标直播流对应的服务器地址;其中,服务器地址用于指示缓存有目标直播流的流媒体数据的第一边缘节点服务器;当在区域缓存服务器中查找到目标直播流对应的服务器地址,与服务器地址对应的第一边缘节点服务器101a建立连接,从第一边缘节点服务器101a中拉取目标直播流的流媒体数据。

其中,边缘节点服务器101以及区域缓存服务器102均可以是可以用独立的服务器或者是多个服务器组成的服务器集群来实现。可以理解的是,多个边缘节点服务器以及区域缓存服务器可以通过网络相互通信连接的,以实现数据传输。

其中,边缘节点服务器101(包括第一边缘节点服务器101a以及第二边缘节点服务器101b)是指内容分发网络中部署在不同地区的边缘节点;区域缓存服务器102把一定区域内的边缘节点服务器组网,形成一个边缘节点区域组网系统,其中区域缓存服务器可以是redis(remotedictionaryserver远程字典服务)服务器。

其中,第一边缘节点服务器101a可用于获取并缓存目标直播流的流媒体数据,具体可以是在接收到用户终端发送的目标直播流的拉流请求后,根据目标直播流的拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中拉取目标直播流的流媒体数据,并将目标直播流的流媒体数据缓存在本地缓存中。第一边缘节点服务器101a在拉取到目标直播流的流媒体数据后,可将目标直播流的直播流标识信息以及第一边缘节点服务器的服务器地址存储至区域缓存服务器中。可以理解的是,本次第一边缘节点服务器101a拉取目标直播流,是边缘节点区域组网系统中的边缘节点服务器首次对目标直播流的首次拉取。

其中,直播流标识信息是指用于唯一标识目标直播流的信息,例如,直播流标识信息可以是直播流的直播流名、直播流源站为直播流分配的直播流编码等等。

后续,第二边缘节点服务器101b在接收到目标直播流的拉流请求时,第二边缘节点服务器101b根据拉流请求在区域缓存服务器102中查找于目标直播流对应的服务器地址,具体可以是先从拉流请求中获取目标直播流的直播流标识信息,然后在区域存储服务器中查找与目标直播流的直播流标识信息对应的服务器地址。当区域缓存服务器102中存储有目标直播流的直播流标识信息以及其对应的服务器地址,第二边缘节点服务器101b可查找到该目标直播流对应的服务器地址,并与服务器地址对应的第一边缘节点服务器101a建立连接,从第一边缘节点服务器101a中获取目标直播流的流媒体数据,实现从服务器地址对应的第一边缘节点服务器101a中拉取目标直播流的流媒体数据,无需根据拉流请求回源至上一层级的中层节点或直播流源站中拉取目标直播流。

进一步地,在一个实施例中,第二边缘节点服务器101b从服务器地址对应的第一边缘节点服务器101a中获取到目标直播流的流媒体数据后,将获取到的目标直播流转发至用户终端,使得用户终端播放目标直播流对应的直播视频。

如图2所示,以三层架构的内容分发网络为例,内容分发网络包括有部署在不同地区边缘节点服务器、多个中层节点服务器以及直播源站,其中,如图2所示,边缘节点服务器包括部署在吉林省的吉林边缘节点服务器、部署在黑龙江省的黑龙江边缘节点服务器、部署在辽宁省的辽宁边缘节点服务器、部署在北京市的北京边缘节点服务器服务器、部署在天津市部署的天津边缘节点服务器等等。吉林边缘节点服务器、黑龙江边缘节点服务器以及辽宁边缘节点服务器的上一层级的中层节点为东北多线中层节点服务器,北京边缘节点服务器以及天津边缘节点服务器的上一层级的中层节点服务器为华东多线中层节点服务器。

其中,部署在黑龙江省、吉林省、辽宁三省的这三个地区的边缘节点服务器,可通过区域缓存服务器进行组网,形成一个边缘节点区域组网系统,即通过区域缓存服务器将吉林边缘节点服务器、黑龙江边缘节点服务器以及辽宁边缘节点服务器进行组网,形成一个东北区域的边缘节点区域组网系统,如图2中虚线框所框选的边缘节点区域组网系统。以该边缘节点区域组网系统为例,直播流源站中存在一个直播流steam,其中,假设用户a最先通过用户终端a发送拉流请求至内容分发网络中的吉林省边缘节点服务器中,吉林省边缘节点服务器在获取到用户终端a发送的拉流请求后,回源至东北多线中层节点服务器中拉取直播流steam的流媒体数据,或者通过东北多线中层节点服务器回源至直播流源站中拉取直播流steam的流媒体数据。在吉林省边缘节点服务器拉取直播流steam的流媒体数据成功后,吉林省边缘节点服务器将直播流steam的直播流名“steam”以及吉林省边缘节点服务器的服务器地址作为目标服务器地址存储到区域缓存服务器中。

此时,用户b想要观看直播流steam时,可通过用户终端b发送拉流请求至内容分发网络中的黑龙江省边缘节点服务器中,黑龙江省边缘节点服务器在获取到用户终端b发送的拉流请求后,黑龙江省边缘节点服务器根据拉流请求查询区域缓存服务器中是否记录有直播流steam的直播流名“steam”,如果区域缓存服务器中记录有直播流steam的直播流名“steam”,获取区域缓存服务器中记录的直播流steam的直播流名“steam”对应服务器地址,并根据直播流steam对应服务器地址,与服务器地址对应的吉林省边缘节点服务器建立连接,从吉林省边缘节点服务器中拉取直播流steam的流媒体数据。黑龙江省边缘节点服务器拉取到直播流steam的流媒体数据后,将直播流steam的流媒体数据返回至用户终端b中,使得用户b得以观看直播流steam的直播视频。

在一个实施例中,第二边缘节点服务器101b,还用于:当在区域缓存服务器中无法查找到目标直播流对应的服务器地址,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。

其中,中层节点服务器是指在内容分发网络中边缘节点上一层级的节点服务器。在一个实施例中,内容分发网络可以是三层架构的内容分发网络,中层节点服务器可以有效减少直播流源站回源过程中数据的输入/输出压力。例如,如图2所示,东北多线中层节点服务器、华东多线中层节点服务器均是中层节点服务器。

其中,第二边缘节点服务器101b在获取到目标直播流的拉流请求后,第二边缘节点服务器101b根据拉流请求在区域缓存服务器102中目标直播流所在的服务器地址,当在区域缓存服务器102中无法查找到目标直播流的服务器地址,第二边缘节点服务器101b可以根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。其中,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据的过程,具体可以是第二边缘节点服务器101b根据该目标直播流的拉流请求,向中层节点服务器请求目标直播流的流媒体数据,或向直播流源站请求目标直播流的流媒体数据,中层节点服务器或直播流源站响应第二边缘节点服务器的请求,将目标直播流的流媒体数据分发至第二边缘节点服务器101b。

具体地,当在区域缓存服务器中无法查找到目标直播流的服务器地址,第二边缘节点服务器101b根据该目标直播流的拉流请求,向内容分发网络中的上一层级的中层节点服务器中请求目标直播流的流媒体数据,当中层节点服务器缓存有目标直播流,中层节点服务器直接将目标直播流转发至第二边缘节点服务器101b,由第二边缘节点服务器101b转发目标直播流至用户终端;当中层节点服务器未缓存有目标直播流,通过中层节点服务器向直播流源站请求目标直播流的流媒体数据,直播流源站响应中层节点服务器的请求,将目标直播流的流媒体数据转发至中层节点服务器然后中层节点服务器将从直播源站中拉取的目标直播流转发至第二边缘节点服务器101b,最后由边缘节点服务器转发目标直播流至用户终端。

本实施例中,在区域缓存服务器中无法查找到目标直播流的服务器地址时,第二边缘节点服务器才根据该目标直播流的服务器地址回源至中层节点服务器中拉取目标直播流,实现直播流的拉流,有效减少中层节点服务器与边缘节点服务器间的通信次数,降低中层节点服务器与边缘节点服务器间通信带宽占用率。

在一个实施例中,第一边缘节点服务器101a,用于将目标直播流的直播流标识信息确定为关键字、第一边缘节点服务器的服务器地址确定为关键字对应的数据值;将关键字以及关键字对应的数据值存储至区域缓存服务器中。

其中,第一边缘节点服务器101a根据该目标直播流的拉流请求回源至内容分发网络中的上一层级的中层节点服务器或直播流源站中拉取到目标直播流后,可将目标直播流的直播流标识信息以及本地服务器地址写入至区域缓存服务器中,使得后续边缘节点区域组网系统中其它边缘节点服务器,例如第二边缘节点服务器101b在接收到目标直播流的拉取请求时,可根据目标直播流的直播流标识信息在区域缓存服务器中查询第一边缘节点服务器101a的服务器地址,从而根据第一边缘节点服务器101a的服务器地址直接到第一边缘节点服务器101a中拉取目标直播流,减少回源至中层服务器或直播源站的次数,即减少边缘节点服务器与中层节点服务器间的通信次数,实现降低中层节点服务器与边缘节点服务器间通信带宽占用率。

具体地,第一边缘节点服务器101a可以将目标直播流的直播流标识信息确定为关键字,将第一边缘节点服务器101a的服务器地址确定为关键字对应的数据值,然后将直播流标识信息以及本地服务器以“关键字-数据”,即“key-value”的形式存储至区域缓存服务器中。

在一个实施例中,第二边缘节点服务器101b,用于确定拉流请求中目标直播流的直播流标识信息;以目标直播流的直播流标识信息作为关键字,在区域缓存服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

其中,第二边缘节点服务器101b在获取到拉取请求后,可以从拉流请求中获取目标直播流的直播流标识信息,然后以目标直播流的直播流标识信息作为关键字,在区域存储服务器102中查找目标直播流的直播流标识信息,当在区域存储服务器102中查找到目标直播流的直播流标识信息,获取该直播流标识信息对应数据值,即得到与目标直播流的直播流标识信息对应的服务器地址。通过以直播流标识信息为关键字,可以快速准确地在区域存储服务器中查找到目标直播流所在的服务器地址。

可以理解的是,该服务器地址为边缘节点区域组网系统中缓存有目标直播流的第一边缘节点服务器101a的地址信息。

图3是根据一示例性实施例示出的一种直播流的流媒体数据获取方法的流程图,如图3所示,直播流的流媒体数据获取方法可应用于如图1所示的边缘节点区域组网系统中的边缘节点服务器,包括以下步骤:

步骤s310:获取目标直播流的拉流请求。

其中,拉流请求指由用户终端发起的、拉取目标直播流的请求,具体可以包括目标直播流的直播流标识信息。

具体地,直播发起方用户在源业务平台发起的直播,而直播观看方通过可通过客户终端观看该直播发起方用户的直播,此时,直播观看方通过用户终端向内容分发网络中的边缘节点服务器发起直播流的拉流请求,以从直播流源站中拉取直播流。进一步地,客户终端可根据目标直播流的直播流标识信息生成拉流请求,并将拉流请求发送至内容分发网络中距离最近的边缘节点服务器中,边缘节点服务器接收用户终端发送的拉流请求。

步骤s320:根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址;其中,服务器地址用于指示缓存有目标直播流的流媒体数据的目标边缘节点服务器。

其中,在获取到目标直播流的拉流请求后,边缘节点服务器根据拉流请求在区域缓存服务器中查找目标直播流对应的服务器地址。其中,区域缓存服务器用于将一定区域内的边缘节点服务器组网,以形成一个边缘节点区域组网系统,其中区域缓存服务器中存储有边缘节点区域组网系统中各个边缘节点服务器所拉取的直播流的直播流标识信息。服务器地址用于标识边缘节点区域组网系统中边缘节点服务器的地址信息。

具体地,边缘节点服务器在获取到拉取请求后,可以从拉流请求中获取目标直播流的直播流标识信息,从而在区域存储服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

步骤s330:当在区域缓存服务器中查找到与目标直播流对应的服务器地址,与服务器地址对应的目标边缘节点服务器建立连接,从目标边缘节点服务器中拉取目标直播流的流媒体数据。

其中,在区域缓存服务器中查找到目标直播流的服务器地址后,边缘节点服务器根据该目标直播流的服务器地址,与该服务器地址对应的边缘节点服务器建立连接,并从目标边缘节点服务器中拉取目标直播流的流媒体数据。

具体地,当区域缓存服务器中存储有目标直播流的直播流标识信息以及其对应的服务器地址,边缘节点服务器在根据拉流请求查找到目标直播流的直播流标识信息对应的服务器地址后,根据该目标直播流的服务器地址,到该服务器地址对应的边缘节点服务器中拉取目标直播流,无需根据拉流请求回源至上一层级的中层节点或源站中拉取目标直播流。

进一步地,在一个实施例中,从目标边缘节点服务器中拉取目标直播流的流媒体数据后,将获取到的目标直播流的流媒体数据转发至用户终端。

例如,以图2所示的内容分发网络为例,用户b想要观看直播流steam时,可通过用户终端b发送拉流请求至内容分发网络中的黑龙江省边缘节点服务器中,黑龙江省边缘节点服务器在获取到用户终端b发送的拉流请求后,黑龙江省边缘节点服务器根据拉流请求查询区域缓存服务器中是否记录有直播流steam,假设此前吉林省边缘节点服务器正拉取直播流steam的流媒体数据,区域缓存服务器中记录有直播流steam以及吉林省边缘节点服务器的服务器地址,黑龙江省边缘节点服务器获取区域缓存服务器中记录的直播流steam对应服务器地址,并根据直播流steam对应服务器地址,到服务器地址对应的吉林省边缘节点服务器中拉取直播流steam的流媒体数据。黑龙江省边缘节点服务器拉取到直播流steam的流媒体数据后,将直播流steam的流媒体数据返回至用户终端b中,使得用户b得以观看直播流steam的直播视频。

上述直播流的流媒体数据获取方法中,获取目标直播流的拉流请求,根据拉流请求,在区域缓存服务器中查找目标直播流所在的服务器地址,当在区域缓存服务器中查找到目标直播流对应的服务器地址,从服务器地址对应的目标边缘节点服务器中拉取目标直播流,有效减少边缘冷流回源的数量,降低中层节点服务器的带宽占用率,避免访问延迟、网络拥塞等问题。

在一示例性实施例中,在步骤s220根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址之后,还包括以下步骤:当在区域缓存服务器中无法查找到于目标直播流对应的服务器地址,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。

其中,中层节点服务器是指在内容分发网络中边缘节点上一层级的节点服务器。在一个实施例中,内容分发网络可以是三层架构的内容分发网络,中层节点服务器可以有效减少直播流源站回源过程中数据的输入/输出压力。

其中,在获取到目标直播流的拉流请求后,边缘节点服务器根据拉流请求在区域缓存服务器中目标直播流所在的服务器地址,当在区域缓存服务器中无法查找到目标直播流的服务器地址,边缘节点服务器根据该目标直播流的服务器地址回源至中层节点服务器中拉取目标直播流,或通过中层节点服务器回源至直播流源站中拉取目标直播流。

具体地,当在区域缓存服务器中无法查找到目标直播流的服务器地址,边缘节点服务器可以根据该目标直播流的拉流请求,回源至内容分发网络中的上一层级的中层节点服务器中拉取目标直播流,当中层节点服务器缓存有目标直播流,中层节点服务器直接将目标直播流转发至边缘节点服务器,由边缘节点服务器转发目标直播流至用户终端;当中层节点服务器未缓存有目标直播流,由中层节点服务器根据拉流请求回源至直播流源站,拉取目标直播流,然后中层节点服务器将从直播源站中拉取的目标直播流转发至边缘节点服务器,最后由边缘节点服务器转发目标直播流至用户终端。

本实施例中,在区域缓存服务器中无法查找到目标直播流的服务器地址时,才根据该目标直播流的服务器地址回源至中层节点服务器中拉取目标直播流,实现直播流的拉流,有效减少中层节点服务器与边缘节点服务器间的通信次数,降低中层节点服务器与边缘节点服务器间通信带宽占用率。

在一示例性实施例中,在从中层节点服务器或直播流源站中获取目标直播流的流媒体数据的步骤之后,还包括以下步骤:在根据拉流请求回源至中层节点服务器中拉取目标直播流的步骤之后,还包括:将目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为关键字对应的数据值;将关键字以及关键字对应的数据值存储至区域缓存服务器中。

其中,在获取到目标直播流的拉流请求后,边缘节点服务器根据拉流请求在区域缓存服务器中目标直播流所在的服务器地址,当在区域缓存服务器中无法查找到目标直播流的服务器地址,此时可以认为在边缘节点区域组网系统中,本次边缘节点拉取目标直播流为对目标直播流的首次拉取。在边缘节点服务器根据该目标直播流的拉流请求回源至内容分发网络中的上一层级的中层节点服务器或直播流源站中拉取到目标直播流后,可将目标直播流的直播流标识信息以及本地服务器地址写入至区域缓存服务器中,使得后续边缘节点区域组网系统中其它边缘节点服务器在接收到目标直播流的拉取请求时,可根据目标直播流的直播流标识信息查询该边缘节点服务器的服务器地址,从而根据该边缘节点服务器的服务器地址直接到该边缘节点服务器中拉取目标直播流,减少回源至中层服务器或直播源站的次数,即减少边缘节点服务器与中层节点服务器间的通信次数,实现降低中层节点服务器与边缘节点服务器间通信带宽占用率。

具体地,边缘节点服务器可以将目标直播流的直播流标识信息确定为关键字,将本地服务器地址确定为关键字对应的数据值,然后将直播流标识信息以及本地服务器以“关键字-数据”,即“key-value”的形式存储至区域缓存服务器中。

在一示例性实施例中,在步骤s220中,根据拉流请求,在区域缓存服务器中查找于目标直播流对应的服务器地址,具体可以通过以下步骤实现:确定拉流请求中目标直播流的直播流标识信息;以目标直播流的直播流标识信息作为关键字,在区域缓存服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

其中,边缘节点服务器在获取到拉取请求后,可以从拉流请求中获取目标直播流的直播流标识信息,然后以目标直播流的直播流标识信息作为关键字,在区域存储服务器中查找目标直播流的直播流标识信息,当在区域存储服务器中查找到目标直播流的直播流标识信息,获取该直播流标识信息对应数据值,即得到与目标直播流的直播流标识信息对应的服务器地址。通过以直播流标识信息为关键字,可以快速准确地在区域存储服务器中查找到目标直播流所在的服务器地址。

可以理解的是,该服务器地址为边缘节点区域组网系统中缓存有目标直播流的其他边缘节点服务器的地址信息。

应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

图4是根据一示例性实施例示出的一种直播流拉流装置框图。参照图4,该装置包括请求获取单元402,地址查询单元404和直播流拉取单元406。

请求获取单元402,被配置为执行获取目标直播流的拉流请求;

地址查询单元404,被配置为执行根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址;其中,服务器地址用于指示缓存有目标直播流的流媒体数据的目标边缘节点服务器;

直播流拉取单元406,被配置为执行在区域缓存服务器中查找到目标直播流对应的服务器地址时,与服务器地址对应的目标边缘节点服务器建立连接,从目标边缘节点服务器中获取目标直播流的流媒体数据。

在一示例性实施例中,直播流的流媒体数据获取装置还包括:

直播流回源单元,被配置为执行在区域缓存服务器中无法查找到目标直播流对应的服务器地址时,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。

在一示例性实施例中,直播流的流媒体数据获取装置还包括:

信息缓存单元,被配置为执行将目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为关键字对应的数据值;将关键字以及关键字对应的数据值存储至区域缓存服务器中。

在一示例性实施例中,地址查询单元,被配置为执行确定拉流请求中目标直播流的直播流标识信息;以目标直播流的直播流标识信息作为关键字,在区域缓存服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种设备的框图。例如,设备500可以为一服务器。参照图5,设备500包括处理组件520,其进一步包括一个或多个处理器,以及由存储器522所代表的存储器资源,用于存储可由处理组件520的执行的指令,例如应用程序。存储器522中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件520被配置为执行指令,以执行下述步骤:

获取目标直播流的拉流请求;

根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址;其中,服务器地址用于指示缓存有目标直播流的流媒体数据的目标边缘节点服务器;

当在区域缓存服务器中查找到与目标直播流对应的服务器地址,与服务器地址对应的目标边缘节点服务器建立连接,从目标边缘节点服务器中拉取目标直播流的流媒体数据。

在一示例性实施例中,处理组件520被配置为执行指令,在根据拉流请求,在区域缓存服务器中查找于目标直播流对应的服务器地址的步骤之后,以执行下述步骤:当在区域缓存服务器中无法查找到目标直播流对应的服务器地址,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。

在一示例性实施例中,处理组件520被配置为执行指令,在从中层节点服务器或直播流源站中获取目标直播流的流媒体数据的步骤之后,以执行下述步骤:将目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为关键字对应的数据值;将关键字以及关键字对应的数据值存储至区域缓存服务器中。

在一示例性实施例中,处理组件520被配置为执行指令,以执行根据拉流请求,在区域缓存服务器中查找于目标直播流对应的服务器地址的步骤时,具体执行下述步骤:确定拉流请求中目标直播流的直播流标识信息;以目标直播流的直播流标识信息作为关键字,在区域缓存服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

其中,设备500还可以包括一个电源组件524被配置为执行设备500的电源管理,一个有线或无线网络接口526被配置为将设备500连接到网络,和一个输入输出(i/o)接口528。设备500可以操作基于存储在存储器522的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器522,上述指令可由设备500的处理器执行以完成下述步骤:

获取目标直播流的拉流请求;

根据拉流请求,在区域缓存服务器中查找与目标直播流对应的服务器地址;其中,服务器地址用于指示缓存有目标直播流的流媒体数据的目标边缘节点服务器;

当在区域缓存服务器中查找到与目标直播流对应的服务器地址,与服务器地址对应的目标边缘节点服务器建立连接,从目标边缘节点服务器中获取目标直播流的流媒体数据。

在一示例性实施例中,上述指令可由设备500的处理器执行完成根据拉流请求,在区域缓存服务器中查找于目标直播流对应的服务器地址的步骤之后,还执行完成以下步骤:当在区域缓存服务器中无法查找到目标直播流对应的服务器地址,根据拉流请求回源至中层节点服务器或直播流源站,从中层节点服务器或直播流源站中获取目标直播流的流媒体数据。

在一示例性实施例中,上述指令可由设备500的处理器执行完成从中层节点服务器或直播流源站中获取目标直播流的流媒体数据的步骤之后,还执行完成以下步骤:将目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为关键字对应的数据值;将关键字以及关键字对应的数据值存储至区域缓存服务器中。

在一示例性实施例中,上述指令可由设备500的处理器执行完成根据拉流请求,在区域缓存服务器中查找于目标直播流对应的服务器地址的步骤时,具体执行完成以下步骤:确定拉流请求中目标直播流的直播流标识信息;以目标直播流的直播流标识信息作为关键字,在区域缓存服务器中查找与目标直播流的直播流标识信息对应的服务器地址。

其中,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。


技术特征:

1.一种直播流的流媒体数据获取方法,其特征在于,包括:

获取目标直播流的拉流请求;

根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有所述目标直播流的流媒体数据的目标边缘节点服务器;

当在所述区域缓存服务器中查找到与所述目标直播流对应的服务器地址,与所述服务器地址对应的目标边缘节点服务器建立连接,从所述目标边缘节点服务器中获取所述目标直播流的流媒体数据。

2.根据权利要求1所述的直播流的流媒体数据获取方法,其特征在于,在所述根据所述拉流请求,在区域缓存服务器中查找于所述目标直播流对应的服务器地址的步骤之后,还包括:

当在所述区域缓存服务器中无法查找到所述目标直播流对应的服务器地址,根据所述拉流请求回源至中层节点服务器或直播流源站,从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据。

3.根据权利要求2所述的直播流的流媒体数据获取方法,其特征在于,在从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据的步骤之后,还包括:

将所述目标直播流的直播流标识信息确定为关键字、本地服务器地址确定为所述关键字对应的数据值;

将所述关键字以及所述关键字对应的数据值存储至所述区域缓存服务器中。

4.根据权利要求1至3任意一项所述的直播流的流媒体数据获取方法,其特征在于,所述根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址的步骤,包括:

确定所述拉流请求中目标直播流的直播流标识信息;

以所述目标直播流的直播流标识信息作为关键字,在所述区域缓存服务器中查找与所述目标直播流的直播流标识信息对应的服务器地址。

5.一种边缘节点区域组网系统,其特征在于,包括多个边缘节点服务器以及区域缓存服务器;其中,所述边缘节点服务器包括第一边缘节点服务器以及第二边缘节点服务器;

所述第一边缘节点服务器,用于在拉取到目标直播流后,将所述目标直播流的直播流标识信息以及所述第一边缘节点服务器的服务器地址存储至所述区域缓存服务器中;

所述第二边缘节点服务器,用于当获取到所述目标直播流的拉流请求,根据所述拉流请求,在所述区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有所述目标直播流的流媒体数据的第一边缘节点服务器;当在所述区域缓存服务器中查找到所述目标直播流对应的服务器地址,与所述服务器地址对应的第一边缘节点服务器建立连接,从所述第一边缘节点服务器中获取所述目标直播流的流媒体数据。

6.根据权利要求5所述的边缘节点区域组网系统,其特征在于,所述第二边缘节点服务器,还用于:当在所述区域缓存服务器中无法查找到所述目标直播流对应的服务器地址,根据所述拉流请求回源至中层节点服务器或直播流源站,从所述中层节点服务器或所述直播流源站中获取所述目标直播流的流媒体数据。

7.根据权利要求5所述的边缘节点区域组网系统,其特征在于,所述第一边缘节点服务器,用于将所述目标直播流的直播流标识信息确定为关键字、所述第一边缘节点服务器的服务器地址确定为所述关键字对应的数据值;将所述关键字以及所述关键字对应的数据值存储至所述区域缓存服务器中。

8.一种直播流的流媒体数据获取装置,其特征在于,包括:

请求获取单元,被配置为执行获取目标直播流的拉流请求;

地址查询单元,被配置为执行根据所述拉流请求,在区域缓存服务器中查找与所述目标直播流对应的服务器地址;其中,所述服务器地址用于指示缓存有所述目标直播流的流媒体数据的目标边缘节点服务器;

直播流拉取单元,被配置为执行在所述区域缓存服务器中查找到与所述目标直播流对应的服务器地址时,与所述服务器地址对应的目标边缘节点服务器建立连接,从所述目标边缘节点服务器中获取所述目标直播流的流媒体数据。

9.一种服务器,其特征在于,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的直播流的流媒体数据获取方法。

10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至4中任一项所述的直播流的流媒体数据获取方法。

技术总结
本公开关于一种直播流的流媒体数据获取方法、装置、服务器及存储介质,以及边缘节点区域组网系统。边缘节点区域组网系统包括多个边缘节点服务器以及区域缓存服务器;其中,第一边缘节点服务器用于在拉取到目标直播流后,将目标直播流的直播流标识信息以及第一边缘节点服务器的服务器地址存储至区域缓存服务器中;第二边缘节点服务器,用于当获取到目标直播流的拉流请求,根据拉流请求在区域缓存服务器中查找目标直播流对应的服务器地址;当查找到目标直播流对应的服务器地址,从服务器地址对应的第一边缘节点服务器中拉取目标直播流的流媒体数据。采用本公开的技术方案有效减少内容分发网络中的回源和带宽占用率。

技术研发人员:李建华
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2020.02.25
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-16256.html

最新回复(0)