论文部分内容阅读
随着日新月异的技术发展,视频服务业也涌现出了一批优秀的服务提供商。为了给视频服务提供商提供参考,研究者的研究方向也逐渐从服务质量(QoS)转到用户参与度(用户体验的一种QoE)。另一方面,随着社会节奏的加快数据时效性也越来越重要,而视频数据量的增大也给数据处理能力带来了更大的挑战。传统数据分析方案效性差、准确性低且不易扩展和移植。因此,构建一种具有大规模实时数据分析处理能力的QoE分析方案势在必行。本文重点阐述了算法选择与改进、数据处理平台的部署与改进、实时数据处理方式三方面改进工作,具体内容如下:(1)本文提出了改进的均值归一化AMKNN算法为了证明匹配算法的适用范围,本文参照数据分析一般规则,在不同数据集下比较了多种算法,最终选取了改进的均值归一化MKNN算法用于实时数据匹配。为了进一步提高匹配实时性,本文结合K-means聚类提出了改进的均值归一化AMKNN算法,它具有准确性高、处理速度快、适用范围广三方面特点。具体工作可以总结为以下两部分:第一,本文改进了模拟实时匹配阶段数据集,提出了均值归一化MKNN算法,这种算法不仅匹配错误率降低了70%,而且同时适用于在线和离线匹配。第二,本文结合K-means聚类,引入交叉聚类的概念并提出了均值归一化AMKNN算法,该算法以1%的误差为代价减少40%的计算复杂度。(2)本文基于Lambda架构在DCOS上部署了改进的LKS系统为了改进传统数据分析处理平台,本文引入并改进了LKS(Logstash+Kafka+Spark)数据处理方案并在自主搭建的DCOS上构建数据处理平台。LKS可以大大增强平台的数据处理能力,DCOS又为平台带来了资源利用率高、可扩展可移植性好等特点。为了提高容错性,本文还引入了Kafka缓存和WAL技术。实际使用结果表明,基于DCOS构建的改进LKS方案与基于传统方式构建的ELK方案相比,无论在部署速度、可扩展、可移植性、吐出量、还是处理能力上都更胜一筹。(3)本文引入双层窗口数据预处理和被动定位为了提高实时数据处理方案的可靠性并支持多样化数据采集,本文提出了双层窗口预处理技术与被动定位技术。双层窗口技术的第一层窗口用于提高数据时序性,双层窗口技术的第二层窗口用于提高资源复用率从而降低计算复杂度。实验结果表明,本文引入的双层数据预处理技术把Spark Streaming处理错误降低了80%,在一定条件下上可以减少10%的额外计算开销,而被动定位则为实时处理系统提供了多样化数据维度支持。