Storage space allocation method and device, electronic equipment and storage medium

By acquiring and analyzing historical service data from multiple drives, storage demand indicators are predicted and storage space allocation is dynamically adjusted. This solves the problem of frequent partition adjustments in traditional storage methods, achieving more efficient and flexible utilization of storage resources and improving system performance.

CN121879671APending Publication Date: 2026-04-17CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE INTERNET CO LTD
Filing Date
2025-12-02
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing multi-drive storage space allocation algorithms rely on a single-machine operating system, causing users to frequently adjust partition sizes or create new partitions. This operation is cumbersome and prone to errors, resulting in limitations in capacity and flexibility for traditional local storage methods.

Method used

By acquiring historical service data from multiple drives, including hardware resource data, application load data, and user behavior data, storage demand metrics such as data type diversity index, data growth rate, space utilization, and access pattern entropy can be predicted. This allows for dynamic adjustment of storage space allocation strategies to optimize resource utilization and system performance.

Benefits of technology

It improves the utilization efficiency of storage resources and system performance, can more accurately meet future data storage needs, reduces the need for frequent partition adjustments, and improves the flexibility and accuracy of storage space allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879671A_ABST
    Figure CN121879671A_ABST
Patent Text Reader

Abstract

The invention provides a storage space distribution method and device, electronic equipment and a storage medium, and the method comprises the steps: obtaining first historical service data of a plurality of drives in response to a received storage space distribution request; wherein the first historical service data comprises at least one of hardware resource data, application load data and user behavior data, the hardware resource data at least comprises data related to space capacity, and the application load data at least comprises data related to multiple access modes; the user behavior data at least comprises data related to multiple data types; predicting a storage demand index of each first drive in the plurality of drives according to the first historical service data; wherein the storage demand index of the first drive comprises at least one of the following items: a data type diversity index, a data growth rate, a space utilization rate and an access mode entropy; and allocating a storage space to the first drive according to the storage demand index of the first drive.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud computing technology, and in particular to a method, apparatus, electronic device, and storage medium for allocating storage space. Background Technology

[0002] In today's digital age, the demand for data storage is constantly growing, and the effective allocation of storage space has become crucial. With the rapid development of cloud computing technology, cloud-based multi-drive space allocation algorithms have become a more advantageous solution.

[0003] Existing multi-drive space allocation algorithms primarily rely on a single-machine operating system. While offering some flexibility in storage space partitioning, they also have several significant drawbacks. Firstly, traditional multi-drive space allocation often involves receiving space requests from devices to allocate free space within the disk's allocated space. Over time, users may need to frequently resize partitions or create new partitions to meet evolving storage demands. This process is not only cumbersome but also error-prone, gradually revealing the limitations of traditional local storage in terms of capacity and flexibility. Therefore, there is an urgent need for an algorithm that optimizes drive space allocation to improve resource utilization efficiency and system performance. Summary of the Invention

[0004] This disclosure provides a method, apparatus, electronic device, and storage medium for allocating storage space, which can improve resource utilization efficiency and system performance.

[0005] A first aspect of this disclosure provides a method for allocating storage space, the method comprising: in response to receiving a storage space allocation request, acquiring first historical service data of multiple drives; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types; predicting storage demand indicators for each of the multiple drives based on the first historical service data; wherein the storage demand indicators for each drive include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access mode entropy; and allocating storage space to the drives based on the storage demand indicators.

[0006] In some embodiments of this disclosure, the data type diversity index is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on user behavior data; determining the identification rate of hot data stored on the first drive letter based on first data in hardware resource data; wherein the first data is data related to I / O requests; determining the proportion of each data type in the hot data; and predicting the data type diversity index based on the proportion of each type of data in the hot data.

[0007] In some embodiments of this disclosure, determining the identification rate of hotspot data stored on the first drive letter based on the first data includes: determining the proportion of I / O requests to the first drive letter in different time periods based on the first data; determining the total hotspot data stored on the first drive letter based on the proportion of I / O requests to the first drive letter in different time periods; and determining the identification rate of hotspot data stored on the first drive letter based on the total hotspot data and the total data volume of the first drive letter.

[0008] In some embodiments of this disclosure, the data growth rate is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on user behavior data; determining a first quantity of each first data type stored on the first drive letter within a first sampling period; and determining a second quantity of the first data type stored on the first drive letter within a second sampling period; wherein the second sampling period is the previous sampling period of the first sampling period; and predicting the data growth rate of the first data type based on the first quantity and the second quantity.

[0009] In some embodiments of this disclosure, the method further includes: determining the standard deviation of the data growth rate of the first data type based on the total sampling period corresponding to the first historical service data, the data growth rate of the first data type, and the average growth rate; wherein the total sampling period includes the first sampling period and the second sampling period; the average growth rate is determined based on the data growth rate of each first disk in the plurality of disks; and using the standard deviation of the data growth rate of the first data type as a storage requirement indicator for the first disk.

[0010] In some embodiments of this disclosure, the space utilization rate is predicted based on the following steps: predicting the space utilization rate of each first drive letter among multiple drive letters according to second data in the hardware resource data; wherein, the second data is data related to space capacity.

[0011] In some embodiments of this disclosure, the method further includes: determining the standard deviation of the space utilization rate of the first drive letter based on the number of multiple drive letters, the space utilization rate of the first drive letter, and the average space utilization rate; wherein the average space utilization rate is determined based on the space utilization rate of each first drive letter among the multiple drive letters; and using the standard deviation of the space utilization rate of the first drive letter as a storage requirement indicator of the first drive letter.

[0012] In some embodiments of this disclosure, allocating storage space to the first drive letter based on the storage demand index of the first drive letter includes: determining the reserved space ratio of the first drive letter based on the standard deviation of the space utilization rate of the first drive letter; wherein the reserved space ratio of the first drive letter is determined based on the reserved space and total space of the first drive letter; and allocating storage space to the first drive letter based on the reserved space ratio of the first drive letter.

[0013] In some embodiments of this disclosure, the access pattern entropy is predicted based on the following steps: determining multiple access patterns for a first drive letter based on application load data; determining the density of each first access pattern among the multiple access patterns; wherein the density of the first access pattern is determined based on the following steps: determining the access time, access frequency, and access path of the first access pattern; counting the first number of access times exceeding a first threshold, the second number of access frequencies exceeding a second threshold, and the third number of access paths exceeding a third threshold; determining the first access pattern entropy based on the first, second, and third counts; and determining the first access pattern entropy based on the density of the first access pattern and the number of multiple access patterns.

[0014] In some embodiments of this disclosure, allocating storage space to the first drive letter based on the storage demand index of the first drive letter includes: determining the data migration cost index of the first drive letter based on the entropy value of each first access mode; and performing data migration on the first drive letter based on the data migration cost index of the first drive letter in order to allocate storage space to the first drive letter.

[0015] In some embodiments of this disclosure, the method further includes: determining a first allocation strategy efficiency index based on the storage demand index of the first drive letter; determining whether the first allocation strategy efficiency index meets a fourth threshold; and if it does, allocating storage space to the first drive letter based on the first allocation strategy efficiency index.

[0016] In some embodiments of this disclosure, after migrating data to the first drive based on the data migration cost index of the first drive, the method includes: obtaining the actual increase in data volume of the first drive, and migration data during the data migration process of the first drive; wherein the migration data includes at least one of the following: migration duration data, migration count data, and migration response time data; determining whether the storage space allocated to the first drive meets the actual increase in data volume; if not, determining a dynamic adjustment index based on the migration data; and migrating data to the first drive based on the dynamic adjustment index to allocate storage space to the first drive.

