直播调度方法及装置与流程

文档序号:11437542阅读:291来源:国知局
直播调度方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种直播调度方法及装置。



背景技术:

近年来,人们通过通信设备可以获得越来越多样化的娱乐方式,如微博、手机游戏、网络直播等,其中网络直播由于其直观、内容丰富、受众可划分等特点,发展地尤为迅速。

现有技术中,服务器会预先为各个主播设置与其对应的内容分发网络(contentdeliverynetwork,简称cdn)节点,当主播发起直播时,主播客户端将直播视频流上传至与其对应的cdn节点处,观看客户端通过向此cdn节点拉取直播视频流也即是实现了观看直播。但是,在实际观看过程中由于某些原因,如cdn节点的负载较多或者cdn节点出现故障等,使得直播不能顺利进行。



技术实现要素:

有鉴于此,本发明实施例提供一种直播调度方法及装置,结合各观看客户端从各个cdn节点拉取直播视频流观看的流畅性情况,将卡顿严重的cdn节点处的直播视频流切换推送至备份cdn节点上,保证直播顺利。

本发明实施例提供一种直播调度方法,包括:

获取各观看客户端上报的卡顿报告消息,所述卡顿报告消息中包括cdn节点信息和观看流畅性指示信息;

根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比;

若存在卡顿比大于预设比值的异常cdn节点,则将所述异常cdn节点对应的直播视频流切换至第一备份cdn节点,向所述异常cdn节点对应的各第一观看客户端发送第一切换指令,以使所述各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

可选地,所述cdn节点信息中包括cdn节点所属的服务商和位置区域,所述向所述异常cdn节点对应的各第一观看客户端发送第一切换指令之前,还包括:

确定与所述异常cdn节点所属的服务商和位置区域对应的备选cdn节点集合;

从所述备选cdn节点集合中选择所述第一备份cdn节点。

可选地,所述cdn节点信息中包括cdn节点所属的位置区域;

所述方法还包括:

确定所述各cdn节点信息对应的各位置区域;

根据所述各观看流畅性指示信息确定所述各位置区域分别对应的卡顿比;

若存在卡顿比大于预设比值的异常位置区域,则将所述异常位置区域对应的直播视频流切换至各第二备份cdn节点,向所述异常位置区域对应的各第二观看客户端发送第二切换指令,以使所述各第二观看客户端切换至对应的第二备份cdn节点以获得直播视频流。

可选地,所述cdn节点信息中包括cdn节点所属的服务商和位置区域;

所述方法还包括:

确定所述各cdn节点信息对应的各服务商;

根据所述各观看流畅性指示信息确定所述各服务商分别对应的卡顿比;

若存在卡顿比大于预设比值的异常服务商,则将所述异常服务商对应的直播视频流切换至各第三备份cdn节点,向所述异常服务商对应的第三观看客户端发送第三切换指令,以使所述第三观看客户端切换至对应的第三备份cdn节点以获得直播视频流。

可选地,所述根据所述各观看流畅性指示信息确定所述各服务商分别对应的卡顿比,包括:

确定所述各cdn节点信息对应的各位置区域;

根据所述各观看流畅性指示信息确定所述各服务商分别在所述各位置区域中对应的卡顿比。

本发明实施例提供一种直播调度装置,包括:

获取模块,用于获取各观看客户端上报的卡顿报告消息,所述卡顿报告消息中包括cdn节点信息和观看流畅性指示信息;

第一确定模块,用于根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比;

第一调度模块,用于若存在卡顿比大于预设比值的异常cdn节点,则将所述异常cdn节点对应的直播视频流切换至第一备份cdn节点,向所述异常cdn节点对应的各第一观看客户端发送第一切换指令,以使所述各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

可选地,所述装置还包括:

选择模块,用于从所述备选cdn节点集合中选择所述第一备份cdn节点;

所述第一确定模块,还用于确定与所述异常cdn节点所属的服务商和位置区域对应的备选cdn节点集合。

