一种网络直播系统和方法与流程

文档序号:20679841发布日期:2020-05-08 18:17阅读:346来源:国知局
一种网络直播系统和方法与流程

本发明实施例涉及通信网络技术领域,尤其涉及一种网络直播系统和方法。



背景技术:

随着互联网的高速发展,网络直播这种新型的直播形式也应用而生。网络直播是可以同一时间透过网络系统在不同的交流平台观看影片,是一种新兴的网络社交方式。

网络直播对与互联网传输数据的速度和效率有了更高的要求,为了解决网络直播过程中延迟较大的问题,基于cdn(contentdeliverynetwork,内容分发网络)技术在网络直播过程中的应用也随之产生,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

然而在视频直播的实际传输网络中,边缘服务器到视频直播源有一定的距离,在节点多、网络比较复杂的情况下,网络延时会对应增大,影响客户观看视频直播特别是体育赛事直播时的感知。



技术实现要素:

本发明实施例提供一种网络直播系统和方法,用以解决现有的直播延时大,用户体验差的问题。

第一方面,本发明实施例提供一种网络直播系统,包括直播源、请求处理单元、中心处理单元、若干个客户端和若干个cdn节点;

其中,中心处理单元分别与直播源、请求处理单元和若干个cdn节点连接;请求处理单元与客户端连接;

直播源用于向中心处理单元发送直播数据,请求处理单元用于接收任一客户端发送的直播请求,并基于直播请求获取请求内容;中心处理单元基于请求内容,从直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点,并将指定直播数据通过最优cdn节点发送至该客户端进行播放。

第二方面,本发明实施例提供一种网络直播方法,包括:

接收请求处理单元基于任一客户端发送的直播请求获取的请求内容;

基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点;

将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

第三方面,本发明实施例提供一种中心处理单元,包括:

接收模块,用于接收请求处理单元基于任一客户端发送的直播请求获取的请求内容;

选取模块,用于基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点;

发送模块,用于将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

第四方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第二方面所提供的方法的步骤。

第五方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面所提供的方法的步骤。

本发明实施例提供的一种网络直播系统和方法,基于请求内容选取最优cdn节点,使得直播源的直播数据能够通过中心处理单元和最优cdn节点传输至客户端,解决了由于节点众多和网络复杂导致的延迟问题,有效减低了直播时延,提高了直播播放质量,优化了直播观众的用户体验。

附图说明

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

图1为本发明实施例提供的网络直播系统的结构示意图;

图2为本发明另一实施例提供的网络直播系统的结构示意图;

图3为本发明实施例提供的网络直播方法的流程示意图;

图4为本发明实施例提供的中心处理单元的结构示意图;

图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,在节点多、网络比较复杂的情况下,直播的网络延时会对应增大,影响客户观看视频直播特别是体育赛事直播时的感知。针对上述问题,本发明实施例提供了一种网络直播系统,用以降低直播时延、提高直播质量。图1为本发明实施例提供的网络直播系统的结构示意图,如图1所示,该系统包括直播源101、请求处理单元102、中心处理单元103、若干个客户端104和若干个cdn节点105;其中,中心处理单元103分别与直播源101、请求处理单元102和若干个cdn节点105连接;请求处理单元102与客户端104连接;直播源101用于向中心处理单元103发送直播数据,请求处理单元102用于接收任一客户端104发送的直播请求,并基于直播请求获取请求内容;中心处理单元103基于请求内容,从直播数据中选取指定直播数据,从若干个cdn节点105中选取最优cdn节点,并将指定直播数据通过最优cdn节点发送至该客户端104进行播放。

具体地,直播源101用于为网络直播提供直播数据,此处直播数据可以是音频直播数据,还可以是视频直播数据,客户端104是直播数据的接收和播放的设备,直播源101可以是电脑和智能手机等智能设备,还可以是其他能够进行视频或语音录入的设备,客户端104可以是电脑和智能手机等智能设备,还可以是其他能够进行视频或语音播放的设备,本发明实施例对此不作具体限定。

客户端104与请求处理单元102连接,并将直播请求发送给请求处理单元102。此处,直播请求用于指示客户端104请求接收直播数据,且直播请求中包含有客户端104请求接收的直播数据的标识。请求处理单元102用于接收直播请求,并对直播请求进行分析,得到请求内容,随即将请求内容发送至中心处理单元103。此处,请求内容是基于直播请求得到的用于指示中心处理单元103为客户端104分配对应的直播数据的信息,请求内容中可以包括客户端104的ip地址、客户端104请求接收的直播数据的标识等,本发明实施例对此不作具体限定。

