Resource recommendation methods, devices, equipment, and storage media based on multi-cloud environments
By generating resource feature vectors and target demand vectors in a multi-cloud environment, and combining vector similarity retrieval and scoring ranking, the problem of low accuracy and efficiency in resource recommendation in a multi-cloud environment is solved, and recommendation results that better meet resource needs are achieved.
Patent Information
- Application Number
- CN202511502048.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-21
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2045-10-21
AI Technical Summary
In a multi-cloud environment, existing technologies struggle to balance the responsiveness and matching accuracy of resource recommendations. Traditional methods lack adaptability to diverse user preferences and changing scenarios, resulting in complex resource selection and inaccurate recommendation results.
By acquiring resource requirements and information, feature extraction is performed to generate resource feature vectors and target requirement vectors. Vector similarity is used to filter candidate resource sets, and scores are calculated and ranked based on performance matching degree, cost-effectiveness, availability, and scalability weights to generate a list of recommended results.
It improves the accuracy and efficiency of resource recommendation in a multi-cloud environment, generates a recommendation result list that better meets resource needs, and solves the problems of inaccurate matching of resources and needs and low recommendation efficiency.
Smart Images

Figure CN120979970B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of resource management technology, and in particular to resource recommendation methods, apparatus, devices and storage media based on multi-cloud environments. Background Technology
[0002] With the continuous development of cloud computing technology, major cloud service providers offer a wide variety of resource instances, including computing, storage, and network resources. When deploying services, users need to select the configuration combination that best suits their needs from these heterogeneous cloud resources, taking into account basic capabilities such as computing performance, storage capacity, and network bandwidth, as well as service level, stability, cost structure, and future scalability. During the selection process, due to the differences in resource specifications, performance indicators, and billing methods among cloud service providers, the decision-making process becomes increasingly complex and difficult to control, especially in multi-cloud deployment environments, where resource selection involves not only multi-dimensional evaluation but also requires highly efficient response.
[0003] Traditional resource recommendation methods primarily rely on rule-based filtering or fixed-score models. Rule-based filtering methods use pre-defined hard conditions to filter resources, such as setting minimum memory capacity or a specific number of CPU cores. The recommended results only satisfy explicit conditions and lack a deep understanding of the details of user needs. Another type of method uses fixed weights to score resources and ranks them based on the total score of each indicator. This type of method can reflect the importance of indicators to some extent, but because the scoring weights are fixed, it is difficult to adapt to diverse user preferences and changing scenarios.
[0004] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention
[0005] The main objective of this application is to provide a resource recommendation method, apparatus, device, and storage medium based on a multi-cloud environment, aiming to solve the technical problem of balancing response speed and matching accuracy in resource recommendation under multi-cloud environments.
[0006] To achieve the above objectives, this application proposes a resource recommendation method based on a multi-cloud environment, the method comprising:
[0007] Obtain resource information of resource requirements and resource instances, and extract features based on the resource information to obtain resource feature vectors;
[0008] Generate a target demand vector based on the resource requirements and the resource feature vector;
[0009] Based on the target demand vector, a vector similarity retrieval is performed to obtain a set of target candidate resources;
[0010] The candidate resource scores are calculated based on the candidate resources in the target candidate resource set.
[0011] The candidate resources are sorted according to their scores to generate a list of recommended results.
[0012] In one embodiment, the step of calculating a score for a candidate resource based on candidate resources in the target candidate resource set includes:
[0013] Obtain the performance matching weight, cost-effectiveness weight, availability weight, and scalability weight;
[0014] Based on the performance matching weight, the cost-effectiveness weight, the availability weight, and the scalability weight, a performance matching score, a cost-effectiveness score, an availability score, and a scalability score are calculated for each candidate resource in the target candidate resource set.
[0015] The candidate resource score is obtained by calculating the score based on the performance matching score, the cost-effectiveness score, the availability score, and the scalability score.
[0016] In one embodiment, the step of calculating the performance matching score, cost-effectiveness score, availability score, and scalability score for each candidate resource in the target candidate resource set based on the performance matching weight, the cost-effectiveness weight, the availability weight, and the scalability weight includes:
[0017] The CPU weight, memory weight, storage weight, and network weight are determined based on the performance matching weight, and the performance matching score of the candidate resources in the target candidate resource set is calculated based on the CPU weight, memory weight, storage weight, and network weight.
[0018] The budget weight and cost-effectiveness weight are determined based on the cost-benefit weight, and the cost-benefit score of the candidate resource is calculated based on the budget weight and the cost-effectiveness weight.
[0019] The reliability weight and stability weight are determined based on the availability weight, and the availability score of the candidate resource is calculated based on the reliability weight and the stability weight.
[0020] The vertical expansion weight and the horizontal expansion weight are determined based on the expansion weight, and the expansion score of the candidate resource is calculated based on the vertical expansion weight and the horizontal expansion weight.
[0021] In one embodiment, after the step of sorting the candidate resources according to the candidate resource scores and generating a recommendation result list, the method further includes:
[0022] Obtain feedback information on candidate resources in the recommendation results list, including selection behavior information and satisfaction feedback;
[0023] Based on the selection behavior information and the satisfaction feedback, analyze the deviation information between the feedback information and the candidate resource score;
[0024] The weight values of performance matching weight, cost-effectiveness weight, availability weight, and scalability weight are updated based on the deviation information.
[0025] In one embodiment, the step of performing vector similarity retrieval based on the target demand vector to obtain a set of target candidate resources includes:
[0026] Obtain the similarity threshold, preset vector database, and preset constraints;
[0027] Based on the target demand vector, an approximate nearest neighbor search is performed in the preset vector database to obtain an initial candidate resource set;
[0028] Select a set of similar candidate resources from the initial candidate resource set whose similarity is greater than the similarity threshold;
[0029] Resource instances that satisfy the preset constraints in the similar candidate resource set are taken as target candidate resources, and a target candidate resource set is determined based on the target candidate resources.
[0030] In one embodiment, the step of generating a target demand vector based on the resource demand and the resource feature vector includes:
[0031] Based on the resource requirements, obtain information on computing power requirements, storage requirements, network bandwidth requirements, budget constraints, and business scenario types;
[0032] Determine the preset requirement mapping rules based on the business scenario type;
[0033] The capacity requirement information, storage requirement information, network bandwidth requirement information, and budget constraint requirement information are standardized according to the preset requirement mapping rules to obtain a standardized requirement parameter mapping.
[0034] Based on the standardized demand parameter mapping and the resource feature vector, a vector space isomorphism is performed to obtain an isomorphic demand vector;
[0035] The isomorphic demand vector is normalized to obtain the target demand vector.
[0036] In one embodiment, the step of extracting features based on the resource information to obtain a resource feature vector includes:
[0037] Obtain the computing power information, memory information, storage information, network information, and preset norm of the resource instance in the resource information;
[0038] Based on the computing power information, memory information, storage information, and network information, basic features, cost features, availability features, and scalability features are extracted.
[0039] The normalized resource vector is obtained by normalizing the basic characteristics, cost characteristics, availability characteristics, and scalability characteristics.
[0040] The normalized resource vector is combined with features to obtain a resource feature vector of a preset dimension, and the resource feature vector is normalized according to the preset norm to obtain a resource feature vector.
[0041] In addition, to achieve the above objectives, this application also proposes a resource recommendation device based on a multi-cloud environment. The resource recommendation device based on a multi-cloud environment includes: a resource acquisition module, used to acquire resource requirements and resource information of resource instances, and to extract features based on the resource information to obtain a resource feature vector.
[0042] The demand generation module is used to generate a target demand vector based on the resource demand and the resource feature vector;
[0043] The resource candidate module is used to perform vector similarity retrieval based on the target demand vector to obtain a set of target candidate resources.
[0044] The scoring calculation module is used to calculate the scores of candidate resources based on the candidate resources in the target candidate resource set, and obtain the candidate resource scores.
[0045] The resource recommendation module is used to sort the candidate resources according to their scores and generate a list of recommended results.
[0046] Furthermore, to achieve the above objectives, this application also proposes a resource recommendation device based on a multi-cloud environment, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the resource recommendation method based on a multi-cloud environment as described above.
[0047] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the resource recommendation method based on a multi-cloud environment as described above.
[0048] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the resource recommendation method based on a multi-cloud environment as described above.
[0049] One or more technical solutions proposed in this application have at least the following technical effects:
[0050] This technique transforms resource information from resource instances into resource feature vectors through feature extraction, generates target demand vectors by combining resource requirements, filters the target candidate resource set through vector similarity retrieval, and generates a recommendation result list through scoring calculation and ranking. In multi-cloud environments, resources are diverse, and the dimensions of matching requirements with resources are numerous and complex. Existing technologies often suffer from inaccurate resource-demand matching, low recommendation efficiency, and results that do not meet actual needs due to the lack of standardized feature representation and accurate matching mechanisms. By transforming resource information and requirements into vectors for standardized representation, using vector similarity retrieval for efficient filtering, and combining scoring and ranking to optimize results, this technique solves the problems of difficult resource-demand matching, low recommendation efficiency, and inaccurate results in multi-cloud environments. Compared with existing technologies, it achieves improved accuracy and efficiency in resource recommendation and generates a recommendation result list that better meets resource needs. Attached Figure Description
[0051] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0052] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 This is a flowchart illustrating an embodiment of the resource recommendation method based on a multi-cloud environment in this application.
[0054] Figure 2 This is a flowchart illustrating Embodiment 2 of the resource recommendation method based on a multi-cloud environment in this application.
[0055] Figure 3 This is a schematic diagram of the module structure of a resource recommendation device based on a multi-cloud environment according to an embodiment of this application;
[0056] Figure 4 This is a schematic diagram of the device structure of the hardware operating environment involved in the resource recommendation method based on a multi-cloud environment in the embodiments of this application.
[0057] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0058] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0059] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0060] The main solution of this application embodiment is as follows: obtain resource information of resource requirements and resource instances, and perform feature extraction based on the resource information to obtain resource feature vectors; generate target demand vectors based on the resource requirements and resource feature vectors; perform vector similarity retrieval based on the target demand vectors to obtain a target candidate resource set; calculate scores for candidate resources in the target candidate resource set to obtain candidate resource scores; and sort the candidate resources based on the candidate resource scores to generate a recommendation result list.
[0061] In this embodiment, for ease of description, the following description focuses on identifying resource recommendation devices based on multi-cloud environments.
[0062] Since existing technologies struggle to balance response speed and matching accuracy in resource recommendations within a multi-cloud environment, this application provides a solution. This solution involves extracting resource information from resource instances and transforming it into resource feature vectors. Combined with resource requirements, a target demand vector is generated. Vector similarity retrieval is then used to filter a set of candidate resources. Finally, a recommendation result list is generated through scoring and ranking. In a multi-cloud environment, resources are diverse, and the dimensions of matching requirements with resources are numerous and complex. Existing technologies often lack standardized feature representation and precise matching mechanisms, leading to inaccurate resource-demand matching, low recommendation efficiency, and results that do not meet actual needs. By transforming resource information and requirements into vectors for standardized representation, utilizing vector similarity retrieval for efficient filtering, and combining scoring and ranking to optimize results, this solution addresses the problems of difficult resource-demand matching, low recommendation efficiency, and inaccurate results in a multi-cloud environment. Compared to existing technologies, this solution improves the accuracy and efficiency of resource recommendations, generating a recommendation result list that better meets resource needs.
[0063] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device capable of performing the above functions, a resource recommendation device based on a multi-cloud environment, etc. The following description uses a resource recommendation device based on a multi-cloud environment as an example to illustrate this embodiment and the subsequent embodiments.
[0064] Based on this, embodiments of this application provide a resource recommendation method based on a multi-cloud environment, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the resource recommendation method based on a multi-cloud environment according to this application.
[0065] In this embodiment, the resource recommendation method based on a multi-cloud environment includes steps S10 to S50:
[0066] Step S10: Obtain resource information of resource requirements and resource instances, and extract features based on the resource information to obtain resource feature vectors;
[0067] It should be noted that resource requirements refer to the specific resource requirements of a user or application in a multi-cloud environment. These requirements typically encompass multiple dimensions, such as computing power requirements (e.g., number of CPU cores, processor model), storage requirements (e.g., storage capacity, storage type: solid-state or mechanical storage), network requirements (e.g., bandwidth, latency limits), cost budgets (e.g., hourly or monthly spending limits), and reliability requirements (e.g., service availability metrics, data backup frequency). In this embodiment, resource requirements can be explicitly stated in text by the user or parameterized requirements automatically generated by the system based on the application scenario.
[0068] Additionally, a resource instance refers to a concrete resource entity that actually exists in a multi-cloud environment and can be invoked or allocated. These entities come from different cloud service providers, such as Amazon Web Services, AWS, Microsoft Azure, and Alibaba Cloud. Types of resource instances include, but are not limited to, virtual server instances, cloud database instances (such as relational database instances, non-relational database instances, object storage instances, and container service instances), and each resource instance has a unique identifier and specific operational status.
[0069] Additionally, resource information consists of detailed data describing the attributes and characteristics of resource instances. This data characterizes the performance, configuration, and status of resource instances. Specifically, it includes hardware configurations such as CPU model and number of cores, memory capacity, and disk I / O speed; software environment such as operating system type and version, and pre-installed applications; service attributes such as payment method (pay-as-you-go or subscription-based), availability percentage specified in the service level agreement; geographical location such as the region where the data center is located; and historical performance data such as average response time over the past 7 days and peak resource utilization.
[0070] Additionally, feature extraction refers to the process of filtering, transforming, and extracting representative key features from resource information. Its purpose is to transform unstructured or semi-structured resource information into structured feature data that can be used for calculation and comparison. In this process, resource information needs to be preprocessed, such as converting textual descriptions of operating system types into numerical codes, standardizing continuous data, and removing redundant or irrelevant information, such as manufacturer logos unrelated to resource performance, while retaining features meaningful for resource matching.
[0071] Furthermore, a resource feature vector is a multi-dimensional vector obtained after feature extraction, used to quantitatively represent the features of a resource instance. Each dimension corresponds to a processed resource feature. For example, the resource feature vector of a virtual server instance may include the following dimensions: number of CPU cores, memory capacity, bandwidth, price, etc. The values of each dimension together form a vector, enabling the features of the resource instance to be represented and compared mathematically.
[0072] In one feasible implementation, when a cold start problem occurs due to insufficient feedback data in the initial stage of the system or when facing new users, rules based on expert knowledge can be used to initialize various weights (such as weights for performance, cost, etc.) to provide a basis for recommendations. At the same time, a lightweight and fast feedback mechanism is designed to collect user preference information on key factors (such as emphasis on performance or cost) in a timely manner during the recommendation process. Based on this fast feedback, incremental weight adjustments are made to gradually optimize the weight settings to meet user needs. At this stage, a certain exploration ratio should also be maintained to recommend diverse resources to cover potential needs. As the exploration rate gradually decreases with the accumulation of user feedback data, a smooth transition from relying on initial rules to being based on actual user preferences is achieved, effectively solving the cold start problem.
[0073] In one feasible implementation, step S10 may include steps S11 to S14:
[0074] Step S11: Obtain the computing power information, memory information, storage information, network information, and preset norm of the resource instance in the resource information;
[0075] It's important to note that computing power information describes the computational performance of a resource instance in processing data and running tasks. This primarily includes the Central Processing Unit (CPU), the number of CPU cores, its clock speed (in GHz), processor architecture (e.g., x86, ARM), and floating-point performance (FLOPS). This directly determines the speed and efficiency of a resource instance in handling complex tasks. For example, a resource instance with an 8-core CPU at 3.2 GHz typically has higher computing power than a 4-core CPU at 2.5 GHz instance.
[0076] Memory information pertains to the Random Access Memory (RAM) attributes of a resource instance. This includes memory capacity (GB or TB), memory type (e.g., Double Data Rate 4, DDR4, DDR5), memory bandwidth (GB / s), and memory latency (ns). Memory information affects a resource instance's ability to temporarily store and quickly access data. For example, an instance with 16GB of DDR5 memory typically performs more smoothly when multitasking than an instance with 8GB of DDR4 memory.
[0077] Storage information describes the characteristics of persistent storage devices that contain resource instances. This includes storage capacity (in GB or TB), storage type (e.g., Solid State Drive, SSD), Hard Disk Drive, HDD), read / write speed (e.g., Input / Output Operations Per Second, IOPS), sequential read / write speed (MB / s), and storage interface (e.g., Serial Advanced Technology Attachment, SATA), Non-Volatile Memory Express, NVMe, etc.). For example, the read / write speed of a 1TB NVMe SSD might reach 3000MB / s, significantly higher than a SATA HDD of the same capacity.
[0078] Network information refers to the characteristics of a resource instance in terms of network communication. This includes network bandwidth (in Mbps or Gbps), network latency (in milliseconds, referring to the time from data transmission to reception), network throughput (in GB / s, referring to the amount of data transmitted per unit time), supported network protocols such as Transmission Control Protocol / Internet Protocol, TCP / IP, User Datagram Protocol, UDP, and whether it supports network functions such as load balancing, Virtual Private Network (VPN), etc. For example, a resource instance with network information of "10Gbps bandwidth, latency ≤20ms" typically has better data transmission speed and stability than an instance with "1Gbps bandwidth, latency ≤50ms".
[0079] A preset norm is a pre-defined mathematical function used to measure the size of a vector. In this embodiment, it is used to normalize the resource feature vectors subsequently, ensuring uniform vector scaling. Common preset norms include the L1 norm, the sum of the absolute values of vector elements, the L2 norm, and the square root of the sum of squares of vector elements. For example, if the preset norm is the L2 norm, the resource feature vectors will be converted into unit vectors using this norm, and the L2 norm of the vector will be 1.
[0080] Step S12: Extract basic features, cost features, availability features, and scalability features based on the computing power information, memory information, storage information, and network information;
[0081] It should be noted that basic features are characteristics extracted from computing power information, memory information, storage information, and network information that reflect the basic operational capabilities of a resource instance and are directly related to the core performance of the resource. For example, the number of CPU cores and clock speed extracted from computing power information; the memory capacity extracted from memory information; the storage capacity and read / write speed extracted from storage information; and the bandwidth and latency extracted from network information are all basic features and are the fundamental guarantee for the normal operation of a resource instance.
[0082] Cost characteristics are features related to the usage cost of resource instances. They are extracted from billing-related content in the resource information, including hourly rental fees, storage fees (e.g., monthly fees per GB), network traffic fees (e.g., data transfer fees per GB), and whether pay-as-you-go or long-term packages are supported (e.g., discount information for annual or monthly subscriptions). For example, the cost characteristics of a resource instance could be "2 yuan per hour, 20% discount for annual subscriptions, and 0.5 yuan per GB for traffic."
[0083] Availability characteristics describe the reliable operation capability of a resource instance. They are extracted from resource information related to stability and fault recovery, including the availability percentage in the Service Level Agreement (SLA), such as 99.9% indicating that the allowed downtime per month is no more than 43 minutes; automatic fault recovery time, such as recovery within 30 minutes; data backup frequency, such as daily backup; and whether multi-region redundant deployment is supported. For example, the availability characteristics of a resource instance might be "availability 99.95%, fault recovery time ≤ 15 minutes, daily backup."
[0084] Scalability characteristics reflect the ability of a resource instance to dynamically adjust its performance based on demand. These characteristics are extracted from configuration-related information in the resource data and include the maximum number of CPU cores that can be expanded (e.g., from 4 cores to 16 cores), the maximum memory capacity that can be expanded (e.g., from 32GB to 128GB), the maximum storage capacity that can be expanded, the time required for expansion (e.g., 5 minutes for online expansion), and whether automatic scaling up / down is supported to adjust configurations automatically based on load. For example, a resource instance might have the scalability characteristics of "CPU expandable to 32 cores, memory expandable to 256GB, supports automatic scaling up / down, expansion time ≤ 3 minutes".
[0085] Understandably, basic features such as the number of CPU cores, memory capacity, storage read / write speed, and bandwidth are extracted from computing power, memory, storage, and network information. Then, cost features, including rent and discounts, are extracted from the billing content of resource information. Availability features, such as availability percentage and backup frequency, are extracted from resource stability and fault handling information. Finally, scalability features, such as maximum expansion capacity and expansion time, are extracted from resource configuration adjustment information.
[0086] Step S13: Normalize the basic features, cost features, availability features, and scalability features to obtain a normalized resource vector;
[0087] It should be noted that the normalized resource vector is a vector formed by normalizing the basic features, cost features, availability features, and scalability features, and then combining these features in a preset order. Each dimension corresponds to a normalized feature. For example, the number of CPU cores in the basic features is normalized to 0.3, the memory capacity is normalized to 0.5, and the hourly rent in the cost features is normalized to 0.2, etc., together forming a multi-dimensional vector.
[0088] In addition, normalization is the process of converting features of different magnitudes and units to a uniform scale, such as 0-1 or -1 to 1, in order to eliminate the impact of differences in magnitude between features on subsequent calculations.
[0089] It is understandable that for each sub-feature in the basic features, normalization is performed according to its value range; then, the same normalization process is performed on each sub-feature in the cost feature, availability feature, and scalability feature; finally, all normalized sub-features are combined in a preset order to form a normalized resource vector. In this embodiment, the Min-Max normalization method can be used to map each feature value to the interval [0, 1].
[0090] Step S14: Perform feature combination on the normalized resource vector to obtain a resource feature vector of a preset dimension, and normalize the resource feature vector according to the preset norm to obtain a resource feature vector.
[0091] It should be noted that the preset dimension is a pre-defined number of dimensions for the resource feature vectors, used to standardize the vector structure and facilitate subsequent vector similarity calculations and model processing. For example, if the preset dimension is 30, the resource feature vector after feature combination must contain 30 feature dimensions. If the original normalized resource vector has insufficient dimensions, it will be supplemented through feature combination; if it exceeds the limit, key features will be selected and retained.
[0092] Furthermore, the resource feature vector is the final vector obtained after feature combination and normalization with a preset norm. Its dimension is a preset dimension, and after normalization with a preset norm, such as the L2 norm, the vector scale is uniform. If the L2 norm is 1, it can be directly used for subsequent vector similarity retrieval and other processing.
[0093] Understandably, the features in the normalized resource vector are combined to generate new cross features, such as "bandwidth to latency ratio" and "storage capacity to cost ratio", so that the feature dimension reaches the preset dimension, such as 30 dimensions; then the preset norm determined in step S11, such as the L2 norm, is used to normalize the vector, converting the vector into a unit vector with a norm of 1; finally, a resource feature vector that can be used for subsequent processing is obtained.
[0094] In this embodiment, the original dimension of the normalized resource vector is 15. Fifteen new cross-features are generated through feature combination, bringing the total dimension to the preset 30. Then, the 30-dimensional vector is normalized using the L2 norm, with each element divided by the vector's L2 norm to obtain the final resource feature vector. The normalized features are combined into a vector. For high-dimensional features, Principal Component Analysis (PCA) can be used for dimensionality reduction, ultimately generating a 128-dimensional feature vector. The vector structure is as follows: dimensions 0-31 represent computational performance features; dimensions 32-63 represent storage performance features; dimensions 64-95 represent network performance features; and dimensions 96-127 represent cost and availability features. The normalization calculation formula is as follows:
[0095] = V / ||V||
[0096] In the formula, V is the resource feature vector, i.e., the original vector, and ||V|| is the preset norm of the vector, i.e., the L2 norm. This is the resource feature vector.
[0097] Step S20: Generate a target demand vector based on the resource requirements and the resource feature vector;
[0098] It should be noted that the target demand vector is a multi-dimensional vector generated by combining resource requirements and resource feature vectors. It is used to quantitatively represent user needs, and its dimensions are completely consistent with those of the resource feature vectors to facilitate subsequent vector similarity calculations. This vector is formed by converting each requirement in the resource demand into a feature value corresponding to the resource feature vector. For example, "4-core CPU" in the resource demand corresponds to the CPU core count dimension in the resource feature vector, and "monthly rent not exceeding 500 yuan" corresponds to the price dimension feature value. For feature dimensions not explicitly mentioned in the resource demand, such as operating system type, common values for that dimension in the resource feature vector can be analyzed or default values can be set, such as 0 indicating no specific requirement, to ensure the completeness of the vector dimensions.
[0099] Understandably, the process involves analyzing resource requirements to clarify the specific requirements they include, such as computing, storage, and pricing. Referring to the dimensional structure of the resource feature vector, each requirement is converted into a corresponding feature value. For feature dimensions not explicitly specified in the resource requirements, reasonable default values are set based on the actual scenario. For example, if the resource requirements do not mention the operating system, that dimension can be set to 0, indicating no restrictions on the operating system. These feature values are then combined to form the target requirement vector, ensuring that its dimensions are completely consistent with the resource feature vector.
[0100] In one feasible implementation, step S20 may include steps S21 to S25:
[0101] Step S21: Obtain computing power requirement information, storage requirement information, network bandwidth requirement information, budget constraint requirement information, and business scenario type based on the resource requirements;
[0102] It should be noted that resource requirements are the specific demands of users or applications for the resources needed in a multi-cloud environment, covering multiple aspects such as functionality, performance, and cost, and are the basis for generating target requirement vectors in the future.
[0103] Computing capacity requirements are the computing performance requirements for processing data and running tasks within resource requirements. These include the minimum or target number of CPU cores (e.g., at least 8 cores), CPU clock speed requirements (e.g., not less than 3.0 GHz), whether a graphics processing unit (GPU) is needed (e.g., GPU support is required for deep learning scenarios), and the concurrent processing capability requirements for computing tasks (e.g., supporting 1000 task scheduling per second).
[0104] Storage requirements information refers to the requirements for data storage in resource requirements, including the size of storage capacity, such as at least 1TB, storage type preferences, such as requiring solid state drives (SSDs) to ensure high-speed read and write, upper limits for data access latency, such as read latency not exceeding 5ms, and whether distributed storage is required, such as a distributed file system for big data processing.
[0105] Network bandwidth requirements are the data transmission capacity requirements in resource requirements, including minimum bandwidth values, such as at least 10Gbps, upper limits for network latency, such as round-trip latency not exceeding 30ms, data transmission stability requirements, such as packet loss rate not exceeding 0.1%, and whether specific network protocols need to be supported, such as User Datagram Protocol (UDP) for real-time communication.
[0106] Budget-constrained demand information refers to the constraints on usage costs in resource requirements, including per unit time (e.g., per hour), maximum monthly expenditure limit (e.g., no more than 10,000 yuan per month), acceptance of prepaid discounts (e.g., annual payment is acceptable), tolerance range for cost fluctuations (e.g., price fluctuations not exceeding 10% in the short term), and whether to prioritize cost-effective resources (e.g., choosing low-priced resources while meeting performance requirements).
[0107] Business scenario type refers to the specific application scenario corresponding to resource requirements. Different scenarios have different focuses on resources. Common types include e-commerce promotion scenarios, which require high concurrency and high bandwidth; financial transaction scenarios, which require high security and high availability; big data analysis scenarios, which require large storage and strong computing power; and video live streaming scenarios, which require low latency and high bandwidth.
[0108] Step S22: Determine the preset requirement mapping rule according to the business scenario type;
[0109] It should be noted that the preset requirement mapping rules are a set of rules pre-defined for different business scenario types to convert unstructured or semi-structured requirement information into standardized parameters. They define the correspondence between requirement indicators and standard parameters, weight allocation, and conversion methods according to the characteristics of the business scenario.
[0110] Understandably, based on the type of business scenario, the corresponding rule is matched from the preset rule base; then, it is verified whether the rule is applicable to the specific situation of the current resource requirements, such as whether it covers all the indicators in the requirements; and the preset requirement mapping rule corresponding to the type of business scenario is determined as the basis for subsequent standardization processing.
[0111] In this embodiment, if the business scenario type is an e-commerce promotion scenario, the preset requirement mapping rules for e-commerce promotion scenarios are retrieved from the rule base. These rules include specific mapping relationships such as a concurrent volume of ≥100,000 times / second corresponding to a CPU of ≥8 cores and a peak traffic of ≥100Mbps corresponding to a bandwidth of ≥20Gbps.
[0112] It can provide scenario-based rules for the standardized processing of demand information, ensuring that the converted parameters meet the actual needs of the business scenario and improve the accuracy of demand conversion.
[0113] Step S23: Standardize the capacity requirement information, storage requirement information, network bandwidth requirement information, and budget constraint requirement information according to the preset requirement mapping rules to obtain standardized requirement parameter mapping;
[0114] It should be noted that the standardized demand parameter mapping is a set of standardized parameters obtained by converting computing power demand information, storage demand information, network bandwidth demand information, and budget constraint demand information through preset demand mapping rules. It is presented in the form of key-value pairs, with each key corresponding to a demand indicator and the value being the standard parameter value of that indicator. The parameter format matches the feature dimension of the resource feature vector.
[0115] Understandably, the process involves invoking preset demand mapping rules to convert computing power requirements into standardized computing parameters, such as converting high computing power into CPU core count ≥ 8 cores and clock speed ≥ 3.0GHz; then converting storage requirements into standardized storage parameters, such as converting high-speed storage into storage type = SSD and capacity ≥ 1TB; next, converting network bandwidth requirements into standardized network parameters, such as converting low latency and high bandwidth into bandwidth ≥ 20Gbps and latency ≤ 30ms; then converting budget constraint requirements into standardized cost parameters, such as converting limited budget into monthly expenditure ≤ 8000 yuan; and finally integrating these standardized parameters to form a standardized demand parameter mapping.
[0116] Step S24: Perform vector space isomorphism based on the standardized demand parameter mapping and the resource feature vector to obtain isomorphic demand vectors;
[0117] It should be noted that vector space isomorphism refers to adjusting the structure and dimensions of the standardized demand parameter mapping so that the vectors corresponding to the demand parameters and the resource feature vectors are in the same vector space, that is, the same number of dimensions, and the same meaning and order of each dimension, ensuring that the two can be used for mathematical operations, such as similarity calculation.
[0118] Furthermore, the isomorphic demand vector is a demand vector obtained after isomorphic processing of the vector space, which is completely consistent with the dimensional structure of the resource feature vector. Each dimension of the vector vector corresponds to the demand parameter of the same dimension in the resource feature vector. Dimensions not explicitly mentioned can be set to default values according to the business scenario type. If there are no special requirements, they can be set to 0 or the average level.
[0119] Understandably, the process involves analyzing the dimensional structure of the resource feature vector to clarify its included feature dimensions and their order, such as the number of CPU cores, memory capacity, storage capacity, bandwidth, price, and availability. Based on this structure, the standardized requirement parameter mapping is adjusted to supplement dimensions not explicitly stated in the requirements but included in the resource feature vector. For example, if the resource feature vector has an availability dimension that is not mentioned in the requirements, it is filled with the default value according to the business scenario, such as 99.9% in an e-commerce scenario. Then, the parameters in the standardized requirement parameter mapping are arranged according to the dimensional order of the resource feature vector to form a vector form. Finally, an isomorphic requirement vector that is isomorphic to the resource feature vector is obtained.
[0120] Step S25: Normalize the isomorphic demand vector to obtain the target demand vector.
[0121] Understandably, the same normalization method as the resource feature vector, such as min-max normalization, is used to determine the value range of each dimension parameter in the isomorphic demand vector, such as the CPU core count range of 2-64 cores and the price range of 1000-20000 yuan / month. The normalization calculation is then performed on each dimension parameter of the isomorphic demand vector, converting them into values between 0 and 1. The normalized parameters are then combined to obtain the target demand vector. The extracted demand parameters are then mapped to a 128-dimensional demand vector through the same processing flow as the resource features. For parameters not explicitly specified by the user, default values or inferred values based on historical data are used.
[0122] Step S30: Perform vector similarity retrieval based on the target demand vector to obtain a set of target candidate resources;
[0123] It should be noted that vector similarity retrieval refers to the process of calculating the similarity between a target demand vector and various resource feature vectors, and then filtering out resource instances corresponding to resource feature vectors with high similarity. Common similarity calculation methods include cosine similarity and Euclidean distance. Cosine similarity measures the similarity between two vectors in a direction, with a value closer to 1 indicating higher similarity. Euclidean distance measures the straight-line distance between two vectors in space, with a smaller value indicating higher similarity.
[0124] Understandably, the target candidate resource set is a collection of resource instances obtained through vector similarity retrieval that have a high similarity to the target demand vector. These resource instances are considered to match the user's resource needs in terms of features. For example, if similarity retrieval reveals 10 resource instances whose resource feature vectors all have a cosine similarity greater than 0.8 to the target demand vector, these 10 resource instances together constitute the target candidate resource set, which forms the basis for subsequent scoring and ranking.
[0125] In one feasible implementation, step S30 may include steps S31 to S34:
[0126] Step S31: Obtain the similarity threshold, the preset vector database, and the preset constraints;
[0127] It should be noted that the similarity threshold is a pre-set critical value used to determine whether the similarity between the target demand vector and the resource feature vector meets the standard. Its value typically ranges from 0 to 1, using cosine similarity. When the similarity between two vectors is greater than this threshold, it indicates that the corresponding resource instance has a high degree of matching with the resource demand and can be considered a candidate resource; otherwise, it is excluded. In this embodiment, the setting of the similarity threshold needs to be combined with the accuracy requirements of the business scenario.
[0128] Additionally, the default vector database is a structured database that stores the resource feature vectors of all resource instances. It is optimized to support efficient vector retrieval operations, such as approximate nearest neighbor retrieval. This database contains the mapping relationship between resource feature vectors and corresponding resource instances, and can quickly return matching resource feature vectors and associated resource instance information based on vector similarity.
[0129] In addition, preset constraints are extra conditions set in advance for screening candidate resources, besides vector similarity. These conditions are formulated based on business rules or implicit user needs, including but not limited to cost constraints, performance constraints, reliability constraints, compliance constraints, etc.
[0130] Step S32: Perform an approximate nearest neighbor search in the preset vector database based on the target demand vector to obtain an initial candidate resource set;
[0131] It should be noted that approximate nearest neighbor retrieval is a highly efficient vector retrieval algorithm. It does not strictly calculate the similarity between the target vector and all vectors in the database. Instead, it quickly finds a batch of vectors that are most similar to the target vector through indexing technology. This greatly improves the retrieval speed while sacrificing a little precision, and is suitable for large-scale vector databases.
[0132] Understandably, an approximate nearest neighbor search is performed using vector databases such as Milvus. The approximate nearest neighbor search formula is as follows:
[0133]
[0134] In the formula, This returns the number of the most similar resources.
[0135] Furthermore, the initial candidate resource set is a collection of resource instances that have the highest similarity to the target demand vector, obtained through near nearest neighbor retrieval. It has not been filtered by similarity thresholds and preset constraints, and serves as the basis for subsequent further screening.
[0136] Step S33: Select a set of similar candidate resources from the initial candidate resource set whose similarity is greater than the similarity threshold;
[0137] It should be noted that the similarity candidate resource set is a set of resource instances selected from the initial candidate resource set whose similarity to the target demand vector is greater than the similarity threshold. It is selected solely based on vector similarity to ensure that the matching degree between resources and demand meets the standard at the feature level.
[0138] Understandably, the process involves calculating the precise similarity, such as cosine similarity, between the resource feature vector and the target demand vector of each resource instance in the initial candidate resource set; then comparing each similarity value with a similarity threshold, such as 0.8; next, filtering out resource instances with similarity values greater than the threshold; and finally, aggregating these resource instances to form a similar candidate resource set.
[0139] Step S34: Select resource instances in the similar candidate resource set that satisfy the preset constraints as target candidate resources, and determine the target candidate resource set based on the target candidate resources.
[0140] It should be noted that the target candidate resource is a resource instance selected from the set of similar candidate resources that meets the preset constraints. It meets both the vector similarity requirement and additional business rules or user needs, and is the candidate resource used for scoring and ranking.
[0141] Understandably, the process involves obtaining detailed information about each resource instance in the similar candidate resource set; then checking whether each of these resource instances meets the preset constraints obtained in step S31; next, identifying the resource instances that meet all preset constraints as target candidate resources; and finally, aggregating all target candidate resources to form a target candidate resource set.
[0142] Step S40: Calculate the scores of the candidate resources in the target candidate resource set to obtain the candidate resource scores;
[0143] Understandably, scoring calculation refers to the process of comprehensively scoring each candidate resource according to a preset evaluation index system. The evaluation index usually includes multiple dimensions, and each dimension is assigned a corresponding weight according to its importance. By converting the performance of the candidate resource in each dimension into a score, and then combining the weights to perform a weighted sum, the comprehensive score of each candidate resource is obtained.
[0144] Furthermore, the candidate resource score is a score calculated through scoring to represent the overall quality of the candidate resource. This score takes into account the performance of the candidate resource on multiple evaluation indicators. The higher the score, the more the candidate resource meets the user's overall needs.
[0145] Additionally, it is understandable that the evaluation index system for scoring calculation should be determined, and the included indicators should be clearly defined, such as performance matching degree, price reasonableness, service availability, historical failure rate and the weight of each indicator. Then, for each candidate resource, its score on each evaluation index should be calculated separately. The score of each index is multiplied by its corresponding weight and then summed to obtain the comprehensive score of each candidate resource, i.e., the candidate resource score.
[0146] In one feasible implementation, step S40 may include steps S41 to S43:
[0147] Step S41: Obtain the performance matching weight, cost-effectiveness weight, availability weight, and scalability weight;
[0148] It's important to note that the performance matching weight is a pre-defined parameter used to measure the importance of the performance matching score in the overall candidate resource score, ranging from 0 to 1. The magnitude of this weight is determined based on the performance dependence of the business scenario. For example, in scenarios with extremely high performance requirements, such as real-time transactions and big data analytics, the performance matching weight will be set higher, such as 0.4; while in scenarios with lower performance requirements, such as general office work, the weight will be relatively lower, such as 0.2. Its purpose is to reflect the importance of performance matching in the overall score, ensuring that the scoring results are consistent with the focus of business needs.
[0149] Cost-benefit weight is a parameter that measures the importance of cost-benefit score in the overall score, with a value ranging from 0 to 1. This weight reflects the sensitivity of the business scenario to cost. For example, small and medium-sized enterprises have limited cost budgets, so the cost-benefit weight might be set to 0.3; while large enterprises, which prioritize performance, might have a cost-benefit weight set to 0.2. This weight helps balance the relationship between cost and other factors in the overall score, avoiding the recommendation of resources with excessively low cost-effectiveness.
[0150] Availability weight is a parameter that measures the importance of availability score in the overall score, with a value ranging from 0 to 1. Availability refers to the ability of resources to operate continuously and stably. For scenarios with extremely high stability requirements, such as financial transactions and medical services, availability weight will be set higher, such as 0.3; for non-core business scenarios, the weight may be lower, such as 0.1. This weight ensures that highly available resources receive due attention in the overall score.
[0151] Scalability weight is a parameter that measures the importance of the scalability score in the overall score, with a value ranging from 0 to 1. Scalability refers to the ability of resources to dynamically adjust performance according to business growth. For scenarios with rapid business expansion, such as startups and emerging e-commerce companies, the scalability weight might be set to 0.2; for scenarios with stable business, the weight might be set to 0.1. This weight allows the overall score to reflect the long-term adaptability of resources.
[0152] Step S42: Calculate the performance matching score, cost-effectiveness score, availability score, and scalability score for each candidate resource in the target candidate resource set based on the performance matching weight, the cost-effectiveness weight, the availability weight, and the scalability weight.
[0153] As is understandable, the performance matching score measures the degree to which the performance of a candidate resource matches the performance requirements of the resource need. The score typically ranges from 0 to 10, with 10 being a perfect match. The calculation is based on the similarity between the candidate resource's performance characteristics (computing power, memory, storage, network, etc.) and the corresponding characteristics in the target requirement vector. Higher similarity results in a higher score.
[0154] The cost-effectiveness score measures the cost-effectiveness of candidate resources, ranging from 0 to 10 points. It comprehensively considers the resource's usage cost and performance. The calculation requires comparing the cost of candidate resources, such as rental fees, with the average cost of resources at the same performance level. The higher the score, the more the cost is lower than the average or the more the performance is higher than other resources at the same cost.
[0155] Availability score measures the reliable operation capability of candidate resources, ranging from 0 to 10. It is calculated based on availability characteristics such as the percentage of service availability, fault recovery time, and backup mechanisms. The higher the availability percentage (e.g., 99.99%) and the shorter the fault recovery time (e.g., 10 minutes), the higher the score.
[0156] The scalability score measures the ability of candidate resources to dynamically adjust their performance, ranging from 0 to 10. It is calculated based on scalability characteristics such as the maximum expansion limit, expansion speed, and whether automatic scaling is supported. The higher the maximum expansion limit (e.g., expanding a CPU from 8 cores to 64 cores) and the faster the expansion speed (e.g., completing the expansion within 5 minutes), the higher the score.
[0157] Understandably, for each candidate resource in the target candidate resource set, the similarity between its performance characteristics and the performance characteristics in the target demand vector is calculated, and a performance matching score is determined based on the similarity. Then, the cost of the candidate resource is compared with the average cost of resources with the same performance to calculate a cost-benefit score. Next, an availability score is calculated based on the resource's availability characteristics. Then, a scalability score is calculated based on the scalability characteristics. Each score is calculated in conjunction with its corresponding weight.
[0158] In one feasible implementation, step S42 may include steps S421 to S424:
[0159] Step S421: Determine the CPU weight, memory weight, storage weight, and network weight based on the performance matching weight, and calculate the performance matching score of the candidate resources in the target candidate resource set based on the CPU weight, memory weight, storage weight, and network weight.
[0160] It's important to note that the CPU weight, within the performance matching weight, is a sub-weight used to measure the importance of CPU performance in the overall performance matching assessment. Its value ranges from 0 to the performance matching weight, and its magnitude is determined by the degree of dependence of the business scenario on the CPU. For example, in big data analytics scenarios requiring heavy computation, the CPU weight will be higher; while in lightweight office scenarios, the weight will be lower. This weight, along with the memory weight, storage weight, and network weight, constitutes the sub-components of the performance matching weight, and the sum of these four equals the performance matching weight.
[0161] Memory weight is a sub-weight under performance matching weight, measuring the importance of memory performance. Its value ranges from 0 to the performance matching weight, reflecting the degree to which the business scenario depends on memory capacity and read / write speed. For example, in scenarios running multitasking or large applications, memory weight will be higher than storage weight; while in simple data storage scenarios, memory weight will be relatively lower.
[0162] Storage weight is a sub-weight under performance matching weight, measuring the importance of storage performance such as capacity, type, and read / write speed. Its value ranges from 0 to the performance matching weight and is related to the business scenario's data storage and access needs. For example, in database scenarios requiring high-frequency read / write operations, the storage weight will be higher; while in archive scenarios requiring only low-frequency storage, the weight will be lower.
[0163] Network weight is a sub-weight under performance matching weight, measuring the importance of network performance such as bandwidth and latency. Its value ranges from 0 to the performance matching weight, depending on the business scenario's requirements for data transmission speed and stability. For example, in scenarios like live video streaming and real-time communication, network weight will be significantly higher than other sub-weights; while in offline data processing scenarios, network weight will be lower. The performance matching score calculation formula is as follows:
[0164]
[0165] In the formula, , , , The scores are for matching the central processing unit, memory, storage, and network, respectively. , , , These are the corresponding CPU weights, memory weights, storage weights, and network weights. Rate the performance match.
[0166] Step S422: Determine the budget weight and cost-effectiveness weight based on the cost-effectiveness weight, and calculate the cost-effectiveness score of the candidate resource based on the budget weight and the cost-effectiveness weight;
[0167] It should be noted that the budget weight, under the cost-benefit weight, measures the degree of matching between the cost of candidate resources and the budget constraints in resource requirements. Its value ranges from 0 to the cost-benefit weight, and its magnitude depends on the importance the business scenario places on budget compliance. For example, in scenarios where budgets are strictly limited for SMEs, the budget weight will be higher than the cost-effectiveness weight; while in scenarios that prioritize long-term benefits, the budget weight may be lower.
[0168] The cost-effectiveness weight is a sub-weight under the cost-benefit weight, measuring the importance of the ratio of candidate resource performance to cost. Its value ranges from 0 to the cost-benefit weight, reflecting the business scenario's pursuit of the lowest cost while meeting performance targets, or the best performance while maintaining a fixed cost. For example, in scenarios requiring a balance between cost and performance, the cost-effectiveness weight will be set higher. The sum of the budget weight and the cost-effectiveness weight equals the cost-benefit weight. The cost-benefit score calculation formula is as follows:
[0169]
[0170] In the formula, To match the budget score, Score for cost-effectiveness. and These are weighted by budget and cost-effectiveness, respectively. Rate the cost-effectiveness.
[0171] Step S423: Determine the reliability weight and stability weight based on the availability weight, and calculate the availability score of the candidate resource based on the reliability weight and the stability weight;
[0172] It should be noted that the reliability weight, under the availability weight, measures the importance of the candidate resource's failure probability and failure recovery capability. Its value ranges from 0 to the availability weight and is related to the business scenario's requirement for resources to "fail less frequently and recover quickly." For example, in scenarios such as financial transactions where prolonged interruptions are unacceptable, the reliability weight will be significantly higher than the stability weight.
[0173] The stability weight, under the availability weight, measures the degree of performance fluctuation of candidate resources, such as the importance of CPU utilization and bandwidth fluctuations. Its value ranges from 0 to the availability weight, reflecting the business scenario's requirement for "continuous stability" of resource performance. For example, in real-time data processing scenarios, the stability weight would be higher to avoid performance fluctuations affecting data processing accuracy. The sum of the reliability weight and the stability weight equals the availability weight. The availability score is calculated as follows:
[0174]
[0175] In the formula, For reliability scoring, For stability rating, and These are reliability weights and stability weights, respectively. Rate usability.
[0176] Step S424: Determine the vertical expansion weight and the horizontal expansion weight based on the expansion weight, and calculate the expansion score of the candidate resource based on the vertical expansion weight and the horizontal expansion weight.
[0177] It's important to note that the vertical scaling weight, under the scalability weight, measures the importance of a candidate resource's ability to "upgrade hardware configurations," such as increasing the number of CPU cores or expanding memory capacity. Its value ranges from 0 to the scalability weight and is related to the business scenario's need for "single-instance performance improvement." For example, in scenarios where business growth is primarily reflected in increased single-task complexity, the vertical scaling weight will be higher.
[0178] Horizontal scaling weight, under the scalability weight, measures the importance of adding more instances of a candidate resource, such as scaling from 1 server to 10. Its value ranges from 0 to the scalability weight, reflecting the business scenario's need for "multi-instance parallel processing." For example, in scenarios where business growth manifests as increased concurrency, the horizontal scaling weight will be higher. The sum of the vertical scaling weight and the horizontal scaling weight equals the scalability weight. The scalability score is calculated as follows:
[0179]
[0180] In the formula, For vertical expansion scoring, For horizontal expansion of scoring, and These are the vertical expansion weights and the horizontal expansion weights, respectively. For expansion rating.
[0181] Step S43: Calculate the candidate resource score based on the performance matching score, cost-effectiveness score, availability score, and scalability score.
[0182] Understandably, the calculation involves obtaining the performance matching score, cost-effectiveness score, availability score, and scalability score for each candidate resource; then multiplying each score by its corresponding weight; finally, summing the four products to obtain the comprehensive score for that candidate resource, i.e., the candidate resource score; repeating the above calculation for all candidate resources in the target candidate resource set to obtain the candidate resource score for each resource. The candidate resource score calculation formula is as follows:
[0183]
[0184] In the formula, , , as well as These are performance matching score, cost-effectiveness score, usability score, and scalability score. , , as well as These are weights for performance fit, cost-effectiveness, availability, and scalability. Rate the candidate resources.
[0185] Step S50: Sort the candidate resources according to the candidate resource scores and generate a recommendation result list.
[0186] It should be noted that the recommended results list is an ordered list generated after sorting the candidate resources according to their scores. The candidate resources in the list are arranged from high to low scores, and the candidate resources at the top indicate that their overall performance is better and they better meet the user's resource needs.
[0187] The process involves obtaining a candidate resource score for each candidate resource; then sorting all candidate resources in descending order of score. If two candidate resources have the same score, they can be further sorted according to a preset secondary sorting rule. Finally, the sorted candidate resources are organized into a list to generate a recommendation result list, which may contain key information about each candidate resource for user reference.
[0188] In one feasible implementation, a user's complex business needs can be decomposed into multiple sub-needs, each corresponding to a resource type, forming a set of sub-needs. For each sub-need, a single-resource recommendation algorithm is used to generate a corresponding candidate resource list, and then all feasible resource combinations are generated based on these candidate resources. When calculating the comprehensive score of the combination, in addition to the score of individual resources, the compatibility score between resources (such as the degree of compatibility between resources from different cloud vendors), the cross-cloud connection performance score (such as data transmission speed and latency), the overall architecture complexity score (such as the ease of deployment and maintenance), and the management convenience score (such as whether unified management is supported) should also be considered. These factors are then combined with the individual resource scores to calculate the comprehensive score. A multi-objective optimization method is adopted to balance factors such as performance (such as processing speed and stability), cost (such as total rental and operation and maintenance costs), and complexity (such as architectural simplicity) to select the combination with the best overall performance from the feasible resource combinations. Finally, an architecture topology diagram is generated for this resource combination to intuitively show the relationships between resources, data flow, and the distribution of each resource in different cloud environments.
[0189] This embodiment provides a resource recommendation method based on a multi-cloud environment. By constructing resource feature vectors and target demand vectors, and utilizing techniques such as vector similarity retrieval, multi-dimensional scoring calculation and ranking, it solves the technical problems of low resource matching efficiency and difficulty in accurately meeting complex user needs in a multi-cloud environment. It achieves the beneficial effects of efficiently filtering and accurately recommending resources that meet user needs, and optimizing resource selection to improve user experience and resource utilization efficiency.
[0190] Based on the first embodiment of this application, in the second embodiment of this application, the content that is the same as or similar to that in the first embodiment described above can be referred to the above description, and will not be repeated hereafter. Based on this, please refer to... Figure 2 Following step S50, the resource recommendation method based on a multi-cloud environment further includes steps S60-S80:
[0191] Step S60: Obtain feedback information of candidate resources in the recommendation result list, the feedback information including selection behavior information and satisfaction feedback;
[0192] It should be noted that the feedback information is the actual reaction data of users to the candidate resources in the recommendation results list, which is used to evaluate the accuracy of the recommendation system and optimize subsequent recommendation strategies.
[0193] Additionally, selection behavior information refers to user action data on candidate resources within the recommended results list. This includes, but is not limited to, the resource the user ultimately selects, such as resources clicked, ordered, or deployed; the browsing path before selection, such as which resource details were viewed; the selection time, from the time the list was displayed to the time the selection was confirmed; and whether the user skipped the recommended list to conduct a manual search. For example, if a user selects the third-ranked resource in the recommended list instead of the first-ranked resource, or if a user manually searches for other resources without selecting any recommended resources, these all fall under the category of selection behavior information.
[0194] Satisfaction feedback is subjective evaluation data of users on selected resources. It is usually collected in the form of ratings, questionnaires or text evaluations, including satisfaction with aspects such as resource performance, cost, availability, and scalability.
[0195] Step S70: Analyze the deviation information between the feedback information and the candidate resource score based on the selection behavior information and the satisfaction feedback.
[0196] It should be noted that bias information refers to the difference between the feedback information and the candidate resource ratings. It quantifies the degree of discrepancy between the system's recommendation results and the user's actual preferences, including selection bias and satisfaction bias. Selection bias represents the difference between the resource actually selected by the user and the highly-rated resource in the recommendation list. Satisfaction bias represents the difference between the user's satisfaction rating for the selected resource and the ratings of the candidate resources for that resource.
[0197] Understandably, by comparing the user's selected resource with the candidate resource ratings and sub-dimensions of the resource ranked higher in the recommendation list, such as performance and cost differences, selection bias is determined. For example, if the user's selected resource has a higher cost-effectiveness rating but a slightly lower performance rating, it indicates that the system may have underestimated the importance of cost. Then, satisfaction feedback is analyzed: the user's satisfaction with each dimension, such as a 5-star rating for cost, is compared with the corresponding sub-ratings for the resource, such as an 8-point cost-effectiveness rating, to calculate the satisfaction bias. If the satisfaction level for the cost dimension is higher than the rating, it indicates that the cost-effectiveness weight may be too low. Finally, selection bias and satisfaction bias are integrated to form quantitative bias information, such as a cost dimension bias of +15% and a performance dimension bias of -5%.
[0198] In this embodiment, the user selected the resource with a rating of 8.5, which ranked 3rd. Its cost-effectiveness rating of 8.5 points is higher than that of the resource ranked 1st, which has a cost-effectiveness rating of 7.8 points. The user's satisfaction with the cost is 5 stars, which is significantly higher than the expected cost-effectiveness rating of this resource. 8.5 points corresponds to 4 stars. Therefore, the deviation information is a positive deviation of 12% in the cost-effectiveness dimension.
[0199] Step S80: Update the weight values of performance matching weight, cost-effectiveness weight, availability weight, and scalability weight based on the deviation information.
[0200] Understandably, based on the deviation information, the weight dimensions that need adjustment are determined. For example, if the deviation information shows a positive deviation in the cost-effectiveness dimension, it indicates that the cost-effectiveness weight may be too low. Then, based on the quantification degree of the deviation, such as 12%, a weight adjustment strategy is formulated: for a positive deviation, where user satisfaction is higher than the rating, the corresponding weight is increased; for a negative deviation, where user satisfaction is lower than the rating, the corresponding weight is decreased. The adjustment magnitude is positively correlated with the deviation size; for example, a 12% deviation corresponds to a weight increase of 0.05. Next, the specific values of the performance matching weight, cost-effectiveness weight, usability weight, and scalability weight are updated to ensure that the sum of the four weights remains 1 after adjustment. For example, the original cost-effectiveness weight of 0.2 is increased to 0.25, while the performance matching weight of 0.4 is decreased by 0.05 to 0.35, maintaining a total sum of 1. Finally, the updated weights are stored in the weight configuration library for subsequent rating calculations in the recommendation process.
[0201] In this embodiment, based on the deviation information of 12% positive deviation in the cost-effectiveness dimension, the cost-effectiveness weight is adjusted from 0.2 to 0.25, the performance matching weight is adjusted from 0.4 to 0.35, and the availability weight, 0.3 and the scalability weight, 0.1 remain unchanged to ensure that the total weight is still 1.
[0202] It can translate user feedback into specific weight adjustments, making subsequent rating calculations more aligned with actual user preferences, enabling the recommendation system to self-optimize and improve long-term recommendation accuracy.
[0203] This embodiment provides a resource recommendation method based on a multi-cloud environment. By acquiring user feedback information, analyzing the deviation between the feedback information and the candidate resource scores, and dynamically adjusting the weight values accordingly, it solves the technical problem of insufficient recommendation accuracy caused by the mismatch between user preferences and the system's preset weights in the recommendation system. It achieves the beneficial effects of optimizing the recommendation strategy based on actual user feedback, improving recommendation accuracy, and increasing user satisfaction.
[0204] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the resource recommendation method based on multi-cloud environments in this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0205] This application also provides a resource recommendation device based on a multi-cloud environment, please refer to... Figure 3 The resource recommendation device based on a multi-cloud environment includes:
[0206] The resource acquisition module 10 is used to acquire resource information of resource requirements and resource instances, and to extract features based on the resource information to obtain a resource feature vector.
[0207] Demand generation module 20 is used to generate a target demand vector based on the resource demand and the resource feature vector;
[0208] The resource candidate module 30 is used to perform vector similarity retrieval based on the target demand vector to obtain a set of target candidate resources.
[0209] The scoring calculation module 40 is used to calculate the scores of candidate resources based on the candidate resources in the target candidate resource set to obtain the candidate resource scores;
[0210] The resource recommendation module 50 is used to sort the candidate resources according to the candidate resource scores and generate a recommendation result list.
[0211] The resource recommendation device based on a multi-cloud environment provided in this application, employing the resource recommendation method based on a multi-cloud environment in the above embodiments, can solve the technical problem of balancing response speed and matching accuracy in resource recommendation under multi-cloud environments. Compared with the prior art, the beneficial effects of the resource recommendation device based on a multi-cloud environment provided in this application are the same as those of the resource recommendation method based on a multi-cloud environment provided in the above embodiments, and other technical features in the resource recommendation device based on a multi-cloud environment are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.
[0212] In one embodiment, the scoring calculation module 40 is further configured to obtain performance matching weight, cost-effectiveness weight, availability weight, and scalability weight; calculate performance matching score, cost-effectiveness score, availability score, and scalability score for each candidate resource in the target candidate resource set based on the performance matching score, cost-effectiveness score, availability score, and scalability score; and perform score calculation based on the performance matching score, cost-effectiveness score, availability score, and scalability score to obtain the candidate resource score.
[0213] In one embodiment, the scoring calculation module 40 is further configured to: determine CPU weight, memory weight, storage weight, and network weight based on the performance matching weight; calculate the performance matching score of the candidate resources in the target candidate resource set based on the CPU weight, memory weight, storage weight, and network weight; determine budget weight and cost-effectiveness weight based on the cost-benefit weight; calculate the cost-benefit score of the candidate resources based on the budget weight and cost-effectiveness weight; determine reliability weight and stability weight based on the availability weight; calculate the availability score of the candidate resources based on the reliability weight and stability weight; and determine vertical scaling weight and horizontal scaling weight based on the scalability weight; calculate the scalability score of the candidate resources based on the vertical scaling weight and horizontal scaling weight.
[0214] In one embodiment, the resource recommendation module 50 is further configured to obtain feedback information of candidate resources in the recommendation result list, the feedback information including selection behavior information and satisfaction feedback; analyze the deviation information between the feedback information and the candidate resource scores based on the selection behavior information and the satisfaction feedback; and update the weight values of performance matching weight, cost-effectiveness weight, availability weight and scalability weight based on the deviation information.
[0215] In one embodiment, the resource candidate module 30 is further configured to acquire a similarity threshold, a preset vector database, and preset constraints; perform an approximate nearest neighbor search in the preset vector database based on the target demand vector to obtain an initial candidate resource set; select a set of similar candidate resources in the initial candidate resource set whose similarity is greater than the similarity threshold; take the resource instances in the set of similar candidate resources that satisfy the preset constraints as target candidate resources, and determine a target candidate resource set based on the target candidate resources.
[0216] In one embodiment, the requirement generation module 20 is further configured to: determine a preset requirement mapping rule based on the business scenario type; standardize the capability requirement information, storage requirement information, network bandwidth requirement information, and budget constraint requirement information according to the preset requirement mapping rule to obtain a standardized requirement parameter mapping; perform vector space isomorphism based on the standardized requirement parameter mapping and the resource feature vector to obtain an isomorphic requirement vector; and normalize the isomorphic requirement vector to obtain a target requirement vector.
[0217] In one embodiment, the resource acquisition module 10 is further configured to acquire computing power information, memory information, storage information, network information, and a preset norm of the resource instance in the resource information; extract basic features, cost features, availability features, and scalability features based on the computing power information, memory information, storage information, and network information; perform normalization processing on the basic features, cost features, availability features, and scalability features to obtain a normalized resource vector; perform feature combination on the normalized resource vector to obtain a resource feature vector of a preset dimension, and perform normalization processing on the resource feature vector according to the preset norm to obtain a resource feature vector.
[0218] This application provides a resource recommendation device based on a multi-cloud environment. The resource recommendation device based on a multi-cloud environment includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the resource recommendation method based on a multi-cloud environment in Embodiment 1 above.
[0219] The following is for reference. Figure 4 This document illustrates a structural diagram of a resource recommendation device suitable for implementing embodiments of this application in a multi-cloud environment. The resource recommendation device in this application embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 4 The resource recommendation device based on a multi-cloud environment shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0220] like Figure 4As shown, a resource recommendation device based on a multi-cloud environment may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to programs stored in ROM (Read Only Memory) 1002 or programs loaded from storage device 1003 into RAM (Random Access Memory) 1004. RAM 1004 also stores various programs and data required for the operation of the resource recommendation device based on a multi-cloud environment. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via bus 1005. Input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; and liquid crystal displays (LCDs) including, for example, liquid crystal displays (LCDs). Output devices 1008 including displays, speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the resource recommendation device in a multi-cloud environment to communicate wirelessly or wiredly with other devices to exchange data. Although the figures show resource recommendation devices in a multi-cloud environment with various systems, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems may be implemented alternatively.
[0221] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0222] The resource recommendation device based on a multi-cloud environment provided in this application, employing the resource recommendation method based on a multi-cloud environment in the above embodiments, can solve the technical problem of balancing response speed and matching accuracy in resource recommendation under multi-cloud environments. Compared with the prior art, the beneficial effects of the resource recommendation device based on a multi-cloud environment provided in this application are the same as those of the resource recommendation method based on a multi-cloud environment provided in the above embodiments, and other technical features in this resource recommendation device based on a multi-cloud environment are the same as those disclosed in the method of the previous embodiment, and will not be repeated here.
[0223] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0224] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0225] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon for executing the resource recommendation method based on a multi-cloud environment in the above embodiments.
[0226] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, RAM (Random Access Memory), ROM (Read Only Memory), Erasable Programmable Read Only Memory (EEPROM), EPROM, optical fiber, CD-ROM (CD-Read Only Memory), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0227] The aforementioned computer-readable storage medium may be included in a resource recommendation device based on a multi-cloud environment; or it may exist independently and not be assembled into a resource recommendation device based on a multi-cloud environment.
[0228] The aforementioned computer-readable storage medium carries one or more programs. When these programs are executed by a resource recommendation device based on a multi-cloud environment, the resource recommendation device based on the multi-cloud environment performs the following actions: acquires resource information of resource requirements and resource instances, and extracts features based on the resource information to obtain a resource feature vector; generates a target demand vector based on the resource requirements and the resource feature vector; performs vector similarity retrieval based on the target demand vector to obtain a target candidate resource set; calculates scores for the candidate resources in the target candidate resource set to obtain candidate resource scores; and sorts the candidate resources based on the candidate resource scores to generate a recommendation result list.
[0229] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a LAN (Local Area Network) or WAN (Wide Area Network)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0230] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0231] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0232] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described resource recommendation method based on a multi-cloud environment, which can solve the technical problem of balancing response speed and matching accuracy in resource recommendation under multi-cloud environments. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the resource recommendation method based on a multi-cloud environment provided in the above embodiments, and will not be repeated here.
[0233] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the resource recommendation method based on a multi-cloud environment as described above.
[0234] The computer program product provided in this application can solve the technical problem of balancing response speed and matching accuracy in resource recommendation in a multi-cloud environment. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the resource recommendation method based on a multi-cloud environment provided in the above embodiments, and will not be repeated here.
[0235] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A method for resource recommendation based on a multi-cloud environment, characterized in that, The method comprises: obtaining resource requirements, resource information of resource instances, and performing feature extraction according to the resource information to obtain a resource feature vector; generating a target demand vector according to the resource requirements and the resource feature vector; performing vector similarity retrieval according to the target demand vector to obtain a target candidate resource set; performing score calculation according to candidate resources in the target candidate resource set to obtain candidate resource scores; sorting the candidate resources according to the candidate resource scores to generate a recommendation result list; The step of generating a target demand vector according to the resource requirements and the resource feature vector comprises: obtaining computing capability requirement information, storage requirement information, network bandwidth requirement information, budget limit requirement information, and business scenario type according to the resource requirements, wherein the resource requirements are specific demands of users or applications for required resources in a multi-cloud environment, the computing capability requirement information is a computing performance requirement in the resource requirements for processing data and running tasks, the storage requirement information is a requirement in the resource requirements for data storage, the network bandwidth requirement information is a requirement in the resource requirements for data transmission capability, the budget limit requirement information is a constraint in the resource requirements for use cost, and the business scenario type refers to a specific application scenario corresponding to the resource requirements; determining a preset demand mapping rule according to the business scenario type; performing standardization processing on the capability requirement information, the storage requirement information, the network bandwidth requirement information, and the budget limit requirement information according to the preset demand mapping rule to obtain a standardized demand parameter mapping; performing vector space isomorphism according to the standardized demand parameter mapping and the resource feature vector to obtain an isomorphic demand vector; performing normalization processing on the isomorphic demand vector to obtain a target demand vector.
2. The method of claim 1, wherein, The step of performing score calculation according to candidate resources in the target candidate resource set to obtain candidate resource scores comprises: obtaining a performance matching degree weight, a cost-benefit weight, an availability weight, and an expansibility weight; calculating a performance matching degree score, a cost-benefit score, an availability score, and an expansibility score for the candidate resources in the target candidate resource set according to the performance matching degree weight, the cost-benefit weight, the availability weight, and the expansibility weight; performing score calculation according to the performance matching degree score, the cost-benefit score, the availability score, and the expansibility score to obtain candidate resource scores.
3. The method of claim 2, wherein, The step of calculating a performance matching degree score, a cost-benefit score, an availability score, and an expansibility score for the candidate resources in the target candidate resource set according to the performance matching degree weight, the cost-benefit weight, the availability weight, and the expansibility weight comprises: determining a central processing unit weight, a memory weight, a storage weight, and a network weight according to the performance matching degree weight, and calculating the performance matching degree score of the candidate resources in the target candidate resource set according to the central processing unit weight, the memory weight, the storage weight, and the network weight; determining a cost-effectiveness weight and a budget weight according to the cost-effectiveness weight, and calculating a cost-effectiveness score of the candidate resource according to the budget weight and the cost-effectiveness weight; determining a reliability weight and a stability weight according to the availability weight, and calculating an availability score of the candidate resource according to the reliability weight and the stability weight; determining a vertical expansion weight and a horizontal expansion weight according to the scalability weight, and calculating a scalability score of the candidate resource according to the vertical expansion weight and the horizontal expansion weight.
4. The method of claim 1, wherein, After the step of ranking the candidate resources according to the candidate resource scores to generate a recommended result list, the method further comprises: obtaining feedback information of the candidate resources in the recommended result list, the feedback information including selection behavior information and satisfaction feedback; analyzing deviation information of the feedback information and the candidate resource scores according to the selection behavior information and the satisfaction feedback; updating weight values of the performance matching degree weight, the cost-effectiveness weight, the availability weight, and the scalability weight according to the deviation information.
5. The method of claim 1, wherein, The step of performing vector similarity retrieval according to the target demand vector to obtain a target candidate resource set comprises: obtaining a similarity threshold, a preset vector database, and a preset constraint condition; performing approximate nearest neighbor retrieval in the preset vector database according to the target demand vector to obtain an initial candidate resource set; selecting a similar candidate resource set with a similarity greater than the similarity threshold from the initial candidate resource set; regarding a resource instance in the similar candidate resource set that meets the preset constraint condition as a target candidate resource, and determining a target candidate resource set according to the target candidate resource.
6. The method of claim 1, wherein, The step of performing feature extraction according to the resource information to obtain a resource feature vector comprises: obtaining computing capability information, memory information, storage information, network information, and a preset norm of the resource instance in the resource information; extracting basic features, cost features, availability features, and scalability features according to the computing capability information, the memory information, the storage information, and the network information; performing normalization processing on the basic features, the cost features, the availability features, and the scalability features to obtain a normalized resource vector; performing feature combination on the normalized resource vector to obtain a resource feature vector of a preset dimension, and performing normalization processing on the resource feature vector according to the preset norm to obtain a resource feature vector. 7.A multi-cloud environment based resource recommendation apparatus, characterized by, The resource recommendation device based on a multi-cloud environment performs the resource recommendation method based on a multi-cloud environment according to any one of claims 1 to 6, and the device comprises: a resource acquisition module configured to acquire resource demand and resource information of resource instances, and perform feature extraction on the resource information to obtain a resource feature vector; a demand generation module configured to generate a target demand vector according to the resource demand and the resource feature vector; a resource candidate module configured to perform vector similarity retrieval according to the target demand vector to obtain a target candidate resource set; a score calculation module configured to perform score calculation on candidate resources in the target candidate resource set to obtain candidate resource scores; and a score calculation module configured to perform score calculation on candidate resources in the target candidate resource set to obtain candidate resource scores. The resource recommendation module is configured to sort the candidate resources according to the candidate resource scores and generate a recommendation result list. 8.A multi-cloud environment based resource recommendation device, comprising: The device comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the resource recommendation method based on a multi-cloud environment according to any one of claims 1 to 6.
9. A storage medium, characterized by The storage medium is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the resource recommendation method based on a multi-cloud environment according to any one of claims 1 to 6.
Citation Information
Patent Citations
Computing power scheduling method and device, computer equipment, readable storage medium and program product
CN119576572A
Cross-platform resource matching implementation method based on multi-dimensional label dynamic weight
CN120407164A