Resource scheduling method, electronic equipment and computer readable storage medium
By generating target object and instance tag information, the amount of physical server resources is reasonably adjusted, instance performance competition is solved, and efficient resource scheduling and business stability are achieved.
Patent Information
- Application Number
- CN202410182079.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-18
- Publication Date
- 2025-08-19
AI Technical Summary
In the prior art, instance performance competition events cannot be completely avoided, resulting in waste of resources and high risk of user business operation. The existing governance solutions cannot resolve competition events when suppression capabilities are insufficient or load is too high.
By obtaining instance performance data, generating target object and instance tag information, using tag information to determine the target resource inventory, perform resource scheduling to adjust the remaining performance resources of the physical server, and real-time prediction and reasonable allocation are achieved.
Effectively prevent instance performance competition, avoid resource waste, ensure normal operation of user business, and improve service stability.
Smart Images

Figure CN120508356A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the fields of computer technology and cloud computing technology, and more specifically, to a resource scheduling method, an electronic device, and a computer-readable storage medium. Background Art
[0002] A network computer (NC) is an actual hardware device that provides computing, storage, and network resources. An instance is a virtual computing resource allocated to a user, and can be a virtual machine (VM), a container, or something similar. Using virtualization technology, a physical machine divides its resources into multiple virtual computing resources, which can be allocated to different VM instances. When user task demands exceed the corresponding virtual computing resources, instance contention occurs, with instances competing for each other's resources. This results in wasted resources and underutilization.
[0003] Currently, the issue of instance performance contention is typically addressed through subsequent governance solutions, such as performance suppression and online sharding, to ensure performance balance and reduce instance contention. However, these solutions are unable to resolve instance performance contention when suppression capabilities are insufficient or when instance loads are excessive, and they cannot completely prevent instance performance contention. Furthermore, when instance performance contention occurs, these solutions are unable to promptly and effectively resolve the situation, resulting in a high risk of user service damage and impacting business operations.
[0004] To address the above-mentioned problems, no effective solutions have been proposed so far. Summary of the Invention
[0005] The embodiments of the present application provide a resource scheduling method, an electronic device, and a computer-readable storage medium to at least solve the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0006] According to one aspect of an embodiment of the present application, a resource scheduling method is provided, including: obtaining instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server; generating tag information based on the instance performance data, wherein the tag information includes: a target object tag and an instance tag, wherein the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the performance of the instance; determining a target resource inventory through the tag information, wherein the target resource inventory is the resource inventory currently available for scheduling; performing resource scheduling using the tag information and the target resource inventory to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0007] According to another aspect of an embodiment of the present application, a resource scheduling method is also provided, including: obtaining a cloud service instance scheduling request through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes: tag information, the tag information is generated based on instance performance data, the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, the tag information includes: target object tag and instance tag, the target object tag is used to describe the target object behavior attributes, and the instance tag is used to describe the instance performance; returning a cloud service instance scheduling response through a second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, the scheduling result is obtained after resource scheduling using the tag information and the target resource inventory, the scheduling result is used to adjust the remaining performance resource amount on at least one physical server, the target resource inventory is determined by the tag information, and the target resource inventory is the resource inventory currently available for scheduling.
[0008] According to another aspect of an embodiment of the present application, a resource scheduling method is also provided, including: obtaining a currently input cloud service instance scheduling dialogue request, wherein the information carried in the cloud service instance scheduling dialogue request includes: tag information, the tag information is generated based on instance performance data, the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, the tag information includes: target object tag and instance tag, the target object tag is used to describe the target object behavior attribute, and the instance tag is used to describe the instance performance performance; in response to the cloud service instance scheduling dialogue request, a cloud service instance scheduling dialogue reply is returned, wherein the information carried in the cloud service instance scheduling dialogue reply includes: a scheduling result, the scheduling result is obtained after resource scheduling using the tag information and the target performance resource amount, the scheduling result is used to adjust the remaining performance resource amount on at least one physical server, the target resource inventory amount is determined by the tag information, and the target resource inventory amount is the resource inventory amount currently available for scheduling; the scheduling result is displayed in a graphical target object interface.
[0009] According to another aspect of an embodiment of the present application, a resource scheduling system is also provided, including: a data acquisition server, used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to a data storage server via log data delivery; a data storage server, used to receive the instance performance data reported by the data acquisition server and persistently store the instance performance data; a performance profile server, used to obtain instance performance data, and generate label information based on the instance performance data, wherein the label information includes: a target object label and an instance label, the target object label is used to describe the target object behavior attributes, and the instance label is used to describe the instance performance; a resource scheduling server, used to determine the target performance resource amount through the label information, and perform resource scheduling using the label information and the target resource inventory to obtain a scheduling result, wherein the target resource inventory is the resource inventory currently available for scheduling, and the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0010] According to another aspect of an embodiment of the present application, an electronic device is provided, including: a memory storing an executable program; and a processor for running the program, wherein any one of the above-mentioned resource scheduling methods is executed when the program is running.
[0011] According to another aspect of an embodiment of the present application, a computer-readable storage medium is also provided, which includes a stored executable program, wherein when the executable program runs, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned resource scheduling methods.
[0012] In an embodiment of the present application, by obtaining instance performance data corresponding to the instance assigned to the target object, and then generating tag information including a target object tag that can predict the future behavior of the target object and an instance tag for predicting the future performance of the instance based on the instance performance data, the current target resource inventory available for scheduling is determined through the generated tag information, and finally, resource scheduling is performed using the tag information and the current target resource inventory available for scheduling, and the remaining performance resources on the source physical server and the target physical server are reasonably adjusted to obtain a scheduling result. This achieves the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results of the target object behavior and instance performance, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability, thereby solving the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting the user's business operation.
[0013] It is easy to notice that the above general description and the following detailed description are merely for the purpose of exemplifying and explaining the present application, and do not constitute a limitation of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0015] Figure 1 This is a hardware structure block diagram of a computer terminal (or mobile device) for implementing the resource scheduling method according to Example 1 of the present application;
[0016] Figure 2 is a flow chart of a resource scheduling method according to Example 1 of the present application;
[0017] Figure 3 This is a flowchart of collecting and reporting performance data according to Example 1 of the present application;
[0018] Figure 4 is a flow chart of target object classification according to Example 1 of the present application;
[0019] Figure 5 is a flowchart of instance label classification according to Example 1 of the present application;
[0020] Figure 6 is a schematic diagram of a resource management module according to Example 1 of the present application;
[0021] Figure 7 is a schematic diagram of the relationship between the target object and inventory information according to Example 1 of the present application;
[0022] Figure 8 is a flow chart of inventory view classification according to Example 1 of the present application;
[0023] Figure 9 This is a schematic diagram of an example scheduling according to Example 1 of the present application;
[0024] Figure 10 This is a linkage diagram according to Example 1 of the present application;
[0025] Figure 11 This is a system framework diagram according to Example 1 of the present application;
[0026] Figure 12 is a flowchart of a resource scheduling method according to Example 2 of the present application;
[0027] Figure 13 is a flowchart of a resource scheduling method according to Example 3 of the present application;
[0028] Figure 14 is a structural diagram of a resource scheduling system according to Example 4 of the present application;
[0029] Figure 15 is a structural diagram of a resource scheduling device according to Example 5 of the present application;
[0030] Figure 16 is a structural diagram of another resource scheduling device according to Example 5 of the present application;
[0031] Figure 17 is a structural diagram of yet another resource scheduling device according to Example 5 of the present application;
[0032] Figure 18 This is a structural block diagram of a computer terminal according to an embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.
[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0035] First, some nouns or terms that appear in the description of the embodiments of the present application are subject to the following interpretations:
[0036] Performance contention: In the present embodiment, performance contention can be understood as a situation in which multiple objects or tasks in a cloud computing environment compete for the same computing resources. This competition may lead to resource contention, resulting in some objects or tasks being unable to obtain sufficient computing resources to meet their needs, thereby affecting their performance and service quality.
[0037] Instance performance: refers to the performance of virtual machine instances on the cloud computing platform when executing computing tasks, such as computing power, storage performance, network performance, etc.
[0038] Portrait: In the embodiment of the present application, the portrait is a collection of information used to describe the characteristics, attributes and behaviors of the target object or instance. By analyzing and utilizing the label information, personalized, accurate and efficient service and resource scheduling can be achieved.
[0039] Machine templates: These templates describe different types of equipment or machines, describing their characteristics, specifications, and performance. In the manufacturing industry, each machine model has its own corresponding NC program, and the performance resources provided by the NC program for each machine model also vary.
[0040] In a cloud computing environment, instances are virtual computing resources allocated to users, and can be virtual machines, containers, and so on. Virtualization can provide resource isolation between different instances, preventing them from interfering with each other or accessing each other's resources, thereby ensuring security and performance. However, certain resources, such as the last-level cache (LLC), are designed as shared storage areas between multiple cores to improve data access efficiency. As a result, different cores will compete for LLC cache space, and virtualization cannot provide complete isolation for such resources. Furthermore, in the multi-tenant model of cloud computing, the platform typically provides the ability for multiple users or tasks to run concurrently. Therefore, when user or task demands exceed available resources, instance performance competition will still occur.
[0041] Currently, subsequent governance solutions are commonly used to address instance performance contention, such as performance suppression strategies. When contention occurs, the virtualization platform uses its resource suppression capabilities to control the performance resource allocation of the customer instance. However, performance suppression strategies are limited by the virtualization platform's suppression capabilities and the instance load. If the virtualization's suppression capabilities are insufficient or ineffective, instance performance contention cannot be resolved. Furthermore, in proactive operations, the operations team uses performance contention alerts to trigger online hot migration of instances, distributing the load pressure on physical machines through online sharding strategies. However, if the instance load is too high or the inventory is insufficient, instance hot migration cannot be successful, resulting in a failure to resolve instance performance contention. This governance model clearly has limitations.
[0042] Related technologies that use subsequent governance methods such as performance suppression and online fragmentation to solve the instance performance contention problem have the following defects.
[0043] Defect 1: Unable to resolve instance performance contention when the suppression capability is insufficient or the instance load is too high;
[0044] Defect 2: Performance contention cannot be completely avoided;
[0045] Defect 3: When contention actually occurs, the contention situation cannot be resolved promptly and effectively, resulting in wasted resources, increasing the risk of user business damage, and affecting user business operations.
[0046] With respect to the above-mentioned defects, no effective solution has been proposed before the present application.
[0047] Example 1
[0048] According to an embodiment of the present application, a resource scheduling method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0049] The method embodiment provided in the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 This is a hardware structure diagram of a computer terminal (or mobile device) for implementing a resource scheduling method according to Example 1 of the present application. Figure 1 As shown, the computer terminal 10 (or mobile device) may include one or more (illustrated as 102a, 102b, ..., 102n in the figure) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.
[0050] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuitry may be a single independent processing module, or may be incorporated in whole or in part into any of the other components of the computer terminal 10 (or mobile device). As described in the embodiments of the present application, the data processing circuitry serves as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0051] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the resource scheduling method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implementing the above-mentioned resource scheduling method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0052] The transmission device 106 is configured to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by the communications provider of the computer terminal 10. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.
[0053] The display may be, for example, a touch screen liquid crystal display (LCD), which enables a user to interact with a user interface of the computer terminal 10 (or mobile device).
[0054] Under the above operating environment, this application provides Figure 2 The resource scheduling method shown. Figure 2 This is a flow chart of a resource scheduling method according to Example 1 of the present application. Figure 2 As shown, the method may include the following steps:
[0055] Step S21: Acquire instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server;
[0056] Step S22: Generate label information based on the instance performance data, wherein the label information includes: a target object label and an instance label, wherein the target object label is used to describe the target object behavior attribute, and the instance label is used to describe the instance performance;
[0057] Step S23, determining the target resource inventory through the tag information, wherein the target resource inventory is the current resource inventory available for scheduling;
[0058] Step S24: performing resource scheduling using the tag information and the target resource inventory to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0059] It is understandable that multiple virtual machine instances can run simultaneously on a physical machine. The physical machine divides its resources into multiple virtual computing resources through virtualization technology, and then allocates these resources to different virtual machine instances.
[0060] In the embodiments of the present application, the physical server is a physical machine (NC), and the cloud server instance is a virtual machine instance (VM). Instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, that is, performance indicator data of multiple virtual machine instances on a physical machine collected in real time. Performance indicator data may include indicator data such as central processing unit (CPU) utilization, memory utilization, hard disk input / output (I / O), network bandwidth, etc., which are not limited here.
[0061] Exemplarily, the instance performance data may be instance performance data collected in real time for executing the target object business, that is, instance performance data corresponding to the instance assigned to the target object, such as instance performance data corresponding to the instance assigned to the user.
[0062] The target object label can be understood as a profile of the target object, such as a user profile. The target object label is used to describe the behavioral attributes of the target object. The target object label can be established by analyzing the target object's characteristics, behaviors, preferences, interests, and other information, thereby better understanding and predicting the target object's behavior and preferences. In the embodiments of the present application, the target object label can be used to better understand and predict the target object's business behavior and business preferences, thereby providing more personalized services and products to the target object and better meeting the target object's business needs.
[0063] An instance tag can be understood as an instance profile. An instance tag is used to describe the performance of an instance, that is, to describe the performance and capabilities of a virtual machine instance when executing computing tasks. An instance tag can include information about the instance's processing power, storage capacity, network performance, security performance, and other aspects. For example, the instance tag of an instance can be determined based on its historical performance. In embodiments of the present application, instance tags can better predict the future performance of an instance, thereby better implementing resource scheduling and avoiding instance performance contention.
[0064] The target resource inventory is the current resource inventory available for scheduling, which can be understood as the currently remaining and available virtual computing resources.
[0065] It is understandable that during system operation, in order to balance the system load and improve system performance and stability, the virtual machine instance that is executing the target object business can be migrated from one physical server to another physical server while keeping the instance's operating status uninterrupted. This instance migration process can be understood as resource scheduling.
[0066] The physical server where the virtual machine instance is located before migration is the source physical server. It can be understood that since the virtual machine instance on the source physical server has been migrated out, the remaining performance resources on the source physical server will increase, which means that the performance resources of the source physical server need to be returned.
[0067] The physical server where the virtual machine instance is located after migration is the target physical server. It can be understood that since the virtual machine instance has been migrated to the target physical server, the remaining performance resources on the target physical server will be reduced, which means that the performance resources of the source physical server need to be deducted.
[0068] In an embodiment of the present application, the scheduling result is used to adjust the remaining performance resources on at least one physical server, that is, to return and deduct the remaining performance resources on the source physical server and the target physical server when performing resource scheduling.
[0069] Exemplarily, the source physical server and the target physical server may be one or more, which are determined according to actual conditions and are not limited here.
[0070] In an embodiment of the present application, instance performance data corresponding to the instance assigned to the target object can be obtained, and then tag information including a target object tag that can predict the future behavior of the target object and an instance tag for predicting the future performance of the instance can be generated based on the instance performance data. Then, the current target resource inventory available for scheduling is determined through the generated tag information. Finally, resource scheduling is performed using the tag information and the current target resource inventory available for scheduling. The remaining performance resources on the source physical server and the target physical server are reasonably adjusted to finally obtain a scheduling result. This allows the instance performance data corresponding to the instance of the target object collected in real time to predict the instance scheduling behavior of the target object in advance, prevent problems before they occur, intercept contention events in advance, reduce the occurrence of contention events, and thereby ensure the normal operation of the target object business.
[0071] It can be seen that this application predicts the target object behavior and instance performance by generating target object labels and instance labels, and predicts the target object instance scheduling behavior in advance, so that the instance resources allocated to the target object can be reasonably scheduled online based on the prediction results, thereby effectively preventing the occurrence of instance performance contention events and avoiding the occurrence of instance performance contention phenomena. In other words, this application optimizes the instance scheduling logic according to the real-time load situation, reasonably allocates and manages resources, and can intercept instance performance contention events in advance, thereby reducing the occurrence of instance performance contention events, ensuring the normal operation of the target object business, avoiding resource waste, and improving service stability.
[0072] The above-mentioned resource scheduling method provided in the embodiment of the present application can be applied to, but is not limited to, application scenarios involving resource scheduling in the fields of e-commerce services, educational services, legal services, medical services, conference services, social network services, financial product services, logistics services and navigation services, such as: resource scheduling of e-commerce services, resource scheduling of educational services, resource scheduling of medical services, etc., which are not limited here.
[0073] According to an embodiment of the present application, instance performance data corresponding to an instance assigned to a target object is obtained, and then tag information including a target object tag capable of predicting the future behavior of the target object and an instance tag for predicting the future performance of the instance is generated based on the instance performance data. Then, the current target resource inventory available for scheduling is determined through the generated tag information. Finally, resource scheduling is performed using the tag information and the current target resource inventory available for scheduling, and the remaining performance resources on the source physical server and the target physical server are reasonably adjusted to obtain a scheduling result. This achieves the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability. This solves the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting the user's business operation.
[0074] In an optional embodiment, in step S21, obtaining instance performance data includes the following method steps:
[0075] Step S211, obtain instance performance data from the data storage server, wherein the data storage server is used to receive the instance performance data reported by the data acquisition server and persistently store the instance performance data, and the data acquisition server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server through log data delivery.
[0076] The data storage server is used to receive instance performance data reported by the data collection server and persistently store the instance performance data. Exemplarily, it can be a persistent storage system for persistently storing and managing data.
[0077] The data collection server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server through log data delivery. For example, it can be a collection component deployed on a physical server responsible for performance data collection.
[0078] In an embodiment of the present application, when obtaining instance performance data, the instance performance data can be obtained from a data storage server. Figure 3 This is a flow chart of collecting and reporting performance data according to Example 1 of the present application, as shown in FIG. Figure 3 As shown, the performance indicator data of multiple VMs on the NC can be collected in real time through the collection component deployed on the NC, including but not limited to computing performance, storage performance, and network performance. The performance indicator data collected in real time is stored in the NC's local file system and synchronized to a log system outside the NC in real time. The performance indicator data in the log system is then delivered to the persistent storage system through time series, thereby achieving persistent recording of the performance data.
[0079] In an optional embodiment, in step S22, generating a target object label based on the instance performance data includes the following method steps:
[0080] Step S221, determining target object behavior characteristics based on instance performance data;
[0081] In step S222, a target object label model is used to perform feature processing on the target object behavior characteristics to obtain a target object label, wherein the target object label model is used to classify the target object according to the target object behavior characteristics. The target object label includes: a common target object label and a special target object label. The instance performance requirement of the common target object label is lower than the instance performance requirement of the special target object label.
[0082] The target object behavior characteristics may include re-protection, contention, long- and short-cycle characteristics, etc., which are not limited here. The business behavior and business preferences of the target object can be predicted based on the target object behavior characteristics. Among them, re-protection can be understood as the business behavior of the target object usually reserving the resources of the virtual machine instance to ensure that the instance can obtain sufficient resources when needed and avoid resources being preempted by other instances, thereby improving the reliability and stability of the virtual machine instance. Contention can be understood as the business behavior of the target object's virtual machine instance usually having multiple virtual machine instances competing for resources. Long- and short-cycle characteristics can be understood as the resource demand characteristics of the target object's virtual machine instance at different time scales. Long-cycle characteristics usually refer to resource demand trends over a longer period of time and can be used for resource prediction and planning. Short-cycle characteristics usually refer to changes in resource demand over a shorter period of time and can be used for dynamic resource scheduling and management.
[0083] In an embodiment of the present application, target objects can be classified according to their target object behavior characteristics, that is, target object labels can be classified according to the performance requirements of the target object's virtual machine instance, and target object labels can be divided into ordinary target object labels and special target object labels. Among them, ordinary target object labels correspond to ordinary target objects, indicating that the business of the ordinary target object has no special requirements for instance performance. Special target object labels correspond to performance-competing target objects, indicating that the business of the performance-competing target object is sensitive to instance performance, that is, the target object that requires performance guarantee.
[0084] This means that instances of common target objects have lower performance requirements and are generally not subject to performance contention. However, instances of performance-focused target objects have higher performance requirements, leading to instance performance contention when resources are limited. In other words, common target objects do not have specific performance requirements, while performance-focused target objects require stronger performance guarantees.
[0085] The target object label model is used to predict the corresponding target object label based on the target object behavior characteristics. Exemplarily, the target object label model can be a regression model, or other machine learning models or deep learning models. For example, models such as decision trees, logistic regression or neural networks can be used, which are not limited here.
[0086] In an embodiment of the present application, when generating a target object label based on instance performance data, the target object's behavioral characteristics, such as re-protection, contention, and long-short cycle characteristics, can be determined based on the instance performance data. A target object label model is then used to perform feature processing on the determined target object's behavioral characteristics to obtain a target object label, thereby determining the target object's requirements for instance performance. This allows for personalized services to be provided to the target object based on its different instance performance requirements. Furthermore, this can help optimize resource allocation and performance management to meet the performance requirements of performance-contention target objects, providing them with stronger performance guarantees.
[0087] Optionally, the performance contention target objects may be further classified according to special target object tags, for example, into network performance contention target objects and last level cache (LLC) performance contention target objects, etc., which is not limited here. Figure 4 This is a flow chart of target object classification according to Example 1 of the present application, such as Figure 4 As shown, taking the target object as the user as an example, the user's retained instance performance, user business type, whether the user has submitted a performance-related work order, and whether the user is a re-protected user can be determined through the user's user behavior characteristics, which are not limited here. Then, the target object label model can be used to classify the user based on the above information to determine whether the user is an ordinary user or a performance-competing user. Furthermore, if the user is a performance-competing user, it can also be determined based on the above information whether the user is a network performance-competing user, an LLC performance-competing user, or another performance-competing user. Therefore, users can be classified more finely based on information such as user business behavior type and preferences to better meet the needs of different users and provide personalized services.
[0088] In an optional embodiment, in step S22, generating an instance label based on the instance performance data includes the following method steps:
[0089] Step S223, determining instance characteristics based on the instance performance data;
[0090] In step S224, the instance label model is used to process the instance features to obtain instance labels, wherein the instance label model is used to classify instances based on instance features. The instance labels include existing instance labels and newly created instance labels. The existing instance labels are used to predict and adjust the performance of existing instances, and the newly created instance labels are used to provide performance references for newly created instances.
[0091] Instance characteristics may include business characteristics, performance characteristics, specification characteristics, etc., which are not limited here. Based on the instance characteristics, the performance and capabilities of the instance when performing computing tasks can be predicted. Among them, business characteristics may include the application type and purpose of the target object, such as database server, application server, etc., the business load characteristics of the target object, such as the demand for CPU, memory, storage and network, and the business cycle and fluctuation characteristics of the target object, such as daily, weekly or monthly business activity patterns, etc., which are not limited here. Performance characteristics may include the performance requirements of the virtual machine instance of the target object, such as the demand for CPU, memory, storage and network bandwidth, the application performance indicators of the target object, such as the response time, throughput and concurrency performance requirements of the instance, and the service level agreement (SLA) requirements of the target object, such as availability, stability and performance guarantee, which are not limited here. Specification features may include the specification requirements of the virtual machine instance of the target object, such as the number of virtual CPU cores, memory size, storage capacity and network bandwidth, the specification requirements of the target object for the operating system and software environment of the virtual machine instance, such as the operating system version, application software version, etc., and the security and compliance specification requirements of the target object, such as data encryption, access control and compliance standard requirements, which are not limited here.
[0092] In an embodiment of the present application, instances can be classified according to the instance characteristics of the target object, that is, the instance tags can be classified according to the performance of the virtual machine instance of the target object, and the instance tags can be divided into existing instance tags and newly created instance tags. Among them, the existing instance tags are used to predict and adjust the performance of the existing instance. Exemplarily, the existing instance tags can be obtained by modeling and predicting the historical performance of the instance. The newly created instance tags are used to provide a performance reference for the newly created instance. Exemplarily, the newly created instance tags can be obtained by modeling and predicting the historical performance of the instance with the same specifications of the target object in the available zone.
[0093] It's understandable that for existing instances, since they already exist, their future performance can be directly modeled and predicted based on their historical performance. For newly created instances, since they don't yet exist and are newly created, modeling and prediction can only be performed based on the historical behavior of the target object. However, since the target object has different instances of different specification families in different availability zones, and the resource pool sizes of different specification families in different availability zones vary, instance performance can vary significantly under different circumstances. Therefore, it's necessary to model and predict the historical performance of instances of the same specification in the same availability zone that the target object already has, in order to obtain the new instance label.
[0094] The instance label model is used to predict the corresponding instance label based on instance features. Exemplarily, the instance label model can be a regression model, or other machine learning models or deep learning models. For example, models such as decision trees, logistic regression or neural networks can be used, which are not limited here.
[0095] In an embodiment of the present application, when generating instance tags based on instance performance data, instance characteristics, such as business characteristics, performance characteristics, and specification characteristics, can be determined based on the instance performance data. The determined instance characteristics are then processed using an instance tag model to obtain instance tags, thereby enabling a better understanding of the instance's performance characteristics and resource requirements, enabling more accurate resource allocation and performance management. It is understood that existing instance tags can be used to predict and optimize the performance of existing instances, while newly created instance tags can be used to provide a performance reference for the target object when selecting specifications and availability zones.
[0096] Figure 5 This is a flowchart of the instance label classification according to Example 1 of the present application, that is, a flowchart of the instance portrait classification, such as Figure 5 As shown, virtual server instances in a cloud computing environment, namely cloud instances, include existing instances and newly created instances. An instance labeling model can be used to process the instance features corresponding to existing and newly created instances, thereby generating profiles for the existing and newly created instances. When training the instance labeling model, data processing can be performed on target object and instance information to remove dirty and abnormal data. Feature extraction is then performed on target object behavior features and instance features. Simulations are used to evaluate the contribution and relevance of each classification feature to instance performance, and appropriate regression or classification models are selected for model training and evaluation. Algorithm parameters are then iterated and evolved based on the instance's historical behavior data. This allows for continuous model optimization to accurately predict the instance's future performance.
[0097] In an optional embodiment, the resource scheduling method further includes the following method steps:
[0098] Step S25 , quantifying the performance resources of at least one physical server according to a preset model template to obtain a resource quantification result, wherein the preset model template is used to configure basic performance resources of the at least one physical server.
[0099] A preset model template is used to configure the basic performance resources of at least one physical server. This means that the basic performance resources of at least one physical server are uniformly configured. Basic performance resources can include LLC cache, network resources, power consumption resources, memory bandwidth resources, and other resources, which are not limited here.
[0100] Physical server resources can be understood as the performance resources that a physical server can provide, and the physical server resources are determined by the hardware architecture.
[0101] In an embodiment of the present application, it is also possible to implement model template management for physical server resources. It is understandable that the performance resource provision corresponding to physical servers of different model templates is different. The present application can uniformly configure the basic performance resource value of at least one physical server through a preset model template, thereby achieving quantitative management of the performance resources of at least one physical server, and then effectively manage different model templates to allocate and optimize resources as needed. That is, the performance resources of at least one physical server can be quantified according to the preset model template to obtain a resource quantification result, that is, a resource allocation result of the physical server.
[0102] In addition, it also records the resource deductions and returns of instances on at least one physical server and generates corresponding billing records, thus achieving full-link tracking of resources while ensuring the consistency of resource data.
[0103] Figure 6 is a schematic diagram of a resource management module according to Example 1 of the present application, such as Figure 6 As shown, the resource management module in this application can achieve the technical effects of performance resource quantification, NC resource quantification, machine model template management, resource billing records, resource link tracking and resource data consistency.
[0104] In an optional embodiment, in step S23, determining the target resource inventory through tag information includes the following method steps:
[0105] Step S231: determining a target performance resource amount based on the target object tag, wherein the target performance resource amount is the performance resource amount required by the current cloud server instance;
[0106] Step S232: Perform performance resource calculation on the resource quantification result using the target performance resource quantity to obtain the target resource inventory quantity.
[0107] The target performance resource amount can be understood as the performance resource amount required by the current cloud server instance, where the current cloud server instance can be an existing instance or a newly created instance, which is not limited here.
[0108] The target resource inventory can be understood as the resource inventory that meets the requirements of the target object business.
[0109] In an embodiment of the present application, when determining the target resource inventory through tag information, the performance resource amount required by the current cloud server instance can be determined based on the target object tag, and then the resource allocation result of the physical server can be calculated based on the performance resource amount required by the current cloud server instance, that is, inventory calculation, to obtain the target resource inventory.
[0110] It is understandable that inventory calculation is used to calculate how many VMs can be created on the NC. For example, if there are 128 CPUs on the NC and each VM requires 4 CPUs, then 32 VMs can be created. The fact that each VM requires 4 CPUs is based on the target object identifier (User Identifier, UID), availability zone, and specification dimensions. The performance indicators of the VM under the above-mentioned dimensional conditions are collected, and the algorithm calculates how many performance resources the VM needs under the above-mentioned dimensions, for example, 4. That is, based on the historical performance labels of the target object in this availability zone and for instances of this specification, that is, the historical performance, it is quantified into performance resources to control the number of instances that can be created on the NC. If the number of instances is exceeded, the amount of resources required by all VMs on the NC will exceed the amount of resources that the NC can provide, so competition will occur, resulting in damage to the target object business.
[0111] Figure 7 This is a schematic diagram of the relationship between the target object and inventory information according to Example 1 of the present application, such as Figure 7 As shown in the figure, taking the user as the target object, different types of users can see different inventory information based on user classification. The visible NC inventory of ordinary users is the entire NC inventory, meaning ordinary users can see the entire NC inventory. The visible NC inventory of performance-focused users is the NC inventory without performance risks, meaning performance-focused users can only see the NC inventory without performance risks.
[0112] Under more refined user classification, network scrambling users can only see NC inventory without network performance risks, LLC scrambling users can only see NC inventory without LLC performance risks, and network scrambling and LLC scrambling users can only see NC inventory without network risks and LLC risks.
[0113] In an optional embodiment, in step S232, the resource quantification result is subjected to performance resource calculation using the target performance resource quantity to obtain the target resource inventory quantity, including the following method steps:
[0114] Step S2321: In response to the target object tag being a common target object tag, a performance resource calculation is performed on the common resource item in the resource quantification result using the performance resource amount corresponding to the common target object tag to obtain a target resource inventory amount.
[0115] Step S2322: In response to the target object tag being a special target object tag, a performance resource calculation is performed on the general resource items in the resource quantification results and the competitive resource items corresponding to the special target object tag in the resource quantification results using the performance resource quantity corresponding to the special target object tag to obtain the target resource inventory.
[0116] Common resource items may include CPU, memory (MEM), graphics processing unit (GPU), etc. Competitive resource items may be understood as resources determined according to target objects of different contention types.
[0117] When performing inventory calculations, the embodiments of the present application may perform different calculations on different performance resources according to different target object classifications, so as to provide different target resource inventory amounts to different target objects.
[0118] If the target object tag is a common target object tag, the performance resource calculation is performed on the common resource items in the resource quantification results using the performance resource amount corresponding to the common target object tag to obtain the target resource inventory amount. This means that if the target object is a common target object, only the common resource items corresponding to the specification need to be calculated. For example, a common inventory calculation is performed on resources such as CPU, MEM, and GPU to determine the target resource inventory amount corresponding to the common target object.
[0119] If the target object tag is a special target object tag, the performance resource amount corresponding to the special target object tag is used to perform performance resource calculation on the general resource items in the resource quantification results and the contention resource items corresponding to the special target object tag in the resource quantification results to obtain the target resource inventory. This means that if the target object is a performance contention target object, it needs to be classified according to different contention types and the corresponding inventory calculations need to be performed.
[0120] For example, if the target object is a network contention target object, general inventory calculation and network resource inventory calculation are required. If the target object is an LLC contention target object, general inventory calculation and LLC resource inventory calculation are required. If the target object is a network contention and LLC contention target object, general inventory calculation, network resource inventory calculation, and LLC resource inventory calculation are required.
[0121] In an optional embodiment, the resource scheduling method further includes the following method steps:
[0122] Step S26: displaying an inventory view based on the target resource inventory, wherein different target object tags correspond to different inventory views.
[0123] In this embodiment of the present application, an inventory view can also be displayed based on the target resource inventory. This means that the target resource inventory is visualized so that the target object can see the target resource inventory. Furthermore, in different inventory calculation modes, different target objects can see different inventory views. In other words, different target object labels correspond to different inventory views.
[0124] Figure 8 This is a flow chart of inventory view classification according to Example 1 of the present application, such as Figure 8 As shown, based on different target object classifications, inventory views include a common inventory view displayed to common target objects and a performance inventory view displayed to performance-focused target objects. Based on different performance-focused target object classifications, performance inventory views include a network performance inventory view displayed to network performance-focused target objects, an LLC performance inventory view displayed to LLC performance-focused target objects, and other performance inventory views displayed to other performance-focused target objects.
[0125] It can be understood that the performance inventory view can be determined by performing performance resource calculation on the general inventory view.
[0126] In an optional embodiment, in step S24, resource scheduling is performed using the tag information and the target resource inventory to obtain a scheduling result, including the following method steps:
[0127] Step S241, determining the target physical server using the target object tag and the target resource inventory;
[0128] Step S242: Perform resource scheduling on the target physical server based on the instance tag to obtain a scheduling result.
[0129] It is understandable that when performing resource scheduling, it is necessary to determine the target physical server to which the virtual machine instance is to be migrated, so as to migrate the virtual machine instance from the current source physical server to the target physical server.
[0130] That is, in an embodiment of the present application, when using tag information and target resource inventory for resource scheduling, the target physical server can be determined first using the target object tag and the target resource inventory, and then resource scheduling is performed on the target physical server based on the instance tag, and the virtual machine instance is migrated from the current source physical server to the target physical server, thereby returning the resources of the source physical server and deducting the resources of the target physical server to obtain the scheduling result.
[0131] In an optional embodiment, in step S241, determining the target physical server using the target object tag and the target resource inventory includes the following method steps:
[0132] Step S2411: In response to the instance scheduling request, selecting a candidate physical server from at least one physical server based on a preset matching mechanism, wherein the preset matching mechanism is used to determine a matching relationship between an identifier of the at least one physical server and identifiers of different instances;
[0133] Step S2412: Select a target physical server from the candidate physical servers using the target object tag and the target resource inventory.
[0134] The preset matching mechanism is used to determine the matching relationship between the identifier of at least one physical server and the identifiers of different instances, which can be understood as a tag matching mechanism of NC and VM.
[0135] It is understandable that VMs correspond to various information such as specifications, availability zones, I / O optimization, network type, product, and model. To accelerate the NC selection logic, the above information will be combined with the corresponding NC list for pre-caching. When the VM is scheduled, the candidate NC can be quickly matched through the pre-cached correspondence, thereby improving scheduling efficiency.
[0136] In the embodiment of the present application, when a target physical server is determined using the target object tag and the target resource inventory, upon receiving an instance scheduling request, a candidate physical server, i.e., a candidate NC, may be selected from at least one physical server based on a preset matching mechanism. A target physical server, i.e., a target NC, may then be selected from the candidate physical servers using the target object tag and the target resource inventory.
[0137] In an optional embodiment, in step S2412, selecting a target physical server from candidate physical servers using the target object tag and the target resource inventory includes the following method steps:
[0138] Step S24121, using the target object tag and the target resource inventory to filter some servers from the candidate physical servers to obtain a filtering result;
[0139] Step S24122, weight scoring is performed on the filtering results to obtain a scoring result;
[0140] Step S24123: Select a target physical server based on the scoring result.
[0141] In an embodiment of the present application, when selecting a target physical server from candidate physical servers using the target object tag and the target resource inventory, some servers can be filtered from the candidate physical servers using the target object tag and the target resource inventory. For example, based on the target object tag, if it is an ordinary target object tag, the performance resource item will not be used as a restriction condition, so no filtering is required. If it is a special target object tag, it is necessary to verify the corresponding performance resources on the NC based on the performance contention type of the target object. If the resource amount is insufficient, the NC is filtered out, thereby obtaining the filtering result, that is, the NC retained after filtering.
[0142] After the filtering results are obtained, the remaining NCs are weighted and scored to obtain a scoring result, and then the target physical server is selected based on the scoring result. For example, the remaining NCs can be weighted and scored, and the NC with the highest score is selected as the target NC.
[0143] It is understandable that there are many NC scorers, such as the optimal packaging scorer, the large-scale protection scorer, the healthy NC scorer, the physical hazard NC avoidance scorer, etc. The final NC score can be determined based on the scores of the above-mentioned multiple scorers, which is not limited here.
[0144] In an optional embodiment, in step S242, resource scheduling is performed on the target physical server based on the instance tag to obtain a scheduling result, including the following method steps:
[0145] Step S2421: Determine an instance scheduling scenario using the instance tag, wherein the instance scheduling scenario is used to determine a resource scheduling operation category;
[0146] Step S2422: Perform resource scheduling on the target physical server based on the instance scheduling scenario to obtain a scheduling result.
[0147] Resource scheduling operations include resource deduction operations and resource return operations. The instance scheduling scenario is used to determine the resource scheduling operation category, that is, to determine the resource deduction operations and resource return operations.
[0148] It's understandable that during primary scheduling (i.e., when creating an instance), you simply select the destination NC and then perform resource deductions on it. However, during secondary scheduling (i.e., migrating an instance from a source NC to a target NC), you need to release resources on the source NC, return them to the source NC, and then deduct resources from the target NC (i.e., perform resource deductions on the target NC). In other words, primary scheduling involves only deductions, while secondary scheduling involves both deductions and return operations.
[0149] In an embodiment of the present application, when resources are scheduled for the target physical server based on the instance tag, the instance tag can be used to determine the instance scheduling scenario, that is, determine whether it is a one-time scheduling scenario or a two-time scheduling scenario, and then the target physical server is scheduled for resources based on the instance scheduling scenario, that is, the corresponding deduction operation or return operation is performed to obtain the scheduling result.
[0150] Figure 9 This is a schematic diagram of an example scheduling according to Example 1 of the present application, as shown in FIG. Figure 9 As shown, taking the target object as a user, when an instance scheduling request is received, the tag information is first obtained. That is, the scheduling side first obtains information such as the instance profile (i.e., instance tag) and the user profile (i.e., target object tag). For example, based on the instance scheduling scenario, if it is a one-time scheduling scenario (i.e., a new scenario), the newly created instance profile is obtained; if it is a two-time scheduling scenario, the existing instance profile is obtained.
[0151] Next, based on the user profile and the tag matching mechanism between NCs and VMs, a batch of candidate NCs is pulled. NCs are then filtered based on the user profile. For example, if the user profile is normal, performance resources are not considered a restriction. If the user profile is special, the corresponding performance resources on the NC are verified based on the user's performance contention type. If the resource quantity is insufficient, the NC is filtered out.
[0152] After filtering, the remaining NCs are weighted and scored, and the NC with the highest score is selected as the target NC. After the target NC is determined, the remaining performance resources on the target NC are deducted based on the performance profile resource requirements of the instance. Furthermore, in secondary scheduling scenarios, the performance resources of the source NC must be returned. Finally, the resource bill is recorded, completing the entire scheduling process.
[0153] In addition, the embodiment of the present application also supports scheduling and sales linkage. Figure 10 This is a linkage diagram according to Example 1 of the present application, such as Figure 10 As shown, taking the user as the target object, when receiving a user request, the system performs inventory calculations based on the user's profile classification and the corresponding resource inventory. Inventory calculations determine the user's visible inventory based on the user's availability zone and specification family. In other words, the inventory calculations correspond to the inventory resources visible to the user's sales side. Simultaneously, the results of the inventory calculations are synchronized to the sales side, where the inventory resources are displayed to the user through the inventory view. After viewing the inventory resources, the user purchases an instance. Then, based on the instance scheduling request, the system executes the instance scheduling process to perform operations such as target NC selection and resource scheduling. Furthermore, the system performs inventory calculations and links resource links, promptly updating the inventory view, thereby achieving a closed-loop linkage between sales, scheduling, and inventory management.
[0154] Figure 11 This is a system framework diagram according to Example 1 of the present application, such as Figure 11 As shown, the system can be mainly divided into four parts, namely the storage part, the inventory scheduling part, the performance portrait algorithm modeling part, and the physical machine and cloud server performance data collection part.
[0155] Among them, the performance data collection part of physical machines and cloud servers includes modules such as data collection, real-time diagnosis and health monitoring, computing, storage, network, process and kernel, which are used to upload the instance performance data collected in real time to the storage part of the system.
[0156] The performance profile algorithm modeling part includes modules such as aggregation calculation, dimension association, algorithm modeling, features, dimensions, rules and models. The storage part and the performance profile algorithm modeling part use data reflux to enable the performance profile algorithm modeling part to perform performance profile modeling based on the instance performance data collected in real time, thereby determining the instance profile (i.e., instance label) and user profile (i.e., target object label).
[0157] The inventory scheduling component includes modules such as inventory sales, instance scheduling, inventory calculation, and NC resource management. The inventory sales component includes profile consumption, view selection, and sales-inventory linkage modules. The instance scheduling module includes profile consumption, scheduling decisions, and refined scheduling. The inventory calculation module includes available inventory, inventory view generation, and view overlay modules. NC resource management includes performance resource allocation, performance resource initialization, and custom resource configuration modules. The system's storage component sends data such as user profiles and instance profiles to the inventory scheduling component for inventory resource scheduling.
[0158] From the above, it can be seen that the embodiment of the present application provides a strong isolation guarantee mechanism for the performance contention target object. Through the unified linkage of scheduling, inventory and sales, the performance contention target object can only see NC resources without performance risks, and cannot see NC resources with performance risks, thereby achieving strong isolation between performance risk NC and performance contention target object. In addition, the embodiment of the present application realizes the advance prediction of the scheduling behavior of the target object instance, and quantitatively controls the contention behavior indicators to avoid the aggregation of contention instances in one scheduling, so as to be able to take preventive measures and intercept contention events in advance, thereby reducing the occurrence of contention events. In addition, the embodiment of the present application realizes the resource quantification of instance performance portrait data, that is, the contention behavior indicators are analyzed and resource quantification control is realized, and it is applied to the online scheduling business process. By refining the inventory view classification, the performance contention risk is intercepted in advance, the target object instance scheduling behavior is predicted in advance, and according to the real-time load situation, the instance scheduling logic is optimized, and resources are reasonably allocated and managed, thereby reducing the occurrence of performance contention and providing a more reliable cloud service.
[0159] It is easy to understand that the beneficial effects of the resource scheduling method provided in this application include the following points.
[0160] Beneficial effect (1): Performance resource quantification is achieved, and the performance resources generated based on the profile are applied to the actual online scheduling business, controlling the scheduling of user instances to NCs without performance risks, and achieving a better scheduling packing strategy.
[0161] Beneficial effect (2): The inventory view supports multi-dimensional refined inventory calculation. Different inventory views are visible to users with different performance. The degree of refinement is high, and it can realize scheduling inventory management in the dimensions of users, availability zones, and specifications, and control the occurrence of performance risks point-to-point.
[0162] Beneficial effect (3) is to achieve user profile classification, so that ordinary users can always see the maximum inventory, ensuring the supply. In addition, a refined classification is made for performance-competing users, so that overall performance constraints will not be used as a shortcoming to limit inventory. Performance-competing users who are not sensitive to performance items will not be used as scheduling restrictions for users, reducing the risk of supply interruption.
[0163] Beneficial effect (4): sales scheduling inventory resource model linkage, high-performance user portrait linkage, the user's visible NC inventory is the corresponding performance safety inventory, thereby achieving maximum performance scheduling guarantee.
[0164] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0165] In addition, it should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.
[0166] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0167] Example 2
[0168] In the operating environment as in Example 1, the present application provides Figure 12 A resource scheduling method shown in FIG. Figure 12 is a flow chart of a resource scheduling method according to Example 2 of the present application, such as Figure 12 As shown, the method includes:
[0169] Step S121: Obtaining a cloud service instance scheduling request through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes tag information, where the tag information is generated based on instance performance data, where the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes a target object tag and an instance tag, where the target object tag is used to describe target object behavior attributes, and the instance tag is used to describe instance performance.
[0170] Step S122: Return the cloud service instance scheduling response through the second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, which is obtained after resource scheduling using the tag information and the target resource inventory. The scheduling result is used to adjust the remaining performance resources on at least one physical server, and the target resource inventory is determined by the tag information. The target resource inventory is the resource inventory currently available for scheduling.
[0171] The cloud service instance scheduling request can be understood as a request for instance scheduling. The cloud service instance scheduling request carries tag information, and the tag information includes a target object tag and an instance tag.
[0172] The target object label can be understood as a profile of the target object, such as a user profile. The target object label is used to describe the behavioral attributes of the target object. The target object label of the target object can be established by analyzing the characteristics, behaviors, preferences, interests, and other information of the target object, thereby enabling a better understanding and prediction of the target object's behaviors and preferences. In the embodiments of the present application, the target object label can be used to better understand and predict the target object's business behaviors and business preferences, thereby enabling the provision of more personalized services and products to the target object, thereby better meeting the target object's business needs.
[0173] An instance tag can be understood as an instance profile. An instance tag is used to describe the performance of an instance, that is, to describe the performance and capabilities of a virtual machine instance when executing computing tasks. An instance tag can include information about the instance's processing power, storage capacity, network performance, security performance, and other aspects. For example, the instance tag of an instance can be determined based on its historical performance. In embodiments of the present application, instance tags can better predict the future performance of an instance, thereby better implementing resource scheduling and avoiding instance performance contention.
[0174] Tag information is generated based on instance performance data. Instance performance data is collected from multiple cloud server instances created on at least one physical server. This data is essentially real-time performance data collected from multiple virtual machine instances on a physical server. This performance data may include metrics such as central processing unit (CPU) utilization, memory utilization, disk input / output (I / O), and network bandwidth, but is not limited here.
[0175] A cloud service instance scheduling response is a response to a cloud service instance scheduling request. It carries a scheduling result. This result is obtained by performing resource scheduling using tag information and the target resource inventory. This result is used to adjust the remaining performance resources on at least one physical server. This means that when scheduling resources, the remaining performance resources on the source and target physical servers are returned or reduced.
[0176] The target resource inventory is determined by the tag information. The target resource inventory is the resource inventory currently available for scheduling, which can be understood as the currently remaining and available virtual computing resources.
[0177] In an embodiment of the present application, a cloud service instance scheduling request is obtained through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes: tag information, which is generated based on instance performance data. The instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server. The tag information includes: a target object tag and an instance tag. The target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the performance of the instance. Then, a cloud service instance scheduling response is returned through a second application programming interface. The response data carried in the cloud service instance scheduling response includes: a scheduling result, which is obtained by performing resource scheduling using the tag information and the target resource inventory. The scheduling result is used to adjust the remaining performance resources on the at least one physical server. The target resource inventory is determined by the tag information and is the current resource inventory available for scheduling. Thus, the instance performance data corresponding to the target object instance obtained in real time can be used to predict the scheduling behavior of the target object instance in advance, prevent problems before they occur, intercept contention events in advance, reduce the occurrence of contention events, and thus ensure the normal operation of the target object business.
[0178] The above-mentioned resource scheduling method provided in the embodiment of the present application can be applied to, but is not limited to, application scenarios involving resource scheduling in the fields of e-commerce services, educational services, legal services, medical services, conference services, social network services, financial product services, logistics services and navigation services, such as: resource scheduling of e-commerce services, resource scheduling of educational services, resource scheduling of medical services, etc., which are not limited here.
[0179] Using an embodiment of the present application, a cloud service instance scheduling request is obtained through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes: tag information, the tag information is generated based on instance performance data, the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes: target object tag and instance tag, the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the instance performance. Then, a cloud service instance scheduling response is returned through the second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, which is obtained after resource scheduling using tag information and target resource inventory. The scheduling result is used to adjust the remaining performance resource on at least one physical server, and the target resource inventory is determined by the tag information. The target resource inventory is the resource inventory currently available for scheduling, thereby achieving the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of target object business, and improving service stability, thereby solving the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0180] It should be noted that the preferred implementation of this embodiment can be found in the relevant description in Example 1 and will not be repeated here.
[0181] Example 3
[0182] In the operating environment as in Example 1, the present application provides Figure 13 A resource scheduling method is shown. Figure 13 is a flow chart of a resource scheduling method according to Example 3 of the present application, such as Figure 13 As shown, the method includes:
[0183] Step S131: Obtain a currently input cloud service instance scheduling dialog request, wherein the information carried in the cloud service instance scheduling dialog request includes: tag information, which is generated based on instance performance data. The instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server. The tag information includes: a target object tag and an instance tag. The target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the performance of the instance.
[0184] Step S132: In response to the cloud service instance scheduling dialog request, a cloud service instance scheduling dialog reply is returned. The cloud service instance scheduling dialog reply carries information including: a scheduling result, obtained by performing resource scheduling using the tag information and the target performance resource amount, the scheduling result being used to adjust the remaining performance resource amount on at least one physical server, and a target resource inventory amount being determined by the tag information, the target resource inventory amount being the current resource inventory amount available for scheduling;
[0185] Step S133: Display the scheduling result in the graphical target object interface.
[0186] The cloud service instance scheduling dialog request can be understood as a dialog request input by the target object for instance scheduling. The information carried in the cloud service instance scheduling dialog request includes tag information, which includes a target object tag and an instance tag.
[0187] Among them, the target object label can be understood as a target object portrait, such as a user portrait. The target object label is used to describe the target object's behavioral attributes, that is, to describe the target object's behavior and preferences. The target object label of the target object can be established by analyzing the target object's characteristics, behavior, preferences, interests and other information, so that the target object's behavior and preferences can be better understood and predicted. In the embodiment of the present application, based on the target object label, the target object's business behavior and business preferences can be better understood and predicted, so that more personalized services and products can be provided to the target object to better meet the target object's business needs.
[0188] An instance tag can be understood as an instance profile. An instance tag is used to describe the performance of an instance, that is, to describe the performance and capabilities of a virtual machine instance when executing computing tasks. An instance tag can include information about the instance's processing power, storage capacity, network performance, security performance, and other aspects. For example, the instance tag of an instance can be determined based on its historical performance. In embodiments of the present application, instance tags can better predict the future performance of an instance, thereby better implementing resource scheduling and avoiding instance performance contention.
[0189] Tag information is generated based on instance performance data. Instance performance data is collected from multiple cloud server instances created on at least one physical server. This data is essentially real-time performance data collected from multiple virtual machine instances on a physical server. This performance data may include metrics such as central processing unit (CPU) utilization, memory utilization, disk input / output (I / O), and network bandwidth, but is not limited here.
[0190] The cloud service instance scheduling dialogue reply can be understood as the dialogue reply corresponding to the cloud service instance scheduling dialogue request. The cloud service instance scheduling dialogue reply carries the scheduling result. The scheduling result is obtained after resource scheduling using tag information and target resource inventory. The scheduling result is used to adjust the remaining performance resources on at least one physical server, that is, it is used to return and deduct the remaining performance resources on the source physical server and the target physical server when performing resource scheduling.
[0191] The target resource inventory is determined by the tag information. The target resource inventory is the resource inventory currently available for scheduling, which can be understood as the currently remaining and available virtual computing resources.
[0192] After the scheduling result is determined, the scheduling result can be displayed in the graphical target object interface, thereby feeding back to the target object.
[0193] In an embodiment of the present application, a currently input cloud service instance scheduling dialog request is obtained, wherein the information carried in the cloud service instance scheduling dialog request includes tag information, which is generated based on instance performance data. The instance performance data is performance indicator data obtained by collecting performance data from multiple cloud server instances created on at least one physical server. The tag information includes a target object tag and an instance tag. The target object tag is used to describe the target object's behavioral attributes, and the instance tag is used to describe the instance's performance. Then, in response to the cloud service instance scheduling dialog request, a cloud service instance scheduling dialog reply is returned. The information carried in the cloud service instance scheduling dialog reply includes a scheduling result, which is obtained by performing resource scheduling using the tag information and the target performance resource quantity. The scheduling result is used to adjust the remaining performance resource quantity on the at least one physical server. The target resource inventory quantity is determined by the tag information and is the current resource inventory quantity available for scheduling. Finally, the scheduling result is displayed in a graphical target object interface to provide feedback to the target object. Thus, based on the instance performance data corresponding to the target object instance collected in real time, the scheduling behavior of the target object instance can be predicted in advance, preventing problems before they occur, intercepting contention events in advance, reducing the occurrence of contention events, and thereby ensuring the normal operation of the target object's business.
[0194] The above-mentioned resource scheduling method provided in the embodiment of the present application can be applied to, but is not limited to, application scenarios involving resource scheduling in the fields of e-commerce services, educational services, legal services, medical services, conference services, social network services, financial product services, logistics services and navigation services, such as: resource scheduling of e-commerce services, resource scheduling of educational services, resource scheduling of medical services, etc., which are not limited here.
[0195] According to an embodiment of the present application, a currently input cloud service instance scheduling dialogue request is obtained, wherein the information carried in the cloud service instance scheduling dialogue request includes: tag information, which is generated based on instance performance data, and the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes: target object tag and instance tag, and the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the performance of the instance. Then, in response to the cloud service instance scheduling dialogue request, a cloud service instance scheduling dialogue reply is returned, wherein the information carried in the cloud service instance scheduling dialogue reply includes: scheduling result, which is obtained by performing resource scheduling using the tag information and the target performance resource amount, and the scheduling result is used to adjust the remaining performance resource amount on at least one physical server, and the target resource inventory amount is determined by the tag information, and the target resource inventory amount is the resource inventory amount currently available for scheduling. Finally, the scheduling results are displayed in the graphical target object interface to provide feedback to the target object, thereby achieving the purpose of predicting the target object behavior and instance performance, and reasonably scheduling instance performance resources online based on the prediction results, thereby effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability. This solves the technical problem that subsequent governance solutions such as performance suppression and online fragmentation used in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0196] It should be noted that the preferred implementation of this embodiment can be found in the relevant description in Example 1 and will not be repeated here.
[0197] Example 4
[0198] According to an embodiment of the present application, a system embodiment for implementing the above-mentioned resource scheduling method is also provided. Figure 14 is a structural diagram of a resource scheduling system according to Example 4 of the present application, such as Figure 14 As shown, the device includes:
[0199] The data collection server 1401 is configured to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server by means of log data delivery;
[0200] The data storage server 1402 is used to receive the instance performance data reported by the data collection server and store the instance performance data persistently;
[0201] The performance profile server 1403 is configured to obtain instance performance data and generate tag information based on the instance performance data. The tag information includes a target object tag and an instance tag. The target object tag is used to describe the target object's behavior attributes, and the instance tag is used to describe the instance's performance.
[0202] The resource scheduling server 1404 is used to determine the target performance resource quantity through label information, and to perform resource scheduling using the label information and the target resource inventory quantity to obtain a scheduling result, wherein the target resource inventory quantity is the resource inventory quantity currently available for scheduling, and the scheduling result is used to adjust the remaining performance resource quantity on at least one physical server.
[0203] In the embodiment of the present application, the data acquisition server 1401 can be understood as Figure 11 In the performance data collection part, the data storage server 1402 can be understood as Figure 11 The storage part in the performance profile server 1403 can be understood as Figure 11 In the performance profile algorithm modeling part, the resource scheduling server 1404 can be understood as Figure 11 The resource scheduling section in .
[0204] Among them, the data collection server 1401 is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server 1402 through log data delivery. Exemplarily, the data collection server 1401 can be a collection component deployed on a physical server responsible for performance data collection.
[0205] It is understandable that multiple virtual machine instances can run simultaneously on a physical machine. The physical machine divides its resources into multiple virtual computing resources through virtualization technology, and then allocates these resources to different virtual machine instances.
[0206] In the embodiments of the present application, the physical server is a physical machine (NC), and the cloud server instance is a virtual machine instance (VM). Instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, that is, performance indicator data of multiple virtual machine instances on a physical machine collected in real time. Performance indicator data may include indicator data such as central processing unit (CPU) utilization, memory utilization, hard disk input / output (I / O), network bandwidth, etc., which are not limited here.
[0207] Illustratively, the instance performance data may be instance performance data collected in real time and used to execute the target object service, that is, instance performance data corresponding to the instance assigned to the target object.
[0208] The data storage server 1402 is used to receive the instance performance data reported by the data collection server and to persistently store the instance performance data. For example, the data storage server 1402 may be a persistent storage system for persistently storing and managing data.
[0209] The performance profile server 1403 is used to obtain instance performance data and generate tag information based on the instance performance data, wherein the tag information includes: target object tag and instance tag.
[0210] The target object tag is used to describe the target object's behavioral attributes, that is, to describe the target object's behavior and preferences. The target object tag can be established by analyzing the target object's characteristics, behaviors, preferences, interests, and other information, thereby enabling a better understanding and prediction of the target object's behavior and preferences. In the embodiments of the present application, the target object tag enables a better understanding and prediction of the target object's business behavior and business preferences, thereby enabling the provision of more personalized services and products to the target object, thereby better meeting the target object's business needs.
[0211] Instance tags are used to describe instance performance, that is, to describe the performance and capabilities of a virtual machine instance when executing computing tasks. Instance tags can include information about the instance's processing power, storage capacity, network performance, security performance, and other aspects. For example, the instance tag can be determined based on the instance's historical performance. In embodiments of the present application, instance tags can better predict the instance's future performance, thereby better implementing resource scheduling and avoiding instance performance contention.
[0212] The resource scheduling server 1404 is used to determine the target performance resource quantity based on the tag information, and perform resource scheduling using the tag information and the target resource inventory quantity to obtain a scheduling result. The target resource inventory quantity is the current resource inventory quantity available for scheduling, which can be understood as the currently remaining and available virtual computing resources.
[0213] The scheduling result is used to adjust the remaining performance resources on at least one physical server, that is, to return and deduct the remaining performance resources on the source physical server and the target physical server when performing resource scheduling.
[0214] The resource scheduling system provided in the embodiment of the present application can be applied to, but is not limited to, application scenarios involving resource scheduling in the fields of e-commerce services, educational services, legal services, medical services, conference services, social network services, financial product services, logistics services, and navigation services, such as query requests for e-commerce services, query requests for academic interpretations, query requests for medical means, etc., which are not limited here.
[0215] According to an embodiment of the present application, resource scheduling is performed through a resource scheduling system including a data acquisition server, a data storage server, a performance profile server, and a resource scheduling server, wherein the data acquisition server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server via log data delivery. The data storage server is used to receive the instance performance data reported by the data acquisition server and to persistently store the instance performance data. The performance profile server is used to obtain instance performance data and generate label information based on the instance performance data, wherein the label information includes: a target object label and an instance label, wherein the target object label is used to describe the behavior attributes of the target object, and the instance label is used to describe the performance of the instance. The resource scheduling server is used to determine the target performance resource amount through label information, and to perform resource scheduling using the label information and the target resource inventory to obtain a scheduling result, wherein the target resource inventory is the resource inventory currently available for scheduling, and the scheduling result is used to adjust the remaining performance resource amount on at least one physical server, thereby achieving the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of target object business, and improving service stability, thereby solving the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0216] In an optional embodiment, the resource scheduling server is further configured to determine a target physical server using the target object tag and the target resource inventory, and to perform resource scheduling on the target physical server based on the instance tag to obtain a scheduling result.
[0217] It is understandable that when performing resource scheduling, it is necessary to determine the target physical server to which the virtual machine instance is to be migrated, so as to migrate the virtual machine instance from the current source physical server to the target physical server.
[0218] The resource scheduling server can also first use the target object tag and the target resource inventory to determine the target physical server, and then schedule resources for the target physical server based on the instance tag, migrating the virtual machine instance from the current source physical server to the target physical server, thereby returning the resources of the source physical server and deducting the resources of the target physical server to obtain the scheduling result.
[0219] It should be noted that the preferred implementation of this embodiment can be found in the relevant description in Example 1 and will not be repeated here.
[0220] Example 5
[0221] According to an embodiment of the present application, a device embodiment for implementing the above-mentioned resource scheduling method is also provided. Figure 15 is a structural diagram of a resource scheduling device according to Example 5 of the present application, such as Figure 15 As shown, the device includes:
[0222] The first acquisition module 1501 is configured to acquire instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server;
[0223] A generating module 1502 is configured to generate label information based on the instance performance data, wherein the label information includes a target object label and an instance label, wherein the target object label is used to describe the target object behavior attribute, and the instance label is used to describe the instance performance;
[0224] Determination module 1503, configured to determine a target resource inventory based on the tag information, wherein the target resource inventory is the current resource inventory available for scheduling;
[0225] The scheduling module 1504 is configured to perform resource scheduling using the tag information and the target resource inventory to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0226] Optionally, the above-mentioned first acquisition module 1501 is also used to: obtain instance performance data from the data storage server, wherein the data storage server is used to receive the instance performance data reported by the data acquisition server and persistently store the instance performance data, and the data acquisition server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server via log data delivery.
[0227] Optionally, the above-mentioned generation module 1502 is also used to: determine the target object behavior characteristics based on the instance performance data; use the target object label model to perform feature processing on the target object behavior characteristics to obtain the target object label, wherein the target object label model is used to classify the target object according to the target object behavior characteristics, and the target object label includes: ordinary target object labels and special target object labels, and the instance performance requirements of the ordinary target object labels are lower than the instance performance requirements of the special target object labels.
[0228] Optionally, the above-mentioned generation module 1502 is also used to: determine instance characteristics based on instance performance data; use an instance label model to perform feature processing on the instance characteristics to obtain instance labels, wherein the instance label model is used to classify instances based on instance characteristics, and the instance labels include: existing instance labels and newly created instance labels, the existing instance labels are used to predict and adjust the performance of existing instances, and the newly created instance labels are used to provide performance references for newly created instances.
[0229] Optionally, it also includes: a quantification module, which is used to quantify the performance resources of at least one physical server according to a preset model template to obtain a resource quantification result, wherein the preset model template is used to configure the basic performance resources of at least one physical server.
[0230] Optionally, the above-mentioned determination module 1503 is also used to: determine the target performance resource amount based on the target object tag, wherein the target performance resource amount is the performance resource amount required by the current cloud server instance; perform performance resource calculation on the resource quantification result through the target performance resource amount to obtain the target resource inventory amount.
[0231] Optionally, the above-mentioned determination module 1503 is also used to: in response to the target object tag being an ordinary target object tag, perform performance resource calculation on the general resource items in the resource quantification results through the performance resource amount corresponding to the ordinary target object tag to obtain the target resource inventory; in response to the target object tag being a special target object tag, perform performance resource calculation on the general resource items in the resource quantification results and the competitive resource items corresponding to the special target object tag in the resource quantification results through the performance resource amount corresponding to the special target object tag to obtain the target resource inventory.
[0232] Optionally, the system further includes: a first display module, configured to display an inventory view based on the target resource inventory, wherein different target object tags correspond to different inventory views.
[0233] Optionally, the scheduling module 1504 is further configured to: determine a target physical server using the target object tag and the target resource inventory; and perform resource scheduling on the target physical server based on the instance tag to obtain a scheduling result.
[0234] Optionally, the above-mentioned scheduling module 1504 is also used to: respond to an instance scheduling request, select a candidate physical server from at least one physical server based on a preset matching mechanism, wherein the preset matching mechanism is used to determine the matching relationship between the identifier of at least one physical server and the identifiers of different instances; and select a target physical server from the candidate physical servers using the target object tag and the target resource inventory.
[0235] Optionally, the scheduling module 1504 is further configured to: filter some servers from the candidate physical servers using the target object tag and the target resource inventory to obtain filtering results; weight the filtering results to obtain scoring results; and select the target physical server based on the scoring results.
[0236] Optionally, the scheduling module 1504 is further configured to: determine an instance scheduling scenario using an instance tag, wherein the instance scheduling scenario is used to determine a resource scheduling operation category; and perform resource scheduling on the target physical server based on the instance scheduling scenario to obtain a scheduling result.
[0237] According to an embodiment of the present application, instance performance data corresponding to an instance assigned to a target object is obtained, and then tag information including a target object tag capable of predicting the future behavior of the target object and an instance tag for predicting the future performance of the instance is generated based on the instance performance data. Then, the current target resource inventory available for scheduling is determined through the generated tag information. Finally, resource scheduling is performed using the tag information and the current target resource inventory available for scheduling, and the remaining performance resources on the source physical server and the target physical server are reasonably adjusted to obtain a scheduling result. This achieves the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability. This solves the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting the user's business operation.
[0238] It should be noted that the first acquisition module 1501, generation module 1502, determination module 1503, and scheduling module 1504 correspond to steps S21 to S24 in Example 1. The four modules and the corresponding steps implement the same examples and application scenarios, but are not limited to the contents disclosed in Example 1. It should be noted that the above modules or units can be hardware components or software components stored in a memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above modules can also be run as part of the device in the computer terminal 10 provided in Example 1.
[0239] According to an embodiment of the present application, another device embodiment for implementing the above-mentioned resource scheduling method is also provided. Figure 16 is a structural diagram of another resource scheduling device according to Example 5 of the present application, such as Figure 16 As shown, the device includes:
[0240] A second acquisition module 1601 is configured to acquire a cloud service instance scheduling request through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes tag information, where the tag information is generated based on instance performance data, where the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes a target object tag and an instance tag, where the target object tag is used to describe target object behavior attributes, and the instance tag is used to describe instance performance.
[0241] The first return module 1602 is used to return a cloud service instance scheduling response through a second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, which is obtained after resource scheduling using tag information and target resource inventory. The scheduling result is used to adjust the remaining performance resources on at least one physical server, and the target resource inventory is determined by the tag information, and the target resource inventory is the resource inventory currently available for scheduling.
[0242] Using an embodiment of the present application, a cloud service instance scheduling request is obtained through a first application programming interface, wherein the request data carried in the cloud service instance scheduling request includes: tag information, the tag information is generated based on instance performance data, the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes: target object tag and instance tag, the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the instance performance. Then, a cloud service instance scheduling response is returned through the second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, which is obtained after resource scheduling using tag information and target resource inventory. The scheduling result is used to adjust the remaining performance resource on at least one physical server, and the target resource inventory is determined by the tag information. The target resource inventory is the resource inventory currently available for scheduling, thereby achieving the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of target object business, and improving service stability, thereby solving the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0243] It should be noted that the second acquisition module 1601 and the first return module 1602 correspond to steps S121 and S124 in Example 2. The examples and application scenarios implemented by the two modules and the corresponding steps are the same, but are not limited to the contents disclosed in Example 1. It should be noted that the above modules or units can be hardware components or software components stored in a memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above modules can also be run as part of the device in the computer terminal 10 provided in Example 1.
[0244] According to an embodiment of the present application, another device embodiment for implementing the above-mentioned resource scheduling method is also provided. Figure 17 is a structural diagram of another resource scheduling device according to Example 5 of the present application, such as Figure 17 As shown, the device includes:
[0245] A third acquisition module 1701 is configured to acquire a currently input cloud service instance scheduling dialog request, wherein the information carried in the cloud service instance scheduling dialog request includes tag information, which is generated based on instance performance data. The instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server. The tag information includes a target object tag and an instance tag, where the target object tag is used to describe target object behavior attributes, and the instance tag is used to describe instance performance.
[0246] A second returning module 1702 is configured to respond to the cloud service instance scheduling dialog request and return a cloud service instance scheduling dialog reply, wherein the cloud service instance scheduling dialog reply carries information including: a scheduling result, obtained by performing resource scheduling using the tag information and the target performance resource amount, the scheduling result being used to adjust the remaining performance resource amount on at least one physical server, the target resource inventory amount being determined by the tag information, and the target resource inventory amount being the current resource inventory amount available for scheduling;
[0247] The second display module 1703 is used to display the scheduling result in the graphical target object interface.
[0248] According to an embodiment of the present application, a currently input cloud service instance scheduling dialogue request is obtained, wherein the information carried in the cloud service instance scheduling dialogue request includes: tag information, which is generated based on instance performance data, and the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, and the tag information includes: target object tag and instance tag, and the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the performance of the instance. Then, in response to the cloud service instance scheduling dialogue request, a cloud service instance scheduling dialogue reply is returned, wherein the information carried in the cloud service instance scheduling dialogue reply includes: scheduling result, which is obtained by performing resource scheduling using the tag information and the target performance resource amount, and the scheduling result is used to adjust the remaining performance resource amount on at least one physical server, and the target resource inventory amount is determined by the tag information, and the target resource inventory amount is the resource inventory amount currently available for scheduling. Finally, the scheduling results are displayed in the graphical target object interface to provide feedback to the target object, thereby achieving the purpose of predicting the target object behavior and instance performance, and reasonably scheduling instance performance resources online based on the prediction results, thereby effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability. This solves the technical problem that subsequent governance solutions such as performance suppression and online fragmentation used in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting user business operations.
[0249] It should be noted that the third acquisition module 1701, the second return module 1702, and the second display module 1703 correspond to steps S131 to S133 in Example 3. The examples and application scenarios implemented by the three modules and the corresponding steps are the same, but are not limited to the contents disclosed in Example 1. It should be noted that the above modules or units can be hardware components or software components stored in a memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above modules can also be run as part of the device in the computer terminal 10 provided in Example 1.
[0250] It should be noted that the preferred implementation scheme involved in the above embodiments of this application is the same as the scheme provided in Example 1, as well as the application scenario and implementation process, but is not limited to the scheme provided in Example 1.
[0251] Example 6
[0252] The embodiment of the present application can provide a computer terminal, which can be any computer terminal device in a computer terminal group. Optionally, in this embodiment, the computer terminal can also be replaced by a terminal device such as a mobile terminal.
[0253] Optionally, in this embodiment, the computer terminal may be located in at least one network device among a plurality of network devices of a computer network.
[0254] In this embodiment, the above-mentioned computer terminal can execute the program code of the following steps in the resource scheduling method: obtaining instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server; generating label information based on the instance performance data, wherein the label information includes: target object label and instance label, the target object label is used to describe the target object behavior attribute, and the instance label is used to describe the instance performance; determining the target resource inventory through the label information, wherein the target resource inventory is the resource inventory currently available for scheduling; using the label information and the target resource inventory to perform resource scheduling to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0255] Optionally, Figure 18 This is a structural block diagram of a computer terminal according to an embodiment of the present application. Figure 18 As shown, the computer terminal A may include: one or more (only one is shown in the figure) processors 1802, a memory 1804, a storage controller, and a peripheral interface, wherein the peripheral interface is connected to a radio frequency module, an audio module and a display.
[0256] Among them, the memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the resource scheduling method and device in the embodiments of the present application. The processor executes various functional applications and data processing by running the stored software programs and modules, that is, realizing the above-mentioned resource scheduling method. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories can be connected to the computer terminal A via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0257] The processor can call the information and application stored in the memory through the transmission device to perform the following steps: obtain instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server; generate label information based on the instance performance data, wherein the label information includes: target object label and instance label, the target object label is used to describe the target object behavior attribute, and the instance label is used to describe the instance performance; determine the target resource inventory through the label information, wherein the target resource inventory is the resource inventory currently available for scheduling; use the label information and the target resource inventory to perform resource scheduling to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0258] Optionally, the processor may also execute the program code of the following steps: obtaining instance performance data from a data storage server, wherein the data storage server is used to receive instance performance data reported by a data acquisition server and persistently store the instance performance data, and the data acquisition server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server via log data delivery.
[0259] Optionally, the processor may also execute the program code of the following steps: determining the target object behavior characteristics based on instance performance data; performing feature processing on the target object behavior characteristics using a target object label model to obtain a target object label, wherein the target object label model is used to classify the target object based on the target object behavior characteristics, and the target object labels include: ordinary target object labels and special target object labels, and the instance performance requirements of ordinary target object labels are lower than the instance performance requirements of special target object labels.
[0260] Optionally, the processor may also execute the following program code: determining instance features based on instance performance data; performing feature processing on instance features using an instance label model to obtain instance labels, wherein the instance label model is used to classify instances based on instance features, and instance labels include: existing instance labels and newly created instance labels, the existing instance labels are used to predict and adjust the performance of existing instances, and the newly created instance labels are used to provide performance references for newly created instances.
[0261] Optionally, the processor may also execute the program code of the following steps: quantifying the performance resources of at least one physical server according to a preset model template to obtain a resource quantification result, wherein the preset model template is used to configure the basic performance resources of at least one physical server.
[0262] Optionally, the above-mentioned processor can also execute the program code of the following steps: determine the target performance resource amount based on the target object tag, wherein the target performance resource amount is the performance resource amount required by the current cloud server instance; perform performance resource calculation on the resource quantification result through the target performance resource amount to obtain the target resource inventory amount.
[0263] Optionally, the processor may also execute the program code for the following steps: in response to the target object tag being an ordinary target object tag, performing performance resource calculation on the common resource items in the resource quantification results using the performance resource amount corresponding to the ordinary target object tag to obtain the target resource inventory; in response to the target object tag being a special target object tag, performing performance resource calculation on the common resource items in the resource quantification results and the competing resource items corresponding to the special target object tag in the resource quantification results using the performance resource amount corresponding to the special target object tag to obtain the target resource inventory.
[0264] Optionally, the processor may further execute program code of the following steps: displaying an inventory view based on the target resource inventory, wherein different target object tags correspond to different inventory views.
[0265] Optionally, the processor may further execute program codes of the following steps: determining a target physical server using a target object tag and a target resource inventory; and scheduling resources for the target physical server based on the instance tag to obtain a scheduling result.
[0266] Optionally, the processor may also execute the program code of the following steps: in response to an instance scheduling request, selecting a candidate physical server from at least one physical server based on a preset matching mechanism, wherein the preset matching mechanism is used to determine the matching relationship between the identifier of at least one physical server and the identifiers of different instances; and selecting a target physical server from the candidate physical servers using the target object tag and the target resource inventory.
[0267] Optionally, the processor may also execute the following program code: filter some servers from the candidate physical servers using the target object tag and the target resource inventory to obtain filtering results; weight score the filtering results to obtain scoring results; and select the target physical server based on the scoring results.
[0268] Optionally, the processor may also execute the following program code: determine an instance scheduling scenario using an instance tag, wherein the instance scheduling scenario is used to determine a resource scheduling operation category; and schedule resources on a target physical server based on the instance scheduling scenario to obtain a scheduling result.
[0269] According to an embodiment of the present application, instance performance data corresponding to an instance assigned to a target object is obtained, and then tag information including a target object tag capable of predicting the future behavior of the target object and an instance tag for predicting the future performance of the instance is generated based on the instance performance data. Then, the current target resource inventory available for scheduling is determined through the generated tag information. Finally, resource scheduling is performed using the tag information and the current target resource inventory available for scheduling, and the remaining performance resources on the source physical server and the target physical server are reasonably adjusted to obtain a scheduling result. This achieves the purpose of predicting the target object behavior and instance performance, and reasonably performing online scheduling of instance performance resources based on the prediction results, thereby achieving the technical effect of effectively preventing the occurrence of instance performance contention events, avoiding instance performance contention phenomena, avoiding resource waste, ensuring the normal operation of the target object business, and improving service stability. This solves the technical problem that subsequent governance solutions such as performance suppression and online fragmentation adopted in related technologies cannot completely avoid the occurrence of instance performance contention events, resulting in resource waste and affecting the user's business operation.
[0270] It can be understood by those skilled in the art that Figure 18 The structure shown is for illustration only, and the computer terminal A may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, a mobile Internet device (MID), a PAD, or other terminal devices. Figure 18 It does not limit the structure of the above electronic device. For example, the computer terminal A may also include Figure 18 More or fewer components (such as network interfaces, display devices, etc.) shown in, or with Figure 18 Different configurations shown.
[0271] A person skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0272] Example 7
[0273] The embodiment of the present application further provides a computer-readable storage medium. Optionally, in this embodiment, the computer-readable storage medium can be used to store the program code executed by the resource scheduling method provided in the first embodiment.
[0274] Optionally, in this embodiment, the computer-readable storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.
[0275] Optionally, in this embodiment, a computer-readable storage medium is configured to store program code for executing the following steps: obtaining instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server; generating tag information based on the instance performance data, wherein the tag information includes: a target object tag and an instance tag, wherein the target object tag is used to describe the behavior attributes of the target object, and the instance tag is used to describe the instance performance; determining a target resource inventory through the tag information, wherein the target resource inventory is the resource inventory currently available for scheduling; performing resource scheduling using the tag information and the target resource inventory to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on at least one physical server.
[0276] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: obtaining instance performance data from a data storage server, wherein the data storage server is used to receive instance performance data reported by a data acquisition server and persistently store the instance performance data, and the data acquisition server is used to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to the data storage server via log data delivery.
[0277] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining target object behavior characteristics based on instance performance data; performing feature processing on the target object behavior characteristics using a target object label model to obtain a target object label, wherein the target object label model is used to classify the target object based on the target object behavior characteristics, and the target object label includes: an ordinary target object label and a special target object label, and the instance performance requirement of the ordinary target object label is lower than the instance performance requirement of the special target object label.
[0278] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining instance characteristics based on instance performance data; performing feature processing on the instance characteristics using an instance label model to obtain instance labels, wherein the instance label model is used to classify instances based on instance characteristics, and the instance labels include: existing instance labels and newly created instance labels, the existing instance labels are used to predict and adjust the performance of existing instances, and the newly created instance labels are used to provide performance references for newly created instances.
[0279] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: quantifying the performance resources of at least one physical server according to a preset model template to obtain resource quantification results, wherein the preset model template is used to configure the basic performance resources of at least one physical server.
[0280] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: determining a target performance resource amount based on a target object tag, wherein the target performance resource amount is the performance resource amount required for the current cloud server instance; performing performance resource calculation on the resource quantification result through the target performance resource amount to obtain a target resource inventory amount.
[0281] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: in response to the target object tag being a common target object tag, performing performance resource calculation on the common resource items in the resource quantification results using the performance resource amount corresponding to the common target object tag to obtain the target resource inventory amount; in response to the target object tag being a special target object tag, performing performance resource calculation on the common resource items in the resource quantification results and the competing resource items corresponding to the special target object tag in the resource quantification results using the performance resource amount corresponding to the special target object tag to obtain the target resource inventory amount.
[0282] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: displaying an inventory view based on the target resource inventory, wherein different target object tags correspond to different inventory views.
[0283] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for executing the following steps: determining the target physical server using the target object tag and the target resource inventory; scheduling resources for the target physical server based on the instance tag to obtain a scheduling result.
[0284] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: in response to an instance scheduling request, selecting a candidate physical server from at least one physical server based on a preset matching mechanism, wherein the preset matching mechanism is used to determine a matching relationship between an identifier of at least one physical server and identifiers of different instances; and selecting a target physical server from the candidate physical servers using a target object tag and a target resource inventory.
[0285] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: using the target object tag and the target resource inventory to filter some servers from the candidate physical servers to obtain filtering results; weighting the filtering results to obtain scoring results; and selecting the target physical server based on the scoring results.
[0286] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: determining an instance scheduling scenario using an instance tag, wherein the instance scheduling scenario is used to determine a resource scheduling operation category; and performing resource scheduling on a target physical server based on the instance scheduling scenario to obtain a scheduling result.
[0287] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0288] In the above embodiments of the present application, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0289] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0290] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0291] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0292] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0293] The above is only a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A resource scheduling method, characterized in that: include: Acquire instance performance data, wherein the instance performance data is performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server; Generate label information based on the instance performance data, wherein the label information includes: a target object label and an instance label, the target object label is used to describe the target object behavior attribute, and the instance label is used to describe the instance performance; Determine a target resource inventory quantity based on the tag information, wherein the target resource inventory quantity is the resource inventory quantity currently available for scheduling; Resource scheduling is performed using the tag information and the target resource inventory to obtain a scheduling result, wherein the scheduling result is used to adjust the remaining performance resource amount on the at least one physical server.
2. The resource scheduling method according to claim 1, characterized in that: Obtaining the instance performance data includes: The instance performance data is obtained from a data storage server, wherein the data storage server is used to receive the instance performance data reported by the data acquisition server and persistently store the instance performance data, and the data acquisition server is used to collect the instance performance data from the multiple cloud server instances created on the at least one physical server and report the instance performance data to the data storage server via log data delivery.
3. The resource scheduling method according to claim 1, characterized in that: Generating the target object label based on the instance performance data includes: determining target object behavior characteristics based on the instance performance data; A target object label model is used to perform feature processing on the target object behavior characteristics to obtain the target object label, wherein the target object label model is used to classify the target object according to the target object behavior characteristics, and the target object label includes: an ordinary target object label and a special target object label, and the instance performance requirement of the ordinary target object label is lower than the instance performance requirement of the special target object label.
4. The resource scheduling method according to claim 1, characterized in that: Generating the instance label based on the instance performance data includes: determining instance characteristics based on the instance performance data; An instance label model is used to perform feature processing on the instance features to obtain the instance label, wherein the instance label model is used to classify instances based on the instance features, and the instance label includes: an existing instance label and a newly created instance label, the existing instance label is used to predict and adjust the performance of the existing instance, and the newly created instance label is used to provide a performance reference for the newly created instance.
5. The resource scheduling method according to claim 1, characterized in that: The resource scheduling method further includes: The performance resources of the at least one physical server are quantified according to a preset model template to obtain a resource quantification result, wherein the preset model template is used to configure basic performance resources of the at least one physical server.
6. The resource scheduling method according to claim 5, characterized in that: Determining the target resource inventory through the tag information includes: Determining a target performance resource amount based on the target object tag, wherein the target performance resource amount is the performance resource amount required by the current cloud server instance; The target resource inventory is obtained by performing performance resource calculation on the resource quantification result using the target performance resource quantity.
7. The resource scheduling method according to claim 6, characterized in that: Performing performance resource calculation on the resource quantification result by using the target performance resource quantity to obtain the target resource inventory quantity includes: In response to the target object tag being a common target object tag, performing performance resource calculation on the common resource item in the resource quantification result using the performance resource amount corresponding to the common target object tag to obtain the target resource inventory amount; In response to the target object tag being a special target object tag, performance resource calculation is performed on the general resource items in the resource quantification results and the competitive resource items corresponding to the special target object tag in the resource quantification results using the performance resource quantity corresponding to the special target object tag to obtain the target resource inventory.
8. The resource scheduling method according to claim 1, characterized in that: The resource scheduling method further includes: An inventory view is displayed based on the target resource inventory, wherein different target object tags correspond to different inventory views.
9. The resource scheduling method according to claim 1, wherein: The resource scheduling is performed using the tag information and the target resource inventory, and the scheduling result obtained includes: Determining a target physical server using the target object tag and the target resource inventory; Resources are scheduled on the target physical server based on the instance tag to obtain the scheduling result.
10. The resource scheduling method according to claim 9, characterized in that: Determining the target physical server by using the target object tag and the target resource inventory includes: In response to the instance scheduling request, selecting a candidate physical server from the at least one physical server based on a preset matching mechanism, wherein the preset matching mechanism is used to determine a matching relationship between an identifier of the at least one physical server and identifiers of different instances; The target physical server is selected from the candidate physical servers using the target object tag and the target resource inventory.
11. The resource scheduling method according to claim 10, characterized in that: Selecting the target physical server from the candidate physical servers using the target object tag and the target resource inventory includes: Filtering some servers from the candidate physical servers using the target object tag and the target resource inventory to obtain a filtering result; Performing weighted scoring on the filtering results to obtain a scoring result; The target physical server is selected based on the scoring result.
12. The resource scheduling method according to claim 9, characterized in that: Performing resource scheduling on the target physical server based on the instance tag, obtaining the scheduling result includes: Determining an instance scheduling scenario using the instance tag, wherein the instance scheduling scenario is used to determine a resource scheduling operation category; The target physical server is resource scheduled based on the instance scheduling scenario to obtain the scheduling result.
13. A resource scheduling method, characterized in that: include: Obtaining a cloud service instance scheduling request through a first application programming interface, wherein request data carried in the cloud service instance scheduling request includes: tag information, the tag information being generated based on instance performance data, the instance performance data being performance indicator data obtained by collecting performance data of multiple cloud server instances created on at least one physical server, the tag information including: a target object tag and an instance tag, the target object tag being used to describe a target object behavior attribute, and the instance tag being used to describe instance performance; A cloud service instance scheduling response is returned through a second application programming interface, wherein the response data carried in the cloud service instance scheduling response includes: a scheduling result, the scheduling result is obtained after resource scheduling using the tag information and the target resource inventory, the scheduling result is used to adjust the remaining performance resources on the at least one physical server, the target resource inventory is determined by the tag information, and the target resource inventory is the resource inventory currently available for scheduling.
14. A resource scheduling method, characterized in that: include: Obtaining a currently input cloud service instance scheduling dialogue request, wherein the information carried in the cloud service instance scheduling dialogue request includes: tag information, the tag information being generated based on instance performance data, the instance performance data being performance indicator data obtained by collecting performance data from multiple cloud server instances created on at least one physical server, the tag information including: a target object tag and an instance tag, the target object tag being used to describe target object behavior attributes, and the instance tag being used to describe instance performance; In response to the cloud service instance scheduling dialogue request, returning a cloud service instance scheduling dialogue reply, wherein the information carried in the cloud service instance scheduling dialogue reply includes: a scheduling result, the scheduling result being obtained by performing resource scheduling using the tag information and the target performance resource amount, the scheduling result being used to adjust the remaining performance resource amount on the at least one physical server, the target resource inventory amount being determined by the tag information, the target resource inventory amount being the resource inventory amount currently available for scheduling; The scheduling result is displayed in a graphical target object interface.
15. A resource scheduling system, characterized in that: include: A data collection server is configured to collect instance performance data from multiple cloud server instances created on at least one physical server and report the instance performance data to a data storage server by means of log data delivery; The data storage server is configured to receive the instance performance data reported by the data collection server and persistently store the instance performance data; a performance profiling server, configured to obtain the instance performance data and generate tag information based on the instance performance data, wherein the tag information includes: a target object tag and an instance tag, wherein the target object tag is used to describe the target object behavior attribute, and the instance tag is used to describe the instance performance; A resource scheduling server is used to determine the target performance resource amount through the label information, and to perform resource scheduling using the label information and the target resource inventory to obtain a scheduling result, wherein the target resource inventory is the resource inventory currently available for scheduling, and the scheduling result is used to adjust the remaining performance resource amount on the at least one physical server.
16. The resource scheduling system according to claim 15, characterized in that: The resource scheduling server is further configured to determine a target physical server using the target object tag and the target resource inventory, and perform resource scheduling on the target physical server based on the instance tag to obtain the scheduling result.
17. An electronic device, characterized in that: include: a memory storing an executable program; A processor is used to run the program, wherein the program executes the resource scheduling method according to any one of claims 1 to 14 when running.
18. A computer-readable storage medium, characterized in that The computer-readable storage medium includes a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute the resource scheduling method according to any one of claims 1 to 14.