CN109120385A - 一种基于数据传输系统的数据传输方法、装置及系统 - Google Patents
一种基于数据传输系统的数据传输方法、装置及系统 Download PDFInfo
- Publication number
- CN109120385A CN109120385A CN201810930629.4A CN201810930629A CN109120385A CN 109120385 A CN109120385 A CN 109120385A CN 201810930629 A CN201810930629 A CN 201810930629A CN 109120385 A CN109120385 A CN 109120385A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- memory node
- information
- server
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0017—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
- H04L1/0018—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
-
- 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/1829—Arrangements specially adapted for the receiver end
-
- 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/1867—Arrangements specially adapted for the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本申请提供一种基于数据传输系统的数据传输方法、装置及系统,用于减少重传数据过程中的网络传输负担。该方法包括向至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使第一管理节点向至少一个存储节点发送用于指示至少一个存储节点中的L个存储节点发送第一数据包括的K个数据块以及与K个数据块一一对应的K个第一信息的第一指令;从L个存储节点中获取与第一数据对应的M个数据块,以及M个数据块一一对应的M个第一信息;根据M个数据块以及M个第一信息,从L个存储节点中确定与M个数据块中出现数据错误的第一数据块对应的第一存储节点;向第一存储节点发送第二请求,以使第一存储节点重新发送第一数据块。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种基于数据传输系统的数据传输方法、装置及系统。
背景技术
远程直接内存访问(Remote Direct Memory Access,RDMA)传输数据可以满足大数据传输的低处理延时的需求。存储系统中,一个数据可能分布地存储多个存储节点中,当本地服务器需要获取该数据时,需要向多个存储节点发送数据读取请求,该多个存储节点中的每个存储节点注册相应的内存缓冲区,然后将存储在每个存储节点上的数据块依次写入注册的内存缓冲区中,本地服务器获取该内存缓冲区中的多个数据块,然后将多个数据块进行组合,最终获取该数据。
本地服务器依次接收到相应的数据块之后,会校验某个或者某些数据块是否出错,一旦某个数据块出错,本地服务器会要求该多个存储节点中的每个存储节点重传数据,多个存储节点需要重复上述的数据传输过程,多个存储节点重传数据过程会消耗网络带宽,增加网络传输负担。
发明内容
本申请实施例提供一种数据传输方法、装置及系统,用于减少重传数据过程中的网络传输负担。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种基于数据传输系统的数据传输方法,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个服务器中的第一服务器中,所述方法包括:
向所述至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使所述第一管理节点向所述至少一个存储节点发送用于指示所述至少一个存储节点中的L个存储节点发送所述第一数据包括的K个数据块以及与所述K个数据块一一对应的K个第一信息的第一指令,其中,所述第一数据分布存储在所述L个存储节点中,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息,L为小于或等于K的正整数;
从所述L个存储节点中获取与所述第一数据对应的M个数据块,以及所述M个数据块一一对应的M个第一信息,其中,M为小于或等于K的正整数;
根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点;
向所述第一存储节点发送第二请求,以使所述第一存储节点重新发送所述第一数据块。
本申请实施例中,存储节点在向服务器发送数据块,还同时发送该数据块对应的第一信息,第一信息包括该数据块所在存储节点的信息,当服务器接收到相应的数据块以及第一信息之后,如果某个数据块传输出错,服务器可以根据第一信息确定哪个存储节点发送的该数据块,从而直接让对应的存储节点重新发送该数据块即可,相较于现有技术中一旦某个数据出错,所有存储节点都需要重新发送的技术方案,本申请实施例只需让相应的存储节点重新发送该数据块即可,无需其余的存储节点重传,从而减少重传过程中网络传输负担,同时减少了重传的时间,提高了数据传输的效率。
可选的,根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点,包括:
将所述M个数据块中的每个数据块中携带的校验码与其携带的数据内容进行运算,获得与所述M个数据块中的每个数据块对应的校验值;
将对应的校验值与预设值不同的数据块确定为所述第一数据块;
根据与所述第一数据块对应的第一信息,确定出所述第一存储节点。
本申请实施例中服务器还接收有第一信息,服务器可以根据第一信息确定出传输出错的第一存储节点,减少重传过程中的网络传输负担。
可选的,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点之前,还包括:
从所述第一管理节点获取包括所述K个数据块的标识及所述K个第一信息的第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的。
本申请实施例中服务器还可以从管理节点获取第二信息,服务器可以根据第二信息、M个第一信息确定出缺失和/或传输出错的数据块对应的存储节点,从而避免所有的存储节点重传,进一步地减少重传过程中的网络传输负担。
可选的,所述方法还包括:
若M小于K,则根据所述M个数据块的标识以及所述第二信息,确定出未接收到的第二数据块的标识;
根据所述第二信息以及所述第二数据块的标识,确定出所述第二数据块所在的第二存储节点;
向所述第一管理节点发送第三请求,以使所述第一管理节点向所述第二存储节点发送用于指示所述第二存储节点重新发送所述第二数据块的第二指令。
服务器可以根据第二信息、M个第一信息确定出缺失的数据块对应的存储节点,直接由服务器请求缺失的数据块对应的存储节点重发数据块即可。
本申请实施例中,将存储节点上的数据进行拆分之后,存储节点将拆分后的数据块发送给服务器时,能够减少存储节点每次传输的负担,且,在存储节点传输出错的时候,存储节点只需重新发送相应的数据块即可,无需该存储节点将其所存储的所有数据块重传,进一步地减少重传过程中的网络传输负担。
第二方面,一种基于数据传输系统的数据传输方法,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个管理节点中的第一管理节点,所述方法包括:
接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求;
向所述至少一个存储节点发送第一指令,以使所述至少一个存储节点中的L个存储节点将所述第一数据包括的K个数据块,以及所述K个数据块一一对应的K个第一信息发送给所述第一服务器,其中,所述第一数据分布存储在所述L个存储节点,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息。
可选的,所述方法还包括:
接收所述L个存储节点中的每个存储节点发送的第一信息,得到所述K个第一信息;
根据所述K个第一信息及所述K个数据块的标识生成第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的;
将所述第二信息发送给所述第一服务器。
可选的,将所述第二信息发送给所述第一服务器之后,还包括:
接收所述第一服务器发送的用于请求第二存储节点重发第二数据块的第三请求,其中,所述第二存储节点为所述第一服务器根据所述第二信息以及所述第一服务器接收到的M个数据块,确定出未接收到的第二数据块所对应的存储节点,M为小于或等于K的正整数;
向所述第二存储节点发送第二指令,以使所述第二存储节点重新发送所述第二数据块。
可选的,接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求之后,还包括:
向所述L个存储节点中的每个存储节点发送第三指令,以使所述L个存储节点中的每个存储节点拆分各自存储的属于所述第一数据的第二数据后得到所述K个数据块。
第三方面,提供一种基于数据传输系统的数据传输方法,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个存储节点中的L个存储节点的第一存储节点中,所述方法包括:
接收所述至少一个管理节点中的第一管理节点发送的用于指示向所述至少一个服务器中的第一服务器发送第一数据包括的至少一个数据块以及与所述至少一个数据块对应的至少一个第一信息的第一指令,所述第一指令是所述第一管理节点接收到所述第一服务器发送的用于获取所述第一数据的第一请求后发送的,所述第一数据分布存储在所述L个存储节点中,所述至少一个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息;
根据存储的所述至少一个数据块生成所述至少一个第一信息;
将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器;
若接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求,则向所述第一服务器发送所述第一数据块,其中,所述第一数据块为所述第一服务器确定的出现数据错误的数据块,所述至少一个数据块包括所述第一数据块,。
可选的,接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求之前,还包括:
根据所述第一指令和所述至少一个数据块生成至少一个数据块的标识;
将所述至少一个第一信息和所述至少一个数据块的标识,发送给所述第一管理节点,以使所述第一管理节点在接收K个第一信息、以及K个数据块的标识后,生成包括所述K个数据块的标识及所述K个第一信息的第二信息。
可选的,将所述至少一个第一信息发送给所述第一管理节点之后,还包括:
接收所述第一管理节点发送的用于指示所述第一存储节点重新发送所述第二数据块的第二指令,所述至少一个数据块包括所述第二数据块;
向所述第一服务器发送所述第二数据块。
可选的,将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器之前,还包括:
接收所述第一管理节点发送的用于指示拆分存储的属于所述第一数据的第二数据的第三指令;
拆分存储的属于所述第一数据的第二数据,得到所述至少一个数据块。
第四方面,提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个服务器中的第一服务器中,所述装置包括:
收发模块,用于向所述至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使所述第一管理节点向所述至少一个存储节点发送用于指示所述至少一个存储节点中的L个存储节点发送所述第一数据包括的K个数据块以及与所述K个数据块一一对应的K个第一信息的第一指令;从所述L个存储节点中获取与所述第一数据对应的M个数据块,以及所述M个数据块一一对应的M个第一信息,其中,所述第一数据分布存储在所述L个存储节点中,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息,M为小于或等于K的正整数,L为小于或等于K的正整数;
处理模块,用于根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点;
所述收发模块,还用于向所述第一存储节点发送第二请求,以使所述第一存储节点重新发送所述第一数据块。
可选的,所述处理模块具体用于:
将所述M个数据块中的每个数据块中携带的校验码与其携带的数据内容进行运算,获得与所述M个数据块中的每个数据块对应的校验值;
将对应的校验值与预设值不同的数据块确定为所述第一数据块;
根据与所述第一数据块对应的第一信息,确定出所述第一存储节点。
可选的,所述收发模块,还用于在从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点之前,从所述第一管理节点获取包括所述K个数据块的标识及所述K个第一信息的第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的。
可选的,所述处理模块,还用于若M小于K,则根据所述M个数据块的标识以及所述第二信息,确定出未接收到的第二数据块的标识,以及根据所述第二信息以及所述第二数据块的标识,确定出所述第二数据块所在的第二存储节点;
所述收发模块,还用于向所述第一管理节点发送第三请求,以使所述第一管理节点向所述第二存储节点发送用于指示所述第二存储节点重新发送所述第二数据块的第二指令。
第五方面,提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个管理节点中的第一管理节点中,所述装置包括收发模块和处理模块,其中:
所述收发模块,用于接收至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求;以及,
在所述处理模块的控制下,向所述至少一个存储节点发送第一指令,以使所述至少一个存储节点中的L个存储节点将所述第一数据包括的K个数据块,以及所述K个数据块一一对应的K个第一信息发送给所述第一服务器,其中,所述第一数据分布存储在所述L个存储节点,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息。
可选的,所述收发模块,还用于接收所述L个存储节点中的每个存储节点发送的第一信息,得到所述K个第一信息;
所述处理模块,还用于根据所述K个第一信息及所述K个数据块的标识生成第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令生成的;
所述收发模块,还用于将所述第二信息发送给所述第一服务器。
可选的,所述收发模块,还用于在将所述第二信息发送给所述第一服务器之后,接收所述第一服务器发送的用于请求第二存储节点重发第二数据块的第三请求,其中,所述第二存储节点为所述第一服务器根据所述第二信息以及所述第一服务器接收到的M个数据块,确定出未接收到的第二数据块所对应的存储节点,M为小于或等于K的正整数;向所述第二存储节点发送的第二指令,以使所述第二存储节点重新发送所述第二数据块。
可选的,所述收发模块,还用于在接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求之后,向所述L个存储节点中的每个存储节点发送第三指令,以使所述L个存储节点中的每个存储节点拆分存储的属于所述第一数据的第二数据。
第六方面,提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个存储节点中的第一存储节点中,所述装置包括:
收发模块,用于接收所述至少一个管理节点中的第一管理节点发送的用于指示向所述至少一个服务器中的第一服务器发送第一数据包括的至少一个数据块以及与所述至少一个数据块对应的至少一个第一信息的第一指令,所述第一指令是所述第一管理节点接收到所述第一服务器发送的用于获取所述第一数据的第一请求后发送的,所述第一数据分布存储在所述L个存储节点中,所述至少一个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息;
处理模块,用于根据存储的所述至少一个数据块生成所述至少一个第一信息;
所述收发模块,还用于将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器;若接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求,则向所述第一服务器发送所述第一数据块,其中,所述第一数据块为所述第一服务器确定的出现数据错误的数据块,所述至少一个数据块包括所述第一数据块。
可选的,所述处理模块,还用于在所述收发模块接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求之前,根据所述第一指令和所述至少一个数据块生成至少一个数据块的标识;
所述收发模块,还用于将所述至少一个第一信息和所述至少一个数据块的标识,发送给所述第一管理节点,以使所述第一管理节点在接收K个第一信息、以及K个数据块的标识后,生成包括所述K个数据块的标识及所述K个第一信息的第二信息。
可选的,所述收发模块,还用于将所述至少一个第一信息发送给所述第一管理节点之后,接收所述第一管理节点发送用于指示所述第一存储节点重新发送所述第二数据块的第二指令,所述至少一个数据块包括所述第二数据块,以及向所述第一服务器发送所述第二数据块。
可选的,所述收发模块,还用于在将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器之前,接收所述第一管理节点发送的用于指示拆分存储的属于所述第一数据的第二数据的第三指令;
所述处理模块,还用于拆分存储的属于所述第一数据的第二数据,得到所述至少一个数据块。
第七方面,提供一种数据传输系统,包括:包括第四方面中任一所述的数据处理装置,第五方面中任一所述的数据处理装置,以及第六方面中任一所述的数据处理装置。
第八方面,提供一种数据传输装置,包括:
存储器,用于存储计算机指令;
通信接口,与终端设备进行通信;
处理器,与所述存储器以及所述通信接口通信连接,用于执行所述存储器中的计算机指令,以在执行所述计算机指令时控制所述通信接口执行如第一方面、第二方面或第三方面中任一项所述的方法。
第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面、第二方面或第三方面中任一项所述的方法。
综上,本申请实施例能够确定出传输出错的存储节点,可直接由出错的存储节点重传相应的数据块,减少重传过程中的网络传输负担。
附图说明
图1为现有技术中的RDMA传输数据的一种场景示意图;
图2为本申请实施例提供的一种数据传输方法的流程图;
图3为本申请实施例提供的数据传输方法的一种场景示意图;
图4为本申请实施例提供的一种数据传输方法的流程图;
图5为本申请实施例提供的一种数据传输装置的结构图;
图6为本申请实施例提供的一种数据传输装置的结构图;
图7为本申请实施例提供的一种数据传输装置的结构图;
图8为本申请实施例提供的一种数据传输装置的结构图。
具体实施方式
为了更好地理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
在数据中心领域中,为了保证数据存储的可靠性,一个大数据可能是分散存储在多个存储节点中,各个存储节点之间可以相互通信,通信连接的各个存储节点之间进而形成了网络拓扑结构,RDMA是网络拓扑结构下的诞生的一种适用于数据中心领域的数据传输方式。RDMA提供直接访问远端主机内存储的设备能力,数据传输时,它不需要计算机操作系统和CPU干涉。
请参照图1,为现有的RDMA数据传输的场景示意图,现有的RDMA数据传输过程主要涉及到服务器和存储节点,服务器是指需要获取数据的设备,例如,服务器可以理解为与客户端连接的设备,用于接收客户端的数据请求,通过该数据请求从存储节点获取相应的数据,并将该数据反馈客户端。服务器可以理解为实体设备,也可以理解为在实体设备上设置的功能模块等,在本申请实施例中不作限制。存储节点是指存储有数据的设备,当存储节点接收服务器的数据请求后,可以直接或者通过交换机向服务器发送与数据请求相应的数据。该存储节点可以理解为网络拓扑结构中能够通过通信通道发送、接收或转发信息的设备。当然,服务器和存储节点可以是相互独立的设备,也可以是集成在一个设备上的多个功能模块。其中涉及到的客户端可以包括用户设备(user equipment,UE)、无线终端设备、移动终端设备、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobilestation)、移动台(mobile)、远程站(remote station)、接入点(access point,AP)、远程终端设备(remote terminal)、接入终端设备(access terminal)、用户终端设备(userterminal)、用户代理(user agent)、或用户装备(user device)等。
在本申请实施例中,请继续参照图1,以服务器和存储节点为相互独立的设备,且存储节点包括存储节点A、存储节点B和存储节点C为了进行说明。
请参照图2,在现有技术中,一份数据在存储时,通常会被拆分为多份数据,分别存储在多个存储节点中,例如,数据A被依次拆分为数据块1、数据块2、数据块3和数据块4,数据块1和数据块2存储在存储节点A中,数据块3存储在存储节点B中,数据块4存储在存储节点C中,当服务器发出获取数据A的请求后,存储有该数据A的多个存储节点会响应服务器,将各自存储的与该数据A对应的数据块放入内存缓冲区中,例如,存储节点A将数据块1和数据块2写入内存缓冲区中,存储节点B将数据块3写入内存缓冲区中,存储节点C将数据块4写入内存缓冲区中,然后由服务器从内存缓冲区中读取该多个数据块。服务器获取该多个数据块后,会对该多个数据块进行校验,校验成功之后,服务器会将该多个数据块合并起来,从而获得与该请求对应的数据。
但是传输过程中,如果出现网络情况不佳,可能导致某个存储节点发送某个数据块失败,导致服务器没有接收到该数据块,从而产生丢包,例如,存储节点A传输数据块2和存储节点C在传输数据块4的时候,网络不佳,导致服务器没有接收到该数据块2和该数据块4。或者数据块在传输过程中被篡改,导致服务器在接收该数据块后,对该数据块进行校验的时候出错,也就是出现了传输出错的情况,在上述情况下,服务器会向存储节点A、存储节点B以及存储节点C再次请求重发所有数据,存储节点A、存储节点B以及存储节点C在接收到服务器的请求之后,则重新传输所有数据。而重传的过程会消耗网络带宽,增加网络传输负担。
鉴于此,本申请实施例提供一种数据传输方法,用于减少重传数据过程中的网络传输负担,下面先介绍本申请实施例的应用场景。
请参见图3,为本申请实施例的一种应用场景图,或者,图3也可以理解为本申请实施例提供的一种数据传输系统的结构图。在该应用场景下,包括至少一个存储节点、至少一个管理节点和至少一个服务器,存储节点和服务器之间可以在管理节点的控制下进行通信,节点的概念可以参照前文的内容,此处不再赘述,服务器可以用于与存储节点及管理节点通信,用于请求获取数据。管理节点可以理解为管理至少一个存储节点的设备,管理节点可以用于发送消息,以及接收消息。至少一个存储节点可以用于存储数据。图3中以至少一个服务器包括一个服务器(服务器A)为例,该一个服务器为至少一个服务器中的任意一个服务器,图3中以至少一个管理节点包括一个管理节点(管理节点A)为例,但是实际上不限制服务器的个数,一个管理节点为至少一个管理节点中的任意一个管理节点为例,但是实际上不限制管理节点的个数,在图3中,以至少一个存储节点包括存储节点A、存储节点B和存储节点C为例进行说明,但是实际上不限制存储节点的个数。其中,存储节点中的“A”、“B”、“C”是为了区分网络拓扑结构中不同的存储节点,但是不限制存储节点的接收或者发送顺序。
如上介绍了本申请实施例的应用场景,下面结合上述应用场景介绍本申请实施例提供的技术方案。
请参照图4,本申请实施例提供一种数据传输方法,下面以该方法应用在图3所示的应用场景,第一服务器为服务器A,第一管理节点为管理节点A以及至少一个存储节点包括存储节点A、存储节点B以及存储节点C为例,对该方法的流程进行介绍。
步骤401、服务器A向管理节点A发送第一请求,管理节点A接收该第一请求。
在本申请实施例中,第一请求用于获取第一数据,第一数据分布存储在L个存储节点中。第一数据是分布存储在至少一个存储节点中的L个存储节点中,L个存储节点可能是至少一个存储节点中的所有存储节点,也可能是至少一个存储节点中的部分存储节点。图4中是以第一数据分布存储在L个存储节点中的存储节点A和存储节点B中为例。
具体来说,第一请求可以是与服务器A连接的客户端发送的获取第一数据的请求消息,服务器A在从客户端接收该第一请求后,直接将该第一请求转发给管理节点A。该第一请求也可以是服务器A生成的,例如,服务器A可以具有一个操作单元,该操作单元可以用于接收用户的操作指令,服务器A根据接收的操作指令,生成第一请求。当然,服务器A也可以采用其他方式获取该第一请求,在此不作限制。
第一数据可以是文本数据、图片数据或视频数据等,第一数据的大小可以是任意的,例如,可以是100M,1G等,本文不对第一数据的类型和大小进行具体限制。需要说明的是,若图3所示的应用场景为大数据传输场景,则第一数据是较大的数据,例如第一数据的大小为2T。为方便说明,在下面的描述中,以第一数据为较大的数据,且该第一数据存储在如图3所示的应用场景中的每一个存储节点中为例。
服务器A在获取第一请求后,可以向管理节点A发送该第一请求。需要说明的是,在图3所示的应用场景中,仅包括一个管理节点,当然,即该管理节点用于处理服务器的所有请求。为了避免一个管理节点的负担过大,管理节点也可以有多个,例如,可以设置为2个或者3个等。当管理节点有多个时,服务器A需要确定到底向哪个管理节点发送第一请求,可以是按照预设规则选择相应的管理节点接收第一请求,预设规则可以理解为用于选择管理节点的规则,例如预设规则为选择距离服务器最近的管理节点,也就是说,服务器A会将第一请求发送给距离该服务器最近的管理节点,以便于管理节点能够快速地响应服务器,或者例如预设规则为选择多个管理节点中待处理的请求的个数较少的管理节点来接收第一请求,也就是说,每个管理节点会从服务器接收到不同数量的请求,服务器A会将第一请求发送给多个管理节点中待处理的请求的个数较少的管理节点,如此,可以减少管理节点处理请求的时延,避免某个管理节点待处理请求过多,造成管理节点响应服务器的时间过长。当然,服务器A也可以是将第一请求发送给多个管理节点中的任意一个管理节点,在本申请实施例中不作限制。在下面的描述中,继续以图3所示的一个管理节点为例进行说明。
步骤402、管理节点A发送第一指令给至少一个存储节点,至少一个存储节点接收该第一指令。
在本申请实施例中,第一指令用于指示至少一个存储节点中的L个存储节点将第一数据对应的K个数据块,以及K个数据块一一对应的K个第一信息发送给服务器A,其中,K个第一信息中的一个第一信息包括一个数据块所在的存储节点的信息,K个第一信息是由管理节点A指示L个存储节点生成的,K为正整数。
具体来讲,管理节点A接收到服务器A发送的第一请求后,管理节点A解析第一请求,得知服务器A请求的是第一数据。在本申请实施例中,管理节点A可以是提前获得第一数据存储在哪些存储节点上,例如,第一数据是在管理节点A控制下存储在多个存储节点的,且管理节点A在控制存储节点存储第一数据时会记录用于存储该第一数据的存储节点的标识等信息;或者,在相应的存储节点存储第一数据中的部分或者全部数据之后,相应的存储节点将存储的第一数据信息以及相应的存储节点的信息反馈给管理节点,也就是说,管理节点A在接收第一请求之前,就已经确定哪些存储节点上存储有第一数据的部分数据或者全部数据。当然,管理节点A也可以不用知道该第一数据存储在哪些存储节点上,管理节点A在接收该第一请求后,直接将该第一请求转发给所有的存储节点。在下面的描述中,以管理节点提前获得第一数据存储在哪些存储节点上为例进行说明。
当管理节点A确定第一数据在L个存储节点上的存储位置之后,管理节点A根据第一请求生成第一指令。具体的,第一数据可能存储在一个存储节点上,也可能存储在多个存储节点上,本文不对用于存储第一数据的存储节点的个数进行限制。在下文的描述中,以第一数据存储在存储节点A和存储节点B为例。管理节点得知存储节点A和存储节点B上存储有第一数据之后,就向存储节点A和存储节点B发送第一指令,以指示存储节点A以及存储节点B,将存储的与第一数据对应的数据块以及与每个数据块对应的第一信息发送给服务器。在本申请实施例中,以L个存储节点上存储有与第一数据对应的K个数据块为例,需要说明的是,每个存储节点上存储的与第一数据对应的数据块可以相同,例如都为2个,也可以不同,例如,存储节点A有2个,存储节点B上有4个,在此不作限制。
K个第一信息中的每个第一信息是能够确定出该数据块所在的存储节点的信息,第一信息可以有很多种形式,例如,第一信息为一个数据块所在的存储节点的互联网协议(Internet Protocol,IP)地址、媒体访问控制(Media Access Control,MAC)地址、一个数据块的大小以及一个数据块存储在存储节点中的起始位置,或者,第一信息为一个数据块所在的存储节点的IP地址、Mac地址、一个数据块的大小以及一个数据块存储在存储节点中的结束位置,或者,第一信息为一个数据块所在的存储节点的IP地址、Mac地址、以及一个数据块存储在存储节点中的起始位置和结束位置,一个数据块起始位置可以理解该数据块在存储节点中的存储在介质中的存储开始位置,一个数据块结束位置可以理解为该数据块在存储节点中的存储在介质中的存储结束位置。
步骤403、存储节点A和存储节点B根据各自存储节点上的至少一个数据块生成至少一个第一信息。
存储节点A和存储节点B接收该第一指令后,首先获得存储在该存储节点上的与第一数据对应的至少一个数据块,然后根据至少一个数据块生成至少一个第一信息,以及根据至少一个数据块生成至少一个数据块对应的标识。
以存储节点A生成至少一个第一信息为例。存储节点A可以采用如下两种方式生成至少一个第一信息,以及生成至少一个数据块对应的标识。
第一种方式:
至少一个数据块的一个数据块也可以是存储在该存储节点上的第二数据,第二数据属于第一数据。可以理解为,在存储第一数据时,将第一数据进行拆分得到数据块1~数据块4,其中,将数据块1和数据块2存储在存储节点A上,将数据块3和数据块4存储在存储节点B上,那么,数据块1和数据块2则为在存储节点A上的与第一数据对应的第二数据,数据块3和数据块4则为在存储节点B上的与第一数据对应的第二数据。存储节点A直接根据第二数据生成至少一个第一信息。例如,存储节点A上存储有数据块1和数据块2,则存储节点A确定数据块1的存储位置为A磁盘中的0扇区至3扇区,从而生成与数据块1对应的第一信息为数据块1、存储节点A、数据块1的起始位置0扇区和数据块1的结束位置3扇区,即数据块1的标识为1,第一信息可以表示为A-0-3;存储节点A确定数据块2的存储位置为A磁盘中的6扇区至7扇区,从而生成与数据块2对应的第一信息为数据块2、存储节点A、数据块1的起始位置6扇区和数据块1的结束位置7扇区,即数据块的标识为2,第一信息可以表示为A-6-7。
第二种方式:
为了减少存储节点A的每次发送的数据块的数据量,增加传输可靠性,至少一个数据块的也可以是该存储节点对存储在该存储节点上的第二数据进行拆分之后得到的数据块,拆分第二数据可以是存储节点A根据管理节点发送的第三指令执行的,第三指令就是第一指令,也可以是与第一指令不相同的指令,例如第三指令是管理节点发送第一指令之后,再发送的用于指示L个存储节点进行拆分的指令。总之,只要L个存储节点收到该第三指令,存储节点A和存储节点B中的每个存储节点就会对存储在该存储节点上的第一数据对应的第二数据进行拆分。继续以存储节点A为例。
一种拆分的方式为,存储节点A按照预设大小对第二数据进行拆分,一般预设大小为2^n,n为正整数,例如,预设大小为128M,对第二数据进行拆分之后,可以减少存储节点A每次发送的数据块的数据量,且,在后期存储节点A对出错或者缺失的数据块进行重传的时候,可以进一步地减少重传的数据量。例如,存储节点A上的数据块1的大小为256M,得到拆分后的数据块A和拆分后的数据块B,存储节点A上的数据块2的大小为512M,则得到拆分后的数据块C、拆分后的数据块D、拆分后的数据块E以及拆分后的数据块F,然后存储节点A根据每一个拆分后的数据块生成至少一个第一信息,例如,与拆分后的数据块A对应的第一信息为数据块A、存储节点A、128M、起始位置为扇区0,即第二信息可以为A-A-128M-0,与拆分后的数据块B对应的第一信息为数据块B、存储节点A、128M、起始位置为扇区3,即第二信息可以为B-A-128M-3,以此类推,此处不再赘述。
存储节点B生成至少一个第一信息的方式与存储节点A相同。当然,若第一数据同时存储在3个或者3个以上的存储节点中,则每个存储节点均采用上述方式生成第一信息。
在本申请实施例中,以存储节点A和存储节点B中存储有与第一数据对应的K个数据块以及与K个数据块中的每个数据块一一对应的K个第一信息为例,K为正整数。
步骤404、存储节点A和存储节点B将K个数据块和K个第一信息发送给服务器。
在存储节点A和存储节点B中的每个存储节点都生成相应的第一信息之后,则将该存储节点上的至少一个数据块和至少一个信息发送给服务器A,在本申请实施例中,存储节点A和存储节点B总共向服务器发送了K个数据块以及K个第一信息。
存储节点A和存储节点B向服务器发送K个数据块和K个第一信息的方式可以包括如下两种。
第一种发送方式:每个数据块和与该数据块对应的第一信息可以是两个独立的信息,存储节点A和存储节点B可以先向服务器发送K个数据块,然后再向服务器发送K个第一信息,或者也可以先向服务发送K个第一信息,然后再向服务器发送K个数据块。
第二种发送方式:为了减少存储节点A和存储节点B向服务器A发送的消息的个数,每个存储节点可以将一个数据块和该数据块对应的第一信息进行封装之后,再发送给服务器A,封装可以理解为将一个数据块和该数据块对应的第一信息合成一个信息发送给服务器。当然封装过程中,还可以对数据块进行加密处理,或者在数据上附加其他信息,例如数据的偏移量等,偏移量可以理解为该数据块在该存储节点中的多个数据块的顺序号。
另外,有多个存储节点都需要发送数据块以及对应的第一信息,那么需要确定多个存储节点的发送顺序。
以该多个存储节点为存储节点A和存储节点B为例,一种发送顺序是存储节点A和存储节点B同时向服务器发送K个数据块以及K个第一信息,这样传输可以减少K个数据块和至少一个第一信息的发送时长。
但是同时在网络中传输大量的数据,会增加网络传输负担,因此,为了减少网络传输负担,另一种发送顺序是存储节点A和存储节点B按照预设顺序将K个数据块以及K个第一信息依次发送给服务器。
例如预设顺序是存储节点A和存储节点B中接收第一指令的先后顺序,由于每个存储节点和管理节点A距离有差别,每个存储节点接收到第一指令的时间有差别,先接收到第一指令的存储节点可以先发送该存储节点上的至少一个数据块和至少一个数据块对应的第一信息,在该存储节点发送之后,再由后接收到第一指令的存储节点发送至少一个数据块和至少一个数据块对应的第一信息。
或者,预设顺序也可以是根据第一数据的构成的先后顺序,第一数据在多个存储节点中分布,有些数据可能是第一数据中的前部分,有些数据可能是第一数据的后部分,存储节点A和存储节点B按照第一数据的构成的先后顺序发送。例如,存储节点A存储第一数据的前部分,存储节点B存储第一数据的后部分,那么存储节点A先发送数据块以及对应的第一信息给服务器,存储节点A发送完之后,再由存储节点B发送数据块以及对应的第一信息给服务器A。根据第一数据的排列先后顺序发送,则服务器A接收到相应的数据之后,就不需要对接收到的数据块的进行排序,减少服务器A的处理量,但是L个存储节点中的每个存储节点需要获取第一数据的构成的先后顺序,且每个存储节点需要确定该存储节点上存储的第一数据对应的数据的顺序,则有可能会增加存储节点的负担。
除了需要考虑多个存储节点上的发送顺序之后,同一个存储节点上有多个数据块需要发送的时候,还可以考虑同一个存储节点上的发送顺序,同一个存储节点可以是同时将多个数据块一起发送,或者同一个存储节点可以随机顺序发送,或者也可以按照拆分数据块的顺序依次进行发送,本文不对同一个存储节点上的发送顺序进行限制。
每个存储节点将该存储节点上的至少一个数据块和至少一个信息发送给服务器的方式有很多种,例如一种方式为RDMA的传输方式,具体的,L个存储节点中的每个存储节点将该存储节点上需要发送的至少一个数据块以及对应的至少一个第一信息写入存储节点中的内存缓冲区,然后再发送给服务器的内存缓冲区中,该传输方式可以通过访问内存的形式进行传输数据,传输速度较快,且基本不需要处理器资源参与,减少网络数据的处理和搬移过多其他资源的浪费。
步骤405、存储节点A和存储节点B将K个第一信息发送给管理节点A,管理节点A接收该K个第一信息。
本申请实施例中,存储节点A和存储节点B中的每个存储节点将该存储节点上存储的至少一个数据块对应的至少一个第一信息发送给管理节点A,在每个存储节点都将数据块对应的第一信息发送给管理节点A之后,管理节点A就接收到K个第一信息。
步骤406、管理节点A根据K个第一信息生成第二信息。
管理节点A生成第二信息,也可以是在接收完K个第一信息之后,简单地合并K个第一信息得到第二信息,或者将K个第一信息进行整合处理,编译成服务器能够解析的信息。
在本申请实施例中,第二信息是包括K个数据块的标识,以及K个数据块所在的存储节点的信息,第二信息可以理解为K个数据块的标识与存储节点的信息之间的对应关系,第二信息中包括K个数据块的标识,对应关系可以理解为哪个数据块对应存储在哪个存储节点,K个数据块的标识可以理解为该数据块独一无二的识别码。K个数据块的标识的生成方式可以参照前文论述的内容,此处不再赘述。存储节点的信息可以参照前文关于第一信息论述的内容,存储节点的信息也就可以参照前文论述的内容,此处不再赘述。如表1所示,为第二信息的一种具体形式,第二信息包括两列,第一列为数据块的标识,第二列为该数据块所在的存储节点的标识。继续以前文中的数据块1,以及对应的第一信息A-0-3和数据块2的标识2,以及对应的第一信息A-6-7和数据块1的标识1为例,根据两个第一信息生成的第二信息如表1。
表1
数据块标识 | 存储节点的标识 |
1 | A-0-3 |
2 | A-6-7 |
… | … |
步骤407、管理节点A可以将第二信息发送给服务器A,服务器A接收到第二信息。
步骤404和步骤405-步骤407可以同时执行,也可以先执行步骤405-步骤407再执行步骤404,在本申请实施例中不对执行顺序进行限制。在图4中以先执行步骤404,再执行步骤405-步骤407为例。
另外,需要说明的是,步骤405-步骤407为可选步骤,也就是说,步骤405-步骤407可能执行,也可能不执行。
步骤408、服务器A接收M个数据块及M个第一信息,并根据所述M个数据块,以及所述M个第一信息,从存储节点A和存储节点B中确定第一存储节点,M为正整数。
在存储节点A和存储节点B发送相应的数据块和第一信息之后,服务器A就会接收到相应的数据块以及对应的第一信息。
在本申请实施例中,对存储节点A和存储节点B发送的K个数据块和K个第一信息,与服务器A接收到的M个数据块与M个第一信息进行说明。
第一种情况:
服务器A接收到了存储节点A和存储节点B发送的所有的数据块和所有的第一信息,在这种情况下,M等于K。
第二种情况:
存储节点A和存储节点B给服务器A发送了K个数据块,但是服务器A只接收到M个数据块以及M个第一信息,M小于K,也就是说,存储节点A和存储节点B将第一数据包括的K个数据块以及K个第一信息都发送给服务器A,可能由于某些原因,例如网络传输不稳定,服务器A只接收到了部分数据块以及部分数据块对应的第一信息。
服务器A接收数据块之后,需要对数据块进行校验,也就是验证接收到的数据块的信息是否正确。一种校验数据块的方法是,根据数据块中携带的校验码和数据内容进行运算,运算可以是根据传输协议提前预设的算法进行的计算,提前预设的算法例如,哈希算法,运算之后可以获得该数据块对应的校验值,如果该数据块的校验值与预设值相同,则该数据块校验成功,如果该数据块的校验值与预设值不同,则该数据块校验失败。例如,计算出该数据块的校验值为0,预设值为1,则表示校验失败。当然,校验方法还有很多种,本文不一一列举。
服务器A可以是在接收到M个数据块以及M个第一信息之后,再对M个数据块进行集中校验,M小于或等于K的正整数,或者为了提高服务器的处理效率,服务器可以是接收到一个数据块以及一个数据块的第一信息之后,就对该数据块进行校验,在接收到下一个数据块,以及该数据块对应的第一信息之后,再对该下一个数据块进行校验,采用接收一个数据块校验一个数据块的方式,可以利用服务器在等待接收下一个数据块的时间来校验数据块,从而提高服务器的处理效率,本文不对校验和接收的顺序进行严格限制,一般来说,是采用接收一个数据块校验一个数据块的方式。
服务器A对所有的数据块校验完成之后,服务器A对第一数据块校验失败,确定出第一数据块对应的是存储节点A以及存储节点B中的哪一个存储节点为第一存储节点。第一信息可以参照前文论述的内容,此处不再赘述。当第一数据块的数据出错,服务器A可以根据接收到的第一数据块对应的第一信息,从而确定出该数据块所在的第一存储节点。也就是说,服务器根据第一信息确定出数据错误的第一数据块到底是由哪个存储节点传输的,在一个传输过程中,从数据错误的第一数据块的数量可以是一个,也可以是多个,本文不对传输出错的数据块的个数进行限制。
步骤409、服务器A向第一存储节点发送第二请求,第一存储节点接收所述第二请求。
在本申请实施例,第二请求用于请求第一存储节点重新发送第一数据块。
因为K个数据块中第一数据块的数据出错,服务器无法根据剩余的K-1个数据块获得完整的第一数据,所以服务器A还需获得数据正确的第一数据块,因此,在服务器A确定第一存储节点之后,服务器A就可以向第一存储节点发送第二请求,请求重新获取第一数据块。以第一数据块为存储节点A的拆分后的数据块2为例。
步骤410、第一存储节点向服务器A发送第一数据块,服务器A接收该第一数据块。
存储节点A在接收到第二请求后,则再次向服务器A发送拆分后的数据块2。当然,存储节点A向服务器A重新发送拆分后的数据块2的同时,可以将拆分后的数据块2对应的第一信息发送给服务器。
服务器A接收到第一存储节点重新发送的第一数据块之后,要对重新接收到的第一数据块进行校验,若重新发送的第一数据块校验成功,则服务器A就可以将接收到的K个数据块合并成第一数据,从而服务器就获得请求的第一数据。合并数据块的方式有很多种,例如服务器A可以根据数据块中的偏移量对数据进行合并,本文不对合并数据块的具体方式进行限制。合并的过程是在服务器中的本地存储器中执行的,合并的过程与数据传输的通信是可以重叠的,因此合并过程操作不影响数据传输,服务器A获取第一数据之后,可能会将第一数据再传输给向服务器A发送请求的终端设备等。
步骤411、服务器A根据所述M个数据块,以及所述M个第一信息,从存储节点A和存储节点B中确定第二存储节点,应当说明的是,第二存储节点与前文中的第一存储节点可以是相同的存储节点,也可以是不同的存储节点。
在本申请实施例中,第二存储节点为未接收到的第二数据块所在的存储节点。
服务器A由于网络原因等,可能只接收到了部分数据块以及部分数据块对应的第一信息。在这种情况下,服务器A可以将从管理节点A接收的第二信息与M个数据块对应的M个第一信息进行对比,进而服务器A就可以确定出没有接收到哪个数据块,以及确定出该数据块对应哪个存储节点。具体的,由于第二信息中包括K个数据块的标识,而M个第一信息中包括M个数据块的标识,则服务器对比K个数据块的标识和M个数据标识,从而确定出服务器没有接收到的第二数据块的标识,第二数据块的数量可以是一个,也可以是多个,本文不做具体数量限制。
步骤412、服务器A向管理节点A发送第三请求,管理节点接收所述第三请求。
在本申请实施例,第三请求用于请求管理节点指示第二存储节点重新发送第二数据块。第二数据块也就是前文描述的服务器没有接收到的数据块,第二存储节点为是由服务器根据第二数据块的标识,以及第二信息,确定出的存储节点,第二数据块的标识为,由服务器A根据接收到的M个数据块的标识以及第二信息中指示的K个数据块的标识,确定出未接收到的数据块的标识,M小于K的正整数。
需要说明的是,若服务器A未收到与第二存储节点对应的所有的数据块,则服务器确定与第二存储节点之间的传输路径可能出现故障,因此,服务器向管理节点发送第三请求,以保证该第三请求能够被接收到。
若服务器A只是未收到第二存储节点的某一个数据块,则服务器A也可以直接向第二存储节点发送第三请求即可。这种方式与步骤409相同,在此不再赘述。在本申请实施例中,以服务器A未收到第二存储节点的所有的数据块为例。
步骤413、管理节点A在接收第三请求之后,解析第三请求,生成第二指令,然后,将第二指令发送给第二存储节点,第二存储节点接收第二指令。
步骤414、第二存储节点将第二数据块发送给服务器,服务器A接收该第二数据块。
服务器A接收到第二存储节点重新发送的第二数据块之后,要对重新接收到的第二数据块进行校验,校验成功之后,服务器A再将这K个数据块的K个第二信息以及第二信息对比,确定所有的K个数据块都已经接收到,就可以将接收到的K个数据块合并成第一数据,从而服务器A就获得请求的第一数据。
L个存储节点在向服务器A发送数据块的同时,还发送该数据块对应的第一信息,第一信息包括该数据块所在存储节点的信息,且,L个存储节点将K个第一信息发送给管理节点A,管理节点A根据K个第一信息生成第二信息,管理节点又将第二信息发送给服务器A,当服务器A接收到相应的数据块、第一信息以及第二信息之后,如果某个数据块传输出错或者缺失,服务器可以根据第一信息确定哪个存储节点发送的该数据块出错或者缺失,从而直接让对应的存储节点重新发送该数据块即可,同样的,无需其余的存储节点重传,从而减少重传过程中网络传输负担。
或者,在管理节点A发送第二指令之后,服务器A校验之后,发现有重复的第二数据块,也就是说,可能在服务器A发送第三请求之后,第二存储节点又将第二数据块发送给服务器A,第二存储节点接收到第三请求之后,第二存储节点又发送第二数据块给服务器A,服务器A则可以根据(K+1)个第一信息和第二信息,直接丢弃重复的第二数据块,进而获得K个数据块,从而将K个数据块合并,得到第一数据。本申请实施例,服务器A可以根据第二信息丢弃重复的数据块,减少服务器A的存储负荷。
步骤408-步骤410与步骤411-步骤414可以是同时执行的,也可以是根据实际情况选择一种执行,也可以是按照一定的执行顺序执行。在图4中以先执行408-步骤410,再执行步骤411-步骤414为例。
本申请实施例中,L个存储节点在向服务器A发送数据块的同时,还发送该数据块对应的第一信息,第一信息包括该数据块所在存储节点的信息,当服务器A接收到相应的数据块以及第一信息之后,如果某个数据块传输出错,服务器可以根据第一信息确定哪个存储节点发送的该数据块,从而直接让对应的存储节点重新发送该数据块即可,无需其余的存储节点重传,从而减少重传过程中网络传输负担。
在上述的数据传输方法的基础上,本申请实施例还提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个服务器中的第一服务器中,该数据传输装置可以理解为前文论述的至少一个服务器中的一个服务器,请参照图5,该装置包括收发模块501和处理模块502。下面对该装置进行具体介绍。
收发模块501,用于向至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使第一管理节点向至少一个存储节点发送用于指示至少一个存储节点中的L个存储节点发送第一数据包括的K个数据块以及与K个数据块一一对应的K个第一信息的第一指令,以及,从L个存储节点中获取与第一数据对应的M个数据块,以及M个数据块一一对应的M个第一信息,其中,第一数据分布存储在L个存储节点中,K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息,L为小于或等于K的正整数,M为小于或等于K的正整数;
处理模块502,用于根据M个数据块以及M个第一信息,从L个存储节点中确定与M个数据块中出现数据错误的第一数据块对应的第一存储节点;
收发模块501,还用于向第一存储节点发送第二请求,以使第一存储节点重新发送第一数据块。
可选的,处理模块502,具体用于:
将M个数据块中的每个数据块中携带的校验码与其携带的数据内容进行运算,获得与M个数据块中的每个数据块对应的校验值;
将对应的校验值与预设值不同的数据块确定为第一数据块;
根据与第一数据块对应的第一信息,确定出第一存储节点。
可选的,收发模块501,还用于:
还用于在从L个存储节点中确定与M个数据块中出现数据错误的第一数据块对应的第一存储节点之前,从第一管理节点获取包括K个数据块的标识及K个第一信息的第二信息,其中,K个数据块的标识是L个存储节点根据第一指令和K个数据块生成的。
可选的,处理模块502还用于,还用于若M小于K,则根据M个数据块的标识以及第二信息,确定出未接收到的第二数据块的标识,以及根据第二信息以及第二数据块的标识,确定出第二数据块所在的第二存储节点;
收发模块501,还用于向第一管理节点发送第三请求,以使第二存储节点重新发送第二数据块。
可选的,针对M个数据块中的一个数据块,一个数据块为由管理节点指示一个存储节点将存储在一个存储节点上的第二数据进行拆分之后得到的数据块,其中,第二数据为存储在一个存储节点上的与第一数据对应的数据。
可选的,针对K个第一信息中的一个第一信息,一个第一信息包括一个数据块所在的存储节点的互联网协议IP地址、媒体访问控制Mac地址、一个数据块的大小以及一个数据块存储在存储节点中的起始位置。
在上述的数据传输方法的基础上,本申请实施例还提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个管理节点中的第一管理节点中,该数据传输装置可以理解为前文论述的至少一个管理节点的一个管理节点,请参照图6,该装置包括收发模块601和处理模块602。下面对该装置进行具体介绍。
收发模块601,用于接收至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求,其中,第一数据分布存储在L个存储节点;
收发模块601,还用于在处理模块602的控制下,向至少一个存储节点发送第一指令,以使至少一个存储节点中的L个存储节点将第一数据包括的K个数据块,以及K个数据块一一对应的K个第一信息发送给第一服务器,其中,K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息。
可选的,收发模块601,还用于接收L个存储节点中的每个存储节点发送的第一信息,得到K个第一信息;
处理模块602,还用于根据K个第一信息及K个数据块的标识生成第二信息,其中,K个数据块的标识是L个存储节点根据第一指令和K个数据块生成的;
收发模块601,将第二信息发送给第一服务器。
可选的,收发模块601,还用于在将第二信息发送给第一服务器之后,若接收第一服务器发送的用于请求第二存储节点重发第二数据块的第三请求,其中,第二存储节点为是由第一服务器根据第二信息以及第一服务器接收到的M个数据块,确定出第一服务器未接收到的第二数据块所对应的存储节点,M为小于或等于K的正整数;
收发模块601,还用于向第二存储节点发送第二指令,以使第二存储节点重新发送第二数据块。
收发模块601,还用于在从第一服务器获取用于获取第一数据的第一请求之后,向L个存储节点中的每个存储节点发送第三指令,以使L个存储节点中的每个存储节点拆分存储的属于第一数据的数据。
可选的,K个第一信息中的一个第一信息,一个第一信息包括一个数据块所在的存储节点的互联网协议IP地址、媒体访问控制Mac地址、一个数据块的大小以及一个数据块存储在存储节点中的起始位置。
在上述的数据传输方法的基础上,本申请实施例还提供一种基于数据传输系统的数据传输装置,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于至少一个存储节点中的L个存储节点中的第一存储节点中,该数据传输装置可以理解为前文论述的L个存储节点中的一个存储节点,请参照图7,该装置包括收发模块701和处理模块702。下面对该装置进行具体介绍。
收发模块701,用于接收至少一个管理节点中的第一管理节点发送的用于指示向至少一个服务器中的第一服务器发送第一数据包括的至少一个数据块以及与至少一个数据块对应的至少一个第一信息的第一指令,第一指令是第一管理节点接收到第一服务器发送的用于获取第一数据的第一请求后发送的,至少一个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息;
处理模块702,用于根据存储的至少一个数据块生成至少一个第一信息;
收发模块701,还用于将至少一个数据块以及至少一个第一信息发送给第一服务器,接收第一服务器发送的用于请求重新发送第一数据块的第二请求,以及向第一服务器发送第一数据块,其中,第一数据块为第一服务器确定的出现数据错误的数据块,至少一个数据块包括第一数据块。
可选的,收发模块701还用于,收发模块,还用于在接收第一服务器发送的用于请求重新发送第一数据块的第二请求之前,将至少一个第一信息发送给第一管理节点,以使第一管理节点在接收K个第一信息、以及K个数据块的标识后,生成包括K个数据块的标识及K个第一信息的第二信息,其中,K个数据块的标识是L个存储节点根据第一指令和K个数据块生成的。
可选的,收发模块701,还用于在将至少一个第一信息发送给第一管理节点之后,若接收第一管理节点发送的第二指令,以使第一存储节点重新发送第二数据块,至少一个数据块包括第二数据块,以及第一存储节点向第一服务器发送第二数据块。
可选的,收发模块701,还用于在将至少一个数据块以及至少一个第一信息发送给第一服务器之前,接收所述第一管理节点发送的用于指示拆分存储的属于所述第一数据的第二数据的第三指令;
处理模块702,还用于拆分存储的属于第一数据的第二数据,得到至少一个数据块。
可选的,针对K个第一信息中的一个第一信息,一个第一信息包括一个数据块所在的存储节点的互联网协议IP地址、媒体访问控制Mac地址、一个数据块的大小以及一个数据块存储在存储节点中的起始位置。
在上述的数据传输装置的基础上,本申请实施例还提供一种数据传输系统,请继续参照图3,该传输系统包括图5中所述的数据传输装置、图6中所述的数据传输装置以及图7中的数据传输装置,图5中所述的数据传输装置对应前文中的服务器,图6中所述的数据传输装置对应前文中的管理节点,图7中所述的数据传输装置对应前文中的存储节点,关于服务器、管理节点以及存储节点的内容可以参照前文论述的内容,此处不再赘述。
在上述的数据传输方法的基础上,本申请实施例还提供一种数据传输装置,请参照图8,该装置包括存储器801、通信接口802和处理器803。下面对该装置进行具体介绍。该装置包括:
存储器801,用于存储计算机指令;
通信接口802,与终端设备进行通信;
处理器803,与存储器801以及通信接口802通信连接,用于执行存储器801中的计算机指令,以在执行计算机指令时控制通信接口802执行如图4中的方法。
作为一种实施例,前文中的图5的处理模块502、图6中的处理模块602或图7中的处理模块702可以通过本申请实施例中的处理器803来实现。本申请实施例中以一个处理器803为例,但是实际上并不限制处理器803的个数。
在上述的数据传输方法的基础上,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图4中的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (27)
1.一种基于数据传输系统的数据传输方法,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个服务器中的第一服务器中,所述方法包括:
向所述至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使所述第一管理节点向所述至少一个存储节点发送用于指示所述至少一个存储节点中的L个存储节点发送所述第一数据包括的K个数据块以及与所述K个数据块一一对应的K个第一信息的第一指令,其中,所述第一数据分布存储在所述L个存储节点中,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息,L为小于或等于K的正整数;
从所述L个存储节点中获取与所述第一数据对应的M个数据块,以及所述M个数据块一一对应的M个第一信息,其中,M为小于或等于K的正整数;
根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点;
向所述第一存储节点发送第二请求,以使所述第一存储节点重新发送所述第一数据块。
2.如权利要求1所述的方法,其特征在于,根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点,包括:
将所述M个数据块中的每个数据块中携带的校验码与其携带的数据内容进行运算,获得与所述M个数据块中的每个数据块对应的校验值;
将对应的校验值与预设值不同的数据块确定为所述第一数据块;
根据与所述第一数据块对应的第一信息,确定出所述第一存储节点。
3.如权利要求1所述的方法,其特征在于,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点之前,还包括:
从所述第一管理节点获取包括所述K个数据块的标识及所述K个第一信息的第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若M小于K,则根据所述M个数据块的标识以及所述第二信息,确定出未接收到的第二数据块的标识;
根据所述第二信息以及所述第二数据块的标识,确定出所述第二数据块所在的第二存储节点;
向所述第一管理节点发送第三请求,以使所述第一管理节点向所述第二存储节点发送用于指示所述第二存储节点重新发送所述第二数据块的第二指令。
5.一种基于数据传输系统的数据传输方法,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个管理节点中的第一管理节点,所述方法包括:
接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求;
向所述至少一个存储节点发送第一指令,以使所述至少一个存储节点中的L个存储节点将所述第一数据包括的K个数据块,以及所述K个数据块一一对应的K个第一信息发送给所述第一服务器,其中,所述第一数据分布存储在所述L个存储节点,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述L个存储节点发送的第一信息,得到所述K个第一信息;
根据所述K个第一信息及所述K个数据块的标识生成第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的;
将所述第二信息发送给所述第一服务器。
7.如权利要求6所述的方法,其特征在于,将所述第二信息发送给所述第一服务器之后,还包括:
接收所述第一服务器发送的用于请求第二存储节点重发第二数据块的第三请求,其中,所述第二存储节点为所述第一服务器根据所述第二信息以及所述第一服务器接收到的M个数据块,确定出未接收到的第二数据块所对应的存储节点,M为小于或等于K的正整数;
向所述第二存储节点发送第二指令,以使所述第二存储节点重新发送所述第二数据块。
8.如权利要求5-7任一所述的方法,其特征在于,接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求之后,还包括:
向所述L个存储节点发送第三指令,以使所述L个存储节点拆分各自存储的属于所述第一数据的第二数据后得到所述K个数据块。
9.一种基于数据传输系统的数据传输方法,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述方法应用于所述至少一个存储节点中的L个存储节点的第一存储节点中,所述方法包括:
接收所述至少一个管理节点中的第一管理节点发送的用于指示向所述至少一个服务器中的第一服务器发送第一数据包括的至少一个数据块以及与所述至少一个数据块对应的至少一个第一信息的第一指令,所述第一指令是所述第一管理节点接收到所述第一服务器发送的用于获取所述第一数据的第一请求后发送的,所述第一数据分布存储在所述L个存储节点中,所述至少一个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息;
根据存储的所述至少一个数据块生成所述至少一个第一信息;
将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器;
若接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求,则向所述第一服务器发送所述第一数据块,其中,所述第一数据块为所述第一服务器确定的出现数据错误的数据块,所述至少一个数据块包括所述第一数据块。
10.如权利要求9所述的方法,其特征在于,接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求之前,还包括:
根据所述第一指令和所述至少一个数据块生成所述至少一个数据块的标识;
将所述至少一个第一信息和所述至少一个数据块的标识,发送给所述第一管理节点,以使所述第一管理节点在接收K个第一信息、以及K个数据块的标识后,生成包括所述K个数据块的标识及所述K个第一信息的第二信息。
11.如权利要求10所述的方法,其特征在于,将所述至少一个第一信息发送给所述第一管理节点之后,还包括:
接收所述第一管理节点发送的用于指示重新发送所述第二数据块的第二指令,所述至少一个数据块包括所述第二数据块;
向所述第一服务器发送所述第二数据块。
12.如权利要求9-11任一所述的方法,其特征在于,将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器之前,还包括:
接收所述第一管理节点发送的用于指示拆分存储的属于所述第一数据的第二数据的第三指令;
拆分存储的属于所述第一数据的第二数据,得到所述至少一个数据块。
13.一种基于数据传输系统的数据传输装置,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个服务器中的第一服务器中,所述装置包括:
收发模块,用于向所述至少一个管理节点中的第一管理节点发送用于获取第一数据的第一请求,以使所述第一管理节点向所述至少一个存储节点发送用于指示所述至少一个存储节点中的L个存储节点发送所述第一数据包括的K个数据块以及与所述K个数据块一一对应的K个第一信息的第一指令;从所述L个存储节点中获取与所述第一数据对应的M个数据块,以及所述M个数据块一一对应的M个第一信息,其中,所述第一数据分布存储在所述L个存储节点中,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息,L为小于或等于K的正整数,M为小于或等于K的正整数;
处理模块,用于根据所述M个数据块以及所述M个第一信息,从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点;
所述收发模块,还用于向所述第一存储节点发送第二请求,以使所述第一存储节点重新发送所述第一数据块。
14.如权利要求13所述的装置,其特征在于,所述处理模块具体用于:
将所述M个数据块中的每个数据块中携带的校验码与其携带的数据内容进行运算,获得与所述M个数据块中的每个数据块对应的校验值;
将对应的校验值与预设值不同的数据块确定为所述第一数据块;
根据与所述第一数据块对应的第一信息,确定出所述第一存储节点。
15.如权利要求13所述的装置,其特征在于,
所述收发模块,还用于在从所述L个存储节点中确定与所述M个数据块中出现数据错误的第一数据块对应的第一存储节点之前,从所述第一管理节点获取包括所述K个数据块的标识及所述K个第一信息的第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的。
16.如权利要求15所述的装置,其特征在于,
所述处理模块,还用于若M小于K,则根据所述M个数据块的标识以及所述第二信息,确定出未接收到的第二数据块的标识,以及根据所述第二信息以及所述第二数据块的标识,确定出所述第二数据块所在的第二存储节点;
所述收发模块,还用于向所述第一管理节点发送第三请求,以使所述第一管理节点向所述第二存储节点发送用于指示所述第二存储节点重新发送所述第二数据块的第二指令。
17.一种基于数据传输系统的数据传输装置,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个管理节点中的第一管理节点中,所述装置包括:收发模块和处理模块,其中:
所述收发模块,用于接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求;以及,
在所述处理模块的控制下,向所述至少一个存储节点发送第一指令,以使所述至少一个存储节点中的L个存储节点将所述第一数据包括的K个数据块,以及所述K个数据块一一对应的K个第一信息发送给所述第一服务器,其中,所述第一数据分布存储在所述L个存储节点,所述K个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息。
18.如权利要求17所述的装置,其特征在于,
所述收发模块,还用于接收所述L个存储节点中的每个存储节点发送的第一信息,得到所述K个第一信息;
所述处理模块,还用于根据所述K个第一信息及所述K个数据块的标识生成第二信息,其中,所述K个数据块的标识是所述L个存储节点根据所述第一指令和所述K个数据块生成的;
所述收发模块,还用于将所述第二信息发送给所述第一服务器。
19.如权利要求18所述的装置,其特征在于,
所述收发模块,还用于在将所述第二信息发送给所述第一服务器之后,接收所述第一服务器发送的用于请求第二存储节点重发第二数据块的第三请求,其中,所述第二存储节点为所述第一服务器根据所述第二信息以及所述第一服务器接收到的M个数据块,确定出未接收到的第二数据块所对应的存储节点,M为小于或等于K的正整数;向所述第二存储节点发送第二指令,以使所述第二存储节点重新发送所述第二数据块。
20.如权利要求17-19任一所述的装置,其特征在于,
所述收发模块,还用于在接收所述至少一个服务器中的第一服务器发送的用于获取第一数据的第一请求之后,向所述L个存储节点中的每个存储节点发送第三指令,以使所述L个存储节点中的每个存储节点拆分各自存储的属于所述第一数据的第二数据后得到所述K个数据块。
21.一种基于数据传输系统中的数据传输装置,其特征在于,所述数据传输系统包括至少一个管理节点、至少一个存储节点和至少一个服务器,所述装置应用于所述至少一个存储节点中的第一存储节点中,所述装置包括:
收发模块,用于接收所述至少一个管理节点中的第一管理节点发送的用于指示向所述至少一个服务器中的第一服务器发送第一数据包括的至少一个数据块以及与所述至少一个数据块对应的至少一个第一信息的第一指令,所述第一指令是所述第一管理节点接收到所述第一服务器发送的用于获取所述第一数据的第一请求后发送的,所述第一数据分布存储在所述L个存储节点中,所述至少一个第一信息中的每个第一信息包括对应的数据块所在存储节点的信息;
处理模块,用于根据存储的所述至少一个数据块生成所述至少一个第一信息;
所述收发模块,还用于将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器;若接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求,则向所述第一服务器发送所述第一数据块,其中,所述第一数据块为所述第一服务器确定的出现数据错误的数据块,所述至少一个数据块包括所述第一数据块。
22.如权利要求21所述的装置,其特征在于,
所述处理模块,还用于在所述收发模块接收所述第一服务器发送的用于请求重新发送第一数据块的第二请求之前,根据所述第一指令和所述至少一个数据块生成至少一个数据块的标识;
所述收发模块,还用于将所述至少一个第一信息和所述至少一个数据块的标识,发送给所述第一管理节点,以使所述第一管理节点在接收K个第一信息、以及K个数据块的标识后,生成包括所述K个数据块的标识及所述K个第一信息的第二信息。
23.如权利要求22所述的装置,其特征在于,
所述收发模块,还用于将所述至少一个第一信息发送给所述第一管理节点之后,接收所述第一管理节点发送用于指示所述第一存储节点重新发送所述第二数据块的第二指令,所述至少一个数据块包括所述第二数据块;向所述第一服务器发送所述第二数据块。
24.如权利要求21-23任一所述的装置,其特征在于,
所述收发模块,还用于在将所述至少一个数据块以及所述至少一个第一信息发送给所述第一服务器之前,接收所述第一管理节点发送的用于指示拆分存储的属于所述第一数据的第二数据的第三指令;
所述处理模块,还用于拆分存储的属于所述第一数据的第二数据,得到所述至少一个数据块。
25.一种数据传输系统,其特征在于,包括权利要求13-16中任一所述的数据处理装置、权利要求17-20中任一所述的数据处理装置、以及权利要求21-24中任一所述的数据处理装置。
26.一种数据传输装置,其特征在于,包括:
存储器,用于存储计算机指令;
通信接口,与终端设备进行通信;
处理器,与所述存储器以及所述通信接口通信连接,用于执行所述存储器中的计算机指令,以在执行所述计算机指令时控制所述通信接口执行如权利要求1-4、5-8或9-12中任一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-4、5-8或9-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810930629.4A CN109120385B (zh) | 2018-08-15 | 2018-08-15 | 一种基于数据传输系统的数据传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810930629.4A CN109120385B (zh) | 2018-08-15 | 2018-08-15 | 一种基于数据传输系统的数据传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120385A true CN109120385A (zh) | 2019-01-01 |
CN109120385B CN109120385B (zh) | 2021-08-17 |
Family
ID=64853171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810930629.4A Active CN109120385B (zh) | 2018-08-15 | 2018-08-15 | 一种基于数据传输系统的数据传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120385B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021115080A1 (zh) * | 2019-12-17 | 2021-06-17 | 聚好看科技股份有限公司 | 数据传输方法、装置及系统 |
CN113316770A (zh) * | 2019-01-25 | 2021-08-27 | 华为技术有限公司 | 数据修复方法和装置 |
US11770212B2 (en) | 2020-06-30 | 2023-09-26 | Boe Technology Group Co., Ltd. | Data transmission methods, data transmission device, and data transmission apparatuses |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155014A (zh) * | 2006-09-28 | 2008-04-02 | 华为技术有限公司 | 一种数据混合自动请求重传方法及装置 |
CN101404565A (zh) * | 2007-10-02 | 2009-04-08 | 英飞凌科技股份公司 | 数据通信系统中的重新传输 |
CN103378955A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 数据重传的方法、系统、数据重传装置和数据获取装置 |
US20140177559A1 (en) * | 2012-12-21 | 2014-06-26 | Samsung Electro-Mechanics Co., Ltd. | Data communication method in non-beacon wireless network and non-beacon wireless network communication system |
CN106416112A (zh) * | 2015-04-09 | 2017-02-15 | 华为技术有限公司 | 一种数据传输的方法及装置 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN108121776A (zh) * | 2017-12-13 | 2018-06-05 | 深圳市智物联网络有限公司 | 一种数据读取方法及装置 |
CN108282277A (zh) * | 2018-01-22 | 2018-07-13 | 西安万像电子科技有限公司 | 一种丢包重传方法、装置及系统 |
-
2018
- 2018-08-15 CN CN201810930629.4A patent/CN109120385B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155014A (zh) * | 2006-09-28 | 2008-04-02 | 华为技术有限公司 | 一种数据混合自动请求重传方法及装置 |
CN101404565A (zh) * | 2007-10-02 | 2009-04-08 | 英飞凌科技股份公司 | 数据通信系统中的重新传输 |
CN103378955A (zh) * | 2012-04-26 | 2013-10-30 | 华为技术有限公司 | 数据重传的方法、系统、数据重传装置和数据获取装置 |
US20140177559A1 (en) * | 2012-12-21 | 2014-06-26 | Samsung Electro-Mechanics Co., Ltd. | Data communication method in non-beacon wireless network and non-beacon wireless network communication system |
CN106416112A (zh) * | 2015-04-09 | 2017-02-15 | 华为技术有限公司 | 一种数据传输的方法及装置 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN108121776A (zh) * | 2017-12-13 | 2018-06-05 | 深圳市智物联网络有限公司 | 一种数据读取方法及装置 |
CN108282277A (zh) * | 2018-01-22 | 2018-07-13 | 西安万像电子科技有限公司 | 一种丢包重传方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113316770A (zh) * | 2019-01-25 | 2021-08-27 | 华为技术有限公司 | 数据修复方法和装置 |
CN113316770B (zh) * | 2019-01-25 | 2023-08-22 | 华为技术有限公司 | 数据修复方法和装置 |
WO2021115080A1 (zh) * | 2019-12-17 | 2021-06-17 | 聚好看科技股份有限公司 | 数据传输方法、装置及系统 |
US11770212B2 (en) | 2020-06-30 | 2023-09-26 | Boe Technology Group Co., Ltd. | Data transmission methods, data transmission device, and data transmission apparatuses |
Also Published As
Publication number | Publication date |
---|---|
CN109120385B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023812B (zh) | 云计算系统的内容分发方法及装置、计算节点及系统 | |
CN110809054B (zh) | 数据传输方法、装置、设备和存储介质 | |
CN109120385A (zh) | 一种基于数据传输系统的数据传输方法、装置及系统 | |
CN110502259B (zh) | 服务器版本升级方法、视联网系统、电子设备及存储介质 | |
CN108989264A (zh) | 一种直播方法、系统以及相关设备 | |
CN106603550B (zh) | 一种网络隔离方法及装置 | |
US20240272932A1 (en) | Method and apparatus for live migration based on remote direct memory access, and device | |
US11271856B2 (en) | Concept for segmenting an application buffer into data packets | |
US20120096136A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN106411842A (zh) | 在内容中心网络堆栈中传输状态 | |
CN105991481B (zh) | 一种报文转发方法及装置 | |
CN107547346A (zh) | 一种报文传输方法和装置 | |
CN107395559A (zh) | 基于redis的数据处理方法及设备 | |
CN105634977A (zh) | 发现路径最大传输单元的方法和装置 | |
CN109714376A (zh) | 一种固网报文的发送方法、装置及系统 | |
CN113472646A (zh) | 一种数据传输方法、节点、网络管理器及系统 | |
JP2020521388A (ja) | パケット伝送方法及び装置 | |
CN105933453A (zh) | 一种传输数据的方法和系统 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN112398754B (zh) | 数据传输方法、装置、介质、电子设备及网络接入设备 | |
CN110445666A (zh) | 一种网络质量检测方法、装置及服务器 | |
CN103905392B (zh) | 动态主机设置协议dhcp服务器选择方法、装置及系统 | |
US20150131451A1 (en) | Packet storage method and packet storage apparatus | |
CN102739701B (zh) | 媒体流访问控制方法与对等流媒体系统 | |
US20120054310A1 (en) | Terminal, intermediate node and communication method of the same |
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 |