可选地,所述cdn节点信息中包括cdn节点所属的位置区域;

所述装置还包括:

第二确定模块,用于确定所述各cdn节点信息对应的各位置区域,以及根据所述各观看流畅性指示信息确定所述各位置区域分别对应的卡顿比;

第二调度模块,用于若存在卡顿比大于预设比值的异常位置区域,则将所述异常位置区域对应的直播视频流切换至各第二备份cdn节点,向所述异常位置区域对应的各第二观看客户端发送第二切换指令,以使所述各第二观看客户端切换至对应的第二备份cdn节点以获得直播视频流。

可选地,所述cdn节点信息中包括cdn节点所属的服务商和位置区域;

所述装置还包括:

第三确定模块,用于确定所述各cdn节点信息对应的各服务商,以及根据所述各观看流畅性指示信息确定所述各服务商分别对应的卡顿比;

第三调度模块,用于若存在卡顿比大于预设比值的异常服务商,则将所述异常服务商对应的直播视频流切换至各第三备份cdn节点,向所述异常服务商对应的第三观看客户端发送第三切换指令,以使所述第三观看客户端切换至对应的第三备份cdn节点以获得直播视频流。

可选地,所述第三确定模块具体用于:确定所述各cdn节点信息对应的各位置区域,以及根据所述各观看流畅性指示信息确定所述各服务商分别在所述各位置区域中对应的卡顿比。

本发明实施例提供的直播调度方法及装置,调度服务器通过获取各个观看客户端上报的卡顿报告消息,根据卡顿报告消息中包括的观看流畅性指示信息和cdn节点信息确定各个cdn节点的直播视频流是否存在卡顿并确定各个cdn节点的卡顿比。若卡顿比大于预设比值,则表明该cnd节点的服务质量较差,是异常cdn节点,调度服务器为将直播视频流推送至异常cdn节点的主播客户端重新选择正常的cdn节点,即第一备份cdn节点,并将直播视频流切换至服务质量较高的第一备份cdn节点,使主播客户端可以正常推送直播视频流。同时调度服务器还向异常cdn节点对应的各个第一观看客户端发送第一切换指令,使得各个第一观看客户端自动切换至第一备份cdn节点以获得直播视频流。由于选取的第一备份cdn节点是正常的、服务质量较高的cdn节点,观看客户端可以从服务质量较高的第一备份cdn节点获得直播视频流,保证了直播的顺利进行。

附图说明

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

图1为本发明实施例提供的直播调度方法实施例一的流程图;

图2为本发明实施例提供的直播调度方法实施例二的流程图;

图3为本发明实施例提供的直播调度方法实施例三的流程图;

图4为本发明实施例提供的直播调度装置实施例一的结构示意图;

图5为本发明实施例提供的直播调度装置实施例二的结构示意图;

图6为本发明实施例提供的直播调度装置实施例三的结构示意图。

具体实施方式

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

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

图1为本发明实施例提供的直播调度方法实施例一的流程图。本实施例提供的该直播调度方法的执行主体可以为调度服务器,如图1所示,该方法包括如下步骤:

s101,获取各观看客户端上报的卡顿报告消息,卡顿报告消息中包括cdn节点信息和观看流畅性指示信息。

实际应用中,观看客户端在观看某直播间的直播视频过程中,可以以预设的时间间隔比如每间隔1分钟向调度服务器发送一卡顿报告消息,调度服务器可以每时间间隔比如每间隔3分钟获取观看客户端发送的卡顿报告消息。该卡顿报告消息中可以携带诸如正在观看的直播间所对应的cdn节点信息以及指示正在观看的直播间的视频流是否流畅的指示信息。

可选地,卡顿报告消息中的cdn节点信息可以包括cdn节点的ip地址、cdn节点所属的位置区域以及服务商等。观看流畅性指示信息可以包括:流畅性指示标识。其中,当观看的直播视频流畅时,可以以online标识来表示流畅,反之,如果不流畅,则可以以buffer标识来表示卡顿。同时,卡顿报告消息中还可以包括发送此卡顿报告消息的观看客户端的观看客户端标识。

