Cloud resource scheduling method and device, equipment, storage medium and program product

By obtaining the scheduling parameters of the virtual machine in the cloud platform, matching the user ID and the user ID of the pre-designed computing node group, performing static resource scheduling and filtering, selecting the target computing node and creating a virtual machine on it, the problem of low efficiency in cloud resource scheduling optimization in the existing technology is solved, and refined cloud resource scheduling is achieved and scheduling is improved.

CN119645645APending Publication Date: 2025-03-18CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411749355.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-02
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When existing cloud platforms optimize cloud resource scheduling, they are inefficient and cannot achieve refined cloud resource scheduling, especially without stopping cloud resource services.

Method used

By obtaining the scheduling parameters of the virtual machine, matching the user ID and the user ID of the pre-designed computing node group, performing static resource scheduling and filtering, selecting the target computing node and creating a virtual machine on it, realizing refined cloud resource scheduling.

Benefits of technology

It improves the optimization efficiency of cloud resource scheduling, realizes real-time adjustment of computing node groups during the operation of cloud resource services, thereby performing refined scheduling optimization, and improving scheduling efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119645645A_ABST
    Figure CN119645645A_ABST
Patent Text Reader

Abstract

The invention relates to a cloud resource scheduling method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: acquiring scheduling parameters of a virtual machine; matching the user identifier in the scheduling parameter with the user identifier configured by each preset computing node group to obtain a matched computing node group, each preset computing node group being adjusted in real time in the running process of the cloud resource service; performing static resource scheduling screening on each computing node in the matched computing node group based on the scheduling parameter to obtain a target computing node; and creating a virtual machine at the target computing node. By adopting the method, refined resource scheduling can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud technology, and in particular to a cloud resource scheduling method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] With the development of cloud computing technology, more and more users can use cloud resource services in various scenarios and time periods. For example, the cloud platform needs to reserve resources for the promotion of products in a specific time period. Since the business itself is elastic, resources may be dynamically expanded or reduced at any time, and shared host resources may be maliciously occupied, affecting the use of other users. At this time, the cloud platform that provides cloud resource services can achieve the normal operation of cloud resource services by scheduling cloud resources. At present, when the cloud platform schedules the resources required by the user for the first time, it usually schedules them through the static resource scheduling strategy. At present, when scheduling optimization is performed, the static resource scheduling strategy is usually optimized after stopping the cloud resource service.

[0003] However, the method of optimizing scheduling by stopping cloud resource services has the problem of low scheduling optimization efficiency and cannot achieve refined cloud resource scheduling. Summary of the invention

[0004] Based on this, it is necessary to provide a cloud resource scheduling method, apparatus, computer equipment, computer-readable storage medium and computer program product that can be refined to address the above technical issues.

[0005] In a first aspect, the present application provides a cloud resource scheduling method, comprising:

[0006] Get the scheduling parameters of the virtual machine;

[0007] Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0008] Based on the scheduling parameters, static resource scheduling is performed on each computing node in the matching computing node group to obtain the target computing node;

[0009] Create a virtual machine on the target compute node.

[0010] In one embodiment, the cloud resource scheduling method further includes:

[0011] During the operation of the cloud resource service, a group adjustment request is obtained through the group management component, and the group adjustment request carries group adjustment parameters;

[0012] Using a group adjustment parameter to adjust each preset computing node group through a group management component to obtain each adjusted preset computing node group;

[0013] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group to obtain a matching computing node group, including:

[0014] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group after adjustment through the group scheduling component to obtain the adjusted matching computing node group.

[0015] In one embodiment, each preset computing node group is adjusted using a group adjustment parameter to obtain each adjusted preset computing node group, including:

[0016] Matching the group identifier in the group adjustment parameter with the group identifier of each preset computing node group to obtain the group to be adjusted;

[0017] Adjust the user identification attribute corresponding to the group to be adjusted according to the user parameter in the group adjustment parameter to obtain the adjusted user identification attribute;

[0018] Adjust the computing node attributes corresponding to the group to be adjusted according to the node parameters in the group adjustment parameters to obtain the adjusted computing node attributes;

[0019] An adjusted computing node group corresponding to the computing node group to be adjusted is obtained based on the adjusted user identification attributes and the adjusted computing node attributes.

[0020] In one embodiment, before obtaining the scheduling parameters of the virtual machine, the method further includes:

[0021] Obtaining a group establishment request through a group management component, the group establishment request carrying a group identifier and a group screening attribute associated with the group identifier, the group screening attribute including a user identifier attribute and a computing node attribute;

[0022] The group identification, user identification attributes and computing node attributes are associated and stored through the group management component to obtain a preset computing node group;

[0023] The group management metadata of the preset computing node group is generated by the group management component, and the group management metadata is used to represent that the corresponding computing node group is managed by the group management component.

[0024] In one of the embodiments, the population screening attributes further include operational definition attributes;

[0025] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group to obtain a matching computing node group, including:

[0026] Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain matching computing node groups;

