一种视频播放请求处理方法、装置、系统和电子设备转让专利

申请号 : CN202010235484.3

文献号 : CN113473247B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 辛波斯文

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

摘要 :

本申请实施例提供了一种视频播放请求处理方法、装置、系统和电子设备,nginx服务器可以接收客户端发送的视频播放请求,并向cache存储器发送目标播放进度的标识和目标视频文件的标识;cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,并向nginx服务器发送目标视频分片的分片数据;nginx服务器向客户端转发目标视频分片的分片数据。基于上述处理,能够降低客户端播放视频的延时。

权利要求 :

1.一种视频播放请求处理系统,其特征在于,所述系统包括nginx服务器和cache存储器,其中:所述nginx服务器,用于接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识,并向所述cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识;

所述cache存储器,用于基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,并向所述nginx服务器发送所述目标视频分片的分片数据;

所述nginx服务器,还用于向所述客户端转发所述目标视频分片的分片数据。

2.根据权利要求1所述的系统,其特征在于,所述cache存储器,具体用于基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;

如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;

接收所述预设节点发送的所述关键信息;

如果本地已缓存所述关键信息,从本地读取所述关键信息。

3.根据权利要求1所述的系统,其特征在于,所述cache存储器,还用于判断本地是否已缓存所述目标视频分片的分片数据;

如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;

如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。

4.根据权利要求1所述的系统,其特征在于,所述cache存储器,还用于向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;

接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。

5.一种视频播放请求处理方法,其特征在于,所述方法应用于cache存储器,所述方法包括:接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,所述目标播放进度的标识和目标视频文件的标识,为所述nginx服务器接收到客户端发送的视频播放请求时发送的,所述视频播放请求为所述客户端在用户将所述目标视频文件的播放进度条拖拽至所述目标播放进度时生成的;

基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系;

基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片;

向所述nginx服务器发送所述目标视频分片的分片数据,以使所述nginx服务器向所述客户端转发所述目标视频分片的分片数据。

6.根据权利要求5所述的方法,其特征在于,所述基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,包括:基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;

如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;

接收所述预设节点发送的所述关键信息;

如果本地已缓存所述关键信息,从本地读取所述关键信息。

7.根据权利要求5所述的方法,其特征在于,在所述向所述nginx服务器发送所述目标视频分片的分片数据之前,所述方法还包括:判断本地是否已缓存所述目标视频分片的分片数据;

如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;

如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。

8.根据权利要求5所述的方法,其特征在于,在所述基于所述目标视频文件的标识,获取所述目标视频文件的关键信息之后,所述方法还包括:向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;

接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。

9.一种视频播放请求处理方法,其特征在于,所述方法应用于nginx服务器,所述方法包括:接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识;

向cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识,以使所述cache存储器基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,以及向所述nginx服务器发送所述目标视频分片的分片数据;

当接收到所述cache存储器发送的所述目标视频分片的分片数据时,向所述客户端转发所述目标视频分片的分片数据。

10.一种视频播放请求处理装置,其特征在于,所述装置应用于cache存储器,所述装置包括:接收模块,用于接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,所述目标播放进度的标识和目标视频文件的标识,为所述nginx服务器接收到客户端发送的视频播放请求时发送的,所述视频播放请求为所述客户端在用户将所述目标视频文件的播放进度条拖拽至所述目标播放进度时生成的;

获取模块,用于基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系;

确定模块,用于基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片;

发送模块,用于向所述nginx服务器发送所述目标视频分片的分片数据,以使所述nginx服务器向所述客户端转发所述目标视频分片的分片数据。

11.根据权利要求10所述的装置,其特征在于,所述获取模块,具体用于基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;

如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;

接收所述预设节点发送的所述关键信息;

如果本地已缓存所述关键信息,从本地读取所述关键信息。

12.根据权利要求10所述的装置,其特征在于,所述装置还包括:处理模块,用于判断本地是否已缓存所述目标视频分片的分片数据;

如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;

如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。

13.根据权利要求10所述的装置,其特征在于,所述装置还包括:请求模块,用于向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;

接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。

14.一种视频播放请求处理装置,其特征在于,所述装置应用于nginx服务器,所述装置包括:接收模块,用于接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识;

发送模块,用于向cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识,以使所述cache存储器基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,以及向所述nginx服务器发送所述目标视频分片的分片数据;

转发模块,用于当接收到所述cache存储器发送的所述目标视频分片的分片数据时,向所述客户端转发所述目标视频分片的分片数据。

15.一种电子设备,其特征在于,包括存储器和处理器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求5‑8任一所述的方法步骤。

16.一种电子设备,其特征在于,包括存储器和处理器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求9所述的方法步骤。

17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5‑8任一所述的方法步骤。

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9所述的方法步骤。

说明书 :

一种视频播放请求处理方法、装置、系统和电子设备

技术领域

[0001] 本申请涉及计算机网络技术领域,特别是涉及一种视频播放请求处理方法、装置、系统和电子设备。

背景技术

