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