[0017] In some embodiments of this disclosure, data migration of the first drive letter is performed according to a dynamic adjustment index to allocate storage space to the first drive letter, including: determining whether the dynamic adjustment index meets a fifth threshold; if it does, data migration of the first drive letter is performed according to the dynamic adjustment index to allocate storage space to the first drive letter.

[0018] In some embodiments of this disclosure, after migrating data to the first drive according to the dynamic adjustment index to allocate storage space to the first drive, the method further includes: determining whether the dynamic adjustment index meets a fifth threshold; if not, re-determining the efficiency index of the second allocation strategy, and allocating storage space to the first drive according to the efficiency index of the second allocation strategy, until the storage space allocated to the first drive meets the actual increase in the amount of data stored.

[0019] In some embodiments of this disclosure, obtaining first historical service data for multiple drive letters includes: obtaining second historical service data for multiple drive letters; determining data quality indicators for the second historical service data; and using data from the second historical service data that meets the data quality indicators as first historical service data.

[0020] In some embodiments of this disclosure, the data quality indicators include at least one of the following: data integrity indicator, data timeliness indicator, and data accuracy indicator.

[0021] In some embodiments of this disclosure, determining the data quality indicators of the second historical service data includes: determining the data integrity indicator, the data timeliness indicator, and the data accuracy indicator of the second historical service data; and determining the data quality indicators based on the data integrity indicator and its corresponding first weight, the data timeliness indicator and its corresponding second weight, and the data accuracy indicator and its corresponding third weight.

[0022] In some embodiments of this disclosure, the sum of the first weight, the second weight, and the third weight is 1.

[0023] A second aspect of this disclosure provides a storage space allocation apparatus, comprising: an acquisition module, configured to acquire first historical service data of multiple drives in response to receiving a storage space allocation request; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types; a prediction module, configured to predict storage demand indicators for each of the multiple drives based on the first historical service data; wherein the storage demand indicators for each drive include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access mode entropy; and an allocation module, configured to allocate storage space to the drives based on the storage demand indicators of the drives.

[0024] A third aspect of this disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods described in the first aspect of this disclosure.

[0025] A fourth aspect of this disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the first aspect of this disclosure.

[0026] A fifth aspect of this disclosure provides a chip including one or more interfaces and one or more processors; the interfaces are configured to receive signals from the memory of an electronic device and send signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processors, cause the electronic device to perform the methods described in the first aspect of this disclosure.

[0027] In summary, the storage space allocation method, apparatus, electronic device, and storage medium proposed in this disclosure can more accurately determine the target product to be recommended by using the resistance of the first object to the historical behavior of the target product and the acceptance of the first object to the target product, thereby improving the accuracy of recommending the target product to the target object.

[0028] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0029] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0030] Figure 1 A flowchart illustrating a method for allocating storage space according to an embodiment of this disclosure; Figure 2 A schematic diagram of the storage space allocation device provided in the embodiments of this disclosure; Figure 3 This is a schematic diagram of the electronic device structure provided in the embodiments of this disclosure; Figure 4 This is a schematic diagram of the chip structure provided in an embodiment of this disclosure. Detailed Implementation

[0031] Embodiments of this disclosure are described in detail below. Examples of these embodiments are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0032] Figure 1 This is a flowchart illustrating a storage space allocation method provided in an embodiment of this disclosure. Figure 1 As shown, this method can be performed by an electronic device. The method may include the following steps.

[0033] Step 101: In response to receiving a storage space allocation request, obtain first historical service data for multiple drive letters; wherein, the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types.

[0034] Step 102: Predict the storage demand indicators of each first drive letter among multiple drives based on the first historical service data; wherein, the storage demand indicators of the first drive letter include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access pattern entropy.

[0035] Step 103: Allocate storage space to the first drive according to the storage requirement index of the first drive.

[0036] The storage space allocation method proposed in this disclosure allocates storage space based on the data type diversity index, the standard deviation of the data growth rate, and the access pattern entropy obtained from the demand assessment. This method can more efficiently and flexibly respond to different data storage needs, thereby improving resource utilization and system performance.

[0037] The following describes step 101 (i.e., in response to receiving a storage space allocation request, obtaining first historical service data for multiple drive letters; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data) in detail.

[0038] In the embodiments of this disclosure, when a storage space allocation request is received from a target device, first historical service data of multiple drive letters are obtained. These multiple drive letters may be multiple drive letters in a target storage system. The target storage system may be a physical hardware storage system (such as a hard disk) or a storage system in the cloud.

[0039] In this embodiment, the target device initiates a storage space allocation request according to its own needs, in order to request the allocation of storage space corresponding to the storage space allocation request.

[0040] In this embodiment, the first historical service data can be obtained through various means such as monitoring tools of the target storage system, application logs, and user behavior analysis tools. Optionally, the first historical service data may refer to time-related operation records and data version information generated during the use of the target storage system. This data is of great significance for users to track space usage and ensure data security and integrity.

[0041] It should be noted that multiple drive letters can include various drive letters, and the first drive letter can be any of the multiple drive letters; where drive letter is a logical symbol used to identify the target storage system, usually presented in letter form (such as E:, B:).

[0042] In one example, the first historical service data includes at least one of hardware resource data, application load data, and user behavior data.

[0043] Optionally, the hardware resource data includes at least the first data and the second data. The second data may be data related to space capacity, such as the capacity of the disk, used space, and remaining space. The first data may be data related to I / O requests, such as the number of I / O requests and read / write speed. The application load data includes the disk access patterns of different applications or services, including read / write ratio, access frequency, and access time. The user behavior data includes the user's access time to the target storage system, access frequency, data type accessed, and the response time of the target storage device.

[0044] In some disclosed embodiments, obtaining first historical service data for multiple drive letters includes: obtaining second historical service data for multiple drive letters; determining data quality indicators for the second historical service data; wherein the data quality indicators measure data quality through at least one of data integrity indicators, data timeliness indicators, and data accuracy indicators; and using data in the second historical service data that meets the data quality indicators as first historical service data.

[0045] In this embodiment, the second historical service data is filtered by data quality indicators, and the data in the second historical service data that meets the data quality indicators is used as the first historical service data.

[0046] It should be noted that the second historical service data can be filtered using a threshold corresponding to the data quality indicator. This threshold can be set according to the accuracy of the allocated space.

[0047] In this embodiment, data quality indicators can be used to measure data quality through at least one of data integrity indicators, data timeliness indicators, and data accuracy indicators.

[0048] In one example, determining the data quality metrics for the second historical service data includes: using a hash algorithm to compare the checksum of the data collection list in the second historical service data with the checksum of the actual collected data items to determine the data integrity metric; obtaining the current time, the last data update time, and the sampling period to determine the data timeliness metric; determining the data accuracy metric based on the total number of data items and the number of correct data items in the second historical service data; and determining the data quality metric based on the data integrity metric, the data timeliness metric, and the data accuracy metric.

[0049] In one example, data quality indicators are determined based on data completeness indicators, data timeliness indicators, and data accuracy indicators, including: determining data quality indicators based on data completeness indicators and their corresponding first weights, data timeliness indicators and their corresponding second weights, and data accuracy indicators and their corresponding third weights.

[0050] In one example, the data quality metric Qci can be determined using the following formula: Qci = a1 × Ad + a2 × (1 / DT) + a3 × Da Where a1, a2, and a3 represent the weights of the data completeness index, data timeliness index, and data accuracy index, respectively.

[0051] In one example, a1 + a2 + a3 = 1. In cloud-based multi-drive space allocation scenarios, high-quality data is the foundation for effective allocation.

