Server screening method and device based on multiple screening conditions, storage medium and program product

By prioritizing the cloud server set according to environmental dependencies and traversing resource specifications, the problem of low efficiency in cloud server selection in existing technologies is solved, achieving efficient and flexible cloud server selection.

CN120935169APending Publication Date: 2025-11-11ALIBABA CLOUD COMPUTING CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410578333.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-10
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Existing cloud server screening methods are inefficient when faced with multiple screening criteria and cannot flexibly handle the priority of environmental dependencies, resulting in time-consuming and inconvenient cloud server deployment processes.

Method used

By prioritizing the cloud server set according to environmental dependencies, sorting it once using weak environmental dependencies, and then iterating through it based on resource specifications, the target cloud servers are selected.

Benefits of technology

This improves the efficiency of cloud server filtering, reduces redundant traversal calculations, and enhances the flexibility and efficiency of cloud server filtering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935169A_ABST
    Figure CN120935169A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a server screening method and device based on multiple screening conditions, a storage medium and a program product. In a server screening method, a plurality of parallel screening conditions are divided into an environmental dependency condition and at least one resource specification condition. Wherein the cloud servers in the first cloud server set can be sorted according to the priority attribute of the environment dependence condition, and a second cloud server set is obtained. And then, according to the sequence of the cloud servers in the second cloud server set, screening out a target cloud server matched with the at least one resource specification condition from the second cloud server set. The cloud servers are sequenced based on the priority attributes of the environment dependence conditions, so that the cloud servers meeting the environment dependence conditions can be preferentially subjected to specification matching, the target cloud server can be screened out by traversing the second server set once, the traversing times during cloud server screening are greatly reduced, and the screening efficiency is improved. And the screening efficiency of the cloud server is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a server screening method, device, storage medium, and program product based on multiple screening conditions. Background Technology

[0002] With the development of cloud computing, users can deploy applications or systems using cloud server instances on cloud platforms. During the deployment process, filtering criteria can be set to select cloud server instances that meet the user's requirements. The cloud platform can then filter available cloud server instances based on the provided criteria and deploy the user's application or system to the selected instances. However, existing filtering methods are time-consuming when selecting cloud server instances based on multiple criteria, hindering rapid application or system deployment. Therefore, a new solution is needed. Summary of the Invention

[0003] This application provides a server screening method, device, storage medium, and program product based on multiple screening criteria to improve the screening efficiency of cloud servers.

[0004] This application provides a server filtering method based on multiple filtering conditions, including: responding to a cloud server selection operation, obtaining multiple parallel filtering conditions, the multiple filtering conditions including: environment dependency conditions and at least one resource specification condition; sorting cloud servers in a first cloud server set according to the priority attribute of the environment dependency conditions to obtain a second cloud server set; and performing specification matching on the cloud servers in the second cloud server set according to the sorting of cloud servers in the second cloud server set and the at least one resource specification condition to obtain a target cloud server.

[0005] Optionally, the environmental dependency conditions include: at least one weak environmental dependency condition; sorting the cloud servers in the first cloud server set according to the priority attribute of the environmental dependency condition to obtain a second cloud server set includes: determining, among the at least one weak environmental dependency condition, the weak environmental dependency conditions satisfied by at least a portion of the cloud servers in the first cloud server set; updating the priority attribute of the at least a portion of the cloud servers according to the priority attribute of the weak environmental dependency conditions satisfied by the at least a portion of the cloud servers; and sorting the cloud servers in the first cloud server set according to the priority attribute of the cloud servers in the first cloud server set to obtain the second cloud server set.

[0006] Optionally, updating the priority attributes of at least some cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition includes: for any cloud server in the first cloud server set, if the cloud server satisfies any one of the at least one weak environmental dependency conditions, then determining whether the priority attribute of the environmental dependency condition is greater than the existing priority attribute of the cloud server; if so, then using the priority attribute of the environmental dependency condition to update the existing priority attribute of the cloud server.

[0007] Optionally, the environmental dependency condition further includes: at least one strong environmental dependency condition; before updating the priority attribute of at least some cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition, the method further includes: selecting cloud servers that satisfy the at least one strong environmental dependency condition from the first cloud server set; and updating the priority attribute of the cloud servers that satisfy the at least one strong environmental dependency condition according to the priority attribute of the at least one strong environmental dependency condition.

[0008] Optionally, the priority attribute of the at least one strong environment dependency condition is higher than the maximum priority attribute of the at least one weak environment dependency condition.

[0009] Optionally, the cloud servers in the second cloud server set are arranged in descending order of priority attribute; according to the sorting of the cloud servers in the second cloud server set and the at least one resource specification condition, the cloud servers in the second cloud server set are matched for specifications to obtain target cloud servers, including: traversing the second cloud server set according to the sorting of the cloud servers in the second cloud server set, and performing the following filtering operation on any cloud server traversed until the number of filtered target cloud servers is greater than a set threshold: when traversing any cloud server, it is determined whether the cloud server meets the at least one resource specification condition; if the cloud server meets the at least one resource specification condition, the cloud server is added as a target server; if the cloud server does not meet the target resource specification condition among the at least one resource specification conditions, it is determined whether the cloud server is an available server object according to the priority attribute of the target resource specification condition and the priority attribute of the cloud server; if the cloud server is an available server object, the cloud server is added as a target server.

[0010] Optionally, determining whether a cloud server is an available server object based on the priority attribute of the target resource specification and the priority attribute of any cloud server includes: determining whether the priority attribute of the cloud server is greater than the priority attribute of the target resource specification; if the priority attribute of the cloud server is greater than the priority attribute of the target resource specification, then the cloud server is determined to be an available server object; if the priority attribute of the cloud server is less than or equal to the priority attribute of the target resource specification, then the cloud server is determined to be an unavailable server object.

[0011] Optionally, multiple filtering conditions can be obtained, including: obtaining server specification information corresponding to the selection operation; analyzing the server specification information to obtain the at least one resource specification condition.

[0012] Optionally, multiple filtering conditions are obtained, including: obtaining at least one environmental dependency condition and its dependency attributes selected by the user; the at least one environmental dependency condition includes at least one of: availability zone identifier, availability zone inventory, machine type, performance level, and risk status; and determining the at least one strong environmental dependency condition and / or the at least one weak environmental dependency condition based on the at least one environmental dependency condition and its dependency attributes.

[0013] This application also provides an electronic device, including: a memory and a processor; the memory is used to store one or more computer instructions; the processor is used to execute the one or more computer instructions to perform the steps in the method provided in this application.

