WO2018014588A1 - 一种数据传输的方法和设备 - Google Patents

一种数据传输的方法和设备 Download PDF

Info

Publication number
WO2018014588A1
WO2018014588A1 PCT/CN2017/078915 CN2017078915W WO2018014588A1 WO 2018014588 A1 WO2018014588 A1 WO 2018014588A1 CN 2017078915 W CN2017078915 W CN 2017078915W WO 2018014588 A1 WO2018014588 A1 WO 2018014588A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
redundant data
transmission
transmitted
redundant
Prior art date
Application number
PCT/CN2017/078915
Other languages
English (en)
French (fr)
Inventor
王凡钊
陈如杰
郑凯
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17830228.7A priority Critical patent/EP3480983A4/en
Publication of WO2018014588A1 publication Critical patent/WO2018014588A1/zh
Priority to US16/251,979 priority patent/US20190159064A1/en

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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems 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/0018Systems 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0033Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
    • 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
    • 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/188Time-out mechanisms
    • 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/1887Scheduling and prioritising arrangements
    • 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/189Transmission or retransmission of more than one copy of a message
    • 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/1893Physical mapping arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/24Negotiation of communication capabilities
    • 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/26Special purpose or proprietary protocols or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Definitions

  • Embodiments of the present invention relate to the field of data transmission, and in particular, to data processing and redundant transmission of data.
  • the basic strategy for dealing with network packet loss is the timeout retransmission mechanism in the TCP (Transmission Control Protocol) protocol.
  • TCP Transmission Control Protocol
  • the principle is that when a packet loss occurs in the network, the unacknowledged data is retransmitted by using a timeout retransmission mechanism.
  • this passive retransmission mechanism generally has a large transmission interval, so there is a technical problem that the real-time service has a high delay requirement.
  • the more advanced method for avoiding retransmission in the prior art is to use the linear network coding technology to perform active redundant transmission of data, that is, to transmit data packets according to a small, fixed time interval. The transmission of redundant data packets to ensure the successful transmission of the data packets to be transmitted.
  • the prior art may cause unnecessary redundant data packet transmission, waste network resources, and cause network congestion, that is, when the data packet to be transmitted has been successfully transmitted, the redundant data packet is still transmitted, which may cause The waste of network resources; on the other hand, especially when the network status is poor, some data packets still rely on timeout retransmission, which cannot solve the technical problem of real-time transmission. Therefore, the prior art is applicable only to a service scenario in which the network resources of the user are rich and the delay is not high; the service scenario with less network resources and high delay requirements cannot be met, and the prior art does not provide differentiated QoS (Quality) Of Service, service quality) service.
  • QoS Quality of Service
  • the technical solution provides a data transmission method and device for providing differentiated transmission services according to different data transmission requirements.
  • a method for data transmission includes: the sending end acquires, according to a pre-acquired network state variable and a pre-acquired transmission success rate, a quantity of redundant data packets to be transmitted by the data packet to be transmitted; And obtaining a redundant data packet scheduling method according to the number of the redundant data packets; the transmitting end sends the redundant data packet according to the redundant data packet scheduling method.
  • the network state variable is one or more variables related to the current congestion state of the network, including but not limited to, network packet loss rate, RTT, Round Trip Time, network bandwidth, or packet loss distribution model (uniform, Cycle, Gaussian, etc.
  • the transmission success rate is the probability that a packet can be successfully received in one transmission.
  • the redundant data packet scheduling method refers to a scheduling method for transmitting one redundant data packet, for example, a method for transmitting n redundant data packets to be transmitted (for example, at what time interval) (n is greater than Equal to 0).
  • the redundant data packet scheduling method includes any one or more of the following scheduling methods: a randomness policy, a shortest time scheduling method, and a longest time Scheduling method and uniform time scheduling method.
  • the method for acquiring a redundant data packet by the sending end includes: the sending end according to the redundancy The number of data packets acquires a preset redundant data packet scheduling method; or the transmitting end acquires a redundant data packet scheduling method according to the number of the redundant data packets and the network state variable.
  • the transmitting method before the acquiring the redundant data packet scheduling method, further includes: the sending end acquiring the redundancy according to the pre-acquired delay requirement The total transmission time of the remaining data packet; the method for obtaining the redundant data packet by the transmitting end specifically includes: the transmitting end acquiring the redundant data packet scheduling method according to the total transmission time and the number of the redundant data packets; Or the transmitting end acquires a redundant data packet scheduling method according to the network state variable, the total transmission time, and the number of the redundant data packets.
  • the sending end acquires the total transmission time of the redundant data packet according to the pre-acquired delay requirement, and specifically includes: the sending end transmits the total time of the redundant data packet according to the pre-acquired delay requirement. Set to a time less than or equal to the delay requirement.
  • the method further includes: the sending end acquiring the service type of the data to be transmitted.
  • the service type refers to the actual service type of the data to be transmitted, including but not limited to, control messages, online games, online video or television/teleconference. If the service type is a control message, the service type of the data to be transmitted is a control message.
  • the method for the sending end to obtain the service type of the data to be transmitted includes at least one of the following methods, The sender obtains the default service type; the sender acquires the service type defined by the application; and the sender obtains the service type according to the data flow characteristic variable of the data to be transmitted.
  • the data stream characteristic variable includes at least one variable, a length and a number of data packets to be transmitted in the buffer of the sender, a length and number of data packets being transmitted in the network, an arrival interval of the data packet, data burstiness, and the like. Feature related variables.
  • the sending end is according to the data flow
  • the method for acquiring the service type includes the following at least one method: acquiring the service type according to a threshold value of the at least one characteristic variable; acquiring the service type according to the value of the at least one characteristic variable; A threshold value of a characteristic variable and/or a value of at least one characteristic variable is obtained by an artificial intelligence algorithm.
  • the sending end acquires the number of redundant data packets to be transmitted by the data packet to be transmitted according to the network state variable and the transmission success rate that are acquired in advance, and specifically includes: the sending end according to the pre-acquired network state variable, The transmission success rate and the service type are obtained, and the number of redundant data packets that need to be transmitted by the data packet to be transmitted is obtained.
  • the method further includes: the sending end according to the service A pre-processing method for acquiring the data packet to be transmitted; wherein the pre-processing method refers to a method for processing a data packet to be transmitted before transmission, including encoding, combining, or splitting.
  • the preprocessing method refers to a method for processing a data packet to be transmitted before transmission, and the method includes at least one of the following methods, encoding, combining, and splitting. Different packet preprocessing methods can improve the transmission efficiency of data of different service types.
  • the data packet preprocessing method can automatically match the data packet preprocessing method according to the service type through the artificial intelligence method, including but not limited to, the direct transmission method is adopted for the sparse data packet, and the network coding method is adopted for the non-sparse data packet.
  • a packet is a unit of transmission.
  • the method further includes: sending, by the sending end, the data packet to be transmitted according to the preprocessing method.
  • a data transmission device comprising: a processor and a memory; the memory is configured to store a program; and the processor is configured to execute a program in the memory to implement the following method: Obtaining, according to the pre-acquired network state variable and the pre-acquired transmission success rate, the number of redundant data packets to be transmitted to be transmitted; obtaining a redundant data packet scheduling method according to the number of the redundant data packets; The redundant packet scheduling method sends redundant packets.
  • the redundant data packet scheduling method includes any one or more of the following scheduling methods: a randomness policy, a shortest time scheduling method, and a longest time Scheduling method and uniform time scheduling method.
  • the acquiring the redundant data packet scheduling method specifically includes: according to the redundant data packet The number of acquisitions is a preset redundant packet scheduling method; or a redundant packet scheduling method is obtained according to the number of redundant data packets and the network state variable.
  • the data packet scheduling method further includes: acquiring a total transmission time of the redundant data packet according to the pre-acquired delay requirement; and the acquiring the redundant data packet scheduling method specifically includes: according to the total transmission time and the redundancy The number of data packets, the redundant data packet scheduling method is obtained; or the redundant data packet scheduling method is obtained according to the network state variable, the total transmission time, and the number of the redundant data packets.
  • the acquiring the total transmission time of the redundant data packet according to the pre-acquired delay requirement specifically includes: setting a total transmission time of the redundant data packet to be less than or according to a pre-acquired delay requirement. A period of time equal to the delay requirement.
  • the processor implementation method further includes: acquiring a service type of data to be transmitted, where the service type refers to an actual service type of the data.
  • the acquiring the service type of the data to be transmitted includes at least one of the following methods, and acquiring the default service And obtaining a service type specified by the application; acquiring the service type according to the data flow characteristic variable of the data to be transmitted.
  • the obtaining the number of redundant data packets to be transmitted by the data packet to be transmitted according to the pre-acquired network state variable and the transmission success rate specifically includes: according to the pre-acquired network state variable, the transmission success rate, and The service type acquires the number of redundant data packets that need to be transmitted by the data packet to be transmitted.
  • the method that is implemented by the processor further includes: acquiring, according to the service type, a preprocessing method of the data packet to be transmitted; wherein the preprocessing method is Refers to the method of processing a packet to be transmitted before transmission, including encoding, combining, or splitting.
  • the embodiments of the present invention improve the existing transmission mode at least in the following aspects, and bring about significant beneficial effects. 1) Obtain the service type, select different transmission methods for data of different service types; 2) Adaptively adjust the number of redundant data packets to avoid network congestion and bandwidth waste caused by excessive redundant data packets Such problems, while avoiding the problem of long transmission delay due to the excessive number of redundant data packets; 3) the total time of redundant data packet transmission can be adjusted to ensure different delay requirements of different services; 4) redundant data packets The scheduling method can be adaptively adjusted to provide multiple QoS (Quality of Service) (eg, delay priority, priority of redundant transmission, moderate delay and redundant transmission).
  • QoS Quality of Service
  • the embodiments of the present invention provide a transmission method that is adaptive, personalized, and optimized for network resource utilization.
  • FIG. 1 is a schematic flowchart of redundant transmission of a data packet to be transmitted by using a linear network coding technique
  • FIG. 2 is a schematic diagram of an application scenario of implementing Embodiment 2 of the present invention.
  • FIG. 3 is a schematic diagram of a network element architecture for implementing Embodiment 3 of the present invention.
  • FIG. 4 is a schematic structural diagram of a data transmission method according to Embodiment 3 of the present invention.
  • FIG. 5 is a schematic diagram of interaction of a data transmission method according to Embodiment 4 of the present invention.
  • FIG. 6 is a schematic flowchart of a data transmission method according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a transmission device according to Embodiment 8 of the present invention.
  • FIG. 1 is a schematic flow chart of redundant transmission of a data packet to be transmitted by using a linear network coding technique. As shown in Figure 1, the method includes:
  • the sender and the receiver establish a data connection and negotiate the number of encoded data packets.
  • the transmitting end performs linear network coding on a plurality of data packets to be sent, and sends the data packet.
  • the sender records the number of data packet transmissions and acknowledgments used to estimate the network packet loss rate.
  • the sending end estimates the number of redundant data packets according to the network packet loss condition. Specifically, the number of redundant packets is set to the statistical average at the current packet loss rate.
  • the transmitting end generates an encoded packet according to the number of the redundant data packets for transmission.
  • the sender can continue to record the number of transmissions and acknowledgments to estimate the latest packet loss rate.
  • the scenario is that when the data to be transmitted is a large number, if the data to be transmitted is sparse (for example, the data to be transmitted is a control message), the linear network coding cannot be used, and therefore the above method cannot be used. That is to say, the above method cannot adaptively apply different pre-processing strategies according to different service types (for example, encoding, combining, splitting, etc. of data packets). In addition, the above method cannot guarantee the real-time performance of data transmission.
  • the transmitting end is somewhere Smaller, fixed time intervals for redundant transmission, that is, even if the data packet has been successfully transmitted, the transmitting end is still transmitting redundant data packets, resulting in unnecessary redundancy. Therefore, the above method is only applicable to a scenario where a large amount of data is transmitted in a network-good environment and requires a general delay; a scenario in which the network state is generally poor or has high real-time requirements cannot be provided. QoS services.
  • FIG. 2 shows an application scenario of an embodiment of the present invention.
  • the user 101 accesses the Internet of Things cloud platform 100 through the wireless access point 102A, and delivers the user 101 control message to the car 104.
  • the car 104 feeds back successfully to the user 101 and automatically proceeds to the designated location.
  • User control messages in the physical network are extremely sparse, that is, only a few packets need to be transmitted for a long time. Because of sparseness, these messages cannot trigger the TCP fast retransmission mechanism. Once lost, they can only rely on the TCP timeout retransmission mechanism to complete the transmission.
  • the control message using the TCP protocol may need to be timed out multiple times to be successfully transmitted, which greatly increases the transmission delay of the data packet (for example, the live network test can be up to 60s or more.
  • the present invention provides adaptive active redundant transmission according to network status and service type, and can reduce the probability of TCP timeout retransmission exponentially and ensure the real-time performance of control message transmission.
  • the user's control message needs to be sent to the cloud platform 100 for further processing and forwarding.
  • the burden on the cloud platform 100 increases accordingly. Therefore, the reasonable number of redundant data packets is necessary to reduce the burden on the cloud platform 100 and thereby increase the number of users that can be carried.
  • the method proposed by the embodiment of the present invention can apply different preprocessing methods and redundant data packet scheduling methods to different characteristics of service types (for example, data packet size, packet arrival time interval, etc.) to ensure reasonable redundancy.
  • the number of packets and the transmission interval can be applied to different characteristics of service types (for example, data packet size, packet arrival time interval, etc.) to ensure reasonable redundancy.
  • the method provided by the embodiment of the present invention can also be applied to other scenarios with low latency requirements, such as online games, real-time transmission of data retention between data centers, and robot control; in the future, embodiments of the present invention
  • the proposed method can also be used for virtual reality, real-time transmission of somatosensory information in holographic projection, and the like.
  • the embodiment 2 of the present invention provides a plurality of real-world network element architectures.
  • the implementation of the embodiment of the present invention needs to change the protocol stack in the existing network element.
  • the network element can be a general purpose computer (including a processor and a memory), and the end Any device that supports the TCP protocol, such as end devices and servers.
  • a schematic diagram of a network element architecture is shown in FIG. 3, which includes a protocol processing circuit 201, a signal processing circuit 202, and a storage medium 203.
  • the protocol processing circuit 201 is for processing the processing of digital information
  • the signal processing circuit 202 is for processing the reception and transmission of physical signals
  • the storage medium 203 is for storing data and programs required for the information interaction process.
  • Programs can be understood as: instructions, code, software, functions, and so on.
  • the storage medium 203 can be integrated into the protocol processing circuit 201 and/or the signal processing circuit 202 or be independent of the protocol processing circuit 201 and/or the signal processing circuit 202.
  • the network element when it is a software radio platform, it includes a field programmable gate array (FPGA) and a signal processing circuit, wherein the storage function is implemented by a field programmable gate array, and the protocol stack program is stored in the FPGA.
  • FPGA field programmable gate array
  • protocol processing circuit 201 Specific functions of protocol processing circuit 201 include processing and/or transmitting data, issuing control messages for controlling data access and storage, and other devices performing operations.
  • the protocol processing circuit 201 can be implemented as one or more structures that can be used for program execution, including but not limited to, field programmable gate array (FPGA), application specific integrated circuit (ASIC), digital signal processor (DSP), general purpose processing. (CPU) or other programmable logic component.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • CPU general purpose processing.
  • the storage medium 203 may include a medium readable/storaged by a computer or a combination of a plurality of media, such as an optical storage medium (eg, a digital versatile disc (DVD)), a magnetic storage device (eg, a magnetic strip, a floppy disk), random Access memory (RAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), registers, smart cards, flash devices, etc.
  • an optical storage medium eg, a digital versatile disc (DVD)
  • a magnetic storage device eg, a magnetic strip, a floppy disk
  • RAM random Access memory
  • ROM read only memory
  • PROM erasable PROM
  • registers smart cards, flash devices, etc.
  • the signal processing circuit 202 is responsible for processing physical signals, including physical signal acquisition, power amplification, radiation, analog to digital conversion, digital to analog conversion and other modules. These circuits and/or programs can be used to implement two-way communication between a network element and one or more network elements.
  • the protocol stack is used to implement various layer network protocols, which may include: a physical layer, a data link layer, a network layer, a transport layer, and an application layer.
  • the function of the protocol stack is implemented by the protocol stack program.
  • the protocol stack program is stored in the storage medium 203 and executed by the protocol processing circuit 201.
  • the protocol stack specifically implements some or all of the steps of the embodiments of the present invention.
  • the embodiment of the invention mainly improves the protocol stack program running in the hardware device of the network element. It should be understood that this improvement can be implemented at the transport layer of the protocol stack or at the data link layer of the protocol stack.
  • the embodiment of the invention realizes adaptive adjustment by improving the protocol stack program, and ensures real-time transmission and low redundancy rate.
  • FIG. 4 is a schematic structural diagram of a data transmission method according to Embodiment 3 of the present invention, as shown in FIG.
  • the application directly specifies the service type to be transmitted by the sender, or the sender obtains the service type of the data to be transmitted according to the data stream characteristic variable.
  • the sender may obtain a preset service type.
  • the sender obtains the corresponding delay requirement according to the service type, and sets the total transmission time of the redundant data packet of each data packet to a period of time related to the delay request.
  • the sender calculates the number of redundant data packets per packet based on the acquired network state variables, service type, and transmission success rate. If the network status update is not timely or the number of updates is small, the sender considers that the network status is unknown, and uses the default network state variable to calculate the redundancy. Usually through multiple packet transmissions. The sender can obtain the real environment of the network according to the statistical network state variable.
  • the sender obtains the corresponding pre-processing method according to the service type, and processes the data to be transmitted.
  • the transmitting end obtains a redundant scheduling method according to the total transmission time and the number of redundant data packets.
  • the transmitting end performs transmission according to the above preprocessing method and redundant scheduling method.
  • the transmitting end acquires the network state variable according to the transmission and confirmation of the data packet, and uses the network state variable in time for the calculation of the number of redundant data packets.
  • the embodiment of the present invention may further include the following steps: before the transmission, the sending end acquires a network state variable that sets a default packet loss rate, RTT, bandwidth, etc.; and/or the sending end sets a default.
  • Business performance requirements including, but not limited to, transmission success rate, latency requirements, etc.
  • the sender can also use the special service type, ‘no service type, to indicate that the service type is not required.
  • the delay requirement may adopt a default value or no specific delay requirement, that is, no delay requirement is obtained.
  • the architecture of the transmission method provided by the embodiment of the present invention can dynamically adjust the data packet pre-processing method and the redundant data packet scheduling method according to the service type and the network state, and minimize the network burden while ensuring the real-time performance of data transmission of different service types. .
  • FIG. 5 is a schematic diagram of interaction of a data transmission method according to Embodiment 4 of the present invention.
  • the transmitting end sends a control command to the receiving end, and the receiving end immediately returns an ACK (Acknowledgment) after receiving the command.
  • the sending end obtains the service type of the data to be transmitted as a control message, and the sending end needs to send two control messages, that is, the data packet D1 and the data packet D2.
  • This method can be implemented by the transmitting end transport layer.
  • the total transmission time of the redundant data packet obtained by the sender according to the service type is 2 seconds.
  • the sender needs to guarantee a transmission success rate of 99.99% according to the current network state variables and service types, and the theoretical required redundancy is 3.
  • the transmitting end obtains that the current preprocessing method is direct transmission, and the redundant data packet scheduling method is the total time of the three redundant data packets in the transmission. Send within random.
  • the sender successfully sent the first packet D 1, and the receiver successfully confirmed the correct reception of D1. Therefore, the transmitting end stops the transmission of the redundant data packet in time, that is, the redundant data packet R11, R12, R13 is no longer transmitted according to the previous redundant data packet scheduling method.
  • the transmitting end continues to transmit the second data packet D2, and transmits the redundant data packet according to the previously determined redundant data packet scheduling method or the redundant data scheduling method reacquired according to the current network state.
  • the D2 is not acknowledged before the first redundant packet transmission, and the sender transmits the redundant packet R21.
  • R21 was successfully acknowledged before the second redundant packet was sent. Therefore, the transmitting end cancels the transmission of the redundant data packet after the redundant data packet R21.
  • the transmission strategy of the redundant data packet can be timely adjusted according to the current network state, thereby reducing the transmission of the redundant data packet and reducing the network load while ensuring the transmission quality.
  • FIG. 6 is a schematic flowchart of a data transmission method according to Embodiment 5 of the present invention. As shown in FIG. 6, the method includes the following steps:
  • the sending end acquires the number of redundant data packets to be transmitted by the data packet to be transmitted according to the pre-acquired network state variable and the transmission success rate.
  • network state variables can be obtained in real time or in some cases, such as due to network status.
  • the number of redundant packets is calculated by using the network state variable preset by the sender.
  • the transmission success rate can be obtained in real time by the sender or by default set by the sender.
  • the number of redundant data packets obtained is determined by the transmitting end according to the network state variable and the transmission success rate. If the transmission success rate is to be satisfied, at least several redundant data packets need to be transmitted.
  • the transmitting end dynamically adjusts the number of redundant data packets according to the network state variable and the pre-acquired transmission success rate, and can provide different QoS in different network environments while reducing data transmission delay and data redundancy (Quality of Service, service quality service) is a method of controllable, refined and differentiated.
  • the sending end acquires a redundant data packet scheduling method according to the number of redundant data packets.
  • the redundant packet scheduling method may include any one or more of the following scheduling methods: a random scheduling method, a shortest time scheduling method, a longest time scheduling method, and a uniform time scheduling method.
  • the random time scheduling method randomly distributes the transmission time intervals between n redundant data packets to be transmitted, and the time interval between transmitting one redundant data packet to transmitting the next redundant data packet is a random time period, for example, It is 1ms, and it may be 10ms.
  • the actual effect of this scheduling method is that the redundancy may be high, but it can avoid the technical problem that a large number of users access the network at the same time, causing the network device to be overloaded.
  • the shortest time scheduling method means that the time interval from the transmission of one redundant data packet to the transmission of the next redundant data packet is the shortest time within the capability of the transmitting end.
  • the practical effect of this scheduling method is to guarantee the lowest possible transmission delay with the greatest amount of redundancy.
  • the longest scheduling method is the opposite of the shortest time scheduling method.
  • the uniform time scheduling method is the same time interval between transmitting each redundant data packet to transmitting the next redundant data packet.
  • the practical effect of this time scheduling method is the balance of redundancy and delay time, the redundancy is lower than the shortest time scheduling method but the average delay is larger than it.
  • the transmitting end can meet different delay requirements and redundancy control in different network environments according to network conditions, and provide differentiated services.
  • the redundant packet scheduling method can be preset to the default value of the sender. It may also be a value obtained by the sender according to a network state variable by a certain strategy, and the strategy may be obtained by a curve fitting method or a machine self-learning algorithm. For example, if the sending end determines that the current network state is poor according to the network state variable, the redundant data packet is transmitted according to the decrementing transmission method to avoid the network burden caused by blind redundancy, and the random time scheduling method is selected to send the redundant data packet.
  • the redundant packet scheduling method may also be obtained by the transmitting end according to the total transmission time and the number of redundant data packets.
  • the total transmission time can be obtained according to the delay requirement obtained in advance.
  • the delay requirement may be a preset default value or an application-specific one, which is not limited by the embodiment of the present invention. For example, if the transmitting end finds that there are three redundant data packets, the transmission must be completed within the total transmission time of 300 ms. Then, the random time scheduling method can be selected, and the scheduling method can transmit a redundant data packet for 80 ms, 160 ms, 60 ms, or evenly select a uniform data packet. The time scheduling method transmits one redundant data packet every 100 ms.
  • the scheduling method can be obtained according to the total transmission time and the number of redundant data packets, and the network state variable can also be considered to obtain a more reasonable scheduling method.
  • the total transmission time is the total time from the transmission of the first redundant data packet to the end of the last redundant data packet transmission.
  • the total transmission time is obtained according to the delay requirement.
  • the total transmission time is generally set to a period less than or equal to the delay requirement.
  • the transmitting end sends the redundant data packet according to the redundant data packet scheduling method.
  • the transmitting end may also acquire the network state variable of the current network according to the transmission and confirmation status of the redundant data packet, and adjust the redundant data in real time according to the network state variable.
  • the packet scheduling method has achieved the best transmission effect and the minimum amount of redundancy.
  • the method may further include: S200: The sending end acquires a service type of data to be transmitted, where the service type refers to an actual service type of data to be transmitted.
  • the service type of the data to be transmitted by the sender can be obtained by obtaining the default service type or obtaining the service type defined by the application.
  • the application formulation refers to the application layer or the application software directly formulating the service type of the data to be transmitted. In most cases, the sender may also obtain the service type according to the data flow characteristic variable of the data to be transmitted.
  • the data stream characteristic variable includes at least one variable, the length and number of data packets to be transmitted in the buffer of the sender, the length and number of data packets being transmitted in the network, the arrival interval of the data packet, the data burstiness, and the like, and the data characteristics. Variables.
  • a method for obtaining a service type of a data packet according to a data flow characteristic variable including but not limited to: directly acquiring according to a threshold value of one or more characteristic variables; or directly acquiring the value according to one or more characteristic variables; or And acquiring according to a threshold value of the at least one characteristic variable and/or a value of the at least one characteristic variable by using an artificial intelligence algorithm such as machine or deep learning.
  • S200 and S201, S202, and S200 may be before or after S201 and/or S202, which is not limited by the embodiment of the present invention.
  • the S201 may further be: the sending end acquires the according to the pre-acquired network state variable, the transmission success rate, and the service type.
  • the number of redundant packets that need to be transmitted for the packet to be transmitted is determined by the transmitting end according to the network state variable, the service type, and the transmission success rate. If the transmission success rate is to be satisfied, at least several redundant data packets need to be transmitted.
  • the number of redundant data packets is more targeted and differentiated, which can meet the requirements of real-time transmission of data of different service types to the greatest extent, and at the same time minimize the network burden and achieve individuality. Differentiated transmission.
  • the sending end may further obtain a corresponding delay request according to the service type.
  • Each type of service may have different latency requirements. For example, online games have very high latency requirements, and a slight delay will greatly reduce the user experience; compared to online games, video and music downloads have relatively lower latency requirements, and occasional delays are not particularly serious. Affect users. Therefore, different delay requirements can be obtained according to different service types, and the real-time requirements of data of different service types can be met to the greatest extent, and the network burden can be minimized.
  • the method in the embodiment of the present invention includes the step S200
  • the method may further include: S2001, the sending end acquires the pre-processing method of the data packet to be transmitted according to the service type; S2002, the sending end Transmitting the to-be-transmitted data packet according to the pre-processing method;
  • the preprocessing method refers to a method for processing a data packet to be transmitted before transmission, and the method includes at least one of the following methods, encoding, combining, and splitting.
  • Different packet preprocessing methods can improve the transmission efficiency of data of different service types.
  • the data packet preprocessing method can automatically match the data packet preprocessing method according to the service type through the artificial intelligence method, including but not limited to, the direct transmission method is adopted for the sparse data packet, and the network coding method is adopted for the non-sparse data packet.
  • a packet is a unit of transmission. It should be understood that step S2002 before step S203, if the data packet to be transmitted is successfully acknowledged, there is no need to resend the redundant data packet.
  • the embodiments of the present invention can provide different transmission modes according to data of different service types, and ensure that data of each service type is transmitted in the most suitable transmission mode.
  • the embodiments of the present invention improve the existing transmission mode at least in the following aspects, and bring Significant benefits. 1) Obtain the service type, select different transmission methods for data of different service types; 2) adaptively adjust the number of redundant data packets to avoid network congestion and bandwidth waste caused by excessive redundant data packets, and at the same time Avoid the problem of long transmission delay caused by the excessive number of redundant data packets; 3) The total time of redundant data packet transmission can be adjusted to ensure different delay requirements of different services; 4) The redundant data packet scheduling method can be Adaptation adjustment, providing a variety of QoS (Quality of Service) (for example, delay priority, redundant transmission priority, moderate delay and redundant transmission).
  • QoS Quality of Service
  • the embodiments of the present invention provide a transmission method that is adaptive, personalized, and optimized for network resource utilization.
  • Embodiment 6 of the present invention provides a specific application of a data transmission method. Specifically include:
  • the sender obtains a default network state variable and a service performance requirement. Specifically, the packet loss rate is 5%, the RTT (round trip time) is 100 ms, and the bandwidth is 512 Kbps.
  • the service type of the data to be transmitted is a control message (that is, sparse data), the packet length is 300 Bytes, and the delay is The requirement is 300ms and the transmission success rate is 99.99%.
  • the total transmission time of the redundant data packet obtained by the transmitting end is equal to the delay requirement (300 ms) minus the RTT, that is, 200 ms.
  • the number of redundant data packets can be calculated as:
  • LR represents the packet loss rate
  • SR represents the transmission success rate
  • log represents the logarithmic operation
  • the sender sends a non-integer number of redundant data packets according to the service type of the data to be transmitted. Therefore, the number of redundant data packets is set to 3.
  • the transmitting end determines that the current network state is poor according to the network state variable, so the redundant data packet is transmitted according to the decrement transmission method to avoid blind redundancy. Network burden.
  • the scheduling method between the three redundant data packets to be transmitted is randomly set to a certain number of columns, which may be 60 ms, 110 ms, and 30 ms. This scheduling method is generated at any time, so that a large number of users can be prevented from accessing the cloud platform in a centralized manner, resulting in a situation in which the network and the server are overloaded.
  • the transmitting end transmits the redundant data packet according to the transmission scheduling method acquired by S304, to ensure that the data transmitted in the band within 300 ms can be successfully transmitted with a probability of 99.99%.
  • the data transmission method provided by the embodiment of the present invention can combine the service type and the network state of the data to be transmitted, and avoid unnecessary redundancy while reducing the burden of the network and the server while ensuring data transmission conforming to the service performance.
  • the seventh main difference between the seventh embodiment and the sixth embodiment of the present invention is that, in the seventh embodiment, the service type is obtained according to the data stream characteristic variable, the network status is obtained according to the data packet transmission and reception status, and the basis is obtained. application.
  • the sender obtains the service type of the data to be transmitted according to the data stream feature variable through a machine learning algorithm. For example, the number of the data packets obtained by the sender is equal to 1, the duration of the transmission is less than 1 s, and the size of the data packet is less than 700 Bytes. Therefore, the service type of the data to be transmitted by the sender is a control message.
  • the sender uses the minimum value of the time difference between the transmission and acknowledgment of multiple data packets as the RTT; the ratio of the number of non-repeated data packets transmitted to the number of non-repeated acknowledgment data packets received as the transmission back and forth (sender-received End-to-send packet loss rate.
  • the service type of the transmission data is obtained by using the data stream feature variable, and the transmission data can be preprocessed more accurately according to the actual service type; and the current network condition can be obtained more accurately by acquiring the network state variable in real time.
  • the method, the process or the architecture provided by other embodiments of the present invention can further realize the data transmission conforming to the delay requirement while reducing the redundancy as much as possible.
  • FIG. 7 is a schematic structural diagram of a transmission device according to Embodiment 8 of the present invention.
  • the device includes a memory 302 and a processor 301, and the memory 302 is similar to the storage medium 203 in Embodiment 2, and the processor 301 is similar to the protocol processing circuit 201 in Embodiment 2.
  • the processor can be used to implement the method of any of embodiments 3 through 7, by executing a program stored in the memory.
  • the device provided by the embodiment of the present invention can reduce the network burden while satisfying the real-time transmission according to the needs of the user through the adaptive redundant data packet scheduling method and the data packet pre-processing method.
  • Embodiments of the present invention provide a transmission method that is adaptive, personalized, and optimized for network resource utilization.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据的传输方法,该方法包括:发送端根据预先获取的网络状态变量和预先获取的传输成功率,获取待传输数据包需要传输的冗余数据包的数量;发送端根据所述冗余数据包的数量获取冗余数据包调度方法;发送端根据所述冗余数据包调度方法发送冗余数据包。根据上述方法可以实现对冗余数据包的自适应调度,在满足传输实时性要求的同时最大限度减少冗余数据包的数量,减轻网络负担。

Description

一种数据传输的方法和设备 技术领域
本发明实施例涉及数据传输领域,尤其涉及数据处理和数据的冗余传输。
背景技术
应对网络丢包的基本策略是TCP(Transmission Control Protocol,传输控制协议)协议中的超时重传机制。其原理是,当网络出现丢包时,采用超时重传机制重新传输未被确认的数据。但是这种被动重传机制,一般传输间隔较大,因此存在不能解决实时业务对时延要求高的技术问题。现有技术中较为先进的避免重传的方法是,采用线性网络编码技术对数据进行主动冗余传输,即在传输数据包的同时根据某个较小的、固定的时间间隔进行待传输数据包的冗余数据包的传输,以保证待传输数据包的成功传输。
但是,现有技术一方面会造成非必要的冗余数据包传输,浪费网络资源、造成网络拥塞,即当待发送数据包已成功传输的情况下,仍然发送冗余数据包,这就会造成网络资源的浪费;另一方面,特别是在网络状态较差时造成部分数据包的依然依赖超时重传,无法解决实时传输的技术问题。所以,现有技术仅适用于用户的网络资源较为丰富、时延要求不高的业务场景;无法满足网络资源较少、时延要求高的业务场景,现有技术没有提供差异化的QoS(Quality of Service,服务质量)服务。
发明内容
本技术方案提供一种数据传输的方法和设备,用以实现根据不同的数据传输要求提供差异化的传输服务。
第一方面,提供一种数据传输的方法,该方法包括:发送端根据预先获取的网络状态变量和预先获取的传输成功率,获取待传输数据包需要传输的冗余数据包的数量;发送端根据所述冗余数据包的数量获取冗余数据包调度方法;发送端根据所述冗余数据包调度方法发送冗余数据包。其中,网络状态变量是和网络当前拥塞状态有关的一个或多个变量,包括但不限于,网络丢包率、RTT、(Round Trip Time,往返时间)、网络带宽或丢包分布模型(均匀、周期、高斯)等。传输成功率是数据包一次传输就能成功被接收的概率。冗余数据包调度方法是指传输一个个冗余数据包的调度方法,例如可以包括n个待传输冗余数据包按何种方式(例如可以是何种时间间隔)发送的方法(n是大于等于0的)。
结合第一方面,在第一方面的第一种可能的实现方式中所述冗余数据包调度方法包括下述任何一种或者多种调度方法:随机度策略、最短时间调度方法、最长时间调度方法和均匀时间调度方法。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,发送端获取冗余数据包调度方法具体包括:发送端根据所述冗余数据包的数量获取预先设置的冗余数据包调度方法;或发送端根据所述冗余数据包的数量和所述网络状态变量获取冗余数据包调度方法。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式,在第一方面的第三种可能的实现方式中,当在所述发送端获取冗余数据包调度方法之前,所述传输方法还包括,发送端根据预先获取的时延要求,获取冗余数据包的传输总时间;则,所述发送端获取冗余数据包调度方法具体包括:发送端根据所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法;或发送端根据网络状态变量、所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述发送端根据预先获取的时延要求,获取冗余数据包的传输总时间具体包括:发送端根据预先获取的时延要求,将所述冗余数据包的传输总时间设置为小于或等于所述时延要求的一段时间。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,该方法还包括:发送端获取待传输数据的业务类型。其中,业务类型是指待传输数据的实际业务类型,包括但不限于,控制消息、在线游戏、在线视频或电视/电话会议等。如果业务类型是控制消息就说明该待传输数据的业务类型是控制消息。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述发送端获取待传输数据的业务类型的方法包括下述至少一种方法,发送端获取默认的业务类型;发送端获取应用制定的业务类型;发送端根据所述待传输数据的数据流特征变量,获取所述业务类型。其中,数据流特征变量包括如下至少一个变量,发送端缓存中待传输数据包的长度和数目、正在网络中传输的数据包的长度和数目、数据包的到达间隔、数据突发性等和数据特征有关的变量。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述发送端根据所述数据流的特征变量,获取所述业务类型的方法具体包括下述至少一种方法,根据至少一个特征变量的门限值获取所述业务类型;根据至少一个特征变量的值获取所述业务类型;根据至少一个特征变量的门限值和/或者至少一个特征变量的值,采用人工智能算法获取所述业务类型。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式或第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述发送端根据预先获取的网络状态变量和传输成功率,获取待传输数据包需要传输的冗余数据包的数量具体包括:发送端根据所述预先获取的网络状态变量、所述传输成功率和所述业务类型,获取所述待传输数据包需要传输的冗余数据包的数量。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述方法还包括:发送端根据所述业务类型获取所述待传输数据包的预处理方法;其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,包括编码、组合或拆分。其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,所述方法包括下述至少一种方法,编码、组合和拆分。不同的数据包预处理方法可以提高不同业务类型数据的传输效率。数据包预处理方法可以通过人工智能方法根据业务类型自动匹配数据包预处理方法,包括但不限于,对于稀疏数据包采用直接传输的方法,非稀疏数据包采用网络编码的方法。数据包是一种传输单位。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的实现方式或第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,在所述发送端根据所述冗余数据包调度方法发送冗余数据包之前,所述方法还包括:发送端根据所述预处理方法发送所述待传输数据包。
第二方面,提供一种数据的传输设备,所述设备包括:处理器和存储器;所述存储器用于存储程序;所述处理器用于执行所述存储器中的程序,用以实现下述方法:根据预先获取的网络状态变量和预先获取的传输成功率,获取待传输数据包需要传输的冗余数据包的数量;根据所述冗余数据包的数量获取冗余数据包调度方法;根据所述冗余数据包调度方法发送冗余数据包。
结合第二方面,在第二方面的第一种可能的实现方式中所述冗余数据包调度方法包括下述任何一种或者多种调度方法:随机度策略、最短时间调度方法、最长时间调度方法和均匀时间调度方法。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取冗余数据包调度方法具体包括:根据所述冗余数据包的数量获取预先设置的冗余数据包调度方法;或根据所述冗余数据包的数量和所述网络状态变量获取冗余数据包调度方法。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,当在所述获取冗余数据包调度方法之前还包括,根据预先获取的时延要求获取冗余数据包的传输总时间;则,所述获取冗余数据包调度方法具体包括:根据所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法;或根据网络状态变量、所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述根据预先获取的时延要求,获取冗余数据包的传输总时间具体包括:根据预先获取的时延要求,将所述冗余数据包的传输总时间设置为小于或等于所述时延要求的一段时间。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述处理器实现的方法还包括:获取待传输数据的业务类型,其中,所述业务类型是指数据的实际业务类型。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述获取待传输数据的业务类型包括下述至少一种方法,获取默认的业务类型;获取应用指定的业务类型;根据所述待传输数据的数据流特征变量,获取所述业务类型。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述根据所述数据流的特征变量,获取所述业务类型的具体包括下述至少一种方法,根据至少一个特征变量的门限值获取所述业务类型;根据至少一个特征变量的值获取所述业务类型;根据至少一个特征变量的门限值和/或者至少一个特征变量的值,采用人工智能算法获取所述业务类型。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式或第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述根据预先获取的网络状态变量和传输成功率,获取待传输数据包需要传输的冗余数据包的数量具体包括:根据所述预先获取的网络状态变量、所述传输成功率和所述业务类型,获取所述待传输数据包需要传输的冗余数据包的数量。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式或第二方面的第七种可能的实现方式或第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述处理器实现的方法还包括:根据所述业务类型获取所述待传输数据包的预处理方法;其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,包括编码、组合或拆分。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式或第二方面的第七种可能的实现方式或第二方面的第八种可能的实现方式或第二方面的第九种可能的实现方式,在第二方面的第十种可能的实现方式中,在所述根据冗余数据包调度方法发送冗余数据包之前,还包括:根据所述预处理方法发送所述待传输数据包。
结合发明内容,本发明实施例至少在下述几个方面对现有传输方式进行了改进,并带来了显著的有益效果。1)获取业务类型,对为不同的业务类型的数据选择不同的传输方法;2)冗余数据包的数量自适应调整,避免冗余数据包过多造成的网络拥塞和带宽浪费 等问题,同时避免因为冗余数据包的数量过少造成的传输延时长的问题;3)冗余数据包传输总时间可调整,保证不同业务的不同时延要求;4)冗余数据包调度方法可自适应调整,提供多种QoS(Quality of Service,服务质量服务)(如,时延优先、冗余传输数量优先、时延与冗余传输数量适中)。总之,本发明实施例提供了自适应、个性化、网络资源利用最优化的传输方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
图1是采用线性网络编码技术对待传输数据包进行冗余传输的流程示意图;
图2为实现本发明实施例2的一种应用场景示意图;
图3为实现本发明实施例3的一种网元架构示意图;
图4是本发明实施例3提供的一种数据传输方法的架构原理示意图;
图5是本发明实施例4提供的数据传输方法交互示意图;
图6是本发明实施例提供的一种数据传输方法流程示意图;
图7为本发明实施例8提供的一种传输设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明实施例保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。进一步应当理解,本文中采用的术语“包括”规定了所述的特征、整体、步骤、操作、元件和/或部件的存在,而不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或它们的组的存在或附加。
现有技术中较为先进的重传避免方法是,采用线性网络编码技术对TCP数据进行主动冗余传输,从而减少超时重传的概率。图1是采用线性网络编码技术对待传输数据包进行冗余传输的流程示意图。如图1所示,该方法包括:
S101、发送端和接收端建立数据连接并协商编码数据包的数量。
S102、发送端对多个将要发送的数据数据包进行线性网络编码,并发送。在发送过程中,发送端记录数据包发送和确认的数量,用于估计网络丢包率。
S103、发送端根据网络丢包情况估计冗余数据包的数量。具体来说,冗余数据包的数量被设置为当前丢包率下的统计平均值。
S104、发送端按照此冗余数据包的数量生成编码包进行传输。这一步骤中,发送端还可以继续记录发送和确认的数量,以估计最新的丢包率。
由上述方法可知,其是针对待传输数据为大数量时的场景,如果待传输数据较为稀疏(例如待传输数据是控制消息),则线性网络编码无法使用,因此上述方法也无法使用。也就是说,上述方法无法自适应根据不同的业务类型,分别施以不同的预处理策略(例如,数据包的编码、组合、拆分等)。此外,上述方法无法保证数据传输的实时性,在许多情况下,尤其是网络状态变化时(较差时),数据的成功传输仍需依赖超时重传;上述方法中,发送端是以某个较小的、固定的时间间隔进行冗余传输,就是说即便数据包已经被成功传输,发送端仍在发送冗余数据包,导致非必须的冗余。因此,上述方法仅仅适用于大量数据在网络状态良好的环境中传输,且对时延要求一般的场景中;无法适用于网络状态一般或较差且对实时性要求高的场景中,不能提供差异化的QoS服务。
实施例1
图2给出了本发明实施例的一种应用场景。在此场景中,用户101通过无线接入点102A接入物联网云平台100,把用户101控制消息下发到汽车104。成功收到命令后,汽车104反馈成功接收信息给用户101,并自动前往指定地点。物理网中的用户控制消息等具有极为稀疏的特点,即很长一段时间内仅有几个数据包需要传输。因为稀疏,这些消息无法触发TCP的快重传机制、一旦丢失,仅能依靠TCP超时重传机制完成传输。又因为无线信道环境较为恶劣,使用TCP协议的控制消息可能需要多次超时才能被成功发送,这极大的增加了数据包的传输时延(例如,现网测试最大可达60s以上。本发明实施例提供的方法根据网络状态和业务类型提供自适应的主动冗余传输,可以指数级降低TCP超时重传的概率、保证控制消息传输的实时性。
用户的控制消息需要被发送到云平台100作进一步处理和转发。随着用户数量的增加,云平台100的负担也相应增加。所以合理的冗余数据包的数量对于减少云平台100的负担、进而增加可承载的用户数量十分必要。本发明实施例提出的方法可以针对业务类型的不同特点(例如,数据包大小、数据包到达时间间隔等),施以不同的预处理方法和冗余数据包调度方法,以保证合理的冗余数据包的数量和传输间隔。
除了上述物联网场景,本发明实施例提出的方法也可以用于其它有低延时需要的场景,如在线游戏、数据中心间保活信息的实时传输、机器人控制;在未来,本发明实施例提出的方法还可以用于虚拟现实、全息投影中体感信息的实时传递等。
实施例2
结合实施例1的应用场景,本发明实施例2提供多种现实中的网元架构。本发明实施例的实施需要改变现有网元中协议栈。网元可以是通用计算机(包括处理器和存储器)、终 端设备以及服务器等任何支持TCP协议的设备。一个网元架构示意图如图3所示,其包括协议处理电路201、信号处理电路202和存储介质203。协议处理电路201用于处理数字信息的处理,信号处理电路202用于处理物理信号的接收和发送,存储介质203用于存储信息交互过程中所需的数据和程序。程序可以被理解为:指令、代码、软件、函数等。存储介质203可以集成到协议处理电路201和/或信号处理电路202中,或者与协议处理电路201和/或信号处理电路202是独立存在的。例如,当网元为软件无线电平台时,其包括现场可编程门阵列(FPGA)和信号处理电路,其中存储功能就由现场可编程门阵列实现,FPGA中存储协议栈程序。
协议处理电路201的具体功能包括处理和/或发送数据,发出控制消息用于控制数据访问和存储、以及其它设备执行操作。协议处理电路201可以被实现为一个或多个可用于程序执行的结构,包括但不限于,现场可编程门阵列(FPGA),专用集成电路(ASIC),数字信号处理器(DSP),通用处理器(CPU)或其它可编程逻辑组件。
存储介质203可以包括计算机可读/存储的一种介质或者多种介质的组合,如光存储介质(例如,数字多功能盘(DVD)),磁存储设备(例如,磁条、软盘),随机存取存储器(RAM),只读存储器(ROM),可编程ROM(PROM),可擦除PROM(EPROM),寄存器,智能卡,闪存设备等。
信号处理电路202负责处理物理信号,包括物理信号的捕获、功率放大、辐射、模数转换、数模转换等模块。这些电路和/或程序可用以实现某个网元与一个或多个网元之间的双向通信。
协议栈用于实现各层网络协议,其可以包括:物理层、数据链路层、网络层、传输层和应用层。协议栈的功能由协议栈程序实现。协议栈程序被存储于存储介质203中,并由协议处理电路201执行。协议栈具体实现了本发明实施例的部分或全部步骤。本发明实施例主要改进了该网元的硬件设备中运行的协议栈程序。应该理解的是,该改进可以在协议栈的传输层实现,也可以在协议栈的数据链路层实现。
本发明实施例通过对协议栈程序的改进实现了自适应调整,保证了传输的实时性和低冗余率。
实施例3
结合实施例1的应用场景和实施例2的硬件架构,图4是本发明实施例3提供的一种数据传输方法的架构原理示意图,如图4所示,
需要传输数据时,应用直接指定发送端将要传输的业务类型,或者发送端根据数据流特征变量,获取待传输数据的业务类型。或者也可以是发送端获取预先设置的业务类型。
发送端根据业务类型获取相应的时延要求,并且把每个数据包的冗余数据包的传输总时间设置为和此时延要求相关的一段时间。
发送端根据获取的网络状态变量,业务类型,以及传输成功率,计算每个数据包的冗余数据包的数量。如果由于网络状态更新不及时或者更新次数很少,则发送端认为网络状态未知,采用默认的网络状态变量计算冗余量。一般通过多次的数据包传输。发送端可以根据统计网络状态变量获取网络的真实坏境。
发送端根据业务类型获取相应的预处理方法,对待传输数据进行处理。
发送端根据传输总时间和冗余数据包的数量获取冗余调度方法。
发送端根据上述预处理方法和冗余调度方法进行传输。
在发送的过程中,发送端根据数据包的传输和确认情况获取网络状态变量,并将该网络状态变量及时用于冗余数据包的数量的计算。
可以理解的是,在上述步骤的基础上本发明实施例还可以包括下述步骤:在传输之前发送端获取设置默认的丢包率、RTT、带宽等网络状态变量;和/或发送端设置默认的业务性能要求,包括,但不限于传输成功率,时延要求等。
可以理解的是,本发明实施例中发送端也可以采用特殊业务类型‘没有业务类型’,来表示不需要业务类型判断,即可以认为在本发明实施例中不需要获取业务类型。当不获取业务类型时,时延要求可以采用默认值,或者无具体的时延要求,即不用获取时延要求。
本发明实施例提供的传输方法的架构可以根据业务类型和网络状态动态调整数据包预处理方法和冗余数据包调度方法,在保证不同业务类型的数据传输的实时性的同时最大限度减轻网络负担。
实施例4
结合本发明实施例3的方法架构和原理,本发明实施例4给出了一个具体的应用场景。图5是本发明实施例4提供的数据传输方法交互示意图,如图5所示:发送端向接收端发送控制命令,接收端收到命令后立即反馈ACK(Acknowledgment,确认)。在发送数据之前,发送端获取待传输数据的业务类型为控制消息,发送端需要发送两个控制消息,即数据包D1和数据包D2。该方法可以通过发送端传输层来实现。发送端根据业务类型获取冗余数据包的传输总时间为2秒。发送端根据当前网络状态变量和业务类型计算要保证99.99%的传输成功率,则理论所需冗余量为3。发送端根据业务类型、冗余数据包的传输总时间和冗余数据包的数量,得出当前预处理方法为直接传输、冗余数据包调度方法为这3个冗余数据包在传输总时间内随机发送。
发送端成功发送了首个数据包D 1,且接收端成功确认了D1的正确接收。所以发送端及时停止了冗余数据包的发送,即不再按照之前的冗余数据包调度方法发送冗余数据包R11,R12,R13。
发送端继续发送第二个数据包D2,并按照之前确定的冗余数据包调度方法或者根据现在网络状态重新获取的冗余数据调度方法发送冗余数据包。在第一次冗余数据包传输之前,D2没有被确认,则发送端发送冗余数据包R21。在第二次发送冗余数据包之前,R21被成功确认。所以,发送端取消冗余数据包R21之后的冗余数据包的传输。
本发明实施例可以根据当前的网络状态适时调整冗余数据包的发送策略,进而在保证传输质量的同时减少冗余数据包的传输,减轻网络负载。
实施例5
结合实施例4和实施例3,图6是本发明实施例5提供的一种数据传输方法流程示意图,如图6所示,所述方法包括下列步骤:
S201.发送端根据预先获取的网络状态变量和传输成功率,获取待传输数据包需要传输的冗余数据包的数量。
应该理解的是,网络状态变量可以实时获取,也可以在某些情况下,如由于网络状态 更新不及时或者更新次数很少时,则用发送端预先默认设置的网络状态变量来计算冗余数据包的数量。
传输成功率可以由发送端实时获取也可以按照发送端预先默认设置的数值。
获取冗余数据包的数量是发送端根据网络状态变量和传输成功率,计算如果要满足传输成功率的话,最少需要传输几个冗余数据包。
发送端根据网络状态变量和预先获取的传输成功率动态调整冗余数据包的数量,可以在减少数据传输延时和数据冗余量的同时,在不同的网络环境中提供不同的QoS(Quality of Service,服务质量服务),是一种可控化、精细化、差异化的方法。
S202、发送端根据冗余数据包的数量获取冗余数据包调度方法。
冗余数据包调度方法可以包括下述任何一种或者多种调度方法:随机调度方法、最短时间调度方法、最长时间调度方法和均匀时间调度方法。随机时间调度方法是待传输的n个冗余数据包之间的传输时间间隔随机分布,传输一个冗余数据包到传输下一个冗余数据包之间的时间间隔是随机的一段时间,例如可能是1ms,也有可能是10ms。这种调度方法的实际效果是冗余量可能较高,但可以避免大量用户同时接入网络,造成网络设备负荷过重的技术问题。最短时间调度方法,是指从传输一个冗余数据包到传输下一个冗余数据包之间的时间间隔是发送端能力范围内的最短时间。这种调度方法的实际效果是以最大的冗余量保证尽可能低的传输时延。最长时间调度方法与最短时间调度方法正好相反。均匀时间调度方法是传输每一个冗余数据包到传输下一个冗余数据包之间的时间间隔是相同的指。这种时间调度方法的实际效果是冗余量和延时时间的均衡,其冗余量比最短时间调度方法要低但平均时延比其要大。
发送端根据冗余数据包调度方法的不同,可以根据网络状况,在不同的网络环境中满足不同的延时要求和冗余量控制,提供差异化的服务。
冗余数据包调度方法可以发送端预先设置好的默认值。也可以是发送端根据网络状态变量以一定策略获取的值,该策略可以是通过曲线拟合方法或机器自学习算法等方法获得的。例如,发送端根据网络状态变量判断出当前网络状态较差,则按照递减传输方法传输冗余数据包,以避免盲目冗余造成网络负担,选择随机时间调度方法来发送冗余数据包。
冗余数据包调度方法还可以是发送端根据传输总时间和冗余数据包的数量获得的。其中,传输总时间可以根据预先获取的时延要求获取。时延要求可以是预先设置的默认值也可以是应用指定的,本发明实施例对此不作限制。例如发送端发现有3个冗余数据包,要在300ms的传输总时间内传输完成,则可以选择随机时间调度方法,分别调度方法80ms,160ms,60ms传输一个冗余数据包,也可以选择均匀时间调度方法,每100ms传输一个冗余数据包。当然在发送端根据传输总时间和冗余数据包的数量获取调度方法的同时还可以考虑网络状态变量,以获得一个更加合理的调度方法。其中传输总时间是从传输第一个冗余数据包开始,到最后一个冗余数据包传输结束为止的一段总时间。一般根据时延要求获取传输总时间,为保证通信质量减少时延,一般将传输总时间设置为小于或等于所述时延要求的一段时间。
S203、发送端根据冗余数据包调度方法发送冗余数据包。
发送端在根据冗余数据包调度方法发送冗余数据包的同时,还可以根据冗余数据包的传输和确认情况实时获取当前网络的网络状态变量,根据网络状态变量实时调整冗余数据 包调度方法,已达到最佳的传输效果和最小的冗余数量。
应该理解的是,所述方法可选的,还可以包括:S200、发送端获取待传输数据的业务类型,其中,所述业务类型是指待传输数据的实际业务类型。
发送端获取待传输数据的业务类型可以通过:获取默认的业务类型或者获取应用制定的业务类型。其中,应用制定是指应用层或者应用软件直接制定待传输数据的业务类型。在大多数情况下发送端还可以根据所述待传输数据的数据流特征变量,获取所述业务类型。
数据流特征变量包括如下至少一个变量,发送端缓存中待传输数据包的长度和数目、正在网络中传输的数据包的长度和数目、数据包的到达间隔、数据突发性等和数据特征有关的变量。根据数据流特征变量,获取数据包的业务类型的方法,包括但不限于:根据一个或者多个特征变量的门限值直接获取;或者,根据一个或者多个特征变量的值直接获取;再或者,根据至少一个特征变量的门限值和/或者至少一个特征变量的值,采用机器或深度学习等人工智能算法获取。
应该理解的是,S200和S201,S202之间没有特定的顺序关系,S200可以在S201和/或S202之前或之后,本发明实施例对此不作限制。
可选的,当本发明实施例所述的方法包括步骤S200时,则S201还可以是,发送端根据所述预先获取的网络状态变量、所述传输成功率和所述业务类型,获取所述待传输数据包需要传输的冗余数据包的数量。此时,获取冗余数据包的数量是发送端根据网络状态变量、业务类型和传输成功率,计算如果要满足传输成功率的话,最少需要传输几个冗余数据包。
在获取业务类型的情况下,冗余数据包的数量获取更加有针对性和差异化,可以最大程度的满足不同业务类型数据对传输实时性的要求,同时最大限度的减少网络负担,做到个性化差异化传输。
可选的,当本发明实施例所述的方法包括步骤S200时,则发送端还可以根据业务类型获取相应的时延要求。每一种业务类型对时延要求都可能会有差异。例如在线游戏就对时延要求非常高,稍稍的时延都会大大降低用户体验;相比于在线游戏,视频、音乐下载对时延的要求相对会低一些,偶尔的时延不会特别严重的影响用户。因此,可以根据不同的业务类型获取不同的时延要求,最大程度的满足不同业务类型数据对传输实时性的要求,同时最大限度的减少网络负担。
可选的,当本发明实施例所述的方法包括步骤S200时,所述方法还可以包括:S2001、发送端根据所述业务类型获取所述待传输数据包的预处理方法;S2002、发送端根据所述预处理方法发送所述待传输数据包;
其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,所述方法包括下述至少一种方法,编码、组合和拆分。不同的数据包预处理方法可以提高不同业务类型数据的传输效率。数据包预处理方法可以通过人工智能方法根据业务类型自动匹配数据包预处理方法,包括但不限于,对于稀疏数据包采用直接传输的方法,非稀疏数据包采用网络编码的方法。数据包是一种传输单位。应当理解的是步骤S2002在步骤S203之前,如果待传输数据包被成功确认,则不需要再发送冗余数据包。
结合S2001和S2002的方法,本发明实施例可以根据不同业务类型的数据提供不同的传输方式,保证每一种业务类型的数据都用最合适的传输方式传输。
综上所述,本发明实施例至少在下述几个方面对现有传输方式进行了改进,并带来了 显著的有益效果。1)获取业务类型,对为不同的业务类型的数据选择不同的传输方法;2)冗余数据包的数量自适应调整,避免冗余数据包过多造成的网络拥塞和带宽浪费等问题,同时避免因为冗余数据包的数量过少造成的传输延时长的问题;3)冗余数据包传输总时间可调整,保证不同业务的不同时延要求;4)冗余数据包调度方法可自适应调整,提供多种QoS(Quality of Service,服务质量服务)(如,时延优先、冗余传输数量优先、时延与冗余传输数量适中)。总之,本发明实施例提供了自适应、个性化、网络资源利用最优化的传输方法。
实施例6
结合本发明实施例5的方法流程,本发明实施例6提供一种数据传输方法的具体应用。具体包括:
S301、发送端获取默认的网络状态变量和业务性能要求。具体为,丢包率=5%、RTT(round trip time,往返时间)=100ms、带宽=512Kbps,待传输数据的业务类型为控制消息(即为稀疏数据)、数据包长度为300Bytes、时延要求为300ms、传输成功率为99.99%。
S302、发送端获取冗余数据包的传输总时间等于时延要求(300ms)减去RTT,即200ms。
S303、根据丢包率和传输成功率,冗余数据包的数量可计算为:
1-N^LR=SR其中,LR代表丢包率,SR代表传输成功率,log代表对数操作;
因此N=log_LR(1-SR)=log_LR(1-99.99%)=-4/log(LR)=-4/log(5%)-1=2.07;
发送端根据待传输数据的业务类型为控制消息,无法使用线性网络编码获得非整数个的冗余数据包,所以把冗余数据包的数量设置为3.
S304、网络带宽小于1Mbps、RTT>=100ms、丢包率>1%,发送端根据上述网络状态变量判定当前网络状态较差,因此按照递减传输方法传输冗余数据包,以避免盲目冗余造成网络负担。具体来说,待传输的三个冗余数据包间的调度方法被随机设置为某个数列,可以是60ms,110ms,30ms。此调度方法是随时生成的,因此可以避免大量用户集中接入云平台、造成网络和服务器负载过重的情况产生。
S305、发送端根据S304获取的传输调度方法传输冗余数据包,以确保在300ms内带传输数据可以以99.99%的概率被成功传输。
本发明实施例提供的数据传输方法可以结合待传输数据的业务类型和网络状态,在保证符合业务性能的数据传输的同时最大限度的避免不必要的冗余,减少网络和服务器的负担。
实施例7
在结合实施例6的基础上,本发明实施例7和实施例6主要区别在于,实施例7中给出根据数据流特征变量获取业务类型、根据数据包的收发情况获取网络状态、以及根据的具体应用。
发送端通过机器学习算法,根据数据流特征变量获取待传输数据的业务类型。例如发送端获取数据包数目等于1、传输持续时间小于1s、数据包大小小于700Bytes,因此发送端获取该待传输数据的业务类型为控制消息。
发送端把多个数据包发送和确认的时间差的最小值作为RTT;把发送的非重复的数据包数目和收到的非重复的确认数据包的数目之比,作为传输来回(发送端-接收端-发送端)的丢包率。
本发明实施例7通过数据流特征变量获取出传输数据的业务类型,可以更准确的根据实际业务类型去对待传输数据进行预处理;通过实时获取网络状态变量能够更准确的获取当前的网络情况,结合本发明其他实施例提供的方法、流程或架构能够更实现符合时延要求的数据传输同时尽可能的减少冗余量。
实施例8
图7为本发明实施例8提供的一种传输设备结构示意图。如图7所示,该设备包括存储器302和处理器301,其存储器302类似与实施例2中的存储介质203,其处理器301类似与实施例2中的协议处理电路201。处理器通过执行存储在存储器中的程序,可用于实现实施例3至实施例7中任一实施例的方法。
本发明实施例提供的设备通过自适应的冗余数据包调度方法和数据包预处理方法使得可以根据用户需要,在满足传输实时性的同时减少网络负担的效果。本发明实施例提供了自适应、个性化、网络资源利用最优化的传输方法。
总之,以上所述仅为本发明实施例技术方案的实施例而已,并非用于限定本发明实施例的保护范围。凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (22)

  1. 一种数据的传输方法,其特征在于,所述方法包括:
    发送端根据预先获取的网络状态变量和预先获取的传输成功率,获取待传输数据包需要传输的冗余数据包的数量;
    发送端根据所述冗余数据包的数量获取冗余数据包调度方法;
    发送端根据所述冗余数据包调度方法发送冗余数据包。
  2. 根据权利要求1所述的传输方法,其特征在于,所述冗余数据包调度方法包括下述任何一种或者多种调度方法:
    随机度策略、最短时间调度方法、最长时间调度方法和均匀时间调度方法。
  3. 根据权利要求1或2所述的传输方法,其特征在于,所述发送端获取冗余数据包调度方法具体包括:
    发送端根据所述冗余数据包的数量获取预先设置的冗余数据包调度方法;或
    发送端根据所述冗余数据包的数量和所述网络状态变量获取冗余数据包调度方法。
  4. 根据权利要求1至3任一项所述的传输方法,其特征在于,当在所述发送端获取冗余数据包调度方法之前,所述传输方法还包括,发送端根据预先获取的时延要求,获取冗余数据包的传输总时间;
    则,所述发送端获取冗余数据包调度方法具体包括:
    发送端根据所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法;或
    发送端根据网络状态变量、所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法。
  5. 根据权利要求4所述的传输方法,其特征在于,所述发送端根据预先获取的时延要求,获取冗余数据包的传输总时间具体包括:
    发送端根据预先获取的时延要求,将所述冗余数据包的传输总时间设置为小于或等于所述时延要求的一段时间。
  6. 根据权利要求1至5任一项所述的传输方法,其特征在于,所述方法还包括:
    发送端获取待传输数据的业务类型,其中,所述业务类型是指数据的实际业务类型。
  7. 根据权利要求6所述的传输方法,其特征在于,所述发送端获取待传输数据的业务类型的方法包括下述至少一种方法,
    发送端获取默认的业务类型;
    发送端获取应用制定的业务类型;
    发送端根据所述待传输数据的数据流特征变量,获取所述业务类型。
  8. 根据权利要求7所述的传输方法,其特征在于,所述发送端根据所述数据流的特征变量,获取所述业务类型的方法具体包括下述至少一种方法,
    根据至少一个特征变量的门限值获取所述业务类型;
    根据至少一个特征变量的值获取所述业务类型;
    根据至少一个特征变量的门限值和/或者至少一个特征变量的值,采用人工智能算法获取所述业务类型。
  9. 根据权利要求6至8任一项所述的传输方法,其特征在于,所述发送端根据预先获取的 网络状态变量和传输成功率,获取待传输数据包需要传输的冗余数据包的数量具体包括:发送端根据所述预先获取的网络状态变量、所述传输成功率和所述业务类型,获取所述待传输数据包需要传输的冗余数据包的数量。
  10. 根据权利要求6至9任一项所述的传输方法,其特征在于,所述方法还包括:
    发送端根据所述业务类型获取所述待传输数据包的预处理方法;其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,包括编码、组合或拆分。
  11. 根据权利要求10所述的传输方法,其特征在于,在所述发送端根据所述冗余数据包调度方法发送冗余数据包之前,所述方法还包括:
    发送端根据所述预处理方法发送所述待传输数据包。
  12. 一种数据的传输设备,其特征在于,所述设备包括:处理器和存储器;
    所述存储器用于存储程序;
    所述处理器用于执行所述存储器中的程序,用以实现下述方法:
    根据预先获取的网络状态变量和预先获取的传输成功率,获取待传输数据包需要传输的冗余数据包的数量;
    根据所述冗余数据包的数量获取冗余数据包调度方法;
    根据所述冗余数据包调度方法发送冗余数据包。
  13. 根据权利要求12所述的传输设备,其特征在于,所述冗余数据包调度方法包括下述任何一种或者多种调度方法:
    随机调度方法、最短时间调度方法、最长时间调度方法和均匀时间调度方法。
  14. 根据权利要求12或13所述的传输设备,其特征在于,所述获取冗余数据包调度方法具体包括:
    根据所述冗余数据包的数量获取预先设置的冗余数据包调度方法;或
    根据所述冗余数据包的数量和所述网络状态变量获取冗余数据包调度方法。
  15. 根据权利要求12至14任一项所述的传输设备,其特征在于,当在所述获取冗余数据包调度方法之前还包括,根据预先获取的时延要求获取冗余数据包的传输总时间;
    则,所述获取冗余数据包调度方法具体包括:
    根据所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法;或
    根据网络状态变量、所述传输总时间和所述冗余数据包的数量,获取冗余数据包调度方法。
  16. 根据权利要求15所述的传输设备,其特征在于,所述根据预先获取的时延要求,获取冗余数据包的传输总时间具体包括:
    根据预先获取的时延要求,将所述冗余数据包的传输总时间设置为小于或等于所述时延要求的一段时间。
  17. 根据权利要求12至16任一项所述的传输设备,其特征在于,所述处理器实现的方法还包括:
    获取待传输数据的业务类型,其中,所述业务类型是指数据的实际业务类型。
  18. 根据权利要求17所述的传输设备,其特征在于,所述获取待传输数据的业务类型包括下述至少一种方法,
    获取默认的业务类型;
    获取应用指定的业务类型;
    根据所述待传输数据的数据流特征变量,获取所述业务类型。
  19. 根据权利要求18所述的传输设备,其特征在于,所述根据所述数据流的特征变量,获取所述业务类型的具体包括下述至少一种方法,
    根据至少一个特征变量的门限值获取所述业务类型;
    根据至少一个特征变量的值获取所述业务类型;
    根据至少一个特征变量的门限值和/或者至少一个特征变量的值,采用人工智能算法获取所述业务类型。
  20. 根据权利要求12至19任一项所述的传输设备,其特征在于,所述根据预先获取的网络状态变量和传输成功率,获取待传输数据包需要传输的冗余数据包的数量具体包括:
    根据所述预先获取的网络状态变量、所述传输成功率和所述业务类型,获取所述待传输数据包需要传输的冗余数据包的数量。
  21. 根据权利要求17至20任一项所述的传输设备,其特征在于,所述处理器实现的方法还包括:
    根据所述业务类型获取所述待传输数据包的预处理方法;其中,所述预处理方法是指在传输前对待传输数据包进行处理的方法,包括编码、组合或拆分。
  22. 根据权利要求21所述的传输设备,其特征在于,在所述根据冗余数据包调度方法发送冗余数据包之前,还包括:
    根据所述预处理方法发送所述待传输数据包。
