一种基于内容分发网络的视频下载方法与流程

文档序号:11215893阅读:384来源:国知局
一种基于内容分发网络的视频下载方法与流程

本发明属于视频下载领域,特别涉及一种基于内容分发网络的视频下载方法。



背景技术:

内容分发网络(contentdeliverynetwork,cdn)技术是一种将内容从中心服务器分发到靠近用户的客户端,从而实现内容的分布式就近访问的方法。cdn技术有效地提高了内容访问的服务质量,并支持大规模的并发访问能力。

然而,现有的cdn网络在单独构建内容承载网络时存在一定的问题,例如现在的cdn在进行内容下载时,统一向cdn数据源服务器下载数据,由于从数据源服务器下载的数量比较多,无法保证下载的效率。进而造成cdn数据源服务器负担过重,带宽压力较大以及cdn节点扩展性差。为了解决上述技术问题,cn105872764公开了一种基于p2p网络的数据下载方法了。p2p技术具有消除服务器瓶颈和平衡流量分布等优点,所以现有技术将各内容节点均执行对等网络p2p协议,解决了现有视频下载和分发过于依赖cdn数据源服务器、造成可扩展性差、cdn数据源服务器负担过重的问题,但是该技术随之带来了另一问题,就是对等网络p2p协议也是需要带宽的,当每个子节点均执行对等网络p2p协议时,也会给数据源服务器的带宽带来较大的压力,并且有的子节点由于受到网速等原因的现在,应用的时候比较少,将其也执行对等网络p2p协议,浪费带宽资源,并且有的子节点间没有必要建立对等网络,因为其可能不存在请求节点需要的视频片段。



技术实现要素:

为了解决现有技术中存在的问题,本发明提供一种基于内容分发网络的视频下载方法,该方法保证数据源服务器具有冗余的带宽,缓解数据源服务器的带宽压力,提高视频下载的效率。

本发明具体技术方案如下:

本发明提供一种基于内容分发网络的视频下载方法,该内容分发网络包括数据源服务器、与数据源服务器相连的若干请求节点和内容节点,每一请求节点和内容节点均有唯一的ip地址;该方法包括如下步骤:

s1:请求节点发出请求下载视频片段的请求报文,该请求报文内包括请求节点的ip地址、视频名称和请求观看起止时间;

s2:判断各内容节点内是否有与请求观看起止时间重叠的视频片段,如果有,进行步骤s3,如果没有,进行步骤s4;

s3:将判断出的内容节点中各视频片段的起止时间做不同的集合处理,并将内容节点内的视频片段进行比对处理向请求节点发送内容节点的ip地址和对等体网络p2p协议文件;

s4:根据请求视频片段的时长大小,对视频片段进行分割,并结合请求节点的带宽,判断向请求节点发送的视频流文件。

进一步的改进,步骤s3包括:

s31:将各视频片段对应的起止时间与请求观看起止时间分别做交集处理,获得多个一级时间段交集;

s32:判断各一级时间段交集的起止时间是否有连续的,如果有,进行步骤s33;

s33:将连续的时间段交集的起止时间做并集处理,获得时间段并集;

s34:将时间段并集与其余时间段交集再做交集处理,获得二级时间段交集;

s35:判断二级时间段交集是否为空,如果不为空,进行步骤s36,如果为空,将时间段并集对应的各内容节点,进行步骤s37;

s36:分别计算时间段并集及与其有交集的一级时间段交集对应的内容节点内的视频时长,挑选出视频时长最长的视频片段对应的内容节点,进行步骤s37;

s37:将内容节点内的视频片段进行比对处理,并将请求节点与内容节点间建立对等体网络p2p协议。

进一步的改进,步骤s3还包括:

s38:当步骤s32判断一级时间段交集的起止时间段没有连续时,将各一级时间段交集再进行交集处理,获得三级时间段交集;

s39:判断三级时间段交集是否为空,如果为空,将与请求观看起止时间有交集的视频片段对应的内容节点,进行步骤s37,如果不为空,进行步骤s310;

s310:分别计算各一级时间段交集对应的内容节点内的视频时长,挑选出视频时长最长的视频片段对应的内容节点进行步骤s37。

进一步的改进,步骤s3还包括:

