Cluster optimization method, device, server and medium

By collecting, normalizing, and computing monitoring data in the cloud environment, abnormal clusters are identified and dealt with accordingly, solving the problem of unified handling of cluster faults in the cloud environment and achieving accurate and efficient fault handling.

CN111581044BActive Publication Date: 2026-03-20PING AN TECH (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-18
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing cloud computing technologies cannot effectively handle cluster failures in cloud environments, especially when clusters in different cloud environments experience the same failure, they cannot be handled uniformly.

Method used

By collecting monitoring data, performing normalization processing and calculating indicator items, abnormal clusters and their types are identified, and corresponding actions are taken according to the abnormality type, including abnormal log matching and instance number change processing, and notifications are sent in conjunction with advanced encryption standard algorithms.

Benefits of technology

It enables effective handling of cluster faults in cloud environments, can uniformly handle the same faults in different cloud environments, improves the accuracy and efficiency of fault handling, and ensures information security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111581044B_ABST
    Figure CN111581044B_ABST
Patent Text Reader

Abstract

The application provides a cluster optimization method, device, server and medium. The cluster optimization method can collect monitoring data of all clusters in at least one cloud environment within a preset time, normalize the monitoring data of each cluster to obtain at least one index item of each cluster, calculate the stability of each cluster and the usage rate of each cluster according to the at least one index item, determine an abnormal cluster and an abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster, and process the abnormal cluster according to the abnormal type. Through cluster calculation, the method can not only perform corresponding processing on the fault of the cluster in the cloud environment, but also can perform unified processing on the same fault of the cluster in different cloud environments.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of cloud computing, and particularly relates to a cluster optimization method and device, a server and a medium. BACKGROUND

[0002] At present, with the rapid development of cloud computing, the application field of cloud computing is also widened, and thus the type of application is also increased. According to the needs, different applications will be deployed on clusters in different cloud environments.

[0003] However, in the existing technical solution, the fault of the cluster in the cloud environment cannot be processed accordingly, and in addition, when the clusters in different cloud environments have the same fault, they cannot be processed uniformly. SUMMARY

[0004] In view of the above, it is necessary to provide a cluster optimization method, device, server and medium, which can not only process the fault of the cluster in the cloud environment accordingly, but also can uniformly process the fault when the clusters in different cloud environments have the same fault.

[0005] A cluster optimization method, the method comprising:

[0006] Collecting monitoring data of all clusters in at least one cloud environment within a preset time;

[0007] Normalizing the monitoring data of each cluster to obtain at least one index item of each cluster;

[0008] According to the at least one index item, the stability of each cluster and the usage rate of each cluster are calculated;

[0009] According to the stability of each cluster and the usage rate of each cluster, an abnormal cluster and an abnormal type of the abnormal cluster are determined;

[0010] According to the abnormal type, the abnormal cluster is processed.

[0011] According to the preferred embodiment of the present application, before collecting the monitoring data of all clusters in at least one cloud environment within a preset time, the method further comprises:

[0012] Obtaining alarm information of all clusters within the preset time;

[0013] Carrying out word segmentation processing on the alarm information to obtain a plurality of first information;

[0014] Cleaning the first information to obtain a plurality of second information;

[0015] Calculating the probability of the plurality of second information by using TF-IDF algorithm;

[0016] determining the monitoring data according to probabilities of the plurality of second information.

[0017] According to the preferred embodiment of the present application, the calculating the stability of each cluster and the usage rate of each cluster according to the at least one index item comprises:

[0018] The stability of each cluster is calculated according to Formula One, wherein the Formula One is:

[0019]

[0020] wherein S represents the stability of the cluster, a represents the risk coefficient of the first level alarm, x represents the number of the first level alarm, b represents the risk coefficient of the second level alarm, y represents the number of the second level alarm, c represents the risk coefficient of the third level alarm, z represents the number of the third level alarm, and m represents the total number of instances in the cluster;

[0021] The usage rate of each cluster is calculated according to Formula Two, wherein the Formula Two is:

[0022]

[0023] wherein U represents the usage rate of the cluster, n i represents the utilization rate of the ith instance, i∈{1, 2, 3, …, m} (m∈N*).

[0024] According to the preferred embodiment of the present application, the determining the abnormal cluster and the abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster comprises one or a combination of the following ways:

[0025] For any cluster in each cluster, the stability of the cluster and the average stability of the remaining clusters except the cluster are obtained, the average stability is multiplied by a first preset proportion to obtain a first value, and when the stability of the cluster is less than the first value, the cluster is determined as a first cluster, and the first cluster belongs to the abnormal cluster of the stability abnormal type; and / or

[0026] For any cluster in each cluster, the usage rate of the cluster and the average usage rate of the remaining clusters except the cluster are obtained, the average usage rate is multiplied by a second preset proportion to obtain a second value, and the average usage rate is multiplied by a third preset proportion to obtain a third value, and when the usage rate of the cluster is less than the second value or greater than the third value, the cluster is determined as a second cluster, and the second cluster belongs to the abnormal cluster of the usage rate abnormal type.

[0027] According to the preferred embodiment of the present application, the processing the abnormal cluster according to the abnormal type comprises one or a combination of the following ways:

[0028] extracting an abnormal log in the first cluster, obtaining a target scheme matching the abnormal log from the configuration schemes, and processing the first cluster according to the target scheme; and / or

[0029] determining a change amount of the number of instances in the second cluster according to the usage rate of the second cluster, and processing the second cluster according to the change amount.

[0030] According to the preferred embodiment of the present application, the determining of the change amount of the number of instances in the second cluster according to the usage rate of the second cluster comprises:

[0031] obtaining a first number of instances in the second cluster;

[0032] multiplying the usage rate of the second cluster by the first number, and dividing the product by the average usage rate to obtain a second number of instances in the second cluster;

[0033] subtracting the second number from the first number to obtain the change amount.

[0034] According to the preferred embodiment of the present application, after the processing of the abnormal cluster according to the abnormal type, the method further comprises:

[0035] testing the abnormal cluster to obtain a test result;

[0036] generating target information according to the test result when the test result is a test failure;

[0037] encrypting the target information by using an advanced encryption standard algorithm to obtain target ciphertext;

[0038] sending the target ciphertext to a terminal device of a designated contact person.

[0039] A cluster optimization device, the device comprising:

[0040] a collection unit configured to collect monitoring data of all clusters in at least one cloud environment within a preset time;

[0041] a processing unit configured to perform normalization processing on the monitoring data of each cluster to obtain at least one index item of each cluster;

[0042] a calculation unit configured to calculate a stability of each cluster and a usage rate of each cluster according to the at least one index item;

[0043] a determination unit configured to determine an abnormal cluster and an abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster;

[0044] The processing unit is further configured to process the abnormal cluster according to the abnormal type.

[0045] According to the preferred embodiment of the present application, the device further comprises:

[0046] The acquisition unit is configured to acquire alarm information of all clusters in a preset time before acquiring monitoring data of all clusters in the preset time in at least one cloud environment;

[0047] The processing unit is further configured to perform word segmentation processing on the alarm information to obtain a plurality of first information.

[0048] The cleaning unit is configured to clean the first information to obtain a plurality of second information.

[0049] The calculation unit is further configured to calculate probabilities of the plurality of second information by using a TF-IDF algorithm.

[0050] The determination unit is further configured to determine the monitoring data according to the probabilities of the plurality of second information.

[0051] According to the preferred embodiment of the present application, the calculation unit calculates the stability of each cluster and the usage rate of each cluster according to the at least one index item, which includes:

[0052] The stability of each cluster is calculated according to Formula One, and the Formula One is:

[0053]

[0054] wherein S represents the stability of the cluster, a represents a dangerous coefficient of the first-level alarm, x represents the number of the first-level alarms, b represents a dangerous coefficient of the second-level alarm, y represents the number of the second-level alarms, c represents a dangerous coefficient of the third-level alarm, z represents the number of the third-level alarms, and m represents the total number of instances in the cluster.

[0055] The usage rate of each cluster is calculated according to Formula Two, and the Formula Two is:

[0056]

[0057] wherein U represents the usage rate of the cluster, n i represents the utilization rate of the i-th instance, i∈{1, 2, 3, …, m} (m∈N*).

[0058] According to the preferred embodiment of the present application, the determination unit determines the abnormal cluster and the abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster, which includes a combination of one or more of the following ways:

[0059] For any cluster in each cluster, obtain the stability of the cluster and the average stability of the rest of the clusters except the cluster, multiply the average stability by a first preset ratio to obtain a first value, and when the stability of the cluster is less than the first value, determine the cluster as a first cluster, the first cluster belonging to an abnormal cluster of a stability abnormal type; and / or

[0060] For any cluster in each cluster, obtain the usage rate of the cluster and the average usage rate of the rest of the clusters except the cluster, multiply the average usage rate by a second preset ratio to obtain a second value, and multiply the average usage rate by a third preset ratio to obtain a third value, and when the usage rate of the cluster is less than the second value or greater than the third value, determine the cluster as a second cluster, the second cluster belonging to an abnormal cluster of a usage rate abnormal type.

[0061] According to a preferred embodiment of the present application, the processing of the abnormal cluster according to the abnormal type by the processing unit comprises one or a combination of the following modes:

[0062] extracting an abnormal log in the first cluster, obtaining a target scheme matching the abnormal log from a configuration scheme, and processing the first cluster according to the target scheme; and / or

[0063] According to the usage rate of the second cluster, determine a change amount of the number of instances in the second cluster, and process the second cluster according to the change amount.

[0064] According to a preferred embodiment of the present application, the determination of the change amount of the number of instances in the second cluster according to the usage rate of the second cluster by the processing unit comprises:

[0065] obtain a first number of instances in the second cluster;

[0066] multiply the usage rate of the second cluster by the first number and divide by the average usage rate to obtain a second number of instances in the second cluster;

[0067] subtract the second number from the first number to obtain the change amount.

[0068] According to a preferred embodiment of the present application, the device further comprises:

[0069] a testing unit configured to test the abnormal cluster after the processing of the abnormal cluster according to the abnormal type to obtain a test result;

[0070] a generating unit configured to generate target information according to the test result when the test result is a test failure;

[0071] An encryption unit is configured to encrypt the target information by using an advanced encryption standard algorithm to obtain target ciphertext.

[0072] A sending unit is configured to send the target ciphertext to a terminal device of a designated contact.

[0073] A server comprises:

[0074] A memory is configured to store at least one instruction; and

[0075] A processor is configured to execute the instruction stored in the memory to implement the cluster optimization method.

[0076] A computer readable storage medium stores at least one instruction, which is executed by a processor in a server to implement the cluster optimization method.

[0077] As can be seen from the above technical solutions, the present application can not only deal with the fault of the cluster in the cloud environment, but also can uniformly deal with the same fault of the cluster in different cloud environments. BRIEF DESCRIPTION OF DRAWINGS

[0078] Figure 1 is a flow chart of a preferred embodiment of the cluster optimization method of the present application.

[0079] Figure 2 is a functional module diagram of a preferred embodiment of the cluster optimization device of the present application.

[0080] Figure 3 is a structural diagram of a server of a preferred embodiment of the present application for implementing the cluster optimization method. DETAILED DESCRIPTION

[0081] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be described in detail below in combination with the drawings and specific embodiments.

[0082] As Figure 1 shown, is a flow chart of a preferred embodiment of the cluster optimization method of the present application. The order of the steps in the flow chart can be changed according to different requirements, and some steps can be omitted.

[0083] The cluster optimization method is applied to one or more servers, which is a device capable of automatically performing numerical calculation and / or information processing according to pre-set or stored instructions, and the hardware thereof includes but is not limited to microprocessors, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0084] The server can be any electronic product capable of human-computer interaction with the user, such as a personal computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a game console, an interactive Internet Protocol Television (IPTV), a smart wearable device, etc.