[0014] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps in the method provided in this application.

[0015] This application also provides a computer program product, including: a computer program / instructions, which, when executed by a processor, can implement the steps in the method provided in this application.

[0016] In the server filtering method based on multiple filtering conditions provided in this application embodiment, the multiple filtering conditions for filtering cloud servers are divided into environment dependency conditions and at least one resource specification condition. Based on the above different categories of conditions, different operations can be performed on the first set of cloud servers to be filtered. Specifically, the cloud servers in the first set of cloud servers can be sorted according to the priority attribute of the environment dependency conditions to obtain a second set of cloud servers. Then, according to the sorting of cloud servers in the second set of cloud servers, target cloud servers matching the at least one resource specification condition are filtered out from the second set of cloud servers. In this implementation, sorting cloud servers based on the priority attribute of environment dependency conditions facilitates flexible selection of different environment dependency conditions when conflicts exist, and prioritizes specification matching for cloud servers that meet the environment dependency conditions. This allows target cloud servers to be filtered out with only one traversal of the second set of servers, greatly reducing the number of traversals during cloud server filtering and improving the filtering efficiency. Attached Figure Description

[0017] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0018] Figure 1 A schematic flowchart of a server filtering method based on multiple filtering conditions provided for an exemplary embodiment of this application;

[0019] Figure 2 A flowchart illustrating a server filtering method based on multiple filtering criteria, provided as another exemplary embodiment of this application;

[0020] Figure 3 A schematic diagram illustrating the process of matching cloud servers according to their sorting and resource specifications, provided for an exemplary embodiment of this application.

[0021] Figure 4 A schematic diagram of the structure of an electronic device provided for an exemplary embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0023] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” used in the embodiments of this invention and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. “Multiple” generally includes at least two, but does not exclude the inclusion of at least one.

[0024] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0025] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a product or system comprising a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a product or system. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the product or system that includes said element.

[0026] When filtering cloud server instances based on multiple criteria, it is usually necessary to select an availability zone. Some methods allow filtering availability zones based on various environmental dependencies. These dependencies could include: a user-specified availability zone identifier, whether the availability zone has a specified optimal server type, the inventory of cloud servers in the availability zone, and whether the availability zone is a specified backup availability zone.

[0027] In some cases, the aforementioned multi-dimensional environmental dependencies can be weak environmental dependencies. When a cloud server in a user-specified availability zone does not meet the resource specification requirements, availability zones that meet other weak environmental dependencies can be selected, and cloud servers meeting the resource specification requirements can be filtered from these weakly dependent availability zones as the filtering results. For example, in a typical filtering method, the user-selected availability zones can be filtered first based on the user-selected availability zone identifier, and it can be determined whether the cloud servers in the user-selected availability zones meet the resource specification requirements. If the cloud servers in the user-selected availability zones do not meet the resource specification requirements, all availability zones can be traversed based on the machine type requirement, and it can be determined whether there is an availability zone that meets the machine type requirement. If there is a candidate availability zone that meets the machine type requirement, it can be determined whether there is a cloud server that meets the resource specification requirements in that candidate availability zone. If there is no cloud server that meets the resource specification requirements in that candidate availability zone, all availability zones can be traversed based on the inventory requirement, and it can be determined whether there is an availability zone that meets the inventory requirement. If there is a candidate availability zone that meets the inventory requirement, it can be determined whether there is a cloud server that meets the resource specification requirements in that candidate availability zone. If no cloud server meets the resource specifications in the candidate availability zone, all availability zones can be traversed based on the next weak environmental dependency condition, and so on. In some worse cases, when there are n weak environmental dependencies, n iterations of the filtering operation across all availability zones are required, where n is a positive integer.

[0028] This method, which requires repeated traversal calculations, is inefficient and prone to performance issues when dealing with massive amounts of data for filtering. Secondly, this method makes it difficult to control the priority of weak environmental dependencies. For example, in some cases, when selecting an availability zone, it may be necessary to consider environmental dependencies such as the user-specified availability zone identifier, whether the availability zone has a specified optimal server type, the inventory of cloud servers in the availability zone, and whether the availability zone is a specified backup availability zone. When multiple dimensions of environmental dependencies exist, it is difficult to flexibly prioritize these dependencies, thus reducing the efficiency of cloud server selection.

[0029] To address the aforementioned technical problems, some embodiments of this application provide a solution, the core of which lies in: sorting the candidate cloud server set using weak environmental dependency conditions, and then performing a traversal operation on the sorted cloud server set according to resource specification conditions. Since the cloud server set satisfying the environmental dependency conditions is sorted, filtering based on resource specification conditions only requires one loop; once a cloud server satisfying the resource specification conditions is encountered, the filtering result is returned, avoiding repeated traversal calculations. Secondly, different priority attributes are set for each environmental dependency condition, making it easier to select and discard different filtering conditions, thus improving filtering efficiency.

[0030] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0031] Figure 1 This is a flowchart illustrating a server filtering method based on multiple filtering criteria provided in an exemplary embodiment of this application. The method may include, for example: Figure 1 The steps shown are as follows:

[0032] Step 101: Respond to the cloud server selection operation and obtain a variety of parallel filtering conditions, including: environment dependency conditions and at least one resource specification condition.

[0033] Step 102: Sort the cloud servers in the first cloud server set according to the priority attribute of the environmental dependency conditions to obtain the second cloud server set.

[0034] Step 103: According to the sorting of cloud servers in the second cloud server set and the at least one resource specification condition, perform specification matching on the cloud servers in the second cloud server set to obtain the target cloud server.

[0035] The embodiments of this application can be executed by a server filtering component, which can be called by other applications or systems to execute the server filtering method provided in this embodiment.

[0036] This application's embodiments can be applied to scenarios where applications or application systems are deployed to cloud servers. For example, in some scenarios, users can use the methods provided in this application's embodiments to deploy their message queue application to a single cloud server; or, users can use the methods provided in this application's embodiments to deploy the applications and supporting components (such as databases, middleware, etc.) included in their message queue system to multiple cloud servers. Here, a cloud server refers to a cloud server instance, which may include: elastic computing instances in the cloud, virtual machine instances in the cloud, container instances in the cloud, etc.

