Performance data statistical method and device, equipment and medium

By partitioning and saving according to the preset performance data acquisition granularity on the server side of the storage management system, and directly reading performance data, the problems of server communication blockage and database recovery difficulties in the existing technology are solved, and efficient performance data statistics and low performance data are achieved Maintenance cost.

CN119201646APending Publication Date: 2024-12-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411311257.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The prior art has problems such as server communication blockage, low transmission efficiency, difficult database recovery and high maintenance costs when stating performance data.

Method used

By storing performance data in the internal volume of the local storage pool on the server side of the storage management system, partitioning and saving according to the preset performance data acquisition granularity, and determining the partition to be queried based on the target acquisition granularity, target sampling point, and target object type Data blocks, directly read performance data, avoiding cross-server communication.

Benefits of technology

Improve performance data statistics efficiency, reduce maintenance costs, and ensure data is not lost when equipment is abnormal, and data security is high.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201646A_ABST
    Figure CN119201646A_ABST
Patent Text Reader

Abstract

The invention discloses a performance data statistical method, a performance data statistical device, performance data statistical equipment and a medium, relates to the technical field of computers, and is applied to a server of any storage management system. The method comprises the following steps: storing performance data of a storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on preset performance data acquisition granularity; determining a target acquisition granularity, a target sampling point and a target object type corresponding to a performance data query request sent by a client, so as to determine a to-be-queried partition, a target sampling point partition and a target object type partition from each preset granularity partition of the internal volume, and determining a target data block based on the target object type partition; and reading the target performance data on the target data block, and returning the target performance data to the client, so that the client carries out statistics on the target performance data. The performance data statistical efficiency is improved, and the performance data maintenance cost is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a performance data statistics method, device, equipment and medium. Background Art

[0002] With the development of the data era, storage applications are becoming more and more extensive, and users have higher and higher requirements for storage performance. It is necessary to display the current performance data of storage to users from multiple dimensions to facilitate users to monitor and analyze the performance of storage devices in real time. When storage device performance is abnormal, it can also be discovered and solved in time.

[0003] Currently, when collecting and counting performance data, it is necessary to set up a report generation server, which sends performance test instructions to each server in the server cluster. Each server collects performance data and generates a log file. The report generation server receives the log files sent by all servers in the server cluster to obtain performance data and generate a performance test report. However, this cross-server performance data transmission will cause server communication congestion and low transmission efficiency, which will lead to low performance data statistics efficiency. Furthermore, before collecting performance data, it is necessary to pre-deploy a database according to the number of sampling points of the performance data, and then save the collected performance data in the database. When an abnormality occurs in the equipment, it is difficult to restore the performance data saved in the database, and the maintenance cost is high.

[0004] It can be seen that how to improve the statistical efficiency of performance data and reduce the maintenance cost of performance data is a problem that technical personnel in this field need to solve. Summary of the invention

[0005] The purpose of the embodiments of the present invention is to provide a performance data statistics method, device, equipment and medium to improve the performance data statistics efficiency and reduce the performance data maintenance cost. The specific scheme is as follows:

[0006] In a first aspect, the present invention discloses a performance data statistics method, which is applied to a server of any storage management system, wherein the storage management system also includes a client, and the method includes:

[0007] Based on the preset performance data collection granularity, storing each performance data of the storage management system in a corresponding preset granularity partition of the internal volume of the local storage pool;

[0008] Receive a performance data query request sent by the client, and determine a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request;

[0009] Determine a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, search for a target sampling point partition corresponding to the target sampling point in the partition to be queried, determine a target object type partition corresponding to the target object type in the target sampling point partition, and determine a target data block based on the target object type partition;

[0010] The target performance data on the target data block is read, and the target performance data is returned to the client so that the client can perform statistics on the target performance data.

[0011] Optionally, storing each performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity includes:

[0012] Determine, in the internal volume of the local storage pool, a preset granularity partition corresponding to each performance data respectively according to the preset performance data collection granularity respectively corresponding to each performance data of the storage management system;

[0013] Determine a preset sampling point partition corresponding to each performance data in the preset granularity partition, and determine a preset object type partition corresponding to each performance data in the preset sampling point partition;

[0014] Each of the performance data is stored in a data block of a corresponding preset object type partition based on the first starting offset address of the preset granularity partition, the second starting offset address of the preset sampling point partition, and the third starting offset address of the preset object type partition.

[0015] Optionally, determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition includes:

[0016] Determine a partition to be queried and a first target starting offset address of the partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity;

[0017] searching, based on the first target starting offset address, for a target sampling point partition corresponding to the target sampling point in each of the preset sampling point partitions of the partition to be queried, and determining a second target starting offset address of the target sampling point partition;

[0018] Determine, based on the second target starting offset address, a target object type partition corresponding to the target object type in each of the preset object type partitions within the target sampling point partition and a third target starting offset address of the target object type partition;

[0019] Determine a fourth target starting offset address of the target data block based on the third target starting offset address;

[0020] Correspondingly, the reading of the target performance data on the target data block includes:

[0021] The target performance data on the target data block is read based on the fourth target starting offset address.

[0022] Optionally, the reading target performance data on the target data block includes:

[0023] Determine a query type corresponding to the performance data query request;

[0024] If the query type is a hotspot performance data query type, the performance data on the target data block is read, and the hotspot performance data is filtered out from all the performance data on the target data block, and the hotspot performance data is determined as the target performance data;

[0025] If the query type is a query type with a user-defined collection time, determining a target collection time corresponding to the performance data query request, and reading target performance data on the target data block whose collection time is the same as the target collection time;

