System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 文件传输方法、装置和系统制造方法及图纸_技高网

文件传输方法、装置和系统制造方法及图纸

技术编号:42555794 阅读:8 留言:0更新日期:2024-08-29 00:27
本发明专利技术公开了一种文件传输方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:响应于接收到发送方发送的、由待传输文件拆分形成的多个数据块,针对每一数据块所包含的多个数据包,根据每一数据包的特征值为数据包分配一级存储空间;在一级存储空间,根据该一级存储空间的数据包所包含的多个报文包的特征值为报文包分配二级存储空间;将多个数据块中的报文包向相应的二级存储空间进行存储;在判断存在未存储成功的二级存储空间的情况下,将未存储成功的二级存储空间关联的报文包特征值发送到发送方,以使发送方重新发送报文包特征值指示的报文包。该实施方式能够提高传输速度,避免带宽浪费。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种文件传输方法、装置和系统


技术介绍

1、udp(user datagram protocol,用户数据报协议)是面向无连接、不可靠的传输协议,传输过程中会发生丢包和顺序错乱的问题,但是因其高效的传输效率和较低的网络开销,非常适用于传输大文件。在现有技术基于udp的大文件可靠传输中,一般将文件分割为较小数据量的数据包顺序传输,并且需要发送方与接收方之间的多次网络交互来对数据包进行编排和确认,依靠模拟tcp(transmission control protocol,传输控制协议)协议的手段保证可靠性和顺序性,当传输失败时以数据包为单位进行重传。其缺点在于,基于小数据量数据包的传输需要较高的交互次数,结合以上逐包确认机制会造成大量的带宽浪费,并且以数据包为单位的重传会导致io阻塞等待,进一步降低传输速度。


技术实现思路

1、有鉴于此,本专利技术实施例提供一种文件传输方法、装置和系统,能够通过基于大数据量数据块的文件传输以及基于小数据量报文包的重传提高传输速度,避免带宽浪费。

2、为实现上述目的,根据本专利技术的一个方面,提供了一种文件传输方法。

3、本专利技术实施例的文件传输方法包括:响应于接收到发送方发送的、由待传输文件拆分形成的多个数据块,针对每一数据块所包含的多个数据包,根据每一数据包的特征值为所述数据包分配一级存储空间;在所述一级存储空间,根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间;将所述多个数据块中的报文包向相应的二级存储空间进行存储;在判断存在未存储成功的二级存储空间的情况下,将所述未存储成功的二级存储空间关联的报文包特征值发送到所述发送方,以使所述发送方重新发送所述报文包特征值指示的报文包。

4、可选地,所述方法遵守用户数据报协议udp;以及,在所述接收到发送方发送的、由待传输文件拆分形成的多个数据块之前,所述方法还包括:通过预先建立的udp链路接收所述发送方发送的、包括所述数据块的拆分总数和标准数据量在内的分块元数据;依据所述分块元数据确定用于处理所述数据块的一级过滤器的数量,创建该数量的所述一级过滤器并建立所述一级过滤器中各一级通道与所述一级存储空间的关联关系;其中,任一一级过滤器含有的一级通道数量等于一个数据块所包含的数据包的标准数量;所述一级过滤器的数量等于所述多个数据块的数量;将所述一级过滤器的数量发送到所述发送方。

5、可选地,所述接收到发送方发送的、由待传输文件拆分形成的多个数据块,包括:使用多条udp链路并行接收所述多个数据块,每条udp链路接收一个数据块;所述方法还包括:在接收所述多个数据块之后,针对所述多个数据块中的每个数据块,通过所述每个数据块的特征值确定用于处理所述数据块的一级过滤器;所述根据任一数据块所包含的多个数据包的特征值为所述数据包分配一级存储空间,包括:在用于处理该数据块的一级过滤器中,使用该数据块中任一数据包的特征值确定该数据包对应的、该一级过滤器中的一级通道,向该数据包分配确定的一级通道所关联的一级存储空间。

6、可选地,所述方法还包括:在所述根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间之前,在该一级存储空间创建二级过滤器并建立所述二级过滤器中各二级通道与所述二级存储空间的关联关系;其中,任一二级过滤器含有的二级通道数量等于一个数据包所包含的报文包的标准数量;所述根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间,包括:在为该数据包分配的一级存储空间的二级过滤器中,使用该数据包中任一报文包的特征值确定该报文包对应的、该二级过滤器中的二级通道,向该报文包分配确定的二级通道所关联的二级存储空间。

7、可选地,任一二级通道预先配置有状态变量,所述状态变量取第一值表征存储成功;以及,所述判断存在未存储成功的二级存储空间,包括:在存储耗时大于预设的时长阈值的情况下,将状态变量不等于第一值的二级通道所关联的二级存储空间确定为未存储成功。

8、可选地,任一数据块的特征值为该数据块的标识或者内存地址数据,包含在该数据块内;任一数据包的特征值为该数据包以及该数据包所在的数据块的标识或者内存地址数据,包含在该数据包内;任一报文包的特征值为该报文包以及该报文包所在的数据包和数据块的标识或者内存地址数据,包含在该报文包内。

9、为实现上述目的,根据本专利技术的另一方面,提供了一种文件传输装置。

