文件传输方法、装置及分布式集群文件系统.pdf

上传人:奻奴 文档编号:470902 上传时间:2018-02-18 格式:PDF 页数:23 大小:1.94MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310695160.8

申请日:

2013.12.17

公开号:

CN104092719A

公开日:

2014.10.08

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20131217|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

深圳市腾讯计算机系统有限公司

发明人:

张磊

地址:

518000 广东省深圳市南山区高新区高新南一路飞亚达大厦5-10楼

优先权:

专利代理机构:

北京三高永信知识产权代理有限责任公司 11138

代理人:

关文魁

PDF下载: PDF下载
内容摘要

本发明公开了一种文件传输方法、装置及分布式集群文件系统,属于信息技术领域。所述方法包括:获取分布式协调节点集群中的待传输文件信息;根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取;生成文件传输路径,该文件传输路径包括至少一个目的节点集群;向该至少一个从推送节点发送该文件传输路径。本发明通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,从而避免了单点瓶颈现象的发生。

权利要求书

1.  一种分布式集群文件系统,其特征在于,包括:
分布式协调节点集群,所述分布式协调节点集群包括多个协调节点,所述多个协调节点之间共享信息,所述分布式协调节点集群用于创建待传输文件信息;
文件存储节点集群,所述文件存储节点集群包括多个存储节点,所述文件存储节点集群用于存储待传输文件;
推送节点集群,所述推送节点集群包括主推送节点和至少一个从推送节点,所述主推送节点用于根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从所述文件存储节点集群中拉取;
所述主推送节点还用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
所述主推送节点还用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;
所述至少一个目的节点集群,每个目的节点集群包括多个目的节点。

2.
  根据权利要求1所述的系统,其特征在于,
所述主推送节点用于获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,
所述主推送节点用于获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
所述主推送节点用于根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,
所述主推送节点用于根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。

3.
  根据权利要求1所述的系统,其特征在于,所述从推送节点的心跳信息还携带所述从推送节点的节点状态信息,
所述主推送节点用于根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点;
所述主推送节点向所述处于空闲状态的从推送节点发送所述文件传输路径。

4.
  根据权利要求1所述的系统,其特征在于,所述主推送节点由多个推送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统分配。

5.
  根据权利要求1所述的系统,其特征在于,所述从推送节点用于检测分布式协调节点集群所创建的所述待传输文件信息,当根据所述待传输信息确定所述从推送节点中不包括所述待传输文件时,从所述文件存储节点集群中拉取所述待传输文件。

6.
  根据权利要求1所述的系统,其特征在于,所述系统还包括数据库,
所述主推送节点还用于接收所述文件传输路径中多个目的节点发送的文件传输的进度信息,并将所述文件传输的进度信息写入数据库中。

7.
  根据权利要求1所述的系统,其特征在于,所述目的节点用于当接收到待传输文件的数据包时,向所述文件传输路径中的下一个目的节点发送接收到的数据包;或,
所述目的节点用于当接收到待传输文件的数据包时,向与所述目的节点属于同一个目的节点集群的其他目的节点中的任一个发送接收到的数据包。

8.
  一种文件传输方法,其特征在于,所述方法包括:
主推送节点获取分布式协调节点集群中的待传输文件信息;
主推送节点根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;
所述主推送节点生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
所述主推送节点向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;
其中,每个目的节点集群包括多个目的节点。

9.
  根据权利要求8所述的方法,其特征在于,所述主推送节点生成文件传输路径包括:
所述主推送节点获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,
所述主推送节点获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
所述主推送节点根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,
所述主推送节点根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。

10.
  根据权利要求8所述的方法,其特征在于,所述从推送节点的心跳信息还携带所述从推送节点的节点状态信息,所述主推送节点向所述至少一个从推送节点发送所述文件传输路径包括:
主推送节点根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点;
所述主推送节点向所述处于空闲状态的从推送节点发送所述文件传输路径。

11.
  根据权利要求8所述的方法,其特征在于,所述主推送节点由多个推送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统 分配。

12.
  根据权利要求8所述的方法,其特征在于,所述待传输文件由所述从推送节点在确定自身未保存有所述待传输文件时,从所述文件存储节点集群中拉取得到。

13.
  根据权利要求8所述的方法,其特征在于,所述主推送节点向所述至少一个从推送节点发送所述文件传输路径之后,所述方法还包括:
所述主推送节点接收所述文件传输路径中多个目的节点发送的文件传输的进度信息;所述主推送节点将所述文件传输的进度信息写入数据库中。

14.
  一种文件传输方法,其特征在于,所述方法包括:
目的节点接收待传输文件的数据包和文件传输路径;
所述目的节点将所述待传输文件的数据包保存在内存中;
所述目的节点根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。

15.
  一种文件传输装置,其特征在于,所述装置包括:
文件信息获取模块,用于获取分布式协调节点集群中的待传输文件信息;
待传输文件确定模块,用于根据分布式协调节点集群所创建的待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;
路径生成模块,用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
路径发送模块,用于向所述至少一个从推送节点发送所述文件传输路径, 使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。

16.
  根据权利要求15所述的装置,其特征在于,所述路径生成模块用于获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为在预设周期内未接收到心跳信息的目的节点集群;和/或,
所述路径生成模块用于获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
所述路径生成模块用于根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,
所述路径生成模块用于根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。

17.
  根据权利要求15所述的装置,其特征在于,所述路径发送模块用于当所述从推送节点的心跳信息还携带所述从推送节点的节点状态信息时,根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点,向所述处于空闲状态的从推送节点发送所述文件传输路径。

18.
  根据权利要求15所述的装置,其特征在于,所述主推送节点由多个推 送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统分配。

19.
  根据权利要求15所述的装置,其特征在于,所述待传输文件由所述从推送节点在确定自身未保存有所述待传输文件时,从所述文件存储节点集群中拉取得到。

20.
  根据权利要求15所述的装置,其特征在于,所述装置还包括:
写入模块,用于接收所述文件传输路径中多个目的节点发送的文件传输的进度信息,将所述文件传输的进度信息写入数据库中。

21.
  一种文件传输装置,其特征在于,所述装置包括:
接收模块,用于接收待传输文件的数据包和文件传输路径;
保存模块,用于将所述待传输文件的数据包保存在内存中;
发送模块,用于根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。

说明书