[0037] The cloud servers can be provided by cloud resource providers, who can offer cloud server rental and sales services through an online system. In some embodiments, the selection of a cloud server can be initiated by the user. For example, in some typical scenarios, when selecting a deployment target for their application or system, a user can initiate a cloud server selection operation through the online system. The online system can utilize a server filtering component to execute the method provided in this application embodiment, filtering suitable cloud servers for deploying the application or system from the cloud resource provider's resource pool and returning the filtering results. After the online system returns the filtering results, the user can use these cloud servers as deployment targets for their application or system by leasing or purchasing them.

[0038] In other embodiments, the cloud server selection operation can also be initiated by a specific system or program. For example, in some typical scenarios, the scheduler in a distributed system needs to add a cloud server to the distributed system as a computing node for deploying service instances. In this scenario, the scheduler can initiate a cloud server selection operation with the cloud resource provider. The cloud resource provider's resource management system can use the server filtering component to execute the method provided in the embodiments of this application, filter cloud servers suitable for deploying the service instance from the cloud resource provider's resource pool, and return the filtering results. After the resource management system returns the filtering results, the scheduler can add the filtered cloud servers to the distributed system and deploy the service instance on the filtered cloud servers.

[0039] The filtering criteria are used to filter the large number of cloud server resources in the cloud resource pool. In this embodiment, multiple parallel filtering criteria can be used to filter cloud servers, and the different filtering criteria can be independent of each other.

[0040] These multiple screening criteria can be categorized into at least two types: environmental dependency conditions and at least one resource specification condition. Environmental dependency conditions describe the non-hardware-related environmental requirements or prerequisites that the cloud server must meet, such as, but not limited to, at least one of the following: availability zone identifier, availability zone inventory, server type, performance level, and risk status.

[0041] The Availability Zone identifier describes the identification number, code, or name of the availability zone to which the cloud server belongs. An availability zone is a physical area within the same region where power and network infrastructure are independent. An availability zone consists of multiple adjacent data centers, and different availability zones can be distributed across different data centers. Different availability zones within the same region are isolated from each other but can be interconnected under conditions of low network latency. Each availability zone can provide a significant amount of cloud server resources. The availability zone inventory describes the number of remaining available cloud servers in the availability zone. The instance type describes the instance type of the cloud server, such as general-purpose, compute-optimized, memory-optimized, and storage-optimized. The performance level describes the overall performance of the cloud server. The risk status describes whether the cloud server is in a faulty, abnormal, or blacklisted state.

[0042] In some optional embodiments, the environment dependency condition may include at least one weak environment dependency condition. A weak environment dependency condition is a loosely defined constraint that allows a cloud server to still be selected as an available server object even if the specified environment dependency condition is not met.

[0043] It should be noted that, in some optional embodiments, the environment dependency condition may further include: at least one strong environment dependency condition. A strong environment dependency condition is a strict constraint that prevents a cloud server from being selected as an available server object if the specified strong environment dependency condition is not met.

[0044] Optionally, when obtaining filtering conditions, the server filtering component acquires at least one environment dependency condition and its dependency attributes selected by the user, and determines at least one strong environment dependency condition and / or at least one weak environment dependency condition based on the at least one environment dependency condition and its dependency attributes. The dependency attributes can be selected by the party initiating the cloud server's selection operation. This will be illustrated below.

[0045] In some alternative embodiments, dependency attributes may apply individually to each environmental dependency. In this implementation, a dependency attribute setting control may be provided for each environmental dependency for the user to select.

[0046] For example, when setting availability zone identifiers, the server filtering component can display a list of multiple availability zones for users to configure. Users can select availability zone identifiers from the list and set their dependency attributes to mandatory or non-mandatory attributes. Specifically, when a user selects some availability zone identifiers and sets their dependency attributes to mandatory attributes, the selected availability zone identifiers can be added to strong environment dependency conditions. Alternatively, when a user selects some availability zone identifiers and sets their dependency attributes to non-mandatory attributes, the selected availability zone identifiers can be added to weak environment dependency conditions.

[0047] For example, when setting device type conditions, the server filtering component can display a dropdown control corresponding to the device type conditions and display multiple device types in response to triggering operations on the dropdown control; users can select the target device type from multiple device types and can set the dependency attribute of the device type conditions to a non-mandatory attribute. Furthermore, the server filtering component can add the target device type to the weak environment dependency conditions.

[0048] For example, when setting risk status conditions, the server filtering component can display different types of blacklists, such as high-risk blacklists and high-failure-rate blacklists. Users can select the target blacklist from various types of blacklists and can set the dependency attributes of the risk status conditions as mandatory attributes. Furthermore, the server filtering component can add the target blacklist to strong environment dependency conditions, which will not be listed one by one.

[0049] Based on this approach, dependency attributes for different environmental conditions can be flexibly configured to meet diverse cloud server filtering needs. In some alternative embodiments, availability zone dependency attributes can be globally effective. That is, when a user selects multiple environmental conditions, the dependency attribute applies to all of them. If a user selects multiple environmental conditions, and the selected dependency attribute is a mandatory attribute, then the user-selected multiple environmental conditions can be added to the strong environmental conditions. If a user selects multiple environmental conditions, and the selected dependency attribute is a non-mandatory attribute, then the user-selected multiple environmental conditions can be added to the weak environmental conditions.

[0050] The resource specifications refer to the configuration parameters that the cloud server must meet. Optionally, the configuration parameters of the cloud server may include at least one of the following: processor (Central Processing Unit, CPU) type and number of cores, memory size, storage type and capacity (such as system disk, data disk), bandwidth, operating system type and version, network configuration (such as the number of public IP (Internet Protocol) addresses, internal network bandwidth, etc.), expansion options (such as GPU (Graphics Processing Unit), FPGA (Field-Programmable Gate Array), TPU (Tensor Processing Unit), etc.), throughput, number of supported network cards, and cloud disk bandwidth.

[0051] In some optional embodiments, when the server filtering component obtains multiple filtering conditions, it can acquire the server specification information corresponding to the cloud server selection operation, and analyze the server specification information to obtain at least one resource specification condition. For example, server specification information: CPU core count = 4, memory size = 1GB, bandwidth size = 30M / s. Accordingly, the at least one resource specification condition can be: CPU core count greater than or equal to 4, memory greater than or equal to 1GB, and bandwidth greater than or equal to 30M / s.