调度服务器为了统计各cdn节点的服务质量情况,可以以一定时间间隔比如5分钟统计各cdn节点的卡顿情况。具体地,调度服务器可以每隔一定时间间隔汇总该时间段内各观看客户端上报的卡顿报告消息,基于对这些卡顿报告消息对应的cdn节点信息和观看流畅性指示信息的汇总,得到各cdn节点的卡顿情况。

s102,根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比。

调度服务器可以将获取的各个观看客户端上报的卡顿报告消息按照cdn节点信息进行划分,从而获得分别对应于各个cdn节点的卡顿报告消息,再根据各个cdn节点分别对应的卡顿报告消息中的观看流畅性指示信息确定各个cdn节点的卡顿比。

可选地,可以采用以下方式来确定任一cdn节点的卡顿比。

调度服务器根据卡顿报告消息中的cdn节点信息对卡顿报告消息进行划分,获得针对某一cdn节点的卡顿报告消息。根据卡顿报告消息中包括的观看客户端标识,调度服务器可以统计出发送针对此cdn节点的卡顿报告消息所对应的所有观看客户端的总数目m1,同时根据卡顿报告消息中包括的观看流畅性指示信息以及观看客户端标识统计出发送在m1条卡顿报告消息中属于卡顿消息的卡顿报告消息所对对应的观看客户端的数目n1,则此cdn节点的卡顿比为n1/m1。

s103,若存在卡顿比大于预设比值的异常cdn节点,则将异常cdn节点对应的直播视频流切换至第一备份cdn节点,向异常cdn节点对应的各第一观看客户端发送第一切换指令,以使各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

若某个cdn节点的卡顿比大于预设比值,则该cdn节点被确定为异常cdn节点,即该cdn节点的服务质量不佳。此时,调度服务器根据预设的对应关系将此异常cdn节点对应的直播视频流切换至第一备份cdn节点,也即是将该异常cdn节点上承载的全部或部分直播视频流切换至第一备份cdn节点。同时调度服务器还向该异常cdn节点对应的各个第一观看客户端发送第一切换指令,指令中可以包括其在观看的直播视频流在第一备份cdn节点上对应的拉流地址,以便于各个第一观看客户端自动切换至第一备份cdn节点,从第一备份cdn节点上获得对应的直播视频流。

调度服务器可以为每个直播间预先设置多个cdn节点,其中一个cdn节点为主节点,主播客户端可以优先将直播视频流上传至此节点,其余cdn节点为备份节点。从而,上述异常cdn节点一般为主节点,此时上述对应关系是指异常cdn节点和与其对应的至少一个备份cdn节点之间的对应关系,可选地,异常cdn节点和与其对应的至少一个备份cdn节点可以是属于相同的服务商和/或相同或相近的位置区域的。

基于上述对应关系,调度服务器可以从异常cdn节点对应的其他节点中选取一个cdn节点作为第一备份cdn节点,并将直播视频流切换推送至第一备份节点。

可选地,为了可以获得最佳的第一备份cdn节点以保证直播的顺利进行,在执行步骤s103之前还可采用以下方式为异常cdn节点选取第一备份cdn节点,以便将异常cdn节点对应的直播视频流切换至选取的第一备份cdn节点。调度服务器首先确定与异常cdn节点所属的服务商和位置区域对应的备选cdn节点集合。由于卡顿报告消息中的cdn节点信息中包括cdn节点所属的服务商和位置区域,因此,调度服务器根据卡顿报告消息中的cdn节点信息可以获得异常cdn节点所属的服务商和位置区域。调度服务器可以根据异常节点与至少一个备份节点之间所属服务商和位置区域的对应关系确定与异常cdn节点对应的至少一个备份节点,并将此至少一个备份节点组成与此异常cdn节点对应的备选cdn节点集合,也就是获得了备选cdn节点集合。可选地,备选cdn节点集合中的cdn节点可以全部或部分与异常cdn节点具有相同的服务商同时也具有相同或相近的位置区域。