[0085] The server can also include network devices and / or user devices. The network devices include, but are not limited to, a single network server, a server group composed of multiple network servers, or a cloud composed of a large number of hosts or network servers based on cloud computing.

[0086] The network in which the server is located includes but is not limited to the Internet, a wide area network, a metropolitan area network, a local area network, a virtual private network (VPN), etc.

[0087] S10, collecting monitoring data of all clusters in at least one cloud environment within a preset time.

[0088] In at least one embodiment of the present application, the monitoring data is data extracted from alarm information, and the monitoring data includes but is not limited to alarm time, alarm level, the number corresponding to the alarm level, the risk coefficient corresponding to the alarm level, the total number of cluster instances, the utilization rate of each instance, and alarm root cause.

[0089] In at least one embodiment of the present application, before collecting the monitoring data of all clusters in at least one cloud environment within a preset time, the method further includes:

[0090] The server acquires alarm information of all clusters in the preset time, performs word segmentation processing on the alarm information to obtain a plurality of first information, further cleans the first information to obtain a plurality of second information, calculates the probability of the plurality of second information by using a TF-IDF algorithm, and further determines the monitoring data according to the probability of the plurality of second information.

[0091] By acquiring the alarm information in the preset time, the occurrence time of the monitoring data is controlled, the interval between the calculation time of the cluster stability or the cluster usage and the occurrence time is avoided to be too long, and the calculation result of the current cluster stability or the current cluster usage is avoided to be inaccurate.

