CN111416688B - Method, device, communication equipment and system for controlling message retransmission - Google Patents

Method, device, communication equipment and system for controlling message retransmission Download PDF

Info

Publication number
CN111416688B
CN111416688B CN201910007826.3A CN201910007826A CN111416688B CN 111416688 B CN111416688 B CN 111416688B CN 201910007826 A CN201910007826 A CN 201910007826A CN 111416688 B CN111416688 B CN 111416688B
Authority
CN
China
Prior art keywords
packet loss
loss rate
time window
real
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.)
Active
Application number
CN201910007826.3A
Other languages
Chinese (zh)
Other versions
CN111416688A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910007826.3A priority Critical patent/CN111416688B/en
Publication of CN111416688A publication Critical patent/CN111416688A/en
Application granted granted Critical
Publication of CN111416688B publication Critical patent/CN111416688B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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
    • 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/187Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a method, a device, communication equipment and a communication system for controlling message retransmission, wherein the method comprises the following steps: counting the packet loss rate of the transmitting end device in a smooth time window, and taking the packet loss rate as a reference packet loss rate; counting the real-time packet loss rate of the message sent by the sending end device; comparing the real-time packet loss rate with the reference packet loss rate to obtain a comparison result; and according to the comparison result, adjusting retransmission parameters of the retransmission message of the sending end device.

Description