调度服务器再从备选cdn节点集合中选择第一备份cdn节点。

可选地,选择策略可以为随机选择。通过随机选择的方式从备选cdn节点集合中选择第一备份cdn节点。

可选地,选择策略还可以为根据备份cdn节点的负载情况,选择负载压力最小的备份节点作为第一备份节点。

本实施例中,调度服务器通过获取各个观看客户端上报的卡顿报告消息,根据卡顿报告消息中包括的观看流畅性指示信息和cdn节点信息确定各个cdn节点的直播视频流是否存在卡顿并确定各个cdn节点的卡顿比。若卡顿比大于预设比值,则表明该cnd节点的服务质量较差,是异常cdn节点,调度服务器为将直播视频流推送至异常cdn节点的主播客户端重新选择正常的cdn节点,即第一备份cdn节点,并将直播视频流切换至服务质量较高的第一备份cdn节点,使主播客户端可以正常推送直播视频流。同时调度服务器还向异常cdn节点对应的各个第一观看客户端发送第一切换指令,使得各个第一观看客户端自动切换至第一备份cdn节点以获得直播视频流。由于选取的第一备份cdn节点是正常的、服务质量较高的cdn节点,观看客户端可以从服务质量较高的第一备份cdn节点获得直播视频流,保证了直播的顺利进行。

图2为本发明实施例提供的直播调度方法实施例二的流程图,如图2所示,该方法可以包括如下步骤:

s201,获取各观看客户端上报的卡顿报告消息,卡顿报告消息中包括cdn节点信息和观看流畅性指示信息。

其中,cdn节点信息中包括cdn节点所属的位置区域。

上述步骤s201的具体执行过程可以参见如图1所示实施例中的相关描述,在此不赘述。

s202,确定各cdn节点信息对应的各位置区域。

调度服务器可以根据卡顿报告消息中cdn节点信息中包括的cdn节点所属位置区域以及观看客户端标识确定出发送卡顿报告消息的各个观看客户端所属的位置区域,以便对发送卡顿报告消息的观看客户端所在的位置区域进行卡顿比的计算。例如,调度服务器在1分钟内收到100条卡顿报告消息,根据cdn节点信息确定出此100条卡顿报告消息分别对应于位置区域a、b、c,则调度服务器需要对位置区域a、b、c进行区域层级的卡顿比计算。

s203,根据各观看流畅性指示信息确定各位置区域分别对应的卡顿比。

调度服务器可以将获取的各个观看客户端上报的卡顿报告消息按照cdn节点信息中包括的所属位置区域进行划分,从而获得分别对应于各个位置区域的卡顿报告消息,再根据各个位置区域分别对应的卡顿报告消息中的观看流畅性指示信息确定各个位置区域的卡顿比。

可选地,可以采用以下方式来确定任一位置区域的卡顿比。

调度服务器根据卡顿报告消息中的cdn节点对应的所属位置区域对接收到的各卡顿报告消息进行划分,获得的针对各位置区域的卡顿报告消息。进而,针对任一位置区域对应的卡顿报告消息来说,调度服务器根据卡顿报告消息中的观看客户端标识统计出针对此位置区域的卡顿报告消息对应的观看客户端的总数目m2,同时根据卡顿报告消息中的观看流畅性指示信息以及观看客户端标识统计出在针对此位置区域的全部卡顿报告消息中属于卡顿消息的卡顿报告消息对应的观看客户端的数目n2,则此位置区域的卡顿比为n2/m2。

s204,若存在卡顿比大于预设比值的异常位置区域,则将所述异常位置区域对应的直播视频流切换至各第二备份cdn节点,向所述异常位置区域对应的各第二观看客户端发送第二切换指令,以使所述各第二观看客户端切换至对应的第二备份cdn节点以获得直播视频流。

