业务分配方法、装置、服务器及存储介质与流程

文档序号:18180078发布日期:2019-07-17 05:09阅读:211来源:国知局
业务分配方法、装置、服务器及存储介质与流程

本公开涉及网络通信技术领域,特别涉及一种业务分配方法、装置、服务器及存储介质。



背景技术:

随着网络的快速发展,直播平台逐渐兴起,越来越多的用户通过直播平台获取音视频等内容,为了缓解直播过程中网络的数据传输压力,出现了cdn(contentdeliverynetwork,内容分发网络),基于业务分配方法,系统可以分别分配给该内容分发网络的各组节点设备适当比例的内容获取请求。

目前,常用的业务分配方法为:系统根据与各组节点设备签订的有关流量分配比例限制的协议,预设与每组节点设备对应的流量分配比例,当系统获取到多个终端发送的内容获取请求时,系统根据预设的流量分配比例,从多个内容获取请求中,随机选取与各个流量分配比例对应数量的内容获取请求分配到各组节点设备中。

基于上述业务分配方法,各组节点设备的服务质量可能会发生变化,因此,采用固定流量分配比例进行内容获取请求分配的方式,无法充分利用各组节点设备的优质资源,对内容获取请求分配的灵活性较差。



技术实现要素:

本公开提供了一种业务分配方法、装置、服务器及存储介质,能够解决无法充分利用各组节点设备的优质资源,对内容获取请求分配的灵活性较差的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种业务分配方法,包括:

实时获取多个终端的直播通信参数,所述直播通信参数包括所述多个终端在通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数;

基于所述直播通信参数,调节分配比例,所述分配比例用于表示分配给每组节点设备的内容获取请求的数量;

当获取到至少一个终端的内容获取请求时,将与所述分配比例对应数量的内容获取请求发送给所述各组节点设备。

在一种可能的设计中,所述基于所述直播通信参数,调节分配比例包括:

基于所述直播通信参数,为所述各组节点设备分别分配第一分配比例;

根据所述每组节点设备的比例约束条件对各个第一分配比例进行调节,获取所述每组节点设备的第二分配比例,所述第二分配比例满足所述比例约束条件。

在一种可能的设计中,所述基于所述直播通信参数,为所述各组节点设备分别分配第一分配比例包括:

根据所述直播通信参数中的所述服务状态参数,从所述各组节点设备中,确定各组已服务节点设备和各组未服务节点设备;

根据所述直播通信参数中所述直播通信质量的优劣,为所述各组已服务节点设备分配目标数值的第一分配比例,所述目标数值与所述直播通信质量的优劣呈正相关关系;

为所述各组未服务节点设备分配预设的第一分配比例。

在一种可能的设计中,所述根据所述每组节点设备的比例约束条件对各个第一分配比例进行调节,获取所述每组节点设备的第二分配比例包括:

当第一节点设备的第一分配比例超过所述第一节点设备的最大限制比例时,将所述第一节点设备的第一分配比例中超过所述最大限制比例的部分数值,分配给除所述第一节设备外的其他至少一组节点设备,得到所述每组节点设备的第二分配比例,所述第一节点设备为所述各组节点设备中的任一组节点设备;

当第二节点设备的第一分配比例低于所述第二节点设备的最小限制比例时,将除所述第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给所述第二节点设备,得到所述每组节点设备的第二分配比例,所述第二节点设备为所述各组节点设备中的任一组节点设备。

在一种可能的设计中,所述当第一节点设备的第一分配比例超过所述第一节点设备的最大限制比例时,将所述第一节点设备的第一分配比例中超过所述最大限制比例的部分数值,分配给除所述第一节点设备外的其他至少一组节点设备,得到所述每组节点设备的第二分配比例包括:

当所述第一节点设备的第一分配比例超过所述最大限制比例时,确定所述第一节点设备与其他各组节点设备之间的直播通信参数差;

根据所述直播通信参数差,将所述第一节点设备的第一分配比例中超过所述最大限制比例的部分数值,分配给所述除所述第一节点设备外的其他至少一组节点设备,得到所述每组节点设备的第二分配比例,所述除所述第一节点设备外的其他至少一组节点设备分配到的第一分配比例的部分数值与所述直播通信参数差呈负相关关系。

在一种可能的设计中,所述当第二节点设备的第一分配比例低于所述第二节点设备的最小限制比例时,将除所述第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给所述第二节点设备,得到所述每组节点设备的第二分配比例包括:

当所述第二节点设备的第一分配比例低于所述最小限制比例时,确定所述第二节点设备与其他各组节点设备之间的直播通信参数差;

根据所述直播通信参数差,将所述除所述第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给所述第二节点设备,得到所述每组节点设备的第二分配比例,所述除所述第二节点设备外的其他至少一组节点设备被转移走的第一分配比例的部分数值与所述直播通信参数差呈负相关关系。

在一种可能的设计中,所述实时获取多个终端的直播通信参数包括:

实时获取多个终端与所述多组节点设备之间的第一通信数据,所述第一通信数据携带时间戳;

确定主播用户所在终端与所述各组节点设备之间的目标第一通信数据所携带的第一时间戳,所述目标第一通信数据对应的直播通信参数满足质量异常条件;

从观众用户所在终端的第一通信数据中,将携带有第二时间戳的第一通信数据去除,得到第二通信数据,所述第二时间戳与所述第一时间戳之间间隔目标时长;

基于所述第二通信数据,获取所述观众用户所在终端的直播通信参数。

在一种可能的设计中,所述基于所述第二通信数据,获取所述观众用户所在终端的直播通信参数包括:

对所述第二通信数据进行分组,得到多组第二通信数据,每组第二通信数据与一个终端组和一组节点设备相对应,每个终端组包括具有相同属性的至少一个终端,所述属性用于表示所述至少一个终端的入网信息和硬件信息;

基于所述每组第二通信数据,获取所述每个终端组与每组节点设备之间的直播通信参数。

在一种可能的设计中,所述基于所述每组第二通信数据,获取所述每个终端组与每组节点设备之间的直播通信参数包括:

基于所述每组第二通信数据,获取所述每个终端组与所述每组节点设备之间的备选卡顿率;

从所述每个终端组与所述每组节点设备之间的备选卡顿率中,确定最小卡顿率和最大卡顿率;

基于所述备选卡顿率、所述最小卡顿率和所述最大卡顿率,获取所述每个终端组与所述每组节点设备之间的直播通信参数。

在一种可能的设计中,所述实时获取多个终端的直播通信参数包括:

每隔目标时长,获取所述多个终端的备选直播通信参数;

当仅一次获取到所述多个终端的备选直播通信参数时,将一次获取到的所述多个终端的备选直播通信参数,作为当前时刻所述多个终端的直播通信参数;

当多次获取到所述多个终端的备选直播通信参数时,将每个终端的多个直播通信参数的指数加权平均值,作为所述当前时刻所述每个终端的直播通信参数。

根据本公开实施例的第二方面,提供一种业务分配装置,包括:

获取单元,被配置为实时获取多个终端的直播通信参数,所述直播通信参数包括所述多个终端在通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数;

调节单元,被配置为基于所述直播通信参数,调节分配比例,所述分配比例用于表示分配给每组节点设备的内容获取请求的数量;

发送单元,被配置为当获取到至少一个终端的内容获取请求时,将与所述分配比例对应数量的内容获取请求发送给所述各组节点设备。

