Service optimization method and device, electronic equipment and storage medium

By applying full tuning files in multiple application environments and establishing corresponding relationships, automatically selecting target tuning files to optimize service performance, the problem of high cost and large error of manual selection of tuning files in the existing technology is solved, and automation is achieved service optimization.

CN119493613AActive Publication Date: 2025-02-21ALIBABA CLOUD COMPUTING CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202311062342.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-21
Publication Date
2025-02-21
Estimated Expiration
2043-08-21

AI Technical Summary

Technical Problem

The prior art is difficult to automatically select suitable tuning files for different services for performance optimization, resulting in high labor investment costs and large selection errors.

Method used

By applying full tuning files in multiple application environments, determining the environment category based on the difference in operation data, and establishing the correspondence between the tuning files and the environment category, the target tuning files are automatically selected to optimize service performance.

Benefits of technology

The automatic selection of suitable tuning files is achieved, reducing manual selection costs and reducing errors in tuning files selection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119493613A_ABST
    Figure CN119493613A_ABST
Patent Text Reader

Abstract

The invention provides a service optimization method and device, electronic equipment and a storage medium. The method comprises the following steps: after respectively applying at least one tuning file in full-quantity tuning files in a plurality of application environments, determining a plurality of environment categories to which the plurality of application environments belong on the basis of the difference of running data before and after the application of the at least one tuning file in the application environments, the application environment comprises a computer system and a service running on the computer system, and the running data comprises data generated when the service runs on the computer system; determining a corresponding relationship between each tuning file in the total tuning file and at least one environment category in a plurality of environment categories; and according to the corresponding relationship, determining a target tuning file in the total tuning file, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a service optimization method, device, electronic device and storage medium. Background Art

[0002] Different services (for example, big data services, database services, AI-related services, etc.) are running on the server, and different tuning files are needed to optimize these services. For different services, the performance optimization solutions in the tuning files are different, so it is necessary to select appropriate tuning files to optimize the operating performance of different services and improve the overall service quality. In a related technology, it is necessary to select appropriate tuning files for different services based on the experience of performance experts. The manpower investment cost is high, the error of the selected tuning files is large, and different services running in different environments have different performance performances. Manual judgment and sorting are difficult to cover all situations in detail, and it is impossible to automatically select appropriate tuning files for different services for performance optimization. Summary of the invention

[0003] The embodiments of the present application provide a service optimization method, device, electronic device and storage medium to solve the problems existing in the related art.

[0004] In a first aspect, an embodiment of the present application provides a service optimization method, comprising: after respectively applying at least one tuning file in a full tuning file in multiple application environments, based on the difference in running data of the application environment before and after applying the at least one tuning file, determining multiple environment categories to which the multiple application environments belong, the application environment comprising a computer system and a service running on the computer system, the running data comprising data generated by the service running on the computer system; determining a correspondence between each tuning file in the full tuning file and at least one environment category in the multiple environment categories; and determining a target tuning file in the full tuning file based on the correspondence, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0005] In a second aspect, an embodiment of the present application provides a service optimization device, comprising: an environment category determination unit, configured to apply at least one tuning file in a full tuning file in multiple application environments respectively, and then determine multiple environment categories to which the multiple application environments belong based on the difference in running data of the application environment before and after applying the at least one tuning file, wherein the application environment includes a computer system and a service running on the computer system, and the running data includes data generated by the service running on the computer system; a correspondence determination unit, configured to determine the correspondence between each tuning file in the full tuning file and at least one environment category in the multiple environment categories; a tuning file determination unit, configured to determine a target tuning file in the full tuning file according to the correspondence, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0006] In a third aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor implements any of the above methods when executing the computer program.

[0007] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the above is implemented.

[0008] Compared with the prior art, this application has the following advantages:

[0009] According to an embodiment of the present application, multiple environment categories to which multiple application environments belong can be determined based on the difference in running data of the application environment before and after applying at least one tuning file; a target tuning file is determined based on the correspondence between the tuning files and the environment categories, so that the target tuning file can be applied in the new application environment to optimize the services running in the new application environment. Suitable tuning files can be automatically selected to optimize the services in the new application environment, thereby reducing the cost of manually selecting tuning files and reducing errors in tuning file selection.

[0010] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments according to the present application and should not be regarded as limiting the scope of the present application.

[0012] Figure 1 is a schematic diagram showing a service optimization solution according to an embodiment of the present application;

[0013] Figure 2 is a flow chart showing a service optimization method according to an embodiment of the present application;

[0014] Figure 3 is a schematic diagram showing a method of obtaining a first vector according to an embodiment of the present application;

[0015] Figure 4 is a schematic diagram showing a method of obtaining a feature vector corresponding to an application environment according to an embodiment of the present application;

[0016] Figure 5 is a structural block diagram showing a service optimization device according to an embodiment of the present application; and

[0017] Figure 6 is a block diagram showing an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0018] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the concept or scope of the present application. Therefore, the drawings and descriptions are considered to be exemplary in nature and not restrictive.

[0019] To facilitate understanding of the technical solutions of the embodiments of the present application, the following describes the related technologies of the embodiments of the present application. The following related technologies can be combined with the technical solutions of the embodiments of the present application as optional solutions, and they all belong to the protection scope of the embodiments of the present application.

[0020] The present application embodiment provides a service optimization solution to fully or partially solve the problems existing in the above-mentioned related technologies. In order to more clearly demonstrate the service optimization solution provided in the present application embodiment, the following is combined with Figure 1 The service optimization plan is described. Figure 1 Schematic diagram showing a service optimization solution of an embodiment of the present application. Figure 1As shown, the application environment includes a computer system and services running on the computer system. First, it is necessary to determine the multiple environment categories to which the multiple application environments belong. Then, it is necessary to determine the correspondence between each tuning file and these environment categories. Finally, according to the environment category to which the new application environment belongs and the correspondence, determine a suitable target tuning file, so that the target tuning file can be applied in the new application environment to optimize the services running in the new application environment. Based on the service optimization scheme of the embodiment of the present application, the target tuning file can be determined according to the correspondence between the tuning file and the environment category, so that the target tuning file can be applied in the new application environment to optimize the services running in the new application environment, and the suitable tuning file can be automatically selected to optimize the services in the new application environment, thereby reducing the cost of manually selecting the tuning file and reducing the error in the selection of the tuning file.

[0021] An embodiment of the present application provides a service optimization method 200, which is applied to an electronic device, which may be an electronic device such as a server, a computer, a mobile phone, or a smart watch. Figure 2 The service optimization method 200 of the present application is described. Figure 2 1 is a flow chart showing a service optimization method according to an embodiment of the present application. Figure 2 As shown, the service optimization method 200 may include the following steps S201 to S203. Steps S201 to S203 will be described in detail below in conjunction with a specific embodiment.

[0022] First, proceed to step S201. In step S201, after at least one tuning file in the full tuning file is applied to multiple application environments respectively, multiple environment categories to which the multiple application environments belong are determined based on the difference in running data of the application environments before and after the at least one tuning file is applied, where the application environments include computer systems and services running on the computer systems, and the running data include data generated when the services run on the computer systems.

[0023] The application environment includes a computer system and services running on the computer system. Services can be such as big data services, database services, and AI-related services. Services are also called workloads. Different services have different performance when running on different computer systems. Different computer systems refer to computer systems with different specifications. For example, the specifications of computer system C1 are 8 CPUs, 32G memory, and 4 network cards, and the specifications of computer system C2 are 16 CPUs, 64G memory, and 8 network cards.

[0024] In one embodiment, multiple application environments can be obtained by arranging and combining different computer systems and different services. For example, there are currently 3 computer systems (i.e., computer system C1 to computer system C3) and 2 services (service S1 and service S2). Arranging and combining these 3 computer systems and 2 services can obtain 6 application environments, i.e., {computer system C1, service S1}, {computer system C1, service S2}, and so on, until {computer system C3, service S2}.

[0025] The full tuning file is all the tuning files that already exist on the electronic device. A tuning file (profile) is a configuration scheme of a group of system parameters, including multiple system parameters and the values ​​of these multiple system parameters.

[0026] In one embodiment, the tuning file includes a plurality of system parameters and values ​​of the plurality of system parameters, and the system parameters include at least one of the following parameters: a kernel configuration parameter and an application configuration parameter.

[0027] System parameters refer to configuration items that can be dynamically set in the operating system and have an impact on application performance, such as kernel configuration parameters and application configuration parameters. Kernel configuration parameters may include parameters such as fs.file-max (indicating the maximum number of files that the kernel can open), kernel.sem (indicating the kernel's semaphore), vm.dirty_ratio (indicating the proportion of available memory), etc. Application configuration parameters may include, for example, nginx application parameters, which may be parameters such as worker_connections (indicating the number of external connections that a single worker process can establish simultaneously), keepalive_timeout (indicating the timeout for maintaining a connection), etc. In the application environment, parameters may be set according to the system parameter configuration scheme described in the tuning file, thereby optimizing the performance of the services in the application environment. The above selection of system parameters is only exemplary, and those skilled in the art may select system parameters according to actual conditions.

[0028] In one embodiment, determining the multiple environment categories to which the multiple application environments belong based on the difference in running data of the application environment before and after applying the at least one tuning file includes: obtaining a feature vector corresponding to the application environment based on the difference in running data of the application environment before and after applying the at least one tuning file; and determining the multiple environment categories corresponding to the multiple application environments based on the feature vector corresponding to each of the multiple application environments.

[0029] In one embodiment, obtaining a feature vector corresponding to the application environment based on a difference in running data of the application environment before and after applying the at least one tuning file includes: calculating a difference between a first vector corresponding to first running data of the application environment before applying the at least one tuning file and a second vector corresponding to at least one second running data of the application environment after applying the at least one tuning file, and obtaining at least one difference vector based on the difference; and concatenating the at least one difference vector to obtain a feature vector corresponding to the application environment.

[0030] Before applying at least one tuning file, an application environment may use different performance monitoring tools (for example, iperf, top, etc.) to obtain the first operating data of the application environment at a certain moment. The first operating data may include, for example, CPU occupancy, memory occupancy, network bandwidth occupancy and other data. By arranging, standardizing and normalizing the first operating data, a first vector corresponding to the first operating data can be obtained. The first operating data may be arranged in ascending order, descending order, or randomly, and the present application does not impose any restrictions on this. Standardizing the first data is to transform the first data into a distribution with a mean of 0 and a standard deviation of 1. After standardization, the first data may be normalized, and normalization is to change the standardized first data to a fixed interval, such as the interval [0,1]. The following will refer to Figure 3 The process of obtaining the first vector is explained. Figure 3 FIG. 1 is a schematic diagram showing a method of obtaining a first vector according to an embodiment of the present application. Figure 3 As shown, before a tuning file is applied to a certain application environment, the first operating data output by performance monitoring tool 1 and performance monitoring tool 2 includes a total of n data. For example, operating data 1 can be the CPU occupancy rate, and operating data n can be the memory occupancy rate. After arranging these n data, standardizing and normalizing these n data can obtain a first vector corresponding to the first operating data, and the first vector is an n-dimensional vector. The vector corresponding to the operating data at a single moment cannot accurately characterize the characteristics of the application environment. This is because two application environments with similar vectors may have different performance after applying the same tuning file. Therefore, it is necessary to obtain a vector based on the difference between the application environment before and after the tuning file is applied to accurately characterize the characteristics of the application environment.

[0031] According to the same method as above, the second vector corresponding to at least one second operating data of the application environment after applying at least one tuning file can be obtained. The number of second vectors is equal to the number of tuning files applied by the application environment. For example, if the application environment applies 3 different tuning files, 3 second operating data will be generated, each second operating data corresponds to a second vector, and there are 3 second vectors in total. By calculating the difference between the first vector and at least one second vector, at least one difference vector can be obtained. Figure 4 The characteristic vector corresponding to the application environment is explained. Figure 4 FIG. 1 is a schematic diagram showing a method of obtaining a feature vector corresponding to an application environment according to an embodiment of the present application. Figure 4 As shown in the figure, a certain application environment applies a total of 3 tuning files. The vector corresponding to the first running data of the application environment before applying the tuning files is the first vector. After applying the 3 tuning files, the application environment generates 3 second running data, each of which corresponds to a second vector, that is, there are 3 second vectors. By calculating the difference between the first vector and each second vector, 3 difference vectors are obtained. These 3 difference vectors are spliced ​​to obtain the feature vector corresponding to the application environment.

[0032] According to the embodiment of the present application, the feature vector obtained based on the difference in running data of the application environment before and after applying at least one tuning file can accurately characterize the characteristics of the application environment, and thus can distinguish different application environments.

[0033] In one embodiment, the determining the multiple environment categories to which the multiple application environments belong based on the feature vectors corresponding to each of the multiple application environments includes: clustering the multiple application environments based on the feature vectors corresponding to each of the application environments to determine the multiple environment categories to which the multiple application environments belong. The clustering algorithm includes at least one of the following algorithms: K-means (K-means clustering algorithm) algorithm, DBSCAN (Density-Based Spatial Clustering of Applications with Noise) algorithm, and agglomerative hierarchical algorithm.

[0034] Clustering is to classify data with similar characteristics in a data set together, which is called a cluster (category). Based on the feature vector corresponding to each application environment, application environments with similar characteristics can be classified together. Taking the K-means algorithm as an example, it is explained that multiple application environments are clustered to obtain all categories corresponding to multiple application environments. The K-means clustering algorithm belongs to an unsupervised learning algorithm, which can cluster unlabeled data (that is, data without defined categories). For example, it is necessary to divide multiple application environments into 3 clusters. First, 3 initial points are randomly determined as the centroid (the center of all points in the cluster). Then, based on the feature vector corresponding to each application environment in the multiple application environments, the Euclidean distance between each application environment and the centroid of each cluster is calculated, and each application environment is assigned to the cluster closest to it, and the centroid of each cluster is updated. The above process is repeated until each application environment is closest to its corresponding centroid. By clustering multiple application environments through the above steps, all categories corresponding to these multiple application environments can be obtained.

[0035] According to the embodiments of the present application, application environments are clustered through an unsupervised learning algorithm, and application environments can be divided into different categories based on their characteristics without the need to prepare labeled training sets in advance, thereby reducing the cost of labeling data.

[0036] Next, the process proceeds to step S102. In step S102, a corresponding relationship between each tuning file in the full tuning file and at least one environment category in the multiple environment categories is determined.

[0037] In one embodiment, determining the correspondence between each tuning file in the full tuning file and at least one environment category among the multiple environment categories includes: determining the correspondence by setting a label for the at least one environment category in each of the tuning files, wherein the label indicates whether the tuning file can improve the service performance of the application environment in the environment category.

[0038] After obtaining multiple environment categories to which multiple application environments belong, performance testing tools (for example, sysbench, wrk, etc.) can be used to determine whether the service performance (for example, network throughput, latency, etc.) of the application environments in the environment categories is improved after applying each tuning file, and set a label for at least one environment category in each tuning file. For example, the full tuning file includes three tuning files (i.e., P1, P2, and P3), and multiple application environments are divided into three environment categories (A, B, and C). After the tuning file P1 is applied, the performance of application environment A1 in environment category A is improved, and the label for environment category A is set to 1 in the tuning file P1 (1 represents that the tuning file can improve the service performance of the application environment in this category); after the tuning file P1 is applied, the performance of application environment B1 in environment category B is not improved, and the label for environment category B is set to 0 in the tuning file P1 (0 represents that the tuning file cannot improve the service performance of the application environment in this category); after the tuning file P1 is applied, the performance of application environment C1 in environment category C is not improved, and the label for environment category C is set to 0 in the tuning file P1. Similarly, labels for these three environment categories can be set in other tuning files in the full tuning file.

[0039] In one embodiment, the application environment in the environment category is the application environment that is shortest away from the center point of the environment category.

[0040] A category can include multiple application environments. The center of the category is calculated by the average of all application environments included in the category. The application environment with the shortest distance to the center of the category can be considered to have the most common characteristics in the category. Determine whether the tuning file can improve the service performance of the application environment with the shortest distance to the center of a category and set a label for the category to reduce the probability of errors in the label.

[0041] Next, the process proceeds to step S103. In step S103, according to the corresponding relationship, a target tuning file is determined in the full tuning file, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0042] When a new application environment appears, it is necessary to determine the environment category to which the new application environment belongs, and select a suitable tuning file from the full set of tuning files to optimize the services in the new application environment based on the correspondence between the tuning file and at least one of the multiple environment categories.

[0043] In one embodiment, determining a target tuning file in the full tuning file based on the corresponding relationship so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment includes: obtaining a feature vector corresponding to the new application environment; determining the environment category to which the new application environment belongs among the multiple environment categories based on the feature vector corresponding to the new application environment; obtaining a label corresponding to the environment category to which the new application environment belongs in the full tuning file, and determining a target tuning file from the full tuning file based on the label corresponding to the environment category to which the new application environment belongs and the corresponding relationship so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0044] When a new application environment appears, the feature vector corresponding to the new application environment can be obtained based on the difference in running data of the new target environment before and after applying at least one tuning file. Then, based on the Euclidean distance between the feature vector and the center of each environment category, it can be determined which environment category the new application environment belongs to. After obtaining the environment category to which the new application environment belongs, the target tuning file can be determined to optimize the services in the new application environment based on the label corresponding to the environment category to which the new application environment belongs in the full tuning file and the correspondence between the tuning file and the environment category. For example, the full tuning file includes 3 tuning files (i.e., P1, P2, and P3), the existing application environment can be divided into 3 environment categories (i.e., A, B, and C), and the feature vector corresponding to the new application environment N is closest to the center of environment category C, then the new application environment N can be judged to belong to environment category C. In the tuning file P1, the label for environment category C is 0 (0 means that the tuning file cannot improve the service performance of the application environment in this category); in the tuning file P2, the label for environment category C is 0; in the tuning file P3, the label for environment category C is 1 (1 means that the tuning file can improve the service performance of the application environment in this category). Therefore, P3 can be selected in the full tuning file to optimize the services in the new application environment N.

[0045] Corresponding to the application scenario and method of the method provided in the embodiment of the present application, the embodiment of the present application also provides a service optimization device 500, which is deployed in an electronic device, and the electronic device can be an electronic device such as a server, a computer, a mobile phone, or a smart watch. Figure 5 The service optimization device 500 of the present application is described. Figure 5 1 is a block diagram showing a service optimization device according to an embodiment of the present application. Figure 5As shown, the service optimization device 500 may include: an environment category determination unit 501 , a correspondence determination unit 502 , and a tuning file determination unit 503 .

[0046] The environment category determination unit 501 is configured to apply at least one tuning file in the full tuning file to multiple application environments respectively, and then determine multiple environment categories to which the multiple application environments belong based on the difference in running data of the application environments before and after applying the at least one tuning file, wherein the application environments include a computer system and a service running on the computer system, and the running data includes data generated when the service runs on the computer system.

[0047] The environment category determination unit 501 may be a component in the electronic device, and the electronic device obtains multiple environment categories to which multiple application environments belong through the component.

[0048] The correspondence determination unit 502 is configured to determine a correspondence between each tuning file in the full amount of tuning files and at least one environment category in the multiple environment categories.

[0049] The correspondence determination unit 502 may be a component in the electronic device, and the electronic device determines the correspondence between the tuning file and the environment category to which the application environment belongs through the component.

[0050] The tuning file determining unit 503 is configured to determine a target tuning file in the full tuning file according to the corresponding relationship, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0051] The tuning file determining unit 503 may be a component in the electronic device, and the electronic device selects a target tuning file through the component to optimize the service running in the new application environment.

[0052] In one embodiment, the environment category determination unit 501 is further configured to obtain a feature vector corresponding to the application environment based on the difference in running data of the application environment before and after applying the at least one tuning file; and determine multiple environment categories corresponding to the multiple application environments based on the feature vectors corresponding to each of the multiple application environments.

