Data transmission method, computer readable storage medium and electronic equipment

By receiving data packets in a wireless network and sending cached data packets according to predetermined conditions, and dynamically adjusting the aggregation threshold, the delay and energy consumption problems caused by channel competition in a high-density wireless network are solved, and data transmission efficiency is improved.

CN119865854APending Publication Date: 2025-04-22SHANGHAI LIANHONG TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510037435.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-04-22

AI Technical Summary

Technical Problem

In a high-density wireless network environment, devices need to frequently compete for channel to obtain the timing of sending data, resulting in increased delay and energy consumption of wireless communication, and inaccurate setting of data aggregation thresholds, affecting data transmission efficiency.

Method used

By sending the currently cached data packet when receiving data packets and meeting predetermined conditions, the predetermined conditions include the number of data packets reaches the aggregation threshold or the cache time reaches the maximum cache time, and dynamically adjusting the aggregation threshold according to the predetermined condition type used when sending the cached data packets.

Benefits of technology

Improves the accuracy of data aggregation threshold setting, reduces channel competition overhead, reduces latency and energy consumption, and improves data transmission efficiency and throughput.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119865854A_ABST
    Figure CN119865854A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission method, a computer readable storage medium and electronic equipment. The method comprises the following steps: receiving a data packet; when a preset condition is met, the currently cached data packets are sent, and the type of the preset condition comprises that the number of the currently cached data packets reaches an aggregation threshold value, and the caching duration of the finally received data packets reaches the maximum caching duration; and adjusting an aggregation threshold according to the type of a predetermined condition adopted when the cached data packet is sent. According to the method and the device, the technical problem of inaccurate setting of the data aggregation threshold is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a data transmission method, a computer-readable storage medium, and an electronic device. Background Art

[0002] Wireless networks use a shared medium communication method, that is, multiple devices share the same wireless channel for data transmission. In order to prevent data packet collisions and improve transmission efficiency, wireless network protocols usually adopt a competitive access mechanism, which causes devices to compete for channels multiple times before sending data, increasing the overhead of wireless communication. When the channel utilization rate is high, the possibility of multiple devices trying to access the channel at the same time increases, resulting in further increase in competition overhead. Especially in high-density wireless network environments, such as large conferences, exhibitions, and busy office areas, devices need to compete more frequently to obtain the opportunity to send data, which will significantly increase the latency and energy consumption of wireless communications.

[0003] In scenarios where data traffic fluctuates greatly or channel conditions change frequently, data packet aggregation cannot achieve optimal data transmission efficiency. When traffic is small and scattered, using a high aggregation level will cause a large amount of data to wait, increasing waiting time overhead and reducing data timeliness. Conversely, if traffic suddenly increases, a low aggregation level may lead to frequent channel contention and overhead, reducing overall throughput, so there is a problem of inaccurate aggregation threshold setting.

[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0005] The embodiments of the present application provide a data transmission method, a computer-readable storage medium, and an electronic device to at least solve the technical problem of inaccurate data aggregation threshold setting.

[0006] According to one aspect of an embodiment of the present application, a data transmission method is provided, including: receiving a data packet; sending a currently cached data packet when a predetermined condition is met, wherein the types of the predetermined conditions include the number of currently cached data packets reaching an aggregation threshold and the cache duration of the last received data packet reaching a maximum cache duration; adjusting the aggregation threshold according to the type of the predetermined condition used when sending the cached data packet.

[0007] Optionally, the aggregation threshold is adjusted according to the type of predetermined conditions adopted when sending the cached data packets, including: when the type of predetermined conditions adopted when sending the cached data packets is: when the number of currently cached data packets reaches the aggregation threshold, when a new data packet is received within the maximum cache time after the last data packet is received, the aggregation threshold is increased.

[0008] Optionally, when a new data packet is received within the maximum cache time after the last data packet is received, the aggregation threshold is increased, including: determining the number of new data packets received within the maximum cache time after the last data packet is received; determining the increase amplitude based on the number; and increasing the aggregation threshold by using the increase amplitude.

[0009] Optionally, the type of predetermined condition adopted when sending the cached data packets is: the number of currently cached data packets exceeds the aggregation threshold, and the aggregation threshold is adjusted according to the type of predetermined condition adopted when sending the cached data packets, including: maintaining the aggregation threshold if no new data packet is received within the maximum cache time after the last data packet is received.

[0010] Optionally, the aggregation threshold is adjusted according to the type of predetermined conditions used when sending cached data packets, including: when the type of predetermined conditions used when sending cached data packets is: when the cache duration of the last received data packet reaches the maximum cache duration, reducing the aggregation threshold.

[0011] Optionally, determine the service type of the received data packet; determine the sending priority according to the service type; cache the data packets whose sending priority is less than the predetermined priority; or send the data packets whose sending priority is greater than or equal to the predetermined priority.

[0012] Optionally, the method further includes: obtaining the current channel quality when a predetermined condition is not met; and sending the currently cached data packet when the current channel quality is worse than a predetermined channel quality.

[0013] According to another aspect of the present application, a computer-readable storage medium is provided, the computer-readable storage medium including a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned data transmission methods.

[0014] According to another aspect of the present application, an electronic device is provided, comprising: a memory storing an executable program; and a processor for running the program, wherein any one of the above-mentioned data transmission methods is executed when the program is running.

[0015] Optionally, the electronic device is a transmitter.

[0016] According to another aspect of the present application, a computer program product includes a computer program, and when the computer program is executed by a processor, the steps of any one of the data transmission methods are implemented.

