WO2023193689A1 - Packet transmission method and apparatus, device, and computer-readable storage medium - Google Patents

Packet transmission method and apparatus, device, and computer-readable storage medium Download PDF

Info

Publication number
WO2023193689A1
WO2023193689A1 PCT/CN2023/086011 CN2023086011W WO2023193689A1 WO 2023193689 A1 WO2023193689 A1 WO 2023193689A1 CN 2023086011 W CN2023086011 W CN 2023086011W WO 2023193689 A1 WO2023193689 A1 WO 2023193689A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
message
transmission
messages
delay
Prior art date
Application number
PCT/CN2023/086011
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 WO2023193689A1 publication Critical patent/WO2023193689A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6265Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation

Definitions

  • This application relates to the field of communication technology, and in particular to message transmission methods, devices, equipment and computer-readable storage media.
  • the message transmission method is multiplex transmission.
  • the messages to be transmitted are distributed over multiple links with different delays for transmission, and then the received out-of-order messages are reordered at the receiving end and the ordered messages are forwarded to the local area network (local area network). LAN).
  • local area network local area network
  • a message transmission method is provided.
  • the method is applied to a sending device.
  • the sending device connects a first link and a second link.
  • the performance of the first link is better than that of the second link.
  • Performance of the link the method includes: acquiring multiple messages to be transmitted, the multiple messages including a first message and a second message, the timing of the first message being earlier than the second message Timing of messages: transmit the first message through the first link, and transmit the second message through the second link.
  • the transmission method has short transmission time and high efficiency.
  • the performance of the first link is determined based on at least one of the delay, bandwidth and packet loss rate of the first link
  • the performance of the second link is determined based on the At least one of the delay, bandwidth and packet loss rate of the second link is determined.
  • the method of determining the performance of the first link and the performance of the second link is not limited, and the flexibility is high.
  • the multiple messages belong to the same service.
  • the multiple messages belong to the same type of service, and the same type of service refers to the same service type or the same service level agreement (SLA).
  • SLA service level agreement
  • Multiple messages can belong to the same business or the same type of business, which is highly versatile.
  • the sending device is also connected to a third link, and the performance of the first link and the second link is better than the performance of the third link; the method It also includes: obtaining a third message to be transmitted, the timing of the first message and the second message is prior to the timing of the third message, and transmitting the third message through the third link.
  • the sending device can also connect to other links (third links), and the link conditions to which the sending device is connected are not limited, and the flexibility is high.
  • the method before transmitting the first message through the first link and transmitting the second message through the second link, the method further includes: determining the Determine the first transmission number of packets transmitted by the first link in one transmission cycle, and determine the second transmission number of packets transmitted by the second link in one transmission cycle; based on the plurality of packets A first message is determined from the plurality of messages based on the number and the first transmission number, and a second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission number. message. The first message is determined based on the first transmission quantity, and the second message is determined based on the second transmission quantity. This determination method is highly accurate.
  • determining the first transmission number of transmission packets of the first link in one transmission cycle includes: based on the delay of the first link and the second The delay of the link determines the transmission period; the first transmission number is calculated based on the average message size of the plurality of messages, the transmission period and the bandwidth of the first link. The first transmission number calculated based on the average packet size, transmission cycle and bandwidth of the first link effectively reflects the transmission performance of the first link.
  • the method before determining the transmission period based on the delay of the first link and the delay of the second link, the method further includes: receiving a message sent from a receiving device.
  • the delay of the first link and the second link the delay is obtained based on statistics of the receiving device, and the receiving device is connected to the first link and the second link; or , the sending device counts the delay of the first link and the second link; or, receives the delay of the first link and the second link sent from the network management device, so
  • the network management device is used to manage the network related to the sending device.
  • the method of obtaining the delay of the first link and the second link is not limited, and the flexibility is high.
  • a message transmission device is provided.
  • the device is applied to a sending device.
  • the sending device connects a first link and a second link.
  • the performance of the first link is better than that of the second link. Performance, the device includes:
  • An acquisition module configured to acquire multiple messages to be transmitted, where the multiple messages include a first message and a second message, and the timing of the first message precedes the timing of the second message;
  • a transmission module configured to transmit the first message through the first link and the second message through the second link.
  • the performance of the first link is determined based on at least one of the delay, bandwidth and packet loss rate of the first link
  • the performance of the second link is determined based on the At least one of the delay, bandwidth and packet loss rate of the second link is determined.
  • the multiple messages belong to the same service.
  • the multiple messages belong to the same type of service, and the same type of service refers to the same service type or the same service level agreement (SLA).
  • SLA service level agreement
  • the sending device is also connected to a third link, and the performance of the first link and the second link is better than the performance of the third link; the obtaining The module is also used to obtain the third message to be transmitted. The timing of the first message and the second message is prior to the timing of the third message. The transmission module is also used to pass The third link transmits the third message.
  • the device further includes: a determining module configured to determine whether the first link is in a The first transmission number of transmission packets in the transmission cycle determines the second transmission number of packets transmitted by the second link in the one transmission cycle; based on the number of the plurality of packets and the first transmission number The transmission quantity determines the first message from the plurality of messages, and the second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
  • a determining module configured to determine whether the first link is in a The first transmission number of transmission packets in the transmission cycle determines the second transmission number of packets transmitted by the second link in the one transmission cycle; based on the number of the plurality of packets and the first transmission number The transmission quantity determines the first message from the plurality of messages, and the second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
  • the determining module is configured to determine the transmission period based on the delay of the first link and the delay of the second link;
  • the first transmission number is calculated based on the average packet size, the transmission period and the bandwidth of the first link.
  • the device further includes: a statistics module, configured to receive the delay of the first link and the second link sent from the receiving device, the delay is based on the Obtain statistics from a receiving device, which is connected to the first link and the second link; or, collect statistics on the delay of the first link and the second link; or, receive data from the network
  • the delay of the first link and the second link sent by the management device is used to manage the network related to the sending device.
  • a message transmission device in a third aspect, includes a memory and a processor; at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor, so that the The message transmission device implements the message transmission method described in the first aspect.
  • a computer-readable storage medium in which at least one instruction is stored, and the instruction is loaded and executed by a processor to implement the message transmission method described in the first aspect.
  • a computer program includes a computer program/instruction, and the computer program/instruction is executed by a processor to enable the computer to implement the message described in the first aspect. Transmission method.
  • a communication device which includes a transceiver, a memory, and a processor.
  • the transceiver, the memory and the processor communicate with each other through an internal connection path
  • the memory is used to store instructions
  • the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals.
  • the processor executes the instructions stored in the memory, the processor is caused to execute the method in the first aspect or any possible implementation of the first aspect.
  • processors there are one or more processors and one or more memories.
  • the memory may be integrated with the processor, or the memory may be provided separately from the processor.
  • the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated on the same chip as the processor, or can be set in different On the chip, this application does not limit the type of memory and the arrangement of the memory and the processor.
  • ROM read-only memory
  • a chip including a processor configured to call from a memory and run instructions stored in the memory, so that a communication device equipped with the chip executes the methods in the above aspects.
  • another chip including: an input interface, an output interface, a processor, and a memory.
  • the input interface, the output interface, the processor, and the memory are connected through an internal connection path.
  • the processing The processor is used to execute the code in the memory, and when the code is executed, the processor is used to execute the methods in the above aspects.
  • Figure 1 is a schematic diagram of the implementation environment of message transmission provided by the embodiment of the present application.
  • Figure 2 is a flow chart of a message transmission method provided by an embodiment of the present application.
  • Figure 3 is a schematic diagram of a process of transmitting multiple messages provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of another process of transmitting multiple messages provided by an embodiment of the present application.
  • Figure 5 is a schematic structural diagram of a message transmission device provided by an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of another network device provided by an embodiment of the present application.
  • FIG. 1 shows a schematic diagram of the implementation environment of the method provided by the embodiment of the present application.
  • the implementation environment includes: a sending device 101 and a receiving device 102. Among them, a first link and a second link are connected between the sending device 101 and the receiving device 102.
  • the sending device 101 allocates the multiple messages based on the message transmission method provided by the embodiment of the present application, and then transmits the first message to the receiving device 102 through the first link.
  • the second link transmits the second message to the receiving device 102 .
  • the sending device 101 and the receiving device 102 are located on the same network device.
  • the sending device 101 is located on one network device, and the receiving device 102 is located on another network device.
  • the sending device 101 may be a system composed of multiple devices, and the receiving device 102 may be a system composed of multiple devices, which is not limited in the embodiment of the present application.
  • the network device can be any device that can transmit packets, such as terminals, servers, routers, switches, virtual machines, access switches, access routers (AR), etc.
  • inventions of the present application provide a message transmission method.
  • the message transmission method can be executed by the sending device.
  • the flow chart of the method is shown in Figure 2, including S201-S202.
  • the sending device obtains multiple messages to be transmitted.
  • the multiple messages include a first message and a second message.
  • the timing of the first message is earlier than the timing of the second message.
  • multiple messages belong to the same service.
  • multiple packets are for the same video phone service.
  • multiple messages may also belong to the same type of business, which includes but is not limited to the same business type or the same service level agreement (service level agreement, SLA).
  • SLA service level agreement
  • the sending device receives multiple video phone service packets. Since the service types of the packets are the same and they are all video phone services, the multiple video phone service packets belong to the same type of service.
  • the sending device receives a video phone service packet and a game service packet. Since the video phone service and the game service have the same SLA, the video phone service packet and the game service packet belong to the same category. business.
  • the sending device receives multiple messages and uses the multiple messages as messages to be transmitted.
  • the transmission protocol of the multiple received messages may be a transmission control protocol (transmission control protocol, TCP). It may also be other transmission protocols, which are not limited in the embodiments of this application.
  • the multiple messages received by the sending device may be messages from within the network device.
  • the sending device receives a message forwarded inside the sending device as multiple packets to be transmitted. message.
  • the multiple messages received by the sending device may also be messages from outside the network device, that is, messages sent by other network devices. For example, receive a packet sent from a network device upstream of the sending device.
  • the sending device provides a buffer for multiple received messages. After arriving at the sending device, the multiple messages will be cached in the buffer and wait for transmission. For the process of determining the first message and the second message from multiple messages, see S202.
  • the sending device connects the first link and the second link, and the performance of the first link is better than the performance of the second link; the sending device transmits the first message through the first link, and transmits the second message through the second link. Two messages.
  • the performance of the first link is determined based on at least one of the delay, bandwidth, and packet loss rate of the first link
  • the performance of the second link is determined based on the delay, bandwidth, and packet loss rate of the second link. At least one of them is determined. It should be noted that the indicators referenced when determining the performance of the first link and the second link are the same, that is, when the performance of the first link is determined based on the delay of the first link, the second link The performance of the link is determined based on the delay of the second link.
  • the process of obtaining the delay, bandwidth, and packet loss rate of the first link is similar to the process of obtaining the delay of the first link shown in the following embodiments, and the process of obtaining the delay, bandwidth, and packet loss rate of the second link
  • the process of obtaining the packet rate is similar to the process of obtaining the delay of the second link shown in the following embodiments, and will not be described again here.
  • the sending device before transmitting the first message and the second message, the sending device further needs to determine the first message and the second message from multiple messages.
  • the determination method includes: determining the first transmission number of packets transmitted by the first link in one transmission cycle, and determining the second transmission number of packets transmitted by the second link in one transmission cycle; based on the number of multiple messages and The first transmission quantity determines the first message from the plurality of messages, and the second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
  • determining the first transmission number of packets transmitted by the first link in one transmission cycle includes: determining the transmission cycle based on the delay of the first link and the delay of the second link; The first transmission number is calculated based on the average packet size, transmission cycle and bandwidth of the first link.
  • the embodiments of this application do not limit the method of obtaining the delay of the first link and the delay of the second link, and they can be obtained by including but not limited to the following three methods.
  • the sending device receives the delay of the first link and the second link sent from the receiving device.
  • the delay is obtained based on statistics of the receiving device.
  • the receiving device is connected to the first link and the second link.
  • Figure 3 provides a schematic diagram of a process of transmitting multiple messages.
  • the receiving device is configured with the link status statistics function.
  • the receiving device receives the message transmitted from the sending device
  • the delays of the first link and the second link are counted, and the delays of the first link and the second link are sent to the network-aware scheduling model of the sending device.
  • the network-aware scheduling model is used to determine the first message and the second message from multiple messages based on the received delays of the first link and the second link.
  • the received message information includes the time of the received message.
  • the packets received by the receiving device for counting the delay of the first link and the second link may be packets transmitted by the sending device to meet user requirements before the sending device transmits multiple packets. arts. For example, messages transmitted to meet users' needs for network access.
  • the message received by the receiving device for counting the delay of the first link and the second link may also be a message only used for obtaining the delay of the first link and the second link.
  • the sending device sends a test packet to the receiving device, and the receiving device counts the delays of the first link and the second link based on the test packet, and sends the statistical results to the sending device.
  • the receiving device may periodically collect statistics on the delays of the first link and the second link.
  • the statistical period can be a value with any unit and size set based on experience. For example, set the statistical period to count once for each transmission. At this time, the reception Each time the device receives a message transmitted by the sending device, statistics will be collected. For another example, set the statistics period to once every minute. At this time, the receiving device counts the delay of the first link and the second link every one minute.
  • the receiving device may send the statistical results to the sending device every time the statistics are collected, so that the sending device obtains the delays of the first link and the second link.
  • the receiving device can also send statistical results to the sending device based on the sending period after collecting statistics based on the statistical period.
  • the process of determining the sending cycle is similar to the process of determining the statistical cycle, and will not be described in detail here.
  • Obtaining method 2 The sending device counts the delays of the first link and the second link.
  • the second acquisition method should be used in an application scenario where the sending device is configured with a link status statistics function.
  • sending devices with built-in link status statistics functions include ARs with active link detection and ARs that can perform dialing algorithms or congestion control algorithms.
  • Congestion control algorithms are, for example, bottleneck bandwidth and round-trip propagation time (BBR). Since executing the above congestion control algorithm requires its own link status statistics as input to the congestion control algorithm, that is, the AR that executes the congestion control algorithm is configured with the link status statistics function.
  • FIG. 4 provides a schematic diagram of another process of transmitting multiple messages.
  • the sending device is configured with a network-aware scheduling model to determine the first message from multiple messages. and the second message.
  • the sending device obtains the delay of the first link and the second link based on its own link status statistics function.
  • the link status statistics function of the sending device can be implemented by a network-aware scheduling model.
  • the network-aware scheduling model is not only used to determine the first message and the second message from multiple messages, but also The delays of the first link and the second link can be obtained directly.
  • the link status statistics function of the sending device may not be a function of the network-aware scheduling model, but may be implemented by an independent link status statistics module.
  • the module with the link status statistics function inside the sending device can send the delay of the first link and the second link to the network-aware scheduling Model.
  • Obtaining method three receiving the delay of the first link and the second link sent from the network management device.
  • the network management device is used to manage the network related to the sending device.
  • the network related to the sending device may refer to the network used by the sending device to transmit multiple packets, or may also refer to other networks.
  • the network management device manages the network related to the sending device to ensure the normal and efficient operation of the network.
  • the embodiments of this application do not limit the network management device, and it can be any device embedded with a network management protocol, such as a router, a switch, etc.
  • the network management device counts the delays of the first link and the second link, and sends the delays of the first link and the second link to the sending device.
  • the sending device can determine the transmission period based on the delay of the first link and the second link. For example, the least common multiple (LCM) of the delay of the first link and the delay of the second link is calculated, and the least common multiple is determined to be the transmission period. After the transmission period is determined, the first transmission number may be further calculated based on the average message size of multiple messages, the transmission period and the bandwidth of the first link. The process of obtaining the bandwidth of the first link is similar to the process of obtaining the delay of the first link, and will not be described again here.
  • LCM least common multiple
  • the sending device obtains the average message size of the multiple messages cached in the buffer.
  • the sending device can also obtain the average packet size of multiple packets based on other methods.
  • the sending device has a packet statistics function and counts the average packet size of multiple packets to be transmitted based on the packet statistics function.
  • i is the index used to distinguish links
  • n is a positive integer.
  • link sorting method which may be based on increasing delay.
  • link P 1 is the link with the lowest delay. It can also be sorted in descending order based on transmission delay.
  • link P 1 is the link with the highest delay.
  • the corresponding delay of link P 1 is R 1 and the bandwidth of link P 1 is C 1 , based on the average packet size L of multiple packets, the first transmission number of link P 1 within one transmission cycle K is calculated to be pkt 1 .
  • the performance of the first link is determined based on the delay of the first link
  • the performance of the second link is determined based on the delay of the second link.
  • the delay of the first link is 40 milliseconds (MS) and the bandwidth is 10 megabits per second (Mbps).
  • the delay of the second link is 80ms and the bandwidth is 10Mbps.
  • Multiple reports The average size of a message is 100 bytes (byte, B).
  • the transmission period is determined to be 80ms. At this time, the first transmission number of the first link is 100, and the second transmission number of the second link is also 100. .
  • the determination process of the second transmission quantity is similar to the determination process of the first transmission quantity, and will not be described again here.
  • the first message and the second message may be determined from the plurality of messages based on the first transmission number and the second transmission number. For example, the first message among the plurality of messages whose timing sequence is not greater than the first transmission number is determined as the first message. Among them, the timing of multiple messages is also the time sequence in which the messages arrive at the sending device.
  • the first message after the end position of the first message can be used as the starting position of the second message, and a number no greater than the second transmission number can be selected. message as the second message.
  • the sum of the first transmission number and the second transmission number is for 200.
  • the 198 messages are numbered 1-198 according to the timing.
  • the determination method is to determine the message with the timing number 1-100 as the first message. message, and determine the message with timing number 101-198 as the second message.
  • the message with timing number 1 is the first message to arrive at the sending device
  • the message with timing number 2 is the second message to arrive at the sending device.
  • the meaning of other timing numbers is the same as timing number 1 and timing.
  • the meaning of number 2 is similar and will not be repeated here.
  • the sending device groups multiple received messages. For example, the multiple messages are grouped based on the service type, and messages of the same service type are grouped into one group.
  • the sending device receives packets of video phone services and packets of game services with the same SLA. Among them, the timing numbers of the packets of the video phone service are 1-98, and the timing numbers of the packets of the game service are 99-198.
  • the receiving device divides the packets of the video phone service into one group and the packets of the game service into another group based on the service type.
  • the grouping situation of the multiple messages is also referenced. For example, select packets with timing numbers 1-98 as the first packet, and select packets with timing numbers 99-198 as the second packet, so that packets in the same group are located on the same link.
  • the grouping of multiple messages can also be grouped based on the generation time of the multiple messages, and the messages whose generation time interval is less than the time threshold are grouped into one group.
  • the sending device receives the packets of a video phone service and divides the packets whose generation time interval is less than the time threshold into one group.
  • the grouping result is that the packets with timing number 1-50 are one group, and the timing number is Messages with sequence numbers 50-98 are one group, messages with sequence numbers 99-125 are one group, and messages with sequence numbers 126-198 are the last group. Determine the message with timing number 1-98 as the first message, and determine the message with timing number 99-198 as the second message. message.
  • the time threshold can be a value of any size and unit set based on experience.
  • the time threshold can also be set based on the implementation environment, which is not limited in the embodiments of the present application.
  • the first transmission quantity and the second transmission quantity also need to be considered.
  • a group of messages is implemented on one link.
  • messages with timing numbers 1-77 are one group
  • messages with timing numbers 78-161 are one group
  • messages with timing numbers 162-198 are one group
  • the sending device determines that the timing numbers are 1-77
  • the message with sequence number 78-161 is regarded as the first message
  • the message with sequence number 78-161 is determined as the second message
  • the message with sequence number 162-198 is the remaining message.
  • the first link can Transmit a plurality of first messages to the receiving device.
  • the performance of the first link is much better than that of the second link, there is no need to distribute multiple packets to the second link.
  • the first transmission number of the first link is 100
  • the second transmission number of the second link is also 100.
  • the sending device can further compare the number of packets to be transmitted. The performance of one link versus the performance of the second link.
  • the performance of the first link is much better than that of the second link means that the difference between the indicator used to determine the performance of the first link and the indicator used to determine the performance of the second link is greater than the scheduling threshold .
  • the scheduling threshold may be set based on experience, with units consistent with the metric used to determine the performance of the first link.
  • the first message is transmitted through the first link, and the second message is transmitted through the second link.
  • the first message of -100 is based on the first link transmission sequence number 101-198 on the second link.
  • the second packet with later timing is allocated to the second link with lower performance for early transmission, because the second packet with later timing does not need to wait for the second packet with earlier timing.
  • the transmission can be started, which shortens the transmission time.
  • the first message to the first link with excellent performance it can arrive at the sending device first, thereby achieving approximately orderly arrival of multiple messages at the receiving device.
  • the sending device determines the first message and the second message from the multiple messages.
  • the determination method may refer to the method of determining the first message and the second message shown in the above embodiment.
  • the method of obtaining the number of multiple messages is similar to the method of obtaining the average message size of multiple messages, and there is no difference here. To elaborate further.
  • the processing method can be referred to the following embodiments.
  • the sending device after sending the first message and the second message, the sending device will also contact the first link based on the number of remaining messages. Based on the corresponding transmission number and the corresponding transmission number of the second link, the fourth message and the fifth message are determined from the remaining messages. The timing of the fourth message precedes the timing of the fifth message. The fourth message is transmitted through the first link, and the fifth message is transmitted through the second link.
  • the process by which the sending device determines the fourth message and the fifth message from the remaining messages is similar to the process by which the sending device determines the first message and the second message from multiple messages, where No more details will be given.
  • the sending device will re-obtain the average packet size of the remaining packets, based on the remaining packets.
  • the average packet size is calculated as the number of transmissions between the first link and the second link in one transmission cycle.
  • the sending device may also receive other messages to be transmitted.
  • the sending device may first allocate the remaining messages based on the above embodiment, and then allocate other messages after the remaining messages are transmitted.
  • the sending device can also allocate the remaining messages and other messages to the first link and the second link based on the average message size and number of messages of the remaining messages and other messages based on the method shown in the above embodiment.
  • the application examples do not limit this.
  • the receiving device after receiving the first message and the second message transmitted by the sending device, the receiving device will obtain the target message based on the first message and the second message, check the order of the target messages, and adjust the target The out-of-order portion of the message.
  • the receiving device receives the first message with the sequence number 90 based on the first link.
  • the second message with sequence number 101 from the second link is received.
  • the acquired target packets are partially out of order, and the receiving device will rearrange the out-of-order parts of the target packets and send the rearranged target packets to the destination.
  • the destination is the local area network (LAN) side
  • the rearrangement is implemented using the rearrangement cache that comes with the TCP protocol.
  • the first message sent based on the first link and the second message sent based on the second link are both determined based on the timing sequence. Therefore, the out-of-sequence part of the target packet is also limited to the tail of the transmission queue of the first link and the head of the transmission queue of the second link. The workload of rearrangement is small and the time is short.
  • the receiving device after sending multiple target packets, the receiving device will also calculate the latest delays of the first link and the second link based on the status of the received target packets, and compare the first link and the second link.
  • the latest delay of the second link is sent to the network-aware scheduling model of the sending device to update and calibrate the delays of the first link and the second link.
  • the sending device that receives the latest delay of the first link and the second link may be a sending device with a link statistics function, or may be a sending device without a link statistics function. This is not the case in the embodiment of the present application. Make restrictions.
  • the above example is intended to illustrate the message transmission process of multiple links, but does not limit the number of links connected between the sending device and the receiving device.
  • Two links can be connected between the sending device and the receiving device, or more than two links can be connected. Among the two or more links, there are at least two links with different performance.
  • the sending device can select two links from the two or more links to perform the message transmission method provided by the embodiment of the present application, and the sending device can also Select two or more links from the two or more links to perform the message transmission method provided by the embodiment of the present application.
  • the sending device is also connected to a third link, when the performance of the first link and the second link is better than the performance of the third link.
  • the sending device obtains the third message to be transmitted, the timing of the first message and the second message is earlier than the timing of the third message, and transmits the third message through the third link.
  • the method of transmitting the third message based on the third link is similar to the method of transmitting the first message based on the first link shown in the above embodiment, and will not be described again here.
  • the performance of the third link may be different from the performance of the first link and the performance of the second link as shown in the above embodiment.
  • the performance of the third link may also be the same as the performance of the first link, or may be different from the performance of the first link.
  • the performance of the second link is the same.
  • the method of determining the performance of the third link is similar to the method of determining the performance of the first link, and will not be described in detail here. Regarding the same performance, that is, the indicators used to determine performance are the same. Taking determining performance based on delay as an example, the performance of the third link is the same as the performance of the first link, which means that the delay of the third link is the same as that of the first link. The delay of the first link is the same.
  • the first message since the first message is the message with earlier timing among multiple messages, the first message with earlier timing is transmitted through the first link with better performance. Messages effectively alleviate the message out-of-order situation caused by the mismatch between link performance and timing. This message transmission method not only improves throughput, but also achieves low-latency transmission.
  • the indicators used to allocate the first packet and the second packet are determined based on the delay and bandwidth of each link and the average size of multiple packets to be transmitted. , that is, the indicators used to allocate the first packet and the second packet will be flexibly adjusted based on the conditions of the packets to be transmitted, so the method of allocating the first packet and the second packet is more flexible.
  • FIG. 5 is a schematic structural diagram of a message transmission device provided by an embodiment of the present application. Based on the following modules shown in Figure 5, the message transmission device shown in Figure 5 can perform all or part of the operations shown in Figure 2 above. It should be understood that the device may include more additional modules than the modules shown or omit some of the modules shown therein, and the embodiments of the present application are not limited to this. As shown in Figure 5, the device is applied to the sending device. The sending device connects the first link and the second link. The performance of the first link is better than the performance of the second link.
  • the device includes:
  • the acquisition module 501 is used to acquire multiple messages to be transmitted.
  • the multiple messages include a first message and a second message.
  • the timing of the first message is prior to the timing of the second message;
  • the transmission module 502 is configured to transmit the first message through the first link and the second message through the second link.
  • the performance of the first link is determined based on at least one of the delay, bandwidth, and packet loss rate of the first link
  • the performance of the second link is determined based on the delay, bandwidth, and packet loss rate of the second link. At least one of bandwidth and packet loss rate is determined.
  • multiple packets belong to the same type of service.
  • the same type of service refers to the same service type or the same service level agreement (SLA).
  • the sending device is also connected to a third link, and the performance of the first link and the second link are both better than the performance of the third link; the acquisition module 501 is also used to obtain the data to be transmitted.
  • the timing of the first message and the second message is earlier than the timing of the third message; the transmission module 502 is also used to transmit the third message through the third link.
  • the device further includes: a determining module, configured to determine a first transmission number of packets transmitted by the first link in a transmission cycle, and determine a first transmission number of packets transmitted by the second link in a transmission cycle.
  • the second transmission quantity of the message the first message is determined from the plurality of messages based on the number of the plurality of messages and the first transmission quantity, and the first message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
  • Second message configured to determine a first transmission number of packets transmitted by the first link in a transmission cycle, and determine a first transmission number of packets transmitted by the second link in a transmission cycle.
  • the determining module is configured to determine the transmission period based on the delay of the first link and the delay of the second link; based on the average message size of multiple messages, the transmission period and the first link The bandwidth of the link, calculated to obtain the first transmission quantity.
  • the device further includes: a statistics module, configured to receive the delay of the first link and the second link sent from the receiving device. The delay is obtained based on statistics of the receiving device.
  • the receiving device communicates with the first link. The link is connected to the second link; or, the delay of the first link and the second link is counted; or, the delay of the first link and the second link is received from the network management device, and the network management device Used to manage the network related to the sending device.
  • the first message of the above device is the message with the earlier timing among multiple messages
  • the first message with the earlier timing is transmitted through the first link with better performance, which effectively alleviates the situation of packet disorder.
  • the file transmission time is short and the efficiency is high.
  • Figure 6 shows a schematic structural diagram of a network device 600 provided by an exemplary embodiment of the present application.
  • the network device 600 shown in Figure 6 is used to perform operations related to the message transmission method shown in Figure 2.
  • the network device 600 is, for example, a switch, a router, etc., and the network device 600 can be implemented by a general bus architecture.
  • the network device 600 includes at least one processor 601 , a memory 603 and at least one communication interface 604 .
  • the processor 601 is, for example, a general central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), Neural network processors (neural-network processing units, NPU), data processing units (Data Processing Unit, DPU), microprocessors or one or more integrated circuits used to implement the solution of this application.
  • the processor 601 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • the processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
  • the network device 600 also includes a bus.
  • the bus is used to transfer information between the various components of network device 600.
  • the bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 6, but it does not mean that there is only one bus or one type of bus.
  • the memory 603 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (random access memory, RAM) or a device that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation.
  • Memory 603 For example, it exists independently and is connected to the processor 601 through a bus. Memory 603 may also be integrated with processor 601.
  • the communication interface 604 uses any device such as a transceiver to communicate with other devices or a communication network.
  • the communication network can be Ethernet, a radio access network (RAN) or a wireless local area network (WLAN), etc.
  • the communication interface 604 may include a wired communication interface and may also include a wireless communication interface.
  • the communication interface 604 can be an Ethernet (Ethernet) interface, a fast ethernet (FE) interface, a gigabit ethernet (GE) interface, an asynchronous transfer mode (ATM) interface, a wireless LAN ( wireless local area networks, WLAN) interface, cellular network communication interface or a combination thereof.
  • the Ethernet interface can be an optical interface, an electrical interface, or a combination thereof.
  • the communication interface 604 can be used for the network device 600 to communicate with other devices.
  • the processor 601 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 6 . Each of these processors may be a single-CPU processor or a multi-CPU processor.
  • a processor here may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the network device 600 may include multiple processors, such as the processor 601 and the processor 605 shown in FIG. 6 .
  • processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor here may refer to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
  • the network device 600 may also include an output device and an input device.
  • Output devices communicate with processor 601 and can display information in a variety of ways.
  • the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector (projector), etc.
  • Input devices communicate with processor 601 and can receive user input in a variety of ways.
  • the input device may be a mouse, a keyboard, a touch screen device or a sensing device, etc.
  • the memory 603 is used to store the program code 610 for executing the solution of the present application, and the processor 601 can execute the program code 610 stored in the memory 603. That is to say, the network device 600 can implement the message transmission method provided by the method embodiment through the processor 601 and the program code 610 in the memory 603.
  • Program code 610 may include one or more software modules.
  • the processor 601 itself can also store program codes or instructions for executing the solution of the present application.
  • the network device 600 in the embodiment of the present application may correspond to the packet transmission device in each of the above method embodiments.
  • Each step of the message transmission method shown in FIG. 2 is completed through an integrated logic circuit of hardware or instructions in the form of software in the processor of the network device 600 .
  • the steps of the methods disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
  • the software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field.
  • the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, the details will not be described here.
  • FIG. 7 is a schematic structural diagram of another network device provided by an embodiment of the present application.
  • the network device is, for example, a server.
  • the server may vary greatly due to different configurations or performance, and may include one or more processors (central processing). unit (CPU) 701 and one or more memories 702, wherein at least one computer program is stored in the one or more memories 702, and the at least one computer program is loaded and executed by the one or more processors 701, so that The server implements the message transmission method provided by each of the above method embodiments.
  • the network device can also have wired or Wireless network interfaces, keyboards, input and output interfaces and other components are used for input and output.
  • the network device may also include other components for realizing device functions, which will not be described in detail here.
  • An embodiment of the present application also provides a communication device, which includes: a transceiver, a memory, and a processor.
  • the transceiver, the memory and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals.
  • the processor executes the instructions stored in the memory, the processor is caused to execute the message transmission method.
  • processor can be a central processing unit (CPU), or other general-purpose processor, digital signal processing (DSP), application specific integrated circuit (application specific integrated circuit), ASIC), field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP digital signal processing
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • a general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports advanced RISC machines (ARM) architecture.
  • ARM advanced RISC machines
  • the above-mentioned memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
  • Memory may also include non-volatile random access memory.
  • the memory may also store device type information.
  • the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically removable memory. Erase electrically programmable read-only memory (EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which is used as an external cache. By way of illustration, but not limitation, many forms of RAM are available.
  • static random access memory static random access memory
  • dynamic random access memory dynamic random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double data rate synchronous dynamic random access Memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous link dynamic random access memory direct rambus RAM, DR RAM
  • Embodiments of the present application also provide a computer-readable storage medium, in which at least one instruction is stored, and the instruction is loaded and executed by the processor, so that the computer implements any of the above message transmission methods.
  • Embodiments of the present application also provide a computer program (product).
  • the computer program When the computer program is executed by a computer, it can cause the processor or computer to execute corresponding steps and/or processes in the above method embodiments.
  • Embodiments of the present application also provide a chip, including a processor, configured to call and run instructions stored in the memory, so that the communication device installed with the chip performs any of the above message transmissions. method.
  • An embodiment of the present application also provides another chip, including: an input interface, an output interface, a processor, and a memory.
  • the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the The processor is configured to execute the code in the memory.
  • the processor is configured to execute any of the above message transmission methods.
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software when When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in this application are generated in whole or in part.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrated.
  • the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk), etc.
  • the program can be stored in a computer-readable storage medium.
  • the storage medium can be read-only memory, magnetic disk or optical disk, etc.
  • the computer program product includes one or more computer program instructions.
  • methods of embodiments of the present application may be described in the context of machine-executable instructions, such as included in a program module executing in a device on a target's real or virtual processor.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, etc., which perform specific tasks or implement specific abstract data structures.
  • the functionality of program modules may be combined or split between the described program modules.
  • Machine-executable instructions for program modules can execute locally or on a distributed device. In a distributed device, program modules can be located in both local and remote storage media.
  • Computer program codes for implementing the methods of embodiments of the present application may be written in one or more programming languages. These computer program codes may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable message transmission device, so that when executed by the computer or other programmable message transmission device, the program code causes the flowchart and/or or the functions/operations specified in the block diagram are implemented.
  • the program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
  • the computer program code or related data may be carried by any appropriate carrier, so that the device, device or processor can perform the various processes and operations described above.
  • Examples of carriers include signals, computer-readable media, and the like.
  • Examples of signals may include electrical, optical, radio, acoustic, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
  • a machine-readable medium may be any tangible medium that contains or stores a program for or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, or any Find the right combination. More detailed examples of machine-readable storage media include an electrical connection with one or more wires, laptop computer disk, hard drive, random memory accessor (RAM), read-only memory (ROM), erasable programmable read-only memory Memory (EPROM or flash memory), optical storage device, magnetic storage device, or any suitable combination thereof.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be indirect coupling or communication connection through some interfaces, devices or modules, or may be electrical, mechanical or other forms of connection.
  • the modules described as separate components may or may not be physically separated.
  • the components shown as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.
  • each functional module in each embodiment of the present application can be integrated into one processing module, or each module can exist physically alone, or two or more modules can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program code. .
  • first, second and other words are used to distinguish the same or similar items with basically the same functions and functions. It should be understood that the terms “first”, “second” and “nth” There is no logical or sequential dependency, and there is no limit on the number or execution order. It should also be understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first link may be referred to as a second link, and similarly, a second link may be referred to as a first link, without departing from the scope of various described examples.
  • the size of the sequence number of each process does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not be determined by the execution order of the embodiments of the present application.
  • the implementation process constitutes no limitation.
  • determining B based on A does not mean determining B only based on A, and B can also be determined based on A and/or other information.
  • references throughout this specification to "one embodiment,””anembodiment,” and “a possible implementation” mean that specific features, structures, or characteristics related to the embodiment or implementation are included herein. In at least one embodiment of the application. Therefore, “in one embodiment” or “in an embodiment” or “a possible implementation” appearing in various places throughout this specification do not necessarily refer to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to the technical field of communications, and discloses a packet transmission method and apparatus, a device, and a computer-readable storage medium. The method is applied to a sending device, the sending device is connected to a first link and a second link, and the performance of the first link is superior to that of the second link. The method comprises: obtaining a plurality of packets to be transmitted, the plurality of packets comprising a first packet and a second packet, and the time sequence of the first packet being earlier than that of the second packet; and transmitting the first packet by means of the first link, and transmitting the second packet by means of the second link. According to the present application, the first packet is a packet having an earlier time sequence in the plurality of packets, and the first packet having an earlier time sequence is transmitted by means of the first link having better performance, such that the disorder of packets is effectively relieved, and the packet transmission method is short in transmission time and high in efficiency.