在一种可能的设计中,所述调节单元包括:

分配子单元,被配置为基于所述直播通信参数,为所述各组节点设备分别分配第一分配比例;

第一获取子单元,被配置为根据所述每组节点设备的比例约束条件对各个第一分配比例进行调节,获取所述每组节点设备的第二分配比例,所述第二分配比例满足所述比例约束条件。

在一种可能的设计中,所述分配子单元被配置为:

根据所述直播通信参数中的所述服务状态参数,从所述各组节点设备中,确定各组已服务节点设备和各组未服务节点设备;

根据所述直播通信参数中所述直播通信质量的优劣,为所述各组已服务节点设备分配目标数值的第一分配比例,所述目标数值与所述直播通信质量的优劣呈正相关关系;

为所述各组未服务节点设备分配预设的第一分配比例。

在一种可能的设计中,所述第一获取子单元被配置为:

当第一节点设备的第一分配比例超过所述第一节点设备的最大限制比例时,将所述第一节点设备的第一分配比例中超过所述最大限制比例的部分数值,分配给除所述第一节点设备外的其他至少一组节点设备,得到所述每组节点设备的第二分配比例,所述第一节点设备为所述各组节点设备中的任一组节点设备;

当第二节点设备的第一分配比例低于所述第二节点设备的最小限制比例时,将除所述第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给所述第二节点设备,得到所述每组节点设备的第二分配比例。

在一种可能的设计中,所述第一获取子单元还被配置为:

当所述第一节点设备的第一分配比例超过所述最大限制比例时,确定所述第一节点设备与其他各组节点设备之间的直播通信参数差;

根据所述直播通信参数差,将所述第一节点设备的第一分配比例中超过所述最大限制比例的部分数值,分配给所述除所述第一节点设备外的其他至少一组节点设备,得到所述每组节点设备的第二分配比例,所述除所述第一节点设备外的其他至少一组节点设备分配到的第一分配比例的部分数值与所述直播通信参数差呈负相关关系。

在一种可能的设计中,所述第一获取子单元还被配置为:

当所述第二节点设备的第一分配比例低于所述最小限制比例时,确定所述第二节点设备与其他各组节点设备之间的直播通信参数差;

根据所述直播通信参数差,将所述除所述第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给所述第二节点设备,得到所述每组节点设备的第二分配比例,所述除所述第二节点设备外的其他至少一组节点设备被转移走的第一分配比例的部分数值与所述直播通信参数差呈负相关关系。

在一种可能的设计中,所述获取单元包括:

第二获取子单元,被配置为实时获取多个终端与所述各组节点设备之间的第一通信数据,所述第一通信数据携带时间戳;

确定子单元,被配置为确定主播用户所在终端与所述各组节点设备之间的目标第一通信数据所携带的第一时间戳,所述目标第一通信数据对应的直播通信参数满足质量异常条件;

去除子单元,被配置为从观众用户所在终端的第一通信数据中,将携带有第二时间戳的第一通信数据去除,得到第二通信数据,所述第二时间戳与所述第一时间戳之间间隔目标时长;

第三获取子单元,被配置为基于所述第二通信数据,获取所述观众用户所在终端的直播通信参数。

在一种可能的设计中,所述第三获取子单元被配置为:

对所述第二通信数据进行分组,得到多组第二通信数据,每组第二通信数据与一个终端组和一组节点设备相对应,每个终端组包括具有相同属性的至少一个终端,所述属性用于表示所述至少一个终端的入网信息和硬件信息;

基于所述每组第二通信数据,获取所述每个终端组与每组节点设备之间的直播通信参数。

在一种可能的设计中,所述第三获取子单元还被配置为:

基于所述每组第二通信数据,获取所述每个终端组与所述每组节点设备之间的备选卡顿率;

从所述每个终端组与所述每组节点设备之间的备选卡顿率中,确定最小卡顿率和最大卡顿率;

基于所述备选卡顿率、所述最小卡顿率和所述最大卡顿率,获取所述每个终端组与所述每组节点设备之间的直播通信参数。

在一种可能的设计中,所述获取单元被配置为:

每隔目标时长,获取所述多个终端的备选直播通信参数;

当仅一次获取到所述多个终端的备选直播通信参数时,将一次获取到的所述多个终端的备选直播通信参数,作为当前时刻所述多个终端的直播通信参数;

当多次获取到所述多个终端的备选直播通信参数时,将每个终端的多个直播通信参数的指数加权平均值,作为所述当前时刻所述每个终端的直播通信参数。

根据本公开实施例的第三方面,提供一种服务器,包括:

一个或多个处理器;

用于存储所述一个或多个处理器可执行指令的易失性或非易失性存储器;

其中,所述一个或多个处理器被配置为实现如上述任一项业务分配方法所执行的操作。

根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由服务器的一个或多个处理器执行时,使得服务器能够执行如上述任一项业务分配方法所执行的操作。

根据本公开实施例的第五方面,提供一种应用程序,包括一条或多条指令,该一条或多条指令可以由服务器的处理器执行时,使得服务器能够执行上述任一项业务分配方法所执行的操作。

本公开实施例通过控制服务器实时获取多个终端通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数等直播通信参数,使得控制服务器可以根据可能变化的直播通信参数,及时对分配比例进行调节,实现了控制服务器对分配给各组节点设备的内容获取请求的数量进行调节的目的,从而,可以充分利用各组节点设备的优质资源,提高了对内容获取请求进行分配的灵活性。

附图说明

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

图1是根据一示例性实施例示出的一种业务分配方法的系统框架图。

图2是根据一示例性实施例示出的一种业务分配方法的流程图。

图3是根据一示例性实施例示出的一种业务分配方法的流程图。

图4是根据一示例性实施例示出的一种业务分配装置的结构框图。

图5是根据一示例性实施例示出的一种终端500的结构框图。

图6是根据一示例性实施例示出的一种服务器600的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种业务分配方法的系统框架图。参照图1,系统框架图是以多个终端和控制服务器之间的交互为例进行说明的。

其中,该多个终端可以安装有多个客户端,该多个客户端可以基于与各组节点设备之间的通信,为用户提供直播功能。在直播场景中,该多个终端可以包括主播用户所在终端和观众用户所在终端。该多个终端可以与该控制服务器连接,该多个终端可以为电脑、智能手机或者平板电脑等电子设备。

在一些实施例中,该多个终端可以通过客户端实时向api(applicationprogramminginterface,应用程序编程接口)接口上传汇报内容,该汇报内容可以包括用户相关信息和通信数据,作为示例,该用户相关信息可以为用户标识、终端ip地址(internetprotocoladdress,互联网协议地址)、终端所在运营商以及网络类型等,该通信数据可以包括直播内容生成时的视频质量数据以及直播内容观看是的视频质量数据,作为示例,该通信数据可以为该多个终端在直播过程中发送或者下载的数据量、编码帧数、卡顿次数或者重试次数等。在对直播视频真实服务器地址进行解析过程中,该多个终端可以通过该api向内容分发网络中的目标服务商的节点设备发送内容获取请求,以获取具体的url(uniformresourcelocator,统一资源定位符)网页地址。