[0017] In the embodiment of the present application, a method of dynamically adjusting the aggregation threshold is adopted, by receiving a data packet; when a predetermined condition is met, the currently cached data packet is sent, wherein the type of the predetermined condition includes the number of currently cached data packets reaching the aggregation threshold, the cache duration of the last received data packet reaching the maximum cache duration; the aggregation threshold is adjusted according to the type of the predetermined condition adopted when sending the cached data packet. The purpose of improving the matching degree between the aggregation threshold and the current data packet transmission demand according to the change of data traffic is achieved, and the technical effect of improving the accuracy of the data aggregation threshold setting is achieved, thereby solving the existing technical problem of inaccurate data aggregation threshold setting. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0019] Figure 1 is a first flow chart of an optional data transmission method provided according to an embodiment of the present application;

[0020] Figure 2 is a second flow chart of an optional data transmission method provided according to an embodiment of the present application;

[0021] Figure 3 is a schematic diagram of dynamic adjustment of an optional data transmission method provided according to an embodiment of the present application;

[0022] Figure 4 is a flowchart of an optional data transmission method provided according to an embodiment of the present application;

[0023] Figure 5 It is a schematic diagram of an optional data transmission device provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] First, some nouns or terms that appear in the description of the embodiments of the present application are subject to the following explanations:

[0027] TXOP (Transmission Opportunity) competition behavior, that is, transmission opportunity competition behavior, in the field of wireless communications, TXOP competition behavior refers to the competition process in which multiple devices (such as wireless routers, wireless clients, etc.) compete to obtain exclusive use of wireless channels in a wireless network in order to continuously send multiple data frames within a period of time. In a high-density wireless network environment, TXOP competition behavior directly affects the throughput, latency, and efficiency of the network. After a device obtains channel access rights through the TXOP mechanism, the number of channel switching and idle waiting time can be reduced, thereby improving the continuity of data transmission and overall network performance.

[0028] RTS (Request to Send) is a request to send frame. Before sending data, a device will send an RTS frame to the receiver to notify it that it is ready to receive data. The RTS frame contains the length of the data packet that the sender is about to transmit. After receiving the RTS frame, the receiver will reserve a channel for a certain period of time so that the sender can transmit data.

[0029] CTS (Clear to Send) means clearing the sending frame. After receiving the RTS frame and confirming that the channel is idle, the receiver will send a CTS frame to the sender, indicating that the channel is ready and the sender can start data transmission. The CTS frame notifies all surrounding devices that the channel will be occupied for the next period of time and other devices should avoid sending data, thereby reducing channel conflicts.

[0030] RTS / CTS frames are key control signals used in wireless communications to avoid packet collisions and improve channel utilization. RTS / CTS frames play the role of reserving channels during communication to ensure smooth data transmission.

[0031] In scenarios such as the Internet of Things (IoT) network and sensor network, devices usually need to send small data packets with a high frequency. For example, environmental monitoring sensors regularly upload information such as temperature and humidity. Although the amount of data transmitted in a single transmission is small, the accumulated transmission requests are frequent, resulting in high channel contention overhead.

[0032] In one implementation, data packets are sent at regular intervals without considering the aggregation degree of data packets, or data packets are sent at a fixed aggregation degree, which will increase channel contention overhead, especially when the channel conditions are good, and fail to fully utilize channel resources. As a result, in an environment where data traffic changes frequently, the waiting time for data packets is too long, or the channel contention time for data packets to be sent is too long, affecting transmission efficiency and service quality.

[0033] According to an embodiment of the present application, a method embodiment of data transmission is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0034] Figure 1 is a first flow chart of an optional data transmission method provided according to an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps:

[0035] Step S102, receiving a data packet;

[0036] Optionally, the execution subject of this embodiment can be any device including wireless communication function, such as a transmitter, which is applied to the scenario where small traffic and multiple batches need to improve the efficiency of data transmission. The above-mentioned data packet is only a form of data representation, and can also be in the form of a data frame. The received and cached data packet can be sent only after caching, or the cached data packet can be aggregated and sent as a whole. Data packet aggregation refers to merging multiple small data packets into a large data packet for transmission, which can reduce the overhead in the communication process and improve communication efficiency. Data packets are aggregated and sent after caching to optimize the transmission flow and delay in the communication process. In network transmission, small data packets will increase the communication overhead, and aggregating multiple small data packets into a large data packet can reduce the number of communications and avoid excessive time overhead caused by multiple channel competition, thereby improving communication efficiency.

[0037] Step S104, when a predetermined condition is met, sending the currently cached data packet, wherein the types of the predetermined condition include that the number of currently cached data packets reaches an aggregation threshold, and the cache duration of the last received data packet reaches a maximum cache duration;

[0038] It can be understood that the currently cached data packets will trigger the sending process when the predetermined conditions are met. The predetermined conditions include the following two types: the number of currently cached data packets reaches the preset aggregation threshold, indicating that the number of data packets in the cache queue has accumulated to the extent of performing a data transmission. At this time, all currently cached data packets are sent to reduce the number of channel contention times and improve data throughput. The cache duration of the received data packet reaches the maximum cache duration, which is a delay-sensitive sending type. Even if the number of data packets has not yet reached the aggregation threshold, if the last received data packet has been cached in the queue for more than the preset maximum cache duration, it is deemed that no new data packet has been received to join the queue, so as to avoid excessive delays in data packets due to excessive waiting time. Data packet aggregation will no longer continue, and all currently cached data packets will be sent immediately.

[0039] Optionally, the above maximum cache duration setting may vary in different network environments and different applications. The maximum cache duration defines the maximum acceptable receiving interval. Once this maximum receiving interval is exceeded, new data packets will no longer be received and all currently cached data packets need to be sent out. Even if the currently set aggregation threshold is not reached, the data packet sending operation will be triggered.

