視頻點(diǎn)播系統(tǒng)畢業(yè)設(shè)計(jì)論文1
《視頻點(diǎn)播系統(tǒng)畢業(yè)設(shè)計(jì)論文1》由會(huì)員分享,可在線閱讀,更多相關(guān)《視頻點(diǎn)播系統(tǒng)畢業(yè)設(shè)計(jì)論文1(43頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、視頻點(diǎn)播系統(tǒng) 摘 要 VOD(Video On Demand)即交互式多媒體視頻點(diǎn)播,是隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,綜合了計(jì)算機(jī)技術(shù)、通訊技術(shù)而迅速新興的一門綜合性技術(shù)。它利用了網(wǎng)絡(luò)和視頻技術(shù)的優(yōu)勢,徹底改變了過去收看節(jié)目的被動(dòng)方式,實(shí)現(xiàn)了節(jié)目的按需收看和任意點(diǎn)播,集動(dòng)態(tài)影視圖、聲音、文字等信息為一體,為用戶提供實(shí)時(shí)、交互,按需點(diǎn)播服務(wù)的系統(tǒng)。 視頻點(diǎn)播系統(tǒng)根據(jù)流媒體傳輸原理,在校園局域網(wǎng)的基礎(chǔ)上實(shí)現(xiàn)了用戶信息管理、視頻文件的添加、刪除、修改及在線播放和搜索功能。本系統(tǒng)是一個(gè)小型系統(tǒng),采用SQL Server數(shù)據(jù)庫,將HTML、ASP.NET及JavaScript完美融合,力求界
2、面美觀、操作流暢、易于實(shí)現(xiàn)。 本文結(jié)合平臺(tái)開發(fā)實(shí)例,闡述了基于Web的交互式視頻點(diǎn)播系統(tǒng)的原理、軟件結(jié)構(gòu)和設(shè)計(jì)實(shí)現(xiàn),并在此基礎(chǔ)上對(duì)網(wǎng)絡(luò)優(yōu)化作相應(yīng)的探索。 關(guān)鍵字:視頻點(diǎn)播,SQL Server,ASP.NET I 目 錄 摘 要 I 目 錄 II 第1章 緒 論 5 第2章 需求分析 6 2.1 系統(tǒng)可行性分析 6 2.1.1 技術(shù)可行性分析 6 2.1.2 經(jīng)濟(jì)可行性分析 6 2.1.3 管理可行性分析 6 2.2 系統(tǒng)功能需求 7 2.3 開發(fā)工具介紹 7 2.3.1 ASP.NET 7 2.3.2 SQL Server數(shù)據(jù)庫 8 2.3.3 .
3、NET Framework 9 第3章 系統(tǒng)設(shè)計(jì) 11 3.1 系統(tǒng)總體功能設(shè)計(jì) 11 3.2 系統(tǒng)角色設(shè)計(jì) 12 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 14 3.3.1 邏輯結(jié)構(gòu)設(shè)計(jì) 14 3.3.2 數(shù)據(jù)表設(shè)計(jì) 16 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 18 4.1 普通用戶功能設(shè)計(jì) 18 4.1.1 系統(tǒng)注冊(cè)頁面 18 4.1.2 會(huì)員登錄 22 4.1.3 電影搜索 24 4.1.4 信息查看及修改 24 4.1.5 密碼修改 26 4.1.6 電影詳細(xì)信息 27 4.2管理員功能設(shè)計(jì) 28 4.2.1 操作員管理 28 4.2.2 影片管理 29 I 4.2.3 分
4、類管理 34 4.2.4 用戶管理 35 4.2.5 評(píng)論管理 35 第5章 系統(tǒng)的發(fā)布和運(yùn)行 36 5.1 發(fā)布網(wǎng)站 36 5.2 IIS配置 36 總 結(jié) 39 致 謝 41 參考文獻(xiàn) 42 I 第1章 緒 論 隨著時(shí)代進(jìn)步,人類對(duì)于信息存儲(chǔ)方式和質(zhì)量的要求也日漸提高。最初,人們沒有發(fā)明文字,就用一些物體來記錄發(fā)生的大事,比如古代波斯人就用繩子來記錄發(fā)生的事,又或者畫圖來記錄發(fā)生的大事;隨后人們發(fā)明了文字,擁有文字的民族就運(yùn)用文字來記錄過去所發(fā)生的重大事件而形成歷史,比如中國古代的二十四史;到了19世紀(jì)人類發(fā)明了相機(jī),用照片記錄人類歷史,到了二戰(zhàn)后期,美國人
5、發(fā)明了世界第一臺(tái)計(jì)算機(jī),直到現(xiàn)在計(jì)算機(jī)和內(nèi)存在不斷地更新和發(fā)展,并且到了今天互聯(lián)網(wǎng)也發(fā)展到了一個(gè)繁榮階段,幾乎每時(shí)每刻都有龐大的數(shù)據(jù)量在互聯(lián)網(wǎng)上傳輸,人們需要的存儲(chǔ)的信息也記錄到內(nèi)存中,而現(xiàn)在人們所需要記錄的數(shù)據(jù)形式也有較大的改變,比如某些重要的需要記錄的新聞,相對(duì)用照片或者文字來說,用視頻形式表現(xiàn)出來則更具體。 眾所周知,現(xiàn)在人們通過視頻圖像來獲取的信息大部分來源于互聯(lián)網(wǎng)和電視,但是電視往往不能第一時(shí)間將新的消息傳達(dá)給人們,因此互聯(lián)網(wǎng)相對(duì)電視來看,更適合將重大新聞的視頻圖像傳達(dá)給用戶。而且,視頻對(duì)于人們來說已經(jīng)不僅僅拘泥于只是用來做存儲(chǔ)重要新聞信息的手段,更傾向不同人群的不同需求,
6、比如現(xiàn)在的一些拍客,喜歡把自己拍到的有趣的一些東西給朋友分享,或者一些學(xué)者為了能讓學(xué)生們,而通過互聯(lián)網(wǎng),能更方便快捷實(shí)現(xiàn)人們對(duì)不同的視頻的不同需求。 可以通過這樣一種網(wǎng)站,將最新消息視頻,或者用戶自己的自拍視頻,以及電視劇、電影劇集、綜藝節(jié)目,或者一些教學(xué)視頻,免費(fèi)提供給用戶,可以滿足用戶的不用需求,人們只要登錄網(wǎng)站便可查詢查看當(dāng)天或者當(dāng)前時(shí)段最受關(guān)注的視頻信息,或者查詢自己所需的視頻信息并觀看,用戶僅需注冊(cè)賬號(hào),將自己的視頻上傳到網(wǎng)站,供大家分享,而當(dāng)天新聞視頻,也可以上傳到網(wǎng)站,這樣人們可以直接第一時(shí)間點(diǎn)擊觀看。這樣,人們無需等待電視固定時(shí)段的新聞,而是隨時(shí)隨地的就能了解每時(shí)每刻,世界各
7、地都發(fā)生了什么,注冊(cè)后的會(huì)員也可以管理自己的視頻,如果自己的視頻不方便與人們分享,還可以對(duì)視頻進(jìn)行刪除等操作。 視頻點(diǎn)播VOD出現(xiàn)的最初動(dòng)力是人們對(duì)廣播電視的更高需求。在傳統(tǒng)的電視中,觀眾完全是被動(dòng)的。節(jié)目提供者播放什么節(jié)目,觀眾就只能觀看什么節(jié)目,節(jié)目的播放時(shí)間也是無法按照觀眾的意愿改變的。盡管電視臺(tái)可以提供很多的節(jié)目,但要想完整地收看到一個(gè)自己滿意的節(jié)目,對(duì)于許多人來講也是不太容易做到的,因?yàn)樵诳旃?jié)奏的現(xiàn)代生活中,許多人不可能為了看某一個(gè)電視節(jié)目而預(yù)先安排自己的時(shí)間。被動(dòng)收看節(jié)目的人們希望能夠按照自己的需要自由地點(diǎn)播節(jié)目。視頻點(diǎn)播的出現(xiàn)正迎合了人們的這種需求,這種信息服務(wù)方式符合人們對(duì)信
8、息資源更深層次的需要。 第 42 頁 共 43 頁 第2章 需求分析 2.1 系統(tǒng)可行性分析 2.1.1 技術(shù)可行性分析 系統(tǒng)的主要技術(shù)難度是解決并發(fā)流數(shù)。國外許多大公司推出的專有視頻服務(wù)器可以支持幾百個(gè)并發(fā)流,但價(jià)格相當(dāng)昂貴。國內(nèi)的幾個(gè)廠家采用的是高檔服務(wù)器作為視頻服務(wù)器,可以支持幾十個(gè)流,最多100個(gè)。采用服務(wù)器替代專有視頻服務(wù)器硬件成本大大降低,但單臺(tái)服務(wù)器的并發(fā)數(shù)和硬盤擴(kuò)充的極限太小,不能滿足大型的市場需求。 現(xiàn)在的軟件開發(fā)語言有很多種,但一定要找一個(gè)功能強(qiáng)大,易學(xué)易用易掌握且適合自己的語言也就不多了。本系統(tǒng)經(jīng)過多種語言的優(yōu)缺點(diǎn)的對(duì)比之后,采用的是ASP.NET作為本系
9、統(tǒng)的開發(fā)平臺(tái),以SQL Server2005作后臺(tái)的數(shù)據(jù)庫。 2.1.2 經(jīng)濟(jì)可行性分析 軟件的經(jīng)濟(jì)可行性是指軟件所能帶來的經(jīng)濟(jì)效益與開發(fā)設(shè)計(jì)所需要的投資相比,是否相適宜,同時(shí)還要看此軟件能否真正給用戶帶來足夠的經(jīng)濟(jì)效益,開發(fā)的這套系統(tǒng)正是考慮系統(tǒng)開發(fā)的成本而設(shè)計(jì)。本系統(tǒng)的開發(fā)在經(jīng)濟(jì)上是完全可行的。開發(fā)此軟件不需要大量的經(jīng)費(fèi),而且是個(gè)人獨(dú)立設(shè)計(jì),可以節(jié)省許多費(fèi)用,同時(shí)也可提高個(gè)人的實(shí)際動(dòng)手能力?! ? 綜合以上技術(shù)特點(diǎn),為了降低成本,采用PC服務(wù)器作為視頻服務(wù)器,而且PC服務(wù)器的性能還在不斷提高,支持的并發(fā)數(shù)也在增加。PC服務(wù)器作為視頻服務(wù)器的方案正逐步取代以前的專有視頻服務(wù)器。為了解決
10、多并發(fā)流數(shù),采用多臺(tái)PC服務(wù)器以集群的形式,通過控制網(wǎng)關(guān)完成服務(wù)器之間的協(xié)調(diào),提高系統(tǒng)的利用率??刂凭W(wǎng)關(guān)以及集群服務(wù)器技術(shù)是技術(shù)增值點(diǎn)。另外,由于采用集群形式,不要求PC服務(wù)器實(shí)現(xiàn)最大流數(shù),可以采用低檔PC服務(wù)器和IDE硬盤,這樣又可以提高單臺(tái)視頻服務(wù)器的性能價(jià)格比。經(jīng)過預(yù)研和測試,服務(wù)器的瓶頸不在CPU,這樣可以用低檔CPU和主板。采用IDE RAID卡和7200轉(zhuǎn)IDE硬盤的服務(wù)器仍可支持三、四十個(gè)并發(fā)流??刂凭W(wǎng)關(guān)的技術(shù)經(jīng)過前 期的預(yù)研也是可行的。系統(tǒng)的整個(gè)方案都是自行開發(fā)并在通用的軟硬件平臺(tái)上運(yùn)行 ,具有較強(qiáng)的靈活性。 2.1.3 管理可行性分析 管理可行性是指是否適合管理人員的管理
11、,由于本系統(tǒng)不需要大量的人員來維持維護(hù),只需要幾個(gè)人來維護(hù)數(shù)據(jù)庫、視頻信息,人員信息等,通過現(xiàn)有的管理制度,在管理方面是可行的。 綜上所述,此系統(tǒng)能夠確定開發(fā),在技術(shù)和經(jīng)濟(jì)等方面都可行,并且能實(shí)現(xiàn)低投入和視頻點(diǎn)播上傳。因此,視頻點(diǎn)播系統(tǒng)的開發(fā)是完全可行的。 2.2 系統(tǒng)功能需求 網(wǎng)上視頻點(diǎn)播系統(tǒng)是一種能夠在線播放視頻、上傳視頻的網(wǎng)站,目的是希望人們既能觀看別人視頻,也能自己上傳自己的視頻,滿足當(dāng)今人們的精神需要。 視頻點(diǎn)播系統(tǒng)應(yīng)該有以下功能:包括用戶的注冊(cè)、登錄、視頻查詢、視頻上傳、視頻播放、用戶信息修改、視頻信息修改、刪除用戶,刪除視頻文件、新建管理員。并具有角色和權(quán)限控制來保證系統(tǒng)
12、功能完善。該系統(tǒng)的角色和權(quán)限分別如下: 角色主要有:超級(jí)管理員、普通管理員、普通用戶。 超級(jí)管理員的權(quán)限及功能主要包括操作員管理、用戶管理、視頻管理、分類管理和評(píng)論管理。 (1)操作員管理:能夠?qū)崿F(xiàn)后臺(tái)管理添加、刪除、修改操作員。 (2)用戶管理:能夠?qū)η芭_(tái)注冊(cè)的用戶進(jìn)行管理。 (3)視頻管理:能夠?qū)σ曨l資料進(jìn)行上傳、修改以及刪除。 (4)分類管理:能夠?qū)﹄娪暗姆诸愡M(jìn)行維護(hù)。 (5)評(píng)論管理:能夠?qū)τ脩舻脑u(píng)價(jià)進(jìn)行管理。 普通管理員主要進(jìn)行用戶管理、視頻管理、分類管理和評(píng)論管理。 普通用戶主要進(jìn)行電影的搜索、觀看、評(píng)論以及個(gè)人信息的維護(hù)。 2.3 開發(fā)工具介紹 2.3.1
13、ASP.NET ASP.NET 不僅僅是 Active Server Page (ASP) 的下一個(gè)版本;它還提供了一個(gè)統(tǒng)一的 Web 開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級(jí) Web 應(yīng)用程序所需的各種服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。可以通過在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功能,隨時(shí)增強(qiáng) ASP 應(yīng)用程序的功能。 ASP.NET是一個(gè)已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和
14、 JScript .NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個(gè) .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語言運(yùn)行庫環(huán)境、類型安全、繼承等等。 ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開發(fā)人員可以用來將服務(wù)器控件拖放到 Web 頁的 GUI 和完全集成的調(diào)試支持。當(dāng)創(chuàng)建ASP.NET 應(yīng)用程序時(shí),開發(fā)人員可以使用 Web 窗體或X
15、ML Web services,或以他們認(rèn)為合適的任何方式進(jìn)行組合。每個(gè)功能都能得到同一結(jié)構(gòu)的支持,能夠使用身份驗(yàn)證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對(duì)應(yīng)用程序的配置進(jìn)行自定義,這里只是列出幾種可能性而已。 2.3.2 SQL Server數(shù)據(jù)庫 ASP.NET所支持的數(shù)據(jù)庫很多,因此根據(jù)實(shí)際需要來使用最合理的數(shù)據(jù)庫。數(shù)據(jù)庫分為平面數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫,但平面數(shù)據(jù)庫會(huì)使存儲(chǔ)空間被重復(fù)和浪費(fèi),而關(guān)系數(shù)據(jù)庫則是由若干個(gè)平面數(shù)據(jù)庫連接在一起而形成的,采用關(guān)系數(shù)據(jù)庫,用戶不僅能像在平面數(shù)據(jù)庫管理中那樣搜索各個(gè)獨(dú)立的記錄,而且能夠建立一個(gè)記錄集合與另一個(gè)記錄集合的關(guān)系,就能使用戶的效率更高,操作更簡捷。
16、 數(shù)據(jù)庫,簡單而言就是要存儲(chǔ)這些大量的數(shù)據(jù)而且要能正確的存儲(chǔ)。 數(shù)據(jù)會(huì)隨著時(shí)間的增加,而積累,導(dǎo)致數(shù)據(jù)量日漸龐大。常常需要快速地在大量的數(shù)據(jù)中,找出設(shè)備的存儲(chǔ)記錄,同時(shí)也希望數(shù)據(jù)能有一定的保密性。 而數(shù)據(jù)的最終作用,就是提供決策分析的信息。如果不能利用大量數(shù)據(jù)的分析,以最快的速度找到要找尋的數(shù)據(jù),則數(shù)據(jù)只是簡單的資料羅列而己。 由最基本的元素組合成數(shù)據(jù)叫記錄(Record)。由相同性質(zhì)的記錄組合起來叫表(Table),相關(guān)的表組合起來就叫數(shù)據(jù)庫 (Database)。處理數(shù)據(jù)的建立、查詢、更新等工作的程序就叫做數(shù)據(jù)庫管理系統(tǒng)(Database Management System, DBM
17、S)??v向的每一列叫做字段,橫向組合起來就成為一條記錄所有記錄的集合就是表,與其他相關(guān)的表組合起來就叫做數(shù)據(jù)庫。 數(shù)據(jù)庫應(yīng)用系統(tǒng)是以數(shù)據(jù)庫為基礎(chǔ)的信息管理系統(tǒng)。手工方式的數(shù)據(jù)處理是繁瑣的重復(fù)勞動(dòng)。因此,也就有低效率、準(zhǔn)確性差以及復(fù)雜化等缺點(diǎn)的不可避免性,隨著計(jì)算機(jī)的出現(xiàn),開辟了電子數(shù)據(jù)處理的新紀(jì)元。 本系統(tǒng)采用SQL Server 2005作為后臺(tái)開發(fā)工具,其特點(diǎn)如下: ● Internet 集成 SQL Server 2005數(shù)據(jù)庫引擎提供完整的XML支持。它還具有構(gòu)成最大的Web站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所還需的可伸縮性、可用性和安全功能。SQL Server 2005程序設(shè)計(jì)模型與Win
18、dows DNA構(gòu)架集成,用以開發(fā)Web應(yīng)用程序,并且SQL Server 2005支持English Query和Microsoft搜索服務(wù)等功能,在Web應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。 ● 可伸縮性和可用性 同一個(gè)數(shù)據(jù)庫引擎可以在不同的平臺(tái)上使用,從運(yùn)行Microsoft Windows 7的便攜式電腦,到運(yùn)行Microsoft Windows 2005數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2005企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大Web站點(diǎn)所需要的性能級(jí)別。SQL Server 2005 與Windows NT和W
19、indows 2005故障轉(zhuǎn)移群集共同支持不間斷地將故障即時(shí)轉(zhuǎn)移到備份服務(wù)器。SQL Server 2005還引入了日志傳送功能,使您得以在可用性要求較低的環(huán)境中維護(hù)備用服務(wù)器。 ● 企業(yè)級(jí)數(shù)據(jù)庫功能 SQL Server 2005關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理所需的功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上使并發(fā)修改數(shù)據(jù)庫用戶的開銷減到最小。SQL Server 2005分布式查詢使您可以引用來自不同的分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使您能維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫機(jī)用戶,使這些用戶自主地工作,然
20、后將他們所做的修改合并回發(fā)到服務(wù)器。 ● 易于安裝、部署和使用 SQL Server 2005中包括一系列管理和開發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用SQL Server 2005的過程。SQL Server 2005還支持基于標(biāo)準(zhǔn)的、與Windows DNA集成的程序設(shè)計(jì)模型,使SQL Server 2005數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付SQL Server應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序。 ● 數(shù)據(jù)倉庫 SQL Server 2005中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理(OLA
21、P)的工具。SQL Server中還包括一些工具,可用來直觀地設(shè)計(jì)數(shù)據(jù)庫并通過English Query來分析數(shù)據(jù)。 2.3.3 .NET Framework .NET Framework 是一個(gè)集成在 Windows 中的組件,它支持生成和運(yùn)行下一代應(yīng)用程序與 XML Web Services..NET Framework 旨在實(shí)現(xiàn)下列目標(biāo): 提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的。 提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。 提供一個(gè)可提高代碼(包括由未知的或不完全受信任的
22、第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境。 提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。 使開發(fā)人員的經(jīng)驗(yàn)在面對(duì)類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時(shí)保持一致。 按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?.NET Framework 的代碼可與任何其他代碼集成。 .NET Framework 的目的就是要讓建立Web Services 以及因特網(wǎng)應(yīng)用程序的工作變的簡單,它就相當(dāng)于微軟Web Services 引擎.許多程序設(shè)計(jì)師和使用者,非常渴望有一個(gè)完善而且透明清楚的基礎(chǔ)架構(gòu),來建立Web Services(因特網(wǎng)服務(wù)).
23、.NET Framework 就是為了這個(gè)需求,而提供的基礎(chǔ)架構(gòu)。.NET Framework 提供了應(yīng)用程序模型及關(guān)鍵技術(shù),讓開發(fā)人員容易以原有的技術(shù)來產(chǎn)生、布署,并可以繼續(xù)發(fā)展具有高安全、高穩(wěn)定,并具高延展的Web Services.對(duì)于.NET Framework 而言,所有的組件都可以成為Web Services,Web Services 只不過是另一種型態(tài)的組件罷了.微軟將COM(Component Object Model,組件對(duì)象模型)的優(yōu)點(diǎn)整合進(jìn)來,它可以不用像COM 那么嚴(yán)謹(jǐn)?shù)膩硭ㄦi兩個(gè)對(duì)象,.NET Framework 以松散的方式來栓鎖Web Services 這種型態(tài)的
24、組件.這樣的結(jié)果讓開發(fā)人員非常容易的發(fā)展出強(qiáng)而有力的Web 服務(wù)組件,提高了整體的安全及可靠性,并且大大的增加系統(tǒng)的延展性。 第3章 系統(tǒng)設(shè)計(jì) 3.1 系統(tǒng)總體功能設(shè)計(jì) 視頻點(diǎn)播系統(tǒng)主要實(shí)現(xiàn)的功能是視頻的播放,視頻上傳。該系統(tǒng)的功能模塊包括:用戶權(quán)限管理模塊、用戶信息管理模塊、用戶信息查詢模塊、視頻文件管理模塊、視頻文件查詢模塊等。如圖3-1所示。 按 影名搜索 按主演搜索 按導(dǎo)演搜索 點(diǎn)播推薦 最新推薦 添加 刪除 修改 電影游覽 電影搜索 電影評(píng)價(jià) 信息修改 電影推薦 用戶管理 分類管理 電影管理 評(píng)價(jià)管理 普通用戶 管理員 視頻點(diǎn)播系
25、統(tǒng) 圖3-1系統(tǒng)功能圖 3.2 系統(tǒng)角色設(shè)計(jì) 本系統(tǒng)按照功能可將角色分為超級(jí)管理員、普通管理員、普通會(huì)員。每種角色具有不同的權(quán)限。 超級(jí)管理員:負(fù)責(zé)網(wǎng)站用戶信息和視頻信息的管理,以及欄目信息的維護(hù)。 普通管理員:可以實(shí)現(xiàn)視頻信息的維護(hù)。 普通用戶:采用先注冊(cè)后登錄的方式進(jìn)入管理網(wǎng)站,在網(wǎng)站中可以在線瀏覽視頻信息,搜索視頻信息,以及在線觀看視頻信息及評(píng)論。 以下為三個(gè)角色的用例圖: 注冊(cè) 登錄 電影信息 影名搜索 導(dǎo)演搜索 主演搜索 電影觀看 電影評(píng)論 普通用戶 圖3-2 普通用戶用例圖 登錄 操作員管理 會(huì)員管理 電影管理 評(píng)論管理
26、操作員添加 操作員刪除 會(huì)員修改 會(huì)員刪除 電影上傳 電影修改 評(píng)論刪除 電影刪除 圖3-3 超級(jí)管理員用例圖 超級(jí)管理員 登錄 會(huì)員管理 電影管理 評(píng)論管理 會(huì)員修改 會(huì)員刪除 電影上傳 電影修改 評(píng)論刪除 電影刪除 圖3-4 普通管理員用例圖 普通管理員 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 3.3.1 邏輯結(jié)構(gòu)設(shè)計(jì) (1)視頻信息實(shí)體屬性圖 在線視頻點(diǎn)播系統(tǒng)中要有視頻內(nèi)容,視頻是在線視頻點(diǎn)播系統(tǒng)中密不可分的部分,因此要?jiǎng)?chuàng)建視頻信息實(shí)體,用來保存視頻的詳細(xì)信息。視頻信息實(shí)體E-R圖,如圖3-5所示。 視頻信息實(shí)體 視頻編號(hào) 視頻名稱 圖片
27、路徑 簡介 導(dǎo) 演 類型編號(hào) 主 演 視頻路徑 上映時(shí)間 上傳時(shí)間 上傳者 圖3-5 視頻信息 點(diǎn)播數(shù) (2)用戶信息實(shí)體屬性圖 用戶是在線視頻點(diǎn)播系統(tǒng)的使用者,是在線視頻點(diǎn)播系統(tǒng)的重要組成部分,用戶信息E-R圖,如圖3-6所示。 用戶信息實(shí)體 密碼 電子郵箱 用戶名 手機(jī)號(hào) 注冊(cè)日期 MD5加密密碼 性別 出生日期 圖3-6 用戶信息 (3)系統(tǒng)整體實(shí)體屬性圖 在線視頻點(diǎn)播系統(tǒng)的流程是用戶登錄網(wǎng)站若用戶名不存在,則需先注冊(cè)用戶信息,注冊(cè)完用戶信息后,用戶輸入自己的賬號(hào)及密碼登錄系統(tǒng),在用戶登錄成功后系統(tǒng)根據(jù)登錄的帳號(hào)信息與數(shù)據(jù)庫表中的數(shù)
28、據(jù)進(jìn)行對(duì)比判斷是普通用戶是否存在,如果存在戶,用戶可以在線瀏覽網(wǎng)站提供的信息以及視頻內(nèi)容,可以根據(jù)自己的喜好搜索視頻,用戶在點(diǎn)擊視頻后,系統(tǒng)會(huì)顯示視頻的詳細(xì)信息,用戶可以點(diǎn)擊收看該視頻,系統(tǒng)會(huì)根據(jù)用戶點(diǎn)擊播放情況獲得視頻編號(hào)以及點(diǎn)擊時(shí)間,添加到數(shù)據(jù)庫的點(diǎn)擊排行榜中,信息內(nèi)容會(huì)反饋到網(wǎng)站的點(diǎn)擊排行榜中。此外,用戶可以在線修改自己的賬號(hào)信息以及密碼。如果管理員登錄,管理員需要對(duì)網(wǎng)站的節(jié)目信息進(jìn)行管理,及時(shí)修改和刪除已經(jīng)過時(shí)的視頻內(nèi)容,以及發(fā)布新的視頻供用戶觀看,系統(tǒng)會(huì)將最新發(fā)布的視頻信息添加到數(shù)據(jù)庫視頻信息表中,并反饋到網(wǎng)站點(diǎn)擊排行榜中“最新視頻”欄顯示。 在線視頻點(diǎn)播系統(tǒng)的整體系統(tǒng)E-R圖,如
29、圖3-7所示。 圖3-7 整體系統(tǒng) 用戶 視頻 管理 點(diǎn)擊 視頻編號(hào) 視頻名稱 視頻路徑 …… 密碼 修改 用戶名 郵箱名 密碼 用戶名 刪除 … 出生日期 點(diǎn)擊次數(shù) 管理員 發(fā)布 視頻名稱 …… 發(fā)布時(shí)間 節(jié)目編號(hào) 3.3.2 數(shù)據(jù)表設(shè)計(jì) 通過以上的需求分析及邏輯處理,本系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)表包括:分用戶表(Users)、視頻信息表(Movies)、視頻類型表(MovieType)、評(píng)論表(Messages)、管理員表(Managers)。 (1) 用戶表(Users):本表主要記錄用戶的基本信息。如表3-1所示。 表3-1 Use
30、rs表 列名 字段名解釋 字段類型 主鍵 字段說明 Uid 用戶ID Int √ 表的主鍵,不為空,自增長,唯一 Uname 用戶名 Nvarchar(16) 不為空,唯一 Birth 出生日期 SmallDateTime 不為空 Sex 性別 Nvarchar(2) 不為空 Upwd 密碼 Nvarchar(64) 不為空 Uemail 郵箱 Nvarchar(30) 不為空 Udate 注冊(cè)時(shí)間 SmallDateTime 不為空 Upwdmd5 密碼MD5加密 Nvarchar(64)
31、 不為空 Utele 聯(lián)系電話 Nvarchar(11) (2) 視頻類型表(MovieType):主要記錄視頻的類型。如表3-3所示。 表3-3 MovieType表 列名 字段名解釋 字段類型 主鍵 字段說明 Mtype 電影類型 Int √ 表的主鍵,不為空,惟一 TypeName 類型名 Nvarchar(10) √ 不為空 (3) 管理員表(Managers):主要記錄管理員的用戶名和密碼。如表3-4所示。 表3-4 Managers表 列名 字段名解釋 字段類型 主鍵 字段說明 Uname 管理員名 Nv
32、archar(16) √ 表的主鍵,不為空,,惟一 Upwd 密碼 Nvarchar(64) 不為空 Upwdmd5 密碼md5加密 Nvarchar(64) 不為空 (4) 視頻信息表(Movies):主要記錄視頻的相關(guān)信息。如表3-2所示。 表3-2 Movies表 列名 字段名解釋 字段類型 主鍵 字段說明 Mid 電影序號(hào) Int √ 表的主鍵,不為空,自增長,唯一 Mname 電影名 Nvarchar(30) 不為空 nation 地區(qū) Nvarchar(15) 不為空 direct 導(dǎo)演 Nvarc
33、har(8) 不為空 Mstar 主演 Nvarchar(50) 不為空 Mtime 上映時(shí)間 SmallDateTime 不為空 Maddtime 上傳時(shí)間 SmallDateTime 不為空 Mlanguage 語種 Nvarchar(10) 不為空 Mtype 類型 Int 不為空,為MovieType中Mtype外鍵 Mmsg 簡介 Nvarchar(200) 不為空 Mpatch 電影路徑 Nvarchar(50) 不為空 Mimagepatch 封面路徑 Nvarchar(50)
34、不為空 Mcount 點(diǎn)擊數(shù) Int 默認(rèn)為0 Uname 上傳者 Nvarchar(16) 不為空 (5) 評(píng)論表(Messages):主要記錄用戶對(duì)視頻的相關(guān)評(píng)論。如表3-5所示。 表3-5 Messages表 列表 字段名解釋 字段類型 主鍵 字段說明 Mid 電影序號(hào) Int √ 表的主鍵,不為空,惟一 Uname 用戶名 Nvarchar(16) √ 表的主鍵,不為空,惟一 Msgcontent 評(píng)論內(nèi)容 Nvarchar(120) 不為空 Addtime 評(píng)論時(shí)間 SmallDateTime 不為
35、空 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 本系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)主要分為普通用戶功能和管理員功能的設(shè)計(jì)和實(shí)現(xiàn)。 本系統(tǒng)中要經(jīng)常對(duì)數(shù)據(jù)庫進(jìn)行添加、刪除、修改等操作。為了避免重復(fù)寫相同的代碼,將對(duì)數(shù)據(jù)庫的基本操作封裝到一個(gè)類中。這樣每次需要對(duì)數(shù)據(jù)庫進(jìn)行操作的時(shí)候,只要直接調(diào)用這個(gè)封裝好的類就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增加、刪除、修改等操作。 本系統(tǒng)的文件夾結(jié)構(gòu)如下: (1)App_Code:App_Code文件夾是ASP.NET應(yīng)用程序包含的7個(gè)默認(rèn)文件夾之一,本系統(tǒng)中添加App_Code文件夾來包含源代碼文件sql.cs和checkcode.cs。 (2)App_Data:此文件夾中放置系統(tǒng)數(shù)據(jù)庫文件。
36、 (3)images:此文件夾中放置系統(tǒng)界面搭建所用的圖片信息. (4)f_ images:此文件夾中放置視頻的封面,最新發(fā)布的節(jié)目的圖片信息將保存在此文件下。 (5)Movies:此文件夾放置節(jié)目文件.最新發(fā)布的節(jié)目文件將保存在此文件夾下。 (6)NeatUpload:此文件中放置了本系統(tǒng)所使用的上傳控件。 (7)Manager:此文件夾中放置了實(shí)現(xiàn)后臺(tái)系統(tǒng)的所有頁面文件。 4.1 普通用戶功能設(shè)計(jì) 4.1.1 系統(tǒng)注冊(cè)頁面 只有注冊(cè)后的用戶才可以進(jìn)入本系統(tǒng)。當(dāng)注冊(cè)成功后會(huì)跳轉(zhuǎn)到一個(gè)提示頁面,過3秒后會(huì)進(jìn)入本系統(tǒng)的主頁面。此時(shí)會(huì)將用戶名保存到Session[“Uname”]中
37、,以便后面的調(diào)用。具體流程如圖4-1所示。 跳轉(zhuǎn)主頁 N 用戶注冊(cè) 用戶名是否重復(fù)與合法y 密碼一致 填寫信息 注冊(cè)成功 已填寫必填項(xiàng) 驗(yàn)證碼 Y N Y N 圖4-1 用戶注冊(cè)模塊程序流程圖 圖4-2 用戶注冊(cè)頁面 主要代碼如下: if (String.Compare(Request.Cookies["CheckCode"].Value, checkit.Text.ToString(), true) != 0) { Lcheck.Text = "驗(yàn)證碼錯(cuò)誤,請(qǐng)輸入正確的驗(yàn)證
38、碼。"; checkit.Text = ""; return; } else { Lcheck.Text = ""; string _Username = Username.Text.ToString(); string _Pwd = Pwd.Text.ToString(); string _sex = DropDo
39、wnList1.SelectedValue.ToString(); string _Email = Email.Text.ToString(); DateTime _Birth = Convert.ToDateTime(txt_StartTime.Text); string _Utele = Phone.Text; sql submit = new sql(this.Response); try
40、 { submit.Inset_Data(_Username, _Birth, _sex, _Pwd, _Email, _Utele); } catch (Exception ex1) { Response.Write(""); Response.Redirect("zhuce.aspx");
41、 } Session["Uname"] = _Username; Response.Redirect("NextHop.aspx"); } } public int Check_User() { sql checkname = new sql(this.Response); int Uname_length = Username.Text.ToString().Length; if ((Uname_length
42、 < 7) || (Uname_length) > 12) { Label8.Text = "長度不符"; Username.Text = ""; Username.Focus(); return 0; } else { int i = 1; int check = checkname.Check_Uname1(Username.Text.ToString(), i);
43、 if (check == 1) { Label8.Text = "用戶已存在"; Username.Text = ""; return 0; } else { Label8.Text = "用戶可用"; return 1; } } 4.1.2 會(huì)員登錄
44、 剛進(jìn)入本系統(tǒng)時(shí),會(huì)顯示最新電影的封面,只有注冊(cè)后的用戶才可以進(jìn)入本系統(tǒng)。在注冊(cè)時(shí)自動(dòng)進(jìn)行用戶名檢測,對(duì)用戶的輸入格式進(jìn)行自動(dòng)檢測。具體流程如圖4-3所示。 N Y N Y 用戶登錄 是否正確 輸入密碼 密碼是否正確 登錄成功 驗(yàn)證碼 跳轉(zhuǎn)主頁 圖4-3 用戶登錄程序流程 N 圖4-4 用戶登錄頁面 主要代碼如下: int login_check, i = 1; sql login = new sql(this.Response); int login_name = login.Check_Uname1(Text
45、Box1.Text.ToString(), i); if (login_name == 1) { login_check = login.Check_password(TextBox1.Text.ToString(), TextBox2.Text.ToString(), i); if (login_check == 1) { if (String.Compare(Request.Cookies["CheckCode"].Value, TextBox
46、3.Text.ToString(), true) != 0) { Label5.Text = "驗(yàn)證碼輸入有誤!"; TextBox3.Text = ""; } else { Session["Uname"] = TextBox1.Text.ToString(); Response.Redire
47、ct("master.aspx"); } } else Label5.Text = "用戶名或密碼錯(cuò)誤"; } else Label5.Text = "用戶不存在"; } 4.1.3 電影搜索 可以根據(jù)電影名、主演、導(dǎo)演對(duì)是電影信息進(jìn)行查找。 圖4-5 電影搜索頁面 主要代碼如下: Session["Name"] = TextBox1.Text.Trim().ToStri
48、ng(); Session["SelectName"]= DropDownList1.SelectedValue.ToString(); Response.Redirect("~/master.aspx?type=101"); 在主頁顯示代碼如下: str = "select * from Movies ,MovieType where Movies.Mtype=MovieType.Mtype and "+Session["SelectName"].ToString()+" like %" + Session["Name"].ToString()+"%"; Data
49、Set ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(str, conn); sda.Fill(ds, "Movies"); this.DataList1.DataSource = ds.Tables["Movies"].DefaultView; DataList1.DataBind(); pds.DataSource = ds.Tables["Movies"].DefaultView; 4.1.4 信息查看及修改 根據(jù)Session[“Uname”]查找出個(gè)人信息。 圖4-6 信息查看及修改頁面
50、 主要代碼如下: protected void bt_Click(object sender, EventArgs e) { string Sex = DropDownList1.SelectedValue.ToString(); string Uemail = Uemail_txt.Text; DateTime Birth = Convert.ToDateTime(Bitrh_txt.Text); string Utele = Utele_txt.Text;
51、 conn.ConnectionString = connection; string str = "Update Users set Sex=@Sex, Birth=@Birth,Uemail=@Uemail,Utele=@Utele where Uname =" + Session["Uname"] + ""; SqlCommand ud = new SqlCommand(str, conn); conn.Open(); ud.Parameters.Add("@
52、Sex", SqlDbType.NVarChar, 2, "Sex"); ud.Parameters.Add("@Uemail", SqlDbType.NVarChar, 30, "Uemail"); ud.Parameters.Add("@Birth", SqlDbType.SmallDateTime, 4, "Birth"); ud.Parameters.Add("@Utele", SqlDbType.NVarChar, 13, "Utele"); ud.Parameters["@Sex
53、"].Value = Sex; ud.Parameters["@Uemail"].Value = Uemail; ; ud.Parameters["@Birth"].Value = Birth; ud.Parameters["@Utele"].Value = Utele; ud.ExecuteNonQuery(); conn.Close(); this.data(); conn.Dispose();
54、 Response.Write(""); } public void data() { conn.ConnectionString = connection; string str = "select * from Users where Uname =" + Session["Uname"] + ""; SqlDataAdapter sd = new SqlDataAdapter(str, conn); sd.Fill(d
55、t); Uname_txt.Text = dt.Rows[0]["Uname"].ToString(); Uemail_txt.Text = dt.Rows[0]["Uemail"].ToString(); Utele_txt.Text = dt.Rows[0]["Utele"].ToString(); DateTime date =Convert.ToDateTime(dt.Rows[0]["Birth"]); Bitrh_txt.Text = date.ToShortDateString();
56、 DropDownList1.SelectedValue = dt.Rows[0]["Sex"].ToString(); conn.Dispose(); } protected void bt1_Click(object sender, EventArgs e) { DropDownList1.Enabled = true; Bitrh_txt.Enabled = true; Uemail_txt.Enabled = true; Utele_txt.Enabled
57、= true; } 4.1.5 密碼修改 用戶可以通過輸入舊密碼來對(duì)密碼進(jìn)行修改。 圖4-7 密碼修改頁面 主要代碼如下: protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "") Response.Redirect("ChangePwd.aspx"); else {
58、 int login_check, i = 1; sql login = new sql(this.Response); string Upwd = TextBox2.Text.ToString(); login_check = login.Check_password(Session["Uname"].ToString(), TextBox1.Text.ToString(), i); if (login_check == 1) {
59、 SqlConnection conn = login.Connection_string(); string str = "Update Users set Upwd=@Upwd where Uname=" + Session["Uname"].ToString() + ""; SqlCommand ud = new SqlCommand(str, conn); conn.Open(); ud.Parameters.Add("@Upwd
60、", SqlDbType.NVarChar, 64, "Upwd"); ud.Parameters["@Upwd"].Value = Upwd; ud.ExecuteNonQuery(); conn.Close(); conn.Dispose(); Response.Write("");
61、 } else { Label4.Text = "原密碼錯(cuò)誤"; } } } 4.1.6 電影詳細(xì)信息 根據(jù)用戶點(diǎn)擊的影片,在datalist中顯示出電影的詳細(xì)信息及評(píng)論。 圖4-8 電影詳細(xì)信息頁面 主要代碼如下: string Mname = Request.QueryString["Mname"]; sql DB = new sql(this.Response);
62、 SqlConnection conn = DB.Connection_string(); string str = "select * from Movies ,MovieType where Movies.Mtype=MovieType.Mtype and Mname=" + Mname + ""; DataSet ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(str, conn); sda.Fill(ds, "Movies");
63、 this.DataList1.DataSource = ds.Tables["Movies"].DefaultView; try { Mid = Convert.ToInt32(ds.Tables["Movies"].Rows[0]["Mid"]); Session["Mid"] = Mid; DataList1.DataBind(); } catch (Exception ex) {
64、Console.WriteLine(ex.Message); } string str1 = "select * from Messages,Movies where Movies.Mid=Messages.Mid and Mname=" + Mname + ""; SqlConnection conn1 = DB.Connection_string(); DataSet ds1 = new DataSet(); SqlDataAdapter sda_msg = new SqlDataAdapter(
65、str1, conn); sda_msg.Fill(ds1, "MSG"); DataList2.DataSource = ds1.Tables["MSG"].DefaultView; ; DataList2.DataBind(); conn.Dispose(); 4.2管理員功能設(shè)計(jì) 4.2.1 操作員管理 主要使用GridView控件,并將數(shù)據(jù)源配置為自動(dòng)生成Insert、Update、Delete語句。這樣就可以使用GridView自帶的刪除、更新功能。具體代碼如下: (1) 添加管理員 s
66、tring Uname = TextBox1.Text; string Upwd = TextBox2.Text; string Upwdmd5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Upwd, "MD5"); int i = 2; sql login = new sql(this.Response); int login_name = login.Check_Uname1(Uname, i); if (login_name == 0) { sql DB = new sql(this.Response); SqlConnection conn = DB.Connection_string(); SqlDataAdapter sda = new S
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