Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020108200 - VIDEO DELIVERY METHOD AND APPARATUS, AND ELECTRONIC DEVICE

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237   0238   0239   0240   0241   0242   0243   0244   0245   0246   0247   0248   0249   0250   0251   0252   0253   0254   0255   0256   0257   0258   0259   0260   0261   0262   0263   0264   0265   0266   0267   0268   0269   0270   0271   0272   0273   0274   0275   0276   0277   0278   0279   0280   0281   0282   0283   0284   0285   0286   0287   0288   0289   0290   0291   0292   0293   0294   0295   0296   0297   0298   0299   0300   0301   0302   0303   0304   0305   0306   0307   0308   0309   0310   0311   0312   0313   0314   0315   0316   0317   0318   0319   0320   0321   0322   0323   0324   0325   0326   0327   0328   0329   0330   0331   0332   0333   0334   0335   0336   0337   0338   0339   0340   0341   0342   0343   0344   0345   0346   0347   0348   0349   0350   0351   0352   0353   0354   0355   0356   0357   0358   0359   0360   0361   0362   0363   0364   0365   0366   0367   0368   0369   0370   0371   0372   0373   0374   0375   0376   0377   0378   0379   0380   0381   0382   0383   0384   0385   0386   0387   0388   0389   0390   0391   0392   0393   0394   0395   0396   0397   0398   0399   0400   0401   0402   0403   0404   0405   0406   0407   0408   0409   0410   0411   0412   0413   0414   0415   0416   0417   0418   0419   0420   0421   0422   0423   0424   0425   0426   0427   0428   0429   0430   0431   0432   0433   0434   0435   0436   0437   0438   0439   0440   0441   0442   0443   0444   0445   0446   0447   0448   0449   0450   0451   0452   0453   0454   0455   0456   0457   0458   0459   0460   0461   0462   0463   0464   0465   0466   0467   0468   0469   0470   0471   0472   0473   0474   0475   0476   0477   0478   0479   0480   0481   0482   0483   0484   0485   0486   0487   0488   0489   0490   0491   0492   0493   0494   0495   0496   0497   0498   0499   0500   0501   0502   0503   0504   0505   0506   0507   0508   0509   0510   0511   0512   0513   0514   0515   0516   0517   0518   0519   0520   0521   0522   0523   0524   0525   0526   0527   0528   0529   0530   0531   0532   0533   0534   0535   0536   0537   0538   0539   0540   0541   0542   0543  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61  

附图

1   2   3   4   5   6   7   8   9   10A   10B   10C   10D   10E   10F   11   12   13   14   15   16   17   18   19   20   21   22  

说明书

发明名称 : 一种视频分发方法、装置及电子设备

技术领域

[0001]
本申请涉及多媒体技术领域,特别涉及一种视频分发方法、装置及电子设备。

背景技术

[0002]
目前,互联网流量中的视频流量正在急剧增长,这种增长将以很大的可能会持续甚至加剧。巨大的用户量和庞大的视频数据流将会导致网络的堵塞,进而影响用户的上网体验。
[0003]
为了解决堵塞的问题,运营商只能增加对骨干网、底层设备的投入以增大带宽来缓解日益增加的带宽需求,降低网络的拥塞程度。但是,想要从根本上完美地解决互联网的拥塞问题,其关键在于提高互联网视频等内容的分发效率。而现有互联网分发方案却存在效率低下等诸多问题。视频点播VOD(Video on Demand)是一种应用广泛的视频分发技术,很受广大用户的青睐。VOD顾名思义,就是根据观众的要求播放节目的视频点播系统,把用户所点击或选择的视频内容,传输给所请求的用户。VOD技术虽然经过不断地完善和发展,却依然面临诸多问题和挑战:视频分发时带来的网络拥塞加剧,传输时延增加,用户体验降低,网络拓展难度大。始于二十年前镜像存储技术的内容分发网络CDN(Content Delivery Network)以及后来的P2P内容分发技术,在一定程度上确确实实缓解了以上所提的诸多问题,然而解决不够彻底,并且还带来了另一些难题:网络建设投资随用户增加呈指数增长,整个网络的能量消耗线性增加等。
[0004]
基于上述描述可知,急需提出一种新的视频分发方案在不增加投资的情况下提供分发效率来解决网络拥塞的技术问题。
[0005]
发明内容
[0006]
本申请实施方式的目的是提供一种视频分发方法、装置及电子设备,热度排名最靠前的热门视频节目通过轮播方式分发,热度排名靠后的视频节目通过点播方式分发。在轮播信道有空余的时段或这推送效率高于轮播和点播时,将轮播信道用于推荐目标视频节目。不仅能够大量降低总体数据流量,并且随着用户点击量的增加流量增长非常缓慢,可以大大提高分发效率。
[0007]
为实现上述目的,本申请实施方式提供一种视频分发方法,包括:
[0008]
获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度;
[0009]
根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容。
[0010]
为实现上述目的,本申请实施方式提供一种视频分发方法,包括:
[0011]
轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据总喜爱度列表通过空余轮播信道将对应视频节目分发。
[0012]
为实现上述目的,本申请实施方式提供一种视频分发装置,包括:
[0013]
热度获取单元,用于获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度;
[0014]
视频分发单元,用于根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容。
[0015]
为实现上述目的,本申请实施方式提供一种视频分发装置,包括:
[0016]
第一视频分发单元,用于轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据总喜爱度列表通过空余轮播信道将对应视频节目分发。
[0017]
为实现上述目的,本申请实施方式提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的视频分发方法。
[0018]
为实现上述目的,本申请实施方式提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的视频分发方法的步骤。
[0019]
由上可见,与现有技术相比较,本技术方案将热门视频通过轮播分发的方式或推荐的方式分发给用户终端,将非热门视频通过VOD方式分发给用户终端,不仅能够大量降低总体数据流量,并且随着用户点击量的增加流量增长非常缓慢。从而对于互联网在高峰期的流量拥塞问题将会得到解决。并且,可以大大提高分发效率,降低流量,减少投资,节约资源和能量。

附图说明

[0020]
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]
图1为本说明书提供一种视频分发方法流程图之一;
[0022]
图2为本实施例中仅仅考虑有效点击量所带来的流量对比示意图;
[0023]
图3为视频节目的在线观看人数曲线示意图;
[0024]
图4为视频节目轮播部分的时长优化原理图;
[0025]
图5为本说明书提供一种视频分发方法流程图之二;
[0026]
图6为本说明书提供一种视频分发方法流程图之三;
[0027]
图7为向用户终端推荐视频节目的方法流程图;
[0028]
图8为WHB轮播算法流程图;
[0029]
图9为WHB轮播算法中视频切割示意图;
[0030]
图10a为WHB轮播算法中视频分片放置示意图之一;
[0031]
图10b为WHB轮播算法中视频分片放置示意图之二;
[0032]
图10c为WHB轮播算法中视频分片放置示意图之三;
[0033]
图10d为WHB轮播算法中视频分片放置示意图之四;
[0034]
图10e为WHB轮播算法中视频分片放置示意图之五;
[0035]
图10f为WHB轮播算法中视频分片放置示意图之六;
[0036]
图11为基于WHB轮播算法的视频信息接收方法流程图;
[0037]
图12为基于WHB轮播算法的客户端接收视频分片示意图;
[0038]
图13为轮播分发方案的网络拓扑示意图;
[0039]
图14为轮播分发方案的流程图;
[0040]
图15为本说明书公开的一种视频分发装置功能框图;
[0041]
图16为本说明书公开的一种电子设备示意图;
[0042]
图17为大量视频节目流量与有效点击量在线性坐标系中的关系图;
[0043]
图18为大量视频节目流量与有效点击量在半对数坐标系中的关系图。
[0044]
图19为本技术方案分发大量视频节目的流量分析图;
[0045]
图20为不同分发方案流量趋势仿真示意图之一;
[0046]
图21为不同分发方案流量趋势仿真示意图之二;
[0047]
图22为补包和不计补包下本技术方案分发视频所产生的流量趋势示意图。

具体实施方式

[0048]
下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述参考在附图中示出并在以下描述中详述的非限制性示例实施例,更加全面地说明本公开的示例实施例和它们的多种特征及有利细节。应注意的是,图中示出的特征不是必须按照比例绘制。本公开省略了已知材料、组件和工艺技术的描述,从而不使本公开的示例实施例模糊。所给出的示例仅旨在有利于理解本公开示例实施例的实施,以及进一步使本领域技术人员能够实施示例实施例。因而,这些示例不应被理解为对本公开的实施例的范围的限制。
[0049]
除非另外特别定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。此外,在本公开各个实施例中,相同或类似的参考标号表示相同或类似的构件。
[0050]
目前主流的网络分发技术,特别是公共互联网的数据分发技术都是基于存储转发的路由交换网络实现的,多层次连接复杂的路由和交换结构造成网络传输时延和拥塞。轮播是广播的一种,是在广播基础上的改进和提升,它允许多个用户共享信道资源,进而达到大大减少总体数据流量的效果。轮播算法(MultiChannel Repeating Broadcasting,MRB)是本技术方案的核心,因为它从根本上解决了热门视频分发效率过低的问题。由于广播网接过了互联网分发热门视频的负担,所以互联网在高峰期的流量拥塞问题将会得到解决,人们访问互联网的速度将会有显著的提高。
[0051]
在传统的广播系统中,每个广播信道都会在某个时间段广播一个完整的视频节目。数据在这个信道上的传输速率就是节目的播放码率。所以,无论是以前的电视还是现在的机顶盒,都不需要缓存对接收到的数据进行缓存,而是对接收到的数据直接进行解码并播放。但是,用户一旦错过了视频节目的开头部分,那么就得等待下次时间观看整部视频。然而,等待的时间相当长,通常要等到视频结束后才能重新开始。为了缩减用户和观众的等待时间,我们可以分配多个广播信道来传输该热门视频节目的数据,从而降低用户和观众的等待时间,提高用户体验。根据不同的需求和目的,出现了不同的轮播算法,它们各有优劣。交错轮播算法和快速轮播算法(FB)等较为典型的轮播算法,在此基础上衍生出诸多轮播算法。
[0052]
对于本技术方案来说,轮播的主要思想是:首先对视频节目进行分片,然后对这些分片从新组合分成不同的分组,然后在不同的广播信道周期性的传输不同的分片组合,用户端再根据分发端的分片组合方式选择性的获取自己需要的分片并接收和下载。只要 保证用户端能够不间断的获取需要的分片并观看即可。轮播技术是在准视频点播NVOD(near Video-On-Demand)系统网络中为大量并发用户同时提供高质量视频服务而设计的高效率的视频分发技术方案,轮播技术不仅服务用户数量巨大,而且所产生的总流量大大减少,因此无论服务器,用户或者是底层网络,对互联网的资源需求都是很少的。正是这个原因,轮播可以大大节省互联网资源,并且随着用户量的增加,相对的互联网资源节省就越多,轮播的优势就越加显著。将视频节目通过轮播方式分发时,现有的轮播算法以及在此基础上衍生出诸多轮播算法均可应用,而不是穷举,本领域技术人员在理解本申请技术方案的精髓的情况下,可能会在本申请技术方案的基础上产生其它的变形或者变换,但只要其实现的功能以及达到的技术效果与本申请类似,那么均应当属于本申请的保护范围。
[0053]
为了更能详细描述轮播方式,现以DeRe轮播算法和WHB轮播算法为例进行说明。DeRe轮播算法属于用户带宽受限(RBL)算法中性能比较优异的一种,即限制所有用户的带宽接入值,只允许用户一定数目信道的接入,使带宽小的用户的等待时间减少,但是稍微不足的一点是会稍微地增大带宽较大的用户的等待时间。WHB轮播算法是以调和推播(Harmonic Broadcasting,HB)算法为基础的改进算法,WHB轮播算法在保持了HB算法低传输带宽需求的特点同时,将原有的切片方式和信道设计进行了改进,使WHB轮播算法更易于工程化实现,其缺点是用户在发送观看请求后,需等待一个时系的时长才能观看视频。DeRe轮播算法和WHB轮播算法通过将视频进行大量切片,且在同一信道上轮播不同的切片,从而大幅度的减少等待时间。由于DeRe轮播算法允许不同带宽的用户同时接入,适合同时服务大量有不同需求的用户,且所有切片时长都相同,而WHB轮播算法在传输视频节目时所需的带宽接近轮播算法的理论下限;两种算法在产生分切片数目上随着轮播信道的增加速度较快,易于工程化实现。因此,本技术方案提出的视频分发方案中采用的轮播方案优选为DeRe算法或WHB算法。
[0054]
对于DeRe轮播算法和WHB轮播算法来说,一旦确定了轮播信道数目,则其轮播的最大切片数也确定了,不同的轮播信道对应于不同的切片数。由于在本技术方案中轮播信道数目和切片数是非常重要的两个参数,因此下面介绍这两个参数的关系:
[0055]
由式(1)可以看出,轮播信道数目CN与对应的切片数目SN大致呈指数关系。
[0056]
SN=C 1*exp(C 2*CN) 式(1)
[0057]
其中,C 1和C 2为拟合常数参数,在DeRe轮播算法中C 1=0.8080、C 2=0.7720,WHB轮播算法中C 1=0.56、C 2=1。exp()是以自然常数e为底的指数函数。
[0058]
本技术方案接下来的研究和讨论都是在如下通用简化模型上进行的:
[0059]
1)对于每个节目来说,采用轮播方案或者纯点播方案进行分发。
[0060]
2)用户对某个节目的观看符合泊松过程,并且对于每个用户来说点击某个节目是随机的。
[0061]
那么到底选择哪一个方案去分发取决于分发该视频所带来的流量,一定选用哪个能够产生较少流量的方案去分发该视频才能够达到最大的分发效率。
[0062]
假设某节目时长为PT(单位可以是分钟或秒),其在观测时间段为T内的平均有效点击率为R,点击人数为V(这里观测时间T和节目时长PT有相同的单位;视频数据平均传输(或播放)速率为b;平均点击率为单位时间的平均点击人数);信道资源占用的衡量均使用信道数*时间*视频数据平均传输(或播放)速率表示流量,即为Q。
[0063]
下面分别对两种方案进行讨论:
[0064]
(1)纯点播分发方案的流量
[0065]
在T的观测时间段内,点击人数为V=R*T,由于纯点播每个用户分配一个单独的信道资源,信道数和用户数是一致的。因为用户观看视频是一种客户请求服务器执行服务的行为,而该请求服务行为符合泊松过程,所以用户对某个节目的观看符合泊松过程。根据泊松过程的一个定理:已知泊松过程在某一时间段内出现事件的次数,则这些事件出现的时间的联合密度在该时间段内是均匀分布的。可以得知,这V个点击在观测时间T内的分布是均匀分布的,那么对于纯点播分发方案,分以下两种情况讨论:
[0066]
a)当观测时间小于等于节目时长,也即T≤PT时:
[0067]
因为观测时长小于等于节目时长的缘故,在观测时间内进入的用户均会被截断而无法观看完整个节目(当且仅当观测时长等于节目时长且用户恰好从开始统计时进入能观看完整个节目),因此观看的平均时长为 此时T内的平均流量为:
[0068]
[0069]
b)当观测时间大于节目时长,也即T>PT时:
[0070]
因为观测时长大于节目时长的缘故,在观测时间内进入的用户,有R*(T-PT)用户能够看完整个节目,而R*PT用户均会被截断而无法观看完整个节目且观看的平均时长为 此时T内的平均流量为:
[0071]
[0072]
因为轮播方案是对节目均等分片,所以视频节目的切片时长S以及定义η为节目时长和统计时间之比可以定义为:
[0073]
[0074]
则纯点播分发方案的流量为:
[0075]
[0076]
这里,b是常数,对于特定的节目和统计时间,PT、T和η均为常数,因此纯纯点播分发方案的流量Q VOD随用户点击量V线性增长。这一点与之前的调研有所出入,那是因为,这里的纯点播分发方案是理想化的点播:
[0077]
1)不考虑多分支路由存储转发而产生的额外流量;
[0078]
2)假设网络全连接,路由资源无限大;
[0079]
3)不考虑传输过程拥塞和丢包等。
[0080]
而在实际中,这些因素是不可避免的,难免会导致大量额外的流量,必然导致流量增长曲线的上翘。
[0081]
(2)轮播分发方案的流量
[0082]
首先假设轮播的信道数目为CN,对应的切片数目为SN,由前面的分析可知,切片数目SN是信道数目CN的函数。针对DeRe轮播算法来说,CN与SN之间的对应关系如下表1所示。针对WHB轮播算法来说,CN与SN之间的对应关系如下表2所示。
[0083]
表1
[0084]
[表0001]
信道数CN 2 3 4 5 6 7 8 9 10 11
分片数SN 3 9 20 43 89 186 391 837 1819 3942