[0092] Specifically, the server cleans configuration information in the first information to obtain the plurality of second information.

[0093] The configuration information includes, but is not limited to, function words, stop words, etc.

[0094] By cleaning the plurality of first information, the probability of the plurality of second information can be avoided to be affected by the configuration information, the monitoring data can be accurately determined, the server does not need to calculate the probability of the configuration information in the plurality of first information, the calculation time can be shortened, and the monitoring data can be quickly determined.

[0095] S11, the monitoring data of each cluster is normalized to obtain at least one index item of each cluster.

[0096] In at least one embodiment of the present application, the at least one index item is basic information for calculating the stability or the usage of the cluster, and includes, but is not limited to, an alarm level, an alarm quantity corresponding to the alarm level, a danger coefficient corresponding to the alarm level, a total number of cluster instances, a utilization rate of each instance, etc.

[0097] In at least one embodiment of the present application, the server performs normalization processing on the monitoring data of each cluster to obtain at least one index item of each cluster, including:

[0098] The server removes redundant content in the monitoring data by using a de-redundancy algorithm to obtain target data, further identifies the target data by using a shallow semantic analysis method, processes results with similar meanings to obtain the at least one index item.

[0099] Through the above embodiment, the monitoring data can be de-redundancy processed, the occupied memory of the server is reduced, and the similar results after de-redundancy processing are processed, so that the monitoring data on each cluster has consistent names, and the stability and the usage rate of the cluster are facilitated for subsequent unified calculation.

[0100] S12, according to the at least one index item, calculating the stability of each cluster and the usage rate of each cluster.

[0101] In at least one embodiment of the present application, the server calculates the stability of each cluster and the usage rate of each cluster according to the at least one index item, which includes:

[0102] The server calculates the stability of each cluster according to formula one, and the formula one is:

[0103]

[0104] Wherein, S represents the stability of the cluster, a represents the dangerous coefficient of the first-level alarm, x represents the number of the first-level alarm, b represents the dangerous coefficient of the second-level alarm, y represents the number of the second-level alarm, c represents the dangerous coefficient of the third-level alarm, z represents the number of the third-level alarm, and m represents the total number of instances in the cluster;

[0105] The server calculates the usage rate of each cluster according to formula two, and the formula two is:

[0106]

[0107] Wherein, U represents the usage rate of the cluster, n i represents the utilization rate of the i-th instance, i∈{1, 2, 3, …, m} (m∈N*).

[0108] For example, the number of the first-level alarm in the cluster A is 10, the dangerous coefficient of the first-level alarm is 0.8, the number of the second-level alarm is 8, the dangerous coefficient of the second-level alarm is 0.6, the number of the third-level alarm is 6, the dangerous coefficient of the third-level alarm is 0.4, the total number of instances is 2, which are instance A and instance B, the utilization rate of instance A is 0.8, and the utilization rate of instance B is 0.6, the server calculates that the stability of the cluster A is 15.2%, and the server calculates that the usage rate of the cluster A is 70%.

[0109] Through the above embodiment, the stability of each cluster and the usage rate of each cluster can be obtained, which provides a data basis for subsequent determination of an abnormal cluster.

[0110] S13, according to the stability of each cluster and the usage rate of each cluster, determining an abnormal cluster and an abnormal type of the abnormal cluster.

[0111] In at least one embodiment of the present application, the abnormal cluster refers to a cluster with stability less than a first value, and a cluster with usage less than a second value or usage greater than a third value.

[0112] Further, the abnormal type is divided according to the stability of the cluster or the usage of the cluster, specifically divided into a first cluster and a second cluster, the stability of the first cluster is less than a first value, the usage of the second cluster is less than a second value or the usage of the second cluster is greater than a third value, the value of the second value is less than the value of the third value.

[0113] In at least one embodiment of the present application, the server determines the abnormal cluster and the abnormal type of the abnormal cluster according to the stability of each cluster and the usage of each cluster, including one or a combination of the following ways:

[0114] (1) For any cluster in each cluster, the server obtains the stability of the cluster and the average stability of the remaining clusters other than the cluster, further, the server multiplies the average stability by a first preset proportion to obtain a first value, when the stability of the cluster is less than the first value, the server determines the cluster as a first cluster, and the first cluster belongs to the abnormal cluster of the stability abnormal type.

