Method and device for adjusting network queue parameters, and computer-readable medium and computer program product

By monitoring and adjusting network queue parameters in real time, the problem of network queue parameters being unable to adapt to load changes in existing technologies has been solved, thereby achieving stability and efficiency improvement in network performance.

WO2025260970A1PCT designated stage Publication Date: 2025-12-26ZTE CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/091478
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-19
Filing Date
2025-04-27
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing technologies cannot adjust network queue parameters in real time according to specific circumstances, leading to network processing bottlenecks and packet loss when network load surges, thus affecting service quality.

Method used

By acquiring network queue load data of the target device, network pressure is monitored in real time, and network queue parameters, including system-level and process-level parameters, are adjusted according to the pressure. Preset pressure assessment models and adjustment factors are used for automatic and efficient parameter adjustment.

Benefits of technology

It enables real-time adaptive adjustment of network queue parameters, avoiding network bottlenecks and packet loss, and improving device resource management and application performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025091478_26122025_PF_FP_ABST
    Figure CN2025091478_26122025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure is a method for adjusting network queue parameters, the method comprising: acquiring network queue load data of a target device, wherein the network queue load data represents the load condition of a network queue in a network device, the network queue being used for caching a network data packet; on the basis of the network queue load data, determining network pressure; and on the basis of the network pressure, adjusting network queue parameters of the target device. Further provided in the present disclosure are a device for adjusting network queue parameters, and a computer-readable medium and a computer program product.
Need to check novelty before this filing date? Find Prior Art

Description

Methods and devices for adjusting network queue parameters, computer-readable media, computer program products

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese patent application CN 202410796935.9, filed on June 19, 2024, entitled “Method and apparatus for adjusting network queue parameters, computer-readable medium, computer program product”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure relates to the field of network queue technology, and in particular to a method and apparatus for adjusting network queue parameters, a computer-readable medium, and a computer program product. Background Technology

[0004] When a device receives and sends network data packets, it can use a network queue for buffering, and the network queue parameters have a significant impact on the device's network performance.

[0005] In some related technologies, it is impossible to adjust network queue parameters in real time according to specific circumstances. This can lead to insufficient network queue parameters to maintain normal business operation in some situations (e.g., when network load surges), resulting in network processing bottlenecks, packet loss, and other issues that affect service quality. Summary of the Invention

[0006] This disclosure provides a method and apparatus for adjusting network queue parameters, a computer-readable medium, and a computer program product.

[0007] This disclosure provides a method for adjusting network queue parameters, comprising: acquiring network queue load data of a target device, wherein the network queue load data characterizes the load status of a network queue in the network device, and the network queue is used to cache network data packets; determining network pressure based on the network queue load data; and adjusting the network queue parameters of the target device based on the network pressure.

[0008] This disclosure provides an apparatus for adjusting network queue parameters, which includes a memory and a processor. The memory stores a computer program that can be executed by the processor. When the computer program is executed by the processor, it implements a method for adjusting network queue parameters according to an embodiment of this disclosure.

[0009] This disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements a method for adjusting network queue parameters according to embodiments of this disclosure.

[0010] This disclosure provides a computer program product, which includes a computer program that, when executed by a processor, implements a method for adjusting network queue parameters according to embodiments of this disclosure. Attached Figure Description

[0011] In the accompanying drawings of the embodiments disclosed herein:

[0012] Figure 1 is a flowchart of a method for adjusting network queue parameters provided in an embodiment of this disclosure;

[0013] Figure 2 is another flowchart of a method for adjusting network queue parameters provided in an embodiment of this disclosure;

[0014] Figure 3 is a block diagram of the device for adjusting network queue parameters provided in an embodiment of this disclosure;

[0015] Figure 4 is a block diagram of the composition of a computer-readable medium provided in an embodiment of this disclosure;

[0016] Figure 5 is a schematic diagram of the module division of the device for adjusting network queue parameters provided in an embodiment of this disclosure;

[0017] Figure 6 is a schematic diagram of the logical process of the method for adjusting network queue parameters provided in an embodiment of this disclosure. Detailed Implementation

[0018] To enable those skilled in the art to better understand the technical solutions of this disclosure, the method and apparatus for adjusting network queue parameters, computer-readable media, and computer program products provided in the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0019] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.

