Data management method and device

By writing the data to different data blocks of the solid-state drive according to the heat attributes of the data, the problems of low data management efficiency and high spam data in the prior art are solved, and efficient data management and extended data effectiveness are achieved.

CN119861879AActive Publication Date: 2025-04-22JINAN INSPUR DATA TECH CO LTD

Patent Information

Application Number
CN202510341115.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-04-22
Estimated Expiration
2045-03-21

AI Technical Summary

Technical Problem

In the prior art, data management efficiency is low, resulting in mixed storage of hot and cold data, affecting the overall efficiency, and it is difficult to effectively reduce the probability of spam data generation.

Method used

By obtaining multiple data to be written to the solid state hard disk and its heat attributes, and writing the data to the corresponding data blocks based on these heat attributes, different data blocks correspond to different heat attribute conditions.

Benefits of technology

The separation management of hot data and cold data is realized, which reduces the probability of spam data generation, improves data management efficiency, and extends the effectiveness of cold data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119861879A_ABST
    Figure CN119861879A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data management method and device, and the method comprises the steps: obtaining a plurality of pieces of data to be written into a solid state disk; acquiring a popularity attribute corresponding to each piece of data in the plurality of pieces of data; according to the popularity attribute, each data is written into each data block in the solid state disk, and different data blocks correspond to different popularity attribute conditions. By means of the data management method and device, the technical problem that the data management efficiency is low is solved, and then the effect of improving the data management efficiency is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the computer field, and more specifically, to a data management method and device. Background Art

[0002] In data management scenarios, data of different popularity is usually shuffled and mixed and written into the same data block of the SSD. Since hot data is updated frequently and has a high probability of becoming junk data, cold data is updated less frequently and may still be valid data after being written for a long time. This indiscriminate data management method affects the overall efficiency of data management, leading to the problem of low data management efficiency.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present application provide a data management method and device to at least solve the technical problem of low data management efficiency in the related art.

[0005] According to one aspect of an embodiment of the present application, a data management method is provided, including: obtaining multiple data to be written to a solid-state hard disk; obtaining the thermal attributes corresponding to each data in the multiple data; and writing the each data into each data block in the solid-state hard disk according to the thermal attributes, wherein different data blocks correspond to different thermal attribute conditions.

[0006] According to another aspect of an embodiment of the present application, a data management device is also provided, including: a first acquisition unit, used to acquire multiple data to be written to a solid-state hard disk; a second acquisition unit, used to acquire the thermal attributes corresponding to each of the multiple data; and a writing unit, used to write the each of the data into each data block in the solid-state hard disk according to the thermal attributes, wherein different of the above data blocks correspond to different thermal attribute conditions.

[0007] As an optional solution, the second acquisition unit includes: a first acquisition module, used to acquire the data type corresponding to each of the above data; and a second acquisition module, used to acquire the heat attribute according to the data type.

[0008] As an optional solution, the above-mentioned second acquisition module includes: a first acquisition sub-module, used to obtain the heat corresponding to the above-mentioned each data according to the above-mentioned data type, wherein different data types correspond to different above-mentioned heats; a second acquisition sub-module, used to obtain the above-mentioned heat attribute according to the above-mentioned heat, wherein the above-mentioned different heat attribute conditions are different heat intervals.

[0009] As an optional scheme, the above-mentioned first acquisition module includes at least one of the following: a third acquisition sub-module, used to obtain the specified data type corresponding to the first data among the above-mentioned multiple data; a fourth acquisition sub-module, used to obtain the storage data type corresponding to the second data among the above-mentioned multiple data; a fifth acquisition sub-module, used to obtain the business data type corresponding to the third data among the above-mentioned multiple data.

[0010] As an optional scheme, the above-mentioned first acquisition submodule includes: a first determination subunit, which is used to determine that the heat corresponding to the data of the above-mentioned specified data type is greater than the heat corresponding to the data of the above-mentioned storage data type when the data of the above-mentioned specified data type and the data of the above-mentioned storage data type are acquired.

[0011] As an optional scheme, the above-mentioned first acquisition submodule includes: a second determination subunit, which is used to determine that the heat corresponding to the data of the above-mentioned business data type is greater than the heat corresponding to the data of the above-mentioned storage data type when the data of the above-mentioned business data type and the data of the above-mentioned storage data type are acquired.

[0012] As an optional scheme, the above-mentioned fourth acquisition submodule includes: a third determination subunit, which is used to determine the storage data type corresponding to the above-mentioned second data as the cache pool storage type when the above-mentioned second data is data stored in the cache pool; a fourth determination subunit, which is used to determine the storage data type corresponding to the above-mentioned second data as the ordinary pool storage type when the above-mentioned second data is data stored in the ordinary pool, wherein the heat corresponding to the above-mentioned cache pool storage type is greater than the heat corresponding to the above-mentioned ordinary pool storage type; a fifth determination subunit, which is used to determine the storage data type corresponding to the above-mentioned second data as the data pool storage type when the above-mentioned second data is data stored in the data pool, wherein the heat corresponding to the above-mentioned ordinary pool storage type is greater than the heat corresponding to the above-mentioned data pool storage type.

[0013] As an optional scheme, the above-mentioned third acquisition submodule includes: a sixth determination subunit, which is used to determine the specified data type corresponding to the above-mentioned first data as a metadata type when the above-mentioned first data is metadata; a seventh determination subunit, which is used to determine the specified data type corresponding to the above-mentioned first data as a WAL data type when the above-mentioned first data is WAL data, wherein the heat corresponding to the above-mentioned metadata type is greater than the heat corresponding to the above-mentioned WAL data type.

[0014] As an optional scheme, the above-mentioned fifth acquisition submodule includes: an eighth determination subunit, used to determine the data that conforms to the business logic among the above-mentioned multiple data as the above-mentioned third data; a ninth determination subunit, used to determine the above-mentioned business data type according to the business type corresponding to the above-mentioned business logic.

[0015] As an optional scheme, the above-mentioned first acquisition sub-module includes: a first acquisition sub-unit, used to obtain at least two types of heat-related parameters associated with the above-mentioned third data when the above-mentioned data type is the above-mentioned business data type; an allocation sub-unit, used to allocate calculation weights to each of the above-mentioned at least two types based on the above-mentioned business logic when the above-mentioned data type is the above-mentioned business data type; a second acquisition sub-unit, used to obtain the heat of the above-mentioned third data by using the above-mentioned calculation weights in combination with the heat-related parameters of the above-mentioned at least two types when the above-mentioned data type is the above-mentioned business data type.

[0016] As an optional scheme, the above-mentioned first acquisition sub-unit includes at least two of the following: a first sub-acquisition module, used to obtain the data access frequency of the above-mentioned third data association; a second sub-acquisition module, used to obtain the data update frequency of the above-mentioned third data association; a third sub-acquisition module, used to obtain the number of data accesses associated with the above-mentioned third data; a fourth sub-acquisition module, used to obtain the number of data updates associated with the above-mentioned third data; a fifth sub-acquisition module, used to obtain the data access timestamp associated with the above-mentioned third data; and a sixth sub-acquisition module, used to obtain the data update timestamp associated with the above-mentioned third data.

[0017] As an optional solution, the above-mentioned writing unit includes: an allocation module, used to allocate a virtual flow identifier for each of the above-mentioned data according to the above-mentioned heat attribute, wherein the above-mentioned virtual flow identifier is used to indicate the heat of each of the above-mentioned data; a first writing module, used to write the above-mentioned data into each of the above-mentioned data blocks according to the above-mentioned virtual flow identifier, wherein different of the above-mentioned data blocks correspond to different of the above-mentioned virtual flow identifiers, and different of the above-mentioned virtual flow identifiers correspond to different of the above-mentioned heat attribute conditions.

[0018] As an optional solution, the above-mentioned allocation module includes: a first allocation sub-module, which is used to allocate a first virtual flow identifier to the above-mentioned fourth data based on the above-mentioned heat information when the heat attribute corresponding to the fourth data among the above-mentioned multiple data carries the heat information of the above-mentioned fourth data.

[0019] As an optional scheme, the above-mentioned allocation module includes: a sixth acquisition sub-module, used to obtain the heat information of the storage pool to which the fifth data belongs when the heat attribute corresponding to the fifth data among the above-mentioned multiple data is lacking the heat information of the fifth data; and a second allocation sub-module, used to allocate a second virtual flow identifier for the fifth data based on the heat information of the storage pool to which it belongs.

[0020] As an optional solution, the second acquisition unit includes: a setting module for setting the heat attribute corresponding to the preset heat condition to the heat attribute corresponding to the sixth data when the sixth data among the multiple data meets the preset heat condition.

[0021] As an optional scheme, the above-mentioned writing unit includes: a second writing module, used to write the data that meets the high heat condition among the above-mentioned multiple data into the first data block in the above-mentioned solid-state hard disk according to the above-mentioned heat attribute, wherein the above-mentioned heat attribute condition includes the above-mentioned high heat condition; a third writing module, used to write the data that meets the low heat condition among the above-mentioned multiple data into the second data block in the above-mentioned solid-state hard disk according to the above-mentioned heat attribute, wherein the storage space of the above-mentioned first data block is larger than the storage space of the above-mentioned second data block, and the above-mentioned heat attribute condition includes the above-mentioned low heat condition.

[0022] As an optional solution, the above-mentioned device also includes: an updating unit, which is used to update the position of the above-mentioned seventh data in the above-mentioned solid-state hard disk according to the above-mentioned thermal attribute after writing the above-mentioned various data into the various data blocks in the above-mentioned solid-state hard disk according to the above-mentioned thermal attribute, when the thermal attribute corresponding to the seventh data written into the above-mentioned data block changes.

[0023] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above method embodiments when running.

[0024] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0025] Through this application, a method of clearly distinguishing data of different hotness and managing them separately is adopted. The probability of generating junk data is reduced, because hot data is centrally managed, its update and replacement are more efficient, and the accumulation of invalid data is reduced. At the same time, since cold data is stored separately, it can still maintain its validity after being written for a long time, which can solve the technical problem of low data management efficiency, thereby achieving the technical effect of improving data management efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 is a schematic diagram of an application environment of an optional data management method according to an embodiment of the present application;

[0027] Figure 2is a schematic diagram of a process of an optional data management method according to an embodiment of the present application;

[0028] Figure 3 is a schematic diagram of an optional data management method according to an embodiment of the present application;

[0029] Figure 4 is a schematic diagram of another optional data management method according to an embodiment of the present application;

[0030] Figure 5 is a schematic diagram of an optional data management device according to an embodiment of the present application; DETAILED DESCRIPTION

[0031] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0033] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a data management method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0034] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data management method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0035] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0036] In this embodiment, a data management method is provided. Figure 2 is a flow chart of a data management method according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps:

[0037] S202, obtaining a plurality of data to be written into the solid state drive;

[0038] This step refers to obtaining the data set to be written to the solid-state drive (SSD) from the data source (such as memory, CPU or other storage devices). This data may come from user application operations, system tasks or other data generation processes. Accurately obtaining the data to be written is the basis for the subsequent data management process, ensuring the correctness and efficiency of data writing.

[0039] Before data is actually written to the SSD, the system needs to first determine what data needs to be written. This can involve the management of data buffers to ensure the integrity and order of data. For example, when a user saves a document or uploads a video file, these file data are the data to be written to the SSD.

[0040] S204, obtaining a heat attribute corresponding to each of the multiple data;

[0041] "Hotness attribute" refers to the frequency with which data is accessed or modified. In this step, the system analyzes and determines the heat value of each data item to be written, which is usually based on the historical access pattern of the data, the expected frequency of use, or other relevant indicators. Accurately obtaining the heat attribute of data is the key to achieving data classification and optimized storage, which helps to improve data access speed and storage efficiency.

[0042] Different data has different access and update patterns. For example, some data may be read and modified frequently (high temperature), while other data may remain unchanged for a long time (low temperature). By identifying the hot properties of data, the system can manage this data more effectively.

[0043] For example, on a social media platform, profile information that users update frequently can be considered high-frequency data, while old posts that users visit occasionally may be low-frequency data.

[0044] S206, writing each data into each data block in the solid state drive according to the thermal attribute, wherein different data blocks correspond to different thermal attribute conditions.

[0045] This step involves classifying the data according to its thermal attributes and writing them to the corresponding data blocks in the SSD. Each data block is designed to store data with similar thermal attributes. The data writing strategy based on thermal attributes optimizes the data storage layout and improves the locality of data access, thereby reducing the read and write latency and wear of the SSD and extending the service life of the device. At the same time, it also improves the overall data processing capability and response speed of the system.

[0046] By clustering data of similar popularity together, the system can manage SSD storage resources more efficiently. High-popularity data blocks may use faster storage media or more optimized data layout to support higher access speeds. On the contrary, low-popularity data blocks may focus more on data persistence and cost-effectiveness.

[0047] For example, in a database system, frequently queried table data may be written to high-temperature data blocks, while archived old data may be stored in low-temperature data blocks.

[0048] In an optional embodiment, the multiple data to be written to the SSD refers to a set of data that has not been written to the SSD but is ready to be stored, including various types of information, such as documents, pictures, videos, etc. Before being permanently saved to the SSD, this information is called "data to be written".

[0049] In an optional embodiment, the heat attribute is an indicator used to measure how frequently data is accessed or modified. It reflects the activity of the data and is usually determined based on the historical access records of the data and the expected frequency of use. High heat data means that it is frequently accessed or modified, while low heat data means the opposite.

[0050] In an optional embodiment, a data block: In a solid state drive, a data block is a physical or logical unit for storing data. Each data block has a certain storage capacity, and according to the scheme, different data blocks are designed to store data with different thermal properties.

[0051] It should be noted that the solution of this embodiment is a solid-state drive (SSD) write strategy based on data heat attributes. Its core idea is to intelligently write data to different data blocks of the SSD according to the heat attribute of the data, that is, the frequency with which the data is accessed or updated. In this way, the solution aims to improve data management efficiency, optimize the use of storage resources, and increase data access speed.

[0052] As a further example, let's optionally assume that a large enterprise needs to store a large amount of business data, including frequently updated sales records and less frequently accessed archive files. According to this solution, the system will first analyze the heat properties of this data. Sales records are marked as high-heat data because they are frequently queried and updated; and archive files are marked as low-heat data because they are less frequently accessed. Then, based on these heat properties, the system will write sales records to higher-performance data blocks in the SSD to ensure fast access and updates; and archive files will be written to data blocks with slightly lower performance but more optimized costs.

[0053] Through the embodiments provided in the present application, multiple data to be written to a solid-state hard disk are obtained; the thermal attributes corresponding to each data in the multiple data are obtained; and according to the thermal attributes, each data is written into each data block in the solid-state hard disk, wherein different data blocks correspond to different thermal attribute conditions.

[0054] By clearly distinguishing data of different hotness and managing them separately, the probability of junk data generation is reduced. Because hot data is centrally managed, its update and replacement are more efficient, reducing the accumulation of invalid data. At the same time, since cold data is stored separately, it can still maintain its validity after being written for a long time, thereby achieving the purpose of improving data utilization and durability, thereby achieving the technical effect of improving data management efficiency.

[0055] As an optional solution, the heat attribute corresponding to each of the multiple data is obtained, including:

[0056] S1-1, obtain the data type corresponding to each data;

[0057] This step means that the system needs to identify and determine the data type of each data item to be processed. Data type is the basic attribute of data, which defines the structure, representation and operations that can be performed on the data.

[0058] S1-2, obtain the heat attribute according to the data type.

[0059] After determining the type of data, the system will assign or calculate a heat attribute for each data type based on preset rules or algorithms and possible historical data. This heat attribute reflects how frequently the data of this type is accessed or updated.

[0060] In an optional embodiment, "data type" refers to the classification or type of data, such as text, numbers, images, videos, etc., which specifies the format and storage method of the data.

[0061] In an optional embodiment, the "heat attribute" here specifically refers to a data activity index determined based on the data type, which is used to measure and distinguish the importance or frequency of different data types during storage and access.

[0062] It should be noted that this embodiment describes a specific method for obtaining the heat attribute corresponding to each data in multiple data. This process is divided into two main steps: first, obtaining the data type of each data; second, determining or obtaining the corresponding heat attribute based on these data types.

[0063] To further illustrate, in an optional social media application, the data generated by users may include text comments, picture sharing, and video uploads. The system will first identify the data types of these data, such as text, images, and videos. Then, based on historical data and user behavior analysis, the system may find that video data is generally more popular than text and picture data, and therefore is accessed and shared more frequently. Based on this finding, the system will mark the video data type as having a higher heat attribute.

[0064] Through the embodiments provided in this application, different types of data can be understood and managed more finely, and storage and access can be optimized according to their heat properties. This can not only improve the efficiency of data processing, but also improve the user experience, because more popular data types (i.e., data with higher heat) will be processed and stored first, thereby responding to user requests more quickly. At the same time, this method of allocating heat properties based on data types also helps to reasonably allocate and utilize system resources and reduce storage and computing costs.

[0065] As an optional solution, obtain the heat attribute according to the data type, including:

[0066] S2-1, according to the data type, obtaining the heat corresponding to each data, wherein different data types correspond to different heats;

[0067] The system will assign or calculate a popularity value based on the type of data (such as text, pictures, videos, etc.). This popularity value reflects the popularity of this type of data in the system or the frequency of access.

[0068] S2-2, obtaining heat attributes according to the heat, wherein different heat attribute conditions are different heat intervals.

[0069] Once the system determines the heat value of each data, it will match these heat values ​​with the preset heat intervals to classify the data into different heat attribute conditions. These heat intervals are divided according to the activity of the data.

[0070] In an optional embodiment, "hotness" here refers to a quantitative indicator used to indicate the activity or attention of a specific data type in the system. Different data types may have different hotness values.

[0071] In an optional embodiment, the "heat attribute" is an attribute label determined based on the heat value of the data, which reflects the belonging of the data in the heat interval. Different heat intervals correspond to different heat attribute conditions.

[0072] It should be noted that this embodiment further refines the process of how to obtain the heat attribute of data according to the data type. It includes two core steps: first, determine the heat corresponding to each data according to the data type; second, classify the data into different heat attribute conditions or heat intervals based on these heat values.

[0073] To further illustrate, for example, in an online news platform, articles, pictures, and videos are common data types. The system may find based on historical access data that video content is generally more popular with users than articles and pictures, so videos are assigned a higher heat value. Then, the system sets several heat intervals, such as "high heat", "medium heat", and "low heat". When the heat value of a video falls within the "high heat" interval, it is assigned the corresponding heat attribute.

[0074] Through the embodiments provided in this application, the heat properties of different types of data can be understood and managed more accurately. This helps to optimize data storage and access strategies, improve system response speed and user experience. For example, high-heat data can be preferentially stored in storage media with higher performance to ensure fast access; while low-heat data can be stored in storage media with lower cost and moderate performance, thereby achieving reasonable allocation and utilization of storage resources.

[0075] As an optional solution, obtaining the data type corresponding to each data includes at least one of the following:

[0076] Obtain a specified data type corresponding to the first data among multiple data;

[0077] Obtaining a storage data type corresponding to second data among the multiple data;

[0078] A business data type corresponding to third data among multiple data is obtained.

[0079] In an optional embodiment, the designated data type refers to a data type that has been clearly designated when the data is processed or created. It is a type that is clearly marked or defined for the data, usually directly designated by the creator or processor of the data.

[0080] In an optional embodiment, storage data type refers to the type of data recorded in a storage system or database, which is usually related to the physical storage format and method of the data. It is the type of data recorded in a storage medium or system, which reflects the format and characteristics of the data when it is stored.

[0081] In an optional embodiment, the business data type refers to the type of data in a specific business field or application scenario, which is closely related to the logic and rules of the business. It is the type of data classified in a specific business environment, which can be associated with the actual needs and processes of the business.

[0082] It should be noted that this embodiment describes different ways and categories for obtaining data types. Data types here refer to specific classifications or attributes of data, which can help understand the nature and purpose of data. This section lists three ways to obtain data types, namely: specified data types, storage data types, and business data types.

[0083] To further illustrate, in an e-commerce system, the first data may be a search keyword entered by a user, whose "specified data type" is text; the second data may be a product image, whose "storage data type" is an image file; and the third data may be a user's purchase record, whose "business data type" is transaction data.

[0084] By clearly and meticulously acquiring different types of data, the system can more accurately understand the nature and characteristics of the data, and then select the most appropriate processing method and analysis strategy. This can not only improve the efficiency and accuracy of data processing, but also help to tap the potential value of data and provide more powerful data support for corporate decision-making. At the same time, clarifying data types can also help optimize data storage and management strategies and ensure data security and accessibility.

[0085] As an optional solution, the heat corresponding to each data is obtained according to the data type, including:

[0086] When data of the specified data type and data of the storage data type are obtained, it is determined that the heat corresponding to the data of the specified data type is greater than the heat corresponding to the data of the storage data type.

[0087] In an optional embodiment, the heat corresponding to data of a specified data type refers to the heat value associated with data of a clearly specified type (such as user input, data generated by a specific application, etc.). The heat of such data is usually high because they directly reflect the user's intention or the key operation of the system.

[0088] In an optional embodiment, the heat corresponding to the data of the storage data type refers to the heat value associated with the type of data recorded in the storage system or database. The heat of these data may be relatively low because they are more related to the physical storage state of the data and do not necessarily directly reflect user behavior or business needs.

[0089] It should be noted that this embodiment describes how to determine the popularity of data according to the type of data. In particular, it compares the difference in determining the popularity of the specified data type and the stored data type, and points out that the data of the specified data type usually has a higher popularity than the data of the stored data type.

[0090] To further illustrate, in an online document editing system, documents that users explicitly upload and mark as "important" (specified data type) will have higher popularity than document versions automatically saved by the system (stored data type). This is because "important" documents marked by users are more likely to be frequently accessed and edited, while automatically saved versions are mainly used for backup and recovery and are accessed less frequently.

[0091] By distinguishing the differences in determining the popularity of specified data types and stored data types, the system can more accurately identify and manage data that is more important to users or businesses. This helps optimize data storage strategies and ensure that high-popularity data can be accessed and processed more quickly and reliably. At the same time, this method of determining popularity also helps improve the overall performance of the system and user experience because it enables the system to respond to user needs more effectively and prioritize key data.

[0092] As an optional solution, the heat corresponding to each data is obtained according to the data type, including:

[0093] When data of the business data type and data of the storage data type are acquired, it is determined that the heat corresponding to the data of the business data type is greater than the heat corresponding to the data of the storage data type.

[0094] In an optional embodiment, the heat corresponding to the data of the business data type: This refers to the heat value assigned to the data closely related to a specific business logic or process. Since such data is directly related to the core activities and decisions of the business, they usually have a higher heat.

[0095] In an optional embodiment, the heat corresponding to the data of the storage data type: This refers to the heat value corresponding to the type into which the data is classified at the storage level. This type of data focuses more on the physical storage and format of the data, and its heat is usually lower than direct business activities.

[0096] It should be noted that this embodiment describes how to determine the popularity of data based on data type, especially when it comes to business data type and storage data type. It points out that when comparing data of business data type and data of storage data type, data of business data type will usually be assigned higher popularity.

[0097] To further illustrate, in a bank's customer relationship management system, a customer's transaction record (business data type) will have a higher popularity than the customer's account information storage format (storage data type). This is because transaction records directly reflect the customer's financial activities and business needs, and are the basis for the bank to make important business decisions such as customer analysis and risk assessment.

[0098] By clearly distinguishing the differences in heat determination between business data types and storage data types, the system can more effectively identify and utilize data that is critical to the business. This can not only improve the accuracy and timeliness of business decisions, but also optimize data storage and management strategies to ensure that key data can be prioritized and protected. At the same time, this heat allocation mechanism also helps to improve the overall performance and response speed of the system, thereby providing users with a smoother and more efficient service experience.

[0099] As an optional solution, obtaining a storage data type corresponding to second data among the multiple data includes:

[0100] S3-1, when the second data is data stored in a cache pool, determining the storage data type corresponding to the second data as the cache pool storage type;

[0101] S3-2, when the second data is data stored in the common pool, determining the storage data type corresponding to the second data as the common pool storage type, wherein the heat corresponding to the cache pool storage type is greater than the heat corresponding to the common pool storage type;

[0102] S3-3, when the second data is data stored in a data pool, the storage data type corresponding to the second data is determined as the data pool storage type, and the heat corresponding to the common pool storage type is greater than the heat corresponding to the data pool storage type.

[0103] In an optional embodiment, the cache pool storage type refers to the type of data when the data is stored in the cache pool. The cache pool is usually used to store frequently accessed data to provide a faster reading speed.

[0104] In an optional embodiment, the common pool storage type refers to the type of data when the data is stored in the common storage pool. The performance and access speed of the common pool may be lower than that of the cache pool, but it is suitable for general data storage requirements.

[0105] In an optional embodiment, data pool storage type refers to the type of data when the data is stored in a more general or archival data pool. The data pool may be used for long-term storage or backup, and its access frequency is relatively low.

[0106] It should be noted that this embodiment describes how to obtain the storage data type corresponding to the second data among multiple data, and determine the corresponding heat according to the different pools (cache pool, common pool, data pool) where the data is stored. The storage data type here refers to the specific method or technical classification used when storing data, and different storage pools represent different data storage strategies and performance characteristics.

[0107] To further illustrate, in a large online video platform, the cache pool may be used to store video data that is recently popular and frequently watched by users. These data are marked as "cache pool storage type"; the normal pool may be used to store most regular video data. These data are marked as "normal pool storage type"; and the data pool may be used to store old, infrequently accessed video data or backup files. These data are marked as "data pool storage type".

[0108] By clearly distinguishing the data types in different storage pools and assigning different heat values ​​according to their characteristics, the system can more effectively manage and optimize data storage and access. High-heat data (such as data in the cache pool) can enjoy faster access speeds and higher availability, thereby improving user experience and system performance. At the same time, this classification method also helps to reduce storage costs, because different types of storage media and policies can be flexibly configured and adjusted according to actual needs.

[0109] As an optional solution, obtaining a specified data type corresponding to the first data among the multiple data includes:

[0110] S4-1, when the first data is metadata, determining a specified data type corresponding to the first data as a metadata type;

[0111] S4-2, when the first data is WAL data, determine the specified data type corresponding to the first data as the WAL data type, wherein the heat corresponding to the metadata type is greater than the heat corresponding to the WAL data type.

[0112] In an optional embodiment, metadata type refers to data that describes data, that is, data about the structure, attributes, relationships, etc. of the data. Metadata is usually used to help understand, manage, and use other data.

[0113] In an optional embodiment, WAL data type: WAL stands for Write-Ahead Logging, which is a technology used in database management systems to ensure data integrity and persistence. WAL data records a log of database changes to facilitate data recovery after a system crash or other failure.