PCT/CN2017/078915 2016-07-19 2017-03-31 一种数据传输的方法和设备 WO2018014588A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17830228.7A EP3480983A4 (en) 2016-07-19 2017-03-31 DATA TRANSMISSION PROCESS AND DEVICE
US16/251,979 US20190159064A1 (en) 2016-07-19 2019-01-18 Data transmission method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610575547.3A CN107634908B (zh) 2016-07-19 2016-07-19 一种数据传输的方法和设备
CN201610575547.3 2016-07-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/251,979 Continuation US20190159064A1 (en) 2016-07-19 2019-01-18 Data transmission method and device

Publications (1)

Publication Number Publication Date
WO2018014588A1 true WO2018014588A1 (zh) 2018-01-25

Family

ID=60992828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/078915 WO2018014588A1 (zh) 2016-07-19 2017-03-31 一种数据传输的方法和设备

Country Status (4)

Country Link
US (1) US20190159064A1 (zh)
EP (1) EP3480983A4 (zh)
CN (1) CN107634908B (zh)
WO (1) WO2018014588A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109768825B (zh) * 2019-02-26 2021-10-15 湖南省星岳天璇科技有限公司 高轨卫星运控用户信息出站控制方法及装置
CN110099414A (zh) * 2019-04-18 2019-08-06 深圳壹账通智能科技有限公司 网络资源传输方法、装置、计算机设备和存储介质
WO2020220160A1 (zh) * 2019-04-28 2020-11-05 天通畅达(深圳)科技有限公司 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统
CN110113142A (zh) * 2019-04-28 2019-08-09 天通畅达(深圳)科技有限公司 基于多个数据通道并发捆绑承载大数据量业务的传输方法及系统
CN110247736B (zh) * 2019-06-27 2022-04-22 北京奇艺世纪科技有限公司 一种数据传输方法及装置
CN114698081B (zh) * 2020-12-28 2023-10-17 北京小米移动软件有限公司 控制数据发射的方法及装置、电子设备、存储介质
CN113595830B (zh) * 2021-07-30 2024-02-20 百果园技术(新加坡)有限公司 一种网络丢包状态的检测方法、装置、设备及存储介质
CN115150174B (zh) * 2022-07-06 2023-05-05 北京神州慧安科技有限公司 一种工业安全隔离交换方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061659A (zh) * 2004-12-02 2007-10-24 汤姆逊许可公司 自适应前向纠错
CN101193060A (zh) * 2006-12-01 2008-06-04 武汉烽火网络有限责任公司 在分组网上采用前向纠错机制实现可靠的e1传送的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8437284B2 (en) * 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
CN104426636A (zh) * 2013-09-11 2015-03-18 松下电器产业株式会社 通信控制装置及通信控制方法
CN104780016B (zh) * 2014-01-10 2019-01-01 中国移动通信集团公司 一种数据资源的传输方法和设备
CN105634875A (zh) * 2016-02-05 2016-06-01 中国科学院计算技术研究所 识别可靠传输协议的数据传输中的丢包类型的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061659A (zh) * 2004-12-02 2007-10-24 汤姆逊许可公司 自适应前向纠错
CN101193060A (zh) * 2006-12-01 2008-06-04 武汉烽火网络有限责任公司 在分组网上采用前向纠错机制实现可靠的e1传送的方法