[0020] The accompanying drawings of the embodiments disclosed herein are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the description of the detailed embodiments with reference to the accompanying drawings.

[0021] This disclosure may be described with reference to plan and / or cross-sectional views using the ideal schematic diagrams of this disclosure. Therefore, the example illustrations may be modified according to manufacturing techniques and / or tolerances.

[0022] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.

[0023] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms "a" and "the" as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising," "made of," etc., as used in this disclosure specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.

[0024] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so specified in this disclosure.

[0025] This disclosure is not limited to the embodiments shown in the accompanying drawings, but includes modifications to the configuration based on the manufacturing process. Therefore, the areas illustrated in the drawings are schematic, and the shapes of the areas shown illustrate specific shapes of the areas of an element, but are not intended to be limiting.

[0026] Various network devices (such as mobile phones, tablets, etc.) often need to send and receive network data packets over the network. In order to ensure that network data packets can be processed in sequence and that network services are stable, network queues can be used to cache network data packets. That is, network data packets to be processed are cached in the network queue and processed in the first-in-first-out order.

[0027] Therefore, the setting of network queue parameters (such as network queue length, exception handling method, etc.) will have a great impact on the network performance of the device.

[0028] In some related technologies, network queue parameters can be set for the device's operating system, i.e., "system-level network queue parameters" can be set. However, system-level network queue parameters can only be preset by the operator according to several application scenarios, and only one set of default values ​​can be selected at a time. Therefore, such system-level network queue parameters may not be suitable for the specific situation of the device and may not meet the requirements.

[0029] In other related technologies, applications running on the device can set network queue parameters for their own processes; that is, set "process-level network queue parameters." However, applications cannot perceive the overall (underlying) network status of the device, and therefore cannot set network queue parameters that meet the requirements based on the specific network conditions of the device.

[0030] As a result, the relevant technologies cannot adjust the network queue parameters in real time according to specific circumstances. This leads to situations where the network queue parameters are insufficient to maintain normal business operations, resulting in network processing bottlenecks, packet loss, and other issues that affect service quality.

[0031] This disclosure provides a method for adjusting network queue parameters, used to control and adjust network queue parameters in a target device.

[0032] A network queue is used to buffer network packets. It can be of various specific types, such as process (application) socket receive queue, system ARP queue, IP fragmentation reassembly queue, network card driver ring buffer, etc.

[0033] In this embodiment of the disclosure, the target device can be a mobile phone, tablet computer or other device that can connect to the network. It can send and receive data (network data packets) and process them through the network. The network data packets can be cached in the network queue of the target device. The network queue parameters are parameters used to set the network queue, such as network queue length, exception handling method, etc.

[0034] Referring to FIG1, the method for adjusting network queue parameters according to an embodiment of the present disclosure includes the following steps S101 to S103.

[0035] In step S101, network queue load data of the target device is obtained.

[0036] Network queue load data characterizes the load status of network queues in network devices.

[0037] In step S102, network pressure is determined based on network queue load data.

[0038] In step S103, the network queue parameters of the target device are adjusted according to the network pressure.

[0039] In this embodiment of the disclosure, data on the load status of the target device's network queue (i.e., network queue load data) is acquired in real time (e.g., monitored), such as the arrival rate of network packets in the network queue, the network queue length, and the continuous percentage of queue pressure. Based on the network queue load data, an indicator characterizing the current network load status of the target device (i.e., network stress) can be calculated. Based on the network stress, the network queue parameters of the target device can be adjusted so that the network queue operating according to the adjusted network queue parameters can meet the needs of the current network load status.

[0040] In this embodiment of the disclosure, there are various specific methods for obtaining network pressure based on network queue load data.

[0041] For example, network pressure can be obtained from network queue load data through a preset stress assessment model. The stress assessment model can comprehensively consider network queue load data such as the arrival rate of network packets within a certain period of time, the number of times / duration of the queue being under pressure, and the number of times / duration of the queue being in an overflow state. Based on the preset weight values ​​for each data point, the network pressure is calculated through weighted averaging or other methods (for example, values ​​between 0 and 100, with higher values ​​indicating higher load).

[0042] In this embodiment of the disclosure, there are various ways to adjust the network queue parameters of the target device.