[0026] If the query type is a scheduled query type, a target scheduled query time corresponding to the performance data query request is determined, and the target performance data on the target data block is read when the current time of the storage management system is the target scheduled query time.

[0027] Optionally, the receiving the performance data query request sent by the client includes:

[0028] Receiving the performance data query request sent by the client by using a socket communication method;

[0029] Correspondingly, returning the target performance data to the client so that the client can collect statistics on the target performance data includes:

[0030] The target performance data is returned to the client using the socket communication method so that the client can count the target performance data and generate a performance data report corresponding to the target performance data when the current time of the storage management system reaches the preset scheduled execution time.

[0031] Optionally, generating a performance data report corresponding to the target performance data when the current time of the storage management system reaches a preset scheduled execution time includes:

[0032] Creating a current report timing task corresponding to the target performance data, and selecting a home node of the internal volume to determine the home node as an execution node of the current report timing task;

[0033] Determine whether the preset execution queue is empty;

[0034] If the preset execution queue is empty, the current report timing task is added to the preset execution queue, so that when the current time of the storage management system reaches the preset timing execution time, the execution node generates a performance data report corresponding to the target performance data;

[0035] If the preset execution queue is not empty, the current report timing task is added to the preset waiting queue, so as to wait until the preset execution queue is empty before executing the step of adding the current report timing task to the preset execution queue.

[0036] Optionally, the performance data statistics method further includes:

[0037] The preset maximum storage time and the current storage time of each performance data stored in the internal volume are determined, and the performance data in the internal volume whose current storage time reaches the preset maximum storage time is removed to release the storage space of the internal volume.

[0038] In a second aspect, the present invention discloses a performance data statistics device, which is applied to a server of any storage management system, wherein the storage management system also includes a client, and the device includes:

[0039] Based on the preset performance data collection granularity, storing each performance data of the storage management system in a corresponding preset granularity partition of the internal volume of the local storage pool;

[0040] Receive a performance data query request sent by the client, and determine a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request;

[0041] Determine a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, search for a target sampling point partition corresponding to the target sampling point in the partition to be queried, determine a target object type partition corresponding to the target object type in the target sampling point partition, and determine a target data block based on the target object type partition;

[0042] The target performance data on the target data block is read, and the target performance data is returned to the client so that the client can perform statistics on the target performance data.

[0043] In a third aspect, the present invention discloses an electronic device, comprising:

[0044] Memory, used to store computer programs;

[0045] The processor is used to execute the computer program to implement the steps of the performance data statistics method disclosed above.

[0046] In a fourth aspect, the present invention discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the steps of the aforementioned disclosed performance data statistics method are implemented.

[0047] It can be seen that the present invention is applied to the server side of any storage management system, wherein the storage management system also includes a client, and the method includes: storing various performance data of the storage management system in corresponding preset granularity partitions of the internal volume of the local storage pool based on a preset performance data collection granularity; receiving a performance data query request sent by the client, and determining a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request; determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target collection granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition; reading target performance data on the target data block, and returning the target performance data to the client so that the client can perform statistics on the target performance data.

[0048] The beneficial effects are as follows: the server of the storage management system of the present invention stores the performance data in the internal volume of the local storage pool, and when storing the performance data, it will be partitioned and stored according to the preset performance data collection granularity. In this way, when a performance data query request sent by the client is received later, the area to be read is also determined according to the partition storage of the performance data, that is, the partition to be queried, the target sampling point partition, the target object type partition, and the target data block are determined in sequence according to the target collection granularity, the target sampling point, and the target object type corresponding to the performance data query request, and the range is gradually narrowed. Since the performance data storage method is fixed, the method for determining the target data block is also fixed, so the efficiency of locking the target data block is significantly improved; further, the collection, storage, query and statistics of performance data are realized by the server and client of each storage management system itself, without the need for cross-server communication, avoiding communication congestion, and effectively improving the statistical efficiency of performance data; the present invention does not need to create a database, but creates an internal volume in the local storage pool, and stores the collected performance data in the internal volume, that is, the performance data is persisted in the internal volume space, even if the device is abnormally powered off, it can ensure that the performance data is not lost, the data security is high, and the maintenance cost is low. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0050] Figure 1 A flow chart of a performance data statistics method provided by an embodiment of the present invention;

[0051] Figure 2 A specific communication schematic diagram provided for an embodiment of the present invention;

[0052] Figure 3 A specific query request sending schematic diagram provided by an embodiment of the present invention;

[0053] Figure 4 A specific request execution schematic diagram provided for an embodiment of the present invention;

[0054] Figure 5 A specific target performance data return schematic diagram provided by an embodiment of the present invention;

[0055] Figure 6 A schematic diagram of a specific overall structure of performance statistics provided by an embodiment of the present invention;

[0056] Figure 7A schematic diagram of a specific performance statistics function structure provided by an embodiment of the present invention;

[0057] Figure 8 A schematic diagram of generating a specific performance data report provided by an embodiment of the present invention;

[0058] Fig. 9 A specific performance configuration diagram provided for an embodiment of the present invention;

[0059] Fig.10 A flow chart of a specific performance data statistics method provided by an embodiment of the present invention;

[0060] Fig.11 A specific schematic diagram of establishing a socket connection provided by an embodiment of the present invention;

[0061] Fig.12 A specific hotspot performance data query schematic diagram provided by an embodiment of the present invention;

[0062] Fig.13 A specific schematic diagram of a custom performance data query provided by an embodiment of the present invention;

[0063] Fig.14 A schematic diagram of a specific report task creation and modification process provided by an embodiment of the present invention;

[0064] Fig.15 A schematic diagram of a specific report execution process provided by an embodiment of the present invention;