[0052] In another example, the first historical service data can be determined through the following steps: Step 1: Preprocess the acquired second historical service data.

[0053] Optionally, preprocessing may include at least one of the following: Remove or fill missing values, remove duplicates (e.g., by comparing unique identifiers in records), correct errors (e.g., by identifying and correcting erroneous data using predefined data validation rules), and standardize data to ensure data accuracy.

[0054] Step 2: Determine the data quality indicators for the second historical service data.

[0055] In this step, the data quality of the second historical service data is assessed using at least one of the following indicators: data completeness, data timeliness, and data accuracy.

[0056] In one example, a hash algorithm is used to compare the checksum of the data collection list with the checksum of the actual collected data items to verify the data integrity metric Ad.

[0057] In one example, the data timeliness index can be calculated using the following formula: DT=(Tt-Ut) / Dc Where Tt represents the current time, Ut represents the last update time of the data, and Dc represents the sampling period. The smaller the index, the more timely the data collection, and the faster it can reflect the actual situation.

[0058] In one example, the data accuracy metric can be calculated using the following formula: Da=Cq / Tq Where Cq represents the number of correct data items and Tq represents the total number of data items, a high data accuracy index means a low data error rate and high reliability.

[0059] Step 3: Conduct a comprehensive analysis of the data quality to obtain evaluation indicators for the collected data.

[0060] Step 4: Use the data that meets the data quality indicators in the second historical service data as the first historical service data.

[0061] The following describes step 102 (i.e., predicting the storage demand indicators of each first drive among multiple drives based on the first historical service data; wherein the storage demand indicators of the first drive include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access pattern entropy) in detail.

[0062] In some examples of this disclosure, storage requirement metrics for a first drive are predicted using first historical service data. Alternatively, the first historical service data can be used as input to a demand assessment model to predict the storage requirement metrics for the first drive; this demand assessment model can be a pre-trained model.

[0063] Here, the storage requirement metric for the first drive can be used as a key parameter to consider when evaluating and planning a target storage system. This storage requirement metric is closely related to the performance, capacity, reliability, and cost-effectiveness of the target storage system.

[0064] In this embodiment, the storage requirement metric for the first drive letter may include at least one of the following: Data type diversity index, data growth rate, space utilization rate, and access pattern entropy.

[0065] Among them, the data type diversity index is used to quantify the richness and distribution balance of different data types in the disk, reflecting the coverage of data in structured, semi-structured, and unstructured dimensions, as well as the rationality of the proportion of each type of data.

[0066] Data growth rate is a key indicator that measures how quickly data changes over time, reflecting the dynamic trends of data accumulation, business expansion, or technological development. This data growth rate can be used to predict future storage needs, optimize resource allocation, and provide data support for strategic decision-making.

[0067] Space utilization is a metric that measures the efficiency of space usage on a drive, reflecting the ratio of actual used space to available space. The growth rate of this data can be used to predict future storage needs.

[0068] Access pattern entropy, used to quantify the complexity and uncertainty of data access, has important applications in fields such as storage optimization. It focuses on data access behavior, reflecting the complexity and randomness of data access by quantifying the distribution of characteristics such as access frequency, time intervals, and order. For example, if a data item is accessed frequently and irregularly, its access pattern entropy value is high; conversely, if the access behavior shows a clear pattern (such as access at fixed times each day), the access pattern entropy value is low.

[0069] In some embodiments of this disclosure, the data type diversity index is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on the user behavior data; determining the identification rate of hot data stored on the first drive letter based on first data in the hardware resource data; wherein the first data is data related to I / O requests; determining the proportion of each data type in the hot data; and predicting the data type diversity index based on the proportion of each type of data in the hot data.

[0070] Optionally, the various data types stored on the first drive letter can be determined based on user behavior data, including: determining hot data in the first drive letter; and determining various data types of hot data based on user behavior data.

[0071] In one example, determining the identification rate of hot data stored on the first drive letter based on the first data includes: determining the proportion of I / O requests to the first drive letter in different time periods based on the first data; and determining the hot data based on the proportion of I / O requests to the first drive letter in different time periods.

[0072] In this example, determining the recognition rate of hotspot data may include: Step 1: Use monitoring tools on the target storage system to record the number of I / O requests received by each drive within a certain period (e.g., one hour), and obtain the percentage of I / O requests received by each drive, Rp, where Rp1 = Rq. i / T_rq; where Rp1 represents the percentage of I / O requests, and Rq i T_rq represents the number of I / O requests for the i-th drive letter, and T_rq represents the total number of I / O requests for all drives.

[0073] Step 2: Determine hotspot data based on the proportion of I / O requests to the first drive letter in different time periods.

[0074] Optionally, frequently accessed data (such as data whose I / O request ratio exceeds the corresponding threshold) can be designated as hot data.

[0075] The third step is to determine the recognition rate of hot data.

[0076] Alternatively, the recognition rate of hotspot data can be calculated using the following formula: Hdr = Hd / Td.

[0077] The ratio of the total hot data Hd of the i-th drive to the total data Td of the i-th drive is used to obtain the hot data recognition rate Hdr of the i-th drive, which helps to optimize data layout and improve access performance.

[0078] The following section provides a detailed description of "determining various data types of hotspot data based on user behavior data".

[0079] By employing data classification algorithms to categorize hot data, different types of data (such as structured, semi-structured, and unstructured data) are identified. Then, the proportion of each type of data is calculated to obtain a data type diversity index.

[0080] Alternatively, the data type diversity index can be determined using the following formula:

[0081] Where Ddi represents the diversity index of hot data types, n represents the number of types of hot data, and Hdr j This represents the proportion of hot data of the j-th data type to the total hot data (i.e., the total hot data stored on the first drive).

[0082] Optionally, a corresponding weight can be set for the j-th data type. Optionally, this can be achieved through... The weights corresponding to the j-th data type are adjusted so that Ddi more accurately reflects the storage resource requirements of hot data of various data types.

[0083] In embodiments of this disclosure, by analyzing the data type diversity index, the storage requirements of different data types can be understood, thereby optimizing the allocation of storage resources.

[0084] In some embodiments of this disclosure, the data growth rate is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on the user behavior data; determining a first quantity of each first data type stored on the first drive letter within a first sampling period; and determining a second quantity of the first data type stored on the first drive letter within a second sampling period; wherein the second sampling period is the previous sampling period of the first sampling period; and predicting the data growth rate of the first data type based on the first quantity and the second quantity.

[0085] In one example, the first data type can be any data type, such as structured, semi-structured, or unstructured.

[0086] In one example, the data growth rate of structured, semi-structured, and unstructured data (such as images, videos, log files, etc.) on each drive is monitored and recorded.

[0087] In this example, the growth rate of unstructured data in the first drive can be calculated using the following formula to address different storage needs. For example, when there is a large demand for unstructured data storage, the growth rate can be calculated as follows: DgrDc=(Tgr-Lgr) / Lgr Where DgrDc represents the growth rate of unstructured data with a sampling period of Dc, Tgr represents the first quantity, and Lgr represents the second quantity.

[0088] In one example, the method further includes: determining the standard deviation of the data growth rate of the first data type based on the total sampling period corresponding to the first historical service data, the data growth rate of the first data type, and the average growth rate; wherein the total sampling period includes the first sampling period and the second sampling period; the average growth rate is determined based on the data growth rate of each first disk in the multiple disks; and the standard deviation of the data growth rate of the first data type is used as the storage demand indicator of the first disk.

[0089] Collecting data growth rate records for each first drive and then calculating the standard deviation of these data growth rates using statistical methods helps predict future storage needs, thereby allowing for advance planning and preparation of sufficient storage space. The standard deviation of the data growth rate for the first drive is:

