Method, device and medium for scheduling users to gateway clusters in public cloud networks

By automatically selecting and configuring the gateway cluster, the problem of high labor costs in the public cloud network when user migration and first-time cloud access is solved, and efficient user scheduling without manual scheduling is achieved.

CN114915633BActive Publication Date: 2024-12-27ALIBABA CLOUD COMPUTING CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202210426861.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-21
Publication Date
2024-12-27
Estimated Expiration
2042-04-21

AI Technical Summary

Technical Problem

In public cloud networks, user migration and first access to the cloud require manual planning and configuration of routing tables, resulting in high labor costs.

Method used

By determining the demand characteristics of the target user and the load and delay of the gateway cluster, the appropriate gateway cluster is automatically selected and the routing table is configured to realize user scheduling.

Benefits of technology

No manual scheduling is required, which reduces operation and maintenance costs and improves the efficiency of automated migration and configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114915633B_ABST
    Figure CN114915633B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method, device and medium for scheduling users to gateway clusters in a public cloud network. The method includes: determining a target user in the public cloud network to which a gateway cluster needs to be assigned, the target user belongs to a target region, obtaining the cluster load of multiple gateway clusters deployed in the target region in the public cloud network, and the network delay corresponding to the gateway cluster, and according to the cluster load and network delay, adopting the principle of selecting a gateway cluster that matches the demand characteristics of the target user, selecting one from the multiple gateway clusters as the target gateway cluster corresponding to the target user, and configuring the routing table of the target user to the target gateway cluster. The present application can reduce labor costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing technology, and in particular to a method, device and medium for scheduling users to a gateway cluster in a public cloud network. Background Art

[0002] The gateway cluster in the public cloud network has the ability to provide data forwarding for a wide range of users, and the gateway cluster includes multiple gateways.

[0003] The gateway clusters in the public cloud network are distributed. Multiple gateway clusters can be distributed in the same region, and data belonging to the same user can be forwarded by one of the multiple gateway clusters. When some users need to be migrated from their current gateway cluster due to demand characteristics, cluster operation and construction, etc., it is usually necessary for operation and maintenance personnel to manually plan and migrate, which has high labor costs. Summary of the invention

[0004] The embodiments of the present application provide a method, device and medium for scheduling users to a gateway cluster in a public cloud network, so as to solve the problem of high labor costs in the prior art.

[0005] In a first aspect, an embodiment of the present application provides a method for scheduling a user to a gateway cluster in a public cloud network, including:

[0006] Determine a target user in the public cloud network to which a gateway cluster needs to be allocated, the target user belongs to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple;

[0007] Obtaining cluster loads of the multiple gateway clusters and network delays corresponding to the multiple gateway clusters;

[0008] According to the cluster load and the network delay, a gateway cluster matching the demand characteristics of the target user is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user, where the demand characteristics of the target user are used to characterize the delay requirement and throughput requirement of the target user;

[0009] The routing table for the target user is configured to the target gateway cluster.

[0010] In a second aspect, an embodiment of the present application provides a device for scheduling a user to a gateway cluster in a public cloud network, including:

[0011] A determination module, configured to determine a target user in the public cloud network to which a gateway cluster needs to be allocated, the target user belonging to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple;

[0012] An acquisition module, used to acquire cluster loads of the multiple gateway clusters and network delays corresponding to the multiple gateway clusters;

[0013] A selection module, configured to select, according to the cluster load and the network delay, a gateway cluster matching the demand characteristics of the target user, from the multiple gateway clusters as a target gateway cluster corresponding to the target user, wherein the demand characteristics of the target user are used to characterize the delay requirements and throughput requirements of the target user;

[0014] A configuration module is used to configure the routing table for the target user to the target gateway cluster.

[0015] In a third aspect, an embodiment of the present application provides a computer device, comprising: a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement a method as described in any one of the first aspects.

[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed, the method as described in any one of the first aspects is implemented.

[0017] An embodiment of the present application further provides a computer program, which, when executed by a computer, is used to implement the method as described in any one of the first aspects.

[0018] In an embodiment of the present application, a target user who needs to be assigned a gateway cluster in a public cloud network is determined, the target user belongs to a target region, the cluster load of multiple gateway clusters deployed in the target region in the public cloud network, and the network delay corresponding to the gateway cluster are obtained, and according to the cluster load and the network delay, the principle of selecting a gateway cluster that matches the demand characteristics of the target user is adopted, and one is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user, and the routing table of the target user is configured to the target gateway cluster, so that the target user who needs to be assigned a gateway cluster in the public cloud network (for example, a new user on the cloud or a user who needs to migrate from the gateway cluster where he is currently located) is automatically scheduled to the gateway cluster according to the cluster load and the network delay, without the need for manual scheduling, thereby reducing labor costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0020] Figure 1 A schematic diagram of the architecture of a public cloud network used in an embodiment of the present application;

