一种基于能力协商的文件多节点传输方法与流程

文档序号:28268285发布日期:2021-12-31 19:08阅读:120来源:国知局
一种基于能力协商的文件多节点传输方法与流程

1.本发明涉及文件传输领域,尤其涉及一种基于能力协商的文件多节点传输方法。


背景技术:

2.目前,文件传输系统传输文件的方式有两种:单节点传输、多节点传输,单节点传输的传输方式适合文件数量较少时文件的传输,多节点传输的传输方式则适用于传输文件数量较多时文件的传输。然而,现有技术中,企业级文件传输系统中,大多是采用单节点传输的方式进行文件的传输,而采用单节点传输海量文件时,由于其速度无法达到gb级别,在拥有高带宽资源的情况下,其无法完全利用网络带宽资源,导致传输时间较长,传输效率低的问题,而如果直接采用多节点传输的方式替代单节点传输的方式进行文件传输,由于其对于客户端、服务端的网络带宽等要求较高,传输过程中会受到客户端、服务端的网络带宽等的影响,从而影响文件传输速度,因此,无法根据客户端、服务端的实际情况,选择最合适的文件传输方式。
3.因此,现有技术存在缺陷,需要改进。


技术实现要素:

4.本发明的目的是克服现有技术的不足,提供一种基于能力协商的文件多节点传输方法,解决现有技术中,文件传输时无法根据网络带宽资源情况,选择合适的文件传输方式,导致文件传输效率低的问题。
5.本发明的技术方案如下:一种基于能力协商的文件多节点传输方法,包括以下步骤:
6.s1:用户在客户端创建传输任务,并判断客户端所连接的可用传输节点的数量是否大于第一节点阈值。
7.s2:若是,则分别获取各个可用传输节点与服务端之间的网络带宽值,计算所有网络带宽值之和,并记为总网络带宽值,并判断所述总网络带宽值是否大于网络带宽阈值,若是,则判断客户端的带宽负载值是否大于带宽阈值,若否,则进一步判断待传输文件的总大小是否不小于数据量阈值。
8.s3:若传输文件的总大小不小于数据量阈值,则客户端支持多节点传输,并向服务端发送文件传输信息。
9.所述文件传输信息包括:客户端连接可用传输节点的数量、待传输文件的总大小、客户端与可用传输节点之间的网络带宽值、客户端是否支持多节点传输、客户端存储硬件读取速度值。
10.s4:服务端在收到所述文件传输信息后,判断其连接的可用传输服务节点的数量是否大于第二节点阈值,若是,则查看服务端上是否开启了强制多节点传输。
11.s5:若服务端上未开启强制多节点传输,则获取服务端的网络负载值、服务端存储读取速度值、可用带宽值、各个可用传输服务节点的存储读取速度值,并判断所述网络负载
值是否大于负载阈值。
12.s6:若否,则计算节点传输总速度,并根据所述节点传输总速度计算出预分配节点数,并判断所述预分配节点的总读取速度是否同时小于客户端存储硬件读取速度值、服务端存储读取速度值的70%。
13.所述节点传输总速度为总网络带宽值、可用带宽值中的最小的这一个带宽值的80%。
14.所述预分配节点数=节点传输总速度*网络损耗系数/单节点传输平均速度;
15.所述单节点传输平均速度=所有的单节点传输速度之和/可用传输节点总个数;
16.所述单节点传输速度=对应的可用传输节点与服务端之间的网络带宽值;
17.所述预分配节点的总读取速度=可用传输服务节点存储读取速度平均值*预分配节点数;
18.所述可用传输服务节点存储读取速度平均值=各个可用传输服务节点的存储读取速度值之和/可用传输服务节点的个数。
19.s7:若是,则待传输文件的传输方式选择多节点传输,服务端向客户端发送多节点传输信息。
20.所述多节点传输信息包括:传输方式为多节点传输、分配节点数量、各个分配节点的地址及端口信息。
21.s8:若步骤s6的判断结果为否,则服务端向客户端反馈待传输文件的传输方式选择单节点传输。
22.所述步骤s8之后还包括:
23.s9:客户端根据所述多节点传输信息,将所述分配节点数量、各个分配节点的地址及端口信息发送给redis服务器,将待传输文件添加至redis服务器的传输任务队列内。
24.所述步骤s9之后还包括:
25.s10:客户端上的各个可用传输节点根据所述redis服务器上的各个分配节点的地址及端口信息,分别从所分配节点中选择一个可用传输服务节点进行连接,并从redis服务器上获取待传输文件进行文件传输。
26.进一步地,所述第一节点阈值、第二节点阈值均为2。
27.进一步地,所述网络带宽阈值为1万兆,所述带宽阈值为40%,所述数据量阈值为1tb。
28.进一步地,所述负载阈值为70%,所述网络损耗系数为1.05。
29.进一步地,所述步骤s6之后还包括步骤s60:若服务端上开启了强制多节点传输,则获取服务端的服务端存储读取速度值、可用带宽值,并计算节点传输总速度、预分配节点数,并向客户端发送多节点传输信息。
30.采用上述方案,本发明提供一种基于能力协商的文件多节点传输方法,具有以下有益效果:
31.1、在客户端、服务端同时满足多节点传输的情况下,优先选择多节点传输的方式进行文件传输,充分利用网络带宽,加快文件传输速度,提高文件传输效率;
32.2、实时分析客户端、服务端当前的实际网络情况,并进行判断协商,从而匹配到当前最优的文件传输方式,加快文件传输效率,满足不同网络状态下的传输需求。
附图说明
33.图1为本发明的流程框图一;
34.图2为本发明的流程框图二。
具体实施方式
35.以下结合附图和具体实施例,对本发明进行详细说明。
36.请参照图1