[0027] The operation definition attributes corresponding to each computing node group are obtained, and each computing node group is filtered according to the operation definition attributes to obtain the filtered computing node group.

[0028] In one embodiment, each preset computing node group includes a valid group and an invalid group;

[0029] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group to obtain a matching computing node group, including:

[0030] The user ID in the scheduling parameter is matched with the user ID configured in the effective group to obtain a matching computing node group.

[0031] In a second aspect, the present application also provides a cloud resource scheduling device, including:

[0032] A parameter acquisition module is used to obtain scheduling parameters of the virtual machine;

[0033] A matching scheduling module is used to match the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0034] A screening and scheduling module is used to perform static resource scheduling screening on each computing node in the matching computing node group based on the scheduling parameters to obtain the target computing node;

[0035] The creation module is used to create a virtual machine on the target computing node.

[0036] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0037] Get the scheduling parameters of the virtual machine;

[0038] Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0039] Based on the scheduling parameters, static resource scheduling is performed on each computing node in the matching computing node group to obtain the target computing node;

[0040] Create a virtual machine on the target compute node.

[0041] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0042] Get the scheduling parameters of the virtual machine;

[0043] Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0044] Based on the scheduling parameters, static resource scheduling is performed on each computing node in the matching computing node group to obtain the target computing node;

[0045] Create a virtual machine on the target compute node.

[0046] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0047] Get the scheduling parameters of the virtual machine;

[0048] Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0049] Based on the scheduling parameters, static resource scheduling is performed on each computing node in the matching computing node group to obtain the target computing node;

[0050] Create a virtual machine on the target compute node.

[0051] The above-mentioned cloud resource scheduling method, apparatus, computer equipment, computer-readable storage medium and computer program product obtain a matching computing node group by matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group before performing static resource scheduling screening on each computing node. That is, scheduling optimization can be performed from the perspective of user use, expanding the scheduling capability, and at the same time, by performing cloud resource scheduling in the dimension of user identifier, refined scheduling can be achieved. And because each preset computing node group is adjusted in real time during the operation of the cloud resource service, that is, the cloud resource scheduling can be optimized without stopping the cloud resource service, thereby improving the optimization efficiency of the scheduling, and adjusting each preset computing node group at any time during the operation of the cloud resource service can make it more convenient to perform refined scheduling optimization, and can further achieve refined resource scheduling. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0053] Figure 1 An application environment diagram of a cloud resource scheduling method in one embodiment;

[0054] Figure 2 A schematic diagram of a process of a cloud resource scheduling method in one embodiment;

[0055] Figure 3 A schematic diagram of a process for adjusting a computing node group in one embodiment;

[0056] Figure 4 A schematic diagram of a process for establishing a computing node group in one embodiment;

[0057] Figure 5 It is a schematic diagram of the component architecture of cloud resource scheduling in a specific embodiment;

[0058] Figure 6 A schematic diagram of a computing node combination data table in a specific embodiment;

[0059] Figure 7 It is a schematic diagram of the process of cloud resource scheduling in a specific embodiment;

[0060] Figure 8 is a structural block diagram of a cloud resource scheduling device in one embodiment;

[0061] Fig. 9FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0063] The cloud resource scheduling method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the cloud server cluster through the network. The cloud server cluster includes a cloud management server 104 and each computing node, and each computing node includes a target computing node 106. The cloud management server 104 can obtain the scheduling parameters of the virtual machine from the terminal 102. Then the cloud management server 104 matches the user identifier in the scheduling parameter with the user identifier configured by each preset computing node group to obtain a matching computing node group, and each preset computing node group is adjusted in real time during the operation of the cloud resource service. The cloud management server 104 performs static resource scheduling screening on each computing node in the matching computing node group based on the scheduling parameters to obtain the target computing node 106; the cloud management server 104 creates a virtual machine at the target computing node 106. Among them, the terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The head mounted device may be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc.

[0064] In an exemplary embodiment, Figure 2 As shown, a cloud resource scheduling method is provided, which is applied to Figure 1 Taking the cloud management server in as an example, the method includes the following steps 202 to 208. Among them:

[0065] S202: Obtain scheduling parameters of the virtual machine.

[0066] Among them, virtual machines need to be established in cloud computing nodes, and each cloud computing node can support multiple virtual machines. Each virtual machine requires computing node resources when running, such as CPU (central processing unit) resources, memory resources, etc. That is, the virtual machine is an independently running system. When creating a virtual machine, cloud resources such as computing and storage need to be allocated to it. Scheduling parameters refer to the parameters required for cloud resource scheduling, which can include user information parameters and resource information parameters for establishing virtual machines.

[0067] In some embodiments, the cloud management server may directly obtain the tuning parameters of the virtual machine to be established in the cloud computing node.

[0068] In some embodiments, the cloud management server may obtain a request to establish a virtual machine, which may carry cloud resource parameters required by the virtual machine. Then, the scheduling parameters are generated according to the request to establish the virtual machine, and the scheduling parameters may be organized according to the request parameters, specifications and other information.

[0069] S204, matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, wherein each preset computing node group is adjusted in real time during the operation of the cloud resource service.

[0070] Among them, the user identifier is used to uniquely identify the corresponding user, who is the user who establishes the virtual machine. The preset computing node group refers to a group composed of pre-set computer nodes. Different groups have different computer nodes. Different computing node groups have different attributes, which are used to characterize that the computing nodes in the computing node group can only be scheduled under the corresponding attributes. The attribute may include a user identifier. That is, the user identifier configured by the preset computing node group is used to characterize that the virtual machine of the corresponding user can be established in the computing node in the corresponding computing node group. Different computing node groups can be configured with the same user identifier, which means that the virtual machine of the user identifier can be established in the computing nodes in multiple different computing node groups.

[0071] In some embodiments, the preset computing node group can be represented by computing node grouping. For example, in OpenStack (an open source cloud computing management platform developed and initiated by NASA (National Aeronautics and Space Administration) and Rackspace), the grouping of computer nodes can be achieved by calling Nova API (providing a RESTful interface for users to call) related interfaces of Aggregate (resource grouping in OpenStack).

[0072] Generally, the resource scheduling capabilities of cloud management platforms are mainly divided into primary static resource scheduling and secondary dynamic resource scheduling. Primary static resource scheduling is the scheduling when resources are allocated for the first time, and secondary dynamic resource scheduling is the dynamic adjustment made according to real-time indicators or policies during resource use, which generally involves operations such as virtual machine migration. Primary static resource scheduling usually consists of resource filter configuration and resource weighting configuration. The former implements resource filtering, and the latter implements resource weight scoring and sorting. For example, in OpenStack, the component responsible for scheduling is NovaScheduler, which implements Filter (used in cloud computing resource scheduling system to filter suitable computing node resources according to scheduling parameters) and Weighter (resource weigher, used in cloud computing resource scheduling system to score and sort computing nodes according to scheduling parameters, used to filter out relatively better computing nodes for creating virtual machines). There are many different types of filters in Filter, such as availability zone filter, aggregate filter, core filter, and memory filter. Nova Scheduler's Filter and Weighter are predefined in the configuration file and loaded when the service is started. They cannot be adjusted during operation.

[0073] In the present application, the cloud management server can match the user identifier in the scheduling parameters with the user identifier configured for each preset computing node group before the first static resource scheduling, wherein the user identifier configured for each preset computing node group can be matched in turn to obtain a matching result for each preset computing node group, which may include a matched computing node group and an unmatched computing node group. The matched computing node group is used to characterize that the configured user identifier is the same as the user identifier in the scheduling parameters. An unmatched computing node group means that the configured user identifier is different from the user identifier in the scheduling parameters. The matched computing node group may include multiple ones. And each preset computing node group in the present application can be adjusted in real time during the operation of the cloud resource service.

[0074] In some embodiments, the user identifiers configured for the preset computing node group may include multiple ones, for example, the user identifiers configured for computing node group 1 include user 1 and user 2. The computing node group 1 includes computing node A and computing node B. Then the user identifier in the scheduling parameter may be matched with each user identifier configured for the preset computing node group. Then, the user identifiers configured for each preset computing node group are matched in turn to obtain a matching computing node group.

[0075] S206, performing static resource scheduling screening on each computing node in the matching computing node group based on the scheduling parameters to obtain a target computing node.

[0076] In this embodiment, after the computing node group matching is completed, the first static resource scheduling screening is performed, that is, each computing node in the matching computing node group is screened by the resource filtering and resource weighing configuration policy rules using the scheduling parameters, so as to screen out the target computing node.

[0077] That is, in the present application, during the first static resource scheduling screening, not all computing nodes are used for screening, but computing nodes in a matching computing node group are used for screening.

[0078] In some embodiments, when the matching computing node group includes only one computing node, the computing node can be directly used as the target computing node.

[0079] S208: Create a virtual machine on the target computing node.

[0080] The cloud management server can use the target computing node determined by scheduling as the host computing node of the virtual machine, and then the cloud management server can create a virtual machine on the target computing node. Then the user identified by the user can use the created virtual machine through the cloud service.

[0081] In some embodiments, after the cloud management server creates a virtual machine in the target computing phase, it can also manage processes such as reconfiguration and migration.

[0082] The above-mentioned cloud resource scheduling method obtains a matching computing node group by matching the user identifier in the scheduling parameters with the user identifier configured for each preset computing node group before performing static resource scheduling screening on each computing node. That is, scheduling optimization can be performed from the perspective of user use, expanding the scheduling capability, and at the same time, by scheduling cloud resources in the dimension of user identifier, refined scheduling can be achieved. And because each preset computing node group is adjusted in real time during the operation of the cloud resource service, that is, the cloud resource scheduling can be optimized without stopping the cloud resource service, thereby improving the optimization efficiency of the scheduling, and adjusting each preset computing node group at any time during the operation of the cloud resource service can make it more convenient to perform refined scheduling optimization, and can further achieve refined resource scheduling.

[0083] In an exemplary embodiment, Figure 3 As shown, the cloud resource scheduling method further includes:

[0084] S302: During the operation of the cloud resource service, a group adjustment request is obtained through the group management component, where the group adjustment request carries a group adjustment parameter.

[0085] S304, adjusting each preset computing node group using a group adjustment parameter through a group management component to obtain each adjusted preset computing node group.

[0086] Among them, the group management component is a component used to manage the computing node group. For example, the computing node group can be adjusted, the computing nodes in the computing node group can be adjusted, and the properties of the computing node group can be adjusted. For example, in OpenStack, a new Group Manager component can be added to manage each preset computing node group. The Group Manager component is used to manage the grouping of computing node resources, which is implemented by calling the Nova API related interface about Aggregate. The group adjustment parameters are parameters used to adjust each preset computing node group.

[0087] In this embodiment, during the operation of the cloud resource service, when the operation and management personnel need to optimize the cloud resource scheduling, they can adjust each computing node group through the group management component. For example, they can adjust the computing nodes in each computing node group, and can adjust the properties of each computing node group. At this time, the cloud management server can obtain the group adjustment request sent by the operation and management personnel through the terminal during the operation of the cloud resource service through the group management component, and then parse the group adjustment request to obtain the group adjustment parameters. At this time, the cloud management server can use the group adjustment parameters to adjust each preset computing node group through the group management component to obtain each adjusted preset computing node group. Among them, you can add a computing node group, delete a computing node group, adjust the properties of the computing node group, and so on.

[0088] In some embodiments, when the cloud resource service stops running, the preset computing node groups can also be adjusted. That is, when the cloud resource service stops running, the operation and management personnel can send a group adjustment request to the cloud management server through the terminal. The cloud management server can obtain the group adjustment request through the group management component, and then adjust the preset computing node groups in response to the group adjustment request. Then, when the cloud resource service is restarted, scheduling and matching can be performed according to the adjusted preset computing node groups.

[0089] In some embodiments, when a cloud resource service is established, a group management component may be created, and each preset computing node group may be established through the group management component, thereby facilitating subsequent use.

[0090] Then S204, matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, including the steps of:

[0091] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group after adjustment through the group scheduling component to obtain the adjusted matching computing node group.

[0092] Among them, the group scheduling component is used to schedule each preset computing node group and is used to filter the computing nodes to enter the first static resource scheduling. For example, in OpenStack, a new Group scheduler component can be added for group policy scheduling. The computing node combination to enter the Filter is filtered according to the predefined group policy rules and dynamic group definitions.

[0093] Specifically, when matching, the cloud management server can use the group scheduling group to make consistency judgments between the user identifier in the scheduling parameters and the user identifier configured for each preset computing node group, for example, it can detect whether they have the same user name or user code, etc. Then, the computing node group with the consistent user identifier is determined from each preset computing node group, thereby obtaining the preset computing node group.

[0094] In a specific embodiment, the operator finds that user user3 is creating a large number of 1c1g (cloud computing resources configured with 1 CPU core and 1GB memory) resources, and uses such machines to perform malicious operations (constructing Split Lock attacks, running full CPU load, etc.). These machines may affect other virtual machines on the same host, and now these machines need to be temporarily isolated to independent nodes. At this time, the operator can adjust the identifier of user user3 to the computing node group used for abnormal isolation. At this time, the computing node group for abnormal isolation configured with user user3 is obtained. Then, when user user3 creates a virtual machine, it will match the computing node group for abnormal isolation. At this time, the computing node group in the abnormal isolation computing node group will be selected for scheduling, thereby achieving a refined operation effect of abnormal isolation.

[0095] In the above embodiment, the computing node group is adjusted during the operation of the cloud resource service through the group management component, and then the adjusted preset computing node group is scheduled through the group scheduling component to obtain the adjusted matching computing node group. That is, the cloud resource scheduling can be adjusted without stopping the cloud resource service, and the adjustment can be made in real time, and the scheduling is performed according to the adjusted preset computing node group, thereby improving the efficiency of cloud resource scheduling.

[0096] In an exemplary embodiment, Figure 3 As shown, S304, using the group adjustment parameter to adjust each preset computing node group to obtain each adjusted preset computing node group, including the steps of:

[0097] S304a, matching the group identifier in the group adjustment parameter with the group identifier of each preset computing node group to obtain the group to be adjusted.

[0098] The group identifier is used to uniquely identify the corresponding computing node group, and may be the name, code, or character string of the computing node group.

[0099] In this embodiment, when making scheduling adjustments, it is necessary to determine the computing node group to be adjusted, that is, to obtain the group identifier. The operator can input the group identifier as the group adjustment parameter through the management terminal. Then, when the cloud management server obtains the group adjustment parameter through the group management component, it matches the group identifier with the group identifier of each computing node group, thereby obtaining the computing node group that needs to be adjusted.

[0100] In some embodiments, the group identifier in the group adjustment parameter may include multiple groups, that is, the group identifier used to characterize the computing node groups to be adjusted includes multiple groups. In this case, all the groups to be adjusted are determined from each preset computing node group according to each group identifier. For example, the group identifier in the group adjustment parameter may include group 1, group 2, etc. In this case, group 1 and group 2 are determined from each computing node group as the groups to be adjusted.

[0101] S304b, adjusting the user identification attribute corresponding to the group to be adjusted according to the user parameters in the group adjustment parameters to obtain the adjusted user identification attribute.

[0102] Among them, user parameters are used to represent the specific parameter content of adjusting the user identification attributes, which can be adding a user identification, deleting a user identification, or moving a user identification from one group to another. Group screening attributes refer to the pre-set attributes that need to be followed when performing scheduling and screening of computing node groups. That is, the computing nodes in the corresponding computing node group can be scheduled only when the group screening attributes are met. User identification attributes refer to the pre-set attributes of the user identification that must be met.

[0103] In some embodiments, the user identification configured for the group to be adjusted may be added according to the newly added user identification, so as to obtain a user identification attribute with the newly added user identification added.

[0104] In some embodiments, the same user identifier configured for the group to be adjusted may be deleted according to the deleted user identifier, so as to obtain the user identifier attribute with the deleted user identifier deleted.

[0105] S304c, adjusting the computing node attributes corresponding to the group to be adjusted according to the node parameters in the group adjustment parameters, to obtain the adjusted computing node attributes.

[0106] In this embodiment, the computing node attributes are used to characterize the attributes corresponding to the computing nodes in the computing node group. The computing nodes included in the group can be adjusted and optimized through the computing node attributes.

[0107] In some embodiments, the computing nodes configured for the group to be adjusted can be added according to the newly added computing nodes, and the computing node attributes of the newly added computing nodes can be obtained. In some embodiments, the same computing nodes configured for the group to be adjusted can be deleted according to the deleted computing nodes, and the computing node attributes of the deleted computing nodes can be obtained. For example, in OpenStack, Group corresponds to Aggregate, and computing nodes can be added or reduced to Group through the interface.

[0108] S304d, obtaining an adjusted computing node group corresponding to the computing node group to be adjusted based on the adjusted user identification attribute and the adjusted computing node attribute.

[0109] In some embodiments, the operator may also adjust other attributes of the computing node group, which may be group attributes pre-defined by the operator, for example, the group function attribute, whether the group is valid, whether the group is forced to have affinity, and whether the group is forced to have anti-affinity.

[0110] In the above embodiment, by adjusting different group attributes, adjusted group attributes are obtained, and then an adjusted computing node group is obtained. By adjusting specific detail attributes, refined scheduling optimization can be achieved, thereby achieving refined scheduling.

[0111] In some embodiments, Figure 4 As shown, before S202, that is, before obtaining the scheduling parameters of the virtual machine, the following steps are also included:

[0112] S402, obtaining a group establishment request through a group management component, the group establishment request carries a group identifier and a group screening attribute associated with the group identifier, the group screening attribute including a user identifier attribute and a computing node attribute.

[0113] The group screening attribute refers to the pre-set attribute that needs to be followed when performing scheduling and screening of computing node groups, which can be a rule attribute pre-defined by the operator. Different computing node groups can have different group screening attributes. Group screening attributes include but are not limited to user identification attributes and computing node attributes.

[0114] In this embodiment, the operator can establish a computing node group through the group management component. The operator can perform cloud resource management through the cloud resource management platform. For example, the computing node group can be established through the cloud resource management platform. The user identification attribute and computing node attribute corresponding to the computing node group to be created can be configured through the cloud resource management platform, and then the group is created. At this time, the cloud management server can obtain the group establishment request through the group management component, parse the group establishment request, and obtain the group identification configured by the operator and the group screening attribute information associated with the group identification.

[0115] S404: The group identification, user identification attributes and computing node attributes are associated and stored through the group management component to obtain a preset computing node group.

[0116] It is understandable that the cloud management server can associate and store the group identification, user identification attributes and computing node attributes through the group management component. For example, the group identification, user identification attributes and computing node attributes can be associated and stored in the computing node group data table for storage. At this time, when the cloud management server performs cloud resource scheduling, it can use the data stored in the computing node group data table to schedule cloud resources.

[0117] In some embodiments, the operator may also configure other attributes of the group, such as group role attribute information, whether the group is valid attribute information, and whether the group is forced affinity attribute information. Then the cloud management server may associate the group role attribute information, whether the group is valid attribute information, and whether the group is forced affinity attribute information with the group identifier and save them, for example, in the computing node group data table.

[0118] S406: Generate group management metadata of a preset computing node group through a group management component, where the group management metadata is used to indicate that the corresponding computing node group is managed by the group management component.

[0119] The group management metadata is metadata used to characterize that a computing node group is managed by a group management component, that is, metadata of the computing node group. The metadata of the computing node group may also include group screening attributes.

