基于P2P網(wǎng)絡(luò)的Web端文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-04-25 21:46
【摘要】:P2P網(wǎng)絡(luò)(Peer to Peer,對(duì)等網(wǎng)絡(luò))由于其負(fù)載均衡、擴(kuò)展性強(qiáng)、自適應(yīng)、自組織,無單點(diǎn)失效等特性,自從2000年來一直是學(xué)術(shù)屆、開源社區(qū)和商業(yè)領(lǐng)域的研究熱點(diǎn),并涌現(xiàn)了許多優(yōu)秀的產(chǎn)品。但這些應(yīng)用大都采用閉源方案,且需要安裝客戶端軟件,不停的升級(jí)才能使用。與此同時(shí),Web應(yīng)用的簡(jiǎn)單易用,開放的標(biāo)準(zhǔn)和協(xié)議,無需安裝和升級(jí),更容易被大眾所接受,并逐漸成為主流開發(fā)平臺(tái)。但HTTP協(xié)議自從誕生之日,就是典型的客戶端/服務(wù)端架構(gòu),P2P網(wǎng)絡(luò)的諸多優(yōu)勢(shì)無法體現(xiàn)在Web應(yīng)用上。然而,隨著HTML5規(guī)范的日益成熟和瀏覽器性能的提升并引入了WebRTC(Web Real-Time Communication,Web端實(shí)時(shí)通信)這一技術(shù),使得純基于瀏覽器的P2P網(wǎng)絡(luò)應(yīng)用成為可能。因此,本文研究目的在于:嘗試?yán)肳ebRTC將P2P網(wǎng)絡(luò)和Web應(yīng)用這兩個(gè)長(zhǎng)久以來互不兼容的技術(shù)整合在一起,從而發(fā)揮出它們各自的優(yōu)勢(shì):(1)網(wǎng)站的登錄用戶越多,用戶間的數(shù)據(jù)傳輸越快,(2)網(wǎng)站服務(wù)器性能不受用戶數(shù)量猛增的影響,且運(yùn)營(yíng)成本大幅降低?紤]到P2P網(wǎng)絡(luò)中不同類型的傳輸數(shù)據(jù)(如流媒體、單個(gè)大文件、多個(gè)小文件)需要不同的設(shè)計(jì)思路和實(shí)現(xiàn)方法,不可能做到一套系統(tǒng)覆蓋所有的使用場(chǎng)景。因此研究范圍僅限于:大文件的數(shù)據(jù)在Web客戶端P2P網(wǎng)絡(luò)內(nèi)的傳輸。在設(shè)計(jì)思路上大量借鑒了BitTorrent協(xié)議,實(shí)現(xiàn)的方法是:由tracker服務(wù)器提供“待傳輸數(shù)據(jù)?擁有該數(shù)據(jù)的用戶”的映射關(guān)系。將WebRTC的data channel作為客戶端P2P網(wǎng)絡(luò)的底層數(shù)據(jù)傳輸層,從而構(gòu)造出一套純基于Web端的分布式文件數(shù)據(jù)傳輸系統(tǒng)。并對(duì)該系統(tǒng)的體系架構(gòu)、P2P網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)控制,節(jié)點(diǎn)間的數(shù)據(jù)傳輸機(jī)制等問題進(jìn)行了深入研究。所做的主要工作有以下3點(diǎn):(1)設(shè)計(jì)了客戶端非結(jié)構(gòu)化P2P網(wǎng)絡(luò)?蛻舳送ㄟ^WebRTC的data channel和多個(gè)相鄰節(jié)點(diǎn)建立連接,從而實(shí)現(xiàn)高速傳輸,由服務(wù)端提供相關(guān)信息來決定具體和誰連接。(2)設(shè)計(jì)了服務(wù)端P2P網(wǎng)絡(luò)。由于系統(tǒng)中的tracker服務(wù)器(提供數(shù)據(jù)和數(shù)據(jù)擁有者的映射關(guān)系)很容易成為性能瓶頸。因此方案中將多臺(tái)tracker服務(wù)器也組成一個(gè)基于Chord結(jié)構(gòu)的P2P網(wǎng)絡(luò),并可以將它們分散在多個(gè)不同的網(wǎng)站上,從而將多個(gè)網(wǎng)站的用戶組成一個(gè)更大規(guī)模的客戶端P2P網(wǎng)絡(luò)。(3)基于整套設(shè)計(jì)方案,開發(fā)了相應(yīng)的原型系統(tǒng),證明了方案在實(shí)踐上的可行性。其中原型系統(tǒng)部署在作者的個(gè)人網(wǎng)站上,并用基于互聯(lián)網(wǎng)上的真實(shí)用戶的實(shí)際數(shù)據(jù)在實(shí)踐角度證明了該系統(tǒng)相比于傳統(tǒng)HTTP下載的優(yōu)勢(shì)。因此本文的創(chuàng)新點(diǎn)主要體現(xiàn)在:基于成熟經(jīng)典的P2P理論上注入了新的Web前端技術(shù)WebRTC,發(fā)揮出兩者各自的優(yōu)勢(shì),在技術(shù)上實(shí)現(xiàn)無縫的嵌入現(xiàn)有系統(tǒng),并在業(yè)務(wù)上使所有參與者達(dá)到多方共贏的局面。最后,本文體現(xiàn)出的研究成果和貢獻(xiàn)是:(1)相比傳統(tǒng)HTTP下載方式,網(wǎng)絡(luò)流量大幅降低,而且用戶越多,流量下降的也越多。(2)設(shè)計(jì)思路可以引申到其它使用場(chǎng)景上,如:基于P2P網(wǎng)絡(luò)的在線視頻點(diǎn)播系統(tǒng),分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。(3)服務(wù)端P2P網(wǎng)絡(luò)對(duì)現(xiàn)有網(wǎng)站架構(gòu)不會(huì)有技術(shù)上的依賴和影響。(4)多方參與人員同時(shí)受益,用戶:只需一個(gè)支持WebRTC的瀏覽器(Chrome,Firefox,Opera),即可實(shí)現(xiàn)數(shù)據(jù)高速傳輸。開發(fā)維護(hù)人員:輕松部署、擴(kuò)容。網(wǎng)站管理者:運(yùn)營(yíng)費(fèi)用大幅降低。
【圖文】:
如圖 2 1 所示(來源:https://en.wikipedia.org/wiki/File:Client-server-model.svg):客戶端主動(dòng)和服務(wù)端建立 TCP 連接(或 UDP),然后發(fā)出請(qǐng)求,等待服務(wù)端回應(yīng)。圖2-1 客戶端/服務(wù)端網(wǎng)絡(luò)架構(gòu)Fig. 2-1 Client/server network architecture此模式結(jié)構(gòu)清晰,,容易理解,開發(fā)人員也都熟悉,TCP/UDP 協(xié)議又是由底層操作系統(tǒng)直接提供支持,且只需在傳輸層上應(yīng)用加密協(xié)議(如:TLS),即可確保數(shù)據(jù)傳輸?shù)陌踩,兩者之間的通訊是基于應(yīng)用層上事先定義好的協(xié)議(如:HTTP)。但此模式的缺點(diǎn)也很明顯: 服務(wù)端要接受、處理所有客戶端的請(qǐng)求,一旦請(qǐng)求數(shù)量短期內(nèi)超過服務(wù)端的處理能力,則服務(wù)端容易成為整個(gè)系統(tǒng)的性能瓶頸,也容易成為 DoS(Denial-of-service)攻擊的受害方,此時(shí)所有客戶端都會(huì)受影響。而且由于所有的網(wǎng)絡(luò)流量
圖2-2 P2P網(wǎng)絡(luò)架構(gòu)Fig. 2-2 P2P network architecture網(wǎng)絡(luò)一般會(huì)在底層的物理網(wǎng)絡(luò)拓?fù)鋵由显俣x一個(gè) overlay 的節(jié)點(diǎn)連接起來,以便迅速的執(zhí)行資源、節(jié)點(diǎn)的查找。而在
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP393.09
本文編號(hào):2640721
【圖文】:
如圖 2 1 所示(來源:https://en.wikipedia.org/wiki/File:Client-server-model.svg):客戶端主動(dòng)和服務(wù)端建立 TCP 連接(或 UDP),然后發(fā)出請(qǐng)求,等待服務(wù)端回應(yīng)。圖2-1 客戶端/服務(wù)端網(wǎng)絡(luò)架構(gòu)Fig. 2-1 Client/server network architecture此模式結(jié)構(gòu)清晰,,容易理解,開發(fā)人員也都熟悉,TCP/UDP 協(xié)議又是由底層操作系統(tǒng)直接提供支持,且只需在傳輸層上應(yīng)用加密協(xié)議(如:TLS),即可確保數(shù)據(jù)傳輸?shù)陌踩,兩者之間的通訊是基于應(yīng)用層上事先定義好的協(xié)議(如:HTTP)。但此模式的缺點(diǎn)也很明顯: 服務(wù)端要接受、處理所有客戶端的請(qǐng)求,一旦請(qǐng)求數(shù)量短期內(nèi)超過服務(wù)端的處理能力,則服務(wù)端容易成為整個(gè)系統(tǒng)的性能瓶頸,也容易成為 DoS(Denial-of-service)攻擊的受害方,此時(shí)所有客戶端都會(huì)受影響。而且由于所有的網(wǎng)絡(luò)流量
圖2-2 P2P網(wǎng)絡(luò)架構(gòu)Fig. 2-2 P2P network architecture網(wǎng)絡(luò)一般會(huì)在底層的物理網(wǎng)絡(luò)拓?fù)鋵由显俣x一個(gè) overlay 的節(jié)點(diǎn)連接起來,以便迅速的執(zhí)行資源、節(jié)點(diǎn)的查找。而在
【學(xué)位授予單位】:上海交通大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP393.09
【參考文獻(xiàn)】
相關(guān)博士學(xué)位論文 前3條
1 劉德輝;結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的負(fù)載均衡技術(shù)研究[D];國(guó)防科學(xué)技術(shù)大學(xué);2013年
2 張宇翔;對(duì)等網(wǎng)絡(luò)中Churn問題分析與研究[D];北京交通大學(xué);2010年
3 薛開平;對(duì)等網(wǎng)絡(luò)中的可用性和安全性技術(shù)研究[D];中國(guó)科學(xué)技術(shù)大學(xué);2007年
相關(guān)碩士學(xué)位論文 前1條
1 楊仲謀;基于WebRTC的去中心化內(nèi)容分發(fā)網(wǎng)絡(luò)的研究[D];杭州電子科技大學(xué);2016年
本文編號(hào):2640721
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/2640721.html
最近更新
教材專著