直播数据的处理方法、装置及电子设备转让专利

申请号 : CN202010570893.9

文献号 : CN113824970B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李尾冬

申请人 : 北京金山云网络技术有限公司

摘要 :

本发明提供了一种直播数据的处理方法、装置及电子设备,涉及数据处理技术领域,该方法包括:接收直播终端针对目标内容的直播数据请求;判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;将该目标数据发送给直播终端。本发明实施例根据用户的直播数据请求,针对性地发送满足用户需求的缓存数据,避免了缓存数据多发或少发的情况;并且,还结合直播服务器的网络状况,动态调整缓存数据的发送,从而更加灵活地发送直播数据请求对应的目标数据,可以有效缓解直播中的卡顿现象,提升直播服务质量。

权利要求 :

1.一种直播数据的处理方法,其特征在于,应用于直播服务器,所述直播服务器与预设的直播终端通信连接,所述方法包括:接收所述直播终端针对目标内容的直播数据请求;

判断所述直播数据请求中是否包含数据需求参数,得到第一判断结果;所述数据需求参数包括:所述直播数据请求对应的目标数据需要满足的参数;

根据所述第一判断结果,以及所述直播服务器中所述目标内容的缓存数据,确定所述直播数据请求对应的目标数据;

其中,所述根据所述第一判断结果,以及所述直播服务器中所述目标内容的缓存数据,确定所述直播数据请求对应的目标数据的步骤,包括:如果所述直播数据请求中不包含所述数据需求参数,判断所述直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果;

根据所述第二判断结果,从所述直播服务器中所述目标内容的缓存数据中,确定所述直播数据请求对应的目标数据;

将所述目标数据发送给所述直播终端。

2.根据权利要求1所述的直播数据的处理方法,其特征在于,所述根据所述第一判断结果,以及所述直播服务器中所述目标内容的缓存数据,确定所述直播数据请求对应的目标数据的步骤,包括:如果所述直播数据请求中包含所述数据需求参数,判断所述直播服务器中所述目标内容的缓存数据中,是否包含满足所述数据需求参数的缓存数据;

如果包含满足所述数据需求参数的缓存数据,将满足所述数据需求参数的所述缓存数据,确定为所述直播数据请求对应的目标数据。

3.根据权利要求2所述的直播数据的处理方法,其特征在于,所述数据需求参数包括:缓存数据的起始时间戳,或者,缓存数据的需求时长。

4.根据权利要求2所述的直播数据的处理方法,其特征在于,所述数据需求参数包括缓存数据的起始时间戳,所述将满足所述数据需求参数的所述缓存数据,确定为所述直播数据请求对应的目标数据的步骤,包括:将所述直播服务器中所述目标内容的缓存数据中,对应时间戳在所述起始时间戳的时间之后的缓存数据,确定为所述直播数据请求对应的目标数据。

5.根据权利要求3‑4任一项所述的直播数据的处理方法,其特征在于,所述起始时间戳包括起始解码时间戳,或者起始显示时间戳。

6.根据权利要求2所述的直播数据的处理方法,其特征在于,所述数据需求参数包括缓存数据的需求时长,所述将满足所述数据需求参数的所述缓存数据,确定为所述直播数据请求对应的目标数据的步骤,包括:将所述直播服务器中所述目标内容的缓存数据中,所述需求时长对应时间段内的最新缓存数据,确定为所述直播数据请求对应的目标数据。

7.根据权利要求2所述的直播数据的处理方法,其特征在于,所述方法还包括:如果所述直播服务器中所述目标内容的缓存数据中,不包含满足所述数据需求参数的缓存数据,将所述目标内容的实时数据确定为所述直播数据请求对应的目标数据。

8.根据权利要求1所述的直播数据的处理方法,其特征在于,所述判断所述直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果的步骤,包括:获取所述直播服务器中已接收到的所述目标内容的流数据的堆积时长;

判断所述堆积时长是否大于预设的时长阈值;

