Bandwidth allocation method and apparatus, electronic device, and computer-readable storage medium
By combining real-time speed test bandwidth, historical maximum bandwidth, and real-time remaining bandwidth to determine the bandwidth budget, and allocating bandwidth according to business priority, the problem of high-priority business lag caused by limited bandwidth resources has been solved, achieving more reasonable bandwidth allocation and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN TCL NEW-TECH CO LTD
- Filing Date
- 2026-04-20
- Publication Date
- 2026-07-24
AI Technical Summary
In existing network scenarios, bandwidth resources are limited. High-priority services experience lag and high latency due to low-priority services preempting bandwidth. The current bandwidth allocation lacks rationality, resulting in a decline in user experience.
By combining real-time speed test bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, the bandwidth budget is determined, and the bandwidth allocation is optimized based on business priority to ensure that high-priority services receive more bandwidth.
It achieves reasonable bandwidth allocation based on service priority, with high-priority services receiving more bandwidth and low-priority services experiencing less preemption, thereby improving network resource utilization efficiency and user experience.
Smart Images

Figure CN122457488A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a bandwidth allocation method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] In current network scenarios, user needs are diverse, concurrency is high, and bandwidth resources are limited. During peak network periods, low-priority services (such as large file downloads and background updates) often consume a large amount of bandwidth, causing high-priority services (such as screen mirroring, real-time streaming, conferencing, and gaming) to experience lag and high latency, affecting the core user experience.
[0003] Furthermore, current bandwidth allocation is mainly based on the total bandwidth measured in real time. Static QoS configuration or manual rate limiting is then performed on this total bandwidth, resulting in bandwidth waste and a lack of rational allocation. Summary of the Invention
[0004] This application provides a bandwidth allocation method, apparatus, electronic device, and computer-readable storage medium, which can optimize bandwidth allocation for services and improve the rationality of bandwidth allocation.
[0005] In a first aspect, embodiments of this application provide a bandwidth allocation method, the method comprising: Determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth; Determine the bandwidth allocation based on the service priority corresponding to the target service; The allocated bandwidth for the target service is determined based on the bandwidth percentage and the bandwidth budget.
[0006] Secondly, embodiments of this application also provide a bandwidth allocation device, the device comprising: The budget determination module is used to determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth. The bandwidth allocation determination module is used to determine the bandwidth allocation according to the service priority corresponding to the target service. The bandwidth determination module is used to determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget.
[0007] Optionally, in some embodiments of this application, determining the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth includes: The bandwidth budget is calculated based on the target bandwidth weight, the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth.
[0008] Optionally, in some embodiments of this application, the target bandwidth weight is obtained by adjusting the initial bandwidth weight based on historical feedback information or target time period status information.
[0009] Optionally, in some embodiments of this application, the target bandwidth weight is obtained by using a weight evaluation model based on historical network communication parameters, historical communication experience quality, and target reward strategy. The network communication parameters include at least one of latency, packet loss rate, allocated bandwidth, or historical test bandwidth, and the target reward strategy includes optimizing the target communication experience quality of the target service.
[0010] Optionally, in some embodiments of this application, determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: If the service priority corresponding to the target service only includes that single target service, then the allocated bandwidth for the target service is obtained by multiplying the bandwidth percentage and the bandwidth budget. If the service priority corresponding to the target service also includes multiple other services, then the bandwidth allocation weight corresponding to the target service is calculated based on the bandwidth requirement of the target service and the total bandwidth requirement of each service corresponding to the service priority. A reference bandwidth is calculated based on the bandwidth ratio, the bandwidth budget and the bandwidth allocation weight. The maximum value is selected from the preset minimum bandwidth and the reference bandwidth as the allocated bandwidth.
[0011] Optionally, in some embodiments of this application, after determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget, the method further includes: If the service priority corresponding to the target service is the target priority, and the target communication state is reached after communication based on the allocated bandwidth, then the bandwidth ratio is adjusted according to a preset step size to obtain the target bandwidth ratio. The new allocated bandwidth for the target service is recalculated based on the target bandwidth percentage and the bandwidth budget.
[0012] Optionally, in some embodiments of this application, the method further includes: The bandwidth allocation interface is displayed. The bandwidth allocation interface includes at least one service and the current bandwidth percentage corresponding to each service. The current bandwidth percentage is displayed through a progress bar. In response to the toggle operation of the progress bar for the target service, determine the target bandwidth percentage corresponding to the target service; The step of determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: The allocated bandwidth for the target service is calculated based on the target bandwidth percentage and the bandwidth budget.
[0013] Thirdly, embodiments of this application also provide an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps in the bandwidth allocation method described above.
[0014] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in the bandwidth allocation method described above.
[0015] Fifthly, embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations described in embodiments of this application.
[0016] In summary, the embodiments of this application determine the bandwidth budget based on real-time speed test bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, determine the bandwidth ratio according to the service priority corresponding to the target service, and determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and bandwidth budget.
[0017] In this application embodiment, the bandwidth ratio is determined based on the service priority, and the bandwidth allocation is determined based on the bandwidth ratio. This realizes bandwidth allocation based on service priority, which helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0018] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram illustrating a scenario where a terminal device, as provided in an embodiment of this application, executes the bandwidth allocation method. Figure 2 This is a flowchart illustrating the bandwidth allocation method provided in an embodiment of this application; Figure 3 This is a schematic diagram of the bandwidth allocation device provided in the embodiments of this application; Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application.
[0021] Explanation of icon numbers: 101-Terminal device; 301-Budget determination module; 302-Proportion determination module; 303-Bandwidth determination module; 401-Processor; 402-Memory; 403-Power supply; 404-Input unit. Detailed Implementation
[0022] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0023] In this application, the term "exemplary" is used to mean "serving as an example, illustration, or description." Any embodiment described as "exemplary" in this application is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use the invention. Details are set forth in the following description for purposes of explanation. It should be understood that those skilled in the art will recognize that the invention can be made without using these specific details. In other instances, well-known structures and processes will not be described in detail to avoid obscuring the description of the invention with unnecessary detail. Therefore, the invention is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed in this application.
[0024] This application provides a bandwidth allocation method, apparatus, electronic device, and computer-readable storage medium. Specifically, this application provides a bandwidth allocation apparatus suitable for electronic devices, including terminal devices such as mobile phones, tablets, televisions, desktop computers, in-vehicle devices, or extended reality devices. Extended reality devices include augmented reality (AR), virtual reality (VR), and mixed reality (MR) devices.
[0025] For example, please see Figure 1 , Figure 1 This is a schematic diagram illustrating a scenario where a terminal device, according to an embodiment of this application, executes the bandwidth allocation method. Specifically, the execution process of the bandwidth allocation method by the terminal device is as follows: Terminal device 101 determines the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, determines the bandwidth ratio according to the service priority corresponding to the target service, and determines the allocated bandwidth corresponding to the target service according to the bandwidth ratio and bandwidth budget.
[0026] For example, periodically obtain real-time speed test bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, calculate the bandwidth budget based on the real-time speed test bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, determine the bandwidth ratio corresponding to each service according to the different service priorities of different services, calculate the allocated bandwidth from the bandwidth budget according to the bandwidth ratio, and allocate the allocated bandwidth to the target service.
[0027] In summary, the embodiments of this application determine the bandwidth ratio based on service priority and allocate bandwidth based on the bandwidth ratio, thereby realizing bandwidth allocation based on service priority. This helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0028] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth.
[0029] The following sections provide detailed descriptions of each example. It should be noted that the order in which the embodiments are described is not intended to limit the priority of the embodiments.
[0030] Please see Figure 2 , Figure 2 This is a flowchart illustrating the bandwidth allocation method provided in this application embodiment. Although the flowchart shows a logical order, in some cases, the steps shown or described may be performed in a different order than that shown in the flowchart. Specifically, the specific flow of this bandwidth allocation method is as follows: S201. Determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth.
[0031] The real-time speed test bandwidth is a bandwidth value obtained based on the speed test of the current link, reflecting the throughput capacity of that current link. For example, this real-time speed test bandwidth includes the total bandwidth supported by the router. It can be understood that this real-time speed test bandwidth provides an upper limit reference for bandwidth budgeting.
[0032] Among them, the historical maximum bandwidth refers to the maximum bandwidth actually used in a historical period (such as the previous period, the previous month, the previous year, etc.), and the historical maximum bandwidth is less than or equal to the real-time speed measurement bandwidth.
[0033] The real-time remaining bandwidth is the bandwidth remaining during the current usage. For example, if the total bandwidth of the router is 100Mbps, and there is a download task in the background that uses 90Mbps in a certain speed test period, then the real-time remaining bandwidth is 10Mbps.
[0034] It is understandable that bandwidth allocation is not limited to real-time remaining bandwidth; already allocated bandwidth can be aggregated and redistributed. For example, as mentioned above, bandwidth allocation is not limited to 10Mbps, but can also be based on the router's supported real-time speed test bandwidth (100Mbps).
[0035] It should be noted that when allocating bandwidth, it is not always better to allocate a larger base bandwidth. For example, when allocating based on real-time speed measurement bandwidth, there is bandwidth waste and it is difficult to cope with sudden network bandwidth demands. Therefore, in this embodiment of the application, the bandwidth budget is determined by combining the historical maximum bandwidth, which helps to improve the rationality of bandwidth allocation.
[0036] S202. Determine the bandwidth ratio according to the service priority corresponding to the target service.
[0037] For example, bandwidth proportions can be allocated according to the priority of services. High-priority services have a higher bandwidth proportion, for example, the bandwidth proportion of high-priority services may include, but is not limited to, 0.7~0.9, while low-priority services have a lower bandwidth proportion, for example, the bandwidth proportion of low-priority services may include, but is not limited to, 0.1~0.3.
[0038] Business priorities can be categorized based on whitelists, front-end / back-end applications, download / synchronization services, etc. For example, whitelists and front-end applications can be classified as high-priority services, back-end applications, download services, and data synchronization services as low-priority services, while other types of services can be classified as medium-priority services.
[0039] In this application embodiment, service priority can also be distinguished based on protocol characteristics. For example, RTSP / RTMP is commonly used for live streaming and is marked as high priority; WebRTC is commonly used for video conferencing and is marked as high priority; HTTP is used for large file downloads and is marked as low priority.
[0040] Service priority can also be determined based on data packet size and frequency. For example, small packets with high frequency (such as command sending and game interaction) are marked with high priority; large packets with low frequency (such as file services) are marked with low priority.
[0041] Alternatively, business priorities can be determined based on business behavior patterns. For example, by combining historical data, it can be determined whether an app is typically a high-priority business during the current time period (e.g., a video app is used more frequently in the evening, so its priority should be increased).
[0042] Alternatively, business priorities can be determined based on user interaction behavior. For example, if it is an input event (touch screen operation frequency), it can be configured as high interaction and high priority.
[0043] Alternatively, service priorities can be based on Quality of Experience (QoE) metrics, such as real-time monitoring of video buffering rate, frame drop rate, and audio / video synchronization deviation—indicators that directly reflect user experience. If QoE decreases, the priority of that service is increased.
[0044] Alternatively, business priorities can be based on AI scene recognition, such as automatically determining the application type through window image recognition.
[0045] Understandably, determining the bandwidth allocation for target services based on their priority helps to distribute bandwidth resources more rationally. When a target service is high-priority, more bandwidth resources can be allocated; conversely, when a target service is low-priority, less bandwidth resources are allocated to avoid consuming excessive bandwidth and impacting the processing of high-priority core services.
[0046] S203. Determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget.
[0047] For example, bandwidth is allocated from the bandwidth budget based on the bandwidth percentage to the target service. This allocation could be obtained by multiplying the bandwidth percentage by the bandwidth budget. It's understood that allocated bandwidth refers to the bandwidth that needs to be allocated to the target service.
[0048] In summary, the embodiments of this application determine the bandwidth ratio based on service priority and allocate bandwidth based on the bandwidth ratio, thereby realizing bandwidth allocation based on service priority. This helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0049] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth.
[0050] In this embodiment of the application, the bandwidth budget corresponding to the real-time speed test bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth can be calculated in a weighted manner. That is, optionally, in some embodiments of this application, the step "determine the bandwidth budget based on the real-time speed test bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth" includes: The bandwidth budget is calculated based on the target bandwidth weight, the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth.
[0051] The target bandwidth weight is a weighted fusion of the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth. Each of these three factors corresponds to a weight. For example, the target bandwidth weight includes the first weight β1 of the real-time speed measurement bandwidth, the second weight β2 of the historical maximum bandwidth, and the third weight β3 of the real-time remaining bandwidth. The sum of these three weights is 1, that is, β1 + β2 + β3 = 1. For example, the specific values of the target bandwidth weight are: β1 = 0.5, β2 = 0.3, and β3 = 0.2.
[0052] It is understandable that weighting the three factors according to the target bandwidth weight allows the bandwidth budget to comprehensively consider all three factors and to have different priorities for different bandwidths, thereby improving the rationality of the bandwidth budget.
[0053] In this embodiment of the application, the target bandwidth weight can be obtained by adjusting the initial bandwidth weight based on historical feedback information or target time period status information.
[0054] For example, dynamic adjustments to the initial bandwidth weights based on historical feedback (including information on lag or stability) include: recording the most recent bandwidth allocation results and actual service performance (latency, packet loss, user experience). If high-priority services still experience lag under the current weight combination (initial bandwidth weights), then increase β1 (speed test result weight) or β3 (real-time available bandwidth weight). If speed test fluctuations are large but services are stable, then increase β2 (historical bandwidth weight).
[0055] For example, time-based optimization: different weights are applied to different time periods. For instance, β3 (real-time available bandwidth weight) is increased during peak network usage, while β2 (historical bandwidth weight) is increased during off-peak network usage to ensure stable allocation.
[0056] In this embodiment of the application, a machine learning model or a deep learning model can also be used to output a suitable target bandwidth weight. For example, the target bandwidth weight is obtained by using a weight evaluation model based on network communication parameters of historical periods, historical communication experience quality and target reward strategy. The network communication parameters include at least one of latency, packet loss rate, allocated bandwidth or historical test bandwidth, and the target reward strategy includes optimizing the target communication experience quality of the target service.
[0057] The weighted evaluation model is trained based on network communication parameters and communication experience quality (QoE) of historical periods. During training or learning iterations, the reward objective is to achieve higher communication experience quality for high-quality services. For example, the higher the QoE of high-quality services, the greater the reward, while the reward for lag or packet loss is lower.
[0058] It is understood that a service with the same service priority can include multiple services. When there are multiple active tasks belonging to the same service priority, bandwidth can be allocated in a weighted manner according to bandwidth requirements for these services. That is, optionally, in some embodiments of this application, the step "determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget" includes: If the service priority corresponding to the target service only includes that single target service, then the allocated bandwidth for the target service is obtained by multiplying the bandwidth percentage and the bandwidth budget. If the service priority corresponding to the target service also includes multiple other services, then the bandwidth allocation weight corresponding to the target service is calculated based on the bandwidth requirement of the target service and the total bandwidth requirement of each service corresponding to the service priority. A reference bandwidth is calculated based on the bandwidth ratio, the bandwidth budget and the bandwidth allocation weight. The maximum value is selected from the preset minimum bandwidth and the reference bandwidth as the allocated bandwidth.
[0059] For example, if the service priority corresponding to the target service only includes that single target service, then all the allocated bandwidth occupied by that service priority can be directly used as the available bandwidth for that target service, that is, all the allocated bandwidth of that service priority can be allocated to that target service.
[0060] For example, when the service priority corresponding to the target service includes multiple services, that is, other services in addition to the target service, the actual bandwidth that the target service can be allocated from the allocated bandwidth corresponding to the service priority is determined according to the bandwidth demand ratio of the target service. In other words, the actual bandwidth that can be used for the target service is allocated from the allocated bandwidth.
[0061] For example, the actual bandwidth allocated to the target service is obtained by multiplying the bandwidth allocation weight, bandwidth percentage, and bandwidth budget. In this embodiment, to ensure the smooth processing of the target service, a minimum bandwidth value is also set for the target service to ensure that the target service has a guaranteed bandwidth available. That is, the maximum value is selected from the preset minimum bandwidth and the reference bandwidth as the allocated bandwidth.
[0062] The bandwidth requirement refers to the bandwidth resources needed by the target service. This bandwidth requirement can be calculated based on the bandwidth traffic of the target service in historical periods. For example, the number of uplink bytes and download bytes of the target service can be counted periodically. The uplink rate can be obtained by dividing the number of uplink bytes by the period, and the download rate can be obtained by dividing the number of download bytes by the period. The uplink rate and download rate of multiple periods can be smoothed to obtain the bandwidth requirement of the target service.
[0063] In this embodiment of the application, if the target service is a high-priority service and there is still a significant delay / packet loss after communication according to the allocated bandwidth, the bandwidth ratio is increased by a set step size to increase the total bandwidth allocated to the high-priority service. That is, optionally, in some embodiments of this application, after the step "determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget", the method further includes: If the service priority corresponding to the target service is the target priority, and the target communication state is reached after communication based on the allocated bandwidth, then the bandwidth ratio is adjusted according to a preset step size to obtain the target bandwidth ratio. The new allocated bandwidth for the target service is recalculated based on the target bandwidth percentage and the bandwidth budget.
[0064] For example, target priority refers to high priority, and target communication status refers to a poor communication quality state, such as latency or packet loss exceeding a threshold. In this case, the bandwidth allocation is increased according to a preset step size to increase the bandwidth resources available for high-priority services.
[0065] The preset step size can be set as a percentage of the bandwidth. For example, the preset step size can be set to 10% of the bandwidth. If the latency / packet loss exceeds the threshold continuously as the cycle progresses, the preset step size will be increased; otherwise, the preset step size will be decreased.
[0066] Understandably, in some scenarios, the target service may also be a low-priority service. Correspondingly, the target communication status may include latency or packet loss below a threshold (reflecting the low-priority service processing flow and good communication quality). In this case, when high-priority services experience latency or packet loss, the bandwidth ratio corresponding to low-priority services can be reduced according to a preset step size.
[0067] Understandably, after determining the bandwidth allocation based on service priority and allocating bandwidth to the target service based on the difference in the number of services with the same service priority, the bandwidth allocation is continuously optimized based on the communication status of the target service and a preset step size to ensure that high-priority services can be allocated enough bandwidth resources, thereby further improving the rationality of bandwidth allocation.
[0068] In this application embodiment, a user interface can also be provided, through which users can directly operate to allocate bandwidth for various services. That is, optionally, in some embodiments of this application, the method further includes: The bandwidth allocation interface is displayed. The bandwidth allocation interface includes at least one service and the current bandwidth percentage corresponding to each service. The current bandwidth percentage is displayed through a progress bar. In response to the toggle operation of the progress bar for the target service, determine the target bandwidth percentage corresponding to the target service; The step of determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: The allocated bandwidth for the target service is calculated based on the target bandwidth percentage and the bandwidth budget.
[0069] For example, after a user operates a terminal device to display a bandwidth allocation interface, the user can adjust the target bandwidth ratio corresponding to the target service by moving the progress bar in the bandwidth allocation interface. Then, the allocated bandwidth corresponding to the target service can be determined directly by combining the target bandwidth ratio with the bandwidth budget.
[0070] Understandably, this method can meet users' real-time needs, allowing them to easily and directly control the allocation of bandwidth and invest more bandwidth resources in the target services they expect.
[0071] Understandably, the initial progress bar for each service can be determined based on the service priority, serving as the base bandwidth percentage before user adjustments.
[0072] In summary, the embodiments of this application determine the bandwidth ratio based on service priority and allocate bandwidth based on the bandwidth ratio, thereby realizing bandwidth allocation based on service priority. This helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0073] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth.
[0074] Furthermore, for multiple services under the same service priority, a portion of the corresponding bandwidth within that service priority is allocated based on the bandwidth demand ratio of each service, further improving the rationality of bandwidth allocation.
[0075] Furthermore, after allocating bandwidth resources based on business priorities, the bandwidth ratio is also optimized based on communication experience quality such as communication status, so that important services can be allocated more resources and ensure the smooth execution of important services.
[0076] Furthermore, by providing a bandwidth allocation interface, users can directly manage the bandwidth allocation for each service within this interface, enabling personalized bandwidth budget allocation design based on user needs.
[0077] To facilitate better implementation of the bandwidth allocation method of this application, this application also provides a bandwidth allocation apparatus based on the above-described bandwidth allocation method. The meanings of the terms used are the same as in the bandwidth allocation method described above, and specific implementation details can be found in the descriptions of the method embodiments.
[0078] Please see Figure 3 , Figure 3 This is a schematic diagram of the bandwidth allocation device provided in the embodiments of this application, wherein the bandwidth allocation device may specifically be as follows: Budget determination module 301 is used to determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth. The bandwidth allocation determination module 302 is used to determine the bandwidth allocation according to the service priority corresponding to the target service. The bandwidth determination module 303 is used to determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget.
[0079] Optionally, in some embodiments of this application, determining the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth includes: The bandwidth budget is calculated based on the target bandwidth weight, the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth.
[0080] Optionally, in some embodiments of this application, the target bandwidth weight is obtained by adjusting the initial bandwidth weight based on historical feedback information or target time period status information.
[0081] Optionally, in some embodiments of this application, the target bandwidth weight is obtained by using a weight evaluation model based on historical network communication parameters, historical communication experience quality, and target reward strategy. The network communication parameters include at least one of latency, packet loss rate, allocated bandwidth, or historical test bandwidth, and the target reward strategy includes optimizing the target communication experience quality of the target service.
[0082] Optionally, in some embodiments of this application, determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: If the service priority corresponding to the target service only includes that single target service, then the allocated bandwidth for the target service is obtained by multiplying the bandwidth percentage and the bandwidth budget. If the service priority corresponding to the target service also includes multiple other services, then the bandwidth allocation weight corresponding to the target service is calculated based on the bandwidth requirement of the target service and the total bandwidth requirement of each service corresponding to the service priority. A reference bandwidth is calculated based on the bandwidth ratio, the bandwidth budget and the bandwidth allocation weight. The maximum value is selected from the preset minimum bandwidth and the reference bandwidth as the allocated bandwidth.
[0083] Optionally, in some embodiments of this application, after determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget, the method further includes: If the service priority corresponding to the target service is the target priority, and the target communication state is reached after communication based on the allocated bandwidth, then the bandwidth ratio is adjusted according to a preset step size to obtain the target bandwidth ratio. The new allocated bandwidth for the target service is recalculated based on the target bandwidth percentage and the bandwidth budget.
[0084] Optionally, in some embodiments of this application, the method further includes: The bandwidth allocation interface is displayed. The bandwidth allocation interface includes at least one service and the current bandwidth percentage corresponding to each service. The current bandwidth percentage is displayed through a progress bar. In response to the toggle operation of the progress bar for the target service, determine the target bandwidth percentage corresponding to the target service; The step of determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: The allocated bandwidth for the target service is calculated based on the target bandwidth percentage and the bandwidth budget.
[0085] In this embodiment, the budget determination module 301 determines the bandwidth budget based on the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth; the proportion determination module 302 determines the bandwidth proportion according to the service priority corresponding to the target service; and the bandwidth determination module 303 determines the allocated bandwidth corresponding to the target service based on the bandwidth proportion and the bandwidth budget.
[0086] In summary, the embodiments of this application determine the bandwidth ratio based on service priority and allocate bandwidth based on the bandwidth ratio, thereby realizing bandwidth allocation based on service priority. This helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0087] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth.
[0088] In addition, this application also provides an electronic device, such as Figure 4 As shown, it illustrates a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Specifically: The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 4 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein: The processor 401 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 402, and by calling data stored in the memory 402, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.
[0089] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function, etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.
[0090] The electronic device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power equipment debugging circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0091] The electronic device may also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0092] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402, thereby implementing the steps in any of the bandwidth allocation methods provided in the embodiments of this application.
[0093] In this embodiment, the bandwidth budget is determined based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth. The bandwidth ratio is determined according to the service priority corresponding to the target service. The allocated bandwidth corresponding to the target service is determined according to the bandwidth ratio and the bandwidth budget.
[0094] In this application embodiment, the bandwidth ratio is determined based on the service priority, and the bandwidth allocation is determined based on the bandwidth ratio. This realizes bandwidth allocation based on service priority, which helps to allocate more bandwidth to high-priority services and reduce bandwidth contention for low-priority services.
[0095] Furthermore, by determining the available bandwidth budget for allocation through real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth, this application embodiment comprehensively considers more dimensions of bandwidth information, thereby improving the rationality of bandwidth allocation compared to traditional bandwidth allocation based solely on real-time speed measurement bandwidth.
[0096] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0097] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0098] To this end, this application provides a computer-readable storage medium storing a computer program that can be loaded by a processor to execute the steps of any of the bandwidth allocation methods provided in this application.
[0099] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0100] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0101] Since the instructions stored in the computer-readable storage medium can execute the steps of any bandwidth allocation method provided in this application, the beneficial effects that any bandwidth allocation method provided in this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.
[0102] The bandwidth allocation method, apparatus, electronic device, and computer-readable storage medium provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
[0103] It is understood that in the specific implementation of this application, data related to real-time speed measurement bandwidth, historical maximum bandwidth, real-time remaining bandwidth, service priority, historical feedback information, target time period status information, network communication parameters, and communication experience quality are involved. When the embodiments in this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
Claims
1. A bandwidth allocation method, characterized in that, The method includes: Determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth; Determine the bandwidth allocation based on the service priority corresponding to the target service; The allocated bandwidth for the target service is determined based on the bandwidth percentage and the bandwidth budget.
2. The bandwidth allocation method according to claim 1, characterized in that, The process of determining the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth includes: The bandwidth budget is calculated based on the target bandwidth weight, the real-time speed measurement bandwidth, the historical maximum bandwidth, and the real-time remaining bandwidth.
3. The bandwidth allocation method according to claim 2, characterized in that, The target bandwidth weight is obtained by adjusting the initial bandwidth weight based on historical feedback information or target time period status information.
4. The bandwidth allocation method according to claim 2, characterized in that, The target bandwidth weight is obtained by using a weight evaluation model based on historical network communication parameters, historical communication experience quality, and target reward strategy. The network communication parameters include at least one of latency, packet loss rate, allocated bandwidth, or historical test bandwidth. The target reward strategy includes optimizing the target communication experience quality of the target service.
5. The bandwidth allocation method according to claim 1, characterized in that, The step of determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: If the service priority corresponding to the target service only includes that single target service, then the allocated bandwidth for the target service is obtained by multiplying the bandwidth percentage and the bandwidth budget. If the service priority corresponding to the target service also includes multiple other services, then the bandwidth allocation weight corresponding to the target service is calculated based on the bandwidth requirement of the target service and the total bandwidth requirement of each service corresponding to the service priority. A reference bandwidth is calculated based on the bandwidth ratio, the bandwidth budget and the bandwidth allocation weight. The maximum value is selected from the preset minimum bandwidth and the reference bandwidth as the allocated bandwidth.
6. The bandwidth allocation method according to claim 1, characterized in that, After determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget, the method further includes: If the service priority corresponding to the target service is the target priority, and the target communication state is reached after communication based on the allocated bandwidth, then the bandwidth ratio is adjusted according to a preset step size to obtain the target bandwidth ratio. The new allocated bandwidth for the target service is recalculated based on the target bandwidth percentage and the bandwidth budget.
7. The bandwidth allocation method according to claim 1, characterized in that, The method further includes: The bandwidth allocation interface is displayed. The bandwidth allocation interface includes at least one service and the current bandwidth percentage corresponding to each service. The current bandwidth percentage is displayed through a progress bar. In response to the toggle operation of the progress bar for the target service, determine the target bandwidth percentage corresponding to the target service; The step of determining the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget includes: The allocated bandwidth for the target service is calculated based on the target bandwidth percentage and the bandwidth budget.
8. A bandwidth allocation device, characterized in that, The device includes: The budget determination module is used to determine the bandwidth budget based on real-time speed measurement bandwidth, historical maximum bandwidth, and real-time remaining bandwidth. The bandwidth allocation determination module is used to determine the bandwidth allocation according to the service priority corresponding to the target service. The bandwidth determination module is used to determine the allocated bandwidth corresponding to the target service according to the bandwidth ratio and the bandwidth budget.
9. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the bandwidth allocation method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the bandwidth allocation method as described in any one of claims 1-7.