[0065] Fig.16 A schematic diagram of the structure of a performance data statistics device provided by an embodiment of the present invention;

[0066] Fig.17 A structural diagram of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0067] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0068] With the development of the data era, storage applications are becoming more and more extensive, and users have higher and higher requirements for storage performance. It is necessary to display the current performance data of storage to users from multiple dimensions to facilitate users to monitor and analyze the performance of storage devices in real time. When storage device performance is abnormal, it can also be discovered and solved in time.

[0069] Currently, when collecting and counting performance data, it is necessary to set up a report generation server, which sends performance test instructions to each server in the server cluster. Each server collects performance data and generates a log file. The report generation server receives the log files sent by all servers in the server cluster to obtain performance data and generate a performance test report. However, this cross-server performance data transmission will cause server communication congestion and low transmission efficiency, which will lead to low performance data statistics efficiency. Furthermore, before collecting performance data, it is necessary to pre-deploy a database according to the number of sampling points of the performance data, and then save the collected performance data in the database. When an abnormality occurs in the equipment, it is difficult to restore the performance data saved in the database, and the maintenance cost is high.

[0070] The terms "including" and "having" in the specification of the present invention and the above-mentioned drawings, as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but may include steps or units that are not listed.

[0071] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0072] Next, a performance data statistics solution provided by an embodiment of the present invention is introduced in detail. Figure 1 A performance data statistics method provided by an embodiment of the present invention is applied to a server of any storage management system, wherein the storage management system also includes a client, and the method includes:

[0073] Step S11: storing various performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity.

[0074] Select an existing local storage pool and create an internal volume in the local storage pool. The capacity of the internal volume can be 200G. The server collects IO performance data such as IOPS (Input / Output Operations Per Second, i.e. the number of read / write operations per second), latency, and bandwidth when the storage device in the storage management system performs IO (Input / Output) reading and writing. The performance data can be historical performance data or real-time performance data.

[0075] In this embodiment, storing each performance data of the storage management system in a corresponding preset granularity partition of the internal volume of the local storage pool based on the preset performance data collection granularity includes: determining the preset granularity partition corresponding to each performance data in the internal volume of the local storage pool according to the preset performance data collection granularity corresponding to each performance data of the storage management system; determining the preset sampling point partition corresponding to each performance data in the preset granularity partition, and determining the preset object type partition corresponding to each performance data in the preset sampling point partition; storing each performance data in a data block corresponding to the preset object type partition based on the first starting offset address of the preset granularity partition, the second starting offset address of the preset sampling point partition, and the third starting offset address of the preset object type partition.

[0076] It should be noted that different performance data have different preset performance collection granularities. The collection granularity refers to the collection frequency of performance data. For example, the high-frequency collection granularity can be in seconds / time, the high-frequency collection granularity can be in minutes / time, and the low-frequency collection granularity can be in hours / time. The collection granularities of different frequencies can also be divided into multiple levels. The performance data is partitioned and stored according to different collection granularities. Specifically, four preset granularity partitions (groups) can be set according to different collection granularities. The preset performance data collection granularities corresponding to group0 are 5s / time, 10s / time, 30s / time, and 60s times, respectively. The preset performance data collection granularity corresponding to group1 is 5min / time, the preset performance data collection granularity corresponding to group2 is 15min / time, and the preset performance data collection granularity corresponding to group3 is 1h / time, as shown in Table 1:

[0077] Table 1

[0078]

[0079] The starting addressing offset refers to the starting offset address of different partitions. For example, the preset performance data collection granularity is 5s / time, and one collection is equal to one sampling point. Then the maximum number of valid sampling points saved is 120960, and the size of each sampling point is fixed to 2548 logical block addresses (Logical Block Address, LBA).

[0080] In the process of determining the starting offset address of each preset granularity partition, the corresponding performance data is saved in the corresponding preset granularity partition. Furthermore, it is also necessary to determine the starting offset address of each preset sampling point partition in each preset granularity partition. After determining each preset sampling point partition, it is also necessary to determine each preset object type partition contained in each preset sampling point partition. One performance sampling point contains multiple object types. The object type may specifically be system, node, volume, volume group, host, host group, mdisk, disk, etc. The position of each object type in the volume space is fixed, that is, the starting offset address of each preset object type partition is determined in each preset sampling point partition, thereby determining the address range of each preset object type partition, as shown in Table 2:

[0081] Table 2

[0082]

[0083] Among them, each object type includes multiple object records, the object record id is a unique identifier of the object record, and the size of an object record RECORD_SIZE_LBA=64byte. It can be seen that in this embodiment, the internal volume is divided into multiple preset granularity partitions and their first starting offset addresses, and each preset sampling point partition and its second starting offset address are determined in each preset granularity partition. Each preset object type partition and its third starting offset address are determined in each preset sampling point partition, and when saving the collected performance data, the corresponding preset granularity partition, preset sampling point partition, and preset object type partition are searched in sequence, that is, the distribution method of performance data is fixed.

[0084] In this embodiment, it also includes: determining the preset maximum storage time and current storage time of each performance data stored in the internal volume, and removing the performance data in the internal volume whose current storage time reaches the preset maximum storage time, so as to release the storage space of the internal volume. It can be understood that different performance data have different corresponding preset maximum storage times according to the different preset performance data collection granularity. For example, the preset maximum storage time of performance data A is 7 days. If the current storage time of performance data A is 6 days, it means that performance data A needs to be continued to be saved. For example, the preset maximum storage time of performance data B is 90 days. If the current storage time of performance data B is 90 days, it means that performance data B needs to be removed, so as to release the storage space of the internal volume used to store performance data B, so as to reduce the storage of redundant data.

