CN111147564B - 数据文件传输方法、系统及通信终端 - Google Patents

数据文件传输方法、系统及通信终端 Download PDF

Info

Publication number
CN111147564B
CN111147564B CN201911330527.XA CN201911330527A CN111147564B CN 111147564 B CN111147564 B CN 111147564B CN 201911330527 A CN201911330527 A CN 201911330527A CN 111147564 B CN111147564 B CN 111147564B
Authority
CN
China
Prior art keywords
data
data packet
transmission
receiving end
identification information
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
Application number
CN201911330527.XA
Other languages
English (en)
Other versions
CN111147564A (zh
Inventor
谢江华
王鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guojiu Big Data Co ltd
Original Assignee
Guojiu Big Data Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guojiu Big Data Co ltd filed Critical Guojiu Big Data Co ltd
Priority to CN201911330527.XA priority Critical patent/CN111147564B/zh
Publication of CN111147564A publication Critical patent/CN111147564A/zh
Application granted granted Critical
Publication of CN111147564B publication Critical patent/CN111147564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种数据文件传输方法、系统及通信终端,通过发送端将待发送的数据文件切分为多个数据包并分别添加对应的数据标识信息后,向接收端请求为每个数据包分配对应的传输序列号并绑定到对应的数据包的数据标识信息中,接着在将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给接收端,使得接收端在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号,并在检测到其包括已分配的所有传输序列号时,向发送端发送数据传输完成指令,而后发送端将缓存的数据包删除。如此,能够在传输大文件数据的过程中有效节省网络资源,提高网络传输效率和网络的高吞吐能力,并且在此基础上保证数据的完整性。

Description

数据文件传输方法、系统及通信终端
技术领域
本申请涉及数据传输技术领域,具体而言,涉及一种数据文件传输方法、系统及通信终端。
背景技术
随着互联网的迅速崛起,几乎已经延伸到世界的每一个角落,当前网络应用中各种互联网产品、物联网应用多媒体数据信息的共享需求也越来越大,在网络上进行多媒体的传输的业务量越来越大。文件传输在信息共享中上一个重要环节,例如重要数据文件、数据库文件等数据的传输对传输时延、数据完整性等特性较为敏感,所以对有效的大文件传输服务的需求更加迫切。
为了保证大文件数据能够完整、及时传输到接收端,通常情况下,通信传输层一般会采用TCP(Transmission Control Protocol,传输控制协议)的方式进行传输,TCP协议是在基于IP(Internet Protocol,网际协议)网络层创建的一条可靠数据传输服务,意味着发送端和接收端交换数据包之前必须先建立一个TCP连接,从而必然会涉及协调操作系统内部的各种资源,在连接的建立和释放过程都会存在一定的代价,并且对于一些场景,对于连接的个数存在限制的情况下,都会限制TCP在某些领域应用中的使用。基于此,如何在传输大文件数据的过程中节省网络资源,提高网络传输效率和网络的高吞吐能力,并且在此基础上保证数据的完整性,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据文件传输方法、系统及通信终端,能够在传输大文件数据的过程中有效节省网络资源,提高网络传输效率和网络的高吞吐能力,并且在此基础上保证数据的完整性。
根据本申请的一方面,提供一种数据文件传输方法,应用于数据文件传输系统,所述数据文件传输系统包括发送端和接收端,所述方法包括:
所述发送端将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号;
所述发送端将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端;
所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
所述接收端在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令;
所述发送端根据所述数据传输完成指令将缓存的数据包删除。
在一种可能的实施方式中,所述向所述接收端请求为每个数据包分配对应的传输序列号的步骤之后,所述方法还包括:
所述接收端从所述发送端发送的数据传输请求中获得每个数据包的数据传输大小;
根据每个数据包的数据传输大小分别为每个数据包分配对应的传输传输序列号,并将为每个数据包分配的传输序列号发送给所述发送端,其中,不同数据包对应的传输序列号均不同。
在一种可能的实施方式中,所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号的步骤,包括:
所述接收端分别从每个数据包中的数据标识信息中解析对应的固定数据字符,并判断所述固定数据字符是否为有效数据字符;
在判定所述固定数据字符为有效数据字符时,缓存该数据包并记录该数据包中的数据标识信息中的传输序列号。
在一种可能的实施方式中,所述发送端将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号的步骤之前,所述方法还包括:
所述发送端在设定时间内未检测到所述接收端分配的传输序列号时,重新向所述接收端发送请求为每个数据包分配对应的传输序列号。
在一种可能的实施方式中,所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号的步骤之后,所述方法还包括:
所述接收端检测到当前传输线程的传输序列号的数据包在设定时间内接收失败时,向所述发送端发送数据包重传请求,所述数据包重传请求中包括需要重传的数据包的传输序列号;
所述发送端根据所述数据包重传请求中的传输序列号,从缓存的各个数据包中查找需要重传的数据包,并重新通过UDP协议发送给所述接收端。
在一种可能的实施方式中,所述发送端根据所述数据传输完成指令将缓存的数据包删除的步骤之后,所述方法还包括:
所述发送端向所述接收端发送指令响应信息;
所述接收端根据所述指令响应信息关闭与所述发送端之间的传输线程。
根据本申请的另一方面,提供一种数据文件传输方法,应用于发送端,所述方法包括:
将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向接收端请求为每个数据包分配对应的传输序列号;
将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端,以使所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
接收所述接收端在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时发送的数据传输完成指令,并根据所述数据传输完成指令将缓存的数据包删除。
根据本申请的另一方面,提供一种数据文件传输方法,应用于接收端,所述方法包括:
根据发送端发送的数据传输请求,向所述发送端发送为每个数据包分配的传输序列号,其中,所述数据包为所述发送端将待发送的数据文件切分后得到的数据包,所述数据包中包括所述发送端添加的数据标识信息,以使得所述发送端将分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存;
接收所述发送端通过UDP协议分别发送的每个数据包,并分别对每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令,以使所述发送端根据所述数据传输完成指令将缓存的数据包删除。
根据本申请的另一方面,提供一种通信终端,所述通信终端包括包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该通信终端实现前述的数据文件传输方法。
根据本申请的另一方面,提供一种数据文件传输系统,所述数据文件传输系统包括发送端和接收端;
所述发送端,用于将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号;
所述发送端,用于将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端;
所述接收端,用于分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
所述接收端,用于在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令;
所述发送端,用于根据所述数据传输完成指令将缓存的数据包删除。
基于上述任一方面,本申请通过发送端将待发送的数据文件切分为多个数据包并分别添加对应的数据标识信息后,向接收端请求为每个数据包分配对应的传输序列号并绑定到对应的数据包的数据标识信息中,接着在将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给接收端,使得接收端在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号,并在检测到其包括已分配的所有传输序列号时,向发送端发送数据传输完成指令,而后发送端将缓存的数据包删除。如此,能够在传输大文件数据的过程中有效节省网络资源,提高网络传输效率和网络的高吞吐能力,并且在此基础上保证数据的完整性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的数据文件传输系统的交互示意框图;
图2示出了本申请实施例所提供的数据文件传输方法的流程示意图之一;
图3示出了本申请实施例所提供的数据文件传输方法的一种示例性说明图;
图4示出了本申请实施例所提供的一种数据文件切分封装的示意图;
图5示出了本申请实施例所提供的数据文件传输方法的流程示意图之二;
图6示出了本申请实施例所提供的数据文件传输方法的流程示意图之三;
图7示出了本申请实施例所提供的第一数据文件传输装置的功能模块示意图;
图8示出了本申请实施例所提供的第二数据文件传输装置的功能模块示意图;
图9示出了本申请实施例所提供的用于实现图1中所示的发送端和接收端的通信终端的组件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。
图1示出了本申请实施例提供的数据文件传输系统10的交互示意图。本实施例中,数据文件传输系统10可以包括发送端100和接收端200,发送端100和接收端200相互之间通信连接。其中,发送端100可以是指提供各种业务数据的服务端,例如各种互联网产品、物联网应用产品的运营服务器等,接收端200可以是指用于接收和共享前述服务端发送的业务数据的终端设备,例如可以是,但不限于智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。
本实施例中,发送端100可以包括一个或者多个,相对应地,接收端200也可以包括一个或多个。应当理解,发送端100和接收端200可以被理解为相对概念,例如在一种可能的实施方式中,发送端100也可以作为接收端200以接收另一发送端100或者接收端200发送的业务数据。又例如,在另一种可能的实施方式中,接收端200也可以作为发送端100以向另一接收端200或者发送端100发送业务数据。
基于前述背景技术所获知的技术问题,经本申请发明人研究发现,UDP(UserDatagram Protocol,用户数据报协议)协议是不可靠的传输协议,在传输数据过程中不记录连接状态,能够节省大量的网络资源,提高网络传输效率,因此在接下来对本实施例的介绍中,与现有技术采用TCP协议方式不同的是,本实施例接下来的文件数据传输过程中会基于UDP协议来进行进一步描述。
可以理解,图1所示的文件数据传输系统10仅为一种可行的示例,在其它可行的实施例中,该文件数据传输系统10也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
图2示出了本申请实施例提供的数据文件传输方法的流程示意图,本实施例中,该数据文件传输方法可以由图1中所示的数据文件传输系统10执行。应当理解,在其它实施例中,本实施例的数据文件传输方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该数据文件传输方法的详细步骤介绍如下。
步骤S110,发送端100将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向接收端200请求为每个数据包分配对应的传输序列号。
步骤S120,发送端100将接收端200分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给接收端200。
步骤S130,接收端200分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号。
步骤S140,接收端200在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向发送端100发送数据传输完成指令。
步骤S150,发送端100根据数据传输完成指令将缓存的数据包删除。
基于上述设计,本实施例可以在发送端100进行数据文件传输之前,基于拆分机制并行处理实现大数据量的高性能处理,以便于用户通过设置拆分规则将需要处理的数据文件拆分成多个数据包,从而便于利用多线程和多处理器并行处理快速处理多个数据包,并且为了提高数据传输的可靠性,发送端100可以在发送数据包之前,将数据包预先进行缓存。同时,可以通过在接收端200采用单线程数据的接收机制,多线程并行数据处理机制,确保数据处理的及时性和保证数据处理的高效性,能够在传输文件数据的过程中有效节省网络资源,提高网络传输效率和网络的高吞吐能力。并且在此基础上,通过接收端200为需要发送的每个数据包分别分配对应的传输序列号,从而可以便于后续在数据传输的过程中通过检测记录接收到的有效数据包的传输序列号来确定数据文件是否接收完整,从而有效保证数据的完整性。
例如,在一种可能的实施方式中,发送端100可以向接收端200发送数据传输请求,该数据传输请求中可以包括每个数据包的数据传输大小。在此基础上,接收端200可以从发送端100发送的数据传输请求中获得每个数据包的数据传输大小,并根据每个数据包的数据传输大小分别为每个数据包分配对应的传输序列号,之后将为每个数据包分配的传输序列号发送给发送端100。其中,接收端200分配传输序列号的规则是保证在同一时刻,分配的传输序列号不会重复并且不会被其他数据处理线程占用,以保证分配的传输序列号的唯一性。也即,不同数据包对应的传输序列号均不同。
示例性地,请结合参阅图3,在图3所示的流程中,假设发送端100接下来需要向接收端200发送的数据包分别为DATA1、DATA2、DATA3、DATA......,那么发送端100可以向接收端200发送数据传输请求SEND_START_CMD,SEND_START_CMD中可包括DATA1、DATA2、DATA3、DATA......的数据传输大小。接收端200在接收到SEND_START_CMD之后,分别为DATA1、DATA2、DATA3、DATA......分配对应的传输序列号并以SEND_START_CMD_ACK的数据传输请求反馈命令发送给发送端100,发送端100可以根据SEND_START_CMD_ACK将DATA1、DATA2、DATA3、DATA......对应的传输序列号绑定在DATA1、DATA2、DATA3、DATA......的数据标识信息中。
此外,在一些可能的实施方式中,如果发送端100在设定时间内未检测到接收端200分配的传输序列号时,可以重新向接收端200发送请求为每个数据包分配对应的传输序列号。
例如,如果发送端100在1分钟内未检测到接收端200为DATA1、DATA2、DATA3、DATA......分配的传输序列号时,可以重新向接收端200发送请求为DATA1、DATA2、DATA3、DATA......分配对应的传输序列号。
进一步地,在一种可能的实施方式中,请结合参阅图4,针对步骤S130,每个数据包的数据标识信息中可以包括该数据包的固定字符、报文数据编号(传输序列号)、报文数据长度,并可以按照LV(Length,Value)的数据格式构成。整个传输的数据包是由数据标识信息和数据报文内容组成。在接收端200接收数据包之后,可以分别从每个数据包中的数据标识信息中解析对应的固定数据字符,并判断固定数据字符是否为有效数据字符,在判定固定数据字符为有效数据字符时,可以缓存该数据包并记录该数据包中的数据标识信息中的传输序列号。
以图3所示的传输DATA1的示例为例,接收端200在接收到DATA1之后,可以从DATA1中的数据标识信息中解析对应的固定数据字符,并判断固定数据字符是否为有效数据字符,在判定固定数据字符为有效数据字符时,可以缓存DATA1并记录DATA1中的数据标识信息中的传输序列号。
此外,在一些可能的实施方式中,接收端200检测到当前传输线程的传输序列号的数据包在设定时间内接收失败时,可以向发送端100发送数据包重传请求,数据包重传请求中包括需要重传的数据包的传输序列号。在此基础上,发送端100可以根据数据包重传请求中的传输序列号,从缓存的各个数据包中查找需要重传的数据包,并重新通过UDP协议发送给接收端200。
以图3所示的传输DATA1的示例为例,接收端200检测到当前传输的DATA1在1分钟内接收失败时,可以向发送端100发送数据包重传请求RESEND_DATAN_CMD,RESEND_DATAN_CMD中包括需要DATA1的传输序列号。在此基础上,发送端100可以根据RESEND_DATAN_CMD中DATA1的传输序列号,从缓存的各个数据包中查找DATA1,并重新通过UDP协议将DATA1发送给接收端200。
由此,针对步骤S140,接收端200在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向发送端100发送数据传输完成指令RESV_END_CMD,这样发送端100可以根据RESV_END_CMD将缓存的DATA1、DATA2、DATA3、DATA......删除。
之后,在一种可能的实施方式中,发送端100还可以在删除缓存的DATA1、DATA2、DATA3、DATA......之后,向接收端200发送指令响应信息RESV_END_ACK,接收端200根据指令响应信息RESV_END_ACK关闭与发送端100之间的传输线程。至此,整个数据传输过程结束。
基于同一发明构思,图5示出了本申请实施例提供的另一种数据文件传输方法的流程示意图,与前述实施例不同的是,该数据文件传输方法由图1中所示的发送端100执行。需要说明的是,接下来要描述的数据文件传输方法中涉及的步骤在上面实施例中已经描述过,具体各个步骤的详尽内容可参照上面的实施例描述,在此不再加以详述。下面仅对发送端100执行的步骤进行简要说明。
步骤S210,将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向接收端200请求为每个数据包分配对应的传输序列号。
步骤S220,将接收端200分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给接收端200,以使接收端200分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号。
步骤S230,接收接收端200在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时发送的数据传输完成指令,并根据数据传输完成指令将缓存的数据包删除。
基于同一发明构思,图6示出了本申请实施例提供的另一种数据文件传输方法的流程示意图,与前述实施例不同的是,该数据文件传输方法由图1中所示的接收端200执行。需要说明的是,接下来要描述的数据文件传输方法中涉及的步骤在上面实施例中已经描述过,具体各个步骤的详尽内容可参照上面的实施例描述,在此不再加以详述。下面仅对接收端200执行的步骤进行简要说明。
步骤S310,根据发送端100发送的数据传输请求,向发送端100发送为每个数据包分配的传输序列号,其中,数据包为发送端100将待发送的数据文件切分后得到的数据包,数据包中包括发送端100添加的数据标识信息,以使得发送端100将分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存。
步骤S320,接收发送端100通过UDP协议分别发送的每个数据包,并分别对每个数据包中的数据标识信息进行格式解析以在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号。
步骤S330,在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向发送端100发送数据传输完成指令,以使发送端100根据数据传输完成指令将缓存的数据包删除。
基于同一发明构思,请参阅图7,示出了本申请实施例提供的第一数据文件传输装置110的功能模块示意图,本实施例可以根据上述发送端100执行的方法实施例对第一数据文件传输装置110进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图7示出的第一数据文件传输装置110只是一种装置示意图。其中,第一数据文件传输装置110可以包括切分模块111、绑定发送模块112以及接收删除模块113,下面分别对该第一数据文件传输装置110的各个功能模块的功能进行详细阐述。
切分模块111,用于将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向接收端200请求为每个数据包分配对应的传输序列号。可以理解,该切分模块111可以用于执行上述步骤S210,关于该切分模块111的详细实现方式可以参照上述对步骤S210有关的内容。
绑定发送模块112,用于将接收端200分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给接收端200,以使接收端200分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号。可以理解,该绑定发送模块112可以用于执行上述步骤S220,关于该绑定发送模块112的详细实现方式可以参照上述对步骤S220有关的内容。
接收删除模块113,用于接收接收端200在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时发送的数据传输完成指令,并根据数据传输完成指令将缓存的数据包删除。可以理解,该接收删除模块113可以用于执行上述步骤S230,关于该接收删除模块113的详细实现方式可以参照上述对步骤S230有关的内容。
基于同一发明构思,请参阅图8,示出了本申请实施例提供的第二数据文件传输装置210的功能模块示意图,本实施例可以根据上述接收端200执行的方法实施例对第二数据文件传输装置210进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图8示出的第二数据文件传输装置210只是一种装置示意图。其中,第二数据文件传输装置210可以包括,下面分别对该第二数据文件传输装置210的各个功能模块的功能进行详细阐述。
第一发送模块211,用于根据发送端100发送的数据传输请求,向发送端100发送为每个数据包分配的传输序列号,其中,数据包为发送端100将待发送的数据文件切分后得到的数据包,数据包中包括发送端100添加的数据标识信息,以使得发送端100将分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存。可以理解,该第一发送模块211可以用于执行上述步骤S310,关于该第一发送模块211的详细实现方式可以参照上述对步骤S310有关的内容。
接收记录模块212,用于接收发送端100通过UDP协议分别发送的每个数据包,并分别对每个数据包中的数据标识信息进行格式解析以在确定数据包为有效数据包后,记录已接收的有效数据包的传输序列号。可以理解,该接收记录模块212可以用于执行上述步骤S320,关于该接收记录模块212的详细实现方式可以参照上述对步骤S320有关的内容。
第二发送模块213,用于在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向发送端100发送数据传输完成指令,以使发送端100根据数据传输完成指令将缓存的数据包删除。可以理解,该第二发送模块213可以用于执行上述步骤S330,关于该第二发送模块213的详细实现方式可以参照上述对步骤S330有关的内容。
基于同一发明构思,请参阅图9,示出了本申请实施例提供的用于实现图1中所示的发送端100和接收端200的通信终端300的组件结构示意图,本实施例中,该通信终端300可以包括机器可读存储介质320和处理器430。
本实施例中,机器可读存储介质320与处理器430均位于通信终端300中且二者分离设置。然而,应当理解的是,机器可读存储介质320也可以是独立于通信终端300之外,且可以由处理器430通过总线接口来访问。可替换地,机器可读存储介质320也可以集成到处理器430中,例如,可以是高速缓存和/或通用寄存器。
处理器430是该通信终端300的控制中心,利用各种接口和线路连接整个通信终端300的各个部分,通过运行或执行存储在机器可读存储介质320内的软件程序和/或模块,以及调用存储在机器可读存储介质320内的数据,执行该通信终端300的各种功能和处理数据,从而对通信终端300进行整体监控。可选地,处理器430可包括一个或多个处理核心;例如,处理器430可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
其中,处理器430可以是一个通用的中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制上述发送端100或者上述接收端200执行的方法实施例提供的数据文件传输方法的程序执行的集成电路。
机器可读存储介质320可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmabler-Only MEMory,EEPROM)、只读光盘(Compactdisc Read-Only MEMory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。机器可读存储介质320可以是独立存在,通过通信总线与处理器430相连接。机器可读存储介质320也可以和处理器集成在一起。其中,机器可读存储介质320用于存储执行本申请方案的机器可执行指令。处理器430用于执行机器可读存储介质320中存储的机器可执行指令,以实现上述发送端100或者上述接收端200执行的方法实施例提供的数据文件传输方法。
由于本申请实施例提供的通信终端300是上述发送端100或者上述接收端200执行的方法实施例的另一种实现形式,且通信终端300可用于执行上述发送端100或者上述接收端200执行的方法实施例提供的数据文件传输方法,因此其所能获得的技术效果可参考上述发送端100或者上述接收端200执行的方法实施例,在此不再赘述。
进一步地,本申请实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于实现上述发送端100或者上述接收端200执行的方法实施例提供的数据文件传输方法。
本申请实施例是参照根据本申请实施例的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种数据文件传输方法,其特征在于,应用于数据文件传输系统,所述数据文件传输系统包括发送端和接收端,所述方法包括:
所述发送端将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号;
所述发送端将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端;
所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
所述接收端在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令;
所述发送端根据所述数据传输完成指令将缓存的数据包删除;
所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号的步骤,包括:
所述接收端分别从每个数据包中的数据标识信息中解析对应的固定数据字符,并判断所述固定数据字符是否为有效数据字符;
在判定所述固定数据字符为有效数据字符时,缓存该数据包并记录该数据包中的数据标识信息中的传输序列号。
2.根据权利要求1所述的数据文件传输方法,其特征在于,所述向所述接收端请求为每个数据包分配对应的传输序列号的步骤之后,所述方法还包括:
所述接收端从所述发送端发送的数据传输请求中获得每个数据包的数据传输大小;
根据每个数据包的数据传输大小分别为每个数据包分配对应的传输序列号,并将为每个数据包分配的传输序列号发送给所述发送端,其中,不同数据包对应的传输序列号均不同。
3.根据权利要求1-2中任意一项所述的数据文件传输方法,其特征在于,所述发送端将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号的步骤之前,所述方法还包括:
所述发送端在设定时间内未检测到所述接收端分配的传输序列号时,重新向所述接收端发送请求为每个数据包分配对应的传输序列号。
4.根据权利要求1-2中任意一项所述的数据文件传输方法,其特征在于,所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号的步骤之后,所述方法还包括:
所述接收端检测到当前传输线程的传输序列号的数据包在设定时间内接收失败时,向所述发送端发送数据包重传请求,所述数据包重传请求中包括需要重传的数据包的传输序列号;
所述发送端根据所述数据包重传请求中的传输序列号,从缓存的各个数据包中查找需要重传的数据包,并重新通过UDP协议发送给所述接收端。
5.根据权利要求1-2中任意一项所述的数据文件传输方法,其特征在于,所述发送端根据所述数据传输完成指令将缓存的数据包删除的步骤之后,所述方法还包括:
所述发送端向所述接收端发送指令响应信息;
所述接收端根据所述指令响应信息关闭与所述发送端之间的传输线程。
6.一种数据文件传输方法,其特征在于,应用于发送端,所述方法包括:
将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向接收端请求为每个数据包分配对应的传输序列号;
将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端,以使所述接收端分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
接收所述接收端在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时发送的数据传输完成指令,并根据所述数据传输完成指令将缓存的数据包删除。
7.一种数据文件传输方法,其特征在于,应用于接收端,所述方法包括:
根据发送端发送的数据传输请求,向所述发送端发送为每个数据包分配的传输序列号,其中,所述数据包为所述发送端将待发送的数据文件切分后得到的数据包,所述数据包中包括所述发送端添加的数据标识信息,以使得所述发送端将分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存;
接收所述发送端通过UDP协议分别发送的每个数据包,并分别对每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令,以使所述发送端根据所述数据传输完成指令将缓存的数据包删除。
8.一种通信终端,其特征在于,所述通信终端包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该通信终端实现权利要求6 或7 所述的数据文件传输方法。
9.一种数据文件传输系统,其特征在于,所述数据文件传输系统包括发送端和接收端;
所述发送端,用于将待发送的数据文件切分为多个数据包,并分别为每个数据包添加对应的数据标识信息后,向所述接收端请求为每个数据包分配对应的传输序列号;
所述发送端,用于将所述接收端分配的传输序列号绑定到对应的数据包中的数据标识信息中,并将每个数据包进行缓存后,通过UDP协议分别将每个数据包发送给所述接收端;
所述接收端,用于分别对接收到的每个数据包中的数据标识信息进行格式解析以在确定所述数据包为有效数据包后,记录已接收的有效数据包的传输序列号;
所述接收端,用于在检测到已接收的数据包的传输序列号包括已分配的所有传输序列号时,向所述发送端发送数据传输完成指令;
所述发送端,用于根据所述数据传输完成指令将缓存的数据包删除。
CN201911330527.XA 2019-12-20 2019-12-20 数据文件传输方法、系统及通信终端 Active CN111147564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911330527.XA CN111147564B (zh) 2019-12-20 2019-12-20 数据文件传输方法、系统及通信终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911330527.XA CN111147564B (zh) 2019-12-20 2019-12-20 数据文件传输方法、系统及通信终端

Publications (2)

Publication Number Publication Date
CN111147564A CN111147564A (zh) 2020-05-12
CN111147564B true CN111147564B (zh) 2022-07-26

Family

ID=70519237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911330527.XA Active CN111147564B (zh) 2019-12-20 2019-12-20 数据文件传输方法、系统及通信终端

Country Status (1)

Country Link
CN (1) CN111147564B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073386A (zh) * 2020-08-18 2020-12-11 浙江鸿城科技有限责任公司 一种基于udp协议无窗口可随机选取的文件传输方法
CN112583822B (zh) * 2020-12-09 2022-06-10 海信视像科技股份有限公司 通信设备及通信方法
CN112583923B (zh) * 2020-12-16 2022-08-30 深圳数联天下智能科技有限公司 一种文件传输方法、设备和存储介质
CN114759965A (zh) * 2020-12-29 2022-07-15 中国科学院空天信息创新研究院 数据包传输方法、装置、存储介质
CN116938816A (zh) * 2021-01-04 2023-10-24 腾讯科技(深圳)有限公司 数据传输方法、装置、计算机可读介质及电子设备
CN113114325B (zh) * 2021-03-19 2022-05-17 中国联合网络通信集团有限公司 一种通信方法及装置
CN113259490B (zh) * 2021-06-29 2021-09-24 北京华云安信息技术有限公司 基于udp传输协议的多级节点网络数据传输方法
CN113835902B (zh) * 2021-09-22 2023-12-05 抖音视界有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114040445B (zh) * 2021-11-08 2023-08-15 聚好看科技股份有限公司 一种数据传输方法及装置
CN114422504A (zh) * 2022-01-24 2022-04-29 中国工商银行股份有限公司 数据传输方法及相关装置
CN114777928B (zh) * 2022-05-09 2023-03-21 华能国际电力股份有限公司井冈山电厂 一种红外成像监测和预警方法及系统
CN114928377B (zh) * 2022-05-11 2023-04-21 威创集团股份有限公司 降低usb数据透传带宽的输出传输方法、装置及设备
CN114979092B (zh) * 2022-05-13 2024-04-02 深圳智慧林网络科技有限公司 一种基于rtp的数据传输方法、装置、设备和介质
CN117441324A (zh) * 2022-05-20 2024-01-23 北京小米移动软件有限公司 报文接收方法、装置、存储介质及电子设备
CN115941675B (zh) * 2023-03-14 2023-05-05 成都数联云算科技有限公司 一种udp大文件报文发送方法及系统及装置及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001076189A2 (en) * 2000-03-30 2001-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Method of preserving data packet sequencing
CN102137027A (zh) * 2011-05-03 2011-07-27 厦门市美亚柏科信息股份有限公司 数据的可靠传输方法和装置
CN105187440A (zh) * 2015-09-26 2015-12-23 北京暴风科技股份有限公司 使用udp协议传输视频数据的方法及系统
CN105791154A (zh) * 2014-12-26 2016-07-20 浙江大华技术股份有限公司 一种基于udp的数据传输方法及装置
CN109474642A (zh) * 2019-01-08 2019-03-15 郑州云海信息技术有限公司 基于以太网udp协议数据传输方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571635A (zh) * 2012-01-18 2012-07-11 浪潮(北京)电子信息产业有限公司 一种消息传输方法及设备
CN106357364B (zh) * 2015-07-15 2020-09-25 腾讯科技(深圳)有限公司 数据传输方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001076189A2 (en) * 2000-03-30 2001-10-11 Telefonaktiebolaget Lm Ericsson (Publ) Method of preserving data packet sequencing
CN102137027A (zh) * 2011-05-03 2011-07-27 厦门市美亚柏科信息股份有限公司 数据的可靠传输方法和装置
CN105791154A (zh) * 2014-12-26 2016-07-20 浙江大华技术股份有限公司 一种基于udp的数据传输方法及装置
CN105187440A (zh) * 2015-09-26 2015-12-23 北京暴风科技股份有限公司 使用udp协议传输视频数据的方法及系统
CN109474642A (zh) * 2019-01-08 2019-03-15 郑州云海信息技术有限公司 基于以太网udp协议数据传输方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yabin Ge ; Bo Xie ; Yongqiang Song."Design Based on Reliable UDP Multi-Window Transmission".《2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS)》.2018, *
董健 ; 王坚 ; 邓小超 ; 刘光曹 ; 袁海龙."基于UDP协议的CCD数据可靠传输的研究和实现".《核电子学与探测技术》.2009, *

