Bandwidth adjustment method, apparatus, device, storage medium, and program product
By monitoring the bandwidth utilization of cloud service user instances and analyzing flow logs to determine the services that need adjustment, and generating rate limiting configuration commands, the problem of excessive bandwidth consumption by high-traffic services in cloud services is solved, achieving bandwidth balance among multiple services and improving overall response speed.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2026-04-07
AI Technical Summary
In cloud services, high-volume business operations of multi-service enterprises consume most of the bandwidth, causing significant latency or inability to perform other services normally. Existing technologies have not been able to effectively solve the bandwidth adjustment problem.
By monitoring the bandwidth utilization of user instances, when a threshold is reached, the service to be adjusted is determined based on flow log analysis, and a rate limiting configuration command is generated to limit its bandwidth in order to achieve bandwidth balance.
It achieves balanced bandwidth across multiple services, improves overall response speed, and prevents high-traffic services from consuming excessive bandwidth and affecting the normal operation of other services.
Smart Images

Figure CN115811503B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a bandwidth adjustment method, apparatus, device, storage medium, and program product. Background Technology
[0002] With the rapid development of cloud services, more and more enterprises are choosing cloud services to conduct their business.
[0003] When using cloud services, enterprises purchase fixed bandwidth for network communication based on their own needs. For enterprises with multiple services, when high-traffic services are running, they often consume most or even fully utilize the bandwidth, causing significant latency or preventing other services from functioning properly.
[0004] Therefore, there is an urgent need to provide a bandwidth adjustment method to limit the bandwidth of high-volume services. Summary of the Invention
[0005] This application provides a bandwidth adjustment method, apparatus, device, storage medium, and program product. By monitoring bandwidth utilization, it can promptly and proactively trigger bandwidth limitation policies, enabling the smooth operation of various enterprise services and improving the overall response speed of the services.
[0006] In a first aspect, this application provides a bandwidth adjustment method, including:
[0007] When the bandwidth utilization of a user instance reaches a first threshold, the service to be adjusted is determined from multiple services corresponding to the user instance based on the flow log of the user instance.
[0008] Determine the bandwidth limit parameters for the service to be adjusted;
[0009] Based on the bandwidth limitation parameters, a rate limiting configuration instruction for the user instance is generated to limit the bandwidth of the service to be adjusted.
[0010] Optionally, when the bandwidth utilization of a user instance reaches a first threshold, based on the flow logs of the user instance, the services to be adjusted are determined from multiple services corresponding to the user instance, including:
[0011] When the bandwidth utilization of a user instance reaches a first threshold, based on the session address of the data packet in the flow log, the traffic usage of each service corresponding to the user instance during a preset time period is counted.
[0012] Based on the usage traffic of each service corresponding to the user instance, the service to be adjusted is determined from the multiple services corresponding to the user instance.
[0013] Optionally, based on the usage traffic of each service corresponding to the user instance, the service to be adjusted is determined from multiple services corresponding to the user instance, including:
[0014] Based on the usage traffic of each service corresponding to the user instance, sort the services corresponding to the user instance.
[0015] Based on the sorting results, the services to be adjusted are determined from the multiple services corresponding to the user instance.
[0016] Optionally, determining the bandwidth limiting parameters of the service to be adjusted includes:
[0017] Based on the bandwidth required by the real-time service corresponding to the user instance, determine the bandwidth limit parameters of the service to be adjusted.
[0018] Optionally, the number of services to be adjusted is multiple, and the bandwidth limiting parameter is a rate limiting bandwidth ratio. The rate limiting bandwidth ratio of the services to be adjusted is determined based on the bandwidth required by the real-time services corresponding to the user instance, including:
[0019] Based on the bandwidth required for the real-time services corresponding to the user instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
[0020] Optionally, the method further includes:
[0021] After the rate limiting configuration command is issued, when the bandwidth utilization of the user instance drops to the second threshold, a wide-rate configuration command for the user instance is generated to either increase or cancel the bandwidth limiting parameters of the service to be adjusted.
[0022] Secondly, this application provides another bandwidth adjustment method, including:
[0023] Obtain the cross-domain bandwidth of the cross-domain enterprise instance, wherein the cross-domain bandwidth is the network bandwidth allocated between different regions;
[0024] Based on the cross-domain bandwidth, monitor the bandwidth utilization of cross-domain enterprise instances;
[0025] Collect the flow logs of the cross-domain enterprise instance;
[0026] When the bandwidth utilization rate reaches the first threshold, the service to be adjusted is determined from multiple services corresponding to the cross-domain enterprise instance based on the flow log;
[0027] Determine the bandwidth limit parameters for the service to be adjusted;
[0028] Based on the bandwidth limitation parameters, a rate limiting configuration instruction is generated for the cross-domain enterprise instance to limit the bandwidth of the service to be adjusted.
[0029] Thirdly, this application provides a bandwidth adjustment device, comprising:
[0030] The service to be adjusted determination module is used to determine the service to be adjusted from multiple services corresponding to the user instance based on the flow log of the user instance when the bandwidth utilization rate of the user instance reaches a first threshold.
[0031] The parameter determination module is used to determine the bandwidth limit parameters of the service to be adjusted.
[0032] The rate limiting configuration instruction generation module is used to generate a rate limiting configuration instruction for the user instance based on the bandwidth limiting parameters, so as to limit the bandwidth of the service to be adjusted.
[0033] Optional, the business logic to be adjusted module includes:
[0034] The traffic statistics unit is used to count the traffic usage of each service corresponding to the user instance within a preset time period based on the session address of the data packet in the flow log when the bandwidth utilization of the user instance reaches a first threshold.
[0035] The service to be adjusted determination unit is used to determine the service to be adjusted from multiple services corresponding to the user instance based on the usage traffic of each service corresponding to the user instance.
[0036] Optional, the business unit to be adjusted is specifically used for:
[0037] Based on the usage traffic of each service corresponding to the user instance, sort the services corresponding to the user instance.
[0038] Based on the sorting results, the services to be adjusted are determined from the multiple services corresponding to the user instance.
[0039] Optional, parameter determination module, specifically used for:
[0040] Based on the bandwidth required by the real-time service corresponding to the user instance, determine the bandwidth limit parameters of the service to be adjusted.
[0041] Optionally, the number of services to be adjusted is multiple, the bandwidth limiting parameter is the rate limiting bandwidth ratio, and the parameter determination module is specifically used for:
[0042] Based on the bandwidth required for the real-time services corresponding to the user instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
[0043] Optionally, the device further includes:
[0044] The bandwidth limiting module is used to generate a bandwidth limiting configuration instruction for the user instance when the bandwidth utilization rate of the user instance drops to a second threshold after the bandwidth limiting configuration instruction is issued, so as to either increase or cancel the bandwidth limiting parameters of the service to be adjusted.
[0045] Fourthly, this application provides a bandwidth adjustment device, comprising:
[0046] A processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method provided in the first or second aspect of this application.
[0047] Fifthly, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method provided in the first or second aspect of this application.
[0048] Sixthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the method provided in the first or second aspect of this application.
[0049] The bandwidth adjustment method, apparatus, device, storage medium, and program products provided in this application, targeting cloud service users with multiple services, when a user instance's bandwidth utilization is detected to be high, such as reaching a first threshold, determine one or more services with high bandwidth utilization from among the multiple services corresponding to the user instance based on the user instance's flow logs. A bandwidth limiting ratio is then set for these services to restrict their bandwidth, preventing them from consuming excessive bandwidth and causing slow response times or even failures in other user services. By limiting the bandwidth of these services, bandwidth balancing across multiple services is achieved, improving the overall response speed of multiple services. Attached Figure Description
[0050] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0051] Figure 1 A schematic diagram illustrating an application scenario provided in an embodiment of this application;
[0052] Figure 2 A flowchart illustrating a bandwidth adjustment method provided in an embodiment of this application;
[0053] Figure 3 A flowchart illustrating another bandwidth adjustment method provided in an embodiment of this application;
[0054] Figure 4 This is a schematic diagram of the structure of a bandwidth adjustment system provided in one embodiment of this application;
[0055] Figure 5 This is a schematic diagram of the structure of a cloud service platform provided in one embodiment of this application;
[0056] Figure 6 A flowchart illustrating another bandwidth adjustment method provided in an embodiment of this application;
[0057] Figure 7 This is a schematic diagram of the structure of a bandwidth adjustment device provided in an embodiment of this application;
[0058] Figure 8 This is a schematic diagram of the structure of a bandwidth adjustment device provided in an embodiment of this application.
[0059] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0060] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0061] First, let me explain the names involved in this application:
[0062] An instance refers to a series of processes in an operating system and the memory blocks allocated to these processes. An instance is the channel for accessing a database; all user operations on the data in the database, including data querying and data maintenance, are performed through the database instance.
[0063] Figure 1 This is a schematic diagram illustrating an application scenario provided in an embodiment of this application, such as... Figure 1 As shown, large enterprise systems typically deploy their cloud enterprise networks in multiple regions to meet the requirements of deployment near production and for disaster recovery considerations. Figure 1 The regions 1 to N in the dataset are given, where N is any positive integer greater than 1. Figure 1Taking N as an example, the system deployed in Region 1 is the headquarters. Region 1 (headquarters) interacts with other regions through corresponding cross-regional leased lines, namely cross-domain leased lines 1 to 3. Through forwarding routers, cross-domain leased lines and local data centers, the enterprise's cloud network, namely the cloud enterprise network, is formed.
[0064] In some embodiments, apart from the region corresponding to the headquarters, other regions can also exchange data through corresponding cross-domain leased lines. This can be configured based on the specific needs of the enterprise. For example, region 2 and region 3 can exchange data through cross-domain leased line 4.
[0065] For cost reasons, the bandwidth of each cross-domain leased line purchased by enterprises has a bandwidth limit, such as 10M, 20M, 100M, etc. Multiple services may exist between different regions, and different services have different requirements for bandwidth and network latency, with traffic peaks and troughs. To meet the network needs of different services and ensure the smooth operation of multiple services, this application provides a bandwidth adjustment method. For multiple cross-domain services (services between different regions) of an enterprise, when the bandwidth occupancy rate of the corresponding cross-domain leased line is too high, by analyzing flow logs, one or more services requiring bandwidth limiting are identified. Based on the determined bandwidth limiting ratio, the bandwidth of the services to be adjusted is limited to prevent them from consuming excessive bandwidth, which could lead to excessive latency for other services on the cross-domain leased line.
[0066] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0067] Figure 2 This is a flowchart illustrating a bandwidth adjustment method provided in an embodiment of this application. The bandwidth adjustment method can be executed by an electronic device with corresponding data processing capabilities, such as a bandwidth adjustment device or system. The electronic device can be any device in a cloud service platform, and its form can be a server, computer, etc.
[0068] like Figure 2 As shown, the bandwidth adjustment method includes the following steps:
[0069] Step S201: When the bandwidth utilization rate of a user instance reaches a first threshold, the service to be adjusted is determined from multiple services corresponding to the user instance based on the flow log of the user instance.
[0070] Bandwidth utilization is the ratio of the bandwidth currently used by services within a user instance to the total bandwidth corresponding to that user instance. A user instance is an instance created by the cloud service platform for a user, and this user can be a large enterprise, such as a cross-domain enterprise or a cross-border enterprise, or a logistics company or a large gaming company.
[0071] The first threshold can be 70%, 80%, or other values. It can be customized by the user or determined based on the service attributes of multiple services corresponding to the user instance. Service attributes can include the service's requirements for network latency, bandwidth, and other performance aspects, as well as the service type.
[0072] User instances can be cross-domain instances, which are instances running in different service regions, such as instances between the Shenzhen region and the Hong Kong region, or cross-border instances, such as instances between the Beijing region and the European region.
[0073] The system can monitor the bandwidth utilization of user instances in real time. When the bandwidth utilization is greater than or equal to a first threshold, it retrieves the flow logs of the user instance, such as flow logs from the previous 6 hours, the previous day, the previous three days, or other recent periods. Based on the retrieved flow logs, at least one service to be adjusted is identified from the multiple services corresponding to the user instance.
[0074] Flow logs are used to describe data packets flowing in the network that are acquired or captured within a time window. This includes the number of packets, the size of the packets, and information such as the source IP address, destination IP address, source port, destination port, and communication protocol of the session corresponding to the packet.
[0075] The time window can be 10 min, 5 min, 2 min, or other values.
[0076] The flow log server can record the flow logs of user instances. The bandwidth adjustment device or system obtains the flow logs of user instances from the flow log server and uses flow log analysis to identify one or more services that need to be adjusted.
[0077] The flow log server can collect and forward flow logs from routers through the network corresponding to the user instance.
[0078] In some embodiments, the service to be adjusted is a service whose bandwidth usage exceeds a preset bandwidth, or whose bandwidth utilization rate exceeds a first ratio. The first ratio is the ratio of the preset bandwidth to the total bandwidth corresponding to the user instance. The bandwidth utilization rate of the service is the ratio of the bandwidth used by the service to the total bandwidth of the corresponding user instance.
[0079] For example, the preset bandwidth can be a fixed value, such as 10M, 8M or other values.
[0080] Specifically, the first ratio or preset bandwidth can be determined based on the number of services corresponding to the user instance, or based on parameters such as the average or maximum historical bandwidth usage of the services to be adjusted.
[0081] For example, the preset bandwidth can be the ratio of the total bandwidth corresponding to the user instance to the number of services. The preset bandwidth can be the sum of the maximum historical bandwidth usage of the service to be adjusted and the preset bandwidth. The preset bandwidth can be 1M, 3M, or other values.
[0082] Step S202: Determine the bandwidth limitation parameters of the service to be adjusted.
[0083] The bandwidth limiting parameter can be either the upper limit bandwidth or the rate-limited bandwidth ratio. The rate-limited bandwidth ratio is the ratio of the upper limit bandwidth to the total bandwidth corresponding to the user instance.
[0084] The bandwidth limit parameters for the service to be adjusted can be determined based on the configuration information of the user instance.
[0085] The configuration information of a user instance can include bandwidth limit parameters for each service to be adjusted, such as the rate limiting bandwidth ratio.
[0086] Users can configure their corresponding user instances by accessing the instance configuration page on their user terminals, including entering the configuration information mentioned above.
[0087] In some embodiments, the bandwidth limiting parameter can be determined based on the bandwidth usage of the service to be adjusted. For example, the bandwidth limiting parameter can be determined as a preset percentage of the average bandwidth used within a first time period, wherein the preset percentage is less than 1 and can be 80%, 75%, or other percentages. The first time period can be the most recent 30 minutes, the most recent 15 minutes, or other times.
[0088] Step S203: Generate a rate limiting configuration instruction for the user instance based on the bandwidth limiting parameters to limit the bandwidth of the service to be adjusted.
[0089] After determining the bandwidth limit parameters for each service to be adjusted, a rate limiting configuration instruction for the user instance is generated based on each bandwidth limit parameter to limit the bandwidth of the corresponding service to be adjusted.
[0090] After generating a rate limiting configuration command for a user instance, the bandwidth adjustment device or system can send the command to the user instance. The user instance can then limit the bandwidth of the service to be adjusted according to the command to prevent the service from using more bandwidth than the corresponding bandwidth limit or from exceeding the corresponding rate limiting bandwidth ratio.
[0091] The bandwidth adjustment method provided in this application targets cloud service users with multiple services. When a user instance's bandwidth utilization is detected to be high, such as reaching a first threshold, based on the user instance's flow logs, one or more services with high bandwidth consumption are identified from the multiple services corresponding to the user instance and a bandwidth limiting ratio is set for these services. This limits the bandwidth of the services to be adjusted, preventing them from consuming excessive bandwidth and causing slow response times or even failures in other services. By limiting the bandwidth of the services to be adjusted, bandwidth balancing across multiple services is achieved, improving the overall response speed of multiple services.
[0092] Figure 3 This is a flowchart illustrating another bandwidth adjustment method provided in an embodiment of this application. Figure 2 Based on the illustrated embodiment, steps S201 and S202 are further refined, and steps to relax or remove bandwidth restrictions are added after step S203. For example... Figure 3 As shown, the bandwidth adjustment method provided in this embodiment may include the following steps:
[0093] Step S301: When the bandwidth utilization rate of a user instance reaches a first threshold, based on the session address of the data packet in the flow log, the usage traffic of each service corresponding to the user instance during a preset time period is counted.
[0094] Each service corresponds to a session or a session address. The session address of a data packet can be determined based on the source IP address and destination IP address of each data packet in the flow log. Two data packets belonging to the same session or with the same session address have the same or opposite source IP address and destination IP address.
[0095] The bandwidth adjustment device can obtain the flow logs of user instances from the flow logs stored on the flow log server.
[0096] For example, if the source IP address and destination IP address of data packet 1 are address 1 and address 2, the source IP address and destination IP address of data packet 2 are address 2 and address 1, and the source IP address and destination IP address of data packet 3 are address 1 and address 2, then data packets 1, 2 and 3 have the same session address and belong to the same session.
[0097] Based on the session address corresponding to each data packet within the time window recorded in the flow log, the data packets corresponding to each session are obtained. Based on the data packet size corresponding to each session, the traffic usage of the service corresponding to the session in a preset time period is calculated. The preset time period can be an integer multiple of the aforementioned time window.
[0098] Step S302: Based on the usage traffic of each service corresponding to the user instance, determine the service to be adjusted from the multiple services corresponding to the user instance.
[0099] The service to be adjusted can be one that uses more data than the preset data limit. The preset data limit can be configured by the user or use the default value.
[0100] It can also identify services to be adjusted from multiple services corresponding to a user instance based on the comparison results of usage traffic with parameters such as the average and maximum historical usage traffic. Services to be adjusted can be those whose usage traffic ratio to the average or maximum historical usage traffic is greater than a preset ratio, which can be 1.5, 2, or other values.
[0101] Optionally, based on the usage traffic of each service corresponding to the user instance, the service to be adjusted is determined from multiple services corresponding to the user instance, including:
[0102] Based on the usage traffic of each service corresponding to the user instance, the services corresponding to the user instance are sorted; based on the sorting results, the services to be adjusted are determined from the multiple services corresponding to the user instance.
[0103] Specifically, user instances can be sorted by traffic usage from high to low or low to high for each service.
[0104] The services to be adjusted can be the top M services with the most traffic. M can be 3, 5, 10, 20 or other values, which can be configured by the user or use the default value.
[0105] The services corresponding to user instances can be sorted from high to low traffic usage, and the services with traffic usage exceeding the preset traffic usage in the top M services of the sorted results are identified as services to be adjusted.
[0106] In some embodiments, to improve the efficiency of bandwidth adjustment, the bandwidth adjustment device can acquire the flow logs of user instances stored in the flow log server according to a set period, and pre-aggregate the data in the flow logs according to the session address to obtain indicators such as data packets corresponding to each session or service and the usage traffic within the corresponding time window. It can also sort each service according to the usage traffic within a preset time period. Therefore, when the bandwidth utilization rate of a user instance is detected to reach a first threshold, the usage traffic of each service corresponding to the user instance, or the sorting result of the usage traffic of each service corresponding to the user instance, can be directly obtained.
[0107] The services to be adjusted refer to those services corresponding to the user instance, excluding real-time services, i.e., non-real-time services. Real-time services have higher requirements for network latency than non-real-time services. The services to be adjusted are usually high-traffic services, such as offline data synchronization services and settlement services. Real-time services are those that require real-time response, such as order placement services, live streaming services, and voice call services.
[0108] Step S303: Determine the bandwidth limit parameters of the service to be adjusted based on the bandwidth required by the real-time service corresponding to the user instance.
[0109] The sum of the bandwidth required by each real-time service in a user instance can be calculated and denoted as the real-time service bandwidth. Then, the bandwidth limit parameters of the service to be adjusted can be determined based on the difference between the total bandwidth corresponding to the user instance and the real-time service bandwidth.
[0110] The upper limit bandwidth of each service to be adjusted can be determined as the ratio of the first bandwidth to the number of services to be adjusted. The first bandwidth can be the difference between the total bandwidth corresponding to the user instance and the real-time service bandwidth, or it can be the difference between the total bandwidth corresponding to the user instance and the sum of the real-time service bandwidth and the bandwidth redundancy. The bandwidth redundancy can be 2M, 3M, 5M or other smaller values.
[0111] For example, if the total bandwidth corresponding to a user instance is 100M, and the user instance corresponds to 2 real-time services, requiring 8M and 12M bandwidth respectively, that is, the real-time service bandwidth is 20M, if the number of services to be adjusted is 4, then the upper limit bandwidth of the services to be adjusted is 20M, and the bandwidth limiting ratio is 20%.
[0112] Based on the bandwidth required for real-time services, determine the upper limit bandwidth or rate limiting bandwidth ratio for the services to be adjusted (non-real-time services). This will allow for more bandwidth to be reserved for real-time services after the implementation of the corresponding bandwidth adjustment strategy, thereby reducing network latency and improving the response speed of real-time services.
[0113] Different services to be adjusted have different bandwidth requirements. To improve the accuracy of bandwidth limit parameter determination, the bandwidth limit parameters of the service to be adjusted can also be determined based on parameters such as the service type, historical bandwidth usage, and service level of the service to be adjusted, as well as the bandwidth required by the real-time service corresponding to the user instance.
[0114] Specifically, the weighting coefficients of the services to be adjusted can be determined based on parameters such as service type, historical bandwidth usage, and service level. Based on the initial bandwidth and the weighting coefficients of each service to be adjusted, the bandwidth limit parameters for each service are determined. The higher the service level, the higher the weighting coefficient. Service types can include real-time and non-real-time types; services to be adjusted can be non-real-time. Service types can also include first-type and second-type services. First-type services can be identified as services to be adjusted, while second-type services, such as critical or core services, are not allowed to be identified as such.
[0115] The ratio of the determined bandwidth limit parameters should be consistent with the ratio of the weight coefficient of the service to be adjusted.
[0116] Optionally, the number of services to be adjusted is multiple, and the bandwidth limiting parameter is a rate limiting bandwidth ratio. The rate limiting bandwidth ratio of the services to be adjusted is determined based on the bandwidth required by the real-time services corresponding to the user instance, including:
[0117] Based on the bandwidth required for the real-time services corresponding to the user instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
[0118] In some embodiments, the ratio of the bandwidth limitation parameters of each service to be adjusted is equal to or approximately equal to a first ratio.
[0119] For example, taking three services to be adjusted as an example, the first ratio is 1:3:2, the total bandwidth corresponding to the user instance is 80M, and there is one real-time service with a required bandwidth of 20M. Then the upper limit bandwidth of the three services to be adjusted is 10M, 30M and 20M respectively.
[0120] By combining the ratio of the latest traffic usage of the service to be adjusted, bandwidth limiting parameters are differentiated for the service to be adjusted, thus improving the accuracy of bandwidth limiting parameter determination.
[0121] Step S304: Generate a rate limiting configuration instruction for the user instance based on the bandwidth limiting parameters to limit the bandwidth of the service to be adjusted.
[0122] Step S305: Send the rate limiting configuration command to the user instance.
[0123] The bandwidth adjustment device or system sends rate limiting configuration commands to the user instance via API (Application Programming Interface). The user instance then limits the bandwidth of each service to be adjusted based on the bandwidth limit parameters specified in the rate limiting configuration command, preventing the bandwidth used by the service from exceeding its corresponding upper limit.
[0124] Figure 4 This is a schematic diagram of the structure of a bandwidth adjustment system provided in one embodiment of this application, as shown below. Figure 4 As shown, the bandwidth adjustment system includes a configuration management server, a data storage module, a traffic analysis module, a log collection module, a rule engine, an API interface, and a task scheduling module. It may also include an early warning receiving module.
[0125] The configuration management server is responsible for providing a configuration management interface for users or operations and maintenance personnel to configure access user instances, forwarding router instances, as well as the aforementioned bandwidth limit parameters, bandwidth required for real-time services, flow log generation rules, and other configurations.
[0126] The log collection module interfaces with the streaming log server to collect raw data from the streaming logs.
[0127] The traffic analysis module performs link traffic analysis on the raw data collected from the flow logs. It can also rank link traffic by time and store the ranking results in the data storage module. One service corresponds to one link, and the link traffic is the traffic used by the corresponding service.
[0128] The data storage module is responsible for saving various configurations, sorting results, link traffic, scheduling history, and other information. The scheduling history is a record of the scheduling operations performed by the task scheduling module.
[0129] The rules engine is used to implement various rules set by the configuration management service module and make corresponding decisions based on the rules, such as generating rate limiting configuration instructions based on the aforementioned method.
[0130] The API interface is used to send corresponding configurations to user instances based on the results of the rule engine's judgment, thereby enabling the collection of flow logs and the issuance of rate limiting configuration commands.
[0131] The task scheduling module is responsible for internal scheduling and coordination, including the collection of stream logs and the triggering of rule engine calculations.
[0132] The early warning receiving module is used to receive the bandwidth utilization rate of user instances and issue an early warning when the bandwidth utilization rate is higher than the first threshold. The task scheduling module triggers task scheduling to adjust the bandwidth based on the rule engine and sends the generated rate limiting configuration instructions to user instances through the API interface.
[0133] Step S306: When the bandwidth utilization rate of the user instance drops to the second threshold, a wide bandwidth configuration instruction for the user instance is generated to either increase or cancel the bandwidth limit parameter of the service to be adjusted.
[0134] The second threshold is less than the first threshold. The second threshold can be 40%, 30%, 20%, or other values, which can be configured by the user or use the default value.
[0135] To improve the bandwidth utilization of user instances, when the bandwidth utilization of user instances is low, such as during the off-peak period of real-time business bandwidth usage, the bandwidth limit parameters originally set for the business to be adjusted can be canceled or relaxed, so that the business to be adjusted can occupy more bandwidth and improve the bandwidth utilization of user instances.
[0136] The upward adjustment value of the bandwidth limit parameter can be a fixed value, or it can be determined based on one or more of the following parameters: bandwidth utilization rate, number of services to be adjusted, historical bandwidth usage, service type, and service level.
[0137] When a user corresponds to multiple user instances, the bandwidth adjustment method provided in the above embodiments can be used to adjust the bandwidth for each user instance separately.
[0138] If a user instance corresponds to three or more regions, the bandwidth adjustment method provided in the above embodiment can be used to adjust the bandwidth of the user instance between each pair of regions. The bandwidth utilization rate of the user instance can be replaced with the bandwidth utilization rate of the user instance between the corresponding two regions, and the service corresponding to the user instance can also be replaced with the service of the user instance between the corresponding two regions. The relevant parameters between the two regions are expanded, and through adaptive adjustment, the bandwidth adjustment method for user instances corresponding to three or more regions between each pair of regions can be obtained, which will not be elaborated here.
[0139] Figure 5 This is a schematic diagram of the structure of a cloud service platform provided in one embodiment of this application, as shown below. Figure 5As shown, the cloud service platform includes a bandwidth adjustment system, user instances, a flow log server, and operation and maintenance configuration equipment. The operation and maintenance configuration equipment is used to configure various parameters such as the first threshold, second threshold, and bandwidth limit parameters, as well as to configure the flow log rules for forwarding routers, and can also be used to configure bandwidth adjustment policies or rules. User instances can be implemented through distributed service nodes provided by the cloud service platform. User instances periodically sample flow logs from forwarding routers and store the sampled flow logs in the log server. The bandwidth adjustment system monitors the bandwidth utilization of user instances by calling APIs and obtains the flow logs stored in the flow log server. The bandwidth adjustment system periodically queries and analyzes the flow logs of user instances, sorts the high-traffic network links, and stores the sorting results. When the bandwidth utilization of a user instance exceeds the first threshold, an alert is issued, triggering network link analysis. Based on the link analysis results of the flow logs corresponding to the user instance, the system determines the five-tuple of the rate-limited link (high-traffic link or service to be adjusted) and the rate-limiting bandwidth ratio. The five-tuple includes the source IP address, source port, destination IP address, destination port, and transport layer protocol. Meanwhile, the bandwidth adjustment system is also used to relax or cancel the bandwidth limiting ratio of high-traffic links after the bandwidth utilization of a user instance drops to the second threshold, so as to improve bandwidth utilization.
[0140] In this embodiment, when the bandwidth utilization of a user instance is too high, such as exceeding a first threshold, flow log analysis identifies one or more services with high traffic as services requiring adjustment. Based on the bandwidth requirements of real-time services, bandwidth limits are imposed on these services to prevent them from consuming excessive bandwidth and causing high network latency, thus affecting the operation of real-time services. Simultaneously, after adjusting the bandwidth of the services requiring adjustment, the bandwidth utilization of the user instance continues to be monitored. When the bandwidth utilization is low, such as falling below a second threshold, the original bandwidth limit for the services requiring adjustment is relaxed, thereby increasing the bandwidth utilization of the user instance.
[0141] Figure 6 This is a flowchart illustrating another bandwidth adjustment method provided in this application embodiment. This embodiment addresses the case where the user is a cross-domain enterprise, and the user instance is referred to as a cross-domain enterprise instance. The bandwidth corresponding to the user instance is called the cross-domain bandwidth. Figure 6 As shown, for cross-domain enterprises, the bandwidth adjustment method provided in this embodiment may include the following steps:
[0142] Step S601: Obtain the cross-domain bandwidth of the cross-domain enterprise instance.
[0143] The cross-domain bandwidth refers to the network bandwidth allocated between different regions. Cross-domain bandwidth can be configured by cross-domain enterprises based on their own needs.
[0144] A cross-domain enterprise can correspond to at least two regions. Taking three regions, A1 to A3, as an example, the cross-domain bandwidth between A1 and A2 can be 50M, the cross-domain bandwidth between A1 and A3 can be 80M, and the cross-domain bandwidth between A3A and A2 can be 20M.
[0145] Step S602: Monitor the bandwidth utilization rate of cross-domain enterprise instances based on the cross-domain bandwidth.
[0146] If a cross-domain enterprise corresponds to 3 or more regions, then for every two regions, monitor the bandwidth utilization rate of the cross-domain enterprise instance between those two regions, which is the ratio between the currently used bandwidth and the corresponding cross-domain bandwidth.
[0147] Step S603: Collect the flow logs of the cross-domain enterprise instance.
[0148] Step S603 can be executed at any time before step S604. If it can be executed in parallel with step S601 or step S602, this application limits the timing of step S603's execution. Figure 6 Taking the parallel execution of steps S603, S601, and S602 as an example.
[0149] In some embodiments, flow logs of cross-domain enterprise instances can be collected periodically.
[0150] Step S604: When the bandwidth utilization rate reaches the first threshold, the service to be adjusted is determined from multiple services corresponding to the cross-domain enterprise instance based on the flow log.
[0151] Step S605: Determine the bandwidth limitation parameters of the service to be adjusted.
[0152] Step S606: Based on the bandwidth limitation parameters, generate a rate limiting configuration instruction for the cross-domain enterprise instance to limit the bandwidth of the service to be adjusted.
[0153] The steps of the bandwidth adjustment method provided in this embodiment can be performed with reference to the steps provided in the previous embodiments, only the object is changed from a user instance to a cross-domain enterprise instance, which will not be repeated here.
[0154] Figure 7 This is a schematic diagram of the structure of a bandwidth adjustment device provided in an embodiment of this application, as shown below. Figure 7 As shown, the bandwidth adjustment device includes: a service to be adjusted determination module 710, a parameter determination module 720, and a rate limiting configuration instruction generation module 730.
[0155] The adjustment-to-service determination module 710 is used to determine the adjustment-to-service from multiple services corresponding to the user instance based on the flow log of the user instance when the bandwidth utilization rate of the user instance reaches a first threshold; the parameter determination module 720 is used to determine the bandwidth limit parameters of the adjustment-to-service; and the rate limiting configuration instruction generation module 730 is used to generate a rate limiting configuration instruction for the user instance according to the bandwidth limit parameters, so as to limit the bandwidth of the adjustment-to-service.
[0156] Optional, the business to be adjusted determination module 710 includes:
[0157] The traffic statistics unit is used to count the traffic usage of each service corresponding to the user instance within a preset time period based on the session address of the data packet in the flow log when the bandwidth utilization of the user instance reaches a first threshold.
[0158] The service to be adjusted determination unit is used to determine the service to be adjusted from multiple services corresponding to the user instance based on the usage traffic of each service corresponding to the user instance.
[0159] Optional, the business unit to be adjusted is specifically used for:
[0160] Based on the usage traffic of each service corresponding to the user instance, sort the services corresponding to the user instance.
[0161] Based on the sorting results, the services to be adjusted are determined from the multiple services corresponding to the user instance.
[0162] Optional, parameter determination module 720, specifically used for:
[0163] Based on the bandwidth required by the real-time service corresponding to the user instance, determine the bandwidth limit parameters of the service to be adjusted.
[0164] Optionally, the number of services to be adjusted is multiple, the bandwidth limiting parameter is the rate limiting bandwidth ratio, and the parameter determination module 720 is specifically used for:
[0165] Based on the bandwidth required for the real-time services corresponding to the user instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
[0166] Optionally, the device further includes:
[0167] The bandwidth limiting module is used to generate a bandwidth limiting configuration instruction for the user instance when the bandwidth utilization rate of the user instance drops to a second threshold after the bandwidth limiting configuration instruction is issued, so as to either increase or cancel the bandwidth limiting parameters of the service to be adjusted.
[0168] The bandwidth adjustment device provided in this application embodiment can be used to execute the bandwidth adjustment method provided in any of the above embodiments. Its implementation principle and technical effect are similar, and will not be described again here.
[0169] Figure 8 This is a schematic diagram of the structure of a bandwidth adjustment device provided in an embodiment of this application, as shown below. Figure 8 As shown, the bandwidth adjustment device 800 provided in this embodiment includes:
[0170] At least one processor 810; and a memory 820 communicatively connected to the at least one processor; wherein the memory 820 stores computer-executable instructions; the at least one processor 810 executes the computer-executable instructions stored in the memory to cause the bandwidth adjustment device 800 to perform the method provided in any of the foregoing embodiments.
[0171] Optionally, the memory 820 can be either standalone or integrated with the processor 810.
[0172] The implementation principle and technical effects of the bandwidth adjustment device provided in this embodiment can be found in the foregoing embodiments, and will not be repeated here.
[0173] This application also provides a cloud service platform, including a stream log server, a distributed cloud server cluster for providing user instances, and a bandwidth adjustment device 800.
[0174] This application also provides a computer-readable storage medium storing computer-executable instructions. When the computer-executable instructions are executed by a processor, the methods provided in any of the foregoing embodiments can be implemented.
[0175] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the method provided in any of the foregoing embodiments.
[0176] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed.
[0177] The integrated modules implemented as software functional modules described above can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application.
[0178] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor. The memory may include high-speed memory, and may also include non-volatile memory, such as at least one disk storage device, and may also be a USB flash drive, external hard drive, read-only memory, disk, or optical disc, etc.
[0179] The aforementioned storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory, electrically erasable programmable read-only memory, erasable programmable read-only memory, programmable read-only memory, read-only memory, magnetic storage, flash memory, magnetic disk, or optical disk. The storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0180] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Alternatively, the storage medium can be an integral part of the processor. The processor and storage medium can reside within an application-specific integrated circuit (ASIC). Alternatively, the processor and storage medium can exist as discrete components in an electronic device or bandwidth adjustment device.
[0181] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0182] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0183] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods provided in the various embodiments of this application.
[0184] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0185] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A bandwidth adjustment method, characterized in that, include: When the bandwidth utilization of a user instance reaches a first threshold, the service to be adjusted is determined from multiple services corresponding to the user instance based on the flow log of the user instance. Determine the bandwidth limit parameters for the service to be adjusted; Based on the bandwidth limitation parameters, a rate limiting configuration instruction for the user instance is generated to limit the bandwidth of the service to be adjusted; The number of services to be adjusted is multiple, and the bandwidth limiting parameter is the rate limiting bandwidth ratio; Determining the bandwidth limitation parameters of the service to be adjusted includes: Based on the bandwidth required for the real-time services corresponding to the user instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
2. The method according to claim 1, characterized in that, When the bandwidth utilization of a user instance reaches a first threshold, based on the flow logs of the user instance, the services to be adjusted are determined from multiple services corresponding to the user instance, including: When the bandwidth utilization of a user instance reaches a first threshold, based on the session address of the data packet in the flow log, the traffic usage of each service corresponding to the user instance during a preset time period is counted. Based on the usage traffic of each service corresponding to the user instance, the service to be adjusted is determined from the multiple services corresponding to the user instance.
3. The method according to claim 2, characterized in that, Based on the usage traffic of each service corresponding to the user instance, the services to be adjusted are determined from multiple services corresponding to the user instance, including: Based on the usage traffic of each service corresponding to the user instance, sort the services corresponding to the user instance. Based on the sorting results, the services to be adjusted are determined from the multiple services corresponding to the user instance.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: After the rate limiting configuration command is issued, when the bandwidth utilization of the user instance drops to the second threshold, a wide-rate configuration command for the user instance is generated to either increase or cancel the bandwidth limiting parameters of the service to be adjusted.
5. A bandwidth adjustment method, characterized in that, The method includes: Obtain the cross-domain bandwidth of the cross-domain enterprise instance, wherein the cross-domain bandwidth is the network bandwidth allocated between different regions; Based on the cross-domain bandwidth, monitor the bandwidth utilization of cross-domain enterprise instances; Collect the flow logs of the cross-domain enterprise instance; When the bandwidth utilization rate reaches the first threshold, the service to be adjusted is determined from multiple services corresponding to the cross-domain enterprise instance based on the flow log; Determine the bandwidth limit parameters for the service to be adjusted; Based on the bandwidth limitation parameters, a rate limiting configuration instruction for the cross-domain enterprise instance is generated to limit the bandwidth of the service to be adjusted; The number of services to be adjusted is multiple, and the bandwidth limiting parameter is the rate-limiting bandwidth ratio; determining the bandwidth limiting parameter of the services to be adjusted includes: Based on the bandwidth required for the real-time services corresponding to the cross-domain enterprise instance and the first ratio, the bandwidth limit parameters for each of the services to be adjusted are determined, wherein the first ratio is the ratio of the traffic used by each of the services to be adjusted within a preset time period.
6. A bandwidth adjustment device, characterized in that, include: The service to be adjusted determination module is used to determine the service to be adjusted from multiple services corresponding to the user instance based on the flow log of the user instance when the bandwidth utilization rate of the user instance reaches a first threshold. The parameter determination module is used to determine the bandwidth limit parameters of the service to be adjusted. The rate limiting configuration instruction generation module is used to generate a rate limiting configuration instruction for the user instance based on the bandwidth limiting parameters, so as to limit the bandwidth of the service to be adjusted; The number of services to be adjusted is multiple, and the bandwidth limiting parameter is the rate limiting bandwidth ratio. The parameter determining module is specifically used to determine the bandwidth limiting parameter of each service to be adjusted based on the bandwidth required by the real-time service corresponding to the user instance and the first ratio, wherein the first ratio is the ratio of the traffic used by each service to be adjusted within a preset time period.
7. A bandwidth adjustment device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-5.
9. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method according to any one of claims 1-5.
Citation Information
Patent Citations
Commercial WIFI (Wireless Fidelity) user dynamic bandwidth limiting method and system
CN106550393A