其中,该控制服务器可以获取到该多个终端在直播过程中的通信数据,该通信数据可以为该多个终端与多组节点设备之间的通信数据,也可以为该多个终端在与其他电子设备进行通信时所产生的数据,该控制服务器具有数据缓存、数据分组聚合以及数据处理等功能,该控制服务器还可以对分配到各组节点设备的内容获取请求的比例进行控制。对于控制服务器来说,该控制服务器可以具有至少一种数据库,用以存储用户关系链、用户信息、通信数据等等。

在一些实施例中,该控制服务器可以实时获取通信数据,该控制服务器可以将获取到的通信数据存储到分布式数据队列服务kafka(卡夫卡)中,以生成数据源。该控制服务器可以通过flink(流媒体大数据处理平台),以极快的速度处理数据密集型的计算任务,从而,消费kafka中的通信数据,该控制服务器可以根据用户相关信息对通信数据进行分组聚合,得到每组通信数据的直播通信质量,该控制服务器可以将得到的直播通信质量存储到memcache(分布式高速缓存系统)数据库或者redis(数据结构存储系统)数据库中。该控制服务器还可以读取memcache数据库或者redis数据库中的直播通信质量,通过rpc(remoteprocedurecall,远程过程调用协议),调用节点设备智能调度模块对直播通信质量进行分析,例如,控制服务器可以根据d-ucb(discountedupperconfidencebound,上置信区间)算法对直播通信质量进行分析。该控制服务器可以将为多个终端分配的节点设备的域名嵌入到多个终端的feed流(接收信息来源更新的接口)中,随feed流向多个终端下发节点设备列表,同时,可以通过dashboard(数据可视化模块)进行在线算法性能分析。

图2是根据一示例性实施例示出的一种业务分配方法的流程图。参照图2,该业务分配方法可以应用于控制服务器中,包括以下步骤:

在步骤201中,实时获取多个终端的直播通信参数,该直播通信参数包括该多个终端在通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数。

在步骤202中,基于该直播通信参数,调节分配比例,该分配比例用于表示分配给每组节点设备的内容获取请求的数量。

在步骤203中,当获取到至少一个终端的内容获取请求时,将与该分配比例对应数量的内容获取请求发送给该各组节点设备。

本公开实施例通过控制服务器实时获取多个终端通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数等直播通信参数,使得控制服务器可以根据可能变化的直播通信参数,及时对分配比例进行调节,实现了控制服务器对分配给各组节点设备的内容获取请求的数量进行调节的目的,从而,可以充分利用各组节点设备的优质资源,提高了对内容获取请求进行分配的灵活性。

在一些实施例中,该基于该直播通信参数,调节分配比例包括:

基于该直播通信参数,为该各组节点设备分别分配第一分配比例;

根据该每组节点设备的比例约束条件对各个第一分配比例进行调节,获取该每组节点设备的第二分配比例,该第二分配比例满足该比例约束条件。

在一些实施例中,该基于该直播通信参数,为该各组节点设备分布分配第一分配比例包括:

根据该直播通信参数中的该服务状态参数,从该各组节点设备中,确定各组已服务节点设备和各组未服务节点设备;

根据该直播通信参数中该直播通信质量的优劣,为该各组已服务节点设备分配目标数值的第一分配比例,该目标数值与该直播通信质量的优劣呈正相关关系;

为该各组未服务节点设备分配预设的第一分配比例。

在一些实施例中,该根据该每组节点设备的比例约束条件对各个第一分配比例进行调节,获取该每组节点设备的第二分配比例包括:

当第一节点设备的第一分配比例超过该第一节点设备的最大限制比例时,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备外的其他至少一组节点设备,得到该每组节点设备的第二分配比例,该第一节点设备为该各组节点设备中的任一组节点设备;

当第二节点设备的第一分配比例低于该第二节点设备的最小限制比例时,将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到该每组节点设备的第二分配比例,该第二节点设备为该各组节点设备中的任一组节点设备。

在一些实施例中,该当第一节点设备的第一分配比例超过该第一节点设备的最大限制比例时,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备外的其他至少一组节点设备,得到该每组节点设备的第二分配比例包括:

当该第一节点设备的第一分配比例超过该最大限制比例时,确定该第一节点设备与其他各组节点设备之间的直播通信参数差;

根据该直播通信参数差,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给该除该第一节点设备外的其他至少一组节点设备,得到该每组节点设备的第二分配比例,该除该第一节点设备外的其他至少一组节点设备分配到的第一分配比例的部分数值与该直播通信参数差呈负相关关系。

在一些实施例中,该当该第二节点设备的第一分配比例低于该第二节点设备的最小限制比例时,将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到该每组节点设备的第二分配比例包括:

当该第二节点设备的第一分配比例低于该最小限制比例时,确定该第二节点设备与其他各组节点设备之间的直播通信参数差;

根据该直播通信参数差,将该除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到该每组节点设备的第二分配比例,该除该第二节点设备外的其他至少一组节点设备被转移走的第一分配比例的部分数值与该直播通信参数差呈负相关关系。

在一些实施例中,该实时获取多个终端的直播通信参数包括:

实时获取多个终端与该各组节点设备之间的第一通信数据,该第一通信数据携带时间戳;

确定主播用户所在终端与该各组节点设备之间的目标第一通信数据所携带的第一时间戳,该目标第一通信数据对应的直播通信参数满足质量异常条件;

从观众用户所在终端的第一通信数据中,将携带有第二时间戳的第一通信数据去除,得到第二通信数据,该第二时间戳与该第一时间戳之间间隔目标时长;

基于该第二通信数据,获取该观众用户所在终端的直播通信参数。

在一些实施例中,该基于该第二通信数据,获取该观众用户所在终端的直播通信参数包括:

对该第二通信数据进行分组,得到多组第二通信数据,每组第二通信数据与一个终端组和一组节点设备相对应,每个终端组包括具有相同属性的至少一个终端,该属性用于表示该至少一个终端的入网信息和硬件信息;

基于该每组第二通信数据,获取该每个终端组与每组节点设备之间的直播通信参数。

在一些实施例中,该基于该每组第二通信数据,获取该每个终端组与每组节点设备之间的直播通信参数包括:

基于该每组第二通信数据,获取该每个终端组与该每组节点设备之间的备选卡顿率;

从该每个终端组与该每组节点设备之间的备选卡顿率中,确定最小卡顿率和最大卡顿率;

基于该备选卡顿率、该最小卡顿率和该最大卡顿率,获取该每个终端组与该每组节点设备之间的直播通信参数。

在一些实施例中,该实时获取多个终端的直播通信参数包括:

每隔目标时长,获取该多个终端的备选直播通信参数;

当仅一次获取到该多个终端的备选直播通信参数时,将一次获取到的该多个终端的备选直播通信参数,作为当前时刻该多个终端的直播通信参数;

当多次获取到该多个终端的备选直播通信参数时,将每个终端的多个直播通信参数的指数加权平均值,作为该当前时刻该每个终端的直播通信参数。

图3是根据一示例性实施例示出的一种业务分配方法的流程图。参照图3,包括以下步骤:

在步骤301中,控制服务器实时获取多个终端与各组节点设备之间的第一通信数据。