[0021] Figure 2 A schematic diagram of sending packets for a virtual machine in a public cloud network to access the public network;

[0022] Figure 3 A flowchart of a method for scheduling users to a gateway cluster in a public cloud network provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of collecting cluster load and cluster health status provided in an embodiment of the present application;

[0024] Figure 5 A schematic diagram of detecting network delay provided in an embodiment of the present application;

[0025] Figure 6 A schematic diagram of selecting a corresponding gateway cluster for a user provided in an embodiment of the present application;

[0026] Figure 7 A schematic diagram of providing a scheduling scheme and executing scheduling based on the statistical and analytical information provided in an embodiment of the present application;

[0027] Figure 8 A schematic diagram of the structure of an apparatus for scheduling users to a gateway cluster in a public cloud network provided in an embodiment of the present application;

[0028] Fig. 9 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0029] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0030] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms of "a", "said", and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings, and "multiple" generally includes at least two, but does not exclude the inclusion of at least one.

[0031] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0032] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.

[0033] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a product or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such a product or system. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the product or system including the elements.

[0034] In addition, the step sequence in the following method embodiments is only an example and not a strict limitation.

[0035] Figure 1 Schematic diagram of the architecture of the public cloud network used in the embodiment of the present application. Figure 1 As shown in the figure, in the public cloud network, users (also called tenants) can customize their own private network (i.e. Figure 1The private network in a VPC can be a virtual private cloud (VPC). Different private networks are logically isolated, and users can create and manage virtual machines in their own private networks. Switches are basic network devices that make up a private network and can be used to connect different virtual machines. Gateways are the hubs of private networks and can connect to switches in private networks. They can also be gateway devices that connect private networks to other networks (such as the Internet and the user's local network).

[0036] Among them, switches and gateways are software modules in the proprietary network. Operation and maintenance personnel can configure switches and gateways through the console. Specifically, in response to the configuration operations of the operation and maintenance personnel, the console can trigger the management and control nodes to send configuration information to the switches and gateways by calling APIs to configure the switches and gateways. Figure 1 Configuration path in .

[0037] Take the example of a virtual machine accessing the public network. Figure 2 As shown in the figure, the message for the virtual machine to access the public network is first sent from the virtual machine to the switch (step 1), then from the switch to the gateway in step 2, and then from the gateway to the public network in step 3. Figure 1 The data path in .

[0038] In a public cloud network, multiple important components provide services in the form of clusters. Gateways that carry large amounts of traffic also provide services in the form of clusters, which can be called gateway clusters. The message sent by the virtual machine can carry the virtual network identifier of the user to which the virtual machine belongs (for example, a VXLAN network identifier (VNI)). After receiving the message, the gateway cluster can parse the virtual network identifier, determine the corresponding routing table based on the virtual network identifier, and forward the message based on the routing table. Among them, the corresponding routing table determined based on the virtual network identifier of a user is the routing table of the user. When a user's routing table is configured to a gateway cluster, the gateway cluster can forward messages belonging to the user's virtual machines. The user can be understood as a user carried by the gateway cluster, and the gateway cluster can be understood as the gateway cluster where the user is located. The same gateway cluster can carry multiple users. It should be understood that a routing table may include routing table items, which can be referred to as table items.

[0039] The network clusters in the public cloud network can be distributed in multiple regions. There can be multiple gateway clusters in the same region. Multiple gateway clusters can be deployed in different areas of the same region. Gateway clusters have different delays due to the distance between them, and the number of users that a single gateway cluster can carry is limited by physical resources. In actual applications, gateway clusters may be eliminated or expanded due to changes in the overall planning of the computer room, which will cause user migration.

[0040] Usually, when one or more users need to be migrated out of a gateway cluster, the operation and maintenance personnel need to manually determine the migration plan (i.e., they need to manually determine which gateway cluster to migrate the one or more users to) and manually migrate (i.e., they need to manually delete the user's routing table from the original gateway cluster through the console and configure it to the new gateway cluster) based on the delay caused by the physical distance of the network, the load of the gateway cluster itself, and the characteristics of user needs. This method has the problem of high labor costs.

[0041] In addition, for users who are going to the cloud for the first time, operation and maintenance personnel are also required to manually determine which gateway cluster to configure the user's routing table to based on the delay caused by the physical distance of the network, the load of the gateway cluster itself, and the characteristics of the demand. They also need to manually configure the user's routing table to the determined gateway cluster through the console, which also leads to the problem of high labor costs.

[0042] In order to solve the technical problem of high labor cost in the prior art, in an embodiment of the present application, a target user who needs to be assigned a gateway cluster in a public cloud network is determined, the target user belongs to a target region, the cluster load of multiple gateway clusters deployed in the target region in the public cloud network, and the network delay corresponding to the gateway cluster are obtained, and according to the cluster load and the network delay, the principle of selecting a gateway cluster that matches the demand characteristics of the target user is adopted, and one is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user, and the routing table of the target user is configured to the target gateway cluster, wherein the demand characteristics of the target user are used to characterize the delay requirements and throughput requirements of the target user, so that the target users who need to be assigned a gateway cluster in the public cloud network (such as new users on the cloud or users who need to migrate from their current gateway cluster) are automatically scheduled to the gateway cluster according to the cluster load and the network delay, without manual scheduling, thereby reducing labor costs.

[0043] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.

[0044] Figure 3 A flow chart of a method for scheduling users to a gateway cluster in a public cloud network provided in an embodiment of the present application. For example, the method provided in this embodiment can be Figure 1 The control node in the execution, such as Figure 3 As shown, the method of this embodiment may include:

[0045] Step 31, determining a target user in a public cloud network to which a gateway cluster needs to be allocated, the target user belongs to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple;

[0046] Step 32, obtaining cluster loads of the multiple gateway clusters and network delays corresponding to the multiple gateway clusters;

[0047] Step 33, according to the cluster load and network delay, a gateway cluster matching the demand characteristics of the target user is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user, where the demand characteristics of the target user are used to characterize the delay requirements and throughput requirements of the target user;

[0048] Step 34: configure the routing table for the target user to the target gateway cluster.

[0049] In the embodiment of the present application, the target user may be any user in the public cloud network who needs to be assigned a gateway cluster. The users in the public cloud network who need to be assigned a gateway cluster may include users who are already hosted on the gateway cluster and are not going to the cloud for the first time, and / or users who are not hosted on the gateway cluster and are going to the cloud for the first time.

[0050] Optionally, step 31 may specifically include: when it is determined that the first user in the public cloud network needs to be migrated out of the gateway cluster where the first user is currently located, determining the first user as a target user in the public cloud network to which a gateway cluster needs to be allocated.

[0051] Exemplarily, the first user may include a user on a gateway cluster whose cluster traffic load is greater than a traffic load threshold. In this case, in one embodiment, the method provided in this embodiment may further include: determining at least one user on a gateway cluster whose cluster traffic load is greater than a traffic load threshold as a user that needs to be migrated from the gateway cluster where the user is currently located. Thus, users on a gateway cluster with an excessively high traffic load may be migrated out, so as to achieve advance traffic scheduling by prejudging the cluster traffic load.

[0052] And / or exemplary, the first user may include a user on a gateway cluster that needs to be eliminated. In this case, in one embodiment, the method provided in this embodiment may further include: determining all users on the gateway cluster that needs to be eliminated as users that need to be migrated out of the gateway cluster they are currently in. Thus, the users on the gateway cluster that needs to be eliminated can be migrated out.

[0053] And / or exemplary, the first user may include users on the original gateway cluster in the area where the number of gateway clusters is expanded. In this case, in one embodiment, the method provided in this embodiment may also include: determining multiple users on the original gateway cluster in the area where the number of gateway clusters is expanded as users that need to be migrated from the gateway cluster they are currently in. Thereby, users on the original gateway cluster in the area where the number of gateway clusters is expanded are migrated to the new gateway cluster.

[0054] And / or optionally, step 31 may specifically include: when determining that the second user is a user who accesses the cloud for the first time in the public cloud network, determining the second user as a target user in the public cloud network to which a gateway cluster needs to be allocated. The second user is a user who accesses the cloud for the first time in the public cloud network.

[0055] When purchasing a virtual machine, the user can select a region to determine the region where the computing device running the purchased virtual machine is located. Therefore, the region to which the target user belongs can be recorded as the target region. In the embodiment of the present application, the division standard of the region is not limited, for example, one province can be one region.

[0056] In an embodiment of the present application, there are multiple gateway clusters deployed in a target area in a public cloud network, and the cluster loads of the multiple gateway clusters can be obtained.

[0057] The cluster load of the gateway cluster may specifically be any type of information that can characterize the overall load of the gateway cluster. The cluster load of the gateway cluster may include cluster traffic load, and further may include cluster table item load. The cluster traffic load may represent the traffic carried by the gateway cluster, and the cluster table item load may represent the table item contained by the gateway cluster.

[0058] The cluster traffic load may include a cluster traffic usage rate, and may further include a cluster traffic growth score. The cluster traffic usage rate may satisfy the following formula (1), and the cluster traffic growth score may satisfy the following formula (2).

[0059]

[0060]

[0061] In formula (1) and formula (2), f_util represents the cluster traffic utilization rate, f_usage represents the cluster traffic size at the current moment, and f_capacity represents the maximum traffic size that the cluster can carry; f_grow_score represents the cluster traffic growth score, t1 and t2 represent time, t2 is later than t1, f_usage1 represents the cluster traffic size at t1, and f_usage2 represents the cluster traffic size at t2.

[0062] For example, for any gateway cluster in a public cloud network, if its f_util>=f_util_threshold, one or more users carried on the gateway cluster can be used as target users, so that the one or more users carried on the gateway cluster can be migrated to a gateway cluster with low traffic usage. Wherein, f_util_threshold can represent a traffic usage threshold, and f_util_threshold can be an empirical value.

[0063] Furthermore, for any gateway cluster in the public cloud network, if its f_growth_score>=f_growth_score_threshold, one or more users hosted on the gateway cluster can be used as target users, so that one or more users on the gateway cluster can be migrated to a gateway cluster with low traffic level. Wherein, f_growth_score_threshold can represent the traffic growth score threshold, and f_growth_score_threshold can be an empirical value.

[0064] The cluster entry load may include a cluster entry usage rate, and may further include a cluster entry growth score. The cluster entry usage rate may satisfy the following formula (3), and the cluster entry growth score may satisfy the following formula (4).

[0065]

[0066]

[0067] In formula (3) and formula (4), c_util represents the cluster table item usage rate, c_usage represents the number of cluster table items at the current time, and c_capacity represents the maximum number of table items that the cluster can accommodate; c_grow_score represents the cluster table item growth score, t1 and t2 represent time, t2 is later than t1, c_usage1 represents the number of cluster table items at t1, and c_usage2 represents the number of cluster table items at t2.

[0068] Optionally, in addition to obtaining the cluster load of the multiple gateway clusters, the cluster health status of the multiple gateway clusters can also be obtained. The cluster health status can be healthy or unhealthy, so as to avoid the problem of scheduling the target user to a gateway cluster with an unhealthy cluster health status, resulting in the inability to forward the user's message abnormally, causing losses to the user.

[0069] For example, Figure 4As shown, the information collection module can be used to collect the cluster health status, cluster table item load and cluster traffic load of the gateway cluster. It should be understood that the information collection module is a functional module. In one embodiment, the information collection module can be included in the execution subject of the method provided in the embodiment of the present application, for example, it can be included in the management and control node. In this case, obtaining the cluster load of the multiple gateway clusters in step 31 can specifically include collecting the cluster load of the multiple gateway clusters.

[0070] Among them, for the cluster health status, for example, the traffic size of a single gateway in the gateway cluster can be queried, and the traffic size of the gateway cluster can be obtained by statistics. If the statistical graph is a smooth curve without a sharp drop, the cluster health status of the gateway cluster can be considered healthy, otherwise the cluster health status of the gateway cluster can be considered unhealthy. For another example, the number of abnormal messages of a single gateway in the gateway cluster can be queried, and the number of abnormal messages of the gateway cluster in the recent period can be obtained by statistics. If the number of abnormal messages of the network cluster is less than the preset threshold, the cluster health status of the gateway cluster can be considered healthy, otherwise the health status of the gateway cluster can be considered unhealthy.

[0071] For cluster entry load, for example, the number of rows of routing entries sent to a single gateway in the gateway cluster may be received, and the cluster entry load of the gateway cluster may be obtained based on the number of rows of routing entries sent to the single gateway in the gateway cluster.

[0072] For the cluster traffic load, for example, the traffic load of a single gateway in the gateway cluster can be queried, and the cluster traffic load of the gateway cluster can be statistically obtained based on the queried traffic load of the single gateway in the gateway cluster.

[0073] In one embodiment, the management and control node may count the cluster load of the gateway cluster once every period of time, so that the management and control node can dynamically obtain the cluster load of the gateway cluster.

[0074] In an embodiment of the present application, in addition to obtaining the cluster load of the multiple gateway clusters, the network delay corresponding to the multiple gateway clusters can also be obtained. Among them, the network delay corresponding to the gateway cluster may be related to the counterpart corresponding to the target user, and the counterpart corresponding to the target user may be related to the service that the target user needs to use. In one embodiment, when the target user needs to use the services provided by one or more other virtual machines on the cloud, the counterpart corresponding to the target user may include the one or more other virtual machines. In another embodiment, when the target user needs to use the services provided by the Internet Data Center (IDC), the counterpart corresponding to the target user may include the Internet Data Center.

[0075] Exemplarily, when the counterpart corresponding to the target user includes one or more other virtual machines on the cloud, the network delay corresponding to a gateway cluster may include the network delay between the virtual machine under the gateway cluster and any other virtual machine among the one or more other virtual machines or a virtual machine under the same gateway cluster as the one or more other virtual machines.

[0076] Exemplarily, when the opposite end corresponding to the target user includes an Internet data center, the network delay corresponding to a gateway cluster may include the network delay between the virtual machine under the gateway cluster and the gateway of the Internet data center.

[0077] In actual applications, you can select a virtual machine from a gateway cluster to detect network latency. Virtual machines selected from different gateway clusters can detect each other. A virtual machine selected from a gateway cluster can also detect the network latency of the gateway of an Internet data center. A virtual machine selected from a gateway cluster can also detect the network latency of another virtual machine in the same gateway cluster. For example, Figure 5 As shown, it can be detected that the network delay between the virtual machine in the gateway cluster and the gateway of the Internet data center is 3 milliseconds (ms), and the network delay between virtual machines in the same gateway cluster or in different gateway clusters is 2ms.

[0078] In one embodiment, the virtual machines under the gateway cluster may detect the network delay at regular intervals and notify the control node of the detected network delay, so that the control node can dynamically obtain the network delay corresponding to the gateway cluster.

[0079] In an embodiment of the present application, after obtaining the cluster loads of the multiple gateway clusters and the network delays corresponding to the multiple gateway clusters, one can select a target gateway cluster corresponding to the target user from the multiple gateway clusters based on the cluster load and the network delay, using the principle of selecting a gateway cluster that matches the demand characteristics of the target user. The demand characteristics of the target user can be used to characterize the delay requirements and throughput requirements of the target user. It should be understood that when the number of target users is multiple, step 33 can be performed for each of the multiple target users.

[0080] For example, assuming that the target user's demand characteristics are high requirements for latency and low requirements for throughput, such as users who provide transaction services to a small number of people, you can choose a gateway cluster with a smaller network latency and a higher cluster load as the target gateway cluster.

[0081] For another example, suppose the target users have higher requirements for latency and lower requirements for throughput, such as users who provide transaction services to a large number of people. Therefore, a gateway cluster with a smaller network latency and a lower cluster load can be selected as the target gateway cluster.

[0082] For another example, suppose the target user's demand characteristics are high requirements for throughput and low requirements for latency, such as users who provide data upload services. Therefore, you can select a gateway cluster with a lighter cluster load and a correspondingly larger network latency as the target gateway cluster.

[0083] In one embodiment, step 33 may specifically include: selecting, from the multiple gateway clusters, a gateway cluster whose cluster load is less than a load threshold and whose network delay and cluster load meet the requirements of the target user as the target gateway cluster corresponding to the target user. Taking the cluster load including the cluster table item load and the cluster traffic load as an example, a gateway cluster whose cluster table item load is less than the table item load threshold, the cluster traffic load is less than the traffic load threshold, and whose network delay and cluster load meet the requirements of the target user may be selected from the multiple gateway clusters as the target gateway cluster corresponding to the target user.

[0084] Taking the cluster entry load including the cluster entry usage rate (c_util_threshold) and the cluster entry growth score (c_growth_score) as an example, for any gateway cluster among the multiple gateway clusters, if its c_growth_score>=c_growth_score_threshold, the target user can be suspended from being assigned to the gateway cluster, so that the target user can be not assigned to the gateway cluster with a high entry usage rate; and for any gateway cluster among the multiple gateway clusters, if c_util>=c_util_threshold, the target user can be suspended from being assigned to the gateway cluster, so that the target user can be not assigned to the gateway cluster with a high entry water level. Among them, c_growth_score_threshold and c_util_threshold can be empirical values.

[0085] Taking the cluster traffic load including the cluster traffic utilization rate (f_util_threshold) and the cluster traffic growth score (f_growth_score) as an example, for any gateway cluster among the multiple gateway clusters, if its f_growth_score>=f_growth_score_threshold, the allocation of the target user to the gateway cluster can be suspended, so that the target user is not allocated to the gateway cluster with a high traffic utilization rate; and, for any gateway cluster among the multiple gateway clusters, f_util>=f_util_threshold, the allocation of the target user to the gateway cluster can be suspended, so that the target user is not allocated to the gateway cluster with a high traffic water level.

[0086] In another embodiment, step 33 may specifically include: from the multiple gateway clusters, selecting a gateway cluster whose cluster health status is healthy, whose cluster load is less than the load threshold, and whose network delay and cluster load meet the needs of the target user as the target gateway cluster corresponding to the target user. Taking the cluster load including the cluster table item load and the cluster traffic load as an example, a gateway cluster whose cluster health status is healthy, whose cluster table item load is less than the table item load threshold, whose cluster traffic load is less than the traffic load threshold, and whose network delay and cluster load meet the needs of the target user may be selected from the multiple gateway clusters as the target gateway cluster corresponding to the target user.

[0087] Optionally, when selecting a corresponding target gateway cluster for a target user, the size of the target user may also be considered to achieve dispersing users of different sizes in different gateway clusters, thereby facilitating improving resource utilization. Based on this, in one embodiment, step 33 may specifically include: according to the cluster load and the network delay, in accordance with the strategy of dispersing users of the same size in different gateway clusters and adopting the principle of selecting a gateway cluster that matches the characteristics of the target user's needs, one of the multiple gateway clusters is selected as the target gateway cluster corresponding to the target user. Exemplarily, in accordance with the strategy of dispersing users of the same size in different gateway clusters, a gateway cluster whose cluster load is less than a load threshold and whose network delay and cluster load meet the characteristics of the target user's needs may be selected from the multiple gateway clusters as the target gateway cluster corresponding to the target user.

[0088] For example, Figure 6 In the example, multiple users in the same ellipse can represent users with the same demand characteristics, users of different sizes in the same ellipse can represent users of different scales, and users in the same ellipse can represent users whose selected gateway cluster is the same gateway cluster.

[0089] In an embodiment of the present application, after selecting a target gateway cluster corresponding to a target user from multiple gateway clusters, the routing table for the target user can be configured to the target gateway cluster corresponding to the target user. When a target user is a user who is going to the cloud for the first time, the routing table for the target user can be directly configured to the target gateway cluster corresponding to the target user. When a target user is a user who needs to be migrated from the gateway cluster where the target user is currently located, the routing table for the target user can be deleted from the gateway cluster where the target user is currently located, and the routing table for the target user can be configured to the target gateway cluster corresponding to the target user, so that the target user can be migrated from the original gateway cluster to the new gateway cluster.

[0090] For example, if there are two gateway clusters deployed in the same region, namely gateway cluster A and gateway cluster B, Figure 7 As shown, the information collection module 71 can collect cluster load information of cluster A and cluster B. The information collection module 71 can also obtain the delay information corresponding to cluster A and cluster B and the demand characteristic information of user 1, user 2 and user 3, wherein the demand characteristic information can be used to characterize the user's delay requirement and throughput requirement; the information calculation module 72 can calculate the gateway clusters corresponding to user 1, user 2 and user 3 respectively according to the cluster load information, delay information and demand characteristic information obtained by the information collection module 71, for example, cluster B corresponds to user 1 and user 2, and cluster A corresponds to user 3; the scheduling module 73 can perform scheduling according to the calculation results of the information calculation module 72, for example, the routing table for user 1 can be configured to cluster B, the routing table for user 2 can be configured to cluster B, and the routing table for user 3 can be configured to cluster A.

[0091] use Figure 7 The solution shown can comprehensively count and quantitatively analyze the impact of multiple factors, give a reasonable scheduling solution, dynamically collect quantitative information, and continuously perform intelligent and dynamic migration to avoid situations where users' business is affected or even failures are caused due to incomplete considerations of operation and maintenance personnel.

[0092] The method provided in this embodiment determines the target user who needs to be assigned a gateway cluster in the public cloud network, the target user belongs to the target area, obtains the cluster load of multiple gateway clusters deployed in the target area in the public cloud network, and the network delay corresponding to the gateway cluster, and according to the cluster load and network delay, adopts the principle of selecting a gateway cluster that matches the demand characteristics of the target user, selects one from the multiple gateway clusters as the target gateway cluster corresponding to the target user, and configures the routing table of the target user to the target gateway cluster, so that the target user who needs to be assigned a gateway cluster in the public cloud network (such as a new user on the cloud or a user who needs to migrate from the gateway cluster where he is currently located) is automatically scheduled to the gateway cluster according to the cluster load and network delay, without manual scheduling, thereby reducing labor costs.

[0093] Figure 8 A schematic diagram of a structure of an apparatus for scheduling users to a gateway cluster in a public cloud network according to an embodiment of the present application; Figure 8 As shown, this embodiment provides a device, which can execute the method provided by the above method embodiment. Specifically, the device may include:

[0094] A determination module 81 is used to determine a target user in the public cloud network to which a gateway cluster needs to be allocated, the target user belongs to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple;

[0095] An acquisition module 82, configured to acquire cluster loads of the plurality of gateway clusters and network delays corresponding to the plurality of gateway clusters;

[0096] A selection module 83 is configured to select, according to the cluster load and the network delay, a gateway cluster matching the demand characteristics of the target user from the multiple gateway clusters as a target gateway cluster corresponding to the target user, wherein the demand characteristics of the target user are used to characterize the delay requirement and throughput requirement of the target user;

[0097] The configuration module 84 is used to configure the routing table for the target user to the target gateway cluster.

[0098] In one embodiment, the determination module 81 is specifically used to: when it is determined that a first user in the public cloud network needs to be migrated out of the gateway cluster in which the first user is currently located, determine the first user as a target user in the public cloud network to which a gateway cluster needs to be allocated; and / or, when it is determined that a second user is a user who is going to the cloud for the first time in the public cloud network, determine the second user as a target user in the public cloud network to which a gateway cluster needs to be allocated.

[0099] In one embodiment, the selection module 83 is specifically used to: select, from the multiple gateway clusters, a gateway cluster whose cluster load is less than a load threshold and whose network delay and cluster load meet the requirements of the target user as the target gateway cluster corresponding to the target user.

[0100] In one embodiment, the acquisition module 82 is further used to obtain the health status of the gateway cluster;

[0101] The selection module 83 is specifically used to select, from the multiple gateway clusters, a gateway cluster whose cluster health status is healthy, whose cluster load is less than the load threshold, and whose network delay and cluster load meet the requirements of the target user as the target gateway cluster corresponding to the target user.

[0102] In one embodiment, the selection module 83 is specifically used to: select one from the multiple gateway clusters as the target gateway cluster corresponding to the target user according to the cluster load and the network delay, in accordance with the strategy of dispersing users of the same size in different gateway clusters and adopting the principle of selecting a gateway cluster that matches the demand characteristics of the target user.

[0103] In one embodiment, the cluster load includes a cluster table entry load and a cluster traffic load.

[0104] In one embodiment, the cluster table entry load includes a cluster capacity utilization rate and a cluster capacity growth score.

[0105] In one embodiment, the cluster traffic load includes a cluster traffic usage rate and a cluster capacity growth score.

[0106] Figure 8 The device shown can perform Figure 3 For the method of the embodiment shown in the figure, the part not described in detail in this embodiment can be referred to Figure 3 The implementation process and technical effects of this technical solution refer to Figure 3 The description in the illustrated embodiment will not be repeated here.

[0107] In one possible implementation, Figure 8 The structure of the device shown can be implemented as a computer device. Fig. 9 As shown, the computer device may include: a processor 91 and a memory 92. The memory 92 is used to store the computer device to execute the above Figure 3 The processor 91 is configured to execute the program stored in the memory 92 according to the method provided in the illustrated embodiment.

[0108] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 91, the following steps can be implemented:

[0109] Determine a target user in the public cloud network to which a gateway cluster needs to be allocated, the target user belongs to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple;

[0110] Obtaining cluster loads of the multiple gateway clusters and network delays corresponding to the multiple gateway clusters;

[0111] According to the cluster load and the network delay, a gateway cluster matching the demand characteristics of the target user is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user, where the demand characteristics of the target user are used to characterize the delay requirement and throughput requirement of the target user;

[0112] The routing table for the target user is configured to the target gateway cluster.

[0113] Optionally, the processor 91 is further configured to execute the aforementioned Figure 3 All or part of the steps in the illustrated embodiments.

[0114] The structure of the computer device may also include a communication interface 93 for the computer device to communicate with other devices or a communication network.

[0115] In addition, the embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed, the following is achieved: Figure 3 The method provided by the illustrated embodiment.

[0116] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Those of ordinary skill in the art may understand and implement it without creative labor.

[0117] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course can also be implemented by combining hardware and software. Based on such an understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a computer product, and the present application can be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0118] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable device to generate a machine, so that the instructions executed by the processor of the computer or other programmable device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0119] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable device to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0120] These computer program instructions may also be loaded onto a computer or other programmable device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0121] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0122] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0123] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, linked lists, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0124] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for scheduling users to a gateway cluster in a public cloud network, characterized in that: The gateway cluster in the public cloud network is used to connect to the public network. If a routing table of a certain user is configured to a certain gateway cluster, it means that the certain user is carried by the certain gateway cluster, and the certain gateway cluster sends a message for the virtual machine of the certain user to access the public network to the public network according to the routing table of the certain user. The method is applied to the control node in the public cloud network, including: Determine a target user in the public cloud network to which a gateway cluster needs to be allocated, the target user belongs to a target region, and the number of gateway clusters deployed in the target region in the public cloud network is multiple; Obtain cluster loads of the multiple gateway clusters and network delays corresponding to the multiple gateway clusters; wherein the cluster load includes a cluster traffic load, and the cluster traffic load of the gateway cluster is obtained by counting the traffic loads of the gateways in the gateway cluster; when the opposite end corresponding to the target user includes one or more other virtual machines, the network delay corresponding to the gateway cluster includes the network delay between the virtual machine under the gateway cluster and the virtual machine under the gateway cluster corresponding to the one or more other virtual machines; when the opposite end corresponding to the target user includes an Internet data center, the network delay corresponding to the gateway cluster includes the network delay between the virtual machine under the gateway cluster and the gateway of the Internet data center; According to the cluster load and the network delay, a gateway cluster matching the delay requirement and the throughput requirement of the target user is selected from the multiple gateway clusters as a target gateway cluster corresponding to the target user; The routing table for the target user is configured to the target gateway cluster.