Also Published As

Publication number Publication date
US20190159064A1 (en) 2019-05-23
CN107634908B (zh) 2021-06-08
CN107634908A (zh) 2018-01-26
EP3480983A4 (en) 2019-07-10
EP3480983A1 (en) 2019-05-08

Similar Documents

Publication Publication Date Title
WO2018014588A1 (zh) 一种数据传输的方法和设备
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
US9930097B2 (en) Transport accelerator systems and methods
US7756132B2 (en) Rapid messaging protocol wireless network data communication system
US20180027099A1 (en) System and method for data transfer, including protocols for use in data transfers
US8930569B2 (en) Methods and apparatus for optimum file transfers in a time-varying network emvironment
US7643420B2 (en) Method and system for transmission control protocol (TCP) traffic smoothing
US20200021387A1 (en) Auto-Tuning Reliability Protocol In Pub-Sub RTPS Systems
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
WO2016045332A1 (zh) 编码参数的调整、反馈信息的处理方法及装置
KR20040068880A (ko) 스트리밍 데이터에 대한 리액티브 대역폭 제어
WO2011133624A1 (en) Congestion window control based on queuing delay and packet loss
CN108809859A (zh) 一种面向数据包截止时间的传输层控制方法
CN107634817B (zh) 用于数据传输的方法和装置
CN111092907B (zh) 基于udp协议的数据流快速传输方法、系统及介质
CN116318545A (zh) 视频数据传输方法、装置、设备及存储介质
GB2577610A (en) Improved congestion response
EP3725049B1 (en) Transmission method and apparatus
CN114785757B (zh) 一种面向实时会话类业务的多径传输控制方法
Humeida et al. TCP congestion response for low latency HTTP live streaming
CN116405470B (zh) 流量数据传输方法、装置、计算机设备、存储介质
Takeda et al. Performance Evaluation on Control Parameters for Segmented File Download Method Using PR-SCTP
JP6897769B2 (ja) データ送信装置、方法およびプログラム
US8159944B2 (en) Time based queuing
CN112423342A (zh) 一种基于ledbat的拥塞控制窗口获取方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17830228

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017830228

Country of ref document: EP

Effective date: 20190204