一种大数据中流计算平台下的点对点流媒体实时监测方法

文档序号:9814767阅读:429来源:国知局
一种大数据中流计算平台下的点对点流媒体实时监测方法
【技术领域】
[0001]本发明是给出一种基于分布式架构的点对点流媒体进行实时监测的方法。分布式架构为Hadoop系统,点对点流媒体指的是Flash P2P数据。我们所提出的方法主要用于快速提取Flash P2P流量数据,从中再提取出隐含的、未知的、潜在的和有用的信息,使分析出的数据更加具有时效性,属于互联网视频领域。
【背景技术】
[0002]FLASH P2P技术是现在视频网站用的比较成熟的技术。Flash P2P视频点播系统使用Flash P2p技术,以一种全新的方式分发点播视频,在保证观众良好观看体验的同时保证了最低的服务器负担和带宽使用,显著提高视频服务器的并发量和降低服务器和带宽成本。目前国内多家视频门户网站采用了Flash P2P技术,例如优酷、爱奇艺、搜狐等。
[0003]Hadoop是基于分布式技术、并行处理技术和网格计算技术发展的产物,是为了适应用海量数据和大规模计算等新需求而发展出来的模型架构。Hadoop也是一个分布式存储和分布式计算的框架,可以高效的存储海量数据,而且可以运行、编写分布式应用程序处理海量数据。一方面Hadoop在编写和运行大型分布式程序计算方面具有很大的优势,主要是Hadoop具有的方便和简捷的特性。另一方面,Hadoop具有健壮性和很好的扩展性等特点,这些特点使Hadoop在研究领域和应用领域都受到了极大的欢迎,并且得到了广泛的应用。Hadoop的数据中心由连接在一起的千上万的计算机构成,用户通过普通电脑接入就可以使用数据中心,根据自己的需求进行存储。HDFS是Hadoop的分布式文件系统,具有高度的稳定性和存储效率。H D F S提供高效的数据存储,为用户提供快速、稳定的数据存储服务。MapReduce模型是Hadoop用于计算数据的。用户在使用MapReduce模型进行大规模数据处理时,可以将主要精力放在如何编写Map和Reduce函数上,其它并行计算中的复杂问题诸如分布式文件系统、工作调度、容错、机器间通信等都交给MapReduce系统处理,在很大程度上降低了整个编程难度。

【发明内容】