文件传输方法、装置及分布式集群文件系统
技术领域
本发明涉及信息技术领域,特别涉及一种文件传输方法、装置及分布式集群文件系统。
背景技术
随着数据规模越来越大,文件系统逐渐发展成为分布式集群文件系统。该分布式集群文件系统可以包括数据库、接口机、调度机和多个目的节点;其中,数据库用于记录和展示文件信息,接口机用于存放文件等,调度机用于调度和管理分布式集群文件系统内的任务,目的节点用于存储文件。
对于分布式集群文件系统来说,其重要职能之一在于如何快速的将文件传输至目的节点。
一般在利用分布式集群文件系统进行文件传输时,调度机检测数据库中是否保存有待传输文件信息,当检测到数据库中保存有该待传输文件信息时,调度机根据该待传输文件信息,调度接口机与多个目的节点之间的文件传输。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于现有的传输过程是由多个目的节点向接口机请求文件,由于接口机是一个或少数个设备,其负载能力有限,在向多个目的节点传输文件时,所承受的压力较大,容易达到设备磁盘IO的瓶颈,不仅对本机上其他运行的程序造成较大影响,而且使得整个分布式集群文件系统的传输受到影响,而用于维护待传输文件信息的数据库稳定性较差,当该数据库主机出现故障时,调度机无法对文件的传输进行调度,导致整个系统处于瘫痪状态。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种文件传输方法、装置及分布式集群文件系统。所述技术方案如下:
第一方面,提供了一种分布式集群文件系统,包括:
分布式协调节点集群,所述分布式协调节点集群包括多个协调节点,所述多个协调节点之间共享信息,所述分布式协调节点集群用于创建待传输文件信息;
文件存储节点集群,所述文件存储节点集群包括多个存储节点,所述文件存储节点集群用于存储待传输文件;
推送节点集群,所述推送节点集群包括主推送节点和至少一个从推送节点,所述主推送节点用于根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从所述文件存储节点集群中拉取;
所述主推送节点还用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
所述主推送节点还用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;
所述至少一个目的节点集群,每个目的节点集群包括多个目的节点。
第二方面,提供了一种文件传输方法,所述方法包括:
主推送节点获取分布式协调节点集群中的待传输文件信息;
主推送节点根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文 件存储节点集群中拉取;
所述主推送节点生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
所述主推送节点向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;
其中,每个目的节点集群包括多个目的节点。
第三方面,提供了一种文件传输方法,所述方法包括:
目的节点接收待传输文件的数据包和文件传输路径;
所述目的节点将所述待传输文件的数据包保存在内存中;
所述目的节点根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。
第四方面,提供了一种文件传输装置,所述装置包括:
文件信息获取模块,用于获取分布式协调节点集群中的待传输文件信息;
待传输文件确定模块,用于根据分布式协调节点集群所创建的待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;
路径生成模块,用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;
路径发送模块,用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。
第五方面,提供了一种文件传输装置,所述装置包括:
接收模块,用于接收待传输文件的数据包和文件传输路径;
保存模块,用于将所述待传输文件的数据包保存在内存中;
发送模块,用于根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。
本发明实施例提供的技术方案带来的有益效果是:
通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自进行多路传输,从而发送至多个目的节点集群,避免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种分布式集群文件系统的结构示意图;
图2是本发明实施例提供的一种文件传输方法流程图;
图3是本发明实施例提供的一种推送节点选举示意图;
图4是本发明实施例提供的一种文件传输示意图;
图5是本发明实施例提供的一种文件传输方法流程图;
图6是本发明实施例提供的一种文件传输方法流程图;
图7是本发明实施例提供的一种文件传输装置结构示意图;
图8是本发明实施例提供的一种文件传输装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种分布式集群文件系统的结构示意图。参见图1,包括:
分布式协调节点集群101,该分布式协调节点集群包括多个协调节点,该多个协调节点之间共享信息,该分布式协调节点集群用于创建待传输文件信息;
文件存储节点集群102,该文件存储节点集群包括多个存储节点,该文件存储节点集群用于存储待传输文件;
推送节点集群103,该推送节点集群包括主推送节点103a和至少一个从推送节点103b,该主推送节点用于根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从该文件存储节点集群中拉取;
该主推送节点103a还用于生成文件传输路径,该文件传输路径包括至少一个目的节点集群104;
该主推送节点103a还用于向该至少一个从推送节点发送该文件传输路径,使得该至少一个从推送节点根据该文件传输路径将该待传输文件发送至该至少一个目的节点集群;
该至少一个目的节点集群104,每个目的节点集群包括多个目的节点。
进一步地,该系统还包括数据库105,该数据库用于展示待传输文件的进度等状态信息。
可选地,该主推送节点103a用于获取已生成的文件传输路径,当该已生成 的文件传输路径中包括第一目的节点集群时,从该已生成的文件传输路径中删除该第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第一目的节点集群为该主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,
该主推送节点103a用于获取已生成的文件传输路径,当根据该已生成的文件传输路径中包括第二目的节点集群时,从该已生成的文件传输路径中删除该第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
该主推送节点103a用于根据目的节点的心跳信息,获取当前文件传输路径,该文件传输路径包括第三目的节点集群,该第三目的节点为处于空闲状态的目的节点集群;和/或,
该主推送节点103a用于根据对该待传输文件的数据请求,获取当前文件传输路径,该文件传输路径中的至少一个目的节点集群包括发送该数据请求的目的节点集群。
可选地,该从推送节点的心跳信息还携带该从推送节点的节点状态信息,
该主推送节点103a用于根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点;
该主推送节点103a向该处于空闲状态的从推送节点发送该文件传输路径。
可选地,该主推送节点103a由多个推送节点根据临时节点序列号选举得出,该临时节点序列号由分布式协调系统分配。
可选地,该从推送节点103b用于检测分布式协调节点集群所创建的该待传输文件信息,当根据该待传输信息确定该从推送节点中不包括该待传输文件时,从该文件存储节点集群中拉取该待传输文件。
可选地,该系统还包括数据库105,
该主推送节点103a还用于接收该文件传输路径中多个目的节点发送的文件传输的进度信息,并将该文件传输的进度信息写入数据库中。
可选地,该目的节点用于当接收到待传输文件的数据包时,向该文件传输路径中的下一个目的节点发送接收到的数据包;或,
该目的节点用于当接收到待传输文件的数据包时,向与该目的节点属于同一个目的节点集群的其他目的节点中的任一个发送接收到的数据包。
下面,结合图1所示的架构,详细描述本发明实施例提供的一种文件传输方法,参见图2,该方法流程包括:
201、推送客户端将待传输文件推送至文件存储节点集群。
该步骤201具体为:当推送客户端中获取到某个文件时,可以根据需要将该文件推送至文件存储节点集群中进行保存,则该推送客户端将该文件确定为待传输文件,并将该待传输文件推送至文件存储节点集群。对于文件存储节点集群如HDFS(Hadoop File System,Hadoop文件系统)来说,该文件可以在HDFS中进行存储。
202、推送客户端将待传输文件信息发送至分布式协调节点集群。
为了清楚的了解文件存储节点集群中存储有哪些文件,推送客户端在将文件发送至文件存储节点集群中时,可以将该文件信息发送给分布式协调节点集群。该步骤202具体可以为:推送客户端将该待传输文件在文件存储节点集群中的保存地址、该待传输文件的大小、该待传输文件标识和接收该待传输文件的时间等发送至分布式协调节点集群,该分布式协调节点集群接收到该信息时,创建该待传输文件信息。
203、推送节点集群中的从推送节点向主推送节点发送从推送节点的心跳信息。
其中,从推送节点的心跳信息可以包括:已保存的文件信息、节点状态信息等。该节点状态信息可以包括该从推送节点已成功的任务、正在执行的任务、失败的任务以及是否处于空闲状态等。
由于推送节点的数量可能会很多,而推送节点的一般是用来向目的节点推 送文件,因此,为了避免推送节点间的冲突,可以在推送节点集群中选举主推送节点,该主推送节点用于收集各个从推送节点的心跳信息,以获知该各个从推送节点所保存的文件信息、当前节点状态等。且该主推送节点还可以获取各个目的节点集群或目的节点的心跳信息,以获知各个目的节点集群的节点状态。进一步地,为了使得文件系统中的数据保持一致,主推送节点还可以对文件系统中的文件传输进行调度和管理。
推送节点集群选举主推送节点的过程可以包括:分布式协调系统为推送节点集群中的每个推送节点分配临时节点序列号,多个推送节点根据临时节点序列号进行选举,确定主推送节点。
其中,分布式协调节点集群可以为该多个推送节点分配唯一的一个临时节点序列号,当多个推送节点启动时,该多个推送节点中的每一个推送节点在分布式协调节点集群中进行注册,使得多个推送节点中的每一个推送节点作为一个临时节点,并由分布式协调节点集群分配一个临时节点序列号。对于多个推送节点中任一个推送节点,当该推送节点得到自身的临时节点序列号时,根据自身的临时节点序列号,通过与该多个推送节点的临时节点序列号进行对比,该推送节点确定该临时节点序列号是否最小,当该推送节点确定该推送节点自身的临时节点序列号在该多个推送节点的临时节点序列号中是最小时,将该推送节点确定为主推送节点。
可选地,当多个推送节点根据临时节点序列号进行选举,确定主推送节点时,除了主推送节点以外的其它推送节点都将作为从推送节点,该从推送节点中任一个从推送节点将实时监测比该从推送节点的临时节点序列号小的其它推送节点,当检测到比该从推送节点的临时节点序列号小的其它推送节点出现故障或不存在时,分布式协调节点集群向各个推送节点发送通知信息,使得各个推送节点接收到该通知信息时,根据临时节点序列号再次进行选举,重新确定主推送节点。其中,通知信息用于通知推送节点根据临时节点序列号进行选举。
图3是本发明实施例提供的一种推送节点选举示意图。参见图3,分布式协 调节点集群将多个推送节点中的每一个推送节点作为临时节点,并对该临时节点分配序列号,对于多个推送节点中的任一个,该推送节点根据临时节点序列号判断是否包含有比自身的临时节点序列号小的推送节点。当包含有比自身的临时节点序列号小的推送节点时,该推送节点将作为从推送节点,并实时检测比自身的临时节点序列号小的推送节点的服务状态,当被检测的推送节点的服务状态为故障时,该推送节点根据临时节点序列号继续判断是否包含有比自身的临时节点序列号小的推送节点;当不包含有比自身的临时节点序列号小的推送节点时,该推送节点将作为主推送节点。
204、主推送节点获取分布式协调节点集群中的待传输文件信息。
具体地,当主推送节点通过检测分布式协调节点集群中保存的文件信息,确定该分布式协调节点集群中是否包含待传输文件信息,当该分布式协调节点集群中包含待传输文件信息时,主推送节点获取该待传输文件信息。
其中,待传输文件信息包括:待传输文件在文件存储节点集群中的保存地址、待传输文件的大小、待传输文件标识、接收到该待传输文件的时间等。其中,待传输文件标识可以为该待传输文件名称,也可以为该待传输文件的HASH值,如MD5值等,还可以是用户对该待传输文件赋予的key值,本发明实施例对如何表示待传输文件标识不做限定。
当然,主推送节点获取分布式协调节点集群中的待传输文件信息也可以是在目的节点向该主推送节点请求该待传输文件时,主推送节点根据目的节点发送的请求中携带的待传输文件标识,获取分布式协调节点集群中保存的文件信息,当该分布式协调节点集群中保存的文件信息中包含该待传输文件标识的文件时,主推送节点获取分布式协调节点集群中的待传输文件信息。
205、该主推送节点根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取。
具体地,对于一个从推送节点,主推送节点根据该待传输文件信息,查找该从推送节点上传的心跳信息中是否包含该待传输文件信息,当主推送节点确定该从推送节点上传的心跳信息中包括该待传输文件信息时,该主推送节点确定该从推送节点中保存有待传输文件。
以待传输文件标识为MD5值为例,主推送节点根据获取到的待传输文件信息中的MD5值,与从推送节点发送的已保存的文件信息中包含的MD5值进行对比,判断从推送节点中已保存的文件信息中是否包含待传输文件的MD5值,当从推送节点发送的已保存的文件信息中包含该待传输文件信息中的MD5值,主推送节点确定从推送节点中保存有待传输文件。
需要说明的是,从推送节点也会对分布式协调节点集群进行检测,以获知是否有新的待传输文件信息,当从推送节点根据自身的文件信息和分布式协调节点集群上的文件信息,确定此时分布式协调节点集群上具有新的待传输文件信息时,根据待传输文件信息,从文件存储节点集群中获取该待传输文件。
206、该主推送节点生成文件传输路径。
具体地,主推送节点可以通过以下任一方式获取文件传输路径:
(1)所述主推送节点获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息的目的节点集群。
为了提高文件传输的速度,主推送节点可以直接通过已生成的文件传输路径对该待传输文件进行传输。具体地,主推送节点获取已生成的文件传输路径,并根据该文件传输路径中各个目的节点集群在预设周期内发送的心跳信息情况,确定在预设周期内是否接收到该文件传输路径上所有目的节点集群的心跳信息,如果是,则将该文件传输路径获取为当前文件传输路径,如果在预设周期内未接收到文件传输路径上某一目的节点集群的心跳信息,主推送节点将该 目的节点集群从该已生成的文件路径中删除,并将删除了该目的节点集群的文件传输路径作为当前文件传输路径。
(2)所述主推送节点获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群。
由于在已生成的文件传输路径中,可能会包含正在执行任务的目的节点集群,为了避免重复传输或传输不成功等情况,主推送节点可以将正在执行任务的目的节点集群从已生成的文件传输路径中删除。
(3)所述主推送节点根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群。
具体地,主推送节点根据接收到的目的节点集群的心跳信息中的节点状态信息,确定处于空闲状态的目的节点集群,主推送节点根据处于空闲状态的目的节点集群,生成文件传输路径。
(4)所述主推送节点根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。
具体地,当目的节点集群中的任一个目的节点向主推送节点请求该待传输文件时,主推送节点可以根据向主推送节点请求该待传输文件的目的节点,生成包含该目的节点集群在内的文件传输路径。
需要说明的是,上述文件传输路径生成方法可以叠加进行,如对于一条文件传输路径来说,如果包含上述四种情况中的至少两种,可以根据实际情况,删除或添加某个目的节点或目的节点集群,以便灵活的进行传输。
在本发明实施例中,以至少一个从推送节点中均包括待传输文件为例进行说明,而在实际场景中,该至少一个从推送节点中可能仅有一个或多个从推送 节点中已保存有该待传输文件,则对于这种情况,仅为已保存有该待传输文件的从推送节点生成文件传输路径,由于各个从推送节点的物理地址不同,对于不同的从推送节点,其文件传输路径的起点不同,且为了避免传输冲突,提高传输效率,不同从推送节点所对应的文件传输路径不同,也即是,不同从推送节点用于向不同的目的节点集群发送待传输文件。
207、主推送节点根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点。
具体地,从推送节点每隔预设周期向该主推送节点发送节点状态信息,当主推送节点接收到该节点状态信息时,根据该节点状态信息,确定推送节点是否处于处于空闲状态。
如果从推送节点正在执行文件传输等任务,如果仍使用该从推送节点作为推送设备,可能会影响文件传输的速度,使得待传输文件需要在从推送节点处进行排队等待,才能够执行传输过程,因此,为了节约时间,提高传输效率,可以通过节点状态信息以确定当前处于空闲状态的从推送节点。
208、该主推送节点向该处于空闲状态的从推送节点发送该文件传输路径。
在本发明实施例中,文件传输路径与从推送节点一一对应。
209、当该从推送节点接收到该文件传输路径时,根据该文件传输路径将待传输文件的数据包依次发送给目的节点。
在传输过程中,从推送节点将得到的待传输文件拆分为多个数据包,该从推送节点根据文件传输路径,将待传输文件的数据包依次发送给文件传输路径中的第一个目的节点。
210、对于文件传输路径中的任一个目的节点,当目的节点接收到待传输文件的数据包时,将该数据包保存在内存中,将该数据包发送至文件传输路径中的该目的节点的下一个目的节点中。
具体地,当从推送节点将待传输文件的数据包发送至文件传输路径中的第一个目的节点时,该目的节点将该数据包保存在内存中,并将该数据包发送至 该文件传输路径中的第二个目的节点,第二个目的节点在接收到数据包时,保存并将该数据包发送至第三个目的节点,直到目的节点在接收到数据包且确定自身是文件传输路径上的最后一个节点时结束。通过上述过程,使得当从推送服务器在发送数据包时,该文件传输路径中的每一个目的节点几乎在同一时刻都在传递这个数据包,使得从推送服务器以及各个目的节点的负载都很低,占用系统资源很小,不会对及其上运行的程序造成影响,而且能在相隔很短的时间内同时完成数据传递,其相隔时刻通常为毫秒级。
为了使该待传输文件的传输过程更加清楚明了,图4是本发明实施例提供的一种文件传输示意图。参见图4,主推送节点将文件传输路径发送给保存有待传输文件、且处于空闲状态的任一个从推送节点,该从推送节点根据文件传输路径将待传输文件的数据包发送至目的节点集群中的目的节点A中,当目的节点A接收到该数据包时,将该数据包保存在内存中,并将该数据包发送给该文件传输路径中目的节点A的下一个目的节点B,经过同样的过程后,目的节点B将该数据包发送给目的节点C,依此该待传输文件将保存在文件传输路径中的每一个目的节点中。
需要说明的是,按照上述部署方案部署的分布式文件传输系统,推送节点集群与目的节点集群部署在同一机房,每10个目的节点作为一个目的节点集群,每个推送节点下发任务的单位为一个目的节点集群,也即是每个推送节点的文件传输路径上仅包括一个目的节点集群,那么以传输200MB的数据文件为例,从推送客户端下发任务到文件完全下发到目的节点集群,仅需20s。
211、文件传输路径中的目的节点向主推送节点发送文件传输的进度信息。
为了确定本次文件传输过程是否成功以及哪些目的节点成功接收到了待传输文件,目的节点需要将接收待传输文件的进度反馈给主推送节点。具体地,当预设周期到达时,目的节点将自身接收待传输文件的数据包的进度信息发送给主推送节点,以使得该主推送节点确定待传输文件的进度。
212、当主推送节点接收到该文件传输的进度信息时,将该文件传输的进度 信息写入数据库中。
213、当数据库获取到该文件传输的进度信息时,将该文件传输的进度信息进行显示。
需要说明的是,该主推送节点还可以将从推送节点的心跳信息和目的节点的心跳信息写入数据库中,当数据库获取到该从推送节点的心跳信息和目的节点的心跳信息时,显示该从推送节点的心跳信息和目的节点的心跳信息,以向用户显示从推送节点中保存的文件信息、节点的服务状态和目的节点接收到的文件信息、接收失败的文件信息、正在执行的任务信息等。
本发明实施例提供的方法,通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自进行多路传输,从而发送至多个目的节点集群,避免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。且在目的节点间进行链式传输,使得从推送服务器以及各个目的节点的负载都很低,占用系统资源很小,不会对及其上运行的程序造成影响,而且能在相隔很短的时间内同时完成数据传递。
图5是本发明实施例提供的一种文件传输方法流程图,该方法流程包括:
501、主推送节点获取分布式协调节点集群中的待传输文件信息。
502、主推送节点根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取。
503、该主推送节点生成文件传输路径,该文件传输路径包括至少一个目的 节点集群。
504、该主推送节点向该至少一个从推送节点发送该文件传输路径,使得该至少一个从推送节点根据该文件传输路径将该待传输文件发送至该至少一个目的节点集群;
其中,每个目的节点集群包括多个目的节点。
本发明实施例提供的方法,通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自进行多路传输,从而发送至多个目的节点集群,避免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。
可选地,该主推送节点生成文件传输路径包括:
该主推送节点获取已生成的文件传输路径,当该已生成的文件传输路径中包括第一目的节点集群时,从该已生成的文件传输路径中删除该第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第一目的节点集群为该主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,
该主推送节点获取已生成的文件传输路径,当根据该已生成的文件传输路径中包括第二目的节点集群时,从该已生成的文件传输路径中删除该第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
该主推送节点根据目的节点的心跳信息,获取当前文件传输路径,该文件传输路径包括第三目的节点集群,该第三目的节点为处于空闲状态的目的节点集群;和/或,
该主推送节点根据对该待传输文件的数据请求,获取当前文件传输路径, 该文件传输路径中的至少一个目的节点集群包括发送该数据请求的目的节点集群。
可选地,该从推送节点的心跳信息还携带该从推送节点的节点状态信息,该主推送节点向该至少一个从推送节点发送该文件传输路径包括:
主推送节点根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点;
该主推送节点向该处于空闲状态的从推送节点发送该文件传输路径。
可选地,该主推送节点由多个推送节点根据临时节点序列号选举得出,该临时节点序列号由分布式协调系统分配。
可选地,该待传输文件由该从推送节点在确定自身未保存有该待传输文件时,从该文件存储节点集群中拉取得到。
可选地,该主推送节点向该至少一个从推送节点发送该文件传输路径之后,该方法还包括:
该主推送节点接收该文件传输路径中多个目的节点发送的文件传输的进度信息;该主推送节点将该文件传输的进度信息写入数据库中。
图6是本发明实施例提供的一种文件传输方法流程图,该方法流程包括:
601、目的节点接收待传输文件的数据包和文件传输路径。
602、该目的节点将该待传输文件的数据包保存在内存中。
603、该目的节点根据该文件传输路径,将该待传输文件的数据包发送至下一个目的节点。
本发明实施例提供的方法,通过目的节点接收并保存待传输文件的数据包,并根据文件传输路径,将该待传输文件的数据包发送至其它目的节点,使得当从推送服务器在发送数据包时,该文件传输路径中的每一个目的节点几乎在同一时刻都在传递这个数据包,从而使得从推送服务器以及各个目的节点的负载都很低,占用系统资源很小,不会对及其上运行的程序造成影响,大大提高了 数据传递的速度。
图7是本发明实施例提供的一种文件传输装置结构示意图。参见图7,该装置包括:文件信息获取模块701、待传输文件确定模块702、路径生成模块703和路径发送模块704。其中,文件信息获取模块701,用于获取分布式协调节点集群中的待传输文件信息;文件信息获取模块701与待传输文件确定模块702相连接,待传输文件确定模块702,用于根据分布式协调节点集群所创建的待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取;待传输文件确定模块702与路径生成模块703相连接,路径生成模块703,用于生成文件传输路径,该文件传输路径包括至少一个目的节点集群;路径生成模块703与路径发送模块704相连接,路径发送模块704,用于向该至少一个从推送节点发送该文件传输路径,使得该至少一个从推送节点根据该文件传输路径将该待传输文件发送至该至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。
可选地,该路径生成模块703用于获取已生成的文件传输路径,当该已生成的文件传输路径中包括第一目的节点集群时,从该已生成的文件传输路径中删除该第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第一目的节点集群为在预设周期内未接收到心跳信息的目的节点集群;和/或,
该路径生成模块703用于获取已生成的文件传输路径,当根据该已生成的文件传输路径中包括第二目的节点集群时,从该已生成的文件传输路径中删除该第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,
该路径生成模块703用于根据目的节点的心跳信息,获取当前文件传输路径,该文件传输路径包括第三目的节点集群,该第三目的节点为处于空闲状态 的目的节点集群;和/或,
该路径生成模块703用于根据对该待传输文件的数据请求,获取当前文件传输路径,该文件传输路径中的至少一个目的节点集群包括发送该数据请求的目的节点集群。
可选地,该路径发送模块704用于当该从推送节点的心跳信息还携带该从推送节点的节点状态信息时,根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点,向该处于空闲状态的从推送节点发送该文件传输路径。
可选地,该主推送节点由多个推送节点根据临时节点序列号选举得出,该临时节点序列号由分布式协调系统分配。
可选地,该待传输文件由该从推送节点在确定自身未保存有该待传输文件时,从该文件存储节点集群中拉取得到。
可选地,该装置还包括:
写入模块,用于接收该文件传输路径中多个目的节点发送的文件传输的进度信息,将该文件传输的进度信息写入数据库中。
综上所述,本发明实施例提供的装置,通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自进行多路传输,从而发送至多个目的节点集群,避免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。
图8是本发明实施例提供的一种文件传输装置结构示意图。参见图8,该装置包括:接收模块801、保存模块802和发送模块803。其中,接收模块801,用于接收待传输文件的数据包和文件传输路径;接收模块801与保存模块802 相连接,保存模块802,用于将该待传输文件的数据包保存在内存中;保存模块802与发送模块803相连接,发送模块803,用于根据该文件传输路径,将该待传输文件的数据包发送至下一个目的节点。
综上所述,本发明实施例提供的装置,通过接收并保存待传输文件的数据包,并根据文件传输路径,将该待传输文件的数据包发送至其它目的节点,使得当从推送服务器在发送数据包时,该文件传输路径中的每一个目的节点几乎在同一时刻都在传递这个数据包,从而使得从推送服务器以及各个目的节点的负载都很低,占用系统资源很小,不会对及其上运行的程序造成影响,大大提高了数据传递的速度。
需要说明的是:上述实施例提供的文件传输装置在文件传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件传输装置和文件传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