[0114] It should be noted that this embodiment describes how to determine the corresponding designated data type according to the characteristics of the first data, and compares the differences in popularity of different types of data. The designated data type refers to a data type that is clearly designated according to the specific content and purpose of the data.

[0115] To further illustrate, in a library management system, information such as the title, author, and publication date of a book can be considered metadata, which describes the basic properties and characteristics of the book. The log records generated by the library system during operations such as borrowing and returning books can be considered WAL data, which is used to restore the data status when a problem occurs in the system.

[0116] By clearly distinguishing metadata types and WAL data types, and assigning different heat values ​​according to their characteristics and uses, the system can more effectively manage and optimize data access and processing. Metadata with high heat can be accessed faster and have higher availability, thereby improving user experience and system performance. At the same time, this classification method also helps to ensure the integrity and reliability of WAL data, and provides strong support for data recovery in the event of system failures. By properly managing the heat of different types of data, the system can respond to user needs more efficiently and ensure data security and availability.

[0117] As an optional solution, obtaining a business data type corresponding to the third data among the multiple data includes:

[0118] S5-1, determining data that complies with the business logic among the multiple data as third data;

[0119] S5-2, determine the business data type according to the business logic.

[0120] In an optional embodiment, the third data refers to data related to specific business logic, which are usually directly related to the core business activities or processes of the enterprise.

[0121] In an optional embodiment, business logic refers to specific rules, processes and policies in enterprise operations, which define the execution mode and order of business activities.

[0122] In an optional embodiment, the business data type refers to the data type determined according to the business logic, which reflects the specific role and significance of the data in the business activities.

[0123] It should be noted that this embodiment describes how to obtain the business data type corresponding to the third data from multiple data. The "business data type" here refers to the data type related to a specific business logic or business process. This type of data is crucial for business analysis, decision-making, and the realization of system functions.

[0124] To further illustrate, for example, on an e-commerce platform, the third data may include the user's purchase history, browsing history, search keywords, etc. These data are closely related to the business logic of the e-commerce platform, such as sales, recommendations, and market popularity. For example, the business data type corresponding to the user's purchase record data may be "transaction data", and the business data type corresponding to the user's search keywords may be "user demand data".

[0125] By accurately acquiring and identifying the types of business data corresponding to third-party data, enterprises can gain a deeper understanding of the key data and processes in their business operations. This helps enterprises make more informed decisions, optimize business processes, improve customer satisfaction, and drive business growth. At the same time, clarifying the types of business data also helps enterprises manage and utilize their data resources more effectively and improve the quality and availability of data.

[0126] As an optional solution, when the data type is a business data type, the heat corresponding to each data is obtained according to the data type, including:

[0127] S6-1, obtaining at least two types of heat-related parameters associated with the third data;

[0128] S6-2, assigning a calculation weight to each of the at least two types based on the business logic;

[0129] S6-3, using the calculated weights and combining at least two types of heat-related parameters to obtain the heat of the third data.

[0130] In an optional embodiment, heat-related parameters refer to parameters directly related to the calculation of data heat, which may include data access frequency, update frequency, number of user interactions, etc. These parameters can reflect the activity and importance of the data.

[0131] In an optional embodiment, weights are calculated: when calculating data heat, different types of heat-related parameters may contribute differently to the final heat, so different weights need to be assigned to these parameters to reflect the relative importance of their impact on the heat.

[0132] In an optional embodiment, the popularity of the third data refers to an indicator calculated based on business logic and popularity-related parameters, which reflects the importance and activity of the third data in the business.

[0133] It should be noted that this embodiment describes how to obtain the heat corresponding to each data (specifically the third data here) according to the data type when the data type is a business data type. It involves the acquisition of heat-related parameters, the allocation of weights, and the calculation of the final heat.

[0134] To further illustrate, optionally, in a news recommendation system, the third data may represent different news articles. The system can obtain the number of clicks, comments, shares, etc. of each article as heat-related parameters. According to the business logic of news recommendation, the number of clicks may be considered more important than the number of comments, and therefore will be assigned a higher calculation weight. Ultimately, by combining these parameters and weights, the heat of each article can be calculated to determine the priority of the recommendation.

[0135] By obtaining the heat-related parameters associated with the third data and assigning calculation weights in combination with business logic, we can eventually obtain the heat value that reflects the importance and activity of the third data in the business. This enables the system to more accurately identify and utilize data that is critical to the business and optimize data processing, storage, and recommendation strategies. At the same time, this heat calculation method also helps improve the overall performance of the system and user experience, because it enables the system to respond to user needs more effectively and prioritize key data.

[0136] As an optional solution, obtaining at least two types of heat-related parameters associated with the third data includes at least two of the following:

[0137] Obtaining a data access frequency associated with the third data;

[0138] Obtaining a data update frequency associated with the third data;

[0139] Obtaining a data access count associated with the third data;

[0140] Obtaining the number of data updates associated with the third data;

[0141] Obtaining a data access timestamp associated with the third data;

[0142] Get the data update timestamp associated with the third data.

[0143] In an optional embodiment, data access frequency refers to the number of times data is accessed per unit time, reflecting the popularity and usage frequency of the data.

[0144] In an optional embodiment, data update frequency refers to the number of times data is updated per unit time, reflecting the timeliness and activity of the data.

[0145] In an optional embodiment, the number of data accesses refers to the total number of times the data is accessed, and is an intuitive indicator for evaluating the popularity of the data.

[0146] In an optional embodiment, the number of data updates refers to the total number of times the data is modified or updated, which can reflect the changes in the data and the maintenance activity.

[0147] In an optional embodiment, data access timestamp: records the specific time each time the data is accessed, which helps analyze data access patterns and user behavior.

[0148] In an optional embodiment, data update timestamp: records the specific time each time the data is updated, which is very useful for tracking the history of data changes and analyzing data update patterns.

[0149] It should be noted that this embodiment describes a specific method for obtaining the heat-related parameters associated with the third data. Heat-related parameters are important indicators for evaluating and calculating data heat, which can directly or indirectly reflect the activity, popularity and usage frequency of the data. The parameters mentioned here include data access frequency, data update frequency, data access times, data update times, data access timestamp and data update timestamp.

[0150] To further illustrate, for example, in an online forum, the third data may represent a specific post. The data access frequency of the post may be the number of times it is viewed per day; the data update frequency may be the frequency of the post content or comments being modified; the data access count is the total number of times the post has been viewed since it was published; the data update count is the total number of times the post or comment has been edited; the data access timestamp records the specific time each time a user views the post; and the data update timestamp records the time each time a post or comment is modified.

[0151] By obtaining these detailed heat-related parameters, the system can more accurately evaluate the heat and importance of third-party data. This helps optimize data storage, retrieval, and recommendation strategies, and improve system performance and user experience. For example, for data with high access frequency, the system can prioritize caching it in memory to speed up access; for data with frequent updates, the system can set a higher synchronization frequency to ensure the real-time nature of the data. In short, these heat-related parameters provide the system with rich data features, which helps to achieve more refined data management and services.

[0152] As an optional solution, each data is written to each data block in the solid-state drive according to the thermal attribute, including:

[0153] S7-1, assigning a virtual flow identifier to each data according to the heat attribute, wherein the virtual flow identifier is used to indicate the heat of each data;

[0154] S7-2, write each data into each data block according to the virtual flow identifier, wherein different data blocks correspond to different virtual flow identifiers, and different virtual flow identifiers correspond to different heat attribute conditions.

[0155] In an optional embodiment, the virtual flow identifier is an identifier used to indicate the heat attribute of each data. This identifier can help the system identify the heat level of the data and determine which data block the data should be written into based on the heat level.

[0156] In an optional embodiment, a data block is a physical or logical unit in a solid state drive for storing data. Different data blocks may correspond to different virtual flow identifiers, thereby storing data with different thermal attributes.

[0157] It should be noted that this embodiment describes how to write data into different data blocks of a solid state drive according to the heat attribute of the data. This process involves allocating virtual stream identifiers to the data and using these identifiers to guide the data writing operation.

[0158] To further illustrate, it is optional to assume that there is a solid-state drive that is divided into multiple data blocks, each of which can store data with specific heat attributes. Now there is a set of data that needs to be written to this hard drive, which includes high-heat data, medium-heat data, and low-heat data. The system will first assign different virtual stream identifiers to these data, such as high-heat data is assigned the identifier "H", medium-heat data is assigned the identifier "M", and low-heat data is assigned the identifier "L". Then, the system will write the data to the corresponding data blocks based on these identifiers, such as data identified as "H" is written to a data block specifically for storing high-heat data.

[0159] By assigning virtual stream identifiers to data and writing data to different data blocks based on these identifiers, the system can achieve more efficient and intelligent data storage management. The use of virtual stream identifiers provides the system with greater flexibility, making it easy to adjust data storage strategies to adapt to different application scenarios and changing requirements.

[0160] As an optional solution, a virtual flow identifier is assigned to each data according to the heat attribute, including:

[0161] When the heat attribute corresponding to fourth data among the multiple data carries heat information of the fourth data, a first virtual flow identifier is allocated to the fourth data based on the heat information.

[0162] In an optional embodiment, the fourth data refers to a specific data item among the multiple data, which has a heat attribute associated therewith.

