APP下载

广电监管数据资产管理系统的关键技术及实现

2019-08-28王洋

中国传媒科技 2019年7期
关键词:音视频集群分布式

文/王洋

前言

广播电视监管事业经历了从模拟到数字、从地面到卫星、从单机到网络等一系列技术体系的重大变革,随着技术的不断发展,广播电视节目的频率数、频道数、播出时长也在快速增加,开路电视、有线电视、卫星电视、IPTV等多种传输方式也在快速出现,因此,监管工作所面临的数据量在急剧膨胀,早期工作中是以结构化的业务数据为主,主要是广播电视节目在播出和传输过程中的相关技术性指标,广播电视内容以实时监听监看为主,录音录像保存时间很有限。在过去的十几年中,大规模海量数据的存储和处理方案在商业公司和开源软件社区中涌现出来,这源于互联网的发展导致互联网公司迫切需要发展适合于大数据环境下的全新技术体系,达到低成本、易扩展、并发性高、兼容不同类型数据的目的。现实的应用需求使得一些技术方案快速成熟,这样就为广播电视监管工作提供了可行的解决方案,大量音视频节目的存储成为可能。与此同时,海量数据处理技术和分析技术的发展也能够满足不断提升的监管业务需求。

图1 数据资产管理系统技术架构图

就目前来讲,广电监管工作主要用到两大类数据,一类是对应广播电视节目的音视频文件,另一类是相关监管业务数据,如广播效果情况、电视节目播出表等,前者为非结构化数据,后者为结构化数据。音视频文件的存储容量已经达到PB级,每天的增量达到了TB级,包括了大部分的卫星和有线广播电视节目,由于存储容量已达极限,需要定期从存储中删除旧的音视频文件,业务数据虽然容量只是GB级,但某些数据增长快速,已经达到亿级的条目数。随着以上两类数据的积累,对数据存储的扩展性和安全性要求逐渐提升,必须要在数据读取性能和可靠性之间取得平衡,需要以较低成本较简单的操作实现较高的并发访问和分布式存储。此外,海量数据带来数据分析的需求,需要新的技术方案弥补现有系统数据仓库能力不足的问题。最后,类似Oracle这样的传统商业型数据库虽然能很好地满足关系型数据管理和分析的需求,但使用成本较高,分布式架构操作复杂,源代码不开放,存在数据资产的安全性问题。综上所述,我们需要针对音视频文件和相关业务数据组成的数据资产管理需求,利用开源软件社区的成熟大数据技术方案弥补已有技术体系的不足,实现性价比更高、更加安全的数据资产管理系统。

1.技术架构介绍

各个监管业务系统之间彼此封闭,每个系统内形成封闭的回路,没有达到有效的数据共享,因此,首先需要对数据进行有效整合,消除数据孤岛,建立统一规范的数据标准,形成对数据的全景统计,在此基础上开发可视化数据统计分析功能,实现对数据资产的准确掌握和有效管理,辅助建立跨系统、跨部门、跨地区的沟通协调机制。下图是根据上述需求形成的技术架构图,目前已经完全实现并正常运行。

下面一层是原有的数据存储系统,包括音视频数据和业务数据,中间一层是以大数据一体机为形式的新系统,包括用于存放音视频文件的Hadoop平台和存放文件元数据和业务数据的MPP数据库,基于这些数据建立数据资产管理系统,包括数据资产目录、数据存量统计、数据增量统计、数据流量监控、作业监控等功能,这些功能经过防火墙在上面一层呈现在用户终端上。

集中存储系统采用的是浪潮的Lustre系统,存放着历年的广播电视节目音视频文件,广播数据库是指广播播出的技术性业务数据,节目播出数据库是指广播电视节目编目数据,中间库是其他系统同步过来的技术性业务数据,这三个数据库均采用Oracle一体机,以RAC(Real Application Cluster)方式进行存储。以上两类数据经过大数据一体机中的Hadoop软件和ETL工具,实现了数据转移和提取,形成数据资产管理系统可以直接利用的数据源。

2.关键技术及实现

图2 数据资产管理系统软件结构图

根据技术架构的要求,我们接下来要决定采用哪些关键技术实现其中的数据同步、ETL等功能。下图体现了不容软件模块之间的数据流向和用到的一些技术或产品。

集中存储系统中的Lustre系统是一种基于Linux的开源分布式文件系统,Lustre的最大特点是读写能力很强,特别是对于大文件,利用Stripe条带化技术实现文件的并行访问,元数据服务器存储文件的元数据信息,对象存储服务器用于存储文件,Lustre的主要问题是对数据的保护比较差,底层的对象存储结构不支持数据的备份和回复,另外,元数据存在单点故障的问题,采用了共享存储层支持主备切换,一旦共享存储层出现问题导致元数据无法访问,进而影响整个系统。我们选择了Hadoop 2.0来读取和存放音视频文件,HDFS支持多个副本在不同节点的存储,可以实现数据的保护,并具有数据校验的功能,文件的操作虽然不像Lustre支持POSIX接口,只能通过API实现,读取性能不如Lustre,但适合需要长期保存的文件以及建立数据仓库。另外,HDFS生态环境非常丰富,有很多强大的开源框架可以使用,这一点要比Lustre好很多。在这个项目中我们使用了2个管理节点和20个数据节点,管理节点使用Zookeeper实现平台集群的负载均衡,数据节点通过HDFS存放了数百TB的音视频文件。

