一种视频数据缓存方法、装置及用户终端与流程

文档序号:16901633发布日期:2019-02-19 18:03阅读:185来源:国知局
一种视频数据缓存方法、装置及用户终端与流程

本发明涉及互联网技术领域,尤其涉及一种视频数据缓存方法、装置及用户终端。



背景技术:

随着通信技术的快速发展,现代生活中网络带宽在不断的提高,而视频作为一种日常生活的富媒体,由于人们更容易接收资讯而频繁出现,同时对于视频的要求也越来越高,例如要求高码率、高清晰度的视频,视频缓存技术就是用来在网络带宽的基础上解决用户观看视频的体验问题。

目前,可以采用单链路的方式进行缓存,即用户终端与资源服务器之间通过单一的链路进行视频数据的缓存;也可以采用多链路的方式进行缓存,使用多条链路为同一用户的视频缓存提供服务。然而,使用单链接的方案,如果网络带宽不稳定或者网络带宽不够充足时,就会有损用户体验,例如出现卡顿等;使用多链路的方案目前还存在无法充分利用网络带宽、无法解决多链路互相竞争等问题。可见,如何提供能够充分利用网络带宽并有效避免链路之间相互竞争的视频缓存方案已成为亟待解决的问题。



技术实现要素:

本发明实施例提供一种视频数据缓存方法、装置及用户终端,可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争。

一方面,本发明实施例提供了一种视频数据缓存方法,包括:

在下载视频的过程中,查询紧急下载队列,若所述紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载所述紧急视频数据;

查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据;

利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

另一方面,本发明实施例还提供了一种视频数据缓存装置,包括:

查询模块,用于在下载视频的过程中,查询紧急下载队列;

下载模块,用于若所述紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载所述紧急视频数据;

所述查询模块,还用于查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据;

所述下载模块,还用于利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

又一方面,本发明实施例还提供了一种用户终端,包括:处理器、网络接口和存储器,所述存储器存储有可执行程序代码,所述网络接口受所述处理器的控制用于收发数据,所述处理器用于调用所述可执行程序代码,执行上述的视频数据缓存方法。

又一方面,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述的视频数据缓存方法。

本发明实施例中,在下载视频的过程中,先查询紧急下载队列,如果紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载紧急视频数据,再查询常规下载队列,获取常规下载队列中待下载的错误视频数据和默认视频数据,然后利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,第一下载链路的下载速度大于第二下载链路的下载速度,从而可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种视频数据缓存系统的架构示意图;

图2是本发明实施例提供的一种视频数据缓存方法的流程示意图;

图3是本发明实施例提供的另一种视频数据缓存方法的流程示意图;

图4a是本发明实施例提供的一种紧急链路的作业流程示意图;

图4b是本发明实施例提供的一种普通链路的作业流程示意图;

图4c是本发明实施例提供的一种链路监控的流程示意图;

图4d是本发明实施例提供的一种新增链路的流程示意图;

图4e是本发明实施例提供的一种计算链路数量上限的流程示意图;

图5是本发明实施例提供的一种视频数据缓存装置的结构示意图;

图6是本发明实施例提供的一种用户终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所描述的用户终端具体可以包括智能手机、平板电脑、笔记本、台式机、移动互联网设备(mobileinternetdevice,mid)、智能可穿戴设备、车载终端等。

请参阅图1,为本发明实施例提供的一种视频数据缓存系统的架构示意图。本实施例中所描述的视频数据缓存系统包括:用户终端和资源服务器,其中:

本发明实施例提供多条下载链路为用户提供视频缓存服务,应用场景可以包括较为常见的视频观看、视频下载等,并将下载链路分为紧急链路和普通链路,紧急链路是下载链路中下载速度最快的一条或几条链路,每条下载链路可以分别连接一台资源服务器,也就是说下载链路之间连接的是不同的资源服务器;当然,在某台资源服务器的网络状况非常良好时,也可以考虑将多条下载链路都连接到该台资源服务器。

本发明实施例设置有下载队列,用来指示待下载的视频数据,下载队列具体包括紧急队列、错误队列和默认下载分块,紧急队列是下载优先级最高的队列,包括的是待下载的视频数据中下载优先级最高的紧急数据,例如用户拖拽视频播放进度条到还未下载的数据块;错误队列包括的是在下载过程中出现错误导致下载失败的下载错误数据,例如在下载过程中发生了断链,造成下载不完整的数据块;默认下载分块包括的是视频按照正常的播放进度播放时下一块应该下载的默认下载数据,意味着数据分块是按照时间顺序往后下载。