[0090] Where Hgrsd represents the standard deviation of the data growth rate. g represents the number of sampling periods. I This represents the data growth rate during the I-th data collection period. The standard deviation of the data growth rate, representing the average growth rate, helps to avoid performance degradation or data loss due to insufficient storage space.

[0091] In some embodiments of this disclosure, space utilization is predicted based on the following steps: predicting the space utilization of each first drive letter among multiple drive letters according to second data in the hardware resource data; wherein, the second data is data related to space capacity.

[0092] In one example, the second data includes used space and total space.

[0093] Alternatively, the space utilization rate can be calculated using the following formula: Sur i =Us i / Ts i Among them, Sur i Us represents the utilization rate of the i-th drive letter. i Ts represents the used space of the i-th drive letter. i This represents the total space of the i-th drive letter.

[0094] It should be noted that the i-th drive letter mentioned above can be the first drive letter.

[0095] In one example, the standard deviation of the space utilization of the first drive is determined by the space utilization rate and the average space utilization rate of the first drive, based on the number of drive letters; wherein the average space utilization rate is determined based on the space utilization rate of each first drive letter among the multiple drive letters; and the standard deviation of the space utilization rate of the first drive letter is used as the storage requirement indicator of the first drive letter.

[0096] Alternatively, the standard deviation of space utilization can be calculated using the following formula:

[0097] Where Susd represents the standard deviation of drive space utilization, k represents the number of partitions, and u i This represents the space utilization rate of the i-th drive letter. This represents the average space utilization rate, such as determining the average space utilization rate by measuring the space utilization rate of the first drive letter in each of multiple drive letters. By monitoring the standard deviation of space utilization rate, problems with uneven space allocation can be detected in a timely manner, and measures can be taken to adjust them, thereby improving space utilization. It should be noted that the number of partitions can be the number of drive letters.

[0098] In some embodiments of this disclosure, the access pattern entropy is predicted based on the following steps: determining multiple access patterns for the first drive letter based on the application load data; determining the density of each first access pattern among the multiple access patterns; wherein the density of the first access pattern is determined based on the following steps: determining the access time, access frequency, and access path of the first access pattern; counting the first number of access times exceeding a first threshold, the second number of access frequencies exceeding a second threshold, and the third number of access paths exceeding a third threshold, respectively; determining the density based on a weighted calculation of the first number, the second number, and the third number; and determining the first access pattern entropy based on the density of the first access pattern and the number of multiple access patterns.

[0099] In this embodiment, access logs are parsed and processed using log analysis tools, including access time, access frequency, access path, etc., and then access pattern entropy is calculated.

[0100] Alternatively, the access mode entropy can be calculated using the following formula:

[0101] Where Ame represents the access pattern entropy, G represents the number of access pattern types, and A g This represents the density of the g-th access mode.

[0102] In one example, the density of access patterns can be determined based on the following steps: Within the sampling period, the first number T of access times exceeding the first threshold is counted. g (That is, the first number of times the access frequency exceeds the threshold during a period of frequent access), and the second number of times the access frequency exceeds the second threshold F. g (That is, the second number of times a data block exceeding the threshold is accessed frequently) and the third number M of access paths exceeding the third threshold. g(That is, the third time a frequently accessed path exceeds a threshold) is determined by a weighted calculation using the corresponding weights w1, w2, and w3. w1+w2+w3=1, max(T), max(F) and max(M) are the maximum values ​​of the first, second and third numbers in various access models, respectively. The analysis of access pattern entropy can reveal the access patterns and hot spots of data, thereby optimizing the data storage layout and access strategy. For example, storing data that is frequently accessed together on the same drive can reduce drive I / O operations and improve the efficiency of data access.

[0103] The following is a detailed description of step 103 (i.e., allocating storage space to the first drive letter based on the storage demand index of the first drive letter).

[0104] In one embodiment of this disclosure, the mapping relationship between storage demand indicators and storage space can be determined in advance, and then storage space can be allocated to the first drive according to the storage demand indicators of the first drive.

[0105] Specifically, cloud computing capabilities are used to intelligently allocate user storage needs. Based on the demand assessment results, the results are used as input for the space allocation strategy. Storage space is allocated based on at least one of the data type diversity index, data growth rate, space utilization rate, and access pattern entropy obtained from the demand assessment. This can more efficiently and flexibly respond to different data storage needs and ensure that storage resources can meet the needs of future business development.

[0106] In one embodiment of this disclosure, allocating storage space to a first drive based on its storage demand index includes: determining a reserved space ratio for the first drive based on the standard deviation of its space utilization rate; wherein the reserved space ratio for the first drive is determined based on the reserved space and total space of the first drive; and allocating storage space to the first drive based on the reserved space ratio for the first drive.

[0107] In one example, based on the standard deviation of the space utilization rate of the first drive letter, future storage needs are predicted, and the required reserved storage space is determined. For example, recently active data is stored on high-performance storage devices, while historical data is stored on lower-cost storage devices. By analyzing the drive letter space utilization rate, the space reservation ratio Srr is obtained. i .

[0108] Optionally, the space reservation ratio can be calculated using the following formula: Srr i =Rs i / Ts i Among them, Srr i Rs represents the proportion of reserved space for the i-th drive letter. iTs represents the reserved space for the i-th drive letter. i This represents the total space of the i-th drive letter, which helps ensure that the system can maintain stable performance when faced with uncertain demands.

[0109] In one embodiment of this disclosure, allocating storage space to a first drive letter based on the storage demand index of the first drive letter includes: determining a data migration cost index of the first drive letter based on the entropy values ​​of each first access mode; and migrating data to the first drive letter based on the data migration cost index of the first drive letter in order to allocate storage space to the first drive letter.

[0110] In one example, based on the access pattern entropy obtained from the demand assessment results, for data with complex access patterns and high entropy values, the cache capacity and hit rate are increased to reduce direct access to storage devices; for data with simple access patterns and low entropy values, the investment in cache resources can be appropriately reduced; by analyzing and predicting the access patterns of the data, hot data is migrated to multiple storage drives to balance the load pressure of each drive.

[0111] Alternatively, the data migration cost index can be calculated using the following formula:

[0112] Where Dmc represents the data migration cost index, b ss L c represents the cost consumption ratio of the ss-th data migration in the L-th data migration. The cost consumption ratio is the proportion of a specific cost to the total cost. ss L This represents the ss-th cost weight coefficient in the L-th data migration, where m represents the number of cost types and M represents the number of data migrations. Data migration costs include time costs, bandwidth costs, and labor costs. For example, the time required for data migration, the network bandwidth used, the personnel involved, and their working hours can be recorded.

[0113] In one embodiment of this disclosure, the method further includes: determining a first allocation strategy efficiency index based on the storage demand index of the first drive letter; determining whether the first allocation strategy efficiency index meets a fourth threshold; and if it does, allocating storage space to the first drive letter based on the first allocation strategy efficiency index.

[0114] In one example, based on the results of the demand assessment, while ensuring that the storage needs of each application or service are met, efficient utilization of storage resources is achieved, and storage resources are evenly distributed across multiple drives. The effectiveness of multi-drive space allocation is evaluated, and the efficiency index of its first allocation strategy is: Fr = Tfs / Tds,

[0115] Where Fr represents the fragmentation rate, Tfs represents the total fragmentation caused by data migration, deletion, and modification, Tds represents the total fragmentation space, Aei represents the efficiency index of the first allocation strategy, and Srr represents the fragmentation rate. i This represents the proportion of reserved space for the i-th drive letter. By calculating and evaluating the efficiency index of the first allocation strategy, the allocation strategy can be continuously optimized and improved to enhance resource utilization efficiency and system performance.