s311:当步骤s310计算的内容节点内的最长视频时长个数大于1时,首先选择起始时间和终止时间与步骤s37发送给请求节点的内容节点内视频片段对应的起止时间有重叠的内容节点,进行步骤s37;如果没有,再选择与步骤s37发送给请求节点的内容节点内视频片段对应的起止时间最邻近的内容节点,进行步骤s37。

进一步的改进,步骤s37包括:

s371:将各内容节点内的各视频片段对应的起止时间进行并集处理,获得二级时间段并集,并将该二级时间段并集与请求观看起止时间进行比对,当该二级时间段并集与请求观看起止时间完全重叠,将二级时间段并集对应的所有内容节点,进行步骤s372;

s372:向请求节点发送各内容节点的ip地址和对等体网络p2p协议文件。

进一步的改进,步骤s37还包括:

s373:当步骤s371判断该二级时间段并集与请求观看起止时间不完全重叠,首先判断二级时间段并集内视频片段的个数n,如果n=1,进行步骤s374;

s374:判断视频片段的起始时间t1、终止时间t2与请求观看起止时间的起始时间t3和终止时间t4的关系,当t1早于t3或t2晚于t4时,进行步骤s375,当t1晚于t3或t2早于t4时,进行步骤s376;

s375:将内容节点内对应的视频片段从t3或t4时间点进行分割处理;

s376:计算t1与t3或t2与t4的时间差;

s377:将得到的时间差与时间差阈值△t1进行比较,当时间差≥△t1,进行步骤s378;当时间差<△t1,进行步骤s379;

s378:向数据源服务器发送下载时间差对应的视频片段的请求;

s379:向请求节点发送提示是否下载该段视频的提示信息。

进一步的改进,步骤s37还包括:

s3710:当步骤s373判断n>1,判断二级时间段并集内第一个视频片段的起始时间t1和最后一个视频片段的终止时间t2与请求观看起止时间的起始时间t3和终止时间t4的关系,当t1早于t3或t2晚于t4时,进行步骤s375,当t1晚于t3或t2早于t4时,进行步骤s376。

进一步的改进,步骤s37还包括:

s3711:判断相邻的两个视频片段的终止时间和起始时间是否是连续的,如果不是连续的,进行步骤s3712;

s3712:记录第n-1个视频片段的终止时间和第n个视频片段的起始时间,并计算起始时间与终止时间的时间差,进行步骤s377。

进一步的改进,步骤s4包括:

s41:计算请求节点请求的视频片段的时长c,并与时长阈值c1进行比较,当c≤c1,进行步骤s42;

s42:将视频片段的视频流成分两层文件,为基础层和增强层,并将增强层进行分割;

s43:时刻判断请求节点的带宽,当带宽大于带宽阈值时,将基础层和增强层文件均发送给请求节点,当带宽小于带宽阈值是,只将基础层文件发送给请求节点。

进一步的改进,步骤s4还包括:

s44:当步骤s41判断c>c1,将视频片段先分割成多个子视频片段,然后再将子视频片段分割成两层文件,为基础层和增强层,并将增强层进行分割;

s45:先将第一子视频片段的基础层和提示信息发送给请求节点;

s46:接收请求节点发送继续下载视频时,将其余子视频节点的基础层和增强层按照步骤s43进行发送;

s47:当接收请求节点发送不下载视频时,停止发送其余的子视频片段。

本发明的有益效果如下:

本发明提供一种基于内容分发网络的视频下载方法,该方法首先接收请求节点发出的请求下载的视频片段,然后判断其他内容节点中是否有与该请求视频片段的请求观看起止时间有重叠的视频片段,如果有,将判断出的内容节点各视频片段做交集或并集处理,然后再将获得的集合进行比对处理,根据比对处理的结果将对应的内容节点建立p2p网络对等协议,如果判断出没有,判断请求的视频片段的时长,根据视频片段的时长将视频进行分割处理,然后再根据请求节点的带宽判断向请求节点发送的视频文件,经过以上处理后显著提高了视频下载的效率,并且释放了数据源服务器,提高了更高的冗余带宽,可以为更多的客户端提供下载服务。

附图说明

图1为实施例1一种基于内容分发网络的视频下载方法的流程图;

图2为实施例2步骤s3的流程图;

图3为实施例3步骤s37的示意图;

图4为实施例4步骤s4的流程图。