图2,本发明提供一种基于能力协商的文件多节点传输方法,包括以下步骤:
37.s1:用户在客户端创建传输任务,并判断客户端所连接的可用传输节点的数量是否大于第一节点阈值;具体地,在本实施例中,所述第一节点阈值为2,即客户端要具备多节点传输能力,首先其所连接的可用传输节点的数量不能少于2个;若步骤s1的判断结果为否,则直接进行单节点传输。
38.s2:若是,则分别获取各个可用传输节点与服务端之间的网络带宽值,计算所有网络带宽值之和,并记为总网络带宽值,并判断所述总网络带宽值是否大于网络带宽阈值,若是,则判断客户端的带宽负载值是否大于带宽阈值,若否,则进一步判断待传输文件的总大小是否不小于数据量阈值;具体地,所述网络带宽阈值为1万兆,所述带宽阈值为40%,所述数据量阈值为1tb;计算可用传输节点与服务端之间的总网络带宽值,并判断其是否大于1万兆,若大于1万兆且客户端的带宽负载不超过40%,则说明客户端当前的网络负载能力良好,可用传输节点与服务端之间的网络带宽符合多节点传输的要求。
39.s3:若传输文件的总大小不小于数据量阈值,则客户端支持多节点传输,并向服务端发送文件传输信息。若所有待传输文件的总大小不小于1tb,则说明待传输文件较大,更适合采用多节点传输的方式进行传输;若总网络带宽值不大于网络带宽阈值或客户端的带宽负载值大于带宽阈值或待传输文件的总大小是小于数据量阈值的,则判断客户端不满足多节点传输的要求,直接采用单节点传输的方式。
40.具体地,在本实施例中,所述文件传输信息包括:客户端连接可用传输节点的数量、待传输文件的总大小、客户端与可用传输节点之间的网络带宽值、客户端是否支持多节点传输、客户端存储硬件读取速度值。由于此处判断客户端多节点传输,因此文件传输信息中,客户端是否支持多节点传输的结果为是。
41.s4:服务端在收到所述文件传输信息后,判断其连接的可用传输服务节点的数量是否大于第二节点阈值,若是,则查看服务端上是否开启了强制多节点传输;具体地,在本实施例中,所述第二节点阈值为2,若服务端上的可用传输服务节点的数量大于2,则说明具有多个可用传输服务节点,符合多节点传输的要求。
42.s5:若服务端上未开启强制多节点传输,则获取服务端的网络负载值、服务端存储读取速度值、可用带宽值、各个可用传输服务节点的存储读取速度值,并判断所述网络负载值是否大于负载阈值;具体地,在本实施例中,所述负载阈值为70%;若服务端的网络负载值不大于负载阈值70%,则说明服务端当前网络不拥挤,可满足多节点传输的要求。
43.s6:若否,则计算节点传输总速度,并根据所述节点传输总速度计算出预分配节点数,并判断所述预分配节点的总读取速度是否同时小于客户端存储硬件读取速度值、服务端存储读取速度值的70%。需要说明的是,若预分配节点数的个数大于客户端上的可用传
输节点的个数或大于服务端上的可用传输服务节点的个数,则比较客户端上的可用传输节点的个数与服务端上的可用传输服务节点的个数的大小,选择较小的这个数字作为预分配节点数。
44.所述节点传输总速度为总网络带宽值、可用带宽值中的最小的这一个带宽值的80%,即比较当前总网络带宽值、可用带宽值的大小,取其中带宽值较小的这一个,乘以80%进行计算。
45.所述预分配节点数=节点传输总速度*网络损耗系数/单节点传输平均速度;所述网络损耗系数为1.05,需要说明的是网络损耗系数为1.05,是一个经验数据,根据实际文件传输过程中的实际情况进行统计出的结果。
46.所述单节点传输平均速度=所有的单节点传输速度之和/可用传输节点总个数;
47.所述单节点传输速度=对应的可用传输节点与服务端之间的网络带宽值;
48.所述预分配节点的总读取速度=可用传输服务节点存储读取速度平均值*预分配节点数;
49.所述可用传输服务节点存储读取速度平均值=各个可用传输服务节点的存储读取速度值之和/可用传输服务节点的个数。
50.步骤s60:若服务端上开启了强制多节点传输,则获取服务端的服务端存储读取速度值、可用带宽值,并计算节点传输总速度、预分配节点数,并向客户端发送多节点传输信息。
51.s7:若是,则待传输文件的传输方式选择多节点传输,服务端向客户端发送多节点传输信息。
52.所述多节点传输信息包括:传输方式为多节点传输、分配节点数量、各个分配节点的地址及端口信息。
53.s8:若步骤s6的判断结果为否,则服务端向客户端反馈待传输文件的传输方式选择单节点传输。
54.本发明中的一种基于能力协商的文件多节点传输方法,依次对客户端所连接的可用传输节点的数量、可用传输节点与服务端之间的总网络带宽值、客户端的带宽负载值、待传输文件的总大小进行相应判断,从而判断客户端是否具备多节点传输的能力,如果客户端具备多节点传输的能力,则说明客户端可进行多节点传输,进一步判断服务端是否具备多节点传输的能力,依次对可用传输服务节点的数量、服务端的网络负载值、预分配节点的总读取速度等进行相应判断,从而判断服务端是否符合多节点传输的要求,若服务端也满足多节点传输要求,则说明客户端、服务端均满足多节点传输的要求,文件即可采用多节点传输的方式进行传输,提高文件传输效率;而若客户端、服务端中存在一个具备多节点传输的能力时,则文件的传输方式则采用单节点传输的方式进行传输;另外,需要说明的是,本发明中的一种基于能力协商的文件多节点传输方法在使用时是根据客户端、服务端当前的实际情况进行实时判断协商的,以匹配最优的文件传输方式进行文件传输,加快文件传输效率。
55.具体地,在本实施例中,所述步骤s8之后还包括:
56.s9:客户端根据所述多节点传输信息,将所述分配节点数量、各个分配节点的地址及端口信息发送给redis服务器,将待传输文件添加至redis服务器的传输任务队列内。
57.s10:客户端上的各个可用传输节点根据所述redis服务器上的各个分配节点的地址及端口信息,分别从所分配节点中选择一个可用传输服务节点进行连接,并从redis服务器上获取待传输文件进行文件传输。开始进行文件传输后,redis服务器会将文件传输中的状态信息(文件名称、文件类型、文件源路径等信息)回传至客户端,当已完成传输和传输失败的文件的个数与待传输文件的个数相等时,则说明当次传输完成。
58.综上所述,本发明提供一种基于能力协商的文件多节点传输方法,具有以下有益效果:
59.1、在客户端、服务端同时满足多节点传输的情况下,优先选择多节点传输的方式进行文件传输,充分利用网络带宽,加快文件传输速度,提高文件传输效率;
60.2、实时分析客户端、服务端当前的实际网络情况,并进行判断协商,从而匹配到当前最优的文件传输方式,加快文件传输效率,满足不同网络状态下的传输需求。
61.以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1