[0115] For example: the stability of cluster B is 75%, the stability of cluster C is 60%, the stability of cluster D is 30%, the first preset proportion is 0.8, the server obtains the stability of the cluster B is 75%, the average stability of the remaining clusters corresponding to the cluster B is 45%, multiplies the average stability by 0.8 to obtain a first value of 36%, and the stability of the cluster B is greater than the first value; the server obtains the stability of the cluster C is 60%, the average stability of the remaining clusters corresponding to the cluster C is 52.5%, multiplies the average stability by 0.8 to obtain a first value of 42%, and the stability of the cluster C is greater than the first value; the server obtains the stability of the cluster D is 30%, the average stability of the remaining clusters corresponding to the cluster D is 67.5%, and the stability of the cluster D is less than the first value, therefore, the server determines the cluster D as the first cluster.

[0116] Specifically, before obtaining the stability of each cluster and the average stability of the remaining clusters, the server extracts any cluster from the all clusters in turn, further, the server obtains the stability of the remaining clusters other than the arbitrary cluster, and determines the average stability of the remaining clusters according to the stability of the remaining clusters. The number of average stabilities is consistent with the number of all clusters.

[0117] (2) For any cluster in each cluster, the server acquires the usage rate of the cluster and the average usage rate of the remaining clusters except the cluster, further, the server multiplies the average usage rate by a second preset proportion to obtain a second value, and multiplies the average usage rate by a third preset proportion to obtain a third value, when the usage rate of the cluster is less than the second value or greater than the third value, the server determines the cluster as a second cluster, the second cluster belongs to the abnormal cluster of the usage rate abnormal type.

[0118] By comparing the stability of each cluster with the first value, wherein the first value is obtained by multiplying the average stability of the remaining clusters by the first preset proportion, instead of multiplying the average stability of all clusters by the first preset proportion, the determination of the first cluster can be more accurate, in addition, the determination method of the second cluster is similar to that of the first cluster, so the second cluster can also be accurately determined.

[0119] Because the high usage rate of the cluster will cause the cluster to be blocked, and the low usage rate of the cluster will cause the waste of the cluster instance, therefore, the cluster with high usage rate and the cluster with low usage rate are determined as the second cluster, which is beneficial to the subsequent optimization of the second cluster.

[0120] S14, processing the abnormal cluster according to the abnormal type.

[0121] In at least one embodiment of the present application, the server processing the abnormal cluster according to the abnormal type includes one or a combination of the following ways:

[0122] (1) The server extracts the abnormal log in the first cluster, further, the server acquires the target scheme matching the abnormal log from the configuration scheme, and further, the server processes the first cluster with the target scheme.

[0123] Wherein, the configuration scheme stores at least one target scheme.

[0124] Specifically, the server extracting the abnormal log in the first cluster includes:

[0125] The server extracts the target alarm information of the first cluster from the alarm information, further, the server acquires the target alarm information, and further, the server extracts the abnormal log from the log of the first cluster.

[0126] When a target scheme matching the abnormal log is not acquired in the configuration scheme, the server acquires alarm information corresponding to the abnormal log, further, the server encrypts the alarm information by using a symmetric encryption algorithm to obtain first ciphertext, and further, the server sends the first ciphertext to a terminal device of a responsible person.

[0127] (2) The server determines a change amount of the number of instances in the second cluster according to the usage rate of the second cluster, and further, the server processes the second cluster according to the change amount.

[0128] Specifically, the server determining the change amount of the number of instances in the second cluster according to the usage rate of the second cluster comprises:

[0129] The server acquires a first number of instances in the second cluster, further, the server multiplies the usage rate of the second cluster by the first number, and then divides the result by the average usage rate to obtain a second number of instances in the second cluster, and further, the server performs a subtraction operation on the second number and the first number to obtain the change amount.

[0130] For example, the usage rate of the second cluster is 90%, the server acquires the first number of instances in the second cluster as 2, and the average usage rate is 60%, and after calculation, the second number of instances in the second cluster is obtained as 3, and the subtraction operation on the second number and the first number obtains the change amount as 1.

[0131] Specifically, the server processing the second cluster according to the change amount comprises:

[0132] When it is detected that the usage rate of the second cluster is less than the second value, the server reduces the instances of the second cluster according to the change amount, or when it is detected that the usage rate of the second cluster is greater than the third value, the server increases the instances of the second cluster according to the change amount.

[0133] Through the above embodiments, the problem of cluster blocking or low cluster usage rate can be solved.

[0134] In at least one embodiment of the present application, after determining the first cluster as the cluster with stability less than the first value and the second cluster as the cluster with usage less than the second value and greater than the third value among all clusters, the server determines the first cluster or the second cluster among all clusters by processing the monitoring data of all clusters in the at least one cloud environment, and when there are multiple first clusters or second clusters, the server can uniformly process the same fault when the fault occurs.

[0135] In at least one embodiment of the present application, after processing the abnormal cluster according to the abnormal type, the method further comprises:

[0136] The server tests the abnormal cluster to obtain a test result, and when the test result is a test failure, the server generates target information according to the test result, further, the server encrypts the target information by using an advanced encryption standard algorithm to obtain target ciphertext, and more further, the server sends the target ciphertext to a terminal device of a designated contact person.

[0137] The target information includes the abnormal cluster that fails the test, the root cause of the test failure, and the like.

[0138] The designated contact person can be a person in charge of cluster optimization, which is not limited by the present application.

[0139] Through the above-mentioned embodiments, not only can the alarm information be prevented from being tampered with at will to improve the security of the alarm information, but also the designated contact person can be notified in time when the abnormal cluster fails the test.

[0140] Specifically, the server testing the abnormal cluster to obtain a test result includes, but is not limited to, one or a combination of multiple ways as follows:

[0141] (1) The server performs CPU performance testing on the abnormal cluster to obtain a CPU performance test result.

[0142] (2) The server performs memory performance testing on the abnormal cluster to obtain a memory performance test result.

[0143] (3) The server performs disk performance testing on the abnormal cluster to obtain a disk performance test result.

[0144] (4) The server performs function testing on the abnormal cluster to obtain a function test result.

[0145] Specifically, the server performing CPU performance testing on the abnormal cluster includes:

[0146] The server acquires a test script file, runs a CPU performance test tool according to the test script file, further uses the CPU performance test tool to test the abnormal cluster in a super frequency or full load state, and obtains a CPU performance test result of the abnormal cluster when the CPU is in a super frequency or full load state.