[0163] In an optional embodiment, the heat information is a specific value or level regarding the heat of the data, which reflects the popularity, frequency of use or importance of the data.

[0164] In an optional embodiment, the first virtual flow identifier is a specific identifier assigned to the fourth data according to its heat information, and is used to indicate the heat level or classification of the data.

[0165] It should be noted that this embodiment describes a specific scenario of how to assign a virtual flow identifier to data according to the heat attribute of the data. Here, when the fourth data among multiple data has a heat attribute associated with it, and this heat attribute carries the heat information of the fourth data, the system will assign a specific virtual flow identifier to the fourth data based on this heat information, that is, the first virtual flow identifier.

[0166] To further illustrate, optionally assume that in a video streaming platform, the fourth data represents a specific video file. This video file has a heat attribute, which carries heat information about the popularity of the video, such as the number of views, the number of likes, etc. Based on this information, the system assigns a first virtual stream identifier to this video file, such as "hot video", to distinguish it from other less popular videos.

[0167] By assigning a first virtual flow identifier to the fourth data based on the heat information, the system can more accurately identify and classify data of different heat. This classification helps the system optimize data storage, retrieval, and recommendation strategies. For example, data with higher heat identifiers can be preferentially stored on high-performance storage devices to respond to user requests more quickly; at the same time, this data can also be recommended to users more frequently to increase user satisfaction and platform activity. In general, this method of assigning virtual flow identifiers improves the efficiency and intelligence level of the system in processing data.

[0168] As an optional solution, a virtual flow identifier is assigned to each data according to the heat attribute, including:

[0169] S8-1, when the heat attribute corresponding to the fifth data among the multiple data lacks heat information of the fifth data, obtain heat information of the storage pool to which the fifth data belongs;

[0170] S8-2: Allocate a second virtual flow identifier for the fifth data based on the heat information of the storage pool to which it belongs.

[0171] In an optional embodiment, the fifth data refers to a specific data item among multiple data, whose direct heat information is missing or unavailable.

[0172] In an optional embodiment, the storage pool is a logical or physical container in which the fifth data is stored, which may contain multiple similar data items, and the storage pool itself has a measurable heat attribute.

[0173] In an optional embodiment, the second virtual flow identifier is an identifier allocated to the fifth data based on the heat information of the storage pool to which it belongs when the direct heat information of the fifth data is unavailable, and is used to indirectly indicate the heat of the data.

[0174] It should be noted that this embodiment describes how to assign a virtual flow identifier to a certain data (specifically the fifth data here) when the heat attribute lacks direct heat information. Specifically, the system will instead obtain the heat information of the storage pool to which the data belongs, and assign a second virtual flow identifier to the fifth data based on the heat information of the storage pool.

[0175] To further illustrate, optionally assume that in a cloud storage system, the fifth data is a newly uploaded file, which has not yet had enough user interaction to generate direct heat information. However, this file is stored in a storage pool called "hot file pool", which has a clear heat information based on the average download volume and access frequency of the files therein. Based on the heat information of this storage pool, the system assigns a second virtual flow identifier to the newly uploaded file, such as "potential hot file", so as to give it corresponding priority in subsequent processing.

[0176] By obtaining the heat information of the storage pool to which the fifth data belongs, and assigning a second virtual flow identifier to the fifth data based on this information, the system can still effectively classify and manage the heat of the data in the absence of direct heat information. This method improves the flexibility and accuracy of the system's perception of data heat, helps optimize data storage strategies, improve access performance, and enhance user experience. For example, data marked as "potential hot files" can be cached by the system in high-speed storage media in advance to cope with possible access peaks in the future.

[0177] As an optional solution, the heat attribute corresponding to each of the multiple data is obtained, including:

[0178] When the sixth data among the multiple data satisfies the preset heat condition, the heat attribute corresponding to the preset heat condition is set as the heat attribute corresponding to the sixth data.

[0179] In an optional embodiment, the sixth data refers to a specific data item in multiple data sets.

[0180] In an optional embodiment, the preset heat condition is a set of standards or thresholds set in advance to determine whether the data reaches a specific heat level.

[0181] In an optional embodiment, the popularity attribute is an identifier or label used to indicate data popularity, usage frequency, or other characteristics related to popularity.

[0182] It should be noted that this embodiment describes the process of obtaining and setting the heat attribute for specific data (here, the sixth data) when processing multiple data. Specifically, when the sixth data meets a certain preset heat condition, the system assigns the heat attribute corresponding to the preset heat condition to the sixth data as an identifier of its heat attribute.

[0183] To further illustrate, in an optional online news platform, the sixth data may be a newly released news report. The platform sets a preset popularity condition, that is, the news report is read more than 100,000 times within 24 hours after being released. If this new report does reach this number of readings within 24 hours, the system will automatically assign the popularity attribute of "hot news" to this report as its popularity indicator.

[0184] By setting corresponding heat attributes for the sixth data that meets the preset heat conditions, the system can quickly identify and classify the heat status of the data. This mechanism helps improve data processing efficiency, optimize resource allocation, and provide users with more personalized and accurate content recommendations. For example, on a news platform, reports marked as "hot news" can be displayed on the homepage or recommendation list first, thereby increasing their exposure and user interaction opportunities.

[0185] As an optional solution, each data is written to each data block in the solid-state drive according to the thermal attribute, including:

[0186] S9-1, writing data that meets a high heat condition among the multiple data into a first data block in the solid state drive according to a heat attribute, wherein the heat attribute condition includes a high heat condition;

[0187] S9-2, according to the heat attribute, write the data that meets the low heat condition among the multiple data into the second data block in the solid state drive, wherein the storage space of the first data block is larger than the storage space of the second data block, and the heat attribute condition includes the low heat condition.

[0188] In an optional embodiment, the high heat condition refers to a condition in the data heat attribute indicating that the data is very popular, frequently used, or important.

[0189] In an optional embodiment, low heat condition: as opposed to high heat condition, a condition indicating that the data is relatively less popular, less frequently used, or less important.

[0190] In an optional embodiment, the first data block: an area in the solid state drive used to store data that meets the high heat condition.

[0191] In an optional embodiment, the second data block: an area in the solid state drive used to store data that meets the low heat condition.

[0192] It should be noted that this embodiment describes how to write data into different data blocks of a solid state drive according to the heat attribute of the data. Specifically, it describes how to write data that meets the high heat condition into the first data block, and how to write data that meets the low heat condition into the second data block. In addition, it also mentions that the storage space of the first data block is larger than that of the second data block.

[0193] To further illustrate, in a video streaming service, highly popular videos (such as popular movies and TV series) will be written to the first data block, because these contents are frequently accessed by users and require faster read and write speeds and larger storage space to cope with high concurrent access. Those videos that are less watched and less popular will be written to the second data block.

[0194] By writing data into the first data block and the second data block respectively according to the heat attribute, the system can realize hierarchical storage and management of data.

[0195] As an optional solution, after writing each data into each data block in the solid state drive according to the thermal attribute, the method further includes:

[0196] When the thermal attribute corresponding to the seventh data written into the data block changes, the position of the seventh data in the solid-state hard disk is updated according to the changed thermal attribute.

[0197] In an optional embodiment, the seventh data refers to a specific data item that has been previously written into the solid state drive data block.

[0198] In an optional embodiment, the heat attribute changes: it means that the original heat attribute of the seventh data (such as high heat, low heat, etc.) has changed due to certain reasons (such as increased user interaction, passage of time, etc.).

[0199] In an optional embodiment, updating the location refers to moving the data from the current storage location to a data block in the solid state drive that matches the new thermal attribute based on the changed thermal attribute.

[0200] It should be noted that this embodiment describes how the system responds to a change in the thermal attribute of a certain data (specifically the seventh data) after the data is written to the data block of the solid state drive according to the thermal attribute. Specifically, the system updates the storage location of the data in the solid state drive according to the changed thermal attribute.

[0201] To further illustrate, let's assume that in a music streaming application, the seventh data was originally a relatively unpopular song and was stored in a low-heat data block. However, as time goes by and users continue to discover and share it, the song suddenly becomes very popular. The system detects that the popularity attribute of this song has changed significantly, so it automatically moves it from the low-heat data block to the high-heat data block to ensure faster access and better user experience.

[0202] By updating the location of the seventh data in the solid-state drive according to changes in the thermal attribute, the system can ensure that the storage strategy of the data always matches its actual thermal property.

[0203] As an optional solution, for ease of understanding, the above data management method is applied to distributed storage scenarios to solve the problems of a certain percentage decrease in the steady-state performance of the cluster compared to the initial performance and a shortened service life of the cluster disk after the cluster has been used for a period of time in a distributed all-flash storage system. This method can improve the steady-state performance of the cluster under long-term use of the distributed storage system, extend the service life of the cluster, and improve the service quality of the distributed cluster.

[0204] Specifically, this embodiment proposes an innovative multi-stream write diversion method for a distributed storage system. This method uses a refined data diversion strategy to write data that has been actively diverted (i.e., data that has been distinguished between hot and cold data and marked with different stream IDs) to a multi-stream solid-state disk. This strategy can not only fully utilize the performance characteristics of multi-stream solid-state disks, but also significantly improve the overall performance stability of the distributed storage system, while extending the service life of the disk, thereby improving the service quality of the entire storage system.