[0085]
表2
[0086]
[表0002]
信道数CN 2 3 4 5 6 7 8 9 10 11
分片数SN 3 10 30 82 224 614 1673 4548 12365 33614

[0087]
需要指出的是,轮播方案不支持快进,如果用户快进则会以补包形式获取快进请求对应的时长段的视频内容,以支持用户的连续观看。在本技术方案中,为降低用户开始 观看视频的等待时间,补包是指用户在发出视频播放请求后通过点播方式获取快进请求对应的时长段的视频内容。
[0088]
另外,用户发送视频播放请求,该视频节目为轮播方式分发至客户端。有可能视频播放请求对应时刻不是视频子分片的起始点,用户需要等待出现第一个视频子分片的起始点时才能获得视频内容。因此,视频节目的轮播切片时长决定用户请求视频播放时的等待时间。经统计确定视频切片时长的阈值,当视频节目的轮播切片时长大于视频切片时长的阈值,这就说明用户请求视频播放时的等待时间有很大可能性超过用户的容忍度,此时通过点播方式获取对应的时长段的视频内容,提升用户的体验度。通过补包获得视频内容的时长为从视频节目起始时刻起至任意一个轮播信道出现第一个视频子分片的起始点对应的时刻。当视频节目的轮播切片时长小于等于视频切片时长的阈值,这就说明用户请求视频播放时的等待时间为用户的容忍范围内,此时可以不用通过补包方式获取对应的时长段的视频内容。
[0089]
表3显示了DeRe轮播方案和WHB轮播方案在不同信道下用户的缓存大小以及平均每次快进的补包大小占节目总时长的百分比。可以看出:从缓存方面,虽然轮播方案需要用户较大的缓存,但是由于当前用户系统缓存设备比较廉价,缓存的这些影响可以忽略;从快进方面,虽然轮播方案不支持快进,但是用户平均每次快进时的补包量非常之小,因此在用户快进时既不会造成较大的流量也不会影响用户正常观看。
[0090]
表3
[0091]
[0092]
为了减少快进造成的补包流量的消耗,从轮播方案本身出发作出一些改进可以有效地减少补包流量,目前的一种解决方案是为每一个进入轮播的节目增加一个轮播信道, 该轮播信道的分片安排如下:分发的分片同节目轮播的最后一个信道的分片序号相同,但分片的轮播顺序同节目轮播的最后一个信道完全相反。例如最后一个信道的分片安排为4-1,5-1,...,10-1,之后的时系子分片序号周期性递增,那么新加的信道的安排就为10-10,9-9,...,4-4,之后的时系子分片序号周期性递减。
[0093]
基于上述描述,轮播所产生的互联网流量分为两部分:
[0094]
a)一直存在的轮播信道。
[0095]
b)为了降低延迟所补包的信道。
[0096]
对于上面的a),轮播信道数为CN,这些信道的持续时间为T,故分发内容所占用的信道资源为:
[0097]
Q MCB1=b*T*CN 式(6)
[0098]
对于上面的b),补包是为了让那些错过了第一个分片或者离下一个分片较远的用户即时得到视频资源所采取的措施,补包的最长时长为最小切片的时间长度为 类似纯点播,因为点击在时间段内均匀到达,所以平均补包时间为 占用的信道资源为:
[0099]
[0100]
因此,轮播分发时的总流量为这两项之和:
[0101]
[0102]
由此,如果满足Q MCB<Q VOD,则显然采用轮播方案分发更有效,产生流量更少,我们应该使用轮播分发方案。结合式(4),式(5)和式(8)解不等式有:
[0103]
a)PT<T时
[0104]
[0105]
b)PT≥T时
[0106]
[0107]
值得注意的是,在式(10)里,当PT≥T时,可能存在T=S的情况,导致公式无意义。其实当T=S时,意味着统计时长和最小切片时长相等,而在实际中,统计时长是不可能小于轮播的最小切片时长的,即恒有T>S。进一步的,因为要满足T>S,而 不同节目的S有可能不同,因此应找出最大的切片时长S max,使得 因此,当允许的最小轮播信道数为2时, 当允许的最小轮播信道数为3时,
[0108]
综上Q MCB<Q VOD使用轮播分发方案时有:
[0109]
[0110]
其中,不等式左边是某一视频的观看人数,不等式右侧是一个阈值,用V th表示。
[0111]
在本技术方案中,式(11)仅仅给出一种判据形式。判据的标准为不同的视频分发方式产生的流量为准,就用产生的流量小的视频分发方案分发对应的视频节目,从而使得数字网络的性能得到大大提高。式(11)仅仅基于有效点击量的形式表征判据,对于本领域技术人员来说,基于有效点击量来获得不同视频节目的单位信道流量承载率,由视频节目的单位信道流量承载率与单位信道流量承载率阈值的比较形成表征判据,也可以判断视频节目是否使用轮播方案。
[0112]
由此可见,确定是否使用轮播的阈值就只与信道数目有关。这样当信道数确定后,是否使用轮播方案就一目了然了。如表4是已经计算出的一些阈值。
[0113]
从公式(11)中可以看出,该阈值V th不仅与切片数SN和信道数目CN相关,还和节目时长和观测时长之有关。在不考虑信道资源的情况下,一旦我们选择使用CN数目信道的轮播方案分发视频,那就意味着T内的观看人数一定大于该CN所对应的阈值V th
[0114]
对于表4的解释是这样子的以DeRe轮播算法为例,当η=0.5时,如果某一时间段内的点击量比较少时,少于6.86时,我们只能使用纯点播的分发方案,即不使用轮播方案分发;当点击量稍微大一些,例如在6.86和8.64之间,则使用两个信道的轮播方案比纯点播的方案要划算;如果点击量在18.74到21.37之间,则使用2到7个信道的轮播比纯点播的分发方案要划算。
[0115]
然而在实际情况下,信道资源都是有限的,该阈值会受到如信道资源,节目数量以及节目的热度排名等因素的影响有所波动。
[0116]
表4
[0117]
[0118]
需要说明的是,上述式(11)仅仅是热度判据的形式之一,而不是穷举,本领域技术人员在理解本申请技术方案的精髓的情况下,可能会在本申请技术方案的基础上产生其它的变形或者变换,只要实现的功能为基于不同的视频分发方式产生流量为基准来判断选择视频内容的推送方式,且达到的技术效果与本申请类似,那么均应当属于本申请的保护范围。
[0119]
以式(11)为例,在本技术方案中,对于某一节目是否使用轮播方案与其在某一时间段内的点击量有关。节目的点击量不仅与节目本身的冷热度有关,此外,即使同一个节目,在一天的不同时间段内的点击量也会有较大的不同。下面对这两种情况分别进行讨论和分析。
[0120]
视频有冷门和热门之分,对于比较热门的视频,点击量比较大,因此更倾向于使用轮播分发方案,这样通过最少的流量达到最大的视频推送效率而对于比较冷门的节目,点击量少,因此倾向于纯点播分发方案。
[0121]
互联网视频节目的点击量分布符合二八律:也就是大概20%的视频节目(一般是较热门的节目)占有总点击量的大约80%之多;而剩余的约80%的视频节目(一般是哪些较冷门的节目)只有大约20%的点击量。具体的来说,该现象已经被许多学者研究过,并将该分布成为长尾分布或者齐夫分布。互联网内的大部分内容,尤其是视频内容,其点击均符合该规律。以网络流量中占比最大的视频流量为切入口,在已知视频点播服从长尾分布的情况下,进一步分析不同的节目类型也同样服从长尾分布,热点节目占据了大比例的点播数。
[0122]
长尾分布的公式如下:
[0123]
[0124]
其中,m为表示排名的正整数,V m为第m热门的节目的点击量,V为所有节目点击量的总和,A和a为拟合参数。
[0125]
在互联网传统的视频分发系统中,用户点播视频后,视频播放的延迟和视频传输的速率会直接影响客户的观看体验,而这两点则完全由网络环境所决定的。在网络使用的高峰期,例如傍晚时分,每个用户都会集中点播视频观看,这时,无论是视频服务器端,还是整个视频分发网络,其负载都是相当高的,用户可能会遇到网速过慢带来的视频缓冲时间过长的现象,这都极大地降低了视频用户的观看体验。
[0126]
基于上文描述,由于人们的日常作息和生活,视频的点击量在一天内的分布是非常不均匀的,这是很显而易见的。大致来说,视频的观看和点击在傍晚8,9点时分比较多,还有一个小高峰是在中午的12点左右。最低谷是在凌晨3点到凌晨5点期间。具体来说,对于一个特定的网站,某个视频在特定时间段内的点击量占该视频一天内的点击量几乎是一个不变的数值。
[0127]
具体来说,对于一个特定的网站,某个视频在特定时间段内的点击量占该视频一天内的点击量几乎是一个不变的数值。于是我们可以这样总结:
[0128]
[0129]
其中, N为时间段总数, 为第n个时间段内的点击量,V D为一天的点击量,λ n为时间段内的占比因子。
[0130]
正是基于在互联网视频点播服从长尾分布和广播网络能通过轮播方案来推送特定视频流的特点,本技术方案将有专门的服务器标记所有视频的点播热度,根据热度进行不同的分发:
[0131]
(1)热度排名最靠前的热门视频节目采用轮播方案分发。
[0132]
(2)热度排名靠后的大量视频节目通过互联网内容分发网络(CDN)、电信运营商的IPTV网络以及广电网络采用点播方式进行视频分发。
[0133]
(3)热度排名稍微靠后的视频通过基于用户观看行为的一种隐因子推荐模型计算后,在轮播信道有空余的时段或者推送效率高于轮播和点播时,用轮播信道进行视频推荐。
[0134]
基于上述描述,如图1所示,为本说明书提供一种视频分发方法流程图之一。包括:
[0135]
步骤101):获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度;
[0136]
步骤102):根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目。
[0137]
对于本技术方案来说,对较长的时间段进行划分,确保在每个小的时间段内视频节目的有效点击量波动不太激烈(波动不激烈,一般认为波动不超过10%,即最小值不小于均值的90%,最大值不大于均值的110%);如果不划分即可满足该条件则可不必划分;选取一个小的时间间隔,然后在每个小的时间段内逐个时间段进行如下处理;对该时间段内的每个视频节目,计算不同的视频分发方式所产生的流量。基于选取产生流量小的视频分发方式进行视频推送。
[0138]
在本技术方案中,热度的定义既可以为每个视频节目在统计时间段内通过不同的视频分发方式产生的流量进行表征,也可以是通过用户的历史点播数据表征视频节目的喜爱度。
[0139]
正是由于并非所有的用户观看了整个视频节目,所以才会使用有效点击量来作为一个节目的点击量的指标,该指标才能有效的区分出观看整个视频节目和只管看了部分视频节目的区别。有效点击意味着,无论是轮播方案还是点播方案,针对某一个视频的一个具体的有效点击数值V,都会认为会有V的用户会观看视频,并且会观看视频的全部内容。
[0140]
考虑到用户对一个视频的观看进度存在差别,总体趋势是随着观看时间的延长,越来越少的人在观看,也即越来越多的会在中途退出观看。因此,如果仅仅以用户点击该视频的次数作为有效点击量,很显然不是很合理。考虑一种极端情况,在某一段时间内,如果一个100秒长度的视频,90个用户仅仅只看了视频的前10秒,而剩余的90秒仅有10个用户观看。那么用100来定义该段时间的有效点击量显然欠佳,因为100的有效点击量意味着会有100个用户点击了该视频并且观看了该视频的全部。从资源上来说,存在大量的资源浪费,本来以为的会有100个用户观看视频的后90秒,结果才仅仅10个人观看。
[0141]
因此为了消除这种极端情况带来的资源浪费,下面定义视频的有效点击量和有效点击率:
[0142]
设一个视频长度为PT的视频,其观看进度分布函数为w(t),0≤t≤PT,w(t)是一个单调递减函数,并且表示在观看视频时间不少于t的人数。则有效点击量:
[0143]
[0144]
进而有,有效点击率的表达式为:
[0145]
[0146]
需要注意的是,观看进度分布函数为w(t)是视频节目自身的特性,但也和观测时间段T有关,所以有效点击率R和有效点击量V也是视频节目自身的属性,但也会受观测时间段T的影响。
[0147]
通过式(50)可以计算出刚刚举出的极端例子的有效点击为 意味着相当于19个用户完整观看了该视频,并且观看了全部视频。可见定义该有效点击量指标是一个折中而且较为合理的指标。
[0148]
基于此,在本实施例中,以式(11)为例,可以看出,当某一时间段内的点击量大于某一阈值时,在该时间段内使用轮播进行分发划算,否则,则采用纯点播方案分发视频更划算。
[0149]
因此,根据每个视频节目的有效点击量确定通过轮播信道或点播方式分发所述视频节目的步骤包括:
[0150]
比较每个视频节目的有效点击量与有效点击量阈值,获得第一比较结果;
[0151]
根据所述第一比较结果确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量阈值根据所述视频节目的时长、轮播信道数目、观测时间段、轮播切片时长确定。
[0152]
在实际应用中,所述视频节目的有效点击量大于所述有效点击量阈值,通过轮播信道分发所述视频节目;所述视频节目的有效点击量小于等于所述有效点击量阈值,通过点播方式分发所述视频节目。
[0153]
对于本技术方案来说,对视频节目集合中的每个视频节目通过式(11)进行判断,使得视频集合中长尾部分的视频节目确定通过点播方式分发。其他视频节目只要在轮播信道充足的情况下,均通过轮播信道分发。如果轮播信道不充足的情况下,需要对轮播方案进行优化,使得视频分发效率更高。
[0154]
视频节目集合中过滤掉长尾部分的视频节目确定为通过轮播信道分发的视频节目,由于轮播信道不充足,需要选出哪些视频节目先轮播使得视频分发效率更高。对轮播方案的第一种优化方案为:
[0155]
将通过轮播信道分发的视频节目的有效点击量进行排序;
[0156]
根据排序结果将对应视频节目通过轮播信道进行分发。
[0157]
对于本优化方案来说,如果按照有效点击量从大到小排序,根据排序结果将对应视频节目通过轮播信道进行分发,使得轮播信道优先分发有效点击量大的视频节目。
[0158]
有效点击量并没有考虑到用户的观看行为,即:
[0159]
1)有多少人观看了该视频,也称为点击频次V 频次
[0160]
2)每个用户的观看时长,即该节目的在线人数分布曲线。
[0161]
此外该指标也没有考虑低时延补包造成的影响。因此,该指标作为热度指标有缺陷。考虑如图2所示的例子,实例1给出有100人观看了第一个节目,每人只观看了1s便退出该节目,实例2给出有1人观看了第二个节目,且观看时长为100s。两种节目的在线人数分布曲线如图2所示。在该例中,两种观看行为产生的视频流量相同(即实线矩形和虚线矩形的面积)。在实际中,实例1只需分配1个信道就可以承载全部流量,实例2却需要3个信道,在信道资源有限的情况下,显然要优先分配第一个节目,而不是将这两个节目做相同的优先级处理。
[0162]
进一步地,在有效点击量的基础上,以单位信道流量承载率为标准划分节目的热度。计算单位信道流量承载率的方法为在统计时间段内所有用户观看该节目产生的流量之和减去使用轮播产生的该节目的补包流量,然后用该差值除以轮播该节目使用的信道数,再除以统计时长T n,其计算公式如下:
[0163]
[0164]
其中,t m为第m个用户在统计时间段T n内观看该节目的总时长,N为时间段T n内观看该视频的总人数,S为该节目对应的切片时长,CN为传输该视频所需信道数,b为视频传输码率。有效点击率为在统计时间段内所有用户观看该节目的观看时长之和与统计时长之比。其表达式为:
[0165]
[0166]
其中,t m为第m个用户在统计时间段T n内观看该节目的总时长,N为时间段T n内观看该视频的总人数,b为视频传输码率。
[0167]
该指标较上一个指标更为合理,但是仍有缺陷。该单位信道流量承载率的大小依赖于分配给该视频节目的信道数,而分配各该视频节目的信道数又取决于该单位信道流量承载率相对于其他视频节目的单位信道流量承载率的大小,因此陷入逻辑嵌套的窘境,成为一个病态问题。一种解决方案为对每个节目的式(14)以信道数CN求导,另求导后的公式等于0,求得,单位信道流量承载率取得的最大值,然后比较不同视频节目的单位信道流量承载率最大值,根据比较结果,进而安排轮播信道。但该解决方法只能保证得到局部最优解。
[0168]
基于上述描述,对轮播方案的第二种优化方案为:
[0169]
获取通过轮播信道分发的视频节目的单位信道流量承载率;
[0170]
将通过轮播信道分发的视频节目的单位信道流量承载率进行排序;
[0171]
根据排序结果将对应视频节目通过轮播信道进行分发。
[0172]
对于本技术方案来说,在可分配的轮播信道的数目大于所有视频节目占用的轮播信道总数时,所述视频节目进行轮播部分的时长为所述视频节目的总时长。在可分配的轮播信道的数目小于所有视频节目占用的轮播信道总数时,正如上文提及的,以单位流量承载率为指标对通过轮播方式分发的视频节目作进一步效率优化只能保证得到局部最优解。为了进一步解决热度排名问题,首先将每个视频节目按时长划分为多段,每一段对应一个传输信道数,划分步骤如下:
[0173]
首先,根据每个视频节目的热度比较,确定视频集合中哪些视频节目通过轮播信道分发。获得轮播分发的视频节目使用轮播方案时轮播流量和补包流量之和的最小值。计算过程为:轮播流量与补包流量之和为 该式对CN求导并令结果为0可得轮播流量与补包流量之和的最小值,由此可确定轮播流量与补包流量之和的最小值时对应的传输该视频所需信道数CN。由此利用CN通过公式 可以得到视频节目的切片时长S和轮播分片数目SN。
[0174]
根据表1或表2,利用轮播信道数与最大分片数的关系,可以确定每个节目在轮播不同时长时所需的信道数。以具体的,以WHB轮播算法为例,对某个视频节目而言,从0开始的时长为1个S的部分为第一段,对应1个传输信道,时长为3个S的部分为第二段,对应3个传输信道,依次类推。
[0175]
如图3所示,为视频节目的在线观看人数曲线示意图。对每个视频节目而言,其统计时长T=PT,即节目时长。在图3中,垂线为视频节目时长对应的信道数阈值。超过一垂线部分需要的传送信道数比对应垂线之前的部分增加一个。在对每个视频节目均做了上述处理后,可以得到每个节目每增加一个信道能节省的VOD流量大小。具体为,对某个视频节目而言,两条垂线之间在线人数曲线与观看时间进度之间的面积大小代表增加一个信道所能承载的VOD流量大小。将所有视频节目每增加一个信道所能承载的流量进行综合对比,从而确定轮播每个节目需要的信道数,以及该节目进行轮播部分的时长。具体的,每增加一个轮播信道,考虑该轮播信道在分配给不同的视频节目未使用的轮播的部分时所能承载的最大VOD流量,将对应的产生最大VOD流量的视频节目时间段放入轮播信道内,然后重复该过程直到所有轮播信道均被使用。
[0176]
基于上述描述,为了进一步提高分发效率,克服以单位信道流量承载率为指标的轮播方案带来的问题,对轮播方案的第三种优化方案为:
[0177]
获取通过轮播信道分发的视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0178]
根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0179]
在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积;
[0180]
每比较一次,分配一个轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发。
[0181]
在第三种优化方案中,在所有通过轮播方式分发的视频节目里,反复将每个视频节目中未放入轮播信道的视频内容在每个轮播信道内对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积;其中,每比较一次,分配一个轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发,直至所有轮播信道被分配;根据每次面积比较结果,统计获得通过轮播方式分发的视频节目需要的轮播信道数以及对应的进行轮 播部分的时长。将最终确定的每个视频节目进行轮播部分的时长称为PT v。为了更进一步的提高分发效率,还可对将第三种优化方案作更进一步优化,如图4所示。每当一个视频节目进行轮播的时长PT v(等同于分片数)确定后,获得对应承载率。然后对所有进行轮播的视频节目再以PT v为依据重新计算此时对应的每个视频节目的轮播切片时长S,即 此时对应的在线观看人数曲线发生了改变。基于此,对某个视频节目而言,两条垂线之间在线人数曲线与观看时间进度之间的面积大小代表增加一个信道所能承载的VOD流量大小。将所有视频节目每增加一个信道所能承载的流量进行综合对比,从而确定轮播每个节目需要的信道数,以及该视频节目进行轮播部分的时长。具体的,每增加一个轮播信道,考虑该轮播信道在分配给不同的视频节目未使用的轮播的部分时所能承载的最大VOD流量,将对应的产生最大VOD流量的视频节目时间段放入轮播信道内,然后重复该过程直到所有轮播信道均被使用。此时,又获得每个视频节目的新的PT v。此时获得对应承载率。将比较两个承载率的变化是否小宇阈值。如果不小于阈值,则说明还可以以新的PT v重新确定在线人数曲线,以增加一个轮播信道所能承载的VOD流量为指标,获得最新的PT v。反复迭代,直至临近的前后两个承载率的变化小宇阈值。
[0182]
基于上文描述,对轮播方案的第四种优化方案为:
[0183]
获取通过轮播信道分发的视频节目的在线观看人数曲线;
[0184]
根据所述视频节目的第一轮播时长确定通过轮播信道分发的视频节目的轮播流量和补包流量之和的最小值对应的轮播信道数目;
[0185]
根据轮播信道数目、所述视频节目的第一轮播时长确定轮播切片时长以及轮播分片数目;
[0186]
根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0187]
在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积;
[0188]
根据每次比较结果,确定每条轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发;在比较次数等于轮播信道数目时,统计所述最大面积对应的时长,获得每个视频节目的第二轮播时长;
[0189]
获得第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值,如果绝对值小于等于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为所述视频节目的最终轮播时长,并安排轮播信道分发对应的视频内容;如果绝对值大于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为第一轮播时长,根据每次面积比较结果,确定每条轮播信道用于轮播的视频内容以及视频节目的第二轮播时长,直至第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值小于等于阈值,停止迭代运算,并安排轮播信道分发对应的视频内容。
[0190]
另外,图4中总流量承载率指的是:轮播承载的VOD流量除以VOD总流量。
[0191]
对于轮播方案的第四种优化方案来说,以视频节目的一个CN时段对应的在线人数与观看时间进度之间的面积为单位进行是否轮播替换。现提出轮播方案的第五种优化方案:
[0192]
获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0193]
根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0194]
获得通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积,并进行降序排列,获得第一排序结果;
[0195]
利用所述热度对未放入轮播信道分发的视频节目进行升序排列,获得第二排序结果;
[0196]
获取所述第二排序结果中每个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积;其中,n为未放入轮播信道分发的视频节目的轮播信道数;
[0197]
将第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,如果第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积大于第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,则将所述第一排序结果中对应的n-1个轮播信道用于轮播第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的视频内容;继续将第二排序结果中第二个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果里剩余面积中的前n-1个最后一个轮播信道的时长段对应的在线人数与观 看时间进度之间的面积之和进行比较,直至通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的视频内容被替换或者第二排序结果中当前视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积小于等于第一排序结果里剩余面积中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,并安排轮播信道分发对应的视频内容。
[0198]
优选地,所述轮播信道的数目大于等于所有通过轮播信道分发的视频节目占用的轮播信道总数时,所述视频节目进行轮播部分的时长为所述视频节目的总时长。
[0199]
对轮播方案的第六种优化方案为:
[0200]
获取通过轮播信道分发的视频节目的历史点播数据;
[0201]
从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比;
[0202]
根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得;
[0203]
根据所述相似度确定视频节目的隐因子向量;
[0204]
确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量;
[0205]
根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得所述视频节目的喜爱度值;
[0206]
根据所述用户对所述视频节目的喜爱度值统计获取所有用户对所述视频节目的喜爱度总和;
[0207]
根据喜爱度总和将通过轮播信道分发的视频节目进行排序,获取总喜爱度列表;
[0208]
根据所述总喜爱度列表将对应视频节目通过轮播信道进行分发。
[0209]
在本优化方案中,确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量的步骤包括:
[0210]
对损失函数利用随机梯度下降法求解,确定当所述损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[0211]
在本优化方案中,所述相似度通过曼哈顿距离公式、欧式距离公式或皮尔逊公式获取。
[0212]
在本优化方案中,根据所述相似度确定视频节目的隐因子向量的步骤包括:
[0213]
从所述视频节目与每个聚类中心之间的相似度中获取最大相似度、最小相似度;
[0214]
将所述视频节目与每个聚类中心之间的相似度均除以所述最大相似度或最小相似度,获得归一化结果值;
[0215]
将小于阈值的归一化结果值置于零,将大于等于的阈值的归一化结果值保持不变,得到的结果值构成的向量为所述视频节目的隐因子向量。
[0216]
上述描述的六种轮播优化方案,均使得有限的轮播信道达到高效的视频分发效率。
[0217]
在传统的互联网视频分发系统中,用户请求视频播放后,视频播放的延迟和视频传输的速率会直接影响客户的观看体验,而这两点则完全由网络环境所决定的。在网络使用的高峰期,例如傍晚时分,每个用户都会集中点播视频观看,这时,无论是视频服务器还是整个网络,负载都是相当高,用户可能会遇到网速过慢带来的视频缓冲时间过长的现象,这都极大地降低了视频用户的观看体验。然而利用本技术方案,最热门的视频将会通过广电网以轮播的方式进行传输,用户只需等待很短的时间(5秒以内)即可从头到尾无缓冲地对视频进行观看。当大量用户同时观看热门视频的时候,我们只需将该节目进行轮播分发,这样就能避免传统点播的方式重复传输大量数据,效率极低的现象,但是会产生一定的等待时间。而对于热度稍微靠后的视频节目,通常采用点播方式分发出去。这样的话,按照热度的不同对视频节目采取不同的分发策略的方案,就能在现有的基础设施下缓解网络拥堵和带宽不足的问题还能大大减少用户等待时间。
[0218]
本技术方案非常适合长时间段,包含大量视频节目的视频网站这种普遍的场景。不同节目的热冷度不同,并且在一天的点击分布也非常不均匀。因此,对于某个分发系统,先对节目进行热度排名,然后再对其进行时间段的划分。例如可以以1小时为时间间隔进行分割。
[0219]
对于某个时间段内的单一视频节目,根据式(5)、式(10)和式(11),可得如果采用轮播分发方案时的流量:
[0220]
[0221]
这里T为观测时间段,也就是划分的小的时间段;PT是节目时长;η为节目时长和观测时长之比;V是该时间段内该节目的有效点击量;轮播信道数CN和轮播切片数SN是一对相关的变量,其具体关系由式(1)约束。
[0222]
于是,把式(1)代入式(16)可得:
[0223]
[0224]
在有一特定的观测时间段内,对于某一个特定的视频节目来说,参数T,PT,η和V是不变的,而CN和SN又是相互约束的,因此分发该视频的总流量Q MCB则仅由CN或者SN决定,这一点从式(17)也可以看出。也就是说,不同的轮播信道数将导致产生不同的分发流量,进而对应于不同的分发效率。因此,固定变量T,PT,和V,我们可以找到一个最佳的信道数目CN,使得分发视频所产生的流量Q MCB达到最小。由于Q MCB相对于CN的函数,所以很明显这是一个求最小值得问题。
[0225]
对式(17)求变量Q MCB相对于CN的最小值得:当满足:
[0226]
[0227]
也即:
[0228]
[0229]
时,总流量达到最小,将结果代回式(17),可得最小流量为:
[0230]
[0231]
其中,式(19)的CN在实际中是整数近似值。并且,CN的值是轮播信道数目的极小优化值。
[0232]
由轮播信道CN大于等于1可以得到另一个使用轮播分发方案的节目有效点击量阈值V th
[0233]
将式(19)代入不等式CN≥1中可得:
[0234]
[0235]
式(20)中C 3和C 4是常量参数(对于特定的观测时间段和特定的视频节目来说)。式(19)表明了:单一节目在小的时间段内,采用本技术方案通过轮播分发视频时所产生的流量和视频的有效点击量之间呈对数关系增长。也即随着有效点击量的增加,使用本技术方案通过轮播分发视频时产生的流量呈对数形式在增长,对数增长是一种非常缓慢的增长方式。
[0236]
上面的讨论轮播方案是针对一个小的时间段内的单一节目,下面在此基础上对它进行推广和总结,使之适用于更为一般的场景:在一个较长的时间段内,包含有大量视频节目的视频网站。
[0237]
假设:某视频网站总节目量为PN;每个视频节目的节目时长为PT m。m的取值范围为1到PN,表示节目的热度排名;划分的小的观测时间段的总数为N,每个小的观测时间段时长为T n,n的取值范围为1到N;在某一个小的观测时间段内某一视频节目的有效点击量为 在某一小的观测时间段内所有视频节目的有效点击量为 所有观测时间段内所有节目的总的有效点击量为V D
[0238]
那么,根据式(19),使用轮播方案在第n个小的观测时间段内分发第m个节目所产生的流量即为 可以由以下公式给出:
[0239]
[0240]
代入式(21)可得某小的观测时间段Tn内的分发所有节目的流量 和有效点击量 的关系:
[0241]
[0242]
其中,C 5和C 6对于特定的观测时间段来说是常量参数。
[0243]
代入式(22)可得分发时段所有节目的流量Q D和总的有效点击量V D的关系:
[0244]
[0245]
其中,C 7和C 8是常量参数。
[0246]
式(23)表示,本技术方案的轮播分发视频节目非常适合长时间段,包含大量视频节目的视频网站这种普遍的场景。
[0247]
前面分析了方案得流量特性,这里从方案传输节目内容所需信道数来分析轮播方案得特性。类似的:在一定的时间段内,对于某个特定的节目来说,采用纯点播的分发方案还是采用轮播分发方案很大程度上取决于该视频节目在特定时段内的有效点击量。由于视频有效点击量的日分布的不均匀分布,需要把一个较长的时间段分割成许多较短的 小时间段,使得在每个小的时间段内视频节目的有效点击量的波动都不太剧烈,这样处理之后,前文的假设条件将都满足,分析和结论都可以适用。
[0248]
对于某个时间段内的单一节目,根据前面的分析,由于轮播的流量是采用信道数和其持续时间的乘积表示,所以可得如果采用轮播分发方案时的信道数为流量除以信道持续时间:
[0249]
[0250]
这里T为观测时间段,也就是划分的小的时间段;PT是节目时长;η为节目时长和观测时长之比;V是该时间段内该节目的有效点击量;轮播信道数CN和轮播切片数SN是一对相关的变量,其具体关系由式(1)约束。
[0251]
于是,把式(1)代入上式(24)得:
[0252]
[0253]
在有一特定的观测时间段内,对于某一个特定的视频节目来说,参数T,PT和V是不变的,而CN和SN又是相互约束的,因此分发该视频的总信道数BN MCB则仅由SN或者CN决定,这一点从式(25)也可以看出。因此,固定变量T,PT和V,我们可以找到一个最佳的信道数目CN,使得分发视频所需的总信道数BN MCB达到最小。由于BN MCB相对于CN的函数,所以很明显这是一个求最小值得问题。
[0254]
当满足:
[0255]
[0256]
时,总流量达到最小。可见式(26)和式(18)完全一致,说明无论是从流量还是从信道数都能够得到相同的结论。将公式(26)代入式(25)可得最小信道数为:
[0257]
[0258]
其中,式(26)里的CN在实际中是整数近似值。
[0259]
式(27)中C′ 3和C′ 4是常量参数对于特定的观测时间段和特定的视频节目来说。式(27)表明了:单一节目在小的时间段内,采用轮播方案分发视频时所需要的信道数和视频的有效点击量之间呈对数关系增长。也即随着有效点击量的增加,使用轮播方案分发视频时所需要的信道数呈对数形式在增长,对数增长是一种非常缓慢的增长方式。
[0260]
当有大量视频节目时,假设:某视频网站总节目量为PN;每个视频节目的节目时长为PT m。m的取值范围为1到PN,表示节目的热度排名;划分的小的观测时间段的总数为N,每个小的观测时间段时长为T n,n的取值范围为1到N;在某一个小的观测时间段内某一视频节目的有效点击量为 在某一小的观测时间段内所有视频节目的有效点击量为 所有观测时间段内所有节目的总的有效点击量为V D
[0261]
那么,根据式(27)使用轮播方案,在第n个小的观测时间段内分发第m个节目所需要的信道数即为 可以由以下公式给出:
[0262]
[0263]
代入式(28)可得某小的观测时间段内的分发所有节目的信道数 和有效点击量 的关系:
[0264]
[0265]
其中,C′ 5和C′ 6对于特定的观测时间段来说是常量参数。
[0266]
代入式(29)得分发时段所有节目所需的信道数BN D和总的有效点击量V D的关系:
[0267]
[0268]
其中,C′ 7和C′ 8是常量参数。
[0269]
式(30)表示,本技术方案非常适合长时间段,包含大量视频节目的视频网站这种普遍的场景。
[0270]
针对不计补包的轮播分发方案,式(16)的第二项为零延时的补包所产生的流量,如果最短切片时长S较小,则考虑到用户的容忍时延可以不补包,此时的流量为:
[0271]
Q MCB=b*T*CN 式(31)
[0272]
其中,CN为轮播所需信道数目。很显然,在观测时间T一定时,轮播流量Q MCB是轮播信道CN的单调函数。而CN取值与SN取值一一对应,均与切片时长和节目时长有关,具体关系如式(4)。因此结合式(1),式(4)和式(31)有无补包轮播流量:
[0273]
[0274]
因为纯点播没有补包,所以不计补包的流量和式(5)相同。因此在不计补包时采用轮播和纯点播的阈值的V′ th是满足此时的不等式Q MCB<Q VOD的解。这里的Q MCB和Q VOD分别为式(33)和式(5)的值。式(33)表达式为:
[0275]
[0276]
其中,不等式左边是某一视频的观看人数,不等式右侧是一个阈值,用V′ th表示。可以看出,当某一时间段内的点击量大于某一阈值时,在该时间段内使用轮播进行分发划算,否则采用纯点播方案分发视频更划算。并且,在确定最小切片时长时,点击量高于阈值越多,效率越高;或者在同样的点击量下,阈值越小于该点击量,也即切片时长越大,效率越高。
[0277]
公式(32)是单个节目在某一时间段内的流量,也即:
[0278]
[0279]
从上式可以看出,某个节目在某时间段内的流量与该视频的点击量无关。
[0280]
如果只考虑点击量大于阈值的V′ th的节目,则就有类似上一节的结论。把 代入式(34)可得某个小的观测时间段内的所有点击量大于阈值的节目,不计补包时流量为
[0281]
[0282]
和节目的点击量无关。
[0283]
将式(22)代入式(35)可得所有节目的不计补包流量为:
[0284]
[0285]
和节目的点击量无关。
[0286]
对式(34)、式(35)和(36)除以统计时间T这个常数就可以得到对应的信道数和点击量的关系,这里不再一一列出。
[0287]
基于用户观看行为的一种推荐模型预测出用户很有可能选择观看的视频节目,获得不同用户的推送视频节目列表。对于本技术方案来说,推荐模型对不同用户精准推送用 户喜爱的视频节目数据至用户终端。在用户观看视频期间,由于精准推送了用户所要看的视频节目,在视频点击高峰期,提升网络性能,有效提升用户的使用体验。
[0288]
推荐模型从用户观看视频节目的日志记录中获取用户历史点播数据,从历史点播数据中提取用户的兴趣特征。该兴趣特征包括用户ID、视频节目ID、用户观看某个视频节目的观看时长比。进一步地,本技术方案将大量的视频节目聚成几百个大类,相应获得几百个聚类中心。利用兴趣特征与聚类中心计算视频节目与聚类中心对应视频类型之间的相似度,根据该相似度预测用户对各种类型的视频的喜爱度,利用预测的喜爱度向用户终端发送用户所喜爱的视频节目数据。
[0289]
对于推荐模型来说,通过聚类算法将样本视频节目进行分类,比如:实际2万个视频节目数据集,不聚类处理,就要看做2万类,但实际肯定没有那么多类,有些相似类型的视频类型可以归为一类,通过聚类算法,将2万个视频节目聚类成200类,在后续计算相似度时,在数据处理时就降了2个数量级,从而大大降低了算法的复杂度,提高推荐的效率。并且,本技术方案基于用户历史点播数据预测用户所喜爱的视频节目,将每个视频节目的类型信息精准划分,比如:视频节目《无问西东》包含战争因素、爱情因素、社会因素等等,将该视频节目中的各种因素看做隐因子,计算该视频节目的每个隐因子与聚类处理后的每个聚类中心之间的相似度,根据该相似度构建每个视频节目的隐因子向量,利用该隐因子向量预测用户对每个视频节目的喜爱度,依据该预测的喜爱度向用户终端推荐视频节目。虽然视频推荐算法的复杂度降低了,但是由于考虑了视频节目的各种因素,基于用户的历史行为精准的向用户终端推荐视频节目,从而大大提升用户的使用体验。
[0290]
对于本技术方案来说,可以根据不同用户的个性推荐视频节目列表向特定用户推荐视频节目。也可以基于不同用户的个性推荐视频节目列表获得总推荐视频节目列表,根据总推荐视频节目列表向用户推荐视频节目。
[0291]
对于有限推送信道总资源来说,依据所有被推荐节目的热度排名进行推送。对于特定用户来说,仅接收给对应的个性推荐视频节目列表上的视频节目进行本地存储。接收推荐视频节目的用户可以根据本地接收设备上有无用于接收推送内容的存储器及存储器容量的大小、推荐给该用户节目的热度排序采取不同的接收策略。例如:可以接收并存储个性推荐视频节目列表或总推荐视频节目列表中排名靠前的若干节目的全部时长或部分时长;也可以依据用户对节目观看时长的预测,仅仅存储视频节目的部分时长内容;也可以配合轮播算法,接收并存储个性推荐视频节目列表或总推荐视频节目列表中前面 若干节目的第一个切片时长,以节省轮播补包流量;进一步地也可以根据该用户对节目快进行为的预测接收存储被推荐节目时长中后段的轮播切片,以减少快进补包流量。进一步地,根据用户24小时或周一到周日或工作日到节假日不同的观看时间喜好,确定节目推送周期、推送信道资源分配、被推送节目的排序、接收机存储器刷新等策略。例如根据信道资源数量,可以安排每天推送数次排名靠前(热度高)的节目,每天推送一次热度居中的节目,每周推送一次热度偏低的节目(假设接收存储器刷新周期为7天)。可以依据不同绝对时间的推送与轮播信道流量判据公式安排信道资源数量和推送节目列表策略。一般而言,在傍晚时间轮播将占据更多信道资源,在后半夜推送将占据更多资源。
[0292]
在本技术方案中,视频分发阶段中轮播信道充足时可能出现轮播信道空余的情况,此时利用空余的轮播信道推送视频节目给用户。具体安排过程如下:首先将所有要推送的视频节目依据预测出的观看人数进行排名,优先安排可能的观看人数多的视频节目,将该视频节目放入一个信道内推送给可能观看的用户,直到没有空余轮播信道为止。
[0293]
对于轮播信道没有空余的情况,为了提高视频分发的效率,当预测出的某个视频节目的观看人数非常多,满足下面的式(37)时,即推荐效率高于轮播效率和点播效率时,用部分轮播信道分发推荐模型预测出的视频节目。
[0294]
[0295]
其中, 为当前进入轮播的承载的VOD流量最低的节目中最后一个占用轮播信道内的在线人数与观看时间进度之间的面积。I p为用户对推荐节目的喜爱度矩阵,B为被推荐用户的缓存大小矩阵,PT为节目时长矩阵,p为预测精确率,λ(t)为控制参量,与当前的绝对时刻有关,和当前的用户点击总人数成反比;b为视频传输速率。
[0296]
基于上述描述,在图1的基础上,如图5所示。视频分发方法还包括:
[0297]
步骤103):所述轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据总喜爱度列表通过空余轮播信道将对应视频节目分发。
[0298]
在实际中,首先通过推荐算法得到每个用户的推荐节目列表(从热到冷,或该用户点击概率高到点击概率低的节目排序);再由所有用户的推荐列表进行节目被推荐次数进行求和统计,获得推送节目的热度列表。推送是根据被推送节目的热度列表,根据信道资源的大小从热度高的到热度地的送入推送队列,利用广播信道向所有用户广播分发的过程。可以是一次性也可以是周期性的。
[0299]
用户向量:u=[1,2,3,...,U],节目向量:p=[1,2,...,P]。首先获得某用户u对某节目的喜爱度r的矩阵Rup,针对某节目p,所有用户对该节目的喜爱度求和 对该向量进行从大到小排序得到 其中R 1′≥R 2′≥···≥R P′,排序后r的下标向量 即为推送的节目列表。
[0300]
在图1的基础上,如图6所示,视频分发方法还包括:
[0301]
步骤103‘):确定向所有或特定用户终端推送的视频节目;
[0302]
步骤104‘):获取第一结果;其中,所述第一结果表示为推送的视频节目预计产生的VOD流量;
[0303]
步骤105‘):从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据所述在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积;
[0304]
步骤106‘):将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目;将剩余轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积作为第二面积,继续比较,直至第一结果小于等于第二结果。
[0305]
基于上述描述,如图7所示,为向用户终端推送视频节目的方法流程图。包括:
[0306]
步骤701):获取用户的历史点播数据。
[0307]
在本实施例中,用户过去一天、一周或一个月的历史点播视频的日志记录作为数据源,获取每个用户过往历史点播信息。在日志记录中,包括:用户ID、视频节目ID、观看起始时间、观看结束时间。
[0308]
步骤702):从所述历史点播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比。
[0309]
在本实施例中,对历史点播数据进行预处理,将每一条日志记录中对应用户观看对应视频节目的起始时间、观看结束时间获得用户观看某个视频节目的观看时长比。在本技术方案中,利用用户的观看时长比来作为用户的观看时长替代指标,并以此作为用户对视频节目兴趣程度的定义,如果定义dur i为节目i的总节目时长,那么du i/dur i就是节目时长比,可以表示用户u对节目i的感兴趣或者喜爱程度,du i/dur i的取值范围设定为 [0,1]。因此,根据预处理结果提取兴趣特征,兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比。
[0310]
步骤703):根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得。
[0311]
在本技术方案中,计算视频节目间的相似度,并将相似的视频节目通过聚类算法聚到同一类中。关于相似度的计算,这是聚类算法中最为重要且最为关键的一步。首先,针对性地选择相应地相似度计算公式。目前比较流行的相似度公式有曼哈顿距离公式,欧式距离公式和皮尔逊公式等。经过多次尝试,本技术方案最终使用曼哈顿距离公式计算视频节目之间的相似度。视频节目和视频节目之间的相似度计算如式(38)所示:
[0312]
[0313]
式(38)中,sim(i,j)表示视频节目i和视频节目j之间的相似度,c i,c j分别是观看了视频节目i和视频节目j的用户数量,即节目热度,乘以节目热度的倒数以降低热度较高的视频节目的影响,d ij是视频节目i和视频节目j之间的距离,如式(2)表示,d ij取值范围为0到正无穷,这样 取值范围是0到1,当 为0时,说明两个视频节目完全不同,当 为1时说明两个视频节目基本类似,d ij具体定义如式(39)所示,r ui是用户u观看视频节目i的观看时长比,r uj是用户u观看视频节目j的观看时长比,U是同时观看过视频节目i和视频节目j的用户集合,将用户u观看视频节目i的观看时长比减去观看视频节目j的观看时长比并取绝对值,然后对U中所有用户的观看时长比做同样处理并求和,再得到视频节目i和视频节目j之间的距离。
[0314]
[0315]
在本实施例中,选取各种各样类型的大量的视频节目作为样本数据集,对该样本数据集进行聚类处理。首先,在样本数据集中发现初始的簇中心,即样本数据集中节目相似度最小的两个节目,并标记为c 1,c 2。根据最近邻原则以c 1,c 2为聚类中心来聚类相应视频节目,获得聚类结果。在聚类结果中,选取包含视频节目数据量最大的那个簇,选择该簇中与簇中心节目相似度最小的那个视频节目作为新的簇中心。根据最近邻原重新对所有节目以新的簇中心进行聚类,直至聚类中心数达到最大值K,则最终得到总聚类数为K的聚类中心center={c 1,c 2,......,c k}。假如聚类数没有达到K,则继续聚类处理。
[0316]
步骤704):根据所述相似度确定视频节目的隐因子向量。
[0317]
在本实施例中,将视频节目中隐含的可以表示节目类型信息的某种因素看作隐性因子,诸如视频节目的喜剧逗笑程度、恐怖程度、爱情内容中的温情甜蜜程度等等。
[0318]
在本实施例中,在获得节目隐因子之后就可以进行节目因子向量的构建工作。本技术方案把节目因子向量定义为多维的,这是由于视频节目基本上不会是单一的因素,如在一部电影中,可能基本没有科幻这种成分,但有可能包含喜剧成分、恐怖成分等等。为此,关于视频节目i,则可表示成式(40):
[0319]
p i=(p i1,p i2,...,p ik,...,p iK) (40)
[0320]
式(40)中,p i是一个由K个隐因子构成的节目向量,p ik是视频节目i中第k个隐因子所占的比例,该比例值可通过计算视频节目i与不同隐因子之间的相似度得到,这里隐因子对应通过聚类处理获得的聚类中心。聚类中心代表某一类型视频节目,下面的式(41)中,sim(i,center(k))表示视频节目i和第k个聚类中心之间的相似度,相似度的计算如上式(38)获得,第k个聚类中心通过聚类算法确定。
[0321]
p ik=sim(i,center(k)) (41)
[0322]
在本技术方案中,计算得到视频节目i中各个隐因子的比例大小后,因为有的比例值非常小,有的则相对很大,这样不便于反映视频节目的特征和后续的计算。因此,需要再对视频节目i的各隐因子的比例值进行归一化处理。
[0323]
首先,获取视频节目i中所占比例最大的隐因子,其定义如下面式(42)所示:
[0324]
sMax=max(sim(i,center(k))) (42)
[0325]
上式中,max(sim(i,center(k)))表示视频节目i和每个聚类中心相似度中最大的那个相似度值,将p ik除以sMax可以限制p ik的取值位于0到1之间,从而对p ik进行了归一化,如式(43)所示。
[0326]
[0327]
因为视频节目中某些所占比例较小的隐因子可能是噪声数据或者冗余数据,可以去掉视频节目中某些所占比例值较小的隐因子。采取的办法是先设一个阈值,假如归一化处理后的p ik在阈值之下,则将数值置为零,经过归一化、置零处理,获得视频节目i的隐因子向量。
[0328]
步骤705):确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[0329]
在本实施例中,对所有用户的兴趣特征根据损失函数进行求解,损失函数如式(44)所示,通过随机梯度下降法求解,使得确定当损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[0330]
[0331]
式(44)中,min表示求解当损失函数取得最小值时b i、b u、q u和y i的大小,上式中r ui是用户u对视频节目i喜爱度的真实值,λ是正则化参数,上式第一行采用的是求用户u对视频节目i喜爱度的真实值r ui和用户u对视频节目i喜爱度的预测值之间最小平方误差的方法,第二行是为了防止过拟合引入的正则项,用λ来维持正则化的程度,它的大小由交叉验证获得。
[0332]
步骤706):根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得用户对每个节目的喜爱度预测值。
[0333]
在本实施例中,下面式(45)获得用户u对视频节目i喜爱度的预测值 并根据用户观看视频节目的历史记录来确定观看时长比。具体计算公式(45)所示:
[0334]
[0335]
式(45)中,μ是所有用户对于其所看过节目的一个平均喜爱度,b i是视频节目i被所有用户所喜爱的程度相对于平均值μ的偏离值,比如某个视频节目质量较低,则用户对它的评分一般也不会高;b u是用户u对所有观看过的节目表现的喜爱度相对于平均值μ的偏离值,比如用户本身就比较随和,哪怕节目质量在平均水准之下,用户也能接受即并不排斥,那么,该用户的喜爱度会在平均值μ之上;p i是视频节目i的隐因子向量,在步骤904中已经获得。q u是用户u的隐因子向量,它表示用户对视频节目隐因子的喜爱度,初始值被定义为[0,1]范围之间的随机值,N(u)是用户u观看过的所有节目的集合,根据不同的视频节目ID的数量进行统计获得。在本技术方案中,不同的视频节目,通过不同的视频节目ID进行表示。|N(u)|是该集合的节目总数,为了降低活跃用户的影响,在式(45)中|N(u)|取了倒数,取根号是为了防止降得过大,y j是用户u和所观看的视频节目j之间的隐因子向量。
[0336]
式(45)主要基于隐因子模型的思想来进行计算,还引入了用户的历史点播数据。隐因子模型最初被引入推荐系统领域主要是要应用于打分系统,其主要思想是充分使用打分数据。比如电影推荐系统中,可以先计算出电影的隐因子向量以及用户的隐因子向量,用户对于电影的预测打分值可以通过计算隐因子向量的内积得到。前面讨论过,电影或者视频中的隐因子可以理解为武打成分或者恐怖度在整部电影中所占比例的多少。用数学去描述就是式46将N×M的评分矩阵R分解成M×F的电影-隐因子矩阵P和N×F的用户-隐因子矩阵Q。其中,N、M和F分别是n×r、r×m和r×r大小的矩阵,式(46)所示:
[0337]
R=Q*P T (46)
[0338]
上式中,P T是电影隐因子矩阵P的转置矩阵。
[0339]
步骤707):根据所述喜爱度预测值确定向对应用户终端推荐的视频节目。
[0340]
在本实施例中,利用本技术方案,能够获得不同用户ID对不同视频节目ID的喜爱度预测值 所有的 构成喜爱度预测矩阵。其中,该矩阵的行号对应不同的用户ID,该矩阵的列号对应不同的视频节目ID,该矩阵的元素值为不同用户对不同视频节目的喜爱度预测值。比如:给用户u推荐视频节目,从喜爱度预测矩阵中抽出第u行,就是用户u对所有视频节目的预测喜爱度,式(47)中 是用户u对n个视频节目的喜爱度预测值, 是用户u对视频节目n的喜爱度预测值:
[0341]
[0342]
在实际应用中,将用户u观看过的视频节目剔除掉;按所述喜爱度预测值的大小对剩余的视频节目降序排列,根据排列结果生成推荐列表;将所述推荐列表中排在前面的视频节目的数据发送至用户终端。
[0343]
根据上述实施例描述可知,本推荐模型既考虑了用户的历史点播数据和视频节目的隐因子,并通过聚类算法将样本视频节目数据进行聚类,使得推荐处理时在综合考量了视频节目的类型的基础上降低了视频节目的维度,实现了高准确率的视频推荐服务,能有效提升用户的使用体验。
[0344]
前文提及,视频节目通过轮播信道分发的方法为DeRe轮播方法或WHB轮播方法。在这里,详细描述WHB轮播方法。如图8所示,为WHB轮播方法流程图。包括:
[0345]
步骤801):对视频信息以均等时长切分,获得每个时系的视频分片S i;其中,i为视频分片的分片序号;所有视频分片S i按分片序号顺序递增的顺序串联起来构成所述视频信息。
[0346]
在本实施例中,假设有一个时长为D的视频节目,视频节目的播放速率为b,所以视频的总大小为S=D*b。以时长为120分钟的视频节目为例,假如播放速率为10Mbps,那么该视频的总大小为9Gbytes。假设希望将用户的等待时间减少到:
[0347]
T=D/N (48)
[0348]
其中,N是一个正整数;T为用户等待时间。
[0349]
在本技术方案中,将视频节目均等切分为N个分片。令S i为视频节目的第i个分片。每个S i的时长均为d。我们将时长d称为一个时系。所有的分片按其分片序号递增的顺序串联起来构成了整个视频节目。
[0350]
步骤802):将每个视频分片S i以均等时长切分,获得每个时系的视频子分片S i,j;其中,每个时系的视频子分片S i,j的个数与同一时系对应的所述视频分片的分片序号相等;i为视频分片的分片序号,j为视频分片的所有视频子分片的子分片序号;所有视频子分片S i,j按子分片序号顺序递增的顺序串联起来构成所述视频分片S i
[0351]
在本技术方案中,将视频节目的第i个分片S i均等切分为i个子分片。令S i,j为分片S i的第j个子分片,所有的子分片按其分片序号递增的顺序串联起来构成了整个分片。S i,j的大小为S i/i。如图9所示,展示了本技术方案视频分割的例子,其中N=10。先将视频均等切分为10个分片,再将视频的第i个分片S i均等切分为i个子分片。
[0352]
步骤803):将所有时系的视频子分片通过至少两个轮播信道进行传输,实现视频信息轮播。
[0353]
在本技术方案中,将所有时系的视频子分片通过至少两个带宽相等的信道进行传输的步骤包括:
[0354]
根据每个视频分片的第一视频子分片的大小,按照分片序号顺序递增方式依次将每个视频分片的第一视频子分片以轮播信号的序号顺序递增方式放置在相应轮播信道的第一时系的空间内的相应位置处;
[0355]
在所有轮播信道的其他任意时系k的空间内,每个视频分片S i的视频子分片S i,j在所述轮播信道中的位置与对应视频分片的第一视频子分片S i,1在轮播信道的第一时系的空间内的位置相同;其中,j=(k-1)mod i+1。
[0356]
在实际中,在仅有一个轮播信道的情况下,所述视频节目以节目时长为周期在所述轮播信道里循环分发。
[0357]
在本实施例中,假设我们有足够多的信道来传输该视频节目,每个信道的传输带宽相等。以N=10为例,考虑第一个时系各信道内子分片的安排:首先将子分片S 1,1放置在信道C 1内,此时C 1在第一个时系内剩余的空间为0,如图10a、图10b所示。阴影部分表示信道内的剩余空间。无阴影的元素表示已经被安排的子分片。然后将S 2,1放置在信道C 2内,此时C 2在第一个时系内剩余d/2的空间,继续将S 3,1放置在信道C 2内,此时C 2只剩余d/6的空间,不足以放置S 4,1,因此将S 4,1放置在信道C 3内,此时C 3剩余3d/4的空间;继续将S 5,1放置在信道C 3内,C 3剩余11d/20的空间;在放置S 6,1时,由于信道C 2剩余空间足够容下S 6,1,因此将分片S 6,1放置在信道C 2内,C 2的剩余空间为0;继续安排子分片S 7,1,S 8,1,S 9,1,S 10,1,如图10c、图10d、图10e和图10f所示。这种安排的方式实际上是一种贪心算法,具体来说,就是把每一个分片的子分片尽量放置在序号小的信道的剩余空间内,这四个子分片均可被放置在信道C 3内,C3剩余空间为179d/2520。
[0358]
上述是第一个时系内信道内子分片的位置安排,基于此,在任意时系k中,属于分片S i的子分片S i,j在信道中的位置与子分片S i,1在第一个时系中在信道内的位置相同。其中,j=(k-1)mod i+1。例如:分片S 6在第10个时系内的子分片为S 6,4,在该时系内子分片S 6,4位于信道C 2的末端。各信道以该模式周期性的广播视频的所有子分片。
[0359]
如图11所示,为基于WHB轮播算法的视频信息接收方法流程图。包括:
[0360]
步骤1):生成视频下载请求;
[0361]
步骤2):以所述视频下载请求的生成时刻为起始时刻、在每一个时系的时间段内,当任意一个轮播信道出现任意一个视频子分片的起始点时,判断所述视频子分片是否被完整接收过;
[0362]
步骤3):根据判断结果,在未被完整接收的视频子分片的起始点起从相应轮播信道开始接收所述视频子分片。
[0363]
假设在客户端有足够多的空间来缓存部分正在被播放的视频。要观看一个视频时用户等待下载视频数据直到遇到任意一个信道中的任意一个子分片的起始点。假设用户在T 0时刻开始下载视频数据。用户在接收分片时须遵循以下步骤:
[0364]
1)在一个时系的时间内,即T 0至T 0+d时间段内,当任意一个信道C i(1≤i≤channelID max)出现任意一个子分片S i,j的起始点时,用户开始从信道C i下载视频数据。假 设用户开始下载子分片S i,j的时刻为T 0i(0≤δ i<1),其中,δ i为从T 0时刻开始直到遇到子分片S i,j的起始点经过的时间。
[0365]
2)当分片S i已经被用户接收完整,用户停止从S i所在信道C j接收分片S i,当信道C j出现未被完整接收的分片S k的子分片的起始点时,用户继续从信道C j接收视频数据。对于分片S i,在T 0+(i-1)d+δ i时刻用户停止接收其所有子分片。
[0366]
3)为了保证视频能够连续播放,我们将用户开始观看的时间点后延一段时间。如果用户在T 0时刻开始下载视频数据,如图12所示,图12中浅阴影部分为从T 0时刻开始接收并从T 0+d时刻开始观看视频的用户接收的视频分片,那么在T 0+d时刻开始观看视频的用户接收的视频分片,实现不间断的观看该视频。
[0367]
本技术方案在保持HB算法低传输带宽需求的特定同时,将原有的切片方式和信道涉及进行了改进,使得本技术方案易于工程化实现。但是本技术方案在传输视频节目时所需的带宽接近轮播算法的理论下限,并且本技术方案适于一旦信道带宽确定了就不能更改的场景。进一步地,由图12可知用户在发送观看视频请求后需要等待一个时系的时长才能观看视频。
[0368]
如图13示,为轮播分发方案的网络拓扑示意图。图13中,标记表示BCDN(Broadcasting Content Distribution Networks),标记231、标记232、标记233均表示GW CDN(gateway CDN)是类似家用路由器设备。其中,BCDN(Broadcasting Content Distribution Networks)是利用广播信道进行内容分发的方法统称,其核心算法是基于本技术方案的视频分发方法。
[0369]
CDN与GW CDN采用组播网络方式分发,如图13中标记22,这样就可利用极少的网络带宽基础上,传送了重复的热门视频流叠加的带宽流量,即使增加终端数量,网络容量也不用增加,CDN只有部署一个即可。CDN与GW CDN之间同时有双向网络连接,用于传送交互信令和一些低速的网络数据。
[0370]
图14为轮播分发方案的流程图,详细过程描述如下:
[0371]
S301:BCDN确定目标热门视频。把目标热门视频从VOD点播转入轮播发送。首先将目标热门视频切片。对目标热门视频以均等时长切分,获得每个时系的视频分片S i;其中,i为视频分片的分片序号;所有视频分片S i按分片序号顺序递增的顺序串联起来构成所述视频信息。将每个视频分片S i以均等时长切分,获得每个时系的视频子分片S i,j;其中,每个时系的视频子分片S i,j的个数与同一时系对应的所述视频分片的分片序号相等;i为视频分片的分片序号,j为视频分片的所有视频子分片的子分片序号;所有视 频子分片S i,j按子分片序号顺序递增的顺序串联起来构成所述视频分片S i。将所有时系的视频子分片通过轮播信道进行传输。将目标热门视频发送到广播网络上。
[0372]
S302:终端产生播放请求,启动目标热门视频下载。该播放请求为URL。首先对URL进行DNS解析,DNS服务器根据策略把域名映射到BCDN相应IP地址上,这样请求先到达BCDN,如请求URL解析为http://www.BCDN.com/a.mp4。
[0373]
S303:BCDN收到请求,进行请求检验,查询是否有相关片源、片源是否正在推播,当符合播放启动要求后,返回重定向应答,返回GW CDN的相关URL,如重定向URL可设置为http://gw_cdn.com/a.mp4。
[0374]
S304:终端根据重定向URL把请求发送到GW CDN上,需在终端设备的局域网上,配置DNS映射,把gw_cdn.com的域名与GW CDN的IP地址对应起来,在每个局域子网上,都会部署GW CDN设备。
[0375]
S305:GW CDN向BCDN发请求,请求中包含点播视频片源名字、编号信息等,请求交换格式为易读性和扩展性好的JSON格式。
[0376]
S306:BCDN返回轮播信道的信息,包含相关轮播信道的IP地址、端口或频点、PID。
[0377]
S307:GW CDN接收切片数据,并把切片数据排序,缓存先到的切片,同时把流数据整合成终端播放所支持的协议格式。
[0378]
S308:结束播放时,终端给GW CDN发结束消息,GW CDN停止从推播通道收流,也停止发流给终端,清除播放控制状态。
[0379]
S309:GW CDN把播放结束消息转给BCDN,BCDN同步更新播放状态,同时清除相关状态和数据库。
[0380]
在WHB轮播算法实现方案中,采用了切片多通道分发方式,根据每个视频分片的第一视频子分片的大小,按照分片序号顺序递增方式依次将每个视频分片的第一视频子分片以轮播信号的序号顺序递增方式放置在相应轮播信道的第一时系的空间内的相应位置处;在所有轮播信道的其他任意时系k的空间内,每个视频分片S i的视频子分片S i,j在所述轮播信道中的位置与对应视频分片的第一视频子分片S i,1在轮播信道的第一时系的空间内的位置相同。这样保证观看者无论何时,从片源开头播放,需等待的时间极短,等待时间取决于切片时长,一般粒度控制在几秒内。在实际中,第一种切片时长确定方法:所述视频节目的轮播信道数目是通过轮播信道分发的视频节目的轮播流量和补包流量之和求导确定;所述轮播切片时长根据轮播分片数目和所述视频节目时长确定; 其中,所述轮播分片数目利用所述轮播信道数目确定。第二种切片时长确定方法:所述视频节目的轮播切片时长设置为常数,所述轮播信道数目根据轮播分片数目确定;其中,所述轮播分片数目利用所述轮播切片时长和所述视频节目时长确定。
[0381]
在本技术方案中,本申请实施方式提供第四种视频分发方法,包括:
[0382]
获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0383]
确定向对应用户终端推荐的视频节目;
[0384]
所述轮播信道数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,通过空余轮播信道向对应用户终端推送视频节目。
[0385]
优选地,所述视频分发方法还包括:
[0386]
所述轮播信道数目小于所有通过轮播信道分发的视频节目占用的轮播信道总数时,获取第一结果;其中,所述第一结果表示为被推荐的视频节目预计产生的点播流量;从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据所述在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积;将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目。
[0387]
如图15所示,为本申请实施方式提供一种视频分发装置功能框图。包括:
[0388]
热度获取单元a,用于获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度;
[0389]
视频分发单元b,用于根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容。
[0390]
优选地,所述视频分发单元用于:
[0391]
利用每个视频节目的有效点击量确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量为在统计时间段内观看所述视频节目的总时长除以统计时长获得。
[0392]
优选地,所述视频分发单元包括:
[0393]
第一比较子单元,用于比较每个视频节目的有效点击量与有效点击量阈值,获得第一比较结果;
[0394]
第一视频分发子单元,用于根据所述第一比较结果确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量阈值根据所述视频节目的时长、轮播信道数目、观测时间段、轮播切片时长确定。
[0395]
优选地,所述第一视频分发子单元具体用于:
[0396]
所述视频节目的有效点击量大于所述有效点击量阈值,通过轮播信道分发所述视频节目;所述视频节目的有效点击量小于等于所述有效点击量阈值,通过点播方式分发所述视频节目。
[0397]
优选地,所述视频分发单元还包括:
[0398]
历史点播数据获取子单元,用于获取通过轮播信道分发的视频节目的历史点播数据;
[0399]
第一兴趣特征获取子单元,用于从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比;
[0400]
第一相似度获取子单元,用于根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得;
[0401]
第一隐因子向量获取子单元,用于根据所述相似度确定视频节目的隐因子向量;
[0402]
第一参数确定子单元,用于确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量;
[0403]
喜爱度值获取子单元,用于根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得所述视频节目的的喜爱度值;
[0404]
第一排序子单元,用于根据所述喜爱度值将通过轮播信道分发的视频节目进行排序;
[0405]
第二视频分发子单元,用于根据排序结果将对应视频节目通过轮播信道进行分发。
[0406]
优选地,所述第一参数确定子单元具体用于:
[0407]
对损失函数利用随机梯度下降法求解,确定当所述损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[0408]
优选地,所述第一相似度获取子单元通过曼哈顿距离公式、欧式距离公式或皮尔逊公式获取相似度。
[0409]
优选地,所述第一隐因子向量获取子单元包括:
[0410]
第一最值相似度模块,用于从所述视频节目与每个聚类中心之间的相似度中获取最大相似度、最小相似度;
[0411]
第一归一化模块,用于将所述视频节目与每个聚类中心之间的相似度均除以所述最大相似度或最小相似度,获得归一化结果值;
[0412]
第一置零模块,用于将小于阈值的归一化结果值置于零,将大于等于的阈值的归一化结果值保持不变,得到的结果值构成的向量为所述视频节目的隐因子向量。
[0413]
优选地,所述视频分发单元还包括:
[0414]
第二排序子单元,用于将通过轮播信道分发的视频节目的有效点击量进行排序;
[0415]
第三视频分发子单元,用于根据排序结果将对应视频节目通过轮播信道进行分发。
[0416]
优选地,所述视频分发单元还包括:
[0417]
单位信道流量承载率获取子单元,用于获取通过轮播信道分发的视频节目的单位信道流量承载率;
[0418]
第三排序子单元,用于将通过轮播信道分发的视频节目的单位信道流量承载率进行排序;
[0419]
第四视频分发子单元,用于根据排序结果将对应视频节目通过轮播信道进行分发。
[0420]
优选地,所述视频分发单元还包括:
[0421]
第二参数确定子单元,用于获取通过轮播信道分发的视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0422]
第一划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0423]
第一比较子单元,用于在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积;
[0424]
第五视频分发子单元,用于每比较一次,分配一个轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发。
[0425]
优选地,所述视频分发单元还包括:
[0426]
在线观看人数曲线子单元,用于获取通过轮播信道分发的视频节目的在线观看人数曲线;
[0427]
轮播信道数目确定子单元,用于根据所述视频节目的第一轮播时长确定通过轮播信道分发的视频节目的轮播流量和补包流量之和的最小值对应的轮播信道数目;
[0428]
轮播切片参数确定子单元,用于根据轮播信道数目、所述视频节目的第一轮播时长确定轮播切片时长以及轮播分片数目;
[0429]
第二划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0430]
第二比较子单元,用于在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积;
[0431]
轮播时长确定子单元,用于根据每次比较结果,确定每条轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发;在比较次数等于轮播信道数目时,统计所述最大面积对应的时长,获得每个视频节目的第二轮播时长;
[0432]
迭代子单元,用于获得第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值,如果绝对值小于等于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为所述视频节目的最终轮播时长,并安排轮播信道分发对应的视频内容;如果绝对值大于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为第一轮播时长,根据每次面积比较结果,确定每条轮播信道用于轮播的视频内容以及视频节目的第二轮播时长,直至第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值小于等于阈值,停止迭代运算,并安排轮播信道分发对应的视频内容。
[0433]
优选地,所述视频分发单元还包括:
[0434]
第三参数确定子单元,用于获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0435]
第三划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分;
[0436]
第一排序结果获取子单元,用于获得通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积,并进行降序排列,获得第一排序结果;
[0437]
第二排序结果获取子单元,用于利用所述热度对未放入轮播信道分发的视频节目进行升序排列,获得第二排序结果;获取所述第二排序结果中每个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积;其中,n为未放入轮播信道分发的视频节目的轮播信道数;
[0438]
第六视频分发子单元,用于将第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,如果第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积大于第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,则将所述第一排序结果中对应的n-1个轮播信道用于轮播第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的视频内容;继续将第二排序结果中第二个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果里剩余面积中的前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,直至通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的视频内容被替换或者第二排序结果中当前视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积小于等于第一排序结果里剩余面积中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,并安排轮播信道分发对应的视频内容。
[0439]
优选地,所述热度获取单元通过轮播信道分发的视频节目的轮播流量和补包流量之和求导确定视频节目的轮播信道数目;根据轮播分片数目和所述视频节目时长确定所述轮播切片时长;其中,所述轮播分片数目利用所述轮播信道数目确定。
[0440]
优选地,所述热度获取单元将所述视频节目的轮播切片时长设置为常数,根据轮播分片数目确定所述轮播信道数目;其中,所述轮播分片数目利用所述轮播切片时长和所述视频节目时长确定。
[0441]
优选地,所述热度获取单元获得的所述视频节目的轮播切片时长大于切片时长阈值时,从视频节目起始时刻起通过点播方式获取视频内容,在任意一个轮播信道出现第一个视频子分片的起始点对应的时刻起所述视频节目的视频内容通过轮播信道获得。
[0442]
优选地,所述视频分发装置还包括:
[0443]
目标视频节目确定单元,用于获取确定向对应用户终端推荐的视频节目;
[0444]
第一推荐目标视频节目单元,用于所述轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,通过空余轮播信道向对应用户终端推送视频节目。
[0445]
优选地,所述视频分发装置还包括:
[0446]
第一结果获取单元,用于获取第一结果;其中,所述第一结果表示为被推荐的视频节目预计产生的点播流量;
[0447]
第二结果获取单元,用于从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据所述在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积;
[0448]
第二推荐目标视频节目单元,将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目。
[0449]
优选地,所述目标视频节目确定单元包括:
[0450]
历史点播数据获取子单元,用于获取用户的历史点播数据;
[0451]
第二兴趣特征获取子单元,用于从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比;
[0452]
第二相似度获取子单元,用于根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得;
[0453]
第二隐因子向量获取子单元,用于根据所述相似度确定视频节目的隐因子向量;
[0454]
第二参数确定子单元,用于确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量;
[0455]
喜爱度预测值获取子单元,用于根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得用户对每个节目的喜爱度预测值;
[0456]
推荐子单元,用于根据所述喜爱度预测值确定向对应用户终端推荐的视频节目。
[0457]
优选地,所述喜爱度预测值获取子单元通过用户的历史行为统计获取所述用户观看过的所有视频节目的总数。
[0458]
优选地,所述推荐子单元包括:
[0459]
剔除模块,用于将所述用户观看过的视频节目剔除掉;
[0460]
推荐列表获取模块,用于按所述喜爱度预测值的大小对剩余的视频节目降序排列,根据排列结果生成推荐列表;
[0461]
视频节目发送模块,用于将所述推荐列表中排在前面的视频节目的数据发送至用户终端。
[0462]
优选地,所述第二隐因子向量获取子单元具体用于:
[0463]
对损失函数利用随机梯度下降法求解,确定当所述损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[0464]
优选地,所述第二兴趣特征获取子单元根据观看某个视频节目的时长除以对应视频节目的总时长获得用户观看某个视频节目的观看时长比。
[0465]
优选地,所述第二相似度获取子单元通过曼哈顿距离公式、欧式距离公式或皮尔逊公式获取相似度。
[0466]
优选地,所述第二隐因子向量获取子单元包括:
[0467]
第二最值相似度模块,从所述视频节目与每个聚类中心之间的相似度中获取最大相似度、最小相似度;
[0468]
第二归一化模块,将所述视频节目与每个聚类中心之间的相似度均除以所述最大相似度或最小相似度,获得归一化结果值;
[0469]
第二置零模块,将小于阈值的归一化结果值置于零,将大于等于的阈值的归一化结果值保持不变,得到的结果值构成的向量为所述视频节目的隐因子向量。
[0470]
优选地,所述视频分发单元通过轮播信道分发视频节目的方法为DeRe轮播方法或WHB轮播方法。
[0471]
优选地,所述视频分发单元包括:
[0472]
第一切分子单元,对视频节目以均等时长切分,获得每个时系的视频分片S i;其中,i为视频分片的分片序号;所有视频分片S i按分片序号顺序递增的顺序串联起来构成所述视频节目;所述时系为所述视频节目的视频分片S i的时长;
[0473]
第二切分子单元,用于将每个视频分片S i以均等时长切分,获得每个时系的视频子分片S i,j;其中,每个时系的视频子分片S i,j的个数与同一时系对应的所述视频分片的分片序号相等;i为视频分片的分片序号,j为视频分片的所有视频子分片的子分片序号;所有视频子分片S i,j按子分片序号顺序递增的顺序串联起来构成所述视频分片S i
[0474]
第一轮播子单元,用于将所有时系的视频子分片通过至少两个轮播信道进行传输,实现视频节目轮播。
[0475]
优选地,所述第一轮播子单元包括:
[0476]
第一轮播分发模块,用于根据每个视频分片的第一视频子分片的大小,按照分片序号顺序递增方式依次将每个视频分片的第一视频子分片以轮播信号的序号顺序递增方式放置在相应轮播信道的第一时系的空间内的相应位置处;
[0477]
第二轮播分发模块,用于在所有轮播信道的其他任意时系k的空间内,每个视频分片S i的视频子分片S i,j在所述轮播信道中的位置与对应视频分片的第一视频子分片S i,1在轮播信道的第一时系的空间内的位置相同;其中,j=(k-1)mod i+1。
[0478]
优选地,所述视频分发单元包括:
[0479]
第二轮播子单元,用于在仅有一个轮播信道的情况下,所述视频节目以节目时长为周期在所述轮播信道里循环分发。
[0480]
优选地,还包括:
[0481]
信道带宽确定单元,用于根据所述视频节目的播放码率确定所述轮播信道的带宽。
[0482]
优选地,所述单位信道流量承载率在统计时间段内所有用户观看所述视频节目产生的流量之和减去使用轮播同一视频节目产生的补包流量获得的差值除以轮播所述视频节目使用的轮播信道数,再除以统计时长确定。
[0483]
优选地,所述视频分发装置还包括:
[0484]
快进单元,用于根据快进播放请求指令,将对应时长段的视频内容通过点播方式进行分发。
[0485]
优选地,所述视频分发装置还包括:
[0486]
快退单元,用于根据快退请求指令,从缓存区中获取对应时长段的视频内容。
[0487]
优选地,所述视频分发单元还包括:
[0488]
第四排序子单元,用于根据热度对未放入轮播信道分发的视频节目进行排序;
[0489]
第七视频分发子单元,在所述轮播信道空余时,利用排序结果对未放入轮播信道分发的视频节目进行轮播分发,直至所述轮播信道用完。
[0490]
为实现上述目的,本申请实施方式提供一种视频分发装置,包括:
[0491]
参数确定单元,用于获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线;
[0492]
目标视频确定单元,用于确定向对应用户终端推荐的视频节目;
[0493]
第一视频分发单元,用于所述轮播信道数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,通过空余轮播信道向对应用户终端推送视频节目。
[0494]
优选地,所述视频分发装置还包括:
[0495]
第二视频分发单元,用于所述轮播信道数目小于所有通过轮播信道分发的视频节目占用的轮播信道总数时,获取第一结果;其中,所述第一结果表示为被推荐的视频节目预计产生的点播流量;从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据所述在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积;将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目。
[0496]
如图16所示,为本说明书实施例提出的一种电子设备示意图。包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述图1所述的视频分发方法。
[0497]
本说明书实施方式提供的视频推荐方法,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
[0498]
图17为大量视频节目流量与有效点击量在线性坐标系中的关系图。图18为大量视频节目流量与有效点击量在半对数坐标系中的关系图。在图17和图18中,横坐标表示视频节目的总有效点击量;纵坐标表示分发视频所产生的流量,单位为MB(1MB表示10 6字节(bytes)或者8×10 6比特(bits))。星号曲线描述不同的有效点击量下本技术方案分发视频所产生的流量;o形曲线描述了不同的有效点击量下纯点播方案分发视频所产生的流量;菱形曲线表示不同的有效点击量下不考虑补包情况下本技术方案分发视频所产生的流量。从图17和图18中可以看出,在传统的纯点播分发方案中,分发大量视频所产生的流量随总有效点击量的增加激增,增长趋势大致为线性增长;而在本技术方案中,分发大量视频所产生的流量随总有效点击量的增加相对缓慢了许多,增长趋势大致呈现对数增长。由此可见对于大量视频节目,采用本技术方案分发的效率远远高于传统的纯点播分发方案。
[0499]
表5是在分发大量节目时,不同的总有效点击量,采用本技术方案分发所产生的流量相对于传统的纯点播分发方案所产生的流量所占的百分比。表中xeN表示x×10 N
[0500]
表5
[0501]
[表0003]
点击量V 1e3 1e4 1e5 1e6 1e7 1e8 1e9
percentage(%) 100.00 100.00 99.85 95.40 80.31 38.68 7.26