其中,紧急链路负责紧急队列中紧急数据的下载,普通链路负责错误队列中下载错误数据和默认下载分块中默认下载数据的下载。

其中,在进行视频缓存时,用户终端利用紧急链路进行紧急数据的下载,可以保证用户在拖拽视频播放进度后能够及时地看到与新的播放进度匹配的视频画面,并利用普通链路进行下载错误数据和默认下载数据的下载。

其中,用户终端利用普通链路进行下载错误数据和默认下载数据的下载时,先从错误队列中获取下载错误数据并进行下载,待下载错误数据下载完毕后,再从默认下载分块获取默认下载数据并进行下载,可以保证之前下载的不完整的错误数据可以被及时地重新下载,使得视频能够正常播放。

其中,数据块大小可以根据实际需求灵活设置。在一些可行的实施方式中,本发明实施例中每一个待下载的数据块大小可以为1兆字节(mbyte,mb),也就是说下载链路在下载视频数据时每次下载1mb的视频数据,例如,对于紧急数据来说,紧急链路每次下载1mb的紧急数据,直到把紧急数据下载完毕。当然本发明实施例不做限定。

本发明实施例还提供链路监控功能,能够检测各条下载链路的下载速度,根据下载速度可以对紧急链路和普通链路进行调整,例如将普通链路中下载速度低于配置的最小下载速度(如500kb/s)的链路剔除,对各条下载链路的下载速度排序后重新划分紧急链路和普通链路,例如可以将下载速度排在前2的下载链路作为紧急链路,其他下载链路作为普通链路。

请参阅图2,为本发明实施例提供的一种视频数据缓存方法的流程示意图。本实施例中所描述的视频数据缓存方法,包括:

201、用户终端在下载视频的过程中,查询紧急下载队列,若所述紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载所述紧急视频数据。

其中,紧急下载队列对应于前述的紧急队列,第一下载链路对应于前述的紧急链路,具体可以包括至少一条下载链路,负责紧急下载队列中紧急视频数据的下载。

具体的,用户终端在下载视频的过程中,首先查询紧急下载队列中是否存在待下载的紧急视频数据,如果存在,则利用第一下载链路从对应的资源服务器处下载该紧急视频数据。

在一些可行的实施方式中,如图4a所示,是紧急链路的作业流程示意图,在利用紧急链路(即第一下载链路)下载紧急块(即紧急视频数据)时,依次下载各个紧急块,如果判断出紧急队列中不存在未下载的紧急块了,则紧急链路可以与资源服务器保持长连接。

202、所述用户终端查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据。

其中,常规下载队列对应于前述的错误队列和默认下载分块,用于指示待下载的错误视频数据和默认视频数据。

具体的,用户终端查询常规下载队列,从而确定出待下载的错误视频数据和默认视频数据。

203、所述用户终端利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

其中,第二下载链路对应于前述的普通链路,具体可以包括至少一条下载链路,负责常规下载队列中错误视频数据和默认视频数据的下载,第一下载链路的下载速度大于第二下载链路的下载速度。

具体的,用户终端在确定出待下载的错误视频数据和默认视频数据之后,利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据。

在一些可行的实施方式中,用户终端在利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据时,具体可以先利用第二下载链路从对应的资源服务器处下载错误视频数据,等待错误视频数据下载完毕后,再利用第二下载链路从对应的资源服务器处下载默认视频数据,可以保证之前下载的不完整的错误视频数据可以被及时地重新下载,使得在观看视频时能够正常播放。

在一些可行的实施方式中,如图4b所示,是普通链路的作业流程示意图,在利用普通链路(即第二下载链路)下载错误块(即错误视频数据)和默认块(即默认视频数据)时,先判断是否有错误块,如果有,则下载错误块,直到错误块下载完毕,然后再判断是否有默认块,如果有,则下载默认块,在默认块下载完毕后,普通链路可以与资源服务器保持长连接。