[0043] For example, when network pressure indicates that the network queue resources are overloaded, the network queue length can be increased, thereby allowing more network packets to be cached in the network queue and avoiding packet loss; or, when network pressure indicates that the network queue resources are surplus, the network queue length can be decreased, thereby preventing the network queue from occupying cached resources that are not actually used.

[0044] In this embodiment, network pressure can be calculated based on specific network queue load data in the target device. Then, network queue parameters are adjusted according to the network pressure. This allows for automatic, efficient, and real-time adjustment of network queue parameters without manual intervention, adapting them to demand. It enables rapid response to sudden network performance bottlenecks, achieving quick adjustments, effectively preventing packet loss, and improving service quality. This embodiment has a wide range of applications and can be used in various scenarios (e.g., cloud computing environments, IoT applications, mobile communication networks, etc.), ensuring the stable operation of various applications.

[0045] In some embodiments, adjusting the network queue parameters of the target device according to network pressure (i.e., step S103) includes step S103A.

[0046] In step S103A, the system-level network queue parameters and / or process-level network queue parameters of the target device are adjusted according to the network pressure.

[0047] According to embodiments of this disclosure, adjusting network queue parameters can be done by adjusting the network queue parameters of the overall operating system of the target device (i.e., system-level network queue parameters) or by adjusting network queue parameters related to a specific process (i.e., process-level network queue parameters).

[0048] For example, the cause of the current network pressure can be further analyzed. If the network pressure is caused by the target device as a whole, the system-level network queue parameters can be adjusted by modifying the specified / proc parameters. If the network pressure is caused by a specific process (application), the process can be notified to actively modify its corresponding network queue parameters (i.e., process-level network queue parameters) through signals, shared memory, etc.

[0049] Therefore, the embodiments of this disclosure can adapt to various different situations. When the application scenario changes, the system-level network queue parameters can be adjusted to improve the overall resource management and response capabilities of the target device. For different running applications, the specific needs of different applications can be met through refined process-level network queue parameters to improve the resource utilization efficiency and performance of the applications.

[0050] In some embodiments, referring to FIG2, adjusting the network queue parameters of the target device according to network pressure (S103) includes steps S103B1 to S103B2.

[0051] In step S103B1, the adjustment factor is determined based on the network pressure.

[0052] The adjustment factor represents the ratio of the adjustment value of the network queue parameters to the original value of the network queue parameters.

[0053] In step S103B2, the network queue parameters of the target device are adjusted according to the adjustment factor.

[0054] According to embodiments of this disclosure, an "adjustment factor" can be calculated in a predetermined manner based on network pressure. The adjustment factor represents the specific "proportion" by which the current network queue parameters should be adjusted (e.g., increasing the network queue length by 10%), thereby allowing the network queue parameters to be adjusted accordingly based on the adjustment factor.

[0055] In this embodiment of the disclosure, there are various ways to obtain the adjustment factor based on network pressure.

[0056] For example, adjustment factors can be obtained based on network pressure mapping through a preset mapping function (e.g., linear mapping, logarithmic transformation, sigmoid transformation, etc.).

[0057] It should be understood that the embodiments disclosed herein are not limited to the specific methods described above. For example, the specific values ​​of the adjusted network queue parameters can also be calculated directly based on network pressure.

[0058] In some embodiments, referring to FIG2, determining the adjustment factor based on network pressure (i.e., step S103B1) includes steps S103B11 to S103B12.

[0059] In step S103B11, the initial adjustment factor is obtained based on the network pressure mapping.

[0060] In step S103B12, the initial adjustment factor is smoothed according to the historical adjustment factor information to obtain the adjustment factor.

[0061] Historical adjustment factor information includes multiple previously used adjustment factors.

[0062] After adjusting the network queue parameters of the target device according to the adjustment factor (i.e., step S103B2), step S103B3 is also included.

[0063] In step S103B3, the adjustment factor is recorded in the historical adjustment factor information.

[0064] According to embodiments of this disclosure, the adjustment factor used each time can be recorded in historical adjustment factor information. Accordingly, when calculating the adjustment factor, an initial adjustment factor can be directly calculated based on network pressure, and then smoothed based on historical adjustment factor information to obtain the final adjustment factor used (and recorded).

[0065] According to embodiments of this disclosure, an initial adjustment factor can be obtained based on a network pressure "mapping". For example, the initial adjustment factor can be obtained by performing a linear mapping, logarithmic transformation, sigmoid transformation, etc., based on the network pressure.

[0066] The purpose of smoothing is to make the adjustment factor obtained in this calculation as close as possible to the adjustment factors used in previous calculations (i.e., to make the curve as smooth as possible), thereby preventing drastic fluctuations in the adjustment factor and avoiding drastic fluctuations in network performance due to excessive adjustment of network queue parameters.

[0067] In some embodiments, the historical adjustment factor information also includes the network performance change corresponding to the adjustment factor. The network performance change corresponding to the adjustment factor characterizes the amount of change in the network performance of the target device relative to the state before the adjustment, after the network queue parameters of the target device are adjusted according to the adjustment factor.

[0068] Referring to Figure 2, recording the adjustment factor in the historical adjustment factor information (i.e., step S103B3) includes step S103B31.

[0069] In step S103B31, the current network performance of the target device is obtained, and the network performance change corresponding to the adjustment factor is determined based on the current network performance and the network performance of the target device before adjustment. The adjustment factor and the corresponding network performance change are recorded in the historical adjustment factor information.

[0070] According to the embodiments of this disclosure, before and after each adjustment using the adjustment factor, the overall network performance of the target device can be recorded, and the change in network performance after adjustment relative to the network performance before adjustment (i.e., network performance change) can be calculated. The network performance change and the adjustment factor are recorded together in the historical adjustment factor information. Thus, in the process of smoothing the initial adjustment factor, in addition to referring to the adjustment factor, the network performance change corresponding to the adjustment factor is also referenced, thereby obtaining an adjustment factor with better smoothing effect.

[0071] Network performance is a performance indicator that represents the overall network status of a target device. It can be derived by comprehensively considering indicators such as packet loss rate, throughput, and latency (e.g., weighted average).

[0072] In this embodiment of the disclosure, there are various specific methods for performing smoothing.

[0073] For example, the adjustment factor (and the corresponding network performance changes) can be analyzed according to the time sequence of usage to establish a model of the adjustment factor changing over time. Then, the smoothed adjustment factor can be predicted based on the historically used adjustment factor (and the corresponding network performance changes) and the initial adjustment factor.

[0074] In some embodiments, referring to FIG2, determining network pressure based on network queue load data (i.e., step S101) includes step S101A.

[0075] In step S101A, in response to the network queue load data meeting a preset first condition, the network pressure is determined based on the network queue load data.

[0076] According to embodiments of this disclosure, network pressure can be calculated only when the network queue load data meets a preset first condition, thereby reducing unnecessary computation. The first condition indicates that the network queue resources are highly likely to be overloaded or excessive, for example, network queue pressure and / or network queue overflow occurs more than a predetermined number of times within a time period.

[0077] For example, the socket receive queue of an application can be monitored. When the network queue usage exceeds a preset threshold (e.g., 90%), a queue pressure is recorded. When the network queue usage exceeds 100%, a queue overflow is recorded. If queue pressure and / or queue overflow occur consecutively within a preset period (e.g., the number of times exceeds the preset threshold), network pressure calculation begins.

[0078] In some embodiments, referring to FIG2, adjusting the network queue parameters of the target device according to network pressure (i.e., step S102) includes step S102A.

[0079] In step S102A, in response to the network pressure meeting a preset second condition, the network queue parameters of the target device are adjusted according to the network pressure.

[0080] According to embodiments of this disclosure, when network pressure needs to be calculated, the network queue parameters of the target device can be adjusted only if the calculated network pressure meets a preset second condition (e.g., an adjustment factor is calculated and the network queue parameters are adjusted according to the adjustment factor), thereby avoiding excessively frequent adjustments to the network queue parameters. The second condition indicates whether the network load is very high or very low; for example, the network pressure exceeds a preset threshold or is less than another preset threshold.

[0081] Referring to FIG3, an embodiment of the present disclosure provides a device for adjusting network queue parameters, which includes a memory and a processor; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements any of the methods for adjusting network queue parameters according to the embodiments of the present disclosure.

[0082] Referring to FIG4, this disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements a method for adjusting network queue parameters according to any of the embodiments of this disclosure.

[0083] Referring to FIG5, an embodiment of this disclosure provides a computer program product, which includes a computer program that, when executed by a processor, implements a method for adjusting network queue parameters according to any embodiment of this disclosure.

[0084] A processor is a device with data processing capabilities, including but not limited to a central processing unit (CPU); a memory is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); an I / O interface (read / write interface) connects the processor and the memory, enabling information exchange between the memory and the processor, including but not limited to a data bus (Bus).

[0085] The following is an exemplary description of a method for adjusting network queue parameters according to an embodiment of this disclosure.

[0086] Referring to FIG5, the method for adjusting network queue parameters in this embodiment of the present disclosure can be executed by a device for adjusting network queue parameters, the device including a stress monitoring module A100, a network queue tuning module A110, and a performance feedback module A120.

[0087] In this embodiment of the disclosure, the pressure monitoring module A100 is used to monitor the load of the network queue in the device system in real time, periodically acquire and record relevant data (i.e., network queue load data), and when it is determined that the network queue resources are overloaded or excessive, calculate the network pressure, notify and trigger the network queue tuning module A110.

[0088] Referring to Figure 5, the pressure monitoring module A100 in this embodiment may include a status recording unit A101 and a pressure assessment unit A102. The status recording unit A101 is used to provide a data basis to the pressure assessment unit A102; the pressure assessment unit A102 is used to calculate the network pressure based on the received data, and to perform the operation of notifying the network queue tuning module A110 according to a specific state or state change.

[0089] For example, the status recording unit A101 can insert monitoring points into the kernel protocol stack message queuing process. The monitoring points periodically collect and analyze basic indicators such as the arrival rate of network packets and the percentage of network queue usage. At the same time, the pressure monitoring threshold interface (e.g., / proc interface) is exposed to the user, and the user can flexibly configure the sensitivity of network pressure according to the business situation.

[0090] For example, in an embodiment, a user can configure the usage threshold of a certain application's socket receive network queue to be 90%. Thus, within a specified period, the monitoring point is responsible for recording and judging at the packet queuing point: when the network queue usage exceeds the threshold (90%), a network queue pressure is recorded; when the network queue usage exceeds 100%, a network queue overflow is recorded; if network queue pressure and / or network queue overflow occur continuously within a period of time (i.e., the first condition is met), the count of the network queue continuously being in a pressure state and / or overflow state is updated. When the period ends, the number of network packets arriving within the period is updated, and the above data is sent to the pressure assessment unit A102 in the form of parameter transmission to trigger the assessment unit A102 to calculate the network pressure based on the data.

[0091] For example, the stress assessment unit A102 can calculate the current network stress based on the above data according to the preset stress assessment model, and send a network queue optimization signal to the network queue optimization module A110 when the network stress deviates from the normal fluctuation range (i.e., meets the second condition).

[0092] The stress assessment model can comprehensively consider multiple influencing factors such as the arrival rate of network packets within a period, the number of times / duration of the network queue being under stress, and the number of times / duration of the network queue being in an overflow state (i.e., network queue load data).

[0093] For example, in an embodiment, the stress assessment model may be a weighted average model, which calculates network stress according to the following formula:

[0094] Where stress represents network pressure, n is the number of influence factors, ci is the normalized value of the i-th influence factor (ranging from 0 to 1), and wi is the weight value of the i-th influence factor, with each wi ranging from 0 to 100. That is, the sum of the weight values ​​is 100, and thus the network pressure between 0 and 100 can be calculated.

[0095] When assigning weight values ​​to each influencing factor, a rule-based approach can be used to adjust the weight values ​​of factors such as network queue overflow factor and network queue pressure factor based on factors such as packet arrival rate and service type within a period; alternatively, a statistical learning-based approach can be used to train the optimal combination of weight values ​​through supervised learning.

[0096] Once the network pressure calculation is complete, the status of the network queue can be assessed based on the calculated network pressure.

