696SJBH视频点播系统的设计和开发

1章  绪论

视频点播VOD(Video on Demand)出现的最初动力是人们对广播电视的更高需求。在传统的电视中,观众完全是被动的。节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。尽管电视台可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的,因为在快节奏的现代生活中,许多人不可能为了看某一个电视节目而预先安排自己的时间。被动收看节目的人们希望能够按照自己的需要自由地点播节目。视频点播的出现正迎合了人们的这种需求,这种信息服务方式符合人们对信息资源更深层次的需要。

1.1 视频点播简介

1.1.1 视频点播的含义

视频点播,英文简称VOD(Video on Demand),指的是按照用户的要求播放视频。VOD有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如视频点播( Movie On Demand)、热点新闻点播( Hot-News On Demand)、交互视频游戏( Interactive Video Games)和远程教学( Long Distance Learning)等。

VOD是一种受用户控制的视频分配业务,它使得用户可以交互的访问远端服务器所存储的丰富节目源。“它的实质是信息的使用者根据自己的需要主动获得多媒体信息。”视频点播与传统电视有本质不同,主要体现在以下两个方面:首先,视频点播具有交互性,用户可根据个人需求选择视频节目,并指定该节目的起始时间,从这一点来说,视频点播也可以称为交互式视频点播;而传统电视是按事先安排好的程序播放节目,用户在选择和观看节目方面是被动的,只有频道选择权,没有播放控制权,更不能对视频进行交互式操作。其次,VOD系统中的信号是数字化的,而传统电视中的信号是模拟的。

1.1.2 选题的背景和意义

视频点播VOD(Video on Demand)出现的最初动力是源于人们对广播电视的更高需求.在传统的电视中,观众完全是被动的,节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的.尽管电视台可以提供很多的节目,在当今如此快节奏的生活中,用户没能在恰当的时间收看到自己喜欢的节目是常有发生的事情.被动收看节目的人们希望能够按照自己的需要自由地点播节目、收看节目,不必遵守传统的时间表,可以随时随地的收看自己喜欢的节目.

随着网络技术的发展,视频点播自20世纪90年代开始发展起来,它是在原有的文字、图片等静态信息浏览的基础上,增加了视频和音频的动态浏览等多媒体点播服务.随着互联网的普及,人们越来越习惯于利用网络来实现所需的服务,因此,利用先进的web信息技术以及数据库技术,建立一个基于网络的在线视频点播系统,以其不受时间与空间的限制,向用户提供以视频为中心的多媒体内容服务,动态地实现与用户的交互,使用户随时随地地浏览网页,足不出户就可观看电影,摆脱了传统电视收看时间的局限性,以及传统CD播放资源的局限性,必将受到广大用户的青睐.

1.2 可行性分析

1.2.1  市场可行性分析

目前具有视频点播功能的网站很多,如天天在线影视、互动影视城。目前都是基于单台PC服务器的方案,最大链接数不超过100个。不适合用于大型的视频点播系统。虽然有专门的视频服务器可以支持大流数,但价格一般极其昂贵。从应用范围上看,由于产品支持流数有限,只能应用 在一些小型的视频系统中,如酒店、卡拉OK包房、中小企事业学校的培训、商场等等,不适合长宽应用在大型社区网和城域网中。从价格上看,尽管几家都采用PC服务器方案,相对于专业视频服务器的价格的确很低,但方案仍然要采用高档PC服务器、SCSI RAID卡 和SCSI硬盘,硬件成本仍然较高。综合几方面,我们开发出一套支持多并发流数、软硬 件成本低、管理完善的大型VOD集群服务器系统是有其市场空间和优势。

1.2.2  技术可行性分析

系统的主要技术难度是解决并发流数。国外许多大公司推出的专有视频服务器可以支持几百个并发流,但价格相当昂贵。国内的几个厂家采用的是高档服务器作为视频服务器 ,可以支持几十个流,最多100个。采用服务器替代专有视频服务器硬件成本大大降低, 但单台服务器的并发流数和硬盘扩充的极限太小,不能满足大型的市场需求。