[0040] In a Wi-Fi network, the time interval for receiving data packets can be set between milliseconds and seconds, and the maximum cache duration can be determined based on factors such as network protocol, link layer characteristics, transmission rate, network load, and application requirements. For small-volume multi-batch data transmission scenarios, the acceptable interval for receiving data packets may be between tens of milliseconds and hundreds of milliseconds. The specific maximum cache duration depends on the frequency of data source generation and the real-time status of the network.

[0041] Optionally, each cached data packet will start counting the cache duration from the cache, and when a new data packet is cached, the cache duration will be reset. The above cache duration is recorded by a specially set timer, which is used to count the cache duration after the last data packet arrives. If a new data packet arrives, the timer will be reset and the cache duration will be counted again.

[0042] Optionally, there are other ways to trigger the sending of the currently cached data packet, such as triggering the sending process when the channel quality decreases, and triggering the sending process when the total cached time is greater than the estimated time required for multiple channel competitions.

[0043] In an optional embodiment, the method further includes: obtaining the current channel quality when the predetermined condition is not met; and sending the currently cached data packet when the current channel quality is worse than the predetermined channel quality.

[0044] It can be understood that when the predetermined conditions are not met, the quality status of the current channel will also be detected. The current channel quality is compared with the predetermined channel quality. When it is detected that the current channel quality is better than the predetermined channel quality, it means that the network environment is stable and the link quality is good. At this time, the data packets can continue to be received and cached without having to be sent immediately. The reason is that high-quality channels are usually able to support higher data transmission rates and fewer retransmissions, so that more data packets can be aggregated for one transmission, and the transmission time is less. Allowing longer waiting time to collect more data packets for one transmission improves throughput. If the current channel quality is evaluated to be worse than the predetermined channel quality, this indicates that the current network environment may be unstable or there is interference, resulting in reduced data transmission efficiency. In this case, even if the predetermined conditions are not met, all currently cached data packets will be sent immediately to avoid data packets waiting for a long time in unstable channels and increase transmission delays.

[0045] Through the above processing, it is possible to avoid the data packet being stranded for a long time when the channel quality further deteriorates. Considering the possibility of transmission failure, the time for sending retries is reserved, thereby reducing data delay.

[0046] It should be noted that this embodiment adopts a data transmission method different from the inertial thinking when processing data packet aggregation and sending strategies. Generally speaking, in the inertial thinking, when the current channel quality is better, the data packet will be sent immediately, while when the current channel quality is not ideal, it may continue to wait and postpone sending. In this embodiment, when the current channel quality is better than the predetermined channel quality, the data packet will continue to be cached when the sending conditions are not met. This is an adaptive improvement to the aggregation and sending of data packets. High-quality channels mean lower signal interference, more stable links, higher data transmission rates and fewer retransmission probabilities. Therefore, the current channel quality can ensure that continuing to perform data packet aggregation is a more efficient transmission method, further reducing channel competition and improving network resource utilization efficiency. On the contrary, when the current channel quality becomes lower than the predetermined channel quality, the cached data packet will be sent immediately, even if the data packet aggregation degree has not reached the optimal level, and the data packet sending conditions are not met. This is because under the condition of poor channel quality, the reliability of data transmission is affected, and the data packet may experience more retransmissions and delays. Continuing to wait for aggregation may have a counter-effect, and it is necessary to perform sending immediately. This processing method takes into account the probability of data loss or retransmission, as well as the waiting time of data packets on unstable channels, to ensure the timeliness of data transmission.

[0047] Optionally, the current channel quality can be obtained based on a variety of performance indicators, such as signal-to-noise ratio (SNR), bit error rate (BER), signal strength, channel utilization and other indicators. The signal-to-noise ratio measures the ratio of the average power of the signal to the average power of the noise, and is used to describe the relationship between the signal quality and the interference level. A higher signal-to-noise ratio means better signal quality and less interference. The bit error rate refers to the ratio of the number of received error bits to the total number of transmitted bits during data transmission, which is an important indicator for evaluating the quality of data transmission. A lower bit error rate means that the data suffers fewer errors during transmission and the channel quality is higher. Signal strength is an indicator of the strength of the wireless signal. A higher signal strength means that there is a stronger communication connection between devices and higher data transmission efficiency. When the signal strength drops below the preset threshold, the current channel quality is considered to be poor, which may be affected by the physical environment (such as obstacles, increased distance) or electronic interference. Channel utilization is the proportion of time that the channel is actually used within a specific time. A higher channel utilization means that the channel resources are frequently used, indicating that the data traffic in the network is high or there are multiple nodes trying to access the channel at the same time. In this high-load environment, data packets may encounter longer channel preemption delays while waiting for aggregation. Therefore, when it is detected that the channel utilization exceeds the preset utilization threshold, the data packets in the cache are sent directly to reduce the waiting time of the data in the channel and avoid increasing the transmission delay.

[0048] Optionally, the predetermined channel quality is set according to network characteristics and application requirements, and is used to determine whether the channel is in a degraded state. The predetermined channel quality may be one or a group of specific performance indicator thresholds.

[0049] In an optional embodiment, the method further includes: when the number of cached data packets does not reach an aggregation threshold, determining an estimated duration required to perform multiple channel contentions based on historical channel contention data; and sending the cached data packets when the total duration for which the cached data packets have been cached is greater than the estimated duration.

[0050] It can be understood that the channel contention duration is predicted based on historical data, so as to decide when to send the data packets in the buffer. The expected duration of future channel contention can be predicted by collecting and analyzing historical channel contention data, such as the average number of contention times and average contention delay required to successfully send data packets in the past period of time, and learning the channel usage pattern and contention trend from historical data.