在本公开实施例中,该各组节点设备可以为内容分发网络中用于为该多个终端提供服务的服务器,每组节点设备可以包括一个服务商的至少一个节点设备,该第一通信数据可以为该多个终端在直播过程中产生的通信数据,例如,该第一通信数据可以为该多个终端在通过多组节点设备观看直播时的直播通信数据,该第一通信数据还可以用于表示该各组节点设备是否为该多个终端提供了服务。作为示例,该第一通信数据可以为该多个终端所发送的数据量、所下载的数据量、编码帧数、卡顿次数和重试次数等。其中,所发送的数据量可以为主播用户所在终端在预设时长内向多组节点设备发送的数据量,所下载的数据量可以为观众用户所在终端在该预设时长内从多组节点设备中下载的数据量,该编码帧数可以为该多个终端在传输数据的过程中预设时长内的总编码帧数,该卡顿次数可以用于表示在该预设时长内该多个终端所发送的相邻帧音视频之间的时长大于标准时长的次数,该重试次数可以用于表示在该预设时长内该多个终端请求重新发送数据的次数。在其他实施例中,该第一通信数据还可以为其他数据,本公开实施例在此不做限定。

在一些实施例中,控制服务器实时获取多个终端与多组节点设备之间的第一通信数据的过程可以包括以下步骤301a至步骤301c:

301a:多个终端在直播过程中实时获取第一通信数据。

301b:该多个终端每隔第一时长,将该第一时长内的第一通信数据发送给该控制服务器。

其中,该第一时长可以为该多个终端所预设的任意时长,例如,该第一时长可以为10秒,在其他实施例中,该第一时长还可以为其他数值,本公开实施例在此不做限定。在一些实施例中,主播用户所在终端发送的第一通信数据可以携带第一备选时间戳,该第一备选时间戳可以用于表示该主播用户所在终端发送该第一通信数据时的时间点,观众用户所在终端发送的第一通信数据可以携带第二备选时间戳,该第二备选时间戳可以用于表示该观众用户所在终端发送该第一通信数据时的时间点,该第一通信数据还可以携带对应用户的用户标识。

301c:该控制服务器接收该第一时长内的第一通信数据。

上述步骤301a至步骤301c是以多个终端每隔第一时长向控制服务器发送第一通信数据为例,对该控制服务器获取该多个终端与各组节点设备之间的第一通信数据的过程进行说明的,通过该过程,该控制服务器可以实时获取到多个终端与各组节点设备之间的第一通信数据,根据该第一通信数据,该控制服务器可以对各组节点设备的直播通信质量等进行评估,以获取直播通信参数。在一些实施例中,通过该过程,该多个终端每隔第一时长,将该第一时长内的第一通信数据发送给控制服务器,使得该多个终端不是在每次获取到第一通信数据后,都立即向控制服务器发送第一通信数据,减少了该多个终端的电量消耗和网络通信流量的消耗,也减少了该控制服务器所需处理的通信数据的数据量,在一定程度上减轻了该控制服务器的系统压力。

在一些实施例中,该控制服务器可以将获取到的第一通信数据存储到分布式数据队列服务kafka中,该控制服务器可以通过flink等流媒体大数据处理平台实时处理第一通信数据。在其他实施例中,该控制服务器还可以通过spark(计算引擎)等数据处理平台对第一通信数据进行后续处理,本公开实施例在此不做限定。

在步骤302中,控制服务器确定主播用户所在终端与各组节点设备之间的目标第一通信数据所携带的第一时间戳。

在本公开实施例中,该目标第一通信数据对应的直播通信参数满足第一质量异常条件,也即是,该目标第一通信数据指的是主播用户所在终端与各组节点设备之间具有质量问题的第一通信数据。该第一时间戳也即是主播用户所在终端与各组节点设备之间具有质量问题的第一通信数据所携带的第一备选时间戳。在一些实施例中,控制服务器确定该第一时间戳的过程可以包括以下步骤302a至步骤302b:

302a:控制服务器从主播用户所在终端与各组节点设备之间的第一通信数据中,确定符合第一质量异常条件的目标第一通信数据。

其中,该第一质量异常条件可以用于表示主播用户所在终端的第一通信数据的直播通信质量劣于标准质量,该目标第一通信数据可能会影响观众用户的观看质量,该目标第一通信数据还可以携带相应主播用户的用户标识。

在一些实施例中,以主播用户所在终端的第一通信数据为主播用户所在终端实时发送的每第一时长内的第一数据量、第一编码帧数、第一卡顿次数和第一重试次数为例,该控制服务器确定符合第一质量异常条件的目标第一通信数据的过程可以如下:该控制服务器可以实时从主播用户所在终端的第一通信数据中,将符合第一质量异常条件的通信数据,确定为该目标第一通信数据。其中,该控制服务器可以将满足下述任一条件的通信数据,作为符合第一质量异常条件的通信数据:

条件一、每第一时长内的第一数据量与该第一时长的比值小于第一阈值;

条件二、每第一时长内的第一编码帧数与该第一时长的比值小于第二阈值;

条件三、每第一时长内的第一卡顿次数大于零;

条件四、每第一时长内的第一重试次数大于零。

通过步骤302a,该控制服务器可以从主播用户所在终端的第一通信数据中,实时筛选出具有质量问题的目标第一通信数据,使得该控制服务器可以确定由主播用户所在终端的音视频源的不稳定性所引起的质量较差的通信数据,以便于后续控制服务器判断各组节点设备的直播通信质量时,可以排除目标第一通信数据对各组节点设备的直播通信质量的影响。在其他实施例中,该控制服务器还可以通过其他方式来获取该目标第一通信数据,本公开实施例在此不做限定。

302b:控制服务器将该目标第一通信数据所携带的第一备选时间戳,确定为该第一时间戳。

通过上述步骤302a至步骤302b,控制服务器可以从主播用户所在终端与各组节点设备之间的第一通信数据中,确定具有质量问题的第一通信数据携带的第一时间戳,从而,控制服务器后续可以根据该第一时间戳,从观众用户所在终端的第一通信数据中确定相对应的通信数据。

在步骤303中,控制服务器从观众用户所在终端的第一通信数据中,将携带有第二时间戳的第一通信数据去除,得到第二通信数据,该第二时间戳与该第一时间戳之间间隔目标时长。

在一些实施例中,控制服务器得到第二通信数据的过程可以包括以下步骤303a至步骤303c:

303a:控制服务器根据第一时间戳,确定第二时间戳。

其中,该第二时间戳可以与该第一时间戳之间间隔目标时长。该目标时长可以为任意数值,例如,该目标时长可以为10s,当然,该目标时长也可以为0,本公开实施例在此对该目标时长不做限定。

在一些实施例中,控制服务器可以将该第一时间戳与该目标时长之和,以及该第一时间戳与该目标时长之差,作为该第二时间戳。在其他实施例中,控制服务器还可以将与该第一时长戳之间间隔目标时长的所有时间点,作为该第二时间戳,本公开实施例在此不做限定,

303b:控制服务器基于观众用户所在终端的第一通信数据所携带的第二备选时间戳中,确定携带有与第二时间戳相同的第二备选时间戳的第一通信数据。

在一些实施例中,该控制服务器确定携带有与第二时间戳相同的第二备选时间戳的第一通信数据的具体过程可以包括以下步骤(1)到步骤(3):

步骤(1):该控制服务器可以根据携带有第一时间戳的第一通信数据所携带的备选主播用户的用户标识,从观众用户所在终端的的第一通信数据中,确定携带有备选观众用户的用户标识的备选通信数据。

