CN103546546A - 一种大规模集群分发文件的方法 - Google Patents

一种大规模集群分发文件的方法 Download PDF

Info

Publication number
CN103546546A
CN103546546A CN201310462061.5A CN201310462061A CN103546546A CN 103546546 A CN103546546 A CN 103546546A CN 201310462061 A CN201310462061 A CN 201310462061A CN 103546546 A CN103546546 A CN 103546546A
Authority
CN
China
Prior art keywords
value
jump
unit interval
node
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310462061.5A
Other languages
English (en)
Inventor
柯宗贵
柯宗庆
杨育斌
赵必厦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bluedon Information Security Technologies Co Ltd
Original Assignee
Bluedon Information Security Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bluedon Information Security Technologies Co Ltd filed Critical Bluedon Information Security Technologies Co Ltd
Priority to CN201310462061.5A priority Critical patent/CN103546546A/zh
Publication of CN103546546A publication Critical patent/CN103546546A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种大规模集群分发文件的方法,该方法的网络传输协议是Linux的SCP传输命令,按照特定的传输节点序列,SSH到节点上面运行SCP命令来进行文件的分发工作。采用了主控节点、已接收文件的工作节点同时对未接收文件的工作节点发送文件的方法,从而实现了大规模集群之间文件的可靠的点对点传输,实现真正的并行无锁快速分发文件。

Description