中心处理单元103分别与直播源101、请求处理单元102和若干个cdn节点105连接。直播源101将直播数据发送到中心处理单元103。中心处理单元103在接收到直播数据后,根据请求处理单元102发送的请求内容,对直播数据进行分发。进一步地,对直播数据进行分发包括基于请求内容从直播数据中选取指定直播数据,以及基于请求内容从与中心处理单元103连接的若干个cdn节点105中选取最优cdn节点进行指定直播数据的传输。此处,指定直播数据为客户端104指定播放的直播数据,基于请求内容从直播数据中选取指定直播数据,可以是基于请求内容中包含的客户端104请求接收的直播数据的标识,从直播数据中选取与该标识相匹配的直播数据作为指定直播数据,直播数据的标识可以是直播源101的ip、直播用户的id、直播间的id或直播数据的名称等,本发明实施例对此不作具体限定。从与中心处理单元103连接的若干个cdn节点105中选取最优cdn节点,可以是基于请求内容中包含的客户端104的ip地址选取距离客户端104的接入网络最近的cdn节点105作为最优cdn节点,还可以是基于请求内容中包含的客户端104的id根据历史记录得到向该客户端104传输数据时,时延最小或者直播播放质量最佳的cdn节点105作为最优cdn节点,本发明实施例对此不作具体限定。

在最优cdn节点接收到中心处理单元103发送的指定直播数据后,将指定直播数据发送到对应的客户端104,以供客户端104进行播放,完成网络直播流程。

本发明实施例提供的系统,基于请求内容选取最优cdn节点,使得直播源101的直播数据能够通过中心处理单元103和最优cdn节点传输至客户端104,解决了由于节点众多和网络复杂导致的延迟问题,有效减低了直播时延,提高了直播播放质量,优化了直播观众的用户体验。

基于上述实施例,网络直播系统还包括数据维护单元;数据维护单元分别与中心处理单元和每一客户端连接;数据维护单元用于检测每一客户端的播放质量信息,基于每一客户端的播放质量信息建立历史质量信息,并将历史质量信息发送到中心处理单元;对应地,中心处理单元基于请求内容和历史质量信息,从若干个cdn节点中选取最优cdn节点。

具体地,播放质量信息用于反映客户端的直播质量,播放质量信息可以是预设时间内的卡帧次数、直播视频播放的清晰度或者直播时延等,本发明实施例对此不作具体限定。历史质量信息包含有每一客户端的播放质量信息,且历史质量信息随着数据维护单元检测客户端播放质量信息次数的增加而不断更新,数据维护单元可以在每次历史质量信息更新后,将更新后的历史质量信息发送到中心处理单元,还可以设置更新周期,每隔预设时间向中心处理单元发送一次历史质量信息,或者在中心处理单元需要选取最优cdn节点时向数据维护单元发送历史质量信息查询请求,数据维护单元接收到历史质量信息查询请求后,向中心处理单元返回历史质量信息,本发明实施例对此不作具体限定。

本发明实施例提供的系统,通过数据维护单元检测客户端播放质量信息,并构建历史质量信息以供中心处理单元选取最优cdn节点,从而使得选取得到的cdn节点在指定直播数据的传输中能够进一步提高数据传输效率,降低直播时延,优化用户体验。

基于上述任一实施例,请求内容包括该客户端的ip地址,历史质量信息包括每一客户端的播放质量信息列表,播放质量信息列表中包括每次检测得到的播放质量信息及其对应的cdn节点。

具体地,任一客户端的播放质量信息列表中包括数据维护单元每次对该客户端进行检测得到的播放质量信息,以及传输客户端播放的指定直播数据的cdn节点,即在播放质量信息列表汇总,播放质量信息与cdn节点是相关联的,通过播放质量信息列表可以获知不同的cdn节点向该客户端传输指定直播数据时的直播播放质量的优劣。

对应地,中心处理单元基于请求内容和历史质量信息,从若干个cdn节点中选取最优cdn节点,具体包括:

中心处理单元从请求内容中提取该客户端的ip地址;中心处理单元基于该客户端的ip地址从历史质量信息中提取该客户端的播放质量信息列表;中心处理单元基于该客户端的ip地址获取该客户端的接入网络到每一cdn节点的距离;中心处理单元基于该客户端的播放质量信息列表和/或该客户端的接入网络到每一cdn节点的距离,从若干个cdn节点中选取最优cdn节点。

具体地,在中心处理单元得到客户端的ip地址后,可以通过ip地址分别得到该客户端的播放质量信息列表,以及该客户端的接入网络到每一cdn节点的距离,本发明实施例不对获取播放质量信息列表和客户端的接入网络到每一cdn节点的距离的先后顺序作具体限定。在得到该客户端的播放质量信息列表后,中心处理单元可以通过播放质量信息列表可以获知不同的cdn节点向该客户端传输指定直播数据时的直播播放质量的优劣,从而基于播放质量列表从若干个cdn节点中选取该客户端的直播播放质量最优时向该客户端传输指定直播数据的cdn节点,并将该cdn节点作为最优cdn节点。在得到该客户端的接入网络到每一cdn节点的距离后,中心处理单元可以直接从若干个节点中选取距离最近的cdn节点作为最优cdn节点。此外,在得到客户端的播放质量信息列表和客户端的接入网络到每一cdn节点的距离后,中心处理单元还可以根据两者选取最优cdn节点,例如中心处理单元可以基于客户端的接入网络到每一cdn节点的距离,从若干个cdn节点中选取三个距离最近的cdn节点作为候选节点,再基于播放质量信息列表分别获取上述三个候选节点向该客户端传输指定直播数据时该客户端的直播播放质量,从上述三个候选节点中选取直播播放质量最优的候选节点作为最优cdn节点,本发明实施例对此不作具体限定。

基于上述任一实施例,网络直播系统还包括数据优化单元;数据优化单元与中心处理单元连接,数据优化单元用于对直播数据进行优化处理。

具体地,在指定直播数据通过最优cdn节点传输至客户端之前,可以通过数据优化单元进行优化,以解决在由直播源传输至中心处理单元的过程中出现的直播数据丢失和异变的问题,有效提高直播质量。此处,数据优化单元可以用于消除直播数据的音画不同步问题、修复丢帧等。

本发明实施例提供的系统,通过直接对直播数据进行优化,能够有效提高直播质量。

基于上述任一实施例,网络直播系统还包括若干个缓存单元;每一缓存单元与对应的cdn节点连接,用于缓存cdn节点接收的指定直播数据。

具体地,为了解决直播中存在的延时和首屏(从点击播放到出图的时间)过长的问题,为每一cdn节点配备一个缓存单元,以缓存cdn节点接收的指定直播数据,从而减少延时和首屏,优化用户体验。

基于上述任一实施例,缓存单元内,指定直播数据以切片数据为单位进行缓存;对应地,客户端上设置有编码模块和播放器,编码模块用于对客户端接收的以切片数据为单位的指定直播数据进行编码,以使得播放器能够播放指定直播数据。

具体地,缓存单元内,通过设置切片模块对cdn节点接收到的指定直播数据按照时间段进行切片处理,从而使得指定直播数据以切片数据为单位进行,提高数据访问速度和并发量,进而保证缓存单元在容量较小的情况下不对网络直播系统整体的直播质量造成影响。此处,对指定直播数据进行切片的方法可以是哈希算法、取模算法和区间范围算法等,本发明实施例对此不作具体限定。对应地,由于缓存单元以切片数据为单位对指定直播数据进行缓存,发送到客户端的同样是以切片数据为单元的指定直播数据。因此,在客户端上设置编码模块,对切片数据为单元的指定直播数据进行编码,从而使得客户端上的播放器能够播放编码后的指定直播数据,实现网络直播的播放。

基于上述任一实施例,客户端上设置有缺帧处理单元,缺帧处理单元用于在指定直播数据缺帧时,若缺帧为b帧或p帧,则根据缺帧的前后帧进行补齐,若缺帧为i帧,则复制缺帧的前一帧。

具体地,缺帧处理单元用于对客户端接收的指定直播数据进行优化,避免由于指定直播数据缺帧导致的影响用户体验的问题。在针对连续动态图像编码时,将连续若干幅图像分成p、b和i三种类型,其中完整编码的帧为i帧,参考之前的i帧生成的只包含差异部分编码的帧为p帧,参考前后的帧编码的帧为b帧。当缺帧为b帧或p帧时,缺帧处理单元根据缺帧的前后帧进行补齐,当缺帧为i帧时,缺帧处理单元通过复制缺帧的上一帧,以实现直播数据的正常播放。

基于上述任一实施例,图2为本发明另一实施例提供的网络直播系统的结构示意图,如图2所示,网络直播系统包括直播源101、请求处理单元102、中心处理单元103、数据维护单元106、数据优化单元107、若干个客户端104和若干个cdn节点105及其对应的缓存单元108。

直播源101包括各种直播平台下的直播间,直播数据包括各种直播平台下直播间直播的音频数据和视频数据。

请求处理单元102分别与中心处理单元103和客户端104相连接,请求处理单元102用以接收客户端104发送的直播请求,并基于直播请求提取请求内容,将请求内容传递至中心处理单元103。

中心处理单元103分别与直播源101、请求处理单元102和若干个cdn节点105连接。直播源101将直播数据发送到中心处理单元103。中心处理单元103在接收到直播数据后,基于请求处理单元102发送的请求内容,从直播数据中选取指定直播数据,以及基于请求内容从与中心处理单元103连接的若干个cdn节点105中选取最优cdn节点进行指定直播数据的传输。此处,最优cdn节点为距离客户端104接入网络最近和/或向客户端104传输指定直播数据时客户端104的直播播放质量最佳的cdn节点105。

为解决直播中存在的延时和首屏过长的问题,为每一cdn节点105配备一个缓存单元108,以缓存cdn节点105接收的指定直播数据。缓存单元108内,通过设置切片模块对cdn节点105接收到的指定直播数据按照时间段进行切片处理,从而使得指定直播数据以切片数据为单位进行,提高数据访问速度和并发量,进而保证缓存单元108在容量较小的情况下不对网络直播系统整体的直播质量造成影响。

由于缓存单元108以切片数据为单位对指定直播数据进行缓存,发送到客户端104的同样是以切片数据为单元的指定直播数据。因此,在客户端104上设置编码模块,对切片数据为单元的指定直播数据进行编码,从而使得客户端104上的播放器能够播放编码后的指定直播数据,实现网络直播的播放。客户端104上还设置有缺帧处理单元,缺帧处理单元用于在指定直播数据缺帧时,若缺帧为b帧或p帧,则根据缺帧的前后帧进行补齐,若缺帧为i帧,则复制缺帧的前一帧,保证客户端104在播放过程中不会出现缺帧现象。

数据维护单元106分别与中心处理单元103和每一客户端104连接,用于检测每一客户端104的播放质量信息,基于每一客户端104的播放质量信息建立历史质量信息,并将历史质量信息发送到中心处理单元103,以供中心处理单元103基于历史质量信息和请求内容选取最优cdn节点。此处,播放质量信息包括预设时间内的卡帧次数、直播视频播放的清晰度和直播时延。

数据优化单元107与中心处理单元103连接,用于对指定直播数据进行优化处理,以解决在由直播源101传输至中心处理单元103的过程中出现的直播数据丢失和异变的问题,有效提高直播质量。

此外,请求处理单元102、中心处理单元103、数据维护单元106和数据优化单元107均设置同一地理空间中,请求处理单元102、中心处理单元103、数据维护单元106和数据优化单元107的外围均设置有保护装置,便于工作人员对其进行统一管理,保证各设备模块的高效运行。

本发明实施例提供的系统,通过将指定直播数据传输至相比于客户端104接入网络最近或者访问效果最佳的cdn节点105上,并通过该cdn节点105将指定直播数据传输至客户端104,能够有效提高数据的传输速度,降低直播延迟;数据维护单元106用于检测每一客户端104的播放质量信息,基于每一客户端104的播放质量信息建立历史质量信息,为最优cdn节点的选取提供依据,数据优化单元107用于对中心处理单元103接收的直播数据进行优化处理,并传输回中心处理单元103,从客户端104和直播数据两方面对直播质量进行优化,能够有效提高直播质量。