[0004]技术问题:本发明的目的是提供一种大数据中流计算平台下的点对点流媒体实时监测方法,来提高有关视频的数据处理能力,更好的分析用户行为(例如:某视频播放次数、播放IP数、用户地域占比),优化网站内容,更新地域的服务器占比,优化播放内容。
[0005]技术方案:本发明的一种大数据中流计算平台下的点对点流媒体实时监测方法为:工作服务器接收到作业后,将接收到的作业放在一个作业队列里,等待作业调度器对该作业进行调度,当作业调度器根据自己的调度算法调度到该作业时,会根据输入划分信息为每个划分创建一个map任务,并将map任务分配给任务服务器执行;任务服务器根据主机核的数量和内存的大小有固定数量的map槽和reduce槽为map与reduce分配任务;其中,map是一种由接受一组数据并将其转换为一个键/值对列表的函数,reduce是一种将map函数产生结果合并的函数;进行map输入时,需要将数据按照规定的格式输入;在map阶段,通过筛选用户数据报协议UDP数据报,同时将筛选出后的结果进行二次map;在map输出阶段,需要将数据结果放入至缓存区;在reduce阶段,通过reduce任务将所有结果进行合并输出。
[0006]其中:
[0007]在进行输入map时,应该对一个map任务应指明输入/输出的位置即路径,同时输入目录下的数据文件由于已经按照每0.1s抓取所以并不需要切割,但必须将数据块以键值对形式的格式读入,这个阶段的键值应该为数据包类型,数据值为抓取的UDP数据包,同时map任务不是随随便便地分配给某个任务服务器的,这里有个概念叫:数据本地化,意思是:将map任务分配给含有该map处理的数据任务服务器上,同时将代码程序包复制到该任务服务器上来运行,其中作业调度器将周期性的向工作服务器发送心跳包,在心跳包中作业调度器告知工作服务器其已经准备运行一个新的任务,那么工作服务器会调动map从Hadoop流计算平台中获取新的数据块,并不需要重新获取其他信息。
[0008]在map阶段,通过map函数根据数据类型筛选出UDP数据包,生成中间键值对,其中键值为UDP这个数据包类型,数据值为UDP数据包,其他数据包则被删掉;由于需要将点对点视频流量分离出来,需要做二次Map计算;将第一次Map中间输出数据重新作为数据,进行二次Map,其键值对也会重新定义,其中键值为数据包的会话编码,判断会话编码是否能被4整除,若可以则判断出此包为RTMFP包,其中RTMFP为点对点视频协议,即为点对点视频流量数据包。
[0009]map输出阶段,输出的结果会暂且放在一个环形内存缓冲区中,当该缓冲区快要溢出时,会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件;当缓冲区中数据的到达一定的大小,就会将数据开始写入硬盘;在写入硬盘之前,首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据;这样做是为了避免有些reduce任务分配到大量数据,而有些reduce任务却分到很少数据,甚至没有分到数据的尴尬局面。
[0010]在Reduce阶段,由于map任务一直与作业调度器保持联系,而作业调度器又一直和工作服务器保持心跳,所以工作服务器中保存了整个集群中的宏观信息,只要reduce任务向工作服务器获取对应的map输出位置,就可以获取输出的map数据,从而进行reduce整合输出。
[0011]有益效果:
[0012]1、改变了传统的计算模式,缩短了计算时间,通过该系统能够更加有效的监测到用户交互的实时数据。
[0013]2、通过该技术能够快速分析视频产生的庞大的数据量,迅速分离flash p2p流量。
[0014]3、可以在分离出的flash p2p流量中可以获取用户的潜藏的信息,进行商用,为客户创造更大的利益。
【附图说明】
[0015]图1是基于分布式架构的点对点流媒体实时监测框架图,
[0016]图2是基于分布式架构的点对点流媒体实时监测流程图,
[0017]图3是基于分布式架构的点对点流媒体实时监测时序图。
【具体实施方式】
[0018]本发明旨在提出一种大数据中流计算平台下的点对点流媒体实时监测方法,组建基于HADOOP的实时监测技术,充分利用HADOOP的分布式的特性,将视频实时监测的需要巨大计算能力的数据的计算和存储要求扩展到HADOOP中的各个节点上,利用并行计算和存储能力来进行相关数据计算工作。系统通过接口获取的数据被分割成小块,使用HADOOP的节点来存储、分析和处理每个小块的数据量,处理完成后将分析好的数据反馈给服务器。
[0019]FLASH P2P协议采用的是RTMFP协议。实时媒体流协议(RTMFP)是Adobe公司开发的一种专有协议。RTMFP协议可以让Adobe Flash Player所在的终端用户之间实现直接点对点,多播和任播等多种通信。其原理是节点之间通过DHT协议相互发现和连接,通过DHT((Distributed Hash Table,分布式哈希表)进行资源的发现和查找,通信协议采用UDP,利用DH算法(Diffie-Hellman算法)进行在建立连接阶段进行密钥协商,采用AES128位在UDP层加密。在RTMFP协议中,通信时,服务器将会分配给用户一个会话编码Sess1nid,每个用户的Sess1nid是不同的。根据Sess1nid,可以判断出该数据包是否为使用RTMFP协议通信的,并判断这是否为FLASH P2P流量。
[0020]跟传统的流量监测技术相比,基于分布式架构的点对点流媒体监测技术有着更多的优势。例如,传统的流量监测技术监测到的数据非常的庞大,人们将其运算处理需要耗费庞大的时间,这样,将会错失最佳的时候来获取这些信息。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1