如果所述堆积时长大于预设的时长阈值,确定所述直播服务器的当前网络状况不满足预设网络要求。

9.根据权利要求1所述的直播数据的处理方法,其特征在于,所述根据所述第二判断结果,从所述直播服务器中所述目标内容的缓存数据中,确定所述直播数据请求对应的目标数据的步骤,包括:如果所述直播服务器的当前网络状况不满足所述预设网络要求,将所述直播服务器中所述目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为所述直播数据请求对应的目标数据;

如果所述直播服务器的当前网络状况满足所述预设网络要求,将所述直播服务器中所述目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为所述直播数据请求对应的目标数据;所述第二时长大于所述第一时长。

10.一种直播数据的处理装置,其特征在于,应用于直播服务器,所述直播服务器与预设的直播终端通信连接,所述装置包括:直播数据请求接收模块,用于接收所述直播终端针对目标内容的直播数据请求;

判断模块,用于判断所述直播数据请求中是否包含数据需求参数,得到第一判断结果;

所述数据需求参数包括:所述直播数据请求对应的目标数据需要满足的参数;

目标数据确定模块,用于根据所述第一判断结果,以及所述直播服务器中所述目标内容的缓存数据,确定所述直播数据请求对应的目标数据;

所述目标数据确定模块还用于,如果所述直播数据请求中不包含所述数据需求参数,判断所述直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果;根据所述第二判断结果,从所述直播服务器中所述目标内容的缓存数据中,确定所述直播数据请求对应的目标数据;

目标数据发送模块,用于将所述目标数据发送给所述直播终端。

11.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至9任一项所述的直播数据的处理方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至9任一项所述的直播数据的处理方法。

说明书 :

直播数据的处理方法、装置及电子设备

技术领域

[0001] 本发明涉及数据处理技术领域,尤其是涉及一种直播数据的处理方法、装置及电子设备。

背景技术