[0085] Step S12: receiving the performance data query request sent by the client, and determining the target collection granularity, target sampling point, and target object type corresponding to the performance data query request.

[0086] In this embodiment, the receiving of the performance data query request sent by the client includes: receiving the performance data query request sent by the client using a socket communication method. The client and the server communicate using a socket communication method, that is, the storage management system also includes a socket communication module, and the socket communication module is located at the client and the server respectively, for example Figure 2 A specific communication diagram is shown, in which the GUI (Graphical User Interface) Socket module in the client acts as a Socket client to interact with the Socket server, is responsible for querying performance statistics, and simultaneously provides a performance query interface for use by the performance statistics module of the management software. When the GUI is started, the GUISocket module starts the task thread, which is responsible for executing the query performance task.

[0087] The client sends a performance data query request to the server, which completes the creation of the query task and tells the server to execute the query task. The specific process is as follows:

[0088] 1) Enter the corresponding parameters in the input interface parameters and perform parameter validity check. If the check fails, an exception is thrown and the query process ends. If the check succeeds, the query task is created;

[0089] 2) Put the query task into the task thread. If the placement fails, for example, the query task queue is full, causing the task placement to fail, an exception is thrown and the query process ends;

[0090] 3) If the task is successfully placed, the current thread processing the query task is in a waiting state. When the previous query task of the query task is processed by the previous thread, the current thread will be awakened;

[0091] 4) After the task execution fails, the task thread will generate an exception prompt message and throw an exception, and the query process ends.

[0092] Further, for example Figure 3 A specific query request sending diagram is shown. If the client fails to send a performance data query request to the server, the GUISocket module reconnects to the Socket server, that is, tries to reconnect. If the connection fails or the sending fails again, the task processing fails, an exception is generated, and the task source thread is awakened; wherein, the connection timeout when the GUISocket module reconnects to the Socket server is specifically 2 seconds, and the number of reconnection attempts can be up to 3 times, and the interval between each retry is 1 second.

[0093] Because the allocation method for storing performance data is determined based on the collection granularity, sampling point, and object type, the target collection granularity, target sampling point, and target object type corresponding to the performance data query request are determined to facilitate subsequent search for the corresponding target performance data. Figure 4 A specific request execution diagram is shown, in which the ST module in the Socket server is used to receive a performance data query request from the GUISocket module, and the performance data query submodule in the Socket server is specifically used to parse the message body of the performance data query request, so that the server can subsequently read the corresponding target performance data from the internal volume according to the performance data query request, and assemble the target performance data into a response message body, and return it to the client through the ST module.

[0094] Step S13: determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type within the target sampling point partition, and determining a target data block based on the target object type partition.

[0095] In this embodiment, the step of determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition includes: determining a partition to be queried and a first target starting offset address of the partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity; searching for a target sampling point partition corresponding to the target sampling point in each of the preset sampling point partitions of the partition to be queried based on the first target starting offset address, and determining a second target starting offset address of the target sampling point partition; determining a target object type partition corresponding to the target object type and a third target starting offset address of the target object type partition in each of the preset object type partitions in the target sampling point partition based on the second target starting offset address; and determining a fourth target starting offset address of the target data block based on the third target starting offset address.

[0096] It is understandable that addressing is required in the internal volume so as to subsequently read the target performance data at the corresponding address. The process of addressing in the internal volume based on the target collection granularity, target sampling point, and target object type is as follows:

[0097] 1) Addressing the partition group to be queried on the internal volume: Based on the target acquisition granularity, the partition to be queried and the first target starting offset address of the partition to be queried are determined from each preset granularity partition of the internal volume, and the calculation method is as follows:

[0098] group_x_start_LBA=group_offset_LBA=SAMPLE_SIZE_LBA*points;

[0099] 2) Address a sampling point in the partition to be queried: The size of each sampling point is 2548 LBAs, that is, sample_SIZE_LBA=2548. Assuming that the first target start offset address group_x_start_LBA, start sampling time start_sample_time, and sampling frequency sample_frequency of the partition to be queried are known, the second target start offset address of the target sampling point partition is calculated as follows:

[0100] target_sample_start_LBA=group_x_start_LBA+sample_SIZE_LBA*((target_sample_time-start_sample_time) / sample_frequency);

[0101] 3) Addressing an object in the target sampling point partition: Determine the third target starting offset address of the target object type partition, calculated as follows:

[0102] object_type_start_LBA=target_sample_start_LBA+object_type_offset_LBA;

[0103] Among them, object_type_offset_LBA is the object type offset address obtained by looking up the table;

[0104] 4) Addressing the block in the target object type partition: Determine the fourth target start offset address of the target data block based on the third target start offset address. The object ID is the unique identifier of the object. The size of a sample record for an object is RECORD_SIZE_LBA=64byte, SS_LBA_SIZE=512byte (1 LBA size). Assuming that the object type has been addressed as object_type_start_LBA, the calculation method of the fourth target start offset address of the target data block is as follows:

[0105] object_id_start_LBA=object_type_start_LBA+(object_id*RECORD_SIZE_LBA) / SS_LBA_SIZE.

[0106] Step S14: Read the target performance data on the target data block, and return the target performance data to the client so that the client can perform statistics on the target performance data.

