一种视频文件的下载方法及装置、电子设备、存储介质与流程

文档序号:29646195发布日期:2022-04-13 20:34阅读:61来源:国知局
一种视频文件的下载方法及装置、电子设备、存储介质与流程

1.本技术涉及视频下载技术领域,特别涉及一种视频文件的下载方法及装置、电子设备、存储介质。


背景技术:

2.视频缓存已经成为大部分应用的标配,并且根据功能使用数据的统计,用户对于视频缓存功能的使用量还在不断增加,所以如何做好视频缓存功能的优化至关重要。
3.当前的视频缓存方法,主要是将视频划分为多个分片,即一个待下载的视频文件由多个子文件组成。然后采用串行的方式,逐个下载视频文件的子文件,直至下载完所有的文件。
4.由于每个子文件对于网络的占用比较小,逐个下载子文件,可以有效避免出现超时、设备过热以及网络资源抢夺等问题,但是这种方式显然并有充分利用网络资源,存在下载速度相对较慢的问题。


技术实现要素:

5.基于上述现有技术的不足,本技术提供了一种视频文件的下载方法及装置、电子设备、存储介质,以解决现有技术没有充分利用网络资源,下载速度较慢的问题。
6.为了实现上述目的,本技术提供了以下技术方案:本技术第一方面提供了一种视频文件的下载方法,包括:接收目标视频文件的下载请求;确定下载所述目标视频文件的初始并发数,并将所述目标视频文件的初始并发数确定为当前并发数;判断当前所述目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于所述目标视频文件的缓存初始阶段;若判断出所述目标视频文件中待下载的子文件数量大于预设数量,或当前处于所述目标视频文件的缓存初始阶段,则将所述当前并发数增加预设增速值;检测下载设备当前的硬件环境是否满足预设条件;若检测出所述下载设备当前的硬件环境满足预设条件,则将所述当前并发数减去满足的所述预设条件对应的预设降速值;以最终的所述当前并发数对所述目标视频文件中待下载的子文件进行下载;实时基于所述目标视频文件的下载速度检测所述下载设备的网速,直至下载完所述目标视频文件中的所有子文件;当检测到所述下载设备的网速变化时,匹配出所述下载设备的当前网速对应的预设并发数;将所述当前网速对应的预设并发数确定为最新的所述当前并发数,并针对最新的所述当前并发数,返回执行所述判断所述目标视频文件中待下载的子文件的数量是否大于
预设数量,或当前是否处于所述目标视频文件的缓存初始阶段。
7.可选地,在上述的视频文件的下载方法中,所述确定下载所述目标视频文件的初始并发数,包括:判断当前是否存在有效网速数据;若判断出当前存在有效网速数据,则将与所述有效网速数据对应的所述预设并发数确定为所述初始并发数;若判断出当前不存在有效网速数据,则检测所述下载设备当前连接的网络类型;若所述下载设备当前连接的网络类型为流量网络,则将第一预设初始值确定为所述初始并发数;若所述下载设备当前连接的网络类型为无线网络,则将第二预设初始值确定为所述初始并发数;其中,所述第一预设初始值小于所述第二预设初始值。
8.可选地,在上述的视频文件的下载方法中,所述判断当前所述目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于所述目标视频文件的缓存初始阶段,包括:判断当前是否处于所述目标视频文件中的前n个子文件的缓存阶段;其中,若判断当前处于所述目标视频文件中的前n个子文件的缓存阶段,则确定所述当前处于所述目标视频文件的缓存初始阶段;若判断出当前未处于所述目标视频文件中的前n个子文件的缓存阶段,则判断当前所述目标视频文件中待下载的子文件的数量是否大于预设数量。
9.可选地,在上述的视频文件的下载方法中,所述检测下载设备当前的硬件环境是否满足预设条件,包括:检测当前所述下载设备的cpu是否超频;其中,所述下载设备的cpu超频时,所述预设条件对应的预设降速值为第一预设降速值;若检测出当前所述下载设备的cpu未超频,则检测当前所述下载设备的可用运行内存是否小于预设运行内存;其中,所述下载设备的可用运行内存小于预设运行内存时,所述预设条件对应的预设降速值为第二预设降速值;若检测出当前所述下载设备的可用运行内存不小于预设运行内存,则检测当前所述下载设备的剩余电量是否小于预设电量;其中,所述当前所述下载设备的剩余电量小于预设电量,所述预设条件对应的预设降速值为第三预设降速值。
10.可选地,在上述的视频文件的下载方法中,所述以最终的所述当前并发数对所述目标视频文件中待下载的子文件进行下载之前,还包括:判断所述当前并发数是否小于2;其中,若判断出所述当前并发数不小于2,则执行所述以最终的所述当前并发数对所述目标视频文件中待下载的子文件进行下载;若判断出所述并发数小于2,则将所述当前并发数置为2。
11.本技术第二方面提供了一种视频文件的下载装置,包括:接收单元,用于接收目标视频文件的下载请求;初始值确定单元,用于确定下载所述目标视频文件的初始并发数;初始化单元,用于将所述目标视频文件的初始并发数确定为当前并发数;第一判断单元,用于判断当前所述目标视频文件中待下载的子文件的数量是否大
于预设数量,或当前是否处于所述目标视频文件的缓存初始阶段;增量单元,用于若判断出所述目标视频文件中待下载的子文件数量大于预设数量,或当前处于所述目标视频文件的缓存初始阶段,则将所述当前并发数增加预设增速值;环境检测单元,用于检测下载设备当前的硬件环境是否满足预设条件;减量单元,用于若检测出所述下载设备当前的硬件环境满足预设条件,则将所述当前并发数减去满足的所述预设条件对应的预设降速值;下载单元,用于以最终的所述当前并发数对所述目标视频文件中待下载的子文件进行下载;网速检测单元,用于实时基于所述目标视频文件的下载速度检测所述下载设备的网速,直至下载完所述目标视频文件中的所有子文件;匹配单元,用于当检测到所述下载设备的网速变化时,匹配出所述下载设备的当前网速对应的预设并发数;返回单元,用于将所述当前网速对应的预设并发数确定为最新的所述当前并发数,并针对最新的所述当前并发数,返回所述第一判断单元执行所述判断所述目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于所述目标视频文件的缓存初始阶段。
12.可选地,在上述的视频文件的下载装置中,所述初始值确定单元,包括:第二判断单元,用于判断当前是否存在有效网速数据;第一确定单元,用于当判断出当前存在有效网速数据时,将与所述有效网速数据对应的所述预设并发数确定为所述初始并发数;网络类型检测单元,用于当判断出当前不存在有效网速数据时,检测所述下载设备当前连接的网络类型;第二确定单元,用于当所述下载设备当前连接的网络类型为流量网络时,则将第一预设初始值确定为所述初始并发数;第三确定单元,用于当所述下载设备当前连接的网络类型为无线网络时,将第二预设初始值确定为所述初始并发数;其中,所述第一预设初始值小于所述第二预设初始值。
13.可选地,在上述的视频文件的下载装置中,所述第一判断单元,包括:第四判断单元,用于判断当前是否处于所述目标视频文件中的前n个子文件的缓存阶段;其中,若判断当前处于所述目标视频文件中的前n个子文件的缓存阶段,则确定所述当前处于所述目标视频文件的缓存初始阶段;第五判断单元,用于若判断出当前未处于所述目标视频文件中的前n个子文件的缓存阶段,则判断当前所述目标视频文件中待下载的子文件的数量是否大于预设数量。
14.可选地,在上述的视频文件的下载装置中,所述环境检测单元,包括:第一检测单元,用于检测当前所述下载设备的cpu是否超频;其中,所述下载设备的cpu超频时,所述预设条件对应的预设降速值为第一预设降速值;第二检测单元,用于当检测出当前所述下载设备的cpu未超频时,检测当前所述下载设备的可用运行内存是否小于预设运行内存;其中,所述下载设备的可用运行内存小于预设运行内存时,所述预设条件对应的预设降速值为第二预设降速值;第三检测单元,用于当检测出当前所述下载设备的可用运行内存不小于预设运行
内存时,检测当前所述下载设备的剩余电量是否小于预设电量;其中,所述当前所述下载设备的剩余电量小于预设电量,所述预设条件对应的预设降速值为第三预设降速值。
15.可选地,在上述的视频文件的下载装置中,还包括:第六判断单元,用于判断所述当前并发数是否小于2;其中,若判断出所述当前并发数不小于2,则执行所述以最终的所述当前并发数对所述目标视频文件中待下载的子文件进行下载;设置单元,用于当判断出所述并发数小于2时,将所述当前并发数置为2。
16.本技术第三方面提供了一种电子设备,包括:存储器和处理器;其中,所述存储器用于存储程序;所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的视频文件的下载方法。
17.本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的视频文件的下载方法。
18.本技术提供了一种视频文件的下载方法,在接收目标视频文件的下载请求时,先确定下载目标视频文件的初始并发数,并将目标视频文件的初始并发数确定为当前并发数。判断当前目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段,以能适当的提高并发数,加快下载速度。所以若判断出目标视频文件中待下载的子文件数量大于预设数量,或当前处于目标视频文件的缓存初始阶段下,将当前并发数增加预设增速值。检测下载设备当前的硬件环境是否满足预设条件,若检测出下载设备当前的硬件环境满足预设条件,则将当前并发数减去满足的预设条件对应的预设降速值,从而还考虑了设备当前的硬件环境,适当降低并发数,在有效避免出现超时、设备过热以及网络资源抢夺等问题情况下,充分利用网络资源。最后,以最终的当前并发数对目标视频文件中待下载的子文件进行下载,并实时基于目标视频文件的下载速度检测下载设备的网速,直至下载完目标视频文件中的所有子文件。当检测到下载设备的网速变化时,匹配出下载设备的当前网速对应的预设并发数,将当前网速对应的预设并发数确定为最新的当前并发数,并针对最新的当前并发数,返回执行判断目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段,从不断实际的下载情况对并发数进行调整,以能保证持续充分利用网络资源。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
20.图1为本技术实施例提供的一种视频文件的下载方法的流程图;图2为本技术实施例提供的一种确定下载目标视频文件的初始并发数的方法的流程图;图3为本技术另一实施例提供的另一种视频文件的下载方法的流程图;
图4为本技术另一实施例提供的一种视频文件的下载装置的结构示意图;图5为本技术另一实施例提供的一种电子设备的结构示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
23.本技术实施例提供了一种视频文件的下载方法,如图1所示,包括以下步骤:s101、接收目标视频文件的下载请求。
24.其中,目标视频文件指的是当前请求下载的文件。在本技术实施例视频文件主要指的是m3u8格式,该格式的视频文件中包括有多个ts文件,即一个视频文件由多个子文件组成。ts文件本质上是一个数组,数组对应的是每个ts文件的下载地址。当然,也可以指的是其他格式的视频文件,但需要将文件进行分片,即将视频文件切分为多个子文件。
25.具体的,可以是在用户在下载设备上使用视频缓存功能时,触发目标视频文件的下载请求。可选地,目标视频文件的下载请求可以包括目标视频文件的名称或者标识等,以能确定所请求下载的目标视频文件。
26.s102、确定下载目标视频文件的初始并发数,并将目标视频文件的初始并发数确定为当前并发数。
27.在本技术实施例中,采用并行的方式,对视频文件中的各个子文件进行下载。所以在本技术实施例中,并发数指的是并行下载的子文件的数量。
28.在目标视频文件刚开始下载时,由于还未能确定具体的下载情况,所以需要先确定一个初始并发数,并将目标视频文件的初始并发数确定为当前并发数,从而实现对并发数据的初始化,以便执行后续的步骤。
29.可选地,目标视频文件的初始并发数可以是根据预先的测试确定的一个相对较小的数值,避免出现超时、设备过热以及网络资源抢夺等情况的发生。也可以是根据网络情况,确定一个与网络情况相适应的数值。具体的,可以是通过检测下载设备的网速和/或设备的其他参数,确定目标视频文件的初始并发数。
30.可选地,在本技术另一实施例中,确定下载目标视频文件的初始并发数的一种具体实施方式,如图2所示,包括:s201、判断当前是否存在有效网速数据。
31.其中,有效网速数据指的是可以准确反映出当前下载设备的网速的数据。
32.需要说明的是,若是目标视频文件是紧接着前一个视频进行下载的,则在前面视频进行下载时,已测得下载设备的网速数据,所以可以直接利用该网速数据,确定相匹配的初始并发数,从而实现并发数与网速是相匹配的,可以充分地利用下载设备的网络资源。因此,若判断出当前存在有效网速数据,则执行步骤s202。
33.若判断出当前不存在有效网速数据,由于网速与所连接的网络类型关系较大,所以为了尽可能与网速相适应,所以若判断出当前不存在有效网速数据,则执行步骤s203。
34.s202、将与有效网速数据对应的预设并发数确定为初始并发数。
35.需要说明的是,在本技术实施例中,预先通过试验,确定了各个网速范围内最适合的并发数,并建立了网速与预设并发数之间的对应关系,所以可以确定出有效网速数据对应的预设并发数。
36.s203、检测下载设备当前连接的网络类型。
37.需要说明的是,当前设备连接的网络主要分为流量网络和无线网络,所以在本技术实施例中,预先通过测试,确定出了在流量网络和无线网络情况下最适合的并发数,然后设置第一预设初始值和第二预设初始值。
38.s204、判断下载设备当前连接的网络类型是否为流量网络。
39.其中,若下载设备当前连接的网络类型为流量网络,则执行步骤s205。若判断出下载设备当前连接的网络类型不为流量网络,即下载设备当前连接的网络类型为无线网络时,则执行步骤s206。
40.s205、将第一预设初始值确定为初始并发数。
41.s206、将第二预设初始值确定为初始并发数。
42.由于,无线网络的网速通常比流量网络的网速好,所以第一预设初始值小于第二预设初始值。例如,通过测试得到,第一预设初始值为2,第二预设初始值为4的情况下,所得到的效果较佳。当然,由于不同的设备的特性不同,通过测试得到的第一预设初始值和第二预设初始值也可以相应的不相同。
43.需要说明的是,对于部分系统,底层协议quic使用的cronet库作为实现。cronet没有长连接的概念,是通过cronet线程处理的并发,同一端口最多6条线程,整个cronet最多不超过16条线程。所以,需要上层逻辑控制并发数,并不能直接设置并发数。其中,上层指的是客户端业务层,业务层会根据并发数量开辟对应数量的线程,用线程来承载下载任务。每个线程负责下载一个ts文件,当下载完成后会回收到线程池中,用来进行下次的ts文件下载使用。ts文件会一个接一个的下载,直到全部下载完成。
44.还需要说明的是,现有的方式对于ts文件的处理,主要是在主线程中进行的,在处理较低的文件时,容易导致屏幕卡顿等情况,从而影响用户体验。所以本技术实施例中,将ts文件的处理放在子线程中进行,从而可以得到更佳的性能,给用户提供更佳的体验。
45.s103、判断当前目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段。
46.需要说明的是,在当前目标视频文件中待下载的子文件的数量较大时,可以适当的增加并发数,以能减少整个目标视频文件的下载时间。而在测试过程中发现,在视频文件的缓存初始阶段,通常测得的网速要低于实际网速,所以此时也可以适当增加并发数,以能充分利用网络资源。但是为了避免并发数增加过多,出现超时、设备过热以及网络资源抢夺
等情况,所以对于两个条件,即使同时满足,也只对并发数进行一次增加。所以在判断当前目标视频文件中待下载的子文件的数量大于预设数量,或当前处于目标视频文件的缓存初始阶段时,先执行步骤s104。若是判断出当前目标视频文件中待下载的子文件的数量不大于预设数量,且当前不处于目标视频文件的缓存初始阶段时,则直接执行后续的步骤s105。
47.可选地,在本技术另一实施例中,步骤s103的一种具体实施方式,包括:判断当前是否处于所述目标视频文件中的前n个子文件的缓存阶段。
48.其中,若判断当前处于目标视频文件中的前n个子文件的缓存阶段,则确定当前处于所述目标视频文件的缓存初始阶段。
49.可选地,通过测试可知,n通常设置为6,即缓存初始阶段为前6个子文件的缓存阶段。
50.由于,对于两个条件,即使同时满足,也只对并发数进行一次增加,所以在判断一个条件满足时,可以不需要再判断另一个条件。而在本技术实施例中,判断是否处于缓存初始阶段的重要程度相对较高,所以在本技术实施例中,若判断出当前是否处于目标视频文件中的前n个子文件的缓存阶段。若判断为是,则执行步骤s104。若判断出当前未处于目标视频文件中的前n个子文件的缓存阶段,则判断当前目标视频文件中待下载的子文件的数量是否大于预设数量。
51.若判断当前目标视频文件中待下载的子文件的数量大于预设数量,则执行步骤s104。若判断当前目标视频文件中待下载的子文件的数量不大于预设数量,此时由于两个条件都不满足,所以直接执行步骤s105。
52.s104、将当前并发数增加预设增速值。
53.可选地,经过测试,预设增速值可以设置为2。当然,也可以根据测试情况的不同,设置为其他的数值。
54.s105、检测下载设备当前的硬件环境是否满足预设条件。
55.需要说明的是,在考虑网速的同时,还需要考虑到下载设备的硬件环境,例如,电池电量、cpu频率、运行内存避免出现过热等,卡顿或者抢占资源等情况的发现。所以还需要检测检测下载设备当前的硬件环境是否满足预设条件,以能适当的降低下载的并发数。
56.可选地,预设条件可以包括有多个,并且在判断出下载设备当前的硬件环境满足任意一个预设条件,就可以执行步骤s106,也就说即使有个预设条件同时满足,也只对并发数进行一次减量,避免一次性降低过多。因为后续还会再进行循环,若是依旧满足预设条件,还会再继续减少。当然,这只是其中一种可选的方式,也可以每满足一个预设条件,将当前并发数减去一个预设降速值。
57.若检测下载设备当前的硬件环境不满足预设条件,则执行跳过步骤s106,执行步骤s107。
58.s106、将当前并发数减去满足的预设条件对应的预设降速值。
59.需要说明的是,由于不同的预设条件,对于下载设备以及视频的影响可能会不相同,所以可以针对不同的预设条件设置对应的预设降速值,从而能根据所满足的条件,将当前并发数调整至适和的数值。
60.s107、以最终的当前并发数对目标视频文件中待下载的子文件进行下载。
61.需要说明的是,对于当前并发数,可能需要通过步骤s104和步骤s106的调整,所以
需要以最终的当前并发数对目标视频文件中的待下载的子文件进行下载。若是先前已进行下载了,此时就是改变下载的并发数,继续下载待下载的子文件。
62.s108、实时基于目标视频文件的下载速度检测下载设备的网速,直至下载完目标视频文件中的所有子文件。
63.需要说明的是,由于本技术主要针对的视频文件的下载,所以关注的是目标视频下载的网速,所以检测的下载设备的网速,指的是下载目标视频的网速。当网络环境出现变化,或者下载设备出现变化时,目标视频文件的下载速度都会受到影响,从而影响下载设备的网速,所以需要实时监测基于目标视频文件的下载速度检测下载设备的网速,直至下载完目标视频文件中的所有子文件。
64.s109、判断检测到下载设备的网速是否发生变化。
65.若判断出检测到下载设备的网速是否发生变化,则说明此时需要相应地调整并发数,以能充分利用网络资源,提高下载速度,所以此时执行步骤s109。
66.s110、匹配出下载设备的当前网速对应的预设并发数,并将当前网速对应的预设并发数确定为最新的当前并发数。
67.需要说明的是,在得到最新的当前并发数后,针对最新的当前并发数,返回执行步骤s103。
68.本技术实施例提供了一种视频文件的下载方法,在接收目标视频文件的下载请求时,先确定下载目标视频文件的初始并发数,并将目标视频文件的初始并发数确定为当前并发数。判断当前目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段,以能适当的提高并发数,加快下载速度。所以若判断出目标视频文件中待下载的子文件数量大于预设数量,或当前处于目标视频文件的缓存初始阶段下,将当前并发数增加预设增速值。检测下载设备当前的硬件环境是否满足预设条件,若检测出下载设备当前的硬件环境满足预设条件,则将当前并发数减去满足的预设条件对应的预设降速值,从而还考虑了设备当前的硬件环境,适当降低并发数,在有效避免出现超时、设备过热以及网络资源抢夺等问题情况下,充分利用网络资源。最后,以最终的当前并发数对目标视频文件中待下载的子文件进行下载,并实时基于目标视频文件的下载速度检测下载设备的网速,直至下载完目标视频文件中的所有子文件。当检测到下载设备的网速变化时,匹配出下载设备的当前网速对应的预设并发数,将当前网速对应的预设并发数确定为最新的当前并发数,并针对最新的当前并发数,返回执行判断目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段,从不断实际的下载情况对并发数进行调整,以能保证持续充分利用网络资源。
69.本技术另一实施例提供了另一种视频文件的下载方法,如图3所示,包括以下步骤:s301、接收目标视频文件的下载请求。
70.需要说明的是,步骤s301的具体实施方式,可相应地参考上述方法实施例中的步骤s101,此处不再赘述。
71.s302、确定下载目标视频文件的初始并发数,并将目标视频文件的初始并发数确定为当前并发数。
72.需要说明的是,步骤s302的具体实施方式,可相应地参考上述方法实施例中的步
骤s102,此处不再赘述。
73.s303、判断当前是否处于目标视频文件中的前n个子文件的缓存阶段。
74.其中,若判断当前处于目标视频文件中的前n个子文件的缓存阶段,则确定当前处于目标视频文件的缓存初始阶段,即目标视频文件中的前n个子文件的缓存阶段为目标视频文件的缓存初始阶段,而步骤s303和步骤s304只要有一个满足就可以执行步骤s305,所以此时可以直接执行步骤s305,不用再执行步骤s304。若判断出当前未处于目标视频文件中的前n个子文件的缓存阶段,则先执行步骤s304。
75.s304、判断当前目标视频文件中待下载的子文件的数量是否大于预设数量。
76.其中,若判断出目标视频文件中待下载的子文件数量大于预设数量,则执行步骤s305。判断出目标视频文件中待下载的子文件数量不大于预设数量,说明两个条件都不满足,则此时执行步骤s306。
77.s305、将当前并发数增加预设增速值。
78.s306、检测当前下载设备的cpu是否超频。
79.需要说明的是,在本技术实施例中,检测下载设备当前的硬件环境是否满足的预设条件即为步骤s306、步骤s307、步骤s308,对应的三个条件,并且在任意一个条件满足时,可以不用再检测其他条件,直接执行步骤s309。所以若检测出当前下载设备的cpu超频,则执行步骤s309。若检测出当前下载设备的cpu未超频,则检测下一个预设条件是否满足,即执行步骤s307。
80.其中,由于每个预设条件对于下载的影响不同,所以当下载设备的cpu超频时,该预设条件对应的预设降速值为第一预设降速值,例如,第一预设降速值可以为2。
81.s307、检测当前下载设备的可用运行内存是否小于预设运行内存。
82.同理,若检测出当前下载设备的可用运行内存小于预设运行内存,则执行步骤s309。若检测出当前下载设备的可用运行内存不小于预设运行内存,则执行步骤s308。
83.其中,下载设备的可用运行内存小于预设运行内存时,预设条件对应的预设降速值为第二预设降速值,通常测试第二预设降速值可以设置为2。
84.s308、检测当前下载设备的剩余电量是否小于预设电量。
85.其中,当前下载设备的剩余电量小于预设电量,预设条件对应的预设降速值为第三预设降速值,由于电量对设备影响较大,容易导致收集卡段,所以第三预设降速值,相对较大,经测试确定设置为4相对较佳。
86.可选地,在考虑剩余电量的同时,还可以检测当前是否处于充电状态,若是则可以不减小并发数,或者减少的相对少一些。
87.在本技术实施例中,由于各个预设条件是依次检测的,所以若检测当前下载设备的剩余电量不小于预设电量,说明不满足任意一个预设条件,所以此时可以直接执行步骤s310。检测当前下载设备的剩余电量小于预设电量,则需要先执行步骤s309。
88.当然,本技术实施例中步骤s307~步骤s308的执行顺序仅是其中一种可选的方式,也可以采用其他的顺序,这也应属于本技术的保护范畴。
89.可选地,在本技术实施例中,主要只针对这三项较大的影响因素,也可以根据需要设定其他的预设条件。
90.s309、将当前并发数减去满足的预设条件对应的预设降速值。
91.s310、判断当前并发数是否小于2。
92.需要说明的是,为了避免并发数过小,甚至出现并发数为0的情况,所以在本技术实施例中,还存在兜底的策略,即判断当前并发数是否小于2,若判断出当前并发数不小于2,则直接执行步骤s312。若判断出当前并发数小于2,则先执行步骤s311。
93.s311、将当前并发数置为2。
94.由于并发数过小,所以将当前并发数直接置为能实现并发的最小值,即置为2,然后再执行步骤s312。
95.s312、以最终的当前并发数对目标视频文件中待下载的子文件进行下载。
96.s313、实时基于目标视频文件的下载速度检测所述下载设备的网速,直至下载完目标视频文件中的所有子文件。
97.s314、判断检测到的下载设备的网速是否发生变化。
98.其中,当检测到下载设备的网速变化时,执行步骤s315。
99.s315、匹配出下载设备的当前网速对应的预设并发数。
100.s316、将当前网速对应的预设并发数确定为最新的当前并发数。
101.需要说明的是,在执行步骤s316之后,并针对最新的当前并发数,返回执行步骤s303。
102.本技术另一实施例提供了一种视频文件的下载装置,如图4所示,包括:接收单元401,用于接收目标视频文件的下载请求。
103.初始值确定单元402,用于确定下载目标视频文件的初始并发数。
104.初始化单元403,用于将目标视频文件的初始并发数确定为当前并发数。
105.第一判断单元404,用于判断当前目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段。
106.增量单元405,用于若判断出目标视频文件中待下载的子文件数量大于预设数量,或当前处于目标视频文件的缓存初始阶段,则将当前并发数增加预设增速值。
107.环境检测单元406,用于检测下载设备当前的硬件环境是否满足预设条件。
108.减量单元407,用于若检测出下载设备当前的硬件环境满足预设条件,则将当前并发数减去满足的预设条件对应的预设降速值。
109.下载单元408,用于以最终的当前并发数对目标视频文件中待下载的子文件进行下载。
110.网速检测单元409,用于实时基于目标视频文件的下载速度检测下载设备的网速,直至下载完目标视频文件中的所有子文件。
111.匹配单元410,用于当检测到下载设备的网速变化时,匹配出下载设备的当前网速对应的预设并发数。
112.返回单元411,用于将当前网速对应的预设并发数确定为最新的当前并发数,并针对最新的当前并发数,返回第一判断单元404执行判断目标视频文件中待下载的子文件的数量是否大于预设数量,或当前是否处于目标视频文件的缓存初始阶段。
113.可选地,在本技术另一实施例提供的视频文件的下载装置中,初始值确定单元,包括:第二判断单元,用于判断当前是否存在有效网速数据。
114.第一确定单元,用于当判断出当前存在有效网速数据时,将与有效网速数据对应的预设并发数确定为初始并发数。
115.网络类型检测单元,用于当判断出当前不存在有效网速数据时,检测下载设备当前连接的网络类型。
116.第二确定单元,用于当下载设备当前连接的网络类型为流量网络时,则将第一预设初始值确定为初始并发数。
117.第三确定单元,用于当下载设备当前连接的网络类型为无线网络时,将第二预设初始值确定为初始并发数。其中,第一预设初始值小于第二预设初始值。
118.可选地,在本技术另一实施例提供的视频文件的下载装置中,第一判断单元,包括:第四判断单元,用于判断当前是否处于目标视频文件中的前n个子文件的缓存阶段。其中,若判断当前处于目标视频文件中的前n个子文件的缓存阶段,则确定当前处于目标视频文件的缓存初始阶段。
119.第五判断单元,用于若判断出当前未处于目标视频文件中的前n个子文件的缓存阶段,则判断当前目标视频文件中待下载的子文件的数量是否大于预设数量。
120.可选地,在上述的视频文件的下载装置中,环境检测单元,包括:第一检测单元,用于检测当前下载设备的cpu是否超频。其中,下载设备的cpu超频时,预设条件对应的预设降速值为第一预设降速值。
121.第二检测单元,用于当检测出当前下载设备的cpu未超频时,检测当前下载设备的可用运行内存是否小于预设运行内存。
122.其中,下载设备的可用运行内存小于预设运行内存时,预设条件对应的预设降速值为第二预设降速值。
123.第三检测单元,用于当检测出当前下载设备的可用运行内存不小于预设运行内存时,检测当前下载设备的剩余电量是否小于预设电量。其中,当前下载设备的剩余电量小于预设电量,预设条件对应的预设降速值为第三预设降速值。
124.可选地,在本技术另一实施例提供的视频文件的下载装置中,还包括:第六判断单元,用于判断当前并发数是否小于2。其中,若判断出当前并发数不小于2,则执行以最终的当前并发数对目标视频文件中待下载的子文件进行下载。
125.设置单元,用于当判断出并发数小于2时,将当前并发数置为2。
126.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程,可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
127.本技术另一实施例提供了一种电子设备,如图5所示,包括:存储器501和处理器502。
128.其中,存储器501用于存储程序。
129.处理器502用于执行存储器501存储的程序,该程序被执行时,具体用于实现如上述任意一个实施例提供的视频文件的下载方法。
130.本技术另一实施例提供了一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现如上述任意一个实施例提供的视频文件的下载方法。
131.计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
132.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
133.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1