[0120] In some embodiments, after establishing a computing node group, the cloud management server can also generate group management metadata for a preset computing node group through a group management component, and the group management metadata can be associated with the preset computing node group and saved. For example, in OpenStack, a fixed key-value pair can be added to the Metadata of the established Group: "group:true" to distinguish between Group and non-Group Aggregates, so that the Group group policy does not affect the original scheduling logic. That is, the fixed key-value pair can be used to distinguish between the preset computing node group established by the group management component and the group created by the Aggregate.

[0121] In the above embodiment, the group identification, user identification attributes and computing node attributes are associated and stored through the group management component to obtain a preset computing node group, thereby ensuring the accuracy of the establishment of the computing node group. Then, the computing node groups are distinguished by generating group management metadata, so that the newly added strategy of scheduling through computing node groups does not affect the original scheduling logic, thereby ensuring the normal and orderly operation of cloud resource scheduling.

[0122] In some embodiments, the group screening attribute further includes an operation definition attribute; then S204, matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, including the steps of:

[0123] The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group to obtain the matched computing node groups; the operation definition attribute corresponding to each computing node group is obtained, and each computing node group is screened according to the operation definition attribute to obtain the screened computing node group.

[0124] The operation definition attribute refers to the group screening attribute corresponding to the computing node group preset by the operator. The operation definition attribute may include but is not limited to the group role attribute, whether the group is valid attribute, whether the group is forced to have affinity, and whether the group is forced to have anti-affinity attribute.

[0125] In some embodiments, after the cloud management server uses the user identifier to filter and obtain the matching computing node groups through the group management component, it is necessary to further use the operation definition attribute for filtering. The operation definition attribute can be pre-set by the operator. For example, it is determined whether the group of each computing node group has a mandatory affinity attribute and whether there is attribute information that the group is mandatory affinity. If so, the corresponding computing node group is used as the filtered computing node group. For example, it is determined whether the role of each computing node group meets the requirements, such as the group that needs to be abnormally isolated. At this time, the abnormally isolated computing node group is filtered out as the filtered computing node group. For example, it is determined whether there is a group with mandatory anti-affinity attributes in each computing node group. If so, the corresponding computing node group is eliminated and the remaining computing node group is used as the filtered group.

[0126] In the above embodiment, scheduling screening is required not only through user identification, but also through operation definition attributes, so that the filtered computing node group can be obtained more accurately, thereby ensuring the accuracy of subsequent scheduling screening and further realizing refined cloud resource scheduling.

[0127] In some embodiments, each preset computing node group includes a valid group and an invalid group; then S204, that is, matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, includes the steps of:

[0128] The user ID in the scheduling parameter is matched with the user ID configured in the effective group to obtain a matching computing node group.

[0129] The valid group refers to the group that needs to be scheduled and screened when the computing node group is scheduled and screened. The invalid group refers to the group that does not currently need to be scheduled and screened when the computing node group is scheduled and screened.

[0130] The properties of the computing node group also include whether it is valid. The operator can configure whether the established computing node group is valid through the group management component. For example, the established computing node group can be set to be valid, the computing node group can be adjusted from valid to invalid, and an invalid computing node group can be adjusted to be valid.

[0131] At this time, when the cloud management server performs matching, it can obtain a valid computing node group, and then match the user identifier in the scheduling parameter with the user identifier configured for the valid group to obtain a matching computing node group.

[0132] In the above embodiment, the matching computing node group is obtained by matching the user identifier in the scheduling parameter with the user identifier configured in the valid group. That is, scheduling screening can be performed only in the valid computing node group, and there is no need to perform scheduling screening on the invalid group, thereby improving the efficiency of scheduling screening and saving the resources consumed by scheduling screening. In addition, the validity attribute of the computing node group can be adjusted in real time, thereby realizing refined cloud resource scheduling.

[0133] In a specific embodiment, Figure 5 As shown, a schematic diagram of a component architecture for cloud resource scheduling is provided, wherein the component architecture can be obtained by adding Group Manager components and Groupscheduler components on the basis of the OpenStack component architecture. Specifically: Nova is the computing organization controller in the OpenStack cloud, managing all activities of the life cycle of instances in the Openstack cloud, making nova a scalable platform responsible for managing computing resources, networks, and authentication. In the figure, Nova API is used to provide a Restful interface for users to call. NovaConductor is mainly used for long-term task execution tracking, database operations, etc. The Nova Scheduler component is the core component of resource scheduling. Nova Placement is used to provide statistics and allocation of various resource quantities. Nova Compute is an agent service deployed on the computing node, which is used to perform various operations and connect to the underlying virtualization components. NovaScheduler currently includes Filter and Weighter, which are used to filter and score resources. Aggregate implements resource grouping in OpenStack. You can configure a collection of computing resources by configuring key-value pairs in the metadata attributes of Aggregate. For specific keys, Nova scheduler can be used as scheduling parameters.