[0051] When the number of cached packets does not reach the aggregation threshold, the total time that the packets in the cache have been cached can be compared with the estimated time of executing multiple channel contention. If the total time exceeds the estimated time, it means that the channel contention is not as long as the time spent on packet aggregation, and it may take longer to continue to perform packet caching. Therefore, all the currently cached packets will be sent immediately instead of waiting for the number of cached packets to reach the aggregation threshold. This early sending strategy ensures that the waiting time overhead of the adaptive algorithm is less than the time overhead of multiple channel contention, thereby avoiding unnecessary delays.

[0052] The above processing takes into account the uncertainty of channel competition and determines the timing of data packet transmission by predicting the channel competition duration. It can reasonably utilize channel resources and reduce unnecessary competition overhead without affecting data transmission efficiency. By introducing the analysis and prediction of historical channel competition data, the total delay of data transmission is reduced, and the user experience and quality of communication services are improved.

[0053] Optionally, when determining the estimated duration required to perform multiple channel contentions based on historical channel contention data, a variety of models can be used for prediction. For example: neural network, exponential smoothing method, support vector regression, etc. Neural networks can model and predict complex time series data. Through the connection of multiple layers of neurons, neural networks can capture nonlinear relationships in time series data and make accurate predictions. In the prediction of channel contention duration, historical channel contention data can be used to train the neural network model to obtain a neural network model that can predict future channel contention duration.

[0054] Exponential smoothing is based on the idea of ​​weighted average, which predicts future values ​​by assigning different weights to data at different time points. In the prediction of channel contention duration, more recent historical data can be given a greater weight to better reflect the current channel contention situation.

[0055] The support vector regression method fits the time series data by finding the optimal hyperplane. In the prediction of channel contention duration, the historical channel contention data can be used for training to obtain the support vector regression model.

[0056] In addition to the above single models, hybrid models can also be used for prediction, which can combine the advantages of multiple single models to improve the accuracy and robustness of predictions. For example, exponential smoothing can be combined with neural networks to form a more powerful prediction model.

[0057] Step S106: adjusting the aggregation threshold according to the type of the predetermined condition adopted when sending the buffered data packet.

[0058] It can be understood that the aggregation threshold is dynamically adjusted according to the type of the adopted predetermined condition, and different types correspond to different adjustment methods, so as to optimize data transmission in a targeted manner.

[0059] In an optional embodiment, the aggregation threshold is adjusted according to the type of predetermined conditions used when sending cached data packets, including: when the type of predetermined conditions used when sending cached data packets is: when the number of currently cached data packets reaches the aggregation threshold, when a new data packet is received within the maximum cache time after the last data packet is received, the aggregation threshold is increased.

[0060] It can be understood that when the number of cached data packets reaches the aggregation threshold, the sending of the data packet is triggered, that is, the type of predetermined condition is that the data packet is sent because the number of data packets reaches the aggregation threshold. After receiving the last data packet, the arrival of the data packet will continue to be detected. If a new data packet is received within the set maximum cache time (for example, 1 millisecond), this indicates that the data traffic is becoming dense. Increasing the aggregation threshold means that future data transmission processing will try to aggregate more data packets, and will only trigger transmission when a higher number is reached. In order to more effectively utilize the channel in future transmissions, reduce contention overhead, and improve throughput.

[0061] When data traffic increases, the aggregation threshold is adaptively increased to achieve more efficient use of channel resources. This is especially useful for IoT communication scenarios with small traffic and multiple batches, which can effectively improve network performance and user experience. By dynamically adjusting the aggregation threshold based on the number of packets received within the maximum cache duration, more packets can be aggregated for transmission when traffic is dense, thereby reducing the number of transmissions and channel contention and improving network throughput. This approach has good adaptability to scenarios that process a large number of small packets, such as IoT devices, sensor data uploads for smart homes, and social media interactions on mobile devices.

[0062] It should be noted that after sending data packets that reach the aggregation threshold, new data packets will continue to be received and cached. Any number of data packets received within the maximum cache duration can indicate that the data traffic has become denser than before, and the aggregation threshold will be increased. Adaptive adjustment based on actual traffic can make the aggregation degree closer to the real-time data traffic demand, avoiding the efficiency loss caused by too high or too low aggregation degree.

[0063] Optionally, the process of increasing the aggregation threshold also reduces the overhead of RTS / CTS frames and other control frames, further improving data transmission efficiency.

[0064] Optionally, the above-mentioned manner of increasing the aggregation threshold may be obtained by adjusting according to a predetermined value, such as being determined according to a fixed step size, or may be obtained by adaptively calculating according to a rate of change of data packet flow.

[0065] In an optional embodiment, when a new data packet is received within the maximum cache time after the last data packet is received, the aggregation threshold is increased, including: determining the number of new data packets received within the maximum cache time after the aggregation threshold is reached; determining the increase based on the number; and increasing the aggregation threshold by using the increase.

[0066] It can be understood that after receiving the last data packet, the new data packets still received within the maximum cache duration are detected, and the number of these new data packets is recorded. The increase in the aggregation threshold is determined according to the number of new data packets received. For example, if a large number of new data packets are received within the maximum cache duration, this indicates that the data traffic density is increasing. At this time, a larger increase will be selected to adjust the aggregation threshold to make full use of channel resources, reduce the number of channel competitions, and improve data throughput. On the contrary, if the number of new data packets received is small, the increase will be correspondingly smaller to avoid data packet delays caused by excessive increases in the aggregation threshold.