Method, device, communication equipment and system for controlling message retransmission
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method for controlling retransmission of a message, a device for controlling retransmission of a message, a communication apparatus, and a communication system.
Background
The transport layer protocol includes a connection-oriented protocol, which requires the sender of the information to contact the receiver and maintain a dialogue by contact, and a connectionless protocol, which transmits the message without any pre-contact, thus ensuring reliable transmission of the information based on the connection-oriented protocol.
Taking the transmission control protocol (Transmission Control Protocol, TCP) as an example, connection-oriented protocols require that both parties communicate by contact to maintain a conversation embodied in the various phases of the conversation, including: before data transmission, the two communication parties establish connection through negotiation Acknowledgement (ACK) to ensure that the data can be received correctly; during data transmission, TCP requires the receiver to return an acknowledgement to the sender after successfully receiving the data information; and after the data transmission is completed, the two communication parties confirm disconnection through negotiation. In each stage, if the sender does not receive the corresponding acknowledgement within a certain time limit, the information which is not successfully received is retransmitted according to the set retransmission parameters, which are key mechanisms for ensuring the reliable transmission of the information for the connection protocol, wherein the retransmission parameters determine the retransmission time of the information, so that the setting of the retransmission parameters directly affects the communication quality between the two communication parties, for example, if the data which is not acknowledged by the receiver cannot be retransmitted for a long time, the throughput of the connection data transmission is reduced; for another example, if the retransmission is started without receiving the acknowledgement from the receiver in a short time, some messages with large delay may be mistakenly regarded as lost, so that unnecessary retransmission is caused, network resources are wasted, and network congestion is caused.
In order to set reasonable retransmission parameters, in the prior art, a transmitting end usually performs real-time packet loss counting to detect retransmission rate, and directly adjusts the retransmission parameters based on the real-time retransmission rate so as to process a message which is not successfully received according to the adjusted retransmission parameters; yet another solution is to estimate a timeout RTO based on the detected current round trip time RTT to adjust the retransmission parameters. However, the adjustment based on the real-time retransmission rate or the adjustment based on the RTT is inaccurate, which may cause a deviation of the message retransmission policy, so that too many invalid transmissions occur or the transmission is too slow, so that it is very necessary to provide a new technical solution for controlling the retransmission of the message.
Disclosure of Invention
An object of the embodiment of the invention is to provide a new technical scheme for controlling retransmission of a message.
According to a first aspect of the present invention, there is provided a method for controlling retransmission of a message, comprising:
counting the packet loss rate of the transmitting end device in a smooth time window, and taking the packet loss rate as a reference packet loss rate;
counting the real-time packet loss rate of the message sent by the sending end device;
comparing the real-time packet loss rate with the reference packet loss rate to obtain a comparison result;
And according to the comparison result, adjusting retransmission parameters of the retransmission message of the sending end device.
Optionally, the counting the real-time packet loss rate of the message sent by the sending end device includes:
acquiring the length of a set real-time window for carrying out real-time packet loss rate statistics;
and according to the length, counting the packet loss rate of the sending end device in the current real-time window, and taking the packet loss rate as the real-time packet loss rate.
Optionally, the length of the real-time window is an integer multiple of the current round trip time of the sending end device for sending the message.
Optionally, the method further comprises:
providing a setting entry in response to an operation to set a length of the real-time window;
acquiring the length of a real-time window input through the setting inlet;
updating the set length to the length of the input real-time window.
Optionally, the smooth time window includes a time window in which the sending end device uniformly sends the message; before counting the packet loss rate of the sending end device in the smooth time window, the method further comprises the following steps: the smoothed time window is monitored.
Optionally, the step of counting the packet loss rate of the sending end device in the smooth time window as the reference packet loss rate includes:
Counting the latest packet loss rate of the sending end device in the latest smooth time window;
and updating the reference packet loss rate to be the latest packet loss rate.
Optionally, the step of counting the packet loss rate of the sending end device in the smooth time window as the reference packet loss rate includes:
detecting whether the packet loss rate of the sending end device in the smooth time window is in a first set range or not;
and according to a positive detection result, taking the packet loss rate of the sending end device in the smooth time window as the reference packet loss rate.
Optionally, the step of counting the real-time packet loss rate of the message sent by the sending end device includes:
counting the packet loss rate of the transmitting end device in a current real-time window;
detecting whether the packet loss rate of the sending end device in the real-time window is in a second set range or not;
and according to a positive detection result, taking the packet loss rate of the sending end device in a real-time window as the real-time packet loss rate.
Optionally, the step of counting the packet loss rate of the sender device in the smooth time window includes:
acquiring a first message retransmission rate of the transmitting end device in the smooth time window;
Acquiring a first message repetition rate of a receiving end device corresponding to the transmitting end device in the smooth time window;
and comparing the first message retransmission rate with the first message repetition rate to obtain the packet loss rate of the sending end device in the smooth time window.
Optionally, the step of counting the real-time packet loss rate of the message sent by the sending end device includes:
acquiring a second message retransmission rate of the transmitting end device in a current real-time window;
acquiring a second message repetition rate of a receiving end device corresponding to the transmitting end device in the real-time window;
and comparing the second message retransmission rate with the second message repetition rate to obtain the real-time packet loss rate of the sending terminal device.
Optionally, the step of adjusting a retransmission parameter of the retransmission message of the sender device according to the comparison result includes any one or more of the following:
under the condition that the real-time packet loss rate is larger than the reference packet loss rate, the time for retransmitting the message by the sending end device is prolonged;
and reducing the number of messages processed by the sending end device during each retransmission under the condition that the relative difference value between the real-time packet loss rate and the reference packet loss rate is larger than a set threshold value.
Optionally, the message carries data requested by the receiving end device to the sending end device.
According to a second aspect of the present invention, there is also provided an apparatus for controlling retransmission of a message, including: a memory and a processor, the memory to store executable instructions; the processor is configured to perform the method for controlling retransmission of messages according to the first aspect of the present invention under control of the instruction.
According to a third aspect of the present invention, there is also provided an apparatus for controlling retransmission of a message, including:
the reference packet loss rate statistics module is used for counting the packet loss rate of the transmitting end device in the smooth time window and taking the packet loss rate as a reference packet loss rate;
the real-time packet loss rate statistics module is used for counting the real-time packet loss rate of the message sent by the sending end device;
the comparison module is used for comparing the real-time packet loss rate with the reference packet loss rate to obtain a comparison result; the method comprises the steps of,
and the parameter adjustment module is used for adjusting retransmission parameters of the retransmission message of the sending end device according to the comparison result.
According to a fourth aspect of the present invention, there is also provided a communication system comprising a server, a terminal device, and an apparatus for controlling retransmission of a message in the second or third aspect of the present invention; the device is used for adjusting retransmission parameters of retransmission messages of at least one of the server and the terminal equipment.
According to a fifth aspect of the present invention there is also provided a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a method of controlling retransmission of messages according to any of the first aspect of the present invention.
The method has the advantages that the method according to the embodiment of the invention counts the reference packet loss rate by monitoring the smooth time window, and compares the counted real-time packet loss rate with the reference packet loss rate so as to adjust retransmission parameters according to the comparison result. In this embodiment of the present invention, the retransmission parameters are adjusted with reference to the reference packet loss rate, which is opposite to the adjustment performed by a single side according to the real-time packet loss rate, so that improper adjustment of the retransmission parameters due to instantaneous fluctuation of the real-time packet loss rate can be effectively avoided, the accuracy of adjusting the retransmission parameters of the retransmission message is improved, and further, the communication quality is improved.
Other features of the present invention and its advantages will become apparent from the following detailed description of exemplary embodiments of the invention, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention.
Fig. 1 is a functional block diagram showing a hardware configuration of a communication system that can be used to implement an embodiment of the present invention;
fig. 2 is a flowchart of a method of controlling retransmission of a message according to a first embodiment of the present invention;
FIG. 3 is a schematic flow chart diagram according to one example;
fig. 4 is a flowchart of a method of controlling retransmission of a message according to a second embodiment of the present invention;
fig. 5 is a flowchart of a method for controlling retransmission of a message according to a third embodiment of the present invention;
fig. 6 is a schematic structural diagram of an apparatus for controlling retransmission of a message according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an apparatus for controlling retransmission of a message according to another embodiment of the present invention.
Detailed Description
Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
The following description of at least one exemplary embodiment is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail, but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any specific values should be construed as merely illustrative, and not a limitation. Thus, other examples of exemplary embodiments may have different values.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further discussion thereof is necessary in subsequent figures.
< hardware configuration >
Fig. 1 is a block diagram of a hardware configuration of a communication system 100 that may be used to implement an embodiment of the present invention.
As shown in fig. 1, the communication system 100 includes a server 1000, a terminal device 2000, and an apparatus 3000 that controls retransmission of a message.
In this communication system 100, a server 1000 and a terminal device 2000 are communicatively connected via a network 4000. When the server 1000 sends the first message to the terminal device 2000, the server 1000 is a sending end device, and the terminal device 2000 is a receiving end device; when the terminal device 2000 sends the second message to the server 1000, the server 1000 is a receiving end device, and the terminal device 2000 is a transmitting end device.
In an example, a device 3000 for controlling retransmission of a message may be provided for adjusting retransmission parameters of a message retransmitted by the server 1000, in this example, as shown in fig. 1, a device 3000 independent of the server 1000 may be provided, or the device 3000 may be integrated in the server 1000.
In an example, a device 3000 for controlling retransmission of the message may be provided for adjusting retransmission parameters of the message retransmitted by the terminal device 2000, in this example, as shown in fig. 1, the device 3000 independent of the terminal device 2000 may be provided, or the device 3000 may be integrated in the terminal device 2000.
In one example, a device 3000 for controlling retransmission of the message may be configured to adjust retransmission parameters of the retransmission of the message by the server 1000 and the terminal device 2000.
In an example, two devices 3000 for controlling retransmission of the message may be provided, where the first device 3000 for controlling retransmission of the message is used for adjusting retransmission parameters of the retransmission message of the server 1000, and the second device 3000 for controlling retransmission of the message is used for adjusting retransmission parameters of the retransmission message of the terminal device 2000. In this example, the device 3000 may also be provided separately or may be integrated in the server 1000 or the terminal device 2000 to be adjusted.
The server 1000 provides the service points for processing, database, communication facilities. The server 1000 may be a unitary server or a distributed server across multiple computers or computer data centers. The server may be of various types such as, but not limited to, a web server, news server, mail server, message server, advertisement server, file server, application server, interaction server, database server, or proxy server. In some embodiments, each server may include hardware, software, or embedded logic components or a combination of two or more such components for performing the appropriate functions supported by or implemented by the server. For example, a server, such as a blade server, cloud server, etc., or may be a server group consisting of multiple servers, may include one or more of the types of servers described above, etc.
In one embodiment, the server 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, and an input device 1600, as shown in fig. 1.
In further embodiments, the server 1000 may also include speakers, microphones, etc., without limitation herein.
The processor 1100 may be a dedicated server processor, or may be a desktop processor, a mobile processor, or the like that meets performance requirements, and is not limited herein. The memory 1200 includes, for example, ROM (read only memory), RAM (random access memory), nonvolatile memory such as a hard disk, and the like. The interface device 1300 includes, for example, various bus interfaces such as a serial bus interface (including a USB interface), a parallel bus interface, and the like. The communication device 1400 can be capable of wired or wireless communication, for example, and the communication device 1400 can be capable of communicating based at least on a connection-oriented protocol and has a retransmission mechanism. The display device 1500 is, for example, a liquid crystal display, an LED display, a touch display, or the like. The input device 1600 may include, for example, a touch screen, keyboard, etc.
Although a plurality of devices of the server 1000 are shown in fig. 1, the present invention may relate to only some of the devices, for example, the server 1000 may relate to only the memory 1200, the processor 1100, and the communication device 1400.
In the present embodiment, since the server 1000 has a communication function, it is a communication device.
The terminal device 2000 is, for example, a mobile phone, a portable computer, a tablet computer, a palm computer, a wearable device, etc.
As shown in fig. 1, the terminal apparatus 2000 may include a processor 2100, a memory 2200, an interface device 2300, a communication device 2400, a display device 2500, an input device 2600, a speaker 2700, a microphone 2800, and the like.
The processor 2100 may be a mobile version of the processor. The memory 2200 includes, for example, ROM (read only memory), RAM (random access memory), nonvolatile memory such as a hard disk, and the like. The interface device 2300 includes, for example, a USB interface, a headphone interface, and the like. For example, the communication device 2400 can perform wired or wireless communication, and the communication device 2400 can perform communication based on at least a connection-oriented protocol and has a retransmission mechanism. The display device 2500 is, for example, a liquid crystal display, a touch display, or the like. The input device 2600 may include, for example, a touch screen, a keyboard, and the like. A user can input/output voice information through the speaker 2700 and the microphone 2800.
Although a plurality of devices of the terminal apparatus 2000 are shown in fig. 1, the present invention may relate to only some of the devices, for example, the terminal apparatus 2000 may relate to only the memory 2200 and the processor 2100 and the communication device 2400.
In the present embodiment, since the terminal device 2000 has a communication function, it is a communication device.
The device 3000 for controlling retransmission of a message may include a processor 3100, a memory 3200, an interface device 3300, a communication device 3400, a display device 3500, an input device 3600, a speaker 3700, a microphone 3800, and the like, as shown in fig. 1. The processor 3100 may be a microprocessor MCU or the like. The memory 3200 includes, for example, ROM (read only memory), RAM (random access memory), nonvolatile memory such as a hard disk, and the like. The interface device 3300 includes, for example, a USB interface, a headphone interface, and the like. The communication device 3400 can perform wired or wireless communication, for example, and can perform short-distance and long-distance communication, for example. The display device 3500 may be, for example, a device that outputs a signal, may be a display device such as a liquid crystal display, a touch display, or the like, or may be a speaker or the like that outputs voice information or the like. The input device 3600 may include, for example, a touch panel, a keyboard, or the like, and may input voice information by a microphone.
Although a plurality of devices of the device 3000 for controlling retransmission of a message are shown in fig. 1, the present invention may relate to only some of the devices, for example, the device 3000 for controlling retransmission of a message may relate to only the communication device 3400, the memory 3200 and the processor 3100.
In this embodiment, the memory 3200 of the apparatus 3000 for controlling retransmission of a message is used for storing instructions for controlling the processor 3100 to operate to perform the method for controlling retransmission of a message according to any embodiment of the present invention. The skilled person can design instructions according to the disclosed solution. How the instructions control the processor to operate is well known in the art and will not be described in detail here.
The network 4000 may be a wireless communication network or a wired communication network, and may be a local area network or a wide area network. In the communication system 100 shown in fig. 1, the device 3000 and the server 1000 for controlling retransmission of a message, the device 3000 and the terminal device 2000 for controlling retransmission of a message, and the terminal device 2000 and the server 1000 can communicate via the network 4000. The device 3000 for controlling retransmission of the message and the server 1000, the device 3000 for controlling retransmission of the message and the terminal device 2000, and the network 4000 on which the terminal device 2000 communicates with the server 1000 may be the same or different.
< method example >
Fig. 2 is a schematic flow chart of a method for controlling retransmission of a message according to an embodiment of the present invention.
As shown in fig. 2, the method for controlling retransmission of a message in this embodiment is implemented by the apparatus 3000 for controlling retransmission of a message, and the apparatus 3000 may perform an initialization operation in the beginning step of S2100, for example, allocate a memory space for executing the method in this embodiment, assign a value to a variable, and so on. The method for controlling retransmission of the message in this embodiment may include the following steps S2200 to S2500:
In step S2200, the device 3000 for controlling retransmission of the packet counts the packet loss rate of the transmitting device in the smooth time window, and uses the packet loss rate as the reference packet loss rate.
The packet loss rate of the transmitting end device in the smooth time window is as follows: and the communication network is used for carrying out network packet loss rate on the message sent by the sending end device in the smooth time window.
The smooth time window is a time window in which the transmitting end device normally transmits a message through the communication network, wherein the normally transmitted message can indicate that the communication network has no sudden network abnormality in the time window, so that the packet loss rate in the smooth time window can be a reference packet loss rate used as a reference.
Here, a condition that the normal message transmission is satisfied may be set according to a scene requirement, and the device 3000 for controlling retransmission of the message may monitor whether a smooth time window occurs according to the set condition, so as to count the current reference packet loss rate after the smooth time window is monitored.
In one embodiment, the smoothed time window may be a time window for uniformly sending messages, and in this embodiment, the method of the present invention further includes the step of monitoring the smoothed time window before performing step S2200.
In this embodiment, the smoothed time window may further be a time window in which a set number of messages are uniformly transmitted.
In one example, the packet may be a service packet corresponding to the receiving end device by the sending end device, where the service packet carries valid data sent by the sending end device to the receiving end device, where the valid data includes data requested by the receiving end device to the sending end device, so that redundant bandwidth is not wasted based on a statistical reference packet loss rate and a real-time packet loss rate of the service packet.
In one example, the message may also be a dedicated detection message generated by the sender device, so as to calculate a reference packet loss rate based on the detection message.
In this embodiment, the uniform sending may be understood that the frequency of sending the messages is substantially fixed, or the time intervals between the adjacent messages are substantially consistent, for example, a tolerance may be set for the time intervals, where the value of the tolerance may be set according to the length of the time interval, and the shorter the time interval, the smaller the value of the tolerance.
The set number can be set according to the needs, for example, the accuracy of measuring the reference packet sending rate and the aging requirement setting of the measured reference packet sending rate can be considered, wherein the smaller the set number is, the easier the smooth time window meeting the requirement is monitored, and the reference packet sending rate can have shorter aging; the larger the set number, the more abundant the samples, and the higher the accuracy of the measured reference packet rate.
In one example, the set number may be selected in the range of 80 to 150, for example, the set number is 100.
In one example, the device 3000 that controls retransmission of the message may continuously monitor the communication network during the entire process of the sending end device transmitting the message to the receiving end device through the communication network, so as to obtain each smooth time window.
In an example, the device 3000 for controlling retransmission of a message may monitor the smooth time window based on the set aging during the whole process that the sending end device sends the message to the receiving end device through the communication network, that is, in the set aging, monitor is stopped as long as one smooth time window is monitored, until the set aging expires, and then monitor the next smooth time window again.
In one example, the apparatus 3000 for controlling retransmission of a message may further monitor a smooth time window, and stop monitoring the smooth time window.
In one embodiment, the device 3000 for controlling retransmission of the message in the step S2200 counts the packet loss rate of the transmitting device in the smooth time window, and may further include the following steps S2211 to S2213:
in step S2211, the device 3000 for controlling message retransmission obtains the first message retransmission rate of the transmitting device in the smooth time window.
According to the step S2211, the calculation formula of the first message retransmission rate retransmission_ratio1 of the transmitting end device in the smooth time window is as follows:
Figure BDA0001936141680000111
wherein M1 is the total number of messages sent by the sending end device in the smooth time window, and N1 is the total number of messages retransmitted by the sending end device in the smooth time window.
In one example, the apparatus 3000 may obtain the total number of messages M1 and the total number of messages N1 retransmitted from the transmitting end apparatus, or the apparatus 3000 may directly obtain the first message retransmission rate retrain_ratio 1 from the transmitting end apparatus.
In step S2212, the device 3000 for controlling message retransmission obtains the first message repetition rate of the receiving device corresponding to the transmitting device within the smooth time window.
According to the step S2212, a calculation formula of the first message repetition rate repeat_ratio1 of the receiving device corresponding to the transmitting device in the smooth time window is as follows:
Figure BDA0001936141680000112
wherein, P1 is the total number of repeated messages received by the receiving end device in the smoothing time window, and Q1 is the total number of repeated messages received by the receiving end device in the smoothing time window.
In one example, the apparatus 3000 may request the receiving end apparatus to provide the total number of messages P1 and the total number of messages Q1 of the repeated message, or the apparatus 3000 requests the receiving end apparatus to directly provide the first message repetition rate repeat_ratio1.
In one example, the receiving end device may send the total number of messages P1 and the total number of messages Q1 of the repeated messages, or send the first message repetition rate repeat_ratio1 to the sending end device; the device 3000 obtains the total number of messages P1 and the total number of messages Q1 of the repeated messages from the sending device, or obtains the first message repetition rate repeat_ratio1.
Step S2213, comparing the first message retransmission rate and the first message repetition rate to obtain the packet loss rate of the sending end device in the smooth time window.
According to the step S2213, the calculation formula of the packet loss rate loss1 of the transmitting device in the smooth time window may be as follows:
loss1=retran_ratio1-repeat_ratio1 formula (3)
Wherein, the retransmission_ratio1 is the first message retransmission rate of the sender device in the smooth time window, and the repeat_ratio1 is the first message repetition rate of the receiver device corresponding to the sender device in the smooth time window.
According to the embodiments of steps S2211 to S2213, when the device 3000 measures the reference packet loss rate, not only the packet retransmission rate of the transmitting end device is considered, but also the packet repetition rate of the receiving end device is considered, which can effectively improve the accuracy of measuring the reference packet loss rate compared with the measurement of the reference packet loss rate by simply considering the retransmission condition of the transmitting end device.
In one embodiment, the device 3000 for controlling retransmission of the message in the step S2200 counts the packet loss rate of the transmitting end device in the smooth time window, and may further include the following steps S2221-S2222:
in step S2221, the device 3000 for controlling retransmission of the message counts the latest packet loss rate of the transmitting device in the newly occurring smooth time window.
According to step S2221, the device 3000 counts the latest packet loss rate of the transmitting device in the latest smoothing time window every time a smoothing time window is detected. Here, the device 3000 may continuously monitor the smoothing time window, or may monitor the smoothing time window according to the aging of the reference packet loss rate.
In step S2222, the device 3000 controlling retransmission of the packet updates the reference packet loss rate to the latest packet loss rate.
In an example, the device 3000 for controlling retransmission of the packet may set a default value as an initial value of the reference packet loss rate, so as to compare the real-time packet loss rate with the initial value of the reference packet loss rate for adjustment of retransmission parameters before the first smooth time window is detected, where the initial value may be determined according to a reasonable range of the reference packet loss rate; and when the first smooth time window is monitored, updating the reference packet loss rate.
For example, referring to fig. 3, in the initial state just started, the device 3000 for controlling retransmission of a packet adopts a set default value as a reference packet loss rate B0, and in a period T0 before a smooth time window T1 in which a first set number of packets are uniformly transmitted is monitored, the packet loss rate may be counted in a current real-time window, and recorded as a real-time packet loss rate R0, and the real-time packet loss rate R0 is compared with the reference packet loss rate B0, so as to adjust retransmission parameters. When the device 3000 monitors the first smoothing time window T1, the statistical packet loss rate in the smoothing time window T1 is used as the reference packet loss rate B1, so as to update the reference packet loss rate, and the device 3000 can adjust the retransmission parameters by comparing the reference packet loss rate B1 with the real-time packet loss rate R1 in the time period T1 before the device 3000 monitors the second smoothing time window T2. When the device 3000 monitors the second smoothing time window T2, the statistical packet loss rate in the smoothing time window T2 is used as the reference packet loss rate B2, so as to update the reference packet loss rate, and the device 3000 can adjust the retransmission parameters by comparing the reference packet loss rate B2 with the real-time packet loss rate R2 in the time period T2 before the third smoothing time window T3 is monitored. When the device 3000 monitors the third smoothing time window T3, the statistical packet loss rate in the smoothing time window T3 is used as the reference packet loss rate B3, so as to update the reference packet loss rate, and the device 3000 can adjust the retransmission parameters by comparing the reference packet loss rate B3 with the real-time packet loss rate R3 in the time period T3 before the next smoothing time window is monitored, and so on.
In one example, the apparatus 3000 controlling retransmission of the packet does not provide an initial value of the reference packet loss rate until the first smooth time window is detected, that is, in this example, the apparatus 3000 does not start comparing the reference packet loss rate with the real-time packet loss rate after the first smooth time window is detected, and adjusts the retransmission parameters according to the comparison result. For example, referring to fig. 3, after the reference packet loss ratio B1 is obtained by statistics, the apparatus 3000 starts to compare the current reference packet loss ratio with the real-time packet loss ratio to adjust the retransmission parameters.
According to steps S2221 to S2222, the apparatus 3000 according to the embodiment updates the reference packet loss rate every time a smooth time window is detected, which can improve the accuracy of using the reference packet loss rate as a reference for the real-time packet loss rate, so as to further improve the effectiveness of adjusting the retransmission parameters.
In one embodiment, referring to fig. 4, the device 3000 for controlling retransmission of the message in step S2200 counts the packet loss rate of the transmitting device in the smooth time window, and may further include the following steps S2231-S2232:
in step S2231, the device 3000 controlling retransmission of the message detects whether the packet loss rate of the transmitting device in the smooth time window is within the first set range.
The first set range may be set according to network performance, for example, the first preset range may be less than or equal to 30%.
In step S2232, the device 3000 controlling retransmission of the packet detects that the packet loss rate of the transmitting end device in the smooth time window is within the first set range (including the endpoint value) according to the positive detection result, and then uses the packet loss rate of the transmitting end device in the smooth time window as the reference packet loss rate.
According to the step S2232, if it is detected that the packet loss rate of the transmitting device in the smooth time window exceeds the first set range, the device 3000 controlling retransmission of the packet may discard the packet loss rate obtained by statistics in the smooth time window, without updating the reference packet loss rate according to the discarded packet loss rate. At this time, the comparison with the real-time packet loss rate can be continued using the previous reference packet loss rate as a reference to perform adjustment of the retransmission parameters. In addition, in the case that the reference packet loss rate has aging, if the previous reference packet loss rate has exceeded the aging, the adjustment of the retransmission parameter may be suspended until the next smooth time window is monitored and the updating of the reference packet loss rate is successfully completed, and then the retransmission parameter is continuously adjusted according to the updated reference packet loss rate as a reference.
For example, referring to fig. 3, during the packet transmission, the sending device detects the packet loss rate, that is, the reference packet loss rate B3, in the latest smooth time window T3, and in the first set range, at this time, the current reference packet loss rate may be updated to the reference packet loss rate B3, and the reference packet loss rate B3 may be compared with the real-time packet loss rate R3 to adjust the retransmission parameters.
For another example, referring to fig. 3, in the packet transmission process, if it is detected that the packet loss rate of the sending end device in the latest smooth time window T3 exceeds the first set range, the packet loss rate may be discarded, and the current reference packet loss rate is kept unchanged, for example, the current base packet loss rate is the reference packet loss rate B2 in fig. 3, and the reference packet loss rate B2 and the real-time packet loss rate R3 are continuously compared to adjust retransmission parameters.
Also for example, referring to fig. 3, in the packet transmission process, it is detected that the packet loss rate of the transmitting end device in the latest smooth time window T3 has exceeded the first set range, and the current reference packet loss rate, for example, the reference packet loss rate B2, has also timed out, so that the adjustment of the retransmission parameters may be suspended.
According to steps S2231 to S2232, when counting the reference packet loss rate, the apparatus 3000 of this embodiment implements filtering of the reference packet loss rate by detecting whether the packet loss rate in the smooth time window exceeds the first set range, and further filters out various burrs, which can also improve the accuracy and effectiveness of using the reference packet loss rate as a reference for the real-time packet loss rate.
In step S2300, the device 3000 for controlling retransmission of the message counts the real-time packet loss rate of the message sent by the sender device.
The real-time packet loss rate of the message sent by the sending terminal device is as follows: the communication network carries out real-time packet loss rate on the message sent by the sending end device.
In one embodiment, the device 3000 for controlling retransmission of the message in step S2300 counts the real-time packet loss rate of the message sent by the sender device, and may further include the following steps S2311 to S2312:
in step S2311, the device 3000 for controlling retransmission of the message obtains the set length of the real-time window for real-time packet loss statistics.
In one example, the set length of the real-time window may be an integer multiple of the current round trip time RTT of the message sent by the sender device. For example, the set length of the real-time window is 2 times of the current round trip time of the message sent by the sender device, that is, the set length of the real-time window is 2×rtt, and the set length of the real-time window may be, for example, 3 times or 4 times of the current round trip time of the message sent by the sender device, which is not limited herein.
In other examples, the set length of the real-time window may be set to other time lengths as desired.
In step S2312, the device 3000 controlling retransmission of the message counts the packet loss rate of the transmitting device in the current real-time window according to the set length, and uses the packet loss rate as the real-time packet loss rate.
According to the step S2312, during the message transmission, the device 3000 controlling the retransmission of the message obtains each real-time window appearing in succession according to the set length, and counts the packet loss rate of the transmitting device in each real-time window, which is the real-time packet loss rate.
For example, when the current real-time window (the latest real-time window) is F1, the packet loss rate R1 of the transmitting device in the real-time window F1 is counted as the current real-time packet loss rate.
According to steps S2311-S2312, the length of the real-time window is set to count the real-time packet loss rate, so that the real-time packet loss rate has a consistent statistical standard, and the current fluctuation condition of the packet loss rate can be accurately reflected by the real-time packet loss rate.
In one embodiment, the device 3000 for controlling retransmission of the message in step S2300 counts the real-time packet loss rate of the message sent by the sender device, and may further include the following steps S2321 to S2323:
in step S2321, the device 3000 for controlling message retransmission obtains the second message retransmission rate of the transmitting device in the current real-time window.
According to the step S2321, the calculation formula of the second message retransmission rate retransmission_ratio2 of the transmitting end device in the current real-time window is as follows:
Figure BDA0001936141680000161
wherein M2 is the total number of messages sent by the sender device in the current real-time window, and N2 is the total number of messages retransmitted by the sender device in the current real-time window.
In one example, the apparatus 3000 may obtain the total number of messages M2 and the total number of messages N2 retransmitted from the transmitting end apparatus, or the apparatus 3000 may directly obtain the second message retransmission rate retrainjratio 2 from the transmitting end apparatus.
In step S2322, the device 3000 for controlling message retransmission obtains the second message repetition rate of the receiving end device corresponding to the transmitting end device within the real-time window.
According to the step S2322, the calculation formula of the first message repetition rate repeat_ratio2 of the receiving end device corresponding to the transmitting end device in the smooth time window is as follows:
Figure BDA0001936141680000162
wherein, P2 is the total number of repeated messages received by the receiving end device in the current real-time window, and Q2 is the total number of repeated messages received by the receiving end device in the current real-time window.
In one example, the apparatus 3000 may request the receiving end apparatus to provide the total number of messages P2 and the total number of messages Q2 of the repeated message, or the apparatus 3000 requests the receiving end apparatus to directly provide the second message repetition rate repeat_ratio2.
In one example, the receiving end device may send the total number of messages P2 and the total number of messages Q2 of the repeated messages, or send the first message repetition rate repeat_ratio2 to the sending end device; the device 3000 obtains the total number of messages P2 and the total number of messages Q2 of the repeated messages from the sending device, or obtains the second message repetition rate repeat_ratio2.
Step S2323, the device 3000 for controlling message retransmission compares the second message retransmission rate with the second message repetition rate, and obtains the real-time packet loss rate of the transmitting device.
According to the step S2323, the calculation formula of the packet loss rate loss2 of the transmitting end device in the current real-time window is as follows:
los2=retran_ratio2-repeat_ratio2 formula (6)
Wherein, the retransmission_ratio2 is the second message retransmission rate of the transmitting end device in the real-time window, and the repeat_ratio2 is the second message repetition rate of the receiving end device corresponding to the transmitting end device in the real-time window.
According to the embodiments of steps S2321 to S2323, when the device 3000 measures the real-time packet loss rate, not only the packet retransmission rate of the transmitting end device is considered, but also the packet repetition rate of the receiving end device is considered, which can effectively improve the accuracy of measuring the real-time packet loss rate compared with the measurement of the real-time packet loss rate by simply considering the retransmission condition of the transmitting end device.
In one embodiment, referring to fig. 5, the device 3000 for controlling retransmission of the message in step S2300 counts the real-time packet loss rate of the message sent by the sender device, and may further include steps S2331 to S2333 as follows:
in step S2331, the device 3000 for controlling retransmission of the packet counts the packet loss rate of the transmitting device in the current real-time window.
According to step S2331, device 3000 sets the packet loss rate within the statistically recent real-time window as the current real-time packet loss rate.
For example, referring to fig. 3, a plurality of real-time windows appear in each of time periods t0 to t3, and each time the device 3000 reaches a real-time window, a real-time packet loss rate is counted and obtained as the current real-time packet loss rate.
In step S2332, the device 3000 for controlling retransmission of the message detects whether the packet loss rate of the transmitting device in the current real-time window is within the second set range.
The second set range may be set according to network performance, for example, the second preset range may be less than or equal to 30%.
The second preset range may be the same as the first set range or may be different from the first set range, for example, the second set range may be set to be larger than the first set range in consideration of instantaneous fluctuation of the real-time packet loss rate relative to the reference packet loss rate, which is not limited herein.
In step S2333, the device 3000 for controlling retransmission of the message uses the packet loss rate of the transmitting end device in the real-time window as the real-time packet loss rate according to the affirmative detection result.
According to step S2333, if it is detected that the packet loss rate of the transmitting device in the real-time window is within the second set range, the device 3000 may take the packet loss rate of the transmitting device in the real-time window as the real-time packet loss rate, and participate in adjustment of the retransmission parameters. Correspondingly, if it is detected that the packet loss rate of the transmitting device in the real-time window exceeds the second set range, the device 3000 may discard the packet loss rate obtained by statistics in the real-time window, without comparing the packet loss rate with the reference packet loss rate, that is, the packet loss rate will not participate in adjustment of the retransmission parameters.
According to steps S2331-S2332, when the device 3000 of this embodiment counts the real-time packet loss rate, it will realize the filtration of the real-time packet loss rate by detecting whether the packet loss rate in the real-time window exceeds the second set range, and then filter out various burrs, which can improve the accuracy of the real-time packet loss rate obtained by the statistics, and further improve the accuracy and effectiveness of the retransmission parameter adjustment based on the comparison result of the real-time packet loss rate and the reference packet loss rate.
In one embodiment, the device 3000 for controlling retransmission of the message in step S2300 counts the real-time packet loss rate of the message sent by the sender device, and may further include the following steps S2341-S2343:
in step S2341, the device 3000 for controlling retransmission of the packet counts the packet loss rate of the transmitting device in the current real-time window.
In step S2342, the apparatus 3000 for controlling retransmission of messages detects whether the number of messages in the real-time window is greater than or equal to the set number.
The set number may be set as desired, for example, the set number is selected in the range of 30 to 100.
In step S2343, the device 3000 for controlling retransmission of the message uses the packet loss rate of the transmitting device in the real-time window as the real-time packet loss rate according to the affirmative detection result.
Correspondingly, the device 3000 discards the packet loss rate of the transmitting device in the real-time window according to the negative detection result.
According to steps S2341-S2343, the embodiment defines that the number of messages in the real-time window at least reaches the set number, so that the real-time packet loss rate can be counted, and adjusts retransmission parameters based on the comparison result of the real-time packet loss rate and the reference packet loss rate, that is, the real-time packet loss rate is effectively filtered by defining the number of messages, which is beneficial to improving the accuracy of the counted real-time packet loss rate.
Step S2400, the device 3000 controlling retransmission of the message compares the real-time packet loss rate with the reference packet loss rate, and obtains a comparison result.
For example, referring to fig. 3, in the period T3, the current reference packet loss rate is the reference packet loss rate T3, the current real-time window is F1, the packet loss rate in the real-time window F1 is the current real-time packet loss rate, and the comparison result is obtained by comparing the real-time packet loss rate in the real-time window F1 with the reference packet loss rate T3 according to step S2400.
In step S2500, the device 3000 controlling retransmission of the message adjusts retransmission parameters of the retransmission message of the transmitting end device according to the comparison result.
In an example, in the step S2500, the adjustment of the retransmission parameters of the retransmission message of the transmitting end device may be: and under the condition that the real-time packet loss rate is larger than the reference packet loss rate, the time for retransmitting the message by the transmitting end device is prolonged.
For example, in the case that the current retransmission mechanism is a timeout retransmission mechanism, if the real-time packet loss rate is greater than the reference packet loss rate or greater than the reference packet loss rate by more than a set proportion, the timeout retransmission time RTO of the retransmission message of the transmitting end device may be prolonged, so as to retransmit the message according to the adjusted timeout retransmission time RTO.
For another example, the current retransmission mechanism is a fast retransmission mechanism, in which if the sender device continuously receives three acknowledgements ack for the same sequence number, the sender device considers that the message of the sequence number is lost, and when the third acknowledgement ack for the sequence number is received, the message of the sequence number is retransmitted immediately, for example, the sender device sends the message of sequence number seq=m and the message of sequence number seq=m+l, and when the sender device continuously receives three acknowledgements ack=m+l, the message of sequence number seq=m+l is retransmitted immediately, but in this example, a delay is performed after receiving three identical acknowledgements acks to restart the retransmission. For example, let the time point when the third acknowledgement ack=m+l is received be A3, a message with a delay τ for retransmitting the sequence number seq=m+l may be superimposed on the basis of A3, where the delay τ may be
Figure BDA0001936141680000191
I.e. at the time point->
Figure BDA0001936141680000192
And retransmitting the message with the sequence number of seq=M+L when arriving.
In an example, in the step S2500, the adjustment of the retransmission parameters of the retransmission message of the transmitting end device may also be: and under the condition that the relative difference value rho between the real-time packet loss rate loss2 and the reference packet loss rate loss1 is larger than a set threshold value, reducing the number of messages processed by the transmitting end device during each retransmission.
Relative difference ρ= (loss 2-loss 1)/loss 1 formula (7)
The set threshold may be set as desired, and in one example, may be set in the range of 0.1-0.3, for example, the set threshold is 0.2.
For example, in the data transmission process, 10 messages are confirmed to be lost, and when the relative difference between the real-time packet loss rate and the reference packet loss rate is greater than a set threshold, the number of lost messages processed at one time can be reduced to 2 messages during retransmission, and other messages are sent after waiting for the next retransmission processing, namely, the proportion of retransmission messages processed each time to total messages is reduced, so that the proportion of messages to be normally sent is increased.
According to the method of the embodiment, the current reference packet loss rate is counted by monitoring the smooth time window, and the counted real-time packet loss rate is compared with the reference packet loss rate, so that retransmission parameters are adjusted according to the comparison result. In this regard, since the embodiment of the present invention uses the reference packet loss rate as a reference to adjust the retransmission parameters, compared with the adjustment performed by a single side according to the real-time packet loss rate, the embodiment of the present invention can effectively avoid the improper adjustment of the retransmission parameters due to the instantaneous fluctuation of the real-time packet loss rate, improve the accuracy of adjusting the retransmission parameters of the retransmission message, and further improve the communication quality.
In one embodiment, the method for controlling retransmission of a message of the present invention may further include the following steps S3100 to S3300:
in step S3100, the apparatus 3000 for controlling retransmission of a message provides a setting entry in response to an operation for setting the length of the real-time window.
The setup portal may be an input box, a drop down list, a voice input, etc., for example, an operator may input a real-time window through the input box; for another example, the operator may select to enter a real-time window through a drop down list; for another example, the operator may voice input the length of the real-time window.
In step S3200, the device 3000 for controlling retransmission of the message acquires the length of the real-time window input through the setting portal.
For example, the length of the input real-time window is "2 times the current round trip time", or the length of the input real-time window is "3 times the current round trip time", or the like.
In step S3300, the device 3000 for controlling message retransmission updates the set length of the real-time window to the length of the input real-time window.
For example, if the set length of the current real-time window is "2 times the current round trip time", the apparatus 3000 for controlling retransmission of the message may update "2 times the current round trip time" to "3 times the current round trip time" according to the set operation; if the set length of the current real-time window is "3 times the current round trip time", the apparatus 3000 for controlling retransmission of the message may update "3 times the current round trip time" to "2 times the current round trip time" or the like according to the setting operation.
As can be seen from steps S3100 to S3300, this example provides a man-machine interaction interface to support the operator to select the length of the required real-time window according to the current actual needs, so as to implement the customized design.
< device example >
Fig. 6 is a schematic hardware structure of an apparatus 3000 for controlling retransmission of a message according to this embodiment.
As shown in fig. 6, an apparatus 3000 for controlling retransmission of a message according to this embodiment may include a memory 3200 and a processor 3100.
The memory 3200 is used to store instructions that control the processor 3100 to operate to perform the method of controlling retransmission of messages of any embodiment of the present invention. The skilled person can design instructions according to the disclosed solution. How the instructions control the processor to operate is well known in the art and will not be described in detail here.
Fig. 7 is a schematic structural diagram of an apparatus 3000 for controlling retransmission of a message according to another embodiment.
As shown in fig. 7, the apparatus 3000 for controlling retransmission of a message may at least include: a reference packet loss rate statistics module 3010, a real-time packet loss rate statistics module 3020, a comparison module 3030, and a parameter adjustment module 3040.
The reference packet loss rate statistics module 3010 is configured to count the packet loss rate of the transmitting device in the smooth time window, and use the packet loss rate as a reference packet loss rate.
The real-time packet loss rate statistics module 3020 is configured to count real-time packet loss rates of messages sent by a sender device.
The comparison module 3030 is configured to compare the real-time packet loss rate with a reference packet loss rate to obtain a comparison result.
The parameter adjustment module 3040 is configured to adjust retransmission parameters of a retransmission message of the transmitting end device according to the comparison result.
In one embodiment, the above smooth time window is a time window in which the sender device uniformly sends a set number of messages. In this embodiment, the apparatus 3000 for controlling retransmission of a packet may further include a monitoring module (not shown in the figure), where the monitoring is configured to monitor the smooth time window, so as to inform the reference packet loss rate statistics module 3010 of the packet loss rate of the sending end apparatus in the monitored smooth time window, as the reference packet loss rate.
In one embodiment, the real-time packet loss rate statistics module 3020 is further configured to obtain a set length of a real-time window for performing real-time packet loss rate statistics; and according to the set length, counting the packet loss rate of the sending end device in the current real-time window, and taking the packet loss rate as the real-time packet loss rate.
In one embodiment, the set length of the real-time window is an integer multiple of the current round trip time of the sending end device sending the message.
In one embodiment, the apparatus 3000 for controlling retransmission of a message may further include a time window setting module (not shown in the figure).
The time window setting module is used for responding to the operation of setting the length of the real-time window and providing a setting entry; acquiring the length of a real-time window input through a setting inlet; and updating the set length of the real-time window to be the length of the input real-time window.
In one embodiment, the reference packet loss rate statistics module 3010 is further configured to count a latest packet loss rate of the sender device in a newly occurring smooth time window; updating the reference packet loss rate to be the latest packet loss rate.
In one embodiment, the reference packet loss rate statistics module 3010 is further configured to detect whether a packet loss rate of the sender device in the smoothed time window is within a first set range; and according to the positive detection result, taking the packet loss rate of the sending end device in the smooth time window as the reference packet loss rate.
In one embodiment, the real-time packet loss rate statistics module 3020 is further configured to count a packet loss rate of the transmitting end device in a real-time window that occurs currently; detecting whether the packet loss rate of the sending end device in the real-time window is in a second set range or not; and according to the positive detection result, taking the packet loss rate of the sending end device in the real-time window as the real-time packet loss rate.
In one embodiment, the reference packet loss rate statistics module 3010 is further configured to obtain a first packet retransmission rate of the sender device in the smooth time window; acquiring a first message repetition rate of a receiving end device corresponding to a transmitting end device in a smooth time window; and comparing the first message retransmission rate with the first message repetition rate to obtain the packet loss rate of the sending end device in the smooth time window.
In one embodiment, the real-time packet loss rate statistics module 3020 is further configured to obtain a second packet retransmission rate of the sender device in a real-time window that currently occurs; acquiring a second message repetition rate of a receiving end device corresponding to the transmitting end device in the real-time window; and comparing the second message retransmission rate with the second message repetition rate to obtain the real-time packet loss rate of the transmitting end device.
In one embodiment, the parameter adjustment module 3040 is further configured to extend the time for the sender device to retransmit the packet when the real-time packet loss rate is greater than the reference packet loss rate; and under the condition that the relative difference value of the real-time packet loss rate and the reference packet loss rate is larger than a set threshold value, reducing the number of messages processed by the transmitting end device during each retransmission.
In one embodiment, the message is a service message of the sender device corresponding to the receiver device, and the service message is a message carrying data requested by the receiver device to the sender device.
< communication device embodiment >
The embodiment of the invention also provides communication equipment. The communication device may be, for example, the server 1000 shown in fig. 1 or the terminal device 2000 shown in fig. 1.
The communication device of this embodiment may include an apparatus 3000 for controlling retransmission of a message according to any embodiment of the present invention.
The device 3000 for controlling retransmission of a message is configured to implement a method for controlling retransmission of a message provided in any one of the embodiments.
The communication device is also configured to perform a connection-oriented protocol based communication method.
The present invention may be a system, method, and/or computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement aspects of the present invention.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for carrying out operations of the present invention may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present invention are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information for computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.
The foregoing description of embodiments of the invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvements in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (16)