[0134] This application adds a group management component (Group Manager) and a group scheduling (Group scheduler) component. The group management component is used to manage the grouping of computing node resources, which is implemented by calling the relevant interfaces of Nova API about Aggregate. The group scheduling component is used for group policy scheduling in Nova Scheduler to filter the computing node combinations to enter the Filter according to the predefined group policy rules and dynamic group definitions. Among them, the computing node combination (Group) corresponds to the Aggregate, and the computing nodes are added or reduced to the computing node combination through the interface. A fixed key-value pair "group:true" is added to the metadata of the computing node combination to distinguish the Aggregates of the computing node combination and the non-computing node combination, so that the scheduling strategy of the computing node combination does not affect the original scheduling logic. Aggregate adds a disable field to indicate whether the Aggregate is valid. For the computing node combination, the disable field is set to valid, which is represented by true. For non-computing node combinations, the disable field is set to invalid, which is represented by false. Then, the scheduling strategy of the computing node combination required to be suppressed during group scheduling can be pre-set according to operational needs. That is, the key-value pairs that will be used, such as: forced affinity policy (force_affinity), forced anti-affinity policy (force_anti_affinity), etc. Then, when the group scheduler is used for scheduling screening, all valid computing node combinations will be traversed, and the set of computing nodes that can be used for this scheduling will be screened according to the key-value pairs of group policy rules configured for the valid computing node combinations, combined with the requested user ID and other information.

[0135] For example, user 3 creates a large number of 1c1g resources and uses the created virtual machines to perform malicious operations. The virtual machines in this user scenario may affect other virtual machines on the same host. Now it is necessary to temporarily isolate these machines to independent nodes. Figure 6 The figure shows a schematic diagram of the computing node combination data table created by the group management component. For example, a computing node combination for abnormal isolation can be created, namely combination 2, but the user node is node C, and the user is user 3. The mandatory affinity policy value is set to yes. At this time, when user 3 wants to create resources, it will match the computing node combination 2. The group scheduling component will exclude other computing nodes and only select node C for scheduling, thereby achieving the operational effect of abnormal isolation. At the same time, if you want to lift the restriction, you can set the computing node combination to invalid. For example, you can set the computing node combination 3 to invalid.

[0136] like Figure 7As shown, it is a schematic diagram of the process of cloud resource scheduling. Specifically, the cloud management server can establish a computing node combination through the group management component, and then dynamically adjust the group policy, that is, the computing node combination can be adjusted in real time. Then, when the cloud management server starts to schedule cloud resources, it obtains the request parameters, specifications and other information of the virtual machine to be created. Then, the scheduling parameters are generated according to the request parameters, specifications and other information. Then, all valid computing node combinations are traversed, and the computing node combinations are screened according to the attribute policy of the computing node combination to obtain the filtered computing node set. Then, the filtered computing node set is traversed through all configured resource filtering policy rules to obtain the computing node set that matches the resource filtering policy rule. At this time, the computing node set that matches the resource filtering policy rule is scored and sorted by traversing all configured resource weighing policy rules. Then, the computing node with the highest score is returned, which can be part of the computing nodes or all the computing nodes. Then, the subsequent creation, reconfiguration, migration and other processes are executed. Existing scheduling optimization is to add resource filtering strategy rules and resource weighing strategy rules from the perspective of customer use, and add parameters to expand scheduling capabilities and improve scheduling efficiency. Scheduling strategy rules generally cannot be changed during operation, and strategies are rarely configured according to the dimensions of different tenants. The present invention transforms the scheduling system and device from the perspective of cloud platform resource operation, thereby realizing the ability to actively adjust the scheduling strategy during operation, and at the same time, combined with the tenant dimension, it can achieve the effect of refined resource operation.

[0137] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0138] Based on the same inventive concept, the embodiment of the present application also provides a cloud resource scheduling device for implementing the cloud resource scheduling method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more cloud resource scheduling device embodiments provided below can refer to the limitations of the cloud resource scheduling method above, and will not be repeated here.

[0139] In an exemplary embodiment, Figure 8As shown, a cloud resource scheduling device 800 is provided, including: a parameter acquisition module 802, a matching scheduling module 804, a screening scheduling module 806 and a creation module 808, wherein:

[0140] The parameter acquisition module 802 is used to obtain the scheduling parameters of the virtual machine;

[0141] The matching scheduling module 804 is used to match the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, where each preset computing node group is adjusted in real time during the operation of the cloud resource service;

[0142] The screening and scheduling module 806 is used to perform static resource scheduling screening on each computing node in the matching computing node group based on the scheduling parameters to obtain the target computing node;

[0143] The creation module 808 is used to create a virtual machine on the target computing node.

[0144] In one embodiment, the cloud resource scheduling device further includes:

[0145] The group adjustment module is used to obtain a group adjustment request through the group management component during the operation of the cloud resource service, and the group adjustment request carries a group adjustment parameter; the group management component uses the group adjustment parameter to adjust each preset computing node group to obtain each adjusted preset computing node group;

[0146] The matching scheduling module 804 is further used to match the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group after adjustment through the group scheduling component to obtain the adjusted matching computing node group.