[0502]
可见,总有效点击量越大,本技术方案分发所产生的流量占传统的纯点播分发方案所产生的流量的比例越少,本技术方案分发所节省的流量就越多,该方案的优势就越显著。
[0503]
使用本技术方案分发大量视频节目的流量表达式中由两部分组成:
[0504]
1)轮播分发所产生的流量;
[0505]
2)补包所产生的流量。
[0506]
其中补包所产生的流量如图19所示。图中横坐标表示视频节目的总有效点击量;纵坐标表示分发视频节目所产生的流量,单位为MB(1MB表示106字节(bytes)或者8×106比特(bits))。
[0507]
在图19中,星形曲线表示本方案分发大量视频节目的总流量;“o”构成的曲线表示其中补包所产生的流量。分发大量视频时,随着总有效点击量增大的增大补包流量增加非常缓慢;当总有效点击量增大到一定的数值后,补包流量不会再随着总有些点击量的增加而增加,补包所产生的流量几乎趋于一个恒定的值。
[0508]
由于补包流量的趋于稳定,随着总有效点击的增加,补包所产生的流量所占总流量的比例将会越来越少。当总有效点击量大到一定程度时补包流量只占总流量的不到20%而已。
[0509]
综上可以得出:使用本技术方案分发大量视频节目的总流量,随着节目总有效点击量的增加呈对数形式增长。
[0510]
如图20所示,不同分发方案流量趋势仿真示意图之一。如图21所示,不同分发方案流量趋势仿真示意图之二。在图20和图21中,图中横坐标表示视频节目的有效点击量;纵坐标表示分发视频所产生的流量,单位为B(1B表示1字节(bytes)或者8比特(bits))。图20为线性坐标系,图21为半对数坐标系。星型曲线描述不同的有效点击量下本技术方案分发视频所产生的流量;“o”构成的曲线描述了不同的有效点击量下纯点播方案分发视频所产生的流量;黑色菱型曲线表示不同的有效点击量下不计补包情况下本技术方案分发视频所产生的流量。由图20和图21可知,对于纯VOD分发方案,按照理想的点对点网络结构,随着点击量的增加,视频流量也线性增长,且流量的增长量也线性增长。
[0511]
为了更为显著地看出补包和不计补包下本技术方案分发视频所产生的流量趋势,如图22所示,图中横坐标表示视频节目的有效点击量;纵坐标表示分发视频所产生的流量,单位为B(1B表示1字节(bytes)或者8比特(bits))。星型曲线描述不同的有效点击量下本技术方案分发视频所产生的流量;黑色菱型曲线表示不同的有效点击量下不计补包情况下本技术方案分发视频所产生的流量。补包下的本技术分发方案随着点击量的增加,流量增长是较为缓慢的对数增长,且流量的增长量也是对数增长的;不计补包下的本技术分发方案,其流量增长是更为缓慢的常数增长,且流量的增长量不随点击量的增加变化,因此当点击量增加到一定程度(最后一名节目的点击量也超过阈值时),流量不再增加。
[0512]
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
[0513]
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
[0514]
在本实施例中,本说明书实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的视频分发方法的步骤。
[0515]
与现有技术相比较,本技术方案将热门视频通过轮播分发的方式或推荐的方式分发给用户终端,将非热门视频通过VOD方式分发给用户终端,不仅能够大量降低总体数据流量,并且随着用户点击量的增加流量增长非常缓慢。从而对于互联网在高峰期的流量拥塞问题将会得到解决。并且,可以大大提高分发效率,降低流量,减少投资,节约资源和能量。
[0516]
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也 可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0517]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式或者实施方式的某些部分所述的方法。
[0518]
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
[0519]
无论对于单个视频节目还是大量视频节目,甚至于对于音乐图片等非视频节目,只要是关于内容的,都可以使用本技术方案。而对于视频,该方案更加有优势而已。本技术方案分发视频所产生的流量随着视频节目有效点击量的增加呈对数增长。这一增长速度非常缓慢。相比于原始的纯点播分发方案,不仅增长趋势缓慢了很多,而且分发相同节目所产生的流量也是大大减少,节省流量效率理论上高达90%以上。并且随着有效点击量的增加,本技术方案的优势将会越加凸显。该方案在信道受限的条件下也有很好的特性,其流量节省率依然高达80%以上。
[0520]
因此该方案可以很好的应用于诸如YouTube,土豆和优酷等大型视频网站。
[0521]
采用本技术方案分发视频相比于传统的VOD(点播)或者CDN(内容分发)分发方式分发视频有以下显著优势:
[0522]
1、传输高效。相同信道下(1000信道上限),轮播方案分发视频数量是传统的CDN分发方案的20倍。传输相同视频节目所产生的流量轮播方案是传统CDN方案流量的大约24%。
[0523]
2、低等待时间。理论上轮播方案可以做到任意时间的等待时间(5秒或者1秒甚至更低,5秒的等待时间对于绝大多数用户都是可以容忍的),并且该等待时间非常稳定;而传统的CDN方式的传输等待时间很大程度上取决于当前传输网络的状况,当网络流畅时等待时间基本可以达到3秒左右,而当传输网络比较拥塞,信道资源紧张时,传统CDN的传输等待时间就会大大增加,10秒钟甚至几分钟都会有可能。
[0524]
3、可靠性高,用户感受好。用户感受好。轮播方案因为传输效率的提高,传输等待时间减少,以及传输等待时间的相对稳定,可以根据用户感受设定等待时间门限,该轮播方案可以保证接收用户在所设定的等待时间门限内开始连续不停顿地观看所轮播的视频内容。因此该轮播方案可靠性的大大提高,进而可以容纳更多的用户观赏视频并且大大提高用户感受。
[0525]
4、低能耗,低投资。高效的传输必然导致传输资源的节省,大大减缓网络拓展的进度,降低有限的网络资源所带来的压力。所以很大地减少了网络建设的投资,为社会节省了很大地能源消耗。
[0526]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0527]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0528]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0529]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0530]
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
[0531]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0532]
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0533]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0534]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机存储器中,使得存储在该计算机存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0535]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0536]
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0537]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0538]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0539]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0540]
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0541]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说 明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0542]
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
[0543]
虽然通过实施方式描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

