Bandwidth allocation method, system and device, storage medium and product
By introducing a business management terminal and arbitration service into the wide-area intelligent computing network, the business level is allocated to the pending business flow based on the business flow occupancy status record and the target bandwidth is calculated. This solves the problem of new task delay and packet loss caused by elephant flow, realizes the orderly and differentiated allocation of bandwidth resources, and prioritizes high-priority services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA ACADEMY OF INFORMATION & COMM
- Filing Date
- 2026-03-18
- Publication Date
- 2026-05-12
AI Technical Summary
In wide-area intelligent computing networks, the problem of long-term bandwidth monopoly by large data streams leads to delays in the transmission of new tasks, packet loss, and deterioration in the quality of business services.
By introducing a service management terminal and arbitration service into the wide-area intelligent computing network, service levels are allocated to pending service flows based on service flow occupancy status records, bandwidth management information is determined, and target bandwidth is calculated through a differentiated bandwidth allocation algorithm. Bandwidth is adjusted according to a preset priority order to ensure the transmission quality of high-priority services.
It effectively solves the problems of new task transmission delay, packet loss and service quality degradation caused by the long-term exclusive use of bandwidth by elephant streams, and realizes the orderly and differentiated allocation of bandwidth resources, giving priority to high-priority business needs.
Smart Images

Figure CN122027481A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a bandwidth allocation method, system, device, storage medium, and product. Background Technology
[0002] Wide-area intelligent computing networks (AI networks) are crucial infrastructure supporting large-scale distributed intelligent computing tasks. These networks typically experience "elephant flows"—long-duration, continuous transmissions that consume significant network bandwidth. Due to the continuous bandwidth consumption of these "elephant flows," newly requested tasks often cannot obtain sufficient bandwidth, leading to transmission delays or even failures. Furthermore, when multiple new tasks initiate transmission simultaneously, the lack of effective bandwidth allocation and scheduling mechanisms easily triggers network congestion and substantial data packet loss, resulting in a significant degradation of the Quality of Service (QoS) across the entire network.
[0003] In summary, current wide-area intelligent computing networks suffer from problems such as delays in new task transmission, packet loss, and deterioration in service quality due to large data streams monopolizing bandwidth for extended periods. Summary of the Invention
[0004] This invention provides a bandwidth allocation method, system, device, storage medium, and product to solve the problems in current wide-area intelligent computing networks where large-scale bandwidth monopolization by large data streams leads to delays in new task transmission, packet loss, and deterioration in service quality.
[0005] According to one aspect of the present invention, a bandwidth allocation method is provided, applied to a bandwidth allocation system, the bandwidth allocation system including a service management terminal and an arbitration service, the method comprising: The business management terminal sends a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for; In response to the service flow application request, the arbitration service allocates a service level to the service flow to be applied for based on the service flow occupancy status record, determines the bandwidth management information of the service level, and sends the service level and the bandwidth management information to the service management terminal. The service management terminal updates the maintained service flow status record according to the service level and the bandwidth management information, and calls the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow. When the preset bandwidth adjustment conditions are met, the service management terminal adjusts the bandwidth of each service flow according to the target bandwidth and service level of each service flow and in a preset priority order.
[0006] According to another aspect of the present invention, a bandwidth allocation system is provided, including a service management terminal and an arbitration service, wherein, The business management terminal is used to send a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for; The arbitration service is used to respond to the service flow application request, allocate a service level to the service flow to be applied for based on the service flow occupancy status record, determine the bandwidth management information of the service level, and send the service level and the bandwidth management information to the service management terminal. The service management terminal is used to update the maintained service flow status record according to the service level and the bandwidth management information, and to call the corresponding bandwidth allocation algorithm to calculate the target bandwidth of each service flow based on the service level of each service flow in the updated service flow status record. The service management terminal is used to adjust the bandwidth of each service flow according to a preset priority order, based on the target bandwidth and service level of each service flow, when preset bandwidth adjustment conditions are met. According to another aspect of the present invention, an electronic device is provided, the electronic device being configured as a business management terminal and an arbitration service, the electronic device comprising: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the bandwidth allocation method according to any embodiment of the present invention.
[0007] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the bandwidth allocation method described in any embodiment of the present invention.
[0008] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program that, when executed by a processor, implements the bandwidth allocation method described in any embodiment of the present invention.
[0009] The technical solution of this invention is applied to a bandwidth allocation system, which includes a service management terminal and an arbitration service. The method includes: the service management terminal sending a service flow application request to the arbitration service, wherein the service flow application request carries the identification information and authentication field of the service flow to be applied for; the arbitration service responding to the service flow application request, allocating a service level to the service flow to be applied for based on the service flow occupancy status record, determining the bandwidth management information of the service level, and sending the service level and the bandwidth management information to the service management terminal; the service management terminal updating the maintained service flow status record according to the service level and the bandwidth management information, and calling the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow; and the service management terminal adjusting the bandwidth of each service flow according to a preset priority order based on the target bandwidth and service level of each service flow when a preset bandwidth adjustment condition is met. By assigning service levels to service flows and determining corresponding bandwidth management information, differentiated bandwidth resource allocation based on service levels is achieved; by updating service flow status records in real time and calculating target bandwidth, data is provided for dynamic adjustments; by adjusting the bandwidth of each service flow according to a preset priority order, high-priority service needs are prioritized and resource allocation is coordinated in an orderly manner, effectively solving the problems of new task transmission delays, packet loss, and service quality degradation caused by large-capacity flows monopolizing bandwidth for extended periods.
[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.
[0012] Figure 1 A flowchart of a bandwidth allocation method provided in Embodiment 1 of the present invention; Figure 2 A schematic diagram illustrating a bandwidth allocation result provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of a bandwidth allocation system provided in Embodiment 2 of the present invention; Figure 4 This is a schematic diagram of the structure of an electronic device provided in Embodiment 3 of the present invention. Detailed Implementation
[0013] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. 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 should fall within the scope of protection of the present invention.
[0014] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0015] Example 1 Figure 1 This is a flowchart of a bandwidth allocation method provided in Embodiment 1 of the present invention. This embodiment is applicable to scenarios involving dynamic bandwidth allocation of service flows in a wide-area intelligent computing network. The method can be executed by a bandwidth allocation system, which includes a service management terminal and an arbitration service. Figure 1 As shown, the method includes: S110. The business management terminal sends a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for.
[0016] In this embodiment, the service management terminal is a functional entity in the wide-area intelligent computing network responsible for initiating service flow application requests, maintaining local service flow status records, and performing bandwidth allocation and adjustment operations. It is responsible for service flow access management and bandwidth scheduling control. The service flow application request is a request message used to request bandwidth resources for the corresponding service flow. This request carries the identification information and authentication field of the service flow to be applied for. The service flow to be applied for is a service flow that has not yet been allocated a service level and bandwidth index. The identification information is a five-tuple used to uniquely distinguish and identify the service flow, including the source IP address, destination IP address, source port, destination port, and transport protocol, used for arbitration service recording and distinguishing different service flows. The authentication field is authentication data generated based on confidential information pre-shared between the service management terminal and the arbitration service, used to verify the legitimacy of the service flow application request and prevent illegal bandwidth applications.
[0017] Specifically, the business management terminal sends a business flow application request to the arbitration service, requesting the allocation of service class and bandwidth resources for the requested business flow. This business flow application request carries the identification information and authentication field of the requested business flow.
[0018] S120. In response to the service flow application request, the arbitration service allocates a service level to the service flow to be applied for based on the service flow occupancy status record, determines the bandwidth management information of the service level, and sends the service level and the bandwidth management information to the service management terminal.
[0019] In this embodiment, the arbitration service is a scheduling decision-making entity in the wide-area intelligent computing network that receives service flow application requests, allocates service levels to service flows based on service flow occupancy status records, determines corresponding bandwidth management information, and distributes service levels and bandwidth management information to the service management terminal, providing a unified arbitration and allocation service for bandwidth resources. The arbitration service can be centralized or autonomously distributed; this embodiment uses a centralized arbitration service as an example. The service flow occupancy status record is core data maintained by the arbitration service to record the current occupancy and resource status of each service flow in the network, providing a decision-making basis for service level and bandwidth index allocation. In this invention, the service flow occupancy status record is a global status table, including service flow identification information, service level, bandwidth index, bandwidth dynamic update identifier, and authentication field.
[0020] The business priority level includes three different priority levels: first priority level (i.e., high priority level), second priority level (i.e., medium priority level), and third priority level (i.e., normal priority level). Only a limited number of first priority level business flows (e.g., 1 flow), a number of second priority level business flows (e.g., 3 flows), and an unlimited number of third priority level business flows are allowed within a given time period.
[0021] Bandwidth management information is a set of differentiated control parameters determined and issued by the arbitration service based on service level, used to guide the service management end in bandwidth allocation and management. The bandwidth management information differs for different service levels: For example, when allocating the first priority level to a pending service flow, the bandwidth management information instructs the service flow to adopt a remaining bandwidth allocation strategy, meaning no bandwidth index needs to be allocated to the service flow, and its corresponding first target bandwidth can be determined by subtracting the sum of the target bandwidths of other priority levels from the total bandwidth; if no other priority level service flows exist, the first priority level service flow exclusively occupies all the total bandwidth. When allocating the second priority level to a pending service flow, the bandwidth management information may include dynamically calculated independent bandwidth indices for each service flow under that service level (such as α, β, γ, all greater than 0.2, and the sum of the bandwidth indices of each service flow and the sum of the preset bandwidth index of the third priority level is 1), used to calculate the second target bandwidth for each service flow; when allocating the third priority level to a pending service flow, the bandwidth management information may include a preset bandwidth index (such as a preset value of 0.2), used to calculate the third target bandwidth corresponding to the third priority level, where all service flows share the same bandwidth index.
[0022] Specifically, in response to a business flow application request, the arbitration service queries the business flow occupancy status record: if the application requests the first priority level and there are no business flows with the first priority level, the application requests the first priority level; if the application requests the second priority level and the number of business flows with the second priority level has not reached the preset limit, the application requests the second priority level; if the application requests the third priority level, or if the application requests the second priority level but the number of business flows with the second priority level has reached the preset limit, the application requests the third priority level.
[0023] Then, the bandwidth management information for the service level is determined, and the service level and bandwidth management information are sent to the service management terminal.
[0024] Optionally, in response to the business flow application request, the arbitration service may assign a business level to the pending business flow based on the business flow occupancy status record. This can also be achieved through the following methods: querying the business flow occupancy status record; if there is no business flow of the first priority level in the business flow occupancy status record, then assign the first priority level to the pending business flow; if there is a business flow of the first priority level in the business flow occupancy status record and the number of business flows of the second priority level has not reached a preset limit, then assign the second priority level to the pending business flow; if there is a business flow of the first priority level in the business flow occupancy status record and the number of business flows of the second priority level has reached a preset limit, then assign the third priority level to the pending business flow.
[0025] S130. The service management terminal updates the maintained service flow status record according to the service level and the bandwidth management information, and calls the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow.
[0026] In this embodiment, the service flow status record is a status table maintained locally by the service management terminal, which records information such as the identification information, service level, bandwidth index, and bandwidth dynamic update identifier of each service flow, and is used for bandwidth calculation and adjustment decisions.
[0027] Specifically, the business management terminal receives business level and bandwidth management information from the arbitration service and updates its locally maintained business flow status records accordingly, ensuring consistency between the local status and the global status of the arbitration service. Then, based on the business level of each business flow in the updated business flow status records, the business management terminal calls the bandwidth allocation algorithm corresponding to the current business level distribution. For example, when all priority levels exist, the target bandwidth for each business flow is calculated based on the Nash equilibrium condition; when not all priority levels exist, the corresponding parameter pruning algorithm is called to calculate the target bandwidth for each business flow. Through this step, the business management terminal completes the conversion calculation from bandwidth index to actual target bandwidth, providing a quantitative basis for subsequent bandwidth adjustment operations.
[0028] S140. When the preset bandwidth adjustment conditions are met, the service management terminal adjusts the bandwidth of each service flow according to the target bandwidth and service level of each service flow and in a preset priority order.
[0029] In this embodiment, the preset priority order is the pre-set bandwidth adjustment execution order. In this embodiment, the first priority level precedes the second priority level to prevent the second priority level from preempting the bandwidth of the first priority level and causing packet loss during adjustment.
[0030] The preset bandwidth adjustment conditions are pre-set constraints used to trigger actual bandwidth adjustments for each service flow, ensuring that the adjustment operation is performed at the appropriate time to avoid affecting data transmission. In some embodiments, the preset bandwidth adjustment conditions include: detecting that service data transmission has entered an intermittent period and meeting a preset identifier condition, wherein the preset identifier condition includes the existence of a first-priority service flow or a second-priority service flow with a bandwidth dynamic update identifier set to a preset threshold. The preset threshold is a pre-set value, such as 1. The intermittent period for service data transmission refers to the time slot when the current batch of data transmission for each service flow maintained by the service management terminal is completed and the network enters a transmission idle period. Performing bandwidth adjustment at this time can avoid interfering with data transmission and prevent packet loss. The bandwidth dynamic update identifier is a marker used to indicate changes in the bandwidth allocation status and adjustment progress of the service flow. It is set to a specific value by the arbitration service during allocation, incremented after adjustment by the service management terminal, and reset when the service flow exits.
[0031] Specifically, when an interruption in service data transmission is detected and a second-priority service flow with a bandwidth dynamic update flag set to a preset threshold is present, a bandwidth adjustment operation is triggered. First, the bandwidth of the first-priority service flow is adjusted based on its target bandwidth. After adjustment, the bandwidth dynamic update flag of this service flow is incremented (e.g., by 1). Then, after the first-priority service flow completes its adjustment, the bandwidth of the second-priority service flow is adjusted based on its target bandwidth, and its bandwidth dynamic update flag is incremented (e.g., by 1). This allows the service management terminal to dynamically and orderly adjust bandwidth, ensuring that first-priority service flows receive bandwidth guarantees first, and preventing data packet loss caused by second-priority service flows adjusting first and preempting bandwidth from first-priority service flows.
[0032] When a service data transmission interruption is detected and there is a first-priority service flow with a bandwidth dynamic update flag of a preset threshold, the bandwidth of the first-priority service flow is adjusted based on its target bandwidth. After the adjustment is completed, the bandwidth dynamic update flag of the service flow is incremented (e.g., by 1).
[0033] The technical solution provided in Embodiment 1 of this invention is applied to a bandwidth allocation system, which includes a service management terminal and an arbitration service. The method includes: the service management terminal sending a service flow application request to the arbitration service, wherein the service flow application request carries the identification information and authentication field of the service flow to be applied for; the arbitration service responding to the service flow application request, allocating a service level to the service flow to be applied for based on the service flow occupancy status record, determining the bandwidth management information of the service level, and sending the service level and the bandwidth management information to the service management terminal; the service management terminal updating the maintained service flow status record according to the service level and the bandwidth management information, and calling the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow; and the service management terminal adjusting the bandwidth of each service flow according to a preset priority order based on the target bandwidth and service level of each service flow when a preset bandwidth adjustment condition is met. By assigning service levels to service flows and determining corresponding bandwidth management information, differentiated bandwidth resource allocation based on service levels is achieved; by updating service flow status records in real time and calculating target bandwidth, data is provided for dynamic adjustments; by adjusting the bandwidth of each service flow according to a preset priority order, high-priority service needs are prioritized and resource allocation is coordinated in an orderly manner, effectively solving the problems of new task transmission delays, packet loss, and service quality degradation caused by large-capacity flows monopolizing bandwidth for extended periods.
[0034] In some embodiments, the service flow occupancy status record includes the service flow's identification information, service level, bandwidth index, bandwidth dynamic update identifier, and authentication field; the service level includes a first priority level, a second priority level, and a third priority level, wherein the bandwidth index of each service flow under the second priority level is greater than the preset bandwidth index of the third priority level, and all service flows under the third priority level share the preset bandwidth index.
[0035] In this embodiment, the bandwidth index is a parameter allocated by the arbitration service to service flows of different priority levels for calculating the target bandwidth. The third priority level corresponds to a preset bandwidth index, meaning that all service flows under the third priority level share this preset bandwidth index. The bandwidth index of each service flow under the second priority level is greater than the preset bandwidth index of the third priority level. No bandwidth is allocated for the first priority level. The bandwidth dynamic update identifier is a status parameter that triggers bandwidth adjustment, and the authentication field is the identity verification information between the service provider and the arbitration service.
[0036] By maintaining service flow occupancy status records that include identification information, service level, bandwidth index, bandwidth dynamic update identifier, and authentication fields, and by setting bandwidth indexes, differentiated and orderly allocation of bandwidth resources can be achieved, improving resource utilization and ensuring the service quality of high-priority services.
[0037] In some embodiments, determining the bandwidth management information of the service level includes: if the service level of the service flow to be applied for is the second priority level, then based on the bandwidth index allocation constraint, recalculating and allocating the bandwidth index for each service flow under the second priority level; wherein, the bandwidth index allocation constraint includes the sum of the bandwidth index of all service flows under the second priority level and the preset bandwidth index of the third priority level being 1.
[0038] In this embodiment, the bandwidth index allocation constraint includes the sum of the bandwidth index of all second priority level service flows and the preset bandwidth index of the third priority level being 1, which is used to ensure that the overall bandwidth occupancy ratio of the service flows of this level is controllable.
[0039] Specifically, a differentiated allocation strategy is adopted to determine the bandwidth index of relevant service flows under the service level: When the service flow to be applied for is in the second priority level, based on the bandwidth index allocation constraint, the bandwidth index is recalculated and allocated to each service flow (including all existing service flows and service flows to be applied for) under the second priority level; when the service flow to be applied for is in the third priority level, the preset bandwidth index of the service level is used as the bandwidth management information of the service level (e.g., 0.2). All service flows under this level share the same bandwidth index. When the service flow to be applied for is in the first priority level, the service flow is marked as the first priority level, and its bandwidth management information is used to indicate the use of the highest priority principle (e.g., remaining bandwidth allocation), without the need to allocate or set a bandwidth index for calculation.
[0040] This differentiated allocation mechanism ensures fairness by dynamically distributing the second priority level and guaranteeing stability by providing a fixed allocation for the third priority level, thus meeting the bandwidth requirements of services with different priorities.
[0041] For example, if the arbitration service assigns the first priority level to the pending business flow, it records the five-tuple, business level (flow level), bandwidth index (no value set), bandwidth dynamic update flag (set to 1), and authentication field of the pending business flow.
[0042] If the arbitration service assigns a second priority level to the pending service flow, it updates the bandwidth index of all service flows under the second priority level to meet the bandwidth index allocation constraint, that is, the sum of the bandwidth indices of all service flows under the second priority level and the sum of the preset bandwidth index of the third priority level are 1 (e.g., the sum of the indices of each flow under the second priority level is 0.8, and the preset bandwidth index of the third priority level is 0.2), and the bandwidth index of each service flow is greater than the preset bandwidth index of the third priority level (e.g., all are greater than 0.2); it records the five-tuple, service level, and bandwidth index (e.g., set to a number less than or equal to 0.8 and greater than 0.2) of the pending service flow, sets the bandwidth dynamic update flag of all service flows under this level to 1, and records the authentication field.
[0043] For example, when allocating bandwidth indices to pending service flows, if there are no service flows of the second priority level and the preset bandwidth index of the third priority level is 0.2, then the bandwidth index allocated to the pending service flow can be 0.8; if there is already a service flow of the second priority level, then the bandwidth index will be reallocated, with the two service flows allocated 0.5 and 0.3 respectively; if there are already two service flows of the second priority level, then the three service flows can be allocated 0.3, 0.27 and 0.23, and the specific allocation principle will be determined by the arbitration service based on actual needs.
[0044] If the arbitration service assigns the third priority level to the pending business flow, and there is no business flow with the third priority level before, the bandwidth index of the pending business flow will be the preset bandwidth index (e.g., 0.2); if there is a business flow before, all business flows will share the preset bandwidth index.
[0045] In some embodiments, the step of calling the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow includes: when it is determined that all service levels exist based on the updated service levels of each service flow, according to the Nash equilibrium condition, with the goal of maximizing the total revenue, calculating the second target bandwidth of each service flow under the second priority level and the third target bandwidth of the third priority level based on the bandwidth index of each service flow under the second priority level and the preset bandwidth index of the third priority level, and determining the first target bandwidth of the first priority level service flow as the total bandwidth minus the sum of all second target bandwidths and the third target bandwidth, wherein all service flows under the third priority level share the third target bandwidth.
[0046] Specifically, assuming all service levels exist, the total bandwidth is normalized to 1 to facilitate Nash equilibrium calculation. Based on the Nash equilibrium condition, the service management terminal constructs a total revenue function U, which is the sum of the revenue functions of each service flow, with the goal of maximizing total revenue. ; Where x, y, and z are the second target bandwidths (represented as a percentage of the total bandwidth) of each service flow under the second priority level, α, β, and γ are their corresponding bandwidth indices, satisfying α+β+γ=0.8 and each index belonging to (0.2,0.8]; p is the third target bandwidth (proportion) of the third priority level, calculated based on the preset bandwidth index of 0.2 for this level; (1-xyzp) is the first target bandwidth (proportion) of the service flow of the first priority level. This level does not need to allocate bandwidth indices for calculation, and its target bandwidth is determined by subtracting the sum of the target bandwidths of other priority levels from the total bandwidth.
[0047] By finding the maximum value of the total revenue function U, we set all partial derivatives to zero: ; ; ; ; The second target bandwidth for each second priority level service flow is: ; ; ; The third target bandwidth for the third priority level is: p=0.134=13.4%, which is approximately 13.4%.
[0048] The first target bandwidth for the first priority traffic flow is 1-xyzp.
[0049] Therefore, under normalized bandwidth, the sum of the target bandwidths of all service flows is 100%, achieving Nash equilibrium allocation of bandwidth resources. By allocating bandwidth based on Nash equilibrium conditions and combined with bandwidth indices, it is possible to ensure the transmission quality of high-priority services while achieving reasonable scheduling of bandwidth resources and maximizing overall benefits.
[0050] Figure 2 This is a schematic diagram of a bandwidth allocation result provided in an embodiment of the present invention, as shown below. Figure 2 As shown, assuming the bandwidth indices for each service flow under the second priority level are α=0.3, β=0.27, and γ=0.23, and the preset bandwidth index for the third priority level is 0.2, then through the above calculations, the second target bandwidths for each service flow under the second priority level are x=0.179, y=0.166, and z=0.148, and the third target bandwidth for the third priority level is p=0.134. (e.g.) Figure 2 As shown in the rectangle in the diagram, it can be seen that after calculation, the traffic of the first priority level is guaranteed the maximum bandwidth, and the bandwidth guarantee of the second priority level is greater than that of the third priority level.
[0051] In some embodiments, the method further includes: when any service flow ends, the service management terminal sends an exit request for the service flow to be exited to the arbitration service; in response to the exit request, the arbitration service updates the service flow occupancy status record and resets the bandwidth dynamic update identifier of the service flow to be exited.
[0052] Specifically, when any service flow ends, the service management terminal sends an exit request for the service flow to be exited to the arbitration service. In response to the exit request, the arbitration service updates the service flow occupancy status record and resets the bandwidth dynamic update flag of the service flow to be exited. Among them, after the first priority level and the second priority level service flows apply for exit, the bandwidth dynamic update flag of the corresponding service flow is reset (e.g., set to 0), indicating that it has exited. When there are multiple third priority level service flows, the bandwidth dynamic update flag of the third priority level service flows is reset (e.g., set to 0) only when the last service flow exits.
[0053] By updating the status record and resetting the bandwidth dynamic update flag in a timely manner when a service flow exits, the lifecycle of the service flow can be accurately tracked, ineffective bandwidth adjustments can be avoided, and the efficiency of system resource utilization can be improved.
[0054] Example 2 Figure 3 This is a schematic diagram of a bandwidth allocation system provided in Embodiment 2 of the present invention. Figure 3 As shown, the bandwidth allocation system 20 includes a service management terminal 21 and an arbitration service 22, wherein, The business management terminal 21 is used to send a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for; The arbitration service 22 is used to respond to the service flow application request, allocate a service level to the service flow to be applied for based on the service flow occupancy status record, determine the bandwidth management information of the service level, and send the service level and the bandwidth management information to the service management terminal. The service management terminal 21 is used to update the maintained service flow status record according to the service level and the bandwidth management information, and to call the corresponding bandwidth allocation algorithm to calculate the target bandwidth of each service flow based on the service level of each service flow in the updated service flow status record. The service management terminal 21 is used to adjust the bandwidth of each service flow according to a preset priority order based on the target bandwidth and service level of each service flow when the preset bandwidth adjustment conditions are met.
[0055] The technical solution provided in Embodiment 2 of the present invention achieves differentiated bandwidth resource allocation based on service level by assigning service levels to service flows and determining corresponding bandwidth management information; it provides data basis for dynamic adjustment by updating service flow status records in real time and calculating target bandwidth; and it effectively solves the problems of new task transmission delay, packet loss and service quality degradation caused by large streams monopolizing bandwidth for a long time by adjusting the bandwidth of each service flow according to a preset priority order, thus prioritizing the needs of high-priority services and coordinating resource allocation in an orderly manner.
[0056] Optionally, the service flow occupancy status record includes the service flow's identification information, service level, bandwidth index, bandwidth dynamic update identifier, and authentication field; the service level includes a first priority level, a second priority level, and a third priority level, wherein the bandwidth index of each service flow under the second priority level is greater than the preset bandwidth index of the third priority level, and all service flows under the third priority level share the preset bandwidth index.
[0057] Optionally, the arbitration service 22 is used to recalculate and allocate bandwidth indexes for each service flow under the second priority level based on bandwidth index allocation constraints if the service level of the service flow to be applied for is the second priority level; wherein, the bandwidth index allocation constraints include the sum of the bandwidth indexes of all service flows under the second priority level and the preset bandwidth index of the third priority level being 1.
[0058] Optionally, the service management terminal 21 is configured to, based on the updated service levels of each service flow and the determination that all service levels exist, calculate the second target bandwidth of each service flow under the second priority level and the third target bandwidth of the third priority level, according to the Nash equilibrium condition and with the goal of maximizing total revenue, based on the bandwidth index of each service flow under the second priority level and the preset bandwidth index of the third priority level, and determine the first target bandwidth of the first priority level service flow as the total bandwidth minus the sum of all second target bandwidths and the third target bandwidth, wherein all service flows under the third priority level share the third target bandwidth.
[0059] Optionally, when any business flow ends, the business management terminal sends an exit request for the business flow to be exited to the arbitration service; In response to the exit request, the arbitration service updates the service flow occupancy status record and resets the bandwidth dynamic update flag of the service flow to be exited.
[0060] Optionally, the preset bandwidth adjustment conditions include: detecting that service data transmission has entered an intermittent period and meets preset identification conditions, wherein the preset identification conditions include the existence of a service flow with a first priority level or a service flow with a second priority level whose bandwidth dynamic update identification is a preset threshold.
[0061] The bandwidth allocation system provided in this embodiment of the invention can execute the bandwidth allocation method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0062] Example 3 Figure 4 This is a schematic diagram of an electronic device provided in Embodiment 3 of the present invention. The electronic device can be configured as a business management terminal and arbitration service, and is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0063] like Figure 4As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0064] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0065] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as bandwidth allocation methods.
[0066] In some embodiments, the bandwidth allocation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the bandwidth allocation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the bandwidth allocation method by any other suitable means (e.g., by means of firmware).
[0067] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0068] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0069] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0070] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0071] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0072] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0073] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0074] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
[0075] This invention also provides a computer program product, including a computer program and / or instructions, which, when executed by a processor, implements the bandwidth allocation method provided in any embodiment of this application.
[0076] In implementing the computer program product, computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0077] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.
Claims
1. A bandwidth allocation method, characterized in that, Applied to a bandwidth allocation system, the bandwidth allocation system including a service management terminal and an arbitration service, the method includes: The business management terminal sends a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for; In response to the service flow application request, the arbitration service allocates a service level to the service flow to be applied for based on the service flow occupancy status record, determines the bandwidth management information of the service level, and sends the service level and the bandwidth management information to the service management terminal. The service management terminal updates the maintained service flow status record according to the service level and the bandwidth management information, and calls the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record to calculate the target bandwidth of each service flow. When the preset bandwidth adjustment conditions are met, the service management terminal adjusts the bandwidth of each service flow according to the target bandwidth and service level of each service flow and in a preset priority order.
2. The method according to claim 1, characterized in that, The service flow occupancy status record includes the service flow's identification information, service level, bandwidth index, bandwidth dynamic update identifier, and authentication field; the service level includes a first priority level, a second priority level, and a third priority level, wherein the bandwidth index of each service flow under the second priority level is greater than the preset bandwidth index of the third priority level, and all service flows under the third priority level share the preset bandwidth index.
3. The method according to claim 2, characterized in that, The bandwidth management information for determining the service level includes: If the service level of the service flow to be applied for is the second priority level, then based on the bandwidth index allocation constraint, the bandwidth index is recalculated and allocated for each service flow under the second priority level. The bandwidth index allocation constraint includes a sum of 1 for the bandwidth index of all second-priority traffic flows and the preset bandwidth index of the third-priority traffic flows.
4. The method according to claim 2, characterized in that, The process involves invoking the corresponding bandwidth allocation algorithm based on the service level of each service flow in the updated service flow status record, and calculating the target bandwidth for each service flow, including: Given that all service levels exist based on the updated service levels of each service flow, and in accordance with the Nash equilibrium condition, with the goal of maximizing total revenue, the second target bandwidth of each service flow under the second priority level and the third target bandwidth of the third priority level are calculated based on the bandwidth index of each service flow under the second priority level and the preset bandwidth index of the third priority level. The first target bandwidth of the service flow under the first priority level is determined as the total bandwidth minus the sum of all second target bandwidths and the third target bandwidth, wherein all service flows under the third priority level share the third target bandwidth.
5. The method according to claim 2, characterized in that, The method further includes: When any business flow ends, the business management terminal sends an exit request for the business flow to be exited to the arbitration service. In response to the exit request, the arbitration service updates the service flow occupancy status record and resets the bandwidth dynamic update flag of the service flow to be exited.
6. The method according to claim 2, characterized in that, The preset bandwidth adjustment conditions include: detecting that the service data transmission has entered an intermittent period and meets the preset identification conditions, wherein the preset identification conditions include the existence of a service flow with a first priority level or a service flow with a second priority level whose bandwidth dynamic update identification is a preset threshold.
7. A bandwidth allocation system, characterized in that, This includes business management and arbitration services, among which, The business management terminal is used to send a business flow application request to the arbitration service, wherein the business flow application request carries the identification information and authentication field of the business flow to be applied for; The arbitration service is used to respond to the service flow application request, allocate a service level to the service flow to be applied for based on the service flow occupancy status record, determine the bandwidth management information of the service level, and send the service level and the bandwidth management information to the service management terminal. The service management terminal is used to update the maintained service flow status record according to the service level and the bandwidth management information, and to call the corresponding bandwidth allocation algorithm to calculate the target bandwidth of each service flow based on the service level of each service flow in the updated service flow status record. The service management terminal is used to adjust the bandwidth of each service flow according to a preset priority order, based on the target bandwidth and service level of each service flow, when the preset bandwidth adjustment conditions are met.
8. An electronic device, characterized in that, The electronic device is configured as a business management terminal or arbitration service, and the electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the bandwidth allocation method according to any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the bandwidth allocation method according to any one of claims 1-6.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the bandwidth allocation method according to any one of claims 1-6.