大数据环境下节目监播体系的 开发及应用

本文对节目监播体系进行了介绍,从总体设计、软件实施 细节、硬件设备控制以及数据库方面对监播体系实施要点 进行了分析,介绍了全媒体边缘计算模型,对大数据环境 下节目监播体系的开发和应用情况进行了说明。

摘要

一 节目监播体系总述

大数据时代,各类信息将被采集、保存作为数据加以利用,海量数据不断产生。各级广电全媒体端口每天都有无数视音频、文字信息产生,为了有效整合这些资源,一些省、市级广电都建立了自己的云平台。无锡电视台在这样的大环境下,勇于实践,开拓创新,针对电视播出的监播工作,建立了边缘计算平台,作为全台云计算的重要节点。

节目监播体系的建立,具有多方面意义。首先,监播系统必须立足于安全播出保障工作,用少数值班人员完成多个频道的监播工作,必须依靠技术的支撑。无锡电视台创新提出建立“单名值班员多频道值班保障”方案,值班内容不仅包括了传统的监听监看元素,更进一步利用自主研究开发的节目监播系统,结合播控KVM 系统进行“节目单检查+ 开播监听监看”的全方位值班体系。


该体系不仅为安全播出工作提供了重要保障,更积极的意义在于节目播出数据及监播数据全部保存到边缘节点的分布式数据库中,结合数据挖掘方法进行分析、评估,为全台网提供综合服务,使云平台结构更加具体化、精细化,比如对各频道的节目统计、值班人员考核等都起到积极作用。

二 监播体系的实施要点

1. 总体设计

无锡电视台针对本台实际情况,通过充分调研、流程设计、软件开发、系统测试等阶段,自主开发实现了一套独创性、应用性很强的节目监播体系。体系架构如图1 所示。

image.png

节目监播体系包括软件系统和硬件设备。软件系统主要由两部分组成:节目单FTP 传输软件、节目监播系统。监播系统所在的两台监播工作站同时部署FTP 站点,用于接收节目单;FTP 传输软件部署在接收各频道节目单的字幕服务器上,该服务器分别向字幕系统和监播系统发送节目单。播控工作站发单后,字幕服务器在收到XML 节目单的同时,分发一份到监播体系FTP 传输软件监听目录,软件一旦监听到有新的文件产生,即通过FTP 协议将该文件分发到监播工作站(电视播控大厅设置两个监播岗位)。监播体系的核心部分——节目监播系统,对监听目录中接收到的XML 文件进行解析并将提取的重要节目信息呈现到值班人员眼前,在节目开播前进行语音提醒,确认一遍此节目的播出正确性,并集中精力监听、监看此节目的准备、切出状况,待节目正常开播后,再进行手动确认。监播数据保存到边缘节点的分布式数据库中,用于进行大数据分析。

硬件设备包括连接6 个频道播控工作站的KVM,系统利用KVM 底层控制协议,通过CONSOLE 口控制OSD 菜单实现KVM 的自动切换,能实现节目开播前一分钟切换到相应频道播控工作站,并语音提醒值班人员对节目单进行最终确认。节目开播时万一出现异常,可直接通过KVM 配置的键鼠设备,就近第一时间进行应急处理。

2. 软件系统实施细节

节目监播系统应用软件在Visual Studio 环境下使用C# 进行开发。

(1)节目单FTP 传输软件

我们在对网盘映射复制和FTP 传输的稳定性进行比较后,选择使用FTP 传输XML 节目单。首先在监播工作站部署FTP 站点,设置用来接收节目单的目录。FTP 传输软件部署在字幕服务器主机上,软件使用FileSystemWatcher 类监听接收节目单的文件目录。FileSystemWatcher 类的NotifyFilter 属性用来设置文件的哪些信息变动后会触发 Changed 事件,包括的文件信息如表1。

image.png

通过对不同组合的信息进行监听( 默认为LastWrite、FileName 和 DirectoryName 的按位“或”组合),可以触发Changed 事件,但由于文件的属性信息之间存在千丝万缕的关系,正所谓牵一发而动全身,文件的某次变动经常会多次触发Changed 事件,因而更有效的方法是在接收到新文件的时候直接处理Created 事件,而不对Changed 事件进行处理。另外,为了确保下次接收新的节目单时准确触发Created 事件,而不是文件重写(文件重写只能触发Changed 事件),必须在每次处理完文件后将其删除。

当监听到有新的XML 节目单传入时,传输客户端和FTP 站点建立连接,为了确保所有到达的节目单都会被处理,使用异步方式向FTP 站点目录写入节目单。涉及网络传输的模块必须对通信异常进行处理,本系统采用简单高效的方法处理捕获的通信异常,考虑到异常的来源基本都是由于XML 节目单最终删除的时候会被FTP 进程占用,这都是由于FTP 传输延时引起的,因此捕获到异常后,可以通过线程延时的方法来等待FTP 传输结束,再进行删除进程重试。实践证明,通过设置延时时间,可以极大程度地保证程序的健壮性。

FTP 传输软件另一项重要功能为:将XML 文件按频道进行分类后传输,比如:早班只有监播岗位I上有值班人员,因此6 个频道的XML 节目单只需要传送监播工作站I,中夜班时有2 个监播岗位,就需将6 个频道分两组送到监播工作站I、II 上。

(2)节目监播系统

节目监播系统是监播体系的核心,部署在两台监播工作站。该工作站同时作为FTP 站点,接收FTP 客户端传来的节目单。节目监播系统同样使用FileSystemWatcher 类监听站点目录,随时处理接收到的节目单。

接收到XML 节目单后,系统使用XmlDocument类完成对XML 节目单的解析,提取其中的重要节目显示到ListView 控件上。XML 节目单的解析等业务模块都在FileSystemWatcher 的Created 事件中进行处理,该过程通过绑定事件触发后处理数据的方法FileSystemEventHandler 来实现。处理的时候,首先判断是否跨线程,因为调用方法为UI 主线程外的线程,返回TRUE,因此通过传递FileSystemEventArgs 对象的委托delegate 将更新界面的方法封送到UI 主线程处理,从而更新UI 界面,将重要节目在ListView 控件中显示。

到此,单个频道节目单的解析和呈现虽然已经完成,但只是完成了第一步。接下来要将无锡电视台六个频道的节目单整合到一起,并按播出时间进行排序,并在每次有节目单更新时刷新节目及播出时间。具体流程有以下几步:

◆按时段进行初选。不在本监播工作站值班时间范围内的节目全部不显示,比如监播岗位II 专为中夜班设置,则8:30 到16:00 之间的节目在II 上全都被过滤;

◆甄选出重要节目。参照重要节目列表进行比对(重要节目列表保存在数据库内,可随需调整),保留重要节目显示于软件界面,开播前需要进行监播,其余的节目则直接保存至数据库;

◆设置时间门限。在门限时间60 分钟内出现名称相同的节目则以最新时间为准进行替换;超过60分钟则判定为重播,予以保留。门限时间内出现名称相同的节目需要进行替换是因为:直播或转播类节目的保持操作会改变后续节目的播出时间,通过该逻辑就能做到以实际播出时间为准,精确更新节目列表。

◆重要节目排序及显示。经过多次删选,将新增节目添加到ListView 控件中,使用ListViewItemSorter属性按播出时间列重新进行正向排序;再通过每一行ListViewItem 的Tag 标签定位到即将开播的下一档节目;

◆播后数据处理。删除ListView 控件中一小时前已播节目,保证显示界面清爽明了,同时将监播记录保存至数据库。

经过以上步骤,完成一次节目列表刷新过程。刷新完成后的其他业务逻辑均在系统主时钟内实现。节目监播系统主时钟业务逻辑为:持续比较重要节目列表中下一档节目的开播时间和当前时间。下一档重要节目开播前半分钟进行语音提醒,并将KVM切换到相应频道,供值班人员进行监播作业。

3. 硬件设备控制

KVM ( Keyboard Video Mouse ) 设备是监播体系的重要组成部分,节目监播系统通过底层控制协议实现对KVM 的自动切换,该KVM 连接六个频道的播控工作站,可实现由一名值班员完成对所有频道节目的监播。

(1) KVM 和OSD

KVM 的切换方式主要有三种:按钮切换、OSD菜单切换和快捷键切换。基于OSD 的KVM 可控I/O部分包括各种接口,我们使用的KVM 有16 个VGA接口和USB 接口(使用其中的6 个)。播控工作站的键鼠+ 显示输出通过延长分配设备,将播控工作站操作显示权限映射到KVM 的一组接口上,监播工作站通过RS232 串口与KVM 的CONSOLE 口的建立通信链接,实现各播控工作站间的受控切换。OSD 菜单主要包括6 个菜单项:

◆ F1:GOTO 的功能是实现快速切换,其切换方式一般可按通道名称或通道号进行切换,六个频道的通道号分别为01~06;

◆ F2:SCAN 的功能是实现16 个通道的轮流自动切换,每个通道的轮流显示时间是可控的;

◆ F3:LIST 的功能是按照一定的显示方式,把相应通道的状态显示给控制台;

◆ F4:QVIEW(quick view)的功能是为某些特殊的通道设置特殊标志,便于快捷查看和切换到这些特殊的通道上;

◆ F5:EDIT 的功能是创建或更改某个通道的名称,便于记忆和操控;

◆ F6:SET 的功能是设置OSD 菜单的显示参数和操作键参数。

对应OSD 菜单,在节目监播系统的控制代码中定义如下结构体:

image.png

预先定义每个频道切换状态下的索引号,根据索引号实现对应频道播控工作站VGA 输出的切换。

(2) KVM 切换及节目单确认

节目监播系统重要节目列表和六个频道节目单保持同步,系统内部主时钟业务在节目开播前进行语音提醒,KVM 切换到节目所在频道的播控工作站界面,值班员就近进行确认节目、监听监看节目的切出和视音频等操作。鉴于很多播出事故都在节目切换时发生,凭借此功能,如果开播异常,能第一时间进行处理,可以把绝大部分事故扼杀在萌芽状态。


4. 数据库

作为全台云计算的存储节点,系统采用MicrosoftSQL Server 作为网络数据库,数据库服务器的存储外挂NetApp 盘阵,可以满足大数据存储的要求。在节目监播系统的运行过程中,值班信息作为数据得以保存,实现了对以往难以量化的值班细节的量化、分析。另外,节目监播系统中重要节目列表呈现的节目信息只是一小部分,其他各类节目信息都保存在数据库中,用于大数据分析和统计。

三 大数据分析和边缘计算

1. 全媒体边缘计算模型

随着大数据时代的到来,网络边缘设备不断增加,这些设备所产生的数据也会达到另一个峰值。传统以云计算为核心的大数据处理已经不能完全满足不断增加的数据量,因此以边缘计算模型为核心的大数据处理方式应运而生。该模型主要用于应对边缘设备产生的大量数据计算,与集中式大数据处理有机地结合,后者用于数据云中心的数据处理,而前者则应用于网络边缘设备所产生的海量数据的处理。大数据正成为全媒体的核心竞争力,将云数据中心的一些计算任务进行分解,迁移到边缘节点进行处理,从而降低数据中心的负载,是新型广电全媒体云计算的解决方案。无锡广电全媒体边缘计算模型如图2 所示。

image.png

无锡电视台节目监播体系作为无锡广电云平台的一个重要节点,主要提供监播情况分析评估,各频道播出时长统计等综合服务。根据需求可进行功能扩展,应用数据挖据技术对监播数据进行深加工,分析深夜值班状态,频道节目变化趋势等,为全台云计算提供更有力的支撑和补充。

2. 大数据环境下节目监播体系的应用

(1)值班工作定量化分析评估

传统以班次来衡量的值班人员工作量显得过于粗犷,每个人值班状态不尽相同,也无法对其进行约束,个别严重的甚至可能成为播出隐患。节目监播体系的建立正是为了将值班流程进行定量化、精细化的管理。通过节目监播系统的评估功能,还可对节目监播情况进行统计分析。如图3 所示。

image.png

被评估的值班人员由于班次不同,值班时间不一,监播次数也各有差别。班次基本相同的值班人员,对监播工作的执行情况也有所不同。从柱状图中可以看出,开播后30 秒内(蓝色)完成监播的,认为是执行情况理想;开播前(黄色)完成监播的,有理由认为其对节目开播的监听、监看、甚至节目单的最终确认都执行不到位;而超过30 秒(红色)未完成监播的,则被认为是开播时不在监播岗位。图3 柱状图按正常完成的监播次数排序,也可按照总监播次数排序,即具体的监播工作量。

监播评估功能对于员工绩效考核起到积极作用,同时也对值班人员的工作态度具有一定的约束力,提高值班专注度。从评估的结果反映出,监播数据和值班人员平时一贯的表现基本吻合。

(2)各频道播出节目时长统计

全年播出时长统计是播出部门提供的综合服务之一,但传统的播后数据查询软件并未提供相关的数据统计功能,每年的统计工作基本还是靠人工大致统计而成。系统使用数据挖掘算法对全年播出时长的统计提供了一种更为高效准确的方法。

a. 数据挖掘和播出序列时序算法简介由于节目单中顺播、插播等素材组众多,系统考虑采用播出序列间时序算法对全年播出时长进行统计。

播出序列的各条素材之间是单向相关的,且序列间的状态传递存在顺延,也就是说各条素材之间存在时序关系。通常收集到数据库中的播出时间数据不能直接反应出播出序列各素材之间的时序关系,而该时序关系是播出时长数据挖掘的重要信息。对于播出序列大数据集,所有类型节目的历史数据集非常庞大,若对这些数据集直接进行计算,计算效率较低。为提高算法效率,需要提取时间序列的特征点简化时间序列。因此,为了得到准确的时间序列关系,我们采用了统计众数的方式——通过统计开播极值点之间顺延时间距的众数,去除扰动点的影响,得到播出序列前后两段素材开播点之间的持续时间。播出序列时序算法具体步骤为:对一段时间(比如一个月)内同一档节目的开播时间取局部极值,构成极值点序列;求任意相邻播出时间序列各个极值点之间的时间距,并据此进一步求得任意时间序列之间的持续时间。最终,便可根据时间序列之间的持续时间得到各个开播点之间的时序关系。下面结合编程语言得出核心的算法思想:

image.png

b. 各频道播出节目时长

通过数据挖掘算法,系统对各频道的各类节目播出时长进行分类统计,如图4 所示。

image.png

图4 中所示为无锡台六个频道2018 年各类节目播出时长统计,系统使用饼图直观地反应出各类节目占比,通过查询条件的选择,还可对半年度、季度等不同阶段数据进行统计。这项统计数据对于全台云计算具有非常重要的意义,可为集团将来的发展、规划提供参考。

四 总结和展望

将各种各样的信息保存为可用于云计算、边缘计算的数据是大数据环境下广电全媒体发展的首要任务。无锡电视台自主开发的节目监播体系,将一直以来无法量化的监播信息进行了量化、采集和保存,以此作为后期数据挖掘的原料。无锡电视台节目监播体系作为全台云计算的重要边缘节点,提供了值班人员考核评估、各频道节目播出时间统计等综合服务。

节目监播体系的建立,具有里程碑式的意义。该体系显著改进了播出值班的业务流程,使值班工作得到了量化、精细化的管理,安全播出工作得到了更大程度的保障,获得上下一致好评。系统自2017 年下半年开始研发,经过一年多的试运行,系统功能不断得到完善。将来我们还会根据大数据、全媒体的发展和需求,加入更多的功能,使传统单一的电视播出工作与时俱进,不断创新。

转载请注明来源:《现代电视技术》 作者:江苏省无锡广播电视集团(台) 袁奇 陆春晔 周继红