2. The method according to claim 1, characterized in that The determining of the target user in the public cloud network to which a gateway cluster needs to be allocated includes: When it is determined that a first user in the public cloud network needs to be migrated out of the gateway cluster in which the first user is currently located, determining the first user as a target user in the public cloud network to which a gateway cluster needs to be allocated; And / or, when it is determined that the second user is a user who accesses the cloud for the first time in the public cloud network, the second user is determined as a target user in the public cloud network to which a gateway cluster needs to be allocated.

3. The method according to claim 1, characterized in that The selecting, according to the cluster load and the network delay, a gateway cluster matching the delay requirement and the throughput requirement of the target user from the multiple gateway clusters as a target gateway cluster corresponding to the target user comprises: From the multiple gateway clusters, a gateway cluster whose cluster load is less than a load threshold and whose network delay and cluster load meet the delay requirement and throughput requirement of the target user is selected as a target gateway cluster corresponding to the target user.

4. The method according to claim 1, characterized in that: The method further comprises: obtaining the health status of the gateway cluster; The selecting, according to the cluster load and the network delay, a gateway cluster that matches the delay requirement and throughput requirement of the target user from the multiple gateway clusters as the target gateway cluster corresponding to the target user comprises: selecting, from the multiple gateway clusters, a gateway cluster whose cluster health status is healthy, whose cluster load is less than a load threshold, and whose network delay and cluster load meet the delay requirement and throughput requirement of the target user as the target gateway cluster corresponding to the target user.