[0107] In this embodiment, the reading of the target performance data on the target data block includes: reading the target performance data on the target data block based on the fourth target starting offset address. The target performance data on the target data block in the internal volume is read based on the fourth target starting offset address, and the target performance data is the performance data corresponding to the performance data query request. It can be understood that after reading the target performance data, the target performance data can be encrypted, and the encryption algorithm is, for example, a single-key encryption algorithm, a public key encryption algorithm, and a hash algorithm. That is to say, the encrypted target performance data can be subsequently transmitted to the client. Encryption can ensure that only authorized clients or systems can decrypt the data. Even if the data is intercepted during transmission, it cannot be decrypted without the correct key, thereby protecting the confidentiality of the data. The use of encrypted data transmission can significantly improve the security of the data transmission process and reduce the risk of data leakage and attack.

[0108] In this embodiment, the target performance data is returned to the client so that the client can count the target performance data, including: using the socket communication method to return the target performance data to the client so that the client can count the target performance data, and generating a performance data report corresponding to the target performance data when the current time of the storage management system reaches the preset timing execution time. It can be understood that the server and the client communicate using the socket communication method, that is, using the socket communication method to return the target performance data to the client so that the client can count the target performance data, for example Figure 5 As shown in the figure, a specific target performance data return diagram is shown. The server assembles the target performance data into a Socket response message and returns the response message to the client. Since there is a lot of performance data, there may be multiple Socket response messages. Due to different network transmission paths, the order of Socket response messages received by the client may be inconsistent with the order of Socket response messages sent by the server. Therefore, the Socket response messages need to be sorted to ensure that the target performance data is sorted by sampling time. If parsing of the Socket response message fails, an exception is thrown and the process ends.

[0109] Furthermore, the storage management system includes a performance monitoring module, a report export module, a performance configuration module, and a performance query interface module, such as Figure 6 A specific performance statistics overall structure diagram and Figure 7 A specific performance statistics functional structure diagram is shown, the REST interface in the server includes a report export interface, a REST general interface, and a performance query interface, the RPC (Remote Procedure Call) interface includes a performance query interface, a performance configuration interface, and a performance report interface, which are respectively connected to the file export interface and the client communication module CLI (command-line interface) interface; further, the performance monitoring module can realize specified object query and hot resource query, the report export module can realize report task management and performance report management, the performance configuration module can realize real-time performance configuration and historical performance configuration, and the performance query interface module can perform object query, hot data query, performance data query, and report management.

[0110] When the current time of the storage management system reaches the preset scheduled execution time, a performance data report corresponding to the target performance data is generated. That is to say, the client can call the performance query interface of the GUI server to query, and receive the target performance data returned by the server, parse the target performance data to generate a performance monitoring chart for the specified object, and can also call the performance report interface of the server, and receive the target performance data returned by the server to execute the report export task and generate a performance report file. In this way, the user can download it to the local to view the performance data.

[0111] In this embodiment, the generation of a performance data report corresponding to the target performance data when the current moment of the storage management system reaches the preset scheduled execution moment includes: creating a current report scheduled task corresponding to the target performance data, and selecting the belonging node of the internal volume to determine the belonging node as the execution node of the current report scheduled task; judging whether the preset execution queue is empty; if the preset execution queue is empty, adding the current report scheduled task to the preset execution queue, so that when the current moment of the storage management system reaches the preset scheduled execution moment, the execution node generates a performance data report corresponding to the target performance data; if the preset execution queue is not empty, adding the current report scheduled task to the preset waiting queue, so as to wait for the preset execution queue to be empty before executing the step of adding the current report scheduled task to the preset execution queue. For example Figure 8 A specific schematic diagram of generating a performance data report is shown, and the specific process of generating a performance data report is as follows:

[0112] 1) Accept the report creation command line request, perform parameter validity check, return parameter verification failure error message if the check fails, and successfully save the setting item content of the report task;

[0113] 2) Create a timer task, execute the scheduled task after the timer ends, and mark the task execution status as started;

[0114] 3) Select a configuration node to send a report task execution request, select the home node of the internal volume, and set the home node as the execution node;

[0115] 4) Maintain execution and wait for the preset execution queue. When the preset execution queue is empty, add the task to the preset execution queue and notify that the task status is in execution; when the preset execution queue is not empty, put the task into the waiting queue and notify that the task status is in waiting;

[0116] 5) According to the report setting parameters, the performance data of multiple sampling points is cyclically queried and a report file is generated;

[0117] 6) Copy the report file to all nodes, remove the task from the execution queue and mark the task as completed;

[0118] 7) Remove the task at the head of the waiting queue and put it into the execution queue, notifying that the task is being executed. Poll in this way until all tasks in the waiting task queue are completed.

[0119] This embodiment supports the configuration of historical and real-time performance switches, and can turn on and off historical and real-time performance switches. If the switch for saving historical performance statistics has been turned off, you can request to delete the saved historical performance statistics, and the space occupied by the internal volume will be released. Fig. 9 A specific performance configuration diagram is shown, and the main process of performance configuration switch is as follows:

[0120] 1) Query the performance configuration that has been performed, call the interface query information and display it to the client, the user modifies the performance statistics configuration item, and performs parameter validity check. If the check is invalid, an error message is returned;

[0121] 2) Organize data to send configuration requests to the server, call the command line interface to change performance configuration, and return the configuration results to the client after the change. If it fails, the user is prompted with failure, and if it succeeds, the configuration is updated;

[0122] 3) The interface determines whether historical performance data is saved. If it is set to save historical performance statistics, it further checks whether the available space of the selected pool is greater than 200G. If not, it directly returns failure and ends the process; if it is satisfied, it checks whether the internal volume exists. If so, it directly returns the end of the process; if not, it triggers the creation of the internal volume on the selected storage pool, and returns the result if the creation is successful; if the internal volume is not created successfully, change the switch for saving historical performance statistics to the off state to ensure that the volume creation result and the switch state are consistent.