1. A method of controlling retransmission of a message, comprising:
counting the packet loss rate of a transmitting end device in a smooth time window as a reference packet loss rate, wherein the smooth time window is a time window in which the transmitting end device normally transmits a message through a communication network, and the normal transmission message indicates that the communication network does not have sudden network abnormality in the time window;
counting the real-time packet loss rate of the message sent by the sending end device;
comparing the real-time packet loss rate with the reference packet loss rate to obtain a comparison result;
And according to the comparison result, adjusting retransmission parameters of the retransmission message of the sending end device.
2. The method of claim 1, wherein the counting the real-time packet loss rate of the message sent by the sender device comprises:
acquiring a set length of a real-time window for carrying out real-time packet loss rate statistics;
and according to the set length, counting the packet loss rate of the sending end device in the current real-time window, and taking the packet loss rate as the real-time packet loss rate.
3. The method of claim 2, wherein the set length of the real-time window is an integer multiple of a current round trip time of the sending end device sending the message.
4. The method of claim 2, wherein the method further comprises:
providing a setting entry in response to an operation to set a length of the real-time window;
acquiring the length of a real-time window input through the setting inlet;
updating the set length to the length of the input real-time window.
5. The method of claim 1, wherein the smooth time window includes a time window in which the sender device uniformly sends messages;
before counting the packet loss rate of the sending end device in the smooth time window, the method further comprises the following steps: the smoothed time window is monitored.
6. The method of claim 1, wherein the step of counting the packet loss rate of the sender device in the smooth time window as the reference packet loss rate includes:
counting the latest packet loss rate of the sending end device in the latest smooth time window;
and updating the reference packet loss rate to be the latest packet loss rate.
7. The method of claim 1, wherein the step of counting the packet loss rate of the sender device in the smoothed time window as a reference packet loss rate includes:
detecting whether the packet loss rate of the sending end device in the smooth time window is in a first set range or not;
and according to a positive detection result, taking the packet loss rate of the sending end device in the smooth time window as the reference packet loss rate.
8. The method of claim 1, wherein the step of counting real-time packet loss rate of the packets sent by the sender device includes:
counting the packet loss rate of the transmitting end device in a current real-time window;
detecting whether the packet loss rate of the sending end device in the real-time window is in a second set range or not;
and according to a positive detection result, taking the packet loss rate of the sending end device in the real-time window as the real-time packet loss rate.
9. The method according to any one of claims 1 to 8, wherein the step of counting packet loss rate of the sender device within a smoothing time window comprises:
acquiring a first message retransmission rate of the transmitting end device in the smooth time window;
acquiring a first message repetition rate of a receiving end device corresponding to the transmitting end device in the smooth time window;
and comparing the first message retransmission rate with the first message repetition rate to obtain the packet loss rate of the sending end device in the smooth time window.
10. The method according to any one of claims 1 to 8, wherein the step of counting a real-time packet loss rate of the message sent by the sender device includes:
acquiring a second message retransmission rate of the transmitting end device in a current real-time window;
acquiring a second message repetition rate of a receiving end device corresponding to the transmitting end device in the real-time window;
and comparing the second message retransmission rate with the second message repetition rate to obtain the real-time packet loss rate of the sending terminal device.
11. The method according to any one of claims 1 to 8, wherein the step of adjusting retransmission parameters of the retransmission message of the sender device according to the comparison result includes any one or more of the following:
Under the condition that the real-time packet loss rate is larger than the reference packet loss rate, the time for retransmitting the message by the sending end device is prolonged;
and reducing the number of messages processed by the sending end device during each retransmission under the condition that the relative difference value between the real-time packet loss rate and the reference packet loss rate is larger than a set threshold value.
12. The method according to any one of claims 1 to 8, wherein the message carries data requested by a receiving end device from the transmitting end device.
13. An apparatus for controlling retransmission of a message, comprising a memory and a processor, the memory configured to store executable instructions; the processor is configured to perform the method for controlling retransmission of messages according to any one of claims 1-12 under control of the instructions.
14. An apparatus for controlling retransmission of a message, comprising:
the system comprises a reference packet loss rate statistics module, a reference packet loss rate statistics module and a reference packet loss rate module, wherein the reference packet loss rate statistics module is used for counting the packet loss rate of a sending end device in a smooth time window, and the smooth time window is a time window in which the sending end device normally sends messages through a communication network, wherein the normal sending messages indicate that the communication network does not have sudden network abnormality in the time window;
The real-time packet loss rate statistics module is used for counting the real-time packet loss rate of the message sent by the sending end device;
the comparison module is used for comparing the real-time packet loss rate with the reference packet loss rate to obtain a comparison result; the method comprises the steps of,
and the parameter adjustment module is used for adjusting retransmission parameters of the retransmission message of the sending end device according to the comparison result.
15. A communication system comprising a server, a terminal device and the apparatus of claim 13 or 14; the device is used for adjusting retransmission parameters of retransmission messages of at least one of the server and the terminal equipment.
16. A computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of controlling retransmission of messages according to any one of claims 1 to 12.
CN201910007826.3A 2019-01-04 2019-01-04 Method, device, communication equipment and system for controlling message retransmission Active CN111416688B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910007826.3A CN111416688B (en) 2019-01-04 2019-01-04 Method, device, communication equipment and system for controlling message retransmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910007826.3A CN111416688B (en) 2019-01-04 2019-01-04 Method, device, communication equipment and system for controlling message retransmission