若某一位置区域的卡顿比大于预设比值时,则该位置区域被确定为异常位置区域,调度服务器将此异常位置区域对应的直播视频流切换至各第二备份cdn节点。同时调度服务器向该异常位置区域对应的各个第二观看客户端发送第二切换指令,指令中可以包括第二备份cdn节点的拉流地址,以便于各个第二观看客户端自动切换至与其对应的第二备份cdn节点,根据第二备份cdn节点的拉流地址获得直播视频流。

可选地,如前述实施例所述,每个直播间可以预先被分配有多个cdn节点,其中包括主cdn节点和备份cdn节点。本实施例中,针对上述异常位置区域的切换,实质上即是针对该异常位置区域内正在工作的各cdn节点上所承载的直播间进行向各自对应的备份cnd节点的切换。也就是说,调度服务器会将此异常位置区域中的所有当前正在接收直播视频流的各cdn节点所接收的直播视频流分别切换至与其对应的各第二备份节点,也即是做到异常位置区域对应的直播视频流整体切换至各第二备份cdn节点。

若在执行步骤s202后发现各个位置区域内的卡顿比均正常,则表明无需为各个位置区域整体更换cdn节点,可选地,在此基础上该直播调度方法还可以包括下步骤:

s205,根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比。

s206,若存在卡顿比大于预设比值的异常cdn节点,则述异常cdn节点对应的直播视频流切换至第一备份cdn节点,向异常cdn节点对应的各第一观看客户端发送第一切换指令,以使各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

上述步骤s205-s206的具体执行过程可以参见如图1所示实施例中的相关描述,在此不赘述。

本实施例中,调度服务器根据各个观看客户端上报的卡顿报告消息,首先对卡顿报告消息对应的cdn节点所属的位置区域进行位置区域层级的卡顿情况检测,当位置区域层级的检测结果表明某位置区域出现严重卡顿情况时,则将该整个位置区域对应的直播视频流切换至各第二备份cdn节点。当位置区域层级的检测未出现严重卡顿情况时,则进一步地再对该位置区域进行cdn节点层级的卡顿情况检测,并将发生严重卡顿的cdn节点对应的直播视频流切换至对应的第一备份cdn节点。对观看客户端上报的卡顿报告消息进行逐级的卡顿情况检测,并将直播视频流切换至服务质量正常的cdn节点上,保证直播的顺利进行。

另外,需要说明的是,本实施例只是举例说明可以先从位置区域层面检测位置区域的卡顿情况,然后再从cdn节点层面检测具体的某个cdn节点是否存在卡顿。而本发明方案并不限定位置区域检测与cdn节点检测之间的先后顺序,也就是也可以先进行cdn节点检测再进行位置区域检测。

除了上述位置区域层级、cdn节点层级的cdn节点卡顿情况的检测,本发明实施例中,还提供了服务商层级的cdn节点卡顿情况检测,如图3所示实施例中所示。图3为本发明实施例提供的直播调度方法实施例三的流程图,该方法还可以包括如下步骤:

s301,获取各观看客户端上报的卡顿报告消息,卡顿报告消息中包括cdn节点信息和观看流畅性指示信息。

其中,cdn节点信息中可以包括cdn节点所属的服务商和位置区域。

上述步骤s301的执行过程可以参见如图1所示实施例中的相关描述,在此不赘述。

s302,确定各cdn节点信息对应的各服务商。

调度服务器根据卡顿报告消息中cdn节点信息中包括的所属服务商即可确定各个卡顿报告消息对应的各个cdn节点所属的服务商,以便对发送卡顿报告消息的观看客户端所属的服务商进行卡顿比的计算。例如,调度服务器在1分钟内收到100条卡顿报告消息,根据cdn节点信息确定出此100条卡顿报告消息分别对应于服务商a、b,则调度服务器需要对服务商a、b进行服务商层级的卡顿比计算。

