Business optimization method, apparatus, storage medium, and computer program product

By using contactless load sensing technology and identification models, the business types in the virtual environment are identified and optimized, solving the problems of user privacy and performance improvement in the virtual environment, and achieving efficient and secure virtual environment management.

CN119512680BActive Publication Date: 2025-11-28HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311078621.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2025-11-28
Estimated Expiration
2043-08-24

AI Technical Summary

Technical Problem

Existing technologies require intrusion into virtual machines when identifying business types in virtual environments, which poses a threat to user privacy and security. Furthermore, it is difficult to improve the reliability, security, and efficiency of virtual machine systems while meeting the performance requirements of each virtual machine.

Method used

The system acquires physical machine performance data through contactless load sensing, identifies business types in the virtual environment using recognition models, generates or updates sub-models based on the model library, and combines dimensionality reduction and interpolation techniques to achieve business type identification and optimization in the virtual environment.

Benefits of technology

It improved the accuracy of business type identification, achieved reasonable optimization of the virtual environment, enhanced business performance, and protected user privacy as well as system security and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512680B_ABST
    Figure CN119512680B_ABST
Patent Text Reader

Abstract

The application discloses a service optimization method and device, a storage medium and a computer program product, and belongs to the technical field of virtualization. The method comprises the following steps: acquiring performance data of a physical machine, wherein the performance data comprises at least one-dimensional performance data of any virtual environment running on the physical machine; based on the acquired performance data and the type of the virtual environment, a recognition model is used to identify the type of a service running in the virtual environment; and then, based on the identified service type, the corresponding service is optimized. According to the scheme, the recognition model improves the service recognition accuracy, and then the corresponding service can be more reasonably and effectively optimized, and the service performance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of virtualization, and in particular to a service optimization method and device, a storage medium and a computer program product. BACKGROUND

[0002] In recent years, with the continuous development of computer hardware resources such as multi-core processors, networks, memories and storages, the upper limit of a virtual environment that can be run by a physical machine is also continuously improved, and users can run services in the virtual environment. How to improve the performance of the services run by the virtual environment while meeting the performance requirements of each virtual environment is a problem that needs to be focused on in the field of virtualization technology. SUMMARY

[0003] The present application provides a service optimization method, device, storage medium and computer program product, which can improve the service identification accuracy, and then more reasonably and effectively optimize the corresponding service to improve the service performance. The technical solution is as follows:

[0004] In a first aspect, a service optimization method is provided, and the method comprises:

[0005] obtaining first performance data of a physical machine, the physical machine running at least one virtual environment, the first performance data comprising at least one-dimensional performance data of a first virtual environment, the first virtual environment being any one of the at least one virtual environment; determining a first service type based on the first performance data and a specification of the first virtual environment through an identification model, the first service type being a type of a service run by the first virtual environment, the identification model representing a corresponding relationship between a performance of the physical machine under a plurality of specifications of virtual environments and a plurality of service types, the plurality of service types including the first service type, and the plurality of specifications of virtual environments including the specification of the first virtual environment; and optimizing the service run by the first virtual environment based on the first service type.

[0006] The present application improves the service identification accuracy through the identification model, and then can more reasonably and effectively optimize the corresponding service to improve the service performance.

[0007] In order to realize contactless load sensing and protect the privacy of users of the virtual environment, the server does not intrude into the virtual environment to obtain performance data of the virtual environment, but obtains one or more of processor performance monitoring data, operating system data and virtual environment performance monitoring data, that is, the first performance data comprises one or more of the processor performance monitoring data, the operating system data and the virtual environment performance monitoring data.

[0008] Optionally, the first performance data of the physical machine is obtained by: collecting multi-dimensional performance data of the physical machine; and performing dimension reduction processing on the multi-dimensional performance data to obtain the first performance data. That is, the dimension reduction processing reduces invalid data and redundant data in the performance data, thereby reducing the amount of data and improving the accuracy of subsequent identification of the service type.

[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 scenario of the present application is wide.

[0010] Optionally, the identification model includes a plurality of sub-models corresponding one-to-one to specifications of a plurality of virtual environments, and each of the plurality of sub-models is used to identify a type of service running in a virtual environment of a corresponding specification. In this way, the corresponding sub-model is selected for service type identification based on the specification of the virtual environment.

[0011] Optionally, the method further includes: determining the identification model based on the specification of the first virtual environment and a model library. That is, the present scheme is configured with a model library, which facilitates service type identification.

[0012] In the method, the identification model is determined based on the specification of the first virtual environment and the model library, including: 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 identification model.

[0013] Optionally, the identification model is determined based on the specification of the first virtual environment and the model library, including: if the model library does not include a first sub-model corresponding to the specification of the first virtual environment, a first sub-model is generated based on the specification of the first virtual environment and the model library; and the first sub-model is added to the model library to obtain the identification model. That is, the present scheme supports generating a sub-model corresponding to a new specification using the model library.

[0014] Optionally, the first sub-model is generated based on the specification of the first virtual environment and the model library, including: performing interpolation processing on first sample data in the model library to obtain second sample data based on the specification of the first virtual environment, the first sample data being used to train an existing sub-model in the model library; and training an initial model using the second sample data to obtain the first sub-model. It should be understood that, in the present scheme, the second sample data is generated based on the first sample data, and after the model library is deployed to the physical machine where the virtual environment of the user is located, there is no need to re-sample the second sample data from inside the virtual environment of the user, thereby avoiding the invasion of the privacy of the user. Moreover, the interpolation method can improve the representativeness of the generated second sample data.

[0015] Optionally, based on the first performance data and the specification of the first virtual environment, the first service type is determined by the identification model, including: inputting the first performance data into a first sub-model corresponding to the specification of the first virtual environment in a plurality of sub-models included in the identification model, obtaining a plurality of probabilities output by the first sub-model, the plurality of probabilities corresponding to a plurality of service types one by one; and determining the first service type from the plurality of service types based on the plurality of probabilities.

[0016] Optionally, determining the first service type from the plurality of service types based on the plurality of probabilities includes: if the difference between the maximum value and the second maximum value in the plurality of probabilities is less than a probability difference threshold, determining a candidate probability set from the plurality of probabilities based on the probability difference threshold, the candidate probability set including the first N probabilities in the plurality of probabilities sorted in descending order of numerical value, the difference between each adjacent two probabilities in the N probabilities being less than a probability anomaly threshold, and N being an integer greater than 1; and determining the first service type from the N service types corresponding to the N probabilities based on the key performance data in the first performance parameters. That is, in the case that the difference between each adjacent two probabilities in the first N probabilities is small, the server still needs to combine the key performance data to make the final judgment, thereby providing the identification accuracy.

[0017] Optionally, the optimization includes software optimization and / or hardware optimization.

[0018] In the case that the optimization includes hardware optimization, the service running in the first virtual environment is optimized based on the first service type, including: generating an adjustment strategy of the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment based on the specification of the first virtual environment, the first service type, and the first mapping relationship, the first mapping relationship representing the performance parameters of the physical machine under each combination of the plurality of service types and the plurality of resource mapping relationships, the resource mapping relationship being the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment running on the physical machine. The first mapping relationship can be regarded as the mapping relationship from the same parameter space of service + resource to the performance parameter space. This scheme generates the hardware optimization strategy of the corresponding service through the established mapping relationship from the same parameter space of service + resource to the performance parameter space, thereby realizing the hardware optimization of the corresponding service and improving the service performance.

[0019] In the case that 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 the service accelerators corresponding to the plurality of service types respectively, and generating a start strategy of the first service accelerator. That is, this scheme can perform software acceleration on the corresponding service, thereby improving the service performance.

[0020] In a second aspect, a service optimization apparatus is provided, which has functions to implement the behaviors of the service optimization method in the first aspect. The service optimization apparatus comprises one or more modules for implementing the service optimization method provided in the first aspect.

[0021] In a third aspect, a server is provided, which comprises a processor and a memory. The memory is configured to store a program for executing the service optimization method provided in the first aspect, and store 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 can further comprise a communication bus for establishing a connection between the processor and the memory.

[0022] In a fourth aspect, a computer readable storage medium is provided, which stores instructions that, when executed on a computer, cause the computer to perform the service optimization method in the first aspect.

[0023] In a fifth aspect, a computer program product is provided, which comprises instructions that, when executed on a computer, cause the computer to perform the service optimization method in the first aspect.

[0024] The technical effects obtained by the second aspect, the third aspect, the fourth aspect and the fifth aspect are similar to the technical effects obtained by the corresponding technical means in the first aspect, and will not be described here. BRIEF DESCRIPTION OF DRAWINGS

[0025] Figure 1 FIG. 1 is a structural schematic diagram of a computer device provided by an embodiment of the present application;

[0026] Figure 2 FIG. 2 is a flowchart of a service optimization method provided by an embodiment of the present application;

[0027] Figure 3 FIG. 3 is a flowchart of a data preprocessing method provided by an embodiment of the present application;

[0028] Figure 4 FIG. 4 is a flowchart of a sub-model generation method provided by an embodiment of the present application;

[0029] Figure 5 FIG. 5 is a flowchart of a service type identification method provided by an embodiment of the present application;

[0030] Figure 6 FIG. 6 is a schematic diagram of a service optimization process provided by an embodiment of the present application;

[0031] Figure 7 FIG. 7 is a structural schematic diagram of a service optimization apparatus provided by an embodiment of the present application. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0033] First, the relevant background and application scenarios of the embodiments of this application will be 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 has also been increasing. Resource virtualization has become an efficient way to utilize resources. The management needs of resource virtualization have gradually become prominent, namely, to implement unified management and on-demand allocation of limited computer hardware resources in order to improve the flexibility and timeliness of resource allocation, increase resource utilization, and thus improve the performance of services running in the virtual environment.

[0035] Taking virtual machines as an example, related technologies take into account the diverse characteristics of the loads carried by multiple virtual machines running on a physical machine. For instance, one virtual machine may carry a central processing unit (CPU) intensive load, while another virtual machine may carry a storage intensive load. Different types of loads typically require different computer hardware resources. Therefore, related technologies employ an intrusive load-aware method to identify the type of load carried by a virtual machine. That is, by intruding into the virtual machine to obtain its performance parameters, such as CPU, disk, and network input / output (I / O) parameters, the type of load carried by the virtual machine is determined based on the performance parameters, and then the hardware resources of the physical machine are allocated based on the determined load type.

[0036] However, the above methods require intruding into the virtual machine to obtain its performance parameters, which poses a threat to the privacy and security of users of the virtual machine. How to improve the overall reliability, security, and efficiency of the virtual machine system while meeting the performance requirements of individual virtual machines is a key issue that needs to be addressed when virtualizing the allocation of physical machine resources.

[0037] To address the aforementioned issues, this application provides a service optimization method. This method can be applied to various virtualization scenarios, such as those in cloud computing, software testing, and security, thereby improving service performance in the corresponding virtualization scenarios.

[0038] In the field of cloud computing, cloud host, cloud storage and cloud platform may use virtualization technology, for example, multiple virtual machines run on a cloud host. The present application is applied to the corresponding servers of cloud host, cloud storage and cloud platform, which can realize the reasonable scheduling of the resources required by the virtual machine, thereby optimizing the operation of the business on the virtual machine.

[0039] In the field of software testing, in order to ensure the security and stable operation of the computer, the software testing is generally run in a virtual machine, and a real physical computer can provide multiple virtual machines for independent running of different software testing, in the process of large cluster and large scale software testing, the elastic virtualization architecture of the present application can perceive the software type and the required hardware resource condition of the testing software of different virtual machines, and perform resource scheduling based on the same, to realize the efficient and safe management of software testing.

[0040] In the field of security, network security work needs to timely investigate and isolate malicious software, in order to safely detect whether various software is malicious software, multiple virtual machines can be opened for testing, the elastic virtualization architecture of the present application can non-contact perceive the software type, and pre-classify part of the malicious software which highly depends on hardware resources, to improve the screening efficiency of network security work.

[0041] The business scenarios described in the embodiments of the present application are used 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 by the embodiments of the present application. Those skilled in the art can know that, with the emergence of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0042] Next, some terms related to the embodiments of the present application are explained.

[0043] Non-contact load sensing: in the case of not contacting the load, the load type is identified by collecting parameters indirectly related to the load.

[0044] Elastic virtualization architecture: various hardware resources of a computer, such as servers, networks, memories and storages, are abstracted and virtualized to be presented, breaking the uncut barrier between physical structures, and realizing the architecture of elastic resource management.

[0045] Virtualization technology: a technology of abstracting and converting physical resources of a computer into virtual computer resources for program use.

[0046] Virtual environment: a virtual environment generated by using virtualization technology. For example, a virtual machine, a container (docker or container) or a function.

[0047] Among them, the virtual machine is a real-time dynamic program behavior modification and simulation algorithm, which directly uses the native operating system (operating system, OS) to simulate a virtualization machine with a compatible OS, that is, the virtual machine is generated based on the software virtualization technology, which can run multiple independent operating systems and application programs on a physical machine, and they are isolated from each other and do not affect each other.

[0048] The container can be implemented by using a sandbox mechanism. The difference between the container and the virtual machine is that the container does not need to run a complete operating system, but only needs to provide a lightweight runtime environment, and there will be no interface between the containers.

[0049] The function can also be called function calculation, and the function can also be implemented by using virtualization technology. The function is a serverless computing service that can automatically manage underlying infrastructure, including computing, storage and network resources, and users only need to write and deploy code.

[0050] Next, the computer device provided by the embodiment of the application is introduced. The computer device can be a server, or a management device / control device of the server, and the computer device can also be a terminal device. The computer device is used to execute the service optimization method provided by the embodiment of the application.

[0051] Please refer to Figure 1 , Figure 1 is a structural schematic diagram of a computer device according to an embodiment of the 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 central processing unit (CPU), a network processing (NP), a microprocessor, or one or more integrated circuits used to implement a 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-mentioned components. Optionally, the communication bus 102 is divided into an address bus, a data bus, a control bus and the like. For the convenience of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or only 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 disk (including a compact disc read-only memory (CD-ROM), a compact disc, a laser disc, a digital versatile disc, a Blu-ray disc and the like), a magnetic disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by a computer, but is not limited to this. The memory 103 exists independently and is connected to the processor 101 through 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. The wired communication interface is, for example, an Ethernet interface or the like. Optionally, the Ethernet interface is an optical interface, an electrical interface or a combination thereof. The wireless communication interface is, for example, a wireless local area networks (WLAN) interface, a cellular network communication interface or a combination thereof.

[0056] Optionally, in some embodiments, the computer device includes multiple processors, such as processor 101 and processor 105 as shown in FIG. 1. Each of these processors is a single-core processor or a multi-core processor. Optionally, processor herein refers to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions). Figure 1

[0057] In a specific implementation, as an embodiment, the computer device further includes an output device 106 and an input device 107. The output device 106 is in communication with the processor 101 and is capable of displaying information in various 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, a projector, or the like. The input device 107 is in communication with the processor 101 and is capable of receiving user input in various ways. For example, the input device 107 is a mouse, a keyboard, a touch screen device, a sensor device, or the like.

[0058] In some embodiments, the memory 103 is used to store program code 110 for implementing the solutions of the present application, and the processor 101 is capable of executing the program code 110 stored in the memory 103. The program code includes one or more software modules, and the computer device is capable of implementing the following Figure 2 The service optimization method provided by the embodiments.

[0059] Next, the service optimization method provided by the embodiments of the present application is introduced. The method 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, etc.

[0060] Figure 2 is a flowchart of a service optimization method provided by the embodiments of the present application. Taking the case that the method is applied to a server, please refer to Figure 2 The method includes the following steps.

[0061] Step 201: Obtain first performance data of the physical machine, the first performance data including at least one-dimensional performance data of a first virtual environment.

[0062] The physical machine is a server, and the physical machine runs at least one virtual environment. The first virtual environment is any one of the at least one virtual environment. The physical machine can also be referred to as a real machine, a main machine, etc. ​

[0063] In order to realize the contactless load sensing and protect the user privacy of the virtual environment, the server does not intrude into the virtual environment to obtain the performance data of the virtual environment, but obtains one or more of the processor performance monitoring data, the operating system data and the 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, the operating system data and the virtual environment performance monitoring data. Of course, in some cases, such as the case where the user of the virtual environment allows, the server can also intrude into the virtual environment to directly obtain the performance data of the virtual environment.

[0064] The processor performance monitoring data includes the performance monitoring data obtained by a CPU performance monitoring unit (PMU), and the virtual environment performance monitoring data includes the performance monitoring data obtained by a virtual environment monitor. The virtual environment monitor can include a Hypervisor. The Hypervisor is a virtual machine monitor. The processor performance monitoring data can be regarded as an architecture feature of the physical machine, and the virtual environment performance monitoring data can be regarded as a virtualization feature of the virtual environment.

[0065] Since there are many types of performance data of the physical machine, and in the process of collecting the performance data of the physical machine, some invalid data or redundant data can be collected, it is necessary to pre-process the collected performance data of the physical machine, so as to obtain the first performance data of the physical machine.

[0066] In an implementation manner, the server collects multi-dimensional performance data of the physical machine, performs dimension reduction processing on the multi-dimensional performance data to obtain the first performance data, and the first performance data includes at least one-dimensional performance data of the first virtual environment. The multi-dimensional performance data includes the processor performance monitoring data, the operating system data and the performance monitoring data of the first virtual environment of the physical machine.

[0067] That is, the data pre-processing includes dimension reduction processing. The dimension reduction processing manner includes principal component analysis (PCA) or other manners. Alternatively, see Figure 3 The data pre-processing also includes one or more of data set merging, missing value processing, standardization processing and the like. The execution order of the data set merging, the missing value processing, the standardization processing and the PCA dimension reduction and the like is not limited in the embodiments of the application. For example, the standardization processing can be performed first, and then the missing value processing is performed. For example, the missing value processing can be performed first, and then the data set merging is performed.

[0068] The data set merging refers to merging a plurality of data files into one data set. The data set obtained by merging can be a data file in a table form. Each column in the data file represents one-dimensional data. The plurality of data files can include data files obtained by a PMU, data files obtained by an OS, and data files obtained by a virtual environment monitor. In the embodiments of the present application, the plurality of data files include the multi-dimensional performance data described above.

[0069] The missing value processing includes counting a missing rate of each dimension of data, such as a missing rate of each column of data, deleting corresponding dimension data whose missing rate exceeds a threshold, and filling corresponding dimension data whose missing rate does not exceed the threshold. The threshold can be 60% or 70% or the like. There are various methods for filling data, such as filling a default value, filling an average value, and interpolation. The thresholds of the missing rates corresponding to different dimensions of data can be different or the same. The filling methods of different dimensions of data can be different or the same.

[0070] The standardization processing can include one or more of normalization processing, quantization processing, and the like. The standardization processing of the data can eliminate the influence of the dimensions of different dimensions of data, ensure the balance of the data, and thus improve the judgment of the service type.

[0071] It should be understood that the above-mentioned several ways of preprocessing can be applied individually 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 can be various types of virtualization environments. For example, the virtual environment can be a virtual machine, a container, or a function. The server can run one or more types of virtual environments. For example, the server can only run a plurality of virtual machines. For another example, the server runs both virtual machines and containers. The virtual machine can be referred to as a virtual machine for short.

[0073] It should be understood that step 201 is introduced by taking performance data of a first virtual environment as an example. Generally, a plurality of virtual environments run on a physical machine, and the server can obtain at least one-dimensional performance data of each virtual environment in the plurality of virtual environments according to the method introduced above.

[0074] Step 202: determining a first service type by a recognition model based on the first performance data and a specification of the first virtual environment. The first service type is a type of service run by the first virtual environment.

[0075] The server determines, based on the first performance data and the specification of the first virtual environment, a type of service running in the first virtual environment by identifying a model, i.e., determines the first service type. The model identifies a correspondence between performance of the physical machine under a plurality of specifications of virtual environments and a plurality of service types, the plurality of specifications of virtual environments including the specification of the first virtual environment, and the plurality of service types including the first service type. Specifically, the model identifies a correspondence between performance of the physical machine under each of the plurality of specifications of virtual environments and each of the plurality of service types.

[0076] The server can obtain the specification of the first virtual environment in various ways. For example, the server can obtain the specification of the first virtual environment from a generation file of the virtual environment, or the server can obtain the specification of the first virtual environment from performance monitoring data obtained by a virtual environment monitor.

[0077] For example, the specification of the first virtual environment can also be referred to as a first virtual machine specification, which can be four cores and 8G, or six cores and 12G, or eight cores and 16G. For a container, in an implementation, a container specification can be embodied by usage of CPU and memory resources of a physical machine, for example, the container specification can include a CPU application amount and a CPU limit of the container to the physical machine, wherein the CPU application amount is a minimum CPU requirement of the container for use as a judgment basis for resource allocation when the container is scheduled, and the CPU limit is a maximum value of the CPU that can be used by the container. For a function, in an implementation, a specification of the function can be embodied by account resource limits, such as a maximum number of functions that can be created by a single account, a maximum number of versions that can be created under a single function, and the like.

[0078] The model is a machine learning model or a deep learning model. Embodiments of the present application do not limit the training method and model structure of the model.

[0079] In an implementation, the model includes a plurality of sub-models corresponding one-to-one to the plurality of specifications of virtual environments, each of the plurality of sub-models being used to identify a type of service running in a virtual environment of a corresponding specification. For example, the model includes a first sub-model corresponding to the specification of the first virtual environment, and the first sub-model can be used to identify a type of service running in the first virtual environment, i.e., the first sub-model identifies a correspondence between performance of the physical machine under the specification of the first virtual environment and a plurality of service types.

[0080] In order to improve the efficiency of service type identification, a model library is pre-stored 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 service type by identifying the model, the identification model is determined based on the specification of the first virtual environment and the model library.

[0081] If the model library includes a first sub-model corresponding to the specification of the first virtual environment, the server determines the model library as the identification model, that is, the server does not need to re-train to generate the first sub-model, in other words, the pre-stored model library can improve the efficiency of service type identification.

[0082] If the model library does not include a first sub-model corresponding to the specification of the first virtual environment, the server generates a first sub-model based on the specification of the first virtual environment and the model library, adds the first sub-model to the model library to obtain the identification model. That is, the present scheme also supports generating a sub-model corresponding to a virtual environment of a new specification based on the pre-stored model library, and continuously updating the model library for subsequent use and deployment.

[0083] One implementation of the server generating the first sub-model based on the specification of the first virtual environment and the model library is that: based on the specification of the first virtual machine environment, the first sample data in the model library is interpolated to obtain second sample data, and the first sample data is used to train the existing sub-model in the model library; and the second sample data is used to train an initial model to obtain the first sub-model.

[0084] That is, referring to Figure 4 The model library provides sample data (i.e., first sample data) of a virtual environment of an existing specification, and the sample data (i.e., second sample data) of a virtual environment of a new specification can be generated by interpolation, and then the sample data of the virtual environment of the new specification is used to train a sub-model (i.e., the first sub-model) corresponding to the virtual environment of the new specification.

[0085] The first sample data can 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 specification as the first virtual environment, that is, in the case of re-training to generate the first sub-model, the existing specification in the model library does not include the specification of the first virtual environment.

[0086] The initial model can be an untrained model, and the untrained model is trained by using the second sample data, that is, the parameters of the initial model are optimized by training, so as to obtain the first sub-model. Each sub-model in the model library can be obtained by training the initial model. Alternatively, the initial model is a pre-trained model, and the application embodiments do not limit the sample data used for pre-training and the pre-training method. The pre-trained model already has certain ability, but the recognition accuracy of the business type is still relatively low, or cannot be directly used to recognize the business type. The pre-trained model is trained again by using the second sample data, so as to further optimize the parameters of the model. The first sub-model obtained in this way can be used to recognize the business type, and the recognition accuracy is relatively high.

[0087] The interpolation processing can be Kriging interpolation or other interpolation methods.

[0088] It should be understood that the scheme generates the second sample data based on the first sample data. After the model library is deployed to the physical machine where the virtual environment of the user is located, it is not necessary to re-sample the second sample data in the virtual environment of the user, so as to avoid the invasion of the privacy of the user. Moreover, the representativeness of the generated second sample data can be improved by the interpolation method. The way of generating the second sample data based on the first sample data and training the first sub-model can be understood as a way of generating new specification samples and models in the case of existing specification samples and models. In the test experiment, the recognition accuracy, recall rate and f1-score of the sub-model generated by this way are all better than 96%.

[0089] An implementation of the server for determining the first business type based on the first performance data and the specification of the first virtual environment after determining the recognition model is as follows: inputting the first performance data into the first sub-model corresponding to the specification of the first virtual environment, obtaining a plurality of probabilities output by the first sub-model, the plurality of probabilities corresponding to the plurality of business types one by one; and determining the first business type from the plurality of business types based on the plurality of probabilities.

[0090] Alternatively, the server extracts features from the first performance data to obtain first feature data, and inputs the first feature data into the first sub-model corresponding to the specification of the first virtual environment to obtain a plurality of probabilities output by the first sub-model. There are many ways of feature extraction, and the application embodiments do not limit the feature extraction. The feature data obtained by feature extraction can also be referred to as reduced dimension feature data.

[0091] Optionally, the server determines the maximum value in the plurality of probabilities, and determines the business type corresponding to the maximum value as the first business type.

[0092] Or, since the plurality of probabilities can exist a small gap, in this case, the first service type can not be accurate based on the maximum value of the plurality of probabilities. Therefore, in order to improve the accuracy of the service type identification, if the gap between the maximum value and the second maximum value in the plurality of probabilities is less than the probability difference threshold, the server determines a candidate probability set from the plurality of probabilities based on the probability difference threshold, the candidate probability set includes the first N probabilities in the plurality of probabilities sorted in descending order of value, and the gap between each adjacent two probabilities in the N probabilities is less than the probability difference threshold, and N is an integer greater than 1. The server determines the first service type from the N service types corresponding to the N probabilities based on the key performance data in the first performance parameter. That is, in the case where 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 the final judgment.

[0093] For example, the plurality of probabilities are sorted in descending order of value as 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 according to 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 service type from the three service types corresponding to the three probabilities as the first service type based on the key performance data in the first performance data.

[0094] If the gap between the maximum value and the second maximum value in the plurality of probabilities is less 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 plurality of probabilities are sorted in descending order of value as 0.81, 0.45, 0.43, 0.42, 0.32, and 0.02, and the probability difference threshold is 0.05. Since the gap between 0.81 and 0.45 is greater than 0.05, in this case, it indicates that the recognition model can accurately identify the service type, and then the server can directly determine the service type corresponding to 0.81 as the first service type.

[0096] One implementation of the server determining the first service type from the N service types corresponding to the N probabilities based on the key performance data in the first performance parameter is that the server determines the first service type from the N service types through the judgment logic in the expert knowledge base based on the key performance data in the first performance parameter.

[0097] The judgment logic in the expert knowledge base is determined based on an experience value or an expected value of the key performance parameter. In another way, 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 value of the key performance parameter when the N service types are respectively run.

[0098] Please refer to Figure 5 The service identification process in the embodiments of the present application is briefly explained. Referring to Figure 5 After model prediction by the identification model, the judgment logic (including criterion 1, criterion 2, etc.) in the expert knowledge base is combined to finally determine the service type as service A, service B, or service C, etc.

[0099] In the embodiments of the present application, in order to improve the optimization performance of the service, the granularity of the identified service type is more refined than in the related art. Specifically, in the related art, the load type can be identified by a Markov model, and the load type can include CPU-intensive, graphics processing unit (GPU)-intensive, memory-intensive, I / O-intensive, etc. In the present solution, the identified service type is related to a specific service, and can include Spark, Hbase, Hive types in a big data scenario, MySQL types in a database scenario, Nginx types in a network scenario, etc.

[0100] Step 203: based on the first service type, optimizing the service run by the first virtual environment.

[0101] After identifying the service type run by the first virtual environment, the server optimizes the service run by the first virtual environment based on the first service type.

[0102] The optimization of the service includes software optimization and / or hardware optimization.

[0103] In the case where the optimization of the service includes hardware optimization, one implementation of the server performing hardware optimization on the service run by the first virtual environment based on the first service type includes: generating an adjustment strategy of the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment based on the specification of the first virtual environment, the first service type, and the first mapping relationship. The first mapping relationship represents the performance parameter of the physical machine in each combination of a plurality of combinations. The plurality of combinations refer to a plurality of combinations between a plurality of service types and a plurality of 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 run on the physical machine. The first mapping relationship can be referred to as the mapping relationship from the service+resource same parameter space 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 adjustment strategy, so as to realize hardware optimization of the service 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 means of hardware resource hot switching.

[0105] In the embodiments of the present application, the hardware resources of the physical machine include one or more of a processor (i.e., pCPU), memory (i.e., pMemory), and storage (pStorage). Correspondingly, the virtual resources of the virtual environment include one or more of a processor (i.e., vCPU), memory (i.e., vMemory), and storage (vStorage). Wherein, 'p' represents physical, and 'v' represents virtual.

[0106] In the case where the optimization of the service includes software optimization, one implementation of the server performing 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 a plurality of service accelerators corresponding to a plurality of service types, and generating a start strategy of 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 a user end of the first virtual environment to indicate to a user of the first virtual environment that the first service accelerator can be started. The user end can select to start the first service accelerator based on the service acceleration prompt information, or can select not to start the first service accelerator.

[0108] In the embodiments of the present application, the service accelerator can include a service acceleration package or other types of accelerators. The service acceleration package contains various types of software acceleration logic code. For example, the service acceleration package contains at least one acceleration operator.

[0109] As described above, the server can generate an optimization strategy for the service running in the first virtual environment based on the first service type, and the optimization strategy includes a hardware optimization strategy and / or a software optimization strategy. The hardware optimization strategy includes an adjustment strategy of 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 start strategy of the first service accelerator. The server optimizes the service running in the first virtual environment based on the optimization strategy.

[0110] Please refer to Figure 6 The service optimization process in the embodiments of the present application is exemplarily explained. Please refer to Figure 6After the server identifies the type of the service running in the virtual environment and generates the corresponding optimization strategy, the server starts the optimization strategy, including starting the service accelerator corresponding to the service type and dynamically adjusting the mapping relationship between the hardware resources of the physical machine and the virtual resources of the virtual environment through hardware resource hot switching.

[0111] From the above, the present scheme provides an elastic virtualization architecture based on contactless load sensing in specific implementation, which mainly includes the following seven modules, and the seven modules are respectively:

[0112] The data acquisition module is used to acquire host data (i.e., performance data of the physical machine) of a contactless virtual environment (such as a virtual machine) on the host side (i.e., on the physical machine), including acquiring architecture features, OS features, and virtualization features, specifically including but not limited to CPU performance monitoring data, System data, and Hypervisor data.

[0113] The data preprocessing module is 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 full-quantity feature samples (i.e., multi-dimensional performance data) based on principal component analysis method.

[0114] The data feature extraction module is used to extract features from the preprocessed performance data, thereby obtaining reduced dimension feature samples.

[0115] The specification model generation module is used to generate new specification feature samples (i.e., second sample data) from existing specification feature samples (i.e., first sample data) in the model library through Kriging interpolation, generate a sub-model (i.e., first sub-model) of the new specification and save it in the model library.

[0116] The service type identification module is used to select a sub-model corresponding to the specification in the model library based on the specification of the virtual environment, and then identify the type of the service running in the virtual environment.

[0117] The optimization strategy generation module is used to establish a mapping relationship from a service+resource unified parameter space to a performance parameter space, generate a hardware optimization strategy for the corresponding service based on the mapping relationship, including a mapping relationship between hardware resources of a physical machine and virtual resources of the virtual environment, and generate a software optimization strategy for the corresponding service based on the identified service type, including a starting strategy of the corresponding service accelerator.

[0118] The resource scheduling optimization module is used to start the corresponding service 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 also verify the performance of the present scheme in multiple virtualization scenarios. Specifically, the performance of the present scheme is improved by 20% on average in the optimization of services in the virtualization scenarios of big data, databases, networks, and the like.

[0120] As can be seen from the above, the present scheme can identify the service type and schedule the hardware resources for the virtual environment on the entity host side, thereby realizing service optimization. In actual application, the present scheme can be applied to extend the elastic architecture of the virtual environment to the real machine (i.e., physical machine), build the same elastic architecture between the real machines, build and run the architecture on the host (i.e., real machine), network the host and multiple slaves (entity machines) of the host, and realize the perception of the service type in the slaves. The difference is that the hardware resources are replaced by the workloads: the host can allocate services to each slave according to the performance of each slave based on the identification result of the service type, thereby realizing the elastic allocation of the service load in the entity machine cluster.

[0121] To sum up, in the embodiments of the present application, the performance data of the physical machine is acquired, including at least one-dimensional performance data of any one virtual environment running on the physical machine. Based on the acquired performance data and the type of the virtual environment, the type of the service running in the virtual environment can be identified through the identification model, and then the corresponding service is optimized based on the identified service type. The present scheme improves the service identification accuracy through the identification model, and then can optimize the corresponding service more reasonably and effectively, thereby improving the service performance.

[0122] Figure 7 FIG. 7 is a structural schematic diagram of a service optimization device 700 provided by the embodiments of the present application. The service optimization device 700 can be realized by software, hardware, or a combination of both as part or all of a computer device, which can be a server in the method embodiments described above. Referring to FIG. 7, Figure 7 The device 700 includes an acquisition module 701, an identification module 702, and an optimization module 703.

[0123] The acquisition module 701 acquires the first performance data of the physical machine, the physical machine running at least one virtual environment, the first performance data including at least one-dimensional performance data of the first virtual environment, the first virtual environment being any one of the at least one virtual environment;

[0124] The identification module 702 determines the 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 the service running in the first virtual environment, the identification model representing the corresponding relationship between the performance of the physical machine under the specifications of multiple virtual environments and multiple service types, the multiple service types including the first service type, and the specifications of the multiple virtual environments including the specification of the first virtual environment;

[0125] The optimization module 703 is configured to optimize the service running in the first virtual environment based on the first service type.

[0126] Optionally, the at least one virtual environment comprises one or more of a virtual machine, a container, and a function.

[0127] Optionally, the identification model comprises a plurality of sub-models corresponding to the specifications of the plurality of virtual environments, each of the plurality of sub-models being configured to identify the type of service running in a virtual environment of the corresponding specification.

[0128] Optionally, the apparatus 700 further comprises:

[0129] The determination module is configured to determine the identification model based on the specification of the first virtual environment and the model library.

[0130] Optionally, the determination module comprises:

[0131] The first determination submodule is configured to determine the model library as the identification model if the model library comprises a first sub-model corresponding to the specification of the first virtual environment.

[0132] Optionally, the determination module comprises:

[0133] The first generation submodule is configured to generate a first sub-model based on the specification of the first virtual environment and the model library if the model library does not comprise a first sub-model corresponding to the specification of the first virtual environment.

[0134] The adding submodule is configured to add the first sub-model to the model library to obtain the identification model.

[0135] Optionally, the generation submodule is configured to:

[0136] interpolate the first sample data in the model library based on the specification of the first virtual machine environment to obtain second sample data, the first sample data being used to train the existing sub-models in the model library;

[0137] train the initial model using the second sample data to obtain the first sub-model.

[0138] Optionally, the acquisition module 701 comprises:

[0139] The collection submodule is configured to collect the multi-dimensional performance data of the physical machine.

[0140] The dimension reduction submodule is configured to perform dimension reduction processing on the multi-dimensional performance data to obtain the first performance data.

[0141] Optionally, the identification module 702 comprises:

[0142] The input sub-module is configured to input the first performance data into a first sub-model corresponding to the specification of the first virtual environment in a plurality of sub-models included in the identification model, to obtain a plurality of probabilities output by the first sub-model, the plurality of probabilities corresponding to a plurality of service types in a one-to-one manner.

[0143] The second determination sub-module is configured to determine a first service type from the plurality of service types based on the plurality of probabilities.

[0144] Optionally, the second determination sub-module is configured to:

[0145] If a difference between a maximum value and a second maximum value in the plurality of probabilities is less than a probability difference threshold, a candidate probability set is determined from the plurality of probabilities based on the probability difference threshold, the candidate probability set including a first N probabilities in the plurality of probabilities sorted in a descending order of values, a difference between every two adjacent probabilities in the N probabilities being less than a probability anomaly threshold, and N being an integer greater than 1.

[0146] The first service type is determined from N service types corresponding to the N probabilities based on key performance data in the first performance parameters.

[0147] Optionally, the optimization includes software optimization and / or hardware optimization.

[0148] Optionally, in a case where the optimization includes hardware optimization, the optimization module 703 includes:

[0149] The second generation sub-module is configured to generate an adjustment strategy of a mapping relationship between hardware resources of the physical machine and virtual resources of the first virtual environment based on the specification of the first virtual environment, the first service type, and a first mapping relationship, the first mapping relationship representing performance parameters of the physical machine under each combination of a plurality of combinations, the plurality of combinations referring to a plurality of combinations between the plurality of service types and a plurality of resource mapping relationships, and the resource mapping relationship referring to a mapping relationship between the hardware resources of the physical machine and virtual resources of a virtual environment executable 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 embodiments of the present application, performance data of a physical machine is acquired, including at least one-dimensional performance data of any one virtual environment running on the physical machine, and based on the acquired performance data and a type of the virtual environment, an identification model can identify a type of a service running by the virtual environment, and then the corresponding service is optimized based on the identified service type. The present scheme improves the service identification accuracy through the identification model, and then can more reasonably and effectively optimize the corresponding service, and improves the service performance.

[0152] It should be noted that the service optimization apparatus provided in the above embodiments only takes the division of the above functional modules as an example when optimizing the service, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the functions described above. In addition, the service optimization apparatus and the service optimization method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process is described in the method embodiments, which will not be repeated here.