Description

报文传输方法、装置、设备及计算机可读存储介质Message transmission method, device, equipment and computer-readable storage medium
本申请要求于2022年4月8日提交的申请号为202210369992.X、发明名称为“报文传输方法、装置、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with application number 202210369992.X and the invention title "Message transmission method, device, equipment and computer-readable storage medium" submitted on April 8, 2022. This reference is incorporated into this application.
技术领域Technical field
本申请涉及通信技术领域,特别涉及报文传输方法、装置、设备及计算机可读存储介质。This application relates to the field of communication technology, and in particular to message transmission methods, devices, equipment and computer-readable storage media.
背景技术Background technique
互联网应用蓬勃发展给网络通信带来了新的挑战,尤其是视频会议、视频直播、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)等应用兴起,现阶段越来越多的应用对低时延、高吞吐有更高的需求。因此,需要一种报文传输方法,用于保障网络低时延的同时提升吞吐量,从而提高用户体验。The booming development of Internet applications has brought new challenges to network communications, especially the rise of video conferencing, video live broadcast, augmented reality (AR)/virtual reality (VR) and other applications. At this stage, more and more Applications have higher requirements for low latency and high throughput. Therefore, a message transmission method is needed to ensure low network latency while improving throughput, thereby improving user experience.
相关技术中,报文传输方法为多路传输。将待传输的报文分配在多条时延不同的链路上进行传输,再在接收端对接收到的乱序的报文重新排序,将有序的报文转发给局域网(local area network,LAN)。In the related art, the message transmission method is multiplex transmission. The messages to be transmitted are distributed over multiple links with different delays for transmission, and then the received out-of-order messages are reordered at the receiving end and the ordered messages are forwarded to the local area network (local area network). LAN).
然而,上述报文传输方法,由于多条链路的时延不同,基于多条链路传输的报文会在接收端出现大量乱序的情况,需要对接收到的报文重新排序才能将报文转发给LAN,导致端到端的时延上升。However, with the above message transmission method, due to the different delays of multiple links, messages transmitted based on multiple links will be out of order at the receiving end, and the received messages need to be reordered to sort them. The message is forwarded to the LAN, causing the end-to-end delay to increase.
发明内容Contents of the invention
本申请提供了一种报文传输方法、装置、设备及计算机可读存储介质,以解决相关技术提供的问题,技术方案如下:This application provides a message transmission method, device, equipment and computer-readable storage medium to solve the problems provided by related technologies. The technical solutions are as follows:
第一方面,提供了一种报文传输方法,所述方法应用于发送设备,所述发送设备连接第一链路和第二链路,所述第一链路的性能优于所述第二链路的性能,所述方法包括:获取待传输的多个报文,所述多个报文包括第一报文和第二报文,所述第一报文的时序先于所述第二报文的时序;通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文。In a first aspect, a message transmission method is provided. The method is applied to a sending device. The sending device connects a first link and a second link. The performance of the first link is better than that of the second link. Performance of the link, the method includes: acquiring multiple messages to be transmitted, the multiple messages including a first message and a second message, the timing of the first message being earlier than the second message Timing of messages: transmit the first message through the first link, and transmit the second message through the second link.
由于第一报文为多个报文中时序靠前的报文,通过性能更优的第一链路传输时序靠前的第一报文,有效缓解了报文乱序的情况,该报文传输方法传输时间短,效率高。Since the first message is an earlier message among multiple messages, the first message with earlier timing is transmitted through the first link with better performance, which effectively alleviates the situation of packet disorder. The transmission method has short transmission time and high efficiency.
在一种可能的实现方式中,所述第一链路的性能基于所述第一链路的时延、带宽以及丢包率中的至少一个确定,所述第二链路的性能基于所述第二链路的时延、带宽以及丢包率中的至少一个确定。不限定第一链路的性能和第二链路的性能的确定方式,灵活性强。In a possible implementation, the performance of the first link is determined based on at least one of the delay, bandwidth and packet loss rate of the first link, and the performance of the second link is determined based on the At least one of the delay, bandwidth and packet loss rate of the second link is determined. The method of determining the performance of the first link and the performance of the second link is not limited, and the flexibility is high.
在一种可能的实现方式中,所述多个报文属于同一业务。In a possible implementation manner, the multiple messages belong to the same service.
在一种可能的实现方式中,所述多个报文属于同一类业务,所述同一类业务是指业务类型相同或者服务级别协议SLA相同。多个报文可以属于同一业务,也可以属于同一类业务,通用性强。 In a possible implementation manner, the multiple messages belong to the same type of service, and the same type of service refers to the same service type or the same service level agreement (SLA). Multiple messages can belong to the same business or the same type of business, which is highly versatile.
在一种可能的实现方式中,所述发送设备还连接第三链路,所述第一链路和所述第二链路的性能均优于所述第三链路的性能;所述方法还包括:获取待传输的第三报文,所述第一报文和所述第二报文的时序均先于所述第三报文的时序,通过所述第三链路传输所述第三报文。发送设备还可以连接其他链路(第三链路),不限定发送设备连接的链路情况,灵活度高。In a possible implementation, the sending device is also connected to a third link, and the performance of the first link and the second link is better than the performance of the third link; the method It also includes: obtaining a third message to be transmitted, the timing of the first message and the second message is prior to the timing of the third message, and transmitting the third message through the third link. Three messages. The sending device can also connect to other links (third links), and the link conditions to which the sending device is connected are not limited, and the flexibility is high.
在一种可能的实现方式中,所述通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文之前,所述方法还包括:确定所述第一链路在一个传输周期内的传输报文的第一传输数量,确定所述第二链路在所述一个传输周期内传输报文的第二传输数量;基于所述多个报文的数量与所述第一传输数量从所述多个报文中确定第一报文,基于所述多个报文的数量与所述第二传输数量从所述多个报文中确定第二报文。通过第一传输数量确定第一报文,通过第二传输数量确定第二报文,该确定方式精确度高。In a possible implementation, before transmitting the first message through the first link and transmitting the second message through the second link, the method further includes: determining the Determine the first transmission number of packets transmitted by the first link in one transmission cycle, and determine the second transmission number of packets transmitted by the second link in one transmission cycle; based on the plurality of packets A first message is determined from the plurality of messages based on the number and the first transmission number, and a second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission number. message. The first message is determined based on the first transmission quantity, and the second message is determined based on the second transmission quantity. This determination method is highly accurate.
在一种可能的实现方式中,所述确定所述第一链路在一个传输周期内的传输报文的第一传输数量,包括:基于所述第一链路的时延与所述第二链路的时延确定所述传输周期;基于所述多个报文的平均报文大小、所述传输周期和所述第一链路的带宽,计算得到所述第一传输数量。通过平均报文大小、传输周期和第一链路的带宽计算得到的第一传输数量,有效反应了第一链路的传输性能。In a possible implementation, determining the first transmission number of transmission packets of the first link in one transmission cycle includes: based on the delay of the first link and the second The delay of the link determines the transmission period; the first transmission number is calculated based on the average message size of the plurality of messages, the transmission period and the bandwidth of the first link. The first transmission number calculated based on the average packet size, transmission cycle and bandwidth of the first link effectively reflects the transmission performance of the first link.
在一种可能的实现方式中,所述基于所述第一链路的时延与所述第二链路的时延确定所述传输周期之前,所述方法还包括:接收来自接收设备发送的所述第一链路和所述第二链路的时延,所述时延基于所述接收设备统计获取,所述接收设备与所述第一链路和所述第二链路相连;或者,所述发送设备统计所述第一链路和所述第二链路的时延;或者,接收来自网络管理设备发送的所述第一链路和所述第二链路的时延,所述网络管理设备用于管理与所述发送设备相关的网络。不限定获取第一链路和第二链路的时延的方式,灵活度高。In a possible implementation, before determining the transmission period based on the delay of the first link and the delay of the second link, the method further includes: receiving a message sent from a receiving device. The delay of the first link and the second link, the delay is obtained based on statistics of the receiving device, and the receiving device is connected to the first link and the second link; or , the sending device counts the delay of the first link and the second link; or, receives the delay of the first link and the second link sent from the network management device, so The network management device is used to manage the network related to the sending device. The method of obtaining the delay of the first link and the second link is not limited, and the flexibility is high.
第二方面,提供了报文传输装置,所述装置应用于发送设备,所述发送设备连接第一链路和第二链路,所述第一链路的性能优于所述第二链路的性能,所述装置包括:In a second aspect, a message transmission device is provided. The device is applied to a sending device. The sending device connects a first link and a second link. The performance of the first link is better than that of the second link. Performance, the device includes:
获取模块,用于获取待传输的多个报文,所述多个报文包括第一报文和第二报文,所述第一报文的时序先于所述第二报文的时序;An acquisition module, configured to acquire multiple messages to be transmitted, where the multiple messages include a first message and a second message, and the timing of the first message precedes the timing of the second message;
传输模块,用于通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文。A transmission module, configured to transmit the first message through the first link and the second message through the second link.
在一种可能的实现方式中,所述第一链路的性能基于所述第一链路的时延、带宽以及丢包率中的至少一个确定,所述第二链路的性能基于所述第二链路的时延、带宽以及丢包率中的至少一个确定。In a possible implementation, the performance of the first link is determined based on at least one of the delay, bandwidth and packet loss rate of the first link, and the performance of the second link is determined based on the At least one of the delay, bandwidth and packet loss rate of the second link is determined.
在一种可能的实现方式中,所述多个报文属于同一业务。In a possible implementation manner, the multiple messages belong to the same service.
在一种可能的实现方式中,所述多个报文属于同一类业务,所述同一类业务是指业务类型相同或者服务级别协议SLA相同。In a possible implementation manner, the multiple messages belong to the same type of service, and the same type of service refers to the same service type or the same service level agreement (SLA).
在一种可能的实现方式中,所述发送设备还连接第三链路,所述第一链路和所述第二链路的性能均优于所述第三链路的性能;所述获取模块,还用于获取待传输的第三报文,所述第一报文和所述第二报文的时序均先于所述第三报文的时序;所述传输模块,还用于通过所述第三链路传输所述第三报文。In a possible implementation, the sending device is also connected to a third link, and the performance of the first link and the second link is better than the performance of the third link; the obtaining The module is also used to obtain the third message to be transmitted. The timing of the first message and the second message is prior to the timing of the third message. The transmission module is also used to pass The third link transmits the third message.
在一种可能的实现方式中,所述装置还包括:确定模块,用于确定所述第一链路在一个 传输周期内的传输报文的第一传输数量,确定所述第二链路在所述一个传输周期内传输报文的第二传输数量;基于所述多个报文的数量与所述第一传输数量从所述多个报文中确定第一报文,基于所述多个报文的数量与所述第二传输数量从所述多个报文中确定第二报文。In a possible implementation, the device further includes: a determining module configured to determine whether the first link is in a The first transmission number of transmission packets in the transmission cycle determines the second transmission number of packets transmitted by the second link in the one transmission cycle; based on the number of the plurality of packets and the first transmission number The transmission quantity determines the first message from the plurality of messages, and the second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
在一种可能的实现方式中,所述确定模块,用于基于所述第一链路的时延与所述第二链路的时延确定所述传输周期;基于所述多个报文的平均报文大小、所述传输周期和所述第一链路的带宽,计算得到所述第一传输数量。In a possible implementation, the determining module is configured to determine the transmission period based on the delay of the first link and the delay of the second link; The first transmission number is calculated based on the average packet size, the transmission period and the bandwidth of the first link.
在一种可能的实现方式中,所述装置还包括:统计模块,用于接收来自接收设备发送的所述第一链路和所述第二链路的时延,所述时延基于所述接收设备统计获取,所述接收设备与所述第一链路和所述第二链路相连;或者,统计所述第一链路和所述第二链路的时延;或者,接收来自网络管理设备发送的所述第一链路和所述第二链路的时延,所述网络管理设备用于管理与所述发送设备相关的网络。In a possible implementation, the device further includes: a statistics module, configured to receive the delay of the first link and the second link sent from the receiving device, the delay is based on the Obtain statistics from a receiving device, which is connected to the first link and the second link; or, collect statistics on the delay of the first link and the second link; or, receive data from the network The delay of the first link and the second link sent by the management device is used to manage the network related to the sending device.
第三方面,提供了一种报文传输设备,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述报文传输设备实现上述第一方面所述的报文传输方法。In a third aspect, a message transmission device is provided. The device includes a memory and a processor; at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor, so that the The message transmission device implements the message transmission method described in the first aspect.
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一方面所述的报文传输方法。In a fourth aspect, a computer-readable storage medium is provided, in which at least one instruction is stored, and the instruction is loaded and executed by a processor to implement the message transmission method described in the first aspect.
第五方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括计算机程序/指令,所述计算机程序/指令被处理器执行,以使计算机实现第一方面所述的报文传输方法。In a fifth aspect, a computer program (product) is provided. The computer program (product) includes a computer program/instruction, and the computer program/instruction is executed by a processor to enable the computer to implement the message described in the first aspect. Transmission method.
第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。In a sixth aspect, a communication device is provided, which includes a transceiver, a memory, and a processor. Wherein, the transceiver, the memory and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals. , and when the processor executes the instructions stored in the memory, the processor is caused to execute the method in the first aspect or any possible implementation of the first aspect.
可选地,所述处理器为一个或多个,所述存储器为一个或多个。Optionally, there are one or more processors and one or more memories.
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。Alternatively, the memory may be integrated with the processor, or the memory may be provided separately from the processor.
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。In the specific implementation process, the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated on the same chip as the processor, or can be set in different On the chip, this application does not limit the type of memory and the arrangement of the memory and the processor.
第七方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。In a seventh aspect, a chip is provided, including a processor configured to call from a memory and run instructions stored in the memory, so that a communication device equipped with the chip executes the methods in the above aspects.
第八方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。In an eighth aspect, another chip is provided, including: an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected through an internal connection path. The processing The processor is used to execute the code in the memory, and when the code is executed, the processor is used to execute the methods in the above aspects.
应当理解的是,本申请的第二方面至第八方面的技术方案及对应的可能的实现方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。It should be understood that the beneficial effects achieved by the technical solutions of the second to eighth aspects of the present application and the corresponding possible implementations can be referred to the above-mentioned technical effects of the first aspect and the corresponding possible implementations. Herein No further details will be given.
附图说明Description of the drawings
图1为本申请实施例提供的报文传输的实施环境的示意图; Figure 1 is a schematic diagram of the implementation environment of message transmission provided by the embodiment of the present application;
图2为本申请实施例提供的一种报文传输方法的流程图;Figure 2 is a flow chart of a message transmission method provided by an embodiment of the present application;
图3为本申请实施例提供的一种传输多个报文的过程示意图;Figure 3 is a schematic diagram of a process of transmitting multiple messages provided by an embodiment of the present application;
图4为本申请实施例提供的另一种传输多个报文的过程示意图;Figure 4 is a schematic diagram of another process of transmitting multiple messages provided by an embodiment of the present application;
图5为本申请实施例提供的一种报文传输装置的结构示意图;Figure 5 is a schematic structural diagram of a message transmission device provided by an embodiment of the present application;
图6为本申请实施例提供的一种网络设备的结构示意图;Figure 6 is a schematic structural diagram of a network device provided by an embodiment of the present application;
图7为本申请实施例提供的另一种网络设备的结构示意图。Figure 7 is a schematic structural diagram of another network device provided by an embodiment of the present application.
具体实施方式Detailed ways
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。The terms used in the embodiments of the present application are only used to explain specific embodiments of the present application and are not intended to limit the present application. In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
本申请实施例提供了一种报文传输方法,请参考图1,其示出了本申请实施例提供的方法的实施环境的示意图。该实施环境包括:发送设备101和接收设备102。其中,发送设备101和接收设备102之间连接有第一链路和第二链路。This embodiment of the present application provides a message transmission method. Please refer to Figure 1 , which shows a schematic diagram of the implementation environment of the method provided by the embodiment of the present application. The implementation environment includes: a sending device 101 and a receiving device 102. Among them, a first link and a second link are connected between the sending device 101 and the receiving device 102.
可选地,发送设备101接收到多个报文后,基于本申请实施例提供的报文传输方法分配多个报文,再通过第一链路传输第一报文到接收设备102,通过第二链路传输第二报文到接收设备102。可选地,发送设备101和接收设备102位于同一网络设备。或者,发送设备101位于一个网络设备,接收设备102位于另一个网络设备。或者,发送设备101可以是由多个设备组成的系统,接收设备102可以是由多个设备组成的系统,本申请实施例对此不进行限定。Optionally, after receiving multiple messages, the sending device 101 allocates the multiple messages based on the message transmission method provided by the embodiment of the present application, and then transmits the first message to the receiving device 102 through the first link. The second link transmits the second message to the receiving device 102 . Optionally, the sending device 101 and the receiving device 102 are located on the same network device. Alternatively, the sending device 101 is located on one network device, and the receiving device 102 is located on another network device. Alternatively, the sending device 101 may be a system composed of multiple devices, and the receiving device 102 may be a system composed of multiple devices, which is not limited in the embodiment of the present application.
需要说明的是,网络设备可以是任何一种可进行报文传输的设备,例如终端、服务器、路由器、交换机、虚拟机、接入交换机、接入路由器(access router,AR)等。It should be noted that the network device can be any device that can transmit packets, such as terminals, servers, routers, switches, virtual machines, access switches, access routers (AR), etc.
基于上述图1所示的实施环境,本申请实施例提供一种报文传输方法,该报文传输方法可由发送设备执行,该方法的流程图如图2所示,包括S201-S202。Based on the implementation environment shown in Figure 1 above, embodiments of the present application provide a message transmission method. The message transmission method can be executed by the sending device. The flow chart of the method is shown in Figure 2, including S201-S202.
S201,发送设备获取待传输的多个报文,多个报文包括第一报文和第二报文,第一报文的时序先于第二报文的时序。S201. The sending device obtains multiple messages to be transmitted. The multiple messages include a first message and a second message. The timing of the first message is earlier than the timing of the second message.
本申请实施例不对待传输的多个报文进行限定,可以是任意内容、类型与大小的报文。在一种可能的实现方式中,多个报文属于同一业务。例如,多个报文为同一视频电话业务的报文。可选地,多个报文还可以属于同一类业务,同一类业务包括但不限于业务类型相同或服务级别协议(service level agreement,SLA)相同。例如,发送设备接收到多个视频电话业务的报文,由于报文的业务类型相同,均为视频电话业务,该多个视频电话业务的报文属于同一类业务。又例如,发送设备接收到一个视频电话业务的报文和一个游戏业务的报文,由于视频电话业务与游戏业务的SLA相同,此时视频电话业务的报文和游戏业务的报文属于同一类业务。The embodiments of this application do not limit the multiple messages to be transmitted, and they can be messages of any content, type and size. In a possible implementation manner, multiple messages belong to the same service. For example, multiple packets are for the same video phone service. Optionally, multiple messages may also belong to the same type of business, which includes but is not limited to the same business type or the same service level agreement (service level agreement, SLA). For example, the sending device receives multiple video phone service packets. Since the service types of the packets are the same and they are all video phone services, the multiple video phone service packets belong to the same type of service. For another example, the sending device receives a video phone service packet and a game service packet. Since the video phone service and the game service have the same SLA, the video phone service packet and the game service packet belong to the same category. business.
可选地,发送设备通过接收多个报文,将该多个报文作为待传输的报文,所接收到的多个报文的传输协议可以为传输控制协议(transmission control protocol,TCP),也可以是其他传输协议,本申请实施例对此不进行限定。此外,发送设备接收到的多个报文可以是来自网络设备内部的报文。例如,发送设备接收位于发送设备内部转发的报文,作为待传输的多个 报文。发送设备接收到的多个报文也可以是来自网络设备外部的报文,也即是其他网络设备发送的报文。例如,接收来自发送设备的上游网络设备发送的报文。在一种可能的实现方式中,对于接收到的多个报文,发送设备提供缓冲区,多个报文在到达发送设备后会缓存在缓冲区等待传输。关于从多个报文中确定出第一报文和第二报文的过程,可参见S202。Optionally, the sending device receives multiple messages and uses the multiple messages as messages to be transmitted. The transmission protocol of the multiple received messages may be a transmission control protocol (transmission control protocol, TCP). It may also be other transmission protocols, which are not limited in the embodiments of this application. In addition, the multiple messages received by the sending device may be messages from within the network device. For example, the sending device receives a message forwarded inside the sending device as multiple packets to be transmitted. message. The multiple messages received by the sending device may also be messages from outside the network device, that is, messages sent by other network devices. For example, receive a packet sent from a network device upstream of the sending device. In one possible implementation, the sending device provides a buffer for multiple received messages. After arriving at the sending device, the multiple messages will be cached in the buffer and wait for transmission. For the process of determining the first message and the second message from multiple messages, see S202.
S202,发送设备连接第一链路和第二链路,第一链路的性能优于第二链路的性能;发送设备通过第一链路传输第一报文,通过第二链路传输第二报文。S202, the sending device connects the first link and the second link, and the performance of the first link is better than the performance of the second link; the sending device transmits the first message through the first link, and transmits the second message through the second link. Two messages.
可选地,第一链路的性能基于第一链路的时延、带宽以及丢包率中的至少一个确定,第二链路的性能基于第二链路的时延、带宽以及丢包率中的至少一个确定。需要说明的是,第一链路与第二链路在确定性能时所参考的指标是相同的,也即是,当第一链路的性能基于第一链路的时延确定时,第二链路的性能是基于第二链路的时延确定。关于第一链路的性能优于第二链路的性能,以链路的性能基于时延确定为例,当第一链路的时延低于第二链路的时延时,第一链路的性能优于第二链路的性能。可选地,第一链路的时延、带宽以及丢包率的获取过程与下述实施例示出的第一链路的时延的获取过程类似,第二链路的时延、带宽以及丢包率的获取过程与下述实施例示出的第二链路的时延的获取过程类似,在此均不再多加赘述。Optionally, the performance of the first link is determined based on at least one of the delay, bandwidth, and packet loss rate of the first link, and the performance of the second link is determined based on the delay, bandwidth, and packet loss rate of the second link. At least one of them is determined. It should be noted that the indicators referenced when determining the performance of the first link and the second link are the same, that is, when the performance of the first link is determined based on the delay of the first link, the second link The performance of the link is determined based on the delay of the second link. Regarding the performance of the first link being better than the performance of the second link, taking the performance of the link based on the delay as an example, when the delay of the first link is lower than the delay of the second link, the first link The performance of the link is better than the performance of the second link. Optionally, the process of obtaining the delay, bandwidth, and packet loss rate of the first link is similar to the process of obtaining the delay of the first link shown in the following embodiments, and the process of obtaining the delay, bandwidth, and packet loss rate of the second link The process of obtaining the packet rate is similar to the process of obtaining the delay of the second link shown in the following embodiments, and will not be described again here.
示例性地,发送设备在传输第一报文和第二报文之前,还需要从多个报文中确定出第一报文与第二报文。确定方式包括:确定第一链路在一个传输周期内传输报文的第一传输数量,确定第二链路在一个传输周期内传输报文的第二传输数量;基于多个报文的数量与第一传输数量从多个报文中确定第一报文,基于多个报文的数量与第二传输数量从多个报文中确定第二报文。For example, before transmitting the first message and the second message, the sending device further needs to determine the first message and the second message from multiple messages. The determination method includes: determining the first transmission number of packets transmitted by the first link in one transmission cycle, and determining the second transmission number of packets transmitted by the second link in one transmission cycle; based on the number of multiple messages and The first transmission quantity determines the first message from the plurality of messages, and the second message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity.
可选地,确定第一链路在一个传输周期内传输报文的第一传输数量包括:基于第一链路的时延和第二链路的时延确定传输周期;基于多个报文的平均报文大小、传输周期和第一链路的带宽,计算得到第一传输数量。本申请实施例不对获取第一链路的时延和第二链路的时延的方式进行限定,可通过包括但不限于如下三种方式获取。Optionally, determining the first transmission number of packets transmitted by the first link in one transmission cycle includes: determining the transmission cycle based on the delay of the first link and the delay of the second link; The first transmission number is calculated based on the average packet size, transmission cycle and bandwidth of the first link. The embodiments of this application do not limit the method of obtaining the delay of the first link and the delay of the second link, and they can be obtained by including but not limited to the following three methods.
获取方式一、发送设备接收来自接收设备发送的第一链路和第二链路的时延,该时延基于接收设备统计获取,接收设备与第一链路和第二链路相连。Obtaining method 1: The sending device receives the delay of the first link and the second link sent from the receiving device. The delay is obtained based on statistics of the receiving device. The receiving device is connected to the first link and the second link.
示例性地,图3提供了一种传输多个报文的过程示意图。参见图3,发送设备与接收设备间连接有两条链路(第一链路和第二链路),接收设备配置有链路状态统计功能,接收设备在接收到来自发送设备传输的报文后,基于接收到的报文信息,统计第一链路和第二链路的时延,并将第一链路和第二链路的时延发送至发送设备的网络感知调度模型。其中,网络感知调度模型用于基于接收到的第一链路和第二链路的时延执行从多个报文中确定第一报文和第二报文的操作。在一种可能的情况下,接收到的报文信息包括接收到的报文的时间。For example, Figure 3 provides a schematic diagram of a process of transmitting multiple messages. Referring to Figure 3, there are two links (the first link and the second link) connecting the sending device and the receiving device. The receiving device is configured with the link status statistics function. When the receiving device receives the message transmitted from the sending device Finally, based on the received message information, the delays of the first link and the second link are counted, and the delays of the first link and the second link are sent to the network-aware scheduling model of the sending device. The network-aware scheduling model is used to determine the first message and the second message from multiple messages based on the received delays of the first link and the second link. In one possible case, the received message information includes the time of the received message.
需要说明的是,接收设备所接收的用于统计第一链路和第二链路的时延的报文可以是在发送设备传输多个报文前,所传输的用于满足用户需求的报文。例如,用于满足用户的访问网络需求而传输的报文。接收设备所接收的用于统计第一链路和第二链路的时延的报文还可以是仅用于获取第一链路和第二链路的时延的报文。例如,发送设备向接收设备发送测试报文,接收设备基于测试报文统计第一链路和第二链路的时延,并将统计结果发送至发送设备。It should be noted that the packets received by the receiving device for counting the delay of the first link and the second link may be packets transmitted by the sending device to meet user requirements before the sending device transmits multiple packets. arts. For example, messages transmitted to meet users' needs for network access. The message received by the receiving device for counting the delay of the first link and the second link may also be a message only used for obtaining the delay of the first link and the second link. For example, the sending device sends a test packet to the receiving device, and the receiving device counts the delays of the first link and the second link based on the test packet, and sends the statistical results to the sending device.
可选地,接收设备可以周期性的统计第一链路和第二链路的时延。统计周期可以是基于经验设置的任意单位与大小的数值。例如,设置统计周期为传输一次统计一次,此时,接收 设备每接收到一次发送设备传输的报文,均会进行统计。又例如,设置统计周期为1分钟一次,此时接收设备每隔1分钟统计一次第一链路和第二链路的时延。可选地,接收设备在基于统计周期统计后,可以是每统计一次就将统计结果发送至发送设备,以使发送设备获取第一链路和第二链路的时延。接收设备还可以在基于统计周期统计后,基于发送周期向发送设备发送统计结果。关于发送周期的确定过程与统计周期的确定过程类似,在此不再多加赘述。Optionally, the receiving device may periodically collect statistics on the delays of the first link and the second link. The statistical period can be a value with any unit and size set based on experience. For example, set the statistical period to count once for each transmission. At this time, the reception Each time the device receives a message transmitted by the sending device, statistics will be collected. For another example, set the statistics period to once every minute. At this time, the receiving device counts the delay of the first link and the second link every one minute. Optionally, after collecting statistics based on the statistical period, the receiving device may send the statistical results to the sending device every time the statistics are collected, so that the sending device obtains the delays of the first link and the second link. The receiving device can also send statistical results to the sending device based on the sending period after collecting statistics based on the statistical period. The process of determining the sending cycle is similar to the process of determining the statistical cycle, and will not be described in detail here.
获取方式二、发送设备统计第一链路和第二链路的时延。Obtaining method 2: The sending device counts the delays of the first link and the second link.
可选地,获取方式二应用于发送设备配置有链路状态统计功能的应用场景下。示例性地,自带链路状态统计功能的发送设备包括:具有主动链路探测的AR,可以执行拨测算法或拥塞控制算法的AR。拥塞控制算法例如是,瓶颈带宽和往返传播时间(bottleneck bandwidth and round-trip propagation time,BBR)。由于执行上述拥塞控制算法需要自带链路状态统计作为拥塞控制算法的输入,也即是,执行拥塞控制算法的AR配置有链路状态统计功能。Optionally, the second acquisition method should be used in an application scenario where the sending device is configured with a link status statistics function. For example, sending devices with built-in link status statistics functions include ARs with active link detection and ARs that can perform dialing algorithms or congestion control algorithms. Congestion control algorithms are, for example, bottleneck bandwidth and round-trip propagation time (BBR). Since executing the above congestion control algorithm requires its own link status statistics as input to the congestion control algorithm, that is, the AR that executes the congestion control algorithm is configured with the link status statistics function.
示例性地,图4提供了另一种传输多个报文的过程示意图。参见图4,发送设备与接收设备间连接有两条链路(第一链路和第二链路),发送设备配置有网络感知调度模型,用于从多个报文中确定第一报文和第二报文。发送设备基于自带的链路状态统计功能获取第一链路和第二链路的时延。可选地,发送设备自带的链路状态统计功能可以由网络感知调度模型实现,此时,网络感知调度模型除了用于从多个报文中确定第一报文和第二报文,还可直接获取第一链路和第二链路的时延。可选地,发送设备自带的链路状态统计功能也可以不是网络感知调度模型的功能,而是由独立的链路状态统计模块实现。此时,发送设备内部的拥有链路状态统计功能的模块在获取第一链路和第二链路的时延后,可将第一链路和第二链路的时延发送给网络感知调度模型。For example, FIG. 4 provides a schematic diagram of another process of transmitting multiple messages. Referring to Figure 4, there are two links (the first link and the second link) connecting the sending device and the receiving device. The sending device is configured with a network-aware scheduling model to determine the first message from multiple messages. and the second message. The sending device obtains the delay of the first link and the second link based on its own link status statistics function. Optionally, the link status statistics function of the sending device can be implemented by a network-aware scheduling model. In this case, the network-aware scheduling model is not only used to determine the first message and the second message from multiple messages, but also The delays of the first link and the second link can be obtained directly. Optionally, the link status statistics function of the sending device may not be a function of the network-aware scheduling model, but may be implemented by an independent link status statistics module. At this time, after obtaining the delay of the first link and the second link, the module with the link status statistics function inside the sending device can send the delay of the first link and the second link to the network-aware scheduling Model.
获取方式三、接收来自网络管理设备发送的第一链路和第二链路的时延,网络管理设备用于管理与发送设备相关的网络。Obtaining method three: receiving the delay of the first link and the second link sent from the network management device. The network management device is used to manage the network related to the sending device.
可选地,与发送设备相关的网络可以是指发送设备用于传输多个报文的网络,还可以是指其他网络。网络管理设备通过对与发送设备相关的网络进行管理,使网络正常且高效的运行。本申请实施例不对网络管理设备进行限定,可以是任意嵌入网络管理协议的设备,例如路由器、交换机等。网络管理设备统计第一链路和第二链路的时延,并向发送设备发送第一链路和第二链路的时延。Optionally, the network related to the sending device may refer to the network used by the sending device to transmit multiple packets, or may also refer to other networks. The network management device manages the network related to the sending device to ensure the normal and efficient operation of the network. The embodiments of this application do not limit the network management device, and it can be any device embedded with a network management protocol, such as a router, a switch, etc. The network management device counts the delays of the first link and the second link, and sends the delays of the first link and the second link to the sending device.
无论基于何种方式获取第一链路和第二链路的时延,发送设备均可基于第一链路和第二链路的时延确定传输周期。示例性地,计算第一链路的时延和第二链路的时延的最小公倍数(least common multiple,LCM),确定最小公倍数为传输周期。在确定传输周期后,可进一步基于多个报文的平均报文大小、传输周期和第一链路的带宽,计算得到第一传输数量。关于获取第一链路的带宽的过程与获取第一链路的时延的过程类似,在此不再多加赘述。可选地,针对上述实施例示出的发送设备将接收到的多个报文缓存在缓冲区的情况,发送设备获取缓存在缓冲区的多个报文的平均报文大小。当然,发送设备还可以基于其他方式获取多个报文的平均报文大小。例如,发送设备具有报文统计功能,基于报文统计功能统计待传输的多个报文的平均报文大小。No matter how the delay of the first link and the second link is obtained, the sending device can determine the transmission period based on the delay of the first link and the second link. For example, the least common multiple (LCM) of the delay of the first link and the delay of the second link is calculated, and the least common multiple is determined to be the transmission period. After the transmission period is determined, the first transmission number may be further calculated based on the average message size of multiple messages, the transmission period and the bandwidth of the first link. The process of obtaining the bandwidth of the first link is similar to the process of obtaining the delay of the first link, and will not be described again here. Optionally, for the situation where the sending device caches multiple received messages in the buffer as shown in the above embodiment, the sending device obtains the average message size of the multiple messages cached in the buffer. Of course, the sending device can also obtain the average packet size of multiple packets based on other methods. For example, the sending device has a packet statistics function and counts the average packet size of multiple packets to be transmitted based on the packet statistics function.
示例性地,链路Pi=(P1,P2,…Pn)对应的时延Ri=(R1,R2,…,Rn),带宽Ci=(C1,C2,…,Cn),多个报文的报文平均大小为L,计算传输周期K=LCM(R1,R2,…,Rn),计算在传输周期K时间内,每条链路传输报文的传输数量pkti=(pkt1,pkt2,…,pktn),pkti= (Ri×Ci×K)/L。For example, the delay R i =(R 1 , R 2 ,..., R n ) corresponding to the link Pi = (P 1 , P 2 ,...P n ), and the bandwidth C i = (C 1 , C 2 ,...,C n ), the average message size of multiple messages is L, calculate the transmission period K=LCM (R 1 , R 2 ,..., R n ), calculate the transmission period of each link within the transmission period K The number of transmission messages pkt i = (pkt 1 , pkt 2 , ..., pkt n ), pkt i = (R i ×C i ×K)/L.
其中,i为用于区分链路的索引,n为正整数。当n等于2时也即是上述实施例示出的发送设备连接第一链路和第二链路的情况。本申请实施例不对链路的排序方法进行限定,可以是基于时延递增排序,此时链路P1为时延最低的链路。也可以是基于传输时延递减排序,此时链路P1为时延最高的链路。LCM用于表示最小公倍数,以n为2为例,K=LCM(R1,R2)也即是K等于R1与R2的最小公倍数。以第一链路为链路P1为例,对上述链路、时延、带宽和传输数量的关系进行举例说明,链路P1对应的时延为R1,链路P1的带宽为C1,基于多个报文的报文平均大小L,计算得到链路P1在一个传输周期K时间内的第一传输数量为pkt1Among them, i is the index used to distinguish links, and n is a positive integer. When n equals 2, that is, the sending device shown in the above embodiment connects the first link and the second link. The embodiment of the present application does not limit the link sorting method, which may be based on increasing delay. In this case, link P 1 is the link with the lowest delay. It can also be sorted in descending order based on transmission delay. In this case, link P 1 is the link with the highest delay. LCM is used to represent the least common multiple. Taking n as 2 as an example, K=LCM(R 1 , R 2 ), that is, K is equal to the least common multiple of R 1 and R 2 . Taking the first link as link P 1 as an example, the relationship between the above-mentioned link, delay, bandwidth and transmission quantity will be explained with an example. The corresponding delay of link P 1 is R 1 and the bandwidth of link P 1 is C 1 , based on the average packet size L of multiple packets, the first transmission number of link P 1 within one transmission cycle K is calculated to be pkt 1 .
示例性地,以图3示出的传输报文的过程示意图为例,第一链路的性能基于第一链路的时延确定,第二链路的性能基于第二链路的时延确定。例如,第一链路的时延为40毫秒(millisecond,MS),带宽为10兆比特每秒(megabits per second,Mbps),第二链路的时延为80ms,带宽为10Mbps,多个报文的报文平均大小为100字节(byte,B)。基于第一链路的时延与第二链路的时延确定传输周期为80ms,此时第一链路的第一传输数量为100个,第二链路的第二传输数量也为100个。Illustratively, taking the schematic diagram of the process of transmitting messages shown in Figure 3 as an example, the performance of the first link is determined based on the delay of the first link, and the performance of the second link is determined based on the delay of the second link. . For example, the delay of the first link is 40 milliseconds (MS) and the bandwidth is 10 megabits per second (Mbps). The delay of the second link is 80ms and the bandwidth is 10Mbps. Multiple reports The average size of a message is 100 bytes (byte, B). Based on the delay of the first link and the delay of the second link, the transmission period is determined to be 80ms. At this time, the first transmission number of the first link is 100, and the second transmission number of the second link is also 100. .
可选地,第二传输数量的确定过程与第一传输数量的确定过程类似,在此不再多加赘述。在确定第一传输数量和第二传输数量后,可基于第一传输数量和第二传输数量从多个报文中确定第一报文与第二报文。示例性地,将多个报文中时序在前的不大于第一传输数量个数个报文确定为第一报文。其中,多个报文的时序也即是报文到达发送设备的时间顺序。在从多个报文中确定第一报文后,可将第一报文的结束位置后的第一个报文作为第二报文的开始位置,选择不大于第二传输数量个数个的报文作为第二报文。Optionally, the determination process of the second transmission quantity is similar to the determination process of the first transmission quantity, and will not be described again here. After determining the first transmission number and the second transmission number, the first message and the second message may be determined from the plurality of messages based on the first transmission number and the second transmission number. For example, the first message among the plurality of messages whose timing sequence is not greater than the first transmission number is determined as the first message. Among them, the timing of multiple messages is also the time sequence in which the messages arrive at the sending device. After determining the first message from multiple messages, the first message after the end position of the first message can be used as the starting position of the second message, and a number no greater than the second transmission number can be selected. message as the second message.
以上述实施例计算得到的第一链路的第一传输数量为100个,第二链路的第二传输数量也为100个为例,此时第一传输数量和第二传输数量的和值为200个。当待传输的多个报文的数量为198个(小于200个),按照时序对198个报文编号为1-198,确定方式为将时序编号为1-100的报文确定为第一报文,将时序编号为101-198的报文确定为第二报文。其中,时序编号为1的报文为第一个到达发送设备的报文,时序编号为2的报文为第二个到达发送设备的报文,其他的时序编号的含义与时序编号1和时序编号2的含义类似,在此不再多加赘述。Taking the first transmission number of the first link calculated in the above embodiment as 100, and the second transmission number of the second link as 100 as an example, at this time, the sum of the first transmission number and the second transmission number is for 200. When the number of multiple messages to be transmitted is 198 (less than 200), the 198 messages are numbered 1-198 according to the timing. The determination method is to determine the message with the timing number 1-100 as the first message. message, and determine the message with timing number 101-198 as the second message. Among them, the message with timing number 1 is the first message to arrive at the sending device, and the message with timing number 2 is the second message to arrive at the sending device. The meaning of other timing numbers is the same as timing number 1 and timing. The meaning of number 2 is similar and will not be repeated here.
在一种可能的实现方式中,发送设备会对接收到的多个报文进行分组,示例性地,基于业务类型对多个报文进行分组,将业务类型相同的报文分为一组。例如,发送设备接收到SLA相同的视频电话类业务的报文和游戏类业务的报文。其中,视频电话类业务的报文的时序编号为1-98,游戏类业务的报文的时序编号为99-198。接收设备基于业务类型将视频电话类业务的报文分为一组,游戏类业务的报文分为另一组。此时,在从多个报文中选择第一报文时,除了参考第一传输数量还会参考多个报文的分组情况。例如,选择时序编号为1-98的报文作为第一报文,选择时序编号为99-198的报文作为第二报文,实现同组的报文位于同一条链路。In a possible implementation, the sending device groups multiple received messages. For example, the multiple messages are grouped based on the service type, and messages of the same service type are grouped into one group. For example, the sending device receives packets of video phone services and packets of game services with the same SLA. Among them, the timing numbers of the packets of the video phone service are 1-98, and the timing numbers of the packets of the game service are 99-198. The receiving device divides the packets of the video phone service into one group and the packets of the game service into another group based on the service type. At this time, when selecting the first message from multiple messages, in addition to referring to the first transmission number, the grouping situation of the multiple messages is also referenced. For example, select packets with timing numbers 1-98 as the first packet, and select packets with timing numbers 99-198 as the second packet, so that packets in the same group are located on the same link.
可选地,对多个报文的分组还可基于多个报文的产生时间分组,将产生时间间隔小于时间阈值的报文分为一组。例如,发送设备接收到一场视频电话类业务的报文,将产生时间间隔小于时间阈值的报文分为一组,分组结果为时序编号为1-50的报文为一组,时序编号为50-98的报文为一组,时序编号为99-125的报文为一组,时序编号为126-198的报文为最后一组。将时序编号为1-98的报文确定为第一报文,将时序编号为99-198的报文确定为第二 报文。基于分组从多个报文中确定第一报文,保证了同组的报文在同一链路上,避免了一组报文由于不同链路的性能不同,而在传输过程中出现组内乱序的情况。可选地,时间阈值可以是基于经验设置的任意大小和单位的数值,时间阈值也可以是基于实施环境设置,本申请实施例对此不进行限定。Optionally, the grouping of multiple messages can also be grouped based on the generation time of the multiple messages, and the messages whose generation time interval is less than the time threshold are grouped into one group. For example, the sending device receives the packets of a video phone service and divides the packets whose generation time interval is less than the time threshold into one group. The grouping result is that the packets with timing number 1-50 are one group, and the timing number is Messages with sequence numbers 50-98 are one group, messages with sequence numbers 99-125 are one group, and messages with sequence numbers 126-198 are the last group. Determine the message with timing number 1-98 as the first message, and determine the message with timing number 99-198 as the second message. message. Determine the first message from multiple messages based on grouping, ensuring that messages in the same group are on the same link, avoiding intra-group chaos in a group of messages due to different performance of different links. sequence situation. Optionally, the time threshold can be a value of any size and unit set based on experience. The time threshold can also be set based on the implementation environment, which is not limited in the embodiments of the present application.
需要注意的是,在基于多个报文的分组情况从多个报文中确定第一报文时,还需要考虑第一传输数量与第二传输数量,在保证第一报文的数量不超过第一传输数量,第二报文的数量不超过第二传输数量的基础上,实现一组的报文在一条链路上。可选地,当保证一组的报文在一条链路时,会出现第一报文的数量超过第一传输数量或第二报文的数量超过第二传输数量的情况,此时,发送设备可以选择将时序靠后的一组报文放在下一个传输周期。例如,时序编号为1-77的报文为一组,时序编号为78-161的报文为一组,时序编号为162-198的报文为一组,发送设备确定时序编号为1-77的报文作为第一报文,确定时序编号为78-161的报文作为第二报文,时序编号为162-198的报文为剩余报文。It should be noted that when determining the first message from multiple messages based on the grouping situation of multiple messages, the first transmission quantity and the second transmission quantity also need to be considered. Before ensuring that the number of first messages does not exceed On the basis that the first transmission quantity and the second transmission quantity do not exceed the second transmission quantity, a group of messages is implemented on one link. Optionally, when ensuring that a group of messages is on one link, there may be a situation where the number of first messages exceeds the first transmission quantity or the number of second messages exceeds the second transmission quantity. At this time, the sending device You can choose to put a group of messages with later timing in the next transmission cycle. For example, messages with timing numbers 1-77 are one group, messages with timing numbers 78-161 are one group, messages with timing numbers 162-198 are one group, and the sending device determines that the timing numbers are 1-77 The message with sequence number 78-161 is regarded as the first message, the message with sequence number 78-161 is determined as the second message, and the message with sequence number 162-198 is the remaining message.
此外,从多个报文中确定第一报文和第二报文时,还存在多个报文的数量不大于第一传输数量的情况,也即是第一链路可以在一个传输周期内将多个第一报文传输到接收设备。当第一链路的性能远优于第二链路时,无需将多个报文分配到第二链路上。例如,第一链路的第一传输数量为100个,第二链路的第二传输数量也为100个,当待传输的多个报文的数量小于100个时,发送设备可进一步比较第一链路的性能与第二链路的性能。可选地,第一链路的性能远优于第二链路是指用于确定第一链路的性能的指标与用于确定第二链路的性能的指标之间的差值大于调度阈值。以用于确定第一链路的性能的指标为时延,调度阈值为30ms,第一链路的时延为40ms,第二链路的时延为80ms为例。由于第一链路的时延与第二链路的时延之间的差值为40ms,大于调度阈值,也即是第一链路的性能远优于第二链路,此时将多个报文确定为第一报文,通过第一链路传输未超过自身负荷能力的多个报文,保证了多个报文的正常传输的基础上,实现了多个报文的低时延传输。可选地,调度阈值可基于经验设置,其单位与用于确定第一链路的性能的指标保持一致。In addition, when determining the first message and the second message from multiple messages, there is also a situation where the number of multiple messages is not greater than the first transmission number, that is, the first link can Transmit a plurality of first messages to the receiving device. When the performance of the first link is much better than that of the second link, there is no need to distribute multiple packets to the second link. For example, the first transmission number of the first link is 100, and the second transmission number of the second link is also 100. When the number of multiple messages to be transmitted is less than 100, the sending device can further compare the number of packets to be transmitted. The performance of one link versus the performance of the second link. Optionally, the performance of the first link is much better than that of the second link means that the difference between the indicator used to determine the performance of the first link and the indicator used to determine the performance of the second link is greater than the scheduling threshold . As an example, take the indicator used to determine the performance of the first link as delay, the scheduling threshold as 30 ms, the delay of the first link as 40 ms, and the delay of the second link as 80 ms. Since the difference between the delay of the first link and the delay of the second link is 40ms, which is greater than the scheduling threshold, that is, the performance of the first link is much better than that of the second link. At this time, multiple The message is determined to be the first message, and multiple messages that do not exceed its own load capacity are transmitted through the first link. On the basis of ensuring the normal transmission of multiple messages, low-latency transmission of multiple messages is achieved. . Alternatively, the scheduling threshold may be set based on experience, with units consistent with the metric used to determine the performance of the first link.
在确定第一报文和第二报文后,通过第一链路传输第一报文,通过第二链路传输第二报文。以上述实施例示出的确定时序编号为1-100的报文为第一报文,确定时序编号为101-198的报文为第二报文为例,基于第一链路传输时序编号为1-100的第一报文,基于第二链路传输时序编号为101-198的第二报文。通过按照多个报文的时序分配报文,将时序靠后的第二报文分配到性能低的第二链路上提前传输,由于时序靠后的第二报文无需等待时序靠前的第一报文传输结束,便可开始传输,缩短了传输时间。此外,通过将第一报文分配在性能优的第一链路上,使其先一步到达发送设备,从而实现多个报文在接收设备近似有序到达。After the first message and the second message are determined, the first message is transmitted through the first link, and the second message is transmitted through the second link. Taking the above embodiment as an example of determining that the message with sequence number 1-100 is the first message and the message with sequence number 101-198 as the second message, based on the first link transmission sequence number is 1 The first message of -100 is based on the second message with transmission sequence number 101-198 on the second link. By allocating packets according to the timing of multiple packets, the second packet with later timing is allocated to the second link with lower performance for early transmission, because the second packet with later timing does not need to wait for the second packet with earlier timing. As soon as the message transmission is completed, the transmission can be started, which shortens the transmission time. In addition, by allocating the first message to the first link with excellent performance, it can arrive at the sending device first, thereby achieving approximately orderly arrival of multiple messages at the receiving device.
需要说明的是,除了上述实施例示出的基于多个报文的分组情况从多个报文中确定第一报文和第二报文后会存在剩余情况,当多个报文的数量大于第一传输数量和第二传输数量的和值时,也会出现剩余报文。示例性地,多个报文的数量大于第一传输数量和第二传输数量的和值,也即是发送设备无法在一个传输周期内将多个报文全部发送至接收设备。此时,发送设备会从多个报文中确定第一报文和第二报文。确定方式可参照上述实施例示出的确定第一报文和第二报文的方式,多个报文的数量的获取方式与多个报文的平均报文大小的获取方式类似,在此均不再多加赘述。It should be noted that, in addition to the grouping situation based on multiple messages shown in the above embodiment, there will be remaining situations after determining the first message and the second message from multiple messages. When the number of multiple messages is greater than the When the sum of the first transmission quantity and the second transmission quantity is equal to the sum of the first transmission quantity and the second transmission quantity, remaining messages will also appear. For example, the number of multiple messages is greater than the sum of the first transmission number and the second transmission number, that is, the sending device cannot send all the multiple messages to the receiving device in one transmission cycle. At this time, the sending device determines the first message and the second message from the multiple messages. The determination method may refer to the method of determining the first message and the second message shown in the above embodiment. The method of obtaining the number of multiple messages is similar to the method of obtaining the average message size of multiple messages, and there is no difference here. To elaborate further.
以上述实施例计算得到的第一传输数量为100个,第二传输数量也为100个为例,此时 第一传输数量和第二传输数量的和值为200。当待传输的多个报文的数量为300个(大于200),其时序编号为1-300。确定方式为将时序编号为1-100的报文确定为第一报文,将时序编号为101-200的报文确定为第二报文。通过第一链路传输第一报文,通过第二链路传输第二报文。针对多个报文中的除第一报文和第二报文之外的剩余报文,例如,时序编号为201-300的报文,其处理方式可参见下述实施例。Taking the first transmission number calculated in the above embodiment as 100 and the second transmission number also as 100 as an example, at this time The sum of the first transmission number and the second transmission number is 200. When the number of multiple messages to be transmitted is 300 (more than 200), the sequence number is 1-300. The determination method is to determine the messages with timing numbers 1-100 as the first message, and determine the messages with timing numbers 101-200 as the second message. The first message is transmitted through the first link, and the second message is transmitted through the second link. For the remaining packets in the plurality of packets except the first packet and the second packet, for example, the packets with sequence numbers 201-300, the processing method can be referred to the following embodiments.
在一种可能的实现方式中,针对多个报文中存在剩余报文的情况,在发送第一报文和第二报文后,发送设备还会基于剩余报文的数量与第一链路对应的传输数量和第二链路对应的传输数量,从剩余报文中确定出第四报文和第五报文,第四报文的时序先于第五报文的时序。通过第一链路传输第四报文,通过第二链路传输第五报文。可选地,发送设备在从剩余报文中确定出第四报文和第五报文的过程与发送设备从多个报文中确定第一报文和第二报文的过程类似,在此不再多加赘述。此外,由于待传输的报文发生了变化,由多个报文变为多个报文中的剩余报文,此时,发送设备会重新获取剩余报文的平均报文大小,基于剩余报文的平均报文大小计算第一链路和第二链路在一个传输周期内的传输数量。In a possible implementation, for the situation where there are remaining messages in multiple messages, after sending the first message and the second message, the sending device will also contact the first link based on the number of remaining messages. Based on the corresponding transmission number and the corresponding transmission number of the second link, the fourth message and the fifth message are determined from the remaining messages. The timing of the fourth message precedes the timing of the fifth message. The fourth message is transmitted through the first link, and the fifth message is transmitted through the second link. Optionally, the process by which the sending device determines the fourth message and the fifth message from the remaining messages is similar to the process by which the sending device determines the first message and the second message from multiple messages, where No more details will be given. In addition, since the packets to be transmitted have changed from multiple packets to the remaining packets among the multiple packets, the sending device will re-obtain the average packet size of the remaining packets, based on the remaining packets. The average packet size is calculated as the number of transmissions between the first link and the second link in one transmission cycle.
需要说明的是,由于发送设备在向接收设备发送第一报文和第二报文时,发送设备可能还会接收到待传输的其他报文。发送设备在发送剩余报文时,可以基于上述实施例,先分配剩余报文,再在传输完剩余报文后,分配其他报文。发送设备还可以基于剩余报文与其他报文的平均报文大小和报文数量,基于上述实施例示出的方法分配剩余报文与其他报文至第一链路和第二链路上,本申请实施例对此不进行限定。It should be noted that when the sending device sends the first message and the second message to the receiving device, the sending device may also receive other messages to be transmitted. When sending the remaining messages, the sending device may first allocate the remaining messages based on the above embodiment, and then allocate other messages after the remaining messages are transmitted. The sending device can also allocate the remaining messages and other messages to the first link and the second link based on the average message size and number of messages of the remaining messages and other messages based on the method shown in the above embodiment. The application examples do not limit this.
可选地,接收设备在接收到发送设备传输的第一报文和第二报文后,会基于第一报文与第二报文获取目标报文,检查目标报文的排列顺序,调整目标报文中乱序的部分。以时序编号为1-100的报文为第一报文,时序编号为101-198的报文为第二报文为例,接收设备基于第一链路在接收到时序编号为90的第一报文时,接收到来自第二链路的时序编号为101的第二报文。此时,获取到的目标报文出现部分乱序,接收设备会对目标报文的乱序部分进行重排,将重排后的目标报文发送至目的端。可选地,目的端为局域网(local area network,LAN)侧,重排是利用TCP协议自带的重排缓存实现。需要说明的是,由于基于第一链路发送的第一报文和基于第二链路发送的第二报文均是基于时序顺序确定的。因此,目标报文的乱序部分也限于第一链路的传输队尾与第二链路的传输队头,重排的工作量小,时间短。Optionally, after receiving the first message and the second message transmitted by the sending device, the receiving device will obtain the target message based on the first message and the second message, check the order of the target messages, and adjust the target The out-of-order portion of the message. Taking the message with the sequence number 1-100 as the first message and the message with the sequence number 101-198 as the second message as an example, the receiving device receives the first message with the sequence number 90 based on the first link. message, the second message with sequence number 101 from the second link is received. At this time, the acquired target packets are partially out of order, and the receiving device will rearrange the out-of-order parts of the target packets and send the rearranged target packets to the destination. Optionally, the destination is the local area network (LAN) side, and the rearrangement is implemented using the rearrangement cache that comes with the TCP protocol. It should be noted that the first message sent based on the first link and the second message sent based on the second link are both determined based on the timing sequence. Therefore, the out-of-sequence part of the target packet is also limited to the tail of the transmission queue of the first link and the head of the transmission queue of the second link. The workload of rearrangement is small and the time is short.
示例性地,接收设备在发送多个目标报文后,还会基于接收到的目标报文的情况,统计第一链路和第二链路的最新时延,并将第一链路和第二链路的最新时延发送至发送设备的网络感知调度模型,以对第一链路和第二链路的时延进行更新校准。而接收第一链路和第二链路的最新时延的发送设备,可以是具有链路统计功能的发送设备,也可以是不具有链路统计功能的发送设备,本申请实施例对此不进行限定。For example, after sending multiple target packets, the receiving device will also calculate the latest delays of the first link and the second link based on the status of the received target packets, and compare the first link and the second link. The latest delay of the second link is sent to the network-aware scheduling model of the sending device to update and calibrate the delays of the first link and the second link. The sending device that receives the latest delay of the first link and the second link may be a sending device with a link statistics function, or may be a sending device without a link statistics function. This is not the case in the embodiment of the present application. Make restrictions.
需要说明的是,上述举例旨在说明多条链路的报文传输过程,而非限定发送设备和接收设备间连接的链路数量。发送设备和接收设备间可以连接两条链路,也可以连接两条以上的链路。其中,两条以上的链路中存在至少两条性能不同的链路。此外,针对发送设备和接收设备间连接两条以上的链路时,发送设备可以从两条以上的链路中选择两条链路执行本申请实施例提供的报文传输方法,发送设备还可以从两条以上的链路中选择两条以上的链路执行本申请实施例提供的报文传输方法。It should be noted that the above example is intended to illustrate the message transmission process of multiple links, but does not limit the number of links connected between the sending device and the receiving device. Two links can be connected between the sending device and the receiving device, or more than two links can be connected. Among the two or more links, there are at least two links with different performance. In addition, when more than two links are connected between the sending device and the receiving device, the sending device can select two links from the two or more links to perform the message transmission method provided by the embodiment of the present application, and the sending device can also Select two or more links from the two or more links to perform the message transmission method provided by the embodiment of the present application.
可选地,发送设备还连接第三链路,当第一链路和第二链路的性能均优于第三链路的性 能时,发送设备获取待传输的第三报文,第一报文和第二报文的时序均先于第三报文的时序,通过第三链路传输第三报文。关于基于第三链路传输第三报文的方式与上述实施例示出的基于第一链路传输第一报文的方式类似,在此不再多加赘述。第三链路的性能可以如上述实施例示出的与第一链路的性能和第二链路的性能均不同,第三链路的性能也可以与第一链路的性能相同,还可以与第二链路的性能相同。第三链路的性能的确定方式与第一链路的性能的确定方式类似,在此不再多加赘述。关于性能相同,也即是用于确定性能的指标大小相同,以基于时延确定性能为例,第三链路的性能与第一链路的性能相同,是指第三链路的时延与第一链路的时延相同。Optionally, the sending device is also connected to a third link, when the performance of the first link and the second link is better than the performance of the third link. When enabled, the sending device obtains the third message to be transmitted, the timing of the first message and the second message is earlier than the timing of the third message, and transmits the third message through the third link. The method of transmitting the third message based on the third link is similar to the method of transmitting the first message based on the first link shown in the above embodiment, and will not be described again here. The performance of the third link may be different from the performance of the first link and the performance of the second link as shown in the above embodiment. The performance of the third link may also be the same as the performance of the first link, or may be different from the performance of the first link. The performance of the second link is the same. The method of determining the performance of the third link is similar to the method of determining the performance of the first link, and will not be described in detail here. Regarding the same performance, that is, the indicators used to determine performance are the same. Taking determining performance based on delay as an example, the performance of the third link is the same as the performance of the first link, which means that the delay of the third link is the same as that of the first link. The delay of the first link is the same.
综上所述,本申请实施例提供的报文传输方法,由于第一报文为多个报文中时序靠前的报文,通过性能更优的第一链路传输时序靠前的第一报文,有效缓解了因为链路性能与时序不匹配而导致的报文乱序的情况,该报文传输方法在提高吞吐量的同时,实现了低时延传输。To sum up, in the message transmission method provided by the embodiment of the present application, since the first message is the message with earlier timing among multiple messages, the first message with earlier timing is transmitted through the first link with better performance. Messages effectively alleviate the message out-of-order situation caused by the mismatch between link performance and timing. This message transmission method not only improves throughput, but also achieves low-latency transmission.
此外,用于分配第一报文和第二报文的指标(第一传输数量和第二传输数量)是基于各条链路的时延、带宽以及待传输的多个报文的平均大小确定的,也即是用于分配第一报文和第二报文的指标会基于待传输的报文的情况灵活调整,因此分配第一报文和第二报文的方式更灵活。In addition, the indicators used to allocate the first packet and the second packet (the first transmission quantity and the second transmission quantity) are determined based on the delay and bandwidth of each link and the average size of multiple packets to be transmitted. , that is, the indicators used to allocate the first packet and the second packet will be flexibly adjusted based on the conditions of the packets to be transmitted, so the method of allocating the first packet and the second packet is more flexible.
以上介绍了本申请实施例的报文传输方法,与上述方法对应,本申请实施例还提供了报文传输装置。图5是本申请实施例提供的一种报文传输装置的结构示意图。基于图5所示的如下多个模块,该图5所示的报文传输装置能够执行上述图2所示的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图5所示,该装置应用于发送设备,发送设备连接第一链路和第二链路,第一链路的性能优于第二链路的性能,装置包括:The message transmission method of the embodiment of the present application is introduced above. Corresponding to the above method, the embodiment of the present application also provides a message transmission device. Figure 5 is a schematic structural diagram of a message transmission device provided by an embodiment of the present application. Based on the following modules shown in Figure 5, the message transmission device shown in Figure 5 can perform all or part of the operations shown in Figure 2 above. It should be understood that the device may include more additional modules than the modules shown or omit some of the modules shown therein, and the embodiments of the present application are not limited to this. As shown in Figure 5, the device is applied to the sending device. The sending device connects the first link and the second link. The performance of the first link is better than the performance of the second link. The device includes:
获取模块501,用于获取待传输的多个报文,多个报文包括第一报文和第二报文,第一报文的时序先于第二报文的时序;The acquisition module 501 is used to acquire multiple messages to be transmitted. The multiple messages include a first message and a second message. The timing of the first message is prior to the timing of the second message;
传输模块502,用于通过第一链路传输第一报文,通过第二链路传输第二报文。The transmission module 502 is configured to transmit the first message through the first link and the second message through the second link.
在一种可能的实现方式中,第一链路的性能基于第一链路的时延、带宽以及丢包率中的至少一个确定,第二链路的性能基于第二链路的时延、带宽以及丢包率中的至少一个确定。In a possible implementation, the performance of the first link is determined based on at least one of the delay, bandwidth, and packet loss rate of the first link, and the performance of the second link is determined based on the delay, bandwidth, and packet loss rate of the second link. At least one of bandwidth and packet loss rate is determined.
在一种可能的实现方式中,多个报文属于同一业务。In a possible implementation manner, multiple messages belong to the same service.
在一种可能的实现方式中,多个报文属于同一类业务,同一类业务是指业务类型相同或者服务级别协议SLA相同。In a possible implementation manner, multiple packets belong to the same type of service. The same type of service refers to the same service type or the same service level agreement (SLA).
在一种可能的实现方式中,发送设备还连接第三链路,第一链路和第二链路的性能均优于第三链路的性能;获取模块501,还用于获取待传输的第三报文,第一报文和第二报文的时序均先于第三报文的时序;传输模块502,还用于通过第三链路传输第三报文。In a possible implementation, the sending device is also connected to a third link, and the performance of the first link and the second link are both better than the performance of the third link; the acquisition module 501 is also used to obtain the data to be transmitted. For the third message, the timing of the first message and the second message is earlier than the timing of the third message; the transmission module 502 is also used to transmit the third message through the third link.
在一种可能的实现方式中,装置还包括:确定模块,用于确定第一链路在一个传输周期内的传输报文的第一传输数量,确定第二链路在一个传输周期内传输报文的第二传输数量;基于多个报文的数量与第一传输数量从多个报文中确定第一报文,基于多个报文的数量与第二传输数量从多个报文中确定第二报文。In a possible implementation, the device further includes: a determining module, configured to determine a first transmission number of packets transmitted by the first link in a transmission cycle, and determine a first transmission number of packets transmitted by the second link in a transmission cycle. The second transmission quantity of the message; the first message is determined from the plurality of messages based on the number of the plurality of messages and the first transmission quantity, and the first message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission quantity. Second message.
在一种可能的实现方式中,确定模块,用于基于第一链路的时延与第二链路的时延确定传输周期;基于多个报文的平均报文大小、传输周期和第一链路的带宽,计算得到第一传输 数量。In a possible implementation, the determining module is configured to determine the transmission period based on the delay of the first link and the delay of the second link; based on the average message size of multiple messages, the transmission period and the first link The bandwidth of the link, calculated to obtain the first transmission quantity.
在一种可能的实现方式中,装置还包括:统计模块,用于接收来自接收设备发送的第一链路和第二链路的时延,时延基于接收设备统计获取,接收设备与第一链路和第二链路相连;或者,统计第一链路和第二链路的时延;或者,接收来自网络管理设备发送的第一链路和第二链路的时延,网络管理设备用于管理与发送设备相关的网络。In a possible implementation, the device further includes: a statistics module, configured to receive the delay of the first link and the second link sent from the receiving device. The delay is obtained based on statistics of the receiving device. The receiving device communicates with the first link. The link is connected to the second link; or, the delay of the first link and the second link is counted; or, the delay of the first link and the second link is received from the network management device, and the network management device Used to manage the network related to the sending device.
上述装置由于第一报文为多个报文中时序靠前的报文,通过性能更优的第一链路传输时序靠前的第一报文,有效缓解了报文乱序的情况,报文传输时间短,效率高。Since the first message of the above device is the message with the earlier timing among multiple messages, the first message with the earlier timing is transmitted through the first link with better performance, which effectively alleviates the situation of packet disorder. The file transmission time is short and the efficiency is high.
应理解的是,上述图5提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be understood that when the device provided in FIG. 5 realizes its functions, only the division of the above functional modules is used as an example. In practical applications, the above functions can be allocated to different functional modules as needed, that is, the equipment The internal structure is divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be described again here.
参见图6,图6示出了本申请一个示例性实施例提供的网络设备600的结构示意图。图6所示的网络设备600用于执行上述图2所示的报文传输方法所涉及的操作。该网络设备600例如是交换机、路由器等,该网络设备600可以由一般性的总线体系结构来实现。Referring to Figure 6, Figure 6 shows a schematic structural diagram of a network device 600 provided by an exemplary embodiment of the present application. The network device 600 shown in Figure 6 is used to perform operations related to the message transmission method shown in Figure 2. The network device 600 is, for example, a switch, a router, etc., and the network device 600 can be implemented by a general bus architecture.
如图6所示,网络设备600包括至少一个处理器601、存储器603以及至少一个通信接口604。As shown in FIG. 6 , the network device 600 includes at least one processor 601 , a memory 603 and at least one communication interface 604 .
处理器601例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器601包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。The processor 601 is, for example, a general central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), Neural network processors (neural-network processing units, NPU), data processing units (Data Processing Unit, DPU), microprocessors or one or more integrated circuits used to implement the solution of this application. For example, the processor 601 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof. It may implement or execute the various logical blocks, modules and circuits described in conjunction with the disclosure of embodiments of the present invention. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
可选的,网络设备600还包括总线。总线用于在网络设备600的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Optionally, the network device 600 also includes a bus. The bus is used to transfer information between the various components of network device 600. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 6, but it does not mean that there is only one bus or one type of bus.
存储器603例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器603 例如是独立存在,并通过总线与处理器601相连接。存储器603也可以和处理器601集成在一起。The memory 603 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (random access memory, RAM) or a device that can store information and instructions. Other types of dynamic storage devices, such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation. Memory 603 For example, it exists independently and is connected to the processor 601 through a bus. Memory 603 may also be integrated with processor 601.
通信接口604使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口604可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口604可以为以太(Ethernet)接口、快速以太(fast ethernet,FE)接口、千兆以太(gigabit ethernet,GE)接口,异步传输模式(asynchronous transfer mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口604可以用于网络设备600与其他设备进行通信。The communication interface 604 uses any device such as a transceiver to communicate with other devices or a communication network. The communication network can be Ethernet, a radio access network (RAN) or a wireless local area network (WLAN), etc. The communication interface 604 may include a wired communication interface and may also include a wireless communication interface. Specifically, the communication interface 604 can be an Ethernet (Ethernet) interface, a fast ethernet (FE) interface, a gigabit ethernet (GE) interface, an asynchronous transfer mode (ATM) interface, a wireless LAN ( wireless local area networks, WLAN) interface, cellular network communication interface or a combination thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In this embodiment of the present application, the communication interface 604 can be used for the network device 600 to communicate with other devices.
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,如图6中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。In specific implementation, as an embodiment, the processor 601 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 6 . Each of these processors may be a single-CPU processor or a multi-CPU processor. A processor here may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
在具体实现中,作为一种实施例,网络设备600可以包括多个处理器,如图6中所示的处理器601和处理器605。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。In specific implementation, as an embodiment, the network device 600 may include multiple processors, such as the processor 601 and the processor 605 shown in FIG. 6 . Each of these processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A processor here may refer to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
在具体实现中,作为一种实施例,网络设备600还可以包括输出设备和输入设备。输出设备和处理器601通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器601通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。In specific implementation, as an embodiment, the network device 600 may also include an output device and an input device. Output devices communicate with processor 601 and can display information in a variety of ways. For example, the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector (projector), etc. Input devices communicate with processor 601 and can receive user input in a variety of ways. For example, the input device may be a mouse, a keyboard, a touch screen device or a sensing device, etc.
在一些实施例中,存储器603用于存储执行本申请方案的程序代码610,处理器601可以执行存储器603中存储的程序代码610。也即是,网络设备600可以通过处理器601以及存储器603中的程序代码610,来实现方法实施例提供的报文传输方法。程序代码610中可以包括一个或多个软件模块。可选地,处理器601自身也可以存储执行本申请方案的程序代码或指令。In some embodiments, the memory 603 is used to store the program code 610 for executing the solution of the present application, and the processor 601 can execute the program code 610 stored in the memory 603. That is to say, the network device 600 can implement the message transmission method provided by the method embodiment through the processor 601 and the program code 610 in the memory 603. Program code 610 may include one or more software modules. Optionally, the processor 601 itself can also store program codes or instructions for executing the solution of the present application.
在具体实施例中,本申请实施例的网络设备600可对应于上述各个方法实施例中的报文传输设备。In a specific embodiment, the network device 600 in the embodiment of the present application may correspond to the packet transmission device in each of the above method embodiments.
其中,图2所示的报文传输方法的各步骤通过网络设备600的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。Each step of the message transmission method shown in FIG. 2 is completed through an integrated logic circuit of hardware or instructions in the form of software in the processor of the network device 600 . The steps of the methods disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, the details will not be described here.
图7是本申请实施例提供的另一种网络设备的结构示意图,该网络设备例如是服务器,服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing unit,CPU)701和一个或多个存储器702,其中,该一个或多个存储器702中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器701加载并执行,以使该服务器实现上述各个方法实施例提供的报文传输方法。当然,该网络设备还可以具有有线或 无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该网络设备还可以包括其他用于实现设备功能的部件,在此不做赘述。Figure 7 is a schematic structural diagram of another network device provided by an embodiment of the present application. The network device is, for example, a server. The server may vary greatly due to different configurations or performance, and may include one or more processors (central processing). unit (CPU) 701 and one or more memories 702, wherein at least one computer program is stored in the one or more memories 702, and the at least one computer program is loaded and executed by the one or more processors 701, so that The server implements the message transmission method provided by each of the above method embodiments. Of course, the network device can also have wired or Wireless network interfaces, keyboards, input and output interfaces and other components are used for input and output. The network device may also include other components for realizing device functions, which will not be described in detail here.
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行报文传输方法。An embodiment of the present application also provides a communication device, which includes: a transceiver, a memory, and a processor. Wherein, the transceiver, the memory and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals. , and when the processor executes the instructions stored in the memory, the processor is caused to execute the message transmission method.
应理解的是,上述处理器可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。It should be understood that the above-mentioned processor can be a central processing unit (CPU), or other general-purpose processor, digital signal processing (DSP), application specific integrated circuit (application specific integrated circuit), ASIC), field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports advanced RISC machines (ARM) architecture.
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。Further, in an optional embodiment, the above-mentioned memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. Memory may also include non-volatile random access memory. For example, the memory may also store device type information.
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。The memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Among them, non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically removable memory. Erase electrically programmable read-only memory (EPROM, EEPROM) or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of illustration, but not limitation, many forms of RAM are available. For example, static random access memory (static RAM, SRAM), dynamic random access memory (dynamic random access memory, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access Memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synchlink DRAM, SLDRAM) and direct memory bus random access memory (direct rambus RAM, DR RAM).
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现如上任一所述的报文传输方法。Embodiments of the present application also provide a computer-readable storage medium, in which at least one instruction is stored, and the instruction is loaded and executed by the processor, so that the computer implements any of the above message transmission methods.
本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。Embodiments of the present application also provide a computer program (product). When the computer program is executed by a computer, it can cause the processor or computer to execute corresponding steps and/or processes in the above method embodiments.
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的报文传输方法。Embodiments of the present application also provide a chip, including a processor, configured to call and run instructions stored in the memory, so that the communication device installed with the chip performs any of the above message transmissions. method.
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的报文传输方法。An embodiment of the present application also provides another chip, including: an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the The processor is configured to execute the code in the memory. When the code is executed, the processor is configured to execute any of the above message transmission methods.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当 使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. when When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in this application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrated. The available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk), etc.
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the method steps and modules described in conjunction with the embodiments disclosed herein can be implemented in software, hardware, firmware, or any combination thereof. In order to clearly illustrate the interoperability of hardware and software, Alternatively, the steps and compositions of each embodiment have been generally described in terms of functions in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. One of ordinary skill in the art may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing the relevant hardware through a program. The program can be stored in a computer-readable storage medium. As mentioned above, The storage medium can be read-only memory, magnetic disk or optical disk, etc.
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer program instructions. By way of example, methods of embodiments of the present application may be described in the context of machine-executable instructions, such as included in a program module executing in a device on a target's real or virtual processor. Generally speaking, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., which perform specific tasks or implement specific abstract data structures. In various embodiments, the functionality of program modules may be combined or split between the described program modules. Machine-executable instructions for program modules can execute locally or on a distributed device. In a distributed device, program modules can be located in both local and remote storage media.
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的报文传输装置的处理器,使得程序代码在被计算机或其他可编程的报文传输装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。Computer program codes for implementing the methods of embodiments of the present application may be written in one or more programming languages. These computer program codes may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable message transmission device, so that when executed by the computer or other programmable message transmission device, the program code causes the flowchart and/or or the functions/operations specified in the block diagram are implemented. The program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。In the context of the embodiments of the present application, the computer program code or related data may be carried by any appropriate carrier, so that the device, device or processor can perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, and the like.
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。Examples of signals may include electrical, optical, radio, acoustic, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任 意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。A machine-readable medium may be any tangible medium that contains or stores a program for or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, or any Find the right combination. More detailed examples of machine-readable storage media include an electrical connection with one or more wires, laptop computer disk, hard drive, random memory accessor (RAM), read-only memory (ROM), erasable programmable read-only memory Memory (EPROM or flash memory), optical storage device, magnetic storage device, or any suitable combination thereof.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be described again here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be other division methods. For example, multiple modules or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented. In addition, the coupling or direct coupling or communication connection between each other shown or discussed may be indirect coupling or communication connection through some interfaces, devices or modules, or may be electrical, mechanical or other forms of connection.
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。The modules described as separate components may or may not be physically separated. The components shown as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。In addition, each functional module in each embodiment of the present application can be integrated into one processing module, or each module can exist physically alone, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software function modules.
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program code. .
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一链路可以被称为第二链路,并且类似地,第二链路可以被称为第一链路。In this application, the terms "first", "second" and other words are used to distinguish the same or similar items with basically the same functions and functions. It should be understood that the terms "first", "second" and "nth" There is no logical or sequential dependency, and there is no limit on the number or execution order. It should also be understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first link may be referred to as a second link, and similarly, a second link may be referred to as a first link, without departing from the scope of various described examples.
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should also be understood that in each embodiment of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not be determined by the execution order of the embodiments of the present application. The implementation process constitutes no limitation.
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。The term "at least one" in this application means one or more, and the term "multiple" in this application means two or more. For example, multiple second messages means two or more more than one second message. The terms "system" and "network" are often used interchangeably in this article.
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。 It is to be understood that the terminology used in the description of the various examples herein is for the purpose of describing the particular example only and is not intended to be limiting. As used in the description of various described examples and the appended claims, the singular forms "a,""an" and "the" are intended to include the plural forms as well, unless the context dictates otherwise. Instruct clearly.
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term "and/or" is an association relationship that describes related objects, indicating that there can be three relationships. For example, A and/or B can mean: A alone exists, A and B exist simultaneously, and B alone exists. situation. In addition, the character "/" in this application generally indicates that the related objects are an "or" relationship.
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。It will also be understood that the term "includes" (also "includes," "including," "comprises," and/or "comprising") when used in this specification specifies the presence of stated features, integers, steps, operations, elements , and/or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groupings thereof.
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。It should also be understood that the terms "if" and "if" may be interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting." Similarly, depending on the context, the phrase "if it is determined..." or "if [stated condition or event] is detected" may be interpreted to mean "when it is determined..." or "in response to the determination... ” or “on detection of [stated condition or event]” or “in response to detection of [stated condition or event].”
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。It should be understood that determining B based on A does not mean determining B only based on A, and B can also be determined based on A and/or other information.
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。 It should also be understood that references throughout this specification to "one embodiment,""anembodiment," and "a possible implementation" mean that specific features, structures, or characteristics related to the embodiment or implementation are included herein. In at least one embodiment of the application. Therefore, “in one embodiment” or “in an embodiment” or “a possible implementation” appearing in various places throughout this specification do not necessarily refer to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.