1.2..3 经济可行性分析

软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套系统正是考虑系统开发的成本而设计。本系统的开发在经济上是完全可行的。开发此软件不需要大量的经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。

综合以上技术特点,为了降低成本,我们采用PC服务器作为视频服务器,而且PC服务器 的性能还在不断提高,支持的并发流数也在增加。PC服务器作为视频服务器的方案正逐步取代以前的专有视频服务器。为了解决多并发流数,我们采用多台PC服务器以集群的形式,通过控制网关完成服务器之间的协调,提高系统的利用率。控制网关以及集群服务器技术是我们的技术增值点。另外,由于采用集群形式,我们不要求PC服务器实现最 大流数,可以采用低档PC服务器和IDE硬盘,这样又可以提高单台视频服务器的性能价格比。经过我们预研和测试,服务器的瓶颈不在CPU,这样可以用低档CPU和主板。采用IDE  RAID卡和7200转IDE硬盘的服务器仍可支持三、四十个并发流。控制网关的技术经过前 期的预研也是可行的。系统的整个方案都是我们自行开发并在通用的软硬件平台上运行 ,具有较强的灵活性。

1.3 系统目标

设计目标:

该系统设计目标为1000个并发流,采用机架式结构设计,主要由多台支持较少并发流的视频服务器组成。系统支持MPEG1,MPEG2,MPEG4的 视频效果。

实现方案:

硬件:视频服务器采用机架式PC SERVER、千兆SWITCH、电源模块、机柜、调度服务器。

软件:每台视频服务器上的并发流软件,调度网关服务器上的管理和负载均衡软件。

1.4  小 结

本章主要介绍了视频点播系统的意义和目的,并对本系统做了进一步的分析。

2章 系统开发工具及开发平台

现在的软件开发语言有很多种,但一定要找一个功能强大,易学易用易掌握且适合自己的语言也就不多了。本系统经过多种语言的优缺点的对比之后,采用的是ASP.NET作为本系统的开发语言,以ACCESS作后台的数据支持。

2.1 系统开发平台

本系统采用ASP.NET作为后台开发工具。ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。

ASP.NET是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。当创建ASP.NET 应用程序时,开发人员可以使用 Web 窗体或XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。

2.2 数据库平台

ASP.NET所支持的数据库很多,因此我们要根据实际需要来使用最合理的数据库。数据库分为平面数据库和关系数据库,但平面数据库会使存储空间被重复和浪费,而关系数据库则是由若干个平面数据库连接在一起而形成的,采用关系数据库,用户不仅能像在平面数据库管理中那样搜索各个独立的记录,而且能够建立一个记录集合与另一个记录集合的关系,就能使用户的效率更高,操作更简捷。

数据库,简单而言就是要存储这些大量的数据而且要能正确的存储。

数据会随着时间的增加,而积累,导致数据量日渐庞大。我们常常需要快速地在大量的数据中,找出设备的存储记录,同时也希望数据能有一定的保密性。

而数据的最终作用,就是提供决策分析的信息。如果我们不能利用大量数据的分析,以最快的速度找到我们要找寻的数据,则数据只是简单的资料罗列而己。

由最基本的元素组合成数据叫记录(Record)。由相同性质的记录组合起来叫表(Table),相关的表组合起来就叫数据库 (Database)。处理数据的建立、查询、更新等工作的程序就叫做数据库管理系统(Database Management System, DBMS)。纵向的每一列叫做字段,横向组合起来就成为一条记录所有记录的集合就是表,与其他相关的表组合起来就叫做数据库。

数据库应用系统是以数据库为基础的信息管理系统。手工方式的数据处理是繁琐的重复劳动。因此,也就有低效率、准确性差以及复杂化等缺点的不可避免性,随着计算机的出现,开辟了电子数据处理的新纪元。