[0147] In other embodiments, the server can also obtain other test results of the abnormal cluster, and process all test results comprehensively to make the test result of the abnormal cluster more accurate.

[0148] As can be seen from the above technical solutions, the application can not only process the fault of the cluster in the cloud environment, but also uniformly process the same fault of the cluster in different cloud environments.

[0149] As shown in Figure 2 Fig. 1 is a functional module diagram of a preferred embodiment of the cluster optimization device. The cluster optimization device 11 comprises an acquisition unit 110, a processing unit 111, a calculation unit 112, a determination unit 113, an acquisition unit 114, a cleaning unit 115, a test unit 116, a generation unit 117, an encryption unit 118 and a sending unit 119. The module / unit referred to in the application refers to a series of computer program segments capable of being executed by the processor 13 and capable of completing a fixed function, which are stored in the memory 12. In this embodiment, the functions of each module / unit will be described in detail in the subsequent embodiments.

[0150] The acquisition unit 110 acquires monitoring data of all clusters in at least one cloud environment within a preset time.

[0151] In at least one embodiment of the application, the monitoring data is data extracted from alarm information, and the monitoring data includes, but is not limited to, alarm time, alarm level, the number corresponding to the alarm level, the danger coefficient corresponding to the alarm level, the total number of cluster instances, the utilization rate of each instance, alarm root cause, etc.

[0152] In at least one embodiment of the application, before acquiring the monitoring data of all clusters in at least one cloud environment within a preset time, the acquisition unit 114 acquires alarm information of all clusters within the preset time, the processing unit 111 performs word segmentation processing on the alarm information to obtain a plurality of first information, further, the cleaning unit 115 cleans the first information to obtain a plurality of second information, the calculation unit 112 calculates the probability of the plurality of second information using the TF-IDF algorithm, and further, the determination unit 113 determines the monitoring data according to the probability of the plurality of second information.

[0153] By acquiring the alarm information in the preset time, the occurrence time of the monitoring data is controlled, the interval between the calculation time of the cluster stability or the cluster usage and the occurrence time is avoided to be too long, and the calculation result of the current cluster stability or the current cluster usage is avoided to be inaccurate.

[0154] Specifically, the cleaning unit 115 cleans configuration information in the first information to obtain the plurality of second information.

[0155] The configuration information includes, but is not limited to, function words, stop words, etc.

[0156] By cleaning the plurality of first information, the probability of the plurality of second information affected by the configuration information is avoided, the monitoring data can be accurately determined, and the calculation unit 112 does not need to calculate the probability of the configuration information in the plurality of first information, the calculation time is shortened, and the monitoring data can be quickly determined.

[0157] The processing unit 111 normalizes the monitoring data of each cluster to obtain at least one index item of each cluster.

[0158] In at least one embodiment of the present application, the at least one index item is basic information for calculating the stability or the usage of the cluster, and includes, but is not limited to, an alarm level, an alarm quantity corresponding to the alarm level, a danger coefficient corresponding to the alarm level, a total number of cluster instances, a utilization rate of each instance, etc.

[0159] In at least one embodiment of the present application, the processing unit 111 normalizes the monitoring data of each cluster to obtain at least one index item of each cluster, including:

[0160] The processing unit 111 removes redundant content in the monitoring data by using a de-redundancy algorithm to obtain target data, and further uses a shallow semantic analysis method to identify the target data, processes the similar results of the identified meanings to obtain the at least one index item.

[0161] Through the above embodiments, the monitoring data can be de-redundancy processed to reduce the occupied memory of the server, and the similar results after de-redundancy are processed to make the monitoring data on each cluster have consistent names, which is convenient for subsequent unified calculation of the stability and the usage of the cluster.

[0162] The calculation unit 112 calculates the stability of each cluster and the usage of each cluster according to the at least one index item.

[0163] In at least one embodiment of the present application, the calculation unit 112 calculates the stability of each cluster and the usage rate of each cluster according to the at least one index item, which comprises:

[0164] The calculation unit 112 calculates the stability of each cluster according to Formula One, wherein the Formula One is:

[0165]

[0166] wherein S represents the stability of the cluster, a represents the dangerous coefficient of the first-level alarm, x represents the number of the first-level alarms, b represents the dangerous coefficient of the second-level alarm, y represents the number of the second-level alarms, c represents the dangerous coefficient of the third-level alarm, z represents the number of the third-level alarms, and m represents the total number of instances in the cluster;

[0167] The calculation unit 112 calculates the usage rate of each cluster according to Formula Two, wherein the Formula Two is:

[0168]

[0169] wherein U represents the usage rate of the cluster, n i represents the utilization rate of the i-th instance, i∈{1, 2, 3, …, m} (m∈N*).

[0170] For example, the number of the first-level alarms in the cluster A is 10, the dangerous coefficient of the first-level alarm is 0.8, the number of the second-level alarms is 8, the dangerous coefficient of the second-level alarm is 0.6, the number of the third-level alarms is 6, the dangerous coefficient of the third-level alarm is 0.4, the total number of instances is 2, which are instance A and instance B, the utilization rate of instance A is 0.8, and the utilization rate of instance B is 0.6, the calculation unit 112 calculates the stability of the cluster A as 15.2%, and the server calculates the usage rate of the cluster A as 70%.

[0171] Through the above embodiment, the stability of each cluster and the usage rate of each cluster can be obtained, which provides a data basis for subsequent determination of the abnormal cluster.

[0172] The determination unit 113 determines the abnormal cluster and the abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster.

[0173] In at least one embodiment of the present application, the abnormal cluster refers to the cluster with the stability less than a first value, and the cluster with the usage rate less than a second value or the usage rate greater than a third value.

[0174] Further, the abnormal type is divided according to the stability of the cluster or the usage rate of the cluster, and is specifically divided into a first cluster and a second cluster, the stability of the first cluster is less than a first value, the usage rate of the second cluster is less than a second value or the usage rate of the second cluster is greater than a third value, the second value is less than the third value.

[0175] In at least one embodiment of the present application, the determination unit 113 determines the abnormal cluster and the abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster, including one or a combination of the following ways:

[0176] (1) For any cluster in each cluster, the determination unit 113 obtains the stability of the cluster and the average stability of the remaining clusters except the cluster, further, the determination unit 113 multiplies the average stability by a first preset proportion to obtain a first value, when the stability of the cluster is less than the first value, the determination unit 113 determines the cluster as the first cluster, and the first cluster belongs to the abnormal cluster of the stability abnormal type.

[0177] For example: the stability of cluster B is 75%, the stability of cluster C is 60%, the stability of cluster D is 30%, the first preset proportion is 0.8, the determination unit 113 obtains the stability of the cluster B is 75%, the average stability of the remaining clusters corresponding to the cluster B is 45%, further, the determination unit 113 multiplies the average stability by 0.8 to obtain a first value of 36%, then the stability of the cluster B is greater than the first value; the determination unit 113 obtains the stability of the cluster C is 60%, the average stability of the remaining clusters corresponding to the cluster C is 52.5%, further, the determination unit 113 multiplies the average stability by 0.8 to obtain a first value of 42%, then the stability of the cluster C is greater than the first value; the determination unit 113 obtains the stability of the cluster D is 30%, the average stability of the remaining clusters corresponding to the cluster D is 67.5%, then the stability of the cluster D is less than the first value, therefore, the determination unit 113 determines the cluster D as the first cluster.

[0178] Specifically, before obtaining the stability of each cluster and the average stability of the remaining clusters, the determination unit 113 extracts any cluster from the all clusters in turn, further, the determination unit 113 obtains the stability of the remaining clusters except the any cluster, according to the stability of the remaining clusters, the determination unit 113 determines the average stability of the remaining clusters. The number of the average stability is consistent with the number of all clusters.

[0179] (2) For any cluster in each cluster, the determination unit 113 acquires the usage rate of the cluster and the average usage rate of the rest of the clusters except the cluster, further, the determination unit 113 multiplies the average usage rate by a second preset proportion to obtain a second value, and multiplies the average usage rate by a third preset proportion to obtain a third value, when the usage rate of the cluster is less than the second value or greater than the third value, the determination unit 113 determines the cluster as a second cluster, the second cluster belongs to the abnormal cluster of the usage rate abnormal type.

[0180] By comparing the stability of each cluster with the first value, wherein the first value is obtained by multiplying the average stability of the rest of the clusters by the first preset proportion, instead of multiplying the average stability of all clusters by the first preset proportion, the determination of the first cluster can be more accurate, in addition, the determination method of the second cluster is similar to that of the first cluster, so the second cluster can also be accurately determined.

[0181] Because the high usage rate of the cluster will cause the cluster to be blocked, and the low usage rate of the cluster will cause the waste of the cluster instance, therefore, the cluster with high usage rate and the cluster with low usage rate are determined as the second cluster, which is beneficial to the subsequent optimization of the second cluster.

[0182] The processing unit 111 processes the abnormal cluster according to the abnormal type.

[0183] In at least one embodiment of the present application, the processing unit 111 processes the abnormal cluster according to the abnormal type includes one or a combination of the following ways:

[0184] (1) The processing unit 111 extracts the abnormal log in the first cluster, further, the processing unit 111 acquires the target scheme matching the abnormal log from the configuration scheme, and further, the processing unit 111 processes the first cluster with the target scheme.

[0185] Wherein, the configuration scheme stores at least one target scheme.

[0186] Specifically, the processing unit 111 extracts the abnormal log in the first cluster includes:

[0187] The processing unit 111 extracts the target alarm information of the first cluster from the alarm information, and further, the processing unit 111 extracts the abnormal log from the log of the first cluster according to the target alarm information.

[0188] When no target scheme matching the abnormal log is acquired in the configuration scheme, the acquisition unit 114 acquires alarm information corresponding to the abnormal log, further, the encryption unit 118 encrypts the alarm information by using a symmetric encryption algorithm to obtain first ciphertext, and further, the sending unit 119 sends the first ciphertext to the terminal device of the person in charge.

[0189] (2) The processing unit 111 determines a change amount of the number of instances in the second cluster according to the usage rate of the second cluster, and further, the processing unit 111 processes the second cluster according to the change amount.

[0190] Specifically, the processing unit 111 determines the change amount of the number of instances in the second cluster according to the usage rate of the second cluster, including:

[0191] The processing unit 111 acquires a first number of instances in the second cluster, further, the processing unit 111 multiplies the usage rate of the second cluster by the first number, and then divides the average usage rate to obtain a second number of instances in the second cluster, and further, the processing unit 111 performs a subtraction operation on the second number and the first number to obtain the change amount.

[0192] For example, the usage rate of the second cluster is 90%, the processing unit 111 acquires the first number of instances in the second cluster is 2, and the average usage rate is 60%, and after calculation, the second number of instances in the second cluster is 3, and the subtraction operation on the second number and the first number obtains the change amount of 1.

[0193] Specifically, the processing unit 111 processes the second cluster according to the change amount, including:

[0194] When it is detected that the usage rate of the second cluster is less than the second value, the processing unit 111 reduces the instances of the second cluster according to the change amount; or when it is detected that the usage rate of the second cluster is greater than the third value, the processing unit 111 increases the instances of the second cluster according to the change amount.

[0195] Through the above embodiment, the problem of cluster blocking or low cluster usage rate can be solved.

[0196] In at least one embodiment of the present application, after determining the first cluster as the cluster with stability less than the first value and the second cluster as the cluster with usage less than the second value and greater than the third value among all clusters, the server determines the first cluster or the second cluster among all clusters by processing the monitoring data of all clusters in the at least one cloud environment, and when there are multiple first clusters or second clusters, the server can uniformly process the same fault when the fault occurs.

[0197] In at least one embodiment of the present application, after processing the abnormal cluster according to the abnormal type, the test unit 116 tests the abnormal cluster to obtain a test result, when the test result is test failure, the generation unit 117 generates target information according to the test result, the encryption unit 118 encrypts the target information by using the advanced encryption standard algorithm to obtain target ciphertext, and further, the sending unit 119 sends the target ciphertext to the terminal device of the designated contact person.

