WO2019128840A1 - 报文传输控制方法及装置 - Google Patents
报文传输控制方法及装置 Download PDFInfo
- Publication number
- WO2019128840A1 WO2019128840A1 PCT/CN2018/122342 CN2018122342W WO2019128840A1 WO 2019128840 A1 WO2019128840 A1 WO 2019128840A1 CN 2018122342 W CN2018122342 W CN 2018122342W WO 2019128840 A1 WO2019128840 A1 WO 2019128840A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data packet
- message
- sending
- packet
- receiving device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
Definitions
- the present application relates to the field of communications technologies, and in particular, to a packet transmission control method and apparatus.
- LDN Low-Power and Lossy Networks usually refers to working in a wireless environment, and the nodes involved are mostly node resources (such as energy resources, storage resources or channel resources) and bandwidth-limited networks. .
- MPL Multicast Protocol for LLN
- MPL multicast has two modes: active and passive.
- passive MPL multicast a node notifies neighboring nodes of the data packets it receives by sending MPL control messages.
- the neighboring node determines whether the MPL data packet that has been received by the neighboring node is the same as that of the neighboring node through the MPL control packet, so as to determine whether the MPL data packet is missing or whether the neighboring node is missing the MPL data packet.
- the MPL multicast is implemented based on a turbulence algorithm.
- the MPL message in the LLN includes a control packet and a data packet.
- a timing duration ta is calculated according to the turbulence algorithm, and a timer is started.
- the timer reaches ta, the node a determines to send a control packet to all neighbor nodes according to the turbulence algorithm.
- the control message may indicate a data message that the node a has received.
- the node b adjacent to the node a determines the node a by comparing the data packet received in the self buffer with the data packet that has been received by the node a indicated in the control packet. Whether there is a missing data message.
- the node b calculates a timing duration tbi according to the turbulence algorithm, and starts the timer at the same time, when the timer reaches tbi, the node b. According to the turbulence algorithm, it is determined that the missing data packets in the node a are sent to each neighbor node including the node a by the multicast mode.
- a data packet sent by a node in the LLN arrives at a neighboring node, it may collide with other packets that arrive at the neighboring node at the same time, resulting in the neighboring node.
- the data packet cannot be parsed.
- the neighboring node is required to trigger the retransmission of the data packet by the control packet.
- the control packet and the data packet need to be triggered by a timer. Therefore, the retransmission process will bring Large packet propagation delays have a large impact on the latency performance of the LLN network.
- the embodiment of the present application provides a message transmission control. Method and device.
- a message transmission control method comprising:
- the receiving device receives the first data packet; the receiving device detects whether the first data packet is an out-of-order message; and when the detection result is that the first data packet is an out-of-order message, The receiving device accelerates the acquisition of the missing data packet, and the missing data packet is generated before the first data packet, and the receiving device does not receive the data packet.
- the receiving device after receiving the first data packet, if the first data packet is received in an out-of-order manner, the receiving device can accelerate the acquisition of the missing data packet to shorten the sending. The device retransmits the delay of the missing data packets in the receiving device to the receiving device, thereby improving the delay performance of the entire network.
- the receiving device detects whether the first data packet is an out-of-order message, including:
- the second data packet is received by the receiving device before receiving the first data packet a data packet to which the first data packet is greater than the packet sequence number of the second data packet, the packet sequence number of the first data packet, and the second data packet
- the sequence number interval between the message sequence numbers is greater than 1, and the receiving device does not receive the message sequence number between the message sequence number of the first data packet and the message sequence number of the second data packet.
- the receiving device determines that the first data message is an out-of-order message.
- the receiving device After receiving the first data packet, the receiving device receives the first data packet, if the sequence number of the first data packet is greater than the sequence number of the previous received data packet, and the first data packet and the previous received data packet When there is a missing data packet between the texts, the receiving device determines that the first data packet is an out-of-order message, and provides an implementation method for detecting that the first data packet is received out of order.
- the method before the receiving device accelerates acquiring the missing data packet, the method further includes:
- the receiving device determines whether the first data packet is a packet that is sent in sequence; and when the first data packet is a packet that is sent in sequence, the receiving device accelerates acquiring the missing data packet.
- the receiving device further determines whether the first data packet is received according to whether the first data packet is sent in sequence. Whether the cause of the sequence is the reception disorder caused by the packet collision, and only when the first data packet receives the out-of-order reason is the reception disorder caused by the packet collision, the acceleration step is performed to avoid an unnecessary acceleration process.
- the receiving device determines whether the first data packet is a packet that is sent in sequence, and includes:
- the receiving device acquires a sending sequence label carried in the first data packet, where the sending sequence label is used to indicate whether the corresponding data packet is a packet that is sent in sequence; the receiving device is according to the first The sending sequence label carried in the data packet determines whether the first data packet is a packet sent in sequence.
- the receiving device detects whether the first data packet is a sequence-transmitted packet by using a sending sequence label carried in the first data packet, and provides an implementation manner for detecting whether the packet is sent in sequence.
- the receiving device accelerates acquiring missing data packets, including:
- the receiving device shortens the delay transmission duration of the control packet, and obtains a first delayed transmission duration, where the control packet is used to instruct the sending device to send the missing data packet; and the receiving device starts a timer timing And when the first delayed transmission duration is reached, the control packet is sent to the sending device.
- the receiving device accelerates the transmission of the control message by shortening the delay time of the control message, and provides an implementation manner for accelerating the acquisition of the missing data message.
- the receiving device shortens the delay sending duration of the control packet, and obtains the first delayed sending duration, including:
- the receiving device calculates a delay transmission duration corresponding to the control packet according to a turbulence algorithm and a turbulence algorithm period corresponding to the control packet, and the receiving device compares the control packet according to a predetermined duration shortening rule.
- the corresponding delayed transmission duration is shortened, and the first delayed transmission duration is obtained.
- the above solution provides an implementation method for shortening the delay transmission duration calculated according to the turbulence algorithm to obtain the shortened delay transmission duration.
- the receiving device shortens the delay sending duration of the control packet, and obtains the first delayed sending duration, including:
- the receiving device shortens the turbulence algorithm period corresponding to the control message according to a predetermined period shortening rule, and obtains a shortened turbulence algorithm period; the receiving device according to the turbulence algorithm and the shortened turbulence
- the algorithm period is calculated to obtain the first delayed transmission duration.
- the above solution provides an implementation method for shortening the turbulence algorithm period to obtain a shortened delay transmission duration.
- the receiving device accelerates acquiring missing data packets, including:
- the receiving device sends the acceleration indication information to the sending device, where the acceleration indication information is used to instruct the sending device to shorten the delay sending duration of the missing data packet.
- the receiving device accelerates the shortening of the sending of the missing data message by instructing the transmitting device to shorten the delay sending length of the missing data message, and provides an implementation manner for accelerating the acquisition of the missing data message.
- a second aspect provides a packet transmission control method, where the method includes:
- the sending device sends the first data packet; the sending device receives the acceleration indication information; the sending device shortens the delay sending duration of the missing data packet according to the acceleration indication information, and obtains the second delayed sending duration, the missing The data packet is generated before the first data packet, and the data packet is not received by the receiving device.
- the sending device starts the timer to reach the second delayed sending duration, the data packet is sent to the receiving device. Sending the missing data message.
- the receiving device after receiving the second data packet, the receiving device, if receiving the acceleration indication information, accelerates shortening the transmission of the missing data message by shortening the delay transmission time of the missing data message. Therefore, the delay of retransmitting the missing data packets in the receiving device to the receiving device is shortened, and the delay performance of the entire network is improved.
- the sending device sends the first data packet, including:
- the sending device sends the first data packet including a sending sequence label.
- the method before the sending, by the sending, the first data packet that includes the sending sequence label, the method further includes:
- the sending device When the message sequence number of the first data packet is greater than the target message sequence number, the sending device adds a first sending sequence label to the first data packet, where the first sending sequence label is used to indicate The first data packet is a packet that is sent by the sending device in an out-of-order manner; when the packet sequence number of the first data packet is less than or equal to the target packet sequence number, the sending device is in the first A second sending sequence label is added to the data packet, where the second sending sequence label is used to indicate that the first data packet is a packet sent by the sending device in sequence.
- the starting value of the target message sequence number is n, and n is a positive integer.
- the method further includes:
- the sending device adds the first sending sequence label to the first data packet, and then the target packet The value of the sequence number is updated to the number of the message of the first data packet plus one; if the message sequence number of the first data packet is equal to the target message sequence number, the sending device is in the first data After the second transmission sequence label is added to the message, the value of the target message sequence number is updated to the target message sequence number plus one.
- a message transmission control apparatus having the function of implementing the message transmission control method provided by the above first aspect and the possible implementation of the first aspect.
- the functions may be implemented by hardware or by corresponding software implemented by hardware.
- the hardware or software includes one or more than one unit corresponding to the functions described above.
- a message transmission control apparatus having the function of implementing the message transmission control method provided by the second aspect and the possible implementation of the second aspect.
- the functions may be implemented by hardware or by corresponding software implemented by hardware.
- the hardware or software includes one or more than one unit corresponding to the functions described above.
- a receiving device comprising: a processor and a memory, wherein the memory stores an instruction, and the processor executes the instruction to enable the receiving device to implement the first aspect and the first A message transmission control method provided by a possible implementation on the one hand.
- a transmitting device includes: a processor and a memory, wherein the memory stores an instruction, and the processor executes the instruction to enable the transmitting device to implement the second aspect and the foregoing A message transmission control method provided by a possible implementation of the second aspect.
- a seventh aspect a computer readable storage medium storing instructions, wherein a processor in a receiving device executes the instructions to cause the receiving device to implement the first aspect and the first aspect as described above
- a message transmission control method provided by a possible implementation.
- a computer readable storage medium storing instructions, wherein a processor in a transmitting device executes the instructions to cause the transmitting device to implement the second aspect and the second aspect as described above
- a message transmission control method provided by a possible implementation.
- a computer program product comprising instructions, when executed on a computer, causes the computer to perform a message transmission control method as provided by the first aspect above and the possible implementations of the first aspect.
- a computer program product comprising instructions which, when run on a computer, cause the computer to perform a message transmission control method as provided by the second aspect of the above and the possible implementations of the second aspect.
- the receiving device After the first data packet is sent by the sending device, if the receiving device receives the first data packet and detects that the first data packet is an out-of-order packet, the receiving device receives the first data packet.
- the delay of obtaining the missing data packet can be shortened to shorten the delay of the data packet that is sent by the sending device to the receiving device, so as to improve the delay performance of the entire network.
- FIG. 1 is a block diagram of a message transmission system according to an embodiment of the present application.
- FIG. 2 is a flowchart of a message transmission control method provided by an exemplary embodiment of the present application
- FIG. 3 is a flowchart of a message transmission control method provided by an exemplary embodiment of the present application.
- FIG. 4 is a flowchart of another packet transmission control method according to an exemplary embodiment of the present disclosure.
- FIG. 5 is a flowchart of still another message transmission control method according to an exemplary embodiment of the present application.
- FIG. 6 is a structural block diagram of a message transmission control apparatus according to an exemplary embodiment of the present application.
- FIG. 7 is a structural block diagram of another message transmission control apparatus according to an exemplary embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a receiving device according to an exemplary embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram of a transmitting device according to an exemplary embodiment of the present application.
- FIG. 1 is a structural diagram of a message transmission system according to an embodiment of the present application.
- the message transmission system can be a Low-Power and Lossy Networks (LLN) system.
- LLC Low-Power and Lossy Networks
- the message transmission system can include a first node 120 and a plurality of second nodes 140.
- the first node 120 is also referred to as a seed node in the message transmission system, and the first node 120 can generate and send a multicast message in the message transmission system.
- the plurality of second nodes 140 may be referred to as forwarding nodes in the message transmission system (the forwarding node may also be referred to as a forwarder node), and the second node 140 may receive and forward the multicast generated by the first node 120 in the message transmission system. Message.
- each network node in the LLN network, each network node usually works in a wireless environment, the link stability cannot be guaranteed, and the bit error rate is high, and the nodes in the network usually It is an energy-constrained, low-power device.
- real-world scenarios such as Wireless Sensor Network (WSN), Internet of Things (IoT), and M2M (Machine to Machine) belong to the LLN network.
- the message in the embodiment of the present application can be applied to scenes such as streetlight control, code update, and smart meter reading.
- the LLN network is an IPv6-based wireless sensor network.
- the wireless sensor node in the wireless sensor network can perform mesh Mesh networking.
- the forwarding node acts as a router to forward information to nearby nodes.
- the Border Router (BR) is connected to the Internet as a seed node.
- the LLN network is an example of a streetlight control network in an Internet of Things application, and an intelligent device such as a sensing node installed on the street lamp is used as a forwarding node, and the smart device can perform Mesh networking and is connected to the Internet of Things gateway.
- the seed node is connected to the control device.
- the actual product form of the first node 120 and the second node 140 may be a node with a routing function, such as a router, a switch, etc., such as an IoT device under the IoT gateway and the gateway, a street light controller, and a smart light pole. device.
- a routing function such as a router, a switch, etc.
- IoT device under the IoT gateway and the gateway
- street light controller such as a street light controller
- smart light pole. device such as a smart light pole.
- FIG. 2 shows a flowchart of a message transmission control method provided by an exemplary embodiment of the present application.
- the method can be used in the system shown in FIG. 1.
- the message transmission control method can include:
- Step 201 The receiving device receives the first data packet.
- the sending device may be the first node 120 or the second node 140 in the system shown in FIG. 1 above, and the receiving device may be the second node 140 in the system shown in FIG. 1 above.
- the sending device and the receiving device are in a neighbor relationship with each other in the message transmission system.
- the packet transmission network shown in FIG. 1 is an LLN network.
- the transmitting device sends a multicast protocol (Multicast Protocol for LLN) to the LLN network to each neighbor device including the receiving device when the data packet needs to be sent.
- the MPL data packet if the first data packet does not collide with the packet sent by the other neighboring device of the receiving device, the receiving device successfully receives the first data packet.
- Step 202 The receiving device detects whether the first data packet is an out-of-order message.
- the receiving device may detect, according to the message sequence number of the received data packet and the message sequence number of the missing data packet, whether the first data packet is an out-of-order message, where the missing message is missing.
- the data packet may be a data packet that is generated before the first data packet and that is not received by the receiving device.
- the sequence number of the data packet in the LLN may be numbered according to the sequence in which the corresponding packet is generated.
- the missing data packet is generated before the first data packet, which may refer to the missing data.
- the packet sequence number of the packet is smaller than the packet sequence number of the first data packet.
- the receiving device may obtain the packet sequence number of the first data packet and the packet sequence number of the second data packet, where the second data packet is The data packet received by the receiving device before receiving the first data packet, or the first data packet is a data packet received immediately after the second data packet; when the first data packet is received The message sequence number is greater than the message sequence number of the second data packet, and the sequence number between the message sequence number of the first data packet and the message sequence number of the second data packet is greater than 1, and the packet of the data packet is missing.
- the receiving device determines that the first data packet is an out-of-order message.
- the data packet currently received by the receiving device and the previous data may be considered. There is at least one data message between the messages.
- the receiving device may compare the sequence number (new_sequence) of the first data packet with the sequence number (last_sequence) of the previous received data packet. If new_sequence-last_sequence>1, further check whether it is already Receiving a data packet between the first data packet and the second data packet, and receiving the data packet between the first data packet and the second data packet, if not yet received The device may determine that the first data packet is a message received out of order.
- the receiving device may compare the message sequence number of the first data packet with the message sequence number of the second data packet and the message sequence number of each data packet in the buffer of the receiving device. And determining, in the cache, whether the data packet between the first data packet and the second data packet exists in the data packet between the first data packet and the second data packet. If any of the data packets does not exist in the buffer of the receiving device, it may be determined that the first data packet is an out-of-order message.
- the receiving device For example, suppose that the data packet received by the receiving device (that is, the first data packet) is the data packet 6 (the packet sequence number is 6), and the second-to-last data packet recently received by the receiving device ( That is, the second data message is data message 3 (the message number is 3), and the difference between the data message 6 and the message number of the data message 3 is 3, indicating the last received data.
- the packet is received in an out-of-order manner.
- the receiving device further confirms whether the data packet 4 and the data packet 5 already exist in the buffer. If the data packet 4 and the data packet 5 do not exist in the buffer, or If any one of the data message 4 and the data message 5 is absent, the first data message can be regarded as a message received out of order.
- the receiving device may have multiple neighboring devices, and each neighboring device may send the same data packet. When the data packet is sent, the same data packet may be sent multiple times.
- the receiving device may first detect whether the first data packet already exists in the cache. If the first data packet is not stored in the cache, the receiving device may first receive the first data packet. a data packet, in which the receiving device performs the above step 202; otherwise, if the first data packet already exists in the buffer, the receiving device does not receive the first data packet for the first time, and the receiving device receives the first data packet.
- the file is discarded, and the step 202 is not performed to avoid repeated execution of unnecessary detection steps.
- Step 203 When the first data packet is an out-of-order message, the receiving device accelerates acquiring the missing data packet.
- the missing data packet is generated before the first data packet, and the data packet that is not received by the receiving device.
- the receiving device when the first data packet is a packet received in an out-of-order manner, it may be considered that there is a missing data packet that is not received by the receiving device and belongs to the receiving device before the first data packet. At this time, the receiving device can accelerate the acquisition of the missing data message.
- the receiving device when the packet transmission network shown in FIG. 1 is an LLN network, when the receiving device determines that the first data packet is an out-of-order packet (that is, there is a missing data packet), the receiving device can wait for a period of time. Sending a control packet, the control device instructing the sending device to send the missing data packet in the receiving device, and after receiving the control packet, the sending device also sends the missing data packet to the receiving device after a period of time .
- the acceleration when the receiving device accelerates the acquisition of the missing data packet, the acceleration may be performed only on the receiving device side, or may be accelerated only on the transmitting device side, or may be performed in the transmitting device side and the receiving device side. accelerate.
- the receiving device can shorten the delay time of the control packet, and obtain the first delay sending duration, where the control packet is used to instruct the sending device to send the missing data packet; When the timer reaches the first delay transmission duration, the control packet is sent to the sending device.
- the receiving device when the receiving device performs acceleration, the receiving device may shorten the timing of the control packet before the control packet is sent, so as to speed up the transmission of the control packet, thereby achieving the purpose of accelerating the acquisition of the missing data packet.
- the receiving device shortens the delay time of the control packet and obtains the first delay transmission duration.
- the delay time corresponding to the control packet may be calculated according to the turbulence algorithm and the turbulence algorithm period corresponding to the control packet, and the delay time corresponding to the control packet is shortened according to the predetermined duration shortening rule, and the first time is obtained. Delayed transmission time.
- the receiving device when the receiving device receives the first data packet and determines that the first data packet is an out-of-order packet, the receiving device may first calculate the delay sending duration of the control packet according to the turbulence algorithm, and then The delay time of the control message is shortened according to a predetermined duration shortening rule to obtain the first delay transmission duration.
- the duration shortening rule may be preset by a developer or a maintenance personnel.
- the duration shortening rule may be a delay percentage of the control packet according to a certain percentage (for example, 50%, 30%, or 20%, etc.). Make a shortening. Specifically, it is assumed that the duration shortening rule is shortened by 50%. If the delay time of the control message calculated according to the turbulence algorithm is 50 s, the shortened first delay transmission time is 25 s.
- the receiving device shortens the delay sending duration of the control packet, and when the first delayed sending duration is obtained, the hopping algorithm period corresponding to the control packet may be shortened according to a predetermined period shortening rule.
- the shortened turbulence algorithm period is obtained, and the first delayed transmission duration is calculated according to the turbulence algorithm and the shortened turbulence algorithm period.
- each data packet or control packet in the LLN has its own turbulence algorithm period.
- the receiving device determines the delay time of sending data packets or control packets, it can be preferred. Determining the turbulence algorithm period corresponding to the packet, and randomly determining a time point as the transmission time point of the packet in the second half of the turbulence algorithm period, and the sending time point and the starting time point of the corresponding turbulence algorithm period
- the duration between the messages is the delay in sending the message.
- the receiving device when the receiving device shortens the delay time of the control packet, the receiving device may shorten the hopping algorithm period corresponding to the control packet, that is, the receiving device receives the first data packet. And determining that the acceleration condition is established, the turbulence algorithm period corresponding to the control message may be first determined, and the turbulence algorithm period corresponding to the control message is shortened according to the predetermined period shortening rule, and then shortened according to the turbulence algorithm.
- the second half of the turbulence algorithm period randomly determines a time point as the transmission time point of the control message, and determines the duration between the determined transmission time point and the shortened turbulence algorithm cycle start time point as the first time. Delayed transmission time.
- the receiving device may send the acceleration indication information to the sending device, where the acceleration indication information is used to instruct the sending device to shorten the delay sending duration of the missing data message.
- the acceleration indication information may be sent by using a control packet.
- the receiving device may add an acceleration identifier to the control packet, where the acceleration identifier is the acceleration indication information, and the acceleration identifier may be After the sending device receives the control packet, it prompts to send the missing data packet.
- the sending device speeds up sending the missing data packet, the sending time of the missing data packet can be shortened, the second delayed sending duration is obtained, and when the timer is started to reach the second delayed sending duration, Send missing data packets to the receiving device.
- the foregoing acceleration indication information may also be sent by means other than controlling the message.
- FIG. 3 shows a flowchart of a message transmission control method provided by an exemplary embodiment of the present application.
- the method can be used in the system shown in FIG. 1, as shown in FIG. 3, the method can include the following steps:
- Step 301 The sending device sends the first data packet.
- step 201 For the process of sending the first data packet by the sending device, refer to the description in step 201 above, and details are not described herein again.
- Step 302 The sending device receives the acceleration indication information.
- the acceleration indication information may be sent by the sending device, and then the sending device may accelerate the sending according to the acceleration indication information.
- the process of accelerating the sending of the missing data message may be as shown in the following steps 303 and 304.
- Step 303 The sending device shortens the delay sending duration of the missing data packet according to the acceleration indication information, and obtains the second delayed sending duration.
- the sending device may calculate according to the turbulence algorithm and the turbulence algorithm period corresponding to the missing data packet.
- the delay transmission duration corresponding to the missing data packet is shortened according to the predetermined duration shortening rule, and the delay time corresponding to the missing data packet is shortened to obtain the second delayed transmission duration.
- the sending device shortens the delay time of sending the missing data packet and obtains the second delayed sending duration
- the hopping algorithm period corresponding to the missing data packet may be shortened according to the predetermined period shortening rule, and the shortened after obtaining the shortened
- the turbulence algorithm period is calculated according to the turbulence algorithm and the shortened turbulence algorithm period, and the second delay transmission duration is obtained.
- the implementation process of shortening the transmission duration of the missing data packet by the sending device is similar to the implementation process of shortening the sending duration of the control packet by the receiving device, and details are not described herein again.
- Step 304 When the sending device starts the timer to reach the second delayed sending duration, the missing data packet is sent to the receiving device.
- the receiving device when the two-way acceleration is performed on the sending device side and the receiving device side, the receiving device sends the foregoing acceleration indication information in addition to the transmission of the control message (for example, adding the acceleration in the control packet) Identification) to speed up the transmission of control messages and missing data messages.
- the control message for example, adding the acceleration in the control packet
- the receiving device is the receiving node Node i and the sending device is the sending node Node j.
- the foregoing process may include the following steps:
- Step 1 The sender Node j sends a data message Seq1, and the receiving node Node i does not receive the data message Seq1 due to the reception collision;
- Step 2 The sender Node j sends a data message Seq2;
- Step 3 The receiving node Node i receives the data message Seq2, and determines that the data message Seq2 is an out-of-order message received by the message sequence number, and then accelerates the control message transmission. details as follows:
- Step 3.1 When the receiving node Node i receives the data packet Seq2, it determines that the data packet Seq2 is an out-of-order receiving message by comparing the sequence number of the last received data packet with the sequence number of the data packet Seq2 (data packet Seq2) The difference between the message sequence number minus the sequence number of the last received data message is greater than 1);
- Step 3.2 The receiving node Node i detects whether there is a data packet corresponding to the sequence number of the last received data packet and the sequence number of the data packet Seq2 in the local buffer;
- Step 3.3 The receiver Node i determines that any one of the data packets corresponding to the message sequence number between the sequence number of the last received data packet and the sequence number of the data packet Seq2 is missing in the local buffer. Accelerate the method of sending control messages, and accelerate the transmission of control messages;
- Step 4 The receiving node sends a control packet, and the control packet carries the "acceleration identification" indication information (that is, the acceleration indication information), and indicates that the neighbor node receives the control packet, and according to the indication, the missing data packet Seq1 Accelerate propagation;
- Step 5 After receiving the control packet, the sender Node j determines that the neighbor node is missing the data packet Seq1, and according to the indication information, adopts the foregoing method for accelerating the data packet, and accelerates the sending of the data packet Seq1 message;
- Step 6 The sender Node j accelerates the transmission of the data message Seq1;
- Step 7 The receiving node Node i receives the data packet Seq1 and completes the filling of the missing data packet.
- the receiving device after receiving the first data packet, the receiving device receives the first data packet and the sequence number of the first data packet is greater than the receiving device receives the first data packet.
- the sequence number of the second data packet, the sequence number between the packet sequence number of the first data packet and the packet sequence number of the second data packet is greater than 1, and the receiving device does not receive the packet sequence number in the first
- the receiving device can accelerate the acquisition of the missing data packet when the data packet between the data packet and the packet sequence number of the second data packet is used to shorten the transmission device to the receiving device to retransmit the missing device.
- the delay of data packets thereby improving the latency performance of the entire network.
- the receiving device accelerates the acquisition of the missing data packet.
- the reason that the first data packet received by the receiving device is an out-of-order message except that the receiving device does not receive the packet sent by the sending device before the packet collision occurs, and may be the sending device.
- the packet is sent in an out-of-order manner, so that even if no packet collision occurs on the receiving device side, the data packet received by the receiving device is out of order, because the sending device sends the packet out of order.
- the situation is relatively small, and usually does not have a large impact on the transmission delay of the message. Therefore, in the embodiment of the present application, the receiving device can determine whether the reason for receiving the out-of-order message is because the previous report occurred. Collision, if yes, perform the acceleration process shown in Figure 2 above.
- FIG. 4 is a flowchart of another message transmission control method provided by an exemplary embodiment of the present application.
- the method can be used in the system shown in FIG. 1.
- the message transmission control method can include:
- Step 401 The receiving device receives the first data packet.
- the sending device sends a first data packet, where the first data packet includes a sending sequence label, where the sending sequence label indicates that the first data packet is sent sequentially or out of order, and the receiving device receives the first Data message.
- the sending device may be the first node 120 or the second node 140 in the system shown in FIG. 1 above, and the receiving device may be the second node 140 in the system shown in FIG. 1 above.
- the sending device and the receiving device are in a neighbor relationship with each other in the message transmission system.
- the packet transmission network shown in FIG. 1 is an LLN network.
- the transmitting device sends a multicast protocol data packet to the LLN network to each neighbor device, including the receiving device, when the data packet needs to be sent. If the first data packet does not collide with the packet sent by the other neighboring device of the receiving device, the receiving device can successfully receive the first data packet.
- the sending device adds the sending sequence label to the first data packet as follows:
- the sending device When the message sequence number of the first data packet is greater than the target message sequence number, the sending device adds a first sending sequence label to the first data packet, where the first sending sequence label is used to indicate that the first data packet is a sending device The message sent in sequence;
- the sending device When the message sequence number of the first data packet is less than or equal to the target message sequence number, the sending device adds a second sending sequence label to the first data packet, where the second sending sequence label is used to indicate that the first data packet is sent.
- the packets sent by the device in sequence.
- the starting value of the target message sequence number is n, and n is a natural number greater than 0 or a positive integer.
- the sending device may further update the target message sequence number as needed to add the label, and the method for updating the target packet sequence number may be as follows:
- the sending device updates the value of the target packet sequence number to the first data packet after adding the first sending sequence label to the first data packet.
- the text number is increased by 1;
- the sending device adds the second transmission sequence label to the first data packet, and updates the value of the target message sequence number to the target message sequence number plus one.
- the sender when sending a data packet, the sender may print a label to indicate whether the sent message is sent sequentially or out of order.
- the sender prints the label as follows:
- the field "label” information is carried by the "rsv” reserved field information of the MPL Option of the existing data message.
- the transmitting device determines whether to print the label and whether to update WANT_SEND according to the currently transmitted message serial number SEND and the recorded WANT_SEND (ie, the target message serial number).
- SEND currently transmitted message serial number
- WANT_SEND the currently transmitted message serial number
- the addition of the tag information and the update of WANT_SEND are as shown in the example table 1 (wherein the tag information adding process shown in Table 1 is only an exemplary implementation process).
- Step 402 The receiving device detects whether the first data packet is an out-of-order message.
- step 402 For the execution process of step 402, reference may be made to the description in step 202 above, and details are not described herein again.
- Step 403 When the first data packet is an out-of-order message, the receiving device determines whether the first data packet is a packet that is sent in sequence.
- the sending sequence label carried in the first data packet may be further acquired to perform the chaos.
- the sequence detection is performed, wherein the sending sequence label is used to indicate whether the corresponding data packet is a packet that is sent in sequence, and the receiving device can detect, according to the sending sequence label carried in the first data packet, whether the first data packet is Messages sent in order.
- a data packet is a packet that is sent in sequence, and may be sent by the sending device in the order of the size of the packet when the data packet is sent.
- the sending device instructs the sending device to send the missing data packet according to a normal procedure. For example, the receiving device calculates the delay sending period of the control packet according to the turbulence algorithm period, starts the control plane timer, waits for the timer to expire, determines the sending control message according to the turbulence algorithm, and the sending device receives the control report. After the text, the data plane timer is started for the missing data message, and the timer expires, and the data packet is determined according to the turbulence algorithm. The receiving device receives the data packet and completes the completion of the missing data packet.
- the receiving device When the sending sequence label in the first data packet indicates that the first data packet is a packet that is sent in sequence, the receiving device receives the out-of-order packet because the data packet sent by the sending device is at the receiving device. In response to a collision, the receiving device may perform step 404.
- Step 404 When the first data packet is a packet sent in sequence, the receiving device accelerates acquiring the missing data packet.
- the execution process of the step 404 is similar to the step 403 in the embodiment shown in FIG. 2 above. That is, the receiving device can accelerate the acquisition of the missing data packet by shortening the sending duration of the control packet; and/or the receiving device can also send the acceleration indicating information to the sending device to instruct the sending device to accelerate the sending of the missing data packet. Accelerate the acquisition of the above missing data message.
- FIG. 5 is a flowchart of still another message transmission control method provided by an exemplary embodiment of the present application.
- the method can be used in the system shown in FIG. 1, as shown in FIG. 5, the method can include the following steps:
- Step 501 The sending device adds a sequence label to the first data packet.
- the sending device may add a sequence label to the first data packet according to the message sequence number of the first data packet and the target message sequence number, and update the target packet sequence number, wherein the sequence label is added and the target packet sequence number is updated.
- steps refer to the description under step 401 above.
- Step 502 The sending device sends a first data packet that includes a sequence label.
- Step 503 The sending device receives the acceleration indication information.
- the receiving device may send The acceleration indication information, the sending device receives the acceleration indication information, that is, the transmission of the missing data message may be accelerated according to the acceleration indication information, and the process of accelerating the transmission of the missing data message may be as shown in subsequent steps 504 and 505.
- Step 504 The sending device shortens the delay sending duration of the missing data packet according to the acceleration indication information, and obtains the second delayed sending duration.
- Step 505 When the sending device starts the timer to reach the second delayed sending duration, the missing data packet is sent to the receiving device.
- the specific implementation form of the acceleration indication information, and the implementation process of the transmission device for accelerating the transmission of the missing data message according to the acceleration indication information may refer to the descriptions in step 303 and step 304 in the embodiment shown in FIG. 3, where No longer.
- the receiving device is the receiving node Node i and the sending device is the sending node Node j.
- the foregoing process may include the following steps:
- Step 1 When sending the data packet, the sender Node j carries the label "label" field information in the data packet field by the method of printing the label to indicate whether the sending end is sent sequentially or out of order; The receiving node Node i does not receive the data message Seq1;
- Step 3 The receiving node Node i receives the data message Seq2, and determines that it is an out-of-order message; performs out-of-order reason detection, and if it is caused by a collision, accelerates the control message transmission. details as follows:
- Step 3.1 When receiving the data packet Seq2, the receiver Node i determines that the data packet Seq2 is an out-of-order message by comparing the sequence number of the last received message with the sequence number of the data packet Seq2.
- Step 3.2 The receiving node Node i detects whether there is a data packet corresponding to the sequence number of the last received data packet and the sequence number of the data packet Seq2 in the local buffer;
- Step 3.3 The receiving node Node i determines that any one of the data packets corresponding to the message sequence number between the sequence number of the last received data packet and the sequence number of the data packet Seq2 is missing in the local buffer. Sequence cause detection, reading the field "label" information carried by Seq2, knowing that the sender is sent sequentially, so that it can be determined that the out-of-order reception is caused by the collision;
- Step 3.4 The accelerated transmission of the control packet is performed by using the foregoing method for accelerating control packet transmission;
- Step 4 The receiving node sends a control message, and the control message carries the "acceleration identification" indication information, and indicates that the neighboring node receives the control message, and then accelerates the transmission according to the indication for the missing data message Seq1;
- Step 5 After receiving the control packet, the sender Node j determines that the neighbor node is missing the data packet Seq1, and according to the indication information, adopts the foregoing method for accelerating the data packet, and accelerates the sending of the data packet Seq1 message;
- Step 6 The sender Node j accelerates the transmission of the data message Seq1;
- Step 7 The receiving node Node i receives the data packet Seq1, and completes the missing packet.
- the receiving device after receiving the first data packet, the receiving device receives the first data packet and the sequence number of the first data packet is greater than the receiving device receives the first data packet.
- the sequence number of the second data packet the sequence number between the packet sequence number of the first data packet and the packet sequence number of the second data packet is greater than 1, and the receiving device does not receive the packet sequence number in the first
- any data packet between the message sequence number of the data packet and the packet sequence number of the second data packet indicates that the received data packet is an out-of-order message.
- the receiving device further performs out-of-order reason detection, specifically, determining, according to the label carried in the first data packet sent by the sending device, whether the first data packet is a packet sent in sequence, if the first data packet is in accordance with If the packets are sent in sequence, the receiving device can accelerate the acquisition of the missing data packets, so as to shorten the delay of the transmitting device to retransmit the missing data packets in the receiving device, thereby improving the delay performance of the entire network.
- FIG. 6 is a structural block diagram of a message transmission control apparatus according to an exemplary embodiment of the present application.
- the message transmission control apparatus may be implemented as part or all of a receiving apparatus by a combination of hardware circuits or software hardware, and the receiving The device may be the second node 140 in the system shown in Figure 1 above.
- the message transmission control apparatus may include: a receiving unit 601, a detecting unit 602, and an obtaining unit 603;
- the receiving unit 601 is configured to receive the first data packet.
- the detecting unit 602 is configured to detect whether the first data packet is a message received out of order
- the obtaining unit 603 is configured to: when the detection result is that the first data packet is an out-of-order message, accelerate to acquire the missing data packet, where the missing data packet is generated before the first data packet And the data packet that is not received by the receiving device.
- the detecting unit 602 is specifically configured to:
- the second data packet is a datagram received by the receiving device before receiving the first data packet Text
- the message sequence number of the first data packet is greater than the message sequence number of the second data packet
- the message sequence number of the first data packet is between the message sequence number of the second data packet and the message sequence number of the second data packet.
- the sequence number interval is greater than 1, and the receiving device does not receive any data message between the message sequence number of the first data packet and the message sequence number of the second data packet, Determining that the first data packet is a message received out of order.
- the device further includes:
- the determining unit 604 is configured to determine, before the obtaining unit 603 accelerates the acquisition of the missing data message, whether the first data packet is a message that is sent in sequence;
- the obtaining unit 603 is specifically configured to accelerate acquiring the missing data packet when the first data packet is a packet sent in sequence.
- the determining unit 604 is specifically configured to:
- the acquiring unit 603 is specifically configured to:
- control packet Shortening the delay time of the control packet, and obtaining the first delay transmission duration, where the control packet is used to instruct the sending device to send the missing data packet;
- the control packet is sent to the sending device.
- the acquiring unit 603 is specifically configured to:
- the acquiring unit 603 is specifically configured to:
- the acquiring unit 603 is specifically configured to:
- FIG. 7 is a structural block diagram of another message transmission control apparatus according to an exemplary embodiment of the present application.
- the message transmission control apparatus may be implemented as part or all of a transmission apparatus by a combination of hardware circuits or software and hardware.
- the transmitting device may be the first node 120 or the second node 140 in the system shown in FIG. 1 above.
- the message transmission control apparatus may include a transmitting unit 701, a receiving unit 702, and a shortening unit 703;
- the sending unit 701 is configured to send the first data packet.
- the receiving unit 702 is configured to receive acceleration indication information.
- the shortening unit 703 is configured to shorten the delayed transmission duration of the missing data packet according to the acceleration indication information, to obtain a second delayed transmission duration, where the missing data packet is generated before the first data packet, and Receiving data packets not received by the device;
- the sending unit 701 is further configured to: when the timer is started to reach the second delayed sending duration, send the missing data packet to the receiving device.
- the sending unit 701 is specifically configured to:
- the device further includes:
- Adding unit 704 before the sending unit sends the first data packet including the sending sequence label to the receiving device,
- the packet is a packet sent by the sending device in an out-of-order manner
- a second sending sequence label is added to the first data packet, where the second sending sequence label is used to indicate
- the first data packet is a packet sent by the sending device in sequence.
- the starting value of the target message sequence number is n, and n is a positive integer.
- the device further includes: an updating unit 705, configured to:
- the message transmission control apparatus when the message transmission control apparatus provided in the foregoing embodiment performs message transmission, only the division of each functional unit is described as an example. In actual applications, the functions may be assigned different functions according to needs. The unit is completed, dividing the internal structure of the device into different functional units to perform all or part of the functions described above.
- the packet transmission control apparatus and the method embodiment of the packet transmission control method provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
- FIG. 8 is a schematic structural diagram of a receiving device provided by an exemplary embodiment of the present application.
- the receiving device 80 can be the second node 140 in the system shown in Figure 1 above.
- the receiving device 80 can include a processor 81, a transmitter/receiver 82, and a memory 83.
- the processor 81 may include one or more processing units, which may be a central processing unit (CPU) or a network processor (NP).
- processing units may be a central processing unit (CPU) or a network processor (NP).
- CPU central processing unit
- NP network processor
- the transmitter/receiver 82 is configured to support wirelessly transmitting and receiving information between the receiving device 80 and the transmitting device in the above embodiment.
- the transmitter/receiver 82 may be configured to support at least one short-range wireless communication method (such as Antenna modules for wifi, Zigbee, and UWB, or cellular network communication methods (such as 2/3/4/5G).
- processor 81 can be coupled to memory 83 via a bus.
- the memory 83 can be used to store a software program that can be executed by the processor 81 to implement the method steps performed by the receiving device in the embodiment illustrated in Figure 2 or Figure 4.
- various types of service data or user data can be stored in the memory 83.
- FIG. 8 only shows a simplified design of the receiving device, which in practical applications may include any number of processors 81, transmitters/receivers 82, and memory 83.
- FIG. 9 is a schematic structural diagram of a transmitting device provided by an exemplary embodiment of the present application.
- the transmitting device 90 can be the first node 120 or the second node 140 in the system shown in FIG. 1 above.
- the transmitting device 90 can include a processor 91, a transmitter/receiver 92, and a memory 93.
- the processor 91 may include one or more processing units, which may be a central processing unit (CPU) or a network processor (NP).
- processing units may be a central processing unit (CPU) or a network processor (NP).
- CPU central processing unit
- NP network processor
- the transmitter/receiver 92 is configured to support wirelessly transmitting and receiving information between the transmitting device 90 and the receiving device in the above embodiment.
- the transmitter/receiver 92 may be configured to support at least one short-range wireless communication method (such as Antenna modules for wifi, Zigbee, and UWB, or cellular network communication methods (such as 2/3/4/5G).
- the processor 91 can be coupled to the memory 93 via a bus.
- the memory 93 can be used to store a software program that can be executed by the processor 91 to implement the method steps performed by the transmitting device in the embodiment illustrated in Figure 3 or Figure 5.
- various types of service data or user data can also be stored in the memory 93.
- FIG. 9 only shows a simplified design of the transmitting device, which in practical applications may include any number of processors 91, transmitters/receivers 92, and memory 93.
- the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
- software it may be implemented in whole or in part in the form of a computer program product comprising one or more computer instructions.
- the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present invention are generated in whole or in part.
- the computer can be a general purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a readable storage medium of a computer or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data
- the center transmits to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line) or wireless (eg, infrared, wireless, microwave, etc.).
- the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
- the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium, or a semiconductor medium (eg, a solid state hard disk) or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种报文传输控制方法,属于通信技术领域。该方法包括:接收设备接收第一数据报文,检测第一数据报文是否为乱序接收的报文;当第一数据报文是乱序接收的报文时,接收设备加速获取缺失数据报文,具体比如,接收设备在加速获取缺失数据报文时,确定第一数据报文是否为按照顺序发送的报文,若第一数据报文是按照顺序发送的报文,则确定第一数据报文的乱序接收是由报文碰撞导致的,此时执行加速获取缺失数据报文的步骤。通过该方案,接收设备在接收到第一数据报文后,若第一数据报文是乱序接收的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。
Description
相关申请的交叉引用
本公开要求于2017年12月27日递交的中国专利申请第201711446070.X号的优先权,在此全文引用上述中国专利申请公开的内容以作为本公开的一部分。
本申请涉及通信技术领域,特别涉及一种报文传输控制方法及装置。
低功耗有损网络(Low-Power and Lossy Networks,LLN)通常是指工作在无线环境中,且包含的节点大多是节点资源(比如能量资源、存储资源或者信道资源)和带宽受限的网络。
在LLN中,节点之间主要通过组播报文进行通信。其中,与传统的暴力洪泛式广播协议不同的是,LLN网络下的组播协议(Multicast Protocol for LLN,MPL)是一种基于受控洪泛的组播协议。
MPL组播有两种模式:主动式和被动式。在被动式MPL组播中,节点通过发送MPL控制报文向周围邻居节点通知其接收到的数据报文情况。邻居节点通过MPL控制报文来判断自己已经收到的MPL数据报文是否与邻居节点的相同,从而判定自己是否缺失MPL数据报文或者邻居节点是否缺失MPL数据报文。在相关技术中,MPL组播基于涓流算法来实现,具体的,LLN中的MPL报文包括控制报文和数据报文,对于LLN中的某个节点a,当该节点a接收到任意邻居节点发送的一个数据报文后,按照涓流算法计算出一个定时时长ta,同时启动定时器,在该定时器到达ta时,节点a依据涓流算法判定向所有的邻居节点发送控制报文,该控制报文可以指示该节点a已经接收到的数据报文。与节点a相邻的节点b接收到该控制报文后,通过比对自身缓存中已收到的数据报文和控制报文中所指示的节点a已经收到的数据报文,判定节点a是否缺少数据报文。如果缺失报文{Message_1,Message_2,…,Message_n},针对每一个缺失的报文Message_i,节点b按照涓流算法计算出一个定时时长tbi,同时启动定时器,在定时器定时到达tbi时,节点b依据涓流算法判定通过组播方式向包括节点a在内的各个邻居节点发送节点a中缺少的数据报文。
由于无线信道环境变化、信道干扰以及隐藏终端等因素的影响,LLN中的一个节点发送的数据报文到达邻居节点时,可能与其它同时到达该邻居节点的报文发生碰撞,从而导致该邻居节点无法解析该数据报文,此时需要邻居节点通过控制报文触发该节点重传该数据报文,由于控制报文和数据报文都需要定时器来触发,因此,上述重传过程会带来较大的报文传播时延,对LLN网络的时延性能影响较大。
发明内容
为了解决LLN网络中的数据报文重传过程会带来较大的报文传播时延,对LLN网络的时延性能影响较大的问题,本申请的实施例提供了一种报文传输控制方法及装置。
第一方面,提供了一种报文传输控制方法,该方法包括:
接收设备接收第一数据报文;所述接收设备检测所述第一数据报文是否为乱序接收的报文;当检测结果为所述第一数据报文是乱序接收的报文时,所述接收设备加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。
通过上述第一方面所示的方案,接收设备在接收到第一数据报文后,若第一数据报文是乱序接收的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。
在一种可能的实现方式中,所述接收设备检测所述第一数据报文是否为乱序接收的报文,包括:
所述接收设备获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,所述接收设备确定所述第一数据报文是乱序接收的报文。
通过上述方案,接收设备在接收到第一数据报文之后,若第一数据报文的序号大于前一个接收到的数据报文的序号,且第一数据报文和前一个接收到的数据报文之间存在缺失数据报文时,接收设备才确定第一数据报文是乱序接收的报文,提供了一种检测第一数据报文是乱序接收的实现方式。
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文之前,还包括:
所述接收设备确定所述第一数据报文是否为按照顺序发送的报文;当所述第一数据报文是按照顺序发送的报文时,所述接收设备加速获取缺失数据报文。
通过上述方案,接收设备在确定第一数据报文是乱序接收的报文之后,还会进一步根据第一数据报文是否为按照顺序发送的报文,来确定该第一数据报文接收乱序的原因是否为报文碰撞导致的接收乱序,只有在第一数据报文接收乱序的原因是报文碰撞导致的接收乱序时,才执行加速步骤,避免不必要的加速过程。
在一种可能的实现方式中,所述接收设备确定所述第一数据报文是否为按照顺序发送的报文,包括:
所述接收设备获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;所述接收设备根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。
在上述方案中,接收设备通过第一数据报文中携带的发送顺序标签来检测第一数据报文是否为按照顺序发送的报文,提供了一种检测报文是否按照顺序发送的实现方式。
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文,包括:
所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;所述接收设备启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。
在上述方案中,接收设备通过缩短控制报文的延时发送时长来加速控制报文的发送,提供一种加速获取缺失数据报文的实现方式。
在一种可能的实现方式中,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:
所述接收设备根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长,所述接收设备按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。
上述方案提供一种对按照涓流算法计算出的延时发送时长进行缩短,以获得缩短后的延时发送时长的实现方式。
在一种可能的实现方式中,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:
所述接收设备按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期;所述接收设备根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。
上述方案提供一种对涓流算法周期进行缩短,以获得缩短后的延时发送时长的实现方式。
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文,包括:
所述接收设备向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。
在上述方案中,接收设备通过指示发送设备缩短缺失数据报文的延时发送时长来加速缩短缺失数据报文的发送,提供一种加速获取缺失数据报文的实现方式。
第二方面,提供了一种报文传输控制方法,所述方法包括:
发送设备发送第一数据报文;所述发送设备接收加速指示信息;所述发送设备根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;所述发送设备启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。
通过上述第二方面所示的方案,接收设备在发送第二数据报文之后,若接收到加速指示信息,则通过缩短缺失数据报文的延时发送时长来加速缩短缺失数据报文的发送,从而缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,提高整个网络的时延性能。
在一种可能的实现方式中,所述发送设备发送第一数据报文,包括:
所述发送设备发送包含发送顺序标签的所述第一数据报文。
在一种可能的实现方式中,所述发送设备发送包含发送顺序标签的所述第一数据报文之前,还包括:
当所述第一数据报文的报文序号大于目标报文序号时,所述发送设备在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,所述发送设备在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。
在一种可能的实现方式中,所述目标报文序号的起始值为n,n为正整数,所述方法还 包括:
若所述第一数据报文的报文序号大于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;若所述第一数据报文的报文序号等于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。
第三方面,提供了一种报文传输控制装置,该装置具有实现上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的单元。
第四方面,提供了一种报文传输控制装置,该装置具有实现上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的单元。
第五方面,提供了一种接收设备,该接收设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述接收设备实现如上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法。
第六方面,提供了一种发送设备,该发送设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述发送设备实现如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,接收设备中的处理器执行所述指令使得所述接收设备实现如上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,发送设备中的处理器执行所述指令使得所述发送设备实现如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。
通过上述各个方面所示的方案,发送设备发送第一数据报文后,若接收设备接收到该第一数据报文且检测出该第一数据报文是乱序接收的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。
图1是本申请一个实施例所涉及的报文传输***的架构图;
图2是本申请一个示例性实施例提供的报文传输控制方法的流程图;
图3是本申请一个示例性实施例提供的报文传输控制方法的流程图;
图4是本申请一个示例性实施例提供的另一种报文传输控制方法的流程图;
图5是本申请一个示例性实施例提供的又一种报文传输控制方法的流程图;
图6是本申请一个示例性实施例提供的一种报文传输控制装置的结构方框图;
图7是本申请一个示例性实施例提供的另一种报文传输控制装置的结构方框图;
图8是本申请一个示例性实施例提供的接收设备的结构示意图;
图9是本申请一个示例性实施例提供的发送设备的结构示意图。
图1是本申请实施例所涉及的报文传输***的架构图。该报文传输***可以是低功耗有损网络(Low-Power and Lossy Networks,LLN)***。
如图1所示,该报文传输***可以包括第一节点120以及若干个第二节点140。其中,第一节点120也称为报文传输***中的种子(seed)节点,第一节点120可以在报文传输***中生成和发送组播报文。
若干个第二节点140可以称为报文传输***中的转发节点(转发节点也可以称为forwarder节点),第二节点140可以在报文传输***中接收和转发第一节点120生成的组播报文。
比如,以报文传输***为LLN网络***为例,在LLN网络中,各个网络节点通常工作在无线环境下,链路稳定性无法保证,有较高误码率,并且,网络中的节点通常是能量受限的低功耗设备。基于这样的定义,现实场景中诸如无线传感器网络(WSN,Wireless Sensor Network)、物联网(IoT,Internet of Things)以及M2M网络(Machine to Machine)等都属于LLN网络。本申请实施例中的报文可以应用在路灯控制、代码更新以及智能抄表等场景下。
具体比如,以LLN网络是基于IPv6的无线传感器网络为例,无线传感器网络中的无线传感器节点(sensor)可以进行网格Mesh组网,作为转发节点充当路由器向附近节点转发信息,无线传感器网络中的边缘路由器(Border Router,BR)作为种子节点与Internet相连接。
或者,以LLN网络是物联网应用中的路灯控制网络为例,路灯上装有的感知节点等智能设备作为转发节点,智能设备之间可以进行Mesh组网,并与物联网关相连,互联网关作为种子节点与控制设备相连接。
其中,上述第一节点120以及第二节点140具体的实际产品形态可以是具备路由功能 的节点,比如路由器,交换机等,例如IoT网关及网关下的IoT设备、路灯控制器和智慧灯杆等智能设备。
请参考图2,其示出了本申请一个示例性实施例提供的报文传输控制方法的流程图。该方法可以用于图1所示的***中,如图2所示,该报文传输控制方法可以包括:
步骤201,接收设备接收第一数据报文。
其中,发送设备可以是上述图1所示***中的第一节点120或者第二节点140,而接收设备可以是上述图1所示***中的第二节点140。发送设备与接收设备在报文传输***中互为邻居关系。
以上述图1所示的报文传输网络是LLN网络为例,发送设备在需要发送数据报文时,向包括接收设备在内的各个邻居设备发送LLN网络下的组播协议(Multicast Protocol for LLN,MPL)数据报文,若该第一数据报文在接收设备侧没有与接收设备的其它邻居设备发送的报文发生碰撞,则接收设备会顺利接收到该第一数据报文。
步骤202,接收设备检测第一数据报文是否为乱序接收的报文。
在本申请实施例中,接收设备可以结合已接收到的数据报文的报文序号以及缺失数据报文的报文序号来检测第一数据报文是否为乱序接收的报文,其中,缺失数据报文可以是在第一数据报文之前生成,且接收设备未接收到的数据报文。
LLN中的数据报文的报文序号可以按照对应的报文的生成顺序从小到大进行编号,在本申请实施例中,缺失数据报文在第一数据报文之前生成,可以是指缺失数据报文的报文序号小于第一数据报文的报文序号。
在检测第一数据报文是否为乱序接收的报文时,接收设备可以获取第一数据报文的报文序号与第二数据报文的报文序号;其中,该第二数据报文是接收设备在接收第一数据报文之前,最近接收到的数据报文,或者说,该第一数据报文为紧随第二数据报文之后接收到的数据报文;当第一数据报文的报文序号大于第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且缺失数据报文的报文序号处于第一数据报文的报文序号与所述第二数据报文的报文序号之间时,该接收设备确定第一数据报文是乱序接收的报文。
在本申请实施例中,当前接收到的数据报文的序号减去接收到的前一个数据报文的序号的值大于1时,可以认为在接收设备当前接收的数据报文,与前一个数据报文之间,还存在至少一个数据报文。
在实际检测过程中,接收设备可以将第一数据报文的序号(new_sequence)与前一个接收到的数据报文的序号(last_sequence)进行比对,若new_sequence-last_sequence>1,则进一步检测是否已经接收到处于该第一数据报文和第二数据报文之间的数据报文,如果还没有接收到处于该第一数据报文和第二数据报文之间的任意数据报文,则接收设备可以确定第一数据报文是乱序接收的报文。
在本申请实施例中,接收设备可以将第一数据报文的报文序号与第二数据报文的报文序号与接收设备的缓存(buffer)中的各个数据报文的报文序号进行比对,以确定缓存中是否存在处于该第一数据报文和第二数据报文之间的数据报文,若处于该第一数据报文和第二数据报文之间的数据报文中的任意一个数据报文不存在于接收设备的缓存中,则可以确 定第一数据报文是乱序接收的报文。
具体比如,假设接收设备最近一次接收到的数据报文(即第一数据报文)为数据报文6(报文序号为6),而接收设备最近接收到的倒数第二个数据报文(即第二数据报文)为数据报文3(报文序号为3),则数据报文6与数据报文3的报文序号之间的差值为3,则说明最近一次接收到的数据报文是乱序接收的报文,之后,接收设备进一步确认缓存中是否已经存在数据报文4和数据报文5,若缓存中不存在数据报文4和数据报文5,或者,缓存中缺少数据报文4和数据报文5中的任意一个,则可以认为第一数据报文是乱序接收的报文。
在LLN网络中,由于接收设备可能存在多个邻居设备,且每个邻居设备都可能发送同一数据报文,且在发送数据报文时,可能会对同一数据报文进行多次发送,因此,接收设备在接收到第一数据报文之后,首先可以检测缓存中是否已经存在该第一数据报文,若缓存中未存储该第一数据报文,则可以认为接收设备是首次接收到第一数据报文,此时接收设备执行上述步骤202;反之,若缓存中已经存在该第一数据报文,则认为接收设备不是首次接收到第一数据报文,此时接收设备将第一数据报文丢弃,且不执行该步骤202,避免重复执行不必要的检测步骤。
步骤203,当第一数据报文是乱序接收的报文时,接收设备加速获取缺失数据报文。
其中,该缺失数据报文是在第一数据报文之前生成,且接收设备未接收到的数据报文。
在本申请实施例中,当第一数据报文是乱序接收的报文时,可以认为在第一数据报文之前存在未被接收设备接收到的,且属于接收设备的缺失数据报文,此时,接收设备可以加速获取缺失数据报文。
以上述图1所示的报文传输网络是LLN网络为例,当接收设备确定第一数据报文是乱序接收的报文(即存在缺失数据报文)时,接收设备可以定时一段时间后,发送控制报文,通过该控制报文指示发送设备发送该接收设备中的缺失数据报文,发送设备接收到该控制报文后,也定时一段时间后,向接收设备发送该缺失数据报文。
在本申请实施例中,接收设备加速获取缺失数据报文时,可以只在接收设备侧进行加速,也可以只在发送设备侧进行加速,或者,也可以在发送设备侧和接收设备侧进行双向加速。
其中,在接收设备侧进行加速时,接收设备可以缩短控制报文的延时发送时长,获得第一延时发送时长,其中,该控制报文用于指示发送设备发送上述缺失数据报文;启动定时器定时到达第一延时发送时长时,向发送设备发送该控制报文。
在本申请实施例中,在接收设备侧进行加速时,接收设备可以对发送控制报文之前的定时时长进行缩短,以加快控制报文的发送,从而达到加速获取缺失数据报文的目的。
在一种可能的实现方式中,若控制报文的延时发送时长是基于涓流算法确定的时长,则接收设备在缩短控制报文的延时发送时长,获得第一延时发送时长时,可以根据涓流算法以及控制报文对应的涓流算法周期,计算控制报文对应的延时发送时长,并按照预定的时长缩短规则对控制报文对应的延时发送时长进行缩短,获得第一延时发送时长。
以LLN网络为例,接收设备接收到第一数据报文,且确定第一数据报文是乱序接收的报文时,可以首先按照涓流算法计算控制报文的延时发送时长,然后再按照预定的时长缩短规则对控制报文的延时发送时长进行缩短,以获得上述第一延时发送时长。
其中,上述时长缩短规则可以由开发人员或者维护人员预先设定,比如,该时长缩短规则可以是按照一定的百分比(比如50%、30%或者20%等)对控制报文的延时发送时长进行缩短。具体的,假设时长缩短规则为按照50%的百分比进行缩短,如果按照涓流算法计算出的控制报文的延时发送时长为50s,则缩短获得的第一延时发送时长为25s。
在另一种可能的实现方式中,接收设备缩短控制报文的延时发送时长,获得第一延时发送时长时,可以按照预定的周期缩短规则对控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期,并根据涓流算法以及缩短后的涓流算法周期,计算获得第一延时发送时长。
以LLN为例,LLN中的每个数据报文或者控制报文对应有各自的涓流算法周期,通常情况下,接收设备在确定数据报文或者控制报文的延时发送时长时,可以首选确定报文对应的涓流算法周期,并在涓流算法周期的后半段随机确定一个时间点作为报文的发送时间点,该发送时间点与对应的涓流算法周期的起始时间点之间的时长就是报文的延时发送时长。在本申请实施例所示的方案中,接收设备在缩短控制报文的延时发送时长时,可以对控制报文对应的涓流算法周期进行缩短,即接收设备接收到第一数据报文,且确定加速条件成立时,可以首先确定控制报文对应的涓流算法周期,并按照预定的周期缩短规则对控制报文对应的涓流算法周期进行缩短,再按照涓流算法,在缩短后的涓流算法周期的后半段随机确定一个时间点作为控制报文的发送时间点,并将确定的发送时间点和缩短后的涓流算法周期的起始时间点之间的时长确定为第一延时发送时长。
在发送设备侧进行加速时,接收设备可以向发送设备发送加速指示信息,该加速指示信息用于指示发送设备缩短缺失数据报文的延时发送时长。
在一种可能的实现方式中,上述加速指示信息可以通过控制报文进行发送,比如,接收设备可以在控制报文中添加一个加速标识,该加速标识即为上述加速指示信息,该加速标识可以指示发送设备接收到该控制报文后,加快发送缺失数据报文。其中,发送设备在加快发送缺失数据报文时,可以缩短缺失数据报文的延时发送时长,获得第二延时发送时长,并在启动定时器定时到达所述第二延时发送时长时,向接收设备发送缺失数据报文。或者,在另一种可能的实现方式中,上述加速指示信息也可以通过控制报文之外的方式进行发送。
请参考图3,其示出了本申请一个示例性实施例提供的报文传输控制方法的流程图。该方法可以用于图1所示的***中,如图3所示,该方法可以包括如下步骤:
步骤301,发送设备发送第一数据报文。
发送设备发送第一数据报文的过程可以参考上述步骤201下的描述,此处不再赘述。
步骤302,发送设备接收加速指示信息。
其中,若接收设备检测到该第一数据报文是乱序接收的数据报文,则可以发送该加速指示信息,发送设备接收该加速指示信息,之后,发送设备即可以根据加速指示信息加速发送缺失数据报文,该加速发送缺失数据报文的过程可以如后续步骤303和步骤304所示。
步骤303,发送设备根据该加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长。
在一种可能的实现方式中,发送设备在缩短缺失数据报文的延时发送时长,获得第二延时发送时长时,可以根据涓流算法以及缺失数据报文对应的涓流算法周期,计算缺失数 据报文对应的延时发送时长,并按照预定的时长缩短规则对缺失数据报文对应的延时发送时长进行缩短,获得第二延时发送时长。
或者,发送设备在缩短缺失数据报文的延时发送时长,获得第二延时发送时长时,也可以按照预定的周期缩短规则对缺失数据报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期,根据涓流算法以及缩短后的涓流算法周期,计算获得第二延时发送时长。
其中,发送设备缩短缺失数据报文的延时发送时长的实现过程,与接收设备缩短控制报文的延时发送时长的实现过程类似,此处不再赘述。
步骤304,发送设备启动定时器定时到达第二延时发送时长时,向接收设备发送该缺失数据报文。
在一种可能的实现方式中,在发送设备侧和接收设备侧进行双向加速时,接收设备除了加快发送控制报文之外,还发送上述加速指示信息(比如,在控制报文中添加上述加速标识),从而对控制报文和缺失数据报文的发送都进行加速。
比如,以接收设备为接收方节点Node i,发送设备为发送方Node j为例,上述过程可以包括如下步骤:
步骤1:发送方Node j发送数据报文Seq1,由于接收碰撞,接收方Node i未收到数据报文Seq1;
步骤2:发送方Node j发送数据报文Seq2;
步骤3:接收方Node i接收数据报文Seq2,通过报文序号判定数据报文Seq2是乱序接收的报文,则加速控制报文发送。具体如下:
步骤3.1接收方Node i收到数据报文Seq2时,通过比较上一次接收的数据报文的序号和数据报文Seq2的序号,判定数据报文Seq2是乱序接收报文(数据报文Seq2的报文序号减去上一次接收的数据报文的序号获得的差值大于1);
步骤3.2接收方Node i检测本地buffer中是否存在上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文;
步骤3.3接收方Node i确定本地buffer中缺失上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文中的任意一个数据报文时,通过前述加速控制报文发送的方法,进行控制报文的加速发送;
步骤4:接收方Node i发送控制报文,且控制报文携带“加速标识”指示信息(即上述加速指示信息),指示邻居节点收到控制报文后,根据指示针对缺失的数据报文Seq1进行加速传播;
步骤5:发送方Node j收到控制报文之后,判定邻居节点缺失数据报文Seq1,且根据指示信息,采取前述加速数据报文的方法,进行数据报文Seq1报文的加速发送;
步骤6:发送方Node j加速发送数据报文Seq1;
步骤7:接收方Node i收到数据报文Seq1,完成缺失数据报文的补齐。
综上所述,本申请实施例所示的方案,接收设备在接收到第一数据报文后,若第一数据报文的报文序号大于接收设备在接收第一数据报文之前最近接收到的第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且接收设备未接收到报文序号处于第一数据报文的报文序号与第二数据报文的报文序号之间的任意数据报文时,接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传 接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。
在上述图2所示的实施例中,在接收到第一数据报文,并检测出第一数据报文是乱序接收的报文之后,接收设备即加速获取缺失数据报文,在实际应用中,接收设备接收到的第一数据报文是乱序接收的报文的原因,除了因为报文碰撞原因导致接收设备之前未接收到发送设备发送的报文之外,还有可能是发送设备在发送报文时,即通过乱序的方式进行发送,这样即便在接收设备侧未发生报文碰撞,接收设备接收到的数据报文也会是乱序的,由于发送设备乱序发送报文的情况比较少,且通常不会对报文的传输时延造成较大的影响,因此,在本申请实施例中,接收设备可以判断接收到乱序报文的原因是否是因为之前发生了报文碰撞,如果是,则执行上述图2所示的加速过程。
请参考图4,其示出了本申请一个示例性实施例提供的另一种报文传输控制方法的流程图。该方法可以用于图1所示的***中,如图4所示,该报文传输控制方法可以包括:
步骤401,接收设备接收第一数据报文。
具体地,发送设备发送第一数据报文,该第一数据报文中包含发送顺序标签,该发送顺序标签指示所述第一数据报文是顺序发送或者乱序发送,接收设备接收该第一数据报文。
其中,发送设备可以是上述图1所示***中的第一节点120或者第二节点140,而接收设备可以是上述图1所示***中的第二节点140。发送设备与接收设备在报文传输***中互为邻居关系。
以上述图1所示的报文传输网络是LLN网络为例,发送设备在需要发送数据报文时,向包括接收设备在内的各个邻居设备发送LLN网络下的组播协议数据报文,若该第一数据报文在接收设备侧没有与接收设备的其它邻居设备发送的报文发生碰撞,则接收设备会顺利接收到该第一数据报文。
在发送第一数据报文之前,发送设备在第一数据报文中添加发送顺序标签的过程可以如下:
当第一数据报文的报文序号大于目标报文序号时,发送设备在第一数据报文中添加第一发送顺序标签,第一发送顺序标签用于指示第一数据报文是发送设备乱序发送的报文;
当第一数据报文的报文序号小于或者等于目标报文序号时,发送设备在第一数据报文中添加第二发送顺序标签,第二发送顺序标签用于指示第一数据报文是发送设备顺序发送的报文。
在一种可能的实现方式中,目标报文序号的起始值为n,n为大于0的自然数或者叫正整数。在添加发送顺序标签之后,发送设备还可以根据需要,对上述目标报文序号进行更新,以便下一次标签添加,其中更新目标报文序号的方式可以如下:
若第一数据报文的报文序号大于目标报文序号,则发送设备在第一数据报文中添加第一发送顺序标签之后,将目标报文序号的值更新为第一数据报文的报文序号加1;
若第一数据报文的报文序号等于目标报文序号,则发送设备在第一数据报文中添加第二发送顺序标签之后,将目标报文序号的值更新为目标报文序号加1。
在实际应用中,发送方在发送数据报文时,可以通过打印标签来指示该次发送报文是顺序发送还是乱序发送。发送方在发送数据报文时,打印标签的方法如下:
利用现有的数据报文的MPL Option的“rsv”保留字段信息来携带字段“label”信息。
在发送第一数据报文之前,发送设备根据当前要发送的报文序号SEND和记录的WANT_SEND(即上述目标报文序号),通过比较,决定是否打印标签,以及是否更新WANT_SEND。判定原则如下:
若SEND>WANT_SEND,则报文“label”字段信息值为1,表明发送端是发送乱序的;且更新WANT_SEND值,WANT_SEND=SEND+1;
若SEND<WANT_SEND,报文“label”字段信息值为0,表明发送端是顺序发送;且不更新WANT_SEND值;
若SEND=WANT_SEND,则报文“label”字段信息值为0,表明发送端是顺序发送;且更新WANT_SEND=WANT_SEND+1。
其伪代码如下:
if SEND>WANT_SEND
打印标签,“lable”=1//表明发送端发送乱序
更新WANT_SEND=SEND+1
else if SEND<WANT_SEND
不打印标签,“lable”=0
不更新WANT_SEND
else if SEND=WANT_SEND
不打印标签,“lable”=0
更新WANT_SEND=WANT_SEND+1
具体的,标签信息的添加以及WANT_SEND的更新如示例表1所示(其中,表1所示的标签信息添加过程仅作为一个示例性的实现过程)。
表1
表1所示的发送过程如下:
发送方发送初始报文序号Seq1即SEND=1,更新WANT_SEND=2,Label=“否”;
发送方在发送报文序号Seq2和Seq3时,因为是顺序发送,根据上述打印标签方法,WANT_SEND依次更新为3和4,Label=“否”;
由于定时器原因,报文序号Seq5,6,7的定时器先于报文序号Seq4的定时器到期,报文序号Seq5,6,7的定时器是顺序到期。因此报文序号Seq5先发送。此是一个发送乱序的报文,根据上述打印标签方法,WANT_SEND更新为6,Label=“是”;
发送方在发送报文序号Seq6和Seq7时,根据上述打印标签方法,WANT_SEND依次 更新为7和8,Label=“否”;
发送方在发送报文序号Seq4时,根据上述打印标签方法,WANT_SEND不更新,Label=“否”。
步骤402,接收设备检测第一数据报文是否为乱序接收的报文。
在步骤402的执行过程可以参考上述步骤202下的描述,此处不再赘述。
步骤403,当第一数据报文是乱序接收的报文时,接收设备确定第一数据报文是否为按照顺序发送的报文。
在本申请实施例中,当接收设备接收到第一数据报文,且第一数据报文为乱序接收的报文时,可以进一步获取第一数据报文中携带的发送顺序标签来进行乱序原因检测,其中,该发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文,接收设备可以根据第一数据报文中携带的发送顺序标签检测第一数据报文是否为按照顺序发送的报文。在本申请实施例中,一个数据报文是按照顺序发送的报文,可以是指发送设备在发送该数据报文时,按照报文序号的大小顺序发送该数据报文。
如果发送顺序标签指示该第一数据报文是发送设备侧乱序发送的报文,则按照正常流程指示发送设备发送缺失数据报文。具体比如,接收设备按照涓流算法周期计算控制报文的延时发送周期,并启动控制面定时器,等待定时器到期,依据涓流算法判定发送控制报文,发送设备在收到控制报文后,针对缺失数据报文,启动数据面定时器,等待定时器到期,依据涓流算法判定发送数据报文。接收设备收到数据报文,完成缺失数据报文的补齐。
当第一数据报文中的发送顺序标签指示该第一数据报文是按照顺序发送的报文时,则说明接收设备接收到乱序报文是因为发送设备之前发送的数据报文在接收设备出发生碰撞导致的,此时,接收设备可以执行步骤404。
步骤404,当第一数据报文是按照顺序发送的报文时,接收设备加速获取缺失数据报文。
其中,该步骤404的执行过程与上述图2所示实施例中的步骤403类似。即接收设备通过缩短控制报文的发送时长来实现加速获取上述缺失数据报文;和/或,接收设备也可以通过向发送设备发送加速指示信息来指示发送设备加速发送缺失数据报文,从而实现加速获取上述缺失数据报文。
请参考图5,其示出了本申请一个示例性实施例提供的又一种报文传输控制方法的流程图。该方法可以用于图1所示的***中,如图5所示,该方法可以包括如下步骤:
步骤501,发送设备在第一数据报文中添加顺序标签。
发送设备可以根据第一数据报文的报文序号以及目标报文序号在第一数据报文中添加顺序标签,并对目标报文序号进行更新,其中,添加顺序标签以及更新目标报文序号的步骤可以参考上述步骤401下的描述。
步骤502,发送设备发送包含顺序标签的第一数据报文。
步骤503,发送设备接收加速指示信息。
其中,若接收设备检测到该第一数据报文是乱序接收的数据报文,且根据第一数据报文中携带的顺序标签确定该第一数据报文是按照顺序发送的,则可以发送加速指示信息,发送设备接收该加速指示信息,即可以根据加速指示信息加速发送缺失数据报文,该加速发送缺失数据报文的过程可以如后续步骤504和步骤505所示。
步骤504,发送设备根据该加速指示信息缩短缺失数据报文的延时发送时长,获得第二 延时发送时长。
步骤505,发送设备启动定时器定时到达第二延时发送时长时,向接收设备发送该缺失数据报文。
其中,该加速指示信息的具体实现形式,以及发送设备根据加速指示信息加速发送缺失数据报文的实现过程,可以参考图3所示的实施例中的步骤303和步骤304下的描述,此处不再赘述。
比如,以接收设备为接收方节点Node i,发送设备为发送方Node j为例,上述过程可以包括如下步骤:
步骤1:发送方Node j在发送数据报文时,通过前述打印标签的方法,在数据报文字段中携带标签“label”字段信息,以指示发送端是顺序发送还是乱序发送;由于接收碰撞,接收方Node i未收到数据报文Seq1;
步骤2:发送方Node j发送数据报文Seq2,并打印标签”label”=0,表明发送端是顺序发送;
步骤3:接收方Node i接收数据报文Seq2,判定是乱序报文;进行乱序原因检测,若是碰撞造成的,则加速控制报文发送。具体如下:
步骤3.1接收方Node i收到数据报文Seq2时,通过比较上一次接收报文的序号和数据报文Seq2的序号,判定数据报文Seq2是乱序接收的报文;
步骤3.2接收方Node i检测本地buffer中是否存在上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文;
步骤3.3接收方Node i确定本地buffer中缺失上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文中的任意一个数据报文时,进行乱序原因检测,读Seq2携带的字段“label”信息,得知发送方是顺序发送的,从而可以判定乱序接收是由于碰撞造成的;
步骤3.4通过前述加速控制报文发送的方法,进行控制报文的加速发送;
步骤4:接收方Node i发送控制报文,且控制报文携带“加速标识”指示信息,指示邻居节点收到控制报文后,根据指示针对缺失的数据报文Seq1进行加速传播;
步骤5:发送方Node j收到控制报文之后,判定邻居节点缺失数据报文Seq1,且根据指示信息,采取前述加速数据报文的方法,进行数据报文Seq1报文的加速发送;
步骤6:发送方Node j加速发送数据报文Seq1;
步骤7:接收方Node i收到数据报文Seq1,完成缺失报文的补齐。
综上所述,本申请实施例所示的方案,接收设备在接收到第一数据报文后,若第一数据报文的报文序号大于接收设备在接收第一数据报文之前最近接收到的第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且接收设备未接收到报文序号处于第一数据报文的报文序号与第二数据报文的报文序号之间的任意数据报文时,说明接收的数据报文为乱序接收的报文。接收设备进一步进行乱序原因检测,具体为根据发送设备发送的第一数据报文中携带的标签来判断该第一数据报文是否为按照顺序发送的报文,若第一数据报文是按照顺序发送的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。
图6是本申请的一个示例性实施例提供的一种报文传输控制装置的结构方框图,该报文传输控制装置可以通过硬件电路或者软件硬件的结合实现成为接收设备的部分或者全部,该接收设备可以是上述图1所示***中的第二节点140。该报文传输控制装置可以包括:接收单元601、检测单元602以及获取单元603;
其中,接收单元601,用于接收第一数据报文;
检测单元602,用于检测所述第一数据报文是否为乱序接收的报文;
获取单元603,用于当检测结果为所述第一数据报文是乱序接收的报文时,加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。
在一种可能的实现方式中,所述检测单元602,具体用于,
获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;
当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,确定所述第一数据报文是乱序接收的报文。
在一种可能的实现方式中,所述装置还包括:
确定单元604,用于在所述获取单元603加速获取缺失数据报文之前,确定所述第一数据报文是否为按照顺序发送的报文;
所述获取单元603,具体用于当所述第一数据报文是按照顺序发送的报文时,加速获取缺失数据报文。
在一种可能的实现方式中,所述确定单元604,具体用于,
获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;
根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。
在一种可能的实现方式中,所述获取单元603,具体用于,
缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;
启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。
在一种可能的实现方式中,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元603,具体用于,
根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长,按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。
在一种可能的实现方式中,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元603,具体用于,
按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后 的涓流算法周期;
根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。
在一种可能的实现方式中,所述获取单元603,具体用于,
向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。
上述各个单元执行的功能可以参考上述图2或图4所示实施例中由接收设备执行的步骤下的描述,此处不再赘述。
图7是本申请的一个示例性实施例提供的另一种报文传输控制装置的结构方框图,该报文传输控制装置可以通过硬件电路或者软件硬件的结合实现成为发送设备的部分或者全部,该发送设备可以是上述图1所示***中的第一节点120或者第二节点140。该报文传输控制装置可以包括发送单元701、接收单元702以及缩短单元703;
发送单元701,用于发送第一数据报文;
接收单元702,用于接收加速指示信息;
缩短单元703,用于根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;
所述发送单元701,还用于启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。
在一种可能的实现方式中,所述发送单元701,具体用于,
发送包含发送顺序标签的所述第一数据报文。
在一种可能的实现方式中,所述装置还包括:
添加单元704,用于在所述发送单元向所述接收设备发送包含发送顺序标签的所述第一数据报文之前,
当所述第一数据报文的报文序号大于目标报文序号时,在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;
当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。
在一种可能的实现方式中,所述目标报文序号的起始值为n,n为正整数,所述装置还包括:更新单元705,用于
若所述第一数据报文的报文序号大于所述目标报文序号,则在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;
若所述第一数据报文的报文序号等于所述目标报文序号,则在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。
上述各个单元执行的功能可以参考上述图3或图5所示实施例中由发送设备执行的步骤下的描述,此处不再赘述。
需要说明的是:上述实施例提供的报文传输控制装置在进行报文传输时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的报文传输控制装置与报文传输控制方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本申请的一个示例性实施例提供的接收设备的结构示意图。该接收设备80可以是上述图1所示***中的第二节点140。
该接收设备80可以包括:处理器81、发射器/接收器82和存储器83。
处理器81可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:central processing unit,CPU)或者网络处理器(英文:network processor,NP)等。
发射器/接收器82用于支持接收设备80与上述实施例中的发送设备之间通过无线方式收发信息,例如,该发射器/接收器82可以是支持至少一种短距离无线通信方式(比如wifi、紫蜂以及超宽带等)或者蜂窝网络通信方式(比如2/3/4/5G)的天线模组。
在其他的实施方式中,处理器81可以通过总线与存储器83相连。存储器83可用于存储软件程序,该软件程序可以由处理器81执行,以实现图2或图4所示的实施例中由接收设备执行的方法步骤。此外,该存储器83中还可以存储各类业务数据或者用户数据。
可以理解的是,图8仅仅示出了接收设备的简化设计,在实际应用中,所述接收设备可以包含任意数量的处理器81、发射器/接收器82以及存储器83。
请参考图9,其示出了本申请的一个示例性实施例提供的发送设备的结构示意图。该发送设备90可以是上述图1所示***中的第一节点120或者第二节点140。
该发送设备90可以包括:处理器91、发射器/接收器92和存储器93。
处理器91可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:central processing unit,CPU)或者网络处理器(英文:network processor,NP)等。
发射器/接收器92用于支持发送设备90与上述实施例中的接收设备之间通过无线方式收发信息,例如,该发射器/接收器92可以是支持至少一种短距离无线通信方式(比如wifi、紫蜂以及超宽带等)或者蜂窝网络通信方式(比如2/3/4/5G)的天线模组。
在其他的实施方式中,处理器91可以通过总线与存储器93相连。存储器93可用于存储软件程序,该软件程序可以由处理器91执行,以实现图3或图5所示的实施例中由发送设备执行的方法步骤。此外,该存储器93中还可以存储各类业务数据或者用户数据。
可以理解的是,图9仅仅示出了发送设备的简化设计,在实际应用中,所述发送设备可以包含任意数量的处理器91、发射器/接收器92以及存储器93。
上述本申请的实施例序号仅仅为了描述,不代表实施例的优劣。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部 分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请能够实现的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,以权利要求为基础进行变化或替换所得到的方案,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (30)
- 一种报文传输控制方法,其特征在于,所述方法包括:接收设备接收第一数据报文;所述接收设备检测所述第一数据报文是否为乱序接收的报文;当检测结果为所述第一数据报文是乱序接收的报文时,所述接收设备加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。
- 根据权利要求1所述的方法,其特征在于,所述接收设备检测所述第一数据报文是否为乱序接收的报文,包括:所述接收设备获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,所述接收设备确定所述第一数据报文是乱序接收的报文。
- 根据权利要求2所述的方法,其特征在于,所述接收设备加速获取缺失数据报文之前,还包括:所述接收设备确定所述第一数据报文是否为按照顺序发送的报文;当所述第一数据报文是按照顺序发送的报文时,所述接收设备加速获取缺失数据报文。
- 根据权利要求3所述的方法,其特征在于,所述接收设备确定所述第一数据报文是否为按照顺序发送的报文,包括:所述接收设备获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;所述接收设备根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。
- 根据权利要求1至4任一所述的方法,其特征在于,所述接收设备加速获取缺失数据报文,包括:所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;所述接收设备启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。
- 根据权利要求5所述的方法,其特征在于,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:所述接收设备根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长;所述接收设备按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。
- 根据权利要求5所述的方法,其特征在于,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:所述接收设备按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期;所述接收设备根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。
- 根据权利要求1至4任一所述的方法,其特征在于,所述接收设备加速获取缺失数据报文,包括:所述接收设备向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。
- 一种报文传输控制方法,其特征在于,所述方法包括:发送设备发送第一数据报文;所述发送设备接收加速指示信息;所述发送设备根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;所述发送设备启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。
- 根据权利要求9所述的方法,其特征在于,所述发送设备发送第一数据报文,包括:所述发送设备发送包含发送顺序标签的所述第一数据报文。
- 根据权利要求10所述的方法,其特征在于,所述发送设备发送包含发送顺序标签的所述第一数据报文之前,还包括:当所述第一数据报文的报文序号大于目标报文序号时,所述发送设备在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,所述发送设备在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。
- 根据权利要求11所述的方法,其特征在于,所述目标报文序号的起始值为n,n为 正整数,所述方法还包括:若所述第一数据报文的报文序号大于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;若所述第一数据报文的报文序号等于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。
- 一种传输控制装置,其特征在于,所述装置包括:接收单元,用于接收第一数据报文;检测单元,用于检测所述第一数据报文是否为乱序接收的报文;获取单元,用于当检测结果为所述第一数据报文是乱序接收的报文时,加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。
- 根据权利要求13所述的装置,其特征在于,所述检测单元,具体用于,获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,确定所述第一数据报文是乱序接收的报文。
- 根据权利要求14所述的装置,其特征在于,所述装置还包括:确定单元,用于在所述获取单元加速获取缺失数据报文之前,确定所述第一数据报文是否为按照顺序发送的报文;所述获取单元,具体用于当所述第一数据报文是按照顺序发送的报文时,加速获取缺失数据报文。
- 根据权利要求15所述的装置,其特征在于,所述确定单元,具体用于,获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。
- 根据权利要求13至16任一所述的装置,其特征在于,所述获取单元,具体用于,缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。
- 根据权利要求17所述的装置,其特征在于,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元,具体用于,根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长;按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。
- 根据权利要求17所述的装置,其特征在于,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元,具体用于,按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期;根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。
- 根据权利要求13至16任一所述的装置,其特征在于,所述获取单元,具体用于,向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。
- 一种报文传输控制装置,其特征在于,所述装置包括:发送单元,用于发送第一数据报文;接收单元,用于接收加速指示信息;缩短单元,用于根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;所述发送单元,还用于启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。
- 根据权利要求21所述的装置,其特征在于,所述发送单元,具体用于,发送包含发送顺序标签的所述第一数据报文。
- 根据权利要求22所述的装置,其特征在于,所述装置还包括:添加单元,用于在所述发送单元向所述接收设备发送包含发送顺序标签的所述第一数据报文之前,当所述第一数据报文的报文序号大于目标报文序号时,在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。
- 根据权利要求23所述的装置,其特征在于,所述目标报文序号的起始值为n,n为正整数,所述装置还包括:更新单元,用于若所述第一数据报文的报文序号大于所述目标报文序号,则在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;若所述第一数据报文的报文序号等于所述目标报文序号,则在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。
- 一种接收设备,其特征在于,所述接收设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述接收设备实现如权利要求1至8任一所述的报文传输控制方法。
- 一种发送设备,其特征在于,该发送设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述发送设备实现如权利要求9至12任一所述的报文传输控制方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,接收设备中的处理器执行所述指令使得所述接收设备实现如权利要求1至8任一所述的报文传输控制方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,发送设备中的处理器执行所述指令使得所述发送设备实现如权利要求9至12任一所述的报文传输控制方法。
- 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至8任一所述的报文传输控制方法。
- 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求9至12任一所述的报文传输控制方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711446070.X | 2017-12-27 | ||
CN201711446070.XA CN109981470A (zh) | 2017-12-27 | 2017-12-27 | 报文传输控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019128840A1 true WO2019128840A1 (zh) | 2019-07-04 |
Family
ID=67063217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/122342 WO2019128840A1 (zh) | 2017-12-27 | 2018-12-20 | 报文传输控制方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109981470A (zh) |
WO (1) | WO2019128840A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147126A (zh) * | 2019-12-26 | 2020-05-12 | 中国人民解放军空军勤务学院 | 北斗卫星短报文通信数据拆包传输方法 |
CN114731334A (zh) * | 2020-02-14 | 2022-07-08 | 华为技术有限公司 | 报文保序方法和装置 |
US11462938B2 (en) * | 2019-09-05 | 2022-10-04 | Toshiba Mitsubishi-Electric Industrial Systems Corporation | Uninterruptible power supply system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143088B (zh) * | 2019-12-18 | 2023-06-20 | 北京浩瀚深度信息技术股份有限公司 | 报文乱序问题处理方法、装置、设备及存储介质 |
CN113328901B (zh) * | 2020-02-28 | 2023-04-28 | 华为技术有限公司 | 报文乱序检测方法、装置及*** |
CN114793218A (zh) * | 2021-01-25 | 2022-07-26 | 华为技术有限公司 | 一种报文处理方法以及相关装置 |
CN114501345A (zh) * | 2022-04-15 | 2022-05-13 | 希诺麦田技术(深圳)有限公司 | 组呼全双工实现方法、装置及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825846A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 基于传输控制协议的报文传输***及其方法 |
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
CN102404069A (zh) * | 2010-09-07 | 2012-04-04 | 中兴通讯股份有限公司 | 一种数据封装链路丢包和乱序统计的方法及*** |
WO2016087331A1 (en) * | 2014-12-05 | 2016-06-09 | Philips Lighting Holding B.V. | Method for operating a communication device. |
CN106330414A (zh) * | 2016-08-16 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562500B (zh) * | 2009-05-25 | 2012-07-04 | 腾讯科技(深圳)有限公司 | 数据传输请求、发送方法及数据传输装置 |
CN101697631B (zh) * | 2009-10-28 | 2015-05-13 | 中兴通讯股份有限公司 | 一种可序数据包的乱序调整方法及装置 |
US8245083B2 (en) * | 2009-12-24 | 2012-08-14 | At&T Intellectual Property I, L.P. | Systems, methods, and apparatus to debug a network application |
CN102316515B (zh) * | 2011-09-16 | 2017-04-26 | 中兴通讯股份有限公司 | 无线链路控制层状态报告的构造方法及装置 |
CN104202656B (zh) * | 2014-09-16 | 2017-08-04 | 国家计算机网络与信息安全管理中心 | 网络音频mp3流乱序分段解码方法 |
CN106506124B (zh) * | 2015-09-07 | 2019-09-13 | ***通信集团公司 | 重传报文确定方法及装置 |
-
2017
- 2017-12-27 CN CN201711446070.XA patent/CN109981470A/zh active Pending
-
2018
- 2018-12-20 WO PCT/CN2018/122342 patent/WO2019128840A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825846A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 基于传输控制协议的报文传输***及其方法 |
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
CN102404069A (zh) * | 2010-09-07 | 2012-04-04 | 中兴通讯股份有限公司 | 一种数据封装链路丢包和乱序统计的方法及*** |
WO2016087331A1 (en) * | 2014-12-05 | 2016-06-09 | Philips Lighting Holding B.V. | Method for operating a communication device. |
CN106330414A (zh) * | 2016-08-16 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
CHEN, ZHONGQING: "Principle and Application Method of Turbulence Algorithm", MOBILE COMMUNICATION, 23 May 2012 (2012-05-23) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11462938B2 (en) * | 2019-09-05 | 2022-10-04 | Toshiba Mitsubishi-Electric Industrial Systems Corporation | Uninterruptible power supply system |
CN111147126A (zh) * | 2019-12-26 | 2020-05-12 | 中国人民解放军空军勤务学院 | 北斗卫星短报文通信数据拆包传输方法 |
CN111147126B (zh) * | 2019-12-26 | 2021-11-23 | 中国人民解放军空军勤务学院 | 北斗卫星短报文通信数据拆包传输方法 |
CN114731334A (zh) * | 2020-02-14 | 2022-07-08 | 华为技术有限公司 | 报文保序方法和装置 |
CN114731334B (zh) * | 2020-02-14 | 2023-10-20 | 华为技术有限公司 | 报文保序方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109981470A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019128840A1 (zh) | 报文传输控制方法及装置 | |
JP6125587B2 (ja) | 複数のデバイスからの通信を確認応答するためのシステムおよび方法 | |
US9407507B2 (en) | Topology discovery in a hybrid network | |
JP6073917B2 (ja) | 発見メッセージおよびページングメッセージを送信および受信するためのシステムおよび方法 | |
US7310761B2 (en) | Apparatus and method for retransmitting data packets in mobile ad hoc network environment | |
JP2017521947A5 (zh) | ||
BRPI0713718A2 (pt) | aparelho de usuário, estação de base e método para uso em sistema de comunicação móvel | |
JP2019036971A (ja) | 効果的なアクセスポイント発見のためのシステムおよび方法 | |
JP6113246B2 (ja) | ネットワーク局をリセットするためのシステムおよび方法 | |
US8312339B2 (en) | Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system | |
US10931564B2 (en) | Handling of acknowledgement in wireless radio ad-hoc networks | |
US10680899B1 (en) | Topology discovery through multicast transmission | |
US20080095127A1 (en) | Wireless communication apparatus with a block acknowledgement function and a wireless communication method | |
KR101638425B1 (ko) | 다중 홉 무선 통신 시스템의 하향 링크에서 신호 전송 방법 | |
EP3984287A1 (en) | A method of waking up a mesh node in a wireless mesh network as well as a related mesh node and a computer program product | |
CN115767755A (zh) | 一种适用于LoRaWAN网络终端节点的轻量级调度方法、***及存储介质 | |
US11190979B2 (en) | Methods and apparatus for forwarding packets between child nodes and parent nodes | |
WO2018113192A1 (zh) | 一种唤醒无线设备的方法、发送设备及接收设备 | |
CN117652201A (zh) | 在非同步信道跳变网状网络中使广播停留间隔过载 | |
Abd El-Gawad et al. | Reliable broadcast protocol based on scheduled acknowledgments for wireless sensor networks | |
EP4102753A1 (en) | Method and device for updating the number of retransmissions in a wireless mesh network | |
US12052644B2 (en) | Method of waking up a mesh node in a wireless mesh network as well as a related mesh node and a computer program product | |
WO2011080554A1 (en) | Energy efficient integrated routing protocol | |
JP2018525887A (ja) | 無線リレー | |
JP5986528B2 (ja) | 端末におけるスリープモードへの移行を防止する制御装置、プログラム及び方法 |
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: 18895029 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18895029 Country of ref document: EP Kind code of ref document: A1 |