在一些可行的实施方式中,用户终端可以在紧急下载队列中不存在待下载的紧急视频数据,或者,紧急视频数据下载完毕的情况下,才查询常规下载队列,以获取常规下载队列中待下载的错误视频数据和默认视频数据,并利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,也就是说,如果有待下载的紧急视频数据,则必须等待紧急视频数据下载完毕了才可以开始下载待下载的错误视频数据和默认视频数据,从而可以在下载链路的速度以及下载顺序这两方面充分保证紧急视频数据的优先下载。

本发明实施例中,用户终端在下载视频的过程中,首先查询紧急下载队列,如果紧急下载队列中存在待下载的紧急视频数据,则利用下载速度较快的第一下载链路从对应的资源服务器处下载紧急视频数据,然后查询常规下载队列,确定出待下载的错误视频数据和默认视频数据,进而利用下载速度相对较慢的第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,从而可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争,保证了良好的视频缓存体验。

请参阅图3,为本发明实施例提供的另一种视频数据缓存方法的流程示意图。本实施例中所描述的视频数据缓存方法,包括:

301、用户终端在下载视频的过程中,查询紧急下载队列,若所述紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载所述紧急视频数据。

302、所述用户终端查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据。

303、所述用户终端利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

其中,步骤301~303的具体实现可以参见前述的步骤201~203的相关描述,此处不再赘述。

304、当检测到用户针对视频的播放进度的调整操作时,所述用户终端获取所述用户将所述视频的播放进度调整后的目标播放进度。

具体的,用户在观看视频的过程中可以对视频的播放进度进行调整,例如向前(即尚未播放的部分)调整播放进度或者向后(即已经播放的部分)调整播放进度,当检测到用户针对视频的播放进度的调整操作时,用户终端获取用户将视频的播放进度调整后的目标播放进度,例如当前播放进度在第10分钟00:10:00,用户将视频的播放进度向前调整到了第18分钟00:18:00(即目标播放进度)。

305、所述用户终端根据所述目标播放进度对所述紧急下载队列中待下载的紧急视频数据以及所述常规下载队列中待下载的错误视频数据和默认视频数据进行调整。

具体的,用户终端在获取用户将视频的播放进度调整到的目标播放进度后,需要对紧急下载队列中待下载的紧急视频数据以及常规下载队列中待下载的错误视频数据和默认视频数据进行调整,可以先判断目标播放进度的位置处对应的视频数据当前是否已下载完毕,如果没有下载完毕,则意味着需要进行视频数据的下载,可以根据目标播放进度的位置处对应的视频数据重新确定出紧急下载队列中待下载的紧急视频数据,再根据重新确定出的待下载的紧急视频数据的结束位置,重新确定出常规下载队列中待下载的默认视频数据,例如,可以将从目标播放进度的位置处对应的视频数据开始的2个数据块作为重新确定出的待下载的紧急视频数据,然后将从目标播放进度的位置处对应的视频数据开始的第3个数据块作为待下载的默认视频数据的起点。

需要说明的是,由于用户调整了视频的播放进度,在没有进行视频数据的下载之前,如果用户是向前(即尚未播放的部分)调整播放进度,则用户终端可以将常规下载队列中待下载的错误视频数据清空,如果用户是向后(即已经播放的部分)调整播放进度,则用户终端可以将常规下载队列中待下载的错误视频数据可以进行保留。

在一些可行的实施方式中,用户终端在重新确定出紧急下载队列中待下载的紧急视频数据之前,可以先清除紧急下载队列中当前待下载的紧急视频数据和常规下载队列中当前待下载的错误视频数据和默认视频数据。

在一些可行的实施方式中,如果目标播放进度的位置处对应的视频数据当前已下载完毕,则当前不需要进行紧急视频数据的下载,用户终端可以将目标播放进度的位置处对应的视频数据确定为常规下载队列中待下载的默认视频数据的起点,并清除紧急下载队列中当前位于目标播放进度的位置之前的待下载的紧急视频数据。

306、所述用户终端利用所述第一下载链路从对应的资源服务器处下载调整后的待下载的紧急视频数据。

307、所述用户终端利用所述第二下载链路从对应的资源服务器处下载调整后的待下载的错误视频数据和默认视频数据。

具体的,在调整紧急下载队列中待下载的紧急视频数据以及常规下载队列中待下载的错误视频数据和默认视频数据之后,用户终端利用第一下载链路下载调整后的待下载的紧急视频数据,利用第二下载链路下载调整后的待下载的错误视频数据和默认视频数据。