Claims (18)

  1. 一种报文传输方法,其特征在于,所述方法应用于发送设备,所述发送设备连接第一链路和第二链路,所述第一链路的性能优于所述第二链路的性能,所述方法包括:A message transmission method, characterized in that the method is applied to a sending device, the sending device connects a first link and a second link, and the performance of the first link is better than that of the second link performance, the methods include:
    获取待传输的多个报文,所述多个报文包括第一报文和第二报文,所述第一报文的时序先于所述第二报文的时序;Obtaining multiple messages to be transmitted, the multiple messages including a first message and a second message, the timing of the first message being prior to the timing of the second message;
    通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文。The first message is transmitted through the first link, and the second message is transmitted through the second link.
  2. 根据权利要求1所述的方法,其特征在于,所述第一链路的性能基于所述第一链路的时延、带宽以及丢包率中的至少一个确定,所述第二链路的性能基于所述第二链路的时延、带宽以及丢包率中的至少一个确定。The method of claim 1, wherein the performance of the first link is determined based on at least one of delay, bandwidth and packet loss rate of the first link, and the performance of the second link is determined based on at least one of the delay, bandwidth and packet loss rate of the first link. The performance is determined based on at least one of delay, bandwidth and packet loss rate of the second link.
  3. 根据权利要求1或2所述的方法,其特征在于,所述多个报文属于同一业务。The method according to claim 1 or 2, characterized in that the plurality of messages belong to the same service.
  4. 根据权利要求1或2所述的方法,其特征在于,所述多个报文属于同一类业务,所述同一类业务是指业务类型相同或者服务级别协议SLA相同。The method according to claim 1 or 2, characterized in that the plurality of messages belong to the same type of business, and the same type of business refers to the same service type or the same service level agreement (SLA).
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述发送设备还连接第三链路,所述第一链路和所述第二链路的性能均优于所述第三链路的性能;所述方法还包括:The method according to any one of claims 1-4, characterized in that the sending device is also connected to a third link, and the performance of the first link and the second link is better than that of the third link. Performance of the link; the method further includes:
    获取待传输的第三报文,所述第一报文和所述第二报文的时序均先于所述第三报文的时序,通过所述第三链路传输所述第三报文。Obtaining a third message to be transmitted, the timing of the first message and the second message is prior to the timing of the third message, and transmitting the third message through the third link .
  6. 根据权利要求1-5任一所述的方法,其特征在于,所述通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文之前,所述方法还包括:The method according to any one of claims 1 to 5, characterized in that, before transmitting the first message through the first link and transmitting the second message through the second link, The method also includes:
    确定所述第一链路在一个传输周期内的传输报文的第一传输数量,确定所述第二链路在所述一个传输周期内传输报文的第二传输数量;Determine the first transmission number of packets transmitted by the first link in one transmission cycle, and determine the second transmission number of packets transmitted by the second link in the one transmission cycle;
    基于所述多个报文的数量与所述第一传输数量从所述多个报文中确定第一报文,基于所述多个报文的数量与所述第二传输数量从所述多个报文中确定第二报文。A first message is determined from the plurality of messages based on the number of the plurality of messages and the first transmission number, and a first message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission number. Determine the second message among the two messages.
  7. 根据权利要求6所述的方法,其特征在于,所述确定所述第一链路在一个传输周期内的传输报文的第一传输数量,包括:The method according to claim 6, wherein determining the first transmission number of transmission packets of the first link in one transmission cycle includes:
    基于所述第一链路的时延与所述第二链路的时延确定所述传输周期;Determine the transmission period based on the delay of the first link and the delay of the second link;
    基于所述多个报文的平均报文大小、所述传输周期和所述第一链路的带宽,计算得到所述第一传输数量。The first transmission number is calculated based on the average message size of the plurality of messages, the transmission period and the bandwidth of the first link.
  8. 根据权利要求7所述的方法,其特征在于,所述基于所述第一链路的时延与所述第二链路的时延确定所述传输周期之前,所述方法还包括:The method according to claim 7, characterized in that before determining the transmission period based on the delay of the first link and the delay of the second link, the method further includes:
    接收来自接收设备发送的所述第一链路和所述第二链路的时延,所述时延基于所述接收 设备统计获取,所述接收设备与所述第一链路和所述第二链路相连;Receive the delay of the first link and the second link sent from the receiving device, the delay is based on the receiving Obtaining device statistics, the receiving device is connected to the first link and the second link;
    或者,所述发送设备统计所述第一链路和所述第二链路的时延;Or, the sending device counts the delays of the first link and the second link;
    或者,接收来自网络管理设备发送的所述第一链路和所述第二链路的时延,所述网络管理设备用于管理与所述发送设备相关的网络。Or, receive the delay of the first link and the second link sent from a network management device, where the network management device is used to manage a network related to the sending device.
  9. 一种报文传输装置,其特征在于,所述装置应用于发送设备,所述发送设备连接第一链路和第二链路,所述第一链路的性能优于所述第二链路的性能,所述装置包括:A message transmission device, characterized in that the device is applied to a sending device, the sending device connects a first link and a second link, and the performance of the first link is better than that of the second link Performance, the device includes:
    获取模块,用于获取待传输的多个报文,所述多个报文包括第一报文和第二报文,所述第一报文的时序先于所述第二报文的时序;An acquisition module, configured to acquire multiple messages to be transmitted, where the multiple messages include a first message and a second message, and the timing of the first message precedes the timing of the second message;
    传输模块,用于通过所述第一链路传输所述第一报文,通过所述第二链路传输所述第二报文。A transmission module, configured to transmit the first message through the first link and the second message through the second link.
  10. 根据权利要求9所述的装置,其特征在于,所述第一链路的性能基于所述第一链路的时延、带宽以及丢包率中的至少一个确定,所述第二链路的性能基于所述第二链路的时延、带宽以及丢包率中的至少一个确定。The apparatus according to claim 9, wherein the performance of the first link is determined based on at least one of delay, bandwidth and packet loss rate of the first link, and the performance of the second link is The performance is determined based on at least one of delay, bandwidth and packet loss rate of the second link.
  11. 根据权利要求9或10所述的装置,其特征在于,所述多个报文属于同一业务。The device according to claim 9 or 10, characterized in that the plurality of messages belong to the same service.
  12. 根据权利要求9或10所述的装置,其特征在于,所述多个报文属于同一类业务,所述同一类业务是指业务类型相同或者服务级别协议SLA相同。The device according to claim 9 or 10, characterized in that the plurality of messages belong to the same type of service, and the same type of service refers to the same service type or the same service level agreement (SLA).
  13. 根据权利要求9-12任一所述的装置,其特征在于,所述发送设备还连接第三链路,所述第一链路和所述第二链路的性能均优于所述第三链路的性能;所述获取模块,还用于获取待传输的第三报文,所述第一报文和所述第二报文的时序均先于所述第三报文的时序;所述传输模块,还用于通过所述第三链路传输所述第三报文。The device according to any one of claims 9-12, characterized in that the sending device is also connected to a third link, and the performance of the first link and the second link is better than that of the third link. The performance of the link; the acquisition module is also used to acquire the third message to be transmitted, and the timing of the first message and the second message is prior to the timing of the third message; so The transmission module is further configured to transmit the third message through the third link.
  14. 根据权利要求9-13任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 9-13, characterized in that the device further includes:
    确定模块,用于确定所述第一链路在一个传输周期内的传输报文的第一传输数量,确定所述第二链路在所述一个传输周期内传输报文的第二传输数量;基于所述多个报文的数量与所述第一传输数量从所述多个报文中确定第一报文,基于所述多个报文的数量与所述第二传输数量从所述多个报文中确定第二报文。a determining module, configured to determine a first transmission number of packets transmitted by the first link within a transmission cycle, and determine a second transmission number of packets transmitted by the second link within the one transmission cycle; A first message is determined from the plurality of messages based on the number of the plurality of messages and the first transmission number, and a first message is determined from the plurality of messages based on the number of the plurality of messages and the second transmission number. Determine the second message among the two messages.
  15. 根据权利要求14所述的装置,其特征在于,所述确定模块,用于基于所述第一链路的时延与所述第二链路的时延确定所述传输周期;基于所述多个报文的平均报文大小、所述传输周期和所述第一链路的带宽,计算得到所述第一传输数量。The device according to claim 14, wherein the determining module is configured to determine the transmission period based on the delay of the first link and the delay of the second link; The first transmission number is calculated based on the average message size of the messages, the transmission cycle and the bandwidth of the first link.
  16. 根据权利要求15所述的装置,其特征在于,所述装置还包括:The device according to claim 15, characterized in that the device further includes:
    统计模块,用于接收来自接收设备发送的所述第一链路和所述第二链路的时延,所述时延基于所述接收设备统计获取,所述接收设备与所述第一链路和所述第二链路相连;或者, 统计所述第一链路和所述第二链路的时延;或者,接收来自网络管理设备发送的所述第一链路和所述第二链路的时延,所述网络管理设备用于管理与所述发送设备相关的网络。A statistical module configured to receive the delay of the first link and the second link sent from a receiving device, the delay being obtained based on statistics of the receiving device, and the receiving device and the first link The road is connected to the second link; or, Statistics of the delay of the first link and the second link; or, receiving the delay of the first link and the second link sent from the network management device, the network management device uses For managing the network related to the sending device.
  17. 一种报文传输设备,其特征在于,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述报文传输设备实现权利要求1-8中任一所述的报文传输方法。A message transmission device, characterized in that the device includes a memory and a processor; at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor so that the message The transmission device implements the message transmission method described in any one of claims 1-8.
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-8中任一所述的报文传输方法。 A computer-readable storage medium, characterized in that at least one instruction is stored in the computer-readable storage medium, and the instruction is loaded and executed by a processor to implement the reporting as described in any one of claims 1-8. text transmission method.
PCT/CN2023/086011 2022-04-08 2023-04-03 Packet transmission method and apparatus, device, and computer-readable storage medium WO2023193689A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210369992.X 2022-04-08
CN202210369992.XA CN116938832A (en) 2022-04-08 2022-04-08 Message transmission method, device, equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
WO2023193689A1 true WO2023193689A1 (en) 2023-10-12