[0067] By detecting the arrival of new data packets within the maximum cache duration, it is possible to respond to fluctuations in data traffic in real time, adjust aggregation strategies, and improve the adaptability and flexibility of data transmission. When data traffic changes dramatically, such as when a large number of data packets are received within a maximum cache duration, the adaptive adjustment increases the amplitude, which helps to improve the utilization efficiency of network resources to a greater extent.

[0068] Optionally, according to the above number, there may be multiple strategies for determining the increase range to ensure that the system can intelligently adapt to changes in data traffic and channel conditions, such as linear model, exponential model, dynamic weight adjustment model, adaptive learning model, which are described below.

[0069] In the linear model, the increase in the aggregation threshold is proportional to the number of new packets. For example, if the number of new packets detected is N, the system can set the increase in the aggregation threshold to α1*N, where α1 is a preset proportional coefficient in the linear model and is adjusted according to the network environment and communication requirements.

[0070] The exponential model has a faster adjustment rate, and the increase in the aggregation threshold is related to the exponential function of the number of new packets. For example, the increase can be set to α2 N, where α2 is the preset proportional coefficient in the exponential model. In the scenario where data traffic increases rapidly, the exponential model can quickly increase the aggregation threshold, make full use of channel resources, and has good adaptability to sudden large traffic transmission.

[0071] The dynamic weight adjustment model dynamically adjusts the increase of the aggregation threshold according to factors such as application scenarios, link quality, and data types. The above application scenarios, link quality, and data types can set corresponding weight values ​​to increase the impact on the increase. For example, if the number of new data packets detected is N, but the link quality decreases significantly at the same time, the increase of the aggregation threshold can be reduced to prioritize the timely delivery of data packets and reduce delays. Conversely, if the link quality is good, the increase can be increased to pursue higher data throughput.

[0072] The adaptive learning model uses machine learning algorithms, such as neural networks and support vector machines, to adaptively learn and adjust the increase in the aggregation threshold based on historical data and real-time monitoring results. The adaptive learning model can continuously optimize its parameters over time to better predict future data traffic and achieve the most optimized data packet aggregation and sending strategy.

[0073] Through one of the above strategies or a combination of multiple strategies, after sending the cached data packet, the aggregation threshold can be adjusted by intelligently determining the increase based on the number of new data packets received within the maximum cache duration to adapt to different data traffic changes and achieve efficient data transmission performance.

[0074] In an optional embodiment, the type of predetermined condition used when sending cached data packets is: the number of currently cached data packets exceeds the aggregation threshold, and the aggregation threshold is adjusted according to the type of predetermined condition used when sending the cached data packets, including: maintaining the aggregation threshold if no new data packet is received within the maximum cache time after the last data packet is received.

[0075] It can be understood that when the number of cached data packets exceeds the preset aggregation threshold, the data packet sending is triggered. Within the maximum cache duration after the cached data packet is sent, no new data packets are received, indicating that the current data traffic is temporarily stable or decreasing. In this case, choose to keep the current aggregation threshold unchanged to avoid excessive adjustment of the aggregation degree, which leads to increased transmission delay and possible waste of channel resources. The strategy of maintaining the aggregation threshold helps maintain data transmission efficiency in scenarios with small fluctuations in data traffic.

[0076] It should be noted that in the case where the traffic data trend is decreasing, even if the current aggregation threshold remains unchanged, the reception interval between data packets is too long, resulting in exceeding the maximum cache duration, triggering the reduction of the aggregation threshold in the next data transmission, so that the aggregation threshold that conforms to the actual situation can be set according to the real-time data traffic. While ensuring data throughput, the aggregation and transmission of data packets can be adjusted according to the real-time data traffic, avoiding excessive delays caused by high aggregation in low-traffic scenarios, and achieving a balance between throughput and delay. Whether the data traffic increases or decreases, the system can respond quickly and optimize data transmission performance by adjusting the aggregation degree.

[0077] In an optional embodiment, the aggregation threshold is adjusted according to the type of predetermined conditions used when sending cached data packets, including: when the type of predetermined conditions used when sending cached data packets is: when the cache duration of the last received data packet reaches the maximum cache duration, reducing the aggregation threshold.

[0078] It is understandable that if the type of predetermined condition is sent because the cache duration reaches the maximum cache duration, this may mean that the data flow is reduced. The aggregation threshold will be reduced to reduce the cache time of the data packet, ensure timely transmission of data, and reduce latency.

[0079] Optionally, the aggregation threshold may be reduced by a preset reduction range, and the type of predetermined condition adopted when sending cached data packets multiple times in succession is: when the cache duration of the last received data packet reaches the maximum cache duration, the reduction range may be further increased.

[0080] Figure 2 is a schematic diagram of a dynamic adjustment of an optional data transmission method provided in an embodiment of the present application, such as Figure 2 As shown, the data packets are illustrated in circles, and the different distances between the data packets represent the receiving intervals. It can be understood that the aggregation threshold set for the first data transmission is 4, and the type of predetermined condition used when sending the first cached data packet is: the number of currently cached data packets reaches the aggregation threshold, and 4 data packets are sent for the first time. Within the maximum cache time after the first data packet is sent, when a new data packet is received, it is detected that a new data packet has been received, indicating that the data traffic has become more intensive, so the aggregation threshold is raised to 6. When the number of accumulated data packets reaches the second threshold of 6, the second data packet sending process is triggered.

