本发明涉及机器学习技术领域,特别涉及一种视频分发、下载方法及装置。
背景技术:
目前随着互联网技术的发展,短视频技术取得蓬勃发展,无论是短视频的直播还是点播,都涉及到短视频的分发和处理。为了提高用户体验,缩短用户观看短视频的时延,增强短视频内容的互动,短视频的分发和实时性成为越来越重要的问题。
目前短视频的分发方式主要是,先由短视频的生成终端将生成的短视频上传至源站服务器,源站服务器根据已有的配置,或者根据短视频后续的点播、直播情况,将短视频分发到对应的内容分发网络(contentdeliverynetwork,cdn)节点上。当观看用户发起点播或者直播短视频的请求时,短视频观看终端将请求发送至服务器,由服务器查找该请求所对应的短视频所在的cdn节点的地址,并返回给观看终端,此时观看终端再从对应cdn节点中下载短视频中的内容。
短视频内容持续时间短,热度变化快,用户互动频繁,很多内容的热度在几个小时之内会发生较大的变化。现有的由服务器将短视频分发到cdn节点上的方式,可能使得短视频内容的分发滞后于短视频热度的变化,浪费服务器和cdn节点之间的带宽,以及cdn节点的空间资源,同时用户的观看体验较差。现有的观看终端在想观看短视频时,需先去服务器获取存放该短视频的cdn节点的地址,再从对应的cdn节点上下载短视频内容的方式,增加了观看终端等待观看短视频内容的时间,尤其是对于视频长度在十几秒至2、3分钟的短视频,这个等待时间变得十分可观,大大降低了用户体验。
技术实现要素:
本发明实施例公开了一种视频分发、下载方法及装置,用以解决现有技术中视频分发到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节点上。
本发明实施例公开了一种视频下载装置,所述装置包括:
下载请求接收模块,用于接收第二视频文件的下载请求;
下载信息获取模块,用于根据预先设定的视频文件的第一属性,视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取所述第二视频文件的第一属性的第一目标属性信息,所述第二视频文件的提供用户的第二属性的第二目标属性信息,以及所述第二视频文件的观看用户的第三属性的第三目标属性信息;
下载决策模块,用于根据获取的所述第一目标属性信息、所述第二目标属性信息和所述第三目标属性信息,以及预先训练完成的cdn节点下载预测模型,预测所述第二视频文件对应的目标cdn节点;
视频下载模块,用于从所述目标cdn节点上下载所述第二视频文件。
本发明实施例公开了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述的视频分发方法中的任一项所述方法的步骤,或执行上述的视频下载方法中的任一项所述方法的步骤。
本发明实施例公开了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述的视频分发方法中的任一项所述方法的步骤,或执行上述的视频下载方法中的任一项所述方法的步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频分发过程示意图;
图2为本发明实施例提供的一种视频分发装置结构图;
图3为本发明实施例提供的一种视频分发过程示意图;
图4为本发明实施例提供的一种视频下载过程示意图;
图5为本发明实施例提供的一种视频下载装置结构图;
图6为本发明实施例提供的一种视频下载过程示意图;
图7为本发明实施例提供的一种视频文件处理的系统结构图;
图8为本发明实施例提供的一种终端;
图9为本发明实施例提供的一种电子设备。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种视频分发过程示意图,该过程包括以下步骤:
s101:终端接收第一视频文件的分发请求。
本发明实施例提供的视频分发方法可以应用于终端,该终端用于将待分发的视频文件分发至对应的cdn节点上,视频文件的分发也可以理解为视频文件的上传,用于进行视频文件分发的终端一般为生成该待分发的视频文件的终端。
用户可以在终端上录制视频文件,并将录制的视频文件上传至cdn节点,以便其他用户进行观看。用户在终端上录制视频文件的过程,也就是终端生成视频文件的过程。当然终端在进行视频文件的分发时,也可以是从其他终端上获取待分发的视频文件。
用户在想将视频文件分发至cdn节点上时,可以在终端上针对该视频文件进行某些操作,使终端接收到对该视频文件的分发操作。终端在接收到对该视频文件的分发操作时,可以认为接收到该视频文件的分发请求。当然也可以是其他设备给终端发送视频文件的分发请求。将待分发的视频文件称为第一视频文件,则终端接收第一视频文件的分发请求。
s102:根据预先设定的视频文件的第一属性和视频文件的提供用户的第二属性,获取所述第一视频文件的第一属性的第一目标属性信息,以及所述第一视频文件的提供用户的第二属性的第二目标属性信息。
为了实现对视频文件准确地分发,终端中预先设定了对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节点更加符合用户的需求,使视频文件的分发更加合理。
实施例2:
预先训练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节点分发预测模型进行训练。
第一训练模型例如可以是神经网络模型,深度信念模型等。
实施例3:
一般情况下,为了实现对cdn节点分发预测模型的训练,需要预先整理多个训练样本,用于整理训练样本的信息可以是cdn节点发送的,cdn节点中包括日志信息处理模块,用于记录日志信息,以及将记录的日志信息发送至对cdn节点分发预测模型进行训练的设备上。cdn节点中记录的日志信息可以理解为用于整理训练样本的信息。该日志信息可以包括:该cdn节点中存储的每个视频文件的标识名称,每个视频文件的属性的信息,每个视频文件的提供用户的属性的信息,每个视频文件的观看用户的属性的信息,接收过哪些视频文件夹的下载请求等。
终端可以对cdn节点分发预测模型进行训练,服务器也可以对cdn节点分发预测模型进行训练,不管是终端还服务器,在进行训练时,均可采用上述描述的方式进行训练。随着时间的推移,cdn节点中保存的日志信息会更新,cdn节点可以定期将存储的日志信息发送至对cdn节点分发预测模型进行训练的设备上,以便该设备及时cdn节点分发预测模型进行更新训练。
如果是服务器对cdn节点分发预测模型进行训练,在本发明实施例中,终端在根据获取的所述第一目标属性信息和所述第二目标属性信息,以及预先训练完成的cdn节点分发预测模型,预测所述第一视频文件对应的目标cdn节点之前,所述方法还包括:
从服务器上获取训练完成的cdn节点分发预测模型。
如果终端从服务器上获取训练完成的cdn节点分发预测模型,终端可以是在识别需要上传视频文件时,从服务器上获取cdn节点分发预测模型,也可以是终端周期性地从服务器上获取cdn节点分发预测模型。
实施例4:
为了便于服务器对视频文件的管理,在上述各实施例的基础上,在本发明实施例中,在将所述第一视频文件分发至所述目标cdn节点上之后,所述方法还包括:
向服务器上报所述第一视频文件的分发信息,其中,所述分发信息中至少包括所述目标cdn节点的标识信息。
终端在将第一视频文件上传至目标cdn节点后,可以将该第一视频文件上传至服务器,还可以将第一视频文件的分发信息上传至服务器。终端上报的第一视频文件的分发信息可以包括第一视频文件的标识名称,第一视频文件即将分发至的目标cdn节点的标识信息,cdn节点的标识信息一般为cdn节点的地址信息。当然终端上报的第一视频文件的分发信息还可以包括其他信息,例如第一视频文件的属性的信息等。服务器中存储有视频分发数据信息库,该视频分发数据信息库中至少存储哪个视频文件分发至哪个cdn节点的信息,即存储终端上报的分发信息。
实施例5:
图2为本发明实施例提供的一种视频分发装置,所述装置包括:
分发请求接收模块21,用于接收第一视频文件的分发请求;
分发信息获取模块22,用于根据预先设定的视频文件的第一属性和视频文件的提供用户的第二属性,获取所述第一视频文件的第一属性的第一目标属性信息,以及所述第一视频文件的提供用户的第二属性的第二目标属性信息;
分发决策模块23,用于根据获取的所述第一目标属性信息和所述第二目标属性信息,以及预先训练完成的cdn节点分发预测模型,预测所述第一视频文件对应的目标cdn节点;
视频分发模块24,用于将所述第一视频文件分发至所述目标cdn节点上。
进一步地,所述装置还包括:
分发模型获取模块25,用于从服务器上获取训练完成的cdn节点分发预测模型。
进一步地,所述装置还包括:
分发模型训练模块26,用于针对每个样本视频文件,根据预先设定的视频文件的第一属性、视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取该样本视频文件的第一属性的第一样本属性信息,该样本视频文件的提供用户的第二属性的第二样本属性信息,以及该样本视频文件的观看用户的第三属性的第三样本属性信息;并获取该样本视频文件对应的每个请求cdn节点是否存储该样本视频文件的标记信息,其中,样本视频文件对应的每个请求cdn节点为接收过该样本视频文件的下载请求的cdn节点;根据每个样本视频文件对应的第一样本属性信息、第二样本属性信息、第三样本属性信息,以及其对应的每个请求cdn节点是否存储该样本视频文件的标记信息,基于第一训练模型,对cdn节点分发预测模型进行训练。
进一步地,所述视频分发模块24,还用于向服务器上报所述第一视频文件的分发信息,其中,所述分发信息中至少包括所述目标cdn节点的标识信息。
图3为本发明实施例提供的一种视频分发过程示意图,视频文件的提供用户发起视频文件的分发请求,终端的分发信息获取模块获取视频文件的属性信息和视频文件的提供用户的属性信息,并发送给分发决策模块。终端的分发决策模块通过分发模型获取模块向服务器请求cdn节点分发预测模型,并分发模型获取模块将服务器返回的cdn节点分发预测发送给分发决策模块。分发决策模块根据视频文件的属性信息和视频文件的提供用户的属性信息和cdn节点分发预测模型,进行推理决策,决策视频文件即将上传的cdn列表。分发决策模块将该cdn列表发送给视频分发模块,视频分发模块将该视频文件上传至cdn列表中指定的cdn节点上。同时,视频分发模块将该视频文件和该视频文件的分发信息上传至服务器中,使服务器更新视频文件库,和视频分发数据信息库。
cdn节点可以将日志信息发送给服务器,使服务器根据日志信息进行cdn节点分发预测模型的训练,以及更新训练。cdn节点在接收到视频文件后,可以对视频文件进行转码处理。
实施例6:
图4为本发明实施例提供的一种视频下载过程示意图,该过程包括以下步骤:
s401:终端接收第二视频文件的下载请求。
本发明实施例提供的视频下载方法可以应用于终端,该终端用于将待下载的视频文件从对应的cdn节点上下载下来。
用户在想将视频文件从cdn节点上下载下来时,可以在终端上针对该视频文件进行某些操作,使终端接收到对该视频文件的下载操作。终端在接收到对该视频文件的下载操作时,可以认为接收到该视频文件的下载请求。当然也可以是其他设备给终端发送视频文件的下载请求。将待下载的视频文件称为第二视频文件,则终端接收第二视频文件的下载请求。
s402:根据预先设定的视频文件的第一属性,视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取所述第二视频文件的第一属性的第一目标属性信息,所述第二视频文件的提供用户的第二属性的第二目标属性信息,以及所述第二视频文件的观看用户的第三属性的第三目标属性信息。
为了实现对视频文件准确地下载,终端中预先设定了对cdn节点进行预测的视频文件的属性和视频文件的提供用户的属性。可以根据该第二视频文件的属性的信息,第二视频文件的提供用户的属性的信息,预测该第二视频文件从哪个cdn节点上下载。将预先设定的视频文件的属性称为第一属性,将预先设定的视频文件的提供用户的属性称为第二属性。
其中,视频文件的属性包括:视频文件的类型、视频文件的长度、视频文件的生成地点、视频文件的生成时间,点击率等,预先设定的视频文件的第一属性可以是视频文件的类型、视频文件的长度、视频文件的生成地点、视频文件的生成时间,点击率中的一个,或几个。视频文件的类型例如可以是:娱乐、幽默、搞笑、体育、文学等。
视频文件的提供用户的属性包括:年龄、性别、受教育程度等,预先设定的视频文件的提供用户的第二属性可以是年龄、性别、受教育程度中的一个或几个。受教育程度例如可以是:中学、本科、硕士等。
为了方便预测,终端中可以预先保存第二视频文件的属性的信息,和第二视频文件的提供用户的属性的信息。
终端可以根据预先设定的视频文件的第一属性,获取该第二视频文件的第一属性的信息,称为第一目标属性信息,以及根据预先设定的视频文件的提供用户的第二属性,获取该第二视频文件的提供用户的第二属性的信息,称为第二目标属性信息。
s403:根据获取的所述第一目标属性信息、所述第二目标属性信息和所述第三目标属性信息,以及预先训练完成的cdn节点下载预测模型,预测所述第二视频文件对应的目标cdn节点,从所述目标cdn节点上下载所述第二视频文件。
在本发明实施例中,预先对cdn节点下载预测模型进行预测训练,并且在进行训练时,是根据每个训练样本中包含的样本视频文件的第一属性的信息和样本视频文件的提供用户的第二属性的信息,对cdn节点下载预测模型训练完成的。其中,样本视频文件的第一属性的信息可以称为第一样本属性信息,样本视频文件的第二属性的信息可以称为第二样本属性信息。
终端在获取到第二视频文件的第一属性的第一目标属性信息,和第二视频文件的提供用户的第二属性的第二目标属性信息后,可以在cdn节点下载预测模型中输入该第一目标属性信息和该第二目标属性信息,cdn节点下载预测模型可以根据输入的该第一目标属性信息和该第二目标属性信息,对cdn节点进行预测。具体的,该cdn节点预测模型针对第二视频文件输出响应结果,即下载该第二视频文件的cdn节点的结果。将上述预测出的cdn节点称为目标cdn节点。在预测出第二视频文件对应的目标cdn节点后,就可以从该目标cdn节点上下载该第二视频文件,也就是向该目标cdn节点发送第二视频文件的下载请求。
由于在本发明实施例中,终端直接确定下载视频文件的cdn节点,不需要由服务器通知,可以减少视频文件下载的滞后性,并且终端在确定从哪个cdn节点上下载视频文件时,考虑到了视频文件的属性的信息和视频文件的提供用户的属性的信息,基于预先训练好的cdn节点下载预测模型,确定从目标cdn节点上下载视频文件,使确定出的目标cdn节点更加符合用户的需求,使视频文件的下载更加精确,快速。
实施例7:
预先训练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节点下载预测模型,第一模型与第二模型一般不同。
实施例8:
一般情况下,为了实现对cdn节点下载预测模型的训练,需要预先整理多个训练样本,用于整理训练样本的信息可以是cdn节点发送的,cdn节点中包括日志信息处理模块,用于记录日志信息,以及将记录的日志信息发送至对cdn节点下载预测模型进行训练的设备上。cdn节点中记录的日志信息可以理解为用于整理训练样本的信息。该日志信息可以包括:该cdn节点中存储的每个视频文件的标识名称,每个视频文件的属性的信息,每个视频文件的提供用户的属性的信息,每个视频文件的观看用户的属性的信息,接收过哪些视频文件夹的下载请求等。
终端可以对cdn节点下载预测模型进行训练,服务器也可以对cdn节点下载预测模型进行训练,不管是终端还服务器,在进行训练时,均可采用上述描述的方式进行训练。随着时间的推移,cdn节点中保存的日志信息会更新,cdn节点可以定期将存储的日志信息发送至对cdn节点下载预测模型进行训练的设备上,以便该设备及时cdn节点下载预测模型进行更新训练。
如果是服务器对cdn节点下载预测模型进行训练,在本发明实施例中,终端在根据获取的所述第一目标属性信息、所述第二目标属性信息和所述第三目标属性信息,以及预先训练完成的cdn节点下载预测模型,预测所述第二视频文件对应的目标cdn节点之前,所述方法还包括:
从服务器上获取训练完成的cdn节点下载预测模型。
如果终端从服务器上获取训练完成的cdn节点下载预测模型,终端可以是在识别需要下载视频文件时,从服务器上获取cdn节点下载预测模型,也可以是终端周期性地从服务器上获取cdn节点下载预测模型。
实施例9:
在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
确定从所述目标cdn节点上下载所述第二视频文件是否成功;
如果否,则向服务器发送所述第二视频文件的下载请求,使服务器返回存储所述第二视频文件的cdn节点,从服务器返回的cdn节点上下载所述第二视频文件。
终端根据cdn节点下载预测模型预测出目标cdn节点后,可以从该目标cdn节点上下载该第二视频文件。终端从该目标cdn节点上下载该第二视频文件具体可以是向该目标cdn节点发送第二视频文件的下载请求。目标cdn节点接收终端发送的第二视频文件的下载请求,识别自身是否保存有所述第二视频文件,如果是,则向所述终端发送所述第二视频文件,如果否,则向所述终端发送未保存所述第二视频文件的提示信息。
终端确定从所述目标cdn节点上下载所述第二视频文件是否成功,即确定是接收到所述目标cdn节点发送的所述第二视频文件,还是接收到目标cdn节点发送的未保存所述第二视频文件的提示信息;如果终端确定从所述目标cdn节点上下载所述第二视频文件未成功,即接收到所述目标cdn节点发送的未保存所述第二视频文件的提示信息,则向服务器发送所述第二视频文件的下载请求。
如果目标cdn节点为多个,则终端确定从所有的目标cdn节点上下载所述第二视频文件均未成功,再向服务器发送所述第二视频文件的下载请求。
服务器在接收到终端发送的第二视频文件的下载请求后,识别存储该第二视频文件的cdn节点,并向终端发送存储所述第二视频文件的cdn节点;
终端从服务器返回的cdn节点上下载所述第二视频文件,即向服务器发送的存储第二视频文件的cdn节点发送所述第二视频文件的下载请求,以及接收cdn节点返回的第二视频文件。
实施例10:
图5为本发明实施例提供的一种视频下载装置,所述装置包括:
下载请求接收模块51,用于接收第二视频文件的下载请求;
下载信息获取模块52,用于根据预先设定的视频文件的第一属性,视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取所述第二视频文件的第一属性的第一目标属性信息,所述第二视频文件的提供用户的第二属性的第二目标属性信息,以及所述第二视频文件的观看用户的第三属性的第三目标属性信息;
下载决策模块53,用于根据获取的所述第一目标属性信息、所述第二目标属性信息和所述第三目标属性信息,以及预先训练完成的cdn节点下载预测模型,预测所述第二视频文件对应的目标cdn节点;
视频下载模块54,用于从所述目标cdn节点上下载所述第二视频文件。
进一步地,所述装置还包括:
下载模型获取模块55,用于从服务器上获取训练完成的cdn节点下载预测模型。
进一步地,所述装置还包括:
下载模型训练模块56,用于针对每个样本视频文件,根据预先设定的视频文件的第一属性、视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取该样本视频文件的第一属性的第一样本属性信息,该样本视频文件的提供用户的第二属性的第二样本属性信息,以及该样本视频文件的观看用户的第三属性的第三样本属性信息;并获取该样本视频文件对应的每个请求cdn节点是否存储该样本视频文件的标记信息,其中,样本视频文件对应的每个请求cdn节点为接收过该样本视频文件的下载请求的cdn节点;根据每个样本视频文件对应的第一样本属性信息、第二样本属性信息、第三样本属性信息,以及其对应的每个请求cdn节点是否存储该样本视频文件的标记信息,基于第二训练模型,对cdn节点下载预测模型进行训练。
进一步地,所述视频下载模块54,还用于确定从所述目标cdn节点上下载所述第二视频文件是否成功;
如果否,则向服务器发送所述第二视频文件的下载请求,使服务器返回存储所述第二视频文件的cdn节点,从服务器返回的cdn节点上下载所述第二视频文件。
图6为本发明实施例提供的一种视频下载过程示意图,视频文件的提供用户发起视频文件的下载请求,终端获取视频文件的属性信息,视频文件的观看用户的属性信息和视频文件的提供用户的属性信息。终端的下载决策模块通过下载模型获取模块向服务器请求cdn节点下载预测模型,并下载模型获取模块将服务器返回的cdn节点下载预测发送给下载决策模块。下载决策模块根据视频文件的属性信息,视频文件的观看用户的属性信息和视频文件的提供用户的属性信息和cdn节点下载预测模型,进行推理决策,决策即将下载视频文件的cdn节点。下载决策模块将该cdn节点的地址发送给视频下载模块,视频下载模块根据指定的cdn节点的地址,请求第二视频文件的视频流,如果cdn节点上存储有第二视频文件,则该cdn节点上的向终端返回第二视频文件的视频流。
如果未接收到cdn节点下载预测模型预测出的cdn节点发送的第二视频文件的视频流,则终端向服务器请求存储第二视频文件的cdn节点的地址,服务器返回存储第二视频文件的cdn节点的地址,终端根据服务器返回的存储cdn节点的地址,请求第二视频文件的视频流,并接收cdn节点发送的第二视频文件的视频流。
cdn节点可以将日志信息发送给服务器,使服务器根据日志信息进行cdn节点下载预测模型的训练,以及更新训练。
实施例11:
图7为本发明实施例提供的一种视频文件处理的系统结构图,服务器将cdn节点上报的日志信息进行预处理,进行机器学习,训练cdn节点下载预测模型和cdn节点分发预测模型。视频分发终端从服务器上获取cdn节点分发预测模型,进行分发决策,以及将视频文件分发至cdn节点上,并将分发信息和视频文件上传至服务器,服务器将分发信息存储至视频分发数据信息库,将视频文件存储至视频文件库。cdn节点在接收到终端分发的视频文件后,对该视频文件进行转码处理。视频下载终端从服务器上获取cdn节点下载预测模型,进行下载决策,以及从对应的cdn节点上获取视频文件的视频流,cdn节点的流媒体服务将视频文件的视频流发送的视频下载终端。视频下载终端还可以向服务器获取存储视频文件的cdn节点的地址。
实施例12:
本发明实施例提供了一种视频分发系统,该系统包括:终端、服务器和目标cdn节点;
所述终端,用于接收第一视频文件的分发请求,并向服务器发送cdn节点分发预测模型的获取请求;
所述服务器,用于在接收到所述终端发送的cdn节点分发预测模型的获取请求后,向终端发送训练完成的cdn节点分发预测模型;
所述终端,还用于根据预先设定的视频文件的第一属性和视频文件的提供用户的第二属性,获取所述第一视频文件的第一属性的第一目标属性信息,以及所述第一视频文件的提供用户的第二属性的第二目标属性信息;根据获取的所述第一目标属性信息和所述第二目标属性信息,以及预先训练完成的cdn节点分发预测模型,预测所述第一视频文件对应的目标cdn节点,将所述第一视频文件分发至所述目标cdn节点上;
所述目标cdn节点,用于接收终端发送的第一视频文件,并保存。
进一步地,所述终端,还用于向服务器上报所述第一视频文件的分发信息,其中,所述分发信息中至少包括所述目标cdn节点的标识信息;
所述服务器,还用于接收终端上报的第一视频文件的分发信息,并保存。
进一步地,所述服务器,还用于针对每个样本视频文件,根据预先设定的视频文件的第一属性、视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取该样本视频文件的第一属性的第一样本属性信息,该样本视频文件的提供用户的第二属性的第二样本属性信息,以及该样本视频文件的观看用户的第三属性的第三样本属性信息;并获取该样本视频文件对应的每个请求cdn节点是否存储该样本视频文件的标记信息,其中,样本视频文件对应的每个请求cdn节点为接收过该样本视频文件的下载请求的cdn节点;
根据每个样本视频文件对应的第一样本属性信息、第二样本属性信息、第三样本属性信息,以及其对应的每个请求cdn节点是否存储该样本视频文件的标记信息,基于第一训练模型,对cdn节点分发预测模型进行训练。
实施例13:
本发明实施例提供了一种视频分发系统,该系统包括:终端、服务器和目标cdn节点;
所述终端,用于接收第二视频文件的下载请求,并向服务器发送cdn节点下载预测模型的获取请求;
所述服务器,用于在接收到所述终端发送的cdn节点下载预测模型的获取请求后,向终端发送训练完成的cdn节点下载预测模型;
所述终端,还用于根据预先设定的视频文件的第一属性,视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取所述第二视频文件的第一属性的第一目标属性信息,所述第二视频文件的提供用户的第二属性的第二目标属性信息,以及所述第二视频文件的观看用户的第三属性的第三目标属性信息;根据获取的所述第一目标属性信息、所述第二目标属性信息和所述第三目标属性信息,以及预先训练完成的cdn节点下载预测模型,预测所述第二视频文件对应的目标cdn节点,向所述目标cdn节点发送所述第二视频文件的下载请求;
所述目标cdn节点,用于接收终端发送的第二视频文件的下载请求,识别自身是否保存有所述第二视频文件,如果是,则向所述终端发送所述第二视频文件,如果否,则向所述终端发送未保存所述第二视频文件的提示信息。
进一步地,所述服务器,还用于针对每个样本视频文件,根据预先设定的视频文件的第一属性、视频文件的提供用户的第二属性,视频文件的观看用户的第三属性,获取该样本视频文件的第一属性的第一样本属性信息,该样本视频文件的提供用户的第二属性的第二样本属性信息,以及该样本视频文件的观看用户的第三属性的第三样本属性信息;并获取该样本视频文件对应的每个请求cdn节点是否存储该样本视频文件的标记信息,其中,样本视频文件对应的每个请求cdn节点为接收过该样本视频文件的下载请求的cdn节点;
根据每个样本视频文件对应的第一样本属性信息、第二样本属性信息、第三样本属性信息,以及其对应的每个请求cdn节点是否存储该样本视频文件的标记信息,基于第二训练模型,对cdn节点下载预测模型进行训练。
进一步地,所述终端,还用于确定从所述目标cdn节点上下载所述第二视频文件是否成功,即确定是接收到所述目标cdn节点发送的所述第二视频文件,还是未保存所述第二视频文件的提示信息;如果终端确定从所述目标cdn节点上下载所述第二视频文件未成功,即接收到所述目标cdn节点发送的未保存所述第二视频文件的提示信息,则向服务器发送所述第二视频文件的下载请求;
所述服务器,还用于在接收到终端发送的第二视频文件的下载请求后,识别存储该第二视频文件的cdn节点,并向终端发送存储所述第二视频文件的cdn节点;
所述终端,还用于向服务器发送的存储第二视频文件的cdn节点发送所述第二视频文件的下载请求,以及接收cdn节点返回的第二视频文件。
实施例14:
图8为本发明实施例提供的一种终端,所述终端包括:存储器81、处理器82和收发机83;
在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器81代表的一个或多个处理器81和存储器82代表的存储器82的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。收发机83可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器81负责管理总线架构和通常的处理,存储器82可以存储处理器81在执行操作时所使用的数据。
可选的,处理器81可以是cpu(中央处埋器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)。
所述存储器,用于存储程序;所述处理器,用于读取所述存储器中存储的程序,执行以下过程:
所述处理器控制所述收发机接收第一视频文件的分发请求;
所述处理器,用于根据预先设定的视频文件的第一属性和视频文件的提供用户的第二属性,获取所述第一视频文件的第一属性的第一目标属性信息,以及所述第一视频文件的提供用户的第二属性的第二目标属性信息;
根据获取的所述第一目标属性信息和所述第二目标属性信息,以及预先训练完成的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节点上下载所述第二视频文件。
实施例15:
图9为本发明实施例提供的一种电子设备,包括:处理器91、通信接口92、存储器93和通信总线94,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述的视频分发方法中的任一项所述方法的步骤,或执行上述的视频下载方法中的任一项所述方法的步骤。
上述各实施例中的电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口,用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例16:
本发明实施例提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述的视频分发方法中的任一项所述方法的步骤,或执行上述的视频下载方法中的任一项所述方法的步骤。
上述实施例中的计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd)等。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。