其中,该备选主播用户与该备选观众用户可以相关联,也即是,该备选主播用户的用户标识与该备选观众用户的用户标识可以存储在相同的用户关系链中,该备选通信数据携带有相应的第二时间戳。

在一些实施例中,该控制服务器可以根据可以根据携带有第一时间戳的第一通信数据所携带的备选主播用户的用户标识,确定与该备选主播用户的用户标识相关联的目标用户关系链,该控制服务器可以从该目标用户关系链中,获取备选观众用户的用户标识,控制服务器可以基于该备选观众用户的用户标识,从该控制服务器中获取与该备选观众用户的用户标识相关联的备选通信数据。

步骤(2):该控制服务器可以从该备选通信数据中,确定携带有与该第二时间戳相同的第二备选时间戳的第一通信数据。

上述步骤(1)至步骤(2)是该控制服务器根据时间戳和用户标识,确定携带有与该第二时间戳相同的第二备选时间戳的第一通信数据的过程,在其他实施例中,该控制服务器还可以通过其他方式来确定携带有与该第二时间戳相同的第二备选时间戳的第一通信数据,本公开实施例在此不做限定。

303c:控制服务器从观众用户所在终端的第一通信数据中,将携带有与第二时间戳相同的第二备选时间戳的第一通信数据去除,得到该第二通信数据。

通过上述步骤303a至步骤303c,该控制服务器可以从主播用户所在终端的第一通信数据中确定质量较差的通信数据,该控制服务器可以从相应的观众用户所在终端的第一通信数据中将与该质量较差通信数据携带有相同或者相近时间戳的通信数据去除,使得该控制服务器在对各组节点设备的直播通信质量等直播通信参数进行评估的过程中,可以规避主播用户所在终端的影响,使得主播用户所在终端在不良网络状况下实时上传了不流畅的直播音视频等数据后,也不会影响该控制服务器对各组节点设备的直播通信质量的评估,避免了影响该控制服务器对各组节点设备的真实服务性能的预测与判断,大大提高了该控制服务器对各组节点设备的直播通信质量的评估的准确性。

在步骤304中,控制服务器对该第二通信数据进行分组,得到多组第二通信数据。

在本公开实施例中,每组第二通信数据可以与一个终端组和一组节点设备相对应,每个终端组可以包括具有相同属性的至少一个观众用户所在终端,该属性可以用于表示该至少一个观众用户所在终端的入网信息和硬件信息。作为示例,该属性可以用于表示该至少一个观众用户所在终端的所在区域、所对应的互联网服务提供商、所使用的网络类型或者终端类型等,在一些实施例中,该网络类型可以包括移动数据网络以及wifi网络等,该终端类型可以包括手机、平板电脑以及台式电脑等。在一些实施例中,该属性还可以用于表示其他信息,本公开实施例在此不做限定。在一些实施例中,控制服务器得到多组第二通信数据的过程可以包括以下步骤304a至步骤304b:

304a:控制服务器根据预设的属性的数量和名称,将具有相同属性的观众用户所在终端划分到一个终端组中。

在一些实施例中,在控制服务器中预设的属性的数量可以为4,预设的4个属性的名称可以分别为区域、通信运营商、网络类型和终端类型,则控制服务器可以根据各个观众用户所在终端的所在区域、所属通信运营商、所使用的网络类型以及各个观众用户所在终端的终端类型,将具有相同属性的观众用户所在终端划分到同一个终端组,也即是,控制服务器可以将相同【区域,通信运营商,网络类型,终端类型】对应的观众用户所在终端划分到同一个终端组中。在一些实施例中,预设的4个属性的名称可以分别为省份、通信运营商、网络类型和终端类型,例如,控制服务器可以将【山东,联通,4g,手机】对应的观众用户所在终端划分到同一个终端组中。在一些实施例中,控制服务器也可以根据其他的属性数量和属性名称,将各个观众用户所在终端划分为多个终端组,本公开实施例在此不做限定。

304b:控制服务器将同一个终端组中的各个观众用户所在终端与同一组节点设备之间的第二通信数据划分为同一组第二通信数据,得到多组第二通信数据。

上述步骤304a至步骤304b为控制服务器基于多个观众用户所在终端与多组节点设备之间的第二通信数据,得到多组第二通信数据的过程,通过该过程,控制服务器可以对获取到的多个观众用户所在终端与多组节点设备之间的通信数据进行分组,以便控制服务器以一组第二通信数据为单位,从全局角度对每组第二通信数据进行分析,以对每个终端组与每组节点设备之间的通信质量进行预测,相对于仅通过一个观众用户所在终端与一组节点设备之间的通信数据进行直播通信质量预测,预测的准确性大大提高。

在一些实施例中,基于控制服务器可以实时获取多个观众用户所在终端与多组节点设备之间的第二通信数据,因此,控制服务器可以实时对获取到的第二通信数据进行分组,例如,控制服务器可以每隔一分钟对获取到的第二通信数据进行分组,控制服务器也可以每隔一秒钟对获取到的第二通信数据进行分组,从而,控制服务器可以及时对各组第二通信数据进行更新。在一些实施例中,控制服务器也可以根据预设的属性的数量和名称,建立多个组别,然后控制服务器每获取到一个观众用户所在终端与一组节点设备之间的第二通信数据,可以根据观众用户所在终端的属性,将该观众用户所在终端与一组节点设备之间的第二通信数据存储到对应的组别下,本公开实施例在此不做限定。

在步骤305中,控制服务器基于该每组第二通信数据,获取该每个终端组与该每组节点设备之间的备选卡顿率。

在本公开实施例中,该备选卡顿率可以用于表示该每个终端组与该每组节点设备之间的通信情况。

在一些实施例中,该控制服务器获取该每个终端组与该每组节点设备之间的备选卡顿率的过程可以如下:对于每组第二通信数据,该控制服务器可以每隔第二时长从该每组第二通信数据中,确定符合第二质量异常条件的第三通信数据,该控制服务器可以将该第三通信数据的数据量与该每组第二通信数据的数据量的比值,作为该每第二时长内的每个终端组与每组节点设备之间的备选卡顿率。其中,该控制服务器可以将满足下述任一条件的第二通信数据,作为符合第二质量条件的第三通信数据:

条件一、该第二时长内的第二数据量为零;

条件二、该第二时长内的第二卡顿次数大于零;

条件三、该第二时长内的第二重试次数大于零。

在其他实施例中,该控制服务器还可以根据其他第二质量异常条件来确定第三通信数据,本公开实施例在此不做限定。在其他实施例中,该控制服务器还可以通过其他方式来获取每第二时长内的每个终端组与每组节点设备之间的备选卡顿率,作为示例,该控制服务器可以确定每个终端组中的观众用户所在终端的数量,该控制服务器还可以根据该第三通信数据,确定与该第三通信数据对应的观众用户所在终端的目标数量,该控制服务器可以将该目标数量与对应终端组中的观众用户所在终端的数量的比值,作为每第二时长内的每个终端组与每组节点设备之间的备选卡顿率。本公开实施例在此对该控制服务器获取每第二时长内的每个终端组与每组节点设备之间的备选卡顿率的方式不做限定。

在步骤306中,控制服务器从各个终端组与各组节点设备之间的备选卡顿率中,确定最小卡顿率和最大卡顿率。

在一些实施例中,该控制服务器可以从每第二时长内的各个终端组与各组节点设备之间的备选卡顿率中,获取该每第二时长内的最小卡顿率和该第二时长内的最大卡顿率。