[0198] The target information includes the abnormal cluster of test failure, the root cause of test failure, etc.

[0199] The designated contact person can be the person in charge of cluster optimization, which is not limited by the present application.

[0200] Through the above-mentioned embodiments, not only can the alarm information be randomly tampered with to improve the security of the alarm information, but also the designated contact person can be notified in time when the abnormal cluster fails the test.

[0201] Specifically, the test unit 116 tests the abnormal cluster to obtain a test result, including but not limited to one or a combination of multiple ways as follows:

[0202] (1) The test unit 116 performs CPU performance test on the abnormal cluster to obtain the CPU performance test result.

[0203] (2) The test unit 116 performs memory performance test on the abnormal cluster to obtain the memory performance test result.

[0204] (3) The test unit 116 performs disk performance test on the abnormal cluster to obtain the disk performance test result.

[0205] (4) The test unit 116 performs function test on the abnormal cluster to obtain the function test result.

[0206] Specifically, the test unit 116 performs CPU performance test on the abnormal cluster, including:

[0207] The test unit 116 acquires a test script file, runs a CPU performance test tool according to the test script file, and further uses the CPU performance test tool to test the abnormal cluster in a super frequency or full load state to obtain a CPU performance test result of the abnormal cluster when the CPU is in a super frequency or full load state.

[0208] In other embodiments, the test unit 116 can also obtain other test results of the abnormal cluster, and process all test results to make the test result of the abnormal cluster more accurate.

[0209] As can be seen from the above technical solutions, the present application can not only process the fault of the cluster in the cloud environment, but also uniformly process the same fault of the cluster in different cloud environments.

[0210] As shown in FIG. 1, it is a structure schematic diagram of a server of a preferred embodiment of the cluster optimization method of the present application. Figure 3

[0211] In an embodiment of the present application, the server 1 includes, but is not limited to, a memory 12, a processor 13, and a computer program, such as a cluster optimization program, stored in the memory 12 and executable on the processor 13.

[0212] Those skilled in the art can understand that the schematic diagram is only an example of the server 1 and does not constitute a limitation on the server 1, and can include more or less components than the diagram, or combine certain components, or different components, for example, the server 1 can also include an input / output device, a network access device, a bus, etc.

[0213] The processor 13 can be a central processing unit (CPU), and can also be 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. The general-purpose processor can be a microprocessor or any conventional processor, etc. The processor 13 is the operation core and control center of the server 1, and connects various parts of the server 1 through various interfaces and lines, and executes the operating system and various application programs, program codes, etc. installed in the server 1.​

[0214] The processor 13 executes the operating system of the server 1 and various installed application programs. The processor 13 executes the application programs to implement the steps in each of the cluster optimization method embodiments described above, such as Figure 1 the steps shown.

[0215] By way of example, the computer program can be divided into one or more modules / units, which are stored in the memory 12 and executed by the processor 13 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the server 1. For example, the computer program can be divided into an acquisition unit 110, a processing unit 111, a calculation unit 112, a determination unit 113, an acquisition unit 114, a cleaning unit 115, a test unit 116, a generation unit 117, an encryption unit 118, and a sending unit 119.

[0216] The memory 12 can be used to store the computer program and / or modules, and the processor 13 realizes various functions of the server 1 by running or executing the computer program and / or modules stored in the memory 12, and calling the data stored in the memory 12. The memory 12 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required for a function (such as a sound playing function, an image playing function, etc.), etc.; and the data storage area can store data created according to the use of the server, etc. In addition, the memory 12 can include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one disk storage device, a flash storage device, or other non-volatile solid-state storage device.

[0217] The memory 12 can be an external memory and / or an internal memory of the server 1. Further, the memory 12 can be a memory having a physical form, such as a memory stick, a TF card (Trans-flash Card), etc.

[0218] The modules / units integrated in the server 1, if realized in the form of software function units and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the above-mentioned embodiment methods can also be completed by a computer program instructing related hardware, and the computer program can be stored in a computer readable storage medium. The computer program can realize the steps of each method embodiment when executed by a processor.

[0219] The computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms. The computer readable medium can include any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM).

[0220] In combination Figure 1 The memory 12 in the server 1 stores a plurality of instructions to realize a cluster optimization method, and the processor 13 can execute the plurality of instructions to realize the following: collecting monitoring data of all clusters in at least one cloud environment within a preset time; performing normalization processing on the monitoring data of each cluster to obtain at least one index item of each cluster; calculating the stability of each cluster and the usage rate of each cluster according to the at least one index item; determining an abnormal cluster and an abnormal type of the abnormal cluster according to the stability of each cluster and the usage rate of each cluster; and processing the abnormal cluster according to the abnormal type.

[0221] Specifically, the processor 13 can refer to the description of the specific implementation method of the above instructions Figure 1 The description of related steps in the corresponding embodiment is not repeated here.

[0222] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiment is only schematic, for example, the division of the modules is only a logical function division, and actual implementation can have another division manner.

[0223] The modules described as separate components can or can not be physically separated, and the components displayed as modules can or can not be physical units, that is, they can be located in one place, or they can be distributed on multiple network units. According to actual needs, some or all of the modules can be selected to realize the purpose of the embodiment scheme.

[0224] In addition, each function module in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of hardware plus software function module.

[0225] Therefore, from any point of view, the embodiments should be regarded as exemplary and non-limiting, the scope of the present application being defined by the appended claims and not by the above description, and all variations falling within the meaning and the scope of the equivalent elements of the claims are intended to be included in the present application. Any reference signs in the claims should not be considered as limiting the claims involved.

[0226] Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices also can be presented by one unit or device, either by software or hardware. The second word "comprising" is used to denote the name and not to indicate any particular order.

[0227] Finally, it should be noted that the above embodiments are merely used to illustrate the technical solutions of the present application but not limit the present application, and although the present application has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present application can be modified or equivalently replaced without departing from the spirit and scope of the present application.