[0153] In the above embodiments, all or part of the embodiments can be realized by software, hardware, firmware or any combination thereof. When realized by software, all or part of the embodiments can be realized 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, all or part of the processes or functions described in the embodiments are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (for example: coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example: infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium can be a magnetic medium (for example: floppy disk, hard disk, magnetic tape), an optical medium (for example: digital versatile disc (DVD)) or a semiconductor medium (for example: solid state disk (SSD)) and the like. It should be noted that the computer readable storage medium mentioned in the embodiments can be a non-volatile storage medium, in other words, it can be a non-transitory storage medium.

[0154] It should be understood that, “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, “ / ” represents the meaning of or, unless otherwise specified, for example, A / B can represent A or B; “and / or” herein only describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same functions and effects are distinguished by using “first”, “second” and the like. The skilled in the art can understand that “first”, “second” and the like do not limit the quantity and execution order, and “first”, “second” and the like do not necessarily mean 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 the present application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions. For example, the performance data involved in the embodiments of the present application is obtained under sufficient authorization.

[0156] The above describes the embodiments provided by the present application, and does not limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A business optimization method, characterized in that, The method includes: Obtain first performance data of a physical machine, wherein the physical machine runs at least one virtual environment, and the first performance data includes at least one-dimensional performance data of the first virtual environment, wherein the first virtual environment is any one of the at least one virtual environments; Based on the first performance data and the specifications of the first virtual environment, a first service type is determined by an identification model. The first service type is the type of service running in the first virtual environment. The identification model characterizes the correspondence between the performance of the physical machine and the various service types under the specifications of multiple virtual environments. The various service types include the first service type, and the specifications of the multiple virtual environments include the specifications of the first virtual environment. Based on the first business type, the business running in the first virtual environment is optimized.

2. The method as described in claim 1, characterized in that, The at least one virtual environment includes one or more of virtual machines, containers, and functions.

3. The method as described in claim 1, characterized in that, The identification model includes multiple sub-models that correspond one-to-one with the specifications of the various virtual environments. Each sub-model is used to identify the type of service running in the virtual environment of the corresponding specification.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: The recognition model is determined based on the specifications and model library of the first virtual environment.

5. The method as described in claim 4, characterized in that, The determination of the recognition model based on the specifications and model library of the first virtual environment includes: If the model library includes a first sub-model corresponding to the specifications of the first virtual environment, then the model library is determined as the identification model.

6. The method as described in claim 4, characterized in that, The determination of the recognition model based on the specifications and model library of the first virtual environment includes: If the model library does not include a first sub-model corresponding to the specifications of the first virtual environment, then the first sub-model is generated based on the specifications 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 as described in claim 6, characterized in that, The generation of the first sub-model based on the specifications of the first virtual environment and the model library includes: Based on the specifications of the first virtual environment, the first sample data in the model library is interpolated to obtain the second sample data. The first sample data is used to train the existing sub-models in the model library. The first sub-model is obtained by training the initial model using the second sample data.

8. The method according to any one of claims 1-3 and 5-7, characterized in that, The acquisition of the first performance data of the physical machine includes: Collect multidimensional performance data of the physical machine; The multidimensional performance data is subjected to dimensionality reduction processing to obtain the first performance data.

9. The method according to any one of claims 1-3 and 5-7, characterized in that, The step of determining the first service type based on the first performance data and the specifications of the first virtual environment through an identification model includes: The first performance data is input into the first sub-model that corresponds to the specifications of the first virtual environment among the multiple sub-models included in the recognition model, and multiple probabilities output by the first sub-model are obtained. The multiple probabilities correspond one-to-one with the multiple business types. Based on the multiple probabilities, the first business type is determined from the multiple business types.

10. The method as described in claim 9, characterized in that, The step of determining the first business type from the multiple business types based on the multiple probabilities includes: If the difference between the maximum and the second largest probabilities is less than the probability difference threshold, then a candidate probability set is determined from the probabilities based on the probability difference threshold. The candidate probability set includes the first N probabilities sorted from the probabilities in descending order of value. The difference between any two adjacent probabilities in the N probabilities is less than the probability difference threshold, and 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-3, 5-7, and 10, characterized in that, The optimizations include software optimizations and / or hardware optimizations.

12. The method as described in claim 11, characterized in that, When the optimization includes hardware optimization, optimizing the services running in the first virtual environment based on the first service type includes: Based on the specifications of the first virtual environment, the first service type, and the first mapping relationship, an adjustment strategy is generated for the mapping relationship between the hardware resources of the physical machine and the virtual resources of the first virtual environment. The first mapping relationship characterizes the performance parameters of the physical machine under each of the multiple combinations. The multiple combinations refer to the multiple combinations between the multiple service types and the 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 run on the physical machine.

13. The method according to any one of claims 1-3, 5-7, 10, and 12, characterized in that, The first performance data includes one or more of the following: processor performance monitoring data, operating system data, and virtual environment performance monitoring data.

14. A business optimization device, characterized in that, The device includes: The acquisition module includes acquiring first performance data of a physical machine, wherein the physical machine runs at least one virtual environment, and the first performance data includes at least one-dimensional performance data of the first virtual environment, wherein the first virtual environment is any one of the at least one virtual environments; The identification module is used to determine a first service type based on the first performance data and the specifications of the first virtual environment through an identification model. The first service type is the type of service running in the first virtual environment. The identification model represents the correspondence between the performance of the physical machine and the various service types under the specifications of multiple virtual environments. The various service types include the first service type, and the specifications of the multiple virtual environments include the specifications of the first virtual environment. The optimization module is used to optimize the services running in the first virtual environment based on the first service type.

15. The apparatus as claimed in claim 14, characterized in that, The at least one virtual environment includes one or more of virtual machines, containers, and functions.

16. The apparatus as claimed in claim 14, characterized in that, The identification model includes multiple sub-models that correspond one-to-one with the specifications of the various virtual environments. Each sub-model is used to identify the type of service running in the virtual environment of the corresponding specification.

17. The apparatus according to any one of claims 14-16, characterized in that, The device further includes: The determination module is used to determine the recognition model based on the specifications and model library of the first virtual environment.

18. The apparatus as claimed in claim 17, characterized in that, The determining module includes: The first determining submodule is used to determine the model library as the identification model if the model library includes a first sub-model corresponding to the specifications of the first virtual environment.

19. The apparatus as claimed in claim 17, characterized in that, The determining module includes: The first generation submodule is used to generate the first submodel based on the specifications of the first virtual environment and the model library if the model library does not contain a first submodel corresponding to the specifications of the first virtual environment. A submodule is added to add the first sub-model to the model library to obtain the recognition model.

20. The apparatus as claimed in claim 19, characterized in that, The generation submodule is used for: Based on the specifications of the first virtual environment, the first sample data in the model library is interpolated to obtain the second sample data. The first sample data is used to train the existing sub-models in the model library. The first sub-model is obtained by training the initial model using the second sample data.

21. The apparatus as described in any one of claims 14-16 and 18-20, characterized in that, The acquisition module includes: The acquisition submodule is used to acquire multidimensional performance data of the physical machine; The dimensionality reduction submodule is used to perform dimensionality reduction processing on the multidimensional performance data to obtain the first performance data.

22. The apparatus according to any one of claims 14-16, 18-20, characterized in that, The identification module includes: The input submodule is used to input the first performance data into the first sub-model that corresponds to the specifications of the first virtual environment among the multiple sub-models included in the recognition model, and to obtain multiple probabilities output by the first sub-model, wherein the multiple probabilities correspond one-to-one with the multiple business types; The second determining submodule is used to determine the first service type from the multiple service types based on the multiple probabilities.

23. The apparatus as claimed in claim 22, characterized in that, The second determining submodule is used for: If the difference between the maximum and the second largest probabilities is less than the probability difference threshold, then a candidate probability set is determined from the probabilities based on the probability difference threshold. The candidate probability set includes the first N probabilities sorted from the probabilities in descending order of value. The difference between any two adjacent probabilities in the N probabilities is less than the probability difference threshold, and 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 apparatus as described in any one of claims 14-16, 18-20, and 23, characterized in that, The optimizations include software optimizations and / or hardware optimizations.

25. The apparatus as claimed in claim 24, characterized in that, When the optimization includes hardware optimization, the optimization module includes: 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 service type, and the first mapping relationship. The first mapping relationship characterizes the performance parameters of the physical machine under each of the multiple combinations. The multiple combinations refer to the multiple combinations between the multiple service types and the 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 run on the physical machine.

26. The apparatus as described in any one of claims 14-16, 18-20, 23, and 25, characterized in that, The first performance data includes one or more of the following: 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 memory; The memory is used to store computer programs; The processor is used to execute the computer program to implement the method according to any one of claims 1-13.

28. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the steps of the method described in any one of claims 1-13.

29. A computer program product, characterized in that, The computer program product stores computer instructions, which, when executed by a processor, implement the steps of the method described in any one of claims 1-13.

Citation Information

Patent Citations

  • Physical machine scheduling method and device and computer readable storage medium

    CN110825494A

  • Hardware performance acquisition method, and device, system and storage medium

    WO2023078129A1