[0123] It can be seen that the present invention is applied to the server side of any storage management system, wherein the storage management system also includes a client, and the method includes: storing various performance data of the storage management system in corresponding preset granularity partitions of the internal volume of the local storage pool based on a preset performance data collection granularity; receiving a performance data query request sent by the client, and determining a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request; determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target collection granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition; reading target performance data on the target data block, and returning the target performance data to the client so that the client can perform statistics on the target performance data.

[0124] The beneficial effects are as follows: the server of the storage management system of the present invention stores the performance data in the internal volume of the local storage pool, and when storing the performance data, it will be partitioned and stored according to the preset performance data collection granularity. In this way, when a performance data query request sent by the client is received later, the area to be read is also determined according to the partition storage of the performance data, that is, the partition to be queried, the target sampling point partition, the target object type partition, and the target data block are determined in sequence according to the target collection granularity, the target sampling point, and the target object type corresponding to the performance data query request, and the range is gradually narrowed. Since the performance data storage method is fixed, the method for determining the target data block is also fixed, so the efficiency of locking the target data block is significantly improved; further, the collection, storage, query and statistics of performance data are realized by the server and client of each storage management system itself, without the need for cross-server communication, avoiding communication congestion, and effectively improving the statistical efficiency of performance data; the present invention does not need to create a database, but creates an internal volume in the local storage pool, and stores the collected performance data in the internal volume, that is, the performance data is persisted in the internal volume space, even if the device is abnormally powered off, it can ensure that the performance data is not lost, the data security is high, and the maintenance cost is low.

[0125] See also Fig.10 The embodiment of the present invention discloses a specific performance data statistics method. Compared with the previous embodiment, this embodiment further illustrates and optimizes the technical solution. The method is applied to the server of any storage management system, wherein the storage management system also includes a client, and the method includes:

[0126] Step S21: storing various performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity.

[0127] Step S22: receiving the performance data query request sent by the client, and determining the target collection granularity, target sampling point, and target object type corresponding to the performance data query request.

[0128] For example Fig.11 As shown in the figure, a specific schematic diagram of establishing a socket connection is shown. Before receiving the performance data query request sent by the client, the server needs to create Socket communication, set Socket options, and configure the listening IP (Internet Protocol) and port, so as to traverse and read the Socket connection through the Select method. The number of connections that can be read simultaneously is 5, that is, the maximum number of performance data query requests sent by the client that can be received simultaneously is 5. After receiving the performance data query request, the request message header is parsed and the validity of the message header is checked. If the check result is invalid, the response message header is assembled, the error code is filled, and a Socket response message is sent to the client. If the check result is valid, the subsequent process continues.

[0129] Step S23: determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type within the target sampling point partition, and determining a target data block based on the target object type partition.

[0130] Step S24: Determine the query type corresponding to the performance data query request.

[0131] like Fig.11As shown, before reading the target performance data on the target data block, it is also necessary to determine the query type corresponding to the performance data query request, including query type of custom collection time, hot spot performance data query type, and scheduled query type. Among them, the query type of custom collection time represents the query of performance data collected by the specified object ID in the specified time period, the hot spot performance data query type represents the query of hot spot performance data, and the scheduled query type represents the query of performance data of all objects of a certain statistical type within a certain time period.

[0132] The storage management system is divided into functions and also includes a performance monitoring module. The performance monitoring module includes two functions: querying the performance of specified objects and querying the performance of hot resources. It is used to view the historical performance, hot resource performance, and real-time performance of resources such as systems and nodes. Performance data can be queried by calling the performance statistics query interface. It supports performance data queries for a certain object within a certain period of time. It also supports sorting the performance data of a certain type of objects within a certain period of time according to a certain statistical indicator, and returns the hot performance data of the specified time period of the first n (top) or last n (bottom) objects requested.

[0133] Step S25: If the query type is a hotspot performance data query type, the performance data on the target data block is read, and the hotspot performance data is filtered out from all the performance data on the target data block, and the hotspot performance data is determined as the target performance data.

[0134] If the query type is a hotspot performance data query type, the performance data on the target data block is read, and the hotspot performance data is filtered out from all the performance data on the target data block, and the hotspot performance data is determined as the target performance data, for example Fig.12 A specific hotspot performance data query schematic diagram is shown, and the specific process is as follows:

[0135] 1) According to the selected sorting mode, sorting method, and query time period, a hotspot performance data request is sent, the hotspot resource query interface is called to perform performance query, and the hotspot performance data is returned to the client. The client parses the received hotspot performance data and loads the chart to generate a performance chart of the hotspot resource;

[0136] 2) The client can also request real-time performance data query every 5S, call the interface to obtain real-time performance data to update the performance chart.

[0137] Step S26: If the query type is a query type with a custom collection time, determine the target collection time corresponding to the performance data query request, and read the target performance data on the target data block whose collection time is the same as the target collection time.

[0138] If the query type is a query type with a custom collection time, the target collection time corresponding to the performance data query request is determined, and the target performance data with the same collection time as the target collection time on the target data block is read, for example Fig.13 A specific custom performance data query diagram is shown, and the specific process is as follows:

[0139] 1) Enter the performance monitoring module to query the specified object and determine whether the real-time performance switch is turned on. If not, prompt the user to jump to the performance configuration module to configure the real-time performance.

[0140] 2) If the real-time performance switch is turned on, determine whether the historical performance switch is turned on. If not, prompt the user to jump to the performance configuration module to configure the real-time performance item;

