一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频数据下载方法、装置、电子设备及存储介质与流程

2022-06-25 09:08:49 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,特别是涉及一种视频数据下载方法、装置、电子设备及存储介质。


背景技术:

2.随着互联网技术的发展,越来越多的用户通过网络视频点播的方式来观看视频。目前,主要使用内容分发网络(content delivery network,cdn)或对等(peer to peer,p2p)网络下载视频数据,其中,cdn传输可靠性高,但流量成本较高;p2p网络流量成本低,但传输可靠性较低,而传输可靠性低有可能造成视频播放不连贯。因此,亟需提供一种可以同时有效控制流量成本和保证视频数据质量的视频数据的下载方法。


技术实现要素:

3.本发明实施例提供了一种视频数据下载方法、装置、电子设备及存储介质,以解决现有技术中在下载视频数据时无法在控制流量的同时保证视频质量的问题。
4.在本发明实施例的第一方面,提供了一种视频数据下载方法,包括:
5.在获取到针对目标视频数据的第一点播请求时,通过内容分发网络cdn下载所述目标视频数据中位于第一下载进度之前的第一子视频数据;
6.通过第一对等p2p网络下载所述目标视频数据中位于所述第一下载进度和第二下载进度之间的第二子视频数据,其中,所述第二下载进度大于所述第一下载进度;
7.获取所述目标视频数据对应的缓存时长,其中,所述缓存时长基于当前下载进度与当前播放进度确定;
8.根据所述缓存时长,确定第一目标网络,并通过所述第一目标网络下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据,其中,所述第一目标网络包括以下至少一项:第一p2p网络、第二p2p网络和所述cdn,其中,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率。
9.在本发明实施例的第二方面,还提供了一种视频数据下载装置,包括:
10.第一下载模块,用于在获取到针对目标视频数据的第一点播请求时,通过内容分发网络cdn下载所述目标视频数据中位于第一下载进度之前的第一子视频数据;
11.第二下载模块,用于通过第一对等p2p网络下载所述目标视频数据中位于所述第一下载进度和第二下载进度之间的第二子视频数据,其中,所述第二下载进度大于所述第一下载进度;
12.第一获取模块,用于获取所述目标视频数据对应的缓存时长,其中,所述缓存时长基于当前下载进度与当前播放进度确定;
13.第一确定模块,用于根据所述缓存时长,确定第一目标网络,并通过所述第一目标网络下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据,其中,所述第一目标网络包括以下至少一项:第一p2p网络、第二p2p网络和所述cdn,其中,所述第一
p2p网络的下载效率大于所述第二p2p网络的下载效率。
14.在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
15.存储器,用于存放计算机程序;
16.处理器,用于执行存储器上所存放的程序时,实现上述的视频数据下载方法。
17.在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的视频数据下载方法。
18.在本发明实施的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的视频数据下载方法。
19.本发明实施例至少包括以下技术效果:
20.本发明技术方案,在获取到针对目标视频数据的第一点播请求时,通过cdn下载第一下载进度之前的第一子视频数据,在完成第一子视频数据的下载之后,切换网络,通过第一p2p网络下载位于第一下载进度和第二下载进度之间的第二子视频数据,在完成第二子视频数据的下载之后,基于缓存时长确定第一目标网络,通过第一目标网络下载第三子视频数据,可以实现在下载过程中进行网络切换,通过下载效率较高的cdn和第一p2p网络下载目标视频数据的第二下载进度之前的视频数据,可以防止视频在播放初期由于缓存时长不充足发生卡顿,保证了视频的播放质量,之后在缓存时长充足时通过下载效率较低但流量成本较低的第二p2p网络下载目标视频数据的第二下载进度之后的视频数据,从而可以在保证视频播放质量的同时控制视频下载的流量成本。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
22.图1为本发明实施例提供的视频数据下载方法的网络架构的结构示意图;
23.图2本本发明实施例提供的视频数据下载方法的流程示意图之一;
24.图3为本发明实施例提供的视频数据下载方法的流程示意图之二;
25.图4为本发明实施例提供的视频数据下载装置的结构示意图;
26.图5为本发明实施例提供的电子设备的框图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
29.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
30.为了方便描述本发明实施例所提供的视频数据下载方法,首先介绍可以应用本发明实施例所提供的视频数据下载方法的系统架构,如图1所示,该系统架构,包括:终端、cdn服务器和p2p网络服务器。其中,终端可以包括播放器及本地代理服务模块,播放器用于播放视频数据,本地代理服务模块分别与cdn服务器和p2p网络服务器通信连接,播放器与本地代理服务模块之间可以进行数据交互。在本发明实施例中,所述cdn服务器对应的cdn包括多个cdn节点,所述p2p网络服务器对应的p2p网络包括多个属于第一p2p网络的第一p2p网络节点和多个属于第二p2p网络的第二p2p网络节点,其中,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率,具体的,p2p网络的下载效率是基于该p2p网络下载数据过程中的连通率、丢包率以及下载速度进行综合评估确定的数值。在下载视频数据时,可以根据用户情况和网络情况确定视频数据下载效率需求,并根据视频数据下载效率需求将视频数据中待下载的视频数据进行分块,然后根据视频数据下载效率需求确定每一视频分块对应的下载节点。
31.在用户进行网络视频点播时,可以通过终端发出针对视频数据的点播请求,其中,所述终端可以是电视、电脑、手机等电子设备,在此不做具体限定。
32.具体的,在所述终端上可以预先设置有用户接口,该用户接口用于获取用户的点播操作。当用户通过该用户接口触发针对视频数据的点播请求时,终端的本地代理服务模块可获取到该点播请求。此时,终端的本地代理服务模块可以根据所述点播请求向cdn服务器或p2p网络服务器发送下载请求,cdn服务器或p2p网络服务器在接收到所述下载请求后,根据所述下载请求确定所需下载的视频数据,并进行下载,下载完成后返回已下载的视频数据至所述终端,供所述终端的播放器进行播放。具体的,在下载视频数据过程中,当需要从cdn服务器切换为p2p网络服务器时,终端可以基于切换触发条件,断开与cdn服务器的连接,并与p2p网络服务器进行连接,从而实现从cdn下载方式到p2p下载方式的切换。
33.本发明实施例提供一种视频数据下载方法,如图2所示,该方法可以包括:
34.步骤201,在获取到针对目标视频数据的第一点播请求时,通过内容分发网络cdn下载所述目标视频数据中位于第一下载进度之前的第一子视频数据。
35.在用户通过终端对所述目标视频数据进行点播时,终端会获取到第一点播请求,所述第一点播请求中携带有标识信息,所述标识信息与所述目标视频数据关联。终端根据所述第一点播请求中携带的标识信息,可以确定用户点播的目标视频数据。此时,终端需要首先判断所述目标视频数据是否为已缓存视频数据,若是,则直接播放所述目标视频数据,否则需要下载所述目标视频数据。在本发明实施例中,所述目标视频数据是指未缓存到所述终端的视频数据。因此,在所述终端获取到针对目标视频数据的第一点播请求后,需要通过网络下载所述目标视频数据。
36.本发明实施例中,由于所述终端未缓存所述目标视频数据,为了保证用户在点播后立即观看的视频的播放质量,针对所述目标视频数据中位于第一下载进度之前的第一子视频数据,通过cdn和p2p网络中下载效率较高的cdn进行下载。根据所述第一下载进度和所述目标视频数据的总时长,可以确定所述第一子视频数据的时长,优选地,该时长可以为10
秒。
37.步骤202,通过第一对等p2p网络下载所述目标视频数据中位于所述第一下载进度和第二下载进度之间的第二子视频数据,其中,所述第二下载进度大于所述第一下载进度。
38.在通过cdn下载了所述目标视频数据中位于第一下载进度之前的第一子视频数据后,终端上已经缓存了所述目标视频数据中位于第一下载进度之前的视频数据,可以满足用户的播放需求,为了控制流量成本,可以通过流量成本比cdn低的第一p2p网络继续下载,具体为下载目标视频数据中位于第一下载进度和第二下载进度之间的第二子视频数据。根据所述第一下载进度、所述第二下载进度和所述目标视频数据的总时长,可以确定所述第二子视频数据的时长,优选地,该时长可以为10秒。
39.步骤203,获取所述目标视频数据对应的缓存时长,其中,所述缓存时长基于当前下载进度与当前播放进度确定。
40.在通过cdn下载了所述目标视频数据中位于第一下载进度之前的第一子视频数据,通过第一p2p网络下载了所述目标视频数据中位于第一下载进度和第二下载进度之间的第二子视频数据之后,所述终端上已经缓存了所述目标视频数据中位于第二下载进度之前的视频数据。此时,针对所述目标视频数据中位于第二下载进度之后的视频数据,采用的下载网络可以依据缓存的视频数据是否充足进行确定,因此需要获取所述目标视频数据对应的缓存时长。其中,所述缓存时长可以基于当前下载进度与当前播放进度确定,具体为所述当前下载进度和当前播放进度的差值所对应的时长,例如,当前播放进度为10%,当前下载进度为30%,目标视频数据的总时长为10分钟,那么此时所述缓存时长为2分钟。
41.步骤204,根据所述缓存时长,确定第一目标网络,并通过所述第一目标网络下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据,其中,所述第一目标网络包括以下至少一项:第一p2p网络、第二p2p网络和所述cdn,其中,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率。
42.本发明实施例中,根据所述缓存时长,确定第一目标网络,可以是根据所述缓存时长与预设时间阈值进行比较,判断当前的缓存数据是否充足,进而确定用于下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据的第一目标网络。其中,所述终端分别与cdn服务器和p2p网络服务器通信连接,根据下载效率,p2p网络分为第一p2p网络和第二p2p网络。此时,终端可以根据缓存时长,从三种网络(第一p2p网络、第二p2p网络和cdn)中选择至少一种作为第一目标网络。这三种网络的下载效率大小关系为:所述cdn的下载效率大于所述第一p2p网络的下载效率,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率,具体的,网络的下载效率是基于通过该网络下载数据过程中的连通率、丢包率以及下载速度进行综合评估确定的数值。其中,所述p2p网络(第一p2p网络和第二p2p网络)的流量成本低于所述cdn的流量成本。
43.本发明上述实施过程,在获取到第一点播请求时,通过cdn下载第一下载进度之前的第一子视频数据,在完成第一子视频数据的下载之后,切换网络,通过第一p2p网络下载位于第一下载进度和第二下载进度之间的第二子视频数据,在完成第二子视频数据的下载之后,基于缓存时长确定第一目标网络,通过第一目标网络下载第三子视频数据,可以实现在下载过程中进行网络切换,通过下载效率较高的cdn和第一p2p网络下载目标视频数据的第二下载进度之前的视频数据,可以防止视频在播放初期由于缓存时长不充足发生卡顿,
保证了视频的播放质量,之后在缓存时长充足时通过下载效率较慢但流量成本较低的第二p2p网络下载目标视频数据的第二下载进度之后的视频数据,从而可以在保证视频播放质量的同时控制视频下载的流量成本。
44.在本发明一可选实施例中,所述方法还包括:
45.根据所述第一p2p网络对应的下载速度、连通率和丢包率中的至少一项确定所述第一p2p网络的下载效率;
46.根据所述第二p2p网络对应的下载速度、连通率和丢包率中的至少一项确定所述第二p2p网络的下载效率。
47.具体的,网络的下载效率是基于该网络下载数据过程中的连通率、丢包率以及下载速度进行综合评估确定的数值,可以分别针对连通率、丢包率和下载速度设置对应的权重系数,然后对连通率、丢包率和下载速度进行加权平均确定下载效率。
48.本发明上述实施过程,通过网络对应的下载速度、连通率和丢包率中的至少一项确定网络对应的下载效率,使得该下载效率可以表征网络的下载速度、连通率和丢包率,可以多维度的表征网络的特性,从而能够在选择下载网络的过程中,基于该下载速率选择出综合性能较稳定的网络。
49.在本发明一可选实施例中,所述根据所述缓存时长,确定第一目标网络,包括:
50.在所述缓存时长小于第一预设时长,且大于第二预设时长时,将所述第一p2p网络作为所述第一目标网络;
51.在所述缓存时长大于或等于所述第一预设时长时,将所述第二p2p网络作为所述第一目标网络;
52.在所述缓存时长小于或等于第二预设时长时,将所述cdn作为所述第一目标网络。
53.本发明实施例中,用户在点播所述目标视频数据后,终端开始下载所述目标视频数据。通常情况下,需要下载进度大于播放进度,终端上缓存有用户未观看的视频数据,才能够保证用户观看视频的流畅性,防止在播放过程中视频发生卡顿,因此,可以根据缓存时长确定当前缓存是否充足,进而确定用于下载所述第三子视频数据的第一目标网络。
54.具体的,可以通过缓存时长与第一预设时长和第二预设时长的比较结果,判断所述目标视频数据的缓存数据是否充足,以及缓存数据是否严重不足,其中,所述第一预设时长和所述第二预设时长可以根据多次播放测试确定,本发明不做具体限定。通过将缓存时长与第一预设时长和第二时长进行比较,存在以下三种情况。
55.第一种情况,在所述缓存时长大于或等于所述第一预设时长时,可以认为当前缓存的视频数据充足,用户在观看视频过程中不会出现视频卡顿的情况,视频播放质量已满足用户的正常观看要求,此时,可以暂时采用流量成本较低的网络下载所述第三子视频数据的剩余的预下载视频数据。在三种网络中所述第二p2p网络的下载效率虽然小于所述第一p2p网络和cdn的下载效率,但是所述第二p2p网络的流量成本最低,因此,可以确定所述第一目标网络为所述第二p2p网络,并通过所述第二p2p网络下载所述第三子视频数据的剩余的预下载视频数据。
56.第二种情况,在所述缓存时长小于所述第一预设时长,且大于第二预设时长时,可以认为当前缓存的视频数据不充足,没有达到严重不足的情况,此时,首先考虑的是要保证视频播放质量,防止用户在观看视频过程中视频播放发生卡顿,需要采用下载效率相对较
高的网络下载第三子视频数据,在三种网络中所述第一p2p网络的下载效率大于所述第一p2p网络的下载效率,因此,可以确定所述第一目标网络为所述第一p2p网络,并通过所述第一p2p网络下载所述第三子视频数据的剩余的至少部分预下载视频数据。也就是说,当前缓存的视频数据不充足时,可以仅切换部分预下载视频数据的下载网络,而另一部分预下载视频数据的下载网络则继续保持之前的下载网络,不进行调整,具体需要进行切换网络的部分的大小可以根据当前的缓存时长确定。
57.第三种情况,在所述缓存时长小于或等于所述第二预设时长时,可以认为当前缓存的视频数据严重不足,此时,首先考虑的是要保证视频播放质量,防止用户在观看视频过程中视频播放发生卡顿,需要采用下载效率相对较高的网络下载第三子视频数据,在三种网络中所述cdn的下载效率最高,因此,可以确定所述第一目标网络为所述cdn,并通过所述cdn下载所述第三子视频数据的剩余的至少部分预下载视频数据。也就是说,当前缓存的视频数据严重不足时,可以仅切换部分预下载视频数据的下载网络,而另一部分预下载视频数据的下载网络则继续保持之前的下载网络,不进行调整,具体需要进行切换网络的部分的大小可以根据当前的缓存时长确定。
58.本发明上述实施过程,在通过所述第一目标网络下载所述第三子视频数据的过程中,持续监测所述缓存时长,并根据缓存时长与第一预设时长和第二预设时长的关系,分为三种情况,并针对每一种情况确定了对应的第一目标网络下载所述第三子视频数据剩余的预下载视频数据,可以确保终端采用的下载网络在满足视频播放质量的前提下可以有效控制流量成本。
59.在本发明一可选实施例中,在通过所述第一目标网络下载所述第三子视频数据的过程中,所述方法还包括:
60.持续监测所述缓存时长;
61.根据所述缓存时长,重新确定所述第一目标网络,并通过重新确定的所述第一目标网络下载所述第三子视频数据中剩余的至少部分预下载视频数据。
62.需要说明的是,在上一实施例中,针对第三子视频数据,根据缓存时长确定了用于下载所述第三子视频数据的第一目标网络,在所述缓存时长小于第一预设时长时,所述第一目标网络为所述第一p2p网络或所述cdn;在所述缓存时长大于或等于所述第一预设时长时,所述第一目标网络为所述第二p2p网络。那么,在通过第一目标网络下载所述第三子视频数据的过程中,所述缓存时长会随着当前下载进度和当前播放进度的改变而改变,那么,如果此时继续按照上一实施例确定的第一目标网络下载所述第三子视频数据剩余的预下载视频,则可能出现视频不连贯或者流量成本较高的问题。因此,在通过所述第一目标网络下载所述第三子视频数据的过程中,需要持续监测缓存时长,并根据缓存时长重新确定所述第一目标网络,并通过重新确定的所述第一目标网络下载所述第三子视频数据中剩余的至少部分预下载视频数据。也就是说,在下载所述第三子视频数据时,终端不会采用某种固定的网络进行下载,而是根据缓存时长实时切换下载网络。
63.本发明上述实施过程,在通过所述第一目标网络下载所述第三子视频数据的过程中,持续监测所述缓存时长,并根据缓存时长与第一预设时长和第二预设时长的关系,分为三种情况,并针对每一种情况确定了对应的第一目标网络下载所述第三子视频数据剩余的预下载视频数据,可以确保终端采用的下载网络在满足视频播放质量的前提下可以有效控
制流量成本。
64.在本发明一可选实施例中,在获取到针对目标视频数据的第一点播请求之后,所述方法还包括:
65.向p2p网络服务器发送p2p节点请求;
66.接收所述p2p网络服务器根据所述p2p节点请求反馈的至少一个第一p2p节点和至少一个第二p2p节点;
67.其中,所述至少一个第一p2p节点属于所述第一p2p网络,所述至少一个第二p2p节点属于所述第二p2p网络。
68.本发明实施例中,终端在获取到针对目标视频数据的第一点播请求后,立即通过cdn下载目标视频数据中位于第一下载进度之前的第一子视频数据,由于所述cdn的下载效率相较于p2p网络更高,所以可以满足用户所要观看的目标视频数据的开播视频的播放质量。在通过cdn下载第一子视频数据同时,终端向p2p网络服务器发送p2p节点请求,网络服务器在接收到所述p2p节点请求之后,会向所述终端反馈至少一个第一p2p节点和至少一个第二p2p节点。其中,所述至少一个第一p2p节点属于所述第一p2p网络,所述至少一个第二p2p节点属于所述第二p2p网络。第一p2p网络的下载效率大于第二p2p网络的下载效率。
69.需要说明的是,在向p2p网络服务器请求第一p2p节点后,需要与所述第一p2p节点建立通信连接,若在预设时间内未成功建立连接,则将未成功建立连接的第一p2p节点进行标记。对于成功建立连接的第一p2p节点,需要检测其下载效率,并将下载效率小于预设效率阈值的第一p2p节点进行标记。对于标记后的第一p2p节点,在进行视频数据下载时不通过其进行下载。
70.本发明上述实施过程,通过向p2p服务器请求第一p2p节点和第二p2p节点,从而可以获取两种下载效率不同的p2p网络,即第一p2p网络和第二p2p网络,从而可以在下载所述目标视频数据对应的缓存时长不足时,为了降低流量成本,优先采用第一p2p网络,从而可以实现在保证视频播放质量的前提下降低流量成本的目的。
71.在本发明一可选实施例中,在通过所述第一p2p网络下载所述目标视频数据的情况下,所述方法还包括:
72.针对所述至少一个第一p2p节点中的每一个,在通过所述第一p2p节点下载视频数据时,获取与所述第一p2p节点对应的第一p2p网络的第一下载效率;
73.在所述第一下载效率小于第一预设效率阈值时,切换成通过所述cdn下载所述第一p2p节点对应的剩余预下载视频数据。
74.需要说明的是,在通过所述第一p2p网络下载所述目标视频数据的情况下,具体的,可以是通过第一p2p网络下载第二子视频数据,也可以是通过第一p2p网络下载第三子视频数据时,可能存在较长时间未能成功下载的情况发生,也就是存在至少一个第一p2p节点在下载视频数据时,对应的第一下载效率小于第一预设效率阈值,此时,为了保证通过该第一p2p节点下载的视频数据的成功下载,需要将通过该第一p2p节点下载的视频数据对应的下载网络切换为所述cdn。同时,对该第一p2p节点进行标记,在下载剩余的预下载视频数据时,不再使用被标记的第一p2p节点。
75.本发明上述实施过程,通过对每个第一p2p节点下载视频的第一下载效率进行监测,可以及时发现下载效率低于第一预设效率阈值的第一p2p节点,并将所述第一p2p节点
对应的剩余预下载视频数据对应的下载网络切换为所述cdn,从而可以防止由于第一p2p节点出现故障导致的视频播放质量的下降。
76.在本发明一可选实施例中,在通过所述第二p2p网络下载所述目标视频数据的情况下,所述方法还包括:
77.针对所述至少一个第二p2p节点中的每一个,在通过所述第二p2p节点下载视频数据时,获取与所述第二p2p节点对应的第二p2p网络的第二下载效率;
78.在所述第二下载效率小于第二预设效率阈值时,切换成通过所述第一p2p网络下载所述第二p2p节点对应的剩余预下载视频数据。
79.需要说明的是,在通过所述第二p2p网络下载所述目标视频数据的情况下,具体的,是通过第二p2p网络下载第三子视频数据时,可能存在较长时间未能成功下载的情况发生,也就是存在至少一个第二p2p节点在下载视频数据时,对应的第二下载效率小于第二预设效率阈值,此时,为了保证通过该第二p2p节点下载的视频数据的成功下载,需要将使用该第二p2p节点下载的视频数据对应的下载网络切换为所述第一p2p网络。同时,对该第二p2p节点进行标记,在下载剩余的预下载视频数据时,不再使用被标记的第二p2p节点。
80.本发明上述实施过程,通过对每个第二p2p节点下载视频的第一下载效率进行监测,可以及时发现下载效率低于第一预设效率阈值的第二p2p节点,并将所述第二p2p节点对应的剩余预下载视频数据对应的下载网络切换为所述第一p2p网络,从而可以防止由于第二p2p节点出现故障导致的视频播放质量的下降。
81.在本发明一可选实施例中,所述方法还包括:
82.接收第二点播请求,所述第二点播请求用于指示修改所述目标视频数据的播放进度为目标播放进度,其中,所述目标播放进度大于当前下载进度;
83.响应于所述第二点播请求,确定第二目标网络,并通过所述第二目标网络下载所述目标视频数据中位于所述目标播放进度之后的第四子视频数据;
84.其中,所述第二目标网络包括以下至少一项:所述第一p2p网络、所述第二p2p网络和所述cdn。
85.本发明实施例中,终端在获取到针对目标视频数据的第一点播请求时,对所述目标视频数据进行下载。在用户侧,在触发所述第一点播请求后,开始观看所述目标视频数据,此时,只要所述目标视频数据的当前下载进度大于当前播放进行,则可以保证用户观看视频的流畅性。
86.在观看过程中,用户可以通过拖动进度条的方式修改播放进度至目标播放进度,若目标播放进度位于当前下载进度之前,终端则按照上述实施例中的下载方法下载当前下载进度之后的视频数据;若目标播放进度位于当前下载进度之后,由于终端上此时还没有缓存当前下载进度之后的视频数据,因此,为了保证用户观看视频的流流畅性,保证视频播放质量,需要向终端发送第二点播请求,所述第二点播请求用于指示修改所述目标视频数据的播放进度为目标播放进度,所述目标播放进度大于当前下载进度;终端响应于所述第二点播请求,确定第二目标网络,并通过所述第二目标网络下载所述目标视频数据中位于所述目标播放进度之后的第四子视频数据;其中,所述第二目标网络包括以下至少一项:所述第一p2p网络、所述第二p2p网络和所述cdn。
87.需要说明的是,针对终端接收到第二点播请求的情况,相当于接收到针对另一个
目标视频数据对应的第一点播请求,此时,所述第四子视频数据对应于所述第一点播请求中的目标视频数据。那么在确定用于下载所述第四子视频数据的第二目标网络时,可以依据上述实施例中下载目标视频数数据的第一目标网络的确定方法进行确定。
88.本发明上述实施过程,针对用户修改所述目标视频数据的播放进度为目标播放进度,且目标播放进度大于当前下载进度的情况,为了保证视频播放质量,则需要取消当前下载进度之后的数据视频的下载,并对目标播放进度之后的视频数据进行下载,并确定对应的第二目标网络。
89.下面通过一具体实例对本发明实施例提供的视频数据下载方法的实施流程进行介绍,参见图3所示,包括:
90.步骤301,接收针对目标视频数据的第一点播请求。
91.步骤302,通过cdn下载第一子视频数据,向p2p网络服务器发送节点请求信息,以接收p2p网络服务器反馈的节点信息,所述节点信息包括第一p2p节点和第二p2p节点所对应的标识信息。其中,所述第一子视频数据为所述目标视频数据中位于第一下载进度之前的视频数据。
92.步骤303,通过第一p2p网络下载第二子视频数据。其中,所述第二子视频数据为所述目标视频数据中位于所述第一下载进度和第二下载进度之间的视频数据。
93.步骤304,判断缓存时长是否大于第一预设时长。其中,所述缓存时长基于当前下载进度与当前播放进度确定。若是,执行步骤305,否则执行步骤306。
94.步骤305,通过第二p2p网络下载所述第三子视频数据。所述第三子视频数据为所述目标视频数据中位于所述第二下载进度之后的视频数据。在执行步骤305之后,执行步骤307。
95.步骤306,通过第一p2p网络或cdn下载所述第三子视频数据。在执行步骤306之后,执行步骤307。
96.步骤307,持续监测缓存时长,重新确定第一目标网络。通过重新确定的第一目标网络下载所述第三子视频数据中剩余的至少部分预下载视频数据。在通过第一p2p网络或cdn开始下载所述第三子视频数据时,则会周期性的对缓存时长进行持续监测,以基于缓存时长,重新确定第一目标网络。在执行步骤307之后,根据所述缓存时长,执行步骤308或步骤309或步骤310。
97.步骤308,缓存时长大于或等于第一预设时长,确定第一目标网络为所述第二p2p网络。
98.步骤309,缓存时长小于第一预设时长,且大于第二预设时长,确定第一目标网络为所述第一p2p网络。其中,所述第一预设时长大于所述第二预设时长。
99.步骤310,缓存时长小于或等于第二预设时长,确定第一目标网络为所述cdn。
100.上述实施过程,终端在接收针对目标视频数据的第一点播请求后,通过cdn下载第一子视频数据,切换网络,通过p2p网络中下载效率更高的第一p2p网络下载第二子视频数据,通过cdn、第一p2p网络和第二p2p网络中的至少一项下载第三子视频数据,同时在下载第三子视频数据的过程中持续监测缓存时长,并根据缓存时长决定下载所述第三子视频数据的剩余视频数据的下载网络,可以实现对下载目标视频数据的网络进行选择,可以防止视频在播放初期由于缓存时长不充足发生卡顿,保证了视频的播放质量,之后在缓存时长
充足时通过下载效率较慢但流量成本较低的第二p2p网络下载目标视频数据的第二下载进度之后的视频数据,从而可以在保证视频播放质量的同时控制视频下载的流量成本。
101.本发明实施例还提供一种视频数据下载装置,如图4所示,该装置包括:
102.第一下载模块401,用于在获取到针对目标视频数据的第一点播请求时,通过内容分发网络cdn下载所述目标视频数据中位于第一下载进度之前的第一子视频数据;
103.第二下载模块402,用于通过第一对等p2p网络下载所述目标视频数据中位于所述第一下载进度和第二下载进度之间的第二子视频数据,其中,所述第二下载进度大于所述第一下载进度;
104.第一获取模块403,用于获取所述目标视频数据对应的缓存时长,其中,所述缓存时长基于当前下载进度与当前播放进度确定;
105.第一确定模块404,用于根据所述缓存时长,确定第一目标网络,并通过所述第一目标网络下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据,其中,所述第一目标网络包括以下至少一项:第一p2p网络、第二p2p网络和所述cdn,其中,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率。
106.本发明的实施例中,在获取到针对目标视频数据的第一点播请求时,通过cdn下载第一下载进度之前的第一子视频数据,在完成第一子视频数据的下载之后,切换网络,通过第一p2p网络下载位于第一下载进度和第二下载进度之间的第二子视频数据,在完成第二子视频数据的下载之后,基于缓存时长确定第一目标网络,通过第一目标网络下载第三子视频数据,可以实现在下载过程中进行网络切换,通过下载效率较高的cdn和第一p2p网络下载目标视频数据的第二下载进度之前的视频数据,可以防止视频在播放初期由于缓存时长不充足发生卡顿,保证了视频的播放质量,之后在缓存时长充足时通过下载效率较低但流量成本较低的第二p2p网络下载目标视频数据的第二下载进度之后的视频数据,从而可以在保证视频播放质量的同时控制视频下载的流量成本。
107.可选的,所述装置还包括:
108.第二确定模块,用于根据所述第一p2p网络对应的下载速度、连通率和丢包率中的至少一项确定所述第一p2p网络的下载效率;
109.第三确定模块,用于根据所述第二p2p网络对应的下载速度、连通率和丢包率中的至少一项确定所述第二p2p网络的下载效率。
110.可选的,所述第一确定模块,包括:
111.第一确定子模块,用于在所述缓存时长小于第一预设时长,且大于第二预设时长时,将所述第一p2p网络作为所述第一目标网络;
112.第二确定子模块,用于在所述缓存时长大于或等于所述第一预设时长时,将所述第二p2p网络作为所述第一目标网络;
113.第三确定子模块,用于在所述缓存时长小于或等于第二预设时长时,将所述cdn作为所述第一目标网络。
114.可选的,在通过所述第一目标网络下载所述第三子视频数据的过程中,所述装置还包括:
115.监测模块,用于持续监测所述缓存时长;
116.第四确定模块,用于根据所述缓存时长,重新确定所述第一目标网络,并通过重新
确定的所述第一目标网络下载所述第三子视频数据中剩余的至少部分预下载视频数据。
117.可选的,所述装置还包括:
118.发送模块,用于向p2p网络服务器发送p2p节点请求;
119.第一接收模块,用于接收所述p2p网络服务器根据所述p2p节点请求反馈的至少一个第一p2p节点和至少一个第二p2p节点;
120.其中,所述至少一个第一p2p节点属于所述第一p2p网络,所述至少一个第二p2p节点属于所述第二p2p网络。
121.可选的,在通过所述第一p2p网络下载所述目标视频数据的情况下,所述装置还包括:
122.第二获取模块,用于针对所述至少一个第一p2p节点中的每一个,在通过所述第一p2p节点下载视频数据时,获取所述第一p2p节点归属的第一p2p网络的第一下载效率;
123.第一调整模块,用于在所述第一下载效率小于第一预设效率阈值时,切换成通过所述cdn下载所述第一p2p节点对应的剩余预下载视频数据。
124.可选的,在通过所述第二p2p网络下载所述目标视频数据的情况下,所述装置还包括:
125.第三获取模块,用于针对所述至少一个第二p2p节点中的每一个,在通过所述第二p2p节点下载视频数据时,获取所述第二p2p节点归属的第二p2p网络的第二下载效率;
126.第二调整模块,用于在所述第二下载效率小于第二预设效率阈值时,切换成通过所述第一p2p网络下载所述第二p2p节点对应的剩余预下载视频数据。
127.可选的,所述装置还包括:
128.第二接收模块,用于接收第二点播请求,所述第二点播请求用于指示修改所述目标视频数据的播放进度为目标播放进度,其中,所述目标播放进度大于当前下载进度;
129.第五确定模块,用于响应于所述第二点播请求,确定第二目标网络,并通过所述第二目标网络下载所述目标视频数据中位于所述目标播放进度之后的第四子视频数据;
130.其中,所述第二目标网络包括以下至少一项:所述第一p2p网络、所述第二p2p网络和所述cdn。
131.需要说明的是,该视频数据下载装置实施例是与上述视频数据下载方法相对应的装置,上述方法实施例的所有实现方式均适用于该装置实施例中,也能达到与其相同的技术效果,在此不再赘述。
132.本发明实施例还提供了一种电子设备,如图5所示,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,存储器53,用于存放计算机程序;所述处理器51,用于执行存储器53上所存放的程序。其中,处理器51用于实现如下步骤:在获取到针对目标视频数据的第一点播请求时,通过内容分发网络cdn下载所述目标视频数据中位于第一下载进度之前的第一子视频数据;通过第一对等p2p网络下载所述目标视频数据中位于所述第一下载进度和第二下载进度之间的第二子视频数据,其中,所述第二下载进度大于所述第一下载进度;获取所述目标视频数据对应的缓存时长,其中,所述缓存时长基于当前下载进度与当前播放进度确定;根据所述缓存时长,确定第一目标网络,并通过所述第一目标网络下载所述目标视频数据中位于所述第二下载进度之后的第三子视频数据,其中,所述第一目标网络包括以下至少一项:第
一p2p网络、第二p2p网络和所述cdn,其中,所述第一p2p网络的下载效率大于所述第二p2p网络的下载效率。处理器51还可以实现视频数据下载方法的其他实施过程,这里不再进一步阐述。
133.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
134.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
135.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
136.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频数据下载方法。
137.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频数据下载方法。
138.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
139.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
140.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
141.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献