本申请涉及数据传输领域,特别涉及一种直播状态数据的发送方法、装置、系统及存储介质。
背景技术:
在直播过程中,主播客户端可以基于当前主播的状态确定主播的直播状态数据,并可以将该状态数据发送至位于中心互联网数据中心(internetdatacenter,idc)机房(也可以称为中心机房)的业务服务器。其中,主播的状态可以为直播状态或停播状态。中心机房可以是指直播业务的核心机房。
相关技术中,主播客户端可以将直播状态数据发送至位于中心机房的中心网关,该中心网关可以将该数据发送至业务服务器。
但是,当主播客户端与中心机房的距离较远时,会导致主播客户端与位于中心机房的中心网关之间数据传输的稳定性较低。
技术实现要素:
本申请提供了一种直播状态数据的发送方法、装置、系统及存储介质,可以解决相关技术的主播客户端与位于中心机房的中心网关之间数据传输的稳定性较低的问题。所述技术方案如下:
一方面,提供了一种直播状态数据的发送方法,应用于直播客户端,所述方法包括:
获取网关列表,所述网关列表中记录有多个接入网关中每个接入网关的标识,其中,多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
分别确定每个所述接入网关的通信性能指标;
从多个所述接入网关中确定至少一个目标接入网关,每个所述目标接入网关的通信性能指标均大于指标阈值;
分别向每个所述目标接入网关发送所述直播客户端的直播状态数据。
可选的,所述网关列表中还记录有每个所述接入网关的权重,所述权重与所述接入网关的通信性能正相关;所述分别确定每个所述接入网关的通信性能指标,包括:
确定所述直播客户端与每个所述接入网关之间的时延;
对于每个所述接入网关,基于所述直播客户端与所述接入网关之间的时延,以及所述接入网关的权重,确定所述接入网关的通信性能指标,所述通信性能指标与所述时延正相关,且与所述权重负相关。
可选的,所述从多个所述接入网关中确定至少一个目标接入网关,包括:
从多个所述接入网关中,确定通信性能指标大于指标阈值的至少一个备选接入网关;
向每个所述备选接入网关发送认证请求,所述认证请求携带有直播客户端的标识,所述认证请求用于指示所述备选接入网关对所述直播客户端进行认证;
基于多个所述备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。
可选的,所述网关列表中还记录有每个所述接入网关所属机房的标识;
若发送认证通过消息的备选接入网关包括多个,则所述基于多个所述备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关确定目标接入网关,包括:
若发送认证通过消息的多个所述备选接入网关所属机房的标识均相同,则从发送认证通过消息的多个所述备选接入网关中确定一个目标接入网关;
若发送认证通过消息的多个所述备选接入网关所属机房的标识不同,则从发送认证通过消息的多个所述备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关。
可选的,所述方法还包括:
对于每个所述备选接入网关,在向所述备选接入网关发送认证请求后的第一目标时长内,若未接收到所述备选接入网关发送的认证通过消息,且已向所述备选接入网关发送所述认证请求的次数小于第一次数阈值,则再次执行向所述备选接入网关发送认证请求的操作。
可选的,在分别向每个所述目标接入网关发送所述直播客户端的直播状态数据之后,所述方法还包括:
若检测到至少一个所述目标接入网关中存在满足网关切换条件的切换接入网关,则基于所述切换接入网关的通信性能指标,以及多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关;
其中,所述网关切换条件包括以下条件中的至少一种:
所述直播客户端与所述目标接入网关之间的连接中断;
所述目标接入网关的通信性能指标小于所述指标阈值。
可选的,所述网关切换条件包括:所述目标接入网关的通信性能指标小于所述指标阈值;所述重新确定至少一个目标接入网关,包括:
若在首次基于所述网关切换条件触发重新确定至少一个目标接入网关的操作之后的第二目标时长内,基于所述网关切换条件再次触发重新确定至少一个目标接入网关的操作的次数小于第二次数阈值,则重新确定至少一个目标接入网关。
可选的,在从多个所述接入网关中确定至少一个目标接入网关之后,所述方法还包括:
若至少一个所述目标接入网关中包括的中心接入网关的个数小于个数阈值,则基于多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关。
另一方面,提供了一种直播状态数据的发送装置,应用于直播客户端,所述装置包括:
获取模块,用于获取网关列表,所述网关列表中记录有多个接入网关中每个接入网关的标识,其中,多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
第一确定模块,用于分别确定每个所述接入网关的通信性能指标;
第二确定模块,用于从多个所述接入网关中确定至少一个目标接入网关,每个所述目标接入网关的通信性能指标均大于指标阈值;
发送模块,用于分别向每个所述目标接入网关发送所述直播客户端的直播状态数据。
可选的,所述网关列表中还记录有每个所述接入网关的权重,所述权重与所述接入网关的通信性能正相关;所述第一确定模块用于:
确定所述直播客户端与每个所述接入网关之间的时延;
对于每个所述接入网关,基于所述直播客户端与所述接入网关之间的时延,以及所述接入网关的权重,确定所述接入网关的通信性能指标,所述通信性能指标与所述时延正相关,且与所述权重负相关。
可选的,所述第二确定模块,包括:
第一确定子模块,用于从多个所述接入网关中,确定通信性能指标大于指标阈值的至少一个备选接入网关;
发送子模块,用于向每个所述备选接入网关发送认证请求,所述认证请求携带有直播客户端的标识,所述认证请求用于指示所述备选接入网关对所述直播客户端进行认证;
第二确定子模块,用于基于多个所述备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。
可选的,所述网关列表中还记录有每个所述接入网关所属机房的标识;若发送认证通过消息的备选接入网关包括多个,则所述第二确定子模块用于:
若发送认证通过消息的多个所述备选接入网关所属机房的标识均相同,则从发送认证通过消息的多个所述备选接入网关中确定一个目标接入网关;
若发送认证通过消息的多个所述备选接入网关所属机房的标识不同,则从发送认证通过消息的多个所述备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关。
可选的,所述第二确定模块还用于:
对于每个所述备选接入网关,在向所述备选接入网关发送认证请求后的第一目标时长内,若未接收到所述备选接入网关发送的认证通过消息,且已向所述备选接入网关发送所述认证请求的次数小于第一次数阈值,则再次执行向所述备选接入网关发送认证请求的操作。
可选的,所述装置还包括第三确定模块,所述第三确定模块用于:
若检测到至少一个所述目标接入网关中存在满足网关切换条件的切换接入网关,则基于所述切换接入网关的通信性能指标,以及多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关;
其中,所述网关切换条件包括以下条件中的至少一种:
所述直播客户端与所述目标接入网关之间的连接中断;
所述目标接入网关的通信性能指标小于所述指标阈值。
可选的,所述网关切换条件包括:所述目标接入网关的通信性能指标小于所述指标阈值;所述第三确定模块用于:
若在首次基于所述网关切换条件触发重新确定至少一个目标接入网关的操作之后的第二目标时长内,基于所述网关切换条件再次触发重新确定至少一个目标接入网关的操作的次数小于第二次数阈值,则重新确定至少一个目标接入网关。
可选的,所述装置还包括:第四确定模块,所述第四确定模块用于:
若至少一个所述目标接入网关中包括的中心接入网关的个数小于个数阈值,则基于多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关。
又一方面,提供了一种直播状态数据的发送装置,应用于直播客户端,所述装置包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方面所述的直播状态数据的发送方法。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行如上述方面所述的直播状态数据的发送方法。
再一方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在所述计算机上运行时,使得所述计算机执行上述方面所述的直播状态数据的发送方法。
再一方面,提供了一种直播状态数据的发送系统,所述系统包括:直播客户端、多个接入网关和中心网关;
多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
所述直播客户端包括如上述方面所述的直播状态数据的发送装置。
本申请提供的技术方案带来的有益效果至少包括:
本申请提供了一种直播状态数据的发送方法、装置、系统及存储介质,直播客户端可以确定网关列表中记录的每个接入网关的通信性能指标,并可以从多个接入网关中确定出通信性能指标大于指标阈值的至少一个目标接入网关,进而分别向每个目标接入网关发送直播状态数据。由于该网关列表中记录的接入网关除中心接入网关之外,还包括与终端距离较近的边缘接入网关,因此可以确保确定出的目标接入网关的通信性能较好,从而可以确保直播客户端与该目标接入网关之间数据传输的稳定性,进而有效确保了直播客户端与中心网关之间数据传输的稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种直播状态数据的发送系统的结构示意图;
图2是本申请实施例提供的一种直播状态数据的发送方法的流程图;
图3是本申请实施例提供的另一种直播状态数据的发送方法的流程图;
图4是本申请实施例提供的一种确定每个接入网关的通信性能指标的方法流程图;
图5是本申请实施例提供的一种从多个接入网关中确定至少一个目标接入网关的方法流程图;
图6是本申请实施例提供的一种直播状态数据的发送装置的结构示意图;
图7是本申请实施例提供的一种第二确定模块的结构示意图;
图8是本申请实施例提供的另一种直播状态数据的发送装置的结构示意图;
图9是本申请实施例提供的又一种直播状态数据的发送装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种直播状态数据的发送系统的结构示意图。参见图1,该发送系统可以包括:终端10、多个接入网关20和中心网关30。该多个接入网关20可以包括至少一个位于边缘机房a的边缘接入网关201和至少一个位于中心机房b的中心接入网关202。例如,图1示出了2个边缘机房a和1个中心机房b,每个边缘机房a中可以设置有两个边缘接入网关201,该中心机房b中可以设置有两个中心接入网关202和两个中心网关30。其中,边缘机房a可以是指设置于网络边缘,且与终端10距离较近的机房。
每个边缘接入网关201和每个中心接入网关202均可以通过有线或无线与中心网关30连接。该终端10可以通过有线或无线与至少一个边缘接入网关201,和/或,至少一个中心接入网关202连接。
可选的,每个边缘接入网关201和每个中心接入网关202可以通过网络专线与中心网关30连接。
在本申请实施例中,如图1所示,该中心机房b中还可以设置有业务服务器40和管理服务器50。其中,该业务服务器40可以通过有线或无线与每个中心网关30连接。该管理服务器50可以通过有线或无线与终端10连接。
可选的,该终端10可以为手机(例如智能手机)、平板电脑、笔记本电脑或者台式电脑等,该终端还可以被称为用户设备、便携式终端、膝上型终端或台式终端等其他名称。该接入网关20和中心网关30中的每个网关可以是路由器或服务器。该业务服务器40和管理服务器50中的每个服务器可以是一台服务器,或者可以是由若干台服务器组成的服务器集群,又或者可以是一个云计算服务中心。
在本申请实施例中,该终端10中安装有直播客户端10a,该直播客户端10a可以为主播客户端。该直播客户端101可以检测当前主播的状态,基于检测的主播的状态确定主播的直播状态数据,并可以将确定的直播状态数据,发送至与终端10所连接的接入网关。该接入网关在接收到直播状态数据后,可以直接将该直播状态数据发送至中心机房b的中心网关30,该中心网关30在接收到直播状态数据后,可以将该直播状态数据发送业务服务器40。
本申请实施例提供了一种直播状态数据的发送方法,该方法可以应用于直播客户端,例如可以应用于如图1所示的直播客户端10a。参见图2,该方法可以包括:
步骤101、获取网关列表。
该网关列表中可以记录有多个接入网关中每个接入网关的标识。其中,多个接入网关可以包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关。
步骤102、分别确定每个接入网关的通信性能指标。
其中,每个接入网关的通信性能指标可以用于指示直播客户端与该接入网关之间的通信性能的优劣。每个接入网关的通信性能指标可以基于该接入网关与直播客户端之间的时延确定,且该接入网关的通信性能指标与该时延正相关。
步骤103、从多个接入网关中确定至少一个目标接入网关。
其中,每个目标接入网关的通信性能指标均可以大于指标阈值。
步骤104、分别向每个目标接入网关发送直播客户端的直播状态数据。
直播客户端可以先将直播状态数据封装为多个数据包后,再分别向每个目标接入网关发送该数据包。并且,该直播客户端向各个目标接入网关发送的直播状态数据相同。
综上所述,本申请实施例提供了一种直播状态数据的发送方法,直播客户端可以确定网关列表中记录的每个接入网关的通信性能指标,并可以从多个接入网关中确定出通信性能指标大于指标阈值的至少一个目标接入网关,进而分别向每个目标接入网关发送直播状态数据。由于该网关列表中记录的接入网关除中心接入网关之外,还包括与终端距离较近的边缘接入网关,因此可以确保确定出的目标接入网关的通信性能较好,从而可以确保直播客户端与该目标接入网关之间数据传输的稳定性,进而有效确保了直播客户端与中心网关之间数据传输的稳定性。
图3是本申请实施例提供的另一种直播状态数据的发送方法的流程图,该方法可以应用于直播状态数据的发送系统,例如可以应用于图1所示的系统中。
参见图3,该方法可以包括:
步骤301、管理服务器向直播客户端发送网关列表。
其中,该网关列表中可以记录有多个接入网关中每个接入网关的标识。该多个接入网关可以包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关。可选的,每个接入网关的标识可以包括该接入网关的互联网协议(internetprotocol,ip)地址和端口号。
在本申请实施例中,直播客户端在需要获取网关列表时,可以向中心机房的管理服务器发送网关列表的获取请求。管理服务器响应于该网关列表的获取请求,可以向直播客户端下发网关列表。
步骤302、直播客户端分别确定每个接入网关的通信性能指标。
直播客户端接收到该网关列表后,可以分别确定该网关列表中记录的每个接入网关的通信性能指标。其中,每个接入网关的通信性能指标可以用于指示直播客户端与该接入网关之间的通信性能的优劣。
可选的,每个接入网关的通信性能指标可以基于该接入网关与直播客户端之间的时延确定,且该接入网关的通信性能指标与该时延正相关。
在本申请实施例中,该网关列表中还可以记录有每个接入网关的权重。该权重与接入网关的通信性能正相关,该通信性能可以包括:接入网关的中央处理器(centralprocessingunit,cpu)的性能、接入网关的内存以及带宽。该cpu的性能可以取决于cpu的利用率,以及cpu的核数。则参见图4,上述步骤302的实现过程可以包括:
步骤3021、确定直播客户端与每个接入网关之间的时延。
可选的,直播客户端在接收到网关列表后,对于每个接入网关,可以基于该接入网关的标识向该接入网关发送网络时延探测包,并接收该接入网关发送的针对该网络时延探测包的网络响应探测包,根据接收网络响应探测包的时刻和发送网络时延探测包的时刻,确定直播客户端与该接入网关之间的时延。
步骤3022、对于每个接入网关,基于直播客户端与接入网关之间的时延,以及接入网关的权重,确定该接入网关的通信性能指标。
其中,通信性能指标与该时延正相关,且与该权重负相关。
在本申请实施例中,对于每个接入网关,直播客户端可以将该直播客户端与接入网关之间的时延t,与接入网关的权重w的比值确定为该接入网关的通信性能指标。也即是,该通信性能指标s可以满足:s=t/w。
步骤303、直播客户端从多个接入网关中确定至少一个目标接入网关。
其中,每个目标接入网关的通信性能指标均大于指标阈值。该至少一个目标接入网关可以包括边缘接入网关,也可以包括中心接入网关。
图5是本申请实施例提供的一种从多个接入网关中确定至少一个目标接入网关的方法流程图。参见图5,直播客户端从多个接入网关中确定至少一个目标接入网关的过程可以包括:
步骤3031、从多个接入网关中,确定通信性能指标大于指标阈值的至少一个备选接入网关。
可选的,该管理服务器在向直播客户端下发网关列表的同时,还可以下发网关选择策略。该网关选择策略中可以携带有该指标阈值。或者,该指标阈值也可以是直播客户端中预先存储的固定值。又或者,该指标阈值也可以是直播客户端根据各个接入网关的通信性能指标确定的。
在一种可选的实现方式中,对于该指标阈值为固定值的场景,直播客户端在确定每个接入网关的通信性能指标后,可以比较每个接入网关的通信性能指标与指标阈值的大小,并将通信性能指标大于指标阈值的接入网关确定为备选接入网关。
在另一种可选的实现方式中,对于该指标阈值为直播客户端基于各个接入网关的通信性能指标确定的场景,直播客户端在确定每个接入网关的通信性能指标后,可以将多个接入网关的通信性能指标的中值或平均值确定为该指标阈值。之后,可以比较每个接入网关的通信性能指标和指标阈值,并将通信性能指标大于指标阈值的接入网关确定为备选接入网关。
步骤3032、向每个备选接入网关发送认证请求。
其中,该认证请求携带有直播客户端的令牌(token),该令牌可以为直播客户端在每次开播时进行认证的凭证。该认证请求可以用于指示备选接入网关对直播客户端进行认证。
可选的,该直播客户端的令牌可以是管理服务器为该直播客户端确定的,并在向直播客户端下发网关列表的同时,下发至直播客户端的。其中,管理服务器可以基于主播的主播账号,以及接收到直播客户端发送的网关列表获取请求的时刻确定该令牌。
步骤3033、基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。
在本申请实施例中,每个备选接入网关在接收到认证请求后,响应于该认证请求,可以基于该直播客户端的令牌对该直播客户端进行认证。若认证通过,则向直播客户端发送认证通过消息。相应的,直播客户端即可基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。例如,直播客户端可以直接将该至少一个备选接入网关均确定为目标接入网关。
由于直播客户端基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关,因此可以确保确定出的目标接入网关均为发送认证通过消息的接入网关,从而有效确保了直播状态数据发送的安全性。
需要说明的是,管理服务器下发的网关选择策略中还可以携带有指定时长。直播客户端可以在向每个备选接入网关发送认证请求后的指定时长内,基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。由此,可以有效提高直播客户端确定至少一个目标接入网关的效率。
可选的,该指定时长也可以是直播客户端中预先存储的。示例的,该指定时长可以为20秒(s)。
在本申请实施例中,该网关列表中还可以记录有每个接入网关所属机房的标识。该机房的标识可以包括:机房编号。若发送认证通过消息的备选接入网关包括多个,则直播客户端基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关确定目标接入网关的过程可以包括:
步骤s1、若发送认证通过消息的多个备选接入网关所属机房的标识均相同,则直播客户端可以从发送认证通过消息的多个备选接入网关中确定一个目标接入网关。
直播客户端在接收到接入网关发送的认证通过消息后,可以检测发送认证通过消息的多个备选接入网关所属机房的标识是否相同。若检测到发送认证通过消息的多个备选接入网关所属机房的标识相同,则可以确定该多个备选接入网关位于同一机房内,进而该直播客户端可以从多个发送的认证通过消息的备选接入网关中确定一个目标接入网关。
可选的,直播客户端可以将多个备选接入网关中通信性能指标最高的备选接入网关确定为目标接入网关。
步骤s2、若发送认证通过消息的多个备选接入网关所属机房的标识不同,则从发送认证通过消息的多个备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关。
直播客户端在接收到接入网关发送的认证通过消息后,若检测到发送认证通过消息的多个备选接入网关所属机房的标识不同,则可以确定该多个备选接入网关存在位于不同机房的接入网关,进而该直播客户端可以从多个发送的认证通过消息备的接入网关中确定所属机房的标识互不相同的多个目标接入网关。
由于直播客户端可以在发送认证通过消息的多个备选接入网关所属机房的标识不同时,从发送认证通过消息的多个备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关,因此可以避免因一个机房故障而导致的中心网关无法接收到直播客户端发送的直播状态数据的现象,从而可以确保直播状态数据发送的可靠性。
需要说明的是,该网关选择策略中还可以携带有第一目标时长和第一次数阈值,则对于每个备选接入网关,直播客户端在向备选接入网关发送认证请求后的第一目标时长内,若未接收到备选接入网关发送的认证通过消息,且已向备选接入网关发送认证请求的次数小于第一次数阈值,则可以再次执行向备选接入网关发送认证请求的操作。
若未接收到备选接入网关发送的认证通过消息,且向备选接入网关发送认证请求的次数大于或等于该第一次数阈值,则直播客户端不再次执行向备选接入网关发送认证请求的操作。
可选的,该第一目标时长和第一次数阈值也可以是直播客户端中预先存储的。示例的,该第一目标时长可以为1分钟(min),该第一次数阈值可以为2。
示例的,假设第一目标时长为1min,第一次数阈值为2,直播客户端在向某个备选接入网关发送认证请求后的1min内,未接收到备选接入网关发送的认证通过消息,且已向备选接入网关发送认证请求的次数为1,由于1<2,因此直播客户端可以确定该次数小于第一次数阈值,则可以再次向该备选接入网关发送认证请求。直播客户端在向某个备选接入网关发送认证请求后的1min内,未接收到备选接入网关发送的认证通过消息,且已向备选接入网关发送认证请求的次数为3,由于3>2,因此直播客户端可以确定该次数大于第一次数阈值,则不再向该备选接入网关发送认证请求。
由于直播客户端在向备选接入网关发送认证请求后的第一目标时长内,在未接收到备选接入网关发送的认证通过消息,且已向备选接入网关发送认证请求的次数小于第一次数阈值,才再次执行向备选接入网关发送认证请求的操作,因此可以有效避免直播客户端频繁的向接入网关发送认证消息,过度占用网关资源的现象。
步骤304、若至少一个目标接入网关中包括的中心接入网关的个数小于个数阈值,则直播客户端基于多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关。
可选的,该网关列表中还可以记录有每个接入网关所属机房的属性,该属性用于指示该机房为中心机房或边缘机房。该网关选择策略中还可携带有个数阈值。可选的,该个数阈值可以为1。
直播客户端在确定多个目标接入网关后,可以先基于每个目标接入网关所属机房的属性,检测该目标接入网关为边缘接入网关或中心接入网关,并基于每个目标接入所属机房的属性,统计多个目标接入网关包括的中心接入网关的个数。之后,直播客户端可以比较该个数和个数阈值的大小,并在该个数小于个数阈值时,基于多个接入网关中除至少一个目标接入网关外的每个接入网关的通信新能指标,重新确定至少一个目标接入网关。该重新确定至少一个目标接入网关的过程可以参考上述步骤303。
示例的,假设个数阈值为1,且当前确定的至少一个目标接入网关中包括的中心接入网关的个数为0,由于0<1,因此直播客户端可以确定中心接入网关的个数小于个数阈值,则可以基于多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关。
由于直播客户端确定出的至少一个目标接入网关中存在中心接入网关,因此在边缘接入网关故障时,也可以确保中心机房的中心网关可以接收到直播客户端发送的直播状态数据,有效确保了直播状态数据发送的可靠性。
步骤305、直播客户端分别向每个目标接入网关发送直播客户端的直播状态数据。
直播客户端在确定出至少一个目标接入网关后,可以分别向每个目标接入网发送直播客户端的直播状态数据。并且,该直播客户端向各个目标接入网关发送的直播状态数据相同。
可选的,该至少一个目标接入网关可以包括多个目标接入网关。当直播客户端确定出多个目标接入网关时,则直播客户端可以同时向多个目标接入网关中的每个目标接入网关发送直播状态数据。
由于至少一个目标接入网关可以包括多个目标接入网关,因此可以避免因一个目标接入网关故障导致的业务服务器无法接收到直播状态数据的现象,从而有效提高了直播状态数据发送的可靠性。
在本申请实施例中,在向每个目标接入网关发送直播状态数据之前,直播客户端可以先将该直播状态数据按序封装成多个数据包,每个数据包可以携带有用于指示其在多个数据包中的排列顺序的序号。之后,直播客户端可以按该多个数据包的排列顺序依次向每个目标接入网关发送该多个数据包。相应的,每个接入网关在接收到多个数据包时,可以基于每个数据包携带的序号,对该多个数据包进行排序,得到完整且准确的直播状态数据。
步骤306、目标接入网关向中心网关发送直播状态数据。
每个目标接入网关在接收到直播状态数据后,可以直接将该直播状态数据发送至中心网关。
步骤307、中心网关向业务服务器发送直播状态数据。
中心网关在接收到直播状态数据后,可以直接将该直播状态数据发送至业务服务器,以便业务服务器存储该直播状态数据。
步骤308、若检测到至少一个目标接入网关中存在满足网关切换条件的切换接入网关,则直播客户端基于切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关。
其中,网关切换条件包括以下条件中的至少一种:直播客户端与目标接入网关之间的连接中断;目标接入网关的通信性能指标小于指标阈值。
由于不同时刻直播客户端和目标接入网关之间通信质量不同,因此为了确保直播客户端和目标接入网关之间通信的实时性和可靠性,在本申请实施例中,在上述步骤305之后,直播客户端可以检测多个目标接入网关中是否存在满足网关切换条件的切换接入网关。即检测多个目标接入网关中是否存在与直播客户端之间的连接是否中断,和/或,通信性能指标是否小于指标阈值的目标接入网关。若检测多个目标接入网关中存在切换接入网关,则可以确定切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关外的每个接入网关的通信性能指标,并基于该切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关外的每个接入网关的通信性能指标,确定至少一个目标接入网关。之后,直播客户端可以与切换网关断开连接,并与重新确定的至少一个目标接入网关中的每个目标接入网关建立连接。其中,直播客户端基于该切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关外的每个接入网关的通信性能指标,确定至少一个目标接入网关的过程可以参考上述步骤303的实现过程,本申请实施例在此不再赘述。
例如,假设接入网关包括:接入网关a、接入网关b和接入网关c接入网关d、接入网关e、接入网关f以及接入网关g。直播客户端通过执行步骤302和303确定的目标接入网关包括:目标接入网关a、目标接入网关b、目标接入网关c和目标接入网关d。在分别向每个目标接入网关发送直播状态数据后,检测到目标接入网关a为满足网关切换条件的切换接入网关。则直播客户端可以基于目标接入网关a、接入网关e、接入网关f以及接入网关g的通信性能指标,从目标接入网关a、接入网关e、接入网关f以及接入网关g中重新确定至少一个目标接入网关。
需要说明的是,该网关切换条件包括:目标接入网关的通信性能指标小于指标阈值。该网关选择策略还可以携带有:第二目标时长和第二次数阈值。则上述步骤308可以包括:
若在首次基于该网关切换条件触发重新确定至少一个目标接入网关的操作之后的第二目标时长内,基于该网关切换条件再次触发重新确定至少一个目标接入网关的操作的次数小于第二次数阈值,则重新确定至少一个目标接入网关。
在本申请实施例中,直播客户端在首次基于该网关切换条件触发重新确定至少一个目标接入网关的操作时即可开始计时,并对该重新确定至少一个目标接入网关的操作进行计数。之后若检测到至少一个目标网关再次满足网关切换条件,则可以执行比较所计时的时长和第二目标时长的大小,以及比较所计数的次数和第二次数阈值的大小的操作,并在计时的时长小于第二目标时长,且计数的次数小于次数阈值时,重新基于切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关。
若直播客户端检测到至少一个目标网关再次满足网关切换条件,且计时的时长大于或等于第二目标时长,且计数的次数大于或等于次数阈值时,直播客户端不再执行基于切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关的操作。
可选的,该第二目标时长和第二次数阈值也可以是直播客户端预先存储的。示例的,第二目标时长可以为5min,第二次数阈值可以为3。
示例的,假设第二目标时长为5min,第二次数阈值为3。在检测到至少一个目标网关再次满足网关切换条件时,直播客户端当前计时的时长为4min,执行的重新确定至少一个目标接入网关的操作次数为2,由于4<5,且2<3,因此直播客户端可以重新确定至少一个目标接入网关。
由于直播客户端可以在第二目标时长内重新确定至少一个目标接入网关的次数小于第二次数阈值时,才执行基于切换接入网关,以及多个接入网关中除至少一个目标接入网关外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关的操作,因此可以有效避免直播客户端因通信性能指标较差而不断的向接入网关发送时延探测包,过度占用接入网关资源的问题。
需要说明的是,对于前述的网关选择策略中可以携带的参数,例如第一目标时长、第一次数阈值以及第二目标时长等。由于这些参数可以由管理服务器下发至直播客户端,因此可以便于工作人员调整这些参数。
还需要说明的是,本申请实施例提供的直播状态数据的发送方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,步骤301可以根据情况删除,即直播客户端可以直接获取其预先存储的网关列表。或者,步骤304和步骤308也可以根据情况删除。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供了一种直播状态数据的发送方法,直播客户端可以确定网关列表中记录的每个接入网关的通信性能指标,并可以从多个接入网关中确定出通信性能指标大于指标阈值的至少一个目标接入网关,进而分别向每个目标接入网关发送直播状态数据。由于该网关列表中记录的接入网关除中心接入网关之外,还包括与终端距离较近的边缘接入网关,因此可以确保确定出的目标接入网关的通信性能较好,从而可以确保直播客户端与该目标接入网关之间数据传输的稳定性,进而有效确保了直播客户端与中心网关之间数据传输的稳定性。
本申请实施例提供了一种直播状态数据的发送装置,该装置可以应用于直播客户端,例如图1所示的直播客户端10a。参见图6,该装置400可以包括:
获取模块401,用于获取网关列表。
该网关列表中记录有多个接入网关中每个接入网关的标识,其中,多个接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关。每个边缘接入网关和每个中心接入网关均可以与位于中心机房的中心网关连接。
第一确定模块402,用于分别确定每个接入网关的通信性能指标。
第二确定模块403,用于从多个接入网关中确定至少一个目标接入网关。
每个目标接入网关的通信性能指标均大于指标阈值。
发送模块404,用于分别向每个目标接入网关发送直播客户端的直播状态数据。
综上所述,本申请实施例提供了一种直播状态数据的发送装置,该装置可以确定网关列表中记录的每个接入网关的通信性能指标,并可以从多个接入网关中确定出通信性能指标大于指标阈值的至少一个目标接入网关,进而分别向每个目标接入网关发送直播状态数据。由于该网关列表中记录的接入网关除中心接入网关之外,还包括与终端距离较近的边缘接入网关,因此可以确保确定出的目标接入网关的通信性能较好,从而可以确保直播客户端与该目标接入网关之间数据传输的稳定性,进而有效确保了直播客户端与中心网关之间数据传输的稳定性。
可选的,该网关列表中还可以记录有每个接入网关的权重,该权重与该接入网关的通信性能正相关。该第一确定模块402可以用于:确定直播客户端与每个接入网关之间的时延;对于每个接入网关,基于直播客户端与接入网关之间的时延,以及该接入网关的权重,确定该接入网关的通信性能指标,该通信性能指标与时延正相关,且与权重负相关。
可选的,参见图7,该第二确定模块403可以包括:
第一确定子模块4031,用于从多个接入网关中,确定通信性能指标大于指标阈值的至少一个备选接入网关。
发送子模块4032,用于向每个备选接入网关发送认证请求,该认证请求携带有直播客户端的标识,该认证请求用于指示该备选接入网关对直播客户端进行认证。
第二确定子模块4033,用于基于多个备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。
可选的,该网关列表中还记录有每个接入网关所属机房的标识,若发送认证通过消息的备选接入网关包括多个,则该第二确定子模块4033可以用于:
若发送认证通过消息的多个备选接入网关所属机房的标识均相同,则从发送认证通过消息的多个备选接入网关中确定一个目标接入网关;若发送认证通过消息的多个备选接入网关所属机房的标识不同,则从发送认证通过消息的多个备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关。
可选的,该第二确定模块403还可以用于:
对于每个备选接入网关,在向备选接入网关发送认证请求后的第一目标时长内,若未接收到备选接入网关发送的认证通过消息,且已向备选接入网关发送认证请求的次数小于第一次数阈值,则再次执行向备选接入网关发送认证请求的操作。
可选的,参见图8,该装置400还可以包括第三确定模块405,该第三确定模块405可以用于:
若检测到至少一个目标接入网关中存在满足网关切换条件的切换接入网关,则基于该切换接入网关的通信性能指标,以及多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关;其中,该网关切换条件包括以下条件中的至少一种:直播客户端与目标接入网关之间的连接中断;目标接入网关的通信性能指标小于指标阈值。
可选的,该网关切换条件包括:目标接入网关的通信性能指标小于指标阈值。该第三确定模块405可以用于:
若在首次基于网关切换条件触发重新确定至少一个目标接入网关的操作之后的第二目标时长内,基于网关切换条件再次触发重新确定至少一个目标接入网关的操作的次数小于第二次数阈值,则重新确定至少一个目标接入网关。
可选的,参见图8,该装置还可以包括:第四确定模块406,该第四确定模块406可以用于:
若至少一个目标接入网关中包括的中心接入网关的个数小于个数阈值,则基于多个接入网关中除至少一个目标接入网关之外的每个接入网关的通信性能指标,重新确定至少一个目标接入网关。
综上所述,本申请实施例提供了一种直播状态数据的发送装置,该装置可以确定网关列表中记录的每个接入网关的通信性能指标,并可以从多个接入网关中确定出通信性能指标大于指标阈值的至少一个目标接入网关,进而分别向每个目标接入网关发送直播状态数据。由于该网关列表中记录的接入网关除中心接入网关之外,还包括与终端距离较近的边缘接入网关,因此可以确保确定出的目标接入网关的通信性能较好,从而可以确保直播客户端与该目标接入网关之间数据传输的稳定性,进而有效确保了直播客户端与中心网关之间数据传输的稳定性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、各模块以及各子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图9是本申请实施例提供的又一种直播状态数据的发送装置的结构示意图,该装置可以应用于直播客户端,例如图1所示的直播客户端10a。参见图9,该装置500可以包括:存储器501、处理器502以及存储在该存储器502上并可在该处理器501上运行的计算机程序,该处理器502执行该计算机程序时可以实现如上述方法实施例提供的直播状态数据的发送方法,例如图2或图3所示的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述方法实施例提供的直播状态数据的发送方法,例如图2或图3所示的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机序产品在计算机上运行时,使得计算机执行上述方法实施例提供的直播状态数据的发送方法,例如图2或图3所示的方法。
本申请实施例还提供了一种直播状态数据的发送系统,参见图1,该系统可以包括:直播客户端10a、多个接入网关20和中心网关30。
多个接入网关20可以包括至少一个位于边缘机房a的边缘接入网关201,以及至少一个位于中心机房b的中心接入网关202,每个边缘接入网关201和每个中心接入网关202均可以与位于中心机房b的中心网关30连接。
该直播客户端10a可以包括上述实施例提供的直播状态数据的发送装置,例如图6、图8和图9任一所示的装置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
1.一种直播状态数据的发送方法,其特征在于,应用于直播客户端,所述方法包括:
获取网关列表,所述网关列表中记录有多个接入网关中每个接入网关的标识,其中,多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
分别确定每个所述接入网关的通信性能指标;
从多个所述接入网关中确定至少一个目标接入网关,每个所述目标接入网关的通信性能指标均大于指标阈值;
分别向每个所述目标接入网关发送所述直播客户端的直播状态数据。
2.根据权利要求1所述的方法,其特征在于,所述网关列表中还记录有每个所述接入网关的权重,所述权重与所述接入网关的通信性能正相关;所述分别确定每个所述接入网关的通信性能指标,包括:
确定所述直播客户端与每个所述接入网关之间的时延;
对于每个所述接入网关,基于所述直播客户端与所述接入网关之间的时延,以及所述接入网关的权重,确定所述接入网关的通信性能指标,所述通信性能指标与所述时延正相关,且与所述权重负相关。
3.根据权利要求1所述的方法,其特征在于,所述从多个所述接入网关中确定至少一个目标接入网关,包括:
从多个所述接入网关中,确定通信性能指标大于指标阈值的至少一个备选接入网关;
向每个所述备选接入网关发送认证请求,所述认证请求携带有直播客户端的标识,所述认证请求用于指示所述备选接入网关对所述直播客户端进行认证;
基于多个所述备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关。
4.根据权利要求3所述的方法,其特征在于,所述网关列表中还记录有每个所述接入网关所属机房的标识;
若发送认证通过消息的备选接入网关包括多个,则所述基于多个所述备选接入网关中发送认证通过消息的至少一个备选接入网关,确定至少一个目标接入网关确定目标接入网关,包括:
若发送认证通过消息的多个所述备选接入网关所属机房的标识均相同,则从发送认证通过消息的多个所述备选接入网关中确定一个目标接入网关;
若发送认证通过消息的多个所述备选接入网关所属机房的标识不同,则从发送认证通过消息的多个所述备选接入网关中,确定所属机房的标识互不相同的多个目标接入网关。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对于每个所述备选接入网关,在向所述备选接入网关发送认证请求后的第一目标时长内,若未接收到所述备选接入网关发送的认证通过消息,且已向所述备选接入网关发送所述认证请求的次数小于第一次数阈值,则再次执行向所述备选接入网关发送认证请求的操作。
6.根据权利要求1至5任一所述的方法,其特征在于,在分别向每个所述目标接入网关发送所述直播客户端的直播状态数据之后,所述方法还包括:
若检测到至少一个所述目标接入网关中存在满足网关切换条件的切换接入网关,则基于所述切换接入网关的通信性能指标,以及多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关;
其中,所述网关切换条件包括以下条件中的至少一种:
所述直播客户端与所述目标接入网关之间的连接中断;
所述目标接入网关的通信性能指标小于所述指标阈值。
7.根据权利要求6所述的方法,其特征在于,所述网关切换条件包括:所述目标接入网关的通信性能指标小于所述指标阈值;所述重新确定至少一个目标接入网关,包括:
若在首次基于所述网关切换条件触发重新确定至少一个目标接入网关的操作之后的第二目标时长内,基于所述网关切换条件再次触发重新确定至少一个目标接入网关的操作的次数小于第二次数阈值,则重新确定至少一个目标接入网关。
8.根据权利要求1至5任一所述的方法,其特征在于,在从多个所述接入网关中确定至少一个目标接入网关之后,所述方法还包括:
若至少一个所述目标接入网关中包括的中心接入网关的个数小于个数阈值,则基于多个所述接入网关中除至少一个所述目标接入网关之外的每个所述接入网关的通信性能指标,重新确定至少一个目标接入网关。
9.一种直播状态数据的发送装置,其特征在于,应用于直播客户端,所述装置包括:
获取模块,用于获取网关列表,所述网关列表中记录有多个接入网关中每个接入网关的标识,其中,多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
第一确定模块,用于分别确定每个所述接入网关的通信性能指标;
第二确定模块,用于从多个所述接入网关中确定至少一个目标接入网关,每个所述目标接入网关的通信性能指标均大于指标阈值;
发送模块,用于分别向每个所述目标接入网关发送所述直播客户端的直播状态数据。
10.一种直播状态数据的发送装置,其特征在于,应用于直播客户端,所述装置包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任一所述的直播状态数据的发送方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行如权利要求1至8任一所述的直播状态数据的发送方法。
12.一种直播状态数据的发送系统,其特征在于,所述系统包括:直播客户端、多个接入网关和中心网关;
多个所述接入网关包括至少一个位于边缘机房的边缘接入网关,以及至少一个位于中心机房的中心接入网关,每个所述边缘接入网关和每个所述中心接入网关均与位于所述中心机房的中心网关连接;
所述直播客户端包括如权利要求9或10所述的直播状态数据的发送装置。
技术总结