视频点播器后台管理.docx
《视频点播器后台管理.docx》由会员分享,可在线阅读,更多相关《视频点播器后台管理.docx(25页珍藏版)》请在冰豆网上搜索。
视频点播器后台管理
河北农业大学
本科毕业论文(设计)
题目:
视频点播器---后台管理
摘要
随着计算机技术和INTERNET的日新月异,宽带视频点播技术因良好的人机交互性和流媒体传输技术备受教育,娱乐行业的青睐。
这里我们结合平台开发实例,阐述了基于web的交互式视频点播系统的协议原理,软件结构和设计实现。
本视频点播系统根据流媒体的传输原理,模拟基于web的视频点播系统,实现用户信息管理;影片信息管理包括影片信息的增,删,改,查,影片上传;以及评论管理和影片分类管理的后台管理。
由于本系统是一个小型的系统,所以我们使用SQL数据库,易于实现。
具体实现中将HTML,C#和JAVASCRIPT完美融合,力求界面美观,操作流畅。
关键字:
视频点播,C#,vs2008,SQL2005
Abstract
WithadvancesincomputertechnologyandINTERNET,broadbandvideoondemandtechnologybecauseofthegoodhuman-computerinteractionandstreamingmediatransmissiontechnologyiseducation,theentertainmentindustry.Herewearecombiningtheplatformdevelopment,expoundstheinteractivevideoondemandsystembasedonwebprotocolprinciple,softwarestructureanddesignimplementation.
Thisvideoondemandsystembasedonstreamingmediatransmissionprinciple,analogvideoondemandsystembasedonweb,realizetheuserinformationmanagement;Filminformationmanagementincludinginformationincrease,delete,change,checkanduploadfilm;Andcommentandfilmclassificationmanagementbackgroundmanagement.Becauseofthissystemisasmallsystem,soweuseaSQLdatabase,easytoimplement.SpecificimplementationinHTML,JAVASCRIPTandc#perfectfusion,interfaceaesthetics,smoothoperation.
Keywords:
vodpalyerC#VS2008SQL2005
1.绪论
1.1选题背景和意义
伴随着市场经济的迅速发展和人们生活水平的不断提高,电影行业的竞争也愈来愈激烈。
要是想在这么激烈的竞争中获得优势,就必须要在经营管理方面,产品服务等方面提高服务管理的意识。
怎样利用先进的管理手段,提高电影播放的速度和上传电影的速度,是每一个电影管理者所面临的非常重要的课题。
简单化的服务标准已经不再是制胜的法宝了,只有在管理方面做到最细微的地方,才能让用户体验到电影播放的高标准,高质量,而且准确,快捷,周全通常就是最基本的成功要素。
面对信息时代的挑战,利用高科技的手段提高企业管理无疑是一条非常有效的途径。
所以采用电脑来管理业务,财务等诸多环节已经成为电影业快速发展的重要条件。
随着经济的飞速发展人们的收入越来越高,相应的娱乐设施也越来越多,电影是人们的最佳选择,那么电影播放网站管理系统是一个供观众直观查看影片信息的系统,可以为观众提供影片的播放、下载的信息。
系统最后可提供免费下载。
对于电影来说,电影的播放至关重要,所以用户对系统应该能够为用户提供充足的信息和快捷的查询手段。
传统的人工方式管理方式效率低、保密性差,不利于查找、更新和维护。
使用计算机对电影进行管理,能够极大地提高电影院用户管理的效率,节约教育经费,这也是适应信息化建设发展趋势的重要因素。
1.2国内外现状和发展趋势
目前国内许多公司如中兴、思华科技、深圳迪瑞等为代表的国内厂商结合国内具体应用开发出了一系列符合中国国情的视频点播系统。
目前视频点播系统主要有两种:
即基于Internet的视频点播系统和基于HFC网络的系统。
基于Internet的视频点播系统通常又称作流媒体系统,服务器也叫流式服务器。
流式服务器采用基于Internet的技术,将媒体数据在观看时才传输给用户,因而流媒体是一种持续的连接,而不是“无状态”的数据连接。
和大多数Internet服务一样在流式服务中,用户通过联网的个人电脑接入相关网站,并点击所需要观看的视频文件。
通过互联网访问电影有两种途径:
下载播放或流式播放。
然后就可以看到所需要的影片了。
流式服务器将固定质量的影像文件流通过互联网传输,其观看质量取决于服务器和浏览器可用的通道大小。
对于互联网,通道大小随时间会发生变化,因而会出现掉帧、痉挛或质量下降的现象。
要获得盒式录像的质量,需要750kbps的在线传播速度,但大多数厂商还达不到这个速度。
即便是最大的宽带供应商,其速度也大约只有450kbps。
流的优势在于快速访问电影。
然而,这样只能看到低质量的影像,不能对流进行编辑或其它操作。
在流式视频点播系统中,网络传输的数据流多是MPEG-4标准格式。
以HFC网络为基础,传输MPEG-2标准视频流的视频点播系统还比较少见。
思华科技的基于HFC的视频点播方案成功的在杭州实施,而且得到了业内广大人士的认可。
基于HFC的视频点播系统,机顶盒发出的用户的点播请求、点播终止等上行信息经过CABLEMODEM调制由HFC 网络上传,在服务器端由CMTS (CableModemTerminationSystem) 电缆调制解调器终端系统把HFC 网络的上行信息解调经IP网络传给视频服务器,视频服务器中的音频视频流经过IPQAM调制经HFC 网络传给机顶盒,然后机顶盒进行音、视频解码和数模转换,最后把模拟的音、视频信号传给电视机。
2.相关理论与技术
2.1.NETFramework介绍
.NETFramework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。
使用.NETFramework的一个主要原因是它可以作为集成各种操作系统的方式。
.NETFramework可以创建Windows应用程序,Web应用程序,Web服务和其他各种类型的应用程序。
.NETFramework的设计方式保证它可以用于各种语言,包括C#,,C++,VisualBasic,Jscript,甚至一些旧的语言。
所有这些提供了意想不到的多样性,这是.NETFramework具有诱人前景的部分原因。
.NETFramework旨在实现下列目标:
(1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在Internet上发布,或者是在远程执行的。
(2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。
(3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
(4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
(5)使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。
(6)按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。
.NETFramework具有两个主要组件:
公共语言运行库(CommonLanguageRuntime,CLR)和.NETFramework类库。
公共语言运行库是.NETFramework的基础。
您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
这类似于Java的虚拟机。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebservices)。
2.2SQLServer2005数据库系统介绍
SQLServer是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。
越来越多的开发工具提供了与SQLServer的接口。
SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。
于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。
可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
MSSQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。
事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统已经建立好的一些对象来达成,是面向对象的一个系统结构。
SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以:
·将个别服务器注册到组中。
·为每个已注册的服务器配置所有SQLServer选项。
·在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。
·在每个已注册的服务器上定义并执行所有SQLServer管理任务。
·通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。
·唤醒调用为SQLServer定义的各种向导。
SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
DML(DataManipulationLanguage,数据操作语言):
用于检索或者修改数据;
DDL(DataDefinitionLanguage,数据定义语言):
用于定义数据的结构,比如创建、修改或者删除数据库对象;
DCL(DataControlLanguage,数据控制语言):
用于定义数据库用户的权限。
DML组可以细分为以下的几个语句:
SELECT:
用于检索数据;
INSERT:
用于增加数据到数据库;
UPDATE:
用于从数据库中修改现存的数据;
DELETE:
用于从数据库中删除数据。
DDL语句可以用于创建用户和重建数据库对象
在VB中使用SQL语言非常方便,一般来说,都是通过Tquery或TADOquery组件来使用SQL语言的。
可以在Tquery或TADOquery组件的SQL属性中设置SQL语句。
设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开StringListEditor对话框,然后我们就可以在对话框中添加SQL语句。
还可以使用Delphi的SQLBuilder来自动生成SQL语句,这样可以避免手工编写SQL而可能造成的语法错误。
静态SQL语句在程序设计时便已固定下来,它不包含任何参数和变量。
2.3VisualC#介绍
ASP.NET是建立在通用语言运行时刻库(CLR)上的应用程序框架。
它用来在服务器端构建功能强大的web应用程序。
ASP.NET提供了几个超越以前web开发模式的优点:
增强的性能。
ASP.NET是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。
ASP.NET利用提前绑定,即时编译,本地优化和缓存服务来提高性能。
所有这一切,性能远远大于你以往写的每一行代码。
世界级水平的开发工具支持。
在VisualStudio.net的集成开发环境(IDE)中,ASP.NET框架由工具箱和设计器组成。
所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。
强大而富有弹性。
由于ASP.NET是基于(CLR)的,因此整个.net平台的强大和富有弹性,同样可以应用于web应用程序开发者。
.net框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。
ASP.NET也是语言中的,因此你可以选择你最熟悉的语言,或者通过几种语言来共同完成一个应用。
而且,CLR的互用性可以保证你升级到ASP.NET的时候,现存的基于COM的开发投资依然保留。
ASP.NET使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。
例如,ASP.NET允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像VB的表单执行模式那样来处理事件。
此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。
ASP.NET使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。
由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。
这种“零本地支持”的理念也同样应用到了部署ASP.NET应用程序。
ASP.NET应用程序部署到服务器,简化为复制必要的文件到服务器。
在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。
ASP.NET被设计成可伸缩的,能为集群和多处理器环境设计提高性能。
而且,ASP.NET运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。
ASP.NET提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。
事实上,使用自己的编写的组件可以扩展或者替换ASP.NET运行时刻的任何子组件。
VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic、VisualC++、VisualC#和VisualJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。
另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XMLWebServices开发的关键技术。
3.系统可行性分析
3.1市场可行性分析
目前具有视频点播功能的网站很多,如天天在线影视、互动影视城。
目前都是基于单台PC服务器的方案,最大链接数不超过100个。
不适合用于大型的视频点播系统。
虽然有专门的视频点播视频服务器可以支持大流数,但价格一般极其昂贵。
从应用范围上看,由于产品支持流数有限,只能应用在一些小型的视频点播系统中,如酒店、卡拉OK包房、中小企事业学校的培训、商场等等,不适合长期应用在大型社区网和城域网中。
从价格上看,尽管几家都采用PC服务器方案,相对于专业视频服务器的价格的确很低,但方案仍然要采用高档PC服务器、SCSI RAID卡和SCSI硬盘,硬件成本仍然较高。
综合几方面,我们开发出一套支持多并发流数、软硬件成本低、管理完善的大型视频点播集群服务器系统是有其市场空间和优势。
3.2技术可行性分析
系统的主要技术难度是解决并发流数。
国外许多大公司推出的专有视频服务器可以支持几百个并发流,但价格相当昂贵。
国内的几个厂家采用的是高档服务器作为视频服务器,可以支持几十个流,最多100个。
采用服务器替代专有视频服务器硬件成本大大降低,但单台服务器的并发流数和硬盘扩充的极限太小,不能满足大型的市场需求。
3.3经济可行性分析
软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益,我们开发的这套系统正是考虑系统开发的成本而设计。
本系统的开发在经济上是完全可行的。
开发此软件不需要大量的经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。
综合以上技术特点,为了降低成本,我们采用PC服务器作为视频服务器,而且PC服务器的性能还在不断提高,支持的并发流数也在增加。
PC服务器作为视频服务器的方案正逐步取代以前的专有视频服务器。
为了解决多并发流数,我们采用多台PC服务器以集群的形式,通过控制网关完成服务器之间的协调,提高系统的利用率。
控制网关以及集群服务器技术是我们的技术增值点。
另外,由于采用集群形式,我们不要求PC服务器实现最大流数,可以采用低档PC服务器和IDE硬盘,这样又可以提高单台视频服务器的性能价格比。
经过我们预研和测试,服务器的瓶颈不在CPU,这样可以用低档CPU和主板。
采用IDE RAID卡和7200转IDE硬盘的服务器仍可支持三、四十个并发流。
控制网关的技术经过前期的预研也是可行的。
系统的整个方案都是我们自行开发并在通用的软硬件平台上运行,具有较强的灵活性。
4.系统的设计与实现
4.1系统的逻辑结构设计
4.1.1系统功能模块及分析
图401系统功能模块图
1、用户管理
用户管理:
对用户信息进行修改、删除和查看。
用户添加:
对用户信息的添加。
2、影片分类管理
影片分类管理:
对影片分类信息的添加、修改、删除和查看
3、影片管理
添加影片:
添加一条影片信息,包括上传影片
影片管理:
对影片信息的修改、删除和查看
4、评论管理
评论管理:
对评论信息进行管理
4.1.2用户管理流程
图402用户管理流程图
4.1.3影片管理流程
图403影片管理流程图
4.1.4数据库物理结构设计
数据库采用SQLServer2005的数据库文件FilmWebsite.MDF;用于管理用户信息、影片信息、影片分类信息、评论信息。
电影播放系统主要有四个表,分别是:
Classification表、Comment表、Film表、Login表。
Classification表主要是存储影片分类的信息;Comment表主要是存储评论信息;Film表主要是存储影片信息;Login表主要是存储用户信息。
1、影片分类信息表:
用于保存影片分类的信息
表41分类信息表
列名
数据类型
宽度
可否为空
cla_id(主键)
Int
4
不能为空
cla_name
nvarchar(50)
50
可为空
2、影片信息表:
用于保存影片的信息
表42影片信息表
列名
数据类型
宽度
可否为空
film_id(主键)
Int
4
不能为空
film_name
nvarchar(50)
50
可为空
film_url
nvarchar(200)
200
可为空
film_length
Int
4
可为空
cla_id
Int
4
可为空
film_img
nvarchar(200)
200
可为空
film_director
nvarchar(50)
50
可为空
film_tostar
nvarchar(300)
300
可为空
film_intro
Ntext
16
可为空
3、评论信息表:
用于保存评论的信息
表43评论信息表
列名
数据类型
宽度
可否为空
comm_id(主键)
Int
4
不能为空
comm_content
Ntext
16
可为空
comm_time
nvarchar(50)
50
可为空
film_id
Int
4
可为空
comm_name
nvarchar(50)
50
可为空
4、用户信息表:
用于保存用户的信息
表4-4用户信息表
列名
数据类型
宽度
可否为空
log_id(主键)
Int
4
不能为空
log_name
nvarchar(50)
50
可为空
log_pwd
Int
50
可为空
4.2系统实现
前台主要页面:
图4-4系统首页
首页可以一目了然的看见影片的具体情况,根据分类的不同可以根据自己的喜好进行查询。
图4-5前台动作片
图4-6影片详细页
用户在观看完电影后,可以进行评论。
图4-7前台电影下载页面
还可以对影片进行下载。
后台登录页面:
图4-8后台登陆界面
管理员在此登录,然后进行后台管理。
主要代码:
protectedvoidimgbtnSubmit_Click(objectsender,ImageClickEventArgse)
{
SqlConnectioncn=DB.OpenConnection();
stringuser=Common.UrnHtml(txtusername.Text.Trim());
stringpwd=FormsAuthentication.HashPasswordForStoringInConfigFile(txtuserpwd.Text,"SHA1");
stringsql="select*fromLoginwherelog_name='"+user+"'andlog_pwd='"+pwd+"'";
SqlDataReaderdr=DB.getDataReader(sql,cn);
if(AuthCode1.IsMatch)
{
if(dr.Read())
{
HttpCookiecookies;
cookies=newHttpCookie("xzfpp");
cookies.Values.Add("Manager",HttpUtility.UrlEncode(this.txtusername.Text.Trim()));
cookies.Expires=DateTime.Now.AddHours(24);//1天有效24小时
Response.Cookies.Set(co