WO2019128840A1 - Message transmission control method and apparatus - Google Patents

Message transmission control method and apparatus Download PDF

Info

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
Application number
PCT/CN2018/122342
Other languages
French (fr)
Chinese (zh)
Inventor
徐月巧
袁峰
陈昊
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019128840A1 publication Critical patent/WO2019128840A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing 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/04Registration 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.

Abstract

Disclosed is a message transmission control method, belonging to the technical field of communications. The method comprises: a receiving device receiving a first data message, and detecting whether the first data message is a message received in a disordered manner; and when the first data message is a message received in a disordered manner, the receiving device accelerating acquisition of a missing data message, in particular, for example when accelerating acquisition of a missing data message, the receiving device determining whether the first data message is a message sent in order, and if the first data message is a message sent in order, then determining the disordered receiving of the first data message is caused by message collision, and executing the step of accelerating acquisition of the missing data message at this time. By means of this solution, after the receiving device receives the first data message, if the first data message is a message received in a disordered manner, then the receiving device can accelerate acquisition of a missing data message, so as to shorten the delay of a sending device retransmitting, to the receiving device, a data message missing in the receiving device, thus improving the time delay of the entire network.

Description

报文传输控制方法及装置Message transmission control method and device
相关申请的交叉引用Cross-reference to related applications
本公开要求于2017年12月27日递交的中国专利申请第201711446070.X号的优先权,在此全文引用上述中国专利申请公开的内容以作为本公开的一部分。The present disclosure claims priority to Chinese Patent Application No. 201711446070.
技术领域Technical field
本申请涉及通信技术领域,特别涉及一种报文传输控制方法及装置。The present application relates to the field of communications technologies, and in particular, to a packet transmission control method and apparatus.
背景技术Background technique
低功耗有损网络(Low-Power and Lossy Networks,LLN)通常是指工作在无线环境中,且包含的节点大多是节点资源(比如能量资源、存储资源或者信道资源)和带宽受限的网络。Low-Power and Lossy Networks (LLN) 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. .
在LLN中,节点之间主要通过组播报文进行通信。其中,与传统的暴力洪泛式广播协议不同的是,LLN网络下的组播协议(Multicast Protocol for LLN,MPL)是一种基于受控洪泛的组播协议。In LLN, nodes communicate mainly through multicast packets. Different from the traditional violent flooding broadcast protocol, the Multicast Protocol for LLN (MPL) is a multicast protocol based on controlled flooding.
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中缺少的数据报文。MPL multicast has two modes: active and passive. In 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. In the related art, the MPL multicast is implemented based on a turbulence algorithm. Specifically, the MPL message in the LLN includes a control packet and a data packet. For a node a in the LLN, when the node a receives any neighbor After a data packet is sent by the node, a timing duration ta is calculated according to the turbulence algorithm, and a timer is started. When 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. After receiving the control packet, 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. If the message {Message_1, Message_2, ..., Message_n} is missing, for each missing message Message_i, 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.
由于无线信道环境变化、信道干扰以及隐藏终端等因素的影响,LLN中的一个节点发送的数据报文到达邻居节点时,可能与其它同时到达该邻居节点的报文发生碰撞,从而导致该邻居节点无法解析该数据报文,此时需要邻居节点通过控制报文触发该节点重传该数据报文,由于控制报文和数据报文都需要定时器来触发,因此,上述重传过程会带来较大的报文传播时延,对LLN网络的时延性能影响较大。Due to factors such as changes in the wireless channel environment, channel interference, and hidden terminals, when 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. In this case, 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.
发明内容Summary of the invention
为了解决LLN网络中的数据报文重传过程会带来较大的报文传播时延,对LLN网络的时延性能影响较大的问题,本申请的实施例提供了一种报文传输控制方法及装置。In order to solve the problem that the data packet retransmission process in the LLN network brings a large packet propagation delay and has a large impact on the delay performance of the LLN network, the embodiment of the present application provides a message transmission control. Method and device.
第一方面,提供了一种报文传输控制方法,该方法包括:In a first aspect, a message transmission control method is provided, the 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.
通过上述第一方面所示的方案,接收设备在接收到第一数据报文后,若第一数据报文是乱序接收的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。With the solution shown in the first aspect, 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.
在一种可能的实现方式中,所述接收设备检测所述第一数据报文是否为乱序接收的报文,包括:In a possible implementation manner, the receiving device detects whether the first data packet is an out-of-order message, including:
所述接收设备获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,所述接收设备确定所述第一数据报文是乱序接收的报文。Receiving, by the receiving device, a message sequence number of the first data packet and a message sequence number of the second data packet; 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. In the case of any data message, the receiving device determines that the first data message is an out-of-order message.
通过上述方案,接收设备在接收到第一数据报文之后,若第一数据报文的序号大于前一个接收到的数据报文的序号,且第一数据报文和前一个接收到的数据报文之间存在缺失数据报文时,接收设备才确定第一数据报文是乱序接收的报文,提供了一种检测第一数据报文是乱序接收的实现方式。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.
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文之前,还包括:In a possible implementation manner, 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.
通过上述方案,接收设备在确定第一数据报文是乱序接收的报文之后,还会进一步根据第一数据报文是否为按照顺序发送的报文,来确定该第一数据报文接收乱序的原因是否为报文碰撞导致的接收乱序,只有在第一数据报文接收乱序的原因是报文碰撞导致的接收乱序时,才执行加速步骤,避免不必要的加速过程。After the foregoing device determines that the first data packet is received in an out-of-order manner, 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.
在一种可能的实现方式中,所述接收设备确定所述第一数据报文是否为按照顺序发送的报文,包括:In a possible implementation, 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.
在上述方案中,接收设备通过第一数据报文中携带的发送顺序标签来检测第一数据报文是否为按照顺序发送的报文,提供了一种检测报文是否按照顺序发送的实现方式。In the above solution, 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.
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文,包括:In a possible implementation manner, 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.
在上述方案中,接收设备通过缩短控制报文的延时发送时长来加速控制报文的发送,提供一种加速获取缺失数据报文的实现方式。In the above solution, 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.
在一种可能的实现方式中,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:In a possible implementation manner, 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.
在一种可能的实现方式中,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:In a possible implementation manner, 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.
在一种可能的实现方式中,所述接收设备加速获取缺失数据报文,包括:In a possible implementation manner, 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.
在上述方案中,接收设备通过指示发送设备缩短缺失数据报文的延时发送时长来加速缩短缺失数据报文的发送,提供一种加速获取缺失数据报文的实现方式。In the above solution, 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. When 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.
通过上述第二方面所示的方案,接收设备在发送第二数据报文之后,若接收到加速指示信息,则通过缩短缺失数据报文的延时发送时长来加速缩短缺失数据报文的发送,从而缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,提高整个网络的时延性能。With the solution shown in the foregoing second aspect, 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.
在一种可能的实现方式中,所述发送设备发送第一数据报文,包括:In a possible implementation, the sending device sends the first data packet, including:
所述发送设备发送包含发送顺序标签的所述第一数据报文。The sending device sends the first data packet including a sending sequence label.
在一种可能的实现方式中,所述发送设备发送包含发送顺序标签的所述第一数据报文之前,还包括:In a possible implementation, before the sending, by the sending, the first data packet that includes the sending sequence label, the method further includes:
当所述第一数据报文的报文序号大于目标报文序号时,所述发送设备在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,所述发送设备在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。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.
在一种可能的实现方式中,所述目标报文序号的起始值为n,n为正整数,所述方法还 包括:In a possible implementation, the starting value of the target message sequence number is n, and n is a positive integer. The method further includes:
若所述第一数据报文的报文序号大于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;若所述第一数据报文的报文序号等于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。If the message sequence number of the first data packet is greater than the target message sequence number, 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.
第三方面,提供了一种报文传输控制装置,该装置具有实现上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的单元。In a third aspect, there is provided 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.
第四方面,提供了一种报文传输控制装置,该装置具有实现上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的单元。In a fourth aspect, a message transmission control apparatus is provided, the 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.
第五方面,提供了一种接收设备,该接收设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述接收设备实现如上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法。In a fifth aspect, a receiving device is provided, the 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.
第六方面,提供了一种发送设备,该发送设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述发送设备实现如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。According to a sixth aspect, a transmitting device is provided, the 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.
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,发送设备中的处理器执行所述指令使得所述发送设备实现如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。In an eighth aspect, a computer readable storage medium is provided, the 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.
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一方面以及第一方面的可能的实现方案所提供的报文传输控制方法。In a ninth aspect, 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.
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第二方面以及第二方面的可能的实现方案所提供的报文传输控制方法。According to a tenth aspect, there is provided 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.
通过上述各个方面所示的方案,发送设备发送第一数据报文后,若接收设备接收到该第一数据报文且检测出该第一数据报文是乱序接收的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。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.
附图说明DRAWINGS
图1是本申请一个实施例所涉及的报文传输系统的架构图;1 is a block diagram of a message transmission system according to an embodiment of the present application;
图2是本申请一个示例性实施例提供的报文传输控制方法的流程图;2 is a flowchart of a message transmission control method provided by an exemplary embodiment of the present application;
图3是本申请一个示例性实施例提供的报文传输控制方法的流程图;FIG. 3 is a flowchart of a message transmission control method provided by an exemplary embodiment of the present application; FIG.
图4是本申请一个示例性实施例提供的另一种报文传输控制方法的流程图;FIG. 4 is a flowchart of another packet transmission control method according to an exemplary embodiment of the present disclosure;
图5是本申请一个示例性实施例提供的又一种报文传输控制方法的流程图;FIG. 5 is a flowchart of still another message transmission control method according to an exemplary embodiment of the present application; FIG.
图6是本申请一个示例性实施例提供的一种报文传输控制装置的结构方框图;FIG. 6 is a structural block diagram of a message transmission control apparatus according to an exemplary embodiment of the present application;
图7是本申请一个示例性实施例提供的另一种报文传输控制装置的结构方框图;FIG. 7 is a structural block diagram of another message transmission control apparatus according to an exemplary embodiment of the present application;
图8是本申请一个示例性实施例提供的接收设备的结构示意图;FIG. 8 is a schematic structural diagram of a receiving device according to an exemplary embodiment of the present disclosure;
图9是本申请一个示例性实施例提供的发送设备的结构示意图。FIG. 9 is a schematic structural diagram of a transmitting device according to an exemplary embodiment of the present application.
具体实施方式Detailed ways
图1是本申请实施例所涉及的报文传输系统的架构图。该报文传输系统可以是低功耗有损网络(Low-Power and Lossy Networks,LLN)系统。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.
如图1所示,该报文传输系统可以包括第一节点120以及若干个第二节点140。其中,第一节点120也称为报文传输系统中的种子(seed)节点,第一节点120可以在报文传输系统中生成和发送组播报文。As shown in FIG. 1, 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.
若干个第二节点140可以称为报文传输系统中的转发节点(转发节点也可以称为forwarder节点),第二节点140可以在报文传输系统中接收和转发第一节点120生成的组播报文。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.
比如,以报文传输系统为LLN网络系统为例,在LLN网络中,各个网络节点通常工作在无线环境下,链路稳定性无法保证,有较高误码率,并且,网络中的节点通常是能量受限的低功耗设备。基于这样的定义,现实场景中诸如无线传感器网络(WSN,Wireless Sensor Network)、物联网(IoT,Internet of Things)以及M2M网络(Machine to Machine)等都属于LLN网络。本申请实施例中的报文可以应用在路灯控制、代码更新以及智能抄表等场景下。For example, taking the message transmission system as an example for the LLN network system, 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. Based on such definitions, 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.
具体比如,以LLN网络是基于IPv6的无线传感器网络为例,无线传感器网络中的无线传感器节点(sensor)可以进行网格Mesh组网,作为转发节点充当路由器向附近节点转发信息,无线传感器网络中的边缘路由器(Border Router,BR)作为种子节点与Internet相连接。For example, 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. In the wireless sensor network. The Border Router (BR) is connected to the Internet as a seed node.
或者,以LLN网络是物联网应用中的路灯控制网络为例,路灯上装有的感知节点等智能设备作为转发节点,智能设备之间可以进行Mesh组网,并与物联网关相连,互联网关作为种子节点与控制设备相连接。Or, 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.
其中,上述第一节点120以及第二节点140具体的实际产品形态可以是具备路由功能 的节点,比如路由器,交换机等,例如IoT网关及网关下的IoT设备、路灯控制器和智慧灯杆等智能设备。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.
请参考图2,其示出了本申请一个示例性实施例提供的报文传输控制方法的流程图。该方法可以用于图1所示的系统中,如图2所示,该报文传输控制方法可以包括:Please refer to FIG. 2, which 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. 2, the message transmission control method can include:
步骤201,接收设备接收第一数据报文。Step 201: The receiving device receives the first data packet.
其中,发送设备可以是上述图1所示系统中的第一节点120或者第二节点140,而接收设备可以是上述图1所示系统中的第二节点140。发送设备与接收设备在报文传输系统中互为邻居关系。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.
以上述图1所示的报文传输网络是LLN网络为例,发送设备在需要发送数据报文时,向包括接收设备在内的各个邻居设备发送LLN网络下的组播协议(Multicast Protocol for LLN,MPL)数据报文,若该第一数据报文在接收设备侧没有与接收设备的其它邻居设备发送的报文发生碰撞,则接收设备会顺利接收到该第一数据报文。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.
步骤202,接收设备检测第一数据报文是否为乱序接收的报文。Step 202: The receiving device detects whether the first data packet is an out-of-order message.
在本申请实施例中,接收设备可以结合已接收到的数据报文的报文序号以及缺失数据报文的报文序号来检测第一数据报文是否为乱序接收的报文,其中,缺失数据报文可以是在第一数据报文之前生成,且接收设备未接收到的数据报文。In the embodiment of the present application, 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.
LLN中的数据报文的报文序号可以按照对应的报文的生成顺序从小到大进行编号,在本申请实施例中,缺失数据报文在第一数据报文之前生成,可以是指缺失数据报文的报文序号小于第一数据报文的报文序号。The sequence number of the data packet in the LLN may be numbered according to the sequence in which the corresponding packet is generated. In the embodiment of the present application, 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.
在检测第一数据报文是否为乱序接收的报文时,接收设备可以获取第一数据报文的报文序号与第二数据报文的报文序号;其中,该第二数据报文是接收设备在接收第一数据报文之前,最近接收到的数据报文,或者说,该第一数据报文为紧随第二数据报文之后接收到的数据报文;当第一数据报文的报文序号大于第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且缺失数据报文的报文序号处于第一数据报文的报文序号与所述第二数据报文的报文序号之间时,该接收设备确定第一数据报文是乱序接收的报文。When detecting whether the first data packet is an out-of-order 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. When the sequence number is 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 packet is an out-of-order message.
在本申请实施例中,当前接收到的数据报文的序号减去接收到的前一个数据报文的序号的值大于1时,可以认为在接收设备当前接收的数据报文,与前一个数据报文之间,还存在至少一个数据报文。In the embodiment of the present application, when the sequence number of the currently received data packet minus the received sequence number of the previous data packet is greater than 1, 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.
在实际检测过程中,接收设备可以将第一数据报文的序号(new_sequence)与前一个接收到的数据报文的序号(last_sequence)进行比对,若new_sequence-last_sequence>1,则进一步检测是否已经接收到处于该第一数据报文和第二数据报文之间的数据报文,如果还没有接收到处于该第一数据报文和第二数据报文之间的任意数据报文,则接收设备可以确定第一数据报文是乱序接收的报文。In the actual detection process, 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.
在本申请实施例中,接收设备可以将第一数据报文的报文序号与第二数据报文的报文序号与接收设备的缓存(buffer)中的各个数据报文的报文序号进行比对,以确定缓存中是否存在处于该第一数据报文和第二数据报文之间的数据报文,若处于该第一数据报文和第二数据报文之间的数据报文中的任意一个数据报文不存在于接收设备的缓存中,则可以确 定第一数据报文是乱序接收的报文。In the embodiment of the present application, 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.
具体比如,假设接收设备最近一次接收到的数据报文(即第一数据报文)为数据报文6(报文序号为6),而接收设备最近接收到的倒数第二个数据报文(即第二数据报文)为数据报文3(报文序号为3),则数据报文6与数据报文3的报文序号之间的差值为3,则说明最近一次接收到的数据报文是乱序接收的报文,之后,接收设备进一步确认缓存中是否已经存在数据报文4和数据报文5,若缓存中不存在数据报文4和数据报文5,或者,缓存中缺少数据报文4和数据报文5中的任意一个,则可以认为第一数据报文是乱序接收的报文。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. After receiving the packet, 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.
在LLN网络中,由于接收设备可能存在多个邻居设备,且每个邻居设备都可能发送同一数据报文,且在发送数据报文时,可能会对同一数据报文进行多次发送,因此,接收设备在接收到第一数据报文之后,首先可以检测缓存中是否已经存在该第一数据报文,若缓存中未存储该第一数据报文,则可以认为接收设备是首次接收到第一数据报文,此时接收设备执行上述步骤202;反之,若缓存中已经存在该第一数据报文,则认为接收设备不是首次接收到第一数据报文,此时接收设备将第一数据报文丢弃,且不执行该步骤202,避免重复执行不必要的检测步骤。In the LLN network, 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. After receiving the first data packet, 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.
步骤203,当第一数据报文是乱序接收的报文时,接收设备加速获取缺失数据报文。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.
在本申请实施例中,当第一数据报文是乱序接收的报文时,可以认为在第一数据报文之前存在未被接收设备接收到的,且属于接收设备的缺失数据报文,此时,接收设备可以加速获取缺失数据报文。In the embodiment of the present application, 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.
以上述图1所示的报文传输网络是LLN网络为例,当接收设备确定第一数据报文是乱序接收的报文(即存在缺失数据报文)时,接收设备可以定时一段时间后,发送控制报文,通过该控制报文指示发送设备发送该接收设备中的缺失数据报文,发送设备接收到该控制报文后,也定时一段时间后,向接收设备发送该缺失数据报文。For example, 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 .
在本申请实施例中,接收设备加速获取缺失数据报文时,可以只在接收设备侧进行加速,也可以只在发送设备侧进行加速,或者,也可以在发送设备侧和接收设备侧进行双向加速。In the embodiment of the present application, 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.
在本申请实施例中,在接收设备侧进行加速时,接收设备可以对发送控制报文之前的定时时长进行缩短,以加快控制报文的发送,从而达到加速获取缺失数据报文的目的。In the embodiment of the present application, 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.
在一种可能的实现方式中,若控制报文的延时发送时长是基于涓流算法确定的时长,则接收设备在缩短控制报文的延时发送时长,获得第一延时发送时长时,可以根据涓流算法以及控制报文对应的涓流算法周期,计算控制报文对应的延时发送时长,并按照预定的时长缩短规则对控制报文对应的延时发送时长进行缩短,获得第一延时发送时长。In a possible implementation manner, if the delay time of the control packet is based on the duration determined by the turbulence algorithm, 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.
以LLN网络为例,接收设备接收到第一数据报文,且确定第一数据报文是乱序接收的报文时,可以首先按照涓流算法计算控制报文的延时发送时长,然后再按照预定的时长缩短规则对控制报文的延时发送时长进行缩短,以获得上述第一延时发送时长。Taking the LLN network as an example, 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.
其中,上述时长缩短规则可以由开发人员或者维护人员预先设定,比如,该时长缩短规则可以是按照一定的百分比(比如50%、30%或者20%等)对控制报文的延时发送时长进行缩短。具体的,假设时长缩短规则为按照50%的百分比进行缩短,如果按照涓流算法计算出的控制报文的延时发送时长为50s,则缩短获得的第一延时发送时长为25s。The duration shortening rule may be preset by a developer or a maintenance personnel. For example, 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.
在另一种可能的实现方式中,接收设备缩短控制报文的延时发送时长,获得第一延时发送时长时,可以按照预定的周期缩短规则对控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期,并根据涓流算法以及缩短后的涓流算法周期,计算获得第一延时发送时长。In another possible implementation manner, 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.
以LLN为例,LLN中的每个数据报文或者控制报文对应有各自的涓流算法周期,通常情况下,接收设备在确定数据报文或者控制报文的延时发送时长时,可以首选确定报文对应的涓流算法周期,并在涓流算法周期的后半段随机确定一个时间点作为报文的发送时间点,该发送时间点与对应的涓流算法周期的起始时间点之间的时长就是报文的延时发送时长。在本申请实施例所示的方案中,接收设备在缩短控制报文的延时发送时长时,可以对控制报文对应的涓流算法周期进行缩短,即接收设备接收到第一数据报文,且确定加速条件成立时,可以首先确定控制报文对应的涓流算法周期,并按照预定的周期缩短规则对控制报文对应的涓流算法周期进行缩短,再按照涓流算法,在缩短后的涓流算法周期的后半段随机确定一个时间点作为控制报文的发送时间点,并将确定的发送时间点和缩短后的涓流算法周期的起始时间点之间的时长确定为第一延时发送时长。Taking LLN as an example, each data packet or control packet in the LLN has its own turbulence algorithm period. Generally, when 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. In the solution shown in the embodiment of the present application, 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.
在发送设备侧进行加速时,接收设备可以向发送设备发送加速指示信息,该加速指示信息用于指示发送设备缩短缺失数据报文的延时发送时长。When the acceleration is performed on the sending device side, 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.
在一种可能的实现方式中,上述加速指示信息可以通过控制报文进行发送,比如,接收设备可以在控制报文中添加一个加速标识,该加速标识即为上述加速指示信息,该加速标识可以指示发送设备接收到该控制报文后,加快发送缺失数据报文。其中,发送设备在加快发送缺失数据报文时,可以缩短缺失数据报文的延时发送时长,获得第二延时发送时长,并在启动定时器定时到达所述第二延时发送时长时,向接收设备发送缺失数据报文。或者,在另一种可能的实现方式中,上述加速指示信息也可以通过控制报文之外的方式进行发送。In a possible implementation, the acceleration indication information may be sent by using a control packet. For example, 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. When 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. Alternatively, in another possible implementation manner, the foregoing acceleration indication information may also be sent by means other than controlling the message.
请参考图3,其示出了本申请一个示例性实施例提供的报文传输控制方法的流程图。该方法可以用于图1所示的系统中,如图3所示,该方法可以包括如下步骤:Please refer to FIG. 3, which 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:
步骤301,发送设备发送第一数据报文。Step 301: The sending device sends the first data packet.
发送设备发送第一数据报文的过程可以参考上述步骤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.
步骤302,发送设备接收加速指示信息。Step 302: The sending device receives the acceleration indication information.
其中,若接收设备检测到该第一数据报文是乱序接收的数据报文,则可以发送该加速指示信息,发送设备接收该加速指示信息,之后,发送设备即可以根据加速指示信息加速发送缺失数据报文,该加速发送缺失数据报文的过程可以如后续步骤303和步骤304所示。If the receiving device detects that the first data packet is an out-of-order data packet, 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.
步骤303,发送设备根据该加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长。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.
在一种可能的实现方式中,发送设备在缩短缺失数据报文的延时发送时长,获得第二延时发送时长时,可以根据涓流算法以及缺失数据报文对应的涓流算法周期,计算缺失数 据报文对应的延时发送时长,并按照预定的时长缩短规则对缺失数据报文对应的延时发送时长进行缩短,获得第二延时发送时长。In a possible implementation manner, when the sending device shortens the delay sending duration of the missing data packet 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.
或者,发送设备在缩短缺失数据报文的延时发送时长,获得第二延时发送时长时,也可以按照预定的周期缩短规则对缺失数据报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期,根据涓流算法以及缩短后的涓流算法周期,计算获得第二延时发送时长。Alternatively, when 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.
步骤304,发送设备启动定时器定时到达第二延时发送时长时,向接收设备发送该缺失数据报文。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.
在一种可能的实现方式中,在发送设备侧和接收设备侧进行双向加速时,接收设备除了加快发送控制报文之外,还发送上述加速指示信息(比如,在控制报文中添加上述加速标识),从而对控制报文和缺失数据报文的发送都进行加速。In a possible implementation manner, 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.
比如,以接收设备为接收方节点Node i,发送设备为发送方Node j为例,上述过程可以包括如下步骤:For example, 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:
步骤1:发送方Node j发送数据报文Seq1,由于接收碰撞,接收方Node i未收到数据报文Seq1;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;
步骤2:发送方Node j发送数据报文Seq2;Step 2: The sender Node j sends a data message Seq2;
步骤3:接收方Node i接收数据报文Seq2,通过报文序号判定数据报文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:
步骤3.1接收方Node i收到数据报文Seq2时,通过比较上一次接收的数据报文的序号和数据报文Seq2的序号,判定数据报文Seq2是乱序接收报文(数据报文Seq2的报文序号减去上一次接收的数据报文的序号获得的差值大于1);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);
步骤3.2接收方Node i检测本地buffer中是否存在上一次接收的数据报文的序号和数据报文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;
步骤3.3接收方Node i确定本地buffer中缺失上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文中的任意一个数据报文时,通过前述加速控制报文发送的方法,进行控制报文的加速发送;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;
步骤4:接收方Node i发送控制报文,且控制报文携带“加速标识”指示信息(即上述加速指示信息),指示邻居节点收到控制报文后,根据指示针对缺失的数据报文Seq1进行加速传播;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;
步骤5:发送方Node j收到控制报文之后,判定邻居节点缺失数据报文Seq1,且根据指示信息,采取前述加速数据报文的方法,进行数据报文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;
步骤6:发送方Node j加速发送数据报文Seq1;Step 6: The sender Node j accelerates the transmission of the data message Seq1;
步骤7:接收方Node i收到数据报文Seq1,完成缺失数据报文的补齐。Step 7: The receiving node Node i receives the data packet Seq1 and completes the filling of the missing data packet.
综上所述,本申请实施例所示的方案,接收设备在接收到第一数据报文后,若第一数据报文的报文序号大于接收设备在接收第一数据报文之前最近接收到的第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且接收设备未接收到报文序号处于第一数据报文的报文序号与第二数据报文的报文序号之间的任意数据报文时,接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传 接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。In summary, in the solution shown in the embodiment of the present application, 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.
在上述图2所示的实施例中,在接收到第一数据报文,并检测出第一数据报文是乱序接收的报文之后,接收设备即加速获取缺失数据报文,在实际应用中,接收设备接收到的第一数据报文是乱序接收的报文的原因,除了因为报文碰撞原因导致接收设备之前未接收到发送设备发送的报文之外,还有可能是发送设备在发送报文时,即通过乱序的方式进行发送,这样即便在接收设备侧未发生报文碰撞,接收设备接收到的数据报文也会是乱序的,由于发送设备乱序发送报文的情况比较少,且通常不会对报文的传输时延造成较大的影响,因此,在本申请实施例中,接收设备可以判断接收到乱序报文的原因是否是因为之前发生了报文碰撞,如果是,则执行上述图2所示的加速过程。In the embodiment shown in FIG. 2, after receiving the first data packet and detecting that the first data packet is an out-of-order message, 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. When a packet is sent, 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.
请参考图4,其示出了本申请一个示例性实施例提供的另一种报文传输控制方法的流程图。该方法可以用于图1所示的系统中,如图4所示,该报文传输控制方法可以包括:Please refer to FIG. 4, which 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. As shown in FIG. 4, the message transmission control method can include:
步骤401,接收设备接收第一数据报文。Step 401: The receiving device receives the first data packet.
具体地,发送设备发送第一数据报文,该第一数据报文中包含发送顺序标签,该发送顺序标签指示所述第一数据报文是顺序发送或者乱序发送,接收设备接收该第一数据报文。Specifically, 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.
其中,发送设备可以是上述图1所示系统中的第一节点120或者第二节点140,而接收设备可以是上述图1所示系统中的第二节点140。发送设备与接收设备在报文传输系统中互为邻居关系。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.
以上述图1所示的报文传输网络是LLN网络为例,发送设备在需要发送数据报文时,向包括接收设备在内的各个邻居设备发送LLN网络下的组播协议数据报文,若该第一数据报文在接收设备侧没有与接收设备的其它邻居设备发送的报文发生碰撞,则接收设备会顺利接收到该第一数据报文。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.
在发送第一数据报文之前,发送设备在第一数据报文中添加发送顺序标签的过程可以如下:Before the first data packet is sent, the sending device adds the sending sequence label to the first data packet as follows:
当第一数据报文的报文序号大于目标报文序号时,发送设备在第一数据报文中添加第一发送顺序标签,第一发送顺序标签用于指示第一数据报文是发送设备乱序发送的报文;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;
当第一数据报文的报文序号小于或者等于目标报文序号时,发送设备在第一数据报文中添加第二发送顺序标签,第二发送顺序标签用于指示第一数据报文是发送设备顺序发送的报文。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.
在一种可能的实现方式中,目标报文序号的起始值为n,n为大于0的自然数或者叫正整数。在添加发送顺序标签之后,发送设备还可以根据需要,对上述目标报文序号进行更新,以便下一次标签添加,其中更新目标报文序号的方式可以如下:In a possible implementation manner, the starting value of the target message sequence number is n, and n is a natural number greater than 0 or a positive integer. After the sending sequence label is added, 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:
若第一数据报文的报文序号大于目标报文序号,则发送设备在第一数据报文中添加第一发送顺序标签之后,将目标报文序号的值更新为第一数据报文的报文序号加1;If the message sequence number of the first data packet is greater than the target message sequence number, 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;
若第一数据报文的报文序号等于目标报文序号,则发送设备在第一数据报文中添加第二发送顺序标签之后,将目标报文序号的值更新为目标报文序号加1。If the message sequence number of the first data packet is equal to the target message sequence number, 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.
在实际应用中,发送方在发送数据报文时,可以通过打印标签来指示该次发送报文是顺序发送还是乱序发送。发送方在发送数据报文时,打印标签的方法如下:In an actual application, when sending a data packet, the sender may print a label to indicate whether the sent message is sent sequentially or out of order. When sending a data message, the sender prints the label as follows:
利用现有的数据报文的MPL Option的“rsv”保留字段信息来携带字段“label”信息。The field "label" information is carried by the "rsv" reserved field information of the MPL Option of the existing data message.
在发送第一数据报文之前,发送设备根据当前要发送的报文序号SEND和记录的WANT_SEND(即上述目标报文序号),通过比较,决定是否打印标签,以及是否更新WANT_SEND。判定原则如下:Before transmitting the first 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). The principle of judgment is as follows:
若SEND>WANT_SEND,则报文“label”字段信息值为1,表明发送端是发送乱序的;且更新WANT_SEND值,WANT_SEND=SEND+1;If SEND>WANT_SEND, the message "label" field information value is 1, indicating that the sender is sending out of order; and updating the WANT_SEND value, WANT_SEND = SEND + 1;
若SEND<WANT_SEND,报文“label”字段信息值为0,表明发送端是顺序发送;且不更新WANT_SEND值;If SEND<WANT_SEND, the message "label" field information value is 0, indicating that the sender is sent sequentially; and the WANT_SEND value is not updated;
若SEND=WANT_SEND,则报文“label”字段信息值为0,表明发送端是顺序发送;且更新WANT_SEND=WANT_SEND+1。If SEND=WANT_SEND, the message "label" field information value is 0, indicating that the sender is sent sequentially; and WANT_SEND=WANT_SEND+1 is updated.
其伪代码如下:Its pseudo code is as follows:
if SEND>WANT_SENDIf SEND>WANT_SEND
打印标签,“lable”=1//表明发送端发送乱序Print the label, "lable" = 1 / / indicates that the sender sends out of order
更新WANT_SEND=SEND+1Update WANT_SEND=SEND+1
else if SEND<WANT_SENDElse if SEND<WANT_SEND
不打印标签,“lable”=0Do not print the label, "lable"=0
不更新WANT_SENDDo not update WANT_SEND
else if SEND=WANT_SENDElse if SEND=WANT_SEND
不打印标签,“lable”=0Do not print the label, "lable"=0
更新WANT_SEND=WANT_SEND+1Update WANT_SEND=WANT_SEND+1
具体的,标签信息的添加以及WANT_SEND的更新如示例表1所示(其中,表1所示的标签信息添加过程仅作为一个示例性的实现过程)。Specifically, 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).
Figure PCTCN2018122342-appb-000001
Figure PCTCN2018122342-appb-000001
表1Table 1
表1所示的发送过程如下:The sending process shown in Table 1 is as follows:
发送方发送初始报文序号Seq1即SEND=1,更新WANT_SEND=2,Label=“否”;The sender sends the initial message sequence number Seq1, ie SEND=1, updates WANT_SEND=2, Label=“No”;
发送方在发送报文序号Seq2和Seq3时,因为是顺序发送,根据上述打印标签方法,WANT_SEND依次更新为3和4,Label=“否”;When the sender sends the message sequences Seq2 and Seq3, because it is sent sequentially, according to the above printing label method, WANT_SEND is sequentially updated to 3 and 4, Label = "No";
由于定时器原因,报文序号Seq5,6,7的定时器先于报文序号Seq4的定时器到期,报文序号Seq5,6,7的定时器是顺序到期。因此报文序号Seq5先发送。此是一个发送乱序的报文,根据上述打印标签方法,WANT_SEND更新为6,Label=“是”;Due to the timer, the timer of the message sequence Seq5, 6, 7 expires before the timer of the message sequence Seq4, and the timers of the message sequence Seq5, 6, 7 are sequentially expired. Therefore, the message sequence number Seq5 is sent first. This is a message that is sent out of order. According to the above printed label method, WANT_SEND is updated to 6, Label=“Yes”;
发送方在发送报文序号Seq6和Seq7时,根据上述打印标签方法,WANT_SEND依次 更新为7和8,Label=“否”;When the sender sends the message numbers Seq6 and Seq7, according to the above-mentioned printing label method, WANT_SEND is sequentially updated to 7 and 8, and Label=“No”;
发送方在发送报文序号Seq4时,根据上述打印标签方法,WANT_SEND不更新,Label=“否”。When the sender sends the message sequence number Seq4, according to the above printed label method, WANT_SEND is not updated, and Label=No.
步骤402,接收设备检测第一数据报文是否为乱序接收的报文。Step 402: The receiving device detects whether the first data packet is an out-of-order message.
在步骤402的执行过程可以参考上述步骤202下的描述,此处不再赘述。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.
步骤403,当第一数据报文是乱序接收的报文时,接收设备确定第一数据报文是否为按照顺序发送的报文。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.
在本申请实施例中,当接收设备接收到第一数据报文,且第一数据报文为乱序接收的报文时,可以进一步获取第一数据报文中携带的发送顺序标签来进行乱序原因检测,其中,该发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文,接收设备可以根据第一数据报文中携带的发送顺序标签检测第一数据报文是否为按照顺序发送的报文。在本申请实施例中,一个数据报文是按照顺序发送的报文,可以是指发送设备在发送该数据报文时,按照报文序号的大小顺序发送该数据报文。In the embodiment of the present application, when the receiving device receives the first data packet, and the first data packet is an out-of-order packet, 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. In the embodiment of the present application, 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.
如果发送顺序标签指示该第一数据报文是发送设备侧乱序发送的报文,则按照正常流程指示发送设备发送缺失数据报文。具体比如,接收设备按照涓流算法周期计算控制报文的延时发送周期,并启动控制面定时器,等待定时器到期,依据涓流算法判定发送控制报文,发送设备在收到控制报文后,针对缺失数据报文,启动数据面定时器,等待定时器到期,依据涓流算法判定发送数据报文。接收设备收到数据报文,完成缺失数据报文的补齐。If the sending sequence label indicates that the first data packet is a packet sent by the sending device in an out-of-order manner, 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.
当第一数据报文中的发送顺序标签指示该第一数据报文是按照顺序发送的报文时,则说明接收设备接收到乱序报文是因为发送设备之前发送的数据报文在接收设备出发生碰撞导致的,此时,接收设备可以执行步骤404。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.
步骤404,当第一数据报文是按照顺序发送的报文时,接收设备加速获取缺失数据报文。Step 404: When the first data packet is a packet sent in sequence, the receiving device accelerates acquiring the missing data packet.
其中,该步骤404的执行过程与上述图2所示实施例中的步骤403类似。即接收设备通过缩短控制报文的发送时长来实现加速获取上述缺失数据报文;和/或,接收设备也可以通过向发送设备发送加速指示信息来指示发送设备加速发送缺失数据报文,从而实现加速获取上述缺失数据报文。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.
请参考图5,其示出了本申请一个示例性实施例提供的又一种报文传输控制方法的流程图。该方法可以用于图1所示的系统中,如图5所示,该方法可以包括如下步骤:Please refer to FIG. 5, which 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:
步骤501,发送设备在第一数据报文中添加顺序标签。Step 501: The sending device adds a sequence label to the first data packet.
发送设备可以根据第一数据报文的报文序号以及目标报文序号在第一数据报文中添加顺序标签,并对目标报文序号进行更新,其中,添加顺序标签以及更新目标报文序号的步骤可以参考上述步骤401下的描述。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. For the steps, refer to the description under step 401 above.
步骤502,发送设备发送包含顺序标签的第一数据报文。Step 502: The sending device sends a first data packet that includes a sequence label.
步骤503,发送设备接收加速指示信息。Step 503: The sending device receives the acceleration indication information.
其中,若接收设备检测到该第一数据报文是乱序接收的数据报文,且根据第一数据报文中携带的顺序标签确定该第一数据报文是按照顺序发送的,则可以发送加速指示信息,发送设备接收该加速指示信息,即可以根据加速指示信息加速发送缺失数据报文,该加速发送缺失数据报文的过程可以如后续步骤504和步骤505所示。If the receiving device detects that the first data packet is an out-of-order data packet, and determines that the first data packet is sent in sequence according to the sequence label carried in the first data packet, 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.
步骤504,发送设备根据该加速指示信息缩短缺失数据报文的延时发送时长,获得第二 延时发送时长。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.
步骤505,发送设备启动定时器定时到达第二延时发送时长时,向接收设备发送该缺失数据报文。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.
其中,该加速指示信息的具体实现形式,以及发送设备根据加速指示信息加速发送缺失数据报文的实现过程,可以参考图3所示的实施例中的步骤303和步骤304下的描述,此处不再赘述。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.
比如,以接收设备为接收方节点Node i,发送设备为发送方Node j为例,上述过程可以包括如下步骤:For example, 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:
步骤1:发送方Node j在发送数据报文时,通过前述打印标签的方法,在数据报文字段中携带标签“label”字段信息,以指示发送端是顺序发送还是乱序发送;由于接收碰撞,接收方Node i未收到数据报文Seq1;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;
步骤2:发送方Node j发送数据报文Seq2,并打印标签”label”=0,表明发送端是顺序发送;Step 2: The sender Node j sends the data message Seq2, and prints the label "label"=0, indicating that the sender is sent sequentially;
步骤3:接收方Node i接收数据报文Seq2,判定是乱序报文;进行乱序原因检测,若是碰撞造成的,则加速控制报文发送。具体如下: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:
步骤3.1接收方Node i收到数据报文Seq2时,通过比较上一次接收报文的序号和数据报文Seq2的序号,判定数据报文Seq2是乱序接收的报文;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.
步骤3.2接收方Node i检测本地buffer中是否存在上一次接收的数据报文的序号和数据报文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;
步骤3.3接收方Node i确定本地buffer中缺失上一次接收的数据报文的序号和数据报文Seq2的序号之间的报文序号所对应的数据报文中的任意一个数据报文时,进行乱序原因检测,读Seq2携带的字段“label”信息,得知发送方是顺序发送的,从而可以判定乱序接收是由于碰撞造成的;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;
步骤3.4通过前述加速控制报文发送的方法,进行控制报文的加速发送;Step 3.4: The accelerated transmission of the control packet is performed by using the foregoing method for accelerating control packet transmission;
步骤4:接收方Node i发送控制报文,且控制报文携带“加速标识”指示信息,指示邻居节点收到控制报文后,根据指示针对缺失的数据报文Seq1进行加速传播;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;
步骤5:发送方Node j收到控制报文之后,判定邻居节点缺失数据报文Seq1,且根据指示信息,采取前述加速数据报文的方法,进行数据报文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;
步骤6:发送方Node j加速发送数据报文Seq1;Step 6: The sender Node j accelerates the transmission of the data message Seq1;
步骤7:接收方Node i收到数据报文Seq1,完成缺失报文的补齐。Step 7: The receiving node Node i receives the data packet Seq1, and completes the missing packet.
综上所述,本申请实施例所示的方案,接收设备在接收到第一数据报文后,若第一数据报文的报文序号大于接收设备在接收第一数据报文之前最近接收到的第二数据报文的报文序号,第一数据报文的报文序号与第二数据报文的报文序号之间的序号间隔大于1,且接收设备未接收到报文序号处于第一数据报文的报文序号与第二数据报文的报文序号之间的任意数据报文时,说明接收的数据报文为乱序接收的报文。接收设备进一步进行乱序原因检测,具体为根据发送设备发送的第一数据报文中携带的标签来判断该第一数据报文是否为按照顺序发送的报文,若第一数据报文是按照顺序发送的报文,则接收设备可以加速获取缺失数据报文,以缩短发送设备向接收设备重传接收设备中缺失的数据报文的时延,从而提高整个网络的时延性能。In summary, in the solution shown in the embodiment of the present application, 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 When 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.
图6是本申请的一个示例性实施例提供的一种报文传输控制装置的结构方框图,该报文传输控制装置可以通过硬件电路或者软件硬件的结合实现成为接收设备的部分或者全部,该接收设备可以是上述图1所示系统中的第二节点140。该报文传输控制装置可以包括:接收单元601、检测单元602以及获取单元603;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;
其中,接收单元601,用于接收第一数据报文;The receiving unit 601 is configured to receive the first data packet.
检测单元602,用于检测所述第一数据报文是否为乱序接收的报文;The detecting unit 602 is configured to detect whether the first data packet is a message received out of order;
获取单元603,用于当检测结果为所述第一数据报文是乱序接收的报文时,加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。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.
在一种可能的实现方式中,所述检测单元602,具体用于,In a possible implementation manner, the detecting unit 602 is specifically configured to:
获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;Obtaining a message sequence number of the first data packet and a message sequence number of the second data packet; the second data packet is a datagram received by the receiving device before receiving the first data packet Text
当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,确定所述第一数据报文是乱序接收的报文。When 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. When 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.
在一种可能的实现方式中,所述装置还包括:In a possible implementation, the device further includes:
确定单元604,用于在所述获取单元603加速获取缺失数据报文之前,确定所述第一数据报文是否为按照顺序发送的报文;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;
所述获取单元603,具体用于当所述第一数据报文是按照顺序发送的报文时,加速获取缺失数据报文。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.
在一种可能的实现方式中,所述确定单元604,具体用于,In a possible implementation manner, the determining unit 604 is specifically configured to:
获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;Obtaining 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;
根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。And determining, according to the sending sequence label carried in the first data packet, whether the first data packet is a packet that is sent in sequence.
在一种可能的实现方式中,所述获取单元603,具体用于,In a possible implementation manner, the acquiring unit 603 is specifically configured to:
缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;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;
启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。When the start timer reaches the first delayed transmission duration, the control packet is sent to the sending device.
在一种可能的实现方式中,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元603,具体用于,In a possible implementation manner, when the delay time of the control packet is shortened, and the first delay transmission duration is obtained, the acquiring unit 603 is specifically configured to:
根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长,按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。And calculating 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 shortening a delay duration corresponding to the control packet according to a predetermined duration shortening rule Obtaining the first delayed transmission duration.
在一种可能的实现方式中,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元603,具体用于,In a possible implementation manner, when the delay time of the control packet is shortened, and the first delay transmission duration is obtained, the acquiring unit 603 is specifically configured to:
按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后 的涓流算法周期;Shortening the turbulence algorithm period corresponding to the control message according to a predetermined period shortening rule, and obtaining a shortened turbulence algorithm period;
根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。And calculating, according to the turbulence algorithm and the shortened turbulence algorithm period, the first delayed transmission duration.
在一种可能的实现方式中,所述获取单元603,具体用于,In a possible implementation manner, the acquiring unit 603 is specifically configured to:
向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。Sending 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.
上述各个单元执行的功能可以参考上述图2或图4所示实施例中由接收设备执行的步骤下的描述,此处不再赘述。For the functions performed by the foregoing units, reference may be made to the descriptions of the steps performed by the receiving device in the embodiment shown in FIG. 2 or FIG. 4, and details are not described herein again.
图7是本申请的一个示例性实施例提供的另一种报文传输控制装置的结构方框图,该报文传输控制装置可以通过硬件电路或者软件硬件的结合实现成为发送设备的部分或者全部,该发送设备可以是上述图1所示系统中的第一节点120或者第二节点140。该报文传输控制装置可以包括发送单元701、接收单元702以及缩短单元703;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;
发送单元701,用于发送第一数据报文;The sending unit 701 is configured to send the first data packet.
接收单元702,用于接收加速指示信息;The receiving unit 702 is configured to receive acceleration indication information.
缩短单元703,用于根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;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;
所述发送单元701,还用于启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。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.
在一种可能的实现方式中,所述发送单元701,具体用于,In a possible implementation manner, the sending unit 701 is specifically configured to:
发送包含发送顺序标签的所述第一数据报文。Sending the first data message including a sending sequence label.
在一种可能的实现方式中,所述装置还包括:In a possible implementation, the device further includes:
添加单元704,用于在所述发送单元向所述接收设备发送包含发送顺序标签的所述第一数据报文之前,Adding unit 704, before the sending unit sends the first data packet including the sending sequence label to the receiving device,
当所述第一数据报文的报文序号大于目标报文序号时,在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;Adding a first sending sequence label to the first data packet, where the first sending sequence label is used to indicate the first data, when the number of the first data packet is greater than the target packet number The packet is a packet sent by the sending device in an out-of-order manner;
当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。When the message sequence number of the first data packet is less than or equal to the target message sequence number, 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.
在一种可能的实现方式中,所述目标报文序号的起始值为n,n为正整数,所述装置还包括:更新单元705,用于In a possible implementation, 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:
若所述第一数据报文的报文序号大于所述目标报文序号,则在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;And if the message sequence number of the first data packet is greater than the target packet sequence number, after adding the first sending sequence tag to the first data packet, updating the value of the target packet sequence number Adding 1 to the message number of the first data packet;
若所述第一数据报文的报文序号等于所述目标报文序号,则在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。And if the message sequence number of the first data packet is equal to the target packet sequence number, after adding the second sending sequence tag to the first data packet, updating the value of the target packet sequence number Add 1 to the target message sequence number.
上述各个单元执行的功能可以参考上述图3或图5所示实施例中由发送设备执行的步骤下的描述,此处不再赘述。For the functions performed by the foregoing units, reference may be made to the descriptions of the steps performed by the sending device in the foregoing embodiment shown in FIG. 3 or FIG. 5, and details are not described herein again.
需要说明的是:上述实施例提供的报文传输控制装置在进行报文传输时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的报文传输控制装置与报文传输控制方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, 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. In addition, 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.
请参考图8,其示出了本申请的一个示例性实施例提供的接收设备的结构示意图。该接收设备80可以是上述图1所示系统中的第二节点140。Please refer to FIG. 8 , which 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.
该接收设备80可以包括:处理器81、发射器/接收器82和存储器83。The receiving device 80 can include a processor 81, a transmitter/receiver 82, and a memory 83.
处理器81可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:central processing unit,CPU)或者网络处理器(英文:network processor,NP)等。The processor 81 may include one or more processing units, which may be a central processing unit (CPU) or a network processor (NP).
发射器/接收器82用于支持接收设备80与上述实施例中的发送设备之间通过无线方式收发信息,例如,该发射器/接收器82可以是支持至少一种短距离无线通信方式(比如wifi、紫蜂以及超宽带等)或者蜂窝网络通信方式(比如2/3/4/5G)的天线模组。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. For example, 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).
在其他的实施方式中,处理器81可以通过总线与存储器83相连。存储器83可用于存储软件程序,该软件程序可以由处理器81执行,以实现图2或图4所示的实施例中由接收设备执行的方法步骤。此外,该存储器83中还可以存储各类业务数据或者用户数据。In other embodiments, 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. In addition, various types of service data or user data can be stored in the memory 83.
可以理解的是,图8仅仅示出了接收设备的简化设计,在实际应用中,所述接收设备可以包含任意数量的处理器81、发射器/接收器82以及存储器83。It will be appreciated that 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.
请参考图9,其示出了本申请的一个示例性实施例提供的发送设备的结构示意图。该发送设备90可以是上述图1所示系统中的第一节点120或者第二节点140。Please refer to FIG. 9 , which 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.
该发送设备90可以包括:处理器91、发射器/接收器92和存储器93。The transmitting device 90 can include a processor 91, a transmitter/receiver 92, and a memory 93.
处理器91可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:central processing unit,CPU)或者网络处理器(英文:network processor,NP)等。The processor 91 may include one or more processing units, which may be a central processing unit (CPU) or a network processor (NP).
发射器/接收器92用于支持发送设备90与上述实施例中的接收设备之间通过无线方式收发信息,例如,该发射器/接收器92可以是支持至少一种短距离无线通信方式(比如wifi、紫蜂以及超宽带等)或者蜂窝网络通信方式(比如2/3/4/5G)的天线模组。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. For example, 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).
在其他的实施方式中,处理器91可以通过总线与存储器93相连。存储器93可用于存储软件程序,该软件程序可以由处理器91执行,以实现图3或图5所示的实施例中由发送设备执行的方法步骤。此外,该存储器93中还可以存储各类业务数据或者用户数据。In other embodiments, 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. In addition, various types of service data or user data can also be stored in the memory 93.
可以理解的是,图9仅仅示出了发送设备的简化设计,在实际应用中,所述发送设备可以包含任意数量的处理器91、发射器/接收器92以及存储器93。It will be appreciated that 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 embodiment numbers of the present application are for the purpose of description only and do not represent the advantages and disadvantages of the embodiments.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部 分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product comprising one or more computer 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.
以上所述,仅为本申请能够实现的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,以权利要求为基础进行变化或替换所得到的方案,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。The foregoing is only one specific implementation that can be implemented by the present application. However, the scope of protection of the present application is not limited thereto, and any person skilled in the art is within the technical scope disclosed by the present application, and the claims are The resulting changes or replacements are intended to be covered by the scope of this application. Therefore, the scope of protection of the present application should be determined by the scope of protection of the claims.

Claims (30)

  1. 一种报文传输控制方法,其特征在于,所述方法包括:A message transmission control method, the method comprising:
    接收设备接收第一数据报文;Receiving, by the receiving device, the first data packet;
    所述接收设备检测所述第一数据报文是否为乱序接收的报文;The receiving device detects whether the first data packet is a message received out of order;
    当检测结果为所述第一数据报文是乱序接收的报文时,所述接收设备加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。When the detection result is that the first data packet is an out-of-order message, the receiving device accelerates acquiring the missing data packet, where the missing data packet is generated before the first data packet, and The data packet that the receiving device does not receive.
  2. 根据权利要求1所述的方法,其特征在于,所述接收设备检测所述第一数据报文是否为乱序接收的报文,包括:The method according to claim 1, wherein the receiving device detects whether the first data packet is an out-of-order message, including:
    所述接收设备获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;Receiving, by the receiving device, a message sequence number of the first data packet and a message sequence number of the second data packet; the second data packet is received by the receiving device before receiving the first data packet Data message to;
    当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,所述接收设备确定所述第一数据报文是乱序接收的报文。When 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. When 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, The receiving device determines that the first data packet is a message received out of order.
  3. 根据权利要求2所述的方法,其特征在于,所述接收设备加速获取缺失数据报文之前,还包括:The method according to claim 2, wherein before the receiving device accelerates the acquisition of the missing data message, the method further includes:
    所述接收设备确定所述第一数据报文是否为按照顺序发送的报文;Determining, by the receiving device, whether the first data packet is a packet sent in an order;
    当所述第一数据报文是按照顺序发送的报文时,所述接收设备加速获取缺失数据报文。When the first data packet is a packet that is sent in sequence, the receiving device accelerates acquiring the missing data packet.
  4. 根据权利要求3所述的方法,其特征在于,所述接收设备确定所述第一数据报文是否为按照顺序发送的报文,包括:The method according to claim 3, wherein the receiving device determines whether the first data packet is a message 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 determines, according to the sending sequence label carried in the first data packet, whether the first data packet is a packet that is sent in sequence.
  5. 根据权利要求1至4任一所述的方法,其特征在于,所述接收设备加速获取缺失数据报文,包括:The method according to any one of claims 1 to 4, wherein the receiving device accelerates the acquisition of the missing data message, including:
    所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;The receiving device shortens the delay sending duration of the control packet, and obtains a first delayed sending duration, where the control packet is used to instruct the sending device to send the missing data packet;
    所述接收设备启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。And when the receiving device starts the timer to reach the first delayed sending duration, sending the control packet to the sending device.
  6. 根据权利要求5所述的方法,其特征在于,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:The method according to claim 5, wherein the receiving device shortens the delay transmission duration of the control message, and obtains the first delayed transmission duration, including:
    所述接收设备根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长;The receiving device calculates a delay sending duration corresponding to the control packet according to a turbulence algorithm and a turbulence algorithm period corresponding to the control packet;
    所述接收设备按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。The receiving device shortens the delay transmission duration corresponding to the control packet according to a predetermined duration shortening rule, and obtains the first delayed transmission duration.
  7. 根据权利要求5所述的方法,其特征在于,所述接收设备缩短控制报文的延时发送时长,获得第一延时发送时长,包括:The method according to claim 5, wherein the receiving device shortens the delay transmission duration of the control message, and obtains the first delayed transmission duration, including:
    所述接收设备按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期;The receiving device shortens the turbulence algorithm period corresponding to the control message according to a predetermined period shortening rule, and obtains the shortened turbulence algorithm period;
    所述接收设备根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。The receiving device calculates and obtains the first delayed transmission duration according to the turbulence algorithm and the shortened turbulence algorithm period.
  8. 根据权利要求1至4任一所述的方法,其特征在于,所述接收设备加速获取缺失数据报文,包括:The method according to any one of claims 1 to 4, wherein the receiving device accelerates the acquisition of the missing data message, 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.
  9. 一种报文传输控制方法,其特征在于,所述方法包括:A message transmission control method, the method comprising:
    发送设备发送第一数据报文;The sending device sends the first data packet.
    所述发送设备接收加速指示信息;The transmitting device receives acceleration indication information;
    所述发送设备根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;The sending device shortens the delay sending duration of the missing data packet according to the acceleration indication information, and obtains a second delayed sending duration, where the missing data packet is generated before the first data packet, and the receiving device Unreceived data message;
    所述发送设备启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。And sending, by the sending device, the missing data packet to the receiving device when the timer starts to reach the second delayed sending duration.
  10. 根据权利要求9所述的方法,其特征在于,所述发送设备发送第一数据报文,包括:The method according to claim 9, wherein the sending device sends the first data packet, including:
    所述发送设备发送包含发送顺序标签的所述第一数据报文。The sending device sends the first data packet including a sending sequence label.
  11. 根据权利要求10所述的方法,其特征在于,所述发送设备发送包含发送顺序标签的所述第一数据报文之前,还包括:The method according to claim 10, wherein before the transmitting device sends the first data packet including the sending sequence label, the method further includes:
    当所述第一数据报文的报文序号大于目标报文序号时,所述发送设备在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;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 sent by the sending device in an out-of-order manner;
    当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,所述发送设备在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。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, and the second sending sequence label The instruction is used to indicate that the first data packet is a packet sent by the sending device in sequence.
  12. 根据权利要求11所述的方法,其特征在于,所述目标报文序号的起始值为n,n为 正整数,所述方法还包括:The method according to claim 11, wherein the starting value of the target message sequence number is n, and n is a positive integer. The method further includes:
    若所述第一数据报文的报文序号大于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;If the message sequence number of the first data packet is greater than the target message sequence number, 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 be the number of the message of the first data packet plus one;
    若所述第一数据报文的报文序号等于所述目标报文序号,则所述发送设备在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。If the message sequence number of the first data packet is equal to the target message sequence number, the sending device adds the second sending sequence tag to the first data packet, and then the target packet The value of the sequence number is updated to the target message sequence number plus one.
  13. 一种传输控制装置,其特征在于,所述装置包括:A transmission control device, characterized in that the device comprises:
    接收单元,用于接收第一数据报文;a receiving unit, configured to receive the first data packet;
    检测单元,用于检测所述第一数据报文是否为乱序接收的报文;a detecting unit, configured to detect whether the first data packet is an out-of-order message;
    获取单元,用于当检测结果为所述第一数据报文是乱序接收的报文时,加速获取缺失数据报文,所述缺失数据报文是在所述第一数据报文之前生成,且所述接收设备未接收到的数据报文。An obtaining unit, configured to: when the detection result is that the first data packet is an out-of-order message, accelerate to acquire a 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.
  14. 根据权利要求13所述的装置,其特征在于,所述检测单元,具体用于,The device according to claim 13, wherein the detecting unit is specifically configured to
    获取所述第一数据报文的报文序号与第二数据报文的报文序号;所述第二数据报文是所述接收设备在接收所述第一数据报文之前接收到的数据报文;Obtaining a message sequence number of the first data packet and a message sequence number of the second data packet; the second data packet is a datagram received by the receiving device before receiving the first data packet Text
    当所述第一数据报文的报文序号大于所述第二数据报文的报文序号,所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的序号间隔大于1,且所述接收设备未接收到报文序号处于所述第一数据报文的报文序号与所述第二数据报文的报文序号之间的任意数据报文时,确定所述第一数据报文是乱序接收的报文。When 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. When 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.
  15. 根据权利要求14所述的装置,其特征在于,所述装置还包括:The device according to claim 14, wherein the device further comprises:
    确定单元,用于在所述获取单元加速获取缺失数据报文之前,确定所述第一数据报文是否为按照顺序发送的报文;a determining unit, configured to determine, before the acquiring unit accelerates acquiring the missing data message, whether the first data packet is a message that is sent in sequence;
    所述获取单元,具体用于当所述第一数据报文是按照顺序发送的报文时,加速获取缺失数据报文。The acquiring unit is specifically configured to accelerate acquiring the missing data packet when the first data packet is a packet that is sent in sequence.
  16. 根据权利要求15所述的装置,其特征在于,所述确定单元,具体用于,The apparatus according to claim 15, wherein said determining unit is specifically configured to:
    获取所述第一数据报文中携带的发送顺序标签,所述发送顺序标签用于指示对应的数据报文是否为按照顺序发送的报文;Obtaining 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;
    根据所述第一数据报文中携带的发送顺序标签确定所述第一数据报文是否为按照顺序发送的报文。And determining, according to the sending sequence label carried in the first data packet, whether the first data packet is a packet that is sent in sequence.
  17. 根据权利要求13至16任一所述的装置,其特征在于,所述获取单元,具体用于,The device according to any one of claims 13 to 16, wherein the obtaining unit is specifically configured to:
    缩短控制报文的延时发送时长,获得第一延时发送时长,所述控制报文用于指示所述发送设备发送所述缺失数据报文;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;
    启动定时器定时到达所述第一延时发送时长时,向所述发送设备发送所述控制报文。When the start timer reaches the first delayed transmission duration, the control packet is sent to the sending device.
  18. 根据权利要求17所述的装置,其特征在于,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元,具体用于,The apparatus according to claim 17, wherein the obtaining unit is specifically configured to: when the delay time of the control packet is shortened, and the first delay transmission duration is obtained,
    根据涓流算法以及所述控制报文对应的涓流算法周期,计算所述控制报文对应的延时发送时长;And calculating, according to the turbulence algorithm and the turbulence algorithm period corresponding to the control packet, a delay sending duration corresponding to the control packet;
    按照预定的时长缩短规则对所述控制报文对应的延时发送时长进行缩短,获得所述第一延时发送时长。The delay transmission duration corresponding to the control packet is shortened according to a predetermined duration shortening rule, and the first delay transmission duration is obtained.
  19. 根据权利要求17所述的装置,其特征在于,在缩短控制报文的延时发送时长,获得第一延时发送时长时,所述获取单元,具体用于,The apparatus according to claim 17, wherein the obtaining unit is specifically configured to: when the delay time of the control packet is shortened, and the first delay transmission duration is obtained,
    按照预定的周期缩短规则对所述控制报文对应的涓流算法周期进行缩短,获得缩短后的涓流算法周期;Shortening the turbulence algorithm period corresponding to the control message according to a predetermined period shortening rule, and obtaining a shortened turbulence algorithm period;
    根据涓流算法以及所述缩短后的涓流算法周期,计算获得所述第一延时发送时长。And calculating, according to the turbulence algorithm and the shortened turbulence algorithm period, the first delayed transmission duration.
  20. 根据权利要求13至16任一所述的装置,其特征在于,所述获取单元,具体用于,The device according to any one of claims 13 to 16, wherein the obtaining unit is specifically configured to:
    向所述发送设备发送加速指示信息,所述加速指示信息用于指示所述发送设备缩短所述缺失数据报文的延时发送时长。Sending 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.
  21. 一种报文传输控制装置,其特征在于,所述装置包括:A message transmission control apparatus, characterized in that the apparatus comprises:
    发送单元,用于发送第一数据报文;a sending unit, configured to send the first data packet;
    接收单元,用于接收加速指示信息;a receiving unit, configured to receive acceleration indication information;
    缩短单元,用于根据所述加速指示信息缩短缺失数据报文的延时发送时长,获得第二延时发送时长,所述缺失数据报文是在所述第一数据报文之前生成,且接收设备未接收到的数据报文;a shortening unit, configured to shorten a 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 received Data packets not received by the device;
    所述发送单元,还用于启动定时器定时到达所述第二延时发送时长时,向所述接收设备发送所述缺失数据报文。The sending unit 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.
  22. 根据权利要求21所述的装置,其特征在于,所述发送单元,具体用于,The apparatus according to claim 21, wherein said transmitting unit is specifically configured to:
    发送包含发送顺序标签的所述第一数据报文。Sending the first data message including a sending sequence label.
  23. 根据权利要求22所述的装置,其特征在于,所述装置还包括:The device of claim 22, wherein the device further comprises:
    添加单元,用于在所述发送单元向所述接收设备发送包含发送顺序标签的所述第一数据报文之前,Adding a unit, before the sending unit sends the first data packet including the sending sequence label to the receiving device,
    当所述第一数据报文的报文序号大于目标报文序号时,在所述第一数据报文中添加第一发送顺序标签,所述第一发送顺序标签用于指示所述第一数据报文是所述发送设备乱序发送的报文;Adding a first sending sequence label to the first data packet, where the first sending sequence label is used to indicate the first data, when the number of the first data packet is greater than the target packet number The packet is a packet sent by the sending device in an out-of-order manner;
    当所述第一数据报文的报文序号小于或者等于所述目标报文序号时,在所述第一数据报文中添加第二发送顺序标签,所述第二发送顺序标签用于指示所述第一数据报文是所述发送设备顺序发送的报文。When the message sequence number of the first data packet is less than or equal to the target message sequence number, 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.
  24. 根据权利要求23所述的装置,其特征在于,所述目标报文序号的起始值为n,n为正整数,所述装置还包括:更新单元,用于The apparatus according to claim 23, wherein the starting value of the target message number is n, n is a positive integer, and the apparatus further comprises: an updating unit, configured to:
    若所述第一数据报文的报文序号大于所述目标报文序号,则在所述第一数据报文中添加所述第一发送顺序标签之后,将所述目标报文序号的值更新为所述第一数据报文的报文序号加1;And if the message sequence number of the first data packet is greater than the target packet sequence number, after adding the first sending sequence tag to the first data packet, updating the value of the target packet sequence number Adding 1 to the message number of the first data packet;
    若所述第一数据报文的报文序号等于所述目标报文序号,则在所述第一数据报文中添加所述第二发送顺序标签之后,将所述目标报文序号的值更新为所述目标报文序号加1。And if the message sequence number of the first data packet is equal to the target packet sequence number, after adding the second sending sequence tag to the first data packet, updating the value of the target packet sequence number Add 1 to the target message sequence number.
  25. 一种接收设备,其特征在于,所述接收设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述接收设备实现如权利要求1至8任一所述的报文传输控制方法。A receiving device, comprising: a processor and a memory, wherein the memory stores an instruction, the processor executing the instruction to cause the receiving device to implement any one of claims 1 to 8 The message transmission control method.
  26. 一种发送设备,其特征在于,该发送设备包括:处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令使得所述发送设备实现如权利要求9至12任一所述的报文传输控制方法。A transmitting device, comprising: a processor and a memory, wherein the memory stores an instruction, and the processor executes the instruction to cause the transmitting device to implement any one of claims 9 to 12. The message transmission control method described.
  27. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,接收设备中的处理器执行所述指令使得所述接收设备实现如权利要求1至8任一所述的报文传输控制方法。A computer readable storage medium, wherein the computer readable storage medium stores instructions, and a processor in a receiving device executes the instructions such that the receiving device implements any one of claims 1 to 8 Message transmission control method.
  28. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,发送设备中的处理器执行所述指令使得所述发送设备实现如权利要求9至12任一所述的报文传输控制方法。A computer readable storage medium, wherein the computer readable storage medium stores instructions, and a processor in a transmitting device executes the instructions such that the transmitting device implements any one of claims 9 to 12 Message transmission control method.
  29. 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至8任一所述的报文传输控制方法。A computer program product comprising instructions, characterized in that, when run on a computer, the computer is caused to perform the message transmission control method according to any one of claims 1 to 8.
  30. 一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求9至12任一所述的报文传输控制方法。A computer program product comprising instructions, characterized in that, when run on a computer, the computer is caused to perform the message transmission control method according to any one of claims 9 to 12.
PCT/CN2018/122342 2017-12-27 2018-12-20 Message transmission control method and apparatus WO2019128840A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711446070.XA CN109981470A (en) 2017-12-27 2017-12-27 Message transmission control method and device
CN201711446070.X 2017-12-27

Publications (1)

Publication Number Publication Date
WO2019128840A1 true WO2019128840A1 (en) 2019-07-04

Family

ID=67063217

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/122342 WO2019128840A1 (en) 2017-12-27 2018-12-20 Message transmission control method and apparatus

Country Status (2)

Country Link
CN (1) CN109981470A (en)
WO (1) WO2019128840A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147126A (en) * 2019-12-26 2020-05-12 中国人民解放军空军勤务学院 Beidou satellite short message communication data unpacking transmission method
CN114731334A (en) * 2020-02-14 2022-07-08 华为技术有限公司 Message order preserving method and device
US11462938B2 (en) * 2019-09-05 2022-10-04 Toshiba Mitsubishi-Electric Industrial Systems Corporation Uninterruptible power supply system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143088B (en) * 2019-12-18 2023-06-20 北京浩瀚深度信息技术股份有限公司 Message disorder problem processing method, device, equipment and storage medium
CN113328901B (en) * 2020-02-28 2023-04-28 华为技术有限公司 Message out-of-order detection method, device and system
CN114793218A (en) * 2021-01-25 2022-07-26 华为技术有限公司 Message processing method and related device
CN114501345A (en) * 2022-04-15 2022-05-13 希诺麦田技术(深圳)有限公司 Group call full duplex realization method, device and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825846A (en) * 2005-02-25 2006-08-30 华为技术有限公司 Message transmission system based on transmission control protocol and method thereof
CN101588225A (en) * 2009-06-25 2009-11-25 杭州再灵电子科技有限公司 Quick retransmission technique based on packet switching network
CN102404069A (en) * 2010-09-07 2012-04-04 中兴通讯股份有限公司 Method for data encapsulation link packet loss and derangement and system thereof
WO2016087331A1 (en) * 2014-12-05 2016-06-09 Philips Lighting Holding B.V. Method for operating a communication device.
CN106330414A (en) * 2016-08-16 2017-01-11 杭州华三通信技术有限公司 Message transmission method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562500B (en) * 2009-05-25 2012-07-04 腾讯科技(深圳)有限公司 Data transmission request method, data transmission method and data transmission device
CN101697631B (en) * 2009-10-28 2015-05-13 中兴通讯股份有限公司 Method and device for reordering out-of-order orderable data packets
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 (en) * 2011-09-16 2017-04-26 中兴通讯股份有限公司 Construction method of radio link control (RLC) layer state report and apparatus thereof
CN104202656B (en) * 2014-09-16 2017-08-04 国家计算机网络与信息安全管理中心 Network audio MP3 flows out of order segmentation decoding method
CN106506124B (en) * 2015-09-07 2019-09-13 中国移动通信集团公司 It retransmits message and determines method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825846A (en) * 2005-02-25 2006-08-30 华为技术有限公司 Message transmission system based on transmission control protocol and method thereof
CN101588225A (en) * 2009-06-25 2009-11-25 杭州再灵电子科技有限公司 Quick retransmission technique based on packet switching network
CN102404069A (en) * 2010-09-07 2012-04-04 中兴通讯股份有限公司 Method for data encapsulation link packet loss and derangement and system thereof
WO2016087331A1 (en) * 2014-12-05 2016-06-09 Philips Lighting Holding B.V. Method for operating a communication device.
CN106330414A (en) * 2016-08-16 2017-01-11 杭州华三通信技术有限公司 Message transmission method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, ZHONGQING: "Principle and Application Method of Turbulence Algorithm", MOBILE COMMUNICATION, 23 May 2012 (2012-05-23) *

