一种文件传输方法技术

技术编号:39512479 阅读:14 留言:0更新日期:2023-11-25 18:48
本申请在计算机应用技术领域公开了一种文件传输方法

【技术实现步骤摘要】
一种文件传输方法、系统及可读存储介质


[0001]本申请涉及计算机应用
,特别是涉及一种文件传输方法

系统及可读存储介质


技术介绍

[0002]批量传输文件的需求,并不少见

例如:需要做数据备份,将一台工作服务器中的全部文件转移到另一台工作服务器中;需要做文件下载,需要将工作服务器中的文件下载到工作台式机中

[0003]但是,传统的传输或者下载方式,首先需要识别一个文件,然后建立连接,完成下载,最后关闭连接

建立连接,关闭连接也需要耗费时间,导致文件传输效率低

特别是在面对大量的小文件时,仅仅建立连接,关闭连接就需要消耗大量的时间,效率更低

[0004]综上所述,如何有效地解决文件下载效率等问题,是目前本领域技术人员急需解决的技术问题


技术实现思路

[0005]本申请的目的是提供一种文件传输方法

系统及可读存储介质,能够提高文件下载效率

[0006]为解决上述技术问题,本申请提供如下技术方案:一种文件传输方法,包括:第一客户端向第二客户端发送文件夹的下载请求;所述第二客户端向所述第一客户端反馈文件夹列表;所述第一客户端,遍历所述文件夹列表并向所述第二客户端发送所述文件夹中存在多个子文件的子文件夹下载请求;所述第二客户端读取多个子文件夹中的子文件,并将多个子文件夹中的子文件转换为一个
tar
文件流后,发送给所述第一客户端;所述第一客户端解析所述
tar
文件流,得到多个所述子文件,并将多个所述子文件存入本地的所述文件夹中

[0007]优选地,所述将多个子文件夹中的子文件转换为一个
tar
文件流,包括:将多个所述子文件按照
tar
格式进行拼接,得到所述
tar
文件流;其中,所述
tar
格式为一个文件对应一个
tar
头,所述
tar
头后为所述子文件的原始文件,依次循环拼接,最后拼接一个全零的
block
存储内容

[0008]优选地,所述
tar
头包括:文件名称和文件大小,其中,所述文件名称包括所下载的文件夹的相对父路径

[0009]优选地,还包括:若所述相对父路径的名称超过设定阈值,则设置对应的所述
tar
头为长文件名,并拼接一个额外的块,所述块内存储文件名称

[0010]优选地,所述第一客户端解析所述
tar
文件流,得到多个所述子文件,并将多个所述子文件存入本地的所述文件夹中,包括:依次读取所述
tar
文件流中的
tar
头,得到子文件名称,去掉指定字节后,读取到所述子文件的原始文件;将所述原始文件按照所述子文件名称保存为在本地的所述文件夹中

[0011]优选地,所述将所述原始文件按照所述子文件名称保存为在本地的所述文件夹中,包括:若所述子文件名称为包括路径的名称,则根据所述路径的名称,创建文件夹,并在所述文件夹中保存所述原始文件

[0012]优选地,所述第一客户端向第二客户端发送文件夹的下载请求,包括:在所述第一客户端从输入信息中获取到服务器地址

远程文件夹地址和本地需要保持文件的地址后,向所述第二客户端发送所述下载请求

[0013]优选地,所述第二客户端向所述第一客户端反馈文件夹列表,包括:所述第二客户端遍历所述文件夹,得到所述文件夹列表,并将所述文件夹列表反馈给所述第一客户端

[0014]一种文件传输系统,包括:第一客户端和第二客户端;在所述文件传输系统中执行如上述的所述的文件传输方法的步骤

[0015]一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述文件传输方法的步骤

[0016]应用本申请实施例所提供的方法,第一客户端向第二客户端发送文件夹的下载请求;第二客户端向第一客户端反馈文件夹列表;第一客户端,遍历文件夹列表并向第二客户端发送文件夹中存在多个子文件的子文件夹下载请求;第二客户端读取多个子文件夹中的子文件,并将多个子文件夹中的子文件转换为一个
tar
文件流后,发送给第一客户端;第一客户端解析
tar
文件流,得到多个子文件,并将多个子文件存入本地的文件夹中

[0017]在本申请中,当第一客户端需要从第二客户端下载文件夹时,可以向第二客户端发送文件夹的下载请求,第二客户端响应于该下载请求,向第一客户端反馈文件夹列表

然后,第一客户端遍历该文件夹列表,向第二客户端发送子文件夹下载请求

第二客户端读取多个子文件夹中的多个子文件,并将多个子文件转换为一个
tar
文件流之后,可反馈给第一客户端

第一客户端解析
tar
文件流,得到多个子文件,并将多个子文件存入到本地的文件夹中,如此,便完成文件夹下载
/
传输

[0018]可见,本申请的技术效果:进行文件传输
/
下载时,可自动将多个子文件打包为
tar
文件流进行传输,无需为每个文件单独创建连接和关闭连接,可以省去连接创建和关闭所需耗时,可以有效提高文件传输效率,同时还可避免发生用户解包错误这一情况

[0019]相应地,本申请实施例还提供了与上述文件传输方法相对应的文件传输系统和可读存储介质,具有上述技术效果,在此不再赘述

附图说明
[0020]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0021]图1为本申请实施例中一种文件传输方法的实施流程图;图2为本申请实施例中一种文件转换示意图;图3为本申请实施例中一种文件流解析示意图;图4为本申请实施例中一种文件传输系统的结构示意图

具体实施方式
[0022]为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明

显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例

基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围

[0023]请参考图1,图1为本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种文件传输方法,其特征在于,包括:第一客户端向第二客户端发送文件夹的下载请求;所述第二客户端向所述第一客户端反馈文件夹列表;所述第一客户端,遍历所述文件夹列表并向所述第二客户端发送所述文件夹中存在多个子文件的子文件夹下载请求;所述第二客户端读取多个子文件夹中的子文件,并将多个子文件夹中的子文件转换为一个
tar
文件流后,发送给所述第一客户端;所述第一客户端解析所述
tar
文件流,得到多个所述子文件,并将多个所述子文件存入本地的所述文件夹中
。2.
根据权利要求1所述的方法,其特征在于,所述将多个子文件夹中的子文件转换为一个
tar
文件流,包括:将多个所述子文件按照
tar
格式进行拼接,得到所述
tar
文件流;其中,所述
tar
格式为一个文件对应一个
tar
头,所述
tar
头后为所述子文件的原始文件,依次循环拼接,最后拼接一个全零的
block
存储内容
。3.
根据权利要求2所述的方法,其特征在于,所述
tar
头包括:文件名称和文件大小,其中,所述文件名称包括所下载的文件夹的相对父路径
。4.
根据权利要求3所述的方法,其特征在于,还包括:若所述相对父路径的名称超过设定阈值,则设置对应的所述
tar
头为长文件名,并拼接一个额外的块,所述块内存储文件名称
。5.
根据权利要求1...

【专利技术属性】
技术研发人员:李亮张玉岗
申请(专利权)人:北京天信瑞安信息技术有限公司
类型:发明
国别省市:

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

1