一种大规模集群分发文件的方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种大规模集群分发文件的方法。
背景技术
随着云计算、移动互联网、物联网的崛起与发展,大数据的时代已经来临。集群之间需要频繁的传输文件,性能显得格外重要。目前最简单的一种传文件方式就是SCP命令。但是,该命令是单点对多点传输,不能突破网络的瓶颈,多点之间还是以单点最大的网络传输速度进行传输。因此,存在性能低下的问题。寻找一种有效的大规模集群之间快速分发文件的解决方案,显得额外重要。
目前不同的Linux之间拷贝文件常用的有3种方法:
1、使用ftp:其中一台Linux***安装FTP Server,另一台使用FTP的Client程序来进行文件的拷贝。
2、使用samba服务:samba类似Windows文件copy的方式来操作,比较简洁方便。
3、使用SCP命令:利用scp命令来进行文件复制。
SCP是有Security的文件copy,基于ssh登录,操作起来比较方便。可以拷贝本地文件/文件夹到远程机器,也可以从远程机器拷贝文件/文件夹到本地。
例如,要把当前一个文件拷贝到远程另外一台主机上,可以如下命令。
scp/home/daisy/full.tar.gz root172.16.1.100:/home/root
然后会提示你输入另外那台172.16.1.100主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前***,也很简单。
scp root/full.tar.gz172.16.1.100:/home/root/full.tar.gz home/daisy/full.tar.gz
上述方法的缺陷是:在大集群里面使用SCP命令是一对多的批量传输,并不能解决传输的速度问题。例如,1台机器向100台机器传输100mb的文件,基于局域网传输,假设传输上限为10mb/s,使用SCP命令同时向100台机器传输文件。虽然SCP是并发传输的,但是传输的速度不能大于网络瓶颈,因此,该传输与单独传输的时间基本是一致的,或者更长久,因为线程之间需要竞争网络传输速度资源。那么向100台机器传输完毕,需要时间大约为100*(100/10)=1000s,即1000秒。
此外,并行处理中的文件传输,是一种从多源到多目的的传输,当前的研究重点都是如何提高传输的并行度,缩短传输时间。有些工作使用多文件副本实现源端并行,或者采用分片传输,增加文件副本数,提高源端并行度。但现有的研究并没有考虑到目的端并行,然而集群内部能够快速传输文件,多个目的节点可同时接收文件的不同分片,可实现目的端并行。对于传输路径,有些工作采用多跳路径分割的方法获得较好的路径;还有些工作采用多重路径和分片传输的方法实现单个源目的端的并行传输。另外,虽然是以批量传输请求的整体完成时间最小作为调度目的,但在实际的调度中,采用的是最小作业优先的调度方法,而并没有协调多个请求之间的带宽冲突,使得算法在***带宽利用率方面存在一定不足,从而影响整个完成时间。
针对上述问题,支持多集群数据并行的On-demand文件传输算法提出了一个支持多集群数据并行的按需文件传输算法(0FT)。首先,OFT利用集群内部快速共享的特点,实现目的端的并行接收与组装。将目的节点为同一集群的传输请求合并成一个请求,将该请求分配给集群中的多个节点来分散传输负载。使用多跳路径分割优化传输路径时,对于单个源目的端,选出一条最优路径,最优路径的跳数加上一个可调范围值(如2)作为所有路径跳数的上限,在实现源目的端连通的基础上获得路径分割带来的性能改善。对多个请求间的路径冲突进行处理时,根据每个请求的传输负载按比例为其分配带宽,使得多个请求的传输时间尽可能相同,从而缩短批量请求的整体传输时间。但是本方法可能会存在资源竞争与死锁的问题。
为了克服现有技术的缺陷,本发明提出了一种大规模集群分发文件的方法,该方法基于SCP命令,根据节点数目计算传输节点序列,在单位时间内,SSH到节点上面,并行地点对点传输文件,在个单位时间内完成N个节点的传输。
发明内容
本发明为了解决现有技术中主控节点对工作节点发送文件,使用一对多发送,时间比较慢的缺点或不足,采用了主控节点、已接收文件的工作节点同时对未接收文件的工作节点发送文件的方法,从而实现了大规模集群快速分发文件的目的。
一种大规模集群分发文件的方法,其网络传输协议是Linux的SCP传输命令,按照特定的传输节点序列,SSH到节点上面运行SCP命令来进行文件的分发工作,具体为:
S1:设集群节点数目为N;
S2:根据N值,计算出单位时间n;
S3:设单位时间i等于1;
S4:判断i与n的大小:当i不大于n时,跳到S5,否则,跳转到S8;
S5:根据i与N值,计算出传输节点序列;
S6:按照传输节点序列的顺序,分别SSH到源节点,向目标节点SCP文件;
S7:i增加1个单位时间,跳转到S4;
S8:文件分发结束。
本发明技术方案带来的有益效果:
1、集群之间快速分发文件
假设节点数目为N,则只需要花费
Figure BDA0000390627500000031
个单位时间,就可以把文件全部分发完毕。例如,节点数目为1000,则把文件全部分发完毕,只需要
Figure BDA0000390627500000032
个单位时间。
而传统的SCP算法,则需要1000-1=999个单位时间。假如使用多线程来并发对多个节点进行传输,由于是多线程并发传输,因此存在资源竞争与死锁问题,传输的单位时间,应该不小于999个单位时间。
2、集群之间文件的可靠的点对点传输
由于本方法基于SCP协议,因此是可靠的点对点传输。
基于本发明所研发的***模块,可以解决集群之间快速分发文件的性能问题,给企业带来一定的经济效益。
3、真正的并行无锁快速传送文件
因为本方法是单节点对单节点的SCP传输,因此,不存在资源竞争与死锁问题。另外,在单位时间内,由源节点到目标节点局部上看是串行的,从集群角度上来看,是并行的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的方法流程图;
图2是本发明中在单位时间1到n内,集群节点之间传输文件的源节点与目标节点之间的关系示意图;
图3是本发明中计算单位时间n的算法的流程图;
图4是本发明中计算单位时间i的传输节点序列的算法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明方法的网络传输协议是Linux的SCP传输命令,按照特定的传输节点序列,SSH到节点上面运行SCP命令来进行文件的分发工作。
在本发明中假设集群节点之间已经实现SSH无密码访问。
集群节点数目:集群***的节点的个数,以下简称节点数目。一般集群节点数目N值大于或者等于3。
源节点:发送文件的节点。
目标节点:接收文件的节点。
传输节点序列:从源节点发送文件到目标节点的节点顺序。
单位时间i的传输节点序列:在单位时间i时的从源节点发送文件到目标节点的节点顺序。
本发明方法的流程图如图1所示,具体为:
(1)设集群节点数目为N;
(2)根据N值,计算出单位时间n;
(3)设单位时间i等于1;
(4)判断i与n的大小:当i不大于n时,跳到(5),否则,跳转到(8);
(5)根据i与N值,计算出传输节点序列;
(6)按照传输节点序列的顺序,分别SSH到源节点,向目标节点SCP文件;
(7)i增加1个单位时间,跳转到(4);
(8)文件分发结束。
假设编号为1的“node1”有需要发送的文件,如图2所示,显示了在单位时间1到n内,集群节点之间传输文件的源节点与目标节点之间的关系。
假设节点数目为N,则只需要花费
Figure BDA0000390627500000052
个单位时间,就可以把文件全部分发完毕。
假设有5个节点,根据计算公式可以知道
Figure BDA0000390627500000053
,需要3个单位时间来完成传输,其传输节点序列为(源节点→目标节点):
第1个单位时间:1→2
第2个单位时间:1→3;2→4
第3个单位时间:1→5
例如,表1中是i在100以内的2的i次方的结果表。目前***的集群数目大约为15000个。因此,计算单位时间n值的时候,循环比较的最大值取20,则集群数目已经是100万以上了,基本可以满足现状的集群大小。
表1i在100以内的2的i次方的结果表
Figure BDA0000390627500000051
Figure BDA0000390627500000061
本发明方法的计算单位时间n的算法的流程图如图3所示,具体为:
(1)接受输入节点数目N;
(2)设n的值等于1;
(3)设max的值等于21;
(4)判断n与max的大小:当n小于max时,跳到(5),否则,跳转到(8);
(5)poweri的值等于2的i次方;
(6)判断poweri与N的大小:当poweri小于N时,跳到(7),否则,跳转到(8);
(7)n增加1个单位时间,跳转到(4);
(8)算法结束。
本发明方法的计算单位时间i的传输节点序列的算法的流程图如图4所示,具体为:
(1)接受输入单位时间i与节点数目N;
(2)根据i值计算单位时间的最大值max和中间值mid,计算公式为:max=2i,mid=max/2;
(3)设计数k的值等于1;
(4)判断k与mid的大小:当k小于mid时,跳到(5),否则,跳转到(9);
(5)source的值等于k值加上1,target的值等于mid的值加上source的值;
(6)判断target与N的大小:当target不大于N时,跳到(7),否则,跳转到(9);
(7)把(target,source)对加入传输节点序列;
(8)k增加1个单位时间,跳转到(4);
(9)算法结束。
通过本发明可以实现集群之间文件的可靠的点对点传输,真正的并行无锁快速分发文件,给企业带来一定的经济效益。另外,在单位时间内,由源节点到目标节点局部上看是串行的,从集群角度上来看,是并行的,不存在资源竞争与死锁问题。
以上对本发明实施例所提供的一种大规模集群分发文件的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (3)