Publications (2)

Publication Number Publication Date
CN111416688A CN111416688A (en) 2020-07-14
CN111416688B true CN111416688B (en) 2023-06-16

Family

ID=71492642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910007826.3A Active CN111416688B (en) 2019-01-04 2019-01-04 Method, device, communication equipment and system for controlling message retransmission

Country Status (1)

Country Link
CN (1) CN111416688B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115085890B (en) * 2022-06-23 2024-06-25 云合智网(上海)技术有限公司 Method for optimizing TCP RTO retransmission waiting time by data center network chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964732A (en) * 2010-09-02 2011-02-02 海信集团有限公司 Method and device for calculating packet loss rate as well as method and device for controlling network transmission
CN101964727A (en) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 Method and device for measuring available bandwidth by using mixed messages
CN104022843A (en) * 2014-04-01 2014-09-03 天津大学 Self-adaptive data transmission speed adjustment algorithm based on long-distance wireless network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742413B (en) * 2008-11-24 2014-06-18 株式会社Ntt都科摩 Method for realizing enhanced multicast and broadcast service among base stations, user terminals and single cells
US8443444B2 (en) * 2009-11-18 2013-05-14 At&T Intellectual Property I, L.P. Mitigating low-rate denial-of-service attacks in packet-switched networks
CN105897506A (en) * 2016-03-31 2016-08-24 乐视控股(北京)有限公司 Bandwidth estimation method and device
CN106357693B (en) * 2016-11-09 2020-06-09 深圳市云之讯网络技术有限公司 Real-time media stream packet loss compensation method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964727A (en) * 2009-07-22 2011-02-02 中兴通讯股份有限公司 Method and device for measuring available bandwidth by using mixed messages
CN101964732A (en) * 2010-09-02 2011-02-02 海信集团有限公司 Method and device for calculating packet loss rate as well as method and device for controlling network transmission
CN104022843A (en) * 2014-04-01 2014-09-03 天津大学 Self-adaptive data transmission speed adjustment algorithm based on long-distance wireless network

