Business optimization method and device, storage medium and computer program product
By obtaining the performance data of the physical machine and using the identification model to determine the business type in the virtual environment, the problem of how to improve the business performance of the virtual environment in virtualization technology is solved, and the effect of optimization and privacy protection is achieved.
Patent Information
- Application Number
- CN202311078621.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2043-08-24
AI Technical Summary
In the field of virtualization technology, how to improve the business performance of the virtual environment while meeting the performance requirements of each virtual environment, especially protecting user privacy without intruding into the virtual environment.
By obtaining the physical machine's processor performance monitoring data, operating system data, and virtual environment performance monitoring data, use the identification model to determine the business type and optimize it based on that type, including hardware and software optimization.
It improves the accuracy of business identification, achieves more reasonable and effective optimization of the operation of services in the virtual environment, improves business performance, and protects user privacy.
Smart Images

Figure CN119512680A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of virtualization technology, and in particular to a service optimization method, device, storage medium and computer program product. Background Art
[0002] In recent years, with the continuous development of computer hardware resources such as multi-core processors, networks, memory, and storage, the upper limit of the virtual environment that can be run on a physical machine is also increasing, and users can run services in virtual environments. How to improve the performance of services running in virtual environments while meeting the performance requirements of each virtual environment is an issue that needs to be focused on in the field of virtualization technology. Summary of the invention
[0003] The present application provides a service optimization method, device, storage medium and computer program product, which can improve the accuracy of service identification, thereby optimizing the corresponding services more reasonably and effectively and improving service performance. The technical solution is as follows:
[0004] In a first aspect, a service optimization method is provided, the method comprising:
[0005] Acquire first performance data of a physical machine, where the physical machine runs at least one virtual environment, the first performance data including at least one dimension of performance data of the first virtual environment, where the first virtual environment is any one of the at least one virtual environment; determine a first business type through an identification model based on the first performance data and the specifications of the first virtual environment, where the first business type is the type of business running in the first virtual environment, where the identification model characterizes a correspondence between the performance of the physical machine and multiple business types under the specifications of multiple virtual environments, where the multiple business types include the first business type, and the specifications of the multiple virtual environments include the specifications of the first virtual environment; optimize the business running in the first virtual environment based on the first business type.
[0006] This solution improves the accuracy of business identification through the identification model, and can thus optimize the corresponding business more reasonably and effectively, thereby improving business performance.
[0007] In order to achieve contactless load perception and protect the user privacy of the virtual environment, the server does not invade the virtual environment to obtain the performance data of the virtual environment, but obtains one or more of the processor performance monitoring data, operating system data and virtual environment performance monitoring data of the physical machine. That is, the first performance data includes one or more of the processor performance monitoring data, operating system data and virtual environment performance monitoring data.
[0008] Optionally, obtaining the first performance data of the physical machine includes: collecting multi-dimensional performance data of the physical machine; and performing dimensionality reduction processing on the multi-dimensional performance data to obtain the first performance data. That is, by reducing the invalid data and redundant data in the performance data through dimensionality reduction processing, the amount of data is reduced, and the accuracy of subsequent recognition of the business type is improved.
[0009] Optionally, the at least one virtual environment includes one or more of a virtual machine, a container, and a function. That is, the application scenarios of the present application are wide.
[0010] Optionally, the identification model includes a plurality of sub-models corresponding to the specifications of the plurality of virtual environments, each of the plurality of sub-models being used to identify the type of business running in the virtual environment of the corresponding specification. In this way, it is convenient to select the corresponding sub-model for business type identification based on the specifications of the virtual environment.
[0011] Optionally, the method further comprises: determining an identification model based on the specification of the first virtual environment and the model library. That is, the solution is configured with a model library to facilitate business type identification.
[0012] The step of determining the recognition model based on the specification of the first virtual environment and the model library includes: if the model library includes a first sub-model corresponding to the specification of the first virtual environment, determining the model library as the recognition model.
[0013] Optionally, determining the recognition model based on the specification of the first virtual environment and the model library includes: if the model library does not include a first sub-model corresponding to the specification of the first virtual environment, generating the first sub-model based on the specification of the first virtual environment and the model library; and adding the first sub-model to the model library to obtain the recognition model. That is, this solution supports using the model library to generate a sub-model corresponding to the newly added specification.
[0014] Optionally, based on the specifications of the first virtual environment and the model library, a first sub-model is generated, including: based on the specifications of the first virtual machine environment, interpolating the first sample data in the model library to obtain second sample data, the first sample data is used to train the sub-model already in the model library; using the second sample data to train the initial model to obtain the first sub-model. It should be understood that this solution generates the second sample data based on the first sample data. After the model library is deployed to the physical machine where the user's virtual environment is located, there is no need to invade the user's virtual environment to resample and obtain the second sample data, thereby avoiding infringement of user privacy. Moreover, the representativeness of the generated second sample data can be improved by interpolation.
[0015] Optionally, based on the first performance data and the specifications of the first virtual environment, the first business type is determined through an identification model, including: inputting the first performance data into a first sub-model corresponding to the specifications of the first virtual environment among multiple sub-models included in the identification model, obtaining multiple probabilities output by the first sub-model, the multiple probabilities corresponding one-to-one to multiple business types; based on the multiple probabilities, determining the first business type from the multiple business types.
[0016] Optionally, based on the multiple probabilities, a first business type is determined from the multiple business types, including: if the difference between the maximum value and the second largest value in the multiple probabilities is less than the probability difference threshold, then based on the probability difference threshold, a candidate probability set is determined from the multiple probabilities, the candidate probability set includes the first N probabilities in the multiple probabilities sorted from large to small according to the numerical value, the difference between each adjacent two probabilities in the N probabilities is less than the probability anomaly threshold, and N is an integer greater than 1; based on the key performance data in the first performance parameter, the first business type is determined from the N business types corresponding to the N probabilities. That is, when the difference between each adjacent two probabilities in the first N probabilities is small, the server also needs to combine the key performance data to make a final judgment, so as to provide recognition accuracy.
[0017] Optionally, the above optimization includes software optimization and / or hardware optimization.
[0018] Wherein, in the case where the optimization includes hardware optimization, the business running in the first virtual environment is optimized based on the first business type, including: based on the specifications of the first virtual environment, the first business type and the first mapping relationship, an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment is generated, the first mapping relationship represents the performance parameters of the physical machine in each combination of multiple combinations, the multiple combinations refer to multiple combinations between multiple business types and multiple resource mapping relationships, the resource mapping relationship refers to the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment that can be run on the physical machine. The first mapping relationship can be regarded as a mapping relationship from the same parameter space of business + resources to the performance parameter space. This scheme generates a hardware optimization strategy for the corresponding business by establishing a mapping relationship from the same parameter space of business + resources to the performance parameter space, thereby realizing hardware optimization of the corresponding business and improving business performance.
[0019] In the case where the optimization of the service includes software optimization, the server performs software optimization on the service running in the first virtual environment based on the first service type, including: determining a first service accelerator corresponding to the first service type from service accelerators corresponding to multiple service types, and generating a startup strategy for the first service accelerator. That is, this solution can perform software acceleration on the corresponding service, thereby improving service performance.
[0020] In a second aspect, a service optimization device is provided, which has the function of implementing the service optimization method in the first aspect. The service optimization device includes one or more modules, which are used to implement the service optimization method provided in the first aspect.
[0021] In a third aspect, a server is provided, the server comprising a processor and a memory, the memory being used to store a program for executing the service optimization method provided in the first aspect, and storing data involved in implementing the service optimization method provided in the first aspect. The processor is configured to execute the program stored in the memory. The server may also include a communication bus, the communication bus being used to establish a connection between the processor and the memory.
[0022] In a fourth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, the computer executes the service optimization method described in the first aspect.
[0023] In a fifth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the service optimization method described in the first aspect.
[0024] The technical effects obtained by the above-mentioned second, third, fourth and fifth aspects are similar to the technical effects obtained by the corresponding technical means in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 is a structural schematic diagram of a computer device provided in an embodiment of the present application;
[0026] Figure 2 is a flow chart of a service optimization method provided by an embodiment of the present application;
[0027] Figure 3 is a flow chart of a data preprocessing method provided in an embodiment of the present application;
[0028] Figure 4 is a flow chart of a sub-model generation method provided in an embodiment of the present application;
[0029] Figure 5 is a flow chart of a method for identifying a service type provided in an embodiment of the present application;
[0030] Figure 6 is a schematic diagram of a service optimization process provided by an embodiment of the present application;
[0031] Figure 7 It is a structural diagram of a service optimization device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0032] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0033] First, the relevant background and application scenarios of the embodiments of the present application are introduced.
[0034] In recent years, with the continuous development of computer hardware resources such as multi-core processors, networks, memory, and storage, the upper limit of the virtual environment that a physical machine can run is also increasing, and resource virtualization has become an efficient way to utilize resources. The management needs of resource virtualization have gradually become prominent, that is, to implement unified management and on-demand allocation of limited computer hardware resources to improve the flexibility and timeliness of resource allocation, improve resource utilization, and thus improve the performance of services running on virtual environments.
[0035] Taking virtual machines as an example, the relevant technology takes into account that the loads carried by multiple virtual machines running on a physical machine have diverse characteristics. For example, one of the virtual machines carries a central processing unit (CPU) intensive load, and the other virtual machine carries a storage intensive load. Different types of loads usually require different computer hardware resources. Therefore, the relevant technology adopts an intrusive load perception method to identify the type of load carried by the virtual machine, that is, by intruding into the virtual machine to obtain the performance parameters of the virtual machine, such as the CPU, disk, network input and output (in / out, IO) and other parameters of the virtual machine, and determine the type of load carried by the virtual machine based on the performance parameters of the virtual machine, and then allocate the hardware resources of the physical machine based on the determined load type.
[0036] However, the above method requires intrusion into the virtual machine to obtain the performance parameters of the virtual machine, which will threaten the privacy and security of users using the virtual machine. How to improve the overall reliability, security and efficiency of the virtual machine system while meeting the performance requirements of each virtual machine is currently a key issue that needs to be focused on when allocating resources of physical machines to virtualization.
[0037] In order to solve the above problems, the embodiments of the present application provide a service optimization method. The method can be applied to various virtualization scenarios, such as virtualization scenarios in cloud computing, software testing, security and other fields, so as to improve the service performance in the corresponding virtualization scenarios.
[0038] In the field of cloud computing, cloud hosts, cloud storage, and cloud platforms may all use virtualization technology. For example, a cloud host may run multiple virtual machines. Applying this solution to the corresponding servers of cloud hosts, cloud storage, and cloud platforms can achieve reasonable scheduling of resources required by virtual machines, thereby optimizing the services running on virtual machines.
[0039] In the field of software testing, in order to ensure the safe and stable operation of computers, software testing is generally run in virtual machines, and a real physical computer can provide multiple virtual machines for independent running tests of different software. In large-scale cluster and large-scale software testing processes, the elastic virtualization architecture of the present invention can be used to perceive the test software types and required hardware resources of different virtual machines, and use this as a basis for resource scheduling, thereby achieving efficient and safe management of software testing.
[0040] In the security field, network security work requires timely screening and isolation of malicious software. In order to safely detect whether various software are malicious software, multiple virtual machines can be opened for testing. The elastic virtualization architecture of the present invention can sense the software type contactlessly and pre-classify some malicious software that is highly dependent on hardware resources, thereby improving the screening efficiency of network security work.
[0041] The business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0042] Next, some terms involved in the embodiments of the present application are explained.
[0043] Non-contact load sensing: The load type can be identified by collecting parameters indirectly related to the load without contacting the load.
[0044] Elastic virtualization architecture: Various hardware resources of the computer, such as servers, networks, memory and storage, are abstracted and virtualized to break the inseparable barriers between physical structures and realize the architecture of elastic resource management.
[0045] Virtualization technology: a technology that abstracts and converts physical computer resources into virtual computer resources for use by programs.
[0046] Virtual environment: A virtual environment generated using virtualization technology, such as a virtual machine, container (docker or container), or function.
[0047] Among them, the virtual machine is a real-time dynamic program behavior modification and simulation algorithm that directly uses the local operating system (OS) to simulate a virtualized machine with an OS compatible with the local machine. In other words, the virtual machine is generated based on software virtualization technology, which can run multiple independent operating systems and applications on a single physical machine, which are isolated from each other and do not affect each other.
[0048] Containers can be implemented using the sandbox mechanism. The difference between containers and virtual machines is that containers do not need to run a complete operating system, but only need to provide a lightweight runtime environment, and there will be no interfaces between containers.
[0049] Functions can also be called function computing, and functions can also be implemented using virtualization technology. Functions are a serverless computing service that automatically manages the underlying infrastructure, including computing, storage, and network resources. Users only need to write and deploy code.
[0050] Next, the computer device provided in the embodiment of the present application is introduced. The computer device may be a server, or a management device / control device of a server. The computer device may also be a terminal device. The computer device is used to execute the service optimization method provided in the embodiment of the present application.
[0051] Please refer to Figure 1 , Figure 1 1 is a schematic diagram of a computer device according to an embodiment of the present application. The computer device includes one or more processors 101, a communication bus 102, a memory 103, and one or more communication interfaces 104.
[0052] The processor 101 is a general-purpose central processing unit (CPU), a network processing (NP), a microprocessor, or one or more integrated circuits for implementing the solution of the present application, such as an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. Optionally, the PLD is a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0053] The communication bus 102 is used to transmit information between the above components. Optionally, the communication bus 102 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0054] Optionally, the memory 103 is a read-only memory (ROM), a random access memory (RAM), an electrically erasable programmable read-only memory (EEPROM), an optical disc (including a compact disc read-only memory (CD-ROM), a compressed optical disc, a laser disc, a digital versatile disc, a Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 103 exists independently and is connected to the processor 101 via the communication bus 102, or the memory 103 is integrated with the processor 101.
[0055] The communication interface 104 uses any transceiver-like device for communicating with other devices or communication networks. The communication interface 104 includes a wired communication interface, and optionally, also includes a wireless communication interface. Among them, the wired communication interface is, for example, an Ethernet interface. Optionally, the Ethernet interface is an optical interface, an electrical interface, or a combination thereof. The wireless communication interface is a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof.
[0056] Optionally, in some embodiments, the computer device includes multiple processors, such as Figure 1 The processor 101 and the processor 105 shown in FIG. Each of these processors is a single-core processor or a multi-core processor. Optionally, the processor here refers to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0057] In a specific implementation, as an embodiment, the computer device also includes an output device 106 and an input device 107. The output device 106 communicates with the processor 101 and can display information in a variety of ways. For example, the output device 106 is a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device or a projector. The input device 107 communicates with the processor 101 and can receive user input in a variety of ways. For example, the input device 107 is a mouse, a keyboard, a touch screen device or a sensor device.
[0058] In some embodiments, the memory 103 is used to store the program code 110 for executing the solution of the present application, and the processor 101 can execute the program code 110 stored in the memory 103. The program code includes one or more software modules, and the computer device can implement the following through the processor 101 and the program code 110 in the memory 103. Figure 2 The service optimization method provided by the embodiment.
[0059] Next, the service optimization method provided by the embodiment of the present application is introduced, which can be executed by the physical machine itself or by the management device or control device of the physical machine. The physical machine can be a server or a terminal device, such as a personal computer.
[0060] Figure 2 This is a flowchart of a service optimization method provided in an embodiment of the present application. Taking the method applied to a server as an example, please refer to Figure 2 , the method comprises the following steps.
[0061] Step 201: Acquire first performance data of a physical machine, where the first performance data includes at least one dimension of performance data of a first virtual environment.
[0062] The physical machine is a server, and the physical machine runs at least one virtual environment, and the first virtual environment is any one of the at least one virtual environment. The physical machine can also be called an entity machine, a real machine, a host, etc.
[0063] In order to achieve contactless load perception and protect the user privacy of the virtual environment, the server does not invade the virtual environment to obtain the performance data of the virtual environment, but obtains one or more of the processor performance monitoring data, operating system data and virtual environment performance monitoring data of the physical machine, that is, the first performance data includes one or more of the processor performance monitoring data, operating system data and virtual environment performance monitoring data. Of course, in some cases, such as when the user of the virtual environment allows, the server can also invade the virtual environment to directly obtain the performance data of the virtual environment.
[0064] The processor performance monitoring data includes performance monitoring data acquired by a CPU performance monitoring unit (PMU), and the virtual environment performance monitoring data includes performance monitoring data acquired by a virtual environment monitor. The virtual environment monitor may include a Hypervisor. A Hypervisor is a virtual machine monitor. The processor performance monitoring data may be regarded as an architectural feature of a physical machine, and the virtual environment performance monitoring data may be regarded as a virtualization feature of a virtual environment.
[0065] Since there are many types of performance data of physical machines, and some invalid data or redundant data may be collected during the process of collecting the performance data of the physical machines, it is necessary to preprocess the collected performance data of the physical machines to obtain the first performance data of the physical machines.
[0066] In one implementation, a server collects multi-dimensional performance data of a physical machine, performs dimensionality reduction processing on the multi-dimensional performance data, and obtains first performance data, wherein the first performance data includes at least one-dimensional performance data of a first virtual environment, wherein the multi-dimensional performance data includes processor performance monitoring data of the physical machine, operating system data, and performance monitoring data of the first virtual environment.
[0067] That is, data preprocessing includes dimensionality reduction. Dimensionality reduction includes principal component analysis (PCA) or other methods. Figure 3 , data preprocessing also includes one or more operations of data set merging, missing value processing, and standardization processing. The embodiment of the present application does not limit the execution order of operations such as data set merging, missing value processing, standardization processing, and PCA dimensionality reduction. For example, standardization processing can be performed first, and then missing value processing. For example, missing value processing can be performed first, and then data set merging can be performed.
[0068] Among them, data set merging refers to merging multiple data files into one data set, and the merged data set can be a data file in a tabular form, and each column in the data file represents one-dimensional data. The multiple data files may include data files acquired by the PMU, OS data files, and data files acquired by the virtual environment monitor. In an embodiment of the present application, the multiple data files include the above-mentioned multi-dimensional performance data.
[0069] Missing value processing includes counting the missing rate of each dimension of data, such as the missing rate of each column of data, deleting the corresponding dimension data whose missing rate exceeds the threshold, and filling the corresponding dimension data with missing data but whose missing rate does not exceed the threshold. Among them, the threshold can be a value such as 60% or 70%. There are many ways to fill data, such as filling with default values, filling with average values, and interpolation. The thresholds of missing rates corresponding to data of different dimensions can be different or the same, and the filling methods of data of different dimensions can be different or the same.
[0070] Standardization processing may include one or more of normalization processing, quantization processing, etc. Standardization processing of data can eliminate the impact of dimensions between different dimensional data, ensure the balance of data, and thus improve the judgment of business types.
[0071] It should be understood that the above-mentioned preprocessing methods can be applied separately or in combination according to actual needs, for example, data set merging, missing value processing, and standardization processing are performed, but PCA is not performed.
[0072] The virtual environment in the embodiments of the present application may be various types of virtualized environments, for example, a virtual environment may be a virtual machine, a container, or a function. A server may run one or more types of virtual environments. For example, a server may only run multiple virtual machines, or a server may run both virtual machines and containers. Among them, a virtual machine may be referred to as a virtual machine.
[0073] It should be understood that the acquisition of performance data of the first virtual environment is used as an example in step 201. Usually, multiple virtual environments are running on a physical machine, and the server can obtain at least one dimension of performance data of each of the multiple virtual environments according to the method described above.
[0074] Step 202: Based on the first performance data and the specification of the first virtual environment, determine a first service type through an identification model, where the first service type is the type of service running in the first virtual environment.
[0075] After obtaining the first performance data, the server determines the type of business running in the first virtual environment through an identification model based on the first performance data and the specifications of the first virtual environment, that is, determines the first business type. The identification model characterizes the corresponding relationship between the performance of the physical machine under the specifications of multiple virtual environments and multiple business types, the specifications of the multiple virtual environments include the specifications of the first virtual environment, and the multiple business types include the first business type. Specifically, the identification model characterizes the corresponding relationship between the performance of the physical machine under the specifications of each virtual environment in the specifications of the multiple virtual environments and each business type in the multiple business types.
[0076] There are many ways for the server to obtain the specifications of the first virtual environment. For example, the server can obtain the specifications of the first virtual environment from a generated file of the virtual environment, or the server can obtain the specifications of the first virtual environment from performance monitoring data obtained by a virtual environment monitor.
[0077] Taking the virtual environment as a virtual machine as an example, the specification of the first virtual environment can also be called the first virtual machine specification, and the first virtual machine specification can be four-core 8G, six-core 12G, or eight-core 16G. For containers, in one implementation, the container specification can be reflected by the use of the CPU and memory resources of the physical machine. For example, the container specification may include the CPU application amount and CPU limit of the physical machine, where the CPU application amount is the minimum CPU requirement used by the container, which is used as the judgment dependency of resource allocation during container scheduling, and the CPU limit is the maximum CPU value that the container can use. For functions, in one implementation, the function specification can be reflected by account resource restrictions, such as the maximum number of functions allowed to be created by a single account, the maximum number of versions allowed to be created under a single function, and so on.
[0078] The above recognition model is a machine learning model or a deep learning model. The present application embodiment does not limit the training method, model structure, etc. of the recognition model.
[0079] In one implementation, the identification model includes a plurality of sub-models corresponding to the specifications of the plurality of virtual environments, and each of the plurality of sub-models is used to identify the type of business running in the virtual environment of the corresponding specification. For example, the identification model includes a first sub-model corresponding to the specifications of the first virtual environment, and the first sub-model can be used to identify the type of business running in the first virtual environment, that is, the first sub-model represents the correspondence between the performance of the physical machine under the specifications of the first virtual environment and the plurality of business types.
[0080] In order to improve the efficiency of business type identification, a model library is pre-installed in the physical machine, and the model library includes at least one sub-model corresponding to the specification of at least one virtual environment. Before determining the first business type through the identification model, the identification model is first determined based on the specification of the first virtual environment and the model library.
[0081] Among them, if the model library includes a first sub-model corresponding to the specifications of the first virtual environment, the server determines the model library as the recognition model, that is, the server does not need to retrain to generate the first sub-model. In other words, the recognition efficiency of business types can be improved by presetting the model library.
[0082] If the model library does not include the first sub-model corresponding to the specifications of the first virtual environment, the server generates the first sub-model based on the specifications of the first virtual environment and the model library, and adds the first sub-model to the model library to obtain the recognition model. That is, this solution also supports generating sub-models corresponding to virtual environments of new specifications based on a preset model library, and continuously updating the model library for subsequent use and deployment.
[0083] One implementation method for the server to generate the first sub-model based on the specifications and model library of the first virtual environment is: based on the specifications of the first virtual machine environment, interpolate the first sample data in the model library to obtain the second sample data, and use the first sample data to train the sub-model already in the model library; use the second sample data to train the initial model to obtain the first sub-model.
[0084] That is, see Figure 4 The model library provides sample data of a virtual environment of existing specifications (i.e., first sample data), and can generate sample data of a virtual environment of new specifications (i.e., second sample data) through interpolation processing, and then use the sample data of the virtual environment of new specifications to train a sub-model (i.e., first sub-model) corresponding to the virtual environment of new specifications.
[0085] The first sample data may include performance data of the virtual environment obtained by the physical machine intruding into the virtual environment, and / or performance data of the virtual environment obtained by the physical machine through contactless load sensing. The first sample data does not include performance data of a virtual environment with the same specifications as the first virtual environment, that is, when retraining is required to generate the first sub-model, the existing specifications in the model library do not include the specifications of the first virtual environment.
[0086] The above-mentioned initial model can be an untrained model, and the untrained model is trained using the second sample data, that is, the parameters of the initial model are optimized through training to obtain the first sub-model. Each sub-model in the model library can be obtained by training the initial model. Alternatively, the above-mentioned initial model is a pre-trained model. The embodiment of the present application does not limit the sample data and pre-training method used for pre-training. The pre-trained model already has certain capabilities, but the recognition accuracy of the business type is still relatively low, or it cannot be directly used to identify the business type. The pre-trained model is re-trained using the second sample data to further optimize the parameters of the model. The first sub-model obtained in this way can be used to identify the business type with a high recognition accuracy.
[0087] The above interpolation processing may be Kriging interpolation or other interpolation methods.
[0088] It should be understood that this solution generates the second sample data based on the first sample data. After the model library is deployed to the physical machine where the user's virtual environment is located, there is no need to invade the user's virtual environment to resample the second sample data, thereby avoiding infringement of user privacy. Moreover, the representativeness of the generated second sample data can be improved by interpolation. The method of generating the second sample data based on the first sample data and training the first sub-model can be understood as a method of generating new specification samples and models when there are existing specification samples and models. In the test experiment, the recognition accuracy, recall rate and f1 score (f1-score) of the sub-model generated by this method are all better than 96%.
[0089] After determining the identification model, the server determines the first business type through the identification model based on the first performance data and the specifications of the first virtual environment. One implementation method is: input the first performance data into a first sub-model corresponding to the specifications of the first virtual environment, and obtain multiple probabilities output by the first sub-model, and the multiple probabilities correspond one-to-one to the above-mentioned multiple business types; based on the multiple probabilities, determine the first business type from the multiple business types.
[0090] Alternatively, the server performs feature extraction on the first performance data to obtain first feature data, inputs the first feature data into a first sub-model corresponding to the specifications of the first virtual environment, and obtains multiple probabilities output by the first sub-model. There are many ways to extract features, which are not limited in the embodiments of the present application. The feature data obtained by feature extraction can also be called dimensionality reduction feature data.
[0091] Optionally, the server determines a maximum value among the multiple probabilities, and determines the service type corresponding to the maximum value as the first service type.
[0092] Alternatively, since there may be a relatively small gap between the multiple probabilities, in this case, determining the first business type based only on the maximum value of the multiple probabilities may not be accurate. Therefore, in order to improve the accuracy of identifying business types, if the gap between the maximum value and the second largest value in the multiple probabilities is less than the probability difference threshold, the server determines a candidate probability set from the multiple probabilities based on the probability difference threshold, and the candidate probability set includes the first N probabilities in the multiple probabilities sorted from large to small according to the numerical value, and the gap between each adjacent two probabilities in the N probabilities is less than the probability anomaly threshold, and N is an integer greater than 1. The server determines the first business type from the N business types corresponding to the N probabilities based on the key performance data in the first performance parameter. That is, when the gap between each adjacent two probabilities in the first N probabilities is small, the server also needs to combine the key performance data to make a final judgment.
[0093] For example, the multiple probabilities are sorted from large to small and are 0.81, 0.79, 0.78, 0.45, 0.44, and 0.02, and the probability difference threshold is 0.05. Then the candidate probability set determined by the above method is {0.81, 0.79, 0.78}, that is, the candidate probability set includes the first three probabilities, and the server determines a business type from the three business types corresponding to the three probabilities based on the key performance data in the first performance data as the first business type.
[0094] If the difference between the maximum value and the second largest value among the multiple probabilities is smaller than the probability difference threshold, the server determines the service type corresponding to the maximum value as the first service type.
[0095] For example, the multiple probabilities are sorted from large to small and are 0.81, 0.45, 0.43, 0.42, 0.32, and 0.02, and the probability difference threshold is 0.05. Since the difference between 0.81 and 0.45 is greater than 0.05, in this case, it means that the recognition model can accurately identify the business type, so the server can also directly determine the business type corresponding to 0.81 as the first business type.
[0096] One implementation method for the server to determine the first business type from the N business types corresponding to the N probabilities based on the key performance data in the first performance parameter is: the server determines the first business type from the N business types based on the key performance data in the first performance parameter by using the judgment logic in the expert knowledge base.
[0097] The judgment logic in the expert knowledge base is determined based on the empirical value or expected value of the key performance parameter. In other words, the server determines the first service type from the N service types based on the key performance data in the first performance data and the expected values of the key performance parameters when the services of the N service types are respectively run.
[0098] Please combine Figure 5 The service identification process in the embodiment of the present application is briefly explained. Figure 5 After model prediction is performed through the identification model, the judgment logic in the expert knowledge base (including criterion 1, criterion 2, etc.) is combined to finally determine the business type as business A, business B, or business C, etc.
[0099] In the embodiment of the present application, in order to improve the optimization performance of the business, the granularity of the identified business type is finer than that in the related art. Specifically, in the related art, the load type can be identified by the Markov model, and the load type may include CPU intensive, graphics processing unit (GPU) intensive, memory intensive, I / O intensive, etc. In this solution, the identified business type is related to the specific business, and may include Spark, Hbase, Hive types in big data scenarios, MySQL types in database scenarios, Nginx types in network scenarios, etc.
[0100] Step 203: Based on the first service type, optimize the service running in the first virtual environment.
[0101] After identifying the service type running in the first virtual environment, the server optimizes the service running in the first virtual environment based on the first service type.
[0102] The optimization of services includes software optimization and / or hardware optimization.
[0103] In the case where the optimization of the service includes hardware optimization, an implementation method for the server to perform hardware optimization on the service running in the first virtual environment based on the first service type includes: generating an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment based on the specifications of the first virtual environment, the first service type, and the first mapping relationship. Among them, the first mapping relationship represents the performance parameters of the physical machine in each of the multiple combinations, the multiple combinations refer to the multiple combinations between the multiple service types and the multiple resource mapping relationships, and the resource mapping relationship refers to the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment that can be run on the physical machine. The first mapping relationship can be called a mapping relationship from the same parameter space of service + resource to the performance parameter space.
[0104] The server adjusts the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment according to the above adjustment strategy, thereby realizing hardware optimization of the business running in the first virtual environment. The server can dynamically adjust the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment by hot switching of hardware resources.
[0105] In the embodiment of the present application, the hardware resources of the physical machine include one or more of the processor (i.e., pCPU), memory (i.e., pMemory), and storage (pStorage). Correspondingly, the virtual resources of the virtual environment include one or more of the processor (i.e., vCPU), memory (i.e., vMemory), and storage (vStorage). Wherein, 'p' stands for physical, and 'v' stands for virtual.
[0106] In the case where the optimization of the service includes software optimization, an implementation method for the server to perform software optimization on the service running in the first virtual environment based on the first service type includes: determining a first service accelerator corresponding to the first service type from service accelerators corresponding to multiple service types, and generating a startup policy for the first service accelerator.
[0107] The server directly starts the first service accelerator in the first virtual environment. Alternatively, the server sends service acceleration prompt information to the user end of the first virtual environment to indicate to the user of the first virtual environment that the first service accelerator can be started. The user end can choose to start the first service accelerator based on the service acceleration prompt information, or can choose not to start the first service accelerator.
[0108] In an embodiment of the present application, the service accelerator may include a service acceleration package or other types of accelerators. The service acceleration package includes various types of software acceleration logic codes. For example, the service acceleration package includes at least one acceleration operator.
[0109] As can be seen from the above, the server can generate an optimization strategy for the business running in the first virtual environment based on the first business type, and the optimization strategy includes a hardware optimization strategy and / or a software optimization strategy. Among them, the hardware optimization strategy includes an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment, and the software optimization strategy includes a startup strategy for the first business accelerator. The server optimizes the business running in the first virtual environment based on the optimization strategy.
[0110] Please combine Figure 6 The service optimization process in the embodiment of the present application is explained exemplarily. Figure 6,After the server identifies the type of business running in a virtual environment and generates the ,corresponding optimization strategy, it starts the optimization strategy, including starting the ,business accelerator corresponding to the business type, and dynamically ,adjusts the mapping relationship between the hardware resources of the physical ,machine and the virtual resources of the virtual environment by hot switching of ,hardware resources.
[0111] As can be seen from the above, this solution provides a contactless load-aware elastic virtualization architecture in its specific implementation. The architecture mainly includes the following seven modules:
[0112] Data collection module: used to collect host data (i.e., performance data of the physical machine) in a contactless virtual environment (such as a virtual machine) on the host side (i.e., on the physical machine), including collecting architecture characteristics, OS characteristics, and virtualization characteristics, specifically including but not limited to CPU performance monitoring data, System data, and Hypervisor data.
[0113] Data preprocessing module: used to preprocess the data collected by the data acquisition module, including but not limited to data set merging, missing value processing, standardization processing, and dimensionality reduction processing of the full feature samples (i.e., multidimensional performance data) based on the principal component analysis method.
[0114] Data feature extraction module: used to extract features from preprocessed performance data to obtain dimensionality reduction feature samples.
[0115] Specification model generation module: used to generate new specification feature samples (i.e., second sample data) through Kriging interpolation based on existing specification feature samples (i.e., first sample data) in the model library, generate a sub-model of the new specification (i.e., first sub-model) and save it in the model library.
[0116] Business type identification module: used to select a sub-model of corresponding specifications in the model library based on the specifications of the virtual environment, and then identify the type of business running in the virtual environment.
[0117] Optimization strategy generation module: used to establish a mapping relationship from the unified parameter space of business + resources to the performance parameter space, and generate the hardware optimization strategy of the corresponding business based on the mapping relationship, including the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment, and based on the identified business type, generate the software optimization strategy of the corresponding business, including the startup strategy of the corresponding business accelerator.
[0118] Resource scheduling and optimization module: used to start the corresponding business accelerator and dynamically optimize the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment.
[0119] The embodiments of the present application have also verified the performance of the present solution in multiple virtualization scenarios. Specifically, the performance of the present solution in business optimization in virtualization scenarios such as big data, databases, and networks is improved by an average of 20%.
[0120] As can be seen from the above, this solution can identify the business type and schedule hardware resources for the virtual environment on the physical host side, thereby achieving business optimization. In practical applications, the elastic architecture of this solution applied to the virtual environment can be extended to the real machine (i.e., physical machine), and the same elastic architecture between real machines can be built. The architecture can be built and run on the host (i.e., real machine), and the host and its multiple slaves (physical machines) can be networked to achieve perception of the business type within the slave. The difference is that it changes from scheduling hardware resources to scheduling workloads: the host can allocate services to each slave according to the performance of each slave based on the identification result of the business type, so as to achieve elastic distribution of business loads in the physical machine cluster.
[0121] In summary, in the embodiment of the present application, the performance data of the physical machine is obtained, including at least one dimension of performance data of any virtual environment running on the physical machine. Based on the obtained performance data and the type of the virtual environment, the type of business running in the virtual environment can be identified through the recognition model, and then the corresponding business is optimized based on the identified business type. This solution improves the accuracy of business identification through the recognition model, and then can optimize the corresponding business more reasonably and effectively, thereby improving business performance.
[0122] Figure 7 700 is a schematic diagram of the structure of a service optimization device 700 provided in an embodiment of the present application. The service optimization device 700 can be implemented by software, hardware or a combination of both to become part or all of a computer device. The computer device can be the server in the above method embodiment. Figure 7 The device 700 includes: an acquisition module 701, an identification module 702 and an optimization module 703.
[0123] An acquisition module 701 includes acquiring first performance data of a physical machine, where the physical machine runs at least one virtual environment, the first performance data includes at least one dimension of performance data of the first virtual environment, and the first virtual environment is any one of the at least one virtual environment;
[0124] an identification module 702, configured to determine a first service type through an identification model based on the first performance data and the specification of the first virtual environment, the first service type being the type of service running in the first virtual environment, the identification model characterizing a correspondence between the performance of a physical machine and multiple service types under the specifications of multiple virtual environments, the multiple service types including the first service type, and the specifications of the multiple virtual environments including the specifications of the first virtual environment;
[0125] The optimization module 703 is used to optimize the business running in the first virtual environment based on the first business type.
[0126] Optionally, the at least one virtual environment includes one or more of a virtual machine, a container, and a function.
[0127] Optionally, the identification model includes a plurality of sub-models corresponding one-to-one to the specifications of the plurality of virtual environments, and each of the plurality of sub-models is used to identify the type of business running in a virtual environment of corresponding specifications.
[0128] Optionally, the device 700 further includes:
[0129] The determination module is used to determine the recognition model based on the specification of the first virtual environment and the model library.
[0130] Optionally, the determination module includes:
[0131] The first determination submodule is configured to determine the model library as a recognition model if the model library includes a first sub-model corresponding to the specification of the first virtual environment.
[0132] Optionally, the determination module includes:
[0133] A first generating submodule, configured to generate a first submodel based on the specification of the first virtual environment and the model library if the model library does not include a first submodel corresponding to the specification of the first virtual environment;
[0134] The adding submodule is used to add the first submodel to the model library to obtain a recognition model.
[0135] Optionally, generate submodules for:
[0136] Based on the specifications of the first virtual machine environment, interpolation processing is performed on the first sample data in the model library to obtain second sample data, and the first sample data is used for training to obtain an existing sub-model in the model library;
[0137] The second sample data is used to train the initial model to obtain a first sub-model.
[0138] Optionally, the acquisition module 701 includes:
[0139] A collection submodule, used to collect multi-dimensional performance data of the physical machine;
[0140] The dimensionality reduction submodule is used to perform dimensionality reduction processing on the multi-dimensional performance data to obtain first performance data.
[0141] Optionally, the identification module 702 includes:
[0142] An input submodule, configured to input the first performance data into a first submodel corresponding to the specification of the first virtual environment among the multiple submodels included in the recognition model, to obtain multiple probabilities output by the first submodel, wherein the multiple probabilities correspond one-to-one to multiple business types;
[0143] The second determination submodule is configured to determine a first service type from the multiple service types based on the multiple probabilities.
[0144] Optionally, the second determining submodule is used for:
[0145] If the difference between the maximum value and the second largest value among the multiple probabilities is less than the probability difference threshold, then based on the probability difference threshold, a candidate probability set is determined from the multiple probabilities, the candidate probability set including the first N probabilities among the multiple probabilities sorted from large to small according to the numerical value, and the difference between each two adjacent probabilities among the N probabilities is less than the probability anomaly threshold, where N is an integer greater than 1;
[0146] Based on the key performance data in the first performance parameter, a first service type is determined from the N service types corresponding to the N probabilities.
[0147] Optionally, the above optimization includes software optimization and / or hardware optimization.
[0148] Optionally, when the above optimization includes hardware optimization, the optimization module 703 includes:
[0149] The second generation submodule is used to generate an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment based on the specifications of the first virtual environment, the first business type and the first mapping relationship, the first mapping relationship representing the performance parameters of the physical machine in each of a plurality of combinations, the plurality of combinations referring to a plurality of combinations between the plurality of business types and a plurality of resource mapping relationships, the resource mapping relationship referring to the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment that can be run on the physical machine.
[0150] Optionally, the first performance data includes one or more of processor performance monitoring data, operating system data, and virtual environment performance monitoring data.
[0151] In the embodiment of the present application, the performance data of the physical machine is obtained, including at least one dimension of performance data of any virtual environment running on the physical machine. Based on the obtained performance data and the type of the virtual environment, the type of the business running in the virtual environment can be identified through the recognition model, and then the corresponding business is optimized based on the identified business type. This solution improves the accuracy of business identification through the recognition model, and then can more reasonably and effectively optimize the corresponding business and improve business performance.
[0152] It should be noted that: the service optimization device provided in the above embodiment only uses the division of the above functional modules as an example to illustrate when optimizing services. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the service optimization device provided in the above embodiment and the service optimization method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0153] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiment of the present application may be a non-volatile storage medium, in other words, a non-transient storage medium.
[0154] It should be understood that the "at least one" mentioned herein refers to one or more, and "multiple" refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit them to be necessarily different.
[0155] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data for analysis, stored data, displayed data, etc.) and signals involved in the embodiments of this application are all 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 the relevant countries and regions. For example, the performance data involved in the embodiments of this application are all obtained with full authorization.
[0156] The above-mentioned embodiments are provided for the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the subject matter and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A service optimization method, characterized in that: The method comprises: Acquire first performance data of a physical machine, where the physical machine runs at least one virtual environment, the first performance data including at least one dimension of performance data of a first virtual environment, where the first virtual environment is any one of the at least one virtual environment; Based on the first performance data and the specification of the first virtual environment, determining a first business type through an identification model, where the first business type is a type of business running in the first virtual environment, and the identification model represents a correspondence between the performance of the physical machine and multiple business types under the specifications of multiple virtual environments, where the multiple business types include the first business type, and the specifications of the multiple virtual environments include the specifications of the first virtual environment; Based on the first service type, the service running in the first virtual environment is optimized.
2. The method according to claim 1, characterized in that The at least one virtual environment includes one or more of a virtual machine, a container, and a function.
3. The method according to claim 1 or 2, characterized in that The identification model includes a plurality of sub-models corresponding to the specifications of the plurality of virtual environments one by one, and each of the plurality of sub-models is used to identify the type of business running in a virtual environment of a corresponding specification.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The recognition model is determined based on the specification of the first virtual environment and a model library.
5. The method according to claim 4, characterized in that The determining the recognition model based on the specification and model library of the first virtual environment includes: If the model library includes a first sub-model corresponding to the specification of the first virtual environment, the model library is determined as the recognition model.
6. The method according to claim 4 or 5, characterized in that The determining the recognition model based on the specification and model library of the first virtual environment includes: If the model library does not include a first sub-model corresponding to the specification of the first virtual environment, generating the first sub-model based on the specification of the first virtual environment and the model library; The first sub-model is added to the model library to obtain the recognition model.
7. The method according to claim 6, characterized in that The generating the first sub-model based on the specification of the first virtual environment and the model library comprises: Based on the specification of the first virtual machine environment, interpolate the first sample data in the model library to obtain second sample data, wherein the first sample data is used to train a sub-model already in the model library; The initial model is trained using the second sample data to obtain the first sub-model.
8. The method according to claims 1 to 7, characterized in that The obtaining of first performance data of the physical machine includes: Collecting multi-dimensional performance data of the physical machine; Perform dimensionality reduction processing on the multi-dimensional performance data to obtain the first performance data.
9. The method according to any one of claims 1 to 8, characterized in that The determining the first service type by using an identification model based on the first performance data and the specification of the first virtual environment includes: Inputting the first performance data into a first sub-model corresponding to the specification of the first virtual environment among the multiple sub-models included in the recognition model, to obtain multiple probabilities output by the first sub-model, wherein the multiple probabilities correspond one-to-one to the multiple business types; Based on the multiple probabilities, the first service type is determined from the multiple service types.
10. The method according to claim 9, characterized in that The determining the first service type from the multiple service types based on the multiple probabilities includes: If the difference between the maximum value and the second largest value among the multiple probabilities is less than the probability difference threshold, then based on the probability difference threshold, a candidate probability set is determined from the multiple probabilities, the candidate probability set including the first N probabilities among the multiple probabilities sorted from large to small according to numerical values, and the difference between each adjacent two probabilities among the N probabilities is less than the probability abnormality threshold, where N is an integer greater than 1; Based on the key performance data in the first performance parameter, the first service type is determined from the N service types corresponding to the N probabilities.
11. The method according to any one of claims 1 to 10, characterized in that: The optimization includes software optimization and / or hardware optimization.
12. The method according to claim 11, characterized in that In the case where the optimization includes hardware optimization, the optimizing the service running in the first virtual environment based on the first service type includes: Based on the specifications of the first virtual environment, the first business type and a first mapping relationship, an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment is generated, the first mapping relationship characterizing the performance parameters of the physical machine in each of a plurality of combinations, the plurality of combinations referring to a plurality of combinations between the plurality of business types and a plurality of resource mapping relationships, the resource mapping relationship referring to a mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment runnable on the physical machine.
13. The method according to any one of claims 1 to 12, characterized in that: The first performance data includes one or more of processor performance monitoring data, operating system data, and virtual environment performance monitoring data.
14. A service optimization device, characterized in that: The device comprises: An acquisition module, comprising acquiring first performance data of a physical machine, wherein the physical machine runs at least one virtual environment, the first performance data comprising at least one dimension of performance data of a first virtual environment, and the first virtual environment is any one of the at least one virtual environment; an identification module, configured to determine a first service type through an identification model based on the first performance data and the specification of the first virtual environment, wherein the first service type is a type of service running in the first virtual environment, and the identification model represents a correspondence between the performance of the physical machine and multiple service types under the specifications of multiple virtual environments, wherein the multiple service types include the first service type, and the specifications of the multiple virtual environments include the specifications of the first virtual environment; An optimization module is used to optimize the business running in the first virtual environment based on the first business type.
15. The device according to claim 14, characterized in that The at least one virtual environment includes one or more of a virtual machine, a container, and a function.
16. The device according to claim 14 or 15, characterized in that The identification model includes a plurality of sub-models corresponding to the specifications of the plurality of virtual environments one by one, and each of the plurality of sub-models is used to identify the type of business running in a virtual environment of a corresponding specification.
17. The device according to any one of claims 14 to 16, characterized in that The device also includes: A determination module is used to determine the recognition model based on the specification of the first virtual environment and the model library.
18. The device according to claim 17, characterized in that The determination module comprises: The first determination submodule is configured to determine the model library as the recognition model if the model library includes a first sub-model corresponding to the specification of the first virtual environment.
19. The device according to claim 17 or 18, characterized in that The determination module comprises: A first generating submodule, configured to generate the first submodel based on the specification of the first virtual environment and the model library if the model library does not include the first submodel corresponding to the specification of the first virtual environment; An adding submodule is used to add the first submodel to the model library to obtain the recognition model.
20. The device according to claim 19, characterized in that The generation submodule is used for: Based on the specification of the first virtual machine environment, interpolate the first sample data in the model library to obtain second sample data, wherein the first sample data is used to train a sub-model already in the model library; The initial model is trained using the second sample data to obtain the first sub-model.
21. The device according to claims 14-20, characterized in that The acquisition module comprises: A collection submodule, used for collecting multi-dimensional performance data of the physical machine; The dimensionality reduction submodule is used to perform dimensionality reduction processing on the multi-dimensional performance data to obtain the first performance data.
22. The device according to any one of claims 14 to 21, characterized in that The identification module comprises: an input submodule, configured to input the first performance data into a first submodel corresponding to the specification of the first virtual environment among the multiple submodels included in the recognition model, to obtain multiple probabilities output by the first submodel, wherein the multiple probabilities correspond one-to-one to the multiple business types; The second determination submodule is configured to determine the first service type from the multiple service types based on the multiple probabilities.
23. The device according to claim 22, characterized in that The second determining submodule is used for: If the difference between the maximum value and the second largest value among the multiple probabilities is less than the probability difference threshold, then based on the probability difference threshold, a candidate probability set is determined from the multiple probabilities, the candidate probability set including the first N probabilities among the multiple probabilities sorted from large to small according to numerical values, and the difference between each adjacent two probabilities among the N probabilities is less than the probability abnormality threshold, where N is an integer greater than 1; Based on the key performance data in the first performance parameter, the first service type is determined from the N service types corresponding to the N probabilities.
24. The device according to any one of claims 14 to 23, characterized in that The optimization includes software optimization and / or hardware optimization.
25. The device according to claim 24, characterized in that In the case where the optimization includes hardware optimization, the optimization module comprises: The second generating submodule is used to generate an adjustment strategy for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment based on the specifications of the first virtual environment, the first business type and a first mapping relationship, wherein the first mapping relationship represents the performance parameters of the physical machine in each of a plurality of combinations, wherein the plurality of combinations refer to a plurality of combinations between the plurality of business types and a plurality of resource mapping relationships, and the resource mapping relationship refers to a mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment that can be run on the physical machine.
26. The device according to any one of claims 14 to 25, characterized in that The first performance data includes one or more of processor performance monitoring data, operating system data, and virtual environment performance monitoring data.
27. A server, characterized in that: The server includes a processor and a memory; The memory is used to store computer programs; The processor is configured to execute the computer program to implement the method according to any one of claims 1 to 13.
28. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 13 are implemented.
29. A computer program product, characterized in that The computer program product stores computer instructions, and when the computer instructions are executed by a processor, the steps of any one of the methods of claims 1-13 are implemented.
Citation Information
Patent Citations
Physical machine scheduling method and device and computer readable storage medium
CN110825494A
Compute Platform Optimization Over the Life of a Workload in a Distributed Computing Environment
US20200310853A1
Hardware performance acquisition method, and device, system and storage medium
WO2023078129A1
Cited By
Business mode self-identification and parameter self-tuning method and device and electronic equipment
CN121705370A
Service optimization method and apparatus, storage medium, and computer program product
EP4733935A1
Service optimization method and apparatus, storage medium, and computer program product
WO2025040069A1