需要说明的是,当用户调整视频的播放进度时,无论用户终端当前正在下载紧急视频数据还是错误视频数据、默认视频数据,都需要立即停止下载,并开始下载重新确定出的紧急视频数据、错误视频数据和默认视频数据,以保证用户在调整视频播放进度后能够及时地看到与新的播放进度匹配的视频画面。

可以理解的是,无论用户是向前(即尚未播放的部分)调整了播放进度还是向后(即已经播放的部分)调整了播放进度,用户终端在进行视频数据的下载过程中都要将下载错误的视频数据块添加到常规下载队列中,作为待下载的错误视频数据。

308、所述用户终端检测所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度。

309、所述用户终端根据所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度,调整所述第一下载链路包括的下载链路和所述第二下载链路包括的下载链路。

具体的,用户终端可以对下载链路进行监控,包括对第一下载链路包括的各条下载链路的下载速度和第二下载链路包括的各条下载链路的下载速度进行检测,并根据第一下载链路包括的各条下载链路的下载速度和第二下载链路包括的各条下载链路的下载速度,从这些下载链路中确定出下载速度排在前预设数值位的至少一条下载链路,进而将该至少一条下载链路作为新的第一下载链路(即紧急链路),以及将除该至少一条下载链路之外的下载链路作为新的第二下载链路(即普通链路)。

其中,检测下载链路的下载速度的周期可以根据实际需求设置,例如可以设置为每3秒检测一次下载速度。

进一步的,用户终端可以将第二下载链路包括的各条下载链路中下载速度小于配置的最小下载速度(如500kb/s)的下载链路剔除,从而可以很好的支持弱网的情况。

在一些可行的实施方式中,如图4c所示,是链路监控的流程示意图,可以对紧急链路和普通链路的链路速度(即下载速度)进行检查,对于紧急链路,判断是否是所有链路中速度最快的,即紧急链路中链路速度最慢的链路是否都比普通链路中链路速度最快的链路要快,如果不是所有链路中速度最快的,则需要对作为紧急链路的链路进行调整,可以通过调整紧急链路标示的方式完成;对于普通链路,可以判断链路速度是否小于配置的最小下载速度(如500kb/s),如果小于,则再多次(例如3次)测试该链路的速度是否都小于500kb/s,如果是,则可以剔除该链路,删除相应的后台资源节点,从而可以根据实际的链路速度,对紧急链路和普通链路进行动态调整,并能够有效应对网络环境较差的弱网环境。

需要说明的是,对下载链路进行监控,以及对第一下载链路包括的下载链路和第二下载链路包括的下载链路进行调整也可以由资源服务器或者独立的服务器完成,并将下载链路的调整结果通知给用户终端。

在一些可行的实施方式中,由于本方案中利用多条链路下载视频数据,可以充分利用用户带宽,同时为了解决多链路的竞争问题,可以采用一种比较保守的方式进行解决,即控制链路的数量,设置链路数量上限。在需要新增下载链路时,用户终端可以判断第一下载链路包括的下载链路的数量、第二下载链路包括的下载链路的数量与新增的下载链路的数量之和是否小于或等于下载链路数量阈值,如果还未超过下载链路数量阈值(即链路数量上限),则建立新的下载链路。

进一步的,用户终端在建立新的下载链路后,可以检测第一下载链路包括的各条下载链路的下载速度、第二下载链路包括的各条下载链路的下载速度和新的下载链路的下载速度,并根据最新获取的下载速度对第一下载链路包括的下载链路和第二下载链路包括的下载链路进行适应性调整。

在一些可行的实施方式中,如图4d所示,是新增链路的流程示意图,在启动新链路时,先判断加上准备启动的新链路后,总的链路数量是否达到链路数量上限,如果还没有达到链路数量上限,则建立新链路;如果已经达到链路数量上限,则不建立新链路,并进行正常流程,例如将下载块放入对应队列中,控制链路数量可以有效避免下载链路之间的相互竞争。