在步骤307中,控制服务器基于该备选卡顿率、该最小卡顿率和该最大卡顿率,获取该每个终端组与该每组节点设备之间的直播通信参数。

在一些实施例中,该直播通信参数可以包括多个终端在通过多组节点设备观看直播时的直播通信质量。控制服务器获取该每个终端组与该每组节点设备之间的直播通信参数的过程可以包括以下步骤307a至步骤307d:

307a:控制服务器基于每第二时长内该备选卡顿率、该最小卡顿率和该最大卡顿率,获取该每第二时长内每个终端组与该每组节点设备之间的通信质量指数。

其中,该通信质量指数用于归一化的表示每个终端组与每组节点设备之间的通信质量。在一些实施例中,控制服务器可以基于每第二时长内的最大卡顿率和最小卡顿率的差,确定最大卡顿率差,基于该最大卡顿率差,该控制服务器可以通过以下公式来计算该每第二时长内每个终端组与每组节点设备之间的通信质量指数:

其中,xi,表示该每第二时长内第i个终端组与第j组节点设备之间的通信质量指数,bri,j表示该每第二时长内第i个终端组与第j组节点设备之间的备选卡顿率,minbr表示该每第二时长内的最小卡顿率,maxbr表示该每第二时长内的最大卡顿率。

307b:控制服务器将每第二时长内每个终端组与每组节点设备之间的通信质量指数,作为该每第二时长内每个终端组与每组节点设备之间的备选直播通信参数。

307c:当控制服务器仅一次获取到该多个终端的备选直播通信参数时,控制服务器将该一次获取到的多个终端的备选直播通信参数,作为当前时刻该多个终端的直播通信参数。

307d:当控制服务器多次获取到该多个终端的备选直播通信参数时,控制服务器将每个终端的多个直播通信参数的指数加权平均值,作为当前时刻该每个终端的直播通信参数。

其中,在进行指数加权平均计算的过程中,越接近当前时刻的第二时长对应的权重可以越大。通过该指数加权平均的方式,获取每个终端组与每组节点设备之间的直播通信参数的方式,可以实时跟踪动态变化的各组节点设备中的性能波动,以获取各组节点设备的更加平稳的直播通信参数。

上述步骤307a至步骤307d是以直播通信参数为通信质量指数为例进行说明的,通过该过程,该控制服务器可以根据每第二时长内的每个终端组与每组节点设备之间的备选卡顿率,获取该每第二时长内的每个终端组与每组节点设备之间的通信质量指数,该通信质量指数的数值始终在0到1之间,使得该控制服务器可以通过归一化的通信质量指数,更加简单清晰的对每个终端组与每组节点设备之间的直播通信质量进行评估。在其他实施例中,控制服务器还可以通过其他方式获取该每个终端组与该每组节点设备之间的直播通信参数,本公开实施例在此不做限定。

上述步骤305至步骤307是控制服务器基于每组第二通信数据,获取每个终端组与每组节点设备之间的直播通信参数的过程,通过该过程,控制服务器可以从终端组的角度,对多个终端与多组节点设备之间的直播通信质量进行评估,增加了控制服务器对直播通信质量进行评估的通信数据量,提高了直播通信参数的结果的准确性。

上述步骤301至步骤307为控制服务器基于多个终端组与各组节点设备之间的第一通信数据,获取多个终端组与各组节点设备之间的直播通信参数的过程。在一些实施例中,控制服务器还可以每隔第三时长,对多个终端组与各组节点设备之间的直播通信质量进行初始化,该初始化指的是该控制服务器重新获取该多个终端组与多组节点设备之间的直播通信质量的过程,作为示例,该控制服务器可以通过增强学习探索-开发框架的多臂赌博机算法,对该多个终端组与多组节点设备之间的直播通信质量进行初始化。具体地,对于一个终端组,该控制服务器可以在每第三时长逐个获取该一个终端组与每组节点设备之间的直播通信质量,直到该控制服务器获取完该一个终端组与各个节点设备之间的直播通信质量。其中,随着时间的推移,该控制服务器获取完直播通信质量的节点设备即为已服务节点设备,该控制服务器未获取直播通信质量的节点设备即为未服务节点设备。在其他实施例中,控制服务器还可以通过深度增强学习算法等,对该多个终端组与多组节点设备之间的直播通信质量进行初始化,本公开实施例在此不做限定。

在步骤308中,控制服务器基于直播通信参数,为各组节点设备分别分配第一分配比例。

在本公开实施例中,第一分配比例可以为控制服务器为各组节点设备分配的初始分配比例,各个第一分配比例可以不同,当然,也可以相同,本公开实施例在此不做限定。

在一些实施例中,控制服务器为各组节点设备分配第一分配比例的过程可以包括以下步骤308a至步骤308c:

308a:控制服务器根据该直播通信参数中的服务状态参数,从该各组节点设备中,确定各组已服务节点设备和各组未服务节点设备。

其中,该服务状态参数可以用于表示该各组节点设备是否为各个终端提供了服务。控制服务器可以实时检测该各组节点设备的服务状态,根据该各组节点设备的服务状态,该控制服务器可以存储与服务状态对应的服务状态参数。作为示例,若一组节点设备的服务状态为已服务,则该控制服务器可以记录该一组节点设备的服务状态参数为1,若一组节点设备的服务状态为未服务,则该控制服务器可以记录该一组节点设备的服务状态参数为0。在其他实施例中,该控制服务器还可以通过其他方式来获取该服务状态参数。进而,控制服务器可以根据该服务状态参数,确定该各组已服务节点设备和该各组未服务节点设备。

308b:控制服务器根据该直播通信参数中该直播通信质量的优劣,为该各组已服务节点设备分配目标数值的第一分配比例,该目标数值与该直播通信质量的优劣呈正相关关系。

308c:为该各组未服务节点设备分配预设的第一分配比例。

在一些实施例中,对于一个终端组,在控制服务器对该一个终端组与各组节点设备之间的直播通信质量进行初始化的过程中,控制服务器可以根据已经获取到的直播通信质量的优劣,为该各组节点设备中的各组已服务节点设备分配目标数值的第一分配比例,为第一数量的未服务节点设备分配预设的第一分配比例,其中,该目标数值与该直播通信质量的优劣呈正相关关系,也即是,该直播通信质量越优,该目标数值越大。

作为示例,以该各组节点设备的总数量为3为例,在初始化的过程中,当控制服务器已经获取到直播通信质量的已服务节点设备的数量为2时,控制服务器可以根据这两个已服务节点设备的直播通信质量,为最优直播通信质量的已服务节点设备分配60%的第一分配比例,控制服务器可以为次优直播通信质量的已服务节点设备分配30%的第一分配比例,控制服务器可以为除这两个已服务节点设备之外的一个未服务节点设备分配10%的第一分配比例。在其他实施例中,控制服务器还可以通过其他方式为已服务节点设备和未服务节点设备分配第一分配比例,本公开实施例在此不做限定。

在一些实施例中,对于一个终端组,当控制服务器对该一个终端组与各组节点设备之间的直播通信质量完成初始化后,控制服务器可以根据该一个终端组与该各组节点设备之间的直播通信质量的优劣,将所有的第一分配比例都分配给直播通信质量最优的节点设备。