Also Published As

Publication number Publication date
CN111416688A (en) 2020-07-14

Similar Documents

Publication Publication Date Title
CN106789718B (en) Data transmission congestion control method, equipment, server and programmable equipment
EP3177065A1 (en) Data transmission method and base station
KR20070086410A (en) System for managing round trip time of a transmission control protocol and supporting method and apparatus
EP3917181B1 (en) Method and device for data transmission, and storage medium
US9049688B2 (en) Selective auto-accept of full duplex push to talk call
JP2016208193A (en) Base station and communication control method
WO2017114231A1 (en) Packet sending method, tcp proxy, and tcp client
KR20190047598A (en) Method and device of transmitting data
CN104486243A (en) Data transmission method, equipment and system
CN111416688B (en) Method, device, communication equipment and system for controlling message retransmission
EP4007429A1 (en) Method and apparatus for determining contention window, and communication device and storage medium
CN111342939A (en) Data blind retransmission method and device, storage medium and terminal equipment
US8886793B2 (en) Methods and systems for adjusting a traffic rate for a MSRP session
CN105207949A (en) TCP optimization method and system, and SP server
EP2498474A1 (en) Communication terminal and communication method
TW201547240A (en) Method for determining maximum segment size
CN104780117B (en) A kind of acquisition methods and device of network congestion information
JP2014532379A (en) Data transmission control
CN106506669B (en) Method, device and system for processing session information
EP3133759A1 (en) A method of exchanging data packages of different sizes between first and second portable communication devices
AU2013379048A1 (en) Communication-information measuring device and program
WO2021018068A1 (en) Radio link monitoring method and communication device
JP7328177B2 (en) Data transmission method and communication system
US20230144943A1 (en) Methods and systems for wireless communication
CN117014379A (en) Code rate control method, device, electronic equipment and storage medium

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40033551

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant