An intelligent operation and maintenance management system for data center

By adjusting the order of storage and read commands based on data size indicators and priorities in the data center, the bottleneck of data center storage and read speed was solved, improving overall operating efficiency and user experience.

CN115857827BActive Publication Date: 2026-02-24SHENZHEN ZHONG XUN WANG LIAN SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211698328.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2026-02-24
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

In existing data centers, the lack of data classification and processing makes storage and retrieval speeds a bottleneck for improving data center throughput. In particular, the speed of storing multiple text data on solid-state drives is significantly lower than that of storing video data.

Method used

The data center stores data into the associated storage area based on the data size indicator, and checks whether the data size matches after storage. If they do not match, the data size indicator is redefined and the data is stored in another storage area. At the same time, the reading order is adjusted according to the priority of the data read command and the unsort indicator.

Benefits of technology

By adjusting the order of storage and read commands, the overall operational efficiency of the data center was improved, user waiting time was reduced, and user experience was enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115857827B_ABST
    Figure CN115857827B_ABST
Patent Text Reader

Abstract

The application discloses a kind of data center intelligent operation and maintenance management systems, system can execute: data center receives data storage command;Data center according to data size indicator, the data that data storage command is directed to is stored in one of multiple storage areas;After the data that data storage command is directed to is stored in one of multiple storage areas, data center judges whether the data size of the data stored corresponds to data size indicator according to the storage address of the data stored;If data center judges that the data size of the data stored does not correspond to data size indicator, data center re-determines data size indicator according to the data size of the data stored;Data center is stored in another one of multiple storage areas according to the data size indicator that re-determines the data stored.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data center management, and in particular to a data center intelligent operation and maintenance management system. BACKGROUND

[0002] A data center is a network of specific devices for global cooperation to receive and store data information on the Internet infrastructure. Generally speaking, the most important thing in the operation and maintenance management of a data center is to ensure the speed of data center receiving and reading data, because the speed directly affects the user experience.

[0003] In the operation process of some complex data centers, the data center may receive text data, audio data, image data, video data or even large programs. Some high-end data centers currently generally use large-capacity solid state disks to store related data, and the speed of storing multiple text data by a solid state disk is significantly lower than the speed of storing a video data. For example, the speed of storing 1000 text information of 1 megabyte by a solid state disk is significantly less than the speed of storing a 1000 megabyte video information. The current data center does not classify the data in the process of storing and reading information, which leads to the fact that in some cases, the speed of data center storing and reading data becomes the bottleneck of improving the throughput speed of the data center. SUMMARY

[0004] To achieve the above-mentioned purpose, the present application provides a data center intelligent operation and maintenance management method, characterized in that the method comprises:

[0005] The data center receives a data storage command, wherein the data storage command comprises a data size indicator composed of a predetermined value;

[0006] The data center stores the data corresponding to the data storage command in one of a plurality of storage areas according to the data size indicator, wherein one of the plurality of storage areas is associated with the data size indicator;

[0007] After storing the data corresponding to the data storage command in one of the plurality of storage areas, the data center determines whether the data size of the stored data corresponds to the data size indicator according to the storage address of the stored data;

[0008] If the data center determines that the data size of the stored data does not correspond to the data size indicator, the data center re-determines the data size indicator according to the data size of the stored data;

[0009] The data center stores the stored data into another one of the plurality of storage areas according to the re-determined data size indicator, wherein the another one of the plurality of storage areas is associated with the re-determined data size indicator.

[0010] In a preferred embodiment, the data to which the data storage command is directed is data A, and wherein the data center storing the data to which the data storage command is directed into one of the plurality of storage areas according to the data size indicator comprises the following steps:

[0011] If the data center determines that the data size indicator has a predetermined value A, the data center stores data A into storage area A, wherein the predetermined value A corresponds to storage area A, and wherein the predetermined value A corresponds to data size A.

[0012] If the data center determines that the data size indicator has a predetermined value B, the data center stores data A into storage area B, wherein the predetermined value B corresponds to storage area B, the predetermined value B corresponds to data size B, the predetermined value B is a different value than the predetermined value A, and storage area A is a different storage area than storage area B.

[0013] In a preferred embodiment, the data center determining whether the data size of the stored data corresponds to the data size indicator according to the storage address of the stored data comprises the following steps:

[0014] If the data center determines that the data size of data A is data size A according to the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value A, the data center determines that the data size of the stored data corresponds to the data size indicator.

[0015] If the data center determines that the data size of data A is data size A according to the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, the data center determines that the data size of the stored data does not correspond to the data size indicator.

[0016] In a preferred embodiment, the data center re-determining the data size indicator according to the data size of the stored data comprises the following steps:

[0017] If the data center determines that the data size of data A is data size A according to the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, the data center re-determines that the data size indicator for data A has a predetermined value A.

[0018] Specifically, the process of the data center storing the stored data into another storage area among multiple storage areas based on the redefined data size indicator includes the following steps:

[0019] The data center stores data A in storage area A.

[0020] In a preferred embodiment, the method further includes:

[0021] The data center receives multiple data read commands, each of which includes a data size indicator consisting of a predetermined value.

[0022] The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands;

[0023] The data center executes each data read command sequentially based on its priority.

[0024] In a preferred embodiment, the data center receives data read command A and data read command B;

[0025] The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands, specifically through the following steps:

[0026] If the data center determines that the data size indicator in data read command A has a predetermined value A, and if the data center determines that the data size indicator in data read command B has a predetermined value B, then the data center determines that data read command A has a higher priority.

[0027] In a preferred embodiment, the data center executes each data read command sequentially according to its priority, specifically including the following steps:

[0028] If the data center determines that data read command A has a higher priority, the data center reads the data specified by data read command A from storage area A according to the predetermined value A of the data size indicator in data read command A;

[0029] After reading the data specified by read command A from storage area A, the data center reads the data specified by read command B from storage area B according to the predetermined value B of the data size indicator in read command B.

[0030] In a preferred embodiment, the method further includes:

[0031] The data center receives multiple data read commands, wherein at least one of the multiple data read commands includes a non-ordering indicator;

[0032] The data center executes at least one data read command according to the timing of receiving the at least one data read command, based on a non-ordering indicator included in at least one of a plurality of data read commands.

[0033] This invention provides an intelligent operation and maintenance management system for data centers, which is configured to execute the methods described above.

[0034] Compared with existing technologies, this invention has the following advantages: According to existing storage methods, when multiple users store data in a data center, long user waiting times may occur. Changing the order of command execution can improve the user experience. Similarly, when reading data, changing the order of command execution can also improve the experience for one or more users. This invention proposes a solution for changing the order of command execution, thereby improving the user experience. Attached Figure Description

[0035] Figure 1 This is a schematic diagram of the system architecture according to an embodiment of the present invention.

[0036] Figure 2 This is a flowchart of a method according to an embodiment of the present invention. Detailed Implementation

[0037] The specific embodiments of the present invention will now be described in detail with reference to the accompanying drawings, but it should be understood that the scope of protection of the present invention is not limited to the specific embodiments.

[0038] As described in the background section, the speed of storing multiple text data on a solid-state drive (SSD) is significantly slower than the speed of storing a single video data (e.g., the speed of storing 1000 1-megabyte text messages on an SSD is significantly slower than the speed of storing a 1000-megabyte video message). If storage and retrieval commands are executed sequentially, the storage and retrieval speeds of a data center will be significantly limited. For example, if user A wants to store 1000 1-megabyte text messages in a data center (assuming storage takes 3 time units), and user B simultaneously wants to store a 1000-megabyte video message in the data center (assuming storage takes 1 time unit), according to the existing storage method, if the data center receives user A's instruction first and then user B's instruction, the data center needs to store the 1000 1-megabyte text messages first, and then the 1000-megabyte video message. User A would then wait 3 time units, and user B would wait 4 time units (3 time units + 1 time unit). Assuming the order of storage command execution can be reversed, user B would only need to wait 1 time unit, and user A would wait 4 time units. While user A's waiting time increased by approximately 13%, user B's waiting time decreased by 75%, resulting in a significant improvement in overall system efficiency. Furthermore, user A doesn't only store text information; when storing video information, user A also benefits from reduced waiting time. Therefore, overall, changing the order of command execution improves user experience. Similarly, when reading data, for example, if user A needs to read 1000 1-megabyte text messages and 1000-megabyte video message, reading the 1000-megabyte video message first allows user A to use the video message faster, while waiting for text message transmission. Based on this requirement, the present invention proposes the following embodiments.

[0039] Example 1

[0040] Figure 1This is a schematic diagram of a system architecture according to an embodiment of the present invention. As shown in the figure, the data center of the present invention includes a host, a memory controller, and multiple storage areas (storage areas A-D are shown in the figure). The host can be a dedicated processor or a general-purpose processor within the data center. When the receiver of the data center receives data storage commands and data read commands, the receiver can transmit the relevant commands to the host, which then sends the commands to the memory controller. The memory controller then controls the storage areas to execute the data storage and read commands according to the commands. Those skilled in the art should understand that although four storage areas are shown in the figure, there can be more storage areas (e.g., 5, 6, 7, 8 or more) or fewer (2, 3). Those skilled in the art should also understand that storage area A and storage area B can be logical partitions of a single solid-state drive (SSD), or storage area A and storage area B can be two physically separate SSDs.

[0041] Example 2

[0042] Figure 2 This is a flowchart of a method according to an embodiment of the present invention. As shown in the figure, the method of the present invention includes the following steps:

[0043] Step 21: The data center receives a data storage command, wherein the data storage command includes a data size indicator consisting of predetermined values; in a specific example, the data size indicator in the data storage command is generated by the sending body of the command. For example, if a user sends the data storage command using a computer, the computer adds the data size indicator consisting of predetermined values ​​to the data storage command when generating and sending the data storage command.

[0044] Step 22: The data center stores the data targeted by the data storage command into one of multiple storage areas according to the data size indicator, wherein one of the multiple storage areas is associated with the data size indicator; in a specific example, step 22 can be executed by a memory controller, which may be a dedicated chip inside the hard disk, running a program written according to the disclosure of the present invention and other known memory controller programs.

[0045] Step 23: After storing the data targeted by the data storage command into one of the multiple storage areas, the data center determines whether the data size of the stored data corresponds to the data size indicator based on the storage address of the stored data. In a specific example, step 23 can be executed by a judgment module, which can be a dedicated chip inside the hard disk, running a program written according to the disclosure of the present invention.

[0046] Step 24: If the data center determines that the data size of the stored data does not correspond to the data size indicator, the data center re-determines the data size indicator based on the data size of the stored data. In a specific example, step 24 can be performed by the determination module, which can re-determine the data size indicator based on the data size of the stored data.

[0047] Step 25: The data center stores the stored data into another storage area among multiple storage areas based on the redefined data size indicator, wherein the other storage area among multiple storage areas is associated with the redefined data size indicator. In a specific example, step 25 can be performed by a decision module in conjunction with the memory controller. The decision module can send an instruction to the memory controller, causing the memory controller to store the stored data into another storage area among multiple storage areas.

[0048] Example 3

[0049] In a preferred embodiment, the data storage command targets data A, wherein the data center stores the data targeted by the data storage command into one of multiple storage areas according to the data size indicator, specifically including the following steps:

[0050] If the data center determines that the data size indicator has a predetermined value A, then the data center stores the data A in storage area A, where the predetermined value A corresponds to storage area A and the predetermined value A corresponds to the data size A.

[0051] If the data center determines that the data size indicator has a predetermined value B, then the data center will store the data A in storage area B, where the predetermined value B corresponds to storage area B, the predetermined value B corresponds to the data size B, the predetermined value B is a different value from the predetermined value A, and storage area A and storage area B are different storage areas.

[0052] In a specific example, the predetermined value can be a predefined sequence of bits, and the mapping relationship between data size and the predetermined value can be predefined. In a simplest example, two data sizes can be defined. For example, data with a single data unit (those skilled in the art should understand that a single data unit refers to the smallest indivisible data unit during storage and retrieval) larger than 1MB can be defined as data with data size A, and data with a single data unit smaller than 1MB can be defined as data with data size B. In this example, if the data size of a certain data is 500kB, then the data is determined to be data with data size A. Of course, in a more complex embodiment, data with a single data unit larger than 10MB can be defined as data with data size A, data with a single data unit smaller than 10MB but larger than 1MB can be defined as data with data size B, and data with a single data unit smaller than 1MB can be defined as data with data size C. Increasing the number of data size categories can further improve the storage and retrieval efficiency of the system, but excessively increasing the number of data size categories (e.g., dividing data into 10 categories according to data size) may lead to a decrease in the speed of system read storage commands. The mapping relationship between predetermined values, data sizes, and storage areas can be defined by the following table:

[0053] Table 1

[0054]

[0055] In a specific example, after receiving a data storage command, the memory controller first determines the value of a predetermined value in the data storage command, for example, determining the predetermined value to be "00". Then, the memory controller can determine the data size of the data corresponding to the data storage command (e.g., data A) as data size A. Subsequently, the memory controller stores data A in storage area A. Of course, according to existing technology, the memory controller can use other fields in the data storage command to assist in determining the data size. However, using other fields in the data storage command to assist in determining the data size requires the memory controller to perform a series of operations—decoding the command, determining the data size, and storing the data according to the command—serially, because determining the data size requires first decoding the command. According to the method of this invention, the memory controller can simultaneously decode the predetermined value (located in a fixed part of the command, such as in the command header or end) and the data storage command itself. This allows the invention to execute the determination of the data size and the parsing of the data storage command itself in parallel. Based on MATLAB simulation results, the method of this invention can achieve an approximately 3% improvement in command execution speed compared to existing methods.

[0056] Example 4

[0057] In a preferred embodiment, the process of determining whether the data size of the stored data corresponds to the data size indicator based on the storage address of the stored data specifically includes the following steps: if the data center determines that the data size of data A is data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value A, then the data center determines that the data size of the stored data corresponds to the data size indicator; if the data center determines that the data size of data A is data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, then the data center determines that the data size of the stored data does not correspond to the data size indicator.

[0058] In a specific example, due to defects in the transistor itself or interference during transmission, there is a small probability of a mismatch between the predetermined value and the data size. For instance, for data A of size A, its predetermined value should be "00". However, due to defects in the transistor itself or interference during transmission, when the memory controller receives a data storage command from the host, the predetermined value contained in the data storage command may become "10". The memory controller will store data A in storage area B based on the predetermined value "10" in the data storage command, thus causing an error. In this invention, the reason for determining whether the data size of the stored data corresponds to the data size indicator only after storing the data targeted by the data storage command in one of multiple storage areas is mainly to improve the efficiency of data storage. For example, it could be designed to determine whether the data size of the stored data corresponds to the data size indicator after determining the data size but before storing. However, when the memory controller performs this step, it cannot parse and execute subsequent commands, which leads to the queuing of subsequent commands.

[0059] Example 5

[0060] In a preferred embodiment, the data center redetermines the data size indicator based on the size of the stored data, specifically including the following steps:

[0061] If the data center determines the data size of data A as data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, then the data center re-determines that the data size indicator of data A has the predetermined value A; in a specific example, the determination module can determine the data size of the stored data based on the start address and end address of the storage address of the stored data.

[0062] Specifically, the process of the data center storing the stored data into another storage area among multiple storage areas based on the redefined data size indicator includes the following steps: The data center stores data A into storage area A.

[0063] Example 6

[0064] In a preferred embodiment, the method further includes:

[0065] The data center receives multiple data read commands, each of which includes a data size indicator consisting of a predetermined value.

[0066] The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands. In a specific example, the data center receives data read commands A, B, C, D, E, and F sequentially (and stores these commands in a cache). Data read commands A and B represent reading data of size B, and data read command F represents reading data of size A. In this example, data read command F has the highest priority and is executed first. Subsequent data read commands A can be prioritized according to the order in which they are received. For example, in this example, data read command A is received first, so it has the highest priority among the data read commands A, and so on.

[0067] The data center executes each data read command sequentially based on its priority.

[0068] Example 7

[0069] In a preferred embodiment, the data center receives data read command A and data read command B;

[0070] The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands, specifically through the following steps:

[0071] If the data center determines that the data size indicator in data read command A has a predetermined value A, and if the data center determines that the data size indicator in data read command B has a predetermined value B, then the data center determines that data read command A has a higher priority.

[0072] The data center executes each data read command sequentially according to its priority, specifically including the following steps:

[0073] If the data center determines that data read command A has a higher priority, then the data center reads the data specified by data read command A from storage area A according to the predetermined value A of the data size indicator in data read command A. In a specific example, since data of size A is read first, when reading data of size A, there is no need to wait for the reading of data of smaller data size B, which has lower reading efficiency. Therefore, this scheme improves the efficiency of data reading.

[0074] After reading the data specified by read command A from storage area A, the data center reads the data specified by read command B from storage area B according to the predetermined value B of the data size indicator in read command B.

[0075] Example 8

[0076] In a preferred embodiment, the method further includes:

[0077] The data center receives multiple data read commands, and at least one of the data read commands includes a non-ordering indicator. In a specific example, for instance, if a user forces that a certain command cannot be delayed, the user can select the relevant function, and the user terminal can accordingly include a non-ordering indicator in the data read command. The non-ordering indicator can be a predetermined value. For example, when the predetermined value is 2 bits, the reserved value "01" represents the non-ordering indicator; when the predetermined value is 3 bits, the reserved value "001" represents the non-ordering indicator.

[0078] The data center executes at least one data read command based on the timing of its receipt, according to a non-ordering indicator included in at least one of a plurality of data read commands. In a specific example, for instance, data read commands A, B, and C are received, where data read command A includes a non-ordering indicator, the data size corresponding to data read command A is data size B, data read command B includes a predetermined value A, and data read command C includes a predetermined value B. In this case, because data read command A includes a non-ordering indicator, although its corresponding data size is data size B, since data read command A is the first to be received (i.e., the timing of its receipt), data read command A is executed first. The remaining data read commands are then prioritized according to the previously specified embodiment.

[0079] The foregoing description of specific exemplary embodiments of the invention is for illustrative and explanatory purposes. These descriptions are not intended to limit the invention to the precise forms disclosed, and it will be apparent that many changes and variations can be made in accordance with the foregoing teachings. The exemplary embodiments were chosen and described in order to explain the specific principles of the invention and its practical application, thereby enabling those skilled in the art to implement and utilize various different exemplary embodiments of the invention, as well as various different choices and variations. The scope of the invention is intended to be defined by the claims and their equivalents.

Claims

1. A method for intelligent operation and maintenance management of data centers, characterized in that, The method includes: The data center receives a data storage command, wherein the data storage command includes a data size indicator consisting of a predetermined value; wherein the predetermined value is a predefined bit sequence, and the mapping relationship between the data size and the predetermined value is predefined; The data center stores the data targeted by the data storage command into one of a plurality of storage areas according to the data size indicator, wherein one of the plurality of storage areas is associated with the data size indicator; After storing the data targeted by the data storage command into one of the multiple storage areas, the data center determines whether the size of the stored data corresponds to the data size indicator based on the storage address of the stored data. If the data center determines that the size of the stored data does not correspond to the data size indicator, the data center will re-determine the data size indicator based on the size of the stored data. The data center stores the stored data into another storage area among multiple storage areas based on a redefined data size indicator, wherein the other storage area among the multiple storage areas is associated with the redefined data size indicator. The data center receives multiple data read commands, wherein each of the multiple data read commands includes a data size indicator consisting of a predetermined value; The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands; The data center executes each data read command sequentially according to its priority. The data center receives multiple data read commands, wherein at least one of the multiple data read commands includes a non-sorting indicator composed of the predetermined values; The data center executes the at least one data read command according to the timing of its receipt, based on a non-ordering indicator included in at least one of a plurality of data read commands.

2. The method as described in claim 1, wherein, The data storage command targets data A. Specifically, the data center stores the data targeted by the data storage command into one of multiple storage areas according to the data size indicator, including the following steps: If the data center determines that the data size indicator has a predetermined value A, the data center stores the data A in storage area A, wherein the predetermined value A corresponds to the storage area A, and wherein the predetermined value A corresponds to the data size A; If the data center determines that the data size indicator has a predetermined value B, then the data center stores the data A in storage area B, wherein the predetermined value B corresponds to the storage area B, the predetermined value B corresponds to the data size B, the predetermined value B is a different value from the predetermined value A, and the storage area A and the storage area B are different storage areas.

3. The method as described in claim 2, wherein, The data center determines whether the size of the stored data corresponds to the data size indicator based on the storage address of the stored data. This process includes the following steps: If the data center determines the data size of data A as data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value A, then the data center determines that the data size of the stored data corresponds to the data size indicator; If the data center determines the data size of data A as data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, then the data center determines that the data size of the stored data does not correspond to the data size indicator.

4. The method of claim 3, wherein, The data center redetermines the data size indicator based on the size of the stored data, specifically including the following steps: If the data center determines the data size of data A as data size A based on the storage address of the stored data, and if the data center determines that the data size indicator has a predetermined value B, then the data center re-determines that the data size indicator of data A has a predetermined value A; Specifically, the process of the data center storing the stored data into another storage area among multiple storage areas based on the redefined data size indicator includes the following steps: The data center stores the data A in storage area A.

5. The method of claim 4, wherein, The data center receives data read command A and data read command B; The data center determines the priority of each data read command based on the data size indicator included in each of the multiple data read commands, specifically through the following steps: If the data center determines that the data size indicator in data read command A has a predetermined value A, and if the data center determines that the data size indicator in data read command B has a predetermined value B, then the data center determines that data read command A has a higher priority.

6. The method of claim 5, wherein, The data center executes each data read command sequentially according to its priority, specifically including the following steps: If the data center determines that data read command A has a higher priority, the data center reads the data specified by data read command A from storage area A according to the predetermined value A of the data size indicator in data read command A; After reading the data specified by read command A from storage area A, the data center reads the data specified by read command B from storage area B according to the predetermined value B of the data size indicator in read command B.

7. A data center intelligent operation and maintenance management system, characterized in that, The system is configured to perform the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Data writing method, disk module and data writing system

    CN104423892A

  • Detecting page fault traffic

    CN114077399A