譚志虎, 胡迪青, 管 軍
(華中科技大學 計算機科學與技術學院, 湖北 武漢 430074)
實驗室機房大文件快速分發技術應用研究
譚志虎, 胡迪青, 管 軍
(華中科技大學 計算機科學與技術學院, 湖北 武漢 430074)
分析了實驗室機房局域網環境下文件共享的解決方案,結合文件同步復制技術,給出了一種能在實驗室機房環境快速部署、免費、方便、易用的P2P大文件數據分發方案,實驗測試表明該方案可實現局域網大文件的高效、快速推送。
實驗室機房; 大文件傳輸; 局域網; 文件同步復制; 對等網絡
在教學實踐中,教師經常需要通過計算機機房分發課件資源給學生。受網速影響,少量小文件可以通過網盤分享形式進行快速發布,但很多時候需要發布大型課件資源,如計算機專業的操作系統安裝鏡像文件、虛擬機鏡像文件,視頻資源等。如何在機房局域網內高效進行大文件分發是一個亟待解決的問題[1-2]。目前,已有的解決方案還很難完全滿足局域網內大文件快速分發的需求。為此,筆者研究提出一種能在實驗室機房環境下快速部署且易用的P2P大文件數據分發方案。
根據文件分發時源文件的位置的不同,現有文件共享技術主要分為集中服務器模式和對等網絡P2P模式。
1.1 集中服務器模式
集中服務器模式曾是最主要的數據共享模式,數據資源集中存儲在單一服務器上,用戶通過連接服務器獲取所需的數據。當并發用戶過多時,尤其是大文件分發時,服務器網絡、磁盤負載急劇上升,易成為整個系統的瓶頸。這種文件共享模式主要有以下4種:
(1) 操作系統自帶的文件共享方式,其最大優勢是無需安裝額外軟件,但組策略設置等比較復雜,用戶使用不方便[3];
(2) FTP/Web服務器模式,用戶通過FTP客戶端或瀏覽器進行數據下載,如網絡云盤、QQ群文件等,因無法利用局域網進行高速傳輸,故不適合大文件分享;
(3) 帶局域網傳輸功能的其他應用軟件,如騰訊QQ在局域網內進行文件傳輸時能進行內網直連傳輸且速度很快,但僅適于一對一的文件分發;
(4) 專用的局域網傳輸軟件,如采用IPMSG協議的飛鴿傳書、Dukto等,這類軟件體積小、簡單易用、支持文件群發,是局域網數據分發的一個可選方案。
1.2 對等網絡P2P模式
為克服集中式服務器模式單點瓶頸問題、提升傳輸效率,一種無中心集中服務器的對等網絡模式(peer-to-peer,P2P)應運而生。在P2P網絡中,所有節點既是客戶機又是服務器,節點間通過協作互利的原則共享彼此的資源[4]。隨著系統中節點數的增加,系統服務能力不斷增強,可有效消除單點瓶頸,獲取更高的傳輸性能。
典型的P2P應用是BitTorrent文件共享系統[5-6]。該系統包括種子節點(提供下載資源)、Web服務器(種子文件搜索)、Tracker服務器(資源索引和進度反饋)和下載節點[7-8],其網絡結構比較復雜、技術門檻過高,不適合機房大文件分發。
2013年出現的BitTorrentSync[9-10]有效降低了P2P文件共享的技術門檻,用戶無需構建專用服務器和借助第三方存儲空間,所有同步文件加密后直接點對點傳輸。在局域網內,它采用P2P網絡的無服務器技術,可充分利用局域網帶寬;在Internet中,它采用云端服務器中繼技術進行數據同步。這是一款比較理想的文件共享分發產品(現軟件更名為ResilioSync,簡稱rSync)。2014年國內推出的“自同步”軟件簡單易用,也可以在局域網中進行大文件的數據分發。
1.3 典型應用方案性能對比
選取網上鄰居、FTP服務器、云盤、QQ、飛鴿傳輸、飛秋、Dukto、自同步、rSync作為典型應用,從是否滿足機房局域網大文件快速分發實際應用場景的角度進行綜合對比得到表1。表1說明:采用P2P技術的“自同步”和rSync不存在單點瓶頸,均可采用局域網進行高速傳輸且性能優異,其中rSync還支持Internet傳輸,可以實現跨機房數據分發,也方便學生自帶設備的數據同步。“自同步”讀寫權限設置不如rSync方便,如不慎將同步目錄設置為可寫的非空目錄時,會引起局域網數據洪泛。另外,實際測試發現:節點數較多時其同步實時性較差,主動推送能力不足。從指標上看,rSync綜合評判最為突出,唯一不足是不能支持克隆安裝,在機房部署時會有一些問題,需要重點研究rSync同步技術。