[0116] It should be noted that in the above formula, through This reflects the positive contribution of reserved space to resource allocation, while a penalty term (1-Srri) is used to suppress storage resource waste caused by excessive reserved space. The combination of these two measures ensures that the efficiency index reaches its optimum when the reserved space ratio is within a moderate range, thus allowing for a more reasonable evaluation of the overall efficiency of the allocation strategy index.

[0117] After migrating data to the first drive based on the data migration cost index, the method includes: obtaining the actual increase in data volume of the first drive, and migration data during the data migration process of the first drive; wherein, the migration data includes at least one of the following: migration duration data, migration count data, and migration response time data; determining whether the storage space allocated to the first drive meets the actual increase in data volume; if not, determining a dynamic adjustment index based on the migration data; and migrating data to the first drive based on the dynamic adjustment index to allocate storage space to the first drive.

[0118] In one example, the dynamic adjustment index is obtained by retrieving migration data during the dynamic adjustment process from the data migration log.

[0119] Here, migration duration data can be the time data from the start to the end of the migration operation; migration count data can include: the number of successful data migrations and the total number of data migrations.

[0120] Alternatively, the dynamically adjusted index can be determined based on the following steps: Dai=d1(Smn / Tmn)+d2[1-Ct / (Rt+Ct)] Here, Smn represents the number of successful data migrations, Tmn represents the total number of data migrations, Ct represents the time from the start to the end of the migration operation, Rt represents the data migration request response time, and d1 and d2 represent the factors affecting data migration and data migration time, respectively. By monitoring the usage and performance of storage resources in real time, potential problems and risks can be identified promptly, and adjustments and optimizations can be made quickly. This helps ensure the stability and availability of the system and reduces business losses caused by system failures.

[0121] In one example, data migration to the first drive is performed based on a dynamic adjustment index to allocate storage space to the first drive, including: determining whether the dynamic adjustment index meets a fifth threshold; if it does, then data migration to the first drive is performed based on the dynamic adjustment index to allocate storage space to the first drive.

[0122] In this example, data migration is performed on the first drive again only when the dynamic adjustment index meets the fifth threshold, so as to allocate storage space to the first drive.

[0123] After migrating data to the first drive according to the dynamic adjustment index to allocate storage space to the first drive, the method further includes: determining whether the dynamic adjustment index meets the fifth threshold; if not, re-determining the efficiency index of the second allocation strategy, and allocating storage space to the first drive according to the efficiency index of the second allocation strategy, until the storage space allocated to the first drive meets the actual increase in the amount of data stored.

[0124] In this example, when the dynamic adjustment index does not meet the fifth threshold, the above steps are repeated to determine the allocation strategy efficiency index (i.e., the second allocation strategy efficiency index), and storage space is reallocated to the first drive according to the second allocation strategy efficiency index until the storage space allocated to the first drive can store the actual increase in data volume.

[0125] In one example, allocating storage space to the first drive letter based on its storage demand metrics may include the following steps: Step 1: Storing different types of data on the corresponding drive letters based on the data type diversity index. That is, allocating storage space corresponding to different data types to the first drive letter based on the data type diversity index.

[0126] For example, structured data can be stored in relational databases, while unstructured data such as videos and images can be stored in object storage or distributed file systems.

[0127] Step 2: Allocate the corresponding storage space to the first drive letter according to the access mode entropy.

[0128] Here, storage space can be allocated according to the value of access pattern entropy. For data with complex access patterns and high entropy (i.e., high access pattern entropy, such as access pattern entropy greater than a preset threshold), the cache capacity and hit rate can be increased to reduce direct access to storage devices. For data with simple access patterns and low entropy, the investment in cache resources can be appropriately reduced.

[0129] By analyzing and predicting data access patterns, hot data is migrated to multiple storage drives to balance the load on each drive. The data migration cost index is:

[0130] Where Dmc represents the data migration cost, b ss L c represents the cost consumption ratio of the ss-th data migration in the L-th data migration. The cost consumption ratio is the proportion of a specific cost to the total cost. ss L This represents the ss-th cost weight coefficient in the L-th data migration, where m represents the number of cost types and M represents the number of data migrations. Data migration costs include time costs, bandwidth costs, and labor costs. For example, the time required for data migration, the network bandwidth used, the personnel involved, and their working hours can be recorded.

[0131] Step 3: Allocate corresponding storage space to the first drive based on the standard deviation of the data growth rate.

[0132] Predicting future storage needs requires reserving storage space. For example, storing recently active data on high-performance storage devices and storing historical data on lower-cost storage devices. By analyzing disk space utilization, the space reservation ratio (Srr) can be obtained. i The space reservation ratio model is: Srri = Rsi / Tsi, where Srri represents the reserved space ratio of the i-th drive, Rsi represents the reserved space of the i-th drive, and Tsi represents the total space of the i-th drive. This helps to ensure that the system can maintain stable performance when facing uncertain demands. Step 4: Calculate the space usage of each drive in the environment using the target storage system's monitoring tools, including used space and free space. To prepare for sudden demand or future growth, reserve storage space on each drive in advance, and then calculate the standard deviation of drive space utilization.

[0133] Where Susd represents the standard deviation of drive space utilization, k represents the number of partitions, and ui represents the space utilization of the i-th drive. This represents the average space utilization rate. By monitoring the standard deviation of the space utilization rate, we can promptly identify problems of uneven space allocation and take measures to adjust it in order to improve space utilization. Step 5: Determine the efficiency index of the first allocation strategy based on the data type diversity index, data growth rate, space utilization rate, and access pattern entropy.

[0134] In one example, the efficiency index of the first allocation strategy can be determined by the following formula: Fr=Tfs / Tds

[0135] Where Fr represents the fragmentation rate, Tfs represents the total fragmentation caused by data migration, deletion, and modification, Tds represents the total fragmentation space, and Aei represents the allocation strategy efficiency index. By calculating and evaluating the allocation strategy efficiency index, the allocation strategy can be continuously optimized and improved, thereby increasing resource utilization efficiency and system performance; Srr i =Rs i / Ts i Srr i Rs represents the reserved space for drive letter i. i Ts represents the reserved space for the i-th drive letter. i This represents the total space of the i-th drive letter. Where Dmc represents the data migration cost index, b ss L c represents the cost consumption ratio of the ss-th data migration in the L-th data migration. The cost consumption ratio is the proportion of a specific cost to the total cost. ss L This represents the ss-th cost weight coefficient in the L-th data migration, where m represents the number of cost types and M represents the number of data migrations. Data migration costs include time costs, bandwidth costs, and labor costs.

[0136] It should be noted that in the above formula, through This reflects the positive contribution of reserved space to resource allocation, while a penalty term (1-Srri) is used to suppress storage resource waste caused by excessive reserved space. The combination of these two measures ensures that the efficiency index reaches its optimum when the reserved space ratio is within a moderate range, thus allowing for a more reasonable evaluation of the overall efficiency of the allocation strategy index.

[0137] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should know that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps may be performed in other orders or simultaneously.

[0138] Secondly, those skilled in the art should also know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by this disclosure.

[0139] The technical solutions of this disclosure will be further described in detail below with reference to specific application embodiments.

[0140] This disclosure provides a method for allocating storage space, which may include the following steps: Step 1: Obtain hardware resource data, application load data, and user behavior data through various means such as monitoring tools, application logs, and user behavior analysis tools for the target storage system. Hardware resource data includes the capacity, used space, and remaining space of multiple drives, as well as the read / write speed and number of I / O requests for each drive. Application load data includes drive access patterns for different applications or services, including read / write ratio, access frequency, and access time. User behavior data includes the user's access time, access frequency, and data type of the target storage system, as well as the response time of the target storage device.

