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

文档序号:9814767阅读:来源:国知局
同时,传统的监测技术,并不能够完整的监测到越来越庞大的数据,随着人们的生活方式的转变,人们越来越喜欢观看视频来获取信息、娱乐生活,而视频产生的流量是非常巨大的。传统的技术已经不能满足了,只有云计算技术能够满足。基于Hadoop的flash p2p技术计算能力非常强大,完全能够满足庞大数据的计算。图1为整体的框架图C3Hadoop集群是典型的Master/Slaves结构,Namenode与Job tracker为Mas ter,Datanode s与Tasktracker s与 S laves ο Namenode与 Datanode s 负责完成HDFS (分布式文件系统服务)的工作,Jobtracker与Tasktrackers则负责完成MapReduce(计算服务)的工作。从客户端获取的数据以及mapreduce程序传送于HDFS,将作业分配给Jobtracker,通过Jobtracker的控制来进行任务的分配以及实施。最核心的部分为mapreduce部分,通过对数据的分布式处理从而得到客户端需要的数据。
[0021]本发明的一种大数据中流计算平台下的点对点流媒体实时监测方法,解决了数据量庞大不能及时处理的问题,同时更具时效、商用性,。以下为基于Hadoop的FLASH P2P流媒体实时监测体系结构的过程,其对应的流程图和认证过程时序图如图2和3所示,具体过程如下:
[0022]主控服务器Namenode维护和管理整个文件系统,数据服务器Datanode用来存储数据块。任务服务器Tasktracker用来完成Map和Reduce任务,而工作服务器Jobtracker服务器主要用来调度任务的执行,处理机器故障,管理与Tasktracker通讯以及对Job和Task执行情况的监控等;此外,还有一个工作的提交者,即客户端。
[0023]1、客户端启动一个作业,该作业为将FLASH P2P流量从网络流量中分离,并将传送给Jobtrackerο
[0024]2、客户端将包括MapReduce程序打包的JAR文件、配置文件以及输入划分信息复制到HDFS上。
[0025]3、客户端开启嗅探器,通过嗅探器获取数据包,数据包所包含的类型有TCP、UDP、HTTP、DNS等,同时每隔0.1s将获取的数据包发送给HDFS。
[0026]4、Jobtracker收到作业后,从HDFS获取输入划分信息,根据数据包的数量启动多少个map任务,并且将map任务分配给Tasktracker执行。
[0027]5、Tasktracker收到map任务后,从HDFS获取mapruduce程序,同时对该任务进行map和reduce ο
[0028]6、进行map前,可以根据数据包的特征,找出两对〈key,value〉。先根据第一对〈key,value〉对其进行map处理,生成中间〈key, value〉对,再对输出的value进行二次map,map后输出结果进行reduce输出,并将数据输出到设定的目录下。
[0029]7、TaskTracker每隔一段时间会给JobTracker发送一个心跳,告诉JobTracker它依然在运行,同时心跳中还携带着很多的信息,比如当前map任务完成的进度等信息。当JobTracker收到作业的最后一个任务完成信息时,便把该作业设置成“成功”。
【主权项】
1.一种大数据中流计算平台下的点对点流媒体实时监测方法,其特征在于该方法为:工作服务器接收到作业后,将接收到的作业放在一个作业队列里,等待作业调度器对该作业进行调度,当作业调度器根据自己的调度算法调度到该作业时,会根据输入划分信息为每个划分创建一个map任务,并将map任务分配给任务服务器执行;任务服务器根据主机核的数量和内存的大小有固定数量的map槽和reduce槽为map与reduce分配任务;其中,map是一种由接受一组数据并将其转换为一个键/值对列表的函数,reduce是一种将map函数产生结果合并的函数;进行map输入时,需要将数据按照规定的格式输入;在map阶段,通过筛选用户数据报协议UDP数据报,同时将筛选出后的结果进行二次map;在map输出阶段,需要将数据结果放入至缓存区;在reduce阶段,通过reduce任务将所有结果进行合并输出。2.根据权利要求1所述的大数据中流计算平台下的点对点流媒体实时监测方法,其特征在于在进行输入map时,应该对一个map任务应指明输入/输出的位置即路径,同时输入目录下的数据文件由于已经按照每0.1s抓取所以并不需要切割,但必须将数据块以键值对形式的格式读入,这个阶段的键值应该为数据包类型,数据值为抓取的UDP数据包,同时map任务不是随随便便地分配给某个任务服务器的,这里有个概念叫:数据本地化,意思是:将map任务分配给含有该map处理的数据任务服务器上,同时将代码程序包复制到该任务服务器上来运行,其中作业调度器将周期性的向工作服务器发送心跳包,在心跳包中作业调度器告知工作服务器其已经准备运行一个新的任务,那么工作服务器会调动map从Hadoop流计算平台中获取新的数据块,并不需要重新获取其他信息。3.根据权利要求1所述的大数据中流计算平台下的点对点流媒体实时监测方法,其特征在于,在map阶段,通过map函数根据数据类型筛选出UDP数据包,生成中间键值对,其中键值为UDP这个数据包类型,数据值为UDP数据包,其他数据包则被删掉;由于需要将点对点视频流量分离出来,需要做二次Map计算;将第一次Map中间输出数据重新作为数据,进行二次Map,其键值对也会重新定义,其中键值为数据包的会话编码,判断会话编码是否能被4整除,若可以则判断出此包为RTMFP包,其中RTMFP为点对点视频协议,即为点对点视频流量数据包。4.根据权利要求1所述的大数据中流计算平台下的点对点流媒体实时监测方法,其特征在于map输出阶段,输出的结果会暂且放在一个环形内存缓冲区中,当该缓冲区快要溢出时,会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件;当缓冲区中数据的到达一定的大小,就会将数据开始写入硬盘;在写入硬盘之前,首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据;这样做是为了避免有些reduce任务分配到大量数据,而有些reduce任务却分到很少数据,甚至没有分到数据的尴尬局面。5.根据权利要求1所述的大数据中流计算平台下的点对点流媒体实时监测方法,其特征在于在Reduce阶段,由于map任务一直与作业调度器保持联系,而作业调度器又一直和工作服务器保持心跳,所以工作服务器中保存了整个集群中的宏观信息,只要reduce任务向工作服务器获取对应的map输出位置,就可以获取输出的map数据,从而进行reduce整合输出。
【专利摘要】本发明是给出一种大数据中流计算平台下的点对点流媒体实时监测方法。分布式架构为Hadoop系统,点对点流媒体指的是Flash?P2P数据。我们所提出的方法主要用于快速提取Flash?P2P流量数据,从中再提取出隐含的、未知的、潜在的和有用的信息,使分析出的数据更加具有时效性,主要是用于解决将FLASH?P2P迅速从巨大的总流量中快速实时分离出来这个问题,只有将FLASH?P2P流量分离出来才能快速找到该隐含的信息,进行商用。通过HDFS存储实时数据,Mapreduce程序根据处理能力处理数据,对所有的数据进行两次map,筛选出符合要求的数据,其他数据则被删除。对数据进行reduce时,因为不需要做别的处理,可以直接整合输出。
【IPC分类】H04N21/24, H04N21/63, H04N21/262
【公开号】CN105578212
【申请号】CN201510933758
【发明人】季一木, 蒋晨晨, 王汝传, 谈杰, 谈海宇, 袁永阁, 张殿超, 朗贤波, 张永潘
【申请人】南京邮电大学
【公开日】2016年5月11日
【申请日】2015年12月15日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1