基于libcurl和网闸设备实现ftp客户端多文件传输方法及系统技术方案

技术编号:38741507 阅读:10 留言:0更新日期:2023-09-08 23:25
本发明专利技术公开了一种基于libcurl和网闸设备实现ftp客户端多文件传输方法及系统,其方法包括:获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议,通过libcurl客户端基于所述第一通信协议和第二通信协议分别向ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道,利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件,将所述批量文件通过外网数据传输通道上传到待接收数据服务器上。可以根据不同服务器的通信协议来实现服务器的对接,进而为后续进行数据传输奠定了基础,无需进行人工的socket套接字创建,极大地节省了人力成本。极大地节省了人力成本。极大地节省了人力成本。

【技术实现步骤摘要】
基于libcurl和网闸设备实现ftp客户端多文件传输方法及系统


[0001]本专利技术涉及数据传输
,尤其涉及一种基于libcurl和网闸设备实现ftp客户端多文件传输方法及系统。

技术介绍

[0002]目前,在网闸类设备中,可以使用传统socket套接字来实现ftp客户端实现文件传输,但是上述文件传输方法需要利用人工来使用socket来创建套接字进而进行数据传输,此举不仅极大地损耗了人力成本,同时还无法进行多文件数据传输,严重地降低了数据传输效率和稳定性,针对网闸类设备,Linux系统还没有一个标准的ftp客户端可以批量传输大文件技术。对此,亟需一种可以实现ftp服务器快速稳定的数据传输方法。

技术实现思路