[0141] Step 1.1: Preprocess the acquired data: Preprocessing includes deleting records with a large number of missing values, filling in missing values, removing duplicate data by comparing unique identifiers in the records, identifying and correcting erroneous data through preset data validation rules, and data standardization to ensure that the data is accurate.

[0142] Step 1.2: Evaluate the quality of the preprocessed data to measure the completeness of data collection, the timeliness of data collection, and the accuracy of data.

[0143] Step 1.3: Conduct a comprehensive analysis of the data quality to obtain evaluation indicators for the collected data.

[0144] Step 2: Analyze the collected data using cloud computing capabilities. Real-time monitoring of I / O request distribution can help understand the load of multiple drives over different time periods, identify hot data (i.e., frequently accessed data), and the growth of data. This helps to store such data on drives with higher performance. Understanding the data growth rate of different types of data helps to predict future storage space needs, thereby allowing for advance planning of drive expansion or optimization of the storage architecture.

[0145] Step 2.1: Use the monitoring tools of the target storage system to record the number of I / O requests received by each drive and their (read / write) data over a period of time (e.g., one hour), and obtain the percentage of I / O requests (read / write) for each drive.

[0146] Step 2.2: By querying the database logs, identify the frequently accessed hot data in the storage system, and calculate the proportion of these hot data Hd to the total data volume Td to obtain the hot data identification rate.

[0147] Step 2.3: Monitor and record the data growth rate of structured, semi-structured, and unstructured data (such as images, videos, log files, etc.) on each drive. Since unstructured data usually occupies a large amount of storage space and grows rapidly, this data is crucial for assessing storage needs. The data growth rate of unstructured data.

[0148] Step 2.4: Using the target storage system's monitoring tools, obtain the capacity, used space, and remaining space data for multiple drives to determine the space utilization rate of each drive. i =Usi / Tsi, where Suri represents the utilization rate of the i-th drive, Usi represents the used space of the i-th drive, and Tsi represents the total space of the i-th drive.

[0149] Step 3: Use cloud computing capabilities to conduct demand assessment on the analyzed data. Use the data obtained in the data analysis phase as input for demand assessment to predict the growth trend and complexity changes of future storage demand. This helps enterprises plan storage space in advance and avoid resource waste or business interruption caused by insufficient or excessive storage space.

[0150] Step 3.1: Classify hot data by using data classification algorithms to identify different types of data (such as structured, semi-structured, and unstructured data), and calculate the proportion of each type of data to obtain the data type diversity index.

[0151] Step 3.2: Collect records of data growth rate through the file system database, and then use statistical methods to calculate the standard deviation of these data growth rates. This helps to predict future storage needs, thereby allowing for advance planning and preparation of sufficient storage space.

[0152] Step 3.3: Use log analysis tools to parse and process access logs, including access time, access frequency, access path, etc., and then calculate access pattern entropy.

[0153] Step 4: Intelligent allocation of user storage needs through cloud computing capabilities. Based on the demand assessment results, the results are used as input for the space allocation strategy. Storage space is allocated based on the data type diversity index, data growth rate, and computing access pattern entropy obtained from the demand assessment. This can more efficiently and flexibly respond to different data storage needs. Enterprises can more rationally plan the procurement, deployment, and upgrade of storage resources to ensure that storage resources can meet the needs of future business development.

[0154] Step 4.1: Based on the data type diversity index obtained from the requirements assessment, store different types of data on the storage drives most suitable for their characteristics, according to the diversity of data types. For example, structured data can be stored in a relational database, while unstructured data such as videos and images can be stored in object storage or a distributed file system.

[0155] Step 4.2: Based on the access pattern entropy obtained from the demand assessment results, for data with complex access patterns and high entropy values, increase the cache capacity and hit rate to reduce direct access to storage devices; for data with simple access patterns and low entropy values, the investment in cache resources can be appropriately reduced; by analyzing and predicting the access patterns of the data, hot data is migrated to multiple storage drives to balance the load pressure of each drive.

[0156] Step 4.3: Based on the standard deviation of the growth rate of the demand assessment data, predict future storage demand and the storage space that needs to be reserved.

[0157] Step 4.4: Calculate the space usage of each drive letter or drive letter partition in the environment using the monitoring tools of the target storage system, including used space, free space, etc. In order to cope with sudden demand or future growth, reserve storage space on each drive letter in advance, and then calculate the standard deviation of drive letter space utilization.

[0158] Step 4.5: Based on the results of the demand assessment, while ensuring that the storage needs of each application or service are met, achieve efficient utilization of storage resources, ensure that storage resources are evenly distributed across multiple drives, and evaluate the effectiveness of multi-drive space allocation.

[0159] Step 5: Leveraging cloud computing capabilities, dynamically adjust storage resource allocation based on actual data growth. When the actual data growth exceeds expected demand assessments, migrate data promptly according to the dynamic adjustment index below. This index is based on the value after all data migration. If the value is greater than a certain threshold, space allocation is completed; if the value is less than or equal to a certain threshold, adjustments are made according to the allocation strategy efficiency index in Step 4.5 until the new reserved space meets the actual data growth. Then, storage resources are allocated based on the new reserved space. When the actual data growth falls short of expected demand assessments, optimize storage resource configuration. This includes automatic expansion, data migration, and optimized storage configuration to ensure efficient utilization of storage resources and stable application operation.

[0160] Step 5.1: Exceeding expectations, obtain the number of data migrations and the data migration time during the dynamic adjustment process through the data migration log to obtain the dynamic adjustment index.

[0161] Figure 2 A block diagram of a storage space allocation device 200 provided in an embodiment of this disclosure. (See diagram below.) Figure 2As shown, the device 200 includes: an acquisition module 201, configured to acquire first historical service data of multiple drives in response to receiving a storage space allocation request; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types; a prediction module 202, configured to predict the storage demand index of each first drive among the multiple drives based on the first historical service data; wherein the storage demand index of the first drive includes at least one of the following: data type diversity index, data growth rate, space utilization rate, and access mode entropy; and an allocation module 203, configured to allocate storage space to the first drives based on the storage demand index of the first drives.

[0162] In some embodiments of this disclosure, the data type diversity index is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on user behavior data; determining the identification rate of hot data stored on the first drive letter based on first data in hardware resource data; wherein the first data is data related to I / O requests; determining the proportion of each data type in the hot data; and predicting the data type diversity index based on the proportion of each type of data in the hot data.

[0163] In some embodiments of this disclosure, determining the identification rate of hotspot data stored on the first drive letter based on the first data includes: determining the proportion of I / O requests to the first drive letter in different time periods based on the first data; determining the total hotspot data stored on the first drive letter based on the proportion of I / O requests to the first drive letter in different time periods; and determining the identification rate of hotspot data stored on the first drive letter based on the total hotspot data and the total data volume of the first drive letter.

[0164] In some embodiments of this disclosure, the data growth rate is predicted based on the following steps: determining multiple data types stored on each first drive letter among multiple drive letters based on user behavior data; determining a first quantity of each first data type stored on the first drive letter within a first sampling period; and determining a second quantity of the first data type stored on the first drive letter within a second sampling period; wherein the second sampling period is the previous sampling period of the first sampling period; and predicting the data growth rate of the first data type based on the first quantity and the second quantity.