[0097] For example, when the network pressure is in the range of 0 to 20, it can be considered that the network queue resources are excessive, and the network queue shrinking strategy should be triggered (i.e., adjusting the network queue parameters to shrink the network queue); when the network pressure is in the range of 60 to 100, it can be considered that the network queue resources are overloaded (high pressure), and the network queue expanding strategy should be triggered (i.e., adjusting the network queue parameters to increase the network queue), and an optimization request should be actively sent to the network queue optimization module A110; when the network pressure is in the range of 20 to 60, it can be considered that the network queue resources are used appropriately and no adjustment is required (i.e., the second condition is not met).

[0098] In this embodiment of the disclosure, the network queue tuning module A110 is used to calculate the adjustment factor based on the network pressure (carried in the tuning request) from the pressure monitoring module A100, and to perform the adjustment and configuration of the network queue parameters based on the adjustment factor.

[0099] Referring to Figure 5, the network queue optimization module A110 in this embodiment includes a parameter calculation unit A111 and a parameter configuration unit A112. The parameter calculation unit A111 provides optimization decisions based on data analysis; the parameter configuration unit A112 is responsible for converting these decisions into actual network queue parameter adjustments.

[0100] For example, the parameter calculation unit A111 receives an optimization request from the stress monitoring module A100, determines the current optimization strategy (reducing or expanding the network queue strategy) based on the network pressure carried therein, calculates the initial adjustment factor, and simultaneously considers the adjustment factors used in each previous optimization, the network performance changes after adjustment (i.e., network performance changes), and other records (i.e., historical adjustment factor information) to smooth the initial adjustment factor and obtain the final adjustment factor used.

[0101] For example, in one embodiment, the initial adjustment factor can be obtained by mapping network stress, such as using linear mapping, logarithmic transformation, sigmoid transformation, etc. When smoothing the initial adjustment factor, a model of the adjustment factor changing over time can be established using time series analysis methods. Then, the smoothed adjustment factor value is predicted based on historical data and influencing factors, and recorded for subsequent configuration operations by the parameter configuration unit A112.

[0102] For example, the parameter configuration unit A112 is used to maintain and adjust all network queue parameters, specifically including system-level network queue parameters and / or process-level network queue parameters. First, it obtains the current system-level network queue parameters and / or process-level network queue parameters, along with the adjustment factor given by the parameter calculation unit A111, to calculate the optimized system-level network queue parameters and / or process-level network queue parameters (e.g., network queue length). Then, it performs parameter configuration within the system's allowed configuration range. The parameter configuration unit A112 is also used to verify whether the configuration is effective, including verifying whether the configured parameters meet process resource limits and system global resource limits. If the configuration fails, it may be because the parameter adjustment has exceeded the adjustment range, thus requiring the failure information to be fed back to the parameter calculation unit A111 for adaptive adjustments.

[0103] For example, in this embodiment, system-level network queue parameters can be adjusted by modifying a specified / proc parameter; for process-level network queue parameters, the process can be notified to actively modify the corresponding network queue parameters through signals, shared memory, or other means.

[0104] In this embodiment of the disclosure, the performance feedback module A120 is used to evaluate the performance changes of the network before and after the adjustment (i.e., network performance changes) and feed back the smoothing message to the network queue tuning module A110, so that the network queue tuning module A110 can smooth the initial adjustment factor to ensure the stability and performance of the system.

[0105] In this embodiment of the disclosure, referring to FIG5, the performance feedback module A120 includes a performance evaluation unit A121 and a tuning history record unit A122, which together complete a comprehensive evaluation of network performance. The performance evaluation unit A121 provides real-time feedback on network performance, and the tuning history record unit A122 records the changes in network performance before and after tuning, so as to adjust the optimization strategy of the network queue (i.e., the smoothing process).

[0106] For example, after the parameter configuration unit A112 completes the configuration, the performance evaluation unit A121 uses relevant tools to monitor the network performance of the operating system, or the process actively performs network performance testing internally to obtain changes in parameters such as network packet loss rate before and after adjustment.

[0107] For example, in an embodiment, the performance evaluation unit A121 may use tools such as iperf, iftop, and traceroute to obtain network performance.

[0108] The performance evaluation unit A121 can be used primarily in two scenarios. The first scenario is the development phase, where the performance evaluation unit A121 monitors the overall network metrics such as packet loss rate, throughput, and latency. Under relatively stable basic business scenarios, it comprehensively evaluates network performance and obtains stable values ​​for optimal network queue parameters through repeated tuning processes. The second scenario is the routine deployment phase, where the evaluation unit A121 focuses on evaluating the network's packet loss rate to anticipate and dynamically adjust for sudden pressure scenarios, preventing packet loss from occurring.