[0053] In one embodiment, the environment category determination unit 501 is further configured to calculate the difference between a first vector corresponding to the first running data of the application environment before applying the at least one tuning file and a second vector corresponding to at least one second running data of the application environment after applying the at least one tuning file, and obtain at least one difference vector based on the difference; and concatenate the at least one difference vector to obtain a feature vector corresponding to the application environment.

[0054] In one embodiment, the correspondence determination unit 502 is further configured to determine the correspondence by setting a label for the at least one environment category in each of the tuning files, wherein the label indicates whether each of the tuning files can improve the service performance of the application environment in the environment category.

[0055] In one embodiment, the tuning file determination unit 503 is further configured to obtain a feature vector corresponding to the new application environment; determine the environment category to which the new application environment belongs among the multiple environment categories based on the feature vector corresponding to the new application environment; obtain a label corresponding to the category to which the new application environment belongs in the full tuning file, and determine a target tuning file from the full tuning file based on the label corresponding to the environment category to which the new application environment belongs and the corresponding relationship, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

[0056] In one embodiment, the correspondence determination unit 502 is further configured to perform clustering processing on the multiple application environments based on the feature vectors corresponding to the application environments, so as to determine the multiple environment categories to which the multiple application environments belong.

[0057] According to an embodiment of the present application, multiple environment categories to which multiple application environments belong can be determined based on the difference in running data of the application environment before and after applying at least one tuning file; a target tuning file is determined based on the correspondence between the tuning files and the environment categories, so that the target tuning file can be applied in the new application environment to optimize the services running in the new application environment. Suitable tuning files can be automatically selected to optimize the services in the new application environment, thereby reducing the cost of manually selecting tuning files and reducing errors in tuning file selection.

[0058] According to the embodiment of the present application, the feature vector obtained based on the difference in running data of the application environment before and after applying at least one tuning file can accurately characterize the characteristics of the application environment, and thus can distinguish different application environments.

[0059] According to the embodiments of the present application, application environments are clustered through an unsupervised learning algorithm, and application environments can be divided into different categories based on their characteristics without the need to prepare labeled training sets in advance, thereby reducing the cost of labeling data.

[0060] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method, and have corresponding beneficial effects, which will not be repeated here.

[0061] Figure 6FIG. 1 is a block diagram of an electronic device used to implement an embodiment of the present application. Figure 6 As shown, the electronic device includes: a memory 601 and a processor 602. The memory 601 stores a computer program that can be run on the processor 602. When the processor 602 executes the computer program, the method in the above embodiment is implemented. The number of the memory 601 and the processor 602 can be one or more.

[0062] The electronic device also includes:

[0063] The communication interface 603 is used to communicate with external devices and perform data exchange transmission.

[0064] If the memory 601, the processor 602 and the communication interface 603 are implemented independently, the memory 601, the processor 602 and the communication interface 603 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0065] Optionally, in a specific implementation, if the memory 601, the processor 602 and the communication interface 603 are integrated on a chip, the memory 601, the processor 602 and the communication interface 603 can communicate with each other through an internal interface.

[0066] An embodiment of the present application provides a computer-readable storage medium storing a computer program, which implements the method provided in the embodiment of the present application when the program is executed by a processor.

[0067] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the method provided in the embodiment of the present application.

[0068] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.

[0069] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced RISC Machines (ARM) architecture.

[0070] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of exemplary but not limiting description, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DR RAM).

[0071] 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 program instructions are loaded and executed on a computer, the process or function according to 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.

[0072] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification and the features of different embodiments or examples, unless they are contradictory.

[0073] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0074] Any process or method described in the flow chart or otherwise described herein can be understood as a module, fragment or portion of a code representing one or more executable instructions for implementing the steps of a specific logical function or process. And the scope of the preferred embodiment of the present application includes other implementations, in which the functions may not be performed in the order shown or discussed, including in a substantially simultaneous manner or in a reverse order according to the functions involved.

[0075] The logic and / or steps described in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, which can be specifically implemented in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or used in combination with these instruction execution systems, devices or apparatuses.

[0076] It should be understood that the various parts of the present application can be implemented with hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented with software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above embodiment method can be completed by instructing the relevant hardware through a program, which can be stored in a computer-readable storage medium, and when the program is executed, it includes one of the steps of the method embodiment or a combination thereof.

