A bandwidth adjustment method, apparatus, device, storage medium, and product.
By dynamically adjusting the data transmission bandwidth in a distributed storage system, based on weighted and real-time requirements, the problem of poor bandwidth management adaptability in traditional systems is solved, and reasonable bandwidth resource allocation and use are achieved.
Patent Information
- Application Number
- CN202411079605.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-08-07
AI Technical Summary
Traditional distributed storage systems are poorly adaptable in I/O bandwidth management, leading to unreasonable allocation of bandwidth resources and easy waste or insufficiency.
By acquiring the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand of multiple data transmission services, the bandwidth of data transmission services is dynamically adjusted based on priority, and bandwidth is allocated when preset conditions are met, thereby achieving reasonable bandwidth resource allocation.
It improves the adaptability of data transmission service bandwidth, avoids bandwidth waste or insufficiency, and enhances the utilization efficiency of bandwidth resources.
Smart Images

Figure CN118802795B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of cloud computing technology, and in particular to a bandwidth adjustment method, apparatus, device, storage medium and product. Background Technology
[0002] In modern data center and cloud computing environments, distributed storage systems are responsible for processing and storing massive amounts of data. With ever-increasing business demands, distributed storage systems face growing challenges, particularly in input / output (I / O) bandwidth management.
[0003] I / O bandwidth is one of the key limiting factors for storage system performance, directly affecting data access speed and overall system throughput. Traditional distributed storage systems typically use methods based on fixed threshold parameters to adjust the I / O bandwidth of each data transmission service, which suffers from poor adaptability. Summary of the Invention
[0004] This invention provides a bandwidth adjustment method, apparatus, device, storage medium, and product to solve the problem of poor bandwidth adaptability for data transmission services.
[0005] In a first aspect, embodiments of the present invention provide a bandwidth adjustment method, comprising:
[0006] The system obtains the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services.
[0007] For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted bandwidth requirement of the data transmission service, the real-time bandwidth requirement of the data transmission service, and the basic bandwidth requirement of the data transmission service.
[0008] If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0009] Secondly, embodiments of the present invention also provide a bandwidth adjustment device, the device comprising:
[0010] The data transmission service bandwidth acquisition module is used to acquire the weighted demand bandwidth of multiple data transmission services, the real-time demand bandwidth of multiple data transmission services, and the basic demand bandwidth of multiple data transmission services, wherein the weighted demand bandwidth is determined according to the priority of the corresponding data transmission services.
[0011] The data transmission service bandwidth adjustment module is used to determine the adjusted bandwidth of each data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service.
[0012] The bandwidth adjustment stop determination module is used to allocate bandwidth based on the adjusted bandwidth of the multiple data transmission services if the adjusted bandwidth based on the multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition.
[0013] Thirdly, embodiments of the present invention also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the bandwidth adjustment method as described in any of the embodiments of the present invention.
[0014] Fourthly, embodiments of the present invention also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the bandwidth adjustment method as described in any of the embodiments of the present invention.
[0015] Fifthly, embodiments of the present invention also provide a computer program product, including a computer program that, when executed by a processor, implements the bandwidth adjustment method as described in any of the embodiments of the present invention.
[0016] In this embodiment of the invention, the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand of multiple data transmission services are obtained. The weighted bandwidth demand is determined according to the priority of the corresponding data transmission services. For each data transmission service, the adjusted bandwidth is determined based on the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand. If the adjusted bandwidth of multiple data transmission services meets a preset bandwidth adjustment stop condition, bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services. This invention, by dynamically adjusting bandwidth based on weighted and real-time bandwidth demand, avoids bandwidth waste or insufficiency compared to fixed bandwidth allocation. It ensures reasonable allocation and use of bandwidth resources when data transmission service bandwidth demand fluctuates, thereby improving the adaptability of data transmission service bandwidth. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a schematic diagram of a distributed storage system provided in an embodiment of the present invention;
[0019] Figure 2 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0020] Figure 3 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0021] Figure 4 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0022] Figure 5 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0023] Figure 6 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0024] Figure 7 A flowchart of a bandwidth adjustment method provided in an embodiment of the present invention;
[0025] Figure 8 This is a schematic diagram of the structure of a bandwidth adjustment device provided in an embodiment of the present invention;
[0026] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0027] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.
[0028] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this invention, terms such as "first," "second," etc., are used only for distinguishing descriptions and should not be construed as indicating or implying relative importance. The acquisition, storage, use, and processing of data in the technical solutions of this application all comply with the relevant provisions of national laws and regulations.
[0029] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.
[0030] Before introducing specific embodiments, the application scenarios of the bandwidth adjustment method are described. The bandwidth adjustment method is applicable to situations requiring dynamic adjustment of I / O bandwidth in distributed storage systems. For example, Figure 1 This is a schematic diagram of a distributed storage system provided in an embodiment of the present invention. The distributed storage system includes a virtual machine cluster, a snapshot cluster, a storage pool, and a switch, etc. The storage pool may include multiple storage nodes, the virtual machine cluster is connected to the snapshot cluster, and the virtual machine cluster is connected to the storage nodes through a switch.
[0031] Figure 2 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. This embodiment is applicable to the dynamic adjustment of I / O bandwidth in distributed storage systems. The method can be executed by a bandwidth adjustment device, which can be implemented in hardware and / or software and can be configured in devices such as servers. Figure 2 As shown, the method includes:
[0032] S110. Obtain the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services.
[0033] In this embodiment, data transmission service refers to the service that requires data transmission in the distributed storage system. For example, data transmission service can be application input / output service issued from virtual machine, snapshot input / output service for migrating from storage pool to snapshot cluster, migration input / output service when storage pool fails, and migration input / output service in case of data rebalancing or system upgrade, etc., and is not specifically limited here.
[0034] Weighted bandwidth demand is determined based on the priority of the corresponding data transmission services. In other words, the weight of data transmission services can be determined based on their priority, and then the weighted bandwidth demand can be determined based on those weights. The priority can be determined based on the service type, service level agreement (SLA), or other business rules of the data transmission service; no specific limitations are made here. Real-time bandwidth demand represents the current load of the data transmission service. In other words, real-time bandwidth demand refers to the bandwidth requirement of the data transmission service as monitored in real time, which can be calculated based on performance indicators such as service throughput, read / write operations per second, or data transmission rate. Basic bandwidth demand represents the basic load of the data transmission service. In other words, basic bandwidth demand refers to the amount of bandwidth required for the data transmission service to operate under normal or baseline conditions. It can be obtained through analysis of historical performance data, such as the average, median, or other statistical measures of historical performance data; no specific limitations are made here.
[0035] S120. For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted required bandwidth of the data transmission service, the real-time required bandwidth of the data transmission service, and the basic required bandwidth of the data transmission service.
[0036] In this embodiment, for each data transmission service, the weighted bandwidth requirement, the real-time bandwidth requirement, and the basic bandwidth requirement are calculated to obtain the adjusted bandwidth of the data transmission service. The calculation method is not specifically limited here.
[0037] S130. If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0038] In this embodiment, the preset bandwidth adjustment stop condition can be that the sum of the adjusted bandwidths of multiple data transmission services is less than or equal to the rated bandwidth, or that the adjusted bandwidths of multiple data transmission services are each less than a preset bandwidth value, etc., and no specific limitation is made here.
[0039] Specifically, after determining that the preset bandwidth adjustment stop condition is met, the adjusted bandwidth of the data transmission service can be allocated to the corresponding data transmission service to improve the bandwidth adaptability of the data transmission service.
[0040] In this embodiment of the invention, the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand of multiple data transmission services are obtained. The weighted bandwidth demand is determined according to the priority of the corresponding data transmission services. For each data transmission service, the adjusted bandwidth is determined based on the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand. If the adjusted bandwidth of multiple data transmission services meets a preset bandwidth adjustment stop condition, bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services. This invention, by dynamically adjusting bandwidth based on weighted and real-time bandwidth demand, avoids bandwidth waste or insufficiency compared to fixed bandwidth allocation. It ensures reasonable allocation and use of bandwidth resources when data transmission service bandwidth demand fluctuates, thereby improving the adaptability of data transmission service bandwidth.
[0041] Figure 3 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. The method in this embodiment can be combined with various optional schemes in the bandwidth adjustment methods provided in the above embodiments. The bandwidth adjustment method provided in this embodiment has been further optimized. Optionally, the data transmission service includes two or more of the following: application input / output service originating from the virtual machine, snapshot input / output service migrating from the storage pool to the snapshot cluster, and migration input / output service in case of storage pool failure. Figure 3 As shown, the method includes:
[0042] S210. Obtain the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services. The data transmission services include two or more of the following: application input / output services issued from the virtual machine, snapshot input / output services migrated from the storage pool to the snapshot cluster, and migration input / output services when the storage pool fails.
[0043] S220. For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted required bandwidth of the data transmission service, the real-time required bandwidth of the data transmission service, and the basic required bandwidth of the data transmission service.
[0044] S230. If the adjusted bandwidth based on multiple data transmission services meets the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0045] In this embodiment, application input / output services originating from the virtual machine refer to input / output services generated by daily application operations, requiring a preset level of bandwidth to ensure operation. Snapshot input / output services migrating from the storage pool to the snapshot cluster refer to services such as creating data replicas, requiring a preset level of temporary bandwidth to ensure operation. Storage pool failures can be hard drive failures and / or node failures, which require additional bandwidth to ensure data migration.
[0046] It should be noted that by adaptively adjusting two or more of the following: application input / output services originating from virtual machines, snapshot input / output services migrating from the storage pool to the snapshot cluster, and migration input / output services in the event of a storage pool failure, reasonable allocation and use of bandwidth resources are achieved. Here, a storage pool failure can be a hard drive failure and / or a node failure.
[0047] Optionally, obtaining the weighted bandwidth requirement, the real-time bandwidth requirement, and the basic bandwidth requirement of multiple data transmission services includes: obtaining the weighted bandwidth requirement, the real-time bandwidth requirement, and the basic bandwidth requirement of the application input / output service originating from the virtual machine; obtaining the weighted bandwidth requirement, the real-time bandwidth requirement, and the basic bandwidth requirement of the snapshot input / output service migrated from the storage pool to the snapshot cluster; and obtaining the weighted bandwidth requirement, the real-time bandwidth requirement, and the basic bandwidth requirement of the migration input / output service when the storage pool fails.
[0048] Accordingly, for each data transmission service, determining the adjusted bandwidth of the data transmission service based on the weighted required bandwidth, the real-time required bandwidth, and the basic required bandwidth of the data transmission service includes: determining the adjusted bandwidth of the application input / output service originating from the virtual machine based on the weighted required bandwidth, the real-time required bandwidth, and the basic required bandwidth of the application input / output service originating from the virtual machine; determining the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster based on the weighted required bandwidth, the real-time required bandwidth, and the basic required bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster; and determining the adjusted bandwidth of the migration input / output service during storage pool failure based on the weighted required bandwidth, the real-time required bandwidth, and the basic required bandwidth of the migration input / output service during storage pool failure.
[0049] Accordingly, if the adjusted bandwidth of multiple data transmission services meets the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services, including: determining the sum of the adjusted bandwidth of each data transmission service based on the adjusted bandwidth of the application input / output service issued from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails; if the sum of the adjusted bandwidth of each data transmission service meets the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0050] In this embodiment, bandwidth adjustment is performed simultaneously on three services: application input / output services issued from the virtual machine, snapshot input / output services migrated from the storage pool to the snapshot cluster, and migration input / output services in case of storage pool failure. This achieves reasonable allocation and use of bandwidth resources.
[0051] Optionally, obtaining the weighted bandwidth requirement of the application input / output service issued from the virtual machine includes: obtaining the average bandwidth of the application input / output service issued from the virtual machine and the weight of the application input / output service issued from the virtual machine; and determining the weighted bandwidth requirement of the application input / output service issued from the virtual machine based on the average bandwidth of the application input / output service issued from the virtual machine and the weight of the application input / output service issued from the virtual machine.
[0052] Accordingly, obtaining the weighted bandwidth requirement of the snapshot input / output services migrated from the storage pool to the snapshot cluster includes: obtaining the average bandwidth of the snapshot input / output services migrated from the storage pool to the snapshot cluster and the weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster; and determining the weighted bandwidth requirement of the snapshot input / output services migrated from the storage pool to the snapshot cluster based on the average bandwidth of the snapshot input / output services migrated from the storage pool to the snapshot cluster and the weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster.
[0053] Accordingly, obtaining the weighted required bandwidth of the migration input / output service when the storage pool fails includes: obtaining the average bandwidth of the migration input / output service and the weight of the migration input / output service when the storage pool fails; and determining the weighted required bandwidth of the migration input / output service when the storage pool fails based on the average bandwidth of the migration input / output service and the weight of the migration input / output service when the storage pool fails.
[0054] In this embodiment, the average bandwidth refers to the average of multiple historical bandwidths under normal operating conditions for data transmission services.
[0055] For example, the formula for calculating the weighted bandwidth demand can be as follows:
[0056] BWdemand_i = Bi × Wi;
[0057] Where BWdemand_i represents the weighted bandwidth demand of data transmission service i, Bi represents the average bandwidth of data transmission service i, and Wi represents the weight of data transmission service i.
[0058] Optionally, the preset bandwidth adjustment stop condition includes: the total bandwidth of each data transmission service after adjustment is less than or equal to the rated bandwidth.
[0059] For example, if the total adjusted bandwidth of each data transmission service is less than or equal to the rated bandwidth, then the adjustment of the bandwidth of each data transmission service is stopped; if the total adjusted bandwidth of each data transmission service is greater than the rated bandwidth, then the adjusted bandwidth of each data transmission service is reduced so that the bandwidth meets the preset bandwidth adjustment stop condition.
[0060] Optionally, after determining the sum of adjusted bandwidths for each data transmission service based on the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service during storage pool failure, the method further includes: if the total adjusted bandwidth of each data transmission service does not meet a preset bandwidth adjustment stop condition, then based on a preset ratio, reducing the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service during storage pool failure, respectively, to obtain the adjusted reduced bandwidth of the application input / output service originating from the virtual machine, the adjusted reduced bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted reduced bandwidth of the migration input / output service during storage pool failure.
[0061] It should be noted that, based on preset ratios, the adjusted bandwidth of application input / output services originating from virtual machines, the adjusted bandwidth of snapshot input / output services migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of migration input / output services during storage pool failures are reduced respectively. This ensures that the bandwidth of each data transmission service is reasonably allocated and used, thereby improving the utilization efficiency of network bandwidth resources.
[0062] For example, the formula for calculating the preset ratio can be:
[0063] R = (BW) A +BW B +BW C ) / BW total ;
[0064] Where R represents the preset ratio, BW A BW represents the regulated bandwidth of application input / output traffic originating from the virtual machine. B BW represents the regulated bandwidth for snapshot input / output services migrating from the storage pool to the snapshot cluster. C BW represents the adjusted bandwidth for migrating I / O services in the event of a storage pool failure. total Indicates the rated bandwidth.
[0065] BWadjustedA =BW A / R;
[0066] BW adjustedB =BW B / R;
[0067] BW adjustedC =BW C / R;
[0068] BW adjustedA +BW adjustedB +BW adjustedC ≤BW total ;
[0069] Among them, BW adjustedA BW represents the reduced bandwidth of application input / output traffic originating from the virtual machine. adjustedB This indicates the adjusted and reduced bandwidth for snapshot input / output services migrating from the storage pool to the snapshot cluster, BW. adjustedC This indicates the reduced bandwidth after migrating input / output services in the event of a storage pool failure.
[0070] Optionally, after obtaining the adjusted and reduced bandwidth of the application input / output service originating from the virtual machine, the adjusted and reduced bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted and reduced bandwidth of the migration input / output service in the event of a storage pool failure, the method further includes: if the adjusted and reduced bandwidth of the application input / output service originating from the virtual machine is less than a first basic operating bandwidth, then setting the bandwidth of the application input / output service originating from the virtual machine to the first basic operating bandwidth; if the adjusted and reduced bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster is less than a second basic operating bandwidth, then setting the bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster to the second basic operating bandwidth; if the adjusted and reduced bandwidth of the migration input / output service in the event of a storage pool failure is less than a third basic operating bandwidth, then setting the bandwidth of the migration input / output service in the event of a storage pool failure to the third basic operating bandwidth.
[0071] The first basic operating bandwidth is the guaranteed bandwidth for application input / output services originating from the virtual machine, ensuring the operation of such services. Similarly, the second basic operating bandwidth is the guaranteed bandwidth for snapshot input / output services migrating from the storage pool to the snapshot cluster, ensuring their operation. The third basic operating bandwidth is the guaranteed bandwidth for migration input / output services in the event of a storage pool failure, ensuring their operation in the event of a storage pool failure.
[0072] It should be noted that when the bandwidth of the data transmission service after adjustment and reduction is less than the basic operating bandwidth, setting the bandwidth of the data transmission service to the basic operating bandwidth can avoid insufficient bandwidth for the data transmission service.
[0073] Figure 4 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. The method in this embodiment can be combined with various optional schemes in the bandwidth adjustment methods provided in the above embodiments. The bandwidth adjustment method provided in this embodiment has been further optimized. Optionally, obtaining the weighted demand bandwidth of multiple data transmission services includes: for each data transmission service, determining the weight of the data transmission service based on its priority; and determining the weighted demand bandwidth of the data transmission service based on its weight and the average bandwidth of the data transmission service. Figure 4 As shown, the method includes:
[0074] S310. For each data transmission service, determine the weight of the data transmission service based on its priority; determine the weighted bandwidth requirement of the data transmission service based on its weight and its average bandwidth.
[0075] S320: Obtain the real-time bandwidth requirements of multiple data transmission services and the basic bandwidth requirements of multiple data transmission services.
[0076] S330. For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted required bandwidth of the data transmission service, the real-time required bandwidth of the data transmission service, and the basic required bandwidth of the data transmission service.
[0077] S340. If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0078] In this embodiment, the priority of data transmission services is proportional to the weight of data transmission services.
[0079] For example, the formula for calculating weighted demand bandwidth can be as follows:
[0080] Wi = βQi;
[0081] BWdemand_i = Bi × Wi;
[0082] Where Qi represents the priority of data transmission service i, which is between 0 and 1; β represents the weight conversion coefficient; BWdemand_i represents the weighted bandwidth demand of data transmission service i; Bi represents the average bandwidth of data transmission service i; and Wi represents the weight of data transmission service i.
[0083] In this embodiment of the invention, the weight of data transmission services is determined based on their priority. Then, based on the weight of the data transmission service and its average bandwidth, the weighted bandwidth requirement of the data transmission service is determined, achieving priority-based bandwidth allocation and improving the adaptability of task bandwidth.
[0084] Figure 5 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. The method in this embodiment can be combined with various optional schemes in the bandwidth adjustment methods provided in the above embodiments. The bandwidth adjustment method provided in this embodiment has been further optimized. Optionally, determining the adjusted bandwidth of the data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service includes: determining the load variation bandwidth of the data transmission service based on the real-time demand bandwidth of the data transmission service and the basic demand bandwidth of the data transmission service; and determining the adjusted bandwidth of the data transmission service based on the load variation bandwidth of the data transmission service and the weighted demand bandwidth of the data transmission service. Figure 5 As shown, the method includes:
[0085] S410. Obtain the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services.
[0086] S420. For each data transmission service, determine the load-varying bandwidth of the data transmission service based on the real-time demand bandwidth and the basic demand bandwidth of the data transmission service; determine the adjusted bandwidth of the data transmission service based on the load-varying bandwidth and the weighted demand bandwidth of the data transmission service.
[0087] S430. If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0088] In this embodiment, load variation bandwidth refers to the bandwidth change caused by load fluctuations in data transmission services.
[0089] It should be noted that by monitoring the load changes of each service and adjusting the bandwidth accordingly, the available network bandwidth resources can be utilized more effectively.
[0090] Optionally, the formula for determining the adjusted bandwidth of the data transmission service is: Load change bandwidth of data transmission service = Real-time demand bandwidth of data transmission service - Basic demand bandwidth of data transmission service; Adjusted bandwidth of data transmission service = Weighted demand bandwidth of data transmission service + α × Load change bandwidth of data transmission service; where α represents the adjustment factor.
[0091] In this embodiment of the invention, the load-change bandwidth of the data transmission service is determined based on the real-time demand bandwidth and the basic demand bandwidth of the data transmission service. Then, the adjusted bandwidth of the data transmission service is determined based on the load-change bandwidth and the weighted demand bandwidth of the data transmission service. This realizes the automatic adjustment of the bandwidth of the data transmission service, so that bandwidth resources are rationally allocated and used, thereby improving the adaptability of the bandwidth of the data transmission service.
[0092] Figure 6 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. The method in this embodiment can be combined with various optional schemes in the bandwidth adjustment methods provided in the above embodiments. The bandwidth adjustment method provided in this embodiment has been further optimized. Optionally, after determining the adjusted bandwidth of the data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service, the method further includes: for any data transmission service, if the adjusted bandwidth of the data transmission service meets a preset bandwidth allocation condition, then determining the allocable bandwidth based on the weighted demand bandwidth of the data transmission service; and adjusting the bandwidth of each data transmission service based on the allocable bandwidth. Figure 6 As shown, the method includes:
[0093] S510. Obtain the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services.
[0094] S520. For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted required bandwidth of the data transmission service, the real-time required bandwidth of the data transmission service, and the basic required bandwidth of the data transmission service.
[0095] S530. If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0096] S540. For any data transmission service, if the adjusted bandwidth of the data transmission service meets the preset bandwidth allocation conditions, then the allocable bandwidth is determined based on the weighted demand bandwidth of the data transmission service; based on the allocable bandwidth, the bandwidth of each data transmission service is adjusted.
[0097] The preset bandwidth allocation conditions refer to the pre-set bandwidth redistribution conditions. Specifically, the preset bandwidth allocation conditions can be that the adjusted bandwidth of the data transmission service is greater than or equal to the minimum bandwidth of the data transmission service, etc., without further specific limitations.
[0098] For example, data transmission services may include data transmission service A, data transmission service B, and data transmission service C. Data transmission service A has a guaranteed bandwidth of bA, data transmission service B has a guaranteed bandwidth of bB, and data transmission service C has a guaranteed bandwidth of bC. If the adjusted bandwidth of data transmission service A is greater than the guaranteed bandwidth of bA, then the weighted required bandwidth of data transmission service A minus the guaranteed bandwidth of data transmission service A is used to obtain the allocable bandwidth. This allocable bandwidth is then allocated to data transmission services B and C to improve the overall data transmission rate of the services.
[0099] Figure 7 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of the present invention. Specifically, the priority of each data transmission service is obtained, and the weighted bandwidth requirement of each data transmission service is calculated based on its priority.
[0100] If the total weighted bandwidth requirement of each data transmission service exceeds the rated bandwidth, the weighted bandwidth requirement of each data transmission service will be reduced by a preset ratio. If the reduced bandwidth exceeds the minimum bandwidth, the process will return to determine if the total weighted bandwidth requirement of each data transmission service exceeds the rated bandwidth. If the reduced bandwidth does not exceed the minimum bandwidth, the bandwidth of the corresponding data transmission service will be set to the minimum bandwidth.
[0101] If the total weighted bandwidth demand of each data transmission service is not greater than the rated bandwidth, then the adjusted bandwidth of each data transmission service is calculated based on the weighted bandwidth demand of each data transmission service, the real-time bandwidth demand of each data transmission service, and the basic bandwidth demand of each data transmission service.
[0102] If the sum of the adjusted bandwidths of all data transmission services exceeds the rated bandwidth, the adjusted bandwidths of each data transmission service will be reduced by a preset ratio. If the reduced bandwidth is greater than the minimum guaranteed bandwidth, the process will return to determine if the sum of the adjusted bandwidths of all data transmission services exceeds the rated bandwidth; if the reduced bandwidth is not greater than the minimum guaranteed bandwidth, the bandwidth of the corresponding data transmission service will be set to the minimum guaranteed bandwidth.
[0103] If the sum of the adjusted bandwidths of each data transmission service does not exceed the rated bandwidth, then the adjustment of the bandwidth of each data transmission service will be terminated.
[0104] Figure 8 This is a schematic diagram of a bandwidth adjustment device provided in an embodiment of the present invention. Figure 8 As shown, the device includes:
[0105] The data transmission service bandwidth acquisition module 610 is used to acquire the weighted demand bandwidth of multiple data transmission services, the real-time demand bandwidth of multiple data transmission services, and the basic demand bandwidth of multiple data transmission services, wherein the weighted demand bandwidth is determined according to the priority of the corresponding data transmission services.
[0106] The data transmission service bandwidth adjustment module 620 is used to determine the adjusted bandwidth of each data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service.
[0107] The bandwidth adjustment stop determination module 630 is used to allocate bandwidth based on the adjusted bandwidth of the multiple data transmission services if the adjusted bandwidth based on the multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition.
[0108] In this embodiment of the invention, the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand of multiple data transmission services are obtained. The weighted bandwidth demand is determined according to the priority of the corresponding data transmission services. For each data transmission service, the adjusted bandwidth is determined based on the weighted bandwidth demand, real-time bandwidth demand, and basic bandwidth demand. If the adjusted bandwidth of multiple data transmission services meets a preset bandwidth adjustment stop condition, bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services. This invention, by dynamically adjusting bandwidth based on weighted and real-time bandwidth demand, avoids bandwidth waste or insufficiency compared to fixed bandwidth allocation. It ensures reasonable allocation and use of bandwidth resources when data transmission service bandwidth demand fluctuates, thereby improving the adaptability of data transmission service bandwidth.
[0109] In some optional implementations, the data transmission service includes two or more of the following: application input / output service originating from the virtual machine, snapshot input / output service migrating from the storage pool to the snapshot cluster, and migration input / output service in case of storage pool failure.
[0110] In some optional implementations, the data transmission service bandwidth acquisition module 610 includes:
[0111] The application input / output service bandwidth acquisition unit issued from the virtual machine is used to acquire the weighted demand bandwidth of the application input / output service issued from the virtual machine, the real-time demand bandwidth of the application input / output service issued from the virtual machine, and the basic demand bandwidth of the application input / output service issued from the virtual machine.
[0112] The snapshot input / output service bandwidth acquisition unit for migrating from the storage pool to the snapshot cluster is used to acquire the weighted required bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, the real-time required bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the basic required bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster.
[0113] The migration input / output service bandwidth acquisition unit during storage pool failure is used to acquire the weighted required bandwidth of the migration input / output service during storage pool failure, the real-time required bandwidth of the migration input / output service during storage pool failure, and the basic required bandwidth of the migration input / output service during storage pool failure.
[0114] Correspondingly, the data transmission service bandwidth adjustment module 620 is specifically used for:
[0115] The adjusted bandwidth of the application input / output service issued from the virtual machine is determined based on the weighted bandwidth requirement of the application input / output service issued from the virtual machine, the real-time bandwidth requirement of the application input / output service issued from the virtual machine, and the basic bandwidth requirement of the application input / output service issued from the virtual machine.
[0116] The adjusted bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is determined based on the weighted required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, the real-time required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the basic required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster.
[0117] The adjusted bandwidth of the migration input / output service during storage pool failure is determined based on the weighted required bandwidth of the migration input / output service during storage pool failure, the real-time required bandwidth of the migration input / output service during storage pool failure, and the basic required bandwidth of the migration input / output service during storage pool failure.
[0118] Correspondingly, the bandwidth adjustment stop judgment module 630 is specifically used for:
[0119] The total adjusted bandwidth of each data transmission service is determined based on the adjusted bandwidth of the application input / output service issued from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails.
[0120] If the total adjusted bandwidth of each data transmission service meets the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0121] In some optional implementations, the application input / output service bandwidth acquisition unit issued from the virtual machine is specifically used for:
[0122] Obtain the average bandwidth and weight of the application input / output services emitted from the virtual machine; determine the weighted bandwidth requirement of the application input / output services emitted from the virtual machine based on the average bandwidth and weight of the application input / output services emitted from the virtual machine.
[0123] Correspondingly, the snapshot input / output service bandwidth acquisition unit, which migrates from the storage pool to the snapshot cluster, is specifically used for:
[0124] Obtain the average bandwidth and weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster; determine the weighted bandwidth requirement of the snapshot input / output services migrated from the storage pool to the snapshot cluster based on the average bandwidth and weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster.
[0125] Correspondingly, the migration input / output service bandwidth acquisition unit in the event of a storage pool failure is specifically used for:
[0126] Obtain the average bandwidth of the migrated input / output services and the weight of the migrated input / output services when the storage pool fails; determine the weighted required bandwidth of the migrated input / output services when the storage pool fails based on the average bandwidth of the migrated input / output services and the weight of the migrated input / output services when the storage pool fails.
[0127] In some optional implementations, the preset bandwidth adjustment stop condition includes:
[0128] The total bandwidth after adjustment for each data transmission service is less than or equal to the rated bandwidth.
[0129] In some optional implementations, the bandwidth adjustment stop determination module 630 further includes:
[0130] The bandwidth reduction unit is configured to, based on a preset ratio, reduce the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails, if the adjusted bandwidth of each data transmission service does not meet the preset bandwidth adjustment stop condition. This reduces the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails.
[0131] In some alternative implementations, the bandwidth reduction unit is further configured to:
[0132] If the adjusted and reduced bandwidth of the application input / output service issued from the virtual machine is less than the first basic operating bandwidth, then the bandwidth of the application input / output service issued from the virtual machine is set to the first basic operating bandwidth.
[0133] If the adjusted and reduced bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is less than the second basic operating bandwidth, then the bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is set to the second basic operating bandwidth.
[0134] If the adjusted bandwidth of the migration input / output service during a storage pool failure is less than the third basic operating bandwidth, then the bandwidth of the migration input / output service during a storage pool failure will be set to the third basic operating bandwidth.
[0135] In some optional implementations, the data transmission service bandwidth acquisition module 610 is specifically used for:
[0136] For each data transmission service, the weight of the data transmission service is determined based on its priority; the weighted bandwidth requirement of the data transmission service is determined based on its weight and its average bandwidth.
[0137] In some optional implementations, the data transmission service bandwidth adjustment module 620 is specifically used for:
[0138] The load-varying bandwidth of the data transmission service is determined based on the real-time bandwidth demand and the basic bandwidth demand of the data transmission service.
[0139] The adjusted bandwidth of the data transmission service is determined based on the load-varying bandwidth of the data transmission service and the weighted demand bandwidth of the data transmission service.
[0140] In some optional implementations, the formula for determining the adjusted bandwidth of the data transmission service is:
[0141] Load variation bandwidth of data transmission service = Real-time demand bandwidth of data transmission service - Basic demand bandwidth of data transmission service;
[0142] Adjusted bandwidth for data transmission services = weighted demand bandwidth for data transmission services + α × load variation bandwidth for data transmission services;
[0143] Where α represents the adjustment factor.
[0144] In some alternative implementations, the bandwidth adjustment device further includes:
[0145] The bandwidth allocation module is used to determine the allocable bandwidth based on the weighted demand bandwidth of any data transmission service if the adjusted bandwidth of the data transmission service meets the preset bandwidth allocation conditions; and to adjust the bandwidth of each data transmission service based on the allocable bandwidth.
[0146] The bandwidth adjustment device provided in the embodiments of the present invention can execute the bandwidth adjustment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method.
[0147] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 9 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 9The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 9 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0148] like Figure 9 As shown, electronic device 500 may include a processing unit (e.g., central processing unit, graphics processor, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. An edit / output (I / O) interface 505 is also connected to bus 504.
[0149] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 9 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0150] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.
[0151] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0152] The electronic device provided in this embodiment and the bandwidth adjustment method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0153] This disclosure provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the bandwidth adjustment method provided in the above embodiments.
[0154] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0155] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0156] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0157] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0158] The system obtains the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services.
[0159] For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted bandwidth requirement of the data transmission service, the real-time bandwidth requirement of the data transmission service, and the basic bandwidth requirement of the data transmission service.
[0160] If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
[0161] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming 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).
[0162] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0163] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0164] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0165] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. 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 fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0166] This invention also provides a computer program product, including a computer program that, when executed by a processor, implements the bandwidth adjustment method provided in any embodiment of this application.
[0167] 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).
[0168] 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 adjustment method, characterized in that, include: The system obtains the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services, wherein the weighted bandwidth requirement is determined according to the priority of the corresponding data transmission services. For each data transmission service, the adjusted bandwidth of the data transmission service is determined based on the weighted bandwidth requirement of the data transmission service, the real-time bandwidth requirement of the data transmission service, and the basic bandwidth requirement of the data transmission service. If the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services. The preset bandwidth adjustment stop condition includes: the total bandwidth of each data transmission service after adjustment is less than or equal to the rated bandwidth; The step of determining the adjusted bandwidth of the data transmission service based on the weighted demand bandwidth, the real-time demand bandwidth, and the basic demand bandwidth of the data transmission service includes: determining the load-varying bandwidth of the data transmission service based on the real-time demand bandwidth and the basic demand bandwidth of the data transmission service; and determining the adjusted bandwidth of the data transmission service based on the load-varying bandwidth and the weighted demand bandwidth of the data transmission service. The formula for determining the adjusted bandwidth of the data transmission service is as follows: Load variation bandwidth of data transmission service = Real-time demand bandwidth of data transmission service - Basic demand bandwidth of data transmission service; Adjusted bandwidth of data transmission service = Weighted demand bandwidth of data transmission service + α × Load variation bandwidth of data transmission service; where α represents the adjustment factor.
2. The method according to claim 1, characterized in that, The data transmission service includes two or more of the following: application input / output service originating from the virtual machine, snapshot input / output service migrating from the storage pool to the snapshot cluster, and migration input / output service in case of storage pool failure.
3. The method according to claim 2, characterized in that, The acquisition of the weighted bandwidth requirement of multiple data transmission services, the real-time bandwidth requirement of multiple data transmission services, and the basic bandwidth requirement of multiple data transmission services includes: Obtain the weighted bandwidth requirement of the application input / output service issued from the virtual machine, the real-time bandwidth requirement of the application input / output service issued from the virtual machine, and the basic bandwidth requirement of the application input / output service issued from the virtual machine; Obtain the weighted bandwidth requirement of the snapshot input / output service migrated from the storage pool to the snapshot cluster, the real-time bandwidth requirement of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the basic bandwidth requirement of the snapshot input / output service migrated from the storage pool to the snapshot cluster; Obtain the weighted bandwidth requirement of the migration input / output service when the storage pool fails, the real-time bandwidth requirement of the migration input / output service when the storage pool fails, and the basic bandwidth requirement of the migration input / output service when the storage pool fails. Accordingly, determining the adjusted bandwidth of each data transmission service based on its weighted bandwidth requirement, real-time bandwidth requirement, and basic bandwidth requirement includes: The adjusted bandwidth of the application input / output service issued from the virtual machine is determined based on the weighted bandwidth requirement of the application input / output service issued from the virtual machine, the real-time bandwidth requirement of the application input / output service issued from the virtual machine, and the basic bandwidth requirement of the application input / output service issued from the virtual machine. The adjusted bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is determined based on the weighted required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, the real-time required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the basic required bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster. The adjusted bandwidth of the migration input / output service during storage pool failure is determined based on the weighted required bandwidth of the migration input / output service during storage pool failure, the real-time required bandwidth of the migration input / output service during storage pool failure, and the basic required bandwidth of the migration input / output service during storage pool failure. Accordingly, if the adjusted bandwidth based on multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition, then bandwidth allocation based on the adjusted bandwidth of the multiple data transmission services includes: The total adjusted bandwidth of each data transmission service is determined based on the adjusted bandwidth of the application input / output service issued from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails. If the total adjusted bandwidth of each data transmission service meets the preset bandwidth adjustment stop condition, then bandwidth allocation is performed based on the adjusted bandwidth of the multiple data transmission services.
4. The method according to claim 3, characterized in that, The step of obtaining the weighted bandwidth requirement of the application input / output services emitted from the virtual machine includes: Obtain the average bandwidth and weight of the application input / output services emitted from the virtual machine; determine the weighted bandwidth requirement of the application input / output services emitted from the virtual machine based on the average bandwidth and weight of the application input / output services emitted from the virtual machine. Accordingly, obtaining the weighted bandwidth requirement of the snapshot input / output service migrated from the storage pool to the snapshot cluster includes: Obtain the average bandwidth and weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster; determine the weighted bandwidth requirement of the snapshot input / output services migrated from the storage pool to the snapshot cluster based on the average bandwidth and weight of the snapshot input / output services migrated from the storage pool to the snapshot cluster. Accordingly, obtaining the weighted bandwidth requirement for migration input / output services in the event of a storage pool failure includes: Obtain the average bandwidth of the migrated input / output services and the weight of the migrated input / output services when the storage pool fails; determine the weighted required bandwidth of the migrated input / output services when the storage pool fails based on the average bandwidth of the migrated input / output services and the weight of the migrated input / output services when the storage pool fails.
5. The method according to claim 3, characterized in that, After determining the sum of the adjusted bandwidths of each data transmission service based on the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service in the event of a storage pool failure, the method further includes: If the adjusted bandwidth of each data transmission service does not meet the preset bandwidth adjustment stop condition, then based on a preset ratio, the adjusted bandwidth of the application input / output service originating from the virtual machine, the adjusted bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted bandwidth of the migration input / output service when the storage pool fails are reduced respectively, to obtain the adjusted reduced bandwidth of the application input / output service originating from the virtual machine, the adjusted reduced bandwidth of the snapshot input / output service migrating from the storage pool to the snapshot cluster, and the adjusted reduced bandwidth of the migration input / output service when the storage pool fails.
6. The method according to claim 5, characterized in that, After obtaining the adjusted and reduced bandwidth of the application input / output services issued from the virtual machine, the adjusted and reduced bandwidth of the snapshot input / output services migrated from the storage pool to the snapshot cluster, and the adjusted and reduced bandwidth of the migration input / output services in the event of a storage pool failure, the method further includes: If the adjusted and reduced bandwidth of the application input / output service issued from the virtual machine is less than the first basic operating bandwidth, then the bandwidth of the application input / output service issued from the virtual machine is set to the first basic operating bandwidth, which is the minimum bandwidth of the application input / output service issued from the virtual machine. If the adjusted and reduced bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is less than the second basic operating bandwidth, then the bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster is set to the second basic operating bandwidth, which is the minimum bandwidth of the snapshot input / output service migrated from the storage pool to the snapshot cluster. If the adjusted and reduced bandwidth of the migration input / output service during a storage pool failure is less than the third basic operating bandwidth, then the bandwidth of the migration input / output service during a storage pool failure is set to the third basic operating bandwidth, which is the minimum bandwidth for the migration input / output service during a storage pool failure.
7. The method according to claim 1, characterized in that, The process of obtaining the weighted bandwidth requirements of multiple data transmission services includes: For each data transmission service, the weight of the data transmission service is determined based on its priority; the weighted bandwidth requirement of the data transmission service is determined based on its weight and its average bandwidth.
8. The method according to claim 1, characterized in that, After determining the adjusted bandwidth of the data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service, the method further includes: For any data transmission service, if the adjusted bandwidth of the data transmission service meets the preset bandwidth allocation condition, then the allocable bandwidth is determined based on the weighted required bandwidth of the data transmission service and the guaranteed bandwidth of the data transmission service. The preset bandwidth allocation condition is that the adjusted bandwidth of the data transmission service is greater than or equal to the guaranteed bandwidth of the data transmission service. Based on the allocable bandwidth, the bandwidth of each data transmission service is adjusted.
9. A bandwidth adjustment device, characterized in that, include: The data transmission service bandwidth acquisition module is used to acquire the weighted demand bandwidth of multiple data transmission services, the real-time demand bandwidth of multiple data transmission services, and the basic demand bandwidth of multiple data transmission services, wherein the weighted demand bandwidth is determined according to the priority of the corresponding data transmission services. The data transmission service bandwidth adjustment module is used to determine the adjusted bandwidth of each data transmission service based on the weighted demand bandwidth of the data transmission service, the real-time demand bandwidth of the data transmission service, and the basic demand bandwidth of the data transmission service. The bandwidth adjustment stop determination module is used to allocate bandwidth based on the adjusted bandwidth of the multiple data transmission services if the adjusted bandwidth based on the multiple data transmission services is determined to meet the preset bandwidth adjustment stop condition. The preset bandwidth adjustment stop condition includes: the total bandwidth of each data transmission service after adjustment is less than or equal to the rated bandwidth; The data transmission service bandwidth adjustment module is specifically used for: The load-varying bandwidth of the data transmission service is determined based on the real-time bandwidth demand and the basic bandwidth demand of the data transmission service. The adjusted bandwidth of the data transmission service is determined based on the load variation bandwidth of the data transmission service and the weighted demand bandwidth of the data transmission service. The formula for determining the adjusted bandwidth of the data transmission service is as follows: The bandwidth required for data transmission service load changes = the real-time bandwidth required for data transmission service - the basic bandwidth required for data transmission service. Adjusted bandwidth for data transmission services = weighted demand bandwidth for data transmission services + α × load variation bandwidth for data transmission services; Where α represents the adjustment factor.
10. An electronic device, characterized in that, The system includes a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, implements the bandwidth adjustment method as described in any one of claims 1-8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the bandwidth adjustment method as described in any one of claims 1-8.
12. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the bandwidth adjustment method as described in any one of claims 1-8.
Citation Information
Patent Citations
Bandwidth setting method, device and system
CN106453143A
Weight-based bandwidth allocation for network traffic
US7983299B1