[0141] 3) If real-time and historical performance configurations have been enabled, call the object query interface to query performance based on the object type, object, and time period selected on the interface, parse the returned performance data, and load the chart to generate a performance chart for the specified object;

[0142] 4) Request a real-time performance data query every preset time period, specifically request a real-time performance data query every 5 seconds, and call the interface to obtain real-time performance data so that the client can update the performance chart later.

[0143] Step S27: If the query type is a timed query type, determine the target timed query time corresponding to the performance data query request, and read the target performance data on the target data block when the current time of the storage management system is the target timed query time.

[0144] If the query type is a timed query type, determine the target timed query time corresponding to the performance data query request, and read the target performance data on the target data block when the current time of the storage management system is the target timed query time, for example, read all target performance data on the target data block at the target timed query time.

[0145] Step S28: Return the target performance data to the client so that the client can collect statistics on the target performance data.

[0146] The client is divided into functions and also includes a report export module, which mainly includes two functions: report task management and report management. The report module supports the creation and modification of scheduled report tasks. When the current system time reaches the scheduled execution time set for a report task and is within the time range specified for the scheduled execution task, the report task is automatically executed and a report is generated. Users can download report files at any time. When the number of files reaches the maximum limit, the newly generated file overwrites the oldest file. For example, it supports saving up to 30 report files. Fig.14 The diagram shows a specific report task creation and modification process. The client verifies the content input by the user, and returns an error message if the verification fails. After the verification succeeds, the request content is combined and a request to create or modify a report task is sent to the server. The server calls the create or modify report task interface to create or modify the report, and returns the result to the client. An error prompt is given in case of failure, and the report task list is refreshed in case of success.

[0147] For example Fig.15 The diagram shows a specific report execution process. The user selects an existing report task and clicks "Execute". The client organizes data and sends a request to execute the report task to the server. The server calls the interface to execute the report task and returns the result to the client. An error message is given in case of failure. In case of success, the report task list is refreshed and the latest report file can be downloaded for viewing.

[0148] It can be seen that the present invention can perform statistics on real-time and historical performance data stored in performance configuration, store performance data in the local storage pool of the server, and query performance data from the local storage pool. There is no need to deploy a database to increase the collection cost, send performance instructions across servers, and receive performance log files, so the performance data collection efficiency is relatively high. The performance data is stored persistently in the internal volume space, and even if the equipment is powered off abnormally, the performance data will not be lost, and the data security is relatively high. The strategy of pre-allocating space is adopted to pre-allocate space for all objects on the internal volume, and the storage location of each statistical indicator of each object is mapped to a fixed position inside the volume. Then, the position of each object on the volume space is fixed, and the addressing efficiency of the specified object is high, which improves the efficiency of reading and writing performance data. It has the function of timing tasks for performance reports, and the use case flexibly configures the report tasks, and automatically generates performance report files for a certain time period, which is convenient for users to perform performance analysis and comparison.

[0149] Fig.16 A schematic diagram of the structure of a performance data statistics device provided in an embodiment of the present invention is applied to a server of any storage management system, wherein the storage management system also includes a client, and the device includes:

[0150] A performance data storage module 11, used to store various performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity;

[0151] A query request determination module 12 is used to receive a performance data query request sent by the client, and determine a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request;

[0152] A data block determination module 13 is configured to determine a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, search for a target sampling point partition corresponding to the target sampling point in the partition to be queried, determine a target object type partition corresponding to the target object type in the target sampling point partition, and determine a target data block based on the target object type partition;

[0153] The performance data statistics module 14 is used to read the target performance data on the target data block and return the target performance data to the client so that the client can perform statistics on the target performance data.

[0154] It can be seen that the present invention is applied to the server side of any storage management system, wherein the storage management system also includes a client, and the method includes: storing various performance data of the storage management system in corresponding preset granularity partitions of the internal volume of the local storage pool based on a preset performance data collection granularity; receiving a performance data query request sent by the client, and determining a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request; determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target collection granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition; reading target performance data on the target data block, and returning the target performance data to the client so that the client can perform statistics on the target performance data.

[0155] The beneficial effects are as follows: the server of the storage management system of the present invention stores the performance data in the internal volume of the local storage pool, and when storing the performance data, it will be partitioned and stored according to the preset performance data collection granularity. In this way, when a performance data query request sent by the client is received later, the area to be read is also determined according to the partition storage of the performance data, that is, the partition to be queried, the target sampling point partition, the target object type partition, and the target data block are determined in sequence according to the target collection granularity, the target sampling point, and the target object type corresponding to the performance data query request, and the range is gradually narrowed. Since the performance data storage method is fixed, the method for determining the target data block is also fixed, so the efficiency of locking the target data block is significantly improved; further, the collection, storage, query and statistics of performance data are realized by the server and client of each storage management system itself, without the need for cross-server communication, avoiding communication congestion, and effectively improving the statistical efficiency of performance data; the present invention does not need to create a database, but creates an internal volume in the local storage pool, and stores the collected performance data in the internal volume, that is, the performance data is persisted in the internal volume space, even if the device is abnormally powered off, it can ensure that the performance data is not lost, the data security is high, and the maintenance cost is low.

[0156] Furthermore, the present application also discloses an electronic device. Fig.17 It is a structural diagram of an electronic device according to an exemplary embodiment, and the content in the figure cannot be regarded as any limitation on the scope of use of this application. The electronic device may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input and output interface 25 and a communication bus 26. Among them, the memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the performance data statistics method disclosed in any of the aforementioned embodiments. In addition, the electronic device in this embodiment may specifically be an electronic computer.

