谭志虎, 胡迪青, 管 军
(华中科技大学 计算机科学与技术学院, 湖北 武汉 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