单帧模式卫星上行站网络管理平台及值班室互动全景的仿真应用

2014-04-29 11:09林璜方
智能计算机与应用 2014年4期

林璜方

摘要:本文提出一种针对Flash CS3改良的单帧编程方法,并由此实现了对广播电视卫星上行站网络管理平台和值班室互动全景的仿真,使值班员可以在任意支持SWF文件的播放平台使用该应用,并可以进行日常操作和故障排除的考核和训练。

关键词:Flash; 单帧模式; 网管平台; 互动全景; 仿真应用

中图分类号:TP393 文献标识码:A文章编号:2095-2163(2014)04-0071-04

Abstract:In this paper, a single frame mode programming method is proposed to adapt to Flash CS3.This method realizes a simulation for earth station network manager and duty room interactive panorama, which allows staff to perform training and test on routine operation and transmission failure removal through any platform supporting SWF file.

Key words:Flash; Single Frame Mode; Network Manager; Interactive Panorama; Simulation

0引言

在上行站播出工作中,由于安全播出[1]的要求,上行播出系统需要24小时不间断的连播。而值班员在保障系统正常持续运行实现的基础上,同时又面临着操练网管的职责需求。但若对在播或备播机房网管进行现场直接培训,却又存在着影响安全播出的误操作风险。针对这一状况,就需要借助PC上的模拟软件来解决对网管操作的尽快熟悉以及对播出故障的实时判断并排除的问题。

由于地球站[2]的操作系统随着时代的变迁,存在着新老交替的问题。而且,地球站的值班人员也未必具备计算机编程的知识背景。上述特点即要求编写的应用程序需具有跨平台的特性、同时在客户端的设置上更要友好而便捷。基于此分析,经过深入探讨可知,利用Adobe Flash CS3平台及其面向对象语言ActionScript 3.0编写该项目将可同时满足以上两者的要求。具体是因为, 其一,Adobe Flash CS3生成的可执行程序SWF文件在当今市场上几乎为所有的电影播放程序所支持。其二,安装了支持FlashPlayer 9.0版本以上的插件的浏览器都可以实现该类文件的拖入播放,且该类插件的市场安装率则在90%以上[3]。

但由于Adobe Flash并不是一个基于面向对象基础而研发得到的编程软件,其在支持完全的面向对象编程上表现了一定的局限。本文即通过采用“单帧编程”方法,规避了这些局限。通过编程方法的制定,Adobe Flash CS3将改造成一个适合系统图编程的编程软件。而使用该方法,Adobe Flash CS3则可单独完成任意数量的系统操作界面软件、带系统图的动态软件平台以及二维全景反应动画的编程和动画效果制作。若再加上Adobe Flash的SWF文件在用户使用方面表现的良好便捷性和跨平台特性,同时更结合该编程技术的Adobe Flash CS3潜具的广阔编程应用空间,由其编程得到的Flash仿真软件即会创造优良的用户体验。下面将就此问题展开具体论述。

1Flash CS3 的单帧编程方法及其确立的相关代码

实验1.1关键帧编程和文档类绑定

首先,在Flash CS3中写入代码的方式主要有两种。

其一,是在时间轴的关键帧中写入ActionScript3代码;其二,是在Flash CS3舞台之外单独写成ActionScript3类文件,再作为文档类和Flash库文件进行绑定,或直接和Flash文件实现绑定[4]。

虽然《Flash ActionScript3殿堂之路》[4]一书的作者,推崇使用第二种方法,但其书中第23章指出的使用getDefinitionByName函数的库文件绑定方法,只适用于舞台对象较少,关系简单的情况。一旦舞台对象数目达到了100以上,其中从属的逻辑关系将转为复杂,那么对绑定函数的实现流程将不仅增加代码的静开销,而且对于在何种继承关系中定义并使用绑定函数,都将在无形中增加编程的复杂度,以及编程工作量。

虽然利用方法一,在时间轴的关键帧中写入ActionScript3代码可以编写一定的面向对象程序。但本文要实现的项目却有着比普通动画软件更加复杂的逻辑设计关系。并且,在《Flash ActionScript3殿堂之路》书中,作者虽然提到了ActionScript3整体命名空间的一些机制,但却并未提及对于帧之间命名空间的现实运作,也未曾提供变量参数传递的具体机制。

针对此一前提,本文就需要首先对相应运行机制上存在的一些疑问进行代码实验。实验的目的,就是确定变量的有效控制范围,以及Flash CS3 在代码运行上的执行顺序。

1.2确定关键帧间以及舞台和文档类间代码执行关系的五个代码实验

由于Flash CS3是一个偏重动画设计的软件,如果不在帧上加跳帧代码的情况下,其关键帧即将按照帧号从小到大的时间顺序而依次执行。并且,其变量类型主要有两种,一种是基本的变量,在代码中创立,另一种则是舞台对象的变量,在舞台中创立并实现命名。下面即设计五个代码实验,以推动本文研究的进一步发展与实现。

1.2.1验证1

因此,为了保证关键帧代码执行顺序的唯一性,以及尽可能保留上一次的运行结果,使得编程的系统能够成为一个有记忆的系统,本文即根据项目需求提出了一种在Adobe Flash上采取联合文档类的单帧模式进行编程的实现途径,即在使用Adobe Flash CS3编程时,仅使用文档类存储全局变量,而将代码按照逻辑功能的分类合理分配到关键帧1的各个图层之中,同时尽量使用函数化的代码,由此而形成了只使用文档类和关键帧1作为全部的代码编辑空间,并利用面向对象的编程方法实现编程项目的编程模式。

针对一个大系统设计而言,只使用单独一帧来进行Adobe Flash编程的方法,却可能造成千行以上的代码集中在单一关键帧上,就会为编程人员对代码的排错和优化增加不小难度。为此,则提出如下解决方式,就是将代码按照编程的逻辑进行分类,而且将代码分配加入单关键帧的各个对应图层之中,在使得代码整体逻辑清晰的基础上,还要尽量将代码的设计函数化,以减少随后添加的代码对之前代码在执行顺序上可能造成的影响。

2系统的实现和内部逻辑架构

2.1系统图切换逻辑结构的实现

根据广播电视卫星上行系统网络管理平台中的系统图的构图模式,本文使用Flash CS3内舞台基本构图元素组合进行高度仿真的绘制,其操作功能和控制结构编程都将按照原网络管理平台上的设定来构建与实现。系统简化拓扑图如图1所示。

2.2在播链路判断功能、链路结点随机故障产生功能以及链路健康判断方程的设立

该部分主要实现在播链路随机故障的模拟产生,以及值班员在进行切换操作后软件执行对播出链路状态将给出的各类即时判断。

2.2.1结点参数设立

2.2.2随机故障产生功能的设立

根据具体上行播出系统图和图中传输结点推测出最有可能出现的24个故障,并确定故障产生时网络管理平台的报警现象,制作得到故障行为函数库。同时,基于2.2.1中断定的在播链路,并根据在播链路结点确定可以使用的故障函数子集,而将子集故障函数数量n作为随机数运行的最大边界。接下来即从(1,n)的区间内按均匀分布随机抽取一个序号,再调用该序号对应的故障函数。

2.2.3链路健康判断方程的设立

根据网络管理平台的报警行为,每个结点或器件都有三个状态:正常、警告、故障报警。因此,对每个器件建立int型健康变量ak,变量ak也随之表现有三个取值:0、1和2,分别对应着故障报警、正常和警告。随后,本文即采用乘法作为联立方程的计算方式。

2.3值班室二维全景互动动画和故障现象在屏幕墙监视黑场的关联实现

由于值班员在平时的值班任务中,对播出是否正常以及播出故障时故障点的判断大部分都是基于监控台从相应结点获取的播出监控图像的播放状态而加以确定。因此,对于各个故障而言,值班室屏幕墙都有对应的黑场现象。本文使用值班室屏幕墙的全景二维照片作为背景,并利用Photoshop软件处理监控台屏幕,制作出全黑场现象,而且更在黑屏电视中嵌入值班员在平时值班工作中经常看到的电视台节目播放内容的GIF片段来增强仿真应用的现场真实感。而在随机故障产生时,将即刻切换到值班室按钮,对应故障的黑场现象就会出现在值班室的屏幕墙场景上。

3结束语

本文基于项目用户友好性和跨系统平台特性的需求,选择了Flash CS3平台进行项目编程,并对Flash CS3编程平台设计了一定的代码实验,进而提出了单帧编程方法。通过单帧编程方法的使用,完成了卫星上行站网络管理平台及值班室互动全景的仿真应用。该项目已然作为值班员对故障处理业务训练的一个平台,并在上行站运行使用,使播出工作得到了更为切实的安全保障。而基于Flash CS3的单帧编程方法,未来也将在更多的仿真编程上获得应用,以实现更多依据现实而具体定制化的图形仿真编程。

参考文献:

[1]国家广播电影电视总局.广播电视安全播出管理规定[S].2009-12-16.

[2]陈小英.卫星上行地球站自动监控系统设计与系统分析[D].南京:南京理工大学,2004.

[3]高沫.Adobe Flash平台若干新技术在富媒体课程直播系统中的应用[D].上海:上海交通大学,2011.

[4]孙颖.Flash ActionScript3殿堂之路[M].北京:电子工业出版社,2007.