[0052] The server specifications can be selected by the user based on different specifications, or recommended by the server filtering component or other processing tools based on the user's application or system; this embodiment does not impose any restrictions. Optionally, if the application to be deployed by the user is a lightweight Web (World Wide Web) application, such as a static website or a lightly loaded Web application, a general-purpose instance with moderate memory and fewer CPU cores can be recommended. Optionally, if the application to be deployed by the user is a database application, such as a relational database, an optimized instance with more memory can be recommended. Optionally, if the application to be deployed by the user is a compute-intensive application, such as one involving a large amount of parallel computing or data analysis, a compute-intensive instance with strong CPU performance and more cores can be recommended. Optionally, if the application to be deployed by the user is a graphics rendering or artificial intelligence training application, an instance with GPUs can be recommended, and so on. After recommending cloud servers to the user based on the above principles, at least one resource specification condition can be determined based on the values ​​of the recommended cloud server's specification parameters.

[0053] In some optional embodiments, after obtaining multiple filtering conditions, the server filtering component can set priority attributes for each filtering condition. The priority attribute of any filtering condition describes its importance among the multiple filtering conditions. The higher the priority attribute of a filtering condition, the more important the filtering condition. In some optional embodiments, after obtaining multiple filtering conditions, the server filtering component can set priority attributes for each filtering condition according to its type and its importance in selecting a cloud server. For example, if the multiple filtering conditions are {strong environment dependency condition a1, strong environment dependency condition b1, resource specification condition c1, resource specification condition c2, weak environment dependency condition d1}, the result of sorting the priority attributes of these multiple filtering conditions from high to low is: P{strong environment dependency condition a1, strong environment dependency condition b1, resource specification condition c1, weak environment dependency condition d1, resource specification condition c2} = {5, 4, 3, 2, 1}.

[0054] After obtaining the environmental dependency conditions based on the above implementation method, the server filtering component can sort the cloud servers in the first cloud server set according to the environmental dependency conditions to obtain the second cloud server set.

[0055] The first cloud server set can be the set of all cloud servers in the resource pool provided by the cloud resource provider, or it can be the set of cloud servers in the resource pool that are in an idle state, or it can be the set of cloud servers in the resource pool that are in a production or testing environment, or it can be the set of cloud servers that meet other conditions. This embodiment does not limit this.

[0056] In some optional embodiments, the environment dependency condition includes at least one weak environment dependency condition. Accordingly, when the server filtering component sorts the cloud servers in the first cloud server set according to the weak environment dependency condition, it can determine, among the at least one weak environment dependency condition, the weak environment dependency conditions satisfied by at least some of the cloud servers in the first cloud server set.

[0057] In some optional implementations, for certain "availability zone level" weak environmental dependency conditions, cloud servers can be batch-determined based on their respective availability zones to determine whether they meet the weak environmental dependency conditions. For example, if the weak environmental dependency condition is an availability zone identifier, then all cloud servers in the availability zone corresponding to that identifier can be determined to meet this weak environmental condition. As another example, if the weak environmental dependency condition is an availability zone inventory condition, then at least one availability zone that meets this inventory condition can be selected, and all cloud servers in that at least one availability zone can be determined to meet the availability zone identifier weak environmental condition. Based on this implementation, batch-determining whether cloud servers meet weak environmental dependency conditions improves the sorting efficiency of cloud servers in the first set of cloud servers.

[0058] In some alternative implementations, for certain "non-availability zone level" weak environmental dependency conditions, each cloud server in the first cloud server set can be read sequentially, and it can be determined whether the read cloud server meets at least one weak environmental dependency condition. For example, if the weak environmental dependency condition is a machine type condition, the information of each cloud server can be read one by one, and it can be determined whether the machine type of the cloud server meets the machine type condition.

[0059] Based on the above implementation method, the weak environment dependency conditions satisfied by at least a portion of the cloud servers in the first cloud server set can be determined. Optionally, the priority attribute of the at least a portion of cloud servers can be updated according to the priority attribute of the weak environment dependency conditions satisfied by each of the at least a portion of cloud servers. The priority attribute of the weak environment dependency conditions describes the importance of the weak environment dependency conditions among the multiple filtering conditions.

[0060] Optionally, taking any cloud server in the first set of cloud servers as an example, if any cloud server satisfies any of the at least one weak environment dependency conditions, it can be determined whether the priority attribute of the environment dependency condition is greater than the current priority attribute of the cloud server. If the priority attribute of the environment dependency condition is greater than the current priority attribute of the cloud server, the priority attribute of the environment dependency condition can be used to update the current priority attribute of the cloud server. Conversely, if the priority attribute of the environment dependency condition is less than or equal to the current priority attribute of the cloud server, the current priority attribute of the cloud server remains unchanged. When the multiple filtering conditions do not include strong environment dependency conditions, the current priority attribute of any cloud server can be the default priority attribute of the cloud server, or the priority attribute updated last time based on the priority attribute of the satisfied weak environment dependency conditions.

[0061] In some optional embodiments, for any cloud server, when determining each weak environmental dependency condition satisfied by the cloud server, the priority attribute of the cloud server can be determined based on the priority attribute of that weak environmental dependency condition. In other optional embodiments, when determining all weak environmental dependency conditions satisfied by the cloud server, the priority attribute of the cloud server can be determined based on the larger or smaller value among the priority attributes of all weak environmental dependency conditions. This embodiment does not impose any limitations on this. A specific example will be used to illustrate this below.

[0062] For example, taking any cloud server as an example, it can be sequentially determined whether the cloud server satisfies each weak environment dependency condition in the weak dependency set. When it is determined that the cloud server satisfies any weak environment dependency condition, it can be checked whether the priority attribute of the cloud server is less than the priority attribute of the weak environment dependency condition; if it is less, the priority attribute of the weak environment dependency condition is updated to the priority attribute of the cloud server. When a cloud server satisfies multiple weak environment dependency conditions, multiple update operations can be performed on the priority attribute of the cloud server based on the priority attributes of the weak environment dependency conditions. That is to say, when a cloud server satisfies multiple weak environment dependency conditions, the priority attribute of the cloud server is the maximum value among the priority attributes of the multiple weak environment dependency conditions it satisfies.

[0063] After determining the priority attributes of the cloud servers in the first cloud server set based on the above implementation method, the server filtering component can sort the cloud servers in the first cloud server set according to their priority attributes to obtain a second cloud server set. That is, the cloud servers in the first cloud server set are sorted according to the updated priority attributes of at least some of the cloud servers and the priority attributes of cloud servers in the first cloud server set whose priority attributes have not been updated. It should be understood that in the first cloud server set, cloud servers whose priority attributes have not been updated refer to cloud servers that do not meet any weak environmental dependency conditions.