[0003]针对上述所显示出来的问题,本专利技术提供了一种基于libcurl和网闸设备实现ftp客户端多文件传输方法及系统用以解决
技术介绍
中提到的不仅极大地损耗了人力成本,同时还无法进行多文件数据传输,严重地降低了数据传输效率和稳定性的问题。
[0004]一种基于libcurl和网闸设备实现ftp客户端多文件传输方法,包括以下步骤:
[0005]获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议;
[0006]通过libcurl客户端基于所述第一通信协议和第二通信协议分别向ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道;
[0007]利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件;
[0008]将所述批量文件通过外网数据传输通道上传到待接收数据服务器上。
[0009]优选的,所述获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议,包括:
[0010]分别获取目标ftp客户端所连接的ftp服务器和待接收数据服务器的动态主机配置协议;
[0011]基于所述动态主机配置协议确定第一预设通信协议,根据所述第一预设通信协议生成通信请求并将所述通信请求分别发送至待接收数据服务器和ftp服务器;
[0012]检测待接收数据服务器和ftp服务器各自的连接状态,若任一服务器的连接状态为在线状态,将所述第一预设通信协议确认为第一通信协议或第二通信协议;
[0013]若连接状态为离线状态,切换第二预设通信协议重新进行连接直到确定连接状态为在线为止,将所述第二预设通信协议确认为第一通信协议或第二通信协议。
[0014]优选的,所述通过libcurl客户端基于所述第一通信协议和第二通信协议分别向
ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道,包括:
[0015]通过libcurl客户端基于所述第一通信协议和第二通信协议以及协议转换文件生成数据传输请求并分别发送到ftp服务器和待接收数据服务器上;
[0016]基于所述第一通信协议构建数据接收网页窗口,同时,基于所述第二通信协议构建数据传输网页窗口;
[0017]通过所述网闸设备拦截ftp服务器的内网网络信号和待接收数据服务器的外网网络信号;
[0018]根据拦截的内网网络信号在数据接收网页窗口中构建内网数据接收通道;
[0019]根据拦截的外网网络信号在数据传输网页窗口中构建外网数据传输通道。
[0020]优选的,所述利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件,包括:
[0021]利用所述线程池根据目标ftp客户端发出的多任务传输请求构建多文件传输任务序列;
[0022]根据传输服务节点、任务数据传输需求数据、传输目的地址数据的对应关系确定每个文件传输任务序列对应的目标网闸节点;
[0023]将内网数据接收通道和目标网闸节点部署到每个文件传输任务序列中;
[0024]根据部署后的文件传输任务序列接收目标ftp客户端传输的批量多类型文件。
[0025]优选的,所述将所述批量文件通过外网数据传输通道上传到待接收数据服务器上,包括:
[0026]将所述批量文件上传到外网数据传输通道的数据缓存端;
[0027]获取数据缓存端对批量文件的缓存数据并根据缓存数据生成多个上行业务数据包;
[0028]获取每个上行业务数据包的数据特性,根据所述数据特性生成该上行业务数据包的测试文件;
[0029]利用每个上行业务数据包的测试文件对外网数据传输通道进行链路质量测试,获取测试结果;
[0030]根据所述测试结果对所述外网数据传输通道进行传输参数的优化,利用优化后的外网数据传输通道将多个上行业务数据包上传到待接收数据服务器上。
[0031]一种基于libcurl和网闸设备实现ftp客户端多文件传输系统,该系统包括:
[0032]获取模块,用于获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议;
[0033]构建模块,用于通过libcurl客户端基于所述第一通信协议和第二通信协议分别向ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道;
[0034]接收模块,用于利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件;
[0035]上传模块,用于将所述批量文件通过外网数据传输通道上传到待接收数据服务器上。
[0036]优选的,所述获取模块,包括:
[0037]第一获取子模块,用于分别获取目标ftp客户端所连接的ftp服务器和待接收数据服务器的动态主机配置协议;
[0038]第一生成子模块,用于基于所述动态主机配置协议确定第一预设通信协议,根据所述第一预设通信协议生成通信请求并将所述通信请求分别发送至待接收数据服务器和ftp服务器;
[0039]第一确认子模块,用于检测待接收数据服务器和ftp服务器各自的连接状态,若任一服务器的连接状态为在线状态,将所述第一预设通信协议确认为第一通信协议或第二通信协议;
[0040]第二确认子模块,用于若连接状态为离线状态,切换第二预设通信协议重新进行连接直到确定连接状态为在线为止,将所述第二预设通信协议确认为第一通信协议或第二通信协议。
[0041]优选的,所述构建模块,包括:
[0042]第二生成子模块,用于通过libcurl客户端基于所述第一通信协议和第二通信协议以及协议转换文件生成数据传输请求并分别发送到ftp服务器和待接收数据服务器上;
[0043]第一构建子模块,用于基于所述第一通信协议构建数据接收网页窗口,同时,基于所述第二通信协议构建数据传输网页窗口;
[0044]拦截子模块,用于通过所述网闸设备拦截ftp服务器的内网网络信号和待接收数据服务器的外网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于libcurl和网闸设备实现ftp客户端多文件传输方法,其特征在于,包括以下步骤:获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议;通过libcurl客户端基于所述第一通信协议和第二通信协议分别向ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道;利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件;将所述批量文件通过外网数据传输通道上传到待接收数据服务器上。2.根据权利要求1所述基于libcurl和网闸设备实现ftp客户端多文件传输方法,其特征在于,所述获取目标ftp客户端所连接的ftp服务器的第一通信协议和待接收数据服务器的第二通信协议,包括:分别获取目标ftp客户端所连接的ftp服务器和待接收数据服务器的动态主机配置协议;基于所述动态主机配置协议确定第一预设通信协议,根据所述第一预设通信协议生成通信请求并将所述通信请求分别发送至待接收数据服务器和ftp服务器;检测待接收数据服务器和ftp服务器各自的连接状态,若任一服务器的连接状态为在线状态,将所述第一预设通信协议确认为第一通信协议或第二通信协议;若连接状态为离线状态,切换第二预设通信协议重新进行连接直到确定连接状态为在线为止,将所述第二预设通信协议确认为第一通信协议或第二通信协议。3.根据权利要求1所述基于libcurl和网闸设备实现ftp客户端多文件传输方法,其特征在于,所述通过libcurl客户端基于所述第一通信协议和第二通信协议分别向ftp服务器和待接收数据服务器发送数据传输请求,通过网闸设备构建内网数据接收通道和外网数据传输通道,包括:通过libcurl客户端基于所述第一通信协议和第二通信协议以及协议转换文件生成数据传输请求并分别发送到ftp服务器和待接收数据服务器上;基于所述第一通信协议构建数据接收网页窗口,同时,基于所述第二通信协议构建数据传输网页窗口;通过所述网闸设备拦截ftp服务器的内网网络信号和待接收数据服务器的外网网络信号;根据拦截的内网网络信号在数据接收网页窗口中构建内网数据接收通道;根据拦截的外网网络信号在数据传输网页窗口中构建外网数据传输通道。4.根据权利要求1所述基于libcurl和网闸设备实现ftp客户端多文件传输方法,其特征在于,所述利用线程池构建多文件传输任务并调用网闸节点通过内网数据接收通道接收目标ftp客户端传输的批量文件,包括:利用所述线程池根据目标ftp客户端发出的多任务传输请求构建多文件传输任务序列;根据传输服务节点、任务数据传输需求数据、传输目的地址数据的对应关系确定每个
文件传输任务序列对应的目标网闸节点;将内网数据接收通道和目标网闸节点部署到每个文件传输任务序列中;根据部署后的文件传输任务序列接收目标ftp客户端传输的批量多类型文件。5.根据权利要求1所述基于libcurl和网闸设备实现ftp客户端多文件传输方法,其特征在于,所述将所述批量文件通过外网数据传输通道上传到待接收数据服务器上,包括:将所述批量文件上传到外网数据传输通道的数据缓存端;获取数据缓存端对批量文件的缓存数据并根据缓存数据生成多个上行业务数据包;获取每个上行业务数据包的数据特性,根据所述数据特性生成该上行业务数据包的测试文件;利用每个上行业务数据包的测试文件对外网数据传输通道进行链路质量测试,获取测试结果;根据所述测试结果对所述外网数据传输通道进行传输参数的优化,利用优化后的外网数据传输通道将多个上行业务数据包上传到待接收数据服务器上。6.一种基于libc...

【专利技术属性】
技术研发人员:张凯王志明余良
申请(专利权)人:北京连山科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1