Family

ID=88244042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/086011 WO2023193689A1 (en) 2022-04-08 2023-04-03 Packet transmission method and apparatus, device, and computer-readable storage medium

Country Status (2)

Country Link
CN (1) CN116938832A (en)
WO (1) WO2023193689A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104479A (en) * 2018-08-01 2018-12-28 福州大学 A kind of acquisition data flow transmission method and system based on multidiameter delay transmission technology
CN111464437A (en) * 2020-05-11 2020-07-28 南京邮电大学 Multipath transmission path optimization method based on forward time delay in vehicle-mounted heterogeneous network
CN113746751A (en) * 2020-05-30 2021-12-03 华为技术有限公司 Communication method and device
WO2021248886A1 (en) * 2020-06-11 2021-12-16 华为技术有限公司 Data transmission method, sending-side device, and receiving-side device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104479A (en) * 2018-08-01 2018-12-28 福州大学 A kind of acquisition data flow transmission method and system based on multidiameter delay transmission technology
CN111464437A (en) * 2020-05-11 2020-07-28 南京邮电大学 Multipath transmission path optimization method based on forward time delay in vehicle-mounted heterogeneous network
CN113746751A (en) * 2020-05-30 2021-12-03 华为技术有限公司 Communication method and device
WO2021248886A1 (en) * 2020-06-11 2021-12-16 华为技术有限公司 Data transmission method, sending-side device, and receiving-side device