文件传输方法、装置及分布式集群文件系统.pdf_第1页
第1页 / 共23页
文件传输方法、装置及分布式集群文件系统.pdf_第2页
第2页 / 共23页
文件传输方法、装置及分布式集群文件系统.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《文件传输方法、装置及分布式集群文件系统.pdf》由会员分享,可在线阅读,更多相关《文件传输方法、装置及分布式集群文件系统.pdf(23页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104092719A43申请公布日20141008CN104092719A21申请号201310695160822申请日20131217H04L29/0820060171申请人深圳市腾讯计算机系统有限公司地址518000广东省深圳市南山区高新区高新南一路飞亚达大厦510楼72发明人张磊74专利代理机构北京三高永信知识产权代理有限责任公司11138代理人关文魁54发明名称文件传输方法、装置及分布式集群文件系统57摘要本发明公开了一种文件传输方法、装置及分布式集群文件系统,属于信息技术领域。所述方法包括获取分布式协调节点集群中的待传输文件信息;根据该待传输文件信息和至少一个从推送。

2、节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取;生成文件传输路径,该文件传输路径包括至少一个目的节点集群;向该至少一个从推送节点发送该文件传输路径。本发明通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,从而避免了单点瓶颈现象的发生。51INTCL权利要求书4页说明书12页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书12页附图6页10申请公布号CN104092719ACN1。

3、04092719A1/4页21一种分布式集群文件系统,其特征在于,包括分布式协调节点集群,所述分布式协调节点集群包括多个协调节点,所述多个协调节点之间共享信息,所述分布式协调节点集群用于创建待传输文件信息;文件存储节点集群,所述文件存储节点集群包括多个存储节点,所述文件存储节点集群用于存储待传输文件;推送节点集群,所述推送节点集群包括主推送节点和至少一个从推送节点,所述主推送节点用于根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从所述文件存储节点集群中拉取。

4、;所述主推送节点还用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;所述主推送节点还用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;所述至少一个目的节点集群,每个目的节点集群包括多个目的节点。2根据权利要求1所述的系统,其特征在于,所述主推送节点用于获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息。

5、的目的节点集群;和/或,所述主推送节点用于获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,所述主推送节点用于根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,所述主推送节点用于根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。3根据权。

6、利要求1所述的系统,其特征在于,所述从推送节点的心跳信息还携带所述从推送节点的节点状态信息,所述主推送节点用于根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点;所述主推送节点向所述处于空闲状态的从推送节点发送所述文件传输路径。4根据权利要求1所述的系统,其特征在于,所述主推送节点由多个推送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统分配。5根据权利要求1所述的系统,其特征在于,所述从推送节点用于检测分布式协调节点集群所创建的所述待传输文件信息,当根据所述待传输信息确定所述从推送节点中不包括所述待传输文件时,从所述文件存储。

7、节点集群中拉取所述待传输文件。权利要求书CN104092719A2/4页36根据权利要求1所述的系统,其特征在于,所述系统还包括数据库,所述主推送节点还用于接收所述文件传输路径中多个目的节点发送的文件传输的进度信息,并将所述文件传输的进度信息写入数据库中。7根据权利要求1所述的系统,其特征在于,所述目的节点用于当接收到待传输文件的数据包时,向所述文件传输路径中的下一个目的节点发送接收到的数据包;或,所述目的节点用于当接收到待传输文件的数据包时,向与所述目的节点属于同一个目的节点集群的其他目的节点中的任一个发送接收到的数据包。8一种文件传输方法,其特征在于,所述方法包括主推送节点获取分布式协调节。

8、点集群中的待传输文件信息;主推送节点根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;所述主推送节点生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;所述主推送节点向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。9根据权利要求8所述的方法,其特征在于,所述主推送节点生成文件传输路径包括所述主推送。

9、节点获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,所述主推送节点获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,所述主推送节点根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输。

10、路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,所述主推送节点根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。10根据权利要求8所述的方法,其特征在于,所述从推送节点的心跳信息还携带所述从推送节点的节点状态信息,所述主推送节点向所述至少一个从推送节点发送所述文件传输路径包括主推送节点根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点;所述主推送节点向所述处于空闲状态的从推送节点发送所述文件传输路径。11根据权利要求8所述的方法,其特。

11、征在于,所述主推送节点由多个推送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统分配。12根据权利要求8所述的方法,其特征在于,所述待传输文件由所述从推送节点在确权利要求书CN104092719A3/4页4定自身未保存有所述待传输文件时,从所述文件存储节点集群中拉取得到。13根据权利要求8所述的方法,其特征在于,所述主推送节点向所述至少一个从推送节点发送所述文件传输路径之后,所述方法还包括所述主推送节点接收所述文件传输路径中多个目的节点发送的文件传输的进度信息;所述主推送节点将所述文件传输的进度信息写入数据库中。14一种文件传输方法,其特征在于,所述方法包括目的节点接收待传输。

12、文件的数据包和文件传输路径;所述目的节点将所述待传输文件的数据包保存在内存中;所述目的节点根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。15一种文件传输装置,其特征在于,所述装置包括文件信息获取模块,用于获取分布式协调节点集群中的待传输文件信息;待传输文件确定模块,用于根据分布式协调节点集群所创建的待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;路径生成模块,用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集。

13、群;路径发送模块,用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。16根据权利要求15所述的装置,其特征在于,所述路径生成模块用于获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为在预设周期内未接收到心跳信息的目的节点集群;和/或,所述路径生成模块用于获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第。

14、二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,所述路径生成模块用于根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群;和/或,所述路径生成模块用于根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。17根据权利要求15所述的装置,其特征在于,所述路径发送模块用于当所述从推送节点的心跳信息还携带所述从推送节点。

15、的节点状态信息时,根据所述至少一个从推送节点的节点状态信息,从所述至少一个从推送节点中获取一个处于空闲状态的从推送节点,向所述处于空闲状态的从推送节点发送所述文件传输路径。权利要求书CN104092719A4/4页518根据权利要求15所述的装置,其特征在于,所述主推送节点由多个推送节点根据临时节点序列号选举得出,所述临时节点序列号由分布式协调系统分配。19根据权利要求15所述的装置,其特征在于,所述待传输文件由所述从推送节点在确定自身未保存有所述待传输文件时,从所述文件存储节点集群中拉取得到。20根据权利要求15所述的装置,其特征在于,所述装置还包括写入模块,用于接收所述文件传输路径中多个目。

16、的节点发送的文件传输的进度信息,将所述文件传输的进度信息写入数据库中。21一种文件传输装置,其特征在于,所述装置包括接收模块,用于接收待传输文件的数据包和文件传输路径;保存模块,用于将所述待传输文件的数据包保存在内存中;发送模块,用于根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。权利要求书CN104092719A1/12页6文件传输方法、装置及分布式集群文件系统技术领域0001本发明涉及信息技术领域,特别涉及一种文件传输方法、装置及分布式集群文件系统。背景技术0002随着数据规模越来越大,文件系统逐渐发展成为分布式集群文件系统。该分布式集群文件系统可以包括数据库、接口机、。

17、调度机和多个目的节点;其中,数据库用于记录和展示文件信息,接口机用于存放文件等,调度机用于调度和管理分布式集群文件系统内的任务,目的节点用于存储文件。0003对于分布式集群文件系统来说,其重要职能之一在于如何快速的将文件传输至目的节点。0004一般在利用分布式集群文件系统进行文件传输时,调度机检测数据库中是否保存有待传输文件信息,当检测到数据库中保存有该待传输文件信息时,调度机根据该待传输文件信息,调度接口机与多个目的节点之间的文件传输。0005在实现本发明的过程中,发明人发现现有技术至少存在以下问题0006由于现有的传输过程是由多个目的节点向接口机请求文件,由于接口机是一个或少数个设备,其负。

18、载能力有限,在向多个目的节点传输文件时,所承受的压力较大,容易达到设备磁盘IO的瓶颈,不仅对本机上其他运行的程序造成较大影响,而且使得整个分布式集群文件系统的传输受到影响,而用于维护待传输文件信息的数据库稳定性较差,当该数据库主机出现故障时,调度机无法对文件的传输进行调度,导致整个系统处于瘫痪状态。发明内容0007为了解决现有技术的问题,本发明实施例提供了一种文件传输方法、装置及分布式集群文件系统。所述技术方案如下0008第一方面,提供了一种分布式集群文件系统,包括0009分布式协调节点集群,所述分布式协调节点集群包括多个协调节点,所述多个协调节点之间共享信息,所述分布式协调节点集群用于创建待。

19、传输文件信息;0010文件存储节点集群,所述文件存储节点集群包括多个存储节点,所述文件存储节点集群用于存储待传输文件;0011推送节点集群,所述推送节点集群包括主推送节点和至少一个从推送节点,所述主推送节点用于根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从所述文件存储节点集群中拉取;0012所述主推送节点还用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;0013所述主推送节点还用于向所述至少一个从推送节点发送所述文件传输路径,使得说明书C。

20、N104092719A2/12页7所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;0014所述至少一个目的节点集群,每个目的节点集群包括多个目的节点。0015第二方面,提供了一种文件传输方法,所述方法包括0016主推送节点获取分布式协调节点集群中的待传输文件信息;0017主推送节点根据所述待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;0018所述主推送节点生成文件传输路径,所述文件传输路径包括至少。

21、一个目的节点集群;0019所述主推送节点向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;0020其中,每个目的节点集群包括多个目的节点。0021第三方面,提供了一种文件传输方法,所述方法包括0022目的节点接收待传输文件的数据包和文件传输路径;0023所述目的节点将所述待传输文件的数据包保存在内存中;0024所述目的节点根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。0025第四方面,提供了一种文件传输装置,所述装置包括0026文件信息获取模块,用于获取分布式协调节点集群中的待传输文。

22、件信息;0027待传输文件确定模块,用于根据分布式协调节点集群所创建的待传输文件信息和至少一个从推送节点的心跳信息,确定所述至少一个从推送节点中保存有待传输文件,所述心跳信息至少携带从推送节点所保存的文件信息,所述待传输文件为所述至少一个从推送节点从文件存储节点集群中拉取;0028路径生成模块,用于生成文件传输路径,所述文件传输路径包括至少一个目的节点集群;0029路径发送模块,用于向所述至少一个从推送节点发送所述文件传输路径,使得所述至少一个从推送节点根据所述文件传输路径将所述待传输文件发送至所述至少一个目的节点集群;其中,每个目的节点集群包括多个目的节点。0030第五方面,提供了一种文件传。

23、输装置,所述装置包括0031接收模块,用于接收待传输文件的数据包和文件传输路径;0032保存模块,用于将所述待传输文件的数据包保存在内存中;0033发送模块,用于根据所述文件传输路径,将所述待传输文件的数据包发送至下一个目的节点。0034本发明实施例提供的技术方案带来的有益效果是0035通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自说明书CN104092719A3/12页8进行多路传输,从而发送至多个目的节点集群,避。

24、免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。附图说明0036为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0037图1是本发明实施例提供的一种分布式集群文件系统的结构示意图;0038图2是本发明实施例提供的一种文件传输方法流程图;0039图3是本发明实施例提供的一种推送节点选举示意图;0040图。

25、4是本发明实施例提供的一种文件传输示意图;0041图5是本发明实施例提供的一种文件传输方法流程图;0042图6是本发明实施例提供的一种文件传输方法流程图;0043图7是本发明实施例提供的一种文件传输装置结构示意图;0044图8是本发明实施例提供的一种文件传输装置结构示意图。具体实施方式0045为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。0046图1是本发明实施例提供的一种分布式集群文件系统的结构示意图。参见图1,包括0047分布式协调节点集群101,该分布式协调节点集群包括多个协调节点,该多个协调节点之间共享信息,该分布式协调节点集群用于创建待传。

26、输文件信息;0048文件存储节点集群102,该文件存储节点集群包括多个存储节点,该文件存储节点集群用于存储待传输文件;0049推送节点集群103,该推送节点集群包括主推送节点103A和至少一个从推送节点103B,该主推送节点用于根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从该文件存储节点集群中拉取;0050该主推送节点103A还用于生成文件传输路径,该文件传输路径包括至少一个目的节点集群104;0051该主推送节点103A还用于向该至少一个从推送节点发送该文件传输。

27、路径,使得该至少一个从推送节点根据该文件传输路径将该待传输文件发送至该至少一个目的节点集群;0052该至少一个目的节点集群104,每个目的节点集群包括多个目的节点。0053进一步地,该系统还包括数据库105,该数据库用于展示待传输文件的进度等状态信息。说明书CN104092719A4/12页90054可选地,该主推送节点103A用于获取已生成的文件传输路径,当该已生成的文件传输路径中包括第一目的节点集群时,从该已生成的文件传输路径中删除该第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第一目的节点集群为该主推送节点在预设周期内未接收到心跳信息的目的节点集群;和/或,0055该主。

28、推送节点103A用于获取已生成的文件传输路径,当根据该已生成的文件传输路径中包括第二目的节点集群时,从该已生成的文件传输路径中删除该第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,该第二目的节点集群为当前正在执行传输任务的目的节点集群;和/或,0056该主推送节点103A用于根据目的节点的心跳信息,获取当前文件传输路径,该文件传输路径包括第三目的节点集群,该第三目的节点为处于空闲状态的目的节点集群;和/或,0057该主推送节点103A用于根据对该待传输文件的数据请求,获取当前文件传输路径,该文件传输路径中的至少一个目的节点集群包括发送该数据请求的目的节点集群。0058可选地,该从。

29、推送节点的心跳信息还携带该从推送节点的节点状态信息,0059该主推送节点103A用于根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点;0060该主推送节点103A向该处于空闲状态的从推送节点发送该文件传输路径。0061可选地,该主推送节点103A由多个推送节点根据临时节点序列号选举得出,该临时节点序列号由分布式协调系统分配。0062可选地,该从推送节点103B用于检测分布式协调节点集群所创建的该待传输文件信息,当根据该待传输信息确定该从推送节点中不包括该待传输文件时,从该文件存储节点集群中拉取该待传输文件。0063可选地,该系统还包括数据库105。

30、,0064该主推送节点103A还用于接收该文件传输路径中多个目的节点发送的文件传输的进度信息,并将该文件传输的进度信息写入数据库中。0065可选地,该目的节点用于当接收到待传输文件的数据包时,向该文件传输路径中的下一个目的节点发送接收到的数据包;或,0066该目的节点用于当接收到待传输文件的数据包时,向与该目的节点属于同一个目的节点集群的其他目的节点中的任一个发送接收到的数据包。0067下面,结合图1所示的架构,详细描述本发明实施例提供的一种文件传输方法,参见图2,该方法流程包括0068201、推送客户端将待传输文件推送至文件存储节点集群。0069该步骤201具体为当推送客户端中获取到某个文件。

31、时,可以根据需要将该文件推送至文件存储节点集群中进行保存,则该推送客户端将该文件确定为待传输文件,并将该待传输文件推送至文件存储节点集群。对于文件存储节点集群如HDFS(HADOOPFILESYSTEM,HADOOP文件系统)来说,该文件可以在HDFS中进行存储。0070202、推送客户端将待传输文件信息发送至分布式协调节点集群。0071为了清楚的了解文件存储节点集群中存储有哪些文件,推送客户端在将文件发送至文件存储节点集群中时,可以将该文件信息发送给分布式协调节点集群。该步骤202具说明书CN104092719A5/12页10体可以为推送客户端将该待传输文件在文件存储节点集群中的保存地址、该。

32、待传输文件的大小、该待传输文件标识和接收该待传输文件的时间等发送至分布式协调节点集群,该分布式协调节点集群接收到该信息时,创建该待传输文件信息。0072203、推送节点集群中的从推送节点向主推送节点发送从推送节点的心跳信息。0073其中,从推送节点的心跳信息可以包括已保存的文件信息、节点状态信息等。该节点状态信息可以包括该从推送节点已成功的任务、正在执行的任务、失败的任务以及是否处于空闲状态等。0074由于推送节点的数量可能会很多,而推送节点的一般是用来向目的节点推送文件,因此,为了避免推送节点间的冲突,可以在推送节点集群中选举主推送节点,该主推送节点用于收集各个从推送节点的心跳信息,以获知该。

33、各个从推送节点所保存的文件信息、当前节点状态等。且该主推送节点还可以获取各个目的节点集群或目的节点的心跳信息,以获知各个目的节点集群的节点状态。进一步地,为了使得文件系统中的数据保持一致,主推送节点还可以对文件系统中的文件传输进行调度和管理。0075推送节点集群选举主推送节点的过程可以包括分布式协调系统为推送节点集群中的每个推送节点分配临时节点序列号,多个推送节点根据临时节点序列号进行选举,确定主推送节点。0076其中,分布式协调节点集群可以为该多个推送节点分配唯一的一个临时节点序列号,当多个推送节点启动时,该多个推送节点中的每一个推送节点在分布式协调节点集群中进行注册,使得多个推送节点中的每。

34、一个推送节点作为一个临时节点,并由分布式协调节点集群分配一个临时节点序列号。对于多个推送节点中任一个推送节点,当该推送节点得到自身的临时节点序列号时,根据自身的临时节点序列号,通过与该多个推送节点的临时节点序列号进行对比,该推送节点确定该临时节点序列号是否最小,当该推送节点确定该推送节点自身的临时节点序列号在该多个推送节点的临时节点序列号中是最小时,将该推送节点确定为主推送节点。0077可选地,当多个推送节点根据临时节点序列号进行选举,确定主推送节点时,除了主推送节点以外的其它推送节点都将作为从推送节点,该从推送节点中任一个从推送节点将实时监测比该从推送节点的临时节点序列号小的其它推送节点,当。

35、检测到比该从推送节点的临时节点序列号小的其它推送节点出现故障或不存在时,分布式协调节点集群向各个推送节点发送通知信息,使得各个推送节点接收到该通知信息时,根据临时节点序列号再次进行选举,重新确定主推送节点。其中,通知信息用于通知推送节点根据临时节点序列号进行选举。0078图3是本发明实施例提供的一种推送节点选举示意图。参见图3,分布式协调节点集群将多个推送节点中的每一个推送节点作为临时节点,并对该临时节点分配序列号,对于多个推送节点中的任一个,该推送节点根据临时节点序列号判断是否包含有比自身的临时节点序列号小的推送节点。当包含有比自身的临时节点序列号小的推送节点时,该推送节点将作为从推送节点,。

36、并实时检测比自身的临时节点序列号小的推送节点的服务状态,当被检测的推送节点的服务状态为故障时,该推送节点根据临时节点序列号继续判断是否包含有比自身的临时节点序列号小的推送节点;当不包含有比自身的临时节点序列号小的推送节点时,该推送节点将作为主推送节点。说明书CN104092719A106/12页110079204、主推送节点获取分布式协调节点集群中的待传输文件信息。0080具体地,当主推送节点通过检测分布式协调节点集群中保存的文件信息,确定该分布式协调节点集群中是否包含待传输文件信息,当该分布式协调节点集群中包含待传输文件信息时,主推送节点获取该待传输文件信息。0081其中,待传输文件信息包括。

37、待传输文件在文件存储节点集群中的保存地址、待传输文件的大小、待传输文件标识、接收到该待传输文件的时间等。其中,待传输文件标识可以为该待传输文件名称,也可以为该待传输文件的HASH值,如MD5值等,还可以是用户对该待传输文件赋予的KEY值,本发明实施例对如何表示待传输文件标识不做限定。0082当然,主推送节点获取分布式协调节点集群中的待传输文件信息也可以是在目的节点向该主推送节点请求该待传输文件时,主推送节点根据目的节点发送的请求中携带的待传输文件标识,获取分布式协调节点集群中保存的文件信息,当该分布式协调节点集群中保存的文件信息中包含该待传输文件标识的文件时,主推送节点获取分布式协调节点集群中。

38、的待传输文件信息。0083205、该主推送节点根据该待传输文件信息和至少一个从推送节点的心跳信息,确定该至少一个从推送节点中保存有待传输文件,该心跳信息至少携带从推送节点所保存的文件信息,该待传输文件为该至少一个从推送节点从文件存储节点集群中拉取。0084具体地,对于一个从推送节点,主推送节点根据该待传输文件信息,查找该从推送节点上传的心跳信息中是否包含该待传输文件信息,当主推送节点确定该从推送节点上传的心跳信息中包括该待传输文件信息时,该主推送节点确定该从推送节点中保存有待传输文件。0085以待传输文件标识为MD5值为例,主推送节点根据获取到的待传输文件信息中的MD5值,与从推送节点发送的已。

39、保存的文件信息中包含的MD5值进行对比,判断从推送节点中已保存的文件信息中是否包含待传输文件的MD5值,当从推送节点发送的已保存的文件信息中包含该待传输文件信息中的MD5值,主推送节点确定从推送节点中保存有待传输文件。0086需要说明的是,从推送节点也会对分布式协调节点集群进行检测,以获知是否有新的待传输文件信息,当从推送节点根据自身的文件信息和分布式协调节点集群上的文件信息,确定此时分布式协调节点集群上具有新的待传输文件信息时,根据待传输文件信息,从文件存储节点集群中获取该待传输文件。0087206、该主推送节点生成文件传输路径。0088具体地,主推送节点可以通过以下任一方式获取文件传输路径。

40、0089(1)所述主推送节点获取已生成的文件传输路径,当所述已生成的文件传输路径中包括第一目的节点集群时,从所述已生成的文件传输路径中删除所述第一目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第一目的节点集群为所述主推送节点在预设周期内未接收到心跳信息的目的节点集群。0090为了提高文件传输的速度,主推送节点可以直接通过已生成的文件传输路径对该待传输文件进行传输。具体地,主推送节点获取已生成的文件传输路径,并根据该文件传输路径中各个目的节点集群在预设周期内发送的心跳信息情况,确定在预设周期内是否接收到该文件传输路径上所有目的节点集群的心跳信息,如果是,则将该文件传输路径获取为说。

41、明书CN104092719A117/12页12当前文件传输路径,如果在预设周期内未接收到文件传输路径上某一目的节点集群的心跳信息,主推送节点将该目的节点集群从该已生成的文件路径中删除,并将删除了该目的节点集群的文件传输路径作为当前文件传输路径。0091(2)所述主推送节点获取已生成的文件传输路径,当根据所述已生成的文件传输路径中包括第二目的节点集群时,从所述已生成的文件传输路径中删除所述第二目的节点集群,将删除后的文件传输路径作为当前文件传输路径,所述第二目的节点集群为当前正在执行传输任务的目的节点集群。0092由于在已生成的文件传输路径中,可能会包含正在执行任务的目的节点集群,为了避免重复传。

42、输或传输不成功等情况,主推送节点可以将正在执行任务的目的节点集群从已生成的文件传输路径中删除。0093(3)所述主推送节点根据目的节点的心跳信息,获取当前文件传输路径,所述文件传输路径包括第三目的节点集群,所述第三目的节点为处于空闲状态的目的节点集群。0094具体地,主推送节点根据接收到的目的节点集群的心跳信息中的节点状态信息,确定处于空闲状态的目的节点集群,主推送节点根据处于空闲状态的目的节点集群,生成文件传输路径。0095(4)所述主推送节点根据对所述待传输文件的数据请求,获取当前文件传输路径,所述文件传输路径中的至少一个目的节点集群包括发送所述数据请求的目的节点集群。0096具体地,当目。

43、的节点集群中的任一个目的节点向主推送节点请求该待传输文件时,主推送节点可以根据向主推送节点请求该待传输文件的目的节点,生成包含该目的节点集群在内的文件传输路径。0097需要说明的是,上述文件传输路径生成方法可以叠加进行,如对于一条文件传输路径来说,如果包含上述四种情况中的至少两种,可以根据实际情况,删除或添加某个目的节点或目的节点集群,以便灵活的进行传输。0098在本发明实施例中,以至少一个从推送节点中均包括待传输文件为例进行说明,而在实际场景中,该至少一个从推送节点中可能仅有一个或多个从推送节点中已保存有该待传输文件,则对于这种情况,仅为已保存有该待传输文件的从推送节点生成文件传输路径,由于。

44、各个从推送节点的物理地址不同,对于不同的从推送节点,其文件传输路径的起点不同,且为了避免传输冲突,提高传输效率,不同从推送节点所对应的文件传输路径不同,也即是,不同从推送节点用于向不同的目的节点集群发送待传输文件。0099207、主推送节点根据该至少一个从推送节点的节点状态信息,从该至少一个从推送节点中获取一个处于空闲状态的从推送节点。0100具体地,从推送节点每隔预设周期向该主推送节点发送节点状态信息,当主推送节点接收到该节点状态信息时,根据该节点状态信息,确定推送节点是否处于处于空闲状态。0101如果从推送节点正在执行文件传输等任务,如果仍使用该从推送节点作为推送设备,可能会影响文件传输的。

45、速度,使得待传输文件需要在从推送节点处进行排队等待,才能够执行传输过程,因此,为了节约时间,提高传输效率,可以通过节点状态信息以确定当前处于空闲状态的从推送节点。0102208、该主推送节点向该处于空闲状态的从推送节点发送该文件传输路径。说明书CN104092719A128/12页130103在本发明实施例中,文件传输路径与从推送节点一一对应。0104209、当该从推送节点接收到该文件传输路径时,根据该文件传输路径将待传输文件的数据包依次发送给目的节点。0105在传输过程中,从推送节点将得到的待传输文件拆分为多个数据包,该从推送节点根据文件传输路径,将待传输文件的数据包依次发送给文件传输路径中。

46、的第一个目的节点。0106210、对于文件传输路径中的任一个目的节点,当目的节点接收到待传输文件的数据包时,将该数据包保存在内存中,将该数据包发送至文件传输路径中的该目的节点的下一个目的节点中。0107具体地,当从推送节点将待传输文件的数据包发送至文件传输路径中的第一个目的节点时,该目的节点将该数据包保存在内存中,并将该数据包发送至该文件传输路径中的第二个目的节点,第二个目的节点在接收到数据包时,保存并将该数据包发送至第三个目的节点,直到目的节点在接收到数据包且确定自身是文件传输路径上的最后一个节点时结束。通过上述过程,使得当从推送服务器在发送数据包时,该文件传输路径中的每一个目的节点几乎在同。

47、一时刻都在传递这个数据包,使得从推送服务器以及各个目的节点的负载都很低,占用系统资源很小,不会对及其上运行的程序造成影响,而且能在相隔很短的时间内同时完成数据传递,其相隔时刻通常为毫秒级。0108为了使该待传输文件的传输过程更加清楚明了,图4是本发明实施例提供的一种文件传输示意图。参见图4,主推送节点将文件传输路径发送给保存有待传输文件、且处于空闲状态的任一个从推送节点,该从推送节点根据文件传输路径将待传输文件的数据包发送至目的节点集群中的目的节点A中,当目的节点A接收到该数据包时,将该数据包保存在内存中,并将该数据包发送给该文件传输路径中目的节点A的下一个目的节点B,经过同样的过程后,目的节。

48、点B将该数据包发送给目的节点C,依此该待传输文件将保存在文件传输路径中的每一个目的节点中。0109需要说明的是,按照上述部署方案部署的分布式文件传输系统,推送节点集群与目的节点集群部署在同一机房,每10个目的节点作为一个目的节点集群,每个推送节点下发任务的单位为一个目的节点集群,也即是每个推送节点的文件传输路径上仅包括一个目的节点集群,那么以传输200MB的数据文件为例,从推送客户端下发任务到文件完全下发到目的节点集群,仅需20S。0110211、文件传输路径中的目的节点向主推送节点发送文件传输的进度信息。0111为了确定本次文件传输过程是否成功以及哪些目的节点成功接收到了待传输文件,目的节点。

49、需要将接收待传输文件的进度反馈给主推送节点。具体地,当预设周期到达时,目的节点将自身接收待传输文件的数据包的进度信息发送给主推送节点,以使得该主推送节点确定待传输文件的进度。0112212、当主推送节点接收到该文件传输的进度信息时,将该文件传输的进度信息写入数据库中。0113213、当数据库获取到该文件传输的进度信息时,将该文件传输的进度信息进行显示。0114需要说明的是,该主推送节点还可以将从推送节点的心跳信息和目的节点的心跳说明书CN104092719A139/12页14信息写入数据库中,当数据库获取到该从推送节点的心跳信息和目的节点的心跳信息时,显示该从推送节点的心跳信息和目的节点的心跳信息,以向用户显示从推送节点中保存的文件信息、节点的服务状态和目的节点接收到的文件信息、接收失败的文件信息、正在执行的任务信息等。0115本发明实施例提供的方法,通过利用分布式协调节点集群维护待传输文件信息,由推送节点集群根据待传输文件信息实现文件传输路径的生成以及传输的具体执行过程,并通过由主推送节点负责生成文件传输路径,而由多个从推送节点从文件存储节点集群中获取到待传输文件,再各自进行多路传输,从而发送至多个目的节点集群,避免了现有技术中由于多个节点同时访问单一节点以进行文件传输而造成的单点瓶颈现象,且即使分布式协调节点集群中任一个节点出现故障,也不会影响整个文件系统的正常运转。且在目的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1