錢麗丹
[提要] 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡娛樂形式日益豐富,在線觀影作為一種重要的娛樂方式受到人們的普遍喜愛。電影資源網(wǎng)站在完善的技術(shù)平臺支持下,實時提供電影及電視劇資料庫,并在尊重版權(quán)的前提下,讓互聯(lián)網(wǎng)用戶在線流暢地發(fā)布、瀏覽和分享電影作品。本文首先介紹系統(tǒng)使用的關(guān)鍵技術(shù),在此基礎上設計一個基于BitTorrent的電影資源網(wǎng)站,包括網(wǎng)站需求、系統(tǒng)開發(fā)環(huán)境、數(shù)據(jù)庫設計及系統(tǒng)實現(xiàn)。
關(guān)鍵詞:網(wǎng)絡娛樂;電影資源網(wǎng)站;BitTorrent;網(wǎng)站需求;數(shù)據(jù)庫設計
中圖分類號:F27 文獻標識碼:A
收錄日期:2018年2月1日
近年來,隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡娛樂形式日益豐富,包括在線小說、電影、電視、游戲等豐富了人們的精神生活,而在線觀影作為一種重要的娛樂方式受到人們的普遍喜愛。電影資源網(wǎng)站在完善的技術(shù)平臺支持下,提供電影及電視劇資料庫,包括資訊、預告片、海報、寫真和熱門影評,同時電影網(wǎng)站在尊重版權(quán)的前提下,讓互聯(lián)網(wǎng)用戶在線流暢發(fā)布、瀏覽和分享電影作品。本文將在介紹ThinkPHP技術(shù)和BitTorrent技術(shù)的基礎上,針對電影、電視劇愛好者,設計并開發(fā)基于BitTorrent的電影資源網(wǎng)站。
(一)PHP開發(fā)技術(shù)。PHP是一種通用開源腳本語言。語法吸收了C語言、Java的特點,入門門檻較低,易于學習,使用廣泛,主要適用于Web開發(fā)領域。系統(tǒng)開發(fā)采用了最新的PHP7開發(fā)技術(shù)。與以往的版本相比,PHP7具有一些新的特點,并試圖打破版本之間向下兼容的定律,包括一切都當作一個對象、一致的命名方法和類、一切是Unicode、擺脫eval()、支持操作符重載等。
(二)ThinkPHP框架。ThinkPHP是一個免費開源的、快速、簡單的面向?qū)ο蟮妮p量級PHP開發(fā)框架,是為了敏捷WEB應用開發(fā)和簡化企業(yè)應用開發(fā)而誕生的。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。ThinkPHP是基于PHP技術(shù)開發(fā)的,可以使用多種數(shù)據(jù)庫、緩存存儲器,并且可以在多種平臺上運行。
(三)BitTorrent傳輸協(xié)議。BitTorrent是一種內(nèi)容分發(fā)協(xié)議,它采用高效的軟件分發(fā)系統(tǒng)和點對點技術(shù)共享大體積文件(如一部電影或電視節(jié)目),并使每個用戶像網(wǎng)絡重新分配結(jié)點那樣提供上傳服務。一般的下載服務器為每一個發(fā)出下載請求的用戶提供下載服務,而BitTorrent的工作方式與之不同。分配器或文件的持有者將文件發(fā)送給其中一名用戶,再由這名用戶轉(zhuǎn)發(fā)給其他用戶,用戶之間相互轉(zhuǎn)發(fā)自己所擁有的文件部分,直到每個用戶的下載都全部完成。這種方法可以使下載服務器同時處理多個大體積文件的下載請求,而無須占用大量帶寬。
BitTorrent協(xié)議基于P2P傳輸方式。P2P是peer-to-peer的縮寫,“Peer”在英語里有“對等者、伙伴、對端”的意義。因此,從字面上,P2P可以理解為對等計算或?qū)Φ染W(wǎng)絡。簡單地說,P2P直接將人們聯(lián)系起來,讓人們通過互聯(lián)網(wǎng)直接交互,使得網(wǎng)絡上的溝通變得容易、更直接共享和交互,真正地消除中間商。P2P就是人可以直接連接到其他用戶的計算機、交換文件,而不是像過去那樣連接到服務器去瀏覽與下載。P2P另一個重要特點是改變互聯(lián)網(wǎng)現(xiàn)在的以大網(wǎng)站為中心的狀態(tài)、重返“非中心化”,并把權(quán)力交還給用戶。
(一)網(wǎng)站需求。電影資源網(wǎng)站分為前臺和后臺兩部分,前臺是提供給觀影人和游客進行訪問查看的,有簡潔漂亮的UI,前臺功能主要分為資源信息檢索、資源信息展示和資源下載。用戶可以很直觀地了解到各類資源信息。系統(tǒng)為用戶提供設置高亮顯示標題、置頂資源等個性化服務。后臺主要實現(xiàn)對前臺數(shù)據(jù)的把控,前臺所有顯示的有效信息,均為后臺的管理員添加或者友站的管理員完成的。而對于普通用戶而言,后臺是無法訪問的。后臺基于ThinkPHP技術(shù)和BitTorrent技術(shù)開發(fā),后臺集成了強大的站長發(fā)布功能,包括:(1)資源管理:在各網(wǎng)站里最主要的東西就是資源,在這里可以管理資源;(2)站群發(fā)布:這是一個較為新穎的功能,資源可以同步發(fā)布到友站上;(3)節(jié)點資源查看:可以看到該資源的分布情況,有多少節(jié)點也在廣播這個資源,有多少節(jié)點也在傳輸這個資源,還有多少節(jié)點以及完成了傳輸,有了這個列表,可以參考、監(jiān)視傳輸情況。
(二)系統(tǒng)開發(fā)環(huán)境。系統(tǒng)開發(fā)環(huán)境采用WampServer集成包。WampServer是一款由法國人開發(fā)的Apache Web服務器、PHP解釋器以及MySQL數(shù)據(jù)庫的整合軟件包。免去了開發(fā)人員將時間花費在繁瑣的配置環(huán)境過程,從而騰出更多精力去做開發(fā)。在windows下WampServer擁有簡單的圖形和菜單安裝和配置環(huán)境。PHP擴展、Apache模塊,開啟/關(guān)閉鼠標點點就搞定,再也不用親自去修改配置文件,WAMP會幫助用戶完成相關(guān)設置。WAMP完全免費,可以在其官方網(wǎng)站下載到最新的版本。系統(tǒng)開發(fā)中使用的版本是WampServer3,其中包括:Apache 2.4.23、PHP 7.0.10、MySQL 5.7.14。
系統(tǒng)前臺開發(fā)采用了WebStorm開發(fā)工具,后臺開發(fā)采用PhpStorm。WebStorm是JetBrains公司旗下一款JavaScript開發(fā)工具。目前已經(jīng)被廣大中國JS開發(fā)者譽為“Web前端開發(fā)神器”、“最強大的HTML5編輯器”、“最智能的JavaScript IDE”等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。PhpStorm是一個輕量級且便捷的PHP IDE,其旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。
(三)數(shù)據(jù)庫設計。根據(jù)網(wǎng)站需要,所需要的主要數(shù)據(jù)包括電影資源分類表(imba_genre)、資源表(imba_torrent)和用戶表(imba_user)等。以下僅列舉imba_torrent資源表的表結(jié)構(gòu)。imba_torrent資源表存放重要的電影資源信息,包括資源名稱、資源大小、資源簡介等,其表結(jié)構(gòu)如表1所示。
(四)系統(tǒng)的實現(xiàn)。電影資源網(wǎng)站前臺采用較簡潔漂亮的UI,方便用戶查找并獲取感興趣的資源。后臺主要提供資源管理、站群發(fā)布、節(jié)點查看等功能。所有前臺數(shù)據(jù)的呈現(xiàn)都通過后臺進行操作。本網(wǎng)站實現(xiàn)的所有后臺功能均無UI,均為API模式,返回的數(shù)據(jù)格式為JSON數(shù)據(jù)格式,所有操作由站長來輔助完成。
電影資源網(wǎng)站是影視資源愛好者的交流平臺,它不僅能夠及時地抓取熱門電影資源起到影片宣傳的作用,還能利用有效上傳帶寬給資源傳輸加速,提高資源傳輸效率。隨著網(wǎng)絡技術(shù)的發(fā)展,相信電影資源分享交流的需求將更加旺盛,電影資源網(wǎng)站的應用將更加廣泛。
主要參考文獻:
[1]夏磊.ThinkPHP實戰(zhàn)[M].北京:清華大學出版社,2017.4.
[2]360百科.比特流[EB/OL].https://baike.so.com/doc/6017821-6230812.html,2014.6.
[3]360百科.P2P對等網(wǎng)絡[EB/OL].https://baike.so.com/doc/3388717-3567242.html,2016.11.
[4]百度百科.WampServer[EB/OL].https://baike.baidu.com/item/WampServer,2017.7.