CN108809514B - 一种数据传输方法及相关设备 - Google Patents
一种数据传输方法及相关设备 Download PDFInfo
- Publication number
- CN108809514B CN108809514B CN201810369971.1A CN201810369971A CN108809514B CN 108809514 B CN108809514 B CN 108809514B CN 201810369971 A CN201810369971 A CN 201810369971A CN 108809514 B CN108809514 B CN 108809514B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- index table
- dimensional
- target data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据传输方法及相关设备,用于提高目录遍历速度,提高了数据查找和数据修复的效率。方法包括:第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,二维索引表用于指示目标数据中各个数据的存储位置;第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池,二维数据块池包括多个数据块,每个数据块分别对应二维索引表的一个坐标值;第一设备通过所述二维索引表索引到多个数据块并发送至第二设备。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据传输方法及相关设备。
背景技术
数据传输是一种基础通信服务,大部分计算机服务都需要利用数据传输服务。由于传统的文件传输协议(file transfer protocol,FTP)服务器在广域网中的文件传输效率低,现有的业务系统在广域网中的文件传输速率(300KB/s左右)与业务系统在本地的文件传输速率(6MB/s左右)差距数十倍,广域网的文件传输速率已经不能满足不断增长的业务,广域网数据传输已经成为阻碍业务系统增长的瓶颈,因此对广域网文件传输速率进行性能改进。广域网的数据传输应用都面临着低带宽和连接不稳定、传输批量小文件时存在的负载过重的问题。为了解决该问题,一般通过通道复用机制减少连接次数达到高效批量小文件传输。但是,对于大文件的传输,上、下载超过1G文件时存在的数据拥塞问题,示例性的,如图1所示,为下载1G以上文件产生数据拥塞现象的示意图。
现有方案中,采用线性文件分块解决方案避免拥塞,并采用哈希树(Hash Tree)方式快速识别文件内容是否准确,保证文件内容的准确性,例如,如图2所示,采用安全哈希算法(secure Hash algorithm,SHA)将数据大小为6.5MB的1个大文件数据划分为多个小文件数据,其中,哈希值的大小为256位,具体包括6个1MB大小和1个0.5MB大小的小文件数据。
但是,因为哈希树的规模(哈希树的深度)与文件的大小正相关,文件越大,哈希树的规模越大,需要遍历哈希树找到识别文件块花费的时间越长,目录遍历速度慢,查找效率低,并且当传输出现问题,进行重传的时间长,数据修复效率低。
发明内容
本申请实施例提供了一种数据传输方法及相关设备,用于提高目录遍历速度,提高了数据查找和数据修复的效率。
本申请第一方面提供了一种数据传输方法,包括:第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,该二维索引表用于指示目标数据中各个数据的存储位置,其中,目标数据可以包括一个或多个目录,或者复杂多层目录,或者单个文件,或者多个文件;第一设备根据该二维索引表对目标数据进行数据重组,得到二维数据块池,该二维数据块池包括多个数据块,每个数据块分别对应二维索引表的一个坐标值,每一个数据块在二维索引表中的坐标值都不同;第一设备通过二维索引表索引到二维数据块池中的多个数据块并发送至第二设备。第一设备将需要进行传输的目标数据重组得到二维数据块池,第一设备能够根据二维数据块池快速定位到每一个数据块,并将该二维数据块池发送至第二设备,减少了数据遍历花费的时长,提高了数据查找的效率,进而提高了数据传输效率。
在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表包括:第一设备根据预置的多线程层序遍历算法对需要传输的目标数据进行遍历,得到数据目录,该数据目录包括至少一层目录;第一设备根据目标数据的大小和至少一层目录确定二维索引表的横坐标和纵坐标,该二维索引表的纵坐标用于指示目标数据的分组数量,该二维索引表的横坐标用于指示每个分组对应的数据块数量;第一设备生成二维索引表,该二维索引表的纵坐标用于指示分组数量,该二维索引表的横坐标用于指示每个分组对应的数据块数量。对第一设备生成二维索引表的过程进行了细化,提供了具体的实现方式,增加了本申请的实现方式。
在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,每个数据块的大小与网络延迟负相关;线程数量与网络带宽正相关。对数据块的大小和线程数量进行了限定,明确数据块与网络延迟的关系,以及线程数量与网络带宽的关系,可以快速的设置数据块的大小和线程数量,提高了数据传输效率。
在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,在第一设备根据二维索引表对目标数据进行数据重组之后,在第一设备通过所述二维索引表索引到所述多个数据块并发送至第二设备之前,所述方法还包括:第一设备生成每个数据块的校验码,校验码用于校验每个数据块的正确性。增加了生成校验码的过程,确保了传输的数据块的准确性。
在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,数据块包括头域信息和内容信息;头域信息中至少包括数据块的坐标值和校验码,该坐标值用于指示数据块在二维数据块池中的位置;内容信息中包括头域信息指示的数据内容,数据内容包含于目标数据。对数据块的结构进行了限定,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第一方面的第五种实现方式中,包括:若第一数据块传输失败,则第一设备接收第二设备发送的重传请求,该重传请求中包括第一数据块的第一坐标值;第一设备根据第一坐标值确定第一数据块在二维数据块池中的位置;第一设备根据第一数据块的位置重新获取第一数据块;第一设备向第二设备发送重新获取的第一数据块。增加了对传输失败的数据块进行修复的过程,只针对传输失败的数据块进行重传,减少了进行数据修复的时间,提高了数据修复效率。
在一种可能的设计中,在本申请实施例第一方面的第六种实现方式中,当目标数据包含大文件,大文件由多个目标数据块组成时,目标数据块的头域信息中还包括第一指示信息,第一指示信息用于指示各个目标数据块在大文件中的位置,并在完成传输后组成大文件。增加了指示大文件组成的第一指示信息,以使得第二设备在接收到数据块后,根据第一指示信息将多个数据块还原成大文件。
在一种可能的设计中,在本申请实施例第一方面的第七种实现方式中,当目标数据包含多个小文件,多个小文件组成目标数据块时,目标数据块的头域信息中还包括第二指示信息,第二指示信息用于指示目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。增加了指示小文件组成的第二指示信息,以使得第二设备在接收到数据块后,根据第二指示信息将数据块还原成多个小文件。
在一种可能的设计中,在本申请实施例第一方面的第八种实现方式中,每个数据块的大小相同。对每个数据块的大小进行限定,得到的二维数据块池的结构更合理,便于进行数据查找,提高数据查找效率。
在一种可能的设计中,在本申请实施例第一方面的第九种实现方式中,数据内容为一个或多个目标文件;或,数据内容为目标文件的部分内容。对每个数据块中包含的数据内容进行限定,可以将多个小文件一起进行传输,提高了数据传输的效率。
在一种可能的设计中,在本申请实施例第一方面的第十种实现方式中,头域信息中还包括目标路径、源文件名、目标文件名、文件偏移地址和数据块大小。对数据块的头域信息中包括的内容进行了限定,使本申请在步骤上更完善。
本申请第二方面提供了一种数据传输方法,包括:第二设备接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;第二设备根据多个坐标值生成对应的二维索引表,该二维索引表用于指示多个数据块的存储位置;第二设备根据二维索引表对多个数据块中的每个数据块进行排序,得到二维数据块池,该二维数据块池中各个数据块中包含的数据内容组成了需要的目标数据。第二设备根据接收到的多个数据块中包含的坐标值,并根据各个坐标值生成二维索引表,并将需要进行传输的目标数据重组得到二维数据块池,第二设备能够根据二维数据块池快速定位到每一个数据块,并对该二维数据块池中的数据块查找,减少了数据遍历花费的时长,提高了数据查找的效率,进而提高了数据传输效率。
在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,第二设备根据坐标值生成对应的二维索引表包括:第二设备根据坐标值中的第二个值确定二维索引表的纵坐标,该二维索引表的纵坐标用于指示目标数据的分组数量;第二设备根据坐标值中的第一个值确定二维索引表的横坐标,该二维索引表的横坐标用于指示每个分组对应的数据块数量;第二设备根据横坐标和纵坐标生成对应的二维索引表。对第一设备生成二维索引表的过程进行了细化,提供了具体的实现方式,增加了本申请的实现方式。
在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,每个数据块的大小与网络延迟负相关;线程数量与网络带宽正相关。对数据块的大小和线程数量进行了限定,明确数据块与网络延迟的关系,以及线程数量与网络带宽的关系,可以快速的设置数据块的大小和线程数量,提高了数据传输效率。
在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,第二设备接收第一设备发送的多个数据块之后,第二设备根据多个坐标值生成对应的二维索引表之前,所述方法还包括:第二设备根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。增加了生成校验码的过程,确保了传输的数据块的准确性。
在一种可能的设计中,在本申请实施例第二方面的第四种实现方式中,数据块包括头域信息和内容信息;头域信息中至少包括数据块的坐标值和校验码,该坐标值用于指示数据块在二维数据块池中的位置;内容信息中包括头域信息指示的数据内容,该数据内容包含于目标数据。对数据块的结构进行了限定,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第二方面的第五种实现方式中,包括:若第一数据块传输失败,则第二设备确定第一数据块的第一坐标值;第二设备向第一设备发送重传请求,该重传请求中包括所述第一坐标值;第二设备接收所述第一设备重新发送的第一数据块。增加了对传输失败的数据块进行修复的过程,只针对传输失败的数据块进行重传,减少了进行数据修复的时间,提高了数据修复效率。
在一种可能的设计中,在本申请实施例第二方面的第六种实现方式中,当目标数据包含大文件,大文件由多个目标数据块组成时,目标数据块的头域信息中还包括第一指示信息,第一指示信息用于指示各个目标数据块在大文件中的位置,并在完成传输后组成大文件。增加了指示大文件组成的第一指示信息,以使得第二设备在接收到数据块后,根据第一指示信息将多个数据块还原成大文件。
在一种可能的设计中,在本申请实施例第二方面的第七种实现方式中,当目标数据包含多个小文件,多个小文件组成目标数据块时,目标数据块的头域信息中还包括第二指示信息,第二指示信息用于指示目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。增加了指示小文件组成的第二指示信息,以使得第二设备在接收到数据块后,根据第二指示信息将数据块还原成多个小文件。
在一种可能的设计中,在本申请实施例第二方面的第八种实现方式中,每个数据块的大小相同。对每个数据块的大小进行限定,得到的二维数据块池的结构更合理,便于进行数据查找,提高数据查找效率。
在一种可能的设计中,在本申请实施例第二方面的第九种实现方式中,数据内容为一个或多个目标文件;或,数据内容为目标文件的部分内容。对每个数据块中包含的数据内容进行限定,可以将多个小文件一起进行传输,提高了数据传输的效率。
在一种可能的设计中,在本申请实施例第二方面的第十种实现方式中,头域信息中还包括目标路径、源文件名、目标文件名、文件偏移地址和数据块大小。对数据块的头域信息中包括的内容进行了限定,使本申请在步骤上更完善。
本申请第三方面提供了一种设备,所述设备为第一设备,包括:第一生成单元,用于根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置,其中,目标数据可以包括一个或多个目录,或者复杂多层目录,或者单个文件,或者多个文件;重组单元,用于根据二维索引表对目标数据进行数据重组,得到二维数据块池,该二维数据块池包括多个数据块,每个数据块分别对应二维索引表的一个坐标值;第一发送单元,用于通过所述二维索引表索引到所述多个数据块并发送至第二设备。第一设备将需要进行传输的目标数据重组得到二维数据块池,第一设备能够根据二维数据块池快速定位到每一个数据块,并将该二维数据块池发送至第二设备,减少了数据遍历花费的时长,提高了数据查找的效率,进而提高了数据传输效率。
在一种可能的设计中,在本申请实施例第三方面的第一种实现方式中,所述第一生成单元包括:遍历模块,用于根据预置的多线程层序遍历算法对需要传输的目标数据进行遍历,得到数据目录,所述数据目录包括至少一层目录;确定模块,用于根据目标数据的大小和至少一层目录确定二维索引表的横坐标和纵坐标,该二维索引表的纵坐标用于指示目标数据的分组数量,该二维索引表的横坐标用于指示每个分组对应的数据块数量;生成模块,用于生成二维索引表。对第一设备生成二维索引表的过程进行了细化,提供了具体的实现方式,增加了本申请的实现方式。
在一种可能的设计中,在本申请实施例第三方面的第二种实现方式中,每个数据块的大小与网络延迟负相关;线程数量与网络带宽正相关。对数据块的大小和线程数量进行了限定,明确数据块与网络延迟的关系,以及线程数量与网络带宽的关系,可以快速的设置数据块的大小和线程数量,提高了数据传输效率。
在一种可能的设计中,在本申请实施例第三方面的第三种实现方式中,所述设备还包括:第二生成单元,用于生成每个数据块的校验码,该校验码用于校验每个数据块的正确性。增加了生成校验码的过程,确保了传输的数据块的准确性。
在一种可能的设计中,在本申请实施例第三方面的第四种实现方式中,数据块包括头域信息和内容信息;头域信息中至少包括数据块的坐标值和校验码,坐标值用于指示数据块在二维数据块池中的位置;内容信息中包括头域信息指示的数据内容,数据内容包含于目标数据。对数据块的结构进行了限定,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第三方面的第五种实现方式中,包括:接收单元,若第一数据块传输失败,则用于接收所述第二设备发送的重传请求,所述重传请求中包括所述第一数据块的第一坐标值;确定单元,用于根据所述第一坐标值确定所述第一数据块在所述二维数据块池中的位置;获取单元,用于根据所述第一数据块的位置重新获取第一数据块;第二发送单元,用于向所述第二设备发送重新获取的第一数据块。增加了对传输失败的数据进行修复的过程,只针对传输失败的数据块进行重传,减少了进行数据修复的时间,提高了数据修复效率。
在一种可能的设计中,在本申请实施例第三方面的第六种实现方式中,当目标数据包含大文件,大文件由多个目标数据块组成时,目标数据块的头域信息中还包括第一指示信息,第一指示信息用于指示各个目标数据块在大文件中的位置,并在完成传输后组成大文件。增加了指示大文件组成的第一指示信息,以使得第二设备在接收到数据块后,根据第一指示信息将多个数据块还原成大文件。
在一种可能的设计中,在本申请实施例第三方面的第七种实现方式中,当目标数据包含多个小文件,多个小文件组成目标数据块时,目标数据块的头域信息中还包括第二指示信息,第二指示信息用于指示目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。增加了指示小文件组成的第二指示信息,以使得第二设备在接收到数据块后,根据第二指示信息将数据块还原成多个小文件。
在一种可能的设计中,在本申请实施例第三方面的第八种实现方式中,每个数据块的大小相同。对每个数据块的大小进行限定,得到的二维数据块池的结构更合理,便于进行数据查找,提高数据查找效率。
在一种可能的设计中,在本申请实施例第三方面的第九种实现方式中,数据内容为一个或多个目标文件;或,数据内容为目标文件的部分内容。对每个数据块中包含的数据内容进行限定,可以将多个小文件一起进行传输,提高了数据传输的效率。
在一种可能的设计中,在本申请实施例第三方面的第十种实现方式中,头域信息中还包括目标路径、源文件名、目标文件名、文件偏移地址和数据块大小。对数据块的头域信息中包括的内容进行了限定,使本申请在步骤上更完善。
本申请第四方面提供了一种设备,所述设备为第二设备,包括:第一接收单元,用于接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;生成单元,用于根据多个坐标值生成对应的二维索引表,所述二维索引表用于指示所述多个数据块的存储位置;排序单元,用于根据二维索引表对多个数据块中的每个数据块进行排序,得到二维数据块池,所述二维数据块池为需要传输的目标数据。第二设备根据接收到的多个数据块中包含的坐标值,并根据各个坐标值生成二维索引表,并将需要进行传输的目标数据重组得到二维数据块池,第二设备能够根据二维数据块池快速定位到每一个数据块,并对该二维数据块池中的数据块查找,减少了数据遍历花费的时长,提高了数据查找的效率,进而提高了数据传输效率。
在一种可能的设计中,在本申请实施例第四方面的第一种实现方式中,生成单元包括:第一确定模块,用于根据坐标值中的第二个值确定二维索引表的纵坐标,该二维索引表的纵坐标用于指示目标数据的分组数量;第二确定模块,用于根据所述坐标值中的第一个值确定二维索引表的横坐标,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;生成模块,用于根据横坐标和纵坐标生成对应的二维索引表。对第一设备生成二维索引表的过程进行了细化,提供了具体的实现方式,增加了本申请的实现方式。
在一种可能的设计中,在本申请实施例第四方面的第二种实现方式中,每个数据块的大小与网络延迟负相关;线程数量与网络带宽正相关。对数据块的大小和线程数量进行了限定,明确数据块与网络延迟的关系,以及线程数量与网络带宽的关系,可以快速的设置数据块的大小和线程数量,提高了数据传输效率。
在一种可能的设计中,在本申请实施例第四方面的第三种实现方式中,所述设备还包括:校验单元,用于根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。增加了生成校验码的过程,确保了传输的数据块的准确性。
在一种可能的设计中,在本申请实施例第四方面的第四种实现方式中,数据块包括头域信息和内容信息;头域信息中至少包括数据块的坐标值和校验码,该坐标值用于指示数据块在二维数据块池中的位置;内容信息中包括头域信息指示的数据内容,该数据内容包含于目标数据。对数据块的结构进行了限定,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第四方面的第五种实现方式中,包括:获取单元,若第一数据块传输失败,则用于确定所述第一数据块的第一坐标值;发送单元,用于向所述第一设备发送重传请求,所述重传请求中包括所述第一坐标值;第二接收单元,用于接收所述第一设备重新发送的第一数据块。增加了对传输失败的数据进行修复的过程,只针对传输失败的数据块进行重传,减少了进行数据修复的时间,提高了数据修复效率。
在一种可能的设计中,在本申请实施例第四方面的第六种实现方式中,当目标数据包含大文件,大文件由多个目标数据块组成时,目标数据块的头域信息中还包括第一指示信息,第一指示信息用于指示各个目标数据块在大文件中的位置,并在完成传输后组成大文件。增加了指示大文件组成的第一指示信息,以使得第二设备在接收到数据块后,根据第一指示信息将多个数据块还原成大文件。
在一种可能的设计中,在本申请实施例第五方面的第七种实现方式中,当目标数据包含多个小文件,多个小文件组成目标数据块时,目标数据块的头域信息中还包括第二指示信息,第二指示信息用于指示目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。增加了指示小文件组成的第二指示信息,以使得第二设备在接收到数据块后,根据第二指示信息将数据块还原成多个小文件。
在一种可能的设计中,在本申请实施例第四方面的第八种实现方式中,每个数据块的大小相同。对每个数据块的大小进行限定,得到的二维数据块池的结构更合理,便于进行数据查找,提高数据查找效率。
在一种可能的设计中,在本申请实施例第四方面的第九种实现方式中,数据内容为一个或多个目标文件;或,数据内容为目标文件的部分内容。对每个数据块中包含的数据内容进行限定,可以将多个小文件一起进行传输,提高了数据传输的效率。
在一种可能的设计中,在本申请实施例第四方面的第十种实现方式中,头域信息中还包括目标路径、源文件名、目标文件名、文件偏移地址和数据块大小。对数据块的头域信息中包括的内容进行了限定,使本申请在步骤上更完善。
本申请的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第六方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1为数据下载过程中下载速率和文件大小的关系示意图;
图2为通过SHA-256算法得到的哈希树的一个示意图;
图3为本申请实施例应用的网络架构的示意图;
图4A为本申请实施例中数据传输方法的一个实施例示意图;
图4B为本申请实施例中采用多线程层序遍历算法进行数据遍历的一个示意图;
图4C为本申请实施例中生成的二维索引表的一个示意图;
图4D为本申请实施例中二维数据块池中数据块和文件的关系示意图;
图5为本申请实施例中数据传输方法的另一个实施例示意图;
图6为本申请实施例中第一设备的一个实施例示意图;
图7为本申请实施例中第一设备的另一个实施例示意图;
图8为本申请实施例中第二设备的一个实施例示意图;
图9为本申请实施例中第二设备的另一个实施例示意图;
图10为本申请实施例中设备的另一个实施例示意图;
图11为本申请实施例中设备的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种数据传输方法及相关设备,用于提高目录遍历速度,提高了数据查找和数据修复的效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请文件中提及的“第一”或“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,本申请文件中提及的“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前已成功在广域网传输带宽为20MB/s条件下,传输2G大文件在2MB/s以上。例如,在A地到B地的广域网传输过程中,实际传输带宽利用率达80%以上。为了确保广域网对大文件的传输过程的准确性,现有方案中采用线性文件分块的解决方案,采用哈希树的方式保证文件内容的准确性,但是该方案中随着文件规模的增大,进行遍历所需的时长越长,耗费的硬件资源越多。
本申请可以应在如图3所示的网络框架中,在该网络框架中,第一设备作为源设备,第二设备作为目标设备,第一设备生成二维索引表,通过索引二维索引表中各个坐标对应数据并加载,将加载的文件数据传输至第二设备,从而实现传输文件从源设备到目标设备的全流程处理,减少遍历所需的时长,提高传输效率。
本申请基于RFC2616采用标准的HTTP1.1协议,还可以扩展到云存储、网盘、移动传输等应用场景,具体此处不做限定。可以理解的是,本身申请是基于云或服务器集群的跨区域的大数据量的可靠传输,本申请中的涉及的第一设备和第二设备可以是单独的一个设备,也可以是多个设备构成的设备集群,为了便于描述,本申请中仅以单个设备为例进行说明。
为便于理解,下面对本申请实施例的具体流程进行描述,请参阅图4A,本申请实施例中数据传输方法的一个实施例包括:
401、第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表。
第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,二维索引表用于指示目标数据中各个数据的存储位置。
具体的,第一设备先确定需要传输到第二设备的目标数据的大小,再根据目标数据的大小将目标数据划分为多个标准大小的数据块,其中,每个数据块的大小都相同;通过预置的多线程层序遍历算法,将目标数据中的每个数据块进行遍历,得到数据目录,该数据目录包括至少一层目录;根据目标数据的大小和至少一层目录确定二维索引表的横坐标和纵坐标,其中,该二维索引表的纵坐标用于指示分组数量,该二维索引表的横坐标用于指示每个分组对应的数据块数量;生成二维索引表。其中,第一设备为每一层目录配置一个或多个线程,即为每个分组对应分配一个线程,每个线程用于查找对应分组的数据块;根据分组数量及预置的线程池确定并发线程的数量。
需要说明的是,预置的多线程层序遍历算法是对现有的层序遍历算法的改进,引入多个线程,可以同时对多个数据块进行遍历,提高遍历效率。目标数据可以包括一个或多个目录,或者复杂多次目录。
举例说明,如图4B所示,该数据目录中可以包括4层目录(虚线框所示),分别为第一层目录、第二层目录、第三层目录、第四层目录,每一层目录都对应有一个或多个数据块,每一个数据块中包含有具体的数据内容。为每一层目录配置线程(实线框所示),其中,第一层目录配置一个线程,第二层目录配置六个线程,第三层目录配置六个线程,第四层目录配置三个线程,每一个线程用于查找对应分组的数据块的数据内容;根据目标数据的大小及预置的线程池,确定用于查找分组中数据块的并发线程的数量,预置的线程池的大小决定最大的线程数量;生成二维索引表,对二维索引表的横坐标和纵坐标进行标识,例如,如图4C所示,生成的二维索引表的纵坐标对应有9个分组,用字母ABCDEFGHI进行标识,每一个分组对应的数据块数量为9,用数字123456789进行标识,横坐标和纵坐标还可以是其他方式进行标识,例如,横坐标用字母标识,纵坐标用数字进行标识,具体此处不做限定。可以理解的是,同一层目录可能包含多个子目录,为树状结构(图4B中未示出),具体此处不做限定。
402、第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池。
第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池,该二维数据块池包括多个数据块,每个数据块分别对应该二维索引表的一个坐标值。
具体的,第一设备根据建立的二维索引表对需要进行传输的数据划分成一个个的数据块,并对各个数据块进行重组排序,得到对应与二维索引表的二维数据块池,二维数据块池中的每一个数据块都对应二维索引表中的一个坐标值,例如,在图4C所示的二维索引表中,第一个数据块的坐标值为(1,A),对应的数据大小可以为100MB。
每一个数据块由头域信息和内容信息两部分构成;其中,头域信息中至少包括该数据块的坐标值和校验码,该坐标值用于指示该数据块在二维数据块池中的位置,校验码用于校验该数据块的正确性;内容信息中包括头域信息指示的数据内容,该数据内容包含于目标数据。该头域信息中还可以包括目标路径、源文件名、目标文件名、文件偏移地址和数据块大小等相关信息。
需要说明的是,为了避免网络传输发生拥堵,在对每个数据块进行划分时需要参考当前的网络延迟,每个数据块的大小与网络延迟负相关,具体的,如表1所示,网络延迟越大,则数据块的大小越小,以使得传输速率更快,减少传输拥堵情况,例如,网络延迟和数据块的大小可以满足关系式:数据块大小=200/网络延迟,还可以是其他对应关系,具体此处不做限定。
表1:
网络延迟(ms) | 400 | 200 | 100 | 50 | 20 |
数据块大小(MB) | 0.5 | 1 | 2 | 4 | 10 |
为了提高网络的整体传输效率,在不发生拥堵的前提下,为尽量提高单次的传输速率,可以提高并发线程的数量来提高传输效率,并发的线程数量与网络带宽正相关,网络带宽越大,则并发的线程数量越多,并且并发的线程数量也与预置的线程池的大小相关,线程池越大,则并发的线程数量越多。
可以理解的是,可以是多个数据块的数据内容共同构成一个大文件,还可以是一个数据块构成一个标准文件,还可以是多个小文件构成一个数据块,其中,标准文件是与设定的数据块大小相同的文件,例如,1MB大小的文件;大文件是大于设定的数据块大小的文件,例如,1G大小的文件;小文件是指小于设定的数据块大小的文件,例如,100KB大小的文件。如图4D所示,26个数据块构成文件1(411),1个数据块构成文件2(412),1个数据块构成文件3(413),1个数据块中包括文件4(414)和文件5(415)。
403、第一设备通过二维索引表索引到多个数据块并发送至第二设备。
第一设备通过二维索引表索引到多个数据块并发送至第二设备。
具体的,第一设备根据二维索引表索引到二维数据块池中的每一个数据块,并分别进行压缩,再通过网络将每一个数据块对应的压缩数据包发送至第二设备。
需要说明的是,在第一设备向第二设备发送数据包之前,第一设备可以获取到对应的数据请求,该数据请求用于指示第一设备将目标数据发送至第二设备,其中,目标数据可以包括一个或多个文件,具体此处不再赘述。
404、第二设备根据多个坐标值生成对应的二维索引表。
第二设备根据接收到的数据块获取每一个数据块中包含的坐标值,其中,每一个数据块中包含的坐标值都不同,将获取到的多个坐标值按照预置规则进行排序,得到对应的二维索引表。
需要说明的是,在生成二维索引表之前,第二设备需要对接收到的数据包进行解压,得到一个或多个数据块。
405、第二设备根据二维索引表对多个数据块中的每个数据块进行排序,得到二维数据块池。
第二设备根据二维索引表对一个或多个数据块中的每个数据块进行排序,得到二维数据块池。
具体的,第二设备通过二维索引表中的二维坐标(x,y)快速定位该数据块,每一个数据块的头域信息中携带有一个坐标值,每一个数据块的内容信息中可以装载不同大小的文件,或者大文件的指定位置偏移量的内容,方便数据传输后的内容校验。其中,数据块大小算法和并发线程数设置是关键要素。
需要说明的是,若一个数据块为大文件的一部分,则第二设备在接收到该数据块后会自动将该数据块与其他关联的数据块组合成大文件,具体的,第二设备根据该数据块的头域信息中携带的第一指示信息确定该数据块在大文件中的位置,将该数据块和其他关联的数据块组合成大文件单独存储。
若一个数据块中包括多个小文件,则第二设备在接收到该数据块后会自动将该数据块分解成多个小文件,具体的,第二设备根据该数据块的头域信息中携带的第二指示信息确定该数据块中各个小文件的位置,将该数据块中包含的多个小文件单独存储。
本申请实施例中,第一设备将需要进行传输的目标数据重组得到二维数据块池,第一设备能够根据二维数据块池快速定位到每一个数据块,并将该二维数据块池发送至第二设备,减少了数据遍历花费的时长,提高了数据查找的效率,进而提高了数据传输效率。
请参阅图5,本申请实施例中数据传输方法的另一实施例包括:
501、第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表。
第一设备根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,二维索引表用于指示目标数据中各个数据的存储位置。
具体的,第一设备先确定需要传输到第二设备的目标数据的大小,再根据目标数据的大小将目标数据划分为多个标准大小的数据块,其中,每个数据块的大小都相同;通过预置的多线程层序遍历算法,将目标数据中的每个数据块进行遍历,得到数据目录,该数据目录包括至少一层目录;根据目标数据的大小和至少一层目录确定二维索引表的横坐标和纵坐标,其中,该二维索引表的纵坐标用于指示分组数量,该二维索引表的横坐标用于指示每个分组对应的数据块数量;生成二维索引表。其中,第一设备为每一层目录配置一个或多个线程,即为每个分组对应分配一个线程,每个线程用于查找对应分组的数据块;根据分组数量及预置的线程池确定并发线程的数量。
502、第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池。
第一设备根据二维索引表对目标数据进行数据重组,得到二维数据块池,该二维数据块池包括多个数据块,每个数据块分别对应该二维索引表的一个坐标值。
具体的,第一设备根据建立的二维索引表对需要进行传输的数据划分成一个个的数据块,并对各个数据块进行重组排序,得到对应与二维索引表的二维数据块池,二维数据块池中的每一个数据块都对应二维索引表中的一个坐标值。
步骤501至步骤502与上述步骤401至402类似,具体此处不再赘述。
503、第一设备生成每个数据块的校验码。
第一设备生成每个数据块的校验码,校验码用于校验每个数据块的正确性。
具体的,本申请实施例中,生成的校验码可以为利用消息摘要算法(messagedigest algorithm 5,MD5)生成的校验码,该校验码用于对数据内容的一致性进行校验,校验码还可以是由其他现有算法生成,具体此处不做限定。
504、第一设备通过二维索引表索引到多个数据块并发送至第二设备。
第一设备通过二维索引表索引到多个数据块并发送至第二设备。
具体的,第一设备根据二维索引表索引到二维数据块池中的每一个数据块,并分别进行压缩,再通过网络将每一个数据块对应的压缩数据包发送至第二设备。
需要说明的是,在第一设备向第二设备发送数据包之前,第一设备可以获取到对应的数据请求,该数据请求用于指示第一设备将目标数据发送至第二设备,其中,目标数据可以包括一个或多个文件,具体此处不再赘述。
505、第二设备根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。
第二设备根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。当接收到的数据块都是正确的,则执行步骤507,若接收到的一个或多个数据块不正确或传输失败,则执行步骤506。
需要说明的是,第二设备在进行数据校验之前,还需要对接收到的压缩数据包进行解压操作,以得到多个数据块。
506、第二设备获取第一设备发送的重传数据块。
第二设备获取第一设备重传的重传数据块,该重传数据块为发生传输失败或错误并需要重传的数据块。
具体的,第二设备向第一设备发送重传请求,该重传请求中携带有指示目标数据块位置的目标坐标值,第一设备根据目标坐标值确定目标数据块在二维数据块池中的位置;第一设备根据目标数据块的位置重新获取目标数据块;第一设备根据接到的重传请求将重新获取的目标数据块发送至第二设备,第二设备再对该数据块进行校验,若校验不正确,则继续重传;若检验正确,则继续执行后续步骤。
需要说明的是,在现有技术中,若传输过程发生中断或异常,即某一个数据发生传输错误或失败,则从异常的地方开始续传或从头开始进行传输,耗费时间,即数据修复的时间长,修复效率低;本申请实施例中,若某一个或多个数据块发生传输错误或失败,则只需将发生传输错误或失败的数据块进行重传,不需要对其他数据块进行重传,耗费的时间短,数据修复效率高。
507、第二设备根据多个坐标值生成对应的二维索引表。
第二设备根据接收到的数据块获取每一个数据块中包含的坐标值,其中,每一个数据块中包含的坐标值都不同,将获取到的多个坐标值按照预置规则进行排序,得到对应的二维索引表。
需要说明的是,在生成二维索引表之前,第二设备需要对接收到的数据包进行解压,得到一个或多个数据块。
508、第二设备根据二维索引表对多个数据块中的每个数据块进行排序,得到二维数据块池。
第二设备根据二维索引表对多个数据块中的每个数据块进行排序,得到二维数据块池。
具体的,第二设备通过二维索引表中的二维坐标(x,y)快速定位该数据块,每一个数据块的头域信息中携带有一个坐标值,每一个数据块的内容信息中可以装载不同大小的文件,或者大文件的指定位置偏移量的内容,方便数据传输后的内容校验。其中,数据块大小算法和并发线程数设置是关键要素。
需要说明的是,若一个数据块为大文件的一部分,则第二设备在接收到该数据块后会自动将该数据块与其他关联的数据块组合成大文件,具体的,第二设备根据该数据块的头域信息中携带的第一指示信息确定该数据块在大文件中的位置,将该数据块和其他关联的数据块组合成大文件单独存储。
若一个数据块中包括多个小文件,则第二设备在接收到该数据块后会自动将该数据块分解成多个小文件,具体的,第二设备根据该数据块的头域信息中携带的第二指示信息确定该数据块中各个小文件的位置,将该数据块中包含的多个小文件单独存储。
步骤507至步骤508与上述步骤404至405类似,具体此处不再赘述。
本申请实施例中,第一设备将需要进行传输的目标数据重组得到二维数据块池,并将该二维数据块池发送至第二设备,并将发生传输失败或错误的数据块冲重新发送至第二设备,第一设备能够快速定位到每一个数据块,在减少数据遍历时长的同时,减少了数据块重传花费的时长,提高了数据修复的效率。
上面对本申请实施例中数据传输方法进行了描述,下面对本申请实施例中设备进行描述,请参阅图6,本申请实施例中第一设备的一个实施例包括:
第一生成单元601,用于根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置;
重组单元602,用于根据所述二维索引表对所述目标数据进行数据重组,得到二维数据块池,所述二维数据块池包括多个数据块,每个数据块分别对应所述二维索引表的一个坐标值;
第一发送单元603,用于通过所述二维索引表索引到所述多个数据块并发送至第二设备。
本申请实施例中,第一设备将需要进行传输的目标数据重组得到二维数据块池,并将该二维数据块池发送至第二设备,以使得第二设备能够快速定位到每一个数据块,减少了数据遍历时长,提高了数据查找的效率。
请参阅图7,本申请实施例中第一设备的另一个实施例包括:
第一生成单元701,用于根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置;
重组单元702,用于根据所述二维索引表对所述目标数据进行数据重组,得到二维数据块池,所述二维数据块池包括多个数据块,每个数据块分别对应所述二维索引表的一个坐标值;
第一发送单元703,用于通过所述二维索引表索引到所述多个数据块并发送至第二设备。
在一种可行的实施方式中,第一生成单元701包括:
遍历模块7011,用于根据预置的多线程层序遍历算法对需要传输的目标数据进行遍历,得到数据目录,所述数据目录包括至少一层目录;
确定模块7012,用于根据所述目标数据的大小和所述至少一层目录确定二维索引表的横坐标和纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;
生成模块7013,用于生成二维索引表。
在一种可行的实施方式中,每个数据块的大小与网络延迟负相关;线程数量与网络带宽正相关。
在一种可行的实施方式中,第一设备还包括:
第二生成单元704,用于生成每个数据块的校验码,所述校验码用于校验每个数据块的正确性。
在一种可行的实施方式中,数据块包括头域信息和内容信息;
所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;
所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。
在一种可行的实施方式中,所第一设备还包括:
接收单元705,若第一数据块传输失败,则用于接收所述第二设备发送的重传请求,所述重传请求中包括所述第一数据块的第一坐标值;
确定单元706,用于根据所述第一坐标值确定所述第一数据块在所述二维数据块池中的位置;
获取单元707,用于根据所述第一数据块的位置重新获取第一数据块;
第二发送单元708,用于向所述第二设备发送重新获取的第一数据块。
在一种可行的实施方式中,当所述目标数据包含大文件,所述大文件由多个目标数据块组成时,所述目标数据块的头域信息中还包括第一指示信息,所述第一指示信息用于指示各个目标数据块在所述大文件中的位置,并在完成传输后组成所述大文件。
在一种可行的实施方式中,当所述目标数据包含多个小文件,所述多个小文件组成目标数据块时,所述目标数据块的头域信息中还包括第二指示信息,所述第二指示信息用于指示所述目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。
请参阅图8,本申请实施例中第二设备的一个实施例包括:
第一接收单元801,用于接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;
生成单元802,用于根据多个坐标值生成对应的二维索引表,所述二维索引表用于指示所述多个数据块的存储位置;
排序单元803,用于根据所述二维索引表对所述多个数据块中的每个数据块进行排序,得到二维数据块池,所述二维数据块池为需要传输的目标数据。
本申请实施例中,第二设备根据接收到的数据块生成二维索引表,并根据该二维索引表对接收到的数据块进行排序,得到二维数据块池,该二维数据块池包括对应不同坐标值的各个数据块,减少了第二设备的数据遍历时长,提高了数据查找的效率。
请参阅图9,本申请实施例中第一设备的另一个实施例包括:
第一接收单元901,用于接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;
生成单元902,用于根据多个坐标值生成对应的二维索引表,所述二维索引表用于指示所述多个数据块的存储位置;
排序单元903,用于根据所述二维索引表对所述多个数据块中的每个数据块进行排序,得到二维数据块池,所述二维数据块池为需要传输的目标数据。
在一种可行的实施方式中,生成单元902包括:
第一确定模块9021,用于根据所述坐标值中的第二个值确定二维索引表的纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量;
第二确定模块9022,用于根据所述坐标值中的第一个值确定二维索引表的横坐标,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;
生成模块9023,用于根据所述横坐标和所述纵坐标生成对应的二维索引表。
在一种可行的实施方式中,每个数据块的大小与网络延迟负相关;
所述线程数量与网络带宽正相关。
在一种可行的实施方式中,所述第二设备还包括:
校验单元904,用于根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。
在一种可行的实施方式中,所述数据块包括头域信息和内容信息;
所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;
所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。
在一种可行的实施方式中,所述第二设备还包括:
获取单元905,若第一数据块传输失败,则用于确定所述第一数据块的第一坐标值;
发送单元906,用于向所述第一设备发送重传请求,所述重传请求中包括所述第一坐标值;
第二接收单元907,用于接收所述第一设备重新发送的第一数据块。
上面图6至图9从模块化功能实体的角度分别对本申请实施例中第一设备和第二设备进行详细描述,下面从硬件处理的角度对本申请实施例中设备进行详细描述。
图10是本申请实施例提供的一种设备的结构示意图,该设备可以是服务器,该设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1001(例如,一个或一个以上处理器)和存储器1009,一个或一个以上存储应用程序1009或数据1006的存储介质1008(例如一个或一个以上海量存储设备)。其中,存储器1009和存储介质1008可以是短暂存储或持久存储。存储在存储介质1008的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对设备中的一系列指令操作。更进一步地,处理器1001可以设置为与存储介质1008通信,在设备1000上执行存储介质1008中的一系列指令操作。
设备1000还可以包括一个或一个以上电源1002,一个或一个以上有线或无线网络接口1003,一个或一个以上输入输出接口1004,和/或,一个或一个以上操作系统1005,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图10中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对设备的各个构成部件进行具体的介绍:
处理器1001是设备的控制中心,可以按照设置的数据传输方法进行处理。处理器1001利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器1009内的软件程序和/或模块,以及调用存储在存储器1009内的数据,执行设备的各种功能和处理数据,从而实现数据的传输。
存储器1009可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1009的软件程序以及模块,从而执行设备1000的各种功能应用以及数据处理。存储器1009可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如生成二维数据块池等)等;存储数据区可存储根据设备的使用所创建的数据(比如生成二维索引表等)等。此外,存储器1009可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。在本申请实施例中提供的数据传输方法的程序和接收到的数据流存储在存储器中,当需要使用时,处理器1001从存储器1009中调用。
下面结合图11对设备的各个构成部件进行具体的介绍,该设备可以是终端设备:
图11示出的是与本申请实施例提供的设备的部分结构的框图。参考图11,所述终端设备包括:射频(radio frequency,RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,WIFI)模块1170和处理器1180等部件。本领域技术人员可以理解,图11中示出的终端设备结构并不构成对所述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所述处理器1180是终端设备的控制中心,在本申请实施例中,可以根据预置的多线程层序遍历算法生成二维索引表,并根据二维索引表对目标数据进行重组得到二维数据块池,并将该二维数据块池中的各个数据块发送至与其连接的其他设备。
RF电路1110通过总线与所述处理器1180连接,负责向互联网发送数据或者从互联网接收数据,还可用于收发信息过程中,信号的接收和发送,例如,向第二设备发送二维数据块池中的各个数据块;另外,第一设备在接收到第二设备发送的重传请求后,将重传请求发送给所述处理器1180处理。通常,所述RF电路1110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,LNA)、双工器等。此外,所述RF电路1110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global system of mobile communication,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址(codedivision multiple access,CDMA)、宽带码分多址(wideband code division multipleaccess,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(shortmessaging service,SMS)等。
存储器1120可用于存储软件程序以及模块,所述处理器1180通过运行存储在所述存储器1120的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。所述存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如根据预置的多线程层序遍历算法生成二维索引表等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如二维数据块池等)等。此外,所述存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (33)
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.一种数据传输设备,其特征在于,所述设备为第一设备,包括:
第一生成单元,用于根据预置的多线程层序遍历算法和需要传输的目标数据的大小生成二维索引表,所述二维索引表用于指示所述目标数据中各个数据的存储位置;
重组单元,用于根据所述二维索引表对所述目标数据进行数据重组,得到二维数据块池,所述二维数据块池包括多个数据块,每个数据块分别对应所述二维索引表的一个坐标值;
第一发送单元,用于通过所述二维索引表索引到所述多个数据块并发送至第二设备。
18.根据权利要求17所述的设备,其特征在于,所述第一生成单元包括:
遍历模块,用于根据预置的多线程层序遍历算法对需要传输的目标数据进行遍历,得到数据目录,所述数据目录包括至少一层目录;
确定模块,用于根据所述目标数据的大小和所述至少一层目录确定二维索引表的横坐标和纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;
生成模块,用于生成二维索引表。
19.根据权利要求18所述的设备,其特征在于,
每个数据块的大小与网络延迟负相关;
所述线程数量与网络带宽正相关。
20.根据权利要求17-19任一所述的设备,其特征在于,所述设备还包括:
第二生成单元,用于生成每个数据块的校验码,所述校验码用于校验每个数据块的正确性。
21.根据权利要求20所述的设备,其特征在于,
所述数据块包括头域信息和内容信息;
所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;
所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。
22.根据权利要求21所述的设备,其特征在于,所述设备还包括:
接收单元,若第一数据块传输失败,则用于接收所述第二设备发送的重传请求,所述重传请求中包括所述第一数据块的第一坐标值;
确定单元,用于根据所述第一坐标值确定所述第一数据块在所述二维数据块池中的位置;
获取单元,用于根据所述第一数据块的位置重新获取第一数据块;
第二发送单元,用于向所述第二设备发送重新获取的第一数据块。
23.根据权利要求21所述的设备,其特征在于,
当所述目标数据包含大文件,所述大文件由多个目标数据块组成时,所述目标数据块的头域信息中还包括第一指示信息,所述第一指示信息用于指示各个目标数据块在所述大文件中的位置,并在完成传输后组成所述大文件。
24.根据权利要求21所述的设备,其特征在于,
当所述目标数据包含多个小文件,所述多个小文件组成目标数据块时,所述目标数据块的头域信息中还包括第二指示信息,所述第二指示信息用于指示所述目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。
25.一种数据传输设备,其特征在于,所述设备为第二设备,包括:
第一接收单元,用于接收第一设备发送的多个数据块,每个数据块中包含一个坐标值;
生成单元,用于根据多个坐标值生成对应的二维索引表,所述二维索引表用于指示所述多个数据块的存储位置;
排序单元,用于根据所述二维索引表对所述多个数据块中的每个数据块进行排序,得到二维数据块池,所述二维数据块池为需要传输的目标数据。
26.根据权利要求25所述的设备,其特征在于,所述生成单元包括:
第一确定模块,用于根据所述坐标值中的第二个值确定二维索引表的纵坐标,所述二维索引表的纵坐标用于指示目标数据的分组数量;
第二确定模块,用于根据所述坐标值中的第一个值确定二维索引表的横坐标,所述二维索引表的横坐标用于指示每个分组对应的数据块数量;
生成模块,用于根据所述横坐标和所述纵坐标生成对应的二维索引表。
27.根据权利要求26所述的设备,其特征在于,
每个数据块的大小与网络延迟负相关。
28.根据权利要求25-27任一所述的设备,其特征在于,所述设备还包括:
校验单元,用于根据每个数据块中携带的校验码进行校验,确定每个数据块的正确性。
29.根据权利要求28所述的设备,其特征在于,
所述数据块包括头域信息和内容信息;
所述头域信息中至少包括所述数据块的坐标值和所述校验码,所述坐标值用于指示所述数据块在所述二维数据块池中的位置;
所述内容信息中包括所述头域信息指示的数据内容,所述数据内容包含于所述目标数据。
30.根据权利要求29所述的设备,其特征在于,所述设备还包括:
获取单元,若第一数据块传输失败,则用于确定所述第一数据块的第一坐标值;
发送单元,用于向所述第一设备发送重传请求,所述重传请求中包括所述第一坐标值;
第二接收单元,用于接收所述第一设备重新发送的第一数据块。
31.根据权利要求29所述的设备,其特征在于,
当所述目标数据包含大文件,所述大文件由多个目标数据块组成时,所述目标数据块的头域信息中还包括第一指示信息,所述第一指示信息用于指示各个目标数据块在所述大文件中的位置,并在完成传输后组成所述大文件。
32.根据权利要求29所述的设备,其特征在于,
当所述目标数据包含多个小文件,所述多个小文件组成目标数据块时,所述目标数据块的头域信息中还包括第二指示信息,所述第二指示信息用于指示所述目标数据块中包含的各个小文件的位置,并在完成传输后分解成各个小文件。
33.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-14任意一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810369971.1A CN108809514B (zh) | 2018-04-23 | 2018-04-23 | 一种数据传输方法及相关设备 |
EP19792099.4A EP3780438B1 (en) | 2018-04-23 | 2019-04-01 | Data transmission method and related device |
PCT/CN2019/080823 WO2019205897A1 (zh) | 2018-04-23 | 2019-04-01 | 一种数据传输方法及相关设备 |
US17/073,438 US11476977B2 (en) | 2018-04-23 | 2020-10-19 | Data transmission method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810369971.1A CN108809514B (zh) | 2018-04-23 | 2018-04-23 | 一种数据传输方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809514A CN108809514A (zh) | 2018-11-13 |
CN108809514B true CN108809514B (zh) | 2021-01-12 |
Family
ID=64093166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810369971.1A Active CN108809514B (zh) | 2018-04-23 | 2018-04-23 | 一种数据传输方法及相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11476977B2 (zh) |
EP (1) | EP3780438B1 (zh) |
CN (1) | CN108809514B (zh) |
WO (1) | WO2019205897A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809514B (zh) | 2018-04-23 | 2021-01-12 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
CN111200479B (zh) * | 2018-11-19 | 2022-04-12 | 福建天泉教育科技有限公司 | 传输数据的校验方法、存储介质 |
CN109887456A (zh) * | 2019-01-17 | 2019-06-14 | 硅谷数模半导体(北京)有限公司 | 数据压缩方法及装置 |
CN116057925A (zh) * | 2019-11-20 | 2023-05-02 | 深圳市欢太科技有限公司 | 一种数据传输方法、数据下载方法及终端 |
CN113160187B (zh) * | 2021-04-27 | 2022-02-15 | 圣名科技(广州)有限责任公司 | 一种设备的故障检测方法及装置 |
CN117785499A (zh) * | 2022-09-22 | 2024-03-29 | 华为技术有限公司 | 聚合通信中的数据传输方法以及系统 |
CN115576899B (zh) * | 2022-12-09 | 2023-03-21 | 深圳市木浪云科技有限公司 | 构建索引的方法和装置以及文件查找方法和装置 |
CN117688593B (zh) * | 2024-02-02 | 2024-04-30 | 新汽有限公司 | 一种网络大数据的管理系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782921A (zh) * | 2009-12-28 | 2010-07-21 | 北京握奇数据系统有限公司 | 一种目录创建、查询和删除方法及装置 |
CN101945207A (zh) * | 2010-09-17 | 2011-01-12 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 |
CN103019895A (zh) * | 2012-12-28 | 2013-04-03 | 华为技术有限公司 | 文件存储方法及装置 |
CN103116555A (zh) * | 2013-03-05 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 基于多体并行缓存结构的数据访问方法 |
CN104753626A (zh) * | 2013-12-25 | 2015-07-01 | 华为技术有限公司 | 一种数据压缩方法、设备及系统 |
CN105302550A (zh) * | 2015-10-12 | 2016-02-03 | 江苏中威科技软件系统有限公司 | 将页面转为版式数据流文件的方法及系统 |
WO2016061925A1 (zh) * | 2014-10-22 | 2016-04-28 | 中兴通讯股份有限公司 | 一种路由表的维护方法、装置及存储介质 |
CN105677904A (zh) * | 2016-02-04 | 2016-06-15 | 杭州数梦工场科技有限公司 | 基于分布式文件系统的小文件存储方法及装置 |
CN105933412A (zh) * | 2016-04-20 | 2016-09-07 | 北京云宏信达信息科技有限公司 | 文件接收方法和装置及文件传输系统 |
CN106528830A (zh) * | 2016-11-16 | 2017-03-22 | 华为技术有限公司 | 一种恢复文件索引目录的方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126201A1 (en) * | 2001-11-30 | 2003-07-03 | Khoi Hoang | Efficient storage of data files received in a non-sequential manner |
CA2415018C (en) * | 2002-12-23 | 2006-09-19 | Ibm Canada Limited - Ibm Canada Limitee | Adaptive parallel data clustering when loading a data structure containing data clustered along one or more dimensions |
US7212681B1 (en) * | 2003-01-15 | 2007-05-01 | Cisco Technology, Inc. | Extension of two-dimensional variable length coding for image compression |
AU2005322044A1 (en) * | 2004-12-24 | 2006-07-06 | Aspera, Inc. | Bulk data transfer |
US7636767B2 (en) * | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
US8077059B2 (en) * | 2006-07-21 | 2011-12-13 | Eric John Davies | Database adapter for relational datasets |
US8725986B1 (en) * | 2008-04-18 | 2014-05-13 | Netapp, Inc. | System and method for volume block number to disk block number mapping |
US8707141B1 (en) * | 2011-08-02 | 2014-04-22 | Cisco Technology, Inc. | Joint optimization of packetization and error correction for video communication |
CN104243425B (zh) * | 2013-06-19 | 2018-09-04 | 深圳市腾讯计算机系统有限公司 | 一种在内容分发网络中进行内容管理的方法、装置及系统 |
JP6730437B2 (ja) * | 2016-08-24 | 2020-07-29 | 株式会社日立製作所 | 転送装置及びネットワークシステム |
CN108809514B (zh) * | 2018-04-23 | 2021-01-12 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
CN110784528B (zh) * | 2019-10-22 | 2023-04-18 | 北京天融信网络安全技术有限公司 | 一种文件下载方法、装置和存储介质 |
-
2018
- 2018-04-23 CN CN201810369971.1A patent/CN108809514B/zh active Active
-
2019
- 2019-04-01 EP EP19792099.4A patent/EP3780438B1/en active Active
- 2019-04-01 WO PCT/CN2019/080823 patent/WO2019205897A1/zh unknown
-
2020
- 2020-10-19 US US17/073,438 patent/US11476977B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782921A (zh) * | 2009-12-28 | 2010-07-21 | 北京握奇数据系统有限公司 | 一种目录创建、查询和删除方法及装置 |
CN101945207A (zh) * | 2010-09-17 | 2011-01-12 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒升级数据的二维索引表快速缓冲方法 |
CN103019895A (zh) * | 2012-12-28 | 2013-04-03 | 华为技术有限公司 | 文件存储方法及装置 |
CN103116555A (zh) * | 2013-03-05 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 基于多体并行缓存结构的数据访问方法 |
CN104753626A (zh) * | 2013-12-25 | 2015-07-01 | 华为技术有限公司 | 一种数据压缩方法、设备及系统 |
WO2016061925A1 (zh) * | 2014-10-22 | 2016-04-28 | 中兴通讯股份有限公司 | 一种路由表的维护方法、装置及存储介质 |
CN105302550A (zh) * | 2015-10-12 | 2016-02-03 | 江苏中威科技软件系统有限公司 | 将页面转为版式数据流文件的方法及系统 |
CN105677904A (zh) * | 2016-02-04 | 2016-06-15 | 杭州数梦工场科技有限公司 | 基于分布式文件系统的小文件存储方法及装置 |
CN105933412A (zh) * | 2016-04-20 | 2016-09-07 | 北京云宏信达信息科技有限公司 | 文件接收方法和装置及文件传输系统 |
CN106528830A (zh) * | 2016-11-16 | 2017-03-22 | 华为技术有限公司 | 一种恢复文件索引目录的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019205897A1 (zh) | 2019-10-31 |
EP3780438A4 (en) | 2021-04-21 |
EP3780438B1 (en) | 2023-10-25 |
US20210037098A1 (en) | 2021-02-04 |
EP3780438A1 (en) | 2021-02-17 |
CN108809514A (zh) | 2018-11-13 |
US11476977B2 (en) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809514B (zh) | 一种数据传输方法及相关设备 | |
US7643505B1 (en) | Method and system for real time compression and decompression | |
CN113934660B (zh) | 加速网络分组处理 | |
CN110324245B (zh) | 一种基于集成流表转发报文的方法及装置 | |
EP1159813B1 (en) | Method and apparatus for dynamic packet batching with a network interface | |
CN110928483B (zh) | 数据存储、数据获取方法及设备 | |
WO2014101848A1 (en) | Efficient de-duping using deep packet inspection | |
EP4017205B1 (en) | Method and device for reporting ue capability information | |
CN105827604A (zh) | 服务器业务处理方法及服务器 | |
CN110825706B (zh) | 一种数据压缩的方法和相关设备 | |
EP3720068A1 (en) | Message processing method and device | |
EP1163777A2 (en) | Method and apparatus for identifying and classifying network traffic in a high performance network interface | |
CN110955496A (zh) | 内存处理方法及装置、存储介质、电子装置 | |
US10802714B2 (en) | Optimizing access to universal integrated circuit card (UICC) files in a user equipment (UE) | |
EP3993366B1 (en) | Network load balancer, request message distribution method, program product and system | |
CN105634999A (zh) | 一种介质访问控制地址的老化方法及装置 | |
CN107608809B (zh) | 异常处理方法及装置 | |
CN114039698A (zh) | 基于多频率的数据发送和接收方法、装置和设备 | |
CN114265845A (zh) | 一种延时任务的处理方法、装置和电子设备 | |
CN111865884B (zh) | 一种报文处理方法、装置及设备 | |
US9843655B1 (en) | Method and apparatus for packet data unit processing | |
EP3009926A1 (en) | Direct table storage method and device | |
CN117424862A (zh) | 报文转发方法、装置、设备及芯片系统 | |
CN113452766A (zh) | 节点切换的方法、装置、存储介质及电子装置 | |
CN116418752A (zh) | 报文的处理方法、装置、存储介质和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |