System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 批量文件传输方法、客户端及服务器技术_技高网

批量文件传输方法、客户端及服务器技术

技术编号:40391224 阅读:10 留言:0更新日期:2024-02-20 22:22
本申请涉及数据传输,提供一种批量文件传输方法、客户端及服务器。所述方法包括:根据多个待上传文件的文件大小及预设阈值,从所述多个待上传文件中筛选出多个目标文件,基于输入的初始变量语句对所述多个目标文件对应的文件夹信息进行封装,得到所述文件夹信息对应的初始封包,并将所述初始封包发送至服务器,基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包,并将封装过程中完成封装的文件封包进行实时发送,直至所有目标文件对应的文件封包发送至所述服务器,本申请能够解决文件传输过程中占用大量临时存储空间及传输速率低的技术问题。

【技术实现步骤摘要】

本专利技术涉及数据传输,尤其涉及一种批量文件传输方法、客户端及服务器


技术介绍

1、在目前的文件传输方案中,若客户端未及时将封装完成的大文件进行发送,会占用客户端中大量的临时存储空间(例如,缓存)。同样,若服务器未将接收到的大文件进行实时解包,也会占用服务器中大量的临时存储空间,从而造成客户端及服务器运行缓慢。此外,若直接将批量小文件不封包直接传输到服务器,不仅会耗费大量的传输时长,而且会导致无法区分出服务器接收到的信息所处的目标文件。


技术实现思路

1、鉴于以上内容,有必要提供一种批量文件传输方法、客户端及服务器,解决了文件传输过程中占用大量临时存储空间及传输速率低的技术问题。

2、本申请提供一种批量文件传输方法,应用于客户端,所述批量文件传输方法包括:

3、根据多个待上传文件的文件大小及预设阈值,从所述多个待上传文件中筛选出多个目标文件;

4、基于输入的初始变量语句对所述多个目标文件对应的文件夹信息进行封装,得到所述文件夹信息对应的初始封包,并将所述初始封包发送至服务器;

5、基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包,并将封装过程中完成封装的文件封包进行实时发送,直至所有目标文件对应的文件封包发送至所述服务器。

6、根据本申请可选实施例,在根据待上传文件的文件大小及预设阈值从多个所述待上传文件中筛选出多个目标文件之前,所述方法还包括:

7、所述客户端将预设的连接请求报文发送至所述服务器;

8、所述服务器监听并接收所述连接请求报文,基于所述连接请求报文生成请求确认报文,并将所述请求确认报文发送至所述客户端;

9、若所述客户端从所述服务器接收到所述请求确认报文,基于所述请求确认报文生成核对报文,并将所述核对报文发送至所述服务器;

10、所述服务器接收所述核对报文,并基于所述请求确认报文对所述核对报文进行确认,得到所述核对报文的确认结果;

11、若所述客户端从所述服务器接收到的确认结果为成功,则所述客户端与所述服务器建立通信连接。

12、根据本申请可选实施例,所述文件封包包括所述目标包头信息及目标包体信息,所述基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包包括:

13、读取用户基于所述目标信息输入的目标变量语句,得到所述目标信息对应的目标结构体变量及所述目标结构体变量的目标数据类型;

14、根据所述目标数据类型获取所述目标结构体变量所占用的目标字节数量;

15、将所述目标结构体变量及所述目标字节数量确定为所述目标包头信息;

16、根据所述目标字节数量为所述目标结构体变量分配存储空间,得到目标缓冲区;

17、将所述目标信息写入所述目标缓冲区,并将写入所述目标信息后的目标缓冲区中的数据确定为所述目标包体信息。

18、根据本申请可选实施例,所述批量文件传输方法还包括:

19、读取用户输入的拆分语句,得到所述拆分语句中的拆分数量;

20、根据所述拆分数量对每个目标文件进行拆分,得到多个拆分文件;

21、获取每个拆分文件的拆分大小,并根据所述拆分大小计算每个拆分文件的偏移大小;

22、获取每个拆分文件的拆分属性信息,并读取用户根据所述拆分属性信息及所述偏移大小输入的拆分变量语句;

23、基于所述拆分变量语句对所述多个拆分文件进行封装,得到每个目标文件对应的多个拆分文件封包。

24、本申请提供一种客户端,所述客户端包括:

25、存储器,存储至少一个指令;及

26、处理器,获取所述存储器中存储的指令以实现所述的批量文件传输方法。