Also Published As

Publication number Publication date
CN116938832A (en) 2023-10-24

Similar Documents

Publication Publication Date Title
US11799764B2 (en) System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC)
TWI477127B (en) Computer-implemented method,machine-readable medium and client device for scheduling packet transmission
KR100933917B1 (en) Bandwidth guarantee and overload protection method in network switch
US6678244B1 (en) Congestion management system and method
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
US7307998B1 (en) Computer system and network interface supporting dynamically optimized receive buffer queues
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
US20220303217A1 (en) Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device
US20030026267A1 (en) Virtual channels in a network switch
US20030026205A1 (en) Packet input thresholding for resource distribution in a network switch
WO2014101060A1 (en) Data packet transmission method and device
WO2020134425A1 (en) Data processing method, apparatus, and device, and storage medium
CN116114233A (en) Automatic flow management
CN113225196A (en) Service level configuration method and device
WO2020207469A1 (en) Service processing method and apparatus
CN116868553A (en) Dynamic network receiver driven data scheduling on a data center network for managing endpoint resources and congestion relief
WO2023193689A1 (en) Packet transmission method and apparatus, device, and computer-readable storage medium
JP2023544868A (en) Data transmission methods, devices and storage media
US10581759B1 (en) Sharing packet processing resources
CN116889024A (en) Data stream transmission method, device and network equipment
Lau et al. Optimizing the performance of OpenFlow Protocol over QUIC
Meyer et al. Low latency packet processing in software routers
US11895015B1 (en) Optimized path selection for multi-path groups
CN117675705B (en) Method and device for updating flow control packet of network link layer
WO2023174081A1 (en) Queue scheduling method and apparatus

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: 23784252

Country of ref document: EP

Kind code of ref document: A1