[0064] In some optional embodiments, in order to prioritize the specification matching of cloud servers that meet the weak environmental dependency conditions with higher priority, the server screening component may sort the cloud servers in the first cloud server set in descending order of priority attributes.

[0065] The above embodiments describe the case where the various filtering conditions do not include strong environmental dependency conditions. In this case, the server filtering component can sort the cloud servers in the first cloud server set based on the default priority attribute of the cloud server and the priority attribute of the weak environmental dependency conditions satisfied by the cloud server. It is worth noting that in some cases, the environmental dependency conditions may also include at least one strong environmental dependency condition described in the foregoing embodiments. In this case, the server filtering component can sort the cloud servers in the first cloud server set based on the default priority attribute of the cloud server, the priority attribute of the weak environmental dependency conditions satisfied by the cloud server, and the priority attribute of the strong environmental dependency conditions satisfied by the cloud server. The following will provide an exemplary description.

[0066] In some optional embodiments, before updating the priority attributes of at least a portion of the cloud servers in the first cloud server set based on the priority attributes of the at least one weak environmental dependency condition, the server filtering component may determine the priority attributes of the cloud servers in the first cloud server set based on the priority attributes of the at least one strong environmental dependency condition. Optionally, the server filtering component filters out cloud servers from the first cloud server set that satisfy the at least one strong environmental dependency condition. Wherein, for any cloud server, satisfying the at least one strong environmental dependency condition means that the cloud server satisfies all of the at least one strong environmental dependency condition. Optionally, the priority attributes of the cloud servers satisfying the at least one strong environmental dependency condition may be updated based on the priority attributes of the at least one strong environmental dependency condition. Optionally, the priority attribute of the at least one strong environmental dependency condition is higher than the maximum priority attribute of the at least one weak environmental dependency condition to increase the importance of the strong environmental dependency condition. In some optional embodiments, when multiple filtering conditions are labeled as a set F, the maximum priority attribute m in set F may be used as the priority attribute of the at least one strong environmental dependency condition. That is, after filtering the first cloud server using at least one strong environmental dependency condition, the priority attribute of the cloud server in the first cloud server set that satisfies at least one strong environmental dependency condition is updated to m.

[0067] When the environmental dependency conditions include strong environmental dependency conditions, if the filtering operation on the first cloud server set based on the strong environmental dependency conditions is performed before the matching operation on the first cloud server set based on the weak environmental dependency conditions, then when updating the priority of at least some cloud servers in the first cloud server set based on the weak environmental dependency conditions, the existing priority attributes of these at least some cloud servers can be either the default priority attributes of the cloud servers or the priority attributes updated based on the priority attributes of the satisfied strong environmental dependency conditions. When the server filtering component determines the priority attributes of cloud servers in the first cloud server set based on the priority attributes of at least one weak environmental dependency condition, if the priority attribute of any cloud server satisfying a weak environmental dependency condition is greater than the existing priority attribute of that cloud server, then the priority attribute of that environmental dependency condition can be used to update the existing priority attribute of that cloud server. That is, when the priority attribute of a cloud server satisfying a weak environmental dependency condition is greater than the priority attribute of the strong environmental dependency condition satisfied by that cloud server, the priority attribute of the weak environmental dependency condition can be used to update the priority attribute of the strong environmental dependency condition.

[0068] After obtaining the second set of cloud servers based on the methods described in the above embodiments, the server filtering component can filter target cloud servers from the second set of cloud servers according to the order of the cloud servers in the second set of cloud servers, and select those that match the at least one resource specification condition. In this embodiment, the matching of the selected target cloud servers with the resource specification condition includes complete matching or near matching. The selected target cloud servers may include cloud servers that satisfy all of the at least one resource specification condition, or cloud servers that satisfy some of the higher priority resource specification conditions. This embodiment does not impose any limitations.

[0069] In this implementation, cloud servers are sorted based on the priority attribute of weak environmental dependency conditions. On the one hand, this facilitates flexible selection of different weak environmental dependency conditions when conflicts exist; on the other hand, it prioritizes the specification matching of cloud servers that meet the weak environmental dependency conditions, allowing the target cloud server to be selected with only one traversal of the second server set, greatly reducing the number of traversals during cloud server selection and improving selection efficiency. The following will provide an exemplary description of the target cloud server selection operation.

[0070] The number of target cloud servers can be one or more. If there are multiple target cloud servers, they can be recorded using a target server set.

[0071] Optionally, the server filtering component can traverse the second set of cloud servers and perform a judgment operation based on the at least one resource specification condition for each traversed cloud server until the number of selected target cloud servers exceeds a set threshold. This set threshold can be the number of cloud servers selected by the user, or it can be the number of cloud servers recommended to the user; this embodiment does not impose any limitations.

[0072] The judgment operation based on at least one resource specification condition is as follows: When traversing any cloud server, the server filtering component can determine whether the cloud server meets at least one resource specification condition. If the cloud server meets at least one resource specification condition, then that cloud server is added as a target cloud server and can be added to the target server set. Here, "meeting at least one resource specification condition" means that the cloud server meets all of the resource specification conditions. If the cloud server does not meet the target resource specification condition among the at least one resource specification conditions, then it can be determined whether the cloud server is an available server object based on the priority attribute of the target resource specification condition and the priority attribute of the cloud server. Here, an available server object refers to a cloud server that does not meet some of the higher priority filtering conditions, but meets some of the higher priority filtering conditions. The performance of such cloud servers is close to that of cloud servers that meet all filtering conditions, and they are likely to meet the usage requirements. Accordingly, if the cloud server is an available server object, the server filtering component can add the cloud server as a target cloud server and add it to the target server set.

[0073] Optionally, when the server filtering component determines whether a cloud server is an available server object based on the priority attribute of the target resource specification conditions and the priority attribute of any cloud server, it can determine whether the priority attribute of the cloud server is greater than the priority attribute of the target resource specification conditions. If the priority attribute of the cloud server is higher than the priority attribute of the target resource specification conditions, then the cloud server is determined to be an available server object. Conversely, if the priority attribute of the cloud server is lower than or equal to the priority attribute of the target resource specification conditions, then the cloud server is determined to be an unavailable server object. It is worth noting that the target resource specification conditions that the cloud server does not meet may include one or more resource specification conditions. In some optional embodiments, if the target resource specification conditions include multiple resource specification conditions, then the priority attribute of the target resource specification conditions may be the larger of the multiple resource specification conditions.

[0074] Based on this implementation method, a priority comparison method can be used to select among multiple parallel screening conditions, thereby making the screening process more flexible and controllable.

