Data processing method and device, data storage system and electronic equipment
By analyzing the load requirements of the storage controller in the data storage device and detecting the processing capability of the storage controller in the data storage device, the problem of unbalanced load between the storage controllers in the storage device is solved, and the equipment performance and stability are improved.
Patent Information
- Application Number
- CN202411722174.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-11-28
AI Technical Summary
The load imbalance between storage controllers in existing data storage devices leads to degradation of equipment performance and the inability to effectively allocate pending data, affecting the overall work efficiency.
By acquiring the pending data packets, performing load requirements analysis and data processing capability detection, and performing two adjustments to ensure that the data load obtained by each storage controller is load-balanced, and the allocation and processing of the target pending data packets are achieved.
It realizes balancing allocation of data processing loads between storage controllers, improves the overall performance of data storage devices, and ensures the stable operation of the equipment under high load conditions.
Smart Images

Figure CN119201798A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, device, data storage system and electronic equipment. Background Art
[0002] With the continuous upgrading of data storage devices, the bandwidth resources of storage devices, the number of supported external cards and the number of hard disks are constantly increasing, and the load of data storage devices is also increasing. Therefore, how to achieve load balancing of data storage devices has become a key research content.
[0003] In the related art, when a data storage device includes multiple storage controllers, a storage controller round-robin allocation method is usually used to allocate data to be stored.
[0004] However, due to the different data processing capabilities of different storage controllers and the different load requirements of different data, the existing load distribution method still has the defect of unbalanced load among storage controllers. Therefore, there is an urgent need for a data processing method that can achieve load balancing among controllers, which is of great significance to improving the performance of data storage devices. Summary of the invention
[0005] The present application provides a data processing method, device, data storage system and electronic device to solve the defects of related technologies such as load imbalance between storage controllers.
[0006] The first aspect of the present application provides a data processing method, comprising: Obtaining an initial data packet to be processed that is to be sent and stored in each storage controller in the data storage device; For any of the storage controllers, performing load demand analysis on the initial data packets to be processed by the storage controller to obtain load analysis results corresponding to each of the storage controllers; According to the load analysis results corresponding to each of the storage controllers, a first adjustment is performed on the initial data packet to be processed, so that each of the storage controllers obtains an intermediate data packet to be processed; Detecting the current data processing capability of each of the storage controllers; According to the current data processing capability of each storage controller, a second adjustment is performed on the intermediate data packet to be processed, so that each storage controller obtains a target data packet to be processed; The target data packet to be processed is processed based on the storage controller.
[0007] In an optional implementation, the obtaining of the initial data packets to be sent and stored in each storage controller in the data storage device includes: Acquire data to be sent and stored in the data storage device to obtain an overall data packet; According to the number of storage controllers in the data storage device, the overall data packet is divided into a corresponding number of initial data packets to be processed; The initial data packets to be processed are distributed to corresponding storage controllers.
[0008] In an optional implementation manner, acquiring the data to be sent and stored in the data storage device to obtain the entire data packet includes: Acquiring data to be sent and stored in the data storage device; In the case of receiving the packing instruction, the obtained data to be sent and stored in the data storage device are summarized to obtain a data summary result; Packaging the data according to the data aggregation result to obtain an overall data packet; The packaging instructions are issued according to a preset period and a preset packaging principle.
[0009] In an optional implementation, the data is packaged according to the data aggregation result to obtain an overall data packet, including: Get the preset data volume threshold; Determine whether the total amount of data represented by the data aggregation result reaches the preset data amount threshold; When the total amount of data represented by the data aggregation result reaches the preset data amount threshold, the data to be sent and stored in the data storage device are packaged to obtain an overall data packet.
[0010] In an optional implementation, according to the number of storage controllers in the data storage device, the overall data packet is divided into a corresponding number of initial data packets to be processed, including: Determining a target time period according to the data transmission time requirement corresponding to the preset data volume threshold; Splitting the target time period according to the number of storage controllers in the data storage device to obtain a time period splitting result; According to the time period splitting result, the overall data packet is evenly divided into a corresponding number of initial data packets to be processed; The acquisition time of the data to be processed in the same initial data packet to be processed is continuous.
[0011] In an optional implementation, for any of the storage controllers, performing load demand analysis on the initial data packets to be processed by the storage controller to obtain load analysis results corresponding to each of the storage controllers includes: For any of the storage controllers, determining the load requirement of each of the to-be-processed data according to the complexity of each of the to-be-processed data in the initial to-be-processed data packet of the storage controller; According to the load requirements of each of the to-be-processed data, the load analysis results corresponding to the storage controller are stored.
[0012] In an optional implementation, the first adjustment of the initial data packet to be processed according to the load analysis result corresponding to each storage controller so that each storage controller obtains an intermediate data packet to be processed includes: According to the load analysis results corresponding to each of the storage controllers, load level classification is performed on the data to be processed in the initial data packet to be processed, so as to obtain the load level classification results of the data to be processed corresponding to each of the storage controllers; According to the result of the classification of the load levels of the data to be processed corresponding to each of the storage controllers, a first adjustment is performed on the initial data packet to be processed so that each of the storage controllers obtains an intermediate data packet to be processed.
[0013] In an optional implementation, the first adjustment of the initial data packet to be processed is performed according to the result of the classification of the load level of the data to be processed corresponding to each storage controller, so that each storage controller obtains an intermediate data packet to be processed, including: For any of the storage controllers, according to the result of the load level division of the data to be processed corresponding to the storage controller, determine the amount of data to be stored at each load level; For any of the load levels, according to the number of storage controllers in the data storage device, the amount of data to be stored of the load level is evenly divided to obtain an even amount of data for each of the load levels; According to the data average components of each load level, a first adjustment is performed on the initial data packet to be processed, so that each storage controller obtains an intermediate data packet to be processed.
[0014] In an optional implementation, the first adjustment of the initial data packet to be processed according to the data average component of each load level so that each storage controller obtains an intermediate data packet to be processed includes: For any of the storage controllers, the data to be processed of each load level is evenly distributed to each of the storage controllers according to the data average components of each load level corresponding to the storage controller, so as to make a first adjustment to the initial data packets to be processed of each of the storage controllers, so that each of the storage controllers obtains an intermediate data packet to be processed.
[0015] In an optional implementation manner, the detecting the current data processing capability of each of the storage controllers includes: Acquire current operating parameters and current status information of each of the storage controllers; The current data processing capability of each storage controller is determined according to the current operating parameters and current status information of each storage controller.
[0016] In an optional implementation manner, determining the current data processing capability of each storage controller according to the current operating parameters and current status information of each storage controller includes: For any of the storage controllers, determining a simulation result of the data processing capability of the storage controller according to current operating parameters and current state information of the storage controller; Determining the current data processing capacity of each storage controller according to the simulation result of the data processing capacity of each storage controller; The current operating parameters of the storage controller include a current rate value, and the current status information of the storage controller includes at least a health status indicator of the storage controller.
[0017] In an optional implementation manner, for any of the storage controllers, determining a simulation result of the data processing capability of the storage controller according to current operating parameters and current state information of the storage controller includes: Based on the network links between the storage controllers, the current operating parameters and current status information are shared among the storage controllers, so that each storage controller obtains the current operating parameters and current status information of all the storage controllers; Based on any of the storage controllers, according to the obtained current operating parameters and current status information of all the storage controllers, the data processing flow of each of the storage controllers is simulated so that the storage controller obtains a simulation result data set; wherein the simulation result data set includes the simulation results of the data processing flow of each of the storage controllers; The simulation result data sets obtained by each storage controller are summarized to obtain the data processing capability simulation results of each storage controller.
[0018] In an optional implementation, the second adjustment of the intermediate data packet to be processed according to the current data processing capability of each storage controller so that each storage controller obtains the target data packet to be processed includes: Determining a second adjustment weight coefficient of each storage controller according to the current data processing capability of each storage controller; wherein the second adjustment weight coefficient is positively correlated with the current data processing capability; According to the second adjustment weight coefficient of each storage controller, a second adjustment is performed on the intermediate data packets to be processed of each storage controller, so that each storage controller obtains a target data packet to be processed.
[0019] In an optional implementation, the performing data processing on the target data packet to be processed based on the storage controller includes: For any of the storage controllers, determining the current module processing capacity of each of the internal processing modules in the storage controller according to the current processing parameters of each of the internal processing modules; Normalizing the current module processing capabilities of each of the internal processing modules to obtain the current module equivalent processing capabilities of each of the internal processing modules; According to the current module equivalent processing capability of each internal processing module, the target channel number of each internal processing module is determined, so that each processing module performs data processing on the target data packet to be processed according to the target channel number.
[0020] In an optional implementation, determining the target number of channels of each internal processing module according to the current module equivalent processing capability of each internal processing module includes: Determine, according to the current module equivalent processing capability of each of the internal processing modules, a plurality of candidate channel allocation combinations that meet preset internal module load balancing constraints; The candidate channel allocation combination with the largest cumulative value of the number of target channels is used as the target channel allocation combination; The target channel allocation combination includes the target channel number of each internal processing module, and the preset internal module load balancing constraint condition includes that the ratio of the target channel number of each internal processing module to the total channel number is equal.
[0021] A second aspect of the present application provides a data processing device, comprising: An acquisition module, used for acquiring an initial data packet to be processed to be sent and stored in each storage controller in the data storage device; An analysis module, for performing load demand analysis on an initial data packet to be processed by any of the storage controllers, so as to obtain a load analysis result corresponding to each of the storage controllers; A first adjustment module, configured to perform a first adjustment on the initial data packet to be processed according to the load analysis result corresponding to each of the storage controllers, so that each of the storage controllers obtains an intermediate data packet to be processed; A detection module, used to detect the current data processing capability of each of the storage controllers; A second adjustment module, configured to perform a second adjustment on the intermediate data packets to be processed according to the current data processing capability of each storage controller, so that each storage controller obtains a target data packet to be processed; A processing module is used to perform data processing on the target data packet to be processed based on the storage controller.
[0022] A third aspect of the present application provides a data storage system, comprising: a host end and a data storage device, wherein the data storage device comprises a plurality of storage controllers; Based on the method described in the first aspect and various possible designs of the first aspect, the host side allocates target data packets to be processed to each storage controller in the data storage device, so as to process the target data packets to be processed based on each storage controller.
[0023] A fourth aspect of the present application provides an electronic device, comprising: at least one processor and a memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method described in the first aspect and various possible designs of the first aspect.
[0024] A fifth aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the method described in the first aspect and various possible designs of the first aspect are implemented.
[0025] The sixth aspect of the present application provides a computer program product, including computer instructions, which are used to enable a computer to execute the method described in the first aspect and various possible designs of the first aspect.
[0026] The technical solution of this application has the following advantages: The present application provides a data processing method, device, data storage system and electronic device, the method comprising: obtaining an initial data packet to be processed to be sent and stored to each storage controller in a data storage device; for any storage controller, performing a load demand analysis on the initial data packet to be processed by the storage controller to obtain a load analysis result corresponding to each storage controller; according to the load analysis result corresponding to each storage controller, performing a first adjustment on the initial data packet to be processed so that each storage controller obtains an intermediate data packet to be processed; detecting the current data processing capability of each storage controller; according to the current data processing capability of each storage controller, performing a second adjustment on the intermediate data packet to be processed so that each storage controller obtains a target data packet to be processed; and performing data processing on the target data packet to be processed based on the storage controller. The method provided by the above scheme performs two load balancing adjustments on the initial data packet to be processed of each storage controller according to the load demand of the data to be processed and the processing capability of the processor itself, respectively, to ensure the data processing load balancing of each storage controller, laying a foundation for improving the performance of the data storage device. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the following is a brief introduction to the drawings required for use in the embodiments or the related technical descriptions. Obviously, the drawings described below are some embodiments of the present application, and a person skilled in the art can also obtain other drawings based on these drawings.
[0028] Figure 1 A flowchart of a data processing method provided in an embodiment of the present application; Figure 2 A schematic diagram of the overall process of the first adjustment provided in an embodiment of the present application; Figure 3 A schematic diagram of the overall process of the second adjustment provided in an embodiment of the present application; Figure 4 A schematic diagram of the overall process of the data processing method provided in the embodiment of the present application; Figure 5 A schematic diagram of the overall process of load balancing allocation of internal resources provided in an embodiment of the present application; Figure 6 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application; Figure 7 A schematic diagram of the structure of a data storage system provided in an embodiment of the present application; Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0029] The above drawings have shown clear embodiments of the present application, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0031] In addition, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. In the description of the following embodiments, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.
[0032] In the era of big data, higher requirements are placed on the reliability and high performance of storage arrays, especially in high-end storage devices, which require the read and write rates and IOPS of storage devices to meet high baseline standards. For example, high-end storage requires IOPS of more than 100W, and terminal storage requires IOPS of more than 40W, and can perform continuous data reading and writing at this rate to meet the needs of the gradually increasing user data volume. To this end, the CPU of storage devices is constantly updated, and the bandwidth resources of CPUs are constantly doubling and improving. However, with the doubling of bandwidth resources, the number of external cards and hard disks supported by storage devices is constantly increasing, and the problem of unbalanced data reading capabilities between various loads is gradually exposed. As an integrated device, when the data reading capabilities of one or two loads are unbalanced, the overall work efficiency of the device will be affected, which will in turn reduce the user's business processing capabilities. When the load imbalance is nearly half serious, it may even lead to key issues at the business level.
[0033] In view of the above problems, the embodiments of the present application provide a data processing method, device, data storage system and electronic device, the method comprising: obtaining an initial data packet to be processed to be sent and stored to each storage controller in the data storage device; for any storage controller, performing a load demand analysis on the initial data packet to be processed by the storage controller to obtain the load analysis results corresponding to each storage controller; according to the load analysis results corresponding to each storage controller, performing a first adjustment on the initial data packet to be processed so that each storage controller obtains an intermediate data packet to be processed; detecting the current data processing capability of each storage controller; according to the current data processing capability of each storage controller, performing a second adjustment on the intermediate data packet to be processed so that each storage controller obtains a target data packet to be processed; and performing data processing on the target data packet to be processed based on the storage controller. The method provided by the above scheme performs two load balancing adjustments on the initial data packet to be processed of each storage controller according to the load demand of the data to be processed and the processing capability of the processor itself, respectively, to ensure the data processing load balancing of each storage controller, laying a foundation for improving the performance of the data storage device.
[0034] The following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.
[0035] The embodiment of the present application provides a data processing method for load balancing storage controllers in a data storage device. The execution subject of the embodiment of the present application is an electronic device, such as a server, a desktop computer, a laptop computer, a tablet computer, and other electronic devices that can be used to load balance storage controllers in a data storage device.
[0036] like Figure 1 FIG. 1 is a flow chart of a data processing method provided in an embodiment of the present application, the method comprising: Step 101, obtaining an initial data packet to be processed to be sent and stored to each storage controller in a data storage device.
[0037] Specifically, the data to be processed that is sent and stored in the data storage device may be evenly distributed according to a preset load balancing rule, so that each storage controller in the data storage device obtains an equal amount of initial data packets to be processed.
[0038] Step 102: for any storage controller, a load demand analysis is performed on the initial data packets to be processed by the storage controller to obtain a load analysis result corresponding to each storage controller.
[0039] Specifically, according to the source and processing requirements of the data in the initial data packet to be processed, a load demand analysis may be performed on each piece of data in the initial data packet to be processed, so as to obtain the load analysis results of the initial data packet to be processed of each storage controller.
[0040] Step 103 : According to the load analysis results corresponding to each storage controller, a first adjustment is made to the initial data packet to be processed, so that each storage controller obtains an intermediate data packet to be processed.
[0041] Specifically, a first adjustment can be made to the initial data packet to be processed based on the load difference between the storage controllers represented by the load analysis results corresponding to the storage controllers, so that each storage controller obtains an intermediate data packet to be processed, and the intermediate data packets to be processed are balanced in terms of the data load requirements within the packet.
[0042] Step 104: Detect the current data processing capability of each storage controller.
[0043] It should be noted that after a long period of operation, the multiple storage controllers configured in the data storage device have different performances. Therefore, the current data processing capability of each storage controller can be further detected to determine the differences in the storage controllers' own processing capabilities.
[0044] Step 105 , performing a second adjustment on the intermediate data packets to be processed according to the current data processing capability of each storage controller, so that each storage controller obtains the target data packet to be processed.
[0045] Specifically, according to the difference in the processing capabilities of each storage controller, the intermediate data packet to be processed may be second adjusted so that each storage controller finally obtains a target data packet to be processed that matches its current data processing capability.
[0046] Step 106: Process the target data packet to be processed based on the storage controller.
[0047] Specifically, the data in the target data packet to be processed can be processed by the storage controller, such as mean calculation, variance calculation, standardization and data conversion, and the processed data can be stored in the corresponding storage disk to store the data in the data storage device.
[0048] On the basis of the above embodiment, in order to further ensure the load balancing of the storage controller, as an implementable method, in one embodiment, obtaining the initial data packet to be sent and stored in each storage controller in the data storage device includes: Step 1011, obtaining data to be sent and stored in a data storage device to obtain an overall data packet; Step 1012, according to the number of storage controllers in the data storage device, the entire data packet is divided into a corresponding number of initial data packets to be processed; Step 1013: distribute the initial data packets to be processed to the corresponding storage controllers.
[0049] For example, the data storage device in the embodiment of the present application is provided with four storage controllers. The multiple storage controllers are mutually redundant in hardware, supporting a four-bad-three structure. Any storage controller shares the data information of the other storage controllers, and two storage controllers are cascaded via Roce. After obtaining the overall data packet, the overall data packet is divided into four equal parts to obtain the initial data packets to be processed corresponding to each storage controller.
[0050] Specifically, in one embodiment, data to be sent and stored in a data storage device can be obtained; when a packing instruction is obtained, the obtained data to be sent and stored in the data storage device is summarized to obtain a data summary result; and the data is packaged according to the data summary result to obtain an overall data packet.
[0051] Among them, the packaging instructions are issued according to the preset cycle and preset packaging principles.
[0052] It should be noted that the preset data packaging principle of the data storage device is that the data processed by the storage controller at the current time is the data that the controller needs to synchronize to other controllers in the next time period, that is, the continuity of the storage business needs to be guaranteed. The length of each time period is negotiated and confirmed with the server side (host side). The storage side (data storage device) sends a data packaging instruction to the server side. After receiving the instruction, the server side summarizes the current business data to obtain the data summary result.
[0053] Specifically, data packaging may be performed according to the total amount of data to be sent and stored in the data storage device acquired this time represented by the data aggregation result.
[0054] Specifically, in one embodiment, a preset data volume threshold can be obtained; it is determined whether the total amount of data represented by the data aggregation result reaches the preset data volume threshold; when the total amount of data represented by the data aggregation result reaches the preset data volume threshold, the data to be sent and stored in the data storage device is packaged to obtain an overall data packet.
[0055] Specifically, in order to ensure the business continuity of the data storage device, the preset data volume threshold can be determined according to the necessary time required by the user to complete the current business. In the process of summarizing the data to be sent and stored in the data storage device, it is determined whether the total amount of data represented by the data aggregation result reaches the preset data volume threshold; when the total amount of data represented by the data aggregation result reaches the preset data volume threshold, the data to be sent and stored in the data storage device is packaged to obtain an overall data packet.
[0056] Specifically, in one embodiment, in order to further ensure the business continuity of the data storage device, a target time period can be determined based on the data transmission time requirement corresponding to a preset data volume threshold; the target time period is split according to the number of storage controllers in the data storage device to obtain a time period splitting result; according to the time period splitting result, the overall data packet is evenly divided into a corresponding number of initial data packets to be processed.
[0057] The acquisition time of the data to be processed in the same initial data packet to be processed is continuous.
[0058] Specifically, after the preset data volume threshold is set, the data summary result is compared with the preset data volume threshold. When the total amount of data represented by the data summary result is lower than the threshold, the time used by the host side to transmit the threshold data to the data storage device is used as the first time period (target time period). When the total amount of business data reaches the threshold data, the first time period is used as the current time period, and the current time period is split. Taking the data storage device including 4 storage controllers as an example, the current time period is divided into four time periods to obtain the time period splitting results, and subsequent data packets are divided according to the time period splitting results; that is, the data packets obtained by statistics in the current time period are divided into four parts, that is, divided into four initial data packets to be processed, and sent to each controller side (data storage controller) for processing.
[0059] On the basis of the above embodiments, in order to further ensure the load balancing of the storage controllers, as an implementable manner, in one embodiment, for any storage controller, a load demand analysis is performed on the initial data packet to be processed by the storage controller to obtain the load analysis results corresponding to each storage controller, including: Step 1021, for any storage controller, determining the load requirement of each data to be processed according to the complexity of each data to be processed in the initial data packet to be processed of the storage controller; Step 1022: According to the load requirements of each data to be processed, the load analysis results corresponding to the storage controller are stored.
[0060] Specifically, the complexity of each data to be processed can be determined based on the data processing logic and data type of each data to be processed in the initial data packet to be processed, and the complexity level can be divided according to the complexity, such as divided into three complexity levels of low, medium and high. According to the complexity level division result, the load demand of the data to be processed is determined to determine the specific flow value of the data to be processed at different complexity levels. The load demand corresponds to the complexity level to obtain the load analysis result corresponding to each storage controller.
[0061] The complexity of the data to be processed can be quantified by the complexity coefficient, which is divided into three different complexity coefficients: low, medium, and high.
[0062] Furthermore, in one embodiment, the load level division of the data to be processed in the initial data packet to be processed can be performed according to the load analysis results corresponding to each storage controller to obtain the load level division results of the data to be processed corresponding to each storage controller; and the first adjustment is performed on the initial data packet to be processed according to the load level division results of the data to be processed corresponding to each storage controller to enable each storage controller to obtain an intermediate data packet to be processed.
[0063] Specifically, the load level division of the data to be processed in the initial data packet to be processed can be performed according to the complexity level division result of the data to be processed, and the load level division result is consistent with the complexity level division result. The load level division result of the data to be processed is to divide the data in the initial data packet to be processed into three load levels: low, medium and high, and determine the amount of data at each complexity level, so as to make a first adjustment to the initial data packet to be processed.
[0064] Specifically, in one embodiment, for any storage controller, the amount of data to be stored at each load level can be determined based on the result of dividing the load level of data to be processed corresponding to the storage controller; for any load level, the amount of data to be stored at this load level is evenly divided according to the number of storage controllers in the data storage device to obtain the data average quantity for each load level; based on the data average quantity for each load level, a first adjustment is made to the initial data packet to be processed so that each storage controller obtains an intermediate data packet to be processed.
[0065] Specifically, when determining the amount of data to be stored at any load level, the data is evenly divided according to the number of storage controllers in the data storage device. Taking the number of storage controllers as 4 as an example, the amount of data to be stored at any load level is evenly divided into 4 parts, and the amount of each part is the average data portion of that load level.
[0066] Furthermore, in one embodiment, for any storage controller, the processed data of each load level can be evenly distributed to each storage controller according to the data average component of each load level corresponding to the storage controller, so as to make a first adjustment to the initial data packet to be processed of each storage controller, so that each storage controller obtains an intermediate data packet to be processed.
[0067] Specifically, the specific flow value of each load level for each other storage controller can be determined according to the data average component of each load level corresponding to any storage controller, so that the data under each complexity is divided into 4 parts and then re-coupled to obtain 4 packaged coupled data packets, the coupled data packets include the to-be-processed data of the data average component of each load level, one of which is reserved to the local storage controller, and the remaining 3 are distributed to other storage controllers. When the response signal from other storage controllers is received, the data packaging process is completed, that is, each storage controller obtains the intermediate to-be-processed data packet. Among them, the intermediate to-be-processed data packet of any storage controller is composed of the locally reserved coupled data packet and the 3 coupled data packets sent by the other 3 storage controllers.
[0068] Among them, Figure 2 As shown, it is a schematic diagram of the overall process of the first adjustment provided by the embodiment of the present application, and the process is sequentially processing threshold setting, comparing business data with threshold data, sending data packets to the controller end, extracting data complexity, and dividing and coupling data according to complexity. Among them, the processing threshold is the preset data volume threshold, and the controller end is the storage controller.
[0069] On the basis of the above embodiment, in order to further ensure the load balancing of the storage controller, as an implementable method, in one embodiment, detecting the current data processing capacity of each storage controller includes: Step 1041, obtaining current operating parameters and current status information of each storage controller; Step 1042: Determine the current data processing capability of each storage controller according to the current operating parameters and current status information of each storage controller.
[0070] It should be noted that even storage controllers with the same configuration may have different performance after running for a long time. Therefore, determining the current data processing capacity of each storage controller based on the current operating parameters and current status information of each storage controller is beneficial to improving the accuracy and reliability of the data processing capacity detection results.
[0071] Specifically, in one embodiment, for any storage controller, the data processing capability simulation result of the storage controller can be determined based on the current operating parameters and current status information of the storage controller; and the current data processing capability of each storage controller can be determined based on the data processing capability simulation result of each storage controller.
[0072] The current operating parameters of the storage controller include the current rate value, the current status information of the storage controller includes at least the health status indicator of the storage controller, and the current status information of the storage controller may also include status information such as temperature and voltage.
[0073] Specifically, the data processing flow of the storage controller may be simulated according to the current operating parameters and current status information of the storage controller to obtain a simulation result of the data processing capability of the storage controller.
[0074] Specifically, in one embodiment, the current operating parameters and current status information of the storage controllers can be shared among the storage controllers based on the network links between the storage controllers, so that each storage controller obtains the current operating parameters and current status information of all storage controllers; based on any storage controller, the data processing flow of each storage controller is simulated according to the obtained current operating parameters and current status information of all storage controllers, so that the storage controller obtains a simulation result data set; wherein the simulation result data set includes the simulation results of the data processing flow of each storage controller; and the simulation result data sets obtained by each storage controller are summarized to obtain the data processing capability simulation results of each storage controller.
[0075] Specifically, the controller side (storage controller) first shares the status through the network link between each other, and sends its own status information (current operating parameters and current status information) to the counterpart. At the same time, the counterpart sends the acquired information to the controller at the other end, so that each controller knows the status information of other controllers. Based on the current status information, the controller's own CPU will perform data simulation processing, that is, a four-controller system model is established inside the CPU according to the parameters and status information of the four controllers, and the allocation calculation of the tasks that each controller should process is performed according to the current status. The optimal total processing capacity of the four controllers is taken as the simulation optimization goal, and finally the result simulated in the CPU of the controller is obtained. The four controllers execute the simulation calculation in turn to obtain four simulation results (data processing flow simulation results), and the final four-controller data processing capacity simulation result is obtained based on this result. That is, the data processing capacity simulation result of each storage controller is obtained.
[0076] Furthermore, in one embodiment, a second adjustment weight coefficient of each storage controller can be determined based on the current data processing capability of each storage controller; wherein the second adjustment weight coefficient is positively correlated with the current data processing capability; and based on the second adjustment weight coefficient of each storage controller, a second adjustment is made to the intermediate data packets to be processed of each storage controller so that each storage controller obtains the target data packet to be processed.
[0077] It should be noted that by first making a first adjustment to the initial data packet to be processed and then making a second adjustment to the intermediate data packet to be processed obtained after the first adjustment, not only can the load balancing degree be improved, but also the load of the second adjustment can be reduced to improve the overall efficiency of the load balancing adjustment.
[0078] Specifically, the weight (second adjustment weight coefficient) is obtained by dividing according to the simulation results of the data processing capacity of each storage controller; after the storage controller weight is obtained, it is sent to each controller end in turn through the associated network link, and the data packet is adjusted according to the weight of the controller. The adjusted data packet is distributed to the corresponding controller end, and each controller end performs a second adjustment on the intermediate data packet to be processed according to its own weight. Specifically, the current data packet (intermediate data packet to be processed) is compared with the weight as a benchmark. If the current weight is the highest among the weights of the four controllers, the data packet with a lower weight is transferred to the data packet with a high weight. The final result is that the size of the data packet processed in each controller should be proportional to the weight of the controller. Among them, the specific transfer of the data to be processed at which load level can be selected according to the actual situation, and the embodiment of the present application does not limit it.
[0079] Among them, Figure 3 As shown, it is a schematic diagram of the overall process of the second adjustment provided in an embodiment of the present application, and the process is, in sequence, sharing of controller status information, establishment of a four-control model on the CPU side, integration and processing of simulation results, acquisition of weights, and adjustment of data packets based on weights.
[0080] On the basis of the above embodiment, the storage controller includes a plurality of internal resources, and the storage controller processes and stores data based on its internal resources. In order to further ensure the load balancing of the internal resources of the storage controller, the embodiment of the present application, as an implementable manner, in one embodiment, data processing is performed on the target data packet to be processed based on the storage controller, including: Step 1061, for any storage controller, determine the current module processing capacity of each internal processing module in the storage controller according to the current processing parameters of each internal processing module; Step 1062, normalizing the current module processing capacity of each internal processing module to obtain the current module equivalent processing capacity of each internal processing module; Step 1063, determining the target channel number of each internal processing module according to the current module equivalent processing capability of each internal processing module, so that each processing module performs data processing on the target data packet to be processed according to the target channel number.
[0081] Among them, the internal processing module of the storage controller is its internal resource, and the internal processing module includes an internal CPU, memory, I / O card and switch module, etc. Since different internal processing modules have different characteristics, in order to achieve equivalent comparison of their processing capabilities, after obtaining the current module processing capability of each internal processing module, the current module processing capability of each internal processing module is normalized to obtain the current module equivalent processing capability of each internal processing module.
[0082] Specifically, after each storage controller obtains the target data packet to be processed through data packet adjustment, the storage controller calls internal resources to process the current data for the data packaged and transmitted by the server side (host side), and ensures that the internal resource processing is balanced. Specifically, the CPU, memory, I / O card, and switch module processing capabilities inside the controller are prioritized for statistics to obtain the current module processing capabilities of each internal processing module. The CPU side reads the parameter value of the current data processing through the internal register, and sends the flow acquisition instruction to the memory, I / O card, and switch module through the I2C link to read the current data processing rate value under each module; after the reading is completed, the data flow planning of each stage is carried out. The data flow planning prioritizes the establishment of a data flow model, that is, the CPU unit is equivalent to the input and output unit, the I / O card is equivalent to the input and output unit, the switch module is equivalent to the output unit, and the hard disk is equivalent to the I / O flow input unit. After the data flow model is established, the current module processing capabilities of each module are normalized to obtain the current module equivalent processing capabilities of each internal processing module. The normalization is performed by equating the data flow to the average speed of each channel × the number of channels. In the equivalence process, the data transmission rate of all current modules is obtained. After the acquisition is completed, the total number of channels provided by the CPU in the R&D design process is divided to obtain the average rate of each current channel. Based on this, the average rate after equivalent treatment under each module is obtained × the number of channels, thereby quantifying the optimization object into the target number of channels that can be provided for data transmission; after normalization, load balancing is used as the optimization goal, and a dynamic graph of the processing capacity of each module after optimization is given, that is, the number of transmission channels (target number of channels) of each load module is optimized, and the optimization constraint is load balancing.
[0083] For example, Figure 4As shown, it is a schematic diagram of the overall flow of the data processing method provided in an embodiment of the present application. After the server-side operation on the data, data packaging processing and controller-side weighted polling processing of the data, each storage controller obtains the target data packet to be processed, and finally performs internal load balancing processing of the controller to further ensure the load balancing of the internal resources of the storage controller.
[0084] Specifically, in one embodiment, multiple groups of candidate channel allocation combinations that meet preset internal module load balancing constraints can be determined based on the current module equivalent processing capabilities of each internal processing module; and the candidate channel allocation combination with the largest cumulative value of the target channel number is used as the target channel allocation combination.
[0085] The target channel allocation combination includes the target channel number of each internal processing module, and the preset internal module load balancing constraint condition includes that the ratio of the target channel number of each internal processing module to the total channel number is equal.
[0086] Specifically, the optimization goal of the embodiment of the present application is to maximize the number of channels, that is, the cumulative value of the target number of channels is the largest, and the sum of the number of channels in each module directly output from the CPU is equal to the number of channels that the current CPU side can provide. In addition, for each module, the result of the current number of channels / theoretical total number of channels is equal, that is, the ratio of the target number of channels of each internal processing module to the total number of channels is equal, which is the constraint condition for internal resource load balancing provided by the embodiment of the present application; the optimization goal is to maximize the cumulative value of the target number of channels, based on which the number of channels is dynamically adjusted, and the target number of channels for each load module is obtained after the adjustment is completed. At this time, the target number of channels can be multiplied by the current average transmission rate to return the optimized transmission rate of each module. This transmission rate is the optimal transmission rate under the premise of ensuring load balancing.
[0087] Among them, Figure 5 As shown, it is a schematic diagram of the overall process of internal resource load balancing allocation provided in an embodiment of the present application. The process is, in sequence, statistics on the processing capacity of the internal modules of the controller, establishment of a data flow model, normalization of the processing capacity of the data modules, establishment of an optimization model with load balancing as a constraint, and optimization of the transmission rate results.
[0088] The data processing method provided by the embodiment of the present application obtains the initial data packets to be processed to be sent and stored in each storage controller in the data storage device; for any storage controller, the initial data packets to be processed of the storage controller are analyzed for load requirements to obtain the load analysis results corresponding to each storage controller; according to the load analysis results corresponding to each storage controller, the initial data packets to be processed are adjusted for the first time so that each storage controller obtains the intermediate data packets to be processed; the current data processing capacity of each storage controller is detected; according to the current data processing capacity of each storage controller, the intermediate data packets to be processed are adjusted for the second time so that each storage controller obtains the target data packets to be processed; and the target data packets to be processed are processed based on the storage controller. The method provided by the above scheme performs two load balancing adjustments on the initial data packets to be processed of each storage controller according to the load requirements of the data to be processed and the processing capacity of the processor itself, respectively, to ensure the data processing load balance of each storage controller, thereby solving the problem of reduced data processing capacity of the storage device caused by load imbalance, and laying a foundation for improving the performance of the data storage device. In addition, the data to be processed is subdivided from the data packaging on the server side, and then the multiple controllers of the storage device are used as optimization objects. The appropriate amount of task data is provided to each controller through weighted balancing in the algorithm, and then further refined to the processing capacity of various types of loads (internal resources) in the controller. From the local to the overall, it is ensured that the load processing data capacity of each level remains balanced.
[0089] An embodiment of the present application provides a data processing device for executing the data processing method provided in the above embodiment.
[0090] like Figure 6 , which is a schematic diagram of the structure of a data processing device provided in an embodiment of the present application. The data processing device 60 comprises: an acquisition module 601 , an analysis module 602 , a first adjustment module 603 , a detection module 604 , a second adjustment module 605 and a processing module 606 .
[0091] Among them, the acquisition module is used to acquire the initial data packets to be processed to be sent and stored in each storage controller in the data storage device; the analysis module is used to perform load demand analysis on the initial data packets to be processed of any storage controller to obtain the load analysis results corresponding to each storage controller; the first adjustment module is used to perform a first adjustment on the initial data packets to be processed according to the load analysis results corresponding to each storage controller, so that each storage controller obtains an intermediate data packet to be processed; the detection module is used to detect the current data processing capability of each storage controller; the second adjustment module is used to perform a second adjustment on the intermediate data packets to be processed according to the current data processing capability of each storage controller, so that each storage controller obtains a target data packet to be processed; the processing module is used to perform data processing on the target data packet to be processed based on the storage controller.
[0092] Regarding the data processing device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0093] The data processing device provided in the embodiment of the present application is used to execute the data processing method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.
[0094] An embodiment of the present application provides a data storage system for executing the data processing method provided in the above embodiment.
[0095] like Figure 7 The figure is a schematic diagram of the structure of the data storage system provided by the embodiment of the present application. The data storage system includes: a host end and a data storage device, and the data storage device includes a plurality of storage controllers; Among them, the host side allocates target data packets to be processed to each storage controller in the data storage device based on the data processing method provided in the above embodiment, so as to perform data processing on the target data packets to be processed based on each storage controller.
[0096] Regarding the data storage system in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0097] The data storage system provided in the embodiment of the present application is used to execute the data processing method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.
[0098] An embodiment of the present application provides an electronic device for executing the data processing method provided in the above embodiment.
[0099] like Figure 8FIG. 8 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device 80 includes: at least one processor 81 and a memory 82.
[0100] The memory stores computer-executable instructions; the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the data processing method provided in the above embodiment.
[0101] The electronic device provided in the embodiment of the present application is used to execute the data processing method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.
[0102] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the data processing method provided in any of the above embodiments is implemented.
[0103] The storage medium containing computer executable instructions provided in the embodiments of the present application can be used to store computer executable instructions of the data processing method provided in the aforementioned embodiments. The implementation method and principle are the same and will not be repeated here.
[0104] An embodiment of the present application provides a computer program product, including computer instructions, wherein the computer instructions are used to enable a computer to execute the data processing method provided in the aforementioned embodiment.
[0105] The embodiments of the present application provide a computer program product that can be used to execute computer instructions of the data processing method provided in the aforementioned embodiments. The implementation method and principle are the same and will not be repeated here.
[0106] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0107] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0108] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0109] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.
[0110] A part of the present application may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0111] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0112] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A data processing method, characterized in that: include: Obtaining an initial data packet to be processed that is to be sent and stored in each storage controller in the data storage device; For any of the storage controllers, performing load demand analysis on the initial data packets to be processed by the storage controller to obtain load analysis results corresponding to each of the storage controllers; According to the load analysis results corresponding to each of the storage controllers, a first adjustment is performed on the initial data packet to be processed, so that each of the storage controllers obtains an intermediate data packet to be processed; Detecting the current data processing capability of each of the storage controllers; According to the current data processing capability of each storage controller, a second adjustment is performed on the intermediate data packet to be processed, so that each storage controller obtains a target data packet to be processed; The target data packet to be processed is processed based on the storage controller.
2. The method according to claim 1, characterized in that: The obtaining of the initial data packets to be sent and stored in each storage controller in the data storage device includes: Acquire data to be sent and stored in the data storage device to obtain an overall data packet; According to the number of storage controllers in the data storage device, the overall data packet is divided into a corresponding number of initial data packets to be processed; The initial data packets to be processed are distributed to corresponding storage controllers.
3. The method according to claim 2, characterized in that The step of acquiring the data to be sent and stored in the data storage device to obtain a whole data packet includes: Acquiring data to be sent and stored in the data storage device; In the case of receiving the packing instruction, the obtained data to be sent and stored in the data storage device are summarized to obtain a data summary result; Packaging the data according to the data aggregation result to obtain an overall data packet; The packaging instructions are issued according to a preset period and a preset packaging principle.
4. The method according to claim 3, characterized in that The data is packaged according to the data aggregation result to obtain an overall data package, including: Get the preset data volume threshold; Determine whether the total amount of data represented by the data aggregation result reaches the preset data amount threshold; When the total amount of data represented by the data aggregation result reaches the preset data amount threshold, the data to be sent and stored in the data storage device are packaged to obtain an overall data packet.
5. The method according to claim 4, characterized in that According to the number of storage controllers in the data storage device, the overall data packet is divided into a corresponding number of initial data packets to be processed, including: Determining a target time period according to the data transmission time requirement corresponding to the preset data volume threshold; Splitting the target time period according to the number of storage controllers in the data storage device to obtain a time period splitting result; According to the time period splitting result, the overall data packet is evenly divided into a corresponding number of initial data packets to be processed; The acquisition time of the data to be processed in the same initial data packet to be processed is continuous.
6. The method according to claim 1, characterized in that For any of the storage controllers, performing load demand analysis on the initial data packets to be processed by the storage controller to obtain load analysis results corresponding to each of the storage controllers includes: For any of the storage controllers, determining the load requirement of each of the to-be-processed data according to the complexity of each of the to-be-processed data in the initial to-be-processed data packet of the storage controller; According to the load requirements of each of the to-be-processed data, the load analysis results corresponding to the storage controller are stored.
7. The method according to claim 1, characterized in that The first adjustment of the initial data packet to be processed according to the load analysis result corresponding to each storage controller so that each storage controller obtains an intermediate data packet to be processed includes: According to the load analysis results corresponding to each of the storage controllers, load level classification is performed on the data to be processed in the initial data packet to be processed, so as to obtain the load level classification results of the data to be processed corresponding to each of the storage controllers; According to the result of the classification of the load levels of the data to be processed corresponding to each of the storage controllers, a first adjustment is performed on the initial data packet to be processed so that each of the storage controllers obtains an intermediate data packet to be processed.
8. The method according to claim 7, characterized in that The first adjustment of the initial data packet to be processed is performed according to the result of the classification of the load level of the data to be processed corresponding to each storage controller, so that each storage controller obtains an intermediate data packet to be processed, including: For any of the storage controllers, according to the result of the load level division of the data to be processed corresponding to the storage controller, determine the amount of data to be stored at each load level; For any of the load levels, according to the number of storage controllers in the data storage device, the amount of data to be stored of the load level is evenly divided to obtain an even amount of data for each of the load levels; According to the data average components of each load level, a first adjustment is performed on the initial data packet to be processed, so that each storage controller obtains an intermediate data packet to be processed.
9. The method according to claim 8, characterized in that The first adjustment of the initial data packet to be processed according to the data average component of each load level so that each storage controller obtains an intermediate data packet to be processed includes: For any of the storage controllers, the data to be processed of each load level is evenly distributed to each of the storage controllers according to the data average components of each load level corresponding to the storage controller, so as to make a first adjustment to the initial data packets to be processed of each of the storage controllers, so that each of the storage controllers obtains an intermediate data packet to be processed.
10. The method according to claim 1, characterized in that The detecting the current data processing capability of each storage controller includes: Acquire current operating parameters and current status information of each of the storage controllers; The current data processing capability of each storage controller is determined according to the current operating parameters and current status information of each storage controller.
11. The method according to claim 10, characterized in that Determining the current data processing capability of each storage controller according to the current operating parameters and current status information of each storage controller includes: For any of the storage controllers, determining a simulation result of the data processing capability of the storage controller according to current operating parameters and current state information of the storage controller; Determining the current data processing capacity of each storage controller according to the simulation result of the data processing capacity of each storage controller; The current operating parameters of the storage controller include a current rate value, and the current status information of the storage controller includes at least a health status indicator of the storage controller.
12. The method according to claim 11, characterized in that The step of determining, for any of the storage controllers, a simulation result of the data processing capability of the storage controller according to current operating parameters and current state information of the storage controller comprises: Based on the network links between the storage controllers, the current operating parameters and current status information are shared among the storage controllers, so that each storage controller obtains the current operating parameters and current status information of all the storage controllers; Based on any of the storage controllers, according to the obtained current operating parameters and current status information of all the storage controllers, the data processing flow of each of the storage controllers is simulated so that the storage controller obtains a simulation result data set; wherein the simulation result data set includes the simulation results of the data processing flow of each of the storage controllers; The simulation result data sets obtained by each storage controller are summarized to obtain the data processing capability simulation results of each storage controller.
13. The method according to claim 1, characterized in that The second adjustment of the intermediate data packets to be processed according to the current data processing capability of each storage controller so that each storage controller obtains a target data packet to be processed includes: Determining a second adjustment weight coefficient of each storage controller according to the current data processing capability of each storage controller; wherein the second adjustment weight coefficient is positively correlated with the current data processing capability; According to the second adjustment weight coefficient of each storage controller, a second adjustment is performed on the intermediate data packets to be processed of each storage controller, so that each storage controller obtains a target data packet to be processed.
14. The method according to claim 1, characterized in that The performing data processing on the target data packet to be processed based on the storage controller includes: For any of the storage controllers, determining the current module processing capacity of each of the internal processing modules in the storage controller according to the current processing parameters of each of the internal processing modules; Normalizing the current module processing capabilities of each of the internal processing modules to obtain the current module equivalent processing capabilities of each of the internal processing modules; According to the current module equivalent processing capability of each internal processing module, the target channel number of each internal processing module is determined, so that each processing module performs data processing on the target data packet to be processed according to the target channel number.
15. The method according to claim 14, characterized in that Determining the target number of channels of each internal processing module according to the current module equivalent processing capability of each internal processing module includes: Determine, according to the current module equivalent processing capability of each of the internal processing modules, a plurality of candidate channel allocation combinations that meet preset internal module load balancing constraints; The candidate channel allocation combination with the largest cumulative value of the number of target channels is used as the target channel allocation combination; The target channel allocation combination includes the target channel number of each internal processing module, and the preset internal module load balancing constraint condition includes that the ratio of the target channel number of each internal processing module to the total channel number is equal.
16. A data processing device, characterized in that: include: An acquisition module, used for acquiring an initial data packet to be processed to be sent and stored in each storage controller in the data storage device; An analysis module, for performing load demand analysis on an initial data packet to be processed by any of the storage controllers, so as to obtain a load analysis result corresponding to each of the storage controllers; A first adjustment module, configured to perform a first adjustment on the initial data packet to be processed according to the load analysis result corresponding to each of the storage controllers, so that each of the storage controllers obtains an intermediate data packet to be processed; A detection module, used to detect the current data processing capability of each of the storage controllers; A second adjustment module, configured to perform a second adjustment on the intermediate data packets to be processed according to the current data processing capability of each storage controller, so that each storage controller obtains a target data packet to be processed; A processing module is used to perform data processing on the target data packet to be processed based on the storage controller.
17. A data storage system, characterized in that: include: A host terminal and a data storage device, wherein the data storage device includes a plurality of storage controllers; The host end allocates target data packets to be processed to each storage controller in the data storage device based on the method described in any one of claims 1 to 15, so as to perform data processing on the target data packets to be processed based on each storage controller.
18. An electronic device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 15.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the processor executes the computer-executable instructions, the method according to any one of claims 1 to 15 is implemented.
20. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Load balancing method for parallel processing of stream data
CN105022671A
Multi-core CPU real-time data processing method with automatic load balance function
CN105677484A
Method and device for improving video image access speed, equipment and medium
CN113296908A
Service data load balancing method and device
CN113504974A
IO request processing method, device and equipment and readable storage medium
CN115865803A
Cited By
Data processing method and apparatus, data storage system, and electronic device
WO2026114394A1