旧文一篇:7年项目总结

2010年3月初,我离开了工作了七年之久的永新视博。七年的时间,神采飞扬的青年可以变成两鬓点缀着华发的“中青年”,遥想七年之前……呵呵有点沉重了,还是总结一下这些年自己觉得最成功的项目吧。

一、XX电视台播控系统(LBC,2004年底~2005年,项目人数为6人)

  • 概述

提供节目单编排功能,并使用编排好的节目单对视频服务器(NStream)进行节目调度播出。系统整体包含两个子系统,如下:

1、节目单编排子系统,包含从XML文件中导入节目单、从内容管理系统(捷成世纪)中查询和导入节目,自动排定节目单和导出节目单(同时导出多份节目单);

2、节目自动播控子系统,按节目单调度视频服务器来调度视频的播出,并提供实时的监控功能。

  • 架构

1、节目单编排系统采用三层架构,包含一个编排客户端、一个管理客户端和一个应用服务器,客户端和应用服务器之间采用Web Service来通讯。系统采用Oracle作为数据库,使用Delphi开发。

2、自动播控系统为两层架构,包含一个监控客户端、一个配置客户端和一个播控服务。三者皆直接从数据库存取数据,如更改数据则通过消息队列通知另外两个模块,另外两个模块收到消息后自动从数据库获取最新的响应数据。

3、节目单编排系统输出节目单文件(XML)到自动播控系统指定的目录中,后者则定时或手动地检测该目录,并导入节目单。

4、播控系统根据导入的节目单来控制NStream的视频服务器,并记录详尽的连接、播出、暂停等日志。

5、节目单编排、播控皆采用可视化方式显示和操纵数据。

如下图所示:

clip_image001

  • 我的职责

担任项目经理,负责系统需求、设计,并负责核心代码的编写。

二、XX互动电视系统(ITV,2005年~2006年,项目人数为6人)

  • 概述

XX互动电视系统是一个数字电视增值系统,其大略思路是:开发一系列运行于机顶盒中间件的应用(比如说投票应用),按照编排好的数据下发计划表,由数据轮播服务器端使用数据轮播(DC)方式通过Cable发送到机顶盒,机顶盒用户参加相应的活动(比如说投票)后的结果通过以太网回传到服务器进行处理,处理的结果再下发给机顶盒。这样,就完成了一次完整的数字电视互动业务过程。

我们的系统负责数据下发计划表编排功能、数据播出调度相关功能的开发。XX方面希望我们能支持多种数据轮播服务器,如算通、茁壮(ipanel)的数据服务器等。

  • 架构

项目刚开始的时候为三层架构,项目初版完成后,客户更改了需求,要求绑定和监控功能可以跨互联网访问服务器。所以加了一个中间的代理服务器,实现简单的数据请求转发功能,最终的架构如下:

clip_image001[5]

所有模块都是用Delphi开发的,并采用Oracle作为数据库。

本软件在架构上的亮点有两个:

1、由于最初采用了比较一致的数据接口,使得添加了代理服务器模块只增加了很少的工作量,就完成了软件跨互联网访问的功能;

2、初版在开发调度服务器于数据轮播服务器接口时,很好的抽象出一个数据轮播服务器类。在后期需要实现与多家数据服务器对接功能时,每次只需要添加一个新的“适配器”,就可以于新的数据服务器对接,这样大幅地减少了工作量。

  • 我的职责

担任项目经理职位,软件设计工作和核心代码编写。

三、EPG广告系统(前端部分,2008年~2009年,项目人数为12人)

  • 概述

EPG广告系统的目标是在用户观看EPG(电子节目指南)信息的时候,向用户展示图片、视频、文字等信息。前端工作内容包括制定传输、打包规范,编辑打包数据,播出数据。

  • 架构

本项目为三层架构,包含客户端、服务端和数据库。采用.Net/C#开发,Oracle作为数据库。

clip_image001[7]

架构亮点:因为在系统开发前期对于开展哪些业务并不清楚,因此开发了一套基于容器的架构,将每一种独立业务设计为组件,那么当增加新业务的时候,不需要重新编译项目框架。只需要将编译好的组件放入指定的目录,重启系统后即可加载新的业务。

  • 职责

项目经理,架构设计和核心代码编写。虽然本项目最后的销售结果不算成功,但我认为应该算子在所谓的“政治”头上,开发方面还是很成功滴。

posted on 2010-11-01 22:05  阿齐  阅读(3865)  评论(21编辑  收藏  举报