在一些可行的实施方式中,用户终端可以获取当前的下载链路中下载速度最快的目标下载链路,目标下载链路能够较为真实的反映当前网络环境的实际可用带宽,进而根据目标下载链路的带宽和配置的最小下载速度确定下载链路数量阈值,具体是利用目标下载链路的带宽除以配置的最小下载速度即可得到下载链路数量阈值,例如目标下载链路的带宽为50mbps,配置的最小下载速度为500kb/s,则50mbps=50/8=6.25mb/s,6.25*1024/500=12.8,此时下载链路数量阈值可以取12。

在一些可行的实施方式中,如图4e所示,是计算链路数量上限的流程示意图,可以获取当前链路速度最快的链路的带宽,该带宽能够较为真实的反映当前网络环境的实际可用带宽,进而利用该带宽除以配置的能够支持的最小速度即可得到当前的链路数量上限。

本发明实施例中,用户终端在播放视频的过程中,首先查询紧急下载队列,如果紧急下载队列中存在待下载的紧急视频数据,则利用下载速度较快的第一下载链路从对应的资源服务器处下载紧急视频数据,然后查询常规下载队列,确定出待下载的错误视频数据和默认视频数据,进而利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,当检测到用户调整视频的播放进度时,重新确定紧急下载队列中待下载的紧急视频数据以及常规下载队列中待下载的错误视频数据和默认视频数据,并进行下载,还可以通过检测各条下载链路的下载速度对第一下载链路包括的下载链路和第二下载链路包括的下载链路进行动态调整,能够有效应对网络环境较差的弱网环境,从而可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争,保证了良好的视频播放体验。

请参阅图5,为本发明实施例提供的一种视频数据缓存装置的结构示意图。本实施例中所描述的视频数据缓存装置,包括:

查询模块501,用于在下载视频的过程中,查询紧急下载队列;

下载模块502,用于若所述紧急下载队列中存在待下载的紧急视频数据,则利用第一下载链路从对应的资源服务器处下载所述紧急视频数据;

所述查询模块501,还用于查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据;

所述下载模块502,还用于利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

可选的,所述装置还包括:获取模块503和调整模块504,其中:

所述获取模块503,用于当检测到用户针对视频的播放进度的调整操作时,获取所述用户将所述视频的播放进度调整后的目标播放进度;

所述调整模块504,用于根据所述目标播放进度对所述紧急下载队列中待下载的紧急视频数据以及所述常规下载队列中待下载的错误视频数据和默认视频数据进行调整;

所述下载模块502,还用于利用所述第一下载链路从对应的资源服务器处下载调整后的待下载的紧急视频数据;

所述下载模块502,还用于利用所述第二下载链路从对应的资源服务器处下载调整后的待下载的错误视频数据和默认视频数据。

可选的,所述调整模块504,具体用于:

判断所述目标播放进度的位置处对应的视频数据当前是否已下载完毕;

若未下载完毕,则根据所述目标播放进度的位置处对应的视频数据重新确定出所述紧急下载队列中待下载的紧急视频数据;

根据重新确定出的待下载的紧急视频数据的结束位置重新确定出所述常规下载队列中待下载的默认视频数据。

可选的,所述装置还包括:

清除模块505,用于清除所述紧急下载队列中当前待下载的紧急视频数据和所述常规下载队列中当前待下载的错误视频数据和默认视频数据。

可选的,所述装置还包括:确定模块506,其中:

所述确定模块506,用于若已下载完毕,则将所述目标播放进度的位置处对应的视频数据确定为所述常规下载队列中待下载的默认视频数据的起点;

所述清除模块505,还用于清除所述紧急下载队列中当前位于所述目标播放进度的位置之前的待下载的紧急视频数据。

可选的,所述装置还包括:检测模块507,其中:

所述检测模块507,用于检测所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度;

所述调整模块504,还用于根据所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度,调整所述第一下载链路包括的下载链路和所述第二下载链路包括的下载链路。

可选的,所述调整模块504,具体用于:

根据所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度,从所述第一下载链路包括的各条下载链路和所述第二下载链路包括的各条下载链路中确定下载速度排在前预设数值位的至少一条下载链路;

将所述至少一条下载链路作为所述第一下载链路,以及将所述第一下载链路包括的各条下载链路和所述第二下载链路包括的各条下载链路中除所述至少一条下载链路之外的下载链路作为所述第二下载链路。

可选的,所述清除模块505,还用于将所述第二下载链路包括的各条下载链路中下载速度小于配置的最小下载速度的下载链路剔除。

