一种C/S架构下的文件传输方法与流程

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

本发明属于计算机数据存储技术领域,特别涉及一种C/S架构下的文件传输方法。



背景技术:

随着办公电子化的普及,为了提高企业(单位)员工的工作效率和信息安全,大部分企业(单位)都对员工的办公文件进行一定的管控,不可避免的会需要将本地终端文件上传/备份到服务器,同时在需要的时候,从服务端上下载/恢复下来。

在工作中,经常需要在客户端和服务器之间传输文件,出于网络不稳定等原因,在传输过程中经常会出现传输中断的情况,此时就需要重新传输或继续传输,目前在进行文件重传时,都是使用数据库或配置文件等来记录已上传或已下载的文件长度信息,实现起来很复杂,有待改进。



技术实现要素:

本发明的目的,在于提供一种C/S架构下的文件传输方法,其可减少文件重传或传输中断后重新上传的情况,提高文件传输效率。

为了达成上述目的,本发明的解决方案是:

一种C/S架构下的文件传输方法,用于在发送端与接收端之间的文件传输,包括如下步骤:

步骤1,发送端向接收端提供文件名、文件的标识信息、文件的长度和文件保存路径;

步骤2,接收端根据文件名及文件的标识信息对临时文件进行命名;

步骤3,接收端计算已接收的临时文件长度,然后把临时文件长度通知发送端;

步骤4,发送端继续向接收端传输文件,直至传输结束;

步骤5,接收端计算已接收的临时文件的标识信息,若计算得到的标识信息与该临时文件的文件名相同,则表示传输成功。

上述步骤1中,标识信息采用文件的消息摘要或哈希值。

上述步骤2中,接收端根据文件名和文件的标识信息判断本地是否存在对应的文件,若存在则通知发送端结束文件传输。

上述步骤2中,接收端根据文件名和文件的标识信息判断本地是否存在对应的文件,若不存在该文件,则继续判断临时文件的大小是否为零,若不为零,则转步骤3,若为零,则以标识信息命名临时文件。

上述步骤4中,发送端根据临时文件长度,通过文件偏移继续传输文件。

上述步骤5中,传输完毕后,接收端将临时文件名改回实际文件名。

采用上述方案后,本发明可以在一定程度上减少文件重传或传输中断后重新上传的情况,能够提高文件的传输效率、实现断点续传和文件校验,同时不依赖数据库去记录已上传或已下载的文件长度,使用起来相对简单。

具体实施方式

以下将结合具体实施例,对本发明的技术方案进行详细说明。

本发明提供一种C/S架构下的文件传输方法,可实现在发送端与接收端之间的文件传输,包括如下步骤:

步骤1,发送端向接收端提供文件名、文件的标识信息、文件的长度和文件保存路径;

所述的标识信息可以采用该文件的消息摘要或哈希值;

步骤2,接收端根据文件名及文件的标识信息对临时文件进行命名;

步骤3,接收端计算已接收的临时文件长度,然后把临时文件长度通知发送端;

步骤4,发送端继续向接收端传输文件,直至传输结束;

步骤5,接收端计算已接收的临时文件的标识信息,若计算得到的标识信息与该临时文件的文件名相同,则表示传输成功。传输完毕后,接收端将临时文件名改回实际文件名。

在具体实施时,本发明可以实现客户端和文件系统服务端之间的文件(包括目录)上传、文件(包括目录)下载等操作,客户端和文件系统服务端之间进行文件传输时,可以根据具体的情况分别作为发送端和接收端,比如当进行文件或目录上传时,客户端作为发送端,文件系统服务端作为接收端,当进行文件或目录下载时,文件系统服务端作为发送端,客户端作为接收端。

下面以文件上传为例,说明本发明的具体实施过程:

(1)客户端发起与文件系统服务端的连接;

(2)客户端向文件系统服务端发送文件上传请求,并提供文件的长度、文件标识信息及文件保存路径;

(3)文件系统服务端接收到上传请求后,首先根据文件名和标识信息判断本地是否存在该文件,若存在则通知客户端结束上传动作,若不存在该文件,则尝试获取临时文件的大小:如果临时文件大小不等于零,则说明有未完成的文件传输,文件系统服务端把已上传的文件长度通知客户端,客户端通过此文件偏移,以已上传的文件长度为偏移,继续读取余下未发送的文件内容,客户端继续完成文件的上传;如果没找到该临时文件,则以标识信息命名该临时文件,然后开始文件传输,传输完成后,计算临时文件的标识信息,如果计算出来的临时文件标识信息与文件名相同,则判定本次上传成功。

综合上述,本发明一种C/S架构下的文件传输方法,重点在于采用消息摘要或哈希值等标识信息对临时文件进行命名,在进行文件传输的上传或下载时,先计算已上传或已下载的文件长度,然后把临时文件的长度通知另一端,由另一端继续做文件传输的操作,直到传输结束;最后计算临时文件的消息摘要或哈希值,如果计算出来的临时文件消息摘要或哈希值与文件名相同,则判定本次传输动作成功完成。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

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