s303,根据各观看流畅性指示信息确定各服务商分别对应的卡顿比。

调度服务器可以将获取的各个观看客户端上报的卡顿报告消息按照cdn节点所属的服务商进行划分,获得分别对应于各个服务商的卡顿报告消息,根据观看流畅性指示信息确定各个服务商对应的卡顿比。

可选地,可以采用如下方法确定各个服务商对应的卡顿比。

调度服务器根据卡顿报告消息中的cdn节点对应的服务商对卡顿报告消息进行划分,获得的针对各服务商的卡顿报告消息。进而,针对任一服务商的卡顿报告消息来说,调度服务器根据卡顿报告消息中的观看客户端标识统计出针对此服务商的卡顿报告消息对应的观看客户端的总数目m3,同时根据卡顿报告消息中的观看流畅性指标信息以及观看客户端标识统计出在针对此服务商的全部卡顿报告消息中属于卡顿消息的卡顿报告消息对应的观看客户端的数目n3,则此服务商的卡顿比为n3/m3。

调度服务器计算出各个服务商的卡顿比后,当存在某一个或几个服务商为卡顿比超过预设比值的异常服务商时,可选地,还可以进一步对属于各异常服务商的各个位置区域的卡顿比进行计算,根据计算结果获知各服务商下具体哪些个位置区域存在直播卡顿严重。获知各务商下各个位置区域卡顿比的具体过程如下:针对任一服务商对应的卡顿报告消息来说,调度服务器先根据卡顿报告消息中cdn节点对应的所属位置区域确定该服务商对应的各位置区域;再根据卡顿报告消息中包括的观看流畅性指示信息确定各服务商分别在各位置区域中对应的卡顿比。上述确定各个服务商中各个位置区域卡顿比的过程与实施例2步骤s203-s204相似,在此不再赘述。

s304,若存在卡顿比大于预设比值的异常服务商,则将异常服务商对应的直播视频流切换至各第三备份cdn节点,向异常服务商对应的第三观看客户端发送第三切换指令,以使第三观看客户端切换至对应的第三备份cdn节点以获得直播视频流。

若某一服务商的卡顿比大于预设比值时,则该服务商被确定为异常服务商,调度服务器根据预设的对应关系将此异常服务商对应的直播视频流切换至第三备份cdn节点,也即是做到某一服务商对应的直播视频流整体切换至第三备份cdn节点。同时调度服务器向该异常服务商对应的各个第三观看客户端发送第三切换指令,指令中可以包括第三备份cdn节点的拉流地址,以便于各个第三观看客户端自动切换至第三备份cdn节点,根据第三备份cdn节点的拉流地址获得直播视频流。

可选地,在实际应用中,一般会在某个位置区域中设置比如两个或多个服务商的cdn节点,以避免某服务商的网络异常对直播的不利影响。另外,在该位置区域中,针对同一服务商来说,也可能会设置至少一个cdn节点,以避免cdn节点异常对直播的不利影响。

因此,本实施例中,在基于前述实施例提及的每个直播间可以预先被分配有多个cdn节点,其中包括主cdn节点和备份cdn节点的情况下,该主cdn节点可以是对应于预设某服务商的cdn节点,而备份cdn节点则既可以包括对应于该服务商的cdn节点,也可以包括对应于其他不同服务商的cdn节点。

另外,可选地,可以预先设定服务商的使用优先级,即设定当存在多个服务商的cdn节点时,某直播间优先使用哪个服务商的cdn节点。

基于此,本实施例中,针对上述异常服务商的切换,就是将使用异常服务商的cdn节点的直播间的直播视频切换到对应的第三备份cdn节点,该第三备份cdn节点可以是从该直播间对应的非当前正在使用的cdn节点中随机或按照优先级选定的。

若在执行步骤s303后发现各个服务商的卡顿比均正常,则表明无需为各个服务商整体更换cdn节点,可选地,在此基础上该直播调度方法还可以包括以下步骤:

s305,根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比。

s306,若存在卡顿比大于预设比值的异常cdn节点,则将异常cdn节点对应的直播视频流切换至第一备份cdn节点,向异常cdn节点对应的各第一观看客户端发送第一切换指令,以使各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

上述步骤s305-306的执行过程可以参见如图1所示实施例中的相关描述,在此不赘述。

本实施例中,调度服务器根据各个观看客户端上报的卡顿报告消息,首先对卡顿报告消息对应的cdn节点所属的服务商进行服务商层级的卡顿情况检测,当服务商层级的检测出现卡顿情况时,还可以针对此服务商进行位置区域层级的卡顿情况检测,并将该整个服务商对应的直播视频流切换至与其对应的各第三备份cdn节点。当服务商层级的检测未出现卡顿情况时,则再对该服务商进行cdn节点层级的卡顿情况检测,并将发生卡顿的cdn节点对应的直播视频流切换至第一备份cdn节点。上述两种情况最终都是将直播视频流切换至正常的cdn节点,以此保证直播的顺利进行。

需要说明的是,本实施例只是举例说明可以先从服务商层面检测服务商的卡顿情况,然后再从cdn节点层面检测具体的某个cdn节点是否存在卡顿。而本发明方案并不限定服务商检测与cdn节点检测之间的先后顺序,也可以先进行cdn节点检测再进行服务商检测。

图4为本发明实施例提供的直播调度装置实施例一的结构示意图,如图4所示,该直播调度装置包括:获取模块11、第一确定模块12、第一调度模块13。

获取模块11,用于获取各观看客户端上报的卡顿报告消息,卡顿报告消息中包括cdn节点信息和观看流畅性指示信息。

第一确定模块12,用于根据各观看流畅性指示信息确定各cdn节点信息对应的各cdn节点的卡顿比。

第一调度模块13,用于若存在卡顿比大于预设比值的异常cdn节点,则将异常cdn节点对应的直播视频流切换至第一备份cdn节点,向异常cdn节点对应的各第一观看客户端发送第一切换指令,以使各第一观看客户端切换至第一备份cdn节点以获得直播视频流。

可选地,该直播调度装置还可以包括:

选择模块,用于从备选cdn节点集合中选择第一备份cdn节点。

第一确定模块12,还用于确定与异常cdn节点所属的服务商和位置区域对应的备选cdn节点集合。

图4所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。

图5为本发明实施例提供的直播调度装置实施例二的结构示意图,如图5所示,在图4所示实施例基础上,该直播调度装置还包括:第二确定模块21、第二调度模块22。

第二确定模块21,用于确定各cdn节点信息对应的各位置区域,以及根据各观看流畅性指示信息确定各位置区域分别对应的卡顿比。

第二调度模块22,用于若存在卡顿比大于预设比值的异常位置区域,则将异常位置区域对应的直播视频流切换至各第二备份cdn节点,向异常位置区域对应的各第二观看客户端发送第二切换指令,以使各第二观看客户端切换至对应的第二备份cdn节点以获得直播视频流。

图5所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。

图6为本发明实施例提供的直播调度装置实施例三的结构示意图,如图6所示,在图4所示实施例基础上,该直播调度装置还包括:第三确定模块31、第三调度模块32。

第三确定模块31,用于确定各cdn节点信息对应的各服务商,以及根据各观看流畅性指示信息确定各服务商分别对应的卡顿比。

第三确定模块31具体用于:确定各cdn节点信息对应的各位置区域,以及根据各观看流畅性指示信息确定各服务商分别在各位置区域中对应的卡顿比。

第三调度模块32,用于若存在卡顿比大于预设比值的异常服务商,则将异常服务商对应的直播视频流切换至各第三备份cdn节点,向异常服务商对应的第三观看客户端发送第三切换指令,以使第三观看客户端切换至对应的第三备份cdn节点以获得直播视频流。

图6所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。

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

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

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

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