表1 不同應用方案性能對比
2.1 rSync功能特性
rSync是一款專為一對多文件分發設計的私有跨平臺P2P文件同步工具,可以通過局域網內網進行加密的文件高速同步,也可以通過Internet與遠程設備節點進行文件同步。rSync與其他文件同步軟件相比,具有如下特性:
(1) 跨平臺:目前已支持Windows, Mac OS, Linux, BSD, Android和iOS,非常適合在電腦、手機間進行文件同步,還支持主流NAS平臺,方便用戶構建自己的私有云;
(2) 局域網同步支持:用戶既可以通過Internet進行遠程文件同步,也可利用局域網進行高速文件同步,傳輸速度遠超普通網盤;
(3) 細粒度同步:rSync會將文件分割成4 MB大小的小塊數據,每次僅同步發生變動的部分,這種增量同步可以優化大文件同步性能,提升用戶體驗;
(4) 自動同步:一旦配置完畢,同步文件夾的任何文件變化都會自動在多個節點上進行同步更新,可以實現大文件分發的主動推送;
(5) 去中心化技術:所有文件傳輸和同步都采用P2P方式,參與同步的節點數越多,傳輸性能越好,尤其適合大文件的一對多高速分發;
(6) 加密數據傳輸:所有節點計算機之間的數據傳輸均通過RSA進行加密,充分保證用戶私有數據安全,讀寫權限通過不同的密鑰進行管理,簡單方便;
(7) 使用部署簡單:軟件體積小,安裝簡單,可通過鏈接、密鑰或二維碼方式共享任意文件夾,接收方也可以把共享文件存放在任意位置;
(8) 免費版本足夠使用:rSync對同步速度以及存儲容量均無任何限制,與PRO收費版本相比僅僅少一項“選擇性同步”功能,可以滿足絕大部分應用。
2.2 rSync功能框架
rSync系統整體框架如圖1所示[9],各節點間可以通過3種模式互相發現:
(1) 局域網發現:當客戶端設置“局域網搜索”策略時,客戶端每隔10 s通過局域網廣播地址239.192.0.0:3838發送節點發現數據包(包括主機IP及共享文件ID信息),局域網內其他與該文件共享ID相關的節點將會發送UDP報文進行回應,種子節點和下載節點間將通過局域網進行高速直連傳輸,如圖1中所示的路徑A。
(2) Tracker服務器發現:當用戶設置“使用Tracker服務器”時,客戶端通過Internet訪問部署在Amazon云的Tracker服務器獲取節點列表,如圖1中所示的路徑B。
(3) 分布式哈希表(DHT):客戶端會將本機SHA-1密鑰、IP:PORT信息與相鄰節點進行交換,在不需要Tracker服務器的情況下,每個節點負責一個小范圍的路由,并負責存儲一小部分數據,從而實現整個DHT網絡的尋址和存儲。但相比Tracker服務器模式,節點發現較慢且不完整。

圖1 rSync系統框架
rSync數據傳輸的路徑主要有2種,當同步節點間可以建立直接連接時,傳輸雙方建立直接連接進行數據傳輸,當同步節點之間由于防火墻阻隔無法直連時,可以通過r.usyncapp.com中繼服務器進行數據中繼傳輸,見圖1中的路徑C。
2.3 rSync部署方式
實驗測試表明,“自同步”與rSync均不支持克隆安裝,官方幫助文件也對此進行了特別說明。
為解決這個問題,筆者僅在教師機上安裝客戶端,并開啟推送目錄寫權限,方便教師推送文件。將推送文件夾的只讀密鑰編寫到安裝說明文件中,與客戶端安裝包一起克隆到所有學生機桌面。如果學生需要接收教師機推送的文件,只需根據安裝說明當場安裝,有效解決了rSync無法克隆安裝部署的問題。教師進行文件推送時只需簡單地將推送資料拷貝到推送目錄然后通知學生安裝客戶端即可完成資料推送。
3.1 測試環境
為驗證rSync實際傳輸性能,在計算機機房進行了大文件分發性能測試。測試機房安裝有114臺計算機,其中90余臺參加了測試。機房網絡拓撲結構如圖2所示。所有計算機均直接連接到5臺24口的H3C 1224R千兆交換機上,每臺交換機均預留一個端口與匯聚層交換機相連,其余23個端口連接計算機。教師機和學生機配置均為:Intel i5-4570,3.2 GHz,8 GB內存,1TBWD10EZEX SCSI硬盤,RealtekPCIe千兆網卡,Windows 7 64位操作系統,所有計算機通過Internet時間服務器進行時間同步,保證各計算機時間基本一致。

圖2 測試機房網絡拓撲結構
3.2 測試步驟
模擬實際應用場景在教師機上部署rSync,設置可寫的推送目錄,所有學生機均采用只讀密鑰部署客戶端。推送大文件選用CentOS-7-x86_64-DVD-1503-01.ISO文件,4 310 695 936 Byte,根據客戶端數目分別將推送測試文件制作為名為001.iso,010.iso,…,090.iso的副本,并將副本存放在與教師機推送目錄相同的磁盤分區。根據分發學生機的數目,逐一將對應的副本文件通過Windows文件剪切的方式移動到推送目錄,并記錄推送開始時間。待所有學生機同步完成后再增加學生機節點數,并開始進行新一輪測試。為測試最佳性能,最先開啟的學生機均和教師機連接在同一個交換機上。各學生機客戶端不同文件的傳輸完成時間可以通過關閉rSync后生成的history.dat日志文件記錄中的Unix時間戳分析得到(見表2)。

表2 采用rSync的不同學生機節點數下大文件分發時間
3.3 結果分析
根據學生機節點數目的不同,對匯總所有節點的history.dat日志文件進行數據分析,得到了不同學生機節點數下進行大文件分發的時間統計,如表2所示。當學生機節點數達到20臺時,系統性能達到最佳,平均數據傳輸率高達57.5 MByte/s,最短下載時間約40 s接近局域網性能極限。增加節點數,學生機將分別連接多臺交換機,部分數據傳輸將經過匯聚層交換機中轉,性能會適當受限,平均數傳率逐漸下降。當學生機節點數超過70臺后,傳輸率穩定在30 MByte/s左右,反映了對等網絡進行文件分發時較好的穩定性和可擴展性。測試的4 GB大文件分發平均時長不足2.5 min,表現出優異性能。
采用rSync快速分發部署大文件的技術支持局域網高速同步和Internet遠程同步,P2P傳輸技術有效避免了中心服務器的性能瓶頸。在華中科技大學計算機學院4個公共大機房部署rSync后,教師推送文件變得異常簡單,只需將待分發的課件資源復制到桌面指定推送文件夾后,通知學生安裝客戶端即可下載,近百臺計算機能在平均不到3 min的時間內完成4 GB大文件的快速分發,有效解決了機房大文件快速分發的實際應用需求,深受師生的歡迎。
References)
[1] 馬素剛.P2P技術在大文件共享中的應用研究[J].實驗技術與管理,2016,33(3):147-150,153.
[2] 林建入.哪種局域網傳輸軟件比較好?[EB/OL].[2017-04-25].https://www.zhihu.com/question/19950774.
[3] 曹煦暉.一種基于P2P的局域網文件共享工具[J].軟件導刊,2009(11):162-164.
[4] 詹曉亮.P2P局域網文件共享系統的研究與實現[D].成都:西華大學,2010.
[5] 張鑫.BitTorrent文件共享技術的研究與改進[D].長春:吉林大學,2011.
[6] 唐紅,胡容,朱輝云.BitTorrent網絡行為研究綜述[J].小型微型計算機系統,2012,33(9):132-137.
[7] 李林艷.P2P技術在網絡資源共享中的應用研究[D].長沙:湖南大學,2013.
[8] 沈衍冰.P2P文件共享系統的設計與實現[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—),男,湖北漢川,博士,副教授,研究方向為計算機網絡存儲
E-mail:stan@hust.edu.cn
胡迪青(1968—),男,安徽黟縣,博士,副教授,主要研究方向為嵌入式系統.
E-mail:hudq024@hust.edu.cn