CN117440443A - Data packet distribution method, device, storage medium, equipment and program product - Google Patents
Data packet distribution method, device, storage medium, equipment and program product Download PDFInfo
- Publication number
- CN117440443A CN117440443A CN202311542578.5A CN202311542578A CN117440443A CN 117440443 A CN117440443 A CN 117440443A CN 202311542578 A CN202311542578 A CN 202311542578A CN 117440443 A CN117440443 A CN 117440443A
- Authority
- CN
- China
- Prior art keywords
- link
- packet
- links
- data packet
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000009826 distribution Methods 0.000 title claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims abstract description 194
- 238000004891 communication Methods 0.000 claims abstract description 117
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 20
- 230000035945 sensitivity Effects 0.000 description 27
- 238000005303 weighing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0925—Management thereof using policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0958—Management thereof based on metrics or performance parameters
- H04W28/0967—Quality of Service [QoS] parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a data packet distribution method, a device, a storage medium, a device and a program product, wherein the method comprises the following steps: when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, acquiring data packet state information and communication state information of each link in the plurality of links; determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the packet status information and the communication status information of each link of the links; and transmitting the data packets in the packet transmission queue to the second electronic equipment through at least part of links based on the packet transmission duty ratio corresponding to each link in at least part of links. The method and the device can properly allocate the packet sending duty ratio according to the capacity of each link of the bottom layer, so that the transmission performance is optimized and the power consumption is reduced.
Description
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data packet allocation method, apparatus, storage medium, device, and program product.
Background
With the push of a new standard protocol of a seventh-generation Wi-Fi wireless network (Wi-Fi 7), a Multi-link Operation (MLO) technology is introduced, so that electronic devices such as a mobile phone, a virtual reality device, and a router can simultaneously transmit data using multiple links. The MLO technology has advantages in that delay can be reduced and bandwidth efficiency can be improved by simultaneously transmitting data using a plurality of links. However, the current MLO standard does not specify how to distribute data packets sent by upper layers to individual links in the case where there are multiple links available. If the packet allocation is not properly allocated according to the capacities (such as the contention condition and the interference condition) of the links at the bottom layer, the link capacity with better quality may be wasted in the random interference environment, and the link with worse quality is overloaded, which may further result in an unexpected increase of the transmission delay, even worse than the single link condition without MLO. In addition, the power consumption of the MLO technology exhibits a multiple increase compared to a single link without MLO due to the need to open multiple links simultaneously.
Disclosure of Invention
The embodiment of the application provides a data packet distribution method, a device, a storage medium, equipment and a program product, which can be used for carrying out proper distribution according to the capability of each link at the bottom layer, thereby optimizing transmission performance and reducing power consumption.
In one aspect, an embodiment of the present application provides a method for distributing a data packet, where the method includes:
when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, acquiring data packet state information and communication state information of each link in the plurality of links;
determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the data packet state information and the communication state information of each link of the links;
and transmitting the data packet in the packet transmission queue to the second electronic equipment through the at least partial link based on the packet transmission duty ratio corresponding to each link in the at least partial link.
In another aspect, an embodiment of the present application provides a packet distribution device, including:
the system comprises an acquisition unit, a data packet transmission unit and a communication unit, wherein the acquisition unit is used for acquiring data packet state information and communication state information of each link in a plurality of links when a plurality of links for communication interaction exist between the acquisition unit and second electronic equipment and a data packet transmission request is received;
a determining unit, configured to determine, according to at least one of the packet status information and communication status information of each link in the plurality of links, a packet sending duty ratio of a packet in a packet sending queue corresponding to each link in at least part of links in the plurality of links;
And the sending unit is used for sending the data packet in the packet sending queue to the second electronic equipment through the at least partial link based on the packet sending duty ratio corresponding to each link in the at least partial link.
In another aspect, embodiments of the present application provide a computer readable storage medium storing a computer program adapted to be loaded by a processor to perform a data packet allocation method according to any of the embodiments above.
In another aspect, an embodiment of the present application provides an electronic device, where the electronic device includes a processor and a memory, where the memory stores a computer program, and the processor is configured to execute the packet allocation method according to any one of the embodiments above by calling the computer program stored in the memory.
In another aspect, embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, implements a method for allocating data packets as described in any of the embodiments above.
The method and the device are applied to the first electronic equipment, and when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, the data packet state information and the communication state information of each link in the plurality of links are obtained; determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the packet status information and the communication status information of each link of the links; and transmitting the data packets in the packet transmission queue to the second electronic equipment through at least part of links based on the packet transmission duty ratio corresponding to each link in at least part of links. According to the method and the device for distributing the transmission packet, the packet sending duty ratio can be properly distributed according to the capacity of each link of the bottom layer, the situations that the link capacity is wasted and the link load is overweight due to the fact that the link with good quality is wasted and the link with poor quality is overloaded under the randomly generated environment interference scene are avoided, and therefore transmission performance is optimized and power consumption is reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of an implementation environment according to an embodiment of the present application.
Fig. 2 is a flow chart of a data packet allocation method according to an embodiment of the present application.
Fig. 3 is an application scenario schematic diagram of a data packet allocation method provided in an embodiment of the present application.
Fig. 4 is a schematic structural diagram of a packet distribution device according to an embodiment of the present application.
Fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, the functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and do not necessarily include all of the elements and operations/steps, nor must they be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
Reference to "a plurality" in this application means two or more than two. "and/or" describes an association relationship of an association object, meaning that there may be three relationships, e.g., a and/or B may represent: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
The terms "first," "second," "third," and "fourth" and the like in the description and in the claims of this application and in the drawings, are used for distinguishing between different objects and not for describing a particular sequential order. The terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Referring first to fig. 1, fig. 1 is a schematic diagram of an implementation environment according to the present application, and the exemplary implementation environment illustrates a low-latency service scenario.
Specifically, the second electronic device 20 is connected to the first electronic device 10 through wireless communication, and the first electronic device 10 and the server 30 establish a wired or wireless network connection in advance, so that data transmission is performed between the second electronic device 20 and the server 30 through the first electronic device 10.
It should be noted that, the first electronic Device 10 may be a wireless Access network Device having a wireless Access function, such as a wireless router, for example, a wireless Access node (Wi-Fi STA) Device, a wireless Access Point (AP) Device, a Multi-link Device (MLD), an Access Point (AP) Device in a wireless local area network (Wireless Local Area Networks, WLAN), a base station (Base Transceiver Station, BTS) in a global mobile communication (Global System of Mobile communication, GSM) system or a code division multiple Access (Code Division Multiple Access, CDMA) system, a base station (NodeB, NB) in a wideband code division multiple Access (Wideband Code Division Multiple Access, WCDMA) system, an evolved base station (Evolutional Node B, eNB or eNodeB) in a long term evolution (Long Term Evolution, LTE) system, a relay station or an Access Point, a vehicle Device, a wearable Device, a network Device or a base station (gNB) in a New wireless Radio, NR) network, or a terminal Device in a future evolved public land mobile network (Public Land Mobile Network, PLMN) or the like.
The second electronic device 20 may be a terminal device such as a smart phone, a tablet computer, a notebook computer, a smart watch, a smart television, a smart camera, an aircraft, a vehicle-mounted terminal, etc. The second electronic device 20 may also be referred to as a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a User terminal, a wireless communication device, a User agent, a User Equipment, or the like.
The server 30 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs (Content Delivery Network, content delivery networks), basic cloud computing services such as big data and artificial intelligence platforms, and the like.
The present embodiment does not limit the specific device types of the second electronic device 20, the first electronic device 10, and the server 30.
With the push of a new standard protocol of a seventh-generation Wi-Fi wireless network (Wi-Fi 7), a Multi-link Operation (MLO) technology is introduced, so that electronic devices such as a mobile phone, a virtual reality device, and a router can simultaneously transmit data using multiple links. The MLO technology has advantages in that, since the probability of having both a contention condition and an interference condition on a plurality of links is low, the time delay can be reduced and the bandwidth efficiency can be improved by simultaneously transmitting data using a plurality of links, compared with the previous single link transmission method. The contention condition refers to a condition in which a long backoff waiting time is required, and the interference condition refers to a condition in which a transmission failure rate is high and retransmission is required.
However, the current MLO standard does not specify how to distribute data packets sent by upper layers (above the network layer of OSI seven layers) to individual links of Wi-Fi bottom layer (MAC/PHY layer) of 802.11 (wireless local area network standard) in the case where there are a plurality of available links. If the packet allocation is not properly allocated according to the capacities (such as the contention condition and the interference condition) of the links at the bottom layer, the link capacity with better quality may be wasted in the random interference environment, and the link with worse quality is overloaded, which may further result in an unexpected increase of the transmission delay, even worse than the single link condition without MLO. In addition, the power consumption of the MLO technology exhibits a multiple increase compared to a single link without MLO due to the need to open multiple links simultaneously.
The OSI (Open System lnterconnect) model, which is collectively referred to as the open communication system interconnection reference model, is a standard framework proposed by the international organization for standardization (ISO) in an attempt to interconnect various computers into a network worldwide. OSI divides the computer network architecture into seven layers, each layer implementing respective functions and protocols, and completing interface communications with adjacent layers. I.e. each layer plays a fixed role and does not disturb each other. The seven-layer structure comprises a physical layer, a data link layer, a network layer, a transmission layer, a session layer, a presentation layer and an application layer. The Physical Layer (Physical Layer) defines the Physical structure of the network, the electromagnetic standard of transmission, the coding of Bit (Bit) streams and the time principle of the network, such as time division multiplexing and frequency division multiplexing; the physical layer determines the type of network connection (end-to-end or multi-end connection) and the physical topology. The Data Link layer (Data Link layer) is used to establish a Data Link connection between two hosts, transfer Data signals to the physical layer, and process the signals to make them error-free and reasonable for transmission. The Network Layer (Network Layer) is mainly responsible for routing, selecting a proper path, and performing functions such as blocking control. The transport Layer (Transfer Layer) is the most critical Layer, providing reliable End-to-End (End-to-End) services to users, which masks the underlying data communication details from the user and application programs to consider the actual communication method. The Session Layer (Session Layer) is mainly responsible for communication between two Session processes, i.e. information exchange between two Session Layer entities, and manages exchange of data. The presentation layer (Presentation Layer) is used for processing the presentation method of the communication signal, translating among different formats, and is responsible for encrypting and decrypting the data, compressing and recovering the data. The application layer (Application Layer) is used for keeping data records required for establishing connection between application programs and serving users.
MAC (Medium Access Control), media access control for short. The MAC layer belongs to the data link layer in the OSI model, and its main task is to solve to whom the data packet is sent. The data link layer includes a MAC (medium access control) sub-layer and an LLC (logical link control) sub-layer.
PHY (physical), abbreviated as physical layer, is an abbreviation for the OSI model physical layer.
The embodiment of the application provides a data packet distribution method, which is used for enhancing technical details which are not considered by the current Wi-Fi7 new standard protocol, and in the process of transmitting data packets by Wi-Fi equipment, the data transmission load capacity (namely the packet transmission duty ratio) of a plurality of links is effectively and optimally distributed in real time according to the competition condition and the interference condition of the available links, and compared with the original mechanism, the effects of reducing time delay, increasing bandwidth and reducing power consumption can be achieved.
Referring to fig. 2 to 3, fig. 2 is a flow chart of a packet allocation method according to an embodiment of the present application, and fig. 3 is an application scenario diagram of the packet allocation method according to the embodiment of the present application. The method may be applied to a first electronic device 10 as shown in fig. 1, for example, the first electronic device 10 may be a radio access network device or a terminal device. The method comprises the following steps:
Step 110, when a plurality of links for communication interaction exist between the first electronic device and the second electronic device and a data packet sending request is received, acquiring data packet state information and communication state information of each link in the plurality of links.
For example, the link may be a 2.4 gigahertz (GHz) link, a 4GHz link, a 5GHz link, a 6GHz link, and the like.
For example, the first electronic device may use a Wi-Fi 7 MLO mechanism while multiple links for communication interactions may be established between the first electronic device and the second electronic device. Each time a first electronic device (e.g., an MLO device) receives an upper layer notification, when preparing to send a data packet, the first electronic device obtains data packet status information and communication status information of each of a plurality of links based on a received data packet sending request. And in the subsequent step, the data packet state information and the communication state information of each link in the plurality of links are used as input, a set of decision mechanism is used for deciding the packet sending duty ratio of the data packet to be sent currently on the plurality of available links in real time, the goal is to reach the lowest total sending time delay, and all the data packets in the packet sending queue are successfully sent. The decision mechanism of the packet sending duty ratio can make a real-time decision before each packet sending, and the MLO mode does not need to be switched.
The packet status information may include at least one of a service type of each packet in the packet queue and a length of a packet (MPDU) currently stacked in the packet queue.
For example, in a communication network, transmission and processing of data packets is a very critical part. To better manage and optimize the network, knowledge of the state information of the data packets is required. Such information may include the status of the packets in the transmit queue, and the length of the packets accumulated in the transmit queue.
Specifically, each packet in the outgoing packet queue will typically contain its traffic type information. This is because different traffic types may require different ways of handling in the network. For example, some traffic types may be more sensitive to delay, while other traffic types may be more sensitive to packet loss rate. Therefore, the link packet-sending ratio decision can be better adjusted to meet different requirements by knowing the traffic type of each data packet.
In addition, it is also necessary to know the length of the data packet currently accumulated in the packet sending queue, so as to determine the congestion condition of the network. If the length of the packets currently accumulated in the transmit queue suddenly increases, this may mean that the network is experiencing congestion, at which point the link transmit duty cycle decisions may need to be adjusted to avoid overloading the network.
The communication status information may include at least one of a traffic type of each link, a real-time transmission rate of each link, a packet transmission success rate of each link, a back-off waiting time of each link, a packet loss rate of each link, a bandwidth utilization rate of each link, a signal strength of each link, a reception sensitivity of each link, and a delay time of each link.
For example, in a communication network, communication status information of each link plays a key role in transmission selection and optimization of data packets. The following is a detailed description of communication status information such as traffic type, real-time transmission rate, packet success rate, backoff waiting time, packet loss rate, bandwidth utilization, signal strength, reception sensitivity, and delay for each link.
For example, the traffic type for each link: each link may carry a different traffic type, such as video streams, audio streams, data packets, etc. Depending on the type of traffic, the link over which the data packet is transmitted may be more precisely selected to ensure optimal data transmission quality. For example, for traffic types with high real-time, links with low latency and high reliability should be selected. The usage of the links can be known by the traffic type of each link. For example, if a link is primarily carrying real-time audio video traffic, it may be necessary to allocate more bandwidth and priority to it to ensure its stable operation.
For example, the real-time transmission rate per link: the real-time transmission rate reflects the bandwidth size of the link and is a key factor in determining whether a packet can be successfully transmitted within a given time. By monitoring the real-time transmission rate, a link with sufficient bandwidth can be selected to transmit the data packets to ensure stability and reliability of the data transmission. The maximum transmission capacity of each link can be known by the real-time transmission rate of that link. If the real-time transmission rate of a link suddenly drops, this may mean that the link is faulty or is about to be overloaded, where close attention is required and corresponding adjustments may be required.
For example, per link packet success rate: the packet success rate refers to the rate at which a link successfully transmits data packets. A high packet success rate means that the link has a higher communication quality and less likelihood of packet loss. In selecting a link to transmit a data packet, it is possible to consider using a link with a high packet success rate. The packet transmission condition of each link can be known through the packet sending success rate of each link. If the success rate of packet sending of a certain link is continuously low, it may mean that the link has a packet loss problem or other faults, that is, the lower the success rate of packet sending is, the higher the interference degree existing in the link is likely to be, and at this time, the investigation and repair are required.
For example, the back-off latency for each link: when the communication quality of a link is degraded, a back-off latency policy is typically adopted to avoid collisions and loss of data packets. The shorter the backoff wait time, which means that the congestion level of the link may be lower, the priority may be given to using such a link for transmitting data packets. The congestion of the link can be known by the back-off latency of each link. If the back-off latency of a link suddenly increases, it may mean that the link is experiencing congestion, i.e., the longer the back-off latency, the stronger the contention that may exist in the link, at which point the per-link transmit packet ratio decisions need to be adjusted to avoid overloading the link.
For example, packet loss rate per link: the packet loss rate refers to the rate at which packets are lost for one link. High packet loss rates may lead to incomplete and delayed data transmission, so selecting links with low packet loss rates may ensure better communication quality.
For example, bandwidth utilization per link: bandwidth utilization refers to the ratio of the bandwidth actually used by a link to its maximum available bandwidth. A high bandwidth utilization may mean that the congestion level of the link is higher, so that when a link to transmit data packets is selected, a link with a low bandwidth utilization may be selected to ensure a smoother data transmission.
For example, the signal strength of each link: the signal strength reflects the quality of reception of the wireless communication link and is typically measured in decibels (dB). In selecting a wireless communication link, a link with strong signal strength may be selected to ensure stability and reliability of data transmission.
For example, the reception sensitivity of each link: the reception sensitivity refers to the ability of a link to successfully receive weak signals. High reception sensitivity means that the link can operate properly over longer distances or in harsh signal environments. When selecting a link to transmit a data packet, it is possible to consider using a link with high reception sensitivity.
For example, delay per link: delay refers to the time required for a packet from the sender to the receiver. When selecting a link for transmitting a data packet, a link with low delay can be selected to ensure that a service with higher real-time performance can be transmitted and processed in time.
Wherein, according to different service demands and communication environments, the transmission path of the data packet can be optimized by considering the state information and the communication state information of one or more data packets, so as to ensure the optimal communication quality and user experience.
And step 120, determining the packet sending duty ratio of the data packet in the packet sending queue corresponding to each link in at least part of the links according to at least one of the packet status information and the communication status information of each link in the links.
In some embodiments, before determining the packet duty cycle of the packet in the packet queue corresponding to each link in at least part of the plurality of links, the method further includes:
and selecting at least part of links for transmitting the data packet from the links according to at least one of the data packet state information and the communication state information of each link in the links.
In some embodiments, the packet status information includes a traffic type of each packet in the packet queue, and the communication status information includes a traffic type of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes: and selecting a link with the service type matched with the service type of the data packet to be transmitted from the links as at least part of links for transmitting the data packet according to the service type of each data packet in the packet transmitting queue and the service type of each link.
For example, suppose there is a packet transmit queue containing multiple traffic types, including video streams, audio streams, and normal packets. Meanwhile, there are multiple available links, each of which carries different types of traffic, such as link a mainly carrying video streaming traffic, link B mainly carrying audio streaming traffic, link C mainly carrying normal packet traffic, and link D carrying other data traffic. For example, other data traffic types may also include any of a network data transmission traffic, a file transmission traffic, an email traffic, a video conference traffic, a network game traffic, a remote login traffic, an online payment traffic, an internet of things traffic, an e-commerce traffic, and a location services traffic.
When a link for transmitting data packets is selected, the service type of each data packet in the data packet queue can be matched with the service type of each link. For example, for a packet of a video streaming traffic type, link a may be selected for transmission; for data packets of the audio stream service type, link B can be selected for transmission; for packets of the normal packet type, link C may be selected for transmission. For example, at least some of the links selected for transmitting data packets according to the traffic type include link a, link B, and link C. The service type matching mode can ensure that the data packet can obtain optimal processing and transmission effects in the transmission process. For example, higher transmission rates and lower packet loss rates can be achieved for video stream packets transmitted over link a, because link a primarily carries video stream traffic with better video stream transmission performance. Likewise, lower latency and higher audio quality can be achieved by transmitting audio stream packets over link B, since link B primarily carries audio stream traffic with better audio stream transmission performance. By means of the service type matching mode, the link for transmitting the data packet can be selected more accurately, and therefore the reliability and quality of data transmission are improved. Of course, in practical application, other factors, such as real-time transmission rate, packet sending success rate, back-off waiting time, packet loss rate, bandwidth utilization rate, signal strength, receiving sensitivity, delay and the like, of the link need to be considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information includes a real-time transmission rate for each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes: and selecting a link with the real-time transmission rate larger than a rate threshold from the links as at least part of links for transmitting data packets according to the real-time transmission rate of each link.
For example, assume that there are 5 communication links with real-time transmission rates of 5Mbps,10Mbps,50Mbps,80Mbps, and 100Mbps, respectively. It is now necessary to select the link that transmits the data packets based on the real-time transmission rate of each link. Let the rate threshold be set at 20Mbps. According to this rate threshold, links with real-time transmission rates of 5Mbps and 10Mbps are not selected as links for transmitting data packets because the rate is below the rate threshold. While links with real-time transmission rates of 50Mbps,80Mbps, and 100Mbps, all of which are higher than the rate threshold of 20Mbps, can be selected as links for transmitting data packets. The rate threshold in this example is merely an example value, and in practice, the rate threshold may be set according to specific application requirements and network conditions. For example, for data transmission with higher real-time requirements, a link with higher real-time transmission rate may be selected; while for larger data volume transmissions, a larger bandwidth link may be selected. In addition, when selecting a link for transmitting a data packet, other factors, such as a traffic type, a packet sending success rate, a back-off waiting time, a packet loss rate, a bandwidth utilization rate, a signal strength, a receiving sensitivity, a delay and the like, need to be considered in addition to a real-time transmission rate, and an optimal or better link is selected for data transmission after comprehensive trade-off.
In some embodiments, the communication status information includes a packet success rate per link or a back-off latency per link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes: selecting links with preset link numbers from the links as at least partial links for transmitting data packets according to the sequence of the packet success rate of each link from high to low; or selecting links with preset link numbers from the links as at least part of links for transmitting data packets according to the order of the back-off waiting time of each link from short links to long links.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The packet success rate of each link reflects the reliability of the data transmission of that link. First, the success rate of packet delivery for each link needs to be counted in real time. This may be accomplished by recording the number of successful and failed transmissions of data packets on each link during the data transmission process. The packet success rate of each link can be obtained by calculating the ratio of successful transmission to total transmission quantity. And then sorting according to the packet success rate of each link, and selecting links with preset link numbers from high to low. It is noted that this is just a simple example and that an actual data transmission network may be more complex. In addition, other factors such as real-time transmission rate, service type, back-off waiting time, packet loss rate, bandwidth utilization, signal strength, receiving sensitivity, delay and the like of the link also need to be considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The back-off latency of each link reflects the data transmission efficiency of that link. First, the backoff waiting time for each link needs to be counted in real time. This can be achieved by recording the data packet transmission delay on each link during the data transmission. The backoff waiting time of each link can be obtained by calculating the ratio of the transmission delay of each packet to the total number of transmitted packets. Then, the links of the preset number of links are selected from short to long according to the back-off waiting time of each link. This avoids the accumulation of excessive packets on some links, thereby optimizing the performance of the overall data transmission network. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the packet loss rate, the bandwidth utilization rate, the signal strength, the receiving sensitivity, the delay and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information may further include a packet loss rate for each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links may further include: and selecting a link with the packet loss rate lower than a preset packet loss threshold value from the links as at least part of links for transmitting data packets according to the packet loss rate of each link.
For example, there is a data transmission network consisting of 5 links, which connect different source nodes and destination nodes, respectively. The packet loss rate of each link reflects the reliability of the data transmission of that link. First, it is necessary to count the packet loss rate of each link in real time. This can be achieved by recording the number of data packet losses on each link during the data transmission. The packet loss rate of each link can be obtained by calculating the ratio of the number of lost data packets to the total number of transmitted data packets. And then sorting according to the packet loss rate of each link, and selecting links below a preset packet loss threshold from low to high. In this example, the preset packet loss threshold is 5%, i.e. only links with a packet loss rate below 5% are selected as at least part of the links for transmitting data packets. By counting the packet loss rate of each link in real time and comparing the packet loss rate with a preset packet loss threshold, it can be determined which links have packet loss rates lower than the preset threshold, so that the reliable links are selected for data transmission. Thus, the stability and reliability of data transmission can be ensured, and errors and retransmission caused by data packet loss can be reduced. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the back-off waiting time, the bandwidth utilization rate, the signal strength, the receiving sensitivity, the delay and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information may also include a bandwidth utilization of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links may further include:
and selecting a link with the bandwidth utilization rate lower than a preset bandwidth threshold value from the plurality of links as at least part of links for transmitting data packets according to the bandwidth utilization rate of each link.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The bandwidth utilization of each link reflects the data transmission capabilities of that link. First, it is necessary to count the bandwidth utilization of each link in real time. This may be achieved by recording the data traffic on each link during the data transfer process. The bandwidth utilization of each link can be obtained by calculating the ratio of the data traffic to the link bandwidth. Then, the links below the preset bandwidth threshold are selected from low to high according to the bandwidth utilization of each link. In this example, the preset bandwidth threshold is 80%, i.e. only links with a bandwidth utilization below 80% are selected as at least part of the links for transmitting data packets. By counting the bandwidth utilization of each link in real time and comparing it with a preset bandwidth threshold, it is possible to determine which links have bandwidth utilization below the preset threshold, and thus select those underutilized links for data transmission. Therefore, the utilization rate of the link can be optimized while the stability and the reliability of data transmission are ensured, and the bandwidth waste is reduced. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the back-off waiting time, the signal strength, the receiving sensitivity, the delay, the packet loss rate and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information may further include a signal strength of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links may further include: and selecting a link with the signal intensity greater than a preset signal threshold value from the plurality of links as at least part of links for transmitting data packets according to the signal intensity of each link.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The signal strength of each link reflects the data transmission quality of that link. First, the signal strength of each link needs to be counted in real time. This may be achieved by recording the signal strength value on each link during the data transmission. Typically, the signal strength value may be expressed in decibels (dB) or other corresponding units. Then, sorting is carried out according to the signal intensity of each link, and links above a preset signal threshold value are selected from high to low. In this example, the preset signal threshold is-60 dBm (decibel-milliwatts), i.e., only links with signal strengths higher than-60 dBm are selected as at least part of the links for transmitting data packets. By counting the signal strength of each link in real time and comparing the signal strength with a preset signal threshold, it can be determined which links have signal strengths higher than the preset signal threshold, so that links with stronger signal strengths are selected for data transmission. Thus, the stability and reliability of data transmission can be ensured, and transmission errors and retransmission caused by insufficient signal strength can be reduced. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the back-off waiting time, the bandwidth utilization rate, the receiving sensitivity, the delay, the packet loss rate and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information may further include a reception sensitivity of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links may further include: and selecting a link with the receiving sensitivity higher than a preset receiving sensitivity threshold value from the plurality of links as at least part of links for transmitting the data packet according to the receiving sensitivity of each link.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The reception sensitivity of each link reflects the data reception capability of that link. First, it is necessary to count the reception sensitivity of each link in real time. This can be achieved by recording the lowest receivable signal strength on each link during the data transmission. The lowest receivable signal strength is typically a value representing the lowest signal strength of the link when the data packet is received. Then, the links above a preset reception sensitivity threshold are selected from high to low in order according to the reception sensitivity of each link. In this example, the receive sensitivity threshold is preset to-90 dBm (decibel milliwatts), i.e., only links with receive sensitivity higher than-90 dBm are selected as at least part of the links for transmitting data packets. By counting the reception sensitivity of each link in real time and comparing it with a preset reception sensitivity threshold, it is possible to determine which links have a reception sensitivity higher than the preset threshold, so that these links, which are more sensitive to signals, are selected for data transmission. Therefore, the receiving capacity of the data packet can be optimized and the error rate can be reduced while the stability and the reliability of data transmission are ensured. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the back-off waiting time, the bandwidth utilization rate, the signal strength, the delay, the packet loss rate and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication status information may also include a delay for each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links may further include: and selecting links with delay less than a preset delay threshold from the links as at least part of links for transmitting data packets according to the delay of each link.
For example, assume a data transmission network consisting of 5 links, which connect different source and destination nodes, respectively. The delay of each link reflects the data transmission speed of that link. First, the delay of each link needs to be counted in real time. This can be achieved by recording the data packet transmission delay on each link during the data transmission. The delay of each link can be obtained by calculating the transmission time of the data packet from the source node to the target node. Then, sorting is carried out according to the delay of each link, and links below a preset delay threshold are selected from low to high. In this example, the preset delay threshold is 100ms (milliseconds), i.e. only links with a delay less than 100ms are selected as at least part of the links for transmitting data packets. By counting the delay of each link in real time and comparing the delay with a preset delay threshold, the delay of which links is smaller than the preset threshold can be determined, so that links with higher transmission speeds are selected for data transmission. Therefore, the transmission speed of the data packet can be optimized while the stability and the reliability of data transmission are ensured, and the influence of transmission delay on the whole network performance is reduced. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors such as the packet success rate, the real-time transmission rate, the service type, the back-off waiting time, the bandwidth utilization rate, the signal strength, the packet loss rate, the receiving sensitivity and the like of the link are considered, and the optimal or better link is selected for data transmission after comprehensive weighing.
For example, the source node may be a first electronic device 10 and the target node may be a second electronic device 20 connected to each link.
In some embodiments, the communication status information includes a packet success rate for each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes:
and correspondingly distributing the packet sending duty ratio from large to small according to the sequence of the packet sending success rate of each link in the at least part of links from high to low based on the packet sending success rate of each link, wherein the link with the highest packet sending success rate in the links is distributed with the largest packet sending duty ratio.
For example, 3 links are preselected as at least part of the links for transmitting data packets. Next, it is necessary to predict the performance of these selected links over a period of time in the future. Since the environmental interference factor is typically of a certain duration (e.g., a time window of 5-10 minutes), the change in packet success rate within this time window can be used to predict link performance over a period of time in the future. For example, if a link has a packet success rate of over 90% over the last 5 minutes, then it can be predicted that the link will perform relatively stable for a period of time in the future. The packet transmit duty cycle is then allocated based on the predicted link performance. Since the higher the packet success rate, the fewer retransmissions that are required to represent a certain number of data packets, the faster the link can be presumed to be capable of completing data transmission. Therefore, the transmit duty cycle of more data packets of the link is allocated as much as possible. This may improve the performance of the overall data transmission network by using links with high packet success rates. Wherein the at least partial links are selected from high to low according to the packet success rate of each of the at least partial links selected for transmitting data packets. In this example, the link with the highest packet success rate is selected as the link with the highest priority, and then the other links are sequentially selected in the order of the packet success rate. In this example, the total packet rate is divided into 3 parts, and the corresponding packet rate is allocated according to the packet success rate of each link. For example, if the packet success rate of the first link is 90%, the packet rate allocated to that link is 50%; the packet rate allocated to the second link is 30% if the packet success rate of the second link is 80%, and so on, and 20% if the packet success rate of the second link is 70%. In this way, it can be ensured that during data transmission, links with higher packet success rates will send more data packets, thus optimizing the performance of the overall data transmission network. Meanwhile, the maximum packet sending duty ratio is allocated to the link with the highest packet sending success rate in the links, so that the data transmission efficiency of the link can be further enhanced. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors are considered, and the optimal link is selected for data transmission after comprehensive weighing.
In some embodiments, the packet status information includes a packet length currently stacked in the packet queue;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of the data packet in the packet sending queue corresponding to each link in at least part of the links in the plurality of links, further includes: and determining that the packet sending percentage of the data packet in the packet sending queue in the link with the highest packet sending success rate in at least part of links is a percentage when the length of the data packet currently piled in the packet sending queue is smaller than a data length threshold and the difference of the packet sending success rates between the link with the highest packet sending success rate in at least part of links and the link with the second packet sending success rate reaches a preset difference value based on the length of the data packet currently piled in the packet sending queue and the packet sending success rate of each link.
First, the success rate of packet delivery for each link needs to be counted in real time. Meanwhile, the length of the data packet in the packet sending queue needs to be monitored in real time. If the length of the data packet currently accumulated in the packet sending queue is smaller than the data length threshold (1000 in this example), and the difference between the packet sending success rate between the link with the highest packet sending success rate and the link with the second packet sending success rate in at least part of the links (at least 3 links in this example) reaches the preset difference (20% in this example), it is determined that the packet sending percentage of the data packet in the packet sending queue in the link with the highest packet sending success rate in at least part of the links is a percentage (100% in this example). In this case, the packets in the packet-sending queue may be considered important and need to be transmitted over the link with the highest packet-sending success rate preferentially. Therefore, all the data packets in the packet sending queue are allocated to the link with the highest packet sending success rate for transmission, so that the data packets can be transmitted to the target node more reliably.
Meanwhile, the transmission of the data packets can be optimized by comprehensively considering the length of the data packets piled up in the queue, the number of available links, the packet transmitting capacity and other factors. Specifically, when the data packets in the queue are stacked longer, the number of available links is more, and the packet sending capacity difference of each link is larger, the optimal multi-link packet sending duty ratio combination can be calculated through an optimization algorithm, so that the transmission delay is reduced to the greatest extent, and the transmission efficiency is improved. This optimization method can have a significant effect in practical applications, especially in cases where high-efficiency transmission of large amounts of data is required. On the other hand, when the data packet accumulation in the queue is smaller and the packet sending capability difference of each link is larger, the transmission task is finished by using the link with stronger single packet sending capability as much as possible, thus the time delay increase and unnecessary expenditure caused by the multilink transmission can be avoided, and in this case, the possibility of using the multilink is smaller, so the improvement of the performance is limited. For example, a link with a higher single packet sending capability may be the link with the highest packet sending success rate. By comprehensively considering the factors and adopting a corresponding optimization strategy, more efficient and reliable data transmission can be realized, the transmission delay is reduced to the greatest extent, and the overall performance is improved. This intelligent data transmission mechanism is critical for modern network applications, especially in large-scale, high concurrency and real-time demanding scenarios. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors are considered, and the optimal link is selected for data transmission after comprehensive weighing.
In some embodiments, the communication state information includes a back-off latency for each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes: and correspondingly distributing the sending packet duty ratio from large to small according to the order of the back-off waiting time of each link in the at least part of links from short to long based on the back-off waiting time of each link, wherein the highest sending packet duty ratio is distributed to the link with the shortest back-off waiting time in the at least part of links.
For example, 3 links are preselected as at least part of the links for transmitting data packets. Next, it is necessary to predict the performance of these selected links over a period of time in the future. Since the channel contention factor is typically of a certain time duration (e.g., a time window of 5-10 minutes), the back-off latency variation within this time window can be used to predict link performance over a future period of time. For example, if a link remains below 10 milliseconds for the last 5 minutes of backoff latency, then the link may be predicted to be relatively stable in performance for a future period of time. The packet transmit duty cycle is then allocated based on the predicted link performance. Since the longer the back-off waiting time, the lower the time duty cycle that indicates that the link is available as Tx (transmit data), it is presumed that the link will take longer to complete the data transmission, with the transmit duty cycle of the fewer packets of the link being allocated as much as possible.
First, the backoff waiting time for each link needs to be counted in real time. Then, at least some of the links are selected from short to long, ordered according to the back-off latency of each link. In this example, the link with the shortest backoff wait time is selected as the link with the highest priority, and then the other links are sequentially selected in the order of backoff wait time. Next, according to the backoff waiting time of each link, the packet transmission duty ratio from large to small is correspondingly allocated in order from short to long. In this example, the total packet duty is divided into 3 parts, and the corresponding packet duty is allocated according to the back-off waiting time of each link. For example, if the backoff latency of the first link is 2 milliseconds, the packet transmission rate allocated to the link is 60%; the transmit packet allocated to the second link is 30% if the backoff latency of the second link is 5 ms, and so on, and 10% if the backoff latency of the second link is 10 ms. In this way, the transmission of the data packet can be optimized according to the back-off latency of each link. The shorter the back-off latency, the higher the time duty cycle that the link can be used to transmit data, and thus it can be presumed that the link can complete data transmission faster. Therefore, the packet transmission ratio of the link with the shorter back-off waiting time is distributed as much as possible, so that the transmission advantage is fully utilized. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors are considered, and the optimal link is selected for data transmission after comprehensive weighing.
For example, when the packet stacking in the queue is small and the packet sending capability difference of each link is large, the transmission task is completed by using a link with a strong single packet sending capability as much as possible, so that the delay increase and unnecessary overhead caused by the multilink transmission can be avoided, in this case, the possibility of using multiple links is small, and therefore, the improvement of the performance is limited. For example, the link with the stronger single packet sending capability may be the link with the shortest backoff waiting time, so when the length of the data packet currently stacked in the packet sending queue is smaller than the data length threshold and the difference between the shortest backoff waiting time between the link with the shortest backoff waiting time and the link with the second backoff waiting time in at least part of the links reaches the preset time difference, the packet sending proportion of the data packet in the packet sending queue in the link with the shortest backoff waiting time in the at least part of links is determined to be a percentage.
In some embodiments, the communication status information includes a packet success rate of each link and a backoff latency of each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes:
If the link with the highest packet sending success rate in the at least partial links is a first link and the link with the shortest back-off waiting time in the at least partial links is the first link, the first link is allocated with the largest first packet sending duty ratio; or alternatively
If the link with the highest packet sending success rate in the at least partial links is a second link and the link with the shortest back-off waiting time in the at least partial links is a third link, simultaneously distributing the largest second packet sending duty ratio to the second link and the third link;
wherein the first hair packet duty cycle is greater than the second hair packet duty cycle.
For example, the evaluation is performed based on the packet success rate and the backoff waiting time of each link. If at least some of the links with the highest success rate for packet transmission are the first links and at least some of the links with the shortest back-off latency are also the first links, the first links will be assigned the largest first packet transmission duty cycle. This means that the weight of the first link in the data transmission will be highest, predicting that the transmission efficiency and availability of this link are relatively high.
On the other hand, if at least a part of the links with the highest packet-sending success rate are the second links and at least a part of the links with the shortest back-off waiting time are the third links, the second links and the third links are simultaneously allocated with the largest second packet-sending duty ratio. This means that the weights of the second link and the third link in the data transmission will be highest, since the transmission efficiency of both links is predicted to be relatively high, although their back-off latencies may be slightly different.
In addition, the first and second hair packet duty ratios can be adjusted according to the requirements of the hair packet duty ratios in different scenes. For example, in some cases, it may be more preferable to increase the first packet-sending duty cycle to maximize the transmission advantage of utilizing the first link; while in other cases it may be more advantageous to use the advantages of both the second link and the third link at the same time, thus setting the second packet-sending duty cycle to be larger. It should be noted that this is only a simple example and that the actual data transmission network may be more complex. In addition, other factors are considered, and the optimal link is selected for data transmission after comprehensive weighing.
And step 130, based on the packet sending duty ratio corresponding to each link in the at least partial links, sending the data packet in the packet sending queue to the second electronic device through the at least partial links.
As shown in fig. 3, the first electronic device 10 may use the MLO mechanism of Wi-Fi 7, and multiple links for communication interaction may be established between the first electronic device 10 and the second electronic device 20, for example, the links may be a 6GHz link 1, a 5GHz link 2, and a 2.4GHz link 3. Each time the first electronic device 10 receives an upper layer notification, and prepares to send a data packet, based on the packet sending ratio decision mechanism of each link provided by the packet distribution method in the embodiment of the present application, the packet sending ratio of the data packet to be sent currently on a plurality of available links is decided in real time, and the goal is to reach the lowest total sending delay, and all the data packets in the packet sending queue are successfully sent to the second electronic device 20.
For example, each link may be assigned a different packet-sending duty cycle based on the length of the packets currently stacked in the packet-sending queue, as well as the interference and contention conditions present for each link. For example, link 1 and link 2 have low interference and contention conditions, and thus each is assigned a 40% packet-to-packet duty cycle; the interference and contention conditions for link 3 are moderate, and a 20% packet-to-packet ratio is allocated. For example, the higher the packet success rate, the lower the interference condition. The shorter the backoff waiting time, the lower the contention condition.
Next, the packet transmission queue of the data packet to be transmitted is stored in the first electronic device 10. The first electronic device 10 allocates the data packets in the packet transmission queue to the respective links according to the packet transmission duty ratio of each link, and transmits the data packets according to the packet transmission duty ratio of each link. For example, if there are 10 packets to send in the send queue, link 1 will send 4 packets, link 2 will send 4 packets, and link 3 will send 2 packets.
During the transmission of the data packet, if a certain link fails or the transmission is interrupted, the first electronic device 10 will redistribute the transmission of the data packet according to a preset failure recovery mechanism. For example, if link 2 fails, the first electronic device 10 will suspend transmission of link 2 and reassign the data packets that link 2 would otherwise have transmitted to links 1 and 3.
In this way, based on the packet sending duty ratio corresponding to each link, transmitting the data packet in the packet sending queue to the second electronic device 20 through at least some links can effectively utilize the transmission capability and reliability of each link, and meanwhile, ensure reliable transmission of the data packet, and reach the lowest total transmission delay, thereby improving bandwidth and reducing power consumption.
All the above technical solutions may be combined to form an optional embodiment of the present application, which is not described here in detail.
The method and the device are applied to the first electronic equipment, and when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, the data packet state information and the communication state information of each link in the plurality of links are obtained; determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the packet status information and the communication status information of each link of the links; and transmitting the data packets in the packet transmission queue to the second electronic equipment through at least part of links based on the packet transmission duty ratio corresponding to each link in at least part of links. According to the method and the device for distributing the transmission packet, the packet sending duty ratio can be properly distributed according to the capacity of each link of the bottom layer, the situations that the link capacity is wasted and the link load is overweight due to the fact that the link with good quality is wasted and the link with poor quality is overloaded under the randomly generated environment interference scene are avoided, and therefore transmission performance is optimized and power consumption is reduced. In addition, the embodiment of the application can dynamically adjust the sending strategy of the data packet according to the real-time state of the link, so that the data transmission is more flexible and efficient.
In order to facilitate better implementation of the data packet distribution method of the embodiment of the application, the embodiment of the application also provides a data packet distribution device. Referring to fig. 4, fig. 4 is a schematic structural diagram of a packet distribution device according to an embodiment of the present application. The packet distribution device 200 may include:
an obtaining unit 210, configured to obtain, when there are multiple links for performing communication interaction between the first electronic device and the second electronic device and a data packet sending request is received, data packet status information and communication status information of each link in the multiple links;
a determining unit 220, configured to determine, according to at least one of the packet status information and the communication status information of each of the links, a packet sending duty ratio of a packet in a packet sending queue corresponding to each of at least some of the links;
and a sending unit 230, configured to send, to the second electronic device, the data packet in the packet sending queue through the at least part of links based on the packet sending duty ratio corresponding to each link in the at least part of links.
In some embodiments, the communication status information includes a packet success rate for each link;
The determining unit 220 is configured to:
and correspondingly distributing the packet sending duty ratio from large to small according to the sequence of the packet sending success rate of each link in the at least part of links from high to low based on the packet sending success rate of each link, wherein the link with the highest packet sending success rate in the links is distributed with the largest packet sending duty ratio.
In some embodiments, the packet status information includes a packet length currently stacked in the packet queue;
the determining unit 220 is further configured to:
and determining that the packet sending percentage of the data packet in the packet sending queue in the link with the highest packet sending success rate in at least part of links is a percentage when the length of the data packet currently piled in the packet sending queue is smaller than a data length threshold and the difference of the packet sending success rates between the link with the highest packet sending success rate in at least part of links and the link with the second packet sending success rate reaches a preset difference value based on the length of the data packet currently piled in the packet sending queue and the packet sending success rate of each link.
In some embodiments, the communication state information includes a back-off latency for each link;
the determining unit 220 is configured to:
And correspondingly distributing the sending packet duty ratio from large to small according to the order of the back-off waiting time of each link in the at least part of links from short to long based on the back-off waiting time of each link, wherein the highest sending packet duty ratio is distributed to the link with the shortest back-off waiting time in the at least part of links.
In some embodiments, the communication status information includes a packet success rate of each link and a backoff latency of each link;
the determining unit 220 is configured to:
if the link with the highest packet sending success rate in the at least partial links is a first link and the link with the shortest back-off waiting time in the at least partial links is the first link, the first link is allocated with the largest first packet sending duty ratio; or alternatively
If the link with the highest packet sending success rate in the at least partial links is a second link and the link with the shortest back-off waiting time in the at least partial links is a third link, simultaneously distributing the largest second packet sending duty ratio to the second link and the third link;
wherein the first hair packet duty cycle is greater than the second hair packet duty cycle.
In some embodiments, before determining the packet duty cycle of the packet in the packet queue corresponding to each of at least some of the links, the determining unit 220 is further configured to:
And selecting at least part of links for transmitting the data packet from the links according to at least one of the data packet state information and the communication state information of each link in the links.
In some embodiments, the packet status information includes a traffic type of each packet in the packet queue, and the communication status information includes a traffic type of each link;
the determining unit 220 is configured to, when selecting at least a part of links for transmitting a data packet from the plurality of links according to at least one of the data packet status information and communication status information of each of the plurality of links:
and selecting a link with the service type matched with the service type of the data packet to be transmitted from the links as at least part of links for transmitting the data packet according to the service type of each data packet in the packet transmitting queue and the service type of each link.
In some embodiments, the communication status information includes a real-time transmission rate for each link;
the determining unit 220 is configured to, when selecting at least a part of links for transmitting a data packet from the plurality of links according to at least one of the data packet status information and communication status information of each of the plurality of links:
And selecting a link with the real-time transmission rate larger than a rate threshold from the links as at least part of links for transmitting data packets according to the real-time transmission rate of each link.
In some embodiments, the communication status information includes a packet success rate per link or a back-off latency per link;
the determining unit 220 is configured to, when selecting at least a part of links for transmitting a data packet from the plurality of links according to at least one of the data packet status information and communication status information of each of the plurality of links:
selecting links with preset link numbers from the links as at least partial links for transmitting data packets according to the sequence of the packet success rate of each link from high to low; or alternatively
And selecting links with preset link numbers from the links as at least part of links for transmitting data packets according to the order of the back-off waiting time of each link from short links to long links.
The various elements of the packet distribution device 200 described above may be implemented in whole or in part by software, hardware, or a combination thereof. The above units may be embedded in hardware or may be independent of a processor in the electronic device, or may be stored in software in a memory in the electronic device, so that the processor may call and execute operations corresponding to the above units.
The packet distribution device 200 may be integrated in a terminal or a server having a memory and a processor and having an arithmetic capability, or the packet distribution device 200 may be the terminal or the server.
In some embodiments, the application further provides an electronic device, including a memory and a processor, where the memory stores a computer program, and the processor implements the steps of the method embodiments described above when the processor executes the computer program.
Fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application, where the electronic device may be the first electronic device 10 shown in fig. 1. As shown in fig. 5, the mode of implementation of the electronic device 300 is not limited thereto, and may be further miniaturized or enlarged as needed. The electronic device 300 may include, but is not limited to, the following: a communication interface 301, a memory 302, a processor 303 and a communication bus 304. Communication interface 301, memory 302, and processor 303 enable communication with each other via communication bus 304. The communication interface 301 is used for data communication between the computer device 300 and an external device. The memory 302 may be used to store software programs and modules, and the processor 303 may execute the software programs and modules stored in the memory 302, such as the software programs for corresponding operations in the foregoing method embodiments.
Alternatively, the processor 303 may call a software program and module stored in the memory 302 to perform the following operations:
when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, acquiring data packet state information and communication state information of each link in the plurality of links; determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the data packet state information and the communication state information of each link of the links; and transmitting the data packet in the packet transmission queue to the second electronic equipment through the at least partial link based on the packet transmission duty ratio corresponding to each link in the at least partial link.
In some embodiments, the present application also provides a computer-readable storage medium for storing a computer program. The computer readable storage medium may be applied to an electronic device or a server, and the computer program causes the electronic device or the server to execute a corresponding flow in the data packet allocation method in the embodiment of the present application, which is not described herein for brevity.
In some embodiments, the present application also provides a computer program product comprising a computer program stored in a computer readable storage medium. The processor of the electronic device reads the computer program from the computer readable storage medium, and the processor executes the computer program, so that the electronic device executes a corresponding flow in the data packet allocation method in the embodiment of the present application, which is not described herein for brevity.
The present application also provides a computer program comprising a computer program stored in a computer readable storage medium. The processor of the electronic device reads the computer program from the computer readable storage medium, and the processor executes the computer program, so that the electronic device executes a corresponding flow in the data packet allocation method in the embodiment of the present application, which is not described herein for brevity.
It should be appreciated that the processor of an embodiment of the present application may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be implemented by integrated logic circuits of hardware in a processor or instructions in software form. The processor may be a general purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), an off-the-shelf programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in a decoded processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
It will be appreciated that the memory in embodiments of the present application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and Direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing an electronic device (which may be a personal computer, a server) to perform all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk, etc.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (12)
1. A method of packet allocation, the method comprising:
when a plurality of links for communication interaction exist between the first electronic equipment and the second electronic equipment and a data packet sending request is received, acquiring data packet state information and communication state information of each link in the plurality of links;
determining a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of links of the links according to at least one of the data packet state information and the communication state information of each link of the links;
and transmitting the data packet in the packet transmission queue to the second electronic equipment through the at least partial link based on the packet transmission duty ratio corresponding to each link in the at least partial link.
2. The data packet allocation method according to claim 1, wherein the communication status information includes a packet success rate of each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes:
and correspondingly distributing the packet sending duty ratio from large to small according to the sequence of the packet sending success rate of each link in the at least part of links from high to low based on the packet sending success rate of each link, wherein the link with the highest packet sending success rate in the links is distributed with the largest packet sending duty ratio.
3. The packet allocation method according to claim 2, wherein the packet status information includes a packet length currently accumulated in the packet queue;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of the data packet in the packet sending queue corresponding to each link in at least part of the links in the plurality of links, further includes:
And determining that the packet sending percentage of the data packet in the packet sending queue in the link with the highest packet sending success rate in at least part of links is a percentage when the length of the data packet currently piled in the packet sending queue is smaller than a data length threshold and the difference of the packet sending success rates between the link with the highest packet sending success rate in at least part of links and the link with the second packet sending success rate reaches a preset difference value based on the length of the data packet currently piled in the packet sending queue and the packet sending success rate of each link.
4. The packet allocation method according to claim 1, wherein the communication state information includes a back-off waiting time of each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes:
and correspondingly distributing the sending packet duty ratio from large to small according to the order of the back-off waiting time of each link in the at least part of links from short to long based on the back-off waiting time of each link, wherein the highest sending packet duty ratio is distributed to the link with the shortest back-off waiting time in the at least part of links.
5. The data packet allocation method according to claim 1, wherein the communication status information includes a packet success rate of each link and a backoff waiting time of each link;
the determining, according to at least one of the data packet status information and the communication status information of each link in the plurality of links, a packet sending duty ratio of a data packet in a packet sending queue corresponding to each link in at least part of the links in the plurality of links includes:
if the link with the highest packet sending success rate in the at least partial links is a first link and the link with the shortest back-off waiting time in the at least partial links is the first link, the first link is allocated with the largest first packet sending duty ratio; or alternatively
If the link with the highest packet sending success rate in the at least partial links is a second link and the link with the shortest back-off waiting time in the at least partial links is a third link, simultaneously distributing the largest second packet sending duty ratio to the second link and the third link;
wherein the first hair packet duty cycle is greater than the second hair packet duty cycle.
6. The method of claim 1-5, further comprising, prior to said determining a packet-to-packet ratio for each of at least some of said plurality of links for a packet in said packet-to-packet queue:
And selecting at least part of links for transmitting the data packet from the links according to at least one of the data packet state information and the communication state information of each link in the links.
7. The packet allocation method according to claim 6, wherein the packet status information includes a traffic type of each packet in the packet queue, and the communication status information includes a traffic type of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes:
and selecting a link with the service type matched with the service type of the data packet to be transmitted from the links as at least part of links for transmitting the data packet according to the service type of each data packet in the packet transmitting queue and the service type of each link.
8. The data packet allocation method according to claim 6, wherein the communication status information includes a real-time transmission rate of each link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes:
And selecting a link with the real-time transmission rate larger than a rate threshold from the links as at least part of links for transmitting data packets according to the real-time transmission rate of each link.
9. The data packet allocation method according to claim 6, wherein the communication status information includes a packet success rate per link or a back-off waiting time per link;
the selecting at least part of links for transmitting data packets from the links according to at least one of the data packet status information and the communication status information of each of the links includes:
selecting links with preset link numbers from the links as at least partial links for transmitting data packets according to the sequence of the packet success rate of each link from high to low; or alternatively
And selecting links with preset link numbers from the links as at least part of links for transmitting data packets according to the order of the back-off waiting time of each link from short links to long links.
10. A packet distribution device, the device comprising:
the system comprises an acquisition unit, a data packet transmission unit and a communication unit, wherein the acquisition unit is used for acquiring data packet state information and communication state information of each link in a plurality of links when a plurality of links for communication interaction exist between the acquisition unit and second electronic equipment and a data packet transmission request is received;
A determining unit, configured to determine, according to at least one of the packet status information and communication status information of each link in the plurality of links, a packet sending duty ratio of a packet in a packet sending queue corresponding to each link in at least part of links in the plurality of links;
and the sending unit is used for sending the data packet in the packet sending queue to the second electronic equipment through the at least partial link based on the packet sending duty ratio corresponding to each link in the at least partial link.
11. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program adapted to be loaded by a processor for performing the data packet allocation method according to any of the claims 1-9.
12. An electronic device comprising a processor and a memory, wherein the memory has stored therein a computer program, and wherein the processor is configured to perform the packet distribution method of any of claims 1-9 by invoking the computer program stored in the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542578.5A CN117440443A (en) | 2023-11-17 | 2023-11-17 | Data packet distribution method, device, storage medium, equipment and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311542578.5A CN117440443A (en) | 2023-11-17 | 2023-11-17 | Data packet distribution method, device, storage medium, equipment and program product |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117440443A true CN117440443A (en) | 2024-01-23 |
Family
ID=89555164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311542578.5A Pending CN117440443A (en) | 2023-11-17 | 2023-11-17 | Data packet distribution method, device, storage medium, equipment and program product |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117440443A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118590410A (en) * | 2024-08-06 | 2024-09-03 | 浙江大学 | Internet of things communication monitoring and analyzing method |
-
2023
- 2023-11-17 CN CN202311542578.5A patent/CN117440443A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118590410A (en) * | 2024-08-06 | 2024-09-03 | 浙江大学 | Internet of things communication monitoring and analyzing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110720200B (en) | Apparatus and method for controlling congestion in a wireless communication system | |
US8891420B2 (en) | Fusion of cellular and non-cellular communications | |
CN111314956B (en) | Apparatus and method for providing service network in wireless communication system | |
US11812518B2 (en) | Virtualized radio access network (vRAN) decoding as a service | |
CA2945702A1 (en) | Buffer sizing for multi-hop networks | |
CN103517323B (en) | The data transmission method of Wireless Heterogeneous Networks, shunting device, base station equipment | |
CN103190132A (en) | Packet-data network and methods for RAN-agnostic multimedia content distribution | |
CN110944358B (en) | Data transmission method and device | |
US12089082B1 (en) | Multichannel communication systems | |
EP3544332B1 (en) | Techniques for scheduling multipath data traffic | |
Wu et al. | Energy minimization for quality-constrained video with multipath TCP over heterogeneous wireless networks | |
WO2017207393A1 (en) | Apparatuses, methods and computer programs for transmitting or receiving payload data and payload recovery data | |
CN105594243A (en) | Network optimization method and device, and base station | |
CN113726681B (en) | Network congestion control method and network equipment | |
CN117440443A (en) | Data packet distribution method, device, storage medium, equipment and program product | |
EP1652342B1 (en) | Method, access point and program product for providing bandwidth and airtime fairness in wireless networks | |
RU2752255C1 (en) | Method for determining a data transmission mode, a network device and a computer data carrier | |
US9401867B2 (en) | Method of handling transmission of data to a mobile device through multiple channels | |
CN112243296B (en) | Auxiliary cell activation method and device | |
US20150351090A1 (en) | Base station apparatus, mobile station apparatus and circuit, and channel switching method | |
CN108886766A (en) | A kind of transmission method and device controlling information | |
US20230397038A1 (en) | Traffic engineering for real-time applications | |
WO2024199267A1 (en) | Link transmission method and apparatus, information configuration method and apparatus, and communication device | |
US20240049043A1 (en) | Prioritizing data packets in wireless communication network | |
US20240129789A1 (en) | Quality of service adjustment method and apparatus, device, and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |