本发明涉及互联网文件传输,尤其涉及一种基于rsync实现海量文件高速传输的方法。
背景技术:
1、互联网的蓬勃发展和社会的数字技术快速变革,企业信息化发展加速了数据爆发式增长,越来越多的信息服务依托海量数据的收集与应用。而传统的ftp、网盘等工具无法应对海量数据的传输与分发,导致企业无法高效完成海量数据传输。
2、传统的ftp传输性能差,海量文件传输时经常性地会丢失文件或者报错,无法断点续传,在文件读取、数据传输稳定、数据完整性方面存在缺陷,无法满足企业信息化发展所需。
3、rsync在大带宽,海量小文件场景下,单个传输任务带宽利用率低,传输速度上不去等问题依然存在。
4、因此,现有技术存在缺陷,需要改进。
技术实现思路
1、本发明的目的是克服现有技术的不足,提供一种基于rsync实现海量文件高速传输的方法。
2、本发明的技术方案如下:提供一种基于rsync实现海量文件高速传输的方法,包括如下步骤:
3、步骤1:服务资源预处理:根据当前运行的系统资源环境,确定并行任务数;
4、步骤2:文件预处理,构建文件传输清单:判断文件传输类型,如果发送端在本地,则直接对本地需要传输的文件进行文件预处理;如果发送端在远端,需进行ssh连接远程主机服务,远程登录账号,并执行文件预处理脚本;
5、步骤3:分配传输策略:根据服务资源预处理以及文件预处理的结果,按照分配策略生成最优传输列表清单,并写入到临时文件中存储;
6、步骤4:任务编排:根据并行数以及传输列表清单组建传输任务节点,组成rsync任务流,编排传输任务并进行调度执行;
7、步骤5:任务自检机制:rsync任务异常会自动加入到异常传输任务队列中,按照规定的时间间隔,进行失败重试,同时将传输信息上报服务系统;
8、步骤6:持久化日志:与服务系统传统接口进行连接通信,传输任务完成后上报信息到服务系统。
9、进一步地,所述步骤1中,系统资源环境包括cpu数量及内存情况。
10、进一步地,所述步骤2中,发送端在本地的情况下,文件预处理包括判断文件是否存在,计算所需传输文件的大小、文件数量、文件名,并构建文件传输清单。
11、进一步地,所述步骤2中,发送端在远端的情况下,远程登录账号,执行文件预处理脚本,获取传输文件的大小、文件数量、文件名,并构建文件传输清单。
12、采用上述方案,本发明通过对海量文件传输预处理,计算出最优传输策略,并对rsync进行并行化任务编排,将传输服务性能跑满,快速应对海量数据传输需求,解决海量文件在大带宽场景下传输慢的问题。
1.一种基于rsync实现海量文件高速传输的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于rsync实现海量文件高速传输的方法,其特征在于,所述步骤1中,系统资源环境包括cpu数量及内存情况。
3.根据权利要求1所述的基于rsync实现海量文件高速传输的方法,其特征在于,所述步骤2中,发送端在本地的情况下,文件预处理包括判断文件是否存在,计算所需传输文件的大小、文件数量、文件名,并构建文件传输清单。
4.根据权利要求1所述的基于rsync实现海量文件高速传输的方法,其特征在于,所述步骤2中,发送端在远端的情况下,远程登录账号,执行文件预处理脚本,获取传输文件的大小、文件数量、文件名,并构建文件传输清单。