[0075] The following example, using a message queue application deployment scenario, further illustrates the server filtering method provided in this application. When deploying a message queue application, users can provide multiple filtering conditions to select cloud servers that meet the requirements and deploy the message queue application on the selected cloud servers. When providing filtering conditions, users can select multiple different availability zones and set these different availability zones as strong environment dependency conditions. In a primary-standby deployment scenario, users can also specify a standby availability zone for the selected primary availability zone and set the standby availability zone as a weak environment dependency condition. In addition, users can also select the machine type and availability zone inventory as weak environment dependency conditions. Besides the aforementioned strong and weak environment dependency conditions, users can also select the cloud server specifications to set resource specification conditions. The above multiple filtering conditions describe the requirements for cloud servers from multiple dimensions, and these multiple conditions are parallel conditions.

[0076] After obtaining the aforementioned filtering criteria, the server filtering component can set priority attributes for these criteria. Typically, the priority attributes of multiple availability zones can be set to the highest. Among multiple weak environmental dependency conditions, the priority attribute of the backup availability zone can be higher than the priority attributes of other weak environmental dependency conditions. The server filtering component can filter cloud servers located in the target availability zone from the candidate cloud server set and update the priority attributes of the filtered cloud servers according to the priority attribute of the target availability zone. Then, it checks each cloud server in the candidate cloud server set to see if it meets the aforementioned weak environmental dependency conditions, and updates the priority attributes of the cloud servers according to the priority attributes of the weak environmental dependency conditions they meet. After performing the above operations, it can iterate through the candidate cloud server set according to the cloud services in the candidate cloud server set from highest to lowest priority, and when iterating through each cloud server, it checks whether the cloud server meets all the specification conditions. If all the specification conditions are met, the cloud server can be used as the target cloud server for deploying the message queue application. If a cloud server does not meet certain specifications, and these specifications have a lower priority than the cloud server's own priority attributes, it can still be used as the target cloud server for deploying message queue applications. Based on this implementation, using multiple availability zones as strong environmental dependencies can meet the need to deploy message queues across multiple availability zones, thereby improving message queue availability. Even if one availability zone fails, services in other availability zones can still operate normally. Furthermore, using backup availability zones as high-priority weak dependencies facilitates the deployment of reliable backup availability zones to the primary availability zone. This allows for data redundancy and automatic failover through primary / backup or multiple replica deployments in different availability zones, ensuring the stability of the message queue service.

[0077] The following will be combined with the appendix Figure 2 The server filtering method provided in the embodiments of this application will be further illustrated by example.

[0078] like Figure 2 As shown, in step 201, a first cloud server set C1 can be obtained, C1 = {ci | i = 1, 2, 3, ..., n}, where n is the total number of cloud servers in the first cloud server set C1, and n is a positive integer; and a set of filtering conditions F can be obtained, F = {fj | j = 1, 2, 3, ..., m}, where j is the priority attribute of the filtering condition, the lowest priority attribute has a value of 1, and the highest priority attribute has a value of m, where m is a positive integer. Each cloud server can have a default priority attribute, for example, the priority attribute can be set to 0 by default. The priority attribute of the cloud server is configured to be continuously updated during the condition judgment process.

[0079] like Figure 2 As shown, in step 202, multiple filtering conditions in the filtering condition set F can be divided into different types of condition sets, namely, strong environment dependency condition set F1, weak environment dependency condition set F2, and resource specification condition set F3.

[0080] like Figure 2 As shown, in step 203, the cloud servers in the first cloud server set C1 can be filtered using a strong environment dependency condition set F1 to obtain at least one cloud server that satisfies all the strong environment dependency conditions, and the priority attribute of this at least one cloud server is set to the priority attribute of the strong environment dependency conditions. The value of the priority attribute of the strong environment dependency conditions can be m. Based on this step, the priority attributes of some cloud servers in the first cloud server set C1 are updated, while the priority attributes of other cloud servers that do not satisfy all the environment dependency conditions remain the default priority attributes.

[0081] like Figure 2 As shown, in step 204, the priority attribute of the cloud servers in the first cloud server set C1 can be updated using the weak environment dependency condition set F2, and the cloud servers in the first cloud server set C1 can be sorted according to the result of the priority attribute update to obtain the second cloud server set C2.

[0082] Taking any cloud server ci as an example, specifically, it can be determined sequentially whether cloud server ci satisfies each weak environment dependency condition in the weak environment dependency condition set F2. For example, if cloud server ci satisfies the first weak environment dependency condition f1 (f1∈F1), it can be determined whether the priority attribute of cloud server ci is less than the priority attribute of the first weak environment dependency condition f1. If it is less, the priority attribute of the first weak environment dependency condition f1 is updated to the priority attribute of cloud server ci. Then, it can be determined whether cloud server ci satisfies the second weak environment dependency condition f2 (f2∈F1). If cloud server ci satisfies the second weak environment dependency condition f2 (f2∈F1), it can be determined whether the priority attribute of cloud server ci is less than the priority attribute of the second weak environment dependency condition f2. If it is less, the priority attribute of the second weak environment dependency condition f2 is updated to the priority attribute of cloud server ci. This process continues until all weak environment dependency conditions of cloud server ci have been determined.

[0083] Based on the above implementation method, the priority attributes of at least some cloud servers in the first cloud server set C1 can be updated according to the weak environmental dependency condition. Then, the cloud servers in the first cloud server set C1 are sorted according to their priority attributes from high to low, resulting in an ordered second cloud server set C2, where C2 = {ki | i = 1, 2, 3, ..., n, ki ∈ C1}.

[0084] like Figure 2 As shown, in step 205, after obtaining the second cloud server set C2, the target cloud server that matches the resource specification condition set F3 can be selected from the second cloud server set C2 according to the sorting of the cloud servers in the second cloud server set C2.

[0085] For a detailed implementation of step 205, please refer to Figure 3 An illustration. For example... Figure 3 As shown, after obtaining the second cloud server set C2, each cloud server ki in the second cloud server set C2 can be traversed, and it can be determined whether cloud server ki meets all the resource specification conditions in the resource specification condition set F3. For example... Figure 2 As shown, if the judgment is yes, then the cloud server ki is added to the result set R. If the judgment is no, then it is determined that the cloud server ki does not meet the target resource specification conditions, and it is determined whether the priority attribute of the target resource specification conditions is higher than the priority attribute of the cloud server ki. Figure 2 As shown, if the priority attribute of the target resource specification condition is higher than the priority attribute of cloud server ki, then the above judgment operation based on resource specification condition set F3 is performed on the next cloud server ki+1. Figure 2As shown, if the priority attribute of the target resource specification is lower than or equal to the priority attribute of the cloud server ki, then the cloud server ki is added to the result set R.