通过上述步骤308,控制服务器可以根据直播通信参数,为直播通信质量优的节点设备,分配更多的第一分配比例,从而,可以使得每个终端组的内容获取请求尽量多的分配给直播通信质量优的节点设备,以提高每个终端组与节点设备之间的通信流畅度,从而,可以提高每个终端组的内容获取效率。进一步的,控制服务器也可以根据直播通信参数中的服务状态参数,为未服务节点设备分配一定的第一分配比例,从而避免部分节点设备始终无法为各个终端提供服务。

在步骤309中,控制服务器确定任一组节点设备与其他各组节点设备之间的直播通信参数差。

在本公开实施例中,该直播通信质量差可以为该任一组节点设备与其他各组节点设备之间的直播通信质量的差,该任一组节点设备与该其他各组节点设备之间的直播通信参数差可以用于表示从该任一组节点设备向该其他各组节点设备转移分配比例时,所带来的整体直播通信质量下降的程度,该任一组节点设备与该其他各组节点设备之间的直播通信参数差也可以用于表示从该其他各组节点设备向该任一组节点设备转移分配流量时,所带来的整体直播通信质量下降的程度。

在一些实施例中,对于一个终端组,控制服务器可以基于上述步骤305至步骤307,获取该一个终端组与各组节点设备之间的直播通信参数,同理,该控制服务器可以获取各个终端组分别与各组节点设备之间的直播通信参数。基于该各个终端组分别与各组节点设备之间的直播通信参数,控制服务器可以获取每组节点设备的平均直播通信参数,控制服务器可以根据每两组节点设备的平均直播通信参数的差,确定任一组节点设备与其他各组节点设备之间的直播通信参数差。在其他实施例中,控制服务器还可以通过其他方式,确地一组节点设备与其他组节点设备之间的直播通信参数差,本公开实施例在此不做限定。

在步骤310中,当第一节点设备的第一分配比例超过该第一节点设备的最大限制比例时,控制服务器可以根据该直播通信质量差,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备的其他至少一组节点设备,得到每节点设备的第二分配比例。

在本公开实施例中,该第一节点设备可以为该各组节点设备中的任一组节点设备,该第一节点设备的最大限制比例可以用于表示该第一节点设备的服务商所要求的最大流量,除该第一节点设备的其他至少一组节点设备分配到的第一分配比例的部分数值可以与该直播通信参数差呈负相关关系。

在一些实施例中,控制服务器将第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备外的其他至少一组节点设备的过程可以包括以下步骤310a至步骤310b:

310a:当第一节点设备的第一分配比例超过对应的最大限制比例时,控制服务器可以根据该第一节点设备与其他各组节点设备之间的直播通信参数差从小到大的顺序,对其他各组节点设备进行排序。

310b:控制服务器根据该其他各组节点设备的排序,以及该其他各组节点设备的最大限制比例、最小限制比例和第一分配比例,将该一组节点设备的第一分配比例中超过该最大限制比例的部分数值,依次分配给除该第一节点设备外的其他至少一组节点设备。

作为示例,以该第一节点设备的最大限制比例为30%,该第一节点设备的第一分配比例中超过对应的最大限制比例20%为例,控制服务器可以根据其他各组节点设备的排序,先确定第一个其他组节点设备的第一分配比例是否超过该第一个其他组节点设备的最大限制比例,若未超过,控制服务器可以确定第一个其他组节点设备的第一分配比例与该第一个其他组节点设备的最大限制比例的比例差,例如,该比例差为10%,则控制服务器可以从上述第一节点设备的第一分配比例中转移10%给该第一个其他组节点设备,例如,该比例差为30%,则控制服务器可以从上述第一节点设备的第一分配比例中转移20%给该第一个其他组节点设备,以此类推,控制服务器可以将该第一节点设备的第一分配比例中超过该最大限制比例的部分,依次分配给其他各组节点设备。

需要说明的是,当该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,只够分配给部分其他各组节点设备时,控制服务器可以将该部分其他各组节点设备中排序最末的节点设备的部分分配比例,平均分配给剩余的各组节点设备。

在一些实施例中,当第一节点设备的第一分配比例超过该一组节点设备的最大限制比例与第一系数的乘积时,控制服务器可以根据该直播通信参数差,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备外的其他至少一组节点设备,得到各组节点设备的第二分配比例。作为示例,该第一系数可以为0.4,该第一系数还可以为1.2,该第一系数还可以为其他数值,本公开实施例在此不做限定。通过设置该第一系数,控制服务器可以使得各组节点设备的第二分配比例在各组节点设备的最大限制比例附近浮动,也即是,该各组节点设备的第二分配比例可以适当低于对应的最大限制比例,也可以适当高于对应的最大限制比例,提高了各组节点设备的第二分配比例的变化灵活性。

在步骤311中,当第二节点设备的第一分配比例低于该第二节点设备的最小限制比例时,控制服务器根据该直播通信参数差,将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到各组节点设备的第二分配比例。

其中,该第二节点设备可以为该各组节点设备中的任一组节点设备,该第二节点设备的最小限制比例可以用于表示该第二节点设备的服务商所要求的最小流量,除该第二节点设备外的其他至少一组节点设备被转移走的第一分配比例的部分数值可以与该直播通信参数差呈负相关关系。

在一些实施例中,当第二节点设备的第一分配比例低于对应的最小限制比例时,控制服务器可以根据该第二节点设备与其他各组节点设备之间的直播通信参数差从小到大的顺序,对其他各组节点设备进行排序。控制服务器可以将第一个其他组节点设备的预设数量的第一分配比例,分配给该第二节点设备。其中,该预设数量的第一分配比例小于该第二节点设备的最大限制比例。在其他实施例中,该控制服务器还可以通过其他方式将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,本公开实施例在此不做限定。

在一些实施例中,当第二节点设备的第一分配比例低于该第二节点设备的最小限制比例与第二系数的乘积时,控制服务器可以根据该直播通信参数差,将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到各组节点设备的第二分配比例。作为示例,该第一系数可以为0.8,该第一系数还可以为1.2,该第一系数还可以为其他数值,本公开实施例在此不做限定。通过设置该第二系数,控制服务器可以使得各组节点设备的第二分配比例在各组节点设备的最小限制比例附近浮动,也即是,该各组节点设备的第二分配比例可以适当低于对应的最小限制比例,也可以适当高于对应的最小限制比例,提高了各组节点设备的第二分配比例的变化灵活性。

上述步骤309至步骤311为控制服务器根据每组节点设备的比例约束条件,对各个第一分配比例进行调节,得到每组节点设备的第二分配比例的过程,通过该过程,控制服务器可以在进行维持各个终端组将尽量多的流量分配给直播通信质量高的节点设备的同时,保证各组节点设备的流量分配比例符合对应的比例约束条件,从而可以在约束范围内,最大限度的调度用户流量,使其符合各个终端组的用户的偏好情况,实现了长时间尺度的系统服务质量期望最大化,从而实现了全局调控各组节点设备的分配比例的目的。

上述步骤308至步骤311为控制服务器基于直播通信参数,调节分配比例的过程,通过该过程,控制服务器可以根据实时变换的直播通信参数,实现对分配给每组节点设备的内容获取请求的数量进行调节的目的,从而,可以充分利用各组节点设备的优质资源。

