< 首页

大数据助力媒体融合——央视大数据平台技术与实践

中央电视台 梅剑平

中央电视台大数据技术研发是伴随着媒体融合同步启动的,是央视媒体融合的重要组成部分。自2016年中央电视台确定一体化协同制作、多渠道协同分发、多终端互动呈现、全媒体精准传播的媒体融合技术规划,即开始了对大数据的技术研发、平台建设和应用实践。随着媒体融合的推进,中央电视台的节目内容开始从电视端向着互动电视端和移动客户端全面拓展,央视大数据技术研发首先面向央视专区互动电视端和央视移动客户端,为个性化节目推荐和内容编排与优化提供数据支撑。

在媒体融合时代,用户大数据已成为电视台、网的重要资产,因此央视大数据平台从建设之初就定位于自主研发、自主保存、自主分析,在掌握核心技术和原始数据的基础上,通过中央电视台技术科研项目的平台,与我国985重点高校上海交通大学合作,采用产学研联合研发的方式,开发建成了具备数据采集、清洗、存储、收视分析、用户画像以及可视化等功能的用户大数据平台。

众所周知,大数据起源并迅速普及于互联网行业。但是,用户的具体行为与信息的传播和接收方式之间具有密切关系,视频媒体的传播与收视具有许多不同于一般互联网业务的特点,特别是进入媒体融合时代后,从媒体的内容形态、传播途径到接收方式都发生了许多全新的变化,来自互联网业务的大数据算法、模型或经验往往难以直接应用于电视媒体。广电应在充分借鉴互联网大数据技术的基础上,研究视频用户的行为特点,发现自己的大数据算法和模型。央视大数据技术研究重点对电视媒体的用户画像算法、收视分析模型等关键技术进行了研究。

央视大数据技术平台的设计需求包括5个方面:

系统架构及技术路线:针对融合媒体的业务分析需求,对比国际上开源与商业大数据解决方案的特点,规划大数据平台的系统架构;选择适应的组件工具,以满足用户大数据的存储和计算的需求;

用户数据采集接口及格式:针对央视专区互动电视端和移动客户端,定义用户数据的类别和标签,形成统一的数据格式,以实现不同终端用户行为数据的归并;

用户画像:针对央视专区和央视移动客户端的个性化需求,研究不同终端用户画像的算法,建立画像模型;

收视分析:针对融合媒体的业务逻辑,研究收视评估算法以及量化评估指数,以实现节目收视的排序与优化;

数据可视化:针对各种分析指数和用户画像进行可视化,支持分析结果的交互式查询和实时呈现。

一系统结构

央视用户大数据系统的整体结构如图1所示。系统在总体架构上采用了开源的分布式大数据技术框架Hadoop/Spark,支持不同来源的异构数据的多种导入方式、支持基于流式计算的数据清洗、数据归一化以及数据融合。BI系统架构于Hadoop平台之上,提供多种可视化分析工具和多种数据挖掘模型,包括用户聚类、内容推荐、热点挖掘等。

 

Hadoop是当前国际上应用最广泛的大数据技术框架,现为美国Apache软件基金会旗下的顶级项目,是一个开源的分布式计算框架。Hadoop源自Google公司2003~2006年期间发布的三个关于大数据分布式存储、分布式并行计算和分布式数据库的设计思想,经过多年的发展现已形成一个庞大的生态环境,用户可以从中找到各种符合自己需求的组件工具。实际上,目前国际上的大数据解决方案并非Hadoop一种,IBM、亚马逊也都推出了非常不错的商业大数据解决方案,但Hadoop具有若干独到的特点,使得其在全球得到广泛的认可和应用。

开源:用户可以了解和掌握核心软件代码,并可在未来随着业务的发展根据自己的需求进行优化,而不必担心受制于人,这一点正是大多数用户选择技术路线时所首要关心的;

廉价:Hadoop架构设计之初就是以部署在廉价服务器集群之上为前提的,无论数据存储还是计算都充分考虑到系统冗余的问题,这一点当数据规模变得越来越大时为用户控制大数据的建设成本奠定了基础;

丰富:随着全球吸引力的不断增加,越来越多的开发者开始向Hadoop生态系统做出贡献,Hadoop的组件越来越丰富,用户的大多数需求都很容易从中找到相应的工具。

尽管采用Hadoop构建大数据系统需要根据业务需求自行选择和配置组件,并需要进行一定的开发优化,而选择商业软件则没有此类麻烦,但从未来发展考虑,央视大数据平台在系统架构上选择了Hadoop

Hadoop开源平台的基础上,央视大数据平台开发了集群管理、账号与权限管理以及数据操作三个模块,封装的组件如图2所示。

 

大数据平台尽管通常都拥有众多功能组件,但最核心的仍然是数据存储和数据处理这两部分。央视大数据平台采用了Hadoop的分布式文件系统HDFS和分布式并行计算框架MapReduce

1. 分布式文件系统