[0002] 随着计算机网络技术的快速发展,CDN(Content Delivery Network,内容分发网络)的使用也越来越广泛,例如,可以基于CDN实现视频点播业务。相关技术中,CDN可以对视频文件进行分片,得到多个视频分片的分片数据,并进行存储。
[0003] 在用户观看视频的过程中,如果需要跳过不感兴趣的视频内容,用户可以在客户端中拖拽播放进度条,相应的,客户端可以向CDN发送用户拖拽到的播放进度对应的视频播放请求。CDN中nginx服务器接收到该视频播放请求后,可以向cache(缓存)存储器请求客户端所请求播放的视频文件的关键信息,视频的关键信息可以包括视频分片与播放进度的对应关系。在从cache存储器获取到视频文件的关键信息后,nginx服务器可以根据关键信息,确定用户拖拽到的播放进度对应的视频分片,并向cache存储器请求确定的视频分片的分片数据。在接收到cache存储器发送的分片数据后,nginx服务器可以向客户端转发分片数据。
[0004] 然而,nginx服务器可能需要向cache存储器请求多次,才能得到视频文件完整的关键信息,会消耗较长的时间,进而,会导致客户端播放视频的延时较长。

发明内容

[0005] 本申请实施例的目的在于提供一种视频播放请求处理方法、装置、系统和电子设备,能够降低客户端播放视频的延时。具体技术方案如下:
[0006] 第一方面,为了达到上述目的,本申请实施例公开了一种视频播放请求处理系统,所述系统包括nginx服务器和cache存储器,其中:
[0007] 所述nginx服务器,用于接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识,并向所述cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识;
[0008] 所述cache存储器,用于基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,并向所述nginx服务器发送所述目标视频分片的分片数据;
[0009] 所述nginx服务器,还用于向所述客户端转发所述目标视频分片的分片数据。
[0010] 可选的,所述cache存储器,具体用于基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;
[0011] 如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;接收所述预设节点发送的所述关键信息;
[0012] 如果本地已缓存所述关键信息,从本地读取所述关键信息。
[0013] 可选的,所述cache存储器,还用于判断本地是否已缓存所述目标视频分片的分片数据;
[0014] 如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;
[0015] 如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。
[0016] 可选的,所述cache存储器,还用于向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;
[0017] 接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。
[0018] 第二方面,为了达到上述目的,本申请实施例还公开了一种视频播放请求处理方法,所述方法应用于cache存储器,所述方法包括:
[0019] 接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,所述目标播放进度的标识和目标视频文件的标识,为所述nginx服务器接收到客户端发送的视频播放请求时发送的,所述视频播放请求为所述客户端在用户将所述目标视频文件的播放进度条拖拽至所述目标播放进度时生成的;
[0020] 基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系;
[0021] 基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片;
[0022] 向所述nginx服务器发送所述目标视频分片的分片数据,以使所述nginx服务器向所述客户端转发所述目标视频分片的分片数据。
[0023] 可选的,所述基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,包括:
[0024] 基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;
[0025] 如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;接收所述预设节点发送的所述关键信息;
[0026] 如果本地已缓存所述关键信息,从本地读取所述关键信息。
[0027] 可选的,在所述向所述nginx服务器发送所述目标视频分片的分片数据之前,所述方法还包括:
[0028] 判断本地是否已缓存所述目标视频分片的分片数据;
[0029] 如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;
[0030] 如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。
[0031] 可选的,在所述基于所述目标视频文件的标识,获取所述目标视频文件的关键信息之后,所述方法还包括:
[0032] 向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;
[0033] 接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。
[0034] 第三方面,为了达到上述目的,本申请实施例还公开了一种视频播放请求处理方法,所述方法应用于nginx服务器,所述方法包括:
[0035] 接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识;
[0036] 向cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识,以使所述cache存储器基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,以及向所述nginx服务器发送所述目标视频分片的分片数据;
[0037] 当接收到所述cache存储器发送的所述目标视频分片的分片数据时,向所述客户端转发所述目标视频分片的分片数据。
[0038] 第四方面,为了达到上述目的,本申请实施例还公开一种视频播放请求处理装置,所述装置应用于cache存储器,所述装置包括:
[0039] 接收模块,用于接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,所述目标播放进度的标识和目标视频文件的标识,为所述nginx服务器接收到客户端发送的视频播放请求时发送的,所述视频播放请求为所述客户端在用户将所述目标视频文件的播放进度条拖拽至所述目标播放进度时生成的;
[0040] 获取模块,用于基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系;
[0041] 确定模块,用于基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片;
[0042] 发送模块,用于向所述nginx服务器发送所述目标视频分片的分片数据,以使所述nginx服务器向所述客户端转发所述目标视频分片的分片数据。
[0043] 可选的,所述获取模块,具体用于基于所述目标视频文件的标识,判断本地是否已缓存所述目标视频文件的关键信息;
[0044] 如果本地未缓存所述关键信息,向预设节点发送用于请求所述关键信息的回源请求;接收所述预设节点发送的所述关键信息;
[0045] 如果本地已缓存所述关键信息,从本地读取所述关键信息。
[0046] 可选的,所述装置还包括:
[0047] 处理模块,用于判断本地是否已缓存所述目标视频分片的分片数据;
[0048] 如果本地未缓存所述目标视频分片的分片数据,向预设节点发送,用于请求所述目标视频分片的分片数据的回源请求;接收所述预设节点发送的所述目标视频分片的分片数据;
[0049] 如果本地已缓存所述目标视频分片的分片数据,从本地读取所述目标视频分片的分片数据。
[0050] 可选的,所述装置还包括:
[0051] 请求模块,用于向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,所述未缓存视频分片包括所述目标视频文件中本地未缓存的视频分片;
[0052] 接收所述预设节点发送的所述未缓存视频分片的分片数据,并缓存至本地。
[0053] 第五方面,为了达到上述目的,本申请实施例还公开一种视频播放请求处理装置,所述装置应用于nginx服务器,所述装置包括:
[0054] 接收模块,用于接收客户端发送的视频播放请求,其中,所述视频播放请求为所述客户端在用户拖拽播放进度条时生成的,所述视频播放请求中携带有所述用户拖拽到的目标播放进度的标识和所述客户端请求的目标视频文件的标识;
[0055] 发送模块,用于向cache存储器发送所述目标播放进度的标识和所述目标视频文件的标识,以使所述cache存储器基于所述目标视频文件的标识,获取所述目标视频文件的关键信息,其中,所述关键信息包括视频分片与播放进度的对应关系,基于所述关键信息,确定所述目标播放进度对应的视频分片,作为目标视频分片,以及向所述nginx服务器发送所述目标视频分片的分片数据;
[0056] 转发模块,用于当接收到所述cache存储器发送的所述目标视频分片的分片数据时,向所述客户端转发所述目标视频分片的分片数据。
[0057] 第六方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
[0058] 所述存储器,用于存放计算机程序;
[0059] 所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第二方面所述的视频播放请求处理方法。
[0060] 第七方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
[0061] 所述存储器,用于存放计算机程序;
[0062] 所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第三方面所述的视频播放请求处理方法。
[0063] 第八方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第二方面所述的视频播放请求处理方法。
[0064] 第九方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第三方面所述的视频播放请求处理方法。
[0065] 第十方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的视频播放请求处理方法。
[0066] 第十一方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述三方面所述的视频播放请求处理方法。
[0067] 本申请实施例提供了一种视频播放请求处理方法,nginx服务器可以接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识,nginx服务器可以向cache存储器发送目标播放进度的标识和目标视频文件的标识,cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,进而,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,并向nginx服务器发送目标视频分片的分片数据,然后,nginx服务器向客户端转发目标视频分片的分片数据。
[0068] 基于上述处理,由cache存储器负责基于关键信息,确定用户拖拽到的目标播放进度对应的目标视频分片,并向nginx服务器发送目标视频分片的分片数据,cache存储器并不需要向nginx服务器发送目标视频文件的关键信息,相对于现有技术,本申请实施例中nginx服务器与cache存储器经过一次交互,就可以得到目标视频分片的分片数据,能够减少nginx服务器与cache存储器的交互次数,以降低消耗的时长,进而,能够降低客户端播放视频的延时。
[0069] 当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

[0070] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0071] 图1为本申请实施例提供的一种视频播放请求处理系统的架构图;
[0072] 图2为本申请实施例提供的一种视频播放请求处理方法的流程图;
[0073] 图3为本申请实施例提供的一种视频播放请求处理方法的流程图;
[0074] 图4为本申请实施例提供的一种组网的架构图;
[0075] 图5为本申请实施例提供的一种边缘节点的架构图;
[0076] 图6为本申请实施例提供的一种处理视频播放请求的信令交互图;
[0077] 图7为本申请实施例提供的一种视频播放请求处理装置的结构图;
[0078] 图8为本申请实施例提供的一种视频播放请求处理装置的结构图;
[0079] 图9为本申请实施例提供的一种电子设备的结构图;
[0080] 图10为本申请实施例提供的一种电子设备的结构图。

具体实施方式

[0081] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0082] 相关技术中,当用户通过客户端拖拽播放进度条时,客户端可以向CDN发送对应的视频播放请求,为了响应该视频播放请求,CDN中的nginx服务器可能需要向cache存储器请求多次,才能得到视频文件完整的关键信息,进而,根据关键信息从cache存储器获取客户端请求的分片数据,上述处理过程会消耗较长的时间,进而,会导致客户端播放视频的延时较长。
[0083] 为了解决上述问题,本申请实施例提供了一种视频播放请求处理系统,参见图1,图1为本申请实施例提供的一种视频播放请求处理系统的架构图,该系统可以包括nginx服务器和cache存储器。
[0084] nginx服务器可以接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识,然后,nginx服务器可以向cache存储器发送目标播放进度的标识和目标视频文件的标识。
[0085] 相应的,cache存储器可以基于目标视频文件的标识,获取目标视频文件的关键信息,进而,基于关键信息,确定目标播放进度对应的视频分片(即目标视频分片),并向nginx服务器发送目标视频分片的分片数据。
[0086] 进而,nginx服务器可以向客户端转发目标视频分片的分片数据。
[0087] 基于上述系统,由cache存储器负责基于关键信息,确定用户拖拽到的目标播放进度对应的目标视频分片,并向nginx服务器发送目标视频分片的分片数据,cache存储器并不需要向nginx服务器发送目标视频文件的关键信息,相对于现有技术,本申请实施例中nginx服务器与cache存储器经过一次交互,就可以得到目标视频分片的分片数据,能够减少nginx服务器与cache存储器的交互次数,以降低消耗的时长,进而,能够降低客户端播放视频的延时。
[0088] 关于上述视频播放请求处理系统的其他相关实施例,可以参考后续方法实施例中的相关介绍。
[0089] 参见图2,图2为本申请实施例提供的一种视频播放请求处理方法的流程图,该方法可以应用于上述视频播放请求处理系统中的cache存储器,该方法可以包括以下步骤:
[0090] S201:接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识。
[0091] 其中,目标播放进度的标识和目标视频文件的标识,为nginx服务器接收到客户端发送的视频播放请求时发送的,视频播放请求为客户端在用户将目标视频文件的播放进度条拖拽至目标播放进度时生成的。
[0092] S202:基于目标视频文件的标识,获取目标视频文件的关键信息。
[0093] 其中,关键信息可以包括视频分片与播放进度的对应关系。
[0094] S203:基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片。
[0095] S204:向nginx服务器发送目标视频分片的分片数据,以使nginx服务器向客户端转发目标视频分片的分片数据。
[0096] 可见,基于本申请实施例提供的视频播放请求处理方法,由cache存储器负责基于关键信息,确定用户拖拽到的目标播放进度对应的目标视频分片,并向nginx服务器发送目标视频分片的分片数据,cache存储器并不需要向nginx服务器发送目标视频文件的关键信息,相对于现有技术,本申请实施例中nginx服务器与cache存储器经过一次交互,就可以得到目标视频分片的分片数据,能够减少nginx服务器与cache存储器的交互次数,以降低消耗的时长,进而,能够降低客户端播放视频的延时。
[0097] 一种实现方式中,步骤S201中,目标视频文件的标识可以为目标视频文件的URL(Uniform Resource Locator,统一资源定位符),但并不限于此。
[0098] 在用户通过客户端观看目标视频文件的过程中,用户可以在客户端中拖拽视频的播放进度条,以跳过不感兴趣的视频内容。客户端可以确定用户当前观看的目标视频文件,以及用户拖拽到的播放进度(即目标播放进度)。
[0099] 例如,如果用户观看的视频文件为mp4格式,用户可以拖拽播放进度条至第20分钟处,相应的,客户端可以确定目标播放进度为第20分钟处,另外,还可以确定用户观看的视频文件为mp4格式。
[0100] 又例如,如果用户观看的视频文件为flv格式,当用户将播放进度条拖拽至一位置时,客户端可以确定该位置的视频数据为视频文件中的第1GB数据,则目标播放进度可以为第1GB处,另外,还可以确定用户观看的视频文件为flv格式。
[0101] 进而,客户端可以向CDN发送携带有目标播放进度的标识和目标视频文件的标识的视频播放请求,CDN中的nginx服务器可以接收到该视频播放请求,并向cache存储器转发目标播放进度的标识和目标视频文件的标识。
[0102] 视频播放请求中还可以携带有用于表示目标视频文件的格式的后缀名,例如,可以携带有.mp4或.flv字段。
[0103] 一种实现方式中,nginx服务器可以部署于CDN的边缘节点中,另外,该边缘节点中还可以部署有cache存储器。在CDN领域,边缘节点可以为包含多个服务器的集群。
[0104] 例如,一个边缘节点可以包括多个cache服务器,nginx服务器和cache存储器可以以服务的形式部署在cache服务器中,一个cache服务器中部署的nginx服务器可以与所在边缘节点中其他任一cache服务器中部署的cache存储器进行交互。
[0105] 另外,边缘节点还可以包括用于实现负载均衡的LVS(Linux Virtual Server,Linux虚拟服务器)。
[0106] 一种实现方式中,当LVS接收到客户端发送的视频播放请求后,可以基于预设的负载均衡策略,从所在边缘节点中的多个cache服务器中确定出一个cache服务器用于处理该视频播放请求,并将该视频播放请求转发至确定出的cache服务器。
[0107] 相应的,该cache服务器中的nginx服务器可以接收到该视频播放请求,获取目标视频文件的标识和目标播放进度的标识,并向cache存储器转发目标视频文件的标识和目标播放进度的标识。
[0108] 一种实现方式中,步骤S202中,目标视频文件的完整数据可以包括:目标视频文件的视频数据部分以及目标视频文件的关键信息。目标视频文件的关键信息可以位于目标视频文件的完整数据的前端,或者,也可以位于目标视频文件的完整数据的末端。
[0109] 例如,如果目标视频文件为mp4格式,则目标视频文件的关键信息可以为目标视频文件的moov(元数据)信息;如果目标视频文件为flv格式,则目标视频文件的关键信息可以为目标视频文件的script tag(脚本标签)信息。
[0110] 在获取目标视频文件的标识后,cache存储器可以根据目标视频文件的标识,确定客户端请求的目标视频文件,并获取目标视频文件的关键信息。
[0111] 一种实现方式中,步骤S203中,在获取目标视频文件的关键信息后,cache存储器可以在关键信息中查询,确定目标播放进度对应的视频分片(即目标视频分片)。
[0112] 例如,目标视频文件为mp4格式,目标播放进度为第20分钟处,cache存储器根据目标视频文件的关键信息,可以确定第20分钟处对应的视频分片为第100个视频分片。
[0113] 一种实现方式中,步骤S204中,在确定出目标视频分片后,cache存储器可以获取目标视频分片的分片数据,并向nginx服务器发送,相应的,nginx服务器可以向客户端转发目标视频分片的分片数据。
[0114] 在一个实施例中,S202可以包括以下步骤:
[0115] 步骤一,基于目标视频文件的标识,判断本地是否已缓存目标视频文件的关键信息;如果否,执行步骤二;如果是,执行步骤三。
[0116] 步骤二,向预设节点发送用于请求关键信息的回源请求;接收预设节点发送的关键信息。
[0117] 步骤三,如果本地已缓存关键信息,从本地读取关键信息。
[0118] 一种实现方式中,预设节点可以为源站节点,源站节点中可以存储有目标视频文件的完整数据(包括目标视频文件的视频数据部分和目标视频文件的关键信息)。
[0119] 在申请实施例中,如果cache存储器本地未缓存有目标视频文件的关键信息,则cache存储器可以向源站节点请求目标视频文件的关键信息。
[0120] 当源站节点接收到回源请求时,可以向该cache存储器发送目标视频文件的关键信息,进而,该cache存储器可以获取目标视频文件的关键信息,另外,该cache存储器还可以将目标视频文件的关键信息存储在本地。
[0121] 另一种实现方式中,边缘节点与源站节点之间还可以包括中层节点和上层节点。此时,预设节点可以为源站节点,也可以是中层节点或上层节点。
[0122] 中层节点可以接收边缘节点中的cache存储器发送的回源请求,如果中层节点本地缓存有目标视频文件的关键信息,则可以响应该回源请求,如果中层节点本地未缓存有目标视频文件的关键信息,则可以向上层节点转发回源请求。
[0123] 同理,如果上层节点本地缓存有目标视频文件的关键信息,则可以响应该回源请求,如果上层节点本地未缓存有目标视频文件的关键信息,则可以向源站节点转发回源请求,由源站节点处理回源请求。
[0124] 另外,即使cache存储器本地缓存有目标视频文件的关键信息,cache存储器本地也不一定缓存有目标视频分片的分片数据,为了保证正常的视频播放业务,在一个实施例中,在向nginx服务器发送目标视频分片的分片数据之前,该方法还可以包括以下步骤:
[0125] 步骤1,判断本地是否已缓存目标视频分片的分片数据;如果否,执行步骤2,如果是,执行步骤3。
[0126] 步骤2,向预设节点发送,用于请求目标视频分片的分片数据的回源请求;接收预设节点发送的目标视频分片的分片数据。
[0127] 步骤3,从本地读取目标视频分片的分片数据。
[0128] 其中,预设节点可以参考上述实施例中的详细介绍。
[0129] 在申请实施例中,在确定出客户端所请求的目标视频分片后,cache存储器可以判断本地是否已缓存目标视频分片的分片数据。
[0130] 如果本地未缓存有目标视频分片的分片数据,则cache存储器可以向预设节点请求目标视频分片的分片数据。预设节点可以向该cache存储器发送目标视频分片的分片数据,相应的,该cache存储器可以向nginx服务器转发目标视频分片的分片数据,另外,cache存储器还可以将目标视频分片的分片数据存储在本地。
[0131] 后续,当nginx服务器再次向cache存储器请求获取目标视频分片的分片数据时,cache存储器则可以直接从本地获取目标视频分片的分片数据,并向nginx服务器发送,进而,能够提高视频播放请求处理的效率,降低客户端播放视频的延时。
[0132] 在一个实施例中,为了进一步提高视频播放请求处理的效率,降低客户端播放视频的延时,在获取目标视频文件的关键信息之后,该方法还可以包括以下步骤:
[0133] 向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;接收预设节点发送的未缓存视频分片的分片数据,并缓存至本地。
[0134] 其中,预设节点可以参考上述实施例中的详细介绍。未缓存视频分片可以包括目标视频文件中本地未缓存的视频分片。
[0135] 一种实现方式中,在cache存储器获取目标视频文件的关键信息后,cache存储器可以向预设节点请求未缓存的目标视频文件的视频分片(即本申请实施例中的未缓存视频分片)的分片数据,进而,cache存储器可以获取目标视频文件的完整数据,并存储在本地。
[0136] 后续,当nginx服务器向cache存储器请求目标视频文件的其他视频分片的分片数据时,cache存储器可以直接从本地获取对应的分片数据,而不需要再次回源,能够进一步提高视频播放请求处理的效率,降低客户端播放视频的延时。
[0137] 一种实现方式中,针对限制用户观看目标视频文件的长度的情况,例如,目标视频文件只提供前6分钟的试看,如果用户将播放进度条拖拽至第4分钟,则客户端发送的视频播放请求中还可以携带有终止播放进度的标识(即6分钟),相应的,cache存储器可以获取终止播放进度的标识,确定终止播放进度为6分钟,后续,cache存储器并不会向nginx服务器返回6分钟之后的视频分片的分片数据。
[0138] 在该示例中,如果本地并未缓存4分钟‑6分钟对应的视频分片,则cache存储器可以向预设节点请求目标视频文件中当前未缓存的视频分片(包括4分钟‑6分钟对应的视频分片),而不是仅请求4分钟‑6分钟对应的视频分片,也就是说,cache存储器发送的回源请求中并不会携带有4分钟和6分钟对应的标识。
[0139] 在向预设节点请求未缓存视频分片时,cache存储器发送的回源请求中可以携带有未缓存视频分片对应的偏移量。
[0140] 例如,目标视频文件的总大小为2G,如果本地已缓存前1G的视频分片,cache存储器可以确定未缓存视频分片对应的偏移量为1G‑2G,则cache存储器向预设节点发送的回源请求中,可以携带有1G和2G对应的两个偏移值。
[0141] 参见图3,图3为本申请实施例提供的一种视频播放请求处理方法的流程图,该方法可以应用于上述视频播放请求处理系统中nginx服务器,该方法可以包括以下步骤:
[0142] S301:接收客户端发送的视频播放请求。
[0143] 其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识。
[0144] S302:向cache存储器发送目标播放进度的标识和目标视频文件的标识。
[0145] 使得cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,以及向nginx服务器发送目标视频分片的分片数据。
[0146] 其中,关键信息包括视频分片与播放进度的对应关系。
[0147] S303:当接收到cache存储器发送的目标视频分片的分片数据时,向客户端转发目标视频分片的分片数据。
[0148] 可见,基于本申请实施例提供的视频播放请求处理方法,由cache存储器负责基于关键信息,确定用户拖拽到的目标播放进度对应的目标视频分片,并向nginx服务器发送目标视频分片的分片数据,cache存储器并不需要向nginx服务器发送目标视频文件的关键信息,相对于现有技术,本申请实施例中nginx服务器与cache存储器经过一次交互,就可以得到目标视频分片的分片数据,能够减少nginx服务器与cache存储器的交互次数,以降低消耗的时长,进而,能够降低客户端播放视频的延时。
[0149] 一种实现方式中,在步骤S301中,在用户通过客户端观看目标视频文件的过程中,用户可以在客户端中拖拽视频的播放进度条,以跳过不感兴趣的视频内容。
[0150] 相应的,客户端可以确定用户当前观看的目标视频文件,以及用户拖拽到的播放进度(即目标播放进度)。
[0151] 进而,客户端可以向CDN发送携带有目标播放进度的标识和目标视频文件的标识的视频播放请求,CDN中的nginx服务器可以接收到该视频播放请求。
[0152] 一种实现方式中,在步骤S302中,在接收到客户端发送的视频播放请求后,nginx服务器可以提取目标播放进度的标识和目标视频文件的标识,并向cache存储器发送。
[0153] 例如,nginx服务器可以基于哈希(Hash)算法,对目标视频文件的标识进行处理,得到对应的哈希值,并基于预设的哈希值与边缘节点的对应关系,确定得到的哈希值对应的边缘节点,进而,nginx服务器可以向确定出的边缘节点中的cache存储器,转发目标视频文件的标识和目标播放进度的标识。
[0154] 一种实现方式中,nginx服务器可以将目标视频文件的标识和目标播放进度的标识封装在请求头中,并向cache存储器发送已封装目标视频文件的标识和目标播放进度的标识的视频数据获取请求。
[0155] 相应的,cache存储器可以基于目标视频文件的标识,获取目标视频文件的关键信息,基于关键信息,确定目标播放进度对应的目标视频分片,并向nginx服务器发送目标视频分片的分片数据,cache存储器的处理方法已在上述实施例中详细介绍,此处不再赘述。
[0156] 一种实现方式中,在步骤S303中,在接收到cache存储器返回的目标视频分片的分片数据后,nginx服务器可以向客户端转发目标视频分片的分片数据,相应的,客户端则可以基于目标视频分片的分片数据为用户展示视频画面。
[0157] 参见图4,图4为本申请实施例提供的一种组网的架构图。
[0158] 图4中,当用户在客户端中拖拽播放进度条时,客户端可以向域名系统(Domain Name System,DNS)发送针对边缘节点的域名解析请求,域名系统可以向客户端发送所请求的域名对应的网络地址(即边缘节点的网络地址),客户端则可以根据该网络地址,向边缘节点发送视频播放请求。
[0159] 如果边缘节点本地缓存有目标视频文件的数据,边缘节点可以直接响应视频播放请求,如果边缘节点本地未缓存有目标视频文件的数据,边缘节点可以向源站节点发送对应的回源请求。
[0160] 中层节点可以接收边缘节点发送的回源请求,如果中层节点本地缓存有目标视频文件的数据,则可以响应回源请求,如果中层节点本地未缓存有目标视频文件的数据,则可以向上层节点转发回源请求。
[0161] 如果上层节点本地缓存有目标视频文件的数据,则可以响应回源请求,如果上层节点本地未缓存有目标视频文件的数据,则可以向源站节点转发回源请求,由源站节点响应该回源请求。
[0162] 参见图5,图5为本申请实施例提供的一种边缘节点的架构图。
[0163] 图5中,该边缘节点可以包括LVS(Linux虚拟服务器)、cache服务器1和cache服务器2,cache服务器1中可以部署有nginx服务器1和cache存储器1,cache服务器2中可以部署有nginx服务器2和cache存储器2。本申请实施例仅以边缘节点包括两个cache服务器为例进行说明,但并不限于此。
[0164] nginx服务器1可以与cache存储器1和cache存储器2进行交互,同理,nginx服务器2也可以与cache存储器1和cache存储器2进行交互。
[0165] 一种实现方式中,当LVS接收到客户端发送的视频播放请求后,可以基于预设的负载均衡策略,从cache服务器1和cache服务器2中确定出一个cache服务器(例如,为cache服务器1)用于处理该视频播放请求,并将该视频播放请求转发至cache服务器1。
[0166] 相应的,nginx服务器1可以获取目标视频文件的标识和目标播放进度的标识,并基于哈希(Hash)算法,对目标视频文件的标识进行处理,得到对应的哈希值,并基于预设的哈希值与边缘节点的对应关系,确定得到的哈希值对应的cache服务器(例如,为cache服务器2),进而,nginx服务器1可以向cache存储器2转发目标视频文件的标识和目标播放进度的标识。
[0167] cache存储器2则可以根据本申请实施例的方法,获取目标视频分片的分片数据,并向nginx服务器1发送目标视频分片的分片数据,nginx服务器1则可以向客户端转发目标视频分片的分片数据。
[0168] 参见图6,图6为本申请实施例提供的一种处理视频播放请求的信令交互图,可以包括以下步骤:
[0169] S601:客户端向nginx服务器发送视频播放请求。
[0170] 其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识。
[0171] S602:nginx服务器向cache存储器发送目标播放进度的标识和目标视频文件的标识。
[0172] S603:cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,并基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片。
[0173] 其中,关键信息包括视频分片与播放进度的对应关系。
[0174] S604:cache存储器向nginx服务器发送目标视频分片的分片数据。
[0175] S605:nginx服务器向客户端转发目标视频分片的分片数据。
[0176] 可见,基于上述处理,nginx服务器与cache存储器经过一次交互,就可以得到目标视频分片的分片数据,能够减少nginx服务器与cache存储器的交互次数,以降低消耗的时长,进而,能够降低客户端播放视频的延时。
[0177] 基于相同的发明构思,参见图7,图7为本申请实施例提供的一种视频播放请求处理装置的结构图,装置应用于cache存储器,装置包括:
[0178] 接收模块701,用于接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,目标播放进度的标识和目标视频文件的标识,为nginx服务器接收到客户端发送的视频播放请求时发送的,视频播放请求为客户端在用户将目标视频文件的播放进度条拖拽至目标播放进度时生成的;
[0179] 获取模块702,用于基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系;
[0180] 确定模块703,用于基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片;
[0181] 发送模块704,用于向nginx服务器发送目标视频分片的分片数据,以使nginx服务器向客户端转发目标视频分片的分片数据。
[0182] 可选的,获取模块702,具体用于基于目标视频文件的标识,判断本地是否已缓存目标视频文件的关键信息;
[0183] 如果本地未缓存关键信息,向预设节点发送用于请求关键信息的回源请求;接收预设节点发送的关键信息;
[0184] 如果本地已缓存关键信息,从本地读取关键信息。
[0185] 可选的,装置还包括:
[0186] 处理模块,用于判断本地是否已缓存目标视频分片的分片数据;
[0187] 如果本地未缓存目标视频分片的分片数据,向预设节点发送,用于请求目标视频分片的分片数据的回源请求;接收预设节点发送的目标视频分片的分片数据;
[0188] 如果本地已缓存目标视频分片的分片数据,从本地读取目标视频分片的分片数据。
[0189] 可选的,装置还包括:
[0190] 请求模块,用于向预设节点发送,用于请求未缓存视频分片的分片数据的回源请求;其中,未缓存视频分片包括目标视频文件中本地未缓存的视频分片;
[0191] 接收预设节点发送的未缓存视频分片的分片数据,并缓存至本地。
[0192] 基于相同的发明构思,参见图8,图8为本申请实施例提供的一种视频播放请求处理装置的结构图,装置应用于nginx服务器,装置包括:
[0193] 接收模块801,用于接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识;
[0194] 发送模块802,用于向cache存储器发送目标播放进度的标识和目标视频文件的标识,以使cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,以及向nginx服务器发送目标视频分片的分片数据;
[0195] 转发模块803,用于当接收到cache存储器发送的目标视频分片的分片数据时,向客户端转发目标视频分片的分片数据。
[0196] 本申请实施例还提供了一种电子设备,如图9所示,包括存储器901和处理器902;
[0197] 存储器901,用于存放计算机程序;
[0198] 处理器902,用于执行存储器901上所存放的程序时,实现本申请实施例提供的视频播放请求处理方法。
[0199] 具体的,上述视频播放请求处理方法,包括:
[0200] 接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,目标播放进度的标识和目标视频文件的标识,为nginx服务器接收到客户端发送的视频播放请求时发送的,视频播放请求为客户端在用户将目标视频文件的播放进度条拖拽至目标播放进度时生成的;
[0201] 基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系;
[0202] 基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片;
[0203] 向nginx服务器发送目标视频分片的分片数据,以使nginx服务器向客户端转发目标视频分片的分片数据。
[0204] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0205] 本申请实施例还提供了一种电子设备,如图10所示,包括存储器1001和处理器1002;
[0206] 存储器1001,用于存放计算机程序;
[0207] 处理器1002,用于执行存储器1001上所存放的程序时,实现本申请实施例提供的视频播放请求处理方法。
[0208] 具体的,上述视频播放请求处理方法,包括:
[0209] 接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识;
[0210] 向cache存储器发送目标播放进度的标识和目标视频文件的标识,以使cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,以及向nginx服务器发送目标视频分片的分片数据;
[0211] 当接收到cache存储器发送的目标视频分片的分片数据时,向客户端转发目标视频分片的分片数据。
[0212] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0213] 上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
[0214] 上述的处理器,通信接口,存储器通过通信总线完成相互间的通信,此处提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
[0215] 存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non‑Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0216] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0217] 本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的视频播放请求处理方法。
[0218] 具体的,上述视频播放请求处理方法,包括:
[0219] 接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,目标播放进度的标识和目标视频文件的标识,为nginx服务器接收到客户端发送的视频播放请求时发送的,视频播放请求为客户端在用户将目标视频文件的播放进度条拖拽至目标播放进度时生成的;
[0220] 基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系;
[0221] 基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片;
[0222] 向nginx服务器发送目标视频分片的分片数据,以使nginx服务器向客户端转发目标视频分片的分片数据。
[0223] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0224] 本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的视频播放请求处理方法。
[0225] 具体的,上述视频播放请求处理方法,包括:
[0226] 接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识;
[0227] 向cache存储器发送目标播放进度的标识和目标视频文件的标识,以使cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,以及向nginx服务器发送目标视频分片的分片数据;
[0228] 当接收到cache存储器发送的目标视频分片的分片数据时,向客户端转发目标视频分片的分片数据。
[0229] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0230] 本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的视频播放请求处理方法。
[0231] 具体的,上述视频播放请求处理方法,包括:
[0232] 接收nginx服务器发送的目标播放进度的标识和目标视频文件的标识,其中,目标播放进度的标识和目标视频文件的标识,为nginx服务器接收到客户端发送的视频播放请求时发送的,视频播放请求为客户端在用户将目标视频文件的播放进度条拖拽至目标播放进度时生成的;
[0233] 基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系;
[0234] 基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片;
[0235] 向nginx服务器发送目标视频分片的分片数据,以使nginx服务器向客户端转发目标视频分片的分片数据。
[0236] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0237] 本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的视频播放请求处理方法。
[0238] 具体的,上述视频播放请求处理方法,包括:
[0239] 接收客户端发送的视频播放请求,其中,视频播放请求为客户端在用户拖拽播放进度条时生成的,视频播放请求中携带有用户拖拽到的目标播放进度的标识和客户端请求的目标视频文件的标识;
[0240] 向cache存储器发送目标播放进度的标识和目标视频文件的标识,以使cache存储器基于目标视频文件的标识,获取目标视频文件的关键信息,其中,关键信息包括视频分片与播放进度的对应关系,基于关键信息,确定目标播放进度对应的视频分片,作为目标视频分片,以及向nginx服务器发送目标视频分片的分片数据;
[0241] 当接收到cache存储器发送的目标视频分片的分片数据时,向客户端转发目标视频分片的分片数据。
[0242] 需要说明的是,上述视频播放请求处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0243] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0244] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0245] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0246] 以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。