基于上述任一实施例,本发明实施例提供一种网络直播系统,其中,中心处理单元接收来自直播源的直播数据。客户端将直播请求发送至请求处理单元,请求处理单元基于直播请求获取请求内容,并将请求内容发送至中心处理单元。其中,请求内容中包括客户端的ip地址。中心处理单元基于请求内容,将直播请求中要求的指定直播数据传输至客户端的接入网络最近和/或向客户端传输指定直播数据时客户端的直播播放质量最佳的cdn节点,即最优cdn节点。通过与最优cdn节点相连接的缓存单元对指定直播数据进行缓存,并由最优cdn节点将指定直播数据传输至客户端,通过客户端上设置的播放器进行播放,达到降低直播延迟的目的。

数据维护单元对客户端的播放质量进行检测,得到播放质量信息,并基于播放质量信息建立历史质量信息,将历史质量信息传输至中心处理单元,以供中心处理单元基于历史质量信息和请求内容选取最优cdn节点,实现从客户端提高直播质量。由于直播数据在传输以及存储过程中容易出现数据的丢失和异变,数据优化单元接收中心处理单元中的直播数据,通过数据优化单元对直播数据进行优化,实现从直播数据处进行优化,有效提高直播质量。

基于上述任一系统实施例,图3为本发明实施例提供的网络直播方法的流程示意图,如图3所示,该方法的执行主体为中心处理单元,可以是任意一种能够承担中心处理单元工作的处理单元,该方法包括:

310,接收请求处理单元基于任一客户端发送的直播请求获取的请求内容。

具体地,客户端将直播请求发送给请求处理单元。请求处理单元接收到直播请求后,对直播请求进行分析,得到请求内容,随即将请求内容发送至中心处理单元。此处,请求内容是基于直播请求得到的用于指示中心处理单元为客户端分配对应的直播数据的信息,请求内容中可以包括客户端的ip地址、客户端请求接收的直播数据的标识等,本发明实施例对此不作具体限定。

320,基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点。

具体地,直播源将直播数据发送到中心处理单元。中心处理单元在接收到请求内容后,对直播数据进行分发。进一步地,对直播数据进行分发包括基于请求内容从直播数据中选取指定直播数据,以及基于请求内容从与中心处理单元连接的若干个cdn节点中选取最优cdn节点进行指定直播数据的传输。此处,指定直播数据为客户端指定播放的直播数据,基于请求内容从直播数据中选取指定直播数据,可以是基于请求内容中包含的客户端请求接收的直播数据的标识,从直播数据中选取与该标识相匹配的直播数据作为指定直播数据,直播数据的标识可以是直播源的ip、直播用户的id、直播间的id或直播数据的名称等,本发明实施例对此不作具体限定。从与中心处理单元连接的若干个cdn节点中选取最优cdn节点,可以是基于请求内容中包含的客户端的ip地址选取距离客户端的接入网络最近的cdn节点作为最优cdn节点,还可以是基于请求内容中包含的客户端的id根据历史记录得到向该客户端传输数据时,时延最小或者直播播放质量最佳的cdn节点作为最优节点,本发明实施例对此不作具体限定。

330将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

本发明实施例提供的方法,基于请求内容选取最优cdn节点,使得直播源的直播数据能够通过最优cdn节点传输至客户端,解决了由于节点众多和网络复杂导致的延迟问题,有效减低了直播时延,提高了直播播放质量,优化了直播观众的用户体验。

基于上述任一实施例,步骤320之前,该方法还包括:接收数据维护单元发送的历史质量信息;历史质量信息是数据维护单元基于检测得到的每一客户端的播放质量信息建立的。

具体地,数据维护单元能够检测每一客户端的播放质量信息,并根据没每一客户端的播放质量信息建立历史质量信息。播放质量信息用于反映客户端的直播质量,播放质量信息可以是预设时间内的卡帧次数、直播视频播放的清晰度或者直播时延等,本发明实施例对此不作具体限定。历史质量信息包含有每一客户端的播放质量信息,且历史质量信息随着数据维护单元检测客户端播放质量信息次数的增加而不断更新,数据维护单元可以在每次历史质量信息更新后,将更新后的历史质量信息发送到中心处理单元,还可以设置更新周期,每隔预设时间向中心处理单元发送一次历史质量信息,或者在中心处理单元需要选取最优cdn节点时向数据维护单元发送历史质量信息查询请求,数据维护单元接收到历史质量信息查询请求后,向中心处理单元返回历史质量信息,本发明实施例对此不作具体限定。

对应地,步骤320具体包括:

321,基于请求内容,从直播源发送的直播数据中选取指定直播数据;