在步骤312中,当获取到至少一个终端的内容获取请求时,控制服务器将与第二分配比例对应数量的内容获取请求发送给各组节点设备。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

本公开实施例通过控制服务器实时获取多个终端通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数等直播通信参数,使得控制服务器可以根据可能变化的直播通信参数,及时对分配比例进行调节,实现了控制服务器对分配给各组节点设备的内容获取请求的数量进行调节的目的,从而,可以充分利用各组节点设备的优质资源,提高了对内容获取请求进行分配的灵活性。进一步的,控制服务器基于实时获取到的通信数据,实时分析各个终端组与各组节点设备之间的直播通信质量,以准确的对直播通信质量的优劣进行分析,进而,控制服务器可以在全局约束下,依托流媒体大数据平台的系统部署,动态地对各组节点设备的流量分配比例进行调度,从而可以提高控制服务器分配给各组节点设备的分配比例的准确性,进而,可以降低观看直播过程中的卡顿率。以上述第一系数为0.4,第二系数也为0.4为例,对五组通信数据的平均观看时长、卡顿率、100每秒内的总卡顿时长、100每秒内的总卡顿次数、100每秒内的平均卡顿时长、100每秒内的平均卡顿次数进行了数据统计,得到如下表的数据:

对上表的数据进行分析可知,通过上述过程可以使得观看直播过程中的卡顿率相对降低3%,每一百秒直播时长中的卡顿时长和卡顿次数可以相对降低6%到7%。

图4是根据一示例性实施例示出的一种业务分配装置的结构框图。参照图4,该装置包括:获取单元401、调节单元402和发送单元403。

获取单元401,被配置为实时获取多个终端的直播通信参数,该直播通信参数包括该多个终端在通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数;

调节单元402,被配置为基于该直播通信参数,调节分配比例,该分配比例用于表示分配给每组节点设备的内容获取请求的数量;

发送单元403,被配置为当获取到至少一个终端的内容获取请求时,将与该分配比例对应数量的内容获取请求发送给该各组节点设备。

在一种可能的设计中,该调节单元402包括:

分配子单元,被配置为基于该直播通信参数,为该各组节点设备分别分配第一分配比例;

第一获取子单元,被配置为根据该每组节点设备的比例约束条件对各个第一分配比例进行调节,获取该每组节点设备的第二分配比例,该第二分配比例满足该比例约束条件。

在一种可能的设计中,该分配子单元被配置为:

根据该直播通信参数中的该服务状态参数,从该各组节点设备中,确定各组已服务节点设备和各组未服务节点设备;

根据该直播通信参数中该直播通信质量的优劣,为该各组已服务节点设备分配目标数值的第一分配比例,该目标数值与该直播通信质量的优劣呈正相关关系;

为该各组未服务节点设备分配预设的第一分配比例。

在一种可能的设计中,该第一获取子单元被配置为:

当第一节点设备的第一分配比例超过该第一节点设备的最大限制比例时,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给除该第一节点设备外的其他至少一组节点设备,得到该每组节点设备的第二分配比例,该第一节点设备为该各组节点设备中的任一组节点设备;

当第二节点设备的第一分配比例低于该第二节点设备的最小限制比例时,将除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到该每组节点设备的第二分配比例。

在一种可能的设计中,该第一获取子单元还被配置为:

当该第一节点设备的第一分配比例超过该最大限制比例时,确定该第一节点设备与该其他各组节点设备之间的直播通信参数差;

根据该直播通信参数差,将该第一节点设备的第一分配比例中超过该最大限制比例的部分数值,分配给该除该第一节点设备外的其他至少一组节点设备,得到该每组节点设备的第二分配比例,该除该第一节点设备外的其他至少一组节点设备分配到的第一分配比例的部分数值与该直播通信参数差呈负相关关系。

在一种可能的设计中,该第一获取子单元还被配置为:

当该第二节点设备的第一分配比例低于该最小限制比例时,确定该第二节点设备与该其他各组节点设备之间的直播通信参数差;

根据该直播通信参数差,将该除该第二节点设备外的其他至少一组节点设备的第一分配比例的部分数值,分配给该第二节点设备,得到该每组节点设备的第二分配比例,该除该第二节点设备外的其他至少一组节点设备被转移走的第一分配比例的部分数值与该直播通信参数差呈负相关关系。

在一种可能的设计中,该获取单元401包括:

第二获取子单元,被配置为实时获取多个终端与该各组节点设备之间的第一通信数据,该第一通信数据携带时间戳;

确定子单元,被配置为确定主播用户所在终端与该各组节点设备之间的目标第一通信数据所携带的第一时间戳,该目标第一通信数据对应的直播通信参数满足质量异常条件;

去除子单元,被配置为从观众用户所在终端的第一通信数据中,将携带有第二时间戳的第一通信数据去除,得到第二通信数据,该第二时间戳与该第一时间戳之间间隔目标时长;

第三获取子单元,被配置为基于该第二通信数据,获取该观众用户所在终端的直播通信参数。

在一种可能的设计中,该第三获取子单元被配置为:

对该第二通信数据进行分组,得到多组第二通信数据,每组第二通信数据与一个终端组和一组节点设备相对应,每个终端组包括具有相同属性的至少一个终端,该属性用于表示该至少一个终端的入网信息和硬件信息;

基于该每组第二通信数据,获取该每个终端组与每组节点设备之间的直播通信参数。

在一种可能的设计中,该第三获取子单元还被配置为:

基于该每组第二通信数据,获取该每个终端组与该每组节点设备之间的备选卡顿率;

从该每个终端组与该每组节点设备之间的备选卡顿率中,确定最小卡顿率和最大卡顿率;

基于该备选卡顿率、该最小卡顿率和该最大卡顿率,获取该每个终端组与该每组节点设备之间的直播通信参数。

在一种可能的设计中,该获取单元401被配置为:

每隔目标时长,获取该多个终端的备选直播通信参数;

当仅一次获取到该多个终端的备选直播通信参数时,将一次获取到的该多个终端的备选直播通信参数,作为当前时刻该多个终端的直播通信参数;

当多次获取到该多个终端的备选直播通信参数时,将每个终端的多个直播通信参数的指数加权平均值,作为该当前时刻该每个终端的直播通信参数。

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

本公开实施例通过控制服务器实时获取多个终端通过多组节点设备观看直播时的直播通信质量和各组节点设备的服务状态参数等直播通信参数,使得控制服务器可以根据可能变化的直播通信参数,及时对分配比例进行调节,实现了控制服务器对分配给各组节点设备的内容获取请求的数量进行调节的目的,从而,可以充分利用各组节点设备的优质资源,提高了对内容获取请求进行分配的灵活性。

图5是根据一示例性实施例示出的一种终端500的结构框图。该终端500可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端500包括有:处理器501和存储器502。

处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本公开中方法实施例提供的业务分配方法。

在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。

外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路504用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本公开对此不加以限定。

显示屏505用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。

定位组件508用于定位终端500的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件508可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。

加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器513可以设置在终端500的侧边框和/或显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。

光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。

接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图6是根据一示例性实施例示出的一种服务器600的结构框图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上cpu(centralprocessingunits,处理器)601和一个或一个以上的存储器602,其中,该存储器602中存储有至少一条指令,该至少一条指令由该处理器601加载并执行以实现上述各个方法实施例提供的业务分配方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中业务分配方法。例如,该计算机可读存储介质可以是rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,上述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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