5. The method according to claim 1, characterized in that The selecting, according to the cluster load and the network delay, a gateway cluster matching the delay requirement and the throughput requirement of the target user from the multiple gateway clusters as a target gateway cluster corresponding to the target user comprises: According to the cluster load and the network delay, in accordance with the strategy of distributing users of the same size in different gateway clusters and adopting the principle of selecting a gateway cluster that matches the delay requirements and throughput requirements of the target user, one is selected from the multiple gateway clusters as the target gateway cluster corresponding to the target user.

6. The method according to any one of claims 1 to 5, characterized in that The cluster load also includes a cluster entry load. The cluster entry load of the gateway cluster is obtained by counting the number of rows of routing entries sent to gateways in the gateway cluster.

7. The method according to claim 6, characterized in that The cluster entry load includes a cluster capacity utilization rate and a cluster capacity growth score.

8. The method according to claim 1, characterized in that The cluster traffic load includes a cluster traffic usage rate and a cluster traffic growth score.

9. A computer device, characterized in that: include: A memory, a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the method as described in any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Gateway resource response method and gateway resource response device for internet of things

    CN104363187A

  • Data transmission method, device and equipment and readable storage medium

    CN109802985A

  • Monitoring method and device for global fault of virtual gateway cluster

    CN111371648A

  • Flow management method, device and apparatus based on virtual gateway

    CN113259272A

  • Load balancing method and device for gateway service

    CN113268351A