Cited By (5)

* Cited by examiner, † Cited by third party
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 (en) * 2019-12-26 2020-05-12 中国人民解放军空军勤务学院 Beidou satellite short message communication data unpacking transmission method
CN111147126B (en) * 2019-12-26 2021-11-23 中国人民解放军空军勤务学院 Beidou satellite short message communication data unpacking transmission method
CN114731334A (en) * 2020-02-14 2022-07-08 华为技术有限公司 Message order preserving method and device
CN114731334B (en) * 2020-02-14 2023-10-20 华为技术有限公司 Message order preserving method and device

Also Published As

Publication number Publication date
CN109981470A (en) 2019-07-05

Similar Documents

Publication Publication Date Title
WO2019128840A1 (en) Message transmission control method and apparatus
JP6125587B2 (en) System and method for acknowledging communications from multiple devices
US9407507B2 (en) Topology discovery in a hybrid network
JP6073917B2 (en) System and method for sending and receiving discovery and paging messages
JP6672453B2 (en) System and method for signaling and generating a variable length block acknowledgment field in a wireless network
US7310761B2 (en) Apparatus and method for retransmitting data packets in mobile ad hoc network environment
JP2017521947A5 (en)
BRPI0713718A2 (en) user device, base station and method for use in mobile communication system
JP2019036971A (en) Systems and methods for effective access point discovery
JP6113246B2 (en) System and method for resetting a network station
US8312339B2 (en) Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system
US20220232449A1 (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
US10931564B2 (en) Handling of acknowledgement in wireless radio ad-hoc networks
US7983234B2 (en) Wireless communication apparatus with a block acknowledgement function and a wireless communication method
KR101638425B1 (en) A method for signal transmission in the downlink of multi-hop wireless communication systems
CN115767755A (en) Lightweight scheduling method and system suitable for LoRaWAN network terminal node and storage medium
US11190979B2 (en) Methods and apparatus for forwarding packets between child nodes and parent nodes
WO2018113192A1 (en) Wireless device wakeup method, sending device, and receiving device
CN117652201A (en) Overload of broadcast dwell intervals in an asynchronous channel hopping mesh network
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
WO2011080554A1 (en) Energy efficient integrated routing protocol
JP2018525887A (en) Wireless relay
JP5986528B2 (en) Control device, program and method for preventing transition to sleep mode in terminal
Sharmila et al. Detectable opportunistic forwarding using admission control in wireless sensor network

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