本系统采用ACCESS作为后台开发工具。因有其重要特性及优点,详细介绍如下:

Internet 集成

ACCESS数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所还需的可伸缩性、可用性和安全功能。ACCESS程序设计模型与Windows DNA构架集成,用以开发Web应用程序,并且ACCESS支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。

可伸缩性和可用性

同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows® 98的便携式电脑,到运行Microsoft Windows 2000数据中心版的大型多处理器服务器。ACCESS企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需要的性能级别。ACCESS与Windows NT和Windows 2000故障转移群集共同支持不间断地将故障即时转移到备份服务器。ACCESS还引入了日志传送功能,使您得以在可用性要求较低的环境中维护备用服务器。

企业级数据库功能

ACCESS关系数据库引擎支持当今苛刻的数据处理所需的功能。数据库引擎充分保护数据完整性,同时将管理上使并发修改数据库用户的开销减到最小。ACCESS分布式查询使您可以引用来自不同的分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您能维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱机用户,使这些用户自主地工作,然后将他们所做的修改合并回发到服务器。

易于安装、部署和使用

ACCESS中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用ACCESS的过程。ACCESS还支持基于标准的、与Windows DNA集成的程序设计模型,使ACCESS数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付ACCESS应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。

数据仓库

ACCESS中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。ACCESS中还包括一些工具,可用来直观地设计数据库并通过English Query来分析数据。

2.3 系统运行环境

2..3..1 软件运行平台

本系统设计运行在Windows98/2000/NT/XP操作系统环境下,因为该系统用户界面友好,易学易用。

2..3..2   硬件运行平台

CPU: Intel的PENTIUMN处理器,可扩展2个CPU.

硬盘:40G SCSI硬盘,可扩至4-6个硬盘

内存:512MB

显卡:32位真彩色

网卡:loom,与IEEE 802.1p标准兼容

客户端是普通的PC机:

CPU: Intel的PENTIUM11 266MHZ或更高

硬盘:E工DE硬盘

内存:32MB RAM

显卡:16位真彩色

网卡:10/loom支持数据连接的普通适配卡

2.4 小结

本章主要阐述了系统的开发平台和数据库平台中的一些基本概念。

ASP.NET是目前在Windows平台中最强劲的WEB页编辑工具之一,具有强大的可视化设计功能,对数据库开发有独到的优势,产生的代码具有执行快、效率高、安全性好等特点。

本章详细的介绍了ASP.NET特性及优点、ACCESS 中可伸缩性和可用性、企业级数据库功能、易于安装、部署和使用及数据仓库等一些知识。系统运行的硬软件平台、B/S模式的一些优缺点。

系统分析

为了实现本系统,必须对整个系统的全面功能做出详细的分析。一个好的系统必定有好的分析,因此本章我们将对在线视频点播系统做出具体的分析。

3.1 系统基本情况描述

在线视频点播系统需要实现的功能包括用户的管理,以及视频信息的管理和使用等。具体来讲,它包含视频信息的显示、播放、搜索操作,视频管理中的添加、删除、修改等。同时为了方便用户使用,增加了按视频类别来显示等功能,这使得系统需要在视频信息之外保留栏目信息,于是增加了对栏目信息的增加、删除和修改的功能。

在线视频点播系统是在对一些用户观看电影的实际方式调研后,以实际为基础进行设计的。该系统属于B/S模式,用户可以在线搜索、浏览、点播视频。管理员可对用户、视频信息进行增加、删除以及修改等操作。该系统包括三大模块:视频信息显示播放、视频信息搜索、管理员模块。

3.2 系统数据流分析

本系统根据使用该网站的用户角色的不同分为下面两种用户。

管理员:采用自行设置方式进入网站,负责管理网站上用户信息和视频信息的管理,以及栏目信息的管理。其中包括视频信息的增加、删除、修改,以及栏目信息的增加,删除和修改。