1.一种大规模集群分发文件的方法,其特征在于,该方法的网络传输协议是Linux的SCP传输命令,按照特定的传输节点序列,SSH到节点上面运行SCP命令来进行文件的分发工作,具体为:
S1:设集群节点数目为N;
S2:根据N值,计算出单位时间n;
S3:设单位时间i等于1;
S4:判断i与n的大小:当i不大于n时,跳到S5,否则,跳转到S8;
S5:根据i与N值,计算出传输节点序列;
S6:按照传输节点序列的顺序,分别SSH到源节点,向目标节点SCP文件;
S7:i增加1个单位时间,跳转到S4;
S8:文件分发结束。
2.根据权利要求1所述的方法,其特征在于,步骤S2中计算单位时间n的方法流程为:
S21:接受输入节点数目N;
S22:设n的值等于1;
S23:设max的值等于21;
S24:判断n与max的大小:当n小于max时,跳到S25,否则,跳转到S28;
S25:poweri的值等于2的i次方;
S26:判断poweri与N的大小:当poweri小于N时,跳到S27,否则,跳转到S28;
S27:n增加1个单位时间,跳转到S24;
S28:算法结束。
3.根据权利要求1所述的方法,其特征在于,步骤S5中计算单位时间i的传输节点序列的方法流程为:
S51:接受输入单位时间i与节点数目N;
S52:根据i值计算单位时间的最大值max和中间值mid,计算公式为:max=2i,mid=max/2;
S53:设计数k的值等于1;
S54:判断k与mid的大小:当k小于mid时,跳到S55,否则,跳转到S59;
S55:source的值等于k值加上1,target的值等于mid的值加上source的值;
S56:判断target与N的大小:当target不大于N时,跳到S57,否则,跳转到S59;
S57:把(target,source)对加入传输节点序列;
S58:k增加1个单位时间,跳转到S54;
S59:算法结束。
CN201310462061.5A 2013-09-30 2013-09-30 一种大规模集群分发文件的方法 Pending CN103546546A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310462061.5A CN103546546A (zh) 2013-09-30 2013-09-30 一种大规模集群分发文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310462061.5A CN103546546A (zh) 2013-09-30 2013-09-30 一种大规模集群分发文件的方法

Publications (1)

Publication Number Publication Date
CN103546546A true CN103546546A (zh) 2014-01-29

Family

ID=49969585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310462061.5A Pending CN103546546A (zh) 2013-09-30 2013-09-30 一种大规模集群分发文件的方法

Country Status (1)