具体实施方式

下面结合附图和以下实施例对本发明作进一步详细说明。

实施例1

本发明实施例1提供一种基于内容分发网络的视频下载方法,该内容分发网络包括数据源服务器、与数据源服务器相连的若干请求节点和内容节点,每一请求节点和内容节点均有唯一的ip地址;如图1所示,该方法包括如下步骤:

s1:请求节点发出请求下载视频片段的请求报文,该请求报文内包括请求节点的ip地址、视频名称和请求观看起止时间;

s2:判断各内容节点内是否有与请求观看起止时间重叠的视频片段,如果有,进行步骤s3,如果没有,进行步骤s4;

s3:将判断出的内容节点中各视频片段的起止时间做不同的集合处理,并将内容节点内的视频片段进行比对处理向请求节点发送内容节点的ip地址和对等体网络p2p协议文件;

s4:根据请求视频片段的时长大小,对视频片段进行分割,并结合请求节点的带宽,判断向请求节点发送的视频流文件。

本发明提供一种基于内容分发网络的视频下载方法,该方法首先接收请求节点发出的请求下载的视频片段,然后判断其他内容节点中是否有与该请求视频片段的请求观看起止时间有重叠的视频片段,如果有,将判断出的内容节点各视频片段做交集或并集处理,然后再将获得的集合进行比对处理,根据比对处理的结果将对应的内容节点建立p2p网络对等协议,如果判断出没有,判断请求的视频片段的时长,根据视频片段的时长将视频进行分割处理,然后再根据请求节点的带宽判断向请求节点发送的视频文件,经过以上处理后显著提高了视频下载的效率,并且释放了数据源服务器,提高了更高的冗余带宽,可以为更多的客户端提供下载服务。

实施例2

本发明实施例2提供一种基于内容分发网络的视频下载方法,该方法与实施例1的基本相同,不同的是,如图2所示,步骤s3包括:

s31:将各视频片段对应的起止时间与请求观看起止时间分别做交集处理,获得多个一级时间段交集;

s32:判断各一级时间段交集的起止时间是否有连续的,如果有,进行步骤s33;

s33:将连续的时间段交集的起止时间做并集处理,获得时间段并集;

s34:将时间段并集与其余时间段交集再做交集处理,获得二级时间段交集;

s35:判断二级时间段交集是否为空,如果不为空,进行步骤s36,如果为空,将时间段并集对应的各内容节点,进行步骤s37;

s36:分别计算时间段并集及与其有交集的一级时间段交集对应的内容节点内的视频时长,挑选出视频时长最长的视频片段对应的内容节点,进行步骤s37;

s37:将内容节点内的视频片段进行比对处理,并将请求节点与内容节点间建立对等体网络p2p协议;

s38:当步骤s32判断一级时间段交集的起止时间段没有连续时,将各一级时间段交集再进行交集处理,获得三级时间段交集;

s39:判断三级时间段交集是否为空,如果为空,将与请求观看起止时间有交集的视频片段对应的内容节点,进行步骤s37,如果不为空,进行步骤s310;

s310:分别计算各一级时间段交集对应的内容节点内的视频时长,挑选出视频时长最长的视频片段对应的内容节点进行步骤s37;

s311:当步骤s310计算的内容节点内的最长视频时长个数大于1时,首先选择起始时间和终止时间与步骤s37发送给请求节点的内容节点内视频片段对应的起止时间有重叠的内容节点,进行步骤s37;如果没有,再选择与步骤s37发送给请求节点的内容节点内视频片段对应的起止时间最邻近的内容节点,进行步骤s37。

本发明进一步对步骤3进行了限定,具体流程参考表1:假设请求观看的视频片段的起止时间为1-50min,首先将内容节点内的各视频片段对应的起止时间与请求观看起止时间(1-50min)做交集处理,获得一级时间段交集分别为:1:00-10:00、2:00-4:59、5:00-10:00、5:00-11:00、12:00-20:00、15:00-19:00、15:00-22:00、23:00-25:00、25:01-45:00、21:00-40:00、46:00-50:00.判断各一级时间段交集的起止时间是否有连续的,其中2:00-4:59与5:00-10:00是连续的,23:00-25:00与25:01-45:00是连续的,将连续的时间段交集的起止时间做并集处理,获得时间段并集为2:00-10:00、23:00-45:00;将时间段并集与其余时间段交集再做交集处理,获得二级时间段交集,然后再判断二级时间段交集是否为空,如果不为空,分别计算时间段并集及与其有交集的时间段交集的视频时长,内容节点a的视频时长为9min,二级时间段交集的时长为8min,二级时间段并集的时长为22min,内容节点g对应的时长为19min,所以向请求节点发送内容节点a、内容节点h和内容节点i的ip地址和对等体网络p2p协议文件,如果为空,将内容节点内的视频片段进行比对处理,并将请求节点与内容节点间建立对等体网络p2p协议;当判断一级时间段交集的起止时间没有连续时,例如12:00-20:00、15:00-19:00、15:00-22:00、46:00-50:00没有连续的,将12:00-20:00、15:00-19:00、15:00-23:00、46:00-50:00再做交集处理,获得三级时间段交集,判断46:00-60:00对应的三级时间段交集为空,所以选择该内容节点k,向请求节点发送内容节点k的ip地址和对等体网络p2p协议文件,12:00-20:00、15:00-19:00、15:00-23:00的三级时间段交集不为空,计算内容节点e中视频片段的时长为8min,内容节点f中视频片段的时长为4min,内容节点g中视频片段的时长为8min,选择时长最长的内容节点e和g,发现有两个,首先根据发送给请求节点的起止时间为内容节点a对应的1:00-10:00,内容节点h对应的21:00-25:00,内容节点i对应的25:01-35:00和内容节点k对应的46:00-60:00,内容节点e和g对应的起止时间分别为12:00-20:00和15:00-23:00,发现内容节点e对应的终止时间20:00与内容节点h对应的21:00最接近,所以选择内容节点e,向请求节点发送内容节点e的ip地址和对等体网络p2p协议文件。将选择出的内容节点a(1:00-10:00)、内容节点e(12:00-20:00)、内容节点h(21:00-25:00)、内容节点i(25:01-45:00)和内容节点k(46:00-60:00)与请求节点间建立对等体网络p2p协议。

表1选择的内容节点

实施例3

本发明实施例3提供一种基于内容分发网络的视频下载方法,该方法与实施例2的基本相同,不同的是,如图3所示,步骤s37包括:

s371:将各内容节点内的各视频片段对应的起止时间进行并集处理,获得二级时间段并集,并将该二级时间段并集与请求观看起止时间进行比对,当该二级时间段并集与请求观看起止时间完全重叠,将二级时间段并集对应的所有内容节点,进行步骤s372;

s372:将请求节点与各内容节点间建立对等体网络p2p协议;

s373:当步骤s371判断该二级时间段并集与请求观看起止时间不完全重叠,首先判断二级时间段并集内视频片段的个数n,如果n=1,进行步骤s374;

s374:判断视频片段的起始时间t1、终止时间t2与请求观看起止时间的起始时间t3和终止时间t4的关系,当t1早于t3或t2晚于t4时,进行步骤s375,当t1晚于t3或t2早于t4时,进行步骤s376;

s375:将内容节点内对应的视频片段从t3或t4时间点进行分割处理;

s376:计算t1与t3或t2与t4的时间差;

s377:将得到的时间差与时间差阈值△t1进行比较,当时间差≥△t1,进行步骤s378;当时间差<△t1,进行步骤s379;

s378:向数据源服务器发送下载时间差对应的视频片段的请求;

s379:向请求节点发送提示是否下载该段视频的提示信息;

s3710:当步骤s373判断n>1,判断二级时间段并集内第一个视频片段的起始时间t1和最后一个视频片段的终止时间t2与请求观看起止时间的起始时间t3和终止时间t4的关系,当t1早于t3或t2晚于t4时,进行步骤s375,当t1晚于t3或t2早于t4时,进行步骤s376;

s3711:判断相邻的两个视频片段的终止时间和起始时间是否是连续的,如果不是连续的,进行步骤s3712;

s3712:记录第n-1个视频片段的终止时间和第n个视频片段的起始时间,并计算起始时间与终止时间的时间差,进行步骤s377。