浏览用户:在网站中可以在线浏览视频信息,搜索视频信息,以及在线观看视频信息。

根据用户的角色和需求进行划分后,可以归纳出整个系统的数据流图如图3-1所示。

               

操作用户

用户身份验证

修改各类信息

                                                         管理员文件

                                      管理员

              

图3-1    管理员登录流图

3.3 系统流程

3..3..1 业务流程分析

调查视频点播的业务流程应顺着系统信息流动的过程逐步地进行,内容包括各环节的处理业务、信息来源、处理方法、信息流的去向提供信息的时间和形态(报告、单据等)通过对视频点播业务的实际调查分析,系统的系统分析阶段,我们设计出我们系统的业务流程图,弄清了视频点播系统的业务流程。

3..3..2 系统数据实体及关系分析

为了把用户的数据要求清楚、准确的描述出来,通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的实现环境,而且与在软件系统中的实现的方法无关。

数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间的相互连接的关系。

1、数据对象

数据对象是对软件必须理解的复合信息的抽象,数据对象彼此之间是相互关联的。

2、属性

属性定义了数据对象的性质。必须把一个或多个属性定义为标识符也就是说,当我们希望找到数据对象的一个实例时用标识符属性作为关键字(通常简称为“键”)。

3、联系

客观世界中的事物彼此间往往是有联系的。数据对象之间相互连接的方式称为联系,也称为关系。联系可分以下3种类型:

一对一联系(1:1)

一对多联系(1:M)

多对多联系(M:N)

3.4 系统的技术要求

功能要求

(1)系统设计的各项功能能够正确完成。

(2)对输入的数据能判断出是否为非法数据或越界数据,系统会自动给出提示,告诉用户重新输入。

(3)各模块在运行时互不干扰,各种操作的快捷键能够正确运行。

(4)对非法操作能够给出正确处理。

编码要求

主应用程序的命名:主应用程序的命名应由项目负责人确定,能完全表达出本系统意义的英文字符串即可,包括应用程序对象名,应用所在的库名、项目名,可执行文件名都必须统一使用本命名。

界面要求

1. 各窗口的大小适中,布局合理,插有图版,界面美观大方。

  1.  系统设计

在系统需求分析阶段,已经搞清楚了系统“做什么”的问题,并通过需求说明书将这些需求描述出来,这也是目标系统的逻辑模型。进入了设计阶段,要把系统“做什么”的逻辑模型变化为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计说明书”文档中,所以系统设计是一个把系统需求转换为系统表示的过程,最初这种表示只是描述了软件的总的体系结构,成为系统概要设计或结构设计。然后对结构进一步细化,称为详细设计或过程设计。软件系统设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流成图是设想各种可能方案的基础。本章主要介绍系统功能设计和系统数据结构设计。

4.1 系统功能设计

在线视频点播系统需要实现的功能包括用户的管理、以及视频信息的管理和使用等。具体来讲,它包含视频信息的显示、播放、搜索、评论以及个人信息资料操作,视频管理和说评论管理中的添加、删除、修改等。

在线视频点播系统是在对一些用户观看电影的实际方式调研后,以实际为基础进行设计的。该系统属于B/S模式,用户可以在线搜索、浏览、点播以及评论视频,并可通过用户服务模块对个人信息进行修改密码等操作。管理员可对用户、视频信息、评论信息进行增加、删除以及修改等操作。该系统包括四大模块:视频信息显示播放、视频信息搜索、管理员模块。

本系统根据使用该网站的用户角色不同可分为两种种用户:

管理员:负责管理网站上用户信息、视频信息、评论信息的管理。其中包括视频信息的增加、删除、修改,用户信息和评论信息的删除和修改。

普通游客:只能对本站的视频信息进行浏览,不可以观看、评论、下载等操作。

本系统的功能模块如图4-1所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值