一种数据传输方法及相关设备技术

技术编号:19436015 阅读:35 留言:0更新日期:2018-11-14 13:01
本申请公开了一种数据传输方法及相关设备,用于提高目录遍历速度,提高了数据查找和数据修复的效率。方法包括:第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,二维索引表用于指示目标数据中各个数据的存储位置;第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池,二维数据块池包括多个数据块,每个数据块分别对应二维索引表的一个坐标值;第一设备通过所述二维索引表索引到多个数据块并发送至第二设备。

【技术实现步骤摘要】
一种数据传输方法及相关设备
本申请涉及通信领域,尤其涉及一种数据传输方法及相关设备。
技术介绍
数据传输是一种基础通信服务,大部分计算机服务都需要利用数据传输服务。由于传统的文件传输协议(filetransferprotocol,FTP)服务器在广域网中的文件传输效率低,现有的业务系统在广域网中的文件传输速率(300KB/s左右)与业务系统在本地的文件传输速率(6MB/s左右)差距数十倍,广域网的文件传输速率已经不能满足不断增长的业务,广域网数据传输已经成为阻碍业务系统增长的瓶颈,因此对广域网文件传输速率进行性能改进。广域网的数据传输应用都面临着低带宽和连接不稳定、传输批量小文件时存在的负载过重的问题。为了解决该问题,一般通过通道复用机制减少连接次数达到高效批量小文件传输。但是,对于大文件的传输,上、下载超过1G文件时存在的数据拥塞问题,示例性的,如图1所示,为下载1G以上文件产生数据拥塞现象的示意图。现有方案中,采用线性文件分块解决方案避免拥塞,并采用哈希树(HashTree)方式快速识别文件内容是否准确,保证文件内容的准确性,例如,如图2所示,采用安全哈希算法(secureHas本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,包括:第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置;所述第一设备根据所述二维索引表对所述目标数据进行数据重组,得到二维数据块池,所述二维数据块池包括多个数据块,每个数据块分别对应所述二维索引表的一个坐标值;所述第一设备通过所述二维索引表索引到所述多个数据块并发送至第二设备。

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置;所述第一设备根据所述二维索引表对所述目标数据进行数据重组,得到二维数据块池,所述二维数据块池包括多个数据块,每个数据块分别对应所述二维索引表的一个坐标值;所述第一设备通过所述二维索引表索引到所述多个数据块并发送至第二设备。2.根据权利要求1所述的方法,其特征在于,所述第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表包括:所述第一设备根据预置的多线程层序遍历算法对需要传输的目标数据进行遍历,得到数据目录,所述数据目录包括至少一层目录;所述第一设备根据所述目标数据的大小和所述至少一层目录确定二维索引表的横坐标和纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;所述第一设备生成二维索引表。3.根据权利要求2所述的方法,其特征在于,每个数据块的大小与网络延迟负相关;所述线程数量与网络带宽正相关。4.根据权利要求1-3任一所述的方法,其特征在于,所述第一设备根据所述二维索引表对所述目标数据进行数据重组之后,所述第一设备通过所述二维索引表索引到所述多个数据块并发送至第二设备之前,所述方法还包括:所述第一设备生成每个数据块的校验码,所述校验码用于校验每个数据块的正确性。5.根据权利要求4所述的方法,其特征在于,所述数据块包括头域信息和内容信息;所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若第一数据块传输失败,则所述第一设备接收所述第二设备发送的重传请求,所述重传请求中包括所述第一数据块的第一坐标值;所述第一设备根据所述第一坐标值确定所述第一数据块在所述二维数据块池中的位置;所述第一设备根据所述第一数据块的位置重新获取第一数据块;所述第一设备向所述第二设备发送重新获取的第一数据块。7.根据权利要求5所述的方法,其特征在于,当所述目标数据包含大文件,所述大文件由多个目标数据块组成时,所述目标数据块的头域信息中还包括第一指示信息,所述第一指示信息用于指示各个目标数据块在所述大文件中的位置,并在完成传输后组成所述大文件。8.根据权利要求5所述的方法,其特征在于,当所述目标数据包含多个小文件,所述多个小文件组成目标数据块时,所述目标数据块的头域信息中还包括第二指示信息,所述第二指示信息用于指示所述目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。9.一种数据传输方法,其特征在于,包括:第二设备接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;所述第二设备根据多个坐标值生成对应的二维索引表,所述二维索引表用于指示所述多个数据块的存储位置;所述第二设备根据所述二维索引表对所述多个数据块中的每个数据块进行排序,得到二维数据块池,所述二维数据块池为需要传输的目标数据。10.根据权利要求9所述的方法,其特征在于,所述第二设备根据多个坐标值生成对应的二维索引表包括:所述第二设备根据所述坐标值中的第二个值确定二维索引表的纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量;所述第二设备根据所述坐标值中的第一个值确定二维索引表的横坐标,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;所述第二设备根据所述横坐标和所述纵坐标生成对应的二维索引表。11.根据权利要求10所述的方法,其特征在于,每个数据块的大小与网络延迟负相关;所述线程数量与网络带宽正相关。12.根据权利要求9-11任一所述的方法,其特征在于,所述第二设备接收第一设备发送的多个数据块之后,所述第二设备根据多个坐标值生成对应的二维索引表之前,所述方法还包括:所述第二设备根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。13.根据权利要求12所述的方法,其特征在于,所述数据块包括头域信息和内容信息;所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。14.根据权利要求13所述的方法,其特征在于,所述方法还包括:若第一数据块传输失败,则所述第二设备确定所述第一数据块的第一坐标值;所述第二设备向所述第一设备发送重传请求,所述重传请求中包括所述第一坐标值;所述第二设备接收所述第一设备重新发送的第一数据块。15.根据权利要求13所述的方法,其特征在于,当所述目标数据包含大文件,所述大文件由多个目标数据块组成时,所述目标数据块的头域信息中还包括第一指示信息,所述第一指示信息用于指示各个目标数据块在所述大文件中的位置,并在完成传输后组成所述大文件。16.根据权利要求13所述的方法,其特征在于,当所述目标数据包含多个小文件,所述多个小文件组成目标数据块时,所述目标数据块的头域信息中还包括第二指示信息,所述第二指示信息用于指示所述目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。17.一种设备,其...

【专利技术属性】
技术研发人员:范勇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1