Country Link
CN (1) CN103546546A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986760A (zh) * 2014-05-14 2014-08-13 上海上讯信息技术股份有限公司 基于多参数判优的增长型数据源式高效链路传输方法
WO2017024805A1 (zh) * 2015-08-12 2017-02-16 腾讯科技(深圳)有限公司 一种文件分发方法、装置和***
CN108769222A (zh) * 2018-06-05 2018-11-06 朱士祥 一种文件批量上传的高性能处理方法
CN110912969A (zh) * 2019-11-04 2020-03-24 西安雷风电子科技有限公司 一种文件高速传输源节点、目的节点装置及***
CN112306962A (zh) * 2019-07-26 2021-02-02 杭州海康威视数字技术股份有限公司 计算机集群***中的文件拷贝方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242337B (zh) * 2007-02-08 2010-11-10 张永敏 一种计算机网络的内容发布方法及***
CN102638569A (zh) * 2012-01-13 2012-08-15 深圳市同洲视讯传媒有限公司 一种文件分发同步方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242337B (zh) * 2007-02-08 2010-11-10 张永敏 一种计算机网络的内容发布方法及***
CN102638569A (zh) * 2012-01-13 2012-08-15 深圳市同洲视讯传媒有限公司 一种文件分发同步方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱晓明: ""R-net文件分发***(RFDS)设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, 15 March 2011 (2011-03-15), pages 138 - 1567 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986760A (zh) * 2014-05-14 2014-08-13 上海上讯信息技术股份有限公司 基于多参数判优的增长型数据源式高效链路传输方法
CN103986760B (zh) * 2014-05-14 2018-05-22 上海上讯信息技术股份有限公司 基于多参数判优的增长型数据源式高效链路传输方法
WO2017024805A1 (zh) * 2015-08-12 2017-02-16 腾讯科技(深圳)有限公司 一种文件分发方法、装置和***
CN106453460A (zh) * 2015-08-12 2017-02-22 腾讯科技(深圳)有限公司 一种文件分发方法、装置和***
CN108769222A (zh) * 2018-06-05 2018-11-06 朱士祥 一种文件批量上传的高性能处理方法
CN112306962A (zh) * 2019-07-26 2021-02-02 杭州海康威视数字技术股份有限公司 计算机集群***中的文件拷贝方法、装置及存储介质
CN112306962B (zh) * 2019-07-26 2024-02-23 杭州海康威视数字技术股份有限公司 计算机集群***中的文件拷贝方法、装置及存储介质
CN110912969A (zh) * 2019-11-04 2020-03-24 西安雷风电子科技有限公司 一种文件高速传输源节点、目的节点装置及***
CN110912969B (zh) * 2019-11-04 2023-04-07 西安雷风电子科技有限公司 一种文件高速传输源节点、目的节点装置及***

Similar Documents

Publication Publication Date Title
CN103546546A (zh) 一种大规模集群分发文件的方法
CN104301391B (zh) 多域光网络数据中心资源虚拟化映射方法
Xia et al. Blast: Accelerating high-performance data analytics applications by optical multicast
CN103235835A (zh) 用于数据库集群的查询实现方法和装置
US11616662B2 (en) Fractal tree structure-based data transmit device and method, control device, and intelligent chip
Achary et al. Dynamic job scheduling using ant colony optimization for mobile cloud computing
US9166930B2 (en) Waved time multiplexing
CN102902594A (zh) 资源管理***和资源管理方法
US9480015B2 (en) Balancing quality of service and power saving in a direct communication link environment
KR20220063759A (ko) 다중 비트 양자 피드백 제어를 위한 양자 측정 및 제어 시스템
CN105068435A (zh) 一种分布式无线智能家居***
KR20180043669A (ko) 에너지 효율성을 고려한 무선 센서 네트워크의 데이터 전송 시스템 및 방법
US9336169B2 (en) Facilitating resource use in multicycle arbitration for single cycle data transfer
US10310762B1 (en) Lease-based leader designation for multiple processes accessing storage resources of a storage system
CN114301980A (zh) 容器集群的调度方法、装置、***及计算机可读介质
US9342473B2 (en) Parallel computer system, crossbar switch, and method of controlling parallel computer system according to selective transmission of data via ports of the crossbar switch
Chen et al. Hypds: enabling a hybrid file transfer protocol and peer to peer content distribution system for remote sensing data
US9860191B2 (en) Method for constructing optimal time-controlled paths in a large computer network
CN109450809B (zh) 一种数据中心调度***及方法
CN109246487B (zh) 一种智能调度***
Ao et al. Joint workload distribution and capacity augmentation in hybrid datacenter networks
Chen et al. Delay-optimal distributed edge computation offloading with correlated computation and communication workloads
CN102891895B (zh) 一种虚拟镜像服务器的带宽优化方法
CN105577769A (zh) 一种多路高端计算机***中的资源分配***
KR102263461B1 (ko) 확장 가능한 p2p 오버레이 구조에 기반한 블록 데이터 멀티 캐스팅 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140129