[0109] For example, the tuning history unit A122 records the network performance of the system after parameter adjustment and compares it with the network performance before tuning to determine the change in network performance.

[0110] For example, in this embodiment, after the parameter adjustment is completed, the optimization history unit A122 can record the network performance at different time points and draw a historical curve of network performance changes based on this data to help analyze the effect of parameter adjustment, so as to adjust the optimization strategy of the optimization algorithm according to the characteristics of historical data, and feed the message back to the network queue optimization module A110.

[0111] For example, referring to FIG6, the method for adjusting network queue parameters according to embodiments of the present disclosure may include the following steps B210 to B240.

[0112] In step B210, start the pressure monitoring module, network queue optimization module, and performance feedback module, and ensure that the inter-module collaborative operation is normal.

[0113] In step B220, the pressure monitoring module periodically monitors the operating status of the network queue and calculates the network pressure. When the network pressure exceeds the normal fluctuation range, the network queue optimization module is triggered to perform optimization.

[0114] In step B230, the network queue tuning module calculates the initial adjustment factor based on the stress monitoring data, and smooths the initial adjustment factor by comprehensively considering records such as network performance changes and stress changes. The network queue tuning is then performed based on the smoothed adjustment factor, and the results are monitored.

[0115] In step B240, the performance feedback module evaluates the changes in network performance before and after parameter adjustment, records the parameter adjustment history, and sets a minimum adjustment interval to guide and coordinate a smooth tuning process.

[0116] For example, referring to FIG6, this embodiment takes adjusting the process-level socket receive buffer as an example to describe in detail the method for adjusting network queue parameters of this disclosure embodiment, which may include the following steps one to four.

[0117] In step one, the upper-layer business process is started, and the various resources of the network queue optimization device are initialized, including stress monitoring data (network packet arrival rate within a period, number of times / duration of network queue under stress, number of times / duration of network queue in overflow state), network queue adjustment factor, stress assessment model parameters, etc.

[0118] In step two, by adding a monitoring point to the socket packet receiving process of the kernel protocol stack transport layer, the real-time network queue usage percentage of the service process (e.g., a specific socket) is collected during normal service operation. When the network queue usage percentage exceeds the user-configured threshold, a network queue pressure status is recorded. If the network queue usage percentage exceeds the threshold consecutively, the count of the network queue continuously under pressure is recorded and updated. When the network queue usage percentage exceeds the current system / process configured limit, a network queue overflow status is recorded. If the network queue usage percentage exceeds the limit consecutively, the count of the network queue continuously overflowing is updated. Subsequently, the network pressure of the current network queue is periodically evaluated, and key influencing factors are normalized. The network pressure is obtained by using a weighted average sum of the above influencing factors.

[0119] In step three, the network queue adjustment factor is calculated by assessing the network pressure status. Simultaneously, considering network performance metrics and pressure changes, the factor is smoothed to calculate the adjusted network queue parameter size. An adjustment signal is sent to notify the process to use `setsockopt()` to adjust the `SO_RCVBUF` receive buffer parameters. The configuration is then checked to verify its effectiveness. If the configuration fails, it indicates that the current matching exceeds the adjustment range, and the tuning factor needs to be recalculated for adaptive adjustments.

[0120] In step four, after parameter adjustments, relevant monitoring tools are used to monitor network performance metrics such as packet loss rate during process execution. Simultaneously, the network queue pressure is reassessed using the network pressure calculation method from step two, and the changes in network pressure before and after adjustments are recorded. If the pressure is alleviated, the tuning factor is decreased; if the pressure is not alleviated, the tuning factor is increased. The network performance metrics and historical network pressure information are fed back into the tuning factor calculation model in step three to guide the calculation of the tuning factor in step three.

[0121] For example, referring to FIG6, the process of calculating the adjustment factor in the embodiments of this disclosure may include the following steps C310 to C340.

[0122] In step C310, a stress assessment factor (i.e., an influencing factor) is defined, and this data is monitored periodically, such as the network packet arrival rate, the number of times / duration the network queue is under stress, and the number of times / duration the network queue is in an overflow state within a period.

