发明内容
为了达到上述目的,本发明提供了一种获取生成用户关注度高的网络视频精华的方法及系统,其中该系统包括:网络视频播放器,用于发送记录该用户观看开始时间点与结束时间点的请求消息,将请求消息上传至分布式文件系统模块;分布式文件系统模块,用于将输入的请求消息转换为供控制模块中的Map-reduce算法处理的字符串格式数据;控制模块,用于通过控制命令调用并执行Map-reduce算法,输出针对一时间段内某一网络视频的最多观看开始时间和最多观看结束时间数据;网络视频截取模块,根据控制模块的数据截取网络视频。
更进一步,该系统中的控制模块针对一时间段内指定分类的所有网络视频输出最多观看开始时间和最多观看结束时间数据。
更进一步,当需要截取网络视频的长度小于一个最短长度或大于一个最长长度时控制模块控制网络视频截取模块不进行任何截取网络视频操作。
本发明提供的一种获取生成用户关注度高的网络视频精华的方法,该方法包括以下步骤:步骤(1)当用户开始观看网络视频时,通过播放器发出用户观看网络视频的请求信息,信息中记录了用户观看网络视频的开始时间;步骤(2)每当用户结束观看时,播放器会发出记录有该网络视频的观看结束时间的请求信息;步骤(3)将所述请求信息保存到分布式文件系统中,通过分布式文件系统生成供Map-reduce算法处理的表示每个网络视频观看的开始时间与结束时间的字符串格式;步骤(4)控制模块通过控制命令调用Map-reduce算法并进行Map-reduce算法处理,获得一时间段内某一网络视频的最多观看开始时间和最多观看结束时间;步骤(5)控制网络视频截取模块根据最多的观看开始时间和最多的观看结束时间来生成网络视频精华。
本发明具有以下优点:能够分析海量数据准确的截取网络视频精华,引导用户观看。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明所述一种获取生成用户关注度高的网络视频精华的系统结构图,该系统包括了网络视频播放器、分布式文件系统模块、网络视频截取模块、控制模块。
其中分布式文件系统采用Hadoop框架,一个分布式系统基础架构。用户可以开发分布式程序。充分利用集群的威力高速运算和存储数据。
Hadoop框架实现了一个分布式文件系统(Hadoop Distributed FileSystem),简称HDFS。该系统结构如图2所示。HDFS有着高容错性的特点,它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
每当用户点击观看某个网络视频时,收集该用户观看行为,记录该用户观看开始时间点与结束时间点,以上时间点数据通过网络视频播放器发送请求消息来实现。将用户行为数据上传至HDFS中以便分析。
采用分布式文件系统模块分析用户行为数据,输出字符串格式的数据以便供控制模块中map-reduce算法处理,控制模块通过控制命令调用map-reduce算法并根据Map-reduce算法得到分析结果,将结果保存于数据库中作为任务队列,根据数据库中的任务队列进行网络视频的截取工作。
Map reduce算法:
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。结构如图3所示。算法原理是:指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
Map-Reduce主要包括两个步骤:Map和Reduce
每一步都有key-value对作为输入和输出:
map阶段的key-value对的格式是由输入的格式所决定的,如果是默认的文本输入格式TextlnputFormat,则每行作为一个记录进程处理,其中key为此行的开头相对于文件的起始位置,value就是此行的字符文本。
map阶段的输出的key-value对的格式必须同reduce阶段的输入key-value对的格式相对应。
初始时:
Map1(第一次Map):
Map函数通过输入的字符串格式数据进行处理获得Key1-value1对的输出值如下(Key1表示日期、网络视频ID;Value1表示观看结束时间。每条记录输出都是固定的)输出值例如:2012328ID、260。观看结束时间为该网络视频的260秒。
Reduce1(第一次Reduce):
在reduce过程,将map过程中的输出,按照相同的key1将value1放到同一个列表中作为reduce的输入。
计算相同Key1下的Value1中观看的结束时间点的次数最多的是哪个时间点,会得到一个最多的结束时间以及观看次数(例如网络视频观看结束时间第260秒是最多的观看结束时间点,被观看了3000次)。
Reduce1的结果:
Key1:日期、网络视频ID
Value1:最多的观看结束时间点(260秒)
将结果输出保存。
更进一步,这里的日期可以设置为某一时间段。
Map2:
将Reduce1的结果作为Map2函数的输入,Map2函数输出Key2-value2对。
其中:
Key2:日期、网络视频ID、最多的观看结束时间点(260秒)
Value2:用户观看开始时间点
Reduce2(第二次Reduce):
在第二次reduce过程中,将map2过程中的输出,按照相同的key2将value2放到同一个列表中作为reduce2的输入。
计算相同Key2下的Value2中观看的开始时间点的次数最多的是哪个时间点,会得到一个最多的开始时间以及观看次数(例如230秒是观看开始到260秒次数最多的开始时间点)。即可得到该网络视频230秒到260秒为精华片段。
因此,reduce2可以统计出在最多观看结束时间的用户动作中出现最多的观看开始时间。
然后我们将结果保存到数据库中用做任务队列,以便根据精华片段开始与结束时间控制网络视频截取模块生成网络视频精华。
通过本发明的技术实现可以为一些看网络视频时间很少的用户,提供精华片段,节省用户更多的时间,增加用户黏性,引导用户观看更多网络视频。
本发明的方法包括以下步骤:
1.当用户开始观看网络视频时,通过播放器发出用户观看网络视频的请求信息,信息中记录了用户观看网络视频的开始时间;
2.每当用户结束观看时,播放器会发出用户结束观看时记录该网络视频的观看结束时间的请求信息;
3.将用户请求的原始信息保存到Hdfs中,通过Hdfs生成供Map-reduce算法处理的表示每个网络视频观看的开始时间与结束时间的字符串格式;
4.控制模块通过控制命令调用Map-reduce算法并进行Map-reduce算法处理,获得一时间段内某一网络视频的最多的观看开始时间和最多的观看结束时间;
5.控制网络视频截取模块根据最多的观看开始时间和最多的观看结束时间来生成网络视频精华。
更进一步,步骤4中是获得一时间段内指定分类的所有网络视频的最多观看开始时间和最多观看结束时间数据。
更进一步,当需要截取网络视频的长度小于一个最短长度或大于一个最长长度时不进行任何截取网络视频操作。正如在图4中所示称为过滤规则。
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的。这些都在本发明的权利要求所限定的保护范围内。