[0086] like Figure 3 As shown, after each cloud server is added to the result set R, it can be determined whether the number of cloud servers in the result set R is greater than the set threshold. If it is greater, the result set R is returned and the filtering operation ends. If it is less than, the above judgment operation based on the resource specification condition set F3 is performed on the next cloud server ki+1, which will not be described in detail here.

[0087] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 101 to 104 can be device A; or the execution subject of steps 101 and 102 can be device A, and the execution subject of step 103 can be device B; and so on.

[0088] Furthermore, some processes described in the above embodiments and accompanying drawings include multiple operations appearing in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0089] 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, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0090] Figure 4 This illustration shows a structural diagram of an electronic device provided in an exemplary embodiment of this application. This electronic device is applicable to the server filtering method based on multiple filtering conditions provided in the foregoing embodiments. For example... Figure 4 As shown, the electronic device may include: a memory 401, a processor 402, and a communication component 403.

[0091] Memory 401 is used to store computer programs and can be configured to store various other data to support operation on the electronic device. Examples of this data include instructions for any application or method used to operate on the electronic device.

[0092] Processor 402, coupled to memory 401, is configured to execute a computer program in memory 401 for: responding to a cloud server selection operation; acquiring multiple parallel filtering conditions, including: environmental dependency conditions and at least one resource specification condition; sorting cloud servers in a first cloud server set according to the priority attribute of the environmental dependency conditions to obtain a second cloud server set; and performing specification matching on the cloud servers in the second cloud server set according to the sorting of cloud servers in the second cloud server set and the at least one resource specification condition to obtain a target cloud server.

[0093] Optionally, the environmental dependency conditions include: at least one weak environmental dependency condition; when the processor 402 sorts the cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition to obtain a second cloud server set, it is specifically configured to: determine, among the at least one weak environmental dependency condition, the weak environmental dependency conditions satisfied by each of the cloud servers in the first cloud server set; update the priority attribute of the at least one cloud server according to the priority attribute of the weak environmental dependency conditions satisfied by each of the cloud servers; and sort the cloud servers in the first cloud server set according to the priority attribute of the cloud servers in the first cloud server set to obtain the second cloud server set.

[0094] Optionally, when the processor 402 updates the priority attributes of at least some cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition, it specifically performs the following: for any cloud server in the first cloud server set, if the any cloud server satisfies any one of the at least one weak environmental dependency conditions, it determines whether the priority attribute of the environmental dependency condition is greater than the current priority attribute of the any cloud server; if so, it uses the priority attribute of the environmental dependency condition to update the current priority attribute of the any cloud server.

[0095] Optionally, the environmental dependency condition further includes: at least one strong environmental dependency condition; before updating the priority attribute of at least some cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition, the processor 402 is further configured to: filter out cloud servers that satisfy the at least one strong environmental dependency condition from the first cloud server set; and update the priority attribute of the cloud servers that satisfy the at least one strong environmental dependency condition according to the priority attribute of the at least one strong environmental dependency condition.

[0096] Optionally, the priority attribute of the at least one strong environment dependency condition is higher than the maximum priority attribute of the at least one weak environment dependency condition.

[0097] Optionally, the cloud servers in the second cloud server set are arranged in descending order of priority attribute. When the processor 402 performs specification matching on the cloud servers in the second cloud server set according to the sorting of the cloud servers in the second cloud server set and the at least one resource specification condition to obtain a target cloud server, it is specifically used to: traverse the second cloud server set according to the sorting of the cloud servers in the second cloud server set, and perform the following filtering operation on any cloud server traversed until the number of filtered target cloud servers is greater than a set threshold: when traversing any cloud server, determine whether the cloud server meets the at least one resource specification condition; if the cloud server meets the at least one resource specification condition, add the cloud server as a target server; if the cloud server does not meet the target resource specification condition among the at least one resource specification conditions, determine whether the cloud server is an available server object according to the priority attribute of the target resource specification condition and the priority attribute of the cloud server; if the cloud server is an available server object, add the cloud server as a target server.

[0098] Optionally, when the processor 402 determines whether a cloud server is an available server object based on the priority attribute of the target resource specification and the priority attribute of the cloud server, it specifically performs the following: determining whether the priority attribute of the cloud server is greater than the priority attribute of the target resource specification; if the priority attribute of the cloud server is greater than the priority attribute of the target resource specification, then the cloud server is determined to be an available server object; if the priority attribute of the cloud server is less than or equal to the priority attribute of the target resource specification, then the cloud server is determined to be an unavailable server object.

[0099] Optionally, when acquiring multiple filtering conditions, the processor 402 is specifically used to: acquire server specification information corresponding to the selection operation; analyze the server specification information to obtain the at least one resource specification condition.

[0100] Optionally, when acquiring multiple filtering conditions, the processor 402 is specifically used to: acquire at least one environmental dependency condition and its dependency attributes selected by the user; the at least one environmental dependency condition includes at least one of: availability zone identifier, availability zone inventory, machine type, performance level, and risk status; and determine the at least one strong environmental dependency condition and / or the at least one weak environmental dependency condition based on the at least one environmental dependency condition and its dependency attributes.

[0101] Furthermore, such as Figure 4 As shown, the electronic device may also include other components such as a power supply component 404, a display component 404, and an audio component 405. Figure 4 The diagram only shows some components and does not mean that the server only includes... Figure 4 The components shown. Figure 4 In this embodiment, the components within the dashed boxes are optional, not mandatory, and their specific requirements depend on the product form of the electronic device. The electronic device in this embodiment can be a terminal device such as a desktop computer, laptop computer, smartphone, or IoT device, or a server-side device such as a conventional server, cloud server, or server array. If the electronic device in this embodiment is a terminal device such as a desktop computer, laptop computer, or smartphone, it may include... Figure 4 The components within the dashed box; if the electronic device in this embodiment is implemented as a conventional server, cloud server, or server array, etc., it may be omitted. Figure 4 The component within the dashed box.

