譚志虎, 胡迪青, 管 軍
(華中科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 湖北 武漢 430074)
實(shí)驗(yàn)室機(jī)房大文件快速分發(fā)技術(shù)應(yīng)用研究
譚志虎, 胡迪青, 管 軍
(華中科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 湖北 武漢 430074)
分析了實(shí)驗(yàn)室機(jī)房局域網(wǎng)環(huán)境下文件共享的解決方案,結(jié)合文件同步復(fù)制技術(shù),給出了一種能在實(shí)驗(yàn)室機(jī)房環(huán)境快速部署、免費(fèi)、方便、易用的P2P大文件數(shù)據(jù)分發(fā)方案,實(shí)驗(yàn)測(cè)試表明該方案可實(shí)現(xiàn)局域網(wǎng)大文件的高效、快速推送。
實(shí)驗(yàn)室機(jī)房; 大文件傳輸; 局域網(wǎng); 文件同步復(fù)制; 對(duì)等網(wǎng)絡(luò)
在教學(xué)實(shí)踐中,教師經(jīng)常需要通過(guò)計(jì)算機(jī)機(jī)房分發(fā)課件資源給學(xué)生。受網(wǎng)速影響,少量小文件可以通過(guò)網(wǎng)盤分享形式進(jìn)行快速發(fā)布,但很多時(shí)候需要發(fā)布大型課件資源,如計(jì)算機(jī)專業(yè)的操作系統(tǒng)安裝鏡像文件、虛擬機(jī)鏡像文件,視頻資源等。如何在機(jī)房局域網(wǎng)內(nèi)高效進(jìn)行大文件分發(fā)是一個(gè)亟待解決的問(wèn)題[1-2]。目前,已有的解決方案還很難完全滿足局域網(wǎng)內(nèi)大文件快速分發(fā)的需求。為此,筆者研究提出一種能在實(shí)驗(yàn)室機(jī)房環(huán)境下快速部署且易用的P2P大文件數(shù)據(jù)分發(fā)方案。
根據(jù)文件分發(fā)時(shí)源文件的位置的不同,現(xiàn)有文件共享技術(shù)主要分為集中服務(wù)器模式和對(duì)等網(wǎng)絡(luò)P2P模式。
1.1 集中服務(wù)器模式
集中服務(wù)器模式曾是最主要的數(shù)據(jù)共享模式,數(shù)據(jù)資源集中存儲(chǔ)在單一服務(wù)器上,用戶通過(guò)連接服務(wù)器獲取所需的數(shù)據(jù)。當(dāng)并發(fā)用戶過(guò)多時(shí),尤其是大文件分發(fā)時(shí),服務(wù)器網(wǎng)絡(luò)、磁盤負(fù)載急劇上升,易成為整個(gè)系統(tǒng)的瓶頸。這種文件共享模式主要有以下4種:
(1) 操作系統(tǒng)自帶的文件共享方式,其最大優(yōu)勢(shì)是無(wú)需安裝額外軟件,但組策略設(shè)置等比較復(fù)雜,用戶使用不方便[3];
(2) FTP/Web服務(wù)器模式,用戶通過(guò)FTP客戶端或?yàn)g覽器進(jìn)行數(shù)據(jù)下載,如網(wǎng)絡(luò)云盤、QQ群文件等,因無(wú)法利用局域網(wǎng)進(jìn)行高速傳輸,故不適合大文件分享;
(3) 帶局域網(wǎng)傳輸功能的其他應(yīng)用軟件,如騰訊QQ在局域網(wǎng)內(nèi)進(jìn)行文件傳輸時(shí)能進(jìn)行內(nèi)網(wǎng)直連傳輸且速度很快,但僅適于一對(duì)一的文件分發(fā);
(4) 專用的局域網(wǎng)傳輸軟件,如采用IPMSG協(xié)議的飛鴿傳書、Dukto等,這類軟件體積小、簡(jiǎn)單易用、支持文件群發(fā),是局域網(wǎng)數(shù)據(jù)分發(fā)的一個(gè)可選方案。
1.2 對(duì)等網(wǎng)絡(luò)P2P模式
為克服集中式服務(wù)器模式單點(diǎn)瓶頸問(wèn)題、提升傳輸效率,一種無(wú)中心集中服務(wù)器的對(duì)等網(wǎng)絡(luò)模式(peer-to-peer,P2P)應(yīng)運(yùn)而生。在P2P網(wǎng)絡(luò)中,所有節(jié)點(diǎn)既是客戶機(jī)又是服務(wù)器,節(jié)點(diǎn)間通過(guò)協(xié)作互利的原則共享彼此的資源[4]。隨著系統(tǒng)中節(jié)點(diǎn)數(shù)的增加,系統(tǒng)服務(wù)能力不斷增強(qiáng),可有效消除單點(diǎn)瓶頸,獲取更高的傳輸性能。
典型的P2P應(yīng)用是BitTorrent文件共享系統(tǒng)[5-6]。該系統(tǒng)包括種子節(jié)點(diǎn)(提供下載資源)、Web服務(wù)器(種子文件搜索)、Tracker服務(wù)器(資源索引和進(jìn)度反饋)和下載節(jié)點(diǎn)[7-8],其網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜、技術(shù)門檻過(guò)高,不適合機(jī)房大文件分發(fā)。
2013年出現(xiàn)的BitTorrentSync[9-10]有效降低了P2P文件共享的技術(shù)門檻,用戶無(wú)需構(gòu)建專用服務(wù)器和借助第三方存儲(chǔ)空間,所有同步文件加密后直接點(diǎn)對(duì)點(diǎn)傳輸。在局域網(wǎng)內(nèi),它采用P2P網(wǎng)絡(luò)的無(wú)服務(wù)器技術(shù),可充分利用局域網(wǎng)帶寬;在Internet中,它采用云端服務(wù)器中繼技術(shù)進(jìn)行數(shù)據(jù)同步。這是一款比較理想的文件共享分發(fā)產(chǎn)品(現(xiàn)軟件更名為ResilioSync,簡(jiǎn)稱rSync)。2014年國(guó)內(nèi)推出的“自同步”軟件簡(jiǎn)單易用,也可以在局域網(wǎng)中進(jìn)行大文件的數(shù)據(jù)分發(fā)。
1.3 典型應(yīng)用方案性能對(duì)比
選取網(wǎng)上鄰居、FTP服務(wù)器、云盤、QQ、飛鴿傳輸、飛秋、Dukto、自同步、rSync作為典型應(yīng)用,從是否滿足機(jī)房局域網(wǎng)大文件快速分發(fā)實(shí)際應(yīng)用場(chǎng)景的角度進(jìn)行綜合對(duì)比得到表1。表1說(shuō)明:采用P2P技術(shù)的“自同步”和rSync不存在單點(diǎn)瓶頸,均可采用局域網(wǎng)進(jìn)行高速傳輸且性能優(yōu)異,其中rSync還支持Internet傳輸,可以實(shí)現(xiàn)跨機(jī)房數(shù)據(jù)分發(fā),也方便學(xué)生自帶設(shè)備的數(shù)據(jù)同步。“自同步”讀寫權(quán)限設(shè)置不如rSync方便,如不慎將同步目錄設(shè)置為可寫的非空目錄時(shí),會(huì)引起局域網(wǎng)數(shù)據(jù)洪泛。另外,實(shí)際測(cè)試發(fā)現(xiàn):節(jié)點(diǎn)數(shù)較多時(shí)其同步實(shí)時(shí)性較差,主動(dòng)推送能力不足。從指標(biāo)上看,rSync綜合評(píng)判最為突出,唯一不足是不能支持克隆安裝,在機(jī)房部署時(shí)會(huì)有一些問(wèn)題,需要重點(diǎn)研究rSync同步技術(shù)。
表1 不同應(yīng)用方案性能對(duì)比
2.1 rSync功能特性
rSync是一款專為一對(duì)多文件分發(fā)設(shè)計(jì)的私有跨平臺(tái)P2P文件同步工具,可以通過(guò)局域網(wǎng)內(nèi)網(wǎng)進(jìn)行加密的文件高速同步,也可以通過(guò)Internet與遠(yuǎn)程設(shè)備節(jié)點(diǎn)進(jìn)行文件同步。rSync與其他文件同步軟件相比,具有如下特性:
(1) 跨平臺(tái):目前已支持Windows, Mac OS, Linux, BSD, Android和iOS,非常適合在電腦、手機(jī)間進(jìn)行文件同步,還支持主流NAS平臺(tái),方便用戶構(gòu)建自己的私有云;
(2) 局域網(wǎng)同步支持:用戶既可以通過(guò)Internet進(jìn)行遠(yuǎn)程文件同步,也可利用局域網(wǎng)進(jìn)行高速文件同步,傳輸速度遠(yuǎn)超普通網(wǎng)盤;
(3) 細(xì)粒度同步:rSync會(huì)將文件分割成4 MB大小的小塊數(shù)據(jù),每次僅同步發(fā)生變動(dòng)的部分,這種增量同步可以優(yōu)化大文件同步性能,提升用戶體驗(yàn);
(4) 自動(dòng)同步:一旦配置完畢,同步文件夾的任何文件變化都會(huì)自動(dòng)在多個(gè)節(jié)點(diǎn)上進(jìn)行同步更新,可以實(shí)現(xiàn)大文件分發(fā)的主動(dòng)推送;
(5) 去中心化技術(shù):所有文件傳輸和同步都采用P2P方式,參與同步的節(jié)點(diǎn)數(shù)越多,傳輸性能越好,尤其適合大文件的一對(duì)多高速分發(fā);
(6) 加密數(shù)據(jù)傳輸:所有節(jié)點(diǎn)計(jì)算機(jī)之間的數(shù)據(jù)傳輸均通過(guò)RSA進(jìn)行加密,充分保證用戶私有數(shù)據(jù)安全,讀寫權(quán)限通過(guò)不同的密鑰進(jìn)行管理,簡(jiǎn)單方便;
(7) 使用部署簡(jiǎn)單:軟件體積小,安裝簡(jiǎn)單,可通過(guò)鏈接、密鑰或二維碼方式共享任意文件夾,接收方也可以把共享文件存放在任意位置;
(8) 免費(fèi)版本足夠使用:rSync對(duì)同步速度以及存儲(chǔ)容量均無(wú)任何限制,與PRO收費(fèi)版本相比僅僅少一項(xiàng)“選擇性同步”功能,可以滿足絕大部分應(yīng)用。
2.2 rSync功能框架
rSync系統(tǒng)整體框架如圖1所示[9],各節(jié)點(diǎn)間可以通過(guò)3種模式互相發(fā)現(xiàn):
(1) 局域網(wǎng)發(fā)現(xiàn):當(dāng)客戶端設(shè)置“局域網(wǎng)搜索”策略時(shí),客戶端每隔10 s通過(guò)局域網(wǎng)廣播地址239.192.0.0:3838發(fā)送節(jié)點(diǎn)發(fā)現(xiàn)數(shù)據(jù)包(包括主機(jī)IP及共享文件ID信息),局域網(wǎng)內(nèi)其他與該文件共享ID相關(guān)的節(jié)點(diǎn)將會(huì)發(fā)送UDP報(bào)文進(jìn)行回應(yīng),種子節(jié)點(diǎn)和下載節(jié)點(diǎn)間將通過(guò)局域網(wǎng)進(jìn)行高速直連傳輸,如圖1中所示的路徑A。
(2) Tracker服務(wù)器發(fā)現(xiàn):當(dāng)用戶設(shè)置“使用Tracker服務(wù)器”時(shí),客戶端通過(guò)Internet訪問(wèn)部署在Amazon云的Tracker服務(wù)器獲取節(jié)點(diǎn)列表,如圖1中所示的路徑B。
(3) 分布式哈希表(DHT):客戶端會(huì)將本機(jī)SHA-1密鑰、IP:PORT信息與相鄰節(jié)點(diǎn)進(jìn)行交換,在不需要Tracker服務(wù)器的情況下,每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)小范圍的路由,并負(fù)責(zé)存儲(chǔ)一小部分?jǐn)?shù)據(jù),從而實(shí)現(xiàn)整個(gè)DHT網(wǎng)絡(luò)的尋址和存儲(chǔ)。但相比Tracker服務(wù)器模式,節(jié)點(diǎn)發(fā)現(xiàn)較慢且不完整。
圖1 rSync系統(tǒng)框架
rSync數(shù)據(jù)傳輸?shù)穆窂街饕?種,當(dāng)同步節(jié)點(diǎn)間可以建立直接連接時(shí),傳輸雙方建立直接連接進(jìn)行數(shù)據(jù)傳輸,當(dāng)同步節(jié)點(diǎn)之間由于防火墻阻隔無(wú)法直連時(shí),可以通過(guò)r.usyncapp.com中繼服務(wù)器進(jìn)行數(shù)據(jù)中繼傳輸,見圖1中的路徑C。
2.3 rSync部署方式
實(shí)驗(yàn)測(cè)試表明,“自同步”與rSync均不支持克隆安裝,官方幫助文件也對(duì)此進(jìn)行了特別說(shuō)明。
為解決這個(gè)問(wèn)題,筆者僅在教師機(jī)上安裝客戶端,并開啟推送目錄寫權(quán)限,方便教師推送文件。將推送文件夾的只讀密鑰編寫到安裝說(shuō)明文件中,與客戶端安裝包一起克隆到所有學(xué)生機(jī)桌面。如果學(xué)生需要接收教師機(jī)推送的文件,只需根據(jù)安裝說(shuō)明當(dāng)場(chǎng)安裝,有效解決了rSync無(wú)法克隆安裝部署的問(wèn)題。教師進(jìn)行文件推送時(shí)只需簡(jiǎn)單地將推送資料拷貝到推送目錄然后通知學(xué)生安裝客戶端即可完成資料推送。
3.1 測(cè)試環(huán)境
為驗(yàn)證rSync實(shí)際傳輸性能,在計(jì)算機(jī)機(jī)房進(jìn)行了大文件分發(fā)性能測(cè)試。測(cè)試機(jī)房安裝有114臺(tái)計(jì)算機(jī),其中90余臺(tái)參加了測(cè)試。機(jī)房網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。所有計(jì)算機(jī)均直接連接到5臺(tái)24口的H3C 1224R千兆交換機(jī)上,每臺(tái)交換機(jī)均預(yù)留一個(gè)端口與匯聚層交換機(jī)相連,其余23個(gè)端口連接計(jì)算機(jī)。教師機(jī)和學(xué)生機(jī)配置均為:Intel i5-4570,3.2 GHz,8 GB內(nèi)存,1TBWD10EZEX SCSI硬盤,RealtekPCIe千兆網(wǎng)卡,Windows 7 64位操作系統(tǒng),所有計(jì)算機(jī)通過(guò)Internet時(shí)間服務(wù)器進(jìn)行時(shí)間同步,保證各計(jì)算機(jī)時(shí)間基本一致。
圖2 測(cè)試機(jī)房網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
3.2 測(cè)試步驟
模擬實(shí)際應(yīng)用場(chǎng)景在教師機(jī)上部署rSync,設(shè)置可寫的推送目錄,所有學(xué)生機(jī)均采用只讀密鑰部署客戶端。推送大文件選用CentOS-7-x86_64-DVD-1503-01.ISO文件,4 310 695 936 Byte,根據(jù)客戶端數(shù)目分別將推送測(cè)試文件制作為名為001.iso,010.iso,…,090.iso的副本,并將副本存放在與教師機(jī)推送目錄相同的磁盤分區(qū)。根據(jù)分發(fā)學(xué)生機(jī)的數(shù)目,逐一將對(duì)應(yīng)的副本文件通過(guò)Windows文件剪切的方式移動(dòng)到推送目錄,并記錄推送開始時(shí)間。待所有學(xué)生機(jī)同步完成后再增加學(xué)生機(jī)節(jié)點(diǎn)數(shù),并開始進(jìn)行新一輪測(cè)試。為測(cè)試最佳性能,最先開啟的學(xué)生機(jī)均和教師機(jī)連接在同一個(gè)交換機(jī)上。各學(xué)生機(jī)客戶端不同文件的傳輸完成時(shí)間可以通過(guò)關(guān)閉rSync后生成的history.dat日志文件記錄中的Unix時(shí)間戳分析得到(見表2)。
表2 采用rSync的不同學(xué)生機(jī)節(jié)點(diǎn)數(shù)下大文件分發(fā)時(shí)間
3.3 結(jié)果分析
根據(jù)學(xué)生機(jī)節(jié)點(diǎn)數(shù)目的不同,對(duì)匯總所有節(jié)點(diǎn)的history.dat日志文件進(jìn)行數(shù)據(jù)分析,得到了不同學(xué)生機(jī)節(jié)點(diǎn)數(shù)下進(jìn)行大文件分發(fā)的時(shí)間統(tǒng)計(jì),如表2所示。當(dāng)學(xué)生機(jī)節(jié)點(diǎn)數(shù)達(dá)到20臺(tái)時(shí),系統(tǒng)性能達(dá)到最佳,平均數(shù)據(jù)傳輸率高達(dá)57.5 MByte/s,最短下載時(shí)間約40 s接近局域網(wǎng)性能極限。增加節(jié)點(diǎn)數(shù),學(xué)生機(jī)將分別連接多臺(tái)交換機(jī),部分?jǐn)?shù)據(jù)傳輸將經(jīng)過(guò)匯聚層交換機(jī)中轉(zhuǎn),性能會(huì)適當(dāng)受限,平均數(shù)傳率逐漸下降。當(dāng)學(xué)生機(jī)節(jié)點(diǎn)數(shù)超過(guò)70臺(tái)后,傳輸率穩(wěn)定在30 MByte/s左右,反映了對(duì)等網(wǎng)絡(luò)進(jìn)行文件分發(fā)時(shí)較好的穩(wěn)定性和可擴(kuò)展性。測(cè)試的4 GB大文件分發(fā)平均時(shí)長(zhǎng)不足2.5 min,表現(xiàn)出優(yōu)異性能。
采用rSync快速分發(fā)部署大文件的技術(shù)支持局域網(wǎng)高速同步和Internet遠(yuǎn)程同步,P2P傳輸技術(shù)有效避免了中心服務(wù)器的性能瓶頸。在華中科技大學(xué)計(jì)算機(jī)學(xué)院4個(gè)公共大機(jī)房部署rSync后,教師推送文件變得異常簡(jiǎn)單,只需將待分發(fā)的課件資源復(fù)制到桌面指定推送文件夾后,通知學(xué)生安裝客戶端即可下載,近百臺(tái)計(jì)算機(jī)能在平均不到3 min的時(shí)間內(nèi)完成4 GB大文件的快速分發(fā),有效解決了機(jī)房大文件快速分發(fā)的實(shí)際應(yīng)用需求,深受師生的歡迎。
References)
[1] 馬素剛.P2P技術(shù)在大文件共享中的應(yīng)用研究[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(3):147-150,153.
[2] 林建入.哪種局域網(wǎng)傳輸軟件比較好?[EB/OL].[2017-04-25].https://www.zhihu.com/question/19950774.
[3] 曹煦暉.一種基于P2P的局域網(wǎng)文件共享工具[J].軟件導(dǎo)刊,2009(11):162-164.
[4] 詹曉亮.P2P局域網(wǎng)文件共享系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:西華大學(xué),2010.
[5] 張?chǎng)?BitTorrent文件共享技術(shù)的研究與改進(jìn)[D].長(zhǎng)春:吉林大學(xué),2011.
[6] 唐紅,胡容,朱輝云.BitTorrent網(wǎng)絡(luò)行為研究綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(9):132-137.
[7] 李林艷.P2P技術(shù)在網(wǎng)絡(luò)資源共享中的應(yīng)用研究[D].長(zhǎng)沙:湖南大學(xué),2013.
[8] 沈衍冰.P2P文件共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2016.
[9] Farina J, Scanlon M, Kechadi M T. BitTorrent Sync: First Impressions and Digital Forensic Implications[J].Digital Investigation, 2014,11(3):S77-S86.
[10] Scanlon M, Farina J, Kechadi M T. Network investigation methodology for BitTorrent Sync: A Peer-to-Peer based file synchronisation service[J].Computers & Security, 2015,54:27-43.
Research on application of large file rapid distribution technology in laboratory computer room
Tan Zhihu, Hu Diqing, Guan Jun
(School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China)
The solution scheme for the file sharing under the LAN (local area network) environment in the laboratory computer room is analyzed. Combined with the file synchronization replication technology, a large P2P file data distribution scheme which can be deployed rapidly, free, conveniently and easily in the laboratory computer room environment, is presented. The experimental results show that this scheme can achieve the efficient and fast push for large LAN files.
laboratory computer room; large file transfer; LAN; file synchronization replication; peer-to-peer network
TP393.02
A
1002-4956(2017)10-0129-04
10.16791/j.cnki.sjg.2017.10.032
2017-05-03
湖北省教學(xué)研究項(xiàng)目(2015067)
譚志虎(1974—),男,湖北漢川,博士,副教授,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)
E-mail:stan@hust.edu.cn
胡迪青(1968—),男,安徽黟縣,博士,副教授,主要研究方向?yàn)榍度胧较到y(tǒng).
E-mail:hudq024@hust.edu.cn