权利要求书

[权利要求 1]
一种视频分发方法,其特征在于,包括: 获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度; 根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容。
[权利要求 2]
如权利要求1所述的方法,其特征在于,确定通过轮播信道或点播方式分发所述视频节目的步骤包括: 利用每个视频节目的有效点击量确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量为在统计时间段内观看所述视频节目的总时长除以统计时长获得。
[权利要求 3]
如权利要求2所述的方法,其特征在于,利用每个视频节目的有效点击量确定通过轮播信道或点播方式分发所述视频节目的步骤包括: 比较每个视频节目的有效点击量与有效点击量阈值,获得第一比较结果; 根据所述第一比较结果确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量阈值根据所述视频节目的时长、轮播信道数目、观测时间段、轮播切片时长确定。
[权利要求 4]
如权利要求3所述的方法,其特征在于,根据所述第一比较结果确定通过轮播信道或点播方式分发所述视频节目的步骤包括: 所述视频节目的有效点击量大于所述有效点击量阈值,通过轮播信道分发所述视频节目;所述视频节目的有效点击量小于等于所述有效点击量阈值,通过点播方式分发所述视频节目。
[权利要求 5]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容的步骤还包括: 获取通过轮播信道分发的视频节目的历史点播数据; 从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比; 根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得; 根据所述相似度确定视频节目的隐因子向量; 确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量; 根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得所述用户对所述视频节目的喜爱度值; 根据所述用户对所述视频节目的喜爱度值统计获取所有用户对所述视频节目的喜爱度总和; 根据喜爱度总和将通过轮播信道分发的视频节目进行排序,获取总喜爱度列表; 根据所述总喜爱度列表将对应视频节目通过轮播信道进行分发。
[权利要求 6]
如权利要求5所述的方法,其特征在于,确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量的步骤包括: 对损失函数利用随机梯度下降法求解,确定当所述损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[权利要求 7]
如权利要求5所述的方法,其特征在于,所述相似度通过曼哈顿距离公式、欧式距离公式或皮尔逊公式获取。
[权利要求 8]
如权利要求5所述的方法,其特征在于,根据所述相似度确定视频节目的隐因子向量的步骤包括: 从所述视频节目与每个聚类中心之间的相似度中获取最大相似度、最小相似度; 将所述视频节目与每个聚类中心之间的相似度均除以所述最大相似度或最小相似度,获得归一化结果值; 将小于阈值的归一化结果值置于零,将大于等于的阈值的归一化结果值保持不变,得到的结果值构成的向量为所述视频节目的隐因子向量。
[权利要求 9]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容的步骤还包括: 将通过轮播信道分发的视频节目的有效点击量进行排序; 根据排序结果将对应视频节目通过轮播信道进行分发。
[权利要求 10]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容的步骤还包括: 获取通过轮播信道分发的视频节目的单位信道流量承载率; 将通过轮播信道分发的视频节目的单位信道流量承载率进行排序; 根据排序结果将对应视频节目通过轮播信道进行分发。
[权利要求 11]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容的步骤还包括: 获取通过轮播信道分发的视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线; 根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积; 每比较一次,分配一个轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发。
[权利要求 12]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容的步骤还包括: 获取通过轮播信道分发的视频节目的在线观看人数曲线; 根据所述视频节目的第一轮播时长确定通过轮播信道分发的视频节目的轮播流量和补包流量之和的最小值对应的轮播信道数目; 根据轮播信道数目、所述视频节目的第一轮播时长确定轮播切片时长以及轮播分片数目; 根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积; 根据每次比较结果,确定每条轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发;在比较次数等于轮播信道数目时,统计所述最大面积对应的时长,获得每个视频节目的第二轮播时长; 获得第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值,如果绝对值小于等于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为所述视频节目的最终轮播时长,并安排轮播信道分发对应的视频内容;如果绝对值大于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为第一轮播时长,根据每次面积比较结果,确定每条轮播信道用于轮播的视频内容以及视频节目的第二轮播时长,直至第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值小于等于阈值,停止迭代运算,并安排轮播信道分发对应的视频内容。
[权利要求 13]
如权利要求1所述的方法,其特征在于,根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容步骤还包括: 获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线; 根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 获得通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积,并进行降序排列,获得第一排序结果; 利用所述热度对未放入轮播信道分发的视频节目进行升序排列,获得第二排序结果; 获取所述第二排序结果中每个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积;其中,n为未放入轮播信道分发的视频节目的轮播信道数; 将第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,如果第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积大于第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,则将所述第一排序结果中对应的n-1个轮播信道用于轮播第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的视频内容;继续将第二排序结果中第二个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果里剩余面积中的前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,直至通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的视频内容被替换或者第二排序结果中当前视频节目的前n-1个轮 播信道的时长段对应的在线人数与观看时间进度之间的面积小于等于第一排序结果里剩余面积中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,并安排轮播信道分发对应的视频内容。
[权利要求 14]
如权利要求1所述的方法,其特征在于,所述视频节目的轮播信道数目是通过轮播信道分发的视频节目的轮播流量和补包流量之和求导确定;所述轮播切片时长根据轮播分片数目和所述视频节目时长确定;其中,所述轮播分片数目利用所述轮播信道数目确定。
[权利要求 15]
如权利要求1所述的方法,其特征在于,所述视频节目的轮播切片时长设置为常数,所述轮播信道数目根据轮播分片数目确定;其中,所述轮播分片数目利用所述轮播切片时长和所述视频节目时长确定。
[权利要求 16]
如权利要求1所述的方法,其特征在于,所述视频节目的轮播切片时长大于切片时长阈值时,从视频节目起始时刻起通过点播方式获取视频内容,在任意一个轮播信道出现第一个视频子分片的起始点对应的时刻起所述视频节目的视频内容通过轮播信道获得。
[权利要求 17]
如权利要求5所述的方法,其特征在于,所述视频分发方法还包括: 所述轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据所述总喜爱度列表通过空余轮播信道将对应视频节目分发。
[权利要求 18]
如权利要求17所述的方法,其特征在于,所述轮播信道的数目小于等于所有通过轮播信道分发的视频节目占用的轮播信道总数时,所述视频分发方法还包括: 获取第一结果;其中,所述第一结果表示为所述总喜爱度列表中视频节目预计产生的点播流量; 从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积; 将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目;将剩余轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积作为第二面积,继续比较,直至第一结果小于等于第二结果。
[权利要求 19]
如权利要求1所述的方法,其特征在于,所述视频节目通过轮播信道分发的方法为DeRe轮播方法或WHB轮播方法。
[权利要求 20]
如权利要求19所述的方法,其特征在于,所述WHB轮播方法包括: 对视频节目以均等时长切分,获得每个时系的视频分片S i;其中,i为视频分片的分片序号;所有视频分片S i按分片序号顺序递增的顺序串联起来构成所述视频节目;所述时系为所述视频节目的视频分片S i的时长; 将每个视频分片S i以均等时长切分,获得每个时系的视频子分片S i,j;其中,每个时系的视频子分片S i,j的个数与同一时系对应的所述视频分片的分片序号相等;i为视频分片的分片序号,j为视频分片的所有视频子分片的子分片序号;所有视频子分片S i,j按子分片序号顺序递增的顺序串联起来构成所述视频分片S i; 将所有时系的视频子分片通过至少两个轮播信道进行传输,实现视频节目轮播。
[权利要求 21]
如权利要求20所述的方法,其特征在于,将所有时系的视频子分片通过至少两个轮播信道进行传输的步骤包括: 根据每个视频分片的第一视频子分片的大小,按照分片序号顺序递增方式依次将每个视频分片的第一视频子分片以轮播信号的序号顺序递增方式放置在相应轮播信道的第一时系的空间内的相应位置处; 在所有轮播信道的其他任意时系k的空间内,每个视频分片S i的视频子分片S i,j在所述轮播信道中的位置与对应视频分片的第一视频子分片S i,1在轮播信道的第一时系的空间内的位置相同;其中,j=(k-1)mod i+1。
[权利要求 22]
如权利要求20所述的方法,其特征在于,所述WHB轮播方法包括: 在仅有一个轮播信道的情况下,所述视频节目以节目时长为周期在所述轮播信道里循环分发。
[权利要求 23]
如权利要求1所述的方法,其特征在于,所述轮播信道的带宽根据所述视频节目的播放码率确定。
[权利要求 24]
如权利要求10所述的方法,其特征在于,所述单位信道流量承载率在统计时间段内所有用户观看所述视频节目产生的流量之和减去使用轮播同一视频节目产生的补包流量获得的差值除以轮播所述视频节目使用的轮播信道数,再除以统计时长确定。
[权利要求 25]
如权利要求1所述的方法,其特征在于,所述视频分发方法还包括: 根据快进播放请求指令,将对应时长段的视频内容通过点播方式进行分发。
[权利要求 26]
如权利要求1所述的方法,其特征在于,所述视频分发方法还包括: 根据快退请求指令,从缓存区中获取对应时长段的视频内容。
[权利要求 27]
如权利要求1所述的方法,其特征在于,所述视频分发方法还包括: 根据热度对未放入轮播信道分发的视频节目进行排序; 在所述轮播信道空余时,利用排序结果对未放入轮播信道分发的视频节目进行轮播分发,直至所述轮播信道用完。
[权利要求 28]
一种视频分发方法,其特征在于,包括: 轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据总喜爱度列表通过空余轮播信道将对应视频节目分发。
[权利要求 29]
如权利要求28所述的方法,其特征在于,所述视频分发方法还包括: 获取第一结果;其中,所述第一结果表示为所述总喜爱度列表中视频节目预计产生的点播流量; 从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积; 将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目;将剩余轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积作为第二面积,继续比较,直至第一结果小于等于第二结果。
[权利要求 30]
如权利要求28所述的方法,其特征在于,所述总喜爱度列表获取方法为: 获取通过轮播信道分发的视频节目的历史点播数据; 从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比; 根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得; 根据所述相似度确定视频节目的隐因子向量; 确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量; 根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得所述用户对所述视频节目的喜爱度值; 根据所述用户对所述视频节目的喜爱度值统计获取所有用户对所述视频节目的喜爱度总和; 根据喜爱度总和将通过轮播信道分发的视频节目进行排序,获取总喜爱度列表。
[权利要求 31]
一种视频分发装置,其特征在于,包括: 热度获取单元,用于获取每个视频节目的热度;其中,所述热度为在统计时间段内用户群体对视频节目的喜好程度; 视频分发单元,用于根据每个视频节目的热度确定通过轮播信道或点播方式分发所述视频节目的视频内容。
[权利要求 32]
如权利要求31所述的装置,其特征在于,所述视频分发单元用于: 利用每个视频节目的有效点击量确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量为在统计时间段内观看所述视频节目的总时长除以统计时长获得。
[权利要求 33]
如权利要求32所述的装置,其特征在于,所述视频分发单元包括: 第一比较子单元,用于比较每个视频节目的有效点击量与有效点击量阈值,获得第一比较结果; 第一视频分发子单元,用于根据所述第一比较结果确定通过轮播信道或点播方式分发所述视频节目;其中,所述有效点击量阈值根据所述视频节目的时长、轮播信道数目、观测时间段、轮播切片时长确定。
[权利要求 34]
如权利要求33所述的装置,其特征在于,所述第一视频分发子单元具体用于: 所述视频节目的有效点击量大于所述有效点击量阈值,通过轮播信道分发所述视频节目;所述视频节目的有效点击量小于等于所述有效点击量阈值,通过点播方式分发所述视频节目。
[权利要求 35]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 历史点播数据获取子单元,用于获取通过轮播信道分发的视频节目的历史点播数据; 第一兴趣特征获取子单元,用于从所述历史广播数据中提取对应用户的兴趣特征;其中,所述兴趣特征包括:视频节目、用户观看某个视频节目的观看时长比; 第一相似度获取子单元,用于根据所述视频节目的观看时长比获取所述兴趣特征中视频节目与每个聚类中心之间的相似度;其中,所述聚类中心利用样本视频节目数据进行聚类获得; 第一隐因子向量获取子单元,用于根据所述相似度确定视频节目的隐因子向量; 第一参数确定子单元,用于确定视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量; 喜爱度值获取子单元,用于根据所述视频节目的隐因子向量、用户观看过的所有视频节目的总数、所述视频节目喜爱度偏离值、所述用户喜爱度偏离值、所述用户的隐性因子向量、所述用户和所观看的视频节目之间的隐因子向量获得所述视频节目的的喜爱度值; 喜爱度总和获取子单元,用于根据所述用户对所述视频节目的喜爱度值统计获取所有用户对所述视频节目的喜爱度总和; 第一排序子单元,用于根据喜爱度总和将通过轮播信道分发的视频节目进行排序,获取总喜爱度列表; 第二视频分发子单元,用于根据所述总喜爱度列表将对应视频节目通过轮播信道进行分发。
[权利要求 36]
如权利要求35所述的装置,其特征在于,所述第一参数确定子单元具体用于: 对损失函数利用随机梯度下降法求解,确定当所述损失函数取最小值时对应的视频节目喜爱度偏离值、用户喜爱度偏离值、用户的隐因子向量、用户和所观看的视频节目之间的隐因子向量。
[权利要求 37]
如权利要求35所述的装置,其特征在于,所述第一相似度获取子单元通过曼哈顿距离公式、欧式距离公式或皮尔逊公式获取相似度。
[权利要求 38]
如权利要求35所述的装置,其特征在于,所述第一隐因子向量获取子单元包括: 第一最值相似度模块,用于从所述视频节目与每个聚类中心之间的相似度中获取最大相似度、最小相似度; 第一归一化模块,用于将所述视频节目与每个聚类中心之间的相似度均除以所述最大相似度或最小相似度,获得归一化结果值; 第一置零模块,用于将小于阈值的归一化结果值置于零,将大于等于的阈值的归一化结果值保持不变,得到的结果值构成的向量为所述视频节目的隐因子向量。
[权利要求 39]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 第二排序子单元,用于将通过轮播信道分发的视频节目的有效点击量进行排序; 第三视频分发子单元,用于根据排序结果将对应视频节目通过轮播信道进行分发。
[权利要求 40]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 单位信道流量承载率获取子单元,用于获取通过轮播信道分发的视频节目的单位信道流量承载率; 第三排序子单元,用于将通过轮播信道分发的视频节目的单位信道流量承载率进行排序; 第四视频分发子单元,用于根据排序结果将对应视频节目通过轮播信道进行分发。
[权利要求 41]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 第二参数确定子单元,用于获取通过轮播信道分发的视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线; 第一划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 第一比较子单元,用于在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积; 第五视频分发子单元,用于每比较一次,分配一个轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发。
[权利要求 42]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 在线观看人数曲线子单元,用于获取通过轮播信道分发的视频节目的在线观看人数曲线; 轮播信道数目确定子单元,用于根据所述视频节目的第一轮播时长确定通过轮播信道分发的视频节目的轮播流量和补包流量之和的最小值对应的轮播信道数目; 轮播切片参数确定子单元,用于根据轮播信道数目、所述视频节目的第一轮播时长确定轮播切片时长以及轮播分片数目; 第二划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 第二比较子单元,用于在所有通过轮播方式分发的视频节目的在线观看人数曲线中,将每个视频节目中未放入轮播信道的当前时长段对应的在线人数与观看时间进度之间的面积进行比较,获得最大面积; 轮播时长确定子单元,用于根据每次比较结果,确定每条轮播信道用于将所述最大面积对应的视频节目的视频内容轮播分发;在比较次数等于轮播信道数目时,统计所述最大面积对应的时长,获得每个视频节目的第二轮播时长; 迭代子单元,用于获得第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值,如果绝对值小于等于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为所述视频节目的最终轮播时长,并安排轮播信道分发对应的视频内容;如果绝对值大于阈值,则将通过轮播方式分发的视频节目的第二轮播时长作为第一轮播时长,根据每次面积比较结果,确定每条轮播信道用于轮播的视频内容以及视频节目的第二轮播时长,直至第一轮播时长对应的总流量承载率与第二轮播时长对应的总流量承载率之差的绝对值小于等于阈值,停止迭代运算,并安排轮播信道分发对应的视频内容。
[权利要求 43]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 第三参数确定子单元,用于获取每个视频节目的轮播信道数目、轮播分片数目以及在线观看人数曲线; 第三划分子单元,用于根据轮播信道数目与轮播分片数目的关系表,对所述在线观看人数曲线以每增加一条轮播信道对应时长段进行划分; 第一排序结果获取子单元,用于获得通过轮播信道分发的视频节目的最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积,并进行降序排列,获得第一排序结果; 第二排序结果获取子单元,用于利用所述热度对未放入轮播信道分发的视频节目进行升序排列,获得第二排序结果;获取所述第二排序结果中每个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积;其中,n为未放入轮播信道分发的视频节目的轮播信道数; 第六视频分发子单元,用于将第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,如果第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积大于第一排序结果中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,则将所述第一排序结果中对应的n-1个轮播信道用于轮播第二排序结果中第一个视频节目的前n-1个轮播信道的时长段对应的视频内容;继续将第二排序结果中第二个视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积与第一排序结果里剩余面积中的前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和进行比较,直至通过轮播信道分 发的视频节目的最后一个轮播信道的时长段对应的视频内容被替换或者第二排序结果中当前视频节目的前n-1个轮播信道的时长段对应的在线人数与观看时间进度之间的面积小于等于第一排序结果里剩余面积中前n-1个最后一个轮播信道的时长段对应的在线人数与观看时间进度之间的面积之和,并安排轮播信道分发对应的视频内容。
[权利要求 44]
如权利要求31所述的装置,其特征在于,所述热度获取单元通过轮播信道分发的视频节目的轮播流量和补包流量之和求导确定视频节目的轮播信道数目;根据轮播分片数目和所述视频节目时长确定所述轮播切片时长;其中,所述轮播分片数目利用所述轮播信道数目确定。
[权利要求 45]
如权利要求31所述的装置,其特征在于,所述热度获取单元将所述视频节目的轮播切片时长设置为常数,根据轮播分片数目确定所述轮播信道数目;其中,所述轮播分片数目利用所述轮播切片时长和所述视频节目时长确定。
[权利要求 46]
如权利要求31所述的装置,其特征在于,所述热度获取单元获得的所述视频节目的轮播切片时长大于切片时长阈值时,从视频节目起始时刻起通过点播方式获取视频内容,在任意一个轮播信道出现第一个视频子分片的起始点对应的时刻起所述视频节目的视频内容通过轮播信道获得。
[权利要求 47]
如权利要求35所述的装置,其特征在于,所述视频分发装置还包括: 第一推荐目标视频节目单元,用于所述轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据所述总喜爱度列表通过空余轮播信道将对应视频节目分发。
[权利要求 48]
如权利要求47所述的装置,其特征在于,所述视频分发装置还包括: 第一结果获取单元,用于获取第一结果;其中,所述第一结果表示为被推荐的视频节目预计产生的点播流量; 第二结果获取单元,用于从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积; 第二推荐目标视频节目单元,用于将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目;将剩余轮播所承载的点播流量最小的视频节目的最 后一个轮播信道内的在线人数与观看时间进度之间的面积作为第二面积,继续比较,直至第一结果小于等于第二结果。
[权利要求 49]
如权利要求31所述的装置,其特征在于,所述视频分发单元通过轮播信道分发视频节目的方法为DeRe轮播方法或WHB轮播方法。
[权利要求 50]
如权利要求49所述的装置,其特征在于,所述视频分发单元包括: 第一切分子单元,对视频节目以均等时长切分,获得每个时系的视频分片S i;其中,i为视频分片的分片序号;所有视频分片S i按分片序号顺序递增的顺序串联起来构成所述视频节目;所述时系为所述视频节目的视频分片S i的时长; 第二切分子单元,用于将每个视频分片S i以均等时长切分,获得每个时系的视频子分片S i,j;其中,每个时系的视频子分片S i,j的个数与同一时系对应的所述视频分片的分片序号相等;i为视频分片的分片序号,j为视频分片的所有视频子分片的子分片序号;所有视频子分片S i,j按子分片序号顺序递增的顺序串联起来构成所述视频分片S i; 第一轮播子单元,用于将所有时系的视频子分片通过至少两个轮播信道进行传输,实现视频节目轮播。
[权利要求 51]
如权利要求50所述的装置,其特征在于,所述第一轮播子单元包括: 第一轮播分发模块,用于根据每个视频分片的第一视频子分片的大小,按照分片序号顺序递增方式依次将每个视频分片的第一视频子分片以轮播信号的序号顺序递增方式放置在相应轮播信道的第一时系的空间内的相应位置处; 第二轮播分发模块,用于在所有轮播信道的其他任意时系k的空间内,每个视频分片S i的视频子分片S i,j在所述轮播信道中的位置与对应视频分片的第一视频子分片S i,1在轮播信道的第一时系的空间内的位置相同;其中,j=(k-1)mod i+1。
[权利要求 52]
如权利要求49所述的装置,其特征在于,所述视频分发单元包括: 第二轮播子单元,用于在仅有一个轮播信道的情况下,所述视频节目以节目时长为周期在所述轮播信道里循环分发。
[权利要求 53]
如权利要求31所述的装置,其特征在于,还包括: 信道带宽确定单元,用于根据所述视频节目的播放码率确定所述轮播信道的带宽。
[权利要求 54]
如权利要求40所述的装置,其特征在于,所述单位信道流量承载率在统计时间段内所有用户观看所述视频节目产生的流量之和减去使用轮播同一视频节目产生的补包流量获得的差值除以轮播所述视频节目使用的轮播信道数,再除以统计时长确定。
[权利要求 55]
如权利要求31所述的装置,其特征在于,所述视频分发装置还包括: 快进单元,用于根据快进播放请求指令,将对应时长段的视频内容通过点播方式进行分发。
[权利要求 56]
如权利要求31所述的装置,其特征在于,所述视频分发装置还包括: 快退单元,用于根据快退请求指令,从缓存区中获取对应时长段的视频内容。
[权利要求 57]
如权利要求31所述的装置,其特征在于,所述视频分发单元还包括: 第四排序子单元,用于根据热度对未放入轮播信道分发的视频节目进行排序; 第七视频分发子单元,在所述轮播信道空余时,利用排序结果对未放入轮播信道分发的视频节目进行轮播分发,直至所述轮播信道用完。
[权利要求 58]
一种视频分发装置,其特征在于,包括: 第一视频分发单元,用于轮播信道的数目大于所有通过轮播信道分发的视频节目占用的轮播信道总数时,根据总喜爱度列表通过空余轮播信道将对应视频节目分发。
[权利要求 59]
如权利要求58所述的装置,其特征在于,所述视频分发装置还包括: 第二视频分发单元,用于获取第一结果;其中,所述第一结果表示为所述总喜爱度列表中视频节目预计产生的点播流量;从所有通过轮播方式分发的视频节目中确定轮播所承载的点播流量最小的视频节目,根据在线观看人数曲线确定第二结果;其中,所述第二结果表示为轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积;将所述第一结果与所述第二结果进行比较,当第一结果大于第二结果时,将轮播所承载的点播流量最小的视频节目的最后一个轮播信道用于向对应用户终端推送视频节目;将剩余轮播所承载的点播流量最小的视频节目的最后一个轮播信道内的在线人数与观看时间进度之间的面积作为第二面积,继续比较,直至第一结果小于等于第二结果。
[权利要求 60]
一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~27或28~30任意一项权利要求所述的视频分发方法。
[权利要求 61]
一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现权利要求1~27或28~30任意一项权利要求所述的视频分发方法的步骤。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10A]  
[ 图 10B]  
[ 图 10C]  
[ 图 10D]  
[ 图 10E]  
[ 图 10F]  
[ 图 11]  
[ 图 12]  
[ 图 13]  
[ 图 14]  
[ 图 15]  
[ 图 16]  
[ 图 17]  
[ 图 18]  
[ 图 19]  
[ 图 20]  
[ 图 21]  
[ 图 22]