[0147] In one embodiment, the matching scheduling module 804 is also used to match the group identifier in the group adjustment parameters with the group identifier of each preset computing node group to obtain the group to be adjusted; adjust the user identifier attribute corresponding to the group to be adjusted according to the user parameters in the group adjustment parameters to obtain the adjusted user identifier attribute; adjust the computing node attribute corresponding to the group to be adjusted according to the node parameters in the group adjustment parameters to obtain the adjusted computing node attribute; obtain the adjusted computing node group corresponding to the computing node group to be adjusted based on the adjusted user identifier attribute and the adjusted computing node attribute.

[0148] In one embodiment, the cloud resource scheduling device 800 further includes:

[0149] A group establishment module is used to obtain a group establishment request through a group management component, the group establishment request carries a group identifier and a group screening attribute associated with the group identifier, the group screening attribute includes a user identifier attribute and a computing node attribute; the group identifier, the user identifier attribute and the computing node attribute are associated and stored through the group management component to obtain a preset computing node group; the group management metadata of the preset computing node group is generated through the group management component, and the group management metadata is used to represent that the corresponding computing node group is managed by the group management component.

[0150] In one embodiment, the population screening attributes also include operational definition attributes;

[0151] The matching scheduling module 804 is also used to match the user identifier in the scheduling parameters with the user identifier configured for each preset computing node group to obtain matched computing node groups; obtain the operation definition attributes corresponding to each computing node group, and filter each computing node group according to the operation definition attributes to obtain the filtered computing node group.

[0152] In one embodiment, each preset computing node group includes a valid group and an invalid group;

[0153] The matching scheduling module 804 is further used to match the user identifier in the scheduling parameter with the user identifier configured by the effective group to obtain a matching computing node group.

[0154] Each module in the above-mentioned cloud resource scheduling device can be implemented in whole or in part by software, hardware and their combination. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0155] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Fig. 9As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as various preset computing node groups and static resource scheduling. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a cloud resource scheduling method is implemented.

[0156] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0157] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0158] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0159] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0160] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0161] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0162] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0163] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A cloud resource scheduling method, characterized in that: The method comprises: Get the scheduling parameters of the virtual machine; Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matched computing node group, wherein each preset computing node group is adjusted in real time during the operation of the cloud resource service; Based on the scheduling parameters, static resource scheduling screening is performed on each computing node in the matching computing node group to obtain a target computing node; The virtual machine is created on the target computing node.

2. The method according to claim 1, characterized in that The method further comprises: During the operation of the cloud resource service, a group adjustment request is obtained through a group management component, wherein the group adjustment request carries a group adjustment parameter; Using the group adjustment parameters to adjust the preset computing node groups through the group management component to obtain adjusted preset computing node groups; The step of matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group includes: The user identifier in the scheduling parameter is matched with the user identifier configured for each preset computing node group after adjustment by a group scheduling component to obtain an adjusted matching computing node group.

3. The method according to claim 2, characterized in that The using the group adjustment parameter to adjust the preset computing node groups to obtain the adjusted preset computing node groups includes: Matching the group identifier in the group adjustment parameter with the group identifiers of each preset computing node group to obtain a group to be adjusted; Adjusting the user identification attribute corresponding to the group to be adjusted according to the user parameter in the group adjustment parameter to obtain the adjusted user identification attribute; Adjust the computing node attributes corresponding to the to-be-adjusted group according to the node parameters in the group adjustment parameters to obtain the adjusted computing node attributes; An adjusted computing node group corresponding to the computing node group to be adjusted is obtained based on the adjusted user identification attributes and the adjusted computing node attributes.

4. The method according to claim 1, characterized in that Before obtaining the scheduling parameters of the virtual machine, the method further includes: Acquire a group establishment request through a group management component, the group establishment request carrying a group identifier and a group screening attribute associated with the group identifier, the group screening attribute including a user identifier attribute and a computing node attribute; The group identification, the user identification attribute and the computing node attribute are associated and stored by a group management component to obtain a preset computing node group; The group management metadata of the preset computing node group is generated by the group management component, and the group management metadata is used to indicate that the corresponding computing node group is managed by the group management component.

5. The method according to claim 4, characterized in that The group screening attributes also include operational definition attributes; The step of matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group includes: Matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain matching computing node groups; The operation definition attributes corresponding to the computing node groups are obtained, and the computing node groups are screened according to the operation definition attributes to obtain screened computing node groups.

6. The method according to any one of claims 1 to 5, characterized in that Each preset computing node group includes a valid group and an invalid group; The step of matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group includes: The user identifier in the scheduling parameter is matched with the user identifier configured in the valid group to obtain a matching computing node group.

7. A cloud resource scheduling device, characterized in that: The device comprises: A parameter acquisition module is used to obtain scheduling parameters of the virtual machine; A matching scheduling module, used for matching the user identifier in the scheduling parameter with the user identifier configured for each preset computing node group to obtain a matching computing node group, wherein each preset computing node group is adjusted in real time during the operation of the cloud resource service; A screening and scheduling module, used for performing static resource scheduling screening on each computing node in the matching computing node group based on the scheduling parameters to obtain a target computing node; A creation module is used to create the virtual machine on the target computing node.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.