杨剑霖
(昆明广播电视台,云南 昆明 650100)
广播电视的安全播出与管理系统密切相关。一套优秀的管理系统能提高广播电视的安全播出水平,而一套不适合的管理系统有可能对安全播出造成灾难。管理的目的在于通过合理的组织和人、财、物等因素的配置,提高生产力的水平。但管理的核心是对人的管理,作为广播电视播出的技术部门,技术人员的水平直接决定了安播工作的成败。基于此目的,通过开发一套机房管理系统和对管理流程和规定的梳理,能够让工作人员了解管理细节;通过细化数据、解决问题、串联各类数据与功能,可以让工作人员掌握一套解决问题的方法;通过对开发测试环境的搭建与开发,能够让技术人员了解网络、数据库、故障处理等方面的知识,从而提高技术水平[1]。
为了保障播出安全,提高数据分析统计效率,简化工作流程,实现痕迹管理,该系统的开发也有助于辅助机房的管理工作。系统需具有各类播出数据统计分析、人员工作安排调配、人员工作量统计、故障辅助排除以及技术交流等功能。
由于本次开发不属于商业应用类开发,因此在开发模式上选择了传统的瀑布式开发模式,包括需求分析、编码集成、测试维护等几个阶段。软件架构采用浏览器/服务器(Browser/Server,B/S)架构,开发平台为微软的.Net 平台,BS 服务选择IIS 服务,软件可使用电脑端和移动端两类终端填写和查阅,这样选择的目的在于参加人员的知识共性与兼容性会比较理想,方便后续的开发调试[2]。
通过分析可知,系统的开发需要实现对技术人员的培养,同时优化现有的工作流程,实现痕迹管理。因此本次开发与正常的软件开发不同。笔者在系统开发工作中的定位为引导者和项目管理者。对系统开发的具体分析和流程节点设定如图1 所示。
图1 软件开发目标分析
通过对原有工作进行梳理与细化,确定开发的系统除具有日常的日志数据填写功能外,需增加工作安排和提醒功能、滚动通知功能、播出记录和故障快速查询功能以及播出数据统计功能。系统应尽可能在完全实现原有纸质数据填写记录的基础上,弥补原有工作流程的不足,更好地总结和吸收工作经验,同时让工作量化考核一目了然,不易发生人为的统计错误,缩小统计误差,故障记录应图文并茂,能够为将来出现类似问题提供解决思路与方法[3]。根据这些需求,最终确定系统需设计如下模块。
(1)登录模块。用于人员登录,可以实现管理员和普通工作人员直接登录。该模块的特点在于,当班的2 名员工必须同时登录,否则只能进行工作查看,无法使用其他功能。
(2)日志查看、工作安排与通知模块。该模块实现近15 日的工作展示,以当前日期为基准。可查看过去7 日的工作情况与值班记录,也可查看当天及未来7 日的具体人员工作安排。模块具有警示滚动条,用于重大警示信息的提醒。
(3)日志模块。为实现传统纸质表格的全部功能,将每天的工作日志分解为5 张数据表单,分别为巡检记录、直播记录、播出时长记录、加班记录以及故障记录。其中,故障记录表单可上传故障截图和故障处理现场照片等附件到服务器,能够达到Word 软件的图文混排效果[4]。
(4)查询模块。查询模块支持通过时间段或者关键字对系统相关记录进行精确查询和模糊查询,可以将查询结果按日排列。
(5)统计模块。该模块具有相关播出数据统计和人员工作量统计查询功能。
(6)管理模块。管理模块用于安排工作、修改密码,并附加了短信群发功能,可以直接通过短信通知和安排工作。
系统的业务流程如图2 所示。
图2 业务流程图
1.3.1 界面设计思想
系统界面设计采用冰的六角结构为底,通过多个小的六角平铺形成软件背景,代表工作所需的沉着与冷静。在主界面配以工红,代表安全播出重于泰山。
该系统需要在计算机的主流浏览器顺利显示,并且要在以Webkit 为内核的手机浏览器中显示。设计时,所有窗口元素均采用百分比为单位的设计方式,没有采用像素作为设计单位。界面设计考虑了两种浏览器的基本兼容性。界面设计与功能相结合,主要为功能实现服务。遵照简单实用的设计原则,界面保留了日期弹出式菜单等最基本的功能,去除了大量无用的装饰功能。
1.3.2 界面设计用色和图例
界面用色选择了偏于年轻朝气的蓝灰色调,主要是为了摆脱传统对技术工作较为沉闷的认识。展示框参照国外设计采用了半透明玻璃风格和下沉式的文字条[5]。填写模块则采用了非传统的指针式选择菜单。背景采用暗棱格花纹,如图3 和图4 所示。
图3 登录界面
图4 任务查看界面
由于播出工作的特殊性,播出值班安排两位技术值班人员共同搭班值机。当班的两位工作人员必须对记录及操作负责,因此设计了双人登录系统。此系统要求值班的组长和组员同时登录,如果出现人员离岗的情况则无法登录,从技术上保证了人员的出勤,而且充分考虑工作人员出现生病和换班的情况,只要保证上班的配置是组长加组员的组合均可登录。另外,系统可以根据实际的登录情况自动记录工作人员安排,保证了工作量考核的真实合理。
播出工作按照工作内容划分,分为日常工作和特殊工作。日常工作包括巡检、直播和故障处理,这一部分相对固定的工作由计算机按照时间规律自动安排。特殊工作如新建系统功能、抢修和外出直转播等需另外安排的工作,则由值班领导直接在系统中以管理员身份下达。
滚动条功能也是根据播出部门特有的工作规律设置的功能。很多时候,上级主管部门会对播出工作做出特殊的安排和指示,电视台或相关部门有重要通知需要告知当班人员,因此需要一个能够特别提示的滚动条来提醒值班工作人员。工作人员也可以点击滚动条在窗口中阅读所有通知条目。这里的滚动内容主要来自于两张数据表,一张是由管理人员填写的通知表格,一张来自于值班人员在工作中需要未来值班人员注意的提醒内容。
依照多年来纸质表格填写的工作习惯,在设计值班表格时遵循了对应原则,即现有记录内容电子表都应具备。同时简化填写方法,如将文字刻录变为选项刻录,这样在没有故障的情况下大幅降低了工作人员的日志填写强度。若有故障,则要求工作人员详细填写故障的各项内容,其格式相对固定,还包括截图。这样,一方面通过标准化记录降低文本工作压力,便于管理,一方面强调对维护工作第一手信息的记录梳理,使技术人员在工作中的责任意识更加突出。
工作人员完成登录进入工作查询及安排页面后,工作日志页面以日历的方式进行展示。最中间的内容是当天的工作安排,以红色背景突出显示当天的工作任务,前后7 天各展示了过去及未来的工作任务情况。双击某一天的日历,可以弹出一个类似Word 软件的界面,文本内详细记录了值班情况、直转播情况以及故障处理情况等内容。如果某天有故障处理工作,文本内也会根据特定的格式展示故障的发生时间、影响的范围、持续时间、异常时的照片、故障描述以及具体的处理过程等内容。如果该故障只是通过重启等手段解决,并没有发现故障的具体原因,也可以根据需要生成工作提醒,提醒未来一段时间内值班的同事在日常巡检时特别注意该类设备的运行状况,系统工程师在组织每月的停机检修时,也可以将该设备的检查测试放到本月末的检修计划当中,如图5 所示。
图5 工作日志界面
以值班情况为例。值班对应了2 张表,一张是后台通过脚本自动生成的值班情况,另一张是根据每天值班人员的实际登录情况生成的统计表,该表根据交接班时间等进行自动判断,自动记录交接班时间等内容。通过相关数据表的后台比对,可以让管理人员清晰了解值班工作是否存在异常,如在未报备的情况下换班等情况。系统也可统计出是否有人员连续换班情况,这时部门主任能够了解相关人员的工作情况,并根据情况进行下一步的工作安排,避免一些工作人员因各种问题没有及时发现处理而影响安全播出,能够让部门运行和管理更加人性化。
本系统最大的特点是对故障处理全过程的记录。在以前的纸质记录方式中,值班人员只是在工作记录表中记录故障发生处理的情况,这存在一定的问题。一是记录人员没有统一的记录标准,随意性较大,为后续的梳理统计造成不便;二是纸质记录难以分类管理统计。因此根据上述情况,在软件设计之初,将故障处理记录内容划分为多个数据表。填写故障时,将各个需填写内容划分为各个填写单元,通过标准的填写,将数据分别写入对应的数据表中,如故障范围、时间、关键字等内容,都能实现标准化填写,具体的处理情况也可分解为多个小标题,让技术人员逐一填写,通过正则表达式对填写内容进行过滤,保证填写内容无疏漏。在需要集中展示的页面,通过多表联合查询将结果根据特定格式进行统一的展示,技术人员和管理人员也可根据自身的需要只对某个表进行查询汇总和统计,这样不同工种人员可以各取所需。值班人员也可以通过故障现象、类别和关键字快速查询到相关的故障处理情况,为同类故障处理提供思路和解决办法,避免值班人员在第一次遇到问题时手足无措。管理人员可以将有特点的故障分析解决情况作为案例让工作人员分析和学习,从而达到提升工作人员技术水平的目的。
由于系统采用了B/S 架构,因此具备良好的扩展能力,一个模块可以作为页面中的一个层来扩展,也可以作为一个新页面,扩展手段灵活。新功能的扩展对原有功能的影响较小,每个页面的数据操作是独立的,不会存在互斥,因此系统具有良好的扩展性能。
目前已在菜单中扩展了短信群发功能,实现对部门工作人员精确到个人的短信通知。同时在首页以超链接的方式扩展了电视台及部门下发的文件和技术资料的学习交流模块,为工作人员提供良好的学习和资料分享功能。
为了提高人员技术水平,在软件开发前期设置了几个关键问题,希望通过解决问题从而提高技术维护水平。
通过废旧服务器及电脑的利用,将多台存在故障的服务器组装为两台主备数据库及Web 服务器。通过该问题的解决,技术人员熟练掌握了服务器的故障判断与组装,能够快速安装服务器及软件。
本次系统架设在台内办公网上。如何规划网络、配置交换机才能不引起网络冲突,只让特定的机器能访问本系统,是技术团队需要解决的问题。在此过程中,参与人员掌握了虚拟局域网(Virtual Local Area Network,VLAN)的划分、访问控制列表配置等内容,并且针对不同品牌的交换机,归纳总结了命令对照表。
数据库是播出系统的核心,是日常维护工作的重点。如何管好、用好数据库,是本次开发过程最需要引导学习的地方。因此,笔者带领技术团队反复对各类解决方案进行测试,力求找到最优解。
开发过程遇到了以下问题:多用户登录后如何解决数据的同步与异步问题,主备数据库发布订阅的配置与常见故障排除,维护计划的设定与后台脚本的运行,常规数据的自动生成与每月报表生成。通过对这些问题的测试与解决,技术团队的能力得到了提高。
由于浏览器只会在加载时更新数据,如何保存临时数据、及时同步新数据也成为软件面临的一个问题。通过双用户登录问题的解决,技术人员熟悉了cookie 和session 的区别,了解了临时数据的存取等方面的解决方案,最后解决了特定页面的部分数据更新问题。
下面的程序用于交接班判断。程序本身比较简单,能够正常运行,但在实际测试和使用中总会出现与实际不符的情况。这是由于之前在规划中简单地把时间和人员的变化作为班次变化的条件,不能涵盖所有情况的变化和误操作等情况。最终,交接班判断加入了换班申请和登录确认后解决了这个问题。
该软件的开发与实践达到了预期的目的。软件分别在实体机和虚拟机上部署,上线以来,运行稳定。系统实现了播出部对播出值班工作的要求与痕迹管理,人员的培养基本达到预期。但系统也存在一些遗憾,比如没能实现在播出出现故障后,通过拍照查找之前的故障记录和解决方案,这将在技术储备进一步提高后再进行完善。