[0165] In some embodiments of this disclosure, the method further includes: determining the standard deviation of the data growth rate of the first data type based on the total sampling period corresponding to the first historical service data, the data growth rate of the first data type, and the average growth rate; wherein the total sampling period includes the first sampling period and the second sampling period; the average growth rate is determined based on the data growth rate of each first disk in the plurality of disks; and using the standard deviation of the data growth rate of the first data type as a storage requirement indicator for the first disk.

[0166] In some embodiments of this disclosure, the space utilization rate is predicted based on the following steps: predicting the space utilization rate of each first drive letter among multiple drive letters according to second data in the hardware resource data; wherein, the second data is data related to space capacity.

[0167] In some embodiments of this disclosure, the method further includes: determining the standard deviation of the space utilization rate of the first drive letter based on the number of multiple drive letters, the space utilization rate of the first drive letter, and the average space utilization rate; wherein the average space utilization rate is determined based on the space utilization rate of each first drive letter among the multiple drive letters; and using the standard deviation of the space utilization rate of the first drive letter as a storage requirement indicator of the first drive letter.

[0168] In some embodiments of this disclosure, allocating storage space to the first drive letter based on the storage demand index of the first drive letter includes: determining the reserved space ratio of the first drive letter based on the standard deviation of the space utilization rate of the first drive letter; wherein the reserved space ratio of the first drive letter is determined based on the reserved space and total space of the first drive letter; and allocating storage space to the first drive letter based on the reserved space ratio of the first drive letter.

[0169] In some embodiments of this disclosure, the access pattern entropy is predicted based on the following steps: determining multiple access patterns for a first drive letter based on application load data; determining the density of each first access pattern among the multiple access patterns; wherein the density of the first access pattern is determined based on the following steps: determining the access time, access frequency, and access path of the first access pattern; counting the first number of access times exceeding a first threshold, the second number of access frequencies exceeding a second threshold, and the third number of access paths exceeding a third threshold; determining the first access pattern entropy based on the first, second, and third counts; and determining the first access pattern entropy based on the density of the first access pattern and the number of multiple access patterns.

[0170] In some embodiments of this disclosure, allocating storage space to the first drive letter based on the storage demand index of the first drive letter includes: determining the data migration cost index of the first drive letter based on the entropy value of each first access mode; and performing data migration on the first drive letter based on the data migration cost index of the first drive letter in order to allocate storage space to the first drive letter.

[0171] In some embodiments of this disclosure, the method further includes: determining a first allocation strategy efficiency index based on the storage demand index of the first drive letter; determining whether the first allocation strategy efficiency index meets a fourth threshold; and if it does, allocating storage space to the first drive letter based on the first allocation strategy efficiency index.

[0172] In some embodiments of this disclosure, after migrating data to the first drive based on the data migration cost index of the first drive, the method includes: obtaining the actual increase in data volume of the first drive, and migration data during the data migration process of the first drive; wherein the migration data includes at least one of the following: migration duration data, migration count data, and migration response time data; determining whether the storage space allocated to the first drive meets the actual increase in data volume; if not, determining a dynamic adjustment index based on the migration data; and migrating data to the first drive based on the dynamic adjustment index to allocate storage space to the first drive.

[0173] In some embodiments of this disclosure, data migration of the first drive letter is performed according to a dynamic adjustment index to allocate storage space to the first drive letter, including: determining whether the dynamic adjustment index meets a fifth threshold; if it does, data migration of the first drive letter is performed according to the dynamic adjustment index to allocate storage space to the first drive letter.

[0174] In some embodiments of this disclosure, after migrating data to the first drive according to the dynamic adjustment index to allocate storage space to the first drive, the method further includes: determining whether the dynamic adjustment index meets a fifth threshold; if not, re-determining the efficiency index of the second allocation strategy, and allocating storage space to the first drive according to the efficiency index of the second allocation strategy, until the storage space allocated to the first drive meets the actual increase in the amount of data stored.

[0175] In some embodiments of this disclosure, obtaining first historical service data for multiple drive letters includes: obtaining second historical service data for multiple drive letters; determining data quality indicators for the second historical service data; and using data from the second historical service data that meets the data quality indicators as first historical service data.

[0176] In some embodiments of this disclosure, the data quality indicators include at least one of the following: data integrity indicator, data timeliness indicator, and data accuracy indicator.

[0177] In some embodiments of this disclosure, determining the data quality indicators of the second historical service data includes: determining the data integrity indicator, the data timeliness indicator, and the data accuracy indicator of the second historical service data; and determining the data quality indicators based on the data integrity indicator and its corresponding first weight, the data timeliness indicator and its corresponding second weight, and the data accuracy indicator and its corresponding third weight.

[0178] In some embodiments of this disclosure, the sum of the first weight, the second weight, and the third weight is 1.

[0179] Figure 3 This is a block diagram of an electronic device 300 for implementing the above-described storage space allocation method, provided as an embodiment of the present disclosure.

[0180] Based on the hardware implementation of the above program modules, and in order to implement the method of this disclosure embodiment, this disclosure embodiment also provides an electronic device, such as... Figure 3 As shown, the electronic device 300 includes: The communication interface 301 enables information exchange with other devices; The processor 302 is connected to the communication interface 301 to enable information interaction with other devices and to execute the methods provided by one or more of the above-mentioned technical solutions when running a computer program; The computer program is stored in memory 303.

[0181] Specifically, the processor 302 can be used to acquire feedback data on the historical behavior of a first object among multiple objects in relation to the target product; wherein the historical behavior includes using the target product or not using the target product; determine the resistance level of the first object to the target product based on the feedback data, and determine the acceptance level of the first object to the target product; determine the objects to be recommended corresponding to the target product based on the resistance level and the acceptance level, and recommend products to the objects to be recommended corresponding to the target product.

[0182] It should be noted that the specific processing procedure of processor 302 can be understood by referring to the above method.

[0183] Of course, in practical applications, the various components in electronic device 300 are coupled together through bus system 304. It can be understood that bus system 304 is used to realize the connection and communication between these components. In addition to a data bus, bus system 304 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in... Figure 3 The general designated all buses as Bus System 304.

[0184] The memory 303 in this embodiment is used to store various types of data to support the operation of the electronic device 300. Examples of such data include any computer program used to operate on the electronic device 300.

[0185] The methods disclosed in the above embodiments of this disclosure can be applied to or implemented by processor 302. Processor 302 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 302 or by instructions in software form. The first processor 302 mentioned above may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 302 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this disclosure can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 303. Processor 302 reads the information in memory 303 and combines its hardware to complete the steps of the aforementioned method.

[0186] In an exemplary embodiment, the electronic device 300 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.

[0187] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 303 including instructions, which can be executed by a processor 302 of an electronic device 300 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0188] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the above embodiments of this disclosure.

[0189] Embodiments of this disclosure also propose a chip, such as Figure 4 As shown, the chip includes a processor and an interface. The number of processors can be one or more, and the number of interfaces can be multiple. The interface circuitry is used to receive signals from the electronic device's memory and send signals to the processor. The signals include computer instructions stored in the memory. When the processor executes the computer instructions, it causes the electronic device to perform the methods described in the above embodiments of this disclosure.

[0190] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.

[0191] It should be understood that the terms "system," "apparatus," "unit," and / or "module" used in this disclosure are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.

[0192] As indicated in this disclosure and the claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" are not specifically singular and may include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements. An element defined by the phrase "comprising an..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes the element.

[0193] In the description of the embodiments of this disclosure, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this disclosure, "multiple" refers to two or more.

[0194] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0195] Flowcharts are used in this disclosure to illustrate the operations performed by a system according to embodiments of this disclosure. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.

[0196] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0197] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.

[0198] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (control method), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic device, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0199] It should be understood that various parts of the embodiments of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0200] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

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