[0205] It should be noted that this embodiment innovatively introduces a data diversion method in the distributed storage architecture, that is, to make a fine distinction based on data heat. In the entire process from the data receiving operation to the final writing to the solid-state drive (SSD) disk, we classify the data according to its heat attribute. When data is written to the SSD disk, data of different heats will carry specific stream identifiers (stream id), and the multi-stream solid-state disk will write the data to different data blocks (blocks) according to these identifiers, thereby significantly reducing the migration amount of cold data during the garbage collection (GC) process, improving GC efficiency, and reducing write amplification.

[0206] In a distributed storage system, the diversity of storage pools provides flexibility for data management. For example, the cache pool is designed to improve cluster performance and stores data with high read and write frequencies, i.e., high-temperature data. In contrast, the large-capacity data pool is used to store user data persistently and has a relatively low data update frequency. In addition, in specific application scenarios, the storage pool is further subdivided into three types: hot, warm, and cold, to more accurately manage data of different temperatures.

[0207] In addition to the data in the storage pool, the distributed storage system also involves the update of metadata and WAL (Write-Ahead Logging) data. Metadata records all modification history of data objects, so its update frequency is very high. WAL data plays an important role in small object random write scenarios. It improves I / O performance by writing logs first and then flushing to disk, and its update frequency is also quite frequent.

[0208] Based on the above analysis, this embodiment divides the data popularity in distributed storage into the following levels from high to low: metadata, WAL data, cache pool data, specific storage pool data (such as hot, warm, and cold storage pool data), and data pool data. This division method fully considers the access frequency and update characteristics of the data, and provides a solid foundation for subsequent data diversion operations.

[0209] Optionally, this embodiment also supports data diversion writing on the business side. This means that the business layer can distinguish the data heat according to its own data hot and cold algorithm, and submit the distinguished data to OSD (Object Storage Daemon) for disk writing. In this mode, the heat priority of business data is higher than the heat setting of the storage pool.

[0210] When business data is written, if the data itself does not carry heat information, OSD will assign a specific heat value (i.e. virtual stream ID) to it according to the heat of the storage pool to which the data belongs. When the data is submitted to the multi-stream SSD, this virtual stream ID will be passed through, and the multi-stream SSD will write the data to the corresponding data block based on this ID. In this way, we have realized multi-stream write operations in distributed storage, which not only improves the overall performance of the system, but also extends the service life of the SSD.

[0211] To further illustrate, the specific implementation steps of the optional above diversion method are as follows:

[0212] S10-1, data heat virtual flow ID allocation: First, a unique virtual flow ID is assigned to each type of data according to the data heat. Metadata is assigned the lowest heat value of 1, and then WAL data, cache pool data, ordinary pool data, and data pool data are assigned heat values ​​in increasing order to ensure the priority and processing efficiency of data in the storage system.

[0213] S10-2, Storage pool heat configuration function: The Monitor module integrates the storage pool data heat distribution function, which allows users to flexibly configure and modify the storage pool heat information (pool_hotness) through standardized external interfaces / commands. This function enhances the flexibility and adaptability of the system to meet the needs of different application scenarios.

[0214] S10-3, Storage Pool Hotness Setting Strategy: During storage pool creation or subsequent maintenance, a Hotness value is assigned to the storage pool through active configuration or automatic system identification based on the specific usage scenario of the storage pool. The setting range is limited to between 3 and n, with metadata and WAL data occupying the first two hotness levels to ensure high priority processing of critical data.

[0215] S10-4, OSDMAP update and synchronization: Once the Monitor receives a request to change the storage pool heat value, it immediately updates the OSDMAP and pushes the updated OSDMAP to all OSD nodes. This step ensures that each node in the storage system synchronizes the storage pool heat information in real time, providing an accurate basis for data diversion.

[0216] S10-5, client business OP data heat processing: When the client business OP is written to OSD, the system performs special processing on the data part. In the Transaction encapsulation stage, the op_hotness variable is introduced to record the heat value of the storage pool to which the OP belongs. Obtain the pool_hotness of the corresponding pool_id by querying OSDMAP, assign it to op_hotness, and then submit it to bluestore with the transaction. When submitting data to bluestore, pass op_hotness as a virtual stream ID to MSSD to realize data diversion by heat.

[0217] S10-6, Metadata and WAL data heat management: For OP's metadata and WAL data, the system uses independent processing procedures. The data is first submitted to Rocksdb, and the data type is distinguished by prefix information. Add a db_hotness variable in the FileWriter structure, and set db_hotness to 2 or 1 (metadata) according to the prefix value (L represents WAL data). When BlueFS writes to disk, the data is submitted to MSSD based on db_hotness as the virtual stream ID to ensure that metadata and WAL data are stored according to heat.

[0218] S10-7, special scenario data heat processing: For the special situation where data OP writing occurs before the storage pool heat allocation, the system defaults the heat of the data OP to the lowest (i.e., the data pool data heat), and processes it through the preset op_hotness value to ensure that the data can still be stored according to the rules under special circumstances.

[0219] S10-8, data reconstruction and heat preservation in fault scenarios: During the data reconstruction process caused by OSD failure, the system follows the processing flow of steps S10-5 and S10-6 to ensure that the reconstructed data is diverted and written to MSSD according to the heat value of the original storage pool. This mechanism ensures the consistency and integrity of data during fault recovery, while maintaining efficient management of data in the storage system.

[0220] In an optional embodiment, the above diversion method involves two aspects: a storage pool heat management module and a data write diversion module, wherein the optimized design of the storage pool heat management module includes extending the OSDMAP attribute. Given that the OSDMAP (OSD mapping) maintained by the Monitor already contains attribute information of some storage pools, and this information can be synchronously shared with each OSD (object storage device daemon), this embodiment adds a key attribute to the OSDMAP - data heat. The maintenance of this attribute is the responsibility of the Monitor, and the Monitor also provides an interface that can be actively configured and updated to ensure the flexibility and accuracy of the data heat attribute.

[0221] The optimized design of the storage pool heat management module also includes storage pool heat configuration. When creating a storage pool during the storage system deployment process, the administrator can set different data heat values ​​for the storage pool through the management software interface or by executing operation and maintenance commands, according to the specific usage and business needs of the storage pool. In addition, the system also supports automatic identification and setting of heat values ​​within the code, which is particularly suitable for automatic division modes of hot, warm, and cold storage pools. After receiving this configuration information, the Monitor will publish a new OSDMAP to each OSD to ensure that all OSDs can obtain the latest storage pool heat information.

[0222] The optimized design of the storage pool heat management module also includes virtual stream ID allocation and data writing. When the OSD receives the updated OSDMAP, it will allocate a corresponding virtual stream ID to the request based on the storage pool information to which the operation request (OP) sent by the client belongs. This virtual stream ID is used as an identifier for data writing and will then be submitted to the Device layer. After receiving data carrying the virtual stream ID, the multi-stream solid-state drive (MSSD) will write the data to the corresponding Block based on the ID information. This design ensures that data of different temperatures can be effectively isolated and managed separately, thereby improving GC (garbage collection) efficiency, reducing write amplification, and extending the service life of the MSSD.

[0223] To further illustrate, the process is as follows Figure 3 As shown, the details are as follows:

[0224] Storage pool creation and heat classification: In the user interface (UI) or operation and maintenance node, when a new storage pool is created, the system will classify the heat according to the functions it provides and the expected usage scenarios. This heat information is then sent to the MON (monitoring node).

[0225] MON (cluster monitor daemon) processing and storage: After receiving the heat tag of the storage pool, MON saves it and integrates it into the OSD MAP (object storage device map). OSD MAP is a key data structure in the storage system used to describe the status, layout and configuration of OSD (object storage device).

[0226] OSD MAP publishing and OSD operation: The updated OSD MAP will be published to the OSDs in the system. OSDs make corresponding configuration and status adjustments based on the received MAP (mapping) information to ensure that the heat information of the storage pool is correctly applied.

[0227] Client operations and heat information application: When a client initiates a data operation request (such as write), these operations are optimized based on the heat information of the storage pool. For example, a high-heat storage pool may prioritize critical business data to ensure system performance and response speed.

[0228] In an optional embodiment, the optimized design of the data writing diversion module includes the following steps:

[0229] S11-1, obtain the storage pool data heat value:

[0230] When the Monitor releases a new OSDMAP, each OSD will be able to synchronously obtain the data heat value of each storage pool. This step ensures that when the OSD performs subsequent data write operations, it can perform reasonable diversion processing based on the latest storage pool heat information;

[0231] S11-2, distribution of client write operations:

[0232] After the write operation (OP) initiated by the client to the storage pool reaches the OSD (and is eventually assigned to the corresponding PG for data submission), it will be split into three main parts: metadata, WAL data (for small object writing), and the actual data part. This split helps to perform more refined management and diversion for different types of data;

[0233] S11-3, heat allocation and disk writing of data part:

[0234] After the data is encapsulated into a transaction, it will be submitted to Bluestore for disk writing. During this process, OSD will assign a corresponding data heat value to the data object according to the storage pool to which the data object belongs, and embed it into the transaction. Later, when Bluestore executes data writing, it will assign a virtual stream ID to the data based on this heat value and submit it to the multi-stream solid-state drive (MSSD). This design ensures that data of different heat levels can be effectively isolated and managed separately;

[0235] S11-4, heat processing and writing of metadata and WAL data:

[0236] Before metadata and WAL data are submitted to RocksDB, they are assigned different prefixes according to their types (e.g., the prefix of WAL data is "L", while metadata contains multiple prefixes such as "O, M, P"). This embodiment uses this prefix information to assign different heat values ​​to the data submitted to BlueFS, which is mainly divided into two categories: metadata and WAL. When BlueFS performs a disk write operation, it also assigns corresponding virtual stream IDs to the data based on these heat values ​​and submits it to MSSD. This method not only simplifies the complexity of heat management, but also improves the flexibility and efficiency of data writing;

[0237] S11-5, writing process of fault reconstruction data:

[0238] For data reconstruction caused by OSD failure, the data writing submission process is the same as steps S11-3 and S11-4 above. This design ensures data consistency and continuity of thermal management during failure recovery;

[0239] S11-6, heat distribution strategy of historical data:

[0240] For historical data that has been written to the OSD before the storage pool data heat configuration, this embodiment adopts a conservative strategy: the processing of its metadata and WAL data is consistent with the above rules, and for the data part, it is uniformly allocated according to the heat value of the coldest data. This strategy ensures that when the heat of these data becomes higher later, they can be written to the new data stream, thereby avoiding performance loss caused by repeated migration during the garbage collection (GC) process.

[0241] To further illustrate, the process is as follows Figure 4 As shown, the details are as follows:

[0242] S12-1, data sending: The client can choose to send the data directly to the storage pool (OF (write operation) is sent to the storage pool) or send it to PG (placement group) first (OF is sent to PG).

[0243] S12-2, direct storage process: data flows directly to OSD (object storage device) / PG, and then enters the Bluefs (blue file system) storage system. Bluefs assigns data to different sIDs (such as unique identifier 1) according to the policy, and finally stores it in SSD Device (solid state drive).

[0244] S12-3, storage process through PG: Data is first pre-processed through WAL (write-before-log) to ensure data consistency. A portion of the processed data continues to flow to Bluefs, and is allocated and stored in the SSD Device through sID (unique identifier) ​​(such as unique identifier 2).

[0245] The other part of the data goes directly to the Transactions module, which allocates hotness according to the storage pool to which the OP belongs and OSDMAP (object storage device mapping) information. The data after hotness allocation flows to Bluestore, which then allocates and stores it to the SSD Device according to sID (such as unique identifier n).

[0246] S12-4, WAL and Hotness processing: When the op is submitted, Hotness is allocated according to the prefix information (O / M / P and L) to ensure that data is stored according to priority.

[0247] Through the embodiments provided in this application, data flow is managed in a refined manner, which significantly improves the utilization efficiency of the solid-state disk (SSD) in the distributed all-flash storage system, thereby greatly enhancing the garbage collection (GC) efficiency of the SSD, and significantly improving the overall performance of the storage cluster. Compared with the prior art, this embodiment exhibits the following technical advantages:

[0248] Performance improvement: This embodiment uses the diversion technology to intelligently classify data according to popularity and allocate it to different storage streams. This approach effectively improves the GC efficiency of the SSD disk because the aggregation of similar data optimizes the erase and write mode. This optimization is directly reflected in the significant improvement of the overall performance of the storage system, especially in high-concurrency and large-data volume application scenarios, the performance improvement is particularly obvious.

[0249] Function enhancement and life extension: By implementing an effective diversion strategy, this embodiment reduces the write amplification phenomenon of the SSD, that is, the number of repeated erasures of the same storage unit is effectively controlled. This not only extends the service life of the SSD, but also reduces the risk of damage to storage particles caused by frequent erasures. At the same time, it reduces the need for disk replacement and the cost of disk replacement, which directly improves the reliability and economy of the storage system.

[0250] Simplified operation and maintenance and optimized space utilization: Traditional storage deployment methods often require a single disk to be divided into multiple partitions (such as database partitions, WAL partitions, etc.), which not only takes up additional disk frame space, but also increases the complexity of operation and maintenance management. This embodiment uses the multi-stream feature of the disk to intelligently write different types of data into different blocks, thereby saving valuable disk frame space and improving data storage density. This improvement not only simplifies the operation and maintenance process, but also makes the management of storage resources more efficient and flexible.

[0251] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.

[0252] In the present embodiment, a data management device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0253] According to another aspect of the embodiments of the present application, a data management device for implementing the above data management method is also provided. Figure 5 As shown, the device comprises:

[0254] A first acquisition unit 502 is used to acquire a plurality of data to be written into the solid state drive;

[0255] The second acquisition unit 504 is used to acquire the heat attribute corresponding to each data in the multiple data;

[0256] The writing unit 506 is used to write various data into various data blocks in the solid state drive according to the thermal attribute, wherein different data blocks correspond to different thermal attribute conditions.

[0257] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0258] As an optional solution, the second obtaining unit 504 includes:

[0259] A first acquisition module, used to acquire the data type corresponding to each data;

[0260] The second acquisition module is used to acquire the heat attribute according to the data type.

[0261] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0262] As an optional solution, the second acquisition module includes:

[0263] A first acquisition submodule is used to acquire the heat corresponding to each data according to the data type, wherein different data types correspond to different heats;

[0264] The second acquisition submodule is used to acquire the heat attribute according to the heat, wherein the different heat attribute conditions are different heat intervals.

[0265] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0266] As an optional solution, the first acquisition module includes at least one of the following:

[0267] A third acquisition submodule, used to acquire a specified data type corresponding to the first data among the multiple data;

[0268] A fourth acquisition submodule, used to acquire a storage data type corresponding to the second data among the multiple data;

[0269] The fifth acquisition submodule is used to acquire the business data type corresponding to the third data among the multiple data.

[0270] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0271] As an optional solution, the first acquisition submodule includes:

[0272] The first determination subunit is used to determine that the heat corresponding to the data of the specified data type is greater than the heat corresponding to the data of the storage data type when the data of the specified data type and the data of the storage data type are acquired.

[0273] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0274] As an optional solution, the first acquisition submodule includes:

[0275] The second determining subunit is used to determine that the heat corresponding to the data of the business data type is greater than the heat corresponding to the data of the storage data type when the data of the business data type and the data of the storage data type are acquired.

[0276] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0277] As an optional solution, the fourth acquisition submodule includes:

[0278] a third determining subunit, configured to determine, when the second data is data stored in a cache pool, a storage data type corresponding to the second data as a cache pool storage type;

[0279] a fourth determining subunit, configured to determine, when the second data is data stored in a common pool, a storage data type corresponding to the second data as a common pool storage type, wherein the heat corresponding to the cache pool storage type is greater than the heat corresponding to the common pool storage type;

[0280] The fifth determination subunit is used to determine the storage data type corresponding to the second data as the data pool storage type when the second data is data stored in the data pool, wherein the popularity corresponding to the common pool storage type is greater than the popularity corresponding to the data pool storage type.

[0281] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0282] As an optional solution, the third acquisition submodule includes:

[0283] a sixth determining subunit, configured to determine, when the first data is metadata, a specified data type corresponding to the first data as a metadata type;

[0284] The seventh determination subunit is used to determine the specified data type corresponding to the first data as the WAL data type when the first data is WAL data, wherein the heat corresponding to the metadata type is greater than the heat corresponding to the WAL data type.

[0285] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0286] As an optional solution, the fifth acquisition submodule includes:

[0287] an eighth determining subunit, configured to determine data that complies with the business logic among the plurality of data as the third data;

[0288] The ninth determination subunit is used to determine the business data type according to the business type corresponding to the business logic.

[0289] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0290] As an optional solution, the first acquisition submodule includes:

[0291] A first acquisition subunit, configured to acquire, when the data type is the business data type, at least two types of heat-related parameters associated with the third data;

[0292] an allocating subunit, configured to allocate a calculation weight to each of the at least two types based on the business logic when the data type is the business data type;

[0293] The second acquisition subunit is used to acquire the heat of the third data by using the calculated weight and combining the heat-related parameters of the at least two types when the data type is the business data type.

[0294] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0295] As an optional solution, the first acquisition subunit includes at least two of the following:

[0296] A first sub-acquisition module, configured to acquire a data access frequency associated with the third data;

[0297] A second sub-acquisition module, used to acquire a data update frequency associated with the third data;

[0298] A third sub-acquisition module, used to acquire the number of data accesses associated with the third data;

[0299] A fourth sub-acquisition module, used to acquire the data update times associated with the third data;

[0300] a fifth sub-acquisition module, configured to acquire a data access timestamp associated with the third data;

[0301] The sixth sub-acquisition module is used to acquire the data update timestamp associated with the third data.

[0302] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0303] As an optional solution, the writing unit 506 includes:

[0304] an allocation module, configured to allocate a virtual flow identifier to each data according to the heat attribute, wherein the virtual flow identifier is used to indicate the heat of each data;

[0305] The first writing module is used to write the various data into the various data blocks according to the virtual flow identifier, wherein different data blocks correspond to different virtual flow identifiers, and different virtual flow identifiers correspond to different thermal attribute conditions.

[0306] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0307] As an optional solution, the allocation module includes:

[0308] The first allocation submodule is configured to allocate a first virtual flow identifier to the fourth data based on the heat information when the heat attribute corresponding to the fourth data among the multiple data carries the heat information of the fourth data.

[0309] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0310] As an optional solution, the allocation module includes:

[0311] A sixth acquisition submodule, configured to acquire the heat information of the storage pool to which the fifth data belongs when the heat attribute corresponding to the fifth data among the plurality of data lacks the heat information of the fifth data;

[0312] The second allocation submodule is used to allocate a second virtual flow identifier for the fifth data based on the heat information of the storage pool to which it belongs.

[0313] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0314] As an optional solution, the second obtaining unit 504 includes:

[0315] The setting module is used to set the heat attribute corresponding to the preset heat condition as the heat attribute corresponding to the sixth data when the sixth data among the multiple data meets the preset heat condition.

[0316] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0317] As an optional solution, the writing unit 506 includes:

[0318] A second writing module, configured to write data that meets the high heat condition among the plurality of data into a first data block in the solid state drive according to the heat attribute, wherein the heat attribute condition includes the high heat condition;

[0319] A third writing module is used to write the data that meets the low heat condition among the multiple data into a second data block in the solid-state drive according to the heat attribute, wherein the storage space of the first data block is larger than the storage space of the second data block, and the heat attribute condition includes the low heat condition.

[0320] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0321] As an optional solution, the device further includes:

[0322] An updating unit is used to update the position of the seventh data in the solid-state hard disk according to the changed thermal attribute after writing the various data into the various data blocks in the solid-state hard disk according to the thermal attribute, when the thermal attribute corresponding to the seventh data written into the data block changes.

[0323] For the specific implementation, reference may be made to the example shown in the above data management method, which will not be described in detail in this example.

[0324] It should be noted that the above-mentioned virtual devices (modules, units, sub-modules, sub-units, components, etc.) can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to this: the above-mentioned virtual devices are all located in the same processor; or, the above-mentioned virtual devices are located in different processors in any combination.

[0325] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0326] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0327] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0328] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0329] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0330] Obviously, those skilled in the art should understand that the above-mentioned virtual devices or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0331] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A data management method, characterized in that: include: Acquire multiple data to be written into the solid state drive; Obtaining a heat attribute corresponding to each of the plurality of data; According to the thermal attribute, the respective data are written into respective data blocks in the solid state drive, wherein different data blocks correspond to different thermal attribute conditions.

2. The method according to claim 1, characterized in that The obtaining of the heat attribute corresponding to each of the plurality of data includes: Obtain the data type corresponding to each data; According to the data type, the heat attribute is obtained.

3. The method according to claim 2, characterized in that The acquiring the heat attribute according to the data type includes: According to the data type, obtaining the heat corresponding to each data, wherein different data types correspond to different heats; The heat attribute is obtained according to the heat, wherein the different heat attribute conditions are different heat intervals.

4. The method according to claim 3, characterized in that: The acquiring of the data type corresponding to each data includes at least one of the following: Obtaining a specified data type corresponding to the first data among the multiple data; Obtaining a storage data type corresponding to second data among the plurality of data; Obtain a business data type corresponding to third data among the multiple data.

5. The method according to claim 4, characterized in that The acquiring, according to the data type, the heat corresponding to each data, includes: When data of the specified data type and data of the stored data type are obtained, it is determined that the heat corresponding to the data of the specified data type is greater than the heat corresponding to the data of the stored data type.

6. The method according to claim 4, characterized in that The acquiring, according to the data type, the heat corresponding to each data, includes: When data of the business data type and data of the storage data type are acquired, it is determined that the heat corresponding to the data of the business data type is greater than the heat corresponding to the data of the storage data type.

7. The method according to claim 4, characterized in that The acquiring the storage data type corresponding to the second data among the plurality of data includes: In a case where the second data is data stored in a cache pool, determining a storage data type corresponding to the second data as a cache pool storage type; In the case where the second data is data stored in a common pool, determining the storage data type corresponding to the second data as a common pool storage type, wherein the heat corresponding to the cache pool storage type is greater than the heat corresponding to the common pool storage type; In the case where the second data is data stored in a data pool, the storage data type corresponding to the second data is determined as a data pool storage type, wherein the heat corresponding to the common pool storage type is greater than the heat corresponding to the data pool storage type.

8. The method according to claim 4, characterized in that The obtaining a specified data type corresponding to the first data among the multiple data includes: In a case where the first data is metadata, determining the specified data type corresponding to the first data as a metadata type; In the case that the first data is WAL data, the specified data type corresponding to the first data is determined as the WAL data type, wherein the heat corresponding to the metadata type is greater than the heat corresponding to the WAL data type.

9. The method according to claim 4, characterized in that The acquiring of the business data type corresponding to the third data among the multiple data includes: Determine the data that complies with the business logic among the multiple data as the third data; The business type corresponding to the business logic is used to determine the business data type.

10. The method according to claim 9, characterized in that In the case where the data type is the business data type, obtaining the heat corresponding to each data according to the data type includes: Obtaining at least two types of heat-related parameters associated with the third data; Based on the business logic, assigning a calculation weight to each of the at least two types; The heat of the third data is obtained by utilizing the calculated weight and combining the at least two types of heat-related parameters.

11. The method according to claim 10, characterized in that The obtaining of at least two types of heat-related parameters associated with the third data includes at least two of the following: Acquire a data access frequency associated with the third data; Acquire the data update frequency associated with the third data; Obtaining a data access count associated with the third data; Obtaining the data update times associated with the third data; Obtaining a data access timestamp associated with the third data; Obtain a data update timestamp associated with the third data.

12. The method according to claim 1, characterized in that The step of writing the data into the data blocks in the solid state drive according to the thermal attribute includes: According to the heat attribute, a virtual flow identifier is allocated to each data, wherein the virtual flow identifier is used to indicate the heat of each data; According to the virtual flow identifier, the respective data are written into the respective data blocks, wherein different data blocks correspond to different virtual flow identifiers, and different virtual flow identifiers correspond to different thermal attribute conditions.

13. The method according to claim 12, characterized in that The allocating virtual flow identifiers to the respective data according to the heat attribute includes: In a case where the heat attribute corresponding to fourth data among the multiple data carries heat information of the fourth data, a first virtual flow identifier is allocated to the fourth data based on the heat information.

14. The method according to claim 12, characterized in that The allocating virtual flow identifiers to the respective data according to the heat attribute includes: In the case where the heat attribute corresponding to the fifth data among the multiple data lacks heat information of the fifth data, acquiring heat information of the storage pool to which the fifth data belongs; A second virtual flow identifier is allocated to the fifth data based on the heat information of the storage pool to which it belongs.

15. The method according to any one of claims 1 to 14, characterized in that The obtaining of the heat attribute corresponding to each of the plurality of data includes: When the sixth data among the plurality of data meets the preset heat condition, the heat attribute corresponding to the preset heat condition is set as the heat attribute corresponding to the sixth data.

16. The method according to any one of claims 1 to 14, characterized in that The step of writing the data into the data blocks in the solid state drive according to the thermal attribute includes: According to the heat attribute, writing data that meets the high heat condition among the plurality of data into a first data block in the solid state drive, wherein the heat attribute condition includes the high heat condition; According to the heat attribute, the data that meets the low heat condition among the multiple data is written into a second data block in the solid state drive, wherein the storage space of the first data block is larger than the storage space of the second data block, and the heat attribute condition includes the low heat condition.

17. The method according to any one of claims 1 to 14, characterized in that After writing the respective data into the respective data blocks in the solid state drive according to the thermal attribute, the method further includes: When the thermal attribute corresponding to the seventh data written into the data block changes, the position of the seventh data in the solid state drive is updated according to the changed thermal attribute.

18. A data management device, characterized in that: include: A first acquisition unit, used for acquiring a plurality of data to be written into the solid state drive; A second acquisition unit, used to acquire a heat attribute corresponding to each of the plurality of data; A writing unit is used to write the various data into various data blocks in the solid state drive according to the thermal attribute, wherein different data blocks correspond to different thermal attribute conditions.

19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 17 when executed by a processor.

20. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 17 are implemented.

Citation Information

Patent Citations

  • Data processing method, device and equipment based on solid-state disk array and storage medium

    CN111880745A

  • Distributed storage method, device and system and medium

    CN114675785A

  • Multi-storage-pool data classified storage method and system and electronic equipment

    CN115470190A

  • Data processing method and device

    CN119311638A

  • Providing differentiated I / O services within a hardware storage controller

    US20100169570A1

Cited By

  • Storage space management method and device, electronic equipment, storage medium and product

    CN120276685A

  • Storage space management method, device, electronic device, storage medium and product

    CN120276685B