27、由上述技术方案可知,根据待上传文件的文件大小及预设阈值从多个所述待上传文件中筛选出多个目标文件,通过直接将待上传文件的大小与预设阈值进行比较,能够快速筛选出占用空间较小的多个目标文件,基于输入的初始变量语句对所述多个目标文件对应的文件夹信息进行封装,得到所述文件夹信息对应的初始封包,所述初始封包包括初始包体信息,由于将所述多个目标文件的更多信息进行封装,因此,能够确保发送的目标文件的信息完整性,基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包,在封装过程中,对完成封装的文件封包进行实时发送,首先,对每个目标文件的目标信息进行封装,并将封装好的目标包头信息及目标包体信息实时发送,由于不需要将所述多个目标文件全部封装成大文件再发送,因此,避免了占用所述客户端中的临时存储空间,其次,由于所述封装和发送是连续的过程,因此,所述连续的过程相当于调用封包线程及发包线程将所述多个目标文件封装成大文件并将封装完成的大文件发送的过程,由于大文件的封装及发送的过程能够充分利用所述客户端的资源,因此,所述连续的过程能够提高传输速率。

28、本申请提供一种批量文件传输方法,应用于服务器,所述服务器与客户端通信连接,所述批量文件传输方法还包括:

29、接收所述客户端发送的初始封包;

30、读取所述初始封包中的初始包头信息,并基于所述初始包头信息的初始校验码对所述初始包头信息进行校验;

31、基于校验成功的初始包头信息读取所述初始封包中的初始包体信息,得到初始解包信息;

32、接收所述客户端发送的每个目标文件对应的文件封包;

33、读取所述文件封包中的目标包头信息,并基于读取到的目标包头信息中的目标校验码对读取到的目标包头信息进行校验;

34、基于校验成功的目标包头信息及所述初始解包信息,读取所述文件封包中的目标包体信息,得到目标解包文件。

35、根据本申请可选实施例,所述接收所述客户端发送的初始封包包括:

36、接收并响应用户输入的接包线程创建请求,得到接包线程;

37、调用所述接包线程从所述服务器对应的接收缓冲区中读取所述客户端发送的初始封包;

38、接收并响应用户输入的解包线程创建请求,得到解包线程;

39、调用所述接包线程将读取到的初始封包发送至所述解包线程。

40、根据本申请可选实施例,所述基于读取到的初始包头信息的初始校验码对读取到的初始包头信息进行校验包括:

41、调用所述解包线程,使用校验算法计算所述读取到的初始包头信息的特征校验码;

42、调用所述解包线程,将所述特征校验码与所述初始校验码进行比较,若所述特征校验码与所述初始校验码相同,确定所述初始包头信息校验成功。

43、根据本申请可选实施例,所述校验成功的目标包头信息包括起始码变量及数据长度变量,所述基于校验成功的目标包头信息及所述初始解包信息读取所述文件封包中的目标包体信息,得到目标解包文件包括:

44、调用所述解包线程,本文档来自技高网...

【技术保护点】

1.一种批量文件传输方法,应用于客户端,其特征在于,所述批量文件传输方法包括:

2.如权利要求1所述的批量文件传输方法,其特征在于,在根据待上传文件的文件大小及预设阈值从多个所述待上传文件中筛选出多个目标文件之前,所述方法还包括:

3.如权利要求1所述的批量文件传输方法,其特征在于,所述文件封包包括所述目标包头信息及目标包体信息,所述基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包包括:

4.如权利要求1所述的批量文件传输方法,其特征在于,所述批量文件传输方法还包括:

5.一种批量文件传输方法,应用于服务器,所述服务器与客户端通信连接,其特征在于,所述批量文件传输方法还包括:

6.如权利要求5所述的批量文件传输方法,其特征在于,所述接收所述客户端发送的初始封包包括:

7.如权利要求6所述的批量文件传输方法,其特征在于,所述基于读取到的初始包头信息的初始校验码对读取到的初始包头信息进行校验包括:

8.如权利要求6或7所述的批量文件传输方法,其特征在于,所述校验成功的目标包头信息包括起始码变量及数据长度变量,所述基于校验成功的目标包头信息及所述初始解包信息读取所述文件封包中的目标包体信息,得到目标解包文件包括:

9.一种客户端,其特征在于,所述客户端包括:

10.一种服务器,其特征在于,所述服务器包括:

...

【技术特征摘要】

1.一种批量文件传输方法,应用于客户端,其特征在于,所述批量文件传输方法包括:

2.如权利要求1所述的批量文件传输方法,其特征在于,在根据待上传文件的文件大小及预设阈值从多个所述待上传文件中筛选出多个目标文件之前,所述方法还包括:

3.如权利要求1所述的批量文件传输方法,其特征在于,所述文件封包包括所述目标包头信息及目标包体信息,所述基于输入的目标变量语句对每个目标文件的目标信息进行封装,得到每个目标文件对应的文件封包包括:

4.如权利要求1所述的批量文件传输方法,其特征在于,所述批量文件传输方法还包括:

5.一种批量文件传输方法,应用于服务器,所述服务器与客户端通信连接,其特...

【专利技术属性】
技术研发人员:金丰覃敏
申请(专利权)人:深圳市江波龙电子股份有限公司
类型:发明
国别省市:

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

1