[0123] In step C320, the stress assessment model is trained by inputting stress assessment factors and outputting network stress.

[0124] In step C330, intelligent tuning is achieved based on pressure perception and performance feedback. The tuning calculation model is trained, the network pressure of the network queue is input, the expansion factor or contraction factor of the network queue tuning is obtained, and the parameter values ​​of the network queue after tuning are output.

[0125] In step C340, after the optimization is completed, the optimization factor is further smoothed based on the network performance feedback results before and after the adjustment.

[0126] In the specific implementation of this algorithm, the stress assessment model and optimization calculation model are implemented using, but are not limited to, rule-based methods and machine learning methods. Those skilled in the art can make appropriate selections based on the specific circumstances.

[0127] Those skilled in the art will understand that all or some of the steps, systems, and devices disclosed above, as functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0128] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.

[0129] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only optical disc (CD-ROM), digital versatile disc (DVD) or other optical disc storage; magnetic cartridges, magnetic tapes, disk storage or other magnetic storage; and any other media that can be used to store desired information and can be accessed by a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0130] This disclosure has disclosed exemplary embodiments, and although specific terminology has been used, it is for general illustrative purposes only and should not be construed as limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in connection with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in connection with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.

Claims

1. A method for adjusting network queue parameters, comprising: Obtain network queue load data of the target device, wherein the network queue load data characterizes the load status of the network queue in the network device, and the network queue is used to cache network data packets; Determine network pressure based on the network queue load data; Adjust the network queue parameters of the target device according to the network pressure.

2. The method according to claim 1, wherein, Adjusting the network queue parameters of the target device based on the network pressure includes: Adjust the system-level network queue parameters and / or process-level network queue parameters of the target device according to the network pressure.

3. The method according to claim 1, wherein, Adjusting the network queue parameters of the target device based on the network pressure includes: An adjustment factor is determined based on the network pressure, wherein the adjustment factor represents the ratio of the adjustment value of the network queue parameter to the original value of the network queue parameter; Adjust the network queue parameters of the target device according to the adjustment factor.

4. The method according to claim 3, wherein, Determining the adjustment factor based on the network pressure includes: The initial adjustment factor is obtained based on the network pressure mapping. The initial adjustment factor is smoothed based on historical adjustment factor information to obtain the adjusted factor, wherein the historical adjustment factor information includes multiple previously used adjustment factors. After adjusting the network queue parameters of the target device according to the adjustment factor, the method further includes: The adjustment factor is recorded in the historical adjustment factor information.

5. The method according to claim 4, wherein, The historical adjustment factor information also includes the network performance changes corresponding to the adjustment factors. These network performance changes represent the amount of change in the network performance of the target device relative to its pre-adjustment state after adjusting the network queue parameters of the target device according to the adjustment factors. Recording the adjustment factor in the historical adjustment factor information includes: Obtain the current network performance of the target device, determine the network performance change corresponding to the adjustment factor based on the current network performance and the network performance of the target device before adjustment, and record the adjustment factor and the corresponding network performance change in the historical adjustment factor information.

6. The method according to claim 1, wherein, Determining network pressure based on the network queue load data includes: In response to the network queue load data meeting a preset first condition, the network pressure is determined based on the network queue load data.

7. The method according to claim 1, wherein, Adjusting the network queue parameters of the target device based on the network pressure includes: In response to the network pressure meeting a preset second condition, the network queue parameters of the target device are adjusted according to the network pressure.

8. An apparatus for adjusting network queue parameters, comprising a memory and a processor, the memory storing a computer program executable by the processor, the computer program, when executed by the processor, implementing the method for adjusting network queue parameters according to any one of claims 1 to 7.

9. A computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the method for adjusting network queue parameters according to any one of claims 1 to 7.

10. A computer program product comprising a computer program that, when executed by a processor, implements the method for adjusting network queue parameters according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Router queue control system based on congestion identification and control method thereof

    CN101997776A

  • TCP (Transmission Control Protocol) congestion control method based on congestion queue length

    CN106027412A

  • Buffer sizing for multi-hop networks

    US20140140209A1

  • End-to-end quality of service optimization and reporting

    US20140355439A1

  • Capacity management based on backlog information

    US20150222560A1