HDFSHadoop中的第一个被开发出来的组件,也是构成Hadoop的两个最核心的组件之一,其设计思想源于Google公司2003年发布的GFS分布式文件系统。HDFS是一个非常优秀的分布式文件系统,最大的特点是随着数据规模的增加可方便地实现弹性横向扩展,目前已发展到HDFS 2.0版。与HDFS 1.0相比,HDFS 2.0增加了名称节点的主备机制(HDFS HA),并当未来数据规模极大时突破单一名称节点限制实现无限扩展(HDFS Federation)。考虑到数据存储的可靠和对央视专区和央视移动客户端个性化推荐的实时支撑,央视大数据平台采用了HDFS 2.0,名称节点采用安全可靠的主/从双节点方式,当主名称节点工作时,从名称节点作为备份时刻通过journalnode服务保持与主节点之间的数据同步,并在主节点发生故障时候,自动切换为主节点保证整个集群的管理不受影响。名称节点是整个HDFS文件系统的核心,负责整个集群的管理和协调,并提供关键的文件系统命名空间(元数据)服务,因此在系统设计时应充分考虑可靠性和设备配置。

在负责数据存储和处理的数据节点方面根据目前的需求部署了16个数据节点,最大存储能力可达384M,可以满足当前系统所需要的计算资源和存储空间,分布式的存储方式使得集群在未来需要的时候能够很容易地以横向添加相对廉价的服务器的方式保证集群在线平滑地扩展而不会影响日常的业务。在具体的文件块(block) 的存储方面,目前采用HDFS的标准配置三备份机制,可以有效地保障在发生单个机器/硬盘的故障时候不会丢失任何业务数据,实现了数据的高可靠性。如未来有更重要的数据存储,也可采用更高比例的备份机制。

2. 分布式计算框架

MapReduce分布式并行计算框架是Hadoop中的第二个被开发出来的组件,也是构成Hadoop的两个最核心的组件之一,同样源于Google公司2004年发布的MapReduce分布式编程思想。MapReduce是基于Java语言开发的,具有很好的跨平台特性,同样适用于廉价的服务器集群之上,特别适用于大规模的批量化数据处理。

但是MapReduce也存在着一些局限。由于每次执行时都需要面向磁盘读/写数据,导致磁盘I/O开销很大,因此MapReduce不适用于迭代式计算或实时性较强的交互查询或流计算。而起源于美国加州大学伯克利分校AMPLab大数据计算平台的Spark可以较好地解决这一问题。Spark目前也是Apache软件基金会的一个顶级开源项目,特别是最近两年发展很快,成为国际上最流行的大数据分布式计算框架。Spark在架构上包括内核部分(Spark Core) 4个子模块-Spark SQLSpark Streaming、机器学习库MLlib和图计算库GraphXSpark被设计成支持多场景的通用大数据计算框架,可以较好地解决迭代式计算、交互查询以及流式计算等问题。

央视大数据平台在计算框架方面采用了MapReduce/Spark方案,对离线的大规模历史数据的分析采用MapReduce,对实时性较强的用户画像、查询、流计算采用Spark

3. 资源调度和管理

集群的系统架构可以较低的成本获得较高的存储和计算能力,而且可以弹性扩展,但集群架构最重要的一点就是资源的调度和管理。自Hadoop 2.0以后,专门推出了资源的调度和管理平台YarnYarn是一个非常优秀的调度和管理工具,不仅能够支持MapReduce,还能够支持Spark以及其他的计算框架,尽管Spark中也有资源调度和管理工具。Yarn主要由ResourceManagerNodeManagerApplicationMaster组成。ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。由于不同的ApplicationMaster被分布到不同的节点上,因此它们之间不会相互影响。

央视大数据平台的资源调度和管理采用了Yarn

此外,央视大数据平台还采用了HadoopHBase数据库、HIVE数据仓库、Flume海量日志采集日志系统和Kafka分布式发布订阅消息系统等组件。

二数据采集接口及格式

央视大数据平台面对的用户数据包括央视直播频道收视数据、央视专区互动电视收视数据、央视移动客户端用户数据。其中央视专区数据和央视移动客户端数据通过央视分发系统采集,直播频道数据通过与有线电视网合作获取。考虑到数据来源多样、数据内容和格式各异,故针对每一类业务,需设计相应的数据规范并按照规范对多源数据进行转换和归并。

1. 直播频道收视数据规范

直播频道节目数据规范定义了大数据分析所需的节目收视信息,如表1所示。

 

节目数据以每个时间段的节目作为一条记录写入EXCEL,节目数据提前生成。

2. 央视专区数据采集规范

央视专区用户数据定义如表2所示。

核心管理系统将各边缘回传的点播明细每小时生成一次点播量明细txt文件,文本命名规则为文件生成时间+detail,例如:2016080310detail.txt

 

三用户画像与聚类分析

央视大数据平台的用户画像主要针对央视专区和央视移动客户端,为个性化节目推荐提供支撑。用户画像在互联网领域应用比较普遍,特别是对个性化服务和精准化传播具有非常重要的意义。然而,互动电视端的用户行为与移动客户端的用户行为不同。央视专区的收视对象是以家庭为单位,即每个终端的收视行为实际上对应着家庭内的多个用户,通常针对单个用户行为进行的建模分析,以及基于个体用户的偏好进行推荐算法,在这里难以适用。此外,相比于移动客户端的用户行为,电视端的用户行为比较稀疏但持续时间较长。针对于电视用户的家庭特性,央视大数据平台通过聚类画像,学习用户群体的特征,利用相似的用户行为的互补性形成丰满的用户画像,同时有利于去除收视行为中的随机噪声。

