Data scheduling method and device, electronic equipment and storage medium
By evaluating the multi-dimensional performance indicators of transmission interfaces and storage devices and dynamically calculating candidate factors, the problem of irrational storage location decisions in traditional NAS systems is solved, and efficient utilization of storage devices and optimization of system response are achieved.
Patent Information
- Application Number
- CN202510577026.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-06
- Publication Date
- 2025-09-16
AI Technical Summary
In traditional NAS systems, the decision-making on data storage location is unreasonable, resulting in insufficient utilization of storage devices and delayed system response.
By evaluating the multi-dimensional performance indicators of transmission interfaces and storage devices, dynamically calculating candidate factors, and deciding whether to allocate data to high-efficiency storage devices or low-efficiency storage devices, elastic load balancing of storage resources is achieved.
Improves storage device utilization and system response efficiency, and optimizes data allocation decisions by comprehensively considering transmission performance and storage performance.
Smart Images

Figure CN120653425A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data storage technology, and in particular to a data scheduling method, device, electronic device and storage medium. Background Art
[0002] With the surge in data volume and the increasing demand for storage performance from applications, hybrid storage architectures are becoming increasingly popular in Network Attached Storage (NAS) systems. Traditional NAS systems provide centralized data storage and sharing services for multiple users and devices. They attempt to achieve a balance between performance and cost by combining the high performance of solid-state drives (SSDs) with the large capacity and low cost of hard-disk drives (HDDs). However, there are still technical issues such as an irrational process for deciding data storage locations, resulting in insufficient storage device utilization and delayed system response. Summary of the Invention
[0003] The present application provides a data scheduling method, device, electronic device and storage medium to at least solve the technical problem that the process of deciding the data storage location is unreasonable, resulting in insufficient storage device utilization and delayed system response.
[0004] The present application provides a data scheduling method, which includes: obtaining data to be allocated that is input into a storage system from a current transmission interface; wherein the storage system includes a first storage device and a second storage device, and the data processing efficiency of the first storage device is higher than the data processing efficiency of the second storage device; evaluating the transmission performance score of the current transmission interface; evaluating the storage performance score of the first storage device; weightedly fusing the transmission performance score and the storage performance score as a candidate factor for the first storage device; determining whether the candidate factor is higher than a candidate threshold; in response to the candidate factor being higher than the candidate threshold, allocating the data to be allocated to the first storage device; and in response to the candidate factor being lower than the candidate threshold, allocating the data to be allocated to the second storage device.
[0005] The present application also provides a data scheduling device, including: a monitoring module for obtaining performance indicators of a storage system; a calculation module for calculating a dynamic weight value of a first storage device based on the performance indicators; and an allocation module for determining whether the dynamic weight value of the first storage device falls within a preset threshold interval, and in response to falling into different preset threshold intervals, allocating input and output request data to the first storage device or the second storage device.
[0006] The present application also provides an electronic device, comprising a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned data scheduling methods when executing the computer program.
[0007] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned data scheduling methods are implemented.
[0008] When deciding whether to allocate the data to be allocated to the first storage device, the present application not only relies on the current storage performance of the first storage device represented by the storage performance score, but also takes into account the transmission performance of the current transmission interface, and realizes a multi-dimensional evaluation of the transmission and storage of the storage space selected for the data to be allocated, thereby improving the objectivity and comprehensiveness of the storage decision. At the same time, based on the matching mechanism of the candidate factor and the candidate threshold, according to the characteristics of the data to be allocated represented by the candidate factor calculated by the storage performance and transmission performance, it is verified whether the data to be allocated is suitable for allocation to the first storage device with higher data processing efficiency in theory. When the data to be allocated is not suitable for allocation to the first storage device, it is allocated to the second storage device, which is conducive to achieving elastic load balancing of storage resources and improving the utilization rate of the storage device. It solves the technical problem that the process of deciding the data storage location is unreasonable, resulting in insufficient utilization of the storage device and delayed system response. It can comprehensively consider the transmission performance and the storage performance of the first storage device, thereby improving the rationality of the allocation of the data to be allocated, and thus improving the utilization rate of the storage device. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0010] Figure 1 An application environment diagram of a data scheduling method provided in an embodiment of the present application;
[0011] Figure 2 A flowchart of a data scheduling method provided in an embodiment of the present application;
[0012] Figure 3 A flowchart of another data scheduling method provided in an embodiment of the present application;
[0013] Figure 4 A schematic diagram of a process for evaluating transmission performance scores provided in an embodiment of the present application;
[0014] Figure 5 A schematic diagram of a process for evaluating storage performance scores provided in an embodiment of the present application;
[0015] Figure 6 A flowchart of another data scheduling method provided in an embodiment of the present application;
[0016] Figure 7 A schematic diagram of the structure of a data scheduling device provided in an embodiment of the present application;
[0017] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0018] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0019] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0020] It should be noted that the terms "S1", "S2", etc. are used only for the purpose of describing the steps and do not specifically refer to the order or sequence, nor are they used to limit this application. They are merely for the convenience of describing the method of this application and should not be understood as indicating the order of the steps. In addition, the technical solutions between the various embodiments can be combined with each other, but this must be based on the fact that ordinary technicians in this field can implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0021] The code compilation method provided in this application can be applied to Figure 1 In the application environment shown, Figure 1 This diagram illustrates an application environment for a data scheduling method provided in an embodiment of the present application. Terminal 12 communicates with server 14 via a network. Terminal 12 may be, but is not limited to, various personal computers, laptops, smartphones, tablet computers, and portable wearable devices. Server 14 may be implemented as a standalone server or a server cluster consisting of multiple servers.
[0022] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0023] An embodiment of the present application provides a data scheduling method, and the method is described in detail in conjunction with the execution process of the data scheduling method.
[0024] In one embodiment, Figure 2 As shown, Figure 2 A flowchart of a data scheduling method provided in an embodiment of the present application.
[0025] S11: Acquire data to be allocated from a current transmission interface input into a storage system; wherein the storage system includes a first storage device and a second storage device, and the data processing efficiency of the first storage device is higher than that of the second storage device.
[0026] In this embodiment, the current transmission interface refers to the physical channel through which data is input into the storage system, and the data to be allocated is obtained through this transmission interface. It can also be any transmission interface in the storage system, where the storage system includes multiple transmission interfaces, and the data to be allocated corresponding to the transmission interface is obtained through any transmission interface.
[0027] The data to be allocated refers to a data unit whose storage location needs to be determined, that is, the data to be allocated obtained through the transmission interface.
[0028] Specifically, the data to be allocated that is input into the storage system through the transmission interface is obtained through one or more transmission interfaces in the storage system, so as to determine the storage device to which the data to be allocated needs to be allocated, wherein the storage device includes one or more first storage devices and one or more second storage devices, and the first storage device and the second storage device are both stored in the storage system. The data processing efficiency of the first storage device is higher than the data processing efficiency of the second storage device. Therefore, the first storage device is more suitable for storing high-value data to be allocated than the second storage device, such as data to be allocated that requires a stronger data processing speed and a higher access frequency, etc. The second storage device is more suitable for data to be allocated that has a lower data processing speed and a lower access frequency. Compared with the first storage device, it has the advantages of long data retention time and low data recovery cost.
[0029] S12: Evaluate the transmission performance score of the current transmission interface; evaluate the storage performance score of the first storage device; and weight the transmission performance score and the storage performance score as a candidate factor for the first storage device.
[0030] In this embodiment, the transmission performance score refers to a comprehensive, quantitative assessment of the transmission capabilities of the transmission interface; the storage performance score refers to a comprehensive, quantitative assessment of the storage capabilities of the first storage device. The transmission performance of the transmission interface is evaluated to obtain a transmission performance score, and the storage capabilities of the first storage device are evaluated to obtain a storage performance score. Furthermore, the obtained transmission performance scores and storage performance scores are weighted, and the weighted transmission performance scores and storage performance scores are used to determine the candidate factor for the first storage device.
[0031] The candidate factor is a quantitative evaluation value of the first storage device obtained by comprehensively evaluating the transmission performance of the transmission interface and the storage performance of the first storage device, and is used to reflect whether the first storage device is suitable for storing the data to be allocated corresponding to the transmission interface.
[0032] Furthermore, the comprehensive score of the storage capacity of multiple first storage devices in the storage system can be evaluated as a candidate factor for the first storage device to obtain the candidate factor for the first storage device in the storage system, and the overall storage capacity of the first storage device in the storage system can be evaluated for further decision-making on the data storage location to be allocated, so as to reduce the overhead of re-evaluating other first storage devices when the overall status of any of the first storage devices is poor.
[0033] S13: Determine whether the candidate factor is higher than the candidate threshold.
[0034] In this embodiment, if the candidate factor is higher than the candidate threshold, S141 is executed in response to the candidate factor being higher than the candidate threshold, and the data to be allocated is allocated to the first storage device; if the candidate factor is lower than the candidate threshold, S142 is executed in response to the candidate factor being lower than the candidate threshold, and the data to be allocated is allocated to the second storage device.
[0035] The candidate threshold is the dynamic decision boundary that determines the specific storage device to which the data to be allocated is allocated, and the critical value for storing the data on the first or second storage device. This candidate threshold is not a fixed value and can be adjusted based on the user's actual storage needs for the data to be allocated. The adjustment strategy is not limited here.
[0036] By comparing the candidate factor with the candidate threshold, a decision is made on which storage device to allocate the data to. This decision takes into account the transmission performance of the transmission interface and the storage performance of the first storage device, as well as the user's actual storage requirements for the data to be allocated. This objective, practical, and multi-dimensional decision on the storage location of the data to be allocated ensures an objective and comprehensive decision.
[0037] S14: In response to the candidate factor being higher than the candidate threshold, allocating the data to be allocated to the first storage device; in response to the candidate factor being lower than the candidate threshold, allocating the data to be allocated to the second storage device.
[0038] In this embodiment, according to the result of determining whether the candidate factor is higher than the candidate threshold in S13, the data to be allocated is allocated so that the data to be allocated is allocated to a storage location that meets the data characteristics and conforms to the transmission performance of the transmission interface and the storage performance of the storage device.
[0039] That is to say, when the candidate factor is higher than the candidate threshold, it can be considered that the cooperation between the first storage device and the current transmission interface has good performance feedback. When allocating the data to be allocated to the first storage device, the advantage of the higher data efficiency of the first storage device can be fully utilized, so the data to be allocated can be allocated to the first storage device.
[0040] When the candidate factor is lower than the candidate threshold, it can be considered that the performance feedback of the collaboration between the first storage device and the current transmission interface is poor, and is not yet suitable for completing the efficient processing of the data to be allocated. At this time, the data to be allocated can be directly allocated to the second storage device. According to the characteristics of the second storage device, such as long data retention time and low data recovery cost, the reliable storage of data can be ensured, or the low-frequency access required by the data to be allocated can be adapted.
[0041] In this embodiment, when deciding whether to allocate the data to be allocated to the first storage device, it not only relies on the current storage performance of the first storage device represented by the storage performance score, but also takes into account the transmission performance of the current transmission interface, thereby achieving a multi-dimensional evaluation of the transmission and storage of the storage space selected for the data to be allocated, thereby improving the objectivity and comprehensiveness of the storage decision. At the same time, based on the matching mechanism of the candidate factor and the candidate threshold, according to the characteristics of the data to be allocated represented by the candidate factor calculated by the storage performance and transmission performance, it is verified whether the data to be allocated is suitable for allocation to the first storage device with higher data processing efficiency in theory. When the data to be allocated is not suitable for allocation to the first storage device, it is allocated to the second storage device, which is conducive to achieving elastic load balancing of storage resources and improving the utilization rate of the storage device. It solves the technical problem that the process of deciding the data storage location is unreasonable, resulting in insufficient utilization of the storage device and delayed system response, and can comprehensively consider the transmission performance and storage performance of the first storage device, thereby improving the rationality of the allocation of the data to be allocated, thereby improving the utilization rate of the storage device.
[0042] In one embodiment, the performance of any first storage device can also be independently evaluated. Figure 3 , Figure 3 A flow chart of another data scheduling method provided in an embodiment of the present application further includes the following steps before evaluating the transmission performance of the current transmission interface:
[0043] S21: Monitor the overall performance indicators of the storage system and / or parameter indicators of any storage device.
[0044] In this embodiment, the monitored performance indicators and / or parameter indicator ranges include at least one of the interface parameter combination of the current transmission interface, the monitoring storage information combination, the evaluation hardware status parameters, the evaluation network status parameters or the statistical abnormal event parameters.
[0045] Among them, the interface parameter combination includes at least one of the unit transmission volume, interface throughput, and delay distribution, that is, not all of the above parameters are required. One combination can include unit transmission volume and interface throughput, and the second combination can include interface throughput, or include unit transmission volume, interface throughput and delay distribution. The specific parameters included to form the interface parameter combination are not restricted here.
[0046] IOPS (Input / Output Per Second) is a key performance metric for disk drives. IOPS refers to the number of I / O (input / output) requests a storage system can handle per unit time, typically measured in I / O requests per second. I / O requests are typically read or write data operations.
[0047] The storage system may be a Network Attached Storage (NAS) system, which is a dedicated network data storage server that provides centralized data storage and sharing services for multiple users and multiple devices.
[0048] Interface throughput is a key indicator of system performance, representing the maximum number of requests a storage system can handle per unit time. It reflects the storage system's stress tolerance and load capacity, specifically the maximum number of user accesses it can handle per second.
[0049] Latency distribution refers to the probability distribution of the time it takes for a storage system to process a request. It reflects the frequency of occurrence of different latency values. It can be used to calculate the average latency of the current transmission interface.
[0050] Furthermore, the storage information combination includes at least one of the storage space usage information of the first storage device, the storage space usage information of the second storage device, the storage fragmentation rate and the cache hit rate, that is, all of the above parameters are not required. One combination may include the storage space usage information of the first storage device, and the second combination may include the storage space usage information of the first storage device and the storage space usage information of the second storage device, or include the storage space usage information of the first storage device, the storage space usage information of the second storage device and the cache hit rate. There is no restriction on which specific parameters are included to form the storage information combination.
[0051] Among them, the first storage device can be a solid state drive (SSD), that is, a hard disk made of a solid-state electronic storage chip array, consisting of a control unit and a storage unit. Data is directly accessed through electronic signals, and has the advantage of fast reading and writing speeds.
[0052] The second storage device may be a mechanical hard disk (HDD), ie, a hard disk drive, which reads and writes data by moving a magnetic head on a rotating disk, and has a lower data processing efficiency than the first storage device.
[0053] The storage space usage information of the first storage device and the storage space usage information of the second storage device respectively refer to the currently used or unused capacity value and usage status of any first storage device or second storage device in the storage system.
[0054] The storage fragmentation rate refers to the degree of fragmentation of files stored in a storage device and is used to measure the continuity of data storage. A higher storage fragmentation rate indicates that files are divided into more discontinuous fragments. For the primary storage device, a high fragmentation rate affects storage performance; for the secondary storage device, the impact is less significant. If the storage fragmentation rate is high, the user can manually defragment the file. Alternatively, the user can set a fragmentation rate threshold, which automatically triggers defragmentation when the storage fragmentation rate exceeds the threshold.
[0055] The cache hit rate is an important metric for measuring storage device cache performance. It indicates how many cache hits occur among all cache accesses. A cache hit means that the required data is already in the cache when the cache is accessed, thus reducing further high-latency memory accesses.
[0056] Furthermore, the hardware status parameters include at least one of the disk life and the disk array status, that is, not all of the above parameters are required. One combination may include the disk life, and the second combination may include the disk life and the disk array status. There is no restriction on which specific parameters are included to form the hardware status parameters.
[0057] Among them, the disk usually refers to a storage device, including the first storage device or the second storage device; the disk life refers to the usable life span of the disk, and this information can be obtained directly from the disk. When the storage device is read and written, its life information will be counted.
[0058] RAID (Redundant Array of Independent Disks) states typically fall into three categories: normal (online), single volume offline (offline), and degraded. When in the offline state, data cannot be read or written; when in the degraded state, the disks can be used normally. A RAID is a redundant array of independent disks, a large disk system composed of multiple independent disks. Specifically, multiple primary storage devices or multiple secondary storage devices are combined to form a disk array, achieving better storage performance and higher reliability than a single disk.
[0059] Furthermore, the network status parameters include at least one of network bandwidth utilization, protocol overhead, and packet loss rate. The combination of the aforementioned parameters may include one, two, or all of the network status parameters, and the specific method is not limited here.
[0060] The network bandwidth utilization rate indicates the percentage of the currently used bandwidth to the theoretical maximum bandwidth.
[0061] Protocol overhead is a measure of the additional burden introduced by network transmission protocols.
[0062] Packet loss rate refers to the percentage of data packets lost during network transmission to the total number of packets sent. It is a key indicator for measuring network quality and stability.
[0063] Furthermore, the abnormal event parameters include at least one of the input / output error rate and the timeout request rate. The combination with the aforementioned parameters may include one, two, or all of the abnormal event parameters. The specific method is not limited here.
[0064] The input / output error rate refers to the ratio of data read / write failures.
[0065] The timeout request rate refers to the proportion of requests that exceed the preset time threshold.
[0066] Specifically, some or all of the above parameters can be obtained through global monitoring to achieve real-time acquisition of independent performance indicators of the storage system as a whole and each storage device to reflect the real-time performance of the current storage system as a whole and each storage device, so as to solve the technical problems of data stratification and media selection based only on single indicators such as historical access frequency, or the inability to adapt to dynamically changing workloads in real time, enhance the ability to perceive real-time performance indicators, and alleviate the performance bottleneck of the storage system.
[0067] In this embodiment, interface parameter combinations, storage information combinations, hardware status parameters, network status parameters and abnormal event parameters can also be written into a pre-built monitoring data structure to facilitate the acquisition of relevant parameters for evaluating the storage system, i.e., the storage device, without the need to re-acquire data during the evaluation, thereby reducing storage system overhead.
[0068] Add a data structure for each storage device to collect performance information for each storage device. When processing data requests, all data requests falling on the current storage device are counted. To improve performance, consecutive data requests falling on the same storage device can be combined into a single data request for statistics.
[0069] The data request merging can be done by placing two adjacent data requests into the same storage device. The time interval between the first and last data requests of the merged data request is preferably no more than 1 second, and the data volume corresponding to any merged data request is preferably no more than 16M.
[0070] The data structure example is:
[0071] struct monitor_performance_global{
[0072] double iops,throughput; / / IOPS / interface throughput
[0073] double fragment_rate,cache_hit_rate; / / Storage fragmentation rate / cache hit rate
[0074] uint32_t raid_status;
[0075] uint32_tprotocol_overhead; / / protocol overhead
[0076] double packet_loss_rate; / / Packet loss rate
[0077] double error_rate, timeout_req_rate; / / io error rate / timeout request
[0078] uint32_t[]delay_distribution; / / delay distribution
[0079] };
[0080] S22: Evaluate the transmission performance of the current transmission interface.
[0081] In this embodiment, the transmission performance evaluation is performed by obtaining parameters related to the transmission performance of the current transmission interface. Specifically, Figure 4 As shown, Figure 4 The schematic diagram of the flow chart for evaluating transmission performance provided in the embodiment of the present application includes the following steps:
[0082] S221: Obtain the average delay, unit transmission volume, and interface throughput of the current transmission interface.
[0083] In this embodiment, the average delay of the current transmission interface is calculated by monitoring the delay distribution obtained in S21, and the unit transmission volume and interface throughput are obtained by monitoring the data structure.
[0084] S222: Perform a first dimensionality reduction process on the average delay to obtain a reduced dimensionality delay, and obtain a difference between the first preset value and the reduced dimensionality delay as a first transmission factor.
[0085] In this embodiment, the basic form of the reduced-dimensionality delay obtained by performing the first dimensionality reduction process on the average delay can be expressed as:
[0086]
[0087] Wherein, a is the first dimensionality reduction constant, which can be set manually. The preferred first dimensionality reduction constant is 5; Latency represents the dimensionality reduction delay.
[0088] Furthermore, a first preset value is obtained. The first preset value can be set manually, and preferably the first preset value is 1. The difference between the first preset value 1 and the dimensionality reduction delay is calculated as the first transmission factor. The basic form of the first transmission factor can be expressed as:
[0089]
[0090] S223: Perform a second dimensionality reduction process on the unit transmission amount to obtain a second transmission factor.
[0091] In this embodiment, the basic form of the factor obtained by performing the second dimensionality reduction process on the unit transmission amount can be expressed as:
[0092]
[0093] Wherein, b is the second dimensionality reduction constant, which can be set manually. The preferred second dimensionality reduction constant is 80,000; IOPS represents the unit transmission capacity.
[0094] S224: Perform a third dimensionality reduction process on the interface throughput to obtain a third transmission factor.
[0095] In this embodiment, the basic form of the third transmission factor obtained by performing the third dimensionality reduction process on the interface throughput can be expressed as:
[0096]
[0097] In this embodiment, c is a third dimensionality reduction constant, which can be set manually. The preferred third dimensionality reduction constant is 200; Throughput represents the interface throughput.
[0098] S225: Weightedly combine the first transmission factor, the second transmission factor, and the third transmission factor to obtain a transmission performance score.
[0099] In this embodiment, weighted fusion includes setting multiple weighted weight values, a first weighted weight value d, a second weighted weight value e and a third weighted weight value f. Preferably, the multiple weighted weight values d, e and f are 0.7, 0.25 and 0.05 respectively.
[0100] Specifically, the basic form of transmission performance can be expressed as:
[0101]
[0102] Among them, S pref Indicates the transmission performance score.
[0103] S23: Evaluate the storage performance score of the first storage device.
[0104] In this embodiment, the storage performance evaluation is performed by obtaining parameters related to the storage performance of the first storage device. Specifically, Figure 5 As shown, Figure 5 The flowchart for evaluating storage performance provided in the embodiment of the present application includes the following steps:
[0105] S231: Obtain a current access mode of the current transmission interface accessing the first storage device, and obtain an access scoring factor matching the current access mode. See Table 1, which is an access mode-access scoring factor comparison table.
[0106] Table 1 Access mode-access scoring factor comparison table
[0107] Access scoring factor interval Access Mode 0.9~1.0 High-hot data + strong sequential access 0.7~0.89 Medium popularity + high frequency random access 0.4~0.69 Warm data + hybrid mode 0.2~0.39 Cold data + low-frequency sequential access 0.0~0.19 Extremely cold data
[0108] In this embodiment, the access scoring factor is calculated, and the access pattern is matched according to the access scoring factor to evaluate the storage performance score. Specifically, the following steps are included:
[0109] S2311: Evaluate data heat that matches the historical access count and time decay of the first storage device.
[0110] In this embodiment, historical access counts are obtained through a data structure. When a data request is issued, the storage system records the address to be accessed in the data request, thereby recording the access counts for the data block corresponding to the access address. Any storage device includes one or more data blocks. The time decay rate is constant, preferably 0.05.
[0111] The basic form of data heat can be expressed as:
[0112]
[0113] Where H represents the data heat; i represents the number of accesses at the start of statistics; n represents the number of accesses to the data block within a specified time period; e is the base of the natural logarithm; t now Indicates the current statistical time node; t i Indicates the access time node when statistics are started; N total represents the number of historical accesses to the first storage device; λ represents the time decay degree.
[0114] The time period can be set manually, and the preferred time period is half a year.
[0115] S2312: Collect the number of real access logs of the first storage device since the starting statistical time node as the real access parameter of the first storage device; obtain the business benchmark frequency; and evaluate the access frequency that matches the business benchmark frequency and the real access parameter.
[0116] In this embodiment, the basic form of access frequency can be expressed as:
[0117]
[0118] Where F represents the access frequency; e is the base of the natural logarithm; k is the control slope constant, the preferred control slope constant is 3; N lasthour Indicates the actual access parameter of the first storage device, which refers to the number of accesses in the last hour; N base Indicates the business benchmark frequency, which refers to the ratio of the number of data block accesses after the access outlier is raised to the total duration within the past period (the default setting is 24 hours, which can also be specified by the user). It indicates the average number of data block accesses within 1 hour.
[0119] The access count period is no more than 1 day. If the storage system startup time is less than 1 hour, you can set N lasthour =N base To avoid the inability to calculate N due to the system startup time not reaching 1 hour base .
[0120] S2313: Evaluate the access sequence matching the number of consecutive block accesses, cross-block stride accesses, and the total number of accesses.
[0121] In this embodiment, the basic form of access sequence degree can be expressed as:
[0122]
[0123] Wherein, S represents the sequentiality; the number of consecutive block accesses and the cross-block step access are as described in the above S2311 embodiment. When a data request is issued, the storage system records the address to be accessed of the data request to record the consecutive blocks and the cross-block step access counts to which the corresponding access address belongs.
[0124] The step size can be 4KB, and the storage device space is divided into 4KB blocks, each block has a corresponding address. When the interval between accessed data blocks exceeds 4KB, it is considered to be a cross-block step access.
[0125] S2314: Fit data heat, access frequency, and access sequence as access scoring factors.
[0126] In this embodiment, the basic form of the access score factor can be expressed as:
[0127] H access =H 0.7 *F 0.5 *(1.2 S +0.8 (1-S) ) Formula 9
[0128] Among them, H access Represents the scoring factor; the related constants can be debugged according to actual test data. This embodiment is only one of the preferred solutions, and the specific values are not limited here.
[0129] Furthermore, according to the access scoring factor, an access pattern that is compatible with the access scoring factor can be matched through Table 1 to be applicable to the access pattern of the data to be allocated, and the data heat of the data to be allocated can be obtained.
[0130] S232: Obtain a storage cost scoring factor of the first storage device.
[0131] In this embodiment, the storage space usage information of the first storage device is obtained through the data structure to obtain the current storage capacity of the first storage device, and the storage cost per unit capacity of the storage device is calculated by the storage device price as the storage cost scoring factor (C cost ).
[0132] S233: Obtain a health score factor of the first storage device.
[0133] In this embodiment, the health status of the current storage device is obtained by evaluating the health score factor of the first storage device. Specifically, the following steps may be included:
[0134] S2331: Obtain wear leveling, read / write error rates, and remaining life parameters of the first storage device.
[0135] In this embodiment, a bitmap structure may be added to evaluate the wear leveling index (WLI), error rate (ERI), and remaining life index (RLI) of the first storage device.
[0136] A bitmap is a data structure that uses each bit to represent a specific state. It is suitable for processing large amounts of data with a limited number of states. Bitmaps are often used to determine whether a piece of data exists. The basic principle of a bitmap is to map each piece of data to a bit and set that bit to 1.
[0137] Furthermore, an extent_size (data block space setting) structure is added to set the size of each storage block. The larger the extent_size, the more storage space can be added. Each time data is added or deleted from the first storage device, the erase count increases accordingly, and the overall wear leveling level of the first storage device is calculated accordingly. Excessive differences in the erase counts of storage blocks may cause some storage blocks to fail prematurely.
[0138] S2332: Using the difference between the second preset value and the wear leveling degree as a leveling factor.
[0139] In this embodiment, the second preset value can be set manually, and the preferred second preset value is 1. The basic form of the equalization factor can be expressed as:
[0140] Equalization factor = 1-WLI formula 10
[0141] Among them, the basic form of WLI can be expressed as:
[0142]
[0143] Where WLI represents the wear leveling degree; σ represents the standard deviation. Its basic form can be expressed as Equation 12: It represents the average number of erase and write times, and its basic form can be expressed as formula 13.
[0144]
[0145]
[0146] In equations 12 and 13, Ni (i=1, 2, ..., n, where n is the total number of memory blocks) represents the total number of erase and write times of the corresponding number of memory blocks.
[0147] Among them, the smaller the WLI, the better the wear leveling.
[0148] Furthermore, when the WLI is greater than a preset erasure count threshold, an unallocated storage block with the smallest erasure count may be selected as a priority allocation storage block.
[0149] S2333: Using the difference between the third preset value and the read / write error rate as a precision factor.
[0150] In this embodiment, the third preset value can be set manually, and the preferred third preset value is 1.
[0151] The basic form of the precision factor can be expressed as:
[0152] Precision factor = 1-ERI formula 14
[0153] Among them, the basic form of WLI can be expressed as:
[0154]
[0155] Among them, ERI represents the read and write error rate; E crc Indicates the number of CRC (Cyclic Redundancy Check) errors; E ecc It represents the number of ECC (Error Correcting Code) corrections, and T represents the statistical window time, which can be set manually, preferably 1 second.
[0156] S2334: Evaluate remaining life indicators.
[0157] In this embodiment, the basic form of the remaining life indicator (RLI) can be expressed as:
[0158]
[0159] Where RLI represents the remaining life parameter; N usedIndicates the current number of erases and writes of the first storage device; N max It represents the nominal erase and write times of the first storage device, which can be obtained according to the bitmap structure; 1 represents the fourth preset value.
[0160] S234: Perform weighted fusion on the balance factor, precision factor, and remaining life parameter to obtain a health score factor.
[0161] In this embodiment, the Analytic Hierarchy Process (AHP) in machine learning is used to determine the weights of the balancing factor, the precision factor, and the remaining life parameter. By constructing a judgment matrix, the importance of each indicator on the health score factor of the first storage device is compared pairwise to determine their weights, which are w, wli 、w eli 、w rli
[0162] According to the determined weights, the balance factor, precision factor and remaining life parameter are weighted and integrated to obtain the health score factor H health , its basic form can be expressed as:
[0163] H health =w wli ×(1-WLI)+w rli ×RLI+w eri ×(1-ERI) Formula 17
[0164] Among them, H health Indicates the health score factor, and its value range is [0,1]. The closer the value is to 1, the higher the health score factor of the first storage device.
[0165] S24: Weighted fusion transmission performance score and storage performance score.
[0166] In this embodiment, weight values α, β, γ and δ are set for the transmission performance score, access scoring factor, storage cost scoring factor and health scoring factor respectively, where α and β are greater than or equal to γ and δ, and the smaller the weight value, the lower the correlation of the corresponding parameter.
[0167] Specifically, the weighted fusion transmission performance score and storage performance score are used to obtain the candidate factor, which can be expressed in the following form:
[0168] W SSD =α*S perf +β*H access -γC cost -δ(1-H health ) Equation 18
[0169] Among them, W SSDrepresents the candidate factor; S pref Indicates the transmission performance points; H access represents the scoring factor; C cost represents the storage cost scoring factor; H health Represents the health score factor.
[0170] In this embodiment, the candidate factor is a parameter used to quantify the priority or resource allocation ratio of different interface operations in the storage system. By dynamically adjusting the access rights of various requests, refined scheduling of storage system resources is achieved, similar to a traffic light system, ensuring that high-priority data to be allocated receives optimal storage resources. By adding dynamic weight calculation and adapting to real-time monitoring data, an adaptive candidate factor algorithm is implemented to assess the performance of the current storage system and the first storage device based on multi-dimensional evaluation parameters.
[0171] S25: Determine whether the candidate factor is higher than the candidate threshold.
[0172] In this embodiment, if the candidate factor is higher than the candidate threshold, S26 is executed to allocate the data to the first storage device; if the candidate factor is lower than the candidate threshold, S27 is executed to allocate the data to the second storage device.
[0173] In this embodiment, based on the score of the first storage device, the storage location of the data to be allocated can be objectively and comprehensively decided, that is, the data to be allocated with high priority or requiring higher processing efficiency can be directly allocated to the first storage device, and the data to be allocated with low priority or requiring lower processing efficiency can be directly allocated to the second storage device, so as to achieve rational utilization of storage resources.
[0174] S26: In response to the candidate factor being higher than the candidate threshold, allocating the data to be allocated to the first storage device.
[0175] In this embodiment, when the calculated candidate factor of a first storage device is greater than or equal to the candidate threshold, it indicates that the storage status of the currently calculated first storage device is good and meets the storage requirements for storing the data to be allocated. Therefore, the data to be allocated can be allocated to the first storage device for rapid processing. If the candidate factor represents the overall score of multiple first storage devices in the storage system, it is considered that the storage status of the multiple first storage devices as a whole meets the storage requirements for storing the data to be allocated, and the data to be allocated can be allocated to any of the first storage devices.
[0176] S27: In response to the candidate factor being lower than the candidate threshold, allocating the data to be allocated to the second storage device.
[0177] In this embodiment, when the candidate factor of the first device obtained by calculation is lower than the candidate threshold, it means that the device storage status of the currently evaluated first storage device is not good and cannot meet the storage requirements for storing the data to be allocated. Therefore, the data to be allocated needs to be allocated to the second storage device so that the data to be allocated can be processed quickly.
[0178] Furthermore, if the storage status of the currently evaluated first storage device is not good, the candidate factors of other first storage devices can be further evaluated. If the candidate factors are higher than or equal to the candidate threshold, the data to be allocated can be allocated to the corresponding first storage device.
[0179] In this embodiment, considering that re-evaluation of other first storage devices still requires higher data acquisition, calculation and other overheads, in order to reduce system load pressure and quickly make allocation decisions on the data to be allocated, the data to be allocated is allocated to the second storage device.
[0180] Furthermore, if the candidate factor represents the overall score of multiple first storage devices in the storage system, it is considered that the multiple first storage devices lack the capacity to meet the storage demand for storing the data to be allocated, and therefore the data to be allocated is allocated to the second storage device.
[0181] Furthermore, S26 allocates the data to be allocated to the first storage device, and the data above the to-be-selected threshold also includes the first interval and the second interval, and the critical values of the first interval and the second interval are both above the to-be-selected threshold. Specifically, it also includes:
[0182] S261: In response to the candidate factor belonging to the first interval, writing the data to be allocated into the cache module.
[0183] Among them, when the storage system starts the cache mode, the data to be allocated will first fall into the cache.
[0184] Furthermore, the data to be allocated written into the cache module is processed by asynchronous cache refresh, and the data to be allocated falls into the first storage device. When a request is made to read the data to be allocated, the data to be allocated will be requested to be returned. When a request is made to read the data to be allocated in the cache, the data to be allocated will be read directly from the cache, thereby shortening the data response time.
[0185] Among them, there are two thresholds for the data to be allocated to fall into the first storage device, including when the data amount is greater than the preset value of the cache capacity, it will be automatically written to the disk; or when the time interval from the last triggering of cache data to be written to the disk exceeds the preset time interval, and there is a new data request within the preset time interval.
[0186] S262: In response to the candidate factor belonging to the second interval, allocating the data to be allocated to the first storage device, and monitoring the aging degree of the first storage device in combination with the aging assessment parameter.
[0187] The aging assessment includes at least one of the following dimensions: write count, erase count, and usage duration; that is, it may include all parameters: write count, erase count, or write count, erase count, and usage duration. The aging assessment is used to promptly identify potential performance degradation and lifespan reduction issues of the first storage device.
[0188] Specifically, when the read / write count (RLI) reaches the aging threshold, the first storage device is considered aged. Alternatively, when the access frequency of the data stored in the first storage device falls below a preset access frequency threshold, the data is deemed unsuitable for continued storage in the first storage device. The storage system then uses a least recently used (LRU) algorithm to migrate the less frequently accessed data, obtained through a bitmap structure, to the second storage device.
[0189] Part of the data is migrated to ensure that the migrated data has a smaller impact on the current performance.
[0190] The Least Recently Used (LRU) algorithm is a commonly used cache eviction algorithm that aims to eliminate the least recently used cache items to reduce the time it takes to read data from slow storage.
[0191] Furthermore, the storage location of the data migrated to the second storage device is recorded to facilitate subsequent rapid location and access to the data.
[0192] In this embodiment, it is also supported to migrate the data in the second storage device back to the first storage device according to the characteristics of the storage data in the second storage device. Specifically, when the characteristics of the storage data in the second storage device change, such as monitoring the number of access times of the storage data in the second device, the data heat can be evaluated according to Formula 6. When the data heat is higher than the preset heat value, it indicates that the storage data is hot data, and the data in the second storage device is migrated back to the first storage device; or, when the storage data meets the continuous write characteristics, such as monitoring that the cross-block step of multiple consecutive data access requests meets the step threshold, it is determined to enter the sequential access mode, and if it meets the data continuous write characteristics, the data in the second storage device is migrated back to the first storage device to facilitate efficient processing of high-frequency access data.
[0193] Furthermore, the file information of the data to be allocated may be used as a metadata index, and the metadata index may be retained.
[0194] In this embodiment, the file information includes at least one of the file name, storage location, file size, and creation time, that is, it may include the file name, the storage location, or other combinations of the file name and storage location.
[0195] The metadata index is used to locate the storage location of the data to be allocated in the second storage device, improving the query efficiency of the data to be allocated. The storage system also uses technical means such as data compression and index caching to reduce data query time and reduce resource consumption.
[0196] In one embodiment, the method further includes identifying a first storage device targeted for data to be allocated as a target device. The transmission performance score and storage performance score of the target device are evaluated according to the steps S11-S14 or S21-S25 described above. The data to be allocated is allocated to the target device based on the candidate factors obtained from the evaluation. The specific evaluation method is not further described herein.
[0197] In one embodiment, the data scheduling method further includes migrating data stored in abnormal storage devices. Specifically, Figure 6 As shown, Figure 6 A flow chart of another data scheduling method provided in an embodiment of the present application includes:
[0198] S31: Determine whether the health score factor is lower than the health threshold.
[0199] In this embodiment, in response to the health score factor being higher than the health threshold, the storage data in the first storage device is still stored in the first storage device; in response to the health score factor being lower than the health threshold, step S32 is executed to evacuate the data stored in the first storage device to be dispatched to other first storage devices and / or second storage devices.
[0200] Specifically, the health score factor evaluation method has been explained in detail in S2331-S2334 and will not be repeated here.
[0201] S32: In response to the health score factor being lower than the health threshold, evacuate the data stored in the first storage device to dispatch to other first storage devices and / or second storage devices.
[0202] In this embodiment, a second health threshold can also be set. The second health threshold is greater than the health threshold. When the health score factor is lower than the second health threshold and higher than the health threshold, it indicates that a minor abnormality has occurred in the first storage device, and an alarm is reported. When the health score factor is lower than the health threshold, it indicates that a serious abnormality has occurred in the first storage device, and an emergency data evacuation is initiated.
[0203] The storage location to which the evacuation is performed is not limited to the second storage device or the first storage device whose other health score factor reaches a health threshold.
[0204] In this embodiment, by assessing the health score of the first storage device, traditional passive fault recovery is transformed into an early warning system for the storage device, shortening the data migration window and reducing the risk of a sharp drop in storage device performance or data loss. Furthermore, stable performance is ensured by prioritizing the migration of evacuated data to healthy devices of the same type.
[0205] The embodiment of the present application also provides a data scheduling device, such as Figure 7 As shown, Figure 7 The data scheduling device may include an acquisition module 21, an evaluation module 22, a judgment module 23, and an allocation module 24, for implementing the steps of the data scheduling method.
[0206] The acquisition module 21 is used to acquire the data to be allocated input into the storage system by the current transmission interface; wherein the storage system includes a first storage device and a second storage device, and the data processing efficiency of the first storage device is higher than that of the second storage device.
[0207] The evaluation module 22 is configured to evaluate the transmission performance score of the current transmission interface; evaluate the storage performance score of the first storage device; and weightedly integrate the transmission performance score and the storage performance score as a candidate factor for the first storage device.
[0208] The judging module 23 is used to judge whether the candidate factor is higher than the candidate threshold.
[0209] The allocation module 24 is configured to allocate the data to be allocated to the first storage device in response to the candidate factor being higher than the candidate threshold; and allocate the data to be allocated to the second storage device in response to the candidate factor being lower than the candidate threshold.
[0210] In this embodiment, the data scheduling method adopted by the data scheduling device has been described above and will not be repeated here.
[0211] An embodiment of the present application further provides an electronic device, which may be a server or a mobile terminal. Figure 7 The example in the figure shows a server architecture when the computer device is a server. The electronic device includes a processor, a memory, a network interface and a database connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the electronic device is used to store data. The network interface of the electronic device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, any of the above-mentioned data scheduling methods is implemented.
[0212] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the electronic device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0213] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned data scheduling method embodiments when running.
[0214] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0215] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements any of the above-mentioned data scheduling methods.
[0216] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0217] The above is a detailed introduction to a data scheduling method, device, electronic device and storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A data scheduling method, characterized in that: The data scheduling method includes: Acquire data to be allocated from a current transmission interface input to a storage system; wherein the storage system includes a first storage device and a second storage device, and the data processing efficiency of the first storage device is higher than the data processing efficiency of the second storage device; evaluating a transmission performance score of the current transmission interface; evaluating a storage performance score of the first storage device; and weightedly integrating the transmission performance score and the storage performance score as a candidate factor for selecting the first storage device; Determining whether the candidate factor is higher than a candidate threshold; In response to the candidate factor being higher than the candidate threshold, the data to be allocated is allocated to the first storage device; in response to the candidate factor being lower than the candidate threshold, the data to be allocated is allocated to the second storage device.
2. The data scheduling method according to claim 1, wherein: The evaluating the transmission performance of the current transmission interface includes: Obtaining the average delay, unit transmission volume, and interface throughput of the current transmission interface; wherein the unit transmission volume represents the input and output volume of the current transmission interface per unit time; Performing a first dimensionality reduction process on the average delay to obtain a reduced dimensionality delay, and obtaining a difference between a first preset value and the reduced dimensionality delay as a first transmission factor; Performing a second dimensionality reduction process on the unit transmission amount to obtain a second transmission factor; Performing a third dimensionality reduction process on the interface throughput to obtain a third transmission factor; weighted fusion of the first transmission factor, the second transmission factor, and the third transmission factor to obtain the transmission performance score; and / or, The evaluating the storage performance score of the first storage device includes: Obtaining a current access mode of the current transmission interface accessing the first storage device, and obtaining an access scoring factor matching the current access mode; Obtaining a storage cost scoring factor of the first storage device; Obtaining a health score factor of the first storage device; The access scoring factor, the storage cost scoring factor, and the health scoring factor are used as the storage performance score.
3. The data scheduling method according to claim 2, wherein: The acquiring of the access scoring factor matching the current access pattern includes: Evaluating data popularity that matches the historical access count and time decay of the first storage device; Collecting the number of real access logs of the first storage device from the starting statistical time node as the real access parameter of the first storage device; obtaining a service benchmark frequency; and evaluating the access frequency that matches the service benchmark frequency and the real access parameter; Evaluate the access order matching the number of consecutive block accesses, cross-block stride accesses, and total access count; Fitting the data heat, the access frequency, and the access sequence as the access scoring factor; and / or obtaining the storage cost scoring factor of the first storage device includes: Obtaining the storage capacity and device cost of the first storage device, and calculating the device cost per unit capacity as the storage cost scoring factor; and / or, Obtaining the health score factor of the first storage device includes: Obtaining wear leveling, read and write error rates, and remaining life parameters of the first storage device; using a difference between the second preset value and the wear leveling degree as a leveling factor; Using the difference between the third preset value and the read / write error rate as a precision factor; The balance factor, the precision factor and the remaining life parameter are weightedly integrated to obtain the health score factor.
4. The data scheduling method according to claim 1, wherein: The evaluating the storage performance of the first storage device includes: Identifying a first storage device to be targeted for data access as a target device; The transmission performance score of the target device is evaluated to evaluate the candidate factor based on the transmission performance score of the target device; and the allocating the data to be allocated to the first storage device includes: allocating the data to be allocated to the target device.
5. The data scheduling method according to claim 4, characterized in that: The threshold value higher than the threshold value to be selected includes a first interval and a second interval, and the critical values of the first interval and the second interval are both higher than the threshold value to be selected; In response to the candidate factor being higher than the candidate threshold, allocating the to-be-allocated data to the first storage device includes: in response to the candidate factor being within the first interval, writing the to-be-allocated data into a cache module, and causing the to-be-allocated data to fall into the first storage device through asynchronous cache refresh processing; and searching and reading the to-be-allocated data from the cache module when a read request is made for the to-be-allocated data; In response to the candidate factor belonging to the second interval, the data to be allocated is allocated to the first storage device, and the aging degree of the first storage device is monitored in combination with an aging assessment parameter; wherein the aging assessment parameter includes at least one of the number of writes, the number of erases, and the length of use; when the aging degree reaches an aging threshold, part of the data stored in the first storage device is migrated to the second storage device as migration data, and the migration data is recorded in the storage location of the second storage device.
6. The data scheduling method according to claim 1, wherein: The data scheduling method further includes: Evaluating a health score factor of the first storage device; wherein the health score factor is associated with a health level of the first storage device; Determining whether the health score factor is below a health threshold; In response to the health score factor being lower than the health threshold, data stored in the first storage device is evacuated to be dispatched to other first storage devices and / or second storage devices.
7. The data scheduling method according to claim 1, wherein: Allocating the to-be-allocated data to the second storage device includes: Using file information of the data to be allocated as a metadata index and retaining the metadata index; wherein the metadata index is used to locate a storage location of the data to be allocated in the second storage device, and the file information includes at least one of a file name, a storage location, a file size, and a creation time; writing the data to be allocated into the second storage device; and / or, Before evaluating the transmission performance of the current transmission interface, the method further includes: Evaluate an interface parameter combination of the current transmission interface; wherein the interface parameter combination includes at least one of unit transmission volume, interface throughput, and delay distribution; Monitoring a storage information combination; wherein the storage information combination includes at least one of storage space usage information of the first storage device, storage space usage information of the second storage device, a storage fragmentation rate, and a cache hit rate; Evaluating hardware status parameters; wherein the hardware status parameters include at least one of disk life and disk array status; Evaluating network status parameters; wherein the network status parameters include at least one of network bandwidth utilization, protocol overhead, and packet loss rate; Counting abnormal event parameters; wherein the abnormal event parameters include at least one of input and output error rate and supermarket request rate; The interface parameter combination, the storage information combination, the hardware status parameter, the network status parameter and the abnormal event parameter are written into a pre-built monitoring data structure.
8. A device for implementing the data scheduling method according to any one of claims 1 to 7, characterized in that: The apparatus comprises: an acquisition module, configured to acquire data to be allocated inputted into a storage system by a current transmission interface; wherein the storage system comprises a first storage device and a second storage device, and the data processing efficiency of the first storage device is higher than the data processing efficiency of the second storage device; An evaluation module, configured to evaluate the transmission performance score of the current transmission interface; evaluate the storage performance score of the first storage device; and weightedly integrate the transmission performance score and the storage performance score as a candidate factor for selecting the first storage device; A judging module, configured to judge whether the candidate factor is higher than a candidate threshold; The allocation module is configured to allocate the data to be allocated to the first storage device in response to the candidate factor being higher than the candidate threshold; and allocate the data to be allocated to the second storage device in response to the candidate factor being lower than the candidate threshold.
9. An electronic device, characterized in that: The electronic device comprises: memory for storing computer programs; A processor, configured to implement the steps of the data scheduling method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the data scheduling method according to any one of claims 1 to 7.