集中存储系统文件信息读取的接口采用MapReduce实现,MapReduce程序对集中存储系统的内容进行解析,提取出集中存储系统的音视频文件的元数据,并完成两项任务,一是将音视频文件同步到大数据Hadoop平台上;二是获取到音视频文件的属性信息并同步到MPP数据库中。数据同步管理策略包括文件同步和元数据同步两个方面,元数据同步每15分钟进行一次,主要是通过find命令查询当天日期目录下最近一个小时新增的文件,并将元数据保存到数据库中。同步定时任务通过Linux的crontab命令实现,元数据抽取的日志文件位于与jar包同级的logs文件夹里。文件同步每天晚上0点进行,根据数据库中前一天的元数据信息,将前一天所有的文件复制到HDFS中,在主要文件完成之后根据文件增加情况和同步需求不定期执行文件同步。

对于结构化数据的存储我们采用了基于MysSQL的MPP(Massively Parallel Processor)数据库,MPP是大规模并行处理的意思,系统由很多松耦合处理单元组成,每个单元内的CPU都有自己的私有资源,在每个单元内都有操作系统和管理数据库的实例副本。MPP架构数据库具有的特征是任务并行执行、数据分布式存储、分布式计算、私有资源、横向扩展和Share Nothing架构。横向扩展是MPP数据库的主要设计目标,MPP数据库支持严格的关系模型,比如SQL92、加扩展、加存储过程,支持事务、保证数据强一致性,所解决的问题包括提升数据处理性能和数据处理量。与各个节点使用自己私有资源的Shared Nothing架构不同,原有数据库采用的Oracle RAC属于Shared Disk架构,各个节点使用自己的CPU和内存,磁盘存储共享,也就是数据共享,当存储性能达到瓶颈时,增加节点便不能获得并行能力的扩展,另外,Oracle RAC源代码不开放,存放于Oracle一体机中,这种一体机价格较为昂贵。

MPP数据库集群共有6个节点,共分为三类,即管理节点、数据节点和SQL节点。管理节点有2个,作用是管理集群内的其他节点,如提供配置数据、启动并停止节点、运行备份等,由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点,管理节点用命令ndb_mgmd启动。数据节点有4个,用于保存集群中的数据,数据节点的数目与副本的数目相关,用命令ndbc启动。SQL节点有4个,用于访问集群数据,通常SQL节点使用命令mysqld -ndbcluster启动,或将ndbcluster添加到my.cnf后使用mysqld启动。管理节点负责管理集群配置文件和集群日志,集群中的每个节点从管理节点检索配置数据,并请求确定管理节点所在位置,数据节点内出现新的事件时,将关于这类时间的信息传输到管理节点,然后将这类信息写入集群日志。

从Oracle RAC到MPP数据库的ETL过程采用了开源ETL工具 Kettle,ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程,它是构建数据仓库的重要环节。传统的ETL工具有集中执行、对服务器性能要求高等缺点,针对这些缺点,本项目采用了一种基于分布式原理的ETL技术,该系统在分布式文件系统基础上实现了集群分布式ETL流程。该分布式ETL系统具有较高的可扩展性和吞吐效率,同时能够自动实现负载均衡,执行效率高。分布式ETL技术包括四个组件:Spoon、Pan、Chef、Kithcen。Spoon实现了通过图形界面来设计ETL转换过程,通过SPoon设计ETL工作的转换和作业,转换定义了ETL抽取地源、目标和抽取规则,是ETL的主体,作业控制着转换的执行,Pan实现了批量运行由Spoon设计的ETL转换;Pan是一个后台执行的程序,没有图形界面,Chef可以创建任务,任务通过允许每个转换、任务、脚本等,更有利于自动化更新数据仓库的复杂工作,任务将会被检查,看看是否正确地运行了;Kitchen允许你批量使用CHEF设计的任务,例如使用一个时间调度器,Kitchen也是一个后台运行的程序。分布式ETL集群共有8个节点,2个主节点和6个从节点。

结语

以上我们从业务发展的需要出发,介绍了数据资产管理系统的技术架构和关键技术,以及一些具体的实现方式,经过这个项目,音视频和业务数据资源得到了整合,数据存储容量更大并且更加安全,而且易于扩展,为进一步的数据挖掘工作奠定了良好的基础。随着大数据开源软件社区新的成熟项目不断出现,数据资产管理系统可以充分融合新的工具实现功能的不断增加。

猜你喜欢

音视频集群分布式
海上小型无人机集群的反制装备需求与应对之策研究
3KB深圳市一禾音视频科技有限公司
一种无人机集群发射回收装置的控制系统设计
WIFI音视频信号传输的关键问题探究
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
Python与Spark集群在收费数据分析中的应用
高速公路整合移动音视频系统应用
勤快又呆萌的集群机器人
基于DDS的分布式三维协同仿真研究