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