[0102] The memory 401 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0103] The communication component 403 is configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as Wi-Fi, 2G (e.g., Global System for Mobile Communications (GSM)), 3G (e.g., Wideband Code Division Multiple Access (WCDMA), 4G (e.g., Long Term Evolution (LTE)), 4G+ (e.g., LTE-Advanced (LTE-A)), or 5G (5th Generation Mobile Communication Technology), or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component may be implemented based on Near Field Communication (NFC), Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wide Band (UWB), Bluetooth (BT), and other technologies.

[0104] The power supply component 404 is used to provide power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0105] The display component includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation.

[0106] An audio component may be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals may be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0107] In this embodiment, the various screening conditions for cloud servers are divided into environment dependency conditions and at least one resource specification condition. Based on these different categories of conditions, different operations can be performed on the first set of cloud servers to be screened. Specifically, the cloud servers in the first set can be sorted according to the priority attribute of the environment dependency condition to obtain a second set of cloud servers. Then, according to the sorting of the cloud servers in the second set, target cloud servers matching the at least one resource specification condition are selected from the second set. In this implementation, sorting the cloud servers based on the priority attribute of the environment dependency condition facilitates flexible selection of different environment dependency conditions when conflicts exist. Furthermore, it prioritizes specification matching for cloud servers that meet the environment dependency condition, allowing the target cloud server to be selected with only one traversal of the second set, greatly reducing the number of traversals during cloud server screening and improving screening efficiency.

[0108] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, can implement the steps that can be performed by an electronic device in the above method embodiments.

[0109] Accordingly, this application also provides a computer program product, including: a computer program / instructions, which, when executed by a processor, can implement the steps in the method provided in this application.

[0110] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM (Compact Disc Read-Only Memory), optical storage, etc.) containing computer-usable program code.

[0111] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0112] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0113] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

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

[0115] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0116] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, 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 technologies, CD-ROM, Digital Video Disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0117] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0118] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A server filtering method based on multiple filtering conditions, characterized in that, include: In response to the cloud server selection operation, obtain a series of multiple filtering conditions, including: environment dependency conditions and at least one resource specification condition; Based on the priority attribute of the environmental dependency conditions, the cloud servers in the first cloud server set are sorted to obtain the second cloud server set. According to the sorting of cloud servers in the second cloud server set and the at least one resource specification condition, the cloud servers in the second cloud server set are matched for specifications to obtain the target cloud server.

2. The method according to claim 1, characterized in that, The environment dependency condition includes: at least one weak environment dependency condition; Based on the priority attributes of the aforementioned environmental dependencies, the cloud servers in the first cloud server set are sorted to obtain the second cloud server set, which includes: In the at least one weak environment dependency condition, it is determined that at least some of the cloud servers in the first cloud server set each satisfy a weak environment dependency condition. The priority attributes of the at least some cloud servers are updated based on the priority attributes of the weak environmental dependency conditions satisfied by each of the at least some cloud servers. Based on the priority attributes of the cloud servers in the first cloud server set, the cloud servers in the first cloud server set are sorted to obtain the second cloud server set.

3. The method according to claim 2, characterized in that, Update the priority attributes of at least a portion of the cloud servers in the first cloud server set according to the priority attribute of the at least one weak environmental dependency condition, including: For any cloud server in the first set of cloud servers, if any cloud server satisfies any of the at least one weak environment dependency conditions, then it is determined whether the priority attribute of the environment dependency condition is greater than the priority attribute that the cloud server currently has. If so, the priority attribute of the environment dependency condition is used to update the existing priority attribute of any cloud server.

4. The method according to claim 2, characterized in that, The environment-dependent conditions also include: at least one strong environment-dependent condition; Before updating the priority attributes of at least some cloud servers in the first cloud server set based on the priority attributes of the at least one weak environmental dependency condition, the method further includes: From the first set of cloud servers, select cloud servers that meet at least one strong environment dependency condition; Update the priority attribute of the cloud server that satisfies the at least one strong environmental dependency condition based on the priority attribute of the at least one strong environmental dependency condition.

5. The method according to claim 4, characterized in that, The priority attribute of the at least one strong environment dependency condition is higher than the maximum priority attribute of the at least one weak environment dependency condition.

6. The method according to any one of claims 2-5, characterized in that, The cloud servers in the second set of cloud servers are arranged in descending order of priority attribute; According to the order of the cloud servers in the second cloud server set and the at least one resource specification condition, the cloud servers in the second cloud server set are matched for specifications to obtain the target cloud server, including: Based on the order of the cloud servers in the second cloud server set, iterate through the second cloud server set and perform the following filtering operation on any cloud server encountered, until the number of the selected target cloud servers exceeds a set threshold: When traversing any of the cloud servers, determine whether the cloud server meets at least one of the resource specification conditions; If any of the cloud servers meets the at least one resource specification condition, then the cloud server is added as the target server; If any of the cloud servers does not meet the target resource specification condition among the at least one resource specification condition, then it is determined whether any of the cloud servers is an available server object based on the priority attribute of the target resource specification condition and the priority attribute of any of the cloud servers. If any of the cloud servers is an available server object, add that cloud server as the target server.

7. The method according to claim 6, characterized in that, Based on the priority attribute of the target resource specification and the priority attribute of any cloud server, determine whether any cloud server is an available server object, including: Determine whether the priority attribute of any of the cloud servers is greater than the priority attribute of the target resource specification condition; If the priority attribute of any cloud server is higher than the priority attribute of the target resource specification condition, then the cloud server is determined to be an available server object. If the priority attribute of any cloud server is lower than or equal to the priority attribute of the target resource specification condition, then the cloud server is determined to be an unavailable server object.

8. The method according to any one of claims 1-5, characterized in that, Get multiple filtering criteria, including: Obtain the server specification information corresponding to the selection operation; The server specification information is analyzed to obtain at least one resource specification condition.

9. The method according to claim 4 or 5, characterized in that, Get multiple filtering criteria, including: Obtain at least one environmental dependency condition and its dependency attributes selected by the user; the at least one environmental dependency condition includes at least one of the following: availability zone identifier, availability zone inventory, machine type, performance level, and risk status; Based on the at least one environmental dependency condition and its dependency attributes, determine the at least one strong environmental dependency condition and / or the at least one weak environmental dependency condition.

10. An electronic device, characterized in that, include: Memory and processor; The memory is used to store one or more computer instructions; The processor is configured to execute one or more computer instructions for performing the steps of the method according to any one of claims 1-9.

11. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it can implement the server screening method according to any one of claims 1-9.

12. A computer program product, characterized in that, include: A computer program / instruction that, when executed by a processor, enables the server screening method according to any one of claims 1-9.