10、本专利技术实施例的文件传输装置包括:第一分配单元,用于:响应于接收到发送方发送的、由待传输文件拆分形成的多个数据块,针对每一数据块所包含的多个数据包,根据每一数据包的特征值为所述数据包分配一级存储空间;第二分配单元,用于:在所述一级存储空间,根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间;将所述多个数据块中的报文包向相应的二级存储空间进行存储;重传单元,用于:在判断存在未存储成功的二级存储空间的情况下,将所述未存储成功的二级存储空间关联的报文包特征值发送到所述发送方,以使所述发送方重新发送所述报文包特征值指示的报文包。

11、为实现上述目的,根据本专利技术的另一方面,提供了一种文件传输系统。

12、本专利技术实施例的文件传输系统包括发送方和接收方;其中,所述接收方在接收到所述发送方发送的、由待传输文件拆分形成的多个数据块之后,针对每一数据块所包含的多个数据包,根据每一数据包的特征值为所述数据包分配一级存储空间;在所述一级存储空间,所述接收方根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间;将所述多个数据块中的报文包向相应的二级存储空间进行存储;在判断存在未存储成功的二级存储空间的情况下,所述接收方将所述未存储成功的二级存储空间关联的报文包特征值发送到所述发送方,以使所述发送方重新发送所述报文包特征值指示的报文包。

13、可选地,所述系统遵守用户数据报协议udp;以及,在所述接收到发送方发送的、由待传输文件拆分形成的多个数据块之前,所述接收方通过预先建立的udp链路接收所述发送方发送的、包括所述数据块的拆分总数和标准数据量在内的分块元数据;所述接收方依据所述分块元数据确定用于处理所述数据块的一级过滤器的数量,创建该数量的所述一级过滤器并建立所述一级过滤器中各一级通道与所述一级存储空间的关联关系;其中,任一一级过滤器含有的一级通道数量等于一个数据块所包含的数据包的标准数量;所述一级过滤器的数量等于所述多个数据块的数量;所述接收方将所述一级过滤器的数量发送到所述发送方。

14、可选地,所述接收方使用多条udp链路并行接收所述多个数据块,每条udp链路接收一个数据块;在接收所述多个数据块之后,针对所述多个数据块中的每个数据块,所述接收方通过所述每个数据块的特征值确定用于处理所述数据块的一级过滤器;在用于处理该数据块的一级过滤器中,所述接收方使用该数据块中任一数据包的特征值确本文档来自技高网...

【技术保护点】

1.一种文件传输方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法遵守用户数据报协议UDP;以及,在所述接收到发送方发送的、由待传输文件拆分形成的多个数据块之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述接收到发送方发送的、由待传输文件拆分形成的多个数据块,包括:使用多条UDP链路并行接收所述多个数据块,每条UDP链路接收一个数据块;

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,任一二级通道预先配置有状态变量,所述状态变量取第一值表征存储成功;以及,所述判断存在未存储成功的二级存储空间,包括:

6.根据权利要求3所述的方法,其特征在于,任一数据块的特征值为该数据块的标识或者内存地址数据,包含在该数据块内;任一数据包的特征值为该数据包以及该数据包所在的数据块的标识或者内存地址数据,包含在该数据包内;任一报文包的特征值为该报文包以及该报文包所在的数据包和数据块的标识或者内存地址数据,包含在该报文包内。

>7.一种文件传输装置,其特征在于,所述装置包括:

8.一种文件传输系统,其特征在于,包括发送方和接收方;其中,

9.根据权利要求8所述的系统,其特征在于,所述系统遵守用户数据报协议UDP;以及,

10.根据权利要求9所述的系统,其特征在于,所述接收方使用多条UDP链路并行接收所述多个数据块,每条UDP链路接收一个数据块;

11.根据权利要求10所述的系统,其特征在于,在所述根据该一级存储空间的数据包所包含的多个报文包的特征值为所述报文包分配二级存储空间之前,所述接收方在该一级存储空间创建二级过滤器并建立所述二级过滤器中各二级通道与所述二级存储空间的关联关系;其中,任一二级过滤器含有的二级通道数量等于一个数据包所包含的报文包的标准数量;

12.根据权利要求11所述的系统,其特征在于,任一二级通道预先配置有状态变量,所述状态变量取第一值表征存储成功;在存储耗时大于预设的时长阈值的情况下,所述接收方将状态变量不等于第一值的二级通道所关联的二级存储空间确定为未存储成功;

13.一种电子设备,其特征在于,包括:

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。

...

【技术特征摘要】

1.一种文件传输方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法遵守用户数据报协议udp;以及,在所述接收到发送方发送的、由待传输文件拆分形成的多个数据块之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述接收到发送方发送的、由待传输文件拆分形成的多个数据块,包括:使用多条udp链路并行接收所述多个数据块,每条udp链路接收一个数据块;

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,任一二级通道预先配置有状态变量,所述状态变量取第一值表征存储成功;以及,所述判断存在未存储成功的二级存储空间,包括:

6.根据权利要求3所述的方法,其特征在于,任一数据块的特征值为该数据块的标识或者内存地址数据,包含在该数据块内;任一数据包的特征值为该数据包以及该数据包所在的数据块的标识或者内存地址数据,包含在该数据包内;任一报文包的特征值为该报文包以及该报文包所在的数据包和数据块的标识或者内存地址数据,包含在该报文包内。

7.一种文件传输装置,其特征在于,所述装置包括:

8...

【专利技术属性】
技术研发人员:程啸
申请(专利权)人:北京京东振世信息技术有限公司
类型:发明
国别省市:

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

1