[0081] Through the above step S102, a data packet is received; in step S104, when a predetermined condition is met, the currently cached data packet is sent, and the types of the predetermined conditions include that the number of currently cached data packets reaches the aggregation threshold and the cache duration of the last received data packet reaches the maximum cache duration; in step S106, the aggregation threshold is adjusted according to the type of the predetermined condition used when sending the cached data packet. The purpose of improving the matching degree between the aggregation threshold and the current data packet transmission demand according to the change of data traffic is achieved, and the technical effect of improving the accuracy of data aggregation threshold setting is achieved, thereby solving the existing technical problem of inaccurate data aggregation threshold setting.

[0082] Figure 3 is a second flow chart of an optional data transmission method provided according to an embodiment of the present application, such as Figure 3 As shown, the method comprises the following steps:

[0083] Step S302, determining the service type of the received data packet;

[0084] It is understandable that during the data packet reception process, it is also necessary to determine whether the received data packets need to be aggregated, that is, after receiving a data packet, it is necessary to determine whether the data packet should be sent after being buffered or sent in real time.

[0085] Optionally, in actual wireless network communications, data packets usually carry different types of service data, such as file transfer, voice calls, online video and other services, which have different transmission characteristics requirements, especially different requirements for delay sensitivity. For example, voice and video calls have higher requirements for delay, while file transfer may have lower requirements for delay but higher requirements for throughput.

[0086] Step S304, determining the sending priority according to the service type;

[0087] It can be understood that in order to adapt to different application scenarios, the concept of service sending priority is introduced to optimize the aggregation and sending strategy of data packets. By considering the sending priority, network resources can be more reasonably allocated to different types of services, that is, the immediacy of data packets with high sending priority is prioritized, while using the idle resources of the network to improve the transmission efficiency of low sending priority services.

[0088] Step S306, buffering a data packet whose sending priority is less than a predetermined priority; or sending the data packet whose sending priority is greater than or equal to the predetermined priority.

[0089] It can be understood that the judgment is based on the sending priority of the service type. If the sending priority of the service type is lower than the predetermined priority, it means that the sending priority is low and the real-time requirement is not high. Any data transmission method provided in the above embodiment and optional embodiment can be used to perform data packet aggregation processing until the predetermined conditions are met. For service types with lower priority and larger data volume, by adjusting the aggregation degree, unnecessary channel preemption can be reduced, wireless overhead can be reduced, and the total throughput of the network can be improved.

[0090] If the service is of a higher priority (such as voice or video), data packets will not be cached but will be sent directly. Data packets with a sending priority greater than or equal to the preset priority will not be counted in the aggregation adjustment of the data packet cache, ensuring that data packets with a sending priority greater than or equal to the preset priority are sent in a timely manner, reducing latency and improving service quality.

[0091] Through the above step S302, the service type of the received data packet is determined; in step S304, the sending priority is determined according to the service type; in step S306, the data packet with a sending priority lower than the predetermined priority is cached; or the data packet with the sending priority greater than or equal to the predetermined priority is sent. It can not only effectively handle the transmission requirements of small traffic and multiple batches, but also ensure the timeliness and service quality of high-priority services, and achieve efficient use of network resources and a balance between different business requirements.

[0092] Based on the above embodiments and optional embodiments, the present application proposes an optional implementation mode: Figure 4 is a schematic diagram of a dynamic adjustment of an optional data transmission method provided in an embodiment of the present application, such as Figure 4 As shown, it is applied to a transmitter that uses an adaptive aggregation adjustment method to set an aggregation threshold and a maximum cache duration. There is a timer that is used to count the waiting time after the last data packet arrives (i.e., the cache duration). When the cache duration is greater than the maximum cache duration, or the number of data packets cached in the queue can meet the aggregation threshold, when any of the above conditions is met, the transmitter immediately sends all data packets cached in the queue. The aggregation threshold adjustment method can be performed in the following manner:

[0093] For specific traffic, such as voice, there will be higher requirements for latency. At the same time, in scenarios with high channel utilization, in order to avoid postponing transmission and losing the opportunity to seize the channel, resulting in higher data latency, a predetermined priority and predetermined channel quality are set. Different service types of different data packets are set with different priorities. When a data packet is received, the sending priority will be checked first, or the sending priority will be set according to the service type of the data packet.

[0094] In the process of receiving a data packet, the sending priority of the data packet is determined according to the service type of the data packet. If the sending priority is greater than or equal to the predetermined priority, the data packet is skipped from being cached and is directly sent.

[0095] If the sending priority is lower than the preset priority, it is deemed that data packet aggregation processing needs to be performed, and the data transmission queue is entered and the transmission is suspended. When the preset conditions are met, the currently cached data packets are sent. The types of the above-mentioned preset conditions include that the number of currently cached data packets reaches the aggregation threshold and the cache duration of the last received data packet reaches the maximum cache duration. Start the timer to count the cache duration of the last data packet. When the above-mentioned cache duration is less than the maximum cache duration, if a new data packet arrives, reset the timer and use the new data packet as the last data packet to re-count the cache duration. If the number of cached data packets has met the aggregation threshold, send all cached data packets immediately. If the cache duration is greater than the maximum cache duration, send all cached data packets immediately.

[0096] When the number of packets that meet the cache reaches the aggregation threshold and triggers packet sending, and new data still arrives within the maximum cache time after the aggregation threshold is reached, the aggregation threshold is increased according to the number of new packets. If no new packets arrive within the maximum cache time, no adjustment is made and the aggregation threshold is maintained.

[0097] When data sending is triggered because the cache duration is greater than the maximum cache duration, the aggregation threshold is lowered.