322,基于请求内容和历史质量信息,从若干个cdn节点中选取最优cdn节点。具体地,在中心处理单元接收到历史质量信息后,在选取最优cdn节点时,将请求内容和历史质量信息作为最优cdn节点的选取依据。

本发明实施例提供的方法,通过数据维护单元检测客户端播放质量信息,并构建历史质量信息以供中心处理单元选取最优cdn节点,从而使得选取得到的cdn节点在指定直播数据的传输中能够进一步提高数据传输效率,降低直播时延,优化用户体验。

基于上述任一实施例,请求内容包括该客户端的ip地址,历史质量信息包括每一客户端的播放质量信息列表;播放质量信息列表中包括每次检测得到的播放质量及其对应的cdn节点。

对应地,步骤322具体包括:

(1)从请求内容中提取该客户端的ip地址。

(2)基于该客户端的ip地址从历史质量信息中提取该客户端的播放质量信息列表。

(3)基于该客户端的ip地址获取该客户端的接入网络到每一cdn节点的距离。

(4)基于该客户端的播放质量信息列表和/或该客户端的接入网络到每一cdn节点的距离,从若干个cdn节点中选取最优cdn节点。

需要说明的是,本发明实施例不对步骤(2)和步骤(3)的先后顺序作具体限定。在得到该客户端的播放质量信息列表后,中心处理单元可以通过播放质量信息列表可以获知不同的cdn节点向该客户端传输指定直播数据时的直播播放质量的优劣,从而基于播放质量列表从若干个cdn节点中选取该客户端的直播播放质量最优时向该客户端传输指定直播数据的cdn节点,并将该cdn节点作为最优cdn节点。在得到该客户端的接入网络到每一cdn节点的距离后,中心处理单元可以直接从若干个节点中选取距离最近的cdn节点作为最优cdn节点。此外,在得到客户端的播放质量信息列表和客户端的接入网络到每一cdn节点的距离后,中心处理单元还可以根据两者选取最优cdn节点,例如中心处理单元可以基于客户端的接入网络到每一cdn节点的距离,从若干个cdn节点中选取三个距离最近的cdn节点作为候选节点,再基于播放质量信息列表分别获取上述三个候选节点向该客户端传输指定直播数据时该客户端的直播播放质量,从上述三个候选节点中选取直播播放质量最优的候选节点作为最优cdn节点。

基于上述任一方法实施例,图4为本发明实施例提供的中心处理单元的结构示意图,如图4所示,中心处理单元包括接收模块410、选取模块420和发送模块430;

其中,接收模块410用于接收请求处理单元基于任一客户端发送的直播请求获取的请求内容;

选取模块420用于基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点;

发送模块430用于将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

基于上述任一实施例,中心处理单元还包括维护数据接收模块;维护数据接收模块用于接收数据维护单元发送的历史质量信息;历史质量信息是数据维护单元基于检测得到的每一客户端的播放质量信息建立的。

对应地,选取模块420包括数据选取子模块和节点选取子模块;

其中,数据选取子模块用于基于请求内容,从直播源发送的直播数据中选取指定直播数据;

节点选取子模块用于基于请求内容和历史质量信息,从若干个cdn节点中选取最优cdn节点。

基于上述任一实施例,请求内容包括该客户端的ip地址,历史质量信息包括每一客户端的播放质量信息列表;播放质量信息列表中包括每次检测得到的播放质量及其对应的cdn节点;

对应地,节点选取子模块具体用于:从请求内容中提取该客户端的ip地址;基于该客户端的ip地址从历史质量信息中提取该客户端的播放质量信息列表;基于该客户端的ip地址获取该客户端的接入网络到每一cdn节点的距离;基于该客户端的播放质量信息列表和/或该客户端的接入网络到每一cdn节点的距离,从若干个cdn节点中选取最优cdn节点。

图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(communicationsinterface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储在存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的网络直播方法,例如包括:接收请求处理单元基于任一客户端发送的直播请求获取的请求内容;基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点;将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的网络直播方法,例如包括:接收请求处理单元基于任一客户端发送的直播请求获取的请求内容;基于请求内容,从直播源发送的直播数据中选取指定直播数据,从若干个cdn节点中选取最优cdn节点;将指定直播数据发送到最优cdn节点,以使得最优cdn节点能够将指定直播数据转发至该客户端进行播放。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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