CN115225199A - 一种数据传输方法和装置 - Google Patents

一种数据传输方法和装置 Download PDF

Info

Publication number
CN115225199A
CN115225199A CN202110426790.XA CN202110426790A CN115225199A CN 115225199 A CN115225199 A CN 115225199A CN 202110426790 A CN202110426790 A CN 202110426790A CN 115225199 A CN115225199 A CN 115225199A
Authority
CN
China
Prior art keywords
target
target object
transmission
data
message
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.)
Pending
Application number
CN202110426790.XA
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110426790.XA priority Critical patent/CN115225199A/zh
Publication of CN115225199A publication Critical patent/CN115225199A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • 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

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

本申请实施例提供一种数据传输方法和装置,应用于通信领域。该方法包括:第一设备获取目标数据;第一设备根据第一协议向第二设备发送目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。这样,针对不同传输需求的对象,采取不同的传输方式,实现数据的差异化传输,以提升传输效率和满足不同对象的传输需求。

Description

一种数据传输方法和装置
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法和装置。
背景技术
随着通信技术的发展,设备与设备之间的通信越来越多,人们对设备之间的数据传输的需求越来越多,例如传输时延小、数据完整等。
现有设计中,设备之间的数据传输,可以基于传输控制(transmission controlprotocol,TCP)协议采用完全可靠传输的传输方式,或者基于用户数据报(user datagramprotocol,UDP)协议采用完全没有保障的传输方式。
这两种传输方式都采用“字节流”的方式传输数据,不会对传输的内容进行区分。因此,两种传输方式均不能满足数据传输的多样化需求,不能很好的满足服务需求。
发明内容
本申请实施例提供一种数据传输方法和装置,针对对象的不同需求,采取不同的数据传输保障方案,实现数据的差异化传输,以提升传输效率,满足不同数据的传输需求。
第一方面,本申请实施例提供一种数据传输方法,包括:第一设备获取目标数据;第一设备根据第一协议向第二设备发送目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
这样,针对不同传输需求的对象,采取不同的传输方式,实现数据的差异化传输,以提升传输效率,满足不同对象的传输需求。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
这样,方便第一设备确定传输方式,更好的实现对象的队列管理。
可选的,第一设备根据第一协议向第二设备发送目标数据,包括:在目标数据中包括可靠传输需求的第一目标对象的情况下,第一设备采用重传机制向第二设备发送第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,重传待发送的对象,直到待发送的对象成功发送。
这样,可以可靠完整的传输具有可靠传输需求的第一目标对象。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,第一设备采用不重传机制或有限次数重传机制向第二设备发送第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,有限次数的重传待发送的对象。
这样,可以降低非可靠传输需求的第二目标对象的重传次数,缩短第二目标对象的传输时间,进而提高传输效率。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,当第三目标对象的传输时间小于或等于预设时间时,第一设备采用重传机制向第二设备发送第三目标对象;当传输时间大于预设时间时,第一设备停止发送第三目标对象。
这样,可以在预设时间内尽可能保障预设时间内的可靠传输需求的第三目标对象的数据可靠。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,第一设备采用带宽优先机制向第二设备发送第四目标对象;其中,带宽优先机制为,优先为待发送的对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法。
这样,可以通过大带宽传输带宽优先需求的第四目标对象。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,第一设备采用延迟优先机制向第二设备发送第五目标对象;其中,延迟优先机制为,优先为待发送的对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
这样,可以缩短延迟优先需求的第五目标对象的时间延迟。
可选的,第一设备根据第一协议向第二设备发送目标数据,包括:第一设备获取目标数据中的一个或多个目标对象的传输需求;第一设备向第二设备发送第一报文;第一报文包括传输需求;在第一设备接收到来自第二设备的第一响应消息的情况下,第一设备向第二设备发送一个或多个目标对象的第二报文;其中,第一响应消息用于响应第一报文,第二报文包括序列号和目标对象的数据内容。
这样,方便第二设备获取目标对象的传输需求,并根据第二报文的序列号确定目标对象的接收情况,进而确定响应消息和提交时间等。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
这样,方便第二设备确定一个目标对象的传输结束,确定目标对象的提交时间,减少向应用提交的延迟。
可选的,目标数据中包括可靠传输需求的第一目标对象,方法还包括:在第一设备接收到来自第二设备的第二响应消息的情况下,第一设备向第二设备重传第一目标对象;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收。
这样,可以保障第一目标对象的可靠传输。
可选的,目标数据中包括非可靠传输需求的第二目标对象,方法还包括:在第一设备接收到来自第二设备的第三响应消息的情况下,第一设备向第二设备发送目标数据的尾部报文后,开启第一定时器,并在第一定时器计时期间,重传第二目标对象,直到第一定时器关断或第二目标对象被第二设备成功接收;或者,在第一设备接收到来自第二设备的第三响应消息的情况下,第一设备向第二设备重传N次第二目标对象,N为自然数;或者,在第一设备接收到来自第二设备的第三响应消息的情况下,第一设备判断目标数据是否传输完成,在目标数据中存在待传输的目标对象时,第一设备向第二设备发送待传输的目标对象;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收。
这样,第一设备可以根据上述三种方式确定是否重传第二目标对象,可以降低第二目标对象的重传次数,缩短第二目标对象的传输时间,进而提高传输效率。
可选的,第一设备根据第一协议向第二设备发送目标数据,包括:第一设备对目标数据中的部分或全部目标对象编码;第一设备向第二设备发送第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;第一设备向第二设备发送第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息。
这样,可以通过编码方式保护部分或全部目标对象,降低目标对象的重传次数,缩短传输时间,提高传输效率。
可选的,第一设备对目标数据中的部分或全部目标对象编码,包括:第一设备基于对象对目标数据中的部分或全部目标对象编码;其中,第一设备编码的编码长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
这样,基于对象进行编码,避免不合理编码方式产生的额外等待时间,降低目标对象的传输时间。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
可选的,目标数据包括可靠传输需求的第一目标对象和非可靠传输需求的第二目标对象,第一设备根据第一协议向第二设备发送目标数据,包括:第一设备根据第一协议向第二设备交替发送第一目标对象和第二目标对象。
可选的,第一设备根据第一协议向第二设备交替发送第一目标对象和第二目标对象,包括:第一设备根据第一协议向第二设备发送A个第一目标对象;第一设备根据第一协议向第二设备发送A个第一目标对象后,第一设备根据第一协议向第二设备发送B个第二目标对象;第一设备根据第一协议向第二设备发送B个第二目标对象后,第一设备根据第一协议向第二设备发送C个第一目标对象;其中,A、B和C均为任意自然数。
第二方面,本申请实施例提供一种数据传输方法,包括:第二设备根据第一协议接收来自第一设备的目标数据;第二设备处理目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
可选的,第二设备根据第一协议接收来自第一设备的目标数据,包括:在目标数据中包括可靠传输需求的第一目标对象的情况下,第二设备接收第一设备采用重传机制发送的第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,第一设备重传待发送的对象,直到待发送的对象成功发送。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,第二设备接收第一设备采用不重传机制或有限次数重传机制发送的第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,第一设备不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,第一设备有限次数的重传待发送的对象。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,第二设备接收第一设备在预设时间内采用重传机制发送的第三目标对象。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,第二设备接收第一设备采用带宽优先机制发送的第四目标对象;其中,带宽优先机制为,第一设备优先为待发送的对象选择带宽满足需求的传输路径。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,第二设备接收第一设备采用延迟优先机制发送的第五目标对象;其中,延迟优先机制为,第一设备优先为待发送的对象选择延迟满足需求的传输路径。
可选的,第二设备根据第一协议接收来自第一设备的目标数据,包括:第二设备接收来自第一设备的第一报文;第一报文包括传输需求;第二设备向第一设备发送第一响应信息,第一响应信息用于响应第一报文;第二设备接收来自第一设备的一个或多个目标对象的第二报文;其中,第二报文包括目标对象的数据内容和序列号。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
可选的,目标数据中包括可靠传输需求的第一目标对象,方法还包括:第二设备向第一设备发送第二响应信息;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收;第二设备接收第一设备根据第二响应信息重传的第一目标对象。
可选的,目标数据中包括非可靠传输需求的第二目标对象,方法还包括:第二设备向第一设备发送第三响应信息;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收;在第二设备接收到尾部报文时,开启第二定时器,并在第二定时器计时期间接收第一设备所重传的第二目标对象,直到第二定时器关断或第二目标对象被第二设备成功接收;或者,在第二设备接收到尾部报文时,第二设备提交第二目标对象的数据;或者,在第二设备接收到不同于第二目标对象的其他对象的数据时,第二设备提交第二目标对象的数据;或者,第二设备开启第三定时器,在第三定时器超时时,第二设备提交第二目标对象的数据。
这样,可以缩短第二设备向上提交第二目标对象的时间。
可选的,第二设备根据第一协议接收来自第一设备的目标数据,包括:第二设备接收来自第一设备第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;第二设备接收来自第一设备第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息,关联信息为第一设备对目标数据中的部分或全部目标对象编码得到;第二设备处理目标数据,包括:第二设备根据第三报文和第四报文解析目标数据。
可选的,编码信息保护的目标对象的长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
第三方面,本申请实施例提供一种数据传输装置,应用于第一设备。
该数据传输装置可为具有发送功能的任意形式的通信设备,或者为发送功能的其他部件。该数据传输装置包括但不限于:网络设备、终端设备、网络控制器、通信模块、通信模组、通信部件或通信芯片等,通信设备可通过该网络控制器、通信模块、通信模组、通信部件或通信芯片等,实施本申请提供的方法。
该数据传输装置包括用于实现第一方面和第一方面任一项中的数据传输方法的模块或单元。应理解,各个模块或单元可通过执行计算机程序来实现相应的功能。
示例性的,该数据传输装置包括通信单元和处理单元,处理单元,用于获取目标数据;通信单元,用于根据第一协议向第二设备发送目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
可选的,在目标数据中包括可靠传输需求的第一目标对象的情况下,通信单元具体用于采用重传机制向第二设备发送第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,重传待发送的对象,直到待发送的对象成功发送。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,通信单元具体用于采用不重传机制或有限次数重传机制向第二设备发送第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,有限次数的重传待发送的对象。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,当第三目标对象的传输时间小于或等于预设时间时,通信单元具体用于采用重传机制向第二设备发送第三目标对象;当传输时间大于预设时间时,通信单元具体用于停止发送第三目标对象。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,通信单元具体用于采用带宽优先机制向第二设备发送第四目标对象;其中,带宽优先机制为,优先为待发送的对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,通信单元具体用于采用延迟优先机制向第二设备发送第五目标对象;其中,延迟优先机制为,优先为待发送的对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
可选的,处理单元具体用于获取目标数据中的一个或多个目标对象的传输需求;通信单元具体用于向第二设备发送第一报文;第一报文包括传输需求;在通信单元接收到来自第二设备的第一响应消息的情况下,通信单元具体用于向第二设备发送一个或多个目标对象的第二报文;其中,第一响应消息用于响应第一报文,第二报文包括序列号和目标对象的数据内容。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
可选的,目标数据中包括可靠传输需求的第一目标对象;在通信单元接收到来自第二设备的第二响应消息的情况下,通信单元具体用于向第二设备重传第一目标对象;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收。
可选的,目标数据中包括非可靠传输需求的第二目标对象;在通信单元接收到来自第二设备的第三响应消息的情况下,通信单元向第二设备发送目标数据的尾部报文后,处理单元具体用于开启第一定时器,通信单元具体用于在第一定时器计时期间,重传第二目标对象,直到第一定时器关断或第二目标对象被第二设备成功接收;或者,在通信单元接收到来自第二设备的第三响应消息的情况下,通信单元具体用于向第二设备重传N次第二目标对象,N为自然数;或者,在通信单元接收到来自第二设备的第三响应消息的情况下,处理单元判断目标数据是否传输完成,在目标数据中存在待传输的目标对象时,通信单元具体用于向第二设备发送待传输的目标对象;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收。
可选的,处理单元还用于对目标数据中的部分或全部目标对象编码;通信单元具体用于向第二设备发送第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;通信单元具体用于向第二设备发送第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息。
可选的,处理单元具体用于基于对象对目标数据中的部分或全部目标对象编码;其中,第一设备编码的编码长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
可选的,通信单元具体用于根据第一协议向第二设备交替发送第一目标对象和第二目标对象。
可选的,通信单元具体用于根据第一协议向第二设备发送A个第一目标对象;通信单元根据第一协议向第二设备发送A个第一目标对象后,通信单元具体用于根据第一协议向第二设备发送B个第二目标对象;通信单元根据第一协议向第二设备发送B个第二目标对象后,通信单元具体用于根据第一协议向第二设备发送C个第一目标对象;其中,A、B和C均为任意自然数。
第四方面,本申请实施例提供一种数据传输装置,应用于第二设备。
该数据传输装置可为具有发送功能的任意形式的通信设备,或者为发送功能的其他部件。该数据传输装置包括但不限于:网络设备、终端设备、网络控制器、通信模块、通信模组、通信部件或通信芯片等,通信设备可通过该网络控制器、通信模块、通信模组、通信部件或通信芯片等,实施本申请提供的方法。
该数据传输装置包括用于实现第二方面和第二方面任一项中的数据传输方法的模块或单元。应理解,各个模块或单元可通过执行计算机程序来实现相应的功能。
示例性的,该数据传输装置包括通信单元和处理单元,通信单元,用于根据第一协议接收来自第一设备的目标数据;处理单元,用于处理目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
可选的,在目标数据中包括可靠传输需求的第一目标对象的情况下,通信单元具体用于接收第一设备采用重传机制发送的第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,第一设备重传待发送的对象,直到待发送的对象成功发送。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,通信单元具体用于接收第一设备采用不重传机制或有限次数重传机制发送的第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,第一设备不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,第一设备有限次数的重传待发送的对象。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,通信单元具体用于接收第一设备在预设时间内采用重传机制发送的第三目标对象。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,通信单元具体用于接收第一设备采用带宽优先机制发送的第四目标对象;其中,带宽优先机制为,第一设备优先为对象选择带宽满足需求的传输路径。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,通信单元具体用于接收第一设备采用延迟优先机制发送的第五目标对象;其中,延迟优先机制为,第一设备优先为对象选择延迟满足需求的传输路径。
可选的,通信单元具体用于接收来自第一设备的第一报文;第一报文包括传输需求;通信单元具体用于向第一设备发送第一响应信息,第一响应信息用于响应第一报文;通信单元具体用于接收来自第一设备的一个或多个目标对象的第二报文;其中,第二报文包括目标对象的数据内容和序列号。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
可选的,目标数据中包括可靠传输需求的第一目标对象;通信单元具体用于向第一设备发送第二响应信息;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收;通信单元具体用于接收第一设备根据第二响应信息重传的第一目标对象。
可选的,通信单元具体用于向第一设备发送第三响应信息;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收;在通信单元接收到尾部报文时,处理单元具体用于开启第二定时器;通信单元在第二定时器计时期间接收第一设备所重传的第二目标对象,直到第二定时器关断或第二目标对象被第二设备成功接收;或者,在通信单元接收到尾部报文时,处理单元具体用于提交第二目标对象的数据;或者,在通信单元接收到不同于第二目标对象的其他对象的数据时,处理单元具体用于提交第二目标对象的数据;或者,处理单元具体用于开启第三定时器,在第三定时器超时时,处理单元具体用于提交第二目标对象的数据。
可选的,通信单元具体用于接收来自第一设备第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;通信单元具体用于接收来自第一设备第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息,关联信息为第一设备对目标数据中的部分或全部目标对象编码得到;处理单元具体用于根据第三报文和第四报文解析目标数据。
可选的,编码信息保护的目标对象的长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
第五方面,本申请实施例还提供一种数据传输装置,包括:处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行如第一方面或第二方面的方法。
第六方面,本申请实施例还提供一种数据传输装置,包括:至少一个处理器和接口电路,接口电路用于为至少一个处理器提供信息输入和/或信息输出,至少一个处理器用于执行如第一方面或第二方面的方法。
第七方面,本申请实施例还提供一种芯片,包括至少一个处理器和接口;接口,用于为至少一个处理器提供程序指令或者数据;至少一个处理器用于执行程序行指令,以实现如第一方面或第二方面的方法。
第八方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第二方面的方法。
第九方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面或第二方面的方法。
应当理解的是,本申请的第三方面至第十一方面与本申请的第一方面或第二方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种视频界面示意图;
图2为本申请实施例提供的一种视频数据的结构示意图;
图3为本申请实施例提供的一种数据传输方法的流程示意图;
图4为本申请实施例提供的一种第一目标对象的传输方法的流程示意图;
图5为本申请实施例提供的一种报文结构示意图;
图6为本申请实施例提供的一种第二目标对象的传输方法的流程示意图;
图7为本申请实施例提供的一种第三目标对象的传输方法的流程示意图;
图8为本申请实施例提供的一种编码方式对应的传输方法的流程示意图;
图9为本申请实施例提供的一种非可靠对象的传输方法的流程示意图;
图10为本申请实施例提供的一种数据传输装置的结构示意图;
图11为本申请实施例提供的一种数据传输装置的硬件结构示意图;
图12为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的数据传输方法可以应用于包括第一设备和第二设备的通信系统。第一设备可以是具有发送功能的任意形式的通信设备。第二设备可以是具有接收功能的任意形式的通信设备。
应理解,本申请实施例中网络/系统中具有通信功能的设备可称为通信设备。通信设备可包括具有通信功能的网络设备和终端设备。
网络设备可以是与终端设备(或称为通信终端、终端)设备或其他网络设备通信的设备。网络设备可以为特定的地理区域提供通信覆盖,并且可以与位于该覆盖区域内的终端设备进行通信。
该通信系统可以为长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobile telecommunication system,UMTS)、5G通信系统或新无线(new radio,NR)或者其他演进的通信系统等。
该网络设备可以是传输接收点(transmission reception point,TRP),还可以是LTE系统中的演进型基站(evolved NodeB,eNB或eNodeB),还可以是家庭基站(例如,homeevolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及5G网络中的接入网设备或者未来演进的陆上公用移动通信网(public land mobile network,PLMN)网络中的接入网设备等,可以是WLAN中的接入点(access point,AP),可以是新型无线系统(new radio,NR)系统中的gNB,本申请实施例并不限定。在一种网络结构中,接入网设备可以包括集中单元(centralizedunit,CU)节点、或分布单元(distributed unit,DU)节点、或包括CU节点和DU节点的RAN设备、或者控制面CU节点(CU-CP节点)和用户面CU节点(CU-UP节点)以及DU节点的RAN设备。
本申请的实施例对网络设备所采用的具体技术和具体设备形态不做限定。为方便描述,本申请所有实施例中,上述为终端设备提供无线通信功能的装置统称为网络设备。
终端设备可以是向用户提供语音或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
此外,在本申请实施例中,终端设备还可以是物联网(internet of things,IoT)系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。第一设备和第二设备可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上;还可以部署在空中的飞机、气球和人造卫星上。本申请的实施例对第一设备和第二设备的应用场景不做限定。
通信设备还可包括通信系统中的其他设备,例如网络控制器、移动管理实体等其他网络实体,本申请实施例中对此不做限定。
在本申请实施例中,终端设备或各个网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是网络设备,或者,是网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
上述第一设备和第二设备可以建立通信连接,例如,第一设备和第二设备可通过超文本传输协议(hyper text tansfer protocol,HTTP)或基于安全套接字层的超文本传输协议(hyper text transfer trotocol over secure socket layer,HTTPS)等协议建立通信连接,本申请实施例对此不做任何限制。
第一设备与第二设备之间也可通过任意形式的通信连接实现P2P通信,示例性的,第一设备与第二设备之间可以通过无线传输实现P2P通信,例如蓝牙(bluetooth)传输、无载波通信(ultra wide band,UWB)、或红外传输等。
第一设备与第二设备之间也可以通过有线传输实现P2P通信。
第一设备和第二设备也可以基于索引服务器实现P2P通信,该索引服务器可以是任意的服务器。示例性的,该索引服务器中可以存储有包括资源列表,该资源列表中包括第一设备与第一设备中的资源标识的关联关系,以及第二设备与第二设备中的资源标识的关联关系,在第二设备希望获取某一资源时,第二设备从该索引服务器中获取各设备中的资源列表,从资源列表中确定包括该资源的标识的设备为第一设备,则第二设备进一步可以通过上述的有线通信或无线通信从第一设备中获取该资源。
随着通信技术的发展,设备与设备之间的通信越来越多,人们对设备之间的数据传输的需求越来越多,例如传输时延小、数据完整等。
现有设计中,设备之间的数据传输,可以基于传输控制(transmission controlprotocol,TCP)协议采用可靠传输的传输方式,或者基于用户数据报(user datagramprotocol,UDP)协议采用非可靠的传输方式。
下面分别对TCP协议和UDP协议的特性进行说明。
TCP协议提供可靠的传输方式。TCP协议中设置快速重传(fast retransmission,FR)和超时重传(retransmission timeout,RTO)机制以保障数据的可靠传输。TCP协议还包括拥塞控制CC算法以避免数据发送过快,进而避免链路拥塞。基于TCP协议的数据传输方法是完全可靠的传输方法,可以保障每个报文都送达到接收端。
但是,TCP协议不能提供实时性高的传输方式。具体的,基于TCP协议的数据传输方法中每个报文在丢包后必须重传以保障数据的可靠性。这样,会导致数据传输受阻,使得实时性低,从而该方式不适用于实时性高的网络应用。实时性高的网络应用可以是实时在线会议和视频通话等。
需要说明的是,在一个连接中,可能会承载多种不同的数据传输,需要不同的传输方式。示例性的,图片需要利用大带宽的方式传输,脚本语言(javascript,js)文件和超文本标记语言(hyper text markup language,html)文件需要使用低延迟的方式传输,等。
但是,TCP协议在一个连接只能使用一种拥塞控制算法,传输的是字节流(Bytestream),无法区分不同的数据传输,没有办法满足不同数据的传输需求。
UDP协议是非常原始的和基本的协议,提供非可靠的传输方式。UDP协议可以根据数据需求来实现定制化的传输方式,例如实现实时、低延迟的数据传输。
UDP协议提供非可靠的传输方式。UDP协议只定义了端口,地址等信息,没有配套的传输控制方法。示例性的,UDP协议不提供数据包分组、组装和排序等传输控制机制。基于UDP协议的数据传输方法,发送端无法得知发送的数据包是否安全完整到达接收端。并且,基于UDP协议的传输方法,对于数据的传输控制和管理困难,不利于应用的开发和部署。
综上,基于上述两种传输协议的数据传输方法,均不能满足数据传输的多样化需求,不能很好的满足服务需求。
本申请实施例提供一种数据传输方法和装置,通过获取数据的不同需求,采取不同的传输方式进行不同的传输保障,实现数据的差异化传输,以提升传输效率,满足不同数据的传输需求。
下面对本申请实施例提供的数据传输方法可能的应用场景进行说明。
示例性的,图1为本申请实施例提供的一种视频界面示意图,在该界面的数据传输中,包括不同结构的数据,例如,视频段、页面框架和脚本文件等。不同结构的数据对应有不同的传输需求,例如,页面框架和脚本文件需要保证完整性,页面框架和脚本文件的数据传输需要采用重传机制。视频段可以有部分帧的丢失,需要保障视频质量和流畅性。视频段的传输可以采用不重传机制和/或有限次数重传机制。
具体的,图2为本申请实施例提供的一种视频数据的结构示意图。如图所示,视频数据包括内部编码帧(I帧)201和前向预测帧(前向参考帧或P帧)202。在实时性流媒体业务中,I帧201是重要的数据,可以影响后续数据的解码,必须是完整的。而其后的P帧202是影响较小的数据,即使缺失某个P帧201也不会影响整体视频质量。因此,在视频数据的传输中,需要保障I帧201的可靠传输,同时采用低任务完成时间(job completion time,JCT)、不完全可靠的传输方式对P帧202进行传输,从而在保证视频质量的同时,实现实时地视频传输。
下面结合附图对本申请实施例提供的数据传输方法做详细说明。图3为本申请实施例提供的一种数据传输方法的流程示意图,如图3所示,方法包括:
S301、第一设备获取目标数据。
本申请实施例中,第一设备可以是具有发送功能的任意形式的通信设备,第一设备的具体形式可以参照上述通信设备的相关描述,此处不再赘述。
本申请实施例中,目标数据为第一设备向第二设备发送的数据。示例性的,目标数据可以是网页数据,网页中可以包括下述一种或多种对象:视频段、页面框架和脚本文件等。
S302、第一设备根据第一协议向第二设备发送目标数据。其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
本申请实施例中,第二设备可以是具有接收功能的任意形式的通信设备,第二设备的具体形式可以参照上述通信设备的相关描述,此处不再赘述。
本申请实施例中,对象是指终端设备可以整体处理的数据结构,例如,视频帧、html文件和js文件,等。
本申请实施例中,传输需求有多种,例如,可靠传输、不可靠传输、预设时间内的可靠传输、带宽优先和延迟优先等。传输方式包括:在对象的数据内容丢失后,第一设备重传该数据内容或者第一设备不重传该数据内容,以及第一设备重传部分该数据内容等。
本申请实施例中,不同传输需求的对象采用的传输方式不同。可以理解的是,第一设备可以根据对象的传输需求确定目标对象的传输方式。
示例性的,可靠传输对象在该对象的数据内容丢失后,第一设备重传丢失的数据内容直至第二设备全部接收;非可靠传输对象在该对象的数据内容丢失后,第一设备不重传丢失的数据内容。具体的,上述页面框架和脚本文件为可靠传输对象,在页面框架和脚本文件的数据内容丢失后,第一设备重传丢失的数据内容直至第二设备全部接收。视频段为非可靠传输对象,在视频段的数据内容丢失后,第一设备不重传丢失的数据内容。
这样,重传的方式可以保证可靠传输对象的可靠传输,以及不重传的方式可以降低不可靠传输对象的传输时间,提高传输效率。
可以理解的是,对象的传输需求还有助于第一设备的队列管理。当第一设备获取对象的传输需求后,第一设备可以根据传输需求确定对象的发送顺序。
S303、第二设备根据第一协议接收来自第一设备的目标数据。
相应的,第二设备根据对象的传输需求接收目标数据。示例性的,对于可靠传输对象,第二设备接收该对象的全部数据内容;对于不可靠传输对象,第二设备可以接收该对象的部分或全部数据内容。
S304、第二设备处理目标数据。
可能的实现方式中,第二设备将一个或多个对象的数据内容存储在第二设备的内存中。或者,第二设备解析一个或多个对象的数据内容,并通过声音或者图像传递给第二设备的用户。
综上,本申请实施例中,针对不同传输需求的对象,采取不同的传输方式,实现数据的差异化传输,以提升传输效率,满足不同对象的传输需求。
可选的,上述S302中,传输需求可以包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
这样,方便第一设备确定传输方式,更好的实现目标对象的队列管理。根据传输需求,上述S302中对象可以包括:可靠传输需求的第一目标对象、非可靠传输需求的第二目标对象、预设时间内的可靠传输需求的第三目标对象、带宽优先需求的第四目标对象和延迟优先需求的第五目标对象。
根据目标对象的不同,上述S302可以包括下述5种发送对象的方式。
方式一、在目标数据中包括可靠传输需求的第一目标对象的情况下,第一设备采用重传机制向第二设备发送第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,重传待发送的对象,直到待发送的对象成功发送。
这样,可以满足第一目标对象的可靠传输需求。
方式二、在目标数据中包括非可靠传输需求的第二目标对象的情况下,第一设备采用不重传机制或有限次数重传机制向第二设备发送第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,有限次数的重传待发送的对象。
这样,可以减少第二目标对象的重传次数,降低传输时间,提高传输效率。
方式三、在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,当第三对象的传输时间小于或等于预设时间时,第一设备采用重传机制向第二设备发送第三目标对象;当传输时间大于预设时间时,第一设备停止发送第三目标对象。
这样,可以在预设时间内保障第三目标对象的传输。
方式四、在目标数据中包括带宽优先需求的第四目标对象的情况下,第一设备采用带宽优先机制向第二设备发送第四目标对象;其中,带宽优先机制为,优先为对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法。
可能的实现方式中,第一设备优先为第四目标对象选择大带宽对应的传输路径。示例性的,假设第一设备提供的空口资源带宽为80MHz,第一设备可将40MHz的带宽分配给第四目标对象。
本申请实施例中,带宽优先的拥塞控制算法包括bbr算法。
方式五、在目标数据中包括延迟优先需求的第五目标对象的情况下,第一设备采用延迟优先机制向第二设备发送第五目标对象;其中,延迟优先机制为,优先为对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
可能的实现方式中,第一设备优先为第五目标对象选择低时延对应的传输路径。示例性的,第一设备可以优先调度发送第五目标对象。
本申请实施例中,延迟优先的拥塞控制算法为低时延的控制算法,具体可以包括copa算法和vegas算法等。
相应的,上述S303中可以包括下述5种接收对象的方式。
方式一、在目标数据中包括可靠传输需求的第一目标对象的情况下,第二设备接收第一设备采用重传机制发送的第一目标对象。
方式二、在目标数据中包括非可靠传输需求的第二目标对象的情况下,第二设备接收第一设备采用不重传机制或有限次数重传机制发送的第二目标对象。
方式三、在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,第二设备接收第一设备在预设时间内采用重传机制发送的第三目标对象。
方式四、在目标数据中包括带宽优先需求的第四目标对象的情况下,第二设备接收第一设备采用带宽优先机制发送的第四目标对象。
方式五、在目标数据中包括延迟优先需求的第五目标对象的情况下,第二设备接收第一设备采用延迟优先机制发送的第五目标对象。
上述实施例中的目标数据可以包括上述5种目标对象中的一种或多种。当目标数据中包括多种目标对象时,第一设备根据第一协议向第二设备交替发送多个目标对象。
可选的,目标数据包括可靠传输需求的第一目标对象和非可靠传输需求的第二目标对象,第一设备根据第一协议向第二设备交替发送第一目标对象和第二目标对象。
具体的,当目标数据中包括第一目标对象和第二目标对象时,第一设备根据第一协议向第二设备发送A个第一目标对象后,第一设备根据第一协议向第二设备发送B个第二目标对象;第一设备根据第一协议向第二设备发送B个第二目标对象后,第一设备根据第一协议向第二设备发送C个第一目标对象;其中,A、B和C均为任意自然数。
示例性的,第一设备可以根据第一协议向第二设备发送1个第一目标对象后,第一设备根据第一协议向第二设备发送2个第二目标对象;第一设备根据第一协议向第二设备发送2个第二目标对象后,第一设备根据第一协议向第二设备发送3个第一目标对象。
下面结合附图对上述5种目标对象的传输过程进行说明。
下面结合图4对方式一中第一目标对象的传输过程进行说明。图4为本申请实施例提供的一种第一目标对象的传输方法的流程示意图。如图4所示,第一目标对象的传输方法包括:
S401、第一设备获取目标数据。
其中,目标数据中包括第一目标对象。
S402、第一设备获取目标数据中一个或多个目标对象的传输需求。
可以理解的是,第一设备获取目标数据中对象的数据内容、大小和传输需求等。当对象的传输需求为可靠传输时,第一设备确定该对象为第一目标对象。
S403、第一设备向第二设备发送第一报文,第一报文包括传输需求。
本申请实施例中,第一报文可以为头部报文,头部报文用于第二设备确定对象的相关信息。相关信息包括对象的传输需求和对象长度等。示例性的,头部报文中包括对象的传输需求和对象长度等。
可能的实现方式中,第一设备向第二设备发送第一报文,直至接收到来自于第二设备的第一响应信息,第一响应信息用于指示第二设备已接收第一报文。
这样,第一设备可以通知第二设备,目标对象的传输需求,方便后续第二设备根据传输需求确定对象的数据内容的提交和处理时间,减少第二设备处理对象数据的延迟。
S404、第二设备接收来自第一设备的第一报文。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
示例性的,图5为本申请实施例提供的一种报文结构示意图。如图5所示,报文包括源端口、目标端口、连接号码(identity,ID)、对象ID、对象长度、一个或多个标识位、对象内部的序列号、已确认报文的数量和负载。
源端口用于指示报文的发送端口。目标端口用于指示报文的接收端口。连接ID用于指示第一设备和第二设备的连接。对象ID用于指示目标数据中的一个对象。对象长度用于指示该对象的大小或者数据报文的数量。对象内部的序列用于指示报文的序列号。已确认报文的数量用于指示第二设备收到的报文数。负载用于携带对象的数据内容。
一个或多个标识位用于指示报文的功能。标识位可以包括下述一种或多种标识:HD、END、HAC、NAC、SAC、FIN和其他功能标识。示例性的,HD用于标识对象的头部报文。END用于标识对象的尾部报文。HAC用于标识对象的头部ACK。NAC用于标识正常的ACK,其中携带收到报文数。SAC用于标识重传ACK,其中携带收到报文数和要求重传的序列。FIN用于标识整个连接的传输结束。其他功能标识(Resv)用于指示向前纠错(forward error correction,FEC)或者其他功能。本申请实施例中,其他功能可以包括对象的可靠/非可靠传输需求。
S405、第二设备向第一设备发送第一响应信息,第一响应信息用于响应第一报文。
本申请实施例中,第一响应信息用于指示第二设备成功接收第一报文。
可能的实现方式中,第二设备在接收到第一报文后,向第一设备发送确认报文(acknowledge,ACK)。
S406、在第一设备接收到来自第二设备的第一响应消息的情况下,第一设备向第二设备发送一个或多个目标对象的第二报文;其中,第二报文包括序列号和目标对象的数据内容。
本申请实施例中,第二报文可以包括序列号和目标对象的数据内容,这样,方便第二设备根据序列号确认目标对象的数据内容是否丢失。
S407、第二设备向第一设备发送第二响应信息;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收。
可能的实现方式中,当第一目标对象未被第二设备成功接收时,第二设备向第一设备发送未确认报文(not acknowledge,NACK)。具体的,当第二设备未按照序列号接收到目标对象的数据内容时,第二设备向第一设备发送NACK,NACK中包括缺失的序列号。示例性的,第一设备向第二设备发送序列号为1、2和3的第二报文,当第二设备接收到序列号为3的第二报文,且未接收到序列号为2的第二报文时,第二设备向第一设备发送NACK指令,NACK指令中包括缺失的序列号,用于指示序列号为2的第二报文丢失。
S408、在第一设备接收到来自第二设备的第二响应消息的情况下,第一设备向第二设备重传第一目标对象。
示例性的,当第一设备接收到NACK指令时,第一设备根据序列号确定并重新发送该序列号对应的第二报文。
S409、第二设备接收第一设备根据第二响应信息重传的第一目标对象。
S410、第二设备处理目标数据。
需要说明的是,第二设备在处理目标数据前,第二设备的传输层在接受到目标对象后需要将目标对象提交至第二设备的应用层。可能的实现方式中,当第二设备接收到第一目标对象的全部数据内容后,第二设备的传输层将第一目标对象向上提交至第二设备的应用层,第二设备的应用层处理第一目标对象的数据内容。
综上,图4所示传输方法可以保证可靠传输需求的对象进行可靠传输。
在图4所示的实施例的基础上,目标对象末尾的第二报文中包括用于标识尾部报文的信息。尾部报文用于指示一个对象的数据传输结束,第二设备在接收到目标对象末尾的第二报文时,确定该对象的数据传输结束。这样,方便后续第二设备确定该目标对象的提交时间并处理目标数据,减少传输层向应用层提交的延迟。
下面结合图6对方式二中第二目标对象的传输过程进行说明。如图6所示,第二目标对象的传输方法包括:
S601、第一设备获取目标数据。
其中,目标数据中包括第二目标对象。
S602、第一设备获取目标数据中一个或多个目标对象的传输需求。
可能的实现方式中,第一设备获取目标数据中对象的数据内容、大小和传输需求等。
S603、第一设备向第二设备发送第一报文,第一报文包括传输需求。
本申请实施例中,第一报文的相关说明可以参照上述S403中第一报文的说明,此处不再赘述。
S604、第二设备接收来自第一设备的第一报文。
S605、第二设备向第一设备发送第一响应信息,第一响应信息用于响应第一报文。
S606、在第一设备接收到来自第二设备的第一响应消息的情况下,第一设备向第二设备发送一个或多个目标对象的第二报文;其中,第二报文包括序列号和目标对象的数据内容。
S601-S606的相关说明可以参照上述S401-S406的说明,此处不再赘述。
S607、第二设备向第一设备发送第三响应信息;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收。
当第一设备接收到第三响应信息后,第一设备有三种重传判断方式,分别为在固定时间内重传第二目标对象或者在有限次数内重传第二目标对象,以及根据当前传输状态判断是否重传第二目标对象。下面通过S608-S610分别对三种重传判断方式进行说明。
S608、第一设备向第二设备发送第二目标对象的尾部报文后,开启第一定时器。并在第一定时器计时期间,第一设备向第二设备重传第二目标对象,直到第一定时器关断或第二目标对象被第二设备成功接收。
可以理解的是,第一设备在第一定时器计时期间内重传第二目标对象,当超出第一定时器计时期间时,第一设备不重传第二目标对象。这样,在固定时间内重传第二目标对象,相比较于基于TCP协议传输的第二目标对象,该方式可以降低重传次数,减少传输时间。
本申请实施例中,第一定时器可以为1/2往返时间(round trip time,RTT)计时器。
S609、第一设备向第二设备重传N次第二目标对象,N为自然数。
可以理解的是,第一设备在重传第二目标对象的次数小于或等于N次。本申请实施例在规定的次数内,重传第二目标对象,相比较于基于TCP协议传输的第二目标对象,该方式可以降低重传次数,减少传输时间。
S610、第一设备判断目标数据是否传输完成,在目标数据中存在待传输的第二目标对象时,第一设备向第二设备发送待传输的第二目标对象。
可以理解的是,当第二目标对象的传输未完成时,第一设备重传第二目标对象,当第二目标对象的传输完成时,第二设备可能向上提交第二目标对象,重传没有任何作用,第一设备不重传第二目标对象。
可能的实现方式中,在目标数据中存在待传输的第二目标对象时,第一设备还可以根据第二目标对象的具体需求判断是否重传第二目标对象。示例性的,当第二目标对象需要尽可能保障数据时,第一设备重传第二目标对象;当第一设备确定的第二设备接收的第二目标对象的缺失数据和已接收数据的比值R%大于数据缺失度x%时,第一设备重传第二目标对象,当R%小于或等于x%时,第二设备不重传第二目标对象;当第二目标对象不需要保障数据时,第一设备不重传第二目标对象。
需要说明的是,第二设备在处理目标数据前,第二设备的传输层在接受到目标对象后需要将目标对象提交至第二设备的应用层。第二设备可以通过下述四种方式确认向上提交第二目标对象的时间,下面通过S611-S614分别对四种确认向上提交第二目标对象的时间的方式进行说明。
S611、第二设备在接收到尾部报文时,开启第二定时器,并在第二定时器计时期间接收第一设备所重传的第二目标对象,直到第二定时器关断或第二目标对象被第二设备成功接收。
本申请实施例中,第二定时器可以为1/2RTT计时器。
S612、第二设备在接收到尾部报文时,第二设备提交第二目标对象的数据。
S613、第二设备在接收到不同于第二目标对象的其他对象的数据时,第二设备提交第二目标对象的数据。
S614、第二设备开启第三定时器,在第三定时器超时时,第二设备提交第二目标对象的数据。
本申请实施例中,第三定时器可以为1/2RTT计时器。
S611-S614中,第二设备可以在未收到全部的第二目标对象数据时,向上提交第二目标对象,可以避免再次在第一设备和第二设备交互,缩短非可靠对象的传输时间,减少第二设备传输层向应用层提交第二目标对象的延迟。
S615、第二设备处理目标数据。
综上,图6所示传输过程可以降低非可靠对象的重传次数,从而缩短非可靠对象的传输时间。
下面结合图7对方式三中第三目标对象的传输过程进行说明。如图7所示,第三目标对象的传输方法包括:
S701、第一设备获取目标数据。
其中,目标数据中包括第二目标对象。
S702、第一设备获取目标数据中一个或多个目标对象的传输需求。
可能的实现方式中,第一设备获取目标数据中对象的数据内容、大小和传输需求等。
S703、第一设备向第二设备发送第一报文,第一报文包括传输需求。
本申请实施例中,第一报文的相关说明可以参照上述S403中第一报文的说明,此处不再赘述。
S704、第二设备接收来自第一设备的第一报文。
S705、第二设备向第一设备发送第一响应信息,第一响应信息用于响应第一报文。
S706、在第一设备接收到来自第二设备的第一响应消息的情况下,第一设备向第二设备发送一个或多个目标对象的第二报文;其中,第二报文包括序列号和目标对象的数据内容。
S701-S706的相关说明可以参照上述S401-S406的说明,此处不再赘述。
S707、当第三目标对象的传输时间小于或等于预设时间时,第一设备采用重传机制向第二设备发送第三目标对象;当传输时间大于预设时间时,第一设备停止发送第三目标对象。
重传机制的传输过程具体可以参照上述图4中的S407-S410。
本申请实施例中,图7所示的传输过程可以保证第三目标对象在预设时间内传输。
在上述实施例的基础上,第一设备在发送目标对象的第一报文前,还可以确定目标对象的传输路径和/或拥塞控制算法。
当目标对象为带宽优先需求的第四目标对象时,第一设备优先为对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法。
当目标对象为延迟优先需求的第五目标对象时,第一设备优先为对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
需要说明的是,传输路径和拥塞控制算法均不影响上述传输过程。并且,带宽优先需求的第四目标对象可能也是第一目标对象、第二目标对象或者第三目标对象。第四目标对象的传输过程可以参照上述第一目标对象、第二目标对象或者第三目标对象的传输过程,此处不再赘述。
需要说明的是,延迟优先需求的第四目标对象可能也是第一目标对象、第二目标对象或者第三目标对象。第五目标对象的传输过程可以参照上述第一目标对象、第二目标对象或者第三目标对象的传输过程,此处不再赘述。
在上述实施例的基础上,第一设备和第二设备之间可以通过编码方式降低上述多种目标对象的重传次数,避免重传的时间开销。下面对编码方式对应的传输过程进行说明。
图8为本申请实施例提供的一种编码方式对应的传输方法的流程示意图,如图8所示,该方法包括:
S801、第一设备对目标数据中的部分或全部目标对象编码。
可以理解的是,第一设备基于对象对目标数据中的部分或全部目标对象编码。
S802、第一设备向第二设备发送第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息。
S803、第一设备向第二设备发送第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息。
本申请实施例中,第四报文用于第二设备恢复被编码的目标对象各数据内容。
S804、第二设备根据第三报文和第四报文解析目标数据。
这样,第二设备可以通过编码恢复对象的数据,减少重传次数,进而缩短重传时间。
在图8所示的实施例的基础上,第一设备基于对象对目标数据中的部分或全部目标对象编码;其中,第一设备编码的编码长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
示例性的,以对象长度为L,编码长度为m为例,当编码保护的报文为从对象首包到对象尾包且编码长度m=L时。第四报文在对象最后一个窗口内发出。丢失的报文恢复时,不用额外等待后续报文到达,只需对象报文都发送后。没有额外的等待时间。
当编码保护的报文为从对象首包到对象尾包且编码长度m=L/N时。第四报文穿插在发送过程中,只需对象报文都发送后。没有额外的等待时间。当编码起始位置为I时,I与m的值小于或等于L,这样,编码方式保障的数据为一个目标对象的数据,可以避免跨对象编码,进而降低编码对象的传输时间。
需要说明的是,若第一设备编码的编码长度大于部分或全部目标对象的对象长度与编码起始位置的差值时,传输时间可能比重传时间长。示例性的,以目标对象长度为100个报文,报文大小为1.5千字节,传输时的带宽为50兆字节每秒,重传时间为5毫秒为例,当编码长度为150时,第二设备额外等待12毫秒。跨对象编码的传输时间比重传时间长。
可以理解的是,上述多种目标对象可以通过编码方式和/或重传方式保证对象的数据完整度。示例性的,目标对象在编码起始位置前丢失的数据通过重传机制保障可靠性,目标对象在编码起始位置以及编码起始位置之后的数据通过编码保障。
综上,本申请实施例的编码方式可以避免通过编码方式保护目标对象时,不合理编码方式产生的额外等待时间,降低目标对象的传输时间。
图9为本申请实施例提供的一种非可靠对象的传输方法的流程示意图。如图9所示,传输方法为:
S901、第一设备的应用层发送对象数据、传输需求和数据大小至第一设备的传输层。
以该对象的传输需求为非可靠对象,且带宽优先为例。第一设备选择带宽利用率高的拥塞控制算法。示例性的,选择算法可以抵抗网络中丢包的算法。
S902、第一设备向第二设备发送头部报文,头部报文用于通告对象长度。
可以理解的是,第一设备的在开始的N个报文携带宣告信息,宣告信息包括非可靠需求、对象长度和带宽优先的偏好等。相应的,接收端可以根据宣告信息,确定向应用提交时间,进而减少向应用提交的延迟。
S903、第二设备在接收到来自第一设备的头部报文后,向第一设备回复ACK。
可以理解的是,第二设备接收到来自于第一设备的携带宣告信息的报文时,向第一设备回复头部ACK(H-ACK)。H-ACK用于指示第二设备已经获取被宣告的信息。相应的,第一设备接收到来自于第二设备的H-ACK。若第一设备未接收到来自于第二设备的H-ACK,第一设备会在报文中携带宣告信息,直到第一设备接收到来自第二设备的H-ACK为止。
S904、第一设备向第二设备发送非可靠对象报文1。
可以理解的是,第一设备向第二设备发送对象的数据报文,其中,数据报文中包括序列号。1用于表示序列号。相应的,第二设备可以根据报文的序列号,确定接收的数据报文。
S905、当第二设备接收到来自于第一设备发送的非可靠对象报文1时,第二设备向第一设备发送正常ACK报文。
S906、第一设备向第二设备发送非可靠对象报文2。
S907、当第二设备确定非可靠对象报文2丢失时,第二设备向第一设备发送丢包SACK报文。
可能实现的方式中,第一设备确定报文丢失,且无法从编码报文中恢复时,第二设备向第一设备发送NACK报文。
S908、第二设备在接收到SACK报文时,第二设备根据对象需求确定是否重传丢失的报文。
可以理解的时,第一设备根据对象的可靠性需求和当前的数据发送状态,确定是否重传丢失的报文。
当该对象有待发送数据,且传输需求为保障报文时,第一设备重传丢失的报文;当该对象有待发送数据,且丢失数据与接收数据的比值R%大于数据缺失度x%时,第一设备重传丢失的报文;当该对象有待发送数据,且R%小于或等于x%时,第一设备不重传丢失的报文;当该对象有待发送数据,且传输需求为不保障报文时,第一设备不重传丢失的报文;当该对象没有待发送数据时,第一设备不重传丢失的报文。
S909、第一设备向第二设备发送尾部报文,尾部报文用于通告对象传输结束。
S910、当第二设备接收到来自第一设备的尾部报文时,启动定时器
S911、第二设备接收到来自第一设备的对象的报文。
S912、第二设备的传输层向第二设备的应用层提交对象。
相应的,第二设备的应用层得到对象数据。
可以理解的是,当第二设备接收到来自第一设备的对象的报文或者定时器超时时,第二设备向上提交对象。
通过上述对本申请实施例的介绍,可以理解的是,上述实现各设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图10为本申请实施例提供的一种数据传输装置的结构示意图,该数据传输装置包括通信单元1001和处理单元1002。
该数据传输装置应用于第一设备时,处理单元,用于获取目标数据;通信单元,用于根据第一协议向第二设备发送目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
可选的,在目标数据中包括可靠传输需求的第一目标对象的情况下,通信单元具体用于采用重传机制向第二设备发送第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,重传待发送的对象,直到待发送的对象成功发送。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,通信单元具体用于采用不重传机制或有限次数重传机制向第二设备发送第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,有限次数的重传待发送的对象。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,当第三目标对象的传输时间小于或等于预设时间时,通信单元具体用于采用重传机制向第二设备发送第三目标对象;当传输时间大于预设时间时,通信单元具体用于停止发送第三目标对象。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,通信单元具体用于采用带宽优先机制向第二设备发送第四目标对象;其中,带宽优先机制为,优先为待发送的对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,通信单元具体用于采用延迟优先机制向第二设备发送第五目标对象;其中,延迟优先机制为,优先为待发送的对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
可选的,处理单元具体用于获取目标数据中的一个或多个目标对象的传输需求;通信单元具体用于向第二设备发送第一报文;第一报文包括传输需求;在通信单元接收到来自第二设备的第一响应消息的情况下,通信单元具体用于向第二设备发送一个或多个目标对象的第二报文;其中,第一响应消息用于响应第一报文,第二报文包括序列号和目标对象的数据内容。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
可选的,目标数据中包括可靠传输需求的第一目标对象;在通信单元接收到来自第二设备的第二响应消息的情况下,通信单元具体用于向第二设备重传第一目标对象;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收。
可选的,目标数据中包括非可靠传输需求的第二目标对象;在通信单元接收到来自第二设备的第三响应消息的情况下,通信单元向第二设备发送目标数据的尾部报文后,处理单元具体用于开启第一定时器,通信单元具体用于在第一定时器计时期间,重传第二目标对象,直到第一定时器关断或第二目标对象被第二设备成功接收;或者,在通信单元接收到来自第二设备的第三响应消息的情况下,通信单元具体用于向第二设备重传N次第二目标对象,N为自然数;或者,在通信单元接收到来自第二设备的第三响应消息的情况下,处理单元判断目标数据是否传输完成,在目标数据中存在待传输的目标对象时,通信单元具体用于向第二设备发送待传输的目标对象;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收。
可选的,处理单元还用于对目标数据中的部分或全部目标对象编码;通信单元具体用于向第二设备发送第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;通信单元具体用于向第二设备发送第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息。
可选的,处理单元具体用于基于对象对目标数据中的部分或全部目标对象编码;其中,第一设备编码的编码长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
可选的,通信单元具体用于根据第一协议向第二设备交替发送第一目标对象和第二目标对象。
可选的,通信单元具体用于根据第一协议向第二设备发送A个第一目标对象;通信单元根据第一协议向第二设备发送A个第一目标对象后,通信单元具体用于根据第一协议向第二设备发送B个第二目标对象;通信单元根据第一协议向第二设备发送B个第二目标对象后,通信单元具体用于根据第一协议向第二设备发送C个第一目标对象;其中,A、B和C均为任意自然数。
当该数据传输装置应用于第二设备时,通信单元,用于根据第一协议接收来自第一设备的目标数据;处理单元,用于处理目标数据;其中,目标数据中包括一个或多个目标对象;第一协议为基于对象的传输协议,第一协议中,不同传输需求的对象采用的传输方式不同。
可选的,传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
可选的,在目标数据中包括可靠传输需求的第一目标对象的情况下,通信单元具体用于接收第一设备采用重传机制发送的第一目标对象;其中,重传机制为,在待发送的对象未成功发送的情况下,第一设备重传待发送的对象,直到待发送的对象成功发送。
和/或,在目标数据中包括非可靠传输需求的第二目标对象的情况下,通信单元具体用于接收第一设备采用不重传机制或有限次数重传机制发送的第二目标对象;其中,不重传机制为,在待发送的对象未成功发送的情况下,第一设备不重传待发送的对象;有限次数重传机制为,在待发送的对象未成功发送的情况下,第一设备有限次数的重传待发送的对象。
和/或,在目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,通信单元具体用于接收第一设备在预设时间内采用重传机制发送的第三目标对象。
和/或,在目标数据中包括带宽优先需求的第四目标对象的情况下,通信单元具体用于接收第一设备采用带宽优先机制发送的第四目标对象;其中,带宽优先机制为,第一设备优先为对象选择带宽满足需求的传输路径。
和/或,在目标数据中包括延迟优先需求的第五目标对象的情况下,通信单元具体用于接收第一设备采用延迟优先机制发送的第五目标对象;其中,延迟优先机制为,第一设备优先为对象选择延迟满足需求的传输路径。
可选的,通信单元具体用于接收来自第一设备的第一报文;第一报文包括传输需求;通信单元具体用于向第一设备发送第一响应信息,第一响应信息用于响应第一报文;通信单元具体用于接收来自第一设备的一个或多个目标对象的第二报文;其中,第二报文包括目标对象的数据内容和序列号。
可选的,目标对象末尾的第二报文中包括用于标识尾部报文的信息。
可选的,目标数据中包括可靠传输需求的第一目标对象;通信单元具体用于向第一设备发送第二响应信息;其中,第二响应消息用于指示第一目标对象未被第二设备成功接收;通信单元具体用于接收第一设备根据第二响应信息重传的第一目标对象。
可选的,通信单元具体用于向第一设备发送第三响应信息;其中,第三响应消息用于指示第二目标对象未被第二设备成功接收;在通信单元接收到尾部报文时,处理单元具体用于开启第二定时器;通信单元在第二定时器计时期间接收第一设备所重传的第二目标对象,直到第二定时器关断或第二目标对象被第二设备成功接收;或者,在通信单元接收到尾部报文时,处理单元具体用于提交第二目标对象的数据;或者,在通信单元接收到不同于第二目标对象的其他对象的数据时,处理单元具体用于提交第二目标对象的数据;或者,处理单元具体用于开启第三定时器,在第三定时器超时时,处理单元具体用于提交第二目标对象的数据。
可选的,通信单元具体用于接收来自第一设备第三报文,第三报文包括被编码的目标对象的数据内容,以及用于标识第三报文被编码保护的信息;通信单元具体用于接收来自第一设备第四报文,第四报文包括被编码的目标对象各数据内容之间的关联信息,关联信息为第一设备对目标数据中的部分或全部目标对象编码得到;处理单元具体用于根据第三报文和第四报文解析目标数据。
可选的,编码信息保护的目标对象的长度小于或等于部分或全部目标对象的对象长度与编码起始位置的差值。
可选的,第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
图11为本申请提供的一种数据传输装置的硬件结构示意图。请参见图11,该数据传输装置包括处理器1101、存储器1102和收发机1103。
处理器1101负责管理总线架构和通常的处理,存储器1102可以存储处理器1101在执行操作时所使用的数据。收发机1103用于在处理器1101的控制下接收和发送数据与存储器1102进行数据通信。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器1101代表的一个或多个处理器和存储器1102代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器1101负责管理总线架构和通常的处理,存储器1102可以存储处理器1101在执行操作时所使用的数据。
本申请实施例揭示的流程,可以应用于处理器1101中,或者由处理器1101实现。在实现过程中,数据传输的流程的各步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1101可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1102,处理器1101读取存储器1102中的信息,结合其硬件完成信号处理流程的步骤。本申请实施例一种可选的方式,处理器1101用于读取存储器1102中的程序并以执行上述方法实施例中第一设备或第二设备执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图12为本申请实施例提供的一种芯片的结构示意图。芯片包括一个或多个处理器1201以及接口电路1202。可选的,芯片还可以包含总线1203。其中:
处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器、数字通信器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、MCU、MPU、CPU或者协处理器中的一个或多个。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路1202可以用于数据、指令或者信息的发送或者接收,处理器1201可以利用接口电路1202接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路1202发送出去。
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,芯片可以使用在本申请实施例涉及的第一设备或第二设备中。可选的,接口电路1202可用于输出处理器1201的执行结果。关于本申请的一个或多个实施例提供的数据传输方法可参考前述各个实施例,这里不再赘述。
需要说明的,处理器1201、接口电路1202各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
在一些可能的实施方式中,本申请实施例提供的数据传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序代码在计算机设备上运行时,程序代码用于使计算机设备执行本说明书中描述的根据本申请各种示例性实施方式的数据传输的方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
根据本申请的实施方式的用于数据传输的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在服务器设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被通信传输、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由周期网络动作系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备。
本申请实施例针对数据传输方法还提供一种计算设备可读存储介质,即断电后内容不丢失。该存储介质中存储软件程序,包括程序代码,当程序代码在计算设备上运行时,该软件程序在被一个或多个处理器读取并执行时可实现本申请实施例上面任何一种数据传输的方案。
本申请实施例还提供一种电子设备,在采用对应各个功能划分各个功能模块的情况下,该电子设备包括:处理模块,用于第一设备执行上述实施例中的步骤,或者本申请实施例所描述的技术的其他过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然第一设备包括但不限于上述所列举的单元模块。并且,上述功能模块的具体所能够实现的功能也包括但不限于上述实例的方法步骤对应的功能,电子设备的其他单元的详细描述可以参考其所对应方法步骤的详细描述,本申请实施例这里不予赘述。
在采用集成的单元的情况下,上述实施例中所涉及的电子设备可以包括:处理模块、存储模块和通信模块。存储模块,用于保存电子设备的程序代码和数据。该通信模块用于支持电子设备与其他网络实体的通信,以实现电子设备的通话,数据交互,Internet访问等功能。
其中,处理模块用于对电子设备的动作进行控制管理。处理模块可以是处理器或控制器。通信模块可以是收发器、RF电路或通信接口等。存储模块可以是存储器。
进一步的,该电子设备还可以包括输入模块和显示模块。显示模块可以是屏幕或显示器。输入模块可以是触摸屏,语音输入装置,或指纹传感器等。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
本申请结合多个流程图详细描述了多个实施例,但应理解,这些流程图及其相应的实施例的相关描述仅为便于理解而示例,不应对本申请构成任何限定。各流程图中的每一个步骤并不一定是必须要执行的,例如有些步骤是可以跳过的。并且,各个步骤的执行顺序也不是固定不变的,也不限于图中所示,各个步骤的执行顺序应以其功能和内在逻辑确定。
本申请描述的多个实施例之间可以任意组合或步骤之间相互交叉执行,各个实施例的执行顺序和各个实施例的步骤之间的执行顺序均不是固定不变的,也不限于图中所示,各个实施例的执行顺序和各个实施例的各个步骤的交叉执行顺序应以其功能和内在逻辑确定。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (25)

1.一种数据传输方法,其特征在于,包括:
第一设备获取目标数据;
所述第一设备根据第一协议向第二设备发送所述目标数据;
其中,所述目标数据中包括一个或多个目标对象;
所述第一协议为基于对象的传输协议,所述第一协议中,不同传输需求的对象采用的传输方式不同。
2.根据权利要求1所述的方法,其特征在于,所述传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
3.根据权利要求1或2所述的方法,其特征在于,所述第一设备根据第一协议向第二设备发送所述目标数据,包括:
在所述目标数据中包括可靠传输需求的第一目标对象的情况下,所述第一设备采用重传机制向所述第二设备发送所述第一目标对象;其中,所述重传机制为,在待发送的对象未成功发送的情况下,重传所述待发送的对象,直到所述待发送的对象成功发送;
和/或,在所述目标数据中包括非可靠传输需求的第二目标对象的情况下,所述第一设备采用不重传机制或有限次数重传机制向所述第二设备发送所述第二目标对象;其中,所述不重传机制为,在所述待发送的对象未成功发送的情况下,不重传所述待发送的对象;所述有限次数重传机制为,在所述待发送的对象未成功发送的情况下,有限次数的重传所述待发送的对象;
和/或,在所述目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,当所述第三目标对象的传输时间小于或等于所述预设时间时,所述第一设备采用所述重传机制向所述第二设备发送所述第三目标对象;当所述传输时间大于所述预设时间时,所述第一设备停止发送所述第三目标对象;
和/或,在所述目标数据中包括带宽优先需求的第四目标对象的情况下,所述第一设备采用带宽优先机制向所述第二设备发送所述第四目标对象;其中,所述带宽优先机制为,优先为所述待发送的对象选择带宽满足需求的传输路径,和/或带宽优先的拥塞控制算法;
和/或,在所述目标数据中包括延迟优先需求的第五目标对象的情况下,所述第一设备采用延迟优先机制向所述第二设备发送所述第五目标对象;其中,所述延迟优先机制为,优先为所述待发送的对象选择延迟满足需求的传输路径,和/或延迟优先的拥塞控制算法。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一设备根据第一协议向第二设备发送所述目标数据,包括:
所述第一设备获取所述目标数据中的一个或多个目标对象的传输需求;
所述第一设备向所述第二设备发送第一报文;所述第一报文包括所述传输需求;
在所述第一设备接收到来自所述第二设备的第一响应消息的情况下,所述第一设备向所述第二设备发送一个或多个所述目标对象的第二报文;其中,所述第一响应消息用于响应所述第一报文,所述第二报文包括序列号和所述目标对象的数据内容。
5.根据权利要求4所述的方法,其特征在于,所述目标对象末尾的第二报文中包括用于标识尾部报文的信息。
6.根据权利要求4或5所述的方法,其特征在于,所述目标数据中包括可靠传输需求的第一目标对象,所述方法还包括:
在所述第一设备接收到来自所述第二设备的第二响应消息的情况下,所述第一设备向所述第二设备重传所述第一目标对象;其中,所述第二响应消息用于指示所述第一目标对象未被所述第二设备成功接收。
7.根据权利要求4或5所述的方法,其特征在于,所述目标数据中包括非可靠传输需求的第二目标对象,所述方法还包括:
在所述第一设备接收到来自所述第二设备的第三响应消息的情况下,所述第一设备向所述第二设备发送所述目标数据的尾部报文后,开启第一定时器,并在所述第一定时器计时期间,重传所述第二目标对象,直到所述第一定时器关断或所述第二目标对象被所述第二设备成功接收;
或者,在所述第一设备接收到来自所述第二设备的第三响应消息的情况下,所述第一设备向所述第二设备重传N次所述第二目标对象,N为自然数;
或者,在所述第一设备接收到来自所述第二设备的第三响应消息的情况下,所述第一设备判断所述目标数据是否传输完成,在所述目标数据中存在待传输的目标对象时,所述第一设备向所述第二设备发送所述待传输的目标对象;
其中,所述第三响应消息用于指示所述第二目标对象未被所述第二设备成功接收。
8.根据权利要求1-3任一项所述的方法,其特征在于,所述第一设备根据第一协议向第二设备发送所述目标数据,包括:
所述第一设备对所述目标数据中的部分或全部目标对象编码;
所述第一设备向所述第二设备发送第三报文,所述第三报文包括被编码的目标对象的数据内容,以及用于标识所述第三报文被编码保护的信息;
所述第一设备向所述第二设备发送第四报文,所述第四报文包括所述被编码的目标对象各数据内容之间的关联信息。
9.根据权利要求8所述的方法,其特征在于,所述第一设备对所述目标数据中的部分或全部目标对象编码,包括:
所述第一设备基于对象对所述目标数据中的部分或全部目标对象编码;
其中,所述第一设备编码的编码长度小于或等于所述部分或全部目标对象的对象长度与编码起始位置的差值。
10.根据权利要求3-9任一项所述的方法,其特征在于,所述第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述目标数据包括可靠传输需求的第一目标对象和非可靠传输需求的第二目标对象,所述第一设备根据第一协议向第二设备发送所述目标数据,包括:
所述第一设备根据第一协议向所述第二设备交替发送所述第一目标对象和所述第二目标对象。
12.根据权利要求11所述的方法,其特征在于,所述第一设备根据第一协议向所述第二设备交替发送所述第一目标对象和所述第二目标对象,包括:
所述第一设备根据第一协议向所述第二设备发送A个所述第一目标对象;
所述第一设备根据第一协议向所述第二设备发送A个所述第一目标对象后,所述第一设备根据第一协议向所述第二设备发送B个所述第二目标对象;
所述第一设备根据第一协议向所述第二设备发送B个所述第二目标对象后,所述第一设备根据第一协议向所述第二设备发送C个所述第一目标对象;其中,A、B和C均为任意自然数。
13.一种数据传输方法,其特征在于,包括:
第二设备根据第一协议接收来自第一设备的目标数据;
所述第二设备处理所述目标数据;
其中,所述目标数据中包括一个或多个目标对象;
所述第一协议为基于对象的传输协议,所述第一协议中,不同传输需求的对象采用的传输方式不同。
14.根据权利要求13所述的方法,其特征在于,所述传输需求包括下述的一种或多种:可靠传输需求、非可靠传输需求、预设时间内的可靠传输需求、带宽优先需求或延迟优先需求。
15.根据权利要求13或14所述的方法,其特征在于,所述第二设备根据第一协议接收来自第一设备的目标数据,包括:
在所述目标数据中包括可靠传输需求的第一目标对象的情况下,所述第二设备接收所述第一设备采用重传机制发送的所述第一目标对象;其中,所述重传机制为,在待发送的对象未成功发送的情况下,所述第一设备重传所述待发送的对象,直到所述待发送的对象成功发送;
和/或,在所述目标数据中包括非可靠传输需求的第二目标对象的情况下,所述第二设备接收所述第一设备采用不重传机制或有限次数重传机制发送的所述第二目标对象;其中,所述不重传机制为,在所述待发送的对象未成功发送的情况下,所述第一设备不重传所述待发送的对象;所述有限次数重传机制为,在所述待发送的对象未成功发送的情况下,所述第一设备有限次数的重传所述待发送的对象;
和/或,在所述目标数据中包括预设时间内的可靠传输需求的第三目标对象的情况下,所述第二设备接收所述第一设备在预设时间内采用所述重传机制发送的所述第三目标对象;
和/或,在所述目标数据中包括带宽优先需求的第四目标对象的情况下,所述第二设备接收所述第一设备采用带宽优先机制发送的所述第四目标对象;其中,所述带宽优先机制为,所述第一设备优先为所述待发送的对象选择带宽满足需求的传输路径;
和/或,在所述目标数据中包括延迟优先需求的第五目标对象的情况下,所述第二设备接收所述第一设备采用延迟优先机制发送的所述第五目标对象;其中,所述延迟优先机制为,所述第一设备优先为所述待发送的对象选择延迟满足需求的传输路径。
16.根据权利要求13-15任一项所述的方法,其特征在于,所述第二设备根据第一协议接收来自第一设备的目标数据,包括:
所述第二设备接收来自所述第一设备的第一报文;所述第一报文包括所述传输需求;
所述第二设备向所述第一设备发送第一响应信息,所述第一响应信息用于响应所述第一报文;
所述第二设备接收来自所述第一设备的一个或多个所述目标对象的第二报文;其中,所述第二报文包括所述目标对象的数据内容和序列号。
17.根据权利要求16所述的方法,其特征在于,所述目标对象末尾的第二报文中包括用于标识尾部报文的信息。
18.根据权利要求16或17所述的方法,其特征在于,所述目标数据中包括可靠传输需求的第一目标对象,所述方法还包括:
所述第二设备向所述第一设备发送第二响应信息;其中,所述第二响应消息用于指示所述第一目标对象未被所述第二设备成功接收;
所述第二设备接收所述第一设备根据所述第二响应信息重传的所述第一目标对象。
19.根据权利要求16或17所述的方法,其特征在于,所述目标数据中包括非可靠传输需求的第二目标对象,所述方法还包括:
所述第二设备向第一设备发送第三响应信息;其中,所述第三响应消息用于指示所述第二目标对象未被所述第二设备成功接收;
在所述第二设备接收到尾部报文时,开启第二定时器,并在所述第二定时器计时期间接收所述第一设备所重传的所述第二目标对象,直到所述第二定时器关断或所述第二目标对象被所述第二设备成功接收;
或者,在所述第二设备接收到尾部报文时,所述第二设备提交所述第二目标对象的数据;
或者,在所述第二设备接收到不同于所述第二目标对象的其他对象的数据时,所述第二设备提交所述第二目标对象的数据;
或者,所述第二设备开启第三定时器,在所述第三定时器超时时,所述第二设备提交所述第二目标对象的数据。
20.根据权利要求13-15任一项所述的方法,其特征在于,所述第二设备根据第一协议接收来自第一设备的目标数据,包括:
所述第二设备接收来自所述第一设备第三报文,所述第三报文包括被编码的目标对象的数据内容,以及用于标识所述第三报文被编码保护的信息;
所述第二设备接收来自所述第一设备第四报文,所述第四报文包括所述被编码的目标对象各数据内容之间的关联信息,所述关联信息为所述第一设备对所述目标数据中的部分或全部目标对象编码得到;
所述第二设备处理所述目标数据,包括:
所述第二设备根据所述第三报文和所述第四报文解析所述目标数据。
21.根据权利要求20所述的方法,其特征在于,所述编码信息保护的目标对象的长度小于或等于所述部分或全部目标对象的对象长度与编码起始位置的差值。
22.根据权利要求13-21任一项所述的方法,其特征在于,所述第一报文中包括下述一项或多项标识位:标识对象的头部或尾部报文的标识位、标识对象的头部的标识位、标识正常及携带收到报文数的标识位、标识重传的标识位、标识传输结束的标识位。
23.一种数据传输装置,其特征在于,包括:处理器和存储器,所述存储器用于存储代码指令;所述处理器用于运行所述代码指令,以执行如权利要求1-12任一项所述的方法,或执行如权利要求13-22任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-12任一项所述的方法,或执行如权利要求13-22任一项所述的方法。
25.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-12中任一项所述的方法,或执行如权利要求13-22任一项所述的方法。
CN202110426790.XA 2021-04-20 2021-04-20 一种数据传输方法和装置 Pending CN115225199A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110426790.XA CN115225199A (zh) 2021-04-20 2021-04-20 一种数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110426790.XA CN115225199A (zh) 2021-04-20 2021-04-20 一种数据传输方法和装置

Publications (1)

Publication Number Publication Date
CN115225199A true CN115225199A (zh) 2022-10-21

Family

ID=83604823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110426790.XA Pending CN115225199A (zh) 2021-04-20 2021-04-20 一种数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN115225199A (zh)

Similar Documents

Publication Publication Date Title
US10602400B2 (en) Enhancement of PDCP status report
JP6522855B2 (ja) パケット送信方法およびユーザ機器
WO2022088833A1 (zh) 用于传输媒体流的数据包的方法和通信装置
CN110505532A (zh) 低延时图像传输方法、装置、设备及存储介质
WO2021227781A1 (zh) 数据帧的传输方法和通信装置
WO2018223877A1 (zh) 数据传输方法和数据传输装置
CN114979839A (zh) 一种传输控制协议代理方法及通信装置
CN114157723B (zh) 一种通信方法及装置
EP3968553A1 (en) Method and apparatus for transmitting hybrid automatic retransmission request feedback, and storage medium
CN111865503A (zh) 一种发送、接收反馈信息的方法及设备
CN115250506A (zh) 一种通信方法及设备
WO2024067640A1 (zh) 一种协议数据单元集合传输方法及装置
CN115225199A (zh) 一种数据传输方法和装置
TWI826994B (zh) 一種實體層控制資訊的傳輸方法和裝置
WO2020243887A1 (zh) 混合自动重传请求反馈的传输方法、装置及存储介质
US20220263607A1 (en) Method and device for data storage
WO2016154831A1 (zh) 一种实现传输控制协议tcp传输的方法及装置
JP2024504158A (ja) 通信方法および装置
CN111866969B (zh) 一种数据处理方法、通信装置和系统
CN113810949A (zh) 数据传输方法和装置
WO2024067365A1 (zh) 数据传输方法及装置
CN115604537A (zh) 一种数据传输的方法,相关装置以及设备
WO2022141261A1 (zh) 低优先级上行信息的重传方法及装置、设备和存储介质
EP4354917A1 (en) Data processing method and electronic device
CN114070456A (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