[0002] 由于网络视频直播具有直观、内容丰富、受众可划分等特点,近年来发展尤为迅速。通常情况下,主播客户端会先将直播数据流发送至直播服务器,然后,观看客户端通过直播服务器拉取直播数据流进行观看,从而实现观看直播。
[0003] 在现有的直播过程中,直播服务器在直播拉流的过程中通常会缓存一部分数据,并且,在直播过程中,直播服务器通常会将这部分缓存数据一次性地发给观看客户端。但是,这种直播缓存数据的发送方式容易造成缓存数据发送不正确,如果多发了缓存数据,则在网络较差的情况下容易造成网络拥塞;如果少发了缓存数据,则容易造成直播数据不够播,这两种情况都会导致观看客户端的卡顿,降低直播服务质量。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种直播数据的处理方法、装置及电子设备,可以缓解直播过程中观看客户端的直播卡顿现象,提升直播服务质量。
[0005] 第一方面,本发明实施例提供了一种直播数据的处理方法,应用于直播服务器,该直播服务器与预设的直播终端通信连接,该方法包括:接收直播终端针对目标内容的直播数据请求;判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;将该目标数据发送给直播终端。
[0006] 在本发明较佳的实施例中,上述根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据的步骤,包括:如果该直播数据请求中包含该数据需求参数,判断该直播服务器中该目标内容的缓存数据中,是否包含满足该数据需求参数的缓存数据;如果包含满足所述数据需求参数的缓存数据,将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据。
[0007] 在本发明较佳的实施例中,上述数据需求参数包括:缓存数据的起始时间戳,或者,缓存数据的需求时长。
[0008] 在本发明较佳的实施例中,上述数据需求参数包括缓存数据的起始时间戳,该将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据的步骤,包括:将该直播服务器中该目标内容的缓存数据中,对应时间戳在该起始时间戳的时间之后的缓存数据,确定为该直播数据请求对应的目标数据。
[0009] 在本发明较佳的实施例中,上述起始时间戳包括起始解码时间戳,或者起始显示时间戳。
[0010] 在本发明较佳的实施例中,上述数据需求参数包括缓存数据的需求时长,该将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据的步骤,包括:将该直播服务器中该目标内容的缓存数据中,该需求时长对应时间段内的最新缓存数据,确定为该直播数据请求对应的目标数据。
[0011] 在本发明较佳的实施例中,上述方法还包括:如果该直播服务器中该目标内容的缓存数据中,不包含满足该数据需求参数的缓存数据,将该目标内容的实时数据确定为该直播数据请求对应的目标数据。
[0012] 在本发明较佳的实施例中,上述根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据的步骤,包括:如果该直播数据请求中不包含该数据需求参数,判断该直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果;根据该第二判断结果,从该直播服务器中该目标内容的缓存数据中,确定该直播数据请求对应的目标数据。
[0013] 在本发明较佳的实施例中,上述判断该直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果的步骤,包括:获取该直播服务器中已接收到的该目标内容的流数据的堆积时长;判断该堆积时长是否大于预设的时长阈值;如果所述堆积时长大于预设的时长阈值,确定该直播服务器的当前网络状况不满足预设网络要求。
[0014] 在本发明较佳的实施例中,上述根据该第二判断结果,从该直播服务器中该目标内容的缓存数据中,确定该直播数据请求对应的目标数据的步骤,包括:如果该直播服务器的当前网络状况不满足该预设网络要求,将该直播服务器中该目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为该直播数据请求对应的目标数据;如果该直播服务器的当前网络状况满足该预设网络要求,将该直播服务器中该目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为该直播数据请求对应的目标数据;该第二时长大于该第一时长。
[0015] 第二方面,本发明实施例还提供了一种直播数据的处理装置,应用于直播服务器,该直播服务器与预设的直播终端通信连接,该装置包括:直播数据请求接收模块,用于接收该直播终端针对目标内容的直播数据请求;判断模块,用于判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;目标数据确定模块,用于根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;目标数据发送模块,用于将该目标数据发送给该直播终端。
[0016] 第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述直播数据的处理方法。
[0017] 第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述直播数据的处理方法。
[0018] 本发明实施例带来了以下有益效果:
[0019] 本发明实施例提供的一种直播数据的处理方法、装置及电子设备,接收直播终端针对目标内容的直播数据请求;判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;将该目标数据发送给直播终端。该方式中,通过根据用户的播放请求,针对性地发送满足用户需求的缓存数据,可以更加准确地发送缓存数据,避免了多发或少发的情况;并且,还通过结合直播服务器的网络状况,动态调整缓存数据的发送,从而更加灵活地发送直播数据请求对应的目标数据,可以有效缓解直播中的卡顿现象,提升直播服务质量。
[0020] 本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0021] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0022] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1为本发明实施例提供的一种直播数据的处理方法的流程示意图;
[0024] 图2为本发明实施例提供的另一种直播数据的处理方法的流程示意图;
[0025] 图3为本发明实施例提供的一种直播数据的处理装置的结构示意图;
[0026] 图4为本发明实施例提供的一种电子设备的结构示意图。
[0027] 图标:31‑直播数据请求接收模块;32‑判断模块;33‑目标数据确定模块;34‑目标数据发送模块;41‑处理器;42‑存储器;43‑总线;44‑通信接口。

具体实施方式

[0028] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 考虑到现有的直播缓存数据发送方式容易造成缓存数据发送不正确,进而导致观看客户端的卡顿,降低直播服务质量的问题,本发明实施例提供了一种直播数据的处理方法、装置及电子设备,该技术可以应用于各类直播场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种直播数据的处理方法进行详细介绍。
[0030] 参见图1,所示为本发明实施例提供的一种直播数据的处理方法的流程示意图,其中,该方法应用于直播服务器,且该直播服务器与预设的直播终端通信连接。由图1可见,该方法包括以下步骤:
[0031] 步骤S102:接收直播终端针对目标内容的直播数据请求。
[0032] 这里,直播终端可以是手机、笔记本电脑、平板电脑等,并且,该目标内容可以是网络链接,例如某直播间的链接;该目标内容还可以是现场直播的直播视频,例如足球比赛现场的直播视频等。其中,该直播终端与提供上述目标内容的直播服务器通信连接,并通过向该直播服务器发送直播数据请求,以获取所需的音频和/或视频流数据。
[0033] 步骤S104:判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数。
[0034] 当直播服务器接收到直播终端的直播数据请求后,首先判断该直播数据中是否包含数据需求参数,其中,该数据需求参数包括该直播数据请求对应的目标数据需要满足的参数,例如,该数据需求参数可以是关于缓存数据的参数,并且,直播终端通过在直播数据请求中携带该数据需求参数,以从该直播服务器获取目标内容的缓存数据。
[0035] 在其中一种可能的实施方式中,该数据需求参数可以是缓存数据的起始时间戳,从而可以根据该起始时间戳,从直播数据服务器中该目标内容的缓存数据中,获取满足该直播数据请求的缓存数据。在另一种可能的实施方式中,该数据需求参数还可以缓存数据的需求时长,并且,根据该需求时长从直播数据服务器中该目标内容的缓存数据中,获取满足该直播数据请求的缓存数据。
[0036] 这样,根据直播数据请求中携带的关于缓存数据的需求参数,可以针对性地从直播服务器获取所需的缓存数据,相比于现有技术中的缓存数据发送方式,该方式可以避免缓存数据多发或少发的情况,并更加准确地发送缓存数据。
[0037] 步骤S106:根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据。
[0038] 在实际操作中,直播终端发送给直播服务器的直播数据请求中,可能包含数据需求参数,也可能不包含数据需求参数(也即普通的直播请求)。
[0039] 在本实施例中,直播服务器结合接收到的直播数据请求中是否包含数据需求参数的情况,以及该目标内容的缓存数据,共同确定该直播数据请求对应的目标数据。这里,在接收到直播终端发送的直播数据请求时,直播服务器中可能存储有该目标内容的缓存数据,也可能没有该目标内容的缓存数据。通常情况下,直播服务器会优先向直播终端返回满足直播数据请求的缓存数据,并且,如果不存在满足直播数据请求的缓存数据,则向直播终端返回该目标内容的实时数据。例如,该实时数据可以是主播端发送给直播服务器的流数据。
[0040] 步骤S108:将该目标数据发送给直播终端。
[0041] 这里,返回给直播终端的目标数据为根据直播数据请求中是否包含数据需求参数的情况,以及直播服务器中该目标内容的缓存数据,共同确定出来的。这样,即可准确的将直播终端所需的数据针对性地发送该直播终端,避免数据多发或少发的状况,从而缓解直播中卡顿的现象。
[0042] 本发明实施例提供的一种直播数据的处理方法,接收直播终端针对目标内容的直播数据请求;判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;将该目标数据发送给直播终端。该方式中,通过根据用户的播放请求,针对性地发送满足用户需求的缓存数据,可以更加准确地发送缓存数据,避免了多发或少发的情况,从而更加灵活地发送直播数据请求对应的目标数据,可以有效缓解直播中的卡顿现象,提升直播服务质量。
[0043] 在图1所示直播数据的处理方法的基础上,本实施例还介绍了另一种直播数据的处理方法,该方法重点描述了前述实施例中步骤S106(根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据)的具体实现过程。如图2所示,其为该方法的流程示意图,其中,该方法应用于直播服务器,且该直播服务器与预设的直播终端通信连接,该方法包括以下步骤:
[0044] 步骤S202:接收直播终端针对目标内容的直播数据请求。
[0045] 这里,本实施例中的步骤S202对应前述实施例中的步骤S102,相应内容的描述可以参考前述实施例的对应部分,在此不再赘述。
[0046] 步骤S204:判断该直播数据请求中是否包含数据需求参数;如果是,执行步骤S206;如果否,执行步骤S208。
[0047] 在本实施例中,该数据需求参数为关于目标内容的缓存数据的参数。在其中一种可能的实施方式中,该数据需求参数可以包括缓存数据的起始时间戳,或者,缓存数据的需求时长。
[0048] 其中,如果判断该直播数据请求中包含数据需求参数,则继续判断该直播服务器中该目标内容的缓存数据中,是否包含满足该数据需求参数的缓存数据,并根据该判断结果,进一步确定出满足该数据需求参数的缓存数据。
[0049] 并且,如果判断该直播数据请求中不包含数据需求参数,则判断该直播服务器的当前网络状况是否满足预设网络要求,并根据当前网络状况,进一步确定出向直播终端返回的缓存数据。
[0050] 步骤S206:判断该直播服务器中该目标内容的缓存数据中,是否包含满足该数据需求参数的缓存数据;如果是,执行步骤S212;如果否,执行步骤S210。
[0051] 如果判断该直播服务器中该目标内容的缓存数据中,包含满足该数据需求参数的缓存数据,则将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据。
[0052] 如果判断该直播服务器中该目标内容的缓存数据中,不包含满足该数据需求参数的缓存数据,则将该目标内容的实时数据确定为该直播数据请求对应的目标数据。
[0053] 步骤S208:判断该直播服务器的当前网络状况是否满足预设网络要求;如果是,执行步骤S214;如果否,执行步骤S216。
[0054] 这里,预设网络要求可以是网速要求,也可以是网络模式(如4G、5G等)的要求。在其中一种可能的实施方式中,可以通过下述步骤31‑33,实现对直播服务器的当前网络状况是否满足预设网络要求的判断:
[0055] (31)获取该直播服务器中已接收到的该目标内容的流数据的堆积时长;
[0056] (32)判断该堆积时长是否大于预设的时长阈值;
[0057] (33)如果所述堆积时长大于预设的时长阈值,确定该直播服务器的当前网络状况不满足预设网络要求;如果否,确定该直播服务器的当前网络状况满足预设网络要求。
[0058] 这里,根据判断该直播服务器的当前网络状况是否满足预设网络要求,得到判断结果(也即,第二判断结果,其中“第一”、“第二”仅用于区分描述目的,不能理解为指示或暗示相对重要性)之后,根据该判断结果从该直播服务器中该目标内容的缓存数据中,确定该直播数据请求对应的目标数据。
[0059] 具体地,如果判断该直播服务器的当前网络状况满足预设网络要求,则将该直播服务器中该目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为该直播数据请求对应的目标数据;如果判断该直播服务器的当前网络状况不满足预设网络要求,则将该直播服务器中该目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为该直播数据请求对应的目标数据。其中,该第二时长大于该第一时长。
[0060] 例如,当直播数据请求中没有包含数据需求参数时,且该直播服务器中存储有目标内容的缓存数据,此时,如果当前网络较佳,则可以发送多一些的缓存数据(例如30秒内的缓存数据),如果当前网络较差,则可以少发送一些缓存数据(例如10秒内的缓存数据)。
[0061] 步骤S210:将该目标内容的实时数据确定为该直播数据请求对应的目标数据。
[0062] 当直播服务器中不包含该目标内容的缓存数据,或者,不包含满足该数据需求参数的缓存数据时,则将该目标内容的实时数据确定为该直播数据请求对应的目标数据。
[0063] 步骤S212:将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据。
[0064] 在其中一种可能的实施方式中,如果该数据需求参数包括缓存数据的起始时间戳,则可以将该直播服务器中该目标内容的缓存数据中,对应时间戳在该起始时间戳的时间之后的缓存数据,确定为该直播数据请求对应的目标数据。
[0065] 例如,假设直播服务器中该目标内容的缓存数据对应的时间戳分别为1,2,3...10;并且,直播数据请求中包含的缓存数据的起始时间戳为5,则将时间戳在5至10之间的缓存数据确定为该直播数据请求对应的目标数据。
[0066] 在实际操作中,上述起始时间戳包括起始解码时间戳(Decode Time Stamp,DTS),或者起始显示时间戳(Play Time Stamp,PTS)。其中,直播服务器可以通过对主播端发送的目标内容的流数据进行解析,得到对应数据的解码时间戳或显示时间戳,并记录存储。
[0067] 在另一种可能的实施方式中,上述数据需求参数包括缓存数据的需求时长,此时,可以将该直播服务器中该目标内容的缓存数据中,该需求时长对应时间段内的最新缓存数据,确定为该直播数据请求对应的目标数据。
[0068] 例如,假设直播服务器中该目标内容的缓存数据总共有15s(秒);并且,直播数据请求中包含的缓存数据的需求时长为7s,则将该目标内容最新7s的缓存数据确定为该直播数据请求对应的目标数据。
[0069] 步骤S214:将该直播服务器中该目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为该直播数据请求对应的目标数据;该第二时长大于该第一时长。
[0070] 当该直播服务器的当前网络状况满足预设网络要求时,将该直播服务器中该目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为该直播数据请求对应的目标数据。
[0071] 例如,假设预设网络要求为下行网速10M/s,而此时直播服务器的实际下行网速为12M/s,则表明当前网络状况满足预设网络要求;又比如,假设要求网络要求为4G通信,而当前网络通信模式为5G,也表明当前网络状况满足预设网络要求。
[0072] 这里,上述第二时长和第一时长可以根据实际需求进行设置,在此不作限定。
[0073] 步骤S216:将该直播服务器中该目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为该直播数据请求对应的目标数据。
[0074] 当该直播服务器的当前网络状况不满足预设网络要求时,则将该直播服务器中该目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为该直播数据请求对应的目标数据。
[0075] 例如,假设预设网络要求为下行网速10M/s,而此时直播服务器的实际下行网速为8M/s,则表明当前网络状况不满足预设网络要求;又比如,假设要求网络要求为5G通信,而当前网络通信模式为4G,也表明当前网络状况不满足预设网络要求。
[0076] 步骤S218:将该目标数据发送给直播终端。
[0077] 这样,本实施例提供的直播数据的处理方法,根据用户的播放请求,针对性地发送满足用户需求的缓存数据,从而更加准确地发送缓存数据,避免了多发或少发的情况;并且,还通过直播服务器的网络状况,动态调整缓存数据的发送,从而更加灵活地发送直播数据请求对应的目标数据,可以有效缓解直播中的卡顿现象,提升直播服务质量。
[0078] 对应于图1所示的直播数据的处理方法,本发明实施例还提供了一种直播数据的处理装置,该装置应用于直播服务器,其中,该直播服务器与预设的直播终端通信连接。
[0079] 参见图3,所示为一种直播数据的处理装置的结构示意图,由图3可见,该装置包括依次相连的直播数据请求接收模块31、判断模块32、目标数据确定模块33和目标数据发送模块34,其中,各个模块的功能如下:
[0080] 直播数据请求接收模块31,用于接收该直播终端针对目标内容的直播数据请求;
[0081] 判断模块32,用于判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;
[0082] 目标数据确定模块33,用于根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;
[0083] 目标数据发送模块34,用于将该目标数据发送给该直播终端。
[0084] 本发明实施例提供的一种直播数据的处理装置,接收直播终端针对目标内容的直播数据请求;判断该直播数据请求中是否包含数据需求参数,得到第一判断结果;该数据需求参数包括:该直播数据请求对应的目标数据需要满足的参数;根据该第一判断结果,以及该直播服务器中该目标内容的缓存数据,确定该直播数据请求对应的目标数据;将该目标数据发送给直播终端。该装置中,通过根据用户的播放请求,针对性地发送满足用户需求的目标内容的缓存数据,可以更加准确地发送缓存数据,避免了多发或少发的情况;并且,还通过结合实时的网络状况,动态调整缓存数据的发送,从而更加灵活地发送直播数据请求对应的目标数据,可以有效缓解直播中的卡顿现象,提升直播服务质量。
[0085] 在其中一种可能的实施方式中,上述目标数据确定模块33还用于:如果该直播数据请求中包含该数据需求参数,判断该直播服务器中该目标内容的缓存数据中,是否包含满足该数据需求参数的缓存数据;如果包含满足该数据需求参数的缓存数据,将满足该数据需求参数的该缓存数据,确定为该直播数据请求对应的目标数据。
[0086] 在另一种可能的实施方式中,上述数据需求参数包括:缓存数据的起始时间戳,或者,缓存数据的需求时长。
[0087] 在另一种可能的实施方式中,上述数据需求参数包括缓存数据的起始时间戳,上述目标数据确定模块33还用于:将该直播服务器中该目标内容的缓存数据中,对应时间戳在该起始时间戳的时间之后的缓存数据,确定为该直播数据请求对应的目标数据。
[0088] 在另一种可能的实施方式中,上述起始时间戳包括起始解码时间戳,或者起始显示时间戳。
[0089] 在另一种可能的实施方式中,上述数据需求参数包括缓存数据的需求时长,上述目标数据确定模块33还用于:将该直播服务器中该目标内容的缓存数据中,该需求时长对应时间段内的最新缓存数据,确定为该直播数据请求对应的目标数据。
[0090] 在另一种可能的实施方式中,上述目标数据确定模块33还用于:如果该直播服务器中该目标内容的缓存数据中,不包含满足该数据需求参数的缓存数据,将该目标内容的实时数据确定为该直播数据请求对应的目标数据。
[0091] 在另一种可能的实施方式中,上述目标数据确定模块33还用于:如果该直播数据请求中不包含该数据需求参数,判断该直播服务器的当前网络状况是否满足预设网络要求,得到第二判断结果;根据该第二判断结果,从该直播服务器中该目标内容的缓存数据中,确定该直播数据请求对应的目标数据。
[0092] 在另一种可能的实施方式中,上述目标数据确定模块33还用于:获取该直播服务器中已接收到的该目标内容的流数据的堆积时长;判断该堆积时长是否大于预设的时长阈值;如果该堆积时长大于预设的时长阈值,确定该直播服务器的当前网络状况不满足预设网络要求。
[0093] 在另一种可能的实施方式中,上述目标数据确定模块33还用于:如果该直播服务器的当前网络状况不满足该预设网络要求,将该直播服务器中该目标内容的缓存数据中,预设第一时长内的最新缓存数据确定为该直播数据请求对应的目标数据;如果该直播服务器的当前网络状况满足该预设网络要求,将该直播服务器中该目标内容的缓存数据中,预设第二时长内的最新缓存数据确定为该直播数据请求对应的目标数据;该第二时长大于该第一时长。
[0094] 本发明实施例提供的直播数据的处理装置,其实现原理及产生的技术效果和前述直播数据的处理方法实施例相同,为简要描述,直播数据的处理装置的实施例部分未提及之处,可参考前述直播数据的处理方法实施例中相应内容。
[0095] 本发明实施例还提供了一种电子设备,如图4所示,为该电子设备的结构示意图,其中,该电子设备包括处理器41和存储器42,该存储器42存储有能够被该处理器41执行的机器可执行指令,该处理器41执行该机器可执行指令以实现上述直播数据的处理方法。
[0096] 在图4示出的实施方式中,该电子设备还包括总线43和通信接口44,其中,处理器41、通信接口44和存储器42通过总线连接。
[0097] 其中,存储器42可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non‑volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0098] 处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器41读取存储器42中的信息,结合其硬件完成前述实施例的直播数据的处理方法的步骤。
[0099] 本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述直播数据的处理方法,具体实现可参见前述方法实施例,在此不再赘述。
[0100] 本发明实施例所提供的直播数据的处理方法、直播数据的处理装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的直播数据的处理方法,具体实现可参见方法实施例,在此不再赘述。
[0101] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0102] 另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0103] 在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0104] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。