[0077] In addition, each functional unit in each embodiment of the present application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. If the above-mentioned integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium can be a read-only memory, a disk or an optical disk, etc.

[0078] The above is only an exemplary embodiment of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various changes or substitutions within the technical scope recorded in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A service optimization method, comprising: After applying at least one tuning file in the full tuning file to multiple application environments respectively, determining multiple environment categories to which the multiple application environments belong based on differences in running data of the application environments before and after applying the at least one tuning file, the application environments include computer systems and services running on the computer systems, and the running data include data generated when the services run on the computer systems; Determine a correspondence between each tuning file in the full tuning file and at least one environment category in the multiple environment categories; According to the corresponding relationship, a target tuning file is determined in the full tuning file, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

2. The method according to claim 1, wherein: The determining, based on the difference in running data of the application environment before and after applying the at least one tuning file, the multiple environment categories to which the multiple application environments belong includes: Obtaining a feature vector corresponding to the application environment based on a difference in running data of the application environment before and after applying the at least one tuning file; Based on the feature vector corresponding to each of the multiple application environments, multiple environment categories to which the multiple application environments belong are determined.

3. The method according to claim 2, wherein: The obtaining, based on the difference in running data of the application environment before and after applying the at least one tuning file, a feature vector corresponding to the application environment includes: Calculating a difference between a first vector corresponding to first running data of the application environment before applying the at least one tuning file and a second vector corresponding to at least one second running data of the application environment after applying the at least one tuning file, and obtaining at least one difference vector according to the difference; The at least one difference vector is concatenated to obtain a feature vector corresponding to the application environment.

4. The method according to claim 1 or 2, wherein: The determining of the correspondence between each tuning file in the full tuning file and at least one environment category in the multiple environment categories includes: The corresponding relationship is determined by setting a label for the at least one environment category in each of the tuning files, wherein the label indicates whether each of the tuning files can improve the service performance of the application environment in the environment category.

5. The method according to claim 4, wherein: Determining a target tuning file in the full tuning file according to the corresponding relationship, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment, includes: Obtaining a feature vector corresponding to the new application environment; Based on the feature vector corresponding to the new application environment, determining the environment category to which the new application environment belongs among the multiple environment categories; Obtain a label corresponding to the environment category to which the new application environment belongs in the full tuning file, and determine a target tuning file from the full tuning file based on the label corresponding to the environment category to which the new application environment belongs and the corresponding relationship, so as to apply the target tuning file in the new application environment to optimize the services running in the new application environment.

6. The method according to claim 2, wherein: The determining, based on the feature vector corresponding to each of the multiple application environments, multiple environment categories to which the multiple application environments belong includes: Based on the feature vectors corresponding to the application environments, clustering processing is performed on the multiple application environments to determine multiple environment categories to which the multiple application environments belong.

7. The method according to claim 4, wherein: The application environment in the environment category is the application environment with the shortest distance from the center point of the environment category.

8. A service optimization device, comprising: an environment category determination unit configured to, after applying at least one tuning file in the full tuning file to each of the multiple application environments, determine multiple environment categories to which the multiple application environments belong based on differences in running data of the application environments before and after applying the at least one tuning file, wherein the application environments include a computer system and a service running on the computer system, and the running data includes data generated by the service running on the computer system; a correspondence determination unit configured to determine a correspondence between each tuning file in the full amount of tuning files and at least one environment category in the multiple environment categories; The tuning file determining unit is configured to determine a target tuning file in the full tuning file according to the corresponding relationship, so as to apply the target tuning file in the new application environment to optimize the service running in the new application environment.

9. An electronic device comprising a memory, a processor and a computer program stored in the memory, wherein the processor implements the method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Firmware analogue simulation method and device, electronic equipment and readable storage medium

    CN112241311A

  • Configuration file pushing method and device, server and storage medium

    CN112948012A

  • Humming retrieval method based on melody feature clustering and optimization

    CN113377994A

  • Operating system performance tuning device and method, equipment and storage medium

    CN114138597A

  • Performance tuning method and system, electronic equipment and readable storage medium

    CN116107761A