央视大数据用户画像聚类分析采用了两个算法:LDA主题模型和K-means聚类。LDA是一种非监督学习的机器学习方式,用来识别大规模文档中潜在的主题信息。在用户画像聚类分析中,我们将用户观看的节目id视作文档的词,每个用户观看的所有节目id构成一篇文档。选定训练的主题数量后,经过LDA模型,可以获取每个用户在各个主题下的概率分布,该概率分布实际就是利用主题偏好对每个用户进行画像。LDA算法能够从用户的收视行为直接推测出用户的特征,而不是按用户提供的背景信息给用户打标签,因为用户提供的信息常常是不准确的。

K-means算法是一种应用非常广泛的聚类分析方法,在数据挖掘领域非常流行。K-means聚类的目的是:把N个点划分到K个聚类中心,使得每个点都属于离它最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准。在用户画像聚类分析系统中,利用LDA训练得到用户在各主题下的概率分布,构成用户的特征向量空间,利用K-means算法,可根据用户行为对用户进行聚类。央视专区目前设定聚类类别数为5,聚类画像可视化效果如图3所示。

 

3中右下角对应的是冷启动用户,其余五个方格对应五类不同的用户,左上角为用户最多的一类,可以看出其收视习惯以电视剧为主。目前央视专区已开始了对全体活跃用户进行画像聚类,并在画像聚类的基础上,对每类用户进行节目推荐,包括对每类用户推荐剧集或单集节目、每类用户的频道排序清单以及每类用户各栏目下的二级栏目(剧集)排序清单。

央视移动客户端的用户行为呈现的完全是个体特征,对用户的画像可以做到千人千面,不需进行聚类。通过LDA主题模型,外加一定的用户信息,就可支撑面向个体的个性化推荐。

四收视分析

针对互动电视的传播特点,为了更好地说明用户的收视行为,在央视专区的大数据分析中定义了一套与央视移动客户端采用的互联网统计指标不同的分析指标:

覆盖用户:央视专区有线网用户数;

渗透用户:已经安装央视专区 portal的用户数;

活跃用户:至少收看过一次央视专区节目的用户数;

在线用户:24小时内收看过央视专区节目的用户数。

央视专区中的计算节目热度的算法参考的是被广泛应用的Hacker News中排名算法,经调整后某个节目的热度计算公式如下:

 

count=该节目被收看的次数,

t=节目上架到当前的时间(天数),

G=比重(时间惩罚因子)。

其中比重因子G是关键性的因素,它实际上体现了不同的传播途径的特点。我们利用实际采集的数据对不同的G值与节目热度的关系进行了仿真对比,如图4

 

在央视专区的热度计算中,考虑到推新节目的补偿效应,我们选择最近三十天的用户观看记录作为每个节目收看次数计算的依据,经反复测试实验,比重G1.8有较好效果。

央视用户大数据报表及分析系统的构架如图5所示。平台层使用FlumeKafkaSpark Streaming等组件支撑整个大数据平台的工作。数据层支持接入多种数据源(如HDFSHiveHBaseMySQL等),将各类业务系统的数据通过大数据平台层中各个组件构建的严格ETL过程,进入到数据仓库中,为后续的数据展现、分析提供支撑。BI管理平台主要负责整个大数据平台和BI系统的服务管理、平台监控和数据备份等工作。分析层是系统的核心,包括OLAP、指标计算、热度计算、主题分析、画像分析、聚类分析等各个方面的分析工作,由此来支撑业务层的用户推荐、热播推荐、节目上下架等众多业务需求。呈现层主要包括了众多的仪表板、节目分析模块、用户分析模块、指标检索模块、报表模块等,对分析层的结果从各个角度进行呈现。

 

五可视化系统

央视用户大数据可视化系统是基于央视频道、央视专区和央视移动客户端的业务特征研发的数据可视化系统,主要为节目部门和运营部门提供直观可视的实时数据分析结果。可视化功能由仪表盘、用户分析、频道分析、节目分析等几部分构成,如图6所示。

系统选用的分析工具Apache Kylinstreaming流计算具有较强分析能力,该开源分布式分析引擎将数据预先转换成Cube(多维数据模型),存入HBase中以提高用户OLAP的分析速度,缩短报表生成的时间。

系统提供可视化设计器,内含丰富的图表控件优化报表设计,预置多种报表模型帮助用户快速生成报表,并支持多种数据格式的导出。系统能够高效集成各种BI内容,并以较简单、统一的视图呈现给BI用户,各种不同层次的BI用户能够定制适合自己的仪表盘,并提供警戒值、趋势等多种预警机制。

经过一年多的实践,伴随着中央电视台媒体融合的发展,央视大数据技术研发也取得了不少经验和体会。随着互联网从IT时代向DT时代的转变,大数据也将成为推动媒体融合的重要力量,是实现智慧广电的基础。