Claims

1. A cluster optimization method, characterized in that, The method includes: Collect monitoring data from all clusters in at least one cloud environment within a preset time period; The monitoring data of each cluster is normalized to obtain at least one indicator item for each cluster, including: using a redundancy removal algorithm to remove redundant content from the monitoring data to obtain target data, using a shallow semantic analysis method to identify the target data, and processing the identified results with similar meanings to obtain the at least one indicator item. Calculate the stability and utilization rate of each cluster based on at least one of the aforementioned indicators, including: calculating the stability of each cluster according to Formula 1, where Formula 1 is: Where S represents the cluster stability, a represents the risk coefficient of Level 1 alarms, x represents the number of Level 1 alarms, b represents the risk coefficient of Level 2 alarms, y represents the number of Level 2 alarms, c represents the risk coefficient of Level 3 alarms, z represents the number of Level 3 alarms, and m represents the total number of instances in the cluster; the utilization rate of each cluster is calculated according to Formula 2, which is: Where U represents the cluster utilization rate. Let i represent the utilization rate of the i-th instance, where i∈{1,2,3,…,m}; Based on the stability and utilization rate of each cluster, abnormal clusters and their abnormality types are determined, including: for any cluster in each cluster, obtaining the stability of that cluster and the average stability of the remaining clusters, and determining the abnormality type of the abnormal cluster based on the stability of the arbitrary cluster and the average stability; and / or, for any cluster in each cluster, obtaining the utilization rate of that arbitrary cluster and the average utilization rate of the remaining clusters, and determining the abnormality type of the abnormal cluster based on the utilization rate of the arbitrary cluster and the average utilization rate. The abnormal cluster is processed according to the abnormal type.

2. The cluster optimization method as described in claim 1, characterized in that, Before collecting monitoring data from all clusters in at least one cloud environment within a preset time period, the method further includes: Obtain alarm information from all clusters within the preset time period; The alarm information is segmented into words to obtain multiple pieces of first information; The first information is cleaned to obtain multiple pieces of second information; The probability of the multiple pieces of second information is calculated using the TF-IDF algorithm; The monitoring data is determined based on the probability of the plurality of second information.

3. The cluster optimization method as described in claim 1, characterized in that, The determination of abnormal clusters and their abnormality types based on the stability and utilization of each cluster includes one or more of the following methods: The average stability is multiplied by a first preset ratio to obtain a first value. When the stability of the cluster is less than the first value, the cluster is identified as the first cluster. The first cluster belongs to the abnormal cluster of the stability abnormal type. and / or The average utilization rate is multiplied by a second preset ratio to obtain a second value, and the average utilization rate is multiplied by a third preset ratio to obtain a third value. When the utilization rate of the cluster is less than the second value or greater than the third value, the cluster is identified as the second cluster. The second cluster belongs to the abnormal cluster of the abnormal utilization rate type.

4. The cluster optimization method as described in claim 3, characterized in that, The process of handling the abnormal cluster according to the abnormal type includes one or more of the following methods in combination: Extract the exception logs from the first cluster, obtain the target scheme that matches the exception logs from the configuration scheme, and process the first cluster with the target scheme; and / or Based on the utilization rate of the second cluster, determine the change in the number of instances in the second cluster, and process the second cluster according to the change.

5. The cluster optimization method as described in claim 4, characterized in that, The step of determining the change in the number of instances in the second cluster based on the utilization rate of the second cluster includes: Get the first number of instances in the second cluster; Multiply the utilization rate of the second cluster by the first number, and then divide by the average utilization rate to obtain the second number of instances in the second cluster; The change is obtained by subtracting the second quantity from the first quantity.

6. The cluster optimization method as described in claim 1, characterized in that, After processing the abnormal cluster according to the abnormal type, the method further includes: The abnormal cluster was tested, and the test results were obtained. When the test result is a failure, target information is generated based on the test result. The target information is encrypted using an Advanced Encryption Standard (AES) algorithm to obtain the target ciphertext; Send the target encrypted text to the terminal device of the designated contact person.

7. A cluster optimization device, characterized in that, The device includes: The data acquisition unit is used to collect monitoring data from all clusters in at least one cloud environment within a preset time period. The processing unit is used to normalize the monitoring data of each cluster to obtain at least one indicator item for each cluster, including: using a redundancy removal algorithm to remove redundant content in the monitoring data to obtain target data, using a shallow semantic analysis method to identify the target data, and processing the identified results with similar meanings to obtain the at least one indicator item. A calculation unit is configured to calculate the stability and utilization rate of each cluster based on the at least one indicator, including: calculating the stability of each cluster according to Formula 1, wherein Formula 1 is: Where S represents the cluster stability, a represents the risk coefficient of Level 1 alarms, x represents the number of Level 1 alarms, b represents the risk coefficient of Level 2 alarms, y represents the number of Level 2 alarms, c represents the risk coefficient of Level 3 alarms, z represents the number of Level 3 alarms, and m represents the total number of instances in the cluster; the utilization rate of each cluster is calculated according to Formula 2, which is: Where U represents the cluster utilization rate. Let i represent the utilization rate of the i-th instance, where i∈{1,2,3,…,m}; The determining unit is configured to determine abnormal clusters and their abnormality types based on the stability and utilization rate of each cluster, including: for any cluster in each cluster, obtaining the stability of that cluster and the average stability of the remaining clusters, and determining the abnormality type of the abnormal cluster based on the stability of the arbitrary cluster and the average stability; and / or, for any cluster in each cluster, obtaining the utilization rate of that cluster and the average utilization rate of the remaining clusters, and determining the abnormality type of the abnormal cluster based on the utilization rate of the arbitrary cluster and the average utilization rate. The processing unit is also used to process the abnormal cluster according to the abnormal type.

8. A server, characterized in that, The server includes: Memory, storing at least one instruction; and The processor executes instructions stored in the memory to implement the cluster optimization method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, which is executed by a processor in the server to implement the cluster optimization method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method, device and server for processing database cluster automatically and optimally

    CN107391633A