可选的,所述下载模块502,具体用于:

利用第二下载链路从对应的资源服务器处下载所述错误视频数据;

在所述错误视频数据下载完毕后,利用所述第二下载链路从对应的资源服务器处下载所述默认视频数据。

可选的,所述装置还包括:判断模块508和建立模块509,其中:

所述判断模块508,用于在新增下载链路时,判断所述第一下载链路包括的下载链路的数量、所述第二下载链路包括的下载链路的数量与新增的下载链路的数量之和是否小于或等于下载链路数量阈值;

所述建立模块509,用于若是,则建立新的下载链路。

可选的,所述检测模块507,还用于检测所述第一下载链路包括的各条下载链路的下载速度、所述第二下载链路包括的各条下载链路的下载速度和所述新的下载链路的下载速度;

所述调整模块504,还用于根据所述第一下载链路包括的各条下载链路的下载速度、所述第二下载链路包括的各条下载链路的下载速度和所述新的下载链路的下载速度,调整所述第一下载链路包括的下载链路和所述第二下载链路包括的下载链路。

可选的,所述获取模块503,还用于获取当前的下载链路中下载速度最快的目标下载链路;

所述确定模块506,还用于根据所述目标下载链路的带宽和配置的最小下载速度确定下载链路数量阈值。

可以理解的是,本实施例的视频数据缓存装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

本发明实施例中,查询模块501在下载视频的过程中,先查询紧急下载队列,下载模块502在紧急下载队列中存在待下载的紧急视频数据时,利用第一下载链路从对应的资源服务器处下载紧急视频数据,查询模块501再查询常规下载队列,获取常规下载队列中待下载的错误视频数据和默认视频数据,下载模块502利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,第一下载链路的下载速度大于第二下载链路的下载速度,从而可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争,保证了良好的视频缓存体验。

请参阅图6,为本发明实施例提供的一种用户终端的结构示意图。本实施例中所描述的用户终端,包括:处理器601、用户接口602、网络接口603及存储器604。其中,处理器601、用户接口602、网络接口603及存储器604可通过总线或其他方式连接,本发明实施例以通过总线连接为例。

其中,处理器601(或称cpu(centralprocessingunit,中央处理器))是用户终端的计算核心以及控制核心,其可以解析用户终端内的各类指令以及处理用户终端的各类数据,例如:cpu可以用于解析用户向用户终端所发送的开关机指令,并控制用户终端进行开关机操作;再如:cpu可以在用户终端内部结构之间传输各类交互数据,等等。用户接口602是实现用户与用户终端进行交互和信息交换的媒介,其具体体现可以包括用于输出的显示屏(display)以及用于输入的键盘(keyboard)等等,例如可用于输出视频画面,需要说明的是,此处的键盘既可以为实体键盘,也可以为触屏虚拟键盘,还可以为实体与触屏虚拟相结合的键盘。网络接口603可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等),受处理器601的控制用于收发数据。存储器604(memory)是用户终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器604既可以包括用户终端的内置存储器,当然也可以包括用户终端所支持的扩展存储器。存储器604提供存储空间,该存储空间存储了用户终端的操作系统,可包括但不限于:android系统、ios系统、windowsphone系统等等,本发明对此并不作限定。

在本发明实施例中,处理器601通过运行存储器604中的可执行程序代码,执行如下操作:

处理器601,用于在通过用户接口602下载视频的过程中,查询紧急下载队列;

所述处理器601,还用于若所述紧急下载队列中存在待下载的紧急视频数据,则通过网络接口603利用第一下载链路从对应的资源服务器处下载所述紧急视频数据;

所述处理器601,还用于查询常规下载队列,以获取所述常规下载队列中待下载的错误视频数据和默认视频数据;

所述处理器601,还用于通过所述网络接口603利用第二下载链路从对应的资源服务器处下载所述错误视频数据和所述默认视频数据,所述第一下载链路的下载速度大于所述第二下载链路的下载速度。

可选的,所述处理器601,还用于当检测到用户针对视频的播放进度的调整操作时,获取所述用户将所述视频的播放进度调整后的目标播放进度;

所述处理器601,还用于根据所述目标播放进度对所述紧急下载队列中待下载的紧急视频数据以及所述常规下载队列中待下载的错误视频数据和默认视频数据进行调整;

所述处理器601,还用于通过所述网络接口603利用所述第一下载链路从对应的资源服务器处下载调整后的待下载的紧急视频数据;

所述处理器601,还用于通过所述网络接口603利用所述第二下载链路从对应的资源服务器处下载调整后的待下载的错误视频数据和默认视频数据。

可选的,所述处理器601,具体用于:

判断所述目标播放进度的位置处对应的视频数据当前是否已下载完毕;

若未下载完毕,则根据所述目标播放进度的位置处对应的视频数据重新确定出所述紧急下载队列中待下载的紧急视频数据;

根据重新确定出的待下载的紧急视频数据的结束位置重新确定出所述常规下载队列中待下载的默认视频数据。

可选的,所述处理器601,还用于清除所述紧急下载队列中当前待下载的紧急视频数据和所述常规下载队列中当前待下载的错误视频数据和默认视频数据。

可选的,所述处理器601,还用于若已下载完毕,则将所述目标播放进度的位置处对应的视频数据确定为所述常规下载队列中待下载的默认视频数据的起点;

所述处理器601,还用于清除所述紧急下载队列中当前位于所述目标播放进度的位置之前的待下载的紧急视频数据。

可选的,所述处理器601,还用于检测所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度;

所述处理器601,还用于根据所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度,调整所述第一下载链路包括的下载链路和所述第二下载链路包括的下载链路。

可选的,所述处理器601,具体用于:

根据所述第一下载链路包括的各条下载链路的下载速度和所述第二下载链路包括的各条下载链路的下载速度,从所述第一下载链路包括的各条下载链路和所述第二下载链路包括的各条下载链路中确定下载速度排在前预设数值位的至少一条下载链路;

将所述至少一条下载链路作为所述第一下载链路,以及将所述第一下载链路包括的各条下载链路和所述第二下载链路包括的各条下载链路中除所述至少一条下载链路之外的下载链路作为所述第二下载链路。

可选的,所述处理器601,还用于将所述第二下载链路包括的各条下载链路中下载速度小于配置的最小下载速度的下载链路剔除。

可选的,所述处理器601,具体用于:

利用第二下载链路从对应的资源服务器处下载所述错误视频数据;

在所述错误视频数据下载完毕后,通过所述网络接口603利用所述第二下载链路从对应的资源服务器处下载所述默认视频数据。

可选的,所述处理器601,还用于在新增下载链路时,判断所述第一下载链路包括的下载链路的数量、所述第二下载链路包括的下载链路的数量与新增的下载链路的数量之和是否小于或等于下载链路数量阈值;

所述处理器601,还用于若是,则建立新的下载链路。

可选的,所述处理器601,还用于检测所述第一下载链路包括的各条下载链路的下载速度、所述第二下载链路包括的各条下载链路的下载速度和所述新的下载链路的下载速度;

所述处理器601,还用于根据所述第一下载链路包括的各条下载链路的下载速度、所述第二下载链路包括的各条下载链路的下载速度和所述新的下载链路的下载速度,调整所述第一下载链路包括的下载链路和所述第二下载链路包括的下载链路。

可选的,所述处理器601,还用于获取当前的下载链路中下载速度最快的目标下载链路;

所述处理器601,还用于根据所述目标下载链路的带宽和配置的最小下载速度确定下载链路数量阈值。

具体实现中,本发明实施例中所描述的处理器601、用户接口602、网络接口603及存储器604可执行本发明实施例图2或图3提供的视频数据缓存方法中所描述的实现方式,也可执行本发明实施例图5提供的视频数据缓存装置中所描述的实现方式,在此不再赘述。

本发明实施例中,处理器601在通过用户接口602下载视频的过程中,查询紧急下载队列,如果紧急下载队列中存在待下载的紧急视频数据,则通过网络接口603利用第一下载链路从对应的资源服务器处下载紧急视频数据,处理器601查询常规下载队列,获取常规下载队列中待下载的错误视频数据和默认视频数据,然后通过网络接口603利用第二下载链路从对应的资源服务器处下载错误视频数据和默认视频数据,第一下载链路的下载速度大于第二下载链路的下载速度,从而可以在缓存视频时充分利用网络带宽,并有效避免下载链路之间的相互竞争,保证了良好的视频缓存体验。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1