[0157] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device; the communication interface 24 can create a data transmission channel between the electronic device and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0158] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0159] The operating system 221 is used to manage and control various hardware devices on the electronic device and the computer program 222, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the performance data statistics method performed by the electronic device disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.

[0160] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the aforementioned disclosed performance data statistics method. The specific steps of the method can refer to the corresponding contents disclosed in the aforementioned embodiments, and will not be repeated here.

[0161] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0162] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0163] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0164] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0165] The technical solution provided by the present application is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technicians in this field, according to the idea of ​​the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A performance data statistics method, characterized in that: Applied to a server of any storage management system, wherein the storage management system also includes a client, the method includes: Based on the preset performance data collection granularity, storing each performance data of the storage management system in a corresponding preset granularity partition of the internal volume of the local storage pool; Receive a performance data query request sent by the client, and determine a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request; Determine a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, search for a target sampling point partition corresponding to the target sampling point in the partition to be queried, determine a target object type partition corresponding to the target object type in the target sampling point partition, and determine a target data block based on the target object type partition; The target performance data on the target data block is read, and the target performance data is returned to the client so that the client can perform statistics on the target performance data.

2. The performance data statistics method according to claim 1, characterized in that: The storing of each performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity includes: Determine, in the internal volume of the local storage pool, a preset granularity partition corresponding to each performance data respectively according to the preset performance data collection granularity respectively corresponding to each performance data of the storage management system; Determine a preset sampling point partition corresponding to each performance data in the preset granularity partition, and determine a preset object type partition corresponding to each performance data in the preset sampling point partition; Each of the performance data is stored in a data block of a corresponding preset object type partition based on the first starting offset address of the preset granularity partition, the second starting offset address of the preset sampling point partition, and the third starting offset address of the preset object type partition.

3. The performance data statistics method according to claim 2, characterized in that: The step of determining a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, searching for a target sampling point partition corresponding to the target sampling point in the partition to be queried, and determining a target object type partition corresponding to the target object type in the target sampling point partition, and determining a target data block based on the target object type partition, includes: Determine a partition to be queried and a first target starting offset address of the partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity; searching, based on the first target starting offset address, for a target sampling point partition corresponding to the target sampling point in each of the preset sampling point partitions of the partition to be queried, and determining a second target starting offset address of the target sampling point partition; Determine, based on the second target starting offset address, a target object type partition corresponding to the target object type in each of the preset object type partitions within the target sampling point partition and a third target starting offset address of the target object type partition; Determine a fourth target starting offset address of the target data block based on the third target starting offset address; Correspondingly, the reading of the target performance data on the target data block includes: The target performance data on the target data block is read based on the fourth target starting offset address.

4. The performance data statistics method according to claim 1, characterized in that: The reading target performance data on the target data block includes: Determine a query type corresponding to the performance data query request; If the query type is a hotspot performance data query type, the performance data on the target data block is read, and the hotspot performance data is filtered out from all the performance data on the target data block, and the hotspot performance data is determined as the target performance data; If the query type is a query type with a user-defined collection time, determining a target collection time corresponding to the performance data query request, and reading target performance data on the target data block whose collection time is the same as the target collection time; If the query type is a scheduled query type, a target scheduled query time corresponding to the performance data query request is determined, and the target performance data on the target data block is read when the current time of the storage management system is the target scheduled query time.

5. The performance data statistics method according to claim 1, characterized in that: The receiving the performance data query request sent by the client includes: Receiving the performance data query request sent by the client by using a socket communication method; Correspondingly, returning the target performance data to the client so that the client can collect statistics on the target performance data includes: The target performance data is returned to the client using the socket communication method so that the client can count the target performance data and generate a performance data report corresponding to the target performance data when the current time of the storage management system reaches the preset scheduled execution time.

6. The performance data statistics method according to claim 5, characterized in that: The generating of a performance data report corresponding to the target performance data when the current time of the storage management system reaches the preset time of scheduled execution includes: Creating a current report timing task corresponding to the target performance data, and selecting a home node of the internal volume to determine the home node as an execution node of the current report timing task; Determine whether the preset execution queue is empty; If the preset execution queue is empty, the current report timing task is added to the preset execution queue, so that when the current time of the storage management system reaches the preset timing execution time, the execution node generates a performance data report corresponding to the target performance data; If the preset execution queue is not empty, the current report timing task is added to the preset waiting queue, so as to wait until the preset execution queue is empty before executing the step of adding the current report timing task to the preset execution queue.

7. The performance data statistics method according to any one of claims 1 to 6, characterized in that: Also includes: The preset maximum storage time and the current storage time of each performance data stored in the internal volume are determined, and the performance data in the internal volume whose current storage time reaches the preset maximum storage time is removed to release the storage space of the internal volume.

8. A performance data statistics device, characterized in that: Applied to a server of any storage management system, wherein the storage management system also includes a client, the device includes: A performance data storage module, used to store various performance data of the storage management system in a corresponding preset granularity partition of an internal volume of a local storage pool based on a preset performance data collection granularity; A query request determination module, configured to receive a performance data query request sent by the client, and determine a target collection granularity, a target sampling point, and a target object type corresponding to the performance data query request; a data block determination module, configured to determine a partition to be queried from each of the preset granularity partitions of the internal volume based on the target acquisition granularity, search for a target sampling point partition corresponding to the target sampling point in the partition to be queried, determine a target object type partition corresponding to the target object type in the target sampling point partition, and determine a target data block based on the target object type partition; The performance data statistics module is used to read the target performance data on the target data block and return the target performance data to the client so that the client can perform statistics on the target performance data.

9. An electronic device, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program to implement the steps of the performance data statistics method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the performance data statistics method according to any one of claims 1 to 7 are implemented.