[0098] Even if the above predetermined conditions are not met, the current channel quality will be detected in real time. If the current channel quality is better than the predetermined channel quality, it is considered that the data packet can continue to be cached. By using the above data packet aggregation method, the waiting time overhead of the data packet during the caching process is less than the time overhead of multiple channel competitions. To evaluate the current channel quality, the current channel evaluation index can be used as a quantitative form. When the total waiting time for the cached data packet to be sent is less than the competition overhead, it will bring certain performance optimization and avoid trivial channel preemption. This is also the significance of data packet aggregation.

[0099] If the current channel quality is worse than the predetermined channel quality, it means that the current channel quality is poor. At this time, channel preemption is performed and data is sent directly after the preemption is successful.

[0100] The above optional implementation achieves at least the following effects: a method is provided for quickly and adaptively adjusting the degree of aggregation (i.e., the aggregation threshold) in various scenarios. By adjusting the degree of aggregation to the optimal state, it is helpful to select the appropriate degree of aggregation in various scenarios, reduce the propagation overhead of multiple transmissions caused by a smaller degree of aggregation, reduce the delay waiting overhead caused by an excessively high degree of aggregation, and effectively improve the data transmission capability of the transmitter. And because it is implemented using a timer, there is no need to change the existing protocol, the algorithm complexity is low, and it can be applied to various transmitter data frame aggregation scenarios. Taking into account both performance and latency, it can ensure that high-priority data is sent in a timely manner to reduce latency, and can ensure that data is sent in a timely manner in poor channel environments, and can also ensure that contention overhead is reduced in specific scenarios.

[0101] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0102] According to an embodiment of the present application, an electronic device is provided, characterized in that it includes: a memory storing an executable program; and a processor for running the program, wherein when the program is running, the data transmission method provided by any one of the above embodiments is executed.

[0103] In an optional embodiment, the electronic device is a transmitter. A transmitter is a device in a communication system that is responsible for converting information to be transmitted into a signal suitable for propagation in a channel. It may optionally include functions such as signal modulation, amplification, and transmission, and convert digital or analog information into electromagnetic wave signals, which are transmitted through an antenna or cable for transmission in a wireless or wired network. A transmitter is one end of a communication link, as opposed to a receiver. The receiver is responsible for receiving and demodulating the signal sent by the transmitter to restore the original information.

[0104] Optionally, the above-mentioned transmitter can be a wireless router, a mobile device (mobile terminal), an Internet of Things device, a base station, a vehicle communication system, etc. The above-mentioned execution entities can manage and control the transmission of wireless data more intelligently and efficiently, and have good adaptability to complex scenarios with large traffic fluctuations and changes in link quality. By dynamically adjusting the aggregation degree, it can improve the utilization of network resources while ensuring the quality of data services.

[0105] For wireless routers, in Wi-Fi networks, wireless routers, as data packet forwarding devices, often handle low-volume, high-frequency data requests from multiple devices. The data transmission method provided by the above embodiment can help the router intelligently adjust the aggregation degree of data packets to reduce channel competition and improve data transmission efficiency.

[0106] For mobile devices, such as smart phones and tablet computers, small data packets are frequently sent when performing low-traffic applications such as Internet browsing, social media interaction, and instant messaging. The data transmission method provided by the above embodiment can be applied to the wireless network module of the mobile device to optimize the transmission strategy of these small-traffic data and improve battery efficiency and network response speed.

[0107] For IoT devices, it is necessary to send and receive small data packets, such as sensor data, control instructions, etc. The data transmission method provided by the above embodiment can help the transmitting module of the IoT device to adaptively adjust the aggregation degree of the data packet according to the network environment and data characteristics, reduce wireless transmission overhead, and improve the energy efficiency and network performance of the device.

[0108] For a base station, in a mobile communication network, the base station is responsible for wireless communication with multiple mobile devices and may need to process a large amount of low-flow, high-frequency user data. The data transmission method provided by the above embodiment can be applied to the transmission system of the base station to optimize the aggregated transmission of data packets to improve the throughput and responsiveness of the network.

[0109] For the vehicle-to-everything (V2X) communication system, vehicles and roadside equipment, and vehicles need to frequently exchange small data packets, such as location information, speed data, etc. The data transmission method provided by the above embodiment can help the vehicle-to-everything communication module dynamically adjust the aggregation degree according to the road environment and network conditions to ensure the timeliness and security of the data.

[0110] Based on the above embodiments and optional embodiments, the present application proposes another optional implementation mode, where the electronic device is a transmitter and is used in scenarios with less data traffic or multiple batches of small traffic. Frequent TXOP competition will lead to an increase in the overhead of control frames (such as RTS / CTS), thereby affecting the efficiency of the network and user experience. Therefore, the TXOP competition behavior is optimized, and the aggregation degree is adjusted to reduce unnecessary channel access competition and improve wireless network performance.

[0111] When the transmitter receives a data packet, it will adjust the aggregation threshold of the data packets allowed to be cached according to the data traffic. That is, before the current number of data packets reaches the aggregation threshold, the transmitter will not send the RTS frame immediately, and the sending of the RTS frame will be triggered only when the predetermined conditions are met. If the waiting time for a new data packet exceeds the maximum cache time, the transmitter will send the RTS frame immediately, even if the number of data packets does not reach the aggregation threshold, to avoid too long a waiting time.

[0112] For high-priority data packets, such as real-time voice or video data, the transmitter will immediately send an RTS frame without considering data packet aggregation to ensure that such data can be transmitted in a timely manner and reduce latency.

[0113] When deciding whether to send an RTS frame, the transmitter will evaluate the current channel quality. If the current channel quality is better than the predetermined channel quality, the transmitter will continue to wait for more data packets before sending the RTS frame. If the current channel quality is worse than the predetermined channel quality, even if the predetermined conditions are not met, the RTS frame will be sent to trigger data transmission, ensuring that data can be sent in time even when the network conditions are poor, reducing the delay of data transmission.