本发明进一步对获得的内容节点内的视频片段进行处理,实施例2选择内容节点为内容节点a(1:00-10:00)、内容节点e(12:00-20:00)、内容节点h(21:00-25:00)、内容节点i(25:01-45:00)和内容节点k(46:00-60:00),将这些节点内的视频片段对应的起止时间做并集处理,获得二级时间段并集(1:00-10:00、12:00-20:00、21:00-45:00、46:00-60:00),并将该并集与请求观看起止时间进行比对,当该二级时间段并集与请求观看起止时间完全重叠,将二级时间段并集对应的所有内容节点的ip地址和对等体网络p2p协议文件均发送给请求节点;当判断不完全重叠时,判断二级时间段并集内视频片段的个数n=4,如果n=1,二级时间段并集为(00:30-51:00),判断视频片段的起始时间t1、终止时间t2与请求观看起止时间的起始时间t3和终止时间t4的关系,00:30早于请求观看起始时间1:00,51:00晚于请求观看终止时间50:00,将内容节点内对应的视频片段从1:00、50:00处进行分割,又如二级时间段并集为(2:00-40:00),2:00晚于请求观看起始时间1:00,40:00早于请求观看终止时间50:00,计算2:00与1:00、40:00与50:0的时间差分别为1min和10min,将与时间差阈值2min进行比对,1min小于2min,向请求节点发送提示是否下载该段视频的提示信息,10min大于2min,向数据源服务器发送下载时间差对应的视频片段的请求,当n大于1时,例如n=4,判断二级时间段并集内第一个视频片段的起始时间1:00和最后一个视频片段的终止时间60:00与请求观看起止时间的起始时间1:00和终止时间50:00的关系,发现终止时间60:00晚于50:00,所以需要将内容节点内对应的视频片段从50:00进行分割处理,然后判断1:00-10:00与12:00-20:00对应视频片段的终止时间和起始时间不是连续的,计算1:00-10:00视频片段的终止时间10:00与12:00-20:00视频片段的起始时间12:00的时间差为2min,2min=2min,向数据源服务器发送下载时间差对应的视频片段的请求,计算12:00-20:00视频片段的终止时间20:00与21:00-45:00视频片段的起始时间21:00的时间差为1min,1min小于2min,向请求节点发送提示是否下载该段视频的提示信息;计算21-45:00视频片段的终止时间45:00与46:00-60:00视频片段的起始时间46:00的时间差为1min,1min小于2min,向请求节点发送提示是否下载该段视频的提示信息,从而完成整个视频的下载任务。

实施例4

本发明实施例4提供一种基于内容分发网络的视频下载方法,该方法与实施例3的基本相同,不同的是,如图4所示,步骤s4包括:

s41:计算请求节点请求的视频片段的时长c,并与时长阈值c1进行比较,当c≤c1,进行步骤s42;

s42:将视频片段的视频流成分两层文件,为基础层和增强层,并将增强层进行分割;

s43:时刻判断请求节点的带宽,当带宽大于带宽阈值时,将基础层和增强层文件均发送给请求节点,当带宽小于带宽阈值是,只将基础层文件发送给请求节点;

s44:当步骤s41判断c>c1,将视频片段先分割成多个子视频片段,然后再将子视频片段分割成两层文件,为基础层和增强层,并将增强层进行分割;

s45:先将第一子视频片段的基础层和提示信息发送给请求节点;

s46:接收请求节点发送继续下载视频时,将其余子视频节点的基础层和增强层按照步骤s43进行发送;

s47:当接收请求节点发送不下载视频时,停止发送其余的子视频片段。

本发明进一步对步骤s4进行限定,首先判断请求视频判断的时长,如果时长较短,将视频片段的视频流成分两层文件,为基础层和增强层,并将增强层进行分割,时刻判断请求节点的带宽,当带宽大于带宽阈值时,将基础层和增强层文件均发送给请求节点,当带宽小于带宽阈值是,只将基础层文件发送给请求节点;如果是时长较长,将视频片段先分割成多个子视频片段,然后再将子视频片段分割成两层文件,为基础层和增强层,并将增强层进行分割,先将第一子视频片段的基础层和提示信息发送给请求节点,接收请求节点发送继续下载视频时,将其余子视频节点的基础层和增强层按照步骤s43进行发送,当接收请求节点发送不下载视频时,停止发送其余的子视频片段。该方法可以结合用户的需求进行下载,提高下载效率。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

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