Also Published As

Publication number Publication date
CN111147564A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
CN111147564B (zh) 数据文件传输方法、系统及通信终端
CN106664290B (zh) 一种光电混合网络的数据传输方法及装置
CN109496418B (zh) 文件下载方法、装置及设备/终端/服务器
CN112261094B (zh) 一种报文处理方法及代理服务器
CN110324405B (zh) 消息发送方法、装置、系统及计算机可读存储介质
WO2013163926A1 (zh) 处理用户访问网页的请求的方法及系统
EP2755363A1 (en) Data-fast-distribution method and device
WO2015027806A1 (zh) 一种内存数据的读写处理方法和装置
CN111490947A (zh) 数据包发送方法、数据包接收方法、系统、设备及介质
CN114553863B (zh) 文件传输方法及装置、存储介质和电子设备
CN104303471A (zh) 用于通过选择数据加速算法提供内容的方法和装置
WO2021238259A1 (zh) 一种数据传输方法、装置、设备及计算机可读存储介质
CN111404842B (zh) 数据传输方法、装置及计算机存储介质
CN113015221A (zh) 一种直连通信的方法、amf及计算机存储介质
CN111913817A (zh) 一种数据传输方法、系统和设备以及计算机可读存储介质
CN110798366B (zh) 任务逻辑的处理方法、装置及设备
CN110445666B (zh) 一种网络质量检测方法、装置及服务器
US20160261719A1 (en) Information processing system, control program, and control method
CN113595694B (zh) 数据的传输方法、计算设备及存储介质
CN116055403A (zh) 报文数据的传输方法、装置和服务器
CN115378855A (zh) 一种数据包的测试方法、装置和通信装置及存储介质
CN114528114B (zh) 数据处理方法、装置及设备
CN115514799A (zh) Tcp连接方法、系统、网络设备及存储介质
CN112422457B (zh) 报文处理方法、装置和计算机存储介质
CN114500484A (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