視頻點播系統(tǒng)畢業(yè)設(shè)計論文1
《視頻點播系統(tǒng)畢業(yè)設(shè)計論文1》由會員分享,可在線閱讀,更多相關(guān)《視頻點播系統(tǒng)畢業(yè)設(shè)計論文1(43頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、視頻點播系統(tǒng) 摘 要 VOD(Video On Demand)即交互式多媒體視頻點播,是隨著計算機技術(shù)和網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,綜合了計算機技術(shù)、通訊技術(shù)而迅速新興的一門綜合性技術(shù)。它利用了網(wǎng)絡(luò)和視頻技術(shù)的優(yōu)勢,徹底改變了過去收看節(jié)目的被動方式,實現(xiàn)了節(jié)目的按需收看和任意點播,集動態(tài)影視圖、聲音、文字等信息為一體,為用戶提供實時、交互,按需點播服務(wù)的系統(tǒng)。 視頻點播系統(tǒng)根據(jù)流媒體傳輸原理,在校園局域網(wǎng)的基礎(chǔ)上實現(xiàn)了用戶信息管理、視頻文件的添加、刪除、修改及在線播放和搜索功能。本系統(tǒng)是一個小型系統(tǒng),采用SQL Server數(shù)據(jù)庫,將HTML、ASP.NET及JavaScript完美融合,力求界
2、面美觀、操作流暢、易于實現(xiàn)。 本文結(jié)合平臺開發(fā)實例,闡述了基于Web的交互式視頻點播系統(tǒng)的原理、軟件結(jié)構(gòu)和設(shè)計實現(xiàn),并在此基礎(chǔ)上對網(wǎng)絡(luò)優(yōu)化作相應(yīng)的探索。 關(guā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)濟可行性分析 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è)計 11 3.1 系統(tǒng)總體功能設(shè)計 11 3.2 系統(tǒng)角色設(shè)計 12 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計 14 3.3.1 邏輯結(jié)構(gòu)設(shè)計 14 3.3.2 數(shù)據(jù)表設(shè)計 16 第4章 系統(tǒng)詳細設(shè)計 18 4.1 普通用戶功能設(shè)計 18 4.1.1 系統(tǒng)注冊頁面 18 4.1.2 會員登錄 22 4.1.3 電影搜索 24 4.1.4 信息查看及修改 24 4.1.5 密碼修改 26 4.1.6 電影詳細信息 27 4.2管理員功能設(shè)計 28 4.2.1 操作員管理 28 4.2.2 影片管理 29 I 4.2.3 分
4、類管理 34 4.2.4 用戶管理 35 4.2.5 評論管理 35 第5章 系統(tǒng)的發(fā)布和運行 36 5.1 發(fā)布網(wǎng)站 36 5.2 IIS配置 36 總 結(jié) 39 致 謝 41 參考文獻 42 I 第1章 緒 論 隨著時代進步,人類對于信息存儲方式和質(zhì)量的要求也日漸提高。最初,人們沒有發(fā)明文字,就用一些物體來記錄發(fā)生的大事,比如古代波斯人就用繩子來記錄發(fā)生的事,又或者畫圖來記錄發(fā)生的大事;隨后人們發(fā)明了文字,擁有文字的民族就運用文字來記錄過去所發(fā)生的重大事件而形成歷史,比如中國古代的二十四史;到了19世紀人類發(fā)明了相機,用照片記錄人類歷史,到了二戰(zhàn)后期,美國人
5、發(fā)明了世界第一臺計算機,直到現(xiàn)在計算機和內(nèi)存在不斷地更新和發(fā)展,并且到了今天互聯(lián)網(wǎng)也發(fā)展到了一個繁榮階段,幾乎每時每刻都有龐大的數(shù)據(jù)量在互聯(lián)網(wǎng)上傳輸,人們需要的存儲的信息也記錄到內(nèi)存中,而現(xiàn)在人們所需要記錄的數(shù)據(jù)形式也有較大的改變,比如某些重要的需要記錄的新聞,相對用照片或者文字來說,用視頻形式表現(xiàn)出來則更具體。 眾所周知,現(xiàn)在人們通過視頻圖像來獲取的信息大部分來源于互聯(lián)網(wǎng)和電視,但是電視往往不能第一時間將新的消息傳達給人們,因此互聯(lián)網(wǎng)相對電視來看,更適合將重大新聞的視頻圖像傳達給用戶。而且,視頻對于人們來說已經(jīng)不僅僅拘泥于只是用來做存儲重要新聞信息的手段,更傾向不同人群的不同需求,
6、比如現(xiàn)在的一些拍客,喜歡把自己拍到的有趣的一些東西給朋友分享,或者一些學者為了能讓學生們,而通過互聯(lián)網(wǎng),能更方便快捷實現(xiàn)人們對不同的視頻的不同需求。 可以通過這樣一種網(wǎng)站,將最新消息視頻,或者用戶自己的自拍視頻,以及電視劇、電影劇集、綜藝節(jié)目,或者一些教學視頻,免費提供給用戶,可以滿足用戶的不用需求,人們只要登錄網(wǎng)站便可查詢查看當天或者當前時段最受關(guān)注的視頻信息,或者查詢自己所需的視頻信息并觀看,用戶僅需注冊賬號,將自己的視頻上傳到網(wǎng)站,供大家分享,而當天新聞視頻,也可以上傳到網(wǎng)站,這樣人們可以直接第一時間點擊觀看。這樣,人們無需等待電視固定時段的新聞,而是隨時隨地的就能了解每時每刻,世界各
7、地都發(fā)生了什么,注冊后的會員也可以管理自己的視頻,如果自己的視頻不方便與人們分享,還可以對視頻進行刪除等操作。 視頻點播VOD出現(xiàn)的最初動力是人們對廣播電視的更高需求。在傳統(tǒng)的電視中,觀眾完全是被動的。節(jié)目提供者播放什么節(jié)目,觀眾就只能觀看什么節(jié)目,節(jié)目的播放時間也是無法按照觀眾的意愿改變的。盡管電視臺可以提供很多的節(jié)目,但要想完整地收看到一個自己滿意的節(jié)目,對于許多人來講也是不太容易做到的,因為在快節(jié)奏的現(xiàn)代生活中,許多人不可能為了看某一個電視節(jié)目而預先安排自己的時間。被動收看節(jié)目的人們希望能夠按照自己的需要自由地點播節(jié)目。視頻點播的出現(xiàn)正迎合了人們的這種需求,這種信息服務(wù)方式符合人們對信
8、息資源更深層次的需要。 第 42 頁 共 43 頁 第2章 需求分析 2.1 系統(tǒng)可行性分析 2.1.1 技術(shù)可行性分析 系統(tǒng)的主要技術(shù)難度是解決并發(fā)流數(shù)。國外許多大公司推出的專有視頻服務(wù)器可以支持幾百個并發(fā)流,但價格相當昂貴。國內(nèi)的幾個廠家采用的是高檔服務(wù)器作為視頻服務(wù)器,可以支持幾十個流,最多100個。采用服務(wù)器替代專有視頻服務(wù)器硬件成本大大降低,但單臺服務(wù)器的并發(fā)數(shù)和硬盤擴充的極限太小,不能滿足大型的市場需求。 現(xiàn)在的軟件開發(fā)語言有很多種,但一定要找一個功能強大,易學易用易掌握且適合自己的語言也就不多了。本系統(tǒng)經(jīng)過多種語言的優(yōu)缺點的對比之后,采用的是ASP.NET作為本系
9、統(tǒng)的開發(fā)平臺,以SQL Server2005作后臺的數(shù)據(jù)庫。 2.1.2 經(jīng)濟可行性分析 軟件的經(jīng)濟可行性是指軟件所能帶來的經(jīng)濟效益與開發(fā)設(shè)計所需要的投資相比,是否相適宜,同時還要看此軟件能否真正給用戶帶來足夠的經(jīng)濟效益,開發(fā)的這套系統(tǒng)正是考慮系統(tǒng)開發(fā)的成本而設(shè)計。本系統(tǒng)的開發(fā)在經(jīng)濟上是完全可行的。開發(fā)此軟件不需要大量的經(jīng)費,而且是個人獨立設(shè)計,可以節(jié)省許多費用,同時也可提高個人的實際動手能力。 綜合以上技術(shù)特點,為了降低成本,采用PC服務(wù)器作為視頻服務(wù)器,而且PC服務(wù)器的性能還在不斷提高,支持的并發(fā)數(shù)也在增加。PC服務(wù)器作為視頻服務(wù)器的方案正逐步取代以前的專有視頻服務(wù)器。為了解決
10、多并發(fā)流數(shù),采用多臺PC服務(wù)器以集群的形式,通過控制網(wǎng)關(guān)完成服務(wù)器之間的協(xié)調(diào),提高系統(tǒng)的利用率。控制網(wǎng)關(guān)以及集群服務(wù)器技術(shù)是技術(shù)增值點。另外,由于采用集群形式,不要求PC服務(wù)器實現(xiàn)最大流數(shù),可以采用低檔PC服務(wù)器和IDE硬盤,這樣又可以提高單臺視頻服務(wù)器的性能價格比。經(jīng)過預研和測試,服務(wù)器的瓶頸不在CPU,這樣可以用低檔CPU和主板。采用IDE RAID卡和7200轉(zhuǎn)IDE硬盤的服務(wù)器仍可支持三、四十個并發(fā)流??刂凭W(wǎng)關(guān)的技術(shù)經(jīng)過前 期的預研也是可行的。系統(tǒng)的整個方案都是自行開發(fā)并在通用的軟硬件平臺上運行 ,具有較強的靈活性。 2.1.3 管理可行性分析 管理可行性是指是否適合管理人員的管理
11、,由于本系統(tǒng)不需要大量的人員來維持維護,只需要幾個人來維護數(shù)據(jù)庫、視頻信息,人員信息等,通過現(xiàn)有的管理制度,在管理方面是可行的。 綜上所述,此系統(tǒng)能夠確定開發(fā),在技術(shù)和經(jīng)濟等方面都可行,并且能實現(xiàn)低投入和視頻點播上傳。因此,視頻點播系統(tǒng)的開發(fā)是完全可行的。 2.2 系統(tǒng)功能需求 網(wǎng)上視頻點播系統(tǒng)是一種能夠在線播放視頻、上傳視頻的網(wǎng)站,目的是希望人們既能觀看別人視頻,也能自己上傳自己的視頻,滿足當今人們的精神需要。 視頻點播系統(tǒng)應(yīng)該有以下功能:包括用戶的注冊、登錄、視頻查詢、視頻上傳、視頻播放、用戶信息修改、視頻信息修改、刪除用戶,刪除視頻文件、新建管理員。并具有角色和權(quán)限控制來保證系統(tǒng)
12、功能完善。該系統(tǒng)的角色和權(quán)限分別如下: 角色主要有:超級管理員、普通管理員、普通用戶。 超級管理員的權(quán)限及功能主要包括操作員管理、用戶管理、視頻管理、分類管理和評論管理。 (1)操作員管理:能夠?qū)崿F(xiàn)后臺管理添加、刪除、修改操作員。 (2)用戶管理:能夠?qū)η芭_注冊的用戶進行管理。 (3)視頻管理:能夠?qū)σ曨l資料進行上傳、修改以及刪除。 (4)分類管理:能夠?qū)﹄娪暗姆诸愡M行維護。 (5)評論管理:能夠?qū)τ脩舻脑u價進行管理。 普通管理員主要進行用戶管理、視頻管理、分類管理和評論管理。 普通用戶主要進行電影的搜索、觀看、評論以及個人信息的維護。 2.3 開發(fā)工具介紹 2.3.1
13、ASP.NET ASP.NET 不僅僅是 Active Server Page (ASP) 的下一個版本;它還提供了一個統(tǒng)一的 Web 開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級 Web 應(yīng)用程序所需的各種服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護。可以通過在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.NET 功能,隨時增強 ASP 應(yīng)用程序的功能。 ASP.NET是一個已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和
14、 JScript .NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個 .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。 ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員可以用來將服務(wù)器控件拖放到 Web 頁的 GUI 和完全集成的調(diào)試支持。當創(chuàng)建ASP.NET 應(yīng)用程序時,開發(fā)人員可以使用 Web 窗體或X
15、ML Web services,或以他們認為合適的任何方式進行組合。每個功能都能得到同一結(jié)構(gòu)的支持,能夠使用身份驗證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對應(yīng)用程序的配置進行自定義,這里只是列出幾種可能性而已。 2.3.2 SQL Server數(shù)據(jù)庫 ASP.NET所支持的數(shù)據(jù)庫很多,因此根據(jù)實際需要來使用最合理的數(shù)據(jù)庫。數(shù)據(jù)庫分為平面數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫,但平面數(shù)據(jù)庫會使存儲空間被重復和浪費,而關(guān)系數(shù)據(jù)庫則是由若干個平面數(shù)據(jù)庫連接在一起而形成的,采用關(guān)系數(shù)據(jù)庫,用戶不僅能像在平面數(shù)據(jù)庫管理中那樣搜索各個獨立的記錄,而且能夠建立一個記錄集合與另一個記錄集合的關(guān)系,就能使用戶的效率更高,操作更簡捷。
16、 數(shù)據(jù)庫,簡單而言就是要存儲這些大量的數(shù)據(jù)而且要能正確的存儲。 數(shù)據(jù)會隨著時間的增加,而積累,導致數(shù)據(jù)量日漸龐大。常常需要快速地在大量的數(shù)據(jù)中,找出設(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ù)處理是繁瑣的重復勞動。因此,也就有低效率、準確性差以及復雜化等缺點的不可避免性,隨著計算機的出現(xiàn),開辟了電子數(shù)據(jù)處理的新紀元。 本系統(tǒng)采用SQL Server 2005作為后臺開發(fā)工具,其特點如下: ● Internet 集成 SQL Server 2005數(shù)據(jù)庫引擎提供完整的XML支持。它還具有構(gòu)成最大的Web站點的數(shù)據(jù)存儲組件所還需的可伸縮性、可用性和安全功能。SQL Server 2005程序設(shè)計模型與Win
18、dows DNA構(gòu)架集成,用以開發(fā)Web應(yīng)用程序,并且SQL Server 2005支持English Query和Microsoft搜索服務(wù)等功能,在Web應(yīng)用程序中包含了用戶友好的查詢和強大的搜索功能。 ● 可伸縮性和可用性 同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行Microsoft Windows 7的便攜式電腦,到運行Microsoft Windows 2005數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2005企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大Web站點所需要的性能級別。SQL Server 2005 與Windows NT和W
19、indows 2005故障轉(zhuǎn)移群集共同支持不間斷地將故障即時轉(zhuǎn)移到備份服務(wù)器。SQL Server 2005還引入了日志傳送功能,使您得以在可用性要求較低的環(huán)境中維護備用服務(wù)器。 ● 企業(yè)級數(shù)據(jù)庫功能 SQL Server 2005關(guān)系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上使并發(fā)修改數(shù)據(jù)庫用戶的開銷減到最小。SQL Server 2005分布式查詢使您可以引用來自不同的分布式事務(wù)支持充分保護任何分布式數(shù)據(jù)更新的完整性。復制同樣使您能維護多個數(shù)據(jù)復本,同時確保單獨的數(shù)據(jù)復本保持同步。可將一組數(shù)據(jù)復制到多個移動的脫機用戶,使這些用戶自主地工作,然
20、后將他們所做的修改合并回發(fā)到服務(wù)器。 ● 易于安裝、部署和使用 SQL Server 2005中包括一系列管理和開發(fā)工具,這些工具可改進在多個站點上安裝、部署、管理和使用SQL Server 2005的過程。SQL Server 2005還支持基于標準的、與Windows DNA集成的程序設(shè)計模型,使SQL Server 2005數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付SQL Server應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實現(xiàn)這些應(yīng)用程序。 ● 數(shù)據(jù)倉庫 SQL Server 2005中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理(OLA
21、P)的工具。SQL Server中還包括一些工具,可用來直觀地設(shè)計數(shù)據(jù)庫并通過English Query來分析數(shù)據(jù)。 2.3.3 .NET Framework .NET Framework 是一個集成在 Windows 中的組件,它支持生成和運行下一代應(yīng)用程序與 XML Web Services..NET Framework 旨在實現(xiàn)下列目標: 提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠程執(zhí)行的。 提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。 提供一個可提高代碼(包括由未知的或不完全受信任的
22、第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境。 提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。 使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時保持一致。 按照工業(yè)標準生成所有通信,以確?;?.NET Framework 的代碼可與任何其他代碼集成。 .NET Framework 的目的就是要讓建立Web Services 以及因特網(wǎng)應(yīng)用程序的工作變的簡單,它就相當于微軟Web Services 引擎.許多程序設(shè)計師和使用者,非??释幸粋€完善而且透明清楚的基礎(chǔ)架構(gòu),來建立Web Services(因特網(wǎng)服務(wù)).
23、.NET Framework 就是為了這個需求,而提供的基礎(chǔ)架構(gòu)。.NET Framework 提供了應(yīng)用程序模型及關(guān)鍵技術(shù),讓開發(fā)人員容易以原有的技術(shù)來產(chǎn)生、布署,并可以繼續(xù)發(fā)展具有高安全、高穩(wěn)定,并具高延展的Web Services.對于.NET Framework 而言,所有的組件都可以成為Web Services,Web Services 只不過是另一種型態(tài)的組件罷了.微軟將COM(Component Object Model,組件對象模型)的優(yōu)點整合進來,它可以不用像COM 那么嚴謹?shù)膩硭ㄦi兩個對象,.NET Framework 以松散的方式來栓鎖Web Services 這種型態(tài)的
24、組件.這樣的結(jié)果讓開發(fā)人員非常容易的發(fā)展出強而有力的Web 服務(wù)組件,提高了整體的安全及可靠性,并且大大的增加系統(tǒng)的延展性。 第3章 系統(tǒng)設(shè)計 3.1 系統(tǒng)總體功能設(shè)計 視頻點播系統(tǒng)主要實現(xiàn)的功能是視頻的播放,視頻上傳。該系統(tǒng)的功能模塊包括:用戶權(quán)限管理模塊、用戶信息管理模塊、用戶信息查詢模塊、視頻文件管理模塊、視頻文件查詢模塊等。如圖3-1所示。 按 影名搜索 按主演搜索 按導演搜索 點播推薦 最新推薦 添加 刪除 修改 電影游覽 電影搜索 電影評價 信息修改 電影推薦 用戶管理 分類管理 電影管理 評價管理 普通用戶 管理員 視頻點播系
25、統(tǒng) 圖3-1系統(tǒng)功能圖 3.2 系統(tǒng)角色設(shè)計 本系統(tǒng)按照功能可將角色分為超級管理員、普通管理員、普通會員。每種角色具有不同的權(quán)限。 超級管理員:負責網(wǎng)站用戶信息和視頻信息的管理,以及欄目信息的維護。 普通管理員:可以實現(xiàn)視頻信息的維護。 普通用戶:采用先注冊后登錄的方式進入管理網(wǎng)站,在網(wǎng)站中可以在線瀏覽視頻信息,搜索視頻信息,以及在線觀看視頻信息及評論。 以下為三個角色的用例圖: 注冊 登錄 電影信息 影名搜索 導演搜索 主演搜索 電影觀看 電影評論 普通用戶 圖3-2 普通用戶用例圖 登錄 操作員管理 會員管理 電影管理 評論管理
26、操作員添加 操作員刪除 會員修改 會員刪除 電影上傳 電影修改 評論刪除 電影刪除 圖3-3 超級管理員用例圖 超級管理員 登錄 會員管理 電影管理 評論管理 會員修改 會員刪除 電影上傳 電影修改 評論刪除 電影刪除 圖3-4 普通管理員用例圖 普通管理員 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計 3.3.1 邏輯結(jié)構(gòu)設(shè)計 (1)視頻信息實體屬性圖 在線視頻點播系統(tǒng)中要有視頻內(nèi)容,視頻是在線視頻點播系統(tǒng)中密不可分的部分,因此要創(chuàng)建視頻信息實體,用來保存視頻的詳細信息。視頻信息實體E-R圖,如圖3-5所示。 視頻信息實體 視頻編號 視頻名稱 圖片
27、路徑 簡介 導 演 類型編號 主 演 視頻路徑 上映時間 上傳時間 上傳者 圖3-5 視頻信息 點播數(shù) (2)用戶信息實體屬性圖 用戶是在線視頻點播系統(tǒng)的使用者,是在線視頻點播系統(tǒng)的重要組成部分,用戶信息E-R圖,如圖3-6所示。 用戶信息實體 密碼 電子郵箱 用戶名 手機號 注冊日期 MD5加密密碼 性別 出生日期 圖3-6 用戶信息 (3)系統(tǒng)整體實體屬性圖 在線視頻點播系統(tǒng)的流程是用戶登錄網(wǎng)站若用戶名不存在,則需先注冊用戶信息,注冊完用戶信息后,用戶輸入自己的賬號及密碼登錄系統(tǒng),在用戶登錄成功后系統(tǒng)根據(jù)登錄的帳號信息與數(shù)據(jù)庫表中的數(shù)
28、據(jù)進行對比判斷是普通用戶是否存在,如果存在戶,用戶可以在線瀏覽網(wǎng)站提供的信息以及視頻內(nèi)容,可以根據(jù)自己的喜好搜索視頻,用戶在點擊視頻后,系統(tǒng)會顯示視頻的詳細信息,用戶可以點擊收看該視頻,系統(tǒng)會根據(jù)用戶點擊播放情況獲得視頻編號以及點擊時間,添加到數(shù)據(jù)庫的點擊排行榜中,信息內(nèi)容會反饋到網(wǎng)站的點擊排行榜中。此外,用戶可以在線修改自己的賬號信息以及密碼。如果管理員登錄,管理員需要對網(wǎng)站的節(jié)目信息進行管理,及時修改和刪除已經(jīng)過時的視頻內(nèi)容,以及發(fā)布新的視頻供用戶觀看,系統(tǒng)會將最新發(fā)布的視頻信息添加到數(shù)據(jù)庫視頻信息表中,并反饋到網(wǎng)站點擊排行榜中“最新視頻”欄顯示。 在線視頻點播系統(tǒng)的整體系統(tǒng)E-R圖,如
29、圖3-7所示。 圖3-7 整體系統(tǒng) 用戶 視頻 管理 點擊 視頻編號 視頻名稱 視頻路徑 …… 密碼 修改 用戶名 郵箱名 密碼 用戶名 刪除 … 出生日期 點擊次數(shù) 管理員 發(fā)布 視頻名稱 …… 發(fā)布時間 節(jié)目編號 3.3.2 數(shù)據(jù)表設(shè)計 通過以上的需求分析及邏輯處理,本系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)表包括:分用戶表(Users)、視頻信息表(Movies)、視頻類型表(MovieType)、評論表(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 注冊時間 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 電影序號 Int √ 表的主鍵,不為空,自增長,唯一 Mname 電影名 Nvarchar(30) 不為空 nation 地區(qū) Nvarchar(15) 不為空 direct 導演 Nvarc
33、har(8) 不為空 Mstar 主演 Nvarchar(50) 不為空 Mtime 上映時間 SmallDateTime 不為空 Maddtime 上傳時間 SmallDateTime 不為空 Mlanguage 語種 Nvarchar(10) 不為空 Mtype 類型 Int 不為空,為MovieType中Mtype外鍵 Mmsg 簡介 Nvarchar(200) 不為空 Mpatch 電影路徑 Nvarchar(50) 不為空 Mimagepatch 封面路徑 Nvarchar(50)
34、不為空 Mcount 點擊數(shù) Int 默認為0 Uname 上傳者 Nvarchar(16) 不為空 (5) 評論表(Messages):主要記錄用戶對視頻的相關(guān)評論。如表3-5所示。 表3-5 Messages表 列表 字段名解釋 字段類型 主鍵 字段說明 Mid 電影序號 Int √ 表的主鍵,不為空,惟一 Uname 用戶名 Nvarchar(16) √ 表的主鍵,不為空,惟一 Msgcontent 評論內(nèi)容 Nvarchar(120) 不為空 Addtime 評論時間 SmallDateTime 不為
35、空 第4章 系統(tǒng)詳細設(shè)計 本系統(tǒng)的詳細設(shè)計與實現(xiàn)主要分為普通用戶功能和管理員功能的設(shè)計和實現(xiàn)。 本系統(tǒng)中要經(jīng)常對數(shù)據(jù)庫進行添加、刪除、修改等操作。為了避免重復寫相同的代碼,將對數(shù)據(jù)庫的基本操作封裝到一個類中。這樣每次需要對數(shù)據(jù)庫進行操作的時候,只要直接調(diào)用這個封裝好的類就可以實現(xiàn)對數(shù)據(jù)庫的增加、刪除、修改等操作。 本系統(tǒng)的文件夾結(jié)構(gòu)如下: (1)App_Code:App_Code文件夾是ASP.NET應(yīng)用程序包含的7個默認文件夾之一,本系統(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:此文件夾中放置了實現(xiàn)后臺系統(tǒng)的所有頁面文件。 4.1 普通用戶功能設(shè)計 4.1.1 系統(tǒng)注冊頁面 只有注冊后的用戶才可以進入本系統(tǒng)。當注冊成功后會跳轉(zhuǎn)到一個提示頁面,過3秒后會進入本系統(tǒng)的主頁面。此時會將用戶名保存到Session[“Uname”]中
37、,以便后面的調(diào)用。具體流程如圖4-1所示。 跳轉(zhuǎn)主頁 N 用戶注冊 用戶名是否重復與合法y 密碼一致 填寫信息 注冊成功 已填寫必填項 驗證碼 Y N Y N 圖4-1 用戶注冊模塊程序流程圖 圖4-2 用戶注冊頁面 主要代碼如下: if (String.Compare(Request.Cookies["CheckCode"].Value, checkit.Text.ToString(), true) != 0) { Lcheck.Text = "驗證碼錯誤,請輸入正確的驗證
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 會員登錄
44、 剛進入本系統(tǒng)時,會顯示最新電影的封面,只有注冊后的用戶才可以進入本系統(tǒng)。在注冊時自動進行用戶名檢測,對用戶的輸入格式進行自動檢測。具體流程如圖4-3所示。 N Y N Y 用戶登錄 是否正確 輸入密碼 密碼是否正確 登錄成功 驗證碼 跳轉(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 = "驗證碼輸入有誤!"; TextBox3.Text = ""; } else { Session["Uname"] = TextBox1.Text.ToString(); Response.Redire
47、ct("master.aspx"); } } else Label5.Text = "用戶名或密碼錯誤"; } else Label5.Text = "用戶不存在"; } 4.1.3 電影搜索 可以根據(jù)電影名、主演、導演對是電影信息進行查找。 圖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”]查找出個人信息。 圖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 密碼修改 用戶可以通過輸入舊密碼來對密碼進行修改。 圖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 = "原密碼錯誤"; } } } 4.1.6 電影詳細信息 根據(jù)用戶點擊的影片,在datalist中顯示出電影的詳細信息及評論。 圖4-8 電影詳細信息頁面 主要代碼如下: 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è)計 4.2.1 操作員管理 主要使用GridView控件,并將數(shù)據(jù)源配置為自動生成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等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當頭廉字入心爭當公安隊伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅守廉潔底線
- 2025做擔當時代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會圍繞六個干字提要求
- XX地區(qū)中小學期末考試經(jīng)驗總結(jié)(認真復習輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展營造風清氣正的環(huán)境
- 冬季消防安全知識培訓冬季用電防火安全
- 2025加強政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓直播技巧與方法
- 2025六廉六進持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學期末考試經(jīng)驗總結(jié)(認真復習輕松應(yīng)考)
- 幼兒園期末家長會長長的路慢慢地走