[0114] The transmitter will dynamically adjust the RTS / CTS frame sending strategy according to the channel contention situation. If the expected channel contention time is too long, the transmitter will choose to send data packets early if the received and cached data packets do not reach the aggregation threshold, avoiding excessive data packet waiting delays.

[0115] Through the above processing, the overhead of RTS / CTS frames can be reduced, channel utilization and data throughput can be improved, while timely transmission of high-priority data and rapid response to changes in channel conditions can be guaranteed, thereby optimizing the overall wireless data transmission efficiency.

[0116] According to an embodiment of the present application, a computer-readable storage medium is provided, characterized in that the computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the data transmission method provided by any one of the above embodiments.

[0117] According to an embodiment of the present application, a computer program product is provided, including a computer program, characterized in that when the computer program is executed by a processor, the steps of the data transmission method provided in any of the above embodiments are implemented.

[0118] In this embodiment, a data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the terms "module" and "device" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0119] According to an embodiment of the present application, a device embodiment for implementing the data transmission method is also provided. Figure 5 is a schematic diagram of a data transmission device according to an embodiment of the present application, such as Figure 5As shown, the above data transmission device includes: a receiving module 502, a sending module 504, and a threshold adjustment module 506. The device is described below.

[0120] A receiving module 502, configured to receive a data packet;

[0121] The sending module 504 is connected to the receiving module 502 and is used to send the currently cached data packet when a predetermined condition is met, wherein the types of the predetermined conditions include that the number of currently cached data packets reaches an aggregation threshold and the cache duration of the last received data packet reaches a maximum cache duration;

[0122] The threshold adjustment module 506 is connected to the sending module 504 and is used to adjust the aggregation threshold according to the type of the predetermined condition adopted when sending the buffered data packet.

[0123] In a data transmission device provided by an embodiment of the present application, a receiving module 502 is provided to receive data packets; a sending module 504 is connected to the receiving module 502 and is used to send the currently cached data packets when a predetermined condition is met, wherein the types of the predetermined conditions include the number of currently cached data packets reaching the aggregation threshold and the cache duration of the last received data packet reaching the maximum cache duration; a threshold adjustment module 506 is connected to the sending module 504 and is used to adjust the aggregation threshold according to the type of predetermined condition adopted when sending the cached data packets. The purpose of improving the matching degree between the aggregation threshold and the current data packet transmission demand according to the change of data flow is achieved, and the technical effect of improving the accuracy of the data aggregation threshold setting is achieved, thereby solving the existing technical problem of inaccurate data aggregation threshold setting.

[0124] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.

[0125] It should be noted that the receiving module 502, the sending module 504, and the threshold adjustment module 506 correspond to steps S102 to S106 in the embodiment, and the examples and application scenarios implemented by the modules and the corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the modules as part of the device can be run in a computer terminal.

[0126] It should be noted that the optional or preferred implementation of this embodiment can refer to the relevant description in the embodiment, which will not be repeated here.

[0127] The above-mentioned data transmission device may also include a processor and a memory, and the receiving module 502, the sending module 504, the threshold adjustment module 506, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to implement corresponding functions.

[0128] The processor includes a kernel, which retrieves the corresponding program unit from the memory. There can be one or more kernels. The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one storage chip.

[0129] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0130] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0131] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0132] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed over multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0133] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0134] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or all or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.

[0135] The above are only preferred implementations of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A data transmission method, characterized in that: include: Receive data packets; When a predetermined condition is met, the currently cached data packet is sent, wherein the types of the predetermined conditions include that the number of the currently cached data packets reaches an aggregation threshold, and the cache duration of the last received data packet reaches a maximum cache duration; The aggregation threshold is adjusted according to the type of the predetermined condition adopted when sending the buffered data packet.

2. The method according to claim 1, characterized in that The adjusting the aggregation threshold according to the type of the predetermined condition adopted when sending the cached data packet includes: The type of predetermined condition used when sending the cached data packet is: when the number of currently cached data packets reaches the aggregation threshold, if a new data packet is received within the maximum cache time after the last data packet is received, the aggregation threshold is increased.

3. The method according to claim 2, characterized in that In the case where a new data packet is received within the maximum cache time after the last data packet is received, increasing the aggregation threshold includes: Determine the number of the new data packets received within the maximum buffering time after receiving the last data packet; Based on the number, determining an increase; The aggregation threshold is increased by the increase amplitude.

4. The method according to claim 1, characterized in that: The adjusting the aggregation threshold according to the type of the predetermined condition adopted when sending the cached data packet includes: The type of the predetermined condition adopted when sending the cached data packet is: when the cache duration of the last received data packet reaches the maximum cache duration, reducing the aggregation threshold.

5. The method according to claim 1, characterized in that Determining the service type of the received data packet; Determine the sending priority according to the service type; Cache the data packet whose sending priority is less than the predetermined priority; or send the data packet whose sending priority is greater than or equal to the predetermined priority.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: If the predetermined condition is not met, obtaining the current channel quality; When the current channel quality is worse than the predetermined channel quality, the currently buffered data packet is sent.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the data transmission method according to any one of claims 1 to 6.

8. An electronic device, characterized in that: include: A memory storing an executable program; A processor, configured to run the program, wherein the program, when running, executes the data transmission method according to any one of claims 1 to 6.

9. The electronic device according to claim 8, characterized in that: The electronic device is a transmitter.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the data transmission method according to any one of claims 1 to 6 are implemented.

Citation Information

Cited By

  • Communication method, communication device and readable storage medium

    CN121728584A