本发明涉及数据下载技术领域,特别涉及一种视频文件下载方法及装置。
背景技术:
视频CDN(Content Delivery Network,内容分发网络)系统是一个能够提供视频流服务的CDN系统,其中,视频流服务包括:视频存储服务、视频同步服务、视频回源服务、视频调度服务、视频文件解析服务、视频上传服务和视频下载服务等等。
目前,客户端播放视频CDN系统中的视频或从视频CDN系统中下载视频的主要过程为:客户端向CDN系统中的视频文件解析服务器发送视频文件解析请求;视频文件解析服务器对客户端请求的视频文件进行解析,并将包含客户端请求的视频文件的视频文件分片的标识信息发送给客户端;客户端依次针对视频文件的每一视频文件分片向CDN系统中的调度器发送视频文件分片获取请求,该获取请求中包含视频文件分片的标识信息;调度器根据该获取请求,确定一个边缘节点,并将所确定的边缘节点的网络地址发送给客户端;客户端在接收到该网络地址后,从该网络地址对应的边缘节点中下载视频文件分片。
由上述的过程可以看出,如果调度器确定的边缘节点不是能够给客户端提供最快下载速度的边缘节点,那么客户端下载视频文件分片的速度将会很慢,导致视频文件的下载速度也很慢。
技术实现要素:
本发明实施例的目的在于提供一种视频文件下载方法及装置,以提高视频文件的下载速度。
为达到上述目的,本发明实施例公开了一种视频文件下载方法,应用于客户端,所述方法包括:
接收视频文件解析服务器发送的、针对所述客户端请求下载的目标视频文件的视频文件解析列表,所述视频文件解析列表包含所述目标视频文件的N个视频文件分片的标识信息;
按照每组M个视频文件分片的划分规则,将所述目标视频文件对应的N个视频文件分片进行划分;
针对每一组M个视频文件分片,向调度器发送下载地址获取请求,所述下载地址获取请求中包括第一预设数量个视频文件分片的标识信息;
接收所述调度器反馈的第一预设数量个下载地址,其中,每一个视频文件分片对应一个下载地址;
从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;
根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点;
从所确定的边缘节点下载该组剩余未下载的视频文件分片。
可选的,所述从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片,包括:
同时从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
可选的,所述从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片,包括:
依次从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
可选的,所述根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点,包括:
根据下载每一视频文件分片对应的下载速度,确定最快的第二预设数量个下载速度对应的边缘节点;
分别从确定的边缘节点下载剩余未下载中的一个视频文件分片;
将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
可选的,所述根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点,包括:
根据下载每一视频文件分片对应的下载速度,直接将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
为达到上述目的,本发明实施例公开了一种视频文件下载装置,应用于客户端,所述装置包括:第一接收模块、划分模块、发送模块、第二接收模块、第一下载模块、确定模块和第二下载模块,其中,
所述第一接收模块,用于接收视频文件解析服务器发送的、针对所述客户端请求下载的目标视频文件的视频文件解析列表,所述视频文件解析列表包含所述目标视频文件的N个视频文件分片的标识信息;
所述划分模块,用于按照每组M个视频文件分片的划分规则,将所述目标视频文件对应的N个视频文件分片进行划分;
所述发送模块,用于针对每一组M个视频文件分片,向调度器发送下载地址获取请求,所述下载地址获取请求中包括第一预设数量个视频文件分片的标识信息;
所述第二接收模块,用于接收所述调度器反馈的第一预设数量个下载地址,其中,每一个视频文件分片对应一个下载地址;
所述第一下载模块,用于从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;
所述确定模块,用于根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点;
所述第二下载模块,用于从所确定的边缘节点下载该组剩余未下载的视频文件分片。
可选的,所述第一下载模块,具体用于:
同时从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
可选的,所述第一下载模块,具体用于:
依次从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
可选的,所述确定模块,具体用于:
根据下载每一视频文件分片对应的下载速度,确定最快的第二预设数量个下载速度对应的边缘节点;
分别从确定的边缘节点下载剩余未下载中的一个视频文件分片;
将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
可选的,所述确定模块,具体用于:
根据下载每一视频文件分片对应的下载速度,直接将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
由上述的技术方案可见,本发明实施例提供了一种视频文件下载方法及装置,应用于客户端,所述方法包括:接收视频文件解析服务器发送的、针对所述客户端请求下载的目标视频文件的视频文件解析列表,所述视频文件解析列表包含所述目标视频文件的N个视频文件分片的标识信息;按照每组M个视频文件分片的划分规则,将所述目标视频文件对应的N个视频文件分片进行划分;针对每一组M个视频文件分片,向调度器发送下载地址获取请求,所述下载地址获取请求中包括第一预设数量个视频文件分片的标识信息;接收所述调度器反馈的第一预设数量个下载地址,其中,每一个视频文件分片对应一个下载地址;从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点;从所确定的边缘节点下载该组剩余未下载的视频文件分片。
应用本发明实施例所提供的技术方案,客户端确定最快下载速度对应的边缘节点;从所确定的边缘节点下载该组剩余未下载的视频文件分片。所确定的边缘节点能够提供最快下载速度,因此提高了客户端下载视频文件的速度。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频文件下载方法的流程示意图;
图2为本发明实施例提供的一种视频文件下载装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种视频文件下载方法及装置。需要说明的是,本发明实施例提供的一种视频文件下载方法及装置,优选适用于客户端,其中该客户端可以为视频CDN(Content Delivery Network,内容分发网络)系统中的客户端。下面首先对本发明实施例所提供的一种视频文件下载方法进行介绍。
图1为本发明实施例提供的一种视频文件下载方法的流程示意图,可以包括:
S101:接收视频文件解析服务器发送的、针对所述客户端请求下载的目标视频文件的视频文件解析列表;
其中,所述视频文件解析列表包含所述目标视频文件的N个视频文件分片的标识信息;
S102:按照每组M个视频文件分片的划分规则,将所述目标视频文件对应的N个视频文件分片进行划分;
S103:针对每一组M个视频文件分片,向调度器发送下载地址获取请求;
其中,所述下载地址获取请求中包括第一预设数量个视频文件分片的标识信息;
S104:接收所述调度器反馈的第一预设数量个下载地址;
其中,每一个视频文件分片对应一个下载地址;
S105:从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;
在本发明的一个实施例中,从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片,可以通过以下两种方式下载:
方式一:同时从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;
方式二:依次从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
S106:根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点;
在本发明的一个实施例中,根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点,可以通过以下两种方式确定。
方式一:根据下载每一视频文件分片对应的下载速度,确定最快的第二预设数量个下载速度对应的边缘节点;
分别从确定的边缘节点下载剩余未下载中的一个视频文件分片;
将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
方式二:根据下载每一视频文件分片对应的下载速度,直接将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
S107:从所确定的边缘节点下载该组剩余未下载的视频文件分片。
在实际应用中,上述N不小于上述M,上述M不小于上述第一预设数量,上述第一预设数量不小于上述第二预设数量。
示例性的,假设客户端请求下载的目标视频文件为X,目标视频文件X对应100个视频文件分片,假设100个视频文件分片分别为:X1、X2、X3……X100;客户端向视频文件解析服务器发送针对X的视频文件解析请求;视频文件解析服务器在接收到该请求后,对X进行解析,将包含X的100个视频文件分片的标识信息反馈给客户端,其中,视频文件解析服务器对视频进行解析为现有技术,本发明实施例在此不对其进行赘述。
假设上述的划分规则为每组20个视频文件分片,则将100个视频文件分片划分为5组,假设第一组对应的视频文件分片为X1-X20;第二组对应的视频文件分片为X21-X40;第三组对应的视频文件分片为X41-X60;第四组对应的视频文件分片为X61-X80;第五组对应的视频文件分片为X81-X100。
针对上述的五组中的每一组20个视频文件分片,向调度器发送请求获取8个视频文件分片的下载地址获取请求。
以第一组对应的视频文件分片:X1-X20为例,向调度器发送获取X1-X8的下载地址获取请求。调度器在接收到该下载地址获取请求后,确定8个边缘节点(假设为边缘节点1-8),将边缘节点1-8中每一个边缘节点的网络地址反馈给客户端。假设视频文件分片X1对应边缘节点1的网络地址,视频文件分片X2对应的边缘节点2的网络地址,……,视频文件分片X8对应的边缘节点8的网络地址。则客户端从边缘节点1下载视频文件分片X1,从边缘节点2下载视频文件分片X2,……,从边缘节点8下载视频文件分片X8。
在实际应用中,客户端可以同时从8个边缘节点下载相应的视频文件分片,即视频文件分片1-8同时从边缘节点1-8中下载。也可以依次从8个边缘节点下载相应的视频文件分片,即先从边缘节点1下载视频文件分片X1;视频文件分片X1下载完成后,再从边缘节点2下载视频文件分片X2;……;视频文件分片X7下载完成后,再从边缘节点8下载视频文件分片X8。
在实际应用中,具体采用同时下载方式还是依次下载方式,可以由客户端根据当前剩余网络带宽(下行带宽)进行确定。比如:当当前剩余网络带宽大于5M(兆)时,采用同时下载方式;当当前剩余网络带宽不大于5M(兆)时,采用依次下载方式。
根据下载视频文件分片1-8的下载速度,确定最快下载速度对应的边缘节点。
假设下载视频文件分片1-8的下载速度分别为2M/s(兆/秒)、1M/s、1.5M/s、0.15M/s、0.75M/s、1.32M/s、1.75M/s、1.43M/s。
在实际应用中,可以先确定出最快的3个下载速度对应的边缘节点,分别为:边缘节点1、边缘节点7和边缘节点3。分别从边缘节点1、边缘节点7和边缘节点3再下载一个视频文件分片。假设从边缘节点1下载的视频文件分片为视频文件分片9,从边缘节点7下载的视频文件分片为视频文件分片10,从边缘节点3下载的视频文件分片为视频文件分片11;下载视频文件分片9-11的下载速度分别为3M/s、1M/s、1.5M/s。则将当前最快下载速度3M/s对应的边缘节点1,确定为最快下载速度对应的边缘节点。从边缘节点1下载该组剩余未下载的视频文件分片X12-X20。
假设下载视频文件分片1-8的下载速度分别为2M/s(兆/秒)、1M/s、1.5M/s、0.15M/s、0.75M/s、1.32M/s、1.75M/s、1.43M/s。
在实际应用中,还可以直接将当前最快下载速度2M/s对应的边缘节点1,确定为最快下载速度对应的边缘节点。从边缘节点1下载该组剩余未下载的视频文件分片X9-X20。
在实际应用中,针对上述五组视频文件分片,可以同时向调度器发送下载地址获取请求;还可以依次向调度器发送下载地址获取请求,即在一组视频文件分片下载完成后,再向调度器发送另一组视频文件分片对应的下载地址获取请求。在实际应用中,具体采用同时请求方式还是依次请求方式,也可以由客户端根据当前剩余网络带宽(下行带宽)进行确定。比如:当当前剩余网络带宽大于5M(兆)时,采用同时请求方式;当当前剩余网络带宽不大于5M(兆)时,采用依次请求方式。
当目标视频文件X的视频文件分片X1-X100均下载完成后,目标视频文件X下载完成。
需要说明的是,上述以下载视频文件X为例进行说明,仅为本发明的一具体实例,并不构成对本发明的限定。
应用本发明图1所示实施例,客户端确定最快下载速度对应的边缘节点;从所确定的边缘节点下载该组剩余未下载的视频文件分片。所确定的边缘节点是能够给客户端提供最快下载速度的边缘节点,所确定的边缘节点能够提供最快下载速度,因此提高了客户端下载视频文件的速度。
与上述的方法实施例相对应,本发明实施例还提供一种视频文件下载装置。
图2为本发明实施例提供的一种视频文件下载装置的结构示意图,可以包括:第一接收模块201、划分模块202、发送模块203、第二接收模块204、第一下载模块205、确定模块206和第二下载模块207,其中,
第一接收模块201,用于接收视频文件解析服务器发送的、针对所述客户端请求下载的目标视频文件的视频文件解析列表,所述视频文件解析列表包含所述目标视频文件的N个视频文件分片的标识信息;
划分模块202,用于按照每组M个视频文件分片的划分规则,将所述目标视频文件对应的N个视频文件分片进行划分;
发送模块203,用于针对每一组M个视频文件分片,向调度器发送下载地址获取请求,所述下载地址获取请求中包括第一预设数量个视频文件分片的标识信息;
第二接收模块204,用于接收所述调度器反馈的第一预设数量个下载地址,其中,每一个视频文件分片对应一个下载地址;
第一下载模块205,用于从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片;
其中,本发明实施例的第一下载模块205,具体可以用于:
同时从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
其中,本发明实施例的第一下载模块205,具体可以用于:
依次从所述第一预设数量个下载地址中的每一个下载地址对应的边缘节点下载相应的视频文件分片。
确定模块206,用于根据下载每一视频文件分片对应的下载速度,确定最快下载速度对应的边缘节点;
其中,本发明实施例的确定模块206,具体可以用于:
根据下载每一视频文件分片对应的下载速度,确定最快的第二预设数量个下载速度对应的边缘节点;
分别从确定的边缘节点下载剩余未下载中的一个视频文件分片;
将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
其中,本发明实施例的确定模块206,具体可以用于:
根据下载每一视频文件分片对应的下载速度,直接将当前最快下载速度对应的边缘节点,确定为最快下载速度对应的边缘节点。
第二下载模块207,用于从所确定的边缘节点下载该组剩余未下载的视频文件分片。
应用本发明图2所示实施例,客户端确定最快下载速度对应的边缘节点;从所确定的边缘节点下载该组剩余未下载的视频文件分片。所确定的边缘节点是能够给客户端提供最快下载速度的边缘节点,所确定的边缘节点能够提供最快下载速度,因此提高了客户端下载视频文件的速度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。