Data processing method and device and electronic equipment
By calculating the number of volume types of input/output groups in the dual-live volume storage system and automatically allocating them, the problem of uneven storage volume allocation is solved, and the system's high availability and data consistency are improved.
Patent Information
- Application Number
- CN202510376687.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-27
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2045-03-27
Smart Images

Figure CN119902719A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a data processing method, device and electronic device. Background Art
[0002] The active-active volume storage system is a high-availability architecture that synchronizes data in real time between two data centers / storage nodes to achieve zero business interruption and zero data loss.
[0003] Currently, when operation and maintenance personnel need to configure two data centers in a dual-active volume system, they need to allocate existing storage volumes based on their experience, which leads to the problem of uneven storage volume allocation.
[0004] Therefore, how to ensure the balanced allocation rate of storage volumes in the active-active volume storage system has become an urgent problem to be solved. Summary of the invention
[0005] The present application provides a data processing method, device and electronic device to at least solve the problem of how to ensure the allocation balance rate of storage volumes in a dual-active volume storage system in the related art.
[0006] The present application provides a data processing method, comprising: obtaining a baseline parameter of a current device site, and one or more input / output groups contained in the current device site; wherein the baseline parameter at least includes a write data resource allocation ratio; for each input / output group, based on a preset value, a disk array contained in the input / output group, and configuration parameters and baseline parameters of the disk array, determining the actual number of each volume type contained in each input / output group; for each input / output group, based on the actual number of the input / output group and an identification code of each volume, dividing the input / output group into a first volume group and a second volume group; wherein the volumes in the first volume group and the volumes in the second volume group are active-active volumes to each other.
[0007] The present application also provides a data processing device, including: an acquisition unit, used to acquire the benchmark parameters of the current device site, and one or more input / output groups contained in the current device site; wherein the benchmark parameters at least include the write data resource allocation ratio; a processing unit, used to determine, for each input / output group, the actual number of each volume type contained in each input / output group based on a preset value, the disk array contained in the input / output group acquired by the acquisition unit, the configuration parameters of the disk array acquired by the acquisition unit, and the benchmark parameters acquired by the acquisition unit; the processing unit is also used to divide the input / output group into a first volume group and a second volume group based on the actual number of the input / output group and the identification code of each volume for each input / output group; wherein the volumes in the first volume group and the volumes in the second volume group are active-active volumes to each other. 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 processing methods when executing the computer program.
[0008] The present application also provides a computer-readable storage medium, in which a computer program is stored, wherein when the computer program is executed by a processor, the steps of any of the above-mentioned data processing methods are implemented.
[0009] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned data processing methods when executed by a processor.
[0010] Through the present application, by obtaining the baseline parameters of the current device site and one or more input / output groups contained in the current device site; each input / output group can be calculated, and the actual number of each volume type contained in each input / output group can be determined based on preset values, the disk array contained in the input / output group, and the configuration parameters and baseline parameters of the disk array; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, which solves the technical problem of how to ensure the allocation balance rate of storage volumes in the active-active volume storage system, and achieves the technical effect of ensuring the allocation balance rate of each volume group. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] 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 paying any creative work.
[0012] Figure 1 One of the flowcharts of a data processing method provided in an embodiment of the present application; Figure 2 A second flowchart of a data processing method provided in an embodiment of the present application; Figure 3 A third flowchart of a data processing method provided in an embodiment of the present application; Figure 4 A fourth flowchart of a data processing method provided in an embodiment of the present application; Figure 5 A fifth flow chart of a data processing method provided in an embodiment of the present application; Figure 6 A sixth flow chart of a data processing method provided in an embodiment of the present application; Figure 7 A seventh flowchart of a data processing method provided in an embodiment of the present application; Figure 8 FIG8 is a flow chart of a data processing method provided in an embodiment of the present application; Fig. 9 A ninth flowchart of a data processing method provided in an embodiment of the present application; Fig.10 A tenth flowchart of a data processing method provided in an embodiment of the present application; Fig.11 11 is a flow chart of a data processing method provided in an embodiment of the present application; Fig.12 A flowchart diagram of a data processing method provided in an embodiment of the present application is shown in FIG. 12 ; Fig.13 A thirteenth flowchart of a data processing method provided in an embodiment of the present application; Fig.14 A fourteenth flowchart of a data processing method provided in an embodiment of the present application; Fig.15 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0013] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only 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.
[0014] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes 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 specific order or sequence.
[0015] In some examples, the active-active volume in the embodiments of the present disclosure refers to a logical volume that provides read and write services on two independent iogroups at the same time, ensuring seamless business switching when any node fails. (1) Cross-node concurrent access: supports simultaneous read and write services on two physically isolated I / O groups, each I / O group contains at least 2 controller nodes; (2) Data synchronization mechanism: adopts asynchronous replication technology based on RDMA network, and the data synchronization delay is ≤5ms; (3) Fault recovery capability: when any I / O group fails, the system completes business switching within ≤10ms, and zero data loss.
[0016] In some examples, the I / O group in the embodiments of the present disclosure refers to the smallest resource unit used to distribute I / O load in the storage system. An I / O group contains at least two control nodes, and improves performance through load balancing strategies. It is also a resource allocation unit: each I / O group contains an independent storage pool, which adopts RAID5 / RAID6 disk array configuration; In some examples, the CCU upgrade in the embodiments of the present disclosure refers to an uninterrupted upgrade process of the Communication Control Unit (CCU), ensuring zero service interruption when the system version is updated. The online upgrade process: uninterrupted upgrade of the control unit is achieved through hot patch technology; version rollback mechanism: roll back to a stable version within 15 minutes after an upgrade failure.
[0017] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0018] The embodiment of the present application provides a data processing method, and the method is described in detail in conjunction with the execution flow of the data processing method.
[0019] Embodiment 1 Figure 1 The flowchart of the prompt method is shown in FIG. 1 . The execution subject of this example may be an electronic device, such as a server, Figure 1 As shown, the method includes: S1. Obtaining the benchmark parameters of the current device site and one or more input / output groups contained in the current device site, wherein the benchmark parameters at least include the allocation ratio of write data resources.
[0020] In some examples, the current device site includes one or more input / output groups iogroups, one iogroup includes one or more disk arrays, one disk array consists of one or more hard disks, and one disk array can be divided into one or more volumes.
[0021] In some examples, a multi-layer structure [{type:Workload, value:{Read:50%, write:50%}} is loaded to obtain the read data resource allocation ratio and the write data resource allocation ratio; wherein Read represents the read data resource allocation ratio, and write represents the write data resource allocation ratio.
[0022] S2. For each I / O group, based on preset values, the disk arrays included in the I / O group, and configuration parameters and benchmark parameters of the disk arrays, determine the actual number of each volume type included in each I / O group.
[0023] In some examples, the configuration parameters include: hard disk type dirves, total number of disks drivenum, active volume theoretical ratio active, minimum number of read and write operations per second for volumes in the disk array vdisk, coefficient wring corresponding to the connection mode, and loss multiple P of the write operation to the number of input / output operations per second (IOPS).
[0024] In some examples, the coefficient wring corresponding to the connection mode refers to the coefficient of the connection mode between the input / output group iogroup and the current device site, such as: when the connection mode is Internet Small Computer System Interface (iSCSI), wring is 1; or when the connection mode is Fibre Channel (FC) protocol, wring is 2.
[0025] In some examples, different volume types correspond to different loss multiples P. For example, the volume types include compressed volumes, thin volumes, and ordinary volumes. In this case, the loss multiple P corresponding to the ordinary volume type is 1, and the loss multiples P corresponding to the compressed volume type and the thin volume type are both 1.2.
[0026] In some examples, the hard disk read and write efficiency value can be obtained by loading a multi-layer structure {type:Drives, value:{{style:ssd, rtype:RAID, value:140}}; where style indicates the type of hard disk, such as: classified by storage technology, including: Hard Disk Drive (HDD), Solid State Drive (SSD), and Hybrid Hard Drive (SSHD), or classified by interface type, including: SATA (Serial ATA), NVMe (Non-Volatile Memory Express), SAS (Serial Attached SCSI), PCIe (Peripheral Component Interconnect Express), etc., where style indicates the type of hard disk is SSD; rtype is the type of disk array, such as: Redundant Array of Independent Disks (RAID) type (RAID, or Dual Redundant Array of Independent Disks, DRAID), where rtype indicates the type of disk array is RAID; different hard disk types have different read and write efficiencies in different disk array types. For example, when the hard disk type is SSD and the disk array type is RAID, the corresponding hard disk read and write efficiency value is 140.
[0027] In some examples, the preset value corresponding to each input / output group, the disk array included in the input / output group, and the configuration parameters and benchmark parameters of the disk array can be input into the calculation model for calculation to obtain the actual number of each volume type included in each input / output group. The training process of the calculation model includes: Obtain first training sample data and a first labeling result of the first training sample data, wherein the first training sample data includes historical parameters of a historical input / output group, the first labeling result includes an actual number of each volume type included in the input / output group corresponding to the historical parameters, and the historical parameters include preset values, disk arrays included in the input / output group, and configuration parameters and benchmark parameters of the disk array.
[0028] The first training sample data is input into the first neural network model for learning, and a first prediction result of the first neural network model on the first training sample data is obtained.
[0029] Based on the first prediction result and the first marking result, the network parameters of the first neural network model are adjusted until the first neural network model converges to obtain a calculation model.
[0030] In some examples, when calculating the actual number, for each I / O group, based on the disk arrays included in the I / O group and the configuration parameters of the disk arrays, the total number of read and write operations per second of the I / O group is determined. Based on the preset value, the total number, the configuration parameters, and the benchmark parameters, the actual number of each volume type included in each I / O group is determined.
[0031] S3. For each input / output group, based on the actual number of input / output groups and the identification code of each volume, the input / output group is divided into a first volume group and a second volume group; wherein the volumes in the first volume group and the volumes in the second volume group are active-active volumes to each other.
[0032] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the baseline parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the actual number of each volume type contained in each input / output group can be determined based on preset values, the disk array contained in the input / output group, and the configuration parameters and baseline parameters of the disk array; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0033] In some possible implementation examples, combined with Figure 1 ,like Figure 2 As shown, the above S2 can be specifically implemented through the following S20 and S21.
[0034] S20. For each input / output group, based on the disk arrays included in the input / output group and configuration parameters of the disk arrays, determine the total number of read and write operations performed per second by the input / output group.
[0035] In some examples, the total number of read and write operations per second of the input / output group may also be referred to as Totaliops.
[0036] In some examples, for each input / output group, the disk array contained in the input / output group and the configuration parameters of the disk array can be input into the operation model for calculation to obtain the total number of read and write operations per second. The training process of the operation model includes: Obtain second training sample data and second labeling results of the second training sample data, wherein the second training sample data includes at least one set of disk arrays included in a historical input / output group and configuration parameters of the disk array, and the second labeling results include the total number of read and write operations performed per second by each input / output group.
[0037] The second training sample data is input into the second neural network model for learning to obtain a second prediction result of the second neural network model for the second training sample data.
[0038] Based on the second prediction result and the second labeling result, the network parameters of the second neural network model are adjusted until the second neural network model converges to obtain the operation model.
[0039] Alternatively, for each I / O group, based on the array type of the disk array included in the I / O group, determine the average number of I / O operations per second avg_ios; based on the configuration parameters, determine the number of read and write operations that can be processed per second RD_iops; based on avg_ios, RD_iops and the total number of hard disks drivenum included in the configuration parameters, determine the Totaliops of the I / O group.
[0040] S21. Determine the actual number of each volume type included in each input / output group based on a preset value, a total number of times, a configuration parameter, and a benchmark parameter.
[0041] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and based on the disk array contained in the input / output group and the configuration parameters of the disk array, the total number of read and write operations per second of the input / output group can be determined; based on the preset value, the total number, the configuration parameters and the benchmark parameters, the actual number of each volume type contained in each input / output group is determined; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0042] In some possible implementation examples, combined with Figure 2 ,like Figure 3 As shown, the above S20 can be specifically implemented through the following S200-S202.
[0043] S200 . For each input / output group, determine an average number of input / output operations per second based on the array type of the disk array included in the input / output group, the hard disk type and the total number of hard disks included in the disk array.
[0044] In some examples, the array parameters of the disk array can be obtained by loading a multi-layer structure {type:Arrays, vaule:{{ rtype:r0, R_Ios:1, w_ios:1, avg_ios:1}}}].
[0045] Among them, rtype can be RAID N, such as N is equal to 5; R_Ios represents the total number of read I / O operations successfully completed in a specific time period, w_ios represents the total number of write I / O operations successfully completed by the storage device in a specific time period, and avg_ios represents the average number of input / output operations per second.
[0046] In some examples, a first relationship table of average input / output operation times per second corresponding to different disk array types, different hard disk types, and different hard disk numbers is pre-stored in the memory of the server.
[0047] Exemplarily, the first relationship table is shown in Table 1.
[0048] Table 1
[0049] In this way, when it is necessary to calculate the average number of I / O operations, the average number of input / output operations per second can be obtained by querying Table 1 through the known array type of the disk array, the hard disk type included in the disk array, and the number of hard disks included in the disk array. For example, when the known array type of the disk array is RAID, the hard disk type included in the disk array is SSD, and the number of hard disks included in the disk array is 5, it can be known from querying Table 1 that the average number of input / output operations per second is A.
[0050] S201. Determine the number of read and write operations that can be processed per second based on configuration parameters.
[0051] In some examples, a pre-configured preset relationship table may be queried based on configuration parameters to obtain the number of read and write operations that can be processed per second.
[0052] In some examples, different hard disk types have different read and write efficiencies in different disk array types. Combined with the example given in S2 above, the configuration parameters include the array type and the hard disk type. If the hard disk type is SSD and the disk array type is RAID, then by loading a multi-layer structure {type:Drives, value:{{style:ssd, rtype:RAID, value:140}}, the hard disk read and write efficiency value is obtained, such as: 140.
[0053] S202: Determine the total number of read and write operations per second of the input / output group based on the average number of input / output operations per second, the number of read and write operations, and the total number of hard disks included in the configuration parameters.
[0054] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and for each input / output group, based on the array type of the disk array contained in the input / output group, the hard disk type contained in the disk array and the total number of hard disks, the average number of input / output operations per second is determined; based on the configuration parameters, the number of read and write operations that can be processed per second is determined; based on the average number of input / output operations per second, the number of read and write operations and the total number of hard disks contained in the configuration parameters, the total number of read and write operations per second of the input / output group is determined; based on the preset value, the total number, the configuration parameters and the benchmark parameters, the actual number of each volume type contained in each input / output group is determined; for each input / output group, based on the sum of the actual numbers of the input / output groups, the input / output group is divided into a first volume group and a second volume group; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0055] In some possible implementation examples, combined with Figure 3 ,like Figure 4 As shown, the above S201 can be specifically implemented through the following S2010.
[0056] S2010. Determine the number of read and write operations that can be processed per second based on the hard disk type and array type in the configuration parameters.
[0057] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and for each input / output group, based on the array type of the disk array contained in the input / output group, the hard disk type contained in the disk array, and the total number of hard disks, the average number of input / output operations per second is determined; based on the hard disk type and array type in the configuration parameters, the number of read and write operations that can be processed per second is determined; based on the average number of input / output operations per second, the number of read and write operations, and the total number of hard disks contained in the configuration parameters, the total number of read and write operations per second of the input / output group is determined; based on the preset value, the total number, the configuration parameters, and the benchmark parameters, the actual number of each volume type contained in each input / output group is determined; for each input / output group, based on the sum of the actual numbers of the input / output groups, the input / output group is divided into a first volume group and a second volume group; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0058] In some possible implementation examples, combined with Figure 3 ,like Figure 5 As shown, the above S202 can be specifically implemented through the following S2020 and S2021.
[0059] S2020. Determine a first value based on the number of read and write operations and the average number of input / output operations per second.
[0060] In some examples, the first value is equal to a ratio of the number of read and write operations to the average number of input / output operations per second.
[0061] S2021. Determine the total number of read and write operations per second of the input / output group based on the first value and the total number of hard disks included in the configuration parameters.
[0062] In some examples, the total number of read and write operations performed per second by the input / output group is equal to the product of the first value and the total number of hard disks included in the configuration parameters.
[0063] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the baseline parameters of the current device site and one or more input / output groups included in the current device site; thereby, each input / output group can be calculated, and for each input / output group, based on the array type of the disk array included in the input / output group, the hard disk type included in the disk array, and the total number of hard disks, the average number of input / output operations per second is determined; based on the number of read and write operations and the average number of input / output operations per second, a first value is determined; based on the first value and the total number of hard disks included in the configuration parameters, the total number of read and write operations per second of the input / output group is determined; based on the average number of inputs per second, the total number of read and write operations of the input / output group is determined. The total number of read and write operations per second of the input / output group is determined based on the number of input / output operations, the number of read and write operations, and the total number of hard disks included in the configuration parameters; the actual number of each volume type included in each input / output group is determined based on the preset value, the total number, the configuration parameters, and the benchmark parameters; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0064] In some possible implementation examples, combined with Figure 5 ,like Figure 6 As shown, the above S2020 can be specifically implemented through the following S2020-1.
[0065] S2020-1. Determine a first value based on a ratio of the number of read and write operations to the average number of input / output operations per second.
[0066] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the baseline parameters of the current device site and one or more input / output groups included in the current device site; thereby, each input / output group can be calculated, and for each input / output group, based on the array type of the disk array included in the input / output group, the hard disk type included in the disk array, and the total number of hard disks, the average number of input / output operations per second is determined; based on the ratio of the number of read and write operations to the average number of input / output operations per second, a first value is determined; based on the first value and the total number of hard disks included in the configuration parameters, the total number of read and write operations per second of the input / output group is determined; based on the average number of hard disks per second, the total number of read and write operations performed per second of the input / output group is determined. The total number of read and write operations per second of the input / output group is determined based on the number of input / output operations, the number of read and write operations, and the total number of hard disks included in the configuration parameters; the actual number of each volume type included in each input / output group is determined based on the preset value, the total number, the configuration parameters, and the benchmark parameters; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0067] In some possible implementation examples, combined with Figure 5 ,like Figure 7 As shown, the above S2021 can be specifically implemented through the following S2021-1.
[0068] S2021-1. Determine the total number of read and write operations performed per second by the input / output group based on the product of the first value and the total number of hard disks included in the configuration parameters.
[0069] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the baseline parameters of the current device site and one or more input / output groups included in the current device site; thereby, each input / output group can be calculated, and for each input / output group, based on the array type of the disk array included in the input / output group, the hard disk type included in the disk array, and the total number of hard disks, the average number of input / output operations per second is determined; based on the number of read and write operations and the average number of input / output operations per second, a first value is determined; based on the product of the first value and the total number of hard disks included in the configuration parameters, the total number of read and write operations per second of the input / output group is determined; based on the average number of hard disks per second The total number of read and write operations per second of the input / output group is determined based on the number of input / output operations, the number of read and write operations, and the total number of hard disks included in the configuration parameters; the actual number of each volume type included in each input / output group is determined based on the preset value, the total number, the configuration parameters, and the benchmark parameters; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0070] In some possible implementation examples, combined with Figure 2 ,like Figure 8 As shown, the above S21 can be specifically implemented through the following S210.
[0071] S210. Determine the actual number of each volume type included in each input / output group based on a preset value, a total number of times, a hard disk type in a configuration parameter, an active volume theoretical ratio, a minimum number of read and write operations per second for a volume in a disk array, a coefficient corresponding to a connection mode, a loss multiple of a write operation to the number of input / output operations per second, and a benchmark parameter.
[0072] In some examples, the active volume theoretical ratio refers to the ratio of the number of volumes providing services in the I / O group to the number of volumes included in the I / O group, such as the active volume theoretical ratio is 10%.
[0073] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the actual number of each volume type contained in each input / output group can be determined based on the preset value, the total number of times, the hard disk type in the configuration parameters, the active volume theoretical ratio, the minimum number of read and write operations per second for the volumes in the disk array, the coefficient corresponding to the connection method, the loss multiple of the write operation to the number of input / output operations per second and the benchmark parameters; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0074] In some possible implementation examples, combined with Figure 8 ,like Fig. 9 As shown, the above S210 can be specifically implemented through the following S2100-S2103.
[0075] S2100, determining a second value based on the active volume theoretical ratio and the coefficient; In some examples, the second value is equal to the product of the active volume theoretical ratio and the coefficient.
[0076] S2101, determining a third value based on the preset value, the second value and the total number of times; In some examples, the third value is equal to a ratio of the total number of times to a fourth value, and the fourth value is equal to a sum of a preset value and the second value.
[0077] S2102: Calculate the maximum number of combinations of all volume types included in the input / output group based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters.
[0078] In some examples, the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio input value in the benchmark parameter can be allocated to the allocation model to obtain the maximum number of combinations of all volume types included in the input / output group. The training process of the allocation model includes: Obtain third training sample data and third labeling results of the third training sample data, wherein the third training sample data includes a third value, a minimum number of times, a loss multiple, and a write data resource allocation ratio in the benchmark parameter corresponding to the historical input / output group, and the third labeling result includes a maximum number combination of all volume types included in the input / output group.
[0079] The third training sample data is input into the third neural network model for learning, and a third prediction result of the third neural network model on the third training sample data is obtained.
[0080] Based on the third prediction result and the third labeling result, the network parameters of the third neural network model are adjusted until the third neural network model converges to obtain the allocation model.
[0081] Alternatively, the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters are input into the combination formula for calculation to obtain the maximum number combination of all volume types included in the input / output group.
[0082] S2103. Use the theoretical quantity of each volume type in the maximum quantity combination as the actual quantity of each volume type included in the input / output group.
[0083] In some examples, if there is only one maximum number combination, the theoretical number of each volume type in the maximum number combination is used as the actual number of each volume type included in the input / output group.
[0084] In some examples, if there are multiple maximum number combinations, a maximum number combination may be randomly selected, and the theoretical number of each volume type in the maximum number combination may be used as the actual number of each volume type included in the input / output group. Alternatively, based on the sum of the products of the weight value of each volume type in the maximum number combination and the actual number of each volume type, the recommended value corresponding to each maximum number combination is obtained. The theoretical number of each volume type in the maximum number combination corresponding to the largest recommended value may be used as the actual number of each volume type included in the input / output group.
[0085] In some examples, the weight value of a volume type is equal to the ratio of the number of volumes included in the volume type created historically to the total number of volumes created historically.
[0086] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the second value can be determined based on the theoretical ratio and coefficient of the active volume; the third value can be determined based on the preset value, the second value and the total number of times; the maximum number of combinations of all volume types contained in the input / output group is calculated based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters; the theoretical number of each volume type in the maximum number combination is used as the actual number of each volume type contained in the input / output group; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are dual-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0087] In some possible implementation examples, combined with Fig. 9 ,like Fig.10 As shown, the above S2100 can be specifically implemented through the following S2100-1.
[0088] S2100-1. Determine a second value based on the product of the active volume theoretical ratio and the coefficient.
[0089] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the second value can be determined based on the product of the theoretical ratio of active volumes and the coefficient; the third value can be determined based on the preset value, the second value and the total number of times; the maximum number of combinations of all volume types contained in the input / output group is calculated based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters; the theoretical number of each volume type in the maximum number combination is used as the actual number of each volume type contained in the input / output group; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are dual-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0090] In some possible implementation examples, combined with Fig. 9 ,like Fig.11 As shown, the above S2101 can be specifically implemented through the following S2101-1 and S2101-2.
[0091] S2101-1, obtaining a fourth value based on the sum of the preset value and the second value; S2101-2. Determine a third value based on the ratio of the total number of times to the fourth value.
[0092] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the second value can be determined based on the theoretical ratio and coefficient of the active volume; the fourth value can be obtained based on the sum of the preset value and the second value; the third value can be determined based on the ratio of the total number of times to the fourth value; based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters, the maximum number of combinations of all volume types contained in the input / output group is calculated; the theoretical number of each volume type in the maximum number combination is used as the actual number of each volume type contained in the input / output group; for each input / output group, the input / output group is divided into a first volume group and a second volume group based on the sum of the actual numbers of the input / output groups; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are dual-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0093] In some examples, the volume types include normal volumes, thin volumes, and compressed volumes; Fig. 9 ,like Fig.12 As shown, the above S2102 can be specifically implemented through the following S2102-1.
[0094] S2102-1. Input the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters into a combination formula for calculation to obtain a maximum number combination of all volume types included in the input / output group; wherein the combination formula includes: .
[0095] Wherein, T represents the third value, represents the minimum number of times, and All represent loss multiples, Indicates the allocation ratio of write data resources. Indicates normal volume, Indicates a thin volume. Indicates a compressed volume.
[0096] By calculating the maximum value combination of x, y and z, the maximum number combination of all volume types included in the input / output group is obtained.
[0097] In some examples, different volume types correspond to different loss multiples, such as: the loss multiple of the volume type normal volume is 1, the loss multiple of the volume type compressed volume is 1.2, and the loss multiple of the volume type thin volume is 1.2.
[0098] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and the second value can be determined based on the active volume theoretical ratio and coefficient; the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameters are input into the combination formula for calculation to obtain the maximum number combination of all volume types contained in the input / output group; the theoretical number of each volume type in the maximum number combination is used as the actual number of each volume type contained in the input / output group; for each input / output group, based on the sum of the actual numbers of the input / output groups, the input / output group is divided into a first volume group and a second volume group; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are dual-active volumes, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0099] In some possible implementation examples, combined with Figure 1 ,like Fig.13 As shown, the above S3 can be specifically implemented through the following S30 and S31.
[0100] S30. For each input / output group, create a target number of volumes on the input / output group; wherein the target number is equal to the sum of the actual numbers corresponding to the input / output groups, and the sum of the target numbers of all the input / output groups is equal to the target value.
[0101] Exemplarily, a number of volumes greater than the target number = (x+y+z) is created on each input / output group, so that the sum of the numbers of volumes jointly created by multiple input / output groups under the current device site is the target number, such as the target number is 2048.
[0102] S31. Allocate volumes based on volume identification codes to generate a first volume group and a second volume group.
[0103] In some examples, when assigning identification codes to volumes, a first number of volumes may be assigned consecutively with identification codes starting at 0, and a second number of volumes may be assigned consecutively with identification codes starting at an identification threshold; wherein the sum of the first number and the second number is equal to the target number.
[0104] In some examples, the second number is equal to the product of the target number and a preset ratio.
[0105] In some examples, in order to distribute volumes more evenly, the data processing method provided by the embodiments of the present disclosure generates two volume arrays A and B by extracting n volume IDs, where the number of volume IDs in A that are greater than an identification threshold (e.g., 8192) is not less than a preset proportion (e.g., 10%), and the volume IDs in arrays A and B are looped to map these volumes to the current device site.
[0106] In some feasible examples, a ratio of the number of volumes in the first volume group whose identification codes are greater than an identification threshold to the number of volumes included in the first volume group is greater than or equal to a preset ratio.
[0107] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure obtains the baseline parameters of the current device site and one or more input / output groups contained in the current device site; thereby, each input / output group can be calculated, and based on the preset value, the disk array contained in the input / output group, and the configuration parameters and baseline parameters of the disk array, the actual number of each volume type contained in each input / output group can be determined; for each input / output group, for each input / output group, a target number of volumes are created on the input / output group; based on the identification code of the volume, the volume is allocated to generate a first volume group and a second volume group; in this way, the system can automatically divide the volumes under the current device site into two volume groups. Since the volumes in the volume group are active-active volumes to each other, there is no need to manually allocate the volumes under the current device site based on experience, thereby ensuring the technical effect of the allocation balance rate of each volume group.
[0108] In some possible implementation examples, combined with Figure 1 ,like Fig.14 As shown, the data processing method provided by the embodiment of the present disclosure also includes: S4-S6.
[0109] S4. In response to the checking operation, all input and output are interrupted.
[0110] S5. Determine at least one inspection operation to be performed based on the inspection type corresponding to the inspection operation; wherein the inspection type includes one or more of a fault injection inspection, a version change inspection, and a general inspection; S6. Perform a check operation on the first volume group and the second volume group respectively to generate a check result.
[0111] In some examples, in response to the check operation, check whether the volumes in the first volume group (such as called group A volume) and the second volume group (such as called group B volume) have IO-intensive business. If there is IO business, kill all IO processes and perform fault injection check; if there is no IO business, start the host IO mapping the group A volume in a loop, wait 60 seconds after the startup is completed for IO to run smoothly. Perform fault injection check to perform a general check on the active-active environment. If the check is abnormal, record the log, dump the dump file, and exit. If there is no abnormality, trigger the ccu upgrade on a random active-active environment iogroup site according to the ug1 configuration in the test version, upgrade the version of the two nodes where the iogroup is located to the Ug1 version, perform fault injection check on the incoming {node, ug1 version number}, and perform version change check on the active-active environment. If there is no abnormality in the check, start the host io mapping the group B volume in a loop, wait 60 seconds after the startup is completed for io to run smoothly. Perform fault injection check to perform a general check on the active-active environment.
[0112] Simulate a fault situation, obtain the current system time of the execution machine (cannot log in to the storage to obtain, to prevent the storage upgrade exception from causing the time reset) and save it as begintime, restart a node at a random site in the active-active environment, ping the restarted node in a loop until the Internet Protocol (IP) is accessible after the startup is completed / or the ping is exited after a timeout of 600s, perform a fault injection check, perform a general check on the active-active environment, if there is no abnormality, obtain the current system time of the execution machine and save it as mitime, if there is an abnormality, exit. If mitime-begintime>=1 hour, end the fault injection test.
[0113] Check that the site version in the active-active environment is ug1, trigger the ccu upgrade, upgrade the versions of the two nodes of the ug1 version to the build version, perform a fault injection check on the incoming {node, build version number}, and check the version change of the active-active environment. Check if there is any abnormality, repeat the fault injection check, version change check, and general check to see if there is any abnormality in any of the inspection links. You need to save the error log, dump the dump file, and the process ends. After the above program runs continuously for N (such as 2) days, there is no midway exit and no error log. Check the operation log. The process runs smoothly, and you can manually kill the process to end the test.
[0114] In this way, the process of performing the check operation on the first volume group and the second volume group respectively is completed.
[0115] In some examples, the parameter variables of the test version: build represents the version in use, and Ug1 represents the version to be upgraded; wherein, both build and Ug1 carry information such as the file acquisition path.
[0116] As can be seen from the above, the data processing method provided by the embodiment of the present disclosure can also perform a check operation on the first volume group and the second volume group in order to avoid grouping problems after completing the grouping of the volumes of the current device site, such as: interrupting all inputs and outputs in response to the check operation. Based on the detection type corresponding to the check operation, determine at least one check operation that needs to be performed; perform the check operation on the first volume group and the second volume group respectively, and generate a check result. In this way, it can be ensured that the created first volume group and the second volume group can operate normally, and the user experience can be guaranteed.
[0117] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method.
[0118] The embodiment of the present application also provides a data processing device, such as Fig.15 As shown, it includes an acquisition unit 101 and a processing unit 102. Among them, The acquisition unit 101 is used to acquire the benchmark parameters of the current device site and one or more input / output groups contained in the current device site; wherein the benchmark parameters at least include the allocation ratio of write data resources; The processing unit 102 is used to determine, for each input / output group, an actual number of each volume type included in each input / output group based on a preset value, the disk array included in the input / output group obtained by the obtaining unit 101, the configuration parameters of the disk array obtained by the obtaining unit 101, and the reference parameters obtained by the obtaining unit 101; The processing unit 102 is further used to divide the input / output group into a first volume group and a second volume group based on the actual number of the input / output groups and the identification code of each volume for each input / output group; wherein the volumes in the first volume group and the volumes in the second volume group are dual-active volumes to each other.
[0119] In some practicable examples, the processing unit 102 is specifically used to determine, for each input / output group, the total number of read and write operations per second of the input / output group based on the disk array included in the input / output group and the configuration parameters of the disk array; the processing unit 102 is specifically used to determine the actual number of each volume type included in each input / output group based on preset values, the total number of times, the configuration parameters and the benchmark parameters.
[0120] In some implementable examples, the processing unit 102 is specifically used to determine, for each input / output group, an average number of input / output operations per second based on the array type of the disk array included in the input / output group, the hard disk type included in the disk array, and the total number of hard disks; the processing unit 102 is specifically used to determine the number of read and write operations that can be processed per second based on the configuration parameters; the processing unit 102 is specifically used to determine the total number of read and write operations performed per second by the input / output group based on the average number of input / output operations per second, the number of read and write operations, and the total number of hard disks included in the configuration parameters.
[0121] In some feasible examples, the processing unit 102 is specifically configured to determine the number of read and write operations that can be processed per second based on the hard disk type and array type in the configuration parameters.
[0122] In some feasible examples, the processing unit 102 is specifically used to determine a first value based on the number of read and write operations and the average number of input / output operations per second; in some feasible examples, the processing unit 102 is specifically used to determine the total number of read and write operations per second of the input / output group based on the first value and the total number of hard disks included in the configuration parameters.
[0123] In some feasible examples, the processing unit 102 is specifically configured to determine the first value based on a ratio of the number of read and write operations to an average number of input / output operations per second.
[0124] In some feasible examples, the processing unit 102 is specifically configured to determine the total number of read and write operations performed per second by the input / output group based on the product of the first value and the total number of hard disks included in the configuration parameters.
[0125] In some practicable examples, the processing unit 102 is specifically configured to determine the actual number of each volume type included in each input / output group based on a preset value, a total number of times, a hard disk type in a configuration parameter, an active volume theoretical ratio, a minimum number of read and write operations per second for a volume in a disk array, a coefficient corresponding to a connection method, a loss multiple of a write operation to the number of input / output operations per second, and a benchmark parameter.
[0126] In some implementable examples, processing unit 102 is specifically used to determine a second value based on an active volume theoretical ratio and a coefficient; processing unit 102 is specifically used to determine a third value based on a preset value, a second value, and a total number of times; processing unit 102 is specifically used to calculate a maximum number combination of all volume types included in an input / output group based on the third value, a minimum number of times, a loss multiple, and a write data resource allocation ratio in a benchmark parameter; processing unit 102 is specifically used to use the theoretical number of each volume type in the maximum number combination as the actual number of each volume type included in the input / output group.
[0127] In some implementable examples, the processing unit 102 is specifically configured to determine the second value based on a product of the active volume theoretical ratio and the coefficient.
[0128] In some feasible examples, the processing unit 102 is specifically used to obtain a fourth value based on the sum of a preset value and a second value; the processing unit 102 is specifically used to determine a third value based on a ratio of the total number of times to the fourth value.
[0129] In some feasible examples, the volume types include common volumes, thin volumes, and compressed volumes; the processing unit 102 is specifically configured to input the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameter into a combination formula for calculation, so as to obtain a maximum number combination of all volume types included in the input / output group; wherein the combination formula includes: ; Wherein, T represents the third value, represents the minimum number of times, and All represent loss multiples, Indicates the allocation ratio of write data resources. Indicates normal volume, Indicates a thin volume. Indicates a compressed volume.
[0130] In some implementable examples, the processing unit 102 is specifically used to create a target number of volumes on the input / output group for each input / output group; wherein the target number is equal to the sum of the actual numbers corresponding to the input / output groups, and the sum of the target numbers of all input / output groups is equal to the target value; the processing unit 102 is specifically used to allocate volumes based on volume identification codes to generate a first volume group and a second volume group.
[0131] In some feasible examples, a ratio of the number of volumes in the first volume group whose identification codes are greater than an identification threshold to the number of volumes included in the first volume group is greater than or equal to a preset ratio.
[0132] In some implementable examples, the processing unit 102 is further used to interrupt all inputs and outputs in response to a check operation; the processing unit 102 is further used to determine at least one check operation that needs to be performed based on a detection type corresponding to the check operation; wherein the detection type includes one or more of a fault injection check, a version change check, and a general check; the processing unit 102 is further used to perform a check operation on the first volume group and the second volume group, respectively, to generate a check result.
[0133] For the description of the features in the embodiments corresponding to the data processing device, reference can be made to the relevant description of the embodiments corresponding to the data processing method, which will not be described in detail here.
[0134] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above data processing method embodiments.
[0135] 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 processing method embodiments when running.
[0136] 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.
[0137] 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, the steps in any of the above data processing method embodiments are implemented.
[0138] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above-mentioned data processing method embodiments are implemented.
[0139] 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 composition and steps of each example have been generally described in the above description according to function. 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 to be beyond the scope of this application.
[0140] The above is a detailed introduction to a data processing method provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application, and the description of the above embodiments is only used to help understand the method and its 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 processing method, characterized in that: include: Acquire a benchmark parameter of a current device site and one or more input / output groups contained in the current device site; wherein the benchmark parameter at least includes a write data resource allocation ratio; For each of the input / output groups, based on a preset value, a disk array included in the input / output group, a configuration parameter of the disk array, and the reference parameter, determining an actual number of each volume type included in each of the input / output groups; For each of the input / output groups, based on the actual number of the input / output groups and the identification code of each volume, the input / output group is divided into a first volume group and a second volume group; wherein the volumes in the first volume group and the volumes in the second volume group are active-active volumes to each other.
2. The data processing method according to claim 1, characterized in that: For each of the input / output groups, determining the actual number of each volume type included in each of the input / output groups based on a preset value, a disk array included in the input / output group, a configuration parameter of the disk array, and the benchmark parameter, includes: For each of the input / output groups, based on the disk arrays included in the input / output group and configuration parameters of the disk arrays, determine the total number of read and write operations performed per second by the input / output group; Based on a preset value, the total number of times, the configuration parameter and the reference parameter, an actual number of each volume type included in each of the input / output groups is determined.
3. The data processing method according to claim 2, characterized in that: The step of determining, for each of the input / output groups, a total number of read and write operations performed per second by the input / output group based on a disk array included in the input / output group and configuration parameters of the disk array, comprises: For each of the input / output groups, based on the array type of the disk array included in the input / output group, the type of hard disks included in the disk array, and the total number of hard disks, determine an average number of input / output operations per second; Based on the configuration parameters, determining the number of read and write operations that can be processed per second; The total number of read and write operations per second of the input / output group is determined based on the average number of input / output operations per second, the number of read and write operations, and the total number of hard disks included in the configuration parameters.
4. The data processing method according to claim 3, characterized in that: The determining, based on the configuration parameters, the number of read and write operations that can be processed per second includes: The number of read and write operations that can be processed per second is determined based on the hard disk type and the array type in the configuration parameters.
5. The data processing method according to claim 3, characterized in that: The determining the total number of read and write operations per second of the input / output group based on the average number of input / output operations per second, the number of read and write operations, and the total number of hard disks included in the configuration parameters includes: Determining a first value based on the number of read and write operations and the average number of input / output operations per second; Based on the first value and the total number of hard disks included in the configuration parameters, a total number of read and write operations performed per second by the input / output group is determined.
6. The data processing method according to claim 5, characterized in that: The determining of a first value based on the number of read and write operations and the average number of input / output operations per second includes: A first value is determined based on a ratio of the number of read and write operations to the average number of input / output operations per second.
7. The data processing method according to claim 5, characterized in that: The determining the total number of read and write operations per second of the input / output group based on the first value and the total number of hard disks included in the configuration parameters includes: The total number of read and write operations per second of the input / output group is determined based on the product of the first value and the total number of hard disks included in the configuration parameters.
8. The data processing method according to claim 2, characterized in that: The determining, based on a preset value, the total number of times, the configuration parameter, and the benchmark parameter, the actual number of each volume type included in each input / output group comprises: Based on the preset value, the total number of times, the hard disk type in the configuration parameters, the active volume theoretical ratio, the minimum number of read and write operations per second for the volumes in the disk array, the coefficient corresponding to the connection mode, the loss multiple of the write operation to the number of input / output operations per second and the benchmark parameter, the actual number of each volume type included in each of the input / output groups is determined.
9. The data processing method according to claim 8, characterized in that: The determining the actual number of each volume type included in each input / output group based on the preset value, the total number of times, the hard disk type in the configuration parameters, the active volume theoretical ratio, the minimum number of read and write operations per second for the volumes in the disk array, the coefficient corresponding to the connection mode, the loss multiple of the write operation to the number of input / output operations per second, and the benchmark parameter, includes: determining a second value based on the active volume theoretical ratio and the coefficient; Determine a third value based on the preset value, the second value and the total number of times; Calculate the maximum number of combinations of all volume types included in the input / output group based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameter; The theoretical quantity of each volume type in the maximum quantity combination is used as the actual quantity of each volume type included in the input / output group.
10. The data processing method according to claim 9, characterized in that: The determining of the second value based on the active volume theoretical ratio and the coefficient includes: determining a second value based on the product of the active volume theoretical ratio and the coefficient; The determining of a third value based on the preset value, the second value, and the total number of times includes: Obtaining a fourth value based on the sum of the preset value and the second value; A third value is determined based on a ratio of the total number of times to the fourth value.
11. The data processing method according to claim 9, characterized in that: The volume types include common volumes, thin volumes and compressed volumes; The calculating the maximum number of combinations of all volume types included in the input / output group based on the third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameter includes: The third value, the minimum number of times, the loss multiple, and the write data resource allocation ratio in the benchmark parameter are input into a combination formula for calculation to obtain a maximum number combination of all volume types included in the input / output group; wherein the combination formula includes: ; Wherein, T represents the third value, represents the minimum number of times, and All represent loss multiples. Indicates the allocation ratio of write data resources. Indicates normal volume, Indicates a thin volume. Indicates a compressed volume.
12. The data processing method according to claim 1, characterized in that: For each of the input / output groups, based on the actual number of the input / output groups and the identification code of each volume, the input / output group is divided into a first volume group and a second volume group, comprising: For each of the input / output groups, create a target number of volumes on the input / output group; wherein the target number is greater than or equal to the sum of the actual numbers corresponding to the input / output groups, and the sum of the target numbers of all the input / output groups is equal to the target value; Based on the identification code of the volume, the volume is allocated to generate a first volume group and a second volume group.
13. The data processing method according to claim 1, characterized in that: The method further comprises: In response to the checking operation, interrupting all input and output; Based on the detection type corresponding to the inspection operation, determine at least one inspection operation that needs to be performed; wherein the inspection type includes one or more of a fault injection check, a version change check, and a general check; The checking operation is performed on the first volume group and the second volume group to generate a checking result.
14. A data processing device, characterized in that: include: An acquisition unit, configured to acquire a benchmark parameter of a current device site and one or more input / output groups contained in the current device site; wherein the benchmark parameter at least includes a write data resource allocation ratio; a processing unit, configured to determine, for each of the input / output groups, an actual number of each volume type included in each of the input / output groups based on a preset value, the disk array included in the input / output group obtained by the obtaining unit, the configuration parameters of the disk array obtained by the obtaining unit, and the reference parameter obtained by the obtaining unit; The processing unit is further used to divide the input / output group into a first volume group and a second volume group for each of the input / output groups based on the actual number of the input / output groups and an identification code of each volume; wherein the volumes in the first volume group and the volumes in the second volume group are dual-active volumes to each other.
15. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the data processing method according to any one of claims 1 to 13 when executing the computer program.
Citation Information
Patent Citations
Test method and system for automatically creating dual-activity
CN111367800A
Controller and memory system having same
CN111913654A
Active-active storage system and data processing method thereof
CN114089923A
Storage resource configuration method, device and equipment and computer readable storage medium
CN117608843A
Active-active storage control method, device and equipment and nonvolatile storage medium
CN118869456A