在线视频网的设计.docx
- 文档编号:9165547
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:60
- 大小:1.57MB
在线视频网的设计.docx
《在线视频网的设计.docx》由会员分享,可在线阅读,更多相关《在线视频网的设计.docx(60页珍藏版)》请在冰豆网上搜索。
在线视频网的设计
教学单位 计算机与信息科学学院
学生学号 101712413
本科毕业论文(设计)
题 目在线视频网的设计
学生姓名严银银
专业名称计算机科学与技术
指导教师涂俊英
2011年12月21日
在线视频网的设计
摘要:
随着计算机技术和INTERNET的日新月异,宽带在线视频技术因良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐。
这里结合平台开发实例,阐述了基于WEB的交互式在线视频系统的协议原理、软件结构和设计实现。
本在线视频系统根据流媒体传输原理,实现基于WEB的在线视频系统,实现会员注册、用户信息管理、视频文件的添加、审核、删除、修改及在线播放和搜索功能。
本系统是采用ASP.NET技术,以SQLSERVER2005作为数据库,使用MICROSOFTVISUALSTUDIO2005作开发平台,分为游客、会员及管理员三种身份进行设计。
具体实现中将HTML、CSS、ASP.NET及SQLSERVER完美融合,力求界面美观、操作流畅。
本文主要论述服务器端视频服务平台的搭建、管理功能的具体实现。
关键词:
流媒体;在线视频;数据库;ASP.NET
Thedesignofonlinevideosites
Abstract:
AlongwithcomputernetworkwithInternetchangeforeachpassingday,broadbandOnlineVideoondemandtechnologybecauseofitsgoodhuman-computerinteractionandstreamingmediatransmissiontechnicalgetthefavorofprofessionsuchaseducationandamusement.Inthispaper,Ielaboratesystematicprincipleoftheprotocol,softwarestructureanddesignrealizationbasedonWebinteractivevideoofdemandwithcombiningASP.NETplatformdevelopmentinstances.Accordingtothestreamingmediatransmissionprinciple,ThisvideoondemandsystemimitatesvideoondemandsystembasedontheWeb,realizesthatusersinformationmanagementandthefunctionsofadd,review,delete,modify,onlineplayingandsearchingforvideofilesonthebasicupperlocalareanetworkofthecampus.SThissystemisusingASP.NETtechnologytoSQLSERVER2005asdatabase,usetheMICROSOFTVISUALSTUDIO2005asdevelopmentplatform,dividedintotourists,membersandadministratorstodesignthreeroles,IfuseHTML,CSS,ASP.NETandSQLServerperfectly,trymybesttomaketheinterfacebeautiful,operatesmoothly.Thispaperdiscussestheserver-sidevideoservicesplatformtobuild,implementspecificmanagementfunctions.
Keywords:
Streaming;OnlineVideo;Database;ASP.NET
1引言
在线视频出现的最初动力是人们对广播电视的更高需求。
在传统的电视中,观众完全是被动的。
节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。
尽管电视台可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的,因为在快节奏的现代生活中,许多人不可能为了看某一个电视节目而预先安排自己的时间。
被动收看节目的人们希望能够按照自己的需要自由地点播节目。
在线视频的出现正迎合了人们的这种需求,这种信息服务方式符合人们对信息资源更深层次的需要。
1.1在线视频简介
在线视频,英文简称OnlineVideo,指的是在INTERNET中按照用户的喜好随意的播放视频。
ONLINEVIDEO有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如影片点播(MovieOnDemand)、热点新闻点播(Hot-NewsOnDemand)、交互视频游戏(InteractiveVideoGames)和远程教学(LongDistanceLearning)等。
在线视频是一种受用户控制的视频分配业务,它使得用户可以交互的访问远端服务器所存储的丰富节目源。
它的实质是信息的使用者根据自己的需要主动获得多媒体信息。
在线视频与传统电视有本质不同,主要体现在以下两个方面:
首先,在线视频具有交互性,用户可根据个人需求选择视频节目,并指定该节目的起始时间,从这一点来说,在线视频也可以称为交互式在线视频;而传统电视是按事先安排好的程序播放节目,用户在选择和观看节目方面是被动的,只有频道选择权,没有播放控制权,更不能对视频进行交互式操作。
其次,ONLINEVIDEO系统中的信号是数字化的,而传统电视中的信号是模拟的。
1.2市场需求及项目可行性研究
1.2.1市场需求分析
目前具有ONLINEVIDEO功能的网站很多,如国内比较出名的土豆网、优酷网、XX视频等等。
随着流媒体技术和宽带网络的发展,网民对网络信息表达方式要求的提高,视频技术被越来越多的各类网站所采用。
新浪、搜狐等大型综合门户网站大规模采集、发布视频信息,土豆网、优酷网等专业的视频分享网站快速崛起,与此同时,新闻网站对视频技术也越来越重视,对视频技术加大投入并进行开发和使用。
由此可见,中国的视频网站领域正在以跨越式的方式向前推进,此项技术在将来的应用必将俞加广泛,因此开发本系统不论是从专业技术方面来讲,还是市场前景来看都有着深远的意义。
1.2.2项目可行性研究
可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套系统正是考虑系统开发的成本而设计。
本系统的开发在经济上是完全可行的,此软件不需要大量的经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力;从技术可行性分析,在线视频网站在国外已经运用达十年之久,各项技术已经非常成熟。
综合以上技术特点,为了降低成本,我们采用PC服务器作为视频服务器,而且PC服务器的性能还在不断提高,支持的并发流数也在增加。
为了解决多并发流数,我们采用多台PC服务器以集群的形式,通过控制网关完成服务器之间的协调,提高系统的利用率。
控制网关以及集群服务器技术是我们的技术增值点。
另外,由于采用集群形式,我们不要求PC服务器实现最大流数,可以采用低档PC服务器和IDE硬盘,这样又可以提高单台视频服务器的性能价格比。
经过我们预研和测试,服务器的瓶颈不在CPU,这样可以用低档CPU和主板。
采用IDERAID卡和7200转IDE硬盘的服务器仍可支持三、四十个并发流。
控制网关的技术经过前期的预研也是可行的。
系统的整个方案都是我们自行开发并在通用的软硬件平台上运行,具有较强的灵活性。
2系统开发工具及平台介绍
2.1Browser/Server三层结构
选择合适的系统体系架构是一项影响整个应用系统设计的关键工作。
架构设计主要完成定义和说明包(子系统),以及包与包之间的依赖关系与通信机制。
B/S模式的三层结构是一种简单、成熟,并得到普遍应用的应用程序架构,它将应用程序结构划为分三个相对独立层,包括用户表示层、业务逻辑层和数据访问层。
每一层只实现该相对独立层内的功能,而当任何一层发生变化时,只要保持层间接口关系不变,则其它各层都不会受到影响。
(1).用户表示层
用户表示层也叫用户界面层,封装人机界面的所有表单和组件,是应用系统与系统用户之间的直接接口。
主要用于显示由业务逻辑层动态传送过来的数据信息,结合使用相应的HTML标记和样式表定义来实现;或者提供给用户录入数据信息并通过简单的校验后,经由数据接口传送给业务逻辑层。
(2).业务逻辑层
业务逻辑层主要完成对应用系统相关业务规则和逻辑的封装,在为用户表示层访问提供功能调用的同时,它又通过调用数据访问层所提供的功能来访问数据库。
业务逻辑层主要根据系统设计的需要,通过构建系统的关键对象类,实现系统的大部分逻辑控制功能。
(3).数据访问层
数据访问层只能被业务逻辑层访问,并且系统只通过它访问数据库来获取数据。
当数据访问层根据业务逻辑层的要求与数据库进行交互时,主要完成从数据库中提取数据库记录的查询和插入、修改与删除数据库记录的更新数据功能。
众所周知,数据库访问是动态信息管理应用系统中最频繁、最消耗资源的操作,所以必须优化对数据库的访问策略,以提高系统的性能和可靠性。
B/S模式的三层结构是一种严格的分层定义,它首先将应用系统复杂的开发工作进行划分相对简单的小分块,然后在每一层中只实现系统相应层的功能设计,层间的交互由相邻层对应的功能模块进行调用,信息传递只由接口进行传送。
其三层结构示意图如图1所示:
图1B/S三层结构示意图
2.2ASP.NET技术简介
ASP.NET不仅仅是下一版本的ActiveServerPages(ASP),它是统一的Web开发乎台,用来提供开发人员生成企业级Web应用程序所需的服务。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强该ASP应用程序的功能,ASP.NET可以无缝的与HTML编辑器和其他编程工具一起工作。
当创建ASP.NET应用程序时,开发人员可以选择使用Web窗体或XMLWeb服务,或以自己认为合适的方式进行融合。
每个功能都能得到同一结构的支持,能够使用多种身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。
接受客户端的数据请求:
在用户进行查询时,当用户在客户端浏览器输入请求数据(如查询条件),然后进行提交时,用户的请求数据以HTTP请求字符串形式被发送回Web服务器。
在ASP.NET中,服务器端的Request对象负责处理请求字符串。
处理查询条件:
对于用户的输入的查询条件,通过Request对象处理请求字符串的数据后,可根据得到的数据,综合处理并生成相应的SQL查询字符串。
其方法与常规的定义方法相同。
连接数据库进行数据操作并得到相应记录:
在ASP.NET中,对数据的访问主要是通过ADO.NET对象来实现的。
对ASP.NET访问处理过程主要分为两个步骤:
建立对数据库的连接和通过连接进行数据操作得到记录数据集。
将记录生成结果页面:
DataSet对象作为标准的记录数据集,支持标准的记录处理方法,比如求记录总数、得到记录字段值等.在得到查询记录后,通过这些方法可以将查询结果生成页面。
结果页面的生成与提交:
将查询结果写入结果页面后,Web服务器自动将页面发送回客户端浏览器。
同时,为了释放系统资源,应将创建的DataSet和Connection对象关闭并释放。
2.3C#语言介绍
C#是由Microsoft公司开发的一种新型程序设计语言。
由于它是从C和C++中派生出来的,因此具有C++的功能。
同时,它又像VisualBasic一样简单。
C#代表着程序设计语言演变的一个新阶段,它继承了C++和Java这两种世界上最重要的计算机语言的优点,并且还增加了指代、索引等创新性特点,同时,C#语言利用了.NET作为其强大的平台,使得它在Windows图形用户界面、ASP.NETWeb应用、XMLWebService及ADO.NET数据库等方面有广泛的应用。
程序设计语言C#的特点:
1.与Web的紧密结合
C#程序能方便的与Web程序进行集成。
利用ASP.NET的强大功能,C#能与Web标准,如HTML和XML相结合。
C#还能方便地开发Web服务。
紧密地结合SOAP(SimpleObjectAccessProtocol),使得C#开发大规模深层次的分布式应用成为可能。
2.安全稳定
C#特有的机制是其安全性的保障,同时它去除了C++中易造成错误的指针,增加了自动内存管理等措施,保证了C#程序运行的可靠性。
内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。
.NET平台提供的垃圾收集器(GarbageCollection,GC)将负责资源的释放与对象撤销时的内存清理工作。
同时,变量的初始化、类型检查、溢出检查等功能也充分保证了C#程序的安全稳定。
3.具有丰富的类库
C#提供了大量的类,以满足网络化、多线程、面向对象系统的需要。
①能用相应的类来实现从低级网络操作到高层网络应用。
②语言包,提供的支持包括字符串处理、多线程处理、异常处理、数学函数处理等,可以用它简单地实现C#程序的运行平台。
③实用程序包,提供的支持包括哈希表、堆栈、可变数组、时间和日期等。
④输入输出包,用统一的“流”模型来实现所有格式的输入与输出,包括文件系统、网络、输入与输出设备等。
⑤图形用户界面的功能强大,不仅能实现Windows窗口应用程序,而且可以实现Web窗体应用。
4.灵活性和兼容性
在简化C++语法的同时,C#并没有推动灵活性。
C#允许与C风格的需要传递指针型参数的应用程序接口进行交互操作,动态链接库的任何入口点都可以在程序中进行访问。
C#遵守.NET的CLS,从而保证了C#组件与其他语言(如VisualBasicVisualC++,Jscript,J#等)的组件间的互操作性。
5.支持多线程
C#中定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。
2.4SQLserver2005简介
SQLServer2005是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。
SQLServer2005将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。
SQLServer2005提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案。
SQLServer2005也提供了很多个新特性来节省精力、时间和金钱。
从编程到管理能力,这个版本的SQLServer都优于其他版本的产品,并且它还对SQLServer2000中已经存在的特性进行了加强。
在系统开发中具有很强的优势:
(1).NET框架主机:
使用SQLServer2005,开发人员通过使用相似的语言,例如微软的VisualC#.NET和微软的VisualBasic,将能够创立数据库对象。
开发人员还将能够建立两个新的对象——用户定义的类和集合。
(2)XML技术:
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。
SQLServer2005将会自身支持存储和查询可扩展标记语言文件。
(3)ADO.NET2.0版本:
从对SQL类的新的支持,到多活动结果集(MARS),SQLServer2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。
(4)增强的安全性:
SQLServer2005中的新安全模式将用户和对象分开,提供fine-grainaccess存取、并允许对数据存取进行更大的控制。
另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。
(5)Transact-SQL的增强性能:
SQLServer2005为开发可升级的数据库应用软件,提供了新的语言功能。
这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能等。
2.5开发环境及运行环境
开发环境:
AMDAthlon(tm)64Processor3000+,512M*2内存,80G硬盘
MicrosoftWindows2003EnterpriseEdition(SP2)
MicrosoftVisualStudio2005(CSharp)
MicrosoftSQLServer2005
SybasePowerDesigner12
MicrosoftOfficeVisio2007
AdobePhotoshopCS3Extended
运行环境:
Intel®Pentium®2及以上处理器,32M以上内存,4G以上硬盘
Microsoft®Windows™9X/NT操作系统
安装了SQLServer服务器
确保机器上安装有.NetFrameWork1.0或者以上版本
3系统功能分析及结构设计
3.1功能需求分析
在线视频系统需要实现的功能包括会员模块、管理员模块,以及视频信息的展示和播放等。
具体来讲,它包括会员模块中的注册、登录、视频上传修改以及评论管理,管理员模块中的视频审核删除、用户管理、公告管理等。
同时增加了按视频的类别来显示等功能。
在对系统的功能和需求进行详细分析之前,首先要根据使用该网站的用户角色的不同分为下面三种用户。
管理员各项功能:
(1)视频信息审核删除
(2)注册用户管理
(3)公告管理
(4)首页幻灯管理
普通会员各项功能:
(1)视频上传
(2)已上传视频修改删除
(3)视频评论
(4)个人信息更新
游客:
(1)搜索视频信息
(2)视频观看
这样,在对用户进行划分后,得出系统分析如图2所示。
图2系统功能分析
3.2业务流程图
(1)会员注册:
在注册页面,用户填写用户名、密码及邮箱等基本信息后,需要经过系统检验其合法性,如果通过,则注册成功,用户的信息保存到数据库用户信息表中,否则重新填写信息,直到通过。
其业务流程图3如示:
图3会员注册
(2)会员登录:
在登录界面,用户输入用户名和密码,经系统检验通过后,根据用户的权限,进入相应的操作界面,其业务流程图4如下:
图4会员登录
(3)视频上传:
游客可以浏览本站的所有审核视频,但不能进行评论,对于注册用户,系统会判断其是否登录,如果已登录,则可以上传自己的视频,也可回复视频,其业务流程图5如下:
图5视频上传
(4)管理员模块:
网站管理员可以对视频信息进行审核及删除不符合规则的内容,同时可以对注册会员进行管理,对公告和首页幻灯进行维护,如图6所示:
图6管理员权限
(5)游客浏览本网站可以观看视频并运用搜索功能快速找到自己需求的内容,如图7所示:
图7游客浏览
3.3数据库设计
数据库(DataBase,简称DB)是按一定结构组织并长期存储在计算机内的、可共享的大量数据的有机集合。
在一个应用程序中,数据库的设计是数据存储的核心工作,通过需求分析与数据流分析,设计适合电子邮件客户端系统的数据库是整个系统设计的关键,选择合适的数据库,根据各功能设计字段、创建合理的表结构、表关系是实现数据库设计的首要任务。
电子邮件客户端系统可以作为个人多用户使用也可以作为企业使用,是一个中小型软件系统,为了系统以后的扩展成为企业及系统的定位,系统采用了SQLServer2005数据库。
SQLServer2005是微软公司开发的新一代企业级数据库产品,它提供了集成的数据解决方案,增强了数据的安全性和可伸缩性,更易于创建、部署和管理。
以下是系统建立数据库的设计过程。
3.3.1数据库创建
在创建数据库的逻辑表结构之前,首先需要创建数据库,本在线视频系统的实现是通过MicrosoftSQLServer2005的SQLServerManagementStudioExpress直接创建数据库。
“开始菜单”->“程序”->“MicrosoftSQLServer2005”->“SQLServerManagementStudioExpress”->在出现的对话框中选择“连接”->在对象管理器中的数据库文件夹上右键单击鼠标->在弹出的快捷菜单中选择“新建数据库”命令,则弹出数据库属性对话框,在该对话框中设置数据库的名字为playVideo,并指定保存数据库的路径和其他属性。
3.3.2数据库的逻辑结构设计
在SQLServer2005数据库管理系统中建立数据库playVideo,再在此数据库中建立8张数据表,分别是公告消息表(bulletin)、管理员表(manageUser)、个人信息表(userInfo)、注册用户表(userRegister)、评论信息表(videoIdea)、视频信息表(videoInfo)、视频来源表(videoPoll)、视频分类表(videoTaxis)。
建立了表结构后,下面对表中各字段的数据类型、含义等进行定义与说明。
(1)公告消息表bulletin中字段定义与说明如表3.1所示:
表3.1公告消息表
字段名
数据类型
字段大小
说明
id
int
4
消息ID(主键)
title
varchar
50
消息标题
content
varchar
100
消息内容
issuanceDate
datetime
发表时间
(2)管理员表manageUser中字段定义与说明如表3.2所示:
表3.2管理员表
字段名
数据类型
字段大小
说明
id
int
4
管理员ID(主键)
name
varchar
20
管理员用户名
pass
varchar
20
管理员密码
(3)个人信息表userInfo中字段定义与说明如表3.3所示:
表3.3个人信息表
字段名
数据类型
字段大小
说明
id
int
4
用户ID(主键)
userName
varchar
30
用户名
nickname
varchar
30
用户昵称
sex
char
10
性别
img
varchar
100
用户图像
city
varchar
50
用户城市
varchar
20
用户QQ
speak
varchar
200
用户签名
sumMark
int
4
用户积分
registerDate
datetime
注册时间
(4)注册用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线视频 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)