一种基于FTP文件高效传输的方法与流程

文档序号:12789749阅读:来源:国知局

技术特征:

1.一种基于FTP文件高效传输的方法,其特征在于:该方法包括如下步骤:

(1)、查看是否存在指定文件对应的临时配置文件:

①、如果不存在,则执行步骤(2);

②、如果存在,则跳转执行步骤(3);

(2)、首先,获取用户设置的上传线程数目N、待上传文件在服务器端的路径、文件上传的进度和文件传输格式(默认为二进制格式);然后,根据线程数目N,将原文件分割成N块(逻辑分割,只获得每个块开始和结束位置的偏移量);专门开启一个线程,用来建立和管理对应的临时配置文件,将每个线程完成任务情况实时记录到临时配置文件中,方便断点续传时使用,跳转执行步骤(4);

(3)、首先,读取临时配置文件,获取之前的数据传输格式、上传线程数目N和各个线程的上传进度,为每个线程重新分配任务,接着之前的断点位置上传;专门开启一个线程,用来管理对应的临时配置文件,将每个线程完成任务情况实时记录到临时配置文件中,方便断点续传时使用;

(4)、开启N个线程,分别创建本地套接字,应用TCP/IP协议与目标服务器建立N个控制连接;

(5)、N个线程分别发送USER xxx \r\n和PASSyyy \r\n命令将用户名和密码发送到FTP服务器,登录FTP服务器;

(6)、成功登录后,N个线程分别使用TYPE命令设置统一的数据传输格式;

(7)、N个线程分别发送PASV \r\n命令,该命令的回应包含服务器正监听的主机地址端口地址,客户端从回复信息中获得FTP服务器的IP地址和临时开放的用于建立数据连接的端口号,用于N个线程与FTP服务器建立N个数据连接;

(8)、N个线程分别发送RSET xxx \r\n命令,设置文件传输的起始偏移量,其中,xxx是起始偏移量的数值,每个线程的偏移量不同;

(9)、N个线程分别发送APPE xxx \r\n命令,向FTP服务器发起文件上传请求,其中,xxx是要在服务器上创建的文件名,N个线程使用相同的文件名;

(10)、N个线程与FTP服务器分别建立数据连接,每个线程分配一个文件块,开始并行上传各个文件块数据;

(11)、主线程每隔十秒钟查询一次各个线程的任务完成情况,当有线程分配的传输任务完成后,利用RDT算法,为剩余任务量最多的线程分担部分传输任务;

(12)、如果再次出现意外中断,则重复进行步骤(1)到步骤(11);至到所有文件块都上传完毕,则关闭所有的数据连接和控制连接;

(13)、删除临时配置文件,一次文件上传过程结束。

2.根据权利要求1所述的基于FTP文件高效传输的方法,其特征在于:所述步骤(1)中若存在指定文件对应的临时配置文件,则说明该文件将要进行断点续传。

3.根据权利要求1所述的基于FTP文件高效传输的方法,其特征在于:所述步骤(2)中文件传输格式默认为二进制格式。

4.根据权利要求1所述的基于FTP文件高效传输的方法,其特征在于:所述步骤(2)中源文件分割采用逻辑分割,只获得每个块开始和结束为止的偏移量。

5.根据权利要求1所述的基于FTP文件高效传输的方法,其特征在于:所述步骤(6)中数据传输格式为二进制格式时,发送个FTP服务器的命令为TYPE I \r\n。

6.根据权利要求1所述的基于FTP文件高效传输的方法,其特征在于:所述FTP服务器支持文件的断点续传。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1