[0202] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for allocating storage space, characterized in that, The method includes: In response to receiving a storage space allocation request, the system obtains first historical service data for multiple drive letters; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types; Based on the first historical service data, predict the storage demand indicators of each first drive in the multiple drives; wherein, the storage demand indicators of the first drive include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access pattern entropy; Allocate storage space to the first drive based on the storage requirement index of the first drive.

2. The method according to claim 1, characterized in that, The data type diversity index is predicted based on the following steps: Based on the user behavior data, determine the various data types stored on the first drive letter among multiple drive letters; The identification rate of hotspot data stored on the first drive letter is determined based on the first data in the hardware resource data; wherein, the first data is data related to I / O requests; Determine the proportion of each data type in the hot data; The data type diversity index is predicted based on the proportion of each type of data in the hot data and the identification rate of hot data.

3. The method according to claim 2, characterized in that, The step of determining the recognition rate of hotspot data stored on the first drive letter based on the first data includes: The percentage of I / O requests for the first drive letter in different time periods is determined based on the first data. The total hotspot data stored on the first drive letter is determined based on the proportion of I / O requests to the first drive letter in different time periods; The recognition rate of hotspot data stored on the first drive is determined based on the total hotspot data and total data volume of the first drive.

4. The method according to claim 1, characterized in that, The data growth rate is predicted based on the following steps: Based on the user behavior data, determine the various data types stored on the first drive letter among multiple drive letters; Determine the first quantity of each first data type stored in the first disk within the first sampling period among multiple data types; as well as Determine the second quantity of the first data type stored in the first drive within the second sampling period; wherein the second sampling period is the previous sampling period of the first sampling period; Predict the data growth rate of the first data type based on the first quantity and the second quantity.

5. The method according to claim 4, characterized in that, The method further includes: The standard deviation of the data growth rate of the first data type is determined based on the total sampling period corresponding to the first historical service data, the data growth rate of the first data type, and the average growth rate; wherein, the total sampling period includes a first sampling period and a second sampling period; the average growth rate is determined based on the data growth rate of each first drive in the plurality of drives; The standard deviation of the data growth rate of the first data type is used as the storage requirement indicator for the first drive.

6. The method according to claim 1, characterized in that, Space utilization rate is predicted based on the following steps: The space utilization rate of each first drive letter among multiple drive letters is predicted based on the second data in the hardware resource data; wherein, the second data is data related to space capacity.

7. The method according to claim 6, characterized in that, The method further includes: Based on the number of multiple drive letters, the standard deviation of the space utilization rate of the first drive letter is determined by the space utilization rate of the first drive letter and the average space utilization rate; wherein, the average space utilization rate is determined based on the space utilization rate of each first drive letter among the multiple drive letters; The standard deviation of the space utilization rate of the first drive is used as the storage requirement index of the first drive.

8. The method according to claim 7, characterized in that, The step of allocating storage space to the first drive letter based on the storage requirement index of the first drive letter includes: The reserved space ratio of the first drive is determined based on the standard deviation of the space utilization rate of the first drive; wherein, the reserved space ratio of the first drive is determined based on the reserved space and the total space of the first drive; Allocate storage space to the first drive letter according to the proportion of the reserved space of the first drive letter.

9. The method according to claim 1, characterized in that, Access pattern entropy is predicted based on the following steps: Based on the application load data, determine multiple access modes for the first drive letter; The density of each first access mode among multiple access modes is determined; wherein, the density of the first access mode is determined based on the following steps: determining the access time, access frequency, and access path of the first access mode; counting the first number of access times exceeding a first threshold, the second number of access frequencies exceeding a second threshold, and the third number of access paths exceeding a third threshold; and determining the density based on a weighted calculation of the first number, the second number, and the third number. The entropy of the first access pattern is determined based on the density of the first access pattern and the number of multiple access patterns.

10. The method according to claim 9, characterized in that, The step of allocating storage space to the first drive letter based on the storage requirement index of the first drive letter includes: The data migration cost index with the first drive letter is determined based on the entropy value of each of the first access modes. Data migration is performed on the first drive based on the data migration cost index of the first drive in order to allocate storage space to the first drive.

11. The method according to any one of claims 1-10, characterized in that, The method further includes: The efficiency index of the first allocation strategy is determined based on the storage demand index of the first drive letter. Determine whether the efficiency index of the first allocation strategy meets the fourth threshold; If the requirements are met, storage space is allocated to the first drive letter based on the storage requirement index of the first drive letter.

12. The method according to claim 11, characterized in that, After migrating data to the first drive based on the data migration cost index of the first drive, the method includes: Obtain the actual increase in data volume of the first drive letter, and the migration data during the data migration process of the first drive letter; wherein, the migration data includes at least one of the following: migration duration data, migration count data, and migration response time data; Determine whether the storage space allocated to the first drive letter is sufficient to store the actual increase in data volume; If the conditions are not met, a dynamic adjustment index is determined based on the migration data. Data migration is performed on the first drive letter according to the dynamic adjustment index to allocate storage space to the first drive letter.

13. The method according to claim 12, characterized in that, The step of migrating data to the first drive letter according to the dynamic adjustment index to allocate storage space to the first drive letter includes: Determine whether the dynamic adjustment index meets the fifth threshold; If the conditions are met, data migration is performed on the first drive letter according to the dynamic adjustment index to allocate storage space to the first drive letter.

14. The method according to claim 13, characterized in that, After migrating data to the first drive letter according to the dynamically adjusted index to allocate storage space to the first drive letter, the method further includes: Determine whether the dynamic adjustment index meets the fifth threshold; If the requirements are not met, the efficiency index of the second allocation strategy is redefined, and storage space is allocated to the first drive according to the efficiency index of the second allocation strategy until the storage space allocated to the first drive meets the actual increase in data volume.

15. The method according to claim 1, characterized in that, The acquisition of the first historical service data for multiple drive letters includes: Retrieve second historical service data for multiple drive letters; Determine the data quality indicators for the second historical service data; Data that meets the data quality indicators in the second historical service data is used as the first historical service data.

16. The method according to claim 15, characterized in that, The data quality indicators include at least one of the following: Data completeness indicators, data timeliness indicators, and data accuracy indicators.

17. The method according to claim 15, characterized in that, The data quality indicators for determining the second historical service data include: Determine the data integrity index, data timeliness index, and data accuracy index for the second historical service data; The data quality indicators are determined based on the data completeness indicator and its corresponding first weight, the data timeliness indicator and its corresponding second weight, and the data accuracy indicator and its corresponding third weight.

18. The method according to claim 17, characterized in that, The sum of the first weight, the second weight, and the third weight is 1.

19. A storage space allocation device, characterized in that, The device includes: The acquisition module is used to acquire first historical service data of multiple drive letters in response to receiving a storage space allocation request; wherein the first historical service data includes at least one of the following: hardware resource data, application load data, and user behavior data, wherein the hardware resource data includes at least data related to space capacity, the application load data includes at least data related to multiple access modes, and the user behavior data includes at least data related to multiple data types; The prediction module is used to predict the storage demand indicators of each first drive among multiple drives based on the first historical service data; wherein the storage demand indicators of the first drive include at least one of the following: data type diversity index, data growth rate, space utilization rate, and access pattern entropy. The allocation module is used to allocate storage space to the first drive letter according to the storage requirement index of the first drive letter.

20. An electronic device, characterized in that, include: One or more processors; A storage device communicatively connected to the one or more processors, wherein one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the method as described in any one of claims 1-18.

21. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-